论文部分内容阅读
[摘 要]为了推动中国视频技术的发展,我国于2002年6月成立了“数字音视频编解码技术标准工作组”,联合国内从事数字音视频解码技术研发的科研机构和企业,制定具有我国自主知识产权的数字音视频编解码标准——AVS(Audio Video coding Standard)标准。AVS标准具有性能高、复杂度低等优点,具有广阔的发展前景。
[关键词]AVS 视频编码 技术
中图分类号:TU857 文献标识码:A 文章编号:1009-914X(2016)28-0136-01
AVS视频编码器采用类似H.264的框架结构,性能与H.264相当,但实现复杂度却比H.264低。基本单元仍然是变换、量化、熵编码,重要的改变体现在每个功能的细节上。AVS视频编码器结构如下图。
编码器包含两个方向的码流,前向码流(从左到右)是编码过程,后向码流(从右到左)是解码重构过程。Fn是编码器输入的当前帧,编码器中的图像帧是按宏块为单位处理的。
AVS之所以获得高效的视频压缩率,是因为采用了一系列关键技术来编码,包括变换量化、帧内预测、1/4精度的帧间预测、熵编码、环路滤波。
1、变换量化
AVS的变换和量化技术源自H.264,因为H.264是第一个采用整数变换替代DCT的国际标准。两者最大的不同在于变换尺寸,H.264选择4x4的块变换,而AVS选择以往标准广泛采用的8x8的块变换。之所以选择8x8变换尺度,一是为了避开H.264的专利问题,另外4x4变换的缺点是变换块的尺寸小,其去相关性不足。虽然H.264采用对宏块的4x4变换后的直流系数再次作哈达码变换的方法进一步去相关性,性能仍然不如8x8变换。而8x8整数变换与量化可以在16位处理器上无失配地实现,从而解决了H.264之前所有国际视频压缩编码标准中采用的8XSDCT变换存在适配的固有问题。且己有实验表明8x8变换在高清晰电视这类应用中的性能优于4x4变换。
在量化过程中,AVS采用64级量化,可以完全适应不同的应用和业务对码率和质量的要求。所以目前AVS采用的8x8整数变换与量化方案,既适合于16位DSP或其他软件方式的快速实现,也适合于ASIC的优化实现。
2、帧内预测
AVS利用帧内预测去除相邻宏块的空间冗余,预测时使用当前块的左边块和上边块的像素作为参考像素。AVS帧内预测以8x8亮度块和色度块为单位,分别定义了5种8x8亮度块预测模式和4种8xs色度块预测模式。如表1和表2所示。
在H.264中,处理亮度分量时,对包含空间细节信息较多的宏块采用4x4预测模式,根据预测方向和方式的不同,又分9种预测模式,而对空间变化不大的区域采用16xl6的预测模式,又进一步分为4种预测模式;处理色度分量时,一致采用8X8的预测模式,按预测方向和方式的不同,进一步分为4种模式。
3、帧间预测
由于视频都很流畅,因此,序列的前后两帧几乎没有什么变化,表现出了极高的时间相关性。帧间预测通过运动估计搜索到当前块的匹配块,再进行运动补偿,最后得到当前块的预测块,是整个混合编码技术框架中最重要的部分之一。AVS视频标准支持P帧和B帧两种帧间预测图像。P帧至多采用2个前向参考帧,B帧采用前后各一个参考帧。与H.264的多参考帧相比,AVS在不增加存储、数据带宽等资源的前提下,提高了编码效率。
AVS标准帧间预测中宏块的划分有4种类型,包括16X16,16X8,8X16和8X8,去除了H.264中的8x4,4xs,4x4的块划分模式。越小的块划分模式是可以更精确的表现运动细节,但同时也增加了运动矢量和块模式传输的开销"而且在测试中显示,对于高分辨率视频,AVS选用的块模式已经足以精细地表达物体的运动,同时较小的运动模式大大减少了运动矢量等带來的存储量,从而提高了压缩效率,降低了编解码实现的复杂度。
4、环路滤波
基于块的视频编码很容易造成块效应,即常说的马赛克效应。为了改善重建图像的主观质量,AVS视频标准定义了自适应环路滤波器来消除方块效应,同时可提高编码效率。环路滤波对亮度块和色度块的边界进行。滤波时首先对块的水平边界滤波,然后再对块的垂直边界滤波。滤波强度由宏块编码模式、量化参数、运动矢量等决定。H.264的环路滤波器滤波时使用边界左右各4个像素,而AVS视频标准只使用左右各3个像素,实现复杂度低于H.264的环路滤波器。AVS视频标准使用的环路滤波器也更有利于DSP的并行实现。
自适应环路滤波,即根据块边界两侧的块类型先确定块边界强度(Boundarystrength, BS)值,然后对不同的BS值采取不同的滤波策略。帧内块滤波最强,非连续运动补偿的帧间块滤波较弱,而连续性较好的块之间不滤波。因此,BS可取3个不同值。若边界两边的两个块中有一个块是帧内编码的,BS等于2;若两个相邻块的参考帧相同并且两个运动矢量的差值小于一个整像素,BS等于O;否则,BS等于1。BS等于O不滤波,BS等于1和2分别采取不同的滤波强度进行一定程度的滤波。
由于AVS变换和最小预测块大小都是8x8,因此环路滤波的块大小也是8x8。与H.264的4X4相比,AVS块边界数量大大减少。另外,BS值和改变的像素值的数量都有所减少。
5、熵編码
H.264采用两种形式的熵编码。一种是UVLC结合的CAVLC的变长编码(VLC),另一种是称为CABAC的算术编码。VLC是比较简单的熵编码方法,编码时量化后的变换系数采用上下文自适应VLC(Context-AdaptiveVLC)进行编码,而其他待编码的符号采用统一的VLC(Universal VLC)进行编码。CABAC相对于VLC有更高的压缩率,但计算复杂度也比VLC要高,在基本框架中不采用。
AVS视频标准使用k阶(k=0-3)指数哥伦布码。在AVS熵编码过程中,所有的语法元素和残差数据都是以指数哥伦布码的形式映射成二进制比特流。采用指数哥伦布码的优势在于:一方面,它的硬件复杂度比较低,可以根据闭合公式解析码字,无需查表;另一方面,它可以根据编码元素的概率分布灵活地确定以k阶指数哥伦布码编码,如果k选得恰当,则编码效率可以逼近信息熵。
参考文献:
[1]连元冠,石玥,夏军,尹涵春. AVS和H.264编解码性能的比较[J].电视技术.2007(03)
[2]虞露,胡倩,易峰.AVS视频的技术特征[J].电视技术.2005(07)
[关键词]AVS 视频编码 技术
中图分类号:TU857 文献标识码:A 文章编号:1009-914X(2016)28-0136-01
AVS视频编码器采用类似H.264的框架结构,性能与H.264相当,但实现复杂度却比H.264低。基本单元仍然是变换、量化、熵编码,重要的改变体现在每个功能的细节上。AVS视频编码器结构如下图。
编码器包含两个方向的码流,前向码流(从左到右)是编码过程,后向码流(从右到左)是解码重构过程。Fn是编码器输入的当前帧,编码器中的图像帧是按宏块为单位处理的。
AVS之所以获得高效的视频压缩率,是因为采用了一系列关键技术来编码,包括变换量化、帧内预测、1/4精度的帧间预测、熵编码、环路滤波。
1、变换量化
AVS的变换和量化技术源自H.264,因为H.264是第一个采用整数变换替代DCT的国际标准。两者最大的不同在于变换尺寸,H.264选择4x4的块变换,而AVS选择以往标准广泛采用的8x8的块变换。之所以选择8x8变换尺度,一是为了避开H.264的专利问题,另外4x4变换的缺点是变换块的尺寸小,其去相关性不足。虽然H.264采用对宏块的4x4变换后的直流系数再次作哈达码变换的方法进一步去相关性,性能仍然不如8x8变换。而8x8整数变换与量化可以在16位处理器上无失配地实现,从而解决了H.264之前所有国际视频压缩编码标准中采用的8XSDCT变换存在适配的固有问题。且己有实验表明8x8变换在高清晰电视这类应用中的性能优于4x4变换。
在量化过程中,AVS采用64级量化,可以完全适应不同的应用和业务对码率和质量的要求。所以目前AVS采用的8x8整数变换与量化方案,既适合于16位DSP或其他软件方式的快速实现,也适合于ASIC的优化实现。
2、帧内预测
AVS利用帧内预测去除相邻宏块的空间冗余,预测时使用当前块的左边块和上边块的像素作为参考像素。AVS帧内预测以8x8亮度块和色度块为单位,分别定义了5种8x8亮度块预测模式和4种8xs色度块预测模式。如表1和表2所示。
在H.264中,处理亮度分量时,对包含空间细节信息较多的宏块采用4x4预测模式,根据预测方向和方式的不同,又分9种预测模式,而对空间变化不大的区域采用16xl6的预测模式,又进一步分为4种预测模式;处理色度分量时,一致采用8X8的预测模式,按预测方向和方式的不同,进一步分为4种模式。
3、帧间预测
由于视频都很流畅,因此,序列的前后两帧几乎没有什么变化,表现出了极高的时间相关性。帧间预测通过运动估计搜索到当前块的匹配块,再进行运动补偿,最后得到当前块的预测块,是整个混合编码技术框架中最重要的部分之一。AVS视频标准支持P帧和B帧两种帧间预测图像。P帧至多采用2个前向参考帧,B帧采用前后各一个参考帧。与H.264的多参考帧相比,AVS在不增加存储、数据带宽等资源的前提下,提高了编码效率。
AVS标准帧间预测中宏块的划分有4种类型,包括16X16,16X8,8X16和8X8,去除了H.264中的8x4,4xs,4x4的块划分模式。越小的块划分模式是可以更精确的表现运动细节,但同时也增加了运动矢量和块模式传输的开销"而且在测试中显示,对于高分辨率视频,AVS选用的块模式已经足以精细地表达物体的运动,同时较小的运动模式大大减少了运动矢量等带來的存储量,从而提高了压缩效率,降低了编解码实现的复杂度。
4、环路滤波
基于块的视频编码很容易造成块效应,即常说的马赛克效应。为了改善重建图像的主观质量,AVS视频标准定义了自适应环路滤波器来消除方块效应,同时可提高编码效率。环路滤波对亮度块和色度块的边界进行。滤波时首先对块的水平边界滤波,然后再对块的垂直边界滤波。滤波强度由宏块编码模式、量化参数、运动矢量等决定。H.264的环路滤波器滤波时使用边界左右各4个像素,而AVS视频标准只使用左右各3个像素,实现复杂度低于H.264的环路滤波器。AVS视频标准使用的环路滤波器也更有利于DSP的并行实现。
自适应环路滤波,即根据块边界两侧的块类型先确定块边界强度(Boundarystrength, BS)值,然后对不同的BS值采取不同的滤波策略。帧内块滤波最强,非连续运动补偿的帧间块滤波较弱,而连续性较好的块之间不滤波。因此,BS可取3个不同值。若边界两边的两个块中有一个块是帧内编码的,BS等于2;若两个相邻块的参考帧相同并且两个运动矢量的差值小于一个整像素,BS等于O;否则,BS等于1。BS等于O不滤波,BS等于1和2分别采取不同的滤波强度进行一定程度的滤波。
由于AVS变换和最小预测块大小都是8x8,因此环路滤波的块大小也是8x8。与H.264的4X4相比,AVS块边界数量大大减少。另外,BS值和改变的像素值的数量都有所减少。
5、熵編码
H.264采用两种形式的熵编码。一种是UVLC结合的CAVLC的变长编码(VLC),另一种是称为CABAC的算术编码。VLC是比较简单的熵编码方法,编码时量化后的变换系数采用上下文自适应VLC(Context-AdaptiveVLC)进行编码,而其他待编码的符号采用统一的VLC(Universal VLC)进行编码。CABAC相对于VLC有更高的压缩率,但计算复杂度也比VLC要高,在基本框架中不采用。
AVS视频标准使用k阶(k=0-3)指数哥伦布码。在AVS熵编码过程中,所有的语法元素和残差数据都是以指数哥伦布码的形式映射成二进制比特流。采用指数哥伦布码的优势在于:一方面,它的硬件复杂度比较低,可以根据闭合公式解析码字,无需查表;另一方面,它可以根据编码元素的概率分布灵活地确定以k阶指数哥伦布码编码,如果k选得恰当,则编码效率可以逼近信息熵。
参考文献:
[1]连元冠,石玥,夏军,尹涵春. AVS和H.264编解码性能的比较[J].电视技术.2007(03)
[2]虞露,胡倩,易峰.AVS视频的技术特征[J].电视技术.2005(07)