运动补偿方法、装置、计算机设备以及存储介质

文档序号:1744959 发布日期:2019-11-26 浏览:27次 >En<

阅读说明:本技术 运动补偿方法、装置、计算机设备以及存储介质 (Motion compensation process, device, computer equipment and storage medium ) 是由 陈宇聪 郑云飞 闻兴 陈敏 黄跃 王晓楠 赵明菲 于冰 于 2019-08-23 设计创作,主要内容包括:本公开关于一种运动补偿方法、装置、计算机设备以及存储介质,属于图像处理技术领域,该方法通过将待处理图像块的特征输入至第一目标模型,第一目标模型对待处理图像块进行虚拟切分,输出大于预设尺寸的任一子块,并根据任一子块的尺寸对该待处理图像块进行切分,由于切分后得到的目标子块的尺寸大于预设尺寸,因此,从待处理图像块中切分出的目标子块的个数可控,当目标子块个数较少时,编解码端进行运动补偿的次数就比较少,从而使得内存读取的次数就越少,进而可以降低内存带宽的消耗。(The disclosure is about a kind of motion compensation process, device, computer equipment and storage medium, belong to technical field of image processing, this method is by being input to first object model for the feature of image block to be processed, first object model carries out virtual cutting to image block to be processed, output is greater than any sub-block of pre-set dimension, and cutting is carried out to the image block to be processed according to the size of any sub-block, since the size of the target sub-block obtained after cutting is greater than pre-set dimension, therefore, the number for the target sub-block being syncopated as from image block to be processed is controllable, when target sub-block number is less, encoding and decoding end carries out the number of motion compensation with regard to fewer, so that the number that memory is read is fewer, and then the consumption of memory bandwidth can be reduced.)

运动补偿方法、装置、计算机设备以及存储介质

技术领域

本公开涉及图像处理技术领域,尤其涉及运动补偿方法、装置、计算机设备以及存储介质。

背景技术

随着计算机技术的日趋成熟,视频编解码技术也有很大发展,在对一个图像帧进行视频编解码时,首先,编解码端需要对任一图像进行采样处理,得到一个亮度块和两个色度块;其次,编解码端对每个亮度块和色度块进行切分,得到多个亮度子块和多个色度子块;再次,编解码端获取每个亮度子块的运动向量和每个色度子块的运动向量;最后,编解码端根据每个亮度子块的运动向量对每个亮度子块进行运动补偿,根据每个色度子块的运动向量对每个色度子块进行运动补偿。

在上述图像处理过程中,为了保证子块的运动向量的精度,一般会将亮度块和色度块切分出大量的子块,对于每个子块,解码端都需进行一次运动补偿,那么,当子块数量较多时,编解码端进行运动补偿的次数越多,从而内存读取的次数也就越多,进而使得内存带宽消耗较大。

发明内容

本公开提供一种运动补偿方法、装置、计算机设备以及存储介质,以至少解决相关技术中由于运动补偿次数较多造成的内存带宽消耗较大的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种运动补偿方法,包括:

获取图像中待处理图像块的特征;

将所述特征输入第一目标模型,所述第一目标模型根据所述特征对所述待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,所述任一子块的尺寸大于预设尺寸;

根据所述任一子块的尺寸,对所述待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于所述任一子块的尺寸;

对所述至少一个目标子块进行运动补偿。

可选地,所述对所述至少一个目标子块进行运动补偿之前,所述方法还包括:

获取所述至少一个目标子块的运动向量;

所述对所述至少一个目标子块进行运动补偿包括:

根据所述至少一个目标子块的运动向量,对所述至少一个目标子块进行运动补偿。

可选地,所述获取所述至少一个目标子块的运动向量包括:

当所述待处理图像块为色度块时,根据所述待处理图像块的控制点的运动向量,获取所述至少一个目标子块的运动向量,所述控制点包括所述待处理图像块左上角的像素点以及所述待处理图像块右上角的像素点。

可选地,所述获取所述至少一个目标子块的运动向量包括:

当所述待处理图像块为色度块时,根据对所述任一图像进行采样时亮度块和色度块的对应关系,确定与所述待处理图像块对应的亮度块;

获取所述对应的亮度块中至少一个亮度子块的运动向量;

根据所述至少一个亮度子块的运动向量以及亮度子块与目标子块的对应关系,获取所述至少一个目标子块的运动向量。

可选地,所述获取所述至少一个目标子块的运动向量包括:

当所述待处理图像块为色度块,且所述待处理图像块的尺寸等于所述目标子块尺寸时,将所述特征输入至第二目标模型,所述第二目标模型根据所述特征对所述待处理图像块进行特征提取,输出所述至少一个目标子块的运动向量,每个目标子块的运动向量用于指示所述待处理图像块的一个运动特征。

根据本公开实施例的第二方面,提供一种运动补偿装置,包括:

获取单元,被配置为执行获取图像中待处理图像块的特征;

处理单元,被配置为执行将所述特征输入第一目标模型,所述第一目标模型根据所述特征对所述待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,所述任一子块的尺寸大于预设尺寸;

切分单元,被配置为执行根据所述任一子块的尺寸,对所述待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于所述任一子块的尺寸;

补偿单元,被配置为执行对所述至少一个目标子块进行运动补偿。

可选地,所述获取单元,还被配置为执行获取所述至少一个目标子块的运动向量;

所述补偿单元,还被配置为执行根据所述至少一个目标子块的运动向量,对所述至少一个目标子块进行运动补偿。

可选地,所述获取单元,还被配置为执行:

获取所述至少一个目标子块的运动向量;

所述对所述至少一个目标子块进行运动补偿包括:

根据所述至少一个目标子块的运动向量,对所述至少一个目标子块进行运动补偿。

可选地,所述获取单元,还被配置为执行:

当所述待处理图像块为色度块时,根据所述待处理图像块的控制点的运动向量,获取所述至少一个目标子块的运动向量,所述控制点包括所述待处理图像块左上角的像素点以及所述待处理图像块右上角的像素点。

可选地,所述获取单元,还被配置为执行:

当所述待处理图像块为色度块时,根据对所述任一图像进行采样时亮度块和色度块的对应关系,确定与所述待处理图像块对应的亮度块;

获取所述对应的亮度块中至少一个亮度子块的运动向量;

根据所述至少一个亮度子块的运动向量以及亮度子块与目标子块的对应关系,获取所述至少一个目标子块的运动向量。

可选地,所述获取单元,还被配置为执行:

当所述待处理图像块为色度块,且所述待处理图像块的尺寸等于所述目标子块尺寸时,将所述特征输入至第二目标模型,所述第二目标模型根据所述特征对所述待处理图像块进行特征提取,输出所述至少一个目标子块的运动向量,每个目标子块的运动向量用于指示所述待处理图像块的一个运动特征。

根据本公开实施例的第三方面,提供一种计算机设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置执行为:

获取图像中待处理图像块的特征;

将所述特征输入第一目标模型,所述第一目标模型根据所述特征对所述待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,所述任一子块的尺寸大于预设尺寸;

根据所述任一子块的尺寸,对所述待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于所述任一子块的尺寸;

对所述至少一个目标子块进行运动补偿。

根据本公开实施例的第四方面,提供一种存储介质,当该存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行一种运动补偿方法,该方法包括:

获取图像中待处理图像块的特征;

将所述特征输入第一目标模型,所述第一目标模型根据所述特征对所述待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,所述任一子块的尺寸大于预设尺寸;

根据所述任一子块的尺寸,对所述待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于所述任一子块的尺寸;

对所述至少一个目标子块进行运动补偿。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由计算机设备的处理器执行,已完成上述实施例中提供的运动补偿方法的方法步骤,该方法步骤可以包括:

获取图像中待处理图像块的特征;

将所述特征输入第一目标模型,所述第一目标模型根据所述特征对所述待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,所述任一子块的尺寸大于预设尺寸;

根据所述任一子块的尺寸,对所述待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于所述任一子块的尺寸;

对所述至少一个目标子块进行运动补偿。

本公开的实施例提供的技术方案至少带来以下有益效果:

通过将待处理图像块的特征输入至第一目标模型,第一目标模型对待处理图像块进行虚拟切分,输出大于预设尺寸的任一子块,并根据任一子块的尺寸对该待处理图像块进行切分,由于切分后得到的目标子块的尺寸大于预设尺寸,因此,从待处理图像块中切分出的目标子块的个数可控,当目标子块个数较少时,编解码端进行运动补偿的次数就比较少,从而使得内存读取的次数就越少,进而可以降低内存带宽的消耗。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种运动补偿方法的流程图。

图2是根据一示例性实施例示出的一种运动补偿方法的流程图。

