图像处理芯片以及该芯片中图像数据的缓存方法

文档序号:10492613阅读:593来源:国知局
图像处理芯片以及该芯片中图像数据的缓存方法
【专利摘要】本申请公开了图像处理芯片以及该芯片中图像数据的缓存方法,该方法包括:图像处理芯片应用3×3像素的滑动窗口遍历贝尔模式的像素矩阵,滑动窗口每移动一格后:若仅有1个基本颜色分量未知的像素进入滑动窗口,则该像素位于第2行,此时由CFA插值模块来计算该像素未知的基本颜色分量;若共有2个基本颜色分量未知的像素进入滑动窗口,则这2个像素分别位于第1行和第3行,此时从缓存中读出位于第1行的所述像素未知的基本颜色分量,并由CFA插值模块来临时计算位于第3行的所述像素未知的基本颜色分量,以及将滑动窗口的中心像素已知的基本颜色分量写入缓存中,从而节约了图像处理芯片的面积,降低了图像处理芯片的硬件成本。
【专利说明】
图像处理芯片以及该芯片中图像数据的缓存方法
技术领域
[0001]本发明涉及图像处理技术领域,更具体地说,涉及图像处理芯片以及该芯片中图像数据的缓存方法。
【背景技术】
[0002]能够将二维光强分布的光学图像转换成一维时序电信号的传感器称为图像传感器,但是光子的波长并没有被转换成电子,因此图像传感器的每个像素只能感应光强而不能分辨色彩信息。
[0003]为了能够得到彩色图像,需要在图像传感器前加一个CFA(Color Filter Array,色彩滤镜阵列),只允许一种基本颜色的光通过滤镜并被图像传感器捕获,而另外两种基本颜色的光则是通过插值计算得出,这个插值计算的过程就叫CFA插值,也称“反马赛克”。
[0004]ISPdmage Signal Processor,图像处理器)是CFA插值算法的集成电路芯片。目前市面上的ISP芯片的频率和处理速度决定了 ISP流水线在充分运转起来的时候,每一个时钟周期必须处理I个像素,因此现行的ISP芯片不得不预先缓存若干行的像素值,然后在此基础上,用逻缉门搭建一个寄存器组成的矩阵,该矩阵的尺寸和流水线当前环节的图像处理任务所需要的窗口尺寸相同,用于储存这个窗口内的全部像素值,该矩阵采用先进先出的队列机制,每处理一个像素后从缓存中读进一个像素并扔掉一个像素。
[0005]上述由缓存和寄存器组成的缓存机制对ISP流水线的每一级来说都是一个重要的基础模块,但是现有的缓存机制在设计时不注意节约行缓存,致使做成的ISP芯片面积较大、硬件成本较高。

【发明内容】

