首 页 | 新 闻 | 文 档 | 代 码 | 工 具 | 论 坛

Mp4Tech 首页  >  文 档  >   视频编码
 
 

MPEG 4 视频 FAQ(MPEG-4 Video FAQ)



译者:龙帅 (loppp138@hotmail.com)

此文章为便携式多媒体技术中心提供,未经站长授权,严禁转载,但欢迎链接到此地址。

本文译自MPEG-4 Video FAQ 这里是原文,由于才疏学浅,翻得可能不尽人意,若有错误之处,欢迎讨论,我的邮箱是(loppp138@hotmail.com)

1、在需求和功能上MPEG4与MPEG-1/2有什么不同?

MPEG-1和MPEG-2最重要的目标是通过压缩数据,更高效地存储和传输数字视音频信号。因此,它们处理的主要是基于帧的视频和音频。做出变换的数据仅限于一帧内的视频以及音频。

MPEG-4标准超过了这一目标,时间和空间相关的视音频信号将形成”视音频对象“(AV object),通过指定对对象形成的场景的描述形成MPEG-4的编码。

从上述的这种结构出发,MPEG-4将会:

  • 提供一种新的交互活动(在编码解码或对象合成级上使用每个视音频对象)
  • 对不同性质的对象进行整合(比如,视频,图形,文本.....)

另外,考虑到网络的多样性,MPEG-4将会允许对多媒体信息的"统一访问" 。

2.MPEG-4支持什么格式?

MPEG-4视频支持:

  • 对于扫描方法:逐行和隔行
  • 对于亮度空间分辨率:绝对大小由8*8到2048*2048,比如,SQSIF/SQCIF, QSIF/QCIF, SIF/CIF, 4*SIF/CIF和CCIR601
  • 对于颜色空间:单色, Y(亮度),Cr(红色信号与亮度信号的差),Cb(蓝色信号与亮度信号的差)结合一个透明通道 (同Y数据有相同的大小)
  • 色度空间分辨率:4:0:0, 4:2:0, 4:2:2
  • 瞬时分辨率:为使捕捉速率达到最大,使用了多种分辨率,在一帧一帧地播放中,帧率应该持续可变。

这些支持的格式由需求组提供,并且将来仍然可能会改变。

3、支持哪些比特率?

MPEG-4视频支持的比特率:

  • 低(< 64 kbps)
  • 中等(64 - 384 kbps)
  • 高(384 - 4 Mbps)

它将会同时支持固定比特率和变比特率。

这些支持的比特率模式由需求组提供,并且将来仍然可能会改变。

4. 它同ITU-T的研究有什么关系?(也就是说H.263+)

尽管MPEG-4视频和ITU-T的视频编码工作的时间计划和需求不同,但它们的需求在很多方面是相同的,比如两方面都在寻找(至少要定义)一个可以高效地对自然视频在24kbps到64kbps码率下进行编码的标准。因为这个相同的需求,许多参加了MPEG-4视频的人同样也加入了ITU-T的LBC工作。这些在MPEG-4视频和ITU-T的相同的成员和以前的联络状况使得许多成果在两边被共享,因为那些成员们系统改进他们的标准并使得它们标准的兼容性更好。

5.这些需求从何而来?应用的目标又是什么?

在MPEG-4工作的开始,其目标定为解决在非常低比特率下的编码上的标准问题,后来这个目标因为要考虑视音频环境的问题而被大幅度修改,因为越来越多的视音频资料需要用数字形式进行交换。一个为内容交互活动以及在有限容量下为存储和传输改进的压缩算法的标准将会解决新的问题。

应用的目标例如:

  • 因特网上的多媒体
  • 交互的电子游戏
  • 人际交流(视频会议,视频电话等)
  • 交互的存储媒体(光盘等)
  • 多媒体邮件
  • 网络数据库服务(通过ATM等)
  • 远程应急系统
  • 远程视频监视
  • 无线多媒体
  • 广播应用

6. MPEG-4视频确切地讲技持哪些功能? 

