图像传感器与ISP流水线:从光子到数字图像
各位同学,欢迎来到第二章。上一章我们聊了AWB和AE联动调优的整体思路,今天得先把底层的硬件基础讲清楚——图像传感器和ISP流水线。
说白了,你调的白平衡和曝光,最终都是作用在传感器采集到的原始数据上。不了解传感器怎么工作、ISP各模块在干什么,你调参就是瞎调。我见过太多工程师拿着AE/AWB的代码改来改去,效果就是上不去,最后发现是传感器配置阶段就出了问题。
2.1 从光子到数字信号:传感器的工作原理
图像传感器的核心任务,就是把光子转换成电子,再量化成数字值。这个过程大致分三步:
- 光电转换:每个像素上的感光二极管吸收光子,产生光生电子。
- 电荷积累:曝光时间内,电子不断积累在像素的浮置扩散区。
- 量化输出:通过ADC(模数转换器)把电压值变成数字码值。
嗯,这里有个关键概念——满阱容量。每个像素能装多少电子是有限的,装满了就饱和了。我在项目中遇到过一款传感器,满阱容量只有8000个电子,拍高亮场景时一片死白,怎么压曝光都没用。后来换了满阱容量更大的传感器,问题才解决。
核心指标速查表
| 参数 | 含义 | 对AWB/AE的影响 |
|---|---|---|
| 满阱容量 | 像素能容纳的最大电子数 | 决定高光溢出阈值,AE需避免饱和 |
| 量子效率 | 光子转电子的效率 | 影响低光信噪比,AE需补偿增益 |
| 暗电流 | 无光照时产生的噪声电子 | 影响暗区色偏,AWB需做暗电流校正 |
| ADC位深 | 量化后的比特数(如10bit/12bit) | 决定动态范围,AWB精度受限于量化步长 |
你想想看,如果ADC位深只有8bit,那R/G/B三个通道各自只有256个灰度级。做白平衡时,增益系数乘上去,量化误差就会被放大。所以我个人习惯,做AWB调优前,先确认传感器输出的是12bit还是14bit数据——位深不够,后面怎么调都白搭。
2.2 ISP流水线概览:各模块在干什么
传感器输出的原始数据叫RAW图,它还不是我们能看的图像。ISP(图像信号处理器)就是一条流水线,把RAW图一步步加工成漂亮的RGB或YUV图像。
典型的ISP流水线长这样:
RAW输入 → 黑电平校正 → 镜头阴影校正 → 坏点校正 →
去马赛克 → 白平衡增益 → 颜色校正矩阵 → Gamma校正 →
色调映射 → 锐化 → 降噪 → YUV输出
每个模块都有它的使命。我挑几个跟AWB/AE关系最密切的说说:
- 黑电平校正:去掉传感器本身的暗电流偏置。不校正的话,暗区会偏色,AWB算出来的色温就不准。
- 镜头阴影校正:补偿镜头边缘亮度衰减。AE如果只看中心区域,边缘暗了它也不知道。
- 白平衡增益:这就是AWB的核心执行模块。对R、G、B三个通道分别乘上增益系数,让中性色变成灰色。
- 颜色校正矩阵:把传感器光谱响应映射到标准色空间。AWB调完色温,CCM负责把颜色调准。
- Gamma校正:调整亮度响应曲线。AE的目标亮度值,最终要经过Gamma才能映射到输出码值。
我的经验:很多新手以为AWB只跟白平衡增益模块有关。其实黑电平校正和镜头阴影校正没做好,AWB算出来的增益系数就是错的。我曾经在一个项目里,AWB怎么调都偏蓝,查了两天才发现是黑电平校正参数没烧录对。
2.3 AWB与AE在ISP中的位置
现在我们把AWB和AE放到整个ISP流水线里,看看它们到底在哪个环节起作用。
先看一张我画的流程图:
从这张图你能看到几个关键信息:
- AE在预处理之后、去马赛克之前做统计。为什么?因为AE只需要亮度信息,不需要颜色。在RAW域直接算亮度,省掉去马赛克的计算量。
- AWB在去马赛克之后、CCM之前做统计。因为AWB需要知道每个像素的颜色信息,去马赛克之后才有完整的RGB值。
- 两者都有反馈回路。AE反馈回去调曝光时间和增益,AWB反馈回去调R/G/B增益系数。这就是联动的物理基础。
避坑指南:我曾经在一个项目里,AE和AWB的统计窗口没有对齐。AE统计的是画面中心区域,AWB统计的是全画面。结果AE觉得亮度够了,AWB却因为边缘偏色算错了色温。最后画面又暗又偏。所以,联动调优的第一步——确保AE和AWB的统计区域一致。
2.4 为什么AWB和AE必须联动
现在你应该明白了,AWB和AE在ISP流水线里虽然位置不同,但它们共享同一个输入——传感器RAW数据。而且,它们的调整会互相影响:
| 调整动作 | 对AE的影响 | 对AWB的影响 |
|---|---|---|
| 增加曝光时间 | 亮度提升,信噪比提升 | 可能引入运动模糊,色温估计偏差 |
| 提高模拟增益 | 亮度提升,噪声放大 | 噪声导致色温估计抖动 |
| 调整R增益 | R通道变亮,整体亮度微变 | 色温校正,但可能触发AE重新统计 |
| 调整B增益 | B通道变亮,整体亮度微变 | 色温校正,同样可能触发AE |
说白了,你动AE的参数,AWB的统计结果会变;你动AWB的增益,AE的亮度统计也会受影响。这就是为什么不能各自为政,必须联动调优。
本章小结
- 传感器把光子转成电子,再量化成数字值。满阱容量、量子效率、ADC位深是核心参数。
- ISP流水线从RAW到YUV,每个模块都有特定任务。黑电平校正和镜头阴影校正是AWB的前置条件。
- AE在预处理后、去马赛克前做统计;AWB在去马赛克后、CCM前做统计。两者位置不同,但必须联动。
- 联动调优的第一步:对齐统计区域,理解参数互相影响的机制。