发明内容
本发明的实施例提出一种由处理单元执行的坏像素校正方法。读取一个帧中的一块,以及标示块中的每一像素为好像素、弱像素以及坏像素中的一个。检测块中所包含的弱像素对,其中包含二个标示为弱像素的像素,以及将弱像素对中的像素从弱像素更新标示为弱像素转变的坏像素。针对标示为坏像素或弱像素转变的坏像素的像素进行校正。
本发明的实施例提出一种坏像素校正装置,至少包含相机模块控制器以及处理单元。相机模块控制器耦接于相机模块。处理单元耦接于相机模块控制器,通过相机模块控制器控制相机模块取得一个帧;读取帧中的一块;标示块中的每一像素为好像素、弱像素以及坏像素中的一个;检测块中包含的弱像素对,其中包含二个标示为弱像素的像素;将弱像素对中的像素从弱像素更新标示为弱像素转变的坏像素;以及针对标示为坏像素或弱像素转变的坏像素的每一像素进行校正。
本发明的前述坏像素校正方法及装置在动态坏像素校正(dynamic BPC)的条件下,先准确地标示出坏像素和好像素,而对于容易误判的弱像素,本发明还根据弱像素对与已准确标示的坏像素的位置关系判断是否构成短坏像素组,并且无需坐标计算,减少了计算量的同时降低了误判率。
附图说明
图1是依据本发明实施例的运算装置的系统架构图。
图2是依据本发明实施例由处理单元执行的坏像素校正方法流程图。
图3是依据本发明实施例由处理单元执行的坏像素检测示意图。
图4A是依据本发明实施例的待测Gr-像素的内块与外块取得示意图。
图4B是依据本发明实施例的待测R-像素的内块与外块取得示意图。
图4C是依据本发明实施例的待测B-像素的内块与外块取得示意图。
图5是依据本发明实施例的贝尔格式图像示意图。
【符号说明】
110处理单元; 130帧缓存器;
150易失性存储器; 170相机模块控制器;
190相机模块; S210~S250方法步骤;
S410~S460方法步骤;
430标志缓存器; 511、531、5515x5块;
513Gr-像素的内块; 515Gr-像素的外块;
533R-像素的内块; 535R-像素的外块;
533B-像素的内块; 535B-像素的外块;
G1~G13G-像素; R1~R9R-像素;
B1~B9B-像素; Gr1~Gr6Gr-像素;
Gb1~Gb6Gb-像素。
具体实施方式
以下说明系为完成发明的优选实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
在权利要求中使用如“第一”、"第二"、"第三"等词用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是依据本发明实施例的运算装置的系统架构图。此系统架构可实施于桌上型
计算机、笔记型计算机、平板计算机、手机、数字相机、数字录像机等,至少包含处理单元
110。处理单元110可使用多种方式实施,例如以专用硬件电路或通用硬件(例如,单一处理
器、具有并行处理能力的多处理器、图形处理器或其他具运算能力的处理器),并且在执行
固件或软件时,提供之后所描述的功能。处理单元110可整合于图像信号处理器(ISP,Image
Signal Processor)中,并且可通过相机模块控制器170控制相机模块190用以捕捉多个帧。
相机模块190可包含图像传感器,例如,互补式金属氧化物半导体(complementary metal-
oxide-semiconductor,CMOS)、电荷耦合元件(charge-coupled device,CCD)等传感器,用
以感测由红、绿、蓝光强度所形成的图像,以及包含读取电子电路,用以从图像传感器搜集
感测到的数据。然而,图像传感器中有瑕疵的像素无法正确地感测光线强度。所以,处理单
元110可检测图像传感器中的瑕疵像素(过亮或者过暗),并校正捕捉到的帧中瑕疵像素的
数据,并将校正后结果存储在帧缓存器(frame buffer)130。易失性存储器150,例如动态随
机存取存储器(DRAM,Dynamic Random Access Memory),用以存储执行过程中需要的数据,
例如,变量、数据表(data tables)等。
图2是依据本发明实施例由处理单元执行的坏像素校正方法流程图。此流程用以动态检测一块中的各通道(如R-通道、Gr-通道、Gb-通道及B-通道)的单独坏像素以及短坏像素组(short bad-pixel cluster),并校正检测到的坏像素。其中短坏像素组中包括三个坐标位置连续的坏像素,本实施例限定在动态坏像素校正(dynamic BPC)的范围内,动态坏像素校正的前提是,在一个例如3x3的全通道的块中,每个通道最多存在2个坏像素,以及坐标位置连续的坏像素的数目不会超过4个,如果存在4个或以上数量的连续坏像素,则视为噪声(noise),噪声应由去噪模块处理而不在本发明的讨论范围之内。处理单元110读取一个帧中的一块后(步骤S210),标示此块中的每一像素为好像素(good pixel)、弱像素(weakpixel)以及坏像素(bad pixel)中的一个(步骤S220)。接着,处理单元110检测块中包含的一个弱像素对(weak pixel pair),其中该弱像素对包含二个标示为弱像素的像素(步骤S230),以及将弱像素对中的像素从弱像素更新标示为弱像素转变的坏像素(bad pixelconverted from weak pixel)(步骤S240),值得注意的是,本实施例是在判断到该弱像素对中被标示为弱像素的两个像素会与标示为坏像素的单独像素构成短坏像素组时,才会进行步骤S240的更新动作,详细的流程见后。最后,处理单元110针对标示为坏像素及从弱像素转变的坏像素的像素进行校正(步骤S250),本发明在此并不讨论具体的校正算法。
图3是依据本发明实施例由处理单元执行的坏像素检测示意图。由于本发明在此并不讨论具体的校正算法,因此图3仅讨论坏像素的检测,大体而言,坏像素检测可分成二个阶段。第一阶段是单点检测(步骤S410至S420):读取一mxm像素(全通道,full channel)的块(例如,5x5像素),使用每个待测像素与周围的像素值的差异来标示每个待测像素为好像素(good pixel)、弱像素(weak pixel)或坏像素(bad pixel)其中的一个;值得注意的是,本实施例中所取得的帧例如为具贝尔格式(bayer pattern)图像,各个像素位置仅包括R-通道、Gr-通道、Gb-通道及B-通道其中之一的像素信息,并且在行和列的方向上,相邻像素位置的通道不同;因此前述的周围像素可能与待测像素分别属于相同或不同通道,详见后述。第二阶段是短坏像素组检测(步骤S440至S460):检测第一阶段标示的弱像素是否与第一阶段标示的坏像素形成短坏像素组,将确定为短坏像素组中原本被标示为弱像素的像素的标志更新为坏像素。具体而言,在第一阶段中,处理单元110从帧缓存器130依序读取mxm像素作为待测块(步骤S410),标示每个待测像素的类型及产生各个待测像素的像素标志,并且将各个像素标志存储至标志缓存器430(步骤S420)。在步骤S420,详细来说,处理单元110可取得围绕待测像素的全通道的nxn像素(例如,3x3像素,又可称为内块,innerblock)以及围绕该待测像素的相同通道的nxn像素(又可称为外块,outer block),其中n小于m。图4A是依据本发明实施例的待测Gr-像素的内块与外块取得示意图。假设待测像素为5x5块511中的像素G7:内块513包含{G4,B2,G5,R3,G7,R4,G9,B5,G10},外块515包含{G1,G2,G3,G6,G7,G8,G11,G12,G13}。图4B是依据本发明实施例的待测R-像素的内块与外块取得示意图。假设待测像素为5x5块531中的像素R5:内块533包含{B1,G4,B2,G6,R5,G7,B3,G9,B4},外块535包含{R1,R2,R3,R4,R5,R6,R7,R8,R9}。图4C是依据本发明实施例的待测B-像素的内块与外块取得示意图。假设待测像素为5x5块551中的像素B5:内块553包含{R1,G4,R2,G6,B5,G7,R3,G9,R4},外块555包含{B1,B2,B3,B4,B5,B6,B7,B8,B9}。现在返回图3,接着,处理单元110取得最终内计数(final inner counter),该最终内计数表征nxn的内块中的(nxn-1)个周围像素与待测像素间具有显著差异的像素数目,在一实施例中,处理单元110可使用二个内计数器(inner counter)分别记录内块513、533或553中周围像素值与待测像素值间的正差异及负差异超过预设条件的差异数目。接着,取二个内计数器的最大值作为内块的前述最终内计数。处理单元110取得最终外计数(final outer counter),该最终外计数表征nxn的外块中的(nxn-1)个相同通道的周围像素与待测像素间具有显著差异的像素数目,在一实施例中,处理单元110可使用二个外计数器(outer counter)记录外块515、535或555中周围像素与待测像素间的正差异及负差异超过预设条件的差异数目。接着,取二个外计数器的最大值作为外块的前述最终外计数。此外,在某些实施例中,处理单元110还判断待测块中是否包含纹理(texture)。举例而言,当待测块的最终内块计数器小于或等于5时,处理单元110判断待测块中包含纹理。如果待测块中包含纹理,则无论待测像素与周围像素的差异是否显著,处理单元110都会标示该待测像素为好像素,即差异是由纹理造成的而非坏像素举例而言,n=3,即内块和外块均包含个8个周围像素,在一些实施例中,当最终内计数器为8及最终外计数器为6时,或当最终外计数器为8时,处理单元110将待测像素的标志设为“11”,代表坏像素。当最终外计数器为7时,处理单元110将待测像素的标志设为“01”,代表弱像素。当最终外计数器为7并且最终内计数器为8时,处理单元110将待测像素的标志设为“10”,代表从弱像素转变的坏像素。当最终外计数器小于或等于6或待测块中包含纹理时,处理单元110将待测像素的标志设为“00”,代表好像素。处理单元110接着将待测像素的标志存储至标志缓存器430。标志缓存器430可实施于帧缓存器130或易失性存储器150。
在第二阶段中,在n=3即内块和外块均包含个9个像素的实施例中,假设待测像素的坐标为[x,y],取得以该待测像素为固定顶点的全通道的3x3像素作为一标示块,以固定顶点为左上顶点为例,处理单元110判断坐标[x,y]至[x+2,y+2]的像素标志是否存在(步骤S440)。若是,则从标志缓存器430读取坐标[x,y]至[x+2,y+2]的共9个像素标志(步骤S450)。接着,处理单元110依据读取的像素标志检测是否存在短坏像素组并据以更新标志缓存器430中关联的像素标志(步骤S460)。详细而言,步骤S460分2个步骤(这里不限制2个步骤的先后顺序,可并行执行),第1个步骤是:当该3x3的全通道的标示块中有且仅有二个相同通道的弱像素时,判断该标示块中包含上述弱像素对;第2个步骤是判断以该待测像素为中心的mxm的全通道的搜寻块(在n=3的实施例中,m=5,即搜寻块为一5x5的全通道块)中是否有且仅有一个坏像素,即处理单元110会根据像素标志判断该搜寻块中是否有且仅有一个坏像素,如果前述两个步骤的判断结果都是“是”的话,则将前述找出的弱像素对中的两个像素从弱像素(标志为”01”)更新标示为弱像素转变的坏像素(标志为“10”),亦即是,发现短坏像素组,该短坏像素组由前述两个弱像素转变的坏像素(标志为“10”)及该坏像素构成。在一实施例中,在步骤S460的第2个步骤中,处理单元110可还检测第1个步骤发现的二个相同通道的弱像素的所在位置是否与该搜寻块中的一个坏像素坐标位置连续来确定是否检测到短坏像素组,这里就不需要限制该搜寻块中有且仅有一个坏像素,当该标示块中包含的一对弱像素与该搜寻块中的其中一个坏像素坐标位置连续时,处理单元110将二个弱像素的标志从弱像素(标志为“01”)更新标示为弱像素转变的坏像素(标志为“10”),值得注意的是,在这种判断坐标位置是否连续的实施例中,需要的计算量大但误判率更低,设计者可根据系统性能要求自行选择。
现在返回参考图2,在步骤S250的校正算法,处理单元110举例而言以相同通道的周围8个非坏像素的平均值更新坏像素的像素值。坏像素标志可为“11”或“10”。图5是依据本发明实施例的贝尔格式图像(Bayer pattern)示意图。举例来说,当像素R5的标志指示为坏像素时,处理单元110以像素R1至R4以及R6至R8中非坏像素的平均值更新像素R5的原始值,但本发明的校正方式不限于这种平均值替代的方式。这里的坏像素包括标示为坏像素(标志为“11”)及由弱像素转变的坏像素(标志为“10”)的像素,这里的非坏像素包括标示为好像素(标志为“00”)及弱像素(标志为“01”)像素。
本发明的前述坏像素校正方法及装置在动态坏像素校正(dynamic BPC)的条件下,先准确地标示出坏像素和好像素,而对于容易误判的弱像素,本发明还根据弱像素对与已准确标示的坏像素的位置关系判断是否构成短坏像素组,并且无需坐标计算,减少了计算量的同时降低了误判率。
虽然图1中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图2、3的处理步骤采用特定的顺序来执行,但是在不违法发明精神的情况下,本领域技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了本领域技术人员显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。