MPEG-4支持8个关键功能,可以被归为三类:

  • 基于内容的交互:
    • 基于对象的多媒体访问工具
    • 通过提供编辑视频对象的方法来进行基于对象的比特流控制和编辑。
    • 通过提供对任意一点的对象的高效地访问的方法来进行基于对象的随机访问。
    • 混合自然和合成(人造)数据的编码,通过提供基于语法的元素和工具允许合成数据同视频数据一起编码,并且与其它的流进行混合及同步。
  • 压缩:
    • 在相似的条件下提供比相似(similar standards)或事实标准(Emerging Standards)得到的更好的主观视频质量
  • 统一访问:
    • 对广泛的有线或无线网络和存储介质提供基于对象的错误保护的工具,包括可能的非常严重的错误,由此使得其对信息错误和丢失有相当的健壮性。
    • 提供工具和合成数具,用以根据内容和质量来确定空间和时间的可变性,从而具有可变的对象解析度
    • 提供从一个场景增加或删除一个视频对象的能力,从而具有对象的可伸缩性。

7. MPEG-4支持的可视对象有哪些?

什么是对象?对象是指在一个场景中能够访问和操纵的实体,通过对对象的操作或控制能改变表现的效果。

什么是工具?工具是实现特定功能所需的函数的集合。

用于表现自然视频信息的对象一共有5种:

    1.) Simple(简单)对象是一种容错性强、具有任意的长宽比的矩形的自然视频对象,它专为低比特率条件而开发。它使用相对简单和便宜的编码工具,基于I(内部)和P(预测)的VOPs(Video Object Planes视频对象平面,MPEG4的帧的术语)

    2.) Simple Scalable(简单可缩放) 对象是一种可缩放的简单对象,它用简单对象作为基本层,在其上进行时间和空间的拉伸变换。这种加强的层仍然是矩形的。

    3.) Core(核心)对象使用了简单对象所包含的工具的超集,使用双向插值(B-VOP)来得到更佳的图象质量。并且它有二进制的形态。它支持在传送附加的P(预测)VOP的基础上的可伸缩性。注意二进制形态可以包含一个常量透明值但不会包含由灰度提供的变量透明值。

    4.) Main(主要)对象是一种提高最高质量的视频对象,相对于Core对象,它渐进地提供灰度形状,精灵(2D图形中常常运动的对象)和交叠的内容。

    5.) N-bit(N位)对象除了可以把象素的亮度和色度在4比特和12比特之间变化外等同于Core对象。

Simple对象使用Core对象所包含工具的子集,Core对象又使用Main对象所包含工具的子集。Simple Scalable对象使用Simple对象所包含的工具的超集,N-bit对象使用的工具又是Core 对象的超集。

还有有一种特别的对象用来表现自然视觉信息:

    6.) Still Scalable Texture(静态可缩放纹理)对象为一个任意形状的静态图象,使用小波编码来达到可缩放和增量下载和重建的功能。

下列的对象种类使用了合成工具,其中有一些结合了自然视频纹理:

    7.) Animated 2D Mesh (动画2D网格)对象结合了合成网格(矩形或 Delaunay拓扑状)和自然视频。自然视频编码使用了和Core对象形相同的工具。这个视频可以被映射到网状结构上并且如果移动网格中的点就可以对这个视频进行变形。

    8.) Basic Animated Texture(基本动态纹理)对象允许以任意的静态图象形状实现网格动画。(和Still Scalable Texture对象使用相同的图象)

    9.) Simple Face(简单人脸)对象是专为人脸动画设计的,这种对象并不定义一张脸看起来像什么,并且动画可以被应用到被选择的任何本地模型中。注意MPEG-4当然包含了下载一个预先定义好的脸部模型给解码器的工具,但这些工具在Simple Face对象中并非是强制的。

8. MPEG-4支持哪些不同的profile(框架)?

什么是框架Profile?框架是视频场景的配置。每个框架规定了一组编码器可以使用的工具,用这些工具可以实现不同的用途,比如更高的质量,更低的码率,或允许对人脸建模等。

什么是级别level?级别是指对于同一个框架,解码器所能支持的最大性能,同时规定了解码器缓冲区大小、支持的图象尺寸、比特率和视频对象数量。

视觉框架决定了究竟哪些视觉对象可以在场景中出现。同样也是按照这种方式定义了框架:一组可接受的对象类型。它们中的相当多数同它们支持的最复杂的对象相对应,并且也且因此具有相似的名字。下面我们将会给出框架的列表并且涉及到一些对应的应用领域。请再次注意它们仅仅是一些建议并且每种框架并不为一个特定的应用而设计。这也就是它们的名字非常普通并且用工具而不是应用或服务来谈及的原因。

    1.) Simple Profile 仅接受Simple对象,并且是为底复杂度的应用而设计的。其最大的用处在于无线的视(音)服务,第二大用处在于可将低复杂度的视频放在因特网上 。同样小型摄像设备录制视频到如磁盘或内存芯片中的作用也在其列。 它的一个场景中最大支持4 个对象,在最低级中,最大总表面积支持QCIF。Simple Profile在64 - 384 kbps下支持3个级别。

    级别同样定义了对象的最大总表面积和每秒解码器需要解码的宏块总数。进一步的,它们定义了各种假设的用于解码的缓冲区。当最多的总对象大小被定义后,其长宽比并不会被卡死,这就造就了最大的创造的自由度。比如它可以用来在个人电脑屏幕上创作一个非常宽或高的对象,也同样可以创作几个放置在不同位置的小对象,并不仅限于一个典型的QCIF区域。

    同样的,其它框架中级别的定义也是基于限制自然视频对象的复杂度的思想。

    2.) Simple Scalable Profile 可以在和Simple Profile一样的可操作环境中提供可缩放的编码,定义了两个级别。

    3.) Core Profile可接受Core对象和Simple对象。在高质量的交互服务中非常有用,它具有低复杂度下的良好质量并且支持任意形状的对象。也支持无线广播服务。在级别1下最高码率可达384kbps,在级别2下可以达到2Mbps。这个级别并不给出视觉会话尺寸, 它只会在想象中创造某个会话尺寸, 叫做“典型视觉会话尺寸” ,对于Simple profile来说,这个“典型视觉会话尺寸”是QCIF,对于Core profile的两个不同级别来说,就是QCIF和CIF。由于总的宏块数已被选定,使得一个使用典型会话尺寸可以允许对象重叠并仍被“填充”。

    4.)Main Profile是为广播服务而构建的。 它使用了最高的质量和用灰度编码的任意形状的对象。其最高级别接受32个对象(Simple, Core, 或Main对象) ,最高码率38Mbps。

    5.) N-bit Profile 用于热力图象,比如监视系统。医辽应用也同样需要增强的色彩和亮度的动态范围 。接受Simple, Core和N-bit对象,现在仅定义了一个级别。

    6.) Scaleable Texture Profile是为声音图形应用而制订的。 一些需要在非常简单的终端上建立图象和声音同步通讯或者是一些基于BIFS的无线设备的公司将会使用这种框架。

    7.) Simple Face Profile 仅接受Simple Face对象。在一个场景中最多可以出现四个脸。比如,一个虚拟会议,比特率将控制得非常低,即使第二层,使用4张脸也不会超过32kbps。

    8.) Hybrid Profile允许在一定复杂度下在一个场景中既使用自然对象又使用合成对象 。 在自然的一侧类似于Core Profile, 而在合成一的一侧则添加了动态网格,可缩放纹理和动态人脸 --为创建生动的混合自然和人工合成内容而准备的一套丰富的工具 。 这个框架可以用来 将“真实”的对象放置到一个人造的世界或反过来,将人造的内容放置到一个“真实”的世界。

    9.) Basic Animated Texture Profile允许静态图形动画和脸部动画 ,可用非常低的比特率创造生动的内容。

    一部分在视觉Profile中的体系结构和在相应的对象体系结构中是相同的。比如,Main是Core的超集,而Core是Simple的超集,N-bit是Core的超集。Simple Scalable是Simple的超集,这样,Simple Profile可以解码Simple Scalable 比特流的基本层。

9. 从编码效率上来说MPEG4比现行的标准怎么样?

MPEG-4提供非常广的比特率范围和更佳的压缩效率。

10. MPEG4算法描述存在吗?它可以被获取吗?

 是的,存在,MPEG-4视频验证模型(video verification model)是当前MPEG-4视频的工具和算法的描述。在第一阶段不同算法的比较后,现在的重点已经转移到研究如何协作才能使这些工具更好地工作,并斂得视频验证模型能达到一个更稳定的状态。

每次MPEG会议都会改进或融合新的技术到视频验证模型,新的算法提案将会被一个叫“核心实验”的过程交叉审阅,在这个“核心实验”过程中,每个算法都将按照至少2个独立的机构预先定义好的测试条件被独立实现和验证。如果这个算法被整个组通过,那么这个提供新功能,或在压缩效率上或实现复杂度上具有更佳性能的,新的算法将会被包含在MPEG4的验证模型中。

MPEG视频验证模型的文本形式将被不同的软件实现来确认这个文本表达得足够清楚以致于视频友谊比赛领域的专家 能够不产生歧义。

每个MPEG成员都可以得到验证模型的描述。

