色彩空間轉(zhuǎn)換rgb轉(zhuǎn)ycbcr422ycbcr422轉(zhuǎn)rgb_第1頁(yè)
色彩空間轉(zhuǎn)換rgb轉(zhuǎn)ycbcr422ycbcr422轉(zhuǎn)rgb_第2頁(yè)
色彩空間轉(zhuǎn)換rgb轉(zhuǎn)ycbcr422ycbcr422轉(zhuǎn)rgb_第3頁(yè)
色彩空間轉(zhuǎn)換rgb轉(zhuǎn)ycbcr422ycbcr422轉(zhuǎn)rgb_第4頁(yè)
色彩空間轉(zhuǎn)換rgb轉(zhuǎn)ycbcr422ycbcr422轉(zhuǎn)rgb_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、色彩空間轉(zhuǎn)換rgb轉(zhuǎn)ycbcr422ycbcr422轉(zhuǎn)rgb在圖像處理過(guò)程中通常需要會(huì)對(duì)圖像類型進(jìn)行互相轉(zhuǎn)換,在此給出兩種轉(zhuǎn)換的工程代碼。i在將ycbr42轉(zhuǎn)rgbB寸,通常先將ycbcr422專換成ycbcr44脣講ycbcr444專成rgbycbcr422專換成ycbcr444cbr422br444agreg4reg4reg4aybgi!rbgicvsyncclkenglbcrclockpixelclock/cmglbalreCbCrdatainput:CbYCrYCbYCrYr_frameync,/PreparedImagedatavsyncvalidsignr_frame_hrPrep

2、aredImagedatahrefvaildsignar_frame_cl/PreparedImagedataoutput/captureenablecler_frame_YCbCr,/PreparedImagedataofYCbCr4:2:2CbCbr444t_fra_vsync,/ProcessedImagedatavsyncvsignalt_fra_href,/ProcessedImagedatahrefvaignalt_fra_clken,/ProcessedImagedataoutpu/captureenabregmg_Y,/ProcessedImagedataofYCbCr4:4:

3、4regmg_Cb,/ProcessedImagedataofYCbCr4:4:4regmg_Cr/ProcessedImagedataofYCbCr4:4:4me_vsync_r4e_href_r4;ame_clken_r4rcTOC o 1-5 h zgrycgrrgrcryrcrryrcc/convertYCbCr422toYCbCr444reg2:0yuv_reg7:mY2,mY3;reg7:0mCb,mCb1reg7:0mCr0,mCr1;alwaysdgeclkornegedgerbeginbegryuv_state=3d0;mY0,mCb0,mCr0=8h0,8h0,8h0;mY

4、1=8h0;mY2,mCb1,mCr1=8h0,8h0,8h0;mY3=8h0;post_img_Y,post_img_Cb,post_img_Cr=8h0,8h0,8h0;endelseif(yuv_process_href)/lag2dataenableclockandneed2moreclocksbeginif(yuv_process_clken)/lag2dataenableclockandneed2moreclockscase(yuv_state)/Cb,Y,Cr,Y-YCbCr3d0:begin/regp0yuv_state=3d1;mCb0,mY0=per_frame_YCbCr

5、;end3d1:begin/regp1yuv_state=3d2;mCr0,mY1=per_frame_YCbCr;end3d2:begin/p0;regp2yuv_state=3d3;mCb1,mY2=per_frame_YCbCr;post_img_Y,post_img_Cb,post_img_Cr=mY0,mCb0,mCr0;end3d3:begin/p1;regp3yuv_state=3d4;mCr1,mY3=per_frame_YCbCr;post_img_Y,post_img_Cb,post_img_Cr=mY1,mCb0,mCr0;end3d4:begin/p2;regp0yuv

