自适应颜色内插的制作方法

文档序号:7636566阅读:208来源:国知局
专利名称:自适应颜色内插的制作方法
技术领域
大体而言,所揭示的实施例涉及颜色内插。

背景技术
一种数字图像捕获装置-例如数字照相机或具有捕获数字图像能力的蜂窝式电话-包括图像传感器。图像传感器包括传感器二维阵列。称每一传感器位于一“像素位置”。每一传感器检测一种颜色的光的强度。通常有绿色传感器、红色传感器及蓝色传感器。
图1(现有技术)是图像传感器的图式,该图像传感器的传感器布置成称为拜耳(Bayer)模式的流行模式。由于人类观察颜色和图像的方式,使图像传感器相对于对绿色的抽样来对红色和蓝色进行二次抽样通常是有利的。应注意,最上行的传感器包括以交替形式布置的绿色和红色传感器。下一行传感器包括以交替形式布置的绿色和蓝色传感器。沿图像传感器的各行垂直而下,逐行进行传感器的此种排序。相应地,图1所示图像传感器所拥有的绿色传感器多于红色传感器或蓝色传感器。因此,称对红色和蓝色进行二次抽样。在图像传感器上的每一像素位置仅取一个颜色样本值。每一颜色样本值可(例如)为八位值。
图2是显示器的简化图,所述显示器可用于渲染使用图1所示图像传感器捕获的图像。对于图1中的每一传感器而言,在图2中的显示器上显示有三个子像素值。有绿色子像素值、红色子像素值、及蓝色子像素值。每一子像素颜色值可(例如)为八位值。由于在拜耳模式图像传感器中在每一像素位置处仅取样一种颜色,为了获得每一像素位置处的所有三个子像素值,需要为每一像素位置确定其他两个子像素颜色值。需要确定的子像素值被称为“缺失的”子像素值。重新产生缺失的颜色子像素值的过程被称为“去马赛克”或“颜色内插”。
图3(现有技术)图解说明一种简单的传统颜色内插法。假设当前像素位置是位置R33。假定要确定位置R33的绿色子像素值,因为拜耳模式图像传感器仅捕获位置R33的红色样本值。紧位于像素位置R33之上、紧位于位置R33之下、紧位于R33左侧、紧位于R33右侧是具有绿色子像素样本值的像素位置。为了确定像素位置R33的绿色子像素值,取相邻绿色子像素样本值G23、G32、G34和G43的平均值。所述结果是在红色像素位置R33处绿色子像素值应为多少的估计值。
图4(现有技术)图解说明如何确定像素位置R33的蓝色子像素值。从图1应注意,拜耳模式图像传感器产生在相邻的对角线像素位置B22、B24、B42及B44处的蓝色子像素样本值。取这些相邻对角线蓝色子像素样本值的平均值,以得到在红色像素位置R33处蓝色子像素值应为多少的估计值。
图5(现有技术)图解说明使用图3和4所示颜色内插法的问题。假设要显示的图像包括纯红的对象1。对象1布置在纯蓝的背景上。因此,对象1产生跨过像素位置R33的区域的对角线边缘2。在边缘2的上方、左侧有纯蓝。在边缘2的下方、右侧有纯红。如果按照上文图4中所阐释将最近的相邻四个对角线蓝色像素值平均,以在位置R33内插缺失的蓝色子像素值,则会将边缘2两侧的颜色值平均。这将导致边缘一侧上的大蓝色值与边缘另一侧上的小蓝色值混合。使用这种混合来执行颜色插入会减少边缘的清晰度。
为了纠正这一问题,通常获得在像素位置处存在的垂直边缘的量的量度和在像素位置处存在的水平边缘的量的量度。如果确定存在一边缘,则使用所述量度来估计边缘的定向。一旦估计出边缘的定向,则选择不会产生边缘上有害混合的适宜内插函数。
例如,假设获得了在垂直维度中有多大边缘的一量度,并获得了在水平维度中有多大边缘的另一量度。如果所述量度表明垂直边缘大于水平边缘,则应用不会将水平维度中的像素值平均的内插函数。因此,跨过垂直延伸的边缘的平均值趋向于较小。同样地,如果所述量度表明水平边缘大于垂直边缘,则应用不会将垂直维度中的像素值平均的内插函数。因此,跨过水平延伸边缘的平均值趋向于小。通过使用量度来选择适宜的内插函数,保持在最终图像中的边缘清晰度。
可使用不同类型的量度。量度的一个实例是一阶梯度。一阶水平梯度的实例可包括从右侧相邻像素值的像素值中减去左侧的像素值。如果该差值是零,则在两个像素位置之间的水平维度中没有检测到水平梯度。如果所述值大,则检测到大的水平梯度。这种一阶梯度检测在沿一方向延伸的一系列像素值中的像素值的变化。因此,一阶梯度可用作检测边缘的量度。可获得垂直维度的一阶梯度,并可获得水平维度的一阶梯度。然后使用这两个一阶梯度来确定是否存在一边缘,且如果确实存在,则确定边缘的定向如何。
量度的另一实例是二阶梯度。二阶梯度包括不检测在一方向上的像素值的变化,而是包括检测像素值的变化是如何发生变化的。获得沿一方向延伸的相继像素之间的差。如果这些相继差值的大小没有变化,则在所述方向上的二阶梯度为零。另一方面,如果所述差值的大小发生变化,则在所述方向上存在二阶变化。例如,二阶梯度可用于消除对是否存在一边缘的确定中的恒定变化。
除了上述一阶和二阶梯度以外,在传统的颜色内插中还使用其他水平量度和垂直量度。但是无论量度的类型如何,通常将量度用于选择单个最好的内插函数。在某些情形中,这是不需要的,因为其他内插函数可几乎与所选择的内插函数一样好。例如,考虑下述情形,其中在垂直维度中获得量度10,并在水平维度中获得量度9。两个量度彼此相近,然而仅使用垂直内插函数,因为确定出垂直内插函数比水平内插函数更好。
另一技术包括确定在所要内插的像素周围区域中的方向能量的主定向。第6,404,918号美国专利说明一种其中考虑像素邻域的方法。所插入的像素值是一加权和,其中每一邻域像素乘以其自己的加权因数。通过获得至领域像素的向量与主定向向量的向量点积来确定每一加权因数。执行向量点积计算通常包括执行乘法运算。仅计算一个内插像素值便需要许多乘法运算。因此,在某些应用中,主定向向量法是无用的。例如,计算复杂度可能需要额外的硬件,以在可用的时间量中执行所有所需计算。此外,执行所述许多计算可能损耗大量的能量。在一靠电池供电的消费者装置(例如蜂窝式电话)中,延长电池寿命并减少复杂性和成本通常是主要考虑的因素。需要一种解决方案。


