照相机闪光模块及其控制方法

文档序号:6479100阅读:539来源:国知局
专利名称:照相机闪光模块及其控制方法
技术领域
本发明总体上涉及照相机闪光模块,并且更具体地涉及通过自动曝光算法控制的 照相机闪光模块。
背景技术
当在不充分的环境光下拍摄图片时,诸如在完全黑暗中或在低光中,通常使用照 相机闪光灯。而且,即使在环境光不太低的时候,照相机闪光灯也可以用于补光目的。尽管 诸如氙气闪光灯这样的照相机闪光灯可以提供高强度的光源以便照亮大距离的场景,但是 无法容易地控制它们来产生一致的光量。已知可以通过控制触发脉冲的宽度来增加或减少 由氙气闪光灯产生的光量。当脉冲宽度短时,闪光强度可以明显变化。因而,有利的是,提 供一种用于控制照相机闪光灯以便改进闪光强度的可重复性的方法。

发明内容
本发明涉及一种用于控制照相机闪光灯的自动曝光算法。该算法使用图像处理来 标识受到闪光灯影响的图像的重要区域,同时忽视高度反射/照明区域,并且使用ND过滤 器来使得在高度反射场景情况下的闪光触发线性化。根据本发明,在拍摄图片过程中使用照相机闪光灯是由两个阶段中的自动曝光算 法来控制的预闪光阶段,之后是主闪光阶段。在预闪光阶段,来自预览时段期间的图像的 图像数据也被自动曝光算法用于控制照相机闪光照度。通过调整被应用到照相机闪光灯的 触发脉冲的宽度以及通过使用光圈(iris)或中性密度过滤器,闪光照度或强度可以从最 小强度调整到最大强度。在预闪光阶段,在关于曝光时间、增益、光圈和分辨率方面相同的照相机设置下捕 获两个图像。被称为暗图像的一个图像是在没有使用闪光灯的情况下捕获的。被称为min_ flash (最小_闪光)图像的另一图像是在最小闪光强度的情况下捕获的。这两个预闪光阶 段图像的曝光时间是通过在预览时段期间所获得的场景的平均亮度来确定的。这防止了预 闪光阶段图像被过度曝光。预闪光阶段图像含有与以下内容有关的信息在最小强度情况下闪光灯的影响以 及环境照度。该信息被自动曝光算法用于控制在主闪光阶段中的闪光强度。特别地,通过 从min_flash图像中减去暗图像而获得差别图像。因为min_flash图像与暗图像的不同之 处仅在于闪光灯的使用,所以该差别图像主要含有受到闪光灯影响的区域。通过搜索该差 别图像中具有最大值的像素来评估该影响。该特定像素(称为重要像素)被认为是受到预 闪光阶段中的闪光灯使用影响最多的物体的一部分。在两个预闪光阶段图像中的重要像素 的亮度用于估计主闪光阶段中的适当闪光强度。如果在min_flash图像中的一些像素有可 能是镜面反射的结果,则自动曝光算法将不考虑这些像素。此外,还将消除属于小物体的像器o使用查找表,例如,可以确定用于捕获主闪光阶段图像的主闪光强度和曝光、增益和光圈。因而,本发明的第一方面是一种用于使用自动曝光算法来控制闪光强度的方法。 该方法包括在不使用闪光灯的情况下捕获第一测试图像;使用具有预定强度的闪光灯来捕获第二测试图像,其中,所述预定强度是最小强 度;获得指示所述第二测试图像与所述第一测试图像之差的差别图像,其中,所述差 别图像包括多个差别图像像素,每个差别图像像素具有一像素值;标识所述差别图像像素当中的参考像素,其中,所述第一测试图像包括与所述参 考像素相对应的第一测试像素,并且所述第二测试图像包括与所述参考像素相对应的第二 测试像素,其中,至少部分地基于所述差别图像像素当中的最高像素值来标识所述参考像 素;以及至少部分地基于第一测试像素的像素值和第二测试像素的像素值来计算由闪光 灯用于后续图像捕获的照明量。根据本发明的各种实施例,在标识所述参考像素之前,期望移除一些所述差别图 像像素,诸如属于比预定尺寸要小的物体的像素以及属于反射物体的像素。根据本发明的各种实施例,计算了照相机设置,包括闪光灯的曝光时间和预定强 度,用于所述第一测试图像和所述第二测试图像的捕获。特别地,一个或多个预览图像的平 均亮度被用于确定闪光灯的预定强度,从而使得所述第二测试图像的平均亮度在预定范围 之内,以便防止所述第二测试图像曝光不足或过度曝光。根据本发明的各种实施例,通过由具有脉冲宽度的触发脉冲使得闪光灯提供闪光 强度,可获得由所述闪光灯用于后续图像捕获的照明量,其中当所述脉冲宽度小于预定值 时,所述脉冲宽度被增加,并且通过使用中性密度过滤器或光圈来相应地减少闪光强度,以 便维持所述闪光灯的照明量或者保持增益与强度减少因子的比率。根据本发明的各种实施例,在确定所述闪光灯的照明量之前,移除了在第一测试 图像中的正确照明区域以及在第二测试图像中的校正区域,其中,通过在第一测试图像中 确定具有处在特定预定范围之内的像素值的区域,标识所述正确照明区域。本发明的第二方面是一种计算机可读存储介质,其中嵌入了用于在照相机中使用 的软件程序,其中,所述软件程序包括用于执行用于使用自动曝光算法来控制闪光强度的 方法的编程代码。本发明的第三方面是一种用于在照相机中使用的闪光模块,该模块适于控制照相 机闪光灯。所述模块包括用于触发所述照相机闪光灯的机构;以及处理器,所述处理器被布置以便从所述照相机接收图像数据,其中所述处理器适 于执行在没有使用所述照相机闪光灯的情况下捕获第一测试图像;使用具有预定强度的所述照相机闪光灯捕获第二测试图像;获得指示所述第二测试图像与所述第一测试图像之差的差别图像,其中,所述差 别图像包括多个差别图像像素,每个差别图像像素具有像素值;
6
标识所述差别图像像素当中的参考像素,其中,所述第一测试图像包括与所述参 考像素相对应的第一测试像素,并且所述第二测试图像包括与所述参考像素相对应的第二 测试像素;以及至少部分地基于所述第一测试像素的像素值和所述第二测试像素的像素值来计 算由闪光灯用于后续图像捕获的照明量。根据本发明的各种实施例,所述处理器包括软件程序,所述软件程序具有用于执 行获得、标识和计算任务的编程代码。本发明的第四方面是一种具有如上所述的闪光模块的照相机。在阅读了结合图1至图4所进行的描述时,本发明将变得显而易见。


