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

拍摄过程中切屏的方法和装置

文献发布时间:2024-04-18 20:01:30


拍摄过程中切屏的方法和装置

技术领域

本申请涉及电子设备技术领域,尤其涉及一种拍摄过程中切屏的方法和装置。

背景技术

随着技术发展,出现了屏幕可折叠的电子设备,使得屏幕的工作状态变得多样化。比如一个电子设备可以是折叠状态,也可以是全屏状态,折叠还分为外折叠和内折叠,外折叠之后两个屏幕成了背对背的状态,而内折叠后两个屏幕则是面对面的状态。但内折叠后,用户是无法再看到两个屏幕的。对于外折叠而言,用户是可以看到两个背对背的屏幕之一的,所以针对外折叠状态的电子设备而言,就会出现一种特有的操作行为,那就是翻转行为,当用户对电子设备进行翻转之后,就会改变朝向用户的人脸的屏幕,也就是用户看到的屏幕从两个背对背的屏幕中的一个变成了另一个。

对于外折叠状态的电子设备上的拍照或录像等拍摄场景而言,用户希望能够在翻转行为发生后,能更快的换成在另外一个屏幕上继续拍摄。举例说明,当用户在主屏上自拍的时候,觉得前置摄像头不够清晰,想要用后置摄像头看清自己的脸,就翻转了电子设备,使得副屏朝向用户的脸,此时用户是希望拍摄过程还能继续的,可是却由于相机应用还是运行在主屏上而不是副屏,用户朝向的是副屏,却无法在副屏上进行点击拍摄控件等交互操作,导致拍摄中断。如果用户想要转为用副屏继续拍摄,就需要根据电子设备预设的手动切换屏幕(切屏)的步骤来进行手动切换,还要手动选择切换了屏幕后用哪个摄像头拍摄,导致操作过于繁琐,而且如果是录像,操作时间过长中途就会录入较多用户并不想要的画面,甚至可能中断录像。

因此如何解决拍摄过程中手动切屏操作繁琐的问题,使得屏幕发生翻转后,拍摄过程能更好的进行接续是亟待解决的技术问题。

发明内容

本申请提供一种拍摄过程中切屏的方法和装置,能够解决拍摄过程中手动切屏操作繁琐的问题,使得屏幕发生翻转后,拍摄过程能更好的进行接续,提升用户使用体验。

第一方面,提供了一种拍摄过程中切屏的方法,该方法包括:在外折叠状态的电子设备的第一屏幕上运行相机应用;当相机应用的拍摄模式为自拍模式或双景模式时,按照预设缓存机制缓存利用第一摄像头采集的多帧图像;当检测到翻转事件后,从翻转事件前缓存的多帧图像中读取至少一帧图像;当至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像。

该方案中,第一摄像头的朝向与第一屏幕的朝向相同;翻转事件用于表示通过翻转电子设备使得第一屏幕的朝向与第二屏幕的朝向互换的交互事件;第二屏幕为外折叠状态的电子设备中与第一屏幕朝向相反的屏幕;第二摄像头的朝向与第二屏幕的朝向相同。

在本申请技术方案中,主要通过在拍摄过程中,主要通过翻转前缓存图像,翻转后根据拍照模式和翻转之前缓存的图像中的人脸情况来进行切屏,不需要手动操作,更加智能,提升用户使用体验。

结合第一方面,在第一方面的某些实现方式中,预设缓存机制可以包括:当第一存储单元中存储的图像数量小于第一存储单元的预设数量时,每次获取到一帧待缓存图像后,将该帧图像存储到第一存储单元中;或者,

当第一存储单元中存储的图像数量等于第一存储单元的预设数量时,每次获取到一帧待缓存图像后,将该帧图像替换第一存储单元中时间戳最早的一帧图像。

在这种缓存机制中,实现了定量缓存和缓存图像的实时更新,能够方便后续读取,且在满足需求的前提下,减小需要的存储空间。

当将缓存机制结合到缓存步骤中,即为,步骤“当相机应用的拍摄模式为自拍模式或双景模式时,按照预设缓存机制缓存利用第一摄像头采集的多帧图像”可以包括:当第一存储单元中存储的图像数量小于预设数量时,每次利用第一摄像头采集到一帧图像后,将采集到的该帧图像存储到第一存储单元中;或者,

当第一存储单元中存储的图像数量等于预设数量时,每次利用第一摄像头采集到一帧图像后,将采集到的该帧图像替换第一存储单元中时间戳最早的一帧图像。

结合第一方面,在第一方面的某些实现方式中,当相机应用的拍摄模式为自拍模式或双景模式时,按照预设缓存机制缓存利用第一摄像头采集的多帧图像,可以包括:

在自拍模式或双景模式下,每次利用第一摄像头采集到一帧图像后,利用人脸识别算法识别出采集到的该帧图像中的人脸信息,人脸信息包括图像中的人脸数量和人脸大小;

将该帧图像和该帧图像的人脸信息按照预设缓存机制进行缓存。

在这种实现方式中,会识别出每帧图像的人脸信息与该帧图像一起存储,在后续就可以基于人脸信息来做判断了。缓存这些图像和人脸信息并不会依赖于翻转事件的触发,所以对于翻转事件的检测和缓存图像可以同步执行,当翻转事件发生之后,就可以直接读取已经存储的数据,并不需要再次识别,缩短对于翻转事件的响应时间。

在一个例子中,用0表示没有人脸,然后与人脸数量大于或等于1的图像一起缓存,当人脸数量为0就是说这个图像中没有人脸。在另一个例子中,没有人脸的图像不进行缓存。

在一个例子中,识别出人脸信息后,在缓存的时候,只存储包含有人脸的图像,使得缓存的图像必然会包含有人脸。这样,对于模糊的图像、翻转事件发生时第一摄像头继续采集的图像以及其他摄像头采集的图像等就都不会被缓存,从而保证缓存的图像都是包含有人脸的图像。那么后续即使只从缓存图像中读取一帧图像也照样足以给出满足准确性要求的判定结果。

结合第一方面,在第一方面的某些实现方式中,当检测到翻转事件后,从翻转事件前缓存的多帧图像中读取至少一帧图像,可以包括:

从多帧图像中读取与翻转事件之间时间间隔最短的一帧或多帧图像,该读取的一帧或多帧图像即为至少一帧图像。

也就是读取的时候,读取的是最晚缓存的图像,或者说是自翻转事件发生时刻起,就没再缓存图像了,那么以该时刻为起点向前读取一定量图像作为上述读取的至少一帧图像即可。越接近翻转事件发生时采集的图像越能反映用户切屏需求。

应理解,如果只读取一帧图像,也可是实现本申请方案。为了防止不稳定性的发生,例如屏幕抖动导致某一帧或多帧缓存图像是模糊的,这就可能导致后续判断不准确,所以数量为多帧最好。而时间间隔过早图像可能已经不满足用户需求了,读取了做判断不仅增加了处理过程的繁琐,还可能导致判断失误。但是,当在缓存图像的时候利用了人脸识别算法来识别人脸信息了,此时可以只存储包含有人脸的图像,模糊的图像或者其他摄像头采集的图像等就都不会被缓存,也就在此处也不会被读取出来了,从而即使只读取一帧图像也照样足以用于后续判定。

还应理解,在本申请实施例中,由于翻转事件发生开始直到第一摄像头关闭或者拍摄模式发生变化,第一摄像头都还在采集图像,而且模式也还满足二者之一,所以这期间的第一摄像头采集的图像就有可能被缓存,而此处只考虑翻转事件前缓存的图像就可以排除掉这部分图像带来的干扰了,提高后续判定的准确性。

在一个例子中,从翻转事件前缓存的多帧图像中读取的至少一帧图像中,这至少一帧图像的时间戳晚于翻转事件前缓存的这多帧图像中除至少一帧图像中的其他图像的时间戳。在这个例子中,用时间戳来协助筛选想要读取的图像,取时间较近的图像来做判断,看有没有人脸,结果更准确。

结合第一方面,在第一方面的某些实现方式中,当至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像,可以包括:

当判定翻转前相机应用的拍摄模式为自拍模式或双景模式时,判断至少一帧图像中是否包含有满足预设条件的人脸,预设条件包括至少一帧图像中的人脸数量大于或等于预设值,和/或,至少一帧图像中的至少一个人脸的人脸大小在预设阈值范围内;

当判定至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像。

在这种实现方式中,包括了两项判定,第一项是对于拍摄模式的判定,第二项是对于人脸的判定,能够保证最后切屏的触发更准确,更加满足用户期望。

预设阈值范围可以是定值设置,比如根据人脸的大小的统计区间,以及臂展长度区间(超过臂展就不可能再进行翻转了,所以就不用考虑翻转的动作了,就不再是本申请所说的场景了),就可以计算在自拍的时候人脸在屏幕上呈现的大小的相对占比的区间。例如,可以统计一定数量的在伸直手臂状态下自拍时人脸在屏幕上的大小,也就是不同人的上述情况下在屏幕上的人脸大小,取平均值,作为预设阈值范围的最小值;统计一定数量的在保证人脸完整的情况下尽可能凑近屏幕自拍时人脸在屏幕上的大小,也就是不同人的上述情况下在屏幕上的人脸大小,取平均值,作为预设阈值范围的最大值,从而确定出上述人脸大小的预设阈值。又例如,预设阈值范围就是大于或等于第一大小,那么人脸大小在预设阈值范围内等同于人脸大小大于或等于第一大小。由于虽然特别近的时候会导致人脸在屏幕上不全,但只要还能识别出是有人脸的,就不影响判断,而且用户在使用手机,为了看清屏幕,本身也必然不会过度凑近屏幕,所以预设阈值范围可以没有最大值。

结合第一方面,在第一方面的某些实现方式中,当至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像,可以包括:

当判定翻转前相机应用的拍摄模式为自拍模式,且至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

在这种实现方式中,当是自拍模式的时候,就是拍摄的摄像头从第一摄像头换成了第二摄像头。

结合第一方面,在第一方面的某些实现方式中,当至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像,可以包括:

当判定翻转前相机应用的拍摄模式为自拍模式或双景模式,且至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

在这种实现方式中,不管是自拍模式还是双景模式,都直接换成用第二摄像头自拍。

结合第一方面,在第一方面的某些实现方式中,当至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像,可以包括:

当判定翻转前相机应用的拍摄模式为双景模式,且第一摄像头用于采集前景图像,第二摄像头用于采集后景图像,以及至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以双景模式运行;

利用第二摄像头采集前景图像,以及利用第一摄像头采集后景图像。

结合第一方面,在第一方面的某些实现方式中,在检测到翻转事件后,上述方法还包括:

当判定翻转前相机应用的拍摄模式既不是自拍模式,也不是双景模式时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

如果不是这两种模式,第一摄像头采集不到人脸,所以不需要进行有无人脸的判断,直接跳过这些步骤,直接切屏即可。

结合第一方面,在第一方面的某些实现方式中,当在第一屏幕上运行时的相机应用只支持自拍模式时,当至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像,可以包括:

判断至少一帧图像中是否包含有满足预设条件的人脸,预设条件包括人脸数量和/或人脸大小;

当判定至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

在这种实现方式中,对于只有自拍模式的情况,因为都是自拍了,不在需要去判断到底是哪种模式了,就可以直接判断人脸情况即可,且切屏后继续用自拍模式运行即可。在实际中,这种情况主要发生在翻转到副屏后又要再翻回主屏的情况,且副屏只支持自拍模式的时候。在再翻回主屏的过程中,第一屏幕成了副屏,第二屏幕成了主屏。

在检测到翻转事件后,上述方法还包括:当判定翻转前相机应用的拍摄模式既不是自拍模式,也不是双景模式时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

如果不是这两种模式,第一摄像头采集不到人脸,所以不需要进行有无人脸的判断,直接跳过这些步骤,直接切屏即可。

结合第一方面,在第一方面的某些实现方式中,当第一屏幕为主屏时,在外折叠状态的电子设备的第一屏幕上运行相机应用,可以包括:

响应于用户在主屏上对相机应用的启动控件的点击操作,在主屏上启动并运行相机应用。

在这种实现方式中,由于第一屏幕就是主屏,所以相机应用的运行是启动后运行,例如可以是点击相机应用的桌面图标启动相机应用。也可能是对于挂起在后台的相机应用,通过点击快照来热启动了这个相机应用。也就是说,启动控件可以是桌面图标也可以是快照。

应理解,对于副屏上能直接启动相机应用的电子设备而言,当第一屏幕是副屏的时候,也可以是响应于用户在副屏上对相机应用的启动控件的点击操作,在副屏上启动并运行相机应用。

但是对于无法在副屏上启动相机应用,只能在主屏上启动相机应用的电子设备而言,也就是说,当电子设备启动相机应用时,相机应用会默认在主屏上启动和运行,这种情况第一屏幕也可以是副屏,只是此时,在副屏上运行这件事是需要切屏操作的触发后才会发生的,这个切屏操作可能是手动切屏,也可能是本申请实施例方案中的切屏。

结合第一方面,在第一方面的某些实现方式中,当第一屏幕为副屏,第二屏幕为主屏时,相机应用是在主屏上启动后,响应于将主屏和副屏朝向互换的翻转事件切换至在副屏上运行的。

第二方面,提供了一种执行拍摄过程中切屏的转场动效的装置,该装置包括由软件和/或硬件组成的用于执行第一方面的任意一种方法的单元。

第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,当处理器执行计算机程序时使得该电子设备能够实现第一方面的任意一种方法。

第四方面,提供了一种芯片,包括处理器,该处理器用于读取并执行存储在存储器中的计算机程序,当计算机程序被处理器执行时使得该芯片所在的电子设备能够实现第一方面的任意一种方法。

可选地,该芯片还包括存储器,存储器与处理器电连接。

可选地,该芯片还可以包括通信接口。

第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当计算机程序被电子设备执行时能够实现第一方面的任意一种方法。

第六方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,当计算机程序被电子设备执行时能够实现第一方面的任意一种方法。

附图说明

图1是本申请的一种适用的可折叠电子设备的工作形态的示意图。

图2是一种拍摄过程中翻转电子设备后的界面示意图。

图3是本申请实施例的一种拍摄过程中切屏的结果示意图。

图4是本申请实施例的一种拍摄过程中切屏的方法的示意性流程图。

图5是本申请实施例的一种拍摄过程中切屏的执行过程的示意图。

图6是本申请实施例的一种拍摄过程中切屏的执行过程的示意图。

图7是本申请实施例的一种拍摄过程中切屏的方法的示意性流程图。

图8是自拍过程中切屏后再将电子设备翻面的过程示意图。

图9是双景拍摄过程中切屏后再将电子设备翻面的过程示意图。

图10是本申请实施例的一种执行拍摄过程中切屏的转场动效的装置的示意图。

图11是本申请实施例的一种电子设备的硬件结构示意图。

图12是本申请实施例的另一种电子设备的硬件结构示意图。

具体实施方式

下面结合附图对本申请实施例的方案进行介绍。

本申请针对的是外折叠状态的电子设备,在拍摄过程中在发生了翻转动作的场景,希望在翻转后能不需要用户的交互操作,就能够自动切屏,解决拍摄过程中手动切屏操作繁琐的问题,使得屏幕发生翻转后,拍摄过程能够相对智能的自动接续,提升用户使用体验。下面首先结合图1-图5对外折叠状态和手动切屏操作对于拍摄过程的影响进行介绍。

图1是本申请的一种适用的可折叠电子设备的工作形态的示意图。如图1所示,电子设备A的屏幕是可折叠的,该电子设备A可以是手机或平板电脑等。

图1中(a)所示的为全屏状态,当用户按照图1中(b)所示的折叠方向进行折叠,就会出现图1中(b)所示的半折叠状态。需要说明的是,由于本申请主要针对的是外折叠状态,所以折叠方向只以外折进行了示例,但应理解,在实际中,也可以同时具有内折功能。

当主屏和副屏两个屏幕完全背对背朝向相反方向后,也就是两个屏幕之间夹角为零后,就形成了外折叠状态。如图1中(c)所示的即为外折叠状态下的主屏的示例,图1中(d)所示的即为外折叠状态下的副屏的示例。

在外折叠状态下,假设用户按照图1中(c)所示的翻转方向翻转了电子设备A,就会让主屏和副屏的朝向互换,而本申请针对的就是该翻转行为发生后如何更加智能化的切屏,让用户的拍摄过程更加舒适。

该电子设备A需要包括两个可以在折叠后朝向相反的屏幕,例如图1中的主屏和副屏。如果是内折叠,虽然两个屏幕朝向也相反,但用户却无法看到屏幕,就并无法看到拍摄界面了,所以内折叠不在本申请方案的适用场景。

拍摄功能可以包括拍照和录像。拍摄模式可以包括自拍模式、双景模式和单景模式,还可能可以包数量大于2的多景模式。双景模式可能是前景和后景的组合,也可能是远景和近景的组合,前景和后景更常见。

但应理解,并不是拍照功能下就不可以有双景模式,或者自拍模式下就不可以录像,也就是说,拍摄功能和拍摄模式并不是会互斥存在的,实际应用中具体是怎样的取决于电子设备A的设计初始的设定。但不管是什么样的组合方式并不会影响本申请实施例方案的应用。

还应理解,图1中虽然后置摄像头示出了两个,但是实际中也可能只有一个后置摄像头,也可能有三个及以上后置摄像头。实际中,前置摄像头也可能是多个。对于本申请实施例的方案而言,只要能包括至少一个前置摄像头和至少一个后置摄像头即可,换而言之,只需要主屏和副屏都有至少一个与之朝向相同的摄像头即可。

此外,图1中以前置摄像头在主屏上为例,但也可能前置摄像头不会占据主屏面积,例如可能是可以伸缩的摄像头,不使用时内嵌在电子设备A中,使用时才会凸出(伸出)主屏。

示例作用,实际中也可能是其他手动切屏的情况,而只要是翻转后只能通过手动切屏导致的拍摄过程对用户不够友好的问题,都可以利用本申请实施例的方案进行克服,执行了本申请实施例方案后,就翻转后不需要再手动切屏。

图2是一种拍摄过程中翻转电子设备后的界面示意图。如图2所示,在图2中(a)所示的界面中,电子设备的主屏上正运行着相机应用,用户与主屏相对,主屏上的相机应用的预览窗口中呈现出了用户的人像,采集图像用的是摄像头#1,可以称之为前置摄像头,且此时为拍照功能。拍照功能下用前置摄像头采集用户的人像,而且只有一个预览窗口显示用户人像,也就是所谓自拍模式。在自拍模式下电子设备必然会距离用户较近,加上后续用户会对电子设备有翻转的操作,那必然电子设备与用户人脸之间的距离是在该用户的臂展之内的。也就是说,电子设备与用户人脸之间的距离是不会超过用户手握电子设备伸直手臂后,电子设备与用户人脸之间的距离的。用户可以通过点击图2中(a)所示的拍摄触摸控件来触发拍照。假设用户此时翻转了电子设备,就会使得副屏正对用户了,如图2中(b)所示。当刚翻转完成之后,副屏还是熄屏状态的。

在传统方案中,此时还需要通过触摸屏幕的解锁,或者基于电子设备的自动唤醒屏幕的功能唤醒屏幕,然后再进一步提供给用户关于切屏的相关操作的提示,使得用户根据这些提示执行一系列手动选择的操作,才能够完成切屏。

而本申请实施例问题,则针对上述手动操作繁琐,且导致拍摄中断时间过长的问题,通过执行各个步骤使得在翻转动作之后,能够实现自动切屏。

图3是本申请实施例的一种拍摄过程中切屏的结果示意图。如图3中(a)和图3中(b)所示的自拍模式中,在用户对着主屏用自拍模式拍照的过程中,当翻转电子设备后,不需要用户再进行任何手动操作,就可以直接看到图3中(b)所示的界面了。图3中(a)中的预览窗口中的图像来自于摄像头#1,但是图3中(b)中的预览窗口中的图像来自于摄像头#2或摄像头#3。当副屏左侧只有摄像头#2或只有摄像头#3的时候,图3中(b)中的预览窗口中的图像来自于存在的那个摄像头。当摄像头#2是近景摄像头,摄像头#3是远景摄像头的时候,图3中(b)中的预览窗口中的图像来自于摄像头#2。

如图3中(c)和图3中(d)所示的双景模式中,在用户对着主屏用双景模式拍照的过程中,预览窗口#1中的图像来自于摄像头#2,预览窗口#2中的图像来自于摄像头#1,当翻转电子设备后,不需要用户再进行任何手动操作,就可以直接看到图3中(d)所示的界面了。图3中(d)中的预览窗口#3中的图像来自于摄像头#1,图3中(d)中的预览窗口#4中的图像来自于摄像头#2或摄像头#3。当副屏左侧只有摄像头#2或只有摄像头#3的时候,图3中(d)中的预览窗口#4中的图像来自于存在的那个摄像头。当摄像头#2是近景摄像头,摄像头#3是远景摄像头的时候,图3中(d)中的预览窗口#4中的图像来自于摄像头#2。

图3中双屏模式是以多景录像功能为例进行示例的,用户可以通过点击开始录制的触摸控件来触发录像,用户也可以通过点击让预览窗口互换位置的触摸控件,将预览窗口#1和预览窗口#2互换位置,或者,将预览窗口#3和预览窗口#4互换位置。

图4是本申请实施例的一种拍摄过程中切屏的方法的示意性流程图。下面对图4各步骤进行介绍。

S401、在外折叠状态的电子设备的第一屏幕上运行相机应用。

第一屏幕可以是主屏也可以是副屏。第一屏幕例如可以是图1中的主屏或副屏,也可以是图3中的主屏。但应理解,由于图3只示例了主屏翻转到副屏,但没有示例出副屏翻转到副屏,但在实际中,本申请的方案对于副屏翻转到主屏的情况同样适用。

第一屏幕可以认为是翻转前朝向用户的屏幕,用户看着第一屏幕在使用电子设备。

对于外折叠状态等其他相关内容的介绍可以参照图1,不再赘述。

在一种实现方式中,当第一屏幕为主屏时,步骤S401可以包括:响应于用户在主屏上对相机应用的启动控件的点击操作,在主屏上启动并运行相机应用。

在这种实现方式中,由于第一屏幕就是主屏,所以相机应用的运行是启动后运行,例如可以是点击相机应用的桌面图标启动相机应用。也可能是对于挂起在后台的相机应用,通过点击快照来热启动了这个相机应用。也就是说,启动控件可以是桌面图标也可以是快照。

应理解,对于副屏上能直接启动相机应用的电子设备而言,当第一屏幕是副屏的时候,也可以是响应于用户在副屏上对相机应用的启动控件的点击操作,在副屏上启动并运行相机应用。

但是对于无法在副屏上启动相机应用,只能在主屏上启动相机应用的电子设备而言,也就是说,当电子设备启动相机应用时,相机应用会默认在主屏上启动和运行,这种情况第一屏幕也可以是副屏,只是此时,在副屏上运行这件事是需要切屏操作的触发后才会发生的,这个切屏操作可能是手动切屏,也可能是本申请实施例方案中的切屏。下面举例说明。

情况一、在执行本申请方案之前,相机应用已经运行在主屏上了,那么步骤S401之前会包括:响应于用户的手动切屏操作,将运行在主屏上的相机应用切换到在副屏上运行,副屏就是第一屏幕。

情况二、在执行本申请方案之前,相机应用没有启动,那么步骤S401之前会包括:响应于用户的启动操作,在主屏上启动相机应用;之后,响应于用户的手动切屏操作,将运行在主屏上的相机应用切换到在副屏上运行,副屏就是第一屏幕。

情况三、这是第二轮次在执行本申请方案,也就是之前已经不步骤S401-S402执行了一轮次,完成了主屏切副屏,使得相机应用已经在副屏上运行了。那么就相当于是,先执行了本申请方案的各个步骤,完成了主屏切换副屏的操作,在该过程中第一屏幕是主屏,第二屏幕是副屏;此后,第二轮次开始,就是步骤S401的再次执行,此时第一屏幕就成了副屏,当执行了后续各步骤后,就又会完成从副屏再切回主屏的操作了。与第一轮次的区别仅在于,在第二轮次的执行过程中,第一屏幕是副屏,第二屏幕是主屏。

在一种实现方式中,当第一屏幕为副屏,第二屏幕为主屏时,相机应用是在主屏上启动后,响应于将主屏和副屏朝向互换的翻转事件切换至在副屏上运行的。

这种实现方式即为第一屏幕是一次翻转之后主屏(作为第一屏幕)切到了副屏(作为第二屏幕)之后的副屏,也就是,这是在前一轮次已经将主屏切至副屏之后,在当前轮次是要将副屏切回主屏的时候执行的步骤,在当前轮次,第一屏幕已经成为了副屏。

S402、当相机应用的拍摄模式为自拍模式或双景模式时,按照预设缓存机制缓存利用第一摄像头采集的多帧图像,第一摄像头的朝向与第一屏幕的朝向相同。

当屏幕是主屏时,第一摄像头例如可以是上述摄像头#1。其他情况不再逐一列举。

在本申请实施例中,缓存图像是为了用来判断翻转前缓存的图像里有没有人脸,以确定后续需不需要继续近景拍人脸,包括自拍和双景中的近景拍。

应理解,缓存的多帧图像到底是多少帧可以设为固定量,就是够用即可。但是这样使得这个缓存成了定制化的了,其他业务有需要的时候,没法从中获取到满足需求的数量的图像,也就是无法让这个缓存还能兼顾用到其他业务中。而另外一种方式可以是设定一个缓存空间的大小,存储的时候就是缓存到直到缓存空间满为止,这种就可以兼顾其他业务使用的需求了,但是这种方式却也有数量不定的弱势,所以后续读取的时候,需要从其中有筛选的读取。

在一个例子中,在第一存储单元中存储利用第一摄像头采集的预设数量的图像,第一存储单元可以看成是为了缓存图像开辟的特定存储空间。在这个例子中,还提到了设定缓存的图像数量,当设定缓存的预设数量的时候,可以理解为是缓存一定量的图像备用。定量缓存能够在保证满足需求的前提下也尽量减少占用空间,而且方便后续读取。当定量缓存的时候,后续读取的时候即使不筛选直接全部读取都可以。

在一个例子中,第一存储单元的预设数量为100帧。但应理解,实际使用的时候可以按需确定数量。数量过少不利于判断准确,数量太多也会以为更早的图像未必反映真实需求导致准确性也不高。所以数量的确定可以根据历史统计数据来确定。或者设定缓存数量对应时长,例如假设1秒能采集30帧,可以按照3秒中的时长对应的帧数来确定预设数量。

在这个例子中,就相当于缓存的时候就只缓存100帧,那么翻转事件发生后读取的时候如果也想读取100帧的话,就不需要考虑时间早晚的问题了,直接全部读取即可。

只有在自拍模式和双景模式这两种有就近拍人脸的需求的情况下才会存储图像,而其他模式不会存储,而且存储的只是第一摄像头采集的图像,能够在满足存储需求的情况下,不占用过多内存。从后续步骤可以看出,存储的图像是为了看其中有没有满足要求的人脸。而对于其他模式,无法采集到就近拍的人脸,也没有存储人脸图像的需求。例如图3中(c)中所示的预览窗口#1中的图像是用后置摄像头拍摄的,就不需要缓存图像。

在一种实现方式中,预设缓存机制可以包括:当第一存储单元中存储的图像数量小于第一存储单元的预设数量时,每次获取到一帧待缓存图像后,将该帧图像存储到第一存储单元中;或者,

当第一存储单元中存储的图像数量等于第一存储单元的预设数量时,每次获取到一帧待缓存图像后,将该帧图像替换第一存储单元中时间戳最早的一帧图像。

在这种缓存机制中,实现了定量缓存和缓存图像的实时更新,能够方便后续读取,且在满足需求的前提下,减小需要的存储空间。

当将缓存机制结合到步骤S402中,即为,步骤S402可以包括:当第一存储单元中存储的图像数量小于预设数量时,每次利用第一摄像头采集到一帧图像后,将采集到的该帧图像存储到第一存储单元中;或者,

当第一存储单元中存储的图像数量等于预设数量时,每次利用第一摄像头采集到一帧图像后,将采集到的该帧图像替换第一存储单元中时间戳最早的一帧图像。

在这种实现方式中,当存储的图像较少的时候会继续存储,而当存储的图像足够之后,就可以从最早的图像开始替换,以使得第一存储单元中一直都会是时间最近的一定数量的图像。这样既能够满足后续需求,也能减少对于存储空间的占用。

在一种实现方式中,步骤S402可以包括:

在自拍模式或双景模式下,每次利用第一摄像头采集到一帧图像后,利用人脸识别算法识别出采集到的该帧图像中的人脸信息,人脸信息包括图像中的人脸数量和人脸大小;

将该帧图像和该帧图像的人脸信息按照预设缓存机制进行缓存。

在这种实现方式中,会识别出每帧图像的人脸信息与该帧图像一起存储,在后续就可以基于人脸信息来做判断了。缓存这些图像和人脸信息并不会依赖于翻转事件的触发,所以对于翻转事件的检测和缓存图像可以同步执行,当翻转事件发生之后,就可以直接读取已经存储的数据,并不需要再次识别,缩短对于翻转事件的响应时间。

在一个例子中,用0表示没有人脸,然后与人脸数量大于或等于1的图像一起缓存,当人脸数量为0就是说这个图像中没有人脸。在另一个例子中,没有人脸的图像不进行缓存。

在一个例子中,识别出人脸信息后,在缓存的时候,只存储包含有人脸的图像,使得缓存的图像必然会包含有人脸。这样,对于模糊的图像、翻转事件发生时第一摄像头继续采集的图像以及其他摄像头采集的图像等就都不会被缓存,从而保证缓存的图像都是包含有人脸的图像。那么后续即使只从缓存图像中读取一帧图像也照样足以给出满足准确性要求的判定结果。

S403、当检测到翻转事件后,从翻转事件前缓存的多帧图像中读取至少一帧图像。

翻转事件用于表示通过翻转电子设备使得第一屏幕的朝向与第二屏幕的朝向互换的交互事件,第二屏幕为外折叠状态的电子设备中与第一屏幕朝向相反的屏幕。

应理解,当按照预设数量定量缓存的时候,读取的至少一帧图像的数量必然小于或等于上述预设数量。

在翻转事件发生之后才会去读取,这样能够减少不必要的读取。读取的时候,读取的是翻转事件前缓存的图像。

在一种实现方式中,步骤S403可以包括:从多帧图像中读取与翻转事件之间时间间隔最短的一帧或多帧图像,该读取的一帧或多帧图像即为至少一帧图像。也就是读取的时候,读取的是最晚缓存的图像,或者说是自翻转事件发生时刻起,就没再缓存图像了,那么以该时刻为起点向前读取一定量图像作为上述读取的至少一帧图像即可。越接近翻转事件发生时采集的图像越能反映用户切屏需求。

应理解,如果只读取一帧图像,也可是实现本申请方案。为了防止不稳定性的发生,例如屏幕抖动导致某一帧或多帧缓存图像是模糊的,这就可能导致后续判断不准确,所以数量为多帧最好。而时间间隔过早图像可能已经不满足用户需求了,读取了做判断不仅增加了处理过程的繁琐,还可能导致判断失误。但是,当在缓存图像的时候利用了人脸识别算法来识别人脸信息了,此时可以只存储包含有人脸的图像,模糊的图像或者其他摄像头采集的图像等就都不会被缓存,也就在此处也不会被读取出来了,从而即使只读取一帧图像也照样足以用于后续判定。

还应理解,在本申请实施例中,由于翻转事件发生开始直到第一摄像头关闭或者拍摄模式发生变化,第一摄像头都还在采集图像,而且模式也还满足二者之一,所以这期间的第一摄像头采集的图像就有可能被缓存,而此处只考虑翻转事件前缓存的图像就可以排除掉这部分图像带来的干扰了,提高后续判定的准确性。

在一个例子中,从翻转事件前缓存的多帧图像中读取的至少一帧图像中,这至少一帧图像的时间戳晚于翻转事件前缓存的这多帧图像中除至少一帧图像中的其他图像的时间戳。在这个例子中,用时间戳来协助筛选想要读取的图像,取时间较近的图像来做判断,看有没有人脸,结果更准确。

在一个例子中,还可以设置读取的至少一帧图像的帧数,例如可以设置100帧、80帧等,当读取的时候,就是从上述缓存的多帧图像中读取翻转事件发生前与翻转事件最接近的100帧或80帧。换而言之,就是读取翻转事件前的定量帧图像。

S404、当至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像,第二摄像头的朝向与第二屏幕的朝向相同。

也就是说,根据包含的人脸情况来触发切屏,不再需要手动操作。

在一种实现方式中,步骤S404可以包括:当判定翻转前相机应用的拍摄模式为自拍模式或双景模式时,判断至少一帧图像中是否包含有满足预设条件的人脸,预设条件包括至少一帧图像中的人脸数量大于或等于预设值,和/或,至少一帧图像中的至少一个人脸的人脸大小在预设阈值范围内;

当判定至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上运行,并利用第二摄像头采集图像。

在这种实现方式中,包括了两项判定,第一项是对于拍摄模式的判定,第二项是对于人脸的判定,能够保证最后切屏的触发更准确,更加满足用户期望。

预设阈值范围可以是定值设置,比如根据人脸的大小的统计区间,以及臂展长度区间(超过臂展就不可能再进行翻转了,所以就不用考虑翻转的动作了,就不再是本申请所说的场景了),就可以计算在自拍的时候人脸在屏幕上呈现的大小的相对占比的区间。例如,可以统计一定数量的在伸直手臂状态下自拍时人脸在屏幕上的大小,也就是不同人的上述情况下在屏幕上的人脸大小,取平均值,作为预设阈值范围的最小值;统计一定数量的在保证人脸完整的情况下尽可能凑近屏幕自拍时人脸在屏幕上的大小,也就是不同人的上述情况下在屏幕上的人脸大小,取平均值,作为预设阈值范围的最大值,从而确定出上述人脸大小的预设阈值。又例如,预设阈值范围就是大于或等于第一大小,那么人脸大小在预设阈值范围内等同于人脸大小大于或等于第一大小。由于虽然特别近的时候会导致人脸在屏幕上不全,但只要还能识别出是有人脸的,就不影响判断,而且用户在使用手机,为了看清屏幕,本身也必然不会过度凑近屏幕,所以预设阈值范围可以没有最大值。

在一种实现方式中,步骤S404可以包括:当判定翻转前相机应用的拍摄模式为自拍模式,且至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

在这种实现方式中,当是自拍模式的时候,就是拍摄的摄像头从第一摄像头换成了第二摄像头。结合图3为例,就是翻转前是用摄像头#1自拍,翻转后是摄像头#2自拍。

在一种实现方式中,步骤S404可以包括:当判定翻转前相机应用的拍摄模式为自拍模式或双景模式,且至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

在这种实现方式中,不管是自拍模式还是双景模式,都直接换成用第二摄像头自拍。

在一种实现方式中,步骤S404可以包括:当判定翻转前相机应用的拍摄模式为双景模式,且第一摄像头用于采集前景图像,第二摄像头用于采集后景图像,以及至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以双景模式运行;

利用第二摄像头采集前景图像,以及利用第一摄像头采集后景图像。

在这种实现方式中,就是前景摄像头跟后景摄像头互换了拍摄对象,翻转前拍摄前景的翻转后用来拍摄后景了,翻转前拍摄后景的翻转后则用来拍摄前景了。或者说,用来自拍的成了用来拍远景了,用来拍远景的用来自拍了。结合图3为例,就是翻转前是摄像头#1(第一摄像头)在拍前景,摄像头#2(第二摄像头)在拍后景;翻转后是摄像头#2在拍前景,摄像头#1在拍后景。

在一种实现方式中,步骤S404可以包括:当判定翻转前相机应用的拍摄模式为双景模式,且第一摄像头用于采集前景图像,第二摄像头用于采集后景图像,以及至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以双景模式运行;

利用第二摄像头采集近景图像,以及利用第三摄像头采集远景图像,第三摄像头与第二屏幕的朝向相同;或者,

利用第二摄像头采集远景图像,以及利用第三摄像头采集近景图像。

在这种实现方式中,考虑的是远景和近景的双景情况,就是吧第一摄像头关掉了,只用了第二摄像头和第三摄像头。这种情况较为少见,因为远景可能会受到近景画面的影响。

当在第一屏幕上运行时的相机应用只支持自拍模式时,步骤S404可以包括:

判断至少一帧图像中是否包含有满足预设条件的人脸,预设条件包括人脸数量和/或人脸大小;

当判定至少一帧图像中包含有满足预设条件的人脸时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

在这种实现方式中,对于只有自拍模式的情况,因为都是自拍了,不在需要去判断到底是哪种模式了,就可以直接判断人脸情况即可,且切屏后继续用自拍模式运行即可。在实际中,这种情况主要发生在翻转到副屏后又要再翻回主屏的情况,且副屏只支持自拍模式的时候。在再翻回主屏的过程中,第一屏幕成了副屏,第二屏幕成了主屏。

在检测到翻转事件后,上述方法还包括:当判定翻转前相机应用的拍摄模式既不是自拍模式,也不是双景模式时,将相机应用切换到在第二屏幕上以自拍模式运行,并利用第二摄像头采集图像。

如果不是这两种模式,第一摄像头采集不到人脸,所以不需要进行有无人脸的判断,直接跳过这些步骤,直接切屏即可。

图4所示方法,在拍摄过程中,主要通过翻转前缓存图像,翻转后根据拍照模式和翻转之前缓存的图像中的人脸情况来进行切屏,不需要手动操作,更加智能,提升用户使用体验。

图5是本申请实施例的一种拍摄过程中切屏的执行过程的示意图。图5可以看成是从内部执行流程介绍本申请实施例的方案,也就是可以认为是图4所示方法的是个内部执行过程的示例。如图5所示,相机软件包(APK)中包括人脸识别算法模块、融合决策模块、翻转感知控制模块和翻转感知监听模块。其中,人脸识别算法模块用于调用人脸识别算法来识别图像中是否有人脸,也可以用来识别图像中的人脸数量和/或人脸大小。融合决策模块用于根据人脸识别结果、翻转事件和拍摄模式中的至少一项来确定是否需要切屏。翻转感知监听模块用于监听是否发生翻转事件。翻转感知控制模块则用于控制让各个翻转感知相关的模块进行工作,以检测和上报翻转事件给翻转感知监听模块。

相机的硬件抽象层(hardware abstraction layer,HAL)/硬件抽象层接口定义语言(HAL interface definition language,HIDL)中包括翻转感知框架(ISFHAL)、翻转算法模块、运动HAL(motionHAL)和运动HIDL(motionHIDL),用于感知和上报翻转事件给感知监听模块,以及在翻转感知控制模块的指令指示下启动或关闭功能。ISFHAL用于调用翻转算法来确定是否有翻转事件发生。

SensorHub是控制相关传感器的另外一个处理器,其中的加速度和陀螺仪传感器(A+G)感知到翻转动作后通过融合传感器(fusionsensor)进行上报。

应理解,图5只示出了对于本申请方案更为相关的一些模块,在实际中,针对拍摄过程中切屏还可以包括其他模块。

图6是本申请实施例的一种拍摄过程中切屏的执行过程的示意图。图6可以看成是从电子设备的内部程序执行流程的角度去介绍本申请实施例的方案的执行过程,也就是可以看成是对于图4所示方法在执行过程中的内部程序执行流程的示例。

S601、相机软件(即相机APK,或cameraAPK)向motionHIDL注册翻转感知虚拟传感器。

S602、motionHIDL向ISFHAL使能翻转算法。

S603、ISFHAL向融合传感器(fusion sensor)下发翻转使能请求。

S604、融合传感器打开A+G传感器。

S605、ISFHAL检测到发生翻转动作。

S606、ISFHAL向motionHIDL上报翻转事件。

S607、motionHIDL向相机软件上报翻转事件。

S608、相机软件根据融合策略来确定是否需要切屏。

当相机应用正运行在主屏的时候,融合策略包括翻转判定、人脸判定以及拍摄模式的判定。

翻转判定即为判断是否发生翻转事件,人脸判定则为判断翻转前缓存的一定量的图像中是否包含有满足预设条件的人脸,拍摄模式的判定则为判断拍摄模式是自拍模式还是双景模式或者二者都不是。

当根据融合策略判定,发生了翻转事件、有满足预设条件的人脸(数量+大小均满足)且是自拍模式或双景模式时,就可以执行步骤S609。

S609、相机软件通知窗口管理系统(windows management system,WMS)将相机软件的运行界面从主屏切换到副屏。

S610、ISFHAL检测到翻转动作。

S611、ISFHAL向motionHIDL上报翻转事件。

应理解,在图6所示例子中,是先从主屏翻转到副屏再从副屏翻转回主屏的整个过程的示例,所以步骤S610处的翻转事件是发生在副屏上运行着相机应用的时候,具体而言是在用自拍模式运行在副屏上的时候。

S612、motionHIDL向相机软件上报翻转事件。

S613、相机软件根据融合策略来确定是否需要切屏。

由于此时相机应用正运行在副屏,融合策略包括翻转判定和人脸判定。因为在图6所示例子中副屏只支持自拍模式,所以不需要加入拍摄模式的判定。

翻转判定即为判断是否发生翻转事件,人脸判定则为判断翻转前缓存的一定量的图像中是否包含有满足预设条件的人脸。

当根据融合策略判定,发生了翻转事件且有满足预设条件的人脸(数量+大小均满足)时,就可以执行步骤S613。

S614、相机软件WMS将相机软件的运行界面从副屏切换到主屏。

S615、相机软件检测到退出相机的请求。

S616、相机软件向motionHIDL注销翻转感知虚拟传感器。

S617、motionHIDL通知ISFHAL去掉使能翻转算法。

S618、ISFHAL向融合传感器下发去掉翻转使能请求。

S619、融合传感器关闭A+G传感器。

图7是本申请实施例的一种拍摄过程中切屏的方法的示意性流程图。下面对图7各步骤进行介绍。图7可以看成是图4所示方法的一个示例,且在这个例子中包括了主屏翻转到副屏再翻转回主屏的过程。

S701、在外折叠状态的电子设备的主屏上运行相机应用,显示相机界面。

此时主屏是上述步骤S401中的第一屏幕,也就是S701是步骤S401的一个示例。

S702、判断当前拍摄模式是否为自拍模式或双景模式,当判断结果为是时,执行步骤S703,当判断结果为否时,执行步骤S704。

S703、缓存人脸信息。

此处缓存的是用主屏上的摄像头(以下称之为前置摄像头)采集的图像中的人脸信息。人脸信息可以利用人脸识别算法得到。

S704、检测到翻转动作,此处为主屏翻副屏的翻转动作。

该步骤可以是融合传感器执行。此处的翻转动作必然是从主屏正对人脸翻转到副屏正对人脸,而且是翻转成功的情况。因为已经是在主屏上显示相机应用的情况了,那么此时发生的翻转,就只有主屏翻到副屏的情况了,翻转失败的情况不考虑。

S705、调用翻转算法检测是否有翻转事件,当判断结果为是时,执行步骤S706,当判断结果为否时,执行步骤S707。

此步骤可以是ISFHAL调用翻转算法执行。

S706、判断翻转前是否为自拍模式或双景模式,当判断结果为是时,执行步骤S708,当判断结果为否时,执行步骤S711。

翻转后再次判断,相当于多了一次检查,使得最后执行切屏时更准确,避免不必要的切屏发生。

S707、维持主屏拍摄状态,不切屏。

也就是维持在主屏上拍摄,且拍摄模式为原本模式。

S708、判断有无满足条件的人脸,当判断结果为是时,执行步骤S709,当判断结果为否时,执行步骤S710。

例如可以是判断人脸大小是否符合预设阈值范围且是翻转前100帧以内的人脸,当判断结果为是时,执行步骤S709,当判断结果为否时,执行步骤S710。

在该判断中,相当于判断上述至少一帧图像是否是时刻较近的图像,以及图像中是否包括有大小符合预设阈值范围的人脸。

此处以翻转前100帧为例。相当于上述对于是否有满足条件的人脸的判断的示例。

S709、切换到副屏自拍。

也就是对于是自拍或双景的情况,如果还有满足条件的人脸,就可以说明用户翻转后继续拍自己的需求较高。此处以副屏只支持自拍模式为例,在这种情况下,切屏后副屏上就必然以自拍模式运行。

S710、维持主屏拍摄状态,不切屏。

也就是维持在主屏上拍摄,且拍摄模式为原本模式。

S711、切到副屏自拍。

也就是对于不是自拍也不是双景的情况,说明是在用后置摄像头拍摄,翻转后可以继续用后置摄像头拍摄。此处以中副屏只支持自拍模式为例,在这种情况下,切屏后副屏上就必然以自拍模式运行。

需要说明的是,当切换完成,相机应用转为在副屏上以自拍模式运行的时候,一轮次的切屏就已经结束了,后续就是再次翻转的时候的执行过程了。

当相机应用在副屏上运行的时候,就相当于是上述步骤S401中的第一屏幕成了副屏。

S712、持续缓存人脸信息。

可以看成是步骤S402中,第一屏幕是副屏,第一摄像头是后置摄像头(跟副屏朝向相同的摄像头)的一个例子。

由于副屏只有自拍模式,所以必然满足缓存人脸信息的条件,所以不再需要进行模式判断,或者即使执行模式判断也势必判断结果只会是“是”,所以步骤S712在步骤S711之后必然会执行。

S713、检测到翻转动作,此处为副屏翻主屏的翻转动作。

该步骤可以是融合传感器执行。此处的翻转动作必然是从副屏正对人脸翻转到主屏正对人脸,而且是翻转成功的情况。因为是步骤S712后执行,已经是在副屏上显示相机应用的情况了,那么此时发生的翻转,就只有副屏翻到主屏的情况了,翻转失败的情况不考虑。

S714、调用翻转算法检测是否有翻转事件,当判断结果为是时,执行步骤S715,当判断结果为否时,执行步骤S716。

此步骤可以是ISFHAL调用翻转算法执行。

S715、维持副屏自拍状态,不切屏。

也就是维持在副屏上拍摄,且拍摄模式为自拍模式。

S716、判断有无满足条件的人脸,当判断结果为是时,执行步骤S717,当判断结果为否时,执行步骤S718。

例如可以是判断人脸大小是否符合预设阈值范围且是翻转前100帧以内的人脸,当判断结果为是时,执行步骤S717,当判断结果为否时,执行步骤S718。

在该判断中,相当于判断上述至少一帧图像是否是时刻较近的图像,以及图像中是否包括有大小符合预设阈值范围的人脸。

此处以翻转前100帧为例。相当于上述对于是否有满足条件的人脸的判断的示例。

S717、切换到主屏自拍。

也就是切换到主屏,且以自拍模式在主屏上继续运行相机应用。

S718、维持副屏自拍状态,不切屏。

也就是维持在副屏上拍摄,且拍摄模式为自拍模式。

在图7所示方法中,用户在主屏打开相机应用后,相机APK中的翻转感知控制模块打开翻转感知算法,翻转感知监听模块监听翻转事件。当用户在主屏界面上选择的是前置自拍模式或双景模式,且双景中包括用前置摄像头自拍,那么人脸算法持续缓存人脸信息。当用户将主屏翻转到副屏时,翻转感知算法检测到翻转事件,并由相机中的翻转感知监听模块知会到相机APK。相机APK中的融合决策模块根据翻转前主屏相机是否为前置自拍/双景状态进行决策,如果是主屏前置自拍/双景,则检测到翻转事件后,还需要判断缓存的人脸信息,是否满足人脸数量、面积(人脸大小)的阈值条件,如果主屏为非前置自拍/双景,则直接通过翻转事件控制主屏切到副屏。切换到副屏之后,在副屏的自拍界面中,人脸算法计算人脸大小,并将符合阈值定义的人脸信息持续刷新缓存到预设的人脸信息缓存中,例如是预先定义的100帧人脸信息的缓存。当用户由副屏自拍翻回主屏时,翻转感知监听模块首先会监听到翻转事件,然后在判断人脸信息缓存器中是否有人脸信息,并由融合决策模块根据翻转+人脸做最终决策,如果决策通过,则由副屏超级自拍切到主屏拍照。

从图7所示方法可以看出,对于副屏所具备功能和主屏不同的时候,可以在融合决策上进行调整,针对副屏只有自拍模式的情况翻转之后就不需要再进行一次拍摄模式的判断了。另外,由于副屏只有自拍模式,所以主屏翻转到副屏后,采集图像的摄像头就只是将前置摄像头换成后置摄像头,而前置摄像头就不需要再继续采集图像了。

还需要说明的是,本申请针对的是拍摄过程中翻转动作发生之后能不能自动切屏的问题,但是对于已经切屏之后再翻转并不在本申请涉及范围内。因为先切屏之后再翻转,只是为了把有界面的屏幕翻到用户眼前而已,不需要去进行什么响应。

图8是自拍过程中切屏后再将电子设备翻面的过程示意图。如图8中(a)所以,用户正在用自拍模式,用前置摄像头-摄像头#1拍照,此时用户想要换到副屏上去,用户就点击了设置控件,弹出提示窗如图8中(b)所示。然后用户点击图8中(b)所示确认控件,确认切屏之后,呈现给用户的就是眼前的主屏成了桌面背景或者是直接熄屏了,如图8中(c)所示。在图8中(c)中主屏上的相机已经切换到副屏上去了,导致主屏上熄屏,此时如果用户想要看拍摄界面就需要翻转到副屏,但应理解,此时副屏上本来就在显示相机界面,所以翻转之后根本就不需要考虑翻转后切屏的事情,而且,在手动切屏之后,到翻转之前到底有多长时间取决于用户,也许用户就不打算翻屏了呢?比如是两个用户对坐,切屏可能只是为了让朋友在副屏上帮自己拍照。假设用户翻转了,才会看到图8中(d)所示的界面。但应理解,这个翻转就跟翻了一页书就能看到下一页书页的内容是等同的,根本就不需要把这个翻转动作去上报成一个翻转事件,让电子设备响应,更适合的表述,可以将其称之为翻面。这只是两个独立的事情,第一件事情是手动切屏,第二件事情是把手机翻个面。

图9是双景拍摄过程中切屏后再将电子设备翻面的过程示意图。如图9中(a)所以,用户正在用双景模式,用前置摄像头-摄像头#1自拍的同时用后置摄像头拍远景,此时用户想要换到副屏上去,用户就点击了设置控件,弹出提示窗如图9中(b)所示。然后用户点击图9中(b)所示确认控件,确认切屏之后,呈现给用户的就是眼前的主屏成了桌面背景或者是直接熄屏了,如图9中(c)所示。在图9中(c)中主屏上的相机已经切换到副屏上去了,导致主屏上熄屏,此时如果用户想要看拍摄界面就需要翻转到副屏,但应理解,此时副屏上本来就在显示相机界面,所以翻转之后根本就不需要考虑翻转后切屏的事情,而且,在手动切屏之后,到翻转之前到底有多长时间取决于用户,也许用户就不打算翻屏了呢?比如是两个用户对坐,切屏可能只是为了让朋友在副屏上帮自己拍照。假设用户翻转了,才会看到图9中(d)所示的界面。但应理解,这个翻转就跟翻了一页书就能看到下一页书页的内容是等同的,根本就不需要把这个翻转动作去上报成一个翻转事件,让电子设备响应,更适合的表述,可以将其称之为翻面。这只是两个独立的事情,第一件事情是手动切屏,第二件事情是把手机翻个面。比如图9中(d)所示的远景画面已经不再是图9中(a)所示的画面了,二者相差甚远,就很可能是,在用户手动切屏之后得到图9中(c)所示界面之后,间隔了较长的时间才把电子设备翻面的,这期间用户已经带着电子设备移动到了另外一个地方了,所以翻面之后,虽然近景还是用户自拍,但远景画面却已经是新的景色了。因为手动切屏的前提下,手动切屏和手动翻面电子设备是两件各自独立的事件,不需要连贯,也不需要关联,二者之间间隔多长时间完全是用户主观意愿决定。

从图8和图9可以看出,与之相比,本申请依然是更好的方案,因为本申请方案中不再需要用户的手动切屏操作,而且不会让用户在切屏之后还要先看到一段时间的黑屏(熄屏),用于使用体验会更好。

上文主要结合附图对本申请实施例的方法进行了介绍。应理解,虽然如上所述的各实施例所涉及的流程图中的各个步骤依次显示,但是这些步骤并不是必然按照图中所示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。下面结合附图对本申请实施例的装置进行介绍。

图10是本申请实施例的一种执行拍摄过程中切屏的转场动效的装置的示意图。如图10所示,该装置2000包括处理单元2001、缓存单元2002和翻转检测单元2003。该装置2000可以是集成在手机、平板电脑、触屏笔记本电脑等电子设备中。

该装置2000能够用于执行上文任意一种拍摄过程中切屏的方法。例如,处理单元2001可用于执行步骤S401和S404,缓存单元2002可用于执行步骤S402,翻转检测单元2003可用于执行步骤S403。该装置2000还可以用于执行图3和图5所示过程,以及可以用于执行图6和图7所示各个步骤。

在一种实现方式中,装置2000还可以包括存储单元,用于存储相关数据。该存储单元可以是集成在上述任意一个单元中,也可以是独立于上述所有单元之外的单元。

图11是本申请实施例的一种电子设备的硬件结构示意图。如图11所示,该电子设备3000包括:至少一个处理器3001(图11中仅示出一个)处理器、存储器3002以及存储在所述存储器3002中并可在所述至少一个处理器3001上运行的计算机程序3003,所述处理器3001执行所述计算机程序3003时实现上述任意一种方法中的步骤。

本领域技术人员可以理解,图11仅仅是电子设备的举例,并不构成对电子设备限定,实际中电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

处理器3001可以是中央处理单元(central processing unit,CPU),其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器3002在一些实施例中可以是电子设备3000的内部存储单元,例如电子设备3000的硬盘或内存。存储器3002在另一些实施例中也可以是电子设备3000的外部存储设备,例如电子设备3000上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。可选地,存储器3002还可以既包括电子设备3000的内部存储单元也包括外部存储设备。存储器3002用于存储操作系统、应用程序、引导装载程序、数据以及其他程序等,例如所述计算机程序的程序代码等。存储器3002还可以用于暂时地存储已经输出或者将要输出的数据。

图12是本申请实施例的另一种电子设备的硬件结构的示意图。如图12所示,电子设备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可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

示例性地,图12所示的处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

在本申请实施例中,相机APK和HAL/HIDL层即为AP中的,sensorHub则为用来管理相关传感器的处理器。

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

在一些实施例中,GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。

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

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

显示屏194用于显示图像,视频等。

电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。

ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。

摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到数字信号处理器加工处理。数字信号处理器将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。

NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如,当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。

陀螺仪传感180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性地,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。

加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。

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

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供了一种电子设备,该电子设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备可实现上述任意方法中的步骤。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被电子设备执行时可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,当计算机程序被电子设备执行时可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random accessmemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种热电池单体电池测试装置及单体电池测试方法
  • 锂电池灭火剂及锂电池灭火装置
  • 电池承托治具和电池正极激光焊接装置
  • 电池电极浆料分配装置、电池电极浆料处理装置、电池电极浆料分配方法、悬浊液分配装置、悬浊液分配方法、电池电极浆料处理方法、制作装置以及制作方法
  • 电池信息处理装置、电池制造支援装置、电池组、电池信息处理方法以及电池组的制造方法
技术分类

06120116559109