MPEG-2的分层编码
为了提供更好的可扩展性,MPEG-2允许视频信息在不同层进行编码。不同的层相互叠加。从所谓的基本层开始,每个层都去完善前一层生成的画面的质量。MPEG-2定义的分层编码模式有:
·空间可扩展性模式:这种模式允许视频在不同的水平和垂直分辨率范围内被编码。所有的层组合成完整解析度。支持的分辨率有:352×288像素、360×240像素、704×576像素(同ITU-601一样)和1.250行16×9亮度水平的HDTV分辨率。此时的色度抽样是亮度抽样值的一半(如4∶2∶2抽样)。这种特性允许不同质量的视频同时传送,如标准电视和HDTV。
·时间可扩展性模式:这种模式下的基本层包含了低帧率的序列。增加的层将视频补充为全帧率的。此时,层间的不同帧类型的区分是很重要的,例如I、P、B帧在视频序列中的分布不仅仅和GoP有关,也和不同层有关。
·数据分区模式:在这种模式中数据根据优先级被编码。例如,高优先级的流包括:低频DC系数和运动矢量头。这样可以传递不同质量的视频到不同的用户,而且也支持渐进式图像的生成。
·信噪比可扩展模式(Signal-to-Noise Ratio scalability, SNR):这种模式允许基本质量版本画面的编码。增加的层负责全质量图像所需要的信息。
MPEG-2类和级
为了支持用户的专业应用以及不同的格式,该标准定义了一系列扩展类。这些类支持不同的色度抽样模式,如4∶2∶0、4∶2∶2和4∶4∶4。一个类将一个支持全部MPEG-2语义子集的编码特征集具体化。继承的类是由之前的类组成的。除了类,该标准还定义了支持许多画面格式的区别空间和时间分辨率的级。
MPEG-2标准只定义了可能的类和级的复合子集,以支持特定的应用。例如,定义MPEG-2的主类是为了支持视频在2~80Mb/s范围内传输。在电视制作中,时常用到MPEG-2中的4∶2∶2类;而I、B和18Mb/s的GoP则适合于新闻收集和制作。特效制作则适合使用50Mb/s的仅有I帧的GoP。
MPEG-2传递
除了定义视频和音频编码,MPEG-2标准还说明了如何组合不同的成分(在MPEG-2系统规范中)。该标准定义了2个数据流,称为MPEG-2传输流(设计用来同时负载多个程序)和MPEG-2程序流(设计用来支持软件中的系统处理)。程序流优化了多媒体的应用,同时也考虑了兼容MPEG-1。传输流特别考虑了在数据可能缺失的情况下的应用,考虑的应用范围从视频电话到数字电视,支持的网络范围从光纤、卫星、有线、ISDN到ATM网络。
传输流由固定大小的包序列组成,包头都有定义包的标识。许多程序流都可以转换为MPEG-2的传输流(如视频和音频流)。包定义标识区别属于不同流的包。与时分复用不同的是,这种方法允许任何时候在传输流中插入子流的包。
与文件格式(见第5章)相似的是,传输流可能对应一个包含多个视频和音频磁轨成分的单多媒体流(如表示电视节目)。这在MPEG-2中被称为单节目传输流。多节目传输流可以由单节目传输流组合并且可以包含其他数据,如控制信息、具体节目信息和元数据。
3.3.2.3MPEG-4
MPEG-4正式名称为视音频对象编码,它比MPEG-1和MPEG-2(注重编码和压缩方面)的范围更加广泛。起初,MPEG-4的主要目标是定义一个比常规编码技术更能大幅度提高压缩率的标准,后来变成包含从移动电话到交互多媒体应用再到媒体制作和播出的多媒体应用和设备的需求。可预见的媒体和技术领域的交合点(如通信、计算、电视和娱乐部分)是该标准的重要驱动力。该标准中设想的视音频应用部分的功能定义如下:
·支持基于内容的交互,包括多媒体访问工具、基于内容的操作和比特流的编辑、混合、合成数据编码和优化的临时随机存取。
·通过改进的编码效率和多路数据流编码而优化的压缩。
·在不同环境下(从高速专业网络到低带宽、易出错的无线通讯)支持普遍的访问,但是也考虑了内容对象和基于内容的可扩展性。
MPEG-4指定了一个基于以上功能的工具集和一个需求集。这个集包括:
·系统需求。
·自然视频对象需求。
·合成视频对象需求。
·自然音频对象需求。
·合成音频对象需求。
·传送多媒体集成格式(Delivery Multimedia Integration Format, DMIF)的需求。
·MPEG-J(定义JAVA应用引擎)的需求。
·多用户环境的需求。
·动画框架的需求。
·知识产权管理和保护(Intellectual Property Management and Protection, IPMP)的需求。
这个表表明了该标准的实际延伸和界定,可见视音频对象的编码只是其中一个方面。然而,有效的压缩是这个标准的核心问题。标准的第二和第三部分涉及的是视频和音频的编码及相关问题。标准的第十部分是有关高级视频编码问题。
MPEG-4支持从2kb/s到24kb/s的语音编码和从5Kb/s到1Gb/s的视频编码。视频格式可以是逐行的或使用隔行扫描,分辨率也可以从QCIF到4K×4K的分辨率变化。MPEG-4是一个适用性很强的标准,它支持基于内容的编码功能,如视频对象/形状编码的分离解码、面部和身体的模拟,以及二维和三维的网格编码。合成对象包括文本、图形覆盖、面部模拟及物体。该标准假想自然的和合成的对象能被集成在同一画面场景中。
MPEG-4面向对象的编码
在面向对象的视频编码中,视音频场景由画面、声音和影音对象(称作AVO,Audiovisual Object)等基本元素组成。这些对象可以是任意形状,并进行空间和时间延伸。表示AVO的已编码数据被加载在单独的基本流上。AVO由对象描述符来描述(OD),并且包含了其(固定的)时间和空间位置和比例的信息。AVO的本地坐标系统通过这些信息操作AVO。
一个画面场景由各种各样的AVO组成。组成该场景的信息存储在场景描述等信息里。它定义了空间和时间的位置以及AVO之间的关系、动态行为和该场景中有可能出现的交互信息的种类。场景描述符是场景的一部分,包括了指向不同AVO对象描述符的指针。这些指针表示了场景和基本对象之间的连接。作为一种正式的场景描述语言,MPEG-4定义了场景的二进制格式(Binary Format for Scenes, BIFS)。BIFS提供了二维和三维的功能集以及文字和图画的功能集。而且BIFS还支持基于用户操作事件的交互使用。
与MPEG-1、MPEG-2一样,MPEG-4没有具体化编码器,而是指定了它产生的比特流和解码过程。视频编码方案是基于动态补偿混合的DCT编码。与MPEG-1、MPEG-2相比较而言,其动态解码和补偿工具以及文本解码工具共同促成了一个标准化的基于模块的解码器。因此该标准可以与MPEG-1、MPEG-2相兼容,但该标准在视频编码的算法上有了提高,例如压缩效率和容错率的提高是MPEG-4的主要改进内容。
通过增加形态解码工具,该标准转向一种基于对象的视频编码解决方法,例如,编码内容不需要是规则化的,而可以是任意形态的。一个编码对象的MPEG-4比特流可以在一个层级结构中描述。该层级结构的顶层是由可视化对象组成的可视化序列。而可视化对象被定义为由亮度和色度值以及其形状定义的图像序列组成的视频对象平面序列。
MPEG-4非视频部分
为了更好地支持电信、计算机模拟和多媒体产业的新兴服务,MPEG-4标准考虑了如支持阿尔法混合和场景细节多层编码的要求。这在MPEG-4的视觉纹理编码(Visual Texture Coding, VTC)中有具体考虑。它提高了纹理压缩效率(在很大质量范围内),并支持随机访问部分或全部场景对象。因此它用不同水平的复杂度规定了各种编码模式。为了实现更有效的压缩,使用了小波变换和零树编码。小波变换代替了DCT,因而使图像在高质量压缩中有非常好的压缩属性和开发结构。
MPEG-4类和级
为了减少一个解码器支持所有可能的应用工具的复杂性,MPEG-4也定义了类和级。对每个类所支持的工具集都有具体定义。而级则设置如所需内存、对象数目、比特率等的复杂度的范围。因此所支持的类和级要具体化到每一个MPEG-4解码器,同时也要保证系统间的交互操作。类和级的组合具有一个定义良好的一致性。
MPEG-4把比特流和解码器一致性区别开来。当一个流中只有类定义的语义元素时,以及当类和级的组合定义的参数在范围之内时,该流就被认为是比特流兼容的。当解码器能够解码所有允许的语义元素中的值(静态兼容),并且对在所需地点的所有类和级所支持的根据语法和语义的解码操作有相应的资源(动态兼容)时,则解码器是兼容特定的类和级的。在面向对象的编码环境中,类和级并不定义每一单个对象的最大复杂度,它只是具体化了一个场景中所有对象的复杂度边界。需要注意的是,当对一个具体的视频解码器考虑复杂度的时候,一个场景中对象的数量和它们的复杂度都要被考虑。
MPEG-4的对象类型
除了类和级,MPEG-4还指定了对象类型。它们定义了编码一个场景中的对象所需的工具类型和对象类型之间结合的规则。除此之外,对象类型指定了对象的句法和语义。
MPEG-4视频类级
类决定了一个场景中可以使用哪种类型的对象。例如,它们定义一个允许的对象类型表。
不同的类规定了将要应用的反映对质量和带宽要求不同的比特率。例如,简单的类定义了一个0级比特率为64kb/s,3级比特率为384kb/s。高级的简单类型范围更广:从适合因特网应用的128~768kb/s到适合更高质量应用的3~8Mb/s。主要的类为高清电视相关服务定义的最高比特率为38Mb/s。最后,为了制作需要,在简单演播室类中规定比特率为180~1 800Mb/s,而在核心演播室类中规定的最高比特率为900Mb/s。
目前很少有产品支持MPEG-4编码的视频。因此,还不可预知MPEG-4今后是否能影响媒体并占据主导地位。然而,在内容管理系统中应该能够处理MPEG-4视频。
3.3.3基于DV的格式
数字视频(Digital Video, DV)最初的考虑是消费类产品的数字磁带记录格式,后来被应用到专业领域。目前有2种标准:由国际电工委员会(International Electrotechnical Commission, IEC)制定的原始DV标准和由电影与电视工程师学会(Society of Motion Picture and Television Engineers, SMPTE)发布的专业DV标准,它指定了DV的特征和功能。
DV规范不仅包含视频编码的内容,还包含一些磁带议题,如磁带错误的修正等。本节的重点是专业DV标准规定的实际编码功能。
3.3.3.1DV格式:编码基础
和MPEG一样,DV压缩也是基于离散余弦变换(Discrete Cosine Transformation, DCT)的。然而,和MPEG不同的是,它只使用帧内压缩。DV的压缩率取决于一帧内的运动,值约为5∶1。这取决于场内压缩(如画面中有很多地方相同,同时又没有很多运动时就能达到更高的压缩率),结果是可变比特率。因为DV编码视频流需要连续的比特率,所以采用了一种可适应帧内空间压缩的方法,如场景内移动的增多也引起空间压缩增加。DV编码由三级层结构构成。首先,画面帧被分成矩形的块,之后这些块被分成278×8的DCT宏块。
一般使用者用的DV信号部分用4∶2∶0的格式,抽样率为13.5MHz,8比特编码。对于专业应用,品质将调整成为4∶1∶1。
考虑NTSC视频的例子,压缩视频数据的一个帧由10个轨道和138个数据块组成。每个数据块包含76字节的视频数据和1字节的头数据。每秒29.97帧的速度相当于25.146Mb/s的视频率,因此对于ITU-R BT601非标准4∶1∶1编码视频的125.5Mb/s的数据率来说,也就等于5∶1的压缩率。
视频数据的错误改正机制(内部)和文件(外部)奇偶编码给予视频数据以改正单个比特错误的能力。对于大块的数据,可以使用更加复杂的错误修正方案,如Reed-Solomon。
除了视频部分以外,编码的流也包含辅助视频数据(Auxiliary Video Data, VAUX),它包括记录数据和时间、闪屏速度、透镜参数、色彩平衡和其他镜头信息。额外的元数据和视频编码信息共同保存是很有利的。