图1是根据本发明实施例的示出了照相机闪光模块的框图。图2是图示了确定用于捕获预闪光图像的照相机设置的步骤的流程图。图3是图示了确定用于捕获主闪光图像的照相机设置的步骤的流程图。图4示出了在移除边界像素和小物体像素中使用的示例性过滤器。
具体实施例方式本发明涉及控制在拍摄图片时由照相机闪光灯所提供的光量。如图1所示,照相 机闪光灯20由电源22供电,并且通过由触发控件24所提供的触发脉冲来触发。诸如机械 光圈或中性密度(ND)滤光片26这样的闪光强度衰减器或缩减器可以放置在照相机闪光灯 20前面以减少闪光强度。例如,曝光控制模块40具有嵌入到计算机可读存储介质中的软件 程序42,以便实现基于环境光、自然场景和拍摄模式的闪光强度控制算法。例如,无论是否 有闪光灯,光传感器30都可以用于检测场景亮度。另外,在自动曝光计算中使用来自照相 机60的图像数据。通常,照相机60具有成像传感器64以及一个或多个镜头62,以便在成 像传感器64上形成图像。在将图像数据提供给曝光控制模块40之前,来自成像传感器64 的图像数据以受控方式被读出并由图像数据处理器50来处理。根据本发明,可以通过触发脉冲的宽度来部分地控制照相机闪光灯照度。例如,触 发脉冲的宽度可以是5 i! s到250 i! S。当脉冲宽度小时,氙气闪光灯的闪光强度可能不太精 确。这意味着,当脉冲宽度小时,强度可以在相同脉冲宽度的情况下明显地变化。在本发明 的一个实施例中,中性密度过滤器被放置在照相机闪光灯前面以便衰减闪光强度。同时,脉 冲宽度成比例地增加以便补偿该衰减。例如,如果中性密度过滤器允许五分之一的闪光灯 光线通过,并且由曝光控制模块40计算的触发脉冲的目标脉冲宽度是5 y s,则脉冲宽度将 被增加到25 y s。具有25 y s脉冲宽度的闪光强度的变化是非常小的,并且因而该闪光灯照 度更为精确并且可重复。当不需要衰减闪光强度时,将中性密度过滤器从照明路径上移出。类似地,孔径或机械光圈还可以用于减少到达该场景的闪光灯的光量。与具有固 定衰减因子的中性密度过滤器不同,光圈还将影响景深并且衰减可能影响在宏观情形下所 拍摄的图片的光。因而,当所计算的脉冲宽度超过特定级别时可以将光圈开大,从而使得光 圈对闪光强度没有影响。而且,可以使用较小尺寸光圈的尺寸,从而使得强度减少因子可以 随所计算的脉冲宽度而变化。例如,如果所计算的脉冲宽度是5 i! S,则可以调整光圈,从而使得仅允许闪光灯光线的五分之一到达该场景。但是当所计算的脉冲宽度是lOy s时,可 以选择另一光圈,从而使得闪光灯光线的五分之二将到达该场景。如此,在这两种情况下的 “被增加的”脉冲宽度可以与在25 ys处的相同,但是具有不同的景深。由曝光控制处理器40进行的对脉冲宽度的计算是以环境光为基础并且由于预闪 光而受到场景上的反射率的影响。在预闪光阶段中估计该场景上受到闪光灯的影响,并且 在预览时段中,在预闪光阶段之前收集关于环境光的信息。预闪光阶段之后就是主闪光阶 段,在主闪光阶段中,基于所计算的脉冲宽度来触发照相机闪光灯,以便允许用户拍摄“正 常的”高分辨率图片。当用户在拍摄图片(图像捕获)之前预览场景时,收集关于环境光的信息。在预 览期间,例如,在取景器显示器上显示在成像传感器上形成的图像。例如,使用图像数据处 理器50内的统计模块,可以在逐帧的基础上动态地访问这些“预览”图像,以便确定场景的 平均亮度。在预览期间,自动聚焦(AF)算法用于估计该场景中的(一个或多个)目标物体 的近似距离。为了有效地收集信息,例如,使用低分辨率图像。此外,可以预先确定用于预 览图像的曝光时间。基于从预览图像收集的信息,可以确定总曝光、在图像数据上的模拟增益,以及光 圈的尺寸,从而使得它们可以用于拍摄预闪光阶段图像。在预闪光阶段中,捕获没有闪光灯 情况下所捕获的暗图像以及在最小闪光强度情况下所捕获的min_flaSh图像。例如,根据 这两个预闪光阶段图像,通过减法可以获得差别图像。可能的是,该场景具有将闪光灯光线反射回照相机的一些反射表面。例如,在该场 景中的人可能佩戴反射闪光灯光线的眼镜。如果在计算目标闪光强度时考虑了来自眼镜的 反射,则整体图像可能变得曝光不足。为了简化起见,来自反射物体的反射被称为“镜面反射”。根据本发明的一个实施例,在将差别图像用于确定主闪光阶段中的照相机闪光强 度之前,从差别图像中消除镜面反射。此外,为了减少例如环境照明(灯、蜡烛等)的非常 亮的小物体对曝光估计的影响,将从差别图像中消除那些物体。在从差别图像中消除了镜 面反射和小物体(如果有的话)之后,搜索差别图像中具有最大值的像素。该像素被称为 “重要”像素,因为它被认为是受到闪光灯光线最多影响的物体的一部分。在标识了重要像 素之后,自动曝光算法至少部分地基于重要像素的亮度来估计要在主闪光阶段中使用的适 当的闪光强度曝光、增益和光圈。本发明提供了用于控制照相机闪光灯的自动曝光算法(XAE)。该算法使用图像处 理来标识受到闪光灯影响的图像的重要区域,同时忽视高度反射/照明区域,并且使用中 性密度(ND)过滤器来使得在高度反射场景情况下的闪光灯触发线性化。在预闪光阶段中XAE的操作包括以下步骤在步骤1,基于从预览模式获取的数据,计算和存储用于暗图像的曝光时间、增益 和ND过滤器设置。在步骤2,将用于预闪光图像的曝光时间设置成等于照相机的单帧快门速度。在步骤3,标识重要像素并且实现对“暗亮度(dark luma) ”值的估计。在步骤4,估计“明亮度(light luma)”值。明亮度是所预测的由于闪光灯而导致 的重要像素的增量。
在步骤5,计算亮度。亮度是暗亮度和明亮度的总和。在步骤6,如果亮度超过用于预闪光的目标值,则应用ND过滤器并且增加增益以 补偿图像信号方面的减少。在步骤7,如果增益低于最小值或高于最大值,则将增益裁切成最小或最大值。在步骤8,存储以上计算的值,并且收集暗图像和预闪光图像这二者。如果氙气模 块并入了光传感器,则在禁用光传感器的情况下捕获预闪光图像。主闪光阶段的操作包括以下步骤在步骤1,建立在尺寸方面与整体预闪光图像成比例的兴趣窗口(W0I)。在步骤2,利用闪光灯进行捕获的曝光时间被建立为以下中的较小者指定的最 大值,或者用于无闪光灯情况下的图像的曝光时间。在步骤3,如果需要,则进行帧变换。在步骤4,执行帧减法。在这一点,执行进一步的处理,以避免从预闪光图像中选择“错误的”重要像素的 问题。以下描述了在预闪光图像中的潜在问题。在“高分辨率”行上,预闪光图像仅在物体 位置而不是亮度方面与暗图像不同。结果,差别图像失真,因为物体的位置在该帧中已经偏 移。如果以低分辨率获取了预闪光图像,则情况变得更糟。在低分辨率下,当一半像素覆盖 了背景而另一半像素是物体的一部分时,“假”像素可能出现在预闪光图像中。在减法之后, 这些像素保留在差别图像中,因为它们实际上存在于预闪光帧中而不是在暗帧中。如果这 些像素之一被选为重要像素,则可能发生预测问题。该解决方案在于在对所述帧进行减法时移除物体的边界像素,从而当生成差别 图像时仅考虑物体的中间部分。排除边界像素可能不足以确保精确的差别图像。由于镜面反射而在预闪光帧中可 能存在过度曝光的区域。所有过度曝光的像素都被计数并且与该图像的像素的总数目进行 比较。在步骤5,确定过度曝光的像素的百分比是否超过了定义的门限。如果过度曝光的 像素的百分比超过了门限,则认为预闪光帧被过度曝光并且无法可靠地用于进一步的自动 曝光计算。在这种情况下,根据平均值来估计亮度,并且该过程在步骤9开始。通过过滤算法可以确定预闪光帧是否过度曝光。在步骤6,将丢弃小物体。假设重要像素不会是非常小物体的一部分。否则,小物 体将被曝光,但是图像整体将是暗的。在运行过滤器之前,制作差别图像的副本。小物体过滤器的操作是简明的。再次使用像素掩模,并且将中心像素与它周围的 像素进行比较。丢弃具有大于中心像素差值的门限百分比的像素。在步骤7,计算来自差别图像的红色、绿色和蓝色的直方图,并且设置用于该计算 的 W0I。在步骤8,XAE标识出在差别图像内处在W0I中的重要像素,如上所述考虑了镜面 反射。该算法的重要方面在于移除符合XAE的目标的在未使用闪光灯情况下曝光的正 确照明区域。这标识了该场景中已经例如由光线(假设在该场景内打开了台灯)正确照明 的区域。如果这没有被检测到并且没有根据AE计算被移除,则将减少闪光强度并且该场景
9曝光不足。对于该特定目的,该XAE算法并不搜索照明好或照明差的区域。相反,该算法搜 索将被环境光和闪光灯的组合照明最多的区域。从那些区域中排除由环境光过度曝光的区 域以及表现得像氙气光的镜面的区域。因而,如果一区域被环境光很好地照明但是它的亮 度没有(或几乎不)受到闪光灯的影响,则它很可能不会影响最终的闪光强度。如果一区 域由环境光很好地照明并且其亮度还受到闪光灯的影响(这通常是由用户所强迫的高亮 和闪光灯使用的情况),那么主闪光强度将是弱的,以便不过度曝光该区域。在步骤9,确定是否标识了重要像素。如果没有发现重要像素,则主闪光阶段中的 参数将使用最大闪光强度以及在没有闪光灯情况下的用于进行捕获的曝光、增益和光圈, 并且将绕过所有其它步骤。一旦标识了重要像素,XAE便为主闪光捕获计算与先前为预闪光图像所计算的暗 亮度和明亮度相对应的值(dark_luma_cap和light_luma_cap)。如果所估计的亮度太高 并且没有光传感器可用,则ND过滤器被缩窄并且按照以下方式来增加增益保持增益与ND 过滤器的比率(增益*ND过滤器)。在步骤10,在捕获设备上没有光传感器可用的情况下,XAE计算曝光、增益、ND过 滤器和闪光强度。如果不存在光传感器,则由触发脉冲宽度来控制闪光灯。闪光模块可以 发射在制造商指定的最小和最大闪光强度之间的任何光量。然后,XAE计算主闪光强度,使 得整体亮度等于目标值。如果全闪光不够并且ND过滤器被打开,则XAE将增益增加到最大值。在步骤11,确定闪光强度是否可以达到特定门限,以便判定如果有光传感器的话 是否使用光传感器。如果闪光强度小于定义的门限,则在步骤12启用光传感器。下一步骤 将是在步骤13提供输出参数。光传感器可以被配置以便调节氙气光,从而对不同距离处的不同场景获得统一的 亮度级别。如果非光传感器算法确定应当使用全闪光,则统一的亮度可能不是正确的。因 而,仅当物体足够接近于照明范围之内时,才可以使用用于光传感器的XAE。使用差别图像,XAE计算在重要像素的亮度与差别图像的平均亮度之间的比率。如 果在捕获期间使用了统一的条件,则平均亮度将是相对应的统一亮度。XAE根据所述比率 以及基本亮度来计算重要像素的亮度。如果使用了基本条件,则这是light_luma_Cap。然 后,XAE计算初始条件下的light_lUma_cap。初始条件下重要像素的整体亮度是如上计算 的dark_luma_cap加上light_luma_cap。然后,XAE调整增益和ND过滤器,以便提供重要 像素的目标亮度。在这种情况下,预闪光图像仅对于确定以下内容是必要的与由光传感器 所提供的平均亮度相比,重要像素会更亮到何种程度。上述算法结合具有但不限于集成的氙气闪光模块(例如,LED闪光灯)的照相机 来进行操作。下面呈现了与该系统的优选实施例有关的细节,描述了在各种距离和照度级 别上的闪光模块的操作模式。这些氙气闪光灯/照相机设置的主要目的在于确保从场景中精确地记录在预闪 光期间所捕获的图像数据,从而使得AE和AWB算法可以可靠地进行操作。在这是不可能的 情况下,即,在AF聚焦失败期间,或者在极限距离处,这些设置可以用作在捕获期间的缺省 设置。这应当减少不良曝光图像的出现。如下通过图2和图3所示的流程图进一步说明了本发明。
预览信息使用在图像处理IC中的特殊统计模块,按照逐帧的基础来动态访问预览图像。可 以在诸如VGA图像的低分辨率预览图像上聚集统计数据,并且例如可以使用33ms的滚动快 门来获得图像数据。诸如照度级别或场景的平均亮度这样的统计数据可以用于确定预闪光 阶段图像的总曝光以及图像数据的增益。在预览阶段中应用的自动聚焦算法可以聚集“到 目标的距离”信息,从而使得可以在宏观场景中减少用于min_flash图像的闪光强度,或者 当目标的位置超出了特定距离时增加用于min_flash图像的闪光强度。当用户选择“场景 模式”(例如宏观或风景等)时,还可以假设关于距离的补充信息,其可以在AF失败的情况 下用于设置缺省值。因而,使用从预览图像和场景模式聚集的信息来设置用于预闪光阶段 的总曝光、增益和光圈。镜面反射消除在预闪光阶段中,从暗图像(没有闪光灯)和min_flaSh图像(具有最小闪光强 度)获得差别图像。如果在该差别图像中的一些像素的值超过了特定门限(镜面门限),则 那些像素可以被认为是过度曝光的并且被移除。例如,可以通过对在差别图像中红色、绿色 和蓝色的直方图分析来估计镜面门限。预闪光阶段在准备拍摄两个预闪光阶段图像时,选择照相机设置,诸如用于拍摄这些图像的 曝光时间、增益和光圈,从而使得预闪光阶段图像不会是过度曝光的。如图2所示,在流程 图100中图示了用于选择照相机设置的步骤。在步骤110,估计和存储预定的照相机参数。 特别地,在步骤120,曝光时间被设置成等于照相机的单帧快门速度,诸如33ms。应当注意, 利用滚动快门模式来实现在预闪光阶段中对min_flash图像的捕获。在这种模式下,成像 传感器逐行地从图像的顶部到底部进行曝光。氙气闪光灯发射出光的的时间相比于曝光 时间很短。通常,用于预闪光阶段的氙气闪光灯触发脉冲低于lOiis。出于此原因,用于预 闪光阶段图像的曝光时间被设置成33ms的一帧。在步骤130和140,估计prV_dark_luma 和prV_light_luma,其中prV_dark_luma是乘以常数的平均Y级别(预览期间所获得的照 度),该常数被调谐成匹配于特定照相机模块并且在SW编译时间值“C”处被定义。该编译 时间定义的值表示最亮像素与预览图像中的平均像素的比率。暗亮度计算的例子如下prv_dark_luma = ave_y_level*C ;prv_dark_luma = (prv_dark_luma*l_frame_exposure)/prv_exposure ;在查找表的帮助下估计在预览阶段中的明亮度值,例如,该查找表含有明亮度的 值,其是在33ms的曝光时间、xl的增益以及用于从5cm到150cm距离(以5cm的步幅)的 宽光圈的情况下提前测量的。根据AF算法,在预览阶段中获得的近似目标距离可以用于 从查找表中选择明亮度值。举例来说,在查找表中的值对应于最坏情况的“白色片(white sheet)”,即,无反射特征物体。可以如下计算明亮度prv_light_luma = luma_vs_dist[obj_dist_index];//以增益xl并且没有NDFprv_light_luma = (prv_light_luma氺gain—mult)/256 ;//应用当前增益
prv_light_luma = (prv_light_luma氺blend—mult)/ IRIS APERTURE_RATIO ;
II应用当前孔径或ND过滤器在预览阶段计算暗亮度值和明亮度值的主要目的是建立用于捕获预闪光阶段图 像的照相机设置,从而使得这些预闪光阶段图像在所有条件下都不会太暗或过度曝光。如 果预闪光阶段图像被过度曝光,则它们不会含有可靠信息。如果它们太暗,则量化误差相比 于信号会变得太大。在任一情况下,数据都可能不可用于在主闪光阶段中的精确处理。在步骤150,计算照度,或者prv_dark_luma和prv_light_luma的总和。如果所计 算的照度没有超过目标值,则前进到步骤160。否则,在步骤154,减少光圈尺寸,从而使得 所估计的照度将不超过目标值。同时,增加增益,以便补偿闪光强度的减少。如果增益低于 最小增益,则将它设置在最小增益。在步骤160,如果增益大于最大增益,则将它设置在最大 增益。在步骤170,对预闪光阶段图像的照相机设置准备好用于捕获预闪光阶段图像。如果氙气闪光模块在其中包括光传感器,则光传感器在预闪光阶段中被禁用。主闪光阶段当准备在主闪光阶段中拍摄图像时,选择照相机设置,诸如曝光时间、增益、光圈 和闪光强度。在本发明的一个实施例中,根据如图3所示的流程图200来选择对主闪光阶 段的照相机设置。在步骤210,建立在尺寸方面与整体预闪光阶段图像成比例的兴趣窗口(W0I)。 W0I的大小可以取决于手动现场加权(如果实现的话),但是通常是预闪光阶段图像的尺寸 的分数值,例如,1/2,1/4等。W0I定义了这样的区域,S卩,在该区域中,使用预闪光阶段图像来进行信息收集。存 在两个预闪光阶段图像在没有闪光灯情况下所捕获的暗图像,以及在最小闪光强度情况 下所捕获的min_flash图像。在步骤212,建立用于捕获在预闪光阶段中的min_f lash图像的曝光时间。该曝光 时间应当小于指定的最大值,或者短于暗图像的曝光时间。如果暗图像的曝光时间大于最 大值,则调整增益和ND过滤器值,从而使得曝光时间不会超过最大值。曝光时间的调整防 止了背景被过度曝光。如果需要的话,在步骤214实现帧变换。如果没有以绿红绿蓝(GRGB)格式捕获预 闪光阶段图像,则将它们转换成GRGB格式。在帧变换期间,计算暗图像和min_flash图像的 平均照度以及平均差。平均差是min_flash图像的平均照度减去暗图像的平均照度之差。在步骤216中,执行帧减法,其中,从min_flash图像中逐个像素地减去暗图像。进 一步的处理对于减法过程中的误差校正可能是必要的。理想地,min_flash图像和暗图像 相同,造成统一的黑色差别图像,除了受到最小闪光强度影响的区域之外。因为预闪光阶段 图像的曝光时间通常足够长,所以该场景很可能由于用户引入的照相机摇动或者由于场景 中物体的运动而引起稍微的改变。在高分辨率下,min_flash图像与暗图像仅在物体位置方面而不是在照亮方面有 所不同。结果,差别图像失真,因为物体的位置已经在该帧中有所偏移。如果以低分辨率获 取预闪光阶段图像,则情况变得更糟。在低分辨率下,当一半的像素覆盖了背景并且另一半 像素是物体的一部分时,“假”像素可能出现在min_f lash图像中。在减法之后,这些像素保
12持在差别图像中,因为它们实际上存在于min_flash帧中而不是在暗帧中。如果这些像素 之一被选择为重要像素,则对主闪光阶段的闪光强度估计可能含有实质误差。根据本发明 的一个实施例,丢弃在差别图像中物体的边界像素。如此,仅考虑在差别图像中物体的中间 部分。使用如图4所示的使用边界过滤器的过滤算法,可以消除边界像素。在一个实施例中,在min_flash图像上移动3X3像素掩模。在掩模的中心处标 记为“X”的像素是指示用于进一步处理的像素。第一,针对过度曝光来检查该像素。如果 该像素在min_flash图像中被过度曝光,但是在暗图像中的相同位置上的像素没有过度曝 光,则过度曝光被确定为是min_flash的结果,并且然后检查相邻像素。第二,还丢弃与过 度曝光的像素相邻的像素。第三,该算法估计垂直、水平和对角梯度,以便确定该像素是否 在边界处。下面示出了示例性梯度估计技术hor_grad = L-R ;//水平梯度ver_grad = |U_D| ;//垂直梯度diagl_grad = |UL-DR| ; //第一对角梯度diag2_grad = |UR-DL|。 //第二对角梯度然后,将所估计的梯度与中心像素相比较。如果梯度与中心像素的比率超过预定 门限,则该像素被认为是在边界处并且被丢弃。过滤器可以与帧减法并行地运行,并且输出被直接存储在差别图像缓冲器中。在 这种情况下,min_flash图像和暗图像并不丢失。对边界像素的排除可能不足以确保精确的差别图像。在min_flash图像中可能仍 然存在一些由于镜面反射而导致的过度曝光区域。因而,当在min_flash图像上移动掩模 时,对过度曝光的像素进行计数,并且计算过度曝光的像素的总数目与图像像素的总数目 的比率。在步骤218,确定该比率是否超过预定门限。如果该比率超过门限,则min_flash 帧被认为是过度曝光的,并且无法可靠地用于进一步的自动曝光计算。在该情况下,在步骤 230根据平均像素值来估计照度。如果没有过度曝光min_f lash帧,则该过程将继续进行到步骤220,其中,在差别 图像中丢弃小的物体,以便减少明亮但小的物体在曝光估计上的影响。在步骤220,使用如 图4所示的相同的掩模来过滤差别图像。在过滤期间,将中心像素与周围像素相比较。如果 中心像素的值比周围像素高特定的百分比,则中心像素及其周围像素可能属于小物体。这 些像素应当被丢弃,从而使得重要像素将不是这样的小物体的一部分。在步骤222,计算来自差别图像的红色、绿色和蓝色的直方图,并且设置用于该计 算的W0I。在估计直方图之后,分别针对这三种颜色来检查图像。每个颜色具有范围从0到 255的值,并且计算对于每个值的一阶导数。如果一阶导数的值超过了给定门限,则停止搜 索并且返回该值。本质上,标识了直方图中的斜率并且该值变成镜面门限值。该直方图分 析步骤用于标识镜面反射。在步骤224,该自动曝光算法忽视镜面反射和小物体,标识出在差别图像内处在 W0I中的重要像素。重要像素是在W0I内具有最高值的像素。重要像素可以是红色、绿色或 蓝色。如果该像素是红色或蓝色的,则检查相邻像素。如果该区域的颜色很强(例如,红色 > 2*绿色),则不认为对应的红色或蓝色像素是重要的,因为该像素可能被过度曝光并且 不认为是重要像素。
13
应当注意,在由2个绿色、1个蓝色和1个红色组成的4个像素的块中根据像素的 Bayer模式来构造彩色图像。可以使用各种重构方法,但是通常绿色像素被用于提供照度信 息(图像亮度),并且然后RGB的比例给出了色度(颜色)信息。因而,将足以获得用于确 定照度的绿色重要像素。还检查含有其它主要颜色的场景,以确保在那些场景中不存在过 度曝光的区域。这将不会在主闪光图像的颜色方面产生显著变化。然而,如果该区域不具 有强烈的色彩,则过度曝光任一像素将产生变化(或者所谓的颜色的“燃烧”)。因而,在一 些情况下红色和蓝色像素可以被认为是重要的。在步骤232,确定是否标识了重要像素。在无法发现重要像素的情况下,用于在主 闪光图像捕捉中使用的照相机设置将是用于捕捉暗图像的曝光、增益和光圈,但是闪光强 度将在步骤240被设置成最大。在大多数情况下,在步骤232发现重要像素,并且在步骤 234将计算照相机设置,假设没有使用光传感器。使用差别图像,自动曝光算法计算在重要像素的亮度与差别图像的平均亮度之间 的比率。该自动曝光算法使用dark_luma和light_luma的总和来计算用于主闪光图像的 闪光强度,这主要由触发脉冲宽度来确定。darlluma值是暗图像中的重要像素的值,并且 light_luma是min_flash图像中的重要像素的值。如下描述了触发脉冲带宽的计算。如先前所述,利用相同的曝光/增益来捕获暗图像和预闪光图像。差(“diff_ luma”)是对氙气光的场景反射的测量。dark_luma是对环境光的测量。曝光时间没有因 XAE算法而改变(对于将不使用氙气的情况,在预览期间计算曝光时间)。其目的是保持由 环境光最佳照亮的场景。氙气应当仅在必要时添加光。XAE的另一目的是最小化所使用的 增益并且根据氙气光进行补偿。曝光时间仅影响从环境光而不是从氙气获得的亮度。增益 和孔径影响环境光和氙气光这二者。它们在需要的情况下由XAE来控制,但是对于将不使 用闪光灯的情况,它们的最大值等于预览AE所要求的值。这就迫使XAE离开过度曝光的区 域,这些区域被正常(无闪光灯)的AE判定成由环境光过度曝光。XAE尝试使用相同的孔 径,这是非闪光灯AE在预览期间所要求的。如果场景太靠近并且甚至最小闪光都将对其过 度曝光,那么XAE减小孔径。通过获知用于暗图像/预闪光图像的曝光/增益/光圈(eXp_dark、gain_dark, iris_dark)以及用于捕获的推荐值(exp_capture、iris_capture), XAE 计算 dark_luma 禾口 diff_luma,它们在捕获中将出现的是预闪光强度,用于主捕获,从gair^capture = xl开 始。dark—luma—capture =dark_luma*exp_capture/exp_dark*gain_capture/gain_dark*iris_capture/ iris—darkdiff_luma_capture = diff_luma*gain_capture/gain_dark*iris_capture/ iris—dark这里,对于传递给XAE的图像的每个像素和每个颜色(R,G,B)(它们是暗图像和预 闪光图像的缩小版本)计算dark_luma_capture和diff_luma_capture。然后,发现了具有最大dark_luma_capture+diff_luma_capture 的像素(该像素 在dark_luma_capture中没有过度曝光,并且不是镜面反射)。
在从现在开始的计算中涉及该像素。因为氙气强度仅影响diff_lUma_CaptUre,所以用于捕获的必要的氙气强度可以 如下计算xenon—capture =xenon_preflash*(target_luma_dark_luma)/diff_luma_capturediff_luma_ capture = diff—luma—capture氺xenon—capture/xenon—preflashif (xenon_capture > max possible xenon intensity)then recalculategain_ capture gain—capture = gain—capture 氺 target—luma/ (dark—luma—cap ture+diff—luma— capture)if (xenon_capture < min possible xenon intensity)then reduce the aperture iris—capture = iris—capture 氺 target—luma/ (dark—luma—cap ture+diff—luma— capture)通过XAE来报告关于全氙气能量的百分比(最小...100% )的氙气强度。通常, 预闪光强度是最小值“min”。这是可以发射的最小能量并且足可重复(例如,+/_20%)。然后,在一个这样的实施例中,氙气闪光灯驱动器将该值转换成所需要的触发脉 冲宽度,并且使用查找表。然而,还可以使用替代的计算方法。估计主闪光强度,从而使得整体照度等于门限或目标值,如在步骤236所确定的。如果整体照度高于门限并且没有光传感器可用,则减少光圈或孔径,同时改变增 益,从而使得增益和孔径的乘积保持不变。如果整体照度小于目标值,则自动曝光算法将增益增加到最大值,并且在步骤242 判定是否使用光传感器来控制闪光强度。当使用了光传感器时,在它所感测到的强度达到 门限值时切断闪光灯输出。如果全闪光不足以正确地曝光图像,则将充分地打开光圈(以 及移除ND过滤器)。增益也被增加到最大值以便提供可能的最亮的图像。光传感器的基本特征是它可以用于调节闪光强度,以便对不同的场景以及对不同 的目标距离基本上获得相同的平均亮度。根据传感器的灵敏度来将光传感器调谐到亮度门 限,可以计算或以其它方式测量图像的平均亮度,这可以在使用光传感器以及无环境光情 况中完全暗条件下的给定照相机模块模拟增益和孔径时获得,令该值称为“基本亮度”。曝 光时间并不是关键的。总之,本发明提供了一种自动曝光算法,用于与诸如氙气闪光灯这样的照相机闪 光灯一起使用。诸如氙气自动曝光(XAE)形状识别算法这样的形状识别算法用于标识在预 览和预闪光场景中所标识的重要物体的反射率/照度(例如,反射表面、镜面、光),并且然 后例如通过调整闪光强度、照相机孔径(ND过滤器)和增益(ISO胶片速度)来进行照相机 调整,以便提供最优曝光的图像。它还以新颖的方式使用ND过滤器来扩展闪光强度控制的 动态范围并且克服氙气闪光灯在低光强度级别(即,用于高度反射或近处(宏观)场景) 的非线性性。这样的算法可以分成两个阶段预闪光和主闪光。在预闪光阶段,以“预览模式”捕获具有统一曝光、增益和孔径大小的两个图像。通 常以比最终捕获的图像的分辨率更低的分辨率来获取这两个图像。在没有闪光灯的情况下捕获被称为“暗图像”的第一图像,而在最小强度闪光的情况下捕获被称为“预闪光图像”的 第二图像。最小强度闪光门限是通过氙气闪光模块亮度效率和总能量存储来定义的。关于 环境照度和最小强度闪光的影响的信息可以从预闪光图像中提取,并且作为输入提供给主 闪光阶段。在主闪光阶段,通过从预闪光图像中减去暗图像来计算“差别图像”。理想地,差别 图像将仅含有受到闪光灯影响的区域。通过标识具有最大差值的像素来评估该影响。该像 素被称为“重要像素”,并且它被视为是受到最小强度预闪光影响最多的所拍摄物体的一部 分。在孤立重要像素时,可以丢弃被认为是镜面反射的结果的那些像素。基于重要像素的照度来进行计算。例如,使用用于闪光强度的查找表,计算最终强 度以及用于捕获的曝光、增益和ND过滤器(或孔径)。XAE算法以及图像捕获的操作可以总结成以下步骤在没有使用闪光灯的情况下捕获第一测试图像(暗图像);使用具有预定强度的闪光灯来捕获第二测试图像(预闪光图像);获得指示第二测试图像与第一测试图像之差的差别图像,其中,该差别图像包括 多个差别图像像素,每个差别图像像素具有像素值;标识差别图像像素当中的参考像素,其中,所述第一测试图像包括与所述参考像 素(重要像素)相对应的第一测试像素,并且第二测试图像包括与所述参考像素相对应的 第二测试像素,其中,基于差别图像像素当中的最高像素值来标识所述参考像素;以及基于第一测试像素的像素值和第二测试像素的像素值来计算由闪光灯用于后续 图像捕获的照明量。期望移除属于小物体或反射物体的一些差别图像像素。例如,通过使用像素过滤 器来移除阵列的边缘像素并且将剩余像素与预定尺寸相比较,可以基于具有差别图像像素 当中的最高像素值的像素阵列中的邻接像素的数目来标识小于预定尺寸的物体。例如,可 以通过对彩色图像像素进行直方图分析,以便基于直方图的斜率或一阶导数来确定反射物 体并移除反射物体,从而标识反射物体。在捕获第一测试图像和第二测试图像之前,有必要确定照相机设置,其中,照相机 设置包括闪光灯的曝光时间和预定强度。例如,一个或多个预览图像的平均照度可以用于 设置闪光灯的预定强度,从而使得第二测试图像的平均照度在预定范围之内。根据本发明的各种实施例,通过由具有脉冲宽度的触发脉冲使得闪光灯提供闪光 强度,可以获得由闪光灯用于后续图像捕获的照明量,其中,当脉冲宽度小于预定值时,脉 冲宽度被增加,并且通过中性密度或光圈来减小闪光强度,以便维持闪光灯的照明量。如果第一测试图像或暗图像含有正确照明区域,则应当在标识参考像素或重要像 素以及计算用于主闪光阶段的闪光灯的闪光强度之前,移除在差别图像中的相应区域。可 以根据在特定预定范围之内的暗图像的像素值,从暗图像中标识出正确照明区域。XAE算法可以通过嵌入到计算机可读存储介质中的软件程序来实现,该计算机可 读存储介质可以是在闪光模块中或者在具有闪光模块的照相机中的处理器的一部分。闪光 模块可以包括用于触发照相机闪光灯的机构;以及被布置以便从照相机接收图像数据的 处理器。该处理器适于执行在没有使用照相机闪光灯的情况下捕获第一测试图像;使用 具有预定强度的照相机闪光灯来捕获第二测试图像;获得指示第二测试图像和第一测试图像之差的差别图像,其中,该差别图像包括多个差别图像像素,每个差别图像像素具有像素 值;标识所述差别图像像素当中的参考像素,其中,所述第一测试图像包括与所述参考像素 相对应的第一测试像素,并且所述第二测试图像包括与所述参考像素相对应的第二测试像 素;以及基于所述第一测试像素的像素值和所述第二测试像素的像素值,计算闪光灯用于 后续图像捕获的照明量。 因而,尽管已经针对本发明的一个或多个实施例描述了本发明,但是本领域的技 术人员将理解,在不背离本发明的范围的情况下,可以在形式和细节上做出对本发明的前 述和各种其它的改变、省略和异化。
权利要求
一种方法,其包括在不使用闪光灯的情况下捕获第一测试图像;使用具有预定强度的闪光灯来捕获第二测试图像;获得指示所述第二测试图像与所述第一测试图像之差的差别图像,其中,所述差别图像包括多个差别图像像素,每个差别图像像素具有像素值;标识所述差别图像像素当中的参考像素,其中,所述第一测试图像包括与所述参考像素相对应的第一测试像素,并且所述第二测试图像包括与所述参考像素相对应的第二测试像素;以及至少部分地基于第一测试像素的像素值和第二测试像素的像素值来计算由所述闪光灯用于后续图像捕获的照明量。
2.根据权利要求1所述的方法,其中,至少部分地基于所述差别图像像素当中的最高 像素值来标识所述参考像素。
3.根据权利要求1所述的方法,其进一步包括在所述标识之前,移除所述差别图像中属于比预定尺寸更小的物体的一个或多个所述差别图像像素。
4.根据权利要求3所述的方法,其中,至少部分地基于具有所述差别图像像素当中的 最高像素值的像素阵列中邻接像素的数目,标识比所述预定尺寸更小的物体中的每个物 体。
5.根据权利要求4所述的方法,其中,所述像素阵列包括多个边缘像素,所述方法包括应用像素过滤器来移除所述边缘像素,从而获得所述像素阵列中的剩余像素,其中,所 述剩余像素的数目被用于与所述预定尺寸进行比较。
6.根据权利要求1所述的方法,其进一步包括在所述标识之前,移除所述差别图像中属于反射物体的一些所述差别图像像素。
7.根据权利要求6所述的方法,其中,所述差别图像像素包括彩色图像像素,所述方法 进一步包括对所述彩色图像像素进行直方图分析,用于确定所述反射物体。
8.根据权利要求1所述的方法,其进一步包括确定用于捕获所述第一测试图像和所述第二测试图像的照相机设置,其中,所述照相 机设置包括所述闪光灯的预定强度和曝光时间,其中,一个或多个预览图像的平均照度被 用于设置闪光灯的预定强度,从而使得所述第二测试图像的平均照度在预定范围之内。
9.根据权利要求1所述的方法,其中,通过由具有脉冲宽度的触发脉冲使得所述闪光 灯提供闪光强度,可获得由所述闪光灯用于后续图像捕获的照明量,其中,当所述脉冲宽度 小于预定值时,增加所述脉冲宽度并且相应地减少所述闪光强度,以便维持所述闪光灯的 照明量。
10.根据权利要求9所述的方法,其中,中性密度过滤器被用于减少所述闪光强度。
11.根据权利要求9所述的方法,其中,光圈被用于减少所述闪光强度。
12.根据权利要求1所述的方法,其中,所述第一测试图像包括多个第一图像像素,所 述第一像素中的每个像素均具有像素值,所述方法进一步包括在所述第一测试图像中确定这样的区域,即,所述区域所具有的第一图像像素有着在 预定范围之内的像素值;在所述计算之前,移除在所述差别图像中的对应区域。
13.一种用于在照相机中使用的闪光模块,所述模块适于控制照相机闪光灯,所述模块 包括用于触发所述照相机闪光灯的机构;以及处理器,所述处理器被布置以便从所述照相机接收图像数据,其中所述处理器适于执行在没有使用所述照相机闪光灯的情况下捕获第一测试图像;使用具有预定强度的所述照相机闪光灯捕获第二测试图像;获得指示所述第二测试图像与所述第一测试图像之差的差别图像,其中,所述差别图 像包括多个差别图像像素,每个差别图像像素具有像素值;标识所述差别图像像素当中的参考像素,其中,所述第一测试图像包括与所述参考像 素相对应的第一测试像素,并且所述第二测试图像包括与所述参考像素相对应的第二测试 像素;以及至少部分地基于所述第一测试像素的像素值和所述第二测试像素的像素值来计算由 所述闪光灯用于后续图像捕获的照明量。
14.根据权利要求13所述的闪光模块,其中,所述处理器包括具有用于执行所述获得、 标识和所述计算的编程代码的软件程序。
15.根据权利要求13所述的闪光模块,其进一步包括中性密度过滤器,其中,通过由具 有脉冲宽度的触发脉冲使得所述闪光灯提供闪光强度,可获得由所述闪光灯用于后续图像 捕获的照明量,其中,当所述脉冲宽度小于门限值时,应用所述中性密度过滤器来减少所述 闪光强度,同时增加所述脉冲宽度,以便维持所述闪光灯的照明量。
16.根据权利要求13所述的闪光模块,其进一步包括光圈,其中,通过由具有脉冲宽度 的触发脉冲使得所述闪光灯提供闪光强度,可获得由所述闪光灯用于后续图像捕获的照明 量,其中,当所述脉冲宽度小于门限值时,应用所述光圈来减少所述闪光强度,同时增加所 述脉冲宽度,以便维持所述闪光灯的照明量。
17.一种计算机可读存储介质,其中嵌入了用于在照相机中使用的软件程序,所述软件 程序包括用于执行权利要求1的方法的编程代码。
18.一种照相机,其包括如权利要求11中所定义的闪光模块;成像传感器;以及光学模块,所述光学模块用于在所述成像传感器上形成图像,其中,所述成像传感器被 配置以便提供所述图像数据。
19.一种设备,其包括用于在不使用闪光灯的情况下捕获第一测试图像以及使用具有预定强度的闪光灯来 捕获第二测试图像的装置;用于获得指示所述第二测试图像与所述第一测试图像之差的差别图像的装置,其中, 所述差别图像包括多个差别图像像素,每个差别图像像素具有像素值;用于标识所述差别图像像素当中的参考像素的装置,其中,所述第一测试图像包括与 所述参考像素相对应的第一测试像素,并且所述第二测试图像包括与所述参考像素相对应 的第二测试像素;以及用于至少部分地基于第一测试像素的像素值和第二测试像素的像素值来计算由所述 闪光灯用于后续图像捕获的照明量的装置,其中,至少部分地基于所述差别图像像素当中 的最高像素值来标识所述参考像素。
20.根据权利要求19所述的设备,其进一步包括用于在标识所述参考像素之前,移除所述差别图像中属于比预定尺寸更小的物体的一 个或多个所述差别图像像素,以及移除所述差别图像中属于反射物体的一些所述差别图像 像素的装置。
全文摘要
一种用于控制照相机闪光灯的自动曝光算法,其使用图像处理来标识受到闪光灯影响的图像的重要区域,同时忽视高度反射/照明区域,并且使用ND过滤器来使得在高度反射场景情况下的闪光灯触发线性化。照相机闪光灯由两个阶段中的自动曝光算法来控制预闪光阶段,之后是主闪光阶段。在预闪光阶段,在关于曝光时间、增益、光圈和分辨率方面的相同照相机设置下捕获两个图像。一个图像是在具有闪光灯的情况下捕获的并且一个是在没有闪光灯的情况下捕获的。根据这两个图像之差,使用参考像素来确定主闪光阶段中的闪光强度。
文档编号G06T5/50GK101889435SQ200880119755
公开日2010年11月17日 申请日期2008年12月19日 优先权日2007年12月21日
发明者A·埃瓦诺夫, E·基里洛夫, I·瓦西列夫, P·特里维廉 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1