一种视频文件索引信息的生成方法和设备与流程

文档序号:12183688阅读:343来源:国知局
一种视频文件索引信息的生成方法和设备与流程

本申请涉及计算机技术领域,特别是涉及一种视频文件索引信息的生成方法和设备。



背景技术:

视频数据是互联网上所占比例最大的数据,视频数据中包含了极其丰富的内容信息,可以说是一个“数据金矿”。每天产生的视频数据的数量级巨大,但这些数据保存到存储系统后很大一部分未做进一步的分析利用,只是到期删除或者存储归档,典型的比如视频监控的数据在经过很短的时间后就会被删除。

针对上述问题,在现有技术中通过视频采集设备将视频码流推送到存储服务器后对视频数据进行分析,视频分析服务器对视频进行分析,输出分析结果。

在实现本申请的过程中,申请人发现现有技术至少存在以下问题:

在对视频数据进行分析时无结构化的描述,不能更好的利用这些视频数据,并且由于视频数据存储量非常大,无法准确找到需要的视频信息。



技术实现要素:

本申请的目的在于提供一种视频文件索引信息的生成方法和设备,通过对关键帧中前景目标的分析得到的前景目标的行为信息生成所述视频文件的索引信息,服务器在生成的关键帧中前景目标的行为信息对视频文件进行了结构化的描述,以使服务器可以更好的利用这些视频文件,并且所述服务器根据具有结构化描述的索引信息可以尽快找到目标视频文件。

本申请的技术方案如下:

一种视频文件索引信息的生成方法,所述方法包括:

服务器根据对视频文件解码后生成的编码序列获取所述视频文件的前景目标;

所述服务器获取在同一关键帧下的所有视频帧的所述前景目标的特征信息;

所述服务器根据所述特征信息对在同一关键帧下两两相邻的视频帧中的所述前景目标进行匹配生成所述关键帧下所述前景目标的行为信息;

所述服务器根据所述关键帧下所述前景目标的行为信息生成所述视频文件的索引信息。

所述服务器根据对所述视频文件解码后生成的编码序列获取所述视频文件的前景目标,具体为:

所述服务器确定所述视频文件中包含的所有关键帧;

所述服务器根据所述视频文件中包含的所有关键帧将所述视频文件拆分为不同的子视频文件;

所述服务器中具有解码功能的多个子模块按照负载均衡的方式对不同的子视频文件进行解码,根据对不同子视频文件解码后生成的编码序列获取所述视频文件的前景目标。

所述索引信息还包括:

视频文件的名称、关键帧的产生时间、关键帧在视频文件中的存储位置、相邻关键帧之间的间隔帧数;

其中,所述视频文件的名称是所述服务器根据采集视频文件的视频采集设备的设备编号和视频文件的采集时间生成的;

所述关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数是根据所述服务器对视频文件进行分析获取的;

所述关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数的具体获取方式包括以下步骤:

所述服务器中具有视频分析功能的多个子模块按照负载均衡的分配方式对不同的子视频文件进行分析,以使所述服务器获取所述视频文件中关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数。

所述特征信息包括:物理特征、纹理特征、结构特征和数学特征。

所述服务器根据所述特征信息对在同一关键帧下两两相邻的视频帧中的所述前景目标进行匹配生成所述关键帧下所述前景目标的行为信息,具体为:

所述服务器根据所述物理特征、纹理特征、结构特征判断同一关键帧下所有视频帧中的同一前景目标;

所述服务器根据所述数学特征对同一关键帧下两两相邻的视频帧中同一个前景目标进行匹配生成所述前景目标的行为信息。

一种服务器,所述服务器包括:

第一获取模块,用于根据对所述视频文件解码后生成的编码序列获取所述视频文件的前景目标;

第二获取模块,用于获取在同一关键帧下的所有视频帧的所述前景目标的特征信息;

第一生成模块,用于根据所述特征信息对在同一关键帧下两两相邻的视频帧中的所述前景目标进行匹配生成所述关键帧下所述前景目标的行为信息;

第二生成模块,用于根据所述关键帧下所述前景目标的行为信息生成所述视频文件的索引信息。

所述第一获取模块,具体用于:

确定所述视频文件中包含的所有关键帧;

根据所述视频文件中包含的所有关键帧将所述视频文件拆分为不同的子视频文件;

