本发明涉及视频技术领域,尤其涉及匹配视频的方法、应用及计算设备。
背景技术:
在视频压缩、视频搜索等应用场景中,视频匹配技术被广泛应用。目前,视频匹配算法通常基于图像帧的二维空间进行处理。换言之,对于视频序列中每帧图像的每个像素点,通常将其邻域块作为其对应的图像块。现有匹配技术通过匹配图像块的相似度来确定像素点之间的相似度。
然而,现有的图像块匹配方式并没有很好考虑视频帧序列在时间维度上的关联性。
因此,本发明提出了一种新的匹配视频的技术方案。
技术实现要素:
为此,本发明提供一种新的匹配视频的技术方案,有效的解决了上面至少一个问题。
根据本发明的一个方面,提供一种匹配视频的方法,适于在移动终端中执行。该方法包括下述步骤。获取待匹配的第一视频和第二视频。分别以第一视频和第二视频中、每帧图像的每个像素点为中心,选取本帧上预定窗口大小的图像块,和选取该像素点前后相邻多帧上相应空间位置的图像块,并将从本帧和前后相邻多帧上所选取的图像块作为该像素点对应的视频块。分别对第一视频的视频块和第二视频的视频块,执行沃尔什-哈达玛变换,以便将每个视频块中至少一部分视频特征集中到预定维度。提取每个经变换的视频块的预定维度的信息作为该视频块的特征信息。选定第一视频的视频块的特征信息中一个维度,并基于所选定维度建立关于第一视频的所有视频块的特征信息的K维树(Kd-tree)。对于第二视频的每个待匹配视频块的特征信息,从所建立的K维树中搜索与其相似度最高的特征信息作为其对应的匹配特征信息。
可选地,在根据本发明的匹配视频的方法中,分别对第一视频的视频块和第二视频的视频块,执行沃尔什-哈达玛变换,以便将每个视频块中至少一部分视频特征集中到预定维度的步骤包括,对于每个待变换的视频块,根据下述公式进行变换:
其中,Hn为哈达玛矩阵,V为待变换的视频块的矩阵,为经过变换的视频块的矩阵。
可选地,在根据本发明的匹配视频的方法中,基于所选定维度建立关于第一视频的所有视频块的特征信息的K维树(Kd-tree)的操作包括,递归执行建立树结构的操作,直到所有最低级的左子树和最低级的右子树各自结点数量小于阈值。其中,每次所执行的建立树结构的操作包括下述步骤。对于属于要建立的树结构的视频块的特征信息,将在所选定维度为中值的视频块的特征信息作为要建立树结构的根结点。将在该维度小于该中值的特征信息分配到该根结点的左子树。将在该维度大于该中值的特征信息分配到该根结点的右子树。
可选地,在根据本发明的匹配视频的方法中,对于第二视频的每个待匹配视频块的特征信息,从所建立的关于第一视频的K维树中搜索与其相似度最高的特征信息作为其对应的匹配特征信息的步骤包括,对待匹配的视频块的特征信息、递归执行选定子树的操作,直到选定子树为最低级的左子树中一个或最低级的右子树中一个。其中,每次执行选定子树的操作包括下述步骤。判断当前所选定树的根结点在所选定维度是否大于该待匹配的特征信息。在大于该待匹配的特征信息时,选定当前树的左子树。在小于该待匹配的特征信息时,选定当前树的右子树。计算该待匹配的特征信息与所选定的最低级的子树中每个结点的相似度,并将相似度最高的结点作为所述匹配特征信息。
可选地,在根据本发明的匹配视频的方法中,计算该待匹配的视频块的特征信息与所选定的最低级的子树中每个结点的相似度的操作包括下述步骤。根据下述公式计算待匹配的视频块的特征信息与所选定的最低级的子树中任一个结点的欧式距离:
其中,p表示待匹配的视频块的特征信息,q表示所选定的最低级的子树中一个结点,p和q均为N维向量。根据所计算得到的欧式距离,确定p和q的相似度。
可选地,根据本发明的匹配视频的方法还包括下述步骤。基于待匹配视频块对应像素点的邻域中至少一部分像素点、对应的最低级子树,依次计算所述待匹配视频块的特征信息与该对应的最低级子树中结点的相似度。在本次计算所得最高相似度大于当前的匹配特征信息对应的相似度时,更新该匹配特征信息为本次最高相似度对应的结点。
可选地,根据本发明的匹配视频的方法还包括下述步骤。基于所述待匹配视频块对应像素点的前后相邻多帧中至少一帧、相应空间位置上像素点对应的最低级子树,依次计算该待匹配视频块的特征信息与所对应的最低级子树中结点的相似度。在本次计算所得最高相似度大于当前的匹配特征信息对应的相似度时,更新该匹配特征信息为本次最高相似度对应的结点。
根据本发明又一个方面,提供一种匹配视频的应用,适于驻留在计算设备中。该应用包括获取单元、分块单元、特征提取单元、K维树构建单元和匹配单元。获取单元适于获取待匹配的第一视频和第二视频。分块单元适于分别以第一视频和第二视频中、每帧图像的每个像素点为中心,选取本帧上预定窗口大小的图像块,和选取该像素点前后相邻多帧上相应空间位置的图像块。分块单元将从本帧和前后相邻多帧上所选取的图像块作为该像素点对应的视频块。特征提取单元适于分别对第一视频的视频块和第二视频的视频块,执行沃尔什-哈达玛变换,以便将每个视频块中至少一部分视频特征集中到预定维度。特征提取单元提取每个经变换的视频块的预定维度的信息作为该视频块的特征信息。K维树构建单元适于选定第一视频的视频块的特征信息中一个维度,并基于所选定维度建立关于第一视频的所有视频块的特征信息的K维树(Kd-tree)。对于第二视频的每个待匹配的视频块的特征信息,匹配单元适于从所建立的K维树中搜索与其相似度最高的特征信息作为其对应的匹配特征信息。
根据本发明的又一个方面,提供一种计算设备,包括:根据本发明的匹配视频的应用。
综上,根据本发明的匹配视频的技术方案可以建立三维视频块(即视频块包含一个像素点在领域以及时间维度上的相关信息),并且通过沃尔什-哈达玛变换将每个视频块的多个维度上分散的特征信息进行集中化。在此基础上,本发明的技术方案可以对视频块进行降维操作,并通过低维度的特征信息来表征原来高维度的视频块。进一步,本发明的技术方案可以将待搜索的视频(即本发明中第一视频)的特征信息的集合,构建为K维树结构。这样,本发明的匹配视频的技术方案可以快速地对K维树进行搜索,并确定与待匹配的视频块(即本发明中第二视频的视频块)相似度较高的一个集合范围(即本发明中所选定的最低级子树)。进一步,本发明的匹配视频的技术方案可以从该集合范围中快速选定与待匹配的视频块的特征信息相似度最高的一个结点,并将该结点作为匹配特征信息。另外,本发明的匹配视频的技术方案通过在前后相邻帧上相应位置或者邻域像素点对应的最低级子树中搜索与待匹配特征信息相似度最高的节点,可以进一步提高匹配准确度。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一些实施例的计算设备100的示意图;
图2示出了根据本发明一些实施例的匹配视频的方法200的流程图;
图3示出了根据本发明一个实施例的图像帧序列的示意图;
图4A-4B分别示出了根据本发明一个实施例中建立K维树过程的示意图;
图5示出了根据本发明又一些实施例的匹配视频的方法500的流程图;以及
图6示出了根据本发明一些实施例的匹配视频的应用600的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一些实施例的计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以包括桌面计算机和笔记本计算机配置的个人计算机。计算设备还可以被实现为服务器。服务器例如可以被配置为处理大量数据的集群系统中一个节点。
在一个典型的应用场景中,计算设备100需要对大量视频数据进行匹配操作。相应地,计算设备100可以执行匹配视频的方法(例如,下文中方法200或500)。应用122可以包括匹配视频的应用(例如下文中应用600)。
图2示出了根据本发明一些实施例的匹配视频的方法200的流程图。方法200适于在各种计算设备(100)中执行。
如图2所示,方法200始于步骤S210。在步骤S210中,获取待匹配的第一视频和第二视频。这里,第一视频和第二视频均为图像帧序列。第一视频和第二视频可以是RGB或YUV等各种像素格式。为了进行匹配操作,第一视频和第二视频的视频帧序列的时间长度可以相同(或者大致相同),但不限于此。需要说明的是,步骤S210中所获取的第一和第二视频可以是计算设备中所存储的视频数据,也可以是实时接收的网络视频包,本发明对此不做过多限制。
对于步骤S210中得到的第一和第二视频,方法200执行步骤S220。
在步骤S220中,分别以第一视频和第二视频中每帧图像的每个像素点为中心,选取这个像素点所在图像帧(即本帧)上预定窗口大小的图像块。另外,步骤S220还选取该像素点前后相邻多帧上相应空间位置的图像块。这里,相应空间位置的图像块通常与本帧上图像块大小相同。这样,步骤S220可以将在本帧和前后相邻多帧上所选取的图像块作为这个像素点对应的视频块。显然,本步骤中获取的视频块是一个三维图像块(不同于现有技术中二维图像块)。下面将结合图3对步骤S220中视频块进行更形象的说明。
图3示出了根据本发明一个实施例的图像帧序列的示意图。图3示出了连续的T-1、T0和T1三帧图像帧。以T0上像素点a0为例,像素点a0对应的视频块包括图像块B0、B-1和B1。其中,B0是以像素点a1为中心的邻域块。应注意,本发明对邻域块的窗口尺寸不做过多限制。另外,B-1和B1为图像帧T0(即像素点a0所在的本帧)的相邻前后帧上相应的图像块。这里,B-1和B1可以与B0尺寸相同。B-1(B1)的中心像素点a-1(a1)相对于T-1(T1)的空间位置与像素点a0相对于T0的空间位置一致。尽管图3中仅示出了T-1和T1,但不限于此,在本发明的实施例中,视频块也可以包括更多前后相邻帧(即,更长时间范围内的图像帧)上相应空间位置的图像块。另外,对于图像帧边缘的像素点,步骤S220可以采用填充方式补全图像块,这里不再赘述。
对于步骤S220中所获取的关于第一视频和第二视频的视频块,方法200通过步骤S230进行数据变换处理。在步骤S230中,分别对第一视频的视频块和第二视频的视频块,执行沃尔什-哈达玛变换(Walsh Hadamard transform),以便将每个视频块中至少一部分视频特征集中到预定维度。
如上所述,每个视频块包括多个图像块。每个图像块包括多个像素点。因此,每个视频块是一个多维数据。每个维度的值例如是一个像素点的亮度或色度,但不限于此。经过沃尔什-哈达玛变换的视频块,其分散的视频特征信息被集中化。通常而言,大部分视频特征集中在变换后数据预定维度范围中。根据本发明一个实施例,步骤S230可以通过下述公式进行数据变换:
其中,Hn为哈达玛矩阵,V为待变换的视频块的矩阵,为经过变换的视频块的矩阵。中特征值大部分集中在一个小范围区域(即预定维度)中。
随后,方法200可以执行步骤S240,提取每个变换后视频块的预定维度的数据,并将所提取数据作为这个视频块对应的特征信息。综上,方法200通过步骤S230和步骤S240,将每个视频块进行了降低维度的操作,并且降低维度后的特征信息包含了变换之前的视频块的大部分特征信息。这样,表示视频块特征的数据量可以极大降低。
为了在第一视频的特征信息中搜索与第二视频中每个视频块相似度高的数据,方法200还执行步骤S250。在步骤S250中,选定第一视频的视频块的特征信息中一个维度,并基于所选定维度建立关于第一视频的所有视频块的特征信息的K维树(Kd-tree)。根据本发明一个实施例,在步骤S250中递归执行建立树结构的操作,直到最低级的左子树和最低级右子树各自结点数量小于阈值。
其中,每次执行的建立树结构的操作包括下述过程。对于属于要建立的树结构的视频块的特征信息,首先将在所选定维度为中值的视频块的特征信息作为要建立树结构的根结点。然后,将在该维度小于该中值的特征信息分配到该根结点的左子树。另外,将在该维度大于该中值的特征信息分配到该根结点的右子树。需要说明的是,这里所说的子树是包含至少一个特征信息的集合。为了更形象说明本发明中K维树的建立过程,下面结合图4A-4B进行示例性说明。
图4A-4B示出了根据本发明一个实施例中建立K维树过程的示意图。如图4A和4B所示,第一视频所对应的特征信息包括Q1、Q2、Q3、Q4、Q5、Q6、Q7、Q8和Q9。这里,Q1至Q9中每个特征信息包括多个维度。Q1至Q9在选定维度的值分别是1、2、3、4、5、6、7、8和9。图4A示出了步骤S250第一次执行建立树结构操作的结果。在图4A中,中值5所对应的特征信息Q5被选定为根结点。Q1至Q4被分配到Q5的左子树,Q6至Q9被分配到Q5的右子树。本实施例中阈值例如为3,但不限于此。Q5的左右子树中各自结点数量为4(即4个特征信息)。因此,步骤S250还要继续执行递归操作。图4B示出了步骤S250第二次执行建立树结构操作的结果。在本次操作中,对Q1至Q4建立树结构和对Q6至Q9建立树结构。Q3为根结点。Q1和Q2为Q3左子树。Q4为Q3右子树。类似地,Q8为根结点。Q6和Q7为Q8左子树。Q9为Q8右子树。显然,Q3和Q8各自的子树的节点数量均小于3。因此,步骤S250不需要继续执行递归操作。需要说明的是,根结点Q5的左右子树均为第1级子树。根结点Q3和Q8各自的子树为第2级子树。在图4B示出的实施例中,第2级子树为最低级子树(也可以称为叶子)。
在步骤S250所建立的K维树的基础上,方法200执行步骤S260。对于第二视频的每个待匹配视频块的特征信息,步骤S260从所建立的K维树中搜索与其相似度最高的特征信息作为其对应的匹配特征信息。在根据本发明一个实施例中,基于待匹配的视频块的特征信息,步骤S260递归执行选定子树的操作,直到选定子树为最低级的左子树中一个或最低级的右子树中一个。其中,每次执行选定子树的操作包括下述过程。首先,判断当前所选定树的根结点在所选定维度是否大于该待匹配的特征信息。在大于该待匹配的特征信息时,选定当前树的左子树。在小于该待匹配的特征信息时,选定当前树的右子树。
在选定最低级的子树(叶子)时,步骤S260计算该待匹配的视频块的特征信息与所选定的最低级的子树中每个结点的相似度,并将相似度最高的结点作为这个待匹配视频块的匹配特征信息。为了更形象说明步骤S260的执行过程,下面以第二视频中一个视频块的特征信息M1为例进行示例性说明。例如,M1在选定维度的值为2.5。步骤S260在执行第一次选定子树的操作时,比较M1与Q5在选定维度的大小。M1在选定维度上小于Q5,因此本次操作选定Q5的左子树。即,以Q3为根结点的树。随后,步骤S260继续执行选定子树的操作。在第二次选定子树的操作中,M1在选定维度上小于Q3。因此,本次操作选定Q3的左子树。这里,Q3的左子树(Q1和Q2)为K维树的最低级子树。因此,步骤S260在第二次操作后不再执行子树选定操作。
在选定最低级子树后,步骤S260继续判断待匹配的视频块的特征信息M1与所选定最低级子树中每个结点(即,Q1和Q2)的相似度。这里,步骤S260可以选择多种公式方式计算两个特征信息之间的相似度。例如,步骤S260可以通过计算两个特征信息之间的距离来确定相似度。距离越近代表相似度越高。两个特征信息之间的距离例如可以是欧氏距离、马氏距离或闵可夫斯基距离等,但不限于此。以欧式距离为例,步骤S260可以根据下述方式进行距离计算操作。
其中,p表示待匹配的视频块的特征信息,q表示所选定的最低级的子树中一个结点,p和q均为N维向量。
综上,根据本发明的匹配视频的方法200可以建立三维视频块(即视频块包含一个像素点在领域以及时间维度上的相关信息),并且通过沃尔什-哈达玛变换将每个视频块的多个维度上特征信息进行集中化。在此基础上,方法200可以对视频块进行降维操作,并通过低维度的特征信息来表征原来高维度的视频块。进一步,本发明的匹配视频的方法200可以将待搜索的一个视频(即上文中第一视频)的特征信息的集合,构建为K维树。这样,方法200可以快速地对K维树进行搜索,并确定与待匹配的视频块(即第二视频的视频块)相似度较高的一个集合范围(即上文中所选定的最低级子树)。进一步,方法200可以从该集合范围中快速选定与待匹配的视频块的特征信息相似度最高的一个结点,并将该结点作为匹配特征信息。
图5示出了根据本发明又一些实施例的匹配视频的方法500的流程图。如图5所示,方法500包括步骤S510、S520、S530、S540、S550和S560。这里,步骤S510至S560的实施方式分别对应上文中步骤S210至S260,这里不再赘述。
可选地,方法500还可以包括步骤S570,基于待匹配视频块对应像素点的邻域中至少一部分像素点、对应的最低级子树,依次计算所述待匹配视频块的特征信息与该对应的最低级子树中结点的相似度。在本次计算所得最高相似度大于当前的匹配特征信息对应的相似度时,在步骤S270中更新匹配特征信息(即,在步骤S560中确定的最相似的特征信息)为本次最高相似度对应的结点。
另外,方法500还可以在步骤S560或者步骤S570的基础上,继续执行步骤S580。对于在步骤S560或者S570中确定匹配特征信息的视频块,步骤S580可以基于待匹配视频块(该视频块已在步骤S560或者S570中被确定匹配特征信息)对应像素点的前后相邻帧中至少一帧的相应位置的像素点对应的最低级子树,依次计算该视频块的特征信息与该最低级子树中结点的相似度。在本次计算的最高相似度大于当前的匹配特征信息(即在步骤S560或者S570中所确定匹配特征信息)对应的相似度时,在步骤S580中更新匹配特征信息为本次计算所得最高相似度对应的结点。
综上,方法500通过在前后相邻帧上相应位置或者邻域像素点对应的最低级子树中搜索与待匹配特征信息相似度最高的结点,可以进一步提高匹配准确度。
图6示出了根据本发明一些实施例的匹配视频的应用600的示意图。应用600适于驻留在计算设备(100)中。
如图6所示,应用600包括获取单元610、分块单元620、特征提取单元630、K维树构建单元640和匹配单元650。
获取单元610适于获取待匹配的第一视频和第二视频。获取单元610更具体的实施方式与上文中步骤S510一致,这里不再赘述。
分块单元620分别以第一视频中和第二视频中、每帧图像的每个像素点为中心,选取本帧上预定窗口大小的图像块,和选取该像素点前后相邻多帧上相应空间位置的图像块。另外,分块单元620将从本帧和前后相邻多帧上所选取的图像块作为该像素点对应的视频块。分块单元620更具体的实施方式与上文中步骤S520一致,这里不再赘述。
特征提取单元630适于分别对第一视频的视频块和第二视频的视频块,执行沃尔什-哈达玛变换,以便将每个视频块中至少一部分视频特征集中到预定维度。在此基础上,特征提取单元630提取每个经变换的视频块的预定维度的信息作为该视频块的特征信息。在根据本发明一个实施例中,特征提取单元630可以根据下述公式进行沃尔什-哈达玛变换变换。
其中,Hn为哈达玛矩阵,V为待变换的视频块的矩阵,为经过变换的视频块的矩阵。特征提取单元630更具体的实施方式与上文中步骤S530和S540一致,这里不再赘述。
K维树构建单元640适于选定第一视频的视频块的特征信息中一个维度,并基于所选定维度建立关于第一视频的所有视频块的特征信息的K维树(Kd-tree)。
在根据本发明一个实施例中,K维树构建单元640递归执行建立树结构的操作,直到最低级的左子树和最低级右子树各自结点数量均小于阈值。其中,每次所执行的建立树结构操作过程如下。
首先,对于属于要建立的树结构的视频块的特征信息,K维树构建单元640将在所选定维度为中值的视频块的特征信息作为要建立树结构的根结点。然后,K维树构建单元640将在该维度小于该中值的特征信息分配到该根结点的左子树和将在该维度大于该中值的特征信息分配到该根结点的右子树。K维树构建单元640更具体的实施方式与上文中步骤S550一致,这里不再赘述。
对于第二视频的每个待匹配视频块的特征信息,匹配单元650适于从所建立的K维树中搜索与其相似度最高的特征信息作为其对应的匹配特征信息。在根据本发明一个实施例中,匹配单元650对待匹配的视频块的特征信息、递归执行选定子树的操作,直到选定子树为最低级的左子树中一个或最低级的右子树中一个。
其中,每次执行选定子树的操作包括下述过程。匹配单元650判断当前所选定树的根结点在所选定维度是否大于该待匹配的特征信息。在大于该待匹配的特征信息时,匹配单元650选定当前树的左子树(即更新当前选定树为左子树)。在小于该待匹配的特征信息时,匹配单元650选定当前树的右子树(即更新当前选定树为右子树)。
在确定最低级的子树后,匹配单元650计算该待匹配的视频块的特征信息与所选定的最低级的子树中每个结点的相似度,并将相似度最高的结点作为所述匹配特征信息。这里,匹配单元650例如可以通过计算两个特征信息的距离来确定二者的相似度。具体地,匹配单元650例如根据下述公式计算待匹配的视频块的特征信息与所选定的最低级的子树中任一个结点的欧式距离:
其中,p表示待匹配的视频块的特征信息,q表示所选定的最低级的子树中一个结点,p和q均为N维向量。在此基础上,匹配单元650根据所计算得到的欧式距离,确定p和q的相似度。另外,匹配单元650也可以采用马氏距离或闵可夫斯基距离等各种公知的距离计算方式,这里不再赘述。
可选地,基于待匹配视频块对应像素点的邻域中至少一部分像素点、对应的最低级子树,匹配单元650还可以依次计算待匹配视频块的特征信息与该对应的最低级子树中结点的相似度。在本次计算所得最高相似度大于当前的匹配特征信息对应的相似度时,匹配单元650更新该匹配特征信息为本次最高相似度对应的结点。
另外,基于待匹配视频块对应像素点的前后相邻多帧中至少一帧、相应空间位置上像素点对应的最低级子树,匹配单元650还可以依次计算该视频块的特征信息与所对应的最低级子树中结点的相似度。在本次计算所得最高相似度大于当前的匹配特征信息对应的相似度时,匹配单元650更新该匹配特征信息为本次最高相似度对应的结点。匹配单元650更具体的实施方式与上文中步骤S560、S570和S580一致,这里不再赘述。
A10、如A8或A9所述的应用,其中,所述K维树构建单元适于根据下述方式执行基于所选定维度建立关于第一视频的所有视频块的特征信息的K维树(Kd-tree)的操作:递归执行建立树结构的操作,直到所有最低级的左子树和最低级右子树各自结点数量均小于阈值,其中,每次所执行的建立树结构的操作包括:对于属于要建立的树结构的视频块的特征信息,将在所选定维度为中值的视频块的特征信息作为要建立树结构的根结点,并将在该维度小于该中值的特征信息分配到该根结点的左子树和将在该维度大于该中值的特征信息分配到该根结点的右子树。A11、如A10所述的应用,其中,对于所述第二视频的每个待匹配的视频块的特征信息,所述匹配单元适于根据下述方式从所建立的关于第一视频的K维树中搜索与其相似度最高的特征信息作为其对应的匹配特征信息:对待匹配的视频块的特征信息、递归执行选定子树的操作,直到选定子树为所述最低级的左子树中一个或所述最低级的右子树中一个,其中,每次执行选定子树的操作包括:判断当前所选定树的根结点在所选定维度是否大于该待匹配的特征信息,在大于该待匹配的特征信息时,选定当前树的左子树,在小于该待匹配的特征信息时,选定当前树的右子树;以及计算该待匹配的视频块的特征信息与所选定的最低级的子树中每个结点的相似度,并将相似度最高的结点作为所述匹配特征信息。A12、如A11所述的应用,其中,所述匹配单元适于根据下述方式计算该待匹配的视频块的特征信息与所选定的最低级的子树中每个结点的相似度的操作:根据下述公式计算待匹配的视频块的特征信息与所选定的最低级的子树中任一个结点的欧式距离:
其中,p表示待匹配的视频块的特征信息,q表示所选定的最低级的子树中一个结点,p和q均为N维向量;根据所计算得到的欧式距离,确定p和q的相似度。A13、如A11或12所述的应用,所述匹配单元还适于:基于所述待匹配视频块对应像素点的邻域中至少一部分像素点、对应的最低级子树,依次计算所述待匹配视频块的特征信息与该对应的最低级子树中结点的相似度,在本次计算所得最高相似度大于当前的匹配特征信息对应的相似度时,更新该匹配特征信息为本次最高相似度对应的结点。A14、如A11-13中任一项所述的应用,所述匹配单元还适于:基于所述待匹配视频块对应像素点的前后相邻多帧中至少一帧、相应空间位置上像素点对应的最低级子树,依次计算该视频块的特征信息与所对应的最低级子树中结点的相似度,在本次计算所得最高相似度大于当前的匹配特征信息对应的相似度时,更新该匹配特征信息为本次最高相似度对应的结点。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。