在HEVC中,使用35个帧内预测模式,如图1(a)所示,其中帧内预测模式0和1分别表示Planar预测模式和DC预测模式,模式2到34表示具有不同方向性的方向预测模式。注意,由于预测方向是所有方向预测角度中使用最频繁的方向,因此在水平和垂直帧内预测方向周围被分配为更密集的预测方向。
在VVC中,进一步采用基于65个角方向的帧内预测方案,以更细粒度地捕获边缘方向。图1(b)示出了在VVC中为方形块定义的帧内预测方向。尽管VVC中的角度帧内预测方向的数目已经增加到65个,但是方向的范围最初保持不变,并且在顺时针方向上从45度到-135度开始。如图1所示,模式34和2在HEVC中表示45度和-135度,而模式66和2在VVC中表示相同的方向。
在VVC中,通过使用多类型树(MTT)块划分结构实现矩形块形状的帧内预测,该结构利用二元和三元分割。在编码树结构中,CU可以是方形或矩形。对于W×H块,可用的顶部和左侧参考样本阵列大小相等,包括(W+H+1)个样本,如图2的左侧部分所示,这需要覆盖当前块中要预测的所有像素的上述预测角度范围。
VTM中预测角度的定义是为了与HEVC指定的方向兼容而设计的,不考虑MTT块划分结构中支持的各种块形状。例如,当块为水平形状(即W>H)时,待预测样本比左侧引用数组更靠近顶部引用数组。类似地,当块为垂直形状(即H>W)时,要预测的样本比顶部参考阵列更靠近左侧参考阵列,如图2所示。
因此,对于某些预测模式,目标像素是从较远的参考阵列预测的,而较近的参考阵列将由于定义的角度而被排除。如图3所示,在左侧,目标像素A在具有水平预测方向的左侧参考阵列上具有预测器样本L;虽然顶部参考阵列上的样本T更接近,但VTM-1.0不允许垂直预测方向,因此T可以作为A的预测样本。右图显示了高块中目标像素的类似情况。
为了进一步说明矩形块的帧内预测问题,收集并显示了帧内预测模式的模式分布的统计信息。如图4所示,计算QP等于22的C类BasketballDrill序列的每个帧内预测模式的出现次数,其中y轴上的值表示给定帧内预测模式的出现次数,x轴表示关联的帧内预测模式的出现次数。在35个帧内预测模式的情况下,预测模式2~7显著小于其它模式。
针对矩形块的帧内预测问题,提出了一种超出传统帧内预测所覆盖的预测方向范围的广角模式。这些新模式被称为广角帧内预测模式,并且仅适用于非正方形块,如下所示:
- 如果块宽度大于块高度,则在右上方向超过45度的角度
- 如果块高度大于块宽度,则左下方向超过45度的角度
每个广角帧内预测方向与一个常规帧内预测方向相关联,该帧内预测方向捕获相同的预测方向,但使用参考样本的相反侧(左列或顶行)。例如,在图5中,在HEVC中的35个帧内预测模式的情况下,广角模式35和36分别与常规帧内预测模式3和4相关联。
对于WAIP方向的帧内模式编码,由于与用于若干传统角度方向的参考样本相比,用于广角方向的参考采样更接近当前块,因此建议用广角模式来替换若干传统角度帧内预测模式。替换的模式使用原始方法发出信号,并在解析后重新映射到广角模式的索引。帧内预测模式的总数保持不变,并且帧内模式编码也保持不变。图5显示了水平矩形块如何用广角模式替换角内模式的示例。在该示例中,模式2和模式3被广角模式35和模式36替代。
在 VVC 中,一些传统的角度帧内预测模式被自适应地替换为非方形块的广角帧内预测模式。替换的模式使用原始模式索引传输,在解析后重新映射到宽角模式的索引。帧内预测模式总数不变,即67,帧内模式编码方法不变。为了支持这些预测方向,定义了长度为 2W+1 的顶部参考样本和长度为 2H+1 的左侧参考样本,如图 所示。
广角方向模式中替换模式的数量取决于块的纵横比。替换后的帧内预测模式如表所示
如下图所示,在广角帧内预测的情况下,两个垂直相邻的预测样本可以使用两个不相邻的参考样本。因此,低通参考样本滤波和侧平滑应用于广角预测,以减少增加的间隙 \(Δp_α\)的负面影响。广角模式中有8种模式满足这个条件,分别是[-14, -12, -10, -6, 72, 76, 78, 80]。当通过这些模式预测块时,直接复制参考缓冲区中的样本而不应用任何插值。通过这种修改,减少了需要平滑的样本数量。此外,它对齐了传统预测模式和广角模式中的非分数模式的设计。