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的主要内容,如果未能解决你的问题,请参考以下文章