一、前言

对称MVD模式(symmetric MVD mode ,SMVD)是VVC提出的一种双向预测时MVD语法单元传输模式。在使用对称MVD模式,传输双向预测信息时不需要传list 0和list 1中参考图像的索引和list 1的MVD,这些运动信息可以在解码端生成。

关于list 0和list 1的解释:参考图像列表0和参考图像列表1


二、对称MVD模式(symmetric motion vector difference mode)解码

1、在slice层,变量BiDirPreFlag,RefIdxSymL0 和 RefIdxSymL1 (它们指定list 0 和list 1作为SMVD的参考图像索引)按如下方式生成

  • 如果mvd_11_zero_flag=1,则BiDirPredFlag=0(没有使用双向预测)
  • 如果在list 0中离当前图像最近的参考图像和在list 1中离当前图像最近的参考图像分别是前向参考图像和后向参考图像或者分别是后向参考图像和前向参考图像则BiDirPredFlag=1 .且RefIdxSymL0 和 RefIdxSymL1分别设为list 0和list 1中参考图像的索引

2、在CTU层,如果CU是双向预测且BiDirPredFlag=0=1,则需要在码流中传输一个对称模式表示符来表明是否使用对称模式。

当对称模式表示符为真时,在码流中只需要传输mvp_10_flag,mvp_11_flag和MVD0,list 0和list 1的参考图像索引分别等于RefIdxSymL0 和 RefIdxSymL1,MVD1=(-MVD0)

在解码端MVD1由MVD0的相反数生成,具体示意如下图所示:

最终的运动向量可由下列公式推导出:

{(mvx0,mvy0)=(mvpx0+mvdx0,mvpy0+mvpd0)(mvx1,mvy1)=(mvpx1+mvdx1,mvpy1+mvpd1)\begin{cases} \left( mvx_0,mvy_0 \right) =\left( mvpx_0+mvdx_0,mvpy_0+mvpd_0 \right)\\ \left( mvx_1,mvy_1 \right) =\left( mvpx_1+mvdx_1,mvpy_1+mvpd_1 \right)\\\end{cases} {(mvx0​,mvy0​)=(mvpx0​+mvdx0​,mvpy0​+mvpd0​)(mvx1​,mvy1​)=(mvpx1​+mvdx1​,mvpy1​+mvpd1​)​

注意:在编码端进行对称MVD模式的运动估计时需要一个初始MV,这个初始MV是从单向运动搜索MV、双向运动搜索MV和AMVP list中选择的具有最小率失真代价值的MV


【参考】:

​ [1] Dillon2015博主的博文.帧间预测(三)symmetric MVD mode

​ [2] VVC标准制定会议文档.JVET-L0370

​ [3] VVC标准制定会议文档.JVET-M0444

​ [4] VVC标准制定会议文档.JVET-N1002

​ [5] VVC标准草案8.0文档.JVET-Q2001


更多关于视频编码知识和资源的分享,更精致的文章排版,欢迎关注博主微信公众号,一起交流、学习、进步!!!

【八】 H.266/vvc中对称MVD模式(SMVD)相关推荐

  1. 【九】 H.266/VVC中帧间仿射运动补偿预测

    一.前言 HEVC中在进行运动补偿时只考虑了平移运动,而在真实的世界存在各种运动,例如缩放.旋转等非平移运动.在H.266/VVC中提出了基于块的仿射变换运动补偿预测.如下图所示,一个块的仿射运动向量 ...

  2. H.266/VVC中的PDPC技术

    PDPC技术已经在刚刚结束的K次会议中被采纳.但目前还不知道这个技术是只用于Planar模式还是所有帧内预测模式.PDPC的基本原理是使用滤波后的参考采样生成预测值,再将此预测值和未滤波的参考采样进行 ...

  3. 【十六】 H.266/VVC | VVC中帧间预测技术详细总结 | 所有帧间预测技术代码汇总

    前言 ​ 帧间预测是影响视频编码性能的关键环节之一,H.266/VVC帧间预测在传统只能应对简单的平移运动的基础上,采用了仿射运动模型,可以描述更加复杂的缩放.旋转等运动.为了更好的发挥合并模式(Me ...

  4. H.266/VVC:色度帧内预测模式之CCLM技术

    一.色度模式编码 1.色度预测模式候选列表 VVC中色度分量的预测过程和亮度分量预测过程不同,其首先是构建色度预测模式候选列表如下表,有8种模式,由4种和亮度模式相同的模式.3种CCLM模式和1种DM ...

  5. H.266/VVC相关技术学习笔记4:HEVC和VVC中块划分的差别

    关于H.265/HEVC和H.266/VVC中的块划分的区别: 一.HEVC中首先需要将一个图像固定划分为多个CTU. ① CTU的尺寸固定划分为64×64,一个CTU由一个亮度CTB和两个色度CTB ...

  6. H.266/VVC帧间预测总结

    一.帧间预测基本原理 帧间预测是利用视频帧与帧之间的相关性,去除视频帧间的时间冗余信息.统计表明,帧间差绝对值超过3的像素平均不到一帧像素的4%,因此,采用高效的帧间编码方式,可以很大程度上提高视频压 ...

  7. H.266/VVC技术学习:算术编码

    算术编码是一种常用的变长编码方法,和Huffman编码类似,也是对出现概率大的符号赋予短码,出现概率小的符号赋予长码,但算术编码不是简单的将每个信源符号映射成一个码字,而是对整个输入序列分配一个码字, ...

  8. H.266/VVC测试软件VTM

    VTM简介 JVET于2018年4月10日美国圣地亚哥会议上,为新一代视频编码标准定名为Versatile Video Coding,正式开启了H.266/VVC的标准化进程. 从H.265跟过来的同 ...

  9. H.266/VVC代码学习20:角度预测入口 / 特殊模式的PDPC技术(predIntraAng)

    1.predIntraAng函数 predIntraAng是帧内0~66这67种预测的入口.其中可细分为: 模式0:PLANAR模式 模式1:DC模式 模式2~66:角度模式 此函数在亮度预测和色度预 ...

最新文章

  1. HDU 4826 Labyrinth(DP解法)
  2. m_Orchestrate learning system---十八、mo项目的启示是什么
  3. 农业谋定投资-农业大健康·万祥军:解读胡春华补三农短板
  4. Canal解析数据报错:column size is not match for table xxxx 59 vs 57
  5. cas中总是得不到返回的属性
  6. 排队问题解题思路_三大策略、5个技巧,完美解决超市收银排队难题
  7. ASP.NET中实现页面间的参数传递 QueryString\Application\Session\Cookie
  8. 工业用微型计算机(24)-汇编语言分段结构
  9. 北京/上海/杭州 | 蚂蚁金服智能引擎技术事业部招聘知识图谱算法工程师
  10. Session 的钝化与活化
  11. Java Math的 floor,round和ceil的总结 ,java基础知识
  12. 拦截器读post参数导致接口post请求报错_vue中Axios的封装和API接口的管理
  13. 【在路上4】在派件时效分析中剥离有效因素
  14. Bash on Windows 抢鲜测试 -- 介绍及安装
  15. 包装类型与包装类别_包装的重要性
  16. mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据
  17. 页面输出缓存[转载]
  18. Centos 5 手动安装yum
  19. 支持秒赞的php脚本一键安装,easy-hiphop一键安装hiphop脚本
  20. 华为笔记本重装系统步骤

热门文章

  1. Android Studio 1.3RC版 build加速
  2. 未来5年,IT领域7个吃香的领域
  3. fullCalendar插件的使用简单教程
  4. 百度统计在项目中的使用
  5. ntp如何确认与服务器偏差_NTP时钟同步原理及误差简析
  6. 去水印怎么去掉?去水印的方法分享。
  7. 基于平均不同分辨率的共振峰跟踪算法matlab仿真
  8. 转转验机源码带验机报告
  9. Adobe Flash离线安装 (无需联网安装)
  10. FreeLaunchBar-Windows10系统任务栏快捷方式管理者