1. ISP概述与图像传感器基础
各位同学,咱们今天聊聊ISP和图像传感器。说实话,我做了十几年ISP架构设计,每次跟新人聊这个,都会先问一个问题:你拍的照片,真的是传感器“看到”的样子吗?
答案是否定的。传感器输出的原始数据,离我们肉眼看到的照片,差了十万八千里。中间这趟“修图流水线”,就是ISP干的活。
1.1 ISP在成像系统中的角色
ISP,全称Image Signal Processor,图像信号处理器。它不负责“拍”,它负责“修”。
我习惯把成像系统拆成三块:
- 镜头 + 传感器:负责把光信号转成电信号,输出RAW数据
- ISP流水线:把RAW数据“翻译”成人眼能接受的图像
- 后端编码/显示:压缩存储或送屏显示
说白了,传感器是个“色盲+近视眼”。它只能感知光的强弱,分不清颜色,还会引入各种噪声。ISP的任务就是:去噪、插值、校正、增强,最终输出一张“好看”的图。
核心观点:ISP不是可选项,是必选项。没有ISP,传感器输出的RAW数据就是一堆“废片”。
我在一个手机项目里遇到过,客户想省成本,把ISP砍了,直接用CPU软处理。结果呢?预览帧率掉到15fps,功耗飙到2W,手机烫得能煎鸡蛋。最后乖乖加回了硬件ISP。
1.2 主流图像传感器:CCD vs CMOS
传感器就两大阵营:CCD和CMOS。现在99%的消费电子都用CMOS,但CCD在某些工业、医疗领域还有一席之地。
| 对比项 | CCD | CMOS |
|---|---|---|
| 读出方式 | 逐行转移,统一输出 | 每个像素独立寻址读出 |
| 噪声水平 | 低(统一放大) | 较高(各像素放大器不一致) |
| 功耗 | 高(需要多路高压时钟) | 低(单电源,数字逻辑为主) |
| 速度 | 慢(串行读出) | 快(并行/多通道读出) |
| 成本 | 高(特殊工艺) | 低(标准CMOS工艺) |
| 集成度 | 低(需外置ADC/驱动) | 高(可集成ADC、DSP、接口) |
为什么会这样?我简单解释一下原理。
CCD:每个像素收集到的电荷,像“水桶接力”一样,一个传一个,最后统一送到一个放大器转成电压。好处是所有像素用同一个放大器,一致性极好,噪声低。坏处是传输路径长,速度上不去,而且需要多相高压时钟,功耗大。
CMOS:每个像素自带一个放大器,直接把电荷转成电压,然后通过行列寻址读出。好处是速度快、功耗低、能跟数字逻辑做在同一颗芯片上。坏处是每个像素的放大器有差异,导致固定模式噪声(FPN)和随机噪声都偏高。
我的经验:选型时别只看参数表。CCD的“低噪声”优势在低光下确实明显,但CMOS通过背照式(BSI)和堆叠式(Stacked)工艺,已经把差距缩小到肉眼不可见。现在手机传感器像素尺寸做到0.7μm,CCD根本做不了这么小。
1.3 Bayer阵列与色彩滤波阵列(CFA)
传感器只能感知光的强度,分不清颜色。那彩色照片怎么来的?答案是:给每个像素戴上一副“有色眼镜”。
这层“眼镜”就是色彩滤波阵列(CFA)。最经典的CFA是Bayer阵列,1976年由Kodak的Bryce Bayer发明。
Bayer阵列的排列规律:
- 50% 绿色(G)像素
- 25% 红色(R)像素
- 25% 蓝色(B)像素
为什么绿色占一半?因为人眼对绿色最敏感。说白了,Bayer阵列就是在“模仿”人眼的视觉特性。
典型的2x2 Bayer单元长这样:
R G
G B
每个像素只记录一种颜色分量。那最终全彩图像怎么来?靠去马赛克(Demosaic)算法,用周围像素猜出缺失的颜色信息。
注意:Bayer阵列不是唯一的CFA。还有RGBW(加白色像素提亮度)、RYYB(华为用过的黄黄蓝)、Foveon X3(三层堆叠)等。但Bayer是主流,你工作中90%会碰到它。
我曾经在一个安防项目里踩过坑。客户要求用RGBW传感器,说能提升低光性能。结果ISP流水线里没有现成的RGBW demosaic模块,得自己写。折腾了两个月,最后效果还不如用Bayer加降噪。从那以后,我对非主流CFA都格外谨慎。
1.4 本章知识结构图
下面这张图,把ISP、传感器、Bayer阵列的关系串起来了。你仔细看一遍,就能理解整个成像系统的数据流。
这张图你看懂了吗?从场景光信号开始,经过镜头、传感器、Bayer阵列,最后进入ISP流水线。每一步都有坑,每一步都需要硬件架构师去权衡。
本章要点回顾:
- ISP是连接传感器和“好看图像”的桥梁,不可跳过
- CCD噪声低但速度慢功耗高,CMOS速度快功耗低但噪声大
- Bayer阵列用RGGB排列,绿色占50%,模拟人眼敏感度
- CFA不是只有Bayer,但Bayer是主流
嗯,第一章就到这里。这些基础概念,后面每一章都会用到。你先把传感器和Bayer阵列的物理原理吃透,后面讲去马赛克、降噪、白平衡的时候,你才能理解“为什么ISP要这么设计”。