掌桥专利:专业的专利平台
掌桥专利
首页

一种拍摄方法

文献发布时间:2024-04-18 19:58:21


一种拍摄方法

技术领域

本申请涉及终端领域,尤其涉及一种拍摄方法。

背景技术

在拍摄过程中,由于人的反应时延以及电子设备的传输时延等问题,用户往往难以拍得符合预期的精彩照片。这极大地降低了用户的拍摄体验。

发明内容

本申请提供了一种拍摄方法。实施该拍摄方法,电子设备100可从包含拍摄操作时刻在内的一段时间内图像中确定出最精彩的图像,然后输出为照片,体现了用户抓拍的主动性,又保证了最后输出的照片的效果和质量,为用户带来更好的拍摄体验。

第一方面,本申请提供了一种拍摄方法,该方法应用于电子设备,电子设备包括摄像头,该方法包括:开启相机应用程序;在T1时刻,显示预览界面,预览界面包括预览区域和缩略图区域,预览区域显示摄像头实时采集的图像;在T2时刻检测到拍摄操作;响应于拍摄操作,缩略图区域显示第一照片的缩略图,第一照片根据第一图像得到,第一图像为T1时刻之后且T2时刻之前摄像头采集的图像;响应于拍摄操作,缩略图区域显示第二照片的缩略图,第二照片根据第二图像得到,第二图像为T2时刻之后且不包括T2时刻摄像头采集的图像。

实施第一方面提供的方法,在检测到拍摄操作时,电子设备可首先根据拍摄操作之前的一帧图像生成一张照片和缩略图,作为用户拍摄操作得到的照片和缩略图。然后,电子设备可继续获取拍摄操作之后的图像,并根据拍摄操作之后的一帧图像生成一张照片和缩略图,更新用户拍摄操作得到的照片和缩略图。这样,用户可以获得一种不一样的拍摄体验。

结合第一方面提供的方法,在一些实施例中,缩略图区域显示第二照片的缩略图之前,方法还包括:检测到对于第一照片的缩略图的第一操作;响应于第一操作,显示第二界面,第二界面包括第三区域,第三区域中显示有第一照片;在第三区域中将显示的第一照片替换为第二照片。

实施上述实施例提供的方法,在根据拍摄操作之前的一帧图像生成一张照片和缩略图,且检测到用户浏览上述照片的用户操作之后,电子设备可以在浏览已拍得照片的过程中,更新已拍得照片。

结合第一方面提供的方法,在一些实施例中,该方法还包括:开启图库应用程序,显示第三界面,第三界面显示有一张或多张图像,一张或多张图像包括第二照片的预览小图,不包括第一照片的预览小图。

实施上述实施例提供的方法,电子设备可仅保存最终拍得的照片,例如上述第二照片,减少存储资源浪费。用户在图库浏览时也只显示最终拍得的照片。

结合第一方面提供的方法,在一些实施例中,预览界面中还包括第二控件,方法还包括:检测到作用于第二控件的用户操作,开启手动抓拍功能。

实施上述实施例提供的方法,电子设备可以设置特性开关,例如上述第二控件,用于控制开启手动抓拍。当用户有手动抓拍需求时,电子设备可根据作用于特性开关的操作,开启手动抓拍,然后执行后续识别精彩图像、拍摄并保存精彩图像的操作。这样,电子设备可以节省功耗。

结合第一方面提供的方法,在一些实施例中,第一图像为T1时刻之后且T2时刻之前摄像头采集的综合评分最高的一帧图像,图像的综合评分由以下一项或多项确定:第一对象的数量、大小和/或位置、第一动作的完成度、人脸数量、大小和/或位置、人脸微笑程度、人脸睁眼程度、清晰度、或曝光度;第二图像为T2时刻之后且不包括T2时刻摄像头采集的综合评分最高的一帧图像,第二图像的综合评分高于第一图像的综合评分。

实施上述实施例提供的方法,电子设备可以通过上述下一项或多项确定拍摄操作之前一段时间内的最佳帧和拍摄操作之后一段时间内的最佳帧。在检查到拍摄操作时,电子设备可首先根据拍摄操作之前的最佳帧生成一张照片和缩略图,作为用户拍摄操作得到的照片和缩略图。然后,电子设备可继续获取拍摄操作之后的图像,并根据拍摄操作之后的最佳帧生成一张照片和缩略图,更新用户拍摄操作得到的照片和缩略图。

这样,电子设备既可以在拍摄操作发生时,及时地根据以确定的最佳帧生成一张精彩照片,又可以在往后检测到更精彩的图像后,更新已拍得的照片,使用户最终拍得照片更精彩。

结合第一方面提供的方法,在一些实施例中,第二图像的综合评分高于第一图像的综合评分,且第二图像的综合评分与第一图像的综合评分的差值高于第一预设值。

实施上述实施例提供的方法,电子设备100可以更侧重拍摄操作之前图像,从而使最终拍得照片更符合用户的拍摄意图。只有当拍摄操作之后的最佳帧远比拍摄操作之前的最佳帧更精彩时,电子设备100才将拍得的照片更新为拍摄操作之后的最佳帧。

结合第一方面提供的方法,在一些实施例中,在T2时刻检测到拍摄操作之前,该方法还包括:从T3时刻至T4时刻摄像头采集的图像中选出综合评分最高的第一最佳帧;T3时刻、T4时刻在T1时刻之后、T2时刻之前,T3时刻、T4时刻是在T1时刻之后,根据固定步长的时间窗口确定的;响应于拍摄操作,缩略图区域显示第一照片的缩略图,第一照片根据第一图像得到,具体包括:响应于拍摄操作,从T4时刻至T2时刻摄像头采集的图像中选出综合评分最高的第二最佳帧;从第一最佳帧和第二最佳帧确定出综合评分更高的作为第一候选帧;第一图像为第一候选帧。

实施上述实施例提供的方法,电子设备可以在进入相机应用之后(在开启手动抓拍的场景下),按固定步长的时间窗口进行对摄像头采集的图像进行评价,决策出各个窗口的最佳帧。在检测到拍摄操作之后,根据当前窗口已有的图像决策出另一最佳帧,然后从最近的两个最佳中选择出更好的作为第一候选帧。然后,电子设备可将拍摄操作之前表现最好的第一候选帧输出,例如第一图像,输出为照片,作为临时的根据用户手动拍摄操作拍摄的照片。

实施上述实施例提供的方法,电子设备可以在检测到拍摄操作之后,立马确定出拍摄操作之前表现最好的图像,从而尽快得到临时照片和缩略图,给用户更及时的拍摄反馈。

结合第一方面提供的方法,在一些实施例中,响应于拍摄操作,缩略图区域显示第二照片的缩略图,第二照片根据第二图像得到,具体包括:从T2时刻至T5时刻摄像头采集的图像中选出综合评分最高的第二候选帧;确定第二候选帧的综合评分高于第一候选帧,第二图像为第二候选帧。

实施上述实施例提供的方法,电子设备可以继续获取拍摄操作之后一段时间内的图像,并按照同样的方法确定出拍摄操作之后一段时间内的最佳帧,即第二候选帧。然后,电子设备可从拍摄操作之前的第一候选帧和拍摄操作之后的第二候选帧中选出更精彩的图像作为用户拍摄操作最终拍得的照片。这样既体现了用户抓拍的主动性,又保证了最后输出的照片的效果和质量,能够为用户带来更好的拍摄体验。

结合第一方面提供的方法,在一些实施例中,T2时刻至T5时刻对应的时间长度与T3时刻至T4时刻应的时间长度相同,或不同。

结合第一方面提供的方法,在一些实施例中,响应于拍摄操作,缩略图区域显示第一照片的缩略图之前,该方法还包括:确定第三图像包括第一对象,第三图像为电子设备检测到拍摄操作时预览区域中显示的图像。

实施上述实施例提供的方法,电子设备可以首先根据拍摄操作发生时刻的图像,确定的目标拍摄场景是否预设的包括特定对象的典型场景。当拍摄操作发生时刻的图像包括特定对象时,即拍摄操作发生时刻的图像为典型场景下的图像时,电子设备可按照第一方面及上述第一方面的任一实施例提供的方法,进行拍摄输出。

结合第一方面提供的方法,在一些实施例中,该方法还包括:当第三图像不包括第一对象时,在缩略图区域显示第四照片的缩略图,第四照片根据第四图像得到,第四图像为距离第三图像最近的收敛图像,收敛图像包括满足一下一项或多项:自动对焦收敛、自动曝光收敛或自动白平衡收敛。

实施上述实施例提供的方法,当拍摄操作发生时刻的图像不包括特定对象时,即非典型场景下的图像时,电子设备无需关心图像内容,以更小的成本获取图像质量较高的收敛图像即可,从而保证拍得照片的及时性,同时也降低计算成本,节省功耗。

结合第一方面提供的方法,在一些实施例中,第一照片根据第一图像得到,具体包括:获取摄像头采集的包括第一图像在内的前后多帧图像;将多帧图像融合以为一帧新的图像,第一照片是根据新的图像得到的。

实施上述实施例提供的方法,电子设备可以结合最佳帧附近的其他图像(多帧融合),对精彩图像进行处理,进一步提升精彩图像的质量,例如色彩、亮度、饱和度等等。

结合第一方面提供的方法,在一些实施例中,获取摄像头采集的包括第一图像在内的前后多帧图像之前,方法还包括:启动第一拍摄模式。

实施上述实施例提供的方法,电子设备可以根据拍摄模式确定是否需要进行多帧融合。在一些特定拍摄模式下,电子设备可以通过上述多帧融合,为最后输出的照片的质量带来较大的提升。在另一个场景下,多帧融合带来的质量的提升不明显,这时,电子设备可不进行多帧融合,以节省资源、降低功耗。

结合第一方面提供的方法,在一些实施例中,第一拍摄模式为夜景模式。

