基于分布式控制的相机控制方法及终端设备转让专利

申请号 : CN202011308989.4

文献号 : CN114520867B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 占航

申请人 : 华为技术有限公司

摘要 :

本申请涉及基于分布式控制的相机控制方法及终端设备,用于第一设备的方法包括:显示第一设备能够控制的待选相机,待选相机包括第一设备的本地相机、第一设备中第一虚拟相机所映射的第二设备的本地相机;确定出待选相机中的被选中相机及其所需执行的目标任务;根据被选中相机在第一设备中的第一相机标识和目标任务生成第一任务命令并发送至被选中相机,以使被选中相机根据第一任务命令控制执行目标任务,第一设备的每个第一虚拟相机用于实现对所映射的、存在至少一级映射关系的第二设备的本地相机的控制。本申请所提供的得到、装置,通过一个第一设备实现对多个第二设备中的本地相机的直接和/或间接的控制,满足不同应用场景的相机控制需求。

权利要求 :

1.一种基于分布式控制的相机控制方法,其特征在于,应用于第一设备,所述方法包括:显示所述第一设备能够控制的待选相机,所述待选相机包括所述第一设备的本地相机、所述第一设备中第一虚拟相机所映射的第二设备的本地相机;

根据检测到的针对所述待选相机的创建任务操作,从所述待选相机中确定出被选中相机以及所述被选中相机所需执行的目标任务;

根据所述被选中相机在所述第一设备中的第一相机标识和所述目标任务生成第一任务命令;

将所述第一任务命令发送至所述被选中相机,以使所述被选中相机根据所述第一任务命令控制执行所述目标任务,其中,所述第一设备包括至少一个第一虚拟相机,每个第一虚拟相机用于实现对所映射的第二设备的本地相机的控制,每个第一虚拟相机与所映射的第二设备的本地相机之间存在至少一级映射关系,在第一虚拟相机与所映射的第二设备的本地相机之间为多级映射关系时,所述第二设备与所述第一设备处于不同的局域网络,且所述第二设备借助至少一个中间设备与所述第一设备建立间接连接,所述至少一个中间设备利用各自的虚拟相机进行所述第一虚拟相机与所映射的第二设备的本地相机之间的数据转发。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在检测到设备连接请求时,查找能够与所述第一设备连接且满足连接条件的第三设备,所述连接条件包括:所述第三设备设置有本地相机和/或所述第三设备中创建有至少一个第二虚拟相机;

向所述第三设备发出第一授权控制请求,并接收所述第三设备响应于所述第一授权控制请求返回的第一授权指示;

在根据所述第一授权指示确定出被授权的第一授权相机后,获取所述第一授权相机在所述第三设备中的第二相机标识,所述第一授权相机包括所述第三设备的本地相机和/或所述第二虚拟相机所映射的第四设备的本地相机;

根据所述第二相机标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一授权相机的第一相机标识创建用于控制所述第一授权相机的第一虚拟相机,其中,每个第二虚拟相机用于实现对第二虚拟相机所映射的第四设备的本地相机的控制,所述第二虚拟相机与所映射的第四设备的本地相机与之间存在至少一级映射关系。

3.根据权利要求2所述的方法,其特征在于,向所述第三设备发出第一授权控制请求,并接收所述第三设备响应于所述第一授权控制请求返回的第一授权指示,包括:根据针对所述第三设备能够控制的所述第三设备的本地相机和/或所述第二虚拟相机所映射的第四设备的本地相机的请求操作,选择出第一请求相机;

根据所述第一请求相机生成所述第一授权控制请求,并将所述第一授权控制请求发送至所述第三设备,以使所述第三设备根据检测到的针对所述第一授权控制请求的授权操作生成所述第一授权指示。

4.根据权利要求2所述的方法,其特征在于,根据所述第二相机标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一授权相机的第一相机标识创建用于控制所述第一授权相机的第一虚拟相机,包括:在所述第一授权相机包括第二虚拟相机所映射的第四设备的本地相机时,根据所述第二相机标识中的指示所述第一授权相机与所述第二虚拟相机之间的映射关系的映射关系级别,确定出所述第一授权相机与需要创建的控制所述第一授权相机的第一虚拟相机之间的第一映射关系级别;

根据所述第二相机标识中的身份标识、所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识,确定出所述第一授权相机在所述第一设备中的第一身份标识;

根据所述第一映射关系级别和所述第一身份标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一相机标识创建出用于控制所述第一授权相机的第一虚拟相机。

5.根据权利要求4所述的方法,其特征在于,根据所述第二相机标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一授权相机的第一相机标识创建用于控制所述第一授权相机的第一虚拟相机,包括:在所述第一授权相机包括所述第三设备的本地相机时,将一级映射关系确定为所述第一授权相机与需要创建的控制所述第一授权相机的第一虚拟相机之间的第一映射关系级别。

6.根据权利要求4所述的方法,其特征在于,根据所述第二相机标识中的身份标识、所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识,确定出所述第一授权相机在所述第一设备中的第一身份标识,包括:在所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识中,已存在所述第二相机标识中的身份标识时,按照预设身份标识创建规则创建出所述第一授权相机在所述第一设备中的第一身份标识;或者在所述第二相机标识中的身份标识,与所述第一设备中对应于所述第一映射关系级别的,已有相机的身份标识不同时,将所述第二相机标识中的身份标识确定为所述第一授权相机在所述第一设备中的第一身份标识。

7.根据权利要求1所述的方法,其特征在于,根据检测到的针对所述待选相机的创建任务操作,从所述待选相机中确定出被选中相机以及所述被选中相机所需执行的目标任务,包括:根据检测到的针对所述待选相机的选择操作确定出被选中相机;

根据针对所述被选中相机的任务设定操作,确定出所述被选中相机所需执行的目标任务,其中,所述目标任务的任务参数包括任务类型、执行时间信息、所述被选中相机执行目标任务时的相机参数设置中的至少一种,所述任务类型包括以下至少一种:拍照任务、摄像任务、图像预览任务。

8.根据权利要求1所述的方法,其特征在于,将所述第一任务命令发送至所述被选中相机,以使所述被选中相机根据所述第一任务命令控制执行所述目标任务,包括以下至少一项操作:在所述被选中相机包括所述第一设备的本地相机时,向所述第一设备的本地相机发送所述第一任务命令,以使所述第一设备的本地相机执行所述第一任务命令所指示的目标任务;

在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为一级映射关系时,通过所述第一设备中与所述被选中相机对应的第一虚拟相机将所述第一任务命令转发至所述第二设备的本地相机,以使所述第二设备的本地相机执行所述第一任务命令所指示的目标任务;

在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为多级映射关系时,根据所述被选中相机与对应的第一虚拟相机之间的第一映射关系级别,确定出完成所述第一任务命令转发的至少一个中间设备,依次通过每个中间设备中对应于所述被选中相机的虚拟相机将所述第一任务命令转发至所述第二设备的本地相机,以使所述第二设备的本地相机执行所述第一任务命令所指示的目标任务。

9.根据权利要求1或8所述的方法,其特征在于,所述方法还包括:

