图像压缩编码技术研究_第1页
图像压缩编码技术研究_第2页
图像压缩编码技术研究_第3页
图像压缩编码技术研究_第4页
图像压缩编码技术研究_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 图像压缩编码技术的应用研究图像压缩编码技术的应用研究 方超 南京信息工程大学信息与控制学院仪器科学与技术系,南京 210044 摘要:在满足一定图像质量的条件下,我们可以对图像的数据进行变换、编码和压缩,去除冗余数据来减少表示数字图 像时所需要的数据量,以方便图像的存储和传输。研究最佳的编码压缩的数学模型和方法,是人们不断追求的目标。本文 介绍了数字图像压缩技术的分类和基本原理,给出了霍夫曼编码、DPCM 编码、DCT 编码、JPEG 编码和小波编码等几种 方法对静止图像压缩的具体实现,并总结了各种方法的优劣和今后的发展趋势。 关键词关键词:静止图像;图像编码;图像压缩 一、绪论 1.1 图像压缩编码的研究意义 以通信技术和计算机为主的信息技术高速发展,信息技术的广泛使用正在悄悄改变着人们的生活 25 和生产方式。在未来的信息世界中,大部分的信息是以数字化的方式来表示、存储和传输的,而在这些 数字化信息中绝大部分是图像信息。数字化的图像占的空间是非常大的,例如,一幅普通的未经压缩的 图片大概要占到几兆的存储空间,仅仅 1 秒钟没有压缩的数字视频图像所占的存储空间将达到上百兆的 字节,这对于目前存储空间和传输宽带来说是难以承受的。为了能对图像信息进行有效的处理,对数字 图像信息进行压缩是大势所趋。数字图像压缩技术被广泛应用到多媒体、通讯、医学等各个领域,在未 来的科技领域,它必然具有强大的生命力和无限的发展空间。静止图像压缩不仅是各种媒体压缩和传输 的基础,也是影响媒体压缩效果好坏的关键因素。基于这种考虑,本文主要研究静止图像的压缩技术。 1.2 图像压缩编码的研究现状和发展 图像数据是众多数据类型中的一种,也是数据压缩的一个关键部分,因为图像具有与文字、语音等 其他数据不同的特点,所以需要特别加以研究。 图像压缩编码的目的是为了减少原始数据的数据量,即以最少的比特数来表示原来的图像,同时 21 又要能保持原图像的质量,满足设定的要求。压缩编码减少了数据的存储空间,这样无论是在数据传输 还是在数据处理的时候都会给我们带来非常大的便利。 我们从信息源得到的数据是含有冗余数据的,如果去掉这些冗余数据,就可以使得数据量减少,而 且数据之间也具有一定的相关性,如果去掉这些相关性,然后对数据进行恰当的编码,那么,也可以减 少原始数据的数据量;如果再在一定的程度上损失一些关系并不是很大的数据,同样也能使原始数据的 数据量减少。 2 信息论为数据的压缩提供了理论基础,信息论认为每个信源中都或多或少的含有自然冗余度,这些 冗余度有的来自于信源本身的相关性,又有的来自于信源概率分布的不均匀性中。只要能够找到改变概 率分布不均匀性和去除相关性的相关方法和手段,就可以有效的实现数据的压缩。 图像压缩指的就是图像压缩编码,或者简称图像编码,在本论文的后面部分中,就不再区分几个 14 概念,它们的含义都是相同的。 图像编码属于信源编码的范畴,真正从科学的角度上对图像编码进行研究的历史相对来说并不长, 只有差不多六十年的时间。对它的分类根据研究问题的出发点不同,可以有不同的分类方法。从压缩的 角度分类,可以分为无损压缩编码和有损压缩编码,有损压缩也可以称为统计压缩;从现有的具有实用 性的编码方法来看,可以划分为三大类编码方法:统计编码、预测编码和变换编码。 从技术发展的角度,Kunt 提出过第一代、第二代图像编码的概念,他把1948年1988 年40 年中研 究的基于去除冗余度的编码方法称为第一代编码,如PCM、DPCM、DM 、亚取样编码法等,变换领域 的DFT、DCT、沃尔什哈达玛(DWHT)变换编码等,以及以此为基础的混合编码法均属于经典的第一 代编码法。第二代编码方法多是80年代以后提出的新的编码方法,如金字塔编码、分形编码、基于神经 网络的编码、小波变换编码、模型基编码、分形压缩等。 15 1991 年,国际电报咨询委员会(CCITT)和国际标准化组织(ISO)联合组成的专家组,共同制定了静 止图像的数码率压缩标准(1994 年正式通过) ,即 JPEG(TheJoint Photographic Expert Group) ,它采用了 DCT 变换,而最近才提出的新的国际标准 JPEG2000 则已经采用了小波变换。 1.3 本课题的主要工作 本课题为“图像压缩编码技术的应用研究” ,首先对目前流行的多种图像压缩编码算法进行详细的分 析,并给出多种编码算法对图像进行压缩的具体实现程序,为以后研究各种编码算法的优劣打下基础。 工作的重点是研究各种编码算法具体实现图像压缩是的优劣,具体从图像压缩前后的质量对比以及 实现压缩所需要的时间两个方面进行比较。 为了实现以上目标,本文主要做了以下的工作: (1)编译合适的程序,对于每种编码算法都编译对应的压缩程序,以期达到良好的压缩效果,为以 后评比个压缩编码算法的优劣做准备。 (2)编译出用于图像压缩前后质量客观评定的程序,即求出压缩前后图片的 PSNR(峰值信噪比) , 均方根误差(mse),程序运行时间,图像压缩比。 (3)搜集图像压缩前后质量主观评定的数据,即把压缩前后的图片让观察者打分,根据图像压缩质 量主观评定准则打分,然后根据公式给出每种编码的具体得分。 (4)从客观和主管两个方面来评定上述几种编码压缩方式的优劣。 3 二、图像压缩编码概述 20 世纪 3040 年代开始形成图像压缩编码的理论,1948 年香农提出能使信源与信道匹配的香农 23 编码,1949 年香农在有噪声时的通信一文中提出了信道容量的概念和信道编码定理,为信道编码奠 定了理论基础。香农的编码定理告诉我们只要信息传输速率小于信道容量,就存在一类编码,使信息传 输的错误概率可以任意小,即在不产生任何失真的前提下,通过合理的编码,对每一个信源符号分配不 等长的码字,平均码长可以无限接近信源的熵。在这个理论框架下出现了几种不同的无失真信源编码方 法,如霍夫曼编码,算术编码,字典编码等,这些方法应用于一幅数字图像,压缩率一般不超过 2。随着 科学技术的发展,人们对压缩率的要求越来越高,现在出现了更多的编码方法,主要有 KTL 编码,分形 编码,模型编码,子带编码,基于小波的编码等。 2.1 图像压缩编码的必要性和可能性 一方面,近年来计算机技术、微电子技术和和网络技术的迅猛发展为多媒体的发展创造了优越的条 件,多媒体已经被人们广泛的应用于生活的各个领域。多媒体是指文字、声音、图形和图像等各种媒体, 它能比单纯文字传输更多、更生动的信息,与此同时他的数据量也比文字要大得多,例如一幅分辨率为 1024768、颜色 24 位的图像将占到 2.3MB 的存储空间,1 秒钟没有任何压缩的数字视频图像需要上百兆 字节的存储空间,这是目前的存储空间和传输宽带不能承受的。采用数据压缩技术去除不必要的冗余数 据以减少所需传输的数据量是必然的选择。 另一方面,图像数据中确实存在大量的冗余数据。一般情况下,图像数据中可能存在着以下几种冗 余: 空间冗余(像素间冗余、几何冗余):这是图像数据中所经常存在的一种冗余。在同一幅图像中, 规则物体和规则背景(所谓规则是指表面是有序的而不是完全杂乱无章的排列)的表面物理特性具有相 关性,这些相关性的光成像结果在数字化图像中就表现为数据冗余。 时间冗余:在序列图像(电视图像、运动图像)中,相邻两帧图像之间有较大的相关性。 信息熵冗余:也称为编码冗余,如果图像中平均每个像素使用的比特数大于该图像的信息熵,则 图像中存在冗余,称为信息熵冗余。 结构冗余:有些图像存在较强的纹理结构,如墙纸、草席等图像,称之存在结构冗余。 知识冗余:有许多图像的理解与某些基础知识有相当大的相关性,例如人脸的图像有固定的结构, 比如说嘴的上方有鼻子,鼻子的上方有眼睛,鼻子位于正脸图像的中线上等等,这类规律性的结构可由 先验知识和背景知识得到,称此类冗余为知识冗余。 心理视觉冗余:人类的视觉系统对于图像场的注意是非均匀和非线性的,特别是视觉系统并不是 对于图像场的任何变化都能感知,即眼睛并不是对所有信息都有相同的敏感度,有些信息在通常的视觉 感觉过程中与另外一些信息相比来说并不那么重要,这些信息可认为是心理视觉冗余的,去除这些信息 并不会明显地降低所感受到的图像的质量。 4 从信息论的观点上来看,用于描述图像信源的数据是由有效信息和冗余数据两个部分组成的。去除 冗余数据能够节省存储和传输中的数据,同时又不会损坏图像信源的有效信息。在有些时候,是允许一 定限度的失真的,例如人的眼睛对图像灰度分辨的局限性,监视器显示分辨率的限制等,然而这些失真 并不妨碍图像的实际应用,利用这些也可以对图像信源作一定程度上的压缩。 数据压缩起源于人们对概率的认识。当我们对文字信息进行编码时,如果为出现概率较高的字母 22 赋予较短的编码,为出现概率较低的字母赋予较长的编码,总的编码长度就能缩短不少。 图像编码主要就是研究压缩数码率。早期,对图像压缩的研究还仅局限于静止图像。进入 20 世纪 80 年代以来,数字信号处理、计算机科学、多媒体技术和数字通信飞速发展,对图像编码的研究从静止图 像扩展到了运动图像。有关国际组织相继定义了一些算法和压缩标准,如由国际标准化组织 (International Standard Organization,ISO)和国际电报电话协商委员会(Consultative Committee for International Telegraph and Telephone,CCITT)组织的联合影像专家小组就提出了面向连续色调静止图像的 DCT(Discrete Cosine Transform,离散余弦)编码,进一步推动了图像数据处理和编码压缩工作。 2.2 图像编码压缩方法分类 1948年,奥立弗提出了第一个编码理论-脉冲编码调制(Pulse Coding Modulation,PCM); 就在同一年,香农在其经典论文通信的数学原理中首次提出并建立了信息率失真函数的概念;1959 年,香农进一步确立了码率失真理论。以上工作奠定了信息编码的理论基础。脉冲编码调制实际上就是 连续模拟信号的数字采样。PCM 只是将模拟信号转换为数字信号,没有对信号进行任何压缩。下文讨论 的编码方式都是在多媒体模拟信号经过 PCM 编码后再进行的。 编码压缩方法有许多种,从不同的角度出发有不同的分类方法。 1.应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可分为 3 类: 无损压缩编码种类。 哈夫曼编码 算术编码 行程编码 Lempel zev 编码 有损压缩编码种类。 预测编码:DPCM,运动补偿 频率域方法:正交变换编码(如 DCT) ,子带编码 空间域方法:统计分块编码,模型基编码 基于重要性:滤波,子采样,比特分配,向量量化 混合编码。 有 JBIG,H261,JPEG,MPEG,小波等技术。 5 2.按压缩技术所依据和采用的数学理论和计算方法分类,可以分为统计编码、预测编码和变换编 25 码。 统计编码 统计编码是根据消息出现概率的分布特性而进行的压缩编码 , 它有别于预测编码和变 换编码。这种编码的宗旨在于,在消息和码字之间找到明确的一一对应关系 , 以便在恢复时能准确无误 地再现出来,或者至少是极相似地找到相当的对应关系,并把这种失真或不对应概率限制到可容忍的范围 内。常用的编码有:霍夫曼编码(Huffman) 、行程编码(ShannonFamo) 、算术编码等。 预测编码 它是利用空间中相邻数据的相关性 , 利用过去和现在出现过的点的数据情况来预测 未来点的数据。通常用的方法是差分脉冲编码调制 (DPCM) 和自适应差分脉冲编码调制 (ADPCM) 。 变换编码 该方法将图像光强矩阵 ( 时域信号 ) 变换到频域空间上进行处理。 在时域空间上具 有强相关的信号 , 反映在频域上是某些特定的区域内能量常常被集中在一起 , 我们只需将主要注意力 放在相对小的区域上 , 从而实现压缩。一般采用正交变换 , 如离散余弦变换 (DCT) 、离散傅立叶变换 (DFT) 、Walsh-Hadamard 变换 (WHT)和小波变换 (WT), 来实现压缩算法。 2.3 图像编码质量的评价 对于编码压缩算法,应该有一个评价标准,能够对压缩后的图像质量给予正确的评价。常用的评价 标准有两种:一种是客观准则;另一种是主观准则。 20 2.3.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 0 1 0 2 ),( 1 M i N j mse jie MN e 1) 需要注意的是,标准误差不是测量值的实际误差,也不是误差范围,它只是对一组测量数据可靠 性的估计。标准误差小,测量的可靠性大一些,反之,测量就不大可靠。进一步的分析表明,根据偶 然误差的高斯理论,当一组测量值的标准误差为 时,则其中的任何一个测量值的误差 有 i 68.3%的可能性是在( ,)区间内。 有时也会用均方根误差,它是 (2-2 1 mserms ee 2) 更常用的是信噪比表示,它用分贝表示压缩图像的定量性能评价。基本信噪比定义为: 6 (2- 1 0 1 0 2 1 0 1 0 2 ),(),( ),( lg10 M i N j M i N j jiajia jia SNR 3) 另一信噪比的定义是首先对原始图像去均值,定义如下: (2- 1 0 1 0 ),( 1 ),( M i N j jia MN jia 4) (2- 1 0 1 0 2 1 0 1 0 2 ),(),( ),(),( lg10 M i N j M i N j m jiajia jiajia SMR 5) 文献中最常用的是峰值信噪比(PSNR) ,设 a=2-1,K 是表示一个像素点用的二进制,那么: max K PSNR=10lg (2- 1 0 1 0 2 2 max ),(),( MN M i N j jiajia a 6) 在许多采集的视频序列和商用图像的应用中,常用 K=8,直接将 a=256 代入到上式。 max 2.3.2 图像质量评价的主观准则 对压缩图像质量的第二种评价准则是主观准则,他是选择一组评价者给待评图像进行打分,对这些 主观打分进行平均获得一个主观评价分。如表 2-1 所示的两种典型的评分标准。 表 2-1 对图像质量的主观评价标准 得 分第一种评价标准第二种评价标准 5 非常好感觉不到失真 4 好感觉到失真,但没有不舒服的感觉 3 一般稍有不舒服的感觉 2 较差不舒服 1 差非常不舒服的感觉 设每一种得分记为 C ,每一种得分的评分人数为 n ,则一个被称为感觉分 MOS(mean opinion score)的 ii 7 主观评价得分为: (2- K i i K i ii n nC MOS 0 1 7) 例如,一幅图像的评分为 4.5,这说明图像质量相当好。 评价图像压缩效果的另外一个重要指标是压缩比 C,它指的是表示原始图像每像素的比特数同压缩后 平均每像素的比特数的比值,也常用每像素比特值(bpp)来代表压缩效果。 20 本文采用客观准则和主观准则两种准则来评价编码压缩图像的质量。 三、无损压缩编码原理与实现及其性能对比 所谓无损压缩,是利用数据的统计冗余进行压缩,可完全回复原始数据而不引起任何失真。这类 7 方法广泛用于文本数据,程序和特殊应用场合的图像数据(如指纹图像,医学图像等)的压缩。经常使用 的无损压缩方法有 香农(Shannon-Fano)编码,霍夫曼(Huffman) 编码,行程(Run-length)编码, LZW(Lempel-Ziv-Welch)编码和算术编码等。 3.1 霍夫曼编码 霍夫曼于 1952 年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的 码字,有时称之为最佳编码,一般就叫作霍夫曼编码。 3.1.1 霍夫曼编码的基本原理 将使用次数多的代码用长度较短的代码代替,而使用次数少的则使用较长的编码,并且确保编码的 唯一可解性。其最根本的原则是:累计的(字符的统计数字字符的编码长度)最小,也就是权值的和 最小。 霍夫曼编码的基本步骤 哈夫曼编码是一种无损压缩方法,其一般算法如下: 1) 、首先统计信源中各符号出现的概率,按符号出现的概率从大到小排序; 2) 、把最小的两个概率相加合并成新的概率,与剩余的概率组成新的概率集合; 3) 、对新的概率集合重新排序,再次把其中最小的两个概率相加,组成新的概率集合。如此重复进行,直 到最后两个概率的和为 l; 4) 、分配码字:码字分配从最后一步开始反向进行,对于每次相加的两个概率,给大的赋O“,小的 8 赋1(也可以全部相反,如果两个概率相等,则从中任选一个赋O,另一个赋“l即可),读出时由 该符号开始一直走到最后的概率和1,将路线上所遇到的O和l按最低位到最高位的顺序排好, 就是该符号的霍夫曼编码。 20 霍夫曼编码的特点 1) 霍夫曼编码具有不唯一性。 2) 霍夫曼编码对不同信源具有不同的编码效率。 3) 霍夫曼编码的结果不等长,硬件实现有相当大的困难,而且误码传播严重。 4) 一般情况下,霍夫曼编码的效率要比其他编码算法的效率高一些,是最佳变长码。但霍夫曼编码依赖 于信源的统计特性,必须先统计出信源的概率特性才能编码,这就限制了霍夫曼编码的实际应用。 如图 3-1 所示是一个霍夫曼编码的例子。从图中可以看到,符号只能出现在树叶上,且任何一个字符 的路径都不允许是另一个字符路径的前缀路径,这样,前缀编码就构造成功了。这样一颗二叉树在数据结 构中被称为霍夫曼树,经常用于最佳判定,它是最优二叉树,是一种带权路径长度最短的二叉树。所谓树 的带权路径长度,就是树中所有的叶节点的权值乘上其到根节点的路径长度(假如根节点为 0 层,叶节点 到根节点的路径长度则为叶节点的层数) 。树的带权路径长度记作:WPL=(+ 1 W 1 L 2 W 2 L N W ),N 个权值 W (i=1,2,n)构成一棵有 N 个节点的二叉树,相应的树节点的路径长度为 N L i L (i=1,2,n) ,霍夫曼得出的 WPL 值最小。 i 图 3-1 霍夫曼编码实例 在实际应用中,由于在霍夫曼编码之前需要知道信源数据符号(叶节点)的概率,给那些要求做实 时编码的任务带来了麻烦。因此,在目前的实时编码作业中,大多采用所谓的准可变字长码,例如,采 9 用双字长编码,并且从短码集合中选出一个码子,作为长码字头,以保证码字的非续长特性。另外,在 数字图像通信中采用的三类传真机中的 MH 码,则采用了多字长 VLC 技术,它是根据一系列标准图像的统 计分析出结果,预先在其 IC 芯片中做号码表,使得实际的编码解码作业简化为一个查表过程,从而确保 了高速实时处理的需要。 20 3.1.2 MATLAB 实现霍夫曼编码 本文霍夫曼编码压缩图像的步骤如下: 读入图像,并把它用矩阵表示。 统计图像颜色的种数。 统计各种颜色值出现的概率,并把它们按从大到小的顺序排列。 进行霍夫曼编码的计算: 定义一个矩阵 M,M 矩阵的第一行,存放的是需要编码的各个颜色值出现的概率,并且按照从大到小 排列顺序,然后再将第一行从后往前两两相加(即概率最小的两个数相加) , 把相加得到的结果放到第二行,然后再将第二行重新进行排序,依此类推,一直到最后一行,这时最后 一行只有两个概率,并且相加肯定为 1 。 对 M 矩阵的数值进行霍夫曼编码: 首先建立 N 矩阵,用来存放编码的码字。 然后将字符 0,赋给最后一行的第一小段,再将字符 1,赋给最后一行的第二小段,在 M 矩阵中,由 于每一行的最后两个数,都是这一行中概率最小的两个数,所以将倒数第二行的最后两个数进行相加, 然后用相加的结果到倒数第一行中去寻找,肯定会在倒数第一行中找到一样的值,然后记录下来在倒数 第一行中这个值的位置,再将这个在 M 矩阵中的位置对应到 N 矩阵中, 将 N 矩阵中的该位置的字符赋给倒数第二行的第二小段和第三小段,最后在给第二小段的后面赋字 符 0,给第三小段后面赋字符 1,然后将在最后一行找到的那个数的左边的数,一一对应到上一行去,右 边的数,向左串一位,再对应到上一行去,这样依此类推,那么在 N 矩阵的第一行,可以得到最后的编 码。 实验程序见附录一 实验结果如下: 原始图像大小 Name Size Bytes Class f0 139x111 15429 uint8 array Grand total is 15429 elements using 15429 bytes Elapsed time is 14.123268 seconds. 10 压缩图像大小 Name Size Bytes Class f 139x111 15429 uint8 array Grand total is 15429 elements using 15429 bytes Elapsed time is 258.570252 seconds. 图 3-2 霍夫曼编码压缩图像 3.1.3 霍夫曼编码压缩前后图像质量对比 客观准则评价霍夫曼编码压缩图像质量 由前文 2.3 图像编码质量的评价可知,客观准则评价霍夫曼编码压缩图像的质量即求压缩图像与原 始图像的峰值信噪比(PSNR) 。 求 PSNR 的程序见附录二 11 求得结果为: mse = 0.6641 psnr = 49.9083 entropy = 6.8165 主观准则评价霍夫曼编码压缩图像质量 根据前文 2.3 图像编码质量的评价的主观评价准则,我收集了 30 分主观评价的样本,样本如下: 表 3-1 霍夫曼编码压缩图像的主观评价 样本序号 12345678910 得分 5554555555 样本序号 11121314151617181920 得分 4555554555 样本序号 21222324252627282930 得分 5545545555 运用公式(2-7) 可得,霍夫曼编码压缩图像的主观评价得分为: K i i K i ii n nC MOS 0 1 MOS=4.83 255 25*55*4 实验结果分析 从本次实验结果看熵为 6.8165,均值误差(MSE)为 0.6641 而峰值信噪比(PSNR)达到 49.9083, 主观得分也高达 4.83,说明本次压缩图片编码理论上的最少传输量为 6.8165bit,测量数据可信度非常之 高,无论从主观还是客观方面来看,图像的压缩质量都是非常好的,只是程序的编码时间为 15.165959S,而程序的解码时间更是达到了 297.597000S,整个编解码的过程共花了 4 分多钟,仅仅是一 幅图片就花了 4 分多钟,这在图像压缩的编码算法中是比较慢的了,若只考虑图像压缩的质量,可以用 12 这种编码,如有数量的要求则不建议使用这种编码算法。 从本次试验来看霍夫曼编码的特点为: 1.进行无损编码需要知道数据的概率。 2.发信者与受信者需要使用同一张定制的编码/解码表。在音频中即是编码器和解码器要共用一张表。 3.无损编码的效率会因概率表的不同而不同。这就是为什么各种无损音频编码的压缩率不一样。 4.无损编码不会造成信息的损失。不用担心图像进行无损编码之后会劣化。 四、有损压缩编码原理与实现及其性能对比 所谓有损压缩是利用了人类对图像或声波中的某些频率成分不敏感的特性,允许压缩过程中损失一 定的信息;虽然不能完全回复原始数据,但是所损失的部分对理解原始图像的影响缩小,却换来了大得 多的压缩比。有损压缩广泛应用于语音,图像和视频数据的压缩。常见的声音、图像、视频压缩基本都 是有损的。 在多媒体应用中,常见的压缩方法有:PCM(脉冲编码调制),预测编码,变换编码,插值和外推法, 统计编码,矢量量化和子带编码等。 4.1 预测编码 预测编码是根据离散信号之间存在着一定关联性的特点,利用前面一个或多个信号预测下一个信号 进行,然后对实际值和预测值的差(预测误差)进行编码。如果预测比较准确,误差就会很小。在同等 精度要求的条件下,就可以用比较少的比特进行编码,达到压缩数据的目的。 预测编码中典型的压缩方法有脉冲编码调制(PCM,Pulse Code Modulation) 、差分脉冲编码调制 17 (DPCM,Differential Pulse Code Modulation) 、自适应差分脉冲编码调制(ADPCM,Adaptive Differential Pulse Code Modulation)等,它们较适合于声音、图像数据的压缩,因为这些数据由采样得到,相邻样值 之间的差相差不会很大,可以用较少位来表示。本文主要介绍差分脉冲编码(DPCM,Differential Pulse Code Modulation) 。 4.1.1 DPCM 编码的基本原理 DPCM 编码是一种线性预测编码,如图 4-1 所示是 DPCM 编码原理框图。 DPCM 简称差值编码,是对模拟信号幅度抽样的差值进行量化编码的调制方式(抽样差值的含义请 16 参见“增量调制”)。这种方式是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。差 值编码可以提高编码频率,这种技术已应用于模拟信号的数字通信之中。 对于有些信号(例如图像信号)由 于信号的瞬时斜率比较大,很容易引起过载,因此,不能用简单增量调制进行编码,除此之外,这类信 13 号也没有像话音信号那种音节特性,因而也不能采用像音节压扩那样的方法,只能采用瞬时压扩的方法。 但瞬时压扩实现起来比较困难,因此,对于这类瞬时斜率比较大的信号,通常采用一种综合了增量调制 和脉冲编码调制两者特点的调制方法进行编码,这种编码方式被简称为脉码增量调制,或称差值脉码调 制,用 DPCM 表示。 20 图 4-1 DPCM 编码原理框图 设离散时间模拟信号为集合,K 时刻的信号值为,用过去的 N 个信号的线性组合来预测, k X k X 则预测值: (4- 1 1 K N i ik XaX 1) 在实际值与预测值之间有一个信号差,即: K X K X K e (4- 1 1 N i KiK K KK XaXXXe 2) 如果选择适当的 N 与,使的特性成为均值为 0 的白噪声过程,并记作,显然恢复的为: i a K e K W K X (4- N i KiKiK WXaX 1 3) 14 应特别强调的是,是在选择一定的条件,即 N 及一组被叫做预测系数的值(i=1,2,N)后才变成 K W i a 白噪声的。另一方面,由式(4-3)可知,将白噪声作为输入,依靠前 N 个信号使能得到信号。 图 3-5 差分脉冲编码调制(DPCM)编码,其关键是要知道 N 个预测系数。能满足这些条件的表 K X 达式被称为 N 阶自回归模式或 ARM 模式(Auto-Regressive Model)。 如果误差不是白噪声,并残留某种相关性,则可以借助于进一步改进预测精度 K e K e 在语音信号处理中就是这样做的。在图像信号的线性预测编码中,并不满足=的条件,而是根 K e K W 据信号的统计特性,做出一组预测系数的最佳设计,然后再量化,传输误差信号,如图 3-5 所示的结 K e 构。 从图 3-5 还可以看出,整个预测编码器的失真完全由量化器产生,即: (4- KKq eee 4) DPCM 编码如表 4-1 所示。 表 4-1 DPCM 编码 K X 0121113344 K X 0012112334 K e如果信道传输没有误差,则在接收端的失真就是,且与解码器无关。因此,如果输入信号不是模 q e 拟信号而是数字信号,那么可以去掉量化器,此时=0 ,这表明不带量化器的 DPCM 系统依然可以用于 q e 信息保持编码解码系统中。 4.1.2 MATLAB 实现 DPCM 编码 DPCM 利用马尔科夫模型,以已经扫描过的像素来预测当前的像素值,然后以当前的像素值与预测 的差值作为样本进行传输和存储。 本文 DPCM 编码压缩图像的步骤如下: 读入图像,转换为图像矩阵。 15 图 4-2 原灰度图像 保留第一行的灰度值和第一列的灰度值。 n ppp 11211 , 12111 , n ppp 对像素的预测,采用如下的方式: 图 4-3 领域像素模板 =A(i,j)/4+B(i,j)/4+C(i,j)/2 (4-5),(jiX 图 4-4 利用三个相邻块线性预测后的图像 16 则预测的差值 e(i,j)=X(i,j)- (4-6),(jiX 图 4-5 编码的绝对残差图像 那么重建图像就很明朗了,由 X(i,j)= +e(i,j)可知,利用残差图像和预测图像可重建),(jiX 图像。 图 4-6 解码用的残差图像 17 图 4-7 利用三个相邻块线性预测后的图像 同时也可以求得解码重建后图像的误差。 图 4-8 解码重建后图像的误差 实验程序见附录三。 实验结果如下: 原始图像大小 Name Size Bytes Class I 256x256x3 196608 uint8 array Grand total is 196608 elements using 196608 bytes 压缩图像大小 18 Name Size Bytes Class j 256x256 524288 double array Grand total is 65536 elements using 524288 bytes Elapsed time is 1.247109 seconds. 图 4-9 DPCM 编码压缩图像 4.1.3 DPCM 编码压缩前后图像质量对比 客观准则评价 DPCM 编码压缩图像质量 求 PSNR 的程序见附录四 求得结果为: mse = 19 6.7170 psnr = 39.8590 entropy = 6.8165 主观准则评价 DPCM 编码压缩图像质量 DPCM 编码压缩图像的主观评价得分数据如下: 表 4-2 DPCM 编码压缩图像的主观评价 样本序号 12345678910 得分 5555455455 样本序号 11121314151617181920 得分 5455554555 样本序号 21222324252627282930 得分 4555555545 运用公式(2-7) 可得,DPCM 编码压缩图像的主观评价得分为: K i i K i ii n nC MOS 0 1 MOS=4.8 246 24*56*4 实验结果分析 从本次实验结果来看,熵(entropy)为 6.8165,均方误差(mse)为 6.7170 而峰值信噪比(PSNR) 达到 39.8590,主观评价得分为 4.8,说明本次实验 DPCM 编码的最少传输量为 6.8165bit,测量数据可信度 很高,从客观方面来讲,DPCM 编码压缩图像的质量很好,从主观方面来讲,主观分达到 4.8,说明此次 压缩图像的可观看度也是非常高的,而且运行程序只花了 1.247109S,如有数量的要求,需偏重考虑压缩 速度,则可以考虑这种编码算法,若要求达到很高的压缩质量,也使用此种方法。这是一种可以适应多 个压缩要求的编码算法。 20 4.2 变换编码 DCT 变换编码不是直接对空域图像信号进行编码,而是首先将空域图像信号映射变换到另一个正交矢量 空间(变换域或频域) ,产生一批变换系数,然后对这些变换系数进行编码处理。其中关键问题是在时域 或空域描述时,数据之间相关性大,数据冗余度大,经过变换在变换域中描述,数据相关性大大减少, 数据冗余量减少,参数独立,数据量少,这样再进行量化,编码就能得到较大的压缩比。目前常用的正 交变换有:傅立叶 (Fouries)变换、沃尔什(Walsh)变换、哈尔(Haar)变换、斜(Slant)变换、余弦变换、正弦 变换、K-L(Karhunen-Loeve)变换等。 4.2.1 离散余弦变换(DCT)基本原理 离散余弦变换 DCT(Discrete Cosine Transform)是数码率压缩需要常用的一个变换编码方法。任何 连续的实对称函数的傅里叶变换中只含余弦项,因此余弦变换与傅里叶变换一样有明确的物理意义。 图像信息一般都具有高度的相关性,因此任何压缩机制的目的在于除去数据中存在的相关性。相关 性就是根据给出的一部份数据来判断出其相邻的数据,在实际中存在很多数据相关性,常见的有:空间 相关性、频率相关性、时间相关性等。 在图像压缩编码中,减少空间相关性的主要方法是正交变换。图像经过正交变换后,能够实现图像 数据压缩的物理本质在于经过多维坐标系中的适当的坐标旋转和变换,能够把散布在各个坐标轴上的原 始图像数据,在新的坐标系中集中到少数坐标轴上,因而能够用较少的编码比特数来表示一幅图像,实 现图像的压缩编码。 从数学上看,用于图像压缩编码的正交变换有很多种,如:K-L 变换、DCT 变换、Fourier 变换、 Walsh 变换等。根据均方差最小准则,K-L 具有最佳变换特性,DCT 变换次之。但是 K-L 变换实现起来 计算量很大,因此常用 DCT 变换替代。 图像数据经过 DCT 变换,可实现用一个和原来不同的数学基来表示数据,其数据的相关性能够显露 出来或被拆开。在这种新基下,大部分的系数都接近于零,可以忽略,于是可以将余下的信息存储在一 个较小的数据包里。由此,实现了图像的压缩。 一维 DCT 变换原理 设 是对带宽有限信号 x(t)取样得到的数据序列,共 N 个样值,其一维离散1,.,1 , 0)(NmmX 余弦变换(1D-DCT)定义为: u=1,2,.,N-1 (4-7) 1 0 2 ) 12( cos)( 2 )()( N m N um mX N uCuY 其中 C(u)= 其他, 1 0,21u 一维离散余弦的逆变换(1D-IDCT)定义为: 21 , m=1,2,.,N-1 (4-8) 1 0 2 ) 12( cos)()( 2 )( N m N um uYuC N mX 两者的变换核都是: , (4- N um N uCmua 2 ) 12( cos 2 )(),( 1,.,1 , 0),(Numua 9) 二维 DCT 变换原理 一维离散余弦变换的定义可推广到二维离散余弦变换(2D-DCT) 。设 为二维图像信号数据矩阵,而二维离散余弦变换定义为:1,.,1 , 0; 1,.,1 , 0),(NnMmnmX (4- N vn M um nmXvCuC MN vuY M m N n 2 ) 12( cos 2 ) 12( cos),()()( 2 ),( 1 0 1 0 10) 其中,u=0,1,.,M-1;v=0,1,.,N-1; 其他, 1 0,21 )(),( vu vCuC 二维离散余弦变换逆变换(2D-IDCT)定义为: (4- N vn M um vuYvCuC MN nmX M u N v 2 ) 12( cos 2 ) 12( cos),()()( 2 ),( 1 0 1 0 11) 其中 m=0,1,.,M-1;n=0,1,.,N-1; 把变换核分离可得两次一维 DCT 变换: (4- N vn N vC M um M uCnvamuanmvua 2 ) 12( cos 2 )( 2 ) 12( cos 2 )(),(),(),( 21 12) 图像压缩编码中的 DCT 变换 利用离散余弦变换进行视频压缩编码,首先要将输入的图像分解为 8*8 的块,然后对每个块进行二 维离散变换把每个块转变成 64 个 DCT 系数值,最后将变换得到的 DCT 系数进行编码和传送,解码时对 每个块进行二维 DCT 反变换。最后再将反变换后的块组合成图像。 因此二维 DCT 变换可具体化为: (4- 16 ) 12( cos 16 ) 12( cos),()()( 4 1 ),( 7 0 7 0 vnum nmXvCuCvuY mn 13) 22 其中,u=0,1,.,7;v=0,1,.,7; 即将 8*8 的二维 DCT 变换转化为两个 N=8 的一维 DCT 变换。 DCT 变换具有以下特点 : a)DCT 为实的正交变换,变换核的基函数正交。 b)序列 DCT 是离散傅里叶变换(DFT)的对称扩展形式。 c)核可以分离,可以用两次一维变换来代替。 d)余弦变换的能量有向低频集中的趋势。 f)余弦变换有快速变换,和傅里叶变换一样,分奇偶组。 4.2.2 MATLAB 实现 DCT 编码 在运行实验以前,有必要先介绍一下几个在 DCT 变换中常用的 MATLAB 自带函数,如表 4-3 所示: 表 4-3 DCT 变换常用函数表 函数名称用法 y=dct(x) 一维快速 DCT 变换,x 为一矩阵,结果 y 为等大小的向量 B=dct2(A) 二维快速 DCT 变换,A 为一矩阵,结果 B 为等大小的向量 x=idct(A) 一维快速 DCT 变换,A 为一向量,结果 X 为等大小的矩阵 B=idct2(A) 二维快速 DCT 变换,A 为一向量,结果 B 为等大小的矩阵 D=dctmtx(n) 计算离散余弦变换矩阵 本文 DCT 编码压缩图像步骤如下: 读入图像并把它转化为矩阵形式,然后把图像矩阵转换为双精度。 图 410 原始图像 利用 T=dctmtx(8)把图像矩阵分解为 8*8 的小块,并对每个小块进行 DCT 变换。 23 图 4-11 原始图像 DCT 变换 图 4-12 DCT 变换后的频域图像 用标准量化表对 DCT 系数进行量化。 对每个小块的图像 DCT 逆变换,把它复原。 图 4-14 复原图像 利用 I2=blkproc(B2,8 8,P1*x*P2,T,T)重构图像,把它们重新拼接成一幅完整的图像。 24 图 4-15 压缩图像 图 4-13 原始图像 DCT 变换后的三维图 实验程序见附录五。 实验结果如下: 原始图像大小 Name Size Bytes Class 25 I 256x256 524288 double array Grand total is 65536 elements using 524288 bytes 压缩图像大小 Name Size Bytes Class I2 256x256 524288 double array Grand total is 65536 elements using 524288 bytes Elapsed time is 13.382686 seconds. 图 4-16 变化编码 DCT 压缩图像 26 4.2.3 变换编码 DCT 压缩前后图像质量对比 客观准则评价变换编码 DCT 压缩图像质量 实验程序见附录六。 实验结果如下: mse = 23.0688 psnr = 34.5006 entropy = 6.7878 主观准则评价变换编码 DCT 压缩图像质量 变换编码的主观评价得分数据如下: 表 4-4 变化编码 DCT 压缩图像的主观评价 样本序号 12345678910 得分 4545434544 样本序号 11121314151617181920 得分 5444534445 样本序号 21222324252627282930 得分 4444434444 运用公式(2-7) 可得,变换编码 DCT 压缩图像的主观评价得分为: K i i K i ii n nC MOS 0 1 MOS=4.1 6213 6*521*43*3 实验结果分析 27 从本次试验结果来看,熵(entropy)为 6.7878,均方误差(mse)为 23.0688,峰值信噪比 (PSNR)达到 34.5006,主观评价得分为 4.1,说明本次实验编码理论上的最少传输量为 6.7878bit,所测 得的数据的真实可信度一般,从客观方面来讲,图像的压缩质量达到良好,从主观方面来讲,虽然图片 的压缩质量有一点点小缺陷,但是这是在完全可以忍受的范围内,总体来讲,图像的压缩质量是很不错 的,而运程整个程序所需的时间仅为 13.382686S,即若既要有数量上的考虑又要侧重于质量考虑,那么 DCT 变换编码是值得考虑的编码算法。 4.3 小结 这两次试验所采用的照片是一幅 128*128 大小,名为 2.jpg 的灰度图像(自己做的图片),实验结果 记录如下: 表 4-5 实验结果记录 编码算法 PSNR (db) 运行所需时间 (S) 主观评价得分 (最高为 5 分) 预测编码 DPCM 39.85901.3648824.8 变换编码 DCT 34.500613.3826864.1 本节的主要目的是在于评价上述两种有损压缩编码的性能优劣。由上表可以看出来,在压缩对象相 同的情况下,在客观评价方面,预测编码 DPCM 的峰值信噪比最高,然后才是变换编码 DCT,而

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论