视频文件的检索方法及装置与流程

文档序号:14249481阅读:200来源:国知局
视频文件的检索方法及装置与流程

本发明涉及数据检索技术领域,尤其涉及一种视频文件的检索方法及装置。



背景技术:

随着视频网络的发展,目前网络中有越来越多的视频文件需要管理及检索。视频文件的检索是从大量的视频资源中找到匹配的视频片段。比较常见的视频文件检索方法有基于内容的视频检索、基于镜头技术的视频检索等等,然而,目前的检索方法的检索效率比较低下,因此,如何提高视频文件的检测效率成为亟待解决的技术问题。



技术实现要素:

本发明的目的旨在至少在一定程度上解决上述的技术问题之一。

为此,本发明的第一个目的在于提出一种视频文件的检索方法,通过对待检索的视频文件进行至少一轮抽样,若上一轮抽样的所有抽样视频片段在预设索引库中匹配失败,则滑动一帧进行下一轮抽样,直至某一轮的至少一个抽样视频片段在预设索引库中匹配成功,接着对待检索的视频文件的全部的视频片段在预设索引库中进行全面检索,或者滑动过足够次数后仍然检索失败,则表示在索引库中没有与待检索视频相匹配的视频文件。该方法可以快速地确定预设索引库中是否存在匹配的检索结果,大大提高了检索效率。

本发明的第二个目的在于提出一种视频文件的检索装置。

本发明的第三个目的在于提出一种计算机设备。

本发明的第四个目的在于提出一种计算机可读存储介质。

为了实现上述目的,本发明第一方面实施例的视频文件的检索方法,包括:

将上一次抽样起始帧加1帧作为当前抽样起始帧,判断当前抽样起始帧与第一次抽样起始帧之间的帧数差是否达到预设滑动帧数;

若判断结果为否,根据预设抽样规则从所述当前抽样起始帧对待检索的视频文件进行抽样,获取至少一个抽样视频片段;

查询预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段,所述预设索引库包括预设视频片段;

若存在,以当前抽样起始帧为分段起始帧,根据预设规则对所述待检索的视频文件进行分段,获取待检索的视频文件的全部的视频片段;

查询所述预设索引库中是否存在与所述视频片段匹配的预设视频片段;

将与所述视频片段匹配的预设视频片段确定为对待检索的视频文件的检索结果。

如上所述的方法,在所述判断当前抽样起始帧与第一次抽样起始帧之间的帧数差是否达到预设滑动帧数之后,还包括:

若判断结果为是,确定待检索的视频文件在所述预设索引库中匹配失败。

如上所述的方法,在所述查询预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段之后,还包括:

若不存在,返回执行将上一次抽样起始帧加1帧作为当前抽样起始帧的步骤。

如上所述的方法,所述预设索引库中包括特征编码与预设视频文件的对应关系;

所述查询预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段,包括:

分别获取各个所述抽样视频片段的特征编码;

根据所述特征编码与预设视频文件的对应关系查询所述预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段。

如上所述的方法,所述查询预设索引库中是否存在与所述视频片段匹配的预设视频片段,包括:

分别获取各个所述视频片段对应的特征编码;

根据所述特征编码与预设视频文件的对应关系查询预设索引库中是否存在与所述视频片段匹配的预设视频片段。

如上所述的方法,所述分别获取各个所述抽样视频片段的特征编码,包括:

利用哈希签名算法分别获取各个所述抽样视频片段的特征编码;

和/或,所述分别获取各个所述视频片段对应的特征编码包括:

利用所述哈希签名算法分别获取各个所述视频片段对应的特征编码。

如上所述的方法,还包括:

获取至少一个预设视频文件;

分别对至少一个所述预设视频文件进行分段以获取所述预设视频文件对应的预设视频片段;

根据所述预设视频片段创建所述预设索引库。

如上所述的方法,所述根据所述预设视频片段创建所述预设索引库,包括:

获取所述预设视频片段的特征编码;

建立特征编码与预设视频片段的对应关系;

根据所述对应关系建立所述预设索引库。

如上所述的方法,在所述根据所述预设视频片段创建所述预设索引库之后,还包括:

获取待入库的视频文件对应的视频片段;

查询所述预设索引库中是否存在与所述待入库的视频文件对应的视频片段匹配的预设视频片段;

若存在,根据与所述待入库的视频文件对应的视频片段匹配的预设视频片段对所述待入库的视频文件重新分段;

