李 光,李其虎,2
(1.中國電子科技集團(tuán)公司第五十四研究所,河北 石家莊 0500813;2.西安電子科技大學(xué)ISN國家重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710071)
責(zé)任編輯:時(shí) 雯
隨著多媒體技術(shù)的高速發(fā)展,數(shù)字視頻技術(shù)在通信領(lǐng)域獲得了廣泛應(yīng)用,由于視頻信息量過大給無線傳輸帶寬帶來了很大壓力,為了使得視頻得到較好的應(yīng)用,必須解決視頻壓縮和壓縮后視頻質(zhì)量的問題,選擇一種高效的視頻編碼算法是解決這一矛盾的重要途徑。H.264/AVC自從ITU-T視頻編碼與ISO/IEC運(yùn)動(dòng)圖像專家組(MPEG)共同推出以來,以其高效的壓縮性能和友好的網(wǎng)絡(luò)特性受到了業(yè)界的廣泛推崇。同時(shí),H.264標(biāo)準(zhǔn)的巨大運(yùn)算量又成為其應(yīng)用瓶頸,因此選用性能優(yōu)良的專用H.264高清圖像壓縮芯片可以快速地完成H.264高清視頻壓縮的工程化應(yīng)用。當(dāng)前國際上高清視頻壓縮芯片種類繁多,由TI公司推出的DM6467是TI推出的一款面向高清視頻應(yīng)用的媒體處理片上系統(tǒng)(SoC),內(nèi)部集成1個(gè)ARM 核、1個(gè)C64x+DSP核、2個(gè)高清視頻/圖像協(xié)處理器和豐富的片上外設(shè)。ARM最高時(shí)鐘頻率為297 MHz,主要負(fù)責(zé)視頻采集、視頻顯示、網(wǎng)絡(luò)通信以及外圍器件控制等工作;DSP核的時(shí)鐘頻率可工作在594 MHz,峰值運(yùn)算能力達(dá)到4 752 MIPS(million instructions per second),主要負(fù)責(zé)調(diào)用HDVICP實(shí)現(xiàn)完整的H.264編碼算法。DM6467既有與通用DSP一樣的可編程性,又兼有同專用芯片一樣的高效性,在功耗、適應(yīng)性、性能等方面達(dá)到了完美平衡。能夠完成最高1 080p 30 f/s(幀/s)以上的視頻編解碼。DM6467的Video Port Interface(VPIF)用于接收和發(fā)送圖像數(shù)據(jù),包括2個(gè)輸入通道和2個(gè)輸出通道,VPIF時(shí)鐘速率最高達(dá)150 MHz,支持BT.656,BT.1120,SMPTE 296 這 3 種標(biāo)準(zhǔn)圖像格式,還支持用于非標(biāo)準(zhǔn)圖像的格式RAW數(shù)據(jù)采集方式。采用RAW 采集時(shí),支持的數(shù)據(jù)位寬為 8 bit,10 bit,12 bit,最大單幀分辨率為2 048×1 536。
通過上述分析可知,DM6467雖具有性能優(yōu)良的高清視頻壓縮特性,但支持分辨率有限,且支持的圖像分辨率具有上限限制,本文設(shè)計(jì)了一種基于FPGA結(jié)合DM6467處理器的高性能圖像壓縮平臺,在FPGA中完成視頻圖像采集、分辨率自行檢測、色度空間轉(zhuǎn)換等工作,采用的分幀傳輸技術(shù)突破了該款芯片所能支持的最大處理圖像分辨率的限制,并大幅降低了圖像采集時(shí)延。
該系統(tǒng)是基于FPGA+DM6467的高清視頻壓縮系統(tǒng),包括FPGA中的圖像預(yù)處理以及DM6467中的H.264視頻硬核編碼。圖1為本系統(tǒng)的硬件設(shè)計(jì)結(jié)構(gòu)圖。視頻通過CAMLINK接口進(jìn)入預(yù)處理系統(tǒng),輸入圖像格式為RGB格式或BT656格式,在FPGA中將預(yù)處理完成后的數(shù)據(jù)通過DM6467的VPIF(視頻輸入接口)輸入到DSP中(此處按照RAW數(shù)據(jù)流方式輸入),DM6467將編碼后的碼流通過千兆網(wǎng)口傳輸?shù)紽PGA中,F(xiàn)PGA再將壓縮后的碼流輸出。
圖1 系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)圖
視頻預(yù)處理全部在高達(dá)1 000萬門的Xilinx Virtex-5 FPGA處理器中完成。預(yù)處理系統(tǒng)可自適應(yīng)地對輸入視頻圖像分辨率進(jìn)行檢測與采集,并可將輸入的RGB色度空間轉(zhuǎn)換為YUV色度空間,并對色度空間進(jìn)行下采樣,最后預(yù)處理系統(tǒng)將下采樣數(shù)據(jù)進(jìn)行分幀傳輸,即將下采樣后的視頻數(shù)據(jù)進(jìn)行分塊并按照RAW格式進(jìn)行組幀傳輸。
DM6467視頻接口(VPIF)用來采集和顯示數(shù)字圖像數(shù)據(jù),包括2個(gè)圖像采集通道Channel 0和Channel 1以及2個(gè)圖像顯示通道Channel 2和Channel 3,每個(gè)通道位寬8 bit。圖像采集通道可配置輸入2路8 bit標(biāo)清視頻(BT.656 格式),或單路16 bit高清視頻(BT.1120 格式),或單路RAW格式視頻(8/10/12 bit可變)。
上述前兩種模式只適用于采集標(biāo)準(zhǔn)格式視頻,本課題設(shè)計(jì)方案主要應(yīng)用于無人飛行器測控系統(tǒng)中,由于無人飛行器載荷輸出的高清視頻多采用RGB格式,分辨率也不盡相同,屬于非標(biāo)格式,因此只能選擇配置靈活的RAW格式采集。RAW格式數(shù)據(jù)采集最大支持單幀分辨率為2 048×1 536,不支持RGB到Y(jié)UV的色彩空間轉(zhuǎn)換。采用8 bit RAW格式逐行采集時(shí),使用信號包括行同步(h_valid)、幀同步(v_valid)、輸入數(shù)據(jù)(vin_data[7:0]),其要求時(shí)序圖如圖2所示。
圖2 RAW格式傳輸時(shí)序圖
為滿足RAW格式單幀分辨率的要求,首先要檢測輸入視頻的分辨率。通過對輸入視頻數(shù)據(jù)的行同步信號與幀同步信號進(jìn)行計(jì)數(shù),就可以計(jì)算出輸入視頻信號的分辨率大小,從而實(shí)現(xiàn)對圖像分辨率自行檢測。
顏色空間是顏色集合的數(shù)學(xué)表示,常用的顏色模型有RGB和YCbCr。紅、綠、藍(lán)是3個(gè)基本的相加色,RGB的3個(gè)分量需要相同的帶寬。本項(xiàng)目中高清相機(jī)輸出的圖像屬于RGB444格式,因?yàn)槿搜蹖α炼鹊淖兓葘ι鹊淖兓舾?,所以Cb和Cr的傳輸速率就沒必要和Y一樣,這樣就可以減少存儲量和帶寬。從RGB到Y(jié)CbCr的色度空間轉(zhuǎn)換關(guān)系式為
在Xilinx Virtex-5中型號為 XC5VSX50T的 FPGA中,內(nèi)部集成有1個(gè)RGB到Y(jié)CrCb空間的IP智能轉(zhuǎn)換核,如圖3所示。在預(yù)處理系統(tǒng)中通過調(diào)用該IP核,并通過合理的接口設(shè)計(jì),就可以完成色度空間的轉(zhuǎn)換。該IP模塊輸出為YUV色度空間模式,對該輸出模式的UV分量根據(jù)系統(tǒng)需求再進(jìn)行下采樣,進(jìn)而完成對色度空間的轉(zhuǎn)換與下采樣操作。
根據(jù)系統(tǒng)設(shè)計(jì)框圖可知,在完成色度空間下采樣之后,將有效的YUV圖像數(shù)據(jù)分別寫入到3個(gè)FIFO中。DM6467視頻傳輸接口RAW格式支持的最大分辨率為2 048×1 536,本文預(yù)處理系統(tǒng)中將整幀圖像按照下式進(jìn)行分幀傳輸處理
圖3 FPGA內(nèi)部色度空間轉(zhuǎn)換(截圖)
式中:h_resolution與v_resolution分別表示原始圖像幀的分辨率;H_resolution_raw與V_resolution_raw表示子幀分辨率大小。如分辨率為4 992×6 668大小的原始圖像,分幀后得到的32個(gè)分辨率為1 248×833的子幀圖像。分幀后為了能識別完整的圖像幀信號,還需要單獨(dú)產(chǎn)生能識別完整幀的同步信號。
RAW格式數(shù)據(jù)組幀需要根據(jù)分幀模塊計(jì)算的子幀分辨率及子幀的個(gè)數(shù),依次讀取FIFO中的Y分量和UV分量,按照RAW格式要求的時(shí)序輸出到VPIF接口,RAW格式數(shù)據(jù)組幀狀態(tài)機(jī)轉(zhuǎn)換圖如圖4所示。
圖4 RAW格式數(shù)據(jù)組幀狀態(tài)機(jī)轉(zhuǎn)換圖
預(yù)處理部分由FPGA實(shí)現(xiàn),開發(fā)環(huán)境為ISE 12.4,并在MODELSIM 6.5d下進(jìn)行了仿真。仿真時(shí)序如圖5所示,輸入圖像為分辨率4 992×6 668的數(shù)碼照片。其中,VSYNC_IN與HSYNC_IN為輸入圖像的幀同步、行同步信號。Vresolution與hresolution為檢測到的分辨率,framenum為分幀后的子幀個(gè)數(shù),v_resolution_raw與h_resolution_raw為分幀后的子幀分辨率,oFval與oHVAL為子幀的幀同步、行同步信號??梢钥吹?,分幀后的子幀分辨率、同步信號以及時(shí)序均能滿足DM6467的VPIF接口RAW格式要求。
圖5 RAW格式分幀仿真時(shí)序圖
根據(jù)系統(tǒng)總體設(shè)計(jì)硬件結(jié)構(gòu)圖,本文所設(shè)計(jì)的硬件實(shí)物圖如圖6示,將所設(shè)計(jì)的系統(tǒng)連接真實(shí)相機(jī)進(jìn)行實(shí)際視頻預(yù)處理、壓縮,最后將壓縮后的比特?cái)?shù)據(jù)流通過I/O端口傳輸至PC機(jī)中進(jìn)行軟解壓顯示。整套圖像預(yù)處理、壓縮、傳輸以及軟解壓顯示如圖7示。
圖6 視頻采集壓縮板卡實(shí)物圖(照片)
圖7 視頻編解碼傳輸系統(tǒng)(照片)
本文針對高清視頻壓縮技術(shù)的需求,設(shè)計(jì)一種基于FPGA與DM6467達(dá)芬奇平臺的視頻壓縮硬件平臺,在FPGA中完成了對DM6467編碼前數(shù)據(jù)的自適應(yīng)預(yù)處理,包括自適應(yīng)地對輸入視頻進(jìn)行分辨率的檢測與數(shù)據(jù)采集,色度空間的轉(zhuǎn)換與下采樣,以及RAW格式數(shù)據(jù)組幀。采用的分幀傳輸技術(shù)突破了DM6467所能支持的最大分辨率限制,大大減少了系統(tǒng)圖像采集時(shí)間,本文所設(shè)計(jì)系統(tǒng)可對任意格式分辨率視頻采集與編碼,為基于DM6467的視頻壓縮提供了參考設(shè)計(jì)模型。
[1]郭波,樊丁,彭凱.基于DaVinci技術(shù)的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].測控技術(shù),2009,28(10):82-84.
[2]趙攀,盧彬.基于FPGA+DM6467智能監(jiān)控系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2012,36(7):137-139.
[3]TI TMS320DM6467 digital media system on chip[EB/OL].[2013-01-02].http://www.ti.com/product/tms320dm6467.
[4]趙勇,袁譽(yù)樂,丁銳.DaVinci技術(shù)原理與應(yīng)用[M].南京:東南大學(xué)出版社,2008:81-101.
[5]WU Y,ZHAO Y.Brief analysis of the DM6467 HD-VICP subsystem functional simulator[C]//Proc.ICNDS 2010.[S.l.]:IEEE Press,2010:609-612.
[6]WANG J,LV R,GAO P,et al.The design of HDTV H.264 encoding system based on multi-dsps architecture[C]//Proc.International Conference on Computer Science and Software Engineering.[S.l.]:IEEE Press,2008:54-57.
[7]TALLA D,GOBTON J.Using DaVinci technology for digital video devices[J].Computer,2007,40(10):53-61.
[8]李武森,遲澤英,陳文建.高速DSP圖像處理系統(tǒng)中的乒乓緩存結(jié)構(gòu)研究[J].光電子技術(shù)與信息,2005,18(3):76-79.
[9]沈道寧,陳耀武.H.264濾波器在達(dá)芬奇平臺下的優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)工程,2010,36(23):220-222.
[10]王宏志,蘇令華,王曉紅.基于達(dá)芬奇平臺的視頻編碼器實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2011,19(5):1118-1120.
[11]李丹,王健,季曉勇.基于達(dá)芬奇平臺的H.264視頻流加密終端的設(shè)計(jì)[J].電視技術(shù),2009,33(4):33-35.
[12]陳鍵.基于TI公司達(dá)芬奇平臺的嵌入式無線視頻監(jiān)控系統(tǒng)[D].天津:天津大學(xué),2010.