《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 獨立式多分辨率VGA/DVI壓縮存儲系統(tǒng)
獨立式多分辨率VGA/DVI壓縮存儲系統(tǒng)
來源:電子技術(shù)應(yīng)用2011年第3期
唐艷發(fā)1,梁春鋒2,孫紅亮1,吳 彪2,張 利2
1.清華大學(xué) 微電子所,北京100084; 2.清華大學(xué) 電子工程系,北京100084
摘要: 一種獨立式多分辨率VGA/DVI壓縮存儲系統(tǒng),該系統(tǒng)支持VGA/DVI輸入,同時支持SVGA、XGA、SXGA、UXGA、1080p等任意分辨率圖像的連續(xù)壓縮和存儲。在100 MHz時鐘頻率下,系統(tǒng)可以對圖像SXGA和UXGA實時壓縮為(25幀/s)和(17幀/s)。實驗表明,在不同碼率下,系統(tǒng)的單幀圖像壓縮性能與JPEG2000標(biāo)準(zhǔn)近似,PSNR值優(yōu)于JPEG標(biāo)準(zhǔn)。
中圖分類號: TN409;TP302
文獻標(biāo)識碼: B
文章編號: 0258-7998(2011)03-0029-03
Independent multi-resolution VGA/DVI compression and storage system
Tang Yanfa1,Liang Chunfeng2,Sun Hongliang1,Wu Biao2,Zhang Li2
1.Institute of Microelectronics, Tsinghua University, Beijing 100084,China; 2.Department of Electronic Engineering, Tsinghua University, Beijing 100084,China
Abstract: This paper introduces an independent multi-resolution VGA/DVI image compression and storage system. This system can receive graphics signal from both DVI and VGA interface, support multi-resolution compression including SVGA,XGA,SXGA,UXGA and 1080p, and can implement compression and storage continuously. When the system works at 100 MHz, the compression frame rate of the system can achieve 25 and 17 frames/s to SXGA and UXGA respectively. The experimental result shows that this system has similar performance compared with JEPG2000 standard and the PSNR is better than JPEG standard at different bit rates.
Key words : wavelet transforming;multi-resolution;FPGA;image compression


    隨著計算機應(yīng)用的快速普及,視頻圖像的壓縮存儲在信息記錄和安防監(jiān)控等領(lǐng)域起著重要作用。但是,目前市場上的多數(shù)圖像壓縮系統(tǒng)很難支持多種分辨率或者高分辨率圖像的實時壓縮,如ADV212[1]難以滿足UXGA(1 600×1 200)或更高分辨率1080p等的應(yīng)用場合。此外,市場上也存在一些基于DSP的解決方案,它們多采用FPGA+DSP架構(gòu)對圖像進行壓縮。此類系統(tǒng)的最大缺點在于DSP的數(shù)據(jù)接口不夠靈活,加上DSP的并行度不高,因此大大限制了其在高分辨率圖像壓縮方面的應(yīng)用。所以,研究一套支持多種分辨率以及高分辨率的視頻圖像壓縮和存儲系統(tǒng)具有重要的現(xiàn)實意義。
    基于上述需求,開發(fā)了一套基于雙FPGA+ARM架構(gòu)的獨立式多分辨率VGA/GVI壓縮和存儲系統(tǒng)。該系統(tǒng)支持DVI/VGA接口輸入,并支持SVGA、XGA、SXGA、UXGA、1080p等任意分辨率的圖像壓縮和存儲,同時能做到音視頻同步。另外,該系統(tǒng)采用了雙FPGA+ARM架構(gòu),提高了系統(tǒng)的靈活性及平臺可升級性,拓寬了其應(yīng)用場合。
    本文主要介紹獨立式多分辨率VGA/DVI圖像壓縮存儲系統(tǒng)的核心架構(gòu),并給出系統(tǒng)的性能。
1 系統(tǒng)架構(gòu)與實現(xiàn)
    該系統(tǒng)的整體架構(gòu)如圖1所示。系統(tǒng)采用了雙FPGA+ARM的架構(gòu),主要包括四部分:圖像前端接口電路、預(yù)處理模塊、圖像壓縮模塊和管理模塊。它同時支持VGA和DVI圖像源輸入,圖像源的緩存或部分運算的中間結(jié)果通過Flash和外部存儲器實現(xiàn)。這里主要介紹該系統(tǒng)中涉及到前端預(yù)處理模塊和圖像壓縮核心模塊。

    圖1中左面一片F(xiàn)PGA主要完成前端預(yù)處理,如分辨率檢測、色彩轉(zhuǎn)換和圖像分析等功能;右面一片F(xiàn)PGA主要用來實現(xiàn)圖像實時壓縮;ARM對系統(tǒng)進行管理,如壓縮后碼流管理、網(wǎng)絡(luò)管理和音頻錄制等。
1.1 前端預(yù)處理模塊
    前端接口電路采用AD9888作為前端的視頻模數(shù)轉(zhuǎn)換器,TI公司推出的TFP403作為DVI接收芯片。前端預(yù)處理模塊采用Xilinx公司的Virtex4[2]系列的FPGA(XC4VLX40) ,它主要完成的功能是分辨率的檢測和色彩空間轉(zhuǎn)換等,如圖2所示。

1.1.1 分辨率檢測
    對于標(biāo)準(zhǔn)的VGA接口,不同分辨率下其HSYNC與VSYNC時序不同,系統(tǒng)設(shè)計時用一個單獨的模塊來檢測輸入端的分辨率。該模塊可以通過檢測兩個相鄰VSYNC上升沿間的HSYNC數(shù)目來識別VGA信號的分辨率,然后將檢測到的分辨率參數(shù)送給后端的圖像壓縮模塊,讓系統(tǒng)根據(jù)對應(yīng)參數(shù)來配置圖像采集和圖像壓縮。
