文獻標識碼: A
文章編號: 0258-7998(2011)12-0044-03
目前有很多常用的壓縮算法,其中JPEG2000圖像壓縮標準可以在獲得高壓縮比的同時確保高圖像質(zhì)量,另外還具有非常好的抗誤碼性能,在大面陣CCD相機圖像壓縮領(lǐng)域得到了廣泛的應(yīng)用。JPEG2000壓縮的實現(xiàn)方法有多種,通常采用專用DSP芯片和FPGA芯片編程實現(xiàn)[1-3],兩者分別利用各自的優(yōu)點完成不同的功能。其中,專用DSP主要完成DWT變換等高速整型和浮點型運算功能,F(xiàn)PGA主要完成EBCOT等高效并行編碼算法功能[4-5],但這種實現(xiàn)方法JPEG2000需要處理的數(shù)據(jù)量比較大,還需要外擴SRAM等大容量數(shù)據(jù)存儲器,從而使系統(tǒng)的集成度降低,而且其實時性受編程方法所制約。同時,目前大面陣CCD相機的成像和圖像壓縮存儲是兩個獨立的部分,中間連接包括復(fù)雜的接口和繁重的線纜,增加了相機的復(fù)雜度和重量。
本文提出了一種基于FPGA嵌入式處理器MicroBlaze和ADV212壓縮芯片相結(jié)合的高速、實時圖像壓縮系統(tǒng)[6-7],系統(tǒng)中圖像采集和圖像壓縮等功能均由同一個核心處理器FPGA來完成,使系統(tǒng)的處理速度和集成度都有所提高。
1 大面陣CCD相機高速圖像壓縮系統(tǒng)組成
本系統(tǒng)以Analog公司生產(chǎn)的AD212作為圖像壓縮芯片,采用內(nèi)有嵌入式處理器的高性能FPGA作為核心處理器,完成大面陣CCD模擬信號處理、視頻信號采集、圖像數(shù)據(jù)緩存、ADV212初始化、固件程序和參數(shù)注入、數(shù)字圖像傳輸?shù)裙δ???紤]到衛(wèi)星平臺對系統(tǒng)穩(wěn)定性的要求,系統(tǒng)應(yīng)用FPGA和專用圖像壓縮集成芯片ADV212的高速、實時圖像壓縮方案,將壓縮后數(shù)據(jù)流送給圖像采集卡,由上位機對圖像壓縮性能進行分析。該方法實時性強,硬件接口電路設(shè)計簡單[8-10],其系統(tǒng)組成框圖如圖1所示。
2 FPGA嵌入式處理器設(shè)計
Microblaze是Xilinx公司推出的32 bit軟處理器核,支持CoreConnect總線的標準外設(shè)集合,具有兼容性和重復(fù)利用性。Microblaze在VirtexⅡPro FPGA中的工作頻率可達到200 MHz,處理速度超過166 MIPS,是用途廣泛的CPU軟核。作為完整的CPU軟核,Microblaze允許用戶根據(jù)需要進行配置。了解Microblaze結(jié)構(gòu)不但有助于用戶了解配置,還可以輔助分析Microblaze應(yīng)用軟件的效率。
FPGA片外晶振為50 MHz,Microblaze軟核主頻為100 MHz,使用片外低復(fù)位,支持硬件調(diào)試方式,并使用16 KB片內(nèi)BlockRAM作為CPU核的數(shù)據(jù)和指令暫存,同時還包括看門狗和定時器等基本外設(shè)。添加完硬件后,系統(tǒng)自動生成每個硬件模塊的地址范圍,如圖2所示。
dlmb_cntlr和ilmb_cntlr作為CPU核的數(shù)據(jù)和指令暫存,分配16 KB空間。Opb_central_dma_0作為讀取ADV212壓縮數(shù)據(jù)流的DMA控制器,Generic_External_Memory_1和Generic_External_Memory作為訪問SDRAM控制器的尋址空間。由于SDRAM控制器的SYS_ADDR共25 bit地址,所以這里分配32 MB尋址空間。其他還包括定時器、WDT、調(diào)試空間等。
3 壓縮處理器設(shè)計
JPG2000算法的硬件實現(xiàn)方法有多種,其中Analog Devices公司的ADV212系列性能比較高,實際應(yīng)用廣泛。ADV212完全符合ISO/IEC15444-1標準,內(nèi)部集成了專用小波變換單元、3個熵編碼器、RISC處理器以及多種存儲器,內(nèi)部功能框圖如圖3所示。
通常情況下,采集的原始圖像數(shù)據(jù)通過VDATA總線輸入,像素接口根據(jù)幀同步信號VSYNC、行同步信號HSYNC和場同步信號FIELD接收數(shù)據(jù),并傳送給小波變換模塊,經(jīng)小波變換后的小波系數(shù)被存儲到內(nèi)部存儲器中。從內(nèi)部存儲器讀出的小波系數(shù)被送進3個熵編碼器進行并行處理,處理過程包括量化、率失真控制、上下文編碼和碼流組織等,并將最后的碼流送回內(nèi)部存儲器。編碼后的JPEG2000碼流通過高速數(shù)據(jù)總線送給編碼FIFO,編碼FIFO 用來解決內(nèi)部高速總線和低速主機接口之間的沖突。最后的JPEG2000碼流通過HDATA總線結(jié)合DREQ和DACK輸出。
4 實驗及結(jié)果分析
本文在不同的壓縮碼流速率條件下,對大面陣CCD圖像進行實時壓縮,調(diào)試過程中,先將壓縮后的數(shù)據(jù)流傳送到上位機,由上位機專用解壓縮軟件進行解壓,查看測試圖像和文件格式是否正確。如果正確,則說明圖像壓縮過程正常,可進一步把壓縮后的數(shù)據(jù)流交由解壓縮部分進行解壓。由于圖像很大,所以解壓縮后截取圖中的左上象限進行顯示。在壓縮比特率為1.5 bit/pixel、0.6 bit/pixel、0.3 bit/pixel和0.15 bit/pixel等幾種情況下進行圖像壓縮,圖4和圖5分別為壓縮比特率為1.5 bit/pixel和0.15 bit/pixel時的壓縮結(jié)果。其中,壓縮比特率為0.15 bit/pixel時,壓縮比近似53:1,此時圖像已經(jīng)模糊。
圖像壓縮性能通常用峰值信噪比PSNR來表示,好的重建圖像PSNR值一般為30 dB以上。本文分別對幾種不同壓縮比特率下得到的壓縮圖像進行了PSNR計算,結(jié)果如表1所示。從表1可以看出,即使在壓縮比特率為0.15(壓縮比接近53:1)的情況下得到圖像的PSNR值也達到了36 dB,可見此圖像壓縮方案的壓縮性能非常好[11-12]。
本文提出了一種基于FPGA嵌入式處理器MicroBlaze和ADV212壓縮芯片相結(jié)合的高速、實時圖像壓縮方案。結(jié)合大面陣CCD輸出的圖像數(shù)據(jù),詳細闡述了ADV212的工作流程、固件程序和參數(shù)注入以及視頻處理等功能,并介紹了FPGA內(nèi)部嵌入式處理器MicroBlaze的開發(fā)過程。實驗表明,當壓縮比為53:1時,重建圖像的PSNR值可以達到36 dB。此方案不僅提高了處理速度而且增加了系統(tǒng)的集成度,為今后大面陣CCD圖像的高速、實時壓縮提供了更好的解決方案。
參考文獻
[1] 商小川,周輝,張星祥,等.基于FPGA的大面陣CCD高幀頻驅(qū)動電路設(shè)計[J].液晶與顯示,2009,24(5):735-739.
[2] 齊春東,陳亮,曾濤.多通道CCD圖像數(shù)據(jù)實時記錄系統(tǒng)[J].光電工程,2009,36(12):147-150.
[3] 蘇宛新,程靈燕,程飛燕.基于DSP+FPGA的實時視頻信號處理系統(tǒng)設(shè)計[J].液晶與顯示,2010,25(1):145-148.
[4] 張學(xué)全,顧曉東,孫輝先.CCSDS星載圖像壓縮模塊的FPGA設(shè)計與實現(xiàn)[J].半導(dǎo)體光電,30(6):935-939.
[5] 武文波,王琨,陳大羽,等.CCSDS在遙感圖像壓縮中的應(yīng)用研究[J].航天返回與遙感,2010,31(2):46-50.
[6] 鄭成林,龔俊斌,劉福學(xué),等.基于ADV202的無人機序列圖像壓縮系統(tǒng)設(shè)計[J].計算機與數(shù)字工程,2010,38(11):136-141.
[7] 劉永征,劉學(xué)斌,胡炳梁,等.基于ADV212的JPEG2000靜態(tài)圖像壓縮系統(tǒng)設(shè)計[J].電子器件,2009,32(3):504-508.
[8] 孫紅進.FPGA實現(xiàn)的視頻圖像縮放顯示[J].液晶與顯示,2010,25(1):130-133.
[9] 張達,徐抒巖.高速多通道CCD信號并行處理系統(tǒng)[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2008,26(3):281-286.
[10] 王明富,楊世洪,吳欽章.大面陣CCD圖像實時顯示系統(tǒng)的設(shè)計[J].光學(xué)精密工程,2010,18(9):2053-2059.
[11] 蘇令華,李綱,衣同勝.一種穩(wěn)健的高光譜圖像壓縮方法[J].光學(xué)精密工程,2007,15(10):1609-1615.
[12] 趙峰,袁東風(fēng),張海霞.多DSP圖像壓縮實時并行處理系統(tǒng)[J].光學(xué)精密工程,2007,15(9):1451-1455.