根据重新分段所获取的待入库的视频文件对应的视频片段更新所述预设索引库。

为了实现上述目的,本发明第二方面实施例的视频文件的检索装置,包括:

计算模块,用于将上一次抽样起始帧加1帧作为当前抽样起始帧;

判断模块,用于判断当前抽样起始帧与第一次抽样起始帧之间的帧数差是否达到预设滑动帧数;

第一处理模块,用于若判断结果为否,根据预设抽样规则从所述当前抽样起始帧对待检索的视频文件进行抽样,获取至少一个抽样视频片段;

第一查询模块,用于查询预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段,所述预设索引库包括预设视频片段;

第二处理模块,用于若存在,以当前抽样起始帧为分段起始帧,根据预设规则对所述待检索的视频文件进行分段,获取待检索的视频文件的全部的视频片段;

第二查询模块,用于查询所述预设索引库中是否存在与所述视频片段匹配的预设视频片段;

确定模块,用于将与所述视频片段匹配的预设视频片段确定为对待检索的视频文件的检索结果。

为了实现上述目的,本发明第三方面实施例的计算机设备,包括:处理器和存储器;

其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现第一方面所述的视频文件的检索方法。

为了实现上述目的,本发明第四方面实施例的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面所述的视频文件的检索方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,

图1是本发明一实施例的视频文件的检索方法的流程图;

图2是本发明又一实施例的视频文件的检索方法的流程图;

图3是本发明另一实施例的视频文件的检索方法的流程图;

图4是本发明一实施例的视频文件的检索装置的结构示意图;

图5是本发明一实施例的计算机设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的视频文件的检索方法及装置。

图1是本发明一实施例的视频文件的检索方法的流程图。本实施例的视频文件的检索方法由视频文件的检索装置执行,该装置可以集成在服务器中。

如图1所示,本实施例的视频文件的检索方法,包括以下步骤:

s101、将上一次抽样起始帧加1帧作为当前抽样起始帧,判断当前抽样起始帧与第一次抽样起始帧之间的帧数差是否达到预设滑动帧数,若判断结果为否,执行步骤s102,若判断结果为是,执行步骤s107。

举例来说,对一个2小时的视频文件时,该视频文件每秒包括30帧,若将连续5秒共计150帧的数据为一个视频片段,那么,一个2小时的视频文件可以被分成2*60*60/5=1440个视频片段。当需要对该2小时的视频文件进行检索时,常规的方法是对1440个视频片段逐一检索,检索量大且检索效率低。

而本实施例的做法是从1440个视频片段中抽取部分的视频片段,比如,从第一帧开始,连续提取5秒共计150帧作为一个第一个视频片段,然后隔10分钟时间再取5秒作为第二个视频片段,以此类推,一个2小时的文件共抽取出12个视频片段,那么一次检索只需对12个视频片段进行检索,相比一次检索需对全部的1440个视频片段逐一检索,检索量明显的降低,检索效率高。

在本实施例中,可以按照先后顺序对待检索的视频文件进行多轮抽样,也可以同时对待检索的视频文件进行多轮抽样,在此不做具体限制。

在此简要介绍下按照先后顺序对待检索的视频文件进行多轮抽样:首先,以视频文件的第一帧作为第一轮的抽样起始帧,连续提取5秒共计150帧作为一个第一个视频片段,然后隔10分钟时间再取5秒作为第二个视频片段,以此类推,在第一轮抽样中则能够从一个2小时的文件共抽取出12个视频片段。接着,将第一轮的抽样起始帧加1帧作为第二轮的抽样起始帧,也就是说,从第一轮的抽样起始帧开始滑动一帧,确定第二轮的抽样起始帧为第二帧,连续提取5秒共计150帧作为一个第一个视频片段,然后隔10分钟时间再取5秒作为第二个视频片段,以此类推,在第二轮抽样中则能够从一个2小时的文件共抽取出12个视频片段。以此类推,共计滑动149次帧,抽样150次,每次抽样都到拿12个视频片段,注意,这里滑动149次之后,如果再滑动一次,抽样提取出的视频片段与第一次抽样提取出的视频片段是一致的,进而能够实现全面覆盖抽样。

本实施例通过滑动帧来确定每一轮的抽样起始帧,经过多次滑动帧可以确保至少有一轮的抽样起始帧能够使待检索的视频文件和预设索引库中的视频文件的起始帧对齐,很好地解决了由于起始帧没有对齐导致的检索失败的问题。

在本实施例中,对待检索的视频文件进行抽样的抽样次数受到预设滑动帧数的限制。例如,对一个150帧的视频片段,抽样150次就可以实现全面覆盖。若进行了150次抽样,依然没有一个抽样视频片段没有在预设索引库中匹配到,则说明待检索的视频文件在预设索引库中匹配失败,即预设索引库中不存在任何一个视频片段与待检索的视频文件匹配,这时,不再进行抽样,再次抽样的匹配结果与150次中任一次抽样的匹配结果相同,没有意义。

因此,本实施例在抽样检索之前,先判断当前抽样是否达到上限。具体地,通过当前抽样起始帧与与第一次抽样起始帧之间的帧数差是否达到预设滑动帧数来判断当前抽样是否达到上限。例如,对一个150帧的视频片段,第一轮的抽样起始帧(即第一次抽样起始帧)滑动149帧得到第150轮的抽样起始帧,第150轮的抽样起始帧为最后一轮的抽样起始帧,第151的抽样起始帧就和第一轮的抽样起始帧相同。若当前抽样起始帧与第一次抽样起始帧之间的帧数差小于150帧,则说明对待检索的文件的抽样次数未达到上限,若等于或大于150帧,说明对待检索的文件的抽样次数达到上限。在本实施例中,预设滑动帧数和视频片段的选择有关,若连续5s共计150帧为一个视频片段,则预设滑动帧数为150帧,若连续10s共计300帧为一个视频片段,则预设滑动帧数为300帧。

而对于同时对待检索的视频文件进行多轮抽样,流程同按照先后顺序对待检索的视频文件进行多轮抽样,只是同时对待检索的视频文件进行多轮抽样是多轮抽样同时并行进行,借助集群技术可以实现多轮抽样所花费的时间同一次抽样所花费的时间相同。

举例来说,若第一轮抽样的12个抽样视频片段在预设索引库中没有匹配成功,则进行第二轮抽样,将第二轮抽样的12个抽样视频片段在预设索引库中进行匹配,以此类推,直至某一轮抽样的12个抽样视频片段中存在一个抽样视频片段与预设索引库中预设视频片段匹配。

s102、若判断结果为否,根据预设抽样规则从所述当前抽样起始帧对待检索的视频文件进行抽样,获取至少一个抽样视频片段,执行步骤s103。

举例来说,对第一轮抽样,从第一帧开始,连续提取5秒共计150帧作为一个第一个视频片段,然后隔10分钟时间再取5秒作为第二个视频片段,以此类推,一个2小时的文件在第一轮抽样中共抽取出12个视频片段。以此类推,第二轮的抽样起始帧为从第二帧开始,连续提取5秒共计150帧作为一个第一个视频片段,然后隔10分钟时间再取5秒作为第二个视频片段,以此类推,一个2小时的文件在第二轮抽样中共抽取出12个视频片段。

s103、查询预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段,所述预设索引库包括预设视频片段,若存在,执行步骤s104,若不存在,返回执行步骤s101。

具体地,事先根据海量的视频资源创建了预设索引库,例如预设索引库中存储了海量的预设视频片段。

常规的方法是是将2小时的视频文件共1440个视频片段在预设索引库中进行逐一检索,即需要进行1440次检索,才能确定预设索引库中是否存在匹配的视频片段。

以按照先后顺序对待检索的视频文件进行多轮抽样为例,而本实施例的做法是将第一轮抽样的12个抽样视频片段在预设索引库中进行检索,即需要进行12次检索,若第一轮抽样的12个抽样视频片段中存在一个抽样视频片段与预设索引库中预设视频片段匹配,则将2小时共1440个视频片段在预设索引库中进行匹配,同时不再进行下一轮抽样。如若第一轮抽样的12个抽样视频片段中不存在一个抽样视频片段与预设索引库中预设视频片段匹配,那么,返回步骤s101进行第二轮抽样,判断第二轮抽样的12个抽样视频片段中是否存在一个抽样视频片段与预设索引库中预设视频片段匹配,只要某一轮抽样的12个抽样视频片段中存在一个抽样视频片段与预设索引库中预设视频片段匹配,则不再进行下一轮抽样。

s104、若存在,以当前抽样起始帧为分段起始帧,根据预设规则对所述待检索的视频文件进行分段,获取待检索的视频文件的全部的视频片段,执行步骤s105。

s105、查询所述预设索引库中是否存在与所述视频片段匹配的预设视频片段,执行步骤s106。

s106、将与所述视频片段匹配的预设视频片段确定为对待检索的视频文件的检索结果。

具体地,如果在步骤s103中确定某一轮抽样的12个抽样视频片段中存在一个抽样视频片段与预设索引库中预设视频片段匹配,则说明预设索引库中存在与待检索的视频文件匹配的视频片段,这时,本实施例会获取待检索的视频文件的全部视频片段,在预设索引库中进行逐一查询,以2小时共1440个视频片段的待检索的视频文件为例,将2小时的视频文件共1440个视频片段在预设索引库中进行逐一检索,确定出预设索引库中匹配的全部的预设视频片段,所匹配到的全部的预设视频片段则是待检索的视频文件的检索结果。

在本实施例中,只有抽样视频片段在预设索引库中匹配到,才会对视频文件的全部视频片段进行检索,抽样得到的抽样视频片段的数量在全部的视频片段中占比,利用抽样得到的抽样视频片段在预设索引库中进行抽样检索可以快速地确定预设索引库中是否存在匹配的检索结果,大大提高了检索效率。

步骤s107、若判断结果是,确定待检索的视频文件在预设索引库中匹配失败。

举例来说,对一个150帧的视频片段,抽样150次就可以实现全面覆盖。若进行了150次抽样,依然没有一个抽样视频片段没有在预设索引库中匹配到,则说明待检索的视频文件在预设索引库中匹配失败,这时,不再进行抽样,再次抽样的匹配结果与150次中任一次抽样的匹配结果相同,没有意义。具体地,若当前抽样起始帧与第一次抽样起始帧之间的帧数差等于或大于预设滑动帧数,说明对待检索的文件的抽样次数达到上限。这时,认为待检索的视频文件在预设索引库中匹配失败,即预设索引库中不存在任何一个视频片段与待检索的视频文件匹配。

本实施例提供的视频文件的检索方法,通过对待检索的视频文件进行至少一轮抽样,若上一轮抽样的所有抽样视频片段在预设索引库中匹配失败,则滑动一帧进行下一轮抽样,直至某一轮的至少一个抽样视频片段在预设索引库中匹配成功,接着对待检索的视频文件的全部的视频片段在预设索引库中进行全面检索,或者滑动过足够帧数后仍然检索失败,则表示在预设索引库中没有与待检索视频相匹配的视频文件。该方法可以快速地确定预设索引库中是否存在匹配的检索结果,大大提高了检索效率。

图2是本发明又一实施例的视频文件的检索方法的流程图。在上述实施例的基础上,“所述查询预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段”的可能的实现方式为“分别获取各个所述抽样视频片段的特征编码;根据所述特征编码与预设视频文件的对应关系查询所述预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段。”和/或,“所述查询预设索引库中是否存在与所述视频片段匹配的预设视频片段”的可能的实现方式为“分别获取各个所述视频片段对应的特征编码;根据所述特征编码与预设视频文件的对应关系查询预设索引库中是否存在与所述视频片段匹配的预设视频片段。”

如图2所示,本实施例的视频文件的检索方法,包括以下步骤:

s201、将上一次抽样起始帧加1帧作为当前抽样起始帧,判断当前抽样起始帧与第一次抽样起始帧之间的帧数差是否达到预设滑动帧数,若判断结果为否,执行步骤s202,若判断结果为是,执行步骤s207。

s202、若判断结果为否,根据预设抽样规则从所述当前抽样起始帧对待检索的视频文件进行抽样,获取至少一个抽样视频片段,执行步骤s203。

本实施例中的步骤s201、s202的实现方式与上述实施例的步骤s101、s102实现方式相同,在此不再赘述。

s203、分别获取各个所述抽样视频片段的特征编码,根据所述特征编码与预设视频片段的对应关系查询所述预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段,若存在,执行步骤s204,若不存在,返回执行步骤s201。

具体地,预设索引库中包括特征编码与预设视频文件的对应关系,即根据特征编码与预设视频片段的对应关系创建预设索引库。可选地,采用倒排索引技术并根据特征编码与预设视频片段的对应关系创建预设索引库。

举例来说,本实施例可以利用哈希(hash)签名算法对视频片段进行特征编码,在此,可将通过哈希(hash)签名算法得到的特征编码视为一个词,预设索引库可视一存储词与视频片段的对应关系的词典,这样对待视频文件的检索,变成了在词典中查询词,检索更加简单方便。故,本实施例需获取各个抽样视频片段的特征编码,接着根据特征编码与预设视频片段的对应关系查询预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段。

