CN116887047B - 一种对焦方法、电子设备和存储介质 - Google Patents

一种对焦方法、电子设备和存储介质 Download PDF

Info

Publication number
CN116887047B
CN116887047B CN202311147338.5A CN202311147338A CN116887047B CN 116887047 B CN116887047 B CN 116887047B CN 202311147338 A CN202311147338 A CN 202311147338A CN 116887047 B CN116887047 B CN 116887047B
Authority
CN
China
Prior art keywords
focusing
camera
original
electronic equipment
focus
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
CN202311147338.5A
Other languages
English (en)
Other versions
CN116887047A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device Co 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311147338.5A priority Critical patent/CN116887047B/zh
Publication of CN116887047A publication Critical patent/CN116887047A/zh
Application granted granted Critical
Publication of CN116887047B publication Critical patent/CN116887047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)

Abstract

本申请提供一种对焦方法、电子设备和存储介质,涉及终端设备领域,能够使得电子设备及时对用户的拍照操作做出响应。该方法包括:电子设备响应于用户在目标应用的拍照界面实施的拍照操作,生成原始对焦指令;在原始对焦指令对应的对焦模式为自动对焦模式,且电子设备处于暗光环境的情况下,电子设备将原始对焦指令转换为目标对焦指令;目标对焦指令用于指示采用预设对焦模式进行对焦;在预设对焦模式下,电子设备的相机模组在对焦开始后预设时长内得到对焦结果;电子设备基于目标对焦指令控制相机模组采用预设对焦模式进行对焦,以在预设时长内得到第一对焦结果,并基于第一对焦结果执行针对拍照操作的响应操作。

Description

