AVS3中的AMVR和EMVR

Posted Dillon2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AVS3中的AMVR和EMVR相关的知识,希望对你有一定的参考价值。

在AVS2中运动预测中使用的MV都是1/4像素精度,通过在整像素间插值能显著提升非整像素运动预测的精度,同时带来的问题是随着MV精度的提高编码MVD所需的比特数也会增加。

AMVR


AMVR支持的MVD编码5种精度的MVR1/4,1/2,1,2,4,索引为0到4,如下表。

编码端从5种精度中选择RD cost最小的,将MVR索引传输到解码端,其中索引使用截断二元码编码,解码端获取到MVR后将MVD和对应的MVP对齐到该精度。

注意,对于使用仿射模式的CU,AMVR仅支持3种精度1/4,1,1/16。CU的索引CPMV使用相同的精度。

EMVR


EMVR是在AMVR的基础上将MVR和HMVP绑定。当使用EMVR时,MVP候选项由HMVP构成,此时MVR和MVP共用同一个索引。

HMVP候选集由历史已编码CU的MV构成,距离当前越近分配的索引越大。EMVR将MVR和HMVP的索引绑定,绑定的规则基于这样的假设,离当前越近的MVP和当前的运动越相关。因此,MVR小的索引和MVP大的索引绑定,也即对越近的MVP使用的MV精度越高。

假设MVR的数量是N,HMVP中MVP的数量是M,则根据M和N的大小关系有两种情况:

  • 当M>=N时,如上图(a),MVR的索引0对应MVP的索引(M-1),MVR的索引(N-1)对应MVP的索引(M-N),此时对于MVR的每项HMVP中都有对应的MVP。

  • 当M<N时,如上图(b),MVR的索引0对应MVP的索引(M-1),MVR的索引(M-1)对应MVP的第一个索引。MVR的索引M到(N-1)都对应HMVP中的同一个索引(M-1)。

根据HMVP候选集构建规则可以得到运动信息,如果运动信息只有L0对应的mvH0,则L1中的mvH1由mvH0缩放得到,反之亦然。

缩放规则如上表,其中dE0和dE1分别是当前帧和L0和L1中参考帧的距离,dL0和dL1分别是当前帧和L0和L1中运动信息的参考帧的距离。

当前的MVP由下式求得:

  

经AMVR调整精度后:

  

实验结果


下表是AMVR和EMVR在RA配置下的效果,实验平台为HPM6.0,anchor是AMVR和EMVR均关闭。

以上是关于AVS3中的AMVR和EMVR的主要内容,如果未能解决你的问题,请参考以下文章

AVS3中的intra string copy(ISC)

AVS3中的intra string copy(ISC)

AVS3变换系数编码:SRCC

AVS3变换系数编码:SRCC

AVS3变换之IST和ISTS

AVS3变换之IST和ISTS