一种分布式视频摘要处理系统的制作方法

文档序号:17722824发布日期:2019-05-22 02:17阅读:211来源:国知局
一种分布式视频摘要处理系统的制作方法

本发明涉及视频处理领域,尤其是一种分布式视频摘要处理系统。



背景技术:

随着城市的发展,人们对公共安全的要求越来越高,目前,在每个城市中均已经设置了数以万计的监控摄像头。但是,随着监控视频数据的增长,在翻查监控时需要浪费大量的人力物力。对于数小时的监控视频而言,可能只有数秒是有用的,那么意味着监控视频中存在大量无用信息,需要有一种高效的方法将监控视频的重点内容抽取出来。因而,视频摘要技术应运而生,视频摘要能够帮助用户尽快找到重要的内容。

在现有的技术方案中,视频摘要系统的单个视频只能被一个分析节点进行摘要分析,然后该节点将目标信息融合后生成视频摘要,系统直接存储和播放相关视频。

采用目前的技术方案存在以下问题:一个视频只能由一个节点进行分析,分析速度慢。



技术实现要素:

为解决上述技术问题,本发明的目的在于:提供一种高效的分布式视频摘要处理系统。

本发明所采取的技术方案是:

一种分布式视频摘要处理系统,包括:

页面交互模块,用于获取用户的操作数据,根据操作数据发起视频摘要任务;

后台分析管理模块,用于根据页面交互模块发起的视频摘要任务,将视频摘要任务分解为多个子任务,并将所述多个子任务分配到多个分析节点进行分析;在多个分析节点均完成所有子任务的分析后,将多个子任务的分析结果合并为视频摘要任务的分析结果,然后将视频摘要任务的分析结果存储在结果索引文件和分析结果数据文件中,接着将视频摘要任务的状态和分析结果数据文件的信息写入数据库;

数据库,用于存储视频摘要任务的状态和分析结果数据文件的信息。

进一步,所述后台分析管理模块包括:

多个分析节点,用于执行视频摘要分析;

管理节点,用于接收视频摘要任务,并根据分析节点的状态,将视频摘要任务分解为多个子任务,并将多个子任务分配给多个分析节点;

播放节点,用于向页面交互模块推送视频摘要。

进一步,所述管理节点设有共享目录,该共享目录用于存储视频摘要任务的视频文件、分析结果索引文件和分析结果数据文件。

进一步,所述分析节点还用于:在启动时向管理节点发送注册信息,在下线时发送下线信息;以及定时向管理节点发送工作状态;

所述管理节点还用于根据分析节点的注册信息进行认证,并将认证信息返回分析节点,然后在缓存中创建分析节点的信息;以及根据分析节点发送的工作状态或者下线信息,标记分析节点的状态。

进一步,所述根据分析节点发送的工作状态或者下线信息,标记分析节点的状态,其具体包括:

在第一设定时间内没有接收到分析节点发送的工作状态,则将分析节点的状态标记为下线;

在接收到分析节点发送的下线信息后,将分析节点的状态标记为下线。

进一步,所述管理节点还用于:

在将分析节点标记为下线前,判断该分析节点是否还有未完成的子任务;若是,则删除该分析节点存储在分析结果索引文件和分析结果数据文件中与其未完成的子任务关联的数据,并将该分析节点未完成的子任务分配给其他分析节点,然后将该分析节点标记为下线;反之,则直接将该分析节点的状态标记为下线。

进一步,所述页面交互模块包括:

web前端操作模块,用于接收视频文件和发送视频摘要任务;

web后端处理模块,用于接收web前端操作模块的视频摘要任务,并将视频摘要任务发送至管理节点;

播放控件,用于播放视频摘要。

进一步,所述管理节点还用于:

接收播放控件发送的工作状态以及下线信息;

在第二设定时间内没有接收到播放控件发送的工作状态,则将播放控件的状态标记为下线;

在接收到播放控件发送的下线信息后,将播放控件的状态标记为下线;

接收播放节点发送的工作状态以及下线信息;

在第三设定时间内没有接收到播放节点发送的工作状态,则将播放节点的状态标记为下线;

在接收到播放节点发送的下线信息后,将播放节点的状态标记为下线。

进一步,所述视频摘要分析具体包括:

接收管理节点的子任务信息,所述子任务信息包括视频文件信息、分析的起止时间和分析的目标种类;

根据子任务信息进行视频摘要分析,提取视频中的目标数据和背景数据;

将所述目标数据和背景数据写入分析结果索引文件和分析结果数据文件中;

定时向管理节点发送工作状态。

进一步,所述分析结果索引文件包括以下字段:

子任务的分析结果的总帧数、目标类型数量、每个类型对应的目标数量、每个目标出现的帧数、每个目标帧在结果文件中的位置、每个目标帧在结果文件中存储的长度和每个目标帧相对于背景图的坐标。

所述分析结果数据文件用于存储每个目标帧的二进制数据。

进一步,所述向页面交互模块推送视频摘要,其具体包括:

接收管理节点发送的推送任务;

根据推送任务获取分析结果的总帧数和目标类型;

对分析结果的每一个目标帧进行以下处理:

将目标帧内所有属于所述目标类型的目标数据和背景数据合成为一张视频帧;

根据帧率确定所述视频帧的发送时间;

根据所述发送时间,将视频帧发送至播放控件。

本发明的有益效果是:本发明通过后台分析管理模块将视频摘要任务分解为多个子任务,然后分配给多个分析节点进行分析,最终将多个子任务的分析结果合并为视频摘要任务的分析结果,解决了当前视频摘要系统处理效率低下的问题。

附图说明

图1为本发明一种分布式视频摘要处理系统的模块框图。

具体实施方式

下面结合说明书附图和具体的实施例对本发明进行进一步的说明。

本发明不针对视频摘要分析算法进行改进,所述视频分析算法均可以采用现有技术实现。

参照图1,一种分布式视频摘要处理系统,包括:

页面交互模块,用于获取用户的操作数据,根据操作数据发起视频摘要任务。

在本实施例中,所述页面交互模块主要向用户提供操作界面,以及提供视频上传、发起摘要任务和摘要展示等功能。其由多个web前端操作模块和一个web后端处理模块组成。其中,每个web前端操作模块设置有一个播放控件,用于播放视频摘要。

后台分析管理模块,用于根据页面交互模块发起的视频摘要任务,将视频摘要任务分解为多个子任务,并将所述多个子任务分配到多个分析节点进行分析;在多个分析节点均完成所有子任务的分析后,将多个子任务的分析结果合并为视频摘要任务的分析结果,然后将视频摘要任务的分析结果存储在结果索引文件和分析结果数据文件中,接着将视频摘要任务的状态和分析结果数据文件的信息写入数据库。

在本实施例中,后台分析管理模块并没有将视频摘要任务的分析结果直接合成一个视频。而是将分析结果的数据直接进行了合并存储。使得分析结果的数据可以被调出并组织成不同的视频摘要。在本实施例中,分析结果包括了不同类型的目标数据,系统可以根据用户感兴趣的目标类型,生成不同的视频摘要。

数据库,用于存储视频摘要任务的状态和分析结果数据文件的信息。而分析结果被存储在后台分析管理模块设置的文件夹中。所述结果数据文件的信息可以是该文件或者其结果索引文件的名称、具体的存储位置等信息。用户可以通过数据库获知每个任务的状态,并根据数据库中存储的分析结果数据文件的信息来访问这些数据。

本实施例通过将视频摘要任务拆分成多个子任务,并分配给多个分析节点进行分析,能够有效地提升视频摘要任务的执行速度。

作为优选的实施例,所述后台分析管理模块包括:

多个分析节点,用于执行视频摘要分析。

所述多个分析节点可以是在网络上不同的计算机,这些分析节点可以随时加入或者随时退出。

管理节点,用于接收视频摘要任务,并根据分析节点的状态,将视频摘要任务分解为多个子任务,并将多个子任务分配给多个分析节点。

在本实施例中,管理节点可以根据分析节点当前的状态,计算当前空闲的分析节点的数量,然后根据视频摘要任务的视频文件的长度进行分割,并根据视频文件的帧率来确定每个子任务的起始帧和结束帧。例如,一个视频摘要任务的视频文件长度为100秒,帧率为10帧每秒,当前有10个空闲的分析节点,则将该视频文件分解为10秒一份的10个等份,此时,第一个子任务的起始帧为第1帧,第一个子任务的结束帧为第100帧,如此类推。

当然,如果视频长度较短,而空闲的分析节点较多时,则可以限定每个节点的最小时长。例如,需要分析100秒的视频文件时,存在10000个空闲的分析节点,将1秒钟分为100份明显不符合效益。因此可以限定子任务的最小时长,如1分钟、5分钟或者10秒钟等。

播放节点,用于向页面交互模块推送视频摘要。所述播放节点的数量有多个,管理节点根据需要调用不同的播放节点向页面交互模块推送视频摘要。所述播放节点可以随时加入和退出。

作为优选的实施例,所述管理节点设有共享目录,该共享目录用于存储视频摘要任务的视频文件、分析结果索引文件和分析结果数据文件。

所述共享目录可以被管理节点、分析节点和播放节点访问。在本实施例中,设置共享目录,使得各节点可以方便地访问这些分析结果,并可以通过分析结果索引文件快速定位到分析结果数据的存放位置。

作为优选的实施例,所述分析节点还用于:在启动时向管理节点发送注册信息,在下线时发送下线信息;以及定时向管理节点发送工作状态;

其中,所述工作状态包括空闲和处理任务中,当分析节点处于处理任务中的状态时,其向管理节点发送的工作状态包括当前正在处理的子任务信息和子任务的处理进度。所述注册信息包括认证的用户名、密码、节点类型和节点编码等相关信息。

所述管理节点还用于根据分析节点的注册信息进行认证,并将认证信息返回分析节点,然后在缓存中创建分析节点的信息;以及根据分析节点发送的工作状态或者下线信息,标记分析节点的状态。

在本实施例中,管理节点接收到分析节点的注册信息后,会解析出注册信息中的公共部分,包括节点类型、用户名和密码。然后根据分析节点的用户名和密码进行认证。在认证通过后,管理节点会根据节点类型来解析注册信息中的私有信息,并建立该分析节点的缓存信息。

在本实施例中,系统给新加入的分析节点在缓存中创建其存储空间,并记录其信息。同时会对下线的节点进行标记,使得系统可以实时掌握当前分析节点的数量,有助于子任务的分配。

在一些实施例中,播放节点也适用于本实施例的注册机制。

作为优选的实施例,所述根据分析节点发送的工作状态或者下线信息,标记分析节点的状态,其具体包括:

在第一设定时间内没有接收到分析节点发送的工作状态,则将分析节点的状态标记为下线;

在接收到分析节点发送的下线信息后,将分析节点的状态标记为下线。

在本实施例中,把分析节点所发送的工作状态称作一次心跳,而分析节点是定时向管理节点发送工作状态的,因此,在本实施例中,可以通过心跳的间隔来判定该分析节点是否已经下线。在本实施例中,所述第一设定时间可以设置为若干个心跳周期。假设是3个心跳周期,那么意味着只要分析节点连续三次没有发送工作状态,管理节点就判定该分析节点下线。当然,如果分析节点主动发送下线信息,管理节点应该直接认为该分析节点下线。

作为优选的实施例,所述管理节点还用于:

在将分析节点标记为下线前,判断该分析节点是否还有未完成的子任务;若是,则删除该分析节点存储在分析结果索引文件和分析结果数据文件中与其未完成的子任务关联的数据,并将该分析节点未完成的子任务分配给其他分析节点,然后将该分析节点标记为下线;反之,则直接将该分析节点的状态标记为下线。

在本实施例中,分析节点有可能遭遇断网或者死机等突发情况,这时候如果该分析节点还有没有完成的子任务,那么管理节点需要将分析节点尚未完成的子任务重新分配,并且删除该分析节点已经存储在分析结果索引文件和分析结果数据文件中的部分分析结果。

本实施例能够避免因为部分分析节点突然下线而造成的视频摘要任务无法完成的情况,提升系统的可靠性。

作为优选的实施例,所述页面交互模块包括:

web前端操作模块,用于接收视频文件和发送视频摘要任务;

web后端处理模块,用于接收web前端操作模块的视频摘要任务,并将视频摘要任务发送至管理节点;

播放控件,用于播放视频摘要。

在本实施例中,web后端处理模块只有一个,web前端操作模块有多个,并且每个web前端操作模块对应的播放控件。

作为优选的实施例,所述管理节点还用于:

接收播放控件发送的工作状态以及下线信息;

在第二设定时间内没有接收到播放控件发送的工作状态,则将播放控件的状态标记为下线;

在接收到播放控件发送的下线信息后,将播放控件的状态标记为下线;

接收播放节点发送的工作状态以及下线信息;

在第三设定时间内没有接收到播放节点发送的工作状态,则将播放节点的状态标记为下线;

在接收到播放节点发送的下线信息后,将播放节点的状态标记为下线。

在本实施例中,对于播放控件和播放节点均采用下线标记的方式来记录各播放控件和播放节点的状态,便于在播放节点下线时及时为播放控件分配分配新的播放节点;以及停止对下线的播放控件的推送,以节省系统资源。

作为优选的实施例,所述视频摘要分析具体包括:

接收管理节点的子任务信息,所述子任务信息包括视频文件信息、分析的起止时间和分析的目标种类;

根据子任务信息进行视频摘要分析,提取视频中的目标数据和背景数据;

将所述目标数据和背景数据写入分析结果索引文件和分析结果数据文件中;

定时向管理节点发送工作状态。

在本实施例中分析结果索引文件用于索引分析结果数据文件中的数据。

作为优选的实施例,所述分析结果索引文件包括以下字段:

子任务的分析结果的总帧数、目标类型数量、每个类型对应的目标数量、每个目标出现的帧数、每个目标帧在结果文件中的位置、每个目标帧在结果文件中存储的长度和每个目标帧相对于背景图的坐标。

所述分析结果数据文件用于存储每个目标帧的二进制数据。

作为优选的实施例,所述向页面交互模块推送视频摘要,其具体包括:

接收管理节点发送的推送任务;

根据推送任务获取分析结果的总帧数和目标类型;

对分析结果的每一个目标帧进行以下处理:

将目标帧内所有属于所述目标类型的目标数据和背景数据合成为一张视频帧;

根据帧率确定所述视频帧的发送时间;

根据所述发送时间,将视频帧发送至播放控件。

在本实施例中,播放节点读取分析结果索引文件,根据当前要合成的视频帧编号,在索引文件中查找当前帧中含有的目标编号。在本实施例中会对找到的目标类型检查,只保留指定类型的目标。在索引文件中读取目标信息,包括目标出现的坐标,目标出现的时间,目标在结果文件中存储的起始位置,目标数据存储的长度等信息。然后根据起始位置和长度信息,在数据文件中读取目标数据。重复对每一个目标帧进行处理,直到所有目标信息均被提取,然后读取出背景图片信息。最后将目标数据和背景图片数据合成视频帧,合成的方式是根据各个目标的坐标位置,并且会标注把每个目标出现的时间信息。

本实施例可以针对不同的目标类型进行筛选,若用户只对车辆感兴趣,可以将目标类型设置为车辆,那么最终的视频摘要中,只会生成与车辆有关的信息。

同理,用户可以将目标类型设置为行人,那么最终的视频摘要中,只会生成与行人有关的信息。当然,目标类型不仅包括行人和车辆,也可以包括小动物或者一些会动的目标。

作为优选的实施例,所述播放控件在用户的操作下可以向管理节点发送停止播放的请求,管理节点会根据停止播放的请求向正在向该播放空间推送视频摘要的播放节点发送停止指令,并更新播放控件和播放节点的状态。

作为优选的实施例,所述管理节点在管理任务时,会定时遍历被分配子任务的分析节点的工作状态,以判断是否视频摘要任务下的所有子任务均被完成,若是,管理节点会更新视频摘要任务的状态,并且将负责各子任务的分析节点的分析结果进行合并,然后将合并后的分析结果存储在共享文件夹中,接着更新数据库中该视频摘要任务的状态信息和分析结果数据文件的信息,并通知页面交互模块已经完成任务。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

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