对称MVD模式(symmetric MVD mode)是VVC中新提出的一种双向预测时MVD语法单元传输模式。在使用对称MVD模式时,在传输双向预测的运动信息时不需要传list0和list1中参考图像的索引和list1的MVD。这些信息可以在解码端生成。
对称MVD模式的解码过程如下:
1、在slice层,变量BiDirPredFlag, RefIdxSymL0和RefIdxSymL1按如下方式生成:
-
mvd_l1_zero_flag=1,则BiDirPredFlag=0
-
否则,如果在list0中离当前图像最近的参考图像和在list1中离当前图像最近的参考图像分别是前向参考图像和后向参考图像或分别是后向参考图像和前向参考图像,则BiDirPredFlag=1。且RefIdxSymL0 和RefIdxSymL1分别设为list0和list1中参考图像的索引。
2、在CTU层,如果CU是双向预测且BiDirPredFlag=1,则需要在码流中显示传输一个对称模式标识符来表明是否使用对称模式。
当对称模式标识符为真时,在码流中只需要传mvp_l0_flag, mvp_l1_flag和MVD0。list0和list1的参考图像索引分别等于 RefIdxSymL0和RefIdxSymL1。MVD1=(-MVD0)
在解码端MVD1由MVD0的相反数生成,如下图所示。
最终运动向量可由下式生成:
扫描二维码关注公众号,回复:
8836914 查看本文章
在编码端进行对称MVD模式的运动估计时需要一个初始MV。这个初始MV是从单向运动搜索MV、双向运动搜索MV和AMVP list中选择率失真代价最小的MV得到。
参考
JVET-L0370
JVET-M0444
JVET-N1002
感兴趣的请关注微信公众号Video Coding