Camera学习-调试篇-Banding&Flicker产生的原因

Index

  在某些场景下,使用者可以看到相机画面出现一条一条的滚动暗条纹,对比以下两张图片:

正常情况Banding情况

  我们把这种现象叫做Banding或者Flicker,为什么会产生这种现象呢?通常这种现象是CMOS Sensor曝光时间方面的因素引起的。

  • 从Camera方面来讲,CMOS Sensor是每行分别曝光的,不同行曝光的起始时间点并不相同;
  • 从光源方面来讲,以稳定的50Hz光源为例,能量积累的周期频率是100Hz,周期为T=1/100=10MS,所以在任意起始时间点,同样的N个T(N=1,2,3,4….),camera接收到的能量是一致的,这里N是正整数;如果N不是正整数,那么,在不同的起始时间,同样的N个T,camera接受到的能量就不一定完全一致;
  • 从现象来看,Sensor接受到的能量表现为亮度。Sensor的特征已经决定每行在不同的起始时间开始曝光,那我们就只能保证曝光时间是能量积累的整数倍了,如果没有满足这个条件,可能就会看到如上图所示的banding现象。

  交流电在中国为50HZ,欧洲为60HZ,因此日光灯等产生的光源也有一定的频率:

  • 50Hz光源,能量积累的周期是T=1/(50*2)=10ms
  • 60Hz光源,能量积累的周期是T=1/(60*2)=8.3ms

  这两个数值,我们也叫做Base Shutter。在对应的光源下,如果曝光时间小于Base Shutter,能量积累不一致就可能会出现Banding。目前并没有可以改善的方法。

  拍照时通过设置EV为负值,或设定固定High ISO,都可能造成曝光时间被人为的缩短,在正常亮度下就有更大的几率会引发Banding现象,上图中Banding图片就是通过设置ISO 1600在日光灯下拍摄的。