第3章视频数字信号压缩编码CH3视频数字信号压缩编码3.1基本原理3.2熵编码3.3预测编码3.4变换编码信源编码将信源数字信号按信息统计特性进行变换,减少信号冗余度,提高信号传输效率,在保证传输质量前提下,用尽可能少的数字信号来表示信息。信源编码是压缩信号带宽的编码,压缩后单位时间、单位频带内传输的信息量增大。第3章视频数字信号压缩编码3.1压缩编码基本原理3.1.1视频数据压缩的必要性和可能性1、视频数据压缩的必要性数字信号有很多优点,但一路未经压缩的数字化彩色电视信号的视频数据的数码率高达166Mbps,对储存器容量要求很大,占有的带宽将达84MHz左右,是模拟信号的10.5倍,这样将使数字信号失去实用价值。数字压缩技术较好地解决了上述问题,压缩后信号所占用频带大大低于原模拟信号频带。因此说图像信号有必要也有可能被压缩,数字压缩编码技术是使数字信号走向实用化的关键技术之一。第3章视频数字信号压缩编码表3-1各种应用的码率应用种类比特数/象素象素数/行行数/帧帧数/秒亮色比比特/秒(压缩前)比特/秒(压缩后)HDTV819201080304:1:11.18Gbps20~25Mbps普通电视8720480304:1:1167Mbps4~8Mbps会议电视CIF8352288304:1:136.5Mbps1.5~2Mbps桌上电视QCF8176144304:1:19.1Mbps128Kbps电视电话8128112304:1:15.2Mbps56Kbps第3章视频数字信号压缩编码2、视频数据压缩的可能性从信息论观点看,描述信源的图像数据是信息量(信源熵)和信息冗余量之和。信息冗余量有许多种,如空间冗余、时间冗余、结构冗余、知识冗余、视觉冗余等。数据压缩实质上是减少这些冗余量。可见冗余量减少可以减少数据量而不减少信源的信息量。从数学上讲,图像可看作一多维函数,压缩描述此函数的数据量实质是减少其相关性。另外在一些情况下,允许图像有一定失真,而并不妨碍图像实际应用,那么数据量压缩的可能性就更大了。第3章视频数字信号压缩编码3、视频数据编码原理(图像数据压缩基理)压缩基理来自两个方面:(1)图像信号中存在大量冗余度可供压缩,并且这种冗余度在解码后还可无失真地恢复。(2)利用人的视觉特性,在不被主观视觉察觉的容限内,通过减少表示信号的精度,以一定的客观失真换取数据压缩。第3章视频数字信号压缩编码4、图像信号的冗余度①空间冗余帧内相邻点的相关性图像信号的冗余度存在于结构和统计两方面。一幅图像中某一块面积上相邻像素的亮度和色度信息存在空间连贯性相似。一幅图像的亮度和色度信息中基本相同,存在多余信息。图3-1图像信号的空间冗余相邻像素/行变化小第3章视频数字信号压缩编码图像信号帧内相关性×8倍图3-2图像信号帧内相关性图像某一块面积上的亮度和色度信息中相同。第3章视频数字信号压缩编码②时间冗余帧间相邻点的相关性电视图像序列中,相邻两幅图像之间有较大的相关性。图3-3图像信号的时间冗余相邻帧变化小,具有相关性空间冗余、时间冗余属于统计冗余,是由于一行中像素间、相邻行及相邻帧象素间存在着相关性决定的,取决于统计特性。第3章视频数字信号压缩编码有些图像的理解与某些知识有相当大的相关性③知识冗余图3-4图像信号的知识冗余第3章视频数字信号压缩编码④结构冗余图3-5图像信号帧内的明显纹理区图像从大面积上看常存在有纹理(相似)结构,称之为结构冗余。第3章视频数字信号压缩编码⑤视觉冗余人眼的视觉系统对于图像的感知是非均匀和非线性的,对图像的变化并不都能察觉出来。图3-6图像的细节第3章视频数字信号压缩编码3.1.2.图像压缩方法的分类1、从信息论角度分:从不同的角度出发有不同的分类方法。(1)无损压缩:冗余压缩编码或熵编码。即解码图像和压缩编码前的图像严格相同,没有失真,仅仅删除图像数据中的冗余信息,回放压缩文件时,能够准确无误地恢复原始数据。(2)有损压缩:失真度编码。即丢掉大量冗余信息来降低数字图像所占的空间,解码图像和原始图像是有差别的,允许有一定的失真。第3章视频数字信号压缩编码2、按压缩编码算法原理分类(1)基于图像信源统计特性的压缩方法,有预测编码、变换编码、霍夫曼(Huffman)编码、算术编码、游程编码等。(2)基于人眼视觉特性和基于内容的压缩方法,有亚采样、多分辨率编码、子带编码、形状编码、矢量量化编码、纹理编码法等。(3)基于模型的压缩方法,有语义编码和基于模型基编码等。第3章视频数字信号压缩编码衡量压缩编码方法优劣的重要指标(1)压缩比要高,有几倍、几十倍,也有几百乃至几千倍;(2)压缩与解压缩要快,算法要简单,硬件实现容易;(3)解压缩的图像质量要好。◎常用的压缩频带方法:预测编码(主要消除时间冗余和生理冗余)变换编码(主要消除空间冗余)其它压缩码率的措施第3章视频数字信号压缩编码3.2熵编码是无损编码,其基本原理是去除图像信源在空间和时间上的相关性,去除图像信源像素值的概率分布不均匀性,使编码码字的平均码长接近信源的熵而不产生失真。(EntropyCoding)熵编码多用可变字长编码VLC实现,即对信源中出现概率大的符号赋予短码,对出现概率小的符号赋予长码,从而在统计上获得较短的平均码长。熵编码有基于图像信源概率分布特性的霍夫曼编码、算术编码和基于图像相关性的游程编码RLC(RunLengthCoding)等。第3章视频数字信号压缩编码(1)信息量(2)信息熵对信源X的消息集A(ai:i=1,2,…,m),设每个消息符号ai的概率为p(ai),,则ai所携带的信息量为指信源所有消息符号的平均信息量,信息熵为)(log)()(12imiapxpxH2()log()iiEapa第3章视频数字信号压缩编码1、Huffman编码(1)编码步骤:1)将待编码的信源符号按出现概率的值由大到小的顺序排列,对两个概率最小的符号分别分配以“0”和“1”,即确定概率最小的两个符号的最2)对两个概率最小的符号概率相加作为一个新的辅助符号的概率,将这个新的辅助符号与其他符号一起重新按概率大小顺序排列;3)重复步骤2),直至最终只剩两个概率为止。是一种可变长编码(VLC),是一种分组编码。第3章视频数字信号压缩编码4)从最后一个概率为1的节点开始,沿着到达信源的每个符号,将一路遇到的二进制码“0”或“1”顺序排列起来,就是端点所对应的信源符号的码字。图3-7Huffman编码信息符号a1a2a3a4a5a6概率0.40.30.10.10.060.040.40.30.10.10.10.40.30.20.10.40.30.30.60.4编码10001001110110001101“0”“0”“1”“1”“0”“1”待编码信源符号a1、a2、a3、a4、a5、a6出现的概率分别为0.4、0.3、0.1、0.1、0.06、0.04,试对该信源进行霍夫曼编码。码长123455例1:第3章视频数字信号压缩编码信息符号a1a2a3a4a5a6概率0.40.30.10.10.060.040.40.30.10.10.10.40.30.20.10.40.30.30.60.4编码01011111011100111100“1”“1”“0”“0”“1”“0”码长123455图3-7Huffman编码方法二:第3章视频数字信号压缩编码(2)Huffman编码性质1)Huffman算法确定,但构造的码不是唯一。②当两个消息的概率相等时,0,1分配也是随意的。这将得到不同的编码,但不影响Huffman编码的平均码长和编码效率。主要有两个原因:①两个符号概率相加给两条支路分配“0”和“1”时,这一选择是任意的。这将得到不同的编码,但不影响各符号码长;2)Huffman编码依据信源概率分布。对不同的信源,其编码效率是不同的。第3章视频数字信号压缩编码2、算术编码Huffman编码的每个代码都要用一个整数位,如果一个符号只需要用2.5位就能表示,但Huffman编码中须用3个符号表示,其效率较低。算术编码并不是为每个符号产生一个单独的代码,而是使整条信息共用一个代码,增加到信息上的每个新符号都递增地修改输出代码。算术编码中常用二进制小数表示概率,每个符号所对应的概率区间都是半开区间,如s2对应[0.001,0.011)。算术编码所产生的码字是一个二进制小数值的指针,该指针指向所编码符号对应的概率区间左边界值,区间长度为编码符号对应的概率。第3章视频数字信号压缩编码(1)算术编码基本法则iiiipLCC累积概率原子区间长度原编码指针111)初始状态:编码指针C0=0,子区间宽度L0=1.0。2)待编码状态:待编码指针待编码子区间宽度iiipLL待编码符号概率原子区间长度13)取最后一个被编码符号编码指针的二进制小数作为整个信源符号序列的编码。将信源各符号对应的子区间按其概率由大至小顺序排列,各符号所对应的子区间的边界值是从左到右各符号的累积概率。第3章视频数字信号压缩编码例2:待编码信源符号s1、s2、s3、s4出现的概率分别为1/2、1/4、1/8、1/8,试对信源s2s3s1s4进行算术编码。信源符号概率概率(二进制)累积概率区间s11/20.10[0,0.1)s21/40.010.1[0.1,0.11)s31/80.0010.11[0.11,0.111)s41/80.0010.111[0.111,1.0)iiiipLCC累积概率原子区间长度原编码指针11待编码指针待编码子区间宽度iiipLL待编码符号概率原子区间长度1第3章视频数字信号压缩编码C1=C0+L0×ΣP1=0+1×0.1=0.11)信源序列s2s3s1s4算术编码过程iiiipLCC累积概率原子区间长度原编码指针11L1=L0×p1=1×0.01=0.01iiipLL待编码符号概率原子区间长度1[0.1,0.11)C2=C1+L1×ΣP2=0.1+0.01×0.11=0.1011L2=L1×p2=0.01×0.001=0.00001[0.1011,0.10111)C3=C2+L2×ΣP3=0.1011+0.00001×0=0.1011L3=L2×p3=0.00001×0.1=0.000001[0.1011,0.101101)符号s2s3s1:符号s2s3s1s4:C4=C3+L3×ΣP4=0.001101+0.00001×1.011=0.101100111L4=L3×p4=0.000001×0.001=0.000000001[0.101100111,0.101101)符号s2:符号s2s3:符号概率累积概率s10.10s20.010.1s30.0010.11s40.0010.111第3章视频数字信号压缩编码2)信源序列s2s3s1s4算术编码原理iiiipLCC累积概率原子区间长度原编码指针11iiipLL待编码符号概率原子区间长度1符号概率概率(二进制)累积概率s11/20.10s21/40.010.1s31/80.0010.11s41/80.0010.111图3-8算术编码过程示意图信源序列s3s3s2s4算术编码为:101100111第3章视频数字信号压缩编码3)信源序列s2s3s1s4算术编码列表信源算术编码过程符号概率概率(二进制)累积概率区间范围状态编码指针编码子区间s11/20.10[0,0.1)初始值0[0,1.0)s21/40.010.1[0.1,0.11)编码S20.1[0.1,0.11)s31/80.0010.11[0.11,0.111)编码S30.1011[0.1011,0.10111)s41/80.0010.111[0.111,1)编码S10.1011[0.1011,0.101101)编码S40.10100111[0.101100111,0.101101)信源序列s3s3s2s4算术编码为:101100111第3章视频数字信号压缩编码(2)解码若解码器知道最后的编码区间范围[0.10110011