CMOS图像传感器的Sensor Flicker问题
date
Apr 26, 2022
slug
2022-04-26-cmos-image-sensor-flicker
status
Published
tags
Image Sensor
硬件
type
Post
AI summary
summary
本文总结了在CMOS Image Sensor中比较常见的Sensor Flicker问题的成因及其解决方案。
CMOS Sensor因为使用Rolling Shutter的原因,所以各行曝光开始和结束的时间点不一样。这样在使用交流电工频电源供电或者LED频闪灯进行补光的情况下,就会出现比较明显的Sensor Flicker问题:
- 也就是说,在Sensor进行曝光的过程中,因此从上到下的每一行进行曝光的时间点不一致,而光源的亮度始终是在变化的(与中国国内工频50Hz来计算,交流电供电的光源强度始终以100Hz频率的半正弦波形的强度在变化),那么在光源强度达到波峰和波谷的时候,光源亮度最强,在相同曝光时间下这一行的亮度就最亮;而当光源强度在接近穿越零点的时候,光源强度最弱,在相同曝光时间下这一行的亮度就最暗。整幅图像的完整曝光效果就是如上图所示的亮暗强度不断交织变换的情况。
- 这个问题归根结底还是因为CMOS的Rolling Shutter导致的各行曝光时间的时间点不一致导致,如果是使用Global Shutter的话,因为整幅图像所有行的像素都是在同一时间开始曝光和结束曝光,那么整幅图像的曝光亮度是一致的,不会存在纵向的曝光亮暗强度不一致的问题。
- 但是如果在交流电或者频闪灯光源的情况下,即使使用Global Shutter,还存在另外一个问题,如果每次Global Shutter控制曝光时间的时间点在光源的强度变化曲线的位置上不一样的话,就会导致每一帧的图像曝光亮度有差异,最终的结果就是视频图像的亮度始终中闪烁。解决这个问题,就要求Global Shutter每次控制曝光的时间点要在光源的强度变化曲线的相同位置。
这一点是由CMOS的Rolling Shutter的工作原理上决定的。但是可以通过控制曝光时间来解决问题。
具体而言,就是确保曝光时间的长度是光源强度变化规律的整数倍,最小曝光时间就是光源强度的变化周期。这样可以确保无论每一行是在什么时间点开始与结束曝光的,整个曝光时间的时长都完整的覆盖了整数个光源强度变化周期,这样的情况下每一行的曝光亮度也就是一致的了。
- 对于50Hz工频交流电而言,应该设置曝光时间长度始终为10ms的整数倍,最小曝光时间10ms。
这一点限制对于HDR模式的图像也是如此。HDR模式的多次曝光中,曝光时间最短的那一帧的最小曝光时间必须是光源强度变化周期,而其他几帧的曝光时间也必须是光源强度变化周期整数倍。