一种基于双线性模型的VVC运动补偿方法转让专利

申请号 : CN202010742117.2

文献号 : CN114071147B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 熊淑华蔡于涵王林何小海卡恩·普拉迪普滕奇志吴小强

申请人 : 四川大学

摘要 :

目前下一代视频编码标准VVC中的仿射运动只有四参数以及六参数模型,虽然其能适用于大多数的复杂运动场景,但是对于一些非平行性的运动如非规则的旋转或缩放,其估计性能有限。针对以上情况,本发明提出了一种基于双线性模型的VVC运动补偿方法。其主要思想是,对于采用仿射运动模式的编码块,利用基于双线性模型的高阶运动模型来对其进行再一次的运动估计,再利用运动补偿插值滤波器来生成当前子块的预测块。最后对基于双线性模型的VVC运动补偿方法所得到结果与VVC已有的仿射运动补偿所得结果,进行率失真代价比较,来选择合适的运动补偿方式。实验结果表明,在编码视频具有相同客观质量的条件下,本发明所提方法能够节省更多的码率。

权利要求 :

1.一种基于双线性模型的VVC运动补偿方法,其特征在于:

(1)判断当前编码块的运动模型,对于采用平移运动模型的编码块将不进行处理,若当前编码块的运动模式为仿射运动模式,则进入步骤(2);

(2)在VVC执行仿射运动后,对于采用仿射运动模式的编码块,利用基于双线性模型的高阶运动模型来对其进行再一次的运动估计,提取当前编码块的左上角、右上角、左下角以及右下角这四个边角上的控制点运动矢量(Control Point Motion Vector,CPMV),将当前编码块划分为互不重叠的、尺寸大小为4×4的子块,之后按照光栅扫描的顺序,对每一个子块均利用双线性插值模型来计算当前子块的运动矢量(Motion Vector,MV),其具体计算方式如下:其中,(x,y)是当前子块中心像素点的坐标,MV(x,y)是当前子块的运动矢量,MVi是当前编码块四个边角上的CPMV, 为每一个CPMV对应的权重系数,其具体计算方式如下:其中,W和H分别为当前编码块的宽度和高度;

(3)在步骤(2)得到当前子块的MV后利用运动补偿插值滤波器来生成当前子块的预测块;

(4)将步骤(3)所得到的结果与VVC已有的仿射运动补偿所得的结果进行率失真代价比较,从这两种方法中选择合适的运动补偿方式。

说明书 :

一种基于双线性模型的VVC运动补偿方法

技术领域

[0001] 本发明涉及视频压缩技术,具体涉及一种基于双线性模型的VVC运动补偿方法,属于图像通信领域。

背景技术

[0002] 在2018年JVET的会议上,下一代视频编码标准H.266被正式命名为Versatile Video Coding,简称VVC,目前已发布了多个测试版本,其正式版本也即将于2020年底正式发布。相较于HEVC,VVC在许多编码模块都引入了新的编码技术,由目前已发布的测试版本来看,其编码性能比HEVC提升了约40%左右。帧间预测因其能显著改善编码性能而在视频编码标准中起到了关键的作用,其利用已重建的参考帧来预测当前编码帧,进而实现去除时域冗余的目的。在H.265/HEVC中,运动补偿预测的过程仅仅只适用于平移运动模型,然而在自然界中,存在各种各样的运动,例如放大、缩小,旋转,各种视角下的运动和各种不规则运动。当这些运动应用平移运动模型的运动补偿过程时,就会造成预测值不够准确,最终导致编码块的残差较大,增加了编码比特数。
[0003] 在VVC中,帧间预测模块引入了许多新的编码技术。例如,在VVC中,为了适应如缩放、旋转之类的复杂运动轨迹而引入了仿射运动,并且将仿射运动补偿作为帧间预测的一种新模式;为了减少编码运动信息时所需的比特数而提出了一种FRUC模式;为了减少基于块的预测编码所产生的块效应而引入了重叠块运动补偿等等。VVC中仿射运动补偿打破了H.265/HEVC中对CU的运动信息的限制,由原来一个CU只能有一个运动信息变为了一个CU可以拥有多个运动信息,这样在相同质量的情况下,大大减少了编码所需比特数。但是,VVC引入的仿射运动仍然有其局限性,由于仿射运动保持了块边界的线性以及平行性,因此对于一些非平行性的不规则运动,例如不规则的缩放或者旋转等,目前的仿射运动仍很难准确地估计物体实际运动的MV。因此,对于物体不规则的复杂运动,在VVC已有的仿射运动补偿算法的基础上,仍有改进的空间。

发明内容

[0004] 本发明的目的是为了研究及优化VVC帧间编码中的运动补偿,在编码视频具有相同客观质量的条件下,节省更多的码率。
[0005] 本发明的基本思想是利用更高阶的运动模型来改进VVC中已有的仿射运动过程,从而实现提升VVC在帧间编码模式下的率失真性能。在VVC执行仿射运动后,对于采用仿射运动模式的编码块,本方法将利用基于双线性模型的高阶运动模型来对其进行再一次的运动估计,之后利用运动补偿插值滤波器得到当前编码块的预测块,最后对于当前编码块,将根据率失真代价来选择合适的仿射运动补偿方式。具体主要包括以下过程步骤:
[0006] (1)判断当前编码块的运动模型,对于采用平移运动模型的编码块将不进行处理,若当前编码块的运动模式为仿射运动模式,则进入步骤(2);
[0007] (2)在VVC执行仿射运动后,对于采用仿射运动模式的编码块,利用基于双线性模型的高阶运动模型来对其进行再一次的运动估计,提取当前编码块的左上角、右上角、左下角以及右下角这四个边角上的CPMV,将当前编码块划分为互不重叠的,尺寸大小为4×4的子块,之后按照光栅扫描的顺序,对每一个子块均利用双线性插值模型来计算当前子块的MV;
[0008] (3)步骤(2)得到了当前子块的MV,再利用运动补偿插值滤波器来生成当前子块的预测块;
[0009] (4)对基于双线性模型的运动补偿算法所得到结果与VVC已有的仿射运动补偿所得结果,进行率失真代价比较,来选择合适的运动补偿方式。
[0010] 本发明的上述技术方案中,所述的一种基于双线性模型的运动补偿方法,不同于VVC已有的四参数和六参数仿射运动模型,本发明方法利用当前编码块四个边角上CPMV来对其进行仿射运动估计,因此本发明方法能更好地适应一些非平行性的运动,例如非规则的旋转或缩放。
[0011] 根据本发明的上述方法可以编制执行上述一种基于双线性模型的VVC运动补偿方法。
[0012] 本发明是基于以下思路分析而完成的:
[0013] 首先对当前编码块的编码模式进行判断,如果当前编码块根据率失真代价确定选择平移运动模式,则直接跳过本方法。反之,如果当前编码块采用仿射运动模式,则对当前编码块进行CPMV的提取。我们提取当前编码块的左上角、右上角、左下角以及右下角这四个边角上的CPMV,分别记为MV0、MV1、MV2和MV3。将当前编码块划分为互不重叠、尺寸大小为4×4的子块,之后按照光栅扫描的顺序,对每一个子块均利用双线性插值公式来计算当前子块的运动矢量,其具体计算方式如下:
[0014]
[0015] 其中,(x,y)是当前子块中心像素点的坐标,MV(x,y)是当前子块的运动矢量,MVi是当前编码块四个边角上的CPMV, 为每一个CPMV对应的权重系数,其具体计算方式如下:
[0016]
[0017] 其中,W和H分别为当前编码块的宽度和高度。在得到了当前子块的MV后,将利用运动补偿插值滤波器来生成当前子块的预测块。最后,对基于双线性模型的运动补偿所得到结果与VVC已有的仿射运动补偿所得结果,进行率失真代价比较,来选择合适的仿射运动补偿方式。如果本方法所得结果的率失真代价小于最优的仿射运动补偿所得结果的率失真代价,将对当前编码块设置一个标志位flag表明当前编码块将采用本节所提算法进行编码,之后向解码端传送当前编码块四个边角的CPMV以及标志位flag。反之,将VVC已有的仿射运动补偿所得结果作为最终的结果。
[0018] 实验结果表明,相较于VVC,本发明的基于双线性模型的VVC运动补偿方法在全码率段能获得更好的率失真性能。

附图说明

[0019] 图1是本发明的算法流程图。首先对当前编码块的编码模式进行判断,如果当前编码块根据率失真代价确定选择平移运动模式,则直接跳过本方法。反之,如果当前编码块采用仿射运动模式,则对当前编码块进行四个边角点的CPMV的提取。对每一个子块均利用双线性插值公式来计算当前子块的运动矢量MV,在得到了当前子块的MV后,将利用运动补偿插值滤波器来生成当前子块的预测块。最后,对基于双线性模型的运动补偿所得到结果与VVC已有的仿射运动补偿所得结果,进行率失真代价比较,来选择合适的仿射运动补偿方式。如果本方法所得结果的率失真代价小于最优的仿射运动补偿所得结果的率失真代价,将对当前编码块设置一个标志位flag表明当前编码块将采用本节所提算法进行编码,之后向解码端传送当前编码块四个边角的CPMV以及标志位flag。反之,将VVC已有的仿射运动补偿所得结果作为最终的结果。
[0020] 图2是Johnny序列的本发明方法及VVC标准的率失真性能比较。“+”曲线代表本章算法的率失真曲线,“*”曲线代表VTM 3.0的率失真曲线,可以看到本章算法的率失真曲线在VTM 3.0的率失真曲线之上,说明本章算法的性能更优。
[0021] 图3是FourPeople序列的本发明方法及VVC标准的率失真性能比较“+”曲线代表本章算法的率失真曲线,“*”曲线代表VTM 3.0的率失真曲线,可以看到本章算法的率失真曲线在VTM 3.0的率失真曲线之上,说明本章算法的性能更优。

具体实施方式

[0022] 下面结合实施例对本发明作进一步的详细说明,有必要指出的是,以下的实施例只用于对本发明做进一步的说明,不能理解为对本发明保护范围的限制,所属领域技术熟悉人员根据上述发明内容,对本发明做出一些非本质的改进和调整进行具体实施,应仍属于本发明的保护范围。
[0023] 本发明的基于双线性模型的VVC运动补偿方法,与VVC标准测试模型VTM3.0的帧间编码方法比较过程如下:
[0024] 1.打开VTM3.0算法程序,配置文件为encoder_lowdelay_P_main.cfg。在量化参数QP为22,27,32,37的情况下对标准视频测试序列进行编解码,记录标准HEVC视频编码时的码率及峰值信噪比PSNR;
[0025] 2.编码时的对象为标准测试视频序列:
[0026] BQSquare_416×240,RaceHorses_416×240,BasketballDrill_832×480,[0027] PartyScene_832×480,Johnny_1280×720,FourPeople_1280×720,BQTerrace_1920×1080,Kimono_1920×1080;
[0028] 3.利用VTM3.0标准方法对视频序列在VVC方式下进行帧间模式下的视频编解码并记录编码时的码率及峰值信噪比PSNR;
[0029] 4.利用本发明方法对视频序列在VVC方式下进行帧间模式下的视频编解码并记录编码时的码率及峰值信噪比PSNR;
[0030] 实验结果如表1所示,从下表中可以看出在量化参数QP不同的情况下,对于不同分辨率的视频序列,本发明所提方法相比于VVC标准视频压缩编码方法可以节省一定的码率,同时本发明所提方法得到的重建视频的PSNR值优于由VVC标准得到的重建视频的PSNR值,说明本发明所提方法的率失真性能超过了VVC标准。
[0031] 表1.本发明方法与VTM3.0的实验结果比较
[0032]
[0033]