文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.05.022
中文引用格式: 翁天陽,莊宇,于瑋,等. 基于HPS和FPGA的圖像壓縮感知編解碼系統(tǒng)[J].電子技術(shù)應(yīng)用,2017,43(5):90-93.
英文引用格式: Weng Tianyang,Zhuang Yu,Yu Wei,et al. Image compressed sensing coding and reconstruction system based on HPS and FPGA[J].Application of Electronic Technique,2017,43(5):90-93.
0 引言
數(shù)字圖像是當(dāng)今社會最重要的信息傳媒之一,但是其巨大數(shù)據(jù)量極大地限制了圖像的存儲、傳輸以及處理,為了解決這一困擾,圖像壓縮技術(shù)應(yīng)運而生。壓縮感知(Compressed Sensing)理論是在2006年由DONOHO D L、CANDES E等人在相關(guān)研究基礎(chǔ)上正式提出的[1-3]。壓縮感知的基本思想就是當(dāng)信號具備在某一正交變換基上能夠稀疏化表示或者能在特定的域中轉(zhuǎn)換成稀疏信號的條件下,可以采用遠低于奈奎斯特采樣速率的采樣率進行采樣,并且從極低的采樣值中無失真地重構(gòu)原始信號[4],突破了香農(nóng)采樣定理的限制。這一理論一經(jīng)建立便在信號處理領(lǐng)域、通信領(lǐng)域、醫(yī)療醫(yī)學(xué)成像技術(shù)領(lǐng)域得到了較高的關(guān)注度[5-6],具有重要的實踐意義。
現(xiàn)大多數(shù)的文獻中對于壓縮感知的實現(xiàn)方案都是采用硬件實現(xiàn),此種方案開發(fā)周期長、維護成本高、靈活性差。本文采用了軟硬結(jié)合的方式,基于Terasic公司的DE1-SoC開發(fā)平臺,設(shè)計了一種圖像攝像頭采集、壓縮感知編碼壓縮、傳輸以及重構(gòu)的系統(tǒng),利用FPGA與HPS的結(jié)合,F(xiàn)PGA采集顯示,HPS控制處理,分工合作,避免由于算法復(fù)雜消耗過多的FPGA資源。此系統(tǒng)具有處理速度快、可移植性強、應(yīng)用靈活等特點。
1 系統(tǒng)的總體設(shè)計
系統(tǒng)的原理框圖如圖1所示。系統(tǒng)的工作過程為:圖像采集模塊的FPGA通過I2C總線控制D5M攝像頭采集現(xiàn)場圖片,并將數(shù)據(jù)經(jīng)過幀緩存器傳送給SDRAM,幀讀取器讀取SDRAM中數(shù)據(jù)通過VGA控制能實時顯示,并且捕捉拍攝畫面在顯示器上;FPGA內(nèi)部通過Avalon-st總線連接各個IP核,接下來利用HPS的軟件設(shè)計通過壓縮感知編碼方法壓縮圖像數(shù)據(jù),并且利用VIP控制器通過Lightweight HPS-to-FPGA總線訪問FPGA內(nèi)部IP核,控制硬件各模塊工作;HPS中壓縮完的數(shù)據(jù)利用串口傳輸給ZigBee進行發(fā)送接收,最后終端上位機通過串口接收ZigBee接收到的數(shù)據(jù),利用共軛梯度算法進行圖像的重構(gòu),在終端恢復(fù)圖像。此系統(tǒng)完整地實現(xiàn)了圖像的采集壓縮傳輸以及恢復(fù)功能。根據(jù)圖像細節(jié)的不同,圖像恢復(fù)峰值信噪比PSNR也會不同,根據(jù)實驗抓拍到的正常圖像恢復(fù)的PSNR在41 dB左右,壓縮比約為8%。
2 FPGA硬件系統(tǒng)設(shè)計
2.1 圖像采集部分硬件設(shè)計
圖像采集系統(tǒng)中攝像頭采用的是友晶科技提供的TRDB-D5M模塊,其中D5M IP核設(shè)計部分由I2C配置模塊、CMOS捕獲控制模塊、Bayer2RGB色彩空間轉(zhuǎn)換模塊3部分組成,架構(gòu)框圖如圖2所示[7]。
當(dāng)I2C總線發(fā)出起始信號,數(shù)據(jù)線SDATA開始傳輸數(shù)據(jù),包括尋址字節(jié)和數(shù)據(jù)字節(jié)。CMOS捕獲控制抓取原始的數(shù)據(jù)流,通過3個同步信號來控制,當(dāng)FVAL(幀有效信號)和LVAL(行有效信號)均置為高電平時,每一個像素時鐘信號脈沖伴隨著一位數(shù)據(jù)的輸出[8]。
在圖像采集部分還添加了Frame Buffer幀緩存器IP核部分,這個緩存器主要的作用是解決D5M的輸出與SDRAM讀入數(shù)據(jù)速率不匹配的問題。如果缺少這個緩存器,SDRAM中的數(shù)據(jù)會出現(xiàn)丟包、數(shù)據(jù)不完整的問題。
2.2 圖像顯示部分硬件設(shè)計
圖像顯示部分主要實現(xiàn)兩個功能:一是實時拍攝的圖像顯示,二是抓拍捕獲圖像的顯示。在訪問SDRAM中,不同的存儲空間切換這兩種顯示方式。幀讀取器1讀取SDRAM中的數(shù)據(jù)傳輸給VGA1,顯示的是實時拍攝到的畫面,顯示出的圖像分辨率為640×480。幀讀取器2讀取的數(shù)據(jù)加上背景生成器的數(shù)據(jù)傳送給α混合器,這樣VGA2中顯示的結(jié)果就會有兩層,第一層為分辨率為1 280×1 024的彩條背景占據(jù)整個顯示屏,第二層為抓拍捕獲的圖像,位于顯示屏左上角位置。當(dāng)接收到抓拍指令后,進行切換顯示。
2.3 Qsys系統(tǒng)搭建
SoC FPGA系統(tǒng)的設(shè)計,須定義好系統(tǒng)硬件的架構(gòu)。使用Qaurtus II集成SoC/SOPC設(shè)計工具Qsys來搭建,在Qsys內(nèi),需要對HPS與FPGA各自外設(shè)進行規(guī)劃。HPS的外設(shè)根據(jù)開發(fā)板的硬件設(shè)定,而FPGA外設(shè)設(shè)定的方式則是添加IP核,這里需要添加自行定義的IP模塊來滿足特殊的需求,最后產(chǎn)生出硬件與軟件開發(fā)各自所需的檔案進行綜合編譯[9]。
FPGA-to-HPS、HPS-to-FPGA這兩個Bridge為FPGA與HPS間寬帶高速的傳輸通道。Lightweight HPS-to-FPGA則為較低速的控制通道,本設(shè)計將使用這個通道來進行HPS與FPGA間的數(shù)據(jù)傳輸。本設(shè)計需要的硬件外設(shè)包括ARM硬核處理器、SDRAM、UART串口、鎖相環(huán)、幀緩存器、2個幀讀取器、2個VGA、Avalon-st總線、背景生成器、自定義D5M IP核、按鍵、開關(guān)、α混合器等。然后建立各個模塊間的連接,包括時鐘、復(fù)位、CPU數(shù)據(jù)總線和指令總線與模塊間的連接。Qsys系統(tǒng)總體硬件配置如圖3所示。
3 HPS軟件系統(tǒng)設(shè)計
3.1 壓縮感知編碼
壓縮感知早在2006年被提出[10],壓縮感知最大的突破是不依賴 Nyquist 定理進行采樣,它必須滿足在某變換域具有稀疏的特性,在理想情況下以很低的采樣率保留信號的大部分信息,重構(gòu)時通過求解一個優(yōu)化問題就可以從壓縮后的數(shù)據(jù)中重構(gòu)出原始信號[11]。在本設(shè)計中,壓縮編碼主要分為3個部分:快速DCT變換、量化以及Z掃描的采樣方式。
采用快速DCT變換進行稀疏變換,編碼前先將RGB圖像轉(zhuǎn)換為YCbCr圖像,然后將圖像分成8×8的數(shù)據(jù)塊,按從左到右、從上到下的次序。RGB—YCbCr的轉(zhuǎn)換公式如下:
為便于以后的編碼,將Y信號分量減去128轉(zhuǎn)換到[-128,127]。因為亮度信號比色度信號更重要。DCT變換的實現(xiàn)過程如下:首先將圖像分成8×8數(shù)據(jù)塊,然后進行FDCT。DCT變換后,圖像數(shù)據(jù)由空間域轉(zhuǎn)換到頻域,8×8矩陣的左上角是高頻分量,右下角是低頻分量[12],量化是對64個DCT系數(shù)進行按比例縮小并四舍五入取整的過程,它舍棄掉一些對視覺效果影響很小的信息,達到壓縮數(shù)據(jù)的目的。
數(shù)據(jù)矩陣經(jīng)過DCT變換后,從空間域轉(zhuǎn)換到頻率域,從左上角到右下角,頻率逐漸變大。量化以后,非0數(shù)一般集中在矩陣的左上角,0則集中在右下角,直流分量遠大于交流分量。Zig-Zag掃描順序存儲量化系數(shù),從左上角開始Z字形掃描到右下角,二維數(shù)組轉(zhuǎn)換為一維數(shù)組,零值分量連續(xù)出現(xiàn),掃描路徑如圖4所示。最后利用壓縮感知進行壓縮編碼。
3.2 VIP控制設(shè)計
HPS中VIP控制的主要功能是設(shè)置IP核的參數(shù)和控制IP核的工作狀態(tài)。VIP控制部分的設(shè)計流程圖如圖5。
IP核初始化的狀態(tài)是設(shè)置D5M、幀緩存器、幀讀取器1、VGA控制器1為工作狀態(tài),同時設(shè)置幀讀取大小為640×480,當(dāng)接收到上位機端抓拍指令后,進入切換狀態(tài),關(guān)閉上述IP核,啟動幀讀取器2、背景生成器、α混合器、VGA控制器2,設(shè)置幀讀取大小為640×480。接收到上位機端壓縮數(shù)據(jù)指令后,將調(diào)動壓縮感知壓縮編碼模塊進行數(shù)據(jù)壓縮,完成后串口將通過ZigBee發(fā)送數(shù)據(jù)給終端。
4 系統(tǒng)調(diào)試與驗證
在本設(shè)計中,通過MATLAB設(shè)計了上位機界面,界面中包括參數(shù)的設(shè)置以及抓拍指令、壓縮指令、恢復(fù)指令按鈕的設(shè)計,抓拍、壓縮指令是通過串口發(fā)送給HPS接收,調(diào)動VIP控制器進行一系列動作,而重構(gòu)指令則是在MATLAB中運行共軛梯度算法重構(gòu)恢復(fù)圖像[11],最后保存圖像在PC上。上位機界面如圖6所示。
本設(shè)計使用的是DE1-SoC開發(fā)板,在Quartus15.0開發(fā)平臺上使用Verilog HDL對各邏輯模塊進行設(shè)計。經(jīng)驗證得到本圖像處理模塊占用FPGA內(nèi)部主要的邏輯資源情況如表1所示。
按照圖1的系統(tǒng)框圖進行測試驗證。該系統(tǒng)性能穩(wěn)定可靠,可移植性強,可以在PC終端上位機軟件的對應(yīng)操作下實現(xiàn)攝像頭拍攝、抓拍捕獲、壓縮數(shù)據(jù)以及恢復(fù)圖像等功能,并且在顯示器上清晰地顯示拍攝畫面,在終端完好地保存了原圖像以及壓縮后恢復(fù)的圖像。圖7為圖像壓縮重構(gòu)對比圖,圖7(a)為攝像頭拍攝的原始圖像,圖7(b)為經(jīng)過本系統(tǒng)壓縮恢復(fù)的圖像,盆栽葉片上枯黃的地方通過壓縮感知恢復(fù)后仍清晰可見。通過對比圖可知,本設(shè)計方案取得較好的效果,真正系統(tǒng)地實現(xiàn)了圖像的采集、壓縮、傳輸及重構(gòu)。
5 結(jié)論
本文研究了一種集圖像采集、圖像處理和圖像傳輸為一體的系統(tǒng),采用軟件、硬件結(jié)合的設(shè)計方案,以DE1-SoC開發(fā)板為主要平臺,根據(jù)電路原理和實現(xiàn)目標完成了圖像的采集、存儲和壓縮感知編碼功能。在PC端,用MATLAB設(shè)計上位機界面,并完成圖像數(shù)據(jù)的解碼,最終能在界面上實時顯示。由此系統(tǒng)所恢復(fù)出的圖像峰值信噪比約為41 dB,壓縮比為8%,應(yīng)用靈活,可移植性強,具有很強的實用性,對圖像的傳輸方面具有現(xiàn)實的意義。
參考文獻
[1] DONOHO D L.Compressed sensing[J].IEEE Trans.on Information Theory,2006,52(4):1289-1306.
[2] CANDES E,ROMBERG J,TAO T.Robust uncertainty principles:Exact signal reconstruction from highly incomplete frequency information[J].IEEE Trans.Information Theory,2006,52(4):489-509.
[3] CANDES E J.Compressive sampling[C].Proc.of International Congress of Mathematicians.Madrid,Spain,2006:1433-1452.
[4] 潘榕,劉昱,侯正信,等.基于局部DCT系數(shù)的圖像壓縮感知編碼與重構(gòu)[J].自動化學(xué)報,2011(6):674-681.
[5] 金堅,谷源濤,梅順良.壓縮采樣技術(shù)及其應(yīng)用[J].電子與信息學(xué)報,2010,32(2):470-475.
[6] 劉吉英,朱炬波.基于壓縮感知的低數(shù)據(jù)率雷達采樣與成像方法[J].計算機工程與科學(xué),2012,24(5):646-651.
[7] 馬玲玲,劉云飛,顧敏明,等.遠程數(shù)字圖像監(jiān)控系統(tǒng)的FPGA實現(xiàn)[J].電子技術(shù)應(yīng)用,2015,39(6):70-73.
[8] 楊宇,賈永興,榮傳振.基于STM32F407的圖像采集與傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2015,34(8):26-28.
[9] 聶永軍,徐光輝,鄭國建,等.基于Altera SoC FPGA的圖像采集系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2016(4):56-59.
[10] CANDES E J.The restricted isometry property and its implications for compressed sensing[J].Comptes Rendus Mathematique,2008,346(9-10):589-692.
[11] 焦李成,楊淑媛,劉芳,等.壓縮感知回顧與展望[J].電子學(xué)報,2011(7):1651-1662.
[12] 潘榕.基于局部DCT系數(shù)的圖像壓縮感知編碼與重構(gòu)[J].自動化學(xué)報,2011,37(6):674-681.
作者信息:
翁天陽1,莊 宇1,于 瑋2,劉云飛1
(1.南京林業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南京210037;2.南通大學(xué) 工程訓(xùn)練中心,江蘇 南通226019)