设为首页 加入收藏

TOP

3.4.1 MPEG-4结构分析
2013-10-07 00:11:51 来源: 作者: 【 】 浏览:82
Tags:3.4.1 MPEG-4 结构 分析

3.4  MPEG-4编码方案


本节介绍了MPEG-4编码标准的可变码率技术、多媒体传送整体框架、全景图、场景描述等MPEG-4编码标准中突出的技术,并对MPEG-4编码的主要的码流进行了介绍。

3.4.1  MPEG-4结构分析

MPEG是运动动态图象专家组(Moving Pictures Experts Group)的英文缩写。这个专家组是由国际标准化组织ISO(International Standards Organization)与国际电子委员会IEC(The International Electrotechnical Commission)于1988年联合成立的,是一个全球性的机构,国际成员通过相应地组织建立地技术委员会开展特殊领域地技术活动,参与国际标准地开发工作,致力于运动图像及其伴音编码的标准化工作,其成员均为视频、音频及系统领域的技术专家。

MPEG-4是运动动态图象专家组在1994年开始制定的,于1999年初正式成为国际标准。MPEG-4采用国际化的标准,兼容性好,代表压缩的发展趋势。同时,它比其他算法提供更好的压缩比,适用于低传输速率应用的方案,与MPEG-1和MPEG-2相比,MPEG4更加注重多媒体系统的交互性和灵活性。

在MPEG-4方案之前,运动动态图象专家组指定了MPEG-1、MPEG-2和MPEG-3。MPEG-1主要用于VCD内的压缩技术,MPEG-2主要用于广播电视、DVD内的压缩技术,以及MP3压缩方法,MPEG-3最初是为HDTV开发的编码和压缩标准,但由于MPEG-2的出色性能表现,MPEG-3没能得到广泛应用。现在运动动态图象专家组正在制订MPEG-7方案。

MPEG-4标准将众多的多媒体应用集成于一个完整的框架内,旨在为多媒体通信及应用环境提供标准的算法及工具,用于实现音视频数据的有效编码及更为灵活的存取。用MPEG4压缩的影像画面质量近似于DVD的画面质量。适用于数码监控,配上高清晰度的摄影头,可以令捕捉的影像画面质量达到十分清晰的效果。作为MPEG-4标准的的核心内容,MPEG-4的视频编码部分正受到越来越多的关注,电子工业、广播电视业、电信业、计算机软件业都在紧密注视着它的发展。

ISO/IEC11172-1是一个国际标准的标准号,国际标准是由联合技术委员会ISO/IEC JTCI(联合技术委员会是ISO和IEC联合建立的,处理国际标准草案,国际标准草案需要提交给各国委员通过投票表决,一个国际标准而公开发表需要至少75%的国家成员投票批准)的信息技术分会SC29制定的,该标准代表的是MPEG-4的系统模块。像ISO/IEC11172-1这样的标准号,MPEG-4标准中包含了很多,主要的有6部分,这6部分如表3.14所示:

表3.14  MPEG-4的6部分

标准号< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

说明

ISO/ IEC 14496 - 1

MPEG-4的系统模块,规定数据流格式和文件格式, 定义了基本流复用和同步、随机存取、时间标志、对象内容的识别, 规定了二进制场景描述格式, 知识产权的管理与保护等

ISO/ IEC 14496 - 2

MPEG-4的视频模块,定义了一个对各种视觉信息(包括视频, 静止纹理, 计算机合成图形等等)的编解码器

ISO/ IEC 14496 - 3

MPEG-4的音频模块,定义了一个对各种音频信号进行编码的编解码器的集合

ISO/ IEC 14496 - 4

MPEG-4的一致性模块,定义了比特流和设备

ISO/ IEC 14496 - 5

MPEG-4的参考软件模块

ISO/ IEC 14496 - 6

MPEG-4的多媒体传输集成框架模块

除以上6部分以外还有MPEG-4工具软件、基于IP架构的MPEG-4、参考硬件描述、以及高级视频编码(Advanced Video Coding,简称AVC)。其中AVC就是H.264视频编码标准。

MPEG-4主要特点是:

(1)对不同的对象可采用不同的编码算法,从而可能进一步提高压缩效率。
(2)各个对象相对独立,提高了多媒体数据的可重用性。
(3)允许用户对单个的对象进行操作(例如改变某个对象的属性、颜色、大小等,甚至删除某个对象),提供了前所未有的交互性。
(4)允许在不同的对象之间灵活分配码率,对重要的对象可分配较多的字节,对次要的对象可分配较少的字节,从而可能在较低的码率下获得较好的效果。
(5)可以很方便地集成自然的与合成的视频音频对象。
MPEG-4的数据流可以分为三类,一类是系统流;一类是视频流;一类是音频流。这三类数据流可以分别异步进行传出,最后通过复合器进行统一的解码。

MPEG-4的数据在三个层中进行传输,这三层分别是传输层、同步层和压缩层。传输层中主要使用了DMIF应用接口,通过该接口定义流数据的传输接口,并定义信道建立和断开的信号。同步层实现对压缩过的的数据流和同步信息封装成同步数据包流,并将他们传输到传输层也可以实现从传输层接收数据流,从流中提取同步数据,为以后同步解码和基本流解码的合成做准备。压缩层接受从同步层传来的压缩格式的数据,并完成解码操作,这些解码后的信息用于终端的视听对象的合成以及显示。

视听码流:视听码流定义了视频或音频信息的编码定义。在显示场景时再根据场景描述信息将解码重构的视频或音频数据复合起来,最后提交给终端用户。

上载码流:下载基本码流可以要求从接收端向发送端上载信息,即允许客户/服务器方式的交互。例如对下载基本码流进行控制的上载码流。

MPEG-4总的框架可以用一个终端结构来表示,该终端结构如图3.25所示。

 
图3.25  终端体系结构
MPEG-4一个革命性的贡献是在视频编码中引入了基于对象的思想。MPEG4以VO(Video Object)的概念来实现基于内容的表示。VO的构成依赖于具体应用和系统实际所处的环境:在要求超低比特率的情况下,VO可以是个矩形帧,与传统的标准兼容。VO也可以是场景中某一物体或某一层面,为画面中被分割出来的不同物体。每个VO由三类信息来描述:运动信息,形状信息,纹理信息。VO的解码过程如图所示。
 
图3.26  VO解码过程

MPEG4中把对视频对象(VO)分成以下几类——自然视频(传统的)、2D和3D网格(mesh)、静态纹理(静态图)、Sprite(通过拼接生成的背景图)、FBA(face and body animation,人脸和人体动画)。对这些格式分别地进行编码和处理。

一个视频对象由视频对象起始码开始,接着是一个或多个视频对象层。

MPEG-4的编码和解码是针对VOP进行的,编码时首先由输入的视频序列通过与用户的交互形成一个VOP,然后针对每一个VOP分别进行编码,最后将所有的VOP编码结果合成一个视频数据流。VOP编码过程如3.27图所示。

 
图3.27  VOP编码框图

在VO解码过程中涉及到了形状编码、运动编码、纹理编码,这些都是MPEG-4编码标准中新提出的编码技术,每项技术都可以很大的提高压缩比率。

形状编码

形状编码的信息分为两类:而二值形状信息和灰度级形状信息。二值形状信息就是用0和1表示VOP形状的信息,1表示VOP形状的区域,表示非VOP形状区域。灰度级形状信息可取0~255,1~255表示VOP区域透明程度的不同,0表示透明区域,即非VOP区域。二值形状信息使用基于上下文相关信息的算术编码(CAE)和运动补偿算法进行压缩编码,灰度级形状信息采用基于块的DCT和运动补偿。

(1)二值形状编码
二值形状编码以二维矩阵的形式用255和0表示各个像素是否属于某个VOP,矩阵的大小与VOP 的包块相同。将矩阵划分为16 ×16的Binary Alpha Blocks(BAB),每个BAB独立编码。如果某个BAB中所有的数值均为255,则称为不透明块(OpaqueBlock),如果均为0,则称为透明块(Transparent Block)。BAB编码的基本工具是基于上下文的算术编码算法(Context based Arit hmetic Encoding algorithm,CAE),如果用到运动补偿,则称为帧间CAE(Inter2CAE),否则称为帧内CAE(Intra2CAE)。

(2)灰度级形状编码
采用灰度级形状编码的好处是前景VO可与背景很好地融合,不至于有明显的界线,还可以表示透明的VO,实现特殊的视觉效果。灰度级形状编码中与每个像素对应的数值,可以是0到255之间的任意整数,分别代表不同的透明度(0表示完全透明,而255表示完全不透明)。灰度级信息的编码由两部分组成,对具体的数值采用和纹理信息相似的编码过程,同时结合二值形状编码表示VO的形状。

