多协议控制USB相机的实现方法、装置、设备及介质制造方法及图纸

技术编号:37500640 阅读:14 留言:0更新日期:2023-05-07 09:37
本申请涉及一种多协议控制USB相机的实现方法、装置、设备及介质,其方法包括:在硬件抽象层增设函数定义模块,并在函数定义模块中定义基于第二协议的调用指令包;在相机接口实现类模块中,实例化函数定义模块,以将可调用指令写入指令元数据;在服务层增设协议通信模块,并实例化协议通信模块,以将应用层通过第一协议下发的操作请求写入协议通信模块;协议通信模块解析操作请求,确定与操作请求对应的基于第二协议的可调用指令,并基于确定的可调用指令与USB相机通信,以使USB相机对操作请求做出响应,并将响应结果通过相机设备会话控制模块返回所述应用层。本申请无需进行代码的二次开发,实现了可以多协议共同控制USB相机。实现了可以多协议共同控制USB相机。实现了可以多协议共同控制USB相机。

【技术实现步骤摘要】
多协议控制USB相机的实现方法、装置、设备及介质


[0001]本申请涉及相机控制
,具体涉及一种多协议控制USB相机的实现方法、装置、设备及介质。

技术介绍

[0002]目前,Android12上原生系统官方Camera2 API通过UVC协议支持USB相机的基础操作,例如:获取USB相机的分辨率列表、获取USB相机预览数据流。但是如果USB相机的某些操作需要通过其他协议,如HID协议进行控制,则无法通过官方Camera2 API进行调用控制,这种情况下需要APP开发者使用官方USBManager API来进行HID协议控制的开发,即又要使用Camera2API还要再额外使用USBManager API,这给APP开发者造成额外的工作量。

技术实现思路

[0003]本申请实施例针对上述情况,提出了一种多协议控制USB相机的实现方法、装置、设备及介质,以克服或者部分克服现有技术的不足。
[0004]第一方面,本申请实施例提供了一种多协议控制USB相机的实现方法,所述USB相机的相机控制框架包括依次连接的应用层、服务层和硬件抽象层,所述服务层包含相机设备会话控制模块,所述硬件抽象层包含相机接口实现类模块,且所述USB相机是采用第一协议控制的,所述方法包括:
[0005]在所述硬件抽象层增设函数定义模块,并在所述函数定义模块中定义基于第二协议的调用指令包,所述调用指令包包含至少一个定制化的可调用指令;
[0006]在所述相机接口实现类模块中,实例化所述函数定义模块,以将所述可调用指令写入所述相机控制框架的指令元数据;
[0007]在所述服务层增设协议通信模块,并在所述相机设备会话控制模块中实例化所述协议通信模块,以将所述应用层通过所述第一协议下发的操作请求写入所述协议通信模块;
[0008]所述协议通信模块解析所述操作请求,确定与所述操作请求对应的基于所述第二协议的可调用指令,并基于确定的可调用指令与所述USB相机通信,以使所述USB相机对所述操作请求做出响应,并将响应结果通过所述相机设备会话控制模块返回所述应用层。
[0009]第二方面,本申请实施例还提供了一种多协议控制USB相机的实现装置,其特征在于,所述装置用于实现前述的多协议控制USB相机的实现方法。
[0010]第三方面,本申请实施例还提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一的方法。
[0011]第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述任一的方法。
[0012]本申请实施例采用的方法至少能够达到以下有益效果:
[0013]本申请在现有USB架构的基础上,在硬件抽象层增设函数定义模块,以及在服务层增设协议通信模块,首先在函数定义模块中定义基于第二协议的定制化的可调用指令,并通过在相机接口实现类模块中,实例化函数定义模块,将可调用指令写入相机控制框架的元数据,使得这些可调用指令可供服务层的调用;当相机的应用层向服务层发放数据获取等操作请求时,可以在服务层的相机设备会话控制模块中实例化协议通信模块,从而将应用层下发的操作请求写入该协议通信模块,协议通信模块根据该操作请求,与第二协议通信,以使USB相机对所操作请求做出响应,并将响应结果通过写入相机设备会话控制模块并返回至相机的应用层,从而实现通过第二协议支持USB相机的基础操作等。本申请巧妙的利用了USB相机的相机控制框架的元数据可定制的属性,通过对服务层和硬件抽象层进行简单改造和定制,在不对USB硬件进行改造、只需对代码底层框架进行简单的改造的情况下,实现了可以通过第一协议和第二协议共同控制USB相机的目的,无需进行代码的二次开发,极大程度上节约了相机控制的代码开发成本,提高了开发效率。
附图说明
[0014]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0015]图1示出了根据现有技术的一种USB相机的相机控制框架的结构示意图;
[0016]图2示出了根据本申请的一个实施例的多协议控制USB相机的实现方法的流程示意图;
[0017]图3示出了根据本申请的一个实施例的USB相机的相机控制框架的结构示意图;
[0018]图4

a示出了根据本申请的另一个实施例的多协议控制USB相机的实现方法的流程示意图;
[0019]图4

b示出了根据本申请的又一个实施例的多协议控制USB相机的实现方法的流程示意图;
[0020]图5示出了根据本申请的一个实施例的多协议控制USB相机的实现装置的结构示意图;
[0021]图6为本申请实施例中一种电子设备的结构示意图。
具体实施方式
[0022]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023]以下结合附图,详细说明本申请各实施例提供的技术方案。
[0024]目前,Android12上原生系统官方Camera2 API通过UVC协议支持USB相机的基础操作,例如:获取USB相机的分辨率列表、获取USB相机预览数据流。但是如果USB相机的某些操作需要通过HID协议进行控制而不是通过UVC协议进行控制,则无法通过官方Camera2 API进行调用控制,需要APP开发者使用官方USBManagerAPI来进行HID协议的控制,这会给APP
开发者造成额外的工作量,即又要使用Camera2 API还要再额外使用USBManager API。
[0025]对此,本申请提供了一种多协议控制USB相机的实现方法,可以实现对现有的USB相机多协议的控制,图1示出了根据现有技术的一种USB相机的相机控制框架的结构示意图,从图1可以看出,USB相机的相机控制框架100包括依次连接:应用层(camera)110、服务层(camera service)120以及硬件抽象层(camera hardware interface)130,从业务逻辑上,应用层110可以理解为上层即APP层,硬件抽象层130可以理解为底层。在服务层120设有相机设备会话控制模块121(ExternalCameraDeviceSession),所述硬件抽象层130包含相机接口实现类模块131(ExternalCameraProviderImpl)。且图1示出的USB相机是基于第一协议,如UVC协议控制的。
[0026]本申请在图1示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多协议控制USB相机的实现方法,所述USB相机的相机控制框架包括依次连接的应用层、服务层和硬件抽象层,所述服务层包含相机设备会话控制模块,所述硬件抽象层包含相机接口实现类模块,且所述USB相机是采用第一协议控制的,其特征在于,所述方法包括:在所述硬件抽象层增设函数定义模块,并在所述函数定义模块中定义基于第二协议的调用指令包,所述调用指令包包含至少一个定制化的可调用指令;在所述相机接口实现类模块中,实例化所述函数定义模块,以将所述可调用指令写入所述USB相机的指令元数据中;在所述服务层增设协议通信模块,并在所述相机设备会话控制模块中实例化所述协议通信模块,以将所述应用层通过所述第一协议下发的操作请求写入所述协议通信模块;所述协议通信模块解析所述操作请求,确定与所述操作请求对应的基于所述第二协议的可调用指令,并基于确定的可调用指令与所述USB相机通信,以使所述USB相机对所述操作请求做出响应,并将响应结果通过所述相机设备会话控制模块返回所述应用层。2.根据权利要求1所述的方法,其特征在于,所述在所述硬件抽象层增设函数定义模块,并在所述函数定义模块中定义基于第二协议的调用指令包,包括:构建函数定义模块,并将所述函数定义模块写入所述硬件抽象层;在所述函数定义模块中,构建基于第二协议的定制化的调用指令包;在所述调用指令包中定义用于实现所述相机控制框架结构体的多个定制函数,以形成可调用指令。3.根据权利要求1所述的方法,其特征在于,所述在所述相机接口实现类模块中,实例化所述函数定义模块,以将所述调用指令包写入所述USB相机的指令元数据中,包括:在所述相机接口实现类模块中,修改所述调用指令包的get函数,以实例化所述函数定义模块;调用所述函数定义模块中的所述调用指令包,并将所述调用指令包写入所述相机接口实现类模块中的调用指令组件中;在所述USB相机启动时,将存储于所述调用指令组件中的调用指令包写入所述相机控制框架的指令元数据中。4.根据权利要求1所述的方法,其特征在于,所述在所述服务层增设协议通信模块,并在所述相机设备会话控制模块中实例化所述协议通信模块,以将所述应用层通过所述第一协议下发的操作请求写入所述协议通信模块,包括:构建所述协议通信模块,并将所述协议通信模块写入所述服务层;在所述相机设备会话控制模块,利用初始化函数,初始化所述协议通信模块;解析所述应用层基于第一协议下发至所述相机设备会话控制模块的操...

【专利技术属性】
技术研发人员:姚紫微
申请(专利权)人:珠海视熙科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1