转自http://www.avs.org.cn/avs2/technology.asp
AVS2技术AVS2采用了混合编码框架,整个编码过程包括帧内预测、帧间预测、变换量化、反量化反变换、环路滤波和熵编码等模块。具有如下技术特征:
1.灵活的编码结构划分 为了满足高清和超高清分辨率视频对压缩效率的要求,AVS2采用了基于四叉树的块划分结构,包括编码单元(Coding Unit,CU)、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU)。一幅图像被分割成固定大小的最大编码单元(LCU),最大编码单元按照四叉树的方式迭代划分为一系列的CU。每个CU包含一个亮度编码块和两个对应的色度编码块(下文中块单元的大小指亮度编码块)。与传统的宏块相比,基于四叉树的划分结构更加灵活,CU大小从8×8扩展到64×64。
预测单元PU规定了CU的所有预测模式,是进行预测的基本单元,包括帧内和帧间预测。PU的最大尺寸不能超过当前所属CU。在AVS1正方形帧内预测块的基础上,增加了非正方形的帧内预测块划分,同时,帧间预测也在对称预测块划分的基础上,增加了4种非对称的划分方式。
除了CU和PU,AVS2还定义了用于预测残差变换和量化的变换单元TU。TU是变换和量化的基本单元,与PU一样,定义在CU之中。其尺寸的选择与对应的PU形状有关,如果当前CU被划分为非方形PU,那么对应的TU将使用非方形的划分;否则,使用方形的划分类型。需要注意的是TU的尺寸可以大于PU的尺寸,但不能超过所在的CU尺寸。 2.帧内预测编码 相比于AVS1和H.264/AVC,AVS2在亮度块的帧内预测编码上设计了33种模式,包括DC预测模式、Plane预测模式、Bilinear预测模式和30种角度预测模式。在色度块上有5种模式:DC模式、水平预测模式、垂直预测模式、双线性插值模式以及新增的亮度导出(Derived mode, DM)模式。
3.帧间预测编码 AVS2的帧间预测技术在参考帧管理、帧间预测模式和插值方面进行了加强和创新。 3.1 参考帧管理 与AVS1相比,AVS2将候选参考帧的最大数量增加到了4个,以适应多层次的参考帧管理,同时也充分利用了缓存器的冗余空间。由于参考候选帧数量的限制,选出最相近的候选参考帧就显得至关重要。为了满足多种参考帧管理方式的要求,AVS2采用了一种多层次的参考帧管理模式。在这个模式中,根据帧与帧之间的参考关系和每个编码图像组(GOP)中的帧被分成了多个层次。图5展示了三种典型的参考关系和分类,每一层有独特的处理方式,如图6所示。Layer 1和layer 2的区别在于输出方式上。
3.2帧间预测模式 在AVS1的I,P,B三种图像类型的基础上,根据应用需求,AVS2增加了前向多假设预测F图像。针对视频监控、情景剧等特定的应用,AVS2设计了场景帧(G图像和GB图像)和参考场景帧S帧。 对于B帧,除了传统的前向、后向、双向和skip/direct模式,新增了对称模式。在对称模式中,仅需对前向运动矢量进行编码,后向运动矢量通过前向运动矢量推导得到。为了充分发挥B帧skip/direct模式的性能,AVS2在保留原有B帧skip/direct模式的前提下,还采用了多方向skip/direct模式:双向skip/direct模式、对称skip/direct模式、后向skip/direct模式和前向skip/direct模式。对于这四种特殊模式,根据当前块的预测模式寻找相邻块中相同的预测模式块,将最先找到的具有相同预测模式的相邻块的运动矢量作为当前块的运动矢量。 对于F帧,编码块可以参考前向两个参考块,相当于P帧的双假设预测。AVS2将双假设预测分为两类,分别是时域双假设和空域双假设。时域双假设的当前编码块利用预测块加权平均作为当前块的预测值,但运动矢量差MVD和参考图像索引都只有一个,另外一个MVD和参考图像索引根据时域上的距离按线性缩放推导出来。而空域双假设预测也叫方向性多假设预测(Directional multi-hypothesis prediction,DMH),通过融合初始预测点周围的两个预测点得到,而且初始预测点位于这两个预测点的连线上。除了初始预测点外,一共有8个预测点,只将和初始预测点连成同一条直线的两个预测点进行融合。除了四种不同的方向外,还根据距离进行调整,对1/2像素距离和1/4像素距离位置的4种模式分别计算,在加上初始预测点,共9种模式进行比较,选择出最佳预测模式。 场景帧是AVS2基于背景建模的监控视频编码方法提出来的。未打开监控工具时,I帧只给下个随机访问点之前的图像做参考。打开监控工具后,AVS2会用视频中的某一帧做场景图像G帧,G帧对于后面的图像可以作为长期参考。此外,AVS2还可以用视频中的某几帧生成场景图像GB帧,GB帧也可以用作长期参考。
3.3 插值滤波 为了简化运动补偿,AVS2采用了8抽头基于DCT变换的插值滤波器,只需要进行一次滤波,而且支持生成比1/4像素更高的运动矢量精度。 4. 变换 AVS2中的变换编码主要使用整数DCT变换。对于4×4、8×8、16×16、32x32大小的变换块直接进行整数DCT变换。而对于64×64大小的变换块则采用一种逻辑变换LOT,先进行小波变换,再进行整数DCT变换。在DCT变换完成后,AVS2对低频系数的4×4块再进行二次4×4变换,从而进一步降低系数之间的相关性,是能量更集中。
5.熵编码 AVS2的熵编码首先将变换系数分为4×4大小的系数组(Coefficient Group,CG),然后根据系数组进行编码和zig-zag扫描。系数编码先编码含有最后一个非零系数的CG位置,接着编码每一个CG,直到CG系数都编码完为止,这样可以使得0系数在编码过程中更集中。AVS2中仍使用基于上下文的二元算术编码和基于上下文的二维变长编码。 6.环路滤波 AVS2的环路滤波模块包含三个部分:去块滤波、自适应样点偏移和样本补偿滤波。去块滤波的滤波块尺寸为8×8,首先对垂直边界进行滤波,然后是水平边界。对每条边界根据滤波强度不同选择不同的滤波方式。在去块滤波之后,采用自适应样本偏移补偿进一步减小失真。AVS2在去块滤波和样本偏移补偿之后又添加了自适应滤波器,一种7×7十字加3×3方形中心对称的维纳滤波,利用原始无失真图像和编码重构图像计算最小二乘滤波器系数,并对解码重构图像进行滤波,降低解码图像中的压缩失真,提升参考图像质量。 7.编码性能 在数字电视广播(逐行)、实时通信和数字电影或静态图像领域,AVS2和HEVC的编码性能相似,但在数字电视广播(隔行)和视频监控的应用方面,AVS2的编码性能要明显高于HEVC。
国家广播电影电视总局广播电视计量检测中心的检测报告(检测编号:20491501212989)显示:AVS2和HEVC相对于源图像质量下降分别为2.9%和3.0%。对于超高清4K视频,在相同码率条件下,AVS2比HEVC的平均主观质量略优。
AVS2实时编码器uAVS2与x265、x264单线程编码速度的对比结果如下:
AVS2实时编码器uAVS2与x265、x264多线程编码速度的对比结果如下:
类似preset和同一码率下,uAVS2与x265、x264的主观质量对比结果如下:
|