掌桥专利:专业的专利平台
掌桥专利
首页

异构应用系统视频分析任务调度方法、装置、终端及介质

文献发布时间:2023-06-19 19:33:46


异构应用系统视频分析任务调度方法、装置、终端及介质

技术领域

本发明涉及视频处理技术领域,尤其涉及的是异构应用系统视频分析任务调度方法、装置、终端及介质。

背景技术

对于智慧交通、智慧安防、智慧工地或工业智能制造等领域,会接入大量的摄像头视频数据,然后通过边缘计算设备对多路视频进行检测分析,如交通路口是否拥堵的检测、车辆特征检测(如车辆计数、车牌号、车型、车身颜色检测等)、泥头车检测跟踪、人员特征检测(如人数统计、性别、年龄、穿着、口罩等检测)、人脸识别、工地安全帽检测、产品外观异常检测等等。一般接入的摄像头数量比较多,需要每一台边缘计算设备分析处理较多路的视频数据。而一种特定硬件平台的计算模块处理能力有限,因此边缘计算设备内部可能会采用多个计算模块的设计。同时根据具体业务和成本的需要,边缘计算设备的多个计算模块也可能会采用异构的方式设计,形成异构应用系统的形态。

针对视频检测分析任务,业界的边缘计算设备或异构应用系统一般都是根据内置的每个计算模块的算力、视频解码能力情况,以及视频分析任务所需要的算力及视频资源,将某一路视频分析任务,调度到其中某个计算模块上。如果边缘计算设备中的所有计算模块的剩余算力和视频资源不足,则这一路视频分析任务可能会调度失败。而此时可能某些计算模块上的算力充裕,而另外的计算模块上的视频处理能力充裕,此时造成边缘计算设备中硬件资源的浪费。

另外,针对目前业界的不同硬件平台的计算模块,有些计算模块算力高,但视频编解码处理能力低一些。有些计算模块视频编解码处理能力强,但算力低一些。不同的算力配置和视频解码处理能力参数配置,计算模块的成本价格也不一样,功耗也不一样。为了能够处理较多路摄像机的视频检测分析任务,可能同时需要较高的算力和较多的视频解码处理能力,可能导致整个边缘计算设备的成本非常高;因此,对于不同硬件平台的计算模块,还存在视频分析任务的处理效率低的问题。

因此,现有技术还有待改进。

发明内容

本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种异构应用系统视频分析任务调度方法、装置、终端及介质,以解决现有的视频分析任务处理效率低的技术问题。

本发明解决技术问题所采用的技术方案如下:

第一方面,本发明提供一种异构应用系统视频分析任务调度方法,包括:

获取视频分析任务所需的算力参数和视频解码参数;

根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,确定所述视频分析任务的调度策略以及对应的计算模块;

根据所述调度策略将所述视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,以执行对应的任务。

在一种实现方式中,所述获取视频分析任务所需的算力参数和视频解码参数,之前包括:

根据预设参数配置各计算模块的算力参数和视频编解码参数。

在一种实现方式中,所述获取视频分析任务所需的算力参数和视频解码参数,之前还包括:

获取各计算模块上报的算力参数和视频编解码参数。

在一种实现方式中,所述获取视频分析任务所需的算力参数和视频解码参数,包括:

获取各视频采集设备采集的视频数据信息,并根据所述视频数据信息配置得到所述视频分析任务;

分析所述视频分析任务所需的算力参数和视频解码参数。

在一种实现方式中,所述根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,确定所述视频分析任务的调度策略以及对应的计算模块,包括:

根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,依次判断各计算模块是否同时满足视频解码要求和计算要求;

若各计算模块无法同时满足所述视频解码要求和所述计算要求,则确定满足所述视频解码要求的第一计算模块以及满足所述计算要求的第二计算模块。

在一种实现方式中,所述根据所述调度策略将所述视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,包括:

将所述视频分析任务中的视频解码任务调度至所述第一计算模块进行解码,得到解码后的视频数据;

将所述视频分析任务中的计算任务调度至所述第二计算模块,并将所述解码后的视频数据发送至所述第二计算模块进行分析检测,输出所述视频分析任务的分析结果。

在一种实现方式中,所述根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,确定所述视频分析任务的调度策略以及对应的计算模块,还包括:

根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,依次判断各计算模块是否满足视频解码要求;

若各计算模块无法满足所述视频解码要求,通过协议控制对应的视频采集设备将视频数据压缩格式转换为预设压缩格式;

确定满足所述预设格式的视频数据的解码要求的第三计算模块;

确定满足计算要求的第四计算模块。

在一种实现方式中,所述根据所述调度策略将所述视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,还包括:

将所述视频分析任务中的视频解码任务调度至所述第三计算模块进行解码,得到解码后的视频数据;

将所述视频分析任务中的计算任务调度至所述第四计算模块,并将所述解码后的视频数据发送至所述第四计算模块进行分析检测,输出所述视频分析任务的分析结果。

在一种实现方式中,所述解码后的视频数据为原始YUV格式或RGB格式的数据,或所述解码后的视频数据为满足分析算法要求尺寸的数据,或所述解码后的视频数据为重新压缩后的H264/H265/JPGE压缩图像数据。

在一种实现方式中,所述根据所述调度策略将所述视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,还包括:

根据任务参数中的最低处理帧率和最低算力要求确定降级调度策略;

根据所述降级调度策略逐步降低处理帧率和算力参数要求,直至任务调度成功或达到所述最低处理帧率和所述最低算力要求。

在一种实现方式中,还包括:

接收批量视频分析任务,获取各视频分析任务所需的算力参数和视频解码参数;

获取各计算模块的算力参数和视频编解码参数,并获取各视频采集设备支持的视频编码压缩参数;

根据各视频分析任务所需的算力参数和视频解码参数、各计算模块的算力参数和视频编解码参数以及各视频采集设备支持的视频编码压缩参数,综合计算最优调度策略参数;

根据所述最优调度策略参数调度对应的计算模块,执行所述批量视频分析任务的视频解码任务和计算任务。

第二方面,本发明提供一种异构应用系统视频分析任务调度装置,包括:

任务参数获取模块,用于获取视频分析任务所需的算力参数和视频解码参数;

调度策略模块,用于根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,确定所述视频分析任务的调度策略以及对应的计算模块;

任务执行模块,用于根据所述调度策略将所述视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,以执行对应的任务。

第三方面,本发明提供一种终端,包括:处理器以及存储器,所述存储器存储有异构应用系统视频分析任务调度程序,所述异构应用系统视频分析任务调度程序被所述处理器执行时用于实现如第一方面所述的异构应用系统视频分析任务调度方法的操作。

第四方面,本发明还提供一种介质,所述介质为计算机可读存储介质,所述介质存储有异构应用系统视频分析任务调度程序,所述异构应用系统视频分析任务调度程序被处理器执行时用于实现如第一方面所述的异构应用系统视频分析任务调度方法的操作。

本发明采用上述技术方案具有以下效果:

本发明通过获取视频分析任务所需的算力参数和视频解码参数,可以根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,确定视频分析任务的调度策略以及对应的计算模块,从而根据调度策略将视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,以执行对应的任务;本发明通过异构应用系统中多计算模块之间的视频数据通信传输,调度多个计算模块完成视频分析任务,实现异构应用系统算力和视频编解码能力的最大利用,提高系统支持的视频分析任务处理路数,提高了视频分析的效率。

附图说明

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

图1是本发明的一种实现方式中异构应用系统视频分析任务调度方法的流程图。

图2是本发明的一种实现方式中第一种异构应用系统的示意图。

图3是本发明的一种实现方式中第二种异构应用系统的示意图。

图4是本发明的一种实现方式中算力参数和视频编解码参数的第一种获取方式的示意图。

图5是本发明的一种实现方式中算力参数和视频编解码参数的第二种获取方式的示意图。

图6是本发明的一种实现方式中单一视频分析任务的调度示意图。

图7是本发明的一种实现方式中解码后的视频数据的第一种传输示意图。

图8是本发明的一种实现方式中解码后的视频数据的第二种传输示意图。

图9是本发明的一种实现方式中视频采集设备的视频编码压缩参数的配置示意图。

图10是本发明的一种实现方式中视频采集设备的视频编码压缩参数的上报示意图。

图11是本发明的一种实现方式中通过协议切换编码压缩格式的示意图。

图12是本发明的一种实现方式中批量视频分析任务的调度示意图。

图13是本发明的一种实现方式中终端的功能原理图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

示例性方法

针对目前业界的不同硬件平台的计算模块,有些计算模块算力高,但视频编解码处理能力低一些。有些计算模块视频编解码处理能力强,但算力低一些。不同的算力配置和视频解码处理能力参数配置,计算模块的成本价格也不一样,功耗也不一样。为了能够处理较多路摄像机的视频检测分析任务,可能同时需要较高的算力和较多的视频解码处理能力,可能导致整个边缘计算设备的成本非常高,也无法最大化的发挥每个计算模块的能力,因此,对于不同硬件平台的计算模块,还存在视频分析任务的处理效率低的问题。

针对上述技术问题,本实施例中提供了一种异构应用系统视频分析任务调度方法,本实施例中通过异构应用系统中多计算模块之间的视频数据通信传输,调度多个计算模块完成视频分析任务,实现异构应用系统算力和视频编解码能力的最大利用,提高系统支持的视频分析任务处理路数,提高了视频分析的效率。

如图1所示,本发明实施例提供一种异构应用系统视频分析任务调度方法,包括以下步骤:

步骤S100,获取视频分析任务所需的算力参数和视频解码参数。

在本实施例中,该异构应用系统视频分析任务调度方法应用于终端上,该终端包括但不限于:计算机等设备。

在本实施例中,所述终端可以是整个异构应用系统中独立的控制模块(即管理模块),如图2所示,该控制模块是与多个计算模块连接的模块,用于控制多个计算模块;在该系统中异构应用系统内部,包含多个计算模块和一个控制模块。每个计算模块具备一定的算力或视频编解码能力。控制模块负责所有视频分析任务的调度。所有计算模块与控制模块之间,以及所有计算模块相互之间,都存在数据通信通道,如网络通道。所有摄像头等视频采集设备通过网络等通道与异构应用系统连接通信。

在本实施例中,所述终端也可以是整个异构应用系统中的某个计算模块,如图3所示,该控制模块是其中的一个计算模块,用于其余计算模块;在该系统中,控制模块的功能可由其中一个计算模块来完成。

在本实施例中,如图4所示,异构应用系统中所有计算模块的算力和视频编解码格式能力等,可通过参数配置到控制模块侧。

具体地,在本实施例的一种实现方式中,步骤S100之前包括以下步骤:

步骤S101a,根据预设参数配置各计算模块的算力参数和视频编解码参数。

在本实施例中,在配置各计算模块的算力参数和视频编解码参数的过程中,可获取各计算模块的硬件信息,例如,CPU信息和GPU信息,然后根据各计算模块的硬件信息确定预设参数,得到各计算模块的算力参数和视频编解码参数。

具体地,在本实施例的一种实现方式中,步骤S100之前还包括以下步骤:

步骤S101b,获取各计算模块上报的算力参数和视频编解码参数。

在本实施例中,如图5所示,异构应用系统中所有计算模块的算力和视频编解码格式能力等,还可以由各个计算模块主动上报各自的算力和视频编解码等能力给控制模块,控制模块即可得到各计算模块的算力参数和视频编解码参数。

具体地,在本实施例的一种实现方式中,步骤S100包括以下步骤:

