周鵬驥
摘要:采用FPGA+ADV212來實現(xiàn)JPEG2000的圖像壓縮技術,不僅提高了壓縮效率,同時也高效的發(fā)揮了FPGA的并行處理能力。由于2.6um到3.2um波段的短波紅外的響應輸出范圍較窄,采用5/3壓縮算法,避免了此波段的短波紅外受壓縮本身所產(chǎn)生的大量噪聲影響。此系統(tǒng)能夠靈活的配置壓縮比、壓縮深度等圖像壓縮的相關參數(shù)。最終系統(tǒng)不僅具有體積小、功耗低的特點,而且能夠提供高質(zhì)量的可復原的壓縮圖像。
關鍵詞:FPGA;JPEG2000;ADV212;小波變換;圖像壓縮
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2014)35-8533-03
The Design of the Short-Wave Infrared Image Compression System Based on ADV212 and FPGA
ZHOU Peng-ji
(Research and Development Center for Opto-electronic, Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun 130033,China )
Abstract: By using the JPEG2000 image compression technology with the FPGA+ADV212, not only improved the compression efficiency, at the same time also brought into playing a parallel processing ability of the FPGA. Since 2.6um to 3.2um band of short-wave infrared response output range is narrow, the 5/3 when the compression algorithm, avoids the bands of short-wave infrared affected by compression itself produces a lot of noise. Since the range of output response in 2.6um to 3.2um band is narrow, by using the 5/3 compression algorithm, avoid this band of short-wave infrared to produce a lot of noise by itself. This system can be flexible configuration in the compression ratio, compression depth as well as the related parameters in the image compression. Finally the system not only has the characteristics of small volume, low power consumption, and also can provide high quality of compressed image which can be recovered.
Key words:FPGA;JPEG2000; ADV212; the wavelet transform;the image compression.
在現(xiàn)代戰(zhàn)爭中,紅外探測器裝置已經(jīng)成為現(xiàn)代戰(zhàn)場上不可或缺的進攻以及防御武器,對戰(zhàn)局戰(zhàn)況起到極其重要的作用,而不同波段的紅外光譜有不同的作用。其中,波段在2.6um到3.2um的短波紅外,對于高溫物體,比如物體燃燒尾焰,響應較好。然而,紅外圖像對于目標環(huán)境的要求比較高,同樣的目標,在高溫背景與低溫背景中的響應對比度是不同的,高溫背景輻射能量大,因此圖像對比度會較差,信噪比較高,相反,低溫背景下圖像對比度高,噪聲相對較少。因此,壓縮圖像應該選用無損壓縮來避免增加噪聲[1-4]。
在壓縮算法中,采用小波變換、位平面編碼等技術的靜態(tài)圖像壓縮算法JPEG2000能夠實現(xiàn)無損、近無損以及有損壓縮,并且圖像壓縮質(zhì)量很高,特別是圖像紋理簡單的壓縮圖像效果顯著,因此為了不丟失靜態(tài)圖像細節(jié),能夠最大程度保留有用信息,選擇JPEG2000無損壓縮技術[5]。
一般來講,實現(xiàn)靜態(tài)圖像壓縮有兩種方式,一種方式是,僅僅通過FPGA或者DSP來實現(xiàn)圖像壓縮算法,然而這種方式相對比較復雜,并且優(yōu)化起來比較困難,很難做到性能的進一步提升。因此,提出另外一種方式,就是通過專用圖像壓縮芯片與FPGA結合來實現(xiàn)靜態(tài)圖像的壓縮,將專用圖像壓縮芯片的初始化、壓縮參數(shù)的配置、以及數(shù)據(jù)的收發(fā)都交給FPGA來執(zhí)行完成,而專用圖像壓縮芯片只要負責圖像的壓縮算法即可[7]。本設計中采用的是ADV212專用圖像視頻編解碼器與Xilinx公司的Spartan3系列的FPGA來實現(xiàn)圖像壓縮。
1 ADV212的芯片原理
ADV212受益于采用了國際領先的JEPG2000圖像壓縮標準,因此它具有高帶寬、低功耗的特點,并且能夠實時壓縮或者解壓縮靜態(tài)圖像以及視頻圖像[8]。ADV212無縫提供了國際通用的專用視頻端口,如ITU-RBT.656、SMPTE 125M、SMPTE 293M、ITU-R BT.1358、SMPTE 274M (1080i)、SMPTE 296M (720p)。除了支持以上專用視頻接口,同時還支持對原生靜態(tài)圖像格式進行壓縮。通過對ADV212內(nèi)部寄存器的配置,可以實現(xiàn)視頻接口的選擇,以及對圖像壓縮質(zhì)量、壓縮比等參數(shù)的控制[6]。
如果是上述標準格式的圖像數(shù)據(jù)可以通過ADV212的像素接口輸入,經(jīng)過壓縮后的壓縮數(shù)據(jù)通過編碼FIFO輸出。而對于原生靜態(tài)圖像數(shù)據(jù),雖然也可以通過像素接口輸入,但是需要配置的相應寄存器較多,同時需要主機配置相應的視頻輸入時鐘和使能信號。因此對于原生靜態(tài)圖像數(shù)據(jù),該文采用的是通過主機接口輸入,壓縮后的壓縮數(shù)據(jù)通過編碼FIFO再輸出給主機,即HIPI模式。
系統(tǒng)選用了響應波段為2.6um到3.2um的短波640x512紅外焦平面探測器組件,可以將目標紅外輻射轉換為可檢測的電信號。由于此波段的短波紅外探測器的響應輸出幅度較短,對于接近于絕對溫度的目標響應為1.6V,對于高溫目標,輸出飽和在4.4V,對于如此窄的輸出響應,為防止微小抖動產(chǎn)生的巨大誤差,因此選用的是一款14位量化深度的A/D轉換器,通過FPGA對A/D的配置,以及對短波紅外探測器提供驅動信號,使每個像素點都量化為14bits的數(shù)據(jù),經(jīng)過FPGA對這些采集得到的數(shù)據(jù)進行處理,打包形成640*512*14bit為一幀的靜態(tài)圖像數(shù)據(jù),最后幀圖像數(shù)據(jù)通過ADV212進行無損壓縮。將壓縮后的數(shù)據(jù)流反饋給FPGA。
FPGA主要實現(xiàn)三個功能:1) 主機邏輯功能,對系統(tǒng)中的各個部分進行控制,包括對短波紅外探測器的驅動控制,實現(xiàn)短波紅外探測器以4MHz的速度、8通道同時輸出模擬圖像數(shù)據(jù),該8通道一次輸出相鄰的8個像素點,逐行輸出整幀圖像;另外對A/D進行配置,使其能對探測器輸出的數(shù)據(jù)全部采集并量化;最后是對ADV212的各個寄存器進行配置,使其能夠壓縮14bits深度的數(shù)據(jù),并配置ADV212的輸出通道,配置為外部DMA方式進行輸出。2) 數(shù)據(jù)處理,將從A/D輸出的14bits原始數(shù)據(jù)進行打包送至ADV212,另外接收ADV212輸出的壓縮碼流。3) 對ADV212進行加載正確的固件,加載固件也是先對ADV212的相關寄存器進行配置,將固件寫入到正確的固件地址中。
2.1 系統(tǒng)硬件設計
數(shù)據(jù)壓縮是采用ADV212的HIPI模式,此模式是通過32-bit寬度的HDATA總線傳輸數(shù)據(jù),在HDATA總線上,先將原始靜態(tài)圖像數(shù)據(jù)輸入至ADV212,原始數(shù)據(jù)可以打包為8-bit或者16-bit形式,若位數(shù)不足則低位補0。由于本設計是要實現(xiàn)14bits深度的數(shù)據(jù)壓縮,因此采用16-bit打包方式,低兩位補0,每次采樣兩個像素點。當將規(guī)定好的一幀640*512的像素數(shù)據(jù)全部成功發(fā)送給ADV212以后,會得到ADV212的反饋信息,當ADV212準備好以后,所需要壓縮數(shù)據(jù)碼流便會以用戶定義的要求通過外部DMA通道輸出。
2.2 軟件配置
ADV212的工作分兩個階段:(1) ADV212的初始化,ADV212的初始化是通過配置ADV212內(nèi)部寄存器來實現(xiàn)的。(2) 通過外部DMA通道對數(shù)據(jù)進行采集,并輸出壓縮碼流。
需要配置的內(nèi)部寄存器包括PLL控制寄存器PLL_HI、PLL_LO,這兩個寄存器主要是用來配置JCLK與HCLK,JCLK為ADV212的內(nèi)部JPEG2000硬件各區(qū)塊提供驅動時鐘,HCLK為嵌入式處理器提供驅動時鐘,JCLK的時鐘頻率最低不能小于50MHz最高不能大于150MHz,而HCLK不應超過108MHz。由于本設計中ADV212的主時鐘MCLK為24MHz,因此可設計JCLK四倍于MCLK,為96MHz,HCLK兩倍于MCLK,為48MHz。因此16bit直接寄存器PLL_HI、PLL_LO分別配置為0X0008和0X0004。這里要注意,在配置了PLL寄存器以后,需要軟件延遲20us。接下來配置BOOT寄存器為0X008A,為ADV212內(nèi)部進行軟件復位,經(jīng)過實驗證明,為保證能夠使ADV212正確的工作,設置之后要為軟件復位保證至少15us的延遲時間。由于采用的HIPI模式,因此需要設置HOST為32位,DMA數(shù)據(jù)位寬為32位,因此配置BUSMODE寄存器為0X000A。設置MMODE寄存器為0X000A。接下來,要為ADV212加載正確的固件,固件的起始地址為0X00050000,通過FPGA的ROM加載方式,將固件加載到ADV212中。固件加載成功以后,會反饋到寄存器SWFLAG中,讀取SWFLAG寄存器的值,若為0XFF82,則表示固件已經(jīng)正確加載到ADV212中。除了上述寄存器以外,還要對數(shù)據(jù)輸入總線進行設置,寄存器PMODE1設置為0X0318,設置其為14-bit的精度,因此32位的HDATA總線每次可采樣兩個精度為14-bit的像素點。設置圖像的寄存器XTOT與YTOT,分別是圖像橫向像素與縱向像素點個數(shù)的設置,本設計的短波紅外探測器的焦平面是640*512,因此設置XTOT為0X0280,YTOT為0X0200。設置VMODE寄存器為0X0012。最后,設置數(shù)據(jù)傳輸通道DMA,相關寄存器為EDMOD0與EDMOD1,分別映射的是Pixel FIFO與CODE FIFO,即像素輸入FIFO與壓縮碼FIFO。
數(shù)據(jù)的讀寫時序是初始化完成后,檢測/DREQ0信號是否有效,如果有效,通過FPGA使/DACK0信號有效,隨后便可以在/WE信號的作用下將14-bit精度的圖像數(shù)據(jù)通過DMA通道0傳輸?shù)絇IXEL FIFO中,當整幀數(shù)據(jù)都傳輸完畢以后,等待ADV212的壓縮處理,當/DREQ1有效以后,說明ADV212已經(jīng)將一幀圖像的數(shù)據(jù)壓縮完畢,當需要讀取壓縮碼流時,F(xiàn)PGA通過控制反饋給ADV212信號/DACK1,通過握手告知ADV212可以開始傳輸,控制/RD,通過DMA通道1將CODE FIFO中的壓縮碼流傳輸給FPGA,直到所有碼流輸出完畢以后。讀寫時序如圖6。
3 小結
本設計是基于FPGA+專用圖像壓縮芯片ADV212的結構來實現(xiàn)短波紅外探測圖像,不僅發(fā)揮了FPGA的高度靈活性的并行處理能力,同時也滿足了系統(tǒng)要求的高效率的圖像壓縮。由于采用的是2.6um到3.2um波段的短波紅外探測器,為避免增加圖像噪聲,因此需要使ADV212配置為5/3無損壓縮模式,圖像處理結果基本無失真,能夠最大程度的保留原圖像的細節(jié)信息,減少圖像噪聲干擾。壓縮過程采用HIPI模式,不僅提高壓縮效率,減少配置過程,另外,調(diào)整壓縮參數(shù)方便、靈活,壓縮信息容易恢復。
參考文獻:
[1] 許中勝,徐邦荃.紅外系統(tǒng)波段特性比較[J].電光與控制,2001(3):10.
[2] 陶宏江,韓雙麗,張宇, 等. 基于ADV212的遠程圖像采集系統(tǒng)設計[J].液晶與顯示,2013(9).
[3] 路建方,王新賽,賀明,等.基于ADV212芯片的紅外視頻無損壓縮研究[J].紅外,2013(1).
[4] 呂耀文,王建立,王昊京,等.應用拋物線運動估計攝像機姿態(tài)[J].光學精密工程,2014(4):1078-1085.
[5] 宋蓓蓓,孫文方.精確質(zhì)量控制的遙感圖像JPEG2000壓縮方法[J].光學精密工程,2013,21(8):2180.
[6] 王丹,楊允基.ADV212編解碼芯片原理及應用[J].艦船電子工程,2008,28(5):30.
[7] 張益.一種高效浮點DCT圖像壓縮系統(tǒng)研究與FPGA實現(xiàn)[D].電子科技大學,2012.
[8] 孫健,任國強,吳欽章.基于自適應指數(shù)哥倫布編碼的圖像壓縮算法[J].光學精密工程,2013,21(11).