图3是根据一示例性实施例示出的一种待处理图像块的示意图。

图4是根据一示例性实施例示出的一种运动补偿装置的框图。

图5是根据一示例性实施例示出的一种算机设备的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种运动补偿方法的流程图,如图1所示,运动补偿方法用于编解码端中,包括以下步骤。

在步骤S11中,获取图像中待处理图像块的特征。

在步骤S12中,将所述特征输入第一目标模型,所述第一目标模型根据所述特征对所述待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,所述任一子块的尺寸大于预设尺寸。

在步骤S13中,根据所述任一子块的尺寸,对所述待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于所述任一子块的尺寸。

在步骤S14中,对所述至少一个目标子块进行运动补偿。

可选地,所述对所述至少一个目标子块进行运动补偿之前,所述方法还包括:

获取所述至少一个目标子块的运动向量;

所述对所述至少一个目标子块进行运动补偿包括:

根据所述至少一个目标子块的运动向量,对所述至少一个目标子块进行运动补偿。

可选地,所述获取所述至少一个目标子块的运动向量包括:

当所述待处理图像块为色度块时,根据所述待处理图像块的控制点的运动向量,获取所述至少一个目标子块的运动向量,所述控制点包括所述待处理图像块左上角的像素点以及所述待处理图像块右上角的像素点。

可选地,所述获取所述至少一个目标子块的运动向量包括:

当所述待处理图像块为色度块时,根据对所述任一图像进行采样时亮度块和色度块的对应关系,确定与所述待处理图像块对应的亮度块;

获取所述对应的亮度块中至少一个亮度子块的运动向量;

根据所述至少一个亮度子块的运动向量以及亮度子块与目标子块的对应关系,获取所述至少一个目标子块的运动向量。

可选地,所述获取所述至少一个目标子块的运动向量包括:

当所述待处理图像块为色度块,且所述待处理图像块的尺寸等于所述目标子块尺寸时,将所述特征输入至第二目标模型,所述第二目标模型根据所述特征对所述待处理图像块进行特征提取,输出所述至少一个目标子块的运动向量,每个目标子块的运动向量用于指示所述待处理图像块的一个运动特征。

本公开实施例所提供的方法,通过将待处理图像块的特征输入至第一目标模型,第一目标模型对待处理图像块进行虚拟切分,输出大于预设尺寸的任一子块,并根据任一子块的尺寸对该待处理图像块进行切分,由于切分后得到的目标子块的尺寸大于预设尺寸,因此,从待处理图像块中切分出的目标子块的个数可控,当目标子块个数较少时,编解码端进行运动补偿的次数就比较少,从而使得内存读取的次数就越少,进而可以降低内存带宽的消耗。

当编解码端在对任一图像块切分完成后,还可以获取图像块的子块的运动向量,以便编解码端基于图像块的子块的运动向量,对图像块进行运动补偿,为了进一步说明获取子块的运动向量的过程,参见如图2所示的根据一示例性实施例示出的一种运动补偿方法的流程图。

在步骤S21中,编解码端获取待处理图像块的特征。

该待处理图像块可以是对任一图像进行采样后的结果,该待处理图像块可以是色度块,也可以是亮度块。对于任一帧的图像,该图像可以包括多个图像区域,该任一图像为多个图像区域中的任一区域的图像。

在本步骤S21之前,编解码端可以对该任一图像进行色度采样和亮度采样,在一些实施例中,色度采样率为亮度采样率的一半,因此,编解码端可以得到两个色度块和一个亮度块,一个色度块的尺寸为N*N,一个亮度块的尺寸为2N*2N,其中,N为大于0的正整数,那么,这一个亮度块就对应两个色度块。

为了进一步说明亮度块和两个色度块的对应关系,例如,对于该任一图像有三个图像通道分别为Y、U和V,在图像通道Y上,编解码端对该任一图像进行亮度采样,得到一个亮度块,在图像通道U和V上,分别对任一图像进行色度采样,分别得到一个色度块,若任一图像的坐标为(x,y),则亮度块的坐标可以是(x,y),每个色度块的坐标可以是(x/2,y/2),从而亮度块和色度块之间在坐标上存在(x,y)和(x/2,y/2)的对应关系,也即是,若确定亮度块的坐标为(x,y)后,则可直接确定与该亮度块对应的色度块的坐标为(x/2,y/2)。

