图像压缩方法综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像压缩方法综述

陈清早

(电信科学技术研究院PT1400158)

摘要:图像压缩编码技术就是对要处理的图像数据按一定的规则进行变换和组合,从而达到以尽可能少的数据流(代码)来表示尽可能多的数据信息。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。图像压缩分为无损图像压缩和有损图像压缩或者分为变换编码、统计编码。在这里,我们简单的介绍几种几种图像压缩编码的方法,如:DCT编码、DWT编码、哈夫曼(Huffman)编码和算术编码。

关键字:图像压缩;DCT压缩编码;DWT压缩编码;哈夫曼编码;算术编码

1引言

在随着计算机与数字通信技术的迅速发展,特别是网络和多媒体技术的兴起,大数据量的图像信息会给存储器的存储容量、通信信道的带宽以及计算机的处理速度增加极大的压力。为了解决这个问题,必须进行压缩处理。图像数据之所以能被压缩,就是因为数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。信息时代带来了“信息爆炸”,使数据量大增,无论传输或存储都需要对数据进行有效的压缩。因此图像数据的压缩就显得非常重要。

在此,我们主要介绍变换编码的DCT编码和DWT编码和统计编码的哈夫曼(Huffman)编码和算术编码。

2变换编码

变换编码是将空域中描述的图像数据经过某种正交变换转换到另一个变换域(频率域)中进行描述,变换后的结果是一批变换系数,然后对这些变换系数进行编码处理,从而达到压缩图像数据的目的。主要的变换编码有DCT编码和DWT编码

1.1DCT编码

DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。也就是说,图像变换本身并不能压缩数据,但变换后图像大部分能量集中到了少数几个变换系数上,再采用适当的量化和熵编码便可以有效地压缩图像。量化是对经过DCT变换后的频率系数进行量化,其目的是减小非“0”系数的幅度以及增加“0”值系数的数目,它是图像质量下降的最主要原因。

图像经DCT变换以后,DCT系数之间的相关性就会变小。而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。为此,发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换。最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。因此,利用DCT进行图像压缩确实可以节约大量的存储空间。

由于图像可看成二维数据矩阵,所以在图像编码中多采用二维正交变换方式,然而其正交变换的计算量太大,所以在实用中变换编码并不是对整幅图像进行变换和编码,而是将图像分成若

干个n×n的子图像分别处理。这是因为小块图像的变换计算比较容易,而且距离较远的像素之间的相关性比距离较近的像素之间的相关性要小。实践证明4×4、8×8、16×16适合图像压缩,这是因为:

如果子图像尺寸取得太小,虽然计算速度快,实现简单,但压缩能力有限;如果子图像尺寸取得太大,虽然去相关效果好,因为DCT等正弦类变换均渐近最佳化,同时也渐近饱和,由于图像本身的相关性很小,反而使得压缩效果不明显,并且增加了计算的复杂度。

1.2DWT编码

小波变换是Fourier变换的改进。它被认为是继Fourier分析之后的又一有效的时频分析方法。小波变换与Fourier变换相比,是一个时间和频域的局域变换因而能有效地从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析(Multiscale Analysis),解决了Fourier 变换不能解决的许多困难问题。在数字信号处理、石油勘探、地震预报、医学断层诊断、编码理论、量子物理及概率论领域中都得到了广泛的应用。所以,具有深远的研究意义。

在数字图像处理中,需要将连续的小波及其小波变换离散化。一般计算机实现中使用二进制离散处理,将经过这种离散化的小波及其相应的小波变换成为离散小波变换(Discrete Wavelet Transform),简称DWT。实际上,离散小波变换是对连续小波变换的尺度、位移按照2的幂次进行离散化得到的,所以也称之为二进制小波变换。虽然经典的傅里叶变换可以反映出信号的整体内涵,但表现形式往往不够直观,并且噪声会使得信号频谱复杂化。在信号处理领域一直都是使用一族带通滤波器将信号分解为不同频率分量,即将信号f(x)送到带通滤波器族Hi(x)中。

小波分解的意义就在于能够在不同尺度上对信号进行分解,而且对不同尺度的选择可以根据不同的目标来确定。

对于许多信号,低频成分相当重要,它常常蕴含着信号的特征,而高频成分则给出信号的细节或差别。人的话音如果去掉高频成分,听起来与以前可能不同,但仍能知道所说的内容;如果去掉足够的低频成分,则听到的是一些没有意义的声音。在小波分析中经常用到近似与细节。近似表示信号的高尺度,即低频信息;细节表示信号的高尺度,即高频信息。因此,原始信号通过两个相互滤波器产生两个信号。

通过不断的分解过程,将近似信号连续分解,就可以将信号分解成许多低分辨率成分。理论上分解可以无限制的进行下去,但事实上,分解可以进行到细节(高频)只包含单个样本为止。因此,在实际应用中,一般依据信号的特征或者合适的标准来选择适当的分解层数。小波分解可以使人们在任意尺度观察信号,只需所采用的小波函数的尺度合适。小波分解将信号分解为近似分量和细节分量,它们在应用中分别有不同的特点。比如,对含有噪声的信号,噪声分量的主要能量集中在小波分解的细节分量中,对细节分量做进一步处理,比如阈值处理,可以过滤噪声。

2统计编码

统计编码也称为熵编码,它是一类根据信息熵原理进行的信息保持型变字长编码。编码时对出现概率高的事件(被编码的符号)用短码表示,对出现概率低的事件用长码表示。在目前图像编码国际标准中,常见的熵编码方法有哈夫曼(Huffman)编码和算术编码。

2.1哈夫曼(Huffman)编码

霍夫曼编码(Huffman Coding)是一种编码方式,是一种用于无损数据压缩的熵编码(权编码)算法。1952年,David A.Huffman在麻省理工攻读博士时所发明的,并发表于《一种构建极小多余编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)一文。在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,即从下到上的编码方法。同其他码词长度可变的编码一样,可区别的不同码词的生成是基于不同符号出现的不同概率。其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。

哈夫曼编码是哈夫曼树的一个应用。哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结

相关文档
最新文档