1. ISP Pipeline 概述:从 Sensor 到显示器的完整图像处理链路

各位做安防监控的同行,大家好。今天咱们聊聊 ISP Pipeline——说白了,就是图像从 Sensor 捕捉到最终在显示器上呈现,中间走过的这条路。

我刚开始接触 ISP 时,觉得这玩意儿就是个黑盒子。Sensor 给数据,显示器出图像,中间发生了什么?完全没概念。后来踩了不少坑,才慢慢把这条链路摸清楚。今天我把这些经验分享给你。

1.1 为什么需要 ISP?

Sensor 直接输出的 RAW 数据,说白了就是一堆电压值。它跟人眼看到的画面差得远。你想想看:

  • 动态范围不够——亮的地方过曝,暗的地方死黑
  • 颜色不对——偏绿、偏紫,跟实际场景差很多
  • 噪声明显——尤其是低照度下,满屏噪点
  • 细节模糊——边缘不锐利,纹理看不清

ISP 的作用,就是把这些“半成品”加工成“成品”。我习惯把 ISP 比作一个厨房:Sensor 是菜市场,显示器是餐桌,ISP 就是后厨的厨师团队。

核心观点: ISP 不是可选项,而是必选项。没有 ISP 的图像,就像没调味的菜——能吃,但不好吃。

1.2 ISP Pipeline 整体架构

下面这张图是我自己整理的 ISP 标准流程。每个安防芯片厂商的 Pipeline 可能略有差异,但核心模块基本一致。

ISP Pipeline 标准流程 Sensor RAW DPC / 坏点校正 黑电平校正 LSC / 镜头阴影 AWB / 白平衡 去马赛克 CCM / 色彩校正 Gamma 校正 去噪 / NR 锐化 / Sharp WDR / 宽动态 AE / 自动曝光 AF / 自动对焦 YUV / RGB 输出 💡 说明:不同芯片厂商(海思、安霸、联咏)的模块顺序和名称可能不同,但核心功能一致。

1.3 各模块功能简介

下面我把每个模块的作用简单说一下。你不需要一次全记住,先有个印象就行。

模块 英文缩写 一句话说明 我的经验
坏点校正 DPC 修复 Sensor 上的死点、亮点 我遇到过一批 Sensor 坏点率偏高,DPC 参数调不好,画面全是白点
黑电平校正 BLC 消除 Sensor 暗电流造成的偏色 黑电平不准,暗部会偏紫,这个坑我踩过
镜头阴影校正 LSC 补偿镜头边缘亮度衰减 广角镜头尤其明显,四角发暗是常态
白平衡 AWB 让白色在不同光源下看起来是白色 室内暖光下偏黄,AWB 没调好,整个画面像开了滤镜
去马赛克 Demosaic 从 Bayer 格式恢复出全彩图像 这个模块做不好,边缘会有彩色伪影
色彩校正 CCM 把 Sensor 的色彩空间映射到标准色彩空间 CCM 矩阵调不好,红色会偏橙,绿色会偏黄
Gamma 校正 Gamma 调整图像亮度和对比度,适配显示器 Gamma 值设错了,画面要么太暗要么太亮
去噪 NR 降低图像噪声,尤其是低照度下 去噪太强,细节全没了;太弱,满屏噪点
锐化 Sharp 增强图像边缘,让画面更清晰 锐化过度,边缘会有白边,看着很不自然
宽动态 WDR 同时保留亮部和暗部细节 安防场景最常用的功能,逆光场景全靠它
自动曝光 AE 根据场景亮度自动调整曝光参数 AE 收敛速度太慢,画面会忽明忽暗
自动对焦 AF 自动调整镜头焦距,让画面清晰 变焦摄像头 AF 调不好,拉风箱现象很烦人

1.4 模块之间的依赖关系

这些模块不是独立的。它们之间有很强的依赖关系。举个例子:

  • 去噪必须在锐化之前——先锐化再去噪,会把噪声也锐化,得不偿失
  • AWB 必须在 CCM 之前——白平衡不准,色彩校正矩阵算出来也是错的
  • LSC 必须在 AWB 之前——镜头阴影没校正,白平衡会误判
⚠️ 避坑提醒: 我曾经在一个项目里,为了赶进度,跳过了 LSC 直接调 AWB。结果画面四角和中心色温不一致,怎么调都调不好。后来老老实实把 LSC 先校准了,AWB 一次就过了。这个顺序问题,千万别省。

1.5 安防场景的特殊要求

安防监控和手机拍照、单反摄影不一样。它有自己的一套逻辑:

场景 要求 ISP 侧重点
白天室外 色彩真实、细节清晰 AWB、CCM、Sharp
夜间低照度 低噪声、保留细节 NR、AE、Gamma
逆光场景 同时看清亮部和暗部 WDR、AE
运动目标 无拖影、无模糊 AE 收敛速度、去噪强度

我个人习惯,拿到一个新项目,先看它的应用场景。是室内还是室外?白天多还是晚上多?有没有逆光?这些决定了 ISP 调优的优先级。

1.6 调优的基本思路

最后聊一下调优的思路。很多新手上来就调参数,结果越调越乱。我建议按这个顺序来:

  1. 先校准硬件相关模块——DPC、BLC、LSC,这些跟 Sensor 和镜头强相关,调好了后面才稳
  2. 再调色彩相关模块——AWB、CCM,让颜色先准起来
  3. 最后调画质增强模块——NR、Sharp、Gamma,这些是锦上添花
💡 小技巧: 调优时,每次只改一个参数,改完看效果。不要同时动多个参数,否则出了问题你都不知道是哪个引起的。这个习惯我保持了十年,从来没出过岔子。

好了,ISP Pipeline 的整体框架就聊到这里。你先把这张图印在脑子里,后面每个模块我们都会展开细讲。到时候你会发现,原来每个模块都有这么多门道。