CN114554078A - 一种摄像头调用方法和电子设备 - Google Patents
一种摄像头调用方法和电子设备 Download PDFInfo
- Publication number
- CN114554078A CN114554078A CN202210023763.2A CN202210023763A CN114554078A CN 114554078 A CN114554078 A CN 114554078A CN 202210023763 A CN202210023763 A CN 202210023763A CN 114554078 A CN114554078 A CN 114554078A
- Authority
- CN
- China
- Prior art keywords
- camera
- folding
- information
- service
- state
- 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 85
- 230000002159 abnormal effect Effects 0.000 claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 148
- 230000006870 function Effects 0.000 description 46
- 239000010410 layer Substances 0.000 description 34
- 230000008569 process Effects 0.000 description 25
- 238000013461 design Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000005856 abnormality Effects 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004308 accommodation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/617—Upgrading or updating of programs or applications for camera control
-
- 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/667—Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Studio Devices (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例公开了一种摄像头调用方法和电子设备,涉及电子设备领域。能够使得***服务能够直接将折叠信息发送给相机设备管理,快速准确地选取调用摄像头。避免了多个服务交互导致的流程复杂等问题。该方法包括:电子设备的***服务获取当前折叠屏的折叠信息,折叠信息包括折叠屏的折叠角和/或折叠屏的状态信息,状态信息包括第一状态或第二状态。***服务将折叠信息发送给电子设备的相机设备管理。相机设备管理根据折叠信息确定摄像头标识,摄像头标识用于标示第一摄像头或第二摄像头。相机设备管理将摄像头标识传输给电子设备的相机驱动。相机驱动根据摄像头标识调用对应的第一摄像头或第二摄像头。
Description
技术领域
本申请实施例涉及电子设备领域,尤其涉及一种摄像头调用方法和电子设备。
背景技术
电子设备中可以设置有多个摄像头实现其拍摄功能。对于设置有折叠屏的电子设备,在展平、折叠等场景下,前置摄像头可以对应到不同的摄像头模组。因此,在使用前置摄像头进行拍摄(如自拍)时,电子设备就需要能够快速准确地确定作为前置摄像头的摄像头模组。
发明内容
本申请实施例提供一种摄像头调用方法和电子设备,可以使得***服务能够直接将折叠信息发送给相机设备管理,快速准确地选取调用摄像头。避免了多个服务交互导致的流程复杂等问题。
为了达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种摄像头调用方法,应用于电子设备中,该电子设备中设置有折叠屏,该电子设备中设置有第一摄像头和第二摄像头,在该电子设备的处于展平状态时,该第一摄像头和该第二摄像头位于该电子设备的两个面上。该方法包括:该电子设备的***服务获取当前折叠屏的折叠信息,该折叠信息包括该折叠屏的折叠角和/或该折叠屏的状态信息,该状态信息包括第一状态或第二状态,该第一状态对应的折叠角大于该第二状态对应的折叠角。该***服务将该折叠信息发送给该电子设备的相机设备管理。该相机设备管理根据该折叠信息确定摄像头标识,该摄像头标识用于标示该第一摄像头或该第二摄像头。该相机设备管理将该摄像头标识传输给该电子设备的相机驱动。该相机驱动根据该摄像头标识调用对应的第一摄像头或第二摄像头。
基于该方案,电子设备的***服务可以直接将折叠信息传输给相机设备管理。比如,***服务可以将状态信息传输给相机设备管理,这样,相机设备管理就可以根据状态信息与摄像头的对应关系,确定各个场景下需要调用的摄像头。比如,该对应关系可以包括作为前置摄像头的摄像头标识与状态信息的对应关系。该状态信息可以至少根据不同的折叠角划分为两个状态,由此即可实现对至少两个场景下前置摄像头的确定以及灵活调度。
在一种可能的设计中,该折叠信息包括状态信息,在该状态信息为该第一状态时,该折叠屏的折叠角大于预设角度。在该状态信息为该第二状态时,该折叠屏的折叠角小于该预设角度。基于该方案,提供了一种状态信息的划分方式。
在一种可能的设计中,该第一摄像头设置在该电子设备内侧,该第二摄像头设置在该电子设备外侧,该电子设备的外侧是该电子设备折叠时向外展示的一侧。在该状态信息为该第一状态时,该***服务将该折叠信息发送给该电子设备的相机设备管理,包括:该***服务向该相机设备管理发送该第一折叠信息,该第一折叠信息包括该第一状态。该相机设备管理根据该折叠信息确定摄像头标识,包括:该相机设备管理根据该第一状态,确定该摄像头标识为第一标识,该第一标识与该第一摄像头对应。该相机设备管理将该摄像头标识传输给该电子设备的相机驱动,该相机驱动根据该摄像头标识调用对应的第一摄像头或第二摄像头,包括:该相机设备管理将该第一标识传输给该电子设备的相机驱动,该相机驱动根据该第一标识调用该第一摄像头。基于该方案,在状态信息为指示折叠角较大的第一状态时,电子设备可以调用内侧的第一摄像头提供自拍功能。
在一种可能的设计中,在该状态信息为该第二状态时,该***服务将该折叠信息发送给该电子设备的相机设备管理,包括:该***服务向该相机设备管理发送该第二折叠信息,该第二折叠信息包括该第二状态。该相机设备管理根据该折叠信息确定摄像头标识,包括:该相机设备管理根据该第二状态,确定该摄像头标识为第二标识,该第二标识与该第二摄像头对应。该相机设备管理将该摄像头标识传输给该电子设备的相机驱动,该相机驱动根据该摄像头标识调用对应的第一摄像头或第二摄像头,包括:该相机设备管理将该第二标识传输给该电子设备的相机驱动,该相机驱动根据该第二标识调用该第二摄像头。基于该方案,基于该方案,在状态信息为指示折叠角较小的第二状态时,电子设备可以调用外侧的第二摄像头提供自拍功能。
在一种可能的设计中,该***服务中设置有屏幕管理服务。该电子设备的***服务获取当前折叠屏的折叠信息,包括:该屏幕管理服务获取该折叠信息。基于该方案,提供了一种***服务获取折叠信息的具体实现。
在一种可能的设计中,该***服务中设置有相机服务扩展服务,以及相机数据传输服务。该方法还包括:该相机服务扩展服务从该屏幕管理服务获取该折叠信息。该***服务将该折叠信息发送给该电子设备的相机设备管理,包括:该相机服务扩展服务通过该相机数据传输服务,向该相机设备管理传输该折叠信息。基于该方案,提供了一种***服务直接向相机设备管理传输折叠信息的具体方式。
在一种可能的设计中,在该相机服务扩展服务从该屏幕管理服务获取该折叠信息之前,该方法还包括:该相机服务扩展服务向该屏幕管理服务注册折叠屏状态,以从该屏幕管理获取该折叠信息。基于该方案,提供了一种相机服务扩展服务获取折叠信息的方案示例。
在一种可能的设计中,该相机服务扩展服务在该电子设备的相机应用开始运行时获取该折叠信息。或者,该相机服务扩展服务在该折叠信息发生变更时,获取该折叠信息。基于该方案,提供了一种相机服务扩展服务获取折叠信息的触发机制。
在一种可能的设计中,在该相机设备管理异常重启后,该方法还包括:该***服务将当前折叠屏的折叠信息发送给该相机设备管理。基于该方案,提供了一种相机设备管理异常时的处理机制。由此使得在相机设备管理在异常并重启成功后,能够获取最新的折叠信息,并据此准确地确定当前需要调用的摄像头。
在一种可能的设计中,在该***服务将当前折叠屏的折叠信息发送给该相机设备管理之前,该方法还包括:该***服务重新获取该当前折叠屏的折叠信息。基于该方案,提供了对异常重启后发送的折叠信息的限定。该重新发送的折叠信息可以是***服务重新获取的当前折叠屏的折叠信息。由此保证异常重启之后的相机设备管理可以据此准确地确定当前需要调用的摄像头。
在一种可能的设计中,该***服务通过该电子设备的相机服务监测该相机设备管理的异常状态。基于该方案,提供了一种***服务监控相机设备管理是否异常的方案。
在一种可能的设计中,该相机服务中设置有状态监视器,该方法还包括:在该相机设备管理异常重启时,该状态监视器向该***服务输出异常标识。基于该方案,提供了一种具体的监控相机设备管理异常的方案实现。
在一种可能的设计中,该方法还包括:在该相机设备管理异常重启后,该状态监视器向该***服务输出正常工作标识。基于该方案,提供了又一种状态监视器的工作机制,由此使得***服务能够准确地知晓当前相机设备管理是否已经正常运行。比如,在接收到该正常工作标识之后,***该服务可以重新发送最新的折叠屏的折叠信息。
第二方面,提供一种电子设备,电子设备包括一个或多个处理器和一个或多个存储器;一个或多个存储器与一个或多个处理器耦合,一个或多个存储器存储有计算机指令;当一个或多个处理器执行计算机指令时,使得电子设备执行如上述第一方面以及各种可能的设计中任一种的摄像头调用方法。
第三方面,提供一种芯片***,芯片***包括接口电路和处理器;接口电路和处理器通过线路互联;接口电路用于从存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,芯片***执行如上述第一方面以及各种可能的设计中任一种的摄像头调用方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机指令,当计算机指令运行时,执行如上述第一方面以及各种可能的设计中任一种的摄像头调用方法。
第五方面,提供一种计算机程序产品,计算机程序产品中包括指令,当计算机程序产品在计算机上运行时,使得计算机可以根据指令执行如上述第一方面以及各种可能的设计中任一种的摄像头调用方法。
应当理解的是,上述第二方面,第三方面,第四方面,以及第五方面提供的技术方案,其技术特征均可对应到第一方面及其可能的设计中提供的摄像头调用方法,因此能够达到的有益效果类似,此处不再赘述。
附图说明
图1为本申请实施例提供的一种可折叠电子设备的立体图;
图2为可折叠电子设备处于展平状态时的结构示意图;
图3为可折叠电子设备处于折叠状态时的结构示意图;
图4为电子设备中支撑装置的立体示意图;
图5为电子设备中支撑装置的***示意图;
图6A为可折叠电子设备处于不同状态的简化示意图;
图6B为一种确定前置摄像头的方案示意图;
图7为本申请实施例提供的一种电子设备的硬件组成示意图;
图8为本申请实施例提供的一种电子设备的软件组成示意图;
图9为本申请实施例提供的一种摄像头调用方法的逻辑示意图;
图10为本申请实施例提供的一种摄像头调用方法的流程示意图;
图11为本申请实施例提供的一种界面示意图;
图12为本申请实施例提供的又一种界面示意图;
图13为本申请实施例提供的又一种摄像头调用方法的逻辑示意图;
图14为本申请实施例提供的又一种摄像头调用方法的流程示意图;
图15为本申请实施例提供的又一种电子设备的组成示意图;
图16为本申请实施例提供的一种芯片***的组成示意图。
具体实施方式
随着显示屏制备工艺的发展,为了应对电子设备显示面积越来越大的需求,折叠屏逐渐被广泛使用在电子设备中。在以下示例中,设置有折叠屏的电子设备也可以称为可折叠电子设备。例如,以电子设备为手机为例。设置有折叠屏的手机也可称为可折叠手机或者折叠屏手机。
请参阅图1,图1为本申请一些实施例提供的可折叠电子设备100的立体图。在本实施例中,可折叠电子设备100为折叠屏手机。可折叠电子设备100包括折叠屏10和支撑装置20。可以理解的是,图1仅示意性的示出了电子设备100包括的一些部件,这些部件的实际形状、实际大小、实际位置和实际构造不受图1的限制。
折叠屏10用于显示图像、视频等。折叠屏10可折叠成第一部分11和第二部分12。折叠屏10还包括位于第一部分11与第二部分12之间的第三部分13。折叠屏10的至少第三部分13采用柔性材料制作。第一部分11和第二部分12可以采用柔性材料制作,也可以采用刚性材料制作,还可以部分采用刚性材料、部分采用柔性材料制作,在此不做具体限定。
具体的,折叠屏10可以为有机发光二极管(organic light-emitting diode,OLED)屏幕,微型有机发光二极管(micro organic light-emitting diode)屏幕,量子点发光二极管(quantum dot light emitting diodes,QLED)屏幕,液晶显示屏(liquidcrystal display,LCD)等等。
折叠屏10能够在展平状态与折叠状态之间切换。
请参阅图2,图2为图1所示电子设备100在折叠屏10处于展平状态时的结构示意图。当折叠屏10处于展平状态时,第一部分11、第二部分12和第三部分13共平面设置,且朝向相同。在此状态下,能够实现大屏显示,可以给用户提供更丰富的信息,带给用户更好的使用体验。
请参阅图3,图3为图1所示可折叠电子设备100在折叠屏10处于折叠状态时的结构示意图。当折叠屏10处于折叠状态时,第三部分13处于折弯状态,第一部分(图3中未示出)与第二部分(图3中未示出)相对。在此状态下,折叠屏10对用户不可见,支撑装置20保护于折叠屏10外,以防止折叠屏10被硬物刮伤。同时,在此状态下,可以减小可折叠电子设备100的体积,便于可折叠电子设备100的收纳。
支撑装置20用于支撑折叠屏10,并允许折叠屏10在展平状态与折叠状态之间折叠。请参阅图4,图4为图1所示电子设备100中支撑装置20的立体图。在本实施例中,支撑装置20包括第一壳体21、第二壳体22和转动组件23。可以理解的是,图4仅示意性的示出了支撑装置20包括的一些部件,这些部件的实际形状、实际大小、实际位置和实际构造不受图4的限制。
第一壳体21用于固定并支撑图1中折叠屏10的第一部分11。具体的,第一壳体21具有贴合面M1,第一壳体21通过贴合面M1固定并支撑图1中折叠屏10的第一部分11。
第二壳体22用于固定并支撑图1中折叠屏10的第二部分12。具体的,第二壳体22具有贴合面M2,第二壳体22通过贴合面M2固定并支撑图1中折叠屏10的第二部分12。
第一壳体21的内部形成第一容纳腔(图中未示出)。第二壳体22的内部形成第二容纳腔(图中未示出)。第一容纳腔和第二容纳腔用于容纳可折叠电子设备100的主板、电池、摄像头模组、扬声器、听筒等电子器件。
第一壳体21可以为一个结构整体,也可以由多个部分装配形成。同理的,第二壳体22可以为一个结构件整体,也可以由多个部分装配形成。
在一些实施例中,请参阅图5,图5为图4所示支撑装置20的***图。第一壳体21包括第一中框211和第一背盖212。贴合面M1位于第一中框211上。第一背盖212固定于第一中框211背离贴合面M1的一侧。第一容纳腔形成于第一中框211与第一背盖212之间。
第二壳体22包括第二中框221和第二背盖222。贴合面M2位于第二中框221上。第二背盖222固定于第二中框221背离贴合面M2的一侧。第二容纳腔形成于第二中框221与第二背盖222之间。
转动组件23用于支撑折叠屏10的第三部分13。并且,转动组件23连接于第一壳体21与第二壳体22之间,第一壳体21与第二壳体22通过转动组件23实现可转动连接。在一些实施例中,转动组件23连接于第一壳体21的第一中框211与第二壳体22的第二中框221之间。在其他实施例中,转动组件23也可以连接于第一壳体21的第一背盖212与第二壳体22的第二背盖222之间。
在本示例中,可折叠电子设备100的转动组件23可以对应于一个折叠边。在可折叠电子设备100折叠过程中,第一壳体21与第二壳体22可以沿该折叠边进行折叠。在第一壳体21与第二壳体22所在平面之间的夹角不同时,可以对应到可折叠电子设备100的不同状态。在本申请中,该第一壳体21与第二壳体22所在平面之间的夹角可以称为折叠角。
示例性的,可折叠电子设备100的状态可以包括展平状态、折叠状态、半折叠状态等。结合图6A,示出了可折叠电子设备100处于不同状态下的几种简化示意。其中,图6A中的(a)为展平状态,图6A中的(b)为半折叠状态,图6A中的(c)为折叠状态。本示例中,以可折叠电子设备100为折叠屏手机为例。
如图6A中的(a)所示,在折叠屏手机完全打开的情况下(即处于展平状态),折叠角为180度。如图6A中的(b)所示,在半折叠状态下,折叠角可以处于0度到180度之间。如图6A中的(c)所示,在折叠状态下,折叠角可以为0°。
为了便于说明,在本申请中,折叠屏手机可以包括内侧和外侧。内侧和外侧可以是折叠屏手机处于展开状态下,折叠屏手机的相对的两个面。而在折叠状态下,内侧的面被包裹在折叠屏手机内部,无法被看到。对应的,在折叠状态下,外侧的面则对应折叠屏手机的外观面。在不同实现中,折叠屏10可以设置在内侧,也可以设置在外侧。在以下说明中,以折叠屏10设置在内侧为例。
如图6A中的(a)所示,设置在内侧的折叠屏10可以包括设置在第一壳体21内侧的屏幕A,以及设置在第二壳体22内侧的屏幕B。该屏幕A也可以称为A屏,屏幕B也可以称为B屏。折叠屏手机在内侧设置有折叠屏10外,还可以在外侧设置有屏幕。比如,如图6A中的(c)所示,在折叠屏手机的外侧,可以设置有屏幕C,或称为C屏。该C屏可以是设置在第一壳体21的外侧的。在另一些实施例中,该C屏可以设置在第二壳体22的外侧。
可以理解的是,在可折叠电子设备100中还可以设置有多个摄像头,以便在不同的状态下,通过调用不同的摄像头向用户提供拍摄功能。示例性的,以可折叠电子设备100向用户提供自拍功能为例。
结合图6A中的(a)以及图6A中的(b)。在可折叠电子设备100的内侧(如A屏或B屏)上可以设置有摄像头1。在本示例中,以在B屏上设置有摄像头1为例。这样,在一些状态下(如展平状态),可折叠电子设备100可以通过该摄像头1向用户提供自拍功能。结合图6A中的(c)。在可折叠电子设备100的外侧(如C屏)上可以设置有摄像头2。这样,在另一些状态下(如折叠状态),可折叠电子设备100可以通过该摄像头2向用户提供自拍功能。应当理解的是,在可折叠电子设备100提供不同于自拍功能的其他拍摄功能时,也需要使用对应的摄像头进行拍摄。
由于在不同状态下,需要对应不同的摄像头进行自拍,那么,可折叠电子设备100就需要能够确定当前状态下,调用哪个摄像头能够提供自拍功能。在以下说明中,提供自拍功能的摄像头也可以称为前置摄像头。也就是说,在不同的折叠状态下,前置摄像头对应的摄像头或摄像头模组可以是不同的。
在目前的方案中,可折叠电子设备100需要通过其中运行的多个服务进行数据传递以实现上述前置摄像头的确定。示例性的,图6B示出了一种可折叠电子设备100确定自拍摄像头的方案示例。如图6B所示,可折叠电子设备100可以通过***服务获取折叠角,并执行S601,即将折叠角传输给相机服务。接着可以执行S602,即相机服务可以将折叠角传递给相机设备管理。由此,相机设备管理就可以根据折叠角确定当前需要调用哪个摄像头作为前置摄像头。
可以看到,为了实现确定前置摄像头的目的,目前方案中,需要将折叠角等数据在多个服务中进行传输。比如,折叠角需要在***服务、相机服务,以及相机设备管理之间进行传输。在上述前置摄像头的确定过程中,可能会由于服务异常导致无法确定应该使用哪个摄像头。为了解决该问题,本申请实施例提供的方案,在***服务中设置相关的功能模块,使得数据可以直接从***服务传输给相机设备管理。示例性的,在***服务中增加屏幕管理,相机服务扩展,相机数据传输等相关模块,实现数据从***服务向相机设备管理的直接传输。
以下结合附图对本申请实施例提供的方案进行说明。
需要说明的是,本申请实施例提供的摄像头调用方法,可以应用在用户的电子设备中。该电子设备可以是能够提供拍摄功能的设备。该电子设备可以设置有折叠屏,电子设备上可以设置有至少两个摄像头。示例性的,该电子设备可以是手机、平板电脑、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、媒体播放器等具备拍摄功能的便携式移动设备,该电子设备也可以是智能手表等可穿戴电子设备。本申请实施例对该设备的具体形态不作特殊限制。
示例性的,本申请实施例提供的方案可以应用于如图1-图6A中任一种所示的可折叠电子设备100中。上述如图1-图6A主要从结构的角度对可折叠电子设备进行说明的。本申请实施例还提供一种电子设备700的硬件组成示意图。如图7所示,该电子设备100可以包括处理器710,外部存储器接口720,内部存储器721,通用串行总线(universal serial bus,USB)接口730,充电管理模块740,电源管理模块741,电池742,天线1,天线2,移动通信模块750,无线通信模块760,音频模块770,传感器模块780,按键790,马达791,指示器792,摄像头793,显示屏794,以及用户标识模块(subscriber identification module,SIM)卡接口795等。其中,传感器模块780可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。在一些实施例中,该电子设备100还可以包括扬声器,受话器,麦克风,耳机接口等器件用于实现电子设备100的音频相关功能。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
示例性的,电子设备100可以包括1个或N个摄像头793,N为大于1的正整数。比如,在本申请中,摄像头593可以包括设置在电子设备内侧的摄像头(如图6A所示的摄像头1)。摄像头593还可以包括设置在电子设备外侧的摄像头(如图6A所示的摄像头2)等。以摄像头1为例,在不同的实现中,摄像头1可以具有不同的实现方式。比如,摄像头1可以设置在电子设备的A屏上,也可以设置在电子设备的B屏上等。在本申请中,摄像头793也可以称为摄像头模组。
电子设备100中的显示屏794用于显示图像,视频等。显示屏794包括显示面板。显示面板可以采用液晶显示屏794(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flexlight-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏794,N为大于1的正整数。在本申请实施例中,显示屏可以包括一个或多个屏幕。该显示屏中可以包括折叠屏。比如,结合如图6A的示例,显示屏可以包括设置在电子设备内侧的折叠屏。显示屏还可以包括设置在电子设备外侧的屏幕。在一些实现中,折叠屏可以通过一块完整的屏幕实现。即,A屏和B屏可以对应到一个完整的屏幕。该屏幕可以具有折叠特性,在展平或半折叠状态下均可进行正常的显示。在另一些实现中,折叠屏也可以通过分别设置在A屏和B屏所在位置的两块屏幕共同实现电子设备内侧的显示功能。需要说明的是,在不同实现中,折叠屏的最大折叠角可以是不同的。比如,在一些实现中,折叠屏的最大折叠角可以为180度。在一些实现中,折叠屏的最大折叠角可以为270度。在一些实现中,折叠屏的最大折叠角可以为360度。本申请实施例中,以折叠屏的最大折叠角可以为180度为例进行说明。
应当理解的是,上述图7示出了电子设备中的一种硬件结构组成。本申请中,还可以从另一个角度对电子设备100进行划分。比如,参考图8,示出了电子设备100的一种软件划分示意。
示例性的,在如图8所示的示例中,电子设备可以具有分层架构。其中,该分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。本示例中,以电子设备运行有(Android)操作***为例。***可以分为五层,从上至下分别为应用程序层(APP层)810,应用程序框架层(Framework层)820,硬件抽象层(HardwareAbstract Layer,HAL)830,内核层840以及硬件层850等。
其中,应用程序层810简称为应用层810,可以包括一系列应用程序包。示例性的,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。在这些应用程序包中,可以包括一个或多个用于进行拍摄的APP。本示例中,APP层810中可以包括相机应用(Camera APP)811,用于实现拍摄功能。该拍摄功能可以包括自拍、摄像等功能。
应用程序框架层820简称为框架层810。框架层810可以为应用层810的应用程序提供应用编程接口(application programming interface,API)和编程框架。框架层820包括一些预先定义的函数。示例性的,框架层820可以包括窗口管理器,内容提供器,视图***,资源管理器,通知管理器,活动管理器,输入管理器等。窗口管理器提供窗口管理(WindowManager Service,WMS),WMS可以用于窗口管理、窗口动画管理、surface管理以及作为输入***的中转站。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。活动管理器可以提供活动管理(Activity Manager Service,AMS),AMS可以用于***组件(例如活动、服务、内容提供者、广播接收器)的启动、切换、调度以及应用进程的管理和调度工作。输入管理器可以提供输入管理(Input Manager Service,IMS),IMS可以用于管理***的输入,例如触摸屏输入、按键输入、传感器输入等。IMS从输入设备节点取出事件,通过和WMS的交互,将事件分配至合适的窗口。
在本申请实施例中,框架层820中可以设置有***服务821和相机服务822。示例性的,该***服务821可以为SystemServer。相机服务822可以为CameraService。在***服务821中,可以运行有多个子进程,不同子进程用于实现不同的功能。不同子进程可以对应到不同的服务。比如,屏幕管理821a,相机服务扩展821b,相机数据传输821c等。作为一种示例,屏幕管理821a可以为HwFoldScreenManagerService。其中,Hw为硬件(Hardware)的缩写,以下类似。相机服务扩展821b可以为HwCameraServiceProxy。相机数据传输821c可以为PostCamera。
在本申请中,屏幕管理821a可以用于从电子设备获取当前折叠屏的折叠信息。其中,折叠信息可以包括折叠角和/或状态信息。状态信息可以包括第一状态和第二状态。第一状态对应于折叠角处于0度到预设角度之间的范围。第二状态对应于折叠角处于预设角度到180度之间的范围。预设角度可以为0度到180度之间的角度。例如,预设角度可以为45度或60度或75度或80度等。相机服务扩展821b可以用于从屏幕管理821a获取当前电子设备的折叠信息。相机服务扩展821b还可以用于通过相机数据传输821c将折叠信息传输给其他硬件或软件模块。此外,相机服务822可以用于管理相机相关的各项功能。比如,可以通过在相机服务822中设置状态监视器822a,用于监视相机设备管理的异常状态等。在本申请中,当前电子设备的折叠信息也可以称为当前折叠屏的折叠信息。
作为一种可能的实现,以折叠信息包括状态信息为例。屏幕管理821a可以从***服务821中的其他服务获取该折叠信息。例如,如图8所示,在***服务821中还可以设置有姿态状态模块821d。结合图7所示,在电子设备启动之后,传感器模块780可以实时地将电子设备的折叠状态相关信息传输给对应的传感器控制中心(sensor HUB)。例如,传感器模块780中的重力加速度传感器(A+G传感器)可以实时地向sensor HUB上报当前电子设备的XYZ各个方向的重力加速度数据。sensorHUB可以根据该重力加速度数据确定当前电子设备的折叠角。姿态状态模块821d可以从sensorHUB获取该折叠角。姿态状态模块821d还可以根据该当前电子设备的折叠角,以及预设角度,确定当前电子设备的状态信息。由此,屏幕管理821a就可以从姿态状态模块821d获取该状态信息。
在另一些可能的实现中,屏幕管理821a还可以从其他模块或部件直接或间接地获取状态信息和/或折叠角。本申请实施例对此不作限定。
HAL层830运行于用户空间(user space),对内核层840驱动进行封装,向上层提供调用接口。在本申请实施例中,HAL层830中可以包括相机硬件抽象831,在该相机硬件抽象831中可以设置有相机设备管理831a。在一些实施例中,该相机设备管理831a可以用于根据当前折叠信息,确定需要调用的前置摄像头。如在自拍场景下,根据当前折叠信息,确定将哪个摄像头模组作为前置摄像头。示例性的,在折叠角较大时,或者在状态信息包括第一状态时,调用内侧的摄像头1作为前置摄像头。又如,在折叠角较小时,或者在状态信息为第二状态时,调用外侧的摄像头2。相机设备管理831a还可以将确定的前置摄像头的标识(ID)传输给内核层840以便调用对应的摄像头。比如,在摄像头1为前置摄像头时,相机设备管理831a可以将摄像头1对应的第一标识发送给内核层840。又如,在摄像头2为前置摄像头时,相机设备管理831a可以将摄像头2对应的第二标识发送给内核层840。在本申请中,相机设备管理831a也可简称为相机设备管理831a。
内核层840可以包括多个不同部件的驱动,如显示驱动,摄像头驱动841,音频驱动,传感器驱动。在一些实施例中,不同的摄像头可以对应到同一个摄像头驱动841。该摄像头驱动841可以根据前置摄像头的ID,调用对应的摄像头进行拍摄等工作。在另一些实施例中,HAL层830中还可以设置有多个摄像头驱动841,不同摄像头驱动841用于驱动不同的摄像头。为了调用确定的摄像头,电子设备可以向对应的摄像头驱动841发送拍摄指令,从而通过该摄像头驱动841调用对应的摄像头进行拍摄。
硬件层850中可以设置有多个摄像头。比如,如图8所示,在本申请中,电子设备中可以设置有两个摄像头,如摄像头1和摄像头2。摄像头1和摄像头2可以分别设置在电子设备的内侧和外侧。比如,结合如图6A的示例,摄像头1可以设置在电子设备的内侧。摄像头2可以设置在电子设备的外侧。此外,硬件层850中还可以设置有如图7所示的传感器模块780(图8中未示出),以便通过该传感器模块780确定当前电子设备的折叠信息。
此外,在一些实施例中,电子设备中还可以包括安卓运行时、原生C/C++库等。安卓运行时包括核心库和安卓运行时。安卓运行时负责将源代码转换为机器码。安卓运行时主要包括采用提前(ahead or time,AOT)编译技术和及时(just in time,JIT)编译技术。核心库主要用于提供基本的Java类库的功能,例如基础数据结构、数学、输入输出(InputOutput,IO)、工具、数据库、网络等库。核心库为用户进行安卓应用开发提供了API。原生C/C++库可以包括多个功能模块。例如:表面管理器(surface manager),媒体框架(MediaFramework),标准C库(Standard C library,libc),嵌入式***的开放图形库(OpenGL forEmbedded Systems,OpenGL ES)、Vulkan、SQLite、Webkit等。
应当理解的是,本申请实施例提供的方案均能够应用在具有如图1-图6A所示结构组成的电子设备中。本申请实施例提供的方案也能够应用在具有如图7所示的硬件组成或者如图8所示软件组成的电子设备中。
以下对本申请实施例提供的方案进行详细说明。
此外,应当理解的是,本申请实施例提供的方案,能够应用于不同的拍摄场景,如通过前置摄像头自拍,或通过后置摄像头拍摄其他对象等。对于折叠屏手机而言,由于在不同场景下,手机的折叠状态不同(如展平状态、半折叠状态、折叠状态等),对应的前置摄像头和后置摄像头也不同。因此,以自拍场景为例,折叠屏手机确定使用哪个摄像头的过程,也就是确定哪个摄像头作为前置摄像头进行拍摄的过程。对于后置摄像头拍摄场景,或者录像等场景,方案的实施类似。以下示例中,以拍摄场景为自拍为例进行说明。
作为一种示例,结合如图8所示的软件组成。图9示出了一种模块间交互的方案示意。需要说明的是,本方案的改进主要涉及框架层820以及HAL层830之间的数据传输链路,因此,在如图9的示例中,给出了基于框架层820以及HAL层830的交互示意。其他软件层的功能与现有逻辑类似,将在后续说明中详细陈述。
如图9所示,该方案执行过程中,可以至少包括如下3个步骤:
S901、相机服务扩展821b向屏幕管理821a注册折叠屏状态。
在本示例中,相机服务扩展821b可以通过注册折叠屏状态,从屏幕管理821a获取当前的折叠信息。结合前述示例,折叠信息可以包括折叠角和/或状态信息。状态信息可以包括第一状态和第二状态。第一状态对应于折叠角处于0度到预设角度之间的范围。第二状态对应于折叠角处于预设角度到180度之间的范围。预设角度可以为0度到180度之间的角度。
示例性的,以相机服务扩展821b通过第一函数从屏幕管理821a获取折叠信息为例。该注册折叠屏状态可以包括:相机服务扩展821b将第一函数进行封装,将回调第一函数的指针传递给屏幕管理821a。这样,通过回调第一函数,相机服务扩展821b就可以获取屏幕管理821a维护的折叠信息。
结合图8的示例,该S901的执行,可以是在电子设备需要确定前置摄像头之前进行的。示例性的,电子设备可以在开机或者***服务启动时,执行该S901。由此使得在相机服务扩展821b需要获取折叠信息时,能够快速地通过对第一函数进行回调,获取该折叠信息。
比如,在用户打开相机应用时,相机服务扩展821b可以通过回调第一函数,从屏幕管理821a获取折叠信息。又如,在用户使用折叠屏手机的过程中,对折叠屏手机进行折叠或展开的操作,当状态信息由第一状态变更为第二状态,或者由第二状态变更为第一状态时,则相机服务扩展821b可以通过回调第一函数,获取新的折叠信息。
S902、相机服务扩展821b向相机数据传输821c发送折叠信息。
在本示例中,在***服务821中,可以创建相机数据传输821c,以便直接与相机硬件抽象831进行通信。示例性的,相机服务扩展821b可以将折叠信息传输给相机数据传输821c,并执行以下S903。
可以理解的是,在相机应用启动时,或者折叠信息发生变化时,相机服务扩展821b可以从屏幕管理821a获取当前的折叠信息。那么,在相机服务扩展821b每获取一次折叠信息,就可以向相机数据传输821c发送折叠信息。
S903、相机数据传输821c向相机设备管理831a发送折叠信息。
由此即实现了折叠信息由***服务821向相机硬件抽象的直接传递。比如,折叠信息可以通过相机数据传输821c传输给相机设备管理831a。
可以看到,本申请实施例提供的方案中,通过在***服务821中创建屏幕管理821a、相机服务扩展821b以及相机数据传输821c,实现折叠信息仅在***服务821中进行传递即可以传输给相机硬件抽象831。进而使得相机硬件抽象831可以根据该折叠信息,确定前置摄像头。
示例性的,以折叠信息包括状态信息为例。在折叠信息包括的状态信息为第一状态时,即当前电子设备的折叠较小,那么相机设备管理831a就可以将外侧的摄像头,如摄像头2,对应的第二标识传输给相机驱动。这样相机驱动就可以根据该第二标识,调用摄像头2进行工作。在折叠信息包括的状态信息为第二状态时,即当前电子设备的折叠较大,那么相机设备管理831a就可以将内侧的摄像头,如摄像头1,对应的第一标识传输给相机驱动。这样相机驱动就可以根据该第一标识,调用摄像头1进行工作。
由此,在确定前置摄像头的过程中,对于确定前置摄像头的折叠信息的传输,就可以不需要通过如图6B所示的两个服务,即***服务以及相机服务才能传输给相机设备管理。由此避免多个服务(进程)之间的数据传输。
为了能够使得本领域技术人员能够更加清楚地了解如图9所示的方案以下将结合具体的示例,对如图9所示的方案进行详细的说明。
示例性的,请参考图10,为本申请实施例提供的一种摄像头调用方法的流程示意图。该方案能够应用于折叠屏手机中,用于折叠屏手机灵活准确的并且快速地确定需要调用的前置摄像头。如图10所示,该方案可以包括:
S1001、相机服务扩展向屏幕管理注册折叠屏状态。
在本申请实施例中,相机服务扩展可以通过屏幕管理获取折叠屏的折叠信息。
示例性的,该折叠信息的组成以及注册时机,可以参考如图9所示S901的说明。
以折叠信息包括状态信息为例。在一些实施例中,该状态信息可以指示第一状态,对应于当前的折叠角处于0度到预设角度范围内。在另一些实施例中,该状态信息可以指示第二状态,对应于当前的折叠角处于预设角度到180度范围内。
在另一些实现中,该折叠信息还可以包括具体的折叠角。或者,在另一些实现中,该折叠信息还可以包括折叠信息以及具体的折叠角。本申请实施例对于折叠信息的具体内容不做限定。
以折叠信息包括状态信息为例。屏幕管理可以实时地获取当前折叠屏的状态信息。结合图8,该状态信息可以是姿态管理模块821d根据当前折叠角确定的。在一些实施例中,该折叠角可以是sensorHUB根据传感器模块中的一个或多个传感器传输的数据确定的。比如,sensorHUB可以根据A+G传感器输出是当前电子设备的XYZ方向的姿态信息,确定当前的折叠角。
在本申请中的一些实施例中,该S1001的执行,可以是在折叠屏手机开机后执行的。比如,在折叠屏手机开机后,就可以执行该S1001,由此使得在后续接收到用户打开相机进行拍摄的指令后,相机服务扩展可以快速获取当前折叠信息。在另一些实施例中,该S1001的步骤,也可以是手机打开相机应用时执行的。由此能够降低开机过程中的程序运行压力。
作为一种示例,以打开相机应用时执行该S1001为例。折叠屏手机可以在接收到用户输入的打开相机的操作后,响应于该操作,打开相机应用,即运行相机应用。图11示出了一种折叠屏手机接收用户输入的打开相机的操作的示例。在本示例中,以用户展开折叠屏输入操作为例。在折叠屏手机处于展开状态时,可以显示如图11所示的界面1101。结合前述示例,在该折叠屏上可以设置有摄像头1。在接收到用户对界面1101上相机应用对应的图标1102的操作后,折叠屏手机可以开始运行相机应用,即执行该S1001。其中,用户对图标1102的操作,可以是触碰(如触摸、按压)等操作。
S1002、相机服务扩展从屏幕管理获取第一折叠信息。
示例性的,在一些实施例中,在用户打开相机应用进行自拍时,相机服务扩展可以从屏幕管理获取折叠信息。可以理解的是,在本示例的应用场景中,可以是用于确定前置摄像头的场景。那么,该S1002的执行,可以是在用户打开相机应用进行自拍,即需要确定前置摄像头时进行的。
应当理解的是,在相机应用运行后,如果默认进入自拍场景,那么该在用户打开相机应用进行自拍的时机就可以是相机应用开始运行时。
而在相机应用运行后,如果默认并非自拍场景,就需要用户控制切换到前置摄像头进行自拍,从而触发进入自拍场景。那么,在该情况下,用户输入的切换为前置摄像头的指令,就可以是执行该S1002的触发机制。示例性的,结合如图12的示例。以相机应用启动时默认采用后置摄像头进行拍摄为例。在折叠屏手机开始运行相机应用后,可以显示界面1201。在该界面1201上可以包括用于切换到前置摄像头的图标1202。用户可以通过对该图标1202输入操作,实现切换到前置摄像头进行自拍。响应于用户对图标1202输入的操作,电子设备可以执行该S1002。
在另一些实施例中,在折叠屏的状态信息发生变化时,相机服务扩展也可以执行该S1002。可以理解的是,在状态信息发生变化时,那么对应的前置摄像头可能需要进行调整。比如,由摄像头1切换为摄像头2,或者由摄像头2切换为摄像头1等。那么,相机服务扩展可以在该状态信息发生变化时,获取最新的折叠信息,以便电子设备能够根据该更新的折叠信息,准确地确定当前的前置摄像头。
S1003、相机服务扩展通过相机数据传输向相机设备管理传递第一折叠信息。
在本申请中,相机数据传输可以作为框架层的***服务中,用于对相机设备管理进行数据传递的数据接口或通道。在本示例中,相机服务扩展可以将获取的折叠信息,如第一折叠信息,通过该相机数据传输传输给相机设备管理。
应当理解的是,结合S1002中的说明,在本申请中,开始进行自拍时,或者状态信息发生变化时,相机服务扩展就会从屏幕管理更新折叠信息。那么对应的,在S1003中,相机服务扩展可以在开始进行自拍时,或者状态信息发生变化时,就通过相机数据传输向相机设备管理传递该更新的折叠信息,比如第一折叠信息。
S1004、相机设备管理根据第一折叠信息确定调用的摄像头的标识为第一标识。
在申请中,不同摄像头可以对应到不同的标识(ID)。比如,摄像头1的标识可以为第一标识。摄像头2的标识可以为第二标识等。不同摄像头的标识可以不同。通过区分不同的标识,就能够确定对应的摄像头。
示例性的,相机设备管理中可以存储有不同折叠信息与要调用前置摄像头的标识的对应关系。例如,折叠信息为包括的状态信息为第一状态的第一折叠信息时,对应折叠角在[x,180]的范围内,x为预设角度。比如,x可以为45度或60度或75度或80度等。对应的前置摄像头的标识为第一标识。该第一标识可以用于指示电子设备内侧的摄像头1。对应的,折叠信息包括的状态信息为第二状态时,对应折叠角在[0,x)的范围内,x为预设角度。对应的前置摄像头的标识为第二标识。该第二标识可以用于指示电子设备外侧的摄像头2。
以x为80度为例,那么,在折叠角大于80度的情况下,则相机设备管理可以确定需要调用的摄像头的标识为第一标识。也就是需要调用的摄像头1作为前置摄像头。
由此,就使得相机设备管理能够根据获取的当前折叠屏的折叠信息,对应确定需要调用的前置摄像头的效果。
S1005、相机设备管理将第一标识发送给相机驱动。
在本示例中,相机设备管理可以将根据当前折叠角确定的需要调用的摄像头的标识发送给摄像头驱动。相机驱动可以根据接收到的摄像头标识,调用对应的摄像头执行拍摄指令。
示例性的,相机驱动可以根据第一标识,确定需要调用的前置摄像头为第一标识对应的摄像头1。
S1006、相机驱动向摄像头1发送运行指令。
在本申请中,该运行指令可以用于指示对应的摄像头上电并开始采集图像。
作为一种示例,该运行指令可以包括以下中的热一项:指示摄像头上电的指令,初始化指令,以及启流指令。
这样,在相机应用启动并需要向用户提供自拍功能时,摄像头1就可以根据接收到的运行指令,开始采集图像,由此使得电子设备通过该摄像头1向用户提供自拍功能。
对应的,在用户自拍过程中,折叠屏手机处于折叠或接近折叠的状态,可以通过摄像头2提供自拍功能,此时摄像头1可以处于待机或不工作的状态。而用户将折叠屏手机的折叠屏逐渐展开时,如果折叠角从小于预设角度变化为大于预设角度,那么会触发折叠信息变化,对应的通过如图10所示的方案,在S1006执行后,摄像头1可以接收到该运行指令,开始工作,由此使得电子设备由摄像头2切换为摄像头1,继续向用户提供自拍功能。
需要说明的是,在本申请的一些实施例中,在进行摄像头切换的场景下,相机还可以向摄像头2发送停止运行的指令,该指令可以用于指示摄像头2停流和/或下电。由此使得在切换到摄像头1之后,摄像头2可以停止工作,节省对应的功耗开销。
可以理解的是,在如S1002-S1006的示例中,是以当前折叠角较大,对应于状态信息为第一状态为例进行说明的。那么,在该实现中,在折叠角较小的情况下,电子设备可以自动调用外侧的摄像头2执行自拍。
在本申请的另一些实施例中,折叠角度较小情况下,比如折叠角度小于预设角度的方案实现可以参考S1012-S1016。
S1012、相机服务扩展从屏幕管理获取第二折叠信息。
示例性的,第二折叠信息可以用于指示状态信息为第二状态,即当前折叠角处于0度到预设角度的范围内。
S1013、相机服务扩展通过相机数据传输向相机设备管理传递第二折叠信息。
S1014、相机设备管理根据第二折叠信息确定调用的摄像头的标识为第二标识。
S1015、相机设备管理将第二标识发送给相机驱动。
S1016、相机驱动向摄像头2发送运行指令。
应当理解的是,上述S1012-S1016的具体实现与S1002-S1006类似,可以互相参考。通过如S1012-S1016的方案,在折叠角较小的情况下,电子设备可以自动调用外侧的摄像头2执行自拍。
基于上述如图10所示的方案示例,可以看到,相机设备管理起到了根据折叠信息确定需要调用的摄像头的作用。结合前述说明,该相机设备管理也可以通过一个进程实现其功能。而对于所有进程而言,在运行过程中都可能由于各种原因导致异常。在出现异常的情况下,进程可以通过重启恢复期功能。比如,相机设备管理对应的进程在出现异常后,可以自行重启,以便重启后继续跟进如图10所示的方案,根据进来自相机服务扩展的折叠信息,确定需要调用的摄像头。
应当理解的是,在电子设备中的服务运行过程中,可能会出现服务的异常。比如,***服务821、相机服务822以及相机设备管理831a中的任一个或多个都可能出现异常。为了应对这些服务异常对本申请实施例提供方案,如图9或图10所示方案的影响。在本申请的一些实施例中,可以设置服务的异常重启机制,使得异常服务会自行判别并重启,从而在重启之后继续执行本申请实施例提供的方案。其中,服务异常可以是指进程自己内部空指针、执行异常、资源故障、调用异常、***低内存时等。
示例性的,以***服务821为例。在***服务821中或者在***底层可以设置有异常监控模块,该异常监控模块可以监控***服务821中的各个服务的异常状态。比如,在屏幕管理821a,相机服务扩展821b,相机数据传输821c中的任一个出现服务异常时,异常监控模块可以杀死该服务对应的进程。异常监控模块还可以在杀死该服务之后,重新发起该服务,从而实现对该异常服务的重启。在重启之后,该服务可以继续按照如图9或图10所示方案执行对应的功能。然而,在相机设备管理对应的进程出现已经异常后重启过程中,如果有来自相机服务扩展的折叠信息,那么相机设备管理就可能无法根据该折叠信息快速准确地确定需要调用的前置摄像头。为了解决该问题,本申请实施例还提供一种监视机制,使得相机服务扩展能够在相机设备管理异常重启之后再次发送最新的折叠信息。进而使得重启后的相机设备管理能够根据该最新的折叠信息,确定需要调用的前置摄像头,并指示对应的摄像头开始工作。
需要说明的是,在以下示例中,以通过相机服务实现对相机设备管理的异常监控为例。在本申请的另一些实现中,***服务可以自行对相机设备管理进行异常监控。比如,***服务中的相机服务扩展可以用于通过调用对应的插件实现该功能。具体实现类似,不再赘述。
示例性的,图13为本申请实施例提供的又一种模块间交互示意。结合图9所示方案的简要说明,在本示例中,可以通过在相机服务822中设置的状态监视器822a监视相机设备管理831a的异常状态,由此使得相机服务扩展821b能够进行对应的处理。如图13所示,该方案可以包括:
S1301、相机服务扩展821b向屏幕管理821a注册折叠屏状态。
示例性的,该S1301的执行可以参考上述S901,此处不再赘述。
S1302、状态监视器822a监控相机设备管理831a的异常状态。
结合图13。在本示例中,相机服务822中设置有状态监视器822a。该状态监视器822a可以用于监视相机设备管理831a是否处于异常状态。在本示例中,相机设备管理831a在异常重启的过程中,则对应相机设备管理831a处于异常状态。在监测到相机设备管理831a处于异常状态下时,可以执行以下S1303。
S1303、状态监视器822a发出异常标识。
在确定相机设备管理831a处于异常状态下时,状态监视器822a可以输出异常标识,使得其他模块,比如相机服务扩展821b知晓相机设备管理831a处于异常状态。
在本示例中,相机设备管理831a出现异常时,则该状态监视器822a会对应的输出异常信息给相机服务扩展821b。作为一种可能的实现,该异常信息可以包括用于指示相机设备管理831a处于异常状态的标识(如异常标识)。那么,相机服务扩展821b就可以在状态监视器822a输出异常标识的情况下,确定相机设备管理831a出现异常。
需要说明的是,在相机设备管理831a出现异常之后,可以自行重启。而在该重启过程中,相机设备管理831a依然无法正常实现其功能。因此,在本申请的一些实施例中,状态监视器822a可以在相机设备管理831a重启过程中,也输出异常标识,以便于相机服务扩展821b确定相机设备管理831a无法正常工作。
在本申请的一些实现中,在相机设备管理831a异常重启过程中,状态监视器822a可以不断输出异常标识。在相机设备管理831a异常重启过程之后,状态监视器822a可以停止输出异常标识。这样,相机服务扩展821b就可以在状态监视器822a停止输出异常标识时,确定相机设备管理831a已经恢复正常。
在本申请的一些实现中,在相机设备管理831a异常重启后,状态监视器822a可以向相机服务扩展821b输出正常工作标识。那么,相机服务扩展821b就可以根据正常工作标识,确定相机设备管理831a已经能够正常运行。
S1304、相机服务扩展821b向相机数据传输821c发送当前折叠信息。
S1305、相机数据传输821c向相机设备管理831a发送折叠信息。
在本示例中,相机服务扩展可以在根据异常标识,确定相机设备管理无法正常工作时,重新向相机设备管理发送最新的折叠信息。
示例性的,以相机设备管理831a异常重启过程中,状态监视器822a不断输出异常标识为例。那么相机服务扩展821b可以在状态监视器822a停止输出异常标识后,向相机数据传输821c发送当前折叠信息。
在另一些实施例中个,以在相机设备管理831a异常重启后状态监视器822a输出正常工作标识为例。那么相机服务扩展821b可以在状态监视器822a输出正常工作标识后,向相机数据传输821c发送当前折叠信息。
其中,该当前折叠信息可以包括当前折叠屏的折叠角和/或状态信息。该折叠信息的获取可以参考S1002,此处不再赘述。
这样,相机服务扩展821b就能够根据异常标识的输出,确定相机设备管理831a存在异常状态,进而执行对应的措施,避免折叠角的丢失导致的无法确定前置摄像头的问题。以下结合图14对如图13所示的方案继续进行说明。
示例性的,请参考图14,为本申请实施例提供的又一种摄像头调用方法的流程示意图。在本示例中,结合如图10所示的方案示例,以相机设备管理在根据第三折叠信息确定对应的摄像头之前出现异常重启,第三折叠信息对应的摄像头为摄像头2为例。如图14所示,该方案可以包括:
S1401、相机服务扩展向屏幕管理注册折叠屏状态。
S1402、相机服务扩展从屏幕管理获取第三折叠信息。
S1403、相机服务扩展通过相机数据传输向相机设备管理传递第三折叠信息。
上述S1401-S1403的执行过程,可以参考如图10所示的S1001-S1003的执行过程,此处不再赘述。
S1404、相机设备管理异常重启。
在本实例中,相机设备管理可以在确定对应进程出现异常的情况下,自行重启该进程。以便重启后的进程能够实现相机设备管理对应的功能。
可以理解的是,在相机设备管理重启后,可能会导致接收到的第三折叠信息的丢失。而相机设备管理尚未根据该第三折叠信息确定需要调用哪个摄像头。因此,在本示例中,可以结合如下S1405-S1409解决上述问题。
S1405、相机服务扩展通过相机服务中的状态监视器,获取相机设备管理异常的信息。
S1406、相机服务扩展重新通过相机数据传输向相机设备管理传递第三折叠信息。
示例性的,该过程可以参考如图13所示的1302-1305。具体实现可以互相参考。
可以理解的是,这样,在相机设备管理重启成功后,就可以重新接收到当前最新的折叠信息,如第三折叠信息。
S1407、相机设备管理根据第三折叠信息确定调用的摄像头的标识为第二标识。
S1408、相机设备管理将第二标识发送给相机驱动。
S1409、相机驱动向摄像头2发送运行指令。
该S1407-S1409的执行过程,可以对应到如图10所示的S1013-S1016。此处不再赘述。
这样,通过如图14所示的方案示例,相机服务扩展能够及时获取相机设备管理的异常状态,从而确保在相机设备管理异常重启之后,依然能够获取当前折叠信息,及时准确地确定需要调用的摄像头。
这样,即使在***服务、相机服务和/或相机设备管理中的至少一个出现异常,也可以基于上述异常重启机制以及如图13和如图14所示的方案,实现异常状态的回复,顺利执行本申请实施例提供的方案。
比如,在一些场景下,***服务发生异常时,可以进行重启。在重启之后,根据如图9或图10所示的方案,屏幕管理可以获取当前的折叠信息,相机服务扩展可以在重启之后从屏幕管理获取当前的折叠信息,由此通过相机数据传输将该折叠信息重新传输给相机设备管理。
在另一些场景下,***服务和相机设备管理发生异常时,均可以进行重启。那么结合如图10所示方案以及如图14所示方案,就可以实现折叠信息的重新传递。
上述主要从各个服务模块的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图15示出了的一种电子设备1500的组成示意图。如图15所示,该电子设备1500可以包括:处理器1501和存储器1502。该存储器1502用于存储计算机执行指令。示例性的,在一些实施例中,当该处理器1501执行该存储器1502存储的指令时,可以使得该电子设备1500执行上述实施例中任一种所示的摄像头调用方法。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图16示出了的一种芯片***1600的组成示意图。该芯片***1600可以包括:处理器1601和通信接口1602,用于支持相关设备实现上述实施例中所涉及的功能。在一种可能的设计中,芯片***还包括存储器,用于保存终端必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包含芯片和其他分立器件。需要说明的是,在本申请的一些实现方式中,该通信接口1602也可称为接口电路。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在上述实施例中的功能或动作或操作或步骤等,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (17)
1.一种摄像头调用方法,其特征在于,应用于电子设备中,所述电子设备中设置有折叠屏,所述电子设备中设置有第一摄像头和第二摄像头,在所述电子设备的处于展平状态时,所述第一摄像头和所述第二摄像头位于所述电子设备的两个面上;所述方法包括:
所述电子设备的***服务获取当前折叠屏的折叠信息,所述折叠信息包括所述折叠屏的折叠角和/或所述折叠屏的状态信息,所述状态信息包括第一状态或第二状态,所述第一状态对应的折叠角大于所述第二状态对应的折叠角;
所述***服务将所述折叠信息发送给所述电子设备的相机设备管理;
所述相机设备管理根据所述折叠信息确定摄像头标识,所述摄像头标识用于标示所述第一摄像头或所述第二摄像头;
所述相机设备管理将所述摄像头标识传输给所述电子设备的相机驱动;
所述相机驱动根据所述摄像头标识调用对应的第一摄像头或第二摄像头。
2.根据权利要求1所述的方法,其特征在于,所述折叠信息包括状态信息,在所述状态信息为所述第一状态时,所述折叠屏的折叠角大于预设角度;
在所述状态信息为所述第二状态时,所述折叠屏的折叠角小于所述预设角度。
3.根据权利要求2所述的方法,其特征在于,所述第一摄像头设置在所述电子设备内侧,所述第二摄像头设置在所述电子设备外侧,所述电子设备的外侧是所述电子设备折叠时向外展示的一侧;
在所述状态信息为所述第一状态时,所述***服务将所述折叠信息发送给所述电子设备的相机设备管理,包括:
所述***服务向所述相机设备管理发送所述第一折叠信息,所述第一折叠信息包括所述第一状态;
所述相机设备管理根据所述折叠信息确定摄像头标识,包括:
所述相机设备管理根据所述第一状态,确定所述摄像头标识为第一标识,所述第一标识与所述第一摄像头对应;
所述相机设备管理将所述摄像头标识传输给所述电子设备的相机驱动,所述相机驱动根据所述摄像头标识调用对应的第一摄像头或第二摄像头,包括:
所述相机设备管理将所述第一标识传输给所述电子设备的相机驱动,所述相机驱动根据所述第一标识调用所述第一摄像头。
4.根据权利要求3所述的方法,其特征在于,
在所述状态信息为所述第二状态时,所述***服务将所述折叠信息发送给所述电子设备的相机设备管理,包括:
所述***服务向所述相机设备管理发送所述第二折叠信息,所述第二折叠信息包括所述第二状态;
所述相机设备管理根据所述折叠信息确定摄像头标识,包括:
所述相机设备管理根据所述第二状态,确定所述摄像头标识为第二标识,所述第二标识与所述第二摄像头对应;
所述相机设备管理将所述摄像头标识传输给所述电子设备的相机驱动,所述相机驱动根据所述摄像头标识调用对应的第一摄像头或第二摄像头,包括:
所述相机设备管理将所述第二标识传输给所述电子设备的相机驱动,所述相机驱动根据所述第二标识调用所述第二摄像头。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
所述***服务中设置有屏幕管理服务;
所述电子设备的***服务获取当前折叠屏的折叠信息,包括:
所述屏幕管理服务获取所述折叠信息。
6.根据权利要求5所述的方法,其特征在于,所述***服务中设置有相机服务扩展服务,以及相机数据传输服务;所述方法还包括:
所述相机服务扩展服务从所述屏幕管理服务获取所述折叠信息;
所述***服务将所述折叠信息发送给所述电子设备的相机设备管理,包括:
所述相机服务扩展服务通过所述相机数据传输服务,向所述相机设备管理传输所述折叠信息。
7.根据权利要求6所述的方法,其特征在于,
在所述相机服务扩展服务从所述屏幕管理服务获取所述折叠信息之前,所述方法还包括:
所述相机服务扩展服务向所述屏幕管理服务注册折叠屏状态,以从所述屏幕管理获取所述折叠信息。
8.根据权利要求6或7所述的方法,其特征在于,
所述相机服务扩展服务在所述电子设备的相机应用开始运行时获取所述折叠信息;或者,
所述相机服务扩展服务在所述折叠信息发生变更时,获取所述折叠信息。
9.根据权利要求1-8中任一项所述的方法,其特征在于,在所述相机设备管理异常重启后,所述方法还包括:
所述***服务将当前折叠屏的折叠信息发送给所述相机设备管理。
10.根据权利要求9所述的方法,其特征在于,在所述***服务将当前折叠屏的折叠信息发送给所述相机设备管理之前,所述方法还包括:
所述***服务重新获取所述当前折叠屏的折叠信息。
11.根据权利要求9或10所述的方法,其特征在于,
所述***服务通过所述电子设备的相机服务监测所述相机设备管理的异常状态。
12.根据权利要求11所述的方法,其特征在于,所述相机服务中设置有状态监视器,所述方法还包括:
在所述相机设备管理异常重启时,所述状态监视器向所述***服务输出异常标识。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在所述相机设备管理异常重启后,所述状态监视器向所述***服务输出正常工作标识。
14.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器存储有计算机指令;
当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-13中任一项所述的摄像头调用方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,当所述计算机指令运行时,执行如权利要求1-13中任一项所述的摄像头调用方法。
16.一种计算机程序产品,其特征在于,所述计算机程序包括指令,在计算机运行所述指令时,执行如权利要求1-13中任一项所述的摄像头调用方法。
17.一种芯片***,其特征在于,所述芯片***包括处理器和通信接口;所述处理器用于从存储介质中调用并运行所述存储介质中存储的计算机程序,执行如权利要求1-13中任一项所述的摄像头调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210023763.2A CN114554078B (zh) | 2022-01-10 | 2022-01-10 | 一种摄像头调用方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210023763.2A CN114554078B (zh) | 2022-01-10 | 2022-01-10 | 一种摄像头调用方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114554078A true CN114554078A (zh) | 2022-05-27 |
CN114554078B CN114554078B (zh) | 2023-01-31 |
Family
ID=81669748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210023763.2A Active CN114554078B (zh) | 2022-01-10 | 2022-01-10 | 一种摄像头调用方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114554078B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714834A (zh) * | 2023-06-21 | 2024-03-15 | 荣耀终端有限公司 | 摄像头控制方法及其相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968315A (zh) * | 2012-10-30 | 2013-03-13 | 广东欧珀移动通信有限公司 | 一种智能设备快速启动相机预览的方法、***及智能设备 |
CN104699391A (zh) * | 2015-04-07 | 2015-06-10 | 联想(北京)有限公司 | 电子设备及其相机的控制方法 |
CN107613196A (zh) * | 2017-09-05 | 2018-01-19 | 珠海格力电器股份有限公司 | 一种自拍方法及其装置、电子设备 |
CN110456938A (zh) * | 2019-06-28 | 2019-11-15 | 华为技术有限公司 | 一种曲面屏的防误触方法及电子设备 |
CN110798568A (zh) * | 2019-09-30 | 2020-02-14 | 华为技术有限公司 | 具有折叠屏的电子设备的显示控制方法及电子设备 |
CN111917997A (zh) * | 2019-05-09 | 2020-11-10 | 三星电子株式会社 | 利用多个相机控制图像拍摄的可折叠电子装置和方法 |
CN112104807A (zh) * | 2019-06-17 | 2020-12-18 | 北京小米移动软件有限公司 | 前置摄像头的控制方法、***及装置 |
CN113366819A (zh) * | 2019-05-29 | 2021-09-07 | 深圳市欢太科技有限公司 | 相机启动方法及相关装置 |
-
2022
- 2022-01-10 CN CN202210023763.2A patent/CN114554078B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968315A (zh) * | 2012-10-30 | 2013-03-13 | 广东欧珀移动通信有限公司 | 一种智能设备快速启动相机预览的方法、***及智能设备 |
CN104699391A (zh) * | 2015-04-07 | 2015-06-10 | 联想(北京)有限公司 | 电子设备及其相机的控制方法 |
CN107613196A (zh) * | 2017-09-05 | 2018-01-19 | 珠海格力电器股份有限公司 | 一种自拍方法及其装置、电子设备 |
CN111917997A (zh) * | 2019-05-09 | 2020-11-10 | 三星电子株式会社 | 利用多个相机控制图像拍摄的可折叠电子装置和方法 |
CN113366819A (zh) * | 2019-05-29 | 2021-09-07 | 深圳市欢太科技有限公司 | 相机启动方法及相关装置 |
CN112104807A (zh) * | 2019-06-17 | 2020-12-18 | 北京小米移动软件有限公司 | 前置摄像头的控制方法、***及装置 |
CN110456938A (zh) * | 2019-06-28 | 2019-11-15 | 华为技术有限公司 | 一种曲面屏的防误触方法及电子设备 |
CN110798568A (zh) * | 2019-09-30 | 2020-02-14 | 华为技术有限公司 | 具有折叠屏的电子设备的显示控制方法及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714834A (zh) * | 2023-06-21 | 2024-03-15 | 荣耀终端有限公司 | 摄像头控制方法及其相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114554078B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103197991B (zh) | 移动终端及其控制方法 | |
CN113553014A (zh) | 多窗口投屏场景下的应用界面显示方法及电子设备 | |
US9746948B2 (en) | Mobile terminal and control method thereof | |
CN114461239B (zh) | 软件升级***和软件升级方法 | |
WO2023109764A1 (zh) | 一种壁纸显示方法及电子设备 | |
CN113051015B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN115328563B (zh) | ***启动方法及电子设备 | |
CN114554078B (zh) | 一种摄像头调用方法和电子设备 | |
CN114442969A (zh) | 一种设备间屏幕协同方法及设备 | |
WO2022089407A1 (zh) | 一种显示方法及电子设备 | |
WO2022063037A1 (zh) | 一种补丁包安装方法和装置 | |
CN113190362B (zh) | 服务调用方法、装置、计算机设备及存储介质 | |
CN112817610B (zh) | cota包安装方法及相关装置 | |
CN113632041A (zh) | 用于操作具有低计算能力的设备的***、方法、计算机程序、移动设备和套件 | |
CN113935427A (zh) | 训练任务的执行方法、装置、电子设备及存储介质 | |
CN114595203A (zh) | 基于双***的文件同步方法、终端设备及存储介质 | |
CN116709004B (zh) | 一种图像处理方法和电子设备 | |
CN116708615B (zh) | 器件注册方法、设备及存储介质 | |
CN116700740B (zh) | 软件修复方法和相关装置 | |
CN114513760B (zh) | 字库同步方法、装置和存储介质 | |
WO2024114451A1 (zh) | 一种跨***内容显示方法及设备 | |
CN116366957B (zh) | 一种虚拟化相机使能的方法、电子设备及协同工作*** | |
WO2023143377A1 (zh) | 一种内容管理方法、电子设备及*** | |
WO2024131823A1 (zh) | 免安装应用的升级方法及电子设备 | |
CN118433523A (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 |