首页> 中国专利> 用于CMOS图像传感器的实时高速图像预处理方法

用于CMOS图像传感器的实时高速图像预处理方法

摘要

一种用于CMOS图像传感器的实时高速图像预处理方法,包括由CMOS图像传感器的感光部输出的Bayer数据,所述Bayer数据的单帧阵列的行数为M、列数为N,其创新在于:采用流水线式的分块、分类型存取数据的工作模式,通过分块、分类型的方式使数据化整为零,同时采用数量相对较少的寄存器来对分零后的数据进行处理。本发明的有益技术效果是:通过对缓存处理方式进行改变,使用占用硬件资源较少的片上缓存结构,实现了较大缓存数据的高速处理,大幅提高了CMOS图像传感器的集成度和片上处理速度。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-15

    专利权的转移 IPC(主分类):H04N9/04 登记生效日:20191028 变更前: 变更后: 申请日:20140620

    专利申请权、专利权的转移

  • 2016-01-13

    授权

    授权

  • 2014-10-22

    实质审查的生效 IPC(主分类):H04N9/04 申请日:20140620

    实质审查的生效

  • 2014-09-24

    公开

    公开

说明书

技术领域

本发明涉及一种光电传感器信号处理技术,尤其涉及一种用于CMOS图像传感器的实时高速图像预处理方法。

背景技术

随着工艺水平的提高和信息化的高速发展,CMOS 图像传感器以其高集成度、高速度及低功耗、低成本的优势逐渐取代CCD传感器,被广泛应用于数码相机、摄像机和安防摄像头等多个领域。

现有技术中,基于现有工艺制作出的CMOS图像传感器的成像质量与工艺尺寸存在相关性,工艺尺寸越小成像质量越差,因此,如何使CMOS图像传感器在较小的工艺尺寸条件下获得高质量的成像是目前研究的热点问题。

CMOS图像传感器的感光部输出的数据形式一般为Bayer格式(下称Bayer数据),Bayer数据一般不作直接应用,需要对其进行预处理后再由后续图像处理算法进行处理,在对Bayer数据进行预处理时,现有技术一般采用存储器和寄存器串行方式来进行处理,其原理如图2所示,针对一帧M(行)×N(列)阵列的Bayer数据,如果色彩插值算法需要缓存M行数据来处理,处理时就需要M×N个寄存器和M-1个RAM存储器,当Bayer数据输入寄存器时,在第一个时钟周期,数据被读入到第AMBN个寄存器中,下一个时钟到来时,读入新数据的同时,将原来AMBN中上一节拍的数据串行移入AMBN-1中,后续过程中,数据在寄存器和RAM存储器内依次传递,当第一级寄存器全部读入了数据后,在下一时钟周期到来后,将一级寄存器的数据依次传递到第二级寄存器进行算法处理(整个过程中,RAM起到缓存数据的作用),将M×N个Bayer数据全部移入第二级缓存器至少需要(2M-1)×N+M个时钟周期。前述处理方式存在的问题是:如果后续算法要求处理的像素阵列较大,数据较多时,现有的预处理方法就会需要大量的寄存器和存储器,数据串行传输也会需要更多的时间,这样就会增大芯片的面积和功耗,并会降低算法的处理速度,同时由于数据的逐行连续串行输入,像素类型的顺序维持原始Bayer格式的像素类型顺序,这也导致代码实现上的难度加大。

发明内容

针对背景技术中的问题,本发明提出了一种用于CMOS图像传感器的实时高速图像预处理方法,包括由CMOS图像传感器的感光部输出的Bayer数据,所述Bayer数据的单帧阵列的行数为M、列数为N,其创新在于:

搭建缓存模块:采用K个静态存储器搭建缓存模块,10≤K<M,且K为偶数,单个静态存储器的存储深度为J(本文所指存储深度就是存储容量,其单位为字节);将K个静态存储器分为L个处理小组,L=K/2,每个处理小组均对应两个静态存储器;

