视频帧图像运动估计方法及相关设备与流程

文档序号:33027062发布日期:2023-01-20 19:50阅读:29来源:国知局
视频帧图像运动估计方法及相关设备与流程

1.本发明涉及视频插帧技术领域,尤其涉及一种视频帧图像运动估计方法及相关设备。


背景技术:

2.视频插帧的运动估计过程中,需先将一帧视频图像分成不重叠的图像块,对于当前帧中的每一个图像块到参考帧中的一定搜索范围,找到与当前帧中的图像块最相似的匹配块,进而计算出运动向量。
3.现有多种运动估计算法。光流法是对每个像素点都独立计算运动向量获得光流场来进行运动估计。像素递归法通过对每个像素采用递归的方式更新预测值从而获得运动向量。基于块匹配的运动估计算法,通过像素间的物理距离来搜索图像中相邻帧的图像块,并根据匹配法则找到最好的结果。最简单的块匹配算法是全搜索法,在给定一个搜索范围内,例如整幅图像,依次搜索匹配块。三维递归搜索(3-dimension recursive search,3drs)法是一种块匹配算法,它的当前块继承了临近块的运动向量,根据匹配准则,计算当前块和每个候选向量对应的块的代价值,通过比较代价值找最相似的块。
4.但是采用3drs算法进行视频帧图像的运动估计,存在搜索范围较小,没有考虑视频的整体运动情况,没有进行精确搜索等问题,而3drs算法与其他现有算法结合进行运动估计,又存在计算复杂,运动估计耗费时间长等问题。


技术实现要素:

