Android Camera Sensor Mode 分类与选择详解
1. 什么是 Sensor Mode
Sensor Mode是图像传感器的一种工作配置,定义了传感器如何读出像素数据。每个模式对应一组固定的参数组合:分辨率、帧率、HDR 方式、Binning 方式、输出位深等。
Sensor Mode 的本质: 一个 Sensor 芯片 (如 IMX766) 内部有 5000万像素 但这 5000万像素可以用多种方式读出: Mode 0: 8192×6144 (全分辨率), 15fps, 12bit, 无 HDR Mode 1: 4096×3072 (2×2 Binning), 30fps, 10bit, 无 HDR Mode 2: 4096×3072 (2×2 Binning), 30fps, 10bit, Staggered HDR Mode 3: 1920×1080 (Crop), 60fps, 10bit, 无 HDR Mode 4: 1920×1080 (Crop), 120fps, 10bit, 无 HDR Mode 5: 4096×2304 (16:9 Crop), 30fps, 10bit, DOL HDR ... 每个 Mode 是 Sensor 硬件的一种预设工作状态 切换 Mode 需要重新配置 Sensor 寄存器2. Sensor Mode 分类维度
2.1 分类总览
┌─────────────────────────────────────────────────────────────────┐ │ Sensor Mode 分类维度 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 一、按分辨率分类 │ │ ├─ Full (全分辨率) │ │ ├─ Binning (合并降分辨率) │ │ ├─ Crop (裁剪降分辨率) │ │ └─ Skip (跳行降分辨率) │ │ │ │ 二、按帧率分类 │ │ ├─ 低帧率 (7.5~15fps) — 全分辨率/拍照 │ │ ├─ 标准帧率 (24~30fps) — 预览/录制 │ │ ├─ 高帧率 (60~120fps) — 慢动作/运动 │ │ └─ 超高帧率 (240~960fps) — 超级慢动作 │ │ │ │ 三、按 HDR 分类 │ │ ├─ 非 HDR (Linear) — 单曝光线性输出 │ │ ├─ Staggered HDR — 行交错多曝光 │ │ ├─ DOL HDR — 数字重叠多曝光 │ │ ├─ DCG HDR — 双转换增益 │ │ └─ LOFIC HDR — 溢出电容 HDR │ │ │ │ 四、按输出位深分类 │ │ ├─ 8-bit — 低带宽, 低画质 │ │ ├─ 10-bit — 标准 │ │ ├─ 12-bit — 高画质 │ │ └─ 14-bit — 最高画质 (RAW 拍照) │ │ │ │ 五、按输出格式分类 │ │ ├─ RAW (Bayer) — 未处理原始数据 │ │ ├─ YUV — ISP 处理后 │ │ └─ JPEG — 压缩输出 │ │ │ │ 六、按使用场景分类 │ │ ├─ Preview (预览) — 实时显示 │ │ ├─ Capture (拍照) — 高画质单帧 │ │ ├─ Video (录像) — 连续高帧率 │ │ └─ Analysis (分析) — 低分辨率 Stats │ │ │ └─────────────────────────────────────────────────────────────────┘2.2 各分类维度详解
2.2.1 按分辨率分类
全分辨率 vs Binning vs Crop vs Skip: 全分辨率 (Full Resolution): ┌──────────────────────┐ │ ●●●●●●●●●●●●●●●●●●●●│ 所有像素读出 │ ●●●●●●●●●●●●●●●●●●●●│ 8192×6144 │ ●●●●●●●●●●●●●●●●●●●●│ 最高画质, 最低帧率 │ ●●●●●●●●●●●●●●●●●●●●│ └──────────────────────┘ 2×2 Binning (合并): ┌──────────────────────┐ │ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ │ 每 2×2 像素合并为 1 个 │ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ │ 4096×3072 │ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ │ 分辨率降 1/2, 帧率提升 │ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ │ 灵敏度提升, 噪声降低 └──────────────────────┘ Crop (裁剪): ┌──────────────────────┐ │ │ │ ┌────────┐ │ 仅读出中心区域 │ │ ■■■■■■ │ │ 1920×1080 │ │ ■■■■■■ │ │ 视角变窄, 帧率提升 │ └────────┘ │ └──────────────────────┘ Skip (跳行): ┌──────────────────────┐ │ ● · · · ● · · · ● · │ 每 N 行读出 1 行 │ · · · · · · · · · · │ 分辨率降 1/4 │ · · · · · · · · · · │ 可能有摩尔纹 │ ● · · · ● · · · ● · │ └──────────────────────┘2.2.2 按 HDR 分类
| HDR 类型 | 帧率影响 | 分辨率影响 | 运动伪影 | 动态范围 |
|---|---|---|---|---|
| Linear (非 HDR) | 无 | 无 | 无 | ~12 stops |
| Staggered 2-exp | 无 | 降 1/2 | 轻微 | ~14 stops |
| Staggered 3-exp | 无 | 降 1/3 | 轻微 | ~16 stops |
| DOL | 轻微 | 无 | 极轻微 | ~16 stops |
| DCG | 无 | 无 | 无 | ~14 stops |
| LOFIC | 轻微 | 无 | 无 | ~15 stops |
2.2.3 按帧率分类
| 帧率范围 | 典型用途 | 分辨率限制 | 带宽要求 |
|---|---|---|---|
| 7.5~15 fps | 全分辨率拍照 | 全分辨率 | 高 |
| 24~30 fps | 预览/标准录像 | 中等分辨率 | 中 |
| 60 fps | 流畅预览/高速录像 | 降低分辨率 | 中-高 |
| 120 fps | 慢动作 (4×) | 1080p 或更低 | 高 |
| 240 fps | 超慢动作 (8×) | 720p 或更低 | 极高 |
| 480~960 fps | 超级慢动作 | 480p 或更低 | 极高 |
3. Sensor Mode 参数详解
3.1 单个 Mode 的完整参数
Sensor Mode 完整参数: ┌─────────────────────────────────────────────────────────┐ │ Mode X: IMX766_4096x3072_30fps_10bit_StaggeredHDR │ ├─────────────────────────────────────────────────────────┤ │ │ │ 基本参数: │ │ resolution = 4096 × 3072 │ │ fps = 30 │ │ bit_depth = 10 │ │ output_format = RAW10 (Bayer) │ │ color_filter = RGGB │ │ │ │ 像素读出: │ │ binning_mode = 2×2 Horizontal + 2×2 Vertical │ │ crop_region = (0, 0, 8192, 6144) │ │ skip_mode = None │ │ │ │ HDR 参数: │ │ hdr_mode = Staggered 2-exposure │ │ exp_ratio = 16:1 (4 stops) │ │ le_lines = 3000 │ │ se_lines = 188 │ │ │ │ 时序参数: │ │ frame_length = 3200 lines │ │ line_length = 12000 pixels │ │ readout_time = 3200 × line_time = 25.6ms │ │ blanking = 200 lines (VBlank) │ │ │ │ MIPI 参数: │ │ lanes = 4 │ │ data_rate = 2.5 Gbps/lane │ │ total_bw = 10 Gbps │ │ │ │ 增益范围: │ │ analog_gain_min = 1.0x │ │ analog_gain_max = 16.0x │ │ digital_gain_min = 1.0x │ │ digital_gain_max = 4.0x │ │ │ │ 曝光范围: │ │ exp_time_min = 1 line (≈8.33µs) │ │ exp_time_max = 3000 lines (≈25ms) │ │ │ └─────────────────────────────────────────────────────────┘3.2 典型 Sensor Mode 列表 (IMX766 示例)
| Mode | 分辨率 | FPS | Bit | HDR | Binning | 带宽 | 用途 |
|---|---|---|---|---|---|---|---|
| 0 | 8192×6144 | 15 | 12 | No | None | 9.0 Gbps | 全分辨率拍照 |
| 1 | 8192×6144 | 10 | 14 | No | None | 8.4 Gbps | RAW 拍照 |
| 2 | 4096×3072 | 30 | 10 | No | 2×2 | 3.8 Gbps | 标准预览 |
| 3 | 4096×3072 | 30 | 10 | Stagger 2exp | 2×2 | 7.6 Gbps | HDR 预览 |
| 4 | 4096×3072 | 30 | 10 | DOL 3exp | 2×2 | 11.4 Gbps | HDR 预览 |
| 5 | 4096×3072 | 30 | 10 | DCG | 2×2 | 3.8 Gbps | DCG 预览 |
| 6 | 4096×2304 | 30 | 10 | Stagger 2exp | Crop | 5.7 Gbps | 16:9 HDR |
| 7 | 1920×1080 | 60 | 10 | No | Crop | 2.5 Gbps | 高帧率预览 |
| 8 | 1920×1080 | 120 | 10 | No | Crop | 4.9 Gbps | 慢动作 |
| 9 | 1280×720 | 240 | 10 | No | Crop | 4.4 Gbps | 超慢动作 |
| 10 | 640×480 | 480 | 8 | No | Crop+Skip | 2.9 Gbps | 超级慢动作 |
| 11 | 4096×3072 | 30 | 10 |