CN113141515B - 相机资源分发方法、操作系统、终端和广播装置 - Google Patents

相机资源分发方法、操作系统、终端和广播装置 Download PDF

Info

Publication number
CN113141515B
CN113141515B CN202010065728.8A CN202010065728A CN113141515B CN 113141515 B CN113141515 B CN 113141515B CN 202010065728 A CN202010065728 A CN 202010065728A CN 113141515 B CN113141515 B CN 113141515B
Authority
CN
China
Prior art keywords
camera
requests
request
application
broadcasting
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.)
Active
Application number
CN202010065728.8A
Other languages
English (en)
Other versions
CN113141515A (zh
Inventor
庞倢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010065728.8A priority Critical patent/CN113141515B/zh
Publication of CN113141515A publication Critical patent/CN113141515A/zh
Application granted granted Critical
Publication of CN113141515B publication Critical patent/CN113141515B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software

Abstract

提出了一种相机资源分发方法、操作系统、终端和广播装置。所述分发方法,包括:广播装置获取相机资源;所述广播装置确定已注册的请求;以及所述广播装置将获取的所述相机资源广播至已注册的多个请求。本发明在现有操作系统(例如,Android系统)基础上,通过相机数据广播功能的添加,实现了基于广播对多应用、多设备或多请求同时获取相机数据的支持。

Description

相机资源分发方法、操作系统、终端和广播装置
技术领域
本发明涉及信息处理领域,尤其涉及一种相机资源分发方法、操作系统、终端和广播装置。
背景技术
智能设备通常都带可以采集图像的摄像头。随着智能设备的普及,摄像头相关的需求与使用场景也越来越多,常见的摄像头应用有拍照、录像、视频通话、手势识别、人脸解锁等功能。
现有的智能设备操作系统(例如,Android系统)不支持多个应用同时访问同一个物理摄像头设备。如果多个应用需要同时使用同一个摄像头时,就会出现摄像头资源冲突,导致摄像头应用不能被同时执行。
因此,如何为多个APP同时访问相机资源提供支持,成为了本领域所需解决的一个问题。
发明内容
为了解决如上至少一个问题,本发明提出了一种终端相机资源分发方法,以及相应的操作系统、终端和广播装置。在现有操作系统(例如,Android系统)基础上,通过相机数据广播功能的添加,实现了基于广播对多APP同时获取相机数据的支持。
根据本发明的第一方面,提出了一种相机资源分发方法,包括:广播装置获取相机资源;所述广播装置确定已注册的请求;以及所述广播装置将获取的所述相机资源广播至已注册的多个请求。
根据本发明的第二方面,提出了一种直播资源分发方法,包括:广播装置获取直播资源;所述广播装置确定已注册的请求;以及所述广播装置将获取的所述直播资源广播至已注册的多个请求。
根据本发明的第三方面,提出了一种广播装置,用于执行如第一或第二方面所述的方法。
根据本发明的第四方面,提出了一种操作系统,安装有多个应用,所述操作系统包括广播装置,所述广播装置包括:相机资源获取模块,用于获取由相机模块采集的相机资源;注册确认模块,用于确认已注册的应用或应用请求;相机资源广播模块,用于将获取的所述相机资源广播给多个应用或应用请求。
根据本发明的第五方面,提出了一种终端,包括相机模块,并且安装有如第四方面所述的操作系统或用于执行第一或第二方面所述的方法。
根据本发明的第六方面,提出了一种终端相机资源分发方法,包括:相机应用框架经由相机模块采集的图像数据;相机数据服务从相机应用框架获取所述图像数据;以及所述相机数据服务向已注册的多个应用或应用请求广播所述图像数据。
根据本发明的第七方面,提出了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行第一、第二和第六方面任一项所述的方法。
根据本发明的第八方面,提出了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行第一、第二和第六方面任一项所述的方法。
本方案通过注册广播实现针对相机资源的不限数量的共享。本方案不需要应用之间协商,可以通过统一使用注册摄像头数据广播接口保证不同应用开发接口的实用性;同时广播方案可以不限制注册应用数量,从而确保了各个应用的相机资源可用。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了多个应用同时访问摄像头资源所面临的问题。
图2示出了根据本发明一个实施例的相机资源分发方法的示意性流程图。
图3示出了根据本发明的向多个应用广播相机资源的一个例子。
图4示出了常规Android系统构架以及其中涉及的相机资源处理路径。
图5示出了包括本发明的相机数据服务的Android系统构架以及其中涉及的相机资源处理路径。
图6示出了根据本发明一个实施例的操作系统的组成示意图。
图7示出了根据本发明一个实施例可用于实现上述相机资源分发方法的计算设备的结构示意图。
图8示出了本发明相机资源广播方案的应用场景例。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
智能设备通常都带可以采集图像的摄像头。随着智能设备的普及,摄像头相关的需求与使用场景也越来越多,常见的摄像头应用有拍照、录像、视频通话、手势识别、人脸解锁等功能。系统的不支持多App同时访问相机的问题在智能手机的使用场景中通常不会造成困扰。这是因为智能手机受限于屏幕大小,通常前景显示一个App的内容,因此不容易发生多个App同时访问相机资源的情况。然而,诸如智能音箱的智能语音设备作为家庭智能终端正变得日益普及。不同于手机系统,新开发的带屏类智能音箱系统经常需要对同一个相机的数据进行多种业务处理,例如,在进行视频通话的同时保证手势控制可用。为了同时保证多种业务的并行处理,需要在操作系统层面支持多App同时访问同一个相机资源。
在现有的操作系统中,例如智能音箱原生使用的Android系统中,由于现有Android系统不支持多个应用同时访问同一个物理摄像头设备,如果多个应用需要同时使用同一个摄像头时,就会出现摄像头资源(也可称为“相机资源”、“相机数据”等)冲突,导致摄像头应用程序不能同时执行。
图1示出了多个应用同时访问摄像头资源所面临的问题。在此,例如用于视频通话的应用程序1在摄像头设备空闲时向摄像头数据服务层发送连接请求,随后该应用程序1对于摄像头数据进行独占。当在视频通话过程中,如果用于后台手势识别的应用程序2也向摄像头数据服务层发送连接请求,则会由于应用程序1对于摄像头数据的独占而连接失败,导致无法进行后台手势识别。反之,在手势识别过程中,优先级更高的视频通话来电会强制打断后台手势识别,导致通话过程中手势识别不可用。
不仅限于上述两个应用,本发明旨在通过注册广播方案解决现有操作系统不支持多应用(或其他形式的多请求)同时访问同一个摄像头的问题,保证多应用能够不受限制地同时使用摄像头,以避免出现例如应用使用摄像头过程中被强制打断,或者因为摄像头已经被占用应用无法使用摄像头的场景。
应该理解的是,虽然如下将主要基于Android系统以及安装有Android系统的智能手机和智能音箱进行本发明原理的描述,但本发明适用于各种可定制的操作系统以及存在多App或多请求访问相机资源的终端。
图2示出了根据本发明一个实施例的相机资源分发方法的示意性流程图。上述方法可由具有相机模块(物理相机)的终端设备执行,例如智能手机或是智能音箱。在此,相机指代具有摄影和/或拍照功能的设备,也可被称为摄像头。在一个实施例中,上述方法优选由智能手机或是智能音箱,例如带显示屏(触摸屏)的智能音箱执行,例如,由其内安装的定制操作系统(例如,Android系统)执行。
在步骤S210,广播装置获取相机资源。在步骤S220,广播装置确定已注册的请求。在此,已注册的请求指代已在所述广播装置处注册,要求接收所述广播装置的广播内容的请求。随后在步骤S230,广播装置将获取的所述相机资源广播至已注册的多个请求。
本发明使用“广播”机制进行相机资源的分发。在此,“广播模型”指代1对多的模型,在应用层之下建立一套广播机制,多个请求(例如,应用或来自应用的请求)作为接收广播(收听数据广播的)的用户,广播数据则是广播装置获取的相机资源。
请求访问相机资源的多个请求优选可以是来自同一操作系统内的多个应用的访问请求。在其他实施例中,多个请求还可以是来自同一应用的多个访问请求(例如,来自同一应用的不同功能模块的不同访问请求)。在其他实施例中,多个请求可以是来自联网系统内其他设备的外部访问请求,例如,来自物联网中其他联网的物联网设备的访问请求。例如,该广播装置可以位于家庭摄像头或摄像头支持系统内,能够接收注册请求,并对已注册的请求进行多路图像数据的分发,例如,同时分发。
在此,广播装置可以在步骤S210中持续获取相机资源,例如,持续获取物理相机或摄像头获取的视频帧,并将获取的视频帧在步骤S230中持续提供给已注册的多个请求,例如,请求相机资源的多个应用。
进一步地,本发明的相机资源分发方法还可以包括多个请求(例如,来自多个应用各自的请求)的主动注册步骤。为此,该方法还可以包括:所述多个请求(例如,多个应用)各自向所述广播装置请求访问所述相机资源;以及所述广播装置注册请求访问所述相机资源的所述多个请求。
相应地,本发明的相机资源分发方案还可以包括反注册(也可称为移除注册)的操作,以避免在例如应用不再需要访问相机资源时,仍然持续向其发送获取的图像数据。为此,该方法还可以包括:某一请求向所述广播装置通知不再访问所述相机资源;所述广播装置移除该请求的注册;以及所述广播装置停止向被移除注册的请求广播所述相机资源。
在实际操作中,多个应用可以在不同的时刻开始请求相机资源,因此可以依据请求在不同时刻对不同的应用进行注册,并对经注册的应用进行相机资源广播。当某一应用不再需要访问相机资源时,则通过移除注册操作停止获取广播资源。通过本发明的注册广播机制,可以确保多个应用(或同一应用的不同请求等)在其各自的相机资源访问需求存续期间,仅仅通过注册和反注册步骤,就能够方便地开始接收广播(的相机资源)和关闭广播(即,停止接收相机资源),而不受其他应用访问请求的影响。
为了方便确定注册的请求,广播装置可以维护一个注册请求列表。所述注册请求列表用于记录当前注册的每个请求。广播装置可以通过查找列表,方便地确定已注册的请求。例如,当有应用1请求访问广播的相机资源时,广播装置就在注册请求列表上记录该应用1,并持续向其进行相机资源广播。而当应用1通知不再需要访问相机资源时,广播装置就在注册请求列表上删除该应用1的记录,并停止向其广播相机资源。
在一个实施例中,各个请求(例如,请求访问相机资源的各个应用)可以分别经由注册数据接口向所述广播装置发送请求。作为替换或者补充,在请求被注册之后,广播装置可以向经注册的请求(例如,应用)提供相应的接收数据接口,以通过所述接收数据接口广播所述相机资源。由此,如果一个应用想要请求相机资源,该应用可以通过注册数据接口向所述广播装置发送请求,在被广播装置注册之后,经由接收数据接口来接收数据。上述注册数据接口和/或接收数据接口可以采用操作系统现有的标准数据接口,可以是确定为通用数据接口加以推广。例如,应用都知晓可以通过某个通用API访问广播装置,并且通过另一个通用API接收注册后的广播内容。
图3示出了根据本发明的向多个应用广播相机资源的一个例子。可以基于原生安卓相机接口(AndroidCameraAPI),例如,从相机应用框架获取数据的原生接口,创建一个新的相机数据广播服务(CameraDataService),该服务可以是本发明的广播系统的一个具体实现。CameraDataService服务位于Android原生相机应用框架(CameraAPframework)之上,提供注册相机数据接口和相机数据回调接口供多个请求访问相机资源的APP使用。
任何需要使用相机数据的APP使用CameraDataService提供的接口注册相机数据监听(CameraDataListener),并注册数据回调(datacallback)到CameraDataService,CameraDataService底层维护一个不限个数的监听列表(Listener List),CameraDataService在获取系统相机资源数据之后,把相机资源数据发送给列表中的所有应用,这样每个应用只要注册CameraDataListener就可以直接获取相机资源数据,达到多应用共享相机资源的目的。
具体地,CameraDataListener可以记录注册APP本身的相关信息,以及APP获取相机资源的目的。相应地,datacallback处理函数可以针对各APP获取资源的相应目的进行处理。例如,可以根据拍照应用的需求,将相机资源(例如,图片帧形式)保存在SD卡里,也可以将相机资源压缩成视频实时发送给远程的视频通话应用。Datacallback的路径可以理解为图3中的“发送数据”箭头。
如图所示,相机应用框架(CameraAPframework)从底层的相机服务(CameraService)获取物理相机采集到的图像数据,例如,连续的图像帧,并将其提供给相机数据广播服务(CameraDataService),使得CameraDataService持续获取其需要广播的内容。随后,例如APP1在时刻t1请求访问相机数据。此时,APP1可以经由注册数据接口进行注册广播(如图中虚线箭头所示),完成相机数据监听(CameraDataListener)的注册并更新监听列表。随后,APP1就能够通过接收数据接口持续获取CameraDataService广播的相机资源。在时刻t2,APP2可以请求访问相机数据,于是可以重复上述注册广播的过程,并通过其对应的接收数据接口持续获取广播内容。类似地,APP3…N可以在相同或不同的时刻请求访问相机数据,重复上述注册广播的过程,并通过其对应的接收数据接口持续获取广播内容。由此,每个应用可以使用相同的API注册相机数据广播获取相机资源,底层的相机数据广播访问检测当前有多少个应用监听相机资源,给所有监听应用分发相机资源数据,由此达到相机资源共享的效果。在接收请求时,各个APP可以通过如上的移除注册过程停止从CameraDataService接收广播。由此,可以在请求访问的应用彼此无影响的情况下(即,无需应用之间的协商),由CameraDataService统一向请求注册的应用进行相机资源数据的广播。可以统一使用的注册相机数据广播接口,保证不同应用开发接口的实用性。
基于每个APP的类型及其相关信息,本发明的广播装置(例如,相机数据服务)可以为其提供经过不同处理而具有不同形式的相机资源,并且可以相应地针对其他资源进行相关操作。
为此,广播装置可以基于某一请求的类型信息确定所述请求所需的相机资源形式,并以各个请求所需的相应相机资源形式向所述多个请求广播所述相机资源。例如,广播装置可以持续获取物理相机拍摄的视频帧(例如,原始相机资源),对于已注册的拍照应用,可以将与拍摄键被按下时刻对应的视频帧作为相机资源发送给拍照应用。而对于远程的视频通话应用,则可以将相机资源压缩成视频以供实时发送。换句话说,在图3中,CameraDataService广播给各个应用的相机资源,可以是其从应用框架获取的原始相机资源本身,也可以是基于应用本身需求而被处理具有不同形式的图像或视频数据。
进一步地,广播装置还可以涉及对其他资源(例如,硬件资源)的操作。在一个实施例中,广播装置可以基于某一请求的类型信息确定所述请求需要对其他资源进行的相机资源相关操作,并且可以针对获取的所述相机资源进行所述相机资源相关操作,例如,为拍照应用进行SD卡写入操作。
另外,由于请求可以是来自同一操作系统内的多个应用的访问请求;来自联网系统内其他设备的外部访问请求;以及来自同一应用的多个访问请求,因此不同的请求通常会对应于不同的安全权限,这在获取的相机资源涉及个人隐私时尤为重要。为此,广播装置可以获取多个请求各自的属性信息;并且基于所述属性信息确定对应请求的权限信息。随后,广播装置可以将符合权限信息的相机资源向对应请求进行广播。例如,某些涉及个人隐私的相机资源只向符合上述隐私权项的相机资源进行广播。在广播的相机资源涉及多用户隐私时,还可以根据对当前用户身份的认定,进行基于用户区分的广播。
进一步地,广播装置还可以获取来自不同摄像头的多个相机资源,并将多个相同资源分别广播给不同类型的已注册请求。例如,不同摄像头可以包括拍摄同一对象的不同分辨率的摄像头,并且可以根据请求的重要性(例如,是否是付费请求)广播高清或是普通分辨率的相机资源。也可以根据请求的属性,例如,区分请求所属应用、用户或设备,来选择要广播的一个或多个相机资源。
广播装置还可以将所述相机资源的使用状况广播至已注册的一个或多个请求。例如,通知当前占用相机资源的请求,或是每新加入一个已注册请求,就通知其他在前注册请求有新请求加入等。
进一步地,本发明的相机资源分发方法尤其适用于实现为一种直播资源分发方法,包括:广播装置获取直播资源;所述广播装置确定已注册的请求;以及所述广播装置将获取的所述直播资源广播至已注册的多个请求。
已注册的请求包括:已注册观看直播的请求,所述请求包括如下至少一项:来自安装了同种直播APP的多个同类设备的请求;以及来自安装了不同直播APP的多个不同类设备的请求。为此,广播装置可以将直播资源广播至已注册的各类设备,例如,向安装有手机直播APP的多个智能手机广播普通分辨率的直播资源,向安装有平板直播APP的多个平板电脑广播高清分辨率的直播资源。更进一步地,直播资源可由多个摄像头获取,广播装置可以根据预定的规则进行一路或多路资源的广播。
图3示出了在应用框架层实现广播装置的优选实施例。如下将结合图4和5说明Android系统构架中的优选相机资源处理路径。
图4示出了一个常规Android系统构架以及其中涉及的相机资源处理路径。如图所示,在需要访问相机数据时,相机数据(相机采集的图像数据)经由内核层的相机驱动程序、库中的相机服务、相机Framework(框架)、安卓运行时中的JNI(JAVA本地接口)、应用框架层中的相机应用框架传递给相机应用进行相关业务处理。此处,“相机应用”指代请求相机资源的应用。
图5示出了包括本发明的相机数据服务(CameraDataService)的Android系统构架以及其中涉及的相机资源处理路径。如图所示,在需要访问相机数据时,相机数据(相机采集的图像数据)经由内核层的相机驱动程序、库中的相机服务、相机Framework(框架)、安卓运行时中的JNI(JAVA本地接口)、应用框架层中的相机应用框架,以及相机应用框架之上的相机数据服务(CameraDataService),广播给请求相机资源的各个APP(示出为相机应用1、相机应用2…)进行相关业务处理。同样地,此处的“相机应用”指代请求相机资源的应用。在此,相机资源在从底层到达CameraDataService时,可以基于原生接口逐层进行传递,而从CameraDataService广播至相机应用时,则可使用本发明涉及的专用广播接口进行数据发送。
本发明可以实现为一种终端相机资源分发方法,包括:相机应用框架经由相机模块采集的图像数据;相机数据服务从相机应用框架获取所述图像数据;所述相机数据服务向已注册的多个应用或应用请求广播所述图像数据。该方法还包括:所述相机数据服务对请求访问所述相机资源的多个应用或应用请求进行注册;所述相机数据服务向已注册的多个应用或应用请求各自提供相应的广播数据接口。相应地,所述相机数据服务向已注册的多个应用或应用请求广播所述图像数据包括:所述相机数据服务经由相应的广播数据接口向每个应用或应用请求广播所述图像数据。
在其他实施例中,也可以在Androidnative层实现本发明的广播装置。此时需要对Android系统进行更为深入的定制,但是对应用层的改动会更小,更有利于对应用层的广播操作。
本发明的访问方案还可以实现为一种操作系统。图6示出了根据本发明一个实施例的操作系统的组成示意图。如图所示,操作系统600包括相机资源获取模块610、注册确认模块620和相机资源广播模块630。
相机资源获取模块610用于获取由相机模块采集的相机资源,例如图像数据。注册确认模块620用于确认已注册的应用或应用请求。相机资源广播模块630用于将获取的相机资源广播给请求访问相机资源的多个应用或应用请求(即,来自多个应用的请求或是来自同一应用的多个请求)。
在一个实施例中,操作系统600还可以包括:相机应用框架,用于获取经由相机模块采集图像数据作为所述相机资源,并且所述相机资源获取模块610用于从所述相机应用框架获取所述图像数据。
在一个实施例中,相机资源广播模块630包括:请求接收子模块,用于接收所述多个应用或应用请求各自向所述广播装置发出的访问所述相机资源的请求;注册子模块,用于注册请求访问所述相机资源的所述多个应用或应用请求;以及广播子模块,用于向经注册的所述多个应用或应用请求广播所述相机资源。进一步地,所述请求接收子模块可以用于接收某一应用或应用请求不再访问所述相机资源的通知;所述注册子模块用于移除该应用或应用请求,并且所述广播子模块停止向被移除的应用或应用请求广播所述相机资源。
在一个优选实施例中,所述请求接收子模块用于经由注册数据接口接收所述多个应用或应用请求各自向所述广播装置发出的访问所述相机资源的请求,并且所述广播子模块经由为经注册的所述多个请求各自提供的接收数据接口广播所述相机资源。
在一个优选实施例中,注册子模块可以基于某一请求的类型信息确定所述请求所需的相机资源形式,并且广播子模块可以用于以各个请求所需的相应相机资源形式向所述多个请求广播所述相机资源。作为替换或者附加,注册子模块可以基于某一请求的类型信息确定所述请求需要对其他资源进行的相机资源相关操作。于是,操作系统还可以包括:相关操作执行模块,用于针对获取的所述相机资源请求执行所述相机资源相关操作。
所述注册子模块还获取所述多个请求各自的属性信息,基于所述属性信息确定对应请求的权限信息,并且所述广播子模块用于将符合权限信息的相机资源向对应请求进行广播。
在一个实施例中,相机资源获取模块610、注册确认模块620和相机资源广播模块630可以在操作系统600的应用框架层中实现,实现为包括上述功能模块的广播装置。上述广播装置可以对接相机应用框架以持续获取相机资源,并利用其自身的注册广播机制实现多请求(例如,多应用)之间的相机资源共享。于是,所述广播装置可以用于:获取相机资源;确定已注册的请求;以及将获取的所述相机资源广播至已注册的多个请求。
在更为广泛的应用场景中,广播装置可以具有其他的实现形式。例如,包括对外部请求接口的广播装置,由此能够向例如外部设备提供所需的相机资源。在例如,当同一应用内存在需要同时运行且需要同时访问相机资源的模块时,即,多个请求是来自同一应用内的请求,则广播装置也被包括在所述应用内。另外,本发明还可以实现为一种访问终端相机资源的应用,用于:基于其发出的访问请求获取图像数据,其中,所述图像数据是由如上所述的广播装置广播的。优选地,上述应用基于特定的注册接口进行注册广播,并经由特定的接收数据接口接收数据。
图7示出了根据本发明一个实施例可用于实现上述相机资源分发方法的计算设备的结构示意图。
参见图7,计算设备700包括存储器710、处理器720和相机730。优选地,该计算设备800可以安装有如上所述的操作系统,例如,根据本发明定制(例如,在HAL层定制)的操作系统。
处理器720可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器720可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器720可以使用定制的电路实现,例如特定用途集成电路(ASIC)或者现场可编程逻辑门阵列(FPGA)。
存储器710可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器720或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器710可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器810可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器710上存储有可执行代码,当可执行代码被处理器720处理时,可以使处理器720执行上文述及的相机资源分发方法。
本发明的上述访问方案还可以实现为一种终端,包括相机模块,并且安装有如上所述的操作系统。上述终端可以是各种常见的智能终端,例如,智能手机,平板电脑等,并且尤其可以是智能音箱,例如带显示屏(例如,触摸屏)的智能音箱。在其他实施例中,终端也包括多个相机模块,每个相机模块包括各自的摄像头,例如,专门布置的多摄像头直播资源拍摄系统等。
在智能音箱的应用场景中,会使用到相机资源的功能主要有:视频通话,绘本读书,手势控制,爱家看护,距离检测,拍照等。在没有应用本发明的相机资源访问方案前,如果用户在进行视频通话过程中,因为相机资源被视频通话占用,这样手势控制模块无法获取到相机资源,无法采集手势图像,进行相应分析,导致视频通话过程中,无法通过手势进行控制。在采用了本方案之后,用户可以在视频通话过程中继续享用手势控制的便利,提升用户体验。
如下将结合一个具体应用场景描述本发明的相机资源访问方案。图8示出了本发明相机资源广播方案的应用场景例。
如图8上部所示,用户2在其家中布置有智能音箱1。该智能音箱包括音箱部分101、显示屏(例如,触摸屏)部分102和摄像头(相机模块)103。
如图8中上部所示,用户2使用智能音箱1进行视频通话。应该理解的是,在进行视频通话时,显示屏102中显示的是正与用户2进行通话的通话对象的影像,相机模块103则采集用户1的图像以供视频通话APP(APP1)进行传输。虽然图中未示出,在某些实施例中,显示屏102中还会显示相机模块103采集的用户1的影像的小窗。另外,为了确保手势操作功能可用,在视频通话期间,手势操作APP(APP0)保持在后台运行。换句话说,相机模块103采集到的图像数据被广播装置同等广播至对应的两个APP。此时,由于用户1没有进行符合预设条件的任何动作,因此手势操作APP不触发任何操作。
如图8中下部所示,在进行视频通话的过程中,智能音箱1接收到消息。于是音箱101发出声响,并在显示屏102中进行提示(例如,图中的铃铛图形)。用户2在获知接收到新消息时,可以使用规定的手势进行屏幕翻页来查看收到的消息。此时,相机103会捕捉到用户例如右手大拇指向右指的动作,上述图像被传送给视频通话APP(APP1)的同时,也会发送至手势识别APP(APP0)。
如图8下部所示,手势识别APP分辨出用户右手大拇指向右指的动作,并执行相应的向右翻页动作,跳转至通知页面,以在显示屏内显示通知的具体内容。
通过相机广播服务的添加,方便地实现对各个注册应用的无差别相机资源广播,由此以最小代价且应用间无协商的方式实现相机资源的共享。
上文中已经参考附图详细描述了根据本发明的终端相机资源分发方法,以及相应的操作系统、终端和广播装置。本方案在现有操作系统(例如,Android系统)基础上,通过相机数据广播功能的添加,实现了基于广播对多APP同时获取相机数据的支持,解决了现有智能终端产品视觉功能的痛点。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (29)

1.一种相机资源分发方法,包括:
广播装置获取相机资源;
所述广播装置确定已注册的请求;以及
所述广播装置将获取的所述相机资源广播至已注册的多个请求,
其中,所述方法还包括:
所述多个请求各自向所述广播装置请求访问所述相机资源;以及
所述广播装置注册请求访问所述相机资源的所述多个请求,
其中,所述方法还包括:
所述广播装置基于某一请求的类型信息确定所述请求所需的相机资源形式,并且
所述广播装置将获取的所述相机资源广播至已注册的多个请求包括:
所述广播装置以各个请求所需的相应相机资源形式向所述多个请求广播所述相机资源。
2.如权利要求1所述的方法,还包括:
某一请求向所述广播装置通知不再访问所述相机资源;
所述广播装置移除该请求的注册;以及
所述广播装置停止向被移除注册的请求广播所述相机资源。
3.如权利要求2所述的方法,其中,所述广播装置存储有注册请求列表,所述注册请求列表用于记录当前注册的每个请求。
4.如权利要求1所述的方法,其中,所述多个请求各自向所述广播装置请求访问所述相机资源包括:
所述多个请求经由注册数据接口向所述广播装置发送请求。
5.如权利要求1所述的方法,其中,将获取的所述相机资源广播给多个请求还包括:
所述广播装置向经注册的所述多个请求提供各自的接收数据接口,以通过所述接收数据接口广播所述相机资源。
6.如权利要求5所述的方法,其中,所述接收数据接口如下至少一项:
操作系统的标准数据接口;
通用数据接口。
7.如权利要求1所述的方法,还包括:
所述广播装置基于某一请求的类型信息确定所述请求需要对硬件资源进行的相机资源相关操作;
所述广播装置针对获取的所述相机资源进行所述相机资源相关操作。
8.如权利要求1所述的方法,还包括:
所述广播装置获取所述多个请求各自的属性信息;
基于所述属性信息确定对应请求的权限信息,并且
所述广播装置将获取的所述相机资源广播至已注册的多个请求包括:
所述广播装置将符合权限信息的相机资源向对应请求进行广播。
9.如权利要求1所述的方法,其中,所述多个请求包括如下至少一项:
来自同一操作系统内的多个应用的访问请求;
来自联网系统内其他设备的外部访问请求;
来自同一应用的多个访问请求。
10.如权利要求9所述的方法,其中,广播装置获取相机资源包括:
广播装置获取来自不同摄像头的多个相机资源,并且
所述广播装置将获取的所述相机资源广播至已注册的多个请求包括:
所述广播装置将多个相同资源分别广播给不同类型的已注册请求。
11.如权利要求1所述的方法,还包括:
所述广播装置将所述相机资源的使用状况广播至已注册的一个或多个请求。
12.如权利要求1所述的方法,其中,广播装置获取相机资源包括:
所述广播装置获取由相机应用框架获取的图像数据作为所述相机资源。
13.一种直播资源分发方法,包括:
广播装置获取直播资源;
所述广播装置确定已注册的请求;以及
所述广播装置将获取的所述直播资源广播至已注册的多个请求,
所述方法还包括:
所述多个请求各自向所述广播装置请求访问所述直播资源;以及
所述广播装置注册请求访问所述直播资源的所述多个请求,
其中,所述方法还包括:
所述广播装置基于某一请求的类型信息确定所述请求所需的直播资源形式,并且
所述广播装置将获取的所述直播资源广播至已注册的多个请求包括:
所述广播装置以各个请求所需的相应直播资源形式向所述多个请求广播所述直播资源。
14.如权利要求13所述的方法,其中,已注册的请求包括:
已注册观看直播的请求,所述请求包括如下至少一项:
来自安装了同种直播APP的多个同类设备的请求;
来自安装了不同直播APP的多个不同类设备的请求。
15.一种广播装置,用于执行如权利要求1-14中任一项所述的方法。
16.一种操作系统,安装有多个应用,所述操作系统包括广播装置,所述广播装置包括:
相机资源获取模块,用于获取由相机模块采集的相机资源;
注册确认模块,用于确认已注册的应用或应用请求;
相机资源广播模块,用于将获取的所述相机资源广播给多个应用或应用请求,
其中,所述相机资源广播模块包括:
请求接收子模块,用于接收所述多个应用或应用请求各自向所述广播装置发出的访问所述相机资源的请求;
注册子模块,用于注册请求访问所述相机资源的所述多个应用或应用请求;以及
广播子模块,用于向经注册的所述多个应用或应用请求广播所述相机资源,
其中,所述注册子模块用于基于某一请求的类型信息确定所述应用或应用请求所需的相机资源形式,并且
所述广播子模块用于以各个请求所需的相应相机资源形式向所述多个应用或应用请求广播所述相机资源。
17.如权利要求16所述的操作系统,还包括:
相机应用框架,用于获取经由相机模块采集图像数据作为所述相机资源,并且
所述相机资源获取模块用于从所述相机应用框架获取所述图像数据。
18.如权利要求16所述的操作系统,其中,
所述请求接收子模块用于接收某一应用或应用请求不再访问所述相机资源的通知;
所述注册子模块用于移除该应用或应用请求,并且
所述广播子模块停止向被移除的应用或应用请求广播所述相机资源。
19.如权利要求16所述的操作系统,其中,
所述请求接收子模块用于经由注册数据接口接收所述多个应用或应用请求各自向所述广播装置发出的访问所述相机资源的请求,并且
所述广播子模块用于经由为经注册的所述多个应用或应用请求各自提供的接收数据接口广播所述相机资源。
20.如权利要求16所述的操作系统,其中,
所述注册子模块用于基于某一请求的类型信息确定所述请求需要对硬件资源进行的相机资源相关操作,并且
所述操作系统还包括:
相关操作请求模块,用于针对获取的所述相机资源执行所述相机资源相关操作。
21.如权利要求16所述的操作系统,其中,
所述注册子模块获取所述多个应用或应用请求各自的属性信息,并基于所述属性信息确定对应应用或应用请求的权限信息,并且
所述广播子模块用于将符合权限信息的相机资源向对应应用或应用请求进行广播。
22.一种终端,包括相机模块,并且安装有如权利要求16-21中任一项所述的操作系统或用于执行如权利要求1-14所述的方法。
23.如权利要求22所述的终端,所述终端是智能音箱或智能电话。
24.如权利要求23所述的终端,所述终端是带屏幕的智能音箱。
25.如权利要求22所述的终端,所述终端包括多个相机模块,每个相机模块包括各自的摄像头。
26.一种终端相机资源分发方法,包括:
相机应用框架经由相机模块采集的图像数据;
相机数据服务从相机应用框架获取所述图像数据;
所述相机数据服务向已注册的多个应用或应用请求广播所述图像数据,
其中,所述方法还包括:
所述相机数据服务对请求访问所述相机资源的多个应用或应用请求进行注册;
所述相机数据服务向已注册的多个应用或应用请求各自提供相应的广播数据接口,并且
所述相机数据服务向已注册的多个应用或应用请求广播所述图像数据包括:
所述相机数据服务经由相应的广播数据接口向每个应用或应用请求广播所述图像数据,
其中,所述相机数据服务基于某一应用或应用请求的类型信息确定所述应用或应用请求所需的相机资源形式,并且以各个应用或应用请求所需的相应相机资源形式向所述多个应用或应用请求广播所述相机资源。
27.一种访问终端相机资源的方法,用于:
基于其发出的访问请求获取图像数据,其中,所述图像数据是由如权利要求15所述的广播装置广播的。
28.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-14以及权利要求26-27中任一项所述的方法。
29.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-14以及权利要求26-27中任一项所述的方法。
CN202010065728.8A 2020-01-20 2020-01-20 相机资源分发方法、操作系统、终端和广播装置 Active CN113141515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010065728.8A CN113141515B (zh) 2020-01-20 2020-01-20 相机资源分发方法、操作系统、终端和广播装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010065728.8A CN113141515B (zh) 2020-01-20 2020-01-20 相机资源分发方法、操作系统、终端和广播装置

Publications (2)

Publication Number Publication Date
CN113141515A CN113141515A (zh) 2021-07-20
CN113141515B true CN113141515B (zh) 2023-03-10

Family

ID=76808877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010065728.8A Active CN113141515B (zh) 2020-01-20 2020-01-20 相机资源分发方法、操作系统、终端和广播装置

Country Status (1)

Country Link
CN (1) CN113141515B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104994481A (zh) * 2015-07-10 2015-10-21 上海斐讯数据通信技术有限公司 一种Android系统中应用程序之间广播消息的收发方法及系统
CN106201740A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 一种广播消息管理方法、装置及设备
CN108322640A (zh) * 2017-12-27 2018-07-24 武汉长江通信智联技术有限公司 一种基于广播机制实现多应用同时调用摄像头的方法及系统
CN110096380A (zh) * 2019-05-08 2019-08-06 苏州浪潮智能科技有限公司 Android内部通讯方法、系统、装置及存储介质
CN110620956A (zh) * 2019-09-11 2019-12-27 北京达佳互联信息技术有限公司 直播虚拟资源的通知方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104994481A (zh) * 2015-07-10 2015-10-21 上海斐讯数据通信技术有限公司 一种Android系统中应用程序之间广播消息的收发方法及系统
CN106201740A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 一种广播消息管理方法、装置及设备
CN108322640A (zh) * 2017-12-27 2018-07-24 武汉长江通信智联技术有限公司 一种基于广播机制实现多应用同时调用摄像头的方法及系统
CN110096380A (zh) * 2019-05-08 2019-08-06 苏州浪潮智能科技有限公司 Android内部通讯方法、系统、装置及存储介质
CN110620956A (zh) * 2019-09-11 2019-12-27 北京达佳互联信息技术有限公司 直播虚拟资源的通知方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113141515A (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
CN108521608B (zh) 视频文件的处理方法、装置、终端及存储介质
CN107329750B (zh) 应用程序中广告页面的识别方法、跳转方法及移动终端
KR101744183B1 (ko) 호스트 디바이스의 능력들의 증강
US10165058B2 (en) Dynamic local function binding apparatus and method
CN109542614B (zh) 资源配置方法、装置、终端及存储介质
CN113542757B (zh) 云应用的图像传输方法、装置、服务器及存储介质
CN109254849B (zh) 应用程序的运行方法及装置
CN111314646B (zh) 图像获取方法、图像获取装置、终端设备及可读存储介质
CN112749022A (zh) 相机资源访问方法、操作系统、终端和虚拟相机
JP7100154B2 (ja) プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体
CN113032766B (zh) 应用权限管理的方法和装置
CN114513506A (zh) 业务处理方法、接入边缘云服务器及业务处理系统
US20220058373A1 (en) Application execution based on object recognition
US11936928B2 (en) Method, system and device for sharing contents
CN113141515B (zh) 相机资源分发方法、操作系统、终端和广播装置
CN110120963B (zh) 一种数据处理方法、装置、设备和机器可读介质
WO2020135485A1 (zh) 一种结果获取方法、装置及设备
CN113347450B (zh) 一种多应用共享音视频设备的方法、装置和系统
EP4184924A1 (en) Network live broadcast interaction method and device
CN110633141A (zh) 一种应用程序的内存管理方法、装置、终端设备及介质
CN110673919A (zh) 截屏方法和装置
CN114710685B (zh) 视频流的处理方法、装置、终端设备及存储介质
JP7331132B2 (ja) アプリケーションプログラムのインストール方法、稼働方法、電子機器、コンピュータ可読媒体
CN117827709B (zh) 直接内存访问的实现方法、装置、设备及存储介质
CN114390349B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40056172

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant