MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-01-02章

转载

本文将对 MPEG4标准中的Advanced Simple ProfileASP)做一个完整的说明,我并不
打算只是对标准进行翻译,而是根据我当初读标准时遇到的问题,给出一个更容易理解的阅
读标准的途径。需要指出的是,虽然本文给出了标准中的绝大部分,但本文并不是一个标准,
而只是对标准的个人理解,遇到真正有疑问的地方,还是需要参考标准中的相应描述,毕竟
只有正式的标准才是最标准的。
我将按下面的方式组织本文的内容:
第一部分,给出标准定义的内容,即标准究竟规定了什么,没规定什么,它的Profile
level究竟是怎么一回事,具体到我们目前做的ASP又是怎么一回事。
第二部分,给出阅读标准需要的一些基础知识。
第三部分,给出标准的码流语法和语义,注意我并不会给出所有的语法语义,而只是给
出跟我们需要实现的ASP密切相关的部分,如果需要了解其他部分,可以参考标准。
第四部分,给出解码流程,同样,我也只是给出ASP的解码流程。
第五部分,参考文献。
ASIC-MP4V_VID_MPEG4_ASP_WuBC_01.doc
3 页共 99
第一章 MPEG4标准的内容
1.1 什么是 MPEG4标准?
MPEG4 标准是国际标准化组织下面的一个标准,它包含了系统层,视频层,音频层三
个部分,并且MPEG4是基于对象的。在这里我们不打算对MPEG4作完整的介绍,我们只
介绍其中的视频层。MPEG4视频层实际上也是挺复杂的,由于我们只讨论ASP,所以我们
不必要对整个的视频层作全面的介绍,而只是介绍跟我们相关的部分,这样它同h.263 标准
是很类似的,只是多了一些特殊的技术,这些技术可以大大提高编码效率。
1.2 标准定义了什么?
假如给我一个标准的MPEG4 码流(二进制码流),我如何对它进行解码呢?显然,我
需要知道这个码流中的每一位究竟是什么含义,只有这样,我才能对它进行解码,MPEG4
标准就是定义了一个标准MPEG4 码流中的每一位的具体含义。MPEG4 码流的组织形式如
下(其实对很多标准的码流都是这样的):
1.1 码流的分层组织
如图1.1 所示,MPEG4 的码流就是按照这种分层的形式组织起来的,码流头首先是一
个在码流中其它地方不会出现的一个比较长的特殊序列,又叫起始码字,然后是具体的头信
息,它定义了整个码流的一些特征,这些特征将会对你如何对这个码流进行解码产生影响。
例如,帧的长度和宽度,该码流用到哪些技术,没用哪些技术等。帧头首先是帧起始码字,
然后是具体的帧头信息,它定义了当前帧的一些特征,例如当前帧使用的量化值等,这些信
息决定了你该如何解码当前帧。从宏块头开始就是具体的数据了,宏块头并没有一个宏块起
始码字,它紧跟在帧头信息后面。
按照上面给出的定义,只要给我一个符合MPEG4 标准的码流,我就能按照标准定义的
码流形式对这个码流解析并进行解码。首先,搜索码流起始码字,由于起始码字唯一,只要
码流正确,肯定能搜索到,找到起始码字后,就可以对码流头信息进行解析,并把对后面的
解码有影响的码字保存下来;接着,寻找帧头起始码字,找到后,对帧头信息进行解析,并
存储对解码过程有影响的码字;最后,从码流中读出宏块数据,并进行解码,恢复为原来的
图像。对这个过程可以暂时不用深究,只要大体知道这么一个概念就好了。
码流头按帧组织的数据流
帧头 按宏块组织的帧数据
宏块头 按块形式组织的帧数据
1.3 标准没定义什么
我当初看标准的时候常常有一个错误的认识,以为标准既然规定了什么,那么编码器就
应该照做。实际上这个理解是错误的,标准规定了符合这个标准的码流应该是按照什么样的
形式组织的,但是这个码流中的好多地方仍然是可选的,譬如,一个码流可以支持14
素运动补偿,也可以不支持,因此,编码器对原始图像进行编码的时候是有很大的灵活性的,
它可以只是编码当前标准码流的一个子集,当然这个子集,肯定也是符合标准的。
还有其他一些特性,在标准中也只是作为一个建议给出来的,并没有强调一定要这样做,
这里我不再详细一一列出,在你看标准的时候可以注意到,如果文章标题下面有normative
字样,则表示本章内容是标准的,必须遵守,如果标题下面有informative 字样,则表示该
章内容只是用来参考的,并不一定要照做。
1.4 ASP 是什么意思?
不用的应用要求不同的技术,例如对于视频会议,只要用最基础的那些技术就可以了,
而对于高清电视,由于图像质量要求较高,因此需要用到一些复杂的技术,例如14 像素
运动补偿,无限制运动补偿等等。MPEG4就定义了Profile&level来适应不同的应用,Profile
定义了一个码流可以使用哪些技术,而level 则规定了复杂度,譬如支持多大的图像格式,
需要多少缓存等等。
Advanced Simple Profile 是为了适应因特网上流媒体应用的需求而新增加的。它可以在
很大码率范围内发布只有一层的基于帧结构的数字视频信号。采用AS Profile,在大约
1~2Mbits/s的码率下,即可达到数字电视的质量。这使得AS Profile在第三代移动可视电话
Internet上的视频服务等领域有很好的应用前景。为实现高效编码,在AS Profile中引入
Advanced Coding Efficiency Profile中所定义的工具。具体而言,即先进补偿工具,包括:
14 像素运动补偿(QMC),全局运动补偿(GMC)。另一方面,为满足较低码率下应用的
要求,提供了Error Resilience 工具。同时,提供了后处理可选工具:Deblocking Tool
Deringing Tool。与Simple Profile相比,AS Profile具有更高的编码效率;另一方面,由于只
支持单层和矩形VO,因而其实现复杂性低于Advanced Coding Efficiency Profile。正因为此,
基于MPEG-4 AS profile的硬件系统,以及ASIC实现,具有很好的应用前景。
一个特定的profile支持一个到几个视频对象类型,例如simple profile支持Simple object
Main profile 支持simplecore

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值