实施上述实施例提供的方法,当使用夜景模式进行拍摄时,电子设备可以执行多帧融合,以为最后输出的照片的质量带来较大的提升。

第二方面,本申请提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

第三方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

第四方面,本申请提供一种计算机可读存储介质,包括指令,当上述指令在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

第五方面,本申请提供一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

可以理解地,上述第二方面提供的电子设备、第三方面提供的芯片系统、第四方面提供的计算机存储介质、第五方面提供的计算机程序产品均用于执行本申请所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。

附图说明

图1是本申请实施例提供的设定窗口并确定最佳帧的示意图;

图2是本申请实施例提供的实施手动抓拍的示意图;

图3A是本申请实施例提供的实施手动抓拍的软件架构图;

图3B是本申请实施例提供的确定图像精彩度的方法示意图;

图4A-图4C是本申请实施例提供的一组开启手动抓拍的用户界面;

图5A-图5H是本申请实施例提供的一组实施手动抓拍的用户界面;

图6A-图6D是本申请实施例提供的另一组实施手动抓拍的用户界面;

图7A-图7J是本申请实施例提供的另一组实施手动抓拍的用户界面;

图8是本申请实施例提供的获取窗口最佳帧的流程图;

图9是本申请实施例提供的实施手动抓拍的流程图;

图10A-图10E是本申请实施例提供的一组开启自动抓拍功能的用户界面;

图11A-图11H是本申请实施例提供的一组实施自动抓拍的用户界面;

图12是本申请实施例提供的电子设备100的系统结构示意图;

图13是本申请实施例提供的电子设备100的结构示意图。

具体实施方式

本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。

在拍摄过程中,由于人的反应时延,用户往往难以拍得符合预期的精彩照片。

例如,在T1时刻时,电子设备100的预览窗中可显示第k帧图像。电子设备100是具备摄像头且提供拍摄、显示服务的电子设备,例如智能手机、平板电脑等。

用户在通过电子设备100的预览窗看到上述第k帧图像后,可确定这帧图像十分精彩。这时,用户可确定执行拍摄操作,以拍得第k帧图像。用户想要拍摄的图像,例如上述第k帧图像,可称为目标图像。然而,由于人的反应时延(包括完成拍摄操作所需的时间),电子设备100接收到用户拍摄操作的时刻会滞后,进而导致最终匹配到目标图像之后的图像,例如第k+n帧图像,而并非用户期望拍摄的第k帧图像。

特别的,由于人的反应时延的不确定性,以及点击拍摄动作中人的运动带来的设备抖动,第k+n帧图像更容易出现重影,极大地影响最终拍得照片的图像质量,影响用户拍摄体验。

不限于智能手机、平板电脑,电子设备100还可以是桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对电子设备100的具体类型不作特殊限制。

有鉴于此,本申请实施例提供了一种拍摄方法。

实施本申请实施例提供的拍摄方法,在开启摄像头后,电子设备100可以按照固定步长,确定包含固定数量图像序列的时间窗口。对任意一个窗口,电子设备100可从该窗口的全部图像中确定出一帧图像内容和图像质量综合评价最好的图像,记为最佳帧。

其中,评价图像内容的指标包括但不限于:包括特定对象,对象的大小、位置,包括特定动作,特定动作的完成度,包括人脸、人脸的大小、位置,人脸表现(是否睁眼、是否微笑等)。上述特定对象(第一对象)例如人、猫、狗等。上述特定动作例如跳跃、回眸、抛物等。本申请实施例对上述特定对象和特定动作不作限定。评价图像质量的指标包括但不限于:清晰度、曝光度等等。

在检测到用户的拍摄操作时,电子设备100可首先从当前所处窗口已得到的图像中确定出一个最佳帧。随后,电子设备100可从最近确定的两个最佳帧中选出综合评价更好的一帧,记为第一候选帧。同时,电子设备100可继续获取拍摄操作之后一段时间内的图像,并按照同样的方法确定出拍摄操作之后一段时间内的最佳帧,记为第二候选帧。最后,电子设备100可从上述第一候选帧和第二候选帧中选出综合评价更好的一帧,输出为照片。

上述根据用户的拍摄操作,从包含拍摄操作时刻在内的一段时间内选择综合评价更好的图像输出为照片的拍摄方法,可称为手动抓拍。这样既体现了用户抓拍的主动性,又保证了最后输出的照片的效果和质量,能够为用户带来更好的拍摄体验。

图1是本申请实施例提供的设定窗口并确定最佳帧的示意图。

在开启手动抓拍之后,电子设备100可按照固定步长,确定包含固定图像序列的时间窗口。示例性的,固定步长可设置为15(帧),即每15帧连续图像对应的时间范围可称为一个时间窗口,简称窗口。

如图1所示,第1帧~第15帧图像对应的时间范围可称为窗口1;第16帧~第30帧图像对应的时间范围可称为窗口2;第31帧~第45帧图像对应的时间范围可称为窗口3;第46帧~第60帧图像对应的时间范围可称为窗口4。依次类推,随着不断生成的图像,电子设备100可确定更多的窗口,这里不在一一例举。

在获取到任意一帧图像后,电子设备100可将其输入预设的用于获取图像内容和图像质量的算法中,并得到指示图像内容和图像质量综合评价高低的综合评分。后续实施例将会详细介绍电子设备100通过预设算法获取综合评分的过程,这里先不展开。

在一个窗口内的全部图像的综合评分均确定之后,电子设备100可以依据各帧图像的综合评分,从该窗口的全部图像中确定综合评分最高的图像为该窗口的最佳帧。

示例性的,窗口1中的第10帧图像可以为窗口1中综合评分最高的图像。于是,电子设备100可确定上述第10帧图像为窗口1的最佳帧,记为K1。依次类推,电子设备100可依次确定窗口2~窗口4的最佳帧,分别记为K2~K4。

图2是本申请实施例提供的实施手动抓拍的示意图。

首先,在一个窗口结束且未检测到用户的拍摄操作的场景下,电子设备100可依据图1所示的方法,在该窗口结束后,确定该窗口的最佳帧。示例性的,电子设备100可确定窗口1中的最佳帧K1(第一最佳帧)。窗口1的开始时刻可称为T3时刻,窗口1的结束时刻可称为至T4时刻。

用户可在任意时刻做出拍摄操作。电子设备100可实时地检测用户是否做出拍摄操作。这也就是说,电子设备100可在用户检测到任意时刻检测到用户做出的拍摄操作。示例性的,如图2所示,电子设备100可在t时刻检测到用户做出的拍摄操作。t时刻在窗口2内。

响应于上述操作,电子设备100可首先从窗口X中获取窗口X的最佳帧,记为Ks1。窗口X为当前所处窗口2中已得到的图像对应的时间范围。通常情况下,窗口X的步长小于前述预设的固定步长。

示例性的,t时刻(T2时刻)对应第24帧图像(第三图像),窗口X为第16帧图像~第24帧图像对应的时间范围。这时,电子设备100可从第16帧图像~第24帧图像中确定综合评分最高的图像,例如第18帧图像,作为窗口X的最佳帧Ks1(第二最佳帧)。

这时,K1和Ks1为检测到拍摄操作时电子设备100最近确定的两个最佳帧。然后,电子设备100可从上述两个最佳帧中选出综合评价更好的一帧(即综合评分更高的一帧)为第一候选帧。示例性的,如图2所示,电子设备100可确定综合评分更高的最佳帧Ks1为第一候选帧。上述第一候选帧Ks1可称为第一图像。上述窗口1和窗口X对应的时间范围可称为第一时间范围内。

在检测到拍摄操作之后,电子设备100可以继续获取拍摄操作之后的一段时间内的图像。如图2所示,电子设备100可以继续获取t~t'时刻内的图像。t-t'可称为窗口Y。t'时刻也称T5时刻。窗口Y的步长可与前述预设的固定步长相同,也可以不同,本申请实施例对此不作限制。上述窗口Y对应的时间范围可称为第二时间范围内。

然后,电子设备100可参考前述介绍的确定最佳帧的方法从窗口Y中确定出窗口Y的最佳帧,记为Ks2。Ks2为此次拍摄操作的第二候选帧。上述第二候选帧Ks2可称为第二图像。

在确定拍摄操作之前(包括拍摄操作发送时刻)的第一候选帧Ks1和拍摄操作之后的第二候选帧Ks2之后,电子设备100可从第一候选帧Ks1和第二候选帧Ks2中选出综合评分更高的图像为精彩图像。示例性的,电子设备100可确定综合评分更高的Ks2为精彩图像。最后,电子设备100可对精彩图像Ks2进行拍照处理,得到对应的精彩照片。

在一些实施例中,在比较第一候选帧和第二候选帧时,电子设备100可在确定第二候选帧高于第一候选帧,且高出预设值之后,才确定第二候选帧为精彩图像。上述预设值记为第一预设值。这样,电子设备100可以更侧重拍摄操作之前图像,从而更贴近用户的拍摄意图。

图3A是本申请实施例提供的实施手动抓拍的软件架构图。

电子设备100中装置有摄像头。摄像头中的感光元件将捕捉到的光源信号转化为电信号后得到的图像可称为原始图像,也称为RAW图。上述这一过程也称为摄像头采集图像。摄像头将采集得到的图像向电子设备100系统结构中的功能模块发送的过程可称为上报。其中负责拍摄输出照片的模块(例如图3A所示的处理抓拍模块)对摄像头上报的图像进行处理,然后输出为照片或其他图像资源并保存的过程可称为拍摄。

在零延时拍照(zero shutter lag,ZSL)框架下,电子设备100中设置有轮转缓冲区。该缓冲区用于存储摄像头最近上报的一组RAW图。示例性的,轮转缓冲区的尺寸为6,即可以存储摄像头最近上报的6帧RAW图,记为F

