文獻(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),,此種方案開發(fā)周期長(zhǎng)、維護(hù)成本高,、靈活性差。本文采用了軟硬結(jié)合的方式,,基于Terasic公司的DE1-SoC開發(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í)顯示,,并且捕捉拍攝畫面在顯示器上,;FPGA內(nèi)部通過(guò)Avalon-st總線連接各個(gè)IP核,接下來(lái)利用HPS的軟件設(shè)計(jì)通過(guò)壓縮感知編碼方法壓縮圖像數(shù)據(jù),并且利用VIP控制器通過(guò)Lightweight HPS-to-FPGA總線訪問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開始傳輸數(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ù)速率不匹配的問題,。如果缺少這個(gè)緩存器,,SDRAM中的數(shù)據(jù)會(huì)出現(xiàn)丟包、數(shù)據(jù)不完整的問題,。
2.2 圖像顯示部分硬件設(shè)計(jì)
圖像顯示部分主要實(shí)現(xiàn)兩個(gè)功能:一是實(shí)時(shí)拍攝的圖像顯示,,二是抓拍捕獲圖像的顯示。在訪問SDRAM中,,不同的存儲(chǔ)空間切換這兩種顯示方式,。幀讀取器1讀取SDRAM中的數(shù)據(jù)傳輸給VGA1,顯示的是實(shí)時(shí)拍攝到的畫面,,顯示出的圖像分辨率為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ù)開發(fā)板的硬件設(shè)定,,而FPGA外設(shè)設(shè)定的方式則是添加IP核,這里需要添加自行定義的IP模塊來(lái)滿足特殊的需求,,最后產(chǎn)生出硬件與軟件開發(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核,、按鍵、開關(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)化問題就可以從壓縮后的數(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ì)視覺效果影響很小的信息,,達(dá)到壓縮數(shù)據(jù)的目的,。
數(shù)據(jù)矩陣經(jīng)過(guò)DCT變換后,從空間域轉(zhuǎn)換到頻率域,,從左上角到右下角,,頻率逐漸變大。量化以后,,非0數(shù)一般集中在矩陣的左上角,,0則集中在右下角,直流分量遠(yuǎn)大于交流分量,。Zig-Zag掃描順序存儲(chǔ)量化系數(shù),,從左上角開始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開發(fā)板,在Quartus15.0開發(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ù)圖像等功能,并且在顯示器上清晰地顯示拍攝畫面,,在終端完好地保存了原圖像以及壓縮后恢復(fù)的圖像,。圖7為圖像壓縮重構(gòu)對(duì)比圖,圖7(a)為攝像頭拍攝的原始圖像,,圖7(b)為經(jīng)過(guò)本系統(tǒng)壓縮恢復(fù)的圖像,,盆栽葉片上枯黃的地方通過(guò)壓縮感知恢復(fù)后仍清晰可見,。通過(guò)對(duì)比圖可知,本設(shè)計(jì)方案取得較好的效果,,真正系統(tǒng)地實(shí)現(xiàn)了圖像的采集,、壓縮、傳輸及重構(gòu),。
5 結(jié)論
本文研究了一種集圖像采集,、圖像處理和圖像傳輸為一體的系統(tǒng),采用軟件,、硬件結(jié)合的設(shè)計(jì)方案,,以DE1-SoC開發(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)