6、_state=3d5;mCb0,mY0=per_frame_YCbCr;post_img_Y,post_img_Cb,post_img_Cr=mY2,mCb1,mCr1;end/p3;regp13d5:beginyuv_state=3d2;mCr0,mY1=per_frame_YCbCr;post_img_Y,post_img_Cb,post_img_Cr=mY3,mCb1,mCr1;endendcaseelsebeginyuv_state=yuv_state;mY0,mCb0,mCr0=mY0,mCb0,mCr0;mY1=mY1;mY2,mCb1,mCr1=mY2,mCb1,mCr1;mY3

7、=mY3;post_img_Y,post_img_Cb,post_img_Cr=post_img_Y,post_img_Cb,post_img_Cr;endendelsebeginyuv_state=3d0;mY0,mCb0,mCr0=8h0,8h0,8h0;mY1,mCb1,mCr1=8h0,8h0,8h0;post_img_Y,post_img_Cb,post_img_CrR=1.164Y+1.596Cr-222.912G=1.164Y-0.391Cb-0.813Cr+135.488B=1.164Y+2.018Cb-276.928-R9=596Y+817Cr-114131G9=596Y-2

8、00Cb-416Cr+69370B9=596Y+1033Cb-141787*/reg19:0img_Y_r1;/8+9+1=18Bitreg19:0img_Cb_r1,img_Cb_r2;reg19:0img_Cr_r1,img_Cr_r2;always(posedgeclkornegedgerst_n)beginif(!rst_n)beginimg_Y_r1=0;img_Cb_r1=0;img_Cb_r2=0;img_Cr_r1=0;img_Cr_r2=0;endelsebeginimg_Y_r1=per_img_Y*18d596;img_Cb_r1=per_img_Cb*18d200;im

9、g_Cb_r2=per_img_Cb*18d1033;img_Cr_r1=per_img_Cr*18d817;img_Cr_r2=per_img_Cr*18d416;endend/*R9=596Y+817Cr-114131G9=596Y-200Cb-416Cr+69370B9=596Y+1033Cb-141787*/reg19:0XOUT;reg19:0YOUT;reg19:0ZOUT;always(posedgeclkornegedgerst_n)beginif(!rst_n)beginXOUT=0;YOUT=0;ZOUT=0;endelsebeginXOUT9;YOUT9;ZOUT9;en

10、dend/Divide512andgettheresult/xx19:11,xx10:0reg7:0R,G,B;always(posedgeclkornegedgerst_n)beginif(!rst_n)beginR=0;G=0;B=0;endelsebeginR9d255)?8d255:XOUT7:0;G9d255)?8d255:YOUT7:0;B9d255)?8d255:ZOUT7:0;endend/lagnclockssignalsyncreg2:0post_frame_vsync_r;reg2:0post_frame_href_r;reg2:0post_frame_clken_r;a

11、lways(posedgeclkornegedgerst_n)beginif(!rst_n)beginpost_frame_vsync_r=0;post_frame_href_r=0;post_frame_clken_r=0;endelsebeginpost_frame_vsync_r=post_frame_vsync_r1:0,per_frame_vsyncpost_frame_href_r=post_frame_href_r1:0,per_frame_href;post_frame_clken_r=post_frame_clken_r1:0,per_frame_clken;endendas

12、signpost_frame_vsync=post_frame_vsync_r2;assignpost_frame_href=post_frame_href_r2assignpost_frame_clken=post_frame_clken_r2;assignpost_img_red=post_frame_href?R:8d0;assignpost_img_green=post_frame_href?G:8d0;assignpost_img_blue=post_frame_href?B:8d0;endmodule2、同樣將rgb轉(zhuǎn)ycbcr422時(shí),也通常先將rgb轉(zhuǎn)成ycbcr444,再講y