对RAW图进行下采样可以得到的体量更小的图像,称为处理图(也称Tiny图)。连续的Tiny图组成的图像流称为Tiny流。上述进行下采用的RAW图可以直接来源于摄像头上报的RAW图,也可以直接来源于轮转缓冲区中存储的RAW图,本申请实施例对此不作限制。示例性的,RAW图的尺寸可以为3024*4032(p),Tiny流中的经过下采样的图像的尺寸可以为378*502(p)。

在一些实施例中,Tiny流中的图像也可以是从摄像头上报的RAW图或轮转缓冲区中存储的RAW图抽帧得到的。例如,摄像头上报的一组RAW图或轮转缓冲区中存储的一组RAW图,包括第1帧~第20帧,执行下采样获取Tiny流的模块可从上述第1帧~第20帧中间隔3帧抽取一帧进行下采样,例如第1帧、第5帧、第9帧等,生成对应的Tiny图。

Tiny图与RAW图通过帧号对齐。示例性的,摄像头上报第i帧RAW图的帧号为i。第i帧RAW图F

电子设备100中还设置有专用缓冲区,包括专用缓冲区A和专用缓冲区B。专用缓冲区用于存储RAW图格式的最佳帧。具体的,在检测到用户做出的拍摄操作之前,专用缓冲区A和专用缓冲区B交替存储最新确定的最佳帧。在检测到用户做出的拍摄操作之后,专用缓冲区A和专用缓冲区B中综合评价更好的最佳帧会被保留,综合评价较差的最佳帧会被丢弃。随后,电子设备100可在被丢弃的最佳帧对应的专用缓冲区中写入拍摄操作之后的一段时间内的最佳帧,即第二候选帧。

电子设备100中预置有感知模块和决策模块。感知模块中预置有多个检测算法,用于获取指示图像内容和图像质量的各项数据。决策模块可根据上述数据确定图像综合评分,并根据综合评分确定各个图像序列窗口的最佳帧。

如图3A所示,感知模块可包括主体检测算法、动作评价算法、人脸检测算法、人脸属性算法、清晰度算法。其中,主体检测算法、动作评价算法、人脸检测算法、人脸属性算法可用于获取图像内容,清晰度算法可用于获取图像清晰度。评价图像质量的指标除了清晰度还可包括曝光度等其他参数。这些参数可从摄像头和/或其他传感器上报的数据中直接获取,这时,感知模块可以不包括从图像中提取上述参数的算法。

具体的,主体检测算法用于获取图像中的拍摄对象,例如人、猫脸、狗等等。特别的,对于人之外的拍摄对象,例如上述猫、狗,主体检测算法还可获取这些对象局部对象,例如猫脸、狗脸。可以理解的,本申请实施例对拍摄对象的具体类型不作限制。

在识别到预设的拍摄对象后,主体检测算法可输出对象框。进一步的,对象框标记了对象在图像中的大小和位置。于是,决策模块可根据主体检测算法是否输出了对象框确定图像中是否包括特定拍摄对象,进一步的,决策模块可根据输出对象框的数量、大小和位置确定对象的数量、大小和位置,进而对对象进行评价,确定对象评分。示例性的,对象框越大、位置越居中,则该对象框对应的对象评分越高。

动作评价算法用于获取拍摄对象的动作,例如跳跃、回眸、抛物、打乒乓球、打羽毛球、跑步、泼水、打棒球、打橄榄球、飞飞盘等等,并根据各类行为的最佳完成点确定当前图像中动作的完成度,进而输出该图像的动作评分。动作完成度越高的图像对应的动作评分越高。

示例性的,以跳跃为例,对象离地后达到最高点的运动状态可称为跳跃的最佳完成点。当第i帧图像中的对象处于离地并达到最高点的运动状态时,动作评价算法可输出该图像的运动评分为1(即最高分);当该图像中的对象未离地,或离地但未达到最高点时,动作评价算法可输出该图像的运动评分为0.3或0.5等小于1的分值。具体的,动作评价算法可根据与最高点的距离确定离地但未达到最高点的不同时刻的运动评分。

可以理解的,确定动作的最佳完成点需要基于一段时间内拍摄对象的运行轨迹确定。因此,动作评价算法可以在接收到一段时间(例如一个时间窗口)内的多帧图像后,首先确定这多帧图像中的最佳完成点,然后,基于最佳完成点对这多帧图像中的各帧图像的运动状态进行评价,输出各帧图像的动作评分。

在一些实施例中,动作评价模块还可识别非人物类型的对象的动作,例如猫、够的奔跑、跳跃等等。

人脸检测算法用于获取图像中的人脸。当识别到人脸后,人脸检测算法可输出人脸框。人脸框标记了人脸在图像中的大小和位置。于是,决策模块可根据人脸检测算法是否输出了人脸框确定图像中是否包括人脸,进一步的,决策模块可基于输出的人脸框的数量、大小和位置对人脸进行评价,输出人脸评分。例如,人脸框越大、位置越居中,则该人脸框对应的人脸评分越高。

人脸属性算法用于获取图像中的人脸信息,例如嘴唇弧度、上下眼睑距离。决策模块可根据上述嘴唇弧度、上下眼睑距离确定人脸是否睁眼、是否微笑等等。进一步的,决策模块可根据嘴唇弧度确定人脸微笑程度,根据上下眼睑距离确定人脸睁眼程度。于是,决策模块可根据上述人脸微笑程度、人脸睁眼程度对人脸表现进行评价,输出人脸表现评分。

在一种实现方式中,嘴唇弧度越大对应人脸微笑程度越高,进而决策模块确定的人脸表现评分也越高。在一种实现方式中,上下眼睑距离越大对应人脸睁眼程度越高,进而决策模块确定的人脸表现评分也越高。两者结合时,睁眼、微笑对人脸表现评分的影响的权重可以相同,也可以不同。

在一种可选的实现方式中,人脸检测可在主体检测识别到人之后进行,同样的,人脸属性算法可在人脸检测算法法识别到人脸之后进行。这时,人脸检测算法可利用主体检测识别到的包括人的图像获取人脸,人脸属性算法可利用人脸检测算法输出的人脸图像,获取各个人脸的人脸信息,从而节省计算成本,提升算法效率。

清晰度算法用于获取图像清晰度。无抖动、无噪声的图像的清晰度越高。

可以理解的,感知模块还可以更多的检测算法,从而获取更多的指示图像内容和图像质量的数据。本申请实施例对此不作限制。或者,感知模块还可以从摄像头和/或其他传感器上报的数据中直接获取指示图像内容和图像质量的信息,例如曝光度等等,申请实施例对此不作限制。

决策模块可基于感知模块输出的示图像内容和图像质量的各项数据,确定每帧图像的综合评分。综合评分越高,对应图像越精彩。在确定每帧图像的综合评分后,决策模块可根据一个窗口内各个图像的综合评分,进而确定该窗口的最佳帧。

图3B为本申请提供的一种确定图像综合评分的示意图。

如图3B所示,感知模块可包括单帧感知模块和多帧感知模块。单帧感知模块可利用一帧图像确定该帧图像的一类信息,例如是否包括特定对象、是否包括人脸、人脸属性、清晰度、曝光度等等。单帧感知模块适用于从一组图像中获取其中一帧或多帧图像的一类信息,例如动作评分。

在一种实现方式中,决策模块可对感知模块输出的多类信息按图像内容和图像质量、单帧和多帧进行组合,减少项目数量,然后再基于减少后的项目的评分,确定最终的综合评分。

如图3B所示,决策模块可对质量感知模块中输出的清晰度、曝光度等反应图像质量的信息进行融合得到一个指示图像质量的质量评分。上述融合例如加权平均。决策模块可对内容感知模块中输出的对象框、人脸框、人脸属性进行融合得到一个指示静态图像内容的静态内容评分。这时,决策模块可得到3个项目的评分:质量评分、静态内容评分和动作评分(即动态内容评分)。

其中,决策模块可根据内容感知模块中输出的对象框、人脸框、人脸属性中的一个项或多项确定静态内容评分。示例性的,决策模块可首先确定图像中的拍摄对象。当未识别到任何特定对象时,人脸检测算法、人脸属性算法输出的结果也相应地为空值。这时,决策模块可根据主体检测模块未输出有效的对象框确定静态内容评分为0。当识别到人脸时,决策模块可根据主体检测模块输出的对象框、人脸检测模块输出的人脸框,和/或人脸属性(睁眼/微笑)确定静态内容评分。

当主体检测算法识别到图像中不包括人时,例如拍摄对象为猫、狗时,相应的,人脸检测算法、人脸属性算法的输出结果为空,这时,决策模块可基于主体检测模块输出的对象框确定静态内容评分,而不考虑人脸检测算法、人脸属性算法的输出结果,从而避免人脸检测算法、人脸属性算法的空值降低该图像的综合评分。这里不再一一例举。

在确定质量评分、静态内容评分和动作评分之后,决策模块可根据质量评分、静态内容评分和动作评分中的一个项或多项确定综合评分。

示例性的,当图像中不包括任何特定对象、特定动作时,静态内容评分和动作评分均为0或无效值,这时,决策模块可仅根据质量评分确定该图像的综合评分,从而避免静态内容评分和动作评分为0或无效值而降低该图像的综合评分。又比如,当图像中不包括特定对象、但不包括特定动作时,动作评分均为0或无效值,这时,决策模块可仅根据质量评分和静态内容评分确定该图像的综合评分,从而避免动作评分为0或无效值而降低该图像的综合评分。

由于内容感知算法(主体检测算法、人脸检测算法、人脸属性算法)与动作检测算法的差异性,在一些实施例中,动作评价模块可确定一组图像中包括特定动作,并能根据各个图像中动作的完成度确定各帧图像的动作评分,但是内容感知算法无法识别到特定对象以及特定对象的静态表现。这时,决策模块也可根据质量评分和动作评分确定该图像的综合评分,从而避免静态内容评分为0或无效值而降低该图像的综合评分。

本申请实施例对于具体的根据感知模块输出结果确定的图像综合评分(精彩度)的方法不作限定。

