基于雙FPGA+ARM架構(gòu)的圖像壓縮系統(tǒng)
對(duì)于圖像經(jīng)過(guò)FPGA壓縮后的碼流,系統(tǒng)采用ARM芯片進(jìn)行管理,該芯片為Cirrus Logic公司的工業(yè)級(jí)嵌入式處理器EP9315[8]。該處理器具有ARM920T核,最高主頻達(dá)200 MHz,并具有豐富的外圍接口,包括網(wǎng)絡(luò)、USB、音頻等。FPGA和ARM之間通信由I2C總線完成,當(dāng)FPGA完成一幀圖像壓縮后,通過(guò)FPGA的GPIO發(fā)送一個(gè)終端信號(hào)給ARM,并準(zhǔn)備好一幀碼流長(zhǎng)度等信息。ARM中斷服務(wù)程序響應(yīng)該中斷,通過(guò)I2C接口讀走碼流長(zhǎng)度,通過(guò)映射SRAM的方式從FPGA讀取壓縮碼流到ARM內(nèi)存,然后以文件的形式存儲(chǔ)碼流到本地硬盤(pán),或者通過(guò)網(wǎng)絡(luò)發(fā)送到遠(yuǎn)端服務(wù)器。
2 實(shí)驗(yàn)結(jié)果與性能
2.1 算法性能驗(yàn)證
系統(tǒng)設(shè)計(jì)初期,用軟件對(duì)算法的性能進(jìn)行了驗(yàn)證。在PC上對(duì)一組Lena等標(biāo)準(zhǔn)圖像進(jìn)行壓縮,得到不同的重建圖像,對(duì)重建圖像求解PSNR值,式(2)為PSNR計(jì)算公式。其中Mean Square Error(MSE)表示原始圖像和重建圖像對(duì)應(yīng)像素的均方誤差值。
表1為本系統(tǒng)采用算法與JPEG及JPEG2000對(duì)標(biāo)準(zhǔn)圖像壓縮后重建圖像的PSNR比較。從表中可以看出,本系統(tǒng)采用算法遠(yuǎn)優(yōu)于JPEG,接近JPEG2000。PSNR值的比較以壓縮比(對(duì)應(yīng)表中Bitrate)為基準(zhǔn),即在相同壓縮比的情況下對(duì)比PSNR值。
2.2 硬件實(shí)現(xiàn)和硬件壓縮
硬件系統(tǒng)電路板采用10層板制作工藝,電路板面積為30.8 cm×16.7 cm,在100 MHz工作頻率下對(duì)系統(tǒng)測(cè)試,結(jié)果表明系統(tǒng)工作穩(wěn)定。表2為系統(tǒng)對(duì)1 600×1 200、1 280×1 024和1 024×768三種常見(jiàn)分辨率的計(jì)算機(jī)屏幕進(jìn)行的記錄,記錄的圖像源采用了各類計(jì)算機(jī)屏幕常見(jiàn)圖像,如Word文檔、PPT文件、動(dòng)態(tài)雷達(dá)圖像和一段視頻。其中,PPT的平均翻頁(yè)速度為60 s。由表2可以看出,系統(tǒng)對(duì)于Word文檔、PPT文檔等只有局部變化的圖像能夠達(dá)到非常高的壓縮比,壓縮幀率約為60幀/s。
本文結(jié)合應(yīng)用提出圖像壓縮算,以FPGA為核心計(jì)算平臺(tái),設(shè)計(jì)了一套計(jì)算機(jī)屏幕圖像記錄系統(tǒng)。系統(tǒng)實(shí)現(xiàn)了對(duì)1 280×1 024×24 bit圖像每秒記錄27幀,對(duì)1 600×1 200×24 bit圖像每秒記錄17幀,對(duì)PPT、Word文檔等只有局部變化的屏幕圖像每秒可記錄60幀,且壓縮后重建圖像質(zhì)量?jī)?yōu)于JPEG,與JPEG2000接近。同時(shí),對(duì)于壓縮后的碼流,系統(tǒng)采用ARM以文件的方式管理,有利于碼流本地存儲(chǔ)以及通過(guò)網(wǎng)絡(luò)傳輸?shù)褥`活的應(yīng)用。另外,系統(tǒng)支持多種輸入接口,提高了硬件系統(tǒng)的靈活性,具有廣闊的應(yīng)用前景。
評(píng)論