当前位置: 主页 > 视频资讯 > 视频技术知识 > 视频玩家必读:视频编码技术的系统知识(4)

视频玩家必读:视频编码技术的系统知识(4)

2008-12-04   / 点击: 标签:视频编码
   

工具与压缩增益

        当我们查看 H.261、MPEG1、MPEG2 与 H.263 视频编解码技术中引入的功能时,明显可以发现几种基本技巧提供了大部分压缩增益。图 4 说明这些技巧及其相关效果。与 4 个运动矢量以及四分之一像素运动补偿等工具相比,运动补偿(整数像素与半像素)的效果显然更为突出。

图 4:基本技巧的效果:1) 无 MC;2) 增加 Skip 模式构成 CR 编码器;3) 仅允许零 MV;4) 允许整数像素 MC;5) 允许半像素 MC;6) 允许 4-MV;7) 允许四分之一像素MC。如欲了解有关详细说明,敬请参见 [7]。

7. H.264/ MPEG4-AVC

        视频编码技术在过去几年最重要的发展之一是由 ITU 和 ISO/IEC 的联合视频小组 (JVT) 开发了 H.264/MPEG-4 AVC[8] 标准。在发展过程中,业界为这种新标准取了许多不同的名称。ITU 在 1997 年开始利用重要的新编码工具处理 H.26L(长期),结果令人鼓舞,于是 ISO 决定联手 ITU 组建 JVT 并采用一个通用的标准。因此,大家有时会听到有人将这项标准称为 JVT,尽管它并非正式名称。ITU 在 2003 年 5 月批准了新的 H.264 标准。ISO 在 2003 年 10 月以 MPEG-4 Part 10、高级视频编码或 AVC 的名称批准了该标准。

        H.264/AVC 在压缩效率方面取得了巨大突破,一般情况下达到 MPEG-2 及 MPEG-4 简化类压缩效率的大约 2 倍。在 JVT 进行的正式测试中 [9],H.264 在 85 个测试案例中有 78% 的案例实现 1.5 倍以上的编码效率提高,77% 的案例中达到 2 倍以上,部分案例甚至高达 4 倍。H.264 实现的改进创造了新的市场机遇,如:

* 600Kbps 的 VHS 品质视频。可以通过 ADSL 线路实现视频点播。

