詹 为,段先华,於跃成
(江苏科技大学 计算机学院,江苏 镇江 212003)
信息时代带来了“信息爆炸”,导致了数据爆炸性增加。因此,不管数据传输或数据存储,高效数据压缩是必要的,例如,在遥感技术领域,各种空间探头必须使用压缩技术将巨大的数据信息发送回地面。然而,随着现代信息通信在商业社会中的需求日益增长,图像通信和通信网络的容量之间的矛盾越来越突出,特别是大量的数字图像数据难以传输存储。并且在获得和使用图像信息时也造成了很多困难,成为图像通信发展中的“瓶颈”问题。为了解决这些问题,越来越多的学者致力于图像压缩的研究。传统的基于块的变换,通过块运动估计和补偿技术来消除多余图像部分的离散余弦变换(DCT)压缩方法在低码率时恢复图像会出现明显的方块效应[1-3],这将在一定程度上影响图像的恢复质量。针对这一问题,近年来基于小波变换的图像压缩方法逐渐成为其研究热点。
近年来,基于小波的图像压缩算法与嵌入式比特流相继提出,如嵌入式零树小波压缩(EZW)算法、集合分层树(SPIHT)算法、嵌入式块编码与优化截断(EBCOT)算法和自适应扫描小波差分减少(ASWDR)等等。其中,EZW[4]是一种简单有效的图像压缩算法,由Shapiro于1993年提出。EZW算法适应不同尺度层在小波域中的幅度相关性预测和排序,可以消除像素之间的相关性,同时可以在不同的分辨率下保持精细的结构。所以EZW可以实现一些重要系数的渐进编码和有效压缩。
虽然EZW算法现在被认为对于小波图像编码方法更有效,但仍存在不足之处。例如:EZW的编码思想是通过不断扫描小波变换后的图像,以生成更多的零树来对图像进行编码。扫描过程中为了判断小波系数是零树根还是孤零,需要对系数进行重复扫描;由于EZW算法中的“零树结构”思想,在实际的编码过程中,生成的零树根越多,用以表示图像的数据量便会越少。而多棵零数根将会导致零树根大量存在编码流中;编码产生的四种符号中,每一种符号出现的机率也是不相等的。出现机率最高的是零树根,占有的比率达到百分之五十以上,而且它的连续性也很强。另外三种符号出现的机率不是很高且连续性也不是很强。
上述问题会导致编码符号流中存在大量冗余,使得压缩编码时间变长,从而降低图像的编码效率。基于此,提出了一种改进算法。首先通过扩充编码符号改进扫描方式,能够实现零树结构的快速判断,然后将改进算法用霍夫曼编码代替算术编码方法使其更简单。
在图像处理中应用的小波变换是二维小波变换,定义为:
(1)
其逆变换如下:
(2)
(3)
其中,ψ(w1,w2)是ψ(x,y)的二维Fourier变换。
数字图像中采用的是二维离散小波变换。在选择小波基的基础上,将图像分解成许多不同的尺度、方向,小波变换后空间域子带图像发生变化,二维小波变换可以看成行和列两个方向的一维小波变换。对于一幅原始图像,先对其行作小波变换,行变换结束后,再对其进行列小波变换。根据这个算法,在小波变换后分解为四个子系统的图像:LL表示特征的原始图像,包含原始图像的基本内容;LH、HL和HH是垂直、水平和高频特性的对角分量向右倾斜,分别包含边缘、纹理和轮廓等垂直、水平和对角线方向的图像数据。这里LL子带包含图像的大多数数据,然后对小波变换的一级低频子带重复以上变换,直到达到所需要的分辨率为止[5-6]。一级分解后继续分解的过程叫做多分辨率分析,即多级小波分解的概念,形成小波的多级变换。
基于小波变换的图像压缩编解码框图如图1所示。其中,整幅图像首先通过小波变换,然后实际编码应用于完整的小波系数。小波是有损压缩技术之一,一般有三个过程:
(1)变换:将变换后的数据变换为小波系数矩阵。
(2)量化:小波系数被量化为有限的字母表,这一步不是可逆的。
(3)编码:量化之后得到的符号被进一步压缩为最小化比特率。
图1 图像编码框图
相比较离散余弦变换,基于小波变换的图像压缩能够更好地实现较高的压缩比和较理想的图像恢复质量。而嵌入零树小波图像编码、分层小波树集分割算法和优化截断点嵌入块编码算法则是目前比较经典的小波图像编码算法[7]。文中将围绕EZW算法展开。
一般来说,在小波图像压缩过程中量化是其中最关键的部分,它将图像小波系数很好地组织起来实现有效压缩。小波零树编码主要采用小波特征系数,很好地实现了嵌入式图像编码。其编码思想是不断扫描变换图像,生成更多的零树到图像代码[8]。其算法步骤可执行如下:
(1)确定初始阈值T0。
T0=2⎣log2(MAX(|Xi|))」
(4)
其中,Xi表示小波变换分解到第i级时的系数,之后每扫描一次,阈值减少一半。
(2)主扫描。
第n(n=1,2,…,L)次扫描时,算法按照顺序将小波分解系数与阈值Ti-1依次进行比较,已处理的系数由以下输出符号表示:
零树根(T),孤立零(Z),正重要系数(P)和负重要系数(N)。其表示分别为P:当前系数为正且绝对值大于阈值;N:当前系数为负且绝对值大于阈值;T:当前系数绝对值小于0为不重要系数且所有子孙系数都为不重要系数;Z:当前系数值不重要,但是至少有一个儿子系数重要。通过四个符号,扫描小波系数,并判断小波系数,并将相应的符号放入符号表中。也就是说在扫描过程中,用一个主扫描表记录这些输出符号。为防止下次主扫描时重复编码,在第n次扫描结束后,将输出符号为P或N的系数的位置加标记或将这些系数置0。
(3)辅扫描。
对于主扫描后的重要系数做细化编码。对主扫描表进行顺序扫描,对其中输出符号为P或N的小波系数进行量化。在量化系数之前要构造量化器。量化器的输入间隔为[Tn-1,2Tn-1),将其等分为两个量化区间[Tn-1,1.5Tn-1),[1.5Tn-1,2Tn-1),若小波系数属于前一区间,则输出量化符号“0”,重构值为1.25Tn-1,否则输出量化符号为“1”,重构值为1.75Tn-1。输出的符号“0”、“1”由一个辅扫描表记录。
(4)重新排序,其目的为与设置第n+1次扫描所用的量化间隔,以提高解码精度。
(5)输出编码信息。
(6)重复上述步骤,直到满足所需的比特率编码停止为止。
EZW的编码思想是通过不断扫描小波系数,以生成更多的零树来对图像实现编码,经研究发现该算法存在下列问题[9-15]:
(1)存在重复扫描,不仅浪费了时间和空间,而且影响了效率。
(2)逐次逼近量化过程中,产生了多棵零树,不仅增加了编码的比特数,同时也增加了编码工作计算量。
(3)编码产生的四种符号中,每一种符号出现的机率也是不相等的。出现机率最高的是零树根,占有的比率达到百分之五十以上,而且它的连续性很强。另外三种符号出现的机率不高,连续性也不强,这将会出现大量连续的零数根。因此不仅浪费了时间,同时也影响了图像的编码效率和压缩比率。若采用原EZW算法的扫描方式和编码方法,算法的复杂度会增加且会产生编码冗余。
针对其不足,提出了以下改进方案。
(1)采用扩充编码符号的方法进行改进,用6个标志位代替EZW算法中的4个标志位对小波系数进行量化,以实现零树结构的快速判断。由于在图像的分解过程中,会产生大量的能量,其中大部分会聚集在低频子带中。这就导致了低频子带的系数远远大于其余的子带,因此会产生更多的零树。而且在编码时重要系数的后面依旧会产生很多零树根,因此在扫描低频子带LL时,若一个系数为正重要系数,则继续对其子孙系数进行判断,若子孙中至少含有一个重要系数则标记为Pn,若不含重要系数则标记为P;若一个系数为负重要系数,则继续对其子孙系数进行扫描判断,若子孙中至少含有一个重要系数则标记为Nn,若不含重要系数则标记为N,并对子孙系数进行标记,在该阈值下跳过不扫描。通过这种方式,减少了对重要系数的扫描,提高了效率。
(2)改进后,用霍夫曼编码代替原来的算数编码。算术编码采用不同的概率分布模型进行编码,相比较霍夫曼编码,大大增加了算法的复杂度。上述提到EZW编码算中会出现大量的零数根,各个符号出现的机率不同,而霍夫曼编码会统计每个频率符号,按照大小的频率和二叉树的重新形成排序,并获得所有的符号代码。因为霍夫曼代码是不等长的编码,短码表示高概率,而长码表示低概率,从而实现压缩的目的。此外,霍夫曼编码是一个无损编码方法,理论上不影响图像恢复。主扫描编码后标志位符号的这种特点正好符合霍夫曼编码的特点。采用霍夫曼编码不但可以减少编码所需要的比特数,而且还可以降低算法的复杂度。
改进编码算法就是根据其EZW算法特性,通过扩充编码符号改变扫描顺序,并根据霍夫曼编码特性,结合霍夫曼编码来提高图像的压缩性能。改进算法的具体实现步骤可以总结如下:输入一幅原始图像,先对其进行小波变换,然后主扫描,产生用以记录重要系数位置信息的小波系数符号表;其次是副扫描,产生记录重要系数量化情况的小波系数量化表。每扫描完一次,都会将主扫描形成的主表与副扫描表中的量化值先后分别进行霍夫曼无损编码,形成的码流就是某个量化步长下的零树方式的编码码流,通过解码这个码流就可以得到输入图像的重构恢复图像。每完成一次编码,阈值就会减半,然后进行重复扫描,熵编码,直到达到设定的比特率或其所需要的精度。改进的嵌入式零树小波变换编码流程如图2所示。
图2 改进的嵌入式零树小波变换编码流程
具体仿真过程如下:
(1)读取原始图像的信息,通过函数X=imread('cameraman.bmp')读取图像。
(2)使用哈尔小波变换二维矩阵,de_x=haardec(X)。
(3)得到变换后的矩阵,使用改进的EZW对转换后的矩阵进行编码,由ezw_encode(de_x,10)函数实现。
(4)将改进的EZW与霍夫曼编码相结合,该实现功能由函数huffman(DD)实现。
(5)由函数ihuffman(encode_x,h,sortindex)来实现解码。
(6)通过函数ezw_decode实现符号解码,解码成之前矩阵中对应的像素值,将矩阵转换为图像。
为了验证改进后的嵌入式零数小波算法的有效性,利用MATLAB仿真软件进行实验,并与原EZW算法进行对比,以证明该算法的可行性。
在图像编码系统中,常用峰值信噪比(peak signal to noise ratio,PSNR)来衡量其性能。
(6)
选用大小为256*256的3幅灰度图像Cameraman、Lena、Pepper作为测试对象进行实验。对原始图像进行3级分解。在阈值为32时,与传统的EZW算法进行对比,如图3所示。表1与表2为性能分析实验数据对比。
图3 改进的EZW与EZW算法重构对照比较
图像EZW算法(位)改进的EZW算法(位)节省(位)Cameraman239 9421 8282 166Lena24 00121 8212 180Pepper23 98321 7992 184
从表1可以看出,用改进的编码方式进行编码后,减少了传输或存储所需的编码符号流所需的位数,避免了符号冗余,可有效提高图像的压缩比和编码效率,降低算法复杂度。
表2 不同比特率下PSNR比较
从表2看到,在相同比特率下,改进算法的峰值信噪比略高,也即重构图像的质量有了相应提高。图4为其在不同比特率下的峰值信噪比折线图。通过对改进EZW算法与原EZW算法进行仿真实验,将实验得到的数据、图像进行比较,可以看出无论是在峰值信噪比、编码所需位数还是人眼的主观评价上,改进算法都较原始EZW算法略有提高,有效可行。
图4 不同比特率下峰值信噪比对比
针对EZW算法的不足,给出了具体的改进措施:扩充编码符号;将改进的EZW编码与霍夫曼组合来提高图像编码效率。实验结果表明,改进算法与原算法相比较,不仅其图像的峰值信噪比有所提高,而且避免了产生大量冗余比特流,提高了图像编码效率。改进算法在主观视觉和客观数据方面均优于EZW。因此,该算法是有效可行的。文中研究处理的只是灰度图像,而未考虑彩色图像和视频图像,因此对彩色图像与视频进行高效的压缩是今后研究的主要方向。同时,由于小波分析中小波基的多样性和灵活性,使其在不同应用领域的特殊性研究具有实用性。此外,文中只是在软件上实现,即利用Matlab仿真软件在PC机上实现,这样对系统执行的速度有一定的限制,制约了整个系统的编码速度,可以考虑在硬件如DSP上实现,这样能够提高整个系统的性能。
参考文献:
[1] 朱 虹.数字图像技术与应用[M].北京:机械工业出版社,2011.
[2] PARMAR H M,SCHOLAR P G.Comparison of DCT and wavelet based image compression techniques[J].International Journal of Engineering Development and Research,2014,2(1):664-669.
[3] 孙一惟.基于小波变换和DCT的图像压缩系统设计与实现[D].长春:吉林大学,2016.
[4] RAID A M,KHEDR W M,EL-DOSUKY M A,et al.Image compression using embedded zerotree wavelet[J].Signal & Image Processing,2014,5(6):33-39.
[5] GOLDBERG M A, PIVOVAROV M, MAYO-SMITH W W,et al.Application of wavelet compression to digitized radiographs[J].American Journal of Roentgenology,1994,163(2):463-468.
[6] ZHANG Ning,ZHU Jinfu.Study on image compression and fusion based on the wavelet transform technology[J].International Journal on Smart Sensing & Intelligent Systems,2015,8(1):480-496.
[7] 刘 敬.基于小波变换的图像压缩算法研究[D].重庆:重庆大学,2012.
[8] 林 行.基于零树小波的静止图像压缩算法的研究[D].沈阳:沈阳工业大学,2014.
[9] XIE Xin,XU Yin,LIU Qing,et al.A study on fast SIFT image mosaic algorithm based on compressed sensing and wavelet transform[J].Journal of Ambient Intelligence and Humanized Computing,2015,6(6):835-843.
[10] LI Gongxin,WANG Wenxue,WANG Yuechao,et al.Nano-manipulation based on real-time compressive tracking[J].IEEE Transactions on Nanotechnology,2015,14(5):837-846.
[11] 张德干,康学净,王京辉.一种新的图像压缩编码算法[J].光电子·激光,2012,23(6):1173-1180.
[12] CHENG K J,DILL J.Lossless to lossy dual-tree BEZW compression for hyperspectral images[J].IEEE Transactions on Geoscience and Remote Sensing,2014,52(9):5765-5770.
[13] 田杰华,顾晓东,汪源源.利用人眼视觉特性的低比特率小波图像压缩[J].仪器仪表学报,2010,31(11):2515-2520.
[14] 陈平平,谭定英,刘秀峰.一种改进的小波变换图像压缩算法[J].计算机工程与应用,2012,48(14):175-179.
[15] 郑侃侃.低码率低复杂度图像/视频编码技术研究[D].上海:上海交通大学,2015.
[16] 刘书琴,毋立芳,宫 玉,等.图像质量评价综述[J].中国科技论文在线,2011,6(7):501-506.