1. 高通相机整体架构概览

做相机效果优化,第一件事不是调参数,而是搞清楚整个系统长什么样。我见过不少新人,一上来就对着 tuning 工具猛调,结果效果死活出不来——后来发现是 pipeline 配置错了。所以这一章,我们先搭个全局地图。

1.1 硬件架构:ISP、CPP、JPEG 三兄弟

高通平台的 Camera 子系统,核心硬件就三个模块。我习惯把它们叫“三兄弟”:

模块 全称 主要职责
ISP Image Signal Processor 原始数据(RAW)进来,做去噪、AWB、AE、Gamma 等基础画质处理
CPP Camera Post Processor ISP 输出后,做多帧合成、HDR、Bokeh、畸变校正等高级处理
JPEG JPEG Encoder 把 YUV 数据压缩成 JPEG,同时嵌入 EXIF 信息

你想想看,Sensor 送出来的 RAW 数据,先经过 ISP 做第一道“粗加工”,再到 CPP 做“精修”,最后 JPEG 模块打包输出。这个流水线一旦哪个环节配置错了,后面的效果全白搭。

关键认知:ISP 处理的是单帧 RAW,CPP 处理的是多帧或特殊场景。效果优化工程师大部分时间在跟 ISP 和 CPP 打交道,JPEG 模块更多是保底质量。

1.2 软件分层:从 HAL 到 Tuning

软件层比硬件更绕。我刚开始接触高通平台时,被 Chi、UIM、Sensor 这些缩写搞得头晕。后来画了一张分层图,才真正理清楚。

高通 Camera 软件分层架构 应用层(Camera App / Framework) HAL 层(Camera HAL3 / CamX) Chi 层(Camera Hardware Interface) UIM(User Imaging Module) Sensor Driver / OIS / EEPROM Tuning 层(Chituning / QCamera / 效果参数) 效果优化工程师主要工作在 Chi 层 + Tuning 层 HAL 和 UIM 通常由平台驱动团队维护,但效果工程师需要理解接口

说白了,从上到下是这样的:

  • HAL 层(CamX):负责跟 Framework 对接,管理 Session、Stream、Pipeline。我一般不直接动它,但得知道它怎么调度。
  • Chi 层:这是效果优化的主战场。Chi 是“Camera Hardware Interface”的缩写,它把 HAL 的请求翻译成 ISP/CPP 能理解的配置。说白了,你调的所有效果参数,最终都是通过 Chi 下发给硬件的。
  • UIM:User Imaging Module,负责 Sensor 的初始化、模式切换、OTP 读取。我曾经遇到一个项目,Sensor 的 OTP 数据读出来是反的,导致 AWB 一直偏色——查了两天才发现是 UIM 配置错了。
  • Tuning 层:就是各种 XML、JSON、二进制 tuning 文件。你在 Chituning 工具里调的那些参数,最终都落在这里。

个人习惯:我每次接手一个新平台,第一件事就是看 Chi 层的 pipeline 配置。搞清楚哪个 Usecase 走了哪条 pipeline,后面调效果才能有的放矢。

1.3 效果优化工程师的职责

很多人以为效果优化就是“调参数”。其实远不止这些。我总结下来,核心职责有三块:

  1. 画质调优:AWB、AE、AF、去噪、锐化、色彩、Gamma……这些是基本功。每个模块都有几十个参数,怎么组合出好效果,靠的是经验和数据。
  2. 场景适配:同一个 Sensor,在室内、室外、夜景、逆光、HDR 下表现完全不同。你需要针对不同场景做差异化 tuning。
  3. 问题定位与修复:效果问题千奇百怪——偏色、闪烁、过曝、噪点、拖影……我曾经花了一周时间,最后发现是一个 ISP 的 DP(Defect Pixel)校正参数没开对。

避坑指南:我曾经在某个项目上,为了追求夜景亮度,把 ISP 的增益拉得过高,结果噪点爆炸。后来发现 CPP 的多帧合成其实可以分担一部分亮度需求——这就是典型的“只盯着一个模块调”的教训。

1.4 日常工作流

效果优化工程师的一天,大致是这样的流程:

阶段 工作内容 常用工具
1. 需求分析 拿到产品定义,明确目标场景和效果指标 竞品分析、规格文档
2. 基础 tuning 搭建 baseline,调通 AWB/AE/AF 基础链路 Chituning、QCamera
3. 场景优化 针对不同场景做差异化 tuning Chituning、场景灯箱
4. 主观评测 拍图、对比、评审,反复迭代 主观评测 chart、竞品
5. 问题修复 处理 bug、客诉、产线问题 log、dump、trace
6. 量产交付 冻结 tuning、生成量产包、产线验证 量产工具、产线测试

嗯,这里要注意一点:基础 tuning 没做扎实,千万别急着搞场景优化。我见过有人 AWB 都没调稳,就开始搞夜景多帧——结果换一个光源就偏色,返工成本极高。

我的建议:新项目前两周,老老实实把 AWB、AE、AF 三个基础模块调通。这三个模块稳了,后面 80% 的问题都不会出现。

1.5 本章小结

这一章我们走了一遍高通 Camera 的整体架构。硬件上记住 ISP→CPP→JPEG 的流水线,软件上记住 HAL→Chi→UIM→Tuning 的分层。效果优化工程师的核心工作,就是在 Chi 和 Tuning 层,把硬件的能力发挥到极致。