2. 瑞芯微ISP Pipeline概览:RK ISP整体架构,LSC模块在ISP中的位置与数据流,LSC与其他模块(AWB、CCM)的关联

好,咱们进入正题。上一章聊了LSC是什么、为什么要做,这一章咱们把镜头拉远,看看整个瑞芯微ISP的流水线长什么样。说白了,你得先知道地图全貌,才能找准LSC这个路口在哪儿。

2.1 RK ISP整体架构:一条流水线,各司其职

瑞芯微的ISP,我习惯把它想象成一条“图像精加工流水线”。Sensor送进来的原始数据是RAW图,就像刚采回来的矿石,里面杂质多、颜色偏、亮度不均。ISP的任务就是把这些矿石炼成能直接用的成品图。

整个Pipeline大致分为几个阶段:

  • 前端预处理:包括坏点校正(DPC)、黑电平校正(BLC)、LSC。这个阶段主要处理sensor本身的物理瑕疵。
  • 去马赛克与降噪:把Bayer格式转成RGB,同时做空域/时域降噪。
  • 色彩与亮度处理:AWB(自动白平衡)、CCM(色彩校正矩阵)、Gamma校正、锐化等。这个阶段决定图像的“观感”。
  • 后处理与输出:缩放、格式转换、编码等。

你想想看,如果LSC没做好,镜头阴影还在,后面的AWB和CCM就会“误判”。我遇到过不止一次,客户说白平衡不准,查了半天,最后发现是LSC没校准,边缘偏色导致AWB统计出错。嗯,这个坑咱们后面会细讲。

核心观点:LSC是ISP Pipeline中“第一个”真正意义上的图像质量校正模块。它做不好,后面所有模块都是在“错的基础上修修补补”。

瑞芯微ISP Pipeline整体架构 RK ISP Pipeline 整体架构 RAW Sensor 前端预处理 DPC → BLC → LSC (本章核心区域) 去马赛克 降噪 (NR) 色彩/亮度 AWB → CCM → Gamma YUV/JPEG 图注: • 红色区域(前端预处理)是LSC所在的位置,它紧接在DPC和BLC之后。 • 紫色区域(色彩/亮度处理)中的AWB和CCM,会直接受到LSC校正效果的影响。 • 数据流方向:RAW → 预处理 → 去马赛克 → 色彩处理 → 输出。LSC是“承前启后”的关键一环。 • 箭头表示数据流方向,每个模块内部还有更细的子模块和寄存器配置。

2.2 LSC模块在ISP中的位置与数据流

从上面的图你能看到,LSC位于前端预处理阶段。具体来说,它的前后邻居是这样的:

顺序 模块 功能简述 与LSC的关系
前一级 DPC (坏点校正) 修复sensor上的死点、亮点 坏点如果不先修掉,LSC校正时会放大这些异常点
前一级 BLC (黑电平校正) 减去sensor的暗电流偏移 BLC没做准,LSC的增益计算会整体偏掉
当前 LSC (镜头阴影校正) 补偿镜头带来的亮度衰减 ——
后一级 去马赛克 / AWB统计 插值成RGB / 统计色温信息 LSC校正后的图像亮度均匀,AWB统计才准确

数据流其实很简单:RAW数据 → DPC → BLC → LSC → 后续模块。LSC模块内部,会读取你预先标定好的增益网格(Gain Grid),然后对每个像素点乘上对应的增益值。

个人经验:我在调试RK3588时发现,LSC的增益网格大小(比如15x17还是33x37)对性能影响很大。网格越细,校正越精准,但占用的带宽和查表时间也越多。对于普通摄像头,15x17的网格足够了;但对于广角镜头,我建议至少用33x37的网格,否则边缘校正会有明显的“阶梯感”。

2.3 LSC与其他模块(AWB、CCM)的关联

这部分是很多工程师容易忽略的。你以为LSC只是调调亮度均匀性?其实它跟AWB和CCM是“铁三角”关系。

2.3.1 LSC与AWB的关联

AWB的核心是统计图像中的白点区域,然后估算色温。如果LSC没做好,镜头边缘的亮度比中心低,而且通常伴随着色偏(因为不同波长的光衰减程度不同)。

举个例子:

  • 中心区域:R/G/B比例正常,AWB统计出正确的色温。
  • 边缘区域:由于镜头阴影,B通道衰减比R通道多,导致边缘偏黄。
  • AWB把边缘的“偏黄”也统计进去了,结果整体色温判断偏暖,整张图都变黄了。

我曾经在一个项目中,AWB怎么调都调不准,最后发现是LSC的Gain Table只校准了亮度,没校准R/G/B各自的通道增益。后来改成分通道LSC,问题立刻解决。

避坑指南:瑞芯微的LSC模块支持R/Gr/Gb/B四个通道独立配置增益网格。千万不要偷懒只配一个通道然后复制到其他通道!不同通道的阴影曲线是不一样的,必须分别标定。

2.3.2 LSC与CCM的关联

CCM(色彩校正矩阵)的作用是把sensor的RGB色彩空间映射到标准色彩空间(比如sRGB)。CCM的系数通常是基于“均匀光照”下采集的色卡数据计算出来的。

问题来了:如果LSC没做好,图像边缘的RGB比例已经变了,CCM却还在用中心区域的系数去校正边缘,结果就是边缘偏色更严重。

我习惯把LSC和CCM的关系总结成一句话:LSC负责“摆正”亮度与色彩的基础,CCM负责“精调”色彩的准确。LSC是地基,CCM是装修。地基歪了,装修再漂亮也没用。

模块 职责 如果LSC没做好
LSC 补偿亮度衰减,恢复均匀性 ——
AWB 估算色温,调整白平衡 边缘色偏导致色温误判,整体偏色
CCM 色彩空间转换,提升色彩准确度 边缘RGB比例异常,CCM校正后边缘偏色更明显

2.4 小结:LSC不是孤岛

这一章咱们把LSC在ISP Pipeline中的位置和关联关系理清了。你记住三点:

  1. 位置:LSC在前端预处理阶段,紧接在DPC和BLC之后。
  2. 数据流:RAW → 预处理(含LSC)→ 后续处理,LSC的输出质量直接影响下游。
  3. 关联:LSC是AWB和CCM的“前置条件”,LSC做不好,AWB和CCM就是空中楼阁。