



AV1定义5种递归帧内预测模式,用于挖掘图像块内部区域像素之间的相关性。AV1使用二维的一阶马尔可夫模型来刻画这些像素之间的相关性。假设 X ( x , y )表示位于( x , y )处的像素值,其预测值可以表示如下:
其中
是可用的上方和左侧像素位置的重构值或预测值。图4-14所示为递归帧内预测模式中预测像素位置与其参考像素位置之间的空域关系。图4-14中的黑色圆点标记位置是待预测像素位置,带有箭头的直线所指向的位置是其预测过程要使用的参考像素位置。在图4-14中,左上角的黑色圆点标记位置使用的是上方和左侧参考像素,它们是重构像素值;但是,右下方的黑色圆点标记位置所使用的参考像素是对应位置的预测像素值,而非重构像素值。
为了提高硬件吞吐量,AV1不是递归地预测每个像素,而是以4×2像素块为单位来进行预测。具体来讲,当前变换块首先被分割成多个4×2像素块。对于每个4×2像素块,其内部的每个像素使用来自当前4×2像素块的顶部和左侧像素块的7个相邻像素预测值作为输入,按照下式来计算预测值:
其中( i , j )表示待预测像素在4×2像素块内部的位置坐标,0≤ i <4,0≤ j <2;( x , y )表示当前4×2像素块的左上角像素在变换块内部的位置坐标。这种预测模式避免了4×2像素块内的像素间依赖关系,从而使硬件解码器能够并行处理预测。
图4-14 递归帧内预测模式中预测像素位置与其参考像素位置之间的空域关系
递归帧内预测模式中的权重系数集合
,
k∈
{0,1,2,…,6}便形成了基于空域相关性的线性预测器。AV1定义了5种递归帧内预测模式。对于每个递归帧内预测模式,AV1定义了8种权重系数。在每个4×2像素块内,位于不同坐标位置的像素使用不同种类的权重系数
。AV1标准文档使用数组Intra_Filter_Taps[5][8][7]来存储递归帧内预测模式中的权重系数集合
。
为了传输这5种递归帧内预测模式,AV1定义了语法元素filter_intra_mode。filter_intra_mode的取值及其对应含义如表4-4所示。除了filter_intra_mode之外,AV1还定义了一个语法元素use_filter_intra来控制是否启用递归帧内预测方法。use_filter_intra等于1表示启用递归帧内预测方法。此时,编码器才需要传输filter_intra_mode以指明使用了表4-4所示的哪个递归帧内预测模式。
表4-4 AV 1中的递归帧内预测模式
给定语法元素filter_intra_mode的取值,以及待预测像素在4×2像素块的内部位置坐标(
i
,
j
),该像素的权重系数
等于Intra_Filter_Taps[filter_intra_mode][(j << 2)+i][k]。
递归帧内预测只应用于亮度分量的帧内预测过程。色度分量的帧内预测并不使用递归帧内预测。