3. 黑电平校正(BLC)
黑电平校正(Black Level Correction, BLC)是ISP Pipeline中最早期的模块之一,其核心任务是消除传感器在无光照条件下产生的固定模式暗电流偏移,确保图像的黑场基准为0。若BLC参数配置不当,图像会出现偏色、对比度下降或暗部细节丢失等问题。
3.1 黑电平产生原理
图像传感器(CMOS/CCD)的每个像素在无光照时仍会输出一个非零电压信号,该信号主要由以下因素引起:
- 暗电流(Dark Current):半导体热激发产生的电子-空穴对,随温度升高呈指数增长。
- 像素复位噪声:像素复位操作引入的固定偏移。
- 读出电路偏移:列放大器、ADC等模拟前端电路的直流偏置。
黑电平通常以数字码值(DN, Digital Number)表示。例如,一个10-bit RAW传感器的理想黑电平为0,但实际输出可能在64~128 DN之间。BLC模块通过减去一个全局或局部偏移量,将暗场像素值归零。
关键概念:黑电平与暗电流不同。黑电平是传感器在完全遮光条件下的平均输出值,而暗电流是随时间累积的电荷。BLC校正的是静态偏移,而非动态噪声。
3.2 BLC参数配置
瑞芯微RK平台ISP的BLC模块通常提供以下可配置参数,这些参数存储在IQ XML文件中:
| 参数名称 | 数据类型 | 说明 | 典型值范围 |
|---|---|---|---|
blc_r |
uint16 | R通道黑电平偏移量 | 0 ~ 4095 (12-bit) |
blc_gr |
uint16 | Gr通道黑电平偏移量 | 0 ~ 4095 |
blc_gb |
uint16 | Gb通道黑电平偏移量 | 0 ~ 4095 |
blc_b |
uint16 | B通道黑电平偏移量 | 0 ~ 4095 |
blc_ob_enable |
bool | 光学黑区(OB)自动校准使能 | 0 / 1 |
blc_ob_rows |
uint8 | OB区域行数(用于动态计算黑电平) | 2 ~ 16 |
配置要点:
- BLC参数需按Bayer通道独立配置,因为不同通道的暗电流响应存在差异。
- 若启用OB自动校准(
blc_ob_enable = 1),ISP会从传感器光学黑区实时提取黑电平值,适应温度变化。 - 手动配置时,建议在完全遮光环境下拍摄多帧RAW图,取各通道平均值作为初始值。
3.3 校正效果评估
BLC校正效果可通过以下指标和工具进行评估:
- 暗场均值(Dark Mean):校正后暗场图像各通道均值应趋近于0(或目标值)。
- 暗场标准差(Dark Std):反映校正后残留噪声水平,越小越好。
- Bayer通道一致性:R/Gr/Gb/B四个通道的暗场均值差异应小于1 DN。
- 直方图检查:校正后暗场直方图应集中在0附近,无截断或偏移。
| 评估项目 | 合格标准 | 测试方法 |
|---|---|---|
| 暗场均值 | 各通道 ≤ ±1 DN | 镜头盖遮挡,拍摄100帧RAW取平均 |
| 通道间差异 | max - min ≤ 2 DN | 比较R/Gr/Gb/B四通道均值 |
| 温度稳定性 | 温度变化20°C时偏移 ≤ 3 DN | 高低温箱测试 |
| 线性度 | 不同增益下黑电平偏移 ≤ 1 DN | 改变模拟增益,检查暗场均值变化 |