CN116723383A - 一种拍摄方法及相关设备 - Google Patents

一种拍摄方法及相关设备 Download PDF

Info

Publication number
CN116723383A
CN116723383A CN202210190083.XA CN202210190083A CN116723383A CN 116723383 A CN116723383 A CN 116723383A CN 202210190083 A CN202210190083 A CN 202210190083A CN 116723383 A CN116723383 A CN 116723383A
Authority
CN
China
Prior art keywords
image
camera
electronic device
images
exposure
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
Application number
CN202210190083.XA
Other languages
English (en)
Other versions
CN116723383B (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 CN202210190083.XA priority Critical patent/CN116723383B/zh
Priority to EP22917647.4A priority patent/EP4262226A1/en
Priority to PCT/CN2022/143188 priority patent/WO2023160230A1/zh
Publication of CN116723383A publication Critical patent/CN116723383A/zh
Application granted granted Critical
Publication of CN116723383B publication Critical patent/CN116723383B/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/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • 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
    • 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
    • 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/63Control of cameras or camera modules by using electronic viewfinders
    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • 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/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/71Circuitry for evaluating the brightness variation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/73Circuitry for compensating brightness variation in the scene by influencing the exposure time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Landscapes

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

Abstract

本申请提供了一种拍摄方法及相关设备。根据该拍摄方法,电子设备中的相机应用可以在用户按下快门控件时,通过自定义接口下发提前拍照指令。该提前拍照指令用于提前触发拍照流程。电子设备可以基于该拍照指令确定当前的3A状态。若当前的3A状态为3A锁定状态,则电子设备获取图像帧。在上述过程中,电子设备还可以提前采集变曝光帧,以及基于缓存帧队列中的图像的地址信息和引用计数来获取该图像。电子设备还可以根据图像的每一行像素的抖动量来判断整个图像的抖动量。通过上述拍摄方法,电子设备不仅提升了电子设备的拍照响应速度,还可以更准确地选择更清晰的图像来进行融合,提高了拍摄所得图像的清晰度,提升了用户的拍摄体验。

Description

一种拍摄方法及相关设备
技术领域
本申请涉及终端技术领域,尤其涉及一种拍摄方法及相关设备。
背景技术
在一次拍照过程中,用户抬起快门控件后,电子设备中的相机应用开始下发指令到硬件抽象层来查看3A算法的收敛状态。相机应用在收到硬件抽象层上报的3A算法收敛的提示信息之后,才下发拍照命令,硬件抽象层的相关模块再开始选帧、抓帧,以及进行后处理,从而将这一次拍照所得的图像传输至相机应用,以便用户查看。
可理解,在上述拍照过程中,相机应用需要与硬件抽象层多次交互,并且硬件抽象层的相关模块需要对图像进行多次处理,使得从触发快门到照片拍摄完成所需的时间较长。即电子设备的拍摄响应时间较长、拍摄响应速度较慢,影响了用户的拍摄体验。
因此,如何提升电子设备的拍摄响应速度是目前亟待解决的问题。
发明内容
本申请提供了一种拍摄方法及相关设备。根据该拍摄方法,电子设备可以在检测到用户按下快门时,通过相机应用下发提前拍照指令,一旦电子设备中的相机HAL模块收到该提前拍照指令并确定当前的3A状态为3A锁定状态,电子设备就可以获取图像帧。可理解,该图像帧即为本次拍照所得的图像。通过这种方式,电子设备可以提前下发拍照请求,电子设备中的相机应用和相机HAL模块也无需进行多次交互,节省了时间,提升了电子设备的拍照响应速度,使得用户可以更快地获取拍照图像,即提升了用户的拍摄体验。
第一方面,本申请提供一种拍摄方法。该方法可以应用于电子设备。该方法可以包括:电子设备显示第一界面;所述第一界面包括快门控件;所述第一界面为相机应用的拍照界面;所述电子设备在检测到按下快门控件操作时,响应于所述按下快门控件操作,生成提前拍照指令;所述电子设备基于所述提前拍照指令确定当前的3A状态,并在所述当前的3A状态为3A锁定状态的情况下,获取图像帧;所述3A状态用于表示3A算法的执行情况;所述3A锁定状态表明3A算法已收敛。
在本申请提供的方案中,用户可以通过点击快门控件来触发拍照。用户按下快门控件时,电子设备可以检测到该按下快门控件操作,并生成提前拍照指令。电子设备可以基于该提前拍照指令来确定当前的3A状态。若当前的3A状态为3A锁定状态,电子设备可以获取本次拍照的图像帧。通过这种方式,电子设备提前触发了拍照流程,并且无需将当前3A状态上传给相机应用,节省了相机应用与HAL层的部分交互时间,提升了电子设备响应拍照的速度,使得用户在按下快门后可以更快地得到图像,提升了用户的拍照体验。
可理解,电子设备检测到按下快门操作时,用户还未放开开门控件。
在本申请的一些实施例中,电子设备最终获取的图像帧(即本次拍照所得的图像)为图像I。
在本申请一些实施例中,电子设备最终获取的图像帧(即本次拍照所得的图像)为图像K。
可理解,关于拍摄参数和3A的相关描述可以参考后述实施例,在此不展开说明。
在本申请的一些实施例中,第一界面为界面A。
结合第一方面,在第一方面的一种可能的实现方式中,所述生成提前拍照指令之后,所述方法还包括:所述电子设备通过所述相机应用来基于第一接口将所述提前拍照指令下发至硬件抽象HAL层;所述第一接口为自定义接口。
在本申请提供的方案中,电子设备中的相机应用可以通过自定义接口(即上文第一接口)来下发提前拍照指令,提前触发了拍照流程,提升了电子设备的拍照响应速度。
在本申请的一些实施例中,第一接口为后述实施例中的接口X。
结合第一方面,在第一方面的一种可能的实现方式中,所述获取图像帧,具体包括:所述电子设备根据第一时间,以及缓存帧队列中的图像的抖动量和锐度,从所述缓存帧队列中选择N帧图像;所述第一时间为所述电子设备检测到所述按下快门控件操作的时间;所述缓存帧队列用于存放所述电子设备通过摄像头采集的图像;所述N帧图像为原始RAW图像;所述N为正整数;所述电子设备对所述N帧图像进行后处理,得到所述图像帧。
在本申请提供的方案中,电子设备确定当前的3A状态为3A锁定状态之后,可以从缓存帧队列中选择N帧图像用于后续的后处理过程。可理解,电子设备可以根据第一时间,以及缓存帧队列中的图像的抖动量和锐度,从缓存帧队列中选择N帧图像。在本申请的一些实施例中,第一时间可以为后述实施例中所提及的用户按下快门控件的时间。可理解,电子设备选择N帧图像的具体方式可以参考后述实施例,在此不展开说明。
结合第一方面,在第一方面的一种可能的实现方式中,所述电子设备对所述N帧图像进行后处理之前,所述方法还包括:所述电子设备通过所述相机HAL模块在下发待下发拍摄参数之前将所述变曝光拍摄参数下发至所述摄像头,并通过所述摄像头来根据所述变曝光拍摄参数采集一组变曝光帧;所述待下发拍摄参数为所述相机HAL模块在获取所述变曝光拍摄参数之前获取的且还未下发至所述摄像头的拍摄参数;所述变曝光拍摄参数包括所述一组变曝光帧所对应的曝光参数;所述一组变曝光帧中的图像所对应的曝光时间各不相同;所述电子设备对所述N帧图像进行后处理,包括:所述电子设备将所述N帧图像和所述一组变曝光帧进行融合。
在本申请提供的方案中,电子设备在下发本次拍照所需的拍摄参数(例如上述变曝光拍摄参数)之前,需要持续下发采集预览图像所需的拍摄参数到摄像头。电子设备中的相机HAL模块获取变曝光拍摄参数后,其中还存在未下发的在获取变曝光拍摄参数之前所获取的拍摄参数(即上述待下发拍摄参数)。相机HAL模块可以将变曝光拍摄参数插队至该待下发拍摄参数的前面,使得相机HAL模块提前下发变曝光拍摄参数。这也就意味着,电子设备获取变曝光帧的时间提前了。相应的,电子设备进行后处理的时间也提前了,得到本次拍照图像的时间也提前了。这种方式加快了拍照流程,提升了电子设备的拍照响应速度,也提升了用户的拍摄体验。另外,变曝光帧的生成时间与从缓存队列中选择的N帧图像的生成时间的时间差缩短了,有利于后续融合,从而得到更清晰的图像帧。
结合第一方面,在第一方面的一种可能的实现方式中,所述电子设备对所述N帧图像进行后处理之前,所述方法还包括:所述电子设备给所述缓存帧队列中的图像添加地址信息;所述电子设备记录所述N帧图像对应的地址信息,并对所述N帧图像对应的引用计数加1;所述引用计数为对应的图像即将被调用或正在被调用的次数;其中,所述即将被调用或正在被调用的次数不为0的图像在被移出所述缓存帧队列后,不会被清除;所述电子设备基于所述N帧图像对应的地址信息来获取所述N帧图像。
在本申请提供的方案中,电子设备可以通过缓存帧队列中的图像的地址信息以及引用计数来获取该队列中的图像来进行后处理。具体地,电子设备无需对该队列中的图像进行拷贝,而是将其引用计数加1,然后通过地址信息即可找到对应的图像。可理解,引用计数不为0的图像被移出缓存帧队列后不会被清除。上述方式节省了拷贝的大量时间和计算资源,加快了拍照流程,提升了电子设备的拍照响应速度。
结合第一方面,在第一方面的一种可能的实现方式中,所述一组变曝光帧包括短曝光帧、中曝光帧和长曝光帧;所述短曝光帧对应的曝光时间小于所述中曝光帧对应的曝光时间;所述中曝光帧对应的曝光时间小于所述长曝光帧对应的曝光时间。
结合第一方面,在第一方面的一种可能的实现方式中,所述电子设备通过所述相机应用生成提前拍照指令之后,所述方法还包括:所述电子设备检测到放开快门操作。
结合第一方面,在第一方面的一种可能的实现方式中,所述获取图像帧之后,所述方法还包括:所述电子设备显示第二界面;所述第二界面包括图库快捷控件;所述图库快捷控件显示所述图像帧的缩略图。
在本申请的一些实施例中,第二界面为界面B。
第二方面,本申请提供了一种电子设备。该电子设备可以包括显示屏、存储器、一个或多个处理器。其中,存储器可以存储计算机程序,而处理器可以调用所述计算机程序。具体的,显示器可以用于显示第一界面;所述第一界面包括快门控件;所述第一界面为相机应用的拍照界面。处理器可以用于:在检测到按下快门控件操作时,响应于所述按下快门控件操作,生成提前拍照指令;基于所述提前拍照指令确定当前的3A状态,并在所述当前的3A状态为3A锁定状态的情况下,获取图像帧;所述3A状态用于表示3A算法的执行情况;所述3A锁定状态表明3A算法已收敛。
结合第二方面,在第二方面的一种可能的实现方式中,处理器在用于生成提前拍照指令之后,可以用于:通过所述相机应用来基于第一接口将所述提前拍照指令下发至硬件抽象HAL层;所述第一接口为自定义接口。
结合第二方面,在第二方面的一种可能的实现方式中,处理器在用于获取图像帧时,具体用于:根据第一时间,以及缓存帧队列中的图像的抖动量和锐度,从所述缓存帧队列中选择N帧图像;所述第一时间为所述电子设备检测到所述按下快门控件操作的时间;所述缓存帧队列用于存放所述电子设备通过摄像头采集的图像;所述N帧图像为原始RAW图像;所述N为正整数;对所述N帧图像进行后处理,得到所述图像帧。
结合第二方面,在第二方面的一种可能的实现方式中,处理器在用于对所述N帧图像进行后处理之前,还用于:通过所述相机HAL模块在下发待下发拍摄参数之前将所述变曝光拍摄参数下发至所述摄像头。电子设备还可以包括摄像头。摄像头可以用于根据所述变曝光拍摄参数采集一组变曝光帧;所述待下发拍摄参数为所述相机HAL模块在获取所述变曝光拍摄参数之前获取的且还未下发至所述摄像头的拍摄参数;所述变曝光拍摄参数包括所述一组变曝光帧所对应的曝光参数;所述一组变曝光帧中的图像所对应的曝光时间各不相同。处理器在用于对所述N帧图像进行后处理时,具体可以用于:将所述N帧图像和所述一组变曝光帧进行融合。
结合第二方面,在第二方面的一种可能的实现方式中,处理器在用于对所述N帧图像进行后处理之前,还用于:给所述缓存帧队列中的图像添加地址信息;记录所述N帧图像对应的地址信息,并对所述N帧图像对应的引用计数加1;所述引用计数为对应的图像即将被调用或正在被调用的次数;其中,所述即将被调用或正在被调用的次数不为0的图像在被移出所述缓存帧队列后,不会被清除;基于所述N帧图像对应的地址信息来获取所述N帧图像。
结合第二方面,在第二方面的一种可能的实现方式中,所述一组变曝光帧包括短曝光帧、中曝光帧和长曝光帧;所述短曝光帧对应的曝光时间小于所述中曝光帧对应的曝光时间;所述中曝光帧对应的曝光时间小于所述长曝光帧对应的曝光时间。
结合第二方面,在第二方面的一种可能的实现方式中,处理器在用于通过所述相机应用生成提前拍照指令之后,还用于检测到放开快门操作。
结合第二方面,在第二方面的一种可能的实现方式中,在处理器用于获取图像帧之后,显示器还可以用于显示第二界面;所述第二界面包括图库快捷控件;所述图库快捷控件显示所述图像帧的缩略图。
第三方面,本申请提供一种拍摄方法。该方法可以应用于电子设备。该方法可以包括:电子设备显示第一界面;所述第一界面包括快门控件;所述第一界面为相机应用的拍照界面;所述电子设备检测到作用在所述快门控件上的第一操作,响应于所述第一操作,确定当前的3A状态;所述电子设备在所述当前的3A状态为3A锁定状态的情况下,通过所述相机HAL模块在下发待下发拍摄参数之前将变曝光拍摄参数下发至摄像头,并通过所述摄像头来根据所述变曝光拍摄参数采集一组变曝光帧;所述电子设备从缓存帧队列中选择N帧图像,并对所述一组变曝光帧和所述N帧图像进行后处理,得到图像帧。其中,所述3A状态用于表示3A算法的执行情况;所述3A锁定状态表明3A算法已收敛;所述待下发拍摄参数为所述相机HAL模块在获取所述变曝光拍摄参数之前获取的且还未下发至所述摄像头的拍摄参数;所述变曝光拍摄参数包括所述一组变曝光帧所对应的曝光参数;所述一组变曝光帧中的图像所对应的曝光时间各不相同;所述缓存帧队列用于存放所述电子设备通过所述摄像头采集的图像;所述N为正整数。
结合第三方面,在第三方面的一种可能的实现方式中,所述对所述一组变曝光帧和所述N帧图像进行后处理之前,所述方法还包括:所述电子设备给所述缓存帧队列中的图像添加地址信息;所述电子设备记录所述N帧图像对应的地址信息,并对所述N帧图像对应的引用计数加1;所述引用计数为对应的图像即将被调用或正在被调用的次数;其中,所述即将被调用或正在被调用的次数不为0的图像在被移出所述缓存帧队列后,不会被清除;所述电子设备基于所述N帧图像对应的地址信息来获取所述N帧图像。
第四方面,本申请提供一种电子设备。该电子设备可以包括显示屏、摄像头、存储器、一个或多个处理器。其中,存储器可以存储计算机程序,而处理器可以调用所述计算机程序。具体的,显示器可以用于:显示第一界面;所述第一界面包括快门控件;所述第一界面为相机应用的拍照界面。处理器可以用于:检测到作用在所述快门控件上的第一操作,响应于所述第一操作,确定当前的3A状态;在所述当前的3A状态为3A锁定状态的情况下,通过所述相机HAL模块在下发待下发拍摄参数之前将变曝光拍摄参数下发至摄像头。摄像头可以用于通过所述摄像头来根据所述变曝光拍摄参数采集一组变曝光帧。处理器还可以用于:从缓存帧队列中选择N帧图像,并对所述一组变曝光帧和所述N帧图像进行后处理,得到图像帧。其中,所述3A状态用于表示3A算法的执行情况;所述3A锁定状态表明3A算法已收敛;所述待下发拍摄参数为所述相机HAL模块在获取所述变曝光拍摄参数之前获取的且还未下发至所述摄像头的拍摄参数;所述变曝光拍摄参数包括所述一组变曝光帧所对应的曝光参数;所述一组变曝光帧中的图像所对应的曝光时间各不相同;所述缓存帧队列用于存放所述电子设备通过所述摄像头采集的图像;所述N为正整数。
结合第四方面,在第四方面的一种可能的实现方式中,处理器在用于对所述一组变曝光帧和所述N帧图像进行后处理之前,还用于:给所述缓存帧队列中的图像添加地址信息;记录所述N帧图像对应的地址信息,并对所述N帧图像对应的引用计数加1;所述引用计数为对应的图像即将被调用或正在被调用的次数;其中,所述即将被调用或正在被调用的次数不为0的图像在被移出所述缓存帧队列后,不会被清除;基于所述N帧图像对应的地址信息来获取所述N帧图像。
第五方面,本申请提供一种拍摄方法。该方法可以应用于电子设备。该方法可以包括:电子设备显示第一界面;所述第一界面包括快门控件;所述第一界面为相机应用的拍照界面;所述电子设备检测到作用在所述快门控件上的第一操作,响应于所述第一操作,确定当前的3A状态;所述电子设备在所述当前的3A状态为3A锁定状态的情况下,给缓存帧队列中的图像添加地址信息;所述电子设备从所述缓存帧队列中选择N帧图像,并记录所述N帧图像对应的地址信息,并对所述N帧图像对应的引用计数加1;所述引用计数为对应的图像即将被调用或正在被调用的次数;其中,所述即将被调用或正在被调用的次数不为0的图像在被移出所述缓存帧队列后,不会被清除;所述缓存帧队列用于存放所述电子设备通过摄像头采集的图像;所述N为正整数;所述电子设备基于所述N帧图像对应的地址信息来获取所述N帧图像,并对所述N帧图像进行后处理,得到图像帧。
第六方面,本申请提供一种电子设备。该电子设备可以包括显示屏、存储器、一个或多个处理器。其中,存储器可以存储计算机程序,而处理器可以调用所述计算机程序。具体的,显示器可以用于:显示第一界面;所述第一界面包括快门控件;所述第一界面为相机应用的拍照界面。处理器可以用于:检测到作用在所述快门控件上的第一操作,响应于所述第一操作,确定当前的3A状态;在所述当前的3A状态为3A锁定状态的情况下,给缓存帧队列中的图像添加地址信息;从所述缓存帧队列中选择N帧图像,记录所述N帧图像对应的地址信息,并对所述N帧图像对应的引用计数加1;所述引用计数为对应的图像即将被调用或正在被调用的次数;其中,所述即将被调用或正在被调用的次数不为0的图像在被移出所述缓存帧队列后,不会被清除;所述缓存帧队列用于存放所述电子设备通过摄像头采集的图像;所述N为正整数;基于所述N帧图像对应的地址信息来获取所述N帧图像,并对所述N帧图像进行后处理,得到图像帧。
第七方面,本申请提供一种计算机存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行上述第一方面中任一种可能的实现方式。
第八方面,本申请提供一种计算机存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行上述第三方面中任一种可能的实现方式。
第九方面,本申请提供一种计算机存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行上述第五方面中任一种可能的实现方式。
第十方面,本申请实施例提供一种芯片,该芯片应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行上述第一方面中任一种可能的实现方式。
第十一方面,本申请实施例提供一种芯片,该芯片应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行上述第三方面中任一种可能的实现方式。
第十二方面,本申请实施例提供一种芯片,该芯片应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行上述第五方面中任一种可能的实现方式。
第十三方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述第一方面任一种可能的实现方式。
第十四方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述第三方面任一种可能的实现方式。
第十五方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述第五方面任一种可能的实现方式。
可以理解地,上述第二方面提供的电子设备、第七方面提供的计算机存储介质、第十方面提供的芯片,以及第十三方面提供的计算机程序产品均用于执行上述第一方面中任一种可能的实现方式。因此,其所能达到的有益效果可参考上述第一方面中任一种可能的实现方式的有益效果,此处不再赘述。
另外,上述第四方面提供的电子设备、第八方面提供的计算机存储介质、第十一方面提供的芯片,以及第十四方面提供的计算机程序产品均用于执行上述第二方面中任一种可能的实现方式。上述第六方面提供的电子设备、第九方面提供的计算机存储介质、第十二方面提供的芯片,以及第十五方面提供的计算机程序产品均用于执行上述第二方面中任一种可能的实现方式。相应的有益效果可参考后述实施例,此处不展开说明。
附图说明
图1为本申请实施例提供的一种拍摄方法的示意图;
图2A-图2C为本申请实施例提供的一组用户界面示意图;
图3为本申请实施例提供的一种拍摄方法的流程图;
图4为本申请实施例提供的一种图像生成顺序的示意图;
图5为本申请实施例提供的一种缓存帧队列的示意图;
图6为本申请实施例提供的一种卷帘快门曝光的示意图;
图7为本申请实施例提供的一种电子设备的硬件结构示意图;
图8为本申请实施例提供的一种电子设备的软件结构示意图;
图9为本申请实施例提供的一种拍摄方法的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
随着科技的进步与发展,手机等电子设备可以实现的功能越来越强大。在拍摄过程中,大部分电子设备可以通过3A算法来实现自动对焦、自动调节曝光参数,以及自动进行白平衡调节,从而实现图像对比度最大、改善主体拍摄物过曝光或曝光不足情况、使画面在不同光线照射下的色差得到补偿,进而呈现较高画质的图像信息。
可理解,电子设备可以为智能手机、智能电视、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备等。本申请实施例对该电子设备的具体类型不作特殊限制。
可理解,3A指的是自动对焦(auto focus,AF)、自动曝光(auto exposure,AE)和自动白平衡(auto white balance,AWB)。自动对焦即自动调节摄像头焦距来得到清晰的图像的过程。自动曝光即自动调节曝光参数,使得感光器件获得合适的曝光量的过程。自动白平衡即自动调节白平衡增益,使得拍摄画面的颜色接近物体真实的颜色的过程。
需要说明的是,3A算法实际上是在电子设备的硬件抽象层实现的。电子设备通过相机应用进行拍摄时,位于应用层的相机应用需要与硬件抽象层(hardware abstractionlayer,HAL)进行交互,从而实现3A算法。也就是说,在拍摄过程中,电子设备不止需要花费时间执行3A算法,还需要花费时间完成相机应用与硬件抽象层的交互。
请参考图1,图1为本申请实施例提供的一种拍摄过程的示意图。
如图1所示,电子设备可以包括相机应用。相机应用的拍照界面可以包括快门控件。可理解,快门控件可以用于监听触发拍照的用户操作。用户可以触发快门控件。以单击操作触发拍照为例,用户按下快门控件时,手指接触电子设备的触摸屏,紧接着,用户放开快门控件时,手指不再接触电子设备的触摸屏。电子设备的相机应用可以检测到用户放开快门控件。此时,相机应用生成3A触发指令。该3A触发指令用于触发3A算法。
相机应用可以将该3A触发指令下发至HAL层,等待相关模块进行处理。相机HAL模块可以处理3A触发指令。处理3A触发指令时,相机HAL模块可以确定该指令中包括用于指示执行3A算法的信息(例如,TRIGGER_START条目),并提供接口来实现3A算法。3A算法执行的过程中,3A状态为3A调整状态。也就是说,在这个过程中,摄像头获取图像所需的拍摄参数正在不断调整。相机HAL模块不断更新拍摄参数。
一旦3A算法收敛,3A状态由3A调整状态转变为3A锁定状态。这说明相机HAL模块已找到理想拍摄参数并已锁定该理想拍摄参数。相机HAL模块可以将理想拍摄参数下发至驱动及摄像头等相关硬件。此时,摄像头可以根据理想拍摄参数来获取图像。
一旦3A状态转变为3A锁定状态,相机HAL模块可以向相机应用上报3A状态提示信息。可理解,3A状态提示信息用于提示相机应用3A算法已收敛(即已确定理想拍摄参数并锁定该理想拍摄参数)。相机应用收到相机HAL模块发送的3A状态提示信息后,可以下发拍照请求。相机HAL模块接收来自相机应用的拍照请求后,可以从缓存帧队列中选择用于进行后处理的图像(即图1中所示的选帧),并拷贝所选择的图像。可理解,后处理可以包括图像融合等。相机HAL模块可以对所拷贝的图像以及变曝光帧队列中的图像进行融合,以及其他相关处理。经过后处理之后的图像为此次拍照所得的图像。相机HAL模块可以将该图像上传至相机应用。相机应用的拍照界面的图库快捷控件可以显示该图像的缩略图。然后,相机应用可以下发3A取消锁定指令。可理解,3A取消锁定指令用于解除3A锁定状态。相机HAL模块接收该3A取消锁定指令后,3A的状态由3A锁定状态转变为3A调整状态。
可理解,本申请所提及的拍摄参数可以包括对焦参数、曝光参数和白平衡参数。电子设备可以根据对焦参数来判断电子设备是否处于良好对焦状态。对焦参数可以包括焦距。曝光参数可以包括光圈大小、快门速度(即曝光时间)、感光度参数。白平衡参数包括RGB值。
可理解,变曝光帧队列可以包括多个采取不同曝光参数所得的图像帧。在本申请的一些实施例中,变曝光帧队列可以包括短曝光帧、中曝光帧和长曝光帧。其中,短曝光帧对应的曝光时间较短,长曝光帧对应的曝光时间较长,中曝光帧对应的曝光时间介于短曝光帧对应的曝光时间和长曝光帧对应的曝光时间之间。
可理解,图1所示的shutterlag指的是快门延迟,也成快门时滞。快门延迟指的是按下快门,这时相机自动对焦、测光、计算曝光量、选择合适曝光组合进行数据计算和存储处理所需要的时间。
需要说明的是,缓存帧队列的可容纳的图像帧的数量是有限的。一旦缓存帧队列所容纳的图像帧的数目达到上限。缓存帧队列会根据“先进先出”的原则,将最先进入缓存帧队列的图像释放(即移出缓存帧队列),来容纳后续生成的图像帧。可理解,移出缓存帧队列的图像会被回收清除。本申请的一些实施例中,缓存帧队列最多可容纳8帧图像。
根据上述内容,一方面:
第一,用户放开快门控件且3A算法收敛之后,相机应用才会下发拍照请求。在这个过程中,相机应用和相机HAL模块会多次进行交互,产生了图1所示的HAL时延1和HAL时延2。
第二,相机应用下发拍照请求时,存在一些图像帧正在相关硬件中进行处理,同时,相机HAL模块正准备下发拍摄参数。可理解,此时,相机HAL模块正准备下发的拍摄参数是3A算法执行过程中更新的拍摄参数。相机HAL模块将该拍摄参数下发至驱动及相关硬件设备后,可以继续下发理想拍摄参数。摄像头按照接收拍摄参数的时间顺序来采集图像。这也就意味着,摄像头首先根据3A算法执行过程中更新的拍摄参数,来采集图像,然后,再根据理想拍摄参数采集变曝光帧。相机HAL模块接收相机应用下发的拍照请求后,可以在缓存帧队列中选择用于后处理的图像,并拷贝所选择的图像。在变曝光帧到达HAL层之后,相机HAL模块可以对拷贝的图像和变曝光帧进行后处理。经过后处理之后所得的图像即为本次拍照所得的图像。
在这个过程中,不仅相机HAL模块需要花费时间拷贝图像,还需要花费时间等待变曝光帧。
简而言之,从用户按下快门控件开始,到拍照结束为止,电子设备需要花费较长时间来对拍照进行响应。而用户的拍照诉求不断提高,当前的电子设备的拍照响应时间已经无法满足用户需要。
另一方面,相机HAL模块在选择用于后处理的图像时,会判断缓存帧队列中的图像的清晰度,然后从其中选择较为清晰的图像。在这个过程中,相机HAL模块从曝光整个图像时的抖动情况和锐度信息着手,来评价图像的清晰度。这种评价方式的准确度有所欠缺。即相机HAL模块通过这种评价方式无法准确评价缓存帧中的图像的清晰度。
本申请提供了一种拍摄方法及相关设备。根据该拍摄方法,电子设备中的相机应用可以在用户按下快门控件时,通过自定义接口下发提前拍照指令。该提前拍照指令用于提前触发拍照流程。这也就意味着,该提前拍照指令用于触发3A算法,以及在3A算法收敛的情况下触发后续选帧、后处理等操作。电子设备还可以提前采集变曝光帧。电子设备中的相机HAL模块可以给缓存帧队列中的图像添加地址信息。该地址信息用于指示缓存帧队列中对应图像的位置。在选帧的过程中,相机HAL模块可以记录所选择的图像所对应的地址信息,并在进行后处理的过程中,通过地址信息获取对应的图像来与变曝光帧进行融合。电子设备还可以根据图像的每一行像素的抖动量来判断整个图像的抖动量,从而更准确地评价图像的清晰度。通过上述拍摄方法,电子设备不仅可以节省响应时间,还可以更准确地选择更清晰的图像来进行融合,提高了拍摄所得图像的清晰度,提升了用户的拍摄体验。
下面介绍本申请提供的一些拍摄场景。
可理解,本申请的说明书和权利要求书及附图中的术语“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic userinterface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
图2A示例性示出了电子设备的一种用户界面210。
用户界面210显示了一个放置有应用图标的页面,该页面可包括多个应用图标(例如,天气应用图标、日历应用图标、相册应用图标、便签应用图标、电子邮件应用图标、应用商店应用图标、设置应用图标等等)。上述多个应用图标下方还可显示有页面指示符,以表明当前显示的页面与其他页面的位置关系。页面指示符的下方有多个应用图标(例如,相机应用图标211、浏览器应用图标、信息应用图标、拨号应用图标)。应用图标在页面切换时保持显示。
可理解,相机应用图标211为相机应用程序的图标。相机应用图标21可以用于触发启动相机应用,即相机应用程序。相机应用程序是智能手机、平板电脑等电子设备上的一款图像拍摄的应用程序,本申请对该应用程序的名称不做限制。
电子设备可以检测到作用于相机应用图标211上的用户操作。响应于该用户操作,电子设备可以显示图2B所示的用户界面220。
用户界面220可包括:设置区域221、预览区域222、相机模式选项223、图库快捷控件224、快门控件225、摄像头翻转控件226。其中:
设置区域221可以包括设置控件和闪光灯控件。
预览区域222可用于显示摄像头实时采集的图像。电子设备可以实时刷新其中的显示内容,以便于用户预览摄像头当前的采集的图像。
相机模式选项223中可以显示有一个或多个拍摄模式选项。这一个或多个拍摄模式选项可以包括:夜景模式选项、人像模式选项、拍照模式选项、录像模式选项和更多选项。这一个或多个拍摄模式选项在界面上可以表现为文字信息,例如“夜景”、“人像”、“拍照”、“录像”、“更多”。不限于此,这一个或多个摄像选项在界面上还可以表现为图标或者其他形式的交互元素(interactive element,IE)。
图库快捷控件224可用于开启图库应用程序。响应于作用在图库快捷控件224上的用户操作,例如点击操作,电子设备可以开启图库应用程序。这样,用户可以便捷地查看拍摄的照片和视频,而无需先退出相机应用程序,再开启图库应用程序。图库应用程序是智能手机、平板电脑等电子设备上的一款图片管理的应用程序,又可以称为“相册”,本实施例对该应用程序的名称不做限制。图库应用程序可以支持用户对存储于电子设备上的图片进行各种操作,例如浏览、编辑、删除、选择等操作。
快门控件225可用于监听触发拍照的用户操作。电子设备可以检测到作用于快门控件225的用户操作,响应于该操作,电子设备可以通过摄像头获取图像,并将其保存为图库应用程序中的图片。另外,电子设备还可以在图库快捷控件224中显示所保存的图像的缩略图。也就是说,用户可以点击快门控件225来触发拍照。可理解,快门控件225可以是按钮或者其他形式的控件。
摄像头翻转控件226可用于监听触发翻转摄像头的用户操作。
电子设备可以检测到作用于快门控件225上的按下快门操作。响应于该按下快门操作,相机应用可以生成提前拍照指令,并通过自定义接口将该提前拍照指令下发至HAL层。电子设备中相机HAL模块接收提前拍照指令后,可以确定当前的3A状态。在3A状态处于3A锁定状态的情况下,相机HAL模块可以进行选帧等操作,并进行后处理。可理解,后处理之后所得的图像即为本次拍照所得的图像。相机HAL模块可以将该图像上传至相机应用。电子设备可以将其保存至图库应用程序中。电子设备可以显示图2C所示的用户界面230。
用户界面230所包括的控件与用户界面220所包括的控件基本相同。不同的是,用户界面230中的预览区域231所显示的预览图像发生变化,且图库快捷控件232显示的图像发生变化。可理解,图库快捷控件232显示的图像为上述电子设备通过摄像头获取并保存在图库应用程序中的图像。
需要说明的是,图2A-图2C所示的用户界面仅为本申请提供的示例,不应视为对本申请的限制。也就是说,图2A-图2C所示的用户界面可以显示更多或更少的内容,本申请对此不作限定。
下面结合图3介绍本申请提供的一种拍摄方法。
S301:电子设备显示界面A。界面A为相机应用的拍照界面。相机应用为电子设备中的应用程序。界面A包括快门控件。
具体地,用户可以点击相机应用图标,响应于该点击操作,电子设备可以启动相机应用,并显示界面A。可理解,相机应用为电子设备中的应用程序。界面A为相机应用的拍照界面。界面A包括快门控件。用户可以通过触发快门控件来实现拍照。快门控件用于监听触发拍照的用户操作。
在本申请的一些实施例中,界面A可以为图2B所示的用户界面220。
S302:电子设备检测到用户按下快门控件,响应于该按下快门控件操作,电子设备中的相机应用生成提前拍照指令。其中,提前拍照指令用于提前触发拍照流程。
可理解,用户可以触发快门控件。以单击操作触发拍照为例,用户按下快门控件时,手指接触电子设备的触摸屏。触摸屏接收到触摸操作后,生成相应的输入事件。该输入事件向上传递至相机应用。相机应用接收该输入事件后,生成提前拍照指令。该提前拍照指令用于提前触发拍照流程。
S303:电子设备中的相机应用将提前拍照指令通过接口X下发至HAL层。
具体地,电子设备中的相机应用生成提前拍照指令之后,可以通过接口X将该提前拍照指令下发至HAL层,以便HAL层中的相机HAL模块进行处理。
可理解,接口X为自定义接口,用于将提前拍照指令下发至HAL层,并非是应用程序层与HAL层进行交互的通用接口。
S304:电子设备中位于HAL层的相机HAL模块接收提前拍照指令后,确定当前的3A状态。
可理解,电子设备中的相机HAL模块可以接收相机应用下发的提前拍照指令,并在接收该提前拍照指令后,确定当前的3A状态,以便根据当前的3A状态判断3A算法是否收敛。
需要说明的是,若当前的3A状态为3A锁定状态,表明3A算法已收敛。此时,相机HAL模块已经获取理想拍摄参数,并且已经锁定该理想拍摄参数。在这种情况下,电子设备可以继续执行后续步骤。若当前的3A状态为3A调整状态,电子设备中的HAL模块继续执行3A算法,待3A算法收敛(即3A状态变为3A锁定状态)后,电子设备再继续执行后续步骤。
在本申请的一些实施例中,3A状态为3A调整状态时,自动对焦设置的元数据条目为AF_STATE_PASSIVE_SCAN,自动曝光设置的元数据条目为AE_STATE_SEARCHING,自动白平衡设置的元数据条目为AWB_STATE_SEARCHING。
在本申请的一些实施例中,3A状态为3A锁定状态时,自动对焦设置的元数据条目为AF_STATE_FOCUSED_LOCKED,自动曝光设置的元数据条目为AE_STATE_LOCKED,自动白平衡设置的元数据条目为AWB_STATE_LOCKED。
可理解,关于3A状态和元数据条目的相关描述可参考相关技术文档,在此不展开说明。
S305:在3A状态处于3A锁定状态的情况下,电子设备中的相机HAL模块根据用户触发快门控件的时间,从缓存帧队列中获取图像i。其中,电子设备通过摄像头采集图像i的时间与用户触发快门控件的时间一致。图像i为RAW图像。缓存帧队列用于存放摄像头采集的RAW图像。
具体地,在3A状态处于3A锁定状态的情况下,电子设备中的相机HAL模块可以从缓存帧队列中获取图像i。电子设备通过摄像头采集图像i的时间与用户触发快门的时间是相同的。其中,图像i为RAW图像。缓存帧队列用于存放摄像头采集的RAW图像。
可理解,RAW图像就是传感器(例如,CMOS或者CCD图像感应器)将捕捉到的光源信号转化为数字信号的原始数据,也被称为原始图像文件。
需要说明的是,电子设备可以采取零延迟(zeroshutterlag,ZSL)方式来进行拍照,从而减少拍照延迟,提供一种“拍即视”的拍摄体验。在这种情况下,电子设备启动相机应用后,相机应用会开启预览流程,电子设备可以通过摄像头产生预览图像和拍照图像。其中,预览图像是显示在电子设备的预览区域以供用户查看的图像。拍照图像是与预览图像对应的RAW图像。可理解,预览图像的帧数据小于拍照图像的帧数据。
在本申请的一些实施例中,缓存帧队列中的存放的是拍照图像,即与预览图像对应的RAW图像。
可理解,缓存帧队列中存放的图像的帧数可以根据实际需求进行设置,本申请对此不作限制。
在本申请的一些实施例中,在3A状态为3A锁定状态的情况下,电子设备中的相机HAL模块可以根据用户触发快门的时间、缓存帧队列中的图像的抖动量和锐度(FV值),从缓存帧队列中获取图像i。具体地,在3A状态为3A锁定状态的情况下,第一,相机HAL模块可以根据shutterlag确定用户触发快门的时间,并根据图像生成时间与用户触发快门的时间之间的差值的绝对值,由小到大对缓存帧队列中的图像进行排序,得到新的帧队列。第二,相机HAL模块可以依次对排序后的图像进行锐度判断,若图像的FV值不大于预设FV值,则继续对新的帧队列中的下一帧图像进行锐度判断,若图像的FV值大于预设FV值,则继续对该图像进行抖动量判断。第三,在判断抖动量的过程中,若图像的抖动量小于预设抖动量,相机HAL模块从缓存帧队列中获取该图像,即该图像为图像i,若图像的抖动量不小于预设抖动量,相机HAL模块可以继续对新的帧队列中的下一帧图像进行锐度判断。
可理解,若经过上述锐度判断和抖动量判断后,相机HAL模块无法从缓存帧队列中获取图像i(即缓存帧队列中的图像均不满足锐度和抖动量要求),可以降低预设FV值和/或提高预设抖动量。
可理解,上述获取图像i的过程需要结合图像生成时间与用户触发快门的时间的差值的绝对值、图像的FV值和抖动量。可选的,电子设备中的相机HAL模块可以确定这三个要素的优先级,并根据优先级确定对这三个要素进行判断的先后顺序。
在本申请的一些实施例中,在高动态场景下,电子设备中的相机HAL模块可以从缓存帧队列中选取一帧或多帧图像,并将该一帧或多帧图像与变曝光图像(即变曝光帧)进行融合,从而得到明暗细节更丰富、图像对比度更大、清晰度更高的拍照图像。
S306:电子设备中的相机HAL模块对图像i进行后处理,得到图像I。图像I为JPEG格式的图像。
具体地,电子设备中的相机HAL模块从缓存帧队列中获取图像i之后,可以对图像i进行后处理,从而得到JPEG格式的图像I。可理解,后处理包括格式转换、图像融合等操作。
可理解,JPEG(joint photographic experts group)即联合图像专家组,是用于连续色调静态图像压缩的一种标准,文件后缀名为.jpg或.jpeg,是常用的图像文件格式。
在本申请的一些实施例中,图像I还可以为其他格式的图像,本申请对此不作限制。
S307:电子设备中的相机HAL模块将图像I上传至相机应用。
具体地,电子设备中的相机HAL模块可以将经过后处理所得的图像I上传至相机应用。
S308:电子设备中的相机应用获取图像I之后,将图像I保存到图库应用中,并显示界面B。界面B包括图库快捷控件。图库快捷控件显示图像I的缩略图。
具体地,电子设备中的相机应用获取相机HAL模块上传的图像I之后,可以将图像I保存到图库应用(即图库应用程序)中,并显示界面B。其中,界面B可以包括图库快捷控件。图库快捷控件可以显示图像I的缩略图。图库快捷控件用于快速进入图库应用以便用户查看图像。
S309:电子设备中的相机应用生成3A取消锁定指令,并将该拍照提示结束信息下发至HAL层。
具体地,电子设备中的相机应用获取图像I之后,可以生成3A取消锁定指令,并将该3A取消锁定指令下发至HAL层,以待HAL层中的相机HAL模块进行处理。
S310:电子设备中的相机HAL模块接收3A取消锁定指令后,将3A状态调整为3A调整状态。
具体地,电子设备中的相机HAL模块接收3A取消锁定指令后,可以将3A状态由3A锁定状态调整为3A调整状态。
可选地,电子设备在执行前述实施例中的步骤S301-步骤S304之后,还可以继续执行下面的步骤:
S311:在拍摄场景为高动态场景,且3A状态处于3A锁定状态的情况下,电子设备中的相机HAL模块从缓存帧队列中获取N帧图像。其中,N帧图像为缓存帧队列中清晰度较高的图像。N为正整数。
具体地,在拍摄场景为高动态场景,且3A状态处于3A锁定状态的情况下,电子设备中的相机HAL模块可以根据变曝光帧的生成时间、缓存帧队列中的图像的抖动量和锐度,来确定缓存帧队列中的图像的清晰度,并获取清晰度较高的N帧图像。也就是说,相机HAL模块可以获取缓存帧队列中清晰度位于前N的N帧图像。其中,N为正整数。
在本申请的一些实施例中,N=1。在这种情况下,相机HAL模块的方式可以根据缓存帧队列中的图像的生成时间与变曝光帧生成的时间的差值的绝对值、缓存帧队列中的图像的FV值和抖动量来获取N帧图像。其中,相机HAL模块对变曝光帧的生成时间的相关判断可以参考步骤S305中关于用户触发快门的相关描述,对FV值和抖动量的相关判断也可以参考步骤S305,在此不再赘述。
在本申请的一些实施例中,N>1。在这种情况下,与N=1相似,相机HAL模块也可以根据缓存帧队列中的图像的生成时间与变曝光帧生成的时间的差值的绝对值、缓存帧队列中的图像的FV值和抖动量来获取N帧图像。详细内容在此不再赘述。
可理解,拍摄场景为高动态场景,指的是用户按下快门控件时相机应用的拍摄模式为高动态范围成像(High Dynamic Range Imaging,简称HDRI或HDR)模式。在计算机图形学与电影摄影术中,高动态范围成像是用来实现比普通数位图像技术更大曝光动态范围(即更大的明暗差别)的技术。
在本申请的一些实施例中,用户可以自行打开或关闭HDR模式。
在本申请的一些实施例中,用户触发快门控件来进行拍照时,电子设备中的相机应用可以默认在HDR模式下进行拍摄。
可理解,N的具体大小可以根据实际需求进行设置,本申请对此不作限制。
S312:电子设备中的相机HAL模块将变曝光拍摄参数提前下发至驱动以及摄像头等硬件模块中。
可理解,一方面,电子设备中的相机HAL模块持续将拍摄参数下发至驱动以及摄像头等硬件中,以便摄像头能不断根据获取的该拍摄参数来生成图像。另一方面,电子设备通过摄像头等硬件采集预览图像和拍照图像,并将预览图像和拍照图像向上传递至HAL层。预览图像和拍照图像向上传递至HAL层之后,拍照图像可以存放在缓冲帧队列,而预览图像继续向上传递到相机应用。
由于电子设备中的相机应用下发了提前拍照指令,即提前触发了拍照流程(详细内容可参考步骤S302和步骤S303),电子设备中的相机HAL模块接收该提前拍照指令之后,一旦3A算法收敛,即3A状态为3A锁定状态,说明相机HAL模块已经找到理想拍摄参数,并已经锁定该理想拍摄参数。可理解,高动态场景下,相机HAL模块锁定的理想拍摄参数为变曝光拍摄参数。接下来,相机HAL模块就可以继续进行选帧、后处理操作(详细内容可参考步骤S305和步骤S306),而无需将当前3A状态告知给相机应用,也无需等待相机应用下发拍照请求。也就是说,一旦3A算法收敛,相机HAL模块自动进行后续拍照流程。根据上文,相机HAL模块获取变曝光拍摄参数之前,相机HAL模块持续下发拍摄参数。同时,电子设备通过摄像头基于拍摄参数来采集图像。这也就意味着,相机HAL模块获取变曝光拍摄参数之后,还需要下发在该变曝光拍摄参数之前获取的拍摄参数。在这种情况下,相机HAL模块可以提前将变曝光拍摄参数下发至驱动以及摄像头等硬件模块,无需等到下发在该变曝光拍摄参数之前获取的拍摄参数之后再下发变曝光拍摄参数,节省了时间。同时,变曝光帧的生成时间得以提前,有利于后续的后处理过程。
可理解,变曝光拍摄参数可以包括变曝光帧对应的拍摄参数。在本申请的一些实施例中,电子设备中的摄像头可以基于变曝光拍摄参数来获取长曝光帧、中曝光帧、短曝光帧。在这种情况下,变曝光拍摄参数可以包括长曝光帧对应的曝光参数、中曝光帧对应的曝光参数,以及短曝光帧对应的曝光参数。可理解,短曝光帧对应的曝光时间较短,长曝光帧对应的曝光时间较长,中曝光帧对应的曝光时间介于短曝光帧对应的曝光时间和长曝光帧对应的曝光时间之间。
可理解,变曝光帧的数量可以根据实际需求进行设置,本申请对此不作限制。
示例性的,如图4所示,图像P1-图像P8为缓存帧队列中的图像。图像O1-图像O3为正在生成的图像。也就是说,图像O1-图像O3正在电子设备的硬件模块(例如,传感器、图像信号处理器等)中进行处理。图像Q1和图像Q2为等待生成的图像。也就是说,图像Q1和图像Q2对应的拍摄参数还位于HAL层。相机HAL模块获取图像Q1和图像Q2对应的拍摄参数之后,接着获取了变曝光帧R1-变曝光帧R3这三帧图像所对应的拍摄参数,即变曝光拍摄参数。相机HAL模块可以将变曝光帧R1-变曝光帧R3所对应的拍摄参数提前下发至驱动以及摄像头等硬件模块。在这种情况下,变曝光帧R1-变曝光帧R3的生成时间会提前生成。如图4所示,电子设备通过摄像头采集图像O3之后,紧接着采集变曝光帧R1-变曝光帧R3。变曝光帧R1-变曝光帧R3采集完毕后,电子设备可以通过摄像头采集图像Q1和图像Q2。
S313:基于变曝光拍摄参数,电子设备通过摄像头采集变曝光帧,并将该变曝光帧上传至HAL层。
具体地,相机HAL模块将变曝光拍摄参数提前下发至驱动以及摄像头等硬件模块后,基于该变曝光拍摄参数,电子设备可以通过摄像头采集变曝光帧。
S314:电子设备中的相机HAL模块将从缓存帧队列中获取的N帧图像,与变曝光帧进行融合,得到图像K。图像K为JPEG格式的图像。
具体地,变曝光帧上传至HAL层之后,电子设备中的相机HAL模块可以将从缓存帧队列中获取的N帧图像,与变曝光帧进行融合。其中,该N帧图像与该变曝光图像均为RAW图像。图像K为JPEG格式的图像。
可理解,相机HAL模块还可以对N帧图像和变曝光帧进行其他后处理(例如,提亮、降噪等),本申请对此不作限制。
S315:电子设备中的相机应用获取图像K之后,将图像K保存到图库应用中,并显示界面C。界面C包括图库快捷控件。图库快捷控件显示图像K的缩略图。
具体地,电子设备中的相机应用获取相机HAL模块上传的图像K之后,可以将图像K保存到图库应用(即图库应用程序)中,并显示界面C。其中,界面C可以包括图库快捷控件。图库快捷控件可以显示图像K的缩略图。图库快捷控件用于快速进入图库应用以便用户查看图像。
可理解,电子设备执行步骤S315之后,可以继续执行前述实施例中的步骤S309和步骤S310。
需要说明的是,在本申请的一些实施例中,步骤S311-步骤S315可以用于图1所示的拍照流程中。
可选地,电子设备中的相机HAL模块可以通过地址信息来从缓存帧队列中获取图像。
详细内容如下:
具体地,电子设备中的相机HAL模块可以给缓存帧队列中的图像添加地址信息。该地址信息用于表示缓存帧队列中的图像的位置。也就是说,相机HAL模块可以通过该地址信息找到对应的缓存帧队列中的图像。相机HAL模块可以记录需要在缓存帧队列中获取的图像的地址信息。相机HAL模块可以根据记录的地址信息获取相应的图像。
需要说明的是,相机HAL模块记录需要在缓存帧队列中获取的图像的地址信息之后,这些被记录下地址信息的图像所对应的引用计数加1。
可理解,引用计数对应的数值为图像即将或正在被调用的次数。例如,图像对应的引用计数为0时,说明电子设备中没有模块需要调用该图像。在这种情况下,一旦该图像被移出缓存帧队列,就会被回收清除。对于被记录下地址信息的图像而言,这些图像对应的引用计数不为0。若这些图像被移出缓存帧队列,不会被回收清除,而是等到这些图像对应的引用计数变成0后,才会被回收清除。
可理解,相机HAL模块从缓存帧队列中获取图像并基于该图像进行后续操作(例如,后处理等)之后,若不再需要该图像,相机HAL模块可以将该图像的引用计数减1。
在本申请的一些实施例中,相机HAL模块可以根据用户触发快门控件的时间,从缓存帧队列中找到图像i(详细内容可参考步骤S305),并记录图像i的地址信息。在这种情况下,若图像i被移出缓存帧队列,图像i不会被回收清除,而是在相机HAL模块得到图像I(详细内容可参考步骤S306)之后,图像i才会被回收清除。
在本申请的一些实施例中,相机HAL模块可以从缓存帧队列中获取N帧图像(详细内容可参考步骤S311),并记录该N帧图像的地址信息。在这种情况下,若该N帧图像中的一帧或多帧图像被移出缓存帧队列,该一帧或多帧图像不会被回收清除,而是在相机HAL模块得到图像K(详细内容可参考步骤S314)之后,该一帧或多帧图像才会被回收清除。
示例性的,如图5所示,缓存帧队列中存在图像P1-图像P8这8帧图像。图像P1-图像P8的地址信息分别为:100、101、102、103、104、105、106和107。用户按下快门控件时,电子设备通过摄像头采集图像P8。也就是说,用户按下快门控件的时间与图像P8的生成时间相同。在一种可能的实现方式中,电子设备中的相机HAL模块可以记录图像P8的地址信息——107。在这种情况下,相机HAL模块可以通过107找到图像P8,从而对图像P8进行后处理。在又一种可能的实现方式中,电子设备中的相机HAL模块确定图像P3-图像P8这6帧图像的清晰度较高,可以记录图像P3-图像P8的地址信息——102、103、104、105、106和107。在这种情况下,相机HAL模块可以通过102、103、104、105、106和107分别找到图像P3-图像P8,从而对图像P3-图像P8,以及变曝光帧进行融和。
可选地,电子设备可以根据整帧图像的不同行像素的抖动量和锐度信息来确定该整帧图像的抖动量和锐度。详细内容如下:
首先对采用卷帘快门的曝光方式进行介绍。
数码相机、手机等电子设备多采用卷帘快门(rolling shutter),采用卷帘快门的曝光方式为逐行曝光。
具体地,如图6所示,传感器(例如,CMOS图像传感器)从一帧图像的第一行像素开始曝光,间隔一个行周期后开始曝光第二行像素。以此类推,第N-1行像素开始曝光后,间隔一个行周期第N行像素才开始曝光。也就是说,每一行像素开始曝光的时间与该行的下一行像素开始曝光的时间的时间差为一个行周期。因此,每一行像素开始曝光的时间都不相同。
可理解,行周期可以由传感器的能力确定。不同传感器的行周期可能不同,所以不同电子设备的行周期也可能不相同。本申请实施例对上述行周期的取值不作限定。
下面介绍确定整帧图像的抖动量和锐度的方法。
电子设备中的相机HAL模块不仅可以从陀螺仪传感器获取抖动信息,还可以获取图像的锐度信息。可理解,抖动信息可以包括陀螺数据(gyro数据)。gyro指的是陀螺仪(gyroscope)。也就是说,抖动信息为陀螺仪传感器获取的数据,例如,抖动信息可以包括陀螺仪传感器发送的电子设备围绕三个轴(即,x,y和z轴)的角速度和/或抖动角度。可理解,gyro数据可以反映电子设备的运动信息。
具体地,电子设备中的相机HAL模块可以对整帧图像进行采样,得到采样图像行。相机HAL模块可以根据整帧图像在曝光期间的gyro数据和光学防抖器件(ois)数据的采样时间,确定rollingshutter到达的采样图像行的位置,从而得到采样图像行在其行曝光期间内的gyro数据和ois数据。然后,相机HAL模块可以根据采样图像行在其行曝光期间内的gyro数据和ois数据,得到采样图像行在其行曝光期间内的位移矢量相机,并对该位移矢量进行积分,得到相应的积分曲线。相机HAL模块可以取该积分曲线上的峰峰值作为采样图像行的抖动量。相机HAL模块可以对所有采样图像行的抖动量做统计平均,得到整帧图像在曝光期间的抖动量。另外,电子设备中的相机HAL模块还可以获取采样图像行的锐度信息,并对采样图像行的锐度信息做统计平均,得到整帧图像的锐度。
在本申请的一些实施例中,若整帧图像的抖动量小于第一阈值,且锐度大于第二阈值,相机HAL模块确定该图像较清楚。
相比于直接获取整帧图像的抖动信息和锐度信息来判断清晰度,上述方式能更准确地判断图像的清晰度。
在本申请的一些实施例中,相机HAL模块可以根据gyro数据所包括的角速度信息得到相应的陀螺位移信息。ois数据可以包括ois位移。相机HAL模块可以将最大陀螺位移与最小ois位移的差值作为采样图像行的抖动量。
在本申请的一些实施例中,采样图像行均匀分布在整帧图像上。
可理解,锐度是反映图像平面清晰度和图像边缘锐利程度的一个指标。锐度调高时,图像平面上的细节对比度也更高。
下面介绍本申请实施例涉及的装置。
图7为本申请实施例提供的一种电子设备的硬件结构示意图。
电子设备可以包括处理器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,显示屏194,以及用户标识模块(Subscriber Identification Module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(Application Processor,AP),调制解调处理器,图形处理器(Graphics Processingunit,GPU),图像信号处理器(即ISP),控制器,存储器,视频编解码器,数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(Neural-networkProcessing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(WirelessLocal Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络),蓝牙(Bluetooth,BT),全球导航卫星系统(Global Navigation Satellite System,GNSS),调频(Frequency Modulation,FM),近距离无线通信技术(Near Field Communication,NFC),红外技术(Infrared,IR)等无线通信的解决方案。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(Liquid Crystal Display,LCD),有机发光二极管(Organic Light-EmittingDiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(Active-MatrixOrganic Light Emitting Diode的,AMOLED),柔性发光二极管(Flex Light-EmittingDiode,FLED),Mini LED,Micro LED,Micro-OLED,量子点发光二极管(Quantum Dot LightEmitting Diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现获取功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像或视频。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(Charge Coupled Device,CCD)或互补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像或视频信号。ISP将数字图像或视频信号输出到DSP加工处理。DSP将数字图像或视频信号转换成标准的RGB,YUV等格式的图像或视频信号。
在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。例如,在一些实施例中,电子设备可以利用N个摄像头193获取多个曝光系数的图像,进而,在后处理中,电子设备可以根据多个曝光参数的图像,通过HDR技术合成HDR图像。
数字信号处理器用于处理数字信号,除了可以处理数字图像或视频信号,还可以处理其他数字信号。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(Moving Picture Experts Group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
传感器模块180可以包括1个或多个传感器,这些传感器可以为相同类型或不同类型。可理解,图7所示的传感器模块180仅为一种示例性的划分方式,还可能有其他划分方式,本申请对此不作限制。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测所述触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
陀螺仪传感器180B可以用于确定电子设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
电子设备的软件结构可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。
图8为本申请实施例提供的一种电子设备的软件结构示意图。
如图8所示,本申请涉及的电子设备的软件框架可以包括应用程序层,应用程序框架层(framework,FWK)、系统库、安卓运行时、硬件抽象层和内核层(kernel)。
其中,应用程序层可以包括一系列应用程序包,例如相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序(也可以称为应用)。其中,相机用于获取图像和视频。关于应用程序层的其他应用,可以参考常规技术中的介绍和说明,本申请不展开说明。在本申请中,电子设备上的应用可以是原生的应用(如在电子设备出厂前,安装操作系统时安装在电子设备中的应用),也可以是第三方应用(如用户通过应用商店下载安装的应用),本申请实施例不予限定。
应用程序框架层为应用程序层的应用程序提供应用编程接口(ApplicationProgramming Interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图8所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话界面形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
运行时(Runtime)包括核心库和虚拟机。Runtime负责系统的调度和管理。
核心库包含两部分:一部分是编程语言(例如,java语言)需要调用的功能函数,另一部分是系统的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的编程文件(例如,java文件)执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(Surface Manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维(2-Dimensional,2D)和三维(3-Dimensional,3D)图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现3D图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
硬件抽象层(HAL)是位于操作系统内核与上层软件之间的接口层,其目的在于将硬件抽象化。硬件抽象层是设备内核驱动的抽象接口,用于实现向更高级别的Java API框架提供访问底层设备的应用编程接口。HAL包含多个库模块,例如相机HAL模块、显示屏、蓝牙、音频等。其中每个库模块都为特定类型的硬件组件实现一个接口。当系统框架层API要求访问便携设备的硬件时,Android操作系统将为该硬件组件加载库模块。
内核层是Android操作系统的基础,Android操作系统最终的功能都是通过内核层完成。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,虚拟卡驱动。
需要说明的是,本申请提供的图8所示的电子设备的软件结构示意图仅作为一种示例,并不限定Android操作系统不同分层中的具体模块划分,具体可以参考常规技术中对Android操作系统软件结构的介绍。另外,本申请提供的拍摄方法还可以基于其他操作系统实现,本申请不再一一举例。
以下实施例以图8所示的电子设备的软件结构为例,对本申请实施例提供的技术方案进行具体阐述。
请参考图9,图9为本申请实施例提供的一种拍摄方法的示意图。
如图9所示,电子设备可以包括相机应用。相机应用的拍摄界面包括快门控件。电子设备可以检测到用户按下快门控件,响应于该按下快门控件操作,电子设备中的相机应用生成提前拍照指令,并通过接口X将该提前拍照指令下发至HAL层。电子设备中的位于HAL层的相机HAL模块接收提前拍照指令后,可以确定当前的3A状态。若当前的3A状态为3A调整状态,说明此时3A算法还未收敛。一旦3A状态处于3A锁定状态,说明此时3A算法已收敛,并且相机HAL模块已经获取并锁定了理想拍摄参数。在这种情况下,相机HAL模块可以进行选帧等操作,并进行后处理。可理解,后处理之后所得的图像即为本次拍照所得的图像。相机HAL模块可以将该图像上传至相机应用。电子设备可以将其保存至图库应用程序中。然后,电子设备中的相机应用可以生成3A取消锁定指令,并将该3A取消锁定指令下发至HAL层。相机HAL模块接收该3A取消锁定指令之后,可以将3A状态调整为3A调整状态。
可理解,上述过程中,相机应用在用户按下快门控件时,就可以下发提前拍照指令来提前触发拍照流程,节省了用户从按下快门控件到放开快门控件之间的时间,以及相机应用与相机HAL模块进行交互的一部分时间。在3A状态处于3A锁定状态的情况下,相机HAL模块可以提前下发变曝光拍摄参数,节省了根据在变曝光拍摄参数前面等待下发的拍摄参数获取图像的时间。并且,提前下发变曝光拍摄参数之后,变曝光帧的生成时间也会提前,变曝光帧的生成时间与从缓存帧队列中选择的N帧图像的生成时间会缩短,更有利于后续融合,从而获得更高质量的图像。再者,相机HAL模块可以根据地址信息来从缓存帧队列中选择图像,无需将其拷贝,节省了拷贝的时间,也节省了计算资源。另外,相机HAL模块还可以根据图像的每一行像素的抖动量和锐度信息来判断该图像的清晰度,这种判断方式更为准确。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种拍摄方法,其特征在于,所述方法包括:
电子设备显示第一界面;所述第一界面包括快门控件;所述第一界面为相机应用的拍照界面;
所述电子设备在检测到按下快门控件操作时,响应于所述按下快门控件操作,生成提前拍照指令;
所述电子设备基于所述提前拍照指令确定当前的3A状态,并在所述当前的3A状态为3A锁定状态的情况下,获取图像帧;所述3A状态用于表示3A算法的执行情况;所述3A锁定状态表明3A算法已收敛。
2.如权利要求1所述的方法,其特征在于,所述生成提前拍照指令之后,所述方法还包括:
所述电子设备通过所述相机应用来基于第一接口将所述提前拍照指令下发至硬件抽象HAL层;所述第一接口为自定义接口。
3.如权利要求2所述的方法,其特征在于,所述获取图像帧,具体包括:
所述电子设备根据第一时间,以及缓存帧队列中的图像的抖动量和锐度,从所述缓存帧队列中选择N帧图像;所述第一时间为所述电子设备检测到所述按下快门控件操作的时间;所述缓存帧队列用于存放所述电子设备通过摄像头采集的图像;所述N帧图像为原始RAW图像;所述N为正整数;
所述电子设备对所述N帧图像进行后处理,得到所述图像帧。
4.如权利要求3所述的方法,其特征在于,所述电子设备对所述N帧图像进行后处理之前,所述方法还包括:
所述电子设备通过所述相机HAL模块在下发待下发拍摄参数之前将所述变曝光拍摄参数下发至所述摄像头,并通过所述摄像头来根据所述变曝光拍摄参数采集一组变曝光帧;所述待下发拍摄参数为所述相机HAL模块在获取所述变曝光拍摄参数之前获取的且还未下发至所述摄像头的拍摄参数;所述变曝光拍摄参数包括所述一组变曝光帧所对应的曝光参数;所述一组变曝光帧中的图像所对应的曝光时间各不相同;
所述电子设备对所述N帧图像进行后处理,包括:
所述电子设备将所述N帧图像和所述一组变曝光帧进行融合。
5.如权利要求3或4所述的方法,其特征在于,所述电子设备对所述N帧图像进行后处理之前,所述方法还包括:
所述电子设备给所述缓存帧队列中的图像添加地址信息;
所述电子设备记录所述N帧图像对应的地址信息,并对所述N帧图像对应的引用计数加1;所述引用计数为对应的图像即将被调用或正在被调用的次数;其中,所述即将被调用或正在被调用的次数不为0的图像在被移出所述缓存帧队列后,不会被清除;
所述电子设备基于所述N帧图像对应的地址信息来获取所述N帧图像。
6.如权利要求4所述的方法,其特征在于,所述一组变曝光帧包括短曝光帧、中曝光帧和长曝光帧;所述短曝光帧对应的曝光时间小于所述中曝光帧对应的曝光时间;所述中曝光帧对应的曝光时间小于所述长曝光帧对应的曝光时间。
7.如权利要求1-6任一项所述的方法,其特征在于,所述电子设备通过所述相机应用生成提前拍照指令之后,所述方法还包括:所述电子设备检测到放开快门操作。
8.如权利要求1-6任一项所述的方法,其特征在于,所述获取图像帧之后,所述方法还包括:
所述电子设备显示第二界面;所述第二界面包括图库快捷控件;所述图库快捷控件显示所述图像帧的缩略图。
9.一种电子设备,包括显示屏、存储器,以及一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求1-8中任一项所述的方法。
10.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1-8中任一项所述的方法。
CN202210190083.XA 2022-02-28 2022-02-28 一种拍摄方法及相关设备 Active CN116723383B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210190083.XA CN116723383B (zh) 2022-02-28 2022-02-28 一种拍摄方法及相关设备
EP22917647.4A EP4262226A1 (en) 2022-02-28 2022-12-29 Photographing method and related device
PCT/CN2022/143188 WO2023160230A1 (zh) 2022-02-28 2022-12-29 一种拍摄方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210190083.XA CN116723383B (zh) 2022-02-28 2022-02-28 一种拍摄方法及相关设备

Publications (2)

Publication Number Publication Date
CN116723383A true CN116723383A (zh) 2023-09-08
CN116723383B CN116723383B (zh) 2024-04-19

Family

ID=87764667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210190083.XA Active CN116723383B (zh) 2022-02-28 2022-02-28 一种拍摄方法及相关设备

Country Status (3)

Country Link
EP (1) EP4262226A1 (zh)
CN (1) CN116723383B (zh)
WO (1) WO2023160230A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117479002A (zh) * 2023-09-15 2024-01-30 荣耀终端有限公司 图像显示方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107509034A (zh) * 2017-09-22 2017-12-22 维沃移动通信有限公司 一种拍摄方法及移动终端
CN108900779A (zh) * 2018-06-28 2018-11-27 努比亚技术有限公司 初始自动曝光收敛方法、移动终端及计算机可读存储介质
CN110213502A (zh) * 2019-06-28 2019-09-06 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN113497879A (zh) * 2020-03-18 2021-10-12 Oppo广东移动通信有限公司 一种拍照补光方法、装置、终端及存储介质
CN113727018A (zh) * 2021-06-24 2021-11-30 荣耀终端有限公司 一种拍摄方法及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI223955B (en) * 2002-11-08 2004-11-11 Nucam Corp Compensating for delay inherent in digital still camera imaging
JP4331087B2 (ja) * 2004-10-28 2009-09-16 富士フイルム株式会社 撮影装置及びその制御方法
JP4591325B2 (ja) * 2005-01-28 2010-12-01 カシオ計算機株式会社 撮像装置及びプログラム
CN109922322B (zh) * 2019-04-10 2021-06-11 Oppo广东移动通信有限公司 拍照方法、图像处理器、拍照装置及电子设备
CN110072061B (zh) * 2019-05-31 2021-02-09 努比亚技术有限公司 一种交互式拍摄方法、移动终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107509034A (zh) * 2017-09-22 2017-12-22 维沃移动通信有限公司 一种拍摄方法及移动终端
CN108900779A (zh) * 2018-06-28 2018-11-27 努比亚技术有限公司 初始自动曝光收敛方法、移动终端及计算机可读存储介质
CN110213502A (zh) * 2019-06-28 2019-09-06 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN113497879A (zh) * 2020-03-18 2021-10-12 Oppo广东移动通信有限公司 一种拍照补光方法、装置、终端及存储介质
CN113727018A (zh) * 2021-06-24 2021-11-30 荣耀终端有限公司 一种拍摄方法及设备

Also Published As

Publication number Publication date
CN116723383B (zh) 2024-04-19
WO2023160230A9 (zh) 2023-10-26
EP4262226A1 (en) 2023-10-18
WO2023160230A1 (zh) 2023-08-31

Similar Documents

Publication Publication Date Title
CN114157804B (zh) 一种长焦拍摄的方法及电子设备
WO2020168956A1 (zh) 一种拍摄月亮的方法和电子设备
US11949978B2 (en) Image content removal method and related apparatus
CN113824873B (zh) 一种图像处理的方法及相关电子设备
CN113709355B (zh) 滑动变焦的拍摄方法及电子设备
CN113630558B (zh) 一种摄像曝光方法及电子设备
CN113329176A (zh) 应用于智能终端的相机的图像处理方法及相关装置
CN115689963B (zh) 一种图像处理方法及电子设备
CN116723383B (zh) 一种拍摄方法及相关设备
WO2023231697A1 (zh) 一种拍摄方法及相关设备
CN116916151A (zh) 拍摄方法、电子设备和存储介质
CN116723382B (zh) 一种拍摄方法及相关设备
CN117560574B (zh) 一种拍摄方法、电子设备和可读存储介质
CN117499779B (zh) 一种图像预览方法、设备以及存储介质
WO2023035868A1 (zh) 拍摄方法及电子设备
CN116055863B (zh) 一种相机的光学图像稳定装置的控制方法及电子设备
WO2024051684A1 (zh) 电压调整方法及相关装置
CN117692753A (zh) 一种拍照方法及电子设备
CN115460343A (zh) 图像处理方法、设备及存储介质
CN113452895A (zh) 一种拍摄方法及设备
CN117956264A (zh) 拍摄方法、电子设备、存储介质和程序产品
CN114125197A (zh) 移动终端及其拍照方法
CN117857915A (zh) 一种拍照方法、拍照装置及电子设备
CN117395496A (zh) 一种拍摄方法及相关设备
CN117692759A (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