2. LSC基础概念:镜头阴影校正

2.1 镜头阴影校正(LSC)原理

镜头阴影校正(Lens Shading Correction, LSC)是ISP Pipeline中用于补偿光学系统引起的传感器感光不均匀性的关键模块。由于镜头的光学特性,进入传感器的光线在中心区域与边缘区域存在显著的能量差异,导致图像出现中心亮、边缘暗的现象,即“亮度阴影”。此外,不同波长的光线在镜头中的折射率不同,还会导致边缘区域出现偏色,即“颜色阴影”。

LSC的核心原理是:为每个像素位置计算一个增益系数,将边缘区域的信号放大到与中心区域一致的水平。该增益系数通常基于镜头的光学模型或实际标定数据生成,并以二维增益网格的形式存储在ISP参数中。

关键公式:
I_corrected(x, y) = I_raw(x, y) × Gain(x, y)
其中 I_raw 为原始像素值,Gain 为位置相关的校正增益,I_corrected 为校正后的像素值。

增益网格的生成通常采用以下步骤:

  1. 标定采集:在均匀光照(如积分球)下拍摄多帧灰卡图像。
  2. 网格计算:以图像中心为参考,计算每个网格点的增益值。
  3. 插值拟合:将稀疏网格通过双线性或双三次插值扩展到全分辨率。
  4. 参数固化:将增益网格写入ISP寄存器或驱动参数文件。
LSC校正原理流程图 原始RAW图像 二维增益网格 逐像素乘法 校正后图像 增益网格生成流程: ① 均匀光照下采集灰卡图像 → ② 计算中心与边缘亮度比值 ③ 生成稀疏增益网格(如 17×13 网格点) → ④ 双线性插值到全分辨率 ⑤ 分别对 R/Gr/Gb/B 四个通道独立计算增益 → ⑥ 写入 ISP 参数表

2.2 亮度阴影与颜色阴影的区别

镜头阴影分为两种物理成因不同的类型,ISP调优时需要分别处理:

对比维度 亮度阴影 (Luminance Shading) 颜色阴影 (Color Shading)
物理成因 镜头边缘光线入射角增大,光通量衰减(cos⁴θ 定律) 不同波长光线在镜头中的折射率差异,导致边缘处RGB通道感光比例失衡
表现特征 图像中心亮、边缘暗,亮度均匀度下降 图像边缘出现偏色(通常偏绿或偏紫),色温偏移
校正方式 单通道增益补偿,所有通道使用相同增益 分通道独立增益补偿,R/G/B通道使用不同增益
调优参数 LSC_Gain_Master(主增益网格) LSC_Gain_R / LSC_Gain_B / LSC_Gain_Gr / LSC_Gain_Gb
测量指标 亮度均匀性(ΔL ≤ 5%) 色差均匀性(ΔC ≤ 0.01)
调优经验:亮度阴影校正通常先于颜色阴影校正进行。先通过主增益将亮度均匀度调整到目标范围,再通过分通道增益微调颜色偏差。如果直接调整颜色阴影,可能会放大亮度不均匀的问题。
亮度阴影 vs 颜色阴影 对比示意图 亮度阴影 中心亮 → 边缘暗(cos⁴θ 衰减) 增益曲线:边缘增益 > 中心增益 所有通道使用相同增益值 颜色阴影 边缘偏色(R/G/B通道感光比例失衡) R通道增益:1.2 G通道增益:1.0 B通道增益:1.4 ← 各通道独立增益补偿

2.3 LSC在ISP Pipeline中的位置

LSC模块在ISP Pipeline中位于黑电平校正(BLC)之后、去马赛克(Demosaic)之前。这个位置选择有明确的工程原因:

  • BLC之后:黑电平校正消除了传感器暗电流偏移,确保LSC增益作用于正确的信号基线。
  • Demosaic之前:LSC在RAW域操作,每个像素只包含单一颜色信息,分通道增益计算更精确;若在RGB域校正,会引入插值误差。
工程注意:LSC必须在Demosaic之前完成,否则颜色插值会将阴影误差扩散到相邻像素,导致校正后出现网格状伪影(Grid Artifact)。这是ISP调优中常见的低级错误。
ISP Pipeline中LSC模块位置 传感器RAW BLC LSC ★ 本章重点 Demosaic 后续ISP模块 LSC位置选择的工程理由: ① RAW域操作:每个像素仅含单一颜色,分通道增益计算精确,无插值干扰 ② BLC后处理:消除暗电流偏移,确保增益作用于正确的信号基线 ③ Demosaic前校正:避免颜色插值将阴影误差扩散到相邻像素,防止网格伪影

2.4 LSC调优的关键参数

在实际ISP调优工程中,LSC模块涉及以下核心配置参数:

参数名称 数据类型 典型范围 说明
LSC_Grid_Size_X uint16 9 ~ 33 水平方向网格点数,通常为奇数
LSC_Grid_Size_Y uint16 7 ~ 25 垂直方向网格点数,通常为奇数
LSC_Gain_Master uint16[GridX][GridY] 256 ~ 1024 主增益网格,Q8格式(256=1.0x)
LSC_Gain_R uint16[GridX][GridY] 256 ~ 1024 R通道增益网格
LSC_Gain_B uint16[GridX][GridY] 256 ~ 1024 B通道增益网格
LSC_Gain_Gr uint16[GridX][GridY] 256 ~ 1024 Gr通道增益网格(Bayer格式)
LSC_Gain_Gb uint16[GridX][GridY] 256 ~ 1024 Gb通道增益网格(Bayer格式)
LSC_Interp_Mode uint8 0 / 1 / 2 插值模式:0=最近邻,1=双线性,2=双三次
参数配置示例(Q8格式说明):
// 增益值 = 寄存器值 / 256
// 例如:寄存器值 384 表示增益 1.5x
// 中心区域增益通常为 256 (1.0x)
// 边缘区域增益通常为 384~512 (1.5x~2.0x)

// 17×13 网格配置示例
LSC_Grid_Size_X = 17
LSC_Grid_Size_Y = 13
LSC_Gain_Master[0][0] = 512   // 左上角边缘,增益2.0x
LSC_Gain_Master[8][6] = 256   // 中心点,增益1.0x
LSC_Gain_Master[16][12] = 512 // 右下角边缘,增益2.0x

2.5 LSC校正效果评估指标

调优完成后,需要通过以下客观指标验证LSC效果:

  • 亮度均匀性(ΔL):测量图像中心与四角区域的亮度差异,要求 ΔL ≤ 5%。
  • 色差均匀性(ΔC):测量图像中心与四角区域的色度差异,要求 ΔC ≤ 0.01(CIE Lab空间)。
  • 信噪比损失(SNR Loss):边缘区域因增益放大导致的噪声放大程度,要求 ≤ 3dB。
  • 网格伪影检测:在均匀灰卡图像上检查是否存在网格状亮度或颜色条纹。
调优建议:LSC增益不宜过大(建议不超过2.0x),否则边缘区域噪声会被过度放大。如果镜头阴影严重(如广角镜头),建议优先优化镜头设计或增加光学防抖,而非单纯依赖ISP增益补偿。