像点记录光信号以及信号读出的原理和计算机内存的工作原理非常相似。sensor 会使用一个行选信号(Row Select)和一个列选信号(Column Select)来选中一个存储单元(Pixel),被选中的存储单元与输出放大器联通,将其存储的电荷数转换成电压值输出到阵列外部。下图说明了这个过程。


0cb4f811df15369b9a7f706a2aa06841.jpeg


像素读出的基本过程是

  1. 每个像素内置一个电荷/电压放大器(Charge/Voltage Converter, CVC),将像素势阱中电荷的数量转换成电压信号

  2. 读出逻辑选中某一行,该行所有像素的电荷/电压放大器的输出信号与列输出信号联通

  3. 读出逻辑继续选中某一列,该列信号与可编程输出放大器(Output Amplifier)联通,被选中的像素的电压信号被放大一定倍数

  4. 放大后的电压信号经ADC转换器后变成数字信号,在sensor 内部经过一定的ISP处理,最后通过一定的接口协议(如MIPI)输出到外部


000ab28a87c8ebfcc77fb83e9703fc56.png


1.6 卷帘曝光(rolling shutter)

CMOS sensor 的典型曝光方式称为卷帘曝光(rolling shutter),其曝光过程涉及两个控制信号,即

  • 一个reset 信号负责将某一行像素清零,使其从零开始积累电荷

  • 一个read 信号负责选择某一行,导致该行被读出

这两个信号的工作时序是reset 信号在先,read 信号在后,之间相差一个恒定的间隔,这个间隔在空间上看是两个信号前后相差固定的行数,在时间上看是一行像素被清零后,等待固定的时间后即被读出。

一行像素在遇到reset 信号之前处于“自由曝光”的状态,在遇到reset 之后开始“受控曝光”,在遇到read 信号之后又恢复到“自由曝光”状态,如下图所示。


1612c4baec7f85ac17a946c5a217baae.jpeg
读出机制 - rolloing shutter



下图显示了一个像素的曝光过程。

  1. 一个曝光过程从RESET开始,RESET信号保持一段时间后像素清零,恢复高电压

  2. 像素自由积分,时间取决于用户设置的曝光时间

  3. 像素采样,准备读出


87e7b62221134d4de31ba1fbc0e3b0c5.png



Rolling shutter 在空间和时间上的关系如下图所示。


160d04b09589338a9605920c42e16474.jpeg
9334ffd3a37d5a2526b957345b118a8b.png



显然,sensor read 信号与 reset 信号之间的时间间隔就是每个像素能够积累光信号的时间,也就是人们所熟知的“曝光时间(exposure time)”,在技术领域则更多会使用“积分时间(integration time)”这个术语,它一般是以行为单位的一个量,能够精确地反映像素曝光过程的物理本质和实现原理。

熟悉摄影的人都会知道,如果被拍摄的物体在相对摄像机运动,则需要使用比较短的曝光时间,否则画面就会出现运动模糊,这是因为在曝光过程中物体不断从一个像素位置转移到另一个像素位置,物体运动速度越快,运动模糊越严重,如下图所示。


85645765da914cf8270665d0bf154562.png



在下图的例子中,由于弹琴的手在不停地移动位置,所以在很多像素上都会留下一点曝光的痕迹,却没有任何一个像素上停留足够久的时间。


467250d87cfd060ddb21b9098e5bb1ad.png



以拍摄人物为例,当在画面中以正常速度步行时,如果曝光时间大于1/30秒(约30ms)则画面就开始出现运动模糊,下图给出了一组经验值,用于参考绝对曝光时间和运动模糊的关系。


19b978506b0e64c53132e0451b25caf8.png