
MPEG编码方法.doc
30页• 29 •第9章 MPEG编码方法第9章 MPEG编码方法在第6章中已经介绍了视频的数字化和MPEG与H系列的国际编码标准本章将具体介绍MPEG-1/2和MPEG-4的视频压缩算法,以及它们的伴音编码方法9.1 MPEG-1&2的视频压缩算法MPEG-1和MPEG-2采用的是相同的视频压缩方法,帧内采用的是JPEG静态图像编码,帧间则采用运动补偿算法9.1.1 简介可以利用视频数据所存在的各种冗余,来对其进行压缩视频本身在时间上和空间上都含有许多冗余信息,图像自身的构造也有冗余性此外,利用人的视觉特性也可对图像进行压缩,这叫做视觉冗余 参见表9-1表9-1 视频压缩可利用的各种冗余信息种类内容目前用的主要方法统计特性空间冗余像素间的相关性变换编码,预测编码时间冗余时间方向上的相关性帧间预测,移动补偿图像构造冗余图像本身的构造轮廓编码,区域分割知识冗余收发两端对事物的共有认识基于知识的编码视觉冗余人的视觉特性非线性量化,位分配其他不确定性因素MPEG-1/2的视频压缩所采用的技术有两种:① 在空间上(帧内),图像数据压缩采用JPEG压缩算法来去掉冗余信息② 在时间方向上(帧间),视频数据压缩采用运动补偿(motion compensation)算法来去掉冗余信息。
为了在保证图像质量基本不降低的同时,又能够获得高的压缩比,MPEG专家组为视频的帧系列定义了三种图像:帧内图像I(Intra),预测图像P(Predicted)和双向插值图像B(Bidirectionally interpolated),它们典型的排列如图9-1所示在MPEG-1/2的视频编码中,对这三种图像将分别采用了三种不同的算法来进行压缩图9-1 MPEG定义的三种视频图像9.1.2 I帧压缩算法帧内图像I的解码,不需要参照任何过去的或后来的其他图像帧,其压缩编码采用类似JPEG压缩算法,它的框图如图9-2所示如果视频是用RGB空间表示的,则首先要把它转换成YCrCb空间表示的图像每个图像平面分成8×8的图块,对每个图块进行离散余弦变换DCTDCT变换后经过量化的交流分量系数按照Z字形排序,然后再使用无损压缩技术进行编码DCT变换后经过量化的直流分量系数用差分脉冲编码DPCM,交流分量系数用行程长度编码RLE,然后再用霍夫曼或算术编码 图9-2 帧内图像I的压缩编码算法框图9.1.3 P帧压缩算法MPEG视频编码,对P帧图像采用的是,以宏块为单位的前向预测压缩算法1.算法概述预测图像的编码是以图像宏块(macroblock)为基本编码单元,一个宏块定义为I×J像素的图像块,一般取为16×16。
预测图像P用两种类型的参数来表示:一种是当前要编码的图像宏块与参考图像的宏块之间的差值,另一种是宏块的移动矢量(motion vector运动向量)移动矢量的概念可用图9-3表示 图9-3 移动矢量的概念假设编码图像宏块MPI是参考图像宏块MRJ的最佳匹配块,它们的差值就是这两个宏块中相应像素值之差对所求得的差值进行彩色空间转换,并作4:1:1的子采样得到Y,Cr和Cb分量值,然后仿照JPEG压缩算法对差值进行编码(对计算出的移动矢量也要进行霍夫曼编码)求解图像宏块差值的方法如图9-4所示 图9-4 预测图像P的压缩编码算法框图求解移动矢量的方法见图9-5在求两个宏块差值之前,需要找出编码图像中的预测图像编码宏块MPI相对于参考图像中的参考宏块MRJ所移动的距离和方向,这就是移动矢量 图9-5 移动矢量的算法框图要使预测图像更精确,就要求找到与参考宏块MRJ最佳匹配的预测图像编码宏块MPI所谓最佳匹配是指这两个宏块之间的差值最小通常以绝对值AE(absolute difference)最小作为匹配判据:有些学者提出了以均方误差MSE(mean-square error)最小作为匹配判据:也有些学者提出以平均绝对帧差MAD(mean of the absolute frame difference)最小作为匹配判据: 其中,dx和dy分别是参考宏块MRJ的移动矢量d (dx, dy)在X和Y方向上的矢量。
从以上分析可知,对预测图像的编码,实际上就是寻找最佳匹配图像宏块,找到最佳宏块之后就找到了(最佳)移动矢量d (dx, dy),从而可进一步计算出对应图像宏块的差值参数 2.最佳宏块搜索法为减少寻找最佳匹配宏块的搜索次数,已经开发出了许多简化算法用来加快搜索过程注意,编码时采用哪种具体的搜索方法,不会影响到解码过程,而只会影响编码时的速度和解码后的图像质量下面介绍三种常用的最佳宏块搜索法l 二维对数搜索法二维对数搜索法(2D-logarithmic search)采用的匹配判据是MSE为最小,它的搜索策略是沿着最小失真方向搜索具体搜索方法如图9-6所示,图中的标有数字i的小方框表示第i步的搜索点、箭头表示搜索移动的方向和大小图9-6 二维对数搜索法在搜索时,每移动一次就检查上下左右和中央这5个搜索点如果最小失真在中央或在图像边界,就减少搜索点之间的距离在这个例子中,步骤1,2,…,5得到的近似移动矢量d为(i,j-2)、(i,j-4)、(i+2,j-4)、(i+2,j-6)和(i+2,j-6),最后得到的移动矢量为d(i+2,j-6) l 三步搜索法三步搜索法(three-step search)与二维对数搜索法很接近。
不过在开始搜索时,搜索点离(i,j)这个中心点有3个像素远,每一步测试周围的8个搜索点,然后减小搜索点的距离,三步完成,如图9-7所示在这个例子中,点(i+3,j-3)作为第一个近似的移动矢量;第二步,搜索点在(i+3,j-3)附近,找到的点假定为(i+3,j-5);第三步给出了最后的移动矢量为d(i+2,j-6)本例采用MAD作为匹配判据 图9-7 三步搜索法l 对偶搜索法对偶搜索法(conjugate search)是一个很有效的搜索方法,采用先横向后纵向的单步搜索,该法使用MAD作为匹配判据,搜索过程参见图9-8在第一次搜索时,通过计算点(i-1,j)、(i,j)和(i+1,j)处的MAD值来决定i方向上的最小失真如果计算结果表明点(i+1,j)处的MAD为最小,就计算点(i+2,j)处的MAD,并从(i,j),(i+1,j)和(i+2,j)的MAD中找出最小值按这种方法一直进行下去,直到在i方向上找到最小MAD值及其对应的点图9-8 对偶搜索法在这个例子中,假定在i方向上找到的点为(i+2,j)在i方向上找到最小MAD值对应的点之后,就沿j方向去找最小MAD值对应的点,方法与i方向的搜索方法相同。
最后得到的移动矢量为d(i+2,j-6) 在整个MPEG图像压缩过程中,寻找最佳匹配宏块要占据相当多的计算时间,匹配得越好,重构的图像质量越高 9.1.4 B帧压缩算法双向插值图像B的压缩编码框图如图9-7所示具体计算方法与预测图像P的算法类似,这里不再重复 图9-9 双向预测图像B的压缩编码算法框图9.1.5 视频帧结构I帧可以用于视频的随机定位和快进快退,但是占用的存储空间较多MPEG编码器算法允许选择I图像出现的频率和位置I图像的频率是指每秒钟出现I图像的次数,位置是指时间方向上帧所在的位置一般情况下,I图像的频率为2MPEG编码器也允许在一对I图像或者P图像之间选择B图像的数目I图像、P图像和B图像数目的选择依据主要是根节目的内容例如,对于快速运动的图像,I图像的频率可以选择高一些,B图像的数目可以选择少一点;对于慢速运动的图像,帧内图像I的频率可以低一些,而B图像的数目可以选择多一点此外,在实际应用中还要考虑媒体的播放速率一个典型的I、P、B图像安排如图9-10所示编码参数为:帧内图像I的距离为N=15,预测图像(P)的距离为M=3 图9-10 MPEG电视帧编排I、P和B图像压缩后的大小如表9-2所示,单位为比特。
从表中可以看到,I帧图像的数据量最大,而B帧图像的数据量最小 表9-2 三种图像的压缩后的典型值(KB)图像类型IPB平均数据/帧MPEG-1 CIF 格式(1.15 Mb/s)150502038MPEG-2 601 格式(4.00 Mb/s)400200801309.2 MPEG-4视频编码MPEG-4视频编码算法支持由MPEG-1和MPEG-2提供的所有功能,包括对各种输入格式下的标准矩形图像、帧速率、位速率和隔行扫描图像源的支持MPEG-4视频算法的核心是支持基于内容(content-based)的编码和解码功能,也就是对场景中使用分割算法抽取的单独的视听对象进行编码和解码MPEG-4视频还提供管理这些视频内容的最基本方法MPEG视频专家组建立了一个用来开发图像和视频编码技术的模型,叫做“试验模型(Test Model)”或“验证模型(VM = Verification Model)”这个模型描述了一个核心的编码算法平台,包括编码器、解码器以及位流(bitstream)的语法和语义本节就MPEG-4视频的编码和解码的基本方法作一个简单介绍,其他内容请看有关的参考文献和站点9.2.1 视频对象平面的概念为了实现预想的基于内容交互等功能,MPEG-4 视频验证模型引进了一个叫做“视频对象平面(Video Object Plane,VOP)”的概念。
如图9-11所示,图中的上图表示支持MPEG-1和MPEG-2的普通(generic)MPEG-4编码器,图中的下图表示MPEG-4的甚低速率视频(Very Low Bitrate Video,VLBV)的核心编码器(core coder)MPEG-4视频验证模型,不像MPEG-1/2视频那样,把视频都认为是一个矩形区,而是假设每帧图像被分割成许多任意形状的图像区,每个图像区都有可能覆盖描述场景中感兴趣的物理对象或者内容,这种区被定义为视频对象平面(VOP) 编码器输入的是任意形状的图像区,图像区的形状和位置也可随帧的变化而改变属于相同物理对象的连续的VOP组成视频对象(Video Objects,VO)例如,一个没有背景图像的正在演讲的人,如图9-11中的下图所示图9-11 MPEG-4的两种编码器MPEG-4可单独对属于相同视频对象(VO)的VOP的形状(shape)、移动(motion运动)和纹理(texture)信息进行编码和传送,或者把它们编码成一个单独的视频对象层(Video Object Layer,VOL)VOP、VO和VOL的关系如图9-12所示图9-12 VOP、VO和VOL的关系图视频对象平面VOP:视频帧场景中人们感兴趣的物理对象或内容之图像区视频对象VO:在视频帧序列中属于相同物理对象的VOP序列视频对象层VOL:属于同一VO的诸VOP的形状、移动和纹理等信息的编码此外,需要标识每个视频对象层(VOL)的信息也包含在编码后的位流(bitstream)中,这些信息包括各种VOL的视频在接收端应该如何进行组合,以便重构完整的原始图像序列。
这样就可以对每个VOP进行单独解码,提供了管理视频序列的灵活性 9.2.2 视频编码方案MPEG-4视频验证模型对每个视频对象(VO)的形状、移动和纹理信息进行编码形成单独的VOL层,以便能够单独对视频对象(VO)进行。












