在HEVC中,只有平动模型被用于运动补偿预测。然而在真实世界中,有各种各样的运动,比如放大/缩小,旋转,透视运动和其他非规则运动。
JEM中简化的仿射运动补偿预测
在JEM中,使用了一个简化的仿射运动补偿预测。如下图所示,一个块的仿射运动域由两个运动矢量表示。
一个块的运动矢量域(MVF)表示如下:
其中
为了进一步简化运动补偿预测,使用了基于仿射变换预测的子块。子块尺寸为MxN通过下式推导:
上式推导得到的M和N,如果需要应该分别向下调整,使其成为w和h的除数。其中
为了推导每个MxN子块的运动矢量,每个子块的中心采样的运动矢量如下图所示,根据等式15计算,并取整到1/16精度,然后进行运动补偿。
在运动补偿之后,每个子块的高精度运动矢量被取整,保留和标准运动矢量相同的精度。
JEM中的两种仿射运动模式
在JEM中,有两种仿射运动模式:AF_INTER和AF_MERGE。
AF_INTER
对于宽高都大于8的CU,可以使用AF_INTER。一个CU级别的仿射flag被传输来标识是否使用AF_INTER。AF_INTER中,候选列表中运动矢量对
AF_MERGE
当一个CU使用AF_MERGE模式时,它首先从邻近重构块获取第一个使用仿射模式的编码块。候选块的选择顺序为左A->上B->右上C->左下D->左上E如下图a所示。
为了确定当前CU是否以AF_MERGE模式编码,比特流中传输一个仿射flag,此时至少有一个邻近块以仿射模式编码。
总结
JEM中加入了两种仿射运动预测,可以对更多运动情形更准确的进行运动估计。仿射运动预测首先会根据左上和右上控制点求得左下控制点运动矢量,然后推导得到子块尺寸MxN,最后根据左上和右上控制点计算每个子块的运动矢量。