背景技术
现有技术下的CMOS和CCD图像传感器仅能记录灰度值,即从纯白到纯黑的系列色调。它们仅能通过捕捉光子的数量来获取亮度信息。因此,彩色相机获得彩色图像的基本原理是在感光元件上安装滤色镜片,然后通过各种方式来合成彩色图像。目前,市场上通常使用的彩色感光元件的工作原理为:在各像素单元上安放R/G/B滤光镜,R/G/B滤光镜仅能捕捉到三种颜色中的一种,然后再通过算法将三种滤光镜的颜色进行混合,就可以得到彩色图像数据(如图1所示)。
请参阅图2和图3,图2为常见感光元件10的感光矩阵,三原色的感光点在矩阵上错开排布。目前,感光元件上各个感光点的数据并不能独立输出,而是以行为单位的串行输出。感光元件10接收时钟信号CLK、并输出感光点序号X[]、感光数据VDI、行同步信号HS和列同步信号VS。时钟信号CLK表示感光元件10的工作频率;感光点序号X[]表示当前输出的感光数据VDI的编号,该编号也就决定了当前感光点的颜色;感光数据VDI是感光点根据光的强弱转化而成的亮度信息;行同步信号HS和列同步信号VS用于将输出的串行感光数据VDI还原成感光矩阵的排和列。
因为感光数据VDI是以串行形式输出,要进行色彩分离,首先要将各个感光点的数据分离出来。请参阅图4,每一个时钟信号CLK的到来,感光元件10输出一个感光点序号X[]和一个感光数据VDI,以该时钟信号CLK的频率读取数据即可得到单个的感光数据VDI。
请同时参阅图2和图5,为了获得彩色图像,一个像素通常由相邻的四个感光点构成,那么像素的构成就有图5所示的四种排列组合方式。在这种组合方式下,由于相邻两个像素R/G/B三色中会有一色相同(如图5中第一个像素和第二个像素的R相同),合成的影像质量较低。为此,一种更好的组合方式是取每相邻的九个感光点作为一个像素来合成彩色数据,请参阅图6,这种合成方法中的像素会有图6所示的四种排列组合方式。可以看出,这种合成方法不仅使得每个像素的彩色都能取到不同的R/G/B色值,而且是在完全对称的范围内取得色值,使得图像与实际图像色彩更为相似,画面更加逼真。
目前,九点合成的色彩分离方法通常是先将感光点的数据存储在存储器中,计算某一像素的色彩数据时,通过软件读取存储器中对应的九个感光数据,再通软件运算来实现该像素的R/G/B色彩分离,以输出该像素的R/G/B色彩数据。由于,利用软件从存储器中读取数据必须一个一个读取,即一个脉冲只能读取一个数据,那么按照上述方式计算出一张彩色图像则需要太长长时间。例如:一张1024*768的彩色影像,共需要1024*768*3*3个读取步骤。也就是说,获得感光点的数据所花费的时间是从感光元件上读出数据的9倍时间,导致成像速度慢,影响成像品质。
发明内容
鉴于此,有必要提供一种可快速分离像素中色彩数据的色彩处理装置。
还有必要提供一种可快速分离像素中色彩数据的色彩处理方法。
一种色彩处理装置,包括延迟单元和处理单元,所述延迟单元包括多个寄存元件和存储单元,部分寄存元件串联连接于感光元件的输出端,用于接收感光元件输出的感光数据并进行延迟;所述存储单元用于存储多个感光数据并逐一传递给另一部分寄存元件;所述处理单元的多个输入端中的部分输入端分别连接于所述多个寄存元件的输出端,所述处理单元的多个输入端中至少一个用于直接接收所述存储单元输出的感光数据,所述处理单元用于同时接收该多个寄存元件和存储单元所输出的多个感光数据并计算得出该多个感光数据中的各颜色的色彩数据,所述处理单元所同时接收的多个感光数据属于同一像素。
一种色彩处理方法,包括如下步骤:通过多个寄存元件中的部分寄存元件接收并延迟感光元件输出的多个感光数据;通过存储单元存储感光元件输出的多个感光数据并逐一传递给另一部分寄存元件;通过多个寄存元件和存储单元同时输出延迟后的多个感光数据;同时接收该多个寄存元件和存储单元所输出的多个感光数据,所述同时接收的多个感光数据属于同一像素;根据所述同时接收的多个感光数据求得其中各种颜色的色彩信息。
上述色彩处理装置和方法通过具有多个输出端的延迟单元将感光元件逐一输出的感光数据延迟后,同时输出多个感光数据,使得后续能够同时获得多个感光数据,相较于软件方法的逐个感光数据的读取大大加快了数据获得的速度,进而加速了多个感光数据的色彩分离,提高成像速度。
具体实施方式
请参阅图7,其为一较佳实施方式的色彩处理装置20的结构图,感光元件10输出的感光数据VDI传送给色彩处理装置20,色彩处理装置20将各个像素的R/G/B色彩分离并分别输出R/G/B色彩数据,后续根据该R/G/B色彩数据进行成像。
色彩处理装置20包括多个寄存元件202和处理单元204。多个寄存元件202依次串联在感光元件10的感光数据VDI的输出端(下文简称为“感光元件10的输出端”),每一个寄存元件202用于寄存一个感光点所产生感光数据VDI。处理单元204分别与感光元件10的输出端以及部分寄存元件202相连,用于采集组合成一个像素的多个感光数据VDI,并计算出该像素的R/G/B色彩数据。以九点合成方法为例,若感光元件10为图2所示的10*8的感光矩阵,对应的,色彩处理装置20中寄存元件202的数量为二十二个(两行加两个)。图2所示的10*8的感光矩阵中各个感光点的感光数据VDI从第一行的第一感光点(图2左上角)开始,从左向右,从上到下依次传递给二十二个寄存元件202(直接与感光元件10相连的寄存元件202为第一个,后面的依次为第二个、第三个等)。处理单元204与感光元件10的输出端、第一、第二、第十、第十一、第十二、第二十、第二十一、第二十二个寄存元件202的输出端(共八个寄存元件202的输出端)相连。
当感光元件10第一行的第一感光点的感光数据VDI传递到第二十二个寄存元件202中时,第二十、第二十一个寄存元件202存着感光元件10第一行中的第三和第二个感光点的感光数据VDI;第十、第十一、第十二个寄存元件202存着感光元件10第二行前三个感光点的感光数据VDI;第一、第二个寄存元件202存着感光元件10第三行前两个感光点的感光数据VDI;感光元件10第三行第三个感光点的感光数据VDI在感光元件10中即将输出。上述的这九个感光点刚好组成第一个像素,下一个时钟信号CLK到来时,处理单元204同时得到这九个感光数据VDI,并通过这九个感光数据计算出该第一个像素的R/G/B色彩数据。再来一个时钟信号CLK时,上述的九个输出端的输出变为第二个像素点的九个感光数据VDI,即感光元件10第一、二、三行的第二、三、四个感光数据VDI。如此,每一个时钟信号CLK的到来即可同时完成九个感光数据VDI的读取,相比现有技术中只能逐个读取存储器中数据的软件方法而言,大大增加了色彩分离的速度,使得彩色成像速度也大大提高,进而提高成像品质。
图7所示的实施方式中,感光元件10也相当于一个寄存元件,用来存储当前像素最后一个感光点的感光数据VDI,所以处理单元204有一个感光数据从感光元件10上获得,其他八个感光数据VDI从八个寄存元件202的输出端获得。其他实施方式中,若寄存元件202的数量大于或等于二十三个时(即大于或等于感光元件10的两行加两个的感光点的个数),处理单元204则可以直接从九个寄存元件202的输出端获得感光数据VDI。其中,通常每个感光点的感光数据VDI为一个八位数据,本实施方式中,每个寄存元件202为一个八位的DQ触发器。
可以看出,图7所示的实施方式中多个寄存元件202实质上是多个延迟单元,从感光元件10输出的感光数据VDI不立刻被读取,而是延迟二十二个脉冲后(即感光元件10的两行加两个的感光点的个数),再开始读取数据。换句话说,感光元件10的第三行第三个感光点的感光数据VDI输出时开始第一次读取,因为多个寄存元件202上的数据是同时输出的,所以处理单元204可以同时读取到构成第一个像素的九个被延迟的感光数据VDI。
由于感光元件10往往不只是图2所示的10*8的分辨率,如1024*768,若仿照图7所示的色彩处理装置20的技术方案,则至少需要1024*2+2=2050个寄存元件202。如此之多的寄存元件202会使得色彩处理装置的元件数量太多,体积也将较大。为此,有必要提供一种元件数量较少的色彩处理装置。
请参阅图8,其为另一实施方式的色彩处理装置30的结构示意图,其相对于图7所示的色彩处理装置20的区别在于,色彩处理装置30中采用第一存储单元302和第二存储单元304代替图7中的部分寄存元件202。感光元件10的输出端、第二存储单元304、第一存储单元302以及两个寄存元件202依次串联;感光元件10的输出端还进一步串联有四个寄存元件202;第二存储单元304的输出端串联有三个寄存元件202。色彩处理装置30中的处理单元306分别与连接于感光元件10的输出端的后三个寄存元件202、连接于第二存储单元304输出端的三个寄存元件202、连接于第一存储单元304输出端的二个寄存元件202、第一存储单元304的输出端(共九个)相连,以同时获得该九个输出端的九个感光数据VDI。
为了方便理解,下面仍以图2所示阵列作为感光元件10进行说明。第一存储单元302和第二存储单元304分别用于存储感光元件10的一行数据量的感光数据VDI,即10个感光数据VDI。由于前一个数据的输出到存储器的存储动作需要一个脉冲的时间,即需要一个寄存元件202的延迟时间,所以可存储10个感光数据VDI的第一存储单元302或第二存储单元304便相当于10+1=11个延迟,即等于11个寄存元件202。从而使得第二存储单元304的输出要比感光元件10的输出晚一个脉冲时间,第一存储单元302的输出又要比第二存储单元304的输出晚一个脉冲时间,所以图8中的第二存储单元304的输出端比第一存储单元302多连接一个寄存元件202,以存储第二存储单元304比第一存储单元302早输出的一个感光数据VDI。同理,感光元件10的输出端也需要比第二存储单元304的输出端多连接一个寄存元件202。如此可确保一个像素的九个感光数据VDI都能同时在各个输出端输出,处理单元306即可同时获得九个感光数据VDI。
请同时参阅图9,其为图8中各个输出端同时输出的感光数据VDI的数据结构示意图。每个感光数据VDI用Dxy表示,其中x表示感光矩阵的“行”(x=0、1、2、3.....),y表示感光矩阵的“列”(y=0、1、2、3....)。当感光元件10的第一个感光数据VDI(D00)传递到连接于第二存储单元304输出端的最后一个寄存元件202上并输出时,图9所示的十二个感光数据VDI(Dxy)为图8中的十二个输出端所输出的感光数据VDI。处理单元306所连接的九个输出端的数据即为图9中虚线框所包含的九个感光数据VDI(Dxy),且这九个感光数据VDI(Dxy)正好构成第一个像素。此时,感光元件10的输出端已经输出到第三行的第五个感光数据VDI(D24)。当下一个脉冲到来,所有感光数据VDI继续向前传递一个,处理单元306所连接的九个输出端的数据则变为第二个像素的九个感光数据。如此,往后感光元件10的输出端每输出一个感光数据VDI,处理单元306则可同时得到一个像素得九个数据,相对于软件方式的数据读取,缩短到了九分之一的时间。
图7中的处理单元204或图8中的处理单元306接收到九个感光数据VDI后需要将九个感光数据VDI中的R/G/B三色数据分离,得到R/G/B三个色彩数据。如前所述,九个感光数据中R/G/B每个颜色的排列有图6所示的四种方式,如此,所有像素中的R/G/B色彩分离共有四种计算方法。如图10所示,其为对应图6所示的四种排列方式的四种色彩分离的计算公式列表,其中,默认为图6所示的四种排列方式都为第一像素。
请结合图10同时参阅图11、12、13、14,图11、12、13、14分别为处理单元204或处理单元306中实现上述四种算法的电路结构图,本实施方式以处理单元306为例。为方便理解,下面将图11、12、13、14统一介绍。处理单元306包括加法器362和移位器364,加法器362用于进行图10中所述公式的加法运算;移位器364用于进行图10中所述公式的除法运算,其中除以4(/4)相当于将数据右移两位,除以2(/2)相当于将数据右移一位。电路中的移位动作即为将读取数据的地址移动两位。如四个八位数据作加法后变为十位,右移两位即表示读取前八位。换句话说,电路中的移位动作表现为一个读取动作的地址变更,通这种读取方法代替了软件运算里面复杂的除法运算,大大缩短了计算时间,即大大缩短了色彩分离的时间。
上述色彩处理装置20、30仅仅是以九个感光点作为一个像素点的色彩分离举例,其还可以延伸到四个,十六个等其他数量的感光点作为一个像素的情况,只需要按照上述实施方式的技术思想对应变更寄存元件202的数量以及存储器的大小即可。其原理都是将感光元件10的输出端的感光数据VDI进行延迟,以实现后续的多个感光数据VDI同时读取,从而缩短色彩分离的时间,使得图像处理速度大幅度提高。
请参阅图15,一种色彩处理方法,包括如下步骤:
步骤S501,通过多个延迟元件接收并延迟感光元件输出的多个感光数据,所述延迟元件为寄存元件(如D触发器)或者存储器。
步骤S503,所述多个延迟元件同时输出延迟后的多个感光数据。
步骤S505,同时接收该多个感光数据,所述多个感光数据属于同一像素。
步骤S507,根据所述多个感光数据求得其中各种颜色的色彩信息,所述色彩信息为一像素内相同颜色的感光数据的平均值。其中,所述的一个像素可以不仅仅包括上述输出的多个感光数据,其还可以包括从感光元件的输出端获得的感光数据。
上述色彩处理方法通过多个延迟元件将感光元件逐一输出的感光数据延迟后,同时输出多个感光数据,使得后续能够同时获得多个感光数据,相较于软件方法的逐个感光数据的读取大大加快了数据获得的速度,进提高了多个感光数据的色彩分离速度。
本技术领域的普通技术人员应当认识到,以上的实施方式仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围之内,对以上实施例所作的适当改变和变化都落在本发明要求保护的范围之内。