H.264与AVS视频标准核心技术比较
时间:09-11
来源:中国多媒体通信
点击:
视频编码技术在过去几年最重要的发展之一是由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 实现的改进创造了新的市场机遇
H.264/AVC在压缩效率方面取得了巨大突破,一般情况下达到MPEG-2及MPEG-4简化类压缩效率的大约2倍。在JVT进行的正式测试中,H.264在85个测试案例中有78%的案例实现1.5倍以上的编码效率提高,77%的案例中达到2倍以上,部分案例甚至高达4倍。H.264 实现的改进创造了新的市场机遇,如:600Kbps的VHS品质视频可以通过ADSL线路实现视频点播;高清晰电影无需新的激光头即可适应普通 DVD。
H.264标准化时支持三个类别:基本类、主类及扩展类。后来一项称为高保真范围扩展 (FRExt)的修订引入了称为高级类的4个附加类。在初期主要是基本类和主类引起了大家的兴趣。基本类降低了计算及系统内存需求,而且针对低时延进行了优化。由于B帧的内在时延以及CABAC的计算复杂性,因此它不包括这两者。基本类非常适合可视电话应用以及其他需要低成本实时编码的应用。
主类提供的压缩效率最高,但其要求的处理能力也比基本类高许多,因此使其难以用于低成本实时编码和低时延应用。广播与内容存储应用对主类最感兴趣,它们是为了尽可能以最低的比特率获得最高的视频质量。
尽管H.264采用与旧标准相同的主要编码功能,不过它还具有许多与旧标准不同的新功能,它们一起实现了编码效率的提高。其主要差别,概述如下:
帧内预测与编码: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 (UniversalVLC)方法。主类还支持新的上下文自适应二进制算术编码器 (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变换系数的新量化加权矩阵。
单色:支持黑/白视频编码。
H.264 实现的改进创造了新的市场机遇
H.264/AVC在压缩效率方面取得了巨大突破,一般情况下达到MPEG-2及MPEG-4简化类压缩效率的大约2倍。在JVT进行的正式测试中,H.264在85个测试案例中有78%的案例实现1.5倍以上的编码效率提高,77%的案例中达到2倍以上,部分案例甚至高达4倍。H.264 实现的改进创造了新的市场机遇,如:600Kbps的VHS品质视频可以通过ADSL线路实现视频点播;高清晰电影无需新的激光头即可适应普通 DVD。
H.264标准化时支持三个类别:基本类、主类及扩展类。后来一项称为高保真范围扩展 (FRExt)的修订引入了称为高级类的4个附加类。在初期主要是基本类和主类引起了大家的兴趣。基本类降低了计算及系统内存需求,而且针对低时延进行了优化。由于B帧的内在时延以及CABAC的计算复杂性,因此它不包括这两者。基本类非常适合可视电话应用以及其他需要低成本实时编码的应用。
主类提供的压缩效率最高,但其要求的处理能力也比基本类高许多,因此使其难以用于低成本实时编码和低时延应用。广播与内容存储应用对主类最感兴趣,它们是为了尽可能以最低的比特率获得最高的视频质量。
尽管H.264采用与旧标准相同的主要编码功能,不过它还具有许多与旧标准不同的新功能,它们一起实现了编码效率的提高。其主要差别,概述如下:
帧内预测与编码: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 (UniversalVLC)方法。主类还支持新的上下文自适应二进制算术编码器 (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变换系数的新量化加权矩阵。
单色:支持黑/白视频编码。
- DVI与HDMI:视频传输的数字化革命(08-15)
- 大规模IPTV点播系统解决方案(08-18)
- 数字音视频编解码技术标准AVS(08-19)
- 嵌入式设备的静止图像编码(08-18)
- 基于Blackfin533的H.264编码(08-18)
- 全球手机电视三大技术标准对比分析(08-19)