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 为校正后的像素值。
增益网格的生成通常采用以下步骤:
- 标定采集:在均匀光照(如积分球)下拍摄多帧灰卡图像。
- 网格计算:以图像中心为参考,计算每个网格点的增益值。
- 插值拟合:将稀疏网格通过双线性或双三次插值扩展到全分辨率。
- 参数固化:将增益网格写入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) |
调优经验:亮度阴影校正通常先于颜色阴影校正进行。先通过主增益将亮度均匀度调整到目标范围,再通过分通道增益微调颜色偏差。如果直接调整颜色阴影,可能会放大亮度不均匀的问题。
2.3 LSC在ISP Pipeline中的位置
LSC模块在ISP Pipeline中位于黑电平校正(BLC)之后、去马赛克(Demosaic)之前。这个位置选择有明确的工程原因:
- BLC之后:黑电平校正消除了传感器暗电流偏移,确保LSC增益作用于正确的信号基线。
- Demosaic之前:LSC在RAW域操作,每个像素只包含单一颜色信息,分通道增益计算更精确;若在RGB域校正,会引入插值误差。
工程注意:LSC必须在Demosaic之前完成,否则颜色插值会将阴影误差扩散到相邻像素,导致校正后出现网格状伪影(Grid Artifact)。这是ISP调优中常见的低级错误。
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增益补偿。