APP下载

适于CCD相机图像压缩的位平面编码器

2013-08-13金龙旭韩双丽郝贤鹏吕曾明陶宏江

电视技术 2013年13期
关键词:编码器比特平面

李 进,金龙旭,韩双丽,郝贤鹏,吕曾明,陶宏江

(1.中国科学院长春光学精密机械与物理研究所,吉林 长春 130033;2.中国科学院研究生院,北京 100039)

责任编辑:魏雨博

随着空间TDICCD相机空间分辨率和覆盖宽度指标不断提高,导致CCD相机图像数据量呈指数增加,现有机载存储器容量有限,数传系统带宽受限,无法适应空间CCD图像的海量数据[1-4]。因此,必须要对CCD图像进行压缩。JPEG2000是目前图像压缩性能最好的压缩方法,是各种图像压缩应用场合的首选方案[5-6]。然而,由于JPEG2000整体算法计算复杂、占用大量内存,难于硬件实现,不适于空间CCD相机的应用。为了使JPEG2000应用于空间CCD相机中,需要对其各部分进行改进。

JPEG2000中占用资源和耗时最大的是最优截断嵌入式块编码(EBCOT)单元,这是由于EBCOT内在是比特级的处理算法,它不同于小波变换单元(字节级的处理方案),因此计算十分复杂,花费了JPEG2000编码系统的主要时间。EBCOT的Tier-1算法可分为两部分:比特平面编码器(BPC)和二进制算术编码器(BAC)。BPC是EBCOT最核心的技术,国内外学者对其进行了大量的研究以减少块编码的时间。文献[7-8]主要集中减少块编码所要求的状态变量数目和设计高效的扫描机制,但是这些方法效率仍然很低,占用大量的存储资源,难以满足空间相机的应用。

本文在参考国内外相关技术的基础上,根据项目背景需求,结合TDICCD图像特点,提出一种适于空间TDICCD相机图像压缩的新的BPC结构。

1 比特平面编码器结构的提出

1.1 比特平面编码器

BPC是EBCOT中Tier-1的第一步,它将存储在码块(CB)存储器中量化后的小波系数进行BPC编码后,生成上下文信息(CX)和比特位的值(D)。每个数字的比特被分割,具有相同二进制权重的比特被独立存储在1个缓冲中形成1个比特平面。在比特平面内每4行形成1个Strip。在1个比特平面中,扫描顺序是从顶端到底端逐Strip进行的。在每个Strip中数据扫描是按照从顶端到底端逐比特,从左到右逐列进行的。

BPC有3种主要的编码通道:重要传播通道SPP,幅值细化通道MRP和清除通道CUP。这些通道被应用于1个CB的每个比特平面中,除了最重要比特(MSB)平面,都使用CUP。这是由于初始条件MSB平面所有比特在SPP和MRP中将不会被编码,其他比特平面使用SPP,MRP和CUP按顺序将会被编码。

1.2 数据路径分析

每个Strip在垂直扫描模式中被作为一个独立的实体。在这种模式的Strip周围被“0”填补,如图1所示。

图1 Strip周围填补“0”

BPC处理是从第0行0列开始,然后移到第1行,依次进行,在处理完第3行后,下一个处理的元素是右边下一列的第0行,按照此规律依次进行,直到Strip末端。这种运算原理表明这是一种滑动窗口结构。按照窗口的滑动,邻近的位置将会被改变。图2中的前6个数据元素的邻近窗口如表1所示。传统鉴定一帧邻近关系按照图2所示的方法进行。为了便于分析,将表1内容按照表2重新组织。

图2 扫描的元素和它的邻近元素

表1 图2中的前6个数据元素的邻近窗口

表2 帧交织中的邻近元素以及在SIPO中的位置

比较表1和表2中Strip数据行,可以观察到标号为1~9的元素表示图2中的Strip第1帧,4~12的元素形成第2帧,7~15的元素形成第3帧,依次类推,10~18形成最后一帧。表2中开始和结尾的3个元素被标为“0”,这是由于它们始终为0。因此,它们并不需要硬件实现,这也为使用4个3串行比特实现数据路径提供了可能性(详见文中第2节)。

2 比特平面编码器结构

提出的BPC结构如图3所示。DWT引擎产生13 bit,它被组织和存储在CB存储器中,提出的结构CB大小为32×32×14。在CB写操作的同时符合比特信息被分离并存储到符合平面中,状态变量(δ,δ′和η)存储到状态变量平面中。在数据通道1和2中生成处理任何幅值比特的邻近窗口。在执行条件被生成的基础上,BPC控制器决定哪个通道被执行,选择一个特殊的编码原始元素,并存储在上下文缓存中的上下文数据。

图3 BPC结构

图3中2个不同的数据路径是用来从选择的Strip中读取数据。由于符合和幅值比特没有变化,因此这些平面并没有被更新,而基于特定条件状态变量更新和新的值必须被存储以便将来被处理。因此,数据通道2和数据通道1略不相同。由1.2节知在4个3 bit SIPO、模5行计算器及9个4∶1多路复合器下当前邻近窗口可被得到,如图4所示为本文提出的数据通道2的VLSI结构。

