李 進(jìn),金龍旭,韓雙麗,陶宏江,張然峰,李國寧,朱 鵬
(1.中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,吉林長春 130033;2.中國科學(xué)院研究生院,北京 100039)
基于H.264編碼算法的高速CCD視頻壓縮系統(tǒng)設(shè)計(jì)
李 進(jìn)1,2,金龍旭1,韓雙麗1,陶宏江1,張然峰1,李國寧1,朱 鵬1
(1.中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,吉林長春 130033;2.中國科學(xué)院研究生院,北京 100039)
設(shè)計(jì)了一種基于H.264視頻編碼算法的壓縮系統(tǒng)。為了使壓縮算法高效快速的運(yùn)行,使用了DSP/BIOS資源來管理軟硬件工作。為了高速交互數(shù)據(jù),采用了EDMA高速搬運(yùn)數(shù)據(jù)策略,進(jìn)而保證了數(shù)據(jù)實(shí)時(shí)傳輸?shù)男枰?shí)驗(yàn)結(jié)果表明,該壓縮系統(tǒng)可以穩(wěn)定正常地工作,具有良好壓縮性能,在壓縮比40∶1~10∶1范圍內(nèi),平均信噪比高于35 dB,滿足了航空CCD相機(jī)應(yīng)用的需求。
面陣CCD;視頻壓縮;H.264編碼算法;DSP處理器
隨著航空CCD成像技術(shù)的發(fā)展,高幀頻高清晰面幀CCD成為數(shù)字相機(jī)的主要圖像傳感器。然而,面幀CCD數(shù)據(jù)量十分龐大,給相機(jī)數(shù)傳系統(tǒng)帶來巨大的壓力,因此非常有必要對(duì)面幀CCD視頻進(jìn)行壓縮。
目前,國際視頻編碼標(biāo)準(zhǔn)已由JPEG發(fā)展到了H.264編碼標(biāo)準(zhǔn)[1-2]。H.264編碼算法是目前國際上最新的視頻壓縮算法,它具有低比特率、抗誤碼率強(qiáng)的特點(diǎn)[3-4]。非常適合應(yīng)用于各種視頻壓縮的場合。同時(shí),隨著DSP技術(shù)的發(fā)展,DSP處理器出現(xiàn)了專門針對(duì)視頻處理的多媒體處理器,特別是,最新的視頻專用處理器TMS320DM642[5-6](最高主頻達(dá)到600 MHz),這也保證了視頻壓縮算法可實(shí)現(xiàn)性的需求。
本文在參考國內(nèi)外相關(guān)技術(shù)的基礎(chǔ)上,根據(jù)背景項(xiàng)目需求,結(jié)合面幀CCD視頻特點(diǎn),提出一種DSP平臺(tái)上實(shí)現(xiàn)的H.264視頻壓縮算法。
TMS320DM642是由TI公司推出的專用視頻處理器[7],它保留了C64原有的架構(gòu),工作頻率通過內(nèi)部鎖相環(huán)時(shí)鐘乘法器可以達(dá)到500 MHz,600 MHz和720 MHz,相應(yīng)的時(shí)鐘周期為2 ns,1.67 ns和1.39 ns,指令執(zhí)行速率為4 000 MInstruction/s,4 800 MInstruction/s 和 5 760 MInstruction/s。DM642采用第二代增強(qiáng)型長指令形式,EMIFA接口數(shù)據(jù)總線寬度最大達(dá)64 bit,最高數(shù)據(jù)訪問頻率為133 MHz,可以和SDRAM無縫連接。片上L1和L2存儲(chǔ)空間可以分為兩部分存儲(chǔ)。該處理器包括:3個(gè)視頻接口VP0~VP2、EMAC 接口、McASP、PCI接口、HPI接口、GPIO接口、時(shí)鐘生成器(PLL)、I2C總線接口、EMIF模塊等。其中,時(shí)鐘生成器的作用可以使外部50 MHz晶振倍頻為600 MHz,該頻率為本文系統(tǒng)運(yùn)作頻率。I2C總線用來設(shè)置外圍設(shè)備的工作參數(shù),如視頻AD轉(zhuǎn)換器SAA7115,CMOS 傳感器等[8-13]。
通過上面的分析可知,DM642處理器具有非常豐富的資源和外部接口,具有強(qiáng)大的數(shù)字信號(hào)處理和控制能力,完全滿足高速實(shí)時(shí)視頻處理需求。
本文提出的CCD視頻壓縮系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 視頻壓縮系統(tǒng)硬件框架
整個(gè)系統(tǒng)分為:視頻前端電路、視頻存儲(chǔ)、視頻壓縮、視頻顯示以及視頻壓縮性能分析單元。視頻前端電路用來驅(qū)動(dòng)CCD正常工作,并將CCD輸出的模擬視頻信號(hào)進(jìn)行預(yù)處理、放大、模數(shù)轉(zhuǎn)換為RAW數(shù)字視頻數(shù)據(jù)。數(shù)字視頻數(shù)據(jù)可通過DM642視頻接口以RAW格式直接輸入到DM642中。此時(shí),DM642的視頻接口要配置為RAW格式。DM642將視頻數(shù)據(jù)緩存到外部的SDRAM中,然后采用H.264算法進(jìn)行壓縮。壓縮碼流存儲(chǔ)到視頻存儲(chǔ)單元中。另外,為了可以直接存儲(chǔ)和顯示原始圖像,本文可以將原始視頻數(shù)據(jù)直接采用NAND閃存進(jìn)行存儲(chǔ),數(shù)字視頻數(shù)據(jù)可通過DVI接口通過液晶顯示器直接顯示。
壓縮系統(tǒng)中,CPLD處理器輔助DM642管理外設(shè)。NOR型閃存作為DM642的程序存儲(chǔ)器,SDRAM作為DM642的數(shù)據(jù)存儲(chǔ)器。FPGA用來與DM642進(jìn)行交換數(shù)據(jù),將壓縮碼流進(jìn)行存儲(chǔ),另外,也可以實(shí)現(xiàn)將RAW視頻數(shù)據(jù)格式轉(zhuǎn)換為BT656的格式輸入到視頻處理器中。
H.264是目前最復(fù)雜且性能最好的視頻編碼標(biāo)準(zhǔn)。它具有較高的編碼效率,與H.263相比較,比特率可以減少50%。它最大的優(yōu)點(diǎn)是在不減少視頻質(zhì)量的情況下有較高的壓縮比[11]。H.264編碼總體分為視頻編碼層(VCL)和網(wǎng)絡(luò)提取層(NAL)。VCL的作用是編碼和解碼視頻數(shù)據(jù),它包括運(yùn)動(dòng)補(bǔ)償、變換編碼和熵編碼等。NAL用來提供視頻壓縮碼流傳輸規(guī)范,它包括單字節(jié)的頭信息,多字節(jié)的視頻數(shù)據(jù)、邏輯通道信息、時(shí)間信息和視頻序列結(jié)束信號(hào)等。頭信息包括存儲(chǔ)標(biāo)識(shí)和標(biāo)識(shí)類型等。頭信息用于識(shí)別圖像數(shù)據(jù)類型。H.264仍采用一種混合編碼框架,但它在許多細(xì)節(jié)方面進(jìn)行了改進(jìn)。目前它成為視頻壓縮應(yīng)用場合的主流壓縮方法[12-13]。
為了解決使用H.264壓縮算法時(shí)視頻數(shù)據(jù)量復(fù)雜的傳輸和處理問題,本文提出的壓縮系統(tǒng)編碼和解碼過程分為5步:1)幀內(nèi)與幀間預(yù)測;2)變換與反變換;3)量化與反量化;4)環(huán)形濾波;5)熵編碼。
在DM642中,片上SRAM容量為256 kbyte。對(duì)于編碼視頻數(shù)據(jù)幀單元大小為352×288×3/2=152 kbyte的視頻流,當(dāng)考慮參考視頻幀時(shí),總的數(shù)據(jù)量要遠(yuǎn)超過256 kbyte。另外,為了提高壓縮系統(tǒng)性能,片上SRAM需要分配出64 kbyte大小作為L2緩存使用。同時(shí)考慮到VLC表用來實(shí)現(xiàn)量化、DCT/IDCT變換等操作,因此也需將VLC用SRAM存儲(chǔ)。因此,僅采用DM642片上SRAM難以實(shí)現(xiàn)視頻壓縮。然而,如果待編碼幀和參考幀直接存儲(chǔ)到SDRAM中時(shí),需要首先將視頻數(shù)據(jù)導(dǎo)入到L2緩存中,然后再從L2緩存導(dǎo)入到L1緩存,視頻數(shù)據(jù)才能被CPU操作處理。這樣CPU等待很多時(shí)間,極大地浪費(fèi)了CPU資源。本文提出了一種基于EDMA的快速搬移數(shù)據(jù)策略,如圖2所示。
圖2 EDMA數(shù)據(jù)搬移策略
片上高速SRAM被分為乒乓操作的SRAM0和SRAM1,使用EDMA快速實(shí)現(xiàn)SDRAM與SRAM交換數(shù)據(jù),而CPU始終直接訪問CPU,這樣可以極大的減少CPU訪問塊時(shí)間,增加利用率。表1為使用EDMA前后編碼器效率比較。
表1 編碼器EDMA使用效率比較 f/s
由表1知,使用了EDMA數(shù)據(jù)搬移策略大大提高了DSP視頻壓縮效率。
本文系統(tǒng)采用CCS3.1和DSP/BIOS集成開發(fā)環(huán)境,主要使用語言為C語言,ASM語言輔助編程和調(diào)試。整個(gè)程序下載到DM642中,采集得到一幀原始視頻和該幀經(jīng)壓縮重構(gòu)視頻如圖3所示。
圖3 視頻壓縮實(shí)驗(yàn)(壓縮比為30∶1)
由圖3知,由圖2a和圖2b可知,從視頻幀上來看原始視頻幀和重構(gòu)視頻幀沒有任何區(qū)別,這是由于在壓縮比為20∶1時(shí),本文提出的壓縮算法信噪比較高??梢?,本文提出的視頻壓縮系統(tǒng)是可行的。
為了測試本文提出的視頻壓縮系統(tǒng)視頻壓縮性能,選用抖動(dòng)程度不同的3組視頻,每組50幀視頻序列進(jìn)行測試。原始視頻和重構(gòu)視頻采用信噪比計(jì)算公式為
其中,均方誤差公式MSE為
其中,f(x,y)和g(x,y)分別為原始視頻幀和重構(gòu)視頻幀,M和N為視頻幀大小。測試壓縮比在項(xiàng)目設(shè)計(jì)指標(biāo)要求的范圍10∶1~40∶1進(jìn)行測試,信噪比結(jié)果如表2所示。
表2 壓縮測試結(jié)果
由表2知本文提出的CCD視頻壓縮系統(tǒng)在壓縮比為40∶1~10∶1范圍內(nèi)平均信噪比在35 dB以上,具有良好的壓縮性能,滿足設(shè)計(jì)指標(biāo)要求。
本文提出了一種適于航空CCD相機(jī)應(yīng)用的視頻壓縮系統(tǒng)。整個(gè)壓縮系統(tǒng)分為CCD前端、視頻壓縮、視頻顯示、視頻壓縮碼流存儲(chǔ)以及壓縮分析單元,視頻壓縮單元采用高性能視頻專用DSP處理器TMS320DM642,軟件平臺(tái)采用在CCS3.1上使用C語言實(shí)現(xiàn)H.264壓縮算法。為了使壓縮算法高效快速的運(yùn)行,本文使用了DSP/BIOS資源來管理軟硬件工作。為了高速交互數(shù)據(jù),采用了EDMA高速搬運(yùn)數(shù)據(jù)策略,進(jìn)而保證了數(shù)據(jù)實(shí)時(shí)傳輸?shù)男枰?。?shí)驗(yàn)結(jié)果表明,本文提出的壓縮系統(tǒng)可以穩(wěn)定正常的工作,具有良好壓縮性能,在壓縮比40∶1~10∶1范圍內(nèi),平均信噪比高于35 dB,滿足了航空CCD相機(jī)應(yīng)用的需求,為航空CCD相機(jī)視頻壓縮縮提供了一種很好的解決方案。
:
[1]WIEGAND T,SULLIVAN G,BJONTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE.Trans.Circuits System.Video Technology,2003,13(7):560-576.
[2]MARPE D,WIEGAND T,GORDON S.H.264/MPEG4-AVC fidelity range extensions:Tools,profiles,performance,and application areas[C]//Proc.Image Processing,2005.[S.l.]:IEEE Press ,2005:493.
[3]DIOGO G G,RICARDO L,De Q.Least-squares directional intra Prediction in H.264/AVC[J].IEEE Signal Processing Letters,2010,17(10):831-834.
[4]PIAOI Y,PARK H.An adaptive divide-and-predict coding for intraframe of H.264/AVC[C]//Proc.Image Processing,2009. [S.l.]:IEEE Press,2009:3421-3424.
[5]周傳璘,肖永軍,蘇貴坡,等.基于TMS320DM642的光電目標(biāo)跟蹤視頻采集與處理系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2010,34(12):54-57.
[6]李青華,于峰崎.基于TMS320DM642的X264視頻編碼器的優(yōu)化[J]. 電視技術(shù),2010,34(8):39-42.
[7]徐華根,唐慧明,楊黎波.新型多媒體處理器DM642及其應(yīng)用[J].電視技術(shù),2005,29(1):36-38.
[8]薛頂柱,張洪陽,李健.基于TMS320DM642的H.264編解碼器的設(shè)計(jì)[J].現(xiàn)代科學(xué)儀器,2010,12(6):75-78.
[9]李守榮,姚海洋劉倩茹.基于DSP與FPGA的音視頻無線傳輸系統(tǒng)設(shè)計(jì)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2010(3):85-87.
[10]郭慰萱.基于DM642的實(shí)時(shí)網(wǎng)絡(luò)視頻傳輸系統(tǒng)的研究與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2009.
[11]許春冬,劉亦晴.基于DM642的H.264視頻編碼優(yōu)化[J].江西理工大學(xué)學(xué)報(bào),2010,31(5):44-47.
[12]楊春玲,肖冬琴.基于SSE和SSIM的H.264的幀內(nèi)預(yù)測模式選擇改進(jìn)算法[J]. 電子與信息學(xué)報(bào),2011,33(2):289-294.
[13]LEE S,CHO N.Intra prediction method based on the linear relationship between the channels for YUV 4∶2∶0 intra coding[C]//Proc.Image Processing,2009.[S.l.]:IEEE Press,2009:1037-1040.
金龍旭(1965— ),博士生導(dǎo)師,主研空間相機(jī)電子學(xué)技術(shù);
韓雙麗(1968— ),碩士生導(dǎo)師,主研空間相機(jī)熱控技術(shù);
陶宏江(1980— ),助理研究員,主研空間相機(jī)圖像壓縮技術(shù);
張然峰(1981— ),助理研究員,主研空間相機(jī)控制技術(shù);
李國寧(1979— ),助理研究員,主研空間相機(jī)CCD成像技術(shù);
朱 鵬(1987— ),碩士生,主研視頻壓縮技術(shù);
Design of CCD Video Compression System Based on H.264 Coding Algorithm
LI Jin1,2,JIN Longxu1,HAN Shuangli1,TAO Hongjiang1,ZHANG Ranfeng1,LI Guoning1,ZHU Peng1
(1.Changchun Institute of Optics,F(xiàn)ine Mechanics and Physics,Chinese Academy of Sciences,Changchun 130033,China;2.Graduate School of Chinese Academy of Sciences,Beijing 100039,China)
A video compression system based on H.264 compression algorithm is proposed in this paper.In order to perform efficiently and fast the compression algorithm,the system uses DSP/BIOS to manage the operation of hardware and software.To transmit efficiently data,a strategy of data moved efficiently based on EDMA is proposed,which ensure the real-time transmission.The experimental results showed that the proposed compression system can stably work and has good compressive property.In the compression ration range from 40∶1 to 10∶1,the average peak signal to noise ratio of proposed compression system is higher than 35 dB.It meets the application of aviation CCD camera.
area CCD;video compression;H.264 coding algorithm;DSP processor
TP919.81;TP391.4
A
【本文獻(xiàn)信息】李進(jìn),金龍旭,韓雙麗,等.基于H.264編碼算法的高速CCD視頻壓縮系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2013,37(3).
國家“863”高技術(shù)研究發(fā)展計(jì)劃基金資助課題(86325113B)
李 進(jìn)(1984— ),博士生,主研光電成像和圖像壓縮存儲(chǔ)技術(shù);
責(zé)任編輯:魏雨博
2012-06-28