视频数据块摘要任务调度方法及装置与流程

文档序号:12887024阅读:177来源:国知局
视频数据块摘要任务调度方法及装置与流程

本发明涉及云计算领域,特别涉及一种视频数据块摘要任务调度方法及装置。



背景技术:

随着视频监控设备的大量部署,产生了大量的监控视频数据,由于监控视频中存在大量的冗余数据,视频摘要服务应运而生。视频摘要过程需要大量的计算资源才能为用户提供更好的使用体验。如何优化大量的视频摘要服务器的工作效率,高效的视频摘要任务调度方法成为关键。

视频摘要过程具有特殊性,主要体现在两方面。一是处理多媒体数据类型的特殊性。例如同样时长的视频在相同的处理算法下,如果分辨率、帧率不同,那么所需要的时间也是不同的。二是视频摘要过程本身的特殊性,具体表现在视频摘要的过程需要对视频中所有的运动对象进行处理,即使在时长、分辨率、帧率都相同的情况下,如果某个视频中运动对象的数量很多那么它的计算量必然比运动对象少的视频大。

传统的分布式任务调度方法,没有考虑到视频摘要过程的特殊性,因而导致在视频摘要过程中服务器的负荷不均衡,部分服务器空闲时间较长,而视频摘要的处理时间一般也较长,降低用户体验。



技术实现要素:

本发明的一个目的是提出一种视频数据块摘要任务调度方法,在视频摘要过程中改善服务器负荷均衡性。

根据本发明实施例的一个方面,提供了一种视频数据块摘要任务调 度方法,其特征在于,包括:依据视频数据块的属性特征定义若干基本划分;建立基本划分与视频数据块的摘要处理时间之间的对应关系;根据对应关系以及服务器反馈的已处理视频数据块的摘要处理时间确定各个基本划分对应的处理时间;根据待处理视频数据块的基本划分表示以及各个基本划分对应的处理时间确定待处理视频数据块的预测处理时间;根据待处理视频数据块的预测处理时间以及各个服务器的负荷情况,对待处理视频数据块的摘要任务进行调度。

在一些实施例中,依据视频数据块的属性特征定义若干基本划分包括:将视频数据块的每个属性特征进行量化;根据各个属性特征量化值的组合情况定义若干基本划分。

在一些实施例中,属性特征包括:采集时间属性、采集地点属性、视频质量属性。

在一些实施例中,建立基本划分与视频数据块的摘要处理时间之间的对应关系包括:

其中,vdbweight表示视频数据块vdb的摘要处理时间,vdb的起止时间分别为ts和te,且tk≤ts≤tk+1≤tk+2≤…≤tk+i-1≤te≤tk+i,bp(tk+i,s,q)表示关于时间属性tk+i、空间属性s、视频质量的第i个基本划分,δt为时间属性的基本划分区间长度。

在一些实施例中,从服务器的反馈中选取包含所有的基本划分的一个或多个已处理视频数据块的摘要处理时间用于确定各个基本划分对应的处理时间。

在一些实施例中,根据调度,在服务器对待处理视频数据块进行摘要处理之后,反馈视频数据块的摘要处理时间,方法还包括:根据对应关系以及服务器反馈的已处理视频数据块的摘要处理时间更新各个基本划分对应的处理时间。

在一些实施例中,根据待处理视频数据块的预测处理时间以及各个服务器的负荷情况,对待处理视频数据块的摘要任务进行调度包括: 根据各个待处理视频数据块的预测处理时间确定所有待处理视频数据块的平均预测处理时间;检测各个服务器当前的负荷情况,当检测到服务器中已分配任务的预测剩余时间小于平均预测处理时间的情况时,为出现该情况的服务器分配至少一个待处理视频数据块的摘要任务。

根据本发明实施例的一个方面,提供了一种视频数据块摘要任务调度装置,包括:基本划分定义模块,用于依据视频数据块的属性特征定义若干基本划分;对应关系建立模块,用于建立基本划分与视频数据块的摘要处理时间之间的对应关系;处理时间确定模块,用于根据对应关系以及服务器反馈的已处理视频数据块的摘要处理时间确定各个基本划分对应的处理时间;预测处理时间确定模块,用于根据待处理视频数据块的基本划分表示以及各个基本划分对应的处理时间确定待处理视频数据块的预测处理时间;调度模块,用于根据待处理视频数据块的预测处理时间以及各个服务器的负荷情况,对待处理视频数据块的摘要任务进行调度。

