1. ISP 基础概念:从一张照片说起
各位同学,咱们今天聊聊 ISP。说白了,ISP 就是 Image Signal Processor,图像信号处理器。你手机拍照、行车记录仪录像、安防监控抓拍,背后都有它。
我刚开始接触这行时,以为 ISP 就是个简单的滤镜。后来踩了坑才明白——它是整个相机系统的灵魂。
1.1 什么是 ISP?
ISP 是一套专门处理图像信号的硬件 + 算法组合。它的输入是传感器(CMOS/CCD)输出的原始 RAW 数据,输出是人眼看着舒服的 RGB/YUV 图像。
你想想看,传感器拍到的原始数据长什么样?
- 每个像素只记录一种颜色(R/G/B 之一)
- 信号有噪声、暗角、偏色
- 动态范围远不如人眼
ISP 的任务,就是把这些「半成品」变成一张能看的照片。
核心定义: ISP = 从 RAW 到人眼友好图像的信号处理链路。
1.2 ISP 在相机系统中的位置
我习惯把相机系统分成三层:
| 层级 | 组件 | 职责 |
|---|---|---|
| 前端 | 镜头 + 传感器 | 光学成像、光电转换 |
| 中端 | ISP | RAW 处理、画质调优 |
| 后端 | 编码器 + 显示/存储 | 压缩、输出、预览 |
ISP 夹在中间,承上启下。传感器给它的 RAW 数据质量,决定了 ISP 的天花板;ISP 处理后的效果,决定了用户看到的最终画质。
我的经验: 项目里经常有人只优化传感器或只调 ISP 参数,结果效果总差一口气。记住——ISP 和传感器是夫妻,得一起调。
1.3 ISP Pipeline 概述
ISP 不是单个模块,而是一条流水线。每个模块处理一个具体问题,串联起来就是完整的 Pipeline。
下面这张图是我自己画的典型 ISP 流程,你一看就明白:
每个模块具体干什么?我简单列一下:
- 黑电平校正 (BLC) — 去掉传感器暗电流导致的固定偏置。我遇到过一批传感器黑电平漂移,差点以为是硬件坏了,其实就是 BLC 没跟上。
- 去噪 (NR) — 消除光子噪声、读出噪声。降噪太强会丢细节,太弱又满屏噪点,这是个平衡活。
- 去马赛克 (Demosaic) — 把 Bayer 模式的单通道 RAW 插值成三通道 RGB。这里最容易出现伪色和锯齿。
- 白平衡 (AWB) — 让白色物体在不同光源下都呈现白色。嗯,这个模块调不好,照片就会偏蓝或偏黄。
- 色彩校正 (CCM) + Gamma — 把传感器色彩空间映射到标准色域,再做人眼感知的非线性校正。
避坑指南: 我曾经在项目里跳过 BLC 直接做去噪,结果暗部噪声怎么都压不下去。后来才发现——黑电平没校准时,噪声基底是偏的,去噪算法根本没法正确工作。所以,Pipeline 的顺序别乱动。
1.4 为什么 ISP 这么重要?
你想想看,现在手机传感器尺寸就那么大,物理限制摆在那。为什么有的手机拍照就是比别家好?
说白了,差距就在 ISP 的算法和调优上。
- 同样的传感器,ISP 好能多保留 2-3 档动态范围
- 同样的暗光场景,ISP 好能少一半噪声
- 同样的光源,ISP 好能准确还原肤色
我个人的习惯是:拿到一个新传感器,先跑一遍默认 ISP Pipeline,看看每个模块的输出。哪个模块效果差,就重点调哪个。别一上来就全链路优化,容易顾此失彼。
一句话总结: ISP 决定了相机系统的画质上限。传感器是硬件基础,ISP 是软件灵魂。
好,这一章就到这里。你先把 ISP 是什么、它在系统里的位置、Pipeline 有哪些模块搞清楚。后面我们会一个一个模块拆开讲,每个都配上代码和调优经验。