VVC快速仿射运动补偿
Posted Dillon2015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VVC快速仿射运动补偿相关的知识,希望对你有一定的参考价值。
本文来自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快速仿射运动补偿的主要内容,如果未能解决你的问题,请参考以下文章