在一些实施例中,基本划分定义模块包括:属性特征量化单元,用于将视频数据块的每个属性特征进行量化;基本划分定义单元,用于根据各个属性特征量化值的组合情况定义若干基本划分。

在一些实施例中,属性特征包括:采集时间属性、采集地点属性、视频质量属性。

在一些实施例中,对应关系建立模块建立基本划分与视频数据块的摘要处理时间之间的对应关系包括:

其中,vdbweight表示视频数据块vdb的摘要处理时间,vdb的起止时间分别为ts和te,且tk≤ts≤tk+1≤tk+2≤…≤tk+i-1≤te≤tk+i,bp(tk+i,s,q)表示关于时间属性tk+i、空间属性s、视频质量的第i个基本划分,δt为时间属性的基本划分区间长度。

在一些实施例中,处理时间确定模块用于从服务器的反馈中选取包含所有的基本划分的一个或多个已处理视频数据块的摘要处理时间 用于确定各个基本划分对应的处理时间。

在一些实施例中,还包括摘要处理时间反馈模块,用于根据调度,在服务器对待处理视频数据块进行摘要处理之后,反馈视频数据块的摘要处理时间;处理时间确定模块还用于:根据对应关系以及服务器反馈的已处理视频数据块的摘要处理时间更新各个基本划分对应的处理时间。

在一些实施例中,调度模块包括:平均预测处理时间确定单元,用于根据各个待处理视频数据块的预测处理时间确定所有待处理视频数据块的平均预测处理时间;摘要任务分配单元,用于检测各个服务器当前的负荷情况,当检测到服务器中已分配任务的预测剩余时间小于平均预测处理时间的情况时,为出现该情况的服务器分配至少一个待处理视频数据块的摘要任务。

本发明基于视频数据块的属性特征对摘要处理时间进行预测,并根据预测处理时间进行任务调度,进而在视频摘要过程中改善服务器负荷均衡性。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

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

图1示出本发明视频数据块摘要任务调度方法的一个实施例的流程示意图。

图2示出本发明根据待处理视频数据块的预测处理时间以及各个服务器的负荷情况,对待处理视频数据块的摘要任务进行调度的一个实施例的流程示意图。

图3示出本发明视频数据块摘要任务调度装置的一个实施例的结构示意图。

图4示出本发明视频数据块摘要任务调度装置的另一个实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出本发明视频数据块摘要任务调度方法的一个实施例的流程示意图。如图1所示,该实施例的视频数据块摘要任务调度方法包括:

步骤s102,依据视频数据块的属性特征定义若干基本划分。

一种基本划分的定义方法包括:将视频数据块的每个属性特征进行量化,然后根据各个属性特征量化值的组合情况定义若干基本划分。

例如,可以将视频数据块的采集时间属性、采集地点属性、视频质量属性进行量化为t={t1,t2,t3,...,tl},s={s1,s2,s3,...,sm},q={q1,q2,q3,...,qn},其中t,s,q分别代表监控视频数据块的采集时间段、采集地点、视频质量等属性,l,m,n为t,q,s的划分粒度。每个基本划分bp(t,s,q)的t,s,q属性满足以下条件:t∈t,s∈s,q∈q。

显然,视频数据块的属性特征包括但不限于前述列举的采集时间属性、采集地点属性、视频质量属性。此外,本发明中的视频数据块例如可以是监控视频的数据块。

步骤s104,建立基本划分与视频数据块的摘要处理时间之间的对应关系。

其中,一种建立该对应关系的方法如下:

其中,vdbweight表示视频数据块vdb的摘要处理时间,vdb的起止时间分别为ts和te,且tk≤ts≤tk+1≤tk+2≤…≤tk+i-1≤te≤tk+i,bp(tk+i,s,q)表示关于时间属性tk+i、空间属性s、视频质量的第i个基本划分,δt为时间属性的基本划分区间长度。

例如,假设t{t1,t2},s{s1,s2},q{q1,q2},t1表示繁忙时段(8:00-20:00),t2表示空闲时段(20:00-8:00),s1表示繁忙路口,s2表示空闲路口,q1表示高质量,q2表示低质量。那么存在8种基本划分bp(t1,s1,q1)、bp(t1,s1,q2)、bp(t1,s2,q1)、bp(t1,s2,q2)bp(t2,s1,q1)、bp(t2,s1,q2)、bp(t2,s2,q1)、bp(t2,s2,q2),并且△t=12。这八种划分初始时权重是未知的,但是相同的划分权重是相同的。以监控视频为例,一个视频数据块的s、q属性是固定的,因为这个视频数据块不可能来自两个摄像头,摄像头是固定的,其录制的地段、和录制的质量通常来说都是固定的。假设一个视频数据块的时段是7:00-10:00,s=s1,q=q1,显然它包含两个划分bp(t1,s1,q1)、bp(t2,s1,q1)。因此对于该视频数据块,再例如,另一个视频数据块的时段是8:00-20:00,s=s2,q=q2,则对于该数据块而言,vdbweight=bp(t1,s2,q2)。

