本申请要求于2016年7月1日提交的名称为“用于捕获数字图像的系统和方法(systemsandmethodsforcapturingdigitalimages)”的美国专利申请no.15/201,283的优先权。
发明领域
本发明的实施例总地涉及图像处理,并且更具体地涉及用于捕获数字图像的系统和方法。
背景技术:
对于传统的相机模块,通常使用较高模拟增益来实现较高灵敏度曝光。然而,通常,更多的模拟增益导致更多的图像噪声。因此,需要更高灵敏度曝光的数字图像通常表现出更多噪声,这通常会降低图像质量。传统的数字图像处理技术可以减少数字图像中的某些形式的噪声。然而,这种技术可通过消除传达实际场景信息的图像中的期望纹理和精细细节来降低图像质量。此外,传统技术对于在移动设备上有效实现来说在计算上可能过于密集。
如前所述,具有解决与现有技术相关联的该问题和/或其他相关问题的需要。
技术实现要素:
提供了一种用于捕获数字图像的系统、方法和计算机程序产品。在使用中,确定至少一个环境曝光参数,并且基于至少一个环境曝光参数确定至少一个闪光曝光参数。接下来,根据至少一个环境曝光参数经由至少一个相机模块捕获环境图像,并且根据至少一个闪光曝光参数经由至少一个相机模块捕获闪光图像。存储捕获的环境图像和捕获的闪光图像。最后,将捕获的环境图像和捕获的闪光图像进行组合以生成第一合并图像。还提出了附加的系统、方法和计算机程序产品。
在一个实施例中,可以配置设备使得至少一个环境曝光参数包括曝光时间、曝光灵敏度(iso值)、白平衡和镜头光圈中的至少一个。另外,一个或更多个处理器可以执行指令,以实现在组合之前对环境图像进行去噪、在组合之前对闪光图像进行去噪、以及对第一合并图像进行去噪中的至少一个。
在另一个实施例中,可以配置设备使得在组合捕获的环境图像和捕获的闪光图像之前对环境图像进行去噪、在组合捕获的环境图像和捕获的闪光图像之前对闪光图像进行去噪、以及对第一合并图像的去噪可以生成至少一个去噪像素,其中一个或更多个处理器可以进一步执行指令以:基于环境图像iso值计算第一中间噪声估计;基于环境图像的iso值和环境像素强度计算第二中间噪声估计;基于环境像素强度和闪光像素强度计算第三中间噪声估计;以及组合第一中间噪声估计、第二中间噪声估计和第三中间噪声估计以创建整体像素噪声估计。
在一个实施例中,可以配置设备以使得第一中间噪声估计被计算为平滑阶跃函数(smoothstepfunction),其被配置为接收环境图像的iso值作为输入,接收第一iso值作为左边缘值,接收第二iso值作为右边缘值。另外,可以配置设备以使得第二中间噪声估计被计算为平滑阶跃函数,其被配置为接收环境像素强度作为输入、左边缘值和右边缘值,所述左边缘值是环境图像的iso值的函数,所述右边缘值是从左边缘值的偏移量。
另外,在一个实施例中,可以配置设备以使得根据被配置为接收环境像素强度和闪光像素强度的混合表面来计算第三中间噪声估计。此外,一个或更多个处理器还可以执行指令以:计算补丁空间中的位置处的补丁空间样本,所述位置对应于像素空间中的至少一个去噪像素的位置;在确定整体像素噪声估计高于预定义阈值时,将补丁空间样本的值指派给至少一个去噪像素;以及在确定整体像素噪声估计低于预定义阈值时,将环境像素的值指派给至少一个去噪像素。
在另一个实施例中,可以配置设备以使得确定至少一个环境曝光参数包括捕获图像序列,其中利用连续细化的估计捕获每个图像,直到满足环境曝光目标为止。另外,可以配置设备以使得至少一个闪光曝光参数包括曝光时间、曝光灵敏度(iso值)、白平衡、闪光持续时间和镜头光圈中的至少一个。
仍然,在一个实施例中,可以配置设备以使得至少一个闪光曝光参数包括闪光图像曝光时间,该闪光图像曝光时间小于或等于与至少一个环境曝光参数相关联的环境图像曝光时间。可以配置设备以使得闪光图像被捕获为根据连续细化的闪光曝光参数捕获的闪光图像序列之一,捕获闪光图像序列直到满足闪光曝光目标为止。在另一个实施例中,可以配置设备以使得闪光持续时间、闪光强度或闪光持续时间和闪光强度的组合中的至少一个被调节,直到满足闪光曝光目标为止。
另外,在另一个实施例中,可以配置设备以使得在图像传感器的第一模拟存储平面内捕获环境图像,并且在图像传感器的第二模拟存储平面内捕获闪光图像。而且,可以配置设备以使得以与闪光图像不同的分辨率捕获环境图像。
在一个实施例中,可以配置设备以使得第一合并图像包括来自环境图像的像素数据的插值像素,插值像素提供更高的有效分辨率。另外,可以配置设备以使得以特定iso值、以较低分辨率捕获环境图像,并且以较高分辨率和较高iso值捕获闪光图像。此外,一个或更多个处理器可以进一步执行指令以对环境图像的环境像素执行边缘检测通过,以生成边缘增强图像,其中可以配置设备以使得边缘增强图像用于指派去噪权重。
附图说明
图1示出了根据一个可能的实施例的用于生成去噪声像素的示例性方法。
图1a示出了根据本发明一个实施例的用于生成包括数字图像的去噪像素的方法。
图1b示出了根据本发明一个实施例的用于估计数字图像内的像素的噪声的方法。
图1c示出了根据本发明一个实施例的用于生成去噪像素的方法。
图1d示出了根据本发明一个实施例的用于捕获环境图像和闪光图像的方法。
图2a示出了根据本发明一个实施例的用于生成去噪像素的计算流程。
图2b示出了根据本发明一个实施例的噪声估计函数。
图2c示出了根据本发明一个实施例的像素去噪函数。
图2d示出了根据本发明一个实施例的围绕中心区域组织的补丁空间样本。
图2e示出了根据本发明一个实施例的围绕中心组织的补丁空间区域。
图2f示出了根据本发明一个实施例的围绕中心位置的补丁空间样本的星座图。
图2g示出了根据本发明一个实施例的补丁空间星座中不同等级的相对权重。
图2h示出了根据一个实施例的基于检测到的图像特征来指派样本权重。
图3示出了根据本发明一个实施例的用于估计像素处的闪光贡献的混合表面。
图4a示出了根据本发明一个实施例的包括显示单元的移动设备的正视图。
图4b示出了根据本发明一个实施例的包括面向前方的相机和面向前方的闪光灯单元的移动设备的后视图。
图4c示出了移动设备的框图,该移动设备被配置为实现本发明的一个或更多个方面。
图5示出了根据一个可能的实施例的用于基于多个相机模块生成去噪像素的示例性方法。
具体实施方式
本文公开的实施例允许摄影设备减少与拍摄场景的捕获图像相关联的噪声。在一个实施例中,两个图像合并为一个图像(合并图像),其具有比两个图像中的任一个更低的整体噪声。在另一实施例中,处理一个图像以减少与这一个图像相关联的噪声。在一个实施例中,摄影设备被配置为捕获同一场景的第一图像和第二图像。用启用闪光照明器的设备捕获第一图像,并且可以用完全禁用或者启用闪光照明器的设备捕获第二图像,以生成比与捕获第一图像相关联的光更少的光。在本说明书的上下文中,第一图像在本文中可称为闪光图像,第二图像在本文中可称为环境图像。
在某些实施例中,在时间序列中可以在第二图像之前捕获第一图像。在其他实施例中,在时间序列中可以在第一图像之前捕获第二图像。在某些实施例中,第一图像由第一相机模块捕获,第二图像由第二不同的相机模块捕获。在某些其他实施例中,通过组合由第一相机模块捕获的两个或更多个图像来生成第一图像,并且通过组合由第二相机模块捕获的两个或更多个图像来生成第二图像。在其他实施例中,通过组合两个或更多个图像来生成第一图像,每个图像由不同的相应相机模块捕获;在相关实施例中,通过组合两个或更多个图像来生成第二图像,每个图像由相机模块捕获。
可以根据第一组曝光参数捕获第一图像,并且可以根据第二组曝光参数捕获第二图像。每组曝光参数可以包括以下中的一个或更多个:曝光时间、曝光灵敏度(iso值)和镜头光圈。闪光图像的曝光参数可以进一步包括闪光强度、闪光持续时间、闪光颜色或其组合。曝光参数还可以包括白平衡,其可以根据场景的测量的白平衡、根据闪光照明器设备的已知或测量的白平衡或其组合来确定。可以根据任何技术上可行的技术来确定场景的测量的白平衡,例如估计灰度世界白平衡、估计场景内的照明器白平衡等。捕获过程包括捕获第一图像和第二图像,以及从其生成第一图像和第二图像的任何相关图像。捕获过程可以包括测光过程以生成每组曝光参数。在一个实施例中,在捕获过程之前执行测光过程,并且测光过程包括至少一个环境测光过程和至少一个闪光测光过程。
可以执行测光过程以确定一个或更多个曝光参数,使得满足曝光目标。可以捕获并分析连续的一组测光图像以与曝光目标进行比较从而确定曝光参数,其中根据曝光参数的精确近似捕获该组测光图像中的每个连续测光图像,直到充分满足曝光目标为止。在实时取景实现中,曝光的细化可以在用户拍照之前连续地适应场景照明的改变。捕获图像的第一示例性曝光目标是用于捕获的图像呈现强度直方图,其具有基本上在强度极值之间的一半处的中值强度值。例如,在图像强度范围从0.0到1.0的系统中,使得图像呈现具有大约0.50的中值的直方图的曝光参数将满足曝光目标。该第一示例性曝光目标适合于捕获某些环境图像。可以指定第二示例性曝光目标以限制曝光不良(例如,曝光过度或曝光不足)像素的最大部分或数量。同时满足上述第一曝光目标和第二曝光目标可能需要修改的第一曝光目标,使得中值强度目标可以指定范围(例如,0.45至0.55)而不是固定值(例如0.50)。
在一个实施例中,针对第一图像执行第一测光过程,并且针对第二图像执行第二测光过程。第一测光过程可以根据与第二测光过程不同的约束条件来操作。例如,可以对环境图像进行测光以实现大约0.50的中值强度,而可以对闪光图像进行测光以将过度曝光的像素的部分界定为小于图像像素的指定部分。可选地,可以对闪光图像进行测光,以将环境图像中已经过度曝光的像素之外的过度曝光像素的部分界定为小于图像像素的指定部分。换句话说,可以对闪光图像进行测光以避免与环境图像相比增加超过附加过度曝光像素的指定部分。在一个实施例中,指定部分在本文中定义为给定图像的百分之一的像素。在其他实施例中,指定部分可以大于图像像素的百分之一或小于图像像素的百分之一。
启用闪光照明器设备可在与闪光照明设备产生的照明几乎垂直的表面上引起闪光反射,例如镜面反射,导致反射区域内局部过度曝光的像素。为了减少由于闪光反射引起的过度曝光,可以使闪光照明器设备能够在一系列测光图像上扫描或以其他方式改变强度,其中使用不同的闪光强度捕获不同的测光图像。可以在不同的测光图像中将反射区域标识为基于闪光强度生长或收缩的过度曝光区域,但是具有在不同闪光强度下保持过度曝光的过度曝光的中心区域。过度曝光的中心区域可能被掩盖或排除在考虑曝光之外。此外,在不同闪光强度下保持曝光不足或一致曝光的区域也可以排除在考虑曝光之外。在一个实施例中,使用测光图像内不被排除在考虑曝光之外的像素针对每个测光图像生成曝光直方图。在某些实施例中,曝光直方图是由像素强度值生成的强度直方图。在不脱离各种实施例的范围的情况下,也可以实现其他技术上可行的曝光直方图。利用变化的曝光参数捕获多个测光图像,并从测光图像生成相应的曝光直方图。基于曝光直方图,识别或估计曝光参数以最佳地满足曝光目标。在一个实施例中,曝光目标是曝光直方图具有基本上是强度极值之间的一半的中间强度值。如上所述,可以在直方图中排除考虑一个或更多个像素。这个实施例和相关的实施例允许用适当照明的前景对象捕获闪光图像。更一般地,确定被照明的前景对象的曝光参数而不在前景的曝光和背景区域的曝光之间折衷,同时可以捕获单独曝光的环境图像以提供适当曝光的背景区域和不显著受闪光照明器设备的照射的其他区域的数据。在一个实施例中,
在一个实施例中,在捕获环境图像之前和捕获闪光图像之前确定环境图像的曝光参数和闪光图像的曝光参数。例如,为了捕获环境图像和闪光图像,首先执行环境测光过程和闪光测光过程,以生成用于捕获环境图像的曝光参数和用于捕获闪光图像的曝光参数。环境测光过程和闪光测光过程可以根据具体的实现要求(如果有的话)按任何顺序执行。在环境测光过程和闪光测光过程两者都完成之后,捕获环境图像和闪光图像。可以以任何顺序捕获环境图像和闪光图像;然而,人为因素通常有利于最后捕获闪光图像,因为人们往往仅在看到闪光之后才保持姿势。通过在捕获环境图像和闪光图像之前完成环境图像和闪光图像两者的测光过程,可以本质上消除环境图像和闪光图像的捕获时间之间的任何延迟。
在某些实施例中,用于捕获闪光图像的相机模块包括图像传感器,该图像传感器被配置为生成相同捕获图像的两次或更多次曝光。在一个实施例中,通过根据两个或更多个不同的模拟增益值对捕获图像的图像传感器像素内的模拟像素值执行模数转换来生成两个或更多个曝光。在另一实施例中,通过在图像传感器内执行并发采样到两个或更多个不同模拟存储平面来生成两个或更多个曝光。可以使用针对每个模拟存储平面的不同灵敏度或针对每个模拟存储平面的不同等效曝光时间来生成两个或更多个曝光。
模拟存储平面包括二维阵列的模拟存储元件,每个模拟存储元件被配置为存储模拟值,例如电压值。至少一个模拟存储元件应被配置为存储图像传感器的每个像素的每个颜色通道的模拟值。两个模拟存储平面可以在同一图像传感器内共存,其中两个模拟存储平面中的每一个为每个像素的相同颜色通道提供不同的模拟存储元件。在一个实施例中,每个模拟存储元件包括电容器,其被配置为对来自相应的电光转换结构(例如光电二极管)的电流进行积分。具有两个模拟存储平面的图像传感器可以以模拟形式捕获且并发地存储两个不同的图像。可以顺序地或至少部分并发地捕获两个不同的图像。在一个实施例中,在一个模拟存储平面内捕获环境图像,并且在不同的模拟存储平面中捕获闪光图像。每个模拟存储平面由模数转换器采样,以生成在模拟存储平面中存储为模拟值的图像的数字表示。
在某些实施例中,执行环境测光过程以确定环境图像的环境曝光参数。除了环境测光过程之外,还执行闪光测光过程以确定闪光图像的闪光曝光参数。在确定了环境曝光参数和闪光曝光参数之后,摄影设备根据环境曝光参数捕获环境图像,并根据闪光曝光参数捕获闪光图像。该特定序列包括:首先对环境图像和闪光图像进行测光,然后捕获环境图像和闪光图像,这可以通过调度与每个测光过程相关联的相对耗时的步骤在时间关键的顺序图像捕获步骤之前被执行,有利地减少环境图像和闪光图像之间的帧间时间。在一个实施例中,环境图像和闪光图像存储在多捕获图像传感器内的不同模拟存储平面中。
在一个实施例中,在闪光测光过程之前执行环境测光过程,并且闪光测光过程被约束为确定曝光时间,所述曝光时间小于或等于由环境测光过程确定的曝光时间。此外,闪光测光过程可以被约束为确定iso值,所述iso值小于或等于由环境测光过程确定的iso值。这些约束一起确保主要由环境照明照亮的闪光图像的区域将比由闪光照明照亮的区域强度低,从而通常隔离通过组合闪光图像和环境图像而生成的合并图像中的闪光照明的相对效果。闪光测光过程可以改变闪光持续时间、闪光强度、闪光颜色或其组合,以确定满足闪光图像的曝光目标的闪光曝光参数,例如界定闪光图像内的过度曝光像素的部分或数量。
在一个实施例中,根据去噪技术处理指定图像(例如,第一图像、第二图像或其组合),以生成包括去噪像素的去噪图像。这里将去噪像素定义为从所选像素位置处的指定图像中选择并根据去噪技术处理的像素。可以将去噪图像存储(物化)在数据缓冲器中,以便在文件系统内进一步处理或存储。可选地,可以在存储在数据缓冲器或文件系统中之前进一步处理包括去噪图像的去噪像素。
在一个实施例中,可以计算像素噪声估计并用于确定指定图像中的关联像素的去噪权重,以在去噪图像中生成对应的去噪像素。给定的去噪权重量化使得对应像素在视觉上看起来类似于周围相邻的像素的量,从而减少与像素相关联的感知噪声。高去噪权重指示像素应该看起来更像周围相邻的像素,而低去噪权重允许像素相对于周围相邻的像素保持视觉上不同(例如,颜色和强度)。在一个实施例中,去噪权重被表示为0.0和1.0之间的数值,较高的去噪权重用接近1.0的值表示,而较低的去噪权重由接近0.0的值表示。在不脱离各种实施例的范围的情况下,还可以实现去噪权重的其他技术上可行的表示。
在一个实施例中,指定的图像是环境图像,并且去噪产生去噪的环境图像。可以通过将闪光图像与去噪的环境图像组合来生成拍摄场景的捕获图像。可以通过混合两个图像将闪光图像与去噪的环境图像组合。在某些实施例中,可以根据具有混合函数权重的混合函数来执行混合两个图像,该混合函数权重是根据下面在图3中描述的混合表面计算的。可选地,不同的或类似的混合表面可以实现混合函数。图3的混合表面可用于计算像素的估计噪声值(像素噪声估计)。可选地,可以使用不同的或类似的混合表面来计算像素的估计噪声值。
在另一实施例中,通过组合闪光图像和环境图像而生成的组合图像被去噪。可以实现任何技术上可行的技术以生成组合图像,例如根据图3的混合表面进行混合。
在又一实施例中,根据本文描述的技术对输入图像进行去噪。输入图像可以是闪光图像、环境图像或任意图像(诸如先前生成的或先前捕获的图像)。
尽管结合对图像的特定类型或源(例如环境图像)进行去噪来描述所公开的去噪技术的某些方面,但是可以应用这些技术来对其他任意图像进行去噪。例如,在另一个实施例中,可以通过将闪光图像与环境图像组合(例如,使用每个闪光像素和每个对应环境像素之间的混合函数以及来自图3的混合表面的混合权重)来生成指定图像。可以通过对指定图像进行去噪来生成拍摄场景的捕获图像。在其他实施例中,指定图像可以由第一相机模块捕获并且与第二图像一起去噪,该第二图像由第二模块(具有或不具有闪光照明)捕获,其使用两个相机模块的顺序的或本质上同时的捕获。在多相机实现中,一个或更多个图像可以是要去噪的指定图像。在其他实施例中,指定图像可以包括生成的hdr图像或图像堆栈内的图像,其可以与hdr图像相关联。在其他实施例中,指定图像可以包括由多捕获图像传感器生成的一个或更多个图像,该多捕获图像传感器被配置为捕获相同的拍摄场景的两个或更多个模拟平面(例如,具有和不具有闪光、更高和更低iso或其组合)。某些实施例实现了本文所教导的一整套技术,然而其他实施例可以实现这些技术的子集。例如,可以实现某些子集以有利地对一个图像而不是两个图像进行操作。
可以通过对像素执行去噪操作来生成去噪图像中的每个像素。在一个实施例中,去噪操作包括根据对应的像素噪声估计使像素与相邻像素模糊。可以应用像素噪声估计阈值,使得具有足够低的估计噪声的像素不被去噪(不被模糊)。随着估计噪声的增加,根据去噪响应函数相应地增加模糊,其可以是线性的或非线性的。给定图像中的噪声可以在图像上变化,并且仅具有足够大的估计噪声的那些像素经受去噪,留下具有足够小的估计噪声的像素不受影响。换句话说,仅被评估为足够有噪声的图像的区域(例如,像素或像素组)经受去噪影响,而未被评估为足够有噪声的图像区域不经历去噪并且本质上没有改变。确定像素足够有噪声可以被实现为估计噪声与定量噪声阈值的比较操作,定量噪声阈值可以针对给定实现进行调整以与视觉上可辨别的噪声的阈值相关。在实际设置中,闪光图像提供具有低噪声的前景区域,而背景区域倾向于失焦并且自然模糊。因此,在具有高估计噪声的像素中模糊出色噪声(通常在图像中显现为偏色斑点)使得这些区域看起来更自然。
图1示出了根据一个可能的实施例的用于生成去噪像素的示例性方法101。作为选择,示例性方法101可以在任何附图的细节的上下文中实现。然而,当然,示例性方法101可以在任何期望的环境中执行。
如图所示,经由相机模块捕获包括多个环境像素的环境图像和包括多个闪光像素的闪光图像。参见操作103。接下来,基于环境图像生成至少一个去噪像素。参见操作105。最后,生成包括结果像素的结果图像,该结果像素通过组合至少一个去噪像素和对应的闪光像素而生成。参见操作107。
在一个实施例中,可以在启用相关联的闪光灯单元的同时捕获闪光图像。在本说明书的上下文中,去噪像素包括从根据去噪技术处理的所选像素位置处的指定图像中选择的像素。另外,在本说明书的上下文中,噪声估计值包括像素的计算的和估计的噪声值。
图1a示出了根据本发明一个实施例的用于生成包括数字图像的去噪像素的方法100。尽管结合图4a-图4c的系统描述了方法100,但是本领域普通技术人员将理解,执行方法100的任何成像系统都在本发明的实施例的范围和精神内。在一个实施例中,移动设备(诸如图4a-图4c的移动设备470)被配置为执行方法100以在去噪图像内生成去噪像素。在某些实现中,移动设备内的图形处理单元(gpu)被配置为执行方法100。可选地,数字信号处理(dsp)单元或数字图像处理(dip)单元可以在移动设备内实现并且被配置为执行方法100。可以对包括去噪图像的每个像素执行步骤114到120。
方法100开始于步骤110,其中移动设备捕获环境图像和闪光图像。在一个实施例中,环境图像包括环境像素的二维阵列,并且闪光图像包括闪光像素的二维阵列。此外,去噪图像包括去噪像素的二维阵列。在某些实施例中,环境图像、闪光图像和去噪图像具有基本相同的行和列尺寸(例如,分辨率)。另外,在一个实施例中,环境图像可以包括环境像素的三维阵列,并且闪光图像可以包括闪光像素的三维阵列。
在一些实施例中,环境图像和闪光图像在步骤110中的图像对准操作中对准。例如,环境图像可包括结合闪光图像捕获的未对准环境图像的对准版本,其中闪光图像用作对准参考。在另一示例中,闪光图像可包括结合环境图像捕获的未对准闪光图像的对准版本,其中环境图像用作对准参考。可选地,环境图像和闪光图像两者可以共同对准,使得它们都不用作唯一的对准参考。可以使用任何技术上可行的技术来执行对准环境图像和闪光图像。在某些实施例中,环境图像和闪光图像在图像传感器内快速连续地(例如,具有小于50毫秒的帧间时间)被捕获,该图像传感器被配置为捕获两个图像,其具有经减少的两个图像之间的内容移动。这里,闪光图像和环境图像仍然可以经过对准以微调对准,如果通过静态设计或通过动态确定认为微调是必要的,则应该执行对准。在一个实施例中,捕获环境图像和闪光图像可以根据图1d中描述的方法106的步骤170-178进行。
在步骤112,移动设备从环境图像生成补丁空间环境图像。在一个实施例中,补丁空间环境图像是环境图像的较低分辨率表示。例如,补丁空间环境图像的每个像素可以从环境图像中像素的nxn(例如,n=2、n=4、n=8等)补丁生成。在n=4的情况下,每个补丁表示4像素乘4像素区域,并且因此补丁空间环境图像在环境图像的每个维度上具有四分之一的分辨率。可以使用任何技术上可行的技术来生成补丁空间环境图像中的像素。例如,可以使用环境图像像素的对应的4×4补丁的简单平均或加权平均来生成补丁空间环境图像中的每个像素。可以生成并物化补丁空间环境图像(例如,明确地存储在绘图表面或纹理映射表面中),或者,可选地,可以在需要时生成包括补丁空间环境图像的像素。
在步骤114,移动设备选择与环境图像内的环境像素相对应的像素位置和闪光图像内的闪光像素。像素位置还可以对应于去噪图像内的去噪像素。在某些实施例中,像素位置包括两个归一化坐标,每个归一化坐标范围从0.0到1.0,其指定相关联的图像内的位置。在步骤116,移动设备计算与像素位置相关联的像素噪声估计。在一个实施例中,像素噪声估计被计算为环境像素的强度、与环境像素(例如,来自环境图像元数据)相关联的iso值(拍摄灵敏度值)和闪光像素的强度的函数。可以在给定拍摄场景的曝光过程中选择iso值,并用于确定应用于来自图像传感器的模拟样本的模拟增益,以生成放大的模拟样本,然后将其转换为相应的数字值。在一个实施例中,步骤116根据方法102实现,下面在图1b中更详细地描述。在步骤118,移动设备基于像素噪声估计和输入像素生成去噪像素(例如,去噪环境像素或去噪像素通过合并环境像素和闪光像素生成)。在一个实施例中,输入像素是环境像素。在另一实施例中,通过组合环境像素和闪光像素来生成输入像素。在一个实施例中,根据方法104实现步骤118,下面在图1c中更详细地描述。
在步骤120,移动设备将去噪像素存储到去噪图像。在一个实施例中,去噪像素可以存储在随机存取存储器设备中,其被配置为实现图像缓冲或纹理映射。在另一个实施例中,去噪像素可以存储在使用非易失性存储器设备(诸如闪存设备)实现的文件系统中。在某些实施例中,去噪像素与也根据方法100生成的多个其他去噪像素一起存储在去噪图像中。在一个实施例中,基于环境像素生成去噪像素,并且去噪像素与闪光像素组合以产生结果输出像素。以这种方式生成的多个输出像素可以存储在输出图像中,输出图像可以显示给用户。
在某些实施例中,对包括去噪图像的每个像素执行步骤114到120。给定像素的选择过程可以包括沿着光栅化模式中的行维度和列维度选择新的像素位置,直到已经选择了每个像素位置并且已经生成了去噪图像中的对应像素为止。在某些实施例中,选择多个像素用于并发处理,并且在不同的所选像素上并发地执行步骤116到120。例如,在图形处理单元中,光栅化单元可以生成与不同的对应像素位置相关联的多个片段(选择多个像素位置),并且对多个片段并发地执行步骤116至120以生成关联像素。
图1b示出了根据本发明一个实施例的用于估计数字图像内的像素的噪声的方法102。尽管结合图4a-图4c的系统描述了方法102,但是本领域普通技术人员将理解,执行方法102的任何图像处理系统都在本发明的实施例的范围和精神内。在一个实施例中,移动设备(例如图4a-图4c的移动设备470)被配置为执行方法102以估计数字图像内的像素的噪声。在某些实现中,处理单元(诸如移动设备内的图形处理单元(gpu))被配置为执行方法102。可选地,数字信号处理(dsp)单元或数字图像处理(dip)单元可以在移动设备实现并且被配置为执行方法102。可以对包括图1a的去噪图像的每个像素执行方法102。尽管结合环境像素描述了本文所讨论的实施例,但是本领域普通技术人员将理解,可以根据方法102针对任何像素计算噪声估计。
方法102开始于步骤130,其中移动设备内的处理单元接收环境像素、环境像素的iso值和闪光像素。可以从被配置为存储捕获的(或对齐的)环境图像的存储器单元接收环境像素,iso值可以作为与环境图像相关联的元数据存储在存储器单元中,并且闪光像素可以来自被配置为存储捕获的闪光图像的存储器单元。
在步骤132,处理单元基于iso值计算第一中间噪声估计(isopsi)。可以使用表1中所示的opengl代码来计算第一中间噪声估计。在该代码中,isopsi的范围从值0(无噪声)到值1(高噪声)。图像iso值(下文以ambientiso给出)的范围在摄影iso值(100、200等)的标准范围定义内。通常,isopsi噪声估计随着iso值的增加而增加。在表1的opengl代码中l1处给出的iso值下限可以定义低于该值则图像噪声被认为是无关紧要的iso值,表明不应该应用去噪。在h1处给出的iso上限可以定义高于该值则图像噪声被认为是非常显著的iso值,并且应该根据其他因素应用去噪。在一个实施例中,l1等于250的iso值并且h1等于350的iso值。在其他实施例中,基于相关联的相机模块的噪声性能,可以为l1和h1指派不同的iso值。如本领域所公知的,平滑阶跃函数接收“左边缘”(l1)、“右边缘”(h1)和输入值(ambientiso)。平滑阶跃函数针对左边缘值以下的输入值生成零(0.0)输出值,对右边缘以上的输入值生成一(1.0)输出值,对左边缘和右边缘之间的输入值生成平滑插值的输出值。
表1
在步骤134,处理单元基于iso值和环境像素的强度计算第二中间噪声估计(intpsi)。可以使用表2中所示的opengl代码来计算第二中间噪声估计。在该代码中,intpsi的范围从值0(无噪声)到值1(高噪声)。通常,intpsi噪声估计随着iso值的增加而增加,并随着环境强度值(给定为aint)的增加而减小。在一个实施例中,l2等于800的iso值,h2等于1600的iso值,c1等于0.4的值,c2等于0.7的值,并且c3等于0.1的值。在其他实施例中,基于相关联的相机模块的噪声性能,可以为l2、h2、c1、c2和c3指派不同的值。此外,虽然在代码中指定了恒定值1.0,但是可以根据相机模块、强度值的数值范围或两者来恰当地实现不同的值。
表2
在步骤136,处理单元基于环境像素的强度和闪光像素的强度来计算第三中间噪声估计(alphapsi)。例如,可以使用表3中所示的opengl代码来计算第三中间噪声估计。在该代码中,alphapsi的范围从值0(无噪声)到值1(高噪声),并且可以根据图3的讨论来计算alpha的值。通常,alpha的值反映了在选定的像素位置处闪光强度相较于环境强度的贡献,alpha的较高值表示较高的闪光贡献。在一个实施例中,l4设定为0.4,h4设定为0.5。在其他实施例中,基于相关联的相机模块的噪声性能,可以为l4和h4指派不同的值。此外,虽然在代码中指定了恒定值1.0,但是可以根据相机模块、强度值的数值范围或两者来恰当地实现不同的值。在某些实施例中,alphapsi直接从混合表面函数计算,该混合表面函数被配置为合并表3中所示的平滑阶跃函数。
表3
在步骤138,处理单元通过组合第一中间噪声估计、第二中间噪声估计和第三中间噪声估计来生成整体像素噪声估计(psi)。换句话说,基于像素iso值(例如,针对环境像素)、环境强度值和闪光强度值来生成像素噪声估计。可以基于像素iso值来计算第一中间噪声估计。可以基于像素iso值和环境强度值来计算第二中间噪声估计。可以从环境强度值和闪光强度值计算第三中间噪声估计。在一个实施例中,组合操作可以作为三个中间噪声估计的算术乘法(psi=isopsi*intpsi*alphapsi)来执行。
可以进一步定义最终像素噪声估计以包括附加项。例如,从ui可变控制元素(例如,滑块、控制旋钮、轻扫手势等)接收的用户输入项可以被像素噪声估计组合(例如,乘以)用于去噪图像中的去噪像素,以允许用户控制给定图像上的去噪效果的强度。在另一示例中,图像特征可以用于生成另一个噪声估计项,其可以与像素噪声估计项相乘或以其他方式与像素噪声估计项组合。例如,如果像素与图像中检测到的锐边相交,则可以减小噪声估计以减少与去噪相关联的模糊化。在某些情况下,沿边缘的一些噪声可能优于模糊边缘。
图1c示出了根据本发明一个实施例的用于生成去噪像素的方法104。尽管结合图4a-图4c的系统描述了方法104,但是本领域普通技术人员将理解,执行方法104的任何图像处理系统都在本发明的实施例的范围和精神内。在一个实施例中,移动设备(例如图4a-图4c的移动设备470)被配置为执行方法104以基于输入(例如,环境)像素,输入像素的噪声估计(例如,如方法102所估计的),以及与输入像素相关联的补丁空间样本生成去噪像素。补丁空间样本可以包括补丁空间中的区域,其涵盖补丁空间中的坐标,该坐标对应于输入像素的像素空间中的坐标。在某些实现中,处理单元(诸如移动设备内的图形处理单元(gpu))被配置为执行方法104。可选地,数字信号处理(dsp)单元或数字图像处理(dip)单元可以在移动设备内实现,并且被配置为执行方法104。可以针对包括去噪图像的每个像素执行方法104。尽管结合环境像素和环境图像描述了本文所讨论的实施例,但是本领域普通技术人员将理解,可以根据方法104针对与任何类型的图像相关联的任何类型的像素生成去噪像素。
方法104开始于步骤150,其中处理单元接收环境像素、环境像素的像素噪声估计,以及一组周围的补丁空间样本。可以根据方法102计算像素噪声估计。可以使用任何分辨率重新采样技术来生成补丁空间样本。
在步骤152,如果噪声估计高于预定义的或预先计算的阈值,则该方法前进到步骤154,其中处理单元计算补丁空间加权和像素以及对补丁空间加权和像素有贡献的权重之和。在步骤156,处理单元通过以权重之和缩放补丁空间加权和像素来计算去噪像素。在一个实施例中,补丁空间加权和像素包括红色、绿色和蓝色分量的vec3,其除以权重之和(标量)。在另一实施例中,补丁空间加权和像素包括红色、绿色和蓝色分量的vec3,其乘以权重之和的倒数。还可以将不透明度值1.0指派给去噪像素以产生vec4去噪像素。在图2d至图2f中更详细地描述了用于生成补丁空间加权和像素的一种技术。
返回步骤152,如果噪声估计不高于阈值,则方法前进到步骤160,其中处理单元将去噪像素指派为等于输入环境像素。在一个实施例中,输入环境像素包括红色、绿色和蓝色分量的vec3,并且指派包括指派相应的分量。还可以将不透明度值1.0指派给去噪像素以产生vec4去噪像素。
图1d示出了根据本发明一个实施例的用于捕获环境图像和闪光图像的方法106。尽管结合图4a-图4c的系统描述了方法106,但是本领域普通技术人员将理解,执行方法106的任何成像系统都在本发明的实施例的范围和精神内。在一个实施例中,移动设备(诸如图4a-图4c的移动设备470)被配置为执行方法106以生成拍摄场景的环境图像和闪光图像。在某些实现中,移动设备内的处理器复合体控制相关联的相机模块和闪光灯单元以执行方法106。
方法106开始于步骤170,其中移动设备确定场景的环境图像的环境曝光参数。环境曝光参数可以包括以下中的至少一个:曝光时间、曝光灵敏度(iso值)和镜头光圈。环境曝光参数还可以包括白平衡。在一个实施例中,通过捕获图像序列来执行步骤170,每个图像由移动设备内的相机模块捕获,其中每个图像用环境曝光参数的连续细化估计捕获,直到满足环境曝光目标为止。在步骤172中,移动设备确定场景的闪光图像的闪光曝光参数。闪光曝光参数可以包括以下中的至少一个:曝光时间、曝光灵敏度(iso值)和镜头光圈。闪光曝光参数还可以包括白平衡和闪光持续时间。可以根据至少一个环境曝光参数来约束闪光曝光参数。在一个实施例中,闪光iso值被约束为等于或大于环境iso值,如步骤170中所确定的。在某些实施例中,闪光曝光时间被约束为等于或短于环境曝光时间。在一个实施例中,通过捕获图像序列来执行步骤172,每个图像由移动设备内的相机模块捕获,其中启用闪光灯单元以照亮场景。利用闪光曝光参数的连续细化估计来捕获图像序列中的每个图像,直到满足曝光目标为止。在一个实施例中,调整闪光持续时间、闪光强度或其组合,直到满足闪光曝光目标为止。
在步骤174中,移动设备根据环境曝光参数捕获环境图像。在步骤176中,移动设备根据闪光曝光参数捕获闪光图像。在一个实施例中,在多捕获图像传感器的第一模拟存储平面内捕获环境图像,并且在多捕获图像传感器的第二模拟存储平面内捕获闪光图像。在步骤178中,移动设备将环境图像和闪光图像存储在移动设备的存储器子系统内。存储器子系统可以包括易失性存储器设备(例如,dram芯片)或非易失性存储器设备(例如,闪存芯片)。
在步骤180中,移动设备处理环境图像和闪光图像。在一个实施例中,处理包括组合环境图像和闪光图像以生成合并图像。在另一实施例中,处理包括对环境图像、合并图像或闪光图像进行去噪。根据图1a-图1c可以进行给定图像的去噪。在某些低光场景中,可确定满足一个或更多个环境曝光目标所必需的相对高的环境iso值(例如,iso1600或更高)。相对高的环境iso值可能导致环境图像噪声增加。可以确定较低的闪光iso值以满足一个或更多个闪光曝光目标,这可以自然地导致在本质上由闪光照明照亮的图像区域中的闪光图像噪声的降低。因此,在一些实施例中,处理可以包括组合环境图像和闪光图像以生成合并图像,以及至少对环境图像或合并图像进行去噪。可以适当地实现不同的去噪技术。在一个实施例中,根据本文结合图1a-图1c和图2a-图3描述的技术,执行生成包括指定图像(例如,环境图像)的去噪像素。
在某些实施例中,以比闪光图像更低的分辨率捕获环境图像。例如,可以以水平分辨率的一半和垂直分辨率的一半捕获环境图像。在这样的实施例中,降低环境图像的分辨率具有降低环境图像中的整体图像噪声的有益效果。在低光设置中,环境图像可以在图像传感器(或包括图像传感器的相机模块)的指定灵敏度极限处或其附近被捕获,导致比图像传感器以更多可用照明操作时更高的整体图像噪声。
当闪光图像与环境图像组合以生成合并图像时,可以对来自环境图像的像素数据进行插值,以提供可以等效于闪光图像的更高效分辨率的附加像素。在捕获较低分辨率环境图像的实施例的上下文中,可以对来自较低分辨率环境图像的像素进行去噪,以提供环境图像噪声的进一步减少。可以在去噪操作之前或之后执行对来自较低分辨率环境图像的像素进行插值,以生成较高分辨率的环境像素。在一个实施例中,使用与闪光图像具有相同分辨率的结果去噪像素来生成合并图像。
在一个实施例中,以较低分辨率捕获环境图像以在环境图像的选定iso值下实现较低的整体图像噪声,并且以较高分辨率和较高iso值捕获闪光图像。通过由前景对象上的闪光照明器提供更充足的照明,可以针对闪光图像选择具有较低固有噪声(较低iso值)的iso值。在示例性捕获过程中,可以引导图像传感器(例如,在相机模块内)以在低分辨率模式下捕获环境图像,并且还在高分辨率模式下捕获闪光图像。在高分辨率模式中,以图像传感器的原始(物理)像素分辨率捕获闪光图像。在低分辨率模式中,来自原始分辨率像素组(例如,2x2,1x2,2x1,3x3,4x4等原始(native)分辨率像素的组)的强度或颜色通道信号被组合以生成每个低分辨率像素。可以在模拟级别执行对来自原始分辨率像素的信号进行组合,使得每个原始分辨率像素的每个颜色通道的光电二极管输出电流被组合成用于低分辨率像素的颜色通道样本的对应模拟样本。
在一个实施例中,来自原始分辨率像素组内的光电二极管的光电二极管电流被组合并集成在与一个或更多个光电二极管相关联的电容器中。
例如,在一种操作模式中,一组包括2x2图案的原始分辨率像素。由四个不同的光电二极管每个颜色通道(2×2图案中每个像素一个)生成的四个光电二极管电流被组合并集成在四个相应的模拟存储电路中(2×2图案中每个像素一个)。在一个实施例中,用于红色通道的四个光电二极管电流被组合并集成在四个相应的模拟存储电路(例如,包括将电流集成到电压中的电容器)中。绿色和蓝色通道被可以相同地实现。这种操作模式可以提供较低的整体图像噪声,但在等于原始分辨率操作的iso值处提供较低的分辨率。
在使用2x2图案的原始分辨率像素的第二操作模式中,将四个光电二极管电流组合并集成在驻留在一个原始分辨率像素内的一个模拟存储电路中。这种操作模式可以允许以更高的iso值捕获图像,具有与原始分辨率操作相当的噪声。在一个实施例的上下文中,可以选择该第二操作模式以提供更高的iso值,其允许在低光设置中更快的快门速度(更短的曝光时间),以减少与相机抖动相关联的图像模糊。
在某些实施例中,通过将来自每个颜色通道的光电二极管电流组合并集成到每像素的单个强度值来捕获环境图像。可以组合来自与一个像素或一组像素相关联的颜色通道的光电二极管电流。在一个实施例中,与2x2图案的原始分辨率像素相关联的光电二极管电流被组合并集成在驻留在原始分辨率像素之一内的一个模拟存储电路内。这些光电二极管电流包括来自原始分辨率像素的2×2图案的红色、绿色和蓝色通道的电流。这些实施例可在非常低的光下操作并产生灰度环境图像,并且可产生彩色闪光图像或灰度闪光图像。可以生成灰度环境图像,其有效灵敏度几乎为原始分辨率彩色图像的灵敏度的16(四个摄影停止)倍。在一个实施例中,将较低分辨率的灰度环境图像与全分辨率彩色图像组合以生成合并图像。可以将特定颜色应用于灰度环境图像,以便使得环境照明看起来为例如白色/灰色、米色、绿色或琥珀色。这样的实施例可以允许使用比传统技术短得多(例如,几乎十六分之一)的总曝光时间来捕获环境图像。较短的总曝光时间有利地减少了运动模糊和其他运动伪影,这导致更高质量的环境图像。然后可以将关联的闪光图像与环境图像组合以生成合并图像。
图2a示出了根据本发明一个实施例的用于生成去噪像素的计算流程200。计算流程200示出了图1a的方法100的一个实施例。包括相机模块、电子闪光灯(例如,一个或更多个发光二极管或氙闪光灯管)和处理单元的移动设备可以被配置为执行计算流程200。在功能210处,移动设备捕获像素空间环境图像212和像素空间闪光图像214。在一个实施例中,移动设备根据图1d的方法106捕获环境图像和闪光图像。环境图像被存储为像素空间环境图像212,并且闪光图像被存储为像素空间闪光图像214。补丁空间滤波器220通过对像素空间环境图像212执行任何技术上可行的分辨率降低操作来生成补丁空间图像222。功能216和218在两个图像源中的相同的所选坐标处从它们各自的图像源中选择像素。在一个实施例中,功能216和218执行简单的光栅扫描以选择像素。
噪声估计函数230接收所选环境像素(连同iso元数据)和所选闪光像素作为输入,并从这些输入产生像素噪声估计。在一个实施例中,噪声估计主要是像素的曝光条件(例如,iso和强度)的函数。
像素去噪声功能250使用环境像素、从补丁空间环境图像采样的补丁空间环境像素以及像素噪声估计作为输入来生成去噪像素。去噪像素可以存储在去噪环境图像252内的所选坐标处。在一个实施例中,根据计算流程200生成去噪环境图像252的每个像素。在某些实施例中,去噪环境图像252可以与像素空间闪光图像214组合以生成可以存储并随后显示的合并图像。
图2b示出了根据本发明一个实施例的噪声估计函数230。图1b的方法102的一个实施例以计算流程图的形式示出了噪声估计函数230。如图所示,三个中间噪声估计值(isopsi、intpsi、alphapsi)一起相乘以生成像素噪声估计(psi)。在一个实施例中,可以根据表1的opengl代码使用平滑阶跃函数(这里表示为“sstep”功能块)来生成isopsi中间噪声估计值。可以根据表2的opengl代码生成intpsi中间噪声估计值。可以根据表3的opengl代码生成alphapsi中间噪声估计值。计算像素空间环境像素(像素a)的强度值(aint)并将其用作alpha查找表(lut)函数的一个输入。计算像素空间闪光像素(像素f)的强度值(fint)并将其用作alphalut函数的第二输入。然后,得到的alpha值通过平滑阶跃函数来传递以计算alphapsi值。下面在图3中更详细地描述了alphalut函数。
图2c示出了根据本发明一个实施例的像素去噪函数250。图1c的方法104的一个实施例被示为计算流程图形式的噪声估计函数250。如图所示,像素去噪函数接收一组补丁空间样本(补丁a)、像素噪声估计(psi)和像素空间环境像素作为输入,并生成去噪像素作为输出。在一个实施例中,补丁空间样本包括与像素空间环境像素相关联的图像的较低分辨率样本。补丁空间样本可基于图像内的相对位置(例如,范围从0.0到1.0的归一化坐标)与像素空间像素相关联。每个补丁空间样本可以类似于并且代表包括补丁的小相邻像素。可以通过对与输入像素相关联的补丁空间样本的周围邻域进行采样来执行去噪操作,以生成与相邻像素类似的去噪像素。使用补丁空间样本通过预先计算补丁空间样本形式的相邻像素相似性来有利地减少与生成去噪像素相关联的计算。然而,在某些实施例中,可以根据每个输入像素的需要计算相邻像素相似度。
在一个实施例中,如果psi低于阈值t1,则将去噪像素设置为等于输入像素a。否则,根据对应权重之和缩放的像素的加权和来计算去噪像素,其结果钳位在0.0和最大颜色通道强度值(例如1.0)之间。因此,如果psi低于阈值t1,则得到的去噪像素可以与像素a的精确数字副本不同,以及相邻像素的加权和。可以基于相机模块噪声性能来为阈值t1指派值。在一个实施例中,t1设置为0.3。下面更详细地描述计算补丁空间加权和样本和权重之和。
图2d示出了根据本发明一个实施例的围绕中心区域组织的补丁空间样本。如图所示,八个补丁空间样品形成围绕中心的本质上圆形的区域。可以根据图2b-图2c的像素空间像素(输入像素a)的坐标来定位中心。可以使用任何技术上可行的技术(例如双线性采样)从补丁空间图像生成补丁空间样本,其提供对补丁空间中的离散样本之间的样本坐标的本质上任意的放置。
图2e示出了根据本发明一个实施例的围绕中心组织的补丁空间区域。补丁空间区域可以按等级组织为外部等级、中部等级、内部等级和中心。在一个实施例中,为每个等级生成八个样本,如上面在图2d中所示。
图2f示出了根据本发明一个实施例的围绕中心位置的补丁空间样本的星座图。如图所示,每个等级的八个样本位置位于环中的补丁空间中。
在一个实施例中,针对每个等级计算权重,并且给定等级上的每个样本向图2c的补丁空间加权和样本贡献相应的加权值。权重之和对应于所有权重的总和,该所有权重的总和与对补丁空间加权和样本有贡献的样本相关联。中心样本可以包括在补丁空间加权和样本中。中心样本可具有独立的中心权重。将中心样本权重加到权重之和上。可以针对每个去噪像素计算中心权重和等级权重。在某些实现方式中,中心权重大于内部等级权重;内部等级权重大于中部等级权重;并且,中部等级权重大于外部等级权重。可以根据像素噪声估计psi来改变权重。
在一个实施例中,如图2f中所示的星座图描绘了围绕像素点的贡献区。在一个实施例中,可以操纵(例如,增加/减少等)贡献区以控制周围像素的贡献,确定星座图中每个周围样本的权重为像素点处的估计图像噪声的函数,并且可选地通过用户输入参数(例如,通过用户界面滑块控制)。例如,像素点处的估计噪声越大,中间等级和外部等级的权重越大。在估计噪声高的图像区域中,估计的噪声值应该在许多像素(数十个像素)的跨度上相对缓慢地变化,这意味着去噪场景内容的整体视觉效果应该保持一致并且仅响应于小场景变化或相机移动而稍微改变。因此,上述用于去噪的技术通常可以通过多个帧(例如多个视频帧)为去噪的场景内容提供稳定、一致的外观。
图2g示出了根据本发明一个实施例的补丁空间星座中不同等级的相对权重。如图所示,当像素噪声估计值psi较小时,可以为内部等级、中部等级和外部等级分配较低的权重。当psi较大时,可以为内部等级、中部等级和外部等级分配较高的权重。在图2f的星座周围的每个角度位置(顶部中间、顶部右侧等)处的样本可以用相同的权重加权,或者用比相同等级中的其他样本相对更高或更低的权重加权,其作为图像内容的函数。可以独立地计算每个等级和角度权重以贡献给整个补丁空间加权和样本。在某些实施例中,图像内容确定给定等级内的每个角位置的样本权重。例如,即使对于具有高估计噪声的像素,也应该保留穿过或沿着中心位置的边缘。在这种情况下,颜色与最接近与中心相交的边缘的路径更相似的样本的权重可以被指派更高的权重,而不相似的样本可以被指派低权重。这样的权重可以遵循整体方案,其遵守同心等级权重,但是进一步细化以保持明显不同的边缘。可以实现各种技术以检测中心样本与星座内的其他补丁空间样本之间的相似性。具体地,可以实现保留较大图像模式(诸如边缘检测)的技术以选择性地将权重指派给星座样本。
在一个实施例中,执行边缘检测通过(edgedetectionpass)以生成环境图像的边缘增强图像。边缘增强图像可以是单通道(灰度)图像,其中较高强度指示更明显不同的边缘,而较低强度指示缺少明显不同的边缘。在存在更明显不同的边缘的区域中,沿边缘的样本应被指派更高的权重,而与边缘不相关的样本应被指派更低的权重。可选地,星座内与关联于沿边缘的样本的代表性(例如,平均、中值或其他)颜色具有相似的颜色和强度的样本应被指派更高的权重,而不相似的样本可被指派更低的权重。例如,较高的权重的范围可以从0.5到1.0,较低的权重的范围可以从0.0到0.5。
图2h示出了根据一个实施例的基于检测到的图像特征来指派样本权重。在某些实施例中,相同等级中(在同一环内)的不同样本被指派不同的权重以更好地保留检测到的图像特征。在一个实施例中,如果中心样本被定位成非常接近(例如,相交或在几个像素内相交)去噪图像中的检测到的边缘(例如,如相应的边缘增强图像中的较高强度值所指示的),然后,可以计算出接近边缘(例如,距离d1处的s1)的样本的权重高于远离边缘(例如,距离d2处的s2)的样本的权重。在一个实施例中,可以将权重计算为与边缘的接近度的反函数,使得距边缘的距离为d1的样本s1被指派比距离边缘更大距离d2的样本s2更高的权重。如图2g中所讨论的,根据沿着边缘的相似性或者基于如图2h中所讨论的与边缘的接近度对样本进行加权,可以实现为通过将可识别的图像特征与噪声区分开来保持经去噪的图像的边缘和纹理。
■生成alpha
图3示出了根据本发明另一实施例的用于混合两个像素的混合表面304。混合表面304包括由环境强度324、闪光强度314和alpha值344中的每一个的轴定义的坐标系内的闪光主导区域352和环境主导区域350。
如图所示,原点(0,0)和(1,1)处的向上曲率可以包括在环境主导区域350内,并且(0,0)和(1,1)处的向下曲率可以包括在闪光主导区域352内。因此,对于非常明亮和非常暗的区域可以观察到更平滑的过渡,其中颜色可能不太稳定并且可能在闪光图像和环境图像之间发散。沿着对角线351可以在环境主导区域350内包括向上弯曲,并且沿着对角线351可以在闪光主导区域352内包括相应的向下弯曲。
在某些实施例中,向下弯曲可以包括在(1,0)处的环境主导区域350内,或者沿着轴的一部分用于环境强度324。这种向下弯曲可以具有改变混合操作346的权重的效果,以在相应的闪光像素312具有非常低的强度时,有利于环境像素322。
在一个实施例中,混合表面304被预先计算并存储为纹理图,该纹理图被建立为片段着色器的输入,片段着色器被配置为实现方法102的步骤136。描述混合表面的表面函数可以实现为生成和存储纹理图,混合表面具有环境主导区域350和闪光主导区域352。表面函数可以在cpu核心或gpu核心上实现,或者在驻留在图4c的处理器复合体410内的核心的组合上实现。在gpu核心上执行的片段着色器可以使用纹理图作为表面函数的查找表实现方式。在可选实施例中,片段着色器实现表面函数并按需针对闪光强度314和环境强度324的每个组合计算alpha值344。可用于在给定环境强度324(环境)和闪光强度314(闪光)时计算alpha值344(alphavalue)的一个示例性表面函数在下面作为表4中的伪代码示出。常数“e”被设置为相对小的值,例如用于环境强度或闪光强度的量化步长的一部分,以避免除以零。高度355对应于常数0.125除以3.0。
表4
在某些实施例中,基于与给定闪光图像相关联和与相关环境图像相关联的图像属性来动态地配置混合表面。混合表面的动态配置可包括但不限于改变高度354至359中的一个或更多个,改变与高度354至359中的一个或更多个相关联的曲率,改变环境主导区域350的沿着对角线351的曲率,改变闪光主导区域352的沿对角线351的曲率,或其任何组合。
混合表面的动态配置的一个实施例涉及调整与沿对角线351的表面不连续性相关联的高度。某些图像不成比例地包括梯度区域,该梯度区域具有闪光像素和相似或相同强度的环境像素。由于沿对角线351的表面不连续性被减小,包括这种像素的区域通常看起来更自然。可以使用由环境强度324和闪光强度314限定的表面内的环境强度324和闪光强度314对的热图来检测这样的图像。沿着热图内的对角线351群集指示在相关联的场景中闪光像素和环境像素具有相似的强度的大发生率。在一个实施例中,沿热图内的对角线351群集指示混合表面应当被动态地配置以减小沿对角线351的不连续的高度。减小沿对角线351的不连续的高度可通过以下来实现:沿对角线351向闪光主导区域352添加向下弯曲、沿对角线351向环境主导区域350添加向上弯曲、减小高度358、减小高度356或其任何组合。在不脱离本发明的范围和精神的情况下,可以实施任何技术上可行的技术来调整曲率和高度值。此外,在不脱离本发明的范围的情况下,可以响应于图像特性动态地调整混合表面304的任何区域。
在一个实施例中,混合表面的动态配置包括混合来自实现为纹理图的两个或更多个预先计算的查找表的混合值。例如,第一混合表面可以反映高度356和358的相对大的不连续性和相对大的值,而第二混合表面可以反映高度356和358的相对小的不连续性和相对小的值。这里,混合表面304可以动态配置为来自第一混合曲面和第二混合曲面的混合值的加权和。可以基于某些图像特征来确定加权,诸如由闪光强度314和环境强度324限定的表面内的某些区域中的闪光强度314和环境强度324对的群集,或者闪光图像和环境图像的某些直方图属性。在一个实施例中,可以根据直接用户输入(例如经由ui工具)调整混合表面的一个或更多个方面的动态配置,例如不连续高度。
■系统总览
图4a示出了根据本发明一个实施例的包括显示单元412的移动设备470的正视图。显示单元412被配置为显示与可以在移动设备470上执行的软件应用程序相关联的数字照片和用户界面(ui)元素。数字照片可以包括由移动设备470捕获或以其他方式生成的数字图像,数字图像被发送到移动设备470或其任何组合。如图所示,移动设备470可以包括面向用户(背向用户)的相机472,其中镜头被配置为背向用户;也就是说,镜头可以面向显示单元412被配置为面向的相同方向。面向用户的相机472也可以称为“自拍”相机。移动设备470还可以包括面向用户的闪光灯单元474,其被配置为在与面向用户的相机472相同的方向上提供照明,从而提供用于拍摄“自拍”图片的闪光灯照明。面向用户的相机472可以在有或没有闪光灯照明的情况下捕获图像。此外,可以利用闪光灯照明和无闪光灯照明的组合来捕获图像。在某些实施例中,显示单元412可以被配置为从面向用户的闪光灯单元474提供闪光灯照明和/或增强闪光灯照明。在某些实施例中,移动设备470可以包括两个或更多个面向用户的相机,每个面向用户的相机被配置为捕获一个或更多个图像;这些图像可以存储在图像堆栈中并融合以生成合并图像。可以对一个或更多个图像进行去噪,例如根据图2a-图2h的去噪技术。例如,在一个实施例中,使用两个或更多个面向用户的相机中的一个或更多个来捕获环境图像,并且使用两个或更多个面向用户的相机中的一个或更多个来捕获闪光图像。可以使用任何技术上可行的技术对环境图像进行去噪,并且与闪光图像合并以生成合并图像。合并图像可以包括用户可以查看、保存、共享或以其他方式利用的最终图像。可选地,可以对合并图像而不是环境图像进行去噪。
图4b示出了根据本发明一个实施例的移动设备470的后视图,该移动设备470包括面向前方相机476和面向前方闪光灯单元478。面向前方相机476和面向前方闪光灯478两者可以面向与显示单元412和/或面向用户的相机472相反的方向。面向前方相机476和面向前方闪光灯单元478可以如前分别关于面向用户的相机472和面向用户的闪光灯单元474所述的操作。
图4c示出了根据本发明一个实施例的移动设备470的框图。如图所示,移动设备470包括耦合到显示单元412的处理器复合体410。移动设备470还可以包括但不限于相机模块430、闪光灯(闪存)单元436、一组输入/输出设备414、非易失性存储器416、易失性存储器418、无线单元440和传感器设备442,每个都耦合到处理器复合体410。在一个实施例中,电源管理子系统420被配置为为移动设备470内的每个电负载元件生成适当的电源电压,并且电池422被配置为向电力管理子系统420供应电能。电池422可以实现任何技术上可行的电池,包括主要的或可充电的电池技术。可选地,电池422可以实现为燃料电池或高容量电容器。
在一种使用场景中,闪光灯(闪光)照明437包括由相机模块430拍摄的场景中的整体照明的至少一部分。光学场景信息439(其可以包括从场景中的物体反射的闪光灯照明437)作为光学图像被聚焦到图像传感器432上。相机模块430内的图像传感器432生成光学图像的电子表示。电子表示包括空间颜色强度信息,其可包括用于红色、绿色和蓝色光的不同颜色强度样本。
显示单元412被配置为显示包括数字图像的二维像素阵列。显示单元412可包括液晶显示器、有机led显示器或任何其他技术上可行的显示器类型。输入/输出设备414可以包括但不限于电容式触摸输入表面、按钮、旋钮或用于接收用户输入并将输入转换为电信号的任何其他技术上可行的一种或更多种设备。输入/输出设备414还可以包括用于将电信号转换为人类可感知信号的组件。例如,输入/输出设备414可以包括音频扬声器。在一个实施例中,显示单元412和电容式触摸输入表面一起制造以形成触摸输入显示系统。
非易失性(nv)存储器416被配置为在电力中断时存储数据。因此,nv存储器416实现非暂时性计算机可读介质。在一个实施例中,nv存储器416包括一个或更多个闪存设备。nv存储器416可以被配置为包括用于由处理器复合体410内的一个或更多个处理单元执行的编程指令。编程指令可以包括但不限于操作系统(os)、用户界面(ui)模块、成像处理和存储模块,以及实现本文所教导的技术的一个或更多个实施例的模块。特别地,nv存储器416可以被配置为存储实现图1a的方法100和图1b的方法102的指令。当由处理器复合体410内的处理单元执行时,指令使处理单元执行这些方法。包括nv存储器416的一个或更多个存储器设备可以被封装为可以由用户安装或移除的模块。在一个实施例中,易失性存储器418包括动态随机存取存储器(dram),其被配置为临时存储在移动设备470的正常操作过程中所需的编程指令、图像数据等。
传感器设备442包括被配置为至少检测移动设备470的设备方向的传感器。例如,传感器设备442可以包括用于检测运动和方向的加速度计,用于检测运动和方向的电子陀螺仪,或者其组合。传感器设备442还可以包括但不限于用于检测方向的磁通量检测器,用于检测地理位置的全球定位系统(gps)模块,或其任何组合。
无线单元440可以包括被配置为发送和接收数字数据的一个或更多个数字无线电。具体地,无线单元440可以实现本领域中称为“wifi”的基于电气和电子工程师协会(ieee)标准802.11的无线标准,并且可以实现用于数据通信的数字蜂窝电话标准,例如众所周知的“3g”和长期演进(“lte”),或“4g”标准套件。在一个实施例中,移动设备470被配置为经由无线单元440将驻留在nv存储器416或易失性存储器418内的一个或更多个数字照片发送到在线摄影媒体服务。在这种实施例中,用户可以拥有访问在线摄影媒体服务和传输一个或多个数字照片以供在线摄影媒体服务存储和呈现的凭证。可以在传输数字照片之前在移动设备470中存储或生成凭证。在线摄影媒体服务可以包括社交网络服务、照片共享服务或提供数字照片的存储和下载的任何其他基于web的服务。在某些实施例中,移动设备470被配置为经由无线单元440接收一个或更多个输入数字照片,并将输入的数字照片存储在nv存储器416或易失性存储器418或其组合中。
在某些实施例中,非暂时性计算机可读介质被配置为存储编程指令,该编程指令在由处理器执行时执行本文描述的方法。具体地,编程指令指示处理器复合体410内的一个或更多个处理单元执行方法100、102、104、106或其任何组合。根据方法100和106,非暂时性计算机可读介质应该包括指示相机模块430和闪光灯单元436捕获环境图像和闪光图像的指令。非暂时性计算机可读介质应该包括指示专用多线程处理单元(例如图形处理单元(gpu)或数字信号处理单元(dsp))执行方法102和104以对环境图像或者通过组合环境图像和闪光图像而生成的图像进行去噪的指令。
在一个实施例中,相机模块430实现面向用户的相机472,并且闪光灯单元436实现面向用户的闪光灯单元474。在另一实施例中,相机模块430实现面向用户的相机476,并且闪光灯单元436实现面向用户的闪光灯单元478。在某些实施例中,移动设备470可以包括每个相机模块430的两个或更多个实例以及闪光灯单元436的一个或更多个实例。例如,移动设备470可以包括面向用户的配置中的相机模块430的一个实例(例如,面向用户的相机472)和面向前方的配置中的相机模块430的两个不同实例(两个面向前方的相机476)。类似地,移动设备470可以包括面向用户的配置中的闪光灯单元436的实例(例如,面向用户的闪光灯单元474)和面向前方配置中的闪光灯单元436的不同实例(面向前方的闪光灯单元478)。
在某些实施例中,移动设备470的两个或更多个实例可以使用闪光灯单元436的对应实例进行通信以生成时间协调的闪光照明。在这样的实施例中,闪光灯单元436的至少一个实例包括在两个或更多个移动设备470的每个实例中,并且两个或更多个闪光灯单元436同时启用,并且两个或更多个移动设备470中的一个或更多个捕获至少一个图像,同时启用两个闪光灯单元436。此外,两个或更多个移动设备470中的一个或更多个捕获至少一个图像,同时禁用两个闪光灯单元436。可以通过融合在闪光灯单元被启用时捕获的至少一个图像(闪光图像)与在闪光灯单元被禁用时捕获的至少一个图像(环境图像)来生成合并图像。此外,可以在与闪光图像融合之前对环境图像进行去噪。可选地或另外地,可以对融合图像进行去噪。可以将任何技术上可行的去噪技术应用于环境图像和/或融合图像。例如,在一个实施例中,在环境图像与闪光图像融合之前,图2a-图2h的去噪技术被应用于环境图像。
在一个实施例中,移动设备470被配置为对可见光波长和红外波长的图像进行采样。例如,移动设备470可以包括两个或更多个不同的相机模块430,每个相机模块被配置为对不同的光波范围敏感。此外,移动设备470可以包括两个面向前方的相机模块430,两个相机模块430中的第一个通常对至少可见光敏感,两个相机模块430中的第二个对至少红外(ir)光敏感。在这样的实施例中,第二相机模块430可以对0.75至1.4微米范围的至少一部分内的近红外(nir)光敏感,和/或对1.4-3.0微米范围的至少一部分内的短波红外光(swir)光敏感。可选地,两个相机模块中的一个或更多个可以对可见光和ir光两者都敏感。面向前方的闪光灯单元478可以配置成产生nir光、swir光、可见光或其组合。移动设备470可以采样包括ir(例如,nir、swir)图像、可见光图像或其组合的一组图像。移动设备470可以融合至少两个图像以生成合并图像。
在一个实施例中,面向前方的闪光灯单元478同时生成ir(例如,nir、swir)闪光灯照明和可见光照射。此外,使用ir闪光灯照明捕获的ir图像可以提供强度图像,而使用可见闪光灯照明生成的可见光图像可以提供与强度图像融合的颜色数据以生成合并图像。在这样的实施例中,可见闪光灯照明可以具有相对低的强度,因为仅需要可以独立于强度信息的每像素颜色信息。此外,可以至少部分地由ir图像提供每像素强度信息。组合颜色信息和强度信息的融合图像可以产生具有自然颜色外观的图像,但是在捕获期间对可见闪光强度的要求较低。这样的实施例可以在没有令人不愉快的明亮可见闪光照明照射摄影对象的情况下有利地在低光设置下提供优异的闪光图像。在某些实施例中,ir图像提供强度信息的一部分,而可见光图像也提供强度信息的一部分。确定每个部分可以按每个像素或每个场景计算,或者由用户与ui控件交互确定。在每个像素处,可以基于ir和可见强度信息两者生成强度值。
当然,在另一个实施例中,使用ir闪光灯照明捕获的ir图像可以提供与强度、清晰度、一个或更多个焦点和/或亮度相关联的信息,其中任何一个可以与可见图像融合以创建合并的图像。
在某些实施例中,图像传感器实现rgb-ir颜色灵敏度图案,并且可以使用相机模块430内的相同图像传感器对ir图像和可见光图像进行采样。
在一个实施例中,提供ui滑块控件以允许用户控制ir图像对合并图像的贡献。此外,可以提供ui滑块控件以允许用户控制对合并图像的整体闪光贡献。也可以提供这种滑块的任何组合。
图5示出了根据一个可能的实施例的用于基于多个相机模块生成去噪像素的示例性方法500。作为选择,示例性方法500可以在任何附图的细节的上下文中实现。然而,当然,示例性方法500可以在任何期望的环境中执行。例如,方法500可以由移动设备(诸如智能手机或独立数字相机)执行,每个移动设备被配置为包括多个相机模块。此外,多个相机模块可以被配置为与一个或更多个闪光照明模块一起操作。
步骤502示出经由多个相机模块捕获包括至少一个环境像素的至少一个环境图像和包括至少一个闪光像素的至少一个闪光图像。接下来,基于多个相机模块中的每一个的至少一个环境图像生成至少一个去噪像素。参见步骤504。最后,生成结果图像,该结果图像包括通过组合至少一个去噪像素和对应的闪光像素而生成的结果像素。见步骤506。
在一个实施例中,可以在一个设备(例如,多个电路等)内找到多个相机模块。在另一个实施例中,可以在多于一个设备(例如,在智能手机内和平板电脑内等)中找到多个相机模块。
此外,在一个实施例中,可以在多个相机模块之间协调曝光,其中协调包括将一个相机模块与另一个相机模块之间的像素强度归一化、同步捕获时间等。在一些实施例中,像素强度可以基于特定像素(以及其他相机模块上的对应像素等)、像素组、直方图点(例如最亮/最暗点等)、曝光参数等。仍然,在另一个实施例中,曝光可以取决于多次测光。例如,可以使用点测光、中心测光、平均测光或部分测光来确定所捕获图像的曝光。此外,在测光时可以使用多个点。例如,除了背景中的对象(例如树等)之外,还可以对前景中的对象(例如,脸等)进行测光。在每种情况下,可以利用任何上述曝光目标来执行测光,并且可选地,使用任何技术上可行的测光技术来实现测光。
此外,可以针对每个环境图像和每个闪光图像执行多次捕获。例如,在一个实施例中,可以在t=0处捕获环境图像并且可以在t=1处捕获闪光图像,并且可以在t=0和t=1之间捕获多个图像,使得当闪光正在增加/增长或以其他方式调制时顺序地和/或同时捕获多个图像。同样,在每种情况下,可以利用任何上述曝光目标来执行测光。在一个实施例中,可以对由多个相机模块捕获的一个或更多个环境图像执行去噪操作。去噪操作生成相应的去噪图像。一个或更多个去噪图像可以与由多个相机模块中的一个或更多个相机模块捕获的相应闪光图像组合以生成一个或更多个合并图像。
在某些实施例中,两个或更多个环境图像由一组两个或更多个相机模块捕获,其中每个环境图像根据不同的曝光参数被捕获。可以组合两个或更多个环境图像以生成hdr环境图像。在某些实施例中,hdr环境图像是hdr视频的多个帧中的一个,其中类似地生成了附加帧。在其他实施例中,两个或更多个闪光图像由两个或更多个相机模块捕获,所述相机模块可包括一组两个或更多个相机模块。在一个实施例中,组合两个或更多个闪光图像以生成hdr闪光图像。在某些实施例中,hdr闪光图像是hdr视频的多个帧之一。在某些实施例中,hdr环境图像和hdr闪光图像被组合以生成hdr合并图像。在一个实施例中,hdr合并图像是hdr合并视频的多个帧之一。
在某些实施例中,移动设备的相机子系统被配置为在大多数室内和低光设置中默认拍摄闪光照片,除非另外指示不拍摄闪光照片。然而,用户可能倾向于拍照的某些场所(例如,餐馆、博物馆、美术馆等)可能没有指示客人不使用他们的相机闪光的闪光策略。某些实施例通过确定与当前设备位置相关联的场所是否具有无闪光策略来解决对闪光摄影的使用的这种约束。例如,移动设备可以被配置为执行地理定位操作以确定设备的当前位置以及执行地理定位查询以确定场地是否具有无闪光策略。可以使用任何技术或技术组合来执行地理定位操作,诸如全球定位卫星(gps)位置、蜂窝塔三角测量等。可以使用检索基于位置的信息的任何技术上可行的技术来执行地理定位查询。在一个实施例中,基于位置的信息至少包括场地的状态标志,其指示场地是否具有无闪光策略。可选地,位于房屋上或附近的无线传输设备(例如wifi接入点)可以被配置为通告指示场地是否具有无闪光策略的标记。在这样的实施例中,移动设备被配置为检测指示无闪光策略的标志。更一般地,无线传输设备可以被配置为通告其他特定于场地的策略,例如禁止外拨蜂窝电话呼叫、禁止扬声器电话呼叫、禁止通过设备的扬声器播放音乐等。无线传输设备可以被配置为通过管理网页、传输设备上的物理控制输入等通告这样的策略。
在某些实施例中,用户断言快门释放动作(例如,按下ui界面上的虚拟按钮),并且移动设备470启动图像捕获序列以捕获环境图像和闪光图像。在一个实施例中,捕获序列包括监视加速度计和/或电子陀螺仪以在捕获最终环境图像和闪光图像之前估计相机运动何时最小。以这种方式,在某些情况下,用户可以感知到适度增加快门滞后,但是结果图像整体上可以更加清晰,在环境的至少一部分和/或闪光曝光期间具有较少的相机运动的益处。在某些实施例中,相机模块430和处理器复合体410可以协调功能以在等待相机运动处于最小值的时间时执行曝光测光和聚焦操作。
虽然结合移动设备描述了本文公开的技术,但是本领域技术人员将认识到,包括数字相机(相机模块)、数字显示器和信号处理资源的任何数字成像系统可以被配置为实现技术。
虽然前述内容针对本发明的实施例,但是可以在不脱离本发明的基本范围的情况下设计本发明的其他和进一步的实施例,并且本发明的范围由所附权利要求确定。