首页 / 专利库 / 多媒体工具与应用 / 媒体流 / 视频流 / 视频处理方法、装置、设备和存储介质

视频处理方法、装置、设备和存储介质

阅读:667发布:2020-05-08

专利汇可以提供视频处理方法、装置、设备和存储介质专利检索,专利查询,专利分析的服务。并且本公开涉及一种视频处理方法、装置、设备和存储介质。所述方法包括:获取至少一个待处理视频集;根据所述待处理视频集的数量,建立至少一个与所述待处理视频集对应的处理线程;通过每个所述处理线程,对每个所述待处理视频集进行第一并行处理,分别得到每个所述待处理视频集的处理结果。通过上述过程,可以通过多个处理线程,对多个待处理视频集进行并行处理,从而实现视频的分布式批量处理,从而有效提升视频处理的速度和效率,同时,由于多个处理线程之间相互独立,因此在提升视频处理效率的同时,也可以保障视频处理的 稳定性 。,下面是视频处理方法、装置、设备和存储介质专利的具体信息内容。

1.一种视频处理方法,其特征在于,包括:
获取至少一个待处理视频集;
根据所述待处理视频集的数量,建立至少一个与所述待处理视频集对应的处理线程;
通过每个所述处理线程,对每个所述待处理视频集进行第一并行处理,分别得到每个所述待处理视频集的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述获取至少一个待处理视频集,包括:
通过预设接口,获取至少一个待处理视频集;其中,
每个所述待处理视频集包括:待处理视频数量、待处理视频地址以及处理类型中的一个或多个。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述待处理视频集的数量,建立至少一个与所述待处理视频集对应的处理线程,包括:
根据所述待处理视频集的数量,通过分布式框架建立至少一个与所述待处理视频集对应的处理线程,每个所述处理线程包括的处理资源,不大于当前视频处理资源;其中每个所述处理线程包括批量视频管理子线程和至少一个单视频处理子线程。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,通过所述处理线程,对所述待处理视频集进行处理,包括:
根据所述待处理视频集,通过批量视频管理子线程,获取所述处理线程的处理资源;
通过批量视频管理子线程,将所述处理资源分配于至少一个单视频处理子线程;
通过批量视频管理子线程,将所述待处理视频集分配至每个所述单视频处理子线程中,得到每个所述单视频处理子线程对应的待处理视频子集;
通过每个所述单视频处理子线程,对所述待处理视频子集进行第二并行处理,得到每个所述待处理视频子集的处理结果,作为所述待处理视频集的处理结果。
5.根据权利要求4所述的方法,其特征在于,通过所述单视频处理子线程,对所述待处理视频子集进行处理,包括:
根据所述待处理视频子集包括的待处理视频地址,获取待处理视频;
将所述待处理视频根据时间进行划分,得到至少一个待处理序列;
对每个所述待处理帧序列进行第三并行处理,得到每个所述待处理帧序列的处理结果,作为所述待处理视频子集的处理结果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述待处理视频子集包括的待处理视频地址,获取待处理视频,包括:
在所述待处理视频为超文本传输协议HTTP类型视频的情况下,根据所述待处理视频子集包括的HTTP文件链接地址,下载所述待处理视频;和/或,
在所述待处理视频为实时流传输协议RTSP类型视频的情况下,根据所述待处理视频子集包括的RTSP视频源地址,下载所述待处理视频;和/或,
在所述待处理视频为录像视频流类型的情况下,根据所述待处理视频子集包括的待处理视频地址,将所述待处理视频转换为RTSP类型视频,下载所述RTSP类型视频。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述方法还包括:
将每个所述待处理视频集的处理结果存储于存储设备中,其中,所述存储设备包括分布式文件存储系统。
8.根据权利要求1至7中任意一项所述的方法,其特征在于,所述处理结果包括:
目标识别结果、与所述目标识别结果对应的视频帧图像、目标特征值、目标属性以及与所述目标识别结果对应的视频帧图像的拍摄时间中的一个或多个;其中,所述目标识别结果包括人脸识别结果、行人识别结果以及车辆识别结果中的一个或多个。
9.一种视频处理装置,其特征在于,包括:
获取模,用于获取至少一个待处理视频集;
处理线程建立模块,用于根据所述待处理视频集的数量,建立至少一个与所述待处理视频集对应的处理线程;
并行处理模块,用于通过每个所述处理线程,对每个所述待处理视频集进行第一并行处理,分别得到每个所述待处理视频集的处理结果。
10.根据权利要求9所述的装置,其特征在于,所述获取模块用于:
通过预设接口,获取至少一个待处理视频集;其中,
每个所述待处理视频集包括:待处理视频数量、待处理视频地址以及处理类型中的一个或多个。
11.根据权利要求9或10所述的装置,其特征在于,所述处理线程建立模块用于:
根据所述待处理视频集的数量,通过分布式框架建立至少一个与所述待处理视频集对应的处理线程,每个所述处理线程包括的处理资源,不大于当前视频处理资源;其中每个所述处理线程包括批量视频管理子线程和至少一个单视频处理子线程。
12.根据权利要求9至11中任意一项所述的装置,其特征在于,所述并行处理模块用于:
根据所述待处理视频集,通过批量视频管理子线程,获取所述处理线程的处理资源;
通过批量视频管理子线程,将所述处理资源分配于至少一个单视频处理子线程;
通过批量视频管理子线程,将所述待处理视频集分配至每个所述单视频处理子线程中,得到每个所述单视频处理子线程对应的待处理视频子集;
通过每个所述单视频处理子线程,对所述待处理视频子集进行第二并行处理,得到每个所述待处理视频子集的处理结果,作为所述待处理视频集的处理结果。
13.根据权利要求12所述的装置,其特征在于,所述并行处理模块进一步用于:
根据所述待处理视频子集包括的待处理视频地址,获取待处理视频;
将所述待处理视频根据时间进行划分,得到至少一个待处理帧序列;
对每个所述待处理帧序列进行第三并行处理,得到每个所述待处理帧序列的处理结果,作为所述待处理视频子集的处理结果。
14.根据权利要求13所述的装置,其特征在于,所述并行处理模块进一步用于:
在所述待处理视频为超文本传输协议HTTP类型视频的情况下,根据所述待处理视频子集包括的HTTP文件链接地址,下载所述待处理视频;和/或,
在所述待处理视频为实时流传输协议RTSP类型视频的情况下,根据所述待处理视频子集包括的RTSP视频源地址,下载所述待处理视频;和/或,
在所述待处理视频为录像视频流类型的情况下,根据所述待处理视频子集包括的待处理视频地址,将所述待处理视频转换为RTSP类型视频,下载所述RTSP类型视频。
15.根据权利要求9至14中任意一项所述的装置,其特征在于,所述装置还包括存储模块,所述存储模块用于:
将每个所述待处理视频集的处理结果存储于存储设备中,其中,所述存储设备包括分布式文件存储系统。
16.根据权利要求9至15中任意一项所述的装置,其特征在于,所述处理结果包括:
目标识别结果、与所述目标识别结果对应的视频帧图像、目标特征值、目标属性以及与所述目标识别结果对应的视频帧图像的拍摄时间中的一个或多个;其中,所述目标识别结果包括人脸识别结果、行人识别结果以及车辆识别结果中的一个或多个。
17.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至8中任意一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。

说明书全文

视频处理方法、装置、设备和存储介质

技术领域

[0001] 本公开涉及计算机视觉技术领域,尤其涉及一种视频处理方法、装置、设备和存储介质。

背景技术

[0002] 随着智能安防行业的快速发展,公安刑侦等部为了查询线索、快速侦破案件,除了对现有的公安联网视频进行实时分析外,还需要对公安系统中的历史案件存量视频以及社会上非联网等监控设备录制的视频进行分析。另外,随着场景多样化需求,智能视频分析技术需要分析检索的对象种类也愈加广泛和多样化。
[0003] 如何面对以上海量的历史视频数据进行高效、稳定的分析以及快速的检索,成为目前亟待解决的问题。发明内容
[0004] 本公开提出了一种视频处理方案。
[0005] 根据本公开的一方面,提供了一种视频处理方法,包括:
[0006] 获取至少一个待处理视频集;根据所述待处理视频集的数量,建立至少一个与所述待处理视频集对应的处理线程;通过每个所述处理线程,对每个所述待处理视频集进行第一并行处理,分别得到每个所述待处理视频集的处理结果。
[0007] 在一种可能的实现方式中,所述获取至少一个待处理视频集,包括:通过预设接口,获取至少一个待处理视频集;其中,每个所述待处理视频集包括:待处理视频数量、待处理视频地址以及处理类型中的一个或多个。
[0008] 在一种可能的实现方式中,所述根据所述待处理视频集的数量,建立至少一个与所述待处理视频集对应的处理线程,包括:根据所述待处理视频集的数量,通过分布式框架建立至少一个与所述待处理视频集对应的处理线程,每个所述处理线程包括的处理资源,不大于当前视频处理资源;其中每个所述处理线程包括批量视频管理子线程和至少一个单视频处理子线程。
[0009] 在一种可能的实现方式中,通过所述处理线程,对所述待处理视频集进行处理,包括:根据所述待处理视频集,通过批量视频管理子线程,获取所述处理线程的处理资源;通过批量视频管理子线程,将所述处理资源分配于至少一个单视频处理子线程;通过批量视频管理子线程,将所述待处理视频集分配至每个所述单视频处理子线程中,得到每个所述单视频处理子线程对应的待处理视频子集;通过每个所述单视频处理子线程,对所述待处理视频子集进行第二并行处理,得到每个所述待处理视频子集的处理结果,作为所述待处理视频集的处理结果。
[0010] 在一种可能的实现方式中,通过所述单视频处理子线程,对所述待处理视频子集进行处理,包括:根据所述待处理视频子集包括的待处理视频地址,获取待处理视频;将所述待处理视频根据时间进行划分,得到至少一个待处理序列;对每个所述待处理帧序列进行第三并行处理,得到每个所述待处理帧序列的处理结果,作为所述待处理视频子集的处理结果。
[0011] 在一种可能的实现方式中,所述根据所述待处理视频子集包括的待处理视频地址,获取待处理视频,包括:在所述待处理视频为超文本传输协议HTTP类型视频的情况下,根据所述待处理视频子集包括的HTTP文件链接地址,下载所述待处理视频;和/或,在所述待处理视频为实时流传输协议RTSP类型视频的情况下,根据所述待处理视频子集包括的RTSP视频源地址,下载所述待处理视频;和/或,在所述待处理视频为录像视频流类型的情况下,根据所述待处理视频子集包括的待处理视频地址,将所述待处理视频转换为RTSP类型视频,下载所述RTSP类型视频。
[0012] 在一种可能的实现方式中,所述方法还包括:将每个所述待处理视频集的处理结果存储于存储设备中,其中,所述存储设备包括分布式文件存储系统。
[0013] 在一种可能的实现方式中,所述处理结果包括:目标识别结果、与所述目标识别结果对应的视频帧图像、目标特征值、目标属性以及与所述目标识别结果对应的视频帧图像的拍摄时间中的一个或多个;其中,所述目标识别结果包括人脸识别结果、行人识别结果以及车辆识别结果中的一个或多个。
[0014] 根据本公开的一方面,提供了一种视频处理装置,包括:
[0015] 获取模,用于获取至少一个待处理视频集;处理线程建立模块,用于根据所述待处理视频集的数量,建立至少一个与所述待处理视频集对应的处理线程;并行处理模块,用于通过每个所述处理线程,对每个所述待处理视频集进行第一并行处理,分别得到每个所述待处理视频集的处理结果。
[0016] 在一种可能的实现方式中,所述获取模块用于:通过预设接口,获取至少一个待处理视频集;其中,每个所述待处理视频集包括:待处理视频数量、待处理视频地址以及处理类型中的一个或多个。
[0017] 在一种可能的实现方式中,所述处理线程建立模块用于:根据所述待处理视频集的数量,通过分布式框架建立至少一个与所述待处理视频集对应的处理线程,每个所述处理线程包括的处理资源,不大于当前视频处理资源;其中每个所述处理线程包括批量视频管理子线程和至少一个单视频处理子线程。
[0018] 在一种可能的实现方式中,所述并行处理模块用于:根据所述待处理视频集,通过批量视频管理子线程,获取所述处理线程的处理资源;通过批量视频管理子线程,将所述处理资源分配于至少一个单视频处理子线程;通过批量视频管理子线程,将所述待处理视频集分配至每个所述单视频处理子线程中,得到每个所述单视频处理子线程对应的待处理视频子集;通过每个所述单视频处理子线程,对所述待处理视频子集进行第二并行处理,得到每个所述待处理视频子集的处理结果,作为所述待处理视频集的处理结果。
[0019] 在一种可能的实现方式中,所述并行处理模块进一步用于:根据所述待处理视频子集包括的待处理视频地址,获取待处理视频;将所述待处理视频根据时间进行划分,得到至少一个待处理帧序列;对每个所述待处理帧序列进行第三并行处理,得到每个所述待处理帧序列的处理结果,作为所述待处理视频子集的处理结果。
[0020] 在一种可能的实现方式中,所述并行处理模块进一步用于:在所述待处理视频为超文本传输协议HTTP类型视频的情况下,根据所述待处理视频子集包括的HTTP文件链接地址,下载所述待处理视频;和/或,在所述待处理视频为实时流传输协议RTSP类型视频的情况下,根据所述待处理视频子集包括的RTSP视频源地址,下载所述待处理视频;和/或,在所述待处理视频为录像视频流类型的情况下,根据所述待处理视频子集包括的待处理视频地址,将所述待处理视频转换为RTSP类型视频,下载所述RTSP类型视频。
[0021] 在一种可能的实现方式中,所述装置还包括存储模块,所述存储模块用于:将每个所述待处理视频集的处理结果存储于存储设备中,其中,所述存储设备包括分布式文件存储系统。
[0022] 在一种可能的实现方式中,所述处理结果包括:目标识别结果、与所述目标识别结果对应的视频帧图像、目标特征值、目标属性以及与所述目标识别结果对应的视频帧图像的拍摄时间中的一个或多个;其中,所述目标识别结果包括人脸识别结果、行人识别结果以及车辆识别结果中的一个或多个。
[0023] 根据本公开的一方面,提供了一种电子设备,包括:
[0024] 处理器;
[0025] 用于存储处理器可执行指令的存储器
[0026] 其中,所述处理器被配置为:执行上述视频处理方法。
[0027] 根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述视频处理方法。
[0028] 在本公开实施例中,通过获取至少一个待处理视频集,从而根据待处理视频集的数量来建立至少一个与待处理视频集对应的处理线程,从而通过每个处理线程对每个待处理视频集进行并行处理,得到每个待处理视频集的处理结果。通过上述过程,可以通过多个处理线程,对多个待处理视频集进行并行处理,从而实现视频的分布式批量处理,从而有效提升视频处理的速度和效率,同时,由于多个处理线程之间相互独立,因此在提升视频处理效率的同时,也可以保障视频处理的稳定性
[0029] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

[0030] 此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
[0031] 图1示出根据本公开一实施例的视频处理方法的流程图
[0032] 图2示出根据本公开一实施例的视频处理装置的框图
[0033] 图3示出根据本公开一应用示例的示意图。
[0034] 图4示出根据本公开实施例的一种电子设备的框图。
[0035] 图5示出根据本公开实施例的一种电子设备的框图。

具体实施方式

[0036] 以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0037] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0038] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0039] 另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
[0040] 图1示出根据本公开一实施例的视频处理方法的流程图,该方法可以应用于终端设备、服务器或者其他处理设备等。其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一个示例中,该视频处理方法可以应用于包含有多个图形处理器(GPU,Graphics Processing Unit)的图像处理设备或是服务器中,在一个示例中,该视频处理方法也可以应用于由多个图像处理器或是服务器构成的图像处理系统中。
[0041] 在一些可能的实现方式中,该视频处理方法也可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
[0042] 如图1所示,所述视频处理方法可以包括:
[0043] 步骤S11,获取至少一个待处理视频集。
[0044] 步骤S12,根据待处理视频集的数量,建立至少一个与待处理视频集对应的处理线程。
[0045] 步骤S13,通过每个处理线程,对每个待处理视频集进行第一并行处理,分别得到每个待处理视频集的处理结果。
[0046] 上述公开实施例中,待处理视频集可以是需要进行处理的视频集,比如说对视频进行目标识别,对视频中包含的目标对象进行数量检索、对视频中包含的目标对象进行分析等等,任何与视频处理相关的集合,均可以作为待处理视频集的实现形式。
[0047] 由于待处理视频集的实现形式不受限定,因此,每个待处理视频集中,具体被处理的视频的数量和种类等,均可以根据实际情况灵活决定,在本公开实施例中不做限制,在一种可能的实现方式中,一个待处理视频集中可以包含有同一数据源中的相关视频,比如某个待处理视频集中包含的是公安系统中历史案件的多个存量视频,而另一个待处理视频集中包含的是监控设备中录制的多个实时视频等。
[0048] 进一步地,待处理视频集的数量在本公开实施例中也不做限制,可以是一个,也可以是多个,如上述内容提到的,待处理视频集可以是对视频进行目标识别,在一种可能的实现方式中,可以获取多个待处理视频集,每个待处理视频集分别用于对某一类目标进行识别,在一种可能的实现方式中,也可以根据上述公开实施例提到的数据源来划分出多个待处理视频集,在一种可能的实现方式中,还可以综合目标识别类别以及数据源等因素共同划分待处理视频集。
[0049] 在获取了至少一个待处理视频集后,可以通过步骤S12,来分别为每个待处理视频集建立一个处理线程,上述公开实施例中,处理线程是用来对待处理视频集进行相应处理的线程,不同的处理线程之间相互独立,可以同时执行,具体的每个处理线程如何实现,可以详见后续各公开实施例,在此先不做展开。
[0050] 在建立了至少一个处理线程后,可以通过步骤S13,在每个处理线程中分别处理对应的待处理视频集,从而实现对每个待处理视频集的并行处理,来得到每个待处理视频集的处理结果。
[0051] 通过上述公开实施例,可以通过多个处理线程,对多个待处理视频集进行并行处理,从而实现视频的分布式批量处理,从而有效提升视频处理的速度和效率,同时,由于多个处理线程之间相互独立,因此在提升视频处理效率的同时,也可以保障视频处理的稳定性。
[0052] 上述公开实施例中已经提出,待处理视频集的实现形式不受限定,因此,如何获取待处理视频集,其实现方式也可以根据待处理视频集的实际情况灵活决定。
[0053] 在一种可能的实现方式中,步骤S11可以包括:
[0054] 通过预设接口,获取至少一个待处理视频集;其中,每个待处理视频集包括:待处理视频数量、待处理视频地址以及处理类型中的一个或多个。
[0055] 上述公开实施例中,预设接口可以是用于向进行视频处理的装置或系统传递待处理视频集的接口,其实现形式可以灵活决定,比如可以为HTTP接口或是HTTPS接口等。通过该预设接口,进行视频处理的装置或系统可以确定获取一个或多个待处理视频集,从而便于后续根据获取的待处理视频集来执行相关的视频处理操作等。
[0056] 由于待处理视频集的实现形式不受限定,因此,相应地,待处理视频集所包含的内容,也可以根据实际情况灵活决定,如上述公开实施例中提到的,每个待处理视频集可以包括待处理视频数量、待处理视频地址以及处理类型中的一个或多个等。
[0057] 其中,待处理视频数量为一个待处理视频集中,需要被处理的视频的数量,具体数值根据实际情况确定即可。
[0058] 待处理视频地址,则为一个待处理视频集中,每个需要被处理的视频的相应地址,当一个待处理视频集中存在多个待处理视频时,这些待处理视频可能为不同类型的视频,比如可能有基于超文本传输协议(HTTP协议),通过常用编码格式(包括并不局限于H264、H265、MJPEG、MPEG1、MPEG2、MPEG4等)进行编码的视频、或是基于实时流传输协议(RTSP协议,Real Time Streaming Protocol)通过常用编码格式进行编码的视频以及通过H264、H265编码的如GB28181此类平台的录像流视频等等,因此,随着待处理视频类型的不同,其地址的形式也自然的发生变化,比如基于HTTP协议的视频地址形式可以为文件链接地址,基于RTSP协议的视频地址形式可以为视频源地址等等。
[0059] 处理类型,则为待处理视频集中,每个待处理视频具体要执行的操作,如上述公开实施例中提到的,对视频进行目标识别或是目标分析检索等。除此之外,为了进一步扩大本公开实施例的应用灵活性,还可以将处理类型设置为一些功能性类型,比如新建待处理视频集、待处理视频集列表查询、单个待处理视频集信息查询、待处理视频集取消或是待处理视频集删除等。
[0060] 对于每个待处理视频集来说,除了包含有上述提到的如待处理视频数量、待处理视频地址以及处理类型等内容以外,还可以包含有其他的内容或参数,比如,在一种可能的实现方式中,还可以包含有待处理视频的处理优先级,由于一个待处理视频集中可以包含有多个需要被处理的视频,当资源有限时,这些视频可能无法同时被处理,而可能需要进入排队序列,因此,通过待处理视频的处理优先级,可以确定这些待处理视频在进入排队序列后等待被处理的情况下处理的优先程度,在一个示例中,优先级可以分为高、中以及低三种情况,具体按照优先级进行顺序处理过程可以详见后续公开实施例,在此先不做展开。通过预设接口,来获取至少一个待处理视频集,可以将需要对视频执行的批量操作封装于待处理视频集内,通过接口进行传递,提升了视频处理过程中数据传递与待处理视频集下达的方便程度,进一步提升视频处理的效率,同时,也便于通过更改预设接口的设置,来增加视频处理的种类和类型,从而扩大视频处理过程的适用范围。
[0061] 在获取了至少一个待处理视频集后,可以通过步骤S12,来建立至少一个处理线程。在一种可能的实现方式中,步骤S12可以包括:
[0062] 建立N个处理线程,每个处理线程包括的处理资源,不大于当前视频处理资源;其中,N与待处理视频集的数量相对应。
[0063] 通过上述公开实施例可以看出,在建立处理线程时,建立的处理线程的数量,与待处理视频集的数量是相对应的。一般来说,处理线程的数量可以与待处理视频集的数量相同,即获取了N个待处理视频集,则建立N个处理线程。在一种可能的实现方式中,处理线程的数量也可以与待处理视频集的数量不同,举例来说,在一个示例中,可能获取了M个待处理视频集,但是当前可以用于进行视频处理的资源(简称为当前视频处理资源)较小,难以支持M个处理线程同时处理待处理视频集,此时,则可以根据当前视频处理资源的实际情况,来建立N个(N
[0064] 需要注意的是,为了确保每个处理线程可以稳定地对待处理视频集进行处理,因此,无论N与待处理视频集的数量相同还是不同,每个处理线程所包括的处理资源,均不大于当前视频处理资源。
[0065] 通过上述公开实施例可以看出,在建立处理线程时,除了考虑待处理视频集的数量以外,还可以考虑当前视频处理资源,通过上述过程,既可以实现多个处理线程对多个待处理视频集的并行处理,提升视频处理效率,又可以减小视频处理资源不足情况的发生,提升视频处理的稳定性。
[0066] 在一种可能的实现方式中,建立N个处理线程的方式可以为:通过分布式框架,建立N个处理线程,其中,每个处理线程包括批量视频管理子线程和至少一个单视频处理子线程。
[0067] 通过上述公开实施例可以看出,在一种可能的实现方式中,可以通过分布式框架来建立N个处理线程,具体采用何种分布式框架,可以根据实际情况灵活决定。在一种可能的实现方式中,可以通过Kubernetes分布式框架来建立处理线程,Kubernetes是一个分布式系统支撑平台,可以实现资源管理的自动化,以及跨多个数据中心的资源利用。
[0068] 在一个示例中,通过Kubernetes分布式框架来建立N个处理线程时,可以自动根据当前视频处理资源的剩余情况,在每一个处理线程中,分别创建并启动一个批量视频管理子线程(Master)以及至少一个单视频处理子线程(Worker),其中,Worker的数量可以根据实际情况灵活决定,Master可以对每个Worker进行统筹管理和控制。在一个示例中,Worker可以是服务器中的显卡或GPU,在这种情况下,Worker的数量可以根据服务器中显卡或GPU的实际数量来决定。上述公开实施例中已经提出,当前视频处理资源较小时,处理线程的数量N可以小于待处理视频集的数量M,此时,Kubernetes可以进入排队状态,排队状态中待处理视频集可以根据预先设置的优先级顺序自动按序等待,当某一处理线程完成处理后,可以关闭该线程的Master和Worker,并释放其资源,然后Kubernetes控制自动开启下一个待处理视频集,建立与该待处理视频集对应的处理线程所包括的Master和Worker,从而实现对该待处理视频集的处理。
[0069] 通过分布式框架(如Kubernetes)来建立N个处理线程,可以实现视频处理的高并发、高扩展和负载均衡的需求;同时,由于每个处理线程包括批量视频管理子线程和至少一个单视频处理子线程,可以进一步在每个处理线程中,通过两类子线程的配合,对待处理视频集实现进一步的并行处理,从而更加提升视频处理的效率和稳定性。
[0070] 具体地,当N个处理线程并行工作的情况下,每个处理线程具体的工作方式可以根据实际情况灵活决定。在一种可能的实现方式中,通过处理线程,对待处理视频集进行处理,可以包括:
[0071] 步骤S131,根据待处理视频集,通过批量视频管理子线程,获取处理线程的处理资源。
[0072] 步骤S132,通过批量视频管理子线程,将处理资源分配于至少一个单视频处理子线程。
[0073] 步骤S133,通过批量视频管理子线程,将待处理视频集分配至每个单视频处理子线程中,得到每个单视频处理子线程对应的待处理视频子集。
[0074] 步骤S134,通过每个单视频处理子线程,对待处理视频子集进行第二并行处理,得到每个待处理视频子集的处理结果,作为待处理视频集的处理结果。
[0075] 上述公开实施例已经提出,在一种可能的实现方式中,批量视频管理子线程Master可以对相应的多个单视频处理子线程Worker进行批量的管理和控制,因此,在通过处理线程对待处理视频集进行处理的情况下,可以通过Master控制Worker来执行相应的处理操作。
[0076] 具体地,Master可以用来将待处理视频集的分配和资源分配至每个Worker,从而让每个Worker来处理相应的视频。在一个示例中,Master可以通过步骤S131,来根据待处理视频集所需的处理资源,来向分布式框架如Kubernetes来请求相应的处理资源,并通过步骤S132,将通过请求获取的处理资源,分配到每个Worker中。每个Worker分配到的资源可以相同,也可以不同,根据实际情况灵活决定即可。
[0077] 另外,上述公开实施例中还提到,待处理视频集中可以包含有对多个视频的处理需求,而Worker的数量也可以为多个,因此,在一个示例中,Master还可以通过步骤S133,来将待处理视频集划分到每个Worker中,具体如何划分,是平均划分、随机划分还是根据预设需求灵活划分,其实现形式在本公开实施例中不做限制。通过上述过程,每个Worker可以确定需要处理的待处理视频子集,每个待处理视频子集可以包含有对多个视频的处理需求,也可以仅包含对一个视频的处理需求,在本公开实施例中同样不做数量和实现方式的限制,多个Worker之间可以相互不干扰的各自处理的待处理视频子集。
[0078] 在通过上述各步骤完成Master对Worker的资源与待处理视频集分配后,可以通过步骤S134,来通过多个Worker实现对多个待处理视频子集的并行处理,从而将这些多个Worker得到的处理结果,共同作为该处理线程对待处理视频集的处理结果。
[0079] 需要注意的是,上述公开实施例中提到的“第一并行处理”和“第二并行处理”中的“第一”和“第二”,仅用于区分并行处理的对象不同,在本公开实施例中,第一并行处理用于表明的是对多个待处理视频集进行并行处理,而第二并行处理用于表明的是对多个待处理视频子集进行并行处理,而不限制并行处理的实现方式相同还是不同。
[0080] 除此之外,Master还可以通过每个Worker反馈的消息,来监控每个Worker的视频处理进度和状态,还可以在Worker处理待处理视频子集失败或中断的情况下,或是在一段时间没接收到Worker反馈的消息的情况下,回收Worker中包含的待处理视频子集,并交由其他Worker进行处理。
[0081] 通过上述过程,可以利用每个处理线程中包含的批量视频管理子线程和单视频处理子线程,共同实现对视频的进一步批量处理,从而更加提升视频的处理效率和速度。
[0082] 进一步地,每个Worker如何处理被分配的待处理视频子集,其实现形式也可以灵活决定。在一种可能的实现方式中,通过单视频处理子线程,对待处理视频子集进行处理,可以包括:
[0083] 步骤S1341,根据待处理视频子集包括的待处理视频地址,获取待处理视频。
[0084] 步骤S1342,将待处理视频根据时间进行划分,得到至少一个待处理帧序列。
[0085] 步骤S1343,对每个待处理帧序列进行第三并行处理,得到每个待处理帧序列的处理结果,作为待处理视频子集的处理结果。
[0086] 上述公开实施例已经提出,待处理视频集中可以包含有待处理视频地址,因此,根据待处理视频集分配的待处理视频子集中,可以包含有当前Worker需要处理的视频的地址,因此,Worker可以通过步骤S1341,来获取到待处理视频。
[0087] 在获取了待处理视频后,Worker可以开始对待处理视频进行处理,在一种可能的实现方式中,Worker可以直接处理待处理视频,来识别其中的目标对象或是分析视频内容等。在一种可能的实现方式中,为了进一步提升对视频的处理效率,Worker还可以通过步骤S1342,来对待处理视频在时域上进行分片,即按照待处理视频的时间顺序,将其分割成多段视频帧序列,作为待处理帧序列。其中,分割的方式在本公开实施例中不做限制,分割得到的待处理帧序列的数量可以根据待处理视频的长度以及每个被分割后的待处理帧序列的长度来灵活决定,在一种可能的实现方式中,可以控制每个分割后得到的待处理帧序列的时间长度在一定的时间阈值内,这一时间阈值可以灵活设定,在一个示例中,可以设定待处理帧序列的时间长度不低于2分钟,且不超过当前Worker所支持的最大解码路数,也不超过当前视频处理过程中可以处理的最大分析时间长度。
[0088] 在得到了至少一个待处理帧序列后,可以通过步骤S1343,来在Worker中,对每个待处理帧序列进行第三并行处理,与上述公开实施例中的描述相同,此处的“第三”仅用于区分并行处理的对象,即表明同时对多个待处理帧序列进行并行处理。在本公开实施例中,具体如何对每个待处理帧序列进行处理,其处理方式可以根据待处理视频集的处理类型灵活决定,在一个示例中,当处理类型为对视频进行行人识别时,对待处理帧序列进行处理的方式可以为根据待处理帧序列进行行人检测,如基于神经网络的行人检测等,在一个示例中,当处理类型为对视频进行车辆识别时,对待处理帧序列进行处理的方式可以为根据待处理帧序列进行车牌号码识别等等。这样,可以将对每个待处理帧序列进行处理得到的处理结果,共同作为对待处理视频子集的处理结果。
[0089] 通过上述过程,可以在对每个待处理视频子集进行处理时,进一步的利用时间划分得到多个待处理帧序列,从而同时对多个待处理帧序列进行处理得到处理结果,进一步的将视频处理的过程并行化,从而充分提升了视频处理效率和速度,也充分利用了视频处理资源,提升了资源利用率。
[0090] 通过上述公开实施例的步骤S1341可以看出,可以根据待处理视频子集包括的地址来获取待处理视频,上述公开实施例中提到过,待处理视频的类型不同,因此其地址形式也可能存在不同,因此,步骤S1341的实现方式也可能存在变化,在一种可能的实现方式中,步骤S1341可以包括:
[0091] 在待处理视频为超文本传输协议HTTP类型视频的情况下,根据待处理视频子集包括的HTTP文件链接地址,下载待处理视频;和/或,在待处理视频为实时流传输协议RTSP类型视频的情况下,根据待处理视频子集包括的RTSP视频源地址,下载待处理视频;和/或,在待处理视频为录像视频流类型的情况下,根据待处理视频子集包括的待处理视频地址,将待处理视频转换为RTSP类型视频,下载RTSP类型视频。
[0092] 通过上述公开实施例可以看出,在待处理视频为HTTP类型或是RTSP类型的情况下,可以根据其对应的视频地址的链接形式,来对应下载该待处理视频;而在待处理视频为录像视频流的情况下,由于直接通过视频地址下载该类视频,可能需要开发独立的协议来进行对接和取流,因此可以考虑利用视频处理装置中的一些组件,如视频接入的服务组件等,来将录像视频流类型的视频转发为RTSP类型的视频,从而下载RTSP类型的视频,实现待处理视频的获取。
[0093] 进一步地,当待处理视频存在其他类型时,也可以根据这些视频的类型灵活设置视频的获取或下载方式,在此不一一列举。通过上述过程,当待处理视频子集对应的待处理视频存在多种类型时,可以对不同类型的视频采取对应的手段进行获取,从而提升视频获取的效率和便捷程度,继而提升视频处理的效率和稳定性。
[0094] 在一种可能的实现方式中,本公开实施例提出的视频处理方法,还可以包括:
[0095] 步骤S14,将每个待处理视频集的处理结果存储于存储设备中,其中,存储设备包括分布式文件存储系统。
[0096] 通过上述各公开实施例得到各待处理视频集的处理结果后,为了便于对这些处理结果进行分析和调用,可以考虑将这些处理结果存储到存储设备中。存储设备的实现方式可以灵活设定,不局限于下述各公开实施例,在一种可能的实现方式中,可以考虑将处理结果存储到本地,即存储到进行视频处理的装置的存储空间内。在一种可能的实现方式中,由于处理结果为针对视频的处理结果,数据量一般较大,因此也可以考虑将处理结果存储到适合存储较大数据的分布式文件存储系统中,分布式文件存储系统的实现形式不受限制,在一个示例中,分布式文件存储系统可以是HDFS存储系统。
[0097] 进一步地,将处理结果存储到HDFS存储系统时,可以通过httpfs接口或RPC接口将处理结果传输至HDFS存储系统,而存储完成后,还可以将处理结果在HDFS存储系统中的存储地址,以URL形式返回到上述公开实施例中提到的HTTP接口或是HTTPS接口处,来便于查询处理结果的位置
[0098] 通过将处理结果存储于存储设备中,如分布式文件存储系统等,可以便于获取和查找处理结果,从而便于根据处理结果进行二次分析,提升视频处理方法的应用灵活性。
[0099] 上述公开实施例中已经提出,对视频处理时,建立的待处理视频集类型可以灵活决定,即处理视频的方式可以灵活决定,因此,随着处理视频方式的不同,产生的处理结果也会相应的发生变化。在一种可能的实现方式中,处理结果可以包括:
[0100] 目标识别结果、与目标识别结果对应的视频帧图像、目标特征值、目标属性以及与目标识别结果对应的视频帧图像的拍摄时间中的一个或多个;其中,目标识别结果包括人脸识别结果、行人识别结果以及车辆识别结果中的一个或多个。
[0101] 通过上述公开实施例可以看出,本公开实施例中提出的视频处理方法,可以用于对视频进行人脸、机动车、非机动车、行人、人脸+人体联合检索等多种形式的识别与检索,应用范围广,同时,得到的处理结果的形式也十分多样化,便于根据不同形式的处理结果进行进一步的分析和调查,满足多场景的视频处理需求。
[0102] 图2示出根据本公开实施例的视频处理装置的框图。如图2所示,视频处理装置20包括:
[0103] 获取模块21,用于获取至少一个待处理视频集;
[0104] 处理线程建立模块22,用于根据待处理视频集的数量,建立至少一个与待处理视频集对应的处理线程;
[0105] 并行处理模块23,用于通过每个处理线程,对每个待处理视频集进行第一并行处理,分别得到每个待处理视频集的处理结果。
[0106] 在一种可能的实现方式中,获取模块用于:通过预设接口,获取至少一个待处理视频集;其中,每个待处理视频集包括:待处理视频数量、待处理视频地址以及处理类型中的一个或多个。
[0107] 在一种可能的实现方式中,处理线程建立模块用于:根据待处理视频集的数量,通过分布式框架建立至少一个与待处理视频集对应的处理线程,每个处理线程包括的处理资源,不大于当前视频处理资源;其中每个处理线程包括批量视频管理子线程和至少一个单视频处理子线程。
[0108] 在一种可能的实现方式中,并行处理模块用于:根据待处理视频集,通过批量视频管理子线程,获取处理线程的处理资源;通过批量视频管理子线程,将处理资源分配于至少一个单视频处理子线程;通过批量视频管理子线程,将待处理视频集分配至每个单视频处理子线程中,得到每个单视频处理子线程对应的待处理视频子集;通过每个单视频处理子线程,对待处理视频子集进行第二并行处理,得到每个待处理视频子集的处理结果,作为待处理视频集的处理结果。
[0109] 在一种可能的实现方式中,并行处理模块进一步用于:根据待处理视频子集包括的待处理视频地址,获取待处理视频;将待处理视频根据时间进行划分,得到至少一个待处理帧序列;对每个待处理帧序列进行第三并行处理,得到每个待处理帧序列的处理结果,作为待处理视频子集的处理结果。
[0110] 在一种可能的实现方式中,并行处理模块进一步用于:在待处理视频为超文本传输协议HTTP类型视频的情况下,根据待处理视频子集包括的HTTP文件链接地址,下载待处理视频;和/或,在待处理视频为实时流传输协议RTSP类型视频的情况下,根据待处理视频子集包括的RTSP视频源地址,下载待处理视频;和/或,在待处理视频为录像视频流类型的情况下,根据待处理视频子集包括的待处理视频地址,将待处理视频转换为RTSP类型视频,下载RTSP类型视频。
[0111] 在一种可能的实现方式中,装置还包括存储模块,存储模块用于:将每个待处理视频集的处理结果存储于存储设备中,其中,存储设备包括分布式文件存储系统。
[0112] 在一种可能的实现方式中,处理结果包括:目标识别结果、与目标识别结果对应的视频帧图像、目标特征值、目标属性以及与目标识别结果对应的视频帧图像的拍摄时间中的一个或多个;其中,目标识别结果包括人脸识别结果、行人识别结果以及车辆识别结果中的一个或多个。
[0113] 应用场景示例
[0114] 在智能安防领域中,公安刑侦等部门为了快速破案或对已有案件过程的快速还原,除了需要对公安联网内的实时监控视频进行分析检索外,还需要对历史录像视频、其他非公安网离线视频进行分析并与现有目标库或时空库进行比对分析。
[0115] 图3示出了根据本公开一应用示例的示意图,如图所示,本公开实施例提出了一种视频处理方法,应用于视频处理系统中,其具体过程如图所示,主要包括有:
[0116] 基于HTTP协议的离线视频分析任务接口服务,批量离线视频分析是通过HTTPS接口以任务的方式创建并执行的,包括离线分析任务的新建、列表查询、单个任务信息查询、取消任务、删除任务等功能接口,在视频处理时,可通过HTTPS接口创建多个任务,每个任务中可支持多个离线视频源,以此实现对大量视频文件的批量分析处理,其中离线视频源支持HTTP类型的文件链接地址和RTSP类型的视频源地址,GB28181录像流会通过视频处理系统中其它模块将其转发为RTSP流供此处访问,另外,每个任务需选择一种目标类型进行分析。
[0117] 基于Kubernetes分布式框架的多任务调度及管理服务,批量离线视频分析时,视频处理系统可以自动根据当前集群资源剩余情况创建对应数量的批量任务管理服务(Master)和单任务分析服务(Worker),并启动Master和Worker,并利用环境变量,在Master和Worker之间传递参数。当视频处理系统资源不足时,任务将自动进入排队状态,排队状态中的任务会根据其预先设置的优先级自动按序等待。待某个任务分析完成后,Master和Worker服务将被关闭并释放资源,随后会自动开启下一个任务。该实现过程基于Kubernetes分布式框架,可满足批量分析任务中的高并发、高扩展以及负载均衡等需求。
[0118] 批量任务管理服务Master,Master服务在启动后会通过环境变量获取对应任务的配置信息,根据该任务中的批量视频源信息向Kubernetes申请相应的资源,以保证视频处理系统能启动Worker服务来做具体的视频分析,然后Master可以持续维护该任务信息,动态更新任务中每一个视频源的分析进度和状态,自动回收无效的视频源等。
[0119] 单任务分析服务Worker,Worker服务在启动后会通过环境变量获取Master地址信息,并通过RPC接口向Master请求当前任务中的某个视频源地址,并开始下载、分析以及结果上传。
[0120] 其中,视频下载时,可以针对HTTP或RTSP类型的视频源,使用不同的下载方式将视频文件下载到本地缓存,并实时反馈下载进度以及异常状态。
[0121] 视频分析时,可以对已下载的本地缓存文件进行按时间分片,最小分片不低于2分钟,最大分片数不超过视频处理系统当前GPU支持的最大解码路数以及算法最大分析数。对分片后的多段视频流采用并行处理机制,异步的启动算法进行分析。同时会根据预先设置的目标类型分析出不同类型的结构化数据。
[0122] 结果上传时,每个分片产生的所有目标的结果数据会写入本地文件,该结果数据包括目标抓图、对应的视频截图、目标特征值、目标属性详细信息、抓拍时间等信息。通过httpfs接口或RPC接口将该文件上传至HDFS存储系统中,并以HTTPS的URL形式返回结果地址到接口层,供用户查询使用。
[0123] 通过上述公开应用示例,可以将所需的离线视频初步整理后创建批量离线视频分析任务,通过分布式的批量管理方案,动态调度批量任务,合理充分利用系统资源,以多分片并行分析的方式高效快速的完成视频分析任务,并返回分析结果。基于分布式批量离线分析技术,具有高扩展性,对公安行业的案件追踪,线索分析,历史档案排查等具有重要意义;批量任务动态调度,创建任务时根据系统资源灵活分配,并支持排队机制,同时任务处理完自动释放系统资源,避免资源浪费;离线视频分片并行分析,充分利用系统资源,达到加速分析效果。简化了刑侦工作难度,提高案件侦查效率。
[0124] 本公开应用示例中提出的视频处理方法,除了可以应用于公安行业的视频分析以外,也可以应用于其他对批量视频具有分析需求的行业中,如城市服务行业,视频网站行业等等,不局限于上述应用示例。
[0125] 可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
[0126] 本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0127] 本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性计算机可读存储介质或非易失性计算机可读存储介质。
[0128] 本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述方法。
[0129] 在实际应用中,上述存储器可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器提供指令和数据。
[0130] 上述处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器微控制器微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本公开实施例不作具体限定。
[0131] 电子设备可以被提供为终端、服务器或其它形态的设备。
[0132] 基于前述实施例相同的技术构思,本公开实施例还提供了一种计算机程序,该计算机程序被处理器执行时实现上述方法。
[0133] 图4是根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
[0134] 参照图4,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
[0135] 处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
[0136] 存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0137] 电源组件806为电子设备800的各种组件提供电。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
[0138] 多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0139] 音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
[0140] I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和定按钮。
[0141] 传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器压力传感器或温度传感器。
[0142] 通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关人员信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0143] 在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0144] 在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
[0145] 图5是根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图5,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
[0146] 电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
[0147] 在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
[0148] 本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
[0149] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号
[0150] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0151] 用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态人员信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0152] 这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0153] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0154] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0155] 附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0156] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