运动矢量预测列表的构建、视频编解码及处理视频码流方法、设备、介质及产品与流程

摘要: 本申请属于视频编解码,尤其涉及一种运动矢量预测列表的构建、视频编解码及处理视频码流方法、设备、介质及产品。背景技术:1、在视频编解码领域中,进行帧间预测时,一般...
运动矢量预测列表的构建、视频编解码及处理视频码流方法、设备、介质及产品与流程

本申请属于视频编解码,尤其涉及一种运动矢量预测列表的构建、视频编解码及处理视频码流方法、设备、介质及产品。

背景技术:

1、在视频编解码领域中,进行帧间预测时,一般会构建运动矢量预测列表,从中选取当前块的运动矢量预测值。运动矢量预测列表可包含链式运动矢量。

2、然而,当前的链式运动矢量预测技术,在图像中存在运动物体时,不同帧之间的量化参数的差异可能较大,这可能导致进行模版匹配时,匹配到的参考块的准确性降低,从而降低链式运动矢量预测值的预测准确性,进而影响运动矢量预测列表的构建准确性。

技术实现思路

1、本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种运动矢量预测列表的构建方法、视频解码方法、视频编码方法、处理视频码流的方法、电子设备、计算机可读存储介质及计算机程序产品,可提高链式运动矢量的预测准确性,提高运动矢量预测列表的构建准确性。

2、第一方面,本申请提供了一种运动矢量预测列表的构建方法。所述构建方法包括在当前图像块的各个候选运动矢量中,确定第一运动矢量;基于所述第一运动矢量,确定所述当前图像块在第一参考帧中的第一参考块;基于所述第一参考块的第二运动矢量,确定所述第一参考块在第二参考帧中的第二参考块;确定所述当前图像块指向所述第二参考块的第三运动矢量;基于当前帧和所述第一参考帧之间的第一距离,以及所述当前帧和所述第二参考帧之间的第二距离,放缩所述第一运动矢量到所述第二参考帧,以确定第四运动矢量;基于所述第三运动矢量和所述第四运动矢量,确定所述当前图像块的链式运动矢量;基于所述链式运动矢量,构建所述当前图像块的运动矢量预测列表。

3、第二方面,本申请提供了一种视频解码方法,所述视频解码方法包括在当前待解码块的各个候选运动矢量中,确定第一运动矢量;基于所述第一运动矢量,确定所述当前待解码块在第一参考帧中的第一参考块;基于所述第一参考块的第二运动矢量,确定所述第一参考块在第二参考帧中的第二参考块;确定所述当前图像块指向所述第二参考块的第三运动矢量;基于当前帧和所述第一参考帧之间的第一距离,以及所述当前帧和所述第二参考帧之间的第二距离,放缩所述第一运动矢量到所述第二参考帧,以确定第四运动矢量;基于所述第三运动矢量和所述第四运动矢量,确定所述当前待解码块的预测块;基于所述预测块,解码所述当前待解码块。

4、第三方面,本申请提供了一种视频编码方法,所述视频编码方法包括在当前编码块的各个候选运动矢量中,确定第一运动矢量;基于所述第一运动矢量,确定所述当前编码块的第一参考块;基于所述第一参考块的第二运动矢量,确定所述第一参考块在第二参考帧中的第二参考块;确定所述当前编码块指向所述第二参考块的第三运动矢量;基于当前帧和所述第一参考帧之间的第一距离,以及所述当前帧和所述第二参考帧之间的第二距离,放缩所述第一运动矢量到所述第二参考帧,以确定第四运动矢量;基于所述第三运动矢量和所述第四运动矢量,确定所述当前编码块的预测块;基于所述预测块和所述当前编码块,确定所述当前编码块的残差值;基于所述残差值对所述当前编码块进行编码。

5、第四方面,本申请提供了一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述运动矢量预测列表的构建方法、视频解码方法或视频编码方法。

6、第五方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述运动矢量预测列表的构建方法、视频解码方法或视频编码方法。

7、第六方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述运动矢量预测列表的构建方法、视频解码方法或视频编码方法。

8、第七方面,一种处理视频码流的方法,所述视频码流根据上述视频编码方法产生,或者基于上述视频解码方法进行解码。

9、第八方面,一种非暂态计算机可读存储介质,其上存储有指令,所述指令被处理器执行时实现上述视频编码方法,产生视频码流并存储。

