用于检测和校正图像传感器中的缺陷像素的系统和方法

文档序号:7914922阅读:409来源:国知局
专利名称:用于检测和校正图像传感器中的缺陷像素的系统和方法
技术领域
本公开一般涉及数字成像设备,具体而言,涉及用于处理使用数字成像设备的图像传感器而获得的图像数据的系统和方法。
背景技术
该部分用于向阅读者介绍涉及以下所描述和/或请求保护的本技术的多个方面的领域的多个方面。相信该讨论有助于向阅读者提供背景信息以使其更好地理解本公开的多个方面。因此,需要理解的是就此而论这些陈述是用来阅读的,而非承认是它们是现有技术。在近些年,数字成像设备已经变得更加普及,这至少得益于这些设备对于一般消 费者来说变得越来越消费得起。此外,除了一些刚上市的独立数码相机之外,数字成像设备整合为另一个电子设备(例如膝上或笔记本电脑、蜂窝电话或便携媒体播放器)的一部分也很常见。为了获取图像数据,大多数数字成像设备包括图像传感器,其提供多个被配置为将图像传感器检测到的光转换为电信号的光检测元件(例如光电检测器)。图像传感器还可包括滤色器阵列,其对由图像传感器捕捉的光进行滤波以获得颜色信息。接着通过图像处理流水线来处理由图像传感器捕捉的图像数据,该图像处理流水线可以对图像数据应用多种图像处理操作以生成可被显示在显示设备(例如监视器)上以供观看的全彩图像。传统图像处理技术一般致力于产生在主观上和客观上都使观看者愉悦的可观看图像,这样的传统技术可能无法充分地解决图像数据中由成像设备和/或图像传感器引入的错误和/或失真。例如,可能因制造缺陷或操作错误而导致的图像传感器中的缺陷像素可能无法准确地感测光线水平,并且如果不加校正,可能会在得到的经处理图像中产生伪影(artifact)。此外,可能因镜头制造的不完美而导致的在图像传感器的边缘处的光强度下降,可能对特性测量有不利影响,并且可能导致一张图像内的整体光强度不均匀。图像处理流水线还可执行一个或多个处理以锐化图像。然而传统锐化技术可能未充分地计及图像信号中存在的噪声,或者可能无法将噪声与图像中的边缘和纹理区域区分开。在这些情况下,传统锐化技术可能实际上增加了图像中噪声的显现,而这通常是不期望发生的。可被应用于由图像传感器获得的图像数据的另一个图像处理操作是去马赛克(demosaicing)操作。因为滤色器阵列一般为每个传感器像素提供一个波长的颜色数据,所以一般针对每个颜色通道进行内插得到颜色数据的完整集合,以再现全彩图像(例如RGB图像)。通常,传统去马赛克技术一般依据某种类型的固定阈值,在水平或垂直方向上内插缺失的颜色数据的值。然而,这些传统去马赛克技术可能未充分计及图像内各边缘的位置和方向,这可能导致引入到全彩图像中的特别是沿着图像内的对角边缘的边缘伪影,例如混叠(aliasing)、棋盘格伪影或彩虹伪影。因此,当处理由数码相机或其他成像设备获得的数字图像时,应当注意多种考虑以提高结果图像的外观。具体而言,以下公开的特定方面可以解决以上简要提及的一个或多个缺点。

发明内容
以下将阐述此处公开的特定实施例的概述。可以理解的是这里仅仅呈现这些方面以向阅读者提供这些特定实施例的简要概述,并且这些方面并不限制本公开的范围。实际上,本公开可以涵盖以下没有阐述的多个方面。本公开提供了用于处理利用数字图像传感器获取的图像数据的各种技术。根据本公开的一些方面,一种这样的技术可涉及图像传感器的缺陷像素的检测和校正。根据一个实施例,提供了存储有已知静态缺陷的位置的静态缺陷表。在这样的实施例中,缺陷像素校正和检测可以在两个阶段中进行。在第一阶段,将图像处理帧内的当前像素的位置与存储在静态缺陷表中的信息进行比较。如果发现当前像素的位置位于静态缺陷表中,则将当前像素识别为静态缺陷并且使用替代值来校正,该替代值可以被选择为相同颜色的前一像素的值。如果当前像素未被识别为静态缺陷,则第二阶段可以通过将当前像素和邻近像素集合之间的像素至像素梯度与动态缺陷阈值进行比较,来确定当前像素是否为动态缺陷。用于校正动态缺陷的替代值可以通过对在表现出最小梯度的方向上位于当前像素相对两侧的两个邻近像素的值进行内插来确定。根据本公开的一些方面,另一种图像处理技术可涉及应用多尺度虚光蒙版(multi-scale unsharp mask)来提供图像锐化。根据一个实施例,首先获得数字图像传感器所获取的图像数据的亮度图像。多尺度虚光蒙版可包括具有不同半径的至少两个高斯滤波器,并且可应用于亮度图像以确定多个虚光(unsharp)值。每个虚光值可以与相对应的阈值进行比较,并且,对于超过其相应阈值的虚光值,可以应用相应的增益,并且经过增益的虚光值可被加到基本图像上,该基本图像可被选择为所述亮度图像或高斯滤波器之一的输出。每个经过增益的虚光值可以与基本图像相加以产生最终的锐化输出。在另一个实施例中,衰减增益可被应用到不超过其相应阈值的虚光值。进一步的实施例还可提供对锐化图像的附加处理以增强边缘和抑制色度。根据本公开的另一个方面,另一种图像处理技术可涉及对数字图像传感器所获取的图像数据进行去马赛克以产生全彩图像。在一个实施例中,图像传感器可包括拜耳滤色器阵列,并且去马赛克可被应用于所得到的拜耳图像模式。在这样的实施例中,可以通过利用自适应边缘检测滤波器确定垂直和水平能量,来为每个非绿色像素内插缺失的绿色值。根据所公开的实施例,绿色、红色和蓝色分量可对确定垂直和水平能量时的边缘检测作出贡献。利用垂直和水平能量对用于当前非绿色像素的内插绿色值的垂直和水平分量加权,并且对加权后的值求和以确定该内插的绿色值。根据这样的实施例,该内插的绿色值可用于内插缺失的红色和蓝色样本。根据本公开的再一个方面,提供了一种用于校正镜头明暗不规则的技术。在一个实施例中,确定当前像素相对于具有分布在水平和垂直方向上的多个栅格点的增益栅格的位置。如果当前像素的位置对应于栅格点,那么与该栅格点相关联的镜头明暗增益被应用到该当前像素。如果当前像素的位置位于四个栅格点之间,那么双线性内插被应用于这四个栅格点,以确定内插的镜头明暗增益。在另一个实施例中,通过确定图像中心到当前像素的径向距离并将该径向距离乘以基于当前像素颜色的全局增益参数,来确定径向镜头明暗、增益。径向镜头明暗增益然后与所确定的镜头明暗栅格增益或镜头明暗内插增益一起被应用到该当前像素。以上所示特征的多种细化存在于本公开涉及的多个方面。其他特征也可并入到这些方面。这些细化和附加特征可独立存在或组合地存在。例如,以下讨论的涉及一个或多个示例实施例的多种特征可被单独或任意组合地并入到本公开的上述方面中。再次,以上呈现的简要概述仅旨在使阅读者熟悉本公开的实施例的特定方面和内容,而非对要求保护的主题的限制。


阅读以下详细描述以及参考附 图可以更好的理解本公开的多个方面,在附图中图I是描述包括被配置为实现本公开中阐述的一个或多个图像处理技术的成像设备和图像处理电路的电子设备的一个例子的部件的简单方框图;图2示出了在图I的成像设备中实现的拜耳滤色器阵列的2X2像素块的示意图;图3是依照本公开的一些方面的膝上型计算设备形式的图I的电子设备的透视图;图4是依照本公开的一些方面的桌上型计算设备形式的图I的电子设备的前视图;图5是依照本公开的一些方面的手持便携型电子设备形式的图I的电子设备的前视图;图6是图5所示的电子设备的后视图;图7是例示了依照本公开的一些方面的可以在图I的图像处理电路中实现的前端图像信号处理(ISP)逻辑和ISP流水处理逻辑的方框图;图8是示出了依照本公开的一些方面的图7的ISP前端逻辑的实施例的更详细的方框图;图9是依照本公开的一些方面的可在由图像传感器捕捉的源图像帧中定义的各种成像区域的图解说明;图10是依照本公开的一些方面的提供对如图8的ISP前端逻辑中所示的ISP前端像素处理单元的一个实施例的更详细视图的方框图;图11是依照一个实施例的例示了如何将时域滤波应用到由图10所示的ISP前端像素处理单元接收到的图像像素数据的处理框图;图12例示了可被用于确定图11所示的时域滤波处理的一个或多个参数的一组参考图像像素和一组对应的当前图像像素;图13是示出了依照本公开一些方面的可在图10的ISP前端像素处理单元中实现的像素合并补偿滤波器的一个实施例的更详细视图;图14示出依照一个实施例的使用图13的像素合并补偿滤波器来缩放图像数据的处理;图15是示出了依照本公开一些方面的可在图8所示的ISP前端处理逻辑中实现的统计处理单元的实施例的更详细方框图;图16示出了依照本公开一些方面的当应用用于在图15的统计处理单元进行统计处理时检测和校正缺陷像素的技术时可能要考虑的各种图像帧边界情况;图17是例示了依照一个实施例的用于在统计处理过程中执行缺陷像素检测和校正的处理的流程图18示出了描绘成像设备的传统镜头的光强度相对于像素位置的三维分布;图19是表现图像中不均匀光强度的照片,这可能是镜头明暗(lens shading)不规则的结果;图20是依照本公开一些方面的包括镜头明暗纠正区域和增益栅格(gain grid)的原始成像帧的图解例示;图21例示了依照本公开一些方面的用于被周围四个栅格增益点包围的图像像素的增益值的内插;图22是例示了依照本技术一个实施例的用于确定在镜头明暗校正操作期间可被应用到成像像素的内插增益值的处理的流程图;图23是描绘了依照本公开一些方面的当执行镜头明暗校正时,可被应用到表现出图18所示的光强度特性的图像的内插增益值的三维分布;图24示出了依照本公开一些方面的来自图19的照片在应用了镜头明暗校正操作之后表现出改进的光强度均匀性的有色图;图25图解例示了依照一个实施例的可以如何计算和使用当前像素和图像的中心之间的径向距离来确定用于镜头明暗校正的径向增益分量;图26是例示了依照本技术一个实施例的使用来自增益栅格的径向增益和内插增益来确定总增益的处理的流程图,在镜头明暗校正操作期间可将该总增益应用到成像像素;图27是示出了依照本公开一些方面的图7的ISP流水处理逻辑的一个实施例的方框图;图28是示出了依照本公开一些方面的可在图27的ISP流水处理逻辑中实现的原始像素处理块的一个实施例的更详细视图;图29示出了依照本公开一些方面的当在图28所示的原始像素处理块执行处理期间应用用于检测和校正缺陷像素的技术时要考虑的各种图像帧边界情况;图30-32是依照一个实施例的描绘可由图28的原始像素处理块执行的用于检测和校正缺陷像素的多种处理的流程图;图33示出了依照本公开一些方面的在图28的原始像素处理逻辑执行处理期间应用绿色非均匀性校正技术时可进行内插的拜耳图像传感器的2X2像素块内的两个绿色像素的位置;图34例示了依照本公开一些方面的包括中心像素和关联的水平邻近像素在内的可被用作用于降噪的水平滤波处理的一部分的像素集合;图35例示了依照本公开一些方面的包括中心像素和关联的垂直邻近像素在内的可被用作用于降噪的垂直滤波处理的一部分的像素集合;图36是描绘了如何将去马赛克应用到原始拜耳图像模式(pattern)以产生全彩RGB图像的简化流程图;图37表示依照一个实施例的拜耳图像模式的像素集合,在该拜耳图像模式的去马赛克期间,可以从其中导出用于内插绿色值的水平和垂直能量分量;
图38示出了依照本技术一些方面的水平像素集合,在拜耳图像模式的去马赛克期间,可对其应用滤波以确定内插的绿色值的水平分量;图39示出了依照本技术一些方面的垂直像素集合,在拜耳图像模式的去马赛克期间,可对其应用滤波以确定内插的绿色值的垂直分量;图40示出了依照本技术一些方面的多种3x3像素块,在拜耳图像模式的去马赛克期间,可对其应用滤波以确定内插的红色和蓝色值;图41-44提供依照一个实施例的描绘在拜耳图像模式的去马赛克期间用于内插绿色、红色和蓝色值的各种处理的流程图;图45示出了可由图像传感器捕捉的并依照此处公开的去马赛克技术的一些方面而处理的初始图像场景;图46示出了如图45所示的图像场景的拜耳图像模式;图47不出了使用传统去马赛克技术基于图46的拜耳图像模式而重构的RGB图像;图48示出了依照此处公开的去马赛克技术的一些方面从图46的拜耳图像模式重构的RGB图像;图49是示出了依照本公开一些方面的可在图27的ISP流水处理逻辑中实现的RGB处理块的一个实施例的更详细视图;图50是示出了依照本公开一些方面的可在图27的ISP流水处理逻辑中实现的YCbCr处理块的一个实施例的更详细视图;图51是依照本公开一些方面的在使用I平面格式的源缓冲器内定义的用于亮度(Iuma)和色度(chroma)的活动源区域的图解描绘;图52是依照本公开一些方面的在使用2平面格式的源缓冲器内定义的用于亮度和色度的活动源区域的图解描绘;图53是例示了依照一个实施例的可在如图50所示的YCbCr处理块中实现的图像锐化逻辑的方框图;图54是例示了依照一个实施例的可在如图50所示的YCbCr处理块中实现的边缘增强逻辑的方框图;图55是示出了依照本公开一些方面的色度衰减因子与锐化的亮度值之间的关系的图;图56是例示了依照一个实施例的可在如图50所示的YCbCr处理块中实现的图像明亮度(brightness)、对比度(contrast)和颜色(BCC)调整逻辑的方框图;以及图57示出了在如图56所示的BCC调整逻辑执行颜色调整期间可以在定义各种色相(hue)角和饱和度(saturation)值的YCbCr颜色空间中应用的色相和饱和度颜色轮(color wheel)。
具体实施例方式以下将描述本公开的一个或多个特定实施例。这些描述的实施例都仅是当前公开的技术的示例。此外,为了提供这些实施例的简明描述,可能不会在说明书中描述实际实现的全部特征。应当明了的是在任意这些实际实现的开发中,如同在任何工程或设计项目中一样,都必须做出众多特定于实现的决定以达到开发者的特定目的,例如顺从因实现的不同而变化的涉及系统的和涉及商业的限制。此外,应当明了的是这样的开发努力可能是复杂且很耗时间的,但仍然是从本公开获益的本领域技术人员的日常设计、生产和制造任务。当介绍本公开的多个实施例的要素时,冠词“a”、“an”和“the”旨在表示一个或多个要素。术语“包含”、“包括”和“具有”旨在是开放的,并且表示除了所列的要素之外还可能有额外的要素。此外,应当理解的是,对于本公开“一个实施例”或“一实施例”的提及并不旨在将其解释为排除同样具有所列举的特征的其他实施例的存在。如以下将要描述的,本公开一般涉及用于处理经由一个或多个图像感测 设备获取的图像数据的技术。具体而言,本公开的特定方面可以涉及用于检测和校正缺陷像素的技术,用于对原始图像模式进行去马赛克的技术,用于使用多尺度虚光蒙版来锐化亮度图像的技术,以及用于应用镜头明暗增益以校正镜头明暗不规则的技术。此外,应当理解的是这里公开的技术可被应用到静态图像和运动图像(例如视频)这两者,并且可被用于任何合适类型的成像应用,例如数码相机、具有集成数码相机的电子设备、安全或视频监视系统、医疗成像系统等等。留意以上要点,图I是例示电子设备10的一个示例的方框图,所述电子设备10可以提供使用以上简单提及的一个或多个图像处理技术对图像数据进行的处理。电子设备10可以是任何类型的电子设备,例如膝上或桌上型计算机、移动电话、数字媒体播放器等等,其被配置为接收和处理图像数据,例如使用一个或多个图像感测部件获取的数据。仅作为示例,电子设备10可以是便携式电子设备,例如可从加利福尼亚州库比蒂诺的苹果公司获得的iPod .或iPhone 的模型。此外,电子设备io可以是桌上或膝上型计算机,例如可从苹果公司获得的MacBook 、MacBook Pro、MacBook Air > iMac %Mac Mini或Mac Pro 的模型。在另外的实施例中,电子设备io还可以是来自其他制造商的能够获取并处理图像数据的电子设备的模型。 无关其形式(例如便携式或非便携式),应当理解的是电子设备10可以提供使用以上简要讨论的一个或多个图像处理技术对图像数据进行的处理,这些技术可包括缺陷像素校正和/或检测技术、镜头明暗校正技术、去马赛克技术、或图像锐化技术,等等。在某些实施例中,电子设备10可将这样的图像处理技术应用到存储在电子设备10的存储器中的图像数据。在其他实施例中,电子设备10可包括一个或多个被配置为获得图像数据的成像设备,例如集成的或外置的数码相机,于是电子设备10可使用一个或多个以上提及的图像处理技术来处理这些图像数据。以下将在图3-6中进一步讨论示出电子设备10的便携式和非便携式实施例的实施例。如图I所示,电子设备10可包括各种用于实现设备10的功能的内置和/或外置部件。本领域技术人员可以理解如图I所示的各种功能块可包括硬件要素(包括电路)、软件要素(包括存储在计算机可读介质上的计算机代码)或硬件和软件要素这两者的组合。例如,在当前所不的实施例中,电子设备10可包括输入/输出(1/0)端口 12、输入结构14、一个或多个处理器16、存储器设备18、非易失性存储器20、(一个或多个)扩展卡22、联网设备24、电源26和显示器28。此外,电子设备10可包括一个或多个成像设备30 (例如数码相机)以及图像处理电路32。如下所要进一步讨论的,图像处理电路32可被配置为在处理图像数据时执行一个或多个以上讨论的图像处理技术。可以明了的是,可以从存储器18和/或非易失性存储设备20检索或者可以使用成像设备30获得供图像处理电路32处理的图像数据。在继续之前,应当理解的是如图I所示的设备10的系统方框图旨在表示描述可能包括在该设备10中的各部件的高级控制框图。也就是说,在如图I所示的每个独立元件之间的连接线并不是一定表示在设备10的各部件之间的数据流动或传输的路径或方向。实际上,如下所讨论的,在某些实施例中,描绘的(一个或多个)处理器16可以包括多个处理器,例如主处理器(例如CPU)和专用图像和/或视频处理器。在这样的实施例中,可主要由这些专用处理器来执行对图像数据的处理,有效地使得主处理器(CPU)免于装载这样的任务。关于图I所示的每个元件,I/O端口 12可包括被配置为连接多种外置设备的端口,这些外置设备例如是电源、音频输出设备(例如耳机或头戴受话器)、或其他电子设备(例如手持设备和/或计算机、打印机、投影仪、外置显示器、调制解调器、坞站(dockingstation) 等等)。在一个实施例中,I/O端口 12可被配置为连接到外置成像设备,例如数码相机,用以获取可使用图像处理电路32处理的图像数据。I/O端口 12可以支持任何适合类型的接口,例如通用串行总线(USB)端口、串行连接端口、IEEE-1394 (FireWire)端口、以太网或调制解调器端口、和/或AC/DC电源连接端口。在某些实施例中,特定的I/O端口 12可被配置为提供多于一种功能。例如,在一个实施例中,I/O端口 12可包括苹果公司专有的端口,其功能不仅在于方便在电子设备10和外部源之间进行数据传输,还将设备10耦合到电源充电接口,例如被设计为从墙壁插座提供电力的电源适配器,或者耦合到被配置为从诸如桌上或膝上型计算机的另一个电子设备吸取电力以用于对电源26 (其可包括一个或多个可充电电池)进行充电的接口电缆。以此方式,例如,取决于通过I/O端口 12被耦合到设备10的外置元件,I/O端口 12可被配置为具有数据传输端口和AC/DC电源连接端口的双重功能。输入结构14可向(一个或多个)处理器16提供用户输入或反馈。例如,输入结构14可被配置为控制电子设备10的一个或多个功能,例如在电子设备10中运行的应用。仅作为示例,输入结构14可包括按钮、滑块、开关、控制板、按键、旋钮、滚轮、键盘、鼠标、触摸板等,或以上这些的某些组合。在一个实施例中,输入结构14可以允许用户导航在设备10上显示的图形用户界面(⑶I)。此外,输入结构14可包括与显示器28—起提供的触摸敏感机构。在这些实施例中,用户可通过触摸敏感机构来选择所显示的界面元素或与之交互。输入结构14可包括多种设备、电路和路径,通过这些将用户的输入或反馈提供给一个或多个处理器16。这样的输入结构14可被配置为控制设备10的功能、在设备10上运行的应用和/或连接到电子设备10或被电子设备10使用的任何接口或设备。例如,输入结构14可允许用户导航显示的用户界面或应用界面。输入结构14的示例可包括按钮、滑块、开关、控制板、按键、旋钮、滚轮、键盘、鼠标、触摸板等等。在特定实施例中,输入结构14和显示器28可被一并提供,例如“触摸屏”的情况,籍此与显示器28 —并提供触摸敏感机构。在这样的实施例中,用户可通过触摸敏感机构来选择所显示的界面元素或与之交互。以此方式,显示的界面可提供交互功能,允许用户通过触摸显示器28来导航显示的界面。例如,利用输入结构14进行的用户交互,例如与用户交互或与显示在显示器28上的应用界面交互,可生成指示用户输入的电信号。这些输入信号可以通过合适的路径(例如输入集线器或数据总线)被路由到一个或多个处理器16以做进
一步处理。除了处理通过(一个或多个)输入结构14接收到的各种输入信号之外,(一个或多个)处理器16还控制设备10的一般操作。例如,处理器16可提供处理能力以运行操作系统、程序、用户和应用界面、以及电子设备10的任何其他功能。(一个或多个)处理器16可包括一个或多个微处理器,例如一个或多个“通用”微处理器、一个或多个专用微处理器和/或特定于应用的微处理器(ASIC)、或这些处理部件的组合。例如,(一个或多个)处理器16可包括一个或多个指令集(例如RISC)处理器,以及图形处理器(GPU)、视频处理器、音频处理器和/或相关芯片组。将明了的是,(一个或多个)处理器16可耦合到一个或多个用于在设备10的各个部件之间传输数据和指令的数据总线。在特定实施例中,(一个或多个)处理器16可提供处理能力以在电子设备10中运行成像应用,例如可从苹果公司获得的 Photo BoothW、 Apertu reW、 i丨*huto(K)成 Preview^ ,或由苹果公司提供的“相机”和/或“照片”应用,这些都是iPhone 的模型上可用的。将由(一个或多个)处理器16处理的指令或数据可被存储在计算机可读介质中,例如存储器设备18中。存储器设备18可以被提供为易失性存储器,例如随机存取存储器(RAM),或非易失性存储器,例如只读存储器(R0M),或一个或多个RAM和ROM设备的组合。存储器18可存储多种信息并被用于各种用途。例如,存储器18可存储用于电子设备10的固件,例如基本输入/输出系统(BIOS)、操作系统、各种程序、应用或可在电子设备10中上运行的任何其他例程,包括用户界面功能、处理器功能等等。此外,在电子设备10的操作期间,存储器18可被用来缓冲或高速缓存。例如,在一个实施例中,存储器18包括一个或多个帧缓冲器,用以缓冲要被输出到显示器28的视频数据。除了存储器设备18,电子设备10还可包括非易失性存储器20以用于持久存储数据和/或指令。非易失性存储器20可以包括闪存、硬盘驱动器或任何其他光学、磁和/或固态存储介质,或以上这些的组合。因此,尽管为了清楚的目的只在图I中描绘了单个设备,但是应当理解的是(一个或多个)非易失性存储器20可以包括一个或多个以上列出的与(一个或多个)处理器16 —起操作的存储设备的组合。非易失性存储器20可被用来存储固件、数据文件、图像数据、软件程序和应用、无线连接信息、个人信息、用户偏好和任何其他合适的数据。依照本公开一些方面,在输出到显示器之前,可通过图像处理电路32来处理存储在非易失性存储器20和/或存储器设备18中的图像数据。如图I所示的实施例还可包括一个或多个卡槽或扩展槽。卡槽可被配置为接收扩展卡22,其可被用于增加电子设备10的功能,例如额外的存储器、1/0功能或联网能力。这样的扩展卡22可通过任何类型的合适连接器被连接到设备上,并且可以相对于电子设备10的壳体而被内部地或外部地访问。例如,在一个实施例中,扩展卡22可以是闪存卡,例如安全数字(SD)卡、迷你或微SD、紧凑闪存卡等,或者可以是PCMCIA设备。此外,对于提供移动电话能力的电子设备10的实施例,扩展卡22可以是订户标识模块(SIM)卡。电子设备10还包括网络设备24,其可以是通过无线802. 11标准或任何其他合适的联网标准(例如局域网(LAN)、广域网(WAN),例如GSM演进的增强数据率(EDGE)网络、3G数据网络或因特网)而提供网络连接的网络控制器或网络接口卡(NIC)。在特定实施例中,、网络设备24可以提供至在线数字媒体内容提供商(例如可从苹果公司获得的imines 音乐服务)的连接。
设备10的电源26可包括在非便携和便携设置下向设备10供电的能力。例如,在便携设置下,设备10可包括一个或多个用于向设备10供电的电池,例如锂离子电池。可以通过将设备10连接到外部电源(例如墙壁插座)来对电池重新充电。在非便携设置下,电源26可包括供电单元(PSU),其被配置为从墙壁插座取得电力,并将所述电力分配给非便携电子设备(例如桌上型计算系统)的各个部件。显示器28可被用于显示由设备10生成的各种图像,例如用于操作系统的⑶I,或由图像处理电路32处理的图像数据(包括静止图像和视频数据),以下将对其进行进一步讨论。如上所述,图像数据可包括使用成像设备30获取的图像数据或从存储器18和/或非易失性存储器20检索出的图像数据。显示器28可以是任何合适类型的显示器,例如液晶显示器(IXD)、等离子显示器或有机发光二极管(OLED)显示器。此外,如上所讨论的,显示器28可以具有可作为电子设备10的控制界面的一部分的、如上所述的触摸敏感机构(例如触摸屏)。所例示的(一个或多个)成像设备30还可被提供为被配置以获取静态图像和运动图像(例如视频)的数码相机的形式。相机30可包括镜头和一个或多个被配置为捕捉光并将光转换为电信号的图像传感器。仅作为示例,图像传感器可包括CMOS图像传感器(例如CMOS有源像素传感器(APS))或CXD (电荷耦合器件)传感器。一般来说,相机30中的图像传感器包括具有像素阵列的集成电路,其中每个像素包括一个用于感测光的光电检测器。本领域技术人员应当明了,成像像素中的光电检测器一般检测通过相机镜头捕捉的光的强度。然而,光电检测器一般无法自己检测所捕捉的光的波长,因此,无法确定颜色信息。因此,图像传感器可进一步包括滤色器阵列(CFA),其可覆盖图像传感器的像素阵列或被置于像素阵列之上,以捕捉颜色信息。滤色器阵列可包括小型滤色器的阵列,每一个小型滤色器可以覆盖图像传感器的一个相应像素,并且按波长对捕捉的光进行滤波。因此,当一并使用时,滤色器阵列和光电检测器可提供关于通过相机所获得的光的波长和强度信息,这可以表示所捕捉的图像。在一个实施例中,滤色器阵列可包括拜耳滤色器阵列,其提供50%绿色元素,25%红色元素和25%蓝色元素的滤波器模式。例如,图2示出了包括2个绿色元素(Gr和Gb),I个红色元素(R)和I个蓝色元素(B)的拜耳CFA的2X2像素块。因此,利用拜耳滤色器阵列的图像传感器可提供关于相机30在绿色、红色和蓝色波长处接收到的光的强度的信息,由此每个图像像素仅记录三种颜色(RGB)之一。被称为“原始图像数据”或“原始域”中的数据的这一信息随后被使用一种或多种去马赛克技术进行处理,由此将原始图像数据转换为全彩图像,这一般是通过为每个像素内插一组红色、绿色和蓝色值而实现的。如以下将描述的那样,可由图像处理电路32来执行这样的去马赛克技术。如上所述,图像处理电路32可提供各种图像处理步骤,例如缺陷像素检测/校正、镜头明暗校正、去马赛克、以及图像锐化、降噪、伽马校正、图像增强、颜色空间变换、图像压缩、色度亚采样和图像缩放操作等等。在一些实施例中,图像处理电路32可包括多个子部件和/或离散的逻辑单元,其集合地形成用于执行各个图像处理步骤中的每一个步骤的图像处理“流水线”。可以使用硬件(例如数字信号处理器或ASIC)或软件,或通过硬件和软件部件的组合来实现这些子部件。以下将更加详细的描述可由图像处理电路32提供的各种图像处理操作,尤其是涉及缺陷像素检测/校正、镜头明暗校正、去马赛克和图像锐化的那些处理操作。在继续之前,应当注意的是虽然以下所讨论的各种图像处理技术的多个实施例可以利用拜耳CFA,但是当前公开的技术并不限于此。实际上,本领域技术人员将明了此处提供的图像处理技术可适用于任何适合类型的滤色器阵列,包括RGBW滤色器、CYGM滤色器
坐 寸o再次参考电子设备10,图3-6例不了电子设备10可米用的各种形式。如上所述,电子设备10可采用计算机的形式,包括通常便携的计算机(例如膝上型、笔记本和平板计算机)以及通常不便携的计算机(例如桌上型计算机、工作站和/或服务器),或其他类型的电子设备,例如手持便携电子设备(例如数字媒体播放器或移动电话)。具体而言,图3和图4分别描绘了膝上型计算机40形式和桌上型计算机50形式的电子设备10。图5和图6分别示出了手持便携设备60形式的电子设备10的前视图和后视图。如图3所示,描绘的膝上型计算机40包括壳体42、显示器28、1/0端口 12和输入结构14。输入结构14可包括与壳体42集成的键盘和触摸板鼠标。此外,输入结构14可包括多种可用于与计算机40交互(例如给计算机加电或启动计算机)的其他按钮和/或开关,以操作⑶I或在计算机40中运行的应用,以及调整多种涉及计算机40操作的其他方面(例如音量、显示器亮度等)。计算机40还可包括提供至其他设备的连接的多种I/O端口 12,如上所述,例如FireWire .或usb端口、高清多媒体接口(hdmi )端口或任何其他类型的适于连接到外部设备的端口。此外,计算机40可包括如以上图I所示的网络连接(例如网络设备26)、存储器(例如存储器20)和存储能力(例如存储设备22)。另外,在所示的实施例中,膝上型计算机40可包括集成的成像设备30 (例如相机)。在另一个实施例中,膝上型计算机40可利用连接到一个或多个I/O端口 12的外置相机(例如外置USB相机或“摄像头”)以作为集成相机30的替代或附加。例如,外置相机可以是可从苹果公司得到的iSight 相机。不管集成的还是外置的,相机30可以提供图像的捕捉和记录。接着这些图像可由用户使用图像观看应用来观看,或者可以被其他应用来使用,包括视频会议应用,例如iChat ,以及图像编辑/观看应用,例如可从苹果公司得到的 Photo Booth 、Aperture 、iPhoto 成previe'v和 9在特定实施例中,所描绘的膝上型计算机40可以是可从苹果公司获得的MacBook 、MacBook Pro,MacBook Air 或 Power B_k 的模型。图4进一步例示了电子设备10被提供作为桌上型计算机50的一个实施例。将明了的是,桌上型计算机50可包括多种与由图4所示的膝上型计算机40提供的大致类似的特征,但是也可能具有通常更大的整体形状。如图所示,桌上型计算机50可被装入包括显示器28和如图I所示的方框图中所讨论的各种其他部件的外壳42中。另外,桌上型计算机50可包括通过一个或多个1/0端口(例如USB)耦合至该计算机50的、或能够与该计算机50无线通信(例如通过RF、蓝牙等)的外置键盘和鼠标(输入结构14)。如上所述,桌上型计算机50还可包括可以是集成的或外置相机的成像设备30。在特定实施例中,所描绘的桌上型计算机50可以是可从苹果公司获得的iMae 、Mac mini或Mac Pro 的模型。如进一步所示,显示器28可被配置为生成可被用户观看的各种图像。例如,在计算机50的操作期间,显示 器28可显示图形用户界面(“⑶1”)52以允许用户与在计算机50中运行的操作系统和/或应用进行交互。GUI 52可包括各种层、窗口、屏幕、模板或可在整个或部分显示设备28上显示的其他图形元素。例如,在所描绘的实施例中,操作系统GUI52可包括各种图形图标54,每一种图标可对应于可基于检测到用户的选择(例如通过键盘/鼠标或触摸屏输入)被打开或执行的各种应用。图标54可被显示在停靠栏56中或在屏幕上显不的一个或多个图形窗口兀素58内。在一些实施例中,对图标54的选择可导致分级导航处理,使得对图标54的选择导致一个屏幕或打开另一个包括一个或多个附加图标或其他⑶I元素的图形窗口。仅作为示例,图4显示的操作系统GUI 52可以是来自可从苹果公司获得的Mac OS .操作系统的一个版本。继续至图5和6,电子设备10进一步被例示为便携手持电子设备60的形式,其可以是可从苹果公司获得的iPod 或iPhone 的模型。在所描绘的实施例中,手持设备60包括外壳42,其可以起到保护内部部件免于物理损伤同时屏蔽电磁干扰的作用。外壳42可由任何合适的材料或这些材料的组合来形成,例如塑料、金属或复合材料,并且能够允许特定频率的电磁辐射(例如无线联网信号)穿透以到达如图5所示的可置于外壳42内的无线通信电路(例如网络设备24)。外壳42还包括各种用户输入结构14,通过这些输入结构14用户可与手持设备60交互。例如,每个输入结构14可被配置为在被按压或启动时控制一个或多个相应的设备功能。作为示例,一个或多个输入结构14可被配置为调用“home”屏幕(主屏幕)42或菜单以便显示,被配置为在睡眠、唤醒或开机/关机模式之间切换,被配置为使蜂窝电话应用的铃声静音,被配置为增加或减小音量输出等等。应当理解的是所例示的输入结构14仅是示例性的,并且手持设备60可包括任意数量的合适的用户输入结构,其可以具有各种形式,包括按钮、开关、按键、旋钮、滚轮等等。如图5所示,手持设备60可包括各种I/O端口 12。例如,所描绘的I/O端口 12可包括用于传输和接收数据文件或用于给电源26充电的专有连接端口 12a,和用于将设备60连接到音频输出设备(例如头戴式耳机或扬声器)的音频连接端口 12b。此外,在手持设备60提供移动电话功能的实施例中,设备60可包括用于接收订户标识模块(SIM)卡(例如扩展卡22)的I/O端口 12c。显示设备28可以是IXD、OLED或任何适合类型的显示器,其可以显示由手持设备60生成的各种图像。例如,显示器28可以显示向用户提供关于手持设备60的一个或多个状态(例如电源状态、信号强度、外置设备连接等)的反馈的各种系统指示符64。参考以上图4所讨论的,显示器还可显示⑶I 52以允许用户与设备60交互。⑶I 52可以包括图形元素,例如图标54,其可以对应于基于检测到用户对相应图标54的选择而打开或执行的各种应用。作为示例,图标54之一可以表示可与相机30 (如图5中的虚线所示)一并使用以获取图像的相机应用66。简单地参考图6,例示了在图5中所描绘的手持电子设备60的后视图,其示出了相机30被集成于壳体42且位于手持设备60背面。如上所述,用相机30获得的图像数据可使用图像处理电路32进行处理,所述图像处理电路32可以包括硬件(例如位于外壳42内部)和/或存储在设备60的一个或多个存储设备(例如存储器18或非易失性存储器20)中的软件。使用相机应用66和相机30获得的图像可被存储到设备60 (例如在存储设备20中),并且可使用照片观看应用68在稍后观看这些图像。手持设备60还可包括各种音频输入和输出元件。例如,一般地由参考标记70所描绘的音频输入/输出元件可以包括输入接收器,例如一个或多个麦克风。例如,在手持设备60包括蜂窝电话功能的情况下,输入接收器可被配置为接收用户音频输入,例如用户语音。此外,音频输入/输出元件70可包括一个或多个输出发射器。这些输出发射器可包括一个或多个扬声器,其可以例如在使用媒体播放器应用72回放音乐数据时起到将音频信号传送给用户的作用。此外,在手持设备60包括蜂窝电话应用的实施例中,如图5所示,还可提供附加的音频输出发射器74。类似于音频输入/输出兀件70的输出发射器,输出发射器74也可包括一个或多个被配置为将音频信号(例如在电话呼叫期间接收到的语音数据)传送至用户的扬声器。因此,音频输入/ 输出元件70和74可联合地操作以作为电话的音频接收和发射元件。现已提供了一些关于电子设备10可采用的多种形式的背景,于是本公开将关注于图I所描绘的图像处理电路32。如上所述,图像处理电路32可使用硬件和/或软件部件来实现,并且可以包括定义图像信号处理(ISP)流水线的各种处理单元。具体而言,以下讨论会关注在本公开中阐述的图像处理技术的各方面,尤其是涉及缺陷像素检测/校正技术、镜头明暗校正技术、去马赛克技术和图像锐化技术的那些方面。现在参考图7,例示了依照当前公开的技术的一个实施例的描绘了可实现为图像处理电路32的一部分的多个功能性部件的简化顶层方框图。具体地,图7旨在依照至少一个实施例来例示图像数据可如何流过图像处理电路32。为了提供对图像处理电路32的一般概观,这里参考图7提供了这些功能性部件如何操作以处理图像数据的一般描述,同时,后面将进一步提供所示的功能性部件的每一个及其各自的子部件的更具体的描述。参考所示的实施例,图像处理电路32可包括图像信号处理(ISP)前端处理逻辑80、ISP流水处理逻辑82和控制逻辑84。由成像设备30捕捉的图像数据首先由ISP前端逻辑80处理,并对其进行分析以获得可被用于确定ISP流水逻辑82和/或成像设备30的一个或多个控制参数的图像统计信息。ISP前端逻辑80可被配置为从图像传感器输入信号获得图像数据。例如,如图7所示,成像设备30可包括具有一个或多个镜头88和(一个或多个)图像传感器90的相机。如上所述,(一个或多个)图像传感器90可以包括滤色器阵列(例如拜耳滤波器),并且因此可以提供由图像传感器90的每个成像像素获得的光强和波长信息,从而提供可由ISP前端逻辑80处理的一组原始图像数据。例如,成像设备30的输出92可由传感器接口 94接收,随后例如基于传感器接口类型,传感器接口 94可将原始图像数据96提供给ISP前端逻辑80。作为示例,传感器接口 94可利用标准移动成像架构(SMIA)接口或移动工业处理器接口(MIPI),或它们的某些组合。在特定实施例中,ISP前端逻辑80可在其自身的时钟域内操作,并且可以向传感器接口 94提供异步接口以支持具有不同大小和定时需求的图像传感器。原始图像数据96可被提供给ISP前端逻辑80,并以多种格式被逐像素地处理。例如,每个图像像素可具有8,10,12或14位的位深。ISP前端逻辑80可对原始图像数据96执行一个或多个图像处理操作,并收集关于图像数据96的统计数据。可以以相同的或不同的位深精度来执行图像处理操作和统计数据的收集。例如,在一个实施例中,可以以14位精度来执行原始图像像素数据96的处理。在这些实施例中,由ISP前端逻辑80接收到的具有小于14位(例如8位,10位,12位)位深的原始像素数据被上采样至14位以用于图像处理目的。在另一个实施例中,可以以8位精度进行统计处理,因此具有更高位深的原始像素数据可被下采样至8位格式用以统计目的。可以明了的是,下采样至8位可降低硬件大小(例如面积)并且还能减少用于统计数据的处理/计算复杂度。此外,原始图像数据可被空间平均以允许统计数据对噪声更为鲁棒。此外,如图7所示,ISP前端逻辑80还可从存储器108接收像素数据。例如,如参考标记98所示,原始像素数据可从传感器接口 94被发送到存储器108。如参考标记100所示,驻留在存储器108中的原始像素数据随后可被提供给ISP前端逻辑80以供处理。存储器108可以是存储设备20、存储器设备18的一部分,或者可以是电子设备10内的单独的专用存储器并且可包括直接存储器访问(DMA)特征。此外,在特定实施例中,ISP前端逻辑80可在其本身的时钟域内操作,并且向传感器接口 94提供异步接口以支持不同大小并且具有不同定时需求的传感器。—旦接收到原始图像数据96 (从传感器接口 94)或100 (从存储器108),ISP前端 逻辑80可以执行一个或多个图像处理操作,例如时域滤波和/或像素合并补偿滤波。经处理的图像数据随后可被提供给ISP流水逻辑82 (输出信号109)以便在被显示(例如在显示设备28上)之前进行其他处理,或者可被发送到存储器(输出信号110)。ISP流水逻辑82直接从ISP前端逻辑80或者从存储器108 (输入信号112)接收“前端”经处理的数据,并且提供对原始域中以及RGB和YCbCr颜色空间中的图像数据的其他处理。由ISP流水逻辑82处理后的图像数据随后可被输出(信号114)到显示器28以供用户观看和/或可由图形引擎或GUP进行进一步处理。此外,ISP流水逻辑82的输出可被发送到存储器108 (信号115),并且显示器28可从在特定实施例中被配置为实现一个或多个帧缓冲器的存储器108(信号116)读取图像数据。此外,在一些实施方式中,ISP流水逻辑82的输出还可被提供给压缩引擎118 (信号117)以用于在由显示器28读取(信号119)之前编码图像数据。作为示例,压缩引擎或“编码器”118可以是用于编码静态图像的JPEG压缩引擎,或用于编码视频图像的札264压缩引擎,或它们的组合。后面将参考图27-57来更加详细的讨论可在ISP流水逻辑82中提供的关于图像处理操作的附加信息。同样的,应当注意的是ISP流水逻辑82还可从存储器108接收原始图像数据,其被描述为输入信号112。由ISP前端逻辑80确定的统计数据102可被提供给控制逻辑单元84。统计数据102可包括,例如关于自动曝光、自动白平衡、自动对焦、闪烁检测、黑度补偿(BLC)、镜头明暗校正等的图像传感器统计信息。控制逻辑84可包括处理器和/或微控制器,其被配置为执行一个或多个例程(例如固件),所述例程可被配置为基于接收到的统计数据102来确定用于成像设备30的控制参数104和用于ISP流水处理逻辑82的控制参数106。仅作为示例,控制参数104可包括传感器控制参数(例如增益、曝光控制的累积时间)、相机闪光灯控制参数、镜头控制参数(例如对焦的对焦长度或变焦的焦距)或这些参数的组合。ISP控制参数106可包括用于自动白平衡和颜色调整(例如在RGB处理期间)的增益等级和颜色校正矩阵(CCM)系数,以及如下所讨论的可基于白点平衡参数而确定的镜头明暗校正参数。在一些实施例中,除了分析统计数据102之外,控制逻辑84还可分析可存储在电子设备10上(例如存储器18或存储器20内)的历史统计信息。由于此处所示的图像处理电路32的总体复杂设计,如下所示,将关于ISP前端逻辑80和ISP流水处理逻辑82的讨论划分为单独的部分会是有益的。具体而言,本申请的图8至26可涉及ISP前端逻辑80的多个实施例和各方面的讨论,而本申请的图27至57可涉及ISP流水处理逻辑82的多个实施例和各方面的讨论。ISP前端处理逻辑图8是示出了依照一个实施例的可在ISP前端逻辑80中实现的功能性逻辑块的更详细方框图。基于成像设备30和/或传感器接口 94的构造,如图7所示,可由一个或多个图像传感器90将原始图像数据提供给ISP前端逻辑80。在所描绘的实施例中,可通过第一图像传感器90a (传感器0)和第二图像传感器90b (传感器I)将原始图像数据提供给ISP前端逻辑80。如图所示,图像传感器90a和90b可分别提供原始图像数据作为信号SifO和Sifl。图像传感器90a和90b中的每一个可与相应的统计处理单元120和122相关联。进一步地,应当注意,原始图像数据SifO和Sifl可直接提供给它们相应的处理单元120和122,或者可以存储在或写入存储器108中并随后分别作为信号SifInO和SifInl被检索。因而,ISP前端逻辑80可包括选择逻辑124,选择逻辑124可以向统计处理单元120提供表示由传感器0(90a)捕捉的原始图像数据的SifO或SifInO信号,并且,ISP前端逻辑80还可以包括选择逻辑126,选择逻辑126可以向统计处理单元122提供表示由传感器I (90b)捕捉的原始图像数据的Sifl或SifInl信号。每一个统计处理单元120和122可确定通过分析原始图像传感器数据所获得的各种统计数据,并且可以确定相应的统计信息集合,如输出信号StatsO和Statsl所示。如上所述,统计数据(StatsO和Statsl)可被提供给控制逻辑84以用于各控制参数的确定,这些控制参数可被用于操作成像设备30和/或ISP流水处理逻辑82。除了统计处理单元120和122,ISP前端逻辑80可进一步包括像素处理单元130。像素处理单元130可逐像素地对原始图像数据执行各种图像处理操作。如所示的,通过选择逻辑132,像素处理单元130可接收原始图像信号SifO (来自传感器0)或Sifl (来自传感器I ),或者可以接收来自存储器108的原始图像数据FEProcIn。如同可以明了的,可由任何适合类型的逻辑来提供图8所示的选择逻辑块(120、122和132),例如响应于控制信号而选择多个输入信号中的一个的多路复用器。在执行以下将进一步讨论的像素处理操作时,FEPrOC130还可接收和输出多种信号(例如可表示在时域滤波期间使用的运动历史和亮度数据的Rin、Hin、Hout和Yout)。然后,像素处理单元130的输出109 (FEProcOut)可诸如通过一个或多个先进先出(FIFO)队列被转发到ISP流水逻辑82,或者可被发送到存储器108。在继续图8的ISP前端逻辑80中描绘的统计处理和像素处理操作的更详细描述之前,相信关于各种ISP帧区域的定义的简要介绍会有助于更好的理解本技术方案。带着这样的想法,图9例示了在图像源帧内定义的各种帧区域。提供给图像处理电路32的源帧的格式可以使用以上所述的分块或线性寻址模式,并且可利用8、10、12或14位精度的像素格式。如图9所示的图像源帧150可包括传感器帧区域152、原始帧区域154和活动区域156。传感器巾贞152 一般是图像传感器90可以提供给图像处理电路32的最大巾贞大小。原始帧区域154可被定义为传感器帧152的被发送到ISP前端处理逻辑80的区域。活动区域256可被定义为源帧150的一部分,其是典型地位于原始帧区域156内并对其进行具体、图像处理操作的那部分。依照本技术的实施例,对于不同的图像处理操作,活动区域156可以相同或不同。依照本技术的一些方面,ISP前端逻辑80仅接收原始帧154。因此,出于本讨论的目的,用于ISP前端处理逻辑80的全局巾贞大小可假设为由宽158和高160确定的原始巾贞大小。在一些实施例中,可以通过控制逻辑84确定和/或保存从传感器帧152到原始帧154的边界偏移量。例如,控制逻辑84可包括基于输入参数来确定原始帧区域154的固件,所述输入参数诸如是所指定的相对于传感器巾贞152的X偏移量162和y偏移量164。此外,在一些情况下,在ISP前端逻辑80或ISP流水逻辑82内的处理单元可具有预定义的活动区域,使得在原始帧内但在活动区域156外的像素将不被处理,即,保持不变。例如,可基于相对于原始帧154的X偏移量170和y偏移量172来定义用于具体处理单元的具有宽166和高168的活动区域156。此外,对于活动区域没有被具体定义的情况,图像处理 电路32的一个实施例可以假设活动区域156与原始帧154相同(例如X偏移量170和y偏移量172都等于O)。因此,为了对图像数据进行图像处理操作,关于原始帧154或活动区域156的边界,可以定义边界条件。带着这样的想法并参考图10,例示了依照本技术一个实施例的ISP前端像素处理逻辑130 (之前在图8中讨论了)的更详细视图。如图所示,ISP前端像素处理逻辑130包括时域滤波器180和像素合并补偿滤波器182。时域滤波器180可接收输入图像信号SifO、Sifl或FEProcIn中的一个,并且可在执行任何附加处理之前对原始像素数据进行操作。例如,时域滤波器180可首先处理图像数据以通过在时间方向上对图像帧进行平均而降低噪声。时域滤波器180可以是基于运动和明亮度特征而像素自适应的。例如,当像素运动较大时,可降低滤波强度以避免得到的经处理的图像中出现“拖尾”或“重影伪像”,反之当检测到轻微运动或无运动时,可增加滤波强度。此外,还可基于明亮度数据(例如“亮度”)来调整滤波强度。例如,随着图像明亮度增加,滤波伪影变得更容易被人眼察觉。因此,当像素具有较高明亮度水平时应当进一步降低滤波强度。在应用时域滤波时,时域滤波器180可接收可来自于前一经滤波的帧或初始帧的参考像素数据(Rin)和运动历史输入数据(Hin)。使用这些参数,时域滤波器180可提供运动历史输出数据(Hout)和经滤波的像素输出(Yout)。接着经滤波的像素输出Yout被传递到像素合并补偿滤波器182,后者可被配置为对经滤波的像素输出数据Yout执行一个或多个缩放操作以产生输出信号FEProcOut。接着,经处理的像素数据FEProcOut可被转发至如上所述的ISP流水处理逻辑82。参考图11,例示了根据一个实施例描绘的可由图10所示的时域滤波器执行的时域滤波处理190的处理框图。时域滤波器180可包括2抽头滤波器,其中滤波器系数可至少部分基于运动和明亮度数据而逐像素地进行自适应调整。例如,可将具有表示时间值的变量“t”的输入像素x(t)与在前一经滤波的帧或前一初始帧中的参考像素r(t-l)作比较,以生成在可包含滤波器系数的运动历史表(M)192中的运动索引查找。此外,基于运动历史输入数据h(t-l),可以确定对应于当前输入像素x(t)的运动历史输出h(t)。可基于运动增量d(j,i, t)来确定运动历史输出h(t)和滤波器系数K,其中(j,i)表示当前像素x(j,i,t)的空间位置的坐标。可通过确定对于具有相同颜色的水平并置的三个像素的初始和参考像素之间的三个绝对增量的最大值来计算运动增量d(j,i, t)。例如,简单参考图12,例示了对应于初始输入像素206、208和210的三个并置参考像素200、202和204的空间位置。在一个实施例中,可使用以下的公式基于这些初始和参考像素来计
算运动增量d(j,i,t) = max3 [abs (x (j, i_2, t) _r (j, i_2, t_l)),(abs(x(j, i, t)-r(j, i, t-1)),(I)(abs(x(j, i+2, t)-r(j, i+2, t-1))]
参考回图11,一旦确定了运动增量值,可以通过将用于当前像素(例如在空间位置(j, i))的运动增量d(t)与运动历史输入h(t-l)相加来计算可被用来从运动表(M) 192中选择滤波器系数K的运动索引查找。例如,可通过以下等式来确定滤波器系数K :K=M[d(j, i, t)+h(j, i, t-1)](2)此外,可使用以下公式来确定运动历史输出h(t)h(j, i, t)=d(j, i, t) +(I-K) Xh(j, i, t~l)(3)接着,可以使用当前输入像素x(t)的明亮度来生成亮度表(L) 194内的亮度索引查找。在一个实施例中,亮度表可包括可位于0和I之间且可基于亮度索引而被选择的衰减因子。可通过将第一滤波器系数K乘上亮度衰减因子来计算第二滤波器系数K’,如以下等式所示K' =KXL[x(j, i, t) ](4)所确定的值K’随后可被用作时域滤波器180的滤波系数。如上所述,时域滤波器180可以是2抽头滤波器。此外,时域滤波器180可被配置为使用前一经滤波的帧的无限脉冲响应(IIR)滤波器,或使用前一初始帧的有限脉冲响应(FIR)滤波器。时域滤波器180可以使用当前输入像素x(t)、参考像素r (t-1)和滤波器系数K’通过以下公式来计算经滤波的输出像素y(t) (Yout)y (j, i, t) =r (j, i, t-1) +K' (x (j, i, t) ~r (j, i, t-1)) (5)如上所讨论的,可逐像素地执行如图11所示的时域滤波处理190。在一个实施例中,可以对于所有颜色分量(例如R、G和B)使用相同的运动表M和亮度表L。此外,一些实施例可提供旁路机制,其中可以例如响应于来自控制逻辑84的控制信号而旁路时域滤波。随后可将时域滤波器180的输出发送到像素合并补偿滤波器(BCF)182,后者可处理图像像素以补偿颜色样本的非线性分布,使得随后在ISP流水逻辑82中的依赖于颜色样本的线性分布的图像处理操作(例如去马赛克等)能够正确运行。此外,BCF 182还可通过应用一个或多个缩放操作,诸如垂直和/或水平缩放,来处理像素数据。图13示出了依照一个公开的实施例的可包括缩放逻辑214和微分分析器216的像素合并补偿滤波器182的框图,并且图14示出了可用于执行缩放操作的处理220。如图13所示,缩放逻辑214可产生输出FEProc0ut( 109),如上所述的,FEProcOut
(109)可被转发到ISP流水逻辑82以供其它处理,下面将对此进行进一步讨论。在一个实施例中,可使用一个或多个多抽头多相滤波器来执行由BCF 182的执行的(一个或多个)缩放操作,该多抽头多相滤波器可从源图像中选择像素,将每个像素乘以加权因子,然后计算像素值的总和以形成目的像素。应当理解,缩放操作中所使用的像素的选择可至少部分取决于当前像素位置和滤波器提供的抽头数量。此外,滤波操作可以使用相同颜色的像素对每个颜色分量进行,并且加权因子(或系数)可以从查找表获得并基于当前的像素间分数位置来确定。
在所描绘的实施例中,微分分析器216可以是数字微分分析器(DDA),并且可以被配置为在缩放操作期间控制当前像素位置。仅作为示例,DDA 216可被提供为32位数据寄存器,其包含具有12位整数部分和20位分数部分的二进制补码定点数。12位整数部分可被用于确定当前像素位置。分数部分被用作到系数表中的索引。在一个实施例中,垂直和水平缩放部件可利用8深度系数表,由此20位分数部分的3个高位被用于索引。为了提供基于32位DDA寄存器(DDA[31:0])的例子,当前中心源像素位置(currPixel)可由12位整数部分DDA[21:20]来定义,并且如果下一位DDA[19]为I则可以向上取整(+1)。然后,与currPixel邻近的像素的源像素值可以根据滤波器提供的抽头数量来获得。例如,在一个实施例中,垂直缩放可以用3抽头多相滤波器来执行,从而currPixel每一侧的具有相同颜色的一个像素被选择(例如,-1,0, +1),而水平缩放可以用5抽头多相滤波器来执行,其中currPixel每一侧的具有相同颜色的两个像素被选择(例如,-2,-1,0,+1,+2)。进一步地,每个抽头可具有其自己相应的系数表。因而,可以为3抽头垂直缩放滤波器提供三个8深度表,并且可以为5抽头水平缩放滤波器提供五个8深度表。当前系数索引(currlndex)可以由DDA[19:16](分数部分DDA[19:0]的3个高位)来定义,并且如果下一位DDA[15]为I则可以向上取整(+1)。因此,在BCF 182中发生的滤波处理可包括获取在中心像素(currPixel)周围的源像素值,并将它们乘以利用currlndex从表中访问得到的合适的系数。一旦完成了针对给定像素的滤波处理,步进值(DDAst印)可被加到DDA 216以确定下一像素的位置,并且可以为该随后的像素重复滤波/缩放操作。这进一步由图14中说明的处理220示出。例如,在步骤222开始,DDA 216被初始化并且当前像素位置被识别。如上面所讨论的,当DDA216包括32位寄存器以用于存储二进制补码定点数时,当前像素位置可以由寄存器数据的高12位(整数部分)来指定。在步骤224,为垂直和水平缩放二者执行多抽头滤波。例如,假设分别为垂直和水平滤波使用3抽头和5抽头多相滤波器,并且假设图像传感器90使用拜耳颜色滤波器模式(图2),则垂直缩放部件可包括四个分开的3抽头多相滤波器,各自用于一个颜色分量Gr、R、B和Gb。每个3抽头滤波器可使用一个DDA来控制当前中心像素的步进和用于系数的索弓I。同样,水平缩放部件可包括四个分开的5抽头多相滤波器,各自用于一个颜色分量Gr、R、B和Gb。每个5抽头滤波器可使用一个DDA来控制当前中心像素的步进和用于系数的索弓I。对于边界的情况,水平和垂直滤波处理中所使用的像素可取决于由DDA所确立的当前像素的位置。例如,如果DDA值表明当前像素(currPixel)靠近帧边界,从而滤波器所需的源像素中的一个或多个位于边界之外,则可以重复边界像素。最后,如步骤226所示,一旦针对给定当前像素(currPixel)的垂直和水平缩放操作已经完成,DDA 216可步进到下一像素的位置,并且处理220可返回步骤224以便对下一像素执行垂直和水平缩放。如上所述的,BCF 182的输出(其可以是输出FEProcOut (109))可被转发到ISP流水处理逻辑82以供其他处理。然而,在将该讨论的焦点转移到ISP流水处理逻辑82之前,首先将给出对可在ISP前端逻辑80中实现的统计处理单元(例如122和124)可提供的各种功能的更详细描述。
重新参考统计处理单元120和122的一般描述,这些单元可被配置为收集关于捕捉并提供原始图像信号(SifO和Sifl)的图像传感器的各种统计信息,例如关于自动曝光、自动白平衡、自动对焦、闪 烁检测、黑度补偿和镜头明暗校正等的统计信息。因此,统计处理单元120和122首先可向它们各自的输入信号SifO (来自传感器0)和Sifl (来自传感器I)应用一个或多个图像处理操作。例如,参考图15,例示了依照一个实施例的与传感器0 (90a)相关联的统计处理单元120的更详细方框图视图。如图所示,统计处理单元120可包括以下功能块缺陷像素检测和校正逻辑230、黑度补偿(BLC)逻辑232、镜头明暗校正逻辑234、逆BLC逻辑236和统计信息收集逻辑238。以下将讨论这些功能块的每一个。此外,应当理解的是可以通过类似的方式来实现与传感器I (90b)相关联的统计处理单元122。首先,通过前端缺陷像素校正逻辑230来接收选择逻辑124的输出(SifO或SiflnO)。将明了的是,“缺陷像素”可以理解为在图像传感器90内的无法准确感应光水平的成像像素。缺陷像素可归咎于一些因素,并且其可包括“燥点(hot pixel)”(或漏电像素)、“亮点(stuck pixel)”和“坏点(dead pixel)”。“燥点” 一般表现为比对于在相同空间位置的给予相同光亮的非缺陷像素更亮。燥点的产生可归因于重置失败和/或高泄漏。例如,燥点可呈现出比非缺陷像素的正常电荷泄漏更高的电荷泄漏,因此可能比非缺陷像素表现得更亮。此外,“坏点”和“亮点”可能是诸如灰尘或其他微量材料之类的杂质在制造和/或装配过程中污染了图像传感器的结果,其可导致某些缺陷像素比非缺陷像素更暗或更亮,或者可导致缺陷像素固定在特定值而不管其实际曝光的光量。此外,在图像传感器操作期间发生的电路故障也可导致坏点和亮点。作为示例,亮点可以看上去为常开(全充电)并且因此看上去更亮,而坏点则看上去为常关。在ISP前端逻辑80中的缺陷像素检测和校正(DroC)逻辑230可在统计信息收集(例如238)中考虑缺陷像素之前对这些缺陷像素进行校正(例如替换缺陷像素值)。在一个实施例中,对于每个颜色分量(例如拜耳模式的R、B、Gr和Gb)独立地执行缺陷像素校正。一般来说,前端DPDC逻辑230可提供动态缺陷校正,其中可基于使用相同颜色的邻近像素算出的方向性梯度来自动地确定缺陷像素的位置。将理解的是,在给定时刻将某个像素认为是有缺陷的像素可取决于邻近像素中的图像数据,在此意义上缺陷可以是“动态的”。作为示例,如果总是处于最大亮度的亮点的位置处于当前图像的由更亮颜色或白色主导的区域内,那么该亮点可能不会被认为是缺陷像素。相反,如果亮点处于当前图像的由黑色或更暗颜色主导的区域,则在由DPDC逻辑230处理期间该亮点可被识别为缺陷像素,并被相应地校正。DPDC逻辑230可利用在当前像素每一侧的一个或多个具有相同颜色的水平邻近像素,使用像素至像素方向性梯度来确定当前像素是否有缺陷。如果当前像素被识别为缺陷的,可使用水平邻近像素的值来代替缺陷像素的值。例如,在一个实施例中,使用在原始帧154 (图9)边界内的五个具有相同颜色的水平邻近像素,其中这五个水平邻近像素包括当前像素和每一侧的两个邻近像素。因此,如图16所示,对于给定的颜色分量c和当前像素P,DPDC逻辑230可考虑水平的邻居像素PO、PU P2和P3。然而,应当注意的是,依赖于当前像素P的位置,当计算像素至像素梯度时,不考虑在原始帧154之外的像素。例如,如图16所示,在“左边缘”情况240中,当前像素P位于原始帧154的最左边,因此不考虑在原始帧154之外的邻近像素PO和P1,仅留下像素P、P2和P3 (N=3)。在“左边缘+1”情况242中,当前像素P离原始帧154的最左边一个单位像素,因此不考虑像素PO。仅留下像素P1、P、P2和P3 (N=4)。此外,在“居中”情况244中,在当前像素P左侧的像素PO和Pl和在当前像素右侧的像素P2和P3都处于原始帧154边界之内,因此在计算像素至像素梯度时考虑所有邻近像素PO、PU P2和P3 (N=5)。此外,还可遇到接近原始帧154的最右边的类似情况246和248。例如,在“右边缘-I”情况246中,当前像素P离原始帧154的最右边一个单位像素,因此不考虑像素P3 (N=4)。同样的,在“右边缘”情况248中,当如像素P处于原始巾贞154的最右边,因此不考虑邻近像素P2和P3 (N=3)。在所示的实施例中,对于在图片(例如原始帧154)边界内的每个邻近像素(k=0至3),可如下计算像素至像素梯度 Gk = abs (P-Pk),对于0彡k彡3 (仅对于在原始巾贞内的k) (6)一旦确定了像素至像素梯度,将由DPDC逻辑230执行如下的缺陷像素检测。首先,如果一定数量的像素梯度Gk等于或小于由变量dprTh表示的特定阈值,则假设该像素是有缺陷的。因此对于每个像素,图片边界内的邻近像素等于或小于阈值dprTh的梯度数量的计数(C)被累加。作为示例,对于原始帧154内的每个邻居像素,可如下的计算等于或小于阈值dprTh的梯度Gk的累加计数C
NC= Yi (Gk <dprTh),(7)
k对于0彡k彡3 (仅对于在原始帧内的k)将明了的是,取决于颜色分量,阈值dprTh可以是变化的。接着,如果累加的计数C被确定为小于或等于由变量dprMaxC表示的最大计数,则像素可被考虑为是有缺陷的。该逻辑由以下表示if(C < dprMaxC),then 像素是有缺陷的。(8)使用多种替代约定来对缺陷像素进行替代。例如,在一个实施例中,可使用紧靠其左边的像素Pl来代替缺陷像素。在一种边界情况下(例如Pl位于原始帧154之外),可使用紧靠其右边的像素P2来代替缺陷像素。此外,应当理解的是,替代值可被保留或传播以用于后续的缺陷像素检测操作。例如,参考如图16所示的水平像素集合,如果PO或Pl在之前被DPDC逻辑230识别为缺陷像素,则它们对应的替代值可被用于当前像素P的缺陷像素检测和替代。为了总结上述的缺陷像素检测和校正技术,图17提供了描绘这种处理的流程图,并由参考标记250指代。如图所示,处理250开始于步骤252,其中接收当前像素(P)并识别一组邻居像素。依照以上所述的实施例,邻居像素可包括来自当前像素相对两侧的具有相同颜色分量的两个水平像素(例如P0、P1、P2和P3)。接着,在步骤254,如以上等式6所述,针对原始帧154内的每个邻近像素计算水平方向的像素至像素梯度。此后,在步骤256,确定小于或等于特定阈值dprTh的梯度的数量的计数C。如判定逻辑258所示,如果C小于或等于dprMaxC,则处理250继续到步骤260,并且当前像素被识别为有缺陷的。接着在步骤262使用替代值来校正缺陷像素。另外,再参考判定逻辑258,如果C大于dprMaxC,则处理继续到步骤264,并且当前像素被识别为没有缺陷,且其值不被改变。应当注意的是在ISP前端统计处理期间应用的缺陷像素检测/校正技术可能比在ISP流水逻辑82中执行的缺陷像素检测/校正的鲁棒性要差。例如,如以下将进一步详细讨论的,在ISP流水逻辑82中执行的缺陷像素检测/校正除了动态缺陷校正之外还可提供固定缺陷校正,其中可先验得知缺陷像素的位置,并将其载入一个或多个缺陷表。此外,如下所述,在ISP流水逻辑82中的动态缺陷校正还可以考虑水平和垂直方向两者上的像素梯度,并且还可以提供对斑点(speckle)的检测/校正。回到图15,DPDC逻辑230的输出随后被传送到黑度补偿(BLC)逻辑232。BLC逻辑232可为每个颜色分量“c”(例如拜耳的R、B、Gr和Gb)中用于统计信息收集的像素独立地提供数字增益、偏移和截短(clipping)。例如,如以下运算所示,首先通过带符号的值来偏移当前像素的输入值,接着将其乘上增益。Y=(X+0[c]) XG[c],(9)
其中X表示给定颜色分量c (例如R、B、Gr或Gb)的输入像素值,0[c]表示当前颜色分量c的带符号的16位偏移量,以及G[c]表示该颜色分量c的增益值。在一个实施例中,增益G[c]可以是具有2个整数位和14个分数位的16位无符号数(例如以浮点表示的
2.14),并且可对增益G[c]应用舍入。仅作为示例,增益G[c]可具有在0至4X (例如输入像素值的四倍)之间的范围。接着,如以下等式10所示,可将计算得到的带符号的值Y截短到最小值和最大值范围Y= (Y〈min [c]) min [c] : (Y>max [c]) max [c] : Y)(10)变量min[c]和max[c]分别表示最小和最大输出值的带符号的16位截短值。在一个实施例中,BLC逻辑232还可被配置成分别为每个颜色分量保存在最大值之上和在最小值之下而被截短的像素的数量的计数。随后,BLC逻辑232的输出被转发到镜头明暗校正(LSC)逻辑234。LSC逻辑234可被配置为逐像素地应用合适的增益以补偿强度的衰落,该强度衰落一般大致正比于与成像设备30的镜头88的光学中心的距离。可以明了的是,这种衰落可能是镜头的几何光学的结果。作为示例,具有理想光学性质的镜头可被建模为入射角余弦的四次方,即cos4( 0 ),其被称为cos4定律。然而,由于镜头制造工艺并非完美,镜头中的各种不规则性可能导致光学性质偏离假设的cos4模型。例如,镜头的较薄的边缘(thinner edged)通常呈现最大的不规则性。另外,镜头明暗图案的不规则性也可能是在图像传感器内的微透镜阵列没有与滤色器阵列完美对齐的结果。此外,在一些镜头中的红外(IR)滤波器也可能导致衰落依赖于发光体,于是可以根据检测到的光源来调整镜头明暗增益。参考图18,例示了用于描述典型镜头的光强度相对于像素位置的三维分布。如图所示,光强度从镜头的中心272附近向镜头的角落或边缘274逐渐降低。可通过图19更好的例示图18中所描绘的镜头明暗不规则性,图19示出了展示向着角落和边缘而光强度降低的照片276。更具体的,应当注意的是在大致位于图像中心的光强度看上去比位于图像的角落和/或边缘的光强度更亮。依据本技术的一些实施例,镜头明暗校正增益可被指定为每个颜色通道(例如用于拜耳滤波器的Gr、R、B、Gb) 一个二维增益栅格。增益栅格点可在原始帧154 (图19)内以固定的水平和垂直间隔分布。如以上图9所讨论的,原始帧154可包括活动区域156,其定义了由特定图像处理操作对其执行处理的区域。关于镜头明暗校正操作,在原始帧区域154内定义了可被称为LSC区域的活动处理区域。如以下将讨论的那样,LSC区域必须完全在增益栅格边界内或边界处,否则结果可能是不明确的。例如,参考图20,示出了可在原始帧154内定义的LSC区域280和增益栅格282。LSC区域280可具有宽284和高286,并且可由相对于原始帧154边界的x偏移量288和y偏移量290来定义。还可提供从增益栅格282的基准296到LSC区域280内的第一个像素298的栅格偏移量(例如栅格X偏移量292和栅格Y偏移量294)。这些偏移量可以位于用于给定颜色分量的第一栅格间隔内。可分别为每个颜色通道独立地指定水平(X方向)和垂直(y方向)栅格点间隔300和302。如上所述,假设使用了拜耳滤色器阵列,则可定义4个具有栅格增益的颜色通道(R、B、Gr和Gb)。在一个实施例中,总共有4K (4096)个栅格点可用,并且例如可通过使用指示器,为每个颜色通道提供用于栅格增益的开始位置的基准地址。此外,还可以以在一个颜色平面的分辨率下的像素为单位来定义水平(300)和垂直(302)栅格点间隔,在特定实 施例中,在水平和垂直方向上可分别提供2的幂(例如8、16、32、64或128等)个像素的栅格 点间隔。可以明了的是,通过利用2的幂,可以使用移位(例如除法)和相加操作来获得增益内插的有效实现。使用这些参数,即使图像传感器裁剪区域发生改变仍可使用相同的增益值。例如,只有少数参数需要被更新以将栅格点对齐到裁剪区域(例如更新栅格偏移量300和302),而非更新所有的栅格增益值。仅作为示例,这在数字变焦操作期间使用裁剪时可能是有益的。此外,虽然如图20的实施例所示的增益栅格282被描绘为具有基本相等间隔的栅格点,但是应当理解在其他实施例中,栅格点不是必须相等间隔。例如,在一些实施例中,栅格点可以非均匀地分布(例如对数分布),使得栅格点在LSC区域280的中心较不集中,而向着LSC区域280的角落(通常在那里镜头明暗失真更容易被察觉)更为集中。依照此处公开的镜头明暗校正技术,在当前像素位置位于LSC区域280之外时,不应用增益(例如像素未经改变地通过)。在当前像素位置位于增益栅格位置时,可以使用该特定栅格点处的增益值。然而,在当前像素位置位于栅格点之间时,可使用双线性内插来内插增益。以下图21提供了一种为像素位置“G”内插增益的例子。如图21所示,像素G位于栅格点GO、Gl、G2和G3之间,GO、Gl、G2和G3可分别对应于当前像素位置G的左上、右上、左下和右下增益。栅格间隔的水平和垂直大小分别由X和Y表示。另外,ii和j j分别表示相对于左上增益GO的位置的水平和垂直像素偏移量。基于这些因子,可如下内插对应于位置G的增益
权利要求
1.一种在图像处理过程中检测和校正缺陷图像像素的方法,包括 使用图像处理器进行以下操作 接收利用图像传感器获取的图像数据的输入像素; 将输入像素在图像传感器的成像帧的处理区域内的位置与存储在静态缺陷表中的一组位置条目进行比较; 如果输入像素的位置对应于所述一组位置条目之一,则将输入像素标记为静态缺陷,并确定用于输入像素的第一替代值; 如果输入像素的位置不对应于所述一组位置条目之一,则识别与输入像素具有相同颜色分量的一组邻近像素,确定输入像素相对于所述一组邻近像素是否为动态缺陷或有斑点,并且如果输入像素被确定为动态缺陷或有斑点,则确定用于输入像素的第二替代值;以及 校正输入像素,其中校正输入像素包括 如果输入像素被标记为静态缺陷,用第一替代值代替输入像素的当前值;以及 如果输入像素被确定为动态缺陷或有斑点,用第二替代值代替输入像素的当前值。
2.如权利要求I所述的方法,包括如果输入像素未被标记为静态缺陷并且未被确定为动态缺陷或有斑点,则不校正输入像素。
3.如权利要求I所述的方法,其中第一替代值被确定为按照扫描顺序具有相同颜色的前一像素的值。
4.如权利要求I所述的方法,其中识别一组邻近像素包括确定输入像素的颜色,并识别成像帧中具有相同颜色的八个最接近的邻近像素,其中这八个邻近像素形成3X3像素块;并且 其中确定输入像素相对于所述一组邻近像素是否为动态缺陷或有斑点是基于所计算的位于处理区域内的每个所述邻近像素相对于输入像素的一组方向性像素至像素梯度。
5.如权利要求4所述的方法,其中确定输入像素是否为动态缺陷包括 将所述梯度中的每一个与自适应动态缺陷阈值相比较; 基于所述比较,对小于或等于该自适应缺陷阈值的梯度的数量进行计数; 将该计数与最大值相比较,其中该最大值是至少部分基于位于处理区域内的邻近像素的数量来选择的;以及 如果该计数小于或等于该最大值,则将输入像素识别为动态缺陷。
6.如权利要求5所述的方法,其中所述自适应动态缺陷阈值包括 针对图像传感器的每一个颜色分量的固定分量; 至少部分基于在输入像素被捕捉时图像传感器的曝光设置或积分时间设置之一而确定的动态分量;以及 基于处理区域内所述邻近像素的平均值与处理区域内每个邻近像素的值之间的绝对差之和而计算的高频分量; 其中,通过对动态分量和高频分量的乘积与跟输入像素的颜色相对应的固定分量求和,来计算所述自适应动态缺陷阈值。
7.如权利要求4所述的方法,其中确定输入像素是否有斑点包括 通过计算输入像素的值与处理区域内各邻近像素的平均值之差,来确定平均梯度值;将该平均梯度值与自适应斑点阈值相比较;以及 如果该平均梯度值大于自适应斑点阈值,则将输入像素识别为有斑点。
8.如权利要求7所述的方法,其中所述自适应斑点阈值包括 针对图像传感器的每一个颜色分量的固定分量; 至少部分基于输入像素和所述邻近像素的纹理程度而确定的动态分量;以及基于处理区域内所述邻近像素的平均值与处理区域内每个邻近像素的值之间的绝对差之和而计算的高频分量; 其中,通过对动态分量和高频分量的乘积与跟输入像素的颜色相对应的固定分量求和,来计算所述自适应斑点阈值。
9.如权利要求4所述的方法,其中确定用于输入像素的第二替代值包括 将水平方向上的第一方向梯度确定为输入像素与所述一组邻近像素中的第一和第二水平邻近像素中的每一个之间的绝对差之和; 将垂直方向上的第二方向梯度确定为输入像素与所述一组邻近像素中的第一和第二垂直邻近像素中的每一个之间的绝对差之和; 将正对角方向上的第三方向梯度确定为输入像素与所述一组邻近像素中的第一和第二正对角邻近像素中的每一个之间的绝对差之和; 将负对角方向上的第四方向梯度确定为输入像素与所述一组邻近像素中的第一和第二负对角邻近像素中的每一个之间的绝对差之和; 确定第一、第二、第三和第四方向梯度中的最小梯度;以及 通过对在该最小梯度的方向上的第一和第二邻近像素的值进行线性内插,确定第二替代值。
10.如权利要求9所述的方法,其中如果在最小梯度的方向上第一和第二邻近像素之一位于处理帧之外,则在线性内插过程中,位于处理帧之外的像素的值用位于处理帧内的另一像素的值来代替。
11.一种图像信号处理电路,包括 接口,被配置为接收利用成像设备的图像传感器获取的图像数据; 图像处理流水线,被配置为对图像数据执行一组处理操作,其中这组处理操作中的一个操作检测并校正图像数据中的缺陷像素,并且所述图像处理流水线包括缺陷像素检测和校正逻辑,该逻辑被配置为 接收图像数据的输入像素; 确定输入像素的位置是否对应于静态缺陷表中的位置条目, 如果发现输入像素的位置位于该静态缺陷表中,则将输入像素识别为静态缺陷,并且确定用于校正输入像素的第一替代值; 如果输入像素未被识别为静态缺陷,确定输入像素是否为动态缺陷或有斑点,并且,如果输入像素被确定为动态缺陷或有斑点,则确定用于输入像素的第二替代值;以及 基于输入像素被确定为静态缺陷、动态缺陷还是有斑点,使用第一或第二替代值来校正输入像素。
12.如权利要求11所述的图像信号处理电路,其中,缺陷像素检测和校正逻辑被配置为通过如下操作来确定输入像素是否为动态缺陷识别与输入像素具有相同颜色的八个邻近像素;计算这八个邻近像素中位于限定在图像传感器的成像帧内的处理区域内的每一个邻近像素相对于输入像素的像素至像素梯度;确定小于动态缺陷阈值的梯度的数量的计数;并且,如果所确定的计数小于最大计数值,则将输入像素识别为动态缺陷,并且 其中,缺陷像素检测和校正逻辑被配置为通过如下操作来确定输入像素是否有斑点计算输入像素的值与处理区域内各邻近像素的平均值之差,作为平均梯度值;并且,如果该平均梯度值大于斑点阈值,则将输入像素识别为有斑点。
13.如权利要求12所述的图像信号处理电路,其中动态缺陷阈值和斑点阈值能够基于位于处理区域内的邻近像素的高频分量而被调整。
14.如权利要求13所述的图像信号处理电路,其中相对于动态缺陷阈值,斑点阈值被设置得更高,以便减少在图像数据的具有增强的纹理特性的区域中对斑点的误检测。
15.如权利要求12所述的图像信号处理电路,其中通过以下操作确定第二替代值计算输入像素分别与所述八个邻近像素中在水平方向、垂直方向、正对角方向和负对角方向中的每一个方向上的两个邻近像素之间的差的和,作为方向梯度;确定与最小梯度相对应的方向;以及对与最小梯度方向相关联的两个邻近像素的值进行内插。
16.如权利要求11所述的图像信号处理电路,其中第一替代值是基于按照扫描顺序紧挨在所述输入像素前面的具有相同颜色的前一像素的值而确定的。
17.如权利要求11所述的图像信号处理电路,包括被配置为对图像数据执行一组初始操作的前端处理逻辑,其中该前端处理逻辑被配置为接收图像数据的输入像素;识别与输入像素具有相同颜色的四个水平邻近像素,包括位于输入像素第一侧的两个水平邻近像素和位于输入像素第二侧的两个水平邻近像素;确定这四个水平邻近像素中位于限定在图像传感器的成像帧内的处理区域内的每一个像素相对于输入像素的像素至像素梯度值;确定小于或等于前端缺陷像素阈值的梯度值的数量的计数;将输入像素识别为前端缺陷;校正该前端缺陷;并且,在该前端缺陷被校正后,收集关于图像数据的成像统计信息; 其中,这一组初始操作是在图像处理流水线执行的那一组操作之前由前端处理逻辑执行的。
18.如权利要求17所述的图像信号处理电路,其中校正前端缺陷包括 确定与输入像素具有相同颜色并且在成像帧中紧挨着输入像素右边的第一邻近像素的值; 确定第一邻近像素是否处于所述处理区域内; 如果第一邻近像素处于所述处理区域内,则用第一邻近像素的值替代输入像素的值; 如果第一邻近像素不处于所述处理区域内,则确定与输入像素具有相同颜色并且在成像帧中紧挨着输入像素左边的第二邻近像素的值;以及 用第二邻近像素的值替代输入像素的值。
19.一种系统,包括 具有图像传感器的成像设备;和 图像处理电路,被配置为处理利用图像传感器获取的图像数据,其中所述图像处理电路包括 缺陷像素检测和校正逻辑,被配置为 对于图像数据的当前图像帧,确定输入像素的位置是否对应于静态缺陷表中的位置条目,如果发现输入像素的位置位于该静态缺陷表中,则将输入像素识别为静态缺陷,并且利用静态缺陷替代值来校正输入像素;以及 如果输入像素未被识别为静态缺陷,确定输入像素是否为动态缺陷或有斑点,并且,如果输入像素被确定为动态缺陷或有斑点,则利用非静态缺陷替代值来校正输入像素。
20.如权利要求19所述的系统,包括被配置为存储静态缺陷表和静态缺陷替代值的存储器设备,其中静态缺陷表被配置为在图像处理过程中间歇地更新以存储与新检测到的静态缺陷相对应的位置。
21.如权利要求20所述的系统,其中如果图像数据的输入像素在特定数量的连续的图像帧上被重复识别为动态缺陷,则输入像素的位置作为新检测到的静态缺陷被存储到静态缺陷表中。
22.如权利要求20所述的系统,其中静态缺陷表被实施为一个或多个先入先出(FIFO)队列。
23.如权利要求20所述的系统,其中静态缺陷表被配置为存储多个静态缺陷像素,并且该静态缺陷表被配置为至少部分基于与所存储的多个静态缺陷像素相关联的最小梯度值而排序。
24.如权利要求19所述的系统,包括电子设备,并且其中所述成像设备包括与该电子设备集成的相机、被配置为与该电子设备的输入/输出端口耦接的外部相机、或它们的某种组合。
25.如权利要求19所述的系统,其中图像传感器包括拜耳滤色器阵列、RGBff滤色器阵列、或CYGM滤色器阵列。
26.如权利要求19所述的系统,其中静态缺陷、动态缺陷或斑点是与图像传感器上的坏点、亮点或漏电像素相对应的输入像素引起的。
27.—个或多个有形的计算机可读存储介质,具有编码在其上以供处理器执行的指令,所述指令包括 用于确定图像传感器所获取的图像数据的当前帧中的输入像 素是否对应于静态缺陷表中的位置条目,并且如果发现输入像素的位置位于该静态缺陷表中,则将输入像素识别为静态缺陷的代码,其中静态缺陷表中的每个位置条目与一个最小梯度值相关联; 用于利用静态缺陷替代值来校正输入像素的代码,该静态缺陷替代值被确定为按照扫描顺序具有相同颜色的前一像素的值; 用于如果输入像素未被识别为静态缺陷,则通过以下操作来确定输入像素是否为动态缺陷的代码识别与输入像素具有相同颜色的八个邻近像素;计算这八个邻近像素中位于限定在图像传感器的成像帧内的处理区域内的每一个邻近像素相对于输入像素的像素至像素梯度;确定小于动态缺陷阈值的梯度的数量的计数;并且,如果所确定的计数小于最大计数值,则将输入像素识别为动态缺陷; 用于通过以下操作计算动态缺陷替代值的代码计算输入像素分别与所述八个邻近像素中在水平方向、垂直方向、正对角方向和负对角方向中的每一个方向上的两个邻近像素之间的差的和,作为方向梯度;确定与最小梯度相对应的方向;以及对与最小梯度方向相关联的两个邻近像素的值进行内插;用于利用动态缺陷替代值来校正输入像素的代码; 用于确定输入像素是否在当前帧之前的特定数量的连续帧中都被识别为动态缺陷,并且如果输入像素在该特定数量的连续帧中都被识别为动态缺陷,则确定针对所述八个邻近像素中位于处理区域内的每个邻近像素的像素至像素梯度的最小值,并将输入像素的位置和该最小梯度值存储到静态缺陷表中的代码。
28.如权利要求27所述的一个或多个有形的计算机可读存储介质,包括用于至少部分基于静态缺陷所关联的最小梯度值来区分静态缺陷被校正的优先次序的代码。
29.如权利要求27所述的一个或多个有形的计算机可读存储介质,其中执行用于确定输入像素是否对应于静态缺陷表中的位置条目的代码的第一时刻和执行用于确定输入像素是否为动态缺陷的代码的第二时刻被时移一时间量,该时间量对应于当前帧的图像数据的至少一条扫描线的处理。
全文摘要
提供了用于图像传感器中的缺陷像素的检测和校正的各种技术。根据一个实施例,提供存储了已知静态缺陷的位置的静态缺陷表,并且将当前像素的位置与静态缺陷表相比较。如果发现当前像素的位置在静态缺陷表中,则将当前像素识别为静态缺陷,并利用相同颜色的前一像素的值来校正当前像素。如果当前像素未被识别为静态缺陷,则动态缺陷检测处理(444)包括将当前像素和一组邻近像素之间的像素至像素梯度与动态缺陷阈值相比较。如果检测到动态缺陷,则可通过对在表现出最小梯度的方向上位于当前像素相对两侧的两个邻近像素的值进行内插,来确定用于校正动态缺陷的替代值。
文档编号H04N5/367GK102640489SQ201080054770
公开日2012年8月15日 申请日期2010年10月12日 优先权日2009年10月20日
发明者G·科特, J·E·弗莱德瑞克森 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1