步骤S101,获取各视频采集设备采集的视频数据信息,并根据所述视频数据信息配置得到所述视频分析任务;

步骤S102,分析所述视频分析任务所需的算力参数和视频解码参数。

在本实施例中,控制模块所获取的视频数据信息来源于各路计算模块连接的视频采集设备,也可以来源于直接与该控制模块连接的视频采集设备;在获取到视频数据信息,确定各视频采集设备所采集的视频数据的大小、分辨率以及格式等信息,并根据这些信息配置视频分析任务,以及分析得到该视频分析任务所需的算力参数和视频解码参数,以便于根据这些所需的参数确定对应的任务调度策略。

如图1所示,在本发明实施例的一种实现方式中,异构应用系统视频分析任务调度方法还包括以下步骤:

步骤S200,根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,确定所述视频分析任务的调度策略以及对应的计算模块。

在本实施例中,控制模块根据系统中各计算模块的算力和视频编解码能力等参数情况,获取每一路视频分析任务所需要的算力和视频解码能力要求,将视频分析任务调度到某个满足算力和视频解码能力要求的计算模块上;具体的调度策略包括但不限于以下三种方式。

具体地,在本实施例的一种实现方式中,步骤S200包括以下步骤:

步骤S211,根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,依次判断各计算模块是否同时满足视频解码要求和计算要求;

步骤S212,若各计算模块无法同时满足所述视频解码要求和所述计算要求,则确定满足所述视频解码要求的第一计算模块以及满足所述计算要求的第二计算模块。

在本实施例中,第一种调度策略为:如果控制模块发现某一路视频分析任务所需要的算力和视频解码能力,系统中所有计算模块均无法同时满足相应的要求,则分别检测满足算力的计算模块和满足视频解码能力的计算模块。如果找到满足视频解码能力的计算模块A(即第一计算模块)和满足算力的计算模块B(即第二计算模块),则将计算模块A设定为视频解码任务的执行模块,并将计算模块B设定为计算任务的执行模块。

具体地,在本实施例的一种实现方式中,步骤S200还包括以下步骤:

步骤S221,根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,依次判断各计算模块是否满足视频解码要求;

步骤S222,若各计算模块无法满足所述视频解码要求,通过协议控制对应的视频采集设备将视频数据压缩格式转换为预设压缩格式;

步骤S223,确定满足所述预设格式的视频数据的解码要求的第三计算模块;

步骤S224,确定满足计算要求的第四计算模块。

在本实施例中,第二种调度策略为:如果控制模块发现某一路视频分析任务所需要的算力和视频解码能力,系统中所有计算模块均无法同时满足相应的要求,也没有满足视频解码能力的计算模块,但检测到满足算力的计算模块。则控制模块可通过协议控制对应的视频采集设备等视频采集设备,切换视频采集设备的视频数据压缩格式为预设压缩格式;其中,预设压缩格式为当前整个系统满足要求的视频解码能力的格式。如果视频采集设备的视频压缩格式切换成功,则控制模块检测满足新的视频解码能力要求的一个或多个计算模块(即第三计算模块),并将其设定为视频解码任务的执行模块;以及检测满足视频分析任务要求的计算模块(即第四计算模块),并将其设定为计算任务的执行模块。

在上述第二种调度策略中,对视频采集设备的视频数据编码格式的修改,可以进行如H264、H265、JPEG等多种视频图像格式的切换,也可根据算法需要直接发送更低分辨率和更低帧率的视频或原始图像数据。

在本实施例中,第三种调度策略为:如果控制模块发现某一路视频分析任务所需要的算力和视频解码能力,系统中有一个或者多个计算模块可以同时满足相应的要求,则将这一个计算模块设定为视频分析任务的执行模块,或者根据算力和视频解码能力的强度,将其中能力最优的计算模块设定为视频分析任务的执行模块。