10、本申请实施例提供的运动矢量预测列表的构建方法、视频解码方法、视频编码方法、处理视频码流的方法、电子设备、计算机可读存储介质及计算机程序产品,首先在当前图像块的各个候选运动矢量中,选取第一运动矢量,然后基于第一运动矢量,找到当前图像块在第一参考帧中对应的的第一参考块,之后基于第一参考块的第二运动矢量,在第二参考帧中找到第一参考块对应的第二参考块,从而确定当前图像块指向第二参考块的第三运动矢量。

11、第三运动矢量与常规的链式运动矢量类似,在图像中存在运动物体时,由于运动物体所在的区域和基本静止的背景区域的量化参数一般差异较大,导致基于模版匹配方式匹配到的第二参考块的准确性可能较低,此时直接基于第三运动矢量来确定当前图像块的运动矢量,准确性较低。

12、而考虑到运动物体在相邻帧之间的运动趋势的基本呈线性变化,通过当前帧和所述第一参考帧之间的第一距离,以及当前帧和所述第二参考帧之间的第二距离,对第一运动矢量进行放缩,得到当前图像块基于运动物体的运动趋势运动后在第二参考帧中对应的参考块,从而得到当前图像块直接指向第二参考帧的第四运动矢量。

13、由于第四运动矢量确定当前图像块的参考块时,无需进行模板匹配,故不受帧间量化参数差异的影响。因此,利用第四运动矢量和第三运动矢量来确定当前图像块的链式运动矢量时,可减少准确性降低的第二参考块对链式运动矢量的预测的影响,提高链式运动矢量的预测准确性,从而提高运动矢量预测列表的构建准确性。

1.一种运动矢量预测列表的构建方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述当前图像块的链式运动矢量基于如下公式确定:

3.根据权利要求1所述的方法,其特征在于,所述当前图像块的链式运动矢量基于如下公式确定:

4.根据权利要求1所述的方法,其特征在于,所述构建所述当前图像块的运动矢量预测列表,包括:

5.根据权利要求1所述的方法,其特征在于,所述候选运动矢量包括所述当前图像块的空域邻近块、空域非临近块、空域历史信息块、及时域同位块中至少一种,所述第一运动矢量包括一个或多个,所述运动矢量列表包括各个所述第一运动矢量各自对应的所述链式运动矢量。

6.根据权利要求4或5所述的方法,其特征在于,所述运动矢量预测列表至少包括2个运动矢量,所述方法还包括:

7.一种视频解码方法,其特征在于,包括:

8.根据权利要求7所述的方法,其特征在于,所述基于所述第三运动矢量和所述第四运动矢量,确定所述当前待解码块的预测块,包括:

9.根据权利要求8所述的方法,其特征在于,所述基于所述当前待解码块的链式运动矢量,确定所述当前待解码块的运动矢量,包括:

10.根据权利要求8所述的方法,其特征在于,所述第一运动矢量为一个,所述基于所述当前待解码块的链式运动矢量,确定所述当前待解码块的运动矢量,包括:

11.根据权利要求7所述的方法,其特征在于,所述第一运动矢量为一个,所述基于所述第三运动矢量和所述第四运动矢量,确定所述当前待解码块的预测块,包括:

12.一种视频编码方法,其特征在于,包括:

13.根据权利要求12所述的方法,其特征在于,所述基于所述第三运动矢量和所述第四运动矢量,确定所述当前编码块的预测块,包括:

14.根据权利要求13所述的方法,其特征在于,所述基于所述当前编码块的链式运动矢量,确定所述当前编码块的运动矢量,包括:

15.根据权利要求13所述的方法,其特征在于,所述第一运动矢量为一个,所述基于所述当前编码块的链式运动矢量,确定所述当前编码块的运动矢量,包括:

16.根据权利要求12所述的方法,其特征在于,所述基于所述第三运动矢量和所述第四运动矢量,确定所述当前编码块的预测块,包括:

17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-16任一项所述的方法。

18.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-16任一项所述的方法。

19.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1-16任一项所述的方法。

20.一种处理视频码流的方法,其特征在于,所述视频码流根据权利要求12-16任一项所述的视频编码方法产生,或者基于权利要求7-11任一项所述的视频解码方法进行解码。

21.一种非暂态计算机可读存储介质,其上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求12-16任一项所述的视频编码方法,产生视频码流并存储。