本申请案根据35U.S.C.119(e)主张2011年10月11日申请的第61/545,993号美国临时申请案的优先权,所述申请案特定地以全文引用的方式并入本文。
附图说明
在附图的图式中借助于实例而不是限制来说明本发明的实施例,附图中相同参考指示相似元件。应注意,在本发明中对本发明的“一”或“一个”实施例的参考不一定是参考同一实施例,且其意味着至少一个。在图中:
图1说明根据本发明的一个实施例的实施多行同时读出方案的背侧照明成像系统的一个实例。
图2说明根据本发明的一个实施例的多行同时读出方案中的像素阵列配置。
图3说明根据本发明的一个实施例的行控制时序实施方案。
图4说明根据本发明的一个实施例的行驱动器配置。
图5说明根据本发明的一个实施例的列多路复用器配置。
图6A说明针对常规传感器的从2x2区间到全分辨率的模式改变的时序序列。
图6B说明针对具有列A/D架构的传感器的从2x2区间到全分辨率的模式改变的时序序列。
图6C说明针对本发明的一个实施例的从2x2区间到全分辨率的模式改变的时序序列。
图7说明根据本发明的一个实施例的用于图像传感器的操作的过程的流程图。
图8说明根据本发明的一个实施例的实施HDR区间阵列配置的成像系统的图。
图9说明根据本发明的一个实施例的图8中的HDR区间阵列的像素配置。
图10说明根据本发明的一个实施例的耦合到具有用于高速读出的顶部和底部读出架构的列并行ADC架构的像素电路的图。
图11说明根据本发明的一个实施例的关于两个积分时间配置的HDR区间算法的流程图。
图12说明根据本发明的一个实施例的实施用于四个积分时间的HDR区间阵列配置的成像系统的图。
图13说明根据本发明的一个实施例的图12中的HDR区间阵列的像素配置。
图14说明根据本发明的一个实施例的具有四个积分时间的HDR区间算法的流程图。
图15说明根据本发明的一个实施例在应用HDR区间算法之前个别积分时间t0、t1、t2和t3的输出响应的曲线图。
图16说明根据本发明的一个实施例在应用HDR区间算法之后的最终响应曲线和对应的信噪比(SNR)。
图17说明根据本发明的一个实施例的不同分数因数的最终SNR曲线。
图18说明第一常规单斜率ADC架构。
图19说明第二常规单斜率ADC架构。
图20说明具有向上和向下计数的第一常规计数器配置。
图21说明第二常规计数器配置。
图22说明展示在图21的第二常规计数器配置中出现的保持问题的时序图。
图23说明第三常规计数器配置。
图24说明展示在图23的第三常规计数器配置中数据被破坏之后的数据恢复的时序图。
图25说明根据本发明的一个实施例的算术计数器的图。
图26说明根据本发明的一个实施例的在计数器模式中的算术计数器的图。
图27说明根据本发明的一个实施例的在反转模式中的算术计数器的图。
图28说明根据本发明的一个实施例的在移位模式中的算术计数器的图。
图29说明根据本发明的一个实施例的在保持模式中的算术计数器的图。
图30说明根据本发明的一个实施例的加法运算的时序图。
图31说明根据本发明的一个实施例的减法运算的时序图。
图32说明根据本发明的一个实施例的乘法运算的时序图。
图33说明根据本发明的一个实施例的除法运算的时序图。
图34说明根据本发明的一个实施例的具有向上计数的数字相关双取样(CDS)的时序图。
图35说明根据本发明的一个实施例的具有向下计数的数字相关双取样(CDS)的时序图。
图36说明根据本发明的一个实施例的行求和的时序图。
图37说明根据本发明的一个实施例的具有可编程初始值的算术计数器级的图。
图38说明根据本发明的一个实施例的锁存器型第一级示意图的图。
图39说明根据本发明的一个实施例的具有锁存器型第一级的计数器的时序图。
图40说明根据本发明的一个实施例的具有LSB补偿的经修改锁存器型第一级的图。
图41说明根据本发明的一个实施例的具有真实互补译码的经修改锁存器型第一级的图。
图42说明根据本发明的一个实施例的经简化计数器级的图。
具体实施方式
在以下描述中,陈述许多具体细节。然而应了解,可在没有这些具体细节的情况下实践本发明的实施例。在其它实例中,未展示众所周知的电路、结构和技术以免混淆对本描述的理解。
以下描述划分为三个部分。部分I描述用于具有背侧照明的高速CMOS图像传感器的多行同时读出方案。部分II描述高动态范围子取样架构。部分III描述用于高性能CMOS图像传感器的算术计数器电路、配置和应用。
部分I:用于具有背侧照明的高速CMOS图像传感器的多行同时读出方案
为了改善具有背侧照明的CMOS图像传感器的帧速率,本发明提供一种新的读出架构,其中同时读出多行像素,使得行时间显著减少。
图1说明根据本发明的一个实施例的实施多行同时读出方案的背侧照明成像系统100的一个实例。在此实施例中,说明两行同时读出方案,但应了解,可实施两行或两行以上同时读出方案。在图1中说明的实施例中,使用双共享像素,其提供较高的总体性能。然而,本发明的一些实施例可实施例如传统像素4T和3T等其它像素结构。此外,图1说明具有顶部和底部读出架构的列并行架构。然而,在一些实施例中,可实施其它读出架构(即,列串行读出或多通道读出)。
如图1中说明,成像系统100包含色彩像素阵列101、顶部读出电路1021和底部读出电路1022、功能逻辑111以及控制电路112。像素阵列101是成像像素(例如,像素P1、P2、…、Pn)的二维(“2D”)阵列,其具有X数目个像素列和Y数目个像素行。在一个实施例中,每一像素是互补金属氧化物半导体(“CMOS”)成像像素。像素阵列101可实施为背侧照明图像像素阵列。如所说明,每一像素布置到一行(例如,行R1到Ry)和一列(例如,列C1到Cx)中以获取人、地点或对象的图像数据,所述图像数据随后可用以再现所述人、地点或对象的2D图像。
色彩像素阵列101还可称为滤色器阵列(“CFA”)。CFA可使用多种技术来俘获色彩图像数据,所述技术包含加性过滤器和减性过滤器。举例来说,色彩像素阵列101可实施为拜耳(Bayer)图案或红、绿和蓝加性过滤器的马赛克(例如,RGB、RGBG或GRGB)或青、洋红、黄和关键色(黑)减性过滤器的滤色器图案(例如,CMYK)。也可使用其它CFA,例如红、绿、蓝和翠绿过滤器的马赛克(例如,RGBE)、青、黄、绿和洋红过滤器的滤色器图案(例如,CYGM)、青、洋红、黄和白过滤器的滤色器图案(例如,CMYW)、红、绿、蓝和白过滤器的滤色器图案(例如,RGBW)、这些的组合,或者其它情况。
在每一像素已获取其图像数据或图像电荷之后,图像数据由顶部读出电路1021和底部读出电路1022分别经由读出列1031和1032而读出。顶部读出电路1021和底部读出电路1022分别包含:多路复用器(“MUX”)电路1041和1042、包含多个放大器的放大电路1051和1052、模/数转换器(“ADC”)1061和1062、存储器单元1071和1072,以及全局放大器1101和1102。放大电路1051和1052两者耦合到色彩像素阵列110的读出列以分别经由MUX电路1041和1042读出每一列上的图像数据。在一个实施例中,图像数据经读出为每一读出列上的模拟电压电平。随后将读出图像数据依序地提供到ADC 1061和1062、存储器1071和1072以及用于放大的全局放大器1101和1102。在放大之后,将读出图像数据传送到功能逻辑111,功能逻辑111可存储图像数据或可通过应用后图像效果(例如,裁剪、旋转、移除红眼、调整亮度、调整对比度,或其它)来操纵图像数据。
本发明的实施例使用MUX电路1041和1042来将列读出线(例如,图1中的pixout0和pixout1)引导到放大电路1051和1052。如图1所示,来自两个邻近列的列读出线输入到两个单独的MUX:一个来自顶部MUX电路1041,且一个来自底部MUX电路1042。从功能观点来看,MUX电路1041和1042也可视为包含列读出线。在说明的实施例中,放大电路1051和1052中的放大器中的每一者读出与一列像素(以及相关联列中的所有行的像素)相关联的图像数据。如下文论述,在MUX电路1041和1042中,与给定列相关联的顶部和底部MUX可同时选择交替的读出线以用于同一行地址(例如,行<n>)。(参见图5)。
控制电路112耦合到像素阵列101以及MUX电路1041和1042以控制像素阵列101以及MUX电路1041和1042的操作特性。举例来说,控制电路112可作为用于配置MUX电路1041和1042的解码器以及用于色彩像素阵列101的行选择器来操作。控制电路112可执行用于确定在给定时间选择哪些行/列以及经由MUX电路1041和1042耦合哪一放大电路1051和1052的逻辑。所执行的逻辑可表示可执行代码(例如,软件或固件)、硬件逻辑或两者的组合。控制电路112内包含的其它功能性可包含产生复位信号和快门信号以用于控制图像获取。在一实施例中,快门信号是滚动快门信号,借此在连续的获取窗期间依序地启用一组多个行。
在一个实施例中,单位单元108包含两个共享像素,其在图1中垂直地放置。所述两个共享像素共享同一像素输出(即,在图1中以水平线说明),其可连接到用于每一列像素的两条位线中的一者。这两条位线在本文中也可称为列读出线,其在图1中说明为pixout0和pixout1。在此实施例中,一个单位单元108可互换地连接到与一邻近单位单元不同的位线。在像素读出期间,以虚线圈出的逻辑单位单元109经界定且从物理单位单元108移位一个像素。这避免了两个像素同时共享同一浮动扩散读出。因此,同时读出将不被中断,因为一个逻辑单位单元109内的两个像素具有不同的浮动扩散。因此,同一逻辑单位单元109内的两行像素(例如,图1中的行<n>)能够被同时读出。
如图1中说明,为了同时处理两行的数据(也称为一超级行,例如图1中的行<n>),将MUX电路1041和1042中包含的一个4输入2输出MUX的每一输出输入到作为放大电路1051和1052的列放大级、作为ADC 1061和1062的列ADC以及存储器单元1071和1072。换句话说,列放大增益级、列ADC以及存储器单元处于一个列的间距中以同时处理两行的数据。例如位线偏置等其它列电路也可放置于每像素两个的间距中。如图1所示,每一4输入2输出模拟MUX放置于顶部读出电路1021和底部读出电路1022中的像素阵列的顶部和底部处的列的末端处。MUX的功能是选择用于顶部和底部读出的正确的色彩像素信号。举例来说,可将G1/G2引导到顶部读出,且可将B/R引导到底部读出。顶部和底部数据两者被读出到全局读出总线,且可进一步在数字块或功能逻辑111中合并且处理。
本发明的此实施例提供高速优点,因为在指向超级行(例如,行<n>)的一个行地址指针处,存在同时读出的两行像素。因此,关于行读出时间,阵列中的总行数目减半。因此,如果行读出时间主导了整个行时间,那么帧速率改善可加倍。此实施例的另一优点是支持全分辨率与2x2区间化(binning)之间的真实无缝模式转变。换句话说,在转变期间将没有所得的坏帧。此外,对模式改变的要求保持在最小,其中不需要行读出和快门时序上的改变。此实施例的又一优点是,色彩数据输出序列可通过数字块来容易地再布置,因为所述两行读出是在拜耳图案的一个单位中。因此,不需要行数字存储器。
如上文论述,虽然图1中的实施例是基于两行同时读出,但实施例可经扩展为包含较大数目的多行同时读出。在包含较大数目的多行同时读出的实施例中,包含多个像素输出总线(例如,列读出线)。举例来说,对于四行同时读出,需要每像素4个像素输出总线,且对于八行同时读出,需要每像素8个像素输出总线,等等。在前侧照明(FSI)技术的情况下,变得难以具有每像素大量的像素输出总线。在背侧照明(BSI)技术的情况下,在前侧允许较复杂的布线,而不会牺牲像素性能,从而使多行同时读出成为可行的实施方案。
像素实施方案、行驱动器和时序
图2说明根据本发明的一个实施例的多行同时读出方案中的像素阵列的一个实施例。在图2中的实施例中,使用两个共享的无行选择像素作为实例。在另一实施例中,可使用其它像素结构和变型。一个逻辑单位单元109(以虚线圈出)包含两个像素,所述两个像素具有相同的行解码器地址(例如,行<n>)且共享同一行驱动器信号、同一传送(TX)线以及同一复位(RST)和设定(RS)信号。
在图2中,像素布置为两列(例如,列C1和C2)和六行(例如,行R1、R2…R6)。每一像素电路的所说明实施例包含光电二极管PD、传送晶体管T1、复位晶体管T2以及选择晶体管T3。在操作期间,传送晶体管T1接收传送信号TX,其将累积于光电二极管PD中的电荷传送到浮动扩散节点FD。在一个实施例中,浮动扩散节点FD可耦合到用于临时存储图像电荷的存储电容器。在两行同时读出实施例中,每两行像素花费一个读出循环来读出整个两行数据。
如图2中说明,逻辑单元109中的两个共享像素中的传送晶体管T1两者接收同一传送信号TX(例如,TX<n>)。复位晶体管T2耦合于设定信号RS与浮动扩散节点FD之间以在复位信号RST和设定信号RS的控制下复位像素(例如,对FD和PD进行放电或充电)。浮动扩散节点FD经耦合以控制选择晶体管T3的栅极。选择晶体管T3耦合于电力轨VDD与读出列线之间。基于在选择晶体管T3的控制栅极处的FD,选择晶体管T3将像素电路的输出选择性地耦合到读出列线。
在一个实施例中,TX信号、RST信号以及RS信号由控制电路112产生。图3说明根据本发明的一个实施例的行控制时序图。具体来说,图3中的行控制时序图是用于包含如图2中说明的无行选择像素的像素阵列101的实施例的样本行时序。对于其它类型的像素,时序图可不同。如图2中说明,在一个逻辑单位单元109中,RST和RS晶体管(T2和T3)不同,但逻辑单位单元109中的像素共享同一TX线。因此,参见图3,针对RS和RST信号在同时选择且脉冲行<n>和行<n+1>,但针对TX信号仅选择行<n>。
图4说明根据本发明的一个实施例的行驱动器配置。来自图1的控制逻辑112可包含如图4中说明的行驱动器。所述行驱动器可包含多个“与”门、“或”门和放大器以将RS、RST和TX信号输出到像素阵列101。图4中说明的行驱动器具有如图3中说明的控制时序。
列实施方案
图5说明根据本发明的一个实施例的列多路复用器配置。如图1所示,每两个列需要一个模拟4输入2输出MUX 1041以选择将针对顶部通道读出的正确色彩像素,且每两个列需要一个模拟4输入2输出MUX 1042以选择将针对底部通道读出的正确色彩像素。举例来说,绿像素(G1和G2)可到达顶部通道,同时蓝(B)和红(R)到达底部通道。在一些实施例中,行地址的最后一位可用以产生校正控制逻辑,以便区分偶数和奇数行地址。如上文论述,需要在每像素两个的间距中放置其它列电路,例如位线偏置、列放大放大器(放大电路)1051和1052、列ADC 1061和1062以及存储器单元1061和1062。此外,可能需要用于放大器的交错布局和用于电容器的互数字化布局来减少绿像素(G1/G2)失配。
真实无缝2x2区间化
图6A到6C说明针对常规传感器(图6A)、针对具有列ADC架构的传感器(图6B)和针对本发明的一个实施例(图6C)的从2x2区间到全分辨率的模式改变的时序序列。
无缝2x2区间化意味着在全分辨率模式与2x2区间化模式之间切换时的积分时间上没有差异,且反之亦然。如针对常规传感器的图6A中的时序序列所示,在将模式从2x2区间改变到全分辨率之后,针对四个连续行的积分时间t1、t2、t3和t4不同。因此,常规传感器产生需要丢弃的坏帧。因此,常规传感器的转变不是无缝的。关于具有列ADC架构的传感器,t1、t2、t3和t4可相同,但需要三个关键要求以便实现此无缝模式改变:(1)应恰在读出时序之后的快门时序处改变垂直行的次序,(2)应独立地控制快门脉冲和读出脉冲,以及(3)应在实际模式改变之前一个帧通过设定串行通信来切换所述两个模式。这些要求对具有列ADC架构的传感器增加了复杂性和约束,且因此这种传感器不实现完美的无缝模式改变实施方案。
如图6C中所示,在两行同时读出架构的一个实施例中,由于同时读出两行像素且所述两行共享同一TX,因此在用于读出阶段和快门阶段两者的时序序列中没有差异。如图6C中所示,TX序列在整个转变周期中是相同的。因此,t1等于t2,且不需要任何额外的时序控制或序列来实现积分时间上的此相等性。因此,与具有图6B所示的时序序列的传感器相反,本发明的此实施例实现完美的无缝模式改变。
帧速率计算
参见以下表1和表2,针对不同大小的像素阵列计算帧速率。表1呈现全分辨率下的常规读出的帧速率,且表2呈现根据本发明的一个实施例的两行读出的帧速率。
阵列大小 |
3兆像素 |
5兆像素 |
8兆像素 |
12兆像素 |
16兆像素 |
格式 |
4/3 |
4/3 |
4/3 |
4/3 |
4/3 |
输出列 |
2000 |
2580 |
3270 |
4000 |
4620 |
输出行 |
1500 |
1940 |
2450 |
3000 |
3460 |
ADC数据(位) |
10 |
10 |
10 |
12 |
12 |
斜坡频率(MHz) |
200 |
200 |
200 |
200 |
200 |
存储器频率(MHz) |
80 |
80 |
80 |
80 |
80 |
通道号(顶部+底部) |
4 |
4 |
4 |
8 |
8 |
行读出时间(us) |
12.54 |
12.54 |
12.54 |
33.66 |
33.66 |
存储器读出时间(us) |
6.75 |
8.56 |
10.72 |
6.75 |
7.72 |
行时间(us) |
12.54 |
12.54 |
12.54 |
33.66 |
33.66 |
帧速率(fps) |
53.16 |
41.11 |
32.55 |
9.9 |
8.59 |
表1:全分辨率下的传统读出的帧速率计算器
阵列大小 |
3兆像素 |
5兆像素 |
8兆像素 |
12兆像素 |
16兆像素 |
格式 |
4/3 |
4/3 |
4/3 |
4/3 |
4/3 |
输出列 |
2000 |
2580 |
3270 |
4000 |
4620 |
输出行 |
1500 |
1940 |
2450 |
3000 |
3460 |
ADC数据(位) |
10 |
10 |
10 |
12 |
12 |
斜坡频率(MHz) |
200 |
200 |
200 |
200 |
200 |
存储器频率(MHz) |
80 |
80 |
80 |
80 |
80 |
数据路径号 |
4 |
4 |
4 |
8 |
8 |
行读出时间(us) |
12.54 |
12.54 |
12.54 |
33.66 |
33.66 |
存储器读出时间(us) |
13.5 |
17.13 |
21.44 |
13.5 |
15.44 |
行时间(us) |
13.5 |
17.13 |
21.44 |
33.66 |
33.66 |
帧速率(fps) |
98.77 |
60.2 |
38.08 |
19.81 |
17.17 |
改善% |
85.78% |
46.45% |
16.99% |
100.00% |
100.00% |
表2:全分辨率下的所提出的2行同时读出的帧速率计算器
如表1和2中所示,帧速率的改善根据全分辨率模式下的数字数据路径读出速度和位分辨率而变化。此外,本发明的实施例在行读出时间主导整个行时间的情况下往往具有较高的数字读出速度。而且,此速度优点在使用道路地图中的较高级技术时变得更显著,因为数字逻辑在与模拟部分相比增加的处理能力和速度方面从高级技术得到较多性能提升,从而使行读出时间更为主导。
因此,根据本发明的某个实施例,具有两行或多行同时读出方案打破了高速图像传感器设计的瓶颈。此外,此实施例利用了背侧照明技术来提供低光下的较高敏感性以及传感器的前侧处的较大布线灵活性。使用此架构还实现真实无缝2x2区间。最终,展示多行同时读出优于常规读出的帧速率优点,且进一步,多行同时读出方案可进一步在使用较高级技术增加数字读出速度的情况下获得较高速度的优点。
图像传感器的操作
图7是说明根据本发明的实施例的用于图像传感器100的操作的过程700的流程图。过程700中的一些或所有过程框出现的次序不应视为限制性的。而是,得益于本发明的所属领域的技术人员将了解,可以多种未说明的次序来执行某些过程框。
在过程框701中,由色彩像素阵列101获取图像数据。在读出之前,在每一像素内将此图像数据存储为图像电荷,直到每一像素经选择以在其相关联读出列上输出其图像电压为止。在过程框702中,控制电路112配置读出电路1021和1022以从当前组的多个行同时读出色彩图像数据。控制电路112可通过配置MUX电路1041和1042以及选择适当像素行(经由图2中的RS、RST和TX信号)来选择读出哪些行的像素。为了一次输出多个行,控制电路220配置顶部MUX电路1041和底部MUX电路1042以分别选择交替的列读出线。因此,与两行像素内的像素相关联的图像数据可被同时读出色彩像素阵列110。举例来说,如上文论述,在图1中的RGBG拜耳色彩像素阵列101中,如果行<n>是当前选择的行,那么可同时地通过顶部MUX电路1041来选择两组色彩像素中的一组(例如,绿像素)且通过底部MUX电路1042来选择另一组色彩像素(例如,蓝和红像素)。
在过程框703中,在列线上将来自当前组的多个行的图像数据读出到放大电路1051和1052中。如图1所示,随后将图像数据从放大电路1051和1052串行地提供到ADC 1061和1062、存储器1071和1072以及用于放大的全局放大器1101和1102。最终,在过程框704中,将图像数据传送到功能逻辑111。
过程700随后在框705处确定当前组的多个行是否是像素阵列101中的最后一组多个行。如果其它组的多个行保持待读出,那么过程700在框706处移动到下一组多个行,且针对下一组多个行重复过程框701到704。在图1中说明的像素阵列101的情况下,从包含两行像素的行<n>同时读出图像数据。过程700重复自身直到像素阵列101中的所有行(例如,行<n+1>、行<n+2>等等)已被读出为止。一旦在框705处没有其它组的多个行保持待读出,那么图像数据已完全传送到功能逻辑111(框707)。
部分II:高动态范围子取样架构
如上文论述,列并行ADC与较高级CMOS技术组合提供了较好的功率消耗和面积效率,同时提供较复杂的图像处理能力。举例来说,较复杂的算术处理(即,加法、减法、乘法和除法)可在计数器级中实施,其提供在列ADC级处实施HDR的机会。
两个积分时间:t0和t1
图8说明根据本发明的一个实施例的实施HDR子取样(“HDR区间”)阵列配置的成像系统的图。图8中的HDR子取样(“HDR区间”)是基于上文描述的两行同时读出架构。如图8中说明,含有拜耳图案的两行像素被同时读出到列并行ADC。与常规读出方法相比,两行同时读出架构提供了使读出速度加倍的优点且可实现区间化与全分辨率模式之间的真实无缝模式改变。如图8所示,可容易地在两行同时读出架构上建立HDR区间,而不会增加许多电路复杂性,如图10中进一步描绘。
图9说明根据本发明的一个实施例的图8中的HDR区间阵列的像素配置。如上所述,在图8中的实施例中,使用两个共享像素。然而,本发明的一些实施例可实施例如传统像素4T和3T等其它像素结构。此外,图8说明具有提供高速读出的顶部和底部读出架构的列并行架构。然而,在一些实施例中,可使用其它读出架构来实施HDR区间。
类似于图2,在图9中,像素布置为两列(例如,行C1和C2)和六行(例如,行R1、R2…R6)。每一像素电路的所说明实施例包含光电二极管PD、传送晶体管T1、复位晶体管T2以及选择晶体管T3。在操作期间,传送晶体管T1接收传送信号TX,其将累积于光电二极管PD中的电荷传送到浮动扩散节点FD。
如图8中说明,逻辑单元109中的两个共享像素中的传送晶体管T1两者接收同一传送信号TX(例如,TX<n>)。复位晶体管T2耦合于设定信号RS与浮动扩散节点FD之间以在复位信号RST和设定信号RS的控制下复位像素(例如,对FD和PD进行放电或充电)。浮动扩散节点FD经耦合以控制选择晶体管T3的栅极。选择晶体管T3耦合于电力轨VDD与读出列线之间。基于在选择晶体管T3的控制栅极处的FD,选择晶体管T3将像素电路的输出选择性地耦合到读出列线。
在图8到9中以虚线圈出两个邻近行的像素(或者也称为一个超级行801,例如行<n>)。所述一个超级行801含有拜耳图案像素,且共享同一积分时间(例如,t0或t1)。如图8中所示,两组积分时间(t0和t1)在整个像素阵列101上交错。在此实施例中,两个邻近的超级行801(例如,行<n>和行<n+1>)具有不同的积分时间。在一些实施例中,将t0与t1之间的比率设定为2的倍数(即,2、4或8等)。假定正在执行在两个不同行时间进行两行读出的区间化操作,此两个积分时间的配置仅需要包含于控制逻辑112中的行驱动器中的一个快门指针(或预充电)。来自两个超级行801的图像数据将随后经组合以在列并行ADC级中执行HDR操作。
图10说明根据本发明的一个实施例的耦合到具有用于高速读出的顶部和底部读出架构的列并行ADC架构的像素电路的图1000。为了保持简明,将图10中的读出电路描述为底部读出电路。然而应了解,顶部读出电路也可实施以下特征。在此实施例中,列并行ADC1002是单斜率计数器型ADC。然而,在其它实施例中也可使用其它类型的列ADC(即,SAR、循环等)。还应了解,列并行ADC架构对于像素阵列的每一列可为类似的。如图10中说明,当与图8中的不具有HDR的原始两行同时读出相比时,具有HDR的读出电路大大简化。
在图10中,列并行ADC 1002包含放大电路1003、比较器1004、计数器1005以及存储器单元1006。放大电路1003包含具有偏移消除的列放大器,其用以提供粗略增益以用于低噪声目的。所述列放大器可具有复位开关以消除偏移。比较器1004可接收来自斜坡产生器1007的斜坡信号和列放大器1003的输出作为输入。比较器1004的输出由计数器1005接收。如图10中所示,比较器1004也可包含复位开关以消除其偏移。列放大器1003的偏移消除和比较器1004的偏移消除组合起来可实现双重相关双取样(CDS)功能。计数器1005也可称为“算术计数器”,其在下文在部分3中进一步描述。来自计数器1005的输出数据可存储在可为SRAM的存储器单元1006中。存储在存储器单元1006中的数据可随后被读出到全局SRAM1008。
在本发明的一些实施例中,HDR区间算法可使用图10中说明的列并行ADC 1002配置来实施。图11说明根据本发明的一个实施例的具有两个积分时间(t0和t1)配置的HDR区间算法(或方法1100)的流程图。方法1100以将来自第一超级行801(例如,行<n>)的图像数据读出且存储在包含于列并行ADC 1002中的算术计数器中开始(框1110)。第一超级行801可为具有积分时间t0的行。在框1020处,接着将存储在算术计数器中的图像数据乘以积分时间t0与t1之间的比率n (n=2、4、8…)。所述乘法可由算术计数器使用移位功能来执行。在框1130处,接着将经相乘的数据与经掩蔽的数据进行比较。经掩蔽的数据可为饱和电平的3/4。如果经相乘的数据大于经掩蔽的数据,那么方法继续到框1140,其中将算术计数器设定于保持状态。在保持状态中,算术计数器丢弃在下一读取操作中获得的图像数据。如果在框1130处经相乘的数据小于经掩蔽的数据,那么方法1100继续到框1150,其中清除算术计数器且将其设定到读取状态。在读取状态中,准备算术计数器以存储在下一读取操作中获得的数据。在框1160处,将来自第二超级行801(例如,行<n+1>)的图像数据读出到计数器中。第二超级行801可为具有积分时间t1的行。如果在框1140处将算术计数器设定于保持状态,那么丢弃来自第二超级行801的图像数据且将来自第一超级行的图像数据存储在算术计数器中。如果在框1150处将算术计数器设定于读取状态,那么在框1150处已清除算术计数器且将来自第二超级行801的图像数据存储在算术计数器中。在框1170处,将存储在算术计数器中的数据输出到可为SRAM的存储器单元。
如方法1100中说明,HDR区间过程需要两个行读出时间来执行一个HDR操作,且需要同一时序以在行区间化模式中执行。此外,当与不具有HDR的原始两行同时读出相比时,具有HDR的电路大大简化。
存在许多不理想的因素可能在传感器达到其饱和电平时影响均匀性,例如满阱变化、通道失配等。如果将饱和电平选择为决策点,那么在超级行801(例如,行<n>和行<n+1>)之间的弯曲点处可导致极高的逐像素固定模式噪声(FPN)。因此,将经掩蔽的数据选择为饱和电平的3/4避免了饱和变化的问题。应了解,还可选择任何分数因数(小于一)。
HDR区间架构的此实施例的一些其它优点包含:(1)容易切换回到正常的区间化模式,因为与正常的区间化模式相比不需要时序改变,(2)在全分辨率模式与HDR区间模式之间可实现真实无缝模式改变而不会产生坏帧,(3)结合两行同时读出的快速读出速度,以及(4)不同积分时间是在拜耳图案的一个单位中,因此节省了用于色彩解扰器的数字存储器。
四个积分时间:t0、t1、t2、t3
虽然以上实施例说明具有两个不同积分时间(t0和t1)的HDR区间,但其它实施例可实施多组积分时间配置(例如,四个积分时间)以获得更好的信噪比(“SNR”)性能。
图12说明根据本发明的一个实施例的实施用于四个积分时间的HDR区间阵列配置的成像系统的图,且图13说明根据本发明的一个实施例的图12中的HDR区间阵列的像素配置。
如图12和图13所示,以虚线圈出包含四个像素的单位单元(称为一个超级像素1201)。呈拜耳图案的超级像素1201共享一个积分时间。如图12中说明,四组积分时间(t0、t1、t2和t3)交错到整个阵列中。具有t0和t1积分时间的超级像素1201位于像素阵列101中的包含两列像素(例如,C1和C2)的第一列处。具有t2和t3积分时间的超级像素1201位于包含两列像素(例如,C3和C4)的第二列处。在一些实施例中,两个邻近的超级像素1201可总是具有不同的积分时间。在一些实施例中,将积分时间t0、t1、t2和t3之间的比率设定为2的倍数(即,2、4或8等)。
类似于图9,在图13中,像素布置为4列(例如,列C1、C2、C3和C4)和六行(例如,行R1、R2...R6)。每一像素电路的所说明实施例包含光电二极管PD、传送晶体管T1、复位晶体管T2以及选择晶体管T3。然而,与图9中的配置相比,在图13中在一个超级行中使用两个单独的传送(TX)总线(TXA和TXB)。在此实施例中,具有t0和t1积分时间的超级像素1201连接到TXA总线,而具有t2和t3积分时间的超级像素1201连接到TXB总线。取具有t0积分时间的超级像素1201作为实例,在操作期间,传送晶体管T1接收传送信号TXA,其将累积于光电二极管PD中的电荷传送到浮动扩散节点FD。举例来说,如图13中说明,具有t0积分时间的超级像素1201中包含的四个像素中的传送晶体管T1全部接收同一传送信号TXA(例如,TXA<n>)。此外,在超级像素1201中的每一像素中,复位晶体管T2耦合于设定信号RS与浮动扩散节点FD之间以在复位信号RST和设定信号RS的控制下复位像素(例如,对FD和PD进行放电或充电)。浮动扩散节点FD经耦合以控制选择晶体管T3的栅极。选择晶体管T3耦合于电力轨VDD与读出列线之间。基于在选择晶体管T3的控制栅极处的FD,选择晶体管T3将像素电路的输出选择性地耦合到读出列线。
由于在一个行地址(例如,行<n>)中存在两个TX总线(例如,TXA<n>和TXB<n>),因此包含于控制电路112中的行驱动器需要包含两个快门指针(或预充电)。这两个快门指针可在当前的数字平台中实施。在一个实施例中,来自具有积分时间t0、t1、t2和t3的四个超级像素1201的图像数据将接着经组合以在列并行ADC级1002和全局SRAM级1008中执行HDR操作。
图14说明根据本发明的一个实施例的具有四个积分时间(t0、t1、t2和t3)的HDR区间算法(方法1400)的流程图。与图11中的具有两个积分时间的流程图1100相比,通过算术计数器分别针对(i)来自具有t0和t1积分时间的超级像素的图像数据以及(ii)来自具有t2和t3积分时间的超级像素的图像数据而执行两个并行过程,且进一步,在全局SRAM级(图14中在虚线下方说明)中执行额外的过程。如图13中说明,具有t0和t1积分时间的超级像素位于来自具有t2和t3积分时间的超级像素的单独列中。因此,一个列并行ADC中的第一算术计数器可处理来自具有t0和t1积分时间的超级像素的图像数据,且在另一列并行中的第二算术计数器可处理来自具有t2和t3积分时间的超级像素的图像数据。
在图14中,方法1400在框14101和14102处同时开始,其中将来自具有t0积分时间的第一超级像素1210的图像数据读出且存储在包含于第一列并行ADC中的第一算术计数器中(框14101),且将来自具有t2积分时间的第三超级像素1210的图像数据读出且存储在包含于第二列ADC中的第二算术计数器中(框14102)。在框14201和14202处,将存储在第一算术计数器和第二算术计数器中的图像数据分别乘以积分时间之间的比率n(n=2、4、8...)。所述乘法可由算术计数器使用移位功能来执行。在框14301和14302处,接着将经相乘的数据与经掩蔽的数据进行比较。经掩蔽的数据可为饱和电平的3/4。如果经相乘的数据大于经掩蔽的数据,那么方法继续到框14401和14402,其中将第一和第二算术计数器设定于保持状态。在保持状态中,第一和第二算术计数器丢弃在下一读取操作中获得的图像数据。如果在框14301和14302处经相乘的数据小于经掩蔽的数据,那么方法1400继续到框14501和14502,其中清除第一和第二算术计数器且将其设定到读取状态。在读取状态中,准备第一和第二算术计数器以存储在下一读取操作中获得的数据。
在框14601处,读出来自具有t1积分时间的第二超级像素1210的图像数据。如果在框14401处将第一算术计数器设定于保持状态,那么丢弃来自第二超级像素的图像数据,且将来自第一超级像素的图像数据存储在第一算术计数器中。如果在框14501处将第一算术计数器设定于读取状态,那么在框14501处已清除第一算术计数器,且将来自第二超级像素的图像数据存储在第一算术计数器中。
类似地,在框14602处,读出来自具有t3积分时间的第四超级像素1210的图像数据。如果在框14402处将第二算术计数器设定于保持状态,那么丢弃来自第四超级像素的图像数据,且将来自第三超级像素的图像数据存储在第二算术计数器中。如果在框14502处将第二算术计数器设定于读取状态,那么在框14502处已清除第二算术计数器,且将来自第四超级像素的图像数据存储在第二算术计数器中。
在框14701和14702处,将存储在第一和第二算术计数器中的数据分别输出到第一和第二存储器单元。第一和第二存储器单元可为SRAM。确切地在同时执行这两个并行过程分支(框1310到1370)。然而应了解,其比较结果可能不同,且其随后的过程也可能有偏差。
将存储在列并行ADC中的第一和第二存储器单元中的最终数据读出到全局级中的SRAM。在框1480处,在全局级中的SRAM中将来自第一算术计数器(在框14701处获得)的数据乘以因数n的2次幂(即,n2)。n值已在框14201处设定。所述乘法可通过使用位移位功能来执行。
在框1481处,将来自第一算术计数器的经相乘的数据与经掩蔽的值进行比较。在一些实施例中,经掩蔽的值是积分时间t2下的饱和电平的3/4乘以n。如果来自第一算术计数器的经相乘的数据大于经掩蔽的值,那么方法1400前进到框1482,且选择来自第一算术计数器的数据。否则,方法前进到框1483,且选择来自第二算术计数器的数据。在框1484处,将所选择的数据输出到数字接口。
应注意,可通过简单地将传送总线TXA和TXB连在一起而容易地修改图12到14中说明的四个积分时间的实施例以获得图8到9中说明的两个积分时间的实施例。此外,以上描述的两个积分时间和四个积分时间HDR区间实施例也可扩展到较高的多个积分时间以及更改为具有不同积分时间的超级像素的不同布置。在一个实例中,具有积分时间t0、t1、t2和t3的超级像素可通过添加TXC和TXD控制信号而布置于同一行中。在另一实例中,包含三行(例如,R1、R2和R3)和三列(例如,C1、C2和C3)的3x3超级像素布置可以总共九个不同的积分时间(即,t0到t8)来实施。
HDR响应和SNR讨论
在以下实例中,在HDR区间操作之前(图15)和HDR区间操作之后(图16)的最终输出响应曲线是基于从1.4um像素和四个积分时间的实施例获得的示范性像素数据。如上文论述,比率因数n是2的倍数(即,n=2、4、8等),其取决于所需的动态范围。较高的比率因数n导致较高的动态范围。为了简单,在此实例中使用的积分时间t0、t1、t2和t3的比率为2。因此,t0、t1、t2和t3的比率如下:
T0:T1:T2:T3=1:2:4:8
在此实例中使用的其它像素事实在下表中列出:
敏感性 |
800mV/lux*s |
积分时间t0 |
5ms |
积分时间t1 |
10ms |
积分时间t2 |
20ms |
积分时间t3 |
40ms |
满阱 |
8000e |
CG |
200μV/e |
饱和输出 |
1.6V |
3/4饱和输出 |
1.2V |
图15说明根据本发明的一个实施例在应用HDR区间算法之前个别积分时间t0、t1、t2和t3的输出响应的曲线图。图16说明根据本发明的一个实施例在应用HDR区间算法之后的最终响应曲线和对应的信噪比(SNR)。如图15所示,较短的积分时间导致响应曲线的斜率较低。虽然最短积分时间也为我们带来最宽的光响应谱,但图16展示在低光端的信噪比(SNR)极差。因此,在此HDR区间算法中在低光端的较长积分时间是需要的,以最大化其SNR性能。此外,如图16所示,最终响应曲线是直线响应,其促进了例如背光补偿(BLC)和色彩解马赛克等数字处理。另外,最终等效满阱从1.6V(浮动扩散节点处)增加到12.8V,这是8倍的改善。这对应于20log(12.8/1.6)=18dB的动态范围改善。等效地,输出位分辨率增加3位(例如,从12位到15位)。此改善对于具有保持减小的满阱容量的较小像素大小尤其显著。HDR区间的此实施例提供了在对计数器和SRAM增加极少成本的情况下提升满阱容量的方式。
在图16中,SNR曲线沿着切换点或弯曲点的边缘成Z字形。可执行用以平滑此弯曲点的边缘的数字处理以减少此点处的噪声。如上文论述,用作实例的分数因数是3/4,以便避免饱和不均匀性。图17说明根据本发明的一个实施例的不同分数因数的最终SNR曲线。如较早提到,用于分数因数的不同值将影响最终SNR曲线。图17提供了分数因数为1、3/4和1/2的SNR曲线之间的比较。较高的分数因数往往导致较高的SNR响应。分数因数的选择受到避免饱和不均匀性以及实施所需分数因数的电路复杂性的需要所影响。
部分III:用于高性能CMOS图像传感器的算术计数器电路、配置和应用
在列ADC架构的不同方法当中,单斜率ADC由于其简单的结构而获得较多的流行性,所述简单的结构提供关于功率消耗和面积效率的较多优点。然而,当使用单斜率ADC时获得的速度比当使用其它类型的ADC(例如,SAR和循环、快闪)时获得的速度慢。此速度差异在较高位分辨率情况下尤其显著。然而,单斜率ADC中的速度对于大多数主流成像静态俘获或视频应用来说是足够的。
图18说明第一常规单斜率ADC架构。在此第一常规单斜率ADC中,包含比较器复位开关(comp_rst)以执行自动归零操作,其消除像素黑色电平的偏移以及比较器偏移。由于此操作是在模拟域中执行,因此其常常称为模拟相关双取样(CDS)。比较器的输出连接到N位锁存器,其中N表示ADC的位分辨率。在图18中,从全局计数器驱动器输入总数目N个时钟信号。最终,锁存器数据输出到SRAM且进一步输出到全局读出放大器和SRAM。
图18的第一常规单斜率ADC存在若干缺点。举例来说,虽然第一常规单斜率ADC使用模拟CDS来消除像素和比较器的偏移,但比较器的延迟误差无法消除。比较器的延迟误差界定为从输入信号的交叉点到数字输出的切换点的时间延迟。比较器的输出(comp_out)上的延迟误差可直接影响数字化输出码。由于延迟误差由每一比较器级的群组延迟确定,因此延迟误差在列与列之间变化,且因此,可能导致大的列固定模式噪声(FPN)。此外,需要行进经过像素阵列的整个列的总数目N个计数器时钟信号(即,clk<0>、clk<1>、...clk<n>)。因此,包含与分布式时钟驱动器组合的N个计数器时钟信号的第一常规信号斜率ADC的设计需要大量的硅面积。而且,第一常规单斜率ADC的另一缺点是到其它信号的切换噪声耦合。
图19说明第二常规单斜率ADC架构。在此第二常规单斜率ADC架构中,将第二N位锁存器添加到图18的架构。所述两个个别N位锁存器用以分别存储来自复位的输出数据和来自信号的输出数据。在此架构中,需要来自斜坡产生器的斜坡信号的两个步长来完成转换:斜坡信号的一个步长用于复位电平,且斜坡信号的另一步长用于信号电平。由于比较器延迟误差包含在两个输出(例如,复位和信号)中,因此在所述两个输出之间执行减法之后可消除延迟误差。在第二常规单斜率ADC架构中,可通过在计数器时钟上使用格雷码拓扑来评估计数器时钟的噪声问题。
虽然图19中说明的第二常规单斜率ADC具有优于图18中的第一常规单斜率ADC的改进,但仍存在若干缺点。举例来说,(i)两个锁存器加倍了所需的列高度,(ii)计数器时钟及其分布式驱动器消耗了大量的硅面积,(iii)为了在一个行时间内读出像素阵列的一行的两组N位数据、复位和信号,读出速度必须加倍,这进一步增加功率消耗,以及(iv)需要减法单元以及格雷码到二进制转换器以重构最终信号,因此所需的硅面积和功率消耗进一步增加。
图20说明具有向上和向下计数的第一常规计数器配置。异步计数器用作用于在CMOS图像传感器中使用的常规单斜率ADC的中央单元。传统的异步计数器使用如图20所示的多个T触发器级的级联配置。如图20中说明,每一T触发器是使用QB连接到D输入的D触发器来实施。级输出在其遇见来自前一级的输出信号的负(或正)边缘时双态触发。沿着计数器级总是存在除以二运算,使得可执行计数操作。计数器可分别在QB或Q连接到其随后的连续级时钟输入的情况下执行向上或向下计数。此外,清除信号连接到计数器中的每一D触发器以将D触发器输出同时复位到零。
图21说明第二常规计数器配置。在此计数器配置中,在级之间添加由开关信号(SW)控制的开关以在计数模式与反转模式之间切换计数器。在计数模式中,开关将B信号连接到第一级触发器且将Q信号输出连接到下一级触发器。在反转模式中,计数器级的所有输出被反转。所述反转是通过切断级之间的连接且连接来自全局控制信号(I)的时钟输入而获得。当所有计数器级遇见控制信号的上升沿时,其输出全部同时从其原始值进行双态触发,从而使最终输出码成为其原始码的反转。然而,在无修改的情况下,此计数器无法用于CMOS图像传感器中,因为当在计数器模式与反转模式之间改变时,输出无法保持存储于其中的数据。图22说明展示在图21的第二常规计数器配置中出现的保持问题的时序图。当SW信号为高以选择反转模式时,计数器无法保持存储于其中的数据(即,6)。此问题限制了第二常规计数器配置在需要连续操作的许多系统中的应用。
图23说明第三常规计数器配置。此第三常规计数器配置解决了当在向上计数与向下计数之间改变计数器模式时出现的码保持问题。图24说明展示在图23的第三常规计数器配置中数据被破坏之后的数据恢复的时序图。第三常规计数器配置使用放置于用于每一级的上/下开关之后的2输入1输出MUX,且在前一开关输出与电力连接Vdd之间切换。此MUX的目的是恢复且校正由模式切换引起的误差。然而,此第三常规计数器配置不解决计数器的其它操作模式,例如乘法、除法和其它功能性。
因此,本发明的一些实施例实施使用算术计数器的新的列并行转换架构,所述算术计数器中可执行算术运算(即,加法、减法、乘法和除法)。
计数器电路
图25说明根据本发明的一个实施例的算术计数器的图。在此实施例中,使用多个J-K触发器和多个MUX。J-K触发器具有在双态触发与保持状态之间切换的能力。如以下真值表(表1)中所示,使用J-K触发器作为锁存器,可使用所有输入组合来获得例如保持、复位、设定和双态触发等功能。
表1:真值表
J-K触发器的逻辑表达式为:
Q(n)=J*QB(n-1)+KB*Q(n-1)
举例来说,当输入J=0且KB=1时,则J-K触发器将保持其前一数据:Q(n)=Q(n-1)。当输入J=1且KB=0时,则触发器将从其前一状态双态触发:Q(n)=QB(n-1)。
J-K触发器用作图25中说明的实施例中的算术计数器的基本建立单位。作为实例且为了简单,在此实施例中使用四位计数器单元。应了解,可使用其它大小的计数器单元。
与如图20中说明的第一常规计数器相比,在此实施例中,在每一计数器级中添加三个数字多路复用器(MUX)。这些MUX用以控制连接性且因此实现算术计数器的不同功能。使用四个控制信号(即,双态触发、保持、shift_en、模式)来控制哪些输入连接到三个数字MUX中的输出。在此实施例中,双态触发和保持信号可为两个互补信号,且在时序控制图中可类似于一者来处理。MUX可使用传输门或AOI(Z=A*X+B*Y)门配置来实施。Count_clk信号提供时钟信号。可不同于count_clk的shift_clk信号在用于移位或反转模式中时也可用以提供单独的时钟控制。Comp_in信号是来自比较器的输出。Din信号是在移位模式期间对第一级的数字输入。
在一些实施例中,图25的计数器可经配置到三种不同模式中:计数器模式、反转模式和移位模式。图26说明根据本发明的一个实施例的在计数器模式中的算术计数器的图。在图26中,用两开关符号代替数字MUX以清楚地演示连接性。当模式=0、shift_en=0且双态触发=1时设定计数器模式。在此配置中,J连接到“1”,KB连接到“0”,使得使用以上J-K触发器的逻辑表达式,则Q(n)=QB(n-1)。因此,获得双态触发配置。另外,每一级的时钟输入是从前一级QB输出获得。参见图26,计数器配置设定于向上计数模式中,但通过将Q连接到下一级的时钟输入,其可设定于向下计数模式中。在新计数操作开始之前,清除信号将复位所有计数器级的输出。
图27说明根据本发明的一个实施例的在反转模式中的算术计数器的图。反转模式用以将所有级的输出从其原始值反转。当模式=0、shift_en=1且双态触发=1时,设定反转模式中的算术计数器。在此配置中,类似于计数器模式,每一触发器级处于双态触发配置。然而,每一级的时钟输入连接到共同shift_clk信号。在连续级之间没有连接,使得对于shift_clk信号的每一负边缘,每一触发器级将其输出双态触发一次,从而导致最终输出码的反转操作。
图28说明根据本发明的一个实施例的在移位模式中的算术计数器的图。当模式=1且shift_en=1时设定移位模式中的算术计数器。在此配置中,J和KB连接在一起且在Q处接收来自前一级的数据输出。因此,在此实施例中,J=KB=D,使得使用以上J-K触发器的逻辑表达式,则Q(n)=D。因此,在数据输入连接到前一级输出的情况下获得D触发器配置。类似于反转模式,每一级的时钟输入连接到共同shift_clk信号。在图28中,Din连接到第一级数据输入。如图28中说明,获得移位寄存器配置,其中对于shift_clk的每一负边缘,每一级的输出移位到其接续的级。
图29说明根据本发明的一个实施例的在保持模式中的算术计数器的图。无论时钟的输入如何,当模式=0且双态触发=0时,获得保持模式中的算术计数器。在此配置中,J=0且KB=1,使得使用以上J-K触发器的逻辑表达式,则Q(n)=Q(n-1)。这允许将触发器设定于保持配置中。在不具有或具有在时钟输入处所见的负边缘的情况下,在保持模式中的算术计数器将保持此数据直到保持模式被消除或接收到计数器复位为止。
算术运算
使用上文描述的计数器的操作模式,因此可使用此算术计数器执行所有算术运算。举例来说,使用加法运算以在计数器模式中将两个脉冲串相加在一起。通过在下一脉冲串发生时不复位计数器级,两个脉冲串在最终计数器输出处相加。因此,执行A+B运算。图30说明根据本发明的一个实施例的加法运算的时序图。如图30所示,作为实例,执行6+6=12的加法运算。
减法运算是从第一脉冲串减去第二脉冲串的计数器值。减法运算需要两个反转运算和计数器运算。举例来说,将第一脉冲串计数为A,且执行反转运算以反转所有计数器输出以获得(2n–1–A),其中n是计数器级的数目。接着,在其间无复位的情况下对第二脉冲串进行计数,从而给出(2n–1–A+B)的输出。最终,执行另一反转运算且最终输出因此变为(A-B)。与图20中说明的常规计数器相比,每当shift_en信号改变其状态时便使用计数器保持模式来保持来自前一运算的结果。图31说明根据本发明的一个实施例的减法运算的时序图。如图31所示,在shift_en信号的边缘期间,双态触发信号总是为低,以将计数器设定于保持模式中。这防止了模式转变期间的不希望的状态改变。在图31所示的实例中,脉冲串A等于8个时钟脉冲,脉冲串B等于5个时钟脉冲。在两次反转之后,最终输出为减法结果(即,8-5=3)。
所提出的算术计数器还支持乘法运算,包含2、4、8等等整数值乘法。乘以2的乘法运算(“2x乘法”)是通过将计数器数据从低最低有效位(LSB)级移位到高LSB级来执行。比最高有效位(MSB)数据高的位将被丢弃,且从Din输入将数据插入到计数器级0。在一个实施例中,“0”用作Din,且在shift_clk的负边缘处执行2x乘法运算。因此,以一个shift_clk脉冲执行2x乘法。此外,如图31中说明,可以两个shift_clk脉冲获得乘以4的乘法运算(“4x乘法”),且可以三个shift_clk脉冲获得乘以8的乘法运算(“8x乘法”),等等。如减法运算中,当在计数器模式与移位模式之间切换时使用计数器保持模式,以便保持来自前一运算的数据。图32说明根据本发明的一个实施例的乘法运算的时序图。具体来说,图32说明2x乘法的时序图。如图32中说明,在shift_en信号的边缘期间,双态触发总是为低。另外,在模式信号与shift_en信号之间需要重叠时序t1,以确保在模式转变期间计数器设定于保持模式中。作为图32所示的实例,算术计数器将6乘以2,且最终输出为12。此外,为了执行4x乘法运算,可使用两个移位时钟脉冲且此两者可由shift_en信号包含。
除法运算也可使用移位功能来执行。由于在移位寄存器配置中,数据无法向后移入,因此最后一级的输出连接回到第一级Din,如图28中所示。因此,可使用单个shift_clk脉冲且丢弃最后一级的输出来执行除以2运算。此外,在n为计数器级的数目的情况下,除以2i可使用n-i个shift_clk脉冲且丢弃最后i个级的输出(用“0”代替)来执行。图33说明根据本发明的一个实施例的除法运算的时序图。具体来说,图33中展示除以4运算的时序,其中在两个shift_clk脉冲且丢弃最后两个位之后,算术计数器执行除以4运算(例如,8/4=2)。
根据本发明的一些实施例的算术计数器还可执行运算的组合。实现运算的组合要求基于基本算术运算中的每一者的时序以正确顺序级联所述运算中的每一者。举例来说,如果希望计算2*(A+B)-4*(C+2D),那么可将运算的正确序列重新布置为2*(-2*(2*D+C)+A+B)。根据一些实施例,基本规则是将乘数提取到前部且将加法移动到末尾。以此方式,可执行算术运算的所有组合。
CMOS图像传感器中的配置和应用
返回参见图10,说明根据本发明的一个实施例的耦合到用于高性能CMOS图像传感器的列并行ADC架构的像素电路的图1000。在此实施例中,列并行ADC 1002是单斜率计数器型ADC架构,其可包含图25的算术计数器作为计数器1005。包含算术计数器的此单斜率计数器型ADC可建立到CMOS图像传感器中以实现高性能和增加的功能性。
与图18和图19中的常规配置相比,具有闭环和自动归零配置的放大电路1003可用以提供预增益以用于图10中的低噪声目的。根据其它实施例,可排除列放大电路1003以节省功率和列高度。
放大电路1003和比较器1004上的自动归零操作存储放大电路1003和比较器1004的偏移以及像素的黑色电平以用于稍后的消除。需要其自动归零上的适当时序顺序来确保不会从切换操作引入电荷注入误差。
如图10中所示,图25的算术计数器1005包含于比较器1004输出之后。与图18和图19中的常规配置相比,仅需要一个时钟信号count_clk,这节省了布线空间且减少了噪声耦合问题。
图34说明根据本发明的一个实施例的具有向上计数的数字相关双取样(CDS)的时序图。为了消除来自先前级的所有偏移以及消除比较器的延迟误差,执行数字CDS操作。在本发明的一些实施例中,将数字CDS建立到算术计数器中。在一些实施例中,为了执行数字CDS,利用算术计数器的减法运算。
图34中展示用于具有向上计数的数字CDS的控制时序和所得信号。首先,像素复位的下降沿、用于列放大电路1003的复位信号(colamp_rst)的时序以及用于比较器1004的复位信号(comp_rst)的时序是重叠的,colamp_rst包含像素复位,且comp_rst包含colamp_rst。如图34中说明,时间t1和t2分别确保列放大电路1003和比较器1004的稳定。这些时间进一步确保由先前级自动归零阶段引起的改变注入干扰不会输入到下一级中。当读出复位和信号电平时,信号在放大电路1003的输出(colamp_out节点)处增加其值。因此,上行斜坡对于比较操作是优选的。在比较器级之后,将复位电平和信号电平转换为两个脉冲,其中其脉冲宽度表示信号电平的强度。在以count_clk选通之后,信号转换为两个脉冲串,一个表示信号电平且一个表示复位电平。
通过在两个脉冲串之间执行减法运算来获得数字CDS。为了在CDS之后获得正数(例如,信号电平高于或不小于复位电平),反转序列时序需要谨慎地放置于(i)复位阶段之前以及(ii)复位阶段与信号阶段之间,如图34中所示。
可使用以下等式集合来证实CDS操作的有效性:
时序 |
Dout |
t4处(第一反转) |
Dout=2n-1-Doffset |
t6处 |
Dout=2n-1-Doffset+Drst |
t7处(第二反转) |
Dout=2n-1-(2n-1-Doffset+Drst)=Doffset-Drst |
t9处 |
Dout=Doffset-Drst+Dsig=(Dsig-Drst)+Doffset |
Doffset是插入在计数器复位之后的数字偏移。Doffset添加数据基底以防止输出溢出。此数字偏移可在传感器的背光补偿(BLC)操作之后消除,使得最终输出为Dsig–Drst,其为用于CDS的正确等式。
以上时序和推导是基于向上计数配置。当计数器设定于向下计数配置中时,时序在两个反转操作的顺序方面不同。图35说明根据本发明的一个实施例的具有向下计数的数字CDS的时序图。如图35中所示,一个反转操作发生在复位阶段之后。另一反转操作发生在信号阶段之后。可使用以下等式集合来证实图35中说明的CDS操作的有效性:
时序 |
Dout |
t5处 |
Dout=Doffset-Drst |
t6处(第一反转) |
Dout=2n-1-Doffset+Drst |
t8处 |
Dout=2n-1-Doffset+Drst-Dsig |
t9处(第二反转) |
Dout=2n-1-(2n-1-Doffset+Drst-Dsig)=(Dsig-Drst)+Doffset |
如上所示,最终输出与向上计数情况中的形式相同。因此,证实了针对向上计数和向下计数实施例两者在此计数器级处执行数字CDS。由于先前级(即,像素、列放大和比较器)的偏移以及比较器延迟误差全部包含在Dsig和Drst两者中,因此偏移可在执行减法之后全部消除,这得到输出处的极低噪声。
图36说明根据本发明的一个实施例的行求和的时序图。行求和操作执行两行的像素输出的和以增加SNR和敏感性。行求和操作可通过使用算术计数器执行加法运算来实现。在图36中,行n和行n+2是两个相邻的相同色彩像素行。在所述两行(例如,n和n+2)的时序之间不存在计数器复位,以确保计数器连续对来自第二行的输出进行计数,使得其可相加到第一行。如图36中所示,最终输出是所述两行的像素输出的和。虽然论述两行的行求和,但也可执行两个以上行的行求和。
HDR区间是传统行区间的功能的扩展,其并入了上文在图8到11中论述的HDR算法。在图11中说明的方法中,乘以2、4或8的乘法运算可使用图25中说明的算术计数器来实施,且可使用保持操作来确保前一行的数据在下一行读入之后将被维持。在其它实施例中,可将算术计数器扩展到其中需要算术运算或许多算术运算的组合的其它应用中。
对算术计数器的改善
可改善计数器性能的算术计数器的其它实施例是(1)可编程计数器初始值,(2)锁存器型第一计数器级,以及(3)真实互补译码操作。
在图25中说明的实施例中,将用于计数器级的复位或设定控制建立到计数器电路中,且用以设定初始值或数字偏移,以便防止数据溢出。然而,初始值在其在设计阶段经编程之后便无法改变。
图37说明根据本发明的一个实施例的具有可编程初始值的算术计数器级的图。例如为了计数器测试目的,可能需要对计数器初始值进行编程的灵活性。在图37中,通过使用移位模式将初始值写入到触发器中。在图37中说明的实施例中,添加额外的MUX以在初始数据或来自前一计数器级的输出之间切换。输入DI和DIB连接到前一级的Q和QB。D0用于每一级的初始值输入。由于使用算术计数器的移位模式来写入初始值,因此初始化时序几乎与图32中的移位模式相同,不同的是初始启用(init_en)信号在移位操作期间为高。虽然添加额外的数字MUX,其可能需要再四个晶体管,但可在J-K触发器中的复位或设定功能被移除之后补偿所述额外的MUX。因此,总体上在门数量上没有增加。
图38说明根据本发明的一个实施例的锁存器型第一级示意图的图。在图38中,J-K触发器由选通锁存器代替。此实施例允许将计数器时钟用作最终输出的LSB。因此,使用锁存器而不是J-K触发器来存储数据,这可加倍数据频率。在此实施例中,锁存器单元仅在选通信号为高时锁存来自输入的数据。类似于其它级,将移位功能以及用于初始化功能的移位建立到第一级中。反转操作的添加需要额外的锁存器,其将在反转启用(inv_en)信号为高时输出其先前状态的反转码。inv_en信号可从模式信号和移位启用(shift_en)信号推导。
在计数器模式中,count_clk信号连接到锁存器的数据输入,且comp_in连接到锁存器的选通输入,以确保计数器时钟与comp_in信号的对准。图39说明根据本发明的一个实施例的具有锁存器型第一级的计数器的时序图。如图39中所示,数据速率增加2倍,其为与计数器时钟相同的频率。
然而,在向上计数情况下,count_clk恰在对信号电平进行计数的开始点处总是为“0”,这可能取决于关于复位电平的先前计数结果而造成一位误差。举例来说,如果在对复位电平进行计数之后LSB为“1”,那么当开始信号计数时,计数器过程将遇见比在复位电平之后LSB等于“0”的情况多一个(在此情况下,负)边缘,这在输出处产生一个LSB误差。为了避免这种情况,可如图40中说明修改第一级锁存器。
图40说明根据本发明的一个实施例的具有LSB补偿的经修改锁存器型第一级的图。在此修改中,使用与图39的先前配置中相同的锁存器以记住来自前一计数结果的LSB。取决于“1”或“0”状态,输入count_clk分别将被反转或将不被反转,以补偿上文论述的一个LSB误差。举例来说,如果在对复位电平进行计数之后LSB为“1”,那么计数器时钟将被反转,使得当信号电平计数开始时,计数器过程将遇见少一个负边缘。
图41说明根据本发明的一个实施例的具有真实互补译码的经修改锁存器型第一级的图。对码的反转操作在用于较复杂的操作中时可能具有一些限制。在反转操作之后添加的项2n-1可引起乘法运算的问题。因此,可需要真实互补译码而不是反转译码。
为了实现互补译码,需要添加到图40中的实施例的第一级的修改。图41中展示此修改。具体来说,在此实施例中,颠倒MUX的输入连接(在图41中圈出)。因此,对于“0”或“1”两种情况,下一计数过程将遇见多一个负边缘。因此,2n-1等式中的减1项(即,-1)被补偿,这得到真实互补译码。
在一些实施例中,如果在设计中仅需要加法和减法运算,那么可简化算术计数器级以减少所需的硅面积。图42说明根据本发明的一个实施例的经简化计数器级的图。在图42中所示的一个计数器级的经简化版本中,移除了移位和初始化功能。此外,J-K触发器的复位或设定功能可通过将双态触发和保持信号设定到如以上真值表(表1)中所示的特定值来实现。因此,J-K触发器内的复位/设定电路也可减少。然而应注意,经简化计数器级的此实施例可能损失计数器初始值的可编程性。
在计算机软件和硬件方面描述以上阐释的过程。所描述的技术可构成体现于机器(例如,计算机)可读存储媒体内的机器可执行指令,所述指令当由机器执行时将致使所述机器执行所描述的操作。另外,所述过程可体现于硬件内,例如专用集成电路(“ASIC”)或类似物。
机器可读存储媒体包含以可由机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一组一个或一个以上处理器的任一装置等等)存取的形式提供(即,存储)信息的任何机制。举例来说,机器可读存储媒体包含可记录/不可记录媒体(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒体、光学存储媒体、快闪存储器装置等等)。
本发明的所说明实施例的以上描述,包含在摘要中描述的内容,既定不是详尽的或将本发明限于所揭示的精确形式。虽然本文为了说明性目的而描述本发明的特定实施例和实例,但如所属领域的技术人员将认识到,在本发明的范围内,各种修改是可能的。
可鉴于以上详细描述而对本发明做出这些修改。在所附权利要求书中使用的术语不应解释为将本发明限于说明书中揭示的特定实施例。而是,本发明的范围完全由所附权利要求书确定,权利要求书应根据权利要求解释的所确立原则来解释。