11. 有视频编码器的实现(软件)吗?它可以获取吗?我们怎么得到它?有什么关于版权或专利的注册,支付的问题?

有两个官方的MPEG视频编码器的实现:其一是由欧洲ACTSMOMUSYS项目提供的C原码,另一个是由微软提供的C++原码。两个程序都实现了由FAQ10所提到的检验模型,并且不断地进行由会议确定的更改。

任何MPEG成原可以从MPEG ftp上自由地下载这些实现的源代码,MPEG版权也由此应用到其上。

12. 有视频编码器的硬件实现吗?

几个公司正在进行为达到特别目的的硬件来支持MPEG-4视频的工作。在遵守原来的MPEG标准的情况下开发额外的功能,应该可以预期,MPEG-4硬件实现会更具有弹性。这可以被比如可编程处理器或由应用指定的超大规模集成电路中的嵌入式内核实现。其中一个理由就是,MPEG-4支持任意形状的对象,而不是像之前的基于块的方法。然而,MPEG-4支持将矩形对象作为一种特殊情况来支持。

13.什么是编码器的计算复杂度?

MPEG-4视频检验模型由几个显现出不同的计算复杂度的工具组成。对于几个应用领域,一套工具被指定为其profile, 不同的profile具有不同的计算复杂度要求。除了编解码器使用的profile工具,计算复杂度同样决定于图像尺寸和帧率。

对于小视频格式(QCIF, 176x144),解码器应可能用一个平均的在IS阶断的PC在可接受的帧率下工作,以此来使得在成本敏感的市场上一些解决方案成为可能。较大的图像格式应该会在解码器或编码器端用到特殊的硬件加速器或特殊处理器扩展。通过选择恰当的MPEG-4工具,复杂度跟MPEG-1, -2和ITU-T H.263相似或更低似乎对于指定的应用来说是可能的。

一些新的MPEG-4的功能需要更高的计算复杂度,但它将提供更高的编码效率或更新的功能。相较于以前的MPEG视频标准,具有新的计算复杂度的技术有:任意形状对象的编码、sprite生成,对于任意形状对象的宏块填充、解码器的表现系统。以前的视频标准的经验告诉我们,对于计算较集中的算法,快速的硬件或软件实现将会很快被发现。(比如 DCT/IDCT或运动估计)

除了计算复杂度,内存需求对于成本敏感的市场来说仍是必须的。决定所需的内存的一个因素是支持的视频对象的数量和大小,对于低复杂度要求的profile来说,视频对象的最大数量是有限的。

14 分离是如何被处理的?

使用MPEG-4的一些新的视听觉对象,任意形状视频对象必须由一个分离过程来提供,这个分离程序可以离线(非实时)或在线(实时)用自动或半自动的工具对视频对象进行处理。尽管一些分离技术正在MPEG之内或之外被研究,但分离过程并不会成为MPEG-4标准的一部分。

有许多内容已经以视频对象的形式呈现(如图形游戏)。在一些情况下,当需要分离时,分离的实现将会决定于应用。

比如,在一个实时通讯的应用中,分离前景(与之通讯的伙伴)和背景对象被认为是有用的,这可以实时地进行一个粗略的分离过程。对于广播应用,像“blue-boxing”(色度键控)这样的技术已经被用于电视工作室一段时间了并且可以应用到MPEG-4中来得到预分离的视频材料。其它的分离技术的应用包括使MPEG-4交互变为可能的对象追踪技术。

15. 在MPEG-4过程中,MPEG-4视频在哪里?

MPEG-4的视频部分的第一版和第二版已经被作为国际标准被认可,然而,第三版(工作室profile)和第4版(流profile)仍然有大量的工作需要完成。

16. 视频组的主席是谁?我怎么联系他?

MPEG由许多组组成,每个组会负责一个不同的将作为标准的关键事务。这些组是:需求组、视频组、音频组、SNHC(合成和自然混合编码) 组,系统组,实现组和测试组。

视频组的主席是Thomas Sikora (sikora@hhi.de)

17.有email反馈吗?它们的范围和目的是什么?怎么订阅?

有一个MPEG一般的反馈,它作为所有MPEG的一般事务的支持。要订阅需向其国家的MPEG代表团团长提出要求。

不同的MPEG组为了在会议中协调其成员的工作,常常会处理自已的反馈,并且允许关于提出问题或重要事务的公开讨论。

任何MPEG成员都可以通过直接联系其相应的组的主席来订阅这些反馈。

 


联系我们
便携式多媒体技术中心
All Rights Reserved