H.266/VVC相关技术学习笔记19:帧间预测中的HMVP技术(基于历史的MV预测)

HMVP技术(基于历史的MV预测)也是帧间的一个小分支技术,但是贯穿于整个Merge技术中,我们知道在构造Merge候选列表的时候有多种构造方法,以便在列表长度不足的时候用备选的方法填充进新的候选,比如空域相邻候选,时域相邻候选,零矢量候选等等。HMVP也是一种构造候选MV的方式。

HMVP技术就是构造一个长度为6的HMVP列表,里面存储的就是已经编码的块的运动信息(MV之类的),具体的HMVP列表的更新示意图如下图所示,按照先进先出的原则,将前一个已经编码块的运动信息放入HMVP列表中去,后一个编码块的运动信息后放入HMVP列表中。因此HMVP列表中最后一个放入的是当前编码块的最近的前一个已经编码的块的运动信息。
在这里插入图片描述

因此,随着不断编码的进程,每一个当前正在编码的CU都有其对应的HMVP列表,将该HMVP列表作为构造Merge列表的一种备选列表,如果在空域和时域选完以后,Merge列表仍没有填充满,就用HMVP列表进行补充, 如图所示,填充的顺序是从HMVP列表的末尾从后向前补充到Merge列表中去。
在这里插入图片描述
这里补充一下,在当前的VTM6.0版本中,为了统一空域和时域Merge候选保持一致,在HMVP列表中新添加进了BCW系数(双向预测权重),关于双向预测权重我在这里简单介绍一下,当我们在双向预测的时候,当前块最终的预测值是通过对前向MV补偿出的预测值和后向MV补偿出的预测值按照一定的权值进行加权,如下图所示
在这里插入图片描述
加权的具体公式为:P_bi-pred=((8-w)P_0+wP_1+4)≫3
前向和后向的权重都总共有五种,具体的权重值如下表所示:
在这里插入图片描述
最后来解释一下为什么要给HMVP列表中也要加入BCW,是因为在之前的版本中,BCW系数只存在于空域候选和时域候选中,而在HMVP列表中却没有,这样可能会导致最终的Merge列表不能保持一致,因此VTM6.0中建议也给HMVP列表中存储BCW系数。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值