杨永清
【摘 要】信息需要通过媒体来进行记录、传播和获取,往往需要进行预处理,删除图像和声音数据中不必要的信息,对过去难以处理的庞大信息量进行必要的简化,以增大传输的信息容量或缩短信息的传输时间。本文简述信息压缩的原理,探讨实现图像信息压缩的基本途径和研究动向,介绍了几种当今比较流行的信息压缩算法。最后就信息压缩中主要的图像压缩的实现做了简单的示例。 【期刊名称】《数字技术与应用》 【年(卷),期】2016(000)001 【总页数】2页(P137-138)
【关键词】信息压缩;矢量量化算法;JPEG算法;LZW算法 【作 者】杨永清
【作者单位】河池学院水电管理中心广西宜州 546300; 中进建设集团有限公司广西南宁 530001 【正文语种】中 文 【中图分类】TN919.8
利用信息压缩技术,在发送端压缩信息量,在接收端再还原。能够在不丢失有用信息的前提下,大幅度地节省资源。所谓信息压缩技术,就是省略并非必要或重复的部分,以便在有限的带宽和存储空间中,传输和存储更多的信息。其中的图像信息压缩,主要是利用了:相似图案部分的再利用和单调图案部分可重复使用的道理。
只用少量信息即可重现原来的图像。而声音压缩技术,则主要是利用了:将声音按频率分解,在某时刻声音的高低成分多集中于某个音程范围,只记录这集中部分就可省略人听不到的声音,使信息量减少。因为当两种声音同时出现时,人一般只能听到一种声音,可省略这部分信息,达到信息压缩。实际上,所有媒体能如此快地实现数字化,很重要的一个原因就是,比大多数人预测的时间更早的时候发展出了高水平的压缩技术[1]。
信息压缩技术,就是一种按照一定的算法对数据进行重新组织,减少数据的冗余和存储空间的技术方法。各种信息压缩技术软件,虽然功能各异,但其基本原理还是一致的。本文总结归纳了几种常用的信息压缩技术,并简要地介绍了它们的实现过程。其基本理念是:“对同样信息不是多次重复记录,而是再利用前面的信息。”以及“只用简单的表现方法来记录单调的部分[2]。” 1.1 图像信息压缩技术
图像信息压缩的主要原理基于以下三点:
(1)相似图案部分的再利用:图像压缩时记录动矢量与差分信息,根据图案信息再利用的原理进行信息压缩。(2)单调图案部分可重复使用,以削减信息量。(3)以短码表示出现频率高的值:压缩了的图像信息是各种值的数值集合,是用几个连续的“1”或“0”组成的代码表示数字信息的某个值。图像压缩时,使用“1”和“0”的位数较少的代码来表示出现频率高的值,以减少整体“1”和“0”的个数,进一步将信息压缩。 1.2 声音信息压缩技术
声音信息压缩的主要原理有以下两点:
(1)将声调的高低成分做为信息进行处理:可将声音从低音到高音按音程进行分解。在进行声音信息压缩时,是以分解的各成分的强度作为信息进行处理。在某一瞬间,声音的高低成分多集中于某个音程范围,在声音信息压缩时只记录集中的部
分,从而也就实现了信息的压缩。(2)省略人听不到的声音:人有这样的听觉特性,即当两种声音同时发出时,其实只能听到一种声音,另一种声音因受前者的影响而听不到。当声音信息压缩时,将听不到的声音信息省略,这就达到了信息压缩的目的[3]。
数据信息的压缩,一般有两种类型,一种是无损压缩,另一种是有损压缩。无损压缩是指,还原后的数据与原来的数据完全相同。无损压缩多用于要求重构的信号与原始信号完全一致的场合。一个很常见的例子久是磁盘文件的压缩。一种常用的无损压缩算法就是下面将要介绍的LZW压缩算法。有损压缩是还原后的数据与原来的数据有所不同,但是不会影响到人对原始资料表达的信息造成误解。有损压缩适用于重构信号不一定非要和原始信号完全相同的场合。例如,图像和声音的压缩就可以采用有损压缩,因为其中包含的数据往往多于我们的视觉系统和听觉系统所能接收的信息,丢掉一些数据不致于对声音或者图像所表达的意思产生误解,但可以大大地提高压缩比。一些常用的有损压缩算法有下面介绍的矢量量化压缩编码和JPEG压缩编码。 2.1 矢量量化压缩算法
矢量量化(Vector Quantization,简写为VQ)是这样的一种数据压缩方法:将若干个标量数据组构成一个矢量,然后在矢量空间中进行整体量化,这样既压缩了数据而又不会损失多少信息。在传统的变换编码中,是首先将信号经某种映射变换成一个数的序列,然后对其一个一个地进行标量量化编码。而在矢量量化编码中,则是将输入数据几个一组地分成若干组,成组地进行量化编码,这就是以矢量为单位进行的量化。 2.2 JPEG压缩算法
JPEG格式是当前广泛应用的图片压缩格式。它采用一种特殊的有损压缩算法,将不易被人眼察觉的图像颜色信息删除,从而能够将图像压缩在很小的储存空间。
JPEG压缩技术在获得极高的压缩率的同时能得到较好的图像品质。JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间。随着多媒体应用的发展,传统的JPEG压缩技术往往已无法满足人们对图像资料的要求,因此有更高压缩率以及更多新功能的新一代压缩技术正在研发之中。 2.3 LZW压缩算法
LZW是一种比较复杂的压缩算法,但其压缩效率也是比较高的,它由其发明者Lemple、Ziv和Welch 三个人名字的第一个字母命名。这种算法的基本原理是:采用一种先进的串表压缩,将每个第一次出现的串放在一个串表中,用一个数字来表示串,压缩文件只存贮数字,而不存贮串。在还原程序中再将这个数值还成原来的字符串,从而使图像文件的压缩效率得到了较大的提高。每一个第一次出现的字符串用一个数值来编码,例如:用数值0x100代替字符串“abccddeee”,每当出现该字符串时,都用0x100来代替,这样也就起到了压缩信息的作用。至于0x100与字符串的对应关系则是在压缩过程中动态生成的,而且这种对应关系隐含在压缩数据中,随着解压缩的进行这张编码表会从压缩数据中逐步得到恢复,后面的压缩数据再根据前面数据产生的对应关系产生更多的对应关系,直到压缩文件结束为止。LZW是无损的,GIF文件就采用了这种压缩算法。GIF文件作为一种重要的图形图象文件格式,尽管其编码规则极为复杂,但其压缩效率是很高的,特别是对某些平滑过渡的图象的图形,压缩效果更好。同时由于其在压缩过程中的对图象信息能够完整的保存,在目前流行的电子图片及电子图书中得到了广泛的应用。 前面所说的JPEG压缩算法,是一种以离散余弦变换(DCT)为基础的有损压缩算法,下面以模拟软件MATLAB实例模拟演示基于DCT的JPEG图像压缩,进行仿真实现。
3.1 离散余弦变换(DCT)概念
离散余弦变换(DCT)是一种实信号的离散傅里叶变换(DFT),它有一个很重要的性质,就是:大多数图像和声音信号的能量都集中在离散余弦变换后的低频部分,而图像中低频部分的信息量要远大于高频部分的信息量,因而DCT在数据压缩中得到了广泛的应用。由于只使用实数,所以离散余弦变换相当于一个长度是它两倍的离散傅里叶变换。这个离散傅里叶变换是对一个实偶函数进行的(因为一个实偶函数的傅里叶变换仍然是一个实偶函数)。离散余弦变换就是将二维图像从空间域转换到频率域,形象的来说就是,要计算出图像由哪些二维余弦波所构成?计算出的结果为c(u,v), 其中u为二维波的水平方向频率,v为二维波的垂直方向频率。 最后会计算出很多个c(u,v) ; 每一个c称为一个DCT系数,代表的是频率为(u,v)的二维波的振幅(或者能量),所有这些二维波的叠加就是那个原始的图片。
二维DCT逆变换IDCT是一个相反的过程,即从频率域转换到空间域,这就是对压缩图像进行解压,具体方法简述如下。 3.2 基于DCT的JPEG压缩编码算法
在JPEG算法中,首先是对图像进行分块处理。把原始图像分成8×8 的像素块,分块进行DCT变换后,根据JPEG标准量化表对变换系数进行量化,再对直流系数(DC)进行预测编码,对交流系数进行Zig-Zag扫描和可变长编码,然后根据标准的Huffman码表实现了图像压缩。在接收端,则经过Huffman熵解码,DC系数和AC系数可变长解码,反量化后,再进行反DCT变换得到重构图像[4]。 在此过程中量化的作用是在保证一定的图像质量的前提下,丢掉那些对视觉影响不大的信息,以获得较高的压缩比。由于DCT系数包含了空间频率信息,可充分利用人眼对不同频率敏感程度不同这一特性来选择量化表中的元素值的大小。对视觉重要的低频系数采用细量化(量化步长较小),对高频系数采用粗量化(量化步长较大)。量化后的系数需要重新编排,目的是为了增加连续的“0”系数的个数,
就是“0”的游程长度,方法是按照Z 字形的式样编排,如下图1所示。这样就把一个8×8的矩阵变成了一个1×64的矢量,同时保证低频分量先出现,高频分量后出现。矩阵的左上角元素为DC分量,其余63个系数为AC分量,由左上至右下频率渐次升高。
3.3 MATLAB仿真实验结果
编写MATLAB程序,对原始图像大小为256×256的灰度图像做JPEG压缩,然后进行反量化和逆DCT变换,得到重构图像。当Q为标准量化矩阵时,得到原始图像和重构图像如下差别不大:这是很理想的。当Q为标准量化矩阵时,曾经分别用三幅图像进行过JPEG压缩的实验,结果显示:在对不同的图像进行仿真时,在较大的压缩比下,仍然得到了较高的峰值信噪比,并且重建图像的主观质量也很好。在很大的压缩比下,PSNR的值均在30dB以上。如果改变量化矩阵,对Lena图像做不同的量化,在不同的压缩比下,将得到质量不同的重建图像。MATLAB仿真实验结果如表1所示:
可见,通过改变量化矩阵的Q因子的值,可以得到不同压缩比的图像。选取的Q因子越大,压缩比就越高,但是压缩后的的均方偏差MSE值也将较大,导致压缩后的图像失真较大。只有当取Q为标准量化矩阵时,才既能得到较高的压缩比,又可以保证有较好的图像质量。
当前的数字图像压缩技术充分利用了人的视觉、听觉、生理、心理和图像信源的各种特征,既要保证获得较高的压缩比,又要能保证有较好的图像质量,有时就须将多种编码方法综合起来运用,这也带来了运算复杂等问题。因此,在选择图像压缩编码方法的时候,应该综合考虑各种因素,选择最适合的压缩编码算法。目前大多数信道编码性能都很难同时兼顾多种要求,因此信道编码的主要目标还是以可靠性为主,即在保证抗干扰能力尽量强的基础上,适当兼顾有效性[5]。
【相关文献】
[1]韩锋.自然科学的历程[M].北京:北京大学出版社,2010.218.
[2][日]桑野幸德 编著.杨明君,张凤梧,常敏慧 译.数字革命新时代[M].北京:科学出版社,2000:39-42.
[3]刘毓敏.数字视音频技术应用[M].北京:机械工业出版社,2003.
[4]张益贞,刘滔.Visual C++.实现MPEG/JPEG编解码技术[M].北京:人民邮电出版社,2002.
[5]冯桂,林其伟,陈东华.信息论与编码技术[M].清华大学出版社,2007:159-168.
因篇幅问题不能全部显示,请点此查看更多更全内容