4. ISP Pipeline 详解:高通 ISP 各模块对画质的影响

ISP Pipeline,说白了就是一张 RAW 图变成你最终看到的那张照片,中间要过的每一道关卡。高通平台把这些关卡分得很细,BNR、LTMC、GTM、HDR……每个模块都有自己的脾气。我刚开始调的时候,也搞混过它们的作用顺序,结果调了半天画面反而更糟。

今天咱们就把这条流水线拆开,一个一个看明白。

4.1 ISP Pipeline 整体架构

高通的 ISP 处理流程大致可以分为三个阶段:前端(FE)、中端(IPE)、后端(VPU/GPU)。每个阶段负责不同的任务。

核心流程: Sensor RAW → BLS(黑电平校正) → BNR( Bayer 降噪) → LSC(镜头阴影校正) → Demosaic(去马赛克) → LTMC(局部色调映射) → GTM(全局色调映射) → HDR 合成 → 色彩校正 → 锐化 → YUV 输出

下面这张图能帮你快速建立整体认知:

高通 ISP Pipeline 核心模块流程 Sensor RAW 输入 BLS + BNR LSC + Demosaic LTMC GTM HDR 合成 色彩校正 + 锐化 YUV 输出 前端:处理 RAW 域数据 降噪、校正、去马赛克 中端:RGB/YUV 域处理 色调映射、HDR 合成 后端:色彩与细节优化 锐化、色彩校正

4.2 BNR(Bayer 降噪)—— 画质的基石

BNR 是 ISP 里最早接触数据的模块之一。它处理的是 RAW 域的数据,也就是传感器直接输出的、还没经过任何处理的原始信号。

为什么 BNR 这么重要?

  • 传感器本身就有热噪声、读出噪声
  • 暗光环境下噪声会被放大
  • 如果 BNR 没做好,后面的模块会把噪声也一起放大

我的经验: 调 BNR 时,我习惯先看暗部区域。暗部的噪声最明显,也最容易看出降噪强度是否合适。太强了,细节就糊了;太弱了,噪点满天飞。

BNR 的关键参数:

参数 作用 调优建议
降噪强度 控制整体降噪力度 暗光场景适当提高,但不要超过 70%
边缘保护 保留边缘细节,防止模糊 边缘区域降噪强度降低 20-30%
色度降噪 减少彩色噪点 色度降噪可以比亮度降噪更强一些

注意: BNR 调得太强,画面会像涂了一层油。我曾经在一个项目中为了追求干净的画面,把 BNR 拉满,结果客户反馈说“照片像塑料做的”。后来我学会了用边缘保护参数来平衡。

4.3 LTMC(局部色调映射)—— 让暗部亮起来

LTMC 是我个人觉得最有趣的模块。它负责对画面中不同区域做独立的亮度调整。

LTMC 的核心思想: 亮的地方不压太暗,暗的地方不拉太亮。它根据每个像素周围的亮度分布,生成一个局部映射曲线。

举个例子:

  • 逆光人像:人脸暗了,LTMC 会单独提亮人脸区域
  • 夜景灯箱:灯箱过曝,LTMC 会单独压低灯箱亮度

关键点: LTMC 的强度不能太大,否则会出现“光晕”现象——亮区和暗区交界处出现一圈不自然的亮边。我调过一台手机,LTMC 开太大,拍夜景时路灯周围全是光晕,像加了特效一样。

4.4 GTM(全局色调映射)—— 整体亮度控制

GTM 和 LTMC 是搭档。GTM 管全局,LTMC 管局部。

GTM 做什么?

  • 把 12bit/14bit 的 RAW 数据映射到 8bit 输出
  • 调整整体亮度和对比度
  • 控制高光不溢出,暗部不欠曝

GTM 的曲线通常是一个 S 形曲线:暗部稍微提亮,高光稍微压缩,中间调保持线性。

我的习惯: 调 GTM 时,我会先看直方图。如果直方图左边(暗部)堆了很多像素,说明需要提亮暗部;如果右边(高光)顶到了边界,说明高光要压缩。GTM 的曲线调整要平滑,不能有陡峭的转折,否则画面会出现“断层”。

4.5 HDR(高动态范围)—— 多帧合成

HDR 模块是解决大光比场景的利器。它通过拍摄多帧不同曝光的图像,合成一张高动态范围的照片。

HDR 的工作流程:

  1. 传感器连续拍摄 2-3 帧:正常曝光、欠曝、过曝
  2. ISP 对齐多帧图像(防止手抖导致重影)
  3. 根据每帧的亮度信息,合成最终图像

HDR 的常见问题:

问题 原因 解决方法
重影 多帧对齐不准 提高运动检测阈值,或者降低 HDR 帧数
颜色偏差 不同曝光帧的白平衡不一致 统一各帧的白平衡增益
亮度不自然 合成权重不合理 调整各帧的融合权重曲线

避坑指南: 我曾经调过一个项目,HDR 合成后天空出现了一圈一圈的“光晕环”。查了很久才发现是 LTMC 和 HDR 的优先级没配好——HDR 合成后 LTMC 又做了一次局部映射,导致亮度过度不平滑。后来我把 LTMC 放在 HDR 之前处理,问题就解决了。

4.6 各模块的协同关系

这些模块不是独立工作的。它们之间有严格的先后顺序和相互影响。

典型的依赖关系:

  • BNR 必须在 Demosaic 之前做,因为 RAW 域的噪声更容易分离
  • LTMC 和 GTM 的顺序可以互换,但高通默认是 GTM 在前、LTMC 在后
  • HDR 合成通常在色调映射之前,因为 HDR 需要原始的亮度信息

一句话总结: BNR 决定画质下限,LTMC/GTM 决定亮度表现,HDR 决定动态范围。调优时要从前往后调,先保证 BNR 干净,再调亮度,最后调 HDR。

4.7 实战调优建议

最后分享几个我实际调优时的小技巧:

  1. 先看 RAW 图: 调 BNR 之前,先看 RAW 图的噪声水平。如果 RAW 图本身噪声很大,BNR 再强也救不回来。
  2. 用灰度卡调 GTM: 拍一张灰度卡,看 GTM 曲线是否把 18% 灰映射到正确的亮度值。
  3. HDR 要拍运动场景: 测试 HDR 时,一定要拍有运动物体的场景(比如行人、车辆),才能发现重影问题。
  4. LTMC 强度不要超过 0.5: 我个人的经验值,LTMC 强度超过 0.5 就容易出现光晕,除非你的场景非常特殊。

最后说一句: ISP 调优没有银弹。每个模块的参数都要根据实际场景来调。你想想看,同一个参数在白天和夜景下的表现可能完全不同。多拍、多看、多调,慢慢就能找到感觉。