当该待处理图像块为色度块时,该待处理图像块的特征可以包括控制点的运动向量、色度子块的运动向量以及色度块的像素值等,当该待处理图像块为亮度块时,该图像块的特征可以包括控制点的运动向量、亮度子块的运动向量以及亮度块的像素值。当然,该待出库图像块还可以包括其他特征,本公开实施例对图像块的特征的具体内容不做限定。

该待处理图像块可以包括2个控制点,分别为该待处理图像块左上角的像素点和该待处理图像块右上角的像素点,例如图3所示的根据一示例性实施例示出的一种待处理图像块的示意图中的图像块1,图像块1包括左上角的控制点1和右上角的控制点2,其中,控制点1的运动向量为v0,控制点1的运动向量为v1。当然,待处理图像块还可以包括3个控制点,这三个控制点除了包括上述的2个控制点以外,还包括该待处理图像块左下角的像素点,例如图3中的图像块2,图像块2包括控制点1-3,其中,控制点3的运动向量为v2

编解码端可以根据该待处理图像块周围的已编解码的图像块的运动向量,获取该待处理图像块的控制点的运动向量。

在一些实施例中,待处理图像块中具有默认的子块,编解码端可以将默认的子块的运动向量作为该待处理图像块的一个特征,当默认的子块的数量过多时,编解码端可以通过下述步骤S22-S23所示的过程,对待处理图像块进行重新切分,使得重新切分后的待处理图像块的子块的数量有所减少,从而后续编解码端对子块进行运动补偿的次数就会减少,进而可以降低内存消耗。

当该待处理图像块为亮度块时,该编码端可以根据控制点的运动向量,确定每一个亮度子块的运动向量,具体地,以待处理图像块的左上角的控制点为原点,以待处理图像块的左上角的控制点到右上角的控制点的方向作为x轴的正方向,以待处理图像块的左上角的控制点到左下角的控制点的方向作为y轴的正方向,以x轴正方向上的第i个子块,y轴正方向上的第j个子块为例,(x(i,j),y(i,j))表示第(i,j)个子块的中心点在待处理图像块上的坐标,其中(x(i,j),y(i,j))可以通过公式(1)来确定。

其中,M为一个子块的宽度,N为一个子块的高度。当该待处理图像块包括两个控制点时,对于待处理图像块中的任一子块,可以通过下述公式(2)来确定任一子块的运动向量。

其中,(x,y)为任一子块的中心的坐标,(mvx,mvy)为任一子块的运动向量,(mv1x,mv1y)为待处理图像块右上角的控制点的运动向量,(mv0x,mv0y)为待处理图像块左上角的控制点的运动向量,W为待处理图像块的高度。

再例如,当该待处理图像块有3个控制点时,可以通过下述公式(3)来获取任一子块的运动向量。

其中,(mv2x,mv2y)为待处理图像块左下角的控制点的运动向量,H为待处理图像块的宽度,从而根据公式(1)和(2)可以确定出每个子块的运动向量,也可以通过公式(1)和(3)确定出每个子块的运动向量。

当该待处理图像块为色度块时,编解码端可以先确定与该色度块对应的亮度块,再根据亮度块的切分原则,确定色度块所对应的亮度块的各个亮度子块,然后,再确定色度块的每个色度子块所对应的至少一个亮度子块,最后,编解码端根据每个色度子块所对应的至少一个亮度子块的运动向量,获取每个色度子块的运动向量。

例如,色度块的尺寸为2*2,由2行2列的色度子块组成,与该色度块对应的亮度块的尺寸为4*4,由4行4列的亮度子块组成,对于色度块第1行第1列处的色度子块,对应亮度块中第1行至第2行,第1列至第2列位置处的4个亮度子块,然后,该编解码端可以先获取这4个亮度子块的运动向量,再对这4个亮度子块的运动向量求平均值、中值或者其他值,将求出的平均值或者中值或者其他值作为第1行第1列处的色度子块的运动向量,对于每个色度子块都执行上述获取第一个色度子块的运动向量的过程,则可以获取到色度块内每个色度子块的运动向量。

需要说明的是,本公开实施例对该其他值以及获取图像块的像素值的过程不做具体限定。

在步骤S22中,编解码端将该特征输入第一目标模型,该第一目标模型根据该特征该待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,该任一子块的尺寸大于预设尺寸。