一种对焦方法、电子设备和存储介质
技术领域
本申请涉及终端设备领域,尤其涉及一种对焦方法、电子设备和存储介质。
背景技术
随着电子设备的技术发展,电子设备的拍照功能使用越来越频繁, 用户对拍照体验诉求也越来越高。现有技术中,用户打开具备拍照功能的应用程序(例如相机应用或者具备拍照功能的第三方应用)后,可以通过对拍照按键的触发,使电子设备的相机模组(包括闪光灯、摄像头、对焦马达等)对焦完成后,拍照得到照片。
目前,电子设备上的某些具备拍照功能的应用程序使用的对焦模式为自动对焦。自动对焦模式下,若电子设备对焦失败,则电子设备的相机模组会一直不断的对焦,直至对焦成功的情况下,相机模组才会进行拍照得到照片返回给相应的应用程序,以使应用程序向用户呈现拍照得到的照片。这样一来,会使得电子设备的拍照过程产生极大的延时,用户将长时间无法感知到拍照结果,严重影响用户的使用体验。
发明内容
本申请实施例提供一种对焦方法、电子设备和存储介质,能够使得用户在暗光环境下使用目标应用进行拍照的过程中,及时得到电子设备的响应,提高用户的使用体验。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请提供了一种对焦方法,应用于电子设备,该电子设备包括具备拍照功能的目标应用。该方法可以包括:电子设备响应于用户在目标应用的拍照界面实施的拍照操作,生成原始对焦指令;原始对焦指令用于指示采用目标应用对应的对焦模式进行对焦;在原始对焦指令对应的对焦模式为自动对焦模式,且电子设备处于暗光环境的情况下,电子设备将原始对焦指令转换为目标对焦指令;目标对焦指令用于指示采用预设对焦模式进行对焦;在自动对焦模式下,电子设备的相机模组进行循环对焦,并在对焦成功的情况下得到指示对焦成功的对焦结果;在预设对焦模式下,电子设备的相机模组在对焦开始后预设时长内得到对焦结果;电子设备基于目标对焦指令控制相机模组采用预设对焦模式进行对焦,以在预设时长内得到第一对焦结果,并基于第一对焦结果执行针对拍照操作的响应操作。
基于上述实施例提供的技术方案,电子设备在接收到用户实施在目标应用的拍照界面中的拍照操作后,可以生成原始对焦指令。之后,电子设备可以对原始对焦指令对应的对焦模式是否为自动对焦模式以及电子设备是否处于暗光环境进行判断。在确定原始对焦指令对应的对焦模式为自动对焦模式且电子设备当前所处环境为暗光环境的情况下,则可以将原始对焦指令覆写为指示采用预设对焦模式(例如连续对焦模式)进行对焦的目标对焦指令。之后,电子设备则可以基于该目标对焦指令对应的对焦模式进行对焦,从而及时的得到对焦结果(即第一对焦结果)。其中,该对焦结果用于指示对焦成功或对焦失败。之后,电子设备则可以基于该对焦结果进行相应的处理,从而及时针对用户实施的拍照操作给与响应或反馈。避免了现有技术中,用户在暗光环境下使用目标应用进行拍照的过程中,用户实施拍照操作后长时间无法得到电子设备的响应,产生极大的拍照延时的问题,使得电子设备可以及时响应用户的拍照操作,提高了用户的使用体验。
在第一方面的一种可能的设计方式中,该方法还包括:电子设备获取环境光传感器检测的环境光亮度;在环境光亮度小于预设亮度值的情况下,电子设备确定电子设备处于暗光环境。
基于上述技术方案,电子设备可以准确的确定出电子设备是否处于暗光环境,进而为后续是否转换原始对焦指令的判断提供数据支持,使得对焦方法可以顺利实施。
在第一方面的一种可能的设计方式中,电子设备基于第一对焦结果执行针对拍照操作的响应操作,包括:在第一对焦结果用于指示对焦成功的情况下,电子设备从相机模组获取第一原始图像;电子设备基于第一原始图像,得到第一目标图像;电子设备在目标应用的成片预览界面显示第一目标图像。
基于上述技术方案,电子设备便可以在对焦成功的情况下,及时的向用户展示用户实施了拍照操作后,需要查看到的照片(即目标图像),提高了用户的使用体验。
在第一方面的一种可能的设计方式中, 在原始对焦指令对应的对焦模式不为自动对焦模式,或电子设备未处于暗光环境的情况下,电子设备基于原始对焦指令控制相机模组采用目标应用对应的对焦模式进行对焦,并在得到第二对焦结果后,基于第二对焦结果执行针对拍照操作的响应操作。
基于上述技术方案,电子设备便可以在对焦模式不为自动对焦模式,或未处于暗光环境的情况下,基于原始对焦指令正常的进行对焦并得到第二对焦结果。进而可以基于第二对焦结果及时执行针对用户的拍照操作的响应操作,提高用户的使用体验。
在第一方面的一种可能的设计方式中,电子设备响应于用户在目标应用的拍照界面实施的拍照操作,生成原始对焦指令,包括:电子设备的目标应用响应于用户在目标应用的拍照界面实施的拍照操作,向电子设备的相机服务发送原始对焦请求;原始对焦请求用于请求采用目标应用对应的对焦模式进行对焦;电子设备的相机服务接收来自目标应用的原始对焦请求,并基于原始对焦请求生成原始对焦指令。
基于上述技术方案,电子设备便可以顺利生成原始对焦指令,使得后续电子设备可以基于原始对焦指令进行后续的对焦流程。
在第一方面的一种可能的设计方式中,在原始对焦指令对应的对焦模式为自动对焦模式,且电子设备处于暗光环境的情况下,电子设备将原始对焦指令转换为目标对焦指令,包括:电子设备的相机服务向电子设备的相机硬件抽象模块发送原始对焦指令;电子设备的相机硬件抽象模块接收来自相机服务的原始对焦指令;电子设备的相机硬件抽象模块在确定原始对焦指令对应的对焦模式为自动对焦模式,且确定电子设备处于暗光环境的情况下,将原始对焦指令转换为目标对焦指令。
因为电子设备中框架层中相机服务的主要作用是使得目标应用的请求转换为HAL层中相机HAL(即相机硬件抽象模块)能够识别的指令,起到类似“承上启下”的作用。而相机HAL则是直接对电子设备的相机模组这一硬件进行调用控制的模块。所以基于上述技术方案,电子设备可以利用相机HAL完成对原始对焦指令以及环境光亮度进行判断,进而在原始对焦指令对应的对焦模式为自动对焦模式且电子设备处于暗光环境(环境光亮度小于预设阈值)的情况下,将原始对焦指令准换为目标对焦指令。这样一来,在电子设备处于暗光环境且原始对焦指令用于指示采用自动对焦模式进行对焦的情况下,相机HAL可以指示相机模组采用预设对焦模式进行对焦,进而使得电子设备可以及时的得到对焦结果,并基于对焦结果做出针对拍照操作的响应,提高用户的使用体验。
在第一方面的一种可能的设计方式中,预设对焦模式为连续对焦模式。
在第一方面的一种可能的设计方式中,电子设备的相机模组的闪光灯处于关闭状态。
因为实际中电子设备的闪光灯若处于开启状态,则即便电子设备处于暗光环境且原始对焦指令对应的对焦模式为自动对焦模式,则电子设备也可以利用闪光灯给与的光照完成对焦,也就不会存在本申请提供的技术方案所要解决的技术问题。所以,本申请提供的技术方案所在的场景中,电子设备的相机模组的闪光灯处于关闭状态。
第二方面,本申请提供一种电子设备,包括:获取模块、处理模块和控制模块。其中,获取模块用于响应于用户在目标应用的拍照界面实施的拍照操作,生成原始对焦指令;原始对焦指令用于指示采用目标应用对应的对焦模式进行对焦。处理模块,用于在获取模块生成的原始对焦指令对应的对焦模式为自动对焦模式,且电子设备处于暗光环境的情况下,将原始对焦指令转换为目标对焦指令;目标对焦指令用于指示采用预设对焦模式进行对焦;在自动对焦模式下,电子设备的相机模组进行循环对焦,并在对焦成功的情况下得到指示对焦成功的对焦结果;在预设对焦模式下,电子设备的相机模组在对焦开始后预设时长内得到对焦结果。控制模块,用于基于处理模块转换得到的目标对焦指令控制相机模组采用预设对焦模式进行对焦,以在预设时长内得到第一对焦结果,并基于第一对焦结果执行针对拍照操作的响应操作。
在第二方面的一种可能的设计方式中,处理模块还用于:获取环境光传感器检测的环境光亮度;在环境光亮度小于预设亮度值的情况下,确定电子设备处于暗光环境。
在第二方面的一种可能的设计方式中,该电子设备还包括显示模块;控制模块具体用于:在第一对焦结果用于指示对焦成功的情况下,电子设备从相机模组获取第一原始图像;基于第一原始图像,得到第一目标图像;控制显示模块在目标应用的成片预览界面显示第一目标图像。
在第二方面的一种可能的设计方式中, 处理模块还用于在获取模块生成的原始对焦指令对应的对焦模式不为自动对焦模式,或电子设备未处于暗光环境的情况下,基于原始对焦指令指示控制模块控制相机模组采用目标应用对应的对焦模式进行对焦,并在得到第二对焦结果后,基于第二对焦结果执行针对拍照操作的响应操作。
在第二方面的一种可能的设计方式中,获取模块包括第一单元和第二单元。其中,第一单元,用于响应于用户在目标应用的拍照界面实施的拍照操作,向电子设备的相机服务发送原始对焦请求;原始对焦请求用于请求采用目标应用对应的对焦模式进行对焦。第二单元,用于接收来自第一单元的原始对焦请求,并基于原始对焦请求生成原始对焦指令。
在第二方面的一种可能的设计方式中,处理模块包括第三单元和第四单元。其中,第三单元用于向电子设备的相机硬件抽象模块发送原始对焦指令。第四单元用于接收来自第三单元的原始对焦指令;第四单元还用于在确定原始对焦指令对应的对焦模式为自动对焦模式,且确定电子设备处于暗光环境的情况下,将原始对焦指令转换为目标对焦指令。
在第二方面的一种可能的设计方式中,预设对焦模式为连续对焦模式。
在第二方面的一种可能的设计方式中,电子设备的相机模组的闪光灯处于关闭状态。
第三方面,本申请提供一种电子设备,该电子设备包括显示屏、存储器和一个或多个处理器;显示屏、存储器与处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如第一方面及其任一种可能的设计方式提供的环境光传感器校准方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的设计方式提供的对焦方法。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的设计方式提供的对焦方法。
第六方面,提供了一种装置(例如,该装置可以是芯片***),该装置包括处理器,用于支持电子设备实现上述第二方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片***时,可以由芯片构成,也可以包含芯片和其他分立器件。
可以理解地,上述提供的第二方面至第六方面提供的技术方案所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为现有技术提供的拍照流程示意图;
图2为本申请实施例提供的目标应用的拍照场景示意图;
图3为本申请实施例提供的一种对焦方法的原理示意图;
图4为本申请实施例提供的一种电子设备的硬件结构示意图;
图5为本申请实施例提供的一种电子设备的软件架构示意图;
图6为本申请实施例提供的一种对焦方法的流程示意图;
图7为本申请实施例提供的一种拍照操作的场景示意图;
图8为本申请实施例提供的一种闪光灯设置场景示意图;
图9为本申请实施例提供的一种暗光环境确定流程示意图;
图10为本申请实施例提供的另一种对焦方法的流程示意图;
图11为本申请实施例提供的又一种对焦方法的流程示意图;
图12为本申请实施例提供的一种电子设备的结构示意图;
图13为本申请实施例提供的一种芯片***的结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请以下实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请实施例的描述中,术语“包括”、“包含”或者其任何其他变体,意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
首先,对本公开所涉及的技术术语进行介绍:
自动对焦(或自动对焦模式):自动对焦是电子设备在拍照时拍照模组(包括闪光灯、摄像头、对焦马达等组成部件)进行对焦的一种模式。在自动对焦模式下,电子设备的相机模组会在对焦失败的情况下,不断循环的进行对焦,直至对焦成功后,才会向用户使用拍照功能的上层应用程序返回对焦结果,并进行拍照动作,得到照片。
连续对焦(或连续对焦模式):连续对焦是电子设备在拍照时拍照模组进行对焦的一种模式。在连续对焦模式下,电子设备的相机模组会在对焦开始后预设时长内无论对焦成功还是失败都会向用户使用拍照功能的上层应用程序返回对焦结果。上层应用程序在接收到该对焦结果后,则可以根据预先设定的处理逻辑,决定后续是直接从相机模组获取图像作为照片还是提醒用户调整拍照模式等或者是自动调整对焦模式等。
覆写:覆写(override)是指在继承关系中,子类重新定义父类的方法,以使其在子类中具有不同的实现。通过覆写,子类可以自定义继承自父类的方法,并根据自身的需求进行修改或扩展。当子类覆写了父类的方法后,在使用子类对象调用该方法时,程序将执行子类中重新定义的方法,而不是父类中原有的方法。这样子类能够根据自身的特定需求或逻辑来重新实现父类的方法,从而实现个性化的行为。覆写是面向对象编程中的一种重要概念,它允许子类通过继承和修改父类的方法来实现多态性, 提供了灵活性和代码复用的机制。它允许子类根据自己的特定需求对继承自父类的方法进行定制,而无需改动父类的实现。
电子设备在拍照时,需要先对焦完成后,才可以进行后续的拍照得到照片。目前,电子设备上的某些具备拍照功能的应用程序(一般为本地相机应用以外的第三方应用)使用的对焦模式为自动对焦。自动对焦模式下,若电子设备对焦失败,则电子设备的相机模组会一直不断的对焦,直至对焦成功的情况下,相机模组才会进行拍照得到照片返回给相应的应用程序,以使应用程序向用户呈现拍照得到的照片。
示例性的,在电子设备中某个具备拍照功能的目标应用的对焦模式被用户设置或者默认为自动对焦模式的情况下,用户在需要使用电子设备中的目标应用进行拍照的拍照流程可以如图1所示,该拍照流程具体可以包括以下步骤:
步骤1、用户存在拍照需求时,可以打开目标应用的拍照界面,并实施拍照操作。
示例性的,该拍照操作可以是对拍照界面中的拍照控件(或称为拍照按钮)实施触发操作(例如点击操作)。目标应用可以为第三方应用程序,例如企业微信®。
步骤2、响应于用户实施的拍照操作,目标应用可以向相机服务/框架(cameraservice)发送目标应用被用户设置或者默认的自动对焦模式对应的自动对焦请求。
其中,自动对焦请求用于请求相机服务采用自动对焦模式进行对焦。具体的,因为对焦动作是由具体的硬件-相机模组完成的,所以这里自动对焦请求或可是请求相机服务指示相机模组采用自动对焦模式进行对焦。
步骤3、由于相机服务是电子设备的软件架构中框架层中的模块,而框架层中的模块是无法直接与电子设备的硬件进行交互的,需要通过硬件抽象层(hardwareabstraction layer,HAL)完成与硬件的交互。所以相机服务在接收到目标应用下发的自动对焦请求后,响应于该自动对焦请求,相机服务会向HAL层中的相机HAL(或称为相机硬件抽象模块或相机模块)发送第一自动对焦指令。
该第一自动对焦指令用于指示相机HAL采用自动对焦模式进行对焦。具体的,因为对焦动作是由具体的相机模组这一硬件完成的,所以这里第一自动对焦指令或可是请求相机HAL指示相机模组采用自动对焦模式进行对焦。
步骤4、相机HAL接收来自相机服务的第一自动对焦指令,响应于该自动对焦指令向相机模组(或可称为相机硬件)发送第二自动对焦指令。
其中,第二自动对焦指令用于指示相机模组采用自动对焦模式进行对焦。
步骤5、相机模组接收来自相机HAL的第二自动对焦指令,响应于该第二自动对焦指令,采用自动对焦模式进行对焦。
在自动对焦模式下,摄像模组会在对焦成功后,依次通过相机HAL和相机服务将对焦成功的对焦结果返回给目标应用。
在自动对焦模式下,摄像模组若对焦失败,则会不断循环对焦直至对焦成功后,依次通过相机HAL和相机服务将对焦成功的对焦结果返回给目标应用。
步骤6、目标应用接收对焦成功的对焦结果,响应于该对焦结果,目标应用通过相机服务向相机HAL发送拍照请求。
其中,拍照请求用于请求相机HAL从相机模组获取图像。
步骤7、相机HAL接收拍照请求,响应于拍照请求从相机模组中获取原始图像。
具体的,相机HAL可以向相机模组用于请求原始图像的图像获取请求。
一些实施例中,相机模组会依据摄像头当前拍摄到的内容实时更新图像(该图像可以是呈现在拍照界面中的预览图像),相机HAL在从相机模组获取的原始图像时获取的则为相机模组当前更新的最新的图像。
步骤8、相机模组向相机HAL返回原始图像。
步骤9、相机HAL对原始图像进行处理,得到目标图像。
实际中,相机模组得到的原始图像可能会存在以下问题:首先,原始图像可能包含一些硬件相关的问题,例如镜头畸变、色差、光照不均匀等。相机模组可能会在硬件层面对这些问题进行校正或补偿,然后将处理后的图像(即原始图像)传递给相机HAL。相机HAL可以进一步对图像进行校正或处理,以确保图像的质量和准确性。其次,相机模组得到的原始图像的格式可能与应用程序所需的格式不一致。相机模组可能使用特定的图像格式来传输图像数据,而目标应用可能需要使用另一种格式来处理图像。相机HAL可以将原始图像的图像数据进行格式转换,以适应目标应用的需求。此外,目标应用可能需要使用某些特定的图像处理算法或功能,例如降噪、锐化、色彩校正等。相机HAL则可以在获取到原始图像后应用这些算法或功能,以提高最终呈现给用户的目标图像的质量或满足目标应用的需求。
综上所述,步骤8中相机HAL对相机模组拍摄得到的原始图像进行处理是为了解决图像质量问题、格式转换需求以及应用程序的特定需求。通过处理原始图像,相机HAL可以提供更加适应应用程序需求的图像数据。
基于此,相机HAL对原始图像的处理包括但不限于以下内容:
图像格式转换:相机HAL可能会将原始图像的图像数据从相机模组特定的格式转换为目标应用所支持的格式,例如JPEG或YUV格式。
自动对焦和曝光控制:相机HAL可能会根据相机模组的功能,对原始图像进行自动对焦和自动曝光控制,以确保所捕获到的图像清晰且亮度适当。
图像校正:相机HAL可能会对原始图像进行校正,消除因相机传感器或镜头畸变引起的图像失真。
图像加工:相机HAL可能会应用一些图像处理算法,例如降噪、锐化、色彩校正等,以提升图像质量或满足应用程序的需求。
步骤10、相机HAL通过相机服务将目标图像返回给目标应用。
步骤11、目标应用显示成片预览界面,并在成片预览界面中显示目标图像。
步骤11执行后,用户便可以在成片预览界面查看拍照生成的目标图像。
示例性的,目标应用的拍照界面可以如图2中(a)所示,拍照界面中的预览区域201可以显示电子设备的相机模组当前拍摄到的内容,该拍照界面中还可以包括拍照控件202。该拍照控件在被用户触发后,目标应用则可以按照图1所示的拍照流程进行拍照。
在电子设备所处的环境中光照充足(不为暗光环境),或者用户打开了目标应用中拍照功能的闪光灯功能(在用户打开目标应用中拍照功能的闪光灯功能的情况下,如图2中(a)所示,预览界面中可以显示有闪光灯开启标识203),或者电子设备的相机模组中具备能够在暗光环境下完成对焦的组件(例如激光对焦组件)的情况下,相机模组可以顺利快速的完成对焦,使得目标应用得到目标图像并在成品预览界面显示给用户查看。示例性的,成片预览界面可以如图2中(b)所示。其中,成片预览界面204中则包括有保存控件205。该保存控件205被触发后,目标应用则可以在图库或者任意可行的存储空间中存储成片预览界面204中展示的目标图像。
但是在现有技术中,由于成本的限制,某些电子设备的相机模组的硬件性能不够好(例如不具备在暗光环境下完成对焦的能力(例如,若不存在激光对焦器件,则不可以在暗光环境下完成对焦)),无法在暗光环境下对焦成功。这种情况下,如果用户使用电子设备的环境为暗光环境(环境亮度小于预设阈值)且用户主动关闭了相机模组的闪光灯(或者相机模组不具备闪光灯),则电子设备使用上述图1所示的拍照流程进行拍照时,相机模组进行对焦时会失败。示例性的,用户主动关闭了相机模组的闪光灯时,目标应用的拍照界面则可以如图2中(c)所示,拍照界面中可以包括有闪光灯关闭标识206。当电子设备中的相机模组采用自动对焦模式对焦且未对焦成功时,电子设备会一直显示如图2中(c)所示的拍照界面,无法向用户及时展示拍照得到的照片。
这种情况下,相机模组则会不断循环的进行对焦,整个拍照步骤则长时间卡在步骤5。目标应用则就无法及时得到目标图像,用户也无法及时查看到目标图像。这样一来,使得用户使用电子设备的拍照过程产生极大的延时,用户将长时间无法感知到拍照结果,严重影响用户的使用体验。
针对上述技术问题,针对上述问题,参照图3所示,本申请提供一种对焦方法,可以应用在具备拍照功能的电子设备中。在该方法中,响应于用户实施在目标应用的拍照界面中的拍照操作,电子设备调用目标应用向电子设备中的相机硬件抽象层HAL发送原始对焦指令(具体可以是通过相机服务向相机HAL发送原始对焦指令)。电子设备中的相机HAL在确定原始对焦指令为指示采用自动对焦模式进行对焦的自动对焦指令且当前环境为暗光环境的情况下,则将原始对焦指令覆写为指示采用连续对焦模式进行对焦的目标对焦指令。之后,电子设备中的相机HAL则可以将目标对焦指令发送给相机模组,以使模组采用连续对焦模式进行对焦,并在对焦开始预设时长后向相机HAL返回对焦结果。对焦结果用于指示对焦成功或对焦失败。之后,相机HAL则可以将该对焦结果返回给需要该对焦结果以决定是否继续拍照的目标应用,目标应用则可以及时基于该对焦结果进行相应的处理,从而及时针对用户实施的拍照操作给与响应或反馈。避免了现有技术中,用户在暗光环境下使用目标应用进行拍照的过程中,用户实施拍照操作后长时间无法得到电子设备的响应,产生极大的拍照延时的问题,使得电子设备可以及时响应用户的拍照操作,提高了用户的使用体验。
下面结合附图对本申请实施例提供的技术方案进行详细表述。
本申请提供的技术方案可以应用在具备拍照功能(或者具备相机模组)的电子设备中。在一些实施例中,该电子设备可以是手机、平板电脑、手持计算机、个人计算机(personal computer,PC),超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence, AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备等具备有拍照功能的电子设备,本申请实施例对该电子设备的具体类型不作特殊限制。
示例性的,以电子设备是手机为例,图4示出了本申请实施例提供的一种电子设备的结构示意图。
参照图4所示,电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,显示屏193,用户标识模块(subscriber identification module,SIM)卡接口194,以及摄像头195等。其中,传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从供电设备(例如充电器、笔记本电能等)接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。
充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。其中,电池142具体可以为多个电池串联组成。电源管理模块141用于连接电池142、充电管理模块140与处理器110。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏193,摄像头195,和无线通信模块160等供电。电源管理模块141还可以用于监测电池的电压、电流、电池循环次数、电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中,例如电源管理模块141和充电管理模块140可以是同一芯片中的不同功能模块。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM )和一个或多个非易失性存储器(non-volatile memory, NVM)。随机存取存储器可以由处理器110直接进行读写,可以用于存储操作***或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
触摸传感器,也称“触控器件”。触摸传感器可以设置于显示屏193,由触摸传感器与显示屏193组成触摸屏,也称“触控屏”。触摸传感器用于监测作用于其上或附近的触摸操作。触摸传感器可以将监测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏193提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器也可以设置于电子设备的表面,与显示屏193所处的位置不同。
环境光传感器用于感知环境光亮度。例如:环境光传感器可以测量环境光的四个通道的光强度。环境光传感器将测量到的环境光的四个通道的光强度输出给处理器110。处理器110可以对环境光传感器输出的环境光的四个通道的光强度进行处理(如,对环境光的四个通道的光强度积分)得到环境光的光强度(如照度值,或者,照度值和色温值)。在亮屏状态(包括解锁后的亮屏和锁屏下的亮屏)下,电子设备可以根据得到的环境光的光强度自适应调节显示屏亮度。如,在环境光照较暗时,降低屏幕亮度防止刺眼;在环境光照较明亮时,提高屏幕亮度,可以使屏幕显示更清楚。环境光传感器也可用于实现拍摄功能时自动调节白平衡。其中,在电子设备处于亮屏状态,或实现拍摄功能时,处理器110控制环境光传感器打开。在熄屏时,处理器110控制环境光传感器关闭。环境光传感器还可以用于电子设备处于通话状态时是否熄屏的判断,例如环境光传感器在确定环境光的光轻度低于一定阈值是,电子设备可以认为自身处于封闭空间,进而进行熄屏。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏193。压力传感器的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。当有触摸操作作用于显示屏193,电子设备根据压力传感器监测所述触摸操作强度。电子设备也可以根据压力传感器的监测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
在一些实施例中,电子设备可以包括1个或N个摄像头195,N为大于1的正整数。在本申请实施例中,摄像头195的类型可以根据硬件配置以及物理位置进行区分。例如,摄像头195所包含的多个摄像头可以分别置于电子设备的正反两面,设置在电子设备的显示屏294那一面的摄像头可以称为前置摄像头,设置在电子设备的后盖那一面的摄像头可以称为后置摄像头;又例如,摄像头195所包含的多个摄像头的焦距、视角不同,焦距短、视越大的摄像头可以称为广角摄像头,焦距长、视角小的摄像头可以称为普通摄像头。不同摄像头采集到的图像的内容的不同之处在于:前置摄像头用于采集电子设备正面面对的景物,而后置摄像头用于采集电子设备背面面对的景物;广角摄像头在较短的拍摄距离范围内,能拍摄到较大面积的景物,在相同的拍摄距离处所拍摄的景物,比使用普通镜头所拍摄的景物在画面中的影像小。其中,焦距的长短、视角的大小为相对概念,并无具体的参数限定,因此广角摄像头和普通摄像头也是一个相对概念,具体可以根据焦距、视角等物理参数进行区分。
本申请实施例中,摄像头195中还可以包括闪光灯、对焦马达等部件,这些部件的组合可以称为拍照模组。
电子设备通过GPU,显示屏193,以及应用处理器等实现显示功能。GPU为图像编辑的微处理器,连接显示屏193和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
电子设备可以通过ISP,摄像头195,视频编解码器,GPU,显示屏193以及应用处理器等实现拍摄功能。
ISP用于处理摄像头195反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头195中。摄像头195用于捕获静态图像或视频。在一些实施例中,电子设备可以包括1个或N 个摄像头,N为大于1的正整数。摄像头195可以是前置摄像头也可以是后置摄像头。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
显示屏193用于显示图像,视频等。显示屏193包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏193,N为大于1的正整数。
本申请实施例中,显示屏193可用于显示电子设备的界面(例如,相机预览界面、录像预览界面、成片预览界面等),并在该界面中显示来自任一个或多个摄像头195拍摄的图像。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏193显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或者其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bltooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
SIM卡接口194用于连接SIM卡。SIM卡可以通过***SIM卡接口194,或从SIM卡接口194拔出,实现和电子设备的接触和分离。电子设备可以支持一个或多个SIM卡接口。SIM卡接口194可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口194可以同时***多张卡。SIM卡接口194也可以兼容外部存储卡。电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。一个SIM卡对应一个用户号码。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
当然,可以理解的,上述图4所示仅仅为电子设备的形态为手机时的示例性说明。若电子设备是平板电脑,手持计算机,PC,PDA,可穿戴式设备(如:智能手表、智能手环)等其他设备形态时,电子设备的结构中可以包括比图4中所示更少的结构,也可以包括比图4中所示更多的结构,在此不作限制。
可以理解的是,一般而言,电子设备功能的实现互利需要硬件的支持外,还需要软件的配合。电子设备的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android®***为例,示例性说明电子设备的软件结构。
图5为本申请实施例提供的电子设备的软件***的分层架构示意图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口(例如API)通信。
在一些示例中,参照图5所示,在本申请实施例中,将电子设备的软件分为五层,从上至下分别为应用程序层,框架层(或称为应用程序框架层),***库和安卓运行时(android runtime),HAL层(hardware abstraction layer,硬件抽象层)以及驱动层(或称为内核层)。
其中,应用程序层可以包括一系列的应用程序。如图5所示,应用程序层可以包括相机、图库、日历、地图、WLAN、蓝牙、音乐、视频、短信息、通话、导航、即时通讯等应用程序(application,APP)。
在一些实施例中,用户可以通过对应用程序层中的某些具备拍照功能的应用程序的操作进行拍照,得到用户需要的照片。具体的,以该应用程序为目标应用为例,用户可以响应于用户打开拍照功能的操作后,显示拍照界面。拍照界面可以如图2中(a)所示。之后,电子设备可以响应于用户针对拍照界面中拍照控件的触发操作(即拍照操作),调用目标应用执行拍照流程,完成拍照。目标应用执行拍照流程的过程中,会通过与电子设备中软件架构中其他层中的模块完成。
示例性的,目标应用在接收到用户的拍照操作后,响应于该拍照操作,目标应用可以基于自身默认或者用户设定的对焦模式向框架层中的相机服务发送相应的原始对焦请求,进而使得相机服务通过HAL层的相机HAL向相机模组发送相应的对焦指令指示相机模组按照相应的对焦模式进行对焦。在相机模组对焦成功后,相机模组则会通过相机HAL向相机服务返回对焦结果。相机服务在接收到对焦结果后,则会将对焦结果返回给目标应用,以使目标应用基于该对焦结果进行后续的拍照流程。
例如,若对焦结果为对焦成功,目标应用则可以通过相机服务向相机HAL发送拍照请求,以使得相机HAL从相机模组中获取到原始图像并在处理得到目标图像后,通过相机服务返回给目标应用。目标应用在接收到目标图像后,则可以在成片预览界面中展示该目标图像给用户查看。
又例如,若对焦结果为对焦失败,则目标应用可以指示用于决定是否继续对焦或者直接拍照,若用户决定直接拍照,则目标应用可以按照对焦结果为对焦成功的后续流程获取目标图像展示给用户(此时的目标图像可能因为未对焦成功所以较为模糊)。若用户决定继续对焦,则目标应用可以继续向相机服务发送原始对焦请求以使得相机模组继续对焦,进而重复执行后续流程。
在一些可能的实施例中,目标应用可以为企业微信®。
框架层为应用程序层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如,应用程序框架层可以包括活动管理器、窗口管理器、内容提供器、音频服务、视图***、电话管理器、资源管理器、通知管理器等,本申请实施例对此不做任何限制。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如,电话管理器可以管理通话应用的通话状态 (包括发起,接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
在本申请实施例中,框架层中还可以包括有相机服务。相机服务的主要作用是为应用程序提供统一的接口和功能,以访问和操作相机设备。以下是相机服务的一些主要作用:
相机访问:相机服务提供了访问相机硬件的接口,使应用程序能够与相机设备进行通信。它抽象了底层的相机驱动程序和硬件细节,隐藏了底层实现的差异性,使应用程序可以在不同设备上统一地使用相机功能。
相机控制:相机服务提供了相机设置和控制的功能,例如调整曝光、对焦、闪光灯等参数,以及切换前后摄像头等操作。应用程序可以通过相机服务对相机进行灵活的控制和配置,以满足不同的摄影需求。
例如,相机服务提供了图像捕获的功能,允许应用程序获取相机拍摄到的图像数据。它可以提供不同的图像格式、分辨率和帧率选项,以适应不同应用场景的需求。相机服务还可以支持图像处理功能,例如实时滤镜、图像美化、人脸识别等。它可以与相机模组配合使用,对图像数据进行实时处理或分析,以提供更多的视觉效果或功能。相机服务还可以提供相机(即相机模组)状态和事件的回调机制,使应用程序能够及时获取相机模组的状态变化或完成拍摄等事件。通过回调,应用程序可以及时响应相机操作,例如更新UI界面、执行其他逻辑等。
综上所述,相机服务在软件***架构的框架层中扮演着桥梁的角色,它封装了底层的相机硬件细节,提供了统一的接口和功能,为应用程序提供了方便的相机访问、控制、图像捕获和处理等能力。
在本申请实施例中,相机服务可以将应用程序中目标应用发送的原始对焦请求转换为下层HAL层中的相机HAL可以识别的原始对焦指令,进而使得相机HAL可以通过与相机模组的交互使相机模组按照相应的对焦模式进行对焦。相机服务还可以在接收到相机HAL从相机模组获取的对焦结果后,将该对焦结果转换为目标应用可以识别的内容后,发送给目标应用,以使的目标应用基于该对焦结果执行后续的拍照流程。
***库可以包括多个功能模块。例如:表面管理器(surface manager) ,媒体库(Media Libraries),OpenGL ES,SGL等。表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。OpenGL ES用于实现三维图形绘图,图像渲染,合成,和图层处理等。SGL是2D绘图的绘图引擎。
安卓运行时(android runtime)包括核心库和ART虚拟机。android runtime负责安卓***的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在ART虚拟机中。ART虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。ART虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
HAL层是位于操作***内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作***提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。HAL层提供标准界面,向更高级别的 Java API 框架(即框架层)显示设备硬件功能。HAL 层包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如:audio HAL音频模块,bluetooth HAL蓝牙模块,camera HAL相机模块(还可称为相机HAL或相机硬件抽象模块),sensors HAL传感器模块(或称为Isensor service,传感器服务)。
在本申请实施例中,硬件抽象层的相机HAL(即相机模块)主要用于发挥承上启下的作用,可以通过HAL层的HIDL接口对相机服务提供自身的方法(或称为函数或API),使相机服务可以和底层驱动进行通信(即使相机服务的指令可以传输至相机模组,使相机模组按照指令工作)。
在本申请实施例中,在用户通过目标应用主动关闭了相机模组的闪光灯的情况下,相机HAL在接收到来自相机服务的原始对焦指令后,会对原始对焦指令进行判断,同时对电子设备所处的环境亮度进行判断,在原始对焦指令对应的对焦模式为自动对焦模式且电子设备所处的环境亮度小于预设阈值(即电子设备处于暗光环境)时,将原始对焦指令覆写为连续对焦指令并发送给相机模组。这样一来,在暗光环境下相机HAL便可以及时将对焦结果返回给目标应用,使得目标应用可以及时对用户的拍照操作做出响应,提高用户的使用体验。
在本申请实施例中,硬件抽象层的传感器模块(或称为传感器HAL)主要用于和相机HAL进行交互,使得相机HAL可以在需要的时候获取到传感器的检测数据。具体的,相机HAL可以在接收到原始对焦指令时,通过传感器HAL获取得到环境光传感器的检测数据(即环境光亮度等数据),进而可以确定出电子设备所处的环境亮度是否大于预设阈值。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动、电池驱动等,本申请不做限定。其中,传感器驱动具体可以包括电子设备包含的每个传感器的驱动,例如环境光传感器驱动等。示例性的,环境光传感器驱动可以响应于传感器模块获取检测数据的指示或指令,将环境光传感器的检测数据及时的发送给传感模块。
基于上述硬件架构和软件架构,以下以电子设备为手机为例,对本申请实施例提供的控制方法进行介绍。
基于上述硬件架构和软件结构,以下结合图6,对本申请实施例提供的对焦方法进行详细说明。图6为本申请实施例提供一种对焦方法的流程示意图。参照图6所示,以电子设备为手机为例,该对焦方法可以包括S601-S616:
S601、手机接收用户开启目标应用拍照功能的开启操作,并响应于该开启操作,显示目标应用的拍照界面。
其中,目标应用可以为手机中任一具备有拍照功能的应用。例如,相机、微信®、QQ®等。当然,由于手机的本地相机应用作为专攻拍照功能的应用,通常会考虑暗光环境下拍照无法对焦成功的不利影响,会设定特定逻辑避免对焦不成功时对用户体验的影响,不会存在本申请背景技术中提到的问题。而诸如将拍照功能作为次要功能的第三方应用可能没有充分考虑暗光环境下拍照时,对焦失败的多种不利影响,所以可能会存在本申请背景技术中提到的技术问题。基于此,在本申请实施例中,目标应用可以是手机中具备拍照功能的第三方应用。
在用户需要使用目标应用的拍照功能进行拍照时,用户首先在手机的桌面上实施对目标应用的图标的触发操作(例如点击操作)。手机响应于该触发操作,则可以运行目标应用,并显示目标应用的主界面。之后,依据该目标应用的默认配置情况(即各个功能预先设定好的开启控件所处的界面和位置),用户可以通过至少一次的触发操作使手机打开目标应用的拍照功能,并显示目标应用的拍照界面。在这个过程中,用户打开目标应用的拍照功能的一系列操作可以称为开启操作;当然,也可以将这一系列操作中最后一次触发操作(例如对拍摄功能控件的触发操作)称为开启操作。
示例性的,以目标应用为某个即时通讯应用为例,手机可以显示如图7中(a)所示的桌面701。该桌面701中可以包括目标应用的应用图标702。在用户需要使用目标应用的拍照功能进行拍照的情况下,用户会在桌面701中实施对目标应用的应用图标702的触发操作(例如点击操作)。手机可以响应于该触发操作,运行或开启目标应用,并展示如图7中(b)所示的目标应用的主界面703。该主界面中包括多个聊天记录。如果用户是想向张三发送用户当前面对的真实场景图像,那么用户可以对多个聊天记录中对应张三的聊天记录704实施触发操作(例如点击操作)。手机可以响应于该触发操作,显示如图7中(c)所示的,对应张三的聊天界面705。
该聊天界面705中可以包括有拓展控件706。用户可以对该拓展控件706实施触发操作。响应于该触发操作,手机则可以显示如图7中(d)所示的功能框707。该功能框707中则可以包括有拍摄功能控件708。用户在需要拍照的情况下,可以对拍摄功能控件708实施触发操作(例如点击操作)。响应于该触发操作,手机则可以启动摄像头(后置摄像头和/或前置摄像头)开始拍摄,并显示如图8中(a)所示的拍照界面801。该拍照界面801中则可以包括有拍照控件802。
上述用户操作过程中,从用户打开目标应用到用户实施对拍摄功能控件708的触发操作,整体可以作为用户开启目标应用拍照功能的开启操作;或者,可以将用户实施对拍摄功能控件708的触发操作视为用户开启目标应用拍照功能的开启操作。
在手机显示了目标应用的拍照界面后,用户便可以通过在拍照界面中实施拍照操作,从而完成拍照。
需要说明的是,本申请实施例提供的技术方案所解决的技术问题对应应用场景中,电子设备的相机模组的闪光灯是被关闭的。所以在执行后续S602步骤前,相机模组的闪光灯是关闭的。闪光灯的关闭可以是目标应用的拍照功能被开启时默认关闭的;也可以是目标应用的拍照功能被开启后,用户主动关闭的。
基于此,在一些实施例中,若闪光灯的关闭是用户主动完成的,则在用户开启目标应用的拍照功能和用户实施拍照操作之间(即S601和S602之间),用户还会在拍照界面中实施关闭闪光灯的关闭操作,响应于该关闭操作,手机可以关闭拍照模组的闪光灯,使得后续拍照过程中闪光灯不工作。示例性的,以图8中(a)所示的拍照界面801为例,该拍照界面中还可以包括有闪光灯控件803。在闪光灯开启的情况下,该闪光灯控件803的图标样式可以是如图8中(a)所示的样式一。若用户需要关闭闪光灯,则用户可以在拍照界面801上实施针对闪光灯控件803的触发操作。响应于该触发操作,手机的目标应用可以显示如图8中(b)所示的闪光灯模式选择框804。该闪光灯模式选择框804中则包括多种闪光灯开启模式的选项和关闭闪光灯的选项805。多种闪光灯开启模式包括:自动模式、常开模式、开启模式。在自动模式下,相机模组在拍照过程中可以根据环境光的亮度自动决定用户实施拍照操作后是否开启一次闪光灯。在常开模式下,相机模组会拍照过程中一直开启闪光灯。在开启模式下,相机模组可以在用户实施拍照操作后开启一次闪光灯。
手机可以接收并响应用户针对关闭闪光灯的选项805的触发操作,关闭相机模组的闪光灯,并将闪光灯控件803的样式调整为如图8中(c)所示的样式二。当然,用户如果针对其他闪光灯开启模式的选项实施了触发操作,则闪光灯控件的样式可以是其他任意可行的形式。
S602、手机接收用户在目标应用的拍照界面中实施的拍照操作,响应于该拍照操作,手机的目标应用向相机服务发送原始对焦请求。
在用户需要进行拍照的情况下,用户可以在手机显示的目标应用的拍照界面实施拍照操作。响应于该拍照操作,手机的目标应用可以依次通过框架层的相机服务、HAL层的相机HAL完成相机模组的调用或控制,实现对焦和拍照。
示例性的,以图8中(a)所示的拍照界面801为例,用户实施的拍照操作具体可以是对拍照界面中的拍照控件802的点击操作。响应于该点击操作,手机中的目标应用则可以向相机服务发送相应的对焦请求,以使相机服务通过相机HAL指示相机模组进行对焦。当然,在其他可能的实施例中,该拍照操作还可以是其他任意可行的操作,例如语音指令、手势等。
实际中,为了使得拍照效果更好,手机的相机模组在拍照时是需要对焦的。而相机模组在对焦时所采用的对焦模式则可以是由调用相机模组以实现拍照功能的应用指示的。基于此,在用户在目标应用的拍照界面实施了拍照操作后,手机的目标应用可以向相机服务发送能够请求采用目标应用对应的对焦模式进行对焦的原始对焦请求。其中,目标应用对应的对焦模式可以是用户设置也可以是目标应用默认设置的。
在另外一些实施例中,原始对焦请求还可以是用于请求相机服务指示相机模组采用目标应用对应的对焦模式进行对焦的请求信息。
S603、手机的相机服务接收来自目标应用的原始对焦请求,并基于原始对焦请求生成原始对焦指令后,向相机HAL(或称为相机硬件抽象模块)发送对应原始对焦请求的原始对焦指令。
其中,原始对焦指令是相机服务基于原始对焦请求生成的。
在一些实施例中,原始对焦指令用于指示采用目标应用对应的对焦模式进行对焦。在另一些实施例中,原始对焦指令还可以是用于指示相机HAL指示相机模组采用目标应用对应的对焦模式进行对焦的请求指令信息。
由于相机服务是手机软件架构中框架层中的模块,是无法直接调用身为手机的硬件的相机模组工作的,而是需要通过HAL层中的与相机模组对应的相应模块来完成与相机模组的交互的。所以,在相机服务接收到来自目标应用的原始对焦请求后,相机服务可以将原始对焦请求转换为相机HAL可以识别的原始对焦指令,以使相机HAL指示相机模组进行对焦。
S604、手机的相机HAL接收来自相机服务的原始对焦指令。
本申请提供的技术方案的主要目的在于,解决相机模组采用自动对焦模式在暗光环境下无法顺利对焦成功时无法及时向调用相机模组进行工作的目标应用发送对焦结果,进而导致目标应用无法及时接收到对焦结果,从而无法及时对用户的拍照操作做出响应的问题。针对该问题,则需要使得相机模组在进行对焦时不采用自动对焦模式,而是采用具备超时保护的预设对焦模式(例如连续对焦模式)。在相机模组采用预设对焦模式时进行对焦的情况下,无论对焦成功还是对焦失败都会在对焦一定时长后通过相机HAL和相机服务向目标应用返回对焦结果。
基于此,本申请提供的技术方案中,手机的目标应用在调用相机模组的过程(具体可以是目标应用通过相机服务和相机HAL调用相机模组)中,需要中间涉及的模块可以对原始对焦指令以及环境光亮度进行判断,进而在手机处于暗光环境(环境光亮度小于预设阈值)且原始对焦指令用于指示采用自动对焦模式进行对焦的情况下,指示相机模组采用预设对焦模式进行对焦。
因为框架层中相机服务的主要作用是使得目标应用的请求转换为HAL层中相机HAL能够识别的指令,起到类似“承上启下”的作用。而相机HAL则是直接对手机的相机模组这一硬件进行调用控制的模块。所以在本申请的一些实施例中,可以将对原始对焦指令以及环境光亮度进行判断逻辑放在相机HAL上执行。也就是说,为了解决本申请实施例提供的技术方案所针对的技术问题,相机HAL在接收到来自相机服务的原始对焦指令后,可以对原始对焦指令以及环境光亮度进行判断,以确定手机当前是否处于暗光环境以及原始对焦指令是否用于指示采用自动对焦模式进行对焦。即S604后,执行S605和S606。
S605、手机的相机HAL判断原始对焦指令对应的对焦模式是否为自动对焦模式。
在一些实施例汇总,原始对焦指令中可以携带有指示目标应用的对焦模式的特征参数,基于该特征参数,相机HAL可以确定原始对焦指令对应的对焦模式具体为何种对焦模式。
若目标应用对应的对焦模式为自动对焦模式,则原始对焦指令用于指示采用自动对焦模式进行对焦,进而原始对焦指令对应的对焦模式为自动对焦模式。在该情况下,因为手机的相机模组采用自动对焦模式对焦时只有在暗光环境下才存在长时间无法对焦成功的问题。所以,为了避免相机模组因为手机处于暗光环境而对焦失败而未及时返回对焦结果,则在原始对焦指令对应的对焦模式为自动对焦模式的情况下,相机HAL还需要再判断手机当前是否处于暗光环境,进而决定是否需要将原始对焦指令更改为指示采用预设对焦模式进行对焦的目标对焦指令。即执行后续的S606。
若目标应用对焦的对焦模式为自动对焦模式以外的可选对焦模式,则原始对焦指令用于指示采用可选对焦模式进行对焦,进而原始对焦指令对应的对焦模式为可选对焦模式。因为可选对焦模式不会向自动对焦模式一样使得相机模组因为对焦失败而未及时返回对焦结果。所以此时相机HAL则可以向相机模组发送原始对焦指令,以使相机模组按照目标应用对应的对焦模式进行对焦。即执行后续的S612。
需要说明的是,实际中可以不执行上述类似S605的判断步骤,可以在原始对焦指令对应的对焦模式为自动对焦模式的情况下执行S606,在原始对焦指令对应的对焦模式不为自动对焦模式的情况下执行S612。
S606、手机的相机HAL判断手机是否处于暗光环境。
若手机的相机HAL确定手机处于暗光环境,则此时为了使得相机模组可以及时的返回对焦结果,手机HAL可以将原始对焦指令覆写为目标对焦指令。该目标对焦指令用于指示相机模组采用预设对焦模式进行对焦。在预设对焦模式下,相机模组无论对焦成功还是对焦失败都会在对焦一定时长(例如2s)后向相机HAL返回对焦结果。示例性的,预设对焦可以为连续对焦模式。之后,手机的相机HAL可以向相机模组发送该目标对焦指令,便可以使得相机模组可以在对焦一定时长后向相机HAL返回第一对焦结果,进而使得相机HAL可以通过相机服务向目标应用返回第一对焦结果,目标应用也就可以按照设定好的逻辑处理基于该对焦结果做出相应的动作作为用户实施的拍照操作的响应。
也就是说,S606执行后,在手机的相机HAL确定原始对焦指令对应的对焦模式为自动对焦模式且手机处于暗光环境的情况下,执行后续的S607-S611。
若手机的相机HAL确定手机未处于暗光环境,则无论手机的相机模组采用自动对焦模式还是其他对焦模式进行对焦,因为环境光的亮度充足,所以都可以很快的对焦成功,进而向相机HAL返回对焦成功的第二对焦结果。之后,相机HAL则可以通过相机服务将该第二对焦结果返回给目标应用,使得目标应用可以基于按照设定好的逻辑处理基于该第二对焦结果获取拍照结果并显示给用户。即S606执行后,在手机的相机HAL确定原始对焦指令对应的对焦模式为自动对焦模式且手机未处于暗光环境的情况下,执行S612-S616。
需要说明的是,实际中可以不执行上述类似S606的判断步骤,可以在手机处于暗光环境的情况下执行S607,在手机未处于暗光环境的情况下的情况下执行S612。
此外,S605和S606的先后顺序本申请不做具体限定,相机HAL可以先判断手机是否处于暗光环境,在手机处于暗光环境的情况下再判断原始对焦指令对应的对焦模式是否为自动对焦模式;或者,相机HAL还可以先判断原始对焦指令对应的对焦模式是否为自动对焦模式,在原始对焦指令对应的对焦模式为自动对焦模式的情况下,再判断手机是否处于暗光环境。
在一些实施例中,手机的相机HAL判断手机是否处于暗光环境可以是借助传感器HAL得到的。具体的,相机HAL可以从传感器HAL处获取到环境光亮度,并基于该环境光亮度确定手机是否处于暗光环境。基于此,在一些实施例中,参照图9所示,S606具体可以包括S901-S906:
S901、手机的相机HAL向传感器HAL发送环境光亮度请求。
其中,环境光亮度请求用于请求环境光传感器检测到的环境光亮度。
S902、手机的传感器HAL接收来自相机HAL的环境光亮度请求,响应于该环境光亮度请求获取环境光传感器检测到的环境光亮度。
在一些可能的实现方式中,传感器HAL可以通过调用环境光传感器驱动去驱动环境光传感器对环境光进行检测,得到环境光亮度。传感器HAL调用环境光传感器驱动去驱动环境光传感器对环境光进行检测的方式可以是任意可行方式,例如传感器HAL在环境光传感器驱动中注册回调函数,使得环境光传感器驱动去驱动环境光传感器检测得到环境光亮度时将检测结果返回给传感器HAL。
S903、手机的传感器HAL向相机HAL发送环境光亮度。
手机的传感器HAL在获取到环境光亮度后,便可以将环境光亮度返回给相机HAL,以使的相机HAL可以基于该环境光亮度确定手机是否处于暗光环境。即S903后执行S904。
S904、手机的相机HAL判断环境光亮度是否小于预设亮度值。
基于此,在环境光亮度小于预设亮度值的情况下,手机的相机HAL可以确定手机处于暗光环境,即执行S905;在环境光亮度大于预设亮度值的情况下,手机的相机HAL可以确定手机未处于暗光环境,即执行S906。
本申请实施例中,环境光亮度等于预设亮度值的情况可以归于环境光亮度小于预设亮度值的情况,也可以归于环境光亮度大于预设亮度值的情况。本申请中,仅以环境光亮度等于预设亮度值的情况可以归于环境光亮度大于预设亮度值的情况为例进行举例,不作为对实际情况的限定。
S905、手机的相机HAL确定手机处于暗光环境。
S906、手机的相机HAL确定手机未处于暗光环境。
需要说明的是,上述类似S704的判断步骤可以不存在,手机的相机HAL可以在环境光亮度小于预设亮度值的情况下确定手机处于暗光环境,在环境光亮度大于预设亮度值的情况下确定手机未处于暗光环境即可。
基于上述S901-S906对应的技术方案,手机的相机HAL便可以准确确定出手机当前是否处于暗光环境,从而为后续是否覆写原始对焦指令以及后续步骤的执行提供了数据支撑,保证了本申请提供的对焦方法的顺利实施。
S607、手机的相机HAL将原始对焦指令覆写为目标对焦指令,并向相机模组发送目标对焦指令。
其中,目标对焦指令用于指示相机模组采用预设对焦模式进行对焦。示例性的,预设对焦模式可以为连续对焦模式。由于在预设对焦模式下,相机模组无论对焦成功还是对焦失败都会在对焦一定时长(例如2s)内向相机HAL返回对焦结果。所以这样可以使得相机HAL可以及时通过相机服务向目标应用返回对焦结果,目标应用也就可以按照设定好的逻辑处理基于该对焦结果做出相应的动作作为用户实施的拍照操作的响应。即执行后续的S608-S611。
S608、手机的相机模组接收来自相机HAL的目标对焦指令,响应于该目标对焦指令,相机模组采用预设对焦模式进行对焦,并在对焦开始后预设时长内向相机HAL发送第一对焦结果。
示例性的,预设时长可以为2s。其中,第一对焦结果用于指示对焦成功或对焦失败。
S609、手机的相机HAL接收来自相机模组的第一对焦结果,并向相机服务发送该第一对焦结果。
需要说明的是,这里相机HAL需要将第一对焦结果的数据格式转换为相机服务能够识别的数据格式后,再将第一对焦结果发送给相机服务。
S610、手机的相机服务接收来自相机HAL的第一对焦结果,并向目标应用发送第一对焦结果。
S611、手机的目标应用接收来自相机服务的第一对焦结果,并基于第一对焦结果执行针对拍照操作的响应操作。
在一种可能的实现方式中,若第一对焦结果用于指示对焦成功,则手机的目标应用在接收到第一对焦结果后,可以通过相机服务和相机HAL从相机模组中获取原始图像并处理后,得到最终可以呈现给用户的目标图像(即拍照得到的照片或拍照结果)。其中,通过相机服务和相机HAL从相机模组中获取原始图像并处理得到目标图像后,并呈现目标图像给用户的整个操作流程即为该响应操作。
示例性的,在该种可能的实现方式中,结合图6,参照图10所示,S611具体可以包括S1001-S1007:
S1001、手机的目标应用接收来自相机服务的第一对焦结果。
其中,第一对焦结果用于指示对焦成功。
S1002、手机的目标应用通过相机服务向相机HAL发送拍照请求。
其中,拍照请求用于请求相机HAL从相机模组获取图像。
在一些实施例中,手机的目标应用可以先向相机服务发送拍照请求,以使相机服务将该拍照请求转换为相机HAL可以识别的内容后转发给相机HAL。
S1003、相机HAL接收拍照请求,响应于拍照请求从相机模组中获取原始图像。
S1004、手机的相机模组向相机HAL返回原始图像。
S1005、手机的相机HAL对原始图像进行处理,得到目标图像。
S1006、手机的相机HAL通过相机服务将目标图像返回给目标应用。
在一些实施例中,手机的相机HAL可以先向相机服务发送目标图像,以使相机服务将该目标图像转换为目标应用可以识别的内容(例如转换为JPEG格式的图像数据)后转发给目标应用。
S1007、手机的目标应用显示成片预览界面,并在成片预览界面中显示目标图像。
示例性的,成片预览界面可以如图2中(b)所示。
S1003-S1007的具体实现可以参照前述现有拍照流程中步骤7-步骤11的相关表述,此处不再赘述。
基于上述S1001-S1007对应的技术方案,手机便可以在对焦成功的情况下,及时的向用户展示用户实施了拍照操作后,需要查看到的照片(即目标图像),提高了用户的使用体验。
在另一种可能的实现方式中,若第一对焦结果用于指示对焦失败,则手机的目标应用在接收到第一对焦结果后,可以在拍照界面中输出提示信息。该提示信息一方面可以提示用户对焦失败;另一方面,可以指示用户打开闪光灯或者让用户确定是否重新对焦或者让用户确认是否按照对焦失败的结果获取拍照结果。之后,手机的目标应用在接收到用户针对提示信息的相应操作后,则可以针对性的执行不同的操作。
例如,若用户执行了打开闪光灯的操作,则手机的目标应用可以向相机服务发送目标对焦请求。该目标对焦请求用于指示采用预设对焦模式进行对焦。相机服务在接收到该目标对焦请求后,则可以向相机HAL发送目标对焦指令。之后,手机则可以执行S608-S611。此时,由于闪光灯已开启,所以相机模组对焦的第一对焦结果大概率用于指示对焦成功。之后,手机则可以执行S1001-S1007,从而使得目标应用可以向用户呈现最终的目标图像。
又例如,若用户执行了确定重新对焦的操作,则手机的目标应用可以向相机服务发送目标对焦请求。该目标对焦请求用于指示采用预设对焦模式进行对焦。相机服务在接收到该目标对焦请求后,则可以向相机HAL发送目标对焦指令。之后,手机则可以执行S608-S611。
再例如,若用户执行了按照对焦失败的结果获取拍照结果的操作,则手机可以执行S1002-S1007。此时,由于对焦不成功,所以最终目标应用向用户展示的目标图像可能是模糊不清的图像。
当然,实际中,第一对焦结果指示对焦失败的情况下,手机的目标应用做出的响应还可以是其他任意可行的能被用户感知到的响应,本申请对此不做具体限制。
S612、手机的相机HAL向相机模组发送原始对焦指令。
其中,原始对焦指令用于指示相机模组采用自动对焦模式进行对焦。
S613、手机的相机模组接收来自相机HAL的原始对焦指令,响应于该原始对焦指令,相机模组采用目标应用对应的对焦模式进行对焦,并在得到第二对焦结果后向相机HAL发送第二对焦结果。
具体的,相机模组采用目标应用对应的对焦模式进行对焦时,可以按照对应的对焦逻辑得到对焦结果返回给相机HAL。
在一些实施例中,若目标应用对应的对焦模式为自动对焦模式,则手机的相机模组会采用自动对焦模式进行对焦。手机的相机模组采用自动对焦模式进行对焦时,会在对焦成功前循环不断的进行对焦直至对焦成功,以得到第二对焦结果。
其中,第二对焦结果用于指示对焦成功或对焦失败。
在一种可能的场景中,在执行S613时,手机所处的环境不是暗光环境,即便相机模组采用自动对焦模式进行循环对焦也可以很快的对焦成功,进而得到第二对焦结果。所以该情况下,手机的相机模组可以在较短的时间内向相机HAL发送第二对焦结果,不会使得后续目标应用因为无法及时得到对焦结果从而无法对用户实施的拍照操作做出响应。
在另一种可能的场景中,在执行S613时,目标应用对应的对焦模式不为自动对焦模式,所以相机模组不会因为对焦失败而不断循环对焦,而是可以尽快的得到对焦结果,使得相机HAL可以及时得到对焦结果,进而使得后续目标应用可以及时基于对焦结果做出针对用户的拍照操作的响应操作。
S614、手机的相机HAL接收来自相机模组的第二对焦结果,并向相机服务发送该第二对焦结果。
需要说明的是,这里相机HAL需要将第二对焦结果的数据格式转换为相机服务能够识别的数据格式后,再将第二对焦结果发送给相机服务。
S615、手机的相机服务接收来自相机HAL的第二对焦结果,并向目标应用发送第二对焦结果。
S616、手机的目标应用接收来自相机服务的第二对焦结果,并基于第二对焦结果执行针对拍照操作的响应操作。
S616的具体实现可以参照前述实施例中S611的具体实现,此处不再赘述。
需要说明的是,在本申请实施例中,无论手机的相机模组采用何种对焦模式进行对焦,其对焦时都可以是基于自动对焦(Auto Focus,AF)算法进行的对焦。
基于本申请实施例提供的技术方案,手机在接收到用户实施在目标应用的拍照界面中的拍照操作后,可以生成原始对焦指令。之后,手机可以对原始对焦指令对应的对焦模式是否为自动对焦模式以及手机是否处于暗光环境进行判断。在确定原始对焦指令对应的对焦模式为自动对焦模式且手机当前所处环境为暗光环境的情况下,则可以将原始对焦指令覆写为指示采用预设对焦模式(例如连续对焦模式)进行对焦的目标对焦指令。之后,手机则可以基于该目标对焦指令对应的对焦模式进行对焦,从而及时的得到对焦结果(即第一对焦结果)。其中,该对焦结果用于指示对焦成功或对焦失败。之后,手机则可以基于该对焦结果进行相应的处理,从而及时针对用户实施的拍照操作给与响应或反馈。避免了现有技术中,用户在暗光环境下使用目标应用进行拍照的过程中,用户实施拍照操作后长时间无法得到手机的响应,产生极大的拍照延时的问题,使得手机可以及时响应用户的拍照操作,提高了用户的使用体验。
为了便于理解,下面结合图11对本申请实施例提供的对焦方法进行说明。如图11所示,该方法可以包括S1101-S1103:
S1101、电子设备响应于用户在目标应用的拍照界面实施的拍照操作,生成原始对焦指令。
其中,原始对焦指令用于指示采用目标应用对应的对焦模式进行对焦。
在一些实施例中,S1101具体可以包括:电子设备的目标应用响应于用户在目标应用的拍照界面实施的拍照操作,向电子设备的相机服务发送原始对焦请求;原始对焦请求用于请求采用目标应用对应的对焦模式进行对焦;电子设备的相机服务接收来自目标应用的原始对焦请求,并基于原始对焦请求生成原始对焦指令。
S1101的具体实现可以参照前述实施例中,S601-S603的具体标识,此处不再赘述。
S1102、在原始对焦指令对应的对焦模式为自动对焦模式,且电子设备处于暗光环境的情况下,电子设备将原始对焦指令转换为目标对焦指令。
目标对焦指令用于指示采用预设对焦模式进行对焦;在自动对焦模式下,电子设备的相机模组进行循环对焦,并在对焦成功的情况下得到指示对焦成功的对焦结果;在预设对焦模式下,电子设备的相机模组在对焦开始后预设时长内得到对焦结果。示例性的,预设对焦模式可以为连续对焦模式。
在一些实施例中,电子设备判断自身是否处于暗光环境的方式可以是:电子设备获取环境光传感器检测的环境光亮度;在环境光亮度小于预设亮度值的情况下,电子设备确定电子设备处于暗光环境。在该实施例中,电子设备判断自身是否处于暗光环境的具体实现可以参照前述实施例中S901-S906的相关表述,此处不再赘述。
在一些实施例中,S1102可以包括:电子设备的相机服务向电子设备的相机硬件抽象模块发送原始对焦指令;电子设备的相机硬件抽象模块接收来自相机服务的原始对焦指令;电子设备的相机硬件抽象模块在确定原始对焦指令对应的对焦模式为自动对焦模式,且确定电子设备处于暗光环境的情况下,将原始对焦指令转换为目标对焦指令。
S1102的具体实现可以参照前述实施例中S604-S607的相关表述,此处不再赘述。
S1103、电子设备基于目标对焦指令控制相机模组采用预设对焦模式进行对焦,以在预设时长内得到第一对焦结果,并基于第一对焦结果执行针对拍照操作的响应操作。
示例性的,S1103的具体实现可以参照前述实施例中S608-S611的相关表述,此处不再赘述。
在一些实施例中,S1103可以包括:在第一对焦结果用于指示对焦成功的情况下,电子设备从相机模组获取第一原始图像;电子设备基于第一原始图像,得到第一目标图像;电子设备在目标应用的成片预览界面显示第一目标图像。该实施例中,S1103的具体实现可以参照前述实施例中S1001-S1007的相关表述,此处不再赘述。
需要说明的是,本申请实施例提供的对焦方法实施时,电子设备的相机模组的闪光灯处于关闭状态。
基于上述S1101-S1103对应的技术方案,电子设备在接收到用户实施在目标应用的拍照界面中的拍照操作后,可以生成原始对焦指令。之后,电子设备可以对原始对焦指令对应的对焦模式是否为自动对焦模式以及电子设备是否处于暗光环境进行判断。在确定原始对焦指令对应的对焦模式为自动对焦模式且电子设备当前所处环境为暗光环境的情况下,则可以将原始对焦指令覆写为指示采用预设对焦模式(例如连续对焦模式)进行对焦的目标对焦指令。之后,电子设备则可以基于该目标对焦指令对应的对焦模式进行对焦,从而及时的得到对焦结果(即第一对焦结果)。其中,该对焦结果用于指示对焦成功或对焦失败。之后,电子设备则可以基于该对焦结果进行相应的处理,从而及时针对用户实施的拍照操作给与响应或反馈。避免了现有技术中,用户在暗光环境下使用目标应用进行拍照的过程中,用户实施拍照操作后长时间无法得到电子设备的响应,产生极大的拍照延时的问题,使得电子设备可以及时响应用户的拍照操作,提高了用户的使用体验。
在一些实施例中, 在原始对焦指令对应的对焦模式不为自动对焦模式,或电子设备未处于暗光环境的情况下,电子设备基于原始对焦指令控制相机模组采用目标应用对应的对焦模式进行对焦,并在得到第二对焦结果后,基于第二对焦结果执行针对拍照操作的响应操作。
示例性的,该实施例的具体实现可以参照前述实施例中S612-S616的相关表述此处不再赘述。
可以理解的是,上述电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,参照图12所示,本申请实施例提供了一种电子设备,包括:获取模块1201、处理模块1202和控制模块1203。其中,获取模块1201用于响应于用户在目标应用的拍照界面实施的拍照操作,生成原始对焦指令;原始对焦指令用于指示采用目标应用对应的对焦模式进行对焦。处理模块1202,用于在获取模块1201生成的原始对焦指令对应的对焦模式为自动对焦模式,且电子设备处于暗光环境的情况下,将原始对焦指令转换为目标对焦指令;目标对焦指令用于指示采用预设对焦模式进行对焦;在自动对焦模式下,电子设备的相机模组进行循环对焦,并在对焦成功的情况下得到指示对焦成功的对焦结果;在预设对焦模式下,电子设备的相机模组在对焦开始后预设时长内得到对焦结果。控制模块1203,用于基于处理模块1202转换得到的目标对焦指令控制相机模组采用预设对焦模式进行对焦,以在预设时长内得到第一对焦结果,并基于第一对焦结果执行针对拍照操作的响应操作。
可选的,处理模块1202还用于:获取环境光传感器检测的环境光亮度;在环境光亮度小于预设亮度值的情况下,确定电子设备处于暗光环境。
可选的,该电子设备还包括显示模块1204;控制模块1203具体用于:在第一对焦结果用于指示对焦成功的情况下,电子设备从相机模组获取第一原始图像;基于第一原始图像,得到第一目标图像;控制显示模块1204在目标应用的成片预览界面显示第一目标图像。
可选的, 处理模块1202还用于在获取模块1201生成的原始对焦指令对应的对焦模式不为自动对焦模式,或电子设备未处于暗光环境的情况下,基于原始对焦指令指示控制模块1203控制相机模组采用目标应用对应的对焦模式进行对焦,并在得到第二对焦结果后,基于第二对焦结果执行针对拍照操作的响应操作。
可选的,获取模块1201包括第一单元12011和第二单元12012。其中,第一单元12011,用于响应于用户在目标应用的拍照界面实施的拍照操作,向电子设备的相机服务发送原始对焦请求;原始对焦请求用于请求采用目标应用对应的对焦模式进行对焦。第二单元12012,用于接收来自第一单元12011的原始对焦请求,并基于原始对焦请求生成原始对焦指令。
可选的,处理模块1202包括第三单元12021和第四单元12022。其中,第三单元12021用于向电子设备的相机硬件抽象模块发送原始对焦指令。第四单元12022用于接收来自第三单元12021的原始对焦指令;第四单元12022还用于在确定原始对焦指令对应的对焦模式为自动对焦模式,且确定电子设备处于暗光环境的情况下,将原始对焦指令转换为目标对焦指令。
关于上述实施例中的电子设备,其中各个模块执行操作的具体方式已经在前述实施例中的对焦方法的实施例中进行了详细描述,此处不再具体阐述。其相关的有益效果也可参照前述对焦方法的相关有益效果,此处不再赘述。
本申请实施例还提供一种电子设备,该电子设备包括:显示屏、存储器和一个或多个处理器;显示屏、存储器与处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如前述实施例提供的对焦方法。该电子设备的具体结构可参照图4中所示的电子设备的结构。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如前述实施例提供的对焦方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包含可执行指令,当该计算机程序产品在电子设备上运行时,使得电子设备执行如前述实施例提供的对焦方法。
本申请实施例还提供一种芯片***,如图13所示,该芯片***1300包括至少一个处理器1301和至少一个接口电路1302。处理器1301和接口电路1302可通过线路互联。例如,接口电路1302可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1302可用于向其它装置(例如处理器1301)发送信号。
示例性的,接口电路1302可读取存储器中存储的指令,并将该指令发送给处理器1101。当指令被处理器1301执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片***还可以包含其他分立器件,本申请实施例对此不作具体限定。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种对焦方法,其特征在于,应用于电子设备,所述电子设备包括具备拍照功能的目标应用,所述电子设备的相机模组的闪光灯处于关闭状态,所述方法包括:
所述电子设备响应于用户在所述目标应用的拍照界面实施的拍照操作,生成原始对焦指令;所述原始对焦指令用于指示采用所述目标应用对应的对焦模式进行对焦;
在所述原始对焦指令对应的对焦模式为自动对焦模式,且所述电子设备处于暗光环境的情况下,所述电子设备将所述原始对焦指令转换为目标对焦指令;所述目标对焦指令用于指示采用预设对焦模式进行对焦;在所述自动对焦模式下,所述电子设备的相机模组进行循环对焦,并在对焦成功的情况下得到指示对焦成功的对焦结果;在所述自动对焦模式下,所述电子设备的相机模组若对焦失败,则继续进行循环对焦;在所述预设对焦模式下,所述电子设备的相机模组在对焦开始后预设时长内得到对焦结果;
所述电子设备基于所述目标对焦指令控制所述相机模组采用预设对焦模式进行对焦,以在预设时长内得到第一对焦结果,并基于所述第一对焦结果执行针对所述拍照操作的响应操作;
所述电子设备基于所述第一对焦结果执行针对所述拍照操作的响应操作包括:
在所述第一对焦结果为对焦成功的情况下,所述电子设备进行拍照得到拍照结果;
在所述第一对焦结果为对焦失败的情况下,所述电子设备输出提示信息;所述提示信息用于指示用户对焦失败,以及指示用户决定是否重新对焦或者是否直接进行拍照得到拍照结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述电子设备获取环境光传感器检测的环境光亮度;
在所述环境光亮度小于预设亮度值的情况下,所述电子设备确定所述电子设备处于暗光环境。
3.根据权利要求1所述的方法,其特征在于,所述电子设备基于所述第一对焦结果执行针对所述拍照操作的响应操作,包括:
在所述第一对焦结果用于指示对焦成功的情况下,所述电子设备从相机模组获取第一原始图像;
所述电子设备基于所述第一原始图像,得到第一目标图像;
所述电子设备在所述目标应用的成片预览界面显示所述第一目标图像。
4.根据权利要求1所述的方法,其特征在于, 在所述原始对焦指令对应的对焦模式不为自动对焦模式,或所述电子设备未处于暗光环境的情况下,所述电子设备基于所述原始对焦指令控制所述相机模组采用所述目标应用对应的对焦模式进行对焦,并在得到第二对焦结果后,基于所述第二对焦结果执行针对所述拍照操作的响应操作。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述电子设备响应于用户在所述目标应用的拍照界面实施的拍照操作,生成原始对焦指令,包括:
所述电子设备的目标应用响应于用户在所述目标应用的拍照界面实施的拍照操作,向所述电子设备的相机服务发送原始对焦请求;所述原始对焦请求用于请求采用目标应用对应的对焦模式进行对焦;
所述电子设备的相机服务接收来自所述目标应用的所述原始对焦请求,并基于所述原始对焦请求生成原始对焦指令。
6.根据权利要求5所述的方法,其特征在于,所述在所述原始对焦指令对应的对焦模式为自动对焦模式,且所述电子设备处于暗光环境的情况下,所述电子设备将所述原始对焦指令转换为目标对焦指令,包括:
所述电子设备的相机服务向所述电子设备的相机硬件抽象模块发送所述原始对焦指令;
所述电子设备的相机硬件抽象模块接收来自所述相机服务的所述原始对焦指令;
所述电子设备的相机硬件抽象模块在确定所述原始对焦指令对应的对焦模式为自动对焦模式,且确定所述电子设备处于暗光环境的情况下,将所述原始对焦指令转换为目标对焦指令。
7.一种电子设备,其特征在于,包括显示屏、存储器和一个或多个处理器;所述显示屏、所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-6任一项所述的对焦方法。
8.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-6任一项所述的对焦方法。
CN202311147338.5A 2023-09-07 2023-09-07 一种对焦方法、电子设备和存储介质 Active CN116887047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311147338.5A CN116887047B (zh) 2023-09-07 2023-09-07 一种对焦方法、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311147338.5A CN116887047B (zh) 2023-09-07 2023-09-07 一种对焦方法、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN116887047A CN116887047A (zh) 2023-10-13
CN116887047B true CN116887047B (zh) 2024-03-29

Family

ID=88272109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311147338.5A Active CN116887047B (zh) 2023-09-07 2023-09-07 一种对焦方法、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116887047B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63138317A (ja) * 1986-11-29 1988-06-10 Kyocera Corp オ−トフオ−カス式一眼レフカメラにおける焦点調整装置
JPS63172227A (ja) * 1987-01-12 1988-07-15 Canon Inc 自動焦点調節装置
CN103428416A (zh) * 2012-05-18 2013-12-04 华为终端有限公司 一种自动切换终端对焦模式的方法及终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107213A (ja) * 2003-09-30 2005-04-21 Olympus Corp カメラの自動焦点調節装置
JP4727534B2 (ja) * 2006-08-28 2011-07-20 富士フイルム株式会社 撮像装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63138317A (ja) * 1986-11-29 1988-06-10 Kyocera Corp オ−トフオ−カス式一眼レフカメラにおける焦点調整装置
JPS63172227A (ja) * 1987-01-12 1988-07-15 Canon Inc 自動焦点調節装置
CN103428416A (zh) * 2012-05-18 2013-12-04 华为终端有限公司 一种自动切换终端对焦模式的方法及终端
CN107124545A (zh) * 2012-05-18 2017-09-01 华为终端有限公司 一种自动切换终端对焦模式的方法及终端

Also Published As

Publication number Publication date
CN116887047A (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
EP3893491A1 (en) Method for photographing the moon and electronic device
CN113132620B (zh) 一种图像拍摄方法及相关装置
CN112231025B (zh) Ui组件显示的方法及电子设备
CN113630558B (zh) 一种摄像曝光方法及电子设备
CN116996762B (zh) 一种自动曝光方法、电子设备及计算机可读存储介质
CN115359105A (zh) 景深扩展图像生成方法、设备及存储介质
CN115550556B (zh) 一种曝光强度调节方法及相关装置
CN116156044A (zh) 设备协同方法及相关装置
US11816494B2 (en) Foreground element display method and electronic device
CN113703894A (zh) 通知消息的显示方法和显示装置
CN116055856B (zh) 相机界面显示方法、电子设备和计算机可读存储介质
CN116048323B (zh) 图像处理方法及电子设备
CN117135257A (zh) 一种图像显示方法及电子设备
CN116887047B (zh) 一种对焦方法、电子设备和存储介质
CN115017498B (zh) 小应用程序的操作方法和电子设备
CN113590346B (zh) 处理业务请求的方法和电子设备
CN113891008B (zh) 一种曝光强度调节方法及相关设备
CN115686182A (zh) 增强现实视频的处理方法与电子设备
CN114546969A (zh) 一种文件共享方法、装置及电子设备
CN116723382B (zh) 一种拍摄方法及相关设备
CN116723410B (zh) 调节帧间隔的方法和装置
CN116055872B (zh) 图像获取方法、电子设备和计算机可读存储介质
CN116347217B (zh) 图像处理方法、设备及存储介质
CN117221713B (zh) 参数加载方法和电子设备
CN116347217A (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