1、本章导读 数据压缩编码技术是多媒体技术的核心技术,在多数据压缩编码技术是多媒体技术的核心技术,在多媒体技术中占主导地位。通过数据压缩编码,去除了多媒体技术中占主导地位。通过数据压缩编码,去除了多媒体信息中的数据冗余,大大减少了数据量,为多媒体媒体信息中的数据冗余,大大减少了数据量,为多媒体数据的存储、传输、处理奠定了基础。本章主要介绍数数据的存储、传输、处理奠定了基础。本章主要介绍数据压缩编码技术中的基本概念、典型的数据压缩算法以据压缩编码技术中的基本概念、典型的数据压缩算法以及多媒体数据压缩的几个标准。及多媒体数据压缩的几个标准。本章主要内容本章主要内容7.1 数据压缩技术概述7.2 数据压
2、缩技术原理7.3 JPEG静止图像压缩标准简介7.4 运动图像压缩标准MPEG7.5 H.26视听通信编/解码标准系列7.1 7.1 数据压缩技术概述数据压缩技术概述7.1.1 数据压缩的概念 采样数据不仅仅是所代表的原始信息本身,还包含着其采样数据不仅仅是所代表的原始信息本身,还包含着其它一些没必要保留的(确定的、可推知的)信息,即存在它一些没必要保留的(确定的、可推知的)信息,即存在着数据冗余。着数据冗余。数据压缩数据压缩就是就是从采样数据中去除冗余从采样数据中去除冗余,即保留原始信,即保留原始信息中变化的、特征性信息,去除重复的、确定的或可推知息中变化的、特征性信息,去除重复的、确定的或
3、可推知的信息,的信息,在实现更接近实际媒体信息描述的前提下,尽可在实现更接近实际媒体信息描述的前提下,尽可能的减少描述用的信息量能的减少描述用的信息量。7.1.2 多媒体数据的冗余 一般而言,多媒体数据中存在的数据冗余情况主要一般而言,多媒体数据中存在的数据冗余情况主要有以下几种:有以下几种:1.编码冗余(信息熵冗余)编码所用数据位数大于其信息熵。2.空间冗余 是图像数据通常存在的一种数据冗余。在同一幅图是图像数据通常存在的一种数据冗余。在同一幅图像中,像中,规则物体和规则背景的表面特性具有相关性规则物体和规则背景的表面特性具有相关性,也,也就是说,同一景物表面上就是说,同一景物表面上各采样点
4、的颜色之间往往存在各采样点的颜色之间往往存在着空间连贯性着空间连贯性,如下图中的,如下图中的天空和湖水天空和湖水。3.时间冗余 在图像序列中,时间冗余就是在图像序列中,时间冗余就是相邻帧图像之间有较相邻帧图像之间有较大相关性,一帧图像中的某物体或场景可以由其他帧图大相关性,一帧图像中的某物体或场景可以由其他帧图像中的物体或场景重构出来像中的物体或场景重构出来。(a)前一帧图像(b)后一帧图像4.结构冗余 图像一般都有非常强的纹理结构。如草席、砖墙、图像一般都有非常强的纹理结构。如草席、砖墙、地板、天花板等图像,它们一般都是比较地板、天花板等图像,它们一般都是比较有规律的纹理有规律的纹理结构结构
5、,如下图所示。这类图像在结构上存在冗余。,如下图所示。这类图像在结构上存在冗余。5.知识冗余 图像的理解与某些基础知识有相当大的相关性图像的理解与某些基础知识有相当大的相关性。例如:人脸的图像有固定的结构,比如说嘴的上方例如:人脸的图像有固定的结构,比如说嘴的上方有鼻子,鼻子的上方有眼睛,鼻子位于脸的中线上有鼻子,鼻子的上方有眼睛,鼻子位于脸的中线上等等。这类等等。这类规律性的结构可由先验知识和背景知识规律性的结构可由先验知识和背景知识得到得到,称此类冗余为知识冗余。,称此类冗余为知识冗余。6.视觉冗余 人类的视觉系统对于图像场的敏感性是非均匀人类的视觉系统对于图像场的敏感性是非均匀的和非线性
6、的,人眼并不能觉察图像场的所有变化,的和非线性的,人眼并不能觉察图像场的所有变化,而是依据视觉特性有取舍的进行观察。而是依据视觉特性有取舍的进行观察。u对亮度变化敏感,对色度的变化不敏感对亮度变化敏感,对色度的变化不敏感;u对物体边缘敏感,而对内部区域不敏感对物体边缘敏感,而对内部区域不敏感;u对整体结构敏感,而对内部细节相对不敏感对整体结构敏感,而对内部细节相对不敏感;u这些敏感因素的灰度等级仅为这些敏感因素的灰度等级仅为26级,而一般数字级,而一般数字图像的量化采用的是图像的量化采用的是28灰度等级以上,很明显存在灰度等级以上,很明显存在着视觉冗余。着视觉冗余。7.听觉冗余 人耳对不同频率
7、的声音的敏感性是不同的,人耳对不同频率的声音的敏感性是不同的,听听觉系统并不能察觉所有频率的变化,对某些频率也觉系统并不能察觉所有频率的变化,对某些频率也不必特别关注不必特别关注,因此存在听觉冗余。,因此存在听觉冗余。8.纹理统计冗余 有些图像纹理尽管不严格服从某一分布规律,但是它有些图像纹理尽管不严格服从某一分布规律,但是它在统计的意义上服从该规律。利用这种性质也可以减少表在统计的意义上服从该规律。利用这种性质也可以减少表示图像的数据量,所以我们称之为纹理的统计冗余。示图像的数据量,所以我们称之为纹理的统计冗余。7.1.3 数据压缩技术的发展过程 20世纪40年代,人们开始系统地研究数据压缩
8、技术;主要表现在数据压缩算法方面:首先是Claude Shannon与R.M.Fano的Shannon-Fano编码方法;编码方法;1952年,年,D.A.Huffman提出了提出了Huffman编码方法;编码方法;1968年,年,P.Elias 发展了发展了Shannon-Fano编码,构造出更为完美的编码,构造出更为完美的Shannon-Fano-Elias 编码。编码。1976年,年,J.Rissanen 提出了一种可以成功地逼近信息熵极限的编码提出了一种可以成功地逼近信息熵极限的编码方法方法算术编码。算术编码。1982年,年,Rissanen 和和G.G.Langdon 一起改进了算术
9、编码。一起改进了算术编码。1977年,年,Jacob Ziv和和Abraham Lempel提出了提出了LZ77编码算法,编码算法,78年又年又作了改进,被称为作了改进,被称为LZ78编码算法。编码算法。1984年,年,Terry Welch提出了提出了LZ78算法的变种算法算法的变种算法LZW。LZ77、LZ78、LZW三种压缩技术就是目前无损压缩领域中最为流行三种压缩技术就是目前无损压缩领域中最为流行的、被称为的、被称为“字典式编码字典式编码”的压缩技术。的压缩技术。7.1.3 数据压缩技术的发展过程(续)数据压缩标准逐渐形成,有损压缩算法快速出现。数据压缩标准逐渐形成,有损压缩算法快速出
10、现。19861986年开始制定静态图像压缩标准,年开始制定静态图像压缩标准,1994 1994 年后成为年后成为国际标准,称为国际标准,称为JPEGJPEG标准。标准。ITUITU制定的电视会议系列标准(制定的电视会议系列标准(H.261H.261、H.262H.262、H.263 H.263、H.264H.264等)以及由等)以及由ISOISO制定的视频系列标准(制定的视频系列标准(MPEG-1MPEG-1、MPEG-MPEG-2 2、MPEG-4MPEG-4)中,均采用了有损压缩原理作为其核心压缩算)中,均采用了有损压缩原理作为其核心压缩算法。其中的法。其中的MPEG-4MPEG-4标准(
11、相当于标准(相当于ITUITU的的H.263H.263和和H.263+H.263+标准)标准)是为了适应网络视频的需求特点而制定的,具有更高的压是为了适应网络视频的需求特点而制定的,具有更高的压缩比、支持并发数据流编码、基于内容的交互操作、增强缩比、支持并发数据流编码、基于内容的交互操作、增强的时间域随机存取、容错、基于内容的尺度可变性等新特的时间域随机存取、容错、基于内容的尺度可变性等新特性。性。7.1.4 数据压缩的分类1 1、按照压缩内容、按照压缩内容 分为音频数据压缩、静态图像数据压缩、视频数据压分为音频数据压缩、静态图像数据压缩、视频数据压缩和其他数据文件压缩等四种类型。缩和其他数据
12、文件压缩等四种类型。2、按照压缩方式分为对称压缩和非对称压缩两种类型。分为对称压缩和非对称压缩两种类型。3、按照压缩效果 分为有损压缩与无损压缩两种类型。普通数据文件,分为有损压缩与无损压缩两种类型。普通数据文件,一般采用无损压缩,对于冗余度较小的图像,需要采用一般采用无损压缩,对于冗余度较小的图像,需要采用有损压缩。有损压缩。4、按照算法思想 分为信息熵编码、预测编码、变换编码、混合编码以及其分为信息熵编码、预测编码、变换编码、混合编码以及其他编码等五种,每种类型包含了一些具体算法,如下图。他编码等五种,每种类型包含了一些具体算法,如下图。7.1.5 数据压缩的主要指标 衡量不同压缩方法优劣
13、的技术指标是相同的,主要包括衡量不同压缩方法优劣的技术指标是相同的,主要包括以下几个方面。以下几个方面。1 1)压缩比)压缩比:指压缩前后的数据量之比,它反映了施加某:指压缩前后的数据量之比,它反映了施加某压缩算法之后,数据量减少的比例;压缩算法之后,数据量减少的比例;2 2)恢复效果)恢复效果:指经解压缩算法对压缩数据进行处理后所:指经解压缩算法对压缩数据进行处理后所得到的数据与其表示的原信息的相似程度;得到的数据与其表示的原信息的相似程度;3 3)算法简单、速度快)算法简单、速度快:主要指实现算法的复杂度。:主要指实现算法的复杂度。7.2 数据压缩技术原理7.2.1 信息熵与编码1、信息熵
14、的概念 信息论中,编码数据量与所表示的信息量以及冗余信信息论中,编码数据量与所表示的信息量以及冗余信息之间的关系为:息之间的关系为:数据量信息量冗余量数据量信息量冗余量 信息熵用来度量信息量的大小。对于单个事件(如字信息熵用来度量信息量的大小。对于单个事件(如字符)来说,其信息熵定义为:符)来说,其信息熵定义为:H H(i i)=-log=-log2 2(P(Pi i)(bit)bit)(1 1)公式(公式(1 1)表示发生概率为)表示发生概率为P Pi i的事件的事件i i所具有的信息熵为所具有的信息熵为H(i)H(i),单位为,单位为bitbit(比特)。(比特)。对于一个消息队列(如字符
15、串)的信息熵定义为:对于一个消息队列(如字符串)的信息熵定义为:H(X)=-PH(X)=-Pi iloglog2 2(P(Pi i)=P)=Pi iH(i)H(i)(2 2)其中,其中,P Pi i表示某一事件表示某一事件i i发生的概率。发生的概率。例如:有一字符串例如:有一字符串“babbdcaacbbabbdcaacb”包含包含a a、b b、c c、d d四种字符,四种字符,其长度为其长度为1010,字符,字符a a、b b、c c、d d分别出现了分别出现了3 3、4 4、2 2、1 1次,则次,则a a、b b、c c、d d在信息中出现的概率分别为在信息中出现的概率分别为0.30
16、.3、0.40.4、0.20.2、0.10.1,它,它们的熵分别为:们的熵分别为:H(a)=-log2(0.3)1.737H(a)=-log2(0.3)1.737(bitbit)H(b)=-log2(0.4)1.322H(b)=-log2(0.4)1.322(bitbit)H(c)=-log2(0.2)2.322H(c)=-log2(0.2)2.322(bitbit)H(d)=-log2(0.1)3.322H(d)=-log2(0.1)3.322(bitbit)每种字符的信息熵就是该字符编码所用的理每种字符的信息熵就是该字符编码所用的理想位数(二进制)。整条信息的熵就是表达整个想位数(二进制)
17、。整条信息的熵就是表达整个字符串需要的位数(这里用字符出现的次数代替字符串需要的位数(这里用字符出现的次数代替概率):概率):H(X)=-PH(X)=-Pi iloglog2 2(P(Pi i)=H(a)=H(a)3+H(b)3+H(b)4+H(c)4+H(c)2+H(d)2+H(d)1 1 =18.465(bit)=18.465(bit)2、编码 编码实质上是对要处理的源数据或源文件按一定的规编码实质上是对要处理的源数据或源文件按一定的规则进行变换(映射),力图用尽可能少的符号代码来表示则进行变换(映射),力图用尽可能少的符号代码来表示较多、较长的源符号信息。编码方法中的码字(代码)有较多、
18、较长的源符号信息。编码方法中的码字(代码)有固定长度和可变长度两种。固定长度和可变长度两种。3、压缩模型 模型是规则和数据的集合,即:压缩算法模型是规则和数据的集合,即:压缩算法=模型模型+编码编码 4、压缩、还原 压缩是指设法去掉部分或全部冗余,从而减少压缩是指设法去掉部分或全部冗余,从而减少文件或数据所占的存储空间;文件或数据所占的存储空间;还原(解压缩)则是指利用相反的算法使文件还原(解压缩)则是指利用相反的算法使文件或数据恢复原状。或数据恢复原状。7.2.2 无损压缩编码1、Shannon-Fano编码简称为简称为S-FS-F编码,是一种变长编码,其基本思想是按信编码,是一种变长编码,
19、其基本思想是按信源符号出现的概率大小进行排序,出现概率大的分配短码,源符号出现的概率大小进行排序,出现概率大的分配短码,反之则分配长码。具体编码过程如下:反之则分配长码。具体编码过程如下:(1 1)信源符号按概率递减顺序排列。)信源符号按概率递减顺序排列。(2 2)把符号序列分成上下两部分,使上下两部分的概率和相等或接近)把符号序列分成上下两部分,使上下两部分的概率和相等或接近相等。相等。(3 3)对上部分子序列编码为)对上部分子序列编码为“0 0”,相当于左子树,对下部分子序列编码,相当于左子树,对下部分子序列编码为为“1 1”,相当于右子树。,相当于右子树。(4 4)重复上述步骤,直到每个
20、子序列只包含一个符号为止。)重复上述步骤,直到每个子序列只包含一个符号为止。举例:有信源字符序列S为:aaabbceeehddabafffbdddgghhabccedabdgghhaaaabbceeehddabafffbdddgghhabccedabdgghha 其长度为其长度为4040个字符,由个字符,由a a、b b、c c、d d、e e、f f、g g、h h共共8 8种字符构成。假设在编码之前,每种字符出现的概种字符构成。假设在编码之前,每种字符出现的概率已由某种模型统计出来,用率已由某种模型统计出来,用-来来表示,具体值分别为:表示,具体值分别为:a-8a-8,b-6b-6,c-3
21、c-3,d-7d-7,e-4e-4,f-3f-3,g-4g-4,h-5h-5a-8a-8d-7d-7b-6b-6h-5h-5e-4e-4g-4g-4c-3c-3f-3f-3a-8a-8d-7d-7b-6b-6h-5h-5e-4e-4g-4g-4c-3c-3f-3f-3(a)(a)第一步第一步(b)(b)第二步第二步解:首先将信源符号按概率递减顺序排列,形成图(首先将信源符号按概率递减顺序排列,形成图(a a)所示)所示结果,然后,再把符号序列分成上下两部分,使上下两部分的结果,然后,再把符号序列分成上下两部分,使上下两部分的概率和相等或接近相等,形成图(概率和相等或接近相等,形成图(b b)所
22、示结果。其中上部分符)所示结果。其中上部分符号序列概率和为号序列概率和为2121,编码为,编码为0 0;下部分为;下部分为1919,编码为,编码为1 1。最后再重复第二步,不断对子符号序列进行划最后再重复第二步,不断对子符号序列进行划分,最后得到一棵二叉树,如图分,最后得到一棵二叉树,如图(c)(c)所示。所示。从根到叶形成编码从根到叶形成编码,最终得到的符号编码分别为:,最终得到的符号编码分别为:a-00a-00,b-011b-011,c-1110c-1110,d-010d-010,e-101e-101,f-1111f-1111,g-110g-110,h-100h-100。信源字符序列信源字
23、符序列S S的编码总位数的编码总位数L L等于每种字符编码等于每种字符编码位数与字符出现次数乘积的和,即:位数与字符出现次数乘积的和,即:L=2L=28 83 36 64 43 33 37 73 34 44 43 33 34 43 35 5 118118(位)(位)如果直接用如果直接用ASCIIASCII码,则要用码,则要用40408 8320320位。因此,位。因此,S-FS-F编码实现了数据压缩。编码实现了数据压缩。2、Huffman编码 其编码思想与其编码思想与Shannon-FanoShannon-Fano编码方法基本一致,但构造编码方法基本一致,但构造二叉树的方法则相反,不是自上而下
24、,而是自下而上、从树二叉树的方法则相反,不是自上而下,而是自下而上、从树叶到树根生成二叉树。具体编码过程如下:叶到树根生成二叉树。具体编码过程如下:(l l)将信源符号按概率递减顺序排列;)将信源符号按概率递减顺序排列;(2 2)把两个最小的概率加起来,作为新符号的概率;)把两个最小的概率加起来,作为新符号的概率;(3 3)重复步骤()重复步骤(1 1)和()和(2 2),直到概率达到),直到概率达到“1 1”为止;为止;(4 4)在每次合并消息时,将被合并的消息赋于)在每次合并消息时,将被合并的消息赋于“1 1”和和“0 0”或或“0 0”和和“l l”;(5 5)寻找从每一信源符号到概率为
25、)寻找从每一信源符号到概率为“1 1”处的路径,记录下路处的路径,记录下路径上的径上的“l l”和和“0 0”;(6 6)对每一符号写出从码树的根到终结点的)对每一符号写出从码树的根到终结点的“l l”、“0 0”序列。序列。例如,对于信源例如,对于信源 其编码过程如下:其编码过程如下:x1 x2 x3 x4 x5 x6X=0.25 0.25 0.20 0.15 0.10 0.05最后得到的编码为:x1 01,x2 10,x3-11,x4 000,x5-0010,x6-0011。其中x1、x2、x3的码长为2,x4的码长为3,x5、x6的码长为4,平均码长为2.45。0.050.150.450
26、.553、算术编码 算术编码也是一种信息熵编码方法,它用算术编码也是一种信息熵编码方法,它用0 0到到1 1之间的一个之间的一个实数对输入的信息进行编码。用到两个基本的参数,一是信源实数对输入的信息进行编码。用到两个基本的参数,一是信源符号的概率,二是信源符号对应和编码区间。一般的信源符号符号的概率,二是信源符号对应和编码区间。一般的信源符号集集x x可表示为:可表示为:对于一个给定的信源符号输入序列对于一个给定的信源符号输入序列S=x1x2x3S=x1x2x3xmxm,其中,其中xixi属于信源符号集属于信源符号集X X中的任意符号,可按以下过程进行编码:中的任意符号,可按以下过程进行编码:
27、1 1)定义初始区间)定义初始区间0,10,1),表示一个),表示一个0 0到到1 1之间的半开区间,之间的半开区间,并规定初始概率并规定初始概率p p0 0=0=0;2 2)根据信源中各符号的概率值,把)根据信源中各符号的概率值,把0,10,1)区间划分成)区间划分成N N个子个子区间区间Q Q1 1,Q Q2 2,Q Qn n,其中:,其中:Q Qi i=L=Li i,R,Ri i),L Li i=,R Ri i=L=Li i+P+Pi i ,i=1,2,i=1,2,,N N(3 3)3 3)设置输入序号)设置输入序号i i的初值,的初值,i=1i=1表示开始输入第一个信源符表示开始输入第
28、一个信源符号。号。k1j1jp4 4)当输入符号为)当输入符号为x xi i(x xi i 对应信源符号集对应信源符号集X X中的第中的第k k个符号),个符号),可按以下公式定义新的子区间可按以下公式定义新的子区间I Ii i,并计算区间长度,并计算区间长度d di i。I Ii i=l=li i,r,ri i)()()l li i=l=li i-1+d-1+di i-1-1 ()()r ri i=l=li i-1+d-1+di i-1-1 ()()d di i=r=ri i-l-li i ()()5 5)i=i+1i=i+1,如果还有信源符号未输入完毕,则转第,如果还有信源符号未输入完毕,
29、则转第4 4)步继续)步继续输入下一个信源符号。如果全部输入完毕,则当前区间输入下一个信源符号。如果全部输入完毕,则当前区间I Ii i=l=li i,r,ri i)中的任意数就是所需的编码。中的任意数就是所需的编码。k1j1jpk1jjp例:有四个符号a1、a2、a3、a4的信源,其对应概率分别为0.5、0.25、0.125、0.125。如果输入序列为S=a2a1a3a2a4。根据以上编码过程,得如下结果:从以上的编码过程可以看出以下几个问题:1 1)算术编码器对整个消息只产生一个码字,这个码字是)算术编码器对整个消息只产生一个码字,这个码字是在间隔在间隔0,1)0,1)中的一个实数,因此译
30、码器在接受到表示这个中的一个实数,因此译码器在接受到表示这个实数的所有位之前不能进行译码。实数的所有位之前不能进行译码。)运算中出现溢出是一个明显的问题,但多数机器都有)运算中出现溢出是一个明显的问题,但多数机器都有1616位、位、3232位或者位或者6464位的精度,因此该问题可使用比例缩放方位的精度,因此该问题可使用比例缩放方法解决。法解决。3 3)算术编码也是一种对错误很敏感的编码方法,如果有)算术编码也是一种对错误很敏感的编码方法,如果有一位发生错误就会导致整个消息译错。一位发生错误就会导致整个消息译错。4、行程编码行程编码(行程编码(RLERLE)通过统计信源符号中的重复个数,并以)
31、通过统计信源符号中的重复个数,并以 格式来编码。适用于压缩包含大量重格式来编码。适用于压缩包含大量重复信息的信源。其基本思想是:按行存储一个颜色值和相同复信息的信源。其基本思想是:按行存储一个颜色值和相同色值的像素个数。如下图。色值的像素个数。如下图。(a)图像示例(168像素)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 1 1 1 1 1 0 0 00 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1
32、 1 1 1 1 1 1 1 1 1 1 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0(b)示例图像的像素值(168像素)图7-9 连续相同色块图像与像素值示例 16 0 02 0 11 01 03 0 02 0 01 01 13 0 02 0 01 01 13 0 02 0 01 01 13 0 02 0 11 01 03 0 16 0 16 0(c)RLE编码说明:RLERLE压缩编码尤其适用于计算机生成的图像,压缩编码尤其适用于计算机生成的图像,对减少图像文件的存储空间非常有效。然而,对减少图像文件
33、的存储空间非常有效。然而,RLERLE对颜色丰富的自然图像就显得力不从心,如对颜色丰富的自然图像就显得力不从心,如果使用果使用RLERLE编码方法,不仅不能压缩图像数据,编码方法,不仅不能压缩图像数据,反而可能使原来的图像数据变得更大。反而可能使原来的图像数据变得更大。5、词典编码 词典编码主要是利用编码数据本身存在字符串重复特性来词典编码主要是利用编码数据本身存在字符串重复特性来实现数据压缩的。算法的核心就是如何动态地形成词典,以及实现数据压缩的。算法的核心就是如何动态地形成词典,以及如何选择输出格式以减小冗余。词典编码又可分为两类:如何选择输出格式以减小冗余。词典编码又可分为两类:第一类词
34、典编码的思想第一类词典编码的思想是:查找正在压缩的字符序列是否在以是:查找正在压缩的字符序列是否在以前输入的数据中出现过,然后用已经出现过的字符串替代重复前输入的数据中出现过,然后用已经出现过的字符串替代重复的部分,并将指向重复字符串的指针作为输出编码。的部分,并将指向重复字符串的指针作为输出编码。指针P指向了重复字符串“abc”,所以,当再次出现相同字符串时,则输出指针P。第二类词典编码的思想第二类词典编码的思想是:从输入的数据中创建一是:从输入的数据中创建一个由短语组成的个由短语组成的“编码词典编码词典”,编码数据过程中当遇,编码数据过程中当遇到已经在词典中出现的到已经在词典中出现的“短语
35、短语”时,编码器就输出这时,编码器就输出这个词典中短语的个词典中短语的“索引号索引号”,而不是短语本身,如下,而不是短语本身,如下图。图。7.2.3 有损压缩编码介绍 有损数据压缩编码方法通常用于对静态图像、音频以及有损数据压缩编码方法通常用于对静态图像、音频以及视频等多媒体信息的编码压缩,这些多媒体信息大多数是通视频等多媒体信息的编码压缩,这些多媒体信息大多数是通过对模拟信息的数字化(采样与量化)而得到的。过对模拟信息的数字化(采样与量化)而得到的。1、预测编码1)预测编码的基本概念 预测编码是数据压缩的重要技术原理之一,它是根据离预测编码是数据压缩的重要技术原理之一,它是根据离散信号之间的
36、空间或时间相关性,利用前面的一个或多个信散信号之间的空间或时间相关性,利用前面的一个或多个信号对下一信号进行预测,然后对实际值和预测值的差进行编号对下一信号进行预测,然后对实际值和预测值的差进行编码。常用的预测编码方法有码。常用的预测编码方法有DPCMDPCM(差分脉冲编码调制)和(差分脉冲编码调制)和ADPCMADPCM(自适应差分脉冲编码调制)等。(自适应差分脉冲编码调制)等。2 2)DPCMDPCM差分脉冲编码差分脉冲编码DPCMDPCM:Differential Pulse Code ModulationDifferential Pulse Code Modulation,差分脉冲编,
37、差分脉冲编码调制,码调制,用采样量化后的样本值与预测值之间的差值来编码用采样量化后的样本值与预测值之间的差值来编码。原理如下图所示。原理如下图所示。s(k)s(k)是是PCMPCM样本值,样本值,s se e(k-1)(k-1)是是s(k)s(k)的预测值,的预测值,d(k)d(k)是差分信号,即是差分信号,即d(k)=s(k)-sd(k)=s(k)-se e(k-1)(k-1)。I(k)I(k)是差分信号是差分信号d(k)d(k)的量化值,的量化值,s st t(k)(k)是重构信号,是重构信号,是由逆量化器产生的量化差分信号与对过去样本信号的估算值是由逆量化器产生的量化差分信号与对过去样本
38、信号的估算值s se e(k-1)(k-1)求和求和得到,以作为预测器确定下一个信号估算值的输入信号。得到,以作为预测器确定下一个信号估算值的输入信号。3)ADPCM自适应差分脉冲编码 ADPCMADPCM是自适应量化和自适应预测方法的总称,是对是自适应量化和自适应预测方法的总称,是对DPCMDPCM方法的进一步改进,通过调整量化步长,对不同频段设置不方法的进一步改进,通过调整量化步长,对不同频段设置不同的量化字长,使数据得到进一步的压缩。同的量化字长,使数据得到进一步的压缩。自适应量化就是使量化间隔大小的变化自动地去适应输入自适应量化就是使量化间隔大小的变化自动地去适应输入信号大小的变化。根
39、据信号分布不均匀的特点,使系统具有信号大小的变化。根据信号分布不均匀的特点,使系统具有随输入信号的变化而改变量化区间的大小,以保持输入量化随输入信号的变化而改变量化区间的大小,以保持输入量化器的信号基本均匀的能力。器的信号基本均匀的能力。图图7-137-13给出了反馈自适应的基本原理给出了反馈自适应的基本原理 。2、变换编码u基本思想基本思想:先对信号进行域变换,然后再对变:先对信号进行域变换,然后再对变换后的信号进行量化、编码。换后的信号进行量化、编码。u域变换的目的域变换的目的:寻求更大的信号独立性,减少:寻求更大的信号独立性,减少相关性;相关性;u由于相关性减少了,所以由于相关性减少了,
40、所以可用较少的位数进行可用较少的位数进行编码编码,从而达到信息压缩的目的。,从而达到信息压缩的目的。2、变换编码u编码过程编码过程:划分:划分N N N N子块、变换、量化和编码子块、变换、量化和编码 。u解码过程解码过程:解码、反量化、域的逆变换、合并:解码、反量化、域的逆变换、合并子块还原出所需信息。子块还原出所需信息。例:划分图像块的过程 图7-16 将图像划分成图像块原图像划分成多个图像块88像素的图像块一个图像块的像素划分图像块常用的变换有常用的变换有KLTKLT、DCTDCT、WHTWHT以及以及WLT WLT。DCTuDCTDCT(Discrete Cosine Transfor
41、mDiscrete Cosine Transform)是)是离散余弦离散余弦变换变换的简称。它是的简称。它是通过从图像像素通过从图像像素(空域)(空域)到频率到频率系数系数(频域)的信号(频域)的信号变换变换,使空间上具有强相关性使空间上具有强相关性的信号在频域上的特定区域集中,产生有某种规律的信号在频域上的特定区域集中,产生有某种规律性分布的系数矩阵,再进行数据压缩性分布的系数矩阵,再进行数据压缩;uDCTDCT是一种是一种可逆变换可逆变换,这使得利用,这使得利用DCTDCT进行进行数据压数据压缩和恢复缩和恢复成为可能。从空域到频域的变换称为成为可能。从空域到频域的变换称为正向正向离散余弦变
42、换离散余弦变换(FDCTFDCT),从频域到空域的变换称为),从频域到空域的变换称为逆向离散余弦变换逆向离散余弦变换(IDCTIDCT)。)。FDCT正向离散余弦变换正向离散余弦变换uFDCTFDCT先将整体图像分成多个图像块,然后对先将整体图像分成多个图像块,然后对N N N N的的像素矩阵逐一进行像素矩阵逐一进行DCTDCT变换,形成频域系数矩阵;变换,形成频域系数矩阵;u在空域,每个图像块是一个在空域,每个图像块是一个N N N N的像素矩阵,用的像素矩阵,用B B表示,空域中的像素颜色(灰度)用表示,空域中的像素颜色(灰度)用B B(x,yx,y)表)表示,其中,示,其中,x x为空域
43、横坐标,为空域横坐标,y y为空域纵坐标,取值为空域纵坐标,取值范围均为范围均为0 0到到N-1N-1。u变换后的频域系数矩阵(用变换后的频域系数矩阵(用C C表示)包含表示)包含N N2 2个系素,个系素,分为分为N N行行N N列,每个系数用列,每个系数用C C(u,vu,v)表示,其中,)表示,其中,u u和和v v均为频域坐标,取值范围均为均为频域坐标,取值范围均为0 0到到N-1N-1。FDCTFDCT变换公式如下:变换公式如下:1010212cos212cos 2NxNyvNyuNxx,yBNvEuEvuC,其中:其中:N N为所划分图像方阵的行列数,一般为所划分图像方阵的行列数,
44、一般N=8N=8;x x、y y:图像空域坐标,取值为:图像空域坐标,取值为0 0N-1N-1;B(x,y):B(x,y):空域图像数据(像素灰度值);空域图像数据(像素灰度值);u u、v v:DCTDCT后频率系数矩阵的坐标位置,取值为后频率系数矩阵的坐标位置,取值为0N-1;C(u,v)C(u,v):DCTDCT变换后频率系数矩阵内的系数值;变换后频率系数矩阵内的系数值;当当u=0u=0且且v=0v=0时,时,E(u)=E(v)=E(u)=E(v)=1/;当当u0u0或或V0V0时,时,E(u)=E(v)=l E(u)=E(v)=l 2 22B B(x,y)(x,y)的取值范围是的取值范
45、围是-128-128+127+127。具体转换时,需要先将无符。具体转换时,需要先将无符号的号的0 0255255的灰度值平移到的灰度值平移到-128-128+127+127取值范围。取值范围。IDCTIDCT变换公式如下:变换公式如下:1010212cos212cos 2NxNyvNyuNxvuCvEuENx,yB,2 2参数意义同参数意义同FDCTFDCT。例:例:2 2 对一幅对一幅320320 240240像素的像素的8 8位灰度图作位灰度图作FDCTFDCT时,时,FDCTFDCT先将整幅图像划分成先将整幅图像划分成4040 3030个个8 8 8 8像素矩阵像素矩阵B B,其中的每
46、个元素其中的每个元素B B(x,y)(x,y)代表对应像素的灰度,取值代表对应像素的灰度,取值在在0 0255255之间。先做灰度值坐标的平移,即之间。先做灰度值坐标的平移,即BB(x,y)=(x,y)=B B(x,y)-128(x,y)-128,再进行,再进行FDCTFDCT变换,形成频变换,形成频率系数矩阵率系数矩阵C C。2 2划分成多个图像块一个图像块的像素矩阵像素(灰度)矩阵B78 75 79 82 82 86 94 9476 78 76 82 83 86 85 9472 75 67 78 80 78 74 8274 76 75 75 86 80 81 7973 70 75 67 7
47、8 78 79 8569 63 68 69 75 78 82 8076 76 71 71 67 79 80 8372 77 78 69 75 75 78 78频率系数矩阵C619 -29 8 2 1 -3 0 1 22 -6 -4 0 7 0 -2 -3 11 0 5 -4 -3 4 0 -3 2 -10 5 0 0 7 3 2 6 2 -1 -1 -3 0 0 8 1 2 1 2 0 2 -2 -2 -8 -2 -4 1 2 1 -1 1 -3 1 5 -2 1 -1 1 -3如果是如果是RGBRGB模式的彩色图像,一个像素包含模式的彩色图像,一个像素包含R R、G G、B B三个颜色分三个
48、颜色分量,一个彩色图像块对应三个像素矩阵,分别为量,一个彩色图像块对应三个像素矩阵,分别为B Br r(红色像素)(红色像素)、B Bg g(绿色像素)、(绿色像素)、B Bb b(蓝色像素)矩阵,变换后形成三个频率(蓝色像素)矩阵,变换后形成三个频率系数矩阵系数矩阵C Cr r、C Cg g、C Cb b。vFDCT得到的频率系数矩阵C中的每个元素称为变换系数,它们均有明确的物理意义。vC(0,0)是该矩阵中最特殊的一个元素,它与矩阵B的平均值有关,称为DC系数或直流分量;10101010 111 22/12/1NxNyNxNyx,yBNx,yBN频率系数矩阵C619 -29 8 2 1 -
49、3 0 1 22 -6 -4 0 7 0 -2 -3 11 0 5 -4 -3 4 0 -3 2 -10 5 0 0 7 3 2 6 2 -1 -1 -3 0 0 8 1 2 1 2 0 2 -2 -2 -8 -2 -4 1 2 1 -1 1 -3 1 5 -2 1 -1 1 -3 10100212cos0212cos 20000NxNyNyNxx,yBNEEC,v 其余元素称为AC系数或交流分量,代表随u和v变化而变化的水平和垂直频率分量的大小。v 频率系数矩阵C的分布规律是,离DC系数越近的AC系数(低频系数)值越大,离DC系数越远的AC系数(高频系数)值越来越小,频率系数矩阵C619 -
50、29 8 2 1 -3 0 1 22 -6 -4 0 7 0 -2 -3 11 0 5 -4 -3 4 0 -3 2 -10 5 0 0 7 3 2 6 2 -1 -1 -3 0 0 8 1 2 1 2 0 2 -2 -2 -8 -2 -4 1 2 1 -1 1 -3 1 5 -2 1 -1 1 -3 这就意味着,一方面这就意味着,一方面FDCTFDCT使图像的表示集结到频使图像的表示集结到频率系数矩阵左上角的系数中,它们携带了更多关于图率系数矩阵左上角的系数中,它们携带了更多关于图像的有用信息,另一方面,频率系数矩阵的右下角的像的有用信息,另一方面,频率系数矩阵的右下角的系数几乎不包含图像的
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。