超高分辨率图像压缩系统

2015-04-20 00:44费聚锋
制导与引信 2015年4期
关键词:高分辨率像素点分辨率

陈 亢, 费聚锋, 严 鹏, 唐 佳

(上海无线电设备研究所,上海200090)

0 引言

SP-20 000系列是丹麦JAI公司推出的高性能的面阵工业摄像机[1],采用2 000万像素超高分辨率的CMOS传感器,输出Bayer格式的彩色高清图像,在分辨率和采集速度方面均可达到极佳的性能,又因其较小的体积,广泛应用于航空监测和航天测绘等领域。该相机在5 120×3 840的全分辨率下,采集帧率可达30帧/秒。

利用工业摄像机可以在星上对地进行超高分辨率的实时观测,实现方法是对星上高分辨率图像先进行图像数据压缩处理,再通过高速数传将压缩数据传输到地面。这就需要突破高分辨率图像压缩以及高速数传的相关技术,进而研制出星上图像压缩处理与高速数传一体化的模块,来达到对星上图像数据实时处理并传输的目的。

ADV212是美国ADI公司生产的一款能对图像进行JPEG2 000压缩/解压缩的专用编解码芯片,采用SRAM 工艺构造硬件,延迟小,功耗低[2]。

文章通过对工业相机的配置和控制拍摄出超高清分辨率5 120×3 840的图像,基于Xilinx公司的V5系列FPGA 和TI公司的DSP28xx的开发平台,并结合图像的特点对图像进行相应的分割算法处理,再配合ADV212强大的编解码功能实现了对超高分辨率图像的压缩。最后,用大容量的NANDFLASH 进行压缩数据的存储,既可以实现实时压缩传输功能,也可以满足大批量数据存储的需求。

实验表明,对超高分辨率图像进行压缩处理后再重构还原,不仅视觉效果较好,也达到了较高的指标。

1 超高分辨率工业相机

1.1 超高分相机的图像格式

实验中采用的是JAI公司的SP-20 000系列相机,拍摄出Bayer格式的彩色图像,由红色像素点R,蓝色像素点B,绿色像素点(G1、G2)组成,每个像素点大小为一个字节。此类图像的构成格式提高了图像的色度信息量,比普通的RGB格式更为清晰,同时也增大了整幅图像的分辨率[1],其排列模式如图1所示。

图1 彩色图像Bayer格式的组合模式

第一行以R、G1像素点循环的方式排列,第二行以G2、B 像素点循环的方式排列,这种排列较为复杂,给压缩处理带来了难度[2]。

1.2 相机控制

相机采 用2 个Camera link 接 口,分 控 制 线和数据线来实现对相机的配置和图片数据传输。

采用异步422串口对相机进行拍摄参数的配置,主要参数有相机的拍摄帧数、输出图像数据位宽、曝光时间、增益等。

由于上位机串口默认波特率与相机默认的不匹配,需要在FPGA 中实现控制命令的波特率转换,转换后输入给相机,相机配置完毕后开始正常工作,输出所拍摄的图像数据。整个控制与数据传输的框图,如图2所示。

图2 相机控制与数据传输框图

其中,上位机与FPGA 通过异步422 相连,上位机发送相机命令,FPGA 转发相机的配置回复信息;FPGA 内部将波特率进行转换后,将相机配置命令以异步422 方式发送给接口转发芯片,同时接收相机的配置回告信息和图像数据。

1.3 相机数据的输出方式

相机工作模式配置成FULL 模式,该模式的传输标准格式,如图3所示。

图3 相机FULL模式的传输格式示意图

一幅图像总大小为5 120×3 840像素,一次传输8个像素,每行分640次传输,每一个像素大小为8bit。

2 图像数据预处理

2.1 图像数据接收和缓存

专用转换芯片DS90CR 系列可对相机接口Camera link进行高速的数据转换[3],其数据传输时序如图4所示,实现了接口电平和位宽的转换,转换完之后将图像数据送入FPGA。

