对于帧间预测来说,当视频内容较简单时编码残差的比特数可能会较少而编码运动信息的比特数占比可能会变高,此时编码运动信息的码率成为了压缩率的瓶颈。AVS3中引入了对称运动矢量差(SMVD,Symmetric MVD)技术来节省编码运动信息的码率,AVS3中的SMVD和VVC中的SMVD类似,用于双向预测中。
它是基于一般的物体运动在较短时间内往往是匀速运动的假设,因此当当前帧是双向预测且它的参考帧位于当前帧两侧时,它的前向和后向的运动矢量可能具有对称性,因此只需要传输一个方向的运动信息,利用对称性获得另一个方向的运动信息,从而减少编码运动信息的码率。
若当前编码块采用帧间双向预测,并且第一个前向参考帧(记为POC_list0)、第一个后向参考帧(记为POC_list1)和当前帧(记为POC_Cur)满足镜像关系(即满足公式:POC_Cur – POC_list0 = POC_list1 – POC_Cur),则通过传输一个标识符(symmetric mode flag)指示是否采用SMVD模式。若开启SMVD,则码流中只需要传输list0对应的mvd0,list1的mvd1则设置为-mvd0,且list0和list1的参考帧都默认使用列表中的第一帧即前向和后向的参考帧索引都为0。如图1所示。
图1 SMVD
只有在当前编码单元不使用EMVR中的MVP时,SMVD模式才会被选中,否则禁用SMVD模式。