关键词:
RK3568RKAIQISP21BLCBlack Level Correction黑电平校正IQ TuningGC2053
适用平台:RK3568 / RV1126 / RK3588(ISP21 框架通用)
作者笔记:本文基于gc2053_default_JX8006.json实战调试过程整理
📑 文章目录
- 前言
- 一、BLC 是什么
- 二、整体架构
- 三、
enable—— BLC 总开关 - 四、ISO 13 档控制轴
- 五、
R/Gr/Gb/B_Channel—— 四通道黑电平核心 - 六、当前 IQ 文件状态分析
- 七、实战调试场景
- 八、不同 Sensor 的典型 BLC 值
- 九、BLC 的 4 个铁律
- 十、BLC 与其他模块协同
- 十一、板端验证流程
- 十二、参数速查总表
- 总结
- 参考资料
前言
ablc_calib是 RKAIQ ISP21 框架中的:
BLC(Black Level Correction)黑电平校正模块
它是:
整个 ISP 流水线的第一站Sensor RAW 数据进入 ISP 后:
第一件事就是做 BLC一、BLC 是什么
BLC 的作用:
减去 Sensor 的“假亮度”为什么会有“假亮度”
即使:
镜头盖完全盖住Sensor 输出也不是:
0而是会有:
64 128 256 ...这种基底亮度。
原因
主要来自:
- 模拟电路热噪声
- ADC 偏置
- Sensor 黑电平设计
如果没有 BLC
会导致:
- 整张图发灰
- 黑色不纯
- AWB 计算错误
- CCM 色彩偏移
二、整体架构
ablc_calib ├── BlcTuningPara │ ├── enable │ └── BLC_Data │ ├── ISO │ ├── R_Channel │ ├── Gr_Channel │ ├── Gb_Channel │ └── B_Channel │ └── Blc1TuningPara ├── enable └── BLC_DataRK ISP 的两级 BLC
| 模块 | 作用 |
|---|---|
| BlcTuningPara | 主 BLC(入口) |
| Blc1TuningPara | 副 BLC(中段) |
实际项目里
通常:
只用主 BLC副 BLC:
默认关闭三、enable—— BLC 总开关
参数说明
| 值 | 含义 | 推荐 |
|---|---|---|
1 | 启用 BLC | ✅ |
0 | 关闭 BLC | ❌ |
推荐配置
"enable": 1为什么必须开
如果关闭:
黑电平不会被减掉结果:
画面整体发灰四、ISO 13 档控制轴
当前配置
"ISO": [ 50,100,200,400, 800,1600,3200, 10000,12800, 25600,51200, 102400,204800 ]含义
这是:
BLC 的控制轴ISP 会根据:
当前 ISO在这 13 档之间:
线性插值一般不需要改
除非:
- Sensor ISO 范围特殊
- 超高 ISO 专门标定
五、R/Gr/Gb/B_Channel—— 四通道黑电平核心
🔥 BLC 模块最核心部分
当前配置示
"R_Channel": [256,256.125,255.938,255.812,255.438,256,...] "Gr_Channel": [256,256.125,256.062,255.625,255.25,256,...] "Gb_Channel": [256,256.125,256,255.812,255.688,256,...] "B_Channel": [256,256.25,255.875,255.5,255.188,256,...]六、怎么理解这些值
例如:
ISO100 时: R_Channel = 256.125表示:
R 通道减去 256.125 LSB单位
范围:
0 ~ 4095即:
12-bit 域为什么是 256
因为:
GC2053 原始黑电平是 64RK ISP 内部:
统一转成 12-bit所以:
64 × 4 = 256七、为什么 4 个通道分开
Bayer 排列:
R Gr Gb BGr 与 Gb:
物理位置不同因此:
- 热噪声不同
- 串扰不同
- 电路布局不同
所以:
必须独立标定八、当前 IQ 文件状态分析
主 BLC 状态
| 字段 | 状态 | 说明 |
|---|---|---|
| enable | ✅ 1 | 已开启 |
| 四通道值 | ≈256 | 正常 |
| 高 ISO | 固定 256 | 未单独标定 |
当前通道差异(ISO100)
| 通道 | 当前值 |
|---|---|
| R | 256.125 |
| Gr | 256.125 |
| Gb | 256.125 |
| B | 256.25 |
当前状态评价
非常正常原因:
4 通道差异 < 0.5 LSB说明:
暗部不会明显偏色九、副 BLC(Blc1TuningPara)
当前:
"enable": 0一般不用
副 BLC 主要用于:
- HDR 合成
- LSC 后补偿
- 特殊 ISP 流程
普通 IPC:
保持关闭即可十、实战调试场景
10.1 黑场发灰 🌫️
现象
拍黑色物体:
RGB ≈ (15,15,15)而不是:
(0,0,0)原因
BLC 减得不够。
修改方法
例如:
256 → 260"R_Channel": [260,260,260,...]⚠️ 注意
优先检查:
Gamma 前几点因为:
90% 的“发灰” 其实是 Gamma 问题10.2 暗部偏紫/偏绿 🌈
原因
4 通道 BLC 不平衡。
诊断方法
盖镜头盖抓 RAW:
看 4 通道平均值示例
| 现象 | 解决方案 |
|---|---|
| 暗部发紫 | 增加 R_Channel |
| 暗部发绿 | 增加 Gr/Gb |
| 暗部发蓝 | 增加 B_Channel |
10.3 高 ISO 彩色噪点 🔵🔴
原因
高 ISO:
黑电平漂移但:
BLC 没做高 ISO 标定解决方案
针对高 ISO:
单独测量黑电平例如:
[256,256,256,257,258,260,265,270]10.4 换 Sensor 后颜色异常 ⚠️
原因
不同 Sensor:
黑电平不同解决方案
查看:
datasheet 中的 Black Level换算成:
12-bit ISP 值十一、不同 Sensor 的典型 BLC 值
| Sensor | 12-bit BLC |
|---|---|
| GC2053 | 256 |
| OV2718 | 256 |
| IMX291 | 240~260 |
| SC2335 | 256 |
| AR0231 | 168 |
| JX-SC8006 | 256 |
十二、BLC 的 4 个铁律
1. 没必要不要改
因为:
这是 Sensor 厂家标定值2. 必须用暗场图测
不要:
凭肉眼调3. 先检查 Gamma
因为:
暗部发灰 90% 是 Gamma4. 高温会漂移
高端方案:
会做动态 OB 校准普通 IPC:
只用静态值十三、BLC 与其他模块协同
数据流:
RAW(sensor) ↓ BLC ↓ LSC ↓ AWB ↓ CCM十四、为什么 BLC 很重要
因为:
它是 ISP 最早的模块后续:
- AWB
- CCM
- LSC
全部依赖:
正确的黑电平BLC 偏 1LSB 会怎样
| 影响 | 后果 |
|---|---|
| AWB | 白点偏移 |
| CCM | 色相偏移 |
| 暗部 | 偏色 |
十五、板端验证流程
15.1 暗场测试(最准确)
抓 RAW
adb shell rkisp_demo --raw_dump /tmp/dark.raw分析 RAW
import numpy as np raw = np.fromfile( 'dark.raw', dtype=np.uint16 ).reshape(1080,1920) R = raw[0::2,0::2].mean() Gr = raw[0::2,1::2].mean() Gb = raw[1::2,0::2].mean() B = raw[1::2,1::2].mean() print(R,Gr,Gb,B)理想结果
R≈Gr≈Gb≈B≈015.2 RTSP 实时验证
推送 IQ
adb push gc2053_default_JX8006.json /oem/etc/iqfiles/停止冲突
/oem/RkLunch-stop.sh启动 RTSP
rkmedia_vi_venc_rtsp_test -a /oem/etc/iqfiles重点观察
- 黑色是否发灰
- 是否偏色
- 暗部是否有彩噪
十六、参数速查总表
| 想做什么 | 改哪里 | 推荐值 |
|---|---|---|
| 黑场更黑 | 四通道整体 +Δ | 258~260 |
| 黑场更亮 | 四通道整体 -Δ | 252~254 |
| 修正暗部偏红 | R_Channel +Δ | +2~5 |
| 修正暗部偏蓝 | B_Channel +Δ | +2~5 |
| 修正暗部偏绿 | Gr/Gb +Δ | +2~5 |
| 高 ISO 补偿 | 高 ISO 单独调 | 实测 |
总结
BLC 的本质:
把 Sensor 的“假亮度”减掉它决定:
- 黑场是否纯净
- 暗部是否偏色
- AWB 是否准确
- CCM 是否正常
真正项目里最重要的是:
稳定 准确 不要乱改因此:
- 黑场发灰先查 Gamma
- 暗部偏色再查 BLC
- 必须用 RAW 暗场图验证
才是正确的 BLC 调试方式。
参考资料
- Rockchip RKAIQ Framework Documentation
- RKAIQ ISP21 BLC Calibration Guide
- GC2053 Datasheet
- RKMedia Developer Guide
- RKAIQ Source Code