技术新讯 > 电子通信装置的制造及其应用技术 > 一种应用调用摄像头的方法及设备与流程  >  正文

一种应用调用摄像头的方法及设备与流程

  • 国知局
  • 2024-09-14 14:48:42

本技术涉及终端,尤其涉及一种应用调用摄像头的方法及设备。

背景技术:

1、目前,手机、平板、个人计算机(personal computer,pc)等终端设备都会配置有摄像头,用于为用户提供拍照、摄像、视频通话等服务。

2、通常,应用在有摄像头使用需求时,会向操作系统的相关模块发起请求,在操作系统根据应用的请求将摄像头的使用权限分配给该应用之后,其它应用无法再使用摄像头。也就是说,常规的摄像头调用机制不支持多个应用同时调用同一个摄像头,这就导致在多应用场景下,某些应用的功能受限。以直播场景为例,假如用户想要同时通过多个应用平台同步进行直播,但是由于终端设备不支持多个应用同时调用同一个摄像头,最终该用户只能成功通过一个应用平台(如最先获取摄像头使用权限的应用)直播,这会极大影响用户的体验。

技术实现思路

1、本技术提供一种应用调用摄像头的方法及设备,可以支持多个应用同时调用终端设备的同一个摄像头。

2、为达到上述目的,本技术采用如下技术方案:

3、第一方面,提供一种应用调用摄像头的方法,该方法应用于终端设备,该终端设备包括摄像头,该方法包括:在第一应用通过上述摄像头进行拍摄的过程中,终端设备接收到第一操作,第一操作用于指示第二应用调用上述摄像头;响应第一操作,终端设备根据第一应用的第一拍摄需求和第二应用的第二拍摄需求确定摄像头的第一拍摄参数;终端设备以第一拍摄参数进行拍摄,获取第一初始图像数据;终端设备基于第一初始图像数据向第一应用发送第一图像数据,以及向第二应用发送第二图像数据,其中第一图像数据是满足第一拍摄需求的图像数据,第二图像数据是满足第二拍摄需求的图像数据。

4、作为一种示例,终端设备仅包括一个摄像头。

5、作为另一种示例,终端设备包括多个摄像头(如包括第一摄像头和第二摄像头),上述第一应用和第二应用调用的摄像头是终端设备的同一个摄像头(如第一摄像头)。

6、上述第一方面提供的方案,终端设备可以支持安装在其中的多个应用同时调用终端设备的同一摄像头进行图像拍摄,并且,在完成图像拍摄之后,终端设备可以分别向该多个应用提供满足其拍摄需求的图像数据。该方案不仅可以解决多个应用无法同时进行图像拍摄的问题,还可以极大的简化用户的操作。另外,终端设备可以通过根据调用同一摄像头的多个应用的拍摄需求进行拍摄参数的合理配置,以及根据该多个应用的拍摄需求向应用提供满足应用拍摄需求的图像数据,以提高数据处理的性能。

7、作为一种可能的实现方式,上述方法还包括:响应于上述第一操作,终端设备更新摄像头授权信息,摄像头授权信息用于表征上述摄像头同时为第一应用和第二应用提供拍摄服务。基于此,终端设备可以通过对一个摄像头向多个应用授权关系的管理,以支持终端设备能够允许安装在其中的多个应用同时调用终端设备的同一摄像头进行图像拍摄。

8、作为一种示例,上述摄像头授权信息可以包括:上述摄像头与第一应用的关系索引;以及,上述摄像头与第二应用的关系索引。

9、作为一种示例,上述摄像头授权信息可以包括:白名单,其中白名单中包括第一应用的应用标识(如应用名或者应用id)和第二应用的应用标识。

10、作为一种可能的实现方式,上述摄像头授权信息还包括:调用上述摄像头的应用的实时数量。基于此,可以方便终端设备进行授权相关管理,如超数量时的拒绝分配,调用摄像头结束后对应的资源(如算力和内存等资源)的释放等。例如,在请求调用摄像头的应用数据量超过预先设置的数量阈值时,终端设备可以拒绝应用的摄像头调用请求。又如,在摄像头提供服务的应用数量为0时,终端设备可以释放摄像头的相关资源。

11、作为一种可能的实现方式,上述第一拍摄需求可以包括但不限于第一应用对图像数据的以下至少一个参数的要求:分辨率、方向、曝光度、滤镜、亮度、对比度、饱和度、锐度;第二拍摄需求可以包括但不限于第二应用对图像数据的以下至少一个参数的要求:分辨率、方向、曝光度、滤镜、亮度、对比度、饱和度、锐度。基于此,终端设备可以根据应用的多样化需求为其提供能够满足其拍摄需求的图像数据。例如,终端设备可以根据应用的需求进行拍摄参数的合理配置。又如,终端设备可以根据应用的需求对拍摄得到的初始图像数据进行相应的处理,使其满足应用的拍摄需求。

12、作为一种可能的实现方式,在第一拍摄需求和第二拍摄需求相同时,第一拍摄参数是第一拍摄需求或第二拍摄需求对应的拍摄参数;上述终端设备基于第一初始图像数据向第一应用发送第一图像数据,包括:终端设备将第一初始图像数据作为第一图像数据发送给第一应用;上述终端设备基于第一初始图像数据向第二应用发送第二图像数据,包括:终端设备将第一初始图像数据作为第二图像数据发送给第二应用。

13、可以理解,由于第一拍摄需求和第二拍摄需求相同,因此,终端设备可以直接确定第一拍摄参数,如第一拍摄参数是第一拍摄需求对应的拍摄参数,也就是第二拍摄需求对应的拍摄参数。在这种情况下,以第一拍摄参数拍摄得到的第一初始图像数据必然能够同时满足第一应用和第二应用的拍摄需求,因此,终端设备无需再对第一初始图像数据做处理,而可以直接将第一初始图像数据作为第一图像数据和第二图像数据分别提供给第一应用和第二应用。

14、作为一种示例,假设第一拍摄需求包括第一应用对图像数据的第一分辨率要求和第一方向要求,第二拍摄需求包括第二应用对图像数据的第一分辨率要求和第一方向要求,则终端设备确定的第一拍摄参数包括:第一分辨率和第一方向。

15、作为一种可能的实现方式,在第一拍摄需求和第二拍摄需求不同时,上述终端设备根据第一应用的第一拍摄需求和第二应用的第二拍摄需求确定摄像头的第一拍摄参数,包括:终端设备根据第一拍摄需求和第二拍摄需求中参数对应的预设规则,确定第一拍摄参数;其中上述预设规则包括以下中的一个或多个:应用优先级规则、参数优先级规则、少数服从多数规则、随机确定规则。基于此,可以根据多个应用的拍摄需求确定合理的拍摄参数,以最大程度的保障各个应用的拍摄需求,提高用户体验。

16、其中,应用优先级规则的原则是优先满足优先级较高的应用的拍摄需求;参数优先级规则的原则是对于同一参数的不同需求,优先满足较高参数要求的拍摄需求;少数服从多数规则的原则是优先满足大多数应用的拍摄需求;随机确定规则是指随机根据某一个或者某些拍摄需求确定第一拍摄参数。

17、作为一种可能的实现方式,上述终端设备基于第一初始图像数据向第一应用发送第一图像数据,包括:若第一初始图像数据满足第一拍摄需求,终端设备将第一初始图像数据作为第一图像数据发送给第一应用;若第一初始图像数据不满足第一拍摄需求,终端设备对第一初始图像数据中的对应参数进行调整后作为第一图像数据发送给第一应用;上述终端设备基于第一初始图像数据向第二应用发送第二图像数据,包括:若第一初始图像数据满足第二拍摄需求,终端设备将第一初始图像数据作为第二图像数据发送给第二应用;若第一初始图像数据不满足第二拍摄需求,终端设备对第一初始图像数据中的对应参数进行调整后作为第二图像数据发送给第二应用。基于此,终端设备可以在拍摄得到的初始图像数据满足应用拍摄需求时直接将该初始图像数据提供给应用,在拍摄得到的初始图像数据不能满足应用拍摄需求时对拍摄得到的初始图像数据进行相应的处理,使其满足应用的拍摄需求。以此最大程度的保障各个应用的拍摄需求,提高用户体验。

18、作为一种示例,假设第一拍摄需求包括第一应用对图像数据的第一分辨率要求和第一方向要求,第二拍摄需求包括第二应用对图像数据的第二分辨率要求和第一方向要求,若第一分辨率大于第二分辨率,则终端设备可以确定第一拍摄参数包括:第一分辨率和第一方向。其中,上述第一拍摄参数中第一分辨率可以是终端设备基于参数优先级规则确定的。在这种情况下,终端设备向第一应用提供的第一图像数据即第一初始图像数据;终端设备向第二应用提供的第二图像数据是将第一初始图像数据的分辨率调整为第二分辨率后的图像数据。

19、作为另一种示例,假设第一拍摄需求包括第一应用对图像数据的第一分辨率要求和第一方向要求,第二拍摄需求包括第二应用对图像数据的第一分辨率要求和第二方向要求时,则终端设备可以确定第一拍摄参数包括:第一分辨率和第一方向。其中,上述第一拍摄参数中第一方向可以是终端设备基于随机确定规则确定的。在这种情况下,终端设备向第一应用提供的第一图像数据即第一初始图像数据;终端设备向第二应用提供的第二图像数据是将第一初始图像数据的方向调整为第二方向后的图像数据。或者,在该示例中,终端设备可以确定第一拍摄参数包括:第一分辨率和第二方向。其中,上述第一拍摄参数中第二方向可以是终端设备基于随机确定规则确定的。在这种情况下,终端设备向第二应用提供的第二图像数据即第一初始图像数据;终端设备向第一应用提供的第一图像数据是将第一初始图像数据的方向调整为第一方向后的图像数据。

20、作为一种可能的实现方式,上述方法还包括:终端设备在调用摄像头的应用的实时数量减少为0时,释放摄像头对应的资源。基于此,终端设备可以通过对调用摄像头的应用的实时数量的管理,便于相关资源在进程结束时的释放,最大限度地节省终端设备的算力和内存等资源。

21、作为一种可能的实现方式,上述方法还包括:在第一应用和第二应用通过上述摄像头进行拍摄的过程中,终端设备接收到第二操作,第二操作用于指示第三应用调用上述摄像头;响应于第二操作,终端设备根据第一应用的第一拍摄需求、第二应用的第二拍摄需求和第三应用的第三拍摄需求确定上述摄像头的第二拍摄参数;终端设备以第二拍摄参数进行拍摄,获取第二初始图像数据;终端设备基于第二初始图像数据向第一应用发送第三图像数据,向第二应用发送第四图像数据以及向第三应用发送第五图像数据,其中第三图像数据是满足第一拍摄需求的图像数据,第四图像数据是满足第二拍摄需求的图像数据,第五图像数据是满足第三拍摄需求的图像数据。基于此,终端设备可以支持安装在其中的三个应用同时调用终端设备的同一摄像头进行图像拍摄,并且,在完成图像拍摄之后,终端设备可以分别向该三个应用提供满足其拍摄需求的图像数据。

22、当然,本技术不限定能够同时调用同一摄像头的应用的最大数据,例如终端设备可以允许同时调用同一摄像头的应用的最大数量为m,m为大于1的任意整数。

23、作为一种可能的实现方式,上述终端设备包括第一系统,第一应用、第二应用和第三应用均安装在第一系统中。也就是说,本技术提供的方案适用于原生操作系统中多个应用调用同一摄像头的场景。

24、作为一种可能的实现方式,上述终端设备包括第一系统和第二系统,第一应用、第二应用和第三应用均安装在第二系统中。其中,第一系统是终端设备的原生操作系统(也称host系统),第二系统是模拟器或者容器中安装的操作系统(也称guest系统)。也就是说,本技术提供的方案适用于生态融合场景。示例性地,本技术提供的方案适用于guest系统中多个应用调用同一摄像头的场景。

25、作为一种可能的实现方式,上述终端设备包括第一系统和第二系统,第一应用、第二应用和第三应用中的至少一个安装在第一系统中以及至少一个安装在第二系统中。其中,第一系统是终端设备的原生操作系统(也称host系统),第二系统是模拟器或者容器中安装的操作系统(也称guest系统)。也就是说,本技术提供的方案适用于生态融合场景。示例性地,本技术提供的方案适用于host系统中的应用和guest系统中的应用调用同一摄像头的场景。

26、第二方面,提供一种终端设备,该终端设备包括:用户输入单元,用于在第一应用通过上述摄像头进行拍摄的过程中,接收第一操作,第一操作用于指示第二应用调用摄像头;处理单元,用于响应第一操作,根据第一应用的第一拍摄需求和第二应用的第二拍摄需求确定摄像头的第一拍摄参数;图像获取单元,用于以第一拍摄参数进行拍摄,获取第一初始图像数据;上述处理单元还用于:基于第一初始图像数据向第一应用发送第一图像数据,以及向第二应用发送第二图像数据,其中第一图像数据是满足第一拍摄需求的图像数据,第二图像数据是满足第二拍摄需求的图像数据。

27、上述第二方面提供的方案,终端设备可以支持安装在其中的多个应用同时调用终端设备的同一摄像头进行图像拍摄,并且,在完成图像拍摄之后,终端设备可以分别向该多个应用提供满足其拍摄需求的图像数据。该方案不仅可以解决多个应用无法同时进行图像拍摄的问题,还可以极大的简化用户的操作。另外,终端设备可以通过根据调用同一摄像头的多个应用的拍摄需求进行拍摄参数的合理配置,以及根据该多个应用的拍摄需求向应用提供满足应用拍摄需求的图像数据,以提高数据处理的性能。

28、作为一种可能的实现方式,上述处理单元还用于:响应于上述第一操作,更新摄像头授权信息,摄像头授权信息用于表征上述摄像头同时为第一应用和第二应用提供拍摄服务。基于此,终端设备可以通过对一个摄像头向多个应用授权关系的管理,以支持终端设备能够允许安装在其中的多个应用同时调用终端设备的同一摄像头进行图像拍摄。

29、作为一种示例,上述摄像头授权信息可以包括:上述摄像头与第一应用的关系索引;以及,上述摄像头与第二应用的关系索引。

30、作为一种示例,上述摄像头授权信息可以包括:白名单,其中白名单中包括第一应用的应用标识(如应用名或者应用id)和第二应用的应用标识。

31、作为一种可能的实现方式,上述摄像头授权信息还包括:调用上述摄像头的应用的实时数量。基于此,可以方便终端设备进行授权相关管理,如超数量时的拒绝分配,调用摄像头结束后对应的资源(如算力和内存等资源)的释放等。例如,在请求调用摄像头的应用数据量超过预先设置的数量阈值时,终端设备可以拒绝应用的摄像头调用请求。又如,在摄像头提供服务的应用数量为0时,终端设备可以释放摄像头的相关资源。

32、作为一种可能的实现方式,上述第一拍摄需求可以包括但不限于第一应用对图像数据的以下至少一个参数的要求:分辨率、方向、曝光度、滤镜、亮度、对比度、饱和度、锐度;第二拍摄需求可以包括但不限于第二应用对图像数据的以下至少一个参数的要求:分辨率、方向、曝光度、滤镜、亮度、对比度、饱和度、锐度。基于此,终端设备可以根据应用的多样化需求为其提供能够满足其拍摄需求的图像数据。例如,终端设备可以根据应用的需求进行拍摄参数的合理配置。又如,终端设备可以根据应用的需求对拍摄得到的初始图像数据进行相应的处理,使其满足应用的拍摄需求。

33、作为一种可能的实现方式,在第一拍摄需求和第二拍摄需求相同时,第一拍摄参数是第一拍摄需求或第二拍摄需求对应的拍摄参数;上述处理单元基于第一初始图像数据向第一应用发送第一图像数据,包括:处理单元将第一初始图像数据作为第一图像数据发送给第一应用;上述处理单元基于第一初始图像数据向第二应用发送第二图像数据,包括:处理单元将第一初始图像数据作为第二图像数据发送给第二应用。

34、作为一种可能的实现方式,在第一拍摄需求和第二拍摄需求不同时,上述处理单元根据第一应用的第一拍摄需求和第二应用的第二拍摄需求确定摄像头的第一拍摄参数,包括:处理单元根据第一拍摄需求和第二拍摄需求中参数对应的预设规则,确定第一拍摄参数;其中上述预设规则包括以下中的一个或多个:应用优先级规则、参数优先级规则、少数服从多数规则、随机确定规则。基于此,可以根据多个应用的拍摄需求确定合理的拍摄参数,以最大程度的保障各个应用的拍摄需求,提高用户体验。

35、作为一种可能的实现方式,上述处理单元基于第一初始图像数据向第一应用发送第一图像数据,包括:若第一初始图像数据满足第一拍摄需求,处理单元将第一初始图像数据作为第一图像数据发送给第一应用;若第一初始图像数据不满足第一拍摄需求,处理单元对第一初始图像数据中的对应参数进行调整后作为第一图像数据发送给第一应用;上述处理单元基于第一初始图像数据向第二应用发送第二图像数据,包括:若第一初始图像数据满足第二拍摄需求,处理单元将第一初始图像数据作为第二图像数据发送给第二应用;若第一初始图像数据不满足第二拍摄需求,处理单元对第一初始图像数据中的对应参数进行调整后作为第二图像数据发送给第二应用。基于此,终端设备可以在拍摄得到的初始图像数据满足应用拍摄需求时直接将该初始图像数据提供给应用,在拍摄得到的初始图像数据不能满足应用拍摄需求时对拍摄得到的初始图像数据进行相应的处理,使其满足应用的拍摄需求。以此最大程度的保障各个应用的拍摄需求,提高用户体验。

36、作为一种可能的实现方式,上述处理单元还用于:在调用摄像头的应用的实时数量减少为0时,释放摄像头对应的资源。基于此,终端设备可以通过对调用摄像头的应用的实时数量的管理,便于相关资源在进程结束时的释放,最大限度地节省终端设备的算力和内存等资源。

37、作为一种可能的实现方式,上述用户输入单元还用于:在第一应用和第二应用通过上述摄像头进行拍摄的过程中,接收第二操作,第二操作用于指示第三应用调用上述摄像头;上述处理单元还用于:响应于第二操作,根据第一应用的第一拍摄需求、第二应用的第二拍摄需求和第三应用的第三拍摄需求确定上述摄像头的第二拍摄参数;上述图像获取单元还用于:以第二拍摄参数进行拍摄,获取第二初始图像数据;上述处理单元还用于:基于第二初始图像数据向第一应用发送第三图像数据,向第二应用发送第四图像数据以及向第三应用发送第五图像数据,其中第三图像数据是满足第一拍摄需求的图像数据,第四图像数据是满足第二拍摄需求的图像数据,第五图像数据是满足第三拍摄需求的图像数据。基于此,终端设备可以支持安装在其中的三个应用同时调用终端设备的同一摄像头进行图像拍摄,并且,在完成图像拍摄之后,终端设备可以分别向该三个应用提供满足其拍摄需求的图像数据。

38、作为一种可能的实现方式,上述终端设备包括第一系统,第一应用、第二应用和第三应用均安装在第一系统中。也就是说,本技术提供的方案适用于原生操作系统中多个应用调用同一摄像头的场景。

39、作为一种可能的实现方式,上述终端设备包括第一系统和第二系统,第一应用、第二应用和第三应用均安装在第二系统中。示例性地,本技术提供的方案适用于guest系统中多个应用调用同一摄像头的场景。

40、作为一种可能的实现方式,上述终端设备包括第一系统和第二系统,第一应用、第二应用和第三应用中的至少一个安装在第一系统中以及至少一个安装在第二系统中。示例性地,本技术提供的方案适用于host系统中的应用和guest系统中的应用调用同一摄像头的场景。

41、第三方面,提供一种终端设备,该终端设备包括:摄像头,用于进行图像拍摄;存储器,用于存储计算机程序指令;处理器,用于执行所述计算机程序指令,以支持终端设备实现如第一方面任一种可能的实现方式中的方法。

42、第四方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,该计算机程序指令被处理器执行时实现如第一方面任一种可能的实现方式中的方法。

43、第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机实现如第一方面任一种可能的实现方式中的方法。

44、第六方面,提供一种芯片系统,该芯片系统包括处理电路、存储介质,存储介质中存储有计算机程序指令;所述计算机程序指令被所述处理器执行时,实现如第一方面任一种可能的实现方式中的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

本文地址:https://www.jishuxx.com/zhuanli/20240914/295998.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。