您的位置:首页 > 其它

[mpeg4]mpeg4码流分析

2012-12-19 16:39 309 查看
基于内容的AV编码

以前AV信息被看作纯粹的数据,编码时没有结合自身包含的内容,例如视频序列被认为是象素的组合。MPEG-4采用了对象的概念,不同的数据源被视作不同的对象,分别编码。数据的接收者不再是被动的,他可以对不同的对象进行自己的操作:删除、添加、移动等。语音、图像、视频等可以作为单独存在的对象,也可以集合成一个更高层的对象,我们称之为场景。举例说明,MPEG-4在编码前首先要对视频序列进行分析和理解以提取目标,其码流信息首先应给出各个目标的场景描述。想象一幅“人在旅途”的场景:“枯藤老树昏鸦,小桥流水人家,古道西风瘦马,夕阳西下,断肠人在天涯。”其场景可分解(或分割)成多个多媒体目标组成。其原始目标包括:

·静止图象:如固定的背景“枯藤”“老树”,“小桥”,“人家”,“古道”,“天涯”

·视频目标(VO :Video Object)。如“昏鸦” ,“瘦马” ,“夕阳” ,“人”

·音频目标:如“昏鸦”呜呜,“流水”潺潺 ,“西风”嗍嗍,“瘦马”长嘶,“人在”短叹;

一幅复杂的画面就由这些可操作的原始目标组成。如果对这些目标分别进行编码,最终用户便可以自由地操纵这些原始目标 (如目标的坐标,视点,动画等),还可得到一些原始目标的信息。如对“断肠人”的介绍,可在观看场景的同时用鼠标点击“断肠人”也许能得到此人的各种信息或网页,譬如此人名叫“马致远”、“苏东坡”还是“柳永”;爱好是“名山大川”还是“浪迹江湖”等。

 

码流由层次化的数据结构来描述:



图1 mpeg-4 video data structure
它可以分为5个层次:

视频序列(VS:Video Sequence,即VOS,Visual Object Sequence):一个完整的视频包括多个VS。

视频目标(VO:Video Object):VO即是场景中的特定目标

视频目标分辨层(VOL:Video Object Layer):VOL是VO的时间或空间的伸屈性描述。VO的描述可以在不同时间分辨率和空间分辨率上进行。它可以只包括一个基本层,也可以包括多个分辨率增强层。目标的伸屈性即是通过VOL来实现的。

视频对象平面组(GOV:Group of VOP):即为由VOP(I-Frame、P-Frame、B-Frame)等组成的GOP(Group Of Pictures)。

一个I-Frame后接若干P-Frame和B-Frame构成一个视频对象平面组GOV(GOP)。

当画面场景呈静态少有变化时,I帧比较大,P帧比较小且GOP持续较长。当画面场景变化较大时,一般将重新构造新的I帧、形成新的GOP。

视频目标平面(VOP:Video Object Plane):VOP是VO在某个时间的存在,是VO在不同VOL层的时间序列。

概括来说,MPEG-4的视频由多个VS组成。而VS是一个或多个VO的集合,VO包含一个或多个VOL分辨层,VOL包括一系列VO在时间上的采样VOP。

所以VS序列(VS0,VS1…… )是整个场景在某段时间上图像系列,VO序列(VO0,VO1,…… )是从VS中提取的不同空间目标,VOL序列(VOL0,VOL,……)是VO的不同分辨层(基本层和多个增强层 )。VOP序列(VOP0,VOP,…… )是VO在不同分辨层的时间采样。而MPEG-4的视频编码就是基于VOP进行的。

MPEG-4用形状、运动和色彩三组参数描写VOP。

形状参数:采用以子块为基础,基于上下文的算术编码。可得到对形状无失真编码。

运动参数:先进性预测,然后再对预测差值进行变长编码(VLC)。

色彩编码:采用类似H.263的帧内/帧间混合编码方法。对VO边界上的子块,MPEG-4用形状自适应DCT(SA-DCT)取代拼贴算法。

 

各层的起始码如下所示:

visual object sequence  start code: 0x 00 00 01 B0

visual object sequence  end code: 0x 00 00 01 B1

user data start code: 0x 00 00 01 B2

group of vop start code: 0x 00 00 01 B3

video session error code: 0x 00 00 01 B4

visual object start code: 0x 00 00 01 B5

vop start code: 0x 00 00 01 B6

video object start code: 0x 00 00 01 00 (through 1F)

video object layer start code: 0x 00 00 01 20(through 2F)

reserved: 0x 00 00 01 30 through 0x 00 00 01 AF

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  es mpeg4