3、数字图像传感器基础:CCD与CMOS传感器原理、拜耳阵列、像素结构与填充因子
做ISP这行,天天跟传感器打交道。你调3A算法,说白了就是在跟传感器“对话”。不懂传感器原理,调参就像蒙着眼睛走路。今天咱们就把传感器那点事儿掰开揉碎了讲清楚。
3.1 CCD vs CMOS:两种主流传感器架构
先聊个经典问题:CCD和CMOS到底差在哪?我刚开始入行时也觉得这俩差不多,直到有一次项目选了CCD传感器,结果功耗压不下去,板子烫得能煎鸡蛋……
核心区别一句话:CCD是“电荷搬运工”,CMOS是“像素独立工”。
3.1.1 CCD工作原理
CCD(电荷耦合器件)的原理,说白了就是:每个像素收集光生电荷,然后像传送带一样,把电荷一行一行“搬”到输出端统一放大。
- 电荷转移:垂直寄存器→水平寄存器→输出放大器
- 优点:噪声低、均匀性好、满阱容量大
- 缺点:功耗高、速度慢、不能随机读取
我记得当年做工业相机项目,客户要求极低噪声,CCD确实是首选。但那个功耗……嗯,散热设计让我头疼了整整两周。
3.1.2 CMOS工作原理
CMOS(互补金属氧化物半导体)就聪明多了——每个像素自带放大器,直接读出电压信号,不需要“搬来搬去”。
- 读出方式:行选通→列总线→ADC转换
- 优点:功耗低、速度快、可ROI读取
- 缺点:固定模式噪声(FPN)明显、填充因子低
个人经验:现在手机摄像头几乎全是CMOS。为什么?功耗和集成度摆在那儿。但如果你做科学级成像、天文摄影,CCD依然有它的江湖地位。
| 对比项 | CCD | CMOS |
|---|---|---|
| 读出方式 | 电荷转移+统一放大 | 像素级放大+列并行读出 |
| 噪声水平 | 低(~2-3 e⁻) | 较高(~5-10 e⁻,含FPN) |
| 功耗 | 高(~500mW-2W) | 低(~50-200mW) |
| 读出速度 | 慢(~10-30fps) | 快(~30-240fps) |
| 填充因子 | 高(~80-100%) | 低(~30-70%,含微透镜可提升) |
| 典型应用 | 工业、科学、天文 | 手机、安防、车载 |
3.2 拜耳阵列:彩色世界的“马赛克”
传感器本身是“色盲”的——它只能感知光的强度,分不清颜色。那彩色照片怎么来的?靠的就是拜耳阵列(Bayer Pattern)。
说白了,就是在每个像素上盖一层彩色滤光片,只让特定波长的光通过。最常见的RGGB模式:一个像素看红,一个像素看蓝,两个像素看绿——因为人眼对绿色最敏感。
避坑指南:我曾经调试一款传感器,发现绿色通道总是偏暗。查了半天,原来是拜耳阵列的G像素位置和ISP的demosaic算法没对齐。你想想看,错位一个像素,整张图就花了。
3.2.1 常见拜耳模式
- RGGB:最经典,2个G、1个R、1个B
- RCCC:用于车灯检测,3个R、1个C(透明)
- RCCB:提升低光灵敏度,2个C、1个R、1个B
- Quad Bayer:4合1像素合并,用于高像素手机传感器
我建议你在选传感器时,先搞清楚拜耳模式。不同模式直接影响ISP的demosaic算法和AWB(自动白平衡)策略。
3.2.2 拜耳阵列的ISP处理流程
- 原始RAW数据:每个像素只有单通道值
- 黑电平校正:减去暗电流偏移
- 去马赛克(Demosaic):插值恢复全彩色
- 白平衡:调整R/G/B增益
- 颜色校正矩阵:转换到标准色域
小技巧:调试时先看RAW图(拜耳格式),能直接看出传感器有没有坏点、暗电流是否均匀。别一上来就跑完整ISP pipeline,那是给自己挖坑。
3.3 像素结构与填充因子
像素结构,决定了传感器的“底子”好不好。填充因子,则决定了光能利用率。
3.3.1 像素基本结构
一个典型的CMOS像素包含:
- 光电二极管(PD):把光转成电荷
- 传输门(TG):控制电荷转移到浮置扩散区
- 浮置扩散区(FD):临时存储电荷,转换成电压
- 源跟随器(SF):缓冲输出
- 行选通管(RS):控制像素是否接入列总线
- 复位管(RST):清空FD区电荷
嗯,这里要注意:每个像素里塞了这么多晶体管,感光面积自然就被压缩了。这就是填充因子问题的根源。
3.3.2 填充因子(Fill Factor)
定义:感光面积 / 像素总面积 × 100%
举个例子:一个2μm×2μm的像素,光电二极管面积只有1.2μm×1.2μm,那填充因子就是(1.44/4)×100% = 36%。
为什么重要?填充因子越低,灵敏度越差,信噪比越低。你调3A算法时,如果发现增益拉高后噪声爆炸,先看看传感器填充因子是不是太低了。
3.3.3 提升填充因子的方法
- 微透镜阵列:把光汇聚到感光区,等效提升填充因子
- 背照式(BSI):把电路层翻到背面,感光面朝上
- 堆叠式(Stacked):像素层和电路层分开堆叠
我记得2015年做一款安防相机,用的前照式(FSI)传感器,填充因子只有40%。晚上基本没法看。后来换了背照式,填充因子提到75%,低光性能直接翻倍。
3.4 知识结构图:传感器核心概念关系
下面这张图帮你理清传感器、像素、拜耳阵列和ISP之间的关系:
3.5 实战要点总结
给ISP工程师的3条建议:
- 选传感器时:先看填充因子和像素尺寸,别只看像素数。2000万像素但像素只有0.8μm,低光性能一定拉胯。
- 调3A时:搞清楚拜耳模式。RGGB和RCCB的AWB策略完全不同,别套用同一套参数。
- 调试时:先看RAW图,确认传感器输出正常,再跑ISP pipeline。我见过太多人跳过这步,最后查bug查到崩溃。
一句话总结:传感器是ISP的“食材”,食材不好,厨艺再高也白搭。理解CCD/CMOS、拜耳阵列、像素结构和填充因子,是你写好3A算法的第一步。