1.1.2 色彩轉(zhuǎn)換
    標(biāo)準(zhǔn)的VGA接口輸出為RGB信號,在進行壓縮之前,先對圖像進行色彩空間轉(zhuǎn)換,將RGB信號轉(zhuǎn)換為YUV信號。色彩空間轉(zhuǎn)換公式為:
   
    系統(tǒng)實現(xiàn)時采用4:2:2采樣模式,F(xiàn)PGA采用定點化處理后,將得到的Y 和UV分量送給后端的編碼模塊進行編碼。
1.2 圖像壓縮部分
    在系統(tǒng)設(shè)計時,考慮到不同分辨率的圖像壓縮和后續(xù)功能擴展,需要采用硬件資源豐富的FPGA,后端模塊采用Xilinx公司的Virtex4系列的FPGA(XC4VLX100)。圖像壓縮的核心架構(gòu)如圖3所示,它主要涉及圖像緩存、圖像壓縮和碼流緩存三部分。

1.2.1 圖像緩存模塊
    為了提高系統(tǒng)的處理速度和數(shù)據(jù)吞吐效率,圖像采集模塊中采用圖4所示的“乒乓操作”緩存圖像,即把一幀圖像的Y和UV分量緩存到片外的SDRAM1中,同時,系統(tǒng)會從SDRAM2讀取另一幀已經(jīng)緩存的圖像到后端的圖像壓縮模塊。這樣圖像緩存和壓縮可以并行處理,提高系統(tǒng)的壓縮效率。
    系統(tǒng)設(shè)計時采用Micron公司16 MB的SDRAM[3],它包含了4個bank。其中,bank0與bank1用來緩存Y分量,bank2與bank3用來緩存UV分量,為了提高讀寫SDRAM的效率,采用burst讀寫數(shù)據(jù)方式,可以減少仲裁操作。
1.2.2 圖像并行壓縮模塊
    在系統(tǒng)算法設(shè)計時,圖像變換采用了基于離散小波變換的空間推舉算法(SCLA[4]),相對常見的離散小波變換(DWT),SCLA算法的行與列變換同時進行,乘法次數(shù)最少,且重建圖像的PSNR值更高。編碼算法采用改進的無鏈表零樹編碼算法(SLC),它融合了多層次零樹編碼算法(SPIHT[5])和無鏈表零樹編碼(LZC[6])的思想,在性能上逼近SPIHT,但更易于硬件實現(xiàn)。
    系統(tǒng)在實現(xiàn)架構(gòu)上采用了圖3所示的雙通道并行壓縮架構(gòu),即Y和UV分量的小波變換和編碼并行進行,極大地提高了系統(tǒng)的并行度和壓縮效率。兼顧數(shù)據(jù)讀取效率和內(nèi)存考慮,本系統(tǒng)設(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ù)時仍然采用burst方式。SLC算法以一棵小波樹為基本單元,且壓縮比可自由控制,完成一幀圖像所有小波樹的編碼。
1.2.3 碼流緩存模塊
    圖3中Y通道和UV通道編碼后的碼流,需要合理的碼流管理機制。在此,為了提高系統(tǒng)的吞吐效率,壓縮后的碼流緩存也采用2片SDRAM進行“乒乓操作”,即向SDRAM5寫一幀碼流時,從SDRAM6中讀取前一幀壓縮后的碼流;同理,向SDRAM6寫一幀碼流時,同時從SDRAM5中讀取前一幀緩存的碼流,原理與圖4類似。

2 實驗結(jié)果與性能
    該系統(tǒng)的電路板采用10層板制作工藝,電路板大小30.8 cm×16.7 cm。測試結(jié)果表明,當(dāng)系統(tǒng)工作頻率為100 MHz時,可以對分辨率1 280×1 024的圖像進行實時壓縮(約25幀/s) ,對分辨率1 600×1 200的圖像壓縮速率為17幀/s,同時也支持其他更高分辨率的壓縮。
    本系統(tǒng)對分辨率為1 600×1 200的計算機屏幕的PPT文檔界面操作過程進行了測試,實驗結(jié)果表明其壓縮比約為25倍,重建PSNR值約為38 dB,
    近年來, 視頻圖像的壓縮和存儲在信息處理和安防監(jiān)控等領(lǐng)域起著重要作用。鑒于市場上大多數(shù)圖像壓縮系統(tǒng)很難支持多種分辨率和高分辨率的實時壓縮,本文設(shè)計了一款雙FPGA+ARM架構(gòu)的獨立式多分辨率VGA/DVI圖像壓縮存儲系統(tǒng)。該系統(tǒng)能接收VGA/DVI接口輸入,支持SVGA、XGA、SXGA、UXGA、1080p等任意分辨率的連續(xù)壓縮和存儲,并能實現(xiàn)音視頻同步。在正常工作頻率100 MHz時,可以對SXGA(1 280×1 024)的圖像進行實時壓縮(25幀/s),對UXGA(1 600×1 200)的圖像壓縮為17幀/s,且圖像重建后的PSNR值要優(yōu)于JPEG標(biāo)準(zhǔn),壓縮性能與JPEG2000標(biāo)準(zhǔn)近似。另外,該系統(tǒng)設(shè)計時采用雙FPGA+ARM架構(gòu),提高了系統(tǒng)的靈活性和平臺可升級性,具有廣闊的應(yīng)用前景。
參考文獻
[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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。