电子设备100还包括硬件抽象层(hardware abstract layer,HAL)。HAL中可设置有处理缓存模块和处理抓拍模块。处理缓存模块可用于获取RAW图格式的最佳帧,并将其写入专用缓冲区。处理抓拍模块用于确定精彩图像并输出照片。

以第i帧图像为例,经过下采样的第i帧Tiny图f

在f

示例性的,f

在接收到决策模块的上报事件,并获取到帧号之后,处理缓存模块可以从轮转缓冲区中获取上述帧号对应的RAW图,然后将其写入到专用缓冲区。

示例性的,在接收到帧号10之后,处理缓存模块可以从轮转缓冲区中获取帧号10对应的RAW图F

同样的,在确定窗口2的最佳帧K2之后,电子设备100可向HAL上报发现最佳帧的事件。这时,该事件中可包括最佳帧K2的帧号,例如i=20。随后,处理缓存模块可从轮转缓冲区中获取帧号20对应的RAW图F

在接收到电子设备100上报的窗口3的最佳帧K3的帧号(例如i=35)之后,处理缓存模块可从轮转缓冲区中获取对应的RAW图F

以此类推,专用缓冲区A和专用缓冲区B交替接收最新的最佳帧,从而实现始终缓存最新的两个最佳帧。

任意时刻,在电子设备100检测到用户的拍摄操作之后,决策模块可基于当前所处窗口中已得到的图像,确定出最新的一个最佳帧,并上报的HAL。参考图2所示的窗口X和最佳帧Ks1,这里不再赘述。同样的,HAL中的处理缓存模块可将上述最新的一个最佳帧的RAW格式图像写入空缓存区或缓存更早最佳帧的专用缓冲区中。例如,在专用缓冲区A中缓存K1的情况下,处理缓存模块可将Ks1写入专用缓冲区B。

同时,决策模块还可向HAL上报检测到拍摄操作的指示信息。在接收到上述指示信息之后,处理抓拍模块可触发抓拍。具体的,处理抓拍模块可从专用缓冲区中缓存的最新的两个最佳帧中确定出综合评分更高的最佳帧为候选帧。例如,处理抓拍模块可从专用缓冲区A中缓存的K1和专用缓冲区B中缓存的Ks1中,确定出综合评分更高的Ks1为候选帧(第一候选帧)。随后,处理抓拍模块可对第一候选帧Ks1进行处理,输出照片。在输出照片的过程中,处理抓拍模块可同时生成对应的缩略图,用于预览。这时,基于第一候选帧Ks1得到的照片和缩略图为临时的。

在向HAL上报拍摄操作之前最新一个最佳帧(Ks1)以及指示信息后,决策模块会继续获取拍摄操作后一段时间内的图像,并确定这些图像中的最佳帧,然后再次向HAL上报最佳帧事件。参考图2,决策模块会继续获取窗口Y中的图像,确定窗口Y的最佳帧Ks2(第二候选帧),然后向HAL上报最佳帧Ks2。

这时,HAL中的处理缓存模块可将Ks2的RAW格式图像写入缓存非候选帧的专用缓冲区A中。然后,处理抓拍模块可从专用缓冲区A中缓存的Ks2和专用缓冲区B中缓存的Ks1中,确定出综合评分更高的Ks2为精彩图像。随后,处理抓拍模块可对精彩图像Ks2进行处理,输出照片格式的图像,并覆盖之前临时生成的Ks1的照片和缩略图,作为用户拍摄操作最终拍得的照片和缩略图。

可以理解的,当Ks2的综合评分低于Ks1时,处理抓拍模块无需再次抓拍。前述已经确定的Ks1的照片和缩略图即最终用户拍得的照片和缩略图。

可选的,在输出照片的过程中,处理抓拍模块还可使用其他图像处理算法,对该图像进行优化,以得到综合评价更好的照片,提升用户拍摄体验。上述图像处理算法包括但不限于饱和度优化算法、曝光补偿算法、美颜/美体算法等等。

在一些实施例中,在依据帧号从轮转缓冲区中获取最佳帧RAW图并写入专用缓冲区时,处理缓存模块也可以从轮转缓冲区中获取包括最佳帧RAW图在内的多帧RAW图,并把利用这多帧RAW图进行图像融合后得到的融合图像写入专用缓冲区,进一步提升最终拍得的照片的效果和质量。

示例性的,处理缓存模块可以根据接收到的帧号i从轮转缓冲区中获取帧号i对应的最佳帧的RAW图F

以F

进一步的,处理缓存模块还可根据拍摄模式确定从轮转缓冲区中获取一帧RAW图还是多帧RAW图。示例性的,在夜景模式下,处理缓存模块可从轮转缓冲区中获取多帧RAW图;在非夜景模式下,例如人像模式、高动态模式,处理缓存模块可仅从轮转缓冲区中获取一帧RAW图。

相比于直接将RAW图输入感知模块获取图像内容和图像质量等信息,小尺寸的Tiny图可极大地降低感知模块中各个检测算法的计算成本,提升各个检测算法输出对应图像内容信息的速率,有效避免掉帧、卡顿的问题。

进一步的,在一种实现方式中,电子设备100可以同时开启全部检测算法,并设定各个检测算法的工作频率与摄像头上报图像的频率相同。示例性的,在每接收到一帧Tiny图后,感知模块中的主体检测算法可对该帧Tiny图进行处理,获取该帧Tiny图中的拍摄对象;同时,动作评价算法可对该帧Tiny图进行处理,确定对该帧Tiny图的动作评分;同时,人脸检测算法、人脸属性算法、清晰度算法均可对该帧Tiny图进行处理,获取对应的图像内容信息。

在另一种实现方式中,电子设备100可以同时开启全部检测算法,但不同检测算法的工作频率不尽相同。示例性的,电子设备100可设定主体检测算法的工作频率与摄像头上报图像的频率相同,即主体检测算法每一帧执行一次。电子设备100可设定动作评价算法的工作频率为摄像头上报图像的频率的1/4,即动作评价算法每4帧执行一次。电子设备100可设定人脸检测算法的工作频率为摄像头上报图像的频率的1/2,即动作评价算法每2帧执行一次。电子设备100可设定清晰度算法的工作频率与摄像头上报图像的频率相同等等,这里不再一一例举。这样,电子设备100可以进一步降低感知模块的计算成本,节省功耗。

特别的,在不同检测算法的工作频率不尽相同的场景下,不执行处理的检测算法可以输出上一次检测得到的结果,进而避免因为未检测而导致该项评分过低,降低精彩时刻检测的稳定性和准确性。

在另一种实现方式中,电子设备100也可以选择性的开启部分检测算法。具体的,电子设备100可根据用户预设的对象和/或对象运动状态,确定需要开启的检测算法。其余的检测算法可关闭。例如,当用户设定的手动抓拍的对象仅包括猫、狗时,电子设备100也可以关闭人脸检测算法、人脸属性算法。

图4A-图4C是本申请实施例提供的一组开启手动抓拍的用户界面。

图4A是本申请实施例提供的一种电子设备100的主界面(homepage)。如图4A所示,主界面可包括状态栏111、页面指示符112、以及多个应用程序图标。

其中,状态栏可包括移动通信信号(又可称为蜂窝信号)的一个或多个信号强度指示符、无线高保真(wireless fidelity,Wi-Fi)信号强度指示符,电池状态指示符、时间指示符等。

页面指示符112可用于指示当前显示的页面与其他页面的位置关系。

多个应用程序图标可包括设置应用图标113A、应用市场应用图标113B、图库应用图标113C、天气应用图标113D、电话应用图标113E、浏览器应用图标113F、相机应用图标113G等。不限于上述图标,主界面还可包括其他应用程序图标,这里不再一一例举。多个应用程序图标可分布在多个页面。页面指示符112可以用于指示用户当前浏览的页面是承载多个应用程序的多个页面中的哪一个页面。用户可以左右滑动的触控操作来浏览其他页面。

可以理解的,图4A及其后续介绍的用户界面仅仅示例性示出了以手机为例的电子设备100的一种可能的用户界面样式,不应构成对本申请实施例的限定。

如图4A所示,电子设备100可检测到用户作用于相机应用图标113G的用户操作。响应于上述操作,电子设备100可开启相机应用程序,显示图4B所示的相机应用程序的用户界面。图4B是本申请实施例提供的一种相机应用程序提供的拍摄和显示服务的用户界面,也称预览界面。

如图4B所示,该预览界面可包括模式栏121、拍摄控件122、预览窗123、回看控件124。

模式栏121中可包括有多个拍摄模式选项,例如“夜景”、“人像”、“拍照”、“录像”等等。不同的拍摄模式可为用户提供不同效果的拍摄服务。用户可根据不同的需求选择多个拍摄模式中的任一拍摄模式进行拍摄。例如,“拍照”可以为默认的拍摄模式,用于拍摄照片。“录像”用于录制视频。“夜景”模式适用于光线较暗的拍摄场景,例如夜晚。“人像”模式适用于拍摄主体为人物的拍摄场景。电子设备100还可提供更多拍摄模式,例如“大光圈”、“电影”、“专业”等等,这里不再一一例举说明。

电子设备100可检测到作用于模式栏121的用户操作,并根据上述用户操作变更当前所使用的拍摄模式。上述用户操作例如左滑/右滑操作。例如,当检测到拖拽模式栏121向左滑动(左滑操作)并使得浮标125停止在“人像”选项时,电子设备100可切换到“人像”模式。默认的,电子设备100首先使用“拍照”模式。

拍摄控件122用于触发拍照。电子设备100可检测是否有作用于拍摄控件122的用户操作,例如点击操作。当检测到作用于拍摄控件122的用户操作后,电子设备100可生成拍照指令。电子设备100可根据拍照指令获取对应时间戳摄像头上报的图像,然后保存为照片。综上所述,作用于拍摄控件122的用户操作即本申请所述的拍摄操作。

预览窗123可用于实时地显示摄像头上报的图像。预览窗123对应的显示区域可称为预览区域。预览窗123对应的区域可称为预览区域。在不同的拍摄模式下,电子设备100可对摄像头上报的图像进行处理,提升图像的显示效果。例如,在“人像”模式下,电子设备100可对摄像头上报的图像中的背景进行虚化以凸显人像。这里,预览窗123可实时地显示经过不同拍摄模式对应的图像处理算法处理后的图像,以使得用户可以实时地感知不同拍摄模式对应的拍摄效果。

回看控件124可用于浏览已拍摄的照片/视频的缩略图。回看控件124对应的显示区域可称为缩略图区域。回看控件124对应的区域可称为缩略图区域。在本申请实施例中,在检测到用户点击拍摄控件122的拍摄操作时,电子设备100可首先在回看控件124中显示上述拍摄操作发生时刻之前(包括拍摄操作发生时刻)确定的最佳帧的缩略图。在从拍摄操作之后的一段时间内获取到了综合评价更好的图像后,电子设备100可在回看控件124中显示上述综合评价更好的图像的缩略图。反之,若拍摄操作之后的一段时间内的图像均不如前述最佳帧,则回看控件124中的缩略图可保持不变。

参考图2,示例性的,在检测到拍摄操作时,电子设备100可首先在回看控件124中显示最佳帧Ks1的缩略图。若窗口Y中的最佳帧Ks2综合评价优于拍摄操作之前的最佳帧Ks1,则电子设备100可将原来回看控件124中显示的最佳帧Ks1的缩略图更新为最佳帧Ks2的缩略图。反之,回看控件124中保持显示最佳帧Ks1的缩略图,即最终拍得的照片为Ks1。

预览界面还包括快捷功能区126。如图4B所示,快捷功能区126可包括控件126A、控件126B、控件126C、控件126D。控件126A可用于关闭AI摄影功能。AI摄影是指自动识别拍摄对象,对不同对象进行不同的处理,输出效果更好的照片或视频。控件126B可用于开启闪光灯。控件126C可用于选择滤镜。控件126D可用于获取更多的功能。

在本申请实施例中,预览界面还可包括控件127。控件127可用于开启手动抓拍。控件127可称为第二控件。

如图4B所示,电子设备100可检测到作用于控件127的用户操作。响应于上述操作,电子设备100可开启手动抓拍功能。在开启自动抓拍后,电子设备100可按照图1~图2所示的方法,在检测到拍摄操作时,获取拍摄操作前后一段时间内最精彩的图像输出为照片,辅助用户拍摄,以提升用户拍摄体验。

对应的,在检测到开启手动抓拍之后,电子设备100可显示图4C所示的用户界面(第一界面)。如图4C所示,电子设备100可显示控件128替换控件127。控件128可用于关闭手动抓拍。同时,控件128可提醒用户手动抓拍已开启。

在一些实施例中,手动抓拍与其他拍摄功能会冲突。这时,发生冲突的功能只能择一开启。例如,手动抓拍可与AI摄影冲突。这时,电子设备100不支持同时开启手动抓拍和AI摄影。在开启手动抓拍的场景下,若检测到了开启AI摄影的用户操作,电子设备100可开启AI摄影,并关闭手动抓拍。反之,在开启AI摄影的场景下,若检测到了开启手动抓拍的用户操作,电子设备100可开启手动抓拍,并关闭AI摄影。

如图4C所示,在开启手动抓拍后,电子设备100可显示控件151替换原来的控件126A,指示AI摄影功能已关闭。

与手动抓拍不存在冲突的其他拍摄功能可独立地开启或关闭。例如,用户可随时通过控件126B开启闪光灯,通过控件126C选择滤镜。

在开启手动抓拍后,可选的,电子设备100可检测到作用于控件128的用户操作。响应于上述操作,电子设备100可关闭手动抓拍。这时,参考图4B,电子设备100可重新显示控件127替换控件128,用于再次开启手动抓拍。相应地,电子设备100还可重新显示控件126A替换控件151,即重新开启之前因冲突而关闭的AI摄影功能。

通过控件127和控件128,用户可以根据自身需求随时开启/关闭手动抓拍。在用户需要手动抓拍辅助以拍得更精彩的照片时,电子设备100可以提供上述手动抓拍服务;在用户无需手动抓拍时,电子设备100可以关闭手动抓拍,节省计算成本、降低功耗,也提升了用户使用体验。

电子设备100可拍摄正在进行跳远的运动员。参考图5A-图5F,在开启手动抓拍后的预览界面中,预览窗123可依次显示跳远过程中不同时刻摄像头所拍摄到的运动员的运动状态。

如图5C所示,电子设备100的预览窗123中显示了一帧人物起跳后呈平板型状态的图像,记为图像K。在看到图像K之后,用户觉得这帧图像十分精彩,这时,用户可确定点击拍摄控件122,以拍摄图像K这样的精彩照片。图像K即目标图像。

由于人的反应时延,电子设备100往往无法在显示图像K的时刻检测到用户点击拍摄控件122的操作(即拍摄操作)。如图5D所示,电子设备100可在显示图像L(人物起跳后蜷缩准备落地状态)时检测到用户的拍摄操作。图像L为图像K之后图像。这时,在现有技术中,电子设备100会输出图像L作为拍摄得到的照片。而图像L并非用户期望拍摄的照片,甚至还会包括抖动、重影等问题,严重影响用户拍摄体验。

参考图1~图2的介绍,在本申请实施例中,在开启手动抓拍之后,电子设备100可首先以固定步长的窗口为单位,确定每个窗口中综合评价最好的图像为该窗口的最佳帧。在检测到拍摄操作之后,电子设备100可从当前所处的窗口的首帧图像至拍摄操作发生时刻对应图像(即当前所处窗口已获得的图像)中确定出一个最佳帧。然后,电子设备100可从已确定的不同窗口的最佳帧(例如K1和Ks1)中确定出综合评价更好最佳帧作为候选帧,即第一候选帧。进而,电子设备100可基于第一候选帧生成照片和缩略图。

如图5D所示,在检测到作用于拍摄控件122的拍摄操作时,电子设备100可首先确定拍摄操作之前最近两个窗口(包括拍摄操作发生时刻的图像L)中的最佳帧:图像K(第一图像)。电子设备100可生成图像K对应的照片(第一照片)和缩略图。参考图5E,电子设备100可首先在回看控件124中显示图像K的缩略图,提示用户已根据用户的拍摄操作拍摄得到一张照片。

可以理解的,电子设备100根据预置算法确定的最佳帧并非一定是用户确定的目标图像。但是,由于短时间内图像的相似性,电子设备100根据预置算法确定的最佳帧与用户确定的目标图像的差距不会很大,因此,电子设备100根据预置算法确定的最佳帧可视为用户的目标图像。

在一些实施例中,电子设备100也可确定拍摄操作发生时刻对应的图像帧,例如图5D所示的图像L,确定该图像帧对应的缩略图,然后在回看控件124中显示图像帧的缩略图。

上述生成的图像K的照片和缩略图是临时的。同时,在检测到拍摄操作之后,电子设备100可继续获取拍摄操作之后一段时间内的摄像头生成的图像,例如图2所示的窗口Y。电子设备100可从上述拍摄操作之后一段时间内的摄像头生成的图像中确定出一个最佳帧,即第二候选帧。当第二候选帧优于第一候选帧时,电子设备100可基于第二候选帧生成照片和缩略图,并确定为最终拍得的照片和缩略图。前述基于第一候选帧生成照片和缩略图被覆盖。反之,若第二候选帧劣于第一候选帧,前述基于第一候选帧生成照片和缩略图即最终拍得的照片和缩略图。

如图5E所示,在检测到拍摄操作之后,预览窗123中可显示摄像头最新上报一帧图像:图像M(第二图像),且图像M为拍摄操作之后一段时间内的最佳帧,即第二候选帧。这时,电子设备100比较图像M和图像K。当确定图像M优于图像K时,即图像M的综合评分高于图像K,电子设备100可基于图像M生成照片(第二照片)和缩略图,并覆盖前述图像K的照片和缩略图。这时,根据用户拍摄操作最终拍得的照片为图像M。如图5F所示,电子设备100可在回看控件124中显示图像M的缩略图,覆盖原来的图像K的缩略图,以指示用户拍得的照片发生了更新。

参考图5F,电子设备100可检测到作用于回看控件124的用户操作。响应于上述操作,电子设备100可显示图5G所示的用户界面。电子设备100可在区域221中显示根据用户拍摄操作最终拍得的照片(图像M)。

反之,若图像M的劣于图像K,即图像M的综合评分低于图像K,电子设备100可确定基于图像M得到的照片为最终拍得的照片,图像M的缩略图为最终拍得照片的缩略图。这时,电子设备100无需更新回看控件124中显示缩略图。参考图5E,电子设备100可在回看控件124中保持显示图像K的缩略图,直至下一次拍摄生成新的缩略图。当检测到作用于图5E中回看控件124的用户操作时,响应于上述操作,电子设备100可显示用户拍摄操作最终拍得的照片(图像K),参考图5G,这里不再赘述。

实施图5A-图5G所示的手动抓拍方法,电子设备100可以根据用户的拍摄操作,获取拍摄操作发生前后一段时间内的摄像头生成的全部图像,然后从上述图像中筛选出质量最好的图像输出为照片。这样拍得的照片既体现了用户抓拍的主动性,保证了最后输出的照片的质量,能够为用户带来更好的拍摄体验。

电子设备100上安装有提供浏览已拍摄的图像资源(例如照片、视频等)的应用程序,例如图库应用程序。用户可通过上述应用程序浏览已拍摄的图像资源。在本申请实施例中,在实施手动抓拍后,电子设备100可仅在图库应用中显示最终确定的照片。

图5H为本申请实施例提供的图库应用提供的预览已拍摄图像资源的用户界面。如图5H所示,该界面可仅显示最终拍摄的图像M的预览小图225,而不显示拍摄操作之前临时拍摄的图像K预览小图。图5H所示可称为第三界面。

在一些实施例中,在回看控件124中显示了基于拍摄操作之前的候选帧(即第一候选帧)生成的缩略图之后,用户会立刻点击回看控件124,以浏览已拍摄的照片。这时,电子设备100还未获取到基于拍摄操作之后一段时间内的图像确定另一候选帧(即第二候选帧)。

在上述情况下,一方面,电子设备100可首先显示上述基于第一候选帧生成照片,同时,电子设备100会继续获取第二候选帧。当第二候选帧优于第一候选帧时,电子设备100可自动地显示第二候选帧的照片,替换第一候选帧的照片。

如图5D-图5E所示,在检测到拍摄操作之后,电子设备100可基于拍摄操作之前的第一候选帧图像K生成照片和缩略图。在电子设备100在回看控件124中显示图像K的缩略图之后,参考图6A,电子设备100可检测到作用于回看控件124的用户操作。响应于上述操作,电子设备100可显示图6B所示的用户界面(第二界面)。电子设备100可首先在区域221(第三区域)中显示基于第一候选帧图像K生成的照片。

在显示图6B所示的界面的同时,电子设备100可获取到拍摄操作之后一段时间内的最佳帧,即第二候选帧,例如图像M。在确认图像M优于拍摄操作之前的候选帧图像K。这时,最终拍得照片为图像M。参考图6C,电子设备100可自动在区域221中显示图像M,替换图像K。反之,若图像M优劣于图像K,基于图像K生成照片和缩略图即最终拍得的照片和缩略图。图6B所示的照片即最终拍得的照片,无需更新。

在浏览已拍得照片:图像M之后,电子设备100可检测到作用于控件224的用户操作,响应于上述操作,电子设备100可重新显示预览界面,参考图6D。这时,回看控件124中的显示的缩略图也相应地更新为图像M的缩略图。

实施上述方法,电子设备100可以在检测到拍摄操作之后,立即向用户给出反馈,以避免影响用户体验。

在一些实施例中,在“录像”模式中,电子设备100可以实施手动抓拍。

如图7A所示,电子设备100可检测到作用于模式栏121的左滑操作。响应于上述操作,电子设备100可将“拍照”模式切换为“录像”模式,参考图7B。如图7B所示,在进入“录像”模式后,电子设备100可将原来“拍照”模式对应的预览界面切换为“录像”模式对应的预览界面。具体的,电子设备100可将原来“拍照”模式的拍摄控件122切换为“录像”模式的开始录像控件311。

如图7B所示,电子设备100可检测到作用于开始录像控件311的用户操作。响应于上述操作,电子设备100可开始录制视频。对应的,电子设备100可显示图7C所示的录像界面。电子设备100可将原来开始录像控件311切换为结束录像控件312。同时,电子设备100可在预览窗123中显示时间戳控件313,用于指示已录制时长。如图7C所示,该录像界面还可包括控件315。控件315可用于在录像过程中接收用户的拍摄操作,触发手动抓拍。

图7C-图7G示例性示出了在录制跳远运动员过程中电子设备100显示的一组录像界面。预览窗123可依次显示跳远过程中不同时刻摄像头所拍摄到的运动员的运动状态。时间戳控件313可随着录制时长增加而更新。

在开始录像的同时,电子设备100可按照图1所示的方法,按照固定步长确定图像窗口,并确定每个窗口的最佳帧。

示例性的,在显示图7E所示的界面时,用户可确定此时预览窗123中显示的这帧图像(图像K)十分精彩,这时,用户可确定点击控件315,在录像过程中抓拍图像K。同样的,由于人的反应延迟,电子设备100会在图像K之后的某一时刻接收到用户作用于控件315的拍摄操作。参考图7F,电子设备100可在显示图像L时接收到用户作用于控件315的拍摄操作。

响应于上述拍摄操作,电子设备100可基于拍摄操作之前的候选帧生成缩略图,然后显示该缩略图。示例性的,电子设备100可确定上述拍摄操作之前的图像K为候选帧。这时,参考图7G,电子设备100可在回看控件124中显示图像K的缩略图。在拍摄操作之后一段时间内摄像头生成的图像均劣于图像K的场景下,电子设备100可确定最终拍得照片为图像K。对应的,在回看控件124中显示图像K的缩略图也不会变更。

同样的,参考图5F,当拍摄操作之后一段时间内摄像头生成的图像的最佳帧(例如图像M)优于图像K时,电子设备100可确定最终拍得照片为图像M。对应的,回看控件124中显示缩略图也可更新为图像M的缩略图,这里不再赘述。

如图7G所示,电子设备100可检测到作用于结束录像控件312的用户操作。响应于上述操作,电子设备100可结束视频录制,并显示图7H所示的用户界面。如图7H所示,电子设备100可退出录像界面,重新显示预览界面,包括重新显示开始录像控件311替换结束录像控件312。此外,电子设备100可在回看控件124上显示新录制的视频的缩略图。

如图7H所示,电子设备100可检测到作用于回看控件124的用户操作。响应于上述操作,电子设备100可显示图7I所示的用户界面展示新录制的视频。如图7H所示,用户可通过点击播放按钮314浏览新拍摄的视频的完整内容。

电子设备100还可检测到作用于屏幕的左滑操作。响应于上述操作,电子设备100可显示上述视频录制过程中电子设备100执行手动抓拍策略抓拍的精彩照片。例如,参考图7J,电子设备100可显示手动抓拍的精彩照片图像K。可以理解的,上述左滑操作还可以是右滑操作,这里不做限定。

在一些实施例中,在开始录像后,录像界面也可不包括回看控件124。在自动抓拍之后,电子设备100不会在录像界面中显示已抓拍照片的缩略图。在结束录像后,在浏览已拍摄图像时,电子设备100可展示上述录像过程中自动抓拍的照片。

图8是本申请实施例提供的获取窗口最佳帧的流程图。

S101:开启手动抓拍。

参考图4B-图4C所示的用户界面,电子设备100可检测到开启手动抓拍的用户操作。响应于上述操作,电子设备100可加载手动抓拍对应的程序代码。在开启手动抓拍后,电子设备100可执行后续步骤所示的操作,以实现获取窗口最佳帧。

S102:获取摄像头上报的当前帧(frame-b)。

电子设备100的摄像头的可实时地根据取景范围内的光线生成RAW图,并将RAW图发送到调用摄像头的上层应用,例如相机应用。以帧率30fps为例,摄像头每33.3毫秒(ms)可向上层应用上报一帧RAW图,即上层应用每33.3ms可以收到一帧RAW图。

某一时刻,上层可接收到摄像头最新上报的一帧RAW图,例如第i帧RAW图。参考图3A,经过下采样分流,电子设备100同时还可获得第i帧Tiny图。电子设备100可使用小尺寸的Tiny图进行处理分析,以降低计算成本,提升处理效率。在该时刻,第i帧图像(包括第i帧RAW图和第i帧Tiny图)可称为当前帧。当前帧可记为frame-b。电子设备100可使用第i帧Tiny图执行后续步骤所示的操作。

S103:确定frame-b是否为当前窗口的首帧图像。

电子设备100可根据frame-b的帧号确定当前所处的窗口,并确定frame-b是否为该窗口的首帧图像。示例性的,frame-b的帧号为16。根据预设的固定步长15(帧),电子设备100可确定当前所处窗口为窗口2,并且frame-b为窗口2的首帧图像。示例性的,frame-b的帧号为20。根据预设的固定步长15(帧),电子设备100可确定当前所处窗口为窗口2,frame-b不是窗口2的首帧图像。

S104:将frame-b写入缓冲区cache。

电子设备100内设置有缓冲区cache。cache可用于缓存窗口内的最佳帧。当frame-b为当前窗口的首帧图像时,电子设备100可首先将frame-b直接写入cache。

S105:获取frame-b的感知参数。

frame-b不是当前窗口的首帧图像意味着cache中已经缓存了当前窗口中某一帧相对精彩的图像。这时,电子设备100需要确定frame-b是否为更精彩的图像。若frame-b为更精彩的图像,则电子设备100将frame-b写入cache,替换cache中之前缓存的图像。这样,在窗口结束后,cache中缓存的图像即该窗口的最佳帧。

具体的,电子设备100可通过感知参数确定frame-b是否为更精彩的图像。感知参数包括感知模块输出的反映图像内容和图像质量的数据,包括感知模块中各类检测算法输出的界面和摄像头和/或其他传感器上报的反映图像内容和图像质量的数据。参考图3A的介绍,感知模块输出的反映图像内容和图像质量的数据包括:主体检测算法输出的对象框,动作评价算法输出的动作评分,人脸检测算法输出的人脸框,人脸属性算法输出的人脸表现评分,清晰度算法输出的清晰度,摄像头和/或其他传感器上报的曝光度等。

S106:依据感知参数确定是否为典型场景。

典型场景是指拍摄预设的特定对象的场景。典型场景下的图像中的对象包括预设的特定对象。具体的,主体检测算法可识别图像中是否包括预设的特定对象,例如人、猫、狗等。当识别到上述特定对象时,主体检测算法可输出对象框。于是,电子设备100可通过感知参数是否包括对象框确定frame-b为典型场景下的图像。

当S105中获取到的感知参数包括对象框时,电子设备100可确定frame-b为典型场景下的图像;反之,当S105中获取到的感知参数不包括对象框时,电子设备100可确定frame-b不是典型场景下的图像。特别的,当感知参数不包括对象框时,动作评价算法输出的动作评分也为空值,人脸检测算法也不会输出人脸框;人脸表现评分也为空值。

S107:比较frame-b与cache中缓存的frame-a的综合评分;当frame-b的综合评分高于frame-a时,frame-b优于frame-a。

结合图3A的介绍,电子设备100可根据感知参数确定指示图像内容和图像质量综合评价优劣的综合评分。