运动编码

同H.263和H.264标准一样,MPEG-4也是利用运动估计和补偿技术去除帧间的冗余度, MPEG-4通过运动补偿编码后存在三种VOP结构,这三种VOP分别是:帧内VOP(I-VOP)、预测VOP(P-VOP)和双向内插VOP(B-VOP)。

帧内VOP:一个VOP与其他VOP分开编码。

预测VOP:VOP可以基于前一个解码后的VOP进行预测(利用运动补偿)。

双向内插VOP:VOP可以用过去的和未来VOP进行预测,B-VOP只能基于I-VOP和P-VOP进行插值。

只有对P-VOP和B-VOP编码时才需要运动估计。运动估计方法与H.263的相同,场景被分成固定位置和尺寸的块,估计时假定块内各部分的运动程度一致。仅仅对VOP边框中的宏块进行运动估计时,如果一个宏块完全位于一个VOP内,就采用一般的基于16x16像素宏块或8x8像素块运动估计,这样这个宏块只有一个运动矢量,或整个块一个运动矢量,运动矢量以半像素精度进行计算。

当选择了INTER模式,就将传送MV。MV的水平和垂直分量采用相邻的三个MV参考预测量进行差值编码,即类似于H263的MV预测方式。在当前VOP边界上,应用如下规则:
(1) 如果一个且仅有一个参考预测量的MB在VOP之外,该MB被设定为0
(2) 如果两个且仅有两个参考预测量在VOP之外,它们被设定为第3个参考预测量。
(3) 如果所有的三个参考预测量MB都在VOP之外,它们被设定为0。
对于每个分量(水平与垂直),对相同分量的三个参考量求出均值,并传递运动矢量的差值MVDx和MVDy。

纹理编码

VOP的纹理信息包含在视频信号的亮度分量Y和两哥色度分量U和V中。对于I-VOP,纹理信息直接包含在亮度和色度分量中,而对于运动补偿后VOP,纹理信息包含在运动补偿后的残差中。对纹理信息编码时,采用标准的基于8x8像素块DCT方法。对DCT变换后的块进行量化,每一个系数可以零用相邻块的值进行预测以进一步降低系数的熵值。然后对系数进行扫描,以减少编码系数之间的平均游程长度,最后对系数进行可变长编码。纹理编码过程如图3.28所示。

 
图3.28  VOP纹理编码过程

分级编码

MPEG-4视频编码采用分级编码来支持时域、空间及质量的伸缩性,例如,在基于Internet的多媒体数据库检索及视频内容重放等应用中,分级编码的引入使得接收端可依据不同的带宽及不同的显示能力进行视频数据库的浏览,以及在多媒体环境下视频内容的多分辨率播放,在MPEG-4中通过视频对象层的数据结构实现了基于内容的分级编码,每一种分级编码都至少有2层VOL基本层和增强层。在对增强层中的VOP进行编码之前,必须先对基本层中相应的VOP进行编码,空间伸缩性是通过增强层强化基本层的空间分辨率来实现的。同样对于时域伸缩性,可通过增强层来增加视频序列中某个VO的帧率,使其更为平滑。MPEG-4分级编码如图3.29所示。

 
图3.29分级框架图

MPEG-4通过层次结构进行管理,层次结构分别是视频场景、视频对象、视频对象层、视频对象平面组和视频对象平面,层次结构如图3.30所示。

VS(Video Session):视频场景,它位于层次结构的最高层,一个完整的视频序列可以由几个VS组成。

VO(Video Object):视频对象,它是场景中的某个物体,最简单的情况下就是矩形框,它是有生命期的,由时间上连续的许多帧构成。

VOL(Video Object Layer):视频对象层,VO的三种属性信息在该层进行编码,该层主要用来扩展VO的时域和空域分辨率,实现分成编码。

GOV:视频对象平面组,由视频平面组合,是可选成分。视频对象层即可以由VOP直接组合,也可以由GOV组合而成。

VOP(Video Object Plane):视频对象平面,它可以看作是VO在某一时刻的采样,即一帧VO。

 
图3.30  视频流结构图
【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.4.4 多媒体传送整体框架 下一篇3.4.3 VBR技术

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: