本文来自IEEE Access 2019论文《Fast Affine Motion Estimation for VVC Encoding》

VVC采用多类型树(MTT)进行块划分,提供了更灵活的块划分方式,但是也极大的提高了复杂度。在此基础上的仿射运动补偿(AME)更加增加了复杂度。论文通过提取特征有效的反映MTT和AME的统计特性,并利用这些特征冗余的AME过程节省AME处理的时间。

AME在整个运动补偿(ME)过程中占据大量时间。Fig.1展示了单向预测、双向预测和仿射预测分别的时间占比,其中AME占用平均54.75%的复杂度。因此,本文将探索AME的快速算法。

仿射运动补偿AME

传统运动补偿(CME)只能处理平移类运动,AME能够处理旋转、缩放等运动。VTM提供了两种仿射模型:四参数模型(2个控制点)、六参数模型(3个控制点),如Fig.3所示。

对于当前块中点(x,y),其运动向量mv计算方式如下:

(1)四参数模型

(2)六参数模型

如Fig.4所示,CU的ME过程包括CME和AME。CME是传统的单向预测和双向预测,AME包括四参数AME和六参数AME,每种AME又包括单向和双向两种情况。CU在ME过程中按顺序遍历每种模式分别计算RD cost,最后选择RD cost最小的模式m,和对应的最优MV a,最佳参考帧索引i。

特征提取

本文从之前已编码信息中提取两个特征来反映当前CU的运动特征,并在两阶段快速AME算法中使用它们。在第一阶段,在父CU级使用AME的早停止。检查父CU的最优预测模式,然后根据该预测模式决定是否跳过AME过程。在第二阶段,检查CME的最优参考帧的预测方向,从而减少当前CU的参考帧数。

算法提取的两个特征分别为(a)父CU的最优帧间预测模式。(b)当前CU的CME模式的预测方向。

特征的统计分析

通过统计分析来确定上述两个特征是否有效。

P(A)表示仿射模式是帧间预测模式中最优模式的先验概率,事件A表示仿射预测的RD cost小于CME的RD cost,即J_aff<J_cme。

根据贝叶斯理论,我们根据观测的特征计算后验概率。对于第一个特征,定义p(S_par)表示父CU的最优预测模式是skip模式的概率。skip模式仅需传输merge index,不需要残差,所以该块可以看作运动非常小。如果一个块更倾向于skip模式,则该块可以看作在是静止区域,不需要仿射预测这种复杂的运动预测工具。对于第二个特征,定义p(U_cme)表示CME中最优预测模式是单向预测的概率。直观上,单向预测通常用于平移运动或场景间长距离的运动,而处理不好缩放、旋转等非线性运动。所以如果一个块使用单向预测,可以推断其运动模式简单,不太可能需要仿射运动。

通过观测p(S_par)和p(S_par|A)可以计算后验概率p(A|S_par):

同理后验概率p(A|U_cme)的概率计算如下:

表1是使用VTM3.0在RA配置下编码4个UHD序列,每个序列编码200帧,使用两个QP(25,35)的各个概率结果。

在表1中,不同序列p(A)变化很大,这是因为不同序列运动形式不同。和p(A)相比p(A|S_par)都很小,这表明如果父CU是skip模式,VTM可以跳过大部分AME过程。

快速仿射运动补偿

该算法包括两个部分,首先从MTT结构中提取特征,然后利用这些特征进行快速AME编码。

从MTT结构提取特征如Fig.5所示,Fig.5(a)中CU_cur的预测信息沿虚线传播。第一个特征(父CU的最佳预测模式)用于决定子CU是否使用AME。如Fig.5(b)中,按BT划分的CU可以按四种方式进一步划分,一共有10种可能的子块,每个子块可以利用CU_cur的预测信息决定自己是否跳过AME。如果子块没有满足第一个特征则可以进一步用第二个特征判断是否要跳过AME。

Fig.6是在VTM的CME基础上改进的流程图。可以看见,在第一阶段首先检查父CU(CU_par)的最优模式是否是skip模式,如果CU_par最优模式是skip则当前CU跳过AME,在这种情况下当前CU的最优模式要么是单向预测要么是双向预测。在第二阶段,CU_par最优模式不是skip,在根据RD cost计算当前CU在CME中的最优模式,如果最优模式是单向预测,则AME的L0中最大参考帧索引减小为CME的L0中的最佳参考帧索引,L1参考列表不变。

实验结果