该第一目标模型可以是决策树、支持向量机(support vector machine,SVM)或者神经网络等。本公开实施例对该第一目标模型不做具体限定,该任一子块为第一目标模型对该待处理图像块进行虚拟切分后所得到的任一个子块。

将该特征输入至第一目标模型相当于将该待处理图像块输入至该第一目标模型,为了保证第一目标模型对该待处理图像块虚拟划分出的任一子块的尺寸大于该预设尺寸,该第一目标模型以预设子块为基准,对该任一子块的尺寸进行调整,直至输出尺寸大于该预设尺寸的任一子块,其中,该预设子块为该待处理图像块中的一个预设区域。在一种可能的实现方式中,第一目标模型根据预设子块以及待处理的图像块的特征中与该预设子块对应的特征,获取预设子块的第一预测块;第一目标模型对预设子块增加目标尺寸,得到第一目标子块,其中,第一目标子块的尺寸等于预设子块的尺寸与目标尺寸之和,第一目标模型根据第一目标子块以及待处理的图像块的特征中与该预设子块对应的特征,获取第一目标子块的第二预测块;当该预设子块、第一预测块、第一目标子块以及第二预测块之间的SSE(sum of the squared errors,误差平方和)小于目标数值时,第一目标模型将该第一目标子块作为对该待处理图像虚拟切分后的任一子块,并输出第一目标子块的尺寸,否则,第一目标模型对第一目标子块增加目标尺寸,得到新的第一目标子块,直至预设子块、第一预测块、新的第一目标子块以及新的第一目标子块的第二预测块之间的SSE小于第一目标数值时,第一目标模型将新的第一目标子块作为对该待处理图像虚拟切分后的任一子块,并输出新的第一目标子块的尺寸。

需要说明的是,当该预设子块、第一预测块、第一目标子块以及第二预测块之间的SSE小于目标数值时,第一目标模型输出的第一目标子块的尺寸大于预设尺寸,也即是该任一子块的尺寸大于预设尺寸。其中,上述第一目标模型确定第一目标子块的过程,也即是对待处理图像块进行虚拟切分的过程。

若第一目标模型输出的任一子块的尺寸过小,编解码端基于这个任一子块的尺寸,对待处理图像块进行切分所得到的目标子块的数目就会比较多,进而无法减少运动补偿的次数,那么仍旧无法降低内存带宽的消耗,当第一目标模型输出的任一子块的尺寸大于预设尺寸,可以保证编解码端基于这个任一子块的尺寸,对待处理图像块进行切分后所得到的目标子块的数目就会比较少,进而可以减少运动补偿的次数,从而可以降低内存带宽的消耗。需要说明的是,本公开实施例对该预设尺寸以及第一目标数值不做具体限定。

第一目标模型之能够进行虚拟切分,是因为第一目标模型为基于样本图像块的特征以及设定的该样本图像块的最优子块尺寸所训练出的模型,因此,第一目标模型学习到图像块的特征决定最优子块尺寸的能力。在本步骤S22之前,可以提前训练完成第一目标模型,从而可以使得第一目标模型具体根据待处理图像块的特征确定最优子块尺寸的能力,当编解码端进行编解码时,可以直接将待处理图像块的特征输入第一目标模型,从而该第一目标模型根据自身的能力,可以输出待处理图像块的最优子块尺寸(任一子块的尺寸)。

在一些实施例中,当该待处理图像块为色度块时,该编解码端也可以不通过步骤S21-S22所示的过程来获取到任一子块的尺寸,可以根据亮度块中至少一个亮度子块的运动向量的方差,来获取待处理图像块的任一子块的尺寸。在一种可能的实现方式中,参见下述步骤A-B所示的过程。

步骤A、当该待处理图像块为色度块时,编解码端获取与该待处理图像块对应的亮度块中至少一个亮度子块的运动向量。

编解码端可以先确定待处理图像块对应的亮度块,再获取对应的亮度块中至少一个亮度子块的尺寸,在一种可能的实现方式中,编解码端可以通过下述步骤A1-A2所示的过程来实现本步骤A。

步骤A1、当所述图像块为色度块时,编解码端根据对该任一图像采样时亮度块和色度块的对应关系,确定与该待处理图像块对应的亮度块。

确定色度块所对应的亮度块的方式在步骤S21中有介绍,在此,本公开实施例对本步骤A1不做赘述。

步骤A2、编解码端获取该与该待处理图像块对应的亮度块中至少一个亮度子块的运动向量。