所述第一获取模块中具有解码功能的多个子模块按照负载均衡的方式对不同的子视频文件进行解码,根据对不同子视频文件解码后生成的编码序列获取所述视频文件的前景目标。

所述索引信息还包括:

视频文件的名称、关键帧的产生时间、关键帧在视频文件中的存储位置、相邻关键帧之间的间隔帧数;

其中,所述视频文件的名称是所述服务器根据采集视频文件的视频采集 设备的设备编号和视频文件的采集时间生成的;

所述关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数是根据所述服务器中的分析模块对视频文件进行分析获取的;

所述分析模块,具体用于:

所述分析模块中具有视频分析功能的多个子模块按照负载均衡的分配方式对不同的子视频文件进行分析,以使所述服务器获取所述视频文件中关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数。

所述特征信息包括:物理特征、纹理特征、结构特征和数学特征。

所述第一生成模块,具体用于:

根据所述物理特征、纹理特征、结构特征判断同一关键帧下所有视频帧中的同一前景目标;

根据所述数学特征对同一关键帧下两两相邻的视频帧中同一个前景目标进行匹配生成所述前景目标的行为信息。

本申请通过对关键帧中前景目标的分析得到的前景目标的行为信息生成所述视频文件的索引信息,服务器在生成的关键帧中前景目标的行为信息对视频文件进行了结构化的描述,以使服务器可以更好的利用这些视频文件,并且所述服务器根据具有结构化描述的索引信息可以尽快找到目标视频文件。

附图说明

为了更清楚地说明本申请或现有技术中的技术方案,下面将对本申请或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中的一种视频文件索引信息的生成方法流程图;

图2为本申请实施例中的一种服务器的结构示意图。

具体实施方式

下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的其他实施例,都属于本申请保护的范围。

一种视频文件索引信息的生成方法,如图1所示,所述方法包括以下步骤:

步骤101,服务器根据对视频文件解码后生成的编码序列获取所述视频文件的前景目标。

所述服务器根据对所述视频文件解码后生成的编码序列获取所述视频文件的前景目标,具体为:

所述服务器确定所述视频文件中包含的所有关键帧;

所述服务器根据所述视频文件中包含的所有关键帧将所述视频文件拆分为不同的子视频文件;

所述服务器中具有解码功能的多个子模块按照负载均衡的方式对不同的子视频文件进行解码,根据对不同子视频文件解码后生成的编码序列获取所述视频文件的前景目标。

具体的,为了达到快速处理视频文件的目的,需要将所述视频文件拆分成多个子视频文件,所述服务器可以对多个子视频文件同时处理。由于视频文件是由视频帧组成的,其中视频帧中包含多个关键帧,关键帧下有多个子帧(非关键帧),其中,关键帧是角色或者物体运动或变化中的关键动作所处的那一帧,在确定关键帧时是根据视频帧的帧头进行确定,视频帧的帧头有一个标识数值,可以根据所述标识数值判断视频帧是否为关键帧,而一个关键帧下的子帧是对所述关键帧内容的延续,用于控制所述关键帧的延续时间,即子帧越多延续时间越长。一个视频中不同的关键帧表现的内容可能是不同的,即一个视频由多个部分组成,可以根据关键帧区分一个视频文件中不同部分的内容,进而达到快速查找一个视频文件中具体子视频文件的目的,所 述服务器在确定出视频文件中的关键帧之后对所述视频文件进行拆分,具体的拆分方法可以是将一个视频文件从第1个关键帧开始,按照GOP(Group of Pictures,画面组,一个GOP就是一组连续的画面)size大小将所述视频文件拆分成多个子视频文件。

所述服务器中具有解码功能的多个子模块,所述多个子模块可以按照负载均衡的方式对不同的子视频文件进行解码,根据对不同子视频文件解码后生成的编码序列获取所述视频文件的前景目标,这样可以达到快速对视频文件处理的目的,对视频文件解码后生成的所述编码序列是可以在显示设备(电视、电脑)可以显示的,具体的,所述编码序列可以为YUV(Luma and Chroma,一种颜色编码方法,用于优化彩色视频信号的传输)格式或RGB(Red Green Blue,一种颜色编码的方法,用于在显示设备上显示彩色图形)格式的编码序列,在对子视频文件进行解码后生成编码序列,通过背景建模算法提取编码序列中子视频文件的背景部分,然后过滤掉前景目标中的干扰部分,其中,所述前景目标可以包括:人、车和其他,即:视频中重点表现的事物。

