2、摄像头硬件基础:图像传感器(CMOS/CCD)、镜头、光圈、快门、增益、曝光等基本概念
摄像头硬件是理解Camera HAL与V4L2框架的物理根基。无论是手机、车载摄像头还是工业相机,其成像链路都遵循“光线进入→镜头聚焦→传感器光电转换→ISP处理→输出图像”的基本路径。本章将围绕图像传感器(CMOS/CCD)、镜头、光圈、快门、增益与曝光等核心概念展开,帮助读者建立从物理世界到数字图像的完整映射关系。这些概念不仅是驱动调试、图像质量调优的基础,也是后续理解V4L2控制节点(如曝光、增益、白平衡)语义的关键前提。
上图展示了摄像头成像的核心链路与曝光控制要素之间的关系。光线经过镜头与光圈进入传感器,快门决定曝光时间,传感器完成光电转换后输出RAW数据,增益在模拟或数字域放大信号,最终由ISP处理输出图像。理解这条链路是掌握Camera HAL控制逻辑的基础。
2.1 图像传感器:CMOS与CCD的工作原理与差异
核心原理
图像传感器的核心功能是将光信号转换为电信号。CCD(电荷耦合器件)与CMOS(互补金属氧化物半导体)是两种主流技术。CCD传感器在制造时将光电二极管产生的电荷逐行转移到输出放大器,其结构决定了它具有低噪声、高均匀性的特点,但功耗较高、帧率受限。CMOS传感器则在每个像素内集成放大器和读出电路,可以实现随机访问和更高的帧率,功耗更低,且易于与ISP、ADC等模块集成,因此当前主流摄像头(手机、车载、安防)几乎全部采用CMOS传感器。
从物理结构看,CMOS像素通常采用4T结构(4个晶体管),包含光电二极管、传输门、复位管、源跟随器和行选择管。光电二极管完成光生载流子的收集,传输门控制电荷向浮置扩散区的转移,复位管用于重置像素电压,源跟随器将电荷信号转换为电压信号。这一结构决定了CMOS传感器的读出方式为逐行扫描,即卷帘快门(Rolling Shutter)模式。
判断方法或操作流程
在实际项目中,选择CMOS还是CCD传感器,需要根据应用场景判断:
- 帧率要求:高速运动场景(如工业检测、运动相机)优先选择CMOS,因其支持高帧率输出。
- 噪声敏感度:科学成像、天文观测等弱光场景,CCD的低噪声特性更优,但成本高。
- 功耗与体积:移动设备、嵌入式视觉系统必须选择CMOS。
- 快门模式:拍摄快速运动物体且需要避免果冻效应时,应选择支持全局快门(Global Shutter)的CMOS传感器。
案例拆解
以某车载前视摄像头为例,其选用OmniVision OX03C10传感器,这是一款支持全局快门的CMOS传感器,分辨率为1920x1280,像素尺寸3.0μm。在车辆以120km/h行驶时,若使用卷帘快门,垂直方向上的曝光时间差会导致物体边缘出现倾斜变形,而全局快门可以同时曝光所有像素,避免该问题。该传感器通过MIPI CSI-2接口输出RAW10数据,HAL层通过V4L2的V4L2_CID_EXPOSURE和V4L2_CID_GAIN节点控制曝光与增益,实现自动曝光算法。
常见误区
误区1:认为CMOS传感器一定比CCD差。实际上,现代背照式(BSI)CMOS传感器的量子效率已超过CCD,且噪声控制水平大幅提升。
误区2:忽略暗电流的影响。暗电流是传感器在无光照时产生的电荷,随温度升高而增加,会导致图像出现热噪声。在长曝光场景(如天文摄影)中,必须考虑暗电流校正。
2.2 镜头与光圈:焦距、F值与景深控制
核心原理
镜头负责将场景光线聚焦到传感器表面,其光学特性直接影响图像的清晰度、畸变和亮度。焦距决定了视场角(FOV),短焦距(广角)适合拍摄大场景,长焦距(长焦)适合远距离拍摄。光圈是镜头内部的可调孔径,用F值表示(如F/1.8、F/2.8),F值越小,光圈越大,进光量越多,景深越浅(背景虚化效果明显)。
光圈与快门、增益共同决定曝光量。曝光量(EV)的计算公式为:EV = log2(N²/t),其中N为F值,t为快门时间(秒)。例如,F/2.0、快门1/100s的曝光量与F/2.8、快门1/50s的曝光量相同,因为光圈缩小一档(进光量减半),快门时间延长一档(进光量加倍),两者相互补偿。
判断方法或操作流程
在Camera HAL调试中,光圈控制通常由镜头驱动芯片(如DW9714)通过I2C接口控制音圈马达(VCM)实现。操作流程如下:
- 初始化VCM驱动,设置I2C地址和寄存器配置。
- 通过V4L2的V4L2_CID_FOCUS_ABSOLUTE节点设置对焦位置。
- 若镜头支持光圈调节(如部分工业镜头),通过PWM或I2C控制光圈马达。
- 在自动曝光算法中,根据场景亮度动态调整光圈、快门和增益的组合。
案例拆解
某安防摄像头在夜间场景下,自动曝光算法优先将光圈开到最大(F/1.6),快门降至1/30s,增益提升至12dB。此时画面亮度足够,但噪声明显。通过调整算法策略,将快门降至1/15s,增益降至6dB,画面噪声降低约40%,但运动物体出现拖影。最终方案是:在检测到场景中有运动目标时,优先提高增益而非降低快门,以保证帧率与清晰度。
常见误区
经验提醒:光圈F值并非越小越好。小光圈(大F值)虽然进光量少,但能获得更大的景深,适合拍摄风景或文档。在HAL层实现自动曝光时,应优先调节快门和增益,最后才调节光圈,因为光圈变化会影响景深和畸变。
2.3 快门与曝光:卷帘快门、全局快门与曝光时间
核心原理
快门控制传感器感光的时间长度。CMOS传感器通常采用电子快门,分为卷帘快门(Rolling Shutter)和全局快门(Global Shutter)。卷帘快门逐行曝光,每行曝光起始时间略有差异,当拍摄快速运动物体时会产生果冻效应(物体倾斜、扭曲)。全局快门所有像素同时曝光,避免了果冻效应,但像素结构更复杂,成本更高。
曝光时间(Exposure Time)是快门开启的时间,单位通常为微秒(μs)或毫秒(ms)。曝光时间越长,进光量越多,但运动模糊越严重。在V4L2框架中,曝光时间通过V4L2_CID_EXPOSURE节点控制,单位为100μs(即1/10000s)。
判断方法或操作流程
在HAL层实现曝光控制时,需要根据场景动态调整曝光时间:
- 静态场景:优先延长曝光时间,降低增益,获得低噪声图像。
- 运动场景:缩短曝光时间,提高增益,避免运动模糊。
- 强光场景:缩短曝光时间,同时减小光圈或降低增益,防止过曝。
案例拆解
某工业相机在检测高速运动的零件时,初始设置曝光时间为2000μs,增益为0dB,图像出现严重运动模糊。通过分析,将曝光时间缩短至500μs,增益提升至12dB,运动模糊消除,但噪声增加。进一步优化:开启传感器内置的降噪功能,并调整ISP的降噪强度,最终在清晰度与噪声之间取得平衡。
常见误区
风险说明:卷帘快门在拍摄LED屏幕或闪光灯场景时,可能出现明暗条纹(banding)。这是因为LED的PWM调光频率与传感器行扫描频率不匹配。解决方法是调整曝光时间,使其为LED频率的整数倍,或使用全局快门传感器。
2.4 增益与曝光三角:ISO、dB与动态范围
核心原理
增益(Gain)是放大传感器输出信号的倍数,分为模拟增益和数字增益。模拟增益在像素读出阶段放大电压信号,数字增益在ADC转换后放大数字信号。增益越高,图像越亮,但噪声也被放大。在Camera HAL中,增益通常以dB为单位(1dB ≈ 1.122倍),或使用ISO等效值(ISO 100对应增益1x,ISO 200对应2x)。
曝光三角(Exposure Triangle)指光圈、快门、增益三者共同决定图像亮度。在自动曝光算法中,通常遵循“先调快门,再调增益,最后调光圈”的优先级顺序,以在亮度、噪声和景深之间取得平衡。
判断方法或操作流程
在V4L2驱动中,增益控制通过V4L2_CID_GAIN节点实现,单位为dB。操作流程:
- 读取当前曝光时间与增益值。
- 计算当前图像亮度(如Y通道平均值)。
- 若亮度低于目标值,优先增加曝光时间;若曝光时间已达上限,则增加增益。
- 若亮度高于目标值,优先降低增益;若增益已降至最低,则缩短曝光时间。
案例拆解
某手机前置摄像头在逆光场景下,人脸区域过暗。自动曝光算法检测到人脸区域亮度仅为目标值的60%,首先将曝光时间从1/60s延长至1/30s,亮度提升至80%;再增加6dB增益,亮度达到目标值。但背景区域过曝,算法启用HDR模式,通过多帧合成保留高光细节。
常见误区
经验提醒:增益并非越大越好。当增益超过24dB时,图像噪声会显著增加,动态范围下降。在HAL层实现自动曝光时,应设置增益上限(如18dB),防止图像质量恶化。
2.5 知识结构表格与总结
| 概念 | 物理含义 | 控制方式 | V4L2节点 | 典型值/范围 |
|---|---|---|---|---|
| 光圈 | 镜头通光孔径大小 | VCM马达/光圈马达 | V4L2_CID_FOCUS_ABSOLUTE(对焦) | F/1.6 ~ F/16 |
| 快门 | 传感器感光时间 | 电子快门 | V4L2_CID_EXPOSURE | 100μs ~ 1s |
| 增益 | 信号放大倍数 | 模拟/数字增益 | V4L2_CID_GAIN | 0dB ~ 24dB |
| 曝光 | 光圈+快门+增益组合 | AE算法 | V4L2_CID_AUTO_EXPOSURE | 自动/手动 |
| 传感器 | 光电转换器件 | I2C配置 | V4L2_CID_PIXEL_RATE | CMOS/CCD |
本章从摄像头硬件的基本概念出发,详细阐述了图像传感器、镜头、光圈、快门、增益与曝光之间的内在联系。理解这些概念是后续学习Camera HAL控制逻辑、V4L2驱动框架以及ISP图像质量调优的基础。在实际项目中,需要根据应用场景(如车载、安防、工业检测)选择合适的传感器与镜头,并通过HAL层合理配置曝光参数,才能获得清晰、低噪声、色彩准确的图像。