发布信息

拍摄处理方法、装置、电子设备和存储介质与流程

作者:admin      2022-09-02 17:43:21     915



电子通信装置的制造及其应用技术1.本公开涉及定图像拍摄技术领域,尤其涉及拍摄处理方法、装置、电子设备、存储介质。背景技术:2.目前手机、平板电脑等电子设备中所配置的相机应用中,在同一拍摄屏幕下都设计可以快速进入图片预览的缩略图显示界面,该显示界面会在一次拍照后立马显示本次拍照的缩略图,当一次拍摄后,用户习惯先浏览刚拍摄的照片,会通过点击缩略图进入预览。但是因为影像技术的不断发展,图像传感器的像素数量不断增加,同时为了支持在多种复杂场景下能够输出高质量的图像,会对当前拍摄的图片进行例如高动态范围(hdr-high-dynamic range)、美颜、超级夜景、多帧降噪和超分辨率等各种算法的处理,直接导致用户从按下快门到点击缩略图后能够看到清晰拍摄图像的时间不断增加,无法实现快速预览。技术实现要素: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.可选地,所述原始图像帧缓存于hal层,所述预览图像帧缓存于应用层;30.缓存所述预览图像帧之前,还包括:31.通过所述hal层的第一通道将所述预览图像帧依次传输至所述应用层进行显示,并通过所述hal层的第二通道将所述预览图像帧传输至应用层进行缓存。32.根据本公开实施例的第二方面,提供了一种拍摄处理装置,包括:33.缓存模块,用于缓存预览图像帧,所述预览图像帧根据对图像传感器输出的原始图像帧进行第一图像处理得到;34.确定模块,用于在接收到拍摄请求的情况下,确定基准帧,所述基准帧用于生成对应于所述拍摄请求的拍摄图像;35.显示模块,用于在生成所述拍摄图像的过程中,显示对应于所述基准帧的预览图像帧。36.根据本公开实施例的第三方面,提供了一种电子设备,包括:37.处理器;38.用于存储处理器可执行请求的存储器;39.其中,所述处理器被配置为执行所述可执行请求以实现上述任一项所述的拍摄处理方法。40.根据本公开实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的拍摄处理方法中的步骤。41.本公开的实施例提供的技术方案可以包括以下有益效果:42.本公开实施例中,对经过第一图像处理后的预览图像帧进行缓存,等到有查看拍摄图像需求时,从缓存的预览图像帧中选取一帧预览图像帧作为对应于拍摄图像的预览图像进行预览显示,而无需对原始图像进行再次第一图像处理也无需等待完成图像处理,从而可以节省第一图像处理时间,缩短从发起拍摄请求到查看预览图像的等待时间,实现快速预览。43.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。45.图1是根据本公开的实施例示出的一种拍摄处理方法的流程图;46.图2是根据本公开的实施例示出的另一种拍摄处理方法的流程图;47.图3a是根据本公开的实施例示出的一种拍摄处理系统的虚拟架构图;48.图3b是根据本公开的实施例示出的一种拍摄处理系统在预览阶段的架构流程图;49.图4a是根据本公开的实施例示出的一种拍摄处理系统在拍照阶段的架构流程图;50.图4b是根据本公开的实施例示出的另一种拍摄处理方法的流程图;51.图5a是根据本公开的实施例示出的另一种拍摄处理系统在拍照阶段的架构流程图;52.图5b是根据本公开的实施例示出的另一种拍摄处理方法的流程图;53.图6a是根据本公开的实施例示出的另一种拍摄处理系统在拍照阶段的架构流程图;54.图6b是根据本公开的实施例示出的另一种拍摄处理方法的流程图;55.图7是根据本公开的实施例示出的一种拍摄处理装置的模块示意图;56.图8是根据本公开的实施例示出的一种用于拍摄处理的装置的框图。具体实施方式57.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。58.图1是根据本公开的实施例示出的一种拍摄处理方法的流程图,参见图1,该方法包括以下步骤:59.步骤101、缓存预览图像帧。60.其中,预览图像帧根据对图像传感器输出的原始图像帧进行第一图像处理得到。61.用户启动相机但未发起拍摄请求时,终端会获取图像传感器不断输出的原始图像帧(raw图像),该原始图像帧无法直接显示,终端需对各帧原始图像帧进行彩色插值、白平衡调节等处理(即第一图像处理)得到对应的预览图像帧(如rgb图像)。终端将各帧预览图像帧按照获取顺序依次预览显示于拍摄界面中,以供用户按照显示的图像内容确定发起拍摄请求的时机。62.为了减小计算量在对原始图像帧进行第一图像处理之前,可以对原始图像帧进行降质处理,例如降低原始图像帧的分辨率,并对经过降质处理的原始图像帧进行第一图像处理。63.在预览图像帧显示的图像内容符合用户要求的情况下,用户可以但不限于通过触发快门的方式发起拍摄请求。在接收到拍摄请求的情况下,终端从原始图像帧中选取至少一帧原始图像帧并对其进行第二图像处理,以生成拍摄图像。64.可以理解地,为了能够支持在多种复杂场景下输出高质量的拍摄图像,所采用的第二图像处理的算法的计算量一般较大。而预览图像帧是为了供用户确定发起拍摄请求时机的,对预览图像帧的图像质量要求不高,但对显示的实时性要求较高,因此第一图像处理一般采用计算量较小的算法,例如第一图像处理采用的算法可以是删减了第二图像处理中部分算法后的算法,从而第一图像处理算法的计算量小于第二图像处理算法的计算量,第一图像处理的处理时长小于第二图像处理的处理时长。65.本公开实施例中,在对各预览图像帧进行预览显示的过程中,还对各预览图像帧进行缓存,用于后续针对拍摄图像的快速预览。66.步骤102、在接收到拍摄请求的情况下,确定基准帧。67.该基准帧用于生成对应于拍摄请求的拍摄图像,基准帧在生成拍摄图像的过程中的用途参见下文介绍。该基准帧还用于在确定有查看拍摄图像的需求但拍摄图像未生成的情况下,从缓存的预览图像帧中选取至少一帧预览图像帧作为拍摄图像的预览图像。若选取的预览图像帧的数量为一帧,则将该帧预览图像帧作为预览图像;若选取的预览图像帧的数量为多帧,则将对该多帧预览图像帧合成处理后得到的图像作为预览图像。68.关于查看拍摄图像需求,可以但不限于在用户发起了拍摄图像的查看请求的情况下,确定有查看拍摄图像需求;也可以在完成拍摄的情况下,确定有查看拍摄图像需求。所谓完成拍摄包括用户发起拍摄请求后的预设时长内未再次发起拍摄请求确定完成拍摄,或者生成是否完成拍摄提示,在接收到用户针对提示反馈的完成拍摄信息的情况下确定完成拍摄。69.在一个实施例中,若接收到拍摄请求,直接确定基准帧。70.在一个实施例中,接收到拍摄请求之后,短时间内又接收到拍摄图像的查看请求,但拍摄图像未生成的情况下,确定基准帧。71.步骤103、在生成拍摄图像的过程中,显示对应于基准帧的预览图像帧。72.本公开实施例中,对经过第一图像处理后的预览图像帧进行缓存,在生成拍摄图像的过程中,从缓存的预览图像帧中选取一帧预览图像帧作为对应于拍摄图像的预览图像进行显示,而无需对原始图像进行再次第一图像处理,也无需等待完成拍摄图像的图像处理,从而可以节省第一图像处理时间,缩短从发起拍摄请求到查看预览图像的等待时间,实现快速预览。73.图2是根据本公开的实施例示出的另一种拍摄处理方法的流程图,参见图2,该方法包括以下步骤:74.步骤201、分别缓存图像传感器输出的各帧原始图像帧和对图像传感器输出的各帧原始图像帧进行第一图像处理后的预览图像帧。75.由于预览图像帧是对原始图像帧进行第一图像处理后得到的,缓存的各帧预览图像帧与缓存的各帧原始图像帧之间存在对应关系,且缓存的各帧原始图像帧与对应的预览图像帧的图像内容相同,图像格式不同。76.在缓存原始图像帧时,还可对应缓存原始图像帧的图像信息。在缓存预览图像帧时,还对应缓存预览图像帧的图像信息。下述确定待处理帧和基准帧时,可根据该图像信息确定待处理帧和基准帧。其中,图像信息可以但不限于包括帧号、曝光时刻和缓存时刻中的至少一种。77.步骤202、在接收到拍摄请求的情况下,确定用于生成拍摄图像的至少一帧待处理帧以及从至少一帧待处理帧中确定基准帧。78.待处理帧用于从缓存的原始图像帧中选取用于生成拍摄图像的原始图像帧,待处理帧可以但不限于根据原始图像帧的图像信息确定。基准帧不仅用于生成对应于拍摄请求的拍摄图像,还用于从缓存的预览图像帧中选取预览图像帧作为拍摄图像的预览图像,待处理帧可以但不限于根据预览图像帧的图像信息确定。79.在拍摄图像的快速预览情况下,也即有查看拍摄图像的需求但拍摄图像未生成的情况下,为了避免对应于拍摄图像的预览图像与最终生成的拍摄图像的显示内容不一致的问题,本公开实施例中从待处理帧中确定基准帧,使得从缓存的原始图像帧中选取的用于生成拍摄图像的原始图像帧中包含与从缓存的预览图像帧中选取的预览图像帧的图像内容相同的原始图像帧。80.在一个实施例中,确定基准帧和待处理帧时,先按照取帧规则与拍摄需求信息的对应关系,根据拍摄请求携带的目标拍摄需求信息,确定对应于该目标拍摄需求信息的取帧规则,再根据取帧规则确定基准帧和至少一帧待处理帧。81.其中,目标拍摄需求信息包括拍摄过程中用户设置的拍摄信息,可以但不限于包括以下至少之一:拍摄模式、拍摄场景、画质要求等。取帧规则与拍摄需求信息的对应关系可以根据实际需求自行设置,表1是一示例性实施例示出的一种取帧规则与拍摄需求信息的对应关系。82.表1[0083][0084]参见表1,若用户选择的曝光参数在a~b范围内,且分辨率在a~b范围内,则待处理帧的取帧规则为取单帧,基准帧的取帧规则为将待处理帧确定为基准帧。所谓取单帧也即获取单帧图像帧,示例地,将接收到拍摄请求的预设时长内缓存的一帧原始图像帧确定为待处理帧。举例来说,若接收到拍摄请求时共缓存了1~n帧原始图像帧,而距离接收到拍摄请求的预设时长内缓存的是第k~n帧原始图像帧,则将第k~n帧原始图像帧中的一帧确定为待处理帧,例如将第k帧确定为待处理帧。其中,k<n。相对应的,接收到拍摄请求时共缓存了1~n帧原始预览帧,而距离接收到拍摄请求的预设时长内缓存的是第k~n帧预览图像帧,则将缓存的预览图像帧中的第k帧确定为基准帧。[0085]由于预览图像帧是通过对原始图像帧进行图像第一图像处理后获得的,相较于原始图像帧,缓存预览图像帧会有延时,存在缓存的预览图像帧的数量少于缓存的原始图像帧的数量的情形。举例来说,接收到拍摄请求时共缓存了1~n帧原始图像帧,但只缓存了1~n-1帧预览图像帧,若将第n帧确定为待处理帧,由于还未缓存第n帧预览图像帧,则将与第n帧原始图像帧的曝光时刻最接近的第n-1帧预览图像帧确定为基准帧。这是因为第n帧原始图像帧与第n帧原始图像帧的曝光时刻最接近的第n-1帧预览图像,两者的图像内容一般来说是高度相似的。[0086]表1中的取前向多帧和后向多帧均为取数量大于1的预设帧数的图像帧,预设帧数i的数值可根据实际需求自行设置。以预设帧数为3帧为例,若用户选择的曝光参数在c~d范围内,且分辨率在c~d范围内,待处理帧的取帧规则为取向前多帧,则将第k-2帧、第k-1帧和第k帧原始图像帧确定为待处理帧,并将第k帧确定为基准帧;若用户选择了使用美颜进行拍摄,待处理帧的取帧规则为取向后多帧,则将第k帧原始图像帧以及之后缓存的第k+1帧、第k+2帧原始图像帧确定为待处理帧,并将第k帧确定为基准帧。[0087]步骤203、在生成拍摄图像的过程中,显示对应于基准帧的预览图像帧。[0088]关于确定基准帧的时机,在一个实施例中,在接收到拍摄请求的情况下,直接确定基准帧,在确定了基准帧后直接从缓存的预览图像帧中选取对应于基准帧的预览图像帧,作为预览图像直接预览显示。也即用户发起拍摄请求后,直接将从缓存的预览图像帧中选取的对应于基准帧的预览图像帧显示于拍摄界面中。或者在确定了基准帧后,在生成拍摄图像的过程中(也即拍摄图像未生成),短时间内又接收到拍摄图像的查看请求,则从缓存的预览图像帧中选取对应于基准帧的预览图像帧,作为预览图像直接预览显示。[0089]关于确定基准帧的时机,在一个实施例中,接收到拍摄请求之后,短时间内又接收到拍摄图像的查看请求,但拍摄图像未生成的情况下,确定基准帧,确定基准帧后则直接显示对应于基准帧的预览图像帧。若接收到拍摄图像的查看请求,且拍摄图像已生成的情况下,则无需确定基准帧,而是直接显示生成的拍摄图像。也即只有在用户发起拍摄图像的查看请求且拍摄图像又未生成的情况下,才将从缓存的预览图像帧中选取的对应于基准帧的预览图像帧作为对应于拍摄图像的预览图像,显示于拍摄界面中。其中,拍摄图像的查看请求可以但不限于通过触控拍摄界面显示的缩略图而生成。[0090]步骤204、对缓存的原始图像帧中对应于至少一帧待处理帧的原始图像帧进行第二图像处理,得到拍摄图像。[0091]若待处理帧的原始图像帧的数量为一帧,则对该帧原始图像帧进行第二图像处理,得到拍摄图像。由于用于生成拍摄图像的原始图像帧与用于生成预览图像的预览图像帧的图像内容相同,生成的拍摄图像和预览图像的图像内容也相同。[0092]若待处理帧的原始图像帧的数量为多帧,则对该多帧原始图像帧进行第二图像处理。在第二图像处理过程中,将基准帧对应的原始图像帧作为参考图像,对其余原始图像帧进行空间对齐处理,采用多帧合成算法对经过空间对齐的原始图像帧进行多帧合成,得到图像质量较高的、最终的拍摄图像,且该拍摄图像与预览图像的图像内容相同,但拍摄图像的图像质量优于预览图像的图像质量。[0093]在一个实施例中,在完成第二图像处理的情况下,将显示的预览图像切换成拍摄图像,由于预览图像与拍摄图像显示的图像内容相同,从显示预览图像切换成显示拍摄图像不会存在两者显示的内容不一致导致的跳变问题。[0094]上述任一实施例提供的拍摄处理方法可以由拍摄处理系统执行,为了确保拍摄处理系统的稳定性和兼容性,可以将拍摄处理系统进行分层。图3a是根据本公开的实施例示出的一种拍摄处理系统的虚拟架构图,图中将拍摄处理系统分为hal层(hardware abstraction layer,硬件抽象层)和应用层(framework层),需要说明的是,实际应用中不限于将拍摄处理系统分为2层,还可将拍摄处理系统分为3层,甚至更多。[0095]参见图3a,图中的双向箭头表示数据传输通道,三个通道分别用于传输拍摄图像、预览图像帧和缓存图像帧,三个通道之间相互不干扰。[0096]预览阶段,相机启动但用户未发起拍摄请求时,图像传感器不断输出原始图像帧,参见图3b,hal层获取图像传感器输出的原始图像帧并缓存该原始图像帧,原始图像帧可以但不限于缓存于队列中,示例地,hal层将图像传感器输出的原始图像帧按照获取顺序存储在一个固定长度的队列中,同时hal层还可以对应缓存原始图像帧的帧号和曝光时刻(即图像信息)。[0097]hal层还获取经过第一图像处理后的预览图像帧并将预览图像帧复制为两份,一份通过第一通道传输至应用层进行预览显示,经过第一通道的预览图像帧形成预览流;另一份通过第二通道传输至应用层,以使应用层缓存该预览图像,经过第二通道的预览图像帧形成缓存流。hal层还将预览图像帧的帧号和曝光时刻通过第二通道传输至应用层,以使应用层对应缓存预览图像帧的帧号和曝光时刻。待获得拍摄图像时,hal层通过第三通道将拍摄图像传输至应用层进行存储或者直接显示。[0098]需要说明的是,对原始图像帧的第一图像处理可以在hal层执行,也可以不在hal层,本公开对此不作特别限定。3个通道传输的数据类型也可以根据实际需求自行配置,不限于上述记载的第一通道传输原始图像帧,第二通道传输预览图像帧,第三通道传输拍摄图像。[0099]拍照阶段,在一个实施例中,当应用层接收到拍摄请求,应用层将该拍摄请求发送至hal层,以指示hal层按照拍摄需求信息的对应关系,根据拍摄请求携带的目标拍摄需求信息,确定对应于该目标拍摄需求信息的取帧规则,并进行后续的拍摄处理。其中,拍摄请求可以通过第三通道发送,也可以另设通道发送,本公开对此不作特别限定。在另一个实施例中,当应用层接收到拍摄请求,应用层确定基准帧,并将携带拍摄需求信息和基准帧信息的拍摄请求发送至hal层,以指示hal层确定待处理帧的取帧规则,并进行后续的拍摄处理。[0100]下面以待处理帧的取帧规则为取单帧为例,对拍摄处理的过程作进一步说明。图4a是根据本公开的实施例示出的一种拍摄处理系统在拍照阶段的架构流程图,图4b是根据本公开的实施例示出的另一种拍摄处理方法的流程图,该方法包括以下步骤:[0101]步骤401、将图像传感器输出的各帧原始图像帧缓存于hal层,将对各帧原始图像帧进行第一图像处理得到的预览图像帧缓存于应用层。[0102]将预览图像帧缓存于应用层,而非hal层,应用层直接从本层选取预览图像帧作为对应于拍摄图像的预览图像,无需请求hal层传输预览图像帧,可以进一步缩短从发起拍摄请求到查看预览图像所需要的等待时间。[0103]步骤402、应用层在接收到拍摄请求的情况下,将拍摄请求发送至hal层,以指示hal层确定待处理帧和基准帧。[0104]步骤403、hal层确定用于生成拍摄图像的一帧待处理帧,并将该待处理帧确定为基准帧。[0105]确定待处理帧和基准帧的可选的实现过程与步骤202类似,此处不再赘述。[0106]步骤404、在生成拍摄图像的过程中,应用层显示缓存的预览图像帧中对应于基准帧的预览图像帧。[0107]hal层确定出基准帧后,将表征基准帧的帧号和/或曝光时刻发送至应用层。参见图4a,若将第k帧确定为基准帧,且确定应用层缓存有对应于基准帧的预览图像帧,也即确定存在与第k原始图像帧的曝光时刻相同的预览图像帧,则应用层直接显示第k帧预览图像帧。若应用层未缓存有对应于基准帧的预览图像帧,则显示与第k帧原始图像帧的曝光时刻最接近的预览图像帧,例如显示第k-1帧预览图像帧。[0108]关于确定基准帧的时机,在一个实施例中,在接收到拍摄请求的情况下,直接确定基准帧。确定基准帧后,直接从缓存的预览图像帧中选取对应于基准帧的预览图像帧作为预览图像直接预览显示,也即用户发起拍摄请求后,直接将从缓存的预览图像帧中选取的对应于基准帧的预览图像帧显示于拍摄界面中;或者,确定基准帧后,短时间内又接收到拍摄图像的查看请求,但拍摄图像未生成的情况下,从缓存的预览图像帧中选取对应于基准帧的预览图像帧作为预览图像直接预览显示。[0109]关于确定基准帧的时机,在一个实施例中,接收到拍摄请求之后,短时间内又接收到拍摄图像的查看请求,但拍摄图像未生成的情况下,确定基准帧,确定基准帧后则直接对缓存的预览图像帧中对应于所述基准帧的预览图像帧进行预览显示。若接收到拍摄图像的查看请求,且拍摄图像已生成的情况下,则无需确定基准帧,而是直接显示生成的拍摄图像。也即只有在用户发起拍摄图像的查看请求且拍摄图像又未生成的情况下,才将从缓存的预览图像帧中选取的对应于基准帧的预览图像帧作为对应于拍摄图像的预览图像,显示于拍摄界面中。其中,拍摄图像的查看请求可以但不限于通过触控拍摄界面显示的缩略图而生成。[0110]步骤405、hal层对缓存的原始图像帧中对应于待处理帧的原始图像帧进行第二图像处理,得到拍摄图像。[0111]参见图4a,若将第k帧确定为基准帧,hal层将第k帧对应的原始图像帧进行第二图像处理,完成第二图像处理后,hal层将得到的拍摄图像(拍照流)通过第三通道传输至应用层进行存储或者直接显示。[0112]直接显示的场景,也即将当前显示的预览图像切换为拍摄图像。由于基准帧与待处理帧相同,对应于待处理帧的原始图像帧的图像内容与对应于基准帧的原始图像帧的图像内容相同,从而生成的拍摄图像和预览图像的图像内容也相同,从显示预览图像切换成显示拍摄图像不会存在两者显示的内容不一致导致的跳变问题。[0113]需要说明的是,第二图像处理可以由hal层执行,也可以不由hal层执行,本公开对此不作特别限定。[0114]下面以待处理帧的取帧规则为取前向多帧为例,对拍摄处理的过程作进一步说明。图5a是根据本公开的实施例示出的另一种拍摄处理系统在拍照阶段的架构流程图,图5b是根据本公开的实施例示出的另一种拍摄处理方法的流程图,参见图5b,该方法包括以下步骤:[0115]步骤501、将图像传感器输出的各帧原始图像帧缓存于hal层,将对各帧原始图像帧进行第一图像处理得到的预览图像帧缓存于应用层。[0116]将预览图像帧缓存于应用层,而非hal层,应用层直接从本层选取预览图像帧作为对应于拍摄图像的预览图像,无需请求hal层传输预览图像帧,可以进一步缩短从发起拍摄请求到查看预览图像所需要的等待时间。[0117]步骤502、应用层在接收到拍摄请求的情况下,将拍摄请求发送至hal层,以指示hal层确定待处理帧和基准帧。[0118]步骤503、hal层确定用于生成拍摄图像的预设帧数的待处理帧,并将对应于待处理帧的各原始图像帧中曝光时刻最晚的原始图像帧确定为基准帧。[0119]所谓前向多帧,也即将用于生成拍摄图像的多帧原始图像帧中曝光时刻最晚的原始图像帧作为多帧图像处理过程中空间对齐的参考图像帧。为了确保预览图像的图像内容与拍摄图像的图像内容相同,则将参考图像帧确定为基准帧。举例来说,参见图5a,若预设帧数为3,用于生成拍摄图像的原始图像帧的帧号分别为k-2、k-1和k,帧号分别为k-2、k-1和k的原始图像帧的曝光时刻由早到晚,则将帧号k选取为基准帧。[0120]步骤503、在生成拍摄图像的过程中,应用层显示缓存的预览图像帧中对应于基准帧的预览图像帧。[0121]基于前向多帧的取帧规则,可以保证应用层已经缓存了第k帧的预览图像帧,无需进一步判断应用层是否缓存有对应于基准帧的预览图像帧。[0122]步骤504、hal层对缓存的原始图像帧中对应于待处理帧的原始图像帧进行图像处理,得到拍摄图像。[0123]图像处理的过程中,将基准帧对应的原始图像帧作为参考图像,对其余原始图像帧进行空间对齐处理,采用多帧合成算法对经过空间对齐的原始图像帧进行多帧合成,得到图像质量较高的、最终的拍摄图像,且该拍摄图像与预览图像的图像内容相同,但拍摄图像的图像质量优于预览图像的图像质量。[0124]下面以待处理帧的取帧规则为取后向多帧为例,对拍摄处理的过程作进一步说明。图6a是根据本公开的实施例示出的另一种拍摄处理系统在拍照阶段的架构流程图,图6b是根据本公开的实施例示出的另一种拍摄处理方法的流程图,参见图6b,该方法包括以下步骤:[0125]步骤601、将图像传感器输出的各帧原始图像帧缓存于hal层,将对各帧原始图像帧进行第一图像处理得到的预览图像帧缓存于应用层。[0126]将预览图像帧缓存于应用层,而非hal层,应用层直接从本层选取预览图像帧作为对应于拍摄图像的预览图像,无需请求hal层传输预览图像帧,可以进一步缩短从发起拍摄请求到查看预览图像所需要的等待时间。[0127]步骤602、应用层在接收到拍摄请求的情况下,将拍摄请求发送至hal层,以指示hal层确定待处理帧和基准帧。[0128]步骤603、hal层确定用于生成拍摄图像的预设帧数的待处理帧,并将对应于待处理帧的各原始图像帧中曝光时刻最早的原始图像帧确定为基准帧。[0129]所谓后向多帧,也即将用于生成拍摄图像的多帧原始图像帧中曝光时刻最早的原始图像帧作为多帧图像处理过程中空间对齐的参考图像帧。为了确保预览图像的图像内容与拍摄图像的图像内容相同,则将参考图像帧确定为基准帧。举例来说,参见图6a,若预设帧数为3,用于生成拍摄图像的原始图像帧的帧号分别为k、k+1和k+2,帧号分别为k、k+1和k+2的原始图像帧的曝光时刻由早到晚,则将帧号k选取为基准帧。[0130]步骤603、在生成拍摄图像的过程中,应用层对缓存的预览图像帧中对应于基准帧的预览图像帧进行预览显示。[0131]在后向多帧场景下,部分拍摄模式会导致拍摄请求之后得到的预览图像帧无法显示,此时需要根据之前确定的基准帧重新确定新的基准帧。在一个实施例中,关于上述部分拍摄模式可以预定义与终端中,若确定拍摄请求携带的拍摄模式相匹配于预定义的拍摄模式,则确定预览图像帧无法显示;在另一个实施例中,可以通过确定对应于基准帧的预览图像帧的图像质量参数值是否在预设范围内来确定预览图像帧是否能正常显示,图像质量参数值例如可以是图像亮度。[0132]举例来说,hdr模式下,算法处理流程需要的多帧图像数据为曝光具有差异的数据,曝光得到的原始图像帧的亮度可能太暗或者太亮,即便经过第一图像处理,也不适合直接显示,则显示与基准帧对应的原始图像帧的曝光时刻最接近且曝光时刻早于接收拍摄请求的时刻的预览图像。若用于生成拍摄图像的原始图像帧的帧号分别为k、k+1和k+2,但是第k帧的预览图像帧并不适合显示,则显示第k-1帧预览图像帧。[0133]步骤604、hal层对缓存的原始图像帧中对应于待处理帧的原始图像帧进行图像处理,得到拍摄图像。[0134]步骤604的可选的实现过程与步骤503类似,此处不再赘述。[0135]与前述的拍摄处理方法的实施例相对应,本公开还提供了拍摄处理装置的实施例。[0136]图7是根据本公开的实施例示出的一种拍摄处理装置的模块示意图,装置包括:[0137]缓存模块71,用于缓存对图像传感器输出的各帧原始图像帧进行第一图像处理后的预览图像帧;[0138]确定模块72,用于在接收到拍摄请求的情况下,确定基准帧,所述基准帧用于生成对应于所述拍摄请求的拍摄图像;[0139]显示模块73,用于在生成所述拍摄图像的过程中,显示对应于所述基准帧的预览图像帧。[0140]可选地,缓存模块还用于:缓存所述图像传感器输出的各帧原始图像帧;[0141]确定模块,还用于确定用于生成拍摄图像的至少一帧待处理帧;[0142]处理模块,用于对缓存的原始图像帧中对应于所述至少一帧待处理帧的原始图像帧进行图像处理,得到所述拍摄图像。[0143]可选地,确定模块用于:[0144]从所述至少一帧待处理帧中确定所述基准帧。[0145]可选地,在确定用于生成拍摄图像的至少一帧待处理帧时,确定模块用于:[0146]按照取帧规则与拍摄需求信息的对应关系,根据所述拍摄请求携带的目标拍摄需求信息,确定对应于所述目标拍摄需求信息的取帧规则;[0147]根据所述取帧规则确定所述至少一帧待处理帧可选地,所述取帧规则包括取帧的预设帧数,在根据所述取帧规则确定所述至少一帧待处理帧时,确定模块用于:[0148]将接收到所述拍摄请求的预设时长内缓存的预设帧数的原始图像帧,确定为所述待处理帧。[0149]可选地,在从所述至少一帧待处理帧中确定基准帧时,确定模块用于:[0150]将对应于所述待处理帧的各原始图像帧中曝光时刻最早的原始图像帧,确定为所述基准帧;[0151]或者,将对应于所述待处理帧的各原始图像帧中曝光时刻最晚的原始图像帧,确定为所述基准帧。[0152]可选地,显示模块用于:[0153]在没有所述基准帧对应的预览图像的情况下,显示与所述基准帧对应的原始图像帧的曝光时刻最接近的预览图像。[0154]可选地,显示模块用于:[0155]在对应于所述基准帧的预览图像帧无法正常显示的情况下,显示与所述基准帧对应的原始图像帧的曝光时刻最接近且曝光时刻早于接收所述拍摄请求的时刻的预览图像。[0156]可选地,在确定所述基准帧时,确定模块用于:[0157]响应于拍摄请求,直接确定所述基准帧;[0158]或者,响应于所述拍摄图像的查看请求,在确定所述拍摄图像未生成的情况下,确定所述基准帧。[0159]本公开的实施例还提出一种电子设备,包括:[0160]处理器;[0161]用于存储处理器可执行请求的存储器;[0162]其中,所述处理器被配置为实现上述任一实施例所述的拍摄处理。[0163]本公开的实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的拍摄处理方法的步骤。[0164]图8是根据本公开的实施例示出的一种用于拍摄处理的装置的框图。该装置可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。[0165]如图8所示,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。[0166]处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行请求,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。[0167]存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的请求,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。[0168]电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。[0169]多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。[0170]音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。[0171]i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。[0172]传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。[0173]通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。[0174]在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述任一实施例所述的方法。[0175]在示例性实施例中,还提供了一种包括请求的非临时性计算机可读存储介质,例如包括请求的存储器804,上述请求可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。[0176]本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。[0177]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部