发明内容
本申请的主要目的在于提供一种视频片头片尾自动检测方法、装置、设备和存储介质,旨在解决现有技术中用户只能手动选择播放进度跳过视频片头和片尾,造成电视剧类影视作品的用户使用效率低的技术问题。
为实现上述目的,本申请提供一种视频片头片尾自动检测方法,所述视频片头片尾自动检测方法包括:
确定目标视频集,从所述目标视频集中选择得到待检测视频片段;
对所述待检测视频片段进行预处理,得到预处理视频片段;
对所述预处理视频片段进行编码处理,得到编码视频片段;
通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串;
根据所述最长相似子串,确定所述待检测视频片段的检测结果。
可选地,所述对所述预处理视频片段进行编码处理,得到编码视频片段的步骤,包括:
确定所述预处理视频片段的类型;
根据所述预处理视频片段的类型,确定编码方式,其中,所述编码方式包括正向序列编码或者反向序列编码;
根据所述编码方式,对所述预处理视频片段进行编码处理,得到编码视频片段。
可选地,所述通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串的步骤,包括:
确定所述编码视频片段的第一串关键帧序列,并确定所述编码视频片段的其他第二串关键帧序列;
在所述其他第二串关键帧序列对应帧数据中,查找得到所述第一串关键帧序列中对应每帧数据的相似帧,以得到相似关键帧序列;
基于所述相似关键帧序列和所述第一串关键帧序列,确定视频偏移编码序列和偏移值;
基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串。
可选地,所述基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串的步骤,包括:
基于所述偏移编码序列和所述偏移值,确定差值编码序列;
确定预设滑动窗口的大小和步长,基于所述大小和步长,控制所述预设滑动窗口在所述差值编码序列上滑动,并进行相似度投票,以得到相似编码序列;
在相似编码序列中寻找预设值,并获取所述预设值的最长连续序列,将所述最长连续序列作为所述所述编码视频片段的最长相似子串。
可选地,所述根据所述最长相似子串,确定所述待检测视频片段的检测结果的步骤,包括:
确定所述最长相似子串对应的最后一个滑动窗口;
确定所述最后一个滑动窗口中编码为所述预设值的排名最末的目标编码;
确定所述目标编码的时间点,将所述目标编码的时间点作为片头起始点;
在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件;
根据所述片头起始点和所述片头结束点,确定所述待检测视频片段的检测结果。
可选地,所述在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件的步骤,包括。
在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至计算出所述第一串关键帧序列和所述第二串关键帧序列对应的时长大于预设时长的相同视频子片段或者达到预设结束条件;
其中,在得到所述相同视频子片段后,将所述相同视频子片段中所述第一串关键帧序列对应的结束点作为所述第一串关键帧序列对应片头结束点。
可选地,所述预设结束条件包括遍历次数达到预设次数。
本申请还提供一种视频片头片尾自动检测装置,所述视频片头片尾自动检测装置包括:
第一确定模块,用于确定目标视频集,从所述目标视频集中选择得到待检测视频片段;
第一获取模块,用于对所述待检测视频片段进行预处理,得到预处理视频片段;
编码模块,用于对所述预处理视频片段进行编码处理,得到编码视频片段;
寻找模块,用于通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串;
第二确定模块,用于根据所述最长相似子串,确定所述待检测视频片段的检测结果。
可选地,所述编码模块包括:
第一确定单元,用于确定所述预处理视频片段的类型;
第二确定单元,用于根据所述预处理视频片段的类型,确定编码方式,其中,所述编码方式包括正向序列编码或者反向序列编码;
编码单元,用于根据所述编码方式,对所述预处理视频片段进行编码处理,得到编码视频片段。
可选地,所述寻找模块包括:
第三确定单元,用于确定所述编码视频片段的第一串关键帧序列,并确定所述编码视频片段的其他第二串关键帧序列;
查找单元,用于在所述其他第二串关键帧序列对应帧数据中,查找得到所述第一串关键帧序列中对应每帧数据的相似帧,以得到相似关键帧序列;
第四确定单元,用于基于所述相似关键帧序列和所述第一串关键帧序列,确定视频偏移编码序列和偏移值;
寻找单元,用于基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串。
可选地,所述寻找单元包括:
第一确定子单元,用于基于所述偏移编码序列和所述偏移值,确定差值编码序列;
第二确定子单元,用于确定预设滑动窗口的大小和步长,基于所述大小和步长,控制所述预设滑动窗口在所述差值编码序列上滑动,并进行相似度投票,以得到相似编码序列;
获取子单元,用于在相似编码序列中寻找预设值,并获取所述预设值的最长连续序列,将所述最长连续序列作为所述所述编码视频片段的最长相似子串。
可选地,所述第二确定模块包括:
第五确定单元,用于确定所述最长相似子串对应的最后一个滑动窗口;
第六确定单元,用于确定所述最后一个滑动窗口中编码为所述预设值的排名最末的目标编码;
第七确定单元,用于确定所述目标编码的时间点,将所述目标编码的时间点作为片头起始点;
返回单元,用于在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件;
第八确定单元,用于根据所述片头起始点和所述片头结束点,确定所述待检测视频片段的检测结果。
可选地,所述返回单元包括。
返回子单元,用于在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至计算出所述第一串关键帧序列和所述第二串关键帧序列对应的时长大于预设时长的相同视频子片段或者达到预设结束条件;
其中,在得到所述相同视频子片段后,将所述相同视频子片段中所述第一串关键帧序列对应的结束点作为所述第一串关键帧序列对应片头结束点。
可选地,所述预设结束条件包括遍历次数达到预设次数。
本申请还提供一种视频片头片尾自动检测设备,所述视频片头片尾自动检测设备为实体节点设备,所述视频片头片尾自动检测设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述视频片头片尾自动检测方法的程序,所述视频片头片尾自动检测方法的程序被处理器执行时可实现如上述的视频片头片尾自动检测方法的步骤。
本申请还提供一种存储介质,所述存储介质上存储有实现上述视频片头片尾自动检测方法的程序,所述视频片头片尾自动检测方法的程序被处理器执行时实现如上述的视频片头片尾自动检测方法的步骤。
本申请还提供一种计算机程序产品、包括计算机程序,该计算机程序被处理器执行时实现上述的视频片头片尾自动检测方法的步骤。
本申请提供一种视频片头片尾自动检测方法、装置、设备及存储介质,与现有技术中用户只能手动选择播放进度跳过视频片头和片尾,造成电视剧类影视作品的用户使用效率低相比,在本申请中,确定目标视频集,从所述目标视频集中选择得到待检测视频片段;对所述待检测视频片段进行预处理,得到预处理视频片段;对所述预处理视频片段进行编码处理,得到编码视频片段;通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串;根据所述最长相似子串,确定所述待检测视频片段的检测结果。也即,在本申请中,不再是手动选择播放进度跳过视频片头和片尾,而是先从目标视频集中选择得到待检测视频片段,对所述待检测视频片段进行预处理,得到预处理视频片段后;通过编码以及预设滑动窗口和投票策略处理方式,寻找最长相似子串,进而确定所述待检测视频片段的检测结果,也即,在本实施例中,通过寻找最长相似子串的方式,对影视剧类片头片尾进行智能化打点即进行智能化识别,从而得到精准得到影视剧片头片尾位置信息,提升电视剧类影视作品的用户使用效率。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种视频片头片尾自动检测方法,在本申请视频片头片尾自动检测方法的第一实施例中,参照图1,所述视频片头片尾自动检测方法包括:
步骤S10,确定目标视频集,从所述目标视频集中选择得到待检测视频片段;
步骤S20,对所述待检测视频片段进行预处理,得到预处理视频片段;
步骤S30,对所述预处理视频片段进行编码处理,得到编码视频片段;
步骤S40,通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串;
步骤S50,根据所述最长相似子串,确定所述待检测视频片段的检测结果。
具体步骤如下:
步骤S10,确定目标视频集,从所述目标视频集中选择得到待检测视频片段;
在本实施例中,需要说明的是,视频片头片尾自动检测方法应用于视频片头片尾自动检测系统,该视频片头片尾自动检测系统属于视频片头片尾自动检测设备。
在本实施例中,先确定目标视频集,然后从所述目标视频集中选择得到待检测视频片段。
在本实施例中,确定目标视频集的方式可以是:
方式一:获取加载至视频片头片尾自动检测系统中的视频数据,进而,将该加载至视频片头片尾自动检测系统中的视频数据作为目标视频集;
例如,加载某一电视剧至视频片头片尾自动检测系统中,则该电视剧为目标视频集。
方式二:获取具有预设标识的视频数据,将具有预设标识的视频数据作为目标视频集;
例如,预设标识为电视剧名称标识或者图像标识,将具有预设标识的视频数据作为目标视频集,目标视频集为多个。
也即,在本实施例中,需要说明的是,目标视频集至少包括两级目标视频。
在本实施例中,在得到目标视频集后,从所述目标视频集中选择得到待检测视频片段,待检测视频片段为多个。
具体地,从所述目标视频集中选择得到待检测视频片段的目的在于:减少实际需要处理的视频数据,以提升视频片头片尾自动检测的效率。
也即,针对大多数影视剧情况来说,片头片尾出现位置主要在视频前T1分钟和最后T2分钟,因此截取这两个时间内的数据内容即可检测得到视频片头片尾,因而,不需要获取全部的目标视频集,因而,可以提升视频片头片尾自动检测的效率。
在本实施例中,需要说明的是,T1一般选用6分钟,T2一般选用3分钟。
在本实施例中,确定目标视频集后,从所述目标视频集中选择得到待检测视频片段,该待检测视频片段包括待检测片头视频片段和待检测片尾视频片段。
步骤S20,对所述待检测视频片段进行预处理,得到预处理视频片段;
在本实施例中,对所述待检测视频片段进行预处理,得到预处理视频片段,其中,对所述待检测视频片段进行预处理,得到预处理视频片段的目的在于:减少数据处理量,进而,提升片头片尾自动检测效率。
其中,对所述待检测视频片段进行预处理,得到预处理视频片段的方式包括:
方式一:应用高斯滤波对待检测视频片段进行噪声去除处理,然后将待检测视频片段中的图片压缩到预设尺寸如80*80尺寸的大小,得到预处理视频片段;
方式二:应用高斯滤波对待检测视频片段进行噪声去除处理,并将待检测视频片段中的图片压缩到预设尺寸如80*80尺寸的大小,然后对压缩后的图片进行数据归一化处理,得到预处理视频片段。
其中,数据归一化的方式可以是:将0~255的图像像素归一到0~1内。
在本实施例中,具体地,在确定目标视频集后,从所述目标视频集中选择得到待检测片头视频片段;对所述待检测片头视频片段进行预处理,得到预处理片头视频片段;或者从所述目标视频集中选择得到待检测片尾视频片段;对所述待检测片尾视频片段进行预处理,得到预处理片头视频片段。
步骤S30,对所述预处理视频片段进行编码处理,得到编码视频片段;
在本实施例中,在得到预处理视频片段后,对所述预处理视频片段进行编码处理,得到编码视频片段,具体地,可以是对所述预处理视频片段进行视频帧的帧编码处理,得到编码视频片段。
也即,由于每秒预处理视频片段由多帧数据组成,因而,可以对预处理视频片段进行帧编码,将各个帧编码按照时间序列进行组合,得到编码视频片段,如编码视频片段为[1,2,3,4,5,6,7,8,9,10,…,m]。
参照图2,所述对所述预处理视频片段进行编码处理,得到编码视频片段的步骤,包括:
步骤S31,确定所述预处理视频片段的类型;
在本实施例中,不同的预处理视频片段采用不同的编码方式,因而,需要确定所述预处理视频片段的类型,其中,类型包括片头类型或者片尾类型。
在本实施例中,确定所述预处理视频片段的类型的方式可以是:
根据预处理视频片段在目标视频集中的位置,确定所述预处理视频片段的类型。
步骤S32,根据所述预处理视频片段的类型,确定编码方式,其中,所述编码方式包括正向序列编码或者反向序列编码;
在本实施例中,根据所述预处理视频片段的类型,确定编码方式,其中,若预处理视频片段的类型为片头类型,则编码方式为正向序列编码,若预处理视频片段的类型为片尾类型,则编码方式为反向序列编码。
步骤S33,根据所述编码方式,对所述预处理视频片段进行编码处理,得到编码视频片段。
根据所述编码方式,对片头类型的预处理视频片段进行编码处理,得到编码视频片段,具体地,对于片头类型的预处理视频片段而言,对视频前T1分钟按从前往后的顺序进行帧编码,对于片尾,采用视频反向序列编码,即对视频最后T2分钟按从后往前的顺序进行帧编码。
在本实施例中,将全部预处理视频片段编码后,得到编码视频片段,由于每个预处理视频片段都对应一段编码视频子片段,且由于在本实施例中,预处理视频片段为多个,因而,编码视频子片段也可以是多个,各个编码视频子片段构成编码视频片段。
步骤S40,通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串;
在本实施例中,通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串,其中,预设滑动窗口和投票策略具体包括滑动窗口的滑动步长,滑动窗口的大小,投票规则等信息。
在本实施例中,编码视频片段的最长相似子串可以指的是不同编码视频子片段之间的最长公共子串,即两者之间的最长公共编码片段。
所述通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串的步骤,包括:
步骤S41,确定所述编码视频片段的第一串关键帧序列,并确定所述编码视频片段的其他第二串关键帧序列;
在本实施例中,首先确定所述编码视频片段的第一串关键帧序列(片头),具体地,首先从所述编码视频片段中选择主视频关键帧(基础视频关键帧,用作对比),如将编码视频片段中第一集对应的编码视频子片段作为主视频关键帧,在得到主视频关键帧后,由于每秒视频内容由多帧数据组成,因而,选取每秒的第一帧作为该时间点的表示帧,并计算该帧的灰度直方图,排除选取到全黑帧,形成第一串关键帧V,V的视频编码序列即第一串关键帧序列为VN=[1,2,3,4,5,6,7,8,9,10,…,m]。
在本实施例中,还获取所述编码视频片段的其他第二串关键帧序列,具体地,以取第一集对应后一集视频关键帧Q作为查找对象为例进行具体说明,即基于第一集对应后一集视频关键帧Q形成第二串关键帧Q,第二串关键帧Q的编码序列为其他第二串关键帧序列。
步骤S42,在所述其他第二串关键帧序列对应帧数据中,查找得到所述第一串关键帧序列中对应每帧数据的相似帧,以得到相似关键帧序列;
在本实施例中,在所述其他第二串关键帧序列对应帧数据中,查找得到所述第一串关键帧序列中对应每帧数据的相似帧,以得到相似关键帧序列,
具体地,对于V中的每一帧,遍历Q中所有帧数据,并通过相似度算法计算Q中每帧数据与V中的每一帧的相似度值,由于V中具有m帧,因而,查找得到所述第一串关键帧序列中对应每帧数据的相似帧后,组成对应相同大小为m的相似关键帧序列。
在本实施例中,通过相似度算法计算每两帧的相似度值σ,具体相似度算法如下:
其中,其中x1和x2对应两帧图像的每个像素值,i为像素位置,n为像素个数。
当相似度值越小时,表示两帧图片越相似,取最相似的视频帧对应的实际时间j(视频第j秒,也是帧的时间序列)作为编号,组成对应相同大小为m的视频编码序列QN=[123,20,38,13,23,8,9,10,11,12,…,100],其中,QN中123表示Q中的第123帧与V中的第一帧最相似,其中,QN中20表示Q中的第20帧与V中的第二帧最相似等。
步骤S43,基于所述相似关键帧序列和所述第一串关键帧序列,确定视频偏移编码序列和偏移值;
在本实施例中,在得到相似关键帧序列后,基于所述相似关键帧序列和所述第一串关键帧序列,确定视频偏移编码序列和偏移值,具体地,视频偏移编码序列为两串帧序列VN及QN的差值,在本实施例中,基于VN=[1,2,3,4,5,6,7,8,9,10,…,m],QN=[123,20,38,13,23,8,9,10,11,12,…,100],则视频偏移码L对应的视频偏移编码序列为LN为(LN=[122,18,35,9,18,2,2,2,2,2,…,100-m]),在本实施例中,取LN中的偏差众数作为偏移值,如取偏差众数2作为不同串关键帧序列对应视频的偏移值a;
步骤S44,基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串。
在本实施例中,基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串,具体地,基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,确定相似编码序列,进而,根据相似编码序列,确定所述编码视频片段的最长相似子串。
所述基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串的步骤,包括:
步骤A1,基于所述偏移编码序列和所述偏移值,确定差值编码序列;
在本实施例中,基于所述偏移编码序列和所述偏移值,确定差值编码序列,具体地,将视频偏移编码序列对应的视频偏移码L与偏移值a进行差值计算,进而,确定差值编码序列,在本实施例中,进行插值计算过程中,若差值绝对误差范围小于3的编码记为1,大于3的记为0,获得值为0或1的差值码K及其序列(差值编码序列)KN(KN=[0,0,0,0,0,1,1,1,1,1,…,0]);
步骤A2,确定预设滑动窗口的大小和步长,基于所述大小和步长,控制所述预设滑动窗口在所述差值编码序列上滑动,并进行相似度投票,以得到相似编码序列;
在本实施例中,获取预设的滑动预设滑动窗口和投票策略,进而,得到预设滑动窗口的大小和步长,基于所述大小和步长,控制所述预设滑动窗口在所述差值编码序列上滑动,并进行相似度投票,以得到相似编码序列。
具体地,将滑动窗口的大小设置为10个编码,步长为1个编码,在差值编码序列KN上进行窗口滑动,以获取窗口内的编码内容,在得到窗口内的编码内容后,进行相似度投票,在相似度投票的过程中,设置有规则,在本实施例中,设置的规则为当窗口内差值为1的个数大于等于5时,这个窗口记为相似编码1,否则记为0,在本实施例中,最后得到351个值为0或1的相似编码序列FN;
步骤A3,在相似编码序列中寻找预设值,并获取所述预设值的最长连续序列,将所述最长连续序列作为所述所述编码视频片段的最长相似子串。
在本实施例中,在相似编码序列中寻找预设值,并获取所述预设值的最长连续序列,将所述最长连续序列作为所述所述编码视频片段的最长相似子串,具体地,在FN中寻找最长连续值为“1”的序列作为获取最长相似子串。
在本实施例中,需要说明的是,最长相似子串包括片头对应的最长相似子串,也包括片尾对应的最长相似子串。
步骤S50,根据所述最长相似子串,确定所述待检测视频片段的检测结果。
在本实施例中,根据所述最长相似子串,确定所述待检测视频片段的检测结果,具体地,根据片头的最长相似子串,确定所述待检测视频片段的片头检测结果,根据片尾的最长相似子串,确定所述待检测视频片段的检测结果。
本申请提供一种视频片头片尾自动检测方法、装置、设备及存储介质,与现有技术中用户只能手动选择播放进度跳过视频片头和片尾,造成电视剧类影视作品的用户使用效率低相比,在本申请中,确定目标视频集,从所述目标视频集中选择得到待检测视频片段;对所述待检测视频片段进行预处理,得到预处理视频片段;对所述预处理视频片段进行编码处理,得到编码视频片段;通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串;根据所述最长相似子串,确定所述待检测视频片段的检测结果。也即,在本申请中,不再是手动选择播放进度跳过视频片头和片尾,而是先从目标视频集中选择得到待检测视频片段,对所述待检测视频片段进行预处理,得到预处理视频片段后;通过编码以及预设滑动窗口和投票策略处理方式,寻找最长相似子串,进而确定所述待检测视频片段的检测结果,也即,在本实施例中,通过寻找最长相似子串的方式,对影视剧类片头片尾进行智能化打点即进行智能化识别,从而得到精准得到影视剧片头片尾位置信息,提升电视剧类影视作品的用户使用效率。
进一步地,基于本申请中第一实施例,提供本申请的另一实施例,在该实施例中,所述根据所述最长相似子串,确定所述待检测视频片段的检测结果的步骤,包括:
步骤B1,确定所述最长相似子串对应的最后一个滑动窗口;
在本实施例中,在得到最长相似子串后,确定所述最长相似子串对应的最后一个滑动窗口,确定所述最长相似子串对应的最后一个滑动窗口的目的在于:确定所述最长相似子串的片头起始点。
步骤B2,确定所述最后一个滑动窗口中编码为所述预设值的排名最末的目标编码;
步骤B3,确定所述目标编码的时间点,将所述目标编码的时间点作为片头起始点;
在本实施例中,确定所述最后一个滑动窗口中编码为所述预设值的排名最末的目标编码,确定所述目标编码的时间点,将所述目标编码的时间点作为片头起始点,即在FN中寻找最长连续值为“1”的序列获取最长相似子串,并取最后一个窗口中最后一个编码为1的时间点作为视频片头点。
步骤B4,在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件;
步骤B5,根据所述片头起始点和所述片头结束点,确定所述待检测视频片段的检测结果。
在本实施例中,在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件,即在本实施例中,根据所述片头起始点和所述片头结束点,确定所述待检测视频片段的检测结果。
在本实施例中,由于确定所述最长相似子串对应的最后一个滑动窗口;确定所述最后一个滑动窗口中编码为所述预设值的排名最末的目标编码;确定所述目标编码的时间点,将所述目标编码的时间点作为片头起始点;在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件;根据所述片头起始点和所述片头结束点,确定所述待检测视频片段的检测结果。在本实施例中,准确确定片头起始点和片头结束点,根据所述片头起始点和所述片头结束点,准确确定所述待检测视频片段的检测结果。
进一步地,基于本申请中第一实施例和第二实施例,提供本申请的另一实施例,在该实施例中,所述在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件的步骤,包括。
步骤C1,在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至计算出所述第一串关键帧序列和所述第二串关键帧序列对应的时长大于预设时长的相同视频子片段或者达到预设结束条件;
其中,在得到所述相同视频子片段后,将所述相同视频子片段中所述第一串关键帧序列对应的结束点作为所述第一串关键帧序列对应片头结束点。
在本实施例中,在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至计算出所述第一串关键帧序列和所述第二串关键帧序列对应的时长大于预设时长的相同视频子片段,如直到计算出两集视频(第一串关键帧序列和所述第二串关键帧序列对应的视频片段)有相同的部分,并且时长大于10秒以上,则将最后一个时间点T作为主视频的片头结束点。
在本实施例中,若未找到相同部分,则达到预设结束条件,流程结束;如若若重复6次或遍历完所有视频依然未找到两个相同的片头点,则说明该视频无相同的片头,流程结束。
在本实施例中,只得到第一集和第二集的最长相似子串,而由于一个电视剧具有多集,因而,需要重复确定所述编码视频片段的第一串关键帧序列,并确定所述编码视频片段的其他第二串关键帧序列;在所述其他第二串关键帧序列对应帧数据中,查找得到所述第一串关键帧序列中对应每帧数据的相似帧,以得到相似关键帧序列;基于所述相似关键帧序列和所述第一串关键帧序列,确定视频偏移编码序列和偏移值;基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件。
在本实施例中,在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至计算出所述第一串关键帧序列和所述第二串关键帧序列对应的时长大于预设时长的相同视频子片段或者达到预设结束条件;其中,在得到所述相同视频子片段后,将所述相同视频子片段中所述第一串关键帧序列对应的结束点作为所述第一串关键帧序列对应片头结束点。在本实施例中,准确得到片头结束点,为准确确定所述待检测视频片段的检测结果奠定基础。
参照图3,图3是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
如图3所示,该视频片头片尾自动检测设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该视频片头片尾自动检测设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的视频片头片尾自动检测设备结构并不构成对视频片头片尾自动检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及视频片头片尾自动检测程序。操作系统是管理和控制视频片头片尾自动检测设备硬件和软件资源的程序,支持视频片头片尾自动检测程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与视频片头片尾自动检测系统中其它硬件和软件之间通信。
在图3所示的视频片头片尾自动检测设备中,处理器1001用于执行存储器1005中存储的视频片头片尾自动检测程序,实现上述任一项所述的视频片头片尾自动检测方法的步骤。
本申请视频片头片尾自动检测设备具体实施方式与上述视频片头片尾自动检测方法各实施例基本相同,在此不再赘述。
本申请还提供一种视频片头片尾自动检测装置,所述视频片头片尾自动检测装置包括:
第一确定模块,用于确定目标视频集,从所述目标视频集中选择得到待检测视频片段;
第一获取模块,用于对所述待检测视频片段进行预处理,得到预处理视频片段;
编码模块,用于对所述预处理视频片段进行编码处理,得到编码视频片段;
寻找模块,用于通过预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串;
第二确定模块,用于根据所述最长相似子串,确定所述待检测视频片段的检测结果。
可选地,所述编码模块包括:
第一确定单元,用于确定所述预处理视频片段的类型;
第二确定单元,用于根据所述预处理视频片段的类型,确定编码方式,其中,所述编码方式包括正向序列编码或者反向序列编码;
编码单元,用于根据所述编码方式,对所述预处理视频片段进行编码处理,得到编码视频片段。
可选地,所述寻找模块包括:
第三确定单元,用于确定所述编码视频片段的第一串关键帧序列,并确定所述编码视频片段的其他第二串关键帧序列;
查找单元,用于在所述其他第二串关键帧序列对应帧数据中,查找得到所述第一串关键帧序列中对应每帧数据的相似帧,以得到相似关键帧序列;
第四确定单元,用于基于所述相似关键帧序列和所述第一串关键帧序列,确定视频偏移编码序列和偏移值;
寻找单元,用于基于所述偏移编码序列、所述偏移值以及预设滑动窗口和投票策略,寻找所述编码视频片段的最长相似子串。
可选地,所述寻找单元包括:
第一确定子单元,用于基于所述偏移编码序列和所述偏移值,确定差值编码序列;
第二确定子单元,用于确定预设滑动窗口的大小和步长,基于所述大小和步长,控制所述预设滑动窗口在所述差值编码序列上滑动,并进行相似度投票,以得到相似编码序列;
获取子单元,用于在相似编码序列中寻找预设值,并获取所述预设值的最长连续序列,将所述最长连续序列作为所述所述编码视频片段的最长相似子串。
可选地,所述第二确定模块包括:
第五确定单元,用于确定所述最长相似子串对应的最后一个滑动窗口;
第六确定单元,用于确定所述最后一个滑动窗口中编码为所述预设值的排名最末的目标编码;
第七确定单元,用于确定所述目标编码的时间点,将所述目标编码的时间点作为片头起始点;
返回单元,用于在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至得到所述第一串关键帧序列对应片头结束点或者达到预设结束条件;
第八确定单元,用于根据所述片头起始点和所述片头结束点,确定所述待检测视频片段的检测结果。
可选地,所述返回单元包括。
返回子单元,用于在得到所述片头起始点后,返回确定所述编码视频片段的第一串关键帧序列的步骤,直至计算出所述第一串关键帧序列和所述第二串关键帧序列对应的时长大于预设时长的相同视频子片段或者达到预设结束条件;
其中,在得到所述相同视频子片段后,将所述相同视频子片段中所述第一串关键帧序列对应的结束点作为所述第一串关键帧序列对应片头结束点。
可选地,所述预设结束条件包括遍历次数达到预设次数。
本申请视频片头片尾自动检测装置的具体实施方式与上述视频片头片尾自动检测方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种存储介质,且所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的视频片头片尾自动检测方法的步骤。
本申请存储介质具体实施方式与上述视频片头片尾自动检测方法各实施例基本相同,在此不再赘述。
本申请还提供一种计算机程序产品、包括计算机程序,该计算机程序被处理器执行时实现上述的视频片头片尾自动检测方法的步骤。
本申请计算机程序产品的具体实施方式与上述视频片头片尾自动检测方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。