基于FPGA+ARM的高速計(jì)算機(jī)屏幕信息記錄系統(tǒng)
摘 要: 介紹一種自主研發(fā)的高速計(jì)算機(jī)屏幕信息記錄系統(tǒng)。該系統(tǒng)支持VGA/DVI輸入,支持SVGA、XGA、SXGA、UXGA等多種計(jì)算機(jī)屏幕分辨率圖像的連續(xù)壓縮和存儲(chǔ)。實(shí)驗(yàn)表明,本系統(tǒng)的單幀圖像壓縮性能接近JPEG2000標(biāo)準(zhǔn),PSNR值優(yōu)于JPEG標(biāo)準(zhǔn)。
關(guān)鍵詞: FPGA;ARM;計(jì)算機(jī)屏幕;圖像壓縮;小波變換
隨著計(jì)算機(jī)應(yīng)用越來(lái)越廣泛,越來(lái)越多的重要信息需要由計(jì)算機(jī)屏幕顯示,因此對(duì)計(jì)算機(jī)屏幕記錄的需求越來(lái)越迫切。同時(shí), 伴隨著顯示器的高速發(fā)展,計(jì)算機(jī)屏幕分辨率日益增大,需要記錄的圖像分辨率也逐漸增大,因此,對(duì)能夠記錄計(jì)算機(jī)屏幕信息的設(shè)備需要日益增長(zhǎng)。目前的圖像壓縮存儲(chǔ)方案大都無(wú)法支持高分辨率圖像,如ADI公司推出的圖像壓縮芯片ADV212[1],該芯片支持的最大分辨率為1 024×1 024,無(wú)法滿(mǎn)足SXGA(1 280×1 024)或更高的圖像分辨率。另外,在一些DSP解決方案中,因?yàn)镈SP接口不靈活以及DSP本身處理能力的限制,很難支持高分辨圖像壓縮。
本設(shè)計(jì)開(kāi)發(fā)出了一套基于雙FPGA+ARM架構(gòu)的高速計(jì)算機(jī)屏幕圖像壓縮系統(tǒng)。系統(tǒng)通過(guò)對(duì)圖像壓縮系統(tǒng)任務(wù)的劃分,利用FPGA的并行計(jì)算能力和靈活的編程方式,完成圖像壓縮算法。對(duì)于壓縮后的碼流,系統(tǒng)采用ARM管理,基于linux的嵌入式ARM系統(tǒng)能夠以文件的形式存儲(chǔ)碼流,另外,ARM對(duì)網(wǎng)絡(luò)和音頻常用設(shè)備能方便地管理。系統(tǒng)支持主流接口(VGA,DVI),壓縮后的碼流可以存儲(chǔ)在本地硬盤(pán),也可以通過(guò)網(wǎng)絡(luò)發(fā)送到遠(yuǎn)端服務(wù)器。雙FPGA的設(shè)計(jì)對(duì)計(jì)算機(jī)屏幕圖像壓縮更為方便,原始圖像經(jīng)過(guò)前端預(yù)處理FPGA進(jìn)行幀間檢測(cè),以決定該幀圖像進(jìn)入主FPGA的壓縮模式,主FPGA為核心壓縮引擎,負(fù)責(zé)完成高速圖像壓縮算法。
1 系統(tǒng)架構(gòu)與實(shí)現(xiàn)
系統(tǒng)整體架構(gòu)如圖1所示,采用雙FPGA+ARM架構(gòu),主要包括圖像前端預(yù)處理、圖像壓縮模塊和碼流管理部分。