基于ADV212与FPGA的短波红外图像压缩系统的设计

2014-12-31 01:25周鹏骥
电脑知识与技术 2014年35期
关键词:小波变换

周鹏骥

摘要:采用FPGA+ADV212来实现JPEG2000的图像压缩技术,不仅提高了压缩效率,同时也高效的发挥了FPGA的并行处理能力。由于2.6um到3.2um波段的短波红外的响应输出范围较窄,采用5/3压缩算法,避免了此波段的短波红外受压缩本身所产生的大量噪声影响。此系统能够灵活的配置压缩比、压缩深度等图像压缩的相关参数。最终系统不仅具有体积小、功耗低的特点,而且能够提供高质量的可复原的压缩图像。

关键词:FPGA;JPEG2000;ADV212;小波变换;图像压缩

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2014)35-8533-03

The Design of the Short-Wave Infrared Image Compression System Based on ADV212 and FPGA

ZHOU Peng-ji

(Research and Development Center for Opto-electronic, Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, Changchun 130033,China )

Abstract: By using the JPEG2000 image compression technology with the FPGA+ADV212, not only improved the compression efficiency, at the same time also brought into playing a parallel processing ability of the FPGA. Since 2.6um to 3.2um band of short-wave infrared response output range is narrow, the 5/3 when the compression algorithm, avoids the bands of short-wave infrared affected by compression itself produces a lot of noise. Since the range of output response in 2.6um to 3.2um band is narrow, by using the 5/3 compression algorithm, avoid this band of short-wave infrared to produce a lot of noise by itself. This system can be flexible configuration in the compression ratio, compression depth as well as the related parameters in the image compression. Finally the system not only has the characteristics of small volume, low power consumption, and also can provide high quality of compressed image which can be recovered.

Key words:FPGA;JPEG2000; ADV212; the wavelet transform;the image compression.

在现代战争中,红外探测器装置已经成为现代战场上不可或缺的进攻以及防御武器,对战局战况起到极其重要的作用,而不同波段的红外光谱有不同的作用。其中,波段在2.6um到3.2um的短波红外,对于高温物体,比如物体燃烧尾焰,响应较好。然而,红外图像对于目标环境的要求比较高,同样的目标,在高温背景与低温背景中的响应对比度是不同的,高温背景辐射能量大,因此图像对比度会较差,信噪比较高,相反,低温背景下图像对比度高,噪声相对较少。因此,压缩图像应该选用无损压缩来避免增加噪声[1-4]。

在压缩算法中,采用小波变换、位平面编码等技术的静态图像压缩算法JPEG2000能够实现无损、近无损以及有损压缩,并且图像压缩质量很高,特别是图像纹理简单的压缩图像效果显著,因此为了不丢失静态图像细节,能够最大程度保留有用信息,选择JPEG2000无损压缩技术[5]。

一般来讲,实现静态图像压缩有两种方式,一种方式是,仅仅通过FPGA或者DSP来实现图像压缩算法,然而这种方式相对比较复杂,并且优化起来比较困难,很难做到性能的进一步提升。因此,提出另外一种方式,就是通过专用图像压缩芯片与FPGA结合来实现静态图像的压缩,将专用图像压缩芯片的初始化、压缩参数的配置、以及数据的收发都交给FPGA来执行完成,而专用图像压缩芯片只要负责图像的压缩算法即可[7]。本设计中采用的是ADV212专用图像视频编解码器与Xilinx公司的Spartan3系列的FPGA来实现图像压缩。

1 ADV212的芯片原理

ADV212受益于采用了国际领先的JEPG2000图像压缩标准,因此它具有高带宽、低功耗的特点,并且能够实时压缩或者解压缩静态图像以及视频图像[8]。ADV212无缝提供了国际通用的专用视频端口,如ITU-RBT.656、SMPTE 125M、SMPTE 293M、ITU-R BT.1358、SMPTE 274M (1080i)、SMPTE 296M (720p)。除了支持以上专用视频接口,同时还支持对原生静态图像格式进行压缩。通过对ADV212内部寄存器的配置,可以实现视频接口的选择,以及对图像压缩质量、压缩比等参数的控制[6]。