步骤102,所述服务器获取在同一关键帧下的所有视频帧的所述前景目标的特征信息。

所述特征信息包括:物理特征、纹理特征、结构特征和数学特征。

所述物理特征描述的是前景目标在画面中的大小,所述纹理特征描述的是前景目标的色彩,所述结构特征描述的是前景目标各个部分的形状和构造,所述数学特征描述的是前景目标的移动向量,以及物理特征、纹理特征、结构特征的个数。

一个视频文件中重点表现的是前景目标,通过对前景目标的分析就能得到所述视频文件的具体描述,在对视频文件中的前景目标进行分析是需要获取在一个视频文件的同一关键帧下的子视频文件中不同视频帧的同一前景目标的特征信息,通过对不同视频帧的同一前景目标的特征信息的分析就能完成所述子视频文件中前景目标的分析,具体的特征信息可以为:角点特征信息、sift(Scale-invariant feature transform,尺度不变特征转换)特征信息,以及自定义的其他特征信息。

步骤103,所述服务器根据所述特征信息对在同一关键帧下两两相邻的视频帧中的所述前景目标进行匹配生成所述关键帧下所述前景目标的行为信息。

所述服务器根据所述特征信息对在同一关键帧下两两相邻的视频帧中的所述前景目标进行匹配生成所述关键帧下所述前景目标的行为信息,具体为:

所述服务器根据所述物理特征、纹理特征、结构特征判断同一关键帧下所有视频帧中的同一前景目标;

所述服务器根据所述数学特征对同一关键帧下两两相邻的视频帧中同一个前景目标进行匹配生成所述前景目标的行为信息。

具体的,在同一个关键帧下不同视频帧中的同一前景目标的物理特征、纹理特征和结构特征是相同的,所述服务器可以根据前景目标的物理特征、纹理特征、结构特征判断出同一关键帧下不同视频帧中的同一前景目标,在判断出同一前景目标后,通过对比所述前景目标在同一关键帧下的两两相邻的视频帧中的数学特征就能确定出所述前景目标的行为信息,所述行为信息具体可以为:前景目标的移动向量(包括移动距离和移动方向)、前景目标是否消失或前景目标是否是新增加的等,所述前景目标的行为信息可以当成所述视频文件中关键帧的结构化描述。

步骤104,所述服务器根据所述关键帧下所述前景目标的行为信息生成所述视频文件的索引信息。

所述索引信息还包括:

视频文件的名称、关键帧的产生时间、关键帧在视频文件中的存储位置、相邻关键帧之间的间隔帧数。

其中,所述视频文件的名称是所述服务器根据采集视频文件的视频采集设备的设备编号和视频文件的采集时间生成的。

所述关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数是根据所述服务器对视频文件进行分析获取的。

所述关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数的具体获取方式包括以下步骤:

在所述服务器根据所述视频文件中包含的所有关键帧将所述视频文件拆分为不同的子视频文件之后,所述服务器中具有视频分析功能的多个子模块按照负载均衡的分配方式对所述服务器不同的子视频文件进行分析,以使所述服务器获取所述视频文件中关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数。

具体的,根据视频采集设备的设备编号和视频文件的采集时间对采集的视频文件命名不仅可以区分不同的视频文件,还可以查找具体的视频采集设备在具体的时间采集到的视频文件,例如:用户在查看监控视频时往往需要查找具体监控设备在具体的时间采集到的视频文件,用户可以根据视频文件的名称就可以找到自己需要的视频文件。在获取子视频文件的关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数时是采用多个具有视频分析功能的多个子模块共同处理多个子视频文件的方法,这样可以减少获取整个视频文件中关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数的时间。

所述索引信息中包含了所述视频文件中各个关键帧的结详细描述,即所述视频文件各个部分的详细描述,根据索引信息中的视频文件的名称可以找到具体的视频文件,根据关键帧中前景目标的行为信息可以确定不同关键帧重点表现内容,根据关键帧的产生时间、关键帧在视频文件中的存储位置、相邻关键帧之间的间隔帧数可以找到一个视频文件中需要查找的目标关键帧对应的子视频文件,例如:用户想要查找某一监控在某一时间产生的视频中某个前景目标消失的视频文件,所述服务器根据所述监控的编号和视频产生的时间找到具体的视频文件,再根据前景目标的行为信息确定对应的关键帧,在根据所述关键帧的产生时间、关键帧在视频文件中的存储位置、相邻关键帧之间的间隔帧数就能确定出用户需要查找的具体的内容,即可以根据所述索引信息确定出所述视频文件的具体部分的表现内容,从而避免了在查找到具体的视频文件后一点一点查找自己想要查找的内容。

