使用五个最近邻的故障像素替换转让专利

申请号 : CN200980149489.6

文献号 : CN102246509B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J·C·怀特P·弗雷明

申请人 : 安立世

摘要 :

提供了一种用于替换图像中位于沿着某区域中心行的故障像素的值的图像处理系统。所述区域包括中心行、位于所述中心行上方的前一行和位于所述中心行下方的后一行。所述图像处理系统包括缓冲区,用于存储位于所述前一行和所述中心行的像素的值。所述图像处理系统也包括选择器,用于选择位于所述前一行和所述中心行的邻近所述故障像素位置的多个像素值,而不选择所述后一行上的像素值。所述图像处理系统进一步包括计算器,用于根据位于所述前一行和所述中心行的所选择的像素的值,确定所述故障像素的替换值。

权利要求 :

1.一种用于替换图像中位于沿着某区域中心行的故障像素的值的图像处理系统,所述区域包括中心行、位于所述中心行上方的前一行和位于所述中心行下方的后一行,所述图像处理系统包括:缓冲区,用于存储位于所述前一行和所述中心行的像素的值;

选择器,用于选择位于所述前一行和所述中心行的邻近所述故障像素位置的多个像素值,而不选择所述后一行上的像素值;以及计算器,用于根据位于所述前一行和所述中心行的所选择的像素的值,确定所述故障像素的替换值;

其中,所述计算器根据沿着所述前一行的三个近邻像素和位于沿着所述中心行的两个近邻像素确定所述故障像素的替换值;以及所述计算器通过对五个近邻像素的值求和并且将所述和除以五的近似值,确定所述故障像素的替换值;并且进一步包括近似器,用于使用二的幂的分式值求五的近似值。

2.根据权利要求1的图像处理系统,其中,所述近似器使用以下公式:其中X是最终近似值,pn是像素值而n是所述五个近邻像素的索引。

3.根据权利要求1的图像处理系统,进一步包括故障像素映射,用于提供所述区域对应的所述故障像素的位置。

4.根据权利要求1的图像处理系统,进一步包括显示设备,用于显示所述故障像素的替换值。

5.一种用于替换图像的3行×3列区域内彼此邻近的多个故障像素的值的图像处理系统,所述图像处理系统包括:缓冲区,用于存储位于每个相应故障像素上方的前一行和每个相应故障像素的当前行的像素的值;

选择器,用于选择位于所述前一行和所述当前行的邻近每个相应故障像素位置的多个像素值,而不选择每个相应故障像素下方的后一行上的像素值;以及计算器,用于根据位于所述前一行和所述当前行的所选择的像素的值,确定所述多个故障像素的替换值;

其中,所述计算器根据五个相应近邻像素确定所述故障像素的替换值,所述五个相应近邻像素包括位于沿着所述前一行的三个近邻像素和位于沿着所述中心行的两个近邻像素,以及所述计算器通过对五个相应近邻像素的值求和并且将所述和除以五的近似值,确定所述故障像素的替换值;并且进一步包括近似器,用于使用二的幂的分式值求五的近似值。

6.根据权利要求5的图像处理系统,其中,所述近似器使用以下公式:其中X是最终近似值,pn是像素值而n是所述五个相应近邻像素的索引。

7.根据权利要求5的图像处理系统,其中,所述多个故障像素位于所述3行×3列区域的行中。

8.根据权利要求7的图像处理系统,其中,所述多个故障像素位于所述3行×3列区域的列中。

9.一种用于替换图像中位于沿着一个区域中心行的故障像素的值的方法,所述区域包括中心行、位于所述中心行上方的前一行和位于所述中心行下方的后一行,所述方法包括以下步骤:存储位于所述前一行和所述中心行的像素的值;

选择位于所述前一行和所述中心行的邻近所述故障像素位置的多个像素值,而不选择所述后一行上的像素值;以及根据位于所述前一行和所述中心行的所选择的像素的值,确定所述故障像素的替换值;

