用于贝尔滤光片数组影像的彩色补插值法的制作方法

文档序号:7958691阅读:327来源:国知局
专利名称:用于贝尔滤光片数组影像的彩色补插值法的制作方法
技术领域
本发明涉及一种彩色补插值方法,尤其涉及一种贝尔(Bayer)数组补插值法。本发明可应用于一影像处理装置以及影像处理方法。
背景技术
人类的视觉系统具有三种视锥长视锥、中视锥以及短视锥。该等视锥系分别可感应对应至红色、绿色以及蓝色光的波长。人类脑中的视觉皮质可从这三种的视锥中得到讯号,然后再将实行补插值(interpolation)以形成一个成形的影像。人类视觉系统的生物结构的重要性在于可将要进行处理的大量的、全部的可见光谱戏剧性地转换成只有红、蓝和绿三原色。
因此,在数字相机中的数字影像感应器也设计成类似于人类视觉系统的视锥。一种最常用的影像感应器数组是由贝尔博士(Bryce E.Bayer)于美国专利公告号3,971,065所揭示,称之为贝尔(Bayer)滤光片感应器数组100,该贝尔滤光片感应器数组位于一贝尔样态影像感应器10中,如图1所示。一贝尔滤光片数组100具有放置于该影像感应器上的红、绿、和蓝三种彩色过滤小透镜,以分别获取长、中和短波长的光谱信息。此外,该贝尔滤光片数组即为将绿色信息取样为梅花状,而红色和蓝色资料则取样为矩形状。该绿色数据是在一较高频率下取样,这是因为人类的视觉系统对于中波长有较高的敏锐度。在一单一的影像感应器中,其它二色(红和蓝)所缺少的彩色信息就会使用邻近像素的彩色值来进行补插值的动作。
图2是显示了用于该3×3贝尔滤光片数组的彩色补插值的例子。例子中的第1种和第4种数组是以绿色为中心,所以要被进行补插值的彩色元素有红色和蓝色。例子中的第2种是以红色为中心,所以要被进行补插值的彩色元素有绿色和蓝色。例子中的第3种数组是以蓝色为中心,所以要被进行补插值的彩色元素有绿色和红色。
为了方便说明,每一个位于贝尔3×3数组例子中的像素被指定为图3中的数字。
在习知技术中,一种贝尔数组补插值的方法使用所谓的线性补插值法,而每一个贝尔数组中所缺少的像素是以下列方式进行补插值
例子1中R=(a3+a5)/2B=(a1+a7)/2例子2中G=(a1+a3+a5+a7)/4B=(a0+a2+a6+a8)/4例子3中G=(a1+a3+a5+a7)/4R=(a0+a2+a6+a8)/4例子4中R=(a1+a7)/2B=(a3+a5)/2另一种习知的贝尔数组补插值法公开于美国专利公告号5,382,976以及5,373,322。上述所公开的内容是使用边缘信息来决定待用来补插值的相邻像素。所述的方法如图4所示。所述方法的过程首先输入一3×3贝尔样态区块(步骤S10)。在步骤S12中,依据图2所显示的4种数组来决定所输入的贝尔区块是属于那图2的那一种。在步骤S14中,贝尔数组的范例被分成二种以绿色像素为中心的以及非以绿色像素为中心的。如果中心像素不是绿色像素,则属于第2种和第3种的贝尔数组,因此,在步骤16中,计算绿色像素的差异值,即H_diff=|a3-a5|以及V_diff=|a1-a7|.
在步骤S20中,对该缺少的绿色像素进行补插值,即如果H_diff<V_diffG=(a3+a5)/2否则,如果V_diff<H_diffG=(a1+a7)/2否则G=(a1+a3+a5+a7)/4.
在步骤S22中,对该缺少的红色或蓝色像素进行补插值,即如果是例子IIB=(a0+a2+a6+a8)/4
否则,如果是例子IIIR=(a0+a2+a6+a8)/4.
另一方面,如果中心像素是绿色,则在步骤S18中,对缺少的红色和绿色进行补插值,即如果是例子IR=(a3+a5)/2B=(a1+a7)/2否则,如果是例子IVR=(a1+a7)/2B=(a3+a5)/2然而,如果藉由使用上述的方法进行贝尔彩色滤光片数组所缺少的彩色像素补插值的话,在所有三元的像素的色彩差异就会变得很大,并且会在高变动的边缘造成不舒适的色差。此外,为了要重新建构较佳的缺少的像素,美国专利公告号5,373,322和6,549,233都教示了一种较宽的贝尔滤光片数组,其具有更多相邻的像素,但使用上述专利的方法将会大幅地增加施行于硬件上的成本。D.Alleysson,S.Susstrunk以及J.Herault等人是在2005年四月号IEEE影像处理会刊第十四卷第四号第439-449页教示「人类视觉系统所造成的线性译码赛克(Linear Demosaicing)」。D.Alleysson等人所公开的内容为更复杂的贝尔滤光片数组补插值法,其需要可在频域中施行的补插值处理。Endo等人在美国专利公告案US 6,853,748号以及Acharya在美国专利公告案US6,917,381中,教示了用于该贝尔数组补插值法的乘法和除法,但其亦会增加施行于硬件上的成本。

发明内容
本发明的一目的是在解决上述的问题,并提供一种用于贝尔滤光片数组影像的彩色补插值法,其不但只使用一3×3的像素区块,而且也提供了藉由同时施行边缘和彩色差异信息来进行正确的重建。
本发明藉由提供一种贝尔滤光片的彩色补插值法来达到上述的目的。该方法首先输入一个具有一中心像素的3×3贝尔样态区块。接着,依据中心像素的种类来决定一彩色滤光片补插值的例子(case)。接着,获得彩色滤光片补插值例子的水平方向和垂直方向的贝尔像素平均,以及获得彩色滤光片补插值例子的水平方向和垂直方向的贝尔像素的差异值(difference)。接着,对于在水平以及垂直方向的中心像素的缺少的彩色元素进行补插值。接着,基于该贝尔像素差异值以及平均,获得在水平以及垂直方向的彩色差异值(color differences)。接着,决定该3×3贝尔像素区域的一素像活动(pixel activity)。最后,当该素像活动为高时,选择在较低彩色差异值的方向中的该已补插值的彩色元素;当该像素活动是较低时,决定在水平以及垂直方向的贝尔像素差异值;其中如果该在一方向的差异值是远大于另一个时,在该贝尔像素差异值的较低的贝尔像素差异值方向中,选择彩色补插值的结果;以及如果该在水平以及垂直方向的像素差异值没有明显地不同时,把该贝尔像素平均当成是已补插值彩色来使用。
本发明有下列三个优点1.因为该缺少的彩色是在某一特定方向进行补插值,该方向所给予的要不是比较低的彩色差异值,就是较低的像素差异值,因此该已补插值后的影像将从该彩色差异值中拥有较低的视觉干扰。
2.因为在补插值处理的过程中,只有使用到3×3的像素区域,所以硬件实行的复杂度相对于5×5的像素区域的补插值法而言可被大幅地降低。
3.该补插值过程只涉及到简单的数学运算,例如加、减以及逻辑位运算,因此施行于硬件上的成本相对于由Endo等人以及Acharya等人所教示的乘和除的补插值法而言可大幅地缩减。
在下述的详细描述中,藉由一实施例配合图式将可充份地了解本发明,但该实施例并非用以限制本发明。