图4 接口数据传输时序图

考虑到相机图像数据输入FPGA 的速度很快,可达到640 Mbyte/s,FULL 模式下传输完一幅5 120×3 840 的 图 片 只 需30.72 ms。而ADV212芯片最大输入吞吐率为65 Msamples/s,四片212同时工作,最大可达到260 Mbyte/s的吞吐率[3],远小于数据的输入速度,所以在抽取像素之后必须要加入外置缓存模块。

本文选用镁光公司MT47系列的一对DDR2来实现对一幅完整图像的高速数据缓存[4],其单片的缓存容量可达1 GB,工作频率可达400 MHz。利用FPGA 中的IP 核生成DDR2的主控制模块,选用Burst 读写模式来实现对DDR2的读写。

2.2 图像分割

一般格式的图像可以转换成“YUV”或是“YCbCr”标准格式送入专用压缩芯片进行后续的处理,而高分辨率Bayer格式的图像中“R、G1、G2、B”每个像素点有8bit,这样的像素组合方式若转换成“YUV”或“YCbCr”的格式:

a)一是转换运算较复杂会带来更多的计算量和系统处理时间上的损失;

b)二是转换算法会损失原始图像精度[4]。

考虑到时间、空间复杂度和精度的要求,决定保留“R、G1、G2、B”这样的像素组合方式,为了方便之后的压缩处理,就要求对图像像素进行合理的分割。图像分割预处理的流程框图如图5所示。

图5 图像分割预处理的流程框图

将原图像分成由R、G1、G2、B 四个像素元单独组成的大图并存入DDR2,之后再读入FPGA,各自进行合理适应性的分块发送到ADV212 进行压缩处理。

3 图像压缩模块

3.1 图像压缩模块的硬件设计

一幅图像可分成32 块,由4 片ADV212 同时进行压缩,每片ADV212 负责其中的8 块。ADV212通过DSP 来进行初始化配置,上电之后,通过FPGA 给DSP 发送初始化起始命令INIT_START,DSP通过总线将配置参数由FPGA 发送给ADV212,配置完成后给FPGA 发送完成信号INIT_DONE[5],FPGA 即可将数据送至ADV212中进行压缩。

其中,将ADV212配置为VDATA 的输入模式和JDATA 的输出模式[6]。整个压缩系统基本的设计框图,如图6所示。

图6 压缩系统框图

3.2 图像压缩模块的软件设计

根据设计方案将5 120×3 840的原图分成4块由单一像素元组成的图像,每个像素元组成图像的大小为2 560×1 920,约5 Mbyte,一片ADV212每一次压缩过程可以处理的最大数据总量为1 Mbyte,因此就需要把图像分块送进ADV212中,依次进行压缩,具体流程图如图7所示。

图7 压缩码流的存储流程图

由于4片ADV212 同时对不同的块进行压缩,这就会使解压缩和重构图像难度增大。为了方便后面的处理,在对ADV212 发送图像数据时,保持4个通道同步,在接收端,对4片212的输出长度分别进行计算,对压缩数据尾部进行判别(若压缩选为JP2 格式,则数据流尾部为“FF D9”),以最大的长度值作为4个通道输出的统一的数据长度来进行存储,这样就给后面的重构处理提供了方便。

3.3 图像压缩数据的存储

由于速率匹配等因素,对212芯片输出的图像压缩数据先进行存储。

考虑到整个系统设计的可移植性和多用性,本文选用了4片镁光公司MT29F64G 系列的大容量存储芯片NANDFLASH,每片容量为64 GB,读写周期可达12ns,吞吐量最大约为83 Mbyte/s。这样的设计即可以在实时压缩传输系统中实现高速缓存的功能,又可以用在先大批量压缩存储、再读出、传输及重构的设计系统中,增加了系统设计的灵活性。

4 图像重构及结果分析

