|
自适应环路去块滤波器: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]。 |