13、cbcr444在轉(zhuǎn)成ycbcr4222.1rgb轉(zhuǎn)成ycbcr444timescale1ns/1psmoduleRGB_to_YCbCr444_Processor(inputclk,inputwire7:0i_r_8b,inputwire7:0i_g_8b,inputwire7:0i_b_8b,inputwirei_h_sync,inputwirei_v_sync,inputwirei_data_en,outputwire7:0o_y_8b,outputwire7:0o_cb_8b,outputwire7:0o_cr_8b,outputrego_h_sync,outputrego_v_sync

14、,outputrego_data_en);parameters*/*/multiply256/*parameterpara_0183_10b=10d47;parameterpara_0614_10b=10d157;parameterpara_0062_10b=10d16;parameterpara_0101_10b=10d26;parameterpara_0338_10b=10d86;parameterpara_0439_10b=10d112;parameterpara_0399_10b=10d102;parameterpara_0040_10b=10d10;*/parameterpara_0

15、183_10b=10d66;parameterpara_0614_10b=10d129;parameterpara_0062_10b=10d25;parameterpara_0101_10b=10d38;parameterpara_0338_10b=10d74;parameterpara_0439_10b=10d112;parameterpara_0399_10b=10d94;parameterpara_0040_10b=10d18;parameterpara_16_18b=18d4096;parameterpara_128_18b=18d32768;/*signals*wiresign_cb

16、;wiresign_cr;reg17:0mult_r_for_y_18b;reg17:0mult_r_for_cb_18b;reg17:0mult_r_for_cr_18b;reg17:0mult_g_for_y_18b;reg17:0mult_g_for_cb_18b;reg17:0mult_g_for_cr_18b;reg17:0mult_b_for_y_18b;reg17:0mult_b_for_cb_18b;reg17:0mult_b_for_cr_18b;reg17:0add_y_0_18b;reg17:0add_cb_0_18b;reg17:0add_cr_0_18b;reg17:

17、0add_y_1_18b;reg17:0add_cb_1_18b;reg17:0add_cr_1_18b;reg17:0result_y_18b;reg17:0result_cb_18b;reg17:0result_cr_18b;regi_h_sync_delay_1;regi_v_sync_delay_1;regi_data_en_delay_1;regi_h_sync_delay_2;regi_v_sync_delay_2;regi_data_en_delay_2;/*/*initial*initialbeginmult_r_for_y_18b=18d0;mult_r_for_cb_18b

18、=18d0;mult_r_for_cr_18b=18d0;mult_g_for_y_18b=18d0;mult_g_for_cb_18b=18d0;mult_g_for_cr_18b=18d0;mult_b_for_y_18b=18d0;mult_g_for_cb_18b=18d0;mult_b_for_cr_18b=18d0;add_y_0_18b=18d0;add_cb_0_18b=18d0;add_cr_0_18b=18d0;add_y_1_18b=18d0;add_cb_1_18b=18d0;add_cr_1_18b=18d0;result_y_18b=18d0;result_cb_1

19、8b=18d0;result_cr_18b=18d0;i_h_sync_delay_1=1d0;i_v_sync_delay_1=1d0;i_data_en_delay_1=1d0;i_h_sync_delay_2=1d0;i_v_sync_delay_2=1d0;i_data_en_delay_2=1d0;o_h_sync=1d0;o_v_sync=1d0;o_data_en=1d0;end/*/*arithmetic*/LV1pipeline:multalways(posedgeclk)beginmult_r_for_y_18b=i_r_8b*para_0183_10b;/*47mult_

20、r_for_cb_18b=i_r_8b*para_0101_10b;/*26mult_r_for_cr_18b=i_r_8b*para_0439_10b;/*112endalways(posedgeclk)beginmult_g_for_y_18b=i_g_8b*para_0614_10b;/*157mult_g_for_cb_18b=i_g_8b*para_0338_10b;/*86mult_g_for_cr_18b=i_g_8b*para_0399_10b;/*102endalways(posedgeclk)beginmult_b_for_y_18b=i_b_8b*para_0062_10

21、b;/*16mult_b_for_cb_18b=i_b_8b*para_0439_10b;/*112mult_b_for_cr_18b=i_b_8b*para_0040_10b;/*10end/LV2pipeline:addalways(posedgeclk)beginadd_y_0_18b=mult_r_for_y_18b+mult_g_for_y_18b;add_y_1_18b=mult_b_for_y_18b+para_16_18b;/+4096add_cb_0_18b=mult_b_for_cb_18b+para_128_18b;/+32768add_cb_1_18b=mult_r_f

22、or_cb_18b+mult_g_for_cb_18b;add_cr_0_18b=mult_r_for_cr_18b+para_128_18b;/+32768add_cr_1_18b=add_cb_1_18b);assignsign_cr=(add_cr_0_18b=add_cr_1_18b);always(posedgeclk)beginresult_y_18b=add_y_0_18b+add_y_1_18b;result_cb_18b=sign_cb?(add_cb_0_18b-add_cb_1_18b):18d0;result_cr_18b=sign_cr?(add_cr_0_18b-a

23、dd_cr_1_18b):18d0;end/outputassigno_y_8b=(result_y_18b17:16=2b00)?result_y_18b15:8:8hFF;assigno_cb_8b=(result_cb_18b17:16=2b00)?result_cb_18b15:8:8hFF;assigno_cr_8b=(result_cr_18b17:16=2b00)?result_cr_18b15:8:8hFF;/*/*timing*/always(posedgeclk)begini_h_sync_delay_1=i_h_sync;i_v_sync_delay_1=i_v_sync

24、;i_data_en_delay_1=i_data_en;i_h_sync_delay_2=i_h_sync_delay_1;i_v_sync_delay_2=i_v_sync_delay_1;i_data_en_delay_2=i_data_en_delay_1;o_h_sync=i_h_sync_delay_2;o_v_sync=i_v_sync_delay_2;o_data_en=i_data_en_delay_2endendmodule2.2ycbcr444在轉(zhuǎn)成ycbcr422timescale1ns/1psmoduleycbcr444_to_ycbcr422(inputsys_cl

25、k,/*系統(tǒng)時(shí)鐘*/inputi_hs,/*視頻輸入行同步*/inputline_end,/*在某些情況下可能沒(méi)有行同步信號(hào),只能自己生成一個(gè)行結(jié)束信號(hào)*/inputi_vs,inputi_de,/*視頻數(shù)據(jù)有效*/input7:0i_y,/*視頻輸入Y分量*/input7:0i_cb,/*視頻輸入Cb(U)分量*/input7:0i_cr,/*視頻輸入Cr(V)分量*/outputo_hs,outputo_vs,outputo_de,/*輸出數(shù)據(jù)有效*/output7:0o_y,/*輸出視頻Y分量*/output7:0o_c,/輸出視頻CbCr分量復(fù)合,先輸出Cb,后輸出Cr*/output

26、19:0data_out);regi_de_d0=1b0;regi_de_d1=1b0;regi_hs_d0=1b0;regi_hs_d1=1b0;regi_vs_d0=1b0;regi_vs_d1=1b0;reg7:0i_y_d0=8d0;reg7:0i_y_d1=8d0;reg7:0i_cb_d0=8d0;reg7:0i_cr_d0=8d0;reg7:0cb=8d0;reg7:0cr=8d0;reg7:0cr_d0=8d0;regline_end_d0;regline_end_d1;wire8:0cb_add;wire8:0cr_add;regc_flag=1b0;assigncb_add=1bO,i_cb+1bO,i_cb_dO;兩個(gè)像素的cb相加,待求平均值*/assigncr_add=1bO,i_cr+1bO,i_cr_dO;/*兩個(gè)像素的cr相加,待求平均值*/always(posedgesys_clk)beginif(i_hs|i_vs)begini_y_d0=8h10;i_cb_d0=8h80;i_cr_d0=8h80;line_end_d0=1b0;endelseif(i_de)begini_y_d0=i_y;i_cb_d0=i_cb;i_cr_d0=i_cr;line_end_d0=line_end;endelsebeg

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論