视频录像设备、离线视频分析方法、电子设备及存储介质与流程

文档序号:32484152发布日期:2022-12-10 00:23阅读:77来源:国知局
视频录像设备、离线视频分析方法、电子设备及存储介质与流程

1.本技术涉及视频分析技术领域,尤其涉及视频录像设备、离线视频分析方法、电子设备及存储介质。


背景技术:

2.在视频解析领域,通常可以对摄像头或抓拍机采集的实时视频流进行解析,例如,在一些特定行业的应用中,可以将一些视频源(如摄像头或抓拍机)接入视频解析系统,视频解析系统获取到来自视频源的实时视频流时,可以对实时视频流进行解析;然而,针对离线视频,无法获取实时视频流,只能采用人工方式查看离线视频,导致耗费大量的时间和人力资源。例如,一些离线视频在存储时没有经过智能分析,那么对该离线视频进行录像检索时,需要采用人工的方式一帧一帧的查看,效率较低;又例如,用户在上传一段视频录像后,想要提取录像中的目标信息,仅能采用人工的方式一帧一帧的查看,无法快速获取想要的信息。
3.相关技术中,可以将离线视频进行分段(例如分成4段20s的视频流),相邻两段视频之间有部分交叉,然后同时对多段视频进行分析,以提升分析速度。但是,相关技术存在的问题在于,在相邻两段视频之间的交叉部分时,会出现多次抓取同一个目标的情况,造成分析结果不准确。


技术实现要素:

4.本技术实施例提供视频录像设备、离线视频分析方法、电子设备及存储介质,用于提高离线视频分析的速率和准确率。
5.第一方面,本技术提供一种视频录像设备,包括:码流解析模块、解码模块和智能分析模块;码流解析模块,用于从存储空间中获取目标离线视频的封装包,并对目标离线视频的封装包进行码流解析,得到目标离线视频的多路码流;解码模块,用于采用多个解码器对目标离线视频的多路码流进行并行解码,得到目标离线视频的多个视频序列;其中,目标离线视频的一路码流由一个解码器进行解码;多个视频序列之间相互独立;智能分析模块,用于基于待分析任务,采用多个智能分析单元对目标离线视频的多个视频序列进行并行分析,得到多个视频序列中每个视频序列的分析结果;其中,目标离线视频的一个视频序列由一个智能分析单元进行分析;待分析任务为对目标离线视频中的目标对象进行分析的任务;其中,多个解码器的个数和多个智能分析单元的个数,与解码器的解码速度与智能分析单元的分析速度相关;智能分析模块,还用于根据每个视频序列的顺序标识,对每个视频序列的分析结果进行拼接,得到目标离线视频的分析结果;其中,每个视频序列的顺序标识包括:每个视频序列包括的各个视频帧的帧号;或者,每个视频序列被智能分析单元分析的时间。
6.可以理解的是,本技术提供的视频录像设备:采用多个解码器对目标离线视频的多路码流进行并行解码,得到多个视频序列;进而基于待分析任务,采用多个智能分析单元
对多个视频序列进行并行分析,得到多个视频序列的分析结果;最终根据多个视频序列中每个视频序列的分析结果,得到目标离线视频的分析结果。可以看出,相比于相关技术将离线视频进行分段,对多段视频进行解码分析的方法,本技术实施例以视频序列为最小单位,对一段视频的多个视频序列进行并行解码和并行分析,有效的解决了相关技术中同时分析多段视频造成的同一个目标多次抓取的现象,有效提高了视频分析的准确率。
7.此外,由于在整个视频分析的流程(即码流解析、解码、智能分析、结果整合)中,解码和智能分析的耗时最长,因此,本技术实施例采用多个解码器并行解码,以及多个智能分析单元并行分析,有效的调高了视频分析的速度。
8.在一种可能的实现方式中,智能分析单元,具体用于基于待分析任务,对目标视频序列的多个视频帧中的每一个视频帧进行独立分析,得到每一个视频帧的分析结果;根据每一个视频帧的顺序标识,对每一个视频帧的分析结果进行拼接,得到目标视频序列的分析结果;其中,目标视频序列为多个视频序列中的任意一个视频序列;每一个视频帧的顺序标识包括:每一个视频帧的帧号;或者,每一个视频帧被智能分析单元分析的时间。
9.另一种可能的实现方式中,待分析任务包括以下至少一项:目标检测任务、目标分类任务或目标属性识别任务;每个视频序列的分析结果包括以下至少一项:每个视频序列中的目标对象以及目标对象的位置信息、每个视频序列中的目标对象的类别或每个视频序列中的目标对象的属性。
10.另一种可能的实现方式中,在智能分析单元的分析速度大于解码器的解码速度的情况下,多个解码器的个数多于多个智能分析单元的个数;或者,
11.在智能分析单元的分析速度小于解码器的解码速度的情况下,多个解码器的个数少于多个智能分析单元的个数。
12.第二方面,本技术提供一种离线视频分析方法,应用于第一方面所提供的视频录像设备,该方法包括:对目标离线视频的封装包进行码流解析,得到目标离线视频的多路码流;采用多个解码器对目标离线视频的多路码流进行并行解码,得到目标离线视频的多个视频序列;其中,目标离线视频的一路码流由一个解码器进行解码;多个视频序列之间相互独立;基于待分析任务,采用多个智能分析单元对目标离线视频的多个视频序列进行并行分析,得到多个视频序列中每个视频序列的分析结果;其中,目标离线视频中的一个视频序列由一个智能分析单元进行分析;待分析任务为对目标离线视频中的目标对象进行分析的任务;其中,多个解码器的个数和多个智能分析单元的个数,与解码器的解码速度和智能分析单元的分析速度相关;根据每个视频序列的顺序标识,对每个视频序列的分析结果进行拼接,得到目标离线视频的分析结果;其中,每个视频序列的顺序标识包括:每个视频序列包括的各个视频帧的帧号;或者,每个视频序列被智能分析单元分析的时间。
13.在一种可能的实现方式中,上述基于待分析任务,采用多个智能分析单元对目标离线视频的多个视频序列进行并行分析,得到多个视频序列中每个视频序列的分析结果,包括:基于待分析任务,对目标视频序列的多个视频帧中的每一个视频帧进行独立分析,得到每一个视频帧的分析结果;根据每一个视频帧的顺序标识,对每一个视频帧的分析结果进行拼接,得到目标视频序列的分析结果;其中,目标视频序列为多个视频序列中的任意一个视频序列;每一个视频帧的顺序标识包括:每一个视频帧的帧号;或者,每一个视频帧被智能分析单元分析的时间。
14.另一种可能的实现方式中,待分析任务包括以下至少一项:目标检测任务、目标分类任务或目标属性识别任务;每个视频序列的分析结果包括以下至少一项:每个视频序列中的目标对象以及目标对象的位置信息、每个视频序列中的目标对象的类别或每个视频序列中的目标对象的属性。
15.另一种可能的实现方式中,在智能分析单元的分析速度大于解码器的解码速度的情况下,多个解码器的个数多于多个智能分析单元的个数;或者,在智能分析单元的分析速度小于解码器的解码速度的情况下,多个解码器的个数少于多个智能分析单元的个数。
16.第三方面,本技术提供一种电子设备,包括:一个或多个处理器;一个或多个存储器;其中,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,电子设备执行上述第二方面所提供的任一种离线视频分析方法。
17.第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第二方面所提供的任一种离线视频分析方法。
18.本技术中第二方面到第四方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述。第二方面到第四方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式的有益效果分析,此处不再赘述。
19.本技术的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
20.图1为本技术实施例提供的一种视频序列的示意图;
21.图2为本技术实施例提供的一种分段视频的示意图;
22.图3为本技术实施例提供的一种离线视频分析方法所涉及的实施环境示意图一;
23.图4为本技术实施例提供的一种离线视频分析方法所涉及的实施环境示意图二;
24.图5为本技术实施例提供的一种视频录像设备的结构示意图一;
25.图6为本技术实施例提供的一种视频录像设备的结构示意图二;
26.图7为本技术实施例提供的一种离线视频分析方法的流程图一;
27.图8为本技术实施例提供的一种解码器执行解码操作的示意图一;
28.图9为本技术实施例提供的一种解码器执行解码操作的示意图二;
29.图10为本技术实施例提供的一种智能分析单元执行分析操作的示意图一;
30.图11为本技术实施例提供的一种智能分析单元执行分析操作的示意图二;
31.图12为本技术实施例提供的一种离线视频分析方法的应用场景示意图;
32.图13为本技术实施例提供的一种离线视频分析方法的流程图二;
33.图14为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
34.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
35.本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或
者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
36.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
37.需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
38.在本技术的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
39.1、数字视频录像机(digital video recorder,dvr),dvr是一类视频录像设备,与模拟摄像机配套使用。dvr的主要工作模式是接入模拟视音频信号,通过硬盘进行视音频录像。dvr的核心在于硬盘录像,因此dvr也被称作硬盘录像机。
40.dvr可以整合摄像机、鼠标、遥控器、远程终端设备等组成一套完整的监控系统,实现对音视频信号数据进行长时间录像、远程监视、远程控制、回放、智能分析、备份的功能。
41.2、网络硬盘录像机(network video recorder,nvr),nvr是一类视频录像设备,与网络摄像机或视频编码器配套使用,实现对通过网络传送过来的数字视频的记录。
42.nvr最主要的功能是通过网络接收网络摄像机设备传输的数字视频码流,并进行存储、管理,从而实现网络化带来的分布式架构优势。通过nvr,可以同时观看、浏览、回放、管理、智能分析、存储多个网络摄像机设备传输的数字视频码流。
43.3、网络摄像机(ip camera,ipc),网络摄像机是一种结合传统摄像机与网络技术所产生的新一代摄像机,它可以将视频影像通过网络传至地球另一端,且远端的浏览者不需用任何专业软件,只要标准的网络浏览器(如microsoft ie或netscape)即可监视其视频影像。ipc一般由镜头、图像传感器、声音传感器、信号处理器、a/d转换器、编码芯片、主控芯片、网络及控制接口等部分组成。
44.4、程序流或节目流(program stream,ps)封装,mpeg2-ps是一种多路复用数字音频、视频等的封装容器。通过对编码器中输出的基本码流进行ps封装,得到ps流;其中,ps流由ps包组成。
45.5、图像组(group of picture,gop),也称为视频序列,如图1所示,gop是一组连续的画面,由一张i帧和数张p帧组成。
46.其中,i帧是内部编码帧(也称为关键帧),p帧是前向预测帧(前向参考帧)。简单地讲,i帧是一个完整的画面,而p帧记录的是相对于i帧的变化。如果没有i帧,p帧就无法解码。
47.在h.264压缩标准中i帧、p帧用于表示传输的视频画面。编码器将多张图像进行编码后生产成一段或多段的gop,解码器在播放时则是读取一段或多段的gop进行解码后读取画面再渲染显示。
48.6、视频帧,视频是由一幅一幅独立的画面组成的看似连线的图像,其中每一幅画面叫做一个视频帧。为了保证连续性和流畅性,视频每秒的帧数是固定的,称为帧率,例如:25帧/s、30帧/s、50帧/s等。
49.以上是本技术实施例中所涉及到的部分概念的介绍,以下不再赘述。
50.如背景技术所述,在视频解析领域,通常可以对摄像头或抓拍机采集实时视频流进行解析,例如,在一些特定行业的应用中,可以将一些视频源(如摄像头或抓拍机)接入视频解析系统,视频解析系统获取到来自视频源的实时视频流时,可以对实时视频流进行解析;然而,针对离线视频,无法获取实时视频流,只能采用人工方式查看离线视频,导致耗费大量的时间和人力资源。例如,一些离线视频在存储时没有经过智能分析,那么对该离线视频进行录像检索时,需要采用人工的方式一帧一帧的查看,效率较低;又例如,用户在上传一段视频录像后,想要提取录像中的目标信息,仅能采用人工的方式一帧一帧的查看,无法快速获取想要的信息。
51.相关技术中,可以将离线视频进行分段,相邻两段视频之间有部分重叠区域(若两端视频之间没有重叠区域,可能会出现漏掉目标的情况),然后同时对多段视频进行分析,以提升分析速度。示例性的,如图2所示,假设离线视频的时长为78s,可以将该离线视频分为4段时长为20s的视频,其中,相邻两段视频之间有部分重叠区域(如图2中的阴影部分所示),则在视频分析时,重叠部分被分析了两次(例如在分析第一段视频时,对18s至20s的重叠区域进行了分析;在分析第二段视频时,重复对18s至20s的重叠区域进行了分析),因此,会出现多次抓取同一个目标的情况,造成分析结果不准确。
52.针对上述技术问题,本技术实施例提供一种离线视频分析方法,其思路在于:采用多个解码器对目标离线视频的多路码流进行并行解码,得到多个视频序列;进而基于待分析任务,采用多个智能分析单元对多个视频序列进行并行分析,得到多个视频序列的分析结果;最终根据多个视频序列中每个视频序列的分析结果,得到目标离线视频的分析结果。可以看出,相比于相关技术将离线视频进行分段,对多段视频进行解码分析的方法,本技术实施例以视频序列为最小单位,对一段视频的多个视频序列进行并行解码和并行分析,有效的解决了相关技术中同时分析多段视频造成的同一个目标多次抓取的现象,有效提高了视频分析的准确率。
53.此外,由于在整个视频分析的流程(即码流解析、解码、智能分析、结果整合)中,解码和智能分析的耗时最长,因此,本技术实施例采用多个解码器并行解码,以及多个智能分析单元并行分析,有效的调高了视频分析的速度。
54.下面结合说明书附图,对本技术提供的实施例进行具体介绍。
55.请参考图3,其示出本技术实施例提供的一种离线视频分析方法所涉及的实施环境示意图。如图3所示,该实施环境可以包括:视频录像设备10和终端设备20。
56.视频录像设备10,用于进行视频存储、视频计算以及视频处理等。示例性的,视频录像设备10可以为数字视频录像机dvr设备,或者网络硬盘录像机nvr设备。
57.在一些实施例中,视频录像设备10可以接收来自摄像设备(例如模拟摄像机或ipc)、视频编码设备、或用户设备传输的视频码流,并进行存储。具体的,视频录像设备在接收到视频码流后,对视频码流进行封装(例如ps封装),得到该视频码流的封装包,并将封装包存储在存储空间(例如硬盘)中。
58.示例性的,视频录像设备10可以采用ps封装的格式对视频码流进行封装,在ps封装的过程中,视频录像设备10确定视频码流中每一个视频帧(包括i帧和p帧)对应的信息,并将每一个视频帧对应的信息封装在ps包中。示例性的,i帧对应的信息包括i帧的时间戳
和帧号;p帧对应的信息包括p帧的时间戳和帧号。
59.可以理解的是,若视频录像设备10接收到视频码流后,实时解码播放或实时解码分析,则该视频码流对应的视频为在线视频;若视频录像设备10接收到视频码流后,对该视频码流进行封装并存储,则该视频码流对应的视频为离线视频。本技术实施例提供的方法为针对离线视频的分析方法。
60.在一些实施例中,视频录像设备10,具体用于从存储空间中获取离线视频的封装包,对该离线视频的封装包进行码流解析,得到该离线视频对应的多路码流;进而对该离线视频对应的多路码流进行解码,得到该离线视频对应的多个视频序列(一个视频序列包括多个视频帧);最后,对该离线视频对应的多个视频序列进行视频分析,得到该离线视频的分析结果。
61.在一些实施例中,视频录像设备10,还用于接收离线视频分析指令;该离线视频分析指令包括:待分析的离线视频的标识和待分析任务。
62.如此,视频录像设备10可以根据离线视频分析指令,从存储空间中获取待分析的离线视频的封装包,然后执行码流解析、解码以及视频分析等操作。
63.可选的,上述离线视频分析指令可以由用户通过视频录像设备10的人机交互界面发出;或者,上述离线视频分析指令可以由终端设备20发出。
64.在一些实施例中,如图4所示,视频录像设备10包括码流解析模块11、解码模块12和智能分析模块13。
65.其中,码流解析模块11,用于从存储空间中获取目标离线视频的封装包,并对目标离线视频的封装包进行码流解析,得到目标离线视频的多路码流。
66.解码模块12,用于采用所述多个解码器对所述目标离线视频的多路码流进行并行解码,得到所述目标离线视频的多个视频序列。
67.其中,所述目标离线视频的一路码流由一个解码器进行解码;所述多个视频序列之间相互独立。
68.可选的,上述解码器可以为软件解码器或硬件解码器。其中,硬件解码器是由图形处理器(graphics processing unit,gpu)来进行解码;软件解码器是由中央处理器(central processing unit,cpu)来进行解码。
69.可选的,上述解码器可以为视频录像设备10自带的解码器;或者,上述解码器可以为与视频录像设备10相连的具有解码功能的设备。
70.可选的,如图5所示,上述解码模块12可以包括多个解码器;或者,如图6所示,上述解码模块12可以调用多个解码器。
71.智能分析模块13,用于基于待分析任务,采用多个智能分析单元对目标离线视频的多个视频序列进行并行分析,得到多个视频序列中每个视频序列的分析结果。
72.其中,目标离线视频的一个视频序列由一个智能分析单元进行分析。
73.在一些实施例中,待分析任务为对目标离线视频中的目标对象进行分析的任务。示例性的,待分析任务包括以下至少一项:目标检测任务、目标分类任务或目标属性识别任务。因此,每个视频序列的分析结果包括以下至少一项:每个视频序列中的目标对象以及目标对象的位置信息、每个视频序列中的目标对象的类别或每个视频序列中的目标对象的属性。
74.在一些实施例中,智能分析模块13,具体用于基于待分析任务,对目标视频序列的多个视频帧中的每一个视频帧进行独立分析,得到每一个视频帧的分析结果;根据每一个视频帧的顺序标识,对每一个视频帧的分析结果进行拼接,得到目标视频序列的分析结果。
75.其中,目标视频序列为多个视频序列中的任意一个视频序列;每一个视频帧的顺序标识包括:每一个视频帧的帧号;或者,每一个视频帧被智能分析单元分析的时间。
76.在一些实施例中,智能分析模块13,还用于根据每个视频序列的顺序标识,对每个视频序列的分析结果进行拼接,得到目标离线视频的分析结果。
77.其中,每个视频序列的顺序标识包括:每个视频序列包括的各个视频帧的帧号;或者,每个视频序列被智能分析单元分析的时间。
78.可选的,上述智能分析单元可以为视频录像设备10自带的智能分析资源;或者,上述智能分析单元可以为与视频录像设备10相连的具有智能分析功能的设备。
79.可选的,如图5所示,上述智能分析模块13可以包括多个智能分析单元;或者,如图6所示,上述智能分析模块13可以调用多个智能分析单元。
80.示例性的,智能分析单元包括但不限于显卡、图形处理器(graphics processing unit,gpu))、中央处理器(central processing unit,cpu)等分析资源。
81.在一些实施例中,多个解码器的个数和多个智能分析单元的个数,与解码器的解码速度与智能分析单元的分析速度相关。
82.示例性的,在智能分析单元的分析速度大于解码器的解码速度的情况下,多个解码器的个数多于多个智能分析单元的个数;或者,在智能分析单元的分析速度小于解码器的解码速度的情况下,多个解码器的个数少于多个智能分析单元的个数;或者,在智能分析单元的分析速度等于解码器的解码速度的情况下,多个解码器的个数等于多个智能分析单元的个数。
83.终端设备20,用于远程访问视频录像设备10。
84.在一些实施例中,终端设备20可以远程访问视频录像设备10,并从视频录像设备10上下载离线视频文件,进而对离线视频文件进行分析。
85.在一些实施例中,用户可以通过终端设备20向视频录像设备10发起离线视频分析指令,以使得视频录像设备10从存储空间中获取待分析的离线视频的封装包,然后执行码流解析、解码以及视频分析等操作。
86.在一些实施例中,用户可以通过终端设备20获取视频录像设备10分析离线视频的进程;进而终端设备20还可以控制视频录像设备10分析离线视频的进程。
87.示例性的,终端设备20可以为电子设备,例如可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备等。本公开对该终端设备20的具体形态不作特殊限制。
88.本技术提供的离线视频分析方法应用于对视频录像设备的存储空间中存储的离线视频,或者对用户上传的离线视频进行智能分析的场景中。可选的,本技术提供的离线视频分析方法也可以应用在其他对离线视频进行智能分析的场景中。在此就不再一一举例说明。
89.本技术提供的离线视频分析方法应用于智能分析不依赖其他视频帧的分析结果的场景中。即当前视频帧结果的得出,不依赖在前视频帧的分析结果。示例性的,本技术提供的离线视频分析方法应用于分析离线视频中是否出现目标对象,或者分析离线视频中的文字等。
90.需要说明的是,本技术提供的离线视频分析方法的执行主体并不限定,例如,该方法可以由视频录像设备本身执行,可以由终端设备执行,也可以由外接设备(例如,处理设备或分析服务器等)执行等。为了便于后续说明,下述实施例以该方法由视频录像设备执行为例进行说明。
91.下面对本技术实施例提供的一种离线视频分析方法进行具体介绍。
92.本技术实施例提供的离线视频分析方法可以由视频录像设备来执行。如图7所示,该方法包括以下步骤:
93.s101、对目标离线视频的封装包进行码流解析,得到目标离线视频的多路码流。
94.在一些实施例中,上述步骤s101可以实现为:响应于离线视频分析指令,从存储空间中获取目标离线视频的封装包,进而对目标离线视频的封装包进行码流解析,得到目标离线视频的多路码流。
95.上述目标离线视频为离线视频分析指令所指示的离线视频。示例性的,离线视频分析指令包括:待分析的目标离线视频的标识和待分析任务。可选的,离线视频可以是由用户上传至视频录像设备中的视频文件;或者,离线视频可以是视频录像设备的存储空间(例如硬盘)中存储的视频文件。
96.可选的,上述离线视频分析指令由用户通过视频录像设备的人机交互界面发起;或者,上述离线视频分析指令由用户通过终端设备远程向视频录像设备发起。
97.在一些实施例中,离线视频分析指令中的待分析任务为对目标离线视频中的目标对象进行分析的任务。示例性的,待分析任务包括但不限于:目标检测任务、目标分类任务或目标属性识别任务等。
98.其中,目标检测任务用于从目标离线视频的各个视频帧中检测出感兴趣的目标对象。例如目标检测任务可以包括:检测目标离线视频中的人脸、检测目标离线视频中的物品、检测目标离线视频中的文字等。
99.目标分类任务用于确定从目标离线视频的各个视频帧中识别出目标对象的类别。例如,将如目标对象为人,目标对象包括两个类别:工作人员和入侵者;则目标分类任务可以包括:确定从目标离线视频的各个视频帧中识别出的人属于工作人员还是入侵者。
100.目标属性识别任务用于确定目标离线视频的各个视频帧中的目标对象的属性。例如目标属性识别任务可以包括:目标高度检测、目标颜色检测、目标遮挡检测等。
101.可以理解的是,视频录像设备在接收到视频码流之后,需要按照一定的封装格式对视频码流进行封装,得到封装包,并将封装包存储在存储空间(例如硬盘)中。其中,视频封装指的是将已经编码压缩好的视频码流按照一定的格式放到一个文件中。视频封装格式有多种,例如:ps封装、闪光视频(flash video,flv)封装格式、多媒体(mkvtoolnix,mkv)封装格式、数字多媒体(mpeg-4part 14,mp4)封装格式等。
102.因此,视频录像设备在接收到离线视频分析指令后,需要从存储空间中获取目标离线视频的封装包,经过码流解析后,得到目标离线视频的多个码流。
103.s102、采用多个解码器对目标离线视频的多路码流进行并行解码,得到目标离线视频的多个视频序列。
104.其中,目标离线视频的一路码流由一个解码器进行解码。
105.上述多个视频序列之间相互独立,可以理解的是,一个视频序列由i帧和至少一个p帧组成,i帧是一个完整的画面,p帧用于记录相对于前一帧(可以为i帧或p帧)的变化。也就是说,一个视频序列包括一个完整的动作,因此,多个视频序列之间相互独立。
106.在一些实施例中,视频录像设备包括解码器资源池(解码器资源池中包括多个解码器),视频录像设备在解码时,可以从解码器资源池中获取一定数量的解码器,同时对多路码流进行解码。
107.在另一些实施例中,视频录像设备与具有解码功能的设备相连接,如此,视频录像设备在解码时,可以从调用一定数量的解码器,同时对多路码流进行解码。
108.作为一种可能的实现方式,解码器的个数可以与目标离线视频的多路码流的个数相同。示例性的,如图8所示,假设目标离线视频的多路码流的个数为n个(n为大于0的整数),则多个解码器的个数可以为n个。如此,可以实现多个解码器并行,同时对目标离线视频的多路码流进行解码,极大的提高了解码速率。
109.作为另一种可能的实现方式,在解码器的个数确定的情况下,每次解码时,码流的路数,与解码器的个数相同。示例性的,如图9所示,假设解码器的个数为3个,目标离线视频的码流为9路,则每次解码时,采用3个解码器并行,对3路码流进行解码,则完成目标离线视频的解码,需要解码三次。
110.作为另一种可能的实现方式,解码器的个数由解码器的解码速度确定。示例性的,若解码器的解码速度较快,则解码器的个数可以相应减少;若解码器的解码速度较慢,则解码器的个数可以相应增加。
111.可以理解的是,本技术实施例提供的解码器用于对目标离线视频的多路码流进行解码,得到目标离线视频的多个视频序列(其中,一路码流对应一个视频序列)。由于,视频序列要短于视频片段,因此,相比于相关技术中采用解码器对视频片段进行解码的技术,本技术实施例采用解码器对一个视频序列对应的码流进行解码,可以提高解码的速度。
112.s103、基于待分析任务,采用多个智能分析单元对目标离线视频的多个视频序列进行并行分析,得到多个视频序列中每个视频序列的分析结果。
113.其中,目标离线视频中的一个视频序列由一个智能分析单元进行分析。可以理解的是,由于每一个智能分析单元是独立的,因此各个视频序列的分析结果是相互独立的,不存在彼此依赖的关系,也即当前视频序列的分析结果的得出,不依赖于在前视频序列的分析结果。
114.在一些实施例中,待分析任务为对目标离线视频中的目标对象进行分析的任务。其中,上述待分析任务包括以下至少一项:目标检测任务、目标分类任务或目标属性识别任务;因此,每个视频序列的分析结果包括以下至少一项:每个视频序列中的目标对象以及目标对象的位置信息、每个视频序列中的目标对象的类别或每个视频序列中的目标对象的属性。例如,假设待分析任务为识别目标离线视频中的车辆,以及检测车辆的颜色信息;则每个视频序列的分析结果包括:每个视频序列的各个视频帧的车辆,以及车辆的颜色信息。
115.具体的,根据待分析任务,确定待分析任务对应的分析算法,进而多个智能分析单
元同时采用待分析任务对应的分析算法,对多个视频序列进行分析,得到多个视频序列中每个视频序列的分析结果。示例性的,若待分析任务为人脸识别任务,则待分析任务对应的分析算法为人脸识别算法,则多个智能分析单元同时采用人脸识别算法,对多个视频序列进行人脸识别,得到多个视频序列中每个视频序列的人脸识别结果。
116.可以理解的是,智能分析单元中配置有多种智能分析算法(例如,目标识别算法、目标检测算法等),在进行视频分析时,根据待分析任务选取对应的分析算法即可。
117.在一些实施例中,视频录像设备包括智能分析单元资源池(智能分析单元池中包括多个智能分析单元),视频录像设备在分析离线视频时,可以从智能分析单元资源池中获取一定数量的智能分析单元,同时对多个视频序列进行分析。
118.在另一些实施例中,视频录像设备与具有智能分析功能的设备相连接,如此,视频录像设备在进行智能分析时,可以从调用一定数量的智能分析单元,同时对多个视频序列进行分析。
119.作为一种可能的实现方式,智能分析单元的个数可以与目标离线视频的多个视频序列的个数相同。示例性的,如图10所示,假设目标离线视频的多个视频序列的个数为n个(n为大于0的整数),则多个智能分析单元的个数可以为n个。如此,可以实现多个智能分析单元并行,同时对目标离线视频的多个视频序列进行分析,极大的提高了视频分析速率。
120.作为另一种可能的实现方式,在智能分析单元的个数确定的情况下,每次分析时,多个视频序列的个数,与智能分析单元的个数相同。示例性的,如图11所示,假设智能分析单元的个数为3个,目标离线视频的视频序列的个数为9个,则每次分析时,采用3个智能分析单元并行,对3个视频序列进行分析,则完成目标离线视频的视频分析,需要分析三次。
121.作为另一种可能的实现方式,智能分析单元的个数由智能分析单元的分析速度确定。示例性的,若智能分析单元的分析速度较快,则智能分析单元的个数可以相应减少;若智能分析单元的分析速度较慢,则智能分析单元的个数可以相应增加。
122.可选的,上述智能分析单元可以为显卡、gpu、cpu等处理器。可以理解的是,不同类型的处理器的分析能力、分析速度等都不相同,因此,上述智能分析单元的分析速度可以由处理器的类型决定。
123.在一些实施例中,多个解码器的个数和多个智能分析单元的个数,与解码器的解码速度和智能分析单元的分析速度相关。
124.示例性的,在智能分析单元的分析速度等于解码器的解码速度的情况下,多个解码器的个数等于多个智能分析单元的个数。可以理解的是,如图12所示,在智能分析单元的分析速度与解码器的解码速度相同,且解码器的个数与智能分析单元的也个数相同的情况下,解码器对多路码流进行解码,得到多个视频序列后,该视频序列可以直接输入对应的智能分析单元中进行分析,不会出现排队等待解码或排队等待分析的情况,使得解码器和智能分析单元之间可以更好的配合。
125.又一示例性的,在智能分析单元的分析速度大于解码器的解码速度的情况下,多个解码器的个数多于多个智能分析单元的个数。
126.可以理解的是,若智能分析单元的分析速度较快,而解码器的解码速度较慢,则可能会出现解码和分析“供不应求”的情况(即智能分析单元空闲,等待解码器解码的情况)。因此,设置的智能分析单元的个数可以少于解码器的个数,使得解码器和智能分析单元之
间可以更好的配合。
127.又一示例性的,在智能分析单元的分析速度小于解码器的解码速度的情况下,多个解码器的个数少于多个智能分析单元的个数。
128.可以理解的是,若智能分析单元的分析速度较慢,而解码器的解码速度较快,则可能会出现大量视频序列排队等待智能分析单元分析的情况,因此,设置的解码器的个数可以少于智能分析单元的个数,使得解码器和智能分析单元之间可以更好的配合。
129.综上,本技术实施例根据解码器的解码速度以及智能分析单元的分析速度确定解码器的个数与智能分析单元的个数,能够保证解码器与智能分析单元之间能够有条不紊的配合,即解码器解码出的视频序列,可以直接进入对应智能分析单元中进行分析,不会出现排队等待解码或排队等待分析的情况,有效的提高了目标离线视频进行解码分析的速度。
130.在一些实施例中,如图13所示,上述步骤s103可以具体实现为:
131.s1031、基于待分析任务,对目标视频序列的多个视频帧中的每一个视频帧进行独立分析,得到每一个视频帧的分析结果。
132.其中,每一个视频帧的分析结果是独立的,各个视频帧的分析结果之间不存在彼此依赖的关系。也即当前视频帧的分析结果的得出,不依赖于在前视频帧的分析结果。
133.示例性的,若待分析任务为人脸识别任务,则智能分析单元采用人脸识别算法,对目标视频序列的多个视频帧分别进行人脸识别,得到多个视频帧中每一个视频帧的人脸识别结果。
134.又一示例性的,若待分析任务为车辆识别任务和车辆颜色检测任务,则智能分析单元采用车辆识别算法和车辆颜色检测算法,对目标视频序列的多个视频帧分别检测车辆识别和车辆颜色检测,得到多个视频帧中每一个视频帧中的车辆的位置信息以及车辆的颜色信息。
135.s1032、根据每一个视频帧的顺序标识,对每一个视频帧的分析结果进行拼接,得到目标视频序列的分析结果。
136.其中,目标视频序列为多个视频序列中的任意一个视频序列;每一个视频帧的顺序标识包括:每一个视频帧的帧号;或者,每一个视频帧被智能分析单元分析的时间。
137.可以理解的是,智能分析单元在分析视频帧时是逐个进行分析的,因此,目标视频序列的每一个视频帧被智能分析单元分析的时间均不相同,能够用于表示智能分析单元分析视频帧的顺序。因此,根据每一个视频帧被智能分析单元分析的时间,可以确定多个视频帧在目标视频序列中的位置,进而确定多个视频帧的分析结果的顺序,得到目标视频序列的分析结果。
138.示例性的,假设目标视频序列的多个视频帧包括:第一视频帧、第二视频帧、第三视频帧和第四视频帧,其中,第一视频帧被智能分析单元分析的时间为第20s,第二视频帧被智能分析单元分析的时间为第60s,第三视频帧被智能分析单元分析的时间为第40s,第四视频帧被智能分析单元分析的时间为第80s,则目标视频序列中各个视频帧的顺序应该为:第一视频帧、第三视频帧、第二视频帧和第四视频帧。因此,目标视频序列的多个视频帧的分析结果的顺序为:第一视频帧的分析结果、第三视频帧的分析结果、第二视频帧的分析结果和第四视频帧的分析结果。
139.上述视频帧的帧号能够表示该视频帧在视频序列中的位置,因此,根据多个视频
帧中每一个视频帧的帧号,可以确定多个视频帧在目标视频序列中的位置,进而确定多个视频帧的分析结果的顺序,得到目标视频序列的分析结果。
140.又一示例性的,假设目标视频序列的多个视频帧包括:第一视频帧、第二视频帧、第三视频帧和第四视频帧,其中,第一视频帧的帧号为1,第二视频帧的帧号为3,第三视频帧的帧号为2,第四视频帧的帧号为4,则目标视频序列中各个视频帧的顺序应该为:第一视频帧、第三视频帧、第二视频帧和第四视频帧。因此,目标视频序列的多个视频帧的分析结果的顺序为:第一视频帧的分析结果、第三视频帧的分析结果、第二视频帧的分析结果和第四视频帧的分析结果。
141.s104、根据每个视频序列的顺序标识,对每个视频序列的分析结果进行拼接,得到目标离线视频的分析结果。
142.其中,每个视频序列的顺序标识包括:每个视频序列包括的各个视频帧的帧号;或者,每个视频序列被智能分析单元分析的时间。
143.在一些实施例中,根据每个视频序列中的一个或多个视频帧被智能分析单元分析的时间,对多个视频序列的分析结果进行拼接,得到目标离线视频的分析结果。示例性的,根据每个视频序列的i帧被智能分析单元分析的时间,对多个视频序列的分析结果进行拼接,得到目标离线视频的分析结果。
144.在一些实施例中,根据每个视频序列中的一个或多个视频帧的帧号,对多个视频序列的分析结果进行拼接,得到目标离线视频的分析结果。示例性的,根据每个视频序列的i帧的帧号,对多个视频序列的分析结果进行拼接,得到目标离线视频的分析结果。
145.基于本技术实施例提供的技术方案,至少可以产生以下有益效果:采用多个解码器对目标离线视频的多路码流进行并行解码,得到多个视频序列;进而基于待分析任务,采用多个智能分析单元对多个视频序列进行并行分析,得到多个视频序列的分析结果;最终根据多个视频序列中每个视频序列的分析结果,得到目标离线视频的分析结果。可以看出,相比于相关技术将离线视频进行分段,对多段视频进行解码分析的方法,本技术实施例以视频序列为最小单位,对一段视频的多个视频序列进行并行解码和并行分析,有效的解决了相关技术中同时分析多段视频造成的同一个目标多次抓取的现象,有效提高了视频分析的准确率。
146.此外,由于在整个视频分析的流程(即码流解析、解码、智能分析、结果整合)中,解码和智能分析的耗时最长,因此,本技术实施例采用多个解码器并行解码,以及多个智能分析单元并行分析,有效的调高了视频分析的速度。
147.本技术实施例提供了一种电子设备的结构示意图,该电子设备用于执行上述实施例中所提供的离线视频分析方法。如图14所示,该电子设备400包括:处理器402,通信接口403,总线404。可选的,该电子设备400还可以包括存储器401。
148.处理器402,可以是实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器402可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器402也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
149.通信接口403,用于与其他设备通过通信网络连接。该通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,wlan)等。
150.存储器401,可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
151.作为一种可能的实现方式,存储器401可以独立于处理器402存在,存储器401可以通过总线404与处理器402相连接,用于存储指令或者程序代码。处理器402调用并执行存储器401中存储的指令或程序代码时,能够实现本技术实施例提供的离线视频分析方法。
152.另一种可能的实现方式中,存储器401也可以和处理器402集成在一起。
153.总线404,可以是扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
154.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
155.本技术实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机指令来指示相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的或内存。上述计算机可读存储介质也可以是上述电子设备的外部存储设备,例如上述电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述电子设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述电子设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
156.本技术实施例还提供一种计算机程序产品,该计算机产品包含计算机程序,当该计算机程序产品在计算机上运行时,使得该计算机执行上述实施例中所提供的任一项离线视频分析方法。
157.尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
158.尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所
附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
159.以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1