在确定出视频文件的索引信息后,将所述索引信息生成表单结构,以使所述服务器为大数据查询和分析做数据准备,当所述服务器在为用户提供检 索服务时,将所述服务器收到检索指令时,按照用户指令查找表单内容进行查找,若此时没有查找到需要的视频文件,所述服务器使用机器学习算法,利用前景目标保存的特征信息进行分类识别,若有对应的视频文件则输出指定的视频文件,否则检索服务失败;当所述服务器提供统计服务时,所述服务器先调用检索服务,查找要统计的视频文件,若无对应的视频文件,则通过聚类算法进行某类视频文件的聚类,若聚类出视频文件则输出指定的视频文件。否则统计服务失败;当所述服务器提供预测服务时,先调用检索服务和统计服务,根据历史视频文件做趋势算法分析,提供预测结果。

在确定出所述索引信息后,所述方法还包括:

所述服务器获取所述视频文件的视频编码类型;

所述服务器将所述视频编码类型存储在所述视频文件的索引信息中,以使所述服务器在查找到目标视频所在的具体位置后根据所述视频编码类型选择对应的播放器。

本申请通过对关键帧中前景目标的分析得到的前景目标的行为信息生成对应关键帧的索引信息,服务器在生成关键帧中前景目标的行为信息对视频文件进行了结构化的描述,以使服务器可以真正利用这些视频文件,并且所述服务器根据具有结构化描述的关键帧的索引信息可以尽快找到目标视频文件。

下面结合具体的应用场景的本申请实施例提供的技术方案的设计方式进行详细描述。在本申请实施例中,应用于云计算的场景下,所述服务器包括云计算中的存储集群和计算集群,具体如下:

所述存储集群在接收到视频文件后根据视频采集设备的设备编号和所述视频文件的采集时间对视频文件进行命名,同时按照采集设备的不同存储在不同的目录下,即同一采集设备采集的视频文件存储在同一目录下。

所述存储集群对保存的视频文件进行视频编码类型分析,获取所述视频文件的视频编码类型,所述视频编码类型用于为所述视频文件确定相应的播放器。

所述存储集群从所述视频文件第1个关键帧开始,按照GOP size将所述 视频文件分割成多个小的子视频文件,即从第一个关键帧开始,根据所述视频文件中的关键帧将所述视频文件分割成多个子视频文件,每个子视频文件中包含多个视频帧。

所述存储集群将分割后的自视频文件按照负载均衡的方法推送给计算集群中的不同计算设备上,以使计算集群中的不同计算设备对子视频文件进行视频帧分析和解码。

所述计算集群中的不同计算设备对子视频文件进行视频帧类型分析,获取所述视频文件中关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数。

所述计算集群中的不同计算设备对解码后的子视频文件进行前背景分离,具体的,通过背景建模算法分离出视频画面的背景,并过滤掉前景目标中的干扰部分。

如果所述视频文件中有3个关键帧,分别为关键帧1、关键帧2和关键帧3,分别对应子视频文件1、子视频文件2和子视频文件3,所述计算集群中的计算设备1处理子视频文件1,所述计算集群中的计算设备2处理子视频文件2,所述计算集群中的计算设备3处理子视频文件3。

所述计算集群中的计算设备1获取子视频文件1中所有视频帧前景目标的特征信息,并根据所述特征信息中的物理特征、纹理特征和结构特征确定出子视频文件1中所有视频帧中的同一前景目标,然后再根据所述特征信息中的数学特征确定出所有前景目标的行为信息,例如:第N个视频帧有3个前景目标,第N+1个视频帧中有4个前景目标,根据前景目标的特征信息将第N个视频帧中的前景目标与第N+1个视频帧中的前景目标对应起来,其中有一个前景目标的行为信息为新增的,并且还可以确定出其他3个前景目标的行为信息,并将各个前景目标的所述行为信息发送给所述存储集群,其中,每个目标前景的行为信息的特征描述不少于5个,每个特征描述的特征向量不少于128维。子视频文件2和3同样根据上述方法确定出前景目标的行为信息。

所述存储集群根据所述视频文件的名称、视频编码类型、视频文件中关 键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数和前景目标的行为信息生成所述视频文件的索引信息,具体的,所述索引信息中不仅包含所述视频文件的名称,还包括子视频文件1、2、3对应的关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数,以及所述子视频文件1、2、3中所有前景目标的行为信息和所述视频文件的编码信息,所述存储集群不仅可以根据所述索引信息查找用户指定内容的目标视频文件,还可以查找到用户指定内容在目标视频文件中的具体位置。

其中,所述索引信息中不仅记录了所述视频文件中所有前景目标,还记录了所有前景目标的位置、在视频画面中的绝对大小和运动方向。

所述云计算还包括:数据导入与转化模块用于将保存在存储集群的视频文件索引信息格式化导入到大数据分析集群,转化成表单结构,方便大数据查询和分析。

机器学习模块:对视频数据进行学习、分析和挖掘,主要用于提供有监督学习和无监督学习等算法,为对外服务模块提供分析引擎。

对外服务模块:对外接口,用于对用户提供视频文件数据的检索、视频文件内容统计以及基于视频文件内容的趋势分析等服务。

具体的,在确定出视频文件的索引信息后,将所述索引信息生成表单结构,以使云计算为大数据查询和分析做数据准备,当所述云计算在为用户提供检索服务时,将所述云计算收到检索指令时,按照用户指令查找表单内容进行查找,若此时没有查找到需要的视频文件,所述云计算使用机器学习算法,利用前景目标保存的特征信息进行分类识别,若有对应的视频文件则输出指定的视频文件,否则检索服务失败;当所述云计算提供统计服务时,所述云计算先调用检索服务,查找要统计的视频文件,若无对应的视频文件,则通过聚类算法进行某类视频文件的聚类,若聚类出视频文件则输出指定的视频文件。否则统计服务失败;当所述云计算提供预测服务时,先调用检索服务和统计服务,根据历史视频文件做趋势算法分析,提供预测结果。

基于与上述方法同样的申请构思,本申请还提出了一种服务器,如图2 所述,所述服务器包括:

第一获取模块21,用于根据对视频文件解码后生成的编码序列获取所述视频文件的前景目标;

第二获取模块22,用于获取在同一关键帧下的所有视频帧的所述前景目标的特征信息;

第一生成模块23,用于根据所述特征信息对在同一关键帧下两两相邻的视频帧中的所述前景目标进行匹配生成所述关键帧下所述前景目标的行为信息;

第二生成模块24,用于根据所述关键帧下所述前景目标的行为信息生成所述视频文件的索引信息;

所述第一获取模块,具体用于:

确定所述视频文件中包含的所有关键帧;

根据所述视频文件中包含的所有关键帧将所述视频文件拆分为不同的子视频文件;

所述第一获取模块中具有解码功能的多个子模块按照负载均衡的方式对不同的子视频文件进行解码,根据对不同子视频文件解码后生成的编码序列获取所述视频文件的前景目标。

所述索引信息还包括:

视频文件的名称、关键帧的产生时间、关键帧在视频文件中的存储位置、相邻关键帧之间的间隔帧数;

其中,所述视频文件的名称是所述服务器根据采集视频文件的视频采集设备的设备编号和视频文件的采集时间生成的;

所述关键帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数是根据所述服务器中的分析模块对视频文件进行分析获取的;

所述分析模块,具体用于:

所述分析模块中具有视频分析功能的多个子模块按照负载均衡的分配方式对不同的子视频文件进行分析,以使所述服务器获取所述视频文件中关键 帧的产生时间、关键帧在视频文件中的存储位置和相邻关键帧之间的间隔帧数。

所述特征信息包括:物理特征、纹理特征、结构特征和数学特征。

所述第一生成模块,具体用于:

根据所述物理特征、纹理特征、结构特征判断同一关键帧下所有视频帧中的同一前景目标;

根据所述数学特征对同一关键帧下两两相邻的视频帧中同一个前景目标进行匹配生成所述前景目标的行为信息。

本申请通过对关键帧中前景目标的分析得到的前景目标的行为信息生成对应关键帧的索引信息,服务器在生成关键帧中前景目标的行为信息对视频文件进行了结构化的描述,以使服务器可以真正利用这些视频文件,并且所述服务器根据具有结构化描述的关键帧的索引信息可以尽快找到目标视频文件。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

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