《信息与计算科学:信息论在图像信号压缩中的应用分析研究.doc》由会员分享,可在线阅读,更多相关《信息与计算科学:信息论在图像信号压缩中的应用分析研究.doc(33页珍藏版)》请在三一办公上搜索。
1、青岛农业大学毕 业 论 文(设计)题 目: 信息论在图像信号压缩中的应用分析研究 姓 名: XXXXX 学 院: 理学与信息科学学院 专 业: 信息与计算科学 班 级: 2013.2 学 号: 20073495 指导教师: XXXXX 毕业论文(设计)诚信声明本人声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得青岛农业大学或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。论文(设
2、计)作者签名: 日期: 年 月 日 毕业论文(设计)版权使用授权书本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为青岛农业大学。论文(设计)作者签名: 日期: 年 月 日指 导 教 师 签 名: 日期: 年 月 日 目 录摘要:1Abstract:2引言11 概述11.1 信息与信息论1
3、1.2 图像处理21.2.1 数字图像处理的介绍21.2.2 数字图像处理的发展22 图像信号压缩42.1 图像信号压缩的概念与原理42.1.1 图像信号压缩的概念42.1.2 图像信号压缩的原理42.2 图像信号压缩的分类62.2.1 按照压缩前及解压后的信息保持程度分类62.2.2 按照图像压缩的方法原理分类72.3 压缩技术的性能指标83 信息论在图像信号压缩中的应用93.1 无失真图像压缩编码103.1.2 Huffman编码103.1.3 算术编码123.2 有限失真图像压缩编码143.2.1 基于DCT的图像压缩编码143.2.2 变换编码164 总结17致谢19参考文献:20附录
4、21信息论在图像信号压缩中的应用信息与计算科学专业 李晓明指导教师 于加举摘要:本文首先简单介绍了信息、信息论以及图像处理技术,并通过多个实例对图像信号压缩的原理和冗余度问题做出解释。然后引入图像信号压缩的概念、原理、分类及压缩技术的性能指标。论文运用Huffman编码以及算术编码方法对图像信号进行编码压缩处理,并比较了两种方法各自的优缺点,体现了信息论在图像信号压缩中的应用。同时还运用Matlab软件实现了图片压缩,通过对工作区各个数据的分析,求得图片的冗余度等。此外,本文用有限失真图像压缩编码方法对图片进行处理。最后,论文介绍了基于DCT的图像压缩编码、变换编码及其它编码。关键词:信息论;
5、图像信号压缩;应用Application of Information Theory in Image Signal CompressionStudent majoring in Information and Computing Sciences Li XiaomingTutor Yu JiajuAbstract:In this article, the information, information theory and image processing technology are introduced firstly. Then through multiple examples e
6、xplaining image signal compression principle and redundancy rate. And it brings in the image signal compression, including concept, principle, classification and compression technology performance. The image signal processing is derived by the method of huffman coding and arithmetic coding, and comp
7、ares advantages and disadvantages of the two methods, which reflects the information theory in the image signal compression applications. At the same time, the paper uses Matlab software to achieve the image compression, and gets the redundancy of pictures through the analysis of the various workspa
8、ce data. In addition, this article processes picture with the limited distortion image compression method. In the end, the image compression based on DCT coding, transform coding and others are introduced in this paper.Keywords:Information theory; Image signal compression; application引言在社会生活和科研生产活动中
9、,人们随时随地都要接触图像。图像信息是人类认识世界的重要知识来源,其他任何形式的信息都没有图像信息丰富和真切。为了利用有限的存储容量存储更多的图像,或者为了以最短的时间传递尽可能多的图片,就要研究怎样才能最大限度地压缩图像数据,并保证利用这些数据所重建的图像是用户能够接受的,这便是图像数据压缩所要解决的问题,在信息论中,它又称为信源的有效性编码问题。随着社会的发展,科学技术的不断进步,信息、反馈、控制、机制、稳定性等大量新概念和新名词被人们所接受。与此同时,信息论也被广泛的应用到各学科当中,它在图像信号压缩方面有着非常重要的作用。1 概述1.1 信息与信息论信息一词由来已久,古代人讲的信息泛指
10、音讯和消息。到了近代,信息又被用作英语中information的译名,information在英语中来自词根inform(通知),指被告知的事实或知识。实地上,信息这一概念是在人类社会互通情报的实践过程中产生的,它所涉及的范围非常广,比如语言信息、生物遗传信息、经济信息、管理信息。这些信息的研究涉及到语言学、生物遗传学、社会经济学、管理科学等更广泛的学科领域乃至许多边缘学科领域。1948年贝尔研究所的Shannon在题为通讯的数学理论的论文中比较系统地提出了关于信息的论述,创立了信息论。目前,人们已把早先建立的有关信息的规律与理论广泛应用到物理学、化学、生物学等学科中去。一门研究信息的产生、获
11、取、变换、传输、存储、处理、显示、识别和利用的信息科学正在形成。信息论将信息的传递作为一种统计现象来考虑,给出了估算通信信道容量的方法 1。信息论是一门应用概率论、随机过程、数理统计和高等代数的方法来研究信息传输、提取和处理系统中一般规律的学科;它的主要目的是提高信息系统的可靠性、有效性、保密性和认证性,以便达到系统最优化;它的主要内容包括香农理论、编码理论、检测和估计理论、信号设计和处理理论、调制理论、随机噪声理论和密码学理论。信息理论的应用领域是十分广泛的,也是非常重要的,我们所知道的多是在通讯方面的应用,这是因为香农等人的工作开拓了这方面的广泛而深入的应用。实际上,任一科学技术领域都离不
12、开信息的基本知识和基本概念的。1.2 图像处理1.2.1 数字图像处理的介绍根据图像记录方式的不同,图像可分为两大类:一类是模拟(analog)图像,一类是数字(digital)图像。模拟图像是通过某种物理量(光、电)的强弱变化来记录图像上各点的灰度信息(如电视等)的;而数字图像则完全是用数字来记录图像灰度信息的,因而数字图像比模拟图像更易于保存。图像处理(image processing)就是对图像信息进行加工处理和分析,以满足人的视觉心理需要和实际应用或某种目的(如压缩编码或机器识别)的要求。图像处理的任务是将原图像的灰度分布作某种变换,使图像中的某部分信息更加突出,以使其适用于某种特殊的
13、需求,而图像数据压缩就是数字图像处理技术的一种应用。把数字化的图像数据按一定规则进行排列或运算的过程称为图像编码,利用图像本身的内在特性,通过某种特殊的编码方式,达到减少原图像数据信息占用量的处理叫做图像压缩编码2。数字图像处理是对一个物体的数字表示施加一系列操作的过程,以得到所期望的结果。即将一幅图像经过修改(改进、加工)成为另一幅本质不变的图像。因此,数字图像处理就是一个从图像到图像的过程。采用的工具一般是数字计算机。数字图像处理的主要内容包括图像变换、图像压缩编码、图像增强、图像复原与重建、图像分割、图像描述、图像分析以及分类等。1.2.2 数字图像处理的发展数字图像最早应用在报纸行业,
14、当时图像第一次由海底电缆从伦敦传往纽约。用电缆传输图片,首先需对图片进行编码,然后在接收端用特殊的打印设备重构传输的图片。后来转而采用基于光学还原的技术,在电报接收端用穿孔纸带打出图片。到1929年灰度等级已经由5个增加到了15个。这三个例子都没有考虑数字图像处理的结果,主要原因是当时还没有使用计算机。而随着科技的进步,计算机的诞生与发展,数字图像处理也得以更广泛的应用。20世纪50年代,当时的电子计算机已经发展到一定水平,在进行空间应用的同时,人们开始利用计算机来处理图形以及图像等信息。在20世纪50年代使用计算机对美国“旅行者7号”传送的月球图像进行处理,以矫正航天器上电视摄像机中各种类型
15、的图像畸变。数字图像处理作为一门学科大约形成于20世纪60年代初期。60年代至70年代开始用于医学图像、地球遥感监测、天文学等领域。70年代以后,数字图像处理得到迅猛的发展,广泛应用于太空探索、遥感应用、生物医学、工程工业应用、军事应用等方面。早期的图像处理,其主要目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。在图像处理中,输入的是质量低的图像,输出的是得到改善的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。图像处理首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器旅行者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、
16、去除噪声等方法进行处理,而且还考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行了更为复杂的图像处理,获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理技术都发挥了巨大的作用。数字图像处理除了上述作用外,其取得的另一个巨大成就是在医学上获得的成果。1972年英国EMI公司工程师Housfield发明了用于头颅诊断的计算机断层X射线摄影装置,也就是我们通常所说的CT(Computed
17、 Tomography)。CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位清晰鲜明的断层图像。1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类做出了划时代的贡献。于此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,从20世纪70年代中期开始,计算机技术和人工智能、思维科学研究的迅速发展,数字图像
18、处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究当中,取得了不少重要的研究成果。其中代表性的成果是20世纪70年代末MIT的Marr提出的视觉计算机理论,这个理论成为计算机视觉领域此后十多年的主导思想。图像理解虽然在理论方发研究上已经取得不小的进展,但它本身是一个比较难的研究领域,仍然存在不小困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待于人们进一步探索的新领域3。2 图像信号压缩众所周知,计算机处理的图像都是用点阵表示并且是用图像文件的
19、形式存放的。通常,图像文件都是大型文件。而在应用系统中,常常需要在不同用户之间传递和交换图像文件,这就需要设法把大型图像文件进行压缩,以减少存储资源和网络资源的开销。2.1 图像信号压缩的概念与原理2.1.1 图像信号压缩的概念图像压缩编码就是图像数据的压缩和编码表示,是通过消除信息冗余来设法减少表达图像信息所需数据的比特数。从统计意义上说,就是将图像数据转化为尽可能不相关的数据集合。图像压缩编码系统主要包括图像编码和图像解码两部分。前者就是对图像信息进行压缩和编码,在存储、处理和传输之前进行,也称图像压缩。后者是对压缩图像进行解压以重建原图像或其近似图像4。2.1.2 图像信号压缩的原理首先
20、我们通过以下两个例题,研究一下图像像素之间的相关性以及与此有关的图像信息冗余度问题。例2.1 有一线状图像,其灰度随长度坐标的变化如图2-1所示,描述这个一维图像,可以用有顺序的七个3bit的二进制数表示,即011,011,011,011,101,101,101共21bit(写成十进制数即3,3,3,3,5,5,5),但是,如果我们用行程编码方法对其编码,即用三位二进制数表示灰度幅度,再用三位二进制数表示具有该灰度的顺序像素数,那么同时这个图像,其编码便变成011,100;101,011(即十进制数的3,4;5,3),共用了12bit数,比前种编码节省了9bit。由此可以看出,用不同的编码方法
21、记录同一图像信息,所用的bit数也不同,而且有时差别很大。但是,同一编码方法,对于不同的图像,可能会节省bit数,也可能会增加bit数。例如图2-2所示的线状图,直接编码100,011,110,101,010,111,101,需要21bit,而用行程编码则需要更多,不仅不能节省bit数,反而要增加bit数。图2-1 图2-2 对于两个图像进行比较不难发现,前者前后相接的像素之间有着较强的相关性,而后者却没有这种相关性。因此直觉告诉我们,像素间具有较强相关性的图像含有较多的多余信息。反之,没有相关性的图像一般不含有多余的信息。这种对于描述一幅图像所需要的最少信息以外的多余信息,便称为该图像的冗余
22、度。例2.2 如果一幅图像完全由已知的空间正弦信号组成,那么用数字化的方法对其采样、整量,从而形成一幅数字图像将需要记录大量数据。例如x,y方向各采1024个点,用8位整量化器把灰度分成256层,则大约需用8106 bit数来描述这幅图像,但是为了不失真地重建这幅图像,事实上并不需要全部记录这8106 bit数,而只需要记录这一正弦信号的振幅、相位和两个方向的空间频率就足够了。记录这四个数据便等于记录了整幅图像,于是完成了图像数据压缩。由此例可知,被压缩图像像素间存在着密切的相关性,这意味着图像数据含有较高的冗余度,因此可以进行图像数据压缩。另一方面,用于重建该图像必须记录的最少信息振幅,相位
23、,两个空间频率四个量却是彼此独立的,即其中任何一个都不能从其余三个预测出来,所以,把一个含有大量相关像素的图像,经过某种可逆的变换(压缩解压),变成仅含有由非相关元素组成的数据组,便可完成图像数据的压缩。利用函数很容易重建该图像5。2.2 图像信号压缩的分类根据不同的目的和不同的应用,图像压缩有不同的分类方法,比如可按压缩前及解压后的信息保持程度和图像压缩的方法原理来分类。2.2.1 按照压缩前及解压后的信息保持程度分类1) 信息保持(存)型减少或去除冗余数据,同时保持信息不变,即压缩、解压中无信息损失,也称无失真/无损/可逆型编码。主要用于图像存档,其特点是信息无失真,但压缩比有限。无失真压
24、缩编码利用图像信息源概率分布的不均匀性,通过变长编码来减少信息源数据冗余,使编码后的图像数据接近其信息熵而不产生失真,因而也通常称为熵编码。常用的无失真编码主要有Huffman编码、算术编码和游程编码。近年来,在无失真编码中一种被称为“通用编码”的编码方法受到很大关注。该编码方法不像其他无失真编码方法那样对信息源的统计特征十分敏感,因而特别适合于活动视频图像这类统计特征变化较大的信息源。但该方法目前仍处于研究阶段,尚不能使用。2) 信息损失型以牺牲部分信息为代价,来获取高压缩比,也称有损压缩。解压后得到原图像的近似图像。数字电视、图像传输和多媒体等应用场合常用这类压缩。其特点是通过忽略人的视觉
25、不敏感的次要信息来提高压缩比。有限失真编码则是根据人眼视觉特征,在允许图像产生一定失真的情况下(尽管这种失真常常不为人眼所觉察),利用图像信息源在空间和时间上具有较大的相关性这一特点,通过某一种信号变换来消除信息源的相关性、减少信号方差,达到压缩编码的目的。常用的有限失真编码方法主要有预测编码、变换编码和矢量量化编码以及运动检测和运动补偿技术。在实际应用中,往往是综合利用上述各种编码方式以达到最佳压缩编码效果。3) 特征抽取型在图像分析、分类与识别中,仅对于实际需要的(提取)特征信息进行编码,而丢掉其他非特征信息,可大大压缩数据量。这实际属于信息损失型。其中的第三类是针对特殊的应用场合。比如心
26、向量图像中只关心其特征值,军事目标图像中只需要目标的轮廓信息等。因此,一般就将图像压缩编码分成无损和有损两大类。2.2.2 按照图像压缩的方法原理分类1) 像素编码所谓像素编码就是无论像素之间的相关性如何,编码时只对每个像素单独处理。如脉冲编码调制(pulse code modulation,PCM),熵编码(entropy coding),行程编码(run length coding)等。2) 预测编码像素的灰度是连续的,通常在一片图像区域中,相邻像素的灰度值之间具有很大的相关性,即相互之间差别可能很小。通过去除相邻像素之间的相关性和冗余性,而只对新的信息进行编码,这就是预测编码。常用的预测
27、编码是差分脉冲编码调制(differential pulse code modulation,DPCM)。3) 变换编码所谓变换编码是指,对给定图像采用某种变换,使得大量的信息能用较少的数据来表示,从而达到压缩的目的。变换编码中通常采用的变换包括:离散傅里叶变换(discrete fourier transform,DFT),离散余弦变换(discrete cosine transform,DCT)和离散小波变换(discrete wavelet transform,DWT)。4) 其他方法 其他方法包括早期的编码,如混合编码(hybrid coding)、矢量量化(vector quartz
28、ite,VQ)、LZW算法。近些年来也出现了很多新的压缩编码方法,如使用人工神经元网络(artificial neural network,ANN)的压缩编码算法、分形(Fractal)、小波(Wavelet)、基于对象(Object Based)的压缩编码算法、基于模型(Model-Based)的压缩编码算法等。2.3 压缩技术的性能指标在数字图像通信系统中压缩比、平均码字长度、编码效率、冗余度是衡量数据压缩的性能的重要指标。1.压缩比为了表明某种压缩编码的效率,通常引入压缩比这一参数,设和代表用来表示相同信息的两个数据的容量,那么压缩比可以定义为一般的情况下压缩比总是大于等于1的,愈大则压
29、缩程度愈高。例2.3 图2-3为压缩前的图像qnd.jpg,图2-4为压缩后的图像qnd1.jpg,压缩比的计算可以由以下程序实现。运行完成后,工作区各数值见附录A。clear;fi=imread(qnd.jpg);imwrite(fi,qnd1.jpg);info1=dir(qnd.jpg);b1=info1.bytes;info2=dir(qnd1.jpg);b2=info2.bytes;ratio=b1/b2;imshow(qnd.jpg); figure; imshow(qnd1.jpg);图2-3 图2-42.平均码字长度设为数字图像的第个码字的长度(编码成二进制码的位数)。其相应出
30、现的概率为,则该数字图像所赋予的平均码字长度(单位为bit)为:3.编码效率在一般情况下,编码效率往往可用下列简单公式表示:其中,是原始图像的熵;是实际编码图像的平均码字长度。4.冗余度如果编码效率;这说明还有冗余信息;因此冗余度可由下式表示:越小,说明可压缩的余地越小6。3 信息论在图像信号压缩中的应用 要进行图像信号的存储和传输,首先要对图像信号进行编码,信息论中的各种编码方法,在此得到应用。选择合理的方法,不仅能满足对图片的编码要求,而且能节约存储空间或提高传输效率。3.1 无失真图像压缩编码3.1.2 Huffman编码Huffman于1952年提出了一种编码方法,它完全依据信息源字符
31、出现的概率大小来构造码字,这种编码方法形成的平均码字长度最短。实现Huffman编码的基本步骤如下:(1)将信息源符号出现的概率按由大到小的顺序排列。(2)将两个最小的概率进行组合相加,形成一个新概率。并按第(1)步中的方法重排,如此重复进行,直到只有两个概率为止。(3)分配码字,码字分配从最后一步开始反向进行,对最后两个概率一个赋予“0”码字,一个赋予“1”码字。如此反向进行到开始的概率排列,在此过程中,若概率不变,采用原码字7。例3.1 设输入图像的灰度级出现的概率分别为0.40、0.18、0.10、0.10、0.07、0.06、0.05、0.04,用Huffman编码方法进行编码。按照上
32、述的编码过程和例题所给出的参数,其Huffman编码过程如图3-1所示图3-1 Huffman编码过程最终编码结果为: 实现Huffman编码的基础是统计原数据集中各信号的概率分布。我们设平均码长为,编码熵为,通过上结果我们计算出比特/字符,比特/字符,由此我们可以看出,Huffman编码在无失真的编码方法中效率优于其他编码方法,是一种最佳变长码,其平均码长接近于熵值。同时,我们还可以计算出其编码效率。本例题如果采用等长编码,8个符号需要3位2进制数,所以得到的编码为通过这个例子,可以总结以下几点。1)Huffman编码的平均码字,是最接近熵的编码。2)平均码长小于等长编码所需的比特数。3)H
33、uffman编码是异字头码,即短码不构成长码的前缀,所以编解码具有唯一性8。4)Huffman编码还是一种即时码。采用Huffman编码的时候有三个问题需要注意。第一,Huffman编码没有错误保护功能,在译码时,如果码串中没有错误,则可以一个接一个地正确译出代码。但是,如果码串中有错误,则不仅是一位出现错误,而会导致在解码时,后面的信息都被错误解码,这种现象称为错误传播(error propagation)。第二,Huffman编码是可变长度码,因此很难随意查找或调用压缩文件中间的内容,然后再译码,这就需要在存储代码之前加以考虑。第三,在实际应用中,Huffman编码的过程是十分耗时的,不能
34、满足某些场合的应用,于是就需要提前建立一个通用码表,编码的时候不需要重新建立码表,直接从已有的通用码表中查出所需要的码值即可,解码时使用同样码表解码就可以了。这样做虽然牺牲了一定的压缩率,但可提高计算效率,减少传输的信息量9。3.1.3 算术编码Huffman编码使用的是二进制符号进行编码,这种方法在许多情况下无法得到最佳的压缩效果。假设某个信息源符号出现的概率85%,那么其自信息量为,其值为0.23456,也就是说用0.23456位编码就可以了。但是Huffman编码只能分配一位0或一位1进行编码。由此可知,整个数据的85%的信息在Huffman编码中用的是理想长度4倍的码字,其压缩效果可想
35、而知。算术编码就能解决这个问题,算术编码在图像数据压缩标准(如JPEG)中起到了很重要的作用。算术编码不是将单个信息源符号映射成一个码字,而是把整个信息源表示为实数线上的01之间的一个区间,其长度等于该序列的概率。再在该区间内选择一个代表性的小数,转化为二进制码作为实际的编码输出。消息序列中的每个元素都要缩短为一个区间。消息序列中元素越多,所得到的区间就越小。当区间变小时,就需要更多的数位来表示这个区间。采用算术编码,每个符号的平均编码长度可以为小数10。下面我们通过一个实例来说明算术编码的方法。假设待编码的符号序列为。已知各个信源符号的概率为,。各数据符号在半封闭实数区间内的赋值范围设定为
36、为方便起见,再给出一组关系式 (3.1) (3.2)式(3.1)和式(3.2)中,为新的子区间的起始位置;为新的子区间的结束位置;为前一子区间的起始位置;为前一子区间的长度;为当前符号的区间左端;为当前符号的区间右端。根据以上假定,本例的编码过程大致为:第一个符号为“”,代码的取值范围为。第二个符号为“”,由于前面的符号“”已将取值区间限制在范围内,所以“”的取值范围应在前符号区间之中的之间。代入式(3.1)和(3.2)得:即“”的实际编码区间在之间。第三个符号为“”,编码取值应在之中的之间,以此类推,第四个符号“”,编码取值在之中的区间中,第五个符号“”的编码取值在之中的区间内。我们看到,代
37、码的取值范围越来越小。当数据串“”全部编码后,“”已经被描述为一个实数区间,任何一个该区间内的实数,如0.068就可以用来表示整个符号序列。这样,就可以用一个浮点数表示一个字符串,达到减少存储空间的目的11。算术编码过程不采用像Huffman编码那样给符号值分配整数码字的方法,而是把二进制数所代表的概率空间宽度叠加到代码串中去,即由这样的处理形成算术编码过程。虽然算术编码的硬件实现比Huffman编码方法复杂,但对于图像的编码测试结果表明,在信源符号概率接近的条件下,算术编码效率高于Huffman编码。因此,在扩展的JPEG系统中用算术编码取代了Huffman编码。另外,算术编码出了常见的基于
38、概率统计的模式外,还有自适应模式,在这种模式下,各个符号的初始概率相同,它们依据出现的符号而发生变化。这种模式特别适用于不便于进行符号概率统计的实际场合中。通过上面的例子我们可以看出,算术编码具有以下特点:(1)由于实际的计算机精度不可能无限长,运算中会出现溢出问题。(2)算术编码器对整个消息只产生一个码字,这个码字是在0,1)之间的一个实数,因此译码器必须在接收这个实数后才能译码。(3)算术编码也是一个对错误很敏感的方法12。编码过程中,如果某一步出错,后面的结果都会受到影响。3.2 有限失真图像压缩编码3.2.1 基于DCT的图像压缩编码限失真编码属于有损信源编码,以离散余弦变换DCT为基
39、础,再加上限失真量化编码与熵编码,它能够以较少的比特数获得较好的图像质量。限失真JPEG编码器原理如图3-2。图3-2限失真JPEG译码器原理如图3-3。图3-3模拟图像经采样后成为离散化的亮度值然后分成一个个宏块,而一个宏块又分成大小的块,可以用一个矩阵来表示这个块13。在这里,矩阵中元素表示块中第行、第列像素的亮度值。把该矩阵看作一个空间域,显然,块中这些亮度值的大小有一定的随机性,无序性,或者说亮度值的分布没有什么特征;DCT变换就是来解决这个问题的,把这些随机的数据变的有序,便于对数据进行编码压缩。一维DCT正交变换的公式为:二维DCT正交变换的公式为:DCT图像压缩可由下面M文件来实
40、现,比较压缩前(图3-4)和压缩后(图3-5)图像14。程序运行后,工作区各数值见附录B。I=imread(qau.tif);I=im2double(I);T=dctmtx(8);B=blkproc(I,8 8,P1*x*P2,T,T);mask=1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; B2=blkproc(B,8 8,P1.*x,mask); I2=blkproc(B2,8 8
41、,P1*x*P2,T,T); imshow(T) title(qau1) figure; imshow(I2) title(qau2) 图3-4 图3-5 通过分析Matlab工作区的数值,我们发现,此类编码方法存在图像失真,但压缩比相对较高,对于要求保真度较低的图像来说,此方法更合适,且在图像保存与传输过程中,能更好的节约资源。3.2.2 变换编码图像数据一般具有较强的相关性,若所选用的正交矢量空间的基矢量与图像本身的主要特征相近,在该正交矢量空间中描述图像数据则会变得更简单。图像经过正交变换后,把握来分散在原空间的图像数据在新的坐标空间中得到集中。对于大多数图像,大量变换系数很小,只要删除
42、接近于零的系数,并且对较小的系数进行粗量化,而保留包含图像主要信息的系数,以此进行压缩编码。在重建图像进行解码(逆变换)时,所损失的将是一些不重要的信息,几乎不会引起图像的失真,图像的变换编码就是利用这些来压缩图像的,这种方法可以得到较高的压缩比15。变换编码首先将一幅大小的图像分割成个子图像。然后对子图像进行变换操作,解除子图像像素间的相关性,达到用少量的变换系数包含尽可能多的图像信息的目的。接下来的量化步骤是有选择地消除或粗量化带有很少信息的变换系数,因为它们对重建图像的质量影响很小。然后是编码,一般用变长码对量化后系数进行解码。解码是编码的逆操作,由于量化是不可逆的,所以在解码中没有对应
43、的模块,其实压缩并不是在变换步骤中取得的,而是在量化变换系数和编码时取得的16。在变换编码中,其性能与所选用的正交变换类型、图像类型、变换块的大小、压缩方式和压缩程度等因素有关,但在变换方式确定之后,变换块的大小选择就显得尤为重要,这是因为大量的图像统计结果显示,大多数图像仅在约20个相邻像素间有较大的相关性,而且一般当子图像尺寸(像素)时,其性能已经改善不大。同时,子图像块过大,其中所包含的像素就越多,变换时所需的计算量也越大,因此一般子图像块的大小选为或17。对图像进行子块划分的另一个好处是:它可以将传输误差所造成的图像损伤限制在子图像的范围之内,从而避免误码的扩散。除了以上几种编码方法外
44、,还有子带编码、模型基编码、分型编码等等,本文不作详细介绍。4 总结由于图像中通常存在冗余,数据量大,不利于传输、处理和存储,所以需要对待处理图像进行压缩编码,以减少描述图像的数据量。压缩可以在不失真地的前提下进行,也可以在允许的失真条件下进行。前者解压后可无失真地得到原图像信息,称为无损压缩编码;而后者只能得到原图像的近似,称为有损压缩编码。本文从数字图像压缩的理论基础入手,首先对信息论中的信息、信息量和信息熵、图像信息中存在的冗余类型,以及衡量数据压缩性能的重要参数压缩比、平均码字长度、编码效率做个简单介绍,然后介绍了集中熵编码方法,详细介绍了Huffman编码、算术编码等重要的熵编码技术
45、,给出了编码算法、部分MATLAB实现程序和相关的实现例子。在有失真编码中,主要介绍了基于DCT的图像压缩编码和变换编码的主要原理和实现技术。选择合适的编码方法有利于更好的减少冗余度,起到更优的压缩效果。对比来看,Huffman编码是一种最佳变长码,其平均码长接近于熵值。这种编码由于是异字头码,所以具有唯一性,但是此编码方法容易出现错误传播。由于Huffman编码是可变长度码,因此很难随意查找或调用压缩文件中间的内容。在信源符号比较接近的情况下,相对于Huffman编码,算术编码效率更高,而且适用于很多实际场合中,但是算术编码方法相对于Huffman编码来说,较复杂。通过实例我们看到,算术编码不需要预先定义概率模型,所以具有较强相关性的图片应采用算术编码,而相关性较小的单个信息源符号宜采用Huffman编码。在编码过程中,应根据具体图像类型来选择相应的编码方法。致谢值此论文完稿之际,向所有关心和支持我的老师、同学和朋友表示衷心地感谢!首先感谢我的导师于加举老师,在他的帮助下,我顺利完成了论文。导师实事求是、一丝不苟的态度、丰富的经验和渊博的专业知识、脚踏实地的工作作风和专业的学术水平给我留下了深刻的印象,并将使我终生受益!在此,谨向于老师表示崇高的敬意和衷心的感谢!感谢信计专业的所有同学