4.1 图像重构

利用工业相机在实验室对相距10m 外某标牌进行拍摄,设定相机帧频为8fps,每帧像素5 120×3 840拍摄图像,设定ADV212的压缩倍数为16 倍,经过系统缓存、分割处理、压缩和存储,再通过串口将存储的图像压缩数据读出。

利用MATLAB 对压缩码流进行解压和重构,得到分辨率为2 560×1 920的4幅单色像元构成的图像。再将这4幅单色图按照原图格式重新插值还原,组合成5 120×3 840分辨率的大图,如图8所示。

图8 重构图

由图中可以得出,采用此分割压缩处理方式得到的重构后的完整图像,能较清晰地分辨出其中的纹理。

4.2 结果分析

利用专用相机板卡和软件读取原始图像。将其与重构完成的图像进行计算,得到图像像素幅度值的均方根误差eMSE。

式中:M、N 为图片行、列像素数的总数;f0(i,j)、f(i,j)为原始图像和重构图像坐标为(i,j)处的像素幅度值。根据图像的均方根误差即可得峰值信噪比为

式中:fmax表示原始图像像素点幅度值的最大可能值,若一个像素点位宽为8bit,fmax=28-1=255。

通过调整压缩倍数,对系统压缩结果进行了多组测试,得到本文设计的压缩系统的压缩倍数与峰值信噪比的对应表格,如表1所示。

表1 不同压缩倍数对应的峰值信噪比值

通过计算结果可以得出,压缩倍数越大,重构图像的峰值信噪比越低,不过在压缩比适中的情况峰值信噪比基本能控制在30dB以上。

综上所述,压缩系统很好地适应了此类超高清分辨率图像的特点,通过合理的硬件设计和软件处理,完成了超高清分辨率图像实时压缩存储的功能。

5 小结

设计了一个针对星载超高清分辨率工业相机拍摄出的Bayer格式图像进行实时压缩处理的系统,综合了FPGA、DSP 和ADV212等多个应用平台,配置了高速缓存芯片DDR2和大容量存储芯片NANDFLASH,灵活、高效的完成了整个功能。将其与高速数传系统进行整合,来达到星上图像数据实时压缩处理并高速传输的目的。

另外,经过实验验证,该压缩系统最大可适应高清工业相机10fps的帧频输出速率,若在此基础上再增加两个同样的系统,便可达到30fps的处理速度,这样就可完成对超高清视频模式的压缩处理。

[1] Koh C C,Mitra S K.New Efficient Method of Image Compression in Digital Cameras with Color Filter Array[J].IEEE Trans on Consumer Electronics,2003,49(4):148-1456.

[2] 王金涛,王骁男,张忠华,等.基于FPGA 的彩色图像Bayer变换实现[J].现代电子技术,2010,(10):75-77.

[3] 余建宇,侯颜平,李勇.JPEG2000 编解码芯片ADV212的原理及应用[J].国外电子元器件,2005,(7):36-38.

[4] 刘方.基于Bayer彩色滤波阵列差值算法的研究[D].成都:电子科技大学,2006.

[5] 费聚锋.一种提高无线低传输率下实时传输图像质量的方法[J].制导与引信,2009,(4):49-54.

[6] 魏忠义,朱磊.基于DSP的JPEG 图像解码算法的实现[J].现代电子技术,2005,(2):66-68.

猜你喜欢
高分辨率像素点分辨率
基于生成对抗网络的无监督图像超分辨率算法
图像二值化处理硬件加速引擎的设计
基于局部相似性的特征匹配筛选算法
探讨高分辨率CT在肺部小结节诊断中的应用价值
高分辨率合成孔径雷达图像解译系统
基于像素点筛选的舰船湍流尾迹检测算法
原生VS最大那些混淆视听的“分辨率”概念
基于canvas的前端数据加密
关于为“一带一路”提供高分辨率遥感星座的设想
高分辨率对地观测系统