获取该对应的亮度块中至少一个亮度子块的运动向量的过程在步骤S21中有介绍,在此,本公开实施例对本步骤A2不做赘述。

步骤B、编码端端根据该至少一个亮度子块的运动向量的方差的尺寸,确定该待处理图像块的子块尺寸。

编解码端可以先根据该至少一个亮度子块的运动向量,获取方差,然后在执行本步骤B。

在一些实施例中,编解码端可以先预设多个不同的方差范围,每个方差范围对应一个子块尺寸,从而编解码端可以根据获取的方差所属的方差范围,确定获取的方差所属的方差范围所对应的子块尺寸,将该对应的子块尺寸确定为所述待处理图像块的子块尺寸。

例如,表1内存储的多个不同方差范围,当编码端获取的方差在范围1时,则子块的尺寸为3*3,当编码端获取的方差在范围2时,则子块的尺寸为2*2,当编码端获取的方差在范围3时,则子块的尺寸为1*1。

表1

序号 范围区间 子块尺寸
范围1 大于等于0,小于0.2 3*3
范围2 大于等于0.2,小于0.4 2*2
范围3 大于等于0.4,小于0.6 1*1

从而可以直接根据亮度子块的方差,确定色度块中子块的尺寸,计算较为简单。

在步骤S23中,编解码端根据该任一子块的尺寸,对该待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于该任一子块的尺寸。

编解码端可以将第一目标模型输出的任一子块的尺寸作为每个目标子块的尺寸,对该待处理图像块进行切分,当目标子块尺寸等于该待处理图像块的尺寸时,编解码端不对该待处理图像块进行切分,则该待处理图像块也即是一个目标子块,当子目标块尺寸小于该待处理图像块的尺寸时,编解码端对该待处理图像块进行切分,得到至少两个目标子块。

通过上述步骤S21-S23所示的过程,最终得到的目标子块的数目可能较少,有可能影响到运动补偿后得到的待处理图像块的精度,编解码端可以执行下述步骤S24中所示的获取至少一个子块的运动向量,以保证运动补偿后得到的待处理图像块的精度。

在步骤S24中,编解码获取该至少一个目标子块的运动向量。

当该待处理图像块为亮度块时,编解码端获取该亮度块的至少一个目标子块的运动向量。需要说明的是,在步骤S21中介绍了编解码端获取亮度子块的运动向量的过程,因此,本公开实施例对本步骤S24不做赘述。

当该待处理图像块为色度块时,本公开提供下述3种方式来获取至少一个目标子块的运动向量的方法。

第1种方式、当该待处理图像块为色度块时,编解码端根据该待处理图像块的控制点的运动向量,获取该至少一个目标子块的运动向量,该控制点包括该待处理图像块左上角的像素点以及该待处理图像块右上角的像素点。

具体地可以通过公式(1)和(2)来获取每个目标子块的运动向量,或者通过公式(1)和(3)来获取每个目标子块的运动向量。

第2种方式、编解码端根据与该色度块对应的亮度块的至少一个亮度子块的运动向量,获取该色度块内每个目标子块的运动向量。

在一种可能的实现方式中,编解码端可以通过下述步骤1-3所示的过程实现第2种方式。

步骤1、当该待处理图像块为色度块时,编解码端根据对该任一图像采样时亮度块和色度块的对应关系,确定与所述图像块对应的亮度块。

确定色度块所对应的亮度块的方式在步骤S21中有介绍,在此,本公开实施例对本步骤1不做赘述。

步骤2、编解码端获取所述与所述图像块对应的亮度块中至少一个亮度子块的运动向量。

获取所述亮度块中至少一个亮度子块的运动向量的过程在步骤S21中有介绍,在此,本公开实施例对本步骤2不做赘述。

步骤3、编解码端根据所述至少一个亮度子块的运动向量以及亮度子块与目标子块的对应关系,获取所述至少一个目标子块的运动向量。

当该待处理图像块我色度块时,目标子块也即是色度子块,亮度子块与色度子块的对应关系,在步骤S21中有介绍,本公开实施例对该对应关系不做赘述,根据所述至少一个亮度子块的运动向量,获取所述至少一个色度子块的运动向量的过程,在步骤S21中有介绍,在此,本公开实施例对本步骤3不做赘述。

需要说明的是,当待处理图像块本身作为一个目标子块时,该待处理图像块的子块的运动向量也即是待处理图像块的中心的运动向量。当待处理图像块本身作为一个目标子块时,若编解码端对该待处理图像块进行运动补偿,仅进行一次运动补偿即可,而无需进行多次运动补偿,则可以最大限度的降低内存的消耗。

第3种方式、当该待处理图像块为色度块,且该待处理图像块的尺寸等于该目标子块尺寸时,将该特征输入至第二目标模型,该第二目标模型根据该特征对该待处理图像块进行特征提取,输出该至少一个目标子块的运动向量,每个目标子块的运动向量用于指示该待处理图像块的一个运动特征。

该第二目标模型可以是决策树、SVM或者神经网络等。本公开实施例对该第二目标模型不做具体限定。该编解码端可以先进行模型训练,得到该第二目标模型,使得第二模型具有根据图像块的特征对图像块进行特征提取的能力,从而当该编解码端将待处理图像块的特征输入至第二目标模型时,第二目标模型可以直接根据该特征对该待处理图像块进行特征提取,输出该至少一个目标子块的运动向量。需要说明的是,当该目标子块的尺寸等于该待处理图像块的尺寸时,说明该待处理图像块本身就是自己的子块,那么,第二目标模型输出一个目标子块的运动向量,也即是整个待处理图像块的运动向量。

其中,对第二目标模型进行模型训练的过程可以是:编解码端将样本图像块的特征以及预设运动向量输入至第二目标模型,该预设运动向量为预设的样本图像块的运动向量,第二目标模型基于该样本图像块的特征,在目标运动向量附近进行搜索,得到至少一个目标运动向量;第二目标模型基于至少一个目标运动向量,获取该样本图像块的至少一个预测块,其中,每个预测块对应一个目标运动向量,当该至少一个预测块中的部分预测块与该样本图像块之间的SSE均小于第二目标数值时,该第二目标模型将该部分预测块中与该样本图像块之间的SSE最小的预测块,作为最优预测块,并将与该最优预测块对应的目标运动向量作为样本图像块的最优运动向量,此时完成了对第二目标模型的训练。

训练后的第二目标模型能够对预设运动向量、最优运动向量以及样本图像块的特征进行学习,由于图像块的特征包括像控制点的运动向量以及像素值等,且样本图像块的每个目标运动向量与样本图像块的控制点的运动向量有关,从而第二目标模型可以根据样本图像块和待处理图像块的像素值间的纹理和相对位置特性,对控制点的运动向量进行修正,使得最终输出的运动向量要优于直接由控制点推导的运动向量,也即是训练后的第二目标模型可以根据该特征对该待处理图像块进行特征提取,输出该至少一个目标子块的运动向量,那么,后续编解码端可以直接将待处理图像块的特征输入至训练后的第二目标模型,以获取待处理图像块的目标子块的运动向量。

需要说明的是,以上三种获取目标子块的运动向量的方式,获取的都是目标子块中心的像素点的运动向量,由于目标子块中心的像素点的运动向量相对于目标子块中其他像素点的运动向量更能体现出整个目标子块的运动向量,因此,将目标子块中心的像素点的运动向量作为目标子块的运动向量,并根据目标子块的运动向量对目标子块进行运动补偿所得到的补偿后的目标子块的精度较高。并且,通过方式3还可以对目标子块的控制点的运动向量进行修正,从而使得最终获取的目标子块的目标向量达到最优,因此,可以进一步地提高补偿后的目标子块的精度。其中,根据目标子块的运动向量对目标子块进行运动补偿的过程参见步骤S25。

在步骤S25中、编解码端根据该至少一个目标子块的运动向量,对该至少一个目标子块进行运动补偿。

对于该至少一个目标子块中的任一目标子块,编解码端在确定任一目标子块的运动向量后,根据任一目标子块的运动向量所指示的图像块以及该任一目标子块,获取该任一目标子块的残差,该残差为任一目标子块的运动向量所指示的图像块与该任一目标子块之间的像素差,当编解码端在对该任一目标子块进行运动不尝时,该编解码端可以根据该任一目标子块的残差以及任一目标子块的运动向量所指示的图像块,从而实现对任一目标子块进行运动补偿的过程。

对于该至少一个目标子块都执行上述对任一目标子块进行运动补偿的过程,则可以实现对该至少一个目标子块进行运动补偿。

需要说明的是,本步骤S25所示的过程也即是对该至少一个目标子块进行运动补偿的过程。