图2中ATR表示本文算法AME的时间和VTM中AME时间的比值,ETR是整个编码器时间的比值。可以看见,本文算法AME的时间是VTM的63%,BD-rate损失为0.1%。

感兴趣的请关注微信公众号Video Coding

VVC快速仿射运动补偿相关推荐

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

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

  2. VVC帧间预测(四)仿射运动补偿预测

    HEVC中在进行运动补偿时只考虑了平移运动,而在真实世界里存在各种运动,例如缩放.旋转.头上运动和其他不规则运动.在VTM5中提出了基于块的仿射变换运动补偿预测.如下图所示,一个块的仿射运动向量由两个 ...

  3. 音视频技术开发周刊 | 201

    每周一期,纵览音视频技术领域的干货. 新闻投稿:contribute@livevideostack.com. 小提示:链接跳转仅支持公众号相关链接 HDR:为用户打造的视觉盛宴 随着时代的发展,人们越 ...

  4. ICIP2020:VVC解码端基于GPU的运动补偿优化

    ​本文来自ICIP2020文章<OPTIMIZATION OF MOTION COMPENSATION BASED ON GPU AND CPU FOR VVC DECODING> 文章提 ...

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

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

  6. 新一代视频编码标准:VVC、AVS3

    本文来自北京大学信息科学技术学院教授马思伟在LiveVideoStackCon 2018大会上的演讲,详细介绍了最新一代VVC和AVS3视频编码标准进展,包括关键技术特色以及未来的应用展望. 文 / ...

  7. VVC编码工具之Inter Prediction

    声明:本系列博文均为原创,转载请注明出处,谢谢!https://blog.csdn.net/xiangxiazaif/article/details/89375077 1.Extended merge ...

  8. ICIP2020:VVC复杂度分析

    本文内容来自ICIP2020论文<COMPLEXITY ANALYSIS OF NEXT-GENERATION VVC ENCODING AND DECODING> 论文使用VTM6对编码 ...

  9. VVC学习之一:VVC/H.266的简介及VTM的使用方法

    前言 跟JVET以及VVC标准已经有一段时间了,准备写一些VVC的一些学习心得,主要也是锻炼一下自己,如果有理解不对的地方,希望各位大佬不吝赐教. VVC的发展历程 VVC是从HEVC发展而来,其目标 ...

  10. 新一代视频编码标准VVC的芯片设计思考

    编者按: VVC是新一代刚发布的视频编码标准,其中集成了当前最先进的视频压缩技术,相比上一代标准HEVC,可以提升将近50%的视频压缩率.但同时,VVC也带来了更复杂的预测方式.块划分等,其编码计算量 ...

最新文章

  1. What is Gameplay
  2. python def是什么意思-python中def是什么
  3. 最受 IT 公司欢迎的 30 款开源软件
  4. 多线程编程:阻塞、并发队列的使用总结
  5. influxdb tsm文件_Influxdb中的Compaction操作
  6. 信息学奥赛一本通(1266:【例9.10】机器分配)
  7. 小学生都开始学Python了,你还不抓紧提升技术?
  8. 语义分割--(DeepLabv3+)Encoder-Decoder with Atrous Separable Convolution for Semantic
  9. php实现从本网站每天出站连接向目标网站贡献的IP和PV的统计
  10. JVM 对象引用标记 与 内存回收算法
  11. bzoj1588 营业额统计
  12. 什么是锁PHP,PHP简单分布式锁-PHP中的锁
  13. 企业传播的云计算时代还有多远?―21世纪广告―文章摘要―龙源期刊网
  14. Vulnhub-THE PLANETS: EARTH
  15. Android 的网络编程
  16. C++ 正则表达式教程:C++ 中的正则表达式与示例
  17. 作为一名菜鸟的学习分享
  18. 【人工智能算法】算法基础之K均值聚类算法
  19. 字节跳动面经(一、二、三+大boss+hr面)
  20. 【14NOIP普及组】珠心算测验

热门文章

  1. 递归实现部门树形数据结构
  2. UTC相关的时区转换
  3. 黑苹果主机z77技嘉wifi主板,
  4. matlab生成曲线程序,Matlab绘制频散曲线程序代码(20210119130722).docx
  5. 一个例子说明贝叶斯定理
  6. 平面设计初学者如何入门
  7. Vue3.0项目——打造企业级音乐App(二)图片懒加载、v-loading指令的开发和优化
  8. 这么清晰的帮助手册,AppCube 二次体验
  9. 解决flex布局的space-evenly兼容性问题
  10. 毕业4年年薪200万是怎样的一种体验?