3. 黑电平校正(BLC)
3.1 BLC 原理与作用
黑电平校正(Black Level Correction, BLC)是 ISP 流水线中位于最前端的预处理模块之一。其核心目标是消除图像传感器在无光照条件下(即完全遮光时)输出的非零信号,确保“黑”在数字域中对应正确的码值(通常为 0 或一个固定偏移量)。
核心作用: 恢复暗部细节、消除偏色、为后续自动曝光(AE)和自动白平衡(AWB)提供准确的暗区基准。
理想 CMOS 传感器在无光时输出应为 0,但由于暗电流、像素复位噪声、ADC 偏移等物理因素,实际输出会叠加一个基底值。BLC 通过减去这个基底值,使图像暗部回归中性。
关键概念: 黑电平校正 ≠ 暗角校正。BLC 处理的是全图均匀的暗电流偏移,而暗角校正是针对镜头引起的边缘亮度衰减。
3.2 暗电流对图像的影响及补偿策略
暗电流(Dark Current)是半导体器件中由热激发产生的电子-空穴对,即使没有光照也会累积电荷。温度每升高 6-8°C,暗电流约翻倍。暗电流对图像的具体影响如下:
| 影响维度 | 表现 | 严重程度 |
|---|---|---|
| 亮度偏移 | 暗部区域整体抬升,黑色不纯 | 高 |
| 信噪比下降 | 暗电流散粒噪声叠加,暗部噪点增多 | 高 |
| 偏色 | 不同颜色通道暗电流不一致,暗部偏绿/偏紫 | 中 |
| 动态范围压缩 | 暗电流占用 ADC 码值范围,减少有效信号摆幅 | 中 |
实战注意: 在 RK 平台上,如果 BLC 参数设置不当(如补偿值过大),会导致暗部细节被“剪掉”,出现死黑区域;补偿值过小则暗部发灰、偏色。建议在 25°C 恒温环境下标定 BLC 基准值。
补偿策略:
- 帧级补偿: 每帧采集前,读取传感器 OB(Optical Black)像素行/列的平均值,实时减去该值。
- 温度查表补偿: 预先标定不同温度下的暗电流值,运行时根据传感器温度传感器读数查表调整。
- 通道独立补偿: R/Gr/Gb/B 四个通道分别计算 BLC 值,消除通道间暗电流差异导致的偏色。
3.3 RK 平台 BLC 参数配置方法
在瑞芯微 RK 平台(如 RK3588、RK3568)上,BLC 参数通过 IQ Tool 或 DTS 配置文件进行调节。核心参数位于 isp_modules 节点下的 blc 子节点。
关键参数表:
| 参数名 | 数据类型 | 说明 | 典型值范围 |
|---|---|---|---|
enable |
bool | BLC 模块使能 | 0 / 1 |
blc_r |
uint16 | R 通道黑电平偏移量 | 0 ~ 4095 (12bit) |
blc_gr |
uint16 | Gr 通道黑电平偏移量 | 0 ~ 4095 |
blc_gb |
uint16 | Gb 通道黑电平偏移量 | 0 ~ 4095 |
blc_b |
uint16 | B 通道黑电平偏移量 | 0 ~ 4095 |
ob_auto_en |
bool | OB 像素自动校正使能 | 0 / 1 |
配置建议: 在 IQ Tool 中,建议先关闭 OB 自动校正(
ob_auto_en = 0),手动填入标定值;待图像暗部中性后,再开启 OB 自动校正以应对温度漂移。
DTS 配置示例(RK3588):
isp_modules {
blc {
enable = <1>;
blc_r = <64>;
blc_gr = <60>;
blc_gb = <62>;
blc_b = <66>;
ob_auto_en = <1>;
ob_row_start = <0>;
ob_row_end = <3>;
};
};
标定步骤:
- 准备条件: 传感器完全遮光(镜头盖盖紧),环境温度稳定在 25°C ± 2°C。
- 采集 RAW 图: 使用 RK 提供的
rkisp_demo工具抓取一帧 RAW 数据。 - 计算均值: 分别统计 R/Gr/Gb/B 四个通道的像素均值。
- 填入参数: 将各通道均值作为
blc_*参数写入 DTS 或 IQ Tool。 - 验证: 再次抓取 RAW 图,确认各通道均值接近 0 或目标偏移值。
3.4 实战案例:暗部偏色问题排查
现象: 在低照度场景(0.1 lux)下,图像暗部区域明显偏紫红色。
排查步骤:
- 抓取全黑 RAW 图,分别统计 R/Gr/Gb/B 通道均值。
- 发现 R 通道均值为 96,B 通道均值为 88,Gr/Gb 均为 72。
- R 通道暗电流明显高于其他通道,导致暗部偏红/紫。
- 在 DTS 中将
blc_r从 64 调整为 96,blc_b从 66 调整为 88。 - 重新验证,暗部偏色消除。
经验总结: 暗部偏色 90% 以上由 BLC 通道间不匹配引起。在 RK 平台上,务必为 R/Gr/Gb/B 四个通道独立配置 BLC 值,不要使用统一值。
3.5 BLC 与后续模块的配合
BLC 校正后的数据质量直接影响后续模块:
| 后续模块 | BLC 影响 | 配合要点 |
|---|---|---|
| LSC(镜头阴影校正) | BLC 不准会导致 LSC 增益计算偏差 | 先 BLC 后 LSC,确保暗场基准正确 |
| AWB(自动白平衡) | 暗电流偏移会污染色温统计 | BLC 后的数据再送入 AWB 统计器 |
| AE(自动曝光) | 暗电流抬升亮度均值,导致 AE 欠曝 | AE 统计窗口应避开 OB 像素区域 |
| 去马赛克(Demosaic) | BLC 残留偏移会被插值放大为彩色条纹 | 确保 BLC 精度在 ±1 LSB 以内 |
RK 平台调试顺序: 建议按照 BLC → LSC → AWB/AE → Demosaic → 降噪 → 锐化的顺序逐步调优。BLC 是第一步,基础不牢,后续全白费。