图像传感器基础:CCD与CMOS传感器原理、Bayer阵列与色彩滤波阵列(CFA)、传感器读出电路与帧率、像素结构与量子效率
各位同学,欢迎来到第二章。上一章我们聊了ISP的整体框架,今天要扎进最底层——图像传感器。说白了,摄像头能“看见”世界,全靠这块感光芯片。我做了这么多年ISP,最深的体会是:不懂传感器,调出来的图像算法就是空中楼阁。
你想想看,ISP处理的原始数据从哪来?就是传感器。它的噪声特性、动态范围、帧率上限,直接决定了后续所有处理的天花板。所以这一章,我们得把传感器的底裤扒干净。
2.1 CCD vs CMOS:两种主流传感器架构
先问个问题:为什么现在手机、相机里全是CMOS,CCD几乎绝迹了?
我入行那会儿,CCD还是高端代名词。2005年我在一家安防公司做摄像头,老板非要上CCD方案,说“CMOS噪声太大,没法看”。嗯,那时候确实如此。但今天,CMOS已经全面逆袭。
来看核心区别:
| 对比维度 | CCD(电荷耦合器件) | CMOS(互补金属氧化物半导体) |
|---|---|---|
| 读出方式 | 逐行电荷转移,统一输出 | 每个像素独立寻址读出 |
| 功耗 | 高(需要多路高压时钟驱动) | 低(仅需单电源,静态功耗极低) |
| 读出速度 | 慢(串行读出,帧率受限) | 快(并行读出,轻松上60fps) |
| 噪声 | 低(读出路径单一,一致性高) | 较高(每个像素有独立放大器,失配噪声大) |
| 集成度 | 低(需要外部ADC、驱动芯片) | 高(ADC、时序控制、ISP可集成在同一芯片) |
| 成本 | 高(工艺特殊,良率低) | 低(标准CMOS工艺,量大管饱) |
关键结论:CCD靠“全局快门+低噪声”在高端工业、天文领域还有一席之地;CMOS凭借“高帧率、低功耗、高集成度”统治了消费电子和汽车市场。
我个人习惯把CCD比作“传送带”——所有像素的电荷像包裹一样依次传递到终点;CMOS则是“每个像素一个快递员”——各自把信号送到门口。传送带整齐但慢,快递员快但容易出错。
2.2 Bayer阵列与色彩滤波阵列(CFA)
传感器本身是色盲的——它只能感知光的强度,分不清颜色。那彩色照片怎么来的?
答案就是:在像素表面盖一层彩色滤光片,让每个像素只响应特定波长的光。这就是色彩滤波阵列(CFA)。
最常见的CFA是Bayer阵列,由Kodak的Bryce Bayer在1976年发明。它的排列是:
- 50% 绿色(G)——人眼对绿光最敏感
- 25% 红色(R)
- 25% 蓝色(B)
为什么绿色多一倍?因为人眼亮度感知主要来自绿色通道,多采样绿色能提升视觉分辨率。这个设计非常巧妙,几十年都没被颠覆。
避坑指南:我曾经在调试一款手机摄像头时,发现Bayer阵列的绿色像素和相邻绿色像素之间响应不一致,导致画面出现“棋盘格”伪影。后来查了半天,发现是微透镜对准偏差。所以做ISP时,Bayer校正(LSC)和去马赛克(Demosaic)算法一定要配合传感器模组的光学特性来调,不能只看理论。
除了Bayer,还有哪些CFA?
- RGBW阵列:加入白色(W)像素,提升低光灵敏度,但牺牲色彩分辨率。
- RYYB阵列:华为P系列用过,用黄色(Y)替代绿色,进光量更大,但色彩还原难度高。
- X-Trans阵列:富士专利,不规则排列,减少摩尔纹。
但说实话,Bayer仍然是主流。你工作中遇到的90%的传感器,都是Bayer CFA。
2.3 传感器读出电路与帧率
传感器怎么把光信号变成数字信号?这个过程叫读出(Readout)。
CMOS传感器的读出流程大致是:
- 光电转换:光子打到光电二极管,产生电子-空穴对。
- 电荷积累:电子存储在像素的浮置扩散节点(FD)。
- 像素放大:每个像素内的源极跟随器(SF)将电荷转换为电压。
- 行选通:通过行选晶体管(RS),逐行将电压信号送到列总线。
- 列ADC:每列一个ADC,将模拟电压转换为数字码值。
- 串行输出:数字数据通过MIPI或LVDS接口输出。
帧率怎么算?
帧率 = 1 / (单帧读出时间 + 曝光时间 + 消隐时间)
单帧读出时间 ≈ (行数 × 每行像素数) / 接口时钟频率
举个例子:一个200万像素传感器(1920×1080),10-bit ADC,MIPI接口跑1.5Gbps/lane,4 lane。
每帧数据量 = 1920 × 1080 × 10 = 20.736 Mbit
接口带宽 = 1.5 × 4 = 6 Gbps
理论最小读出时间 ≈ 20.736 / 6000 ≈ 3.46 ms
加上曝光时间(比如16.67ms对应60fps),总帧时间 ≈ 20ms,帧率 ≈ 50fps。
注意:实际帧率还要考虑消隐时间(blanking)、ADC转换时间、以及传感器内部的非理想延迟。我见过一个项目,理论算出来能跑60fps,实际只能跑到48fps,就是因为消隐时间设得太保守。所以做系统设计时,一定要留20%~30%的余量。
2.4 像素结构与量子效率
像素是传感器的最小单元。一个典型的CMOS像素包含:
- 光电二极管(PD):感光区域,将光子转换为电子。
- 传输门(TG):控制电荷从PD转移到FD。
- 浮置扩散(FD):临时存储电荷,并转换为电压。
- 复位晶体管(RST):复位FD电压到参考电平。
- 源极跟随器(SF):缓冲电压信号。
- 行选晶体管(RS):将信号连接到列总线。
这就是经典的4T像素结构(4个晶体管)。早期还有3T结构(没有传输门),但噪声大,现在基本淘汰了。
衡量像素感光能力的关键指标是量子效率(QE):
QE = (产生的电子数) / (入射光子数) × 100%
QE越高,说明传感器对光的利用率越高,低光性能越好。
| 波长 | 典型QE(背照式CMOS) | 典型QE(前照式CMOS) |
|---|---|---|
| 450nm(蓝) | 60%~70% | 40%~50% |
| 550nm(绿) | 70%~80% | 50%~60% |
| 650nm(红) | 50%~60% | 35%~45% |
为什么背照式(BSI)QE更高?因为前照式(FSI)的光线要先穿过金属布线层,部分光被反射和吸收;背照式把光电二极管翻到上面,光线直接入射,没有遮挡。
我的经验:做ISP算法时,QE曲线一定要拿到手。比如调试自动曝光(AE)时,如果传感器在红光波段QE偏低,那算法就要适当补偿红色通道的增益,否则拍出来的照片会偏青。我曾经因为没注意QE曲线,在室内暖光下调试了三天,怎么调白平衡都不对,最后发现是传感器对红光响应太弱,增益拉太高导致噪声爆炸。
2.5 本章知识体系
下面这张图总结了本章的核心脉络:
这张图把本章的知识点串起来了。从上到下,先分清CCD和CMOS两大阵营,再深入CFA、读出电路、像素结构三个核心模块。每个模块下面还有更细的子知识点。你学完这一章,应该能对着这张图,把传感器的全貌讲清楚。
学习建议:如果你手头有开发板,建议拿一个CMOS传感器的datasheet,找到它的像素结构图、读出时序图和QE曲线,对照本章内容看一遍。纸上得来终觉浅,绝知此事要躬行。