其中,根据沿着所述前一行的三个近邻像素和位于沿着所述中心行的两个近邻像素确定所述故障像素的替换值;以及通过对五个近邻像素的值求和并且将所述和除以五的近似值,确定所述故障像素的替换值;并且进一步包括近似器,用于使用二的幂的分式值求五的近似值。

10.根据权利要求9的替换故障像素值的方法,其中,使用以下公式确定所述替换值:其中X是最终近似值,pn是像素值而n是所述五个近邻像素的索引。

11.根据权利要求9的替换故障像素值的方法,进一步包括以故障像素映射提供所述区域对应的所述故障像素的位置的步骤。

12.根据权利要求9的替换故障像素值的方法,进一步包括显示所述故障像素的替换值的步骤。

说明书 :

使用五个最近邻的故障像素替换

背景技术

[0001] 常规的集成电路成像器件包括互连的光检测元件或像素的阵列,以产生向该器件照射的图像的信号表达。常规集成电路成像器件的普通示例是电荷耦合器件(CCD)和互补金属氧化物半导体(CMOS)图像传感器件和焦平面阵列(FPA)。这样的集成电路采用像素和电荷存储元件,前者比如光电二极管或光电晶体管能够传导的电流与照射该元件的光强度近似成正比。来自这些像素的信号集合表示该阵列观察的场景的图像。
[0002] 每个像素都表示该场景的样点,因此是成像系统产生的二维图像中的数据值。故障像素通常称为“坏点”,由阵列缺陷造成,不提供正确的光强度值。坏点显现为图像假象,可能显著降低图像品质。确切地说,当全部像素的曝光等级均匀时,坏点产生的输出信号显著偏离相邻像素的平均输出电平。
[0003] 典型情况下,故障像素以随机方式分布。在某些情况下,故障像素可能聚集在一起。不过也可能发生相邻故障像素的“坏列”或相邻故障像素的“坏行”。

发明内容

[0004] 本发明提供了一种用于替换图像中位于沿着某区域中心行的故障像素的值的图像处理系统。所述区域包括中心行、位于所述中心行上方的前一行和位于所述中心行下方的后一行。所述图像处理系统包括缓冲区,用于存储位于所述前一行和所述中心行的像素的值。所述图像处理系统也包括选择器,用于选择位于所述前一行和所述中心行的邻近所述故障像素位置的多个像素值,而不选择所述后一行的像素值。所述图像处理系统进一步包括计算器,用于根据位于所述前一行和所述中心行的所选择的像素的值,确定所述故障像素的替换值。
[0005] 本发明进一步提供了一种用于替换图像的3行×3列区域内彼此邻近的多个故障像素的值的图像处理系统。所述图像处理系统包括缓冲区,用于存储位于每个相应故障像素上方的前一行和每个相应故障像素的当前行的像素的值。所述图像处理系统也包括选择器,用于选择位于所述前一行和所述当前行的邻近每个相应故障像素位置的多个像素值,而不选择每个相应故障像素下方的后一行的像素值。所述图像处理系统进一步包括计算器,用于根据位于所述前一行和所述中心行的所选择的像素的值,确定所述多个故障像素的替换值。
[0006] 本发明进一步提供了一种用于替换图像中位于沿着某区域中心行的故障像素的值的方法。所述区域包括中心行、位于所述中心行上方的前一行和位于所述中心行下方的后一行。所述方法包括存储位于所述前一行和所述中心行的像素的值的步骤。所述方法也包括选择位于所述前一行和所述中心行的邻近所述故障像素位置的多个像素值,而不选择所述后一行的像素值的步骤。所述方法进一步包括根据位于所述前一行和所述中心行的所选择的像素的值,确定所述故障像素的替换值的步骤。

附图说明

[0007] 图1(a)、图1(b)和图1(c)是图像中分别包括故障像素以及两个、四个和八个最近邻像素的3×3区域的示范展示;
[0008] 图2(a)、图2(b)和图2(c)是图像的3×3区域的示范展示,分别显示了对单个故障像素、一列故障像素和一行故障像素的最近邻像素,用于确定根据五个最近邻方法的替换值;
[0009] 图3是图像处理系统的框图,用于确定根据本发明实施例的故障像素替换值;
[0010] 图4是流程图,展示了根据本发明实施例确定故障像素替换值的方法。

具体实施方式

[0011] 为替换故障像素、一列故障像素或一行故障像素而确定像素值的常规方法称为坏点替换或坏元替换。在这些方法中,故障像素的替换值是由该故障像素周围3行×3列区域(3×3区域)内故障像素边界或邻近像素(即最近邻)值求平均而估计的。也就是说,替换像素是故障像素周围3×3区域中像素值的平均。
[0012] 当用二的幂(即二、四、八等)进行乘和除时,使用常规移位寄存器的乘法和除法很简单。也就是说,用二的幂的乘法和除法,与不是二的幂进行乘和除相反,需要较少的数字逻辑,使功耗较低。因此,常规的像素替换方法使用两个、四个或八个最近邻确定故障像素的替换值。图1(a)、图1(b)和图1(c)分别展示了使用两个、四个或八个最近邻方法的3×3区域。例如,假若使用两个近邻像素替换故障像素的值,通过两个近邻像素之和除以2来计算替换值,需要简单的移位,它实质上对资源和功耗都是“免费”操作。
[0013] 3×3区域包括中心行、中心行之上的前一行和中心行之下的后一行。根据本发明,使故障像素处于3×3区域的中心。3×3区域仅仅表示由众多列和行的像素表示的图像的某部位。依次读取某行中每个像素并进至下一行便获得了图像中的每个像素值。使用继故障像素之后的行上近邻像素的常规方法,要求对故障像素行上的每个像素和后继行上的每个像素都依次读取并缓冲,直到到达了近邻像素。因此,整行的等待时间都被添加到获取最近邻故障像素值的过程。
[0014] 图1(a)中展示的两个最近邻的方法仅仅使用像素1和像素2的值来确定故障像素D的替换值。尽管两个最近邻的方法不使用沿着故障像素行后继行的近邻像素,但是根据仅仅两个近邻像素来确定故障像素的替换值,导致替换值可能不是故障像素的准确值。
[0015] 图1(b)和图1(c)分别展示的四个和八个最近邻的方法,可以为故障像素D确定比两个最近邻的方法更准确的替换值。不过,四个和八个最近邻的方法使用了沿着故障像素D行后继行的近邻像素(即图1(b)中的像素3和图1(c)中的像素6-8)。也就是说,四个和八个最近邻的方法要求缓冲两行的视像(即前进读取模式中的第一行和第三行)后再确定替换值,导致整行的等待时间。
[0016] 相反,本发明确定故障像素的替换值时,使用了沿着故障像素先行行(前一行)和沿着故障像素行(中心行)的五个最近邻像素。
[0017] 通过对五个最近邻像素求和并除以五来确定故障像素的替换值。按照五个最近邻的方法,确定故障像素替换值的算法显示在以下公式(1)中:
[0018]
[0019] 公式(1)
[0020] 其中X是最终的平均近似值,pn是以数字计数的像素值而n是五个最近邻的索引。
[0021] 正如公式(1)所示,值5是通过增加二的幂的数字值(即1/8、1/16和1/64)而近似的,导致仅仅使用两个加法器而不是完全除法器的加法。值5近似导致了+1.5625%的误差,当权衡考虑五个最近邻的方法提供的时间(等待时间)和成本节约(功耗和硬件)时,这相当地微不足道。例如,对于常规FPGA器件中实现的12位像素值,这种近似导致FPGA资源减少90%和功率降低95%。
[0022] 图2(a)显示了使用五个最近邻的方法确定单个故障像素替换值的3×3区域。正如图2(a)所示,故障像素D位于沿着3×3区域的中心行。位于沿着前一行的最近邻像素的值1、2和3以及位于沿着中心行的最近邻像素的值5和6被用于确定故障像素D的替换值。使用图2(a)中像素1至5确定故障像素D的替换值将等待时间从整行缩短到单个像素(即像素5)。此外,无论图像的尺寸如何,缓冲当前行上像素5的后继像素和后一行上像素所需要的存储器都被减少了50%。
[0023] 除了确定单个故障像素的替换值,五个最近邻的方法也可以为若干列的故障像素和若干行的故障像素确定替换值。图2(b)和图2(c)分别显示了为若干列的故障像素和若干行的故障像素确定替换值的3×3区域。
[0024] 如图2(b)所示,故障像素D1、D2和D3的列位于沿着3×3区域的中心列。确定故障像素D1的替换值可以按照以上介绍的使用五个最近邻确定单个故障像素替换值的示范方法。例如,根据位于沿着前一行(未显示)的最近邻像素的值以及最近邻像素1和3的值可以确定故障像素D1的替换值。因此,在不使用后一行(包括像素4、D2和5的中心行)上像素值的情况下,可以确定故障像素D1的替换值,将等待时间从整行缩短到单个相邻像素3。
[0025] D1的替换值可以用于确定故障像素D2的替换值。尽管可能不期望使用故障像素的替换值来确定另一个故障像素的值,但是使用故障像素的替换值减少了功耗和存储器。必须对每个时钟周期(每像素一个时钟周期)存储故障像素已经被替换的消息,直到到达了目标故障像素。因此,为了减少功耗和存储器,可以不存储这个消息而可以使用故障像素的替换值。
[0026] 在图2(b)所示的实施例中,如果不使用故障像素D1的替换值,必须对每个时钟周期存储故障像素D1已经被替换的消息,直到到达了随后的行上故障像素D2。因此,为D1确定了替换值之后,D1的值可以用于确定故障像素D2的替换值,消除了存储故障像素D1已经被替换的消息所需要的功耗和存储器。
[0027] 所以,利用位于沿着前一行的最近邻像素1、D1和3的值以及位于沿着中心行的最近邻像素4和5的值,可以确定故障像素D2的替换值。也就是说,在不使用后一行(包括故障像素D3的行)的情况下确定故障像素D2的替换值,将等待时间从整行缩短到单个近邻像素5。然后可以使用相同的五个最近邻的方法确定故障像素D3的替换值。
[0028] 如图2(c)所示,故障像素D1、D2和D3的行位于沿着3×3区域的中心行。为故障像素D1、D2和D3的行确定替换值可以按照以上介绍的使用五个最近邻为单个故障像素确定替换值的示范方法。不过,也可以使用3个、4个或5个最近邻像素的值来确定故障像素D1、D2和D3的替换值,如表2所示。
[0029] 根据3个或4个的最近邻像素的值可以确定故障像素D1的替换值。例如,根据位于沿着前一行的3个最近邻像素(像素1左边的像素(未显示)、像素1和像素2)的值可以确定故障像素D1的替换值。因为尚未确定故障像素D2的替换值,所以不可以使用故障像素D2来确定故障像素D1的替换值。不过,可以使用也可以不使用故障像素D1左边最近邻像素(未显示)的值来确定故障像素D1的替换值。如果使用故障像素D1左边最近邻像素的值,那么就使用了4个最近邻像素来确定故障像素D1的替换值。如果不使用故障像素D1左边最近邻像素的值,那么就使用了3个最近邻像素确定故障像素D1的替换值。
[0030] 正如以上关于图2(b)的介绍,可以使用(第一行上)D1的值来确定(中心行上)故障像素D2的替换值,消除了存储故障像素D1已经被替换的消息所需要的功耗和存储器。
[0031] 不过,在图2(c)所示的坏行实施例中,可以使用的像素值紧靠在故障像素D1的左边。如果故障像素D1左边像素的值未经替换,就可以使用该像素值。如果D1左边故障像素已经被替换了,D1左边故障像素已经被替换的消息就必须仅仅被存储1个时钟周期。因此,故障像素D1左边的最近邻像素的值仍然可以用于确定故障像素D1的替换值。作为替代,故障像素D1左边的最近邻像素的值不可以用于确定故障像素D1的替换值。
[0032] 故障像素D2的替换值也可以根据3个或4个最近邻像素的值来确定。根据位于沿着前一行的最近邻像素(像素1、2和3)的值可以确定故障像素D2的替换值。如上所述,可以使用也可以不使用故障像素D1的替换值来确定故障像素D2的替换值。不过,因为故障像素D3的替换值尚未确定,所以故障像素D3不可以用于确定故障像素D2的替换值。
[0033] 如果使用了故障像素D1的替换值,那么就使用了4个最近邻像素来确定故障像素D2的替换值。如果不使用故障像素D1的替换值,那么就使用了3个最近邻像素来确定故障像素D2的替换值。
[0034] 故障像素D3的替换值可以根据3个、4个或5个近邻像素确定。例如,故障像素D3的替换值可以根据位于沿着前一行的3个最近邻像素(像素2、像素3和像素3右边的像素(未显示))的值来确定。如上所述,可以使用也可以不使用目标故障像素左边像素的替换值来确定目标故障像素的替换值。也就是说,可以使用也可以不使用故障像素D2的替换值来确定故障像素D3的替换值。
[0035] 如果故障像素D3右边的最近邻像素(未显示)没有故障,则可以使用该像素的值。不过,如果故障像素D3右边的最近邻像素有故障,则不可以使用该像素的值。所以,如果D2和故障像素D3右边的最近邻像素都被使用,那么就使用了5个最近邻像素确定故障像素D3的替换值。如果使用了D2和故障像素D3右边的最近邻像素仅仅其一,那么就使用了4个最近邻像素确定故障像素D3的替换值。如果D2和故障像素D3右边的最近邻像素都未被使用,那么就使用了3个最近邻像素确定故障像素D3的替换值。
[0036] 表1和表2显示了使用两个最近邻(2NN)的方法、四个最近邻(4NN)的方法、五个最近邻(5NN)的方法和八个最近邻(8NN)的方法,确定单故障像素(坏点)、故障像素列(坏列)和故障像素行(坏行)的替换值可用的最近邻像素的数量。表1显示的可用的最近邻像素的数量不包括先前校正的像素。表2显示的可用的最近邻像素的数量包括先前校正的像素。
[0037] 如表1所示,五个最近邻的方法具有的可用的最近邻像素要多于两个和四个最近邻的方法。尽管八个最近邻方法具有的可用的最近邻像素要多于五个最近邻的方法,但是八个最近邻的方法需要使用包括目标故障像素的行的后一行上的像素值来确定目标故障像素的替换值。
[0038] 相反,五个最近邻的方法通过使用最大量的可用的最近邻像素,而不使用包括目标故障像素的行的后一行上的像素,来确定目标故障像素的替换值。因此,五个最近邻的方法确定的替换值具有高的准确度,同时将等待时间损失从整行缩短到单个像素。
[0039]4NN 5NN 8NN
坏点 4 5 8
坏列 2 4 6
坏行 2 3-5 6
[0040] 表1
[0041]4NN 5NN 8NN
坏点 4 5 8
坏列 3 5 7
坏行 3 3-5 7
[0042] 表2
[0043] 图3是图像处理系统的框图,使用根据本发明的示范实施例的五个最近邻的方法,确定故障像素、故障像素列和故障像素行的替换值。如图3所示,图像处理系统300包括处理器302、故障像素映射304和显示器306。处理器302从故障像素映射304接收显示器306的故障像素的位置。典型情况下,在显示器306在工厂里被制造之后,并在为了销售和配送从工厂发货之前制备故障像素映射。以下在表3中显示了示范的故障像素映射。
[0044] 正如表3所示,可以在显示器306的行(i)和列(j)的交叉位置确定故障像素。例如,第一个故障像素可以被映射在行2、列3(P2,3)处,而第二个故障像素可以被映射在行4、列7(P4,7)处,如表3所示。示范故障像素映射可以包括任何数量的故障像素。
[0045]故障像素
P2,3
P4,7
Pi,j
[0046] 表3
[0047] 处理器302还接收图像数据308。图像数据308包括多个行和列,每一个都包括组成图像的多个像素。处理器302实时地处理图像的每个像素。处理器302为故障像素映射304提供的每个故障像素确定替换值,并且向显示器306提供用于每个像素的该值,包括每个故障像素的替换值。
[0048] 五个最近邻像素选择器310接收在显示器306中故障像素的位置,使用例如表2所示的故障像素映射,并且选择位于故障像素之前行(前一行)上的三个最近邻像素以及位于沿着故障像素行(当前行)的两个最近邻像素,而没有选择故障像素之后的行(后一行)上的像素。
[0049] 例如,五个最近邻像素选择器310可以从表3的示范故障像素映射接收第一个故障像素的位置(P2,3),表明了第一个故障像素的位置在显示器306的行2、列3处。五个最近邻像素选择器310然后选择位于前一行上的三个最近邻像素(P1,2、P1,3和P1,4)以及位于沿着故障像素当前行的两个最近邻像素(P2,2和P2,4),而没有选择后一行(第三行)上的像素。
[0050] 五个最近邻像素选择器310向缓冲存储器312提供了故障像素和五个最近邻像素的位置。所以,缓冲存储器312依次读取前一行和当前行上的像素,存储前一行和当前行上的像素值,以当前行上故障像素(P2,3)之后的最近邻像素(P2,4)结束。
[0051] 因此,根据本发明的示范实施例,缓冲存储器312仅仅存储了前一行上的像素值以及一直到并包括故障像素之后的最近邻像素(P2,4)的像素值,将等待时间损失从整行(后一行)缩短到故障像素(P2,3)之后的单个像素。
[0052] 计算器314使用近似器316提供的公式(1),将五个最近邻像素的求和值除以五,确定了故障像素的替换值。显示器306然后显示图像中每个像素的替换值,包括每个故障像素的替换值。
[0053] 图4是流程图,展示了根据本发明实施例确定故障像素替换值的方法。如在步骤400所示,提供了图像的某区域对应的故障像素的位置。可以用故障像素映射提供故障像素的位置,比如表3所示的故障像素映射。
[0054] 在步骤402,存储了位于图像的前一行和中心行中的像素值。这些值可以存储在例如缓冲区中,比如图3所示的缓冲存储器312。
[0055] 在步骤404,选择了位于邻近故障像素位置的前一行和中心行中的多个像素值。没有选择位于后一行上若干像素的像素值,将等待时间损失从整行缩短到单个像素。然后可以向示范缓冲区提供这多个像素值。
[0056] 在步骤406,根据位于前一行和中心行中选择的像素值来确定故障像素的替换值。根据五个近邻像素确定故障像素的替换值,所述五个近邻像素包括位于沿着前一行的三个近邻像素和位于沿着中心行的两个近邻像素。例如,图2(a)中故障像素D的替换值根据位于沿着前一行的三个近邻像素1、2和3以及位于沿着中心行的两个近邻像素4和5确定。
[0057] 然后通过对五个近邻像素的值求和并且将该和乘以五的倒数的近似值,可以确定该故障像素的替换值。使用公式(1)所示的二的幂的分式(1/8、1/16和1/4)可以近似得到五的倒数的值。在步骤408,显示故障像素的替换值。
[0058] 尽管本文参考特定的实施例展示和介绍了本发明,但是本发明并非意在局限于所示的细节。相反,可以在权利要求书的等效内容的范围内的若干细节进行多种修改而不脱离本发明。