CN117692753A - 一种拍照方法及电子设备 - Google Patents
一种拍照方法及电子设备 Download PDFInfo
- Publication number
- CN117692753A CN117692753A CN202311085446.4A CN202311085446A CN117692753A CN 117692753 A CN117692753 A CN 117692753A CN 202311085446 A CN202311085446 A CN 202311085446A CN 117692753 A CN117692753 A CN 117692753A
- Authority
- CN
- China
- Prior art keywords
- image
- time
- frame
- photographing
- electronic device
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012545 processing Methods 0.000 claims description 52
- 239000000872 buffer Substances 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 6
- 238000007499 fusion processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 24
- 230000006870 function Effects 0.000 description 18
- 238000003825 pressing Methods 0.000 description 10
- 230000004927 fusion Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001156002 Anthonomus pomorum Species 0.000 description 1
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011151 fibre-reinforced plastic Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Abstract
本申请提供一种拍照方法及电子设备,该方法可包括:获取与第一时刻关联的P帧候选图像;基于第一时刻和P帧候选图像的拍摄时刻,确定P个时差;基于P个时差,从P帧候选图像中确定参考图像;基于参考图像,确定目标图像;响应于拍摄操作,于预览界面显示目标图像;其中,第一时刻为针对拍摄控件的拍摄操作的起始时刻;P帧候选图像的拍摄时刻与第一时刻之间的时间差在预设时间范围内;P为大于或等于3的整数;P个时差中的时差p为候选图像p的拍摄时刻与第一时刻的时间差,候选图像p为P帧候选图像中的任一帧候选图像。本申请可减少拍照延时,实现所拍即所得。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种拍照方法及电子设备。
背景技术
在传统的拍照方案中,当用户按下快门后,手机等电子设备需要进行一系列配置(例如,对焦、曝光、白平衡等)再进行编码,最终生成照片。由于电子设备需要在检测到用户按下快门后,再进行上述相关配置,不可避免地会造成拍照延时(shutter lag),导致电子设备生成的照片未必是用户按下快门时想要拍摄的图像。例如,在电子设备的每秒传输帧数(frame per second,FPS)为30帧图像的情况下,用户按下快门时对应第1帧图像,而实际生成的照片是第8帧图像。如何减少拍照延时,实现所拍即所得(用户按下快门得到的照片所显示的画面即是按下快门的时刻,用户所见的画面),是技术人员日益关注的问题。
发明内容
本申请实施例提供了一种拍照方法及电子设备,可减少拍照延时,实现所拍即所得。
第一方面,本申请实施例提供了一种拍照方法,该方法可由电子设备执行,或由与电子设备匹配的装置执行,例如由处理器、芯片或芯片系统等执行。该方法可包括:获取与第一时刻关联的P帧候选图像;基于第一时刻和P帧候选图像的拍摄时刻,确定P个时差;基于P个时差,从P帧候选图像中确定参考图像;基于参考图像,确定目标图像;响应于拍摄操作,于预览界面显示目标图像;其中,第一时刻为针对拍摄控件的拍摄操作的起始时刻;P帧候选图像的拍摄时刻与第一时刻之间的时间差在预设时间范围内;P为大于或等于3的整数;P个时差中的时差p为候选图像p的拍摄时刻与第一时刻的时间差,候选图像p为P帧候选图像中的任一帧候选图像。
可见,在拍摄操作的起始时刻开始获取候选图像,有利于减少拍照延时,可缩短从检测到拍摄操作,到在预览界面显示目标图像的时间;获取与第一时刻关联的P帧候选图像可扩大选帧范围,有利于确定出拍摄时刻与第一时刻接近的参考图像,从而可减少拍照延时,实现所拍即所得。
在一种可能的实现方式中,基于P个时差,从P帧候选图像中确定参考图像的方法,可包括:响应于P个时差中包括小于时延阈值的时差,基于P个时差中的最小时差,从P帧候选图像中确定参考图像,参考图像为最小时差对应的候选图像。
可见,选择最小时差对应的参考图像,有利于确定出的参考图像与用户想要拍摄的场景相同,以实现所拍即所得。
在一种可能的实现方式中,上述方法还包括:基于P个时差,从P帧候选图像中确定辅助图像;辅助图像对应的时差大于参考图像对应的时差,且辅助图像对应的时差小于P个时差中,除最小时差之外的其它时差;基于此,上述基于参考图像,确定目标图像的方法,可包括:对参考图像和辅助图像进行融合处理和图像信号处理,得到目标图像。
可见,基于时差,选择出时差小的辅助图像,基于参考图像和辅助图像可实现多帧融合,降低基于辅助图像和参考图像确定的目标图像的拍照延时,有利于实现所拍即所得。
在一种可能的实现方式中,基于P个时差,从P帧候选图像中确定参考图像的方法,可包括:响应于P个时差均大于或等于时延阈值,基于P帧候选图像的清晰度,从P帧候选图像中确定参考图像,参考图像为最大清晰度对应的候选图像。
可见,基于图像的清晰度,将P帧候选图像中清晰度最大的候选图像确定为参考图像,有利于提高目标图像的图像质量。此外,由于P帧候选图像的拍摄时刻在预设时间范围内,从P帧候选图像中确定的参考图像的拍照时延也较小,有利于实现所拍即所得。
在一种可能的实现方式中,上述方法还包括:基于P帧候选图像的清晰度,从P帧候选图像中确定辅助图像,辅助图像的清晰度小于所述最大清晰度,且辅助图像的清晰度大于P帧候选图像中,除参考图像之外的其他候选图像的清晰度;基于此,上述基于参考图像,确定目标图像的方法,可包括:对参考图像和辅助图像进行融合处理和图像信号处理,得到目标图像。
可见,选择清晰度高的辅助图像,基于参考图像和辅助图像可实现多帧融合,有利于提高目标图像的图像质量,可提高目标图像的图像质量。
在一种可能的实现方式中,图像信号处理包括噪声去除处理、黑电平校正处理、自动白平衡处理、颜色校正处理、非线性伽玛校正处理中的一项或多项。
在一种可能的实现方式中,上述方法还可包括:响应于针对相机控件的点击操作,调用摄像头采集从第二时刻到第一时刻的N帧缓存图像;第二时刻为检测到点击操作的时刻;N为大于P的整数;基于此,上述获取与第一时刻关联的P帧候选图像的方法,可包括:从N帧缓存图像中,获取与第一时刻关联的P帧候选图像。
可见,电子设备可调用摄像头生成多帧缓存图像,有利于采集到用户想要拍摄的画面,使得从缓存图像中可确定出合适的参考图像,以实现所拍即所得。
第二方面,本申请实施例提供一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如第一方面或第一方面的任意一种实现方式所述的方法。
第三方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实现方式所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种实现方式所述的方法。
附图说明
图1是本申请实施例提供的一种拍照界面示意图;
图2A是本申请实施例提供的一种拍照方案的流程图;
图2B是本申请实施例提供的另一种拍照方案的流程图;
图3是本申请实施例提供的一种拍照方法的流程示意图;
图4是本申请实施例提供的又一种拍照方案的流程图;
图5是本申请实施例提供的一种电子设备各模块的交互示意图;
图6是本申请实施例提供的一种电子设备的硬件结构示意图;
图7是本申请实施例提供的一种电子设备的软件框架示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先结合应用场景,介绍本申请实施例涉及的一种图像处理方法。
如图1中A所示,电子设备100可以显示主屏幕界面1110,主屏幕界面1110中显示了一个放置有应用图标的页面,该页面包括多个应用图标(例如,天气应用图标、视频应用图标、设置应用图标、相机应用图标1111)。相机应用图标1111用于表示相机应用,电子设备100可检测作用于相机应用图标1111的操作,例如,电子设备可检测到用户单击相机应用图标1111的操作。响应于该操作,电子设备100可以显示如图1中B所示的拍摄界面1120。
如图1中B所示,该拍摄界面1120可以显示包括有摄像头转换控件1121、拍摄控件1122、图像回显控件1123、场景显示区域1124。其中,图像回显控件1123可用于显示已拍摄的图片;拍摄控件1122用于触发摄像头拍摄并保存图像;摄像头转换控件1121可用于切换拍照的摄像头,例如从后置摄像头切换至前置摄像头;场景显示区域1124中可实时显示当前场景的预览图像,如图1中B中显示的山景。当电子设备100检测到用户针对拍摄控件1122的操作(例如单击),电子设备100可调用摄像头进行拍摄,并显示如图1中C所示的拍摄界面1130。如图1中C所示,拍摄界面1130中的图像回显控件1123中,可显示响应于用户针对拍摄控件1122的操作后,拍摄得到的预览照片。如图1中D所示,当电子设备100检测到针对图像回显控件1123的操作,如单击操作,可显示如图1中E所示的照片预览界面1140。如图1中E所示,该照片预览界面1140显示相机应用生成的照片。
电子设备100中的相机应用可支持多种拍摄模式,例如,高动态范围(highdynamic range,HDR)模式(包括高亮顺光场景和高亮逆光场景等)、散焦(Bokeh)模式(也可称为大光圈模式)、人像(portrait)模式、夜景(dark vision)模式。相机应用可自适应地确定当前的拍摄场景所适用的拍摄模式,并使用相应的拍摄模式进行拍摄。
在常用的拍照方案中,主要包括传统拍照方案和零延时(zero shutter lag,ZSL)拍照方案两大类。传统拍照也称为普通拍照、非ZSL拍照。具有拍照功能的电子设备,以智能手机的相机功能为例,相机应用(application,APP)一般可以支持非ZSL和ZSL两种拍照方案。
请参阅图2A,为本申请实施例提供的一种拍照方案的流程图。如图2A所示,坐标横轴表示缓存图像的拍摄时刻,如t0至t11。当用户打开电子设备中的相机应用,相机应用中的摄像头可采集当前的场景画面,并生成缓存图像,并缓存于缓存区(buffer)中。其中,生成的缓存图像是缩略图形式的图像帧。电子设备的显示屏上可显示当前的场景,用户可随时进行拍照。例如,用户可通过点击拍照键或触摸屏幕(如图1中B所示的拍摄界面1120)上显示的拍照图标(如图1中B中所示的拍摄控件1122)等方式,向电子设备发出拍照请求,相应地,当电子设备接收到拍照请求时,相机应用可进行拍照。其中,缓存区可以是双倍速率(doubledata rate,DDR)同步动态随机存储器。图2A中的方框1至方框12可表示多帧缓存图像。其中,图2A中的(a)表示传统拍照方案的流程,图2A中的(b)表示零延时(ZSL)拍照方案的流程。
如图2A中的(a)所示,在传统拍照方案中,电子设备中的相机应用可在接收到用户发出拍照请求的情况下,对传感器及拍照管道流(pipeline,也可称作流程)重新进行硬件初始化,其中可包括参数配置(如进行对焦、设置曝光、设置白平衡等),配置完成后,取出当前时刻生成的最新的一帧缓存图像,并对此缓存图像进行图像处理,如进行JPEG编码,从而生成一张提供给用户查看的照片。示例性的,完成硬件初始化后,当前最新的一帧缓存图像为缓存图像12(此时缓存图像12的图像格式可以为YUV格式),对缓存图像12进行图像处理后,可得到照片(照片的格式可以为JPG格式)。从开始拍照到输出照片所需的时长为总拍照时长①。
在此流程中,在接收到用户发出的拍照请求后才开始进行图像处理,生成照片,且对传感器和流程进行重新配置需要消耗一定的时间,导致用户从按下拍照键到可以查看照片之间有一定的延时,且生成的照片通常不是用户按下拍照键那一刻的图像,而是电子设备接收到拍照请求且做出响应的时刻的图像。在一些所摄场景在变换的情况下,无法让用户所拍即所得。例如,如图2A中的(a)所示,用户按下拍照键时,用户所见的场景应为缓存图像3,而相机应用最终生成的照片是对缓存图像12进行图像处理后的图像。
如图2A中的(b)所示,在零延时拍照方案中,当用户打开相机应用,摄像头开始采集当前的场景画面,生成多帧缓存图像。通常情况下,缓存图像中最新的几帧会作为快照(snapshot)帧存储在缓存区中。最新的几帧可以设置当前时刻之前的某一时刻,至当前时刻的时间范围内生成的几帧(例如,5帧或8帧)缓存图像。当接收到用户发出的拍照请求时,可从缓存区中获取生成时间与拍照请求的接收时间最相近的一帧缓存图像,并进行图像处理,生成可供用户查看的照片。在该过程中,摄像头和快照通道在相机应用启动后同步开始工作,在接收到拍照请求后,可立即对缓存图像进行图像处理,而无需对传感器即拍照管道流重新进行配置,可减少拍照延时,有利于实现用户所拍即所得。例如,如图2A中的(b)所示,用户按下拍照键时,缓存图像3与用户想要拍摄的画面相同,在零延时拍照方案中,电子设备可直接从缓存区中取出缓存图像3(此时为YUV格式),并对缓存图像3进行图像处理,得到JPG格式的图像。从开始拍照到输出照片所需的时长为总拍照时长②。可见,总拍照时长②明显小于总拍照时长①。
其中,用户向电子设备发出拍照请求的过程可通过按下拍照键或触摸拍照图标实现,例如用户可通过点击如图1中B中的拍摄控件1122,向电子设备发出拍照请求。该过程可分为两个步骤,第一个步骤是按下拍照键或触摸拍照图标,可称为按下(click down);第二个步骤是松开拍照键或停止触摸拍照图标,可称为抬起(click up)。于电子设备而言,当电子设备检测到针对拍摄控件1122的点击操作的时刻可称作该操作的起始时刻;该操作有一定的持续时间;当持续时间结束时,电子设备可检测到针对拍摄控件1122的点击操作已结束,该时刻可称作该操作的终止时刻。在一些情况下,用户按下拍照键后,可能会通过长按等操作,取消拍照。因此,在如图2A所示的两种拍照方案中,电子设备接收到用户的拍照请求,并进行拍摄的时刻,是检测到针对拍摄控件1122的点击操作结束的时刻,即终止时刻。
在如图2A中(b)所示的零延时拍照方案中,由电子设备中的硬件抽象层(hardwareabstract layer,HAL)负责基于终止时刻从缓存图像中确定出照片。具体地,相机应用接收到拍照请求后,立刻向HAL发送指示信息,指示信息中包括终止时刻的信息;相应的,HAL接收到指示信息后,可基于终止时刻、相机应用传输数据至HAL的通路耗时等因素,估计出起始时刻,并基于估计出的起始时刻,从缓存区中确定一帧参考图像,并对参考图像进行图像处理,从而生成照片。由于在估计过程中可能存在误差,估计的起始时刻,与真实的clickdown的时刻存在较大的误差,则生成的照片可能不是用户真正想要拍摄的画面。例如,若用户想要拍摄的场景是跳伞中的人、移动的汽车等高速移动的客体,相机应用最终生成的照片与用户想要拍摄的场景可能不是同一时刻的场景。
示例性的,如图2B中所示,相机应用检测到用户在t3时刻按下拍照键(可表示为T1),在t5时刻松开拍照键(可表示为T2),相机应用在检测到T2后,指示电子设备中的硬件抽象层(hardware abstract layer,HAL)从缓存图像中确定照片。由于从相机应用发送数据至HAL存在一定的通路耗时,HAL接收到指示信息的时刻可以是在t5时刻至t6时刻之间,此时,HAL将根据接收到的T2对应的时刻,估算T1对应的时刻,例如,可估算出T1对应的时刻如图2B中的To所示。在此种情况下,HAL可从缓存区中选择与To所示时刻最接近的一帧缓存图像进行图像处理,如选择缓存图像4。而实际上用户想要拍摄的场景应是用户按下拍照键的时刻的场景,如在t3时刻生成的缓存图像3。在此种情况下,拍摄得到的图像与用户真实想拍的场景不同,即没有实现拍照所拍即所得。
为实现用户拍照时可以所拍即所得,本申请实施例在零延时拍照方案的基础上进行改进,提供一种拍照方法,可尽可能地实现拍照所拍即所得,并缩短从用户确定拍照到可查看照片的时间。
下面,结合图3,对本申请实施例提供的拍照方法的具体流程进行说明。如图3所示,拍照方法可包括但不限于以下步骤:
S301,显示包括相机应用控件的主屏幕界面,响应于针对相机应用控件的点击操作,启动相机应用,并显示包括拍摄控件的拍摄界面。
针对相机应用控件的点击操作用于指示启动相机应用。相机应用控件是显示在电子设备上的控件,用于表示相机应用;相机应用为电子设备中具有拍照功能的应用程序;此点击操作是指对相机应用控件进行点击的操作。其中,主屏幕界面可以是如图1中A所示的主屏幕界面1110,相机应用控件可以是主屏幕界面1110中的相机应用图标1111,则针对相机应用控件的第一操作可以是点击相机应用图标1111;拍摄界面可以是如图1中B所示的拍摄界面1120。
相机应用启动后,可调用摄像头,实时地采集画面,生成多帧缓存图像,如生成N帧缓存图像,N为大于0的整数。其中,电子设备检测到针对相机应用控件的点击操作的时刻可称作第二时刻。相机应用在启动后可保持一定的帧率(frames per second,FPS)生成缓存图像,直到相机应用关闭。假设相机应用生成缓存图像的FPS为30FPS,则相机应用可每33毫秒(millisecond,ms)生成一帧缓存图像,在相机应用启动后的一秒内,可生成30帧缓存图像。相机应用生成的缓存图像可缓存与电子设备中的缓存区(buffer)中。
S302,响应于针对拍摄控件的拍摄操作,获取与第一时刻关联的P帧候选图像,第一时刻为拍摄操作的起始时刻。
电子设备可实时检测针对拍摄控件的拍摄操作。其中,拍摄操作可以是针对拍摄控件的单击或触摸等操作。拍摄控件可以是如图1中B所示的拍摄界面1120中的拍摄控件1122。示例性的,如图1中B所示,拍摄操作可以是针对拍摄控件1122的操作,例如单击拍摄控件1122。电子设备检测到拍摄操作的起始时刻可记为第一时刻;拍摄操作有一定的持续时间,电子设备检测到拍摄操作的持续时间结束的时刻可记为终止时刻。
P帧候选图像是从相机应用生成的N帧缓存图像中确定的缓存图像,P为大于或等于3,且小于的整数。其中,N帧缓存图像可以是电子设备中的摄像头采集的从第二时刻到第一时刻的缓存图像。任一候选图像对应的拍摄时刻是指生成此帧候选图像的精确到毫秒的时间信息,例如10点12分36秒123毫秒。P帧候选图像中任一候选图像对应的拍摄时刻在预设时间范围内。其中,预设时间范围是基于第一时刻(可表示为t1)确定的,用于表示与第一时刻十分接近的时间范围。示例性的,预设时间范围可以表示为[t1-Δt,t1],或者,还可以表示为[t1-Δt1,t1+Δt2]。其中,Δt、Δt1、Δt2表示电子设备设置的时间间隔,单位为毫秒。电子设备可根据不同的应用场景需求,设定不同的预设时间范围。示例性的,假设预设时差为66ms,第一时刻表示为t=t1,预设时刻可表示为t=t1-66,则任一候选图像的拍摄时刻应包含于区间[t1-66,t1]。可选的,假设一帧缓存图像对应的拍摄时刻为t=t1+5,即该缓存图像的生成时间与第一时刻十分相近,则此帧缓存图像也可作为候选图像。
通常情况下,可令P=3。选取3帧缓存图像作为候选图像,可在一定程度上扩大选帧范围,有利于确定出最接近用户想要拍摄的画面的图像。示例性的,假设相机应用的帧率为30FPS,相机应用启动的时间为10点12分36秒0毫秒,第一时刻为10点12分36秒132毫秒,则电子设备可根据第一时刻,选取距离132毫秒最近的3帧缓存图像为候选图像,则选取的3帧候选图像分别对应的毫秒时间为66毫秒、99毫秒和133毫秒。
需要说明的是,在相机应用检测到拍摄操作的起始时刻,可立即指示硬件抽象层(HAL)响应拍摄操作。由于从相机应用传输数据至硬件抽象层存在一定的通路耗时,通常情况下,硬件抽象层实际响应拍摄操作的时刻会比第一时刻略晚几毫秒。例如,如图2B所示,相机应用记录的T2时刻与硬件抽象层中的T2时刻之间存在较小的时延。因此,在上述例子中,第一时刻对应132毫秒,硬件抽象层响应拍摄操作的时刻可能对应135毫秒,在确定候选图像时,可选取133毫秒对应的缓存图像为其中一帧候选图像。
S303,基于第一时刻和P帧候选图像的拍摄时刻,得到P个时差。
其中,P帧候选图像的拍摄时刻共包括P个拍摄时刻,即包括P帧候选图像中,每一帧候选图像的拍摄时刻;得到的P个时差,包括P帧候选图像中,每帧候选图像的时差。
具体的,可依次确定P帧候选图像中的第i候选图像对应的第i时差;第i时差为第i候选图像对应的拍摄时刻与第一时刻之间的时间差。基于第i时差,可得到P帧候选图像对应的P个时差,其中,第i候选图像对应P个时差中的第i时差。其中,i为大于0且小于或等于N的整数。示例性的,假设第一时刻表示为tc,P帧候选图像中,第i缓存图像对应的拍摄时刻表示为ti,则第i时差可通过tc与ti之间的差值的绝对值来表示,例如,可表示为|ti-tc|。其中,第i时差可用于表示从拍照触发时刻到生成第i帧候选图像的拍照时延(shutter lag),第i时差越小,表示第i候选图像与用户真实想要拍摄的场景越接近。
S304,判断P个时差中,是否包括小于时延阈值的时差,若包括小于时延阈值的时差,则执行S305,否则执行S306。
其中,时延阈值用于表示电子设备或用户可接受的最大的shutter lag,例如,可以将时延阈值设置为15ms。在此种情况下,若一帧缓存图像对应的拍摄时刻小于时延阈值,可表示此帧缓存图像的shutter lag在可接受范围内,此帧缓存图像的图像内容与用户想要拍摄的场景相同或几乎相同。若一帧缓存图像对应的拍摄时刻大于或等于时延阈值,可表示此帧缓存图像的图像内容与用户想要拍摄的场景可能存在较大差距。
S305,将P个时差中的最小时差对应的候选图像确定为参考图像。
其中,在确定P个时差后,可将P个时差按照从小到大的顺序进行排序,得到排序结果。最小时差为排序结果中排序在第一位的时差。最小时差对应的候选图像可以是P帧候选图像中,与用户想要拍摄的场景最相近的图像,或者,可以是与用户想要拍摄的场景相同的图像。
示例性的,如图4中所示,用户在t3时刻按下拍照键(可表示为T1),在t5时刻松开拍照键(可表示为T2),相机应用在检测到T1后,向电子设备中的HAL发送拍照指令,由于相机应用到HAL的通路耗时,HAL接收到拍照指令的时刻可以是在t3时刻至t4时刻之间,此时,可从缓存区中确定参考图像,例如,参考图像可以是候选图像3。在此种情况下,可以帮助用户实现拍照所拍即所得。
在一种可能的实现方式中,若最小时差对应的候选图像的帧数大于1,例如,最小时差对应两帧候选图像,则可以将此两帧候选图像中,清晰度最高的一帧候选图像确定为参考图像。可选的,若两帧候选图像的清晰度也相同,则电子设备可随机选取一帧候选图像作为参考图像。其中,清晰度是衡量图像质量优劣的重要指标,清晰度越高,图像质量越好。清晰度能够较好的与人的主观感受相对应,例如,图像清晰度低,用户可直观感受到图像的模糊。示例性的,可通过梯度函数确定每一帧候选图像的清晰度,例如,Brenner梯度函数、Tenengrad梯度函数等。
S306,将P帧候选图像中,清晰度最高的候选图像确定为参考图像。
当P帧候选图像对应的时差均大于或等于时延阈值时,可以通过候选图像的清晰度来确定参考图像。其中,在执行S306前,可确定P帧候选图像中,每帧候选图像的清晰度。可选的,还可在生成缓存图像的过程中,每生成一帧缓存图像,就确定该缓存图像的清晰度。
在一种可能的实现方式中,若P帧候选图像中,清晰度最高的候选图像的帧数大于1,例如,有两帧候选图像的清晰度相同,且为P帧候选图像中清晰度最高的候选图像,则可以选择两帧候选图像中最小时差对应的候选图像作为参考图像。可选的,若两帧候选图像的清晰度相同,时差也相同,则电子设备可随机选择一帧作为参考图像。
S307,基于参考图像,确定目标图像。
具体的,电子设备可从缓存区中取出参考图像的图像数据,并对参考图像进行图像处理,如进行JPEG编码,从而可得到目标图像。其中,缓存区中的目标图像是缩略图形式的图像,其图像格式可以是YUV格式;目标图像的图像格式可以是JPG格式。
其中,当相机应用启动时,摄像头和快照通道同步开始工作,在检测到针对拍摄控件的拍摄操作后,可立即确定出目标图像,提高确定目标图像的效率,而无需对传感器即拍照管道流重新进行配置,可减少拍照延时,有利于实现用户所拍即所得。
在一种可能的实现方式中,在电子设备需进行多帧融合的情况下,可选的,若P个时差中包括小于时延阈值的时差,可基于P个时差,从P帧候选图像中确定候选图像,该候选图像对应的时差大于最小时差,且小于P帧候选图像中除参考图像以外的其他候选图像对应的时差。可选的,若P个时差中的每个时差均大于或等于时延阈值,可从P帧候选图像中确定辅助图像,辅助图像的清晰度小于参考图像的清晰度,且大于P帧候选图像中除参考图像以外的候选图像的清晰度。进一步地,对参考图像和候选图像进行融合处理以及图像信号处理,可得到目标图像。其中,电子设备可根据实际的应用场景自适应选择是否需要进行多帧融合,例如,当相机应用的拍照模式为HDR模式,电子设备将进行多帧融合。
S308,在预览界面显示目标图像。
电子设备响应于拍摄操作,在确定出目标图像后,可在预览界面显示目标图像。其中,预览界面可以是如图1中E所示的照片预览界面1140。可选的,预览界面还可以是如图1中C所示的图像回显控件1123,当电子设备检测到针对图像回显控件1123的点击操作,如单击时,可在照片预览界面1140中显示目标图像。
在一种可能的实现方式中,在确定目标图像后,电子设备再次检测到针对拍摄控件的第一操作,例如再次检测到针对如图1中B所示的拍摄控件1122的单击操作,则此时可执行S302。在此种情况下,获取的P帧候选图像与第三时刻关联。其中,第三时刻是第一操作的起始时刻。
在一种可能的实现方式中,响应于来自用户的第二操作,可删除缓存区中缓存的N帧缓存图像,可选的,还可删除确定的目标图像。其中,第二操作用于指示相机应用取消拍照。示例性的,第二操作可以是用户长按如图1中B所示的拍摄控件1122并右滑或左滑到不属于拍摄控件1122的区域,如图1中B中的空白区域。
可见,通过本申请实施例,电子设备可在拍摄操作的起始时刻,立刻开始从缓存图像中确定候选图像,并进一步地从候选图像中确定与真实场景接近的目标图像,从而可快速地生成照片,缩短从用户点击拍照到用户可在预览界面中查看目标图像的所需的时间,从而实现低延时拍照和拍照所拍即所得。
上述图3实施例对电子设备进行拍照的流程进行了说明,下面结合图5,对上述图3实施例中,电子设备各模块交互的流程图进行说明。请参见图5,图5是本申请实施例提供的一种电子设备各模块交互流程图,在电子设备进行拍照的过程中,电子设备内各模块的交互流程如下:
S501,相机应用接收启动指示信息,并向摄像头发送调用指示信息。相应地,摄像头接收调用指示信息。
电子设备可响应于针对主屏幕界面中相机应用控件的点击操作,显示包括拍摄控件的拍摄界面,并向相机应用发送启动指示信息,启动指示信息用于指示相机应用启动。调用指示信息用于调用摄像头进行拍摄。
其中,主屏幕界面可以是如图1中A所示的主屏幕界面1110,相机应用可以是主屏幕界面1110中显示的相机应用。相机应用启动后,可显示拍摄界面,如图1中B所示的拍摄界面1120。拍摄界面包括拍摄控件,拍摄控件可以是如图1中B所示的拍摄控件1122。
相机应用启动,可触发摄像头启动。可选的,还可触发图像处理模块启动。图像处理模块启动后可将对焦、曝光、白平衡等参数设置完成,等待对参考图像进行图像处理,以生成目标图像。
具体地,电子设备启动相机应用的过程可参阅如图3所示的S301,此处不再赘述。
S502,摄像头采集图像,生成N帧缓存图像,并将N帧缓存图像缓存至缓存区。
具体地,摄像头可采集从相机应用启动的时刻(可称作第二时刻)开始,至第一时刻结束的N帧缓存图像,并将N帧缓存图像存储在缓存区中。
其中,摄像头可以是电子设备的前置摄像头,也可以是电子设备的后置摄像头,用户还可点击如图1中B中所示的摄像头转换控件1121,在前置摄像头和后置摄像头之间进行切换。生成缓存图像的相关叙述可参见S301。
需要说明的是,相机应用启动后,摄像头将按照一定的帧率持续地生成缓存图像,并将缓存图像存储在缓存区中,直到相机应用关闭。由于电子设备的缓存区存储空间有限,当缓存区内存储的缓存图像的数量超过了其上限阈值时,电子设备会从缓存区中最先存储的缓存图像开始进行清除,以保证缓存区能够缓存最新的缓存图像。示例性的,假设缓存区存储缓存图像的最大数量为20帧,且缓存区已依次存储第1帧图像至第20帧图像。如果要将第21帧图像存储在缓存区中,则在存储第21帧图像前,缓存区将删除最先存储的第1帧图像,为第21帧图像预留存储空间。当删除第1帧图像后,再将第21帧图像进行缓存。
S503,相机应用接收与第一时刻关联的拍摄指示信息,并向图像处理模块发送处理指示信息。相应地,图像处理模块接收处理指示信息。
电子设备响应于针对拍摄控件的拍摄操作,在拍摄操作的起始时刻,可生成拍摄指示信息,并向相机应用发送拍摄指示信息。其中,拍摄操作的起始时刻可称作第一时刻。相机应用在接收到拍摄指示信息后,可立刻向图像处理模块发送处理指示信息,图像处理指示信息中可包括第一时刻的信息,用于指示图像处理模块基于第一时刻确定目标图像。
示例性的,如图1中B所示,拍摄操作可以是针对拍摄控件1122的操作,例如单击拍摄控件1122。
具体地,关于第一时刻的详细描述可参阅如图3所示的S302。
S504,图像处理模块从缓存区获取与第一时刻关联的P帧候选图像。
其中,P帧候选图像中任一帧候选图像对应的拍摄时刻在预设时间范围内,且预设时间范围是基于第一时刻确定的。
图像处理模块可以是前文所述的硬件抽象层中与相机应用对应的模块。具体地,获取P帧候选图像的步骤可参阅S302中的表述。
S505,图像处理模块基于第一时刻和P帧候选图像,确定参考图像。
其中,图像处理模块可确定P帧候选图像中,每帧候选图像的时差,得到P个时差。具体地,确定P个时差的具体步骤可参阅S303中的叙述。
若P个时差中包括目标时差,则将P个时差中的最小时差对应的候选图像,确定为参考图像。目标时差是指小于时延阈值的时差。其中,确定参考图像的具体实现步骤可参阅S305。
若P个时差中不包括目标时差,则将P帧候选图像中,清晰度最高的候选图像确定为参考图像。其中,确定参考图像的具体实现步骤可参阅S306。
S506,图像处理模块基于参考图像,确定目标图像。
具体地,确定目标图像的实现过程可参阅S307。
S507,图像处理模块将目标图像传输至显示屏。相应地,显示屏显示目标图像。
示例性的,当确定目标图像后,可在如图1中C所示的图像回显控件1123中显示目标图像的预览图像。当电子设备检测到针对图像回显控件1123的点击操作,如单击时,可显示照片预览界面1140,照片预览界面1140包括目标图像。
请参阅图6,图6为本申请实施例提供的一种电子设备100的硬件结构示意图。
请参阅图6,图6是本申请实施例提供的电子设备100的结构示意图。应该理解的是,电子设备100可以具有比图6中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图6中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器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等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图6所示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图6所示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器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)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100通过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),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。在本申请实施例中,显示屏194可用于显示如图1中A所示的主屏幕界面,包括拍摄控件的拍摄界面,以及目标图像。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。在本申请实施例中,摄像头193可通捕获静态图像,生成多帧缓存图像。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将压缩后的驱动文件等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用(比如人脸识别功能,指纹识别功能、移动支付功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如人脸信息模板数据,指纹信息模板等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。在本申请实施例中,内部存储器121可包括缓存区(buffer)。缓存区可用于缓存摄像头193生成的缓存图像。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,在拍摄场景下,电子设备100可以利用距离传感器180F测距以实现快速对焦。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。在本申请实施例中,触摸传感器180K与显示屏194组成的触摸屏用于检测针对拍摄控件的触摸操作,并将检测到的触摸操作传递给相机应用中的应用处理器,以确定此触摸操作为拍摄操作中的起始动作。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
在本申请实施例中,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)系统为例,示例性说明电子设备100的软件结构。
如图7所示,该电子设备可包括:应用程序层、应用程序框架层、系统运行库层、硬件抽象层(hardware abstraction layer,HAL)及内核(kernel)层。其中:
应用程序层可以包括一系列应用程序包。如图7所示,应用程序包可以包括相机应用,日历,地图,图库,音乐应用,短信息,通话等应用程序。可选的,应用程序包还可包括导航,WLAN,蓝牙,视频等应用程序。应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图7所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。又例如,显示界面可用于显示位于应用程序层的相机应用的图像。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
系统运行库层分为两部分,分别是C/C++程序库和Android运行时库。C/C++程序库主要包括浏览器引擎(Webkit)、多媒体库(media framework)、嵌入式数据库(SQLite)、C系统函数库(Libc)、字体引擎(FreeType)等。Android运行时库主要包括运行时环境(Androidrontime,ART)和核心库(core libraries)。
硬件抽象层用于把应用程序框架层与内核层隔离,避免安卓系统过度依赖内核层,从而让应用程序框架层的开发可在不考虑驱动程序的前提下进行。硬件抽象层可以包括多个功能模块。例如,相机模块(即图像处理模块)、GPS模块、传感器(sensors)模块等模块。
在本申请实施例中,图像处理模块可用于确定缓存图像的时差,还可从多帧缓存图像中确定候选图像,并从候选图像中确定参考图像,以及可以对参考图像进行图像处理,得到目标图像。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,共享内存驱动。
在本申请实施例中,摄像头驱动用于当接收到位于应用程序层的相机应用发送的触发命令时,触发摄像头开启。摄像头驱动还用于调用摄像头进行拍摄,生成多帧缓存图像。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid statedisk)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本申请技术方案的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种拍照方法,其特征在于,所述方法包括:
获取与第一时刻关联的P帧候选图像;所述第一时刻为针对拍摄控件的拍摄操作的起始时刻;所述P帧候选图像的拍摄时刻与所述第一时刻之间的时间差在预设时间范围内;P为大于或等于3的整数;
基于所述第一时刻和所述P帧候选图像的拍摄时刻,确定P个时差;所述P个时差中的时差p为候选图像p的拍摄时刻与所述第一时刻的时间差,所述候选图像p为所述P帧候选图像中的任一帧候选图像;
基于所述P个时差,从所述P帧候选图像中确定参考图像;
基于所述参考图像,确定目标图像;
响应于所述拍摄操作,于预览界面显示所述目标图像。
2.根据权利要求1所述的方法,其特征在于,所述基于所述P个时差,从所述P帧候选图像中确定参考图像,包括:
响应于所述P个时差中包括小于时延阈值的时差,基于所述P个时差中的最小时差,从所述P帧候选图像中确定参考图像,所述参考图像为所述最小时差对应的候选图像。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于所述P个时差,从所述P帧候选图像中确定辅助图像;所述辅助图像对应的时差大于所述参考图像对应的时差,且所述辅助图像对应的时差小于所述P个时差中,除所述最小时差之外的其它时差;
所述基于所述参考图像,确定目标图像,包括:
对所述参考图像和所述辅助图像进行融合处理和图像信号处理,得到目标图像。
4.根据权利要求1所述的方法,其特征在于,所述基于所述P个时差,从所述P帧候选图像中确定参考图像,包括:
响应于所述P个时差均大于或等于时延阈值,基于所述P帧候选图像的清晰度,从所述P帧候选图像中确定参考图像,所述参考图像为最大清晰度对应的候选图像。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于所述P帧候选图像的清晰度,从所述P帧候选图像中确定辅助图像,所述辅助图像的清晰度小于所述最大清晰度,且所述辅助图像的清晰度大于所述P帧候选图像中,除所述参考图像之外的其他候选图像的清晰度;
所述基于所述参考图像,确定目标图像,包括:
对所述参考图像和所述辅助图像进行融合处理和图像信号处理,得到目标图像。
6.根据权利要求3或4所述的方法,其特征在于,所述图像信号处理包括噪声去除处理、黑电平校正处理、自动白平衡处理、颜色校正处理、非线性伽玛校正处理中的一项或多项。
7.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
响应于针对相机控件的点击操作,调用摄像头采集从第二时刻到所述第一时刻的N帧缓存图像;所述第二时刻为检测到所述点击操作的时刻;N为大于P的整数;
所述获取与第一时刻关联的P帧候选图像,包括:
从所述N帧缓存图像中,获取与第一时刻关联的P帧候选图像。
8.一种电子设备,其特征在于,包括:存储器、处理器;其中:
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述程序指令,使得所述电子设备执行如权利要求1-7任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-7任意一项所述的方法。
10.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311085446.4A CN117692753A (zh) | 2023-08-25 | 2023-08-25 | 一种拍照方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311085446.4A CN117692753A (zh) | 2023-08-25 | 2023-08-25 | 一种拍照方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692753A true CN117692753A (zh) | 2024-03-12 |
Family
ID=90127263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311085446.4A Pending CN117692753A (zh) | 2023-08-25 | 2023-08-25 | 一种拍照方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692753A (zh) |
-
2023
- 2023-08-25 CN CN202311085446.4A patent/CN117692753A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021147482A1 (zh) | 一种长焦拍摄的方法及电子设备 | |
CN111526314B (zh) | 视频拍摄方法及电子设备 | |
CN113824873B (zh) | 一种图像处理的方法及相关电子设备 | |
CN112887583A (zh) | 一种拍摄方法及电子设备 | |
CN113099146B (zh) | 一种视频生成方法、装置及相关设备 | |
WO2023035921A1 (zh) | 一种录像中抓拍图像的方法及电子设备 | |
WO2024055797A1 (zh) | 一种录像中抓拍图像的方法及电子设备 | |
CN113536866A (zh) | 一种人物追踪显示方法和电子设备 | |
WO2022083325A1 (zh) | 拍照预览方法、电子设备以及存储介质 | |
CN116055868B (zh) | 一种拍摄方法及相关设备 | |
CN117692753A (zh) | 一种拍照方法及电子设备 | |
CN115967851A (zh) | 快速拍照方法、电子设备及计算机可读存储介质 | |
CN116723382B (zh) | 一种拍摄方法及相关设备 | |
CN116723383B (zh) | 一种拍摄方法及相关设备 | |
CN116723418B (zh) | 拍照方法和相关装置 | |
CN116055863B (zh) | 一种相机的光学图像稳定装置的控制方法及电子设备 | |
CN117389745B (zh) | 一种数据处理方法、电子设备及存储介质 | |
CN116744106B (zh) | 相机应用的控制方法和终端设备 | |
WO2023035868A1 (zh) | 拍摄方法及电子设备 | |
CN117119285A (zh) | 一种拍摄方法 | |
CN117857915A (zh) | 一种拍照方法、拍照装置及电子设备 | |
CN117156293A (zh) | 拍照方法和相关装置 | |
CN117956264A (zh) | 拍摄方法、电子设备、存储介质和程序产品 | |
CN117135447A (zh) | 拍照处理方法和电子设备 | |
CN117119284A (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 |