如果是上述标准格式的图像数据可以通过ADV212的像素接口输入,经过压缩后的压缩数据通过编码FIFO输出。而对于原生静态图像数据,虽然也可以通过像素接口输入,但是需要配置的相应寄存器较多,同时需要主机配置相应的视频输入时钟和使能信号。因此对于原生静态图像数据,该文采用的是通过主机接口输入,压缩后的压缩数据通过编码FIFO再输出给主机,即HIPI模式。

系统选用了响应波段为2.6um到3.2um的短波640x512红外焦平面探测器组件,可以将目标红外辐射转换为可检测的电信号。由于此波段的短波红外探测器的响应输出幅度较短,对于接近于绝对温度的目标响应为1.6V,对于高温目标,输出饱和在4.4V,对于如此窄的输出响应,为防止微小抖动产生的巨大误差,因此选用的是一款14位量化深度的A/D转换器,通过FPGA对A/D的配置,以及对短波红外探测器提供驱动信号,使每个像素点都量化为14bits的数据,经过FPGA对这些采集得到的数据进行处理,打包形成640*512*14bit为一帧的静态图像数据,最后帧图像数据通过ADV212进行无损压缩。将压缩后的数据流反馈给FPGA。

FPGA主要实现三个功能:1) 主机逻辑功能,对系统中的各个部分进行控制,包括对短波红外探测器的驱动控制,实现短波红外探测器以4MHz的速度、8通道同时输出模拟图像数据,该8通道一次输出相邻的8个像素点,逐行输出整帧图像;另外对A/D进行配置,使其能对探测器输出的数据全部采集并量化;最后是对ADV212的各个寄存器进行配置,使其能够压缩14bits深度的数据,并配置ADV212的输出通道,配置为外部DMA方式进行输出。2) 数据处理,将从A/D输出的14bits原始数据进行打包送至ADV212,另外接收ADV212输出的压缩码流。3) 对ADV212进行加载正确的固件,加载固件也是先对ADV212的相关寄存器进行配置,将固件写入到正确的固件地址中。

2.1 系统硬件设计

数据压缩是采用ADV212的HIPI模式,此模式是通过32-bit宽度的HDATA总线传输数据,在HDATA总线上,先将原始静态图像数据输入至ADV212,原始数据可以打包为8-bit或者16-bit形式,若位数不足则低位补0。由于本设计是要实现14bits深度的数据压缩,因此采用16-bit打包方式,低两位补0,每次采样两个像素点。当将规定好的一帧640*512的像素数据全部成功发送给ADV212以后,会得到ADV212的反馈信息,当ADV212准备好以后,所需要压缩数据码流便会以用户定义的要求通过外部DMA通道输出。

2.2 软件配置

ADV212的工作分两个阶段:(1) ADV212的初始化,ADV212的初始化是通过配置ADV212内部寄存器来实现的。(2) 通过外部DMA通道对数据进行采集,并输出压缩码流。

需要配置的内部寄存器包括PLL控制寄存器PLL_HI、PLL_LO,这两个寄存器主要是用来配置JCLK与HCLK,JCLK为ADV212的内部JPEG2000硬件各区块提供驱动时钟,HCLK为嵌入式处理器提供驱动时钟,JCLK的时钟频率最低不能小于50MHz最高不能大于150MHz,而HCLK不应超过108MHz。由于本设计中ADV212的主时钟MCLK为24MHz,因此可设计JCLK四倍于MCLK,为96MHz,HCLK两倍于MCLK,为48MHz。因此16bit直接寄存器PLL_HI、PLL_LO分别配置为0X0008和0X0004。这里要注意,在配置了PLL寄存器以后,需要软件延迟20us。接下来配置BOOT寄存器为0X008A,为ADV212内部进行软件复位,经过实验证明,为保证能够使ADV212正确的工作,设置之后要为软件复位保证至少15us的延迟时间。由于采用的HIPI模式,因此需要设置HOST为32位,DMA数据位宽为32位,因此配置BUSMODE寄存器为0X000A。设置MMODE寄存器为0X000A。接下来,要为ADV212加载正确的固件,固件的起始地址为0X00050000,通过FPGA的ROM加载方式,将固件加载到ADV212中。固件加载成功以后,会反馈到寄存器SWFLAG中,读取SWFLAG寄存器的值,若为0XFF82,则表示固件已经正确加载到ADV212中。除了上述寄存器以外,还要对数据输入总线进行设置,寄存器PMODE1设置为0X0318,设置其为14-bit的精度,因此32位的HDATA总线每次可采样两个精度为14-bit的像素点。设置图像的寄存器XTOT与YTOT,分别是图像横向像素与纵向像素点个数的设置,本设计的短波红外探测器的焦平面是640*512,因此设置XTOT为0X0280,YTOT为0X0200。设置VMODE寄存器为0X0012。最后,设置数据传输通道DMA,相关寄存器为EDMOD0与EDMOD1,分别映射的是Pixel FIFO与CODE FIFO,即像素输入FIFO与压缩码FIFO。

数据的读写时序是初始化完成后,检测/DREQ0信号是否有效,如果有效,通过FPGA使/DACK0信号有效,随后便可以在/WE信号的作用下将14-bit精度的图像数据通过DMA通道0传输到PIXEL FIFO中,当整帧数据都传输完毕以后,等待ADV212的压缩处理,当/DREQ1有效以后,说明ADV212已经将一帧图像的数据压缩完毕,当需要读取压缩码流时,FPGA通过控制反馈给ADV212信号/DACK1,通过握手告知ADV212可以开始传输,控制/RD,通过DMA通道1将CODE FIFO中的压缩码流传输给FPGA,直到所有码流输出完毕以后。读写时序如图6。

3 小结

本设计是基于FPGA+专用图像压缩芯片ADV212的结构来实现短波红外探测图像,不仅发挥了FPGA的高度灵活性的并行处理能力,同时也满足了系统要求的高效率的图像压缩。由于采用的是2.6um到3.2um波段的短波红外探测器,为避免增加图像噪声,因此需要使ADV212配置为5/3无损压缩模式,图像处理结果基本无失真,能够最大程度的保留原图像的细节信息,减少图像噪声干扰。压缩过程采用HIPI模式,不仅提高压缩效率,减少配置过程,另外,调整压缩参数方便、灵活,压缩信息容易恢复。

参考文献:

[1] 许中胜,徐邦荃.红外系统波段特性比较[J].电光与控制,2001(3):10.

[2] 陶宏江,韩双丽,张宇, 等. 基于ADV212的远程图像采集系统设计[J].液晶与显示,2013(9).

[3] 路建方,王新赛,贺明,等.基于ADV212芯片的红外视频无损压缩研究[J].红外,2013(1).

[4] 吕耀文,王建立,王昊京,等.应用抛物线运动估计摄像机姿态[J].光学精密工程,2014(4):1078-1085.

[5] 宋蓓蓓,孙文方.精确质量控制的遥感图像JPEG2000压缩方法[J].光学精密工程,2013,21(8):2180.

[6] 王丹,杨允基.ADV212编解码芯片原理及应用[J].舰船电子工程,2008,28(5):30.

[7] 张益.一种高效浮点DCT图像压缩系统研究与FPGA实现[D].电子科技大学,2012.

[8] 孙健,任国强,吴钦章.基于自适应指数哥伦布编码的图像压缩算法[J].光学精密工程,2013,21(11).

猜你喜欢
小波变换
基于双树四元数小波变换的图像降噪增强
MATLAB在《数字图像处理》课程中的辅助教学
基于互信息和小波变换的图像配准的研究
心电信号压缩方法研究