1. 高通Camera整体架构概览

高通平台的Camera软件栈经历了从传统 mm-camera 到新一代 CHI (Camera Hardware Interface) 架构的重大演进。理解这两代架构的差异以及AE/AWB模块在其中的位置,是进行图像质量调试的基础。

1.1 传统 mm-camera 架构

mm-camera (Multimedia Camera) 是高通在骁龙845及之前平台广泛使用的经典架构。其核心特点是模块间耦合较紧,算法与硬件抽象层绑定较深。

架构特点: 分层清晰但扩展性受限,算法库以静态链接库形式集成,调试参数固化在特定文件中。
mm-camera 传统架构分层图 Application / Framework (Camera2 API / HAL3) mm-camera-core (ISP Pipeline Manager) Algorithm Libraries (AEC / AWB / AF / Statistics) Kernel Driver / VFE / ISP Hardware ⚠ 关键局限: • 算法库与平台绑定,升级算法需重新编译整个镜像 • 调试参数分散在 sensor 库、chromatix 和 lib 中,维护成本高

1.2 CHI 架构演进

从骁龙855/865开始,高通全面转向 CHI (Camera Hardware Interface) 架构。CHI 基于 UML (Unified Markup Language) 的 XML 配置驱动,实现了算法与平台的解耦,极大提升了调试灵活性和可扩展性。

对比维度 mm-camera CHI 架构
配置方式 C代码 + 静态库 XML + 动态加载
算法集成 编译时链接 运行时加载 (UML Node)
调试灵活性 低,需重新编译 高,XML 热更新
多摄支持 有限,需定制 原生多摄 Pipeline
AE/AWB 位置 算法库内部 独立的 UML Node
CHI 架构核心组件与 AE/AWB 位置 Camera Framework (Camera2 / HAL3 Interface) CHI Core (Pipeline Manager / XML Parser) UML Node 图 (XML 配置驱动) AEC Node AWB Node AF Node Stats Node CSIPHY / IFE / ISP / Sensor Driver 🔑 架构优势: • AE/AWB 作为独立 UML Node,可通过 XML 单独配置和替换 • 支持多摄同时运行多个 Pipeline,每个 Pipeline 独立 AE/AWB 实例

1.3 AE/AWB 模块在架构中的位置

在 CHI 架构中,AE (Auto Exposure) 和 AWB (Auto White Balance) 被设计为独立的 UML Node,位于 ISP Pipeline 的统计数据处理阶段。它们接收来自硬件统计模块的 3A 统计数据,经过算法处理后,通过 CHI 回调机制 将控制参数写回 ISP 硬件。

调试切入点: AE/AWB 的 XML 配置文件通常位于 /vendor/etc/camera/camx/ 目录下,文件名格式为 xxx_aec.xml 和 xxx_awb.xml。修改这些 XML 文件后,通过 adb push 即可热更新,无需编译镜像。

1.4 关键数据流路径

  1. Sensor 输出 RAW 数据 → ISP 前端处理
  2. ISP 统计引擎 计算亮度直方图、色温分布等统计信息
  3. Stats Node 将统计数据分发到 AEC Node 和 AWB Node
  4. AEC Node 计算目标曝光参数 (曝光时间、增益、光圈)
  5. AWB Node 计算目标白平衡增益 (R/G/B 通道增益)
  6. CHI Core 将计算结果写入 ISP 寄存器,完成闭环控制
AE/AWB 数据流闭环 Sensor ISP Stats AEC Node AWB Node 反馈控制 (Exposure / Gain / WB Gain) 📊 统计数据类型: • AEC 输入:亮度直方图、场景亮度、帧率、传感器增益状态 • AWB 输入:R/G/B 通道统计、色温估计、灰区检测结果 • 输出:曝光时间、模拟/数字增益、R/G/B 白平衡增益、光圈控制

1.5 调试文件与工具概览

文件/工具 用途 路径示例
aec.xml AE 算法参数配置 /vendor/etc/camera/camx/xxx_aec.xml
awb.xml AWB 算法参数配置 /vendor/etc/camera/camx/xxx_awb.xml
sensor_lib.cpp Sensor 驱动与初始化参数 /vendor/qcom/proprietary/chi-cdk/
CamX 日志 调试 3A 算法运行状态 adb logcat -s CAMX
CHI Debug Tool 可视化 Pipeline 与 Node 状态 高通内部工具
注意事项: 在 CHI 架构中,AE 和 AWB 的 XML 配置文件必须严格遵循 UML Schema 定义。错误的标签或属性值可能导致 Node 加载失败,进而造成相机预览黑屏或 3A 算法不工作。修改前请备份原始文件。