图1是显示贝尔滤光片感应器数组;图2是显示该3×3贝尔滤光片数组的彩色补插值例子;图3是显示在一3×3贝尔数组的像素号码;图4为显示使用边缘信息进行贝尔数组补插值法的步骤流程图;图5A和图5B为显示本发明的贝尔数组补插值法的步骤流程图;图6A和图6B为显示本发明的贝尔数组补插值法的一较佳实施例的流程图;图7为示例地说明一贝尔影像及其彩色补插值的顺序。
附图标号说明输入一3×3贝尔样态区域-10;决定对于中心像素补插值的例子-12;中心是否为绿色像素14-;计算在水平和垂直方向绿色像素的差异值-16;使用线性过滤法对缺少的红色和蓝色像素进行补插值-18;在较低像素差异的方向进行绿色像素的补插值-20;使用线性过滤法,对于缺少的红色或蓝色像素进行补插值-22;输入一具有中心像素在(x,y)的3×3贝尔样态区域-110;决定对于中心像素补插值的例子-112;计算贝尔像素差异值-114;计算像素平均-116;计算在水平及垂直方向中心像素的缺少的彩色-118;计算在水平及垂直方向的彩色差异值-120;决定该3×3贝尔像素区域的像素活动-122;像素活动较高-124;选择较低彩色差异的方向的彩色补插值-126;决定在水平以及垂直方向的贝尔像素差异值-128;差异值是否明显-130;选择较低的贝尔像素差异方向的彩色补插值的结果-132;使用已补插值的像素平均-134;输入一贝尔样态影像-200;使y=1-202;使x=1-204;决定贝尔补插值的例子-206;计算h_diff,v_diff和g_diff-208;计算h_ave,v_ave和corner_ave-210;对缺少的彩色进行水平补插值-212;计算h_color_diff-214;对缺少的彩色进行垂直补插值-216;计算v_color_diff-218;g_diff是否同时大于h_diff & v_diff-222;是否h_color_diff<v_color_diff-224;选择水平已补插值的彩色-226;选择垂直已补插值的彩色-228;是否h_diff<v_diff ?-230;是否v_diff<h_diff?-232;使用线性已补插值的彩色-234;使x=x+1-236;是否x<(寛-1)-238;使y=y+1-240;是否y<(高-1)-242;贝尔影像-700;3×3像素区域-710;中心像素-711。
具体实施例方式
本发明是公开一种用于贝尔滤光片数组的影像的彩色补插值法,该方法不但只有使用一3×3像素区域,而且还藉由同时实行边缘以及彩色差异信息来改善重建的正确性。
图5A和图5B是显示本发明用于一贝尔数组补插值法的步骤流程图。该步骤首先输入一具有中心像素在(x,y)位置的一3×3贝尔样态区块,如步骤S110所示。
在步骤S112中,依据该中心像素的种类来决定一彩色滤光片补插值的例子。该贝尔补插值的例子就如同在图2所显示的一般。
在步骤S114中,计算该彩色滤光片补插值例子在水平以及垂直方向的贝尔像素差异值(difference)。
在步骤S116中,获得该彩色滤光片补插值例子的贝尔像素平均。有关用于计算贝尔像素差异值以及平均的方法将在下述的较佳实施例中进一步讨论。
在步骤S118中,对于该中心像素的缺少的彩色元素进行水平以及垂直方向的补插值。
在步骤S120中,依据该已补插值的结果(包括了该贝尔像素差异值和平均),计算在水平以及垂直方向的彩色差异值。
在步骤S122中,决定该3×3像素区域的一像素活动。
在步骤S124中,如果有一较高的像素活动,则该方法进行步骤S126;否则该方法进行步骤S128。
在步骤S126中,选择在较低彩色差异值的方向的已补插值彩色元素。
反之,如果有一个较低的像素活动,则决定在水平以及垂直方向的贝尔像素差异值,如步骤S128所示。
在步骤S130中,如果在一方向的差异值是远大于另一个的话,则该方法进行步骤S132;否则该方法进行步骤S134。
在步骤S132中,选择在该贝尔像素差异值中较低的贝尔像素差异值方向的该彩色补插值的结果。
然而,如果在水平以及垂直方向的像素差异值没有非常大的话,则使用像素平均值作为该已补插值彩色,即步骤S134。
实施例1图6A和图6B是显示本发明贝尔数组补插值方法的一较佳实施例的流程图。如步骤S200所示,输入一贝尔样态影像,并且该3×3像素区域的中心像素的一起始坐标设定成如步骤S202的y=1以及步骤S204的x=1。
图7为用于说明一贝尔影像以及该彩色补插值的顺序的示意图。如图7所示,该贝尔影像700的尺寸是寛乘高。图7是进一步显示一3×3像素区域710以及其中心像素711为灰阶。该彩色补插值的顺序是如箭头所示的雷射方向。
在步骤S206中,基于如图2所示的内容,决定该贝尔补插值的例子。
在步骤S208中,一绿色像素差异值、水平像素差异值以及垂直像素差异值是藉由参考图3中的3×3像素区域来计算之。该水平像素差异值(h-diff)以及垂直像素差异值(v-diff)分别如下所示h_diff=|a0+2×a3+a6-a2-2×a5-a8|,以及v_diff=|a0+2×a1+a2-a6-2×a7-a8|。
然而,依据该贝尔例子的不同,来获得该绿色像素差异值(g_diff)。如果该贝尔例子是例子1或例子4,则该绿色像素差异值(g_diff)为如下所示g_diff=|a4-(a0+a2+a6+a8)/4|
反之,如果该贝尔例子是例子2或例子3,则g_diff为如下所示g_diff=|a1+a7-a3-a5|/2在步骤S210中,分别计算一水平像素平均h_ave、垂直像素平均v_ave以及中心像素平均corner_ave,如下所示h_ave=(a3+a5)/2,v_ave=(a1+a7)/2,以及corner_ave=(a0+a2+a6+a8)/4在步骤S212中,依据该贝尔例子,该中心像素缺少的彩色元素在水平方向进行插值,如下所示例子I在红色列中,绿色为中心R_h=h_aveB_h=clip(a4+v_ave-corner_ave)例子II红色为中心G_h=h_aveB_h=clip(G_h+corner_ave-v_ave)例子III蓝色为中心G_h=h_aveR_h=clip(G_h+corner_ave-v_ave)例子IV蓝色列中,绿色为中心R_h=clip(a4+v_ave-corner_ave)B_h=h_ave在上述方程式中,该括号(x)(clip(x))是用来确定在括号内的值限制在0-255之间,如果每一个值是用8bit来表示的话。该括号(x)如下所示如果x<0,则X=0;如果x>255,则X=255;否则x=x在步骤S214中,是从在步骤S212的水平补插值彩色元素中,计算该水平彩色差异值,如下所示例子Ih_color_diff=|a4-R_h|+|a4-B_h|例子II
h_color_diff=|G_h-a4|+|G_h-B_h|例子IIIh_color_diff=|G_h-R_h|+|G_h-a4|例子IVh_color_diff=|a4-R_h|+|a4-B_h|同样地,在步骤S216中,是垂直地插值该中心像素的缺少彩色元素,为例子I在红色列中,绿色为中心R_v=clip(a4+h_ave-corner_ave)B_v=v_ave例子II红色为中心G_v=v_aveB_v=clip(G_v+corner_ave-h_ave)例子III蓝色为中心G_v=v_aveR_v=clip(G_v+corner_ave-h_ave)例子IV在蓝色列中,绿色为中心R_v=v_aveB_v=clip(a4+h_ave-corner_ave)在步骤S218中,是从在步骤S216的垂直补插值彩色元素中,计算该垂直彩色差异值,如下所示例子Iv_color_diff=|a4-R_v|+|a4-B_v|例子IIv_color_diff=|G_v-a4|+|G_v-B_v|例子IIIv_color_diff=|G_v-R_v|+|G_v-a4|例子IVv_color_diff=|a4-R_v|+|a4-B_v|在计算该像素差异值以及对水平和垂直方向的缺少的彩色进行补插值后,该被选择为缺少的彩色值的已插值结果是由下述所决定。
在步骤S222中,该绿色像素差异值g_diff是与该水平像素差异值h_diff以及垂直差异值v_diff比较,以决定该像素活动。
如果g_diff是同时大于h_diff以及v_diff,则该水平彩色差异值h_color_diff以及垂直彩色差异v_color_diff被相互的比较,如步骤S224所示。
如果h_color_diff是小于该v_color_diff,则在步骤S226中选择步骤S212中的水平补插值彩色值。反之,如果h_color_diff并没有大于v_diff,则在步骤S228中选择步骤S216的垂直补插值彩色值。然后,该补插值的程序直接跳到步骤S236。
然而,如果没有满足在步骤S222中的条件比较,则在步骤S230以及步骤S232中,进一步比较h_diff以及v_diff。如果h_diff是小于v_diff(步骤S230),则在步骤S226中选择步骤S212的水平补插值彩色值。反之,如果v_diff是小于该h_diff(步骤S232),则在步骤S228中选择步骤216的垂直补插值彩色值。不过,如果该条件比较并没有同时满足S230以及S232时,该缺少的彩色值将会进行如下的线性补插值例子I在红色列中,绿色为中心R_v=h_aveB_v=v_ave例子II红色为中心G_v=(h_ave+v_ave)/2B_v=corner_ave例子III蓝色为中心G_v=(h_ave+v_ave)/2R_v=corner_ave例子IV蓝色列中,绿色为中心R_v=v_aveB_v=h_ave如果v_diff等于h_diff,则使用线性已补插值的彩色。在对于中心像素在坐标(x,y)进行该缺少的彩色元素补插值后,该水平坐标x以x=x+1方式来增加(步骤236)。如果x仍然是小于寛-1(步骤S238),则该补插值程序回到步骤S206。然而,如果在步骤S238的条件没有满足的话,则垂直坐标y以y=y+1方式来增加,且在步骤S242中,y与高-1(hight-1)进行比较。如果满足步骤S242的条件,则补插值程序回到步骤S204;反之,如果没有满足步骤S242的条件,则完成贝尔影像的缺少的彩色补插值。
权利要求
1.一种用于贝尔滤光片数组影像的彩色补插值法,其特征在于,包括下列步骤输入具有一中心像素的一3×3贝尔样态区域;依据该中心像素的种类,决定一彩色滤光片补插值的例子;获得该彩色滤光片补插值的例子在水平以及垂直方向的贝尔像素平均和贝尔像素差异值;对在水平和垂直方向的该中心像素缺少的彩色元素进行补插值;决定该3×3贝尔像素区域的一像素活动;以及当该像素活动是较高时,在较低彩色差异值的方向中选择已补插值的彩色元素。
2.如权利要求1所述的用于贝尔滤光片数组影像的彩色补插值法,其特征在于,该方法更包括下列步骤当该像素活动是较低时,决定在水平以及垂直方向的贝尔像素差异值;其中如果该在一方向的差异值是远大于另一个时,在该贝尔像素差异值的较低的贝尔像素差异值方向中,选择彩色补插值的结果;以及如果该在水平以及垂直方向的像素差异值没有明显地不同时,把该贝尔像素平均当成是已补插值彩色来使用。
3.如权利要求1所述的用于贝尔滤光片数组影像的彩色补插值法,其特征在于,该获得在水平以及垂直方向的贝尔像素平均以及贝尔像素差异值的步骤进一步包括下列步骤参考下列的3×3像素区域,计算一绿色像素差异值g_diff、水平像素差异值h_diff以及垂直像素差异值v_diff,该3×3像素区域为a0 a1 a2a3 a4 a5a6 a7 a8其中,该水平像素差异h_diff以及垂直差异v_diff分别如下所示h_diff=|a0+2×a3+a6-a2-2×a5-a8|,以及v_diff=|a0+2×a1+a2-a6-2×a7-a8|;如果该贝尔例子是以绿色为中心,依据该贝尔例子,获得该绿色像素差异值g_diff,则该g_diff为g_diff=|a4-(a0+a2+a6+a8)/4|,如果该贝尔例子是红色或蓝色,则g_diff为g_diff=|a1+a7-a3-a5|/2;计算一水平像素平均h_ave,垂直像素平均v_ave和角隅像素平均corner_ave,其分别为h_ave=(a3+a5)/2,v_ave=(a1+a7)/2,以及corner_ave=(a0+a2+a6+a8)/4。
4.如权利要求1所述的用于贝尔滤光片数组影像的彩色补插值法,其特征在于,对该中心像素的缺少的彩色元素进行补插值的步骤中,进一步包括下列步骤依据该不同的贝尔例子,对该中心像素水平方向的缺少的彩色元素包括红R_h,蓝B_h,绿G_h,进行补插值,如果该贝尔例子是在红色列中,绿色为中心时,R_h=h_ave,B_h=clip(a4+v_ave-corner_ave),如果贝尔例子是红色为中心时,G_h=h_ave,B_h=clip(G_h+corner_ave-v_ave),如果贝尔例子是蓝色为中心时,G_h=h_ave,R_h=clip(G_h+corner_ave-v_ave),如果贝尔例是子在蓝色列中,绿色为中心时,R_h=clip(a4+v_ave-corner_ave),B_h=h_ave,其中,括号(x)的函数如下所示如果x<0,则X=0,如果x>255,则X=255,否则x=x;从该水平已补插值的彩色元素中,计算该水平彩色差异值h_color_diff,如果贝尔例子是在红色列中,绿色为中心时,h_color_diff=|a4-R_h|+|a4-B_h|,如果贝尔例子是红色为中心时,h_color_diff=|G_h-a4|+|G_h-B_h|,如果贝尔例子是蓝色为中心时,h_color_diff=|G_h-R_h|+|G_h-a4|,如果贝尔例子是蓝色列中,绿色为中心时,h_color_diff=|a4-R_h|+|a4-B_h|依据该不同的贝尔例子,对该中心像素垂直方向的缺少的彩色元素包括红R_h,蓝B_h,绿G_h,进行补插值,如果该贝尔例子是在红色列中,绿色为中心时,R_v=clip(a4+h_ave-corner_ave),B_v=v_ave,如果贝尔例子是红色为中心时,G_v=v_ave,B_v=clip(G_v+corner_ave-h_ave),如果贝尔例子是蓝色为中心时,G_v=v_ave,R_v=clip(G_v+corner_ave-h_ave),如果贝尔例子是蓝色列中,绿色为中心时,R_v=v_ave,B_v=clip(a4+h_ave-corner_ave);以及从该水平已补插值的彩色元素中,计算垂直彩色差异v_color_diff,如果贝尔例子是在红色列中,绿色为中心时,v_color_diff=|a4-R_v|+|a4-B_v|,如果贝尔例子是红色为中心时,v_color_diff=|G_v-a4|+|G_v-B_v|,如果贝尔例子是蓝色为中心时,v_color_diff=|G_v-R_v|+|G_v-a4|,如果贝尔例子是蓝色列中,绿色为中心时,v_color_diff=|a4-R_v|+|a4-B_v|。
5.如权利要求1所述的用于贝尔滤光片数组影像的彩色补插值法,其特征在于,决定该3×3贝尔像素区域的像素活动步骤中,进一步包括该绿色像素差异值g_diff是与该水平像素差异值h_diff以及垂直差异值v_diff做比较,以决定该像素活动;如果g_diff是同时大于h_diff以及v_diff,则该水平彩色差异值h_color_diff以及垂直彩色差异值v_color_diff被相互的比较;如果h_color_diff是小于该v_color_diff,则选择该水平已补插值的彩色值;如果h_color_diff是不小于该v_color_diff,选择该垂直已补插值的彩色值。
6.如权利要求1或4所述的用于贝尔滤光片数组影像的彩色补插值法,其特征在于,决定该3×3贝尔像素区域的像素活动步骤中,该绿色像素差异值g_diff是与该水平像素差异值h_diff以及垂直差异值v_diff做比较,以决定该像素活动,更包括下列步骤如果g_diff并不是大于h_diff以及v_diff,则比较h_diff和v_diff,以决定该像素活动;如果h_diff是小于v_diff,则选择该水平已补插值的彩色值;如果v_diff是小于h_diff,则选择该垂直已补插值的彩色值;以及如果v_diff等于h_diff,则使用线性已补插值的彩色。
全文摘要
本发明是公开一种用于贝尔滤光片数组影像的彩色补插值法。该方法首先输入一具有一中心像素的3×3贝尔样态区域。接着,依据该中心像素的种类,决定一彩色滤光片补插值的例子;接着,获得该彩色滤光片补插值的例子在水平以及垂直方向的贝尔像素平均和贝尔像素差异值;接着,对在水平和垂直方向的该中心像素的缺少的彩色元素进行补插值;接着,决定该3×3贝尔像素区域的一像素活动;最后,当该像素活动是较高时,在较低彩色差异的方向中选择已补插值的彩色元素。
文档编号H04N9/04GK101047862SQ200610066530
公开日2007年10月3日 申请日期2006年3月30日 优先权日2006年3月30日
发明者林文国 申请人:绘展科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1