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)= 有效行数 + 垂直消隐行数。

下表列出常见分辨率与读出配置下的理论帧率上限(假设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读出时间与帧率的关系曲线,以及不同分辨率下的瓶颈区域:

Sensor读出时间 vs 帧率上限 读出时间 (ms) 0 10 20 30 40 0 30 60 120 帧率 (fps) 8.3ms / 120fps 11.1ms / 90fps 16.7ms / 60fps 33.3ms / 30fps 帧率瓶颈区 读出时间 > 20ms 帧率 < 50fps 需启用Binning或裁剪

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模式下的帧率折损情况:

HDR模式帧率折损对比 (12M Binning) 60fps Linear 51fps DCG HDR 30fps Staggered HDR 20fps DOL-HDR -15% -50% -67%

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模式下的帧率与带宽关系:

48M Sensor Binning模式帧率与带宽 帧率 (fps) 30 48M Full 90 12M 2x2 120 8M 2x2 120 4K Sub MIPI带宽 (Gbps) 12.0 Gbps 3.0 Gbps 2.0 Gbps 1.8 Gbps Binning选型建议 预览/视频: 12M 2x2 高帧率: 8M 2x2 拍照: 48M Full 带宽受限: 4K Sub 注意Sub混叠效应

3.4 高通平台Sensor选型检查清单

在实际项目中,建议按以下清单评估Sensor与模组对帧率的影响:

  1. 确认Sensor读出架构: 卷帘快门 vs 全局快门,读出时间是否满足目标帧率。
  2. 评估HDR模式折损: 根据场景动态范围需求,选择帧率损失最小的HDR模式。
  3. 规划Binning策略: 48M Sensor默认启用2x2 Binning作为预览流,全尺寸仅用于拍照。
  4. 检查MIPI带宽: 使用高通 cam_mipi_bandwidth_calc 工具验证是否超出PHY限制。
  5. 验证消隐区配置: 在 sensor_mode_table 中调整VTS/HTS,确保不触发ADC不稳定。
  6. 测试温度影响: 高温下Sensor读出噪声增加,可能需要降低帧率以维持画质。
实战案例: 某48M项目在预览时帧率仅22fps,经排查发现Sensor配置为全尺寸输出且未启用Binning。修改 sensor_output_mode = SENSOR_BINNING_2X2 后,帧率提升至60fps,同时ISP负载降低40%。