作 者:本网综合
(3)多参考帧预测
多参考帧预测使得当前块可以从前面几帧图像中寻找更好的匹配,因此能够提高编码效率。但一般来讲2~3个参考帧基本上能达到最高的性能,更多的参考图像对性能提升影响甚微(如图3所示),复杂度却会成倍增加。H.264最多可采用16个参考帧,并且为了支持灵活的参考图像引用,采用了复杂的参考图像缓冲区管理机制,实现较繁琐。而AVS视频标准限定最多采用两个参考帧,其优点在于:在没有增大缓冲区的条件下提高了编码效率,因为B帧本身也需要两个参考图像的缓冲区。
(4)1/4像素插值
MPEG-2标准采用1/2像素精度运动补偿,相比于整像素精度提高约1.5 dB编码效率;H.264采用1/4像素精度补偿,比1/2精度提高约0.6 dB的编码效率,因此运动矢量的精度是提高预测准确度的重要手段之一。影响高精度运动补偿性能的一个核心技术是插值滤波器的选择。AVC/H.264亚像素插值半像素位置采用6拍滤波,这个方案对低分辨率图像效果显著。由于高清视频的特性,AVS视频标准对1/2像素位置插值采用4拍滤波器[3],其效果与6拍滤波器相同,优点是大大降低了访问存取带宽,是一个对硬件实现非常有价值的特性。
(5)B帧宏块编码模式
在AVC/H.264标准中,时域直接模式与空域直接模式是相互独立的。而AVS视频标准采用了更加高效的空域/时域相结合的直接模式,并在此基础上使用了运动矢量舍入控制技术[4], AVS标准B帧的性能比H.264中B帧性能有所提高。此外,AVS标准还提出了对称模式[5],即只编码前向运动矢量,后向运动矢量通过前向运动矢量导出,从而实现双向预测。此方案与编码双向运动矢量效率相当。
(6)整数变换与量化
AVS视频标准采用整数变换代替了传统的浮点离散余弦变换(DCT)。整数变换具有复杂度低、完全匹配等优点。由于AVS1-P2中最小块预测是基于8×8块大小的,因此采用了8×8整数DCT变换矩阵。8×8变换比4×4变换的去相关性能强,在变换模块,AVS标准编码效率相比H.264提高2%(约0.1 dB)。同时与H.264中的变换相比,AVS标准中的变换有自身的优点,即由于变换矩阵每行的模比较接近,可以将变换矩阵的归一化在编码端完成,从而节省解码反变换所需的缩放表,降低了解码器的复杂度[6]。
量化是编码过程中唯一带来损失的模块。以前典型的量化机制有两种,一种是H.263中的量化方法,一种是MPEG-2中的加权矩阵量化形式。与以前的量化方法相比,AVS标准中的量化与变换归一化相结合,同时可以通过乘法和移位来实现,对于量化步长的设计,量化参数每增加8,相应的量化步长扩大1倍。由于AVS标准中变换矩阵每行的模比较接近,变换矩阵的归一化可以在编码端完成,从而解码端反量化表不再与变换系数位置相关。
(7)熵编码
熵编码是视频编码器的重要组成部分,用于去除数据的统计冗余。AVS视频标准采用基于上下文的自适应变长编码器[7]对变换量化后预测残差进行编码。其具体策略为,系数经过“之”字形扫描后,形成多个(Run,Level)数对,其中Run表示非零系数前连续值为零的系数个数,Level表示一个非零系数;之后采用多个变长码表对这些数对进行编码,编码过程中进行码表的自适应切换来匹配数对的局部概率分布,从而提高编码效率。编码顺序为逆向扫描顺序,这样易于局部概率分布变化的识别。变长码采用指数哥伦布码,这样可降低多码表的存储空间。此方法与H.264用于编码4×4变换系数的基于上下文的自适应变长编码器(CAVLC)具有相当的编码效率。相比于H.264的算术编码方案,AVS的熵编码方法编码效率低0.5 dB,但算术编码器计算复杂,硬件实现代价很高。