1、通信工程专业毕业设计题 目 图像编码技术研究 学生姓名 任 蕾 学号 1113024037 所在院(系) 陕 西 理 工 学 院 物理与电信工程学院 专业班级 通 信 工 程 专 业 1 1 0 2 班 指导教师 陈 莉 完成地点 物理与电信工程学院实验室 2015年6月2 日陕西理工学院本科毕业设计任务书院(系) 物理与电信工程学院 专业班级 通信工程(通信1102) 学生姓名 任蕾 一、毕业设计题目 图像编码技术研究 二、毕业设计工作自 2014 年 12 月 9 日 起至 2015 年 6 月 20 日止三、毕业设计进行地点: 四、毕业设计应完成内容及相关要求: 内容要求:模拟图像信号数
2、字化是对信号在时间上抽样、幅度上分层并转换为数码的过程。这一典型的数字化过程大大增加对传输信道容量的要求。因此,在图像数字化的同时,往往必须进行频带压缩。只有将图像数字化后对传输信道容量的要求降低到接近于、甚至小于图像模拟传输时的数值,图像的数字传输才有可能得到广泛应用。图像编码方案图像编码系统的发信端基本上由两部分组成。首先,对经过高精度模-数变换的原始数字图像进行去相关处理,去除信息的冗余度;然后,根据一定的允许失真要求,对去相关后的信号编码即重新码化。一般用线性预测和正交变换进行去相关处理;与之相对应,图像编码方案也分成预测编码和变换域编码两大类。 五、毕业设计应收集资料及参考文献: 图
3、像编码方向硕博论文10篇,外文文献3篇以上,近年中文文献10篇以上。 六、毕业设计的进度安排:1-3周:查找资料,文献。 4-7周:研究现有图像预测编码、变换域编码,对编码的算法作详细研究整理。 8-11周:对现有的编码算法在MATLAB下仿真验证。 12-14周:分析试验结果,对比各种增强算法的优点和缺点,尝试改进算法。 15-17周:撰写毕业论文,完成毕业答辩。 指导教师签名 陈莉 专业负责人签名 熊晓军王战备 学院领导签名 批准日期 2015-01-11 图像编码技术研究任蕾(陕西理工学院 物理与电信工程学院 通信工程专业 通信1102班,陕西 汉中 723003)指导教师:陈莉 摘要图
4、像编码是指在满足一定质量(信噪比的要求或主观评价得分)的条件下,以较少比特数表示图像或图像中所包含信息的技术。本文研究了霍夫曼编码、算术编码、DPCM编码的数学模型、原理,对这几种编码算法进行详细描述比较。最后在matlab下对以上三种算法进行仿真,验证了各种算法特性。 关键词图像编码;matlab;霍夫曼编码;算术编码;DPCM编码。Image Compression Encoding AlgorithmRen Lei(Grade11,Class2,Major of Communication Engineering,School of Physics and Telecommunicati
5、on Engineering , Shaanxi University of Technology, Hanzhong 723003,China)Tutor:Chen LiAbstract:Image coding is a technology of showing image or information in images,which must be in certain qualities such as the SNR requirment and subjective evaluation.This paper studies the mathematic model and pr
6、inciple of Huffman coding ,arithmetic coding and DPCM coding,the algorithms are compared and described in detail.Finally ,three algorithms are simulated in Matlab and their charicteristics are verified.keyword:Image coding;matlab;Huffman coding;arithmetic coding;DPCM coding.目录1绪论11.1图像编码的研究意义11.2图像编
7、码的研究现状和发展11.3本课题的主要工作12 图像编码概述22.1图像编码的必要性和可能性22.2图像编码方法分类32.3 图像编码质量的评价42.3.1 图像质量的客观评价42.3.2 图像质量评价的主观准则53.霍夫曼编码原理与实现及其性能对比63.1霍夫曼编码63.2霍夫曼编码的基本原理63.3 霍夫曼编码的实现过程73.4霍夫曼编码的实现及评价83.4.1编码结果83.4.2霍夫曼编码的客观评价93.4.3霍夫曼编码的主观评价93.4.4实验结果分析94.算术编码原理与实现及其性能对比104.1算术编码104.2算术编码的基本原理104.3算术编码的实现过程114.4算术编码的实现及
8、评价134.4.1编码结果134.4.2算术编码的客观评价134.4.3算术编码主观评价134.4.4实验结果分析145.DPCM编码原理与实现及其性能对比145.1 DPCM编码145.2 DPCM编码的基本原理145.3 DPCM编码的实现过程165.4 DPCM编码的实现及评价195.4.1编码结果195.4.2DPCM的客观评价195.4.3DPCM的主观评价195.4.4实验结果分析196.结论20致谢21附录A 英文文献原文37附录B 英文文献翻译37附录C 源程序50陕西理工学院毕业设计1绪论1.1图像编码的研究意义 以通信技术和计算机为主的信息技术高速发展,信息技术的广泛使用正
9、在悄悄改变着人们的生活和生产方式。在未来的信息世界中,大部分的信息是以数字化的方式来表示、存储和传输的,而在这些数字化信息中绝大部分是图像信息。数字化的图像占的空间是非常大的,例如,一幅普通的未经编码的图片大概要占到几兆的存储空间,仅仅1秒钟没有压缩的数字视频所占的存储空间将达到上百兆的字节,这对于目前存储空间和传输宽带来说是难以承受的。为了能对图像信息进行有效的处理,对数字图像信息进行压缩是大势所趋。数字图像编码技术被广泛应用到多媒体、通讯、医学等各个领域,在未来的科技领域,它必然具有强大的生命力和无限的发展空间。图像编码不仅是各种媒体压缩和传输的基础,也是影响媒体压缩效果好坏的关键因素1。
10、基于这种考虑,本文主要研究图像的编码技术。1.2图像编码的研究现状和发展 图像数据是众多数据类型中的一种,也是数据压缩的一个关键部分,因为图像具有与文字、语音等其他数据不同的特点,所以需要特别加以研究。 图像编码的目的是为了减少原始数据的数据量,即以最少的比特数来表示原来的图像,同时又要能保持原图像的质量,满足设定的要求2。编码减少了数据的存储空间,这样无论是在数据传输还是在数据处理的时候都会给我们带来非常大的便利。 我们从信息源得到的数据是含有冗余数据的,如果去掉这些冗余数据,就可以使得数据量减少,而且数据之间也具有一定的相关性,如果去掉这些相关性,然后对数据进行恰当的编码,那么,也可以减少
11、原始数据的数据量;如果再在一定的程度上损失一些关系并不是很大的数据,同样也能使原始数据的数据量减少。 信息论为数据的编码提供了理论基础,信息论认为每个信源中都或多或少的含有自然冗余度,这些冗余度有的来自于信源本身的相关性,又有的来自于信源概率分布的不均匀性中。只要能够找到改变概率分布不均匀性和去除相关性的相关方法和手段,就可以有效的实现数据的编码。 图像编码是信源编码的一种,但是它真正作为一种科学研究,仅仅只有六十年左右3。由于分类思路不一样,可以有不同的分类方法。由压缩的方向分类,可以分为无损压缩编码和有损压缩编码两种,有损压缩又称之为统计压缩;而根据现有的常用的编码方法,又可以划分成三类编
12、码方法:统计编码、预测编码和变换编码。 从技术革命的方向,Kunt提出过第一代、第二代图像编码的概念,他把1948年1988年这40年中研究的基于去除冗余度的编码方法称为第一代编码,如PCM、DPCM、DM、亚取样编码法等,变换领域的DFT、DCT、沃尔什哈达玛(DWHT)变换编码等,以及以此为基础的混合编码法均属于经典的第一代编码法【4】。第二代编码方法多是80年代以后提出的新的编码方法,如金字塔编码、分形编码、基于神经网络的编码、小波变换编码、模型基编码、分形压缩等。 1991年,国际电报咨询委员会(CCITT)和国际标准化组织(ISO)联合组成的专家组,共同制定了静止图像的数码率压缩标准
13、(1994年正式通过),即JPEG(TheJoint Photographic Expert Group)5,它采用了DCT变换,而最近才提出的新的国际标准JPEG2000则已经采用了小波变换。1.3本课题的主要工作 本课题为“图像编码技术研究”,首先对目前流行的多种图像压缩编码算法进行详细的分析,并给出多种编码算法对图像进行压缩的具体实现程序,为以后研究各种编码算法的优劣打下基础。 工作的重点是研究各种编码算法具体实现图像压缩是的优劣,具体从图像编码前后的质量对比以及实现压缩所需要的时间两个方面进行比较。为了实现以上目标,本文主要做了以下的工作: (1)编译合适的程序,对于每种编码算法都编译
14、对应的压缩程序,以期达到良好的压缩效果,为以后评比个压缩编码算法的优劣做准备。 (2)编译出用于图像压缩前后质量客观评定的程序,即求出压缩前后图片的PSNR(峰值信噪比),均方根误差(mse),程序运行时间,图像压缩比。 (3)搜集图像压缩前后质量主观评定的数据,即把压缩前后的图片让观察者打分,根据图像压缩质量主观评定准则打分,然后根据公式给出每种编码的具体得分。 (4)从客观和主观两个方面来评定上述几种编码方式的优劣。2 图像编码概述在20世纪3040年代开始慢慢了形成图像编码的理论,1948年香农提出能使信源与信道匹配的香农编码,1949年香农在有噪声时的通信一文中提出了信道容量的概念和信
15、道编码定理,为信道编码奠定了理论基础。从香农的编码定理中可以了解到只要信息传输速率小于信道容量,就存在这样一类编码,使信息传输的错误概率可以任意小,也就是说在不产生任何失真的前提下,通过合理的编码,对每一个信源符号分配不等长的码字,平均码长可以无限接近信源的熵6。在这个理论框架下出现了几种不同的无失真信源编码方法,如霍夫曼编码,算术编码,字典编码等,这些方法应用于一幅数字图像,压缩率一般不超过2。随着科学技术的发展,人们对压缩率的要求越来越高,现在出现了更多的编码方法,主要有KTL编码,分形编码,模型编码,子带编码,基于小波的编码等。2.1 图像编码的必要性和可能性 一方面,近年来计算机技术、
16、微电子技术和和网络技术的迅猛发展为多媒体的发展创造了优越的条件,多媒体已经被人们广泛的应用于生活的各个领域。多媒体是指文字、声音、图形和图像等各种媒体,它能比单纯文字传输更多、更生动的信息,与此同时他的数据量也比文字要大得多,例如一幅分辨率为1024768、颜色24位的图像将占到2.3MB的存储空间,1秒钟没有任何压缩的数字视频图像需要上百兆字节的存储空间,这是目前的存储空间和传输宽带不能承受的。采用数据技术去除不必要的冗余数据以减少所需传输的数据量是必然的选择。 另一方面,图像数据中确实存在大量的冗余数据。一般情况下,图像数据中可能存在着以下几种冗余7: 空间冗余(像素间冗余、几何冗余):这
17、种冗余常常出现在图像数据当中。要是在一幅图片当中,规则物体和规则背景(所谓规则是指表面是有序的而不是完全杂乱无章的排列)的表面物理特性具有相关性,这些相关性的光成像结果在数字化图像中就表现为数据冗余。 时间冗余:在序列图像(电视图像、运动图像)中,相邻两帧图像之间有较大的相关性。 信息熵冗余:也称为编码冗余,如果图像中平均每个像素使用的比特数大于该图像的信息熵,则图像中存在冗余,称为信息熵冗余。 结构冗余:有些图像存在较强的纹理结构,如墙纸、草席等图像,称之存在结构冗余。 知识冗余:有许多图像的理解与生活当中很多的常识都有很强的相关性,例如人身体的图像有固定的结构,比如说每个人都有一个头,都有
18、两个眼睛、一个鼻子、两个耳朵、一张嘴巴等等,这类规律性的结构从每个人平时的知识和背景知识得到,称此类冗余为知识冗余。 心理视觉冗余:由于人的眼睛看到的事物当中,对于每一种东西都是一种感觉,即眼睛并不是对所有信息都有相同的敏感度,有些信息在通常的视觉感觉过程中与另外一些信息相比来说并不那么重要,这些信息可认为是心理视觉冗余的,去除这些信息并不会明显地降低所感受到的图像的质量。 从信息论的观点上来看,用于描述图像信源的数据是由有效信息和冗余数据两个部分组成的8。去除冗余数据能够节省存储和传输中的数据,同时又不会损坏图像信源的有效信息。在有些时候,是允许一定限度的失真的,例如人的眼睛对图像灰度分辨的
19、局限性,监视器显示分辨率的限制等,然而这些失真并不妨碍图像的实际应用,利用这些也可以对图像信源作一定程度上的压缩。 数据压缩起源于人们对概率的认识。当我们对文字信息进行编码时,如果为出现概率较高的字母赋予较短的编码,为出现概率较低的字母赋予较长的编码,总的编码长度就能缩短不少。图像编码主要就是研究压缩数码率9。早期,对图像压缩的研究还仅局限于静止图像。进入20世纪80年代以来,数字信号处理、计算机科学、多媒体技术和数字通信飞速发展,对图像编码的研究从静止图像扩展到了运动图像。有关国际组织相继定义了一些算法和压缩标准,如由国际标准化组织(International Standard Organi
20、zation,ISO)和国际电报电话协商委员会(Consultative Committee for International Telegraph and Telephone,CCITT)组织的联合影像专家小组就提出了面向连续色调静止图像的DCT(Discrete Cosine Transform,离散余弦)编码,进一步推动了图像数据处理和编码压缩工作。2.2 图像编码方法分类 1948年,奥立弗提出了第一个编码理论-脉冲编码调制(Pulse Coding Modulation,PCM);就在同一年,香农在其经典论文通信的数学原理中首次提出并建立了信息率失真函数的概念;1959年,香农进一步
21、确立了码率失真理论。以上工作奠定了信息编码的理论基础。脉冲编码调制实际上就是连续模拟信号的数字采样。PCM只是将模拟信号转换为数字信号,没有对信号进行任何压缩10。下文讨论的编码方式都是在多媒体模拟信号经过PCM编码后再进行的。 编码方法有许多种,从不同的角度出发有不同的分类方法。(1)应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可分为3类:无损压缩编码种类。霍夫曼编码算术编码行程编码Lempel zev编码有损压缩编码种类预测编码:DPCM,运动补偿频率域方法:正交变换编码(如DCT),子带编码空间域方法:统计分块编码,模型基编码基于重要性:滤波,子采样,比特分配,向量量化混合编码
22、有JBIG,H261,JPEG,MPEG,小波等技术。(2)按压缩技术所依据和采用的数学理论和计算方法分类11,可以分为统计编码、预测编码和变换编码。统计编码 依据信号当中每一种信息出现的概率编码叫做统计编码,它有别于预测编码和变换编码。统计编码的主要就是找到一种方式,可以使信息和码字之间有相互对应的关系。或者至少是极相似地找到相当的对应关系,并且这种关系还可以让编解码之后的图像没有很强的失真。常用的编码有:霍夫曼编码(Huffman)、行程编码(ShannonFamo)、算术编码等。预测编码 它是利用空间中相邻数据的相关性,利用过去和现在出现过的点的数据情况来预测未来点的数据。通常用的方法是
23、差分脉冲编码调制(DPCM)和自适应差分脉冲编码调制(ADPCM)。变换编码 所谓的变换编码就是把图像中的时域信号放到频域信号当中进行编码。一般会在时域空间当中出现很强的信号,但是这种情况要是放到频域当中去的话只会出现在一片很小的范围当中,于是编码的压力就大大得到的减小,从而实现压缩。一般采用正交变换,如离散余弦变换(DCT)、离散傅立叶变换(DFT)、Walsh-Hadamard变换(WHT)和小波变换(WT),来实现压缩算法。2.3 图像编码质量的评价 对于编码算法,应该有一个评价标准,能够对压缩后的图像质量给予正确的评价。常用的评价标准有两种:一种是客观准则;另一种是主观准则。 2.3.
24、1 图像质量的客观评价 客观准则是因为图像经过了编解码之后,肯定会有信息的变化,为了得到更加准确的信息,一般都是将整张照片进行计算,得到前后的均方误差。 设一个原始图像为a(I,j),0iM-1,0jN-1,相应的编码后的还原图像为a(i,j),0iM-1,0jN-1,误差图像为e(i,j)=a(i,j)-a(i,j),0iM-1,0jN-1,那么均方误差表示为: (2-1) 但是需要考虑的,标准误差并不是测量值的实际误差,同样也不是误差范围,它只是对这组测量数据可靠性的估计。从标准误差就可以了解到编码的可靠性,误差越小的话,可靠性就越好。为了得到更加精确的数据,可以利用偶然误差的高斯定理,当
25、一组测量值的标准误差为时,则其中的任何一个测量值的误差有58.3%的可能性是在(,)区间内。 有时也会用均方根误差,它是 (2-2) 用分贝表述图像编码之后的误差更加常见一点。基本信噪比定义为: (2-3)还有一种方法是首先对原始图像去均值,定义如下: (2-4) (2-5)峰值信噪比(PSNR)常常被人们应用到文章当中,设a=2-1,K是表示一个像素点用的二进制那么: PSNR=10lg (2-6)要是信息是视频或者用于商业图片的话,常用K=8,直接将a=256代入到上式。2.3.2 图像质量评价的主观准则 主观准则也常常被用于图像的评价当中去。由于每个人的审美还有观感不一样,所以就利用多数
26、人的态度,让很多人去看同一张图片,让其打分。如表2.1所示的两种经典的评分标准。表2.1 对图像质量的主观评价标准得分 第一种评价标准 第二种评价标准 5 非常好 完全没有失真 4 好 稍微失真,但是看着几乎没变化 3 一般 看上去有了一点变化 2 较差 变化挺大 1 差 变化非常大没法看 假设每个人的打记为C,每一种得分的评分人数为n,那么我么就可以规定感觉分MOS(mean opinion score)的主观评价得分就是: (2-7) 例如,一幅图像的评分为4.6,这说明图像质量相当好。 压缩比C也是判别图像编码质量的一项重要参数,它的概念是编码前图像每像素的比特数与编码指后平均每个像素的
27、比特数的比值,也常用每像素比特值(bpp)来代表压缩效果。本文就采用客观准则和主观准则这两种准则来评价编码图像前后的质量。3. 霍夫曼编码原理与实现及其性能对比3.1 霍夫曼编码 霍夫曼于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作霍夫曼编码12。3.2 霍夫曼编码的基本原理 将使用次数多的代码用长度较短的代码代替,而使用次数少的则使用较长的编码,并且确保编码的唯一可解性。其最根本的原则是:累计的(字符的统计数字字符的编码长度)最小,也就是权值的和最小。 霍夫曼编码的基本步骤 霍夫曼编码是一种无损编码方法,其一般算法如下
28、: (1)首先统计信源中各信息出现的概率,按信息出现的概率从大到小排序; (2)将两个最小的概率相加成新的概率,于是剩余的概率就组成新的概率集合; (3)对这个新组成的概率集合又重新排序,再次把其中两个最小的概率相加,组成了新的概率集合。重复进行上面的步骤,直至只剩下了两个概率的并且和为l; (4)分配码字:码字分配从最后一步开始进行,对于每次相加的两个概率,给大的赋1,小的赋0(同样可以全部相反,如果两个概率相等,则从中任选一个赋1,另外的赋0就行),读编码的时侯由符号开始一直走到最后的概率和1,将路线上所遇到的1和0按最低位到最高位的顺序排好,霍夫曼编码就此形成。 霍夫曼编码的特点 霍夫曼
29、编码具有不唯一性。 霍夫曼编码对不同信源具有不同的编码效率。 霍夫曼编码的结果不等长,硬件实现有相当大的困难,而且误码传播严重。 一般情况下,霍夫曼编码的效率要比其他编码算法的效率高一些,是最佳变长码。但霍夫曼编码依赖于信源的统计特性,必须先统计出信源的概率特性才能编码,这就限制了霍夫曼编码的实际应用。 如图3.1所示是一个霍夫曼编码的例子。从图中可以看到,符号只能出现在树叶上,且任何一个字符的路径都不允许是另一个字符路径的前缀路径,这样,前缀编码就构造成功了。这样一颗二叉树在数据结构中被称为霍夫曼树,经常用于最佳判定,它是最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是
30、树中所有的叶节点的权值乘上其到根节点的路径长度(假如根节点为0层,叶节点到根节点的路径长度则为叶节点的层数)。树的带权路径长度记作:WPL=(+),N个权值W(i=1,2,n)构成一棵有N个节点的二叉树,相应的树节点的路径长度为L(i=1,2,n),霍夫曼得出的WPL值最小。 图3.1霍夫曼编码实例在实际应用中,由于在霍夫曼编码之前需要知道信源数据符号(叶节点)的概率,给那些要求做实时编码的任务带来了麻烦。因此,在目前的实时编码作业中,大多采用所谓的准可变字长码,例如,采用双字长编码,并且从短码集合中选出一个码子,作为长码字头,以保证码字的非续长特性。另外,在数字图像通信中采用的三类传真机中的
31、MH码,则采用了多字长VLC技术,它是根据一系列标准图像的统计分析出结果,预先在其IC芯片中做号码表,使得实际的编码解码作业简化为一个查表过程,从而确保了高速实时处理的需要。3.3 霍夫曼编码的实现过程 本文霍夫曼编码压缩图像的步骤如下: 读入图像,并把它用矩阵表示。 统计图像颜色的种数。 统计各种颜色值出现的概率,并把它们按从大到小的顺序排列。 进行霍夫曼编码的计算: 定义一个矩阵M,M矩阵的第一行,存放的是需要编码的各个颜色值出现的概率,并且按照从大到小排列顺序,然后再将第一行从后往前两两相加(即概率最小的两个数相加),把相加得到的结果放到第二行,然后再将第二行重新进行排序,依此类推,一直
32、到最后一行,这时最后一行只有两个概率,并且相加肯定为1 。 对M矩阵的数值进行霍夫曼编码: 首先建立N矩阵,用来存放编码的码字。然后将字符0,赋给最后一行的第一小段,再将字符1,赋给最后一行的第二小段,在M矩阵中,由于每一行的最后两个数,都是这一行中概率最小的两个数,所以将倒数第二行的最后两个数进行相加,然后用相加的结果到倒数第一行中去寻找,肯定会在倒数第一行中找到一样的值,然后记录下来在倒数第一行中这个值的位置,再将这个在M矩阵中的位置对应到N矩阵中,将N矩阵中的该位置的字符赋给倒数第二行的第二小段和第三小段,最后在给第二小段的后面赋字符0,给第三小段后面赋字符1,然后将在最后一行找到的那个
33、数的左边的数,一一对应到上一行去,右边的数,向左串一位,再对应到上一行去,这样依此类推,那么在N矩阵的第一行,可以得到最后的编码。3.4霍夫曼编码的实现及评价3.4.1 编码结果实验程序见附录C实验结果如下:原始图像大小 Name Size Bytes Class f0 256x256 66560 uint8 arrayElapsed time is 14.123268 seconds.压缩图像大小 Name Size Bytes Class f 256x256 66560 uint8 arrayElapsed time is 258.570252 seconds.图3.2原始图像图3.3编码
34、图像 图3.4解码图像3.4.2 霍夫曼编码的客观评价 客观准则评价霍夫曼编码压缩图像质量 由前文2.3图像编码质量的评价可知,客观准则评价霍夫曼编码压缩图像的质量即求压缩图像与原始图像的峰值信噪比(PSNR)。 求PSNR的程序见附录C求得结果为:mse = 0.6641psnr = 49.9083entropy =6.81653.4.3 霍夫曼编码的主观评价 主观准则评价霍夫曼编码压缩图像质量 根据前文2.3图像编码质量的评价的主观评价准则,我收集了30分主观评价的样本;运用公式(2-7) 可得,霍夫曼编码压缩图像的主观评价得分为:MOS=4.833.4.4 实验结果分析 从本次实验结果看
35、熵为6.8165,均值误差(MSE)为0.6641而峰值信噪比(PSNR)达到49.9083,主观得分也高达4.83,说明本次压缩图片编码理论上的最少传输量为6.8165bit,测量数据可信度非常之高,无论从主观还是客观方面来看,图像的压缩质量都是非常好的,只是程序的编码时间为15.165959S,而程序的解码时间更是达到了297.597000S,整个编解码的过程共花了4分多钟,仅仅是一幅图片就花了4分多钟,这在图像压缩的编码算法中是比较慢的了,若只考虑图像压缩的质量,可以用这种编码,如有数量的要求则不建议使用这种编码算法。从本次试验来看霍夫曼编码的特点为: (1)进行无损编码需要知道数据的概
36、率; (2)发信者与受信者需要使用同一张定制的编码/解码表,在音频中即是编码器和解码器要共用一张表; (3)无损编码的效率会因概率表的不同而不同,这就是为什么各种无损音频编码的压缩率不一样; (4)无损编码不会造成信息的损失,不用担心图像进行无损编码之后会劣化。4.算术编码原理与实现及其性能对比4.1 算术编码 算术编码是一种无失真的编码方法,能有效地压缩信源冗余度,使编成的码率趋于信源的熵,它是无损压缩的一种13。4.2 算术编码的基本原理 算术编码的基本原理是:根据信源可能发现的不同符号序列的概率,把0,1)区间划分为互不重叠的子区间,子区间的宽度恰好是各符号序列的概率。这样信源发出的不同
37、符号序列将与各子区间一一对应,因此每个子区间内的任意一个实数都可以用来表示对应的符号序列,这个数就是该符号序列所对应的码字。显然,一串符号序列发生的概率越大,对应的子区间就越宽,要表达它所用的比特数就减少,因而相应的码字就越短。算术编码可以是静态的或者自适应的。在静态算术编码中,信源符号的概率是固定的。本文主要是以静态算术编码算法为例。在自适应算术编码中,自适应算术编码在对符号序列进行扫描的过程中,可一次完成两个过程,即根据恰当的概率估计模型和当前符号序列中各符号出现的频率,自适应地调整各符号的概率估计值,同时完成编码。信源符号的概率根据编码时符号出现的频繁程度动态地进行修改,在编码期间估算信
38、源符号概率的过程叫做建模。需要开发态算术编码的原因是因为事先知道精确的信源概率是很难的,而且是不切实际的。当压缩消息时,我们不能期待一个算术编码器获得最大的效率,所能做的最有效的方法是在编码过程中估算概率。尽管从编码效率上看不如已知概率表的情况,但正是由于算术编码自适应的调整对个符号概率的估计值,这点比哈弗曼编码相比,具有实时性好、灵活性高、适应性强等特点,在图像压缩、视频图像编码等领域都得到了广泛的应用14。 算术编码的优点: (1)不必预先定义概率模型,自适应模式具有独特的优点; (2)信源符号概率接近时,建议使用算术编码,这种情况下其效率高于霍夫曼编码; (3)算术编码绕过了用一个特定的
39、代码替代一个输入符号的想法,用一个浮点输出数值代替一个流的输入符号,较长的复杂的消息输出的数值中就需要更多的位数; (4)算术编码实现方法复杂一些,但JPEG成员对多幅图像的测试结果表明,算术编码比霍夫曼编码提高了10%左右的效率,因此在JPEG扩展系统中用算术编码取代霍夫曼编码。 算术编码虽然具有其独特的优点,但我们仍需要注意下面几个问题: (1)由于实际的计算机的精度不可能无限长,运算中出现溢出是一个明显的问题,但多数机器都有16位、32位或者64位的精度,因此这个问题可使用比例缩放方法解决。 (2)算术编码器对整个消息只产生一个码字,这个码字是在间隔0,1)中的一个实数,因此译码器在接受到表示这个实数的所有位之前不能进行译码。 (3)算术编码也是一种对错误很敏感的编码方法,如果有一位发生错误就会导致整个消息译错。 算术编码随着序列长度的增加,相应子区间的宽度也不断缩小,要表示这段子区间所需精度,直观地说就是比特数也不断增加。这不但要占用相当大的存储空间,还增加了编码延时,这对实时系统是十分不利的。为了解决这些难点,针对不同的应用方向,人们对传统的算术编码方法进行了改进,在保证足够精度的前提下,提高了编码速度。基于算术编码算法人们提出了二进制自