图4 数据路径结构

BPC一次处理1个幅值比特,为了减少存储器访问,数据读写对于每列执行1次。为了处理第i列,第i+1列被读并存储在标记为M,Q,T和W的SIPO元素中。第i列和第i-1列数据将分别在SIPO的L,P,S,V和K,N,R,U元素中。这种方法4个SIPO容纳相应3列的12个数据比特。这些比特输入到9个4∶1多路复合器中,多路复合器一次输出9 bit形成当前的邻近窗口。一个模5计数器用来选择一个特定的以便准备进行处理的行,同时用来控制多路复合器链的选择行。该计数器的前4个状态对应一列中的行,而第5个状态用来预获取下一个列和存储更新的变量。

3 实验结果

为了验证本文提出的BPC结构可行性,提出的结构在ISE8.2使用Verilgo HDL实现,硬件电路FPGA器件选用XC2V1000-BG575,压缩算法其他模块采用传统JPEG2000算法。整个算法编写调试过程使用Modelsim XE 6.3仿真软件进行辅助设计。同时为了验证本文提出的BPC结构是否可行使用自主研发的图像模拟源设备,图像模拟源发送测试图像,压缩系统对图像进行压缩,并将压缩码率传输到解压缩系统中,重构的图像经Camer-Link传输到计算机上进行分析,图5为原始图像和重构图像。

由图5可知本文设计的BPC能够正常工作。

表3为本文设计的BPC结构性能参数结果。

图5 测试图像压缩结果(截图)

表3 BPC实现结果

由表3知,本文提出的BPE工作频率达到75 MHz,满足设计指标要求。

为了测试设计压缩系统性能,地面检测系统向压缩系统发送各种测试图像进行实验,并与传统方法进行比较,平均PSNR实验结果如表4所示(压缩比为8∶1)。

表4 PSNR实验结果 dB

由表4知,本文压缩系统平均PSNR达到40 dB,比传统方法提高了0.91 dB。

4 结论

针对目前JPEG2000中最优截断嵌入式块编码器硬件实现效率低且占用大量资源问题,本文提出一种适于空间TDICCD相机图像压缩的JPEG2000比特平面编码器(BPC)。本文提出的BPC结构思想是基于数据路径详细分析来获得上下文窗口的。另外,使用自主研发的地面检测设备对采用本文提出的BPC结构设计的JPEG2000图像压缩系统进行实验。实验结果表明,使用本文提出的BPC结构CCD图像压缩系统可以稳定可靠地工作,BPC具有较高的工作性能,工作频率达到75 MHz。压缩系统与传统方法相比较,平均PSNR提高了0.91 dB。非常适于空间TDICCD相机的应用。为空间CCD相机图像压缩提供了一种很好的解决方案。

[1]李彬,张建华,吴增印.一种适合星载多光谱图像的压缩算法研究[J].航天返回与遥感,2011,32(1):28-32.

[2]王建军,刘波.适于硬件实现的无损图像压缩[J].光学精密工程,2011,19(4):922-928.

[3]王磊,吴家骥,白静.基于整型可逆时域交叠变换的遥感图像压缩[J].光子学报,2010,39(12):2251-2256.

[4]ALBERT L,CHANG C F.Implementation of CCSDS data compression for remote sensing image[C]//Proc.SPIE 7810,Satellite Data Compression,Communications and Processing VI,2010.San Diego,California:[s.n.],2010:1-10.

[5]SON C H,KIM J W,SONG S G,et al.Low complexity embedded compression algorithm for reduction of memory size and bandwidth requirements in the JPEG2000 encoder[J].IEEE Trans.Computer electronics,2010,56(4):2421-2429.

[6]刘永征,刘学武,胡炳樑,等.基于ADV212的JPEG2000静态图像压缩系统设计[J].电子器件,2009,32(3):504-508.

[7]GANGADHAR M,BHATIA D.FPGA based EBCOT architecture for JPEG 2000[J].Microprocessors and Microsystems,2005,29(11):363-373.

[8]LI Y J,BAYOUMI M.A three-level parallel high-speed low-power architecture for EBCOT of JPEG2000[J].IEEE Trans.Circuits and Systems for Video Technology,2006 ,16(9):1153-1163.

[9]MINSOO R,PARK I.Memory-less bit-plane coder architecture for JPEG2000 with concurrent column-stripe coding[C]//Proc.IEEE International Conference,2009 .[S.l.]:IEEE Press,2009:2673-2676.

[10]LI Baofeng,DOU Yong.Subblock-based BPE scheme to conquer mismatch in memory access pattern[C]//Proc.Intelligent Information Hiding and Multimedia Signal Processing,2008.[S.l.]:IEEE Press,2008:814-817.

猜你喜欢

编码器比特平面
融合CNN和Transformer编码器的变声语音鉴别与还原
立体几何基础训练A卷参考答案
基于FPGA的同步机轴角编码器
比特币还能投资吗
比特币分裂
比特币一年涨135%重回5530元
应用旋转磁场编码器实现角度测量
参考答案
关于有限域上的平面映射
神秘的比特币