图像处理方法、设备及存储介质与流程
1.本技术涉及图像处理技术领域,特别涉及一种图像处理方法、设备及存储介质。
背景技术:
2.随着技术的发展,手机拍摄能力已成为一种重要的手机性能指标。其中,夜间拍摄是用户使用手机拍摄的常见场景。手机在夜间场景下拍摄时,由于环境较暗,手机拍摄的照片或视频较暗,用户视觉体验较差。
3.相关技术中,手机配置有摄像头和通用的集成处理器,集成处理器集成有cpu和gpu等多种处理器。比如,通用的集成处理器可以为片上芯片(system on chip,soc)。为了提高夜间拍摄效果,在手机通过摄像头进行拍摄后,集成电路器可以获取摄像头采集的彩图像数据,对彩图像数据进行图像增强处理,得到目标图像数据,对目标数据图像进行保存或送显。
4.但是,由于通用的集成处理器的图像增强处理能力有限,因此在夜间拍摄场景下,通过集成处理器对摄像头采集的图像数据进行图像增强处理后,得到的目标图像数据的噪声较大,彩还原能力较差,容易出现亮区过亮、暗区过暗的情况。
技术实现要素:
5.本技术提供了一种图像处理方法、设备及存储介质,可以对摄像头拍摄的图像进行清晰度、彩和亮度的增强,得到清晰度较高、彩还原能力较强、且亮度较为均匀的图像。所述技术方案如下:
6.第一方面,提供了一种图像处理方法,应用于电子设备,电子设备包括第一摄像头、第二摄像头、第一处理器和集成处理器,第一摄像头为黑白摄像头,第二摄像头为彩摄像头,所述方法包括:
7.第一处理器获取第一摄像头采集的黑白图像数据和第二摄像头采集的彩图像数据,对黑白图像数据和彩图像数据分别进行降噪,对黑白图像数据和彩图像数据进行图像融合,得到融合图像数据,将融合图像数据发送给集成处理器。集成处理器对融合图像数据进行图像增强处理,得到目标图像数据。
8.本技术实施例中,在集成处理器之外额外配置了一个独立的第一处理器,以及采用了黑白摄像头和彩摄像头分别进行拍摄的双摄方案。通过第一处理器对黑白摄像头采集的黑白图像数据以及彩摄像头采集的彩图像数据分别进行降噪,可以得到高信噪比的黑白图像数据和彩图像数据,提高图像数据的清晰度。通过对降噪后的黑白图像数据和彩图像数据进行图像融合,可以将降噪后的黑白图像数据的亮度信息、细节信息与降噪后的彩图像数据的彩信息进行融合,得到高信噪比、且细节清晰、彩准确的图像数据。如此,可以对图像的清晰度、彩和亮度进行全方位增强,得到清晰度较高、彩还原能力较强、且亮度较为均匀的图像,进而提高了摄像头的拍摄效果,尤其可以提高夜间场景、室内场、阴天场景等光线较弱的拍摄场景的拍摄效果。
9.在一种可能的实施例中,第一处理器对黑白图像数据和彩图像数据分别进行降噪之前,还可以先对黑白图像数据和彩图像数据分别进行预处理之后,再对预处理后的黑白图像数据进行降噪,得到降噪后的黑白图像数据;对预处理后的彩图像数据进行降噪,得到降噪后的彩图像数据。
10.其中,预处理包括黑白电平校正、坏点校正、镜头阴影校正和自动白平衡中的一种或多种。通过对黑白图像数据和彩图像数据分别进行预处理,可以对这两个图像数据进行图像校正,得到图像信息更为准确的图像数据。
11.在一种可能的实施例中,第一处理器包括第一ife和第二ife,第一处理器通过第一ife对黑白图像数据进行预处理,得到预处理后的黑白图像数据;通过第二ife对彩图像数据进行预处理,得到预处理后的彩图像数据。
12.作为一个示例,第一处理器可以采用ai算法对第一图像数据和第二图像数据分别进行降噪。如此,可以提高第一处理器的运算效率。
13.在一种可能的实施例中,第一处理器包括npu,npu包括第一神经网络和第二神经网络,第一神经网络用于对黑白图像数据进行降噪,第二神经网络用于对彩图像数据进行降噪。第一处理器通过第一神经网络对黑白图像数据进行降噪,得到降噪后的黑白图像数据;通过第二神经网络对彩图像数据进行降噪,得到降噪后的彩图像数据。
14.通过在专用的npu上运行ai降噪算法,可以提高算法的运算速度,从而进一步提高第一处理器的运算效率。
15.在一种可能的实施例中,黑白图像数据为第一摄像头采集的第一视频帧数据,彩图像数据为第二摄像头采集的第二视频帧数据;第一处理器将第一视频帧数据和第三视频帧数据作为第一神经网络的输入,通过第一神经网络对第一视频帧数据和第三视频帧数据进行处理,得到降噪后的黑白图像数据,第三视频帧数据是对第一摄像头在第一视频帧数据之前采集的视频帧数据进行降噪后得到;第一处理器将第二视频帧数据和第四视频帧数据作为第二神经网络的输入,通过第二神经网络对第二视频帧数据和第四视频帧数据进行处理,得到降噪后的彩图像数据,第四视频帧数据是对第二摄像头在第二视频帧数据之前采集的视频帧数据进行降噪后得到。
16.通过根据当前帧和前一帧的降噪结果,确定当前帧的降噪结果,可以提高降噪的精确度。
17.作为一个示例,第一处理器可以采用ai算法对降噪后的黑白图像数据和彩图像数据进行图像融合。如此,可以提高第一处理器的运算效率。
18.在一种可能的实施例中,第一处理器包括npu,npu包括第三神经网络,第三神经网络用于对黑白图像数据和彩图像数据进行图像融合;第一处理器通过第三神经网络对降噪后的黑白图像数据和降噪后的彩图像数据进行图像融合,得到第三图像数据。
19.通过在专用的npu上运行ai图像融合算法,可以提高算法的运算速度,从而进一步提高第一处理器的运算效率。
20.在一种可能的实施例中,第一处理器先对降噪后的黑白图像数据和降噪后的彩图像数据进行尺度对齐,得到尺度对齐后的黑白图像数据和彩图像数据,尺度对齐后的黑白图像数据和彩图像数据的尺度相同;再将尺度对齐后的黑白图像数据和彩图像数据作为第三神经网络的输入,通过第三神经网络对尺度对齐后的黑白图像数据和彩图像
数据进行处理,得到第三图像数据。
21.在一种可能的实施例中,第一处理器获取第一摄像头和第二摄像头的关键参数,关键参照包括焦距、像素尺寸和视场角中的一种或多种;根据第一摄像头和第二摄像头的关键参数,确定降噪后的黑白图像数据和降噪后的彩图像数据之间的尺度差异;根据尺度差异对降噪后的黑白图像数据和降噪后的彩图像数据进行尺度对齐,得到尺度对齐后的黑白图像数据和彩图像数据。
22.在一种可能的实施例中,第一处理器可以先对第三图像数据进行动态范围压缩,得到第五图像数据,第五图像数据的动态范围低于第三图像数据的动态范围;将第五图像数据发送给集成处理器,以便集成处理器对第五图像数据进行图像增强处理,得到目标图像数据。
23.作为一个示例,第一处理器可以采用ai算法对第三图像数据进行动态范围压缩。如此,可以提高第一处理器的运算效率。
24.在一种可能的实施例中,第一处理器包括npu,npu包括第四神经网络,第四神经网络用于对图像数据进行动态范围压缩;第一处理器通过第四神经网络对第三图像数据进行动态范围压缩,得到第五图像数据。
25.通过在专用的npu上运行ai动态范围压缩算法,可以提高算法的运算速度,从而进一步提高第一处理器的运算效率。
26.在一种可能的实施例中,第一处理器将第三图像数据作为第四神经网络的输入,通过第四神经网络对第三图像数据进行影调映射,得到第五图像数据。
27.在一种可能的实施例中,第一处理器对彩图像数据进行降噪之后,先对降噪后的彩图像数据进行去马赛克处理,得到第六图像数据;再对降噪后的黑白图像数据和第六图像数据进行图像融合,得到第三图像数据。
28.通过对降噪后的彩图像数据进行去马赛克处理,可以将降噪后的彩图像数据从raw域转换为rgb域。
29.在一种可能的实施例中,集成处理器包括ipe,集成处理器通过ipe对第三图像数据进行图像增强处理,得到目标图像数据。
30.其中,图像增强处理可以包括硬件降噪、图像裁剪、颜增强或细节增强等图像处理操作,当然也可以包括其他图像处理操作,本技术实施例对此不做限定。
31.在一种可能的实施例中,第一处理器获取第一摄像头采集的黑白图像数据以及第二摄像头采集的彩图像数据之后,还可以将黑白图像数据和彩图像数据发送给集成处理器,由集成处理器根据黑白图像数据确定第一3a值,根据彩图像数据确定第二3a值;根据第一3a值对第一摄像头进行控制,根据第二3a值对第二摄像头进行控制。
32.其中,第一3a值和第二3a值包括自动对焦af值、自动曝光ae值和自动白平衡awe值。集成处理器可以根据图像数据采用3a算法确定3a值,该3a算法可以预先设置,本技术实施例对此不做限定。
33.作为一个示例,集成处理器可以根据第一3a值调整第一摄像头的3a值,根据第二3a值调整第二摄像头的3a值。或者,集成处理器也可以将第一3a值发送给第一摄像头,由第一摄像头根据第一3a值调整自身的3a值;将第二3a值发送给第二摄像头,由第二摄像头根据第二3a值调整自身的3a值。
34.如此,可以根据第一图像数据和第二图像数据的图像信息,对第一摄像头和第二摄像头进行自动曝光、自动白平衡和自动对焦,提高后续图像的拍摄效果。
35.在一种可能的实施例中,第一处理器为isp,isp包括npu。
36.在一种可能的实施例中,集成处理器为soc。
37.第二方面,提供了一种图像处理装置,图像处理装置具有实现上述第一方面中图像处理方法行为的功能。图像处理装置包括至少一个模块,至少一个模块用于实现上述第一方面所提供的图像处理方法。
38.第三方面,提供了一种图像处理装置,图像处理装置的结构中包括处理器和存储器,存储器用于存储支持图像处理装置执行上述第一方面所提供的图像处理方法的程序,以及存储用于实现上述第一方面的图像处理方法所涉及的数据。处理器被配置为用于执行存储器中存储的程序。图像处理装置还可以包括通信总线,通信总线用于在处理器与存储器之间建立连接。
39.第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面的图像处理方法。
40.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的图像处理方法。
41.上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
42.图1示出了相关技术提供的一种手机的结构示意图;
43.图2示出了本技术实施例提供的一种手机的结构示意图;
44.图3示出了一种使用相关技术提供的图像处理方法处理得到的目标图像以及使用本技术实施例提供的图像处理方法处理得到的目标图像的对比示意图;
45.图4示出了本技术实施例提供的另一种手机的结构示意图;
46.图5示出了本技术实施例提供的一种ai降噪模块的示意图;
47.图6示出了本技术实施例提供的一种ai图像融合模块的示意图;
48.图7示出了本技术实施例提供的一种ai动态范围压缩模块的示意图;
49.图8示出了本技术实施例提供的一种手机的硬件结构示意图;
50.图9示出了本技术实施例提供的一种手机的软件系统的框图;
51.图10示出了本技术实施例提供的一种图像处理方法的流程图;
52.图11示出了本技术实施例提供的另一种图像处理方法的流程图。
具体实施方式
53.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
54.应当理解的是,本技术提及的“多个”是指两个或两个以上。在本技术的描述中,除非另有说明,“/”表示或的意思,比如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,a和/或b,可以表示:单独存在a,同时
存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
55.需要说明的是,本技术实施例提供的图像处理方法适用于任何具有拍摄功能、且具有多个摄像头的电子设备,例如手机、平板电脑、照相机、智能可穿戴设备等,本技术实施例对此不做限定。另外,本技术实施例提供的图像处理方法可以应用于多种拍摄场景中,例如夜间场景、室内场景、阴天场景等,当然也可以适用于其他拍摄场景,本技术实施例对此不做限定。下文为了便于描述,将以手机在夜间场景下进行拍摄为例进行说明。
56.如背景技术所言,人们使用手机在夜间场景下拍摄时,由于环境较暗,手机拍摄的图像较暗,用户视觉体验较差。相关技术中,为了提高夜间场景下的图像拍摄效果,可以通过手机中通用的集成处理器对摄像头拍摄的图像数据进行图像增强处理。
57.请参考图1,图1示出了相关技术提供的一种手机的结构示意图。如图1所示,手机包括彩摄像头11和通用的集成处理器12,集成处理器12包括图像前端(image front end,ife)和图像处理引擎(image processing engine,ipe)。彩摄像头11用于拍摄彩图像,在彩摄像头11启动后,集成处理器12采集彩摄像头11采集的彩图像数据,通过ife对彩图像数据进行预处理,然后通过ipe对预处理后的彩图像数据进行图像增强处理,得到待显示的目标彩图像数据。
58.但是,由于通用的集成处理器的预处理和图像增强处理等图像处理能力有限,因此在夜间拍摄场景下,通过集成处理器对摄像头采集的图像数据进行图像处理后,得到的目标图像数据的图像画面可能存在图像不清晰、噪声大,亮区过亮、暗去过暗,彩还原能力较差等问题。为了解决该技术问题,本技术实施例提供了一种图像拍摄方法。
59.请参考图2,图2示出了本技术实施例提供的一种手机100的结构示意图,如图2所示,手机100包括摄像头10、摄像头20、处理器30和集成处理器40。
60.其中,摄像头10为黑白摄像头,用于拍摄黑白图像。
61.其中,摄像头20为彩摄像头,用于拍摄彩图像。
62.其中,集成处理器40集成有多个处理器,比如集成有中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、图像信号处理器(image signal processor,isp)等多个处理器。集成处理器40通常集成在集成电路芯片上,比如集成在通用的片上芯片(system on chip,soc)上。
63.集成处理器40包括图像增强模块41,图像增强模块41用于对图像数据进行增强处理。比如,图像增强模块41可以为ipe等。
64.其中,处理器30为集成处理器40之外的一个单独的处理器,可以位于集成处理器40的前端。也即是,本技术实施例中,在集成处理器40之前又额外配置了一个专门用于对摄像头拍摄的图像进行图像处理的处理器,以提高图像处理效果,进而提高图像拍摄效果。
65.比如,处理器30可以为isp,该isp是在集成处理器40中的isp之外又额外配置的一个专门进行图像处理的处理器。譬如,处理器30为包括神经网络处理单元(neural network processing unit,npu)的人工智能(artificial intelligence,ai)isp。示例地,处理器30集成在第一芯片上,第一芯片为soc之外的芯片。
compression,drc)模块,对融合图像数据进行动态范围压缩,以降低融合图像数据的动态范围,将融合图像数据从高动态范围成像压缩到低动态范围成像,而且保留图像局部对比度和细节。示例地,图像融合模块33可以为ai模块,通过ai算法实现对应功能。
75.作为一个示例,处理器30为isp,isp包括npu,上述模块为npu中的ai模块。
76.请参考图4,图4示出了本技术实施例提供的另一种手机100的结构示意图。如图4所示,手机100包括摄像头10、摄像头20、ai isp30和soc40,soc40包括isp42。
77.其中,ai isp30包括路由模块34、ife35、ife36、ai降噪模块31、ai降噪模块32、去马赛克模块37、ai图像融合模块33和ai动态范围压缩模块38。isp42包括ipe41和3a(自动曝光(auto exposure,ae)、自动白平衡(auto white balance,awe)、自动对焦(auto focus,af))模块43。
78.另外,ai isp30还包括多个处理器接口,比如包括mipi0、mipi1和mipi2。摄像头10通过mipi0与路由模块34连接,摄像头20通过mipi1与路由模块34连接。ai动态范围压缩模块38通过mipi0与ipe41连接。路由模块34通过mipi1和mipi2与3a模块43连接。
79.路由模块34用于对摄像头采集的图像数据进行复制。比如,路由模块34为标准图像格式(standard image format,sif)路由模块。摄像头10采集的黑白图像数据通过mipi0发送给路由模块34,摄像头20采集的彩图像数据通过mipi1发送给路由模块34。路由模块34对黑白图像数据和彩图像数据分别进行复制,以得到两路黑白图像数据和两路彩图像数据。路由模块34将一路黑白图像数据发送给ife35,将一路彩图像数据发送给ife36。以及将另一路黑白图像数据通过mipi1发送给3a模块43,将另一路彩图像数据通过mipi2发送给3a模块44。
80.ife35对黑白图像数据进行预处理,将预处理后的黑白图像数据发送给ai降噪模块31。ife36对彩图像数据进行预处理,将预处理后的彩图像数据发送给ai降噪模块32。其中,预处理用于对图像数据进行校正,比如预处理包括黑白电平校正(black level correction,blc)、坏点校正(bad pixel correction,bpc)、镜头阴影校正(lens shading correction,lsc)和awe中的一种或多种。应理解,预处理还可以包括其他图像处理操作,本技术实施例对此不做限定。
81.ai降噪模块31对预处理后的黑白图像数据进行降噪,得到降噪后的黑白图像数据,将降噪后的黑白图像数据发送给ai图像融合模块33。ai降噪模块32对预处理后的彩图像数据进行降噪,得到降噪后的彩图像数据,将降噪后的彩图像数据发送给去马赛克模块37,通过去马赛克模块37对降噪后的彩图像数据进行去马赛克处理,将去马赛克处理后的彩图像数据发送给ai图像融合模块33。其中,ai降噪模块31和ai降噪模块32为采用ai算法的降噪模块。
82.ai图像融合模块33对降噪后的黑白图像数据和去马赛克后的彩图像数据进行图像融合,得到融合图像数据,将融合图像数据发送给ai动态范围压缩模块38。ai图像融合模块33为采用ai算法的图像融合模块。
83.ai动态范围压缩模块38对融合图像数据进行动态范围压缩,将动态范围压缩后的融合图像数据通过mipi0发送给isp42中的ipe41。ai动态范围压缩模块38为采用ai算法的动态范围压缩模块。
84.ipe41对动态范围压缩后的融合图像数据进行图像增强处理,得到目标图像数据。
其中,图像增强处理可以包括硬件降噪、图像裁剪、颜增强或细节增强等图像处理操作。
85.3a模块43用于根据图像数据采用3a算法计算3a值(ae值、awe值和af值)。在路由模块34将另一路黑白图像数据通过mipi1发送给3a模块43,以及将另一路彩图像数据通过mipi2发送给3a模块43后,3a模块43可以根据接收的黑白图像数据计算第一3a值,根据第一3a值对摄像头10进行控制,比如根据第一3a值调整摄像头10的3a值,或者将第一3a值发送给摄像头10,由摄像头10根据第一3a值调整自身的3a值。另外,3a模块43可以根据接收的彩图像数据计算第二3a值,根据第二3a值对摄像头20进行控制,比如根据第二3a值调整摄像头20的3a值,或者将第二3a值发送给摄像头20,由摄像头20根据第二3a值调整自身的3a值。
86.请参考图5,图5示出了本技术实施例提供的一种ai降噪模块的示意图。如图5所示,该降噪模块包括神经网络1,神经网络1用于对图像进行降噪。可以将图像数据作为神经网络1的输入,通过神经网络1输出降噪后的图像数据。比如,请参考图5,以图像数据为视频帧数据为例,可以将第n帧视频帧数据和降噪后的第n-1帧视频帧数据作为神经网络1的输入,通过神经网络1输出降噪后的第n帧视频帧数据。
87.请参考图6,图6示出了本技术实施例提供的一种ai图像融合模块的示意图。如图6所示,ai图像融合模块包括神经网络2,神经网络2用于对黑白图像数据和彩图像数据进行图像融合,得到融合图像数据。比如,先对黑白图像数据和彩图像数据进行尺度对齐,再将尺度对齐后的黑白图像数据和彩图像数据作为神经网络2的输入,通过神经网络2输出融合图像数据。
88.请参考图7,图7示出了本技术实施例提供的一种ai动态范围压缩模块的示意图。如图7所示,ai动态范围压缩模块包括神经网络3,神经网络3用于对图像数据进行动态范围压缩。比如,可以将高动态范围图像数据作为神经网络3的输入,通过神经网络3输出低动态范围图像数据。
89.需要说明的是,上述神经网络可以为卷积神经网络、net神经网络等,当然也可以为其他神经网络,本技术实施例对此不做限定。
90.请参考图8,图8示出了本技术实施例提供的一种手机100的硬件结构示意图。参见图8,手机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等。
91.可以理解的是,本技术实施例示意的结构并不构成对手机100的具体限定。在本技术另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
92.处理器110可以包括一个或多个处理单元,比如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理
器(neural-network processing unit,npu)等。
93.其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。比如,处理器110包括独立的处理器111和集成处理器112。处理器111用于对摄像头193中多个摄像头采集的图像数据进行降噪和图像融合,得到融合图像数据。集成处理器112用于对第一处理器111得到的融合图像数据进行图像增强处理。示例地,处理器111是包括npu的ai isp,集成处理器112包括通用的isp。
94.其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
95.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
96.在一些实施例中,处理器110可以包括一个或多个接口,如可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
97.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现手机100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现手机100的显示功能。
98.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100的结构限定。在本技术另一些实施例中,手机100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
99.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193和无线通信模块160等供电。
100.手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
101.天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。比如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
102.移动通信模块150可以提供应用在手机100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波
进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
103.无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。
104.手机100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
105.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,手机100可以包括1个或n个显示屏194,n为大于1的整数。
106.手机100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
107.isp用于处理摄像头193反馈的数据。比如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤进行算法优化。isp还可以对拍摄场景的曝光,温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
108.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,手机100可以包括1个或n个摄像头193,n为大于1的整数。
109.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。比如,当手机100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
110.视频编解码器用于对数字视频压缩或解压缩。手机100可以支持一种或多种视频编解码器。这样,手机100可以播放或录制多种编码格式的视频,比如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
111.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,比如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现手机100的智能认知等应用,比如:图像识别,人脸识别,语音识别,文本理解等。
112.外部存储器接口120可以用于连接外部存储卡,比如micro sd卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。比如将音乐,视频等文件保存在外部存储卡中。
113.内部存储器121可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,来执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
114.手机100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d以及应用处理器等实现音频功能,比如音乐播放,录音等。按键190包括开机键,音量键等。按键190可以是机械按键,也可以是触摸式按键。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。
115.接下来对手机100的软件系统予以说明。
116.手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的安卓(android)系统为例,对手机100的软件系统进行示例性说明。
117.图9示出了本技术实施例提供的一种手机100的软件系统的框图。参见图9,分层架构将软件分成若干个层,每一层都有清晰的角和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统层,内核层和硬件抽象层(hardware abstraction layer,hal)。
118.应用程序层可以包括一系列应用程序包。如图9所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
119.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图9所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问,这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,比如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序的显示界面,显示界面可以由一个或多个视图组成,比如,包括显示短信通知图标的视图,包括显示文字的视图,以及包括显示图片的视图。电话管理器用于提供手机100的通信功能,比如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自
动消失,无需用户交互。比如,通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或滚动条文本形式出现在系统顶部状态栏的通知,比如后台运行的应用程序的通知。通知管理器还可以是以对话窗口形式出现在屏幕上的通知,比如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
120.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
121.系统库可以包括多个功能模块,比如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(比如:opengl es),2d图形引擎(比如:sgl)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,比如:mpeg4,h.264,mp3,aac,amr,jpg,png等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2d图形引擎是2d绘图的绘图引擎。
122.内核层是硬件和软件之间的层。内核层至少包含摄像头驱动,处理器驱动,显示驱动,音频驱动等设备驱动程序。设备驱动程序为i/o系统和相关硬件之间的接口,用于驱动对应的硬件设备。
123.硬件抽象层是位于内核层与硬件电路之间的接口层。hal是一个核心态模块,可以隐藏各种与硬件有关的细节,例如i/o接口、中断控制器以及多处理器通信机制等,为运行windows的不同硬件平台提供统一的服务接口,实现多种硬件平台上的可移植性。
124.硬件层包括摄像头组、单独的处理器、集成处理器、显示器和音频设备等。摄像头组包括多个摄像头,比如包括黑白摄像头和彩摄像头。示例地,单独的处理器可以为ai isp,集成处理器可以集成cpu、gpu和通用的isp等。
125.需要说明的是,本技术实施例仅以windows系统举例来说明,在其他操作系统中(例如安卓系统,ios系统等),只要各个功能模块实现的功能和本技术的实施例类似也能实现本技术的方案。
126.下面结合捕获拍照场景,示例性说明手机100软件以及硬件的工作流程。
127.当触摸传感器接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别原始输入事件所对应的控件。以该触摸操作是单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用程序框架层的接口,启动相机应用,再调用内核层启动摄像头驱动,通过摄像头捕获静态图像或视频。在通过摄像头捕获静态图像或视频后,相机应用还可以通过hal层调用单独的处理器和集成处理器,通过单独的处理器和集成处理器对摄像头捕获的静态图像或视频进行图像处理。
128.接下来,对本技术实施例提供的图像处理方法进行详细说明。
129.图10示出了本技术实施例提供的一种图像处理方法的流程图,该方法应用于手机等电子设备中,电子设备包括第一摄像头、第二摄像头、第一处理器和集成处理器。如图10
所示,该方法包括如下步骤:
130.步骤1001:第一摄像头采集第一图像数据,第一图像数据为黑白图像数据。
131.其中,第一摄像头为用于拍摄黑白图像的黑白摄像头。第一图像数据为第一摄像头采集的单通道的原始图像数据。
132.步骤1002:第一摄像头将第一图像数据发送给第一处理器。
133.第一摄像头可以通过相关接口与第一处理器连接,通过相关接口将第一图像数据发送给第一处理器。比如,相关接口可以为mipi接口。
134.步骤1003:第二摄像头采集第二图像数据,第二图像数据为彩图像数据。
135.其中,第二摄像头为用于拍摄彩图像的彩摄像头。第二图像数据为第二摄像头采集raw域的原始图像数据。
136.步骤1004:第二摄像头将彩图像数据发送给第一处理器。
137.第二摄像头可以通过相关接口与第二处理器连接,通过相关接口将第二图像数据发送给第一处理器。比如,相关接口可以为mipi接口。
138.步骤1005:第一处理器在接收到第一图像数据和第二图像数据后,对第一图像数据和第二图像数据分别进行降噪。
139.其中,第一处理器为集成处理器之外的单独的处理器,为本技术实施例在集成处理器之外单独设置的用于对摄像头采集的图像进行图像处理的处理器。比如,第一处理器为包括npu的ai处理器。例如,第一处理器为isp,该isp包括npu,即第一处理器为包括npu的ai isp。
140.通过对第一图像数据和第二图像数据进行降噪,可以得到高信噪比的图像数据,提高图像数据的清晰度。
141.作为一个示例,第一处理器可以采用ai算法对第一图像数据和第二图像数据分别进行降噪。如此,可以提高第一处理器的运算效率。
142.比如,第一处理器包括npu,npu包括第一神经网络和第二神经网络,第一神经网络用于对黑白图像数据进行降噪,第二神经网络用于对彩图像数据进行降噪。第一处理器可以通过第一神经网络对第一图像数据进行降噪,得到降噪后的第一图像数据;通过第二神经网络对第二图像数据进行降噪,得到降噪后的第二图像数据。
143.其中,第一神经网络和第二神经网络可以为同一个神经网络,也可以为不同的神经网络,本技术实施例对此不做限定。
144.通过在专用的npu上运行ai降噪算法,可以进一步提高第一处理器的运算效率。
145.作为一个示例,第一神经网络和第二神经网络可以如上述图5所示。以视频拍摄场景为例,第一神经网络和第二神经网络可以根据当前帧和邻近帧的降噪帧,确定当前帧的降噪帧。比如,第一神经网络和第二神经网络可以根据当前帧的时域信息和邻近帧的降噪帧的时域信息,确定当前帧的降噪帧。
146.例如,第一图像数据为第一摄像头采集的第一视频帧数据。对于第一视频帧数据,第一处理器可以将第一视频帧数据和第三视频帧数据作为第一神经网络的输入,通过第一神经网络对第一视频帧数据和第三视频帧数据进行处理,得到降噪后的第一图像数据。其中,第三视频帧数据是对第一摄像头在第一视频帧数据之前采集的视频帧数据进行降噪后得到,即第三视频帧数据为第一视频帧数据的前一帧视频帧数据的降噪数据。
147.例如,第二图像数据为第二摄像头采集的第二视频帧数据。对于第二视频帧数据,第一处理器可以将第二视频帧数据和第四视频帧数据作为第二神经网络的输入,通过第二神经网络对第二视频帧数据和第四视频帧数据进行处理,得到降噪后的第二图像数据。其中,第四视频帧数据是对第二摄像头在第二视频帧数据之前采集的视频帧数据进行降噪后得到,即第四视频帧数据为第二视频帧数据的前一帧视频帧数据的降噪数据。
148.作为一个示例,在对第一图像数据和第二图像数据分别进行降噪之前,第一处理器还可以对第一图像数据和第二图像数据分别进行预处理。然后,对预处理后的第一图像数据进行降噪,得到降噪后的第一图像数据;对预处理后的第二图像数据进行降噪,得到降噪后的第二图像数据。
149.其中,预处理用于对图像数据进行校正。比如,预处理包括黑白电平校正、坏点校正、镜头阴影校正和自动白平衡中的一种或多种,当然也可以包括其他图像处理操作,本技术实施例对此不做限定。
150.作为一个示例,第一处理器包括第一ife和第二ife。第一处理器通过第一ife对第一图像数据进行预处理,得到预处理后的第一图像数据。第一处理器通过第二ife对第二图像数据进行预处理,得到预处理后的第二图像数据。
151.其中,第一ife和第二ife可以为同一个ife,也可以为不同的ife,本技术实施例对此不做限定。
152.作为一个示例,第一处理器对第二图像数据进行降噪之后,还可以对降噪后的第二图像数据进行去马赛克处理,得到第六图像数据。
153.其中,降噪后的第二图像数据为raw域的图像数据,第六图像数据为rgb域的图像数据。通过对降噪后的第二图像数据进行去马赛克处理,可以将降噪后的第二图像数据从raw域转换为rgb域。
154.步骤1006:第一处理器对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,得到第三图像数据。
155.其中,第三图像数据为融合图像数据,且为彩图像数据。
156.通过对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,可以将降噪后的第一图像数据的亮度信息、细节信息与降噪后的第二图像数据的彩信息进行融合,得到高信噪比、且细节清晰、彩准确的融合图像数据。
157.作为一个示例,第一处理器可以采用ai算法对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合。如此,可以提高第一处理器的运算效率。
158.比如,第一处理器包括npu,npu包括第三神经网络,第三神经网络用于对黑白图像数据和彩图像数据进行图像融合。第一处理器可以通过第三神经网络对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,得到第三图像数据。
159.通过在专用的npu上运行ai图像融合算法,可以提高算法的运算速度,从而进一步提高第一处理器的运算效率。
160.作为一个示例,第一处理器可以先对降噪后的第一图像数据和降噪后的第二图像数据进行尺度对齐,得到尺度对齐后的第一图像数据和第二图像数据,尺度对齐后的第一图像数据和第二图像数据的尺度相同。再将尺度对齐后的第一图像数据和第二图像数据作为第二神经网络的输入,通过第二神经网络对尺度对齐后的第一图像数据和第二图像数据
进行处理,得到第三图像数据。
161.其中,可以将尺度较大的图像数据的尺度缩小,也可以将尺度较小的图像数据的尺度增大,来对降噪后的第一图像数据和降噪后的第二图像数据进行尺度对齐。
162.作为一个示例,第一处理器可以获取第一摄像头和第二摄像头的关键参数,根据第一摄像头和第二摄像头的关键参数,确定降噪后的第一图像数据和降噪后的第二图像数据之间的尺度差异。然后,根据尺度差异对降噪后的第一图像数据和降噪后的第二图像数据进行尺度对齐,得到尺度对齐后的第一图像数据和第二图像数据。
163.其中,摄像头的关键参照包括焦距、像素尺寸和视场角中的一种或多种,当然也可以包括其他关键参数,本技术实施例对此不做限定。
164.另外,第一处理器对第二图像数据进行降噪之后,还可以对降噪后的第二图像数据进行去马赛克处理,得到第六图像数据。然后,对降噪后的第一图像数据和第六图像数据进行图像融合,得到第三图像数据。
165.步骤1007:第一处理器将第三图像数据发送给集成处理器。
166.其中,集成处理器集成有多个处理器,比如集成有通用的isp、cpu和gpu。集成处理器可以集成在集成电路上,比如集成处理器集成在soc上。
167.第一处理器可以通过相关接口与集成处理器连接,通过相关接口将第三图像数据发送给集成处理器。比如,相关接口可以为mipi接口。
168.作为一个示例,第一处理器还可以先对第三图像数据进行动态范围压缩,得到第五图像数据,然后将第五图像数据发送给集成处理器。
169.其中,第五图像数据的动态范围低于第三图像数据的动态范围。比如,第三图像数据为高动态范围(high dynamic range,hdr)图像数据,第五图像数据为低动态范围(low dynamic range,ldr)图像数据。
170.通过对第三图像数据进行动态范围压缩,可以将第三图像数据从高位宽图像压缩到低位宽图像,而且能够保留图像的局部对比度和细节信息。
171.作为一个示例,第一处理器可以采用ai算法对第三图像数据进行动态范围压缩。如此,可以提高第一处理器的运算效率。
172.比如,第一处理器包括npu,npu包括第四神经网络,第四神经网络用于对图像数据进行动态范围压缩。第一处理器可以通过第四神经网络对第三图像数据进行动态范围压缩,得到第五图像数据。
173.通过在专用的npu上运行ai动态范围压缩算法,可以提高算法的运算速度,从而进一步提高第一处理器的运算效率。
174.作为一个示例,第四神经网络可以采用影调映射(tone mapping,tm)对第三图像数据进行动态范围压缩。比如,第一处理器将第三图像数据作为第四神经网络的输入,通过第四神经网络对第三图像数据进行影调映射,得到第五图像数据。
175.此外,第一处理器接收到第一图像数据和第二图像数据之后,还可以将第一图像数据和第二图像数据发送给集成处理器。
176.比如,第一处理器通过相关接口与集成处理器连接,通过相关接口将第一图像数据发送给集成处理器。比如,相关接口可以为mipi接口。
177.步骤1008:集成处理器对第三图像数据进行图像增强处理,得到目标图像数据。
178.其中,图像增强处理可以包括硬件降噪、图像裁剪、颜增强或细节增强等图像处理操作,当然也可以包括其他图像处理操作,本技术实施例对此不做限定。
179.作为一个示例,集成处理器包括ipe,集成处理器通过ipe对第三图像数据进行图像增强处理,得到目标图像数据。
180.在得到目标图像数据之后,集成处理器可以对目标图像数据进行保存或送显。比如,集成处理器可以将目标图像数据从rgb域转换为yuv域,再对yuv域的目标图像数据进行保存或送显。
181.另外,集成处理器还可以接收第一处理器发送的第一图像数据和第二图像数据。集成处理器接收到第一图像数据和第二图像数据之后,可以根据第一图像数据确定第一3a值,根据第一3a值对第一摄像头进行控制;根据第二图像数据确定第二3a值,根据第二3a值对第二摄像头进行控制。
182.其中,第一3a值和第二3a值包括af值、ae值和awe值。集成处理器可以根据图像数据采用3a算法确定3a值,该3a算法可以预先设置,本技术实施例对此不做限定。
183.作为一个示例,集成处理器可以根据第一3a值调整第一摄像头的3a值,根据第二3a值调整第二摄像头的3a值。或者,集成处理器也可以将第一3a值发送给第一摄像头,由第一摄像头根据第一3a值调整自身的3a值;将第二3a值发送给第二摄像头,由第二摄像头根据第二3a值调整自身的3a值。
184.如此,可以根据第一图像数据和第二图像数据的图像信息,对第一摄像头和第二摄像头进行自动曝光、自动白平衡和自动对焦,提高后续图像的拍摄效果。
185.作为一个示例,电子设备可以在特定拍摄模式下,采用本技术实施例提供的图像处理方法对摄像头拍摄的图像数据进行处理。其中,特定拍摄模式可以预先设置,比如可以为夜间拍摄模式、室内拍摄模式、阴天拍摄模式等,本技术实施例对此不做限定。
186.本技术实施例中,通过在集成处理器之外配置额外的第一处理器,以及采用黑白摄像头和彩摄像头分别进行拍摄的双摄方案,可以在集成处理器的图像增强处理之前,先通过第一处理器对黑白摄像头采集的黑白图像数据以及彩摄像头采集的彩图像数据分别进行降噪,并对降噪后的黑白图像数据和彩图像数据进行图像融合,再将融合图像数据发送给集成处理器,由集成处理器对其进一步进行图像增强处理。通过第一处理器对黑白摄像头采集的黑白图像数据以及彩摄像头采集的彩图像数据分别进行降噪,可以得到高信噪比的黑白图像数据和彩图像数据,提高图像数据的清晰度。通过对降噪后的黑白图像数据和彩图像数据进行图像融合,可以将降噪后的黑白图像数据的亮度信息、细节信息与降噪后的彩图像数据的彩信息进行融合,得到高信噪比、且细节清晰、彩准确的图像数据。如此,可以对图像的清晰度、彩和亮度进行全方位增强,得到清晰度较高、彩还原能力较强、且亮度较为均匀的图像,进而提高了摄像头的拍摄效果,尤其可以提高夜间场景、室内场、阴天场景等光线较弱的拍摄场景的拍摄效果。
187.接下来,结合上述图4,以视频拍摄场景为例,对本技术实施例提供的图像处理方法进行详细说明。
188.图11示出了本技术实施例提供的另一种图像处理方法的流程图,该方法应用于图4所示的手机100中。如图11所示,该方法包括如下步骤:
189.步骤1101:摄像头10采集视频帧1,视频帧1为黑白视频帧。
190.其中,摄像头10用于拍摄黑白图像的摄像头。摄像头20用于拍摄彩摄像头。
191.步骤1102:摄像头10将视频帧1发送给路由模块34。
192.比如,摄像头10将视频帧1通过mipi0发送给路由模块34。
193.步骤1103:摄像头20采集视频帧2,视频帧2为彩视频帧。
194.作为一个示例,视频帧1和视频帧2为同一时间采集的视频帧。
195.步骤1104:摄像头20将视频帧2发送给路由模块34。
196.比如,摄像头20将视频帧2通过mipi0发送给路由模块34。
197.作为一个示例,相机应用可以在接收到视频拍摄指令后,同时调用摄像10和摄像头20,采用双摄拍摄方式同时采集黑白视频帧和彩视频帧。
198.需要说明的是,视频帧1和视频帧2均为摄像头采集的原始视频数据,视频帧1为单通道的视频帧,视频帧2为raw域的视频帧。
199.步骤1105:路由模块34对视频1进行复制得到视频帧3,对视频帧2进行复制得到视频帧4。
200.步骤1106:路由模块34将视频帧1发送给ife35,将视频帧2发送给ife36。
201.步骤1107:路由模块34将视频帧3和视频帧4发送给3a模块43。
202.比如,路由模块34可以将视频帧3和视频帧4通过相同或不同的接口发送给3a模块43。比如,通过mipi1将视频帧3发送给3a模块43,通过mipi2将视频帧4发送给3a模块43。
203.步骤1108:ife35对视频帧1进行预处理,得到预处理后的视频帧1。
204.其中,预处理用于对图像数据进行校正,比如预处理包括黑白电平校正、坏点校正、镜头阴影校正和自动白平衡中的一种或多种。应理解,预处理还可以包括其他图像处理操作,本技术实施例对此不做限定。
205.步骤1109:ife35将预处理后的视频帧1发送给ai降噪模块31。
206.步骤1110:ife36对视频帧2进行预处理,得到预处理后的视频帧2。
207.需要说明的是,ife35和ife36可以为同一个ife,也可以为不同的ife,本技术实施例对此不做限定。
208.步骤1111:ife36将预处理后的视频帧2发送给ai降噪模块32。
209.步骤1112:ai降噪模块31对预处理后的视频帧1进行降噪,得到降噪后的视频帧1。
210.其中,ai降噪模块31可以采用ai降噪算法对预处理后的视频帧1进行降噪。
211.比如,ai降噪模块31包括第一神经网络,第一神经网络用于对黑白图像数据进行降噪。ai降噪模块31通过第一神经网络对预处理后的视频帧1进行降噪,得到降噪后的视频帧1。
212.示例地,第一神经网络可以为图5所示的神经网络1。可以将视频帧1以及视频帧1的前一个视频帧的降噪结果作为第一神经网络的输入,通过第一神经网络输出视频帧1的降噪结果,即降噪后的视频帧1。
213.步骤1113:ai降噪模块31将降噪后的视频帧1发送给ai图像融合模块33。
214.步骤1114:ai降噪模块32对预处理后的视频帧2进行降噪,得到降噪后的视频帧2。
215.其中,ai降噪模块32可以采用ai降噪算法对预处理后的视频帧2进行降噪。
216.比如,ai降噪模块32包括第二神经网络,第二神经网络用于对彩图像数据进行降噪。ai降噪模块32通过第二神经网络对预处理后的视频帧2进行降噪,得到降噪后的视频
帧2。
217.示例地,第二神经网络可以为图5所示的神经网络1。可以将视频帧2以及视频帧2的前一个视频帧的降噪结果作为第二神经网络的输入,通过第二神经网络输出视频帧2的降噪结果,即降噪后的视频帧2。
218.通过对视频帧1和视频帧2进行降噪,可以减小视频帧1和视频帧2的噪声,得到高信噪比的视频帧1和视频帧2,提高视频帧的清晰度。
219.步骤1115:ai降噪模块32将降噪后的视频帧2发送给去马赛克模块37。
220.步骤1116:去马赛克模块37对降噪后的视频帧2进行去马赛克处理,得到去马赛克处理后的视频帧2。
221.通过对降噪后的视频帧2进行去马赛克处理,可以将降噪后的视频帧2从raw域转换至rgb域,得到rgb域的高信噪比的视频帧2。
222.步骤1117:去马赛克模块37将去马赛克处理后的视频帧2发送给ai图像融合模块33。
223.步骤1118:ai图像融合模块33对降噪后的视频帧1和去马赛克处理后的视频帧2进行图像融合,得到融合视频帧。
224.其中,融合视频帧为彩视频帧,且为rgb域的彩视频帧。
225.ai图像融合模块33可以采用ai图像融合对降噪后的视频帧1和去马赛克处理后的视频帧2进行图像融合。
226.比如,ai图像融合模块33包括第三神经网络,第三神经网络用于对黑白图像数据和彩图像数据进行图像融合。ai图像融合模块33通过第三神经网络对降噪后的视频帧1和去马赛克处理后的视频帧2进行图像融合,得到融合视频帧。
227.示例地,第三神经网络可以为图6所示的神经网络2。可以将先对降噪后的视频帧1和去马赛克处理后的视频帧2进行尺度对齐,再将尺度对齐后的两个视频帧作为第三神经网络的输入,通过第三神经网络输出融合视频帧。
228.通过对降噪后的视频帧1和去马赛克处理后的视频帧2进行图像融合,可以将降噪后的视频帧1的亮度信息、细节信息与去马赛克处理后的视频帧2的彩信息进行融合,得到高信噪比、且细节清晰、彩准确的融合视频帧。
229.步骤1119:ai图像融合模块33将融合视频帧发送给ai动态范围压缩模块38。
230.步骤1120:ai动态范围压缩模块38对融合视频帧进行动态范围压缩,得到动态范围压缩后的融合视频帧。
231.其中,动态范围压缩后的融合视频帧的动态范围低于融合视频帧的动态范围。比如,融合视频帧为hdr视频帧,动态范围压缩后的融合视频帧为ldr视频帧。
232.其中,ai动态范围压缩模块38可以采用ai动态范围压缩对融合视频帧进行动态范围压缩。
233.比如,ai动态范围压缩模块38包括第四神经网络,第四神经网络用于对图像数据进行动态范围压缩。ai动态范围压缩模块38通过第四神经网络对ai动态范围压缩模块38进行动态范围压缩,得到动态范围压缩后的融合视频帧。
234.示例地,第四神经网络可以为图7所示的神经网络3。可以将融合视频帧作为第四神经网络的输入,通过第四神经网络输出动态范围压缩后的融合视频帧。
235.通过对融合视频帧进行动态范围压缩,可以将融合视频帧从高位宽图像压缩到低位宽图像,而且能够保留图像的局部对比度和细节信息。
236.步骤1121:ai动态范围压缩模块38将动态范围压缩后的融合视频帧发送给ipe41。
237.比如,ai动态范围压缩模块38可以通过mipi0,将动态范围压缩后的融合视频帧发送给ipe41。
238.步骤1122:ipe41对动态范围压缩后的融合视频帧进行图像增强处理,得到目标视频帧。
239.其中,图像增强处理可以包括硬件降噪、图像裁剪、颜增强或细节增强等图像处理操作,当然也可以包括其他图像处理操作,本技术实施例对此不做限定。
240.步骤1123:ipe41对目标视频帧进行保存或送显。
241.作为一个示例,ipe41可以将目标视频帧从rgb域转换到yuv域,再对yuv域的目标视频帧进行保存或送显。
242.步骤1124:3a模块43采用3a算法根据视频帧3确定第一3a值,采用3a算法根据视频帧4确定第二3a值。
243.其中,3a值包括af值、ae值和awe值。
244.步骤1125:3a模块43将第一3a值发送给摄像头10,将第二3a值发送给摄像头20。
245.步骤1126:摄像头10根据第一3a值调整自身的3a值。
246.步骤1127:摄像头20根据第二3a值调整自身的3a值。
247.如此,可以根据原始视频帧摄像头进行自动曝光、自动白平衡和自动对焦,提高后续视频的拍摄效果。
248.需要说明的是,ai isp30包括npu,上述ai降噪模块31、ai降噪模块32、ai图像融合模块33和ai动态范围压缩模块38均可以运行在专用npu上,如此可以提高算法的运算速度,进而提高处理器30的运算速度。
249.本技术实施例中,通过在soc40的isp之外配置ai isp30,以及采用黑白摄像头和彩摄像头分别进行拍摄的双摄方案,可以在soc40的图像增强处理之前,先通过ai isp30对黑白摄像头采集的黑白图像数据以及彩摄像头采集的彩图像数据分别进行降噪,并对降噪后的黑白图像数据和彩图像数据进行图像融合,再将融合图像数据发送给集成处理器,由集成处理器对其进一步进行图像增强处理。通过ai isp30对黑白摄像头采集的黑白图像数据以及彩摄像头采集的彩图像数据分别进行降噪,可以得到高信噪比的黑白图像数据和彩图像数据,提高图像数据的清晰度。通过对降噪后的黑白图像数据和彩图像数据进行图像融合,可以将降噪后的黑白图像数据的亮度信息、细节信息与降噪后的彩图像数据的彩信息进行融合,得到高信噪比、且细节清晰、彩准确的图像数据。如此,可以对图像的清晰度、彩和亮度进行全方位增强,得到清晰度较高、彩还原能力较强、且亮度较为均匀的图像,进而提高了摄像头的拍摄效果,尤其可以提高夜间场景、室内场、阴天场景等光线较弱的拍摄场景的拍摄效果。
250.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、
计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(digital versatile disc,dvd))或半导体介质(比如:固态硬盘(solid state disk,ssd))等。
251.以上所述为本技术提供的可选实施例,并不用以限制本技术,凡在本技术的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种图像处理方法,其特征在于,应用于电子设备,所述电子设备包括第一摄像头、第二摄像头、第一处理器和集成处理器,所述方法包括:所述第一处理器获取所述第一摄像头采集的第一图像数据以及所述第二摄像头采集的第二图像数据,所述第一图像数据为黑白图像数据,所述第二图像数据为彩图像数据;所述第一处理器对所述第一图像数据和所述第二图像数据分别进行降噪,对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,得到第三图像数据,将所述第三图像数据发送给所述集成处理器;所述集成处理器对所述第三图像数据进行图像增强处理,得到目标图像数据。2.如权利要求1所述的方法,其特征在于,所述第一处理器对所述第一图像数据和所述第二图像数据分别进行降噪之前,还包括:所述第一处理器对所述第一图像数据和所述第二图像数据分别进行预处理,所述预处理包括黑白电平校正、坏点校正、镜头阴影校正和自动白平衡中的一种或多种;所述第一处理器对所述第一图像数据和所述第二图像数据分别进行降噪,包括:所述第一处理器对预处理后的第一图像数据进行降噪,得到所述降噪后的第一图像数据;所述第一处理器对预处理后的第二图像数据进行降噪,得到所述降噪后的第二图像数据。3.如权利要求1或2所述的方法,其特征在于,所述第一处理器包括第一图像前端ife和第二ife,所述第一处理器对所述第一图像数据和所述第二图像数据分别进行预处理,包括:所述第一处理器通过所述第一ife对所述第一图像数据进行预处理,得到所述预处理后的第一图像数据;所述第一处理器通过所述第二ife对所述第二图像数据进行预处理,得到所述预处理后的第二图像数据。4.如权利要求1-3任一所述的方法,其特征在于,所述第一处理器包括神经网络处理单元npu,所述npu包括第一神经网络和第二神经网络,所述第一神经网络用于对黑白图像数据进行降噪,所述第二神经网络用于对彩图像数据进行降噪;所述第一处理器对所述第一图像数据和所述第二图像数据分别进行降噪,包括:所述第一处理器通过所述第一神经网络对所述第一图像数据进行降噪,得到所述降噪后的第一图像数据;所述第一处理器通过所述第二神经网络对所述第二图像数据进行降噪,得到所述降噪后的第二图像数据。5.如权利要求4所述的方法,其特征在于,所述第一图像数据为所述第一摄像头采集的第一视频帧数据,所述第二图像数据为所述第二摄像头采集的第二视频帧数据;所述第一处理器通过所述第一神经网络对所述第一图像数据进行降噪,得到所述降噪后的第一图像数据,包括:所述第一处理器将所述第一视频帧数据和第三视频帧数据作为所述第一神经网络的输入,通过所述第一神经网络对所述第一视频帧数据和所述第三视频帧数据进行处理,得到所述降噪后的第一图像数据,所述第三视频帧数据是对所述第一摄像头在所述第一视频
帧数据之前采集的视频帧数据进行降噪后得到;所述第一处理器通过所述第二神经网络对所述第二图像数据进行降噪,得到所述降噪后的第二图像数据,包括:所述第一处理器将所述第二视频帧数据和第四视频帧数据作为所述第二神经网络的输入,通过所述第二神经网络对所述第二视频帧数据和所述第四视频帧数据进行处理,得到所述降噪后的第二图像数据,所述第四视频帧数据是对所述第二摄像头在所述第二视频帧数据之前采集的视频帧数据进行降噪后得到。6.如权利要求1-5任一所述的方法,其特征在于,所述第一处理器包括npu,所述npu包括第三神经网络,所述第三神经网络用于对黑白图像数据和彩图像数据进行图像融合;所述第一处理器对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,得到第三图像数据,包括:所述第一处理器通过所述第三神经网络对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,得到第三图像数据。7.如权利要求6所述的方法,其特征在于,所述第一处理器通过所述第三神经网络对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合之前,还包括:所述第一处理器对降噪后的第一图像数据和降噪后的第二图像数据进行尺度对齐,得到尺度对齐后的第一图像数据和第二图像数据,所述尺度对齐后的第一图像数据和第二图像数据的尺度相同;所述第一处理器通过所述第三神经网络对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,得到第三图像数据,包括:所述第一处理器将所述尺度对齐后的第一图像数据和第二图像数据作为所述第三神经网络的输入,通过所述第三神经网络对所述尺度对齐后的第一图像数据和第二图像数据进行处理,得到所述第三图像数据。8.如权利要求7所述的方法,其特征在于,所述第一处理器对降噪后的第一图像数据和降噪后的第二图像数据进行尺度对齐,得到尺度对齐后的第一图像数据和第二图像数据,包括:所述第一处理器获取所述第一摄像头和所述第二摄像头的关键参数,所述关键参照包括焦距、像素尺寸和视场角中的一种或多种;所述第一处理器根据所述第一摄像头和所述第二摄像头的关键参数,确定降噪后的第一图像数据和降噪后的第二图像数据之间的尺度差异;所述第一处理器根据所述尺度差异对降噪后的第一图像数据和降噪后的第二图像数据进行尺度对齐,得到所述尺度对齐后的第一图像数据和第二图像数据。9.如权利要求1-8任一所述的方法,其特征在于,所述第一处理器将所述第三图像数据发送给所述集成处理器,包括:所述第一处理器对所述第三图像数据进行动态范围压缩,得到第五图像数据,所述第五图像数据的动态范围低于所述第三图像数据的动态范围;所述第一处理器将所述第五图像数据发送给所述集成处理器;所述集成处理器对所述第三图像数据进行图像增强处理,得到目标图像数据,包括:所述集成处理器对所述第五图像数据进行图像增强处理,得到所述目标图像数据。
10.如权利要求9所述的方法,其特征在于,所述第一处理器包括npu,所述npu包括第四神经网络,所述第四神经网络用于对图像数据进行动态范围压缩;所述第一处理器对所述第三图像数据进行动态范围压缩,得到第五图像数据,包括:所述第一处理器通过所述第四神经网络对所述第三图像数据进行动态范围压缩,得到所述第五图像数据。11.如权利要求10所述的方法,其特征在于,所述第一处理器通过所述第四神经网络对所述第三图像数据进行动态范围压缩,得到所述第五图像数据,包括:所述第一处理器将所述第三图像数据作为所述第四神经网络的输入,通过所述第四神经网络对所述第三图像数据进行影调映射,得到所述第五图像数据。12.如权利要求1-11任一所述的方法,其特征在于,所述第一处理器对所述第二图像数据进行降噪之后,还包括:所述第一处理器对降噪后的第二图像数据进行去马赛克处理,得到第六图像数据;所述第一处理器对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,得到第三图像数据,包括:所述第一处理器对降噪后的第一图像数据和所述第六图像数据进行图像融合,得到第三图像数据。13.如权利要求1-12任一所述的方法,其特征在于,所述集成处理器包括图像处理引擎ipe,所述集成处理器对所述第三图像数据进行图像增强处理,得到目标图像数据,包括:所述集成处理器通过所述ipe对所述第三图像数据进行图像增强处理,得到所述目标图像数据。14.如权利要求1-13任一所述的方法,其特征在于,所述第一处理器获取所述第一摄像头采集的第一图像数据以及所述第二摄像头采集的第二图像数据之后,还包括:所述第一处理器将所述第一图像数据和所述第二图像数据发送给所述集成处理器;所述集成处理器根据所述第一图像数据确定第一3a值,根据所述第二图像数据确定第二3a值,所述第一3a值和所述第二3a值包括自动对焦af值、自动曝光ae值和自动白平衡awe值;所述集成处理器根据所述第一3a值对所述第一摄像头进行控制,根据所述第二3a值对所述第二摄像头进行控制。15.如权利要求1-14任一所述的方法,其特征在于,所述第一处理器为图像信号处理器isp,所述isp包括npu。16.一种电子设备,其特征在于,所述电子设备包括第一摄像头、第二摄像头、存储器、第一处理器、集成处理器、存储在所述存储器中并可在所述第一处理器上运行的第一计算机程序以及存储在所述存储器中并可在所述集成处理器上运行的第二计算机程序,所述第一摄像头用于采集黑白图像数据,所述第二摄像头用于采集彩图像数据,所述第一计算机程序被所述第一处理器执行时实现如权利要求1-15任意一项中所述第一处理器执行的方法,所述第二计算机程序被所述集成处理器执行时实现如权利要求1-15任意一项中所述集成处理器执行的方法。17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-15任意一项所述的方法。
技术总结
本申请公开了一种图像处理方法、设备及存储介质,属于图像处理技术领域。所述方法包括:第一处理器获取第一摄像头采集的第一图像数据以及第二摄像头采集的第二图像数据,第一图像数据为黑白图像数据,第二图像数据为彩图像数据;对第一图像数据和第二图像数据分别进行降噪,对降噪后的第一图像数据和降噪后的第二图像数据进行图像融合,得到第三图像数据,将第三图像数据发送给集成处理器;集成处理器对第三图像数据进行图像增强处理,得到目标图像数据。本申请可以对摄像头拍摄的图像进行清晰度、彩和亮度增强,得到清晰度较高、彩还原能力较强、且亮度较为均匀的图像,提高拍摄效果,尤其适用于夜间拍摄场景。尤其适用于夜间拍摄场景。尤其适用于夜间拍摄场景。