韓亞娟,劉學(xué)斌,胡炳樑,陳小來,樊先云
(1.中國科學(xué)院西安光學(xué)精密機(jī)械研究所光譜成像技術(shù)實驗室,陜西西安710119;2.中國科學(xué)院研究生院北京100049)
成像光譜技術(shù)將由物質(zhì)成分決定的地物光譜與反應(yīng)地物存在格局的空間影像完整地結(jié)合起來,即對每一個空間影像的像元賦予具有其本身特征的光譜信息。成像光譜儀獲取的數(shù)據(jù)包括二維空間信息和一維光譜信息,所有的信息可以視為一個三維數(shù)據(jù)立方體[1]。不斷提高的空間分辨率、光譜分辨率和時間分辨率以及不斷增加的量化深度使得成像光譜儀的數(shù)據(jù)量越來越龐大。海量數(shù)據(jù)的存儲和傳輸已成為制約成像光譜儀應(yīng)用的瓶頸問題,由此,研究光譜數(shù)據(jù)壓縮技術(shù)是很必要的。
對于三維光譜圖像,其壓縮方法可分成3類:基于預(yù)測技術(shù)的壓縮方法、基于變換技術(shù)的壓縮方法和基于矢量量化技術(shù)的壓縮方法。
筆者主要研究基于ADV212的光譜數(shù)據(jù)圖像壓縮與解壓縮技術(shù)。選用最新靜態(tài)圖像壓縮標(biāo)準(zhǔn)JPEG2000為壓縮標(biāo)準(zhǔn),設(shè)計了一種FPGA搭載AD公司以JPEG2000為壓縮標(biāo)準(zhǔn)的專用圖像壓縮芯片ADV212的方式來實現(xiàn)光譜數(shù)據(jù)壓縮與解壓縮的硬件系統(tǒng)。該系統(tǒng)用FPGA內(nèi)嵌的MicroBlaze軟核處理器分別對圖像壓縮與解壓縮部分進(jìn)行控制,輔以VHDL語言和C語言編程,用單個FPGA實現(xiàn)芯片的控制,進(jìn)行圖像壓縮與解壓縮;并在基于DMD的哈達(dá)瑪變換成像光譜儀上進(jìn)行了驗證。
設(shè)計選用JPEG2000作為圖像壓縮算法,以AD公司的JPEG2000[2]專用芯片ADV212為核心。系統(tǒng)在FPGA上搭載AD公司的JPEG2000專用芯片ADV212構(gòu)成基于JPEG2000的圖像壓縮與解壓縮系統(tǒng)。用FPGA內(nèi)嵌的MicroBlaze軟核處理器分別對圖像壓縮與解壓縮部分進(jìn)行控制,輔以語言和C語言編程,用單個FPGA實現(xiàn)芯片的控制,進(jìn)行圖像壓縮與解壓縮??商峁┰嫉木幋a模塊和特征數(shù)據(jù)輸出,而JPEG2000編碼流的產(chǎn)生和其他諸如比特率控制等的壓縮過程則完全由主機(jī)軟件來控制。設(shè)計所得重建圖像無論是主觀視覺感受還是客觀評價(MSE和PSNR)都達(dá)到較好的效果。
本系統(tǒng)采用的開發(fā)板ADV212-ASD-P160-EB如圖1所示:
圖1 ADV212-ASD-P160-EB開發(fā)板Fig.1 ADV212-ASD-P160-EB development board
MicroBlaze軟核處理器是一種被優(yōu)化過的可以在Xilinx FPGA中嵌入的功能強(qiáng)大的32位微處理器。MicroBlaze是具有中等處理能力的CPU核,可用于Spartan-Ⅱ之后的所有Xilinx FPGA。
MicroBlaze軟核處理器支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合,和其他外設(shè)IP核配合,可以完成SOPC的設(shè)計。MicroBlaze軟核處理器軟核內(nèi)部采用RISC架構(gòu)和哈佛結(jié)構(gòu)的32位指令和數(shù)據(jù)總線,可以全速執(zhí)行存儲在片上存儲器和外部存儲器中的程序和訪問其中的數(shù)據(jù)。MicroBlaze軟核處理器內(nèi)部含有32個通用寄存器R0-R31,2個32位特殊寄存器(PC指針)和處理器狀態(tài)寄存器(MSR)。MicroBlaze軟核處理器還具有指令和數(shù)據(jù)緩存,可以提高其性能。MicroBlaze指令執(zhí)行分為3級流水的并行流水線,這3級流水分別是取指、譯碼和執(zhí)行。
MicroBlaze作為完整的CPU軟核,允許用戶根據(jù)需要進(jìn)行配置,但是其中大部分單元是不能夠定制的。MicroBlaze結(jié)構(gòu)如圖2所示。
圖2 MicroBlaze結(jié)構(gòu)圖Fig.2 Structure diagram of MicroBlaze
MicroBlaze有3種總線結(jié)構(gòu)[3]:快速單一連接總線結(jié)構(gòu)(Fast Simplex Link,F(xiàn)SL);高速片內(nèi)存儲器總線結(jié)構(gòu)(Local Memory Bus,LMB)和片上外設(shè)總線(On-Chip Peripheral Bus,OPB)。每一種都特點鮮明,有明確的適用外設(shè),只有合理地使用不同的總線訪問不同的組建,正確地協(xié)調(diào)這些總線才能最大程度地發(fā)揮MicroBlaze的性能。
MicroBlaze的基本總線結(jié)構(gòu)如圖3所示(部分總線沒有標(biāo)出)。
圖4為本設(shè)計的系統(tǒng)框圖:采用兩片ADV212芯片,一片專門用作圖像壓縮,另一片用作圖像解壓縮。SDRAM作為數(shù)據(jù)緩存;EEPROM用來存儲ADV212的固件和固件參數(shù)。
圖3 MicroBlaze基本總線結(jié)構(gòu)圖Fig.3 Structure diagram of MicroBlaze basic bus
圖4 圖像壓縮解壓縮系統(tǒng)框圖Fig.4 System block diagram of image compression and decompression
USB用作系統(tǒng)與外部數(shù)據(jù)交換。ADV212專門負(fù)責(zé)編碼(解碼)FPGA遞交的圖像數(shù)據(jù)(壓縮數(shù)據(jù))。本系統(tǒng)中圖像數(shù)據(jù)(壓縮數(shù)據(jù))經(jīng)USB讀入并經(jīng)FPGA緩沖后,交給ADV212進(jìn)行編碼(解碼),編碼(解碼)后的碼流數(shù)據(jù)(圖像數(shù)據(jù))經(jīng)FPGA緩沖后從USB端口輸出。整個過程由FPGA來進(jìn)行控制,不同質(zhì)量圖像的壓縮設(shè)置通過軟件程序修改ADV212內(nèi)部的寄存器來實現(xiàn)。
1.2.1 A DV212的原理
圖5是ADV212芯片功能框圖。
圖5 ADV212芯片功能框圖Fig.5 Block diagram of ADV212 processor
ADV212[4]有兩種工作模式,一種是壓縮模式,另一種是解壓縮模式。一個典型的編碼應(yīng)用,在壓縮模式下,首先對從像素接口輸入待壓縮的視頻或靜態(tài)圖像進(jìn)行去交錯處理。然后將去交錯后的數(shù)據(jù)送到小波變換引擎中。通過(5,3)或者(9,7)濾波器處理圖像塊將其分解成小波子帶,小波變換處理器將小波系數(shù)存入內(nèi)部存儲器。每個子頻帶然后再被進(jìn)一步分割成獨立的碼塊,碼塊的大小可以由用戶自己定義。然后在熵編碼器中對每一個完整的碼塊進(jìn)行熵編碼。隨后內(nèi)部DMA將圖像數(shù)據(jù)在熵編碼器中被編碼為符合JPEG2000標(biāo)準(zhǔn)的數(shù)據(jù)通過高速總線傳輸?shù)綄iT用于存儲編碼數(shù)據(jù)的編碼FIFO。壓縮數(shù)據(jù)流最終通過HDATA總線輸出。
解壓縮模式是壓縮模式的一個逆向操作。存儲器之間的高帶寬傳輸以及各模塊和存儲器之間的高性能傳輸通過內(nèi)部DMA引擎實現(xiàn)。對內(nèi)部寄存器的配置,控制和狀態(tài)傳遞以及壓縮數(shù)據(jù)流的傳輸都可以通過主機(jī)接口提供的16/32位的控制總線和8/16/32位的數(shù)據(jù)傳輸總線來實現(xiàn)。
1.2.2 A DV212工作模式
ADV212有多種工作模式,本設(shè)計選取的模式不用VDATA專用視頻接口,其視頻和靜態(tài)圖像數(shù)據(jù)的輸入和輸出可通過HDATA總線實現(xiàn),稱之為HIPI模式或者主機(jī)模式。
圖6是HIPI的壓縮配置圖示。
圖7是HIPI的解壓縮配置圖示。
在HIPI壓縮模式下,用DREQ0/DACK0來控制讀寫過程的DMA通道0將由HDATA1[31:0]輸入的像素數(shù)據(jù)存入像素FIFO中,壓縮數(shù)據(jù)通過由DREQ1/DACK1控制讀寫過程的DMA通道1被送出。采用相同讀寫控制協(xié)議的DMA在解壓縮模式時像素數(shù)據(jù)的輸出由通道0實現(xiàn);壓縮數(shù)據(jù)的輸入由通道1實現(xiàn)。
圖6 ADV212的HIPI壓縮模式Fig.6 ADV212 in HIPI mode-encode
圖8給出了系統(tǒng)壓縮與解壓縮軟件設(shè)計過程的流程圖。整個系統(tǒng)的設(shè)計采用基于MicroBlaze軟核處理器的嵌入式設(shè)計。使用的開發(fā)平臺是XPS,XPS軟件是完備的Xilinx嵌入式系統(tǒng)開發(fā)工具。
圖7 ADV212的HIPI解壓縮模式Fig.7 ADV212 in HIPI mode-decode
圖中標(biāo)簽下所顯示的就是本系統(tǒng)的軟件程序資源。
哈達(dá)瑪變換成像光譜儀[5]是一種色散型成像光譜儀。哈達(dá)碼變換成像光譜儀是模板調(diào)制光學(xué)多通道技術(shù)與常規(guī)光譜儀相結(jié)合的產(chǎn)物。哈達(dá)瑪變換成像光譜儀用按哈達(dá)瑪矩陣循環(huán)碼刻制的多條縫模版來取代常規(guī)的單狹縫出射模版。常規(guī)的色散型光譜儀由于有狹縫的限制,一次只能測量一個通道,哈達(dá)碼變換成像光譜儀是用哈達(dá)碼模板取代了狹縫,具有高通量和多通道的雙重顯著優(yōu)點。
哈達(dá)碼成像光譜儀的空間光調(diào)制器件此處采用數(shù)字微鏡器件(Digital Micro-Mirror Device,DMD)[6]。DMD具有極高的填充率、轉(zhuǎn)換速率和穩(wěn)定的角度控制,關(guān)斷情況下不產(chǎn)生反射光,使之成為哈達(dá)碼成像光譜儀首選的空間光調(diào)制器件。DMD控制算法選用哈達(dá)碼變換,具有高能量輸入、多通道同時成像能力以及高信噪比等優(yōu)點
利用本系統(tǒng)對選用一塊印有水果的布作為目標(biāo),并用鎢燈照射目標(biāo)物增加其亮度采集到的圖10中的七階哈達(dá)瑪編碼圖像進(jìn)行壓縮與解壓縮處理。
利用本設(shè)計的圖像壓縮與解壓縮系統(tǒng)對圖10中7幅編碼圖像(圖像格式是256×512×8)進(jìn)行9/7有損小波變換的壓縮與解壓縮處理(壓縮比是8∶1),計算出解壓縮出來的圖像與原圖像的均方誤差(MSE)和峰值信噪比(PSNR)如表1所示。
MSE和PSNR的計算公式如下:
圖8 系統(tǒng)壓縮解壓縮軟件設(shè)計流程圖Fig.8 Flow chart of system compression and decompression
圖9 系統(tǒng)設(shè)計的XPS界面Fig.9 XPS interface of system design
表1 PSNR和MSETab.1 PSNR and MSE
其中,圖像的長度和寬度用M,N表示,原始數(shù)據(jù)源和重構(gòu)數(shù)據(jù)源在位置(i,j)的灰度值由X(i,j)和Y(i,j)分別表示。
原始數(shù)據(jù)源的最大灰度值由MAXx表示。8-bit量化的MAXx是255;12-bit量化的MAXx為4 095。此處的哈達(dá)瑪編碼圖像,M=288,N=610,圖像采用8-bit量化。
采用9/7有損小波變換對7幅編碼圖像進(jìn)行8∶1壓縮,然后對其解壓縮還原出原始圖像。原圖像和采用9/7有損小波變換壓縮后解壓縮出來的7幅編碼圖像如圖11所示。
圖11 7幅編碼圖像和解壓縮圖像Fig.11 The images after 7-order Hadamard encoded and the decompressed ones
圖11中的圖(a),(b),(c),(d),(e),(f)和(g)是原圖像,圖(h),(i),(j),(k),(l),(m)和(n)依次是對(a),(b),(c),(d),(e),(f)和(g)進(jìn)行9/7有損小波變換壓縮后解壓縮出來的圖像。從人眼主觀來看解壓出來的圖像和原圖像是沒有分別的。
用本壓縮與解壓縮系統(tǒng)(硬件)對哈達(dá)碼成像光譜儀得到的7幅編碼圖像進(jìn)行了10次9/7有損小波變換壓縮與解壓縮,計算出的峰值信噪比和均方誤差的結(jié)果是一樣的;證明硬件系統(tǒng)是穩(wěn)定的。由于軟件的JPEG2000算法是不變的,所以做10次壓縮與解壓縮計算出的峰值信噪比和均方誤差是一樣的。表2是用硬件和已成熟的JPEG2000壓縮的軟件Kakadu分別進(jìn)行10次9/7有損小波變換壓縮與解壓縮處理后計算出解壓縮的圖像和原圖像的峰值信噪比和均方誤差的平均值。表2中PSNR和MSE是硬件壓縮解壓縮計算出來的峰值信噪比和均方誤差,PSNR’和MSE’是軟件Kakadu壓縮解壓縮計算出來的峰值信噪比和均方誤差。從表2可看出兩者的峰值信噪比之差在0.015 8~0.127 2之間,均方誤差之差在0.008 1~0.064 8之間,這一結(jié)果符合設(shè)計的要求。
表2 硬件和軟件PSNR及MSE對比Tab.2 The comparison of PSNR and MSE between software and hardware implementation
圖11和表2分別從主觀和客觀上證明本設(shè)計的結(jié)果是符合設(shè)計要求。
成像光譜儀的海量光譜數(shù)據(jù)的壓縮技術(shù)已經(jīng)成為傳輸和存儲過程中一個急需解決的問題。從圖像壓縮的基礎(chǔ)知識可知圖像中存在的各種冗余是實現(xiàn)圖像壓縮的基礎(chǔ)。圖像壓縮標(biāo)準(zhǔn)采用JPEG2000,選取AD公司的JPEG2000專用圖像壓縮芯片ADV212,設(shè)計了一種FPGA搭載ADV212的硬件系統(tǒng)來實現(xiàn)光譜數(shù)據(jù)的壓縮。并在基于DMD的哈達(dá)瑪變換成像光譜儀上進(jìn)行了驗證,且將其壓縮效果與軟件Kakadu壓縮效果進(jìn)行了對比。其壓縮性能的參數(shù)(PSNR,MSE)差異在應(yīng)用允許的范圍內(nèi),且硬件壓縮大大提高了系統(tǒng)的速度。
[1]張兵.時空信息輔助下的高光譜數(shù)據(jù)挖掘[D].北京:中國科學(xué)院遙感應(yīng)用研究所,2002.
[2]王成剛.基于JPEG2000的圖像處理系統(tǒng)設(shè)計及實現(xiàn)[D].成都:電子科技大學(xué),2006.
[3]XILINX.Logicore IP on-chip peripheral bus v2.0 with opb arbiter(v1.00d)[EB/OL](2010-04-19)[2011-05-24].http://wenku.baidu.com/view/f3fa5ed5b9f3f90f76c61bff.html
[4]HU Hong-ping,ZHAO Zhong-yuan.A real-time high resolution image compression system based on ADV212[C]//2009.CISP'09.2nd International Congress on Image and signal Processing,2009:1-4.
[5]唐宏武,周錦松,李濤,等.阿達(dá)瑪變換光譜和成像技術(shù)的應(yīng)用和研究進(jìn)展[J].分析化學(xué),2005(3):417-422.
TANG Hong-wu,ZHOU Jin-song,LI Tao,et al.The application and advances of hadamard transform spectroscopy and imaging[J].Chinese Journal of Analytical Chemistry,2005(3):417-422.
[6]郭歡慶,王肇圻,王金城,等.數(shù)字合成全息系統(tǒng)中空間光調(diào)制器DMD的研究[J].光電子·激光,2004,15(1):9-12.
GUO Huan-qing,WANG Zhao-qi,WANG Jin-cheng,et al.Research of the DMD in a digital synthetic holography system[J].Jurnal of Optoelectronics Lasers,2004,15(1):9-12.