在接收到所述被选中相机执行所述目标任务得到的目标任务数据时,根据所述目标任务数据进行图像和/或视频展示,其中,接收所述目标任务数据包括以下至少一种方式:

在所述被选中相机包括所述第一设备的本地相机时,直接接收来自所述第一设备的本地相机发出的目标任务数据;

在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为一级映射关系时,利用所述被选中相机所对应的第一虚拟相机直接接收所述第二设备的本地相机发出的目标任务数据;

在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为多级映射关系时,利用所述被选中相机所对应的第一虚拟相机接收依次经过第二设备的本地相机发出、至少一个中间设备转发的目标任务数据。

10.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在接收到来自第五设备的第二授权控制请求时,根据所述第二授权控制请求中的第二请求相机展示授权提示;

根据检测到的针对所述第二请求相机的授权操作,确定出授权的第二授权相机;

根据所述第二授权相机在所述第一设备中的第一相机标识生成第二授权指示,并将所述第二授权指示发送至所述第五设备,以使所述第五设备根据所述第二授权指示创建用于控制所述第二授权相机的虚拟相机。

11.一种终端设备,其特征在于,包括:

本地相机;

第一虚拟相机;

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令时实现权利要求1‑10任意一项所述的方法。

12.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1‑10中任意一项所述的方法。

说明书 :

基于分布式控制的相机控制方法及终端设备

技术领域

[0001] 本申请涉及终端技术领域,尤其涉及一种基于分布式控制的相机控制方法及终端设备。

背景技术

[0002] 随着相机的发展,安装有相机的设备的类型日益增加,例如,安装有相机的智慧电视、蓝牙相机、家居摄像头、道路监控相机、安装有相机的无人机等等。相关技术中,可以通过手机等终端设备或者系统对安装有相机的设备进行远程控制,实现图像拍摄、视频拍摄等任务的执行。以控制终端多个无人机进行拍照控制为例,相关技术中每个无人机通过以太网与控制终端进行网络信号传输,控制终端将拍照等控制指令网络传递到每个无人机,无人机进行解析后进一步进行拍照动作,再将相片数据网络传回控制终端。为实现上述控制需要每个无人机均包含网络模块,并且能够与控制终端进行网络连接才能实现无人机的直接控制,且这种方式导致控制终端仅能控制通过网络直接连接到的无人机,对于不能直接与控制终端通过网络连接的无人机则无法控制。如何在实现相机设备的直接控制的基础上实现相机设备的间接控制,满足不同相机设备使用场景的需求,是亟待解决的技术问题。

发明内容

[0003] 有鉴于此,提出了一种基于分布式控制的相机控制方法及终端设备。
[0004] 第一方面,本申请的实施例提供了一种基于分布式控制的相机控制方法,应用于第一设备,所述方法包括:
[0005] 显示所述第一设备能够控制的待选相机,所述待选相机包括所述第一设备的本地相机、所述第一设备中第一虚拟相机所映射的第二设备的本地相机;
[0006] 根据检测到的针对所述待选相机的创建任务操作,从所述待选相机中确定出被选中相机以及所述被选中相机所需执行的目标任务;
[0007] 根据所述被选中相机在所述第一设备中的第一相机标识和所述目标任务生成第一任务命令;
[0008] 将所述第一任务命令发送至所述被选中相机,以使所述被选中相机根据所述第一任务命令控制执行所述目标任务,
[0009] 其中,所述第一设备包括至少一个第一虚拟相机,每个第一虚拟相机用于实现对所映射的第二设备的本地相机的控制,每个第一虚拟相机与所映射的第二设备的本地相机之间存在至少一级映射关系,
[0010] 在第一虚拟相机与所映射的第二设备的本地相机之间为多级映射关系时,所述第二设备与所述第一设备处于不同的局域网络。
[0011] 通过第一方面所提供的方法,可以通过一个第一设备实现对多个第二设备中的本地相机的控制,且第二设备可以通过同一局域网直接与第一设备建立连接、也可以是借助中间设备与处于不同局域网的第一设备建立间接连接,实现了对不同第二设备的本地相机的分布式、分级控制,可以满足不同应用场景的相机控制需求。
[0012] 根据第一方面,在所述方法的第一种可能的实现方式中,所述方法还包括:
[0013] 在检测到设备连接请求时,查找能够与所述第一设备连接且满足连接条件的第三设备,所述连接条件包括:所述第三设备设置有本地相机和/或所述第三设备中创建有至少一个第二虚拟相机;
[0014] 向所述第三设备发出第一授权控制请求,并接收所述第三设备响应于所述第一授权控制请求返回的第一授权指示;
[0015] 在根据所述第一授权指示确定出被授权的第一授权相机后,获取所述第一授权相机在所述第三设备中的第二相机标识,所述第一授权相机包括所述第三设备的本地相机和/或所述第二虚拟相机所映射的第四设备的本地相机;
[0016] 根据所述第二相机标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一授权相机的第一相机标识创建用于控制所述第一授权相机的第一虚拟相机,
[0017] 其中,每个第二虚拟相机用于实现对第二虚拟相机所映射的第四设备的本地相机的控制,所述第二虚拟相机与所映射的第四设备的本地相机与之间存在至少一级映射关系。
[0018] 通过第一种可能的实现方式,创建了能够控制授权相机的第一虚拟相机。
[0019] 根据第一种可能的实现方式,在所述方法的第二种可能的实现方式中,向所述第三设备发出第一授权控制请求,并接收所述第三设备响应于所述第一授权控制请求返回的第一授权指示,包括:
[0020] 根据针对所述第三设备能够控制的所述第三设备的本地相机和/或所述第二虚拟相机所映射的第四设备的本地相机的请求操作,选择出第一请求相机;
[0021] 根据所述第一请求相机生成所述第一授权控制请求,并将所述第一授权控制请求发送至所述第三设备,以使所述第三设备根据检测到的针对所述第一授权控制请求的授权操作生成所述第一授权指示。
[0022] 通过第二种可能的实现方式,可以根据用户的需要选择出第一请求相机,满足不同用户的授权控制需求。
[0023] 根据第一种可能的实现方式,在所述方法的第三种可能的实现方式中,根据所述第二相机标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一授权相机的第一相机标识创建用于控制所述第一授权相机的第一虚拟相机,包括:
[0024] 在所述第一授权相机包括第二虚拟相机所映射的第四设备的本地相机时,根据所述第二相机标识中的指示所述第一授权相机与所述第二虚拟相机之间的映射关系的映射关系级别,确定出所述第一授权相机与需要创建的控制所述第一授权相机的第一虚拟相机之间的第一映射关系级别;
[0025] 根据所述第二相机标识中的身份标识、所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识,确定出所述第一授权相机在所述第一设备中的第一身份标识;
[0026] 根据所述第一映射关系级别和所述第一身份标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一相机标识创建出用于控制所述第一授权相机的第一虚拟相机。
[0027] 通过第三种可能的实现方式,在创建出第一虚拟相机后,第一设备可以根据第一虚拟相机的第一相机标识和第一映射关系级别直接确定出第一设备与第一授权相机之间的映射关系级别,便于进行命令的发送和数据的接收。
[0028] 根据第三种可能的实现方式,在所述方法的第四种可能的实现方式中,根据所述第二相机标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一授权相机的第一相机标识创建用于控制所述第一授权相机的第一虚拟相机,包括:
[0029] 在所述第一授权相机包括所述第三设备的本地相机时,将一级映射关系确定为所述第一授权相机与需要创建的控制所述第一授权相机的第一虚拟相机之间的第一映射关系级别。
[0030] 根据第三种可能的实现方式,在所述方法的第五种可能的实现方式中,根据所述第二相机标识中的身份标识、所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识,确定出所述第一授权相机在所述第一设备中的第一身份标识,包括:
[0031] 在所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识中,已存在所述第二相机标识中的身份标识时,按照预设身份标识创建规则创建出所述第一授权相机在所述第一设备中的第一身份标识;或者
[0032] 在所述第二相机标识中的身份标识,与所述第一设备中对应于所述第一映射关系级别的,已有相机的身份标识不同时,将所述第二相机标识中的身份标识确定为所述第一授权相机在所述第一设备中的第一身份标识。
[0033] 通过第五种可能的实现方式,可以保证第一授权相机的第一身份标识,在第一设备所能控制的对应于第一映射关系级别的全部相机的身份标识中的唯一性,以便于进行第一设备所能控制的同一映射关系级别的相机的区分。
[0034] 根据第一方面,在所述方法的第六种可能的实现方式中,根据检测到的针对所述待选相机的创建任务操作,从所述待选相机中确定出被选中相机以及所述被选中相机所需执行的目标任务,包括:
[0035] 根据检测到的针对所述待选相机的选择操作确定出被选中相机;
[0036] 根据针对所述被选中相机的任务设定操作,确定出所述被选中相机所需执行的目标任务,
[0037] 其中,所述目标任务的任务参数包括任务类型、执行时间信息、所述被选中相机执行目标任务时的相机参数设置中的至少一种,所述任务类型包括以下至少一种:拍照任务、摄像任务、图像预览任务。
[0038] 通过第六种可能的实现方式,可以对目标任务进行精确地设定,以便于被选中相机执行目标任务。
[0039] 根据第一方面,在所述方法的第七种可能的实现方式中,将所述第一任务命令发送至所述被选中相机,以使所述被选中相机根据所述第一任务命令控制执行所述目标任务,包括以下至少一项操作:
[0040] 在所述被选中相机包括所述第一设备的本地相机时,向所述第一设备的本地相机发送所述第一任务命令,以使所述第一设备的本地相机执行所述第一任务命令所指示的目标任务;
[0041] 在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为一级映射关系时,通过所述第一设备中与所述被选中相机对应的第一虚拟相机将所述第一任务命令转发至所述第二设备的本地相机,以使所述第二设备的本地相机执行所述第一任务命令所指示的目标任务;
[0042] 在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为多级映射关系时,根据所述被选中相机与对应的第一虚拟相机之间的第一映射关系级别,确定出完成所述第一任务命令转发的至少一个中间设备,依次通过每个中间设备中对应于所述被选中相机的虚拟相机将所述第一任务命令转发至所述第二设备的本地相机,以使所述第二设备的本地相机执行所述第一任务命令所指示的目标任务。
[0043] 通过第七种可能的实现方式,可以借助至少一个中间设备将第一任务命令转发至被选中相机,实现对与第一设备处于不同局域网中的设备的本地相机的控制。
[0044] 根据第一方面或第七种可能的实现方式,在所述方法的第八种可能的实现方式中,所述方法还包括:
[0045] 在接收到所述被选中相机执行所述目标任务得到的目标任务数据时,根据所述目标任务数据进行图像和/或视频展示,
[0046] 其中,接收所述目标任务数据包括以下至少一种方式:
[0047] 在所述被选中相机包括所述第一设备的本地相机时,直接接收来自所述第一设备的本地相机发出的目标任务数据;
[0048] 在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为一级映射关系时,利用所述被选中相机所对应的第一虚拟相机直接接收所述第二设备的本地相机发出的目标任务数据;
[0049] 在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为多级映射关系时,利用所述被选中相机所对应的第一虚拟相机接收依次经过第二设备的本地相机发出、至少一个中间设备转发的目标任务数据。
[0050] 通过第八种可能的实现方式,第一设备可以接收被选中相机执行目标任务之后的目标任务数据,并根据目标任务数据进行图像和/或视频展示。
[0051] 根据第一方面,在所述方法的第九种可能的实现方式中,所述方法还包括:
[0052] 在接收到来自第五设备的第二授权控制请求时,根据所述第二授权控制请求中的第二请求相机展示授权提示;
[0053] 根据检测到的针对所述第二请求相机的授权操作,确定出授权的第二授权相机;
[0054] 根据所述第二授权相机在所述第一设备中的第一相机标识生成第二授权指示,并将所述第二授权指示发送至所述第五设备,以使所述第五设备根据所述第二授权指示创建用于控制所述第二授权相机的虚拟相机。
[0055] 通过第九种可能的实现方式,使得第一设备直接根据用户发出的命令控制其本地相机和设置的第一虚拟相机所映射的第二设备的本地相机的同时,还可以与第五设备建立控制关系,被第五设备控制。
[0056] 第二方面,本申请的实施例提供了一种终端设备,该终端设备可以执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的基于分布式控制的相机控制方法。
[0057] 第三方面,本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的基于分布式控制的相机控制方法。
[0058] 本申请的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。

附图说明

[0059] 包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
[0060] 图1示出根据本申请一实施例的终端设备的结构示意图。
[0061] 图2示出根据本申请一实施例的终端设备的软件结构框图。
[0062] 图3示出根据本申请一实施例的基于分布式控制的相机控制方法的流程图。
[0063] 图4示出根据本申请一实施例的基于分布式控制的相机控制方法的应用场景示意图。
[0064] 图5示出根据本申请一实施例的确定目标任务的过程示意图。
[0065] 图6示出根据本申请一实施例的基于分布式控制的相机控制方法的流程图。
[0066] 图7示出根据本申请一实施例的选择授权相机示意图。
[0067] 图8示出根据本申请一实施例的基于分布式控制的相机控制方法的实现过程示意图。

具体实施方式

[0068] 以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0069] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0070] 另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
[0071] 为了解决上述技术问题,本申请提供了一种基于分布式控制的相机控制方法,本申请实施例的基于分布式控制的相机控制方法能够实现相机设备的多级间接控制,适用于不同相机设备的使用场景,该方法可以应用于终端设备、用于实现相机控制的控制设备等设备中,从而实现上述方法。
[0072] 本申请涉及的设备(包括第一设备、第二设备、第三设备、第四设备等设备)可以是指具有无线连接功能的设备,无线连接的功能是指可以通过wifi、蓝牙等无线连接方式与其他设备进行连接,本申请的设备也可以具有有线连接进行通信的功能。本申请的设备可以是触屏的、也可以是非触屏的、也可以是没有屏幕的,触屏的可以通过手指、触控笔等在显示屏幕上点击、滑动等方式对设备进行控制,非触屏的设备可以连接鼠标、键盘、触控面板等输入设备,通过输入设备对设备进行控制,没有屏幕的设备比如说可以是没有屏幕的蓝牙音箱等。
[0073] 举例来说,本申请涉及的设备中的终端设备可以是智能手机、上网本、平板电脑、笔记本电脑、可穿戴电子设备(如智能手环、智能手表等)、TV、虚拟现实设备、音响、电子墨水,等等。
[0074] 图1示出根据本申请一实施例的终端设备的结构示意图。以终端设备是手机为例,图1示出了手机200的结构示意图。
[0075] 手机200可以包括处理器210,外部存储器接口220,内部存储器221,USB接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块251,无线通信模块252,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及SIM卡接口295等。其中传感器模块280可以包括陀螺仪传感器280A,加速度传感器280B,接近光传感器280G、指纹传感器280H,触摸传感器280K(当然,手机200还可以包括其它传感器,比如温度传感器,压力传感器、距离传感器、磁传感器、环境光传感器、气压传感器、骨传导传感器等,图中未示出)。
[0076] 可以理解的是,本申请实施例示意的结构并不构成对手机200的具体限定。在本申请另一些实施例中,手机200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0077] 处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural‑network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0078] 处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
[0079] 处理器210可以运行本申请实施例提供的基于分布式控制的相机控制方法,以便于相机设备的多级间接控制,适用于不同相机设备的使用场景。处理器210可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的基于分布式控制的相机控制方法,比如基于分布式控制的相机控制方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。
[0080] 显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light‑emitting diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,手机200可以包括1个或N个显示屏294,N为大于1的正整数。显示屏294可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical user interface,GUI)。例如,显示器294可以显示照片、视频、网页、或者文件等。再例如,显示器294可以显示图形用户界面。其中,图形用户界面上包括状态栏、可隐藏的导航栏、时间和天气小组件(widget)、以及应用的图标,例如浏览器图标等。状态栏中包括运营商名称(例如中国移动)、移动网络(例如4G)、时间和剩余电量。导航栏中包括后退(back)键图标、主屏幕(home)键图标和前进键图标。此外,可以理解的是,在一些实施例中,状态栏中还可以包括蓝牙图标、Wi‑Fi图标、外接设备图标等。还可以理解的是,在另一些实施例中,图形用户界面中还可以包括Dock栏,Dock栏中可以包括常用的应用图标等。当处理器210检测到用户的手指(或触控笔等)针对某一应用图标的触摸事件后,响应于该触摸事件,打开与该应用图标对应的应用的用户界面,并在显示器294上显示该应用的用户界面。
[0081] 在本申请实施例中,显示屏294可以是一个一体的柔性显示屏,也可以采用两个刚性屏以及位于两个刚性屏之间的一个柔性屏组成的拼接显示屏。
[0082] 当处理器210运行本申请实施例提供的基于分布式控制的相机控制方法后,终端设备作为第一设备可以通过天线1、天线2与能够直接连接的第二设备建立通信连接,并根据本申请实施例提供的基于分布式控制的相机控制方法实现第一设备对第二设备的本地相机的控制,以及实现对无法直接与第一设备建立通信连接的第二设备的本地相机的控制。
[0083] 摄像头293(前置摄像头或者后置摄像头,或者一个摄像头既可作为前置摄像头,也可作为后置摄像头)用于捕获静态图像或视频。通常,摄像头293可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。
[0084] 内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行手机200的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储手机200使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
[0085] 内部存储器221还可以存储本申请实施例提供的基于分布式控制的相机控制方法对应的一个或多个计算机程序1310。该一个或多个计算机程序1304被存储在上述存储器221中并被配置为被该一个或多个处理器210执行,该一个或多个计算机程序1310包括指令,上述指令可以用于执行如图3、图6相应实施例中的各个步骤,该计算机程序1310可以包括执行下述步骤的一个或多个模块,实现相机设备的多级间接控制,适用于不同相机设备的使用场景。
[0086] 此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0087] 当然,本申请实施例提供的基于分布式控制的相机控制方法的代码还可以存储在外部存储器中。这种情况下,处理器210可以通过外部存储器接口220运行存储在外部存储器中的基于分布式控制的相机控制方法的代码。
[0088] 下面介绍传感器模块280的功能。
[0089] 陀螺仪传感器280A,可以用于确定手机200的运动姿态。在一些实施例中,可以通过陀螺仪传感器280A确定手机200围绕三个轴(即,x,y和z轴)的角速度。即陀螺仪传感器280A可以用于检测手机200当前的运动状态,比如抖动还是静止。
[0090] 当本申请实施例中的显示屏为可折叠屏时,陀螺仪传感器280A可用于检测作用于显示屏294上的折叠或者展开操作。陀螺仪传感器280A可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
[0091] 加速度传感器280B可检测手机200在各个方向上(一般为三轴)加速度的大小。即陀螺仪传感器280A可以用于检测手机200当前的运动状态,比如抖动还是静止。当本申请实施例中的显示屏为可折叠屏时,加速度传感器280B可用于检测作用于显示屏294上的折叠或者展开操作。加速度传感器280B可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
[0092] 接近光传感器280G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机通过发光二极管向外发射红外光。手机使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机附近有物体。当检测到不充分的反射光时,手机可以确定手机附近没有物体。当本申请实施例中的显示屏为可折叠屏时,接近光传感器280G可以设置在可折叠的显示屏294的第一屏上,接近光传感器280G可根据红外信号的光程差来检测第一屏与第二屏的折叠角度或者展开角度的大小。
[0093] 陀螺仪传感器280A(或加速度传感器280B)可以将检测到的运动状态信息(比如角速度)发送给处理器210。处理器210基于运动状态信息确定当前是手持状态还是脚架状态(比如,角速度不为0时,说明手机200处于手持状态)。
[0094] 指纹传感器280H用于采集指纹。手机200可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0095] 触摸传感器280K,也称“触控面板”。触摸传感器280K可以设置于显示屏294,由触摸传感器280K与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏294提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器280K也可以设置于手机200的表面,与显示屏294所处的位置不同。
[0096] 示例性的,手机200的显示屏294显示主界面,主界面中包括多个应用(比如相机应用、微信应用等)的图标。用户通过触摸传感器280K点击主界面中相机应用的图标,触发处理器210启动相机应用,打开摄像头293。显示屏294显示相机应用的界面,例如取景界面。
[0097] 手机200的无线通信功能可以通过天线1,天线2,移动通信模块251,无线通信模块252,调制解调处理器以及基带处理器等实现。
[0098] 天线1和天线2用于发射和接收电磁波信号。手机200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0099] 移动通信模块251可以提供应用在手机200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块251可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块251可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块251还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块251的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块251的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。在本申请实施例中,移动通信模块251还可以用于与其它终端设备进行第一任务命令、目标任务数据等信息的交互。
[0100] 调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270A,受话器270B等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块251或其他功能模块设置在同一个器件中。
[0101] 无线通信模块252可以提供应用在手机200上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块252可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块252经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块252还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。本申请实施例中,无线通信模块252,用于在处理器210的控制下与其他终端设备之间传输数据,比如,处理器210运行本申请实施例提供的基于分布式控制的相机控制方法时,第一设备中的处理器可以控制无线通信模块252向与第一设备建立直接通信连接的第二设备的本地相机发送第一任务命令、并通过第一虚拟相机的映射向无法直接与第一设备建立通信连接的第二设备的本地相机发送第一任务命令,实现相机设备的多级间接控制,适用于不同相机设备的使用场景。
[0102] 另外,手机200可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。手机200可以接收按键290输入,产生与手机200的用户设置以及功能控制有关的键信号输入。手机200可以利用马达291产生振动提示(比如来电振动提示)。手机200中的指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。手机200中的SIM卡接口
295用于连接SIM卡。SIM卡可以通过插入SIM卡接口295,或从SIM卡接口295拔出,实现和手机200的接触和分离。
[0103] 应理解,在实际应用中,手机200可以包括比图1所示的更多或更少的部件,本申请实施例不作限定。图示手机200仅是一个范例,并且手机200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
[0104] 终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端设备的软件结构。
[0105] 图2示出根据本申请一实施例的终端设备的软件结构框图。
[0106] 分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
[0107] 应用程序层可以包括一系列应用程序包。
[0108] 如图2所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
[0109] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0110] 如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0111] 窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0112] 内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0113] 视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0114] 电话管理器用于提供终端设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0115] 资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0116] 通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
[0117] Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
[0118] 核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0119] 应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0120] 系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
[0121] 表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
[0122] 媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
[0123] 三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0124] 2D图形引擎是2D绘图的绘图引擎。
[0125] 内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0126] 本申请实施例提供了一种基于分布式控制的相机控制方法,可以通过一个第一设备实现对多个第二设备中的本地相机的控制,且第二设备可以通过同一局域网直接与第一设备建立连接、也可以是借助中间设备与处于不同局域网的第一设备建立间接连接,实现了对不同第二设备的本地相机的分布式、分级控制,可以满足不同应用场景的相机控制需求。
[0127] 图3示出根据本申请一实施例的基于分布式控制的相机控制方法的流程图。图4示出根据本申请一实施例的基于分布式控制的相机控制方法的应用场景示意图。如图3所示,该方法应用于第一设备,该方法包括步骤S11至步骤S14。
[0128] 在步骤S11中,显示所述第一设备能够控制的待选相机,所述待选相机包括所述第一设备的本地相机、所述第一设备中第一虚拟相机所映射的第二设备的本地相机。其中,所述第一设备包括至少一个第一虚拟相机,每个第一虚拟相机用于实现对所映射的第二设备的本地相机的控制,每个第一虚拟相机与所映射的第二设备的本地相机之间存在至少一级映射关系。在第一虚拟相机与所映射的第二设备的本地相机之间为多级映射关系时,所述第二设备与所述第一设备处于不同的局域网络。
[0129] 在本实施例中,第一虚拟相机与所映射的第二设备的本地相机之间的映射关系,可以指示第一虚拟相机在第一设备的控制下实现对所映射的第二设备的本地相机进行控制的映射次数,二者进行命令、相机执行任务得到的数据传输过程中需要通过几次转发才能完成传输过程。并且,第一虚拟相机与所映射的第二设备的本地相机之间的映射关系,也可以认为其为第一设备与第一虚拟相机所映射的第二设备的本地相机之间的映射关系。映射关系的级别越低,第一虚拟相机与所映射的第二设备的本地相机之间的映射次数少、传输转发的次数越少。映射关系级别包括零级映射关系、一级映射关系、二级映射关系…N级映射关系,一级映射关系的级别小于二级映射关系的级别,二级映射关系以及二级以上映射关系为多级映射关系。
[0130] 为进一步解释映射关系,下面结合图4给出的应用场景示例进行描述。如图4所示,第一设备A中包括本地相机100和至少一个第一虚拟相机200。第一设备A的本地相机100与第一设备A之间的映射关系即为零级映射关系。每个第一虚拟相机200所映射的第二设备可以是能够直接与第一设备通过网络进行连接的设备,如图4所示的设备B1,设备B1中的本地相机与对应的第一虚拟相机200之间即为一级映射关系,设备B1与第一设备A可以处于相同的局域网络中。第一虚拟相机200所映射的第二设备也可以是不能直接与第一设备通过网络进行连接的设备,通过其他设备间接实现与第一设备A的通信,如图4所示的设备B2、设备B3。其中,设备B2映射于第一虚拟相机202,第一设备A通过第一虚拟相机202按照的通信方式实现对设备B2的本地相机的控制,包括发送第一任务命令和接收目标任务数据;设备B2与第一虚拟相机202即为二级映射关系,设备B2与第一设备A处于不同的局域网路,设备B2与设备C1可以处于同一局域网络,设备C1与第一设备A可以处于同一局域网络。设备B3映射于第一虚拟相机203,第一设备A通过第一虚拟相机203按照
的通信方式实现对设备B3的本地相机的控制,包括发送第一任务命
令和接收目标任务数据;设备B3与第一虚拟相机203即为x级映射关系(x=虚拟相机的个数),设备B3与第一设备A处于不同的局域网路,设备C2与设备C3可以处于同一局域网络,设备C2与第一设备A可以处于同一局域网络。
[0131] 其中,设备B1、设备B2、设备B3可以是相同也可以是不同类型的设备,如设备B1为手机、设备B2为监控摄像装置、设备B3为带有相机的无人机。设备C1的本地相机、设备C2的本地相机、设备C3的本地相机也可以在被收权后映射到第一设备A中形成虚拟相机,为图示简洁,图4中并未示出其映射关系,本领域技术人员可以根据设备B1、设备B2、设备B3映射到第一设备A中的实现方式示例根据本申请所提供的方法实现,在此不再赘述。
[0132] 在步骤S12中,根据检测到的针对所述待选相机的创建任务操作,从所述待选相机中确定出被选中相机以及所述被选中相机所需执行的目标任务。
[0133] 在一种可能的实现方式中,步骤S12可以包括:根据检测到的针对所述待选相机的选择操作确定出被选中相机;根据针对所述被选中相机的任务设定操作,确定出所述被选中相机所需执行的目标任务。其中,所述目标任务的任务参数可以包括任务类型、执行时间信息、所述被选中相机执行目标任务时的相机参数设置中的至少一种,所述任务类型包括以下至少一种:拍照任务、摄像任务、图像预览任务。这样,可以对目标任务进行精确地设定,以便于被选中相机执行目标任务。
[0134] 其中,不同任务类型所对应的执行时间信息、相机参数需要进行对应设置。对于拍照任务,执行时间信息可以包括拍照数量、拍照的时刻,相机参数可以包括拍照的像素、拍照曝光时长、拍照模式(如日间模式、夜间模式、全景模式等)等用于设定相机进行照片拍摄的参数。对于摄像任务,执行时间信息可以包括摄像的起止时刻、摄像时长等,相机参数可以包括摄像的像素、摄像模式(如日间模式、夜间模式等)等用于设定相机进行视频拍摄的参数。对于图像预览任务,执行时间信息可以包括所要预览的照片(实时打开相机取景框拍摄的照片或者相机之前拍摄的照片)的拍摄时刻、所要预览的视频(实时打开相机拍摄的视频或者相机之前拍摄的视频)的拍摄时刻和时长,相机参数可以包括拍照的像素、拍照曝光时长、拍照模式(如日间模式、夜间模式、全景模式等)等用于设定相机进行照片拍摄的参数。
[0135] 在本实施例中,在第一设备设置有显示屏时,可以以图片和/或文字结合的形式在显示屏中显示待选相机。还可以利用第一设备中设置的喇叭等通过语音的方式提示用户可供选择的待选相机。图5示出根据本申请一实施例的确定目标任务的过程示意图。如图4、图5所示,第一设备即为图4所示的第一设备A,在界面T1中显示可供用户选择的待选相机“本地相机100、映射于设备B1的本地相机的第一虚拟相机201、映射于设备B2的本地相机的第一虚拟相机202、映射于设备B3的本地相机的第一虚拟相机203”,根据检测到的针对选择控件K的点击、滑动等触发操作确定出被用户选择的被选中相机“第一虚拟相机201所映射的设备B1的本地相机”。而后可以进一步将显示屏中的界面T1切换为T2,在界面T2中显示任务类型“拍照、摄像、图像预览”,再根据检测到的针对界面T2中选择控件K的点击、滑动等触发操作确定出被用户选择的任务类型为“拍照任务”。再之后可以进一步将显示屏中的界面T2切换为T3,在界面T3中显示任务类型“摄像任务”所对应的相机参数设置提示,如图5中,“时长以及其后的空白框”用于提示用户直接输入或下拉选择等方式确定出摄像的拍摄时长。
“相机参数以及其后的多个空白框”用于提示用户直接输入或下拉选择等方式确定出摄像的相机参数。本领域技术人员可以根据实际需要对步骤S11和步骤S12的实现方式进行设置,本申请对此不作限制。
[0136] 在步骤S13中,根据所述被选中相机在所述第一设备中的第一相机标识和所述目标任务生成第一任务命令。
[0137] 在本实施例中,所生成的第一任务命令中包括被选中相机需要执行的目标任务以及第一相机标识。第一相机标识中包括第一映射关系级别和第一身份标识,第一映射关系级别可以用于表示被选中相机与其对应的第一虚拟相机之间的映射关系,或者说表示被选中相机与第一设备之间的映射关系。第一身份标识可以用于表示被选中相机在第一设备中对应于第一映射关系级别的已有相机之间的区别。本领域技术人员可以根据实际需要对映射关系级别、身份标识的方式进行设置,本申请对此不作限制。这样,通过第一身份标识可以区分第一设备所能控制的不同相机,也保证了第一任务命令的准确送达。
[0138] 在步骤S14中,将所述第一任务命令发送至所述被选中相机,以使所述被选中相机根据所述第一任务命令控制执行所述目标任务。
[0139] 在一种可能的实现方式中,步骤S14可以包括以下操作一、操作二、操作三中至少一项操作:
[0140] 操作一,在所述被选中相机包括所述第一设备的本地相机时,向所述第一设备的本地相机发送所述第一任务命令,以使所述第一设备的本地相机执行所述第一任务命令所指示的目标任务。例如,如图4所示,第一设备A可以直接将第一任务命令发送至其自身的本地设备100。
[0141] 操作三,在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为一级映射关系时,通过所述第一设备中与所述被选中相机对应的第一虚拟相机将所述第一任务命令转发至所述第二设备的本地相机,以使所述第二设备的本地相机执行所述第一任务命令所指示的目标任务。例如,如图4所示,第一设备A可以控制第一虚拟相机201向“设备B1的本地相机”中发送第一任务命令。
[0142] 操作三,在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为多级映射关系时,根据所述被选中相机与对应的第一虚拟相机之间的第一映射关系级别,确定出完成所述第一任务命令转发的至少一个中间设备,依次通过每个中间设备中对应于所述被选中相机的虚拟相机将所述第一任务命令转发至所述第二设备的本地相机,以使所述第二设备的本地相机执行所述第一任务命令所指示的目标任务。其中,中间设备在进行第一任务命令的转发以及进行下文所述目标任务数据、命令结果的转发的过程中,可以采用透传的方式直接进行转发,也可以按照预先设定的加密方式加密后进行转发,本申请对此不作限制。例如,如图4所示,第一设备A可以控制第一虚拟相机202将第一任务命令发送至“设备C1的第二虚拟相机301”,设备C1的第二虚拟相机301再将第一任务命令转发至“设备B2的本地设备”,在这一过程中中间设备即为设备C1。第一设备A可以控制第一虚拟相机203将第一任务命令发送至“设备C2的第二虚拟相机302”,设备C2的第二虚拟相机302再将第一任务命令转发至“设备C3的第三虚拟相机400”,设备C3的第三虚拟相机400…直至将第一任务命令发送至设备B2的本地设备,在这一过程中中间设备即为设备C2、设备C3…。这样,可以借助至少一个中间设备将第一任务命令转发至被选中相机,实现对与第一设备处于不同局域网中的设备的本地相机的控制。
[0143] 在一种可能的实现方式中,在被选中相机在同一时间段需要执行相互冲突的、来自不同设备的不同目标任务,可以按照发出目标任务的设备的优先级不同选择优先级在前的设备的目标任务执行。或者,随机选择多个目标任务中的一个执行。或者,为避免出现“被选中相机在同一时间段需要执行相互冲突的、来自不同设备的不同目标任务”,被选中相机所在的设备可以在授权许可时,控制其所能控制的每个相机仅授权给唯一一个设备通过虚拟相机控制。
[0144] 图6示出根据本申请一实施例的基于分布式控制的相机控制方法的流程图。在一种可能的实现方式中,如图6所示,该方法还可以包括“虚拟相机创建步骤”步骤S15至步骤S18。其中,“虚拟相机创建步骤”可以在步骤S11之前执行(如图6所示),也可以在步骤S11之后执行(图中未示出)。在下述第三设备与上述第二设备为同一设备时,“虚拟相机创建步骤”可以在步骤S11之前执行。在下述第三设备与上述第二设备为不同设备时,“虚拟相机创建步骤”可以在步骤S11之前、之后、或与步骤S11同时执行,本申请对此不作限制。通过“虚拟相机创建步骤”创建了能够控制授权相机的第一虚拟相机。
[0145] 在步骤S15中,在检测到设备连接请求时,查找能够与所述第一设备连接且满足连接条件的第三设备,所述连接条件可以包括:所述第三设备设置有本地相机和/或所述第三设备中创建有至少一个第二虚拟相机。其中,每个第二虚拟相机用于实现对第二虚拟相机所映射的第四设备的本地相机的控制,所述第二虚拟相机与所映射的第四设备的本地相机与之间存在至少一级映射关系。连接条件的设置可以保证所确定的第三设备中存在能够被第一设备通过创建虚拟相机进行控制。其中,第三设备可以是手机、无人机等任意设备,本申请对此不作制。
[0146] 例如,如图4所示,假定第一设备A查找后确定出的满足连接条件的第三设备即为设备B1和设备C1。而后第一设备A可以访问第三设备确定出每个第三设备中所能控制的相机。如,可以通过访问确定出设备B1仅能控制自身的本地相机、设备C1能控制自身的本地相机和第二虚拟相机301所映射的设备B2的本地相机。
[0147] 在步骤S16中,向所述第三设备发出第一授权控制请求,并接收所述第三设备响应于所述第一授权控制请求返回的第一授权指示。
[0148] 在一种可能的实现方式中,步骤S16可以包括:根据针对所述第三设备能够控制的所述第三设备的本地相机和/或所述第二虚拟相机所映射的第四设备的本地相机的请求操作,选择出第一请求相机;根据所述第一请求相机生成所述第一授权控制请求,并将所述第一授权控制请求发送至所述第三设备,以使所述第三设备根据检测到的针对所述第一授权控制请求的授权操作生成所述第一授权指示。这样,可以根据用户的需要选择出第一请求相机,满足不同用户的授权控制需求。
[0149] 在该实现方式中,可以参照图5中界面T1的显示方式在第一设备的显示屏中显示第一设备所能连接到的第三设备以及第三设备所能控制的相机的信息。进而根据检测到的点击等操作(也即请求操作)确定出用户所要连接的第三设备以及需要连接第三设备所能控制的第一请求相机,进而生成第一授权控制请求,并将第一授权控制请求发送至对应的第三设备。第三设备接收到的第一授权控制请求后根据用户的授权操作生成第一授权指示(此过程可以参考下文第一设备响应于第二授权控制请求的实现过程和方式)。还可以对用户发出的语音进行识别,根据识别结果确定出用户所要连接的第三设备以及需要连接第三设备所能控制的第一请求相机。还可以通过语音的方式将第三设备以及第三设备所能控制的相机的信息播放给用户,进而根据用户响应所发出的语音确定出用户所要连接的第三设备以及需要连接第三设备所能控制的第一请求相机。本领域技术人员可以根据实际需要对根据请求操作生成第一授权控制请求的方式进行设置,本申请对此不作限制。
[0150] 在一种可能的实现方式中,还可以在确定出第三设备之后,直接向检测到的每个第三设备发出针对其控制的每个相机的第一授权控制请求,无需根据基于用户的请求操作生成第一授权控制请求。这样,可以简化用户的操作,提高创建虚拟相机的速度,简化创建过程中用户所需进行的操作。
[0151] 在步骤S17中,在根据所述第一授权指示确定出被授权的第一授权相机后,获取所述第一授权相机在所述第三设备中的第二相机标识,所述第一授权相机包括所述第三设备的本地相机和/或所述第二虚拟相机所映射的第四设备的本地相机。
[0152] 在该实现方式中,第一授权相机在所述第三设备中的第二相机标识也包括映射关系级别和身份标识,其所表示的含义参见上文第一映射关系级别和第一身份标识的描述,此处不再赘述。
[0153] 在步骤S18中,根据所述第二相机标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一授权相机的第一相机标识创建用于控制所述第一授权相机的第一虚拟相机。
[0154] 在一种可能的实现方式中,步骤S18可以包括:在所述第一授权相机包括第二虚拟相机所映射的第四设备的本地相机时,根据所述第二相机标识中的指示所述第一授权相机与所述第二虚拟相机之间的映射关系的映射关系级别,确定出所述第一授权相机与需要创建的控制所述第一授权相机的第一虚拟相机之间的第一映射关系级别;根据所述第二相机标识中的身份标识、所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识,确定出所述第一授权相机在所述第一设备中的第一身份标识;根据所述第一映射关系级别和所述第一身份标识确定出所述第一授权相机在所述第一设备中的第一相机标识,并根据所述第一相机标识创建出用于控制所述第一授权相机的第一虚拟相机。这样,在创建出第一虚拟相机后,第一设备可以根据第一虚拟相机的第一相机标识和第一映射关系级别直接确定出第一设备与第一授权相机之间的映射关系级别,便于进行命令的发送和数据的接收。
[0155] 在一种可能的实现方式中,根据所述第二相机标识中的身份标识、所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识,确定出所述第一授权相机在所述第一设备中的第一身份标识,可以包括:在所述第一设备中对应于所述第一映射关系级别的已有相机的身份标识中,已存在所述第二相机标识中的身份标识时,按照预设身份标识创建规则创建出所述第一授权相机在所述第一设备中的第一身份标识;或者在所述第二相机标识中的身份标识,与所述第一设备中对应于所述第一映射关系级别的,已有相机的身份标识不同时,将所述第二相机标识中的身份标识确定为所述第一授权相机在所述第一设备中的第一身份标识。这样,可以保证第一授权相机的第一身份标识,在第一设备所能控制的对应于第一映射关系级别的全部相机的身份标识中的唯一性,以便于进行第一设备所能控制的同一映射关系级别的相机的区分。
[0156] 在一种可能的实现方式中,步骤S18还可以包括:
[0157] 在所述第一授权相机包括所述第三设备的本地相机时,将一级映射关系确定为所述第一授权相机与需要创建的控制所述第一授权相机的第一虚拟相机之间的第一映射关系级别。
[0158] 在该实现方式中,第一映射关系级别可以通过将“第二相机标识中的指示所述第一授权相机与所述第二虚拟相机之间的映射关系的映射关系级别”增加一个级别得到。不同映射关系级别可以使用不同的数字、字母等字符表示区分,同一映射关系级别的不同相机的身份标识可以通过相机不同的数字、字母等字符表示区分,也可以利用相机在其所在的设备中的身份标识进行区分。
[0159] 举例来说,参照图4中的第一设备A,假定在设备B1中其本地相机的身份标识为“2”,在设备C1中其本地相机的身份标识为“2”,在设备B2中其本地相机的身份标识为“1”,在第一设备A中其本地相机的身份标识为“3”。零级映射关系、一级映射关系、二级映射关系…,分别用于0000、1000、2000…来表示。则,
[0160] 在设备B1中,其本地相机的相机标识可以为0002。
[0161] 在设备B2中,其本地相机的相机标识可以为0001。
[0162] 在设备C1中,其本地相机的相机标识可以为0002、第二虚拟相机301所映射的设备B2的本地相机的相机标识可以为1001。
[0163] 在第一设备A中,由于没有身份标识重用,其本地相机的第一身份标识为0003,设备C1的本地相机的第一身份标识可以为1002,设备B2的本地相机的第一身份标识为2001。而由于设备B1的本地相机的身份标识“0002中的2”已经被设备C1的本地相机占用,则可以调整设备B1的本地相机身份标识如将“2”调整为“4”,设备B1的本地相机的第一身份标识为
1004。
[0164] 在一种可能的实现方式中,该方法还可以包括:在接收到所述被选中相机接收所述第一任务命令后返回的命令结果时,可以根据命令结果确定被选中相机是否成功执行目标任务、是否接收到第一任务命令等信息。其中,接收所述命令结果可以包括以下至少一种方式:
[0165] 在所述被选中相机包括所述第一设备的本地相机时,直接接收来自所述第一设备的本地相机发出的命令结果;
[0166] 在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为一级映射关系时,利用所述被选中相机所对应的第一虚拟相机直接接收所述第二设备的本地相机发出的命令结果;
[0167] 在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为多级映射关系时,利用所述被选中相机所对应的第一虚拟相机接收依次经过第二设备的本地相机发出、至少一个中间设备转发的命令结果。
[0168] 在一种可能的实现方式中,该方法还可以包括:在接收到所述被选中相机执行所述目标任务得到的目标任务数据时,根据所述目标任务数据进行图像和/或视频展示。第一设备除了进行图像和/或视频的展示还可以存储目标任务数据。
[0169] 其中,接收所述目标任务数据包括以下至少一种方式:
[0170] 在所述被选中相机包括所述第一设备的本地相机时,直接接收来自所述第一设备的本地相机发出的目标任务数据;
[0171] 在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为一级映射关系时,利用所述被选中相机所对应的第一虚拟相机直接接收所述第二设备的本地相机发出的目标任务数据;
[0172] 在所述被选中相机包括第一虚拟相机所映射的第二设备的本地相机、且所述被选中相机与所述被选中相机所对应的第一虚拟相机之间为多级映射关系时,利用所述被选中相机所对应的第一虚拟相机接收依次经过第二设备的本地相机发出、至少一个中间设备转发的目标任务数据。
[0173] 在一种可能的实现方式中,所述方法还可以包括:
[0174] 在接收到来自第五设备的第二授权控制请求时,根据所述第二授权控制请求中的第二请求相机展示授权提示;
[0175] 根据检测到的针对所述第二请求相机的授权操作,确定出授权的第二授权相机;
[0176] 根据所述第二授权相机在所述第一设备中的第一相机标识生成第二授权指示,并将所述第二授权指示发送至所述第五设备,以使所述第五设备根据所述第二授权指示创建用于控制所述第二授权相机的虚拟相机。
[0177] 这样,使得第一设备直接根据用户发出的命令控制其本地相机和设置的第一虚拟相机所映射的第二设备的本地相机的同时,还可以与第五设备建立控制关系,被第五设备控制。其中,第五设备可以本身设置有本地相机,也可以没有本地相机。
[0178] 举例来说,图7示出根据本申请一实施例的选择授权相机示意图。如图7所示,假定第二授权控制请求中的第二请求相机为图4中的第一设备A的本地相机100、第一虚拟相机201所映射到的设备B1的本地相机、第一虚拟相机202所映射到的设备B2的本地相机、第一虚拟相机203所映射到的设备B3的本地相机,则可以在第一设备A的显示屏中显示界面T4,根据检测到的每个第二请求相机的选择控件K的点击、滑动等触发操作确定出被用户授权的第二授权相机如第一虚拟相机201所映射到的设备B1的本地相机。而后第一设备A可以根据第一虚拟相机201所映射到的设备B1的本地相机在第一设备A中的第一相机标识生成第二授权指示并发送至第五设备D,以使得第五设备D根据所述第二授权指示创建用于控制所述第二授权相机的虚拟相机401(可以参考上文步骤S17和步骤S18的实现过程)。
[0179] 图8示出根据本申请一实施例的基于分布式控制的相机控制方法的实现过程示意图。如图8所示,示出了第一设备A通过中间设备C1对第二设备B2的本地相机进行控制的过程,其中,
[0180] 第一任务命令下发过程中:
[0181] 第一设备A的应用层中“相机应用”检测用户发出的针对预览任务、拍照任务和摄像任务的任务设置操作,进而第一设备A的服务层中的“相机服务”模块根据检测到的任务设备操作生成摄像命令1(下文及图中也称命令1)、拍照命令2(下文及图中也称命令2)、预览命令3(下文及图中也称命令3),各命令中携带了执行任务所需的任务参数(确定命令及任务参数的过程参见上文,此处不再赘述)。其中,摄像命令1、拍照命令2、预览命令3的生成时间或者说用户发出这三个命令的时间是相同或不同的,图8中为示出三种不同任务类型的目标任务的下发过程,将三个命令均示出,但实际上三个命令的下发时间彼此不影响。第一设备A的HAL层(硬件抽象层,英文Hardware Abstraction Layer)中的虚拟相机HAL中的虚拟相机设备(也即图4中的第二虚拟相机301)将“命令1、命令2和/或命令3”发送到第一设备A的服务层中的“分布式设备虚拟化平台服务”,第一设备A的“分布式设备虚拟化平台服务”通过自身的透传管道以透传方式将“命令1、命令2和/或命令3”发送到中间设备C1中。
[0182] 中间设备C1应用层中的“多设备虚拟化模块”接收并通过透传管道采用透传的方式将“命令1、命令2和/或命令3”发送至自身服务层的“分布式设备虚拟化平台服务”。“分布式设备虚拟化平台服务”同样通过透传管道采用透传的方式将“命令1、命令2和/或命令3”发送至第二设备B2。
[0183] 第二设备B2应用层的“多设备虚拟化模块”通过透传管道接收到“命令1、命令2和/或命令3”,而后将“命令1、命令2和/或命令3”发送至服务层的“相机服务”。“相机服务”根据“命令1、命令2和/或命令3”向其相机设备(也即图4中所示的B2的本地相机)发出所需执行的具体目标任务,使得相机设备可以控制相机硬件的传感器进行拍摄、摄像、取景预览等具体操作,并通过相机硬件的图像信号处理器ISP(Image Signal Processing)对传感器采集到的数据进行处理,生成目标任务数据。其中,目标任务数据可以包括命令1所对应的数据、命令2所对应的数据和/或命令3所对应的数据。
[0184] 目标任务数据上传过程中:
[0185] 第二设备B2的相“相机设备”将不同任务类型的目标任务数据分别发送至其“相机服务”的对应缓冲区中,而后第二设备B2的“多设备虚拟化模块”将目标任务数据调回,并通过透传管道以透传的方式将目标任务数据发送至中间设备的“分布式设备虚拟化平台服务”。
[0186] 中间设备C1的“分布式设备虚拟化平台服务”通过透传管道接收到目标任务数据之后,通过中间设备C1的“多设备虚拟化模块”的透传管道以透传的方式将目标任务数据发送至第一设备A。
[0187] 第一设备A的“分布式设备虚拟化平台服务”通过自身的透传管道接收到目标任务数据,并对目标任务数据进行处理,确定其是对应哪一任务类型的数据,并将对应不同任务类型的目标任务数据发送至第一设备A的服务层中的“相机服务”的对应缓冲区中,以使得第一设备A的“相机应用”可以在确定对应缓存区存储有目标任务数据、和/或接收到用户的显示指示时,进行预览显示、照片显示和/或视频显示。
[0188] 通过上述方式,利用一个第一设备A就实现了对与其不再同一局域网络的第二设备B2的本地相机的控制。
[0189] 本申请的实施例提供了一种终端设备,包括:本地相机;第一虚拟相机;处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述基于分布式控制的相机控制方法。
[0190] 本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
[0191] 本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
[0192] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read‑Only‑Memory,EPROM或闪存)、静态随机存取存储器(Static Random‑Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read‑Only Memory,CD‑ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0193] 这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0194] 用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(Wide Area Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
[0195] 这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0196] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0197] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0198] 附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
[0199] 也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application Specific Integrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
[0200] 尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0201] 以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。