本实施例中通过异构应用系统中多计算模块之间的视频数据通信传输,调度多个计算模块完成一个视频分析任务,实现异构应用系统算力和视频编解码能力的最大利用,提高系统支持的视频分析任务处理路数。

如图1所示,在本发明实施例的一种实现方式中,异构应用系统视频分析任务调度方法还包括以下步骤:

步骤S300,根据所述调度策略将所述视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,以执行对应的任务。

在本实施例中,针对上述三种不同的调度策略,在对应的计算模块中执行不同的任务,具体的执行过程如下所示。

具体地,在本实施例的一种实现方式中,步骤S300包括以下步骤:

步骤S311,将所述视频分析任务中的视频解码任务调度至所述第一计算模块进行解码,得到解码后的视频数据;

步骤S312,将所述视频分析任务中的计算任务调度至所述第二计算模块,并将所述解码后的视频数据发送至所述第二计算模块进行分析检测,输出所述视频分析任务的分析结果。

在本实施例中,对于第一种调度策略,控制模块会控制由计算模块A来完成视频解码,得到解码后的视频数据后,再通过计算模块之间的通信通道,将视频数据发送给计算模块B,由计算模块B来完成视频分析检测,得到最终的视频分析结果。

具体地,在本实施例的一种实现方式中,步骤S300还包括以下步骤:

步骤S321,将所述视频分析任务中的视频解码任务调度至所述第三计算模块进行解码,得到解码后的视频数据;

步骤S322,将所述视频分析任务中的计算任务调度至所述第四计算模块,并将所述解码后的视频数据发送至所述第四计算模块进行分析检测,输出所述视频分析任务的分析结果。

在本实施例中,对于第二种调度策略,控制模块会控制由第三计算模块来完成视频解码,得到解码后的视频数据后,再通过计算模块之间的通信通道,将视频数据发送给第四计算模块,由第四计算模块来完成视频分析检测,得到最终的视频分析结果。

在本实施例中,对于第三种调度策略,控制模块会控制同时满足条件的计算模块直接执行视频解码任务和视频分析任务,或者控制能力最优的计算模块直接执行视频解码任务和视频分析任务。

在本实施例中,在第一种调度策略或者第二种调度策略的执行过程中,所述解码后的视频数据为原始YUV格式或RGB格式的数据,或所述解码后的视频数据为满足分析算法要求尺寸的数据,或所述解码后的视频数据为重新压缩后的H264/H265/JPGE压缩图像数据。

以第一种调度策略为例,如图7所示,视频数据在计算模块A、计算模块B之间的传输,可以采用视频解码后原始图像YUV或RGB数据(包括RGBA、ARGB等其他格式的图像数据),也可以根据视频分析算法的需要,压缩到416*416或224*224等算法需要的尺寸大小后再通过网络传输,以降低传输数据量。从计算模块A发送到计算模块B的视频数据,可按照视频分析算法需要的帧率进行传输,不需要每帧数据都发送。

如图8所示,视频数据在计算模块A、计算模块B之间的传输,也可根据两个计算模块的H264、H265、JPEG等多种视频/图像格式编解码能力情况,在计算模块A上按计算模块B满足能力要求的某一种编码格式进行视频压缩,即在计算模块A对传输的视频图像数据进行压缩后传输给计算模块B。计算模块B接收后对接收到的视频/图像数据进行解压缩,再进行视频分析计算。计算模块A压缩视频图像数据时,可根据视频分析算法的需要,压缩到416*416或224*224等尺寸大小和算法需要的帧率。

如图9所示,对于第二种调度策略,各个视频采集设备支持的视频编码压缩能力参数,可通过参数在控制模块上进行统一配置。

如图10所示,对于第二种调度策略,各个视频采集设备支持的视频编码压缩能力参数,也可由各视频采集设备主动上报给控制模块。

