图像传感器基础:CMOS与CCD传感器原理、像素结构与CFA
各位同学,欢迎来到第二章。上一章我们聊了RAW图像是什么,以及为什么ISP流程要从RAW域开始。今天咱们深入到底层——图像传感器本身。
说白了,传感器就是相机的“视网膜”。光信号进来,它负责转换成电信号。但这里面的门道可不少。我刚开始做ISP时,总觉得传感器就是个黑盒子,直到有一次调试暗光噪点,怎么都压不下去,最后发现是传感器型号选错了——那款CCD在低照度下读出噪声大得离谱。从那以后,我养成了一个习惯:拿到项目先看传感器datasheet,搞清楚它是CMOS还是CCD。
2.1 CMOS vs CCD:两种主流传感器架构
先看一张对比图,帮大家建立整体认知。
这张图很直观。CMOS和CCD最大的区别在于读出方式。CMOS每个像素或者每列像素自带放大器,可以随机读取,速度快、功耗低。CCD则是电荷耦合传输,所有像素的电荷像水桶接力一样传到输出端统一放大。
核心差异速查表
| 对比项 | CMOS | CCD |
|---|---|---|
| 读出方式 | 像素级/列级并行读出 | 电荷逐行/逐列串行传输 |
| 功耗 | 低(约CCD的1/10) | 高(需要多路高压时钟) |
| 读出速度 | 快(支持高帧率) | 慢(受限于电荷转移速率) |
| 噪声水平 | 较高(像素级放大器不一致) | 低(统一放大器,一致性高) |
| 集成度 | 高(可集成ADC、DSP) | 低(需要外部支持电路) |
| 成本 | 低(标准CMOS工艺) | 高(专用工艺) |
| 主流应用 | 手机、安防、车载、消费电子 | 天文、科研、高端工业相机 |
我个人习惯,做消费电子项目时首选CMOS。原因很简单:功耗低、集成度高,一颗芯片就能搞定传感器+ISP。但如果是做科学级成像,比如天文摄影,CCD仍然是首选——它的读出噪声可以做到极低,动态范围也更大。
避坑指南
我曾经在一个安防项目中,为了追求低光性能选了CCD,结果发现帧率上不去,运动物体拖影严重。后来换回CMOS,配合多帧降噪,效果反而更好。记住:没有的好坏,只有适合不适合。
2.2 像素结构:光电二极管与微透镜
传感器的最小单元就是像素。一个典型的CMOS像素长什么样?我画个结构图。
从上往下看,光线先经过微透镜。微透镜的作用是汇聚光线,把本来会照到金属布线上的光也引导到光电二极管上。你想想看,如果没有微透镜,像素的填充因子可能只有30%-40%,大部分光都浪费了。
光电二极管是核心感光元件。光子打进来,产生电子-空穴对,电子被收集形成光电流。这里有个关键参数——量子效率(QE),就是入射光子转化成电子的比例。我见过最好的背照式CMOS,QE能做到90%以上,而普通前照式只有50%-60%。
注意:像素饱和与满阱容量
每个像素能容纳的电子数是有限的,这个上限叫满阱容量(Full Well Capacity)。一旦超过,电子就会溢出到相邻像素,造成 blooming(光晕)现象。我在调试HDR模式时经常要跟这个参数打交道——满阱容量越大,单帧动态范围越高。
2.3 彩色滤波阵列(CFA)的作用
光电二极管本身是色盲的——它只能感知光的强度,分不清颜色。那彩色图像怎么来的?答案就是CFA。
CFA是一层覆盖在像素阵列上的彩色滤光片,每个像素只允许特定波长的光通过。最常见的模式是Bayer阵列,也就是RGGB模式。
为什么绿色像素占一半?因为人眼对绿色波段最敏感。Bayer阵列就是模仿人眼视锥细胞的分布。每个像素只记录一种颜色,那最终的全彩图像怎么来的?靠的是去马赛克(Demosaic)算法——用周围像素插值出缺失的颜色信息。
除了Bayer,还有其他CFA模式:
- X-Trans(富士):6x6周期排列,减少摩尔纹,适合高分辨率场景
- Quad Bayer:2x2同色像素合并,用于高像素手机传感器,支持binning模式
- RCCC / RCCB:用于车载/安防,牺牲色彩保真度换取高感光度
实战经验
我在做车载摄像头项目时,用的就是RCCC阵列——红色+三个透明通道。为什么?因为夜间行车需要高灵敏度,色彩准确度反而是次要的。CFA的选择直接影响ISP pipeline的设计,尤其是demosaic和去噪模块的参数。
2.4 从像素到RAW数据
好了,现在光线经过微透镜、CFA,被光电二极管转换成电子,然后呢?电子需要被读出并转换成数字值。这个过程就是ADC(模数转换)。
每个像素的模拟电压被ADC量化成数字码。量化深度决定了RAW数据的位深。常见的位深有:
| 位深 | 灰度级数 | 典型应用 |
|---|---|---|
| 8-bit | 256 | 预览、视频(H.264编码) |
| 10-bit | 1024 | 手机RAW、基础ISP |
| 12-bit | 4096 | 专业相机、高动态范围 |
| 14-bit | 16384 | 中画幅、科学级成像 |
| 16-bit | 65536 | 天文、医疗、工业检测 |
位深越高,能记录的亮度层次越细腻。但代价是数据量翻倍,ADC设计也更复杂。我建议做嵌入式ISP时,至少用10-bit RAW,否则后期做黑电平校正和去噪时,量化误差会很明显。
最后,这些数字值按照CFA的排列顺序,逐像素输出,就形成了我们熟悉的RAW文件。嗯,这里要注意:RAW文件里每个像素只记录一种颜色,而且数值是线性响应的——跟人眼的非线性感知完全不同。这就是为什么后续需要做gamma校正和色彩空间转换。
本章要点回顾
- CMOS vs CCD:CMOS功耗低、速度快、集成度高,是消费电子主流;CCD画质纯净,用于科研级场景
- 像素结构:微透镜→CFA→光电二极管,填充因子和量子效率决定感光性能
- CFA的作用:让色盲的传感器感知颜色,Bayer阵列是最常见的RGGB模式
- RAW数据:每个像素单色、线性、高位深,是ISP处理的起点