3、图像传感器(Image Sensor):CMOS vs CCD,像素结构,Bayer阵列与色彩滤波
图像传感器,说白了就是相机的「视网膜」。光进来,能不能变成电信号,全靠它。我这些年经手过的项目,从手机模组到工业相机,传感器选型永远是第一道坎——选对了,后面ISP调起来顺风顺水;选错了,后期怎么救都救不回来。
这一节,我们重点拆解三个核心问题:CMOS和CCD到底差在哪?单个像素里面长什么样?以及,为什么几乎所有的彩色相机都离不开Bayer阵列?
3.1 CMOS vs CCD:两种主流技术路线
先看一张对比表,把底层的差异说清楚。
| 对比维度 | CCD(电荷耦合器件) | CMOS(互补金属氧化物半导体) |
|---|---|---|
| 读出方式 | 逐行电荷转移,统一输出 | 每个像素独立寻址,并行读出 |
| 功耗 | 高(需要多路高压时钟驱动) | 低(单电源,静态功耗极低) |
| 噪声 | 低(读出路径单一,一致性高) | 较高(像素级放大器失配,固定模式噪声) |
| 速度 | 慢(串行读出,帧率受限) | 快(并行读出,轻松上60fps甚至更高) |
| 集成度 | 低(需要外部ADC、驱动芯片) | 高(ADC、时序控制、甚至ISP可集成在同一芯片) |
| 成本 | 高(工艺特殊,良率低) | 低(标准CMOS工艺,量大管饱) |
| 动态范围 | 优秀(典型70-80dB) | 一般(典型60-70dB,但可通过多增益扩展) |
我个人习惯把CCD比作「老派工匠」——画质干净、动态范围宽,但脾气大、功耗高、速度慢。CMOS则是「现代工厂」——灵活、便宜、速度快,但底噪偏大,需要后期算法去补偿。
关键结论: 消费电子领域,CMOS已经全面取代CCD。但在天文、科研、医疗等对极低噪声有变态要求的场景,CCD依然有不可替代的地位。我去年帮一个卫星载荷项目做选型,最后还是选了背照式CCD——没办法,信噪比要求太苛刻了。
避坑指南: 我曾经在一个安防项目中,为了省成本选了低端CMOS,结果夜视模式下满屏的固定模式噪声(FPN),怎么调ISP都压不下去。后来换了带片上降噪的型号,问题才解决。选型时一定要看「暗场噪声」和「读出噪声」两个指标,别只看像素数。
3.2 像素结构:从光电二极管到电压信号
一个像素到底是怎么工作的?我画了一张简化的结构图,帮你理清信号流。
嗯,这张图里最核心的就是「光电二极管(PD)」和「浮置扩散区(FD)」。光子打到PD上产生电子,电子通过传输门(TG)转移到FD,FD把电荷包转换成电压,再经过源极跟随器(SF)缓冲输出。你想想看,这个过程其实非常脆弱——任何一个环节漏电,暗电流就上来了。
注意: 像素尺寸越小,满阱容量(Full Well Capacity)就越小,动态范围就越差。我见过不少手机传感器把像素做到0.8μm以下,白天还行,一到暗光环境,信噪比直接崩盘。这是物理极限,算法救不了。
3.3 Bayer阵列:为什么是RGGB?
单颗像素只能感知光的强度,分辨不出颜色。那彩色图像怎么来的?答案是:在像素表面盖一层彩色滤光片,每个像素只允许特定波长的光通过。
最经典的方案就是Bayer阵列——以2x2为基本单元,排列为R、G、G、B。为什么绿色有两个?因为人眼对绿色最敏感,多采样绿色可以更好地模拟人眼视觉特性。
Bayer阵列的原始数据叫「RAW图」——每个像素只有一种颜色信息。要得到全彩图像,必须经过「去马赛克(Demosaic)」算法,把缺失的另外两个颜色通道插值出来。这部分我们会在ISP章节详细讲。
经验之谈: 我曾经调试过一款传感器,Bayer阵列的绿色滤光片光谱响应和红外截止滤光片(IR-Cut)不匹配,导致绿色通道出现奇怪的偏色。后来查了滤光片的光谱曲线才发现,IR-Cut的截止波长刚好切掉了G通道的一部分响应。嗯,这种坑,不看datasheet根本发现不了。
3.4 色彩滤波的物理限制
彩色滤光片不是完美的。每个通道都有光谱串扰——比如红色滤光片也会让少量绿光通过。这会导致颜色饱和度下降,需要ISP做「颜色校正矩阵(CCM)」来补偿。
另外,滤光片会吸收大约2/3的光能量。你想想看,每个像素只允许一种颜色通过,其他两种颜色的光直接被滤掉了。这就是为什么彩色传感器的灵敏度天生比黑白传感器低——黑白传感器没有滤光片,所有光子都能被利用。
核心矛盾: 彩色滤光片带来了颜色信息,但牺牲了灵敏度和分辨率。为了弥补,现代传感器开始用「四合一(Quad Bayer)」或「非规则阵列」——比如华为的RYYB阵列,用黄色滤光片替代绿色,进光量提升40%,但代价是颜色还原更复杂,需要更强的算法。
3.5 本章小结
图像传感器是整个Camera硬件通路的起点。理解CMOS和CCD的差异、像素的4T结构、Bayer阵列的RGGB布局,是后续所有ISP处理的基础。我个人建议,做ISP算法的人,一定要亲手看过传感器的datasheet和光谱响应曲线——纸上得来终觉浅,绝知此事要躬行。