编码块根据运动矢量在参考帧中找到相应的预测块,如下图所示,当前块的左上角的位置为(x0, y0),在参考帧中找到同样位置(x0, y0)的块,根据运动矢量移动到目标参考块(左上角位置为:(x1, y1))。
AV1允许 1/8 亚像素运动矢量精度。亚像素是通过可分插值滤波器产生的,如下图所所示,首先通过所有的行计算水平插值,然后在水平插值所得亚像素(橙色)的基础上,进行垂直插值,产生最终的亚像素(绿色)。很明显,中间像素(橙色)可以重复使用以产生多个最终亚像素(绿色)。
常用的基于块的编码器运动估计是通过绝对差和(SAD)或平方误差和(SSE)的测量来进行的,这往往有利于与直流和低频分量相似的参考块,而对高频分量的预测不太可靠。具有高截止频率的插值滤波器可以更好的预测参考区域的高频分量,适用于参考块和当前块高频分量高度相关的情况;相反地,具有低截止频率的插值滤波器可以去除与当前块不太相关的高频分量。
在 VP9 中采用自适应插值滤波方案,即 VP9 中的编码块可以从三个 8 抽头的插值滤波器中选择,这些插值滤波器使用不同的频域的截止频率,所选的插值滤波器同时应用于垂直和水平方向。
AV1 中继承了 VP9 插值滤波器的设计,并且对其进行了扩展,支持垂直和水平方向使用不同的插值滤波器,通过该方法可以利用垂直方向和水平方向之间潜在的时间统计差异来提高预测质量。垂直和水平方向可以从三个有限脉冲响应(FIR)滤波器中选择:SMOOTH、REGULAR 和 SHARP (按照截止频率升序排列)
在变换域中,预测信号和源信号之间的相关性热图如下图所示,可以看到,SHARP 滤波器在水平和垂直方向上高频区域中具有更高的相关性,并且同一滤波器在水平和垂直方向的相关性分布是不同的。
为了降低解码器的复杂性,SMOOTH 和 REGULAR 滤波器采用六抽头 FIR 滤波器设计。SHARP滤波器继续使用 8 抽头 FIR 设计来减轻截止频率附近的纹波效应。对应于亚像素插值的滤波器系数为
其频率响应如上图所示。为了进一步降低最坏情况下(所有编码块划分为 4×4 块)的复杂度,当编码块的尺寸为 4 或更小时,使用两个额外的四抽头插值滤波器。亚像素插值的滤波系数为
因为抽头系数比较少,SHARP 滤波器是不适用此种情况的。