如图11所示,对于第二种调度策略,控制模块可通过协议设置某个视频采集设备的视频数据为指定的编码压缩格式。通信协议可参考GB/T-28181或数字视网膜等标准协议或进行相应的扩展支持。

具体地,在本实施例的一种实现方式中,步骤S300还包括以下步骤:

步骤S331,根据任务参数中的最低处理帧率和最低算力要求确定降级调度策略;

步骤S332,根据所述降级调度策略逐步降低处理帧率和算力参数要求,直至任务调度成功或达到所述最低处理帧率和所述最低算力要求。

在本发明实施例的另一种实现方式中,对于前述的视频分析任务,如果配置为可降级调度的视频分析任务,下发任务参数中可包括该任务正常的处理帧率、正常的算力要求、最低的处理帧率、最低的算力要求等参数。在任务正常处理帧率和正常算力要求参数情况下,如果任务调度失败,尤其是因为算力无法满足要求的情况下,可逐步从高到低进行降级调度。通过逐步降低处理帧率和算力参数要求,重新进行任务调度,直至任务调度成功,或到达任务最低的处理帧率和算力要求为止。

本实施例针对特定的视频分析任务,如果系统中没有一个计算模块可以满足视频解码能力的要求,但有计算模块可以满足算力的要求。则可以通过一定的通信协议,控制接入的摄像机等视频采集设备,对视频采集设备发送的视频数据编码格式进行设置,修改为系统可用的视频解码能力格式,最终完成视频分析任务的调度,通过协议修改的方式,降低了视频解码对于整个系统的硬件要求。

在本发明实施例的一种实现方式中,异构应用系统视频分析任务调度方法还包括以下步骤:

步骤S400,接收批量视频分析任务,获取各视频分析任务所需的算力参数和视频解码参数;

步骤S500,获取各计算模块的算力参数和视频编解码参数,并获取各视频采集设备支持的视频编码压缩参数;

步骤S600,根据各视频分析任务所需的算力参数和视频解码参数、各计算模块的算力参数和视频编解码参数以及各视频采集设备支持的视频编码压缩参数,综合计算最优调度策略参数;

步骤S700,根据所述最优调度策略参数调度对应的计算模块,执行所述批量视频分析任务的视频解码任务和计算任务。

在本实施例中,对于批量调度时的最优策略计算,可以评估计算所有视频分析任务需要的视频解码能力和算力需求,并根据异构系统中支持的最大视频解码能力情况,优先控制视频采集设备切换为系统支持的视频解码能力。其次再根据算力和视频解码能力的需求,尽可能调度一个视频分析任务到同一个计算模块上。最后再完成多个计算模块共同完成一个视频分析任务的调度。

本实施例可以针对批量视频分析任务,综合计算最优的调度策略参数,最大程度完成视频分析任务的调度并降低对系统资源的消耗。

以下通过实际应用场景分别对单个视频分析任务以及批量视频分析任务进行说明。

如图6所示,在单个视频分析任务场景中,包括以下步骤:

步骤S11,获取视频分析任务需要的算力和视频解码能力等参数;

步骤S12,判断是否有满足算力和视频解码能力要求的计算模块;若为是,则执行步骤S13;若为否,则执行步骤S15;

步骤S13,调度该视频分析任务到满足算力和视频解码能力要求的计算模块上执行;

步骤S14,调度任务成功。

上述步骤S13~步骤S14为实施例中所述的第三种调度策略。

步骤S15,判断是否有满足算力要求的计算模块和满足视频解码能力要求的计算模块;若为是,则执行步骤S16;若为否,则执行步骤S18;

步骤S16,调度视频解码功能到满足视频解码能力要求的计算模块A上执行,调度视频分析计算任务到满足算力要求的计算模块B上执行;计算模块A将视频数据发送给计算模块B;

步骤S17,调度任务成功。

上述步骤S15~步骤S17为实施例中所述的第一种调度策略。

步骤S18,判断是否有满足算力要求的计算模块;若为是,则执行步骤S20;若为否,则执行步骤S19;

