第5章静态图像压缩技术标准 随着传真机、数码相机等图像采集设备的快速发展,以及通信和Internet技术的飞速发展,如何有效地传输和存储大量的图像数据成为亟待解决的问题。为了实现静态图像数据的有效压缩,各国学者针对二值图像和灰度图像提出了多种压缩技术,并随着压缩技术的发展,国际组织制定了一系列图像压缩的编码标准。 本章首先介绍静态图像压缩技术的工作原理,然后介绍基于小波的图像压缩技术,最后对静态图像压缩编码标准做详细的介绍。 5.1静态图像压缩编码 5.1.1静态图像压缩编码原理 图像数据是用来表示图像信息的,如果不同的方法为表示相同的信息使用了不同的数据量,那么使用较多数据量的方法中,有些数据必然代表了无用的信息,或者是重复地表示了其他数据表示的信息,前者称为数据冗余,后者称为不相干信息。图像压缩编码的主要目的,就是通过删除冗余的或者是不相干的信息,以尽可能低的数码率来存储和传输数字图像数据。图像压缩编码技术可以追溯到1948年提出的电视信号数字化,迄今已经有近70年的历史了。 图像编码压缩是指在满足一定图像质量的条件下,用尽可能少的数据量来表示图像。编码技术比较系统的研究始于Shannon信息论,从此理论出发可以得到数据压缩的两种基本途径。一种是联合信源的冗余度融于信源间的相关性之中,去除它们之间的相关性,使之成为或基本成为不相干信源,如预测编码、变换域编码、混合编码等,但也都受信息熵的约束。总体上可以概括为熵编码、预测编码、变换编码,也称为三大经典编码方法。另一种是设法改变信源的概率分布,使其尽可能的非均匀,再用最佳编码方法使码长逼近信源熵。使用此途径的压缩方法其效率一般以其熵为上界,压缩比饱和于10∶1,如Huffman编码、算术编码、行程编码等。随着人们对传统压缩编码方法的深入研究和应用,逐渐发现了这些传统方法的许多缺点,如高压缩比时恢复图像会出现方块效应、人眼视觉系统(HVS)的特性不易被引入算法中等。为了克服这些缺点,1985年M. Kunl等人提出了第二代图像压缩编码的概念。经过30多年的发展,在这一框架下,人们提出了几种新的编码方法: 分形编码、小波变换编码和基于模型的编码方法等。于是,对数据压缩技术的研究就突破了传统Shannon理论的框架,使得压缩效率得以极大提高。 数字图像的冗余主要表现为以下几种形式: 空间冗余、时间冗余、信息熵冗余、结构冗余和知识冗余。图像数据的这些冗余信息为图像压缩编码提供了依据。图像编码的目的就是充分利用图像中存在的各种冗余信息,特别是空间冗余、时间冗余以及视觉冗余,以尽量少的比特数来表示图像。利用各种冗余信息,压缩编码技术能够很好地解决在将模拟信号转换为数字信号后所产生的带宽需求增加的问题,它是使数字信号走上实用化的关键技术之一,虽然表示图像需要大量的数据,但是图像数据是高度相关的,或者说存在冗余信息,去掉这些信息后可以有效压缩图像,同时不会损害图像的有效信息。 5.1.2静态图像压缩编码分类 图像压缩分为无损压缩和有损压缩。有损压缩分为预测编码、变换编码、混合编码,有损编码分为JPEG、MPEG。无损编码分为Huffman编码、游程编码、算术编码。目前常用的数字图像无损压缩编码方法可分为两大类: 一是冗余压缩法,也称为无损压缩法; 另一无损压缩的算法删除的仅仅是冗余的信息,因此可以在解压缩时精确地恢复原图像。有损压缩算法把不相干的信息也删除了,解压缩时只能对图像进行类似的重构,而不能精确地复原,所以有损压缩算法可以达到更高的压缩比。对于多数图像来说,为了达到更高的压缩比,保真度的轻微损失是可以接受的; 有些图像不允许进行任何修改,只能对它们进行无损压缩。无损压缩利用数据的统计特性进行数据压缩,其压缩率一般为2∶1~5∶1。有损压缩不能完全恢复数据,而是利用人的视觉特性(人的眼睛好比是一个“积分器”)使解压缩后的图像看起来与原始图像一样。图5.1给了依据压缩原理对现有主要的静态图像压缩算法行分类的结果。 图5.1静态图片压缩算法分类 5.2基于小波变换的图像压缩技术 随着科学技术特别是计算机技术的发展以及互联网的普及,许多应用领域(如卫星监测、地震勘探、天气预报)都存在海量数据传输或存储问题,如果不对数据进行压缩,数量巨大的数据就很难存储、处理和传输。因此,伴随小波分析的诞生,数据压缩一直是小波分析的重要应用领域之一,并由此带来巨大的经济效益和社会效益。 5.2.1数字图像的小波变换 数字图像的小波变换实际上是二维离散小波变换,在实际应用中用两次一维小波变换来实现一次二维小波变换。二维图像信号可用一维矩阵表示,可先对该矩阵的行(列)进行一维行(列)小波变换,再对变换后的系数进行一维列(行)小波变换。图像信号经过两次一维小波变换后,将图像分割成四个频带,即水平方向、垂直方向和对角线方向的高频部分和低频部分,低频部分再继续分解,这样图像信号被分解成许多具有不同空间分辨率、不同频率特性和方向特性的子图像信号,使得图像信号的分解更适合于人的视觉特性和特征数据压缩的要求。 低频子带的小波系数代表着图像信号的整体特征,远远大于其他子带的小波系数; 高频子带的信息反映了图像的边缘、纹理等细节信息,它反映了图像信号的细节变化。因此小波变换同时不但具有良好的时频局部性,而且具有良好的空间方向性特点,这正反映了原始图像的像素及其间的相关性。小波变换前后,其能量不变,且主要集中在低频部分,并随着小波变换级数的增高,其能量集中特性越好,因而数据压缩的效果也将会越好。 目前,典型的小波图像编码都是嵌入式编码特性。所谓嵌入式编码是指编码器输出的码流具有这样的特点: 一个低比特编码嵌入在码流的开始部分,即从嵌入式的起始至某一位置这段码流取出后,它相当于一个更低码率的完整的码流,由它可以解码重构该图像。与原码流相比,这部分码流解码出的图像具有更低的质量或分辨率,但解码后的图像是完整的。因此,嵌入式编码器可以在编码过程的任一点停止编码,解码器也可以在获得的码流的任一点停止解码,其解码效果只是相当于一个更低码率的完整的码流的解码效果。嵌入式码流中比特的重要性是按次序排列的,排在前面的比特更重要,显然,嵌入式码流非常适合用于图像的渐近传输、图像浏览和因特网上的图像传播。 1992年,A.S.Lewis 和G.Knowles 首先介绍了一种树形数据结构来表示小波变换的系数。1993年,美国学者J.M.Shapiro把这种树形数据结构叫作“零树(Zerotree)”,并且开发了一个效率很高的算法用于熵编码,他的这种算法叫作嵌入式零树小波(Embedded Zerotree Wavelet,EZW)算法。EZW算法首先完整地提出了基于比特连续逼近的图像编码方法: 按位平面(Bitplane)分层进行孤立系数和零树的判决和熵编码,而判决阈值则逐层折半递减,故可称之为多层(或位平面)零树编码方法。EZW方法充分应用小波变换的时频局部化特性,具有编码效率高、嵌入式码流结构和运算复杂度较低等显著特点,对小波的图像压缩的研究起到了显著的推动作用。此后,围绕EZW方法,涌现出了许多基于零树的改进算法,如分层树的集划分(Set Partitioning in Hierarchical Tree,SPIHT)、集合分裂嵌入块编码(Set Partitioned Embedded block Coder,SPECK)、可逆的嵌入小波压缩法(Compression with Reversible Embedded Wavelets,CREW)等。 5.2.2EZW算法 从5.2.1节知道小波系数的分布特点是,越往低频方向子带系数值越大,包含的图像信息越多,低频部分对应于图像信号的整体特征,包含图像的大部分信息,而高频部分对应于原图像的边沿、纹理等细节信息,对视觉来说不太重要。这样对相同数值的系数选择先传较低频的系数的重要比特,后传输较高频系数的重要比特。正是由于小波系数具有的这些特点,它非常适合于嵌入式图像的编码算法。 嵌入式零树小波编码即EZW编码基于以下三个主要思想,即: ①利用小波变换在不同尺度间固有的相似性来预测重要信息的位置; ②逐次逼近量化小波系数; ③使用自适应算术编码来实现无损数据压缩。其算法框图如图5.2所示。 图5.2EZW编码算法框图 EZW算法中,嵌入式码流的实现是由零树结构结合逐次逼近量化实现的,零树结构的目的是为了高效地表示小波变换系数矩阵中非零值的位置。 1. 零树表示 一幅经过小波变换的图像按其频带从低到高形成一个树状结构,树根是最低频子带的节点(见图5.3左上角),它有三个孩子,分别位于三个次低频子带的相应位置,其余子带(最高频子带除外)的节点都有四个孩子位于高一级子带的相应位置,这样如图5.3所示的三级小波分解就形成了深度为4的树。 图5.3三级小波分解及零树结构示意图 经小波变换后的变换系数矩阵经过量化后产生大量零符号,编码的后续过程就是有效地表示那些非零符号,包括非零符号的位置和大小。量化过程产生零符号和非零符号的过程也等价为一个门限过程。对于一个给定的门限T,如果一个小波系数Xk满足|Xk|