109、3A Lock 与场景保持:对焦锁定、曝光锁定在延时摄影与全景中的应用 109、3A Lock 与场景保持:对焦锁定、曝光锁定在延时摄影与全景中的应用一、一个让我熬夜三天的Bug去年夏天,我在调试某款旗舰机的延时摄影功能时,遇到了一个极其诡异的现象:用户拍摄日落延时,前30帧画面稳定,第31帧开始,画面突然“呼吸”了一下——亮度跳变,然后慢慢恢复。更离谱的是,这种跳变毫无规律,有时出现在第50帧,有时在第120帧。我最初怀疑是AE(自动曝光)收敛速度问题,调了PID参数,没用。怀疑是AWB(自动白平衡)漂移,锁了色温,还是跳。最后用log一帧一帧打,发现是AF(自动对焦)在作祟——镜头在某个瞬间突然重新对焦,导致进光量微变,AE被迫重新收敛,整个3A环路像多米诺骨牌一样崩了。这个问题的本质,就是3A Lock没有做好。延时摄影和全景,这两个场景对“场景保持”的要求极其苛刻,任何一帧的3A状态跳变,都会在最终成片中暴露为闪烁、色偏或模糊。二、3A Lock 到底锁什么?很多工程师以为3A Lock就是“把AE、AF、AWB的当前值冻住”。别这样写代码——这是典型的“静态锁定”思维,在延时摄影这种长时间序列中会死得很惨。真正的3A Lock,锁的是“状态机”而非“数值”。具体来说:AF Lock:锁的是对焦位置(lens position)和驱动方向。延时摄影中,场景可能缓慢变化(比如太阳下山导致对比度下降),如果只是锁住对焦位置,当场景对比度低于阈值时,AF算法会认为“