本公开实施例所提供的方法,通过将待处理图像块的特征输入至第一目标模型,第一目标模型对待处理图像块进行虚拟切分,输出大于预设尺寸的任一子块,并根据任一子块的尺寸对该待处理图像块进行切分,由于切分后得到的目标子块的尺寸大于预设尺寸,因此,从待处理图像块中切分出的目标子块的个数可控,当目标子块个数较少时,编解码端进行运动补偿的次数就比较少,从而使得内存读取的次数就越少,进而可以降低内存带宽的消耗。并且,由于目标子块中心的像素点的运动向量相对于目标子块中其他像素点的运动向量更能体现出整个目标子块的运动向量,因此,将目标子块中心的像素点的运动向量作为目标子块的运动向量,并根据目标子块的运动向量对目标子块进行运动补偿所得到的补偿后的目标子块的精度较高。

图4是根据一示例性实施例示出的一种运动补偿装置框图。参照图4,该装置包括获取单元401、处理单元402、切分单元403和补偿单元404。

该获取单元401,被配置为执行获取图像中待处理图像块的特征;

该处理单元402,被配置为执行将所述特征输入第一目标模型,所述第一目标模型根据所述特征对所述待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,所述任一子块的尺寸大于预设尺寸;

该切分单元403,被配置为执行根据所述任一子块的尺寸,对所述待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于所述任一子块的尺寸;

补偿单元404,被配置为执行对所述至少一个目标子块进行运动补偿。

可选地,所述获取单元401,还被配置为执行获取所述至少一个目标子块的运动向量;

所述补偿单元404,还被配置为执行根据所述至少一个目标子块的运动向量,对所述至少一个目标子块进行运动补偿。

可选地,所述获取单元401,还被配置为执行:

获取所述至少一个目标子块的运动向量;

所述对所述至少一个目标子块进行运动补偿包括:

根据所述至少一个目标子块的运动向量,对所述至少一个目标子块进行运动补偿。

可选地,所述获取单元402,还被配置为执行:

当所述待处理图像块为色度块时,根据所述待处理图像块的控制点的运动向量,获取所述至少一个目标子块的运动向量,所述控制点包括所述待处理图像块左上角的像素点以及所述待处理图像块右上角的像素点。

可选地,所述获取单元403,还被配置为执行:

当所述待处理图像块为色度块时,根据对所述任一图像进行采样时亮度块和色度块的对应关系,确定与所述待处理图像块对应的亮度块;

获取所述对应的亮度块中至少一个亮度子块的运动向量;

根据所述至少一个亮度子块的运动向量以及亮度子块与目标子块的对应关系,获取所述至少一个目标子块的运动向量。

可选地,所述获取单元403,还被配置为执行:

当所述待处理图像块为色度块,且所述待处理图像块的尺寸等于所述目标子块尺寸时,将所述特征输入至第二目标模型,所述第二目标模型根据所述特征对所述待处理图像块进行特征提取,输出所述至少一个目标子块的运动向量,每个目标子块的运动向量用于指示所述待处理图像块的一个运动特征。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的一种计算机设备的结构示意图,该计算机设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上CPU(centralprocessing units,处理器)501和一个或一个以上的存储器502,其中,所述存储器502中存储有至少一条指令,所述至少一条指令由所述处理器501加载并执行以实现上述或下述各个方法实施例提供的方法。当然,该计算机设备500还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备500还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种存储介质,例如包括指令的存储器,上述指令可由计算机设备中的处理器执行以完成下述实施例中运动补偿方法。例如,所述存储介质可以是ROM(read-only memory,只读存储器)、RAM(random access memory,随机存取存储器)、CD-ROM(compact disc read-only memory,只读光盘)、磁带、软盘和光数据存储设备等。

示例性,还提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由计算机设备的处理器执行,已完成上述实施例中提供的运动补偿方法的方法步骤,该方法步骤可以包括:

获取图像中待处理图像块的特征;

将所述特征输入第一目标模型,所述第一目标模型根据所述特征对所述待处理图像进行虚拟切分,输出虚拟切分后任一子块的尺寸,所述任一子块的尺寸大于预设尺寸;

根据所述任一子块的尺寸,对所述待处理图像块进行切分,得到至少一个目标子块,每个目标子块的尺寸等于所述任一子块的尺寸;

对所述至少一个目标子块进行运动补偿。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种对高概率运动矢量映射的编码及解码方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类