108、手机影像全链路调优:从sensor到显示的色彩与噪声控制
去年夏天,某旗舰机项目在暗光场景下翻车了——用户拍出来的夜景人像,皮肤像磨了砂纸,背景噪点却像星空。PM拿着竞品对比图拍在我桌上:“人家噪点比你少,色彩还比你准。”我盯着屏幕看了半小时,发现问题不在ISP,不在算法,甚至不在sensor本身——是整条链路里,每个模块都觉得自己“做得对”,但合在一起就拧巴了。
这种拧巴,是手机影像调优最真实的日常。今天这篇笔记,我就把从sensor raw数据到屏幕显示这条链路上,色彩与噪声控制的关键节点、踩过的坑、以及最终落地的方案,掰开揉碎讲清楚。
一、sensor端:噪声的源头,别指望后面擦屁股
很多团队喜欢在ISP里猛怼降噪,但sensor端出来的raw数据如果已经“脏”了,后面再怎么擦也是越擦越糊。我见过最典型的错误:为了压低读出噪声,把sensor的模拟增益调得极低,然后靠数字增益拉亮度。结果暗部噪声被放大得像雪花电视,数字增益每增加1dB,信噪比就掉一截。这里踩过坑——别这样写代码,sensor的模拟增益和数字增益之间有个黄金分割点,通常模拟增益控制在6dB到12dB之间,数字增益不超过3dB,才能保证读出噪声和量化噪声的平衡。
另一个容易被忽略的点:sensor的像素合并模式。四合一(binning)模式下,读出噪声会降低一半,但空间分辨率也砍了一半。在暗光场景,我倾向于用binning模式配合短曝光,而不是单像素模式配合长曝光——长曝光带来的热噪声积累,比binning模式下的分辨率损失更致命。实测数据:在5lux照度下,bin