图像传感器基础:CMOS vs CCD、Bayer阵列原理、Sensor特性参数

做ISP调优这些年,我越来越觉得一个道理:不懂传感器,就别谈图像质量。你调了半天参数,可能问题根本不在ISP,而在Sensor本身。这一章,咱们就把传感器的底裤扒干净。

CMOS vs CCD:一场没有悬念的战争

先说结论:现在消费级、工业级、车载领域,CMOS基本一统天下。CCD只在一些特殊领域(比如天文、某些医疗设备)还能见到。为什么会这样?

我2010年刚入行时,CCD在高端相机里还是主流。那时候CMOS的噪声大得吓人,暗光下全是雪花点。但CMOS有个致命优势——功耗低、集成度高。手机要轻薄、要省电,CCD那套多电压供电、复杂时序的玩法根本塞不进去。

对比项 CMOS CCD
读出方式 每个像素独立放大、读出(X-Y寻址) 整行电荷转移,串行读出
功耗 低(单电压供电,静态功耗几乎为零) 高(需要多组时钟驱动,功耗大)
噪声 较高(像素级放大器引入固定模式噪声) 较低(读出路径单一,一致性更好)
速度 快(可随机访问,支持高帧率) 慢(串行读出,帧率受限)
集成度 高(ADC、时序、逻辑可集成在同一芯片) 低(需要外部驱动芯片和ADC)
成本 低(标准CMOS工艺) 高(专用工艺,良率低)

我的经验:如果你在选型时纠结CMOS还是CCD,直接选CMOS。除非你的项目对极低噪声和极高均匀性有变态要求,且不care功耗和成本。

我记得有一次做工业检测项目,客户非要CCD,说CMOS有卷帘快门效应拍运动物体不行。我给他看了当时一款全局快门CMOS的测试视频,他沉默了。嗯,从那以后,CCD在我项目里就再也没出现过。

Bayer阵列原理:为什么你的Sensor是彩色的?

单颗像素只能感知光的强度,分不清颜色。那彩色图像怎么来的?答案就是在像素表面镀滤光片。

Bayer阵列是最经典的滤光片排列方式。它长这样:

R G R G R G
G B G B G B
R G R G R G
G B G B G B

看到规律了吗?绿色像素数量是红蓝的两倍。为什么?因为人眼对绿色最敏感。说白了,这是仿生学设计——模拟人眼视锥细胞的分布。

每个像素只记录一种颜色,那最终全彩图像怎么来的?插值(Demosaic)。用周围像素的颜色信息,把缺失的通道猜出来。

避坑指南:我曾经在调试一款4K Sensor时,发现边缘有大量彩色锯齿。查了两天才发现是Demosaic算法对Bayer模式匹配错了——Sensor用的是RGGB,我代码里写的是BGGR。这种低级错误,嗯,犯过一次就再也不会忘了。

Bayer阵列的变种也不少:

  • RGGB:最经典,索尼、三星主流
  • BGGR:有些OmniVision Sensor用这个
  • RGBW:加入白色像素,提升暗光灵敏度(但会损失色彩饱和度)
  • RCCC:用于自动驾驶,红色+三个透明,追求高灵敏度

你想想看,如果选错了Bayer模式,整个ISP流水线都会崩。所以拿到新Sensor的第一件事——确认Bayer pattern,然后用raw图验证。

Sensor特性参数:读懂传感器的体检报告

这三个参数是Sensor的硬指标,直接决定了图像质量的天花板。ISP调得再好,也突破不了Sensor的物理极限。

动态范围(Dynamic Range)

说白了,就是Sensor能同时记录的最亮和最暗区域的比值。单位是dB。

公式: DR = 20 × log₁₀(满阱容量 / 读出噪声)

举个例子:满阱容量100000e⁻,读出噪声10e⁻,DR = 20×log₁₀(10000) = 80dB。

我做过一个HDR项目,Sensor动态范围只有60dB,拍逆光场景时天空一片死白,暗部全是黑。后来换了块74dB的Sensor,配合多帧HDR算法,效果才勉强能看。

注意:动态范围不是越大越好。大动态范围往往意味着满阱容量大,但像素尺寸也大,分辨率就上不去。这是物理上的取舍。

信噪比(SNR)

信号和噪声的比值。信噪比越高,图像越干净。

公式: SNR = 20 × log₁₀(信号 / 噪声)

噪声来源主要有三个:

  • 散粒噪声:光子到达的随机性,服从泊松分布。信号越强,散粒噪声越大(但信噪比反而提高)
  • 读出噪声:像素放大器和读出电路引入的噪声,与信号强度无关
  • 暗电流噪声:热激发产生的电子,温度越高越严重

我习惯用这个经验值:SNR > 40dB 算优秀,30-40dB 算良好,< 30dB 噪点就比较明显了。

量子效率(QE)

入射光子转化为电子的比例。QE越高,灵敏度越高。

公式: QE = 产生的电子数 / 入射光子数 × 100%

现代背照式(BSI)CMOS的QE可以做到70%-80%,前照式(FSI)一般在40%-60%。

我记得有一次做微光摄像头,Sensor的QE只有45%,暗光下图像完全没法看。后来换了块QE 72%的BSI Sensor,同样的镜头和ISP参数,画面亮度直接翻倍。这就是物理层面的碾压。

参数 典型值(消费级) 典型值(工业/车载) 对图像的影响
动态范围 60-75 dB 70-90 dB 高光/暗部细节保留能力
信噪比 35-45 dB 40-50 dB 噪声水平、画面纯净度
量子效率 50-70% 60-80% 灵敏度、暗光表现

知识体系:传感器核心逻辑

下面这张图,是我自己梳理的传感器知识框架。每次带新人,我都会先让他们看这个。

图像传感器知识体系 图像传感器 传感器类型 CMOS CCD 滤光片阵列 Bayer RGBW/RCCC 核心参数 动态范围 信噪比 量子效率 调优工程师必须记住的三句话 1. CMOS选型看应用场景,CCD只留给特殊需求 2. Bayer模式错了,ISP调得再好也是白搭 3. 动态范围、信噪比、量子效率——Sensor的三大硬指标

核心总结:传感器是ISP的起点。CMOS vs CCD决定了系统架构,Bayer阵列决定了色彩还原的基础,三大参数决定了图像质量的上限。我建议你拿到一块新Sensor时,先花半天时间把datasheet里的这三个参数吃透,再动手调ISP。否则,你调出来的可能只是噪声的另一种表现形式。