ISP(Image Signal Processor)处理流程及不同域划分
ISP(Image Signal Processor)处理流程及不同域划分
ISP(图像信号处理器)负责将传感器(CMOS/CCD)输出的原始数据(Raw Data)转换为高质量的RGB或YUV图像。整个流程涉及多个处理阶段,并在不同数据域(Raw域、RGB域、YUV域)中进行转换。以下是典型的ISP处理流程及对应域划分:
1. Raw域(Bayer域)处理
输入:Sensor输出的Bayer格式(如RGGB、BGGR等)Raw数据
输出:经过初步校正的Bayer数据
主要模块:
-
黑电平校正(Black Level Correction, BLC)
- 消除传感器暗电流导致的基线偏移。
- 公式:( P_{corrected} = P_{raw} - BL )(BL为黑电平值)。
-
镜头阴影校正(Lens Shading Correction, LSC)
- 补偿因镜头光学特性导致的边缘亮度衰减(Vignetting)。
-
坏点校正(Bad Pixel Correction, BPC)
- 检测并修复死点、亮点等异常像素。
-
降噪(Noise Reduction, NR)
- 在Raw域进行初步去噪(如高斯滤波或时域降噪)。
-
自动白平衡(Auto White Balance, AWB)
- 估计场景色温,调整R/G/B通道增益(仍在Bayer域操作)。
2. RGB域处理
输入:去马赛克(Demosaic)后的RGB数据
输出:颜色校正后的RGB图像
关键步骤:
-
去马赛克(Demosaic)
- 将Bayer格式(如RGGB)插值为全分辨率RGB图像(如双线性插值、自适应插值)。
-
颜色校正矩阵(Color Correction Matrix, CCM)
- 调整RGB通道的交叉影响,使颜色更准确。
- 公式:( \begin{bmatrix} R’ \ G’ \ B’ \end{bmatrix} = CCM \times \begin{bmatrix} R \ G \ B \end{bmatrix} )。
-
伽马校正(Gamma Correction)
- 非线性映射RGB值,适配显示设备的亮度响应(如sRGB标准)。
- 公式:( V_{out} = V_{in}^{\gamma} )(通常γ≈0.45)。
-
色彩增强(Color Enhancement)
- 提升饱和度或调整色调(如肤色优化)。
3. YUV域处理
输入:RGB转换后的YUV数据
输出:最终编码的YUV图像(如YUV422、YUV420)
核心模块:
-
RGB转YUV(Color Space Conversion)
- 将RGB转换为亮度(Y)和色度(U/V)分量:
[
Y = 0.299R + 0.587G + 0.114B \
U = -0.147R - 0.289G + 0.436B \
V = 0.615R - 0.515G - 0.100B
]
- 将RGB转换为亮度(Y)和色度(U/V)分量:
-
色度降采样(Chroma Subsampling)
- 将YUV444转换为YUV422或YUV420(减少数据量)。
-
锐化(Sharpening)
- 增强图像边缘(如拉普拉斯滤波)。
-
时域降噪(Temporal Noise Reduction, TNR)
- 利用多帧信息减少动态噪声。
-
动态范围压缩(Dynamic Range Compression)
- 处理高对比度场景(如局部色调映射)。
4. 后处理与输出
-
图像缩放(Scaling)
- 分辨率调整(如4K→1080P)。
-
格式封装(Format Encoding)
- 输出为JPEG、H.264等编码格式。
ISP流程总结
处理域 | 主要模块 | 输入/输出 |
---|---|---|
Raw域 | BLC、LSC、BPC、AWB、Raw降噪 | Bayer Raw → 校正后Bayer |
RGB域 | Demosaic、CCM、伽马校正、色彩增强 | Bayer → RGB → 优化后RGB |
YUV域 | RGB→YUV转换、降采样、锐化、TNR | RGB → YUV → 最终YUV图像 |
后处理 | 缩放、编码 | YUV → 压缩输出(JPEG/H.264) |
关键点
- Raw域:直接处理传感器数据,保留最大信息量。
- RGB域:颜色还原与增强,受白平衡和CCM影响显著。
- YUV域:面向存储和传输,优化带宽与视觉质量。
如果需要更详细的算法(如Demosaic或TNR实现),可以进一步探讨!