对Bayer数据进行分类:所述单帧阵列中的单行数据记为数据行,单个数据行中的多个数据按各个数据所对应的列数序号的奇、偶关系分为两组:同一数据行中,列数序号为奇数的多个数据形成数据组一,列数序号为偶数的多个数据形成数据组二;则每一数据行均对应有一数据组一和一数据组二,且数据组一和数据组二内的数据个数均为N/2个,N/2=J;对Bayer数据进行分类的方式记为分类规则;

处理时,按如下步骤进行:

1)按分类规则,对单帧阵列中的第1至L个数据行中的数据进行分类,获得2L个数据组;

2)按单帧阵列中的行顺序,将各个数据行中的数据组依次输入缓存模块中的静态存储器内,每个静态存储器对应一个数据组,同一数据行中的两个数据组输入同一处理小组的两个静态存储器中;单个数据组中的多个数据以串行方式输入静态存储器内;设第1数据行对应第1处理小组,第2数据行对应第2处理小组,……第L数据行对应第L处理小组;

3)当第L个数据行的数据输入完成后,静态存储器开始将缓存了的多个数据向外并行输出;

静态存储器向外并行输出的同时,将第L+1数据行内的多个数据按分类规则分类后,串行输入第1处理小组内对应的静态存储器中,用以替换第1数据行内的多个数据;前述的用新数据替换处理小组内旧数据的处理方式记为更新处理,在后续并行输出静态存储器数据的过程中,继续用新的数据行对其余处理小组依次进行更新处理;

4)当L个处理小组都完成了更新处理后,按步骤3)中方式,用新的数据行对L个处理小组重新依次进行更新处理,直至缓存模块对所有数据行都完成了缓存、输出处理。

本发明的原理是:本发明的方案实质上形成了一种流水线式的分块、分类型存取数据的工作模式,通过分块、分类型的方式使数据化整为零,同时采用数量相对较少的寄存器来对分零后的数据进行处理,不仅大大降低了处理时延,提高了处理速度,并节省了芯片面积,提高了芯片集成度,具体来说,本发明是这样实现的:“分块”即以数据行为单位进行逐一串行输入缓存,将一行数据分成两块来存储,输出处理针对所有分块中的数据并将其并行输出。在完成首次全部存储器的数据存储,进行更新数据时,串行输入和并行输出就要同步进行;“分类型”即将每一数据行内的数据按列数奇、偶分成两个数据组,当然,之所以能作这样的分类,是依赖了Bayer数据的固有特性,Bayer数据中的单个数据行,要么是R和G交替排列,要么是G和B交替排列(RGB为红绿蓝三基色),并且不同数据行中R、G、B的奇、偶关系恒定,本发明中充分的利用了Bayer数据的这种特性,按奇、偶关系将其分类,使数据行化整为零,以配合本发明方案的实施;“流水线”即对某一数据行内的数据进行了缓存、输出处理后,继续将新的数据行输入缓存模块内进行处理;前述三种手段形成的工作模式所带来的最直接效果,就是使得预处理过程中所需的寄存器数量大幅减少,从处理的数据规模来看,现有技术的单次处理中,需要对单帧阵列中的M×N个数据进行同时处理,因此其需要M-1个RAM存储器和M×N个寄存器,而本发明中,由于对单帧阵列进行了“分块”、“分类”,从而使单次缓存需要的寄存器数量和单个静态存储器的深度大幅缩减,有利于在有限的芯片面积上进行布局,同时由于数据的并行输出,降低了设计难度和处理延迟,提高了处理的效率。

本发明中控制数据转移的手段与现有技术相同,其控制时序采用常用的时钟CLK控制,为了使时序控制更为简单化,本发明还作了如下改进:单个处理小组内的两个静态存储器与单个数据行内的数据组一和数据组二的对应关系保持恒定。

基于前述方案所带来的对静态存储器物理需求的减小,本发明还提出了如下优选方案来改善器件的尺寸参数:所述静态存储器采用片上存储器实现。片上存储器由于尺寸限制,其处理能力不如外设的缓存装置,但采用本发明的方案后,少量的片上存储器就能负担较大数据量的缓存工作,这对于提高CMOS 图像传感器的集成度意义非凡。

