AMVR技术也称为自适应运动适量精度技术,就是在以前的HEVC中,MVD的精度只有一个默认的1/4像素精度,但是由于要适应不同分辨率的图像,仅仅使用一个精度去表示MVD是远远不够的,因此在VTM6.0版本之前的VVC中,将像素精度扩展到了3种, {1/4,1,4}。
目前的VTM6.0版本中,不仅将AMVR技术运用到AMVP(inter)中,还将该技术运用到Affine_inter技术中,由于之前的VVC版本中Affine_inter的MVD也只有1/4像素精度,这明显是不够的。因此在VTM6.0版本中同时为了统一AMVP和Affine_inter的MVD像素精度,因此建议将AMVR技术引入Affine_inter。Affine_inter技术的三种像素精度为{1/16,1/4,1}。
在编码端会对两种模式循环检查,选取各自模式最优的像素精度。
在以前的版本中,AMVR三种像素精度的编码方式如下:
在最新的VTM6.0的版本中,对AMVR技术做了一些改动,就是新引入了一种像素精度——1/2像素精度,但是设置了一个HPEL(半像素)的flag,用来标志半像素精度是否开启。因此对于AMVR的四种像素精度的编码方式如下: