CN115802147A - 一种录像中抓拍图像的方法及电子设备 - Google Patents

一种录像中抓拍图像的方法及电子设备 Download PDF

Info

Publication number
CN115802147A
CN115802147A CN202111475273.8A CN202111475273A CN115802147A CN 115802147 A CN115802147 A CN 115802147A CN 202111475273 A CN202111475273 A CN 202111475273A CN 115802147 A CN115802147 A CN 115802147A
Authority
CN
China
Prior art keywords
image
frames
images
electronic equipment
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111475273.8A
Other languages
English (en)
Other versions
CN115802147B (zh
Inventor
肖斌
王宇
朱聪超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Publication of CN115802147A publication Critical patent/CN115802147A/zh
Application granted granted Critical
Publication of CN115802147B publication Critical patent/CN115802147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

一种录像中抓拍图像的方法及电子设备,涉及拍摄技术领域,可在录像中抓拍图像,并且提升抓拍图像的图像质量。电子设备响应于第一操作,摄像头采集第一图像,显示第一界面;第一界面包括抓拍快门和由第一图像得到的预览图像;在第一缓存队列缓存第一图像;每间隔N帧从所述第一缓存队列中获取n帧第一图像,将n帧第一图像作为输入运行预设RAW域图像处理算法得到第二图像并存储在DDR中;响应于用户对抓拍快门的第二操作,根据第一图像的附加信息,从第一缓存队列中选择出第三图像;从DDR中获取m帧第二图像;利用m帧第二图像对第三图像进行画质增强得到第四图像,并采用电子设备的ISP处理第四图像得到抓拍图像。

Description

一种录像中抓拍图像的方法及电子设备
本申请要求于2021年09月07日提交国家知识产权局、申请号为202111045870.7、发明名称为“一种录像中抓拍图像的方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及拍摄技术领域,尤其涉及一种录像中抓拍图像的方法及电子设备。
背景技术
现有的手机一般具有拍照和录像功能,越来越来的人使用手机拍摄照片和视频来记录生活的点点滴滴。其中,手机录制视频(即录像)的过程中,可能会采集到的一些精彩的画面。在手机录像的过程中,用户可能会希望手机可以抓拍到上述精彩的画面,并保存成照片展示给用户。因此,亟待一种可以实现在录像过程中抓拍图像的方案。
发明内容
本申请提供一种录像中抓拍图像的方法及电子设备,可以在录像过程中抓拍图像,并且可以提升抓拍图像的图像质量。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请提供一种录像中抓拍图像的方法,可以应用于电子设备。该方法中,电子设备可以接收用户的第一操作。该第一操作用于触发电子设备开始录制视频。响应于第一操作,电子设备的摄像头可采集第一图像,电子设备可显示第一界面。该第一界面是电子设备正在录制视频的取景界面。该第一界面包括抓拍快门和由第一图像得到的预览图像,该抓拍快门用于触发电子设备抓拍图像得到照片。电子设备可以在第一缓存队列缓存摄像头采集的第一图像。然后,电子设备每间隔N帧从第一缓存队列中获取n帧第一图像,将n帧第一图像作为输入,运行预设RAW域图像处理算法得到第二图像并存储在双倍速率同步动态随机存储器(double data rate SDRAM,DDR)中。其中,预设RAW域图像处理算法具备提升图像画质的功能,1≤n≤N,n和N均为整数。之后,电子设备可以接收用户对抓拍快门的第二操作。响应于第二操作,电子设备可根据第一图像的附加信息,从第一缓存队列中选择出第三图像。其中,该附加信息包括第一图像的对比度和摄像头采集第一图像时的角速度。并且,电子设备可以从DDR中获取m帧第二图像。其中,m≥1,m为整数。最后,电子设备可以利用m帧第二图像对第三图像进行画质增强得到第四图像,并采用电子设备的图像信号处理器ISP处理第四图像得到抓拍图像。
一方面,电子设备(如手机)可以将图像传感器(Sensor)曝光输出第一图像(即Bayer图像)缓存在一个第一缓存队列(Buffer)中。该Buffer可以缓存第一图像(即Bayer图像)。如此,即使从接收到用户的抓拍操作(如上述第二操作)到Snapshot程序接收到抓拍指令,存在延迟时长(如120ms-160ms);在这段延迟时长内Sensor出帧都可以缓存在Buffer中。因此,电子设备接收到用户的抓拍操作时,Sensor输出的Bayer图像也可以缓存在第一缓存队列中。并且,短时间内Sensor出帧的图像内容不会发生太大变化;如此,响应于Snapshot程序接收到抓拍指令,可以由手机的选帧模块从Buffer中选择出图像质量较好的一帧图像(即第三图像)用来生成抓拍图像。这样,可以提升抓拍图像的图像质量。
另一方面,电子设备还可以采用预设RAW域图像处理算法,每间隔N帧取n帧采用预设RAW域图像处理算法进行处理得到第二图像。其中,预设RAW域图像处理算法是一个RAW域的画质增强的深度学习网络。经过预设RAW域图像处理算法的处理,可以增强图像的图像细节。之后,采用该预设RAW域图像处理算法处理后的第二图像,对选帧模块选择的第三图像进行画质增强,可以得到图像质量好且细节丰富清楚的第四图像,然后经过ISP的处理便可以得到图像质量较好的抓拍图像。其中,抓拍图像经过编码便可以得到抓拍照片。
综上所述,采用本申请的方法,可以在录像过程中抓拍到满足用户需求的图像,并且可以提升抓拍图像的图像质量。
在第一方面的一种可能的设计方式中,在电子设备利用m帧第二图像对第三图像进行画质增强得到第四图像之前,电子设备可以对m帧第二图像和第三图像进行配准。其中,电子设备利用配准后的m帧第二图像,对配准后的第三图像进行画质增强得到第四图像。
其中,电子设备对m帧第二图像和第三图像进行融合(Fusion)之前,对m帧第二图像和第三图像进行配准,可以提升电子设备进行画质增强的成功率和效果。
在第一方面的另一种可能的设计方式中,电子设备对m帧第二图像和第三图像进行配准,包括:如果m帧第二图像与第三图像的纹理相似度高于预设相似度阈值,电子设备对m帧第二图像和第三图像进行配准。
应理解,如果m帧第二图像与第三图像的纹理相似度高于预设相似度阈值,则表示m帧第二图像与第三图像的纹理相似度较高。在这种情况下,电子设备对m帧第二图像和第三图像进行配准的成功率较高。采用本方案,可以提升电子设备配准的成功率。
在第一方面的另一种可能的设计方式中,电子设备利用m帧第二图像对第三图像进行画质增强得到第四图像,包括:电子设备通过融合网络,利用m帧第二图像对第三图像进行画质增强得到第四图像。
在第一方面的另一种可能的设计方式中,m≥2。在m≥1的情况下,电子设备可以从DDR中获取时间戳锁指示的时间与第三图像的时间戳所指示的时间最近的多帧第二图像。该多帧第二图像中的每一帧第二图像的时间戳为:用于生成该第二图像的n帧第一图像中、图像质量最好的一帧第一图像的时间戳。该m帧第二图像的时间戳与第三图像的时间戳所指示的时间最近。该m帧第二图像的纹理与第三图像的纹理较为接近的可能性更高。纹理相似的图像更容易融合。因此,采用该m帧第二图像对第二图像进行图像增强,有利于进一步提升处理后图像的画质。
在第一方面的另一种可能的设计方式中,电子设备每间隔N帧从第一缓存队列中获取n帧第一图像,将n帧第一图像作为输入,运行预设原始RAW域图像处理算法得到第二图像并存储在双倍速率同步动态随机存储器DDR中,包括:电子设备每间隔N帧,根据第一缓存队列中缓存的第一图像的附加信息,从第一缓存队列中选择出第五图像;其中,附加信息包括第一图像的对比度和摄像头采集第一图像时的角速度;电子设备将第一缓存队列中相邻且包括第五图像的n帧第一图像作为输入,运行预设RAW域图像处理算法得到第二图像并存储在DDR中。其中,n帧第一图像中除第五图像的其他图像,用于对第五图像进行画质增强。
在第一方面的另一种可能的设计方式中,n≥2。具体的,电子设备可以将该多帧第一图像作为输入,运行预设RAW域图像处理算法。应理解,n帧第一图像中除第五图像之外的其他图像,可以对第五图像起到画质增强的作用,有利于获取噪声和纹理等信息,可以进一步提升第五图像的画质。
第二方面,本申请提供一种录像中抓拍图像的方法,可以应用于电子设备。该方法中,电子设备接收用户的第一操作。该第一操作用于触发所述电子设备开始录制视频。响应于所述第一操作,所述电子设备的摄像头采集第一图像,所述电子设备显示第一界面。其中,所述第一界面是所述电子设备正在录制视频的取景界面,所述第一界面包括抓拍快门和由所述第一图像得到的预览图像。所述抓拍快门用于触发所述电子设备抓拍图像得到照片。所述电子设备在第一缓存队列缓存所述摄像头采集的第一图像。所述电子设备每间隔N帧从所述第一缓存队列中获取n帧第一图像,将所述n帧第一图像作为输入,运行预设RAW域图像处理算法得到第二图像并存储在DDR中。其中,所述预设RAW域图像处理算法具备提升图像画质的功能,1≤n≤N,n和N均为整数。所述电子设备采用图像处理器ISP处理所述第一缓存队列输出的第一图像,得到第三图像。所述电子设备采用所述第二图像对所述第三图像进行画质增强得到第四图像,所述第四图像用于生成视频流。所述电子设备在第二缓存队列缓存所述第四图像。所述电子设备响应于用户对所述抓拍快门的第二操作,根据所述第四图像的附加信息,从所述第二缓存队列中选择出第五图像作为抓拍图像。其中,所述附加信息包括所述第四图像的对比度和所述摄像头采集所述第三图像时的角速度。
在该实施例中,电子设备并不是响应于抓拍操作,确定抓拍图像并进行画质增强(包括运行预设RAW域图像处理算法的画质增强和图像融合的画质增强);而是在处理Video中的每一帧图像时,就采用预设RAW域图像处理算法进行了画质增强,并通过图像融合进行了画质增强。也就是说,采用本方案,电子设备录像的Video中的每一帧图像也是经过画质增强的,提升了录像得到的视频的画质。
并且,该实施例中,电子设备可以每N帧(如30帧-60帧)采用预设RAW域图像处理算法进行一次画质增强(简称为AI画质增强)。然后,电子设备利用画质增强后的第二图像,对一段时间(如N帧对应的时间)内ISP处理的每一帧第三图像进行画质增强(简称为融合画质增强)。其中,每N帧采用预设RAW域图像处理算法进行一次画质增强,而不是针对每一帧第一图像都采用预设RAW域图像处理算法进行画质增强;这样,可以降低电子设备的功耗。并且,N帧内Sensor曝光输出的第一图像的图像内容不会发生较大变化。因此,采用每N帧一次AI画质增强后的第二图像,对N帧对应的时间内ISP处理的每一帧第三图像进行融合画质增强,也不会影响融合画质增强的效果。
在第二方面的一种可能的设计方式中,在电子设备采用第二图像对第三图像进行画质增强得到第四图像之前,电子设备对第二图像和第三图像进行配准。其中,电子设备利用配准后的第二图像,对配准后的第三图像进行画质增强得到第四图像。
其中,电子设备对第二图像和第三图像进行融合(Fusion)之前,对第二图像和第三图像进行配准,可以提升电子设备进行画质增强的成功率和效果。
在第二方面的另一种可能的设计方式中,电子设备对第二图像和第三图像进行配准,包括:如果第二图像与第三图像的纹理相似度高于预设相似度阈值,电子设备对第二图像和第三图像进行配准。
在第二方面的一种可能的设计方式中,电子设备采用第二图像对第三图像进行画质增强得到第四图像,包括:电子设备通过融合网络,利用第二图像对第三图像进行画质增强得到第四图像。
在第二方面的一种可能的设计方式中,n≥2。
第三方面,本申请提供一种电子设备,该电子设备包括触摸屏、存储器、显示屏、一个或多个摄像头和一个或多个处理器。该存储器、显示屏、摄像头与处理器耦合。其中,摄像头用于采集图像,显示屏用于显示摄像头采集的图像或者处理器生成的图像,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如第一方面或第二方面及其任一种可能的设计方式所述的方法。
第四方面,本申请提供一种电子设备,该电子设备包括触摸屏、存储器、显示屏、一个或多个摄像头和一个或多个处理器。该存储器、显示屏、摄像头与处理器耦合。其中,摄像头用于采集图像,显示屏用于显示摄像头采集的图像或者处理器生成的图像,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如下步骤:接收用户的第一操作;其中,第一操作用于触发电子设备开始录制视频;响应于第一操作,摄像头采集第一图像,显示屏显示第一界面;其中,第一界面是电子设备正在录制视频的取景界面,第一界面包括由第一图像得到的预览图像,第一界面还包括抓拍快门,抓拍快门用于触发电子设备抓拍图像得到照片;在第一缓存队列缓存摄像头采集的第一图像;每间隔N帧从第一缓存队列中获取n帧第一图像,将n帧第一图像作为输入,运行预设原始RAW域图像处理算法得到第二图像并存储在双倍速率同步动态随机存储器DDR中;其中,预设RAW域图像处理算法具备提升图像画质的功能,1≤n≤N,n和N均为整数;响应于用户对抓拍快门的第二操作,根据第一图像的附加信息,从第一缓存队列中选择出第三图像;其中,附加信息包括第一图像的对比度和摄像头采集第一图像时的角速度;从DDR中获取m帧第二图像;其中,m≥1,m为整数;利用m帧第二图像对第三图像进行画质增强得到第四图像,并采用电子设备的图像信号处理器ISP处理第四图像得到抓拍图像。
在第四方面的一种可能的设计方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:在利用m帧第二图像对第三图像进行画质增强得到第四图像之前,对m帧第二图像和第三图像进行配准。
其中,电子设备利用配准后的m帧第二图像,对配准后的第三图像进行画质增强得到第四图像。
在第四方面的另一种可能的设计方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:如果m帧第二图像与第三图像的纹理相似度高于预设相似度阈值,对m帧第二图像和第三图像进行配准。
在第四方面的另一种可能的设计方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:通过融合网络,利用m帧第二图像对第三图像进行画质增强得到第四图像。
在第四方面的另一种可能的设计方式中,n≥2。
在第四方面的另一种可能的设计方式中,m≥2。
在第四方面的另一种可能的设计方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:每间隔N帧,根据第一缓存队列中缓存的第一图像的附加信息,从第一缓存队列中选择出第五图像;其中,附加信息包括第一图像的对比度和摄像头采集第一图像时的角速度;将第一缓存队列中相邻且包括第五图像的n帧第一图像作为输入,运行预设RAW域图像处理算法得到第二图像并存储在DDR中。其中,n帧第一图像中除第五图像的其他图像,用于对第五图像进行画质增强。在n帧第一图像中,第五图像由摄像头的图像传感器输出的时间与电子设备接收到第二操作的时间最近;或者,n帧第一图像中,第五图像的清晰度最高。
在第四方面的另一种可能的设计方式中,在第一缓存队列中,第三图像由摄像头的图像传感器输出的时间与电子设备接收到第二操作的时间最近;或者,第一缓存队列中,第三图像的清晰度最高。
第五方面,本申请提供一种电子设备,该电子设备包括触摸屏、存储器、一个或多个摄像头和一个或多个处理器。该存储器、显示屏、摄像头与处理器耦合。其中,摄像头用于采集图像,显示屏用于显示摄像头采集的图像或者处理器生成的图像,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如下步骤:接收用户的第一操作;其中,第一操作用于触发电子设备开始录制视频;响应于第一操作,摄像头采集第一图像,显示屏显示第一界面;其中,第一界面是电子设备正在录制视频的取景界面,第一界面包括由第一图像得到的预览图像,第一界面还包括抓拍快门,抓拍快门用于触发电子设备抓拍图像得到照片;在第一缓存队列缓存摄像头采集的第一图像;每间隔N帧从第一缓存队列中获取n帧第一图像,将n帧第一图像作为输入,运行预设原始RAW域图像处理算法得到第二图像并存储在双倍速率同步动态随机存储器DDR中;其中,预设RAW域图像处理算法具备提升图像画质的功能,1≤n≤N,n和N均为整数;采用图像处理器ISP处理第一缓存队列输出的第一图像,得到第三图像;采用第二图像对第三图像进行画质增强得到第四图像,第四图像用于生成视频流;在第二缓存队列缓存第四图像;响应于用户对抓拍快门的第二操作,根据第四图像的附加信息,从第二缓存队列中选择出第五图像作为抓拍图像;其中,附加信息包括第四图像的对比度和摄像头采集第三图像时的角速度。
在第五方面的一种可能的设计方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:在电子设备采用第二图像对第三图像进行画质增强得到第四图像之前,对第二图像和第三图像进行配准。其中,电子设备利用配准后的第二图像,对配准后的第三图像进行画质增强得到第四图像。
在第五方面的另一种可能的设计方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:如果第二图像与第三图像的纹理相似度高于预设相似度阈值,对第二图像和第三图像进行配准。
在第五方面的另一种可能的设计方式中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:通过融合网络,利用第二图像对第三图像进行画质增强得到第四图像。
在第五方面的另一种可能的设计方式中,n≥2。
第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面或第二方面及其任一种可能的设计方式所述的方法。
第七方面,本申请提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行如第一方面或第二方面及任一种可能的设计方式所述的方法。该计算机可以是上述电子设备。
可以理解地,上述提供的第三方面、第四方面和第五方面及其任一种可能的设计方式所述的电子设备,第六方面所述的计算机存储介质,第七方面所述的计算机程序产品所能达到的有益效果,可参考第一方面和第二方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为Sensor输出图像,ISP和ENCODER处理图像得到视频流(如录像流和预览流)的处理流程图;
图2为本申请实施例提供的一种手机的录像取景界面示意图;
图3为本申请实施例提供的一种手机接收抓拍操作到抓拍(Snapshot)程序接收到抓拍指示的延迟时长示意图;
图4为本申请实施例提供的一种录像中抓拍图像的方法原理框图;
图5A为本申请实施例提供的一种手机的硬件结构示意图;
图5B为本申请实施例提供的一种手机的软件架构示意图;
图6为本申请实施例提供的一种录像中抓拍图像的方法流程图;
图7为本申请实施例提供的一种手机的显示界面示意图;
图8A为本申请实施例提供的一种第一缓存队列的示意图;
图8B为本申请实施例提供的另一种第一缓存队列的示意图;
图8C为本申请实施例提供的另一种第一缓存队列的示意图;
图9为本申请实施例提供的一种录像中抓拍图像的方法原理框图;
图10为本申请实施例提供的另一种手机的显示界面示意图;
图11为本申请实施例提供的另一种手机的显示界面示意图;
图12A为本申请实施例提供的一种ISP的功能模块示意图;
图12B为本申请实施例提供的另一种录像中抓拍图像的方法原理框图;
图12C为本申请实施例提供的另一种录像中抓拍图像的方法原理框图;
图13为本申请实施例提供的一种录像中抓拍图像的方法流程图;
图14为本申请实施例提供的另一种录像中抓拍图像的方法原理框图;
图15为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
目前,手机录像过程中,手机的图像传感器(Sensor)受到曝光的控制,可以不断输出拜耳(Bayer)图像。每一帧Bayer图像经过手机的图像信号处理器(image signalprocessor,ISP)处理,然后经过编码器(ENCODER)进行编码,便可以得到视频流(如预览流或录像流)。
请参考图1,其示出手机录像过程中图像传感器(Sensor)输出图像后,手机中预览流和录像流的处理流程。其中,预览流是指手机录像过程中在显示屏上呈现给用户的视频流,录像流是指录像结束后保存在手机中可供用户查看的视频流。
如图1所示,图像传感器输出图像后,可以由ISP对图像进行图像处理;在ISP的图像处理后,可以分为两路数据流。一路数据流采用图1所示的处理算法1进行处理,然后经过编码器1可编码得到预览流。另一路数据流采用图1所示的处理算法2进行处理,然后经过编码器2可编码得到录像流。
上述处理算法1也可以称为预览流的后处理算法,处理算法2也可以称为录像流的后处理算法。处理算法1和处理算法2可以包括防抖处理、去噪处理、虚化处理、色彩和亮度调整等处理功能。
需要说明的是,手机在录像过程中处理预览流和录像流的方式包括但不限于图1所示的方式。例如,图像传感器输出图像后,可以由ISP对图像进行一部分图像处理(如“RAW域”和“RGB域”的图像处理)。然后,可以分为两路数据流;一路数据流采用处理算法1进行处理,然后由ISP进行另一部分图像处理(如“YUV域”的图像处理),再经过编码器1可编码得到预览流。另一路数据流采用处理算法2进行处理,然后由ISP进行另一部分图像处理(如“YUV域”的图像处理),再经过编码器2可编码得到录像流。以下实施例中,以图1所示的预览流和录像流的处理方式为例,介绍本申请实施例的方法。
应注意,由于Sensor输出图像,ISP和编码器(即ENCODER,如编码器1和编码器2)处理图像都是为了录制视频;因此,可以将Sensor输出图像、ISP和编码器(ENCODER)处理图像的整个过程中的数据流(如预览流和录像流)称为视频流。
手机录像的过程中,手机可以响应于用户的操作抓拍图像。例如,手机可以显示图2所示的录像的取景界面201。该录像的取景界面201包括抓拍快门202,该抓拍快门202用于触发手机抓拍录像过程中的图像并保存成照片。手机响应于用户对图2所示的抓拍按钮202的点击操作,便可以抓拍图像。其中,用户希望手机抓拍的是用户点击抓拍快门202那一瞬间,摄像头采集的图像。
为了实现手机录像中抓拍图像,一些技术方案中,可以选取手机的抓拍(Snapshot)程序接收到抓拍指令时,采集的第1帧图像作为抓拍图像(如图3所示的第7帧图像)。但是,上层应用(如图2所示的录像的取景界面201对应的相机应用)接收到用户的抓拍操作(如用户对抓拍快门202的点击操作)后,向Snapshot程序传输抓拍指令需要时间(如图3所示的延迟时长)。在这段时间(如图3所示的延迟时长)内,Sensor并不会停止输出Bayer图像。所以,从上层应用接收到用户的抓拍操作,到Snapshot程序接收到抓拍指令,Sensor可能已经输出了多帧Bayer图像。
例如,如图3所示,假设图像传感器(Sensor)输出第3帧Bayer图像时,上层应用接收到抓拍操作;sensor输出第7帧Bayer图像时,抓拍指令传递到Snapshot程序。如此,采用现有技术的方案,因为图3所示的延迟时长,所以第7帧图像并不是用户点击抓拍快门202瞬间的一帧图像。采用该方案,并不能抓拍到用户真实想要的一帧图像。需要说明的是,图3所示的8帧图像中,第1帧图像是Sensor最早出帧的一帧图像,而第8帧图像是sensor最晚出帧的一帧图像。图像传感器(Sensor)可以从第1帧图像开始,依次曝光输出图3所示的8帧图像。
在另一些实施例中,手机可以截取视频流(如预览流或录像流)中用户抓拍瞬间采集的一帧图像,作为抓拍图像保存成照片展示给用户。
但是,手机录像过程中,每秒需要处理大量图像(如30帧图像)。如此,留给每一帧图像的运算资源和时间都是有限的;因此,手机一般可以使用ISP的硬件处理模块,采用较为简单的处理方式来处理视频流;而不会使用复杂的算法来提升画质(如去噪和提亮)。这样的图像处理效果,只能满足视频的要求;而拍照对画质的要求则更高。因此,截取视频流中的图像,并不能抓拍到用户满意的图像。
本申请实施例提供一种录像中抓拍图像的方法,可以在录像过程中抓拍图像,并且可以提升抓拍图像的图像质量。
一方面,本申请实施例中,如图4所示,电子设备(如手机)可以将Sensor曝光输出第一图像(即Bayer图像)缓存在一个第一缓存队列(Buffer)中。该Buffer可以缓存多帧第一图像(即Bayer图像)。如此,即使从接收到用户的抓拍操作到Snapshot程序接收到抓拍指令,存在图3所示的延迟时长(如120ms-160ms);在这段延迟时长内Sensor出帧都可以缓存在Buffer中。因此,手机接收到用户的抓拍操作时,Sensor输出的Bayer图像也可以缓存在第一缓存队列中。并且,短时间内Sensor出帧的图像内容不会发生太大变化;如此,如图4所示,响应于Snapshot程序接收到抓拍指令,可以由手机的选帧模块从Buffer中选择出图像质量较好的一帧图像(即第三图像)用来生成抓拍图像。这样,可以提升抓拍图像的图像质量。
另一方面,如图4所示,电子设备还可以采用预设RAW域AI图像增强算法模型(简称为预设RAW域图像处理算法),每间隔N帧取n帧采用预设RAW域图像处理算法进行处理得到第二图像。其中,预设RAW域图像处理算法是一个RAW域的画质增强的深度学习网络。该预设RAW域图像处理算法也可以称为预设画质增强算法、预设画质增强算法模型或者预设RAW域AI模型。经过预设RAW域图像处理算法的处理,可以增强图像的图像细节。之后,采用该预设RAW域图像处理算法处理后的第二图像,对选帧模块选择的第三图像进行画质增强,可以得到图像质量好且细节丰富清楚的第四图像,然后经过ISP的处理便可以得到图像质量较好的抓拍图像。其中,抓拍图像经过图4所示的编码器3编码便可以得到抓拍照片。
综上所述,采用本申请实施例的方法,可以在录像过程中抓拍到满足用户需求的图像,并且可以提升抓拍图像的图像质量。
在一些实施例中,预设RAW域图像处理算法可以是软件图像处理算法。该预设RAW域图像处理算法可以是手机的硬件抽象层(hardware abstraction layer,HAL)算法库中的一种软件算法。
在另一些实施例中,预设RAW域图像处理算法可以是硬件图像处理算法。该预设RAW域图像处理算法可以是调用ISP的图像处理算法能力实现的一种硬件图像处理算法。
需要说明的是,预设RAW域图像处理算法也可以称为预设图像处理算法。本申请实施例中之所以称之为预设RAW域图像处理算法,是因为该预设RAW域图像处理算法输入的是RAW域的图像。该预设RAW域图像处理算法输出的可以是RAW域的图像,也可以是RGB域的图像,本申请实施例对此不作限制。
上述编码器1、编码器2和编码器3可以是三个不同的编码器。手机可以采用三个不同的编码器分别对上述预览流、录像流和抓拍流进行编码。或者,上述编码器1、编码器2和编码器3可以是同一个编码器。一个编码器可以包括多个编码单元。手机可以采用一个编码器中三个不同的编码单元分别对上述预览流、录像流和抓拍流进行编码。或者,编码器1和编码器2可以是同一个编码器中不同的两个编码单元,编码器3可以是另一个编码器。
其中,不同编码器的编码方式可以相同,也可以不同。同一编码器的不同编码单元的编码方式可以相同,也可以不同。因此,上述编码器1和编码器2输出的图像格式可以相同,也可以不同。例如,编码器1和编码器2输出的图像可以是联合图像专家组(JointPhotographic Experts Group,JPEG)、标签图像文件格式(Tag Image File Format,TIFF)等任一种格式的图像。
图1或图4所示的图像传感器(Sensor)输出的图像为拜耳(Bayer)格式的图像(简称Bayer图像)。其中,Bayer、JPEG和TIFF是图像的三种表达格式。Bayer图像和JPEG图像的详细介绍可以参考常规技术中的相关内容,这里不予赘述。
示例性的,本申请实施例中的电子设备可以是手机、平板电脑、智能手表、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等包括摄像头的设备,本申请实施例对该电子设备的具体形态不作特殊限制。
下面将结合附图对本申请实施例的实施方式进行详细描述。请参考图5A,为本申请实施例提供的一种电子设备500的结构示意图。如图5A所示,电子设备500可以包括:处理器510,外部存储器接口520,内部存储器521,通用串行总线(universal serial bus,USB)接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块550,无线通信模块560,音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,传感器模块580,按键590,马达591,指示器592,摄像头593,显示屏594,以及用户标识模块(subscriber identification module,SIM)卡接口595等。
其中,上述传感器模块580可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
可以理解的是,本实施例示意的结构并不构成对电子设备500的具体限定。在另一些实施例中,电子设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备500的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
在一些实施例中,处理器510可以包括一个或多个接口。可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备500的结构限定。在另一些实施例中,电子设备500也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块540用于从充电器接收充电输入。充电管理模块540为电池542充电的同时,还可以通过电源管理模块541为电子设备供电。
电源管理模块541用于连接电池542、充电管理模块540与处理器510。电源管理模块541接收电池542和/或充电管理模块540的输入,为处理器510,内部存储器521,外部存储器,显示屏594,摄像头593,和无线通信模块560等供电。
电子设备500的无线通信功能可以通过天线1,天线2,移动通信模块550,无线通信模块560,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。在一些实施例中,电子设备500的天线1和移动通信模块550耦合,天线2和无线通信模块560耦合,使得电子设备500可以通过无线通信技术与网络以及其他设备通信。
电子设备500通过GPU,显示屏594,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏594和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏594用于显示图像,视频等。该显示屏594包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。
电子设备500可以通过ISP,摄像头593,视频编解码器,GPU,显示屏594以及应用处理器等实现拍摄功能。
ISP用于处理摄像头593反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头593中。
摄像头593用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备500可以包括N个摄像头593,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备500在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备500可以支持一种或多种视频编解码器。这样,电子设备500可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备500的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口520可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备500的存储能力。外部存储卡通过外部存储器接口520与处理器510通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器521可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器510通过运行存储在内部存储器521的指令,从而执行电子设备500的各种功能应用以及数据处理。例如,在本申请实施例中,处理器510可以通过执行存储在内部存储器521中的指令,内部存储器521可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备500使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
电子设备500可以通过音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键590包括开机键,音量键等。马达591可以产生振动提示。指示器592可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口595用于连接SIM卡。SIM卡可以通过插入SIM卡接口595,或从SIM卡接口595拔出,实现和电子设备500的接触和分离。电子设备500可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口595可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
以下实施例中的方法均可以在具有上述硬件结构的电子设备500中实现。以下实施例中,以电子设备500是手机为例,介绍本申请实施例的方法。图5B是本申请实施例的手机的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将AndroidTM系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,硬件抽象层(hardwareabstraction layer,HAL)以及内核层。应理解:本文以Android系统举例来说明,在其他操作系统中(例如鸿蒙TM系统,IOSTM系统等),只要各个功能模块实现的功能和本申请的实施例类似也能实现本申请的方案。
应用程序层可以包括一系列应用程序包。
如图5B所示,应用程序层中可以安装通话,备忘录,浏览器,联系人,图库,日历,地图,蓝牙,音乐,视频,短信息等应用。
在本申请实施例中,应用程序层中可以安装具有拍摄功能的应用,例如,相机应用。当然,其他应用需要使用拍摄功能时,也可以调用相机应用实现拍摄功能。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
例如,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,资源管理器,通知管理器等,本申请实施例对此不做任何限制。
例如,上述窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。上述内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。上述视图系统可用于构建应用程序的显示界面。每个显示界面可以由一个或多个控件组成。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、微件(Widget)等界面元素。上述资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。上述通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
如图5B所示,Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
其中,表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层位于HAL之下,是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动等,本申请实施例对此不做任何限制。
在本申请实施例中,仍如图5B所示,以相机应用举例,可应用程序框架层中设置有相机服务(Camera Service)。相机应用可通过调用预设的API启动Camera Service。CameraService在运行过程中可以与硬件抽象层(HAL)中的Camera HAL交互。其中,Camera HAL负责与手机中实现拍摄功能的硬件设备(例如摄像头)进行交互,Camera HAL一方面隐藏了相关硬件设备的实现细节(例如具体的图像处理算法),另一方面可向Android系统提供调用相关硬件设备的接口。
示例性的,相机应用运行时可将用户下发的相关控制命令(例如预览、放大、拍照、录像或者抓拍指令)发送至Camera Service。一方面,Camera Service可将接收到的控制命令发送至Camera HAL,使得Camera HAL可根据接收到的控制命令调用内核层中的相机驱动,由相机驱动来驱动摄像头等硬件设备响应该控制命令采集图像数据。例如,摄像头可按照一定的帧率,将采集到的每一帧图像数据通过相机驱动传递给Camera HAL。其中,控制命令在操作系统内部的传递过程可参见图5B中控制流的具体传递过程。
另一方面,Camera Service接收到上述控制命令后,可根据接收到的控制命令确定此时的拍摄策略,拍摄策略中设置了需要对采集到的图像数据执行的具体图像处理任务。例如,在预览模式下,Camera Service可在拍摄策略中设置图像处理任务1用于实现人脸检测功能。又例如,如果在预览模式下用户开启了美颜功能,则Camera Service还可以在拍摄策略中设置图像处理任务2用于实现美颜功能。进而,Camera Service可将确定出的拍摄策略发送至Camera HAL。
当Camera HAL接收到摄像头采集到的每一帧图像数据后,可根据Camera Service下发的拍摄策略对上述图像数据执行相应的图像处理任务,得到图像处理后的每一帧拍摄画面。例如,Camera HAL可根据拍摄策略1对接收到的每一帧图像数据执行图像处理任务1,得到对应的每一帧拍摄画面。当拍摄策略1更新为拍摄策略2后,Camera HAL可根据拍摄策略2对接收到的每一帧图像数据执行图像处理任务2,得到对应的每一帧拍摄画面。
后续,Camera HAL可将经过图像处理后的每一帧拍摄画面通过Camera Service上报给相机应用,相机应用可将每一帧拍摄画面显示在显示界面中,或者,相机应用以照片或视频的形式将每一帧拍摄画面保存在手机内。其中,上述拍摄画面在操作系统内部的传递过程可参见图5B中数据流的具体传递过程。
本申请实施例这里结合图5B介绍手机中各个软件层实现本申请实施例的方法的工作原理。
相机应用在录像模式下运行时,可将用户下发的抓拍指令发送至CameraService。在录像模式下,Camera HAL可根据之前接收到的录像指令调用内核层中的相机驱动,由相机驱动来驱动摄像头等硬件设备响应该录像指令采集图像数据。例如,摄像头可按照一定的帧率,将采集到的每一帧图像数据通过相机驱动传递给Camera HAL。其中,基于录像指令由相机驱动传递给Camera HAL的每一帧图像组成的数据流可以为本申请实施例中所述的视频流(如预览流或录像流)。
另外,Camera Service接收到上述抓拍指令后,可根据接收到的抓拍指令确定此时的拍摄策略3为录像中抓拍图像。该拍摄策略中设置了需要对采集到的图像数据执行的具体图像处理任务3,该图像处理任务3用于实现录像中抓拍功能。进而,Camera Service可将确定出的拍摄策略3发送至Camera HAL。
当Camera HAL接收到摄像头采集到的每一帧图像数据后,可根据Camera Service下发的拍摄策略3对上述图像数据执行相应的图像处理任务3,得到对应的抓拍照片。
应注意,本申请实施例中,摄像头的图像传感器(Sensor)曝光输出的每一帧图像(即第一图像)可以缓存在第一缓存队列(Buffer)中。其中,第一缓存队列(Buffer)可以设置在手机软件系统的任何一层,如第一缓存队列(Buffer)可以设置在Camera HAL通过软件接口访问的内存区域。
Camera HAL中还包括预设RAW域图像处理算法。Camera HAL可以每间隔N帧从第一缓存队列(Buffer)中获取n帧图像(即第一图像),调用预设RAW域图像处理算法处理得到第二图像并存储在电子设备的内存中。例如,该内存可以是DDR。1≤n≤N,n和N均为整数。其中,SDRAM是同步动态随机存储器(synchronous dynamic random Access memory)的缩写。预设AI-RAW模型是一个RAW域的画质增强的深度学习网络。经过预设RAW域图像处理算法的处理,可以增强图像的图像细节。
其中,Buffer与预设RAW域图像处理算法之间有一个软件接口(称为第二预设接口,如第二预设CSI)。Camera HAL可以通过第二预设接口(如第二预设CSI)调用预设RAW域图像处理算法处理上述n帧第一图像,得到处理后的图像帧(即第二图像)。例如,该第二预设接口可以是图12B或图12C所示的CSI-2。
Camera HAL响应于抓拍指令,可以根据Buffer中缓存的多帧Bayer图像(即第一图像)的元数据中的附加信息,从该Buffer中选择出抓拍帧(即第三图像)。如此,手机则可以从第一缓存队列中得到图像质量较高的抓拍帧(即第三图像)。
之后,Camera HAL可以采用该预设RAW域图像处理算法处理后的图像(即第三图像),对选帧模块选择的抓拍图像(即第二图像)进行画质增强。如此,便可以得到图像质量好且细节丰富清楚的第四图像。Camera HAL可以调用ISP处理第四图像得到抓拍帧。然后,Camera HAL可以调用编码器(ENCODE)对该抓拍帧进行编码,便可以得到一帧抓拍图像。最后,Camera HAL可将抓拍图像通过Camera Service上报给相机应用,相机应用可将抓拍图像以照片的形式保存在手机内。
示例性的,第一图像的附加信息可以包括第一图像的对比度和摄像头采集第一图像时的角速度。应理解,角速度越小,摄像头采集第一图像时抖动越小;角速度越大,摄像头采集第一图像时抖动越大。对比度用于表征第一图像的清晰度。对比度越高,第一图像越清晰。如此,根据第一图像的附加信息,则可以从Buffer中缓存的多帧Bayer图像(即第一图像)中选择出抖动小,且图像清晰度最高的Bayer图像作为抓拍帧。
其中,Buffer中缓存的每一帧Bayer图像的附加信息可以是硬件层的摄像头的ISP为Buffer中的每一帧Bayer图像的元数据(metadata)赋值得到的。其中,如图12A所示,ISP按照功能可以分为统计模块和处理模块。统计模块可以包括(image front end,IFE),处理模块可以包括(image processing engine,IPE)和(bayer processing segment,BPS)。如图12B或图12C所示,上述Bayer图像的附加信息可以是由ISP的统计模块为Buffer中的每一帧Bayer图像的元数据赋值得到的。ISP的处理模块用于处理Sensor曝光输出的图像。
上述角速度可以是电子设备中的陀螺仪采集到的。在本申请实施例中,HAL中保存有用于调度陀螺仪的软件代码。Camera HAL响应于录像指令,可以调用内核层中的陀螺仪驱动,由陀螺仪驱动来驱动陀螺仪采集电子设备的角速度。其中,电子设备的角速度即摄像头的角速度。摄像头在不同时刻的角速度可能不同,摄像头的Sensor在不同时刻可以曝光输出不同的Bayer图像。并且,Camera HAL响应于录像指令,还可以调用内核层中的相机驱动,由相机驱动来驱动摄像头中的ISP的统计模块将陀螺仪采集的角速度写入Sensor输出的Bayer图像的元数据。
其中,Bayer图像的附加信息中还包括Sensor曝光输出该Bayer图像的时间。ISP的统计模块可以根据角速度的采集时间,以及Bayer图像的曝光时间,确定该Bayer图像的角速度,并将该Bayer图像的角速度写入该Bayer图像的元数据中。并且,ISP的统计模块还可以分析该Bayer图像,得到该Bayer图像的对比度,并将该Bayer图像的对比度写入该Bayer图像的元数据中。
需要说明的是,在一些平台,可以将Sensor曝光结束时间作为时间戳;在另一些平台可以将Sensor开始曝光时间作为时间戳,本申请实施例对此不作限制。其中,上述曝光结束时间和开始曝光时间统称为曝光时间。
其中,ISP的统计模块可以通过一个第一预设接口,如第一摄像头串行接口(camera serial interface,CSI),将Buffer中每个Bayer图像的角速度和对比度写入对应Bayer图像的元数据中。其中,上述第一预设CSI可以是Sensor与Buffer之前的一个软件接口。例如,该第一预设接口可以是图12B或图12C所示的CSI-1。
上述HAL还可以包括配准模块和融合模块。其中,配准模块用于对上述第三图像和m帧第二图像进行配准。上述融合模块用于提供融合网络,HAL可以通过融合网络,利用m帧第二图像对第三图像进行画质增强。
本申请实施例提供一种录像中抓拍图像的方法,该方法可以应用于手机,该手机包括摄像头。如图6所示,该方法可以包括S601-S607。
S601、手机接收用户的第一操作。该第一操作用于触发手机开始录制视频。
示例性的,手机可以显示图7所示的录像的取景界面701。该录像的取景界面701是手机还未开始录像的取景界面。该录像的取景界面701包括“开始录像”按钮702。上述第一操作可以是用户对“开始录像”按钮702的点击操作,用于触发手机开始录制视频。
S602、响应于第一操作,手机的摄像头采集第一图像,手机显示第一界面。该第一界面是手机正在录制视频的取景界面,该第一界面包括由第一图像得到的预览图像。该第一界面还包括抓拍快门,该抓拍快门用于触发手机抓拍图像得到照片。
示例性的,以第一操作是用户对“开始录像”按钮702的点击操作为例。手机响应于用户对“开始录像”按钮702的点击操作,手机的摄像头可以开始采集图像(即第一图像),手机的显示屏可显示图7所示的第一界面703。该第一界面703是手机正在录制视频的取景界面。如图7所示,该第一界面703包括由上述第一图像得到的预览图像704。其中,多帧预览图像704可以组成图4所示的预览流。
其中,本申请实施例这里介绍手机由第一图像得到预览图像704的方法。在S602中,手机的摄像头采集第一图像之后,手机显示第一界面之前,手机可以按照图1或图4所示的预览流的处理方式处理该第一图像,得到预览图像704。应注意,手机的ISP可以采用ISP处理摄像头采集的每一帧第一图像。
例如,手机由第一图像得到预览图像704的方法,可以参考图4、图9、图12B或图12C所示“预览流”的处理方法。
如图4、图9、图12B或图12C所示,手机的图像传感器(Sensor)受到曝光的控制,可以不断输出Bayer图像。每一帧Bayer图像由手机的ISP进行图像处理后,送至编码器3(ENCODER)进行编码,便可以得到预览图像704。处理后的多帧预览图像704可以形成一段预览的视频流(即预览流)。
需要强调的是,如图7所示,第一界面703还包括抓拍快门702。该抓拍快门702用于触发手机抓拍图像得到照片。具体的,该抓拍快门702用于触发手机在录像的过程中抓拍图像得到照片。可以想到的是,手机录制视频(即录像)的过程中,可能会采集到的一些精彩的画面。在手机录像的过程中,用户可能会希望手机可以抓拍到上述精彩的画面,并保存成照片展示给用户。本申请实施例中,用户点击上述抓拍快门702便可以实现录像过程中抓拍精彩画面的功能。
为了保证手机响应于用户的抓拍操作(如用户对抓拍快门702的点击操作),可以抓拍到用户实际需要的图像;手机可以将Sensor曝光输出Bayer图像缓存在一个第一缓存队列(Buffer)中。如此,即使从接收到用户的抓拍操作到Sensor接收到抓拍指令,存在图3所示的延迟时长(如120ms-160ms);在这段延迟时长内Sensor出帧都可以缓存在Buffer中。因此,手机接收到用户的抓拍操作时,Sensor输出的Bayer图像也可以缓存在第一缓存队列中。并且,短时间内Sensor出帧的图像内容不会发生太大变化;因此,手机可以从Buffer中选择出图像质量较好的一帧图像作为抓拍图像。具体的,响应于上述第一操作,手机还可以执行S603。
S603、手机在第一缓存队列缓存摄像头采集的第一图像。
其中,第一缓存队列(Buffer)中可以缓存一帧或多帧第一图像。
例如,手机响应于上述第一操作,手机可以在图8A所示的第一缓存队列(Buffer)中缓存摄像头采集的第一图像。示例性的,该第一缓存队列可以以先进先出的原则缓存摄像头采集的k帧第一图像,k≥1,k是整数。如图8A所示,第一缓存队列的队尾可以执行入队操作,用于插入第一图像;第一缓存队列的队头可以执行出队操作,用于删除第一图像。在第一缓存队列中已缓存k帧第一图像的情况下,第一缓存队列的队尾每插入一帧第一图像,第一缓存队列的队头则删除一帧第一图像。
本申请实施例中,k可以为预设数值。假设Sensor每秒钟可以曝光a帧Bayer图像,图3所示的延迟时长为b,则Sensor在延迟时长b内可以曝光出b/(1/a)=a*b帧Bayer图像。k可以大于或者等于a*b。
S604、手机每间隔N帧从第一缓存队列中获取n帧第一图像,将该n帧第一图像作为输入,运行预设RAW域图像处理算法得到第二图像并存储在DDR中。预设RAW域图像处理算法具备提升图像画质的功能,1≤n≤N,n和N均为整数。
其中,N≤k。本申请实施例中,手机可以根据第一图像的附加信息,从根据第一图像的附加信息,每间隔N帧从第一缓存队列中获取n帧第一图像。其中,第一图像的附加信息包括该第一图像的对比度和摄像头采集第一图像时的角速度(简称为第一图像的角速度)。
本申请实施例中,如图5B所示,手机的HAL中的Camera HAL可以包括一个选帧模块。Camera HAL接收到来自Camera Service的录像指令后,选帧模块可以根据第一图像的附加信息,从每间隔N帧从第一缓存队列中获取n帧第一图像。
对比度也可以称为梯度。一帧图像的梯度越大,则该图像越清晰。梯度也可以称为锐度。一帧图像的锐度越大,则该图像越清晰。也就是说,对比度可以用于表征第一图像的清晰度。一帧图像(如第一图像)的对比度越高,则该图像越清晰。
角速度可以是陀螺仪传感器采集的。一帧图像(即第一图像)的角速度的值可以表征摄像头(如摄像头的Sensor)采集该图像时的角速度的大小。角速度越小,摄像头采集第一图像时抖动越小;角速度越大,摄像头采集第一图像时抖动越大。
如此,手机(如手机的HAL中的选帧模块)根据第一图像的附加信息,则可以从第一缓存队列(Buffer)中缓存的多帧Bayer图像(即第一图像)中选择出抖动小,且图像清晰度高的n帧第一图像。
在一些实施例中,手机每间隔N帧从第一缓存队列中获取n帧第一图像的方法可以包括S-1和S-2。S-1:手机从N帧第一图像中,选择第五图像。该第五图像是N帧第一图像中对比度最高的第一图像。S-2:手机获取N帧第一图像中、相邻且包括第五图像的n帧第一图像。
在一种情况下,N帧第一图像中,有一帧第一图像的对比度最高,高于这一帧第一图像之外的其他第一图像的对比度。在这种情况下,手机可以将对比度最高的这一帧第一图像作为第五图像。
在另一种情况下,N帧第一图像中,可能缓存有至少两帧对比度相同的第一图像。并且,该至少两帧第一图像的对比度高于第一缓存队列中缓存的其他第一图像的对比度。在这种情况下,手机还可以从该至少两帧第一图像中,选择角速度最高的第一图像作为第五图像。
示例性的,以N=5,n=3为例。手机可以在图8B所示的第5帧第一图像从第一缓存队列出队后,执行S-1,从第1帧-第5帧这5帧第一图像中选择出第五图像(即图8B所示的第3帧第一图像)。然后,手机可以执行S-2,获取N帧第一图像中、相邻且包括第五图像的n帧第一图像(如第2帧第一图像、第3帧第一图像和第4帧第一图像)。
手机可以在图8B所示的第10帧第一图像从第一缓存队列出队后,执行S-1,从第6帧-第10帧这5帧第一图像中选择出第五图像(即图8B所示的第7帧图像)。然后,手机可以执行S-2,获取N帧第一图像中、相邻且包括第五图像的n帧第一图像(如第6帧图像、第7帧图像和第8帧图像)。
在另一些实施例中,手机每间隔N帧从第一缓存队列中获取n帧第一图像的方法可以包括S-i。S-i:手机从N帧第一图像中,选择对比度最高的p帧第一图像。S-ii:如果p>n,手机则从p帧第一图像中选择角速度最小的n帧第一图像。S-iii:如果p<n,手机则从N帧第一图像中p帧第一图像中之外的其他第一图像中,选择角速度最小的n-p帧第一图像,并将p帧第一图像和n-p帧第一图像作为n帧第一图像。在该实施例中,p帧第一图像中对比度最高的一帧第一图像也可以称为第五图像。
示例性的,以N=5,n=3为例。手机可以在图8C所示的第5帧第一图像从第一缓存队列出队后,从第1帧-第5帧这5帧第一图像中选择出n帧第一图像(如第3帧第一图像、第4帧第一图像和第5帧第一图像)。手机可以在图8C所示的第10帧第一图像从第一缓存队列出队后,从第6帧-第10帧这5帧第一图像中选择出n帧第一图像(如第7帧图像、第9帧图像和第10帧图像).
需要说明的是,在该实施例中,该n帧第一图像可以是第一缓存队列中相邻的n帧图像。例如,如图8C所示的n帧第一图像:第3帧第一图像、第4帧第一图像和第5帧第一图像。该n帧第一图像也可以是第一缓存队列中不相邻的n帧图像。例如,如图8C所示的n帧第一图像:第7帧第一图像、第9帧第一图像和第10帧第一图像。
需要说明的是,Sensor曝光的Bayer图像(即第一图像)的元数据中是不包括上述附加信息的。第一图像的附加信息可以是由ISP的统计模块为第一缓存队列(Buffer)中的每一帧Bayer图像的元数据赋值得到的。然后,手机中的选帧模块可以根据第一图像的附加信息,从N帧第一图像中选择出n帧第一图像。示例性的,本申请实施例中结合图12B和图12C介绍手机为每一帧Bayer图像的元数据赋值,并从Buffer中选帧的方法原理示意图。
在一些实施例中,n可以等于1。手机将上述n帧第一图像作为输入运行预设RAW域图像处理算法,便可以得到画质较高的第二图像。但是,一帧图像中的数据的完整性和纹理等参数均有限,将一帧图像作为输入运行预设RAW域图像处理算法,并不能有效提升这一帧图像的画质。
基于此,在另一些实施例中,n可以大于1。具体的,手机可以将该多帧第一图像作为输入,运行预设RAW域图像处理算法。应理解,n帧第一图像中除第五图像之外的其他图像,可以对第五图像起到画质增强的作用,有利于获取噪声和纹理等信息,可以进一步提升第五图像的画质。
也就是说,本申请实施例中所述的预设RAW域图像处理算法是一个多帧输入、单帧输出的神经网络模型。其中,预设RAW域图像处理算法是一个RAW域的画质增强的深度学习网络。本方案中,采用软件的画质增强算法处理,相比于ISP的硬件处理,软件离线处理效果更好,有助于提升抓拍图像的图像质量。
需要说明的是,本申请实施例中,手机可以通过时分复用的方式,采用ISP处理第一图像得到视频流(如录像流和预览流)中的图像,采用ISP(如ISP的统计模块)为第一图像的元数据赋值,以及ISP接受预设RAW域图像处理算法的调用处理图像。也就是说,ISP(如ISP的统计模块)为第一图像的元数据赋值,ISP接受预设RAW域图像处理算法的调用处理图像,并不会影响手机采用ISP处理第一图像得到视频流的图像。换言之,手机处理图4、图9、图12B或图12C所示的抓拍流,并不会影响手机处理视频流。
需要说明的是,运行预设RAW域图像处理算法输出的第二图像的时间戳,与输入预设RAW域图像处理算法的n帧第一图像中第五图像的时间戳相同。也就是说,第二图像的时间戳为:用于生成该第二图像的n帧第一图像中、图像质量最好的一帧第一图像的时间戳。
S605、手机响应于用户对抓拍快门的第二操作,根据第一图像的附加信息,从第一缓存队列中选择出第三图像。其中,第一图像的附加信息包括该第一图像的对比度和摄像头采集第一图像时的角速度。
示例性的,上述第二操作可以是用户对抓拍快门的单击操作。例如,第二操作可以是用户对图7所示的抓拍快门的单击操作。或者,第二操作可以是用户对抓拍快门的连续点击操作。其中,对抓拍快门的每次单击操作,用于触发手机执行一次以下操作:“根据第一图像的附加信息,从第一缓存队列中选择出第三图像”,以及S605。也就是说,对抓拍快门的单击操作用于触发手机抓拍一张照片。对抓拍快门的连续点击操作用于触发手机抓拍多张照片。其中,手机在录像过程中抓拍多张照片的方法与抓拍一张照片的方法类似,这里不予赘述。
本申请实施例中,如图5B所示,手机的HAL中的Camera HAL可以包括一个选帧模块。Camera HAL接收到来自Camera Service的抓拍指令后,选帧模块可以根据第一图像的附加信息,从第一缓存队列(Buffer)中选择出第三图像。
其中,手机(如手机的HAL中的选帧模块)根据第一图像的附加信息,则可以从第一缓存队列(Buffer)中缓存的多帧Bayer图像(即第一图像)中选择出抖动小,且图像清晰度最高的Bayer图像作为抓拍帧(即第三图像)。例如,手机(如手机的HAL中的选帧模块)可以遍历Buffer中缓存的n帧第一图像,根据第一图像的附加信息,从Buffer中中选择出抖动小,且图像清晰度最高的第一图像作为第三图像。
在一些实施例中,手机根据第一图像的附加信息,从第一缓存队列(Buffer)中选择出第三图像的方法可以包括:手机从第一缓存队列(Buffer)缓存的n帧第一图像中,选择对比度最高的第一图像。
在一种情况下,第一缓存队列(Buffer)中,有一帧第一图像的对比度最高,高于这一帧第一图像之外的其他第一图像的对比度。在这种情况下,手机可以将对比度最高的这一帧第一图像作为第三图像。
在另一种情况下,第一缓存队列(Buffer)中,可能缓存有至少两帧对比度相同的第一图像。并且,该至少两帧第一图像的对比度高于第一缓存队列中缓存的其他第一图像的对比度。在这种情况下,手机还可以执行Sb。Sb:手机从该至少两帧第一图像中,选择角速度最高的第一图像作为第三图像。
在一些实施例中,上述每一帧第一图像中包括时间戳,该时间戳记录有图像传感器Sensor输出对应第一图像的时间(即曝光时间)。该时间戳也可以包括在第一图像的元数据中。
其中,手机接收到第二操作(即抓拍操作)的时间可以由手机的应用层记录。如此,在手机中上层应用的系统时钟与Sensor的系统时钟同步的前提下,手机(如ISP的统计模块)则可以根据陀螺仪传感器采集每一个角速度的时间,选择采集时间与第一图像的时间戳所记录的曝光时间最近的一个角速度作为该第一图像的角速度。然后,ISP的统计模块可以将该第一图像的角速度写入该第一图像的元数据。
需要说明的是,在一些平台,可以将Sensor曝光结束时间作为时间戳;在另一些平台可以将Sensor开始曝光时间作为时间戳,本申请实施例对此不作限制。其中,上述曝光结束时间和开始曝光时间统称为曝光时间。
在另一些实施例中,如果第一缓存队列(Buffer)缓存的n帧第一图像的附加信息均相同,手机(如手机的HAL中的选帧模块)则可以根据第一图像的时间戳,从第一缓存队列(Buffer)中,选择出时间戳所指示的视觉与用户触发抓拍的时间最近的一帧第一图像作为抓拍帧(即第二图像)。
在另一些实施例中,手机(如手机的HAL中的选帧模块)在执行“从第一缓存队列(Buffer)中选择出第三图像”之前,可以对第一图像进行异常判断,丢弃Buffer中的异常帧(即异常的第一图像),从Buffer中正常的第一图像中选择出第三图像。
其中,手机(如手机的HAL中的选帧模块)可以对比一帧第一图像(记为图像帧a)的曝光时间,以及与该图像帧a的前一帧第一图像(记为图像帧b)的曝光时间,判断图像帧a是否异常。应理解,Sensor曝光输出每一帧Bayer图像的曝光时间一般不会发生较大变化,如相邻图像帧的曝光时间不会突然变的很高,或者相邻图像帧的曝光时间不会突然变的很低。例如,相邻图像帧的曝光时间的差值一般不会超过10毫秒(ms),该差值最大不会超过20ms。因此,如果图像帧a的曝光时间与图像帧b的曝光时间的差值大于预设曝光阈值,则表示该图像帧a异常。该预设曝光阈值可以小于20ms,在10ms左右取值。例如,该预设曝光阈值可以为10ms、9ms、11ms或者8ms等。
其中,手机(如手机的HAL中的选帧模块)从Buffer中正常的第一图像中选择出第三图像的方法,可以参考上述实施例中所述的方法,本申请实施例这里不予赘述。
S605、手机将n帧第一图像中的相邻的m帧第一图像作为输入,运行预设AI-RAW模型,得到第三图像,并对第三图像进行编码生成抓拍照片。上述m帧第一图像包括第二图像,预设AI-RAW模型具备提升图像画质的功能。
S606、手机从DDR中获取m帧第二图像。m≥1,m为整数。
其中,DDR中可以保存一帧或多帧第二图像。也就是说,m可以等于1,或者,m也可以大于1。
在一种实现方式中,m=1。在m=1的情况下,手机可以从DDR中获取时间戳锁指示的时间与第三图像的时间戳所指示的时间最近的一帧第二图像。该第二图像的时间戳为:用于生成该第二图像的n帧第一图像中、图像质量最好的一帧第一图像的时间戳。该第二图像的时间戳与第三图像的时间戳所指示的时间最近。该第二图像的纹理与第三图像的纹理较为接近的可能性更高。纹理相似的图像更容易融合。因此,采用该第二图像对第二图像进行图像增强,有利于进一步提升处理后图像的画质。
在另一种实现方式中,m>1。在m>1的情况下,手机可以从DDR中获取时间戳锁指示的时间与第三图像的时间戳所指示的时间最近的m帧第二图像。该m帧第二图像中的每一帧第二图像的时间戳为:用于生成该第二图像的n帧第一图像中、图像质量最好的一帧第一图像的时间戳。该m帧第二图像的时间戳与第三图像的时间戳所指示的时间最近。该m帧第二图像的纹理与第三图像的纹理较为接近的可能性更高。纹理相似的图像更容易融合。因此,采用该m帧第二图像对第二图像进行图像增强,有利于进一步提升处理后图像的画质。
并且,相比于一帧第二图像,多帧第二图像的图像细节更丰富。因此,采用多帧第二图像对第二图像进行图像增强,可以进一步提升处理后图像的画质,使得处理后的图像的细节更丰富。
在另一些实施例中,S604中存储在DDR中的也可以不是预设RAW域图像处理算法输出的第二图像,而是预设RAW域图像处理算法将n帧第一图像合成为一帧第二图像的过程中的中间帧(也可以称为Feature)。具体的,将n帧第一图像合成为一帧第二图像要经过卷积,卷积过程中产生的中间帧称为Feature。其中,Feature的多少取决于卷积核的多少。在该实施例中,S606-S607中所述的第二图像可以替换为该中间帧(即Feature)。
S607、手机利用m帧第二图像对第三图像进行画质增强得到第四图像,并采用ISP处理第四图像得到抓拍图像。
示例性的,手机可以通过融合网络(也称为图像融合网络),利用m帧第二图像对第三图像进行画质增强得到第四图像。其中,手机通过融合网络进行图像增强的方法,可以参考常规技术中的相关方法,本申请实施例这里不予赘述。
在一些实施例中,手机执行S607之前,可以对m帧第二图像和第三图像进行配准。之后,手机可以利用配准后的m帧第二图像,对配准后的第三图像进行画质增强得到第四图像。其中,手机对m帧第二图像和第三图像进行融合(Fusion)之前,对m帧第二图像和第三图像进行配准,可以提升手机进行画质增强的成功率和效果。
一般而言,配准可以包括两种方式:全局配准和局部配准。
全局配准一般使用特征点检测和匹配。以手机对第二图像和第三图像进行配准为例。手机可以检测第二图像和第三图像中匹配的特征点(如像素点)。然后,手机可以筛选匹配的特征点。如果匹配的特征点中好的特征点个数大于预设阈值1,则手机可以认为全局配准效果较好,可以进行融合。
局部配准一般使用光流法。以手机对第二图像和第三图像进行配准为例。手机可以先对第二图像和第三图像计算光流。然后,手机可以将经过光流配准变换后的第三图像,与经过光流配准变换后的第二图像做差。如果差异小于预设阈值2,则手机可以认为局部配准效果较好,可以融合。
在另一些实施例中,手机对m帧第二图像和第三图像进行配准之前,可以先对比m帧第二图像与第三图像的纹理相似度。如果m帧第二图像与第三图像的纹理相似度高于预设相似度阈值,则表示m帧第二图像与第三图像的纹理相似度较高。在这种情况下,手机对m帧第二图像和第三图像进行配准的成功率较高。采用本方案,可以提升手机配准的成功率。
如果m帧第二图像与第三图像的纹理相似度低于或等于预设相似度阈值,则表示m帧第二图像与第三图像的纹理相似度较低。在这种情况下,手机则不会对m帧第二图像和第三图像进行配准。这样,减少无效配准影响手机功耗。在这种情况下,手机可以直接采用ISP处理第三图像得到抓拍图像。
例如,请参考图9,其示出本申请实施例提供的一种录像中抓拍的原理示意图。如图9所示,手机可以采用配准模块对第三图像和m帧第二图像进行配准。然后,手机可以采用图9所示的融合模块(如融合网络)利用m帧第二图像对第三图像进行画质增强,即对m帧第二图像和第三图像进行融合(Fusion)。
需要说明的是,融合模块执行Fusion对第三图像做了去噪和补充细节的处理。手机可以从由预设RAW域图像处理算法处理得到的m帧第二图像中获得图像细节,用于补充第三图像中的图像细节。但是,预设AI模块的画质增强处理和Fusion的画质增强处理,并不是对图像做了所有的处理,还有一些图像处理的工作需要ISP来做。由于经过Fusion已经做了去噪处理;因此,ISP则不需要再做去噪处理。在图9所示的抓拍流中的ISP可以去掉(bypass)去噪模块。ISP可以对画质增强得到的第四图像执行除去噪之外的其他处理,得到抓拍图像。
示例性的,响应于用户对图7所示的抓拍快门的单击操作(即第二操作),手机可以生成并保存抓拍照片。但是,手机在录像过程中,用户并不能查看该抓拍照片。用户可以在录像结束后,在相册中查看该抓拍照片。例如,手机响应于用户对图10所示“结束录像”按钮706的点击操作,可以显示图10所示的录像的取景界面1001。录像的取景界面1001是手机未开始录像的取景界面。与图7所示的录像的取景界面701相比,手机的取景界面中的照片选项中的照片由图7所示的708更新为图10所示的1002。手机可以响应于用户对相册应用的启动操作,显示图11所示的相册列表界面1101,该相册列表界面1101包括手机中保存的多张照片和视频。例如,如图7所示,相册列表界面1101包括手机录制的视频1103,以及手机在录制视频1103过程中抓拍的照片1102。
本申请实施例中,手机可以将Sensor曝光输出Bayer图像缓存在一个第一缓存队列(Buffer)中。该第一缓存队列可以缓存多帧Bayer图像。如此,即使从接收到用户的抓拍操作到Snapshot接收到抓拍指令,存在图3所示的延迟时长;在这段延迟时长内Sensor出帧都可以缓存在Buffer中。因此,手机接收到用户的抓拍操作时,Sensor输出的Bayer图像也可以缓存在第一缓存队列中。并且,短时间内Sensor出帧的图像内容不会发生太大变化;因此,手机可以从Buffer中选择出图像质量较好的一帧图像用于生成抓拍图像。
并且,电子设备还可以采用预设RAW域AI图像增强算法模型(简称为预设RAW域图像处理算法),每间隔N帧取n帧采用预设RAW域图像处理算法进行处理得到第二图像。其中,预设AI-RAW模型是一个RAW域的画质增强的深度学习网络。经过预设RAW域图像处理算法的处理,可以增强图像的图像细节。之后,采用该预设RAW域图像处理算法处理后的第二图像,对选帧模块选择的第三图像进行画质增强,可以得到图像质量好且细节丰富清楚的第四图像,然后经过ISP的处理便可以得到图像质量较好的抓拍图像。
综上所述,采用本申请实施例的方法,可以在录像过程中抓拍到满足用户需求的图像,并且可以提升抓拍图像的图像质量。
在一些实施例中,手机为Bayer图像的元数据赋值,并从Buffer中选帧的方法可以参考图12B。
如图12B所示,Sensor可以曝光输出第一图像(即Bayer图像);此时第一图像(即Bayer图像)的元数据是空白的,不包括附加信息。其中,Sensor每曝光输出一帧Bayer图像,手机中ISP的统计模块便可以读取这一帧Bayer图像,统计这一帧Bayer图像的附加信息,并将附件信息写入这一帧Bayer图像的元数据(meta data)中(即为这一帧Bayer图像的元数据赋值)。例如,ISP的统计模块可以通过第一预设接口(如CSI-1)读取Sensor曝光输出的每一帧第一图像(即Bayer图像)。然后,ISP的统计模块可以将元数据赋值后的Bayer图像放入第一缓存队列(Buffer)中。应注意,ISP的统计模块放入Buffer的第一图像(即Bayer图像)的元数据中包括附加信息。
在另一些实施例中,手机为Bayer图像的元数据赋值,并从Buffer中选帧的方法可以参考图12C。
如图12C所示,Sensor可以曝光输出第一图像(即Bayer图像);此时第一图像(即Bayer图像)的元数据是空白的,不包括附加信息。其中,Sensor每曝光输出一帧Bayer图像,这一帧Bayer图像则可以进入第一缓存队列(Buffer)。由Sensor曝光输出进入Buffer的Bayer图像的元数据是空白的,不包括附加信息。例如,如图12C所示,Sensor曝光输出的第一图像(即Bayer图像)可以通过第一预设接口(如CSI-1)进入Buffer。
在一帧Bayer图像进入Buffer后,手机中ISP的统计模块便可以统计这一帧Bayer图像的附加信息,并将附件信息写入这一帧Bayer图像的元数据(meta data)中(即为这一帧Bayer图像的元数据赋值)。应注意,Buffer中被ISP的统计模块赋值后的Bayer图像的元数据中包括附加信息。
本申请实施例提供一种录像中抓拍图像的方法,该方法可以应用于手机,该手机包括摄像头。如图13所示,该方法可以包括S1301-S1307。
S1301、手机接收用户的第一操作。该第一操作用于触发手机开始录制视频。
S1302、手机响应于第一操作,摄像头采集第一图像,显示第一界面。第一界面是电子设备正在录制视频的取景界面,第一界面包括由第一图像得到的预览图像,第一界面还包括抓拍快门,该抓拍快门用于触发电子设备抓拍图像得到照片。
S1303、手机在第一缓存队列缓存摄像头采集的第一图像。
S1304、手机每间隔N帧从第一缓存队列中获取n帧第一图像,将n帧第一图像作为输入,运行预设RAW域图像处理算法得到第二图像并存储在DDR中。其中,预设RAW域图像处理算法具备提升图像画质的功能,1≤n≤N,n和N均为整数。
例如,N可以在30-60之前取值。
需要说明的是,手机执行S1301-S1304的具体方法,可以参考上述实施例中对S601-S604的详细介绍,本申请实施例这里不予赘述。
S1305、手机采用ISP处理第一缓存队列输出的第一图像,得到第三图像。
其中,手机采用ISP处理第一缓存队列输出的第一图像得到第三图像的方法,可以参考常规技术中,手机采用ISP处理摄像头采集的图像得到预览流的方法,本发明实施例这里不予赘述。
S1306、手机利用m帧第二图像对第三图像进行画质增强得到第四图像,第四图像用于生成视频流。
其中,手机利用m帧第二图像对第三图像进行画质增强得到第四图像的方法,可以参考上述实施例中,手机利用m帧第二图像对第三图像进行画质增强得到第四图像的方法,本申请实施例这里不予赘述。
例如,请参考图14,其示出本申请实施例提供的一种录像中抓拍的原理示意图。如图14所示,手机可以采用配准模块对第三图像和m帧第二图像进行配准。然后,手机可以采用图9所示的融合模块(如融合网络)利用m帧第二图像对第三图像进行画质增强,即对m帧第二图像和第三图像进行融合(Fusion),得到第四图像。
S1307、手机在第二缓存队列缓存第四图像。
其中,手机在第二缓存队列缓存第四图像的方法,与手机在第一缓存队列缓存第一图像的方法类似,本申请实施例这里不予赘述。
S1308、手机响应于用户对抓拍快门的第二操作,根据第四图像的附加信息,从第二缓存队列中选择出第五图像作为抓拍图像。其中,附加信息包括第四图像的对比度和摄像头采集第三图像时的角速度。
例如,响应于用户对抓拍快门的第二操作,手机的Snapshot程序可以接收到抓拍指令。Snapshot程序接收到抓拍指令后,手机的HAL中的选帧模块可以从第二缓存队列(Buffer)中选帧出第五图像。其中,手机从第二缓存队列中选择出第五图像的方法,可以参考上述实施例中手机从第一缓存队列中选帧出第三图像的方法,本申请实施例这里不予赘述。
在该实施例中,手机并不是响应于抓拍操作,确定抓拍图像并进行画质增强(包括运行预设RAW域图像处理算法的画质增强和图像融合的画质增强);而是在处理Video中的每一帧图像时,就采用预设RAW域图像处理算法进行了画质增强,并通过图像融合进行了画质增强。也就是说,采用本方案,手机录像的Video中的每一帧图像也是经过画质增强的,提升了录像得到的视频的画质。
并且,该实施例中,手机可以每N帧(如30帧-60帧)采用预设RAW域图像处理算法进行一次画质增强(简称为AI画质增强)。然后,手机利用画质增强后的第二图像,对一段时间(如N帧对应的时间)内ISP处理的每一帧第三图像进行画质增强(简称为融合画质增强)。其中,每N帧采用预设RAW域图像处理算法进行一次画质增强,而不是针对每一帧第一图像都采用预设RAW域图像处理算法进行画质增强;这样,可以降低手机的功耗。并且,N帧内Sensor曝光输出的第一图像的图像内容不会发生较大变化。因此,采用每N帧一次AI画质增强后的第二图像,对N帧对应的时间内ISP处理的每一帧第三图像进行融合画质增强,也不会影响融合画质增强的效果。
在一些实施例中,S1304中,手机将n帧第一图像作为输入运行预设RAW域图像处理算法得到第二图像是YUV格式的图像。即如图14所示,手机存储在DDR中的第二图像是YUV格式的图像。并且,如图14所示,手机采用ISP处理第一图像得到的第三图像也是YUV格式的图像。
应注意,手机采用一次AI画质增强后的第二图像,可以对N帧对应的时间内ISP处理的每一帧第三图像进行融合画质增强。其中,对每一帧第三图像都进行融合画质增强,则会增大手机的功耗。本申请实施例中,采用YUV格式的第二图像对YUV格式的第三图像进行融合画质增强,可以降低手机的功耗。
本申请另一些实施例提供了一种电子设备,该电子设备可以包括:上述显示屏、摄像头、存储器和一个或多个处理器。该显示屏、摄像头、存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中手机执行的各个功能或者步骤。该电子设备的结构可以参考图5A所示的手机的结构。
本申请实施例还提供一种芯片系统,如图15所示,该芯片系统1500包括至少一个处理器1501和至少一个接口电路1502。处理器1501和接口电路1502可通过线路互联。例如,接口电路1502可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1502可用于向其它装置(例如处理器1501)发送信号。示例性的,接口电路1502可读取存储器中存储的指令,并将该指令发送给处理器1501。当所述指令被处理器1501执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中手机执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (18)

1.一种录像中抓拍图像的方法,其特征在于,应用于电子设备,所述方法包括:
所述电子设备接收用户的第一操作;其中,所述第一操作用于触发所述电子设备开始录制视频;
响应于所述第一操作,所述电子设备的摄像头采集第一图像,所述电子设备显示第一界面;其中,所述第一界面是所述电子设备正在录制视频的取景界面,所述第一界面包括由所述第一图像得到的预览图像,所述第一界面还包括抓拍快门,所述抓拍快门用于触发所述电子设备抓拍图像得到照片;
所述电子设备在第一缓存队列缓存所述摄像头采集的第一图像;
所述电子设备每间隔N帧从所述第一缓存队列中获取n帧第一图像,将所述n帧第一图像作为输入,运行预设原始RAW域图像处理算法得到第二图像并存储在双倍速率同步动态随机存储器DDR中;其中,所述预设RAW域图像处理算法具备提升图像画质的功能,1≤n≤N,n和N均为整数;
所述电子设备响应于用户对所述抓拍快门的第二操作,根据第一图像的附加信息,从所述第一缓存队列中选择出第三图像;其中,所述第一图像的附加信息包括所述第一图像的对比度、所述摄像头采集所述第一图像时的角速度和所述第一图像的时间戳中的至少一个;
所述电子设备从所述DDR中获取m帧第二图像;其中,m≥1,m为整数;
所述电子设备利用所述m帧第二图像对所述第三图像进行画质增强得到第四图像,并采用所述电子设备的图像信号处理器ISP处理所述第四图像得到抓拍图像。
2.根据权利要求1所述的方法,其特征在于,在所述电子设备利用所述m帧第二图像对所述第三图像进行画质增强得到第四图像之前,所述方法还包括:
所述电子设备对所述m帧第二图像和所述第三图像进行配准;
其中,所述电子设备利用配准后的所述m帧第二图像,对配准后的所述第三图像进行画质增强得到所述第四图像。
3.根据权利要求2所述的方法,其特征在于,所述电子设备对所述m帧第二图像和所述第三图像进行配准,包括:
如果所述m帧第二图像与所述第三图像的纹理相似度高于预设相似度阈值,所述电子设备对所述m帧第二图像和所述第三图像进行配准。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述电子设备利用所述m帧第二图像对所述第三图像进行画质增强得到第四图像,包括:
所述电子设备通过融合网络,利用所述m帧第二图像对所述第三图像进行画质增强得到所述第四图像。
5.根据权利要求1-4中任一项所述的方法,其特征在于,n≥2。
6.根据权利要求1-5中任一项所述的方法,其特征在于,m≥2。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述电子设备每间隔N帧从所述第一缓存队列中获取n帧第一图像,将所述n帧第一图像作为输入,运行预设原始RAW域图像处理算法得到第二图像并存储在双倍速率同步动态随机存储器DDR中,包括:
所述电子设备每间隔N帧,根据所述第一缓存队列中缓存的所述第一图像的附加信息,从所述第一缓存队列中选择出第五图像;
所述电子设备将所述第一缓存队列中相邻且包括所述第五图像的所述n帧第一图像作为输入,运行所述预设RAW域图像处理算法得到所述第二图像并存储在所述DDR中;
其中,所述n帧第一图像中除所述第五图像的其他图像,用于对所述第五图像进行画质增强。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述第一图像的附加信息包括所述第一图像的对比度,所述第一图像的对比度用于表征所述第一图像的清晰度;
所述第三图像为:所述第一缓存队列缓存的所述n帧第一图像中,对比度最高的第一图像。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述第一图像的附加信息包括所述摄像头采集所述第一图像时的角速度,所述角速度用于表征所述摄像头采集所述第一图像时的抖动情况;
所述第三图像为:所述第一缓存队列缓存的所述n帧第一图像中,角速度最小的第一图像。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述第一图像的附加信息还包括所述第一图像的时间戳;每一帧第一图像中包括时间戳,所述时间戳记录有所述电子设备的图像传感器输出对应第一图像的时间;
其中,所述电子设备中上层应用的时钟与所述图像传感器记录第一图像出图的时钟同步;或者,所述电子设备中上层应用的时钟与所述图像传感器记录第一图像出图的时钟为同一系统时钟;
所述第三图像为:所述第一缓存队列缓存的所述n帧第一图像中,时间戳记录的时间与所述电子设备接收到所述第二操作的时间最近的第一图像。
11.一种录像中抓拍图像的方法,其特征在于,应用于电子设备,所述方法包括:
所述电子设备接收用户的第一操作;其中,所述第一操作用于触发所述电子设备开始录制视频;
响应于所述第一操作,所述电子设备的摄像头采集第一图像,所述电子设备显示第一界面;其中,所述第一界面是所述电子设备正在录制视频的取景界面,所述第一界面包括由所述第一图像得到的预览图像,所述第一界面还包括抓拍快门,所述抓拍快门用于触发所述电子设备抓拍图像得到照片;
所述电子设备在第一缓存队列缓存所述摄像头采集的第一图像;
所述电子设备每间隔N帧从所述第一缓存队列中获取n帧第一图像,将所述n帧第一图像作为输入,运行预设原始RAW域图像处理算法得到第二图像并存储在双倍速率同步动态随机存储器DDR中;其中,所述预设RAW域图像处理算法具备提升图像画质的功能,1≤n≤N,n和N均为整数;
所述电子设备采用图像处理器ISP处理所述第一缓存队列输出的第一图像,得到第三图像;
所述电子设备采用所述第二图像对所述第三图像进行画质增强得到第四图像,所述第四图像用于生成视频流;
所述电子设备在第二缓存队列缓存所述第四图像;
所述电子设备响应于用户对所述抓拍快门的第二操作,根据所述第四图像的附加信息,从所述第二缓存队列中选择出第五图像作为抓拍图像;其中,所述附加信息包括所述第四图像的对比度和所述摄像头采集所述第三图像时的角速度。
12.根据权利要求11所述的方法,其特征在于,在所述电子设备采用所述第二图像对所述第三图像进行画质增强得到第四图像之前,所述方法还包括:
所述电子设备对所述第二图像和所述第三图像进行配准;
其中,所述电子设备利用配准后的所述第二图像,对配准后的所述第三图像进行画质增强得到所述第四图像。
13.根据权利要求12所述的方法,其特征在于,所述电子设备对所述第二图像和所述第三图像进行配准,包括:
如果所述第二图像与所述第三图像的纹理相似度高于预设相似度阈值,所述电子设备对所述第二图像和所述第三图像进行配准。
14.根据权利要求11-13中任一项所述的方法,其特征在于,所述电子设备采用所述第二图像对所述第三图像进行画质增强得到第四图像,包括:
所述电子设备通过融合网络,利用所述第二图像对所述第三图像进行画质增强得到所述第四图像。
15.根据权利要求11-14中任一项所述的方法,其特征在于,n≥2。
16.一种电子设备,其特征在于,包括:触摸屏、存储器、摄像头、显示屏、一个或多个处理器;所述触摸屏、所述存储器、所述摄像头、所述显示屏与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令,当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-15任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-15中任一项所述的方法。
18.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-15中任一项所述的方法。
CN202111475273.8A 2021-09-07 2021-12-03 一种录像中抓拍图像的方法及电子设备 Active CN115802147B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111045870 2021-09-07
CN2021110458707 2021-09-07

Publications (2)

Publication Number Publication Date
CN115802147A true CN115802147A (zh) 2023-03-14
CN115802147B CN115802147B (zh) 2024-06-28

Family

ID=85473640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111475273.8A Active CN115802147B (zh) 2021-09-07 2021-12-03 一种录像中抓拍图像的方法及电子设备

Country Status (1)

Country Link
CN (1) CN115802147B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140078343A1 (en) * 2012-09-20 2014-03-20 Htc Corporation Methods for generating video and multiple still images simultaneously and apparatuses using the same
CN105635614A (zh) * 2015-12-23 2016-06-01 小米科技有限责任公司 录像照相方法、装置及终端电子设备
US20180046353A1 (en) * 2016-08-12 2018-02-15 Line Corporation Method and system for video recording
CN108322656A (zh) * 2018-03-09 2018-07-24 深圳市道通智能航空技术有限公司 一种拍摄方法、拍摄装置及拍摄系统
CN110290323A (zh) * 2019-06-28 2019-09-27 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备和计算机可读存储介质
WO2021042364A1 (zh) * 2019-09-06 2021-03-11 华为技术有限公司 拍摄图像的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140078343A1 (en) * 2012-09-20 2014-03-20 Htc Corporation Methods for generating video and multiple still images simultaneously and apparatuses using the same
CN105635614A (zh) * 2015-12-23 2016-06-01 小米科技有限责任公司 录像照相方法、装置及终端电子设备
US20180046353A1 (en) * 2016-08-12 2018-02-15 Line Corporation Method and system for video recording
CN108322656A (zh) * 2018-03-09 2018-07-24 深圳市道通智能航空技术有限公司 一种拍摄方法、拍摄装置及拍摄系统
CN110290323A (zh) * 2019-06-28 2019-09-27 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备和计算机可读存储介质
WO2021042364A1 (zh) * 2019-09-06 2021-03-11 华为技术有限公司 拍摄图像的方法和装置
CN112771612A (zh) * 2019-09-06 2021-05-07 华为技术有限公司 拍摄图像的方法和装置

Also Published As

Publication number Publication date
CN115802147B (zh) 2024-06-28

Similar Documents

Publication Publication Date Title
WO2022267565A1 (zh) 视频拍摄方法、电子设备及计算机可读存储介质
CN116320783B (zh) 一种录像中抓拍图像的方法及电子设备
WO2021104485A1 (zh) 一种拍摄方法及电子设备
CN113099146B (zh) 一种视频生成方法、装置及相关设备
WO2023035921A1 (zh) 一种录像中抓拍图像的方法及电子设备
CN115689963B (zh) 一种图像处理方法及电子设备
CN113536866A (zh) 一种人物追踪显示方法和电子设备
CN116055857A (zh) 拍照方法及电子设备
WO2024179101A1 (zh) 一种拍摄方法
CN115802148B (zh) 一种获取图像的方法及电子设备
US20240064397A1 (en) Video Shooting Method and Electronic Device
CN115802147B (zh) 一种录像中抓拍图像的方法及电子设备
CN115776532B (zh) 一种录像中抓拍图像的方法及电子设备
CN115484394B (zh) 一种隔空手势的引导使用方法及电子设备
CN115484392B (zh) 一种拍摄视频的方法及电子设备
CN117156261B (zh) 图像处理方法及相关设备
WO2022206600A1 (zh) 一种投屏方法、系统及相关装置
CN117389745B (zh) 一种数据处理方法、电子设备及存储介质
WO2024093854A1 (zh) 一种图像处理方法及电子设备
CN117956264A (zh) 拍摄方法、电子设备、存储介质和程序产品
CN118870186A (zh) 拍摄方法及电子设备
CN117692753A (zh) 一种拍照方法及电子设备
CN113452895A (zh) 一种拍摄方法及设备
CN115811656A (zh) 一种拍摄视频的方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant