馬豹 焦勝利 尹冬強(qiáng)
摘要
針對(duì)彈載遙測(cè)圖像數(shù)據(jù)量大、傳輸速度高和實(shí)時(shí)性高的特點(diǎn),以FPGA為基礎(chǔ)平臺(tái),結(jié)合圖像壓縮芯片ADV212,本文設(shè)計(jì)了一種彈載遙測(cè)圖像壓縮系統(tǒng)。該系統(tǒng)具備高速Camera-link圖像接口,能夠?qū)崟r(shí)接收外部高速圖像數(shù)據(jù)并同時(shí)進(jìn)行圖像壓縮,輸出JPEG2000標(biāo)準(zhǔn)數(shù)據(jù)流。測(cè)試結(jié)果表明,系統(tǒng)的壓縮比達(dá)到40:1,且壓縮圖像基本無(wú)失真。
【關(guān)鍵詞】FPGA ADV212 JPEG2000 圖像壓縮
1 引言
近年來(lái),隨著我國(guó)航空航天技術(shù)的不斷發(fā)展,彈載遙測(cè)技術(shù)也得到了突飛猛進(jìn)的發(fā)展,成為了現(xiàn)代高新技術(shù)領(lǐng)域的重要組成部分。圖像作為信息最直觀的表達(dá)方式,在遙測(cè)系統(tǒng)的地位越來(lái)越重要,越來(lái)越多的用戶要求遙測(cè)圖像實(shí)時(shí)高速回傳到地面,與此同時(shí)遙測(cè)圖像的分辨率不斷提高以及數(shù)據(jù)規(guī)模的爆炸式增長(zhǎng),對(duì)頻帶的利用率和實(shí)時(shí)性要求越來(lái)越高,增加了遙測(cè)通信技術(shù)的難度。為解決這些困難,在不影響圖像觀測(cè)質(zhì)量和后期處理的情況下,將遙測(cè)圖像數(shù)據(jù)按照一定壓縮比進(jìn)行壓縮,來(lái)滿足遙測(cè)圖像數(shù)據(jù)傳輸帶寬的需要。
遙測(cè)圖像壓縮采用最普遍的壓縮算法是JPEG2000壓縮算法,JPEG2000壓縮算法采用離散小波變換,自適應(yīng)算術(shù)編碼和優(yōu)化截?cái)嗟那度胧骄幋a方式,具有高壓縮比、有損壓縮和無(wú)損壓縮、感興趣區(qū)域壓縮等特點(diǎn)。實(shí)現(xiàn)JPEG2000壓縮一般有兩種方式,一種方式是FPGA+DSP實(shí)現(xiàn)壓縮算法,這種方式設(shè)計(jì)比較復(fù)雜,優(yōu)化比較困難,很難做到性能近一步提高.,另一種方式是基于專用圖像壓縮芯片實(shí)現(xiàn)壓縮,與FPGA相結(jié)合實(shí)現(xiàn)高速壓縮處理,并通過(guò)FPGA對(duì)壓縮芯片進(jìn)行初始化、參數(shù)配置和時(shí)序控制完成圖像壓縮。本文利用專用圖像壓縮芯片ADV212與Xilinx公司VirtexⅡ系列FPGA來(lái)實(shí)現(xiàn)圖像壓縮。
2 ADV212芯片原理
ADV212是AD公司的一款實(shí)現(xiàn)JPEG2000編解碼的芯片,該芯片主要由像素接口、小波變換引擎、熵編解碼器、嵌入式處理器、存儲(chǔ)器系統(tǒng)和內(nèi)部DMA引擎等組成。ADV212內(nèi)嵌了一個(gè)32位的RISC處理器,作為整個(gè)系統(tǒng)的控制者,并具有自己的ROM和RAM。ADV212集成了一個(gè)基于ADI專利的空間高效遞歸濾波小波技術(shù)(SURF技術(shù))的小波核,支持9/7不可逆模式小波變換和5/3可逆、不可逆模式小波變換。由于熵編碼的復(fù)雜度,ADV212提供了3個(gè)專用的硬件熵編碼器。內(nèi)部DMA引擎為內(nèi)部存儲(chǔ)器之間、內(nèi)部存儲(chǔ)器和各個(gè)功能模塊之間提供高速傳輸數(shù)據(jù)能力。ADV212的視頻接口支持包括PAL在內(nèi)大部分通用格式。通過(guò)對(duì)ADV212內(nèi)部寄存器的配置,可以實(shí)現(xiàn)視頻接口的選擇,以及對(duì)圖像壓縮質(zhì)量、壓縮比等參數(shù)的控制。在本系統(tǒng)中圖像像素?cái)?shù)據(jù)輸入到ADV212的像素接口,通過(guò)該像素接口對(duì)圖像數(shù)據(jù)進(jìn)行采集并發(fā)送給小波變換工具進(jìn)行處理,圖像被分解為若干子帶,小波變換的系統(tǒng)都存入ADV212的內(nèi)存中,最后由熵編碼進(jìn)行處理獲得標(biāo)準(zhǔn)的JPEG2000壓縮碼流。圖1給出了ADV212的功能框圖。
3 系統(tǒng)設(shè)計(jì)
圖像壓縮系統(tǒng)包括兩部分設(shè)計(jì):硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件設(shè)計(jì)部分主要介紹了系統(tǒng)組成包括FPGA、SRAM、Camera-link接口和ADV212,并對(duì)器件的功能進(jìn)行說(shuō)明,給出了FPGA與ADV212的接口連接方式;軟件設(shè)計(jì)部分主要簡(jiǎn)單介紹了圖像壓縮系統(tǒng)的工作流程,詳細(xì)介紹FPGA初始化ADV212的過(guò)程和參數(shù)設(shè)置,同時(shí)對(duì)原始圖像的接收和壓縮圖像數(shù)據(jù)存儲(chǔ)控制進(jìn)行了說(shuō)明。
3.1 系統(tǒng)硬件設(shè)計(jì)
圖像壓縮系統(tǒng)基于FPGA+ADV212為架構(gòu)設(shè)計(jì),如圖2所示。通過(guò)對(duì)系統(tǒng)需求功能分解,對(duì)所需FPGA的資源進(jìn)行評(píng)估后,選用Xilinx公司Virtex-Ⅱ系列的FPGA作為整個(gè)系統(tǒng)的控制核心[8]。FPGA外掛兩片存儲(chǔ)容量為16Mbits的SRAM,能夠滿足512*640*16bits圖像的數(shù)據(jù)緩存,型號(hào)為IS61WV102416BLL。選用NS公司的DS90CR286MTD芯片作為Camera-link接口芯片,接收速率為lOOMB/s,能夠滿足14MB/S的圖像采集要求。
圖像探測(cè)器:完成圖像采集,并將圖像數(shù)據(jù)通過(guò)LVDS接口信號(hào)發(fā)送給FPGA。
FPGA:完成數(shù)據(jù)采集、處理、仲裁及分發(fā);完成ADV212初始化、SDRAM和SRAM讀寫控制。
SRAM:在FPGA控制下,緩存實(shí)時(shí)原始圖像數(shù)據(jù)。
Camera_link接口:接收LVDS差分?jǐn)?shù)據(jù),解析出HVF信號(hào)、圖像數(shù)據(jù)和圖像時(shí)鐘。
ADV212:在FPGA的控制下,完成圖像壓縮,并輸出JPEG2000壓縮碼流。
數(shù)據(jù)綜合器:接收?qǐng)D像壓縮系統(tǒng)發(fā)送的JPEG2000壓縮碼流。
為滿足系統(tǒng)高速壓縮的需要,圖像壓縮系統(tǒng)是采用ADV212的VDATA模式,此模式通過(guò)12bit寬度的VDATA總線傳輸圖像數(shù)據(jù)至ADV212進(jìn)行壓縮。FPGA將一幀數(shù)據(jù)全部成功發(fā)送給ADV212以后,ADV212壓縮完成后產(chǎn)生中斷給FPGA,F(xiàn)PGA通過(guò)控制ADV212的片選信號(hào)和讀信號(hào)從HDATA總線讀取JPEG2000壓縮碼流,如圖3所示。
3.2 軟件設(shè)計(jì)
系統(tǒng)上電后,首先由FPGA完成對(duì)ADV212初始化及參數(shù)配置。初始化過(guò)程如下:
(1)將ADV212設(shè)置為No-Host Boot模式,對(duì)ADV212進(jìn)行初始化;
(2)下載ADV212固件到固件地址0×50000;
(3)對(duì)固件參數(shù)地址0×57F00設(shè)置固件參數(shù):設(shè)置ADV212為custom specific模式、設(shè)置小波變換的壓縮參數(shù)、設(shè)置圖像壓縮比為40:1等;
(4)設(shè)置內(nèi)部寄存器:設(shè)置輸入圖像格式為單色圖、并設(shè)置尺寸寄存器512×640×12、設(shè)置CODE FIFO滿128字節(jié)后觸發(fā)中斷;
(5)配置完成后使能ADV212初始化成功中斷和CODEFIFO滿中斷。圖4為壓縮芯片ADV212配置流程圖。
在FPGA完成對(duì)ADV212的初始化配置后,等待接收?qǐng)D像數(shù)據(jù)進(jìn)行壓縮。根據(jù)圖像探測(cè)器的時(shí)序,圖像預(yù)處理模塊接收Camera-link接口解串后的圖像數(shù)據(jù),并將其在外掛的SRAM組中緩存。當(dāng)檢測(cè)下一幀圖像場(chǎng)同步上升沿時(shí),讀取緩存在SRAM中的上一幀圖像進(jìn)行時(shí)序調(diào)整并送給ADV212進(jìn)行壓縮處理;時(shí)序調(diào)整時(shí),從SRAM中讀取數(shù)據(jù),利用計(jì)數(shù)器分別對(duì)參考時(shí)鐘、行同步下降沿進(jìn)行計(jì)數(shù),根據(jù)計(jì)數(shù)值按照ADV212要求的時(shí)序?qū)D像數(shù)據(jù)輸出。設(shè)計(jì)過(guò)程中,對(duì)SRAM的讀寫時(shí)序進(jìn)行嚴(yán)格的控制。
當(dāng)FPGA檢測(cè)到中斷信號(hào)有效,讀取的壓縮碼流數(shù)據(jù),開始存儲(chǔ)壓縮數(shù)據(jù)到FPGA內(nèi)部FIFO中緩存,在這個(gè)過(guò)程中要不斷檢測(cè)JPEG2000的幀尾,當(dāng)檢測(cè)到“FFD9”時(shí)表示一幀結(jié)束,同時(shí)將幀尾存儲(chǔ)到內(nèi)部FIFO,將壓縮數(shù)據(jù)通過(guò)422接口發(fā)送給數(shù)據(jù)綜合器,數(shù)據(jù)綜合器接收到壓縮的圖像數(shù)據(jù)后,進(jìn)行組幀后通過(guò)無(wú)線遙測(cè)信道發(fā)送給地面接收設(shè)備。
4 實(shí)驗(yàn)結(jié)果
4.1 實(shí)驗(yàn)平臺(tái)
圖像壓縮系統(tǒng)的實(shí)驗(yàn)平臺(tái)由Camera-link接口單元測(cè)試臺(tái)、圖像壓縮系統(tǒng)、計(jì)算機(jī)、解壓軟件、測(cè)試用電源和測(cè)試用電纜等組成,如圖5所示。單元測(cè)試臺(tái)用來(lái)發(fā)送原始圖像源和接收壓縮后的圖像數(shù)據(jù)。計(jì)算機(jī)將原始圖像源通過(guò)網(wǎng)絡(luò)接口發(fā)送給單元測(cè)試臺(tái)和接收網(wǎng)絡(luò)接口傳輸過(guò)來(lái)的壓縮后的圖像數(shù)據(jù),并壓縮后的圖像數(shù)據(jù)通過(guò)解壓軟件,完成解壓和圖像顯示。
4.2 實(shí)驗(yàn)步驟
本系統(tǒng)選用一幅紅外圖像作為圖像源,圖像大小為512*640*14bit,具體完成以下步驟:
(1)驗(yàn)證系統(tǒng)的壓縮比為40:1,輸出JPEG2000格式;配置ADV212小波基參數(shù),選取5/3可逆模式進(jìn)行測(cè)試,圖像解壓后不損失圖像細(xì)節(jié)信息。
(2)測(cè)試壓縮系統(tǒng)壓縮速率,利用單元測(cè)試臺(tái)通過(guò)Camera-link接口,每秒連續(xù)發(fā)送22幅圖像,圖像壓縮系統(tǒng)適應(yīng)性。
4.3 實(shí)驗(yàn)結(jié)果
(1)系統(tǒng)上電后,配置ADV212完成后,通過(guò)計(jì)算機(jī)將圖像源加載到單元測(cè)試臺(tái),單元測(cè)試臺(tái)再通過(guò)Camera-link接口發(fā)送原始圖像數(shù)據(jù)給圖像壓縮系統(tǒng)進(jìn)行壓縮;壓縮完成的圖像數(shù)據(jù)通過(guò)網(wǎng)絡(luò)接口再傳給計(jì)算機(jī),計(jì)算機(jī)接收壓縮后圖像,每幅圖像大小為16KB左右,文件格式為.j2c,解壓后的圖像與原始圖像基本一致,圖像細(xì)節(jié)信息基本無(wú)損失,如圖6、7所示。
(2)查看計(jì)算機(jī)接收的壓縮圖像數(shù)據(jù),ADV212壓縮后的每一幅圖像數(shù)據(jù),都會(huì)在ADV212幀頭“FFFFFFF1”后自動(dòng)插入幀計(jì)數(shù),如圖8所示,幀計(jì)數(shù)從“00000000”到“00000015”連續(xù)無(wú)丟幀,能夠滿足高速通信接口下,圖像壓縮系統(tǒng)的壓縮處理時(shí)間。
通過(guò)實(shí)驗(yàn)測(cè)試,圖像壓縮系統(tǒng)能夠保證壓縮圖像的壓縮比,圖像無(wú)失真,又能保證高速圖像的壓縮性能。
5 結(jié)論
在實(shí)際的彈載遙測(cè)通信中,遙測(cè)圖像的傳輸帶寬決定了壓縮后圖像數(shù)據(jù)的大小,也就決定著圖像壓縮比,能夠在保證壓縮比的前提下,圖像壓縮后能夠無(wú)失真還原,對(duì)壓縮系統(tǒng)設(shè)計(jì)有著重要的研究意義。本文基于FPGA+ADV212的架構(gòu)來(lái)完成圖像壓縮,實(shí)時(shí)輸出JPEG2000標(biāo)準(zhǔn)數(shù)據(jù)流,并對(duì)紅外圖像進(jìn)行驗(yàn)證測(cè)試,驗(yàn)證系統(tǒng)既能滿足壓縮比40:1,又能保證圖像壓縮基本無(wú)失真,能夠最大程度保留了圖像的細(xì)節(jié)信息;此外系統(tǒng)壓縮選用VDATA模式,利用FPGA接收外部高速輸入的圖像數(shù)據(jù),控制實(shí)現(xiàn)ADV212場(chǎng)行同步時(shí)序,提高了ADV212的壓縮效率,從而保證了圖像壓縮系統(tǒng)的壓縮性能。
參考文獻(xiàn)
[1] 李敬博,馬搞,任光杰.數(shù)傳通道遙測(cè)數(shù)據(jù)處理方法研究[J].遙感學(xué)報(bào),2012(16): 66—68.
[2] Saratayon P,Petchartee S. IRIG S-band missile telemetry[C]. Defence Technology. IEEE, 2015 (127): 131.
[3] Cipolletti MP, Delrieux CA, Perillo GME, et a 1.Border extrapolation using fractal attributes in remote sensing images [J]. Computers&Geosicen; se, 2014, 62 (02): 25-34.
[4] 薛旭成,張淑艷,曲洪豐等.基于 JPEG2000的星載遙感圖像實(shí)時(shí)壓縮系統(tǒng)設(shè)計(jì)[J].儀器儀表學(xué)報(bào),2007 (04).
[5] JPEG2000 Video Codec ADV212[EB/0L]. [2008-04-20] . http: //www. analog, com/zh/audiovideo-products/videocompress ion/ ADV2 12 /products /product, html,
[6] 王丹,楊允基. ADV212編解碼芯片原理及應(yīng)用[J].艦船電子工程,2008, 28 (05): 30.
[7] 路建方,王新賽,賀明,等.基于ADV212芯片的紅外視頻無(wú)損壓縮研究[J].紅外,2013(01).
[8] Virtex-II Platform FPGAs:Complete Data Sheet (Vers ion 3. 3) [ EB/0L]. [200-04-06].http://www.xi1inx.com/ support/documentat ion/virtex~ii. html.