CN113556479A - 一种多应用共享摄像头的方法与电子设备 - Google Patents
一种多应用共享摄像头的方法与电子设备 Download PDFInfo
- Publication number
- CN113556479A CN113556479A CN202010911343.9A CN202010911343A CN113556479A CN 113556479 A CN113556479 A CN 113556479A CN 202010911343 A CN202010911343 A CN 202010911343A CN 113556479 A CN113556479 A CN 113556479A
- Authority
- CN
- China
- Prior art keywords
- image
- camera
- application
- instance
- parameter set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000008569 process Effects 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 43
- 238000004891 communication Methods 0.000 claims description 32
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 description 53
- 238000012545 processing Methods 0.000 description 37
- 238000007726 management method Methods 0.000 description 28
- 238000001514 detection method Methods 0.000 description 22
- 239000003795 chemical substances by application Substances 0.000 description 21
- 239000010410 layer Substances 0.000 description 20
- 230000006978 adaptation Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 210000000988 bone and bone Anatomy 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001528553 Malus asiatica Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R1/00—Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4223—Cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
Abstract
本申请公开一种多应用共享摄像头的方法与电子设备。本申请中,电子设备响应于第一应用发送的图像获取请求,执行以下操作:创建与第一应用对应的第一图像消费者实例,根据第一应用发送的图像获取请求所请求的第一摄像头以及第一图像参数集合获取对应的第一图像提供者实例,建立第一图像消费者实例与第一图像提供者实例之间的关联;响应于从第一摄像头接收图像数据,执行以下操作:第一图像提供者实例基于第一图像参数集合对接收到的第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给第一图像提供者实例关联的第一图像消费者实例;第一图像消费者实例将接收到的图像数据发送给第一应用。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种多应用共享摄像头的方法与电子设备。
背景技术
一个电子设备(比如手机或个人计算机)上,可能存在多个需要使用摄像头(camera)的应用程序(application,简称APP,也称应用),目前一个摄像头当前只能被一个应用程序使用。
以安卓系统为例,安卓架构限制了一个摄像头当前只能被一个应用程序使用,如果另外一个应用程序需要使用该摄像头,则系统会根据这两个应用程序的权限判决摄像头的使用权归属。比如,应用程序A当前在使用摄像头,应用程序B也需要使用该摄像头,如果应用程序B的权限高于应用程序A,则应用程序B会抢占该摄像头的使用权,否则应用程序B无法抢占该摄像头的使用权。
因此,由于一个摄像头当前只能被一个应用程序使用,无法做到多个应用程序共享摄像头,导致用户的使用感受较差。
发明内容
本申请的目的在于提供一种多应用共享摄像头的方法与电子设备,用以实现多个应用可以共享摄像头。
上述目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
第一方面,提供一种多应用共享摄像头的方法,应用于电子设备,该方法包括:
分别响应于第一应用和第二应用发送的图像获取请求,所述图像获取请求用于请求从第一摄像头获取满足第一图像参数集合要求的图像数据,执行以下操作:创建与所述第一应用对应的第一图像消费者实例,创建与所述第二应用对应的第二图像消费者实例,根据所述第一应用和所述第二应用发送的图像获取请求所请求的第一摄像头以及第一图像参数集合,获取对应的第一图像提供者实例,建立所述第一图像消费者实例与所述第一图像提供者实例之间的关联,以及所述第二图像消费者实例与所述第一图像提供者实例之间的关联;
响应于从所述第一摄像头接收图像数据,执行以下操作:所述第一图像提供者实例基于所述第一图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第一图像提供者实例关联的所述第一图像消费者实例和所述第二图像消费者实例,所述第一图像消费者实例将接收到的图像数据发送给所述第一应用,所述第二图像消费者实例将接收到的图像数据发送给所述第二应用。
上述实施例中,一个应用程序对应一个图像消费者实例,一个摄像头以及一种图像参数集合对应一个图像提供者实例,一个图像提供者实例可以对应一个或多个图像消费者实例,通过上述“生产者-消费者”机制,可以满足一个摄像头的数据共享给多个应用程序使用,从而通过为多个摄像头建立各自的数据通道,电子设备可以同时控制和获取一个或多个摄像头采集的数据,从而实现电子设备侧的多个应用程序同时获取一个或多个摄像头采集的图像数据,满足了同一时刻多个应用程序同时使用一个或多个摄像头获取的不同图像参数要求的图像数据,提高了用户体验。根据上述实施例,如果多个应用所请求的目标摄像头相同且所要求的图像参数集合也相同,则该多个应用可以关联到同一个图像提供者实例,由该图像提供者实例进行图像数据处理,处理后的图像数据被分别发送给该多个应用,从而可以避免针对每个应用执行图像处理操作,进而可以节省图像数据处理开销。
在一些可能的实现方式中,还包括:响应于第三应用发送的图像获取请求,所述图像获取请求用于请求从所述第一摄像头获取满足第二图像参数集合要求的图像数据,执行以下操作:创建与所述第三应用对应的第三图像消费者实例;根据所述第三应用发送的图像获取请求所请求的第一摄像头以及第二图像参数集合,获取对应的第二图像提供者实例;建立所述第三图像消费者实例与所述第二图像提供者实例之间的关联;
响应于从所述第一摄像头接收图像数据,还执行以下操作:所述第二图像提供者实例基于所述第二图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第二图像提供者实例关联的第三图像消费者实例;所述第三图像消费者实例将接收到的图像数据发送给所述第三应用。
根据上述实施例,如果不同的应用请求的目标摄像头相同,但所要求的图像参数集合不同,则需要关联到不同的图像提供者实例,由不同的图像提供者实例根据其对应的图像参数集合进行图像数据处理,并发送给对应的应用,以满足不同应用的不同图像参数要求。
在一些可能的实现方式中,还包括:向所述第一摄像头发送控制指令,所述控制指令携带用于控制所述第一摄像头进行图像数据采集的图像参数,所述图像参数与所述第一摄像头支持的图像参数相匹配,且为所述第一图像参数集合和所述第二图像参数集合中满足最大化要求的图像参数。
根据上述实施例,多个应用程序可能请求使用同一个目标摄像头,但该多个应用程序所要求的图像参数集合可能不同,针对这种情况,可根据这些使用同一个目标摄像头的多个应用程序的图像参数集合,获取这些图像参数集合中公共部分最大化的图像参数并发送给对应的摄像头,以控制摄像头按照该图像参数进行数据采集。其中,最大化图像参数一方面需要与目标摄像头的能力相匹配,另一方面应是使用同一个目标摄像头的多个应用程序的图像参数集合中,满足最大化要求的图像参数,从而使得摄像头采集到的图像数据可以直接或者经图像处理后,满足相应应用程序的图像参数要求。
在一些可能的实现方式中,还包括:响应于第四应用发送的图像获取请求,所述图像获取请求用于请求从第二摄像头获取满足第三图像参数集合的图像数据,执行以下操作:创建与所述第四应用对应的第四图像消费者实例;根据所述第四应用发送的图像获取请求所请求的第二摄像头以及第三图像参数集合,获取对应的第三图像提供者实例;其中,所述第三图像参数集合与所述第一图像参数集合相同或不同;建立所述第四图像消费者实例与所述第三图像提供者实例之间的关联;
响应于从所述第二摄像头接收图像数据,执行以下操作:所述第三图像提供者实例基于所述第四图像参数集合对接收到的所述第二摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第三图像提供者实例关联的第四图像消费者实例;所述第四图像消费者实例将接收到的图像数据发送给所述第四应用。
根据上述实施例,如果不同的应用请求的目标摄像头不相同,且所要求的图像参数集合也不同,则需要关联到不同的图像提供者实例,由不同的图像提供者实例根据其对应的摄像头以及图像参数集合,从相应的摄像头获取图像数据,并基于相应的图像参数集合进行图像数据处理,以满足不同应用使用不同的摄像头并要求不同图像参数的需求。
在一些可能的实现方式中,所述第一摄像头采集到的图像数据被分别发送给与所述第一摄像头对应的所有图像提供者实例。
根据上述实施例,请求同一摄像头的应用,均能够获得该摄像头采集到的图像数据,以实现多个应用对同一摄像头的共享使用。
在一些可能的实现方式中,所述第一图像提供者实例基于所述第一图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,包括以下操作中的至少一项:
根据所述第一图像参数集合中的图像格式参数,对从所述第一摄像头接收的图像数据进行格式转换;
根据所述第一图像参数集合中的色彩空间参数,对从所述第一摄像头接收的图像数据进行色彩空间转换;
根据所述第一图像参数集合中的图像分辨率,对从所述第一摄像头接收的图像数据进行图像分辨率转换;
根据所述第一图像参数集合中的视频帧率,对从所述第一摄像头接收的图像数据进行视频帧率转换;或者,
根据所述第一图像参数集合中的图像编辑操作指示信息,对从所述第一摄像头接收的图像数据进行图像编辑;其中,所述图像编辑操作指示信息包括旋转指示信息、镜像指示信息、裁剪指示信息中的至少一项。
上述实施例中,图像提供者实例可以实现多种图像编辑操作,由图像提供者实例进行图像编辑,可以避免开发者对应用程序进行修改(即通过修改应用程序来使得应用程序实现图像编辑操作),技术实现简单易行。
在一些可能的实现方式中,所述第一摄像头为所述电子设备的一个内置摄像头,或为与所述电子设备连接的一个通信装置的摄像头;或者,第二摄像头是为所述电子设备的一个内置摄像头,或为与所述电子设备连接的一个通信装置的摄像头。
根据上述实施例,可以实现多个应用对电子设备内置摄像头的共享使用,也可以实现对电子设备外部摄像头的共享使用。
第二方面,提供一种多应用共享摄像头的方法,应用于电子设备,该方法包括:
响应于第一应用发送的图像获取请求,所述图像获取请求用于请求从第一摄像头获取满足第一图像参数集合要求的图像数据,执行以下操作:
创建与所述第一应用对应的第一图像消费者实例;
根据所述第一应用发送的图像获取请求所请求的第一摄像头以及第一图像参数集合,获取对应的第一图像提供者实例;
建立所述第一图像消费者实例与所述第一图像提供者实例之间的关联;
响应于第二应用发送的图像获取请求,所述图像获取请求用于请求从第二摄像头获取满足第二图像参数集合要求的图像数据,所述第二图像参数集合与所述第一图像参数集合相同或不同,执行以下操作:
创建与所述第二应用对应的第二图像消费者实例;
根据所述第二应用发送的图像获取请求所请求的第二摄像头以及第一图像参数集合,获取对应的第二图像提供者实例;
建立所述第二图像消费者实例与所述第二图像提供者实例之间的关联;
响应于从所述第一摄像头和所述第二摄像头接收图像数据,执行以下操作:
所述第一图像提供者实例基于所述第一图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第一图像提供者实例关联的所述第一图像消费者实例,所述第一图像消费者实例将接收到的图像数据发送给所述第一应用;
所述第二图像提供者实例基于所述第二图像参数集合对接收到的所述第二摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第二图像提供者实例关联的所述第二图像消费者实例,所述第二图像消费者实例将接收到的图像数据发送给所述第二应用。
上述实施例中,一个应用程序对应一个图像消费者实例,一个摄像头以及一种图像参数集合对应一个图像提供者实例,一个图像提供者实例可以对应一个或多个图像消费者实例,通过上述“生产者-消费者”机制,可以满足一个摄像头的数据共享给多个应用程序使用,从而通过为多个摄像头建立各自的数据通道,电子设备可以同时控制和获取一个或多个摄像头采集的数据,从而实现电子设备侧的多个应用程序同时获取一个或多个摄像头采集的图像数据,满足了同一时刻多个应用程序同时使用一个或多个摄像头获取的不同图像参数要求的图像数据,提高了用户体验。根据上述实施例,如果不同的应用请求的目标摄像头不相同,且所要求的图像参数集合也不同,则需要关联到不同的图像提供者实例,由不同的图像提供者实例根据其对应的摄像头以及图像参数集合,从相应的摄像头获取图像数据,并基于相应的图像参数集合进行图像数据处理,以满足不同应用使用不同的摄像头并要求不同图像参数的需求。
在一些可能的实现方式中,还包括:
响应于第三应用发送的图像获取请求,所述图像获取请求用于请求从所述第一摄像头获取满足所述第三图像参数集合要求的图像数据,所述第三图像参数集合与所述第一参数集合不同,执行以下操作:
创建与所述第三应用对应的第三图像消费者实例;
根据所述第三应用发送的图像获取请求所请求的第一摄像头以及第三图像参数集合,获取对应的第三图像提供者实例;
建立所述第三图像消费者实例与所述第三图像提供者实例之间的关联;
响应于从所述第一摄像头接收图像数据,还执行以下操作:
所述第三图像提供者实例基于所述第三图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第三图像提供者实例关联的第三图像消费者实例;
所述第三图像消费者实例将接收到的图像数据发送给所述第三应用。
在一些可能的实现方式中,还包括:向所述第一摄像头发送控制指令,所述控制指令携带用于控制所述第一摄像头进行图像数据采集的图像参数,所述图像参数与所述第一摄像头支持的图像参数相匹配,且为所述第一图像参数集合和所述第三图像参数集合中满足最大化要求的图像参数。
在一些可能的实现方式中,所述第一摄像头采集到的图像数据被分别发送给与所述第一摄像头对应的所有图像提供者实例。
在一些可能的实现方式中,所述第一图像提供者实例基于所述第一图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,包括以下操作中的至少一项:
根据所述第一图像参数集合中的图像格式参数,对从所述第一摄像头接收的图像数据进行格式转换;
根据所述第一图像参数集合中的色彩空间参数,对从所述第一摄像头接收的图像数据进行色彩空间转换;
根据所述第一图像参数集合中的图像分辨率,对从所述第一摄像头接收的图像数据进行图像分辨率转换;
根据所述第一图像参数集合中的视频帧率,对从所述第一摄像头接收的图像数据进行视频帧率转换;或者,
根据所述第一图像参数集合中的图像编辑操作指示信息,对从所述第一摄像头接收的图像数据进行图像编辑;其中,所述图像编辑操作指示信息包括旋转指示信息、镜像指示信息、裁剪指示信息中的至少一项。
在一些可能的实现方式中,所述第一摄像头为所述电子设备的一个内置摄像头,所述第二摄像头为所述电子设备的另一个内置摄像头;或者,所述第一摄像头为所述电子设备的一个内置摄像头,所述第二摄像头为与所述电子设备连接的一个通信装置的摄像头;或者,所述第一摄像头为与所述电子设备连接的一个通信装置的摄像头,所述第二摄像头为所述电子设备的一个内置摄像头;或者,所述第一摄像头为与所述电子设备连接的一个通信装置的摄像头,所述第二摄像头为与所述电子设备连接的另一个通信装置的摄像头。
第三方面,提供一种电子设备,所述电子设备包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如上述第一方面及其第一方面任一可能设计的技术方案。
第四方面,提供一种电子设备,所述电子设备包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如上述第二方面及其第二方面任一可能设计的技术方案。
第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如上述第一方面及其第一方面任一可能设计的技术方案。
第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如上述第二方面及其第二方面任一可能设计的技术方案。
第七方面,还提供一种芯片,所述芯片与电子设备中的存储器耦合,执行本申请实施例第一方面及其第一方面任一可能设计的技术方案,或者执行本申请实施例第二方面及其第二方面任一可能设计的技术方案;本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
第八方面,还提供一种程序产品,包括指令,当所述指令在计算机上运行时,使得所述计算机执行第一方面及其第一方面任一可能设计的技术方案,或者当所述指令在计算机上运行时,使得所述计算机执行第二方面及其第二方面任一可能设计的技术方案。
第九方面,还提供一种电子设备上的图形用户界面,所述电子设备具有一个或多个存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述一个或多个存储器中的一个或多个计算机程序,所述图形用户界面包括所述电子设备执行第一方面及其第一方面任一可能设计的技术方案时显示的图形用户界面,或者所述图形用户界面包括所述电子设备执行第二方面及其第二方面任一可能设计的技术方案时显示的图形用户界面。
以上第三方面到第九方面的有益效果,请参见第一方面的有益效果,不重复赘述。
附图说明
图1为本申请一实施例提供的电子设备的硬件结构的示意图;
图2为本申请一实施例提供的电子设备的软件结构的示意图;
图3为本申请一实施例提供的多个应用共享摄像头的架构示意图;
图4a为本申请一实施例提供的车辆驾驶场景的示意图;
图4b为本申请一实施例提供的手机网络视频直播场景的示意图;
图5为本申请一实施例提供的摄像头虚拟化引擎的结构示意图;
图6为本申请一实施例提供的应用程序、图像消费者实例、图像提供者实例以及摄像头之间的关系示意图;
图7a为本申请一实施例提供的多应用共享摄像头流程中第一阶段的示意图;
图7b为本申请一实施例提供的多应用共享摄像头流程中第二阶段的示意图;
图7c为本申请一实施例提供的多应用共享摄像头流程中第三阶段的示意图;
图8a、图8b分别为本申请一实施例提供的车辆驾驶场景下的应用程序、图像消费者实例、图像提供者实例以及摄像头之间的关系示意图;
图9为本申请一实施例提供的网络视频直播场景下的应用程序、图像消费者实例、图像提供者实例以及摄像头之间的关系示意图;
图10为本申请一实施例提供的网络视频直播界面示意图。
具体实施方式
下面将结合本申请以下实施例中的附图,对本申请实施例中的技术方案进行详尽描述。
首先对本申请实施例中的一些技术术语进行简要说明。
实例:在计算机技术领域,实例是通过对对象或类进行实例化得到的。类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象是具有类类型的变量。类和对象是面向对象编程技术中的最基本的概念。对象或类在定义完之后无法直接使用,需要通过实例化才可以使用。通过对对象或类进行实例化,可以得到一个实例,用于实现一定的功能。一个对象或类可被实例化为多个实例,不同的实例彼此间独立运行。
本申请实施例提供的多应用共享摄像头的方法可以应用于诸如手机、平板电脑、可穿戴设备(例如,手表、手环、头盔、耳机、项链等)、车载设备、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图1示出了电子设备100的结构示意图。如图1所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serialbus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
显示屏194用于显示应用的显示界面,例如相机应用的取景界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用程序的软件代码等。存储数据区可存储电子设备100使用过程中所产生的数据(例如拍摄的图像、录制的视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。
陀螺仪传感器180B可以用于拍摄防抖。气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备100姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现与电子设备100的接触和分离。
可以理解的是,图1所示的部件并不构成对电子设备100的具体限定,手机还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。此外,图1中的部件之间的组合/连接关系也是可以调整修改的。
图2示出了本申请一实施例提供的电子设备的软件结构框图。如图2所示,电子设备的软件结构可以是分层架构,例如可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层(framework,FWK),安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图2所示,应用程序层可以包括相机、设置、皮肤模块、用户界面(user interface,UI)、三方应用程序等。其中,三方应用程序可以包括图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
图3示例性示出了本申请实施例提供的多个应用共享摄像头的架构示意图。
如图3所示,本申请实施例中,应用程序A、应用程序B和应用程序C均为可以使用摄像头的应用程序。应用程序A、应用程序B和应用程序C与摄像头虚拟化引擎301连接,摄像头虚拟化引擎301与数据传输模块302连接,数据传输模块302与摄像头A和摄像头B连接。
其中,数据传输模块302可以直接与摄像头A和摄像头B连接,也可以通过摄像头适配模块与摄像头A和摄像头B连接,比如当摄像头A和摄像头B为电子设备外部的摄像头时,数据传输模块302与摄像头A和摄像头B的适配模块连接,该适配模块可控制摄像头A和摄像头B。
需要说明的是,图3仅以三个应用程序共享两个摄像头为例描述,实际应用中,应用程序的数量以及摄像头的数量不受图3所限,比如应用程序的数量可以是两个或者比图3所示的应用程序的数量更多,摄像头的数量可以是一个或者比图3所示的摄像头的数量更多。
在一些可能的实现方式中,应用程序A、应用程序B、应用程序C以及摄像头虚拟化引擎301和数据传输模块302,设置在一个电子设备中,摄像头A和摄像头B独立于该电子设备,比如位于另外的装置。该装置中可安装有摄像头适配模块,用以控制摄像头获取指定格式的图像,并可以与电子设备中的数据传输模块通信,用于接收图像获取指令并回传从摄像头获取的图像/视频数据。其中,摄像头适配模块可以由摄像头软件开发包(softwaredevelopment kit,SDK)实现。
比如,以图4a所示的车辆驾驶场景为例,手机410上安装有疲劳驾驶检测应用411、手势识别应用412、视频通话应用413、停车位识别应用414,车辆510的仪表盘上设置有可以采集驾驶员图像的摄像头A、车辆前部设置有可以采集车前部外景图像的前置摄像头B,车辆尾部设置有可以采集车后部外景图像的摄像头C,摄像头A、摄像头B和摄像头C均与车载系统中的摄像头适配模块511连接,其工作状态可受控于该摄像头适配模块511。手机410内还设置有摄像头虚拟化引擎415与数据传输模块416,其中,摄像头虚拟化引擎415相当于图3中的摄像头虚拟化引擎301,数据传输模块416相当于图3中的数据传输模块302。数据传输模块416可与车载系统通信,比如可以向车载系统发送用于摄像头的请求,以使得车载系统对摄像头进行控制,还可以从车载系统接收摄像头采集的图像或视频数据。
如图4a所示,车载系统采用车载专用中央处理器,基于车身总线系统和互联网服务,形成车载综合信息处理系统。车载系统能够实现包括三维导航、实时路况、网路协议电视(internet protocol television,IPTV)、辅助驾驶、故障检测、车辆信息、车身控制、移动办公、无线通讯、基于在线的娱乐功能及汽车远程服务提供商(telematics serviceprovider,TSP)服务等一系列应用。图4a中示例性示出了车载系统中的部分结构,其中与本申请实施例相关的部分中,车辆各部分安装的摄像头(摄像头A、摄像头B,摄像头C)通过总线与车载系统中的摄像头适配模块511连接,摄像头适配模块511可以基于该总线向相应摄像头发送控制指令,也可以接收相应摄像头采集并发送来的图像或视频数据。摄像头适配模块511可以是中央处理器中的一个功能模块,该功能模块可以由摄像头SDK实现。此外,车辆中安装的各种传感器等部件也通过总线与相应控制模块(如图中的车辆控制模块)连接,用以进行信息和数据交互,实现相应控制功能。
在另一些可能的实现方式中,应用程序A、应用程序B、应用程序C、摄像头虚拟化引擎301和数据传输模块302,以及摄像头A和摄像头B设置在一个电子设备内,即摄像头A和摄像头B为该电子设备的内置摄像头。
比如,以图4b所示的手机网络视频直播场景为例,手机420上安装有第一网络视频直播应用程序421、第二网络视频直播应用程序422,并设置有摄像头虚拟化引擎423与数据传输模块424,手机420中内置有前置摄像头A以及两个后置摄像头(摄像头B和摄像头C),当然前置摄像头以及后置摄像头的数量也可以是其他情况,并不受限于图4b所示的数量,例如手机420中也可以内置有多个前置摄像头和多个后置摄像头。其中,摄像头虚拟化引擎423相当于图3中的摄像头虚拟化引擎301,数据传输模块424相当于图3中的数据传输模块302。
基于图3所示的架构,在其他一些可能的实现方式中,应用程序A、应用程序B、应用程序C、摄像头虚拟化引擎301和数据传输模块302,以及摄像头A设置于一个电子设备内,摄像头B独立于该电子设备,比如设置在另外的装置中。
其中,所述“连接”是指通信连接,具有通信连接的两个模块、单元或部件等可以进行信息交互,具体包括可以进行信令和/或数据交互。图3中的虚线表示信令传输,实线表示数据传输。
基于图3所示的架构,示例性地,应用程序A可以向摄像头虚拟化引擎301发送图像获取请求以请求获取摄像头A采集的图像或视频,摄像头虚拟化引擎301可以根据应用程序A发送的图像获取请求,向数据传输模块302发送用于控制摄像头A的请求,数据传输模块302可以根据该用于控制摄像头A的请求,向摄像头A发送控制指令,以开启摄像头A。摄像头A采集到图像或视频数据后,可将该数据发送给数据传输模块302,数据传输模块302可将该数据发送给摄像头虚拟化引擎301,摄像头虚拟化引擎301可将该数据发送给应用程序A。
其中,应用程序A所发送的图像获取请求,可以用于请求摄像头采集的单帧图像,相当于使摄像头工作于相机模式以拍摄单帧图像,也可以请求获取摄像头采集的视频,相当于使摄像头工作于摄像机模式以采集视频。由于视频包含一系列连续图像,因此本申请实施例中,将用于获取单帧图像以及获取视频的请求,统称为图像获取请求。
不同的应用程序所请求使用的摄像头可能不同,每个摄像头对应一个数据通道,因此可能同时有多个数据通道存在于电子设备和多个摄像头之间。
基于图3所示的架构,在一些实施例中,应用程序发送的图像获取请求中可携带该应用程序所要求的图像参数集合。摄像头虚拟化引擎301在接收到数据传输模块302发送的摄像头采集的图像/视频数据后,可根据应用程序要求的图像参数进行处理(比如图像格式转换、色彩空间转换等),并将处理后的数据发送给对应的应用程序。如果多个应用程序所要求的图像参数相同,则摄像头虚拟化引擎301可以针对这些应用程序仅进行一次图像处理操作,得到符合这些应用程序要求的图像/视频数据,并分别发送给这些应用程序,避免针对各个应用程序分别进行数据处理而导致的重复操作,从而避免浪费资源开销。
不同的应用程序对图像或视频的大小、显示质量等可能有不同的要求,具体可以通过一个或多个图像参数来表征。一个应用程序所要求的图像参数集合中可包括以下图像参数中的至少一个:
(1)数据格式参数,用于指示数据格式。对于图像来说,该参数指示图像格式,比如,图像格式可包括bmp,jpg,png,tif,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,WMF,webp等;对于视频来说,该参数指示视频格式,比如,视频格式可包括MPEG、AVI、nAVI、ASF、MOV、3GP、WMV、DivX、XviD、RM、RMVB、FLV/F4V等。
(2)分辨率,例如,分辨率可包括480P,720P,1080P。
(3)帧率,例如,帧率可以是30fps,60fps。
(4)色彩空间参数,用于指示所使用的色彩空间,比如,色彩空间可包括RGB、CMYK、Lab、NV21等。
需要说明的是,以上图像参数的种类仅为示例,本申请实施例对图像参数的种类不做限制,实际应用中可能包含更多种类的图像参数。
摄像头虚拟化引擎301可对多个应用程序的图像参数集合进行汇总,得到用于控制摄像头进行数据采集的图像参数,以使得摄像头按照该图像参数进行图像/视频数据采集。多个应用程序可能请求使用同一个目标摄像头,但该多个应用程序所要求的图像参数集合可能不同,摄像头虚拟化引擎301可根据该使用同一个目标摄像头的多个应用程序的图像参数集合,获取这些图像参数集合中公共部分最大化的图像参数并通过数据传输模块302发送给对应的摄像头,以控制摄像头按照该图像参数进行数据采集。其中,最大化图像参数一方面需要与目标摄像头的能力相匹配,另一方面应是使用同一个目标摄像头的多个应用程序的图像参数集合中,满足最大化要求的图像参数。
其中,为了使得最大化图像参数与目标摄像头的能力相匹配,可以从目标摄像头支持的图像参数中选择匹配的图像参数或最接近的图像参数,作为目标摄像头的图像采集配置参数。
其中,为了能够满足多个应用程序的要求,可以选取图像要求较高的参数作为目标摄像头的图像采集配置参数,当摄像头虚拟化引擎301接收到目标摄像头采集到的图像/视频数据后,可通过格式转换和/或颜色空间转换等处理,以使得处理后的图像/视频数据满足对图像要求较低的应用程序。
比如,应用程序A和应用程序B请求使用同一个目标摄像头,应用程序A所要求的图像分辨率为480P,应用程序B所要求的图像分别率为720P,该目标摄像头所支持的最高分别率为1080P。摄像头虚拟化引擎301根据上述情况,选取分辨率720P作为该目标摄像头进行数据采集时所依据的分辨率(即摄像头采集的图像的分辨率为720P)。摄像头虚拟化引擎301所选取的分辨率720P与目标摄像头的能力相适应,并且满足应用程序B的要求,通过降低分辨率到480P后也可以满足应用程序A的要求。
再比如,应用程序A和应用程序B请求使用同一个目标摄像头,应用程序A所要求的图像格式为jpg,应用程序B所要求的图像格式为raw(raw为无压缩格式,jpg为有损压缩格式),该目标摄像头所支持的图像格式包括jpg和raw。摄像头虚拟化引擎301根据上述情况,选取图像格式raw作为该目标摄像头进行数据采集时所依据的图像格式(即摄像头采集的图像数据存储为raw格式)。摄像头虚拟化引擎301所选取的图像格式raw与目标摄像头的能力相适应,并且满足应用程序B的要求,通过将raw格式的图像转换为jpg格式的图像,也可以满足应用程序A的要求。
经过如上处理,手机内部的多个APP可以同时获取手机内部摄像头或外部摄像头的画面,而且互不影响。
进一步地,本申请实施例中,图像参数集合中还可以包括一个或多个编辑操作指示信息,其中一个编辑操作指示信息用于指示一种编辑操作,比如,编辑操作指示信息可包括以下中的至少一项:
旋转指示信息,用于指示对图像/视频进行旋转的编辑操作;
镜像指示信息,用于指示对图像/视频进行镜像的编辑操作;
裁剪指示信息,用于指示对图像/视频进行裁剪的编辑操作等。
需要说明的是,以上编辑操作指示信息所指示的编辑操作类型仅为示例,本申请实施例对图像编辑操作的类型不做限制,实际应用中可能包含更多类型的图像编辑操作。
更进一步地,如果图像参数集合中包括旋转指示信息,则可以进一步包括旋转角度指示信息;如果图像参数集合中包括裁剪指示信息,则可以进一步包括裁剪方式或裁剪策略信息,以指示裁剪位置和/或裁剪尺寸等。
上述实施例中,由于对图像的编辑操作由图像提供者实例来实现,因此不会增加应用程序的图像处理操作负担以及应用程序的开发工作量。
本申请实施例中,可以在应用程序与摄像头之间引入两级实例:图像消费者实例(ImageConsumer)和图像提供者实例(ImageProvider),其中,图像提供者实例主要用于接收摄像头采集的数据(包括图像数据和/或视频数据),对接收到的数据进行处理并发送给图像消费者实例;图像消费者实例主要用于消费摄像头采集到的数据,即,将摄像头采集的数据发送给与该图像消费者实例对应的应用程序。
图像消费者实例和图像提供者实例的创建以及管理,可以由摄像头虚拟化引擎301实现。
图5示例性示出了摄像头虚拟化引擎301的结构示意图。
如图5所示,摄像头虚拟化引擎301可包括:图像消费者实例管理模块3011、图像提供者实例管理模块3012、设备策略模块3013,进一步地,还可包括数据解码模块3014。图像消费者实例管理模块3011用于对图像消费者实例进行创建和管理;图像提供者实例管理模块用于对图像提供者实例进行创建和管理;设备策略模块3013用于确定是否需要创建新的图像提供者实例,以及通过数据传输模块302向目标摄像头发送开启等控制指令;数据解码模块3014用于对从数据传输模块302传输过来的图像/视频数据进行解码。
图像消费者实例以及图像提供者实例的创建过程可包括:当某个应用程序请求使用某个摄像头(即请求获取该摄像头采集的数据)时,设备策略模块根据该请求判断是否需要建立新的图像提供者实例,若需要建立新的图像提供者实例,则触发图像提供者实例管理模块3012创建图像提供者实例,图像消费者实例管理模块3011可根据该请求,创建与该应用程序对应的图像消费者实例,并建立该图像消费者实例与相应的图像提供者实例之间的关联。其中,图像消费者实例与该应用程序一一对应,图像提供者实例与该应用程序所请求使用的摄像头以及与该应用程序所要求的图像参数集合相对应。
其中,在图像消费者实例与图像提供者实例之间建立关联的一种实现方式可以是:建立图像消费者实例与图像提供者实例的映射关系表,该映射关系表中包括图像消费者实例的标识信息以及与图像消费者实例存在关联关系的图像提供者实例的标识信息,其中,一个图像提供者实例可以对应一个图像消费者实例列表。当然也可以采用其他方法在图像消费者实例与图像提供者实例之间建立关联,本申请实施例对此不做限制。
在一些情况下,一个应用程序发送图像获取请求后,如果设备策略模块3013根据该请求所请求的目标摄像头以及图像参数集合判定与该目标摄像头以及该图像参数集合相对应的图像提供者实例已经存在,则无需创建新的图像提供者实例,而是将与该目标摄像头以及该图像参数集合相对应的图像提供者实例与所创建的图像消费者实例进行关联,比如在图像消费者实例与图像提供者实例的映射关系表中,在该目标摄像头以及该图像参数集合相对应的图像提供者实例所对应的图像消费者实例列表中,添加该应用程序对应的图像消费者实例的标识信息。
在一些实施例中,当应用程序请求停止使用某个摄像头或者该应用程序被关闭时,图像消费者实例管理模块3011可删除该应用程序对应的图像消费者实例。进一步地,设备策略模块3013若判定与该图像消费者实例关联的图像提供者实例,在该图像消费者实例被删除后,不再与任何图像消费者实例关联,则可指示图像提供者实例管理模块3012删除该图像提供者实例。通过删除图像消费者实例和/或图像提供者实例,可以释放存储资源。
数据解码模块3014主要用于对摄像头采集的数据进行解码处理。具体地,该数据解码模块3014模块接收数据传输模块发送的由摄像头采集的原始图像/视频数据(比如H264、H265或其他格式的数据),将该数据解码为可以用于图像处理的图像帧数据(比如YUV或RGB色彩空间的数据),以供图像提供者实例进行进一步图像处理。
在一些实施例中,设备策略模块3013可根据该使用同一个目标摄像头的多个应用程序的图像参数集合,获取这些图像参数集合中公共部分最大化的图像参数并通过数据传输模块302发送给对应的摄像头,以控制摄像头按照该图像参数进行数据采集。具体实现方法可参见前述内容。
图6示例性示出了应用程序、图像消费者实例、图像提供者实例以及摄像头之间的关系示意图。
如图所示,一个图像消费者实例与一个应用程序一一对应,一个图像提供者实例可以与一个或多个图像消费者实例关联,一个图像提供者实例仅与一个摄像头对应,不同的图像提供者实例可以与同一个摄像头对应。
其中,每个图像提供者实例对应于一个图像参数集合与一个摄像头标识的组合,且不同的图像提供者实例所对应的图像参数集合与摄像头标识的组合彼此不相同。
以图6为例,应用程序A、应用程序B和应用程序C请求使用摄像头1,应用程序D请求使用摄像头2。应用程序A要求的图像参数集合为图像参数集合1,应用程序B和应用程序C要求的图像参数集合为图像参数集合2,应用程序D要求的图像参数集合为图像参数集合3,则了应用程序、图像消费者实例、图像提供者实例以及摄像头之间的关系为:
应用程序A与图像消费者实例A对应,应用程序B与图像消费者实例B对应,应用程序C与图像消费者实例C对应,应用程序D与图像消费者实例D对应。图像提供者实例1应于摄像头1以及图像参数集合1,与图像消费者实例A关联;图像提供者实例2对应于摄像头1以及图像参数集合2,与图像消费者实例B和图像消费者实例C关联;图像提供者实例3对应于摄像头2以及图像参数集合3,与图像消费者实例D关联。
进一步地,从图6可以看出,如果多个应用程序使用同一个摄像头,并采用相同的图像参数集合,则这些应用程序对应的图像消费者实例可以关联于同一个图像消费者实例,从而可以基于该图像消费者实例对摄像头采集的数据进行编辑处理,得到满足这些应用程序要求的数据,并分别发送给这些应用程序,避免针对每个应用程序重复数据编辑处理操作,从而可以减少数据处理开销。
应用程序可将图像参数集合携带于图像获取请求,以使得该应用程序对应的图像提供者实例能够获得该图像参数集合。一方面,图像提供者实例可将图像参数集合中的全部或部分参数携带于用于控制摄像头的请求,通过数据传输模块发送给摄像头,使得摄像头根据该图像参数进行数据采集;另一方面,图像提供者实例在收到摄像头采集的数据后,可根据该图像参数对接收到的数据进行处理,以得到满足应用程序要求的图像或视频数据。
图7a、图7b和图7c示例性示出了本申请实施例提供的一种多应用共享摄像头的流程示意图。该流程可包括三个阶段,按照时间先后顺序,该三个阶段包括:
第一阶段:设备初始化阶段。该阶段,电子设备获取摄像头信息,比如摄像头数量、摄像头标识、摄像头位置、摄像头支持的数据格式(包括分辨率、帧率、色彩空间等)。
对于摄像头为电子设备内置摄像头的情况,在电子设备初始化过程中可完成上述摄像头信息的获取过程;对于摄像头与电子设备独立设置(即安装有摄像头的装置,与使用摄像头的应用所在的电子设备,分别为不同设备)的情况,电子设备可通过与安装有摄像头的装置进行交互,以完成上述摄像头信息获取过程。
第二阶段:请求阶段。该阶段,电子设备中的应用程序发送图像获取请求,以请求获取摄像头采集的图像/视频。基于应用程序发送的图像获取请求,图像消费者实例、图像提供者实例被创建,并建立彼此间的关联,从而建立应用程序到摄像头之间的数据传输通道。
第三阶段:数据传输阶段。该阶段,摄像头采集到的图像/视频数据,基于第二阶段建立的数据传输通道被传输到应用程序。
需要说明的是,在初始化阶段获取到摄像头信息后,获取到的摄像头信息被保存在该电子设备中,而不必每次有应用程序发送图像获取请求之前都需要执行第一阶段。
下面以摄像头位于电子设备之外为例,并结合图7a、图7b和图7c,对上述三个阶段进行详细说明:
第一阶段:设备初始化阶段,如图7a所示,该阶段可包括如下步骤:
步骤1:电子设备中的数据传输模块向和安装有摄像头的目标装置发送连接建立请求,以请求与该目标装置建立连接,并请求获取摄像头信息。
步骤2:目标装置侧的摄像头适配模块响应该请求,与电子设备建立连接,并返回连接建立响应,连接建立响应携带摄像头信息,摄像头信息包括摄像头数量、摄像头标识、摄像头位置、摄像头支持的数据格式(比如分辨率、帧率、色彩空间)等。
步骤3:电子设备中的设备策略模块(DevicePolicy)保存获取到的摄像头信息。
第二阶段:请求阶段,如图7b所示,该阶段可包括如下步骤:
步骤4:电子设备中的应用程序发送图像获取请求,该请求中可携带目标装置标识(即安装有摄像头的装置的标识)、图像格式信息。
其中,图像格式信息用于指示该应用程序所要求的图像格式,图像格式信息具体可包括如下信息中的至少一项:分辨率、帧率、色彩空间、旋转角度、是否镜像的指示信息、裁剪策略信息等。本申请实施例中,图像格式信息可表现为图像参数集合。
该步骤中,应用程序可基于上述第一阶段获取到的摄像头信息,自主确定需要使用的目标摄像头,具体地,应用程序可根据其业务类型选择位置匹配的摄像头,比如,在车辆驾驶场景中,手机上的疲劳驾驶检测应用需要查看驾驶员状态,因此选择驾驶位摄像头(比如安装在仪表盘上的摄像头)作为目标摄像头,并将目标装置标识和目标摄像头标识携带在图像获取请求中。
应用程序也可以在其用户界面上显示摄像头列表(该摄像头列表根据上述第一阶段中获取到的摄像头信息生成),由用户从该列表中选择目标摄像头。该摄像头列表中可包括摄像头位置、名称、描述信息等。
步骤5:建立该应用程序对应的应用代理实例(AppAgent)。
通过应用代理实例,可接收应用程序的图像数据回调接口(该接口用于接收应用程序所需的图像数据)、目标摄像头标识以及应用程序的图像参数集合。
步骤6:应用代理实例(AppAgent)向设备策略模块(DevicePolicy)发送图像获取请求,该图像获取请求携带目标摄像头标识以及图像参数集合,该图像参数集合用于指示该应用程序所要求的图像格式。
步骤7:设备策略模块(DevicePolicy)判断是否建立新的图像提供者实例(ImageProvider),如果需要建立新的图像提供者实例,则发送用于建立图像提供者实例的指示。
该步骤中,如果设备策略模块判断是否已存在与该目标摄像头和该图像参数集合对应的图像提供者实例,若不存在,则需要建立与该目标摄像头和该图像参数集合对应的图像提供者实例,否则,无需建立新的图像提供者实例,并可直接向应用代理实例返回建立成功响应,使得该应用代理实例消费已有的图像提供者实例提供的数据即可。
本流程以需要创建新的图像提供者实例为例描述。
步骤8:设备策略模块(DevicePolicy)指示建立新的图像提供者实例(ImageProvider实例)。
步骤9:图像提供者实例管理模块根据设备策略模块的指示建立图像提供者实例(ImageProvider),该图像提供者实例与目标摄像头以及上述图像参数集合对应。
步骤10:应用代理实例(AppAgent)指示图像消费者实例管理模块建立与该应用程序对应的图像消费者实例(ImageConsumer),用于消费图像提供者实例(ImageProvider)产生的指定格式的数据。
步骤11:图像消费者实例管理模块根据应用代理实例的指示,创建图像消费者实例(ImageConsumer),并建立该图像消费者实例与对应的图像提供者实例(即步骤9中创建的图像提供者实例)之间的关联。
其中,一个应用代理实例(AppAgent)对应一个图像消费者实例(ImageConsumer)。图像消费者实例(ImageConsumer)可根据应用程序所要求的图像参数,关联到对应的图像提供者实例(ImageProvider),多个ImageConsumer可能关联到同一个ImageProvider。
步骤12:设备策略模块(DevicePolicy)根据目标装置的摄像头信息,结合所有请求从该目标摄像头获取图像/视频的应用程序的图像参数集合,确定该目标摄像头与这些应用程序的图像参数集合所匹配的图像参数(分辨率,帧率,色彩空间等)。
步骤13:数据传输模块发送摄像头打开指令到目标装置侧的摄像头SDK模块,其中携带步骤12中确定出的图像参数。
摄像头SDK模块安装在目标装置中,用于接收电子设备侧发送的摄像头信息获取请求并将摄像头信息返回给电子设备(参见图7a中的步骤1~2),还用于接收针对目标摄像头的控制请求以开启相应的摄像头,还用于将摄像头采集的图像/视频数据返回给电子设备。
步骤14:目标装置侧的摄像头SDK模块按照指令中携带的图像参数,向目标摄像头发送开启指令,以指示目标摄像头按照该图像参数采集图像/视频数据。
至此,从该应用程序到摄像头之间建立起一条数据通道,该数据通道可表示为:
应用代理实例—图像消费者实例—图像提供者实例—数据传输模块—摄像头。
上述流程以一个应用程序请求获取图像的过程为例描述,如果有多个应用程序请求获取图像,则针对每个应用程序的图像获取请求,均可按照上述流程建立相应应用程序与目标摄像头之间的数据通道。其中,如果多个应用程序所请求的目标摄像头相同且所要求的图像参数集合相同,则该多个应用对应的多个图像消费者实例可以对应同一个图像提供者实例,以满足该多个应用的图像格式要求。
第三阶段:数据传输阶段,如图7c所示,该阶段可包括如下步骤:
步骤15:应用代理实例(AppAgent)申请若干共享内存块用于模块间数据共享;应用代理实例(AppAgent)发送请求到图像消费者实例(ImageConsumer),该请求中携带共享内存地址。
步骤16:图像消费者实例(ImageConsumer)缓存应用代理实例(AppAgent)发送的请求,保存共享内存地址。
步骤17:目标装置侧的摄像头SDK模块接收摄像头采集的图像/视频数据,并将其发送给数据传输模块。
其中,摄像头SDK模块传输的数据经过编码压缩,以适应网络传输,压缩格式可采用H264、H265或其他满足网络传输的图像传输编码格式。
步骤18:数据传输模块将接收到的图像/视频数据发送给数据解码模块。
步骤19:数据解码模块将接收到的图像/视频数据解码为图像数据帧,如YUV或RGB格式的图像数据帧。
步骤20:数据解码模块将图像数据帧发送给与目标摄像头对应的图像提供者实例(ImageProvider)。
该步骤中,如果有多个图像提供者实例与该目标摄像头对应,则数据解码模块将图像数据帧分别发送给该多个图像提供者实例。
步骤21:接收到图像数据帧的图像提供者实例(ImageProvider)根据自身对应的图像参数集合,对接收到的图像数据帧进行处理,以得到满足应用程序要求的图像/视频数据。比如,可根据图像参数集合中的图像参数进行以下图像处理操作中的至少一种:分辨率转换、色彩空间转换、帧率控制、图像旋转、图像镜像、图像裁剪等。
步骤22:图像提供者实例(ImageProvider)将处理后的图像/视频数据发送给关联的图像消费者实例(ImageConsumer)。
该步骤中,如果有多个图像提供者实例与该目标摄像头对应,则该多个图像提供者实例中的每个图像提供者实例,将处理后的图像/视频数据发送给各自关联的图像消费者实例(ImageConsumer)。
步骤23:图像消费者实例(ImageConsumer)收到图像/视频数据后,根据步骤16中缓存的共享内存地址,将接收到的图像/视频数据存储到相应的共享内存块。
步骤24:图像消费者实例(ImageConsumer)向应用代理实例(AppAgent)发送图像/视频数据,或者通知图像消费者实例从共享内存块读取图像/视频数据。
步骤25:应用代理实例(AppAgent)获取图像/视频数据,并将其发送给对应的应用程序。
图像/视频数据返回到应用程序成功后,图像消费者实例可清空共享内存块,在该共享内存块中存入新的数据,发送新的通知给应用代理实例,以使得应用代理实例从该共享内存块获取新的图像/视频数据并发送给对应的应用程序。
上述流程中,在步骤15~16,ImageConsumer接收AppAgent发送的图像获取请求并分配共享内存地址;在步骤23~25,ImageConsumer取出AppAgent发送的图像获取请求,填充图像数据后返回给AppAgent,AppAgent调用应用程序的图像回调接口返回图像数据给应用程序。其中,AppAgent与ImageConsumer之间的图像获取请求中携带有共享内存地址,从而可以使用有限的共享内存进行轮转,循环使用,避免为每个图像获取请求单独申请内存而导致降低系统效率。
根据上述一个或多个实施例的组合可以看出,一个应用程序对应一个图像消费者实例(ImageConsumer),一个摄像头以及一种图像参数集合对应一个图像提供者实例(ImageProvider),一个图像提供者实例对应一个或多个图像消费者实例(ImageConsumer),通过上述“生产者-消费者”机制,可以满足一个摄像头的数据共享给多个应用程序使用;通过为多个摄像头建立各自的数据通道,电子设备可以同时控制和获取多个摄像头采集的数据,从而实现电子设备侧的多个应用程序同时获取多个摄像头采集的图像数据,满足了同一时刻多个应用程序同时使用一个或多个摄像头获取的不同图像参数要求的图像数据,提高了用户体验。
本申请实施例可以适用于多种操作系统,并可以跨操作系统平台来使用,比如如图4a所示的应用场景中,手机和车载终端分别使用不同的操作系统平台。比如,手机和车载终端的操作系统均为华为鸿蒙系统;再比如,手机的操作系统为安卓(android)系统,车载终端的操作系统为华为鸿蒙系统。
根据以上一个或多个实施例的组合,图4a和图8a以及图8b示例性示出了本申请实施例在车辆驾驶场景下的应用。
如图4a所示,手机410上安装有疲劳驾驶检测应用411、手势识别应用412、视频通话应用413、停车位识别应用414,车辆510的仪表盘上设置有可以采集驾驶员图像的摄像头A、车辆前部设置有可以采集车前部外景图像的前置摄像头B,车辆尾部设置有可以采集车后部外景图像的摄像头C,摄像头A、摄像头B和摄像头C均与车载系统中的摄像头适配模块511连接,其工作状态可受控于该摄像头适配模块511。手机410内设置有摄像头虚拟化引擎415与数据传输模块416。
数据传输模块416可与车载系统通信,比如可以向车载系统发送用于摄像头的请求,以使得车载系统对摄像头进行控制,还可以从车载系统接收摄像头采集的图像或视频数据。
疲劳驾驶检测应用411发送图像获取请求,以请求获取摄像头A采集的图像数据,该图像获取请求中携带的图像参数集合为{480p,30fps,nv21},即该应用要求的图像分辨率为1080p,帧率为30fps,色彩空间为nv21。
手势识别应用412发送图像获取请求,以请求获取摄像头A采集的图像数据,该图像获取请求中携带的图像参数集合为{480p,30fps,nv21}。
视频通话应用413发送图像获取请求,以请求获取摄像头B采集的图像数据,该图像获取请求中携带的图像参数集合为{1080p,30fps,nv21}。
停车位识别应用414发送图像获取请求,以请求获取摄像头C采集的图像数据,该图像获取请求中携带的图像参数集合为{480p,30fps,nv21}。
手机410内的摄像头虚拟化引擎415根据上述各应用程序的图像获取请求,可建立如图8a所示的图像消费者实例和图像提供者实例,以及与应用程序和摄像头之间的对应关系。
手机中的数据传输模块416接收到摄像头A采集的数据后传输给图像提供者实例1,图像提供者实例1将接收到的数据处理为疲劳驾驶检测应用411和手势识别应用412所要求的数据格式,并分别发送给图像消费者实例1和图像消费者实例2,并由图像消费者实例1和图像消费者实例2分别发送给疲劳驾驶检测应用411和手势识别应用412。
手机中的数据传输模块416接收到摄像头B采集的数据后传输给图像提供者实例2,图像提供者实例2将接收到的数据处理为视频通话应用413所要求的数据格式,并发送给图像消费者实例3,并由图像消费者实例3发送给视频通话应用413。
手机中的数据传输模块416接收到摄像头C采集的数据后传输给图像提供者实例3,图像提供者实例3将接收到的数据处理为停车位识别应用414所要求的数据格式,并发送给图像消费者实例4,并由图像消费者实例4发送给停车位识别应用414。
从而实现疲劳驾驶检测应用411、手势识别应用412、视频通话应用413、停车位识别应用414同时共享摄像头A、摄像头B和摄像头C。
基于上述车辆驾驶场景,图8b示例性示出了以车载系统为华为的HiCar车机系统为例,描述了手机中的多个应用共享使用车辆中安装的多个摄像头的过程。其中,虚线表示信令传输,实线表示数据传输。
疲劳驾驶检测应用发送图像获取请求,以请求获取仪表盘摄像头(即安装在仪表盘上的摄像头)采集的图像数据,该图像获取请求中携带的图像参数集合为{480p,30fps,nv21}。摄像头虚拟化引擎中的应用代理实例管理模块创建与该应用对应的疲劳驾驶检测应用代理实例(AppAgent)。
该疲劳驾驶检测AppAgent向设备策略模块(DevicePolicy)发送图像获取请求,设备策略模块(DevicePolicy)向图像提供者实例管理模块发送创建图像提供者实例的指令,图像提供者实例管理模块根据该指令创建与仪表盘摄像头和图像参数集合{480p,30fps,nv21}对应的图像提供者实例1。疲劳驾驶检测AppAgent还指示图像消费者实例管理模块建立与该应用程序对应的图像消费者实例(ImageConsumer)1,图像消费者实例管理模块根据应用代理实例的指示,创建图像消费者实例1,并建立图像消费者实例1与图像提供者实例1之间的关联。
设备策略模块(DevicePolicy)结合当前所有目标摄像头为仪表盘摄像头的图像获取请求,从该仪表盘摄像头获取图像/视频的应用程序的图像参数集合,确定该目标摄像头与这些应用程序的图像参数集合所匹配的图像参数,并通过数据传输模块发送给HiCar车机系统中的摄像头适配模块以控制该仪表盘摄像头。
手机侧的手势识别应用、视频通话应用、停车位识别应用发送图像获取请求后,其处理过程类似,再次不再详述。通过上述流程可形成从仪表盘摄像头到疲劳驾驶检测应用和手势识别应用的第一数据通道,从车前侧摄像头到视频通话应用的第二数据通道,以及从车尾部摄像头到停车位识别应用的第三数据通道。
当手机侧的数据传输模块接收到仪表盘摄像头采集到的数据流1后,数据流1沿第一数据通道,经过数据解码模块、图像提供者实例1、与图像提供者实例1关联的图像消费者实例1和图像消费者实例2,被存储到图像消费者实例1的疲劳驾驶检测请求队列以及图像消费者实例2的手势识别请求队列,以使得疲劳驾驶检测AppAgent从疲劳驾驶检测请求队列获取图像数据并发送给对应的疲劳驾驶检测应用,并使得手势识别AppAgent从手势识别请求队列获取图像数据并发送给对应的手势识别应用。
当手机侧的数据传输模块接收到车检测摄像头采集到的数据流2后,数据流2沿第二数据通道,经过数据解码模块、图像提供者实例2、与图像提供者实例2关联的图像消费者实例3,被存储到图像消费者实例3的视频通话请求队列,以使得视频通话AppAgent从视频通话请求队列获取图像数据并发送给对应的视频通话应用。
当手机侧的数据传输模块接收到车检测摄像头采集到的数据流3后,数据流3沿第三数据通道,经过数据解码模块、图像提供者实例4、与图像提供者实例4关联的图像消费者实例4,被存储到图像消费者实例4的停车位识别请求队列,以使得停车位识别AppAgent从停车位识别请求队列获取图像数据并发送给对应的停车位识别应用。
根据以上一个或多个实施例的组合,图4b、图9、图10示例性示出了本申请实施例在网络视频直播场景下的应用。
如图4b所示,手机420上安装有第一网络视频直播应用程序421、第二网络视频直播应用程序422,并设置有摄像头虚拟化引擎423与数据传输模块424,手机420中内置有前置摄像头A以及两个后置摄像头(摄像头B和摄像头C)。应理解:手机420中也可以内置有多个前置摄像头和多个后置摄像头。手机420内设置有摄像头虚拟化引擎423与数据传输模块424。
当前用户需要同时开启该手机内的第一网络视频直播应用程序421和第二网络视频直播应用程序422进行网络视频直播,首先,可对该手机进行分屏操作,使得手机屏幕显示两个窗口,并在第一分屏窗口开启第一网络视频直播应用,在第二分屏窗口开启第二网络视频直播应用。
当用户在第一分屏窗口中的第一网络视频直播应用开启直播时,第一网络视频直播应用421发送图像获取请求,以请求获取内置摄像头A采集的图像数据;当用户在第二分屏窗口中的第二网络视频直播应用开启直播时,第二网络视频直播应用422发送图像获取请求,以请求获取内置摄像头A采集的图像数据。其中,第一网络视频直播应用421所要求的图像参数与第二网络视频直播应用422所要求的图像参数相同。
手机420内的摄像头虚拟化引擎423根据上述各应用程序的图像获取请求,可建立如图9所示的图像消费者实例和图像提供者实例,以及与应用程序和摄像头之间的对应关系。
手机中的数据传输模块424接收到摄像头A采集的数据后传输给图像提供者实例1,图像提供者实例1将接收到的数据处理为第一网络视频直播应用421和第二网络视频直播应用422所要求的数据格式,并分别发送给图像消费者实例1和图像消费者实例2,并由图像消费者实例1和图像消费者实例2分别发送给第一网络视频直播应用421和第二网络视频直播应用422。从而实现第一网络视频直播应用421和第二网络视频直播应用422同时共享手机内置摄像头A,用户界面可如图10所示。
如图10所示,第一分屏窗口1010中显示第一网络视频直播应用421的用户界面,第一分屏窗口1020中显示第二网络视频直播应用422的用户界面,第一分屏窗口1010和第二分屏窗口1020之间设置有分割条1030。由于第一网络视频直播应用和第二网络视频直播应用共用同一个前置摄像头,因此这两个直播应用显示的画面角度一致,提高了用户感受,并请使用一个手机同时开启多个网络直播,也便于用户操作,并可以节省成本开销。
以上实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
上述本申请提供的实施例中,从电子设备(例如手机)作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,终端设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要指出的是,本专利申请文件的一部分包含受著作权保护的内容。除了对专利局的专利文件或记录的专利文档内容制作副本以外,著作权人保留著作权。
Claims (16)
1.一种多应用共享摄像头的方法,应用于电子设备,其特征在于,包括:
分别响应于第一应用和第二应用发送的图像获取请求,所述图像获取请求用于请求从第一摄像头获取满足第一图像参数集合要求的图像数据,执行以下操作:
创建与所述第一应用对应的第一图像消费者实例,创建与所述第二应用对应的第二图像消费者实例;
根据所述第一应用和所述第二应用发送的图像获取请求所请求的第一摄像头以及第一图像参数集合,获取对应的第一图像提供者实例;
建立所述第一图像消费者实例与所述第一图像提供者实例之间的关联,以及所述第二图像消费者实例与所述第一图像提供者实例之间的关联;
响应于从所述第一摄像头接收图像数据,执行以下操作:
所述第一图像提供者实例基于所述第一图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第一图像提供者实例关联的所述第一图像消费者实例和所述第二图像消费者实例;
所述第一图像消费者实例将接收到的图像数据发送给所述第一应用,所述第二图像消费者实例将接收到的图像数据发送给所述第二应用。
2.如权利要求1所述的方法,其特征在于,还包括:
响应于第三应用发送的图像获取请求,所述图像获取请求用于请求从所述第一摄像头获取满足第二图像参数集合要求的图像数据,执行以下操作:
创建与所述第三应用对应的第三图像消费者实例;
根据所述第三应用发送的图像获取请求所请求的第一摄像头以及第二图像参数集合,获取对应的第二图像提供者实例;
建立所述第三图像消费者实例与所述第二图像提供者实例之间的关联;
响应于从所述第一摄像头接收图像数据,还执行以下操作:
所述第二图像提供者实例基于所述第二图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第二图像提供者实例关联的第三图像消费者实例;
所述第三图像消费者实例将接收到的图像数据发送给所述第三应用。
3.如权利要求2所述的方法,其特征在于,还包括:
向所述第一摄像头发送控制指令,所述控制指令携带用于控制所述第一摄像头进行图像数据采集的图像参数,所述图像参数与所述第一摄像头支持的图像参数相匹配,且为所述第一图像参数集合和所述第二图像参数集合中满足最大化要求的图像参数。
4.如权利要求1所述的方法,其特征在于,还包括:
响应于第四应用发送的图像获取请求,所述图像获取请求用于请求从第二摄像头获取满足第三图像参数集合的图像数据,执行以下操作:
创建与所述第四应用对应的第四图像消费者实例;
根据所述第四应用发送的图像获取请求所请求的第二摄像头以及第三图像参数集合,获取对应的第三图像提供者实例;其中,所述第三图像参数集合与所述第一图像参数集合相同或不同;
建立所述第四图像消费者实例与所述第三图像提供者实例之间的关联;
响应于从所述第二摄像头接收图像数据,执行以下操作:
所述第三图像提供者实例基于所述第四图像参数集合对接收到的所述第二摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第三图像提供者实例关联的第四图像消费者实例;
所述第四图像消费者实例将接收到的图像数据发送给所述第四应用。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述第一摄像头采集到的图像数据被分别发送给与所述第一摄像头对应的所有图像提供者实例。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述第一图像提供者实例基于所述第一图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,包括以下操作中的至少一项:
根据所述第一图像参数集合中的图像格式参数,对从所述第一摄像头接收的图像数据进行格式转换;
根据所述第一图像参数集合中的色彩空间参数,对从所述第一摄像头接收的图像数据进行色彩空间转换;
根据所述第一图像参数集合中的图像分辨率,对从所述第一摄像头接收的图像数据进行图像分辨率转换;
根据所述第一图像参数集合中的视频帧率,对从所述第一摄像头接收的图像数据进行视频帧率转换;或者,
根据所述第一图像参数集合中的图像编辑操作指示信息,对从所述第一摄像头接收的图像数据进行图像编辑;其中,所述图像编辑操作指示信息包括旋转指示信息、镜像指示信息、裁剪指示信息中的至少一项。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述第一摄像头为所述电子设备的一个内置摄像头,或为与所述电子设备连接的一个通信装置的摄像头;或者,
第二摄像头是为所述电子设备的一个内置摄像头,或为与所述电子设备连接的一个通信装置的摄像头。
8.一种多应用共享摄像头的方法,应用于电子设备,其特征在于,包括:
响应于第一应用发送的图像获取请求,所述图像获取请求用于请求从第一摄像头获取满足第一图像参数集合要求的图像数据,执行以下操作:
创建与所述第一应用对应的第一图像消费者实例;
根据所述第一应用发送的图像获取请求所请求的第一摄像头以及第一图像参数集合,获取对应的第一图像提供者实例;
建立所述第一图像消费者实例与所述第一图像提供者实例之间的关联;
响应于第二应用发送的图像获取请求,所述图像获取请求用于请求从第二摄像头获取满足第二图像参数集合要求的图像数据,所述第二图像参数集合与所述第一图像参数集合相同或不同,执行以下操作:
创建与所述第二应用对应的第二图像消费者实例;
根据所述第二应用发送的图像获取请求所请求的第二摄像头以及第一图像参数集合,获取对应的第二图像提供者实例;
建立所述第二图像消费者实例与所述第二图像提供者实例之间的关联;
响应于从所述第一摄像头和所述第二摄像头接收图像数据,执行以下操作:
所述第一图像提供者实例基于所述第一图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第一图像提供者实例关联的所述第一图像消费者实例,所述第一图像消费者实例将接收到的图像数据发送给所述第一应用;
所述第二图像提供者实例基于所述第二图像参数集合对接收到的所述第二摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第二图像提供者实例关联的所述第二图像消费者实例,所述第二图像消费者实例将接收到的图像数据发送给所述第二应用。
9.如权利要求8所述的方法,其特征在于,还包括:
响应于第三应用发送的图像获取请求,所述图像获取请求用于请求从所述第一摄像头获取满足所述第三图像参数集合要求的图像数据,所述第三图像参数集合与所述第一参数集合不同,执行以下操作:
创建与所述第三应用对应的第三图像消费者实例;
根据所述第三应用发送的图像获取请求所请求的第一摄像头以及第三图像参数集合,获取对应的第三图像提供者实例;
建立所述第三图像消费者实例与所述第三图像提供者实例之间的关联;
响应于从所述第一摄像头接收图像数据,还执行以下操作:
所述第三图像提供者实例基于所述第三图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,并将处理后的图像数据发送给所述第三图像提供者实例关联的第三图像消费者实例;
所述第三图像消费者实例将接收到的图像数据发送给所述第三应用。
10.如权利要求9所述的方法,其特征在于,还包括:
向所述第一摄像头发送控制指令,所述控制指令携带用于控制所述第一摄像头进行图像数据采集的图像参数,所述图像参数与所述第一摄像头支持的图像参数相匹配,且为所述第一图像参数集合和所述第三图像参数集合中满足最大化要求的图像参数。
11.如权利要求8-10中任一项所述的方法,其特征在于,所述第一摄像头采集到的图像数据被分别发送给与所述第一摄像头对应的所有图像提供者实例。
12.如权利要求8-11中任一项所述的方法,其特征在于,所述第一图像提供者实例基于所述第一图像参数集合对接收到的所述第一摄像头采集的图像数据进行处理,包括以下操作中的至少一项:
根据所述第一图像参数集合中的图像格式参数,对从所述第一摄像头接收的图像数据进行格式转换;
根据所述第一图像参数集合中的色彩空间参数,对从所述第一摄像头接收的图像数据进行色彩空间转换;
根据所述第一图像参数集合中的图像分辨率,对从所述第一摄像头接收的图像数据进行图像分辨率转换;
根据所述第一图像参数集合中的视频帧率,对从所述第一摄像头接收的图像数据进行视频帧率转换;或者,
根据所述第一图像参数集合中的图像编辑操作指示信息,对从所述第一摄像头接收的图像数据进行图像编辑;其中,所述图像编辑操作指示信息包括旋转指示信息、镜像指示信息、裁剪指示信息中的至少一项。
13.如权利要求8-12中任一项所述的方法,其特征在于,
所述第一摄像头为所述电子设备的一个内置摄像头,所述第二摄像头为所述电子设备的另一个内置摄像头;或者,
所述第一摄像头为所述电子设备的一个内置摄像头,所述第二摄像头为与所述电子设备连接的一个通信装置的摄像头;或者,
所述第一摄像头为与所述电子设备连接的一个通信装置的摄像头,所述第二摄像头为所述电子设备的一个内置摄像头;或者,
所述第一摄像头为与所述电子设备连接的一个通信装置的摄像头,所述第二摄像头为与所述电子设备连接的另一个通信装置的摄像头。
14.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-7任一项所述的方法,或者,如权利要求8-13任一所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-7任一所述的方法,或者,如权利要求8-13任一所述的方法。
16.一种电子设备上的图形用户界面,其特征在于,所述电子设备具有一个或多个存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述一个或多个存储器中的一个或多个计算机程序,所述图形用户界面包括所述电子设备执行如权利要求1-13任一项所述的方法时显示的图形用户界面。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010911343.9A CN113556479B (zh) | 2020-09-02 | 2020-09-02 | 一种多应用共享摄像头的方法与电子设备 |
PCT/CN2021/114331 WO2022048474A1 (zh) | 2020-09-02 | 2021-08-24 | 一种多应用共享摄像头的方法与电子设备 |
EP21863541.5A EP4199500A4 (en) | 2020-09-02 | 2021-08-24 | METHOD FOR MULTIPLE APPLICATIONS FOR SHARING A CAMERA, AND ELECTRONIC DEVICE |
US18/043,678 US20230379510A1 (en) | 2020-09-02 | 2021-08-24 | Method for Sharing Camera by Plurality of Applications and Electronic Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010911343.9A CN113556479B (zh) | 2020-09-02 | 2020-09-02 | 一种多应用共享摄像头的方法与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113556479A true CN113556479A (zh) | 2021-10-26 |
CN113556479B CN113556479B (zh) | 2022-07-29 |
Family
ID=78101620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010911343.9A Active CN113556479B (zh) | 2020-09-02 | 2020-09-02 | 一种多应用共享摄像头的方法与电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230379510A1 (zh) |
EP (1) | EP4199500A4 (zh) |
CN (1) | CN113556479B (zh) |
WO (1) | WO2022048474A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205529A (zh) * | 2021-12-20 | 2022-03-18 | 北京鸿合爱学教育科技有限公司 | 一种单摄像头的调用方法、装置、终端和可读存储介质 |
CN114302040A (zh) * | 2021-12-24 | 2022-04-08 | 展讯半导体(成都)有限公司 | 多应用共享单一摄像头的方法及相关产品 |
CN114363654A (zh) * | 2022-01-12 | 2022-04-15 | 北京字节跳动网络技术有限公司 | 一种视频推流方法、装置、终端设备及存储介质 |
CN114422837A (zh) * | 2022-01-25 | 2022-04-29 | 成都鼎桥通信技术有限公司 | 多应用共享媒体数据的方法、装置、设备及介质 |
CN114866686A (zh) * | 2022-03-25 | 2022-08-05 | 惠州华阳通用电子有限公司 | 一种摄像头视频处理方法及系统 |
CN116887032A (zh) * | 2023-07-05 | 2023-10-13 | 荣耀终端有限公司 | 跨端图像数据采集系统、方法、客户端、服务端 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185711B (zh) * | 2022-09-06 | 2023-10-10 | 湖北芯擎科技有限公司 | 基于虚拟摄像头的数据交互方法、装置、电子设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312503A (zh) * | 1999-11-10 | 2001-09-12 | 罗技电子股份有限公司 | 多例输入设备控制 |
CN1405680A (zh) * | 2001-06-15 | 2003-03-26 | 罗技欧洲公司 | 多实例输入设备控制 |
CN1802856A (zh) * | 2003-07-11 | 2006-07-12 | 株式会社日立制作所 | 图像处理相机系统及图像处理相机控制方法 |
CN101833520A (zh) * | 2009-03-11 | 2010-09-15 | 凹凸电子(武汉)有限公司 | 计算机系统、多个应用程序同时使用一个摄像头的方法 |
JP2010213256A (ja) * | 2009-03-11 | 2010-09-24 | O2 Micro Inc | 物理カメラを共用するための仮想カメラ |
CN106791356A (zh) * | 2016-11-10 | 2017-05-31 | 北京智能管家科技有限公司 | 用于摄像头数据分发的方法及装置 |
CN107659768A (zh) * | 2017-08-08 | 2018-02-02 | 珠海全志科技股份有限公司 | 一种基于Android多应用共享摄像头的系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180146139A1 (en) * | 2016-11-18 | 2018-05-24 | Microsoft Technology Licensing, Llc | Dynamically switching control sharing of camera resources |
-
2020
- 2020-09-02 CN CN202010911343.9A patent/CN113556479B/zh active Active
-
2021
- 2021-08-24 WO PCT/CN2021/114331 patent/WO2022048474A1/zh unknown
- 2021-08-24 EP EP21863541.5A patent/EP4199500A4/en active Pending
- 2021-08-24 US US18/043,678 patent/US20230379510A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312503A (zh) * | 1999-11-10 | 2001-09-12 | 罗技电子股份有限公司 | 多例输入设备控制 |
CN1405680A (zh) * | 2001-06-15 | 2003-03-26 | 罗技欧洲公司 | 多实例输入设备控制 |
CN1802856A (zh) * | 2003-07-11 | 2006-07-12 | 株式会社日立制作所 | 图像处理相机系统及图像处理相机控制方法 |
CN101833520A (zh) * | 2009-03-11 | 2010-09-15 | 凹凸电子(武汉)有限公司 | 计算机系统、多个应用程序同时使用一个摄像头的方法 |
JP2010213256A (ja) * | 2009-03-11 | 2010-09-24 | O2 Micro Inc | 物理カメラを共用するための仮想カメラ |
CN106791356A (zh) * | 2016-11-10 | 2017-05-31 | 北京智能管家科技有限公司 | 用于摄像头数据分发的方法及装置 |
CN107659768A (zh) * | 2017-08-08 | 2018-02-02 | 珠海全志科技股份有限公司 | 一种基于Android多应用共享摄像头的系统及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205529A (zh) * | 2021-12-20 | 2022-03-18 | 北京鸿合爱学教育科技有限公司 | 一种单摄像头的调用方法、装置、终端和可读存储介质 |
CN114302040A (zh) * | 2021-12-24 | 2022-04-08 | 展讯半导体(成都)有限公司 | 多应用共享单一摄像头的方法及相关产品 |
CN114302040B (zh) * | 2021-12-24 | 2024-03-19 | 展讯半导体(成都)有限公司 | 多应用共享单一摄像头的方法及相关产品 |
CN114363654A (zh) * | 2022-01-12 | 2022-04-15 | 北京字节跳动网络技术有限公司 | 一种视频推流方法、装置、终端设备及存储介质 |
CN114363654B (zh) * | 2022-01-12 | 2023-12-19 | 北京字节跳动网络技术有限公司 | 一种视频推流方法、装置、终端设备及存储介质 |
CN114422837A (zh) * | 2022-01-25 | 2022-04-29 | 成都鼎桥通信技术有限公司 | 多应用共享媒体数据的方法、装置、设备及介质 |
CN114422837B (zh) * | 2022-01-25 | 2023-08-18 | 成都鼎桥通信技术有限公司 | 多应用共享媒体数据的方法、装置、设备及介质 |
CN114866686A (zh) * | 2022-03-25 | 2022-08-05 | 惠州华阳通用电子有限公司 | 一种摄像头视频处理方法及系统 |
CN116887032A (zh) * | 2023-07-05 | 2023-10-13 | 荣耀终端有限公司 | 跨端图像数据采集系统、方法、客户端、服务端 |
Also Published As
Publication number | Publication date |
---|---|
EP4199500A4 (en) | 2024-01-31 |
CN113556479B (zh) | 2022-07-29 |
US20230379510A1 (en) | 2023-11-23 |
EP4199500A1 (en) | 2023-06-21 |
WO2022048474A1 (zh) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113556479B (zh) | 一种多应用共享摄像头的方法与电子设备 | |
WO2020253719A1 (zh) | 一种录屏方法及电子设备 | |
CN110708086B (zh) | 一种分屏显示方法与电子设备 | |
CN111316598B (zh) | 一种多屏互动方法及设备 | |
CN110109636B (zh) | 投屏方法、电子设备以及系统 | |
CN113542839B (zh) | 电子设备的投屏方法和电子设备 | |
WO2021051989A1 (zh) | 一种视频通话的方法及电子设备 | |
US11669242B2 (en) | Screenshot method and electronic device | |
CN113885759B (zh) | 通知消息处理方法、设备、系统及计算机可读存储介质 | |
CN113722058B (zh) | 一种资源调用方法及电子设备 | |
CN113254409B (zh) | 文件共享方法、系统及相关设备 | |
CN113778574B (zh) | 卡片分享方法、电子设备及通信系统 | |
CN114040242B (zh) | 投屏方法、电子设备和存储介质 | |
CN114173204A (zh) | 一种提示消息的方法、电子设备和系统 | |
CN113935898A (zh) | 图像处理方法、系统、电子设备及计算机可读存储介质 | |
CN115119048B (zh) | 一种视频流处理方法及电子设备 | |
CN114500732B (zh) | 一种界面显示的方法和电子设备、存储介质 | |
CN114827098A (zh) | 合拍的方法、装置、电子设备和可读存储介质 | |
CN116723382B (zh) | 一种拍摄方法及相关设备 | |
CN117278855B (zh) | 视频防抖方法及相关设备 | |
WO2024093703A1 (zh) | 一种实例的管理方法、装置、电子设备及存储介质 | |
CN115460445A (zh) | 电子设备的投屏方法和电子设备 | |
CN114827439A (zh) | 一种全景图像的拍摄方法及电子设备 | |
CN117155824A (zh) | 一种数据传输方法、电子设备及系统 | |
CN116841761A (zh) | 一种设备协同方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |