MPEG-4的独特之处在于支持基于内容的编解码,为此引入了视听对象AVO(Audio/Video Object)的概念。AVO可以是一幅图像中一个小提琴或琴声等,每个AVO可独立编码,但相互之间又存在着时空结构关系,因此编码时,必须传送编码对象的组成结构信息体“场景描述”,以表示场景中各AVO之间的时空结构关系。解码时根据此“场景描述”对图像和声音的有关内容进行编辑和 *** 作。视听对象还可以是一个矩形帧,从而使MPEG-4兼容原来的MPEG标准。视听对象中的视频对象VO通常由3类信息来描述,即运动、形状和纹理信息。
1 编码原理
MPEG-4编码器主要由形状编码、纹理编码和运动编码三部分组成。帧格式分为I-VoP,P-VOP和B-VOP。这里只讨论I-VOP和P-VOP。I-VOP采用纹理编码来消除一帧图像数据间的空间冗余度;P-VOP是参考前一帧图像,并采用两种参数来编码。一种是当前要编码的图像与参考图像之间的差值;另一种是运动矢量。编码器的具体结构模块如图1所示。
1.1 形状编码
形状编码主要用于记录从图像序列中提取VOP的形状信息,该信息分为二值形状信息和灰度形状信息。二值形状信息用0和1两个值表示VOP的形状;灰度形状信息用0~255表示VOP区域的不同透明度。在编码时,当提取的VOP具有非矩形形状时,需要对其进行边界扩展,使其矩形边界都是16的倍数,同时保证扩展后的面积最小,然后进行形状编码;当提取的VOP为矩形时(矩形的长度和宽度都是16的倍数),形状编码就会被屏蔽。
1.2 纹理编码
纹理编码主要对I-VOP内的图像像素或P-VOP内的差值像素进行编码,包括DCT、量化、DC和AC预测、熵编码等过程,最大程度地去除当前VOP内各像素之间的空间冗余度。
视频的第一帧图像采用I-VOP格式编码,其余的帧采用I-VOP,还是P-VOP格式则受两个因素制约。其用户会按照IPPPIPPPI的方式设置当前帧所采用的格式;二是已经人为地设置了当前帧为P-VOP,通过运动估计计算mad_P的值,如果mad_P满足下列两个条件之一,则当前帧就采用P-VOP编码格式,否则采用I-VOP编码格式。
条件1:mad P<50/3;
条件2:mad P<50,并且IntraMBRaTIo<0.4。其中,IntraMBRaTIo为当前帧中采用MBM_INTRA预测模式的宏块占总宏块的比重。
纹理编码中的DCT和量化模块比较简单,这里略过,重点介绍剩下的纹理编码模块。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)