[0006]有鉴于此,本发明提供一种图像处理芯片以及该芯片中图像数据的缓存方法,以节约图像处理芯片的面积、降低图像处理芯片的硬件成本。
[0007]—种图像处理芯片中图像数据的缓存方法,包括:
[0008]图像处理芯片应用3X3像素的滑动窗口遍历贝尔模式的像素矩阵,所述3X3像素的滑动窗口每移动一格后:
[0009]若仅有I个基本颜色分量未知的像素进入所述3 X 3像素的滑动窗口,则该像素位于所述3 X 3像素的滑动窗口的第2行,此时由所述图像处理芯片中的色彩滤镜阵列CFA插值模块来计算该像素未知的基本颜色分量;
[0010]若共有2个基本颜色分量未知的像素进入所述3X3像素的滑动窗口,则这2个像素分别位于所述3 X 3像素的滑动窗口的第I行和第3行,此时从所述图像处理芯片的缓存中读出位于第I行的所述像素未知的基本颜色分量,并由所述CFA插值模块来临时计算位于第3行的所述像素未知的基本颜色分量,以及将所述3 X 3像素的滑动窗口的中心像素已知的基本颜色分量写入所述缓存中。
[0011]其中,所述缓存为静态随机存储器SRAM。
[0012]其中,所述图像处理芯片以绿色分量作为当前已知的基本颜色分量。
[0013]其中,所述图像处理芯片以红色分量作为当前已知的基本颜色分量。
[0014]其中,所述图像处理芯片以蓝色分量作为当前已知的基本颜色分量。
[0015]一种图像处理芯片,包括CFA插值模块、缓存和逻辑处理模块,其中,所述逻辑处理模块用于应用3X3像素的滑动窗口遍历贝尔模式的像素矩阵,所述3X3像素的滑动窗口每移动一格后,若仅有I个基本颜色分量未知的像素进入所述3 X 3像素的滑动窗口,则该像素位于所述3 X 3像素的滑动窗口的第2行,此时控制所述CFA插值模块来计算该像素未知的基本颜色分量;若共有2个基本颜色分量未知的像素进入所述3X3像素的滑动窗口,则这2个像素分别位于所述3 X 3像素的滑动窗口的第I行和第3行,此时从所述缓存中读出位于第I行的所述像素未知的基本颜色分量,并控制所述CFA插值模块来临时计算位于第3行的所述像素未知的基本颜色分量,以及将所述3 X 3像素的滑动窗口的中心像素已知的基本颜色分量写入所述缓存中。
[0016]其中,所述缓存为静态随机存储器SRAM。
[0017]其中,所述图像处理芯片以绿色分量作为当前已知的基本颜色分量。
[0018]其中,所述图像处理芯片以红色分量作为当前已知的基本颜色分量。
[0019]其中,所述图像处理芯片以蓝色分量作为当前已知的基本颜色分量。
[0020]从上述的技术方案可以看出,本发明通过在3X3像素的滑动窗口每移动一格,若仅有I个基本颜色分量未知的像素进入滑动窗口时,由CFA插值模块来临时计算该像素未知的基本颜色分量;若共有2个基本颜色分量未知的像素进入滑动窗口时,从缓存中读出位于第I行的所述像素未知的基本颜色分量,由CFA插值模块来临时计算位于第3行的所述像素未知的基本颜色分量,并将中心像素已知的基本颜色分量写入缓存;从而使得在滑动窗口从左移动到右所经过的整个区间中,需要缓存的未知的基本颜色分量仅占用半行行缓存,也就是说,节约了图像处理芯片的面积,降低了图像处理芯片的硬件成本。
【附图说明】
[0021]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1为本发明实施例公开的一种图像处理芯片中图像数据的缓存方法流程图;
[0023]图2为现有技术公开的Bayer CFA结构示意图;
[0024]图3为本发明实施例公开的8X8像素矩阵结构示意图;
[0025]图4为本发明实施例公开的计算Gll点插值所需要的数据分布示意图;
[0026]图5为本发明实施例公开的一种图像处理芯片结构不意图。
【具体实施方式】
[0027]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028]参见图1,本发明实施例公开了一种ISP(Image Signal Processor,图像处理芯片)中图像数据的缓存方法,以节约ISP芯片的面积、降低ISP芯片的硬件成本,包括:
[0029]步骤101:1SP芯片应用3X3像素的滑动窗口遍历贝尔模式的像素矩阵,在所述3 X 3像素的滑动窗口每移动一格后,判断进入所述3 X 3像素的滑动窗口的基本颜色分量未知的像素个数N ;若仅有I个基本颜色分量未知的像素进入所述3X3像素的滑动窗口,即N= 1,进入步骤102 ;若共有2个基本颜色分量未知的像素进入所述3X3像素的滑动窗口,即N = 2,进入步骤103:
[0030]步骤102:这I个像素必然位于所述3 X 3像素的滑动窗口的第2行,此时由ISP芯片中的CFA插值模块来临时计算这I个像素未知的基本颜色分量。
[0031 ] 步骤103:这2个像素必然分别位于所述3 X 3像素的滑动窗口的第I行和第3行,此时从ISP芯片的缓存中读出位于第I行的所述像素未知的基本颜色分量,并由所述CFA插值模块来临时计算位于第3行的所述像素未知的基本颜色分量,以及将所述3 X 3像素的滑动窗口的中心像素已知的基本颜色分量写入所述缓存中。
[0032]所述ISP芯片可以以绿色分量作为当前已知的基本颜色分量,也可以以红色分量作为当前已知的基本颜色分量,也可以以蓝色分量作为当前已知的基本颜色分量。即:步骤101?步骤103中所提及的基本颜色分量均指同一基本颜色分量,或均为绿色分量,或均为红色分量,或均为蓝色分量。
[0033]其中,ISP芯片中的缓存通常采用SRAM (Static RAM,静态随机存储器)。
[0034]为便于本领域技术人员理解和应用,下面通过分析CFA插值算法的计算流程和需要插值的像素所在的4个2 X 2像素块的迭代计算结果加权平均数据流走向,对本实施例所公开的技术方案进行详述。
[0035]荧光屏上的所有颜色都是由红(R)绿(G)蓝⑶三种基本颜色的光按照不同的比例混合而成的,因此屏幕上任何一个像素的颜色都可以由一组R、G、B分量来记录和表达。但是图像传感器只能感应光强而不能分辨色彩信息,因此需要在图像传感器前加一个CFA,这样每个像素只能得到一种基本颜色分量,而两外两种基本颜色分量需要通过插值得到。
[0036]最常见和经典的CFA为Bayer CFA,即贝尔模式的CFA,其结构示意图如图2所示。由图2可以看出,此CFA行排列交替使用红绿滤镜以及绿蓝滤镜,各滤色片的位置保持不变。
[0037]高质量的CFA插值算法的计算流程为,首先把2X2像素块中缺失的绿色分量计算出来,然后对此2X2像素块进行迭代计算,输出4个点的全部红、绿、蓝分量。
[0038]举例说明,设定计算得到第8行数据时触发一次ISP流水线,则本CFA插值算法需要用到如图3所示的8X8像素矩阵。在展开迭代之前,首先对虚线框范围内的2X2像素块中的非绿色点进行插值,得到所述非绿色点的绿色分量的过程,具体为:首先以(i,j)=(3,4)为中心,张成一个7x7的像素矩阵,来计算点(3,4)的绿色值,此时张成的7x7的像素矩阵的四个顶点坐标分别为(0,1)、(0,7)、(6,1)和(6,7);然后,以(i,j) = (4,3)为中心张成7x7的像素矩阵,来计算点(4,3)的绿色值,此时张成的7x7的像素矩阵的四个顶点坐标分别为(1,0)、(1,6)、(7,0)和(7,6)。
[0039]随着迭代的展开,按照规定的加权平均数据流走向,对需要插值的像素所在的4个2X2像素块的迭代计算结果进行加权平均,即可得到该像素点的R、G、B分量。
[0040]举例说明,若想要计算Gll点的插值,所需要的数据如图4所示(Gll中的“G”表示该像素点为绿色分量已知,“11”为本实施例定义的该像素点的编号,以便于与其他绿色分量已知的像素点区分开),其中,对于边界情况需要进行翻边处理,计算Gll点的插值时需要翻边的数据是左3列、上3行,即虚线框框出的部分,对于翻边出来的像素也要当作真实数据进行插值操作。
[0041]Gll点所在的4个2X2像素块的迭代计算结果加权平均数据流走向为:按照从左到右、从上到下的数据流走向依次对由G00、ROU BlO和Gll组成的2X2像素块、由R01、G02、Gl I和B12组成的2 X 2像素块、由B10、Gl 1、G20和R21组成的2 X 2像素块以及由Gl 1、B12、R21和G22组成的2X2像素块的迭代结果进行加权平均。
[0042]按照上面的数据流走向,在3 X 3像素的滑动窗口遍历全图的过程中,根据进入的绿色分量未知的像素的个数(要么为1,要么为2)来区分,会出现两种情况。第一种情况:3X3像素的滑动窗口每移动一格,若有2个绿色分量未知的像素进入所述3X3像素的滑动窗口,那么这2个像素一定是分别位于所述3 X 3像素的滑动窗口的第I行和第3行。第二种情况:3X3像素的滑动窗口每移动一格,若有I个绿色分量未知的像素进入所述3X3像素的滑动窗口,那么这I个像素一定是分别位于所述3X3像素的滑动窗口的第2行。
[0043]现行的ISP芯片的流水线在充分运转起来的时候,每一个时钟周期处理I个像素。上述第一种情况中涉及对SRAM的读和写,由于需要从SRAM中读出的第I行未知的绿色分量仅占用0.5行的line buffer (行缓存),那么在3 X 3像素的滑动窗口从左移动到右所经过的整个区间中,需要缓存的未知的绿色分量便可节约一半的line buffer ο下面,举例说明对图像数据(即计算出的绿色分量)的缓存和处理过程:
[0044]①3X3像素的滑动窗口从以BlO为中心移动到以Gll为中心时,R01、R21和BlO的绿色分量在本次移动前都是已知的,其中,ROl是在上一次移动中从SRAM中直接读取得到的,R21是在上一次移动中由CFA插值模块临时计算得到的,BlO是在上上一次移动中由CFA插值模块临时计算得到的;此时只有B12这一个绿色分量未知的像素进入所述3 X 3像素的滑动窗口,在这种情况下,令B12的绿色分量由CFA插值模块来临时计算得到;
[0045]②3X3像素的滑动窗口从以Gll为中心移动到以B12为中心时,B12、ROl和R21的绿色分量在本次移动前都是已知的,其中,ROl是在上上一次移动中从SRAM中直接读取得到的,B12是在上一次移动中(即①中)由CFA插值模块临时计算得到的,R21是在上上一次移动中由CFA插值模块临时计算得到的;此时共有R03和R23这两个绿色分量未知的像素进入所述3 X 3像素的滑动窗口,在这种情况下,令R03的绿色分量从SRAM中直接读取得到,令R23的绿色分量由CFA插值模块来临时计算得到,并将B12的绿色分量写入SRAM来占用R03被读出后留下的存储空间。
[0046]③3X3像素的滑动窗口从以B12为中心移动到以G13为中心时,B12、R03和R23的绿色分量在本次移动前都是已知的,其中,R03是在上一次移动中(即②中)从SRAM中直接读取得到的,B12是在上上一次移动中(即①中)由CFA插值模块临时计算得到的,R23是在上一次移动中(即②中)由CFA插值模块临时计算得到的;此时只有B14这一个绿色分量未知的像素进入所述3X3像素的滑动窗口,在这种情况下,令B14的绿色分量由CFA插值模块来临时计算得到;
[0047]④3X3像素的滑动窗口从以G13为中心移动到以B14为中心时,B14、R03和R23的绿色分量在本次移动前都是已知的,其中,R03是在上上一次移动中(即②中)从SRAM中直接读取得到的,B14是在上一次移动中(即③中)由CFA插值模块临时计算得到的,R23是在上上一次移动中(即②中)由CFA插值模块临时计算得到的;此时共有R05和R25这两个绿色分量未知的像素进入所述3 X 3像素的滑动窗口,在这种情况下,令R05的绿色分量从SRAM中直接读取得到,令R25的绿色分量由CFA插值模块来临时计算得到,并将B14的绿色分量写入SRAM来占用R05被读出后留下的存储空间。
[0048]3X3像素的滑动窗口按照从左到右、从上到下的数据流走向每移动一格后,对应的处理过程依次类推,不再赘述。
[0049]由此可见,3X3像素的滑动窗口遍历全图的过程中,节省了一半的line buffer,从而节约了 ISP芯片的面积,降低了 ISP芯片的硬件成本。
[0050]最后需要说明的是,上述举例均是基于绿色分量作为未知的基本颜色分量进行说明,也可拓展应用到红色、蓝色分量,其原理相同,此处不再赘述。
[0051]此外,参见图5,本发明实施例还公开了一种ISP芯片,包括CFA插值模块501、缓存502和逻辑处理模块503,其中,逻辑处理模块503用于应用3 X 3像素的滑动窗口遍历贝尔模式的像素矩阵,在所述3X3像素的滑动窗口每移动一格后,若仅有I个基本颜色分量未知的像素进入所述3 X 3像素的滑动窗口,该像素必然位于所述3 X 3像素的滑动窗口的第2行的情况下,控制CFA插值模块501来临时计算该像素未知的基本颜色分量;以及在所述3X3像素的滑动窗口每移动一格,若共有2个基本颜色分量未知的像素进入所述3X3像素的滑动窗口,这2个像素必然分别位于所述3 X 3像素的滑动窗口的第I行和第3行的情况下,从缓存502中读出位于第I行的所述像素未知的基本颜色分量,控制CFA插值模块501来临时计算位于第3行的所述像素未知的基本颜色分量,并将所述3X3像素的滑动窗口的中心像素已知的基本颜色分量写入缓存502中;
[0052]所述ISP芯片可以以绿色分量作为当前已知的基本颜色分量,也可以以红色分量作为当前已知的基本颜色分量,也可以以蓝色分量作为当前已知的基本颜色分量。
[0053]其中,缓存502为SRAM。
[0054]综上所述,本发明通过在3X3像素的滑动窗口每移动一格,若仅有I个基本颜色分量未知的像素进入滑动窗口时,由CFA插值模块来临时计算该像素未知的基本颜色分量;若共有2个基本颜色分量未知的像素进入滑动窗口时,从缓存中读出位于第I行的所述像素未知的基本颜色分量,由CFA插值模块来临时计算位于第3行的所述像素未知的基本颜色分量,并将中心像素已知的基本颜色分量写入缓存;从而使得在滑动窗口从左移动到右所经过的整个区间中,需要缓存的未知的绿色分量可节约0.5行的line buffer,也就是说,节约了 ISP芯片的面积,降低了 ISP芯片的硬件成本。
[0055]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的ISP芯片而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0056]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。因此,本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【主权项】
1.一种图像处理芯片中图像数据的缓存方法,其特征在于,包括: 图像处理芯片应用3X3像素的滑动窗口遍历贝尔模式的像素矩阵,所述3X3像素的滑动窗口每移动一格后: 若仅有I个基本颜色分量未知的像素进入所述3 X 3像素的滑动窗口,则该像素位于所述3 X 3像素的滑动窗口的第2行,此时由所述图像处理芯片中的色彩滤镜阵列CFA插值模块来计算该像素未知的基本颜色分量; 若共有2个基本颜色分量未知的像素进入所述3X3像素的滑动窗口,则这2个像素分别位于所述3 X 3像素的滑动窗口的第I行和第3行,此时从所述图像处理芯片的缓存中读出位于第I行的所述像素未知的基本颜色分量,并由所述CFA插值模块来临时计算位于第3行的所述像素未知的基本颜色分量,以及将所述3X3像素的滑动窗口的中心像素已知的基本颜色分量写入所述缓存中。2.根据权利要求1所述的方法,其特征在于,所述缓存为静态随机存储器SRAM。3.根据权利要求1所述的方法,其特征在于,所述图像处理芯片以绿色分量作为当前已知的基本颜色分量。4.根据权利要求1所述的方法,其特征在于,所述图像处理芯片以红色分量作为当前已知的基本颜色分量。5.根据权利要求1所述的方法,其特征在于,所述图像处理芯片以蓝色分量作为当前已知的基本颜色分量。6.一种图像处理芯片,包括CFA插值模块、缓存和逻辑处理模块,其特征在于,所述逻辑处理模块用于应用3X3像素的滑动窗口遍历贝尔模式的像素矩阵,所述3X3像素的滑动窗口每移动一格后,若仅有I个基本颜色分量未知的像素进入所述3X3像素的滑动窗口,则该像素位于所述3 X 3像素的滑动窗口的第2行,此时控制所述CFA插值模块来计算该像素未知的基本颜色分量;若共有2个基本颜色分量未知的像素进入所述3 X 3像素的滑动窗口,则这2个像素分别位于所述3 X 3像素的滑动窗口的第I行和第3行,此时从所述缓存中读出位于第I行的所述像素未知的基本颜色分量,并控制所述CFA插值模块来临时计算位于第3行的所述像素未知的基本颜色分量,以及将所述3 X 3像素的滑动窗口的中心像素已知的基本颜色分量写入所述缓存中。7.根据权利要求6所述的图像处理芯片,其特征在于,所述缓存为静态随机存储器SRAM。8.根据权利要求6所述的图像处理芯片,其特征在于,所述图像处理芯片以绿色分量作为当前已知的基本颜色分量。9.根据权利要求6所述的图像处理芯片,其特征在于,所述图像处理芯片以红色分量作为当前已知的基本颜色分量。10.根据权利要求6所述的图像处理芯片,其特征在于,所述图像处理芯片以蓝色分量作为当前已知的基本颜色分量。
【文档编号】H04N9/64GK105847770SQ201510019515
【公开日】2016年8月10日
【申请日】2015年1月15日
【发明人】黄宜真, 林福辉
【申请人】展讯通信(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1