步骤s106,根据上述对应关系以及服务器反馈的已处理视频数据块的摘要处理时间确定各个基本划分对应的处理时间。

例如,定义多个基本划分bp,根据服务器反馈的已处理视频数据块的摘要处理时间ti以及不同基本划分的加权系数a,可以依照对应关系建立以下方程组,对不同的基本划分进行求解,其中i∈[1,n]。

其中,可以从服务器的反馈中选取包含所有的基本划分的一个或多个已处理视频数据块的摘要处理时间用于确定各个基本划分对应的处理时间。即,可以从服务器的反馈中选取一个或者多个已处理视频数据块,使得选取的已处理视频数据块包含所有的基本划分,以便通过方程组求解所有基本划分对应的处理时间。

步骤s108,根据待处理视频数据块的基本划分表示以及各个基本划分对应的处理时间确定待处理视频数据块的预测处理时间。

按照待处理视频数据块的基本划分表示,对其各个基本划分对应的处理时间按照相应的系数进行累加计算即可得到预测处理时间。

步骤s110,根据待处理视频数据块的预测处理时间以及各个服务器的负荷情况,对待处理视频数据块的摘要任务进行调度,使得各个服务器的负荷尽量均衡。

上述实施例基于视频数据块的属性特征对摘要处理时间进行预测,并根据预测处理时间进行任务调度,进而改善服务器负荷均衡性。

此外,用户可能会将多个vdb合成一个浓缩视频,了满足用户的特殊要求,并且方便算法调度,我们提出逻辑数据块ldb的概念,一个ldb包含一个或多个vdb,且ldbweight=σvdbweight。例如,存在三个vdb分别为vdb1,vdb2,vdb3。用户可以请求将vdb1生成一个摘要视频,并将vdb2和vdb3生成一个摘要视频。根据用户的请求,本发明方法可以产生两个ldb分别是ldb1和ldb2,ldb1包含vdb1,ldb2包含vdb2,vdb3,因此任务队列中的视频摘要处理任务可以为ldb1和ldb2。

从服务器的反馈中选取包含所有的基本划分的一个或多个已处理视频数据块时,例如上述的八种基本划分中每种基本划分有各自的编号,可以设置一个8位的比特位辅助我们记录已经被调度过的bp。在 任务队列中选取第一个ldb,将其中包含的bp根据其编号在比特位中标记,选取第二个ldb时,如果它包含的bp都已经在比特位中标记过了,则跳过该ldb,否则像调度第一个ldb那样调度它。直到比特位中的所有位置全被标记。这样,就可以选取包含所有的基本划分的已处理视频数据块的摘要处理时间,通过图1实施例中的方程组求解出所有基本划分对应的处理时间。

根据调度,在服务器对待处理视频数据块进行摘要处理之后,还可以反馈视频数据块的摘要处理时间,并根据对应关系以及服务器反馈的已处理视频数据块的摘要处理时间更新各个基本划分对应的处理时间,以便更加准确的对视频数据块的处理时间进行预测。例如,视频摘要算法服务器可以每隔一段时间将每个ldb的处理时间反馈给调度服务器,然后计算出每个基本划分的处理时间,并为每个基本划分维护一个集合保存该基本划分历次的处理时间,计算集合的平均值作为该基本数据块的理论权值,不断地根据反馈数据更新集合并重新计算理论权值,更加准确的预测数据块的所需的服务器处理时间,以便进行后续的调度。

本发明还提供了一种根据待处理视频数据块的预测处理时间以及各个服务器的负荷情况,对待处理视频数据块的摘要任务进行调度的方法。本领域内的技术人员应明白,得到待处理视频数据块的预测处理时间之后,可以采用多种调度方法对摘要任务进行调度。下面结合图2描述其中的一种调度过程。

图2示出本发明视频数据块摘要任务调度方法的又一个实施例的流程示意图。如图2所示,该方法中的步骤s110可以包括:

步骤s2102,根据各个待处理视频数据块的预测处理时间确定所有待处理视频数据块的平均预测处理时间。

