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