具体实施方式
在下文提供的详细描述中,提供众多具体细节以提供对本发明的实施例的彻底理解。然而,所属领域的技术人员将认识到,可在没有所述具体细节中的一者或一者以上的情况下或在其它方法、组件、材料等的情况下实践本发明。在其它例子中,未详细展示或描述众所周知的结构、材料或操作以避免混淆本发明的若干方面。
贯穿本说明书对“一个实施例”或“一实施例”的引用是指结合所述实施例所描述的特定特征、结构或特性包含于本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在一实施例中”在整个本说明书各处出现不一定都是指同一个实施例。此外,在一个或一个以上实施例中,特定特征、结构或特性可以任何合适方式组合。
常规的AWB方法使用色彩空间图,所述色彩空间图含有用于不同照明源的两个或两个以上预定义白色区域。预定义白色区域表征了由色彩空间图中的给定照明源的白色像素占据的空间。换句话说,预定义白色区域是色彩空间图中的区域,可在所述区域中找到特定照明源的所有白色像素。因此,定位白色像素的预定义白色区域会指示与所述像素相关联的照明源。具有用于不同照明源的单独预定义白色区域的色彩空间图可用作用于断定白色像素的照明源的模板。AWB机制也依赖于色彩空间图来选择图像的白色像素。白色像素的红绿蓝(“RGB”)值用于决定是否需要对红色、绿色和蓝色信号进行增益调整以对图像进行白平衡。
与假设在单一照明源下取得图像的常规AWB方法形成对比,本发明的实施例允许在若干照明源的组合下取得图像的可能性。
过程一:允许一个以上照明源的校正
图1根据本发明的教示展示三个预定义白色区域,其被表示为区R1、区R2和区R3,其分别对应于D65(日光)、CWF(冷白荧光)和A(白炽光)照明类型。区R1、R2和R3位于色彩空间图G/B—G/R中。G/B是相对于G信号的B信号的增益(Gain_B),且G/R是相对于G信号的R信号的增益(Gain_R)。在通过图像传感器俘获图像之后,将所述图像的每一像素(例如,P1到P10)映射到色彩空间图G/B—G/R,如图1中所示。所俘获的图像中的像素中的每一者包含红色、绿色和蓝色(“RGB”)子值。仅考虑区R1(例如,P1、P2、P3)、区R2(例如,P4、P5)和区R3(例如,P6、P7)中的像素,且忽视区R1、区R2和区R3之外的像素(例如,P8、P9、P10)。
在常规方法中,选择具有最大数目个像素的区。举例来说,如果区R1具有最大数目个像素(例如,三个像素),那么将假设整个图像是在D65照明下。随后,白色像素将定位在与仅区R1中的像素的平均RGB值相关联的点处。类似地,如果R2具有最大数目个像素,那么将假设整个图像是在CWF照明下。如果R3具有最大数目个像素,那么将假设整个图像是在A照明下。
与常规方法形成对比,在本发明的一个实施例中,假设整体图像是在不同照明类型的组合下,例如,D65、CWF和A的组合。在本发明的一个实施例中,计算区R1(例如,P1、P2、P3)中的像素的平均R、G和B子值,其为R_D65、G_D65和B_D65。类似地,计算区R2(例如,P4、P5)中的像素的平均R、G和B子值,其为R_CWF、G_CWF和B_CWF,且计算区R3(例如,P6、P7)中的像素的平均R、G和B子值,其为R_A、G_A和B_A。将了解,在其它实施例中,可使用其它集中趋势(例如,中值)来取代算术平均计算。
可使用预定义加权因子或基于某一条件来指派用于区R1、R2和R3的加权因子。所述加权因子是W_D65、W_CWF和W_A,其分别对应于R1、R2和R3。在一个实例中,如果相机主要用于在日光环境中取得图片,那么W_D65可大于W_CWF,W_CWF可大于W_A。
可如下计算所得的白色像素的平均RGB值。
Mean_R=(R_D65*W_D65+R_CWF*W_CWF+R_A*W_A)/(W_D65+W_CWF+W_A)
Mean_G=(G_D65*W_D65+G_CWF*W_CWF+G_A*W_A)/(W_D65+W_CWF+W_A)
Mean_B=(B_D65*W_D65+B_CWF*W_CWF+B_A*W_A)/(W_D65+W_CWF+W_A)
....等式(1)
根据本发明的教示,所得的白色像素在色彩空间图G/B—G/R中位于(Gain_B0,Gain_R0)处,其中
Gain_B0=Mean_G/Mean_B
Gain_R0=Mean_G/Mean_R....等式(2)
此定义色彩空间图中校正若干照明源的组合的经校正白色像素的位置。在将白色像素映射到色彩空间图之后,可应用进一步的校正。
过程二:亮度的校正
过程二可提供对白色像素的额外校正。根据本发明的教示,当在过程一中在色彩空间图中的点(Gain_B0,Gain_R0)处找到白色像素之后,所述白色像素可在过程二中从点(Gain_B0,Gain_R0)移动到点(Gain_B1,Gain_R1),其中
Gain_B1=Gain_B0+Delta_B1
Gain_R1=Gain_R0+Delta_R1....等式(3)
如图2中所示。
在过程二中,可基于一些条件来预定义或定义目标(Target_B,Target_R)。图2展示可将校正向量205应用于白色像素,且校正向量205在目标方向上。校正向量205包含图2中所示的Delta_B1分量和Delta_B2分量。为了使图像让眼睛看起来更舒服,可在与D65照明源相关联的区R1中选择目标,所述D65照明源可产生“更温暖的”图像色彩。当然,可选择其它目标。
可如下计算Delta_B1和Delta_R1。
Delta_B1=(Target_B—Gain_B0)*比率
Delta_R1=(Target_R—Gain_R0)*比率....等式(4)
对于与D65照明源相关联的区R1中的目标,举例来说,可通过参看图3来确定比率,图3是(传感器增益*曝光)对比率的曲线图。(传感器增益*曝光)的值对于所取得的图像上的所有R、G和B像素是恒定的。其为图像传感器的全局控制,而不是个别地施加到R、G和B像素。在图3中,Threshold_1和Threshold2可被预定义,或可基于一些条件来定义。如果以较低的(传感器增益*曝光)的值取得图片,那么所述图片可能已在室外环境中取得。因此,选择Threshold_1,使得Threshold_1左边的区与室外环境和比率=1相关联。另一方面,如果以较高的(传感器增益*曝光)的值取得图片,那么所述图片可能已在室内环境中取得。因此,选择Threshold_2,使得Threshold2右边的区与室内环境和比率=0相关联。在Threshold_1与Threshold2之间,比率在1与0之间。
基于在取得图片时的(传感器增益*曝光)的值的读数,可从图3确定图片的比率。如果比率是1,那么(Gain_B0,Gain_R0)处的白色像素朝向(Target_B,Target_R)处的目标移动。如果比率是0,那么(Gain_B0,Gain_R0)处的白色像素不移动。如果0<比率<1,那么(Gain_B0,Gain_R0)处的白色像素移动到如图2中所示的色彩空间图G/B—G/R中的点(Gain_B1,Gain_R1)。换句话说,校正向量205的“量值”对应于比率,且校正向量205的方向是由目标界定。因此,应用校正向量205校正了归因于亮度的色彩空间图中的白色像素的位置。校正向量205的量值可由相机的用户定义。
过程三:色温的校正
在于过程二中通过经由校正向量205将白色像素移位到色彩空间图中的Gain_B1,Gain_R1而对所述白色像素进行校正之后,可进一步移位白色像素。图4展示所述白色像素可在过程三中从Gain_B1,Gain_R1移动到点Gain_B2,Gain_R2,其中
Gain_B2=Gain_B1+Delta_B2
Gain_R2=Gain_R1+Delta_R2....等式(5)
在过程三中,至少两个控制点被预定义或基于一些条件来定义。举例来说,根据本发明的教示,在图5中展示分别在区R1、R2和R3中的三个控制点D0、C0和A0。每一控制点的Gain_B方向和Gain_R方向上的移位可被预定义或基于若干条件来定义。在一个实施例中,所述移位是朝向较高的色温。控制点D0在Gain_B方向上具有是Delta_D65_B的移位,且在Gain_R方向上具有是Delta_D65_R的移位。控制点C0在Gain_B方向上具有是Delta_CWF_B的移位,且在Gain_R方向上具有是Delta_CWF_R的移位。控制点A0在Gain_B方向上具有是Delta_A_B的移位,且在Gain_R方向上具有是Delta_A_R的移位。相应方向上的移位可与用户定义的环境相关联以根据用户偏好来调整图像。
穿过点(Gain_B1,Gain_R1)处的白色像素绘制一条色温线,其平行于穿过至少两个控制点的线。在一个实施例中,色温线510平行于穿过控制点D0和A0的线,如图5中所示。点A0的侧部处的末端是低色温(白炽光=2000K),且点D0的侧部处的末端是高色温(日光=6500K)。点D0、C0和A0分别在点D、C和A处投射在色温线上。
根据本发明的教示,在图6中,色温线是坐标的横坐标,且纵坐标是Gain_B方向上的移位。如果点(Gain_B1,Gain_R1)在色温上的D与C之间,那么点(Gain_B1,Gain_R1)处的白色像素在Gain_B方向上的移位(其为Delta_B2)是D的值(其为Delta_D65_B)与C的值(其为Delta_CWF_B)之间的内插。另一方面,如果点(Gain_B1,Gain_R1)在色温上的C与A之间,那么点(Gain_B1,Gain_R1)处的白色像素在Gain_B方向上的移位(其为Delta_B2)是C的值(其为Delta_CWF_B)与A的值(其为Delta_A_B)之间的内插。
如果点(Gain_B1,Gain_R1)具有高于点D的色温,那么点(Gain_B1,Gain_R1)处的白色像素在Gain_B方向上的移位将与D的值(其为Delta_D65_B)相同且其是超过点D的外插。如果点(Gain_B1,Gain_R1)具有低于点A的色温,那么点(Gain_B1,Gain_R1)处的白色像素在Gain_B方向上的移位将与A的值(其为Delta_A_B)相同且其是超过点A的外插。
类似地,根据本发明的教示,在图7中,色温线是横坐标,且Gain_R方向上的移位是纵坐标。如果点(Gain_B1,Gain_R1)在色温上的D与C之间,那么点(Gain_B1,Gain_R1)处的白色像素在Gain_R方向上的移位(其为Delta_R2)是D的值(其为Delta_D65_R)与C的值(其为Delta_CWF_R)之间的内插。另一方面,如果点(Gain_B1,Gain_R1)在色温上的C与A之间,那么点(Gain_B1,Gain_R1)处的白色像素在Gain_R方向上的移位(其为Delta_R2)是C的值(其为Delta_CWF_R)与A的值(其为Delta_A_R)之间的内插。
如果点(Gain_B1,Gain_R1)具有高于点D的色温,那么点(Gain_B1,Gain_R1)处的白色像素在Gain_R方向上的移位将与D的值(其为Delta_D65_R)相同且其是超过点D的外插。如果点(Gain_B1,Gain_R1)具有低于点A的色温,那么点(Gain_B1,Gain_R1)处的白色像素在Gain_R方向上的移位将与A的值(其为Delta_A_R)相同且其是超过点A的外插。
此校正了归因于色温的色彩空间图中的白色像素的位置。
在一个实施例中,过程三可直接遵循过程一。在此情况下,通过下式定义白色像素(Gain_B2,Gain_R2)的最终位置
Gain_B2=Gain_B0+Delta_B2
Gain_R2=Gain_R0+Delta_R2....等式(6)
且(Gain_B0,Gain_R0)处的白色像素在上文所描述的过程三中取代(Gain_B1,Gain_R1)处的白色像素。
白色像素的最终位置(Gain_B2,Gain_R2)确定AWB的增益,其对于蓝色信号为Gain_B2,且对于红色信号为Gain_R2,而绿色信号用作参考。随后将把AWB的增益(包含校正向量205和/或305)应用于所俘获的图像的像素以校正所述图像。
如上文所描述,过程一校正了归因于若干照明源的组合的色彩空间图中的白色像素的位置,过程二校正了归因于亮度的色彩空间图中的白色像素的位置,且过程三校正了归因于色温的色彩空间图中的白色像素的位置。色彩空间图中的白色像素的最终位置(Gain_B2,Gain_R2)确定B和R信号相对于G信号的增益以用于白平衡。在一个实施例中,仅使用过程一。在一个实施例中,使用过程一和过程二。在一个实施例中,使用过程一和过程三。在一个实施例中,使用全部过程一、过程二和过程三。
图8展示说明根据本发明的教示的考虑到一个以上照明源的白平衡过程800的流程图。过程方框中的一些或全部在过程800中出现的次序不应被视为是限制性的。而是,受益于本发明的所属领域的技术人员将理解,过程方框中的一些可以未说明的多种次序执行,或甚至并行地执行。
在过程方框805中,将图像的像素映射到色彩空间图。可已经在最近从数字图像传感器俘获所述图像且/或将其存储在存储器中。在过程方框810中,计算在色彩空间图的第一预定义区(例如,R1)中所映射的像素的RGB子值中的每一者的第一集中趋势(例如,平均值)。所述第一预定义区与照明源(例如,D65)相关联。而且在过程方框810中,计算在色彩空间图的第一预定义区(例如R2)中所映射的像素的RGB子值中的每一者的第二集中趋势(例如,平均值)。所述第二预定义区也与照明源(例如CWF)相关联。虽然未在图8中展示,但还可计算在色彩空间图的第一预定义区(例如,R3)中所映射的像素的RGB子值中的每一者的第三集中趋势(例如,平均值)。所述第三预定义区可与照明源(例如A)相关联。
在过程方框815中,基于第一和第二集中趋势而产生白色像素的RGB值。如果在过程方框810中计算出与第三预定义区相关联的第三集中趋势,那么基于第一、第二和第三集中趋势而产生白色像素的RGB值。在过程方框820中,将白色像素映射到色彩空间图。在过程方框825中,随后通过校正向量(例如,校正向量205和/或305)来校正白色像素。换句话说,过程二和/或三(上文所描述)可用于校正在过程方框815中产生的白色像素。在过程方框830中,通过将校正向量应用于图像的红色和蓝色子值而对所述图像进行白平衡,而绿色子值用作参考。
图9展示说明根据本发明的教示的校正图像亮度的过程900的流程图。过程方框中的一些或全部在过程900中出现的次序不应被视为是限制性的。而是,受益于本发明的所属领域的技术人员将理解,过程方框中的一些可以未说明的多种次序执行,或甚至并行地执行。
在过程方框905中,在色彩空间图上设定坐标目标。所述坐标目标可处于色彩空间图的“温暖”区中。可由相机的用户设定所述坐标目标。在过程方框910中,基于图像传感器的增益或图像传感器的曝光时间(也叫作积分周期)来确定比率。在一个实施例中,比率是基于增益和曝光时间的组合,如图3中所示。在过程方框915中,将亮度校正向量(例如,校正向量205)应用于白色像素。所述亮度校正向量在白色像素的当前坐标与目标坐标之间移位白色像素的坐标。所述亮度校正向量的量值对应于比率。一旦已知,便可将亮度校正向量应用于图像中的每个像素。
图10展示说明根据本发明的教示的校正色温的过程1000的流程图。过程方框中的一些或全部在过程1000中出现的次序不应被视为是限制性的。而是,受益于本发明的所属领域的技术人员将理解,过程方框中的一些可以未说明的多种次序执行,或甚至并行地执行。
在过程方框1005中,穿过白色像素而映射色彩校正线(例如,色彩校正线510)。所述色彩校正线可平行于两个控制点(例如A0和D0)。在过程方框1010中确定沿着色彩校正线的白色像素的位置。在过程方框1015中,执行基于沿着色彩校正线的白色像素的位置的内插以确定色温校正向量。在一个实施例中,内插是根据图6和7,其中通过图6确定色温校正向量的一个分量,且通过图7确定色温校正向量的另一分量。
上文所阐释的过程是在计算机软件和硬件方面进行描述。所描述的技术可构成在有形或非暂时性机器(例如,计算机)可读存储媒体内体现的机器可执行指令,所述机器可执行指令在由机器执行时将致使机器执行所描述的操作。另外,所述过程可体现于硬件内,所述硬件例如为专用集成电路(“ASIC”)或其它。
有形非暂时性机器可读存储媒体包含以可由机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一个或一个以上处理器的集合的任何装置)存取的形式提供(即,存储)信息的任何机构。举例来说,机器可读存储媒体包含可记录/非可记录媒体(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒体、光学存储媒体、快闪存储器等)。
本发明的所说明实施例的以上描述(包含摘要中所描述的内容)无意是详尽的或将本发明限于所揭示的精确形式。虽然本文出于说明的目的而描述了本发明的特定实施例和实例,但如所属领域的技术人员将认识到的,在本发明的范围内各种修改是可能的。
可鉴于以上详细描述对本发明作出这些修改。所附权利要求书中所使用的术语不应被解释为将本发明限于说明书中所揭示的特定实施例。而是,本发明的范围将完全由所附权利要求书来确定,所附权利要求书将根据权利要求解释的已确立原则来解释。