• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的HDMI視頻流圖像處理的系統(tǒng)設(shè)計(jì)

      2015-04-27 01:12:12葛中芹莊建軍張志儉
      實(shí)驗(yàn)室研究與探索 2015年10期
      關(guān)鍵詞:寄存器解碼圖像處理

      潘 磊, 葛中芹, 莊建軍, 張志儉

      (南京大學(xué) 電子科學(xué)與工程學(xué)院,江蘇 南京 210093)

      ?

      基于FPGA的HDMI視頻流圖像處理的系統(tǒng)設(shè)計(jì)

      潘 磊, 葛中芹, 莊建軍, 張志儉

      (南京大學(xué) 電子科學(xué)與工程學(xué)院,江蘇 南京 210093)

      為了實(shí)現(xiàn)對(duì)高清視頻圖像的實(shí)時(shí)處理,提出了一種以HDMI高清圖像為目標(biāo)基于FPGA實(shí)現(xiàn)高清視頻流的圖像處理系統(tǒng)的設(shè)計(jì)。系統(tǒng)設(shè)計(jì)過程包括配置processing_system處理器、視頻輸入HDMI接口輸出VGA接口的IP核設(shè)計(jì)、圖像處理IP核的設(shè)計(jì)和應(yīng)用程序設(shè)計(jì)4部分。以processing_system處理器為處理核心,通過片內(nèi)添加外設(shè)接口和設(shè)計(jì)HDMI接口輸入和VGA接口輸出的IP核在ZYBO開發(fā)板上搭建嵌入式硬件平臺(tái),在硬件平臺(tái)中設(shè)計(jì)圖像處理的硬件IP核。實(shí)驗(yàn)結(jié)果顯示,在系統(tǒng)工作頻率為650 MHz時(shí),能以58幀/s的處理速度處理圖像,并通過VGA接口將處理后的圖像輸出到顯示器。

      FPGA; HDMI; 實(shí)時(shí)圖像處理; 色彩轉(zhuǎn)換

      0 引 言

      隨著移動(dòng)4 G的發(fā)展和互聯(lián)網(wǎng)的普及,人們對(duì)實(shí)時(shí)視頻傳輸服務(wù)的質(zhì)量要求越來越高。而高清、實(shí)時(shí)性視頻的數(shù)據(jù)量越來越大,視頻的實(shí)時(shí)處理難度也正在逐漸增大。

      在FPGA嵌入式平臺(tái)開發(fā)設(shè)計(jì)圖像處理系統(tǒng),相比于傳統(tǒng)的DSP,具有更好的靈活性和更高的數(shù)據(jù)處理能力。特別是近年來,伴隨著FPGA的迅速發(fā)展,F(xiàn)PGA的高速并行處理能力在高速數(shù)字信號(hào)處理方面表現(xiàn)越來越搶眼,使得FPGA越來越多地替代ASIC和DSP用于數(shù)字信號(hào)處理的運(yùn)算。兩大FPGA制造商Xilinx和Altera相繼推出了自己的嵌入式平臺(tái),使得基于FPGA嵌入式系統(tǒng)在FPGA應(yīng)用領(lǐng)域開辟出一條靈活、高效的途徑。在FPGA上實(shí)現(xiàn)嵌入式系統(tǒng)既克服了傳統(tǒng)DSP設(shè)計(jì)缺乏靈活性的缺點(diǎn),也改變了傳統(tǒng)FPGA設(shè)計(jì)中難于實(shí)現(xiàn)復(fù)雜算法的缺點(diǎn)[1]。這樣FPGA在實(shí)時(shí)高清圖像處理中將可以從容應(yīng)對(duì),本文提出一種不依賴存儲(chǔ)器的實(shí)時(shí)高清視頻圖像處理的嵌入式解決方案。

      1 系統(tǒng)總體設(shè)計(jì)

      整個(gè)硬件系統(tǒng)包括HDMI輸入接口及設(shè)備、VGA輸出及顯示器、UART串口通信和GPIO連接的外部按鍵及撥位開關(guān)。系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。

      圖1 系統(tǒng)總體結(jié)構(gòu)圖

      通過HDMI接口將高清視頻[2](1280×720 p/60 Hz)數(shù)據(jù)傳入FPGA[3]中,在FPGA中設(shè)計(jì)IP核(名為HDMI_RX)將視頻解碼得到視頻數(shù)據(jù),視頻數(shù)據(jù)傳入圖像處理模塊的IP核(名為AXI_COLOR_SPACE)進(jìn)行圖像的色彩變換的處理,處理后的數(shù)據(jù)將以VGA的格式輸出到顯示器,通過按鍵和撥位開關(guān)控制各個(gè)處理模式的轉(zhuǎn)換。

      本系統(tǒng)采用的是Xilinx公司的ZYNQ系列中的XC7Z010,其采用Xilinx最新的基于28 nm工藝流程的Zynq-7000 All Programmable SoC平臺(tái),將ARM處理器和FPGA架構(gòu)緊密集成。該芯片擁有雙核ARM Cortex-A9 MPCore的高性能,低功耗特性,在設(shè)計(jì)中能更好的滿足各種工業(yè)需要。在XPS和SDK等EDA軟件平臺(tái)下按照FPGA的設(shè)計(jì)流程進(jìn)行軟硬件協(xié)同開發(fā)[4],XPS主要進(jìn)行硬件IP核開發(fā)及硬件系統(tǒng)裁剪,SDK進(jìn)行軟件調(diào)試及開發(fā)。

      2 模塊設(shè)計(jì)

      2.1 HDMI視頻輸入解碼模塊

      高清晰度多媒體接口(High Definition Multimedia Interface,HDMI)是一種數(shù)字化視頻/音頻接口技術(shù)[5],是適合影像傳輸?shù)膶S眯蛿?shù)字化接口,其可同時(shí)傳送音頻和影像信號(hào),最高數(shù)據(jù)傳輸速度為2.25 GB/s。而一個(gè)1080p的視頻和一個(gè)8聲道的音頻信號(hào)需求少于0.5 GB/s,因此HDMI還有很大余量。

      HDMI使用的是由Silicon Image公司發(fā)明的最小化傳輸差分信號(hào)(Time Minimized Differential Signal,TMDS)傳輸技術(shù)[6]。TMDS是一種微分信號(hào)機(jī)制,采用的是差分傳動(dòng)方式。TMDS差分傳動(dòng)技術(shù)是一種利用2個(gè)引腳間電壓差來傳送信號(hào)的技術(shù)。傳輸數(shù)據(jù)的數(shù)值(“0”或者“1”)由兩腳間電壓正負(fù)極性和大小決定。每一個(gè)標(biāo)準(zhǔn)的HDMI連接,都包含了3個(gè)用于傳輸數(shù)據(jù)的TMDS數(shù)據(jù)傳輸通道(如圖3中的HDMI_D_N和HDMI_D_P),還有1個(gè)獨(dú)立的TMDS時(shí)鐘通道(如圖3中的HDMI_CLK_N和HDMI_CLK_P),以保證傳輸時(shí)所需的統(tǒng)一時(shí)序。在一個(gè)時(shí)鐘周期內(nèi),每個(gè)TMDS通道都能傳送10bit的數(shù)據(jù)流。而這10bit數(shù)據(jù),可以由若干種不同的編碼格式構(gòu)成(如圖2所示)。

      圖2 視頻數(shù)據(jù)的編碼格式

      將高清視頻通過HDMI接口輸入到FPGA中HDMI接收的IP核[7]名為:HDMI_RX,該IP核將按照HDMI傳輸格式進(jìn)行解碼,產(chǎn)生VGA格式的數(shù)據(jù)流VGA_DATA及像素時(shí)鐘PXL_CLK,如圖2所示,其中IP核的系統(tǒng)時(shí)鐘SYSCLK為200 MHz,HDMI_SCL為DDC通道的時(shí)鐘線。

      圖3 HDMI輸入解碼模塊

      2.2 圖像處理邏輯模塊

      本模塊的輸入信號(hào)是HDMI_RX模塊輸出的視頻解碼[8]數(shù)據(jù)流DATA_I,在該模塊中可以進(jìn)行色彩空間的轉(zhuǎn)換[9],轉(zhuǎn)換原理如圖4所示。

      圖4 圖像處理模塊

      硬件邏輯部分:

      在圖4中的MULT為內(nèi)置乘法器[10],其計(jì)算公式為:p=a×b,其中p的位數(shù)為a的位數(shù)加上b的位數(shù),舉例第一個(gè)乘法器的配置代碼如下:

      mult_11: mult

      port map

      ( clk=>PIX_CLK_I,a=>slv_reg0(21 to 31),b=>'0' & DATA_I(23 downto 16),p=>red1 );

      其中:slv_reg0為該IP核中的32b可讀寫寄存器[11],其寫操作是軟件程序函數(shù)Xil_Out32(u32 OutAddress, u32 Value)通過AXI總線[12]的bus2IP_data進(jìn)行的,其中OutAddress為寫操作的寄存器的偏移地址,Value為寫入寄存器[13]的值;其讀操作是軟件程序函數(shù)Xil_In32(u32 Addr)通過AXI總線的IP2Bus_Data進(jìn)行的,其中Addr為讀操作的寄存器的地址。在圖4中,時(shí)鐘的分配是這樣的:總線和寄存器讀寫使用的是總線時(shí)鐘S_AXI_CLK,乘法器使用的是像素時(shí)鐘PXL_CLK。同樣相似的配置其他8個(gè)乘法器,這樣最終得到red1、red2、red3、green1、green2、green3、blue1、blue2和blue3這9個(gè)分量(見表1),每個(gè)分量均為20b。

      將這9個(gè)分量按顏色分為3組,再相加便得到三原色的累加結(jié)果red_o、green_o和blue_o,其計(jì)算公式如下:

      red_o<=red1+red2+red3;

      green_o<=green1+green2+green3;

      blue_o<=blue1+blue2+blue3;

      得到三原色的分量后,再組合計(jì)算輸出的DATA_O,其計(jì)算公式為:

      DATA_O<=red_o(15 downto 8) & green_o(15 downto 8) & blue_o(15 downto 8)

      表1 乘法器配置

      注:(1)括號(hào)中的名稱為乘法器名稱,如mult_11,其對(duì)應(yīng)軟件程序中的ColorSpaceMat11。

      (2)被乘數(shù)a的位數(shù)為:第21位到第31位,總計(jì)11位。

      各取3個(gè)分量中的高8位,即red_o的第15位到第8位,同理取得green_o和blue_o的高8位,這樣就得到了總共24位的DATA_O了。

      軟件部分:

      在軟件程序部分只需將圖像處理[14]數(shù)據(jù)寫入到9個(gè)寄存器中就可以完成圖像的色彩變換了,其軟件部分的流程如圖5所示,該部分重點(diǎn)以彩色轉(zhuǎn)灰度圖像為例介紹,根據(jù)彩色轉(zhuǎn)灰度的心理學(xué)公式[15]:

      Gray=R*0.299+G*0.587+B*0.114

      (1)

      在應(yīng)用中,為了提高處理速度盡量避免浮點(diǎn)運(yùn)算,將其縮放1 000倍轉(zhuǎn)換為整數(shù)運(yùn)算公式:

      Gray=(R*299+G*587+B*114+500)/1 000

      (2)

      但在整數(shù)運(yùn)算中,除法運(yùn)算仍然制約著處理速度,再將其轉(zhuǎn)換為整數(shù)移位計(jì)算公式,為了提高運(yùn)算精度,使用

      圖5 軟件流程圖

      去尾法,將轉(zhuǎn)換中的誤差去除,得到最優(yōu)的8位精度的計(jì)算公式為:

      Gray=(R*76+G*150+B*30)?8

      (3)

      這就是在計(jì)算DATA_O時(shí)取高8位的原因了。

      RGB轉(zhuǎn)灰度代碼如下:

      case COLOR_SPACE_GREY:

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat11,0x0000004a); //74 <1,1>

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat12, 0x00000096); //150 <1,2>

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat13, 0x0000001d); //29 <1,3>

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat21, 0x0000004a); // <2,1>

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat22, 0x00000096); // <2,2>

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat23, 0x0000001d); // <2,3>

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat31, 0x0000004a); // <3,1>

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat32, 0x00000096); // <3,2>

      Xil_Out32(ColorSpaceBaseAddress + ColorSpaceMat33, 0x0000001d); // <3,3>

      break;

      其中:lColorSpaceBaseAddress 為該模塊的地址;blColorSpaceMat11為第一個(gè)寄存器的偏移地址;0x0000004a為寫入寄存器的數(shù)據(jù)。其他顯示模式對(duì)應(yīng)寫入寄存器的數(shù)值如表2所示,其中的ColorSpaceMat11為第一個(gè)寄存器對(duì)應(yīng)的偏移地址,寫入寄存器的數(shù)據(jù)使用的是16進(jìn)制。如在顯示灰度圖像模式時(shí),將公式(3)對(duì)應(yīng)的系數(shù)轉(zhuǎn)換為16進(jìn)制,即為0x4a,、0x96和0x1d。

      2.3 VGA視頻流輸出模塊

      由于ZYBO開發(fā)板使用的VGA接口[16]采用的是16b彩色顯示模式[17],那么在經(jīng)過圖像處理模塊之后產(chǎn)生的24b視頻流DATA_O,需要通過Xlinix自帶IP核util_bus_split分為3路,分別對(duì)應(yīng)RGB三原色,每路分別對(duì)應(yīng)的位數(shù)為5∶6∶5(見圖6)。

      3 實(shí)驗(yàn)結(jié)果

      以下為經(jīng)過該系統(tǒng)處理后的視頻截圖:

      實(shí)驗(yàn)中使用的視頻格式為1280*720的AVI格式,圖7中(a)為通過該系統(tǒng)后顯示的原始圖像,(b)為該系統(tǒng)處理后的灰度圖像,(c)為該系統(tǒng)處理后的

      紅色圖像,(d)為該系統(tǒng)處理后的綠色圖像,(e)為該系統(tǒng)處理后的藍(lán)色圖像,(f)為該系統(tǒng)處理后的顏色反轉(zhuǎn)圖像。

      表2 各種顯示模式下寫入寄存器的數(shù)據(jù)對(duì)應(yīng)表

      圖6 視頻轉(zhuǎn)換輸出

      4 結(jié) 語

      該系統(tǒng)具有體積小、實(shí)時(shí)處理速度快、穩(wěn)定等特點(diǎn),因此,在圖像的實(shí)時(shí)處理方面具有很好的應(yīng)用前景。采用嵌入式處理器完成圖像處理易于刪改,功能強(qiáng)大,可以在此硬件設(shè)計(jì)基礎(chǔ)上通過修改程序?qū)崿F(xiàn)更多的視頻圖像處理功能。

      (a)

      (c)

      (d)

      (e)

      (f)

      [1] 李 兵,陳 新. 基于FPGA器件的數(shù)字電路實(shí)驗(yàn)系統(tǒng)[J].實(shí)驗(yàn)室研究與探索,1996,15(4):50-52.

      [2] 劉 歡,李興明,王學(xué)科. 基于FPGA的高清視頻接口轉(zhuǎn)換器的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代傳輸,2010(2):50-54.

      [3] 黃衛(wèi)華,賈歷程. 基于FPGA的EDA實(shí)驗(yàn)系統(tǒng)改革與實(shí)踐[J].

      實(shí)驗(yàn)室研究與探索,2012,31(4):203-205.

      [4] 張智軍,夏海寶,秦 陽,等. 雷達(dá)信號(hào)處理教學(xué)實(shí)驗(yàn)的研制[J].實(shí)驗(yàn)室研究與探索,2012,31(4):148-150.

      [5] 黃慶敏,羅 鍵. HDMI接口標(biāo)準(zhǔn)及應(yīng)用設(shè)計(jì)[J].電視技術(shù),2007(2):32-34.

      [6] 陳文娟,林 濤. HDMI標(biāo)準(zhǔn)在高清視頻解碼SoC設(shè)計(jì)中的應(yīng)用[J].電視技術(shù),2008,32(z1):74-75.

      [7] 王 渙. IP核標(biāo)準(zhǔn)和開發(fā)流程[J]. 微處理機(jī),2013,34(6):16-17.

      [8] 劉東華. 嵌入式視頻解碼的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2006,32(4):54-56.

      [9] 余昌勝, 韓曉景,李知達(dá). 基于FPGA的色彩空間轉(zhuǎn)換的簡(jiǎn)易實(shí)現(xiàn)[J].電子科技,2013,26(11):111-113.

      [10] Xilinx. LogiCORE IP Multiplier v11.2 [EB/OL].2014.http://www.xilinx.com/products/intellectual-property/multiplier.html

      [11] 萬 耀,李小清,周云飛,等.基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,23(5):199-201.

      [12] 何 賓.基于AXI4的可編程SOC系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2011.

      [13] 李 程,李恒星.基于FPGA的數(shù)據(jù)傳輸系統(tǒng)[J].電子科技,2014,24(1):81-83.

      [14] 李佩斌,黃 瑩,趙譽(yù)婷. 基于DSP+FPGA的嵌入式圖像處理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014,37(20):95-98.

      [15] 劉慶祥,蔣天發(fā). 彩色與灰度圖像間的轉(zhuǎn)換算法的研究[J].武漢理工大學(xué)學(xué)報(bào),2003,27(3):344-346.

      [16] 張亞平,賀占莊. 基于FPGA的VGA顯示模塊設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(6):242-245.

      [17] 唐庭龍, 張 莉,夏 平. VGA顯示的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].2013,35(6):97-100.

      Design of Image Processing System for HDMI’s Video Stream Based on FPGA

      PANLei,GEZhong-qin,ZHUANGJian-jun,ZHANGZi-jian

      (School of Electronic Science and Engineering, Nanjing University, Nanjing 210093, China)

      In order to realize the real-time processing of HD video, this paper presents a design of image processing system for high-definition video stream based on FPGA. The system targets HDMI HD images. System design consists of 4 parts: configuration of processing system processor, IP core design of HDMI interface for video input and VGA interface for output, IP core design of image processing, and application design. By taking the processing system processor as processing core, the embedded hardware platform in the ZYBO development board is constructed by adding on-chip peripherals interface and designing an IP core of HDMI interface for input and VGA interface for output. Based on the platform, the hardware IP core is designed to realize the real-time processing of HD video finally. The experimental results show that, the system can process the image with a processing speed of 58 frames per second, and output the image to display through VGA interface when the working frequency is 650 MHz.

      FPGA; HDMI; real-time image processing; color conversion

      2015-01-08

      江蘇省高等學(xué)校教改項(xiàng)目(2013JSJG169);嵌入式視音頻內(nèi)容監(jiān)測(cè)平臺(tái)(BY2012186);江蘇省自然科學(xué)基金工業(yè)項(xiàng)目;江蘇省產(chǎn)學(xué)研聯(lián)合創(chuàng)新資金-前瞻性聯(lián)合研究項(xiàng)目

      潘 磊(1988-),男,山東濰坊人,碩士生,主要研究方向:FPGA嵌入式圖像視頻處理。

      Tel.:18205186561;E-mail:361panlei@163.com

      葛中芹(1979-),女,江蘇徐州人,工程師,主要研究方向:信號(hào)和信息處理、電子電路實(shí)驗(yàn)教學(xué)和研究。

      Tel.:025-89680201; E-mail:gxlin_2000@163.com

      TN 911.73

      A

      1006-7167(2015)10-0076-05

      猜你喜歡
      寄存器解碼圖像處理
      《解碼萬噸站》
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      解碼eUCP2.0
      NAD C368解碼/放大器一體機(jī)
      Quad(國(guó)都)Vena解碼/放大器一體機(jī)
      機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
      電子制作(2018年18期)2018-11-14 01:48:20
      模糊圖像處理,刑事偵查利器
      圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      Photo Shop通道在圖像處理中的應(yīng)用
      河南科技(2014年1期)2014-02-27 14:04:06
      海晏县| 和田县| 平昌县| 同心县| 芮城县| 德清县| 潞西市| 项城市| 云林县| 汉川市| 长春市| 南康市| 毕节市| 古丈县| 万盛区| 伊宁市| 宝鸡市| 荃湾区| 拜城县| 安图县| 锦州市| 澎湖县| 南川市| 寿宁县| 常山县| 达拉特旗| 盱眙县| 手游| 博白县| 崇文区| 广安市| 扎赉特旗| 梁河县| 盐边县| 东丽区| 邵阳市| 青川县| 富平县| 滦南县| 涟水县| 云阳县|