拍照方法、装置及存储介质与流程

未命名 09-24 阅读:61 评论:0


1.本公开涉及终端技术领域,尤其涉及一种拍照方法、装置及存储介质。


背景技术:

2.终端上相机的拍照功能已经发展进入非常成熟的阶段,是终端必不可少的功能之一。其中,相机拍照速度的提升是目前持续优化的方向。
3.相关技术中,在实施拍照时,在用户按下快门按钮到完成拍照的过程,会出现卡顿的拍照体验。


技术实现要素:

4.为克服相关技术中存在的问题,本公开提供一种拍照方法、装置及存储介质。
5.根据本公开实施例的第一方面,提供一种拍照方法,应用于终端,所述拍照方法包括:
6.确定所述终端的相机应用被触发进行拍照,控制所述相机应用向所述终端的硬件抽象层发送拍照请求;在确定所述硬件抽象层接收到所述拍照请求时,在最近一次相机快门事件返回时机,向所述相机应用返回所述拍照请求对应的相机快门事件;在确定所述相机应用接收到所述相机快门事件时,执行拍照。
7.一种实施方式中,所述确定所述终端的相机应用被触发进行拍照,包括:
8.若检测到所述相机应用中的拍照按钮被按下的按键事件,则确定所述终端的相机应用被触发进行拍照。
9.一种实施方式中,所述检测到所述相机应用中的拍照按钮被按下的按键事件,包括:
10.若检测到所述相机应用中的拍照按钮被按下的时长大于设定时长阈值,则确定检测到所述相机应用中的拍照按钮被按下的按键事件。
11.一种实施方式中,所述方法还包括:若检测到所述相机应用中的拍照按钮被按下的时长小于或等于所述设定时长阈值,则取消拍照。
12.一种实施方式中,所述方法还包括:统计所述相机应用在设定次数拍照中触发各次拍照所对应的拍照按钮被按下至抬起的时长;基于统计的各时长,确定目标阈值;若所述目标阈值小于所述设定时长阈值,则将所述设定时长阈值更新为所述目标阈值。
13.一种实施方式中,所述确定所述终端的相机应用被触发进行拍照,包括:
14.确定所述终端的相机应用被触发进行零快门延迟拍照。
15.一种实施方式中,所述方法还包括:在确定所述相机应用接收到所述相机快门事件时,播放快门声。
16.根据本公开实施例第二方面,提供一种拍照装置,所述拍照装置包括:
17.检测单元,用于确定所述终端的相机应用被触发进行拍照,控制所述相机应用向所述终端的硬件抽象层发送拍照请求;处理单元,用于在确定所述硬件抽象层接收到所述
拍照请求时,在最近一次相机快门事件返回时机,向所述相机应用返回所述拍照请求对应的相机快门事件;在确定所述相机应用接收到所述相机快门事件时,执行拍照。
18.一种实施方式中,所述检测单元采用如下方式确定所述终端的相机应用被触发进行拍照:若检测到所述相机应用中的拍照按钮被按下的按键事件,则确定所述终端的相机应用被触发进行拍照。
19.一种实施方式中,所述检测单元采用如下方式检测到所述相机应用中的拍照按钮被按下的按键事件:若检测到所述相机应用中的拍照按钮被按下的时长大于设定时长阈值,则确定检测到所述相机应用中的拍照按钮被按下的按键事件。
20.一种实施方式中,所述检测单元还用于:在检测到所述相机应用中的拍照按钮被按下的时长小于或等于所述设定时长阈值的情况下,则取消拍照。
21.一种实施方式中,所述处理单元还用于:统计所述相机应用在设定次数拍照中触发各次拍照所对应的拍照按钮被按下至抬起的时长;基于统计的各时长,确定目标阈值;若所述目标阈值小于所述设定时长阈值,则将所述设定时长阈值更新为所述目标阈值。
22.一种实施方式中,所述检测单元采用如下方式确定所述终端的相机应用被触发进行拍照:确定所述终端的相机应用被触发进行零快门延迟拍照。
23.一种实施方式中,所述处理单元还用于:在确定所述相机应用接收到所述相机快门事件时,播放快门声。
24.根据本公开实施例第三方面,提供一种拍照装置,包括:
25.处理器;用于存储处理器可执行指令的存储器;
26.其中,所述处理器被配置为:执行第一方面或者第一方面任意一种实施方式中所述的拍照方法。
27.根据本公开实施例第四方面,提供一种存储介质,所述存储介质中存储有指令,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行第一方面或者第一方面任意一种实施方式中所述的拍照方法。
28.本公开的实施例提供的技术方案可以包括以下有益效果:在终端的相机应用被触发进行拍照时,硬件抽象层接收到拍照请求时,在最近一次相机快门事件返回时机,向相机应用返回拍照请求对应的相机快门事件,触发相机应用实时执行拍照,能够提升终端的拍照速度,改善拍照卡顿现象,提高拍照体验。
29.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
30.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
31.图1是根据一示例性实施例中示出的一种基于相机架构服务进行拍照的过程进行数据缓存的示意图。
32.图2示出了相关技术中相机应用与硬件抽象层进行拍照时信令处理过程示意图。
33.图3是根据一示例性实施例示出的一种拍照方法的流程图。
34.图4示出了本公开一示例性实施例中相机应用与硬件抽象层进行拍照时信令处理
过程示意图。
35.图5示出了本公开一示例性实施例中相机应用与硬件抽象层进行拍照时信令处理过程示意图。
36.图6是根据一示例性实施例示出的一种拍照方法的流程。
37.图7示出了本公开一示例性实施例中相机应用与硬件抽象层进行拍照时信令处理过程示意图。
38.图8是根据一示例性实施例示出的一种拍照装置框图。
39.图9是根据一示例性实施例示出的一种用于拍照的装置的框图。
具体实施方式
40.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。
41.本公开提供的拍照方法应用于安装有相机应用的终端进行拍照场景。其中,相机应用为终端的一种应用程序(application,app)。其中,终端中支持相机架构服务以支持相机应用进行拍照。图1是根据一示例性实施例中示出的一种基于相机架构服务进行拍照的过程进行数据缓存的示意图。相机应用被启动拍照后,相机应用以帧为单位一帧一帧的请求yuv格式图像进行预览。相机的硬件抽象层(hardware abstraction layer,hal)也是以帧为单位一帧一帧返回,同时相机传感器(sensor)输出的每一帧原始图像(raw)数据会进行缓存,在hal层有环形缓存队列维护,以便进行多帧降噪和拍照。终端的相机应用被启动后,会在显示界面上显示拍照按钮,用户点击拍照按钮(按下并抬起),触发本次拍照请求向硬件抽象层的发送。硬件抽象层收到本次拍照请求后,将该拍照请求加入到预览请求队列中,通常会有6-n帧的预览请求被挂起。例如,本次拍照请求为105帧,相机应用的预览请求队列中已缓存有预览请求100帧、预览请求101帧、预览请求102帧、预览请求103帧以及预览请求104帧。在用户点击拍照按钮后将拍照请求105帧中加入到预览请求队列中。相机hal层返回yuv格式预览图像并缓存原始图像数据。其中,相机hal层返回的yuv格式预览图像105帧也是在yuv格式预览图像100帧、yuv格式预览图像101帧、yuv格式预览图像102帧、yuv格式预览图像103帧以及yuv格式预览图像104帧之后。相机hal层缓存的原始图像数据105帧也需要在原始图像数据100帧、原始图像数据101帧、原始图像数据102帧、原始图像数据103帧以及原始图像数据104帧之后。
42.本公开实施例提供的拍照方法应用于拍照场景。例如应用于零快门延迟(zero shutter lag,zsl)拍照场景。其中,zsl拍照,也称为零快门拍照,不需要高动态范围图像(high dynamic range imaging,hdr),不需要闪光灯,不需要曝光值(exposure value,ev)补偿等。其中,拍照主要是指使用之前已预览出图的原始图像(raw)数据进行拍照,无需等待本次拍照请求的raw数据。在确定接收到本次拍照请求对应的相机快门(shutter)事件时,确定相机应用已收到本次拍照请求的raw数据,播放快门声,提示用户完成本次拍照。在完成本次拍照后,可以进行下一次拍照。
43.其中,用户在相机应用中按下拍照按钮,触发本次拍照请求发送到终端硬件抽象层,终端硬件抽象层将本次拍照请求加入到预览请求队列中,并在用户抬起拍照按钮时,触
发shutter事件。硬件抽象层收到本次拍照请求的shutter事件后,并播放快门声。然而,此过程将会造成拍照卡顿的体验。例如,参阅图2所示,用户点击拍照按钮是一个过程,按下拍照按钮
‑‑
》抬起拍照按钮,这个过程大概在35-120ms之间。当用户抬起拍照按钮,相机应用进行第100帧拍照请求的下发到硬件抽象层,对于该第100帧拍照请求的shutter事件需要加到已缓存的shutter事件队列中,例如图2中需要在第95帧拍照请求的shutter事件、第96帧拍照请求的shutter事件、第97帧拍照请求的shutter事件、第98帧拍照请求的shutter事件以及第99帧拍照请求的shutter事件之后。相机应用收到第100帧拍照请求的shutter事件,时间大概在6-7帧时间,按照帧率30fps计算,一帧时间在33ms,也就是需要等待7*33ms,为221ms。加上相机服务层的1帧延迟,总共为250ms。故,参阅图2所示,自用户点击拍照按钮至快门声播放的时间大概在300ms左右(250ms+用户点击按钮的时间),用户拍照按下到抬起的时间大概在60-120ms。这种拍照体验有卡顿的感觉,对用户体验不是很好,尤其对于zsl拍照是背离的。
44.有鉴于此,本公开实施例提供一种拍照方法,在该拍照方法中对shutter事件的时间进行优化,以减少用户从按下拍照按钮至播放快门声的时间。
45.一种实施方式中,本公开实施例中,在相机应用被触发发送拍照请求至硬件抽象层,确定硬件抽象层收到本次拍照请求后,实时向相机应用返回本次拍照请求对应的shutter事件并播放快门声。
46.图3是根据一示例性实施例示出的一种拍照方法的流程图,如图3所示,拍照方法用于终端中,包括以下步骤。
47.在步骤s11中,确定终端的相机应用被触发进行拍照。
48.在步骤s12中,控制相机应用向终端的硬件抽象层发送拍照请求。
49.在步骤s13中,在确定硬件抽象层接收到拍照请求时,在最近一次相机快门事件返回时机,向相机应用返回拍照请求对应的相机快门事件,并在确定相机应用接收到相机快门事件时,执行拍照。
50.本公开实施例中,终端的相机应用可以理解为是终端中安装的用于拍照的应用程序,该应用程序被启动运行后在显示界面上会显示触发拍照的拍照按钮。用户通过点击拍照按钮触发终端的相机应用执行拍照操作。
51.其中,本公开实施例中针对相机应用被触发进行拍照的场景。
52.本公开实施例中,终端检测到用户对拍照按钮的操作,可以确定针对相机应用被触发进行拍照。
53.其中,本公开实施例中涉及的拍照可以是zsl拍照方案。zsl拍照能够提高用户感知的拍照速度。其中,zsl拍照主要是指使用之前已预览出图的原始图像(raw)数据进行拍照,无需等待本次拍照请求的raw数据。
54.本公开实施例中,一示例中,可以确定相机应用当前状态满足进行zsl拍照的状态,触发进行zsl拍照。
55.一示例中,若检测到相机应用的用户对拍照按钮的操作而未检测到诸如hdr、闪光灯、ev补偿等其它操作,确定终端的相机应用被触发进行zsl拍照。另一示例中,若检测到相机应用被触发进入zsl拍照模式,确定终端的相机应用被触发进行zsl拍照。又一示例中,若检测到终端的相机应用当前预览界面中显示预览图像的亮度以及场景满足进行zsl拍照的
亮度以及场景,则确定终端的相机应用被触发进行zsl拍照。
56.本公开实施例中,控制相机应用向终端的硬件抽象层发送拍照请求,以及硬件抽象层接收拍照请求的过程,可以基于相机框架服务层,例如android camera2相机框架。例如,相机应用被触发拍照,相机应用向终端的相机框架服务层发送拍照请求,由相机框架服务层发送拍照请求至硬件抽象层。
57.本公开实施例中,确定硬件抽象层接收到拍照请求时,在最近一次相机快门事件返回时机返回拍照请求对应的shutter事件,以在硬件抽象层接收到本次拍照请求后直接返回本次拍照请求的shutter事件至相机应用,并更新本次拍照请求的shutter事件已处理完成。硬件抽象层经由相机框架服务层向相机应用发送shutter事件。当终端的相机应用接收到shutter事件后,可执行拍照。
58.其中,本公开实施例中,最近一次相机快门事件返回时机可以理解为是硬件抽象层接收到拍照请求后,距离接收到该拍照请求最近一次的快门事件返回时机。
59.更进一步的,本公开实施例一种实施方式中,在确定终端的相机应用接收到相机快门事件时,可以控制终端播放快门声,并执行拍照。
60.其中,本公开实施例中涉及的终端的硬件抽象层有时也称为hal provider。图4示出了本公开一示例性实施例中相机应用与硬件抽象层进行拍照时信令处理过程示意图。参阅图4所示,用户按下相机应用的拍照按钮并在抬起拍照按钮时,触发本次拍照请求100至相机应用。相机应用将本次拍照请求100发送至硬件抽象层。硬件抽象层确定本次拍照请求100为拍照,在最近一次shutter事件返回时机(例如图4中距离拍照请求100最近的一次shutter事件返回时机为shutter事件96)直接返回本次拍照请求100所对应的shutter事件100至相机应用,并更新本次拍照请求100所对应的shutter事件已处理完成。相机应用接收到本次拍照请求100所对应的shutter事件100即可直接播放快门声。对比图2和图4可知,应用本公开实施例提供的拍照方法的图4中,相机快门声的播放已提前至shutter事件96处,快门声的播放提前了大概150ms,故通过本公开实施例提供的拍照方法,可以使自相机应用被触发进行拍照至播放快门声完成拍照的时间缩短,优化了拍照卡顿现象。
61.进一步的,本公开实施例提供的拍照方法可以对触发相机应用进行拍照的按键事件进行优化。
62.一种实施方式中,本公开实施例中可以在检测到相机应用中的拍照按钮被按下的按键事件时,直接触发终端的相机应用进行拍照,而无需等到抬起拍照按钮的操作,实现拍照按钮被按下即触发拍照请求的发送,进一步优化相机应用被触发进行拍照至播放快门声完成拍照的时间。
63.图5示出了本公开一示例性实施例中相机应用与硬件抽象层进行拍照时信令处理过程示意图。参阅图5所示,用户按下相机应用的拍照按钮,触发本次拍照请求100至相机应用,而无需等待用户抬起相机应用的拍照按钮。相机应用将本次拍照请求100发送至硬件抽象层。硬件抽象层确定本次拍照请求100为拍照,直接返回本次拍照请求100所对应的shutter事件100至相机应用,并更新本次拍照请求100所对应的shutter事件已处理完成。相机应用接收到本次拍照请求100所对应的shutter事件100即可直接播放快门声。
64.进一步的,本公开实施例中为避免相机应用的拍照按钮被误触按下(例如用户手抖动),可以在进行拍照请求发送至硬件抽象层之前,确定相机应用中的拍照按钮被按下的
按键事件为触发拍照的正常操作所触发的按键事件。进而,本公开实施例一方面,在确定按键事件为触发拍照的正常操作所触发的按键事件的情况下,执行正常的拍照流程。其中,正常操作可以理解为是需要触发执行拍照的操作。其中,正常的拍照流程可以理解为是将拍照请求发送至硬件抽象层,并由硬件抽象层返回shutter事件并播放快门声、执行拍照的流程。
65.本公开实施例另一方面,若确定按键事件为误触操作所触发的按键事件,则取消向终端的硬件抽象层发送拍照请求,以取消本次拍照,避免误触操作情况下进行拍照。其中,误触操作可以理解为是不需要触发执行拍照的操作。
66.图6是根据一示例性实施例示出的一种拍照方法的流程图,如图6所示,拍照方法用于终端中,包括以下步骤。
67.在步骤s21中,检测到相机应用中的拍照按钮被按下的按键事件。
68.在步骤s22中,判断拍照按钮被按下的按键事件是否为触发拍照的正常操作所触发的按键事件。
69.其中,若拍照按钮被按下的按键事件为触发拍照的正常操作所触发的按键事件,则执行步骤s23,控制相机应用向终端的硬件抽象层发送拍照请求。若拍照按钮被按下的按键事件为误触操作所触发拍照的正常操作所触发的按键事件,则执行步骤s25,取消本次拍照。
70.在步骤s24中,在确定硬件抽象层接收到拍照请求时,在最近一次相机快门事件返回时机,向相机应用返回拍照请求对应的相机快门事件,并播放拍照快门声。
71.本公开实施例中,在检测到相机应用中的拍照按钮被按下的按键事件,直接触发本次拍照请求的发送,能够进一步优化相机应用被触发进行拍照至播放快门声完成拍照的时间。并且,本公开实施例中在确定按键事件为误触操作所触发的按键事件,则取消向终端的硬件抽象层发送拍照请求,以取消本次拍照,避免误触操作触发拍照执行。
72.本公开实施例中,以下对判断拍照按钮被按下的按键事件是否为触发拍照的正常操作所触发的按键事件的执行过程进行说明。
73.本公开实施例中,可以设置用于检测拍照按钮是否为正常被按下的时长阈值,通过该时长阈值与相机应用中的拍照按钮被按下的时长,确定照按钮被按下的按键事件是否为触发拍照的正常操作所触发的按键事件。
74.其中,拍照按钮被点击(按下并抬起)的时长通常在35~120ms。本公开实施例中,检测拍照按钮是否为正常被按下的设定时长阈值可以设置为35左右的时间阈值范围,例如,该时间阈值为35
±
参数浮动范围。
75.其中,本公开实施例中设定时长阈值可以是终端出厂设置的默认值。该默认值可以是基于经验值设定。
76.进一步的,本公开实施例中,在终端被用户使用后,可以基于用户进行拍照时的按压时长,对设定时长阈值进行更新,以使拍照体验符合用户的使用习惯。
77.一示例中,本公开实施例中,在终端被用户使用后,统计相机应用在设定次数拍照中触发各次拍照所对应的拍照按钮被按下至抬起的时长。基于统计的各时长,确定目标阈值。该目标阈值例如可以是各次拍照时统计的时长均值。
78.本公开实施例中,可以基于得到的目标阈值与已设定时长阈值进行比较,若目标
阈值小于设定时长阈值,则将设定时长阈值更新为目标阈值,后续将该目标阈值作为进行判断是否触发执行拍照的设定时长阈值,满足用户实际拍照习惯,更快的提高拍照速度。
79.其中,若目标阈值大于或等于设定时长阈值,则可保持设定时长阈值不变。
80.一种实施方式中,若相机应用中的拍照按钮被按下的时长大于设定时长阈值,则确定检测到相机应用中的拍照按钮被按下的按键事件,也可以理解为检测到的按键事件为触发拍照的正常操作所触发的按键事件。另一方面,若相机应用中的拍照按钮被按下的时长小于或等于设定时长阈值,则确定按键事件为触发拍照的误触操作所触发的按键事件,取消拍照。
81.图7示出了本公开一示例性实施例中相机应用与硬件抽象层进行拍照时信令处理过程示意图。参阅图7所示,用户按下相机应用的拍照按钮,触发本次拍照请求100至相机应用,而无需等待用户抬起相机应用的拍照按钮。相机应用将本次拍照请求100发送至硬件抽象层。硬件抽象层确定本次拍照请求100为拍照,直接返回本次拍照请求100所对应的shutter事件100至相机应用,并更新本次拍照请求100所对应的shutter事件已处理完成。相机应用接收到本次拍照请求100所对应的shutter事件100后确定本次拍照是否有效,即判断拍照按钮被按下的按键事件是否为触发拍照的正常操作所触发的按键事件。也可以理解为是判断本次用户点击拍照为正常拍照还是手抖动。其中,当本次拍照为正常拍照时,走正常拍照流程。当本次拍照为手抖动作,取消本次拍照。
82.参阅图7所示,本公开实施例中通过优化触发拍照请求的按键事件,可以优化掉用户35-120ms时间,取平均值为78ms。shutter事件触发的快门声的播放优化了大概150ms。故,通过本公开实施例提供的拍照方法,自用户触发拍照至播放快门声完成本次拍照,时长由原来的300ms优化至目前的72ms,优化了228ms,缩短了拍照时间,实现了用户按下即拍照的快速拍照体验。
83.基于相同的构思,本公开实施例还提供一种拍照装置。
84.可以理解的是,本公开实施例提供的拍照装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本公开实施例中所公开的各示例的单元及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的技术方案的范围。
85.图8是根据一示例性实施例示出的一种拍照装置框图。参照图8,该拍照装置100包括检测单元101和处理单元102。
86.检测单元101,用于确定终端的相机应用被触发进行拍照,控制相机应用向终端的硬件抽象层发送拍照请求;处理单元102,用于在确定硬件抽象层接收到拍照请求时,在最近一次相机快门事件返回时机,向相机应用返回拍照请求对应的相机快门事件;在确定相机应用接收到相机快门事件时,执行拍照。
87.一种实施方式中,检测单元101采用如下方式确定终端的相机应用被触发进行拍照:若检测到相机应用中的拍照按钮被按下的按键事件,则确定终端的相机应用被触发进行拍照。
88.一种实施方式中,检测单元101采用如下方式检测到相机应用中的拍照按钮被按
下的按键事件:若检测到相机应用中的拍照按钮被按下的时长大于设定时长阈值,则确定检测到相机应用中的拍照按钮被按下的按键事件。
89.一种实施方式中,检测单元101还用于:在检测到相机应用中的拍照按钮被按下的时长小于或等于设定时长阈值的情况下,则取消拍照。
90.一种实施方式中,处理单元102还用于:统计相机应用在设定次数拍照中触发各次拍照所对应的拍照按钮被按下至抬起的时长;基于统计的各时长,确定目标阈值;若目标阈值小于设定时长阈值,则将设定时长阈值更新为目标阈值。
91.一种实施方式中,检测单元101采用如下方式确定所述终端的相机应用被触发进行拍照:确定所述终端的相机应用被触发进行零快门延迟拍照。
92.一种实施方式中,处理单元102还用于:在确定所述相机应用接收到所述相机快门事件时,播放快门声。
93.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
94.图9是根据一示例性实施例示出的一种用于拍照的装置200的框图。例如,装置200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
95.参照图9,装置200可以包括以下一个或多个组件:处理组件202,存储器204,电力组件206,多媒体组件208,音频组件210,输入/输出(i/o)接口212,传感器组件214,以及通信组件216。
96.处理组件202通常控制装置200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件202可以包括一个或多个处理器220来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件202可以包括一个或多个模块,便于处理组件202和其他组件之间的交互。例如,处理组件202可以包括多媒体模块,以方便多媒体组件208和处理组件202之间的交互。
97.存储器204被配置为存储各种类型的数据以支持在装置200的操作。这些数据的示例包括用于在装置200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
98.电力组件206为装置200的各种组件提供电力。电力组件206可以包括电源管理系统,一个或多个电源,及其他与为装置200生成、管理和分配电力相关联的组件。
99.多媒体组件208包括在所述装置200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件208包括一个前置摄像头和/或后置摄像头。当装置200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和
后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
100.音频组件210被配置为输出和/或输入音频信号。例如,音频组件210包括一个麦克风(mic),当装置200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器204或经由通信组件216发送。在一些实施例中,音频组件210还包括一个扬声器,用于输出音频信号。
101.i/o接口212为处理组件202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
102.传感器组件214包括一个或多个传感器,用于为装置200提供各个方面的状态评估。例如,传感器组件214可以检测到装置200的打开/关闭状态,组件的相对定位,例如所述组件为装置200的显示器和小键盘,传感器组件214还可以检测装置200或装置200一个组件的位置改变,用户与装置200接触的存在或不存在,装置200方位或加速/减速和装置200的温度变化。传感器组件214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件214还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
103.通信组件216被配置为便于装置200和其他设备之间有线或无线方式的通信。装置200可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件216还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
104.在示例性实施例中,装置200可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
105.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器204,上述指令可由装置200的处理器220执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
106.可以理解的是,本公开中“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
107.进一步可以理解的是,术语“第一”、“第二”等用于描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
108.进一步可以理解的是,本公开实施例中尽管在附图中以特定的顺序描述操作,但
是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
109.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
110.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利范围来限制。

技术特征:
1.一种拍照方法,其特征在于,应用于终端,所述拍照方法包括:确定所述终端的相机应用被触发进行拍照,控制所述相机应用向所述终端的硬件抽象层发送拍照请求;在确定所述硬件抽象层接收到所述拍照请求时,在最近一次相机快门事件返回时机,向所述相机应用返回所述拍照请求对应的相机快门事件;在确定所述相机应用接收到所述相机快门事件时,执行拍照。2.根据权利要求1所述的拍照方法,其特征在于,所述确定所述终端的相机应用被触发进行拍照,包括:若检测到所述相机应用中的拍照按钮被按下的按键事件,则确定所述终端的相机应用被触发进行拍照。3.根据权利要求2所述的拍照方法,其特征在于,所述检测到所述相机应用中的拍照按钮被按下的按键事件,包括:若检测到所述相机应用中的拍照按钮被按下的时长大于设定时长阈值,则确定检测到所述相机应用中的拍照按钮被按下的按键事件。4.根据权利要求3所述的拍照方法,其特征在于,所述方法还包括:若检测到所述相机应用中的拍照按钮被按下的时长小于或等于所述设定时长阈值,则取消拍照。5.根据权利要求3或4所述的拍照方法,其特征在于,所述方法还包括:统计所述相机应用在设定次数拍照中,触发各次拍照所对应的拍照按钮被按下至抬起的时长;基于统计的各时长,确定目标阈值;若所述目标阈值小于所述设定时长阈值,则将所述设定时长阈值更新为所述目标阈值。6.根据权利要求1所述的拍照方法,其特征在于,所述确定所述终端的相机应用被触发进行拍照,包括:确定所述终端的相机应用被触发进行零快门延迟拍照。7.根据权利要求1所述的拍照方法,其特征在于,所述方法还包括:在确定所述相机应用接收到所述相机快门事件时,播放快门声。8.一种拍照装置,其特征在于,所述拍照装置包括:检测单元,用于确定终端的相机应用被触发进行拍照,控制所述相机应用向所述终端的硬件抽象层发送拍照请求;处理单元,用于在确定所述硬件抽象层接收到所述拍照请求时,在最近一次相机快门事件返回时机,向所述相机应用返回所述拍照请求对应的相机快门事件;在确定所述相机应用接收到所述相机快门事件时,执行拍照。9.根据权利要求8所述的拍照装置,其特征在于,所述检测单元采用如下方式确定所述终端的相机应用被触发进行拍照:若检测到所述相机应用中的拍照按钮被按下的按键事件,则确定所述终端的相机应用被触发进行拍照。10.根据权利要求9所述的拍照装置,其特征在于,所述检测单元采用如下方式检测到
所述相机应用中的拍照按钮被按下的按键事件:若检测到所述相机应用中的拍照按钮被按下的时长大于设定时长阈值,则确定检测到所述相机应用中的拍照按钮被按下的按键事件。11.根据权利要求10所述的拍照装置,其特征在于,所述检测单元还用于:在检测到所述相机应用中的拍照按钮被按下的时长小于或等于所述设定时长阈值的情况下,则取消拍照。12.根据权利要求10或11所述的拍照装置,其特征在于,所述处理单元还用于:统计所述相机应用在设定次数拍照中,触发各次拍照所对应的拍照按钮被按下至抬起的时长;基于统计的各时长,确定目标阈值;若所述目标阈值小于所述设定时长阈值,则将所述设定时长阈值更新为所述目标阈值。13.根据权利要求8所述的拍照装置,其特征在于,所述检测单元采用如下方式确定所述终端的相机应用被触发进行拍照:确定所述终端的相机应用被触发进行零快门延迟拍照。14.根据权利要求8所述的拍照装置,其特征在于,所述处理单元还用于:在确定所述相机应用接收到所述相机快门事件时,播放快门声。15.一种拍照装置,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:执行权利要求1至7中任意一项所述的拍照方法。16.一种存储介质,其特征在于,所述存储介质中存储有指令,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行权利要求1至7中任意一项所述的拍照方法。

技术总结
本公开是关于一种拍照方法、装置及存储介质。拍照方法,应用于终端,所述拍照方法包括:确定所述终端的相机应用被触发进行拍照,控制所述相机应用向所述终端的硬件抽象层发送拍照请求;在确定所述硬件抽象层接收到所述拍照请求时,在最近一次相机快门事件返回时机,向所述相机应用返回所述拍照请求对应的相机快门事件;在确定所述相机应用接收到所述相机快门事件时,执行拍照。通过本公开能够提升终端的拍照速度,改善拍照卡顿现象,提高拍照体验。提高拍照体验。提高拍照体验。


技术研发人员:黄敬斌 张凯
受保护的技术使用者:北京小米移动软件有限公司
技术研发日:2022.03.15
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