5.本发明实施例提供了一种视频帧图像的运动估计方法及相关设备,可以增加运动估计的搜索范围,同时不需要大量的计算,提升运动估计的整体效率和准确率。
6.第一方面,本发明实施例提供了一种视频帧图像的运动估计方法,该方法包括:获取目标视频中的第一帧图像,将第一帧图像划分为多个图像块;获得多个图像块中的第一中心图像块;采用第一中心图像块进行针对第一候选搜索集合中的多个第一候选图像块的粗略搜索,根据粗略搜索结果确定第二中心图像块,其中,第一候选图像块根据第一帧图像的相邻帧图像中的图像块确定;根据第二中心图像块确定第二候选搜索集合中的多个第二候选图像块,第二候选图像块根据第二中心图像块与其他图像块之间的步长距离确定,其他图像块与第二中心图像块位于同一帧图像;采用第一中心图像块进行针对多个第二候选图像块的精确搜索,根据精确搜索结果确定第一中心图像块的运动估计结果;根据第一帧图像的多个图像块的运动估计结果确定第一帧图像的运动估计结果。
7.可见,在本技术实施例中,对视频帧图像中的图像块进行运动估计时,采用全搜索法进行帧图像上每个图像块的运动估计,针对每个图像块的搜索过程,进行两次搜索,分别为粗略搜索和精确搜索,粗略搜索的第一候选搜索集合根据当前进行运动估计的帧图像的相邻帧图像的图像块确定,精确搜索的第二候选搜索集合基于粗略搜索的结果获取预设步长内的图像块,该过程通过两次搜索扩大了搜索范围,提升了搜索结果。另外获取搜索集合
的过程计算简单,提升了搜索过程的效率。
8.第二方面,本发明实施例提供了一种运动估计装置,该装置包括:获取模块,用于获取目标视频中的第一帧图像;处理模块,用于将第一帧图像划分为多个图像块,获得多个图像块中的第一中心图像块;该处理模块,还用于采用第一中心图像块进行针对第一候选搜索集合中的多个第一候选图像块的粗略搜索,根据粗略搜索结果确定第二中心图像块,其中,第一候选图像块根据第一帧图像的相邻帧图像中的图像块确定;该处理模块,还用于根据第二中心图像块确定第二候选搜索集合中的多个第二候选图像块,第二候选图像块根据第二中心图像块与其他图像块之间的步长距离确定,其他图像块与第二中心图像块位于同一帧图像;该处理模块,还用于采用第一中心图像块进行针对多个第二候选图像块的精确搜索,根据精确搜索结果确定第一中心图像块的运动估计结果;根据第一帧图像的多个图像块的运动估计结果确定第一帧图像的运动估计结果。
9.第三方面,本发明实施例提供了一种运动估计设备,包括:处理器和存储器;
10.所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如第一方面所述的视频帧图像的运动估计方法。
11.第四方面,本技术实施例提供一种芯片系统,包括:处理器,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得该芯片系统实现上述第一方面或第一方面的任一种可能的实现方式中的方法。
12.第五方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如第一方面所述的视频帧图像的运动估计方法。
13.第六方面,本技术实施例提供一种计算机程序产品,当计算机读取并执行计算机程序产品时,使得计算机执行上述第一方面或第一方面的任一种可能的实现方式中的方法。
附图说明
14.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1为本技术实施例提供的一种全搜索匹配方法示意图;
16.图2a为本技术实施例提供一种视频帧图像运动估计方法流程图;
17.图2b为本技术实施例提供的一种第一帧图像划分图像块的示意图;
18.图2c为本技术实施例提供的一种获取多个第一候选图像块的过程示意图;
19.图2d为本技术实施例中提供的一种运动向量聚类流程图;
20.图2e为本技术实施例提供的一种确定多个第二候选图像块的过程示意图;
21.图3为本发明实施例提供的一种运动估计装置的结构示意图;
22.图4为本发明实施例提供的一种运动估计设备的结构示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述。
24.应当理解,本技术的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本发明所描述的实施例可以与其它实施例相结合。
26.首先对本技术实施例中可能涉及的专业术语进行介绍。
27.运动估计(motion estimation,me):将一帧图像分成许多互不重叠的图像块,并认为图像块内所有像素的位移量都相同,对每个图像块到参考帧某一给定搜索范围内根据一定的匹配准则找出与其最相似的图像块,即匹配块,并得出两个图像块空间位置的相对偏移量的过程。
28.运动向量(motion vector,mv):匹配块与当前块(被用于进行匹配搜索的图像块)的相对偏移量即为运动向量。
29.运动向量场:一帧图像中所有图像块的运动向量构成运动向量场。
30.运动补偿:通过原始帧和运动信息,重建出原本不存在的中间帧的过程。
31.视频插帧:在视频序列中,通过运动估计与运动补偿等操作,产生新的帧,提升视频的时间分辨率的过程。
32.内插帧:一个视频序列的两帧之间,通过视频插帧方法产生的新的帧。
33.基于运动估计和运动补偿的视频序列的插帧过程需要利用前后相邻帧的信息,估计出内插帧相对于它们的运动。内插帧的质量好坏,取决于运动估计的准确性。为了得到质量好的内插帧,需要选用能得到真实运动向量场的运动估计算法。现有的运动估计算法,有的计算复杂度高,不易于实现,如光流场;全搜索法为最简单的块匹配算法,在给定一个搜索范围内,例如整幅图像,依次搜索匹配块,具体如图1所示,对当前帧中的图像块,在参考帧中的搜索范围内搜索匹配块然后获得运动向量,该搜索算法精度高但是计算量过于庞大;在限定的搜索范围中搜索匹配块,虽然降低了运算量,但是给定的图像块不能很好的表示物体的真实运动。
34.基于上述描述,请参阅图2a,图2a为本技术实施例提供一种视频帧图像运动估计方法流程图,如图2a所示,该方法包括如下步骤:
35.101、获取目标视频中的第一帧图像,将第一帧图像划分为多个图像块;
36.102、获得多个图像块中的第一中心图像块;
37.103、采用第一中心图像块进行针对第一候选搜索集合中的多个第一候选图像块的粗略搜索,根据粗略搜索结果确定第二中心图像块,其中,第一候选图像块根据第一帧图像的相邻帧图像中的图像块确定;
38.104、根据第二中心图像块确定第二候选搜索集合中的多个第二候选图像块,第二候选图像块根据第二中心图像块与其他图像块之间的步长距离确定,其他图像块与第二中
心图像块位于同一帧图像;
39.105、采用第一中心图像块进行针对多个第二候选图像块的精确搜索,根据精确搜索结果确定第一中心图像块的运动估计结果;
40.106、根据第一帧图像中的多个图像块的运动估计结果确定第一帧图像的运动估计结果。
41.在本技术实施例中,目标视频为需要进行插帧的视频,获取目标视频图像中的第一帧图像,第一帧图像为未知运动方向的帧图像,且企图在第一帧图像后进行视频插帧,即使说,假设第二帧图像为第一帧图像相邻的下一帧图像,为了确定如何在第一帧图像和第二帧图像之间进行视频插帧,需要对第一帧图像进行运动估计,具体为获取第一帧图像运动到第二帧图像所对应的运行向量。
42.将第一帧图像划分为多个图像块,请参阅图2b,图2b为本技术实施例提供的一种第一帧图像划分图像块的示意图,如图2b中的(a)所示,可以是将第一帧图像划分为多个大小形状相同的图像块,或者,如图2b中的(b)也可以是将第一帧图像按照像素值划分大小不同的图像块,例如,针对帧图像中像素值较大(颜色较深)的区域,划分更小的图像块,即进行更细致的划分,针对帧图像中像素值较小(颜色较浅)的区域,划分更大的图像块,即进行更粗略的划分。这种划分方式是基于通常情况下认为颜色较深的区域有更多的细节,因此需要进行更细致的匹配。
43.在本技术实施例中,以将第一帧图像划分为多个大小形状相同的图像块的方法为例进行说明,将第一帧图像按照预设的尺寸划分为若干个大小相同的矩形,每一个矩形对应为一个图像块。可以选择其中任意一个图像块作为第一中心图像块,用于进行运动估计。如图2b中的(a)所述,图像块c即为本技术实施例所选择的第一中心图像块。
44.然后采用第一中心图像块进行与参考帧中图像块的搜索匹配,确定与第一中心图像块匹配度最高的匹配块,计算获得第一中心块与匹配块之间的运动向量,并根据该运动向量完成对第一中心图像块的运动估计。其中参考帧可以是前向参考帧或后向参考帧,前向参考帧表示当前帧(当前需要进行运动估计的图像帧)在当前时刻的前一时刻所对应的图像帧,后向参考帧表示当前帧在下一时刻可能运动到的图像帧,当前帧与前向参考帧的搜索匹配表示针对当前时刻的前一时刻的运动估计,当前帧与后向参考帧的搜索匹配表示针对当前时刻的下一时刻的运动估计。本技术实施例中以与后向参考帧的搜索匹配进行运动估计为例进行说明。
45.在本技术实施例中,采用第一中心图像块进行与参考帧(与第一帧图像相邻的下一帧图像)中图像块的搜索匹配,具体包括:采用第一中心图像块进行针对第一候选搜索集合中的多个第一候选图像块的粗略搜索,根据粗略搜索结果确定第二中心图像块,其中,第一候选图像块根据第一帧图像的相邻帧图像中的图像块确定;采用第二中心图像块进行针对第二候选搜索集合中的多个第二候选图像块的精确搜索,根据精确搜索结果确定第一帧图像的运动估计结果,其中,第二候选图像块根据第二中心图像块与其他图像块之间的步长距离确定,其他图像块与第二中心图像块位于同一帧图像。
46.根据上述描述可知,在第一中心图像块进行与参考帧中图像块的搜索匹配的过程中,需要进行两次搜索,第一次为粗略搜索,用于确定第二中心图像块,第二次为精确搜索,用于最终确定运动估计结果。粗略搜索实际上是将第一中心图像块与第一候选搜索集合中
的多个第一候选图像块进行匹配运算,然后根据匹配结果确定一个第二中心图像块。第二中心图像块可以是第一候选图像块中与第一中心图像块匹配度最高的匹配块,也可以是在匹配块基础上经过调整后获得的图像块。其中第一候选图像块是根据第一帧图像的相邻帧图像中的图像块确定的,例如第一候选图像块可以是第一中心图像块的相邻图像块在相邻帧图像中对应的图像块,相邻帧图像可能是第一帧图像的上一帧图像或者下一帧图像,对应的图像块表示同一个像素图像在不同时刻时,在不同帧图像上对应的图像块。或者第一候选图像块可以是根据上一帧图像块的运动向量预测到的第一中心图像块可能在下一帧图像上对应的图像块等。
47.根据粗略搜索结果确定第二中心图像块后,再根据第二中心图像块确定第二候选搜索集合中的多个第二候选图像块,第二中心图像块为与第一帧图像相邻的下一帧图像(可以被命名为第二帧图像)上的图像块,即是说,经过粗略搜索后,确定第一中心图像块在第一帧图像变换到下一时刻的第二帧图像时,可能位于第二中心图像块的位置。进一步地,第二中心图像块可能并不是第二帧图像上与第一中心图像块匹配度最高的图像块,因此,还可以进一步获取第二帧图像上的多个第二候选图像块,然后从第二候选图像块中获取与第一中心图像块匹配度最高的匹配块,确定为第一中心图像块在第一帧图像变换到下一时刻的第二帧图像时,最终可能所在的位置。
48.第一帧图像中的每个图像块都可以被选择成为第一中心图像块,然后采用上述方法进行运动估计,最后根据每个图像块的运动向量确定第一帧图像的运动估计结果,进而确定进行视频插帧的位置。
49.可见,在本技术实施例中,通过获取目标视频图像中的第一帧图像,再获取第一帧图像中的第一中心图像块,针对第一中心图像块进行粗略搜索和精确搜索,其中粗略搜索时用于进行匹配搜索的图像块根据第一帧图像的相邻帧图像中的图像块确定,精确搜索时用于进行匹配搜索的图像块根据粗略搜索确定的第二中心图像块,以及第二中心图像块与预设步长范围内的图像块的匹配结果确定,最后获取与第一中心图像块匹配度最高的图像块作为最终匹配块,再确定第一中心图像块的运动估计结果。该过程通过两次搜索扩大了搜索范围,提升了搜索结果。另外获取候选图像块的过程计算简单,提升了搜索过程的效率。
50.可选地,该方法还包括确定第一候选搜索集合中的多个第一候选图像块。具体请参阅图2c,图2c为本技术实施例提供的一种获取多个第一候选图像块的过程示意图,如图2c中的(b)所示,fn为第一帧图像,也即为当前帧,其中的图像块c为获取的第一中心图像块,首先,在当前帧fn上,图像块c的左边和上方的第一图像块s1和第二图像块s2已经完成运动估计搜索,且空间上较其他块与图像块c的更接近,所以选择s1和s2的预测向量作为空间预测向量,即是说,如图2c中的(c)所示,根据s1和s2各自对应的预测运动向量计算获取其各自在第二帧图像f
n+1
上的第三图像块s1’和第四图像块s2’,作为两个第一候选图像块。第二帧图像f
n+1
为与fn相邻的下一帧图像。
51.另外如图2c中的(a)所示,f
n-1
是当前帧fn的前一帧图像,被称为第三帧图像,选取f
n-1
中对应图像块c’的右边相邻的第五图像块t1和下边相邻的第六图像块t2作为时间预测向量,其中图像块c’为fn中图像块c在上一帧图像上对应的图像块。按照图像中物体运动的连续性,假定图像块c跟图像块t1及t2有相同的运动向量,那么t1和t2在fn中对应的图像块
为t1’和t2’,也为图像块c右边相邻的图像块和下边相邻的图像块,t1’和t2’保持上一帧图像上t1和t2的运动向量,可以获得其在f
n+1
上对应的第七图像块t1”和第八图像块t2”,也作为另外两个第一候选图像块。
52.另外,获取图像块c在f
n+1
中的相同位置对应的图像块zero,作为零点图像块。相同位置是指图像块zero在f
n+1
中的坐标位置与图像块c在fn中的坐标位置相同。零点图像块也为一个第一候选图像块。
53.对于运动复杂的区域,还可以增加一些时空邻域的图像块提高插帧质量,因此可以添加一些时间域的全局运动向量作为第一候选搜索集合的补充。
54.全局运动向量主要是考虑到对于运动复杂的区域,采用根据第一中心图像块的相邻图像块确定的第一候选图像块进行搜索,可能无法捕获需要的变量,所以通过增加全局运动向量的方法来弥补,将上一帧图像对应的全局运动向量用于第一中心图像块的粗略搜索过程。
55.全局运动向量表示的是整帧图像中每个图像块的运动向量通过一定方法分类后,数量占比较多的类别的运动向量。为了找到大部分图像块的运动向量,可以对上一帧图像中的运动向量进行分类。
56.具体请参阅图2d,图2d为本技术实施例中提供的一种运动向量聚类流程图,如图2d所示,第三帧图像(第一帧图像的上一帧图像)的全局运动向量获取过程包括如下步骤:
57.201、将类的中心初始化为零向量,类别个数k=1,选取的类别x=0,设定一个距离d;
58.202、判断选取的类别个数x是否小于4;
59.203、如果是,则计算一行图像块中的运动向量和已有类的中心向量的距离d,并将距离d与距离同d进行比较;
60.204、如果距离d小于或等于距离d,则将该图像块的运动向量与已有类划分为一类,添加新的运动向量后,类中的运动向量个数+1,表示为count++;
61.205、如果距离d大于距离d,则将该图像的运动向量归为一个新的类,类别个数k++;确定类的总个数k是否小于k,如果是,则执行步骤206;如果否,则停止聚类;
62.207、一个类中添加新的运动向量,重新计算当前类中运动向量的平均值,并将该平均值更新为新的类中心向量mv_c,执行步骤202;
63.208、聚类完成后,获取类中运动向量个数count超过帧图像每行图像块个数的1/8,且运动向量个数排行前四的目标类;
64.209、获取目标类的目标中心向量mv_c,根据目标中心向量和第一中心图像块确定f
n+1
上的全局图像块。
65.根据上述描述可知,对第三帧图像的每一个图像块的运动向量进行聚类,获得若干个分类类别,该若干个分类类别总个数不能大于k,本技术实施例中k可以最大设置为16,在一些情况下,如果第三帧图像为一个面积较小的图像,则k可以为小于16的值。选取其中运动向量个数超过第三帧图像每行图像块个数的1/8,且运动向量个数排行前四的目标类,每行图像块个数即为对第三帧图像横向划分的图像块个数。获得排行前四的目标类,则可以获取该4个目标类的中心向量,根据该4个中心向量,可以计算获得第一中心图像块在第二图像帧上对应的4个全局图像块,也为第一候选搜索集合中的图像块。
66.根据上述描述可知,第一候选搜索集合中包括总共9个第一候选图像块。获得第一候选搜索集合中的全部第一候选图像块后,将第一中心图像块与多个第一候选图像块分别进行匹配运算(也即粗略搜索),获得与第一中心图像块匹配度最高的图像块,作为第二中心图像块。图像之间的匹配算法包括基于灰度的匹配算法和基于特征的匹配算法,基于特征的匹配方法中又包括平均绝对差(median absolute deviation,mad)算法,绝对误差和(sum of absolute differences,sad)算法,误差平方和(sum of squared difference,ssd)算法等。本技术实施例中采用sad算法,通过求取第一中心图像块与第一候选图像块每一个对应的像素块内像素值之差的绝对值之和来确定第一中心图像块与第一候选图像块的匹配度,sad值越大,表示两个图像块的匹配度越低。该过程具有计算复杂度低的优势,能够保证较高的粗略搜索效率。最后,获取第一候选图像块中与第一中心图像块匹配度最高的图像块,作为第二中心图像块。
67.在可选情况下,为了对不断获得的实际数据和原预测数据给以加权平均使预测结果更接近于实际情况,也可以在计算第一候选图像块与第一中心图像块的匹配度时,在根据sad算法获得两者之间的像素值之差的绝对值之和(第一绝对误差和)之和,再添加平滑项smoothness1,即对第一绝对误差和与平滑项求和,获得第一估计值,平滑项具体为:
68.smoothness1=∑|mv
c1-mv
neighbor
|
ꢀꢀꢀ
(1)
69.其中mv
c1
表示第一候选图像块的运动向量,mv
neighbor
表示第一中心图像块在第一帧图像上的8个相邻图像块的运动向量,其中s1和s2的运动向量为空间预测向量,t1和t2的运动向量为时间预测向量,zero的运动向量为零向量。
70.最后根据第一估计值确定第一中心图像块与第一候选图像块之间的匹配度,第一估计值越大,表示匹配度越低。
71.可见,在本技术实施例中,在选择第一中心图像块进行粗略搜索对应的第一候选搜索集合中的多个第一候选图像块时,考虑了时间预测向量结合第一中心图像块相邻图像块获得的图像块,以及空间预测向量结合第一中心图像块相邻图像块获得的图像块,以及第一中心图像块在下一帧图像上相同位置对应的图像块,还有根据上一帧图像的全局运动向量确定的全局图像块。该过程充分考虑了第一中心图像块的相邻图像块在各种情况下可能对应的候选图像块,同时考虑了上一帧图像的全局运动向量,提升了获得的第一候选搜索集合的代表性和全面性,进而提升了粗略搜索结果的可靠性。
72.在完成粗略搜索后,进一步进行精确搜索,根据前面过程可知,精确搜索时所采用的第二候选搜索集合中的多个第二候选图像块由第二中心图像块与其他图像块之间的步长距离确定。第二中心图像块和其他图像块都位于第二帧图像上,步长距离表示图像块之间的直线距离,相邻图像块之间的步长距离为1。
73.具体地,请参阅图2e,图2e为本技术实施例提供的一种确定多个第二候选图像块的过程示意图,第二中心图像块为图像块c0,如图2e中的(a)所示,获取与第二中心图像块步长距离为第一距离的图像块作为第一步长图像块,第一距离例如可以为1,即获取与第二中心图像块步长距离为1的图像块作为第一步长图像块,具体为图中标记为1的图像块,包括与图像块c0相邻的8个图像块。然后将这8个图像块分别与图像块c0进行匹配运算,同样可以使用前述描述的图像匹配算法,获得与图像块c0匹配度最高的第一步长图像块,为第三中心图像块1-c0,然后获取与图像块1-c0步长距离为1的图像块作为第二步长图像块,即
为图中标记为1’的图像块,实际上第二步长图像块与第一步长图像块有重叠,重叠部分作为第一步长图像块,不再重复记录为第二步长图像块。
74.然后,如图2e中的(b)所示,获取与第二中心图像块步长距离为第二距离的图像块作为第三步长图像块,第二距离可以为3,即获取与第二中心图像块步长距离为3的图像块作为第三步长图像块,具体为图中标记为3的8个图像块。将这8个图像块分别与图像块c0进行匹配运算,获得与图像块c0匹配度最高的第三步长图像块,作为第四中心图像块3-c0,然后获取与图像块3-c0步长距离为3的图像块作为第四步长图像块,即为图中标记为3’的图像块。同样的,第四步长图像块中包含与第三步长图像块重叠的图像块,重叠部分作为第三步长图像块,不再重复记录为第四步长图像块。
75.根据上述方法获取的第二中心图像块,第一步长图像块,第二步长图像块,第三步长图像块和第四步长图像块组成第二候选搜索集合中的多个第二候选图像块。然后采用第一中心图像块进行针对多个第二候选图像块的精确搜索,即是将第二中心图像块分别与多个第二候选图像块中的每个图像块进行图像匹配,采用的匹配方法例如可以为前述描述的基于灰度的匹配算法或者基于特征的匹配算法,特别地,可以采用sad算法,能够提升匹配效率。最后获取多个第二候选图像块中与第一中心图像块匹配度最高的图像块,被称为最终匹配块。
76.可选情况下,在计算第二候选图像块与第一中心图像块的匹配度时,在根据sad算法获得两者之间的像素值之差的绝对值之和(第二绝对误差和)之和,也可以再添加平滑项smoothness2和距离差distance,即对第二绝对误差和与平滑项以及距离差求和,获得第二估计值,对应公式为:
77.smoothness2=∑|mv
c2-mv
neighbor
|
ꢀꢀꢀ
(2)
78.distance=max(|x|,|y|)
ꢀꢀꢀ
(3)
79.其中mv
c2
表示第二候选图像块的运动向量,mv
neighbor
表示第一中心图像块在第一帧图像上的8个相邻图像块的运动向量,第二候选图像块的运动向量也可以为时间预测向量或空间预测向量。距离差(第一距离差)为第一中心图像块与第二候选图像块之间的运动向量的x或者y方向偏移的绝对值的最大值。
80.最后根据第二估计值确定第一中心图像块与第二候选图像块之间的匹配度,第二估计值越大,表示匹配度越低。
81.可见,在本技术实施例中,在选择第一中心图像块进行精确搜索对应的第二候选搜索集合中的多个第二候选图像块时,根据步长距离分别为第一距离和第二距离获得了第二步长图像块和第四步长图像块,然后根据第一中心图像块与第二步长图像块和第四步长图像块的匹配结果获得了精确搜索结果,这个过程能够进一步增加运动估计过程中的搜索范围,同时增加搜索图像块的数量,并且获取候选图像块的过程简单,进而提升了运动估计的效率和准确率。
82.基于上述视频帧图像的运动估计方法实施例的描述,本发明实施例还公开了一种运动估计装置,参考图3,图3是本发明实施例提供的一种运动估计装置的结构示意图,该运动估计装置300包括:
83.获取模块301,用于获取目标视频中的第一帧图像;
84.处理模块302,用于将第一帧图像划分为多个图像块,获得多个图像块中的第一中
心图像块;
85.处理模块302,还用于采用第一中心图像块进行针对第一候选搜索集合中的多个第一候选图像块的粗略搜索,根据粗略搜索结果确定第二中心图像块,其中,第一候选图像块根据第一帧图像的相邻帧图像中的图像块确定;
86.处理模块302,还用于根据第二中心图像块确定第二候选搜索集合中的多个第二候选图像块,第二候选图像块根据第二中心图像块与其他图像块之间的步长距离确定,其他图像块与第二中心图像块位于同一帧图像;
87.处理模块302,还用于采用第一中心图像块进行针对多个第二候选图像块的精确搜索,根据精确搜索结果确定第一中心图像块的运动估计结果;根据第一帧图像的多个图像块的运动估计结果确定第一帧图像的运动估计结果。
88.可见,在本技术实施例中,对视频帧图像中的图像块进行运动估计时,采用全搜索法进行帧图像上每个图像块的运动估计,针对每个图像块的搜索过程,进行两次搜索,分别为粗略搜索和精确搜索,粗略搜索的第一候选搜索集合根据当前进行运动估计的帧图像的相邻帧图像的图像块确定,精确搜索的第二候选搜索集合基于粗略搜索的结果获取预设步长内的图像块,该过程通过两次搜索扩大了搜索范围,提升了搜索结果。另外获取搜索集合的过程计算简单,提升了搜索过程的效率。
89.可选地,处理模块302还用于确定第一候选搜索集合中的多个第一候选图像块,具体用于:
90.获取第一图像块的第一运动向量和第二图像块的第二运动向量,并根据第一图像块和第一运动向量确定第一帧图像运动到第二帧图像时第一图像块对应的第三图像块,根据第二图像块和第二运动向量确定第一帧图像运动到第二帧图像时第二图像块对应的第四图像块,其中,第一图像块为第一中心图像块的左侧相邻图像块,第二图像块为第一中心图像块的上方相邻图像块,第二帧图像为与第一帧图像相邻的下一帧图像;
91.获取第五图像块由第三帧图像上的位置运动到当前位置的第三运动向量,和第六图像块由第三帧图像上的位置运动到当前位置的第四运动向量,并根据第五图像块和第三运动向量确定第一帧图像运动到第二帧图像时第五图像块对应的第七图像块,根据第六图像块和第四运动向量确定第一帧图像运动到第二帧图像时第六图像块对应的第八图像块,其中,第五图像块为第一中心图像块的右侧相邻图像块,第六图像块为第一中心图像块的下方相邻图像块,第三帧图像为与第一帧图像相邻的上一帧图像;
92.获取第一中心图像块在第二帧图像中对应的零点图像块,零点图像块在第二帧图像中的坐标位置与第一中心图像块在第一帧图像中的坐标位置相同;
93.获取第三帧图像的全局运动向量,全局运动向量根据对第三帧图像划分的多个图像块对应的运动向量聚类获得;
94.根据全局运动向量获取第一中心图像块在第二帧图像上的对应的图像块作为全局图像块;
95.第三图像块,第四图像块,第七图像块,第八图像块,零点图像块和全局图像块组成第一候选搜索集合中的多个第一候选图像块。可选地,粗略搜索结果为第一中心图像块与多个第一候选图像块之间的匹配结果,根据粗略搜索结果确定第二中心图像块,包括:
96.确定第一候选图像块中与第一中心图像块匹配度最高的图像块作为第二中心图
像块。
97.可选地,处理模块还用于确定所述第一中心图像块与所述多个第一候选图像块之间的匹配度,具体用于:
98.计算获得所述第一中心图像块与所述第一候选图像块的第一绝对误差和,所述第一绝对误差和为所述第一中心图像块中的多个像素点与所述第一候选图像块中待匹配的多个像素点之间,像素值之差的绝对值之和;
99.将所述第一绝对误差和与第一平滑项求和,获得第一估计值,所述第一平滑项根据所述第一候选图像块的运动向量与所述第一中心图像块的相邻图像块的运动向量的差值和确定;
100.根据所述第一估计值确定所述第一中心图像块与所述第一候选图像块之间的匹配度。
101.可选地,处理模块302还用于确定第二候选搜索集合中的多个第二候选图像块,具体用于:
102.获取与第二中心图像块步长距离为第一距离的图像块作为第一步长图像块;
103.根据第二中心图像块与第一步长图像块的匹配结果确定第三中心图像块;
104.获取与第三中心图像块步长距离为第一距离的图像块作为第二步长图像块;
105.获取与第二中心图像块步长距离为第二距离的图像块作为第三步长图像块,第二距离大于第一距离;
106.根据第二中心图像块与第三步长图像块的匹配结果确定第四中心图像块;
107.获取与第四中心图像块步长距离为第二距离的图像块作为第四步长图像块;
108.第二中心图像块,第一步长图像块,第二步长图像块,第三步长图像块和第四步长图像块组成第二候选搜索集合中的多个第二候选图像块。
109.可选地,精确搜索结果为第一中心图像块与多个第二候选图像块的匹配结果,根据精确搜索结果确定第一中心图像块的运动估计结果,包括:
110.根据精确搜索结果确定最终匹配块,最终匹配块为多个第二候选图像块中,与第一中心图像块匹配度最高的图像块;
111.计算获得第一中心图像块与最终匹配块之间的最终运动向量,作为第一中心图像块的运动估计结果。
112.可选地,处理模块302还用于确定第一中心图像块与所述多个第二候选图像块的匹配度,具体用于:
113.计算获得所述第一中心图像块与所述第二候选图像块的第二绝对误差和,所述第二绝对误差和为所述第一中心图像块中的多个像素点与所述第二候选图像块中待匹配的多个像素点之间,像素值之差的绝对值之和;
114.将所述第二绝对误差和与第二平滑项,以及第一距离差求和,获得第二估计值,所述第二平滑项根据所述第二候选图像块的运动向量与所述第一中心图像块的相邻图像块的运动向量的差值和确定,所述第一距离差根据所述第一中心图像块与所述第二候选图像块之间的运动向量的x或者y方向偏移的绝对值的最大值确定;
115.根据所述第一估计值确定所述第一中心图像块与所述第一候选图像块之间的匹配度。
116.值得指出的是,其中,运动估计装置的具体功能实现方式可以参见上述运动估计方法的描述,这里不再进行赘述。所述的运动估计装置中的各个单元或模块可以分别或全部合并为一个或若干个另外的单元或模块来构成,或者其中的某个(些)单元或模块还可以再拆分为功能上更小的多个单元或模块来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元或模块是基于逻辑功能划分的,在实际应用中,一个单元(或模块)的功能也可以由多个单元(或模块)来实现,或者多个单元(或模块)的功能由一个单元(或模块)实现。
117.关于上述实施例中描的各个装置、产品包含模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用或集成芯片的各个装置、产品其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者至少部分模块/单元可以采用软件程序的方式实现,该运行于芯片内部集成处理器,剩余的部分模块/单元可以采用电路等硬件方式实现;对于应于或集成芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同模块/单元可以位于芯片模组的同一件(例如片、电路模块等)或者不同组件中,至少部分/单元可以采用软件程序的方式实现,该软件程运行于芯片模组内部集成处理器剩余部分模块/单元可以采用电路等硬件方式实现;对于应或集成终端的各个装置、产品,其包含的模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者至少部分模块/单元可以采用软件程序的方式实现,该序运行于终端内部集成的处理器,剩余分模块/单元可以采用电路等硬件方式实现。
118.基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种运动估计设备。请参见图4,是本发明实施例提供的一种运动估计设备的结构示意图。如图4所示,上述的运动估计装置300可以应用于所述运动估计设备400,所述运动估计设备400可以包括:处理器401,网络接口404和存储器405,此外,所述运动估计设备400还可以包括:用户接口403,和至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,用户接口403可以包括显示屏(display)、键盘(keyboard),可选用户接口403还可以包括标准的有线接口、无线接口。网络接口404可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器405可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器405可选的还可以是至少一个位于远离前述处理器401的存储装置。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
119.在图4所示的运动估计设备400中,网络接口404可提供网络通讯功能;而用户接口403主要用于为用户提供输入的接口;而处理器401可以用于调用存储器405中存储的设备控制应用程序,以实现上述视频帧图像的运动估计方法的步骤。
120.应当理解,本发明实施例中所描述的运动估计设备400可执行前文所述视频帧图像的运动估计方法,也可执行前文所述运动估计装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
121.此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的视频处理装置所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文所述视频处理方法的描
述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
122.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
123.以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1