在此简要介绍哈希(hash)签名算法,也称之为数字摘要法(digitaldigest)或数字指纹法(digitalfingerprint),其通过采用单项hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。为此,本实施例可以哈希(hash)签名算法可以将视频片段转换成数字指纹形式的特征编码。

需要指出的是,不限于获取视频片段的特征编码和基于特征编码与预设视频片段的对应关系创建预设索引库。比如还可以是对视频片段进行特征识别,获取视频片段的关键特征,基于关键特征与预设视频片段的对应关系创建索引库。

s204、若存在,以当前抽样起始帧为分段起始帧,根据预设规则对所述待检索的视频文件进行分段,获取待检索的视频文件的全部的视频片段,执行步骤s205。

s205、分别获取各个所述视频片段对应的特征编码,根据所述特征编码与预设视频文件的对应关系查询预设索引库中是否存在与所述视频片段匹配的预设视频片段,执行步骤s206。

举例来说,本实施例可以利用哈希(hash)签名算法对视频片段进行特征编码,在此,可将通过哈希(hash)签名算法得到的特征编码视为一个词,预设索引库可视一存储词与视频片段的对应关系的词典,这样对待视频文件的检索,变成了在词典中查询词,检索更加简单方便。故,本实施例需获取各个视频片段对应的特征编码,接着,根据特征编码与预设视频文件的对应关系查询预设索引库中是否存在与视频片段匹配的预设视频片段。

s206、将与所述视频片段匹配的预设视频片段确定为对待检索的视频文件的检索结果。

s107、若判断结果是,确定待检索的视频文件在预设索引库中匹配失败。

本实施例中的步骤s206、s207的实现方式与上述实施例的步骤s106、s107实现方式相同,在此不再赘述。

本实施例提供的视频文件的检索方法,通过采用诸如哈希(hash)签名算法对视频片段进行特征编码,所得到的特征编码可视为一个词,预设索引库可视一存储有词与视频片段的对应关系的词典,这样对视频文件的检索,变成了在词典中查询词,也可视为转变成类似在搜索引擎中进行搜索,检索更加简单方便。

图3是本发明另一实施例的视频文件的检索方法的流程图。在上述实施例的基础上,本实施例对预设索引库的创建进行说明。

如图3所示,本实施例的视频文件的检索方法,包括以下步骤:

s301、获取至少一个预设视频文件。

s302、分别对至少一个所述预设视频文件进行分段以获取所述预设视频文件对应的预设视频片段。

举例来说,预设视频文件可以理解为已知相关信息的视频文件。对一个2小时的预设视频文件,该预设视频文件每秒包括30帧,若将连续5秒共计150帧的数据为一个视频片段,那么,一个2小时的预设视频文件可以被分成2*60*60/5=1440个视频片段。

s303、根据所述预设视频片段创建所述预设索引库。

举例来说,海量的预设视频文件对应海量的预设视频片段,根据海量的预设视频片段可以创建样本量极大的预设索引库,便于后续的视频资源的检索。

在一种可能的实现方式中,步骤s303的具体实现方式为:获取所述预设视频片段的特征编码;建立特征编码与预设视频片段的对应关系;根据所述对应关系建立所述预设索引库。

具体地,通过对预设视频片段进行特征编码,这时,可将预设视频片段视为一个词,相应地,预设视频文件可视为由一组词组成的文档。在本实施例中,通过建立特征编码与预设视频片段的对应关系创建预设索引库,后续只将待检索的视频文件的特征编码在预设索引库中进行查询,便可完成对视频文件的检索,类似于在搜索引擎中进行搜索,方法简单,检索效率高。

进一步地,在步骤s303之后,还可以包括以下步骤:

s304、获取待入库的视频文件对应的视频片段。

s305、查询所述预设索引库中是否存在与所述待入库的视频文件对应的视频片段匹配的预设视频片段。

具体地,对要入库到预设索引库中的视频文件,先在预设索引库中查询是否存在与该待入库的视频文件对应的视频片段匹配的预设视频片段,若不存在,则根据步骤s301至步骤s303的方法进行入库。

s306、若存在,根据与所述待入库的视频文件对应的视频片段匹配的预设视频片段对所述待入库的视频文件重新分段。

s307、根据重新分段所获取的待入库的视频文件对应的视频片段更新所述预设索引库。

