1. Camera系统概述:从镜头到数字图像的完整通路
大家好,我是你们这门课的老朋友。今天咱们正式开篇,聊聊Camera系统最基础、也最容易被忽略的问题——光信号到底是怎么变成像素数据的?
我入行那会儿,带我的老工程师第一句话就是:“你手里拿的不是相机,是一台光学-电学-数字的转换器。”当时觉得他在装深沉,后来做了十几年ISP,才明白这句话有多重。
1.1 一条完整的通路,分四段走
说白了,从你按下快门到屏幕上出现一张照片,中间经历了四个核心阶段:
- 光学成像——镜头把外界的光线汇聚到传感器表面
- 光电转换——传感器把光子变成电子,再变成电压
- 模拟前端——把模拟电压放大、去噪、转换成数字码
- 数字处理——ISP把原始数字信号变成你能看的图像
你想想看,这四段里任何一段出问题,最终图像都完蛋。我在项目里见过太多“ISP调不好”的case,最后追根溯源,其实是镜头镀膜有问题,或者传感器供电纹波太大。
核心观点: 图像质量的天花板,在光进入镜头的那一刻就定死了。后端的ISP只能“补救”,不能“创造”。
1.2 第一步:镜头与光学模组
光从物体表面反射出来,第一站就是镜头。镜头不是一块简单的玻璃,而是一组透镜的组合。为什么?因为单透镜有各种像差——球差、色差、彗差……你想想看,如果红色光和蓝色光聚焦不到同一个平面,拍出来的照片边缘就是紫边。
我做过一个手机摄像头项目,客户投诉夜景照片边缘发紫。我们查了三天,最后发现是镜头模组里一片塑料非球面镜片的曲率偏了0.01mm。嗯,0.01mm,就这么点事。
| 光学元件 | 作用 | 常见问题 |
|---|---|---|
| 镜头组 | 汇聚光线、校正像差 | 色差、畸变、分辨率不足 |
| 红外截止滤光片 | 阻挡红外光,防止偏色 | 镀膜脱落、角度偏移 |
| 微透镜阵列 | 提高感光效率 | 与像素错位导致shading |
避坑指南: 我曾经在选型时只看镜头分辨率,忽略了红外截止滤光片的截止波长。结果白天图像正常,一到黄昏画面偏红。后来才知道,低色温环境下红外成分多,滤光片截止不够深就会漏光。
1.3 第二步:传感器——光子到电子的魔术
光穿过镜头,打在传感器上。传感器表面有数百万个感光单元,每个单元就是一个像素。每个像素的核心是一个光电二极管(Photodiode)。
光子撞击硅材料,产生电子-空穴对。电子被收集起来,形成光生电荷。这个过程叫光电效应。你拍的光越强,产生的电子就越多。
但这里有个坑——传感器只能感知光的强度,分不清颜色。那彩色照片怎么来的?答案是拜耳阵列(Bayer Pattern)。
我在第一颗自研传感器芯片的测试中,发现绿色通道的灵敏度比蓝色高了30%。一开始以为是工艺问题,后来发现是微透镜的透过率曲线没对齐。你看,一个微透镜就能让整个颜色矩阵崩掉。
// 典型的拜耳阵列排列(RGGB)
// 人眼对绿色最敏感,所以绿色像素占一半
R G R G ...
G B G B ...
R G R G ...
G B G B ...
1.4 第三步:模拟前端与ADC
传感器收集到的电荷量非常微弱,一个像素可能只有几千个电子。这时候需要模拟前端(AFE)来处理:
- 相关双采样(CDS)——消除复位噪声
- 可编程增益放大器(PGA)——把信号放大到ADC能处理的幅度
- 模数转换器(ADC)——把模拟电压变成数字码
ADC的位数决定了动态范围。10位ADC能输出1024个灰度级,12位是4096级,14位是16384级。我建议你至少用12位,否则暗部细节拉不回来。
注意: 增益不是白给的。每增加6dB增益,信噪比就恶化6dB。我曾经在低照度场景下把增益拉到24dB,结果图像全是噪点,比没信号还难看。后来加了多帧降噪才救回来。
1.5 第四步:ISP——数字域的救火队
ADC输出的原始数据叫RAW图。RAW图不能直接看——它偏暗、偏绿、有噪声、有坏点。ISP的任务就是把这些“半成品”加工成一张能看的照片。
典型的ISP流水线包括:
- 黑电平校正——减去暗电流带来的固定偏置
- 去噪——空域/时域降噪
- 去马赛克——从拜耳阵列插值出全彩色
- 白平衡——校正色温偏差
- 颜色校正矩阵——把传感器颜色空间映射到标准色域
- Gamma校正——适应人眼非线性响应
- 锐化——增强边缘
每个模块都有几十个参数要调。我见过最夸张的项目,一个白平衡算法调了三个月。为什么?因为不同光源下,同样的白色物体反射的光谱不一样,算法得学会“猜”当前是什么光源。
1.6 一张图看懂整个通路
下面这张SVG图,把从镜头到数字图像的完整流程画出来了。我建议你保存下来,后面每一章都会用到这个框架。
1.7 几个关键指标,你得记住
做Camera系统,有些数字你得烂在脑子里。我列个表,方便你随时查:
| 指标 | 典型值 | 影响 |
|---|---|---|
| 量子效率 (QE) | 50%~80% | 越高越灵敏,暗光表现越好 |
| 满阱容量 (FWC) | 10k~100k e- | 决定动态范围上限 |
| 读出噪声 | 1~10 e- | 决定暗部信噪比 |
| 暗电流 | 0.1~10 e-/s | 温度越高越大,长曝光会偏色 |
| ADC位数 | 10~14 bit | 决定量化精度 |
| 帧率 | 30~120 fps | 受限于读出速度和带宽 |
个人经验: 我选传感器时,第一个看的不是分辨率,而是满阱容量和读出噪声的比值。这个比值决定了传感器的“本底动态范围”。如果这个值不到60dB,后期ISP再怎么拉曲线,暗部也是花的。
1.8 小结
这一章我们走完了从镜头到数字图像的完整通路。你记住一句话就行:光→电→数→图,四个环节环环相扣。任何一个环节的短板,都会成为整条链路的瓶颈。