文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2011)03-0029-03
隨著計(jì)算機(jī)應(yīng)用的快速普及,視頻圖像的壓縮存儲(chǔ)在信息記錄和安防監(jiān)控等領(lǐng)域起著重要作用,。但是,,目前市場(chǎng)上的多數(shù)圖像壓縮系統(tǒng)很難支持多種分辨率或者高分辨率圖像的實(shí)時(shí)壓縮,如ADV212[1]難以滿足UXGA(1 600×1 200)或更高分辨率1080p等的應(yīng)用場(chǎng)合,。此外,,市場(chǎng)上也存在一些基于DSP的解決方案,,它們多采用FPGA+DSP架構(gòu)對(duì)圖像進(jìn)行壓縮。此類系統(tǒng)的最大缺點(diǎn)在于DSP的數(shù)據(jù)接口不夠靈活,,加上DSP的并行度不高,,因此大大限制了其在高分辨率圖像壓縮方面的應(yīng)用,。所以,,研究一套支持多種分辨率以及高分辨率的視頻圖像壓縮和存儲(chǔ)系統(tǒng)具有重要的現(xiàn)實(shí)意義。
基于上述需求,,開發(fā)了一套基于雙FPGA+ARM架構(gòu)的獨(dú)立式多分辨率VGA/GVI壓縮和存儲(chǔ)系統(tǒng),。該系統(tǒng)支持DVI/VGA接口輸入,并支持SVGA,、XGA,、SXGA、UXGA,、1080p等任意分辨率的圖像壓縮和存儲(chǔ),,同時(shí)能做到音視頻同步。另外,,該系統(tǒng)采用了雙FPGA+ARM架構(gòu),,提高了系統(tǒng)的靈活性及平臺(tái)可升級(jí)性,拓寬了其應(yīng)用場(chǎng)合,。
本文主要介紹獨(dú)立式多分辨率VGA/DVI圖像壓縮存儲(chǔ)系統(tǒng)的核心架構(gòu),,并給出系統(tǒng)的性能。
1 系統(tǒng)架構(gòu)與實(shí)現(xiàn)
該系統(tǒng)的整體架構(gòu)如圖1所示,。系統(tǒng)采用了雙FPGA+ARM的架構(gòu),,主要包括四部分:圖像前端接口電路、預(yù)處理模塊,、圖像壓縮模塊和管理模塊,。它同時(shí)支持VGA和DVI圖像源輸入,圖像源的緩存或部分運(yùn)算的中間結(jié)果通過Flash和外部存儲(chǔ)器實(shí)現(xiàn),。這里主要介紹該系統(tǒng)中涉及到前端預(yù)處理模塊和圖像壓縮核心模塊,。
圖1中左面一片F(xiàn)PGA主要完成前端預(yù)處理,如分辨率檢測(cè),、色彩轉(zhuǎn)換和圖像分析等功能,;右面一片F(xiàn)PGA主要用來實(shí)現(xiàn)圖像實(shí)時(shí)壓縮;ARM對(duì)系統(tǒng)進(jìn)行管理,,如壓縮后碼流管理,、網(wǎng)絡(luò)管理和音頻錄制等。
1.1 前端預(yù)處理模塊
前端接口電路采用AD9888作為前端的視頻模數(shù)轉(zhuǎn)換器,,TI公司推出的TFP403作為DVI接收芯片,。前端預(yù)處理模塊采用Xilinx公司的Virtex4[2]系列的FPGA(XC4VLX40) ,,它主要完成的功能是分辨率的檢測(cè)和色彩空間轉(zhuǎn)換等,如圖2所示,。
1.1.1 分辨率檢測(cè)
對(duì)于標(biāo)準(zhǔn)的VGA接口,,不同分辨率下其HSYNC與VSYNC時(shí)序不同,系統(tǒng)設(shè)計(jì)時(shí)用一個(gè)單獨(dú)的模塊來檢測(cè)輸入端的分辨率,。該模塊可以通過檢測(cè)兩個(gè)相鄰VSYNC上升沿間的HSYNC數(shù)目來識(shí)別VGA信號(hào)的分辨率,,然后將檢測(cè)到的分辨率參數(shù)送給后端的圖像壓縮模塊,讓系統(tǒng)根據(jù)對(duì)應(yīng)參數(shù)來配置圖像采集和圖像壓縮,。
1.1.2 色彩轉(zhuǎn)換
標(biāo)準(zhǔn)的VGA接口輸出為RGB信號(hào),,在進(jìn)行壓縮之前,先對(duì)圖像進(jìn)行色彩空間轉(zhuǎn)換,,將RGB信號(hào)轉(zhuǎn)換為YUV信號(hào),。色彩空間轉(zhuǎn)換公式為:
系統(tǒng)實(shí)現(xiàn)時(shí)采用4:2:2采樣模式,F(xiàn)PGA采用定點(diǎn)化處理后,,將得到的Y 和UV分量送給后端的編碼模塊進(jìn)行編碼,。
1.2 圖像壓縮部分
在系統(tǒng)設(shè)計(jì)時(shí),考慮到不同分辨率的圖像壓縮和后續(xù)功能擴(kuò)展,,需要采用硬件資源豐富的FPGA,,后端模塊采用Xilinx公司的Virtex4系列的FPGA(XC4VLX100)。圖像壓縮的核心架構(gòu)如圖3所示,,它主要涉及圖像緩存,、圖像壓縮和碼流緩存三部分。
1.2.1 圖像緩存模塊
為了提高系統(tǒng)的處理速度和數(shù)據(jù)吞吐效率,,圖像采集模塊中采用圖4所示的“乒乓操作”緩存圖像,,即把一幀圖像的Y和UV分量緩存到片外的SDRAM1中,同時(shí),,系統(tǒng)會(huì)從SDRAM2讀取另一幀已經(jīng)緩存的圖像到后端的圖像壓縮模塊,。這樣圖像緩存和壓縮可以并行處理,提高系統(tǒng)的壓縮效率,。
系統(tǒng)設(shè)計(jì)時(shí)采用Micron公司16 MB的SDRAM[3],,它包含了4個(gè)bank。其中,,bank0與bank1用來緩存Y分量,,bank2與bank3用來緩存UV分量,為了提高讀寫SDRAM的效率,,采用burst讀寫數(shù)據(jù)方式,,可以減少仲裁操作。
1.2.2 圖像并行壓縮模塊
在系統(tǒng)算法設(shè)計(jì)時(shí),圖像變換采用了基于離散小波變換的空間推舉算法(SCLA[4]),,相對(duì)常見的離散小波變換(DWT),,SCLA算法的行與列變換同時(shí)進(jìn)行,乘法次數(shù)最少,,且重建圖像的PSNR值更高,。編碼算法采用改進(jìn)的無鏈表零樹編碼算法(SLC),它融合了多層次零樹編碼算法(SPIHT[5])和無鏈表零樹編碼(LZC[6])的思想,,在性能上逼近SPIHT,,但更易于硬件實(shí)現(xiàn)。
系統(tǒng)在實(shí)現(xiàn)架構(gòu)上采用了圖3所示的雙通道并行壓縮架構(gòu),,即Y和UV分量的小波變換和編碼并行進(jìn)行,,極大地提高了系統(tǒng)的并行度和壓縮效率。兼顧數(shù)據(jù)讀取效率和內(nèi)存考慮,,本系統(tǒng)設(shè)計(jì)時(shí)采用了片外SDRAM和片內(nèi)SRAM結(jié)合的方法來緩存小波系數(shù),所以小波變換和編碼模塊主要由FPGA和2塊片外SDRAM協(xié)同完成,。SCLA算法采用9/7小波的五層分解,,其中SDRAM3用來緩存Y通道分解過程中產(chǎn)生的部分小波系數(shù),SDRAM4用來緩存UV通道分解過程中產(chǎn)生的部分小波系數(shù),,向SDRAM中讀寫數(shù)據(jù)時(shí)仍然采用burst方式,。SLC算法以一棵小波樹為基本單元,且壓縮比可自由控制,,完成一幀圖像所有小波樹的編碼,。
1.2.3 碼流緩存模塊
圖3中Y通道和UV通道編碼后的碼流,需要合理的碼流管理機(jī)制,。在此,,為了提高系統(tǒng)的吞吐效率,壓縮后的碼流緩存也采用2片SDRAM進(jìn)行“乒乓操作”,,即向SDRAM5寫一幀碼流時(shí),,從SDRAM6中讀取前一幀壓縮后的碼流;同理,,向SDRAM6寫一幀碼流時(shí),,同時(shí)從SDRAM5中讀取前一幀緩存的碼流,原理與圖4類似,。
2 實(shí)驗(yàn)結(jié)果與性能
該系統(tǒng)的電路板采用10層板制作工藝,,電路板大小30.8 cm×16.7 cm。測(cè)試結(jié)果表明,,當(dāng)系統(tǒng)工作頻率為100 MHz時(shí),,可以對(duì)分辨率1 280×1 024的圖像進(jìn)行實(shí)時(shí)壓縮(約25幀/s) ,對(duì)分辨率1 600×1 200的圖像壓縮速率為17幀/s,同時(shí)也支持其他更高分辨率的壓縮,。
本系統(tǒng)對(duì)分辨率為1 600×1 200的計(jì)算機(jī)屏幕的PPT文檔界面操作過程進(jìn)行了測(cè)試,,實(shí)驗(yàn)結(jié)果表明其壓縮比約為25倍,重建PSNR值約為38 dB,,
近年來, 視頻圖像的壓縮和存儲(chǔ)在信息處理和安防監(jiān)控等領(lǐng)域起著重要作用,。鑒于市場(chǎng)上大多數(shù)圖像壓縮系統(tǒng)很難支持多種分辨率和高分辨率的實(shí)時(shí)壓縮,本文設(shè)計(jì)了一款雙FPGA+ARM架構(gòu)的獨(dú)立式多分辨率VGA/DVI圖像壓縮存儲(chǔ)系統(tǒng),。該系統(tǒng)能接收VGA/DVI接口輸入,,支持SVGA、XGA,、SXGA,、UXGA、1080p等任意分辨率的連續(xù)壓縮和存儲(chǔ),,并能實(shí)現(xiàn)音視頻同步,。在正常工作頻率100 MHz時(shí),可以對(duì)SXGA(1 280×1 024)的圖像進(jìn)行實(shí)時(shí)壓縮(25幀/s),,對(duì)UXGA(1 600×1 200)的圖像壓縮為17幀/s,,且圖像重建后的PSNR值要優(yōu)于JPEG標(biāo)準(zhǔn),壓縮性能與JPEG2000標(biāo)準(zhǔn)近似,。另外,,該系統(tǒng)設(shè)計(jì)時(shí)采用雙FPGA+ARM架構(gòu),提高了系統(tǒng)的靈活性和平臺(tái)可升級(jí)性,,具有廣闊的應(yīng)用前景,。
參考文獻(xiàn)
[1] Analog Devices Corporation.JEPG2000 Video Codec ADV212[EB/OL].[2010-02-26].http://www.analog.com/static/imported-files/data_sheets/ADV212.pdf.
[2] Xilinx,Inc.Virtex-4 Family Overview[EB/OL].[2010-02-26].http://www.xilinx.com/support/documentation/data_sheets/ds112.pdf.
[3] Micron Technology,,Inc.Synchronous DRAM[EB/OL].[2009-02-24].http://www.micron.com/search/result?txtSearch=MT48LC4M32B2.
[4] LIU Leibo,,CHEN Ning,MENG Honying.A VLSI architecture of JPEG2000 encoder.IEEE Journal of Solid-State Circuits,,2004,,39(11):2032-2040.
[5] SAID A,PEARLMAN W A.A new fast and efficient image codec based on set partitioning in hierarchical trees.IEEE Trans.CVST,,1996,,6(3):243-250.
[6] LIN Wen kuo,BURGESS N. Listless zerotree coding for color images. Conference Record of the Asilomar Conference on Signals,,Systems & Computers,,1998(1):231-235.