2. ISP Pipeline 基础架构:从 Sensor 到输出编码
ISP(Image Signal Processor)Pipeline 是数字成像的核心链路,它将图像传感器捕获的原始电信号逐步转化为符合人眼视觉或机器视觉需求的最终图像。本章将按数据流经的顺序,系统拆解 ISP Pipeline 的四大处理域:RAW 域、RGB 域、YUV 域以及最终的输出编码阶段。
核心认知:ISP Pipeline 的每个处理域都对应特定的数据格式与算法目标。Tuning 参数的实时注入正是针对这些域中的关键模块进行动态调整,以实现画质、性能与功耗的平衡。
2.1 整体数据流架构
下图展示了 ISP Pipeline 的完整数据流,从 Sensor 输入开始,依次经过 RAW、RGB、YUV 三大处理域,最终输出编码。每个域内部包含多个关键处理模块。
2.2 Sensor 输入与 RAW 域处理
2.2.1 Sensor 输入
图像传感器(CMOS / CCD)输出的是Bayer 格式的 RAW 数据,每个像素仅包含 R、G、B 中的一个颜色分量。Sensor 输出还包含行消隐、帧消隐等同步信号,以及可能的嵌入式元数据(如增益、曝光时间)。
| 参数 | 典型值 | 说明 |
|---|---|---|
| RAW 位深 | 10 / 12 / 14 bit | 决定动态范围基础 |
| Bayer 模式 | RGGB / BGGR / GRBG | 影响去马赛克算法 |
| 帧率 | 30 / 60 / 120 fps | 受曝光与读出速度限制 |
2.2.2 RAW 域处理模块
RAW 域处理在 Bayer 格式上进行,主要任务包括:
- 黑电平校正 (BLC):减去传感器暗电流引入的固定偏移。
- 坏点校正 (DPC):检测并替换传感器阵列中的缺陷像素。
- 去噪 (NR):在 Bayer 域进行基础降噪,保留边缘细节。
- 去马赛克 (Demosaic):通过插值算法将 Bayer 数据重建为全分辨率 RGB 图像。
Tuning 要点:RAW 域的去噪强度与去马赛克算法对最终画质影响极大。过强的去噪会导致细节丢失,而过弱的去噪会使后续处理放大噪声。实时注入时,通常需要根据场景亮度动态调整去噪阈值。
2.3 RGB 域处理
进入 RGB 域后,数据已恢复为每个像素包含 R、G、B 三个通道。此阶段的核心是色彩还原与亮度调整。
RGB 域的关键模块包括:
- 自动白平衡 (AWB):通过调整 R、G、B 通道增益,使图像中的白色物体在不同色温下呈现中性色。
- 颜色校正矩阵 (CCM):将传感器特有的色彩空间映射到标准色彩空间(如 sRGB),修正颜色串扰。
- Gamma 校正:对亮度进行非线性映射,补偿显示设备的非线性响应,同时提升暗部细节。
常见误区:CCM 矩阵的系数与 AWB 增益存在耦合关系。在实时注入时,如果同时调整两者,可能导致颜色突变或色偏。建议先稳定 AWB,再微调 CCM。
2.4 YUV 域处理
RGB 数据通过色彩空间转换进入 YUV 域,其中 Y 表示亮度,U 和 V 表示色度。YUV 域的优势在于亮度和色度可以独立处理,便于压缩和增强。
| 模块 | 功能 | 实时注入参数 |
|---|---|---|
| 色彩增强 | 调整饱和度、色调、对比度 | 饱和度增益、色调偏移量 |
| 边缘锐化 | 增强图像边缘对比度,提升清晰度 | 锐化强度、阈值、核大小 |
| 降噪 (NR) | 在 Y 和 UV 通道分别降噪 | Y 降噪强度、UV 降噪强度 |
| 动态范围压缩 | 将高动态范围映射到低动态范围 | 局部 tone mapping 曲线 |
2.5 输出编码
YUV 数据经过最终处理后,需要编码为标准的图像或视频格式。常见的输出编码包括:
- JPEG:静态图像压缩标准,支持可调质量因子。
- HEVC / H.265:高效视频编码,适用于高分辨率视频。
- NV12 / NV21:半平面 YUV 格式,常用于 Android 相机框架。
编码阶段的 Tuning 参数主要涉及压缩率、量化表、码率控制策略等。实时注入时,需要根据场景复杂度动态调整压缩参数,以平衡画质与文件大小。
关键总结:ISP Pipeline 的四大处理域各有侧重:RAW 域修复传感器缺陷,RGB 域还原真实色彩,YUV 域增强视觉体验,输出编码适配存储与传输。Tuning 参数的实时注入需要针对每个域的关键模块设计独立的更新策略,同时考虑模块间的耦合关系。