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