步骤s2104,检测各个服务器当前的负荷情况,当检测到服务器中已分配任务的预测剩余时间小于平均预测处理时间的情况时,为出现该情况的服务器分配至少一个待处理视频数据块的摘要任务。

例如,当前存在三台服务器m={m1,m2,m3},当前任务队列中存 在10个任务,即10个ldb,其预测处理时间分别为{300,180,500,460,230,150,640,720,800,1000}。可以将当前的10个任务按照预测处理时间从按照时间长度进行递减排序,q={1000,800,720,640,500,460,300,230,180,150},并计算所有待处理视频数据块的平均预测处理时间σ=498。

将预测处理时间最长的三个待处理视频数据块分别分配给m1,m2,m3,此时三个服务器的预测处理时间分别为t1=1000,t2=800,t3=720,并为每个服务器设置一个初始值为0的计时器。因此计时器的时间值tm为分配该服务器任务的预测处理时间,tm每一秒减1。依次检测每台服务器上计时器的时间值tm,如果tm<σ,则从任务队列中选取一个任务分配给该服务器并更新计时器的时间值tm,直到任务队列中不存在待处理任务。

例如,检测t1,t2,t3是否小于498。首次进行任务分配的223秒后,t3=497,满足条件t3<σ,将待处理任务中预测处理时间为640的任务分配给m3,调度后的t3满足条件t3=497+640=1137,此时t1=777,t2=577。80秒后,t2=497,将待处理任务中预测处理时间为500的任务分配给m2,此时t2=997,t1=697,t3=1057。如此循环执行,直至任务队列中不存在待处理任务。

上述示例中,m1执行时间为1640秒,m2执行时间为1600秒,m3执行时间为1740秒,根据预测处理时间进行任务调度,进而改善服务器负荷均衡性。

下面结合图3描述本发明一个实施例的视频数据块摘要任务调度装置。

图3示出本发明视频数据块摘要任务调度装置的一个实施例的结构示意图。如图3所示,该实施例的视频数据块摘要任务调度装置30包括:

基本划分定义模块302,用于依据视频数据块的属性特征定义若干基本划分。

对应关系建立模块304,用于建立基本划分与视频数据块的摘要 处理时间之间的对应关系。

处理时间确定模块306,用于根据对应关系以及服务器反馈的已处理视频数据块的摘要处理时间确定各个基本划分对应的处理时间。

预测处理时间确定模块308,用于根据待处理视频数据块的基本划分表示以及各个基本划分对应的处理时间确定待处理视频数据块的预测处理时间。

调度模块310,用于根据待处理视频数据块的预测处理时间以及各个服务器的负荷情况,对待处理视频数据块的摘要任务进行调度。

下面结合图4描述本发明另一个实施例的视频数据块摘要任务调度装置。如图4所示,该实施例的视频数据块摘要任务调度装置40中,基本划分定义模块302包括:

属性特征量化单元4022,用于将视频数据块的每个属性特征进行量化。

基本划分定义单元4024,用于根据各个属性特征量化值的组合情况定义若干基本划分。

在一些实施例中,属性特征包括:采集时间属性、采集地点属性、视频质量属性。

在一些实施例中,对应关系建立模块建立基本划分与视频数据块的摘要处理时间之间的对应关系包括:

其中,vdbweight表示视频数据块vdb的摘要处理时间,vdb的起止时间分别为ts和te,且tk≤ts≤tk+1≤tk+2≤…≤tk+i-1≤te≤tk+i,bp(tk+i,s,q)表示关于时间属性tk+i、空间属性s、视频质量的第i个基本划分,δt为时间属性的基本划分区间长度。

在一些实施例中,处理时间确定模块306用于从服务器的反馈中选取包含所有的基本划分的已处理视频数据块的摘要处理时间用于确定各个基本划分对应的处理时间。

在一些实施例中,视频数据块摘要任务调度装置还可以包括摘要 处理时间反馈模块312,用于根据调度,在服务器对待处理视频数据块进行摘要处理之后,反馈视频数据块的摘要处理时间。处理时间确定模块306还用于根据对应关系以及服务器反馈的已处理视频数据块的摘要处理时间更新各个基本划分对应的处理时间。

在一些实施例中,调度模块310包括:

平均预测处理时间确定单元4102,用于根据各个待处理视频数据块的预测处理时间确定所有待处理视频数据块的平均预测处理时间。

摘要任务分配单元4104,用于检测各个服务器当前的负荷情况,当检测到服务器中已分配任务的预测剩余时间小于平均预测处理时间的情况时,为出现该情况的服务器分配至少一个待处理视频数据块的摘要任务。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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