* 高清晰电影无需新的激光头即可适应普通 DVD。

        H.264 标准化时支持三个类别:基本类、主类及扩展类。后来一项称为高保真范围扩展 (FRExt) 的修订引入了称为高级类的 4 个附加类。在初期主要是基本类和主类引起了大家的兴趣。基本类降低了计算及系统内存需求,而且针对低时延进行了优化。由于 B 帧的内在时延以及 CABAC 的计算复杂性,因此它不包括这两者。基本类非常适合可视电话应用以及其他需要低成本实时编码的应用。

        主类提供的压缩效率最高,但其要求的处理能力也比基本类高许多,因此使其难以用于低成本实时编码和低时延应用。广播与内容存储应用对主类最感兴趣,它们是为了尽可能以最低的比特率获得最高的视频质量。

        尽管 H.264 采用与旧标准相同的主要编码功能,不过它还具有许多与旧标准不同的新功能,它们一起实现了编码效率的提高。图 5 的编码器框图总结了其主要差别,概述如下:

        帧内预测与编码:H.264 采用空域帧内预测技术来预测相邻块邻近像素的 Intra-MB 中的像素。它对预测残差信号和预测模式进行编码,而不是编码块中的实际像素。这样可以显著提高帧内编码效率。

        帧间预测与编码:H.264 中的帧间编码采用了旧标准的主要功能,同时也增加了灵活性及可操作性,包括适用于多种功能的几种块大小选项,如:运动补偿、四分之一像素运动补偿、多参考帧、通用 (generalized) 双向预测和自适应环路去块。

        可变矢量块大小:允许采用不同块大小执行运动补偿。可以为小至 4(4 的块传输单个运动矢量,因此在双向预测情况下可以为单个 MB 传输多达 32 个运动矢量。另外还支持 16(8、8(16、8(8、8(4 和 4(8 的块大小。降低块大小可以提高运动细节的处理能力,因而提高主观质量感受,包括消除较大的块化失真。

        四分之一像素运动估计:通过允许半像素和四分之一像素运动矢量分辨率可以改善运动补偿。

        多参考帧预测:16 个不同的参考帧可以用于帧间编码,从而可以改善视频质量的主观感受并提高编码效率。提供多个参考帧还有助于提高 H.264 位流的容错能力。值得注意的是,这种特性会增加编码器与解码器的内存需求,因为必须在内存中保存多个参考帧。

        自适应环路去块滤波器:H.264 采用一种自适应解块滤波器,它会在预测回路内

        对水平和垂直区块边缘进行处理,用于消除块预测误差造成的失真。这种滤波通常是基于 4(4 块边界为运算基础,其中边界各边的 3 个像素可通过 4 级滤波器进行更新。

        整数变换:采用 DCT 的早期标准必须为逆变换的固点实施来定义舍入误差的容差范围。编码器与解码器之间的 IDCT 精度失配造成的漂移是质量损失的根源。H.264 利用整数 4(4 空域变换解决了这一问题——这种变换是 DCT 的近似值。4(4 的小区块还有助于减少阻塞与振铃失真。

        量化与变换系数扫描:变换系数通过标量量化方式得到量化,不产生加大的死区。与之前的标准类似,每个 MB 都可选择不同的量化步长,不过步长以大约 12.5% 的复合速率增加,而不是固定递增。同时,更精细的量化步长还可以用于色度成分,尤其是在粗劣量化光度系数的情况下。

        熵编码:与根据所涉及的数据类型提供多个静态 VLC 表的先前标准不同,H.264 针对变换系数采用上下文自适应 VLC,同时针对所有其他符号采用统一的 VLC (Universal VLC) 方法。主类还支持新的上下文自适应二进制算术编码器 (CABAC)。CAVLC 优于以前的 VLC 实施,不过成本却比VLC高。

        CABAC利用编码器和译码器的机率模型来处理所有语法元素 (syntax elements),包括:变换系数和运动矢量。为了提高算术编码的编码效率,基本概率模型通过一种称为上下文建模的方法对视频帧内不断变换的统计进行适应。上下文建模分析提供编码符号的条件概率估计值。只要利用适当的上下文模型,就能根据待编码符号周围的已编码符号,在不同的概率模型间进行切换,进而充份利用符号间的冗余性。每个语法元素都可以保持不同的模型(例如,运动矢量和变换系数具有不同的模型)。相较于 VLC 熵编码方法 (UVLC/CAVLC),CABAC 能多节省 10 % bit速率。

加权预测:它利用前向和后向预测的加权总和建立对双向内插宏模块的预测,这样可以提高场景变化时的编码效率,尤其是在衰落情况下。

保真度范围扩展

        2004 年 7 月,H.264 标准增加了称为保真度范围扩展 (FRExt) [11]的新修订。这次扩展在H.264 中添加了一整套工具,而且允许采用附加的色域、视频格式和位深度。另外还增加了对无损帧间编码与立体显示视频的支持。FRExt 修订版在 H.264 中引入了 4 种新类,即:

* High Profile (HP):用于标准 4:2:0 色度采样,每分量 8 位彩色。此类引入了新的工具 —— 随后详述。

* High 10 Profile (Hi10P):用于更高清晰度视频显示的标准 4:2:0 色度采样,10 位彩色。

* High 4:2:2 10 bit color profile (H422P):用于源编辑功能,如:( 混合。

* High 4:4:4 12 bit color profile (H444P):最高品质的源编辑与色彩保真度,支持视频区域的无损编码以及与新的整数色域变换(从 RGB 到 YUV 及黑色)。

        在新的应用领域中,H.264 HP 对广播与 DVD 尤为有利。某些试验显示出 H.264 HP 的性能比MPEG2 提高了 3 倍。下面介绍 H.264 HP 中引入的主要附加工具。

        自适应残差块大小与整数 8(8 变换:用于变换编码的残差块可以在 8(8 与 4(4 之间切换。引入了用于 8(8 块的新 16 位整数变换。较小的块仍然可以采用以前的 4(4 变换。

        8(8 亮度帧内预测:增加了 8 种模式,除之前的 16(16 和 4(4 块以外,使亮度内部宏模块还能够对 8(8 块进行帧内预测。

        量化加权:用于量化 8(8 变换系数的新量化加权矩阵。

        单色:支持黑/白视频编码。

8. Windows Media Video 9 / VC-1

        Windows Media 是提供网上音乐与视频预订服务与视频流的主要格式。微软公司于 2002 年推出了 Windows Media Video 9 系列编解码器,实现了视频压缩效率的显著提高。WMV9 另外还作为 VC-1 在 SMPTE 中实现了标准化[12]。

        与 H.264 类似,它包含许多高级编码工具,不过种类有所不同。除了支持半象素双线性插值之外,WMV9 的 ME 还允许 1/4 象素双立方插值(采用 4 抽头近似双立方滤波器)。另外它还包含与 H.264 类似的环内去块滤波器,不过滤波器和决策细节不同。其他部分功能包括:

        多个 VLC 表:WMV9 主类包含多套针对不同类型内容进行优化的 VLC 表。这些表可以在帧级切换,以适应输入视频的特征。

        DCT/IDCT 变换切换:WMV9 支持多种 DCT 块大小,包括:8(8、8(4、4(8 和 4(4。其采用专用的 16 位整数变换与逆变换。

        量化:采用一般基于步长的量化和死区量化。死区量化可以在低比特率时实现显著节省。

        另一个有趣的功能是能够在涉及衰落的情况下采用明确的衰落补偿。它可以提高这些情况下运动补偿的质量。

        WMV9/VC-1 在性能方面与 MPEG-2 和 MPEG-4 简化类相比有显著提高,相对于 H.264,其知觉质量感受也非常优秀[13]。不过,在提供相似压缩效率情况下,WMV9/VC-1 与 H.264 主类相比复杂性要求较低。WMV9 广泛应用于个人电脑环境,而且已经成为互联网消费设备中的重要技术。WMV9/VC-1 在好莱坞和独立制片业正日益受宠,多部电影的发行开始采用WMV9/VC-1 进行编码,以实现 PC DVD 上的高清晰播放。此外,WMV9 已经作为新兴的 HD-DVD 格式压缩选项实现了标准化。

9. AVS

        2002 年,中国信息产业部成立的音视频技术标准 (AVS) 工作组宣布准备针对移动多媒体、广播、DVD等应用编写一份国家标准。该视频标准称为 AVS [14],由两个相关部分组成 - 针对移动视频应用的 AVS-M 和针对广播与 DVD 的 AVS1.0。AVS 标准与 H.264 相似。

        AVS1.0 同时支持隔行和逐行扫描模式。AVS 中 P 帧可以利用 2 帧的前向参考帧,同时允许 B 帧采用前后各一个帧。在隔行模式下,4 个场可以用作参考。可以仅在帧级执行隔行模式中的帧/场编码,这一点与 H.264 不同,其中允许此选项的 MB 级自适应。AVS 具有与 H.264相似的环路滤波器,可以在帧级关闭。另外,B 帧还无需环路滤波器。帧内预测是以 8(8 块为单位进行。MC 允许对亮度块进行 1/4 象素补偿。ME 的块大小可以是 16(16、16(8、8(16 或 8(8。变换方式是基于 16 位的 8(8 整数变换(与 WMV9 相似)。VLC 是基于上下文自适应 2D 运行/级别编码。采用 4 个不同的 Exp-Golomb 编码。用于每个已量化系数的编码自适应到相同 8(8 块中前面的符号。由于 Exp-Golomb 表是参数化的表,因此表较小。用于逐行视频序列的 AVS 1.0 的视频质量在相同比特率时稍逊于 H.264 主类。

        AVS-M 主要针对移动视频应用,与 H.264 基本规范存在交叉。它仅支持逐行视频、I 与 P 帧,不支持 B 帧。主要 AVS-M 编码工具包括基于 4(4 块的帧内预测、1/4?象素运动补偿、整数变换与量化、上下文自适应 VLC 以及高度简化的环路滤波器。与 H.264 基本规范相似,AVS-M 中的运动矢量块大小降至 4(4,因此 MB 可拥有多达 16 个运动矢量。采用多帧预测,但仅支持 2 个参考帧。此外,AVS-M 中还定义了 H.264 HRD/SEI 消息的子集。AVS-M的编码频率约为 0.3dB,在相同设置下稍逊于 H.264 基本规范,而解码器的复杂性却降低了大约20%。

顶一下
(0)
0%
踩一下
(0)
0%
精彩推荐