用于校正图像的系统和方法

文档序号:7746268阅读:131来源:国知局
专利名称:用于校正图像的系统和方法
技术领域
本发明的实施例大体涉及数字图像信号处理领域。
背景技术
随着技术的进步,摄像机已经有相应地提高,但是仍然面临着某些持续的问题。特 别是当光线穿过摄像机的镜头时,光的折射导致光线弯曲。光的弯曲导致在整个传感器上 产生不一样的亮度,使得中间的部分要比边缘的部分亮得多。这种失真被称为镜头阴影或 渐晕。镜头上的变异或缺陷会增大对于从镜头透出的光的这种不一致性。此外,由于镜头 箱相互作用的结果,光线可能受阻或不能通过。因此,由于镜头和图形形成媒介(胶片或数 字传感器组)上的缺陷,透过镜头系统并且在底片平面(数字传感器或胶片)上形成一幅 图像的光线将在成像平面和色谱上被不均勻的减弱。综合的结果是如果一个“平面”区域的 光进入镜头,那么胶片或数字传感器仍然会接收到一个“非平面”区域的有不同亮度的光。按照惯例,高阶多项式可被用来表示这种失真,并可被应用于整个图像平面,以试 图消除镜头阴影和镜头缺陷的影响,从而修正图像。然而,高阶多项式计算的代价十分昂 贵,并且在固定精度的硬件上运行复杂。例如,一个10次幂多项式可能有100个各别项,并 且高阶多项式可能需要在每一个像素上赋值计算,这意味着,例如,经过20个像素,需要计 算的数量会迅速增加。此外,由于微小的变化能够导致多项式上大的变化,高阶多项式在数 值上不稳定。另外,当沿着由一个9次或10次幂的多项式定义的曲面移动时,多项式的系 数对于任意方向上的曲面数值的变化幅度几乎无法提供任何察觉。所有的这些特点使得多 项式描述法对于镜头阴影问题,就计算的精密性而言,不是切实可行的解决方法,同时也是 不直观的
发明内容
因此,目前需要一个能够以有效的方式修正来自镜头阴影影响的图像数据的系 统。在实施例中,确定校准数据的可操作性,达到纠正图像数据的目的(例如,为了克服镜 头阴影,畸形的镜头和其他的影响)。在本发明的实施例中,甚至提供了在修正镜头阴影影响的图像数据的过程中使用校准数据。在一个实施例中,图像数据的修正是通过使用样条 曲面片(spline patch)(例如,贝塞尔曲面)来实现的。样条曲面片的使用有利于硬件的 实现,并且提供了一个直观和计算稳定的选择。图像校准可能在每个通道和照明类型的基 础上实现。
在一个实施例中,本发明是用计算机实现对图像信号处理的方法。这个方法包括 接受图像数据,可能是从带有摄像机镜头的光学图像传感器接收(例如,CMOS传感器或CCD 传感器)并且包含一个或多个颜色通道的数据。然后,贝塞尔曲面阵列访问特定的镜头和 传感器。贝塞尔曲面阵列包括曲面控制点,该曲面控制点是检测镜头阴影的互反函数。使 用贝塞尔曲面阵列和图像数据来产生校正的图像数据。校正的图像数据从而纠正了包括镜 头阴影和镜头缺陷等多种现象在内的影响。在另一个实施例中,本发明作为一个图像信号处理系统而实现的。该系统包括可 操作的光学传感器(例如,CMOS传感器或CCD传感器),来捕捉光信息和可操作的处理单 元,从光学传感器接收的一种有序的格式的图像信号数据。处理单元基于反映倒数曲面的 多个数据进一步处理图像信号数据来校正图像。倒数曲面可能已经由此处描述的校准实施 例来确定。该系统还包括一个通道选择器,用来选择通道图像信号(例如,红色,绿色或蓝 色)来接收处理单元,一个可操作的存储器来存储多个校正数据(例如,具体的倒数曲面), 包括多个每个颜色通道的校正的信息。存储器甚至可能为每个多个照明类型(例如荧光 灯,钨或白炽灯,日光或其它)存储校正信息(例如,具体的倒数曲面)。倒数曲面可能是多 重贝塞尔曲面的曲面。在另一个实施例中,本发明是用校准图像信号处理的方法实现的。该方法包括从 统一的区域接收光线和用与镜头相连的数字光学传感器来采样光线。该方法还包括为对应 于统一区域的每个位置(例如,像素)确定多个倒数数值。基于倒数数值,确定多个控制点。 该控制点定义了基于多个倒数值的倒数曲面,并且使用该倒数曲面来校正一幅图像,例如, 校正镜头阴影的影响。例如,校准便于克服镜头阴影和镜头缺陷的影响。在一个实施例中, 倒数曲面用一个贝塞尔曲面的曲面片的多重数字来表示。因此,目前需要一个以有效的方式来校正图像数据的系统和方法。实施例实现了 为基于样条曲面片(例如,贝塞尔曲面)的可分割的处理部分(例如,对图像的修正)校正 b失真,例如,渐晕。样条曲面片的使用有利于高效的硬件的实现(例如,通过线性插值), 并且提供一个直观和计算稳定的选择。由于从传感器接收的像素具有包括镜头阴影的影响 (渐晕)、光串扰和电气串扰在内的一系列影响,实施例进一步校正像素。此外,图像校正可 能在每个通道和照明类型的基础上实现。在一个实施例中,本发明是用计算机实现对图像信号处理的方法。在一个实施例 中,该方法包括访问电子系统,表示贝塞尔曲面或一系列贝塞尔曲面的多个控制点,计算相 应于曲面的像素行的多个中间控制点。该方法还包括接收图像像素和基于多个中间控制点 校正像素。像素位于曲面的行像素里。由于样条曲面片方式的可分的表示,使得像素,作为 在基于当每个曲面的曲面已经被校正时输出的校正的图像上的“曲面行”中的一串,能够以 扫描行的方式被接收和校正。在另一个实施例中,“曲面列”可理解为为“曲面行”的相互交 换。在另一个实施例中,本发明作为一个图像信号处理系统而实现的。该系统包括接收可操作模块的像素,来接收来自光学传感器(例如,CMOS传感器或CCD传感器)的多个像素,和访问可操作模块的控制点,来访问贝塞尔曲面(或其它任何样条曲面片)的控制点。 该系统甚至包括以确定多个中间控制点的可操作的中间控制点模块,因为多个像素对应着 曲面的贝塞尔曲面,和可操作的像素校正模块,基于多个中间控制点(例如,在基于曲面的 逐行上面)来校正像素。然而,在另一个实施例中,本发明实现了图像信号处理的方法。该方法包括在电子 系统内访问曲面的样条曲面片的多个控制点,计算对应于图像的每个颜色通道的像素行的 多个中间控制点。该方法甚至包括在多个中间控制点和单独的多个像素的水平位置的基础 上接收和调整多个像素。多个像素可能包括位于对应着曲面的样条曲面片的水平位置的行 像素,并且多个像素可能包括多个图像的颜色通道。


本发明的实施例是通过举例说明的方式,而不是通过限定的方式,在附图中相似 的附图标记表示相似的元素。图1示出了根据本发明的一个实施例的示例性操作环境。图2a显示可操作使用本发明的一个实施例的示例性镜头的框图。图2b显示可操作使用本发明的一个实施例的另一个示例性镜头的框图。图3A示出了根据本发明的一个实施例的示例性的滤色器阵列图。图3B示出了根据本发明的一个实施例的示例性曲面片的贝塞尔曲面的框图。图4示出了根据一个实施例的用来校准图像信号处理器的示例性计算机控制过 程的流程图。图5示出了根据本发明的一个实施例的示例性系统的框图。图6示出了根据本发明的一个实施例的用于图像信号处理的示例性计算机控制 过程的流程图。图7示出了根据本发明一个实施例的带有示例性控制点的示例性贝塞尔曲面。图8示出了根据本发明的一个实施例的另一个示例性的贝塞尔曲面,该曲面带有 示例性的调整后的控制点。图9示出了根据本发明的一个实施例的示例性的贝塞尔曲面的曲面。图10示出了根据本发明的一个实施例的示例性系统的框图。图11示出了根据一个实施例的示例性的用于图像处理的计算机控制过程的流程 图。图12示出了根据一个实施例的用于多个曲面的图像信号处理的示例性的计算机 控制过程的流程图。
具体实施例方式现在,将对根据本发明的优选实施例进行详细描述,其示例图示于附图中。虽然将 结合优选实施例对本发明进行描述,但是要理解的是它们并非意图将本发明限于这些实施 例。相反,本发明旨在涵盖可包括在由所附权利要求书限定的本发明的精神和范围内的替 换、修改及等效内容。此外,在本发明实施例的下列详细描述中,阐述了大量具体细节,以便提供对本发明的透彻理解。然而,对于本领域中的一个普通技术人员而言将显而易见的是, 可以在没有这些具体细节的情况下施行本发明。在其他例子中,为了不混淆本发明的各个 方面,不对公知的方法、程序、部件和电路进行详细描述。记法和命名
对于计算机存储器中数据比特上的程序、逻辑块、处理及操作的其他符号表示,介 绍以下详细描述的某些部分。这些描述和表示是由数据处理领域中的普通技术人员使用的 手段,以最有效地将他们工作的实质传达给本领域的其他技术人员。这里的程序、逻辑块、 处理等通常被认为是一系列前后一致的导致期望结果的步骤或指令。这些步骤包括物理量 的物理操控。通常,尽管不是必须地,这些物理量采用可以在计算机系统中存储、传送、组 合、比较以及其他操控的电、磁、光或量子信号的形式。主要由于常用的原因,已经多次证明 提及这些信号时用比特、数值、元件、符号、字符、术语、数字等是方便的。然而,应当记住的是,所有这些以及相似的术语都是与适当的物理量相关联的,并 且仅是适用于这些量的方便的称号。除非下面的讨论中清楚而具体地做出其他声明,否则 可以理解的是,贯穿本发明使用诸如“处理”、“访问”、“执行”、“描绘”等的术语的讨论,指 的是集成电路(例如,运算图一中的系统100)的动作和处理,其对在计算机系统的寄存器 和存储器中以物理(例如,电子)量表示的数据进行操控。这些术语是指下述处理设备的 动作和处理,所述处理设备对计算机系统的部件(例如,寄存器、存储器或其他这类信息存 储、传输或显示设备等)内的物理量进行操控或将其转换成其他部件内的相似地表示为物 理量的其他数据。示例性运行环境图1示出了根据本发明的一个实施例的示例性的操作环境。系统100包括传感器 102,图像信号处理器(ISP) 104,存储器106,输入模块108,中央处理单元(CPU) 110,显示器 112,通信总线114和电源120。电源120为系统100提供电源,可以是直流或交流电。系 统100描绘了根据本发明的一个实施例的基础系统的组件,为某些基于硬件和基于软件的 功能提供执行平台。虽然在系统100中揭露了特定的的组件,但应该认识到这样的组件是 示例性的。也就是说,本发明的实施例是非常适合有各种各样的其它组件或系统100中列 举的组件的变化。要认识到,系统100中的组件可以和其他不同于目前呈现的组件一起运 行,并且达到系统100的目标可以不需要系统100的所有的组件。CPU 100和ISP 104也可以集成到一个单独的集成电路芯片中,CPU100和ISP 104 可以共享各种资源例如指令逻辑、缓冲区、功能单元等等,或者可以为图像处理和通用操 作提供单独的资源。系统100能够实现在,例如,数码相机,手机摄像机,便携设备(例如音 频设备、娱乐设备、掌上型设备),摄像头,视频设备(例如,摄像机)等等。传感器102通过镜头(未显示)接收光线,并将接收的光线转换为信号(例如,数 字的或模拟的)。传感器102可以是任何类型的光学传感器,包括但不限于,互补金属氧化 物半导体(CMOS)传感器或电荷耦合器件(CCD)传感器。传感器102连接到通信总线114 上,并且可通过通信总线114提供接收的图像数据。图像信号处理器(ISP) 104连接到通信总线114上,处理由传感器102产生的信 号。更具体的说,图像信号处理器104处理来自传感器102的数据,存储在存储器106中。 例如,对于将存储在存储器106内的图像,图像信号处理器104可压缩和确定文件格式。
输入模块108允许命令进入系统100中,此外还可控制传感器102的数据采样和 ISP 104的后续处理。输入模块108可包括但不限于导航垫、键盘(例如标准键盘),上/ 下按钮,触摸屏控制(例如,通过显示器112)等等。中央处理器(CPU) 110通过输入模块108接收命令,并且可控制各种各样的操作, 包括但不限于,传感器102的采样和配置、ISP104的处理,和管理(例如,添加、转换和去 除)来自存储器106的图像和/或视频。本发明的实施例提供图像数据的校正。实施例进一步提供了可操作用于校准图像数据的数据校正(例如,消除镜头阴影、畸形的镜头和其它影响)。在一个实施例中,图像数 据的校正通过应用样条曲面片(例如,贝塞尔曲面)来实现。样条曲面片的应用有利于有 效的硬件实现。图像校正可对每个通道和照明类型的基础上,或其组合进行。图2a显示使用本发明一个实施例的示范例可操作镜头的框图。镜头200是可操作 的镜头,用于图像或视频的捕捉设备(例如,摄像机、数码相机、摄像头、摄像机、便携设备、 蜂窝电话等等)。镜头200可由各种材料制成,包括但不限于,玻璃、塑料,或两者的组合。 光线202进入镜头200,基本上靠近镜头200的中心。当光线202通过镜头200时,由于光 线202折射而发生弯曲。光线204进入镜头200,基本上靠近镜头200的边缘。如实质上所 示的,光线204比光线202有更大程度的弯曲,因此导致在传感器205中,接收的基本上接 近镜头200中心的光线和接收的基本上接近镜头200边缘的光线两者之间有亮度的差异。 这种失真被称为镜头阴影或渐晕。图2b显示可操作用于本发明的一个实施例中的示例镜头的框图。线220描绘形 状完好的镜头(例如,镜头200)。线222描绘了畸形的镜头,其可能在各种设备中是更加真 实的镜头。应当认识到的是,畸形镜头222的效果可进一步影响通过镜头222的光线的弯 曲。本发明的实施例补偿和消除通过镜头弯曲的光线以及镜头形状的不规则(例如,镜头 222)带来的影响。应当认识到的是,镜头可能有各种各样的缺陷,包括但不限于,倾斜和波 纹状。进一步认识到的是,镜头制造过程中的差异能够改变辉点的位置。特别值得注意的 是,便携式的设备(例如,蜂窝电话)和低成本的设备可能是塑料镜头,而不是结构完好的 fe头。图3A示出了根据本发明一个实施例的传感器设备的示例性滤色器阵列图。滤色 器阵列300包括基底314,绿色1过滤器308,红色过滤器310,绿色2过滤器312,绿色1传 感器302,红色传感器304和绿色2传感器306.滤色器阵列300通过镜头301接收光线。 传感器302-306可以是CMOS传感器的一部分,所述CMOS传感器可操作用来捕获图像并设 置为拜耳过滤器配置,然而任何颜色的配置都可以使用。应当认识到的是,绿色过滤器308 和312可分别过滤绿色传感器302和306上的不同的绿色光谱。本发明的实施例补偿由于不同颜色的光线穿过镜头并落入滤色器阵列(例如,滤 色器308-312和传感器阵列300)而产生的光线的弯曲。例如,光线320当通过镜头301和 绿色1过滤器308的时候发生折射产生弯曲。本发明的实施例进一步可操作用于补偿光学 串扰。当光线在到达传感器之前通过一个以上的滤色器而发生折射,从而产生光线的弯曲 时,会发生光学串扰。例如,当光线324依次穿过镜头301,绿色2过滤器312,红色过滤器 310,然后到达传感器304时,由于光线324发生折射产生弯曲。应当注意的是,由于光线 324穿过红色过滤器310和绿色2过滤器312,光线以某种并非是色彩滤波阵列300的设计意图的方式被过滤。本发明的实施例进一步可操作用于补偿电气串扰。当光线弯曲并且到达传感器之 间的材料时,发生电气串扰。例如,当光线322穿过镜头301和红色过滤器310,然后到达基 底314时,发生折射而产生弯曲。在到达基底314时,光线322的光子可能影响传感器(例 如,绿色1传感器302和红色传感器304)的性能。这样的影响可能包括在传感器302和 304的组件之间增加电气泄露(例如,井漏漏电)。应当认识到,本发明的实施例可为各种各样的传感器配置校正图像数据,所述传 感器配置包括但不限于,全色单元和垂直滤色器。进一步认识到,不同类型的光,例如,不同 色温,可能导致当光线穿过过滤器308-312时不同程度的光线弯曲。因此,实施例根据每个 照明而具体确定和使用不同的控制点组。例如,实施例可为每个照明类型(例如,荧光灯, 钨丝灯和日光)的每个颜色通道具体使用不同的控制点组。进一步认识到,本发明能够可操作使用任何类型的样条,并不仅限于贝塞尔公式 表示,而是任何公式表示的具有相似的特征,包括但不限于,如B-样条,样条小波和薄板样
^^ o图3B示出了根据本发明一个实施例的示例性曲面片的贝塞尔曲面框图。贝塞尔 曲面350包括多个曲面片,例如贝塞尔曲面片352。在一个实施例中,贝塞尔曲面350包括 9个贝塞尔曲面片。贝塞尔曲面片沿着边界或边缘连接在一起,例如边缘354。此处所表示 的贝塞尔曲面的边缘可以是可调整的或可配置的(例如,基于贝塞尔曲面350的复杂度)。 每个贝塞尔曲面片进一步包括控制点,例如控制点356。控制点定义每个贝塞尔曲面片的形 状。控制点可在贝塞尔曲面片的边界上,因此可能在贝塞尔曲面片之间共享。参照图4和图6,流程图400和流程图600示例性说明了由本发明的各种实施例使 用的示例性的功能。虽然在流程图400和600中披露了具体的功能模块(“模块”),但这 些步骤是示例性的。也就是说,这些实施例非常适用于执行各种各样其它的模块或在流程 图400和600中描述的模块的变化。应当认识到,执行流程图400和600中的模块可以和 目前所显示的顺序不同,并且并不是流程图400和流程图600中的所有模块都需要被执行。图4显示一个示例性的计算机控制处理的流程图,用于校准图像信号处理器,例 如,用于校正镜头阴影的效果而产生特定颜色的贝塞尔曲面片。流程图400的过程可为每 个颜色通道和不同类型的照明条件,例如色温来校准图像校正。应当认识到,可在每个颜色 通道的基础上执行校准,因为光线的每个颜色都受到镜头(例如,镜头200)的不同的影响 (例如,弯曲)。流程图400的过程可确定一组控制点,这组控制点定义了校准曲面,并且图 像信号处理器能够可操作地使用这组控制点来校正图像数据。例如,就拜耳过滤器的排列 而言,为每个红色,绿色1,绿色2和蓝色通道确定各自的校准曲面。上述的4个校准曲面每 个都可特别针对于给定的色温。校准或校正曲面是贝塞尔曲面的每个多重的曲面片。数据 表示了用于校正镜头阴影效果的倒数值。在模块402中,给定色温的光线施加于镜头的均勻亮度的区域。在一个实施例中, 选择给定色温的具体光源来照明该均勻的区域(例如,荧光灯,钨丝灯和日光)。在模块404中,用数字光学传感器来为给定的传感器通道对光线进行采样。数字 光学传感器可以是任何设计,例如,互补金属氧化物半导体(CMOS)传感器或电荷耦合器件 (CCD)。应当认识到,接收的光线在通过镜头(例如镜头200)和/或滤色器阵列(例如,滤
8色器阵列300)后可能已经受到影响(例如,已弯曲)。因此,例如由于镜头阴影的影响,传 感器上的亮度分布就不是均勻的。在模块406中,为每个传感器的位置确定多个倒数值,使得传感器的数值和其倒 数值导致均勻的区域,例如,1。换句话说,基于均勻区域的图像数值来确定多个倒数值,以 至于当在每个位置(例如,像素)应用(例如,相乘)倒数值时,仅对于特定颜色的颜色传 感器,例如通道,结果是在每个通道上是平面区域。在模块408中,对于当前的通道确定多个控制点。在一个实施例中,控制点基于多 个倒数值定义样条曲面片。乘以来自传感器的数值就产生曲面或“倒数曲面”,传感器的数 值变平,以得到原始的平面区域。倒数曲面可操作用于校正图像。例如,倒数曲面可为由于 进入镜头(例如,镜头200)、畸形镜头(例如,镜头222)或滤色器阵列(例如,滤色器阵列 300)而弯曲的光线提供补偿。在每个通道的基础上(例如,颜色通道基础)可确定多个控 制点。在光源(例如,荧光灯,日光或白炽灯)的色温基础上,在照明类型的基础上可进一 步确定多个控制点。应当认识到,控制点代表了某些高阶曲面的压缩形式。在一个实施例中,倒数曲面可以是由许多曲面片组成的贝塞尔曲面。在一个实施 例中,控制点是对于双三次贝塞尔曲面的控制点。可以由一系列的线性解释来确定贝塞尔 曲面的测定。应该认识到,使用贝塞尔曲面有许多可取的性能。例如,如果按比例缩放控制 点或应用仿射变换,则效果和将变换应用到曲面是一样的,且对于曲面的变化以直观的计 算稳定的方式发生。与高阶多项式相比,应用这样的变换会导致奇异的、非直观的变化。此 外,贝塞尔曲面是可拆分的曲面,这意味着二维计算可以作为两个一维计算进行求解,由此 实现了硬件的再利用。此外,贝塞尔曲面以及其他样条曲面显示了凸包特性,意味着曲面是有界的。本发 明的实施例因此非常适合使用固定精度的电路来实现硬件。应该认识到,样条的使用(例 如,贝塞尔曲面)克服了和高阶多项式相关的问题(例如,数值不稳定和计算量上的高成 本)。在一个实施例中,贝塞尔曲面(surface)可以包括多个贝塞尔曲面片(patch)。更 具体的说,贝塞尔曲面可以被分成多个曲面片。例如,对于每种照明类型,可定义对于每个 红色、绿色1、绿色2和蓝色的通道的九个曲面片的贝塞尔曲面。曲面片的数目可以是变化 的或可配置的选项。控制点可以定义每个曲面片。例如,对三次贝塞尔曲面来说,可以是每 个曲面片有16控制点。在一个实施例中,控制点共享内部的边界曲面片。也就是说,一部分控制点是在贝 塞尔曲面片的边界内。边界上的控制点的位置确保了曲面片的无缝连接。应该认识到,在 边界上具有控制点使得控制点的总数减少了。为每个色彩通道和每个照明类型,确定一组 贝塞尔曲面和曲面片。例如,在控制边界上共享控制点可以使得对每个色彩通道、对一组9 个曲面片有100个点,其中每个曲面片有16个控制点。应该认识到本发明的实施例可以确 定和使用任何程度的贝塞尔曲面片。应该认识到,曲面片的边界可以不固定地在传感器的表面上间隔开来。例如,边界 可以根据表面四处移动,所以在表面特别不光滑的区域,可以有更多的控制点来更好的反 映曲面的形状。作为另一个例子,可以选择边界来对应于镜头特定不光滑的特定区域。
在图4的模块409中,储存已完成的贝塞尔曲面为日后使用。
在模块410中,选中了另一个色彩通道。然后运行模块406,计算所选择的通道的 多个倒数值,等等。在模块412中,可以选择不同色温的光源,并且流程继续回到模块404。如果使用 三种色温,例如,日光、钨丝灯、荧光灯等等,并使用四种颜色,例如,红色、绿色1、绿色2、和 蓝色,那么过程400将定义12个不同的贝塞尔曲面,每个曲面有100个控制点,每个曲面有 9个曲面片,每个曲面片有16个控制点(在一个示例中)。图5说明了由本发明的各种实施例使用的示范例组件。虽然在系统500中披露了 具体的组件,但应该认识到这些组件是示例。也就是说,本发明的实施例非常适合具有其它 各种组件或在系统500中描述的组件的变化。应该认识到在系统500中的组件可以和其它 目前没有显示的组件一起运行,并且为达到系统500的目标,可以不需要使用系统500中的 全部组件。图5示出了根据本发明的一个实施例的示范例系统框图。系统500包括传感器 502、处理单元504、通道选择器506和存储器508。系统500可通过传感器502校正接收的 图像信息。系统500产生校正图像512。存储器508可以包括通道校正信息510。通道校正信息510可以包括对于多 个光源每一者及对于多个色彩通道每一者的校正信息。应该认识到,通道和光线校正 信息可以基于各种样条,包括但不限于,贝塞尔样条,hermite样条,三次hermite样条, kochanek-bartels样条,多重调和样条,完备样条,平滑样条,和薄板样条。光学传感器502是阵列,可操作用于捕获光线信息。光学传感器502可以是互补 金属氧化物半导体(CMOS)传感器或电荷耦合器件(CCD)传感器。光学传感器502将捕获 的图像信息作为图像信号数据发送到处理单元504。通道选择器506为处理单元504的接 收选择图像信号的色彩通道。例如,通道选择器506可以选择图像数据的红色通道以便由 处理单元504接收。在一个实施例中,处理单元504可以是图像信号处理器(例如,ISP104)。在另一 个实施例中,处理单元504可以是可编程的设备。处理单元504可操作地按有序的格式(例 如,扫描线顺序)接收图像信号数据,并且进一步可操作地处理图像信号数据,以便基于反 映倒数曲面的多个数值来校正图像。处理单元504可以基于倒数曲面来校正图像数据,当 应用该倒数曲面时校正光线穿过光学传感器502而产生各种失真效果(例如,透过镜头的 光线弯曲)。正如本文所述,倒数曲面可以是贝塞尔曲面。贝塞尔曲面可以包括多个贝塞 尔曲面片,在多个贝塞尔曲面片的边界上有一个或多个控制点。在一个实施例中,处理单元 504在每个色彩通道和每个光源的基础上校正图像数据。在一个实施例中,处理单元504利用了图像数据是以有序的格式接收的事实。更 具体的说,处理单元504可以通过确定和前一点之间的距离和倒数曲面已经变化的程度来 利用有序的格式,从而避免了在每个位置(例如,像素)上重新评估倒数曲面。因此,本发 明的实施例利用了输入数据的连贯性。图6示出根据本发明的一个实施例的图像信号处理的示范例计算机控制处理的 流程图。流程图600的处理可以由ISP(例如,ISP 104或系统500的处理单元504)执行。 流程图600的处理可以在硬件或软件上实现。在一个实施例中,可以在ISP的流水线中早 期执行流程图600的模块,从而为后续的处理步骤提供平面区域图像数据。
10
在模块602中,从传感器阵列中接收图像数据。在一个实施例中,从光学图像传感 器接收图像数据,并且图像数据包括对于一个或多个色彩通道(例如,红色、绿色、蓝色)的 数据。正如本文所述,光学传感器可以是互补型金属氧化物半导体(CMOS)传感器或电荷耦 合器件(CCD)传感器。应该认识到本发明的实施例能够不依赖于使用的传感器类型而校正 图像数据。在模块604中,确定光源的色温。正如本文所述,色温可以包括荧光灯,钨丝灯和曰光。在模块606中,选择给定的色彩通道的数据。正如本文所述,色彩通道可以是红 色,绿色1,绿色2或蓝色通道。在模块608中,访问给定颜色的贝塞尔曲面片阵列和检测的色温。在一个实施例 中,贝塞尔曲面片阵列包括曲面的控制点,该控制点用于补偿镜头阴影或其它效果。例如, 控制点可以对应于倒数曲面,来校正通过畸形的镜头(例如,镜头222)接收的图像数据。在 一个实施例中,贝塞尔曲面片阵列包含一个或多个双三次贝塞尔曲面。正如本文所述,贝塞 尔曲面片阵列可以包含100个控制点。此外,一部分控制点可以位于贝塞尔曲面片的边界 上。更具体的说,贝塞尔曲面片阵列可以包括为每个色彩通道的贝塞尔曲面和为每个照明 类型(例如,钨丝灯、荧光灯或日光)的贝塞尔曲面。在模块606中,将贝塞尔曲面片阵列应用到给定颜色的图像数据,来产生校正的 图像数据。贝塞尔曲面片阵列适用于压扁通过镜头(例如,镜头200或滤色器阵列300)而 弯曲的图像区域。正如本文所述,使用贝塞尔曲面片阵列来基于色彩通道和照明类型校正 图像数据。例如,使用贝塞尔曲面片阵列校正带有X和Y坐标的像素的红色通道的图像数 据。贝塞尔曲面片的倒数值乘以红色通道数值,能够为红色通道内相应的点获得扁平区域 的数值。然后以基本相似的方式用相应通道的贝塞尔曲面继续处理其它通道的图像数据。在模块612中,如果处理更多的色彩通道,需要执行检查。如果处理更多的色彩通 道,执行模块614。在模块614中,选择下一个色彩通道来处理。如果没有更多的色彩通道需要处理,执行模块616。在模块616中,提供校正的图 像数据(例如,为附加的处理提供ISP流水线)。图7示出了根据本发明的一个实施例的带有示范例控制点的示范例贝塞尔曲面。 贝塞尔曲面700包括曲面片706a-i。贝塞尔曲面700包括示范例控制点702和示例边界控 制点704。控制点可以位于贝塞尔曲面片的边界,因此可在贝塞尔曲面片之间共享。贝塞尔 曲面片沿着边界控制点连接在一起,例如边界控制点704。每个贝塞尔曲面片进而包括控制 点,例如控制点702。控制点定义了每个贝塞尔曲面片的形状。边界控制点704在曲面片 706h和曲面片706i之间共享。边界点的共享除了确保贝塞尔曲面700在邻近的曲面片之 间是连续的之外,还节约了存储。本发明的实施例可操作地处理任何数量的曲面片。曲面片的使用允许本发明的实 施例将规模扩大到任何数量的像素。在一个实施例中,贝塞尔曲面700包括9个贝塞尔曲 面片。控制点可能是等距离间隔的。如上所述,曲面片的边界共享控制点,从而减少了必要 的控制点的数目,并且在各曲面片之间确保位置的连续性。在一个示例性的实施例中,每个 曲面片有16个控制点,各曲面片之间共享边界控制点,使得每个通道(例如,色彩通道)有 总共100个控制点。
1
图8示出了根据本发明一个实施例的另一个带有示例性调整控制点的示例性贝 塞尔曲面。图8显示本发明的一个实施例,其中内部边界能够独立和任意地调整。可以进行 这样的调整以适合特殊的贝塞尔曲面(例如,严重的镜头阴影效果)。贝塞尔曲面800包括 曲面片806a-i。贝塞尔曲面800包括控制点802和控制点804。控制点802比控制点804 间隔更加紧密。内部边界的调整能够有效地增加或减少特殊曲面片或曲面片组(例如,曲 面片802c,曲面片802f和曲面片802i)的大小。图9示出了根据本发明一个实施例的贝塞尔曲面的示例性曲面。贝塞尔曲面900 包括曲面片902a-i。示例性的曲面片902i包括控制点904和中间控制点906。示例性的曲 面片902i对应多个像素中的一部分,其中使用贝塞尔曲面900来校正。中间控制点906定 义了曲线908,其中,本发明的实施例用于评估在曲面片的一行像素的每个像素上的增益, 从而校正了每个像素。曲面片能够基于s轴(例如,水平)和t轴(例如,垂直)来标志索 引。曲面片的像素能够基于u轴(例如,水平)和v轴(例如,垂直)来标志索引。本发明的实施例为曲面片的每一像素行计算中间控制点。在一个实施例中,在一 行像素的每个像素上,使用中间控制点来确定增益,该增益乘以像素的强度值。使用中间控 制点为各种效果,包括镜头阴影效果、光学串扰和电气串扰,来校正像素行。在另外的实施 例中,“曲面片列”能够互换成“曲面片行”。在一个示例性实施例中,在垂直于中间控制点的控制点基础上,计算每一个中间 控制点906。基于线性插值计算中间控制点。例如,计算中间控制点iq是在控制点(^,(2, 〇3和(;的基础上。类似地,计算中间控制点iC2是在控制点C5,C6,C7*C8的基础上。计算 中间控制点iC3是在控制点C9,C10, Cn和C12的基础上,并且计算中间控制点iC4是在控制
的基础上。因此,实施例能够在逐个曲面片的基础上处理图像,进一步在扫描线的基础上处 理每个曲面片。在一个实施例中,水平地处理曲面片,然后在垂直地处理曲面片。例如,示 例性的处理顺序可以包括 902a, 902b, 902c, 902d, 902e,902f,902g, 902h,和 902i。图10显示由本发明的各种实施例使用的示例性的组件。虽然在系统1000中揭露 了具体的组件,但应该认识到这些组件是示例性的。也就是说,本发明的实施例非常适合于 有其它各种组件或在系统1000中描述的组件的变化。应该认识到在系统1000内的组件可 能和其它未在这里显示的组件一起运行,并且为达到系统1000的目标可能不需要使用系 统1000的全部组件。图10示出了根据本发明的一个实施例的示例性系统的框图。系统1000包括像素 接收模块1020、控制点访问模块1022、中间控制点模块1024、像素校正模块1026、照明检测 模块1028、跟踪模块1030、预取模块1032和像素色彩模块1034。系统1000从传感器1002 接收图像数据,输出校正图像1012。在一个实施例中,从传感器1002来的像素作为流,(x, y)计数器维持目前的位置(例如,在硬件中)。可每个通道地接收(x,y)的位置和强度数 据。系统1000访问系统存储器1008的通道校正信息。存储器1008包括通道校正信息1010。通道校正信息1010为每个色彩通道和每种 照明或色温包括控制点集。在一个实施例中,通道校正信息1010为蓝色、绿色1、绿色2和 红色,及每个色温包括各自独立的控制点集(例如,为贝塞尔曲面)。应该认识到本发明的 实施例可操作地处理来自任何类型的传感器配置(例如,交叉存取的色彩通道、信号色彩
12通道、堆栈色彩通道等等)接收的像素。像素接收模块1020可操作地从光学传感器(例如,传感器1002)接收多个像素。 像素接收模块1020可操作地从任何类型的传感器(例如,拜耳传感器等等)接收像素。照明检测模块1028可操作地检测照明,并且基于检测的照明通过控制点访问模 块1022为每个色彩通道选择多个控制点。控制点访问模块1022可操作地访问样条曲面 (例如,贝塞尔曲面)的控制点。控制点访问模块1022基于由照明检测模块1028检测到的 照明来访问通道校正信息1010。中间控制点模块1024可操作地为多个像素确定多个中间控制点,其中多个像素 对应于贝塞尔曲面的曲面片。本发明的实施例通过分离曲面片的水平和垂直计算来计算中 间控制点。中间控制点定义了部分贝塞尔曲面,该部分对应于样条曲面的曲面片的一行像 素。在曲面片的扫描线的控制点的基础上,计算中间控制点。一旦在曲面片中为像素行上 的每个像素计算出中间控制点,则该中间控制点可重复使用。因此,本发明的实施例有利地 利用了样条曲面数值能被各自单独计算的事实。在一个实施例中,为每个色彩通道确定中间控制点(例如,通过线性插值)。在贝 塞尔曲面的曲面片的控制点的基础上,计算每组中间控制点。由于接收不同色彩通道的每 个像素,使用相对应的中间控制点来校正每个像素。在一个实施例中,为曲面片的每个扫描 线(例如,曲面片的像素行)计算四个中间控制点。当为新的曲面片计算中间控制点时,计 算像素位置的计数器(例如,跟踪u和/或v的计数器)可以被重置。像素校正模块1026可操作地基于多个中间控制点校正像素。当接收每个像素时, 就执行基于中间控制点的校正。使用计数器来在色彩通道的曲面片行内跟踪像素的位置。 当接收下一个像素时,由中间控制点定义的相应的曲线数值用于校正像素。在一个实施例 中,像素的校正包括基于de Casteljau算法(例如,为贝塞尔曲面)的一系列的线性插值。 线性插值可以顺序地通过单一线性插值器进行,或可以并行地通过多个线性插值器执行。预取模块1032可操作地预先读取第二或下一个样条曲面的曲面片的多个控制 点。跟踪模块1030可操作地在样条曲面的曲面片内跟踪像素的位置,并且当在曲面片的一 行像素的末端预定的范围内接收像素时,可操作地为预取模块1032发信令。在一个实施例中,跟踪模块1030可操作地为中间控制点模块1024发信令。因此, 跟踪模块1030可以命令预取模块1032预先读取下个控制点组(例如,为下个邻近的曲面 片或位于下一行曲面片的第一个曲面片),并且命令中间控制点模块1024为下个曲面片的 第一行计算中间控制点。跟踪模块1030可操作地检测处理何时接近行的末端和列的末端(例如,曲面片的 高度)。在一个实施例中,跟踪模块1030包括水平计数器和垂直计数器,用于跟踪曲面片内 的位于水平和垂直位置的像素。在一个实施例中,跟踪模块1030除计数器之外,还包括多路复用器,使得当达到 曲面片行的末端时,多路复用器变更由中间控制点模块1024所访问的曲面片。因此,允许 中间控制点模块1024为下个曲面和下个曲面对应的扫描线计算控制点。在另一个实施例 中,变更指针来访问下一个曲面片的控制点。跟踪模块1030进一步可操作的用于跟踪处于校正中的与其它曲面片有关的像素 的曲面。在一个实施例中,s和t用于索引贝塞尔曲面的曲面片(例如,图6)。跟踪模块1030进一步可操作用于跟踪对应曲面片的像素的映射。在一个实施例中,u和v用于从像 素空间映射到曲面空间(例如,图6)。u和v的值可以从0到1归一化。像素位置的每个 增量(例如,Au)对应1/(曲面片内的像素行的像素数目)。基于边界控制点的像素位置, 能够计算下个像素的间距。因此,在曲面片处理过程中,本发明的实施例可以增加像素间的 间距。在曲面片的控制点基础上确定曲面片的像素行中像素的数目。像素色彩模块1034可操作的用于基于接收的像素色彩选择多个中间控制点。像 素色彩模块1034能进一步选择对应于像素的色彩通道的多个中间控制点(例如,为像素校 正模块1026)。例如,如果接收到红色像素,像素色彩模块1034将选择为贝塞尔曲面的红色 通道计算的中间控制点。当接收到下个像素时,像素色彩模块1034选择对应于下个像素的 色彩通道的多个中间控制点。例如,色彩通道1034可以为对应的绿色像素的绿色通道选择 多个中间控制点。参考图11和图12,示例性的流程图1100和1200显示了本发明的各种实施例使用 的示范过程。虽然在流程图1100和1200中揭露了具体的模块,但是这些模块是示例性的。 也就是说,实施例非常适合执行各种其他的模块或在流程图1100和1200中描述的模块的 变化。应该认识到在流程图1100和1200中的模块可能以与本文显示的不同的顺序来执行, 并且可能不需要执行流程图1100和1200中的所有模块。流程图1100和1200包括,在各 种实施例中,在计算机可读的和计算机可执行的指令控制下,由处理器来完成处理过程。因 此,本发明的实施例可能以计算机可读的媒介或计算机可执行的指令,包括但不限于,更新 硬件、更新软件包或硬件(例如,只读存储器)的形式来存储。图11示出了根据一个实施例的示例性的用于实现图像处理的计算机控制过程的 流程图。处理1100校正多个图像不规则,包括镜头阴影、光学串扰和电气串扰。在模块1102中,在电子系统中访问样条(例如,贝塞尔)曲面的第一个曲面的多 个控制点。在模块1104中,如本文所述的,计算(例如,通过线性插值)对应于第一个曲面 的像素行的多个中间控制点。在模块1106中,接收图像的第一个像素。在模块1108中,在多个中间控制点的基 础上,校正第一个像素。如本文所述的,基于多个中间控制点的像素校正可操作用于补偿镜 头阴影效果、光学串扰、电气串扰,和其它传感器输出不规则。如本文所述的,通过线性插值 能够执行校正。使用固定精度或浮点型精度可以计算校正。在模块1110中,接收图像的第二个像素。在一个实施例中,其中第二个像素水平 地相邻第一个像素(例如,曲面片的像素行的下个像素)。在模块1112中,对应于样条曲面(例如,贝塞尔)的第一个曲面片内的像素位置, 增加计数器。在一个实施例中,计数器对应于曲面片的u或水平轴,同时在计数器上增加 Au, Au表示单色彩通道的像素之间的距离。在模块1114中,基于中间控制点校正第二个像素。在模块1116中,确定是否到达曲面片的像素行的末尾。如果已经到达曲面的像素 行的末尾,执行模块1126。如果还未到达曲面的像素行的末尾,执行模块1118。在模块1118中,确定像素的处理是否接近行的末尾。如果当前已校正过的像素在 行的末尾的已经预定的范围内,执行模块1120。如果当前像素不在预定的范围内,执行模 块1106并且接收图像的另一个像素。在模块1120中,预先读取样条曲面(例如,贝塞尔)的第二个曲面片的多个控制点。如果当前像素接近曲面片的末尾,预先读取下个相邻的曲 面。如果当前像素接近图像的行的末尾,预先读取曲面群的下一行的下一个曲面(例如,曲 面片的第二行的第一个曲面片)。在模块1126中,确定是否到达图像的行的末尾。如果到达图像的行的末尾,执行 模块1122。如果还未到达图像的行的末尾,执行模块1128。在模块1122中,确定处理中的像素行是否为图像的最末行。如果已经处理过图像 的最末行,执行模块1124,并且输出校正的图像数据。如果有更多的像素行和图像的曲面片 要处理,执行模块1130。在模块1128中,将当前曲面片设置为下个相邻的曲面。在一个实施例中,当一行 曲面片已经被校正时,在相应的行上选择和校正下个相邻的曲面片。例如,当前的曲面片可 能被设置为从曲面片602b到曲面片602c。然后执行模块1134。在模块1130中,将当前的曲面片设置为曲面片的下一行的曲面片。在一个实施例 中,当已经到达曲面片的末行和一行图像的末尾,选择下一行曲面片的下一个曲面片,并且 从曲面的第一行开始校正。例如,当前曲面片可能被设置为从曲面片602c到602d。在一个实施例中,然后执行模块1132,并且对应于将被处理的图像的下一行,增加 垂直计数器(例如,v)。然后执行模块1134,继而重新设置(例如,归零)水平计数器(例 如,u)。在一个示例性实施例中,由表1中的伪码执行部分的处理过程1100。Pixel stream received with pixel intensity value and (x, y)value, (x,y) counters are updated oneach pixel value received for the frame v = 0u = 0New Row Starting a first patch,compute or receive A v and A u for patch and obtain control points for patchBased on v, use linear interpolation to compute intermediary control points for rowSame Patch Compute gain value of(u, v)using intermediate control pointsCompute new pixel value = old pixel value^gainIncrement to next pixel (u = u+ A u)If within same patch then return to Same PatchIfend of row of image, then increment to next row v = v+ A v and u = Oand New Patchelse u = Oand New PatchNew Patch Compute or receive A u and A v for new patch and obtain control points for new patchBased on v, use linear interpolation to compute intermediary controlpoints for rowCompute gain value of(u, v)using intermediate control pointsCompute new pixel value = old pixel value氺gainIncrement to next pixel (u = u+ A u)If within same patch then return to Same PatchIf end ofrow of image, then increment to next row v = v+ A v and u = Oand New Patchelse u = Oand New Patch表1示例性伪码在一个示例性的实施例中,计算中间控制点(例如,通过线性插值)之后,用u坐 标(例如,曲面片的水平坐标)使用插值来计算增益值。表2显示了示例性方程式,用于获 取和校正像素值。Gain = F(u, Au,iQ-iCj,其中u代表该行曲面片中的水平坐标,A u代表像素之 间的距离(例如,1/一行曲面内的像素数目),iCi-iC;代表对应于曲面片的像素行的中间 控制点。校正像素值=Gain*像素值,其中,在一个实施例中,像素值包括强度值。表2-示例性增益和校正方程式在一个示例性实施例中,在每个新的像素上,将u更新Au(例如,Ui+l =Ui+AU), 并且实行校正。这个过程可能会重复,直到输入新的曲面片或完成图像的一行,然后,正在 被处理的位置降到下一行。当输入新的曲面片时,访问曲面的控制点,并且计算新的中间控 制点,u被设为0,对新的曲面片访问新的Au和新的Av。在一个示例性实施例中,当输入下一行时,v值是递增的(例如,= Uj+Av)并 且U值被设为零。基于新的V值计算新的中间控制点。如果由于往下移一行而输入新的曲 面片,就得到新的Au和Av。在每个曲面片内,Au和A V取决于被曲面片所覆盖的在每 个方向上的像素数目而被固定。在一个示例性的实施例中,硬件从传感器或流中的前一个处理过程中接收图像像 素,一次接收一个像素。每个像素被赋予唯一的地址,x和y。在每帧的开始处,x和y地址 被重设为零。当流内每个新的像素到达时,x递增1。当达到每个扫描线的末尾(例如,图 像或传感器的一行的末尾),y地址递增1同时x地址被重设为零。传感器的宽度指定了扫 描线的末尾。同样地,在最后的扫描线之后,y地址被重设为零。传感器的高度指定了最后 的扫描线。在一个示例性的实施例中,每个曲面片可以由其尺寸定义曲面片的宽度和曲面 片的高度和它的内部间距Au和Av,其中,Au = 1/曲面片的宽度,Av = 1/曲面片的高 度。在一个示例性的实施例中,硬件可以使用x,y像素的地址来确定曲面地址,s和t。当 像素地址是x = 0和y = 0时,曲面片地址被设为s = 0和t = 0。硬件保存内部像素地址 xp和yp。每当曲面片地址变化(例如,每当像素流输入到新的曲面片时)时,地址xp被设 为零,否则每当像素流到达的新的像素时,递增xp地址。与y地址类似,每当到达扫描线的 末尾时,递增yp地址。每当曲面地址t变化时,yp地址重设为零。在一个示例性的实施例中,当xp地址达到曲面片宽度时,递增s曲面片地址。当
16x像素地址达到扫描线的末尾时,s被重设为零。当yp地址到达曲面片高度时,递增t曲面 片地址。当y像素地址达到传感器图像的末尾时,y的情况和高度相等(例如,图像高度), t被重设为零。在一个示例性的实施例中,每个由s和t索引的贝塞尔曲面是二维函数ps,t (u,v)。 独立变量u和v可以为0和1之间的数值。从数学上说,u和v驻留在域W,l]内。与xp 和yp同时地,变量u和v各自分别以A u和A v的量递增。在一个示例性的实施例中,硬件使用每个s,t,u,和v的值来评定曲面片ps,t(u, v)作为单独的函数。评定被分隔为垂直方向的计算,接着是在水平方向的类似的计算,从这 种意义上将,评定是可分开的。垂直计算为每个新的V定义了四个垂直的中间控制点,iCi, iC2,iC3*iC4。四个控制点定义了一维的水平贝塞尔曲线,B(u)。每个中间控制点都基于 单一贝塞尔曲线的评定,该评定是垂直变量v的函数。既然存在四个中间控制点,那么评定 四条贝塞尔曲线U^i^LBjvhBjvhBjv)和B3(v),其中B。(v)是在控制点Q,C2,C3和C4 的基础上,Bi (v)是在控制点C5,C6,C7和C8的基础上,B2 (v)是在控制点C9,C10, Cn和C12的 基础上,B3(v)是在控制点C13,C14,C15和C16的基础上)。每个垂直贝塞尔曲线有四个控制 点。控制点来自于由s和t索引的曲面的四个控制点的四个垂直列。图12示出根据本发明另一个实施例的示例性的计算机控制的处理流程图,该流 程图用于多个曲面的图像信号处理。正如本文描述,处理1200校正各种图像的不规则,包 括镜头阴影,光学串扰和电气串扰。在模块1202中,在电子系统内,访问样条曲面的曲面片的多个控制点。在模块1204中,为图像的每个色彩通道,对应于一行像素来计算多个中间控制 点。正如本文描述,中间控制点定义了对应于像素行的贝塞尔曲线。在模块1206中,接收多个像素。在一个实施例中,多个像素包括对应于样条曲面 的曲面片的像素行,并且多个像素进一步包括多个图像的色彩通道。在模块1208中,基于多个中间控制点,调整多个像素。该调整补偿了多个不规则, 包括镜头阴影。正如本文描述,可能各自分别执行(例如,通过线性插值)多个像素的调整, 也可能并行执行该调整,或两者组合进行。在模块1210中,确定图像的调整是否完成(例如,是否有剩余的图像曲面片要处 理)。如果最后的曲面片已经被校正,执行模块1214并且输出校正后的图像。如果还有更 多的图像曲面片需要校正,执行模块1212.在模块1212中,检索下个曲面片。然后,可执行模块1202来处理检索到的曲面片。 在一个实施例中,可预先读取下个曲面片,便于准备好要处理的曲面片。出于说明和描述的目的,已经介绍了本发明具体实施例的前述描述。它们并非旨 在穷举或者将该发明限制于之前公开的形式以及根据上述指导的多种可能的修改和变形。 选择和描述实施例以便最好地解释本发明的原理及其实际应用,从而使本领域的其他技术 人员能够最好地使用该发明和适于预期特定使用的具有各种修改的各种实施例。旨在通过 所附权利要求书及其等效内容来界定本发明的范围。除非在该权利要求中明确阐述,否则 方法权利要求中的步骤列表并非暗指执行这些步骤的特定次序。
1权利要求
一种图像信号处理方法,所述方法包括从光学图像传感器接收图像数据,其中,所述图像数据包括对于一个或多个色彩通道的数据;访问样条曲面片片阵列,其中,所述样条曲面片阵列包括用于每个所述一个或多个色彩通道的控制点,其中,所述控制点定义了作为用于校正镜头阴影失真的倒数函数的曲面;和对所述图像数据应用所述样条曲面片阵列来产生校正后的图像数据。
2.如权利要求1所述的图像信号处理方法,其中,所述样条曲面片阵列包括双三次贝 塞尔样式的曲面片。
3.如权利要求1所述的图像信号处理方法,其中,所述样条曲面片阵列包括100个控制 点,其中,所述样条曲面片阵列包括9个曲面片。
4.如权利要求1所述的图像信号处理方法,其中,所述控制点的一部分位于所述样条 曲面片阵列的样条曲面片的边界,并且在样条曲面片之间共享。
5.如权利要求1所述的图像信号处理方法,其中,所述光学传感器是互补金属氧化物 半导体(CMOS)传感器。
6.如权利要求1所述的图像信号处理方法,其中,所述光学传感器是电荷耦合器件 (CCD)传感器。
7.如权利要求1所述的图像信号处理方法,其中,所述样条曲面片阵列包括用于每个 色彩通道的各自的样条曲面。
8.如权利要求1所述的图像信号处理方法,其中,所述样条曲面片阵列包括用于每个 照明类型的各自的样条曲面。
9.如权利要求8所述的图像信号处理方法,其中,所述照明类型选自钨丝灯、荧光灯和 曰光。
10.一种校准图像信号处理器的方法,所述方法包括使光通过镜头从均勻区域中穿过;用数字光学传感器对通过所述镜头的光进行采样;为多个传感器位置确定多个倒数值,和基于所述倒数值确定多个控制点,其中,所述多个控制点基于所述多个倒数值定义了 曲面,其中,所述曲面可操作地用于校正由所述数字光学传感器使用所述镜头检测的后续 图像。
全文摘要
本发明提出了一种用于校正图像数据的系统和方法。本发明的实施例提供了校准和图像校正,来克服包括镜头阴影和镜头缺陷在内的各种镜头效果。在一个实施例中,通过应用样条曲面片(例如,贝塞尔曲面)来执行图像数据的校正。使用样条曲面片便于高效的硬件实现。可以在每个通道和照明类型的基础上,执行图像校正。在另一个实施例中,本发明提供了确定用于校准图像信号处理器的样条曲面片的方法,该图像信号处理器用于校正图像数据。
文档编号H04N9/04GK101867703SQ201010148698
公开日2010年10月20日 申请日期2010年4月16日 优先权日2009年4月16日
发明者何虎, 布莱恩·卡布拉尔, 竹本宗平, 艾琳娜·英格 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1