1. 黑电平校正基础:什么是黑电平

各位同学,咱们今天聊聊黑电平校正。这玩意儿听起来挺基础,但说实话,我在项目里见过太多因为黑电平没处理好导致图像翻车的案例。你想想看,一张照片暗部发紫、发绿,或者整体灰蒙蒙的,十有八九是黑电平出了问题。

黑电平是什么?说白了,就是传感器在完全没有光线照射时,理论上应该输出纯黑(像素值0),但实际上它输出的那个数值。这个数值不是0,而是一个正数,比如64、128,甚至更高。我习惯把它叫做「暗场基准值」。

核心定义:黑电平(Black Level)是指图像传感器在零光照条件下,像素输出的数字信号值。理想情况为0,实际通常为正值。

黑电平产生的原因

为什么会这样?传感器又不是故意要「造假」。这里有两个罪魁祸首:暗电流和ADC偏移。

1. 暗电流(Dark Current)

暗电流是半导体器件的天性。即使没有光,硅基材料中的电子也会因为热激发而产生电子-空穴对。温度每升高6-8°C,暗电流就翻一倍。我在做车载摄像头项目时,夏天车内温度能到80°C,暗电流飙得吓人,黑电平直接翻了两倍多。

  • 热激发:温度越高,暗电流越大
  • 工艺差异:不同晶圆批次,暗电流不一致
  • 像素位置:传感器边缘和中心,暗电流也有差异

2. ADC偏移(ADC Offset)

模数转换器(ADC)把模拟电压转成数字码值时,本身就有个偏移量。这个偏移可能是设计上故意加的——为了防止噪声导致负值被截断。也可能是硬件本身的直流偏置。

我记得有一次调试一款全局快门传感器,ADC偏移量在不同增益下变化很大。低增益时偏移30个LSB,高增益时偏移能到80个LSB。如果不做逐增益校正,图像暗部就会跟着增益一起「漂移」。

产生原因 物理本质 典型范围 温度敏感性
暗电流 热激发电子 10-200 e-/s 高(每6-8°C翻倍)
ADC偏移 电路直流偏置 10-100 LSB 低-中
像素复位噪声 KTC噪声残留 5-30 LSB 低

黑电平对图像质量的影响

黑电平不准,图像质量会出哪些问题?我列几个常见的,你看看有没有遇到过。

1. 暗部偏色

这是最明显的。黑电平在R、G、B三个通道上如果不一致,暗部就会偏色。比如黑电平在R通道偏高,暗部就偏红。我在做手机摄像头调试时,客户反馈夜景照片暗部发紫,查了半天,就是B通道黑电平比R/G低了几个LSB。

2. 动态范围损失

黑电平抬高了,相当于把整个信号往上平移。原本0-1023的ADC范围,现在变成了64-1023。动态范围硬生生被吃掉了一截。你想想看,本来能拍10档光圈的,现在只剩9.5档了。

3. 信噪比下降

暗电流本身带有散粒噪声。黑电平越高,带入的噪声就越大。尤其是在低光照条件下,暗电流噪声会淹没微弱的信号细节。

避坑指南:我曾经在一个项目中,为了省成本用了低规格的传感器,暗电流噪声大得离谱。黑电平校正后,暗部仍然有明显的「热像素」闪烁。后来不得不加了一帧暗场校准,才勉强压住。选传感器时,暗电流指标一定要看仔细。

黑电平校正的基本思路

校正黑电平,核心就是找到准确的暗场基准值,然后从每个像素中减去它。但这里有个坑——你不能简单粗暴地减一个固定值。

  1. 逐行校正:不同行的暗电流可能不同,需要逐行统计
  2. 逐增益校正:不同模拟增益下,ADC偏移会变
  3. 温度补偿:温度变化时,暗电流会漂移

下面这张图,是我整理的黑电平校正知识体系,你看看能不能帮你理清思路。

黑电平校正知识体系 黑电平校正 产生原因 暗电流(热激发) ADC偏移(电路偏置) 像素复位噪声 图像质量影响 暗部偏色 动态范围损失 信噪比下降 校正策略:逐行 + 逐增益 + 温度补偿

个人经验:我建议你在做黑电平校正时,先采集一帧全黑图像(盖上镜头盖),统计每行的中值或均值。然后把这个值作为初始黑电平。但别直接用——要结合温度传感器做动态补偿。我习惯在ISP的OTP里存一组温度-黑电平映射表,运行时查表插值。