优选地,当M取512、N取512时,K取10,则静态存储器的存储深度J为256。

本发明的有益技术效果是:通过对缓存处理方式进行改变,使用占用硬件资源较少的片上缓存结构,实现了较大缓存数据的高速处理,大幅提高了CMOS图像传感器的集成度和片上处理速度。

附图说明

图1、本发明的处理原理示意图(图中静态存储器的数量为10个);

图2、现有技术的处理原理示意图;

图3、Bayer数据中数据排列方式示意图;

图4、CMOS传感器片上系统结构示意图。

具体实施方式

一种用于CMOS图像传感器的实时高速图像预处理方法,包括由CMOS图像传感器的感光部输出的Bayer数据,所述Bayer数据的单帧阵列的行数为M、列数为N,其创新在于:

搭建缓存模块:采用K个静态存储器搭建缓存模块,10≤K<M,且K为偶数,单个静态存储器的存储深度为J;将K个静态存储器分为L个处理小组,L=K/2,每个处理小组均对应两个静态存储器;

对Bayer数据进行分类:所述单帧阵列中的单行数据记为数据行,单个数据行中的多个数据按各个数据所对应的列数序号的奇、偶关系分为两组:同一数据行中,列数序号为奇数的多个数据形成数据组一,列数序号为偶数的多个数据形成数据组二;则每一数据行均对应有一个数据组一和一个数据组二,且数据组一和数据组二内的数据个数均为N/2个,N/2=J;对Bayer数据进行分类的方式记为分类规则;

处理时,按如下步骤进行:

1)按分类规则,对单帧阵列中的第1至L个数据行中的数据进行分类,获得2L个数据组;

2)按单帧阵列中的行顺序,将各个数据行中的数据组依次输入缓存模块中的静态存储器内,每个静态存储器对应一个数据组,同一数据行中的两个数据组输入同一处理小组的两个静态存储器中;单个数据组中的多个数据以串行方式输入静态存储器内;设第1数据行对应第1处理小组,第2数据行对应第2处理小组,……第L数据行对应第L处理小组;

3)当第L个数据行的数据输入完成后,静态存储器开始将缓存了的多个数据向外并行输出;

静态存储器向外并行输出的同时,将第L+1数据行内的多个数据按分类规则分类后,串行输入第1处理小组内对应的静态存储器中,用以替换第1数据行内的多个数据;前述的用新数据替换处理小组内旧数据的处理方式记为更新处理,在后续并行输出静态存储器数据的过程中,继续用新的数据行对其余处理小组依次进行更新处理;

4)当L个处理小组都完成了更新处理后,按步骤3)中方式,用新的数据行对L个处理小组重新依次进行更新处理,直至缓存模块对所有数据行都完成了缓存、输出处理。

进一步地,单个处理小组内的两个静态存储器与单个数据行内的数据组一和数据组二的对应关系保持恒定。

进一步地,所述静态存储器采用片上存储器实现。

进一步地,当M取512、N取512时,K取10,则静态存储器的存储深度J为256。

以下以一帧512(行)×512(列)阵列的Bayer数据为例,将本发明的方案和现有技术进行量化比较:

基于本发明方案,采用10个静态存储器来对512×512阵列数据进行处理时,当缓存5行数据进行处理时,需要10个深度为256字的静态存储器以及10个寄存器进行数据的缓存运算,单帧数据全部串行读入和并行读出需要262144个时钟周期。

根据现有技术可知,现有技术在对512×512个数据进行处理时,当缓存5行数据进行处理时,需要5个深度为512字的静态存储器以及3072个寄存器进行数据的缓存运算,全部数据的存取所需时钟周期为524288。

本发明和现有技术在芯片面积和布局方面具有较大优势,利用分块的思想将5个深度为512字的静态存储器分为10个深度为256字的静态存储器,这有利于片上系统的整体布局以并减少设计难度,而针对同一工艺条件,本发明使用的寄存器数量明显小于现有技术的寄存器数量(二者静态存储器的容量相同),这可以节省芯片面积和功耗。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号