专利名称:一种视频分析任务处理方法及装置的制作方法
技术领域:
本发明涉及多媒体技术领域,尤其涉及一种视频分析任务处理方法及装置。
背景技术:
随着智能视频识别技术的发展,智能视频识别技术逐步在视频监控系统中得到了应用,在视频监控系统中,通常把视频分析处理单元作为一个独立的实体单元,并在视频分析处理单元中集成各种视频分析算法实现智能视频分析功能。但是智能识别技术正处于快速发展阶段,智能视频分析新技术层出不穷,在视频分析处理单元中集成视频分析算法时, 通常需要重构视频分析处理单元代码来完成,并需要对现网环境中部署的视频分析处理单元进行升级才能完成新的视频分析识别应用。而这种升级会造成现网中的视频分析业务中断,该中断对视频监控系统来说是不可以接受的。
发明内容
有鉴于此,本发明的主要目的在于提供一种视频分析任务处理方法及装置,以解决在视频分析处理单元中集成视频分析算法时会影响现网中的视频分析业务的问题。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种视频分析任务处理方法,所述方法包括将视频分析算法库注册到本地;接收视频分析任务,根据所述视频分析任务指定的视频分析算法类型,调用已注册的视频分析算法库,完成对所述视频分析任务的处理。在上述方案中,所述将视频分析算法库注册到本地,包括枚举并加载指定路径下的视频分析算法库;获取所述视频分析算法库的视频分析算法类型、名称信息以及版本信息,并生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表; 将所述对应关系表保存。在上述方案中,所述生成包含有所述视频分析算法库的视频分析算法类型和名称信息对应关系表,包括查询是否存在视频分析算法类型与所述视频分析算法库的视频分析算法类型相一致的所述对应关系表,如果是,则在所述视频分析算法库的版本高于查询到的对应关系表所对应的视频分析算法库版本时,将该对应关系表中的名称信息更改为所述视频分析算法库的名称信息;如果否,则直接生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表。在上述方案中,所述生成包含有所述视频分析算法库的视频分析算法类型和名称信息对应关系表,包括如果同时加载多个视频分析算法库,且同一个视频分析算法类型对应多个不同版本的视频分析算法库时,则将视频分析算法类型相同的多个视频分析算法库的版本信息进行比较,确定最新版本的视频分析算法库,仅生成对应该最新版本视频分析算法库的对应关系表。
在上述方案中,所述对应关系表为ニ元组〈算法库、算法类型>。在上述方案中,所述根据所述视频分析任务的视频分析算法类型,调用已注册的视频分析算法库,包括查询视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表,获取视频分析算法库名称信息;基于所获取的视频分析算法名称信息,加载相应的视频分析算法库,对所述视频分析算法库进行初始化、并基于所述视频分析任务指定的视频分析算法參数设置所述视频分析算法库后,调用所述视频分析算法库。
在上述方案中,所述方法还包括未查询到视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表时,触发视频分析算法库的重新注
ΠΠ
ノ Itr ο在上述方案中,所述完成对所述视频分析任务的处理,包括从所述视频分析任务指定的视频源获取视频流数据,并对所述视频流解包组帧和解码处理后,输出视频数据;调用所述视频分析算法库,对所述视频数据进行视频分析处理,得到视频分析处理的中间数据和结果数据;对所述中间数据和结果数据进行打包、编码处理之后发送到所述视频分析任务指定的数据输出地址。本发明还提供了一种视频分析处理单元,所述视频分析处理单元包括视频分析算法管理模块、视频分析任务管理模块、视频源处理模块、视频分析处理模块和数据输出模块;其中,视频分析算法管理模块,用于将视频分析算法库注册到所述视频分析任务管理模块;视频分析任务管理模块,用于接收视频分析任务,通知视频分析处理模块、视频源处理模块、以及数据输出模块,根据所述视频分析任务指定的视频分析算法类型,调用已注册的视频分析算法库,完成对所述视频分析任务的处理。在上述方案中,所述视频分析算法管理模块,用于枚举并加载指定路径下的视频分析算法库,获取所述视频分析算法库的视频分析算法类型、名称信息以及版本信息,井生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表,将所述对应关系表发送给所述视频分析任务管理模块;所述视频分析任务管理模块,还用于接收并保存所述对应关系表。在上述方案中,所述视频分析算法管理模块,还用于查询是否存在视频分析算法类型与所述视频分析算法库的视频分析算法类型相一致的所述对应关系表,存在吋,则在所述视频分析算法库的版本高于查询到的对应关系表所对应的视频分析算法库版本吋,将该对应关系表中的名称信息更改为所述视频分析算法库的名称信息;不存在吋,则直接生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表。在上述方案中,所述视频分析算法管理模块,还用于同时加载多个视频分析算法库,且同一个视频分析算法类型对应多个不同版本的视频分析算法库时,则将视频分析算法类型相同的多个视频分析算法库的版本信息进行比较,确定最新版本的视频分析算法库,仅生成对应该最新版本视频分析算法库的对应关系表。在上述方案中,所述视频分析任务管理模块,还用于查询视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表,获取视频分析算法库名称信息,并将所述视频分析算法库名称信息、以及所述视频分析任务指定的视频分析算法类型和视频分析算法参数发送给所述视频分析处理模块;所述视频分析处理模块,用于基于所述视频分析算法名称信息和所述视频分析任务指定的视频分析算法类型,加载相应的视频分析算法库,对所述视频分析算法库进行初始化、并基于所述视频分析任务指定的视频分析算法参数设置所述视频分析算法库后,调用所述视频分析算法库。在上述方案中,所述视频分析任务管理模块,还用于未查询到视频分析算法类型 与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表时,通知所述视频分析算法管理模块重新进行视频分析算法库的注册。在上述方案中,所述视频分析任务管理模块,还用于将所述视频分析任务的视频源信息发送给所述视频源处理模块,将所述视频分析任务的数据输出地址发送给所述数据输出模块;所述视频源处理模块,用于根据所述视频分析任务的视频源信息,从所述视频分析任务指定的视频源获取视频流数据,并对所述视频流解包组帧和解码处理后,输出视频数据给所述视频处理模块;所述视频处理模块,还用于调用所述视频分析算法库,对所述视频数据进行视频分析处理,得到视频分析处理的中间数据和结果数据并输出给所述数据输出模块;所述数据输出模块,用于对所述中间数据和结果数据进行打包、编码处理之后发送到所述视频分析任务指定的数据输出地址。本发明的视频分析任务处理方法及装置,通过将视频分析算法库注册到本地,接收到视频分析任务时,根据所述视频分析任务指定的视频分析算法类型,调用已注册的视频分析算法库,完成对所述视频分析任务的处理,在不升级视频分析处理单元的情况下,可动态的实现新视频分析算法在视频分析任务处理中的应用,避免视频分析算法升级影响现网中正在执行的视频分析任务。本发明在有新的视频分析算法时,把这个视频分析算法库拷贝到指定路径下,待注册过程被触发时,视频分析处理单元会自动进行该新视频分析算法库的注册,实现新视频分析算法的应用,无需对视频分析处理单元进行修改、编译和升级,不仅降低了成本,而且提闻了效率。
图I为本发明实施例中视频分析处理单元与外部各单元的连接关系示意图;图2为本发明实施例中视频分析处理单元的组成结构示意图;图3为本发明实施例中进行视频分析算法库注册的实现流程图;图4为本发明实施例中进行视频分析处理的实现流程图。
具体实施方式
本发明的基本思想是提出ー种自适应的视频分析任务处理方法及相应的视频分析处理単元,可在不中断现网视频分析任务处理的情况下,实现视频分析处理单元内视频分析算法的更新和升级。本发明的一种视频分析任务处理方法主要包括将视频分析算法库注册到本地;接收视频分析任务,根据所述视频分析任务指定的视频分析算法类型,调用已注册的视频分析算法库,完成对所述视频分析任务的处理。其中,所述将视频分析算法库注册到本地,包括枚举并加载指定路径下的视频分析算法库;获取所述视频分析算法库的视频分析算法类型、名称信息以及版本信息,并生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表;将所述对应关系表保存。
这里,所述对应关系表可以为ニ元组〈算法库、算法类型>。其中,所述根据所述视频分析任务的视频分析算法类型,调用已注册的视频分析算法库,包括查询视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表,获取视频分析算法库名称信息;基于所获取的视频分析算法名称信息,加载相应的视频分析算法库,对所述视频分析算法库进行初始化、并基于所述视频分析任务指定的视频分析算法參数设置所述视频分析算法库后,调用所述视频分析算法库。这里,未查询到视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表时,可以触发视频分析算法库的重新注册。其中,所述完成对所述视频分析任务的处理,包括从所述视频分析任务指定的视频源获取视频流数据,并对所述视频流解包组帧和解码处理后,输出视频数据;调用所述视频分析算法库,对所述视频数据进行视频分析处理,得到视频分析处理的中间数据和结果数据;对所述中间数据和结果数据进行打包、编码处理之后发送到所述视频分析任务指定的数据输出地址。相应的,本发明还提供了一种视频分析处理单元,所述视频分析处理单元包括视频分析算法管理模块、视频分析任务管理模块、视频源处理模块、视频分析处理模块和数据输出模块;其中,视频分析算法管理模块,用于将视频分析算法库注册到所述视频分析任务管理模块;视频分析任务管理模块,用于接收视频分析任务,通知视频分析处理模块、视频源处理模块、以及数据输出模块,根据所述视频分析任务指定的视频分析算法类型,调用已注册的视频分析算法库,完成对所述视频分析任务的处理。具体地,所述视频分析算法管理模块,用于枚举并加载指定路径下的视频分析算法库,获取所述视频分析算法库的视频分析算法类型、名称信息以及版本信息,并生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表,将所述对应关系表发送给所述视频分析任务管理模块;所述视频分析任务管理模块,还用于接收并保存所述对应关系表。这里,所述视频分析算法管理模块,还用于查询是否存在视频分析算法类型与所述视频分析算法库的视频分析算法类型相一致的所述对应关系表,存在时,则在所述视频分析算法库的版本高于查询到的对应关系表所对应的视频分析算法库版本时,将该对应关系表中的名称信息更改为所述视频分析算法库的名称信息;不存在吋,则直接生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表。
这里,所述视频分析算法管理模块,还用于同时加载多个视频分析算法库,且同一个视频分析算法类型对应多个不同版本的视频分析算法库时,则将视频分析算法类型相同的多个视频分析算法库的版本信息进行比较,确定最新版本的视频分析算法库,仅生成对应该最新版本视频分析算法库的对应关系表。具体地,所述视频分析任务管理模块,还用于查询视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表,获取视频分析算法库名称信息,并将所述视频分析算法库名称信息、以及所述视频分析任务指定的视频分析算法类型和视频分析算法参数发送给所述视频分析处理模块;所述视频分析处理模块,用于基于所述视频分析算法名称信息和所述视频分析任 务指定的视频分析算法类型,加载相应的视频分析算法库,对所述视频分析算法库进行初始化、并基于所述视频分析任务指定的视频分析算法参数设置所述视频分析算法库后,调用所述视频分析算法库。这里,所述视频分析任务管理模块,还用于未查询到视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表时,通知所述视频分析算法管理模块重新进行视频分析算法库的注册。具体地,所述视频分析任务管理模块,还用于将所述视频分析任务的视频源信息发送给所述视频源处理模块,将所述视频分析任务的数据输出地址发送给所述数据输出模块;所述视频源处理模块,用于根据所述视频分析任务的视频源信息,从所述视频分析任务指定的视频源获取视频流数据,并对所述视频流解包组帧和解码处理后,输出视频数据给所述视频处理模块;所述视频处理模块,还用于调用所述视频分析算法库,对所述视频数据进行视频分析处理,得到视频分析处理的中间数据和结果数据并输出给所述数据输出模块;所述数据输出模块,用于对所述中间数据和结果数据进行打包、编码处理之后发送到所述视频分析任务指定的数据输出地址。如图I所示的具体实施环境中,视频分析处理单元接收来自外部的视频分析任务调度服务器的视频分析任务,所述视频分析任务的内容包括需要分析的视频源信息(如视频源地址或视频源的统一资源定位符(URL, Uniform Resource Locator))、视频分析算法类型(如人脸识别、车牌识别、行为分析等)、视频分析算法参数和数据输出地址等。视频分析处理单元根据所述视频分析任务调度服务器下达的视频分析任务,从视频源(如,媒体服务器)上获取相应的视频数据,根据视频分析任务中的视频分析算法类型调用相应的视频分析算法库进行视频分析处理,并根据视频分析内容中的输出地址,将视频分析处理的中间数据和结果数据输出到指定的视频分析结果处理服务器上。具体地,如图2所示,视频分析处理单元可以包括视频分析任务管理模块、视频分析算法管理模块、视频源处理模块、视频分析处理模块和数据输出模块。其中,视频分析任务管理模块接收外部的视频分析任务,并对视频分析任务进行解析和管理;将所述视频分析任务中的视频源信息发送给视频处理模块,视频源处理模块根据所述视频源信息从相应的视频源获取视频数据;将所述视频分析任务中的视频分析算法类型以及视频分析算法参数发送给视频分析处理模块,视频分析处理模块基于所述视频分析算法类型以及视频分析算法参数,调用相应的视频分析算法库,进行视频分析处理,得到视频分析处理的中间数据和结果数据;将所述视频分析任务中的数据输出地址发送给数据输出模块,所述数据输出模块根据所述数据输出地址,将所述视频分析处理模块得到的中间数据和结果数据输出到相应的地址,如此,便将视频数据的获取、视频数据的分析处理、以及输出视频分析处理的中间数据和结果数据串成一条完整的视频分析链。其中,视频分析算法管理模块负责管理视频分析算法库,包括对已注册的视频分析算法库进行自动更新处理、以及对未注册的视频分析算法库进行注册管理。视频分析算法管理模块可在启动时注册视频分析算法库,也可以在运行过程中进行注册视频分析算法库。具体地,视频源处理模块根据视频源信息(如视频源地址或者视频源的URL)获取视频流数据,并对视频流数据进行解包、组帧和解码,输出ー帧ー帧的视频数据给视频分析处理模块。具体地,视频分析处理模块根据视频分析算法类型,加载相应的视频分析算法库, 对该视频分析算法库进行初始化、以及基于所述视频分析算法參数对所述视频分析算法库进行配置后,调用所述视频分析算法库对接收到的视频数据进行视频分析处理,并输出视频分析处理的中间数据和结果数据给数据输出模块。数据输出模块接收视频分析处理模块输出的视频分析处理的中间数据和结果数据,进行数据的封装、编码后发送到所述数据输出地址所指定的服务器上。下面将详细说明视频分析算法库的注册过程和视频分析处理过程。如图3所示,视频分析算法库的注册流程,具体可以包括如下步骤步骤301、视频分析算法管理模块枚举并加载指定路径下的视频分析算法库;这里,可以预先在视频分析算法管理模块配置视频分析算法库的指定路径,在注册时,视频分析算法管理模块可以根据该指定路径枚举并加载视频分析算法库。实际应用中,在有新的视频分析算法时,定义新的算法类型标识,按照统ー的接ロ形式把视频分析算法构造成一个新的视频分析算法库,并把这个视频分析算法库拷贝到指定路径下,待注册过程被触发时,视频分析算法管理模块会自动进行该新视频分析算法库的注册。这样,既可以实现新视频分析算法库的上线应用,也不影响和中断现有的视频分析业务。其中,一个视频分析算法库中包含一种视频分析算法,每个视频分析算法库都必须按照统ー确定的接ロ形式来实现,必须至少包括版本查询、算法类型查询、算法初始化、算法执行和算法关闭等接ロ。步骤302、视频分析算法管理模块视频分析算法库的算法类型查询接ロ获取视频分析算法库的视频分析算法类型,通过其版本查询接ロ获取视频分析算法的版本信息,同时获取视频分析算法库的名称信息,生成ニ元组〈算法库、算法类型 > 并保存。其中,ニ元组〈算法库、算法类型〉中,算法库表示视频分析算法库的名称信息,算法类型表示视频分析算法库的视频分析算法类型,该ニ元组可以表示同一视频分析算法库的名称信息及其视频分析算法类型的对应关系。这里,由于不同版本的视频分析算法库具有不同的名称信息,如果同时注册多个视频分析算法库,且同一个视频分析算法类型对应多个不同版本的视频分析算法库时,则将视频分析算法类型相同的多个视频分析算法库的版本信息进行比较,确定最新版本的视频分析算法库,仅生成对应该最新版本视频分析算法库的ニ元组〈算法库、算法类型 >。如果同一个视频分析算法类型仅对应一个版本的视频分析算法库,则直接生成对应该视频分析算法库的二元组〈算法库、算法类型>。特别的,还可以查询是否已存在视频分析算法类型与所述视频分析算法库的视频分析算法类型相一致的二元组〈算法库、算法类型 >,如果是,则在所述视频分析算法库的版本比该二元组〈算法库、算法类型 > 所对应的视频分析算法库版本高时,将所述二元组〈算法库、算法类型 > 中的所述视频分析算法库名称信息更改为所述视频分析算法库的名称信息,如果不是,则直接生成对应所述视频分析算法库的二元组〈算法库、算法类型>。这里,所述视频分析算法库名称信息中不仅可以视频分析算法库的名称,还可以包含视频分析算法库的版本信息。
实际应用中,视频分析算法类型可以统一预先定义,在视频分析任务中描述的视频分析算法类型与这里查询获取的视频分析算法类型保持一致。步骤303、视频分析算法管理模块把二元组〈算法库、算法类型 > 通知给视频分析任务管理模块,视频分析任务管理模块将二元组〈算法库、算法类型 > 保存到自身,供后续视频分析处理过程中使用,至此,视频分析算法库的注册过程结束。实际应用中,在视频分析处理单元在启动时可以进行视频分析算法库的上述注册,也可以通过外部命令触发或者内部定时触发的方式,进行视频分析算法库的上述注册。特别的,在有视频分析算法库版本更新时,通过手动在所述视频分析算法管理模块输入相应的注册命令,之后,视频分析算法模块会进行所述视频分析算法库的注册,用最新的版本代替旧版本的视频分析算法库。这样即可实现升级视频分析算法库时可不中断现有的视频分析任务,也可以保证新的视频分析任务能够采用到最新版本的视频分析算法库。 如图4所示,视频分析任务处理具体实施步骤如下步骤401、视频分析任务管理模块接收视频分析任务并保存。步骤402、视频分析任务管理模块对视频分析任务进行解析,获得所述视频分析任务的内容,其中,所述视频分析任务的内容包括视频源信息、视频分析算法类型、视频分析算法参数、以及视频分析的中间数据和结果数据的数据输出地址。步骤403、视频分析任务管理模块查询是否存在对应所述视频分析任务中指定的视频分析算法类型的二元组〈算法库、算法类型 >,即视频分析任务管理模块如果是,则判定需要的视频分析算法库已注册,可进行视频分析任务处理,继续步骤404,如果否,则判定需要的视频分析算法库未注册,不能直接进行视频分析任务处理,继续进行步骤407。步骤404、视频分析任务管理模块从查询到的二元组〈算法库、算法类型 > 中获取到相应视频分析算法的名称信息,并将所述视频分析算法的名称信息、以及视频分析任务中指定的视频分析算法参数和视频分析算法类型下发给视频分析处理模块,通知视频分析处理模块加载相应的视频分析算法库,对该视频分析算法库进行初始化,并基于所述视频分析任务所指定的视频分析算法参数设置所述视频分析算法库。步骤405、视频分析任务管理模块把视频分析任务中的视频源信息下发给视频源处理模块,把视频分析任务中指定的数据输出地址发送给数据输出模块。步骤406、视频源处理模块基于所述视频源信息获取视频流数据,并对视频流数据进行解包组帧和解码处理,输出视频数据给视频分析处理模块,视频分析处理模块调用相应的视频分析算法库,对所述视频数据进行视频分析处理,并将得到的中间数据和结果数据输出到数据输出模块,由数据输出模块对数据进行打包、编码处理之后发送到视频分析任务中指定的数据输出地址,如此,实现了一个完整的视频分析处理链,视频分析处理过程结束。步骤407、视频分析任务管理模块判断视频分析算法管理模块是否已进行过视频分析算法库的注册,如果是,则结束当前流程,否则,继续步骤408 ;这里,视频分析任务管理模块判断视频分析算法管理模块是否已进行过视频分析算法库的注册,具体可以是判断视频分析算法管理模块在规定的时间段内是否进行了视频分析算法库的注册。具体地,视频分析算法管理模块在进行视频分析算法库的注册后,记录注册时间。视频分析任务管理模块从视频分析算法管理模块获取其所记录的注册时间, 判断该注册时间与当前时间之间的时间段是否已超过预设的时间段阈值,如果是,则判定所述视频分析算法管理模块已进行了视频分析算法库的注册,否则,判定所述视频分析算法管理模块未进行视频分析算法库的注册。步骤408、视频分析任务管理模块通知视频分析算法管理模块重新进行视频分析算法库的注册,并在完成注册后,返回步骤403。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种视频分析任务处理方法,其特征在于,所述方法包括 将视频分析算法库注册到本地; 接收视频分析任务,根据所述视频分析任务指定的视频分析算法类型,调用已注册的视频分析算法库,完成对所述视频分析任务的处理。
2.根据权利要求I所述的视频分析任务处理方法,其特征在于,所述将视频分析算法库注册到本地,包括 枚举并加载指定路径下的视频分析算法库; 获取所述视频分析算法库的视频分析算法类型、名称信息以及版本信息,并生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表; 将所述对应关系表保存。
3.根据权利要求2所述的视频分析任务处理方法,其特征在于,所述生成包含有所述视频分析算法库的视频分析算法类型和名称信息对应关系表,包括 查询是否存在视频分析算法类型与所述视频分析算法库的视频分析算法类型相一致的所述对应关系表,如果是,则在所述视频分析算法库的版本高于查询到的对应关系表所对应的视频分析算法库版本时,将该对应关系表中的名称信息更改为所述视频分析算法库的名称信息;如果否,则直接生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表。
4.根据权利要求2所述的视频分析任务处理方法,其特征在于,所述生成包含有所述视频分析算法库的视频分析算法类型和名称信息对应关系表,包括 如果同时加载多个视频分析算法库,且同一个视频分析算法类型对应多个不同版本的视频分析算法库时,则将视频分析算法类型相同的多个视频分析算法库的版本信息进行比较,确定最新版本的视频分析算法库,仅生成对应该最新版本视频分析算法库的对应关系表。
5.根据权利要求2、3或4所述的视频分析任务处理方法,其特征在于,所述对应关系表为二元组〈算法库、算法类型>。
6.根据权利要求2所述的视频分析任务处理方法,其特征在于,所述根据所述视频分析任务的视频分析算法类型,调用已注册的视频分析算法库,包括 查询视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表,获取视频分析算法库名称信息; 基于所获取的视频分析算法名称信息,加载相应的视频分析算法库,对所述视频分析算法库进行初始化、并基于所述视频分析任务指定的视频分析算法参数设置所述视频分析算法库后,调用所述视频分析算法库。
7.根据权利要求6所述的视频分析任务处理方法,其特征在于,所述方法还包括未查询到视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表时,触发视频分析算法库的重新注册。
8.根据权利要求6所述的视频分析任务处理方法,其特征在于,所述完成对所述视频分析任务的处理,包括 从所述视频分析任务指定的视频源获取视频流数据,并对所述视频流解包组帧和解码处理后,输出视频数据;调用所述视频分析算法库,对所述视频数据进行视频分析处理,得到视频分析处理的中间数据和结果数据; 对所述中间数据和结果数据进行打包、编码处理之后发送到所述视频分析任务指定的数据输出地址。
9.一种视频分析处理单元,其特征在于,所述视频分析处理单元包括视频分析算法管理模块、视频分析任务管理模块、视频源处理模块、视频分析处理模块和数据输出模块;其中, 视频分析算法管理模块,用于将视频分析算法库注册到所述视频分析任务管理模块; 视频分析任务管理模块,用于接收视频分析任务,通知视频分析处理模块、视频源处理模块、以及数据输出模块,根据所述视频分析任务指定的视频分析算法类型,调用已注册的视频分析算法库,完成对所述视频分析任务的处理。
10.根据权利要求9所述的视频分析处理单元,其特征在于, 所述视频分析算法管理模块,用于枚举并加载指定路径下的视频分析算法库,获取所述视频分析算法库的视频分析算法类型、名称信息以及版本信息,并生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表,将所述对应关系表发送给所述视频分析任务管理模块; 所述视频分析任务管理模块,还用于接收并保存所述对应关系表。
11.根据权利要求10所述的视频分析处理单元,其特征在于,所述视频分析算法管理模块,还用于查询是否存在视频分析算法类型与所述视频分析算法库的视频分析算法类型相一致的所述对应关系表,存在时,则在所述视频分析算法库的版本高于查询到的对应关系表所对应的视频分析算法库版本时,将该对应关系表中的名称信息更改为所述视频分析算法库的名称信息;不存在时,则直接生成包含有所述视频分析算法库的视频分析算法类型和名称信息的对应关系表。
12.根据权利要求10所述的视频分析处理单元,其特征在于,所述视频分析算法管理模块,还用于同时加载多个视频分析算法库,且同一个视频分析算法类型对应多个不同版本的视频分析算法库时,则将视频分析算法类型相同的多个视频分析算法库的版本信息进行比较,确定最新版本的视频分析算法库,仅生成对应该最新版本视频分析算法库的对应关系表。
13.根据权利要求10所述的视频分析处理单元,其特征在于, 所述视频分析任务管理模块,还用于查询视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表,获取视频分析算法库名称信息,并将所述视频分析算法库名称信息、以及所述视频分析任务指定的视频分析算法类型和视频分析算法参数发送给所述视频分析处理模块; 所述视频分析处理模块,用于基于所述视频分析算法名称信息和所述视频分析任务指定的视频分析算法类型,加载相应的视频分析算法库,对所述视频分析算法库进行初始化、并基于所述视频分析任务指定的视频分析算法参数设置所述视频分析算法库后,调用所述视频分析算法库。
14.根据权利要求13所述的视频分析处理单元,其特征在于, 所述视频分析任务管理模块,还用于未查询到视频分析算法类型与所述视频分析任务指定的视频分析算法类型相一致的所述对应关系表时,通知所述视频分析算法管理模块重新进行视频分析算法库的注册。
15.根据权利要求13所述的视频分析处理单元,其特征在于, 所述视频分析任务管理模块,还用于将所述视频分析任务的视频源信息发送给所述视频源处理模块,将所述视频分析任务的数据输出地址发送给所述数据输出模块; 所述视频源处理模块,用于根据所述视频分析任务的视频源信息,从所述视频分析任务指定的视频源获取视频流数据,并对所述视频流解包组帧和解码处理后,输出视频数据给所述视频处理模块; 所述视频处理模块,还用于调用所述视频分析算法库,对所述视频数据进行视频分析处理,得到视频分析处理的中间数据和结果数据并输出给所述数据输出模块; 所述数据输出模块,用于对所述中间数据和结果数据进行打包、编码处理之后发送到所述视频分析任务指定的数据输出地址。
全文摘要
本发明公开了一种视频分析任务处理方法,所述方法包括将视频分析算法库注册到本地;接收视频分析任务,根据所述视频分析任务指定的视频分析算法类型,调用已注册的视频分析算法库,完成对所述视频分析任务的处理。本发明还公开了一种视频分析处理单元,在不升级视频分析处理单元的情况下,可动态的实现新视频分析算法在视频分析任务处理中的应用,避免视频分析算法升级影响正在执行的视频分析任务。
文档编号G06F9/445GK102681867SQ201110419889
公开日2012年9月19日 申请日期2011年12月15日 优先权日2011年12月15日
发明者周永宏 申请人:中兴通讯股份有限公司