1、第四章 图像压缩编码 数字电视技术数字电视技术通信工程系22023-1-174.1图像压缩编码概述图像压缩编码概述图像图像压缩编码压缩编码技术是学习数字电视的重点内容技术是学习数字电视的重点内容为什么要进行图像压缩?(图像压缩的目的)为什么要进行图像压缩?(图像压缩的目的)一路彩色一路彩色DVD电视未经压缩时的数据量为:电视未经压缩时的数据量为:Y 13.5MHz8bit=108Mb/sU 6.75MHz8bit=54Mb/sV 6.75MHz8bit=54Mb/s 合计合计=216Mb/s图像信号是有必要也有可能被压缩。图像信号是有必要也有可能被压缩。通信工程系32023-1-174.1.1
2、 图像数据压缩基理图像数据压缩基理1.图像数据压缩基理主要来自两个方面:图像数据压缩基理主要来自两个方面:1)图像信号中存在大量图像信号中存在大量冗余度冗余度可供压缩,且这种可供压缩,且这种冗余度在解码后还可冗余度在解码后还可无失真无失真地恢复;地恢复;2)利用人的利用人的视觉特性视觉特性,在,在不被主观视觉察觉不被主观视觉察觉的容的容限内,通过减少表示信号的精度,以限内,通过减少表示信号的精度,以一定的客一定的客观失真观失真换取数据压缩。换取数据压缩。通信工程系42023-1-174.1.1 图像数据压缩基理图像数据压缩基理2.图像信号的图像信号的冗余度冗余度图像信号的冗余度存在于图像信号的
3、冗余度存在于结构结构和和统计统计两方面。两方面。图像信号的图像信号的结构冗余度结构冗余度w图像信号结构上的冗余度表现为很强的图像信号结构上的冗余度表现为很强的空间空间(帧内的帧内的)和和时间时间(帧间的帧间的)相关性相关性帧内相邻点的相关性帧内相邻点的相关性帧间相邻点的相关性帧间相邻点的相关性通信工程系52023-1-174.1.1 图像数据压缩基理图像数据压缩基理n图像信号帧内相关性图像信号帧内相关性8倍倍通信工程系62023-1-174.1.1 图像数据压缩基理图像数据压缩基理信号统计上的冗余度来源于信号统计上的冗余度来源于被编码信号概率密被编码信号概率密度分布的不均匀度分布的不均匀n预测
4、编码预测编码:不直接传送图像信号,而传送图象:不直接传送图像信号,而传送图象信号之间的信号之间的差值差值。这种差值呈。这种差值呈拉普拉斯分布拉普拉斯分布。通信工程系72023-1-174.1.1 图像数据压缩基理图像数据压缩基理预测编码时,预测编码时,出现概率高的预测误差信号出现概率高的预测误差信号(0(0及小误差及小误差)短码短码,出现概率低的大预测误差出现概率低的大预测误差长码长码,使总的平均码长要比用固定码长编码短很多。使总的平均码长要比用固定码长编码短很多。通信工程系82023-1-174.1.1 图像数据压缩基理图像数据压缩基理3.利用人眼的视觉特性进行压缩利用人眼的视觉特性进行压缩
5、n人眼对图像的人眼对图像的细节分辨率细节分辨率、运动分辨率运动分辨率和和对比度分辨率对比度分辨率都有一定的限度都有一定的限度通信工程系92023-1-174.1.2 图像编码过程图像编码过程图像编码过程分三步完成图像编码过程分三步完成:映射映射:即变换一下描写信号的方式。:即变换一下描写信号的方式。目的:去除相关性,降低图像的结构冗目的:去除相关性,降低图像的结构冗余度。余度。量化量化:在满足对图像质量一定要求的前:在满足对图像质量一定要求的前提下,减小表示信号的精度提下,减小表示信号的精度目的:利用人眼主观视觉特性压缩图像目的:利用人眼主观视觉特性压缩图像统计编码统计编码目的:消除图像的统计
6、冗余度。目的:消除图像的统计冗余度。通信工程系102023-1-174.1.2 图像编码过程图像编码过程 信号映射和统计编码是可逆的过程,而量信号映射和统计编码是可逆的过程,而量化是不可逆的。化是不可逆的。当不加入量化时,通过解码端的反映射和当不加入量化时,通过解码端的反映射和统计解码可无失真地恢复原始信号;加入量化统计解码可无失真地恢复原始信号;加入量化后,整个编解码过程造成的失真完全由量化引后,整个编解码过程造成的失真完全由量化引起。起。通信工程系112023-1-174.1.3 图像编码算法的分类图像编码算法的分类1.1.传统的图像编码技术传统的图像编码技术 空间和时间子抽样编码空间和时
7、间子抽样编码 预测编码预测编码变换编码变换编码熵编码熵编码 矢量量化矢量量化 子带编码子带编码 n 混合编码方案混合编码方案(MPEG-1,MPEG-2)空间和时间子抽样空间和时间子抽样 统计编码统计编码 基于运动估计和补偿的基于运动估计和补偿的DPCM 游程长度编码游程长度编码 二维二维DCT通信工程系122023-1-174.1.3 图像编码算法的分类图像编码算法的分类2.新一代编码压缩算法新一代编码压缩算法 模型基编码模型基编码 分形编码分形编码 小波变换编码小波变换编码 神经网络编码神经网络编码通信工程系132023-1-174.1.3 图像编码算法的分类图像编码算法的分类3.总结(总
8、结(1)无损压缩无损压缩方法仅仅删除图像数据中的冗方法仅仅删除图像数据中的冗余信息,回放压缩文件时,能够准确无余信息,回放压缩文件时,能够准确无误地恢复原始数据。它可分为两大类误地恢复原始数据。它可分为两大类:基于统计概率的方法基于统计概率的方法和和基于字典方法基于字典方法。通信工程系142023-1-17基于统计概率的方法基于统计概率的方法 基于统计概率的方法是依据信息论中的变长编码定理和基于统计概率的方法是依据信息论中的变长编码定理和信息熵的有关知识,用较短代码代表出现概率大的符号,用较信息熵的有关知识,用较短代码代表出现概率大的符号,用较长代码代表出现概率小的符号,而实现的数据压缩。长代
9、码代表出现概率小的符号,而实现的数据压缩。统计概率编码方法中最有代表性的是霍夫曼统计概率编码方法中最有代表性的是霍夫曼(Huffman)编编码方法,它根据概率分布大小进行一一对应地编码。在码方法,它根据概率分布大小进行一一对应地编码。在H.264标准中,采用了基于上下文自适应变字长编码,压缩效率得到标准中,采用了基于上下文自适应变字长编码,压缩效率得到了进一步提高。另外,算术编码也是一种利用概率分布特性的了进一步提高。另外,算术编码也是一种利用概率分布特性的编码方法。算术编码是利用字符序列而不是单个字符进行编码,编码方法。算术编码是利用字符序列而不是单个字符进行编码,其效率比其效率比Huffm
10、an编码方法高。编码方法高。通信工程系152023-1-17基于字典的方法基于字典的方法基于字典的方法的数据压缩有两种:基于字典的方法的数据压缩有两种:一种是一种是游程编码游程编码(Runing Length Coding,RLC),在,在MPEG标标准中使用准中使用;另一种是另一种是LZW(Lampel、Ziv、Welch,三个人名,三个人名)编码编码。采用。采用LZW编码时,可将数据文件生成特定字符序列的表以及它们编码时,可将数据文件生成特定字符序列的表以及它们对应的代码。对应的代码。LZW编码对二值图像可以得到非常显著的压缩编码对二值图像可以得到非常显著的压缩效果,但对灰度图像压缩效果不
11、显著,其压缩比一般在效果,但对灰度图像压缩效果不显著,其压缩比一般在1 1.51 3以内。以内。通信工程系162023-1-174.1.3 图像编码算法的分类图像编码算法的分类3.总结(总结(2)有损压缩有损压缩算法靠丢掉大量冗余信息来降算法靠丢掉大量冗余信息来降低数字图像所占的空间,回放时也不能低数字图像所占的空间,回放时也不能完整地恢复原始图像,而将有选择地损完整地恢复原始图像,而将有选择地损失一些细节,损失多少信息由需要多高失一些细节,损失多少信息由需要多高的压缩率决定。的压缩率决定。通信工程系172023-1-17有损压缩最常用的方法是有损压缩最常用的方法是空间空间和和时间亚抽样编码时
12、间亚抽样编码。在某些在某些(如如VCDVCD和电视电话等和电视电话等)应用中,高分辨率不是必需应用中,高分辨率不是必需的。这时,我们可以使用空间和时间亚抽样来降低数据速率。的。这时,我们可以使用空间和时间亚抽样来降低数据速率。在编码器中,从在编码器中,从每几个像素中选择一个像素每几个像素中选择一个像素,从一帧的两场从一帧的两场中取一场中取一场,或,或从每几帧中选择一帧从每几帧中选择一帧,然后加以传输。在译码,然后加以传输。在译码器中,可根据接收的像素和帧内插丢失的像素、场和帧,再器中,可根据接收的像素和帧内插丢失的像素、场和帧,再生出分辨率较低的原始视频序列。生出分辨率较低的原始视频序列。如果
13、如果像素是由色度和亮度分量像素是由色度和亮度分量表示的,那么可以以较高表示的,那么可以以较高的比率的比率(如如2121或或41)41)对色度分量进行亚抽样,量化更粗略对色度分量进行亚抽样,量化更粗略一些,这是因为人眼对色度分量的高频分量敏感性较低。一些,这是因为人眼对色度分量的高频分量敏感性较低。通信工程系182023-1-174.1.3 图像编码算法的分类图像编码算法的分类通信工程系192023-1-174.1.3 图像编码算法的分类图像编码算法的分类通信工程系202023-1-174.1.4 图像编码压缩比图像编码压缩比未压缩前的总数据压缩比=压缩后的总数据 由于压缩技术层出不穷,图像编码
14、的压缩比不由于压缩技术层出不穷,图像编码的压缩比不断提高,它遵循断提高,它遵循Musmann定律定律。Musmann 定律是定律是以德国著名图像专家以德国著名图像专家Musmann教授命名的。教授命名的。通信工程系212023-1-17 2006年年4月,月,Musmann教授在北京主持了教授在北京主持了“图像编码的图像编码的过去与未来过去与未来”专题讨论会,并首先发言,对图像编码压缩技专题讨论会,并首先发言,对图像编码压缩技术的过去几十年工作作了总结,他认为广播质量的视频编码术的过去几十年工作作了总结,他认为广播质量的视频编码的压缩比大约每的压缩比大约每5年翻一番,被公认为年翻一番,被公认为
15、Musmann定律。定律。通信工程系222023-1-174.2 熵编码熵编码n熵编码的熵编码的基本原理基本原理:给出现概率较大的符号一:给出现概率较大的符号一个短码字,而给出现概率较小的符号一个长码个短码字,而给出现概率较小的符号一个长码字字n熵编码的目的:熵编码的目的:使得最终的平均码长最短使得最终的平均码长最短n常用的熵编码方法:常用的熵编码方法:游程编码游程编码RLE(run-length coding)Huffman编码编码算术编码算术编码通信工程系232023-1-17游程编码游程编码主要用于量化后出现大量零系数的情主要用于量化后出现大量零系数的情形,利用游程来表示连零码,以降低为
16、表示零码所形,利用游程来表示连零码,以降低为表示零码所用的数据量。用的数据量。算术编码算术编码是是20世纪世纪80年代发展起来的一种熵编码年代发展起来的一种熵编码方法,它已渐渐受到人们的注意。它的基本原理是,方法,它已渐渐受到人们的注意。它的基本原理是,任何一个数据序列均可表示成任何一个数据序列均可表示成0和和1之间的一个间隔,之间的一个间隔,该间隔的位置与输入数据的概率分布有关。有关的实该间隔的位置与输入数据的概率分布有关。有关的实验数据表明,在未知信源概率分布的大部分情形下,验数据表明,在未知信源概率分布的大部分情形下,算术编码要优于算术编码要优于Huffman编码。编码。通信工程系242
17、023-1-174.2.1 前缀码前缀码设有一个由设有一个由K个信源符号个信源符号(以下简称符号以下简称符号)组成的离散、组成的离散、无记忆符号集无记忆符号集:其中每一符号通过一个二进制码字其中每一符号通过一个二进制码字(代码代码)表示,但表示,但字字长不等长不等。各符号出现的概率分别为。各符号出现的概率分别为:若符号若符号 以以 个码元个码元(位位)编码,则在变字长编码时编编码,则在变字长编码时编码每个符号的码每个符号的平均码长平均码长为为,21Kkaaaa)(,),(,),(),(21KkapapapapKkkkmapm1)(kakm通信工程系252023-1-174.2.1 前缀码前缀码
18、n编码要求:编码要求:编码必须是编码必须是单译单译和和可逆可逆的的编码的编码的平均码长最短平均码长最短 码码III是是前缀码前缀码:0111100可以唯一地解码为可以唯一地解码为a1a4a2a1通信工程系262023-1-174.2.1 前缀码前缀码n前缀码的定义前缀码的定义:在码表中没有码字与任何一个比它长的码字的前缀在码表中没有码字与任何一个比它长的码字的前缀(码码头头)相同,相同,即即不存在能在短码字后面续加若干码元构成不存在能在短码字后面续加若干码元构成的长码字的长码字,所以前缀码又称,所以前缀码又称非续长码非续长码。前缀码的码树前缀码的码树:根010101第一节点第二节点节点端点a1
19、a2a3a4010110111通信工程系272023-1-17码树的每一个节点有两个分码树的每一个节点有两个分枝,分别以二进制的两个码枝,分别以二进制的两个码元符号元符号“0”和和“1”表示;表示;一个前缀码的码树应遵守这一个前缀码的码树应遵守这样的规定:样的规定:1)信源符号只能以信源符号只能以端点端点表示,表示,不能以节点表示;不能以节点表示;2)分配给每个符号的码字可分配给每个符号的码字可以由码树得到,它们由沿着以由码树得到,它们由沿着从码树的根出发到该符号对从码树的根出发到该符号对应端点的路径连续遇到的码应端点的路径连续遇到的码元顺序排列而成。元顺序排列而成。通信工程系282023-1
20、-17码码也是单译可逆的,但它不是前缀码。这种码每一个也是单译可逆的,但它不是前缀码。这种码每一个码字都以码字都以“0”开头,不满足前缀码的要求。开头,不满足前缀码的要求。比较码比较码和码和码可以看到码可以看到码的平均码长比码的平均码长比码长。长。作为对比,作为对比,码码给出定长码给出定长码。为了编码。为了编码a1、a2、a3、a4 4个符号,定长码的码长是个符号,定长码的码长是 2 bit,而采用码,而采用码的平均码长,是的平均码长,是1.75 bit,要比定长码节省,要比定长码节省0.25 bit/符号。符号。通信工程系292023-1-174.2.2 离散无记忆信源的信息量离散无记忆信源
21、的信息量n离散无记忆信源离散无记忆信源离散:信源产生信号是不连续的,某一时刻离散:信源产生信号是不连续的,某一时刻只产生一个符号只产生一个符号无记忆:某符号在某时刻出现的概率与在此无记忆:某符号在某时刻出现的概率与在此之前信源的状态无关之前信源的状态无关 n符号符号ak的信息量的信息量I(ak)单位为单位为bit p(ak)为为ak出现的概率出现的概率)(log)(2kkapaI通信工程系302023-1-174.2.2 离散无记忆信源的信息量离散无记忆信源的信息量n一个离散、无记忆信源产生的一个符号的平均一个离散、无记忆信源产生的一个符号的平均信息量信息量 H(U)被称做信源的被称做信源的熵
22、(统计均值)熵(统计均值)KkKkkkkkapapaIapUH112)(log)()()()(通信工程系312023-1-174.2.3 无失真信源编码定理无失真信源编码定理n无失真信源编码定理:无失真信源编码定理:设单符号、离散、无记忆信源的熵为设单符号、离散、无记忆信源的熵为H(U),若,若用二进制码对其作变字长、非续长编码,一定用二进制码对其作变字长、非续长编码,一定可以找到一种编码方式,其平均码长满足:可以找到一种编码方式,其平均码长满足:H(U)H(U)+1即:如果符号即:如果符号ak用等于其信息量的码长编码用等于其信息量的码长编码则可以使平均码长达到其下限则可以使平均码长达到其下限
23、-熵熵 m)(log2kkapmKkkkKkkkUHapapmapm121)()(log)()(通信工程系322023-1-174.2.4 Huffman码码nHuffman码是码是冗余度最小冗余度最小(平均码长平均码长 最小最小)的编码的编码ma1a2a3a4a5a60.250.250.200.150.100.050.250.250.200.150.150.300.250.250.200.450.300.250.550.451100100111110111000000011111用线将符号连接起用线将符号连接起来,从而得到一个来,从而得到一个前缀码的码树。树前缀码的码树。树的的K个端点对应个
24、端点对应K个个信源符号信源符号通信工程系332023-1-174.2.4 Hufman码码对于图对于图4.2.2中所给的例子,计算中所给的例子,计算 平均码长平均码长 =2.45bit/符号符号 熵熵 H(U)=2.42bit/符号符号经经Huffman编码后,剩余的冗余度编码后,剩余的冗余度 =0.03bit/符号符号m)(UHmRH通信工程系342023-1-17Huffman码的特点码的特点一一 算法是确定的,但编出的码并非是唯一的。算法是确定的,但编出的码并非是唯一的。二二 编码依据是信源符号的概率分布,故编码依据是信源符号的概率分布,故其编码效其编码效率取决于信源的统计特性率取决于信
25、源的统计特性。三三 没有错误保护功能。没有错误保护功能。四四 可变长度码,码字字长参差不齐,因此硬件实可变长度码,码字字长参差不齐,因此硬件实现起来不大方便。现起来不大方便。五五 对信源进行编码后,形成了一个对信源进行编码后,形成了一个Huffman编码编码表,解码时,必须参照这表才能正确解码。表,解码时,必须参照这表才能正确解码。通信工程系352023-1-174.2.5 游程编码游程编码 游程编码(游程编码(RLE),也称),也称行程编码行程编码或或游程游程(行程)长度编码(行程)长度编码。其基本思想:将具有相同数值(例如,像素其基本思想:将具有相同数值(例如,像素的灰度值)的、连续出现的
26、信源符号构成的符的灰度值)的、连续出现的信源符号构成的符号序列用号序列用其数值其数值及及串的长度串的长度表示。表示。其基础是数其基础是数据的相关性据的相关性。以图像编码为例,灰度值相同的相邻像素的以图像编码为例,灰度值相同的相邻像素的延续长度(像素数目)称为延续的游程,又称延续长度(像素数目)称为延续的游程,又称游程长度游程长度,简称,简称游程游程。通信工程系362023-1-17图像的水平方向有一串图像的水平方向有一串L个像素具有相同的灰度值个像素具有相同的灰度值GJPEG标准:一幅图像经二维标准:一幅图像经二维DCT变换之后又经变换之后又经“之之”字形扫描,得到字形扫描,得到DC和和AC系
27、数数列。系数数列。只需传送(只需传送(G,L)即可)即可符号符号1 符号符号2 (游程长度,位长)(游程长度,位长)(振幅)(振幅)通信工程系372023-1-17符号符号1 符号符号2 (游程长度,位长)(游程长度,位长)(振幅)(振幅)游程长度:游程长度:0的个数的个数位长:后续位长:后续AC系数的编码位数系数的编码位数后续后续AC系数值系数值符号符号1 符号符号2 (游程长度,位长)(游程长度,位长)(振幅)(振幅)位长:位长:DC系数的编码位数系数的编码位数DC系数值系数值通信工程系382023-1-17通信工程系392023-1-17游程编码的特点游程编码的特点 平均游程长度越长,编
28、码效率越高。平均游程长度越长,编码效率越高。不适合多值的灰度图像,灰度越多,越难以产不适合多值的灰度图像,灰度越多,越难以产生长游程。生长游程。游程编码多用于游程编码多用于二值图像二值图像或者或者经过处理的变换经过处理的变换系数编码系数编码。通信工程系402023-1-174.2.6 算数编码算数编码 算术编码是一种非分组编码,它用一个浮算术编码是一种非分组编码,它用一个浮点数值表示整个信源符号点数值表示整个信源符号序列序列。算术编码将被编码的信源符号序列表示成算术编码将被编码的信源符号序列表示成实数半开区间实数半开区间0,1)中的一个数值间隔。这)中的一个数值间隔。这个间隔随着信源符号序列中每一个信源符号的个间隔随着信源符号序列中每一个信源符号的加入逐步减小,每次减小的程度取决于当前加加入逐步减小,每次减小的程度取决于当前加入的信源符号的先验概率。入的信源符号的先验概率。通信工程系412023-1-174.2.6 算数编码算数编码