具体地,若在预设索引库中查询到存在与该待入库的视频文件对应的视频片段匹配的预设视频片段,则对该视频文件重新分段。例如,对一个2小时的预设视频文件的第一次分段,从第一帧开始分段,该预设视频文件每秒包括30帧,若将连续5秒共计150帧的数据为一个视频片段,那么,一个2小时的预设视频文件可以被分成2*60*60/5=1440个视频片段。若通过查询,第3段视频片段在预设索引库中存在与之匹配的预设视频片段。那么,将第三段视频片段中的起始帧即第301帧作为重新分段起始帧,将待入库的视频文件重新分成1440个视频片段,将所述1440个视频片段入库到预设索引库中以更新预设索引库,从而保证预设索引库的可靠性,确保利用预设索引库进行视频资源检索的可靠性。

图4是本发明一实施例的视频文件的检索装置的结构示意图。

如图4所示,本实施例的视频文件的检索装置,包括:

计算模块01,用于将上一次抽样起始帧加1帧作为当前抽样起始帧;

判断模块02,用于判断当前抽样起始帧与第一次抽样起始帧之间的帧数差是否达到预设滑动帧数;

第一处理模块03,用于若判断结果为否,根据预设抽样规则从所述当前抽样起始帧对待检索的视频文件进行抽样,获取至少一个抽样视频片段;

第一查询模块04,用于查询预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段,所述预设索引库包括预设视频片段;

第二处理模块05,用于若存在,以当前抽样起始帧为分段起始帧,根据预设规则对所述待检索的视频文件进行分段,获取待检索的视频文件的全部的视频片段;

第二查询模块06,用于查询所述预设索引库中是否存在与所述视频片段匹配的预设视频片段;

确定模块07,用于将与所述视频片段匹配的预设视频片段确定为对待检索的视频文件的检索结果。

进一步地,所述预设索引库中包括特征编码与预设视频文件的对应关系,所述第一查询模块,具体用于分别获取各个所述抽样视频片段的特征编码;根据所述特征编码与预设视频文件的对应关系查询所述预设索引库中是否存在至少一个与所述抽样视频片段匹配的预设视频片段。

所述第二查询模块,具体用于分别获取各个所述视频片段对应的特征编码;根据所述特征编码与预设视频文件的对应关系查询预设索引库中是否存在与所述视频片段匹配的预设视频片段。

进一步地,还包括:创建模块;

所述创建模块,具体用于获取至少一个预设视频文件;分别对至少一个所述预设视频文件进行分段以获取所述预设视频文件对应的预设视频片段;根据所述预设视频片段创建所述预设索引库。

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

本实施例提供的视频文件的检索装置,通过对待检索的视频文件进行至少一轮抽样,若上一轮抽样的所有抽样视频片段在预设索引库中匹配失败,则滑动一帧进行下一轮抽样,直至某一轮的至少一个抽样视频片段在预设索引库中匹配成功,接着对待检索的视频文件的全部的视频片段在预设索引库中进行全面检索,或者滑动过足够次数后仍然检索失败,则表示在索引库中没有与待检索视频相匹配的视频文件。该装置可以快速地确定预设索引库中是否存在匹配的检索结果,大大提高了检索效率。

为达上述目的,本发明实施例还提出了一种计算机设备。

图5是本发明一实施例的计算机设备的结构示意图。

如图5所示,该计算机设备包括:存储器11、处理器12及存储在存储器11上并可在处理器12上运行的计算机程序。

处理器12执行所述程序时实现图1至图3任一所示的实施例中提供的视频文件的检索方法。

进一步地,计算机设备还包括:

通信接口13,用于存储器11和处理器12之间的通信。

存储器11,用于存放可在处理器12上运行的计算机程序。

存储器11可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

处理器12,用于执行所述程序时实现图1至图3所示的实施例中提供的视频文件的检索方法。

如果存储器11、处理器12和通信接口13独立实现,则通信接口13、存储器11和处理器12可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(industrystandardarchitecture,简称isa)总线、外部设备互连(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅以一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选地,在具体实现时,如果存储器11、处理器12及通信接口13,集成在一块芯片上实现,则存储器11、处理器12及通信接口13可以通过内部接口完成相互间的通信。

处理器12可以是一个中央处理器(centralprocessingunit,简称cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称asic),或者是被配置成实施本发明实施例的一个或多个集成电路。

为达上述目的,本申请实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实现图1至图3任一所示的实施例中提供的视频文件的检索方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1