《电子技术应用》

基于HPS和FPGA的图像压缩感知编解码系统

2017年电子技术应用第5期 作者:翁天阳1,庄 宇1,于 玮2,刘云飞1
2017/6/16 11:34:00

翁天阳1,庄  宇1,于  玮2,刘云飞1

(1.南京林业大学  信息科学技术学院,江苏 南京210037;2.南通大学 工程训练中心,江苏 南通226019)


    摘  要: 针对图像编码与重构系统的实际需求,设计了一种基于HPSFPGA图像处理系统。该系统实现了图像的实时采集、压缩、传输和重构。系统采用DE1-SoC开发板,在FPGA中设计了D5M摄像头、SDRAM、VGA的IP核,在QSYS中利用AXI和Avalon总线连接IP核,利用Linux C编程在HPS中实现了图像的压缩感知(CS)编码和传输,在MATLAB上位机中接收压缩数据并实现图像的重构,减少了FPGA资源使用和设计复杂度。结果表明,该系统能够实现任意自然图像的处理,图像压缩比约为8%,PSNR约为41 dB,应用灵活,可移植性强,能够满足实际工程的需要。

    关键词: HPS;压缩感知;FPGA;图像处理;PSNR

    中图分类号: TP274.2

    文献标识码: A

    DOI:10.16157/j.issn.0258-7998.2017.05.022


    中文引用格式: 翁天阳,庄宇,于玮,等. 基于HPS和FPGA的图像压缩感知编解码系统[J].电子技术应用,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 引言

    数字图像是当今社会最重要的信息传媒之一,但是其巨大数据量极大地限制了图像的存储、传输以及处理,为了解决这一困扰,图像压缩技术应运而生。压缩感知(Compressed Sensing)理论是在2006年由DONOHO D L、CANDES E等人在相关研究基础上正式提出的[1-3]。压缩感知的基本思想就是当信号具备在某一正交变换基上能够稀疏化表示或者能在特定的域中转换成稀疏信号的条件下,可以采用远低于奈奎斯特采样速率的采样率进行采样,并且从极低的采样值中无失真地重构原始信号[4],突破了香农采样定理的限制。这一理论一经建立便在信号处理领域、通信领域、医疗医学成像技术领域得到了较高的关注度[5-6],具有重要的实践意义。

    现大多数的文献中对于压缩感知的实现方案都是采用硬件实现,此种方案开发周期长、维护成本高、灵活性差。本文采用了软硬结合的方式,基于Terasic公司的DE1-SoC开发平台,设计了一种图像摄像头采集、压缩感知编码压缩、传输以及重构的系统,利用FPGA与HPS的结合,FPGA采集显示,HPS控制处理,分工合作,避免由于算法复杂消耗过多的FPGA资源。此系统具有处理速度快、可移植性强、应用灵活等特点。

1 系统的总体设计

    系统的原理框图如图1所示。系统的工作过程为:图像采集模块的FPGA通过I2C总线控制D5M摄像头采集现场图片,并将数据经过帧缓存器传送给SDRAM,帧读取器读取SDRAM中数据通过VGA控制能实时显示,并且捕捉拍摄画面在显示器上;FPGA内部通过Avalon-st总线连接各个IP核,接下来利用HPS的软件设计通过压缩感知编码方法压缩图像数据,并且利用VIP控制器通过Lightweight HPS-to-FPGA总线访问FPGA内部IP核,控制硬件各模块工作;HPS中压缩完的数据利用串口传输给ZigBee进行发送接收,最后终端上位机通过串口接收ZigBee接收到的数据,利用共轭梯度算法进行图像的重构,在终端恢复图像。此系统完整地实现了图像的采集压缩传输以及恢复功能。根据图像细节的不同,图像恢复峰值信噪比PSNR也会不同,根据实验抓拍到的正常图像恢复的PSNR在41 dB左右,压缩比约为8%。

ck4-t1.gif

2 FPGA硬件系统设计

2.1 图像采集部分硬件设计

    图像采集系统中摄像头采用的是友晶科技提供的TRDB-D5M模块,其中D5M IP核设计部分由I2C配置模块、CMOS捕获控制模块、Bayer2RGB色彩空间转换模块3部分组成,架构框图如图2所示[7]

ck4-t2.gif

    当I2C总线发出起始信号,数据线SDATA开始传输数据,包括寻址字节和数据字节。CMOS捕获控制抓取原始的数据流,通过3个同步信号来控制,当FVAL(帧有效信号)和LVAL(行有效信号)均置为高电平时,每一个像素时钟信号脉冲伴随着一位数据的输出[8]

    在图像采集部分还添加了Frame Buffer帧缓存器IP核部分,这个缓存器主要的作用是解决D5M的输出与SDRAM读入数据速率不匹配的问题。如果缺少这个缓存器,SDRAM中的数据会出现丢包、数据不完整的问题。

2.2 图像显示部分硬件设计

    图像显示部分主要实现两个功能:一是实时拍摄的图像显示,二是抓拍捕获图像的显示。在访问SDRAM中,不同的存储空间切换这两种显示方式。帧读取器1读取SDRAM中的数据传输给VGA1,显示的是实时拍摄到的画面,显示出的图像分辨率为640×480。帧读取器2读取的数据加上背景生成器的数据传送给α混合器,这样VGA2中显示的结果就会有两层,第一层为分辨率为1 280×1 024的彩条背景占据整个显示屏,第二层为抓拍捕获的图像,位于显示屏左上角位置。当接收到抓拍指令后,进行切换显示。

2.3 Qsys系统搭建

    SoC FPGA系统的设计,须定义好系统硬件的架构。使用Qaurtus II集成SoC/SOPC设计工具Qsys来搭建,在Qsys内,需要对HPS与FPGA各自外设进行规划。HPS的外设根据开发板的硬件设定,而FPGA外设设定的方式则是添加IP核,这里需要添加自行定义的IP模块来满足特殊的需求,最后产生出硬件与软件开发各自所需的档案进行综合编译[9]

    FPGA-to-HPS、HPS-to-FPGA这两个Bridge为FPGA与HPS间宽带高速的传输通道。Lightweight HPS-to-FPGA则为较低速的控制通道,本设计将使用这个通道来进行HPS与FPGA间的数据传输。本设计需要的硬件外设包括ARM硬核处理器、SDRAM、UART串口、锁相环、帧缓存器、2个帧读取器、2个VGA、Avalon-st总线、背景生成器、自定义D5M IP核、按键、开关、α混合器等。然后建立各个模块间的连接,包括时钟、复位、CPU数据总线和指令总线与模块间的连接。Qsys系统总体硬件配置如图3所示。

ck4-t3.gif

3 HPS软件系统设计

3.1 压缩感知编码

    压缩感知早在2006年被提出[10],压缩感知最大的突破是不依赖 Nyquist 定理进行采样,它必须满足在某变换域具有稀疏的特性,在理想情况下以很低的采样率保留信号的大部分信息,重构时通过求解一个优化问题就可以从压缩后的数据中重构出原始信号[11]。在本设计中,压缩编码主要分为3个部分:快速DCT变换、量化以及Z扫描的采样方式。

    采用快速DCT变换进行稀疏变换,编码前先将RGB图像转换为YCbCr图像,然后将图像分成8×8的数据块,按从左到右、从上到下的次序。RGB—YCbCr的转换公式如下:

    ck4-gs1.gif

    为便于以后的编码,将Y信号分量减去128转换到[-128,127]。因为亮度信号比色度信号更重要。DCT变换的实现过程如下:首先将图像分成8×8数据块,然后进行FDCT。DCT变换后,图像数据由空间域转换到频域,8×8矩阵的左上角是高频分量,右下角是低频分量[12],量化是对64个DCT系数进行按比例缩小并四舍五入取整的过程,它舍弃掉一些对视觉效果影响很小的信息,达到压缩数据的目的。

    数据矩阵经过DCT变换后,从空间域转换到频率域,从左上角到右下角,频率逐渐变大。量化以后,非0数一般集中在矩阵的左上角,0则集中在右下角,直流分量远大于交流分量。Zig-Zag扫描顺序存储量化系数,从左上角开始Z字形扫描到右下角,二维数组转换为一维数组,零值分量连续出现,扫描路径如图4所示。最后利用压缩感知进行压缩编码。

ck4-t4.gif

3.2 VIP控制设计

    HPS中VIP控制的主要功能是设置IP核的参数和控制IP核的工作状态。VIP控制部分的设计流程图如图5。

ck4-t5.gif

    IP核初始化的状态是设置D5M、帧缓存器、帧读取器1、VGA控制器1为工作状态,同时设置帧读取大小为640×480,当接收到上位机端抓拍指令后,进入切换状态,关闭上述IP核,启动帧读取器2、背景生成器、α混合器、VGA控制器2,设置帧读取大小为640×480。接收到上位机端压缩数据指令后,将调动压缩感知压缩编码模块进行数据压缩,完成后串口将通过ZigBee发送数据给终端。

4 系统调试与验证

    在本设计中,通过MATLAB设计了上位机界面,界面中包括参数的设置以及抓拍指令、压缩指令、恢复指令按钮的设计,抓拍、压缩指令是通过串口发送给HPS接收,调动VIP控制器进行一系列动作,而重构指令则是在MATLAB中运行共轭梯度算法重构恢复图像[11],最后保存图像在PC上。上位机界面如图6所示。

ck4-t6.gif

    本设计使用的是DE1-SoC开发板,在Quartus15.0开发平台上使用Verilog HDL对各逻辑模块进行设计。经验证得到本图像处理模块占用FPGA内部主要的逻辑资源情况如表1所示。

ck4-b1.gif

    按照图1的系统框图进行测试验证。该系统性能稳定可靠,可移植性强,可以在PC终端上位机软件的对应操作下实现摄像头拍摄、抓拍捕获、压缩数据以及恢复图像等功能,并且在显示器上清晰地显示拍摄画面,在终端完好地保存了原图像以及压缩后恢复的图像。图7为图像压缩重构对比图,图7(a)为摄像头拍摄的原始图像,图7(b)为经过本系统压缩恢复的图像,盆栽叶片上枯黄的地方通过压缩感知恢复后仍清晰可见。通过对比图可知,本设计方案取得较好的效果,真正系统地实现了图像的采集、压缩、传输及重构。

ck4-t7.gif

5 结论

    本文研究了一种集图像采集、图像处理和图像传输为一体的系统,采用软件、硬件结合的设计方案,以DE1-SoC开发板为主要平台,根据电路原理和实现目标完成了图像的采集、存储和压缩感知编码功能。在PC端,用MATLAB设计上位机界面,并完成图像数据的解码,最终能在界面上实时显示。由此系统所恢复出的图像峰值信噪比约为41 dB,压缩比为8%,应用灵活,可移植性强,具有很强的实用性,对图像的传输方面具有现实的意义。

参考文献

[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系数的图像压缩感知编码与重构[J].自动化学报,2011(6):674-681.

[5] 金坚,谷源涛,梅顺良.压缩采样技术及其应用[J].电子与信息学报,2010,32(2):470-475.

[6] 刘吉英,朱炬波.基于压缩感知的低数据率雷达采样与成像方法[J].计算机工程与科学,2012,24(5):646-651.

[7] 马玲玲,刘云飞,顾敏明,等.远程数字图像监控系统的FPGA实现[J].电子技术应用,2015,39(6):70-73.

[8] 杨宇,贾永兴,荣传振.基于STM32F407的图像采集与传输系统的设计与实现[J].微型机与应用,2015,34(8):26-28.

[9] 聂永军,徐光辉,郑国建,等.基于Altera SoC FPGA的图像采集系统设计[J].单片机与嵌入式系统应用,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].电子学报,2011(7):1651-1662.

[12] 潘榕.基于局部DCT系数的图像压缩感知编码与重构[J].自动化学报,2011,37(6):674-681.

继续阅读>>