白平衡的调整系统及调整方法
技术领域
本发明涉及于图像处理领域,更具体而言,涉及一种兼容RGB颜色空间和CMY颜色空间的白平衡的调整系统及一种白平衡的调整方法。
背景技术
目前,光学传感器(如CMOS传感器)一般应用RGB颜色空间和CMY颜色空间进行设计。
RGB颜色空间:RGB模型是从颜色发光原理来设计、实现的一种颜色标准,通过对R、G和B颜色通道的变化和互相叠加实现各种颜色的显示。设计原理简单易于实现,成为目前CMOS传感器运用最为广泛的颜色模型。
CMY颜色空间:CMY模型产生的颜色被称为相减色,由于CMY颜色空间正好与RGB颜色空间互补,即用白色减去RGB颜色空间中某一颜色就等于同样颜色在CMY颜色空间的值,故亦可称为补色。由于该颜色空间下,可以较好的提高图像的动态范围并且减小一定的噪声,使CMY颜色空间在CMOS传感器设计中得到应用。
目前,在光学传感器实现白平衡时,在CMY颜色空间传感器设计中,根据CMY颜色空间与RGB颜色空间的互补关系,采用相应的转换公式,将CMY颜色空间转换到RGB颜色空间来实现白平衡的调整。这种情况可以节约CMY颜色空间数据通道,只需和RGB颜色空间通道共用即可,极大的节约了面积。
虽然上述方法简单易于实现,但是其适应性也受到了较大的限制。比如为了实现好的图像效果,像素阵列的结构或者电路的结构会经常被改变,导致上述方法在CMY颜色空间和RGB颜色空间下通道的对应关系发生改变,上述方法将无法正确实现白平衡调整。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明需要提供一种兼容RGB颜色空间和CMY颜色空间的白平衡的调整系统及一种白平衡的调整方法。
一种白平衡的调整系统,包括处理模块及白平衡模块。该处理模块用于对图像数据进行预处理并输出预处理后的该图像数据。该白平衡模块用于接收该处理模块输出的该图像数据。在RGB颜色空间下,该白平衡模块用于对该图像数据进行白平衡计算以得到该图像数据的第一增益值。在CMY颜色空间下,该白平衡模块用于对该图像数据进行像素阵列转换,之后根据RGB颜色空间和CMY颜色空间的转换矩阵,在CMY颜色空间下对该图像数据进行白平衡计算以得到该图像数据的第二增益值。该处理模块用于接收该第一增益值或该第二增益值,并根据该第一增益值或该第二增益值对该图像数据进行白平衡调整。
上述白平衡的调整系统在CMY颜色空间下进行像素阵列转换后,根据RGB颜色空间和CMY颜色空间的转换矩阵对图像数据进行白平衡计算,使在CMY颜色空间下得到的增益值与RGB颜色空间的颜色通道相对应,如此,能够正确实现白平衡调整。
在一个实施方式中,在CMY颜色空间下,该白平衡模块用于将C通道的像素值和M通道的像素值进行交换以对该图像数据进行像素阵列转换。
在一个实施方式中,RGB颜色空间和CMY颜色空间的该转换矩阵为:
R=M+Y-C;
G=C+Y-M;
B=M+C-Y,
其中,R表示R通道的像素值,G表示G通道的像素值,B表示B通道的像素值,C表示C通道的像素值,M表示M通道的像素值,Y表示Y通道的像素值。
在一个实施方式中,在RGB颜色空间下,该白平衡模块用于获取该图像数据的第一参考白点,并计算该图像数据中所有的该第一参考白点的第一平均值、第二平均值及第三平均值,并根据该第一平均值、该第二平均值及该第三平均值,判断各个通道的增益值调整情况以得到该第一增益值。
在一个实施方式中,在CMY颜色空间下,该白平衡模块用于获取该图像数据的第二参考白点,并计算该图像数据中所有的该第二参考白点的第四平均值、第五平均值及第六平均值,并根据该第四平均值、该第五平均值及该第六平均值,判断各个通道的增益值调整情况以得到该第二增益值。
在一个实施方式中,该处理模块包括模拟信号处理单元、数字信号处理单元及反馈单元。该模拟信号处理单元用于接收该图像数据,并根据增益值处理该图像数据,并输出经处理后的该图像数据。该数字信号处理单元用于将该模拟信号处理单元输出的该图像数据转换为数字化的该图像数据,并输出数字化后的该图像数据。该反馈单元用于接收并发送该第一增益值或该第二增益值至该模拟信号处理单元。
一种白平衡的调整方法,包括以下步骤:
S1:处理模块对图像数据进行预处理并输出预处理后的该图像数据,之后进入步骤S2;
S2:白平衡模块接收该处理模块输出的该图像数据,之后进入步骤S3或步骤S4;
S3:在RGB颜色空间下,该白平衡模块对该图像数据进行白平衡计算以得到该图像数据的第一增益值,之后进入步骤S5;
S4:在CMY颜色空间下,该白平衡模块对该图像数据进行像素阵列转换,之后根据RGB颜色空间和CMY颜色空间的转换矩阵,在CMY颜色空间下对该图像数据进行白平衡计算以得到该图像数据的第二增益值,之后进入步骤S6;
S5:该处理模块接收该第一增益值,并根据该第一增益值对该图像数据进行白平衡调整;
S6:该处理模块接收该第二增益值,并根据该第二增益值对该图像数据进行白平衡调整。
在一个实施方式中,步骤S4包括:
在CMY颜色空间下,该白平衡模块将C通道的像素值和M通道的像素值进行交换以对该图像数据进行像素阵列转换。
在一个实施方式中,RGB颜色空间和CMY颜色空间的该转换矩阵为:
R=M+Y-C;
G=C+Y-M;
B=M+C-Y,
其中,R表示R通道的像素值,G表示G通道的像素值,B表示B通道的像素值,C表示C通道的像素值,M表示M通道的像素值,Y表示Y通道的像素值。
在一个实施方式中,步骤S3包括:
在RGB颜色空间下,该白平衡模块获取该图像数据的第一参考白点,并计算该图像数据中所有的该第一参考白点的第一平均值、第二平均值及第三平均值,并根据该第一平均值、该第二平均值及该第三平均值,判断各个通道的增益值调整情况以得到该第一增益值。
在一个实施方式中,步骤S4包括:
在CMY颜色空间下,该白平衡模块获取该图像数据的第二参考白点,并计算该图像数据中所有的该第二参考白点的第四平均值、第五平均值及第六平均值,并根据该第四平均值、该第五平均值及该第六平均值,判断各个通道的增益值调整情况以得到该第二增益值。
在一个实施方式中,该处理模块包括模拟信号处理单元、数字信号处理单元及反馈单元。该模拟信号处理单元用于接收该图像数据,并根据增益值处理该图像数据,并输出经处理后的该图像数据。该数字信号处理单元用于将该模拟信号处理单元输出的该图像数据转换为数字化的该图像数据,并输出数字化后的该图像数据。该反馈单元用于接收并发送该第一增益值或该第二增益值至该模拟信号处理单元。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本发明较佳实施方式的白平衡的调整系统的模块示意图;
图2是本发明较佳实施方式的白平衡的调整系统的原理示意图;
图3是本发明较佳实施方式的白平衡的调整系统的另一个原理示意图;
图4是本发明较佳实施方式的白平衡的调整方法的流程示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐合指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐合地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设定进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设定之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
请参阅图1,本发明较佳实施方式的兼容RGB颜色空间和CMY颜色空间的白平衡的调整系统100包括处理模块102及白平衡模块104。
处理模块102用于对图像数据进行预处理并输出预处理后的该图像数据。作为例子说明,图像数据可来自于光学传感器200(如CMOS传感器)。光学传感器200将光信号转换为电信号,该电信号形成图像数据供白平衡的调整系统100处理。
该白平衡模块104用于接收该处理模块102输出的该图像数据。在RGB颜色空间下,该白平衡模块104用于对该图像数据进行白平衡计算以得到该图像数据的第一增益值。在CMY颜色空间下,该白平衡模块104用于对该图像数据进行像素阵列转换,之后根据RGB颜色空间和CMY颜色空间的转换矩阵,在CMY颜色空间下对该图像数据进行白平衡计算以得到该图像数据的第二增益值。
该处理模块102用于接收该第一增益值或该第二增益值,并根据该第一增益值或该第二增益值对该图像数据进行白平衡调整。
具体地,光学传感器200输出的图像数据一般为模拟信号,处理模块102先要将作为模拟信号的图像数据转换为数字信号,然后对数字信号进行处理。因此,本实施方式中,处理单元102包括模拟信号处理单元106、数字信号处理单元108及反馈单元110。
该模拟信号处理单元106用于接收该图像数据,并输出经处理后的该图像数据。例如,模拟信号处理单元106对作为模拟信号的图像数据进行例如调制、滤波及放大等必要的处理以获取图像数据的特征参数。初始时,模拟信号处理单元106根据设定的增益值对图像数据进行处理。设定的增益值包括在RGB颜色空间下的设定的增益值,及在CMY颜色空间下的设定的增益值。
在RGB颜色空间下的设定的增益值包括R通道的增益值R_GAIN、G通道的增益值G_GAIN及B通道的增益值B_GAIN。在CMY颜色空间下的设定的增益值包括C通道的增益值C_GAIN、M通道的增益值M_GAIN及Y通道的增益值Y_GAIN。
该数字信号处理单元108用于将该模拟信号处理单元106输出的该图像数据转换为数字化的该图像数据,并输出数字化后的该图像数据。在转换过程中,数字信号处理单元108可对图像数据进行插值等数字图像处理。
该反馈单元110可采用反馈电路,其用于接收并发送该第一增益值或该第二增益值至该模拟信号处理单元106。因此,经过白平衡模块104对图像数据处理后输出的第一增益值及第二增益值可反馈回模拟信号处理单元106,使模拟信号处理单元106能够通过增益反馈来调整图像效果。第一增益值可用于处理RGB颜色空间的图像数据,第二增益值可用于处理CMY颜色空间的图像数据。
当该图像数据为RGB数据时,在RGB颜色空间下,该白平衡模块104用于获取该图像数据的第一参考白点,并计算该图像数据中所有的该第一参考白点的第一平均值、第二平均值及第三平均值,并根据该第一平均值、该第二平均值及该第三平均值,判断各个通道的增益值调整情况以得到该第一增益值。
具体地,请结合图2,首先,1)白平衡模块104根据判断条件:
a1)|R-G|<LIMIT1;
b1)|B-G|<LIMIT2;
c1)|B+R-2*G|<LIMIT3;
标记图像数据中所有的第一参考白点,其中,R表示R通道的像素值,G表示G通道的像素值,B表示B通道的像素值。然后计算所有第一参考白点中的R、G、B的平均值R_AVER(第一平均值)、G_AVER(第二平均值)及B_AVER(第三平均值)。本实施方式中,由于以G通道的像素值为基准,因此,白平衡模块104计算:
a2)R_AVER_SUB=R_AVER-G_AVER;
b2)B_AVER_SUB=B_AVER-G_AVER;
其中,LIMIT1、LIMIT2及LIMIT3的值大小由白平衡的调整系统100的寄存器控制。LIMIT1、LIMIT2及LIMIT3的值大小可根据应用经过大量实验测量获得,目的是为了准确判断各个场景下的参考白点,防止引起误判。
2)白平衡模块104根据a2)及b2)式的平均值的比较判断图像的色偏情况,
a3)R_AVER_SUB>LOCK1;
b3)B_AVER_SUB>LOCK2;
对于理想场景:图像满足条件a3)则说明当前场景为偏红色偏,色温为低色温;同样,若图像满足条件b3)则说明当前场景为偏蓝色偏,色温为高色温。
其中,LOCK1及LOCK2的值大小可由白平衡的调整系统100的寄存器控制。LOCK1及LOCK2的值大小可根据应用经过大量实验测量获得,该LOCK1及LOCK2的值不能设置太小,目的是为了防止发生增益值一个步长的调整对图像色彩影响过大,导致该条件无法满足而引起图像色彩震荡的现象。
3)根据色偏情况的判断,白平衡模块104在设定可调范围内分别调整R通道的增益值R_GAIN和B通道的增益值B_GAIN的大小,G通道的增益值G_GAIN为白平衡的调整系统100的寄存器的写入值,例如,G_GAIN的值可人工写入寄存器,固定不变:
a4)|R_AVER_SUB|<LOCK1;
b4)|B_AVER_SUB|<LOCK2;
若满足条件a4),则白平衡模块104不做R_GAIN的调整,若满足条件b4),则白平衡模块104不做B_GAIN的调整,否则白平衡模块104进行白平衡调整:
a5)满足R_AVER_SUB>0,则R_GAIN-STEP;
b5)满足R_AVER_SUB<0,则R_GAIN+STEP;
c5)满足B_AVER_SUB>0,则B_GAIN-STEP;
d5)满足B_AVER_SUB<0,则B_GAIN+STEP;
其中,STEP为白平衡的调整系统100的寄存器设置的可调步长,可根据偏色程度选择调整速度。
因此,本实施方式中,白平衡模块104输出的第一增益值包括R通道的增益值及B通道的增益值。
当图像数据为CMY数据时,在CMY颜色空间下,该白平衡模块104用于获取该图像数据的第二参考白点,并计算该图像数据中所有的该第二参考白点的第四平均值、第五平均值及第六平均值,并根据该第四平均值、该第五平均值及该第六平均值,判断各个通道的增益值调整情况以得到该第二增益值。
具体地,如果RGB颜色空间下的像素阵列为BG/GR结构,根据补色定义,CMY颜色空间下的像素阵列为MC/CY结构,所以在模拟信号处理单元106中,RGB颜色空间的通道和CMY颜色空间的通道对应关系为:
A1)R通道→Y数据
B1)G通道→C数据
C1)B通道→M数据
其中,R通道、G通道和B通道是根据在RGB颜色空间下接收对应的数据定义,为了表示在CMY颜色空间下共用数据通道,所以在CMY颜色空间下对R通道、G通道和B通道不作名称的更改。
1)请结合图3,白平衡模块104将C通道的像素值C和M通道的像素值M进行交换以对图像数据进行像素阵列转换,对应关系变为:
R通道→Y数据;G通道→M数据;B通道→C数据。
2)推导在CMY颜色空间的第二参考白点的判断条件,根据RGB颜色空间和CMY颜色空间的多个转换矩阵的其中一种转换矩阵:
A2)R=M+Y-C
B2)G=C+Y-M
C2)B=M+C-Y
得到:
A3)|R-G|=|(M+Y-C)-(C+Y-M)|=2*|M-C|
B3)|B-G|=|(M+C-Y)-(C+Y-M)|=2*|M-Y|
C3)|B+R-2*G|=|(M+C-Y)+(M+Y-C)-2*(C+Y-M)|=2*|2*M-C-Y|
3)根据判断公式A3)、B3)及C3),代入RGB颜色空间的第一参考白点的判断公式a1)、b1)及c1)进行CMY颜色空间的图像数据的第二参考白点的检测:
A4)|Y-M|<LIMIT1;
B4)|C-M|<LIMIT2;
C4)|C+Y-2*M|<LIMIT3;
白平衡模块104判断同时满足以上A4)、B4)及C4)条件的像素点标记为第二参考白点。其中,LIMIT1、LIMIT2、LIMIT3与RGB颜色空间下的LIMIT1、LIMIT2、LIMIT3可为同一寄存器或不同寄存器控制,较佳地,为同一寄存器控制。值的大小为在CMY颜色空间下测量获得。采用条件A4)、B4)及C4)的目的是为了找到CMY三个分量相差比较小的像素点。由于LIMIT1、LIMIT2和LIMIT3都为寄存器的可调阈值,在RGB颜色空间和CMY颜色空间可分别设置不同大小的值即可。
4)白平衡模块104分别计算图像中所有的第二参考白点的C、M和Y平均值:
根据所标记的第二参考白点,白平衡模块104计算一幅图像中所有第二参考白点的C、M、Y的平均值:Y_AVER(第四平均值)、M_AVER(第五平均值)、C_AVER(第六平均值)。由于RGB颜色空间是以G通道的像素值G为基准,所以,对应地,在CMY颜色空间下,白平衡模块104以M通道的像素值M为基准。故,白平衡模块计算:
A5)Y_AVER_SUB=Y_AVER-M_AVER;
B5)C_AVER_SUB=C_AVER-M_AVER;
5)根据色偏情况的判断,白平衡模块104在设定可调范围内分别调整Y_GAIN和C_GAIN的大小,M_GAIN为白平衡的调整系统100的寄存器写入值,例如,M_GAIN的值可人工写入寄存器,固定不变:
A6)|Y_AVER_SUB|<LOCK1;
B6)|C_AVER_SUB|<LOCK2;
若满足条件A6),则白平衡模块104不做Y_GAIN的调整,若满足条件B6),则白平衡模块104不做C_GAIN的调整,否则白平衡模块104进行白平衡调整:
A7)满足Y_AVER_SUB>0,则Y_GAIN-STEP;
B7)满足Y_AVER_SUB<0,则Y_GAIN+STEP;
C7)满足C_AVER_SUB>0,则C_GAIN-STEP;
D7)满足C_AVER_SUB<0,则C_GAIN+STEP;
其中,LOCK1、LOCK2的值大小由寄存器控制,其测量方法和在RGB颜色空间下的测量方法相同,其值大小也可设置为与在RGB颜色空间下不同。STEP为寄存器设置的可调步长,可根据偏色程度选择调整速度。
因此,本实施方式中,白平衡模块104输出的第二增益值包括Y通道的增益值及C通道的增益值。
Y通道的增益值Y_GAIN采用R通道反馈到模拟信号处理单元106,C通道的增益值采用B通道反馈到模拟信号处理单元106,其中M通道的增益值M_GAIN大小由寄存器控制,采用G通道反馈到模拟信号处理单元106。
白平衡模块104输出第一增益值或第二增益值的大小至反馈单元110,反馈单元110根据通道对应的方式,将第一增益值或第二增益值输入到相应的颜色通道至模拟信号处理单元106,模拟信号处理单元106根据第一增益值或第二增益值对图像数据进行白平衡调整。
综上所述,上述白平衡的调整系统100在CMY颜色空间下进行像素阵列转换后,根据RGB颜色空间和CMY颜色空间的转换矩阵对图像数据进行白平衡计算,使在CMY颜色空间下得到的增益值与RGB颜色空间的颜色通道相对应,如此,能够正确实现白平衡调整。
进一步地,由于白平衡的调整系统100采用增益反馈来调整图像效果,在处理模块102的3个通道实现方式是相同的,并未带来不利影响。而且白平衡的调整系统100采用了更加直观、简单的方法,进行白平衡调整,如此,可以提升图像处理的速度,并且节约面积。
请参图4,本发明较佳实施方式提供一种白平衡的调整方法。该白平衡的调整方法可由以上实施方式的白平衡的调整系统100实现。具体地,该白平衡的调整方法包括以下步骤:
S1:处理模块102对图像数据进行预处理并输出预处理后的该图像数据,之后进入步骤S2;
S2:白平衡模块104接收该处理模块102输出的该图像数据,之后进入步骤S3或步骤S4;
S3:在RGB颜色空间下,该白平衡模块104对该图像数据进行白平衡计算以得到该图像数据的第一增益值,之后进入步骤S5;
S4:在CMY颜色空间下,该白平衡模块104对该图像数据进行像素阵列转换,之后根据RGB颜色空间和CMY颜色空间的转换矩阵,在CMY颜色空间下对该图像数据进行白平衡计算以得到该图像数据的第二增益值,之后进入步骤S6;
S5:该处理模块102接收该第一增益值,并根据该第一增益值对该图像数据进行白平衡调整;
S6:该处理模块102接收该第二增益值,并根据该第二增益值对该图像数据进行白平衡调整。
在步骤S1中,作为例子说明,图像数据可来自于光学传感器200(如CMOS传感器)。光学传感器200将光信号转换为电信号,该电信号形成图像数据供白平衡的调整系统100处理。
具体地,光学传感器200输出的图像数据一般为模拟信号,处理模块102先要将作为模拟信号的图像数据转换为数字信号,然后对数字信号进行处理。因此,本实施方式中,处理单元102包括模拟信号处理单元106、数字信号处理单元108及反馈单元110。
该模拟信号处理单元106接收该图像数据,并输出经处理后的该图像数据。例如,模拟信号处理单元106对作为模拟信号的图像数据进行例如调制、滤波及放大等必要的处理以获取图像数据的特征参数。初始时,模拟信号处理单元106根据设定的增益值对图像数据进行处理。设定的增益值包括在RGB颜色空间下的设定的增益值,及在CMY颜色空间下的设定的增益值。
在RGB颜色空间下的设定的增益值包括R通道的增益值R_GAIN、G通道的增益值G_GAIN及B通道的增益值B_GAIN。在CMY颜色空间下的设定的增益值包括C通道的增益值C_GAIN、M通道的增益值M_GAIN及Y通道的增益值Y_GAIN。
该数字信号处理单元108将该模拟信号处理单元106输出的该图像数据转换为数字化的该图像数据,并输出数字化后的该图像数据。在转换过程中,数字信号处理单元108可对图像数据进行插值等数字图像处理。
在步骤S3中,当该图像数据为RGB数据时,在RGB颜色空间下,白平衡模块104获取该图像数据的第一参考白点,并计算该图像数据中所有的该第一参考白点的第一平均值、第二平均值及第三平均值,并根据该第一平均值、该第二平均值及该第三平均值,判断各个通道的增益值调整情况以得到该第一增益值。
具体地,请结合图2,首先,1)白平衡模块104根据判断条件:
a1)|R-G|<LIMIT1;
b1)|B-G|<LIMIT2;
c1)|B+R-2*G|<LIMIT3;
标记图像数据中所有的第一参考白点,其中,R表示R通道的像素值,G表示G通道的像素值,B表示B通道的像素值。然后计算所有第一参考白点中的R、G、B的平均值:R_AVER(第一平均值)、G_AVER(第二平均值)及B_AVER(第三平均值)。本实施方式中,由于以G通道的像素值为基准,因此,白平衡模块104计算:
a2)R_AVER_SUB=R_AVER-G_AVER;
b2)B_AVER_SUB=B_AVER-G_AVER;
其中,LIMIT1、LIMIT2及LIMIT3的值大小由白平衡的调整系统100的寄存器控制。LIMIT1、LIMIT2及LIMIT3的值大小可根据应用经过大量实验测量获得,目的是为了准确判断各个场景下的参考白点,防止引起误判。
2)白平衡模块104根据a2)及b2)式的平均值的比较判断图像的色偏情况,
a3)R_AVER_SUB>LOCK1;
b3)B_AVER_SUB>LOCK2;
对于理想场景:图像满足条件a3)则说明当前场景为偏红色偏,色温为低色温;同样,若图像满足条件b3)则说明当前场景为偏蓝色偏,色温为高色温。
其中,LOCK1及LOCK2的值大小可由白平衡的调整系统100的寄存器控制。LOCK1及LOCK2的值大小可根据应用经过大量实验测量获得,该LOCK1及LOCK2的值不能设置太小,目的是为了防止发生增益值一个步长的调整对图像色彩影响过大,导致该条件无法满足而引起图像色彩震荡的现象。
3)根据色偏情况的判断,白平衡模块104在设定可调范围内分别调整R通道的增益值R_GAIN和B通道的增益值B_GAIN的大小,G通道的增益值G_GAIN为白平衡的调整系统100的寄存器的写入值,例如,G_GAIN的值可人工写入寄存器,固定不变:
a4)|R_AVER_SUB|<LOCK1;
b4)|B_AVER_SUB|<LOCK2;
若满足条件a4),则白平衡模块104不做R_GAIN的调整,若满足条件b4),则白平衡模块104不做B_GAIN的调整,否则白平衡模块104进行白平衡调整:
a5)满足R_AVER_SUB>0,则R_GAIN-STEP;
b5)满足R_AVER_SUB<0,则R_GAIN+STEP;
c5)满足B_AVER_SUB>0,则B_GAIN-STEP;
d5)满足B_AVER_SUB<0,则B_GAIN+STEP;
其中,STEP为白平衡的调整系统100的寄存器设置的可调步长,可根据偏色程度选择调整速度。
因此,本实施方式中,白平衡模块104输出的第一增益值包括R通道的增益值及B通道的增益值。
在步骤S4中,当图像数据为CMY数据时,在CMY颜色空间下,该白平衡模块104用于获取该图像数据的第二参考白点,并计算该图像数据中所有的该第二参考白点的第四平均值、第五平均值及第六平均值,并根据该第四平均值、该第五平均值及该第六平均值,判断各个通道的增益值调整情况以得到该第二增益值。
具体地,如果RGB颜色空间下的像素阵列为BG/GR结构,根据补色定义,CMY颜色空间下的像素阵列为MC/CY结构,所以在模拟信号处理单元106中,RGB颜色空间的通道和CMY颜色空间的通道对应关系为:
A1)R通道→Y数据
B1)G通道→C数据
C1)B通道→M数据
其中,R通道、G通道和B通道是根据在RGB颜色空间下接收对应的数据定义,为了表示在CMY颜色空间下共用数据通道,所以在CMY颜色空间下对R通道、G通道和B通道不作名称的更改。
1)请结合图3,白平衡模块104将C通道的像素值C和M通道的像素值M进行交换以对图像数据进行像素阵列转换,对应关系变为:
R通道→Y数据;G通道→M数据;B通道→C数据。
2)推导在CMY颜色空间的第二参考白点的判断条件,根据RGB颜色空间和CMY颜色空间的多个转换矩阵的其中一种转换矩阵:
A2)R=M+Y-C
B2)G=C+Y-M
C2)B=M+C-Y
得到:
A3)|R-G|=|(M+Y-C)-(C+Y-M)|=2*|M-C|
B3)|B-G|=|(M+C-Y)-(C+Y-M)|=2*|M-Y|
C3)|B+R-2*G|=|(M+C-Y)+(M+Y-C)-2*(C+Y-M)|=2*|2*M-C-Y|
3)根据判断公式A3)、B3)及C3),代入RGB颜色空间的第一参考白点的判断公式a1)、b1)及c1)进行CMY颜色空间的图像数据的第二参考白点的检测:
A4)|Y-M|<LIMIT1;
B4)|C-M|<LIMIT2;
C4)|C+Y-2*M|<LIMIT3;
白平衡模块104判断同时满足以上A4)、B4)及C4)条件的像素点标记为第二参考白点。其中,LIMIT1、LIMIT2、LIMIT3与RGB颜色空间下的LIMIT1、LIMIT2、LIMIT3可为同一寄存器或不同寄存器控制,较佳地,为同一寄存器控制。值的大小为在CMY颜色空间下测量获得。采用条件A4)、B4)及C4)的目的是为了找到CMY三个分量相差比较小的像素点。由于LIMIT1、LIMIT2和LIMIT3都为寄存器的可调阈值,在RGB颜色空间和CMY颜色空间可分别设置不同大小的值即可。
4)白平衡模块104分别计算图像中所有的第二参考白点的C、M和Y平均值:
根据所标记的第二参考白点,白平衡模块104计算一幅图像中所有第二参考白点的C、M、Y的平均值:Y_AVER(第四平均值)、M_AVER(第五平均值)、C_AVER(第六平均值)。由于RGB颜色空间是以G通道的像素值G为基准,所以,对应地,在CMY颜色空间下,白平衡模块104以M通道的像素值M为基准。故,白平衡模块计算:
A5)Y_AVER_SUB=Y_AVER-M_AVER;
B5)C_AVER_SUB=C_AVER_M_AVER;
5)根据色偏情况的判断,白平衡模块104在设定可调范围内分别调整Y_GAIN和C_GAIN的大小,M_GAIN为白平衡的调整系统的寄存器写入值,例如,M_GAIN的值可人工写入寄存器,固定不变:
A6)|Y_AVER_SUB|<LOCK1;
B6)|C_AVER_SUB|<LOCK2;
若满足条件A6),则白平衡模块104不做Y_GAIN的调整,若满足条件B6),则白平衡模块104不做C_GAIN的调整,否则白平衡模块104进行白平衡调整:
A7)满足Y_AVER_SUB>0,则Y_GAIN-STEP;
B7)满足Y_AVER_SUB<0,则Y_GAIN+STEP;
C7)满足C_AVER_SUB>0,则C_GAIN-STEP;
D7)满足C_AVER_SUB<0,则C_GAIN+STEP;
其中,LOCK1、LOCK2的值大小由寄存器控制,其测量方法和在RGB颜色空间下的测量方法相同,其值大小也可设置为与在RGB颜色空间下不同。STEP为寄存器设置的可调步长,可根据偏色程度选择调整速度。
因此,本实施方式中,白平衡模块104输出的第二增益值包括Y通道的增益值及C通道的增益值。
Y通道的增益值Y_GAIN采用R通道反馈到模拟信号处理单元106,C通道的增益值采用B通道反馈到模拟信号处理单元106,其中M通道的增益值M_GAIN大小由寄存器控制,采用G通道反馈到模拟信号处理单元106。
在步骤S5中,白平衡模块104输出第一增益值的大小至反馈单元110,反馈单元110根据通道对应的方式,将第一增益值输入到相应的颜色通道至模拟信号处理单元106,模拟信号处理单元106根据第一增益值对图像数据进行白平衡调整。
在步骤S6中,白平衡模块104输出第二增益值的大小至反馈单元110,反馈单元110根据通道对应的方式,将第二增益值输入到相应的颜色通道至模拟信号处理单元106,模拟信号处理单元106根据第二增益值对图像数据进行白平衡调整。
综上所述,上述白平衡的调整方法在CMY颜色空间下进行像素阵列转换后,根据RGB颜色空间和CMY颜色空间的转换矩阵对图像数据进行白平衡计算,使在CMY颜色空间下得到的增益值与RGB颜色空间的颜色通道相对应,如此,能够正确实现白平衡调整。
进一步地,由于白平衡的调整方法采用增益反馈来调整图像效果,在处理模块102的3个通道实现方式是相同的,并未带来不利影响。而且白平衡的调整方法更加直观、简单,进行白平衡调整,如此,可以提升图像处理的速度,并且节约面积。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐合指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐合地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。