用于混合图像去马赛克和扭曲的系统,方法和计算机程序产品的制作方法

文档序号:7792661阅读:242来源:国知局
用于混合图像去马赛克和扭曲的系统,方法和计算机程序产品的制作方法
【专利摘要】用于颜色滤波器阵列(诸如例如包括拜耳模板的颜色滤波器阵列)获得彩色图像的方法、系统和计算机程序产品。图像处理的方法包括:针对彩色图像中的每个像素位置(i,j)和每个颜色通道,确定颜色滤波器阵列中的扭曲位置(i′,j′);和确定颜色滤波器阵列中的位置(i′,j′)处的颜色通道的颜色值。该方法可以进一步包括存储所确定的颜色值。颜色值的确定可包括:插值颜色滤波器阵列中位置(i′,j′)处的颜色通道的颜色值。通过这样的方式,可以需要单个插值操作集,并且可以避免中间图像,节约存储器,减少处理时间,最小化伪影并且减少成本。
【专利说明】用于混合图像去马赛克和扭曲的系统,方法和计算机程序产品

【技术领域】
[0001]本文所描述的实施例一般地涉及图像处理。

【背景技术】
[0002]为了产生诸如照片和视频图像之类的彩色图像,通常对图像连续地执行去马赛克和图像扭曲,从而产生修订的彩色图像。
[0003]去马赛克算法是一种数字图像过程,其被用来根据来自重叠有颜色滤波器阵列的图像传感器的不完全彩色输出重构完全彩色图像,从而把图像渲染为可视格式。因为原始彩色图像包括如下强度:每个像素仅三种滤波器颜色(红色、蓝色和绿色)中的一种颜色,去马赛克被用来确定每个像素的其它两种颜色的强度。存在用于对彩色图像进行去马赛克的许多算法。这些算法的复杂度不同,并且可以导致所涉及的数据量增至三倍。
[0004]图像扭曲是平滑地移位图像中的像素的过程。在扭曲的图像中,每个像素处的值通常根据在原始图像中采样的值计算得到。因为原始图像中的位置不必然具有整数坐标,所以通常需要某种插值。例如,扭曲被用来校正图像中存在的失真。由光学系统产生的图像经受各种形式的几何失真。失真通常足够严重以致于希望将图像扭曲为更有用的形式。例如,使用广角或鱼眼镜头获得的图像的中央处的对象将显得比边缘处的对象更大。这被称为桶形失真。扭曲图像可校正桶形失真,从而得到将显得由透视照相机产生的成比例的正确图像。扭曲还可被用来校正其它类型的失真,或者甚至被用来有目的性地引起失真。
[0005]去马赛克和扭曲两者都引入了一些图像缺陷或伪影,这是因为它们各自通常设计插值。连续独立地执行去马赛克和扭曲合成这个问题。除了执行这两个操作所需的处理时间,连续地去马赛克和扭曲需要计算机存储器存储中间图像,并且还需要执行两次插值。

【专利附图】

【附图说明】
[0006]图1图示了根据实施例的可被用来获得修订的彩色图像的颜色滤波器阵列的示例性模型。
[0007]图2图示了根据实施例的颜色滤波器阵列的示例性模型,示出了可被用来获得修订的彩色图像的每个个体颜色的颜色值度量。
[0008]图3是图示了根据实施例的可被用来从颜色滤波器阵列获得修订的彩色图像的混合去马赛克和扭曲的方法的流程图。
[0009]图4图示了根据实施例的可被用来获得修订的彩色图像的四像素组的示例性模型。
[0010]图5图示了根据实施例的可在计算中被用来获得修订的彩色图像的颜色滤波器阵列的字母映射。
[0011]图6图示了根据实施例的可被用来使用本文所述的方法确定红色(R)值的插值技术。
[0012]图7图示了根据实施例的可被用来使用本文所述的方法确定绿色(G)值的插值技术。
[0013]图8A和8B图示了根据实施例的用于使用本文所述的方法确定绿色(G)值的插值技术的四个示例。
[0014]图9A和9B图示了根据实施例的与图8A和8B中所示的四个示例相同的示例,但是为了便于理解本文所述的方法而具有替代的标记。
[0015]图10图示了根据实施例的可被用来使用本文所述的方法确定绿色(G)值的替代插值技术。
[0016]图11是在其中可以实现实施例的示例性系统的方框图。
[0017]图12是在其中可以实现实施例的另一示例性系统的方框图。
[0018]图13是在其中可以实现实施例的示例性设备的方框图。
[0019]图14是在其中可以实现实施例的另一示例性设备的方框图。
[0020]图15图示了在其中可以实现实施例的信息系统。
[0021]图16图示了在其中可以实现实施例的移动信息设备。
[0022]在附图中,参考编号的(一个或多个)最左边数字可以标识参考编号第一次出现在其中的附图。

【具体实施方式】
[0023]图像
[0024]彩色或多光谱图像由每个像素处的到达该像素的特定颜色光的强度的许多测量值构成。在大多数彩色图像中,每个像素具有到达该像素的红色光的强度的测量值、到达该像素的绿色光的测量值和到达该像素的蓝色光的测量值。这可以说这样的彩色图像具有红色、绿色和蓝色通道。在其它类型的图像中,可存在更多和/或不同的通道。在本文档中,所提及的“ c ”可指代颜色通道。
[0025]在本文档中,当不需要区别的时候,术语“图像”可指代RGB(红绿蓝)图像或多光谱图像,或者更通常地指代具有多个通道的图像。
[0026]在本文档中,所提及的“(i,j) ”可指代图像中的位置或像素。所提及的“I”或“J”可各自指代一图像,并且所提及的“I(i,j,c) ”可指代在图像I中的第i列和第j行处的通道c的值。
[0027]去马赛克
[0028]许多当代成像传感器在每个像素处仅产生对应于各个通道中的一个的单个强度测量值。例如,在装备有“拜耳模板(Bayer pattern) ”颜色滤波器阵列的传感器中,每个像素将仅测量红色、绿色或蓝色通道。为了从这样的传感器的输出中获得彩色或多光谱图像,必须以某种方式估计每个像素处丢失通道的值。该过程被称为去马赛克。
[0029]在本文档中,所提及的“颜色滤波器列阵”可指代由每个像素一个测量值组成的数据,其被用作给马赛克算法的输入。颜色滤波器阵列可被存储在存储器中,或者从传感器的输出中直接读出。
[0030]在本文档中,所提及的“A”可指代颜色滤波器阵列,所提及的“A(i,j) ”可指代在颜色滤波器阵列A中的第i列和第j行处的像素(i,j)的值或测量值。
[0031]存在用于对彩色图像进行去马赛克的许多算法。一种对拜耳模板成像传感器的输出进行去马赛克的通用方法由下列步骤组成:拷贝可用通道到输出图像,和从那些通道可用的相邻像素插值丢失的通道。插值方法的选择和设计是众多研究的主题。
[0032]因为去马赛克涉及确定没有观察到的值,“真实”值通常将不同于估计值。在一些情况中,这种差异可能引入不期望的可视伪影。
[0033]对颜色滤波器阵列A进行去马赛克可产生图像I。在本文档中,去马赛克可被认为是执行以下处理的操作:
[0034]1.对于产生的图像I的每个像素(i,j)和每个通道c:
[0035]1.1.通过插值或拷贝确定像素(i,j)处的通道c的值,和
[0036]1.2.在产生的图像中存储I (i,j,c)值。
[0037]在1.2,I(i,j,c)表示图像I中的像素(i,j)处的通道c的值。该操作的结果是图像I。
[0038]图1图示了 6x6拜耳颜色滤波器阵列100的布局,其中列和行编号为0到5。在该颜色滤波器阵列中,A(0,0)是到达位置(0,0)的红色光的测量值;A(1,0)是绿色光的测量值;A(2,0)是红色光的又一测量值等,并且A(0,1)是绿色光的测量值;A(1,1)是蓝色光的测量值,A(2,l)绿色光的测量值等。在这样的颜色滤波器阵列中,当和j都是偶数时,A(i,j)是红色的测量值。当i和j都是奇数时,A(i,j)是蓝色的测量值。当i或j之一而非这两者是奇数时,则A(i,j)是绿色的测量值。通过这种方式,拜耳颜色滤波器阵列可被视为像素的三个重叠网格,其中一个网格是红色,一个是绿色,并且一个是蓝色,如以下参照图2描述的。
[0039]图2图示了从图1的6x6拜耳模板中取得的红色、蓝色和绿色网格212、214和216。在图2中,字母R、G和B分别表示测量红色、绿色和蓝色光的位置,并且圆点符号“.“表示对于那个通道来说无测量值可获得的位置。每个网格是规则的正方形网格。注意到绿色网格被旋转了 45度,并且其密度是红色网格或蓝色网格的两倍。
[0040]现在将描述去马赛克。出于示例的目的,可以不失一般性地假设通道0是红色、通道1是绿色、并且通道2是蓝色。还可以假设位置(i,j)不在阵列的边缘。如果i和j是偶数,则可以定义以下公式:
[0041]I (i,j,0) = A(i, j)公式 1
[0042]I(i,j,l) = (A(i_l, j)+A(i+l, j)+A(i, j_l)+A(i, j+l))/4公式 2
[0043]I (i, j, 2) = (A(i_l,j_l)+A(i_l,j+l)+A(i+l,j_l)+A(i+l,j+l))/4 公式 3
[0044]在这些定义中,清楚的是l(i,j,0)是红色的测量值;I(i,j,l)是专门地从绿色的测量值计算得到的;I(i,j,2)是专门地从蓝色的测量值计算得到的。
[0045]如果i是偶数,并且j是奇数,可以定义以下公式:
[0046]I (i, j,0) = (A(i, j_l)+A(i, j+l))/2公式 4
[0047]I (i,j,1) = A(i, j)公式 5
[0048]I (i,j,2) = (A (1-1,j) +A (i+1,j)) /2公式 6
[0049]如果i是奇数,并且j是偶数,可以定义以下公式:
[0050]I (i, j,0) = (A(1-1, j)+A(i+l, j))/2公式 7
[0051]I (i, j, 1) = A(i, j)公式 8
[0052]I (i,j,2) = (A (i,j-1) +A (i,j+1)) /2公式 9
[0053]如果i是奇数,并且j是奇数,可以定义以下公式:
[0054]I (i,j,0) = (A (1-1,j-1) +A (1-1,j+1) +A (i+1,j-1) +A (i+1,j+1)) /4 公式 10
[0055]I (i,j,1) = (A (1-1,j) +A (i+1,j) +A (i,j-1) +A (i,j+1)) /4公式 11
[0056]I (i, j, 2) = A(i, j)公式 12
[0057]该去马赛克方法是图像处理或数字照相领域的技术人员公知的许多方法中的一种。
[0058]就像其它去马赛克方法一样,该去马赛克方法可能偶尔在产生的图像中引入不期望的可视伪影,这对于图像处理或数字照相领域的技术人员来说是公知的。
[0059]插值
[0060]在本文档中,术语“插值”可以指代如下操作:当编号i和j不必须是整数时,确定在图像I中的位置(i,j)处的颜色通道c的值。当i或j不是整数时,所求值没有存储在图像中。因此,估计图像I中的位置(i,j)处的颜色通道c的值变得必要。该过程可以被称为“通过插值确定值I(i,j,c) ”,或“插值I (i,j,c) ”。
[0061]一种可能的插值方法可以由下列步骤组成:确定最接近i和j的整数值“round (i) ”和“round (j) ”,并且接下来确定值I(round(i), round (j)) ?该方法可被称为“最接近相邻插值”。
[0062]示例:在位置(i',j')处图像I的通道c的双线性插值,其中i'和j'不必须是整数。符号[i']表示不小于i,的最大整数,并且同样,符号[j']表示不小于j,的最大整数。从四个值 I([i' ],[j' ],c)、I([i' ]+l,[j' ],c)、I([i' ],[j' ]+l,c)和I([i' ]+l,[j' ]+l,c)确定插值后的值I(i',j',c),使用以下表达式:
[0063]I (i ' , j ' , c) = I ([i ; ]+l,[j' ]+l, c)*Wi*Wj
[0064]+I([i/ ], [j/ ]+l,cXl-Wihwj
[0065]+I([i/ ]+l, [j/ ],chw^a-wj)
[0066]+I([i' ],[j' ], cXl-WiXl-Wj)公式 13
[0067]其中表示相乘,&是1'的小数部分(也就是说Wi等于i' -[i/ ]),并且Wj是V的小数部分(也就是说%等于j' _[j'])。该表达式对于图像处理和计算机图形领域的技术人员来说是公知的。
[0068]由于插值涉及确定未观察到的值,因此其存在不“真实”值,并且不同的插值方法通常将获得不同的结果。在一些情况下,插值可能引入不期望的可视伪影。另外,插值可能加剧原始图像中存在的伪影。
[0069]观看图像的一种方式可能会考虑该图像是与整数位置(i,j)和通道c相关联的函数,即值I(i,j,c)。由于位置(i,j)是整数对,因此可以表明图像(或函数)仅定义在矩形的像素网格上。接下来,插值的操作可允许人们将图像(或函数)扩展到在原始像素网格内的整个矩形域。稍后将在发明的描述中用到该理解。
[0070]图像扭曲
[0071]图像扭曲的操作本质上是由某一扭曲函数定义的从一个图像到另一个图像中的变换。大多数时候,扭曲函数为新图像中的每个位置计算在原始图像中那个像素的位置。由于原始图像中的位置不一定具有整数坐标,因此需要一些插值,这可能引入一些插值伪影。
[0072]扭曲的一种常见用途是校正几何失真。由光学系统产生的图像可能经受各种形式的几何失真。例如,从鱼眼镜头获得的图像通常是如此的失真以至于它们对于观看者来说显得不“自然”。在基于图像的度量衡中,一般必须扭曲图像,使得它们显得由透视照相机产生。当失真严重并且不被需要时,必须以某种方式取消该失真。出于这个目的,可以使用被称为“图像扭曲”的操作。
[0073]与光学失真的校正相比,图像扭曲可用于更广阔的环境。例如,可以应用一类被称为“单应性”的扭曲以使得图像显得好像其是由具有不同定向(与产生原始图像的照相机相比)的照相机产生的。还可以应用扭曲以使得其显得原始传感器具有不同的布局(例如对数极坐标布局)或不同的分辨率。
[0074]扭曲图像I可能产生新图像J。在本文档中,图像扭曲可被认为是执行以下处理的操作:
[0075]1.对于在产生的图像J中的每个像素(i,j)和每个通道c:
[0076]1.1.确定在原始图像I中的扭曲的位置(i',j'),
[0077]1.2.通过插值确定图像I中像素(i',j')处的通道c的值I(i',j',c),和
[0078]1.3.在输出图像J中的位置J(i,j,c)处存储值I(i',j',c)。
[0079]在1.1,位置(i',j')可采用以下形式:
[0080]i' =P(i,j)公式 14
[0081]j' = Q(i, j)公式 15
[0082]其中P和Q是函数。所使用的普通函数类可以包括多项式和有理函数,但是已使用了其它类型的函数,例如为了校正由光学系统引入的失真。尽管人们可以针对所有的通道使用相同的函数P和Q,但在一些情况下,例如为了校正色差,可能期望针对每个通道使用不同的函数。
[0083]一对简单多项式函数的通用示例可以是:
[0084]i' = P(i, j) = 0+(l+k0r2) (1-10)公式 16
[0085]j1 = Q(i, j) = j1 0+(l+k0r2) (j-j0)公式 17
[0086]其中
[0087]r2 = (1-1o)2+(j-j。)2,并且
[0088]i0, j0>i/ o、J.'。和& 是常数。
[0089]在1.2,由于位置(i',j')不一定是整数,因此人们一般不能直接拷贝来自原始图像I的值。因此必须使用插值。可以使用许多可用的插值方法中的任意一种,例如最接近相邻插值、双线性插值或双三次插值。
[0090]去马赛克和扭曲一起使用
[0091]经常连续地应用去马赛克和图像扭曲。由数字照相机(例如但不限于:单反照相机(SLR)、傻瓜照相机、照相电话、网络摄像头、监控照相机等)产生的大多数图像是通过对拜耳颜色滤波器阵列进行去马赛克而获得的。每当对这样的图像应用图像扭曲时,去马赛克和扭曲的操作被这样连续地应用以产生扭曲的图像。
[0092]为了从颜色滤波器阵列A获得扭曲的图像J,通常执行可以被称为“经典方法”的以下步骤,用于连续地对颜色滤波器阵列进行去马赛克和扭曲图像:
[0093]1.对颜色滤波器阵列A进行去马赛克,产生图像I,和
[0094]2.扭曲图像I,产生扭曲的图像J。
[0095]在该经典方法中,人们应当注意到必须存储图像I。即使当快速连续地执行这两个操作时也需要这种存储,例如,当人们仅想要保持扭曲的图像J并且丢弃图像I时。例如,当照相机具有带有已知的光学失真的广角或鱼眼镜头时,有可能并且经常期望扭曲照相机内的图像。例如,在SLR或傻瓜照相机中,人们将保持已经校正了镜头失真的图像J并且丢弃图像I。在另一个示例中,在广角监控照相机中,人们可以仅传输图像J并且再次丢弃图像I。然而,在这两种情况中,照相机都必须具有临时存储器以存储图像I。由于存储器昂贵,临时存储器的需要是个缺点。
[0096]该经典方法的另一个缺点是在方法的两个阶段执行插值:首先在去马赛克期间发生插值,这里其可能引入伪影。接下来,在扭曲期间,除了加剧由去马赛克引入伪影之外,插值可能引入新的伪影。
[0097]混合图像去马赛克和扭曲
[0098]本文所述的方法、系统和计算机程序产品可以允许以如下这样的方式进行图像去马赛克和扭曲:即减少存储器的量和所需的处理时间以及最小化伪影和降低整体成本。现在参照图来描述这些方法、系统和计算机程序产品的实施例,在图中,相似的参考编号指示相同的或者功能类似的元件。虽然讨论了具体的配置和布置,但应当理解的是这仅是出于说明目的被做出。相关领域技术人员将认识到可以使用其它配置和布置而不脱离本描述的范围。对于相关领域技术人员来说将显而易见的是,这还可以在除本文所描述的那些之外的各种其它系统和应用中被采用。
[0099]在实施例中,为了从颜色滤波器阵列A获得扭曲的图像J,可以执行以下处理,如图3所描绘的方法300那样:
[0100]1.对于彩色图像J中的每个像素(i,j)和每个颜色通道c (302),
[0101]1.1.确定在颜色滤波器阵列A中扭曲的位置(i',) (304),和
[0102]1.2确定在颜色滤波器阵列A中(i ',)处的颜色通道c的颜色值(306)。
[0103]在实施例中,以上处理可由计算设备执行,如下面更详细描述的。可选地,确定的颜色值可以被输出,或者可以存储在例如计算设备的存储器或其它存储设备中。在实施例中,例如,颜色滤波器阵列A可包括拜耳模板或者另一种类型的颜色滤波器阵列模板。
[0104]在1.1(图3中的302),按照与普通的图像扭曲相同的方式确定扭曲的位置。例如,可以使用以上所讨论的扭曲函数P和Q的任一类。
[0105]在1.2(图3中的306),可以使用插值。例如,可以使用双线性插值、双三次插值、最接近相邻插值,或者另一种插值方法。然而,该插值方法可以与普通图像扭曲中执行的插值方法略有不同,这是因为人们不知道每个位置(i,j)处每个通道c的值。
[0106]关键的理解在于每个颜色通道仍然提供测量值的网格(通常但并非总是矩形)。因此,对于每个颜色通道,人们可以对网格内任何如下位置的值进行插值:在该位置那个通道的测量值是可获得的。
[0107]根据实施例,下面是确定颜色滤波器阵列A中(i',j')处的颜色通道c的颜色值(1.2/306)的描述。不失一般性,该示例将使用先前所述的拜耳颜色滤波器阵列,并且将使用双线性插值作为示例。本领域技术人员可以容易地把以下描述推广到其它颜色滤波器阵列和其它类型的插值。
[0108]根据实施例,下面描述了在位置(i',j')处的颜色通道0(红色)的值的插值,其中i'和j'不一定是整数编号。在该示例中,[[i']]表示不小于i'的最大偶数整数。同样的,[[_r ]]表示不小于的最大偶数整数。接下来可以定义以下公式:
[0109]J(i/,j' ,0) = A([[i/ ]]+2,[[j' ]]+2)*Wi*Wj
[0110]+A([[i/ ]]+2, [[j/ JD^w^d-Wj)
[0111]+A([[i/ ]], [[j/ 11+2)^(1^)^-
[0112]+A([[i/ ]], [[j/ ]])*(1-Wi)*(l-Wj)公式 18
[0113]其中,Wi等于(i' _[[i' ]])/2,并且 Wj 等于(j' _[[j' ]])/2。在该示例中,根据拜耳颜色滤波器阵列的布局可以清楚的是,A([[i' ]],[[j' ]])、A[[[i']],[[j/ ]]+2)、A([[i' ]]+2,[[j']])和A([[i' ]]+2,[[j' ]]+2)是到达成像传感器的红色光的所有测量值。因此,J(i',j,,0)实际上是红色光的测量值。本领域技术人员将容易地认识到以上所定义的J(i',j',0)是四个测量值A([[i' ]],[[j' ]])、A([[i']],[[j/ ]]+2)、A([[i' ]]+2,[[j']])和 A([[i' ]]+2,[[j' ]]+2)在(i',j')处的双线性插值。
[0114]根据实施例,下面描述在位置a',j')处的颜色通道1(绿色)的值的插值,其中P和_]"不一定是整数编号。由于绿色测量值在相对于颜色滤波器阵列的网格旋转了45度的网格上可获得,所以该插值过程比在红色和蓝色通道的情况下略微复杂。
[0115]为了插值绿色通道,坐标改变由以下公式定义:
[0116]u' =i' +j'公式 19
[0117]V' =i'公式 20
[0118]以上变换是可逆的,逆变换可以如下所示:
[0119]i' = (u, +v' )/2公式 21
[0120]j' = (u, -v/ )/2公式 22
[0121]在该示例中,可以看出u'和V'两者都是奇数整数的位置对应于Ρ或之一而非两者是奇数的位置。相反的,如果y或^之一而非两者是奇数,则U,和V,都是奇数。因此,回顾拜耳颜色滤波器阵列的布局,11'和V'两者都是奇数整数的位置对应于在颜色滤波器阵列中测量绿色光的位置。
[0122]在该示例中,[[[u']]]表示不小于u'的最大奇数整数。同样的,[[[V ]]]表示不小于V'的最大奇数整数。接下来可以定义以下公式:
[0123]i" = ([[[u' ]]] + [[[v/ ]]])/2公式 23
[0124]j" = ([[[u' ]]]-[[[v/ ]]])/2公式 24
[0125]通过构造,i"和j"两者都是整数,并且位置(i',j')包括在由四个位置(i〃,j" )、(i" +2,j" )、(i" +l,j"+l,j" +1)所定义的正方形内。
[0126]在该示例中,还可以看出该正方形的所有顶点落在所考虑的拜耳颜色滤波器阵列中测量绿色光的位置上。
[0127]继续该示例,可以定义以下公式:
[0128]J(i/,j,,l)=A(i" +2,j" )*wu*wv
[0129]+A(i" +l,j" +l)*wu*(l_wv)
[0130]+A(i" +l,j" -l)*(l_wu)*wv
[0131]+A(i",j" )*(l-wu)*(l_wv)公式 25
[0132]其中,Wu等于(u'_[[[u' ]]])/2,并且wv等于(V _[[[v' ]]])/2。本领域技术人员将容易地认识到以上所定义的J(i',j',1)是四个测量值A(i",j" )、A(i" +1,j" +l)、A(i" +l,j" -1)和 A(i" +2,j")在(i',j')处的双线性插值。
[0133]根据实施例,以下描述了在位置(i',j')处的颜色通道2(蓝色)的值的插值,其中i'和j'不一定是整数编号。在该示例中,[[[i']]]表示不小于i'的最大奇数整数。同样地,[[[_r ]]]表示不小于的最大奇数整数。接下来可以定义以下公式:
[0134]J(i/ , j' ,2) = A([[[i/ ]]]+2,[[[j' ]]] +2)^w^wj
[0135]+A([[[i/ ]]]+2, [[[j/ UD^w^d-Wj)
[0136]+A([[[i/ ]]],[[[j' ]]]+2)*(1_?^)*?^
[0137]+A([[[i' ]]],[[[j' ]]])*(1-?)*(1-%)公式 26
[0138]其中,Wi等于(i' _[[[i' ]]])/2,并且 % 等于(j' -[[[j/ ]]])/2。在该示例中,根据拜耳颜色滤波器阵列的布局清楚的是,A([[[i' ]]],[[[j' ]]])、A([[[i' ]]],[[[j ' ]]]+2)、A([[[i ' ]]]+2,[[[j ']]])和 A([[[i' ]]]+2,[[[j ' ]]]+2)是到达成像传感器的蓝色光的所有测量值。因此,J(i,,j,,2)实际上是蓝色光的测量值。本领域技术人员将容易地认识到以上所定义的J(i,,j,,2)是四个测量值A([[[i/ ]]],[[[j/ ]]])、A([[[i' ]]],[[[j' ]]]+2)、A([[[i' ]]]+2,[[[j' ]]])和A([[[i/ ]]]+2,[[[j' ]]]+2)在(i',j')处的双线性插值。
[0139]现在已经描述了同时执行产生扭曲的图像J的拜耳颜色滤波器阵列A的去马赛克和扭曲的所公开方法的实施例。
[0140]与早先描述的去马赛克和扭曲的经典方法相反,所公开的混合去马赛克和扭曲的方法可以不需要附加的中间图像I。因此,可以不需要存储图像I的附加存储器,并且因此,与实现经典方法的系统相比,实现所公开的方法的系统可以需要较少存储器。
[0141]另外,与去马赛克和扭曲的经典方法相反,在所公开的方法中仅发生一个插值过程。因此,可以避免在第二次插值过程期间对一个插值过程的插值伪影的恶化。由于插值伪影对图像质量是不利的,所以所公开的方法可以优于经典方法。
[0142]进一步采样示例
[0143]描述以上所讨论的使用双线性插值在颜色滤波器阵列中采样位置的另一种方式现在将被描述。在以下示例中,所使用的颜色滤波器阵列将具有如图1中所示的经典拜耳模板。如相关领域技术人员将理解的,其它颜色滤波器阵列模板也可以与本文所描述的方法一起使用。
[0144]以下方案背后的主要构想是考虑在颜色滤波器阵列中(此处为拜耳模板)一个的位置,并且给出邻近彩色像素的理解的情况下,对在样本点处的样本红色、绿色和蓝色值应用合适的插值。在实施例中,可在位于像素的2x2四联体(或四元组)内的样本点上进行插值。例如,对于拜耳颜色滤波器阵列,采样位置可落入如图4中所示的四个可能的四元组420、422、424和426中的一个之内。出于示例的目的,现在将描述对位于四元组420之内的像素的采样。
[0145]图5图示了根据实施例的可以在计算中被用来获得修订的彩色图像的拜耳颜色滤波器阵列530的字母映射536。在图5中,样本点532可以位于四元组534之内,四元组534是如图4中所示的四元组类型420。图6中的样本点632同样定位于颜色滤波器阵列636中并且可以帮助进行该示例的讨论。样本点532/632可被表示为位置(u,v),其中u可以指示四元组534的左上像素(被标记为“F”)和样本点532/632之间的水平距离(示出为图6中的距离640),并且v可以指示四元组534的左上像素和样本点532/632之间的垂直距离(示出为图6中的距离642)。字母映射536意图表示在颜色滤波器阵列530中的对应像素位置处的颜色值,从而简化以下计算的理解。
[0146]在实施例中,为了插值四元组534中的样本点532的红颜色值,可以获得在F和Η(在图6中的位置644处指示)以及还在Ν和Ρ (在图6中的位置646处指示)处的红色值的水平插值,接下来获得水平插值的结果之间的垂直插值。可替代地,如相关领域技术人员将理解的是,首先执行垂直插值接下来执行在垂直插值的结果之间的水平插值应当产生相同的结果。
[0147]在该示例中,上部(upper)和下部(lower)水平插值可示出在以下公式中:
[0148]Upper = F+(H_F)*u/2公式 27
[0149]Lower = N+(P_N)*u/2公式 28
[0150]接下来,垂直插值可示出在以下公式中:
[0151]r = Upper+ (Lower-Upper) *v/2公式 29
[0152]接下来针对样本点532的产生的插值r可示出在以下公式中:
[0153]r = F+ (H-F) *u/2+ (N+ (P_N) *u/2_F_ (H_F) *u/2) *v/2公式 30
[0154]r = F+ (H-F) *u/2+ (N_F) *v/2+ (P+F-N-H) *u*v/4公式 31
[0155]以这种方式,可以需要单组插值计算,与需要一组插值计算用于去马赛克和另一组插值计算用于扭曲不同。对于在其它三种类型的四元组(图4的422、424和426)内发现的希望红色或蓝色值的任何样本点,将应用类似的计算。
[0156]确定在类似定位的样本点处的绿色值是不同的,这是因为颜色滤波器阵列中的绿色值的频率和放置。根据实施例的在颜色滤波器阵列736中确定类似定位的样本点732的绿色值的示例可以在图7中被示出。在该示例中,为了插值样本点732的绿颜色值,可以获得在B和J(在位置756处指示)并且还在G和0(在位置758处指示)处的绿色值的垂直插值,接下来获得在垂直插值的结果之间的水平插值。在该示例中,由于颜色滤波器阵列中绿色值的放置,执行相反的插值(也就是首先执行水平插值,接下来执行在水平插值的结果之间的垂直插值)可能产生不同的值。因此,以两种方式执行插值并且对两个结果进行平均以获得样本点732处的最佳绿色值是有用的。
[0157]可以在图8A-B、9A_B以及10中示出了根据实施例的确定样本点862的绿色值的替代示例。在该示例中,可以从环绕样本点的菱形中的四个点进行采样。图8A和8B描绘了具有表示的样本点的四个示例四元组,其可以各自需要基于定位以略有不同的方式进行处理。在每个示例的四元组中,字母X和Y表示颜色滤波器阵列中红色(R)和蓝色(B)的值,或反之亦然。字母G表示颜色滤波器阵列中的绿色值,并且星号表示样本点。在每个示例中,在右边的四元组被示出为具有在环绕样本点的菱形图案中示出的更多的颜色滤波器阵列的绿色值。在第一个示例中(图8A中示出的示例A),在四元组860中的样本点862可以在由四元组860的绿色像素形成的对角线的上方,在这种情况下,由所指定的绿色像素形成的菱形864可被用来确定样本点862的绿色值。在第二个示例中(示例B),四元组866中的样本点868可位于由四元组866的绿色像素所形成的对角线的下方,在这种情况下,由指定的绿色像素所形成的菱形870可被用来确定样本点868的绿色值。在第三个示例中(图8B中示出的示例C),四元组872中的样本点874可位于由四元组872的绿色像素所形成的对角线的下方,在这种情况下,由指定的绿色像素所形成的菱形876可被用来确定样本点874的绿色值。在第四个示例中(示例D),四元组878中的样本点880可位于由四元组878的绿色像素所形成的对角线的上方,在这种情况下,由指定的绿色像素所形成的菱形882可被用来确定样本点880的绿色值。为了便于理解接下来的公式,在菱形864、870,876和882中的绿色像素的绿色值可由对应的罗经点表示,N(北)针对顶部绿色像素,S(南)针对底部绿色像素,E(东)针对右侧绿色像素,并且W(西)针对左侧绿色像素,如图9A和9B中所示的。
[0158]在图8A-B/9A-B中所示的示例中,每个样本点的坐标可以被表示为(u,ν),其中u可以是四元组的左上像素与样本点之间的水平距离,ν可以是四元组的左上像素与样本点之间的垂直距离。这在图10中所示的示例中示出,图10表示图8A和9A中的示例A中所示的示例。在图10中所示的示例中,颜色滤波器阵列1036的样本点1090的坐标,u可以是四元组的左上像素(像素F)与样本点1090之间的水平距离1092,并且ν可以是四元组的左上像素(像素F)与样本点1090之间的垂直距离1094。为了确定样本点1090处的绿色值,类似于图8A和9A中的示例A中所示的菱形,可以从由在四元组的上方和左侧的两个绿色像素(像素B和E)以及四元组中的绿色像素(像素G和J)所形成的菱形1095来进行采样。对于其它三种类型的四元组,可以按照对应的方式来进行u和ν的值的确定,并且用于其它三种类型的四元组的绿色值的菱形可以是图8A-B和9A-B中的示例B、C和D中所示的那些菱形。
[0159]为了确定样本点处的绿色值,可以针对图8A-B和9A-B中所示的四个绿色示例中每一个定义一对(u',y丨)。在四个示例的第一个示例中,其中样本点在绿色像素的上升对角线的上方(示例Α):
[0160]u' = u+v+1.0,并且 ν' = 1.0+u-v公式 32
[0161](例如,在图10中所示的这个四元组配置的示例中,u'可以由箭头1096示出,并且W可以由箭头1098示出。)在四个示例的第二个示例中,其中样本点在绿色像素的上升对角线的下方(示例Β):
[0162]u' = U+V-1.0,并且 ν' = 1.0+u-v公式 33
[0163]在四个示例的第三个示例中,其中样本点在绿色像素的下降对角线的下方(示例C):
[0164]u' =u+v,并且 ν' = 2.0+u-v公式 34
[0165]在四个示例的最后一个示例中,其中样本点在绿色像素的下降对角线的上方(示例D):
[0166]u1 =u+v,并且 ν' = u-v公式 35
[0167]接下来从四个示例中的任何一个的四个绿色源像素(指定为N、S、E和W)插值得到的绿色值可以被计算为:
[0168]g = ff+(S-ff)*u/ /2.0+(N-ff) /2.0+(ff-N-S+E) *v' /4.0 公式 36
[0169]如上面讨论的,并且如相关领域技术人员将认识到的,通过使用以上所公开的用于图像去马赛克和扭曲的方法,可以避免插值操作集合的多重性,节约存储器,减少处理时间,最小化伪影以及减少成本。
[0170]示例性系统
[0171]图11是根据实施例的示例性系统或计算设备1102的方框图,示例性系统或计算设备1102中可以实现本文所描述的方法。计算设备1102可包括图像处理器1104和照相机1105。在实施例中,图像处理器1104可使用扭曲位置逻辑单元1106和颜色值逻辑单元1107执行本文描述的方法。在实施例中,还可以存在其它逻辑单元1108。例如,可以存在用于执行对来自其本身或任何其它逻辑单元的结果的存储的逻辑单元。本领域技术人员将认识到诸如逻辑单元1106、1107和1108之类的逻辑单元的功能可以由单个逻辑单元或任意数量的逻辑单元来执行。照相机1105可包括传感器1109,图像可以在传感器1109上被初始捕获。计算设备1102可以是例如数字照相机设备或智能电话,或能够拍摄图像和/或视频的其它计算设备。在计算设备1102中,图像处理器1104可以对在照相机传感器1109处捕获的图像执行本文所描述的过程。可替代地,在照相机传感器1109处捕获的图像可以被传送,并且经由另一个计算设备的处理器处的硬件或软件(诸如例如图像处理软件包)被处理。图12中示出了这个的示例。
[0172]图12是根据实施例的另一个示例性系统1210的方框图,在系统1210中可以实现本文所描述的方法。系统1210可以包括具有图像处理器1214的计算设备1212和具有传感器1217的照相机1216。在系统1210中,照相机1216可以不是根据本文所描述的过程处理图像的计算设备的一部分。相反地,由照相机1216在传感器1217处捕获的图像数据可以经由照相机1216和计算设备1212处的输入/输出(I/O)端口(未示出)被提供给计算设备1212以用于在图像处理器1214处进行处理。I/O端口之间的通信可以是例如无线通信、有线通信或经由诸如光盘、闪存驱动器或其它数据存储设备之类的手持计算机可读介质。在实施例中,图像处理器1214可使用扭曲位置逻辑单元1218和颜色值逻辑单元1219执行本文所描述的方法。在实施例中,还可以存在其它逻辑单元1221。例如还可以存在用于执行对来自其本身或任何其它逻辑单元的结果的存储的逻辑单元。本领域技术人员将认识到诸如逻辑单元1218、1219和1221之类的逻辑单元的功能可以由单个逻辑单元或任意数量的逻辑单元来执行。
[0173]本文所公开的一个或多个特征可以实现在硬件、软件、固件和以上这些的组合中,包括分立的和集成的电路逻辑、专用集成电路(ASIC)逻辑和微控制器,并且可被实现为特定领域集成电路包的部分或集成电路包的组合。本文所使用的术语“软件”和“固件”指代包括至少一个计算机可读介质的计算机程序产品,该计算机可读介质具有存储在其中的计算机程序逻辑(诸如计算机可执行指令),用于使得计算机系统执行本文所公开的一个或多个特征和/或特征的组合。计算机可读介质可以是临时性的或非临时性的。临时性计算机可读介质的示例可以是通过局域网或广域网,或者通过诸如互联网的网络经由射频或电导体传输的数字信号。非临时性计算机可读介质的示例可以是光盘、闪存或其它数据存储设备。
[0174]在实施例中,本文所描述的一些或所有处理可被实现为软件或固件。这样的软件或固件实施例可被图示在图13中的计算系统1302的背景中。计算系统1302可表示例如图11中所示的计算设备1102。计算系统1302可包括一个或多个中央处理单元(CPU)(诸如通用处理器1320),其通过总线1332或类似的机制连接到存储器1322、一个或多个次要存储设备1324、具有传感器1309的照相机1305和图像处理器1304。可替代地,图像处理器1304可以与通用处理器1320集成。图像处理器1304可包括一个或多个逻辑单元,诸如例如扭曲逻辑单元1306和颜色值逻辑单元1307,用于执行本文所描述的方法。在实施例中,还可以存在其它逻辑单元1308。例如,可以存在用于执行对来自其本身或任何其它逻辑单元的结果的存储的逻辑单元。本领域技术人员将认识到诸如逻辑单元1306、1307和1308之类的逻辑单元的功能可以由单个逻辑单元或任意数量的逻辑单元来执行。计算系统1302可以可选地包括(一个或多个)通信接口 1328和/或用户接口组件1330。一个或多个次要存储设备1324可以是例如一个或多个硬盘驱动器或类似物,并且可以存储由图像处理器1304和/或通用处理器1320执行的指令1326。在实施例中,通用处理器1320和/或图像处理器1304可以是微处理器和软件,诸如可以存储或加载到存储器1322中用于由通用处理器1320和/或图像处理器1304执行以提供本文所描述的功能的指令1326。注意到,虽然未示出,但计算系统1302可包括附加组件。
[0175]图14是根据实施例的另一个示例性计算设备1412的方框图,在计算设备1412中可以实现本文所描述的实施例。计算系统1412可表示例如图12中所示的计算设备1212。计算系统1412可包括一个或多个中央处理单元(CPU)(诸如通用处理器1420),其通过总线1432或类似机制连接到存储器1422、一个或多个次要存储设备1424和图像处理器1414。可替代地,图像处理器1414可以与通用处理器1420集成。图像处理器1414可包括一个或多个逻辑单元,诸如例如扭曲逻辑单元1418和颜色值逻辑单元1419,用于执行本文所描述的方法。在实施例中,还可存在其它逻辑单元1421。例如,可以存在用于执行对来自其本身或任何其它逻辑单元的结果的存储的逻辑单元。本领域技术人员将认识到诸如逻辑单元1418、1419和1421之类的逻辑单元的功能可以由单个逻辑单元或任意数量的逻辑单元来执行。计算系统1412可包括(一个或多个)通信接口 1428和/或用户接口组件1430。在实施例中,(一个或多个)通信接口 1428可被用来把由照相机传感器捕获的图像数据提供给计算系统1412以用于使用本文所描述的方法进行处理。一个或多个次要存储设备1424可以是例如一个或多个硬盘驱动器或类似物,并且可以存储将由图像处理器1414和/或通用处理器1420执行的指令1426。在实施例中,通用处理器1420和/或图像处理器1414可以是微处理器和软件,诸如可以存储或加载到存储器1422中用于由通用处理器1420和/或图像处理器1414执行以提供本文所描述的功能的指令1426。注意到,虽然未示出,但计算系统1412可包括附加组件。
[0176]以上所描述的系统、方法和计算机程序产品可以是更大的信息系统的部分。图15图示了这样的实施例,如系统1500。在实施例中,系统1500可以是媒体系统,但是系统1500不限于该背景。例如,系统1500可以被并入到个人计算机(PC)、膝上型计算机、超极膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA组合、电视、智能设备(例如智能电话、智能平板或智能电视)、移动互联网设备(MID)、发信息设备、数据通信设备等中。
[0177]在实施例中,系统1500包括耦合到显示器1520的平台1502。平台1502可从诸如(一个或多个)内容服务设备1530或(一个或多个)内容递送设备1540之类的内容设备或其它类似的内容源接收内容。包括一个或多个巡览特征的巡览控制器1550可被用来与例如平台1502和/或显示器1520交互。以下将对这些组件的每一个进行详述。
[0178]在实施例中,平台1502可包括芯片组1505、处理器1510、存储器1512、存储设备1514、图形子系统1515、应用1516和/或无线电1518的任意组合。芯片组1505可提供处理器1510、存储器1512、存储设备1514、图形子系统1515、应用1516和/或无线电1518之间的互相通信。例如,芯片组1505可包括能够提供与存储设备1514的互相通信的存储适配器(未描绘)。
[0179]处理器1510可被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其它微处理器或中央处理器单元(CPU)。在实施例中,处理器1510可包括(一个或多个)双核处理器、(一个或多个)双核移动处理器坐寸。
[0180]存储器1512可被实现为易失性存储器设备,诸如(但不限于)随机访问存储器(RAM)、动态随机访问存储器(DRAM)或静态RAM (SRAM)。
[0181]存储设备1514可被实现为非易失性存储设备,诸如(但不限于)磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池备份SDRAM(同步DRAM)和/或网络可接入存储设备。在实施例中,存储设备1514可包括如下技术:当包括多个硬盘驱动器时,该技术增加对贵重数字介质的存储性能加强保护。
[0182]图形子系统1515可执行对诸如静态或视频的图像的处理以用于显示。图形子系统1515可以是例如图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可被用来以通信方式耦合图形子系统1515和显示器1520。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD兼容技术中的任意一种。图形子系统1515可被集成到处理器1510或芯片组1505中。图形子系统1515可以是以通信方式耦合到芯片组1505的独立卡。
[0183]本文所描述的图形和/或视频处理技术可被实现为各种硬件架构。例如,图形和/或视频功能可被集成在芯片组内。可替代地,可以使用分立的图形和/或视频处理器。在还另一实施例中,图形和/或视频功能可由通用处理器实现,该通用处理器包括多核处理器。在另外的实施例中,这些功能可实现为消费电子设备。
[0184]无线电1518可包括能够使用各种合适的无线通信技术传输和接收信号的一个或多个无线电。这样的技术可以涉及跨越一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN),无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨越这样网络的通信中,无线电1518可依照一个或多个适用的任意版本的标准进行操作。
[0185]在实施例中,显示器1520可包括任何电视类型监视器或显示器。显示器1520可包括例如计算机显示器屏幕、触摸屏显示器、视频监视器、电视类设备和/或电视。显示器1520可以是数字和/或模拟的。在实施例中,显示器1520可以是全息显示器。而且,显示器1520可以是可以接收视觉投影的透明表面。这样的投影可以传送各种形式的信息、图像和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用的视觉重叠。在一个或多个软件应用1516的控制下,平台1502可在显示器1520上显示用户界面1522。
[0186]在实施例中,(一个或多个)内容服务设备1530可由任意国家的、国际和/或独立的服务主控,并且因此平台1502可经由例如互联网进行访问。(一个或多个)内容服务设备1530可耦合到平台1502和/或显示器1520。平台1502和/或(一个或多个)内容服务设备1530可以耦合到网络1560以把媒体信息传递(例如发送和/或接收)到网络1560,和从网络1560传递媒体信息。(一个或多个)内容递送设备1540也可以耦合到平台1502和/或显示器1520。
[0187]在实施例中,(一个或多个)内容服务设备1530可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的互联网使能设备或设施、和能够经由网络1560或者直接地在内容提供商和平台1502和/显示器1520之间单向地或双向地传递内容的任何其它类似设备。将被理解的是,可以经由网络1560向系统1500中的任何一个组件和内容提供商单向地和/或双向地传递内容,以及经由网络1560从系统1500中的任何一个组件和内容提供商单向地和/或双向地传递内容。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
[0188](一个或多个)内容服务设备1530接收诸如包括媒体信息、数字信息和/或其它内容的有线电视节目的内容。内容提供商的示例可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的示例并意图限制本发明的实施例。
[0189]在实施例中,平台1502可从具有一个或多个巡览特征的巡览控制器1550接收控制信号。控制器1550的巡览特征可被用来与例如用户界面1522交互。在实施例中,巡览控制器1550可以是指示设备,指示设备可以是允许用户把空间(例如连续的和多方向的)数据输入到计算机中的计算机硬件组件(特指人类接口设备)。诸如图形用户界面(GUI)的许多系统和电视和监视器允许用户使用物理姿势控制和提供数据到计算机或电视。
[0190]控制器1550的巡览特征的移动可在显示器(例如显示器1520)上通过例如在该显示器上显示的指针、光标、焦点环或其它视觉指示的移动来做出反应。例如,在软件应用1516的控制下,位于巡览控制器1550上的巡览特征可被映射到例如在用户界面1522上显示的虚拟巡览特征。在实施例中,控制器1550可以不是单独的组件,而是集成在平台1502和/或显示器1520中。然而,实施例并不受限于本文所示出或描述的元件或者背景。
[0191]在实施例中,驱动器(未不出)可包括使用户能够利用在初始启动后触摸按钮(例如在使能时)而即时打开和关闭平台1502(例如电视)。当平台被关闭时,程序逻辑可允许平台1502将内容流送到媒体适配器或(一个或多个)其它内容服务设备1530或(一个或多个)内容递送设备1540。另外,芯片组1505可包括例如针对5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可包括外围设备互联(PCI)快速图形卡。
[0192]在各个实施例中,可以集成系统1500中示出任意一个或多个组件。例如,可以集成平台1502和(一个或多个)内容服务设备1530,或者可以集成平台1502和(一个或多个)内容递送设备1540,或者例如可以集成平台1502、(一个或多个)内容服务设备1530和(一个或多个)内容递送设备1540。在各个实施例中,平台1502和显示器1520可以是集成的单元。例如,可以集成显示器1520和(一个或多个)内容服务设备1530,或者可以集成显示器1520和(一个或多个)内容递送设备1540。这些示例并不意图限制本发明。
[0193]在各个实施例中,系统1500可被实现为无线系统、有线系统或这两者的组合。当实现为无线系统时,系统1500可包括适合于通过无线共享介质进行通信的组件和接口,这些无线共享介质诸如是一个或多个天线、传输器、接收器、收发器、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括无线频谱的部分,诸如RF频谱等。当实现为有线系统时,系统1500可包括适合于通过有线通信介质进行通信的组件和接口,这些有线通信介质诸如是输入/输出(I/O)适配器,连接I/O适配器和对应的有线通信介质的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例包括电线、电缆、金属导线、印刷电路板(PCB)、底板、交换结构、半导体金属、双绞线、同轴电缆、光纤等。
[0194]平台1502可建立一个或多个逻辑或物理通道以传递信息。这些信息可包括媒体信息和控制信息。媒体信息可以指代表示意图用于用户的内容的任何数据。内容的示例可以包括例如来自语音会话、视频会议、流视频、电子邮件(“ emai 1 ”)消息、语音邮件消息、字母符号、图形、图像、视频、文本等的数据。来自语音会话的数据可以例如是言语信息、沉默期、背景噪音、舒适噪音、音调等。控制信息可以指代表示意图用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可被用来通过系统路由媒体信息,或者指令节点以预定方式处理媒体信息。然而这些实施例并不限于图15中示出或描述的元件或背景。
[0195]如上所述,系统1500可以按照变化的物理式样或形状因数被体现。图16图示了可以在其中体现系统1500的小形状因数设备1600的实施例。在实施例中,例如设备1600可被实现为具有无线能力的移动计算设备。移动计算设备可以指代具有处理系统和移动功率源或电源(诸如例如一个或多个电池)的任何设备。
[0196]如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA的组合、电视、智能设备(例如智能电话、智能平板或智能电视)、移动互联网设备(MID)、发信息设备、数据通信设备等。
[0197]移动计算设备的示例还可以包括被布置为由人穿戴的计算机,诸如手腕计算机、手指计算机、环形计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、衣服计算机和其它可穿戴计算机。在实施例中,例如,移动计算设备可被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管可以以示例的方式利用被实现为智能电话的移动计算设备描述一些实施例,但是可以理解的是,还可以使用其它无线移动计算设备来实现其它实施例。实施例并不限于这个背景。
[0198]如图16中所不,设备1600可包括外壳1602、显不器1604、输入/输出(I/O)设备1606和天线1608。设备1600还可以包括巡览特征1612。显示器1604可包括用于显示适合于移动计算设备的信息的任何合适的显示单元。I/o设备1606可包括用于把信息输入到移动计算设备中的任何合适的I/O设备。I/O设备1606的示例可以包括字母键盘、数字键板、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。还可以通过麦克风的方式将信息输入到设备1600中。这样的信息可由语音识别设备进行数字化。实施例并不限于这个背景。
[0199]可使用硬件元件、软件元件或这两者的组合来实现各个实施例。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、进程、软件接口、应用程序接□ (API)、指令集、计算码、计算机码、码段、计算机码段、文字、数值、符号或以上这些的任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可以依照任意数量的因素而变化,诸如期望的计算速率、功率等级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
[0200]可由存储在机器可读介质上的表示性指令来实现至少一个实施例的一个或多个方面,表示性指令表示处理器内的各种逻辑,当机器读取这些指令时,使得机器制造逻辑以执行本文所描述的技术。被称为“IP核”的这样的表示可存储在有形的机器可读介质上,并且供应给各个消费者或制造工厂以将其加载到实际上制造逻辑或处理器的制造机器中。
[0201]以下示例涉及进一步的实施例。
[0202]示例1可包括图像处理系统,该图像处理系统包括第一电路逻辑单元,其被配置为针对彩色图像中的每个像素位置(i,j)和每个颜色通道,确定颜色滤波器阵列中的扭曲位置a’,j’);和第二电路逻辑单元,其被配置为针对彩色图像中的每个像素位置a,j)和每个颜色通道,确定颜色滤波器阵列中的位置a’,j’)处的颜色通道的颜色值。
[0203]在示例2中,示例1的主题可以可选地包括第三电路逻辑单元,其被配置为针对彩色图像中的每个像素位置(i,j)和每个颜色通道,存储所确定的颜色值。
[0204]示例3可包括示例1-2中任一所述的主题,其中由第二电路逻辑单元确定颜色值包括插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值。
[0205]示例4可包括示例3的主题,其中插值颜色值包括通过双线性插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值。
[0206]示例5可包括示例3的主题,其中插值颜色值包括通过双三次插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值。
[0207]示例6可包括示例3的主题,其中插值颜色值包括通过最接近相邻插值来插值颜色滤波器阵列中的位置a’,j’)处的颜色通道的颜色值。
[0208]示例7可包括示例1-6中任一所述的主题,其中颜色滤波器阵列包括拜耳模板。
[0209]示例8可包括用于图像处理的计算机程序产品,该计算机程序产品包括至少一个非临时性计算机可读介质,该非临时性计算机可读介质具有存储在其中的计算机程序逻辑,该计算机程序逻辑包括使得处理器针对彩色图像中的每个像素位置(i,j)和每个颜色通道确定颜色滤波器阵列中的扭曲位置的逻辑;和使得处理器针对彩色图像中的每个像素位置a,j)和每个颜色通道确定颜色滤波器阵列中的位置a’,j’)处的颜色通道的颜色值的逻辑。
[0210]示例9可包括示例8的主题,其中计算机程序逻辑进一步包括使得处理器针对彩色图像中的每个像素位置(i,j)和每个颜色通道存储所确定的颜色值的逻辑。
[0211]示例10可包括示例8-9任一所述的主题,其中使得处理器确定颜色值的逻辑包括:使得处理器插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值的逻辑。
[0212]示例11可包括示例10的主题,其中使得处理器插值颜色值的逻辑包括:使得处理器通过双线性插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值的逻辑。
[0213]示例12可包括示例10的主题,其中使得处理器插值颜色值的逻辑包括:使得处理器通过双三次插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值的逻辑。
[0214]示例13可包括示例10的主题,其中使得处理器插值颜色值的逻辑包括:使得处理器通过最接近相邻插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值的逻辑。
[0215]示例14可包括示例8-13中任一所述的主题,其中颜色滤波器阵列包括拜耳模板。
[0216]示例15可包括用于图像处理的设备,其包括用于针对彩色图像中的每个像素位置a,j)和每个颜色通道,确定颜色滤波器阵列中的扭曲位置a’,j’)的装置;和用于通过图像处理设备针对彩色图像中的每个像素位置a,j)和每个颜色通道确定颜色滤波器阵列的位置a’,j’)处的颜色通道的颜色值的装置。
[0217]在示例16中,示例15的主题可以可选地包括用于针对彩色图像中的每个像素位置(i,j)和每个颜色通道存储所确定的颜色值的装置。
[0218]示例17包括示例15-16中任一所述的主题,其中用于确定颜色值的装置包括用于插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值的装置。
[0219]示例18包括示例17的主题,其中用于插值的装置包括用于通过双线性插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值的装置。
[0220]示例19包括示例17的主题,其中用于插值的装置包括:用于通过双三次插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值的装置。
[0221]示例20包括示例17的主题,其中用于插值的装置包括:用于通过最接近相邻插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值的装置。
[0222]示例21包括示例15-20中任一所述的主题,其中颜色滤波器阵列包括拜耳模板。
[0223]示例22可包括一种图像处理方法,其包括:针对彩色图像中的每个像素位置(i,j)和每个颜色通道,通过图像处理设备确定颜色滤波器阵列中的扭曲位置a’,j’);和通过图像处理设备确定颜色滤波器阵列的位置a’,j’)处的颜色通道中的颜色值。
[0224]在示例23中,示例22的主题可以可选地包括:针对彩色图像中的每个像素位置(i,j)和每个颜色通道,存储所确定的颜色值。
[0225]示例24可包括示例22-23中任一所述的主题,其中确定颜色值包括:插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值。
[0226]示例25可包括示例24的主题,其中插值颜色值包括:通过双线性插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值。
[0227]示例26可包括示例24的主题,其中插值颜色值包括:通过双三次插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值。
[0228]示例27可包括示例24的主题,其中插值颜色值包括:通过最接近相邻插值来插值颜色滤波器阵列中位置a’,j’)处的颜色通道的颜色值。
[0229]示例28可包括示例22-27中任一所述的主题,其中颜色滤波器阵列包括拜耳模板。
[0230]示例29可包括至少一个机器可读介质,包括多个指令,响应于在计算设备上执行这些指令,使得计算设备执行根据示例22-28中任一所述的方法。
[0231]示例30可包括一种计算机系统,用于执行示例22-28中任一所述的方法。
[0232]示例31可包括被配置为执行示例22-28中任一所述的方法的设备。
[0233]示例32可包括用于执行示例22-28中任一所述的方法机器。
[0234]示例33可包括一种设备,该设备包含用于执行示例22-28中任一所述的方法的装置。
[0235]示例34可包括一种计算设备,包括根据示例22-28中任一个的芯片组和存储器以用于处理图像。
[0236]在图示了功能、特征及其关系的功能建构块的帮助下,本文公开了方法和系统。出于描述方便的目的,在本文中任意定义了这些功能建构块的至少一些边界。可以定义替换的边界,只要特定功能及其关系被合适地执行。
[0237]虽然本文公开了各个实施例,但应当理解的是,它们仅以示例而非限制的方式被呈现。对于相关领域技术人员将显而易见的是,可以在其中做出形式和细节上的各种修改而不脱离本文所公开的方法和系统的范围。因此,权利要求的宽度和范围不应当由本文所公开的任何示例性实施例所限制。
[0238]如可以在本申请和权利要求中所使用的那样,由术语“一个或多个”所连接的项目列表可以表示所列术语的任意组合。例如,短语“A、B或C中的一个或多个”可以表示A ;B ;C ;A和Β ;Α和C ;Β和C ;或者A, B和C。
【权利要求】
1.一种图像处理系统,包括: 第一电路逻辑单元,被配置为:针对彩色图像中的每个像素位置(i,j)和每个颜色通道确定颜色滤波器阵列中的扭曲位置a’,j’);和 第二电路逻辑单元,被配置为:针对所述彩色图像中的每个像素位置a,j)和每个颜色通道,确定所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的颜色值。
2.根据权利要求1所述的图像处理系统,进一步包括: 第三电路逻辑单元,被配置为:针对所述彩色图像中的每个像素位置a,j)和每个颜色通道存储所述确定的颜色值。
3.根据权利要求1所述的图像处理系统,其中由所述第二电路逻辑单元确定颜色值包括:插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值。
4.根据权利要求3所述的图像处理系统,其中插值所述颜色值包括通过双线性插值来插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值。
5.根据权利要求3所述的图像处理系统,其中插值所述颜色值包括通过双三次插值来插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值。
6.根据权利要求3所述的图像处理系统,其中插值所述颜色值包括通过最接近相邻插值来插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值。
7.根据权利要求1所述的图像处理系统,其中所述颜色滤波器阵列包括拜耳模板。
8.一种用于图像处理的计算机程序产品,包括至少一个计算机可读介质,所述计算机可读介质具有存储在其中的计算机程序逻辑,所述计算机程序逻辑包括: 使得处理器针对彩色图像中的每个像素位置(i,j)和每个颜色通道确定颜色滤波器阵列中的扭曲位置a’,j’)的逻辑;和 使得所述处理器针对所述彩色图像中的每个像素位置a,j)和每个颜色通道确定所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的颜色值的逻辑。
9.根据权利要求8所述的计算机程序产品,其中所述计算机程序逻辑进一步包括: 使得所述处理器针对所述彩色图像中的每个像素位置(i,j)和每个颜色通道存储所确定的颜色值的逻辑。
10.根据权利要求8所述的计算机程序产品,其中使得所述处理器确定所述颜色值的所述逻辑包括:使得所述处理器插值所述颜色滤波器阵列中位置处的所述颜色通道的所述颜色值的逻辑。
11.一种用于图像处理的设备,包括: 用于针对彩色图像中的每个像素位置(i,j)和每个颜色通道确定颜色滤波器阵列中的扭曲位置的装置;和 用于通过图像处理设备针对所述彩色图像中的每个像素位置(i,j)和每个颜色通道确定所述颜色滤波器阵列的位置a’,j’)处的所述颜色通道中的颜色值的装置。
12.根据权利要求11所述的设备,进一步包括: 用于针对所述彩色图像中的每个像素位置(i,j)和每个颜色通道存储所确定的颜色值的装置。
13.根据权利要求11所述的设备,其中用于确定所述颜色值的所述装置包括: 用于插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值的装 置。
14.一种图像处理方法,包括: 通过图像处理设备针对彩色图像中的每个像素位置(i,j)和每个颜色通道确定颜色滤波器阵列中的扭曲位置a’,j’);和 通过所述图像处理设备确定所述颜色滤波器阵列的位置a’,j’)处的所述颜色通道中的颜色值。
15.根据权利要求14所述的方法,进一步包括:针对彩色图像中的每个像素位置(i,j)和每个颜色通道: 存储所确定的颜色值。
16.根据权利要求14所述的方法,其中确定所述颜色值包括:插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值。
17.根据权利要求16所述的方法,其中插值所述颜色值包括:通过双线性插值来插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值。
18.根据权利要求16所述的方法,其中插值所述颜色值包括:通过双三次插值来插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值。
19.根据权利要求16所述的方法,其中插值所述颜色值包括:通过最接近相邻插值来插值所述颜色滤波器阵列中位置a’,j’)处的所述颜色通道的所述颜色值。
20.根据权利要求14所述的方法,其中所述颜色滤波器阵列包括拜耳模板。
21.至少一个机器可读介质,包括多个指令,响应于在计算设备上执行这些指令,使得所述计算设备执行根据权利要求14-20中任一所述的方法。
22.—种计算机系统,用于执行权利要求14-20中任一所述的方法。
23.一种设备,被配置为执行权利要求14-20中任一所述的方法。
24.—种机器,用于执行权利要求14-20中任一所述的方法。
25.一种设备,包括用于执行权利要求14-20中任一所述的方法的装置。
【文档编号】H04N9/07GK104350743SQ201380021000
【公开日】2015年2月11日 申请日期:2013年3月15日 优先权日:2012年5月11日
【发明者】E·G·格罗斯曼恩, J·I·伍德菲尔, G·戈尔多 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1