发明内容
颜色内插法包括使用第一颜色内插函数F1来获得所关心的像素的第一缺失的颜色子像素值。第一颜色内插函数可以是(例如)垂直内插函数,所述垂直内插函数使用沿第一排L1布置的像素信息,所述第一排L1沿第一方向D1延伸通过所关心的像素。第一方向D1可以是垂直方向。第一颜色内插函数F1可以是色差函数,用于确定第一缺失颜色子像素值,以使沿第一排布置的像素存在基本上恒定的色差。
第二颜色内插函数F2用来获得用于所关心的像素的第二缺失颜色子像素值。该第二颜色内插函数可以是(例如)使用沿第二排L2布置的像素的信息的水平内插函数,所述第二排L2在第二方向D2上延伸通过目的像素。第二方向D2可以是水平方向。第二颜色内插函数F2可以是确定色差函数,用于第二缺失颜色子像素值,以使沿第二排布置的像素存在基本上恒定的色差。
获得表示存在(在所关心的像素处)在第一方向D1上延伸的边缘的第一量度V。
获得表示存在(在所关心的像素处)在第二方向D2上延伸的边缘的第二量度H。
在第一方面中,两个量度V和H用于产生第一和第二加权因数k1和k2。置信度因数值可用于确定加权因数,以使一个量度比另一量度具有更大的重要性。所插入的缺失颜色子像素值是第一加权因数k1乘第一缺失颜色子像素值加上第二加权因数k2乘第二缺失颜色子像素值的加权和。因此,为了执行颜色内插函数并产生缺失的颜色子像素值,仅需要进行数量相对较少的全乘法运算(约2或3个)。
在第二方面中,没有计算两个加权因数,但却确定了完全相同的缺失颜色子像素值。例如,将第一缺失颜色子像素值与第二缺失颜色子像素值之间的差乘以一值。所述值随第一和第二量度变化。该乘法的结果是第一乘积。获得第一缺失颜色子像素值与第二缺失颜色子像素值的和。对该和执行简单移位,以执行一个简单的乘以二分之一的运算。所述移位运算的结果是第二乘积。然后将第一和第二乘积相加,以获得缺失的颜色子像素值。仅需要一个全乘法运算,以根据此第二方面执行颜色内插函数。移位运算不视为全乘法,因为其仅可乘以或除以2的幂。然而,与涉及到全硬件乘法器的全乘法相比,通过将位线移位可轻松地在硬件中实施移位运算。
无论缺失颜色子像素值的计算是否包括确定两个不同的加权因数,所述计算都包括产生基本上等于加权和的值,其中所述加权和具有第一缺失颜色子像素值分量和第二缺失颜色子像素值分量,且其中第一缺失颜色子像素值分量与第二缺失子像素值分量的相对比例是第一和第二量度的函数。例如,如果第一量度相对于第二量度占优势,则第一缺失颜色子像素值分量相对于第二缺失颜色子像素值分量占优势(在内插的缺失颜色子像素值方面)。
上述确定缺失颜色子像素值的内插法应用于像素位置的拜耳格式阵列的所有红色和所有蓝色像素位置。因此,为拜耳格式阵列的每一像素位置确定绿色子像素值。在绿色像素位置,绿色子像素值已知,因为其是来自拜耳阵列数据的绿色子像素值。在红色和蓝色像素位置处,插入法用于计算绿色子像素值。一旦所有像素位置的绿色子像素值已知,则可使用已知的绿色子像素值来计算所要插入的其他红色和蓝色缺失颜色子像素值。
在另一方面中,在开始计算缺失的红色和缺失的蓝色子像素值之前,不为阵列的每一像素位置计算绿色子像素值。红色或蓝色缺失颜色子像素值的计算仅需要在紧邻所关心像素位置的区域中的绿色子像素值。因此,进行对绿色子像素值的计算,以使所关心的像素(为了计算绿色子像素值)通过像素位置阵列。对红色和蓝色子像素值的计算以类似方式进行,使所关心的像素(为了计算红色和蓝色子像素值)移动通过像素位置阵列。然而,用于计算红色和蓝色子像素值目的的所关心像素落后于用于计算绿色子像素值目的的所关心的像素。结果,先前产生的绿色子像素值被缓冲,并可供用于对红色和蓝色子像素值的后续计算中。
在下文的详细说明中对软件和硬件两种实施例进行了说明。本发明内容并不企图界定本发明。本发明由权利要求书所界定。



图1(现有技术)是图像传感器的图式,所述图像传感器的传感器布置成称为拜耳模式的流行模式。
图2(现有技术)是显示器的简化图,所述显示器可用来渲染使用图1所示图像传感器所捕获的图像。
图3(现有技术)图解说明一种简单的传统颜色内插法。
图4(现有技术)图解说明在图3所示传统的颜色内插法中如何确定像素位置R33的蓝色子像素值。
图5(现有技术)图解说明图3和图4所示颜色内插法的问题。
图6是图像传感器的简化图,所述图像传感器的传感器根据一种新颖的颜色内插法布置成拜耳模式。
图7是一简化图,其图解说明要通过所述新颖的颜色内插法产生的子像素值。
图8是显示第一颜色内插函数的第一排的图式。
图9是显示第二颜色内插函数的第二排的图式。
图10图解说明可用于确定第一加权因数k1的一方程式的运算。
图11是用于执行一种新颖颜色内插法的硬件设备10的方块图。所述硬件设备可实施于电池供电的消费性电子装置(例如移动电话)中。所述硬件设备较佳仅包括一个全乘法器电路。
图12是拜耳像素位置的图式,对所述拜耳像素位置进行标记以结合图11所示硬件设备10加以理解。
图13是图11所示硬件设备10的第三电路13的详图。