步骤S19,调度任务失败。

步骤S20,通过协议控制视频采集设备的视频数据格式切换为系统目前满足要求的视频解码能力格式;

步骤S21,视频采集设备的视频格式切换是否成功;若为是,则返回步骤S12;若为否,则执行步骤S22;

步骤S22,调度任务失败。

上述步骤S20~步骤S21为实施例中所述的第二种调度策略。

如图12所示,在批量视频分析任务场景中,包括以下步骤:

步骤S31,接收批量视频分析任务;

步骤S32,获取各视频分析任务需要的算力和视频解码能力等参数;

步骤S33,获取当前系统中各计算模块的算力和视频编解码能力资源情况;

步骤S34,获取各视频采集设备支持的视频编码压缩能力参数;

步骤S35,综合计算最优调度策略参数;

步骤S36,完成各计算模块和视频采集设备的控制和功能调度。

本实施例通过上述技术方案达到以下技术效果:

本实施例通过获取视频分析任务所需的算力参数和视频解码参数,可以根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,确定视频分析任务的调度策略以及对应的计算模块,从而根据调度策略将视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,以执行对应的任务;本实施例通过异构应用系统中多计算模块之间的视频数据通信传输,调度多个计算模块完成视频分析任务,实现异构应用系统算力和视频编解码能力的最大利用,提高系统支持的视频分析任务处理路数,提高了视频分析的效率。

示例性设备

基于上述实施例,本发明还提供一种异构应用系统视频分析任务调度装置,包括:

接收批量视频分析任务,获取各视频分析任务所需的算力参数和视频解码参数;

获取各计算模块的算力参数和视频编解码参数,并获取各视频采集设备支持的视频编码压缩参数;

根据各视频分析任务所需的算力参数和视频解码参数、各计算模块的算力参数和视频编解码参数以及各视频采集设备支持的视频编码压缩参数,综合计算最优调度策略参数;

根据所述最优调度策略参数调度对应的计算模块,执行所述批量视频分析任务的视频解码任务和计算任务。

基于上述实施例,本发明还提供一种终端,其原理框图可以如图13所示。

该终端包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,该终端的处理器用于提供计算和控制能力;该终端的存储器包括存储介质以及内存储器;该存储介质存储有操作系统和计算机程序;该内存储器为存储介质中的操作系统和计算机程序的运行提供环境;该接口用于连接外部设备,例如,移动终端以及计算机等设备;该显示屏用于显示相应的信息;该通讯模块用于与云端服务器或移动终端进行通讯。

该计算机程序被处理器执行时用以实现一种异构应用系统视频分析任务调度方法的操作。

本领域技术人员可以理解的是,图13中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种终端,其中,包括:处理器和存储器,存储器存储有异构应用系统视频分析任务调度程序,异构应用系统视频分析任务调度程序被处理器执行时用于实现如上的异构应用系统视频分析任务调度方法的操作。

在一个实施例中,提供了一种存储介质,其中,存储介质存储有异构应用系统视频分析任务调度程序,异构应用系统视频分析任务调度程序被处理器执行时用于实现如上的异构应用系统视频分析任务调度方法的操作。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。

综上,本发明提供了一种异构应用系统视频分析任务调度方法、装置、终端及介质,方法包括:获取视频分析任务所需的算力参数和视频解码参数;根据所需的算力参数和视频解码参数以及各计算模块的算力参数和视频编解码参数,确定所述视频分析任务的调度策略以及对应的计算模块;根据所述调度策略将所述视频分析任务中的视频解码任务和计算任务调度至对应的计算模块,以执行对应的任务。本发明通过异构应用系统中多计算模块之间的视频数据通信传输,调度多个计算模块完成视频分析任务,实现异构应用系统算力和视频编解码能力的最大利用,提高系统支持的视频分析任务处理路数,提高了视频分析的效率。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

技术分类

06120115958116