3. Sensor与模组选型对帧率的影响
在Camera系统中,Sensor与模组是图像数据的源头,其物理特性直接决定了帧率的上限。即使ISP、CPU、DDR带宽全部充裕,Sensor的读出时间、HDR模式以及像素合并(Binning)策略也会形成不可逾越的瓶颈。本章从这三个维度拆解Sensor选型对帧率的制约关系,并给出高通平台上的调优方向。
3.1 Sensor读出时间与帧率上限
Sensor的帧率上限由帧读出时间(Frame Readout Time)决定。读出时间 = 有效像素行数 × 每行读出时间 + 消隐区(Blanking)开销。对于卷帘快门(Rolling Shutter)Sensor,读出时间越长,帧率越低。
关键公式: 最大帧率 = 1 / (VTS × Line_Readout_Time)
其中 VTS(Vertical Total Size)= 有效行数 + 垂直消隐行数。
其中 VTS(Vertical Total Size)= 有效行数 + 垂直消隐行数。
下表列出常见分辨率与读出配置下的理论帧率上限(假设10-bit输出,MIPI 4-lane @ 2.5Gbps/lane):
| 分辨率 | 像素总数 | 典型读出时间 (ms) | 理论最大帧率 (fps) | 高通平台实测参考 |
|---|---|---|---|---|
| 48M (8000x6000) | 48MP | ~33.3 | 30 | SM8350: 28-30fps |
| 12M (4000x3000) | 12MP | ~16.7 | 60 | SM8350: 58-60fps |
| 8M (3264x2448) | 8MP | ~11.1 | 90 | SM8550: 85-90fps |
| 4K (3840x2160) | 8.3MP | ~8.3 | 120 | SM8550: 115-120fps |
调优提示: 在高通Camera驱动(cam_sensor_driver)中,可通过调整
sensor_output_width 和 sensor_output_height 来降低VTS,但需确保不超出Sensor的消隐区最小值。过小的消隐区会导致ADC采样不稳定,产生竖条纹噪声。
下图展示了Sensor读出时间与帧率的关系曲线,以及不同分辨率下的瓶颈区域:
3.2 HDR模式对帧率的折损
HDR(高动态范围)通过多帧合成或交错曝光来扩展动态范围,但会显著降低帧率。主流HDR模式包括:
- DOL-HDR(Digital Overlap HDR): 短、中、长三帧交错读出,帧率降至1/3。
- Staggered HDR: 逐行交错曝光,读出时间增加约2倍。
- DCG(Dual Conversion Gain): 单帧双增益读出,帧率损失约10-15%。
| HDR模式 | 读出帧数 | 帧率折损系数 | 典型场景 | 高通平台支持 |
|---|---|---|---|---|
| Linear (无HDR) | 1 | 1.0x | 室外顺光 | 全平台 |
| DCG HDR | 1 | 0.85-0.9x | 逆光人像 | SM8350+ |
| Staggered HDR | 2 (交错) | 0.5x | 夜景/室内 | SM8550+ |
| DOL-HDR (3帧) | 3 | 0.33x | 大光比场景 | SM8650+ |
性能陷阱: 在48M全尺寸下启用DOL-HDR,帧率将从30fps降至约10fps,严重影响预览流畅度。高通平台建议在12M Binning模式下启用HDR,帧率可维持在25-30fps。
下图对比了不同HDR模式下的帧率折损情况:
3.3 帧大小与Binning策略
像素合并(Binning)是提升帧率最直接的手段。48M Sensor通过硬件Binning输出12M图像,读出数据量降至1/4,帧率可提升2-3倍。高通平台支持多种Binning模式:
- 2x2 Binning: 4合1,48M→12M,帧率提升约2.5x。
- 3x3 Binning: 9合1,48M→5.3M,帧率提升约4x。
- Subsampling(跳采): 隔行/隔列读出,帧率提升但画质下降明显。
| 输出模式 | 有效像素 | MIPI带宽需求 (Gbps) | 理论帧率 (fps) | 画质损失 |
|---|---|---|---|---|
| 48M Full | 48MP | ~12.0 | 30 | 无 |
| 12M 2x2 Binning | 12MP | ~3.0 | 60-90 | 轻微细节损失 |
| 8M 2x2 Binning | 8MP | ~2.0 | 90-120 | 中等细节损失 |
| 4K Subsampling | 8.3MP | ~1.8 | 120 | 明显锯齿/混叠 |
高通平台最佳实践: 在SM8550+平台上,推荐使用
CAM_FORMAT_BAYER_10GB_BPP 格式配合2x2 Binning,通过IFE(Image Front End)的硬件Binning引擎实现零CPU开销的像素合并,帧率可达90fps@12M。
下图展示了48M Sensor在不同Binning模式下的帧率与带宽关系:
3.4 高通平台Sensor选型检查清单
在实际项目中,建议按以下清单评估Sensor与模组对帧率的影响:
- 确认Sensor读出架构: 卷帘快门 vs 全局快门,读出时间是否满足目标帧率。
- 评估HDR模式折损: 根据场景动态范围需求,选择帧率损失最小的HDR模式。
- 规划Binning策略: 48M Sensor默认启用2x2 Binning作为预览流,全尺寸仅用于拍照。
- 检查MIPI带宽: 使用高通
cam_mipi_bandwidth_calc工具验证是否超出PHY限制。 - 验证消隐区配置: 在
sensor_mode_table中调整VTS/HTS,确保不触发ADC不稳定。 - 测试温度影响: 高温下Sensor读出噪声增加,可能需要降低帧率以维持画质。
实战案例: 某48M项目在预览时帧率仅22fps,经排查发现Sensor配置为全尺寸输出且未启用Binning。修改
sensor_output_mode = SENSOR_BINNING_2X2 后,帧率提升至60fps,同时ISP负载降低40%。