具体实施例方式 图6是图像传感器的简化图,所述图像传感器的传感器布置成拜耳模式。图像传感器包括布置成行和列的颜色传感器二维阵列。每一颜色传感器检测在一个像素位置处的一种颜色。在本实例中,每一颜色传感器产生一个八位颜色子像素值。使用“Gnm”符号来指定图6中的颜色子像素值。在所述符号中,大写的首字母表示所感测到的颜色。如果字母为“R”,则所感测到的颜色为红色。如果字母为“G”,则所感测到的颜色为绿色。如果字母为“B”,则所感测到的颜色为蓝色。在该符号中,第一字母后跟有两个数字“nm”。该符号中的第一数字“n”指定子像素值的行。该符号中的第二数字“m”指定子像素值的列。
图7是一简化图,其图解说明要通过所述新颖的颜色内插法来产生的子像素值。对于每一像素位置而言,需要三种颜色的子像素值红色子像素值、绿色子像素值、及蓝色子像素值。在每一像素位置处,如图6中所图解说明,由图像传感器输出颜色子像素值之一。其他两个颜色子像素值将根据所述新颖的方法来确定。要确定的颜色子像素值被称为“缺失的颜色子像素值”。尽管为了阐明使图7中三个颜色子像素值与图6中对应像素位置的关系,将红色、绿色和蓝色子像素值布置成图7中的特定方式,但是应了解,所述颜色子像素值可按不同的方式组合在一起。在一典型的显示器装置上,对应于图7所示子像素值的颜色子像素通常尽可能多地组合在一起,以增加显示器的分辨率。
在图6所示像素的拜耳模式中,有四种不同类型的像素位置。第一,存在感测到有红色的像素位置。像素位置R33是这种像素位置的实例。第二,存在感测到有蓝色的像素位置。像素位置B44是这种像素位置的实例。第三,存在感测到有绿色的像素位置,而在左右相邻像素位置中感测到有红色。像素位置G34是这种像素位置的实例。第四,存在感测到有绿色的像素位置,而在左右的像素位置中感测到有蓝色。像素位置G43是这种像素位置的实例。下文阐释了如何为四种类型的像素位置中的每一位置确定所有三种颜色子像素值(红色、绿色、及蓝色)。
红色像素位置 在所关心的红色像素位置处,红色子像素值是由图像传感器为所关心的像素位置输出的红色子像素值。为了便于说明,所关心的红色像素位置是像素位置R33。如下文所述确定所关心的像素位置的绿色子像素值G33。
在第一步中,应用第一方向性颜色内插函数F1以获得所关心的像素位置的第一缺失颜色子像素值G331。第一方向性颜色内插函数使用主要沿第一排L1布置的像素信息来获得第一缺失的颜色子像素值。第一排L1在第一方向D1上延伸通过所关心的像素位置。
图8将第一排L1显示为粗体双向箭头。在本实例中,第一方向D1是垂直方向。因此,箭头在垂直方向上延伸通过所关心的像素位置G33。下文的方程式(1)中给出了第一方向性颜色内插函数F1。
在第二步骤中,应用第二方向性颜色内插函数F2以获得所关心的像素位置的第二缺失颜色子像素值G332。第二方向性颜色内插函数F2使用主要沿第二排L2布置的像素信息来获得第二缺失的颜色子像素值。第二排L2在第二方向D2上延伸通过所关心的像素位置。
图9图解说明以粗体双向箭头表示的第二排L2。在本实例中,第二方向D2是水平方向。因此,箭头在水平方向上延伸通过所关心的像素位置G33。下文的方程式(2)中给出了第二方向性颜色内插函数F2。
在第三步骤中,获得表明存在在第一方向D1上延伸的边缘的第一量度V。量度的大小并不表明二元差别,因为所述大小表明一边缘是否存在,而非所述量度大小表明存在一边缘的可能性量度或置信程度。在本实例中,第一方向D1是垂直方向。在本实例中,由方程式(3)给出第一量度V。所述和的G23-G43部分是一阶梯度分量,因为其是在所关心的像素位置一侧上的子像素值与所关心的像素位置另一侧上的子像素值之差。所述和的2·R33-R13-R53部分是二阶梯度分量。其是一阶梯度之差。其是(R13-R33)与(R33-R53)之差。
V=|2·R33-R13-R53|+|G23-G43 |(3) 在第四步骤中,获得表明存在在第二方向D2上延伸的边缘的第二量度H。在本实例中,第二方向D2是水平方向。在本实例中,由方程式(4)给出第二量度H。
H=|2·R33-R31-R35|+|G32-G34|(4) 在第五步骤中,使用第一量度V和第二量度H来产生第一加权因数k1和第二加权因数k2。在本实例中,根据方程式(5)获得第一加权因数k1。
k1=min(max(0,α·(H-V)+0.5),1)(5) 在方程式(5)中,α是常量。第一,从0和(α·(H-V)+0.5)中取最大值。该值的最小值可为0。然后,从该值和1中取最小值。该结果的最大值可为1。因此,可以看出方程式(5)使第一加权因数k1具有最小值0和最大值1。如果(α·(H-V)+0.5)处于0和1之间,则k1等于该值。
图10图解说明方程式(5)的运算。在图10中,水平维度表示输入值(H-V)。在图10中,垂直维度表示值(α·(H-V)+0.5)。应注意,输出值min(max(0,α·(H-V)+0.5),1)的最大限值为1,输出值的最小限值为0。常量α在最小限值0与最大限值1之间确定排的斜率。
值0.5是添加至(α·(H-V))的置信度因数值。如果所述置信度因数值小于0.5,则中距值k1将减小。如果置信度因数值大于0.5,则中距值k1将增加。置信度因数值0.5是中间值。如果H等于V,则第一加权因数k1将等于中距值0.5。因此,置信度因数值用作一偏置值。如果存在较大的置信度,使得与来自方程式(2)的水平内插估计值相比,来自方程式(1)的垂直内插估计值将更接近于理想的内插值,则应使置信度因数值大于中间值0.5。
根据方程式(6),从第一加权因数k1获得第二加权因数k2。
k2=1-k1(6) 然后,根据方程式(7)确定最终的缺失颜色子像素值G33。
G33=k1·G331+k2·G332(7) 尽管上文以特定顺序阐释对第一和第二缺失颜色子像素值的确定和对定第一和第二量度的确定,但是可以其他顺序来执行这些确定。
下文的方程式(8)给出了所关心的像素位置处的缺失蓝色子像素值B33。
因此,可以看出,获得三个颜色子像素值R33、G33和B33时所涉及的全乘法运算的数量相对较小。在确定第一加权因数k1时,执行α和(H-V)的全乘法。在确定G33时,k1乘以G331,且k2乘以G332。除法和其他乘法是简单的除以和乘以2。除以或乘以2包括一相对简单的移位运算,且因此不视为全乘法运算。
蓝色像素位置 考虑下一情形,其中所关心的像素位置是蓝色像素位置。该所关心的像素位置的蓝色子像素值仅是由图像传感器为所述像素位置输出的蓝色子像素值。为了便于说明,所关心的蓝色像素位置是像素位置B44。如下文所述来确定所关心的像素位置的绿色子像素值G44。
在第一步骤中,应用第一方向性颜色内插函数F1以获得所关心的像素位置的第一缺失颜色子像素值。第一方向性颜色内插函数F1使用主要沿第一排L1布置的像素信息来获得第一缺失颜色子像素值。第一排L1在第一方向D1上延伸通过所关心的像素位置。在本实例中,下文的方程式(9)中给出了第一方向性颜色内插函数F1。
在第二步骤中,应用第二方向性颜色内插函数F2以获得所关心的像素位置的第二缺失颜色子像素值。第二方向性颜色内插函数F2使用主要沿第二排L2布置的像素信息来获得第二缺失颜色子像素值。第二排L2在第二方向D2上延伸通过所关心的像素位置。在本实例中,下文的方程式(10)给出了第二方向性颜色内插函数F2。
在第三步骤中,获得表明存在在第一方向D1上延伸的边缘的第一量度V。在本实例中,第一方向D1是垂直方向。在本实例中,由方程式(11)给出第一量度V。
V=|2·B44-B24-B64|+|G34-G54|(11) 在第四步骤中,获得表明存在在第二方向D2上延伸的边缘的第二量度H。在本实例中,第二方向D2是水平方向。在本实例中,由方程式(12)给出第二量度H。
H=|2·B44-B42-B46|+|G43-G45|(12) 在第五步骤中,使用第一和第二量度来产生第一加权因数k1和第二加权因数k2。在本实例中,根据方程式(13)获得第一加权因数k1。
k1=min(max(0,α·(H-V)+0.5),1) (13) 在方程式(13)中,α是常量。第一,最大值在0和(α·(H-V)+0.5)中取值。该值的最小值可为0。其次,最小值在该值和1之间取值。该结果最大值可为1。因此,可以看出,方程式(13)使第一加权因数k1具有最小值0和最大值1。如果(α·(H-V)+0.5)处于0和1之间,则k1等于该值。图10图解说明方程式(13)的运算。
根据方程式(14)从第一加权因数k1获得第二加权因数k2。
k2=1-k1 (14) 然后根据方程式(15)确定最终的缺失颜色子像素值G44。
G44=k1·G441+k2·G442(15) 下文的方程式(16)给出了所关心的像素位置处的缺失红色子像素值R44。
红色像素位置之间的绿色像素位置 考虑下一情形,其中所关心的像素位置是绿色像素位置,其中在所述所关心的像素位置的左右存在红色像素位置。出于例示的目的,考虑一实例,其中所述所关心的像素位置是G34。根据下述方程式(17)使用红色和绿色像素值来确定缺失红色子像素值R34。
方程式(18)给出了所关心的像素位置处的缺失蓝色子像素值B34。
蓝色像素位置之间的绿色像素位置 考虑下一情形,其中所述所关心的像素位置是绿色像素位置,其中在所述所关心的像素位置的左右存在蓝色像素位置。出于例示的目的,考虑一实例,其中所关心的像素位置是G43。根据下述方程式(19)使用红色和绿色像素值来确定缺失的红色子像素值R43。
下述方程式(18)给出了所关心的像素位置处缺失的蓝色子像素值B34。
在上文所阐释的确定红色、绿色及蓝色子像素值的方法中,所述方向性颜色内插函数是方向性色差函数。例如,考虑下述方程式(21)的函数。
分子中左侧的项是衡量像素位置G23处的绿色和红色之间的色差。像素位置G23处的绿色子像素值是G23。然而,在像素位置G23处没有红色子像素值。因此,采用相邻的红色子像素值R13和R33的平均值。
在分子中右侧的项是衡量像素位置G43处的绿色与红色之间的色差。像素位置G43处的绿色子像素值是G43。然而,在像素位置G43处不存在红色子像素值。因此,采用相邻的红色子像素值R33和R53的平均值。
像素位置G23和G43位于所关心的像素G33之上和之下。将分子中的两个项(色差)平均。结果得到所关心的像素G33之上与之下的色差的平均值。色差平均值将等于所关心的像素位置G33处绿色与红色之间的色差G33-R33。在方程式(21)中,项R33已从方程式的左侧移动到方程式的右侧。因此,方程式(21)选择G33,以使像素位置G23、R33及G43处的绿色与红色之间的色差相同。三个像素位置G23、R33及G43沿垂直方向上的排延伸,并延伸通过所关心的像素位置G33。
用于确定颜色子像素B33的方程式(8)使用绿色子像素值G22、G24、G42及G44。然而,对应的四个像素位置B22、B24、B42及B44是蓝色像素位置,所述蓝色像素位置的拜耳格式数据不包括绿色子像素值。类似地,用于确定颜色子像素R44的方程式(16)使用绿色子像素值G33、G35、G53及G55。然而,对应的四个像素位置R33、R35、R53及R55是红色像素位置,所述红色像素位置的拜耳格式数据不包括绿色子像素值。用于确定颜色子像素R34的方程式(17)使用绿色子像素值G33和G35。然而,对应的两个像素位置R33和R35是红色像素位置,所述红色像素位置的拜耳格式数据不包括绿色子像素值。用于确定颜色子像素B34的方程式(18)使用绿色子像素值G24和G44。然而,对应的两个像素位置B24和B44是蓝色像素位置,所述蓝色像素位置的拜耳格式数据不包括绿色子像素值。用于确定颜色子像素R43的方程式(19)使用绿色子像素值G33和G53。然而,对应的两个像素位置R33和R53是红色像素位置,所述红色像素位置的拜耳格式数据不包括绿色子像素值。用于确定颜色子像素B43的方程式(20)使用绿色子像素值G42和G44。然而,对应的两个像素位置B42和B44是蓝色像素位置,所述蓝色像素位置的拜耳格式数据不包括绿色子像素值。
因此,在第一步骤中,可为图6所示整个阵列中的所有蓝色和红色像素位置计算绿色子像素值。然后,一旦已知每一像素位置的绿色子像素值,则使用所述绿色子像素值通过使用上述方程式(8)、(16)、(17)、(18)、(19)及(20)来确定其他缺失的红色和蓝色子像素值。
或者,在开始计算缺失的红色和缺失的蓝色子像素值之前,不为整个阵列的所有蓝色和红色像素位置计算绿色子像素值。计算红色或蓝色缺失颜色子像素值仅需要处于要计算的缺失颜色子像素的相邻邻域中的绿色子像素值。因此,对绿色子像素值进行计算,以使所关心的像素(为了计算绿色子像素值)通过像素位置阵列。对红色和蓝色子像素值的计算以类似方式进行,使所关心的像素(为了计算红色和蓝色子像素值)移动通过像素位置阵列。然而,用于计算红色和蓝色子像素值目的的所关心的像素落后于用于计算绿色子像素值目的的所关心的像素。结果,先前产生的绿色子像素值可得到缓冲,并可供用于对红色和蓝色子像素值的后续计算中。
图11是输出缺失的绿色子像素值G_c的硬件设备10的方块图。在本实例中,缺失的绿色子像素值是图12所示拜耳模式的第三行和第三列的交叉点处像素位置的缺失的绿色子像素值。
图12是以拜耳模式构建的传感器二维阵列的图式。每一传感器位于一像素位置。“_c”、“_l”、“_r”、“_u”、“_d”、“_ul”、“_ur”、“_ll”及“_lr”符号分别指示中、左、右、上、下、左上、右上、左下及右下。这些相对位置是与所关心的像素相对的位置,R_c处于第三行和第三列中。拜耳格式图像传感器捕获一图像,并将像素值输出至缓冲存储器。传感器输出图12所示每一像素位置的一子像素值。缓冲存储器又将由沿图11所示左侧边缘的标记所指示的子像素值提供至图11所示的硬件设备。将图11所示左侧边缘的每一子像素值同时以并行方式提供至图11所示的硬件设备。
在图11所示左侧边缘处存在两个不是子像素值的值。这些值是第一量度值H和第二量度值V。第一量度H是表明存在在水平维度中延伸的边缘的值。第二量度V是表明存在在垂直维度中延伸的边缘的值。
硬件设备10包括第一电路11、第二电路12及第三电路13。第一电路11实施方程式(1),执行垂直内插,并产生第一缺失颜色子像素值G331。第二电路12实施方程式(2),执行水平内插,并产生第二缺失颜色子像素值G332。第三电路13接收G331、G332、第一量度H、及第二量度V,并产生所关心的像素位置的缺失绿色子像素值G_c。
图13进一步详细地图解说明第三电路13。在图13中,包含有加号的圆圈符号是硬件加法器的符号。在某些地方,在箭头延伸到加法器符号中的总线箭头旁出现一负号。该负号表示在输入总线上的值的负数形式。因此,加法器加上一负值,且因此执行一减法运算。在图13中,包含有“X”的圆圈符号是硬件乘法器的符号。在图13中,标记有“>>1”的方块表示右移一个位的位置。这通过将载有输入值的总线的位线移位一个位的位置来完成。这种右移的效果是一个除以2的运算。在图13中,标记有“<<(斜率_移位)(slope_shift)”的块执行左移运算,其中所执行的移位数量由预定变量“斜率_移位”确定。例如,该变量可通过写入至图11和13所示电路中的寄存器(未示出)来设置。值α等于2的“斜率移位”次幂。在图13中,标记有“剪取”的方块14运行以将称为“H_GRAD”的输出值大小剪取在-0.5与0.5之间。值H_GRAD等于差(k1-0.5),其中k1是第一加权因数。
在图13中,注意仅有一个圆圈乘法器符号。由全乘法器电路15将值H_GRAD乘以(G331-G332)。图11和13所示的电路较佳仅使用一个全乘法器电路(不同于简单的移位电路)来计算G33,而非通过将第一加权因数乘以G331和同时将第二加权因数乘以G332、然后将所述两个乘积相加得到G33来计算G33。以下方程式(22)给出所执行的用以获得G33的计算。
G33=H_GRAD(G331-G332)+0.5(G331+G332)(22) 方程式(22)是自下述方程式流程导出。
G33=k1G331+k2G332(23) 用(1-k1)替代k2得到以下方程式(24)。
G33=k1G331+(1-k1)G332(24) 重新排列方程式(24)得到以下方程式(25)。
G33=k1(G331-G332)+G332(25) 用(H_GRAD+0.5)替代k1得到以下方程式(26)。
G33=(H_GRAD+0.5)G331+(0.5-H_GRAD)G332(26) 重新排列方程式(26)得到上述方程式(22)。在图13所示最上方的由左至右的流程中,方块16运行以将值(G331+G332)右移一位。这是执行方程式(22)右侧的乘以0.5的运算。在图13所示中间的由左至右的流程中,将值(G331-G332)乘以值H_GRAD(使用由标记为15的圆圈符号表示的全硬件乘法器)。全硬件乘法器15执行方程式(22)左侧的乘法运算。由加法器17将图13所示上方和中间流程的输出相加在一起,以执行方程式(22)的相加运算。
出现在图13左侧的值H1和V1是中间值。H1在第二电路12中产生。V1在第一电路11中产生。
通过向第一加法器电路提供R_r和R_l以产生一和来产生H1。所述和的相反数提供至第二加法器的第一输入。值2*R_c提供至第二加法器的第二输入。第二加法器的输出是值H1。值H1提供至图13的电路。值2*R_c表示像素值R_c乘以2。通过将载有值R_c的总线的位线左移一位来获得值2*R_c。
通过向第一加法器电路提供R_u和R_d以产生一和来产生V1。所述和的相反数提供至第二加法器的第一输入。值2*R_c提供至第二加法器的第二输入。第二加法器的输出是值V1。值V1提供至图13所示的电路。
如下文所述,自从缓冲存储器接收到的像素值产生提供至图13所示电路的水平量度H。G_r的相反数提供至第一加法器的第一输入。G_l提供至第一加法器的第二输入。第一加法器的输出提供至第一绝对值电路。第一绝对值电路的输出提供至第二加法器的第一输入。值H1提供至第二绝对值电路。第二绝对值电路的输出提供至第二加法器的第二输入。第二加法器的输出是水平量度H。
如下文所述,自从缓冲存储器接收到的像素值产生提供至图13所示电路的垂直量度V。G_d的相反数提供至第一加法器的第一输入。G_u提供至第一加法器的第二输入。第一加法器的输出提供至第一绝对值电路。第一绝对值电路的输出提供至第二加法器的第一输入。值V1提供至第二绝对值电路。第二绝对值电路的输出提供至第二加法器的第二输入。第二加法器的输出是垂直量度V。
在硬件设备10的一个实例中,将所产生的绿色子像素值G_c写入到帧存储器(未示出)中。帧存储器是SDRAM集成电路的一部分。缓冲存储器和图11和13所示的电路是基带处理器集成电路的数字图像流水线(DIP)部分的一部分。图像传感器、基带处理器集成电路、及SDRAM帧存储器包含在蜂窝式电话中。来自图像传感器的像素值输出从图像传感器传入基带处理器集成电路中的缓冲存储器中。图11和13所示电路处理缓冲存储器中的像素值,并将产生的经颜色内插的子像素值写入SDRAM帧存储器中。
第三行和第三列中的所关心像素的第三和最后子像素值是蓝色子像素值。该蓝色子像素值B33由实施方程式(8)的硬件电路产生。如方程式(8)所示,蓝色子像素值B33的内插需要内插的绿色像素值作为输入。因此,在图11和13所示电路将绿色子像素值写入帧存储器中之后,从帧存储器读回所需的内插的绿色子像素值。然后,将从帧存储器读回的所述内插的绿色子像素值用于产生所关心像素的缺失的蓝色子像素值B33。
在硬件设备10的另一实例中,在基带处理器集成电路中的线性缓冲器(未示出)中缓冲来自图11和13所示电路的内插的绿色子像素值输出。然后,线性缓冲器中的内插的绿色子像素值用来产生缺失的蓝色子像素值。在计算缺失的蓝色子像素值时,需要具有超前于所确定蓝色子像素一行或几行的绿色子像素值。并非需要整个图像帧的全部绿色子像素。因此,仅将一行或几行的绿色子像素值存储在行缓冲器中的基带处理器上。在行缓冲器中绿色子像素用于计算缺失的子像素值之后,然后将那些绿色子像素值自基带处理器集成电路传送至外部SDRAM帧存储器。因此,通过行缓冲器的绿色子像素流类似于数据流过先入先出(FIFO)存储器的方式。新内插的绿色子像素值被推入行缓冲器中,从而使不再需要的绿色子像素值从行缓冲器输出并传送至外部SDRAM帧存储器。
假如所关心的像素位置不是上述实例中的红色像素位置,而是蓝色像素位置,则将由实施方程式(16)的运算的硬件来产生缺失的红色子像素值。如方程式(16)所示,需要内插的绿色子像素值作为输入。在图11和13所示电路将内插的绿色子像素值写入帧存储器中之后,将从帧存储器检索所需的内插绿色子像素值。
所关心的像素位置移动通过图12所示二维阵列,以使用任何所需的先前所确定绿色子像素值来产生缺失的蓝色和红色子像素值。将如此产生的蓝色和红色缺失的子像素值写入外部SDRAM帧存储器中。在已经执行所捕获的图像的输入拜耳像素值的所有颜色内插后,外部SDRAM帧存储器包含每一像素位置的三个颜色子像素值。所述处理由专用硬件逻辑执行,而不由执行一指令序列的处理器来执行。图11和13所示硬件设备以流水线方式运行,以使由电路处理基本上恒定的拜耳模式像素信息流,以使从硬件设备输出对应的基本上恒定的颜色内插子像素值流。
尽管上文出于例示目的而说明流水线硬件设备,但是还可由执行指令的处理器在软件中执行所述新颖的颜色内插法。在一实施例中,处理器是个人计算机的中央处理单元(CPU)。来自图像传感器的原始像素数据提供至个人计算机。在个人计算机上执行的应用层软件执行新颖的颜色内插法,从而产生经颜色内插的图像数据。例如,然后经颜色内插的图像数据可经历在个人计算机上运行的软件(相同的应用程序或另一应用程序)的进一步图像处理。例如,执行新颖颜色内插法的软件指令可并入图像处理软件包(例如Adobe Photoshop)中。
尽管上文出于例示目的而说明某些具体实施例,但是本发明并不仅限于此。尽管在一些实施例中,最终缺失的颜色子像素值是两个内插的缺失颜色子像素值的加权和,但是最终缺失的颜色子像素值可以是两个以上内插的缺失颜色子像素值的加权和。例如,可为所关心的像素位置确定三个不同的缺失颜色子像素值。所述三个缺失颜色子像素值的每一者可乘以其自身的加权因数以获得一乘积。获得三个此种乘积,并将这三个乘积相加以获得最终缺失的颜色子像素值。可应用多个置信因数之一来确定所述三个加权因数。尽管可通过实际确定加权因数并然后将所述加权因数乘以所关心像素位置的对应的缺失颜色子像素值来确定最终的缺失颜色子像素值,但是有时可在无需实际确定所述加权因数的情况下确定完全相同的最终的缺失颜色子像素值。获得完全相同的最终的缺失颜色子像素值,但是计算所述最终的缺失颜色子像素值所涉及的步骤不需要明确存在所有加权因数。尽管上文联系采用拜耳模式的输入像素值说明了具体实施例,但是所述输入像素可以采用需要颜色内插的其他模式。
尽管上文联系特定的第一方向性颜色内插函数和特定的第二方向性颜色内插函数说明了具体实施例,但是仍可采用其他第一和第二方向性颜色内插函数。例如,当第一方向性颜色内插函数是垂直的内插函数时,特定颜色的缺失颜色子像素值可以是紧位于所关心像素位置之上和紧位于所关心像素位置之下的像素位置中该特定颜色的子像素值的平均值。当第二方向性颜色内插函数是水平内插函数时,所述特定颜色的缺失颜色子像素值可以是紧位于所关心像素位置左侧和紧位于所关心像素位置右侧的像素位置中该特定颜色的子像素值的平均值。因此,提供在上述说明中所述及的方向性颜色内插函数实例是出于例示的目的。可以采用其他第一和第二方向性内插函数。
尽管上文联系以第一方式确定的第一量度和联系以第二方式确定的第二量度来说明具体的实施例,但是可采用确定所述第一和第二量度的其他方式。例如,表明存在在垂直方向上延伸的边缘的第一量度可以是在所关心像素位置左侧相邻的特定颜色子像素值与在所关心像素位置右侧相邻的特定颜色子像素值之差的绝对值。类似地,表明存在在水平方向上延伸的边缘的第二量度可以是在所关心像素位置上方相邻的特定颜色的子像素值与在所关心像素位置下方相邻的特定颜色的子像素值之差的绝对值。因此,提供上述说明中所述及的量度函数的实例是出于例示目的。可以采用用于产生所述第一和第二量度的其他函数。
尽管上文联系如图10中所图解说明其输出相对于第一和第二量度之差线性变化(在0与1之间的函数输出范围内)的函数说明了用于确定加权因数的函数,但是可以采用用于确定加权因数的其他函数。例如,可以采用所述第一和第二量度的函数,所述函数的输出相对于所述第一和第二量度之差非线性变化。所述函数的最小值和最大值可分别在除0和1之外的值处剪取。
在不背离权利要求书中所述的本发明范围的情况下,可对所述具体实施例的各特征进行各种修改、改变或组合。
权利要求
1.一种用于对最终缺失的颜色子像素值进行颜色内插的方法,所述最终缺失的颜色子像素值是所关心的像素位置的子像素值,所述方法包括
使用第一方向性颜色内插函数来获得所述所关心的像素位置的第一缺失的颜色子像素值,其中所述第一方向性颜色内插函数使用主要沿第一排布置的像素信息来获得所述第一缺失的颜色子像素值,所述第一排在第一方向上延伸通过所述所关心的像素位置;
使用第二方向性颜色内插函数来获得所述所关心的像素位置的第二缺失的颜色子像素值,其中所述第二方向性颜色内插函数使用主要沿第二排布置的像素信息来获得所述第二缺失的颜色子像素值,所述第二排在第二方向上延伸通过所述所关心的像素位置;
获得表明存在在所述第一方向上延伸的边缘的第一量度;
获得表明存在在所述第二方向上延伸的边缘的第二量度;及
使用所述第一和第二量度来产生所述最终缺失的颜色子像素值,所述最终缺失的颜色子像素值基本上等于所述第一缺失的颜色子像素值与所述第二缺失的颜色子像素值的加权和,所述加权和具有第一缺失的颜色子像素值分量和第二缺失的颜色子像素值分量,其中所述第一缺失的颜色子像素值分量与所述第二缺失的颜色子像素值分量的相对比例是所述第一和第二量度的函数。
2.如权利要求1所述的方法,其中使用所述第一和第二量度来产生所述最终缺失的颜色子像素值包括
使用所述第一和第二量度来产生第一加权因数和第二加权因数;
将所述第一缺失的颜色子像素值乘以所述第一加权因数以获得第一乘积;
将所述第二颜色子像素值乘以所述第二加权因数以获得第二乘积;及
将所述第一和第二乘积相加在一起以获得所述最终缺失的颜色子像素值。
3.如权利要求2所述的方法,其中所述第一加权因数和所述第二加权因数相加在一起等于1。
4.如权利要求3所述的方法,其中使用所述第一和第二量度来产生第一加权因数和第二加权因数包括确定所述第一加权因数(用k1表示),所述第一加权因数满足方程式
k1=min(max(0,α·(H-V)+0.5),1)
其中α是常量,且其中所述第二加权因数(用k2表示)满足方程式
k2=1-k1。
5.如权利要求1所述的方法,其中图像传感器输出所述所关心的像素位置的第一颜色的子像素值,且其中所述第二和第三缺失的颜色子像素值是第二颜色,且其中所述最终缺失的颜色子像素值是所述第二颜色。
6.如权利要求1所述的方法,其中所述第一方向性颜色内插函数是色差函数,且其中所述第二方向性颜色内插函数是色差函数。
7.如权利要求1所述的方法,其中所述第一缺失的颜色子像素值是第一颜色的子像素值,其中图像传感器输出所述所关心的像素位置的第二颜色的子像素值,且其中所述第一方向性颜色内插函数包括确定所述第一缺失的颜色子像素值,以使由所述图像传感器输出的所述第一颜色的第一缺失的颜色子像素值与第二颜色的所述子像素值之间的色差基本上同沿所述第一排布置的像素位置的所述第一与第二颜色的子像素之间的色差平均值相匹配。
8.如权利要求1所述的方法,其中所述第一缺失的颜色子像素值是绿色子像素值Gnm,其中图像传感器输出所述所关心的像素位置的红色子像素值Rnm,其中符号Gnm中的第一字母表示所述子像素的颜色,使G表示绿色,且R表示红色,其中所述符号Gnm中的所述第一字母之后的第一数字表示所述子像素所在的像素位置行,且其中所述符号Gnm中的第二数字表示所述子像素所在的像素位置列,且其中所述第一方向性颜色内插函数由Gnm1表示,并满足方程式
且其中所述第二方向性颜色内插函数由Gnm2表示,并满足方程式
9.如权利要求1所述的方法,其中所述第一缺失的颜色子像素值是绿色子像素值Gnm,其中图像传感器输出所述所关心的像素位置的红色子像素值Rnm,其中符号Gnm中的第一字母表示所述子像素的颜色,使G表示绿色,且R表示红色,其中所述符号Gnm中的所述第一字母之后的第一数字表示所述子像素所在的像素位置行,且其中所述符号Gnm中的第二数字表示所述子像素所在的像素位置列,且其中所述第一量度(用V表示)满足方程式
V=|2·R33-R13-R53|+|G23-G43|
且其中所述第二量度(用H表示)满足方程式
H=|2·R33-R31-R35|+|G32-G34|
10.如权利要求1所述的方法,其中所述第一方向性颜色内插函数使用完全沿所述第一排布置的信息来获得所述第一缺失的颜色子像素值,且其中所述第二方向性颜色内插函数使用完全沿所述第二排布置的信息来获得所述第二缺失的颜色子像素值。
11.一种用于存储一组计算机可执行指令的计算机可读媒体,所述一组计算机可执行指令用于对最终缺失的颜色子像素值进行颜色内插,所述最终缺失的颜色子像素值是所关心的像素位置的子像素值,所述一组计算机可执行指令用于
使用第一方向性颜色内插函数来产生所述所关心的像素位置的第一缺失的颜色子像素值,其中所述第一方向性颜色内插函数使用主要沿第一排布置的像素信息来产生所述第一缺失的颜色子像素值,所述第一排在第一方向上延伸通过所述所关心的像素位置;
使用第二方向性颜色内插函数来产生所述所关心的像素位置的第二缺失的颜色子像素值,其中所述第二方向性颜色内插函数使用主要沿第二排布置的像素信息来产生所述第二缺失的颜色子像素值,所述第二排在第二方向上延伸通过所述所关心的像素位置;
产生表明存在在所述第一方向上延伸的边缘的第一量度;
产生表明存在在所述第二方向上延伸的边缘的第二量度;及
使用所述第一和第二量度来产生所述最终缺失的颜色子像素值,所述最终缺失的颜色子像素值基本上等于所述第一缺失的颜色子像素值与所述第二缺失的颜色子像素值的加权和,所述加权和具有第一缺失的颜色子像素值分量和第二缺失的颜色子像素值分量,其中所述第一缺失的颜色子像素值分量与所述第二缺失的颜色子像素值分量的相对比例是所述第一和第二量度的函数。
12.一种用于接收多个传感器像素值的设备,所述多个传感器像素值的每一者对应于像素位置二维阵列的一像素位置,所述像素位置中的一者是所关心的像素位置,所述设备产生所述所关心的像素位置的最终缺失的颜色子像素值,所述设备包括
第一电路,其用于接收第一多个传感器像素值,所述第一多个传感器像素值是主要沿第一排布置的像素位置的传感器像素值,所述第一排在第一方向上延伸通过所述所关心的像素位置,所述第一电路输出所述所关心的像素的第一缺失的颜色子像素值;
第二电路,其用于接收第二多个传感器像素值,所述第二多个传感器像素值是主要沿第二排布置的像素位置的传感器像素值,所述第二排在第二方向上延伸通过所述所关心的像素位置,所述第二电路输出所述所关心的像素的第二缺失的颜色子像素值;及
第三电路,其用于接收第一量度、接收第二量度、接收来自所述第一电路的所述第一缺失的颜色子像素值、及接收来自所述第二电路的所述第二缺失的颜色子像素值,所述第三电路输出所述最终缺失的颜色子像素值,所述最终缺失的颜色子像素值基本上等于所述第一缺失的颜色子像素值与所述第二缺失的颜色子像素值的加权和,所述加权和具有第一缺失的颜色子像素值分量和第二缺失的颜色子像素值分量,其中所述第一缺失的颜色子像素值分量与所述第二缺失的颜色子像素值分量的相对比例是所述第一和第二量度的函数。
13.如权利要求12所述的电路,其中所述第一量度表明存在在所述第一方向上延伸的边缘,且其中所述第二量度表明存在在所述第二方向上延伸的边缘。
14.如权利要求12所述的电路,其中所述第三电路包括第一加法器和第二加法器,所述第一加法器输出等于所述第一缺失的颜色子像素值与所述第二缺失的颜色子像素值之和的值,所述第二加法器输出等于所述第一缺失的颜色子像素值与所述第二缺失的颜色子像素值之差的值。
15.如权利要求12所述的电路,其中所述第三电路包括输出所述第一量度与所述第二量度之差的值的加法器。
16.如权利要求12所述的电路,其中所述第一电路、第二电路及第三电路以流水线方式运行,以使所述第三电路输出经内插的缺失颜色子像素值流。
17.如权利要求12所述的电路,其中所述第三电路产生等于所述第一量度与所述第二量度之差的值,且其中所述第三电路将所述值乘以预定的变量。
18.一种用于接收多个传感器像素值的设备,所述多个传感器像素值的每一者均对应于像素位置二维阵列的一像素位置,所述像素位置中的一者是所关心的像素位置,所述设备产生所述所关心的像素位置的最终缺失的颜色子像素值,所述设备包括
第一电路,其用于接收第一多个传感器像素值,所述第一多个传感器像素值是主要沿第一排布置的像素位置的传感器像素值,所述第一排在第一方向上延伸通过所述所关心的像素位置,所述第一电路输出所述所关心的像素的第一缺失的颜色子像素值;
第二电路,其用于接收第二多个传感器像素值,所述第二多个传感器像素值是主要沿第二排布置的像素位置的传感器像素值,所述第二排在第二方向上延伸通过所述所关心的像素位置,所述第二电路输出所述所关心的像素的第二缺失的颜色子像素值;及
接收装置,其用于接收第一量度、第二量度、所述第一缺失的颜色子像素值及所述第二缺失的颜色子像素值,并用于输出所述最终缺失的颜色子像素值,所述最终缺失的颜色子像素值基本上等于所述第一缺失的颜色子像素值与所述第二缺失的颜色子像素值的加权和,所述加权和具有第一缺失的颜色子像素值分量和第二缺失的颜色子像素值分量,其中所述第一缺失的颜色子像素值分量与所述第二缺失的颜色子像素值分量的相对比例是所述第一和第二量度的函数。
19.如权利要求18所述的设备,其中所述装置仅包括一个全乘法器电路。
20.如权利要求18所述的设备,其中所述装置产生等于所述第一量度与所述第二量度之差的值,且其中所述装置将所述值乘以预定变量,且其中可通过写入至所述装置中的寄存器来改变所述预定变量。
全文摘要
本发明提供一种颜色内插方法,其使用第一内插函数(F1)来获得所关心的像素的第一缺失的颜色子像素值,并使用第二内插函数(F2)来获得所述所关心的像素的第二缺失的颜色子像素值。获得表明一边缘在第一方向(D1)上延伸的第一量度(V)。获得表明一边缘在第二方向(D2)上延伸的第二量度(H)。所述两个量度用来产生第一和第二加权因数(k1,k2)。在确定所述加权因数时,可使用置信度因数值使一个量度比另一量度具有更大的重要性。在一实施例中,经内插的子像素值是所述第一加权因数乘以所述第一缺失的颜色子像素值加上所述第二加权因数乘以所述第二缺失的颜色子像素值的加权和。
文档编号H04N9/04GK101151907SQ200680009949
公开日2008年3月26日 申请日期2006年2月6日 优先权日2005年2月4日
发明者豪 黄, 赖金钟, 阿南塔帕德马纳卜汉·坎达达伊 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1