通过imx415 datasheet学习sensor基础知识。
1. 相关概念
曝光、曝光时间、曝光增益、快门、帧率
- pclk:控制像素输出的时钟(单位MHz),即pixel采样时钟,一个clk采集一个像素点。表示每个单位时间(1s)内采集的pixel数量。
- H_Blank:Horizontal Blanking,行消隐或水平消隐,两行之间的间隔。
- V_Blank:Veritical Blanking,场消隐或垂直消隐,从上一帧到下一帧的间隔。
- dummy_line:虚拟行,用来填充VTS,在V_Blank中
- line_length:HTS行长,包含H_Blank和有效列
- frame_length: VTS帧长,包含dummy_line和有效行
- frame_offset:最小dummy_line行数,最大曝光行 = VTS - frame_offset
- line_time:曝光一行的时间
- exposure_time:曝光时间,指曝光一帧的时间,单位用秒、毫秒表示。
- integration_time:积分时间,也成为曝光行,指这一帧曝光了多少行。
- SHR0:shutter快门释放的时机,可以改变曝光时长
- readout time:数据读出时间,从传感器的寄存器中读出数据并传送出去(Readout过程)
- Frame Period:一帧图像的时间,Exposure Time < Frame Period <= Exposure Time +Readout Time
曝光
- 这里指行曝光
- sensor的输入时钟决定每个像素点的曝光时长
- sensor 水平像素点越多,HTS越大,曝光一行的时间line_time越大
- 一帧的曝光行数,也称为interation time积分时间,单位为行(H)
- exposure_time 是曝光一帧的时间 = line_time * interation time,单位为秒或毫秒
- 曝光亮度与积分时间有关,通常调整曝光指的就是调整积分时间
曝光时长
sensor初始化后,通常曝光时间就固定了,但实际应用中需要动态调整图像亮度,如何调整图像的亮度?有一个方法是调整快门时间(shutter)。
在imx415中,调整的是SHR0
SHR0是快门
帧率
fps = pclk/(VTS * HTS)
- 通常 HTS 不变,调整HTS比较麻烦
- VTS = frame + V_Blank(dummy_line)
- 调整V_Blank(即改变frame_offset)即可调整帧率
以上计算帧率的算法是不严谨的,没有计算Readout的时间。 不同的Readout模式,时间是不一样的,就不详细说明了。
2. 曝光/快门方式
- 行曝光、卷帘快门,是很常见的曝光方式
- 全局曝光、全局快门,在小分辨率下教常见,通常用于拍摄高速运动的物体,例如AR、VR上用的OVM6211、OVM7251