对于帧内预测模式编码块,亮度分量的预测模式和色度分量的预测模式在比特流中分别发出信号。亮度预测模式是基于相邻左侧和上侧两个编码块预测上下文的概率模型进行熵编码的。色度预测模式的熵编码取决于色度预测模式的状态。帧内预测以变换块为单位,并使用先前解码的边界像素作为参考像素。
一、Directional Intraprediction
AV1扩展了VP9中的定向帧内预测模式,以支持更高的粒度。VP9中原有的8个方向模式作为 AV1 的基础角度,并加入补充信号对预测角度进行微调:包括顺时针和逆时针的三个偏移角度(以3度为单位调整)如下图所示。
当定向预测指向亚像素位置时,使用双抽头双线性滤波器对参考像素进行插值。对于小于8 × 8的编码块大小,只允许使用8个基本方向模式。
二、Nondirectional Smooth Intraprediction
VP9具有两种非定向平滑内预测模式:dc_PRED和TM_PRED。AV1 增加了三种新的平滑预测模式,即 SMOOTH_V_PRED, SMOOTH_H_PRED 和 SMOOTH_PRED,它们使用距离加权线性组合来预测像素。它们使用左下(BL)和右上(TR)参考像素填充最右列和最底行,从而形成插值的闭环边界条件。
以上图为例:
其中,w(x)表示基于距离边界x的权重,其值是预设的。
AV1使用 PAETH_PRED模式取代了TM_PRED模式,其计算如下:
PAETH_PRED 模式中的非线性允许预测引导参考角度与最高相关性的方向对齐。
三、Recursive Intraprediction
像素间相关被建模为二维一阶马尔可夫场。设X(i, j)表示位置(i, j)的一个像素,其预测由
其中,右边的X' 是相邻可用重建像素,或者是上侧和左侧的预测像素。系数集{α, β, γ}形成基于空间相关性的线性预测器。AV1共定义了五组不同的线性预测因子;每个代表不同的空间相关模式。
为了提高硬件吞吐量,AV1不是递归地预测每个像素,而是从相邻的像素patch中预测一个4×2像素patch,例如下图中蓝色patch x0−x7的p0−p6,其系数{α, β, γ}可以直接通过展开递归,这种扩展避免了4×2 patch 中的像素间依赖,从而允许硬件解码器并行处理预测。
四、 Chroma From Luma Prediction
色度预测像素通过亮度重建像素的线性模型计算得到,如下图所示,将亮度重建像素进行下采样并去除平均像素(剩下AC),并进行传输得到的缩放因子进行缩放,最后将色度块的 DC 添加作为最终的预测像素。
五、Intrablock Copy
AV1允许帧内运动补偿预测,它使用同一帧已经编码的像素,即块内复制(IntraBC)。使用整像素运动矢量,这可能意味着色度分量可能使用的半像素精度运动位移,在这种情况下,使用双线性滤波器进行亚像素插值。IntraBC模式仅适用于 intracoding 帧,可以通过帧头信息打开和关闭。
典型的硬件解码器将像素重建和后处理滤波阶段流水线化,使得后处理滤波应用于解码的superblocks,同时对同一帧中的后续 superblocks 进行解码。因此,经过后处理滤波后,从像素中检索IntraBC参考块。
相比之下,典型的编码器将处理帧内的所有编码块,然后决定将重构误差最小化的后处理滤波参数。因此,IntraBC模式有可能在进行速率失真优化的后处理过滤器之前访问编码像素。这种差异影响了IntraBC模式的效率。为了避免这个问题,如果一个intra-only coded帧允许使用IntraBC模式,所有的后处理滤波模式被禁用。
在实践中,IntraBC模式最有可能用于包含大量文本内容或类似重复模式的图像,在这种情况下,后处理滤波模式的效果较差。对于像素主要形成自回归(AR)模型的自然图像,编码器在使用IntraBC模式时需要谨慎,因为缺乏后处理滤波模式可能会在粗量化时出现视觉伪影。
六、 Color Palette
在这种模式下,为每个亮度/色度平面构建一个介于2到8个基色(即像素值)之间的调色板,其中每个像素被分配一个颜色索引。基色的数量是编码器决定的,它决定了保真度和紧凑度之间的权衡。基色在比特流中使用相邻块的基色作为参考进行预测编码。使用以先前编码的颜色索引为条件的概率模型对颜色索引逐像素进行编码。亮度和色度通道可以独立决定是否使用调色板模式。此模式特别适用于包含有限像素变化的像素块。