《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于HPS和FPGA的圖像壓縮感知編解碼系統(tǒng)
基于HPS和FPGA的圖像壓縮感知編解碼系統(tǒng)
2017年電子技術(shù)應(yīng)用第5期
翁天陽(yáng)1,莊 宇1,于 瑋2,劉云飛1
1.南京林業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南京210037;2.南通大學(xué) 工程訓(xùn)練中心,江蘇 南通226019
摘要: 針對(duì)圖像編碼與重構(gòu)系統(tǒng)的實(shí)際需求,設(shè)計(jì)了一種基于HPS和FPGA的圖像處理系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了圖像的實(shí)時(shí)采集、壓縮、傳輸和重構(gòu)。系統(tǒng)采用DE1-SoC開(kāi)發(fā)板,在FPGA中設(shè)計(jì)了D5M攝像頭、SDRAM、VGA的IP核,在QSYS中利用AXI和Avalon總線連接IP核,利用Linux C編程在HPS中實(shí)現(xiàn)了圖像的壓縮感知(CS)編碼和傳輸,在MATLAB上位機(jī)中接收壓縮數(shù)據(jù)并實(shí)現(xiàn)圖像的重構(gòu),減少了FPGA資源使用和設(shè)計(jì)復(fù)雜度。結(jié)果表明,該系統(tǒng)能夠?qū)崿F(xiàn)任意自然圖像的處理,圖像壓縮比約為8%,PSNR約為41 dB,應(yīng)用靈活,可移植性強(qiáng),能夠滿足實(shí)際工程的需要。
關(guān)鍵詞: HPS 壓縮感知 FPGA 圖像處理 PSNR
中圖分類號(hào): TP274.2
文獻(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.
Image compressed sensing coding and reconstruction system based on HPS and FPGA
Weng Tianyang1,Zhuang Yu1,Yu Wei2,Liu Yunfei1
1.College of Information Science and Technology,Nanjing Forestry University,Nanjing 210037,China; 2.Engineering Training Center,Nantong University,Nantong 226019,China
Abstract: In view of the practical demand of the image coding and reconstruction system,this paper designed an image processing system based on HPS and FPGA at the DE1-SoC board which can realize the real-time collection, compression, transmission and reconstruction of the image. The IP core of D5M camera , SDRAM and VGA were designed in FPGA, and then the AXI and Avalon bus were used to connect the IP core in QSYS. Linux C programmed was used to achieve the image of CS coding and transmission in HPS. Finally, receiving data and reconstructing image by MATLAB in the PC,it can reduce the resource of FPAG and the complexity of design. The results show that the system can realize the capturing and compression transmission of any natural image, the image compression ratio is about 8%, PSNR is about 41 dB. It has flexible application and portability,and can meet the needs of practical engineering.
Key words : HPS;compressed sensing;FPGA;image processing;Peak Signal to Noise Ratio

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),利用FPGAHPS的結(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%。

ck4-t1.gif

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]。

ck4-t2.gif

    當(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所示。

ck4-t3.gif

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)換公式如下:

    ck4-gs1.gif

    為便于以后的編碼,將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)行壓縮編碼。

ck4-t4.gif

3.2 VIP控制設(shè)計(jì)

    HPS中VIP控制的主要功能是設(shè)置IP核的參數(shù)和控制IP核的工作狀態(tài)。VIP控制部分的設(shè)計(jì)流程圖如圖5。

ck4-t5.gif

    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所示。

ck4-t6.gif

    本設(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所示。

ck4-b1.gif

    按照?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)。

ck4-t7.gif

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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。