具体的,在frame-b与frame-a均为典型场景下的图像时,电子设备100可比较frame-b与frame-a的综合评分。当frame-b的综合评分高于frame-a时,电子设备100可确定frame-b是更精彩的图像。于是,电子设备100可执行S104所示的步骤,将frame-b写入cache中。这时,cache中缓存的图像更新为更精彩的frame-b。反之,当frame-b的综合评分低于frame-a时,电子设备100不会将frame-b写入cache中,cache中缓存的图像仍然为比frame-b精彩的frame-a。依次类推,当窗口结束时,cache中缓存的图像即该窗口的最佳帧。

若frame-a不是典型场景下的图像,默认的,典型场景下的图像一定优于非典型场景下的图像,因此,电子设备100可直接确定frame-b是更精彩的图像。随后,电子设备100可将frame-b写入cache中。

S108:确定frame-a是否对应典型场景。

当frame-b不是典型场景下的图像时,电子设备100需要首选确定frame-a是不是典型场景下的图像。当frame-a为典型场景下的图像时,默认的,典型场景优于非典型场景,因此,电子设备100可直接确定frame-a优于frame-b。

若frame-a也是非典型场景下的图像,电子设备100可从比较frame-a与frame-b的综合评分。不过,此时,frame-b与frame-a的指示图像内容的各项数据均为空值,例如主体检测算法未输出有效对象框,进而也就没有对象的动作评分,没有有效的人脸框,更没有人脸表现评分。当frame-b的综合评分高于frame-a时,电子设备100可确定frame-b是更精彩的图像。于是,电子设备100可执行S104所示的步骤,将frame-b写入cache中。这时,cache中缓存的图像更新为更精彩的frame-b。反之,当frame-b的综合评分低于frame-a时,电子设备100不会将frame-b写入cache中,cache中缓存的图像仍然为比frame-b精彩的frame-a。

重复S102-S108,在一个窗口结束之后,cache中保留的图像即该窗口的最佳帧。

在图2所示的手动抓拍方法中,在检测到拍摄操作后,电子设备100默认的获取拍摄操作之前的第一候选帧,和拍摄操作之后的第二候选帧,然后从第一候选帧和第二候选帧中确定出更精彩的作为最后拍得的照片。

在另一些实施例中,电子设备100可根据图像内容区分拍摄操作发生时刻是否典型场景。

在典型场景下,电子设备100可根据图2所示的方法,确定拍摄操作发生前后更精彩的图像并输出为照片。

反之,在非典型场景下,如图9所示,电子设备100可以仅寻找与拍摄操作发生时刻最近的3A收敛帧。3A技术包括自动对焦(AF)、自动曝光(AE)和自动白平衡(AWB)。在AF、AE和AWB上均收敛的图像即3A收敛帧。

结合图2,在t时刻检测到拍摄操作时,电子设备100可首先获取t时刻对应的当前帧,例如图2所例举的第24帧图像(第三图像),然后当前帧是否为典型场景下的图像,即是否包括预设的特定对象(第一对象)。当不包括特定对象时,电子设备100可获取包含当前帧在内的前后一段时间内的多帧图像,例如第19帧~第29帧图像。然后,电子设备100可从上述第19帧~第29帧图像中确定出与当前帧(第24帧图像)距离最近的3A收敛帧,例如第20帧图像(第四图像)。电子设备100可基于上述第20帧图像生成一张照片,并保存。

这样,在典型场景下,电子设备100可以通过前后图像的之间的比较,确定拍摄操作附近最精彩的图像,从而保障拍得照片的精彩性;在非典型场景下,电子设备100可以无需关心图像内容,以更小的成本获取图像质量较高的图像即可,从而保证拍得照片的及时性,同时也降低计算成本,节省功耗。

在一些实施例中,电子设备100还可提供自动抓拍功能。自动抓拍是指在预览过程中根据预置算法实时地识别精彩时刻,并将精彩时刻下的精彩图像帧输出为精彩照片的拍摄方法。相比于手动抓拍,自动抓拍无需关注用户的拍摄操作。

图10A-图10E是本申请实施例提供的一组开启自动抓拍功能的用户界面。

如图10A所示,电子设备100可检测到作用于控件126D的用户操作。响应于上述操作,电子设备100可显示图10B所示的用户界面。

该界面可显示多个功能选项控件,例如“照片比例”、“智能拍照”、“视频分辨率”、“视频帧率”等控件,这里不再一一举例。“照片比例”控件可用于设定拍摄得到的照片的宽高比,例如4:3、9:16。“智能拍照”控件可用于设定特殊的拍照方式,例如用声音控制拍照的声控拍照、用手势控制拍照的手势拍照,以及本申请实施例提供的自动抓拍。“视频分辨率”控件可用于设定视频的分辨率,例如[16:9]1080p。“视频帧率”控件可用于设定视频的帧率,例如30fps。

如图10B所示,电子设备100可检测到用户作用于“智能拍照”控件的用户操作。响应于上述操作,电子设备100可显示图10C所示的用户界面。

该界面可显示多个“智能拍照”目录下的功能选项控件,例如“声控拍照”、“手势拍照”、“笑脸抓拍”、“自动抓拍”等控件。“声控拍照”控件可用于开启或关闭声控拍照、“手势拍照”可用于开启或关闭手势拍照。“笑脸抓拍”可用于开启或关闭笑脸抓拍。“自动抓拍”可用于开启或关闭本申请实施提供的自动抓拍。其中,声控拍照、手势拍照、微笑抓拍以及传统的通过点击拍摄控件122的拍摄操作为非自动抓拍。可以理解的,本申请中的手动抓拍同样也是响应于用户的点击拍摄控件122的操作或者声控操作等而进行的抓拍操作,但不同于传统的通过点击拍摄控件122的拍照,后者就是传统的拍照,根据用户点击拍摄控件122,根据点击的时间点得到的对应图像或对应照片,选帧时会选择与点击的时间点最接近的图像帧,而本申请中的手动抓拍,是根据用户点击拍摄控件122的时间点,从时间点向前一段时间和/或时间店向后的一段时间内的多张图像帧中根据预设规则选择出的一张或者多张图像帧。

如图10C所示,电子设备100可检测到用户作用于按钮141的用户操作。响应于上述操作,电子设备100可开启自动抓拍。电子设备100可显示图10D所示的用户界面。如图10D所示,原来图10C中的按钮141可被替换为按钮142。按钮142可用于关闭自动抓拍。

然后,电子设备100可依次检测作用于控件143、控件144的用户操作。响应于上述操作,电子设备100可重新显示预览界面,参考图10E。

同样的,若存在与自动抓拍冲突的功能,在开启自动抓拍后,电子设备100可自动的关闭对应的冲突的功能。例如,电子设备100可在开启自动抓拍后关闭AI摄影。如图10E所示,电子设备100显示控件151替换原来的控件126A,以指示用户AI摄影已关闭。相应地,在关闭自动抓拍后,电子设备100可自动开启之前因冲突而关闭的功能。例如,在关闭自动抓拍后,电子设备100可重新开启AI摄影。

在开启自动抓拍后,电子设备100可在预览的过程中实时地识别摄像头上报的图像,确定该图像是否精彩。在识别到精彩图像帧之后,电子设备100可自动的将上述精彩图像帧输出为照片。其中,电子设备100可基于图3A所示的感知模块和决策模块,评价各帧图像的图像内容和图像质量,进而确定该图像是否精彩。当决策模块确定图像的综合评分满足预设值时,决策模块可确定该帧图像为精彩图像帧。

图11A-图11H是本申请实施例提供的一组实施自动抓拍的用户界面。

同样以拍摄正在进行跳远的运动员为例,参考图11A-图11E,在开启自动抓拍后的预览界面中,预览窗123可依次显示跳远过程中不同时刻摄像头所拍摄到的运动员的运动状态。同时,通过图3A所示的感知模块和决策模块,电子设备100可确定拍摄过程中各帧图像的综合评分,进而确定各帧图像是否精彩。

示例性的,在跳远中,人物起跳后呈平板型的状态可称为跳远的最佳完成状态,即图11C中的预览窗123所展示的状态。这时,图11C中的预览窗123所显示的清晰的图像(图像K)的综合评分高于预设值。于是,电子设备100可确定图像K为精彩图像帧。随后,电子设备100可生成图像K所示的精彩照片以及对应的缩略图。

参考图11F,在得到精彩照片和缩略图之后,电子设备100可在回看控件124中显示上述缩略图,从而提示用户已拍摄一张照片。进一步的,电子设备100可在该缩略图附近显示一个提示控件,例如控件211,用于提示用户上述已拍摄的照片为电子设备100自动抓拍的,而非用户自己拍摄的。

电子设备100可检测到作用于回看控件124的用户操作,响应于上述操作,电子设备100可显示图11G所示的用户界面,展示回看控件124中缩略图对应的精彩照片。

如图11G所示,电子设备100可在区域221中显示自动抓拍得到的精彩照片(图像K)。这时,用户可通过区域221浏览自动抓拍的精彩照片。该用户界面也可包括提示控件,例如控件222。在用户浏览已拍摄的照片时,电子设备100可通过上述控件确定当前展示的照片为自动抓拍的精彩照片,而非自己拍摄的照片。

图11H是本申请实施例提供的图库应用提供的预览已拍摄图像资源的用户界面。在该界面中,电子设备100可也在自动抓拍的精彩照片的预览图上显示提示控件,例如控件223。这样,在用户浏览全部已拍摄照片时,用户可以通过上述提示控件区分自动抓拍的精彩照片和自己拍摄的照片。

在一些场景中,用户已经打开预览界面、准备拍摄了,但是由于忘记点击拍摄控件122,而错过了精彩时刻,或者,由于反应延迟导致点击拍摄控件122时精彩时刻已经结束了,也无法获取到精彩照片。实施上述方法,在开启自动抓拍后,在预览场景中,电子设备100可自动地识别精彩时刻,抓拍精彩照片。这样,电子设备100可以辅助用户拍摄,以免用户错过精彩时刻。

在一些实施例中,在“录像”模式中,电子设备100可以实施自动抓拍。

在一些实施例中,在切换到“录像”模式的第一帧开始,电子设备100可参考图11A-图11F所示的操作,获取精彩时刻,抓拍精彩照片,直至切换到其他不支持自动抓拍的模式或退出拍摄。

在另一些实施例中,在切换到“录像”模式后,在开始录像后,电子设备100可参考图11A-图11F所示的操作,获取精彩时刻,抓拍精彩照片,直至结束录像。这也就是说,在“录像”模式中,在未开始录像的时间段,电子设备100不实施自动抓拍。

可选的,电子设备100可同时开启手动抓拍和手动抓拍。在一些实施例中,在手动抓拍确定的精彩图像帧与手动抓拍确定的最佳帧之间的时间间隔很短时,电子设备100可保存手动抓拍的最佳帧,丢弃手动抓拍的精彩图像帧。

具体的,电子设备100可设定时间间隔t(或帧间隔数),例如1s(帧间隔数30帧),当手动抓拍的精彩图像帧与手动抓拍的最佳帧之间的时间间隔在1s内时,电子设备100可丢弃手动抓拍的精彩图像帧。若手动抓拍的精彩图像帧与手动抓拍的最佳帧之间的时间间隔大于1s,电子设备100可保存手动抓拍的精彩图像帧和手动抓拍的最佳帧。

这样,电子设备100可避免生成与用户拍摄的照片十分相似的照片,造成冗余,浪费存储资源。

图12是本申请实施例提供的电子设备100的系统结构示意图。

电子设备100的系统可采用分层架构。如图12所示,电子设备100的系统层包括应用程序层,应用程序框架层、硬件抽象层、驱动层以及硬件层。层与层之间通过软件接口通信。

应用程序层可以包括一系列应用程序包。示例性的,应用程序包可以包括相机应用、图库应用等。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。示例性的,应用程序框架层可以包括相机访问接口。其中,相机访问接口可以包括相机管理以及相机设备。相机访问接口用于为相机应用提供应用编程接口和编程框架。

硬件抽象层为位于应用程序框架层以及驱动层之间的接口层,为操作系统提供虚拟硬件平台。示例性的,硬件抽象层可以包括相机硬件抽象层和相机算法库。其中,相机硬件抽象层可以提供相机设备1(第一摄像头)、相机设备2(第二摄像头)以及更多的相机设备的虚拟硬件。相机算法库中存储有多种图像处理算法。例如,在本申请实施例中,相机算法库可包括手动抓拍算法,自动抓拍算法,图像处理算法等。其中,手动抓拍算法和自动抓拍算法中又包括实现手动抓拍/自动抓拍的所需的感知算法,例如图3A所示的主体检测算法、动作评价算法、人脸检测算法、人脸属性算法、清晰度算法等。

驱动层为硬件和软件之间的层。驱动层包括各种硬件的驱动。示例性的,驱动层可以包括相机设备驱动、数字信号处理器驱动以及图像处理器驱动等。其中,相机设备驱动用于驱动摄像头的传感器采集图像以及驱动图像信号处理器对图像进行预处理。数字信号处理器驱动用于驱动数字信号处理器处理图像。图像处理器驱动用于驱动图形处理器处理图像。

在本申请实施中,在检测到打开相机应用的用户操作(图4A所示的作用于相机应用图标113G的用户操作)后,相机应用调用应用框架层的相机访问接口,启动相机应用,进而通过调用相机硬件抽象层中的相机设备,例如相机设备1,发送启动相机应用的指令,相机硬件抽象层将该指令发送到驱动层的相机设备驱动,该相机设备驱动可以启动相机设备对应的传感器,例如传感器1,然后通过传感器采集图像光信号,并将该图像光信号传输到图像信号处理器进行预处理,得到RAW图,然后将该原始流通过相机设备驱动传回至相机硬件抽象层。

相机硬件抽象层可将RAW图图像流发送的相机算法库。基于数字信号处理器、图像处理器的支持,相机算法库可对RAW图图像流进行下采样,得到低分辨率的处理流(Tiny流)。

然后,基于数字信号处理器、图像处理器的支持,相机算法库可调用主体检测算法、动作评价算法、人脸检测算法、人脸属性算法、清晰度算法等感知算法,获取评价图像内容和图像质量各项数据。

在手动抓拍中,基于上述数据以及摄像头和/或其他传感器上报的数据,相机算法库可确定窗口的最佳帧,然后向HAL上报最佳帧事件。在自动抓拍中,基于上述数据以及摄像头和/或其他传感器上报的数据,相机算法库可确定图像是否满足预设条件,进而确定图像是否精彩。在识别到精彩图像帧之后,相机算法库可向HAL上报自动抓拍事件。

在手动抓拍中,在接收到最佳帧事件后,HAL可依据事件中携带的帧号,从接受到的RAW图图像流中获取对应的图像帧,并将其缓存到专用缓冲区,在检测到拍摄操作后,专用缓冲区中获取最好的最佳帧输出为精彩照片。其间,HAL还可调用相机算法库对触发自动抓拍的精彩图像帧进行其他图像处理,例如饱和度优化算法、曝光补偿算法、美颜/美体算法,以获得效果更好的图像。

在自动抓拍中,在接收到自动抓拍事件后,HAL可依据事件中携带的帧号,从接受到的RAW图图像流中获取对应的图像帧,进而输出为精彩照片。

在生成照片及其缩略图之后,HAL可将上述图像数据通过相机访问接口,返回到相机应用。随后,相机应用以及图库应用可在窗口管理器的支持下,向用户展示拍得的照片。

图13是本申请实施例提供的电子设备100的结构示意图。

电子设备100可以包括处理器110,外部存储器接口120,内部存储器129,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块145,电池146,天线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可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器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)接口等。

I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。

MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。

USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。

可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池146充电的同时,还可以通过电源管理模块145为电子设备供电。

电源管理模块145用于连接电池146,充电管理模块140与处理器110。电源管理模块145接收电池146和/或充电管理模块140的输入,为处理器110,内部存储器129,显示屏194,摄像头193,和无线通信模块160等供电。

电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。显示面板还可以采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等制造。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。

在本申请实施例中,电子设备100可通过GPU,显示屏194,以及应用处理器等器件提供的显示功能,显示如图4A-图4C、图5A-图5H、图6A-图6D、图7A-图7J、图10A-图10E、图11A-图11H所示的用户界面。

电子设备100可以通过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等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。

视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。

在本申请实施例中,电子设备100可通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等提供的拍摄功能,获取图像,实施手动抓拍和/或自动抓拍。

内部存储器129可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。

在本申请实施例中,手动抓拍和/或自动抓拍对应的计算机程序代码可存储在NVM中。在启用手动抓拍和/或自动抓拍时,对应的程序代码可被挂载到RAM中。处理器110可直接读取RAM中的程序代码,实现手动抓拍和/或自动抓拍。手动抓拍和/或自动抓拍获得的精彩照片及其缩略图等图像文件可被写入到NVM中保存,以供用户随时读取浏览。

外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将手动抓拍和/或自动抓拍获得的精彩照片及其缩略图等图像文件保存在外部的非易失性存储器中。

电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如,在开启相机应用后,相机应用可调用音频模块170获取环境音频信号,与摄像头等器件生成的图像流组合形成视频。

压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。

陀螺仪传感器180B可以用于检测电子设备100在各个方向上(一般为三轴)角速度的大小。加速度传感器180E可检测电子设备100在各个方向上加速度的大小。陀螺仪传感器180B与加速度传感器180E可用于确定电子设备100的运动姿态。在本申请实施例中,加速度传感器180E、陀螺仪传感器180B上报的数据可用于确定设备运动状态,进而辅助确定对应时刻的图像是否会抖动、重影等等。

气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。距离传感器180F用于测量距离。在拍摄场景中,电子设备100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以用于确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。在拍摄场景中,环境光传感器180L也可用于拍照时自动调节白平衡。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。骨传导传感器180M可以获取振动信号。

触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。

在本申请实施例中,电子设备100可通过触摸传感器180K提供的触控检测功能,识别是否有作用于屏幕以及作用于屏幕哪一位置哪一类型的触控操作,进而实现用户界面的切换,显示如图4A-图4C、图5A-图5H、图6A-图6D、图7A-图7J、图10A-图10E、图11A-图11H所示的用户界面,以供用户获取手动抓拍/自动抓拍服务。

按键190包括开机键,音量键等。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。指示器192可以是指示灯。SIM卡接口195用于连接SIM卡。

本申请的说明书和权利要求书及附图中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在终端设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等控件。控件(control)也称为部件(widget),是用户界面的基本元素,典型的控件有工具栏(toolbar)、菜单栏(menu bar)、文本框(text box)、按钮(button)、滚动条(scrollbar)、图片和文本。界面中的控件的属性和内容是通过标签或者节点来定义的,比如XML通过

等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybrid application)的界面中通常还包含有网页。网页,也称为页面,可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言(hyper text markup language,HTML),层叠样式表(cascading stylesheets,CSS),java脚本(JavaScript,JS)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的内容。网页所包含的具体内容也是通过网页源代码中的标签或者节点来定义的,比如HTML通过

用户界面常用的表现形式是图形用户界面(graphic user interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。

在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

相关技术
  • 一种利用三维电影拍摄设备拍摄电影的方法
  • 一种拍摄目标的三维坐标估计方法和拍摄设备
  • 一种拍摄方法、图像的显示方法、系统及设备
  • 金属组织的拍摄条件确定方法、金属组织的拍摄方法、金属组织的相分类方法、金属组织的拍摄条件确定装置、金属组织的拍摄装置、金属组织的相分类装置、金属材料的材料特性预测方法及金属材料的材料特性预测装置
  • 图像拍摄装置、通过使用多个图像拍摄装置执行拍摄的图像拍摄系统及其图像拍摄方法
技术分类

06120116483633