聂永丹,张 岩,唐国维
(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)
近年来,国内外图像编码技术的研究方法多集中在DCT变换[1]、小波变换[2],以及在小波变换基础上的改进编码技术,但是小波变换在分析二维信号时并不是最优或最稀疏的函数表示方法[3]。针对纹理丰富的图像编码遇到的瓶颈,探索结合更有效的稀疏表示方法是图像编码压缩技术的重要方向。DO等提出的Contourlet变换[4],由于具有多分辨率和多方向性,因此能够较好地表示图像等二维信号所特有的几何特征。由于Contourlet变换存在冗余,ESLAMI等提出了基于小波变换的Contourlet分析(Wavelet-Based Contourlet Transform,WBCT)[5]。该方法去掉了LP滤波器[6]引起的冗余,形成了非冗余并且可以完全重构的新滤波器组,有效地近似表达二维信号。文献[7]提出基于WBCT结合SPECK[8]的图像编码算法(C-SPECK)。实验结果表明,算法获得的峰值信噪比有一定的提高,而且对局部纹理失真较小;但由于SPECK编码算法的4叉树分裂方式需要占用大量的内存空间,另外其单通道的比特平面编码方式,与简单的嵌入式编码策略,导致编码率失真性能不是最优的。
JPEG2000是新一代静止图像压缩标准,其核心算法是最优截断嵌入码块算法(Embedded Block with Coding Optimized,EBCOT)[9]。编码的码块之间保持相对独立,有效提高了容错能力。Tier1编码通过采用3个编码通道,能减少每个通道的编码数据量,更有利于率失真的控制,由于增加了位平面编码,因此可以使重要的数据优先编码,从而提高图像编码效率。在Tier2编码中,经过率失真优化算法(Post-Compression Rate-distortion Optimization,PCRD)[10],对所有码块的嵌入式压缩码流进行适当的截取,得到最优的编码率失真性能。目前该技术已广泛应用于图像传输领域。由于使用离散小波变换(DWT)取代了JPEG中的离散余弦变换(DCT),作为JPEG2000的核心变换算法,没有对细节丰富的高频子带进行处理,会产生更多的细节信息损失,对纹理丰富的图像压缩效果欠佳。宋蓓蓓等提出了一种结合WBCT变换与EBCOT的静止图像压缩算法(CEBCOT)[11]。该算法依照方向子带大小进行编码块分割,能更稀疏地表示图像的边缘和纹理,获得的压缩图像边缘更加清晰,峰值信噪比也有一定的提高。但存在的问题是从WBCT变换角度来看,在对小波高频子带方向滤波时,采取各子带方向滤波分解数目固定的方式进行方向滤波分解,虽然能较好地捕获各高频区域的纹理细节信息,但是没有充分考虑方向滤波产生的系数分布对后续编码的影响,对编码的指导意义不够充分。
文中根据EBCOT编码算法的码块划分结构,在小波高频区域WBCT分解子带内计算码块的平均熵,以码块的平均熵最小化原则优化WBCT分解,降低码块内系数的复杂程度,提高比特平面编码过程邻域系数的相关性,有利于图像编码。经过与同类算法的对比实验,结果表明,压缩图像的数据峰值信噪比有所提高,且图像中纹理区域的保持效果较好。
WBCT是一种有效的二维信号稀疏表示方法,其思想是利用小波分析中的Mallat塔式分解结构,替代Contourlet中的LP分解,消除Contourlet中的冗余。该过程通过采用可分离的滤波器组实现。使用方向滤波器分别对Mallat结构的高频子带进行卷积操作,可以更加稀疏地表示二维图像,分解过程是由不可分离且具有层次结构的扇形滤波器组实现,原理如图1所示。
图1 WBCT原理示意
WBCT继承了小波变换和Contourlet变换的优点,同时又弥补二者的不足,从而更容易捕捉纹理区域中的几何结构和纹理特性。将WBCT应用于编码,小波低频子带一般不进行方向分解,避免造成能量的损失,进而影响信号的编码效果,因此小波高频子带如何优化方向分解以保证编码效率是一个重要问题。
由于Contourlet将二维信号中临近的奇异点合并成轮廓,使用一个变换系数表示,使二维图像中边缘的系数能量更加具有聚集性。方向分解会引起各个子带中信息熵的变化,并且信息熵的大小与Contourlet分解的方向数相关。文献[7]提出采用子带熵[12]最小化原则作为Contourlet方向滤波的优化条件,但是子带平均熵不能体现各个码块的系数分布复杂程度,对基于码块内部相关性的编码算法指导意义不够。EBCOT在Tier1编码过程中,位平面编码后采用的熵编码是自适应二进制算术编码器MQ,当前所在系数的有效性状态(significance)及其周围的8邻域所在点的有效性状态如图2所示。产生上下文序号Cx和二进制判决数据D;概率估计模型则根据Cx和D选择相应的概率和符号值,在接下来的算术编码部分根据概率和符号值生成最终的压缩数据,如果邻域包含的各个系数分布趋于平均,上下文估计概率准确率将会提高,算术编码得到的编码数据量也相应会减少。
P1P2P3P8XP4P7P6P5
图2 EBCOT8邻域示意
因此,最优的方向分解数目应该能够将小波子带内部各个码块信息熵的均值达到最小。文中以码块平均熵最小化原则作为方向滤波的优化条件,有利于提高EBCOT编码效率。设t为小波分解后的任意一个高频子带,其分解方向数目为2j(j=0,1,2,…),定义该子带任意一个码块s的熵为:
(1)
其中,p(i)为码块s中第i个系数出现的概率;N为码块s中包含系数的数目。
当对该小波分解产生的子带t进行数目不同的方向分解时,其信息熵的值会发生变化。如果熵值变大,则表明有轮廓信息被打散;反之,则表明有变换系数合并生成轮廓。为此,对小波变换的某一高频子带t,如果分解方向数目为2j(j=0,1,2,…),则其码块信息熵的均值为:
(2)
其中,M为小波高频子带t中包含的所有码块数目。
基于熵的Contourlet方向分解优化过程如下:
(1)对图像进行L级小波变换,得到3L个高频子带和1个低频子带;
(2)选取某一待分解小波高频子带t,假定其为第u(1≤u≤L)级,确定其初始方向分解数为2j=2L-u+1;
(4)若j≤1,选取方向分解数为1,转步骤(6);
(5)令j=j-1,返回步骤(3);
(6)如果所有小波变换产生的高频子带处理完毕,则算法结束;否则,返回步骤(2)。
EBCOT算法以块状结构组织变换系数,利用变换系数的局部相关性可以实现图像的高效压缩,并具有分辨率可伸缩、质量可伸缩、随机访问等优越性。算法核心部分由两部分组成—Tier1(块编码)与Tier2(码流组织)[13-14]。Tier1模块完成比特平面编码,并根据码块的上下文模型实现自适应算术编码;Tier2通过率失真优化算法(Post Compression Rate Distortion,PCRD),负责对码流进行优化截断和打包。由于WBCT通过小波变换中的Mallat金字塔式分解替代了Contourlet变换中的LP分解结构,形成非冗余并且可以完全重构的滤波器组,因此既继承了小波变换和Contourlet变换的优点,又更有利于表达图像纹理区域中包含的几何结构。经过码块平均熵最小化原则优化方向分解后,使得码块内部系数趋于平均,有利于提高EBCOT基于上下文编码模型的算术编码效率。在进入EBCOT编码器之前,先将小波变换后的各个子带系数分成较小的码块,推荐大小为64×64或32×32。考虑每一个代码块完全包含在一个子带中,码块与其他子带的码块保持相对独立,有效提高了数据压缩的容错能力,熵编码后通过Tier2编码生成码流,算法描述如下:
(1)选择双正交小波基D9/7对图像数据进行L级小波分解;
(2)依据1.2节的算法来确定小波高频子带中最优的方向分解数目;
(3)利用最优方向分解数目,对小波子带进行方向分解;
(4)对WBCT分解后产生的各子带码块采用EBCOT算法编码;
(5)算法结束。
仿真图像采用标准测试图像Lena和Barara。在实验过程中,EBCOT模块设置为64×64,小波基选取适合图像压缩的双正交小波基D9/7,小波分解为5级,方向分解滤波器采用pkva滤波器[15]。不同算法的压缩效果如图3所示。由于C-SPECK算法基于SPECK编码算法,在高压缩比下导致失真较为严重,JPEG2000仅采用离散小波变换的压缩效果不及文中算法,因此文中算法得到的PSNR值高于另外两种算法,并且纹理区域保持良好。
图3 不同算法压缩重构效果对比
图4 不同算法压缩重构效果对比
图4给出了Barbara图像在0.1 bpp码率下,JPEG2000算法及文中算法的编码及部分区域放大效果。可见文中算法纹理复杂区域失真较小。
表1是Barbara图像在不同码率下,JPEG2000算法与文中算法编码的PSNR值对比。从表1可见,文中算法在各码率下均能取得较高的PSNR,尤其在低码率下,文中算法约超过JPEG2000算法1 dB左右。
表1 不同码率下的PSNR对比
将WBCT与EBCOT编码算法相结合,通过码块熵最小化原则优化小波变换高频子带的方向分解,增加码块内部系数的相关性,提高编码效率,利用EBOCT编码算法生成编码流。经过对比实验,结果表明,文中算法不仅可以提高峰值信噪比,而且对图像中的局部纹理保持效果较好。
[1] 韦长江,郝鹏威,石青云.基于整型DCT变换的图象编码研究[J].中国图象图形学报,2002,7(3):287-291.
[2] 田金文,柳 斌,柳 健.基于整数小波变换的准无失真图像压缩技术[J].电子学报,2000,28(4):64-68.
[3] 何玉杰,李 敏,吕 东,等.一种基于Curvelet变换的红外图像去噪方法[J].计算机工程与应用,2011,47(32):191-193.
[4] DO M N,VETTERLI M.Contourlets:a directional multiresolution image representation[C]//Proceedings of IEEE international conference on image processing.[s.l.]:IEEE,2002:357-360.
[5] ESLAMI R,RADHA H.Wavelet-based contourlet transform and its application to image coding[C]//Proceedings of IEEE international conference on image processing.Singapore:IEEE,2004:3189-3192.
[6] 王发牛,梁 栋,程志友,等.一种基于非抽样LP的Contourlet变换图像去噪方法[J].中国图象图形学报,2009,14(3):458-462.
[7] 唐国维,张 岩,王苫社,等.基于Contourlet方向滤波优化的SPECK图像编码算法[J].信息与控制,2015,44(6):641-647.
[8] ISLAM A,PEARIMAN W A.An embedded and efficient low complexity hierarchical image coder[C]//Conference on visual communications and image processing.[s.l.]:[s.n.],1999:294-305.
[9] TAUBMAN D.High performance scalable image compression with EBCOT[J].IEEE Transactions on Image Processing,2000,9(7):1158-1170.
[10] BALSTER E J,FORTENER B T,Turri W F.Post-compression rate-distortion development for embedded block coding with optimal truncation in Jpeg2000 imagery[J].International Journal of Image & Graphics,2011,11(4):611-627.
[11] 宋蓓蓓,许录平,孙文方.一种基于小波的Contourlet变换的图像压缩算法[J].西安交通大学学报,2007,41(4):479-483.
[12] AULILLINAS F.Entropy-based evaluation of context models for wavelet-transformed images[J].IEEE Transactions on Image Processing,2015,24(1):57-67.
[13] 朱悦心,张 静,王 勇,等.JPEG2000全通道并行EBCOT-Tier1编码器结构设计[J].电子与信息学报,2006,28(12):2362-2366.
[14] 庄怀宇.内嵌图像编码中高效码率控制技术研究[D].西安:西安电子科技大学,2006.
[15] DUNCAN D Y,DO M N.Directional multiscale modeling of images using the contourlet transform[C]//IEEE workshop on statistical signal processing.[s.l.]:IEEE,2003:262-265.