1. 课程导入

图像质量调优是连接“硬件能力”与“用户感知”的关键工程环节。同一颗Sensor、同一套ISP,在不同场景、不同参数、不同算法策略下,输出的照片可能从“灰暗发糊”变成“通透自然”。本课程的目标不是让你死记某个寄存器,而是建立一条从HAL层到算法实战的完整调优链路:知道问题出在哪一层、用什么工具定位、改哪个参数、如何验证效果。

学习目标可以概括为四句话:看得懂图像质量指标,理得清HAL到算法的数据通路,调得动关键参数,验得准调优效果。

一、核心概念:从“像素”到“感知”的四层映射

图像质量调优的核心,是理解一条从物理世界到数字图像的映射链。它通常分为四层:

  • 物理层:镜头、Sensor、马达、闪光灯等硬件决定进光量、对焦能力与噪声底。
  • 数据层:RAW、YUV、RGB等格式承载了原始信息,HAL负责在Camera Service与驱动之间搬运和配置这些数据流。
  • 算法层:3A(AE/AWB/AF)、降噪、锐化、HDR、色彩校正、去马赛克等模块对图像进行增强或修复。
  • 感知层:最终用户看到的亮度、色彩、清晰度、噪点、动态范围与风格倾向。

调优的本质,是在这四层之间做“约束下的权衡”。例如,提升暗部亮度会放大噪声,增强锐化会放大噪点,提高饱和度可能造成肤色偏红。因此,调优不是“把所有参数拉满”,而是找到场景与体验的平衡点。

二、整体框架:HAL层在调优链路中的位置

Android Camera架构中,HAL层是承上启下的关键。应用通过Camera2 API下发请求,Camera Service将请求转换为HAL可识别的参数,HAL再与驱动、ISP、算法库交互。调优工程师通常通过以下路径介入:

App / Camera2 API
   ↓  CaptureRequest / CaptureResult
Camera Service
   ↓  metadata + stream configuration
Camera HAL
   ↓  sensor gain / exposure / ISP params
Kernel Driver + ISP + Algorithm Pipeline
   ↓  RAW / YUV / RGB frames
Image Quality Evaluation & Tuning

理解这条链路后,你就能判断:一个“偏绿”问题,可能是AWB统计区域不对,也可能是HAL下发的色温参数有误,还可能是ISP色彩矩阵未校准。定位层级不同,解决手段完全不同。

图像质量调优:HAL到算法实战路线图 从请求下发到画质评估的完整闭环 应用层 Camera2 API / 预览 / 拍照 Camera Service 请求调度 / 流配置 Camera HAL 参数下发 / 元数据回传 调优核心介入点 驱动 + ISP 曝光 / 增益 / 色彩矩阵 RAW → YUV 处理 算法处理管线 3A:AE / AWB / AF 去马赛克 / 降噪 色彩校正 / Gamma 锐化 / HDR / 风格化 YUV / RGB 输出 参数配置 画质评估与调优 客观指标 SNR / DR / ΔE / MTF 主观场景 人像 / 夜景 / 逆光 问题定位 偏色 / 过曝 / 噪点 参数回归 迭代验证 / 版本对比 图像输出 调优反馈闭环:评估结果反哺HAL参数与算法策略 请求与数据流 算法处理与增强 评估与迭代

三、方法流程:调优的五个标准动作

无论面对哪种画质问题,调优流程都可以归纳为五个动作:

  1. 复现与采集:固定光源、固定场景、固定版本,抓取RAW、YUV、JPEG以及HAL metadata日志。
  2. 指标量化:用Imatest、DXO Analyzer或自研工具计算亮度、色差、噪声、解析力等指标。
  3. 层级定位:判断问题属于Sensor曝光、ISP参数、3A策略还是算法模块。
  4. 参数调整:修改HAL下发的metadata、ISP tuning参数或算法配置,小步迭代。
  5. 回归验证:在多个场景下对比调优前后,确认无副作用后固化版本。
建议每次只改一个变量,并保留完整的metadata日志。否则一旦效果变差,你无法判断是哪个参数导致的。

四、案例场景:夜景偏色问题的定位

假设某项目在夜景下拍摄白色墙面偏绿。按照上述流程,先采集RAW与YUV图,发现RAW白平衡统计中绿色通道增益异常。进一步查看HAL metadata,发现AWB下发的色温为3200K,但实际光源约为4000K。问题定位在AWB统计区域被画面中的绿色植物干扰。解决方式是调整AWB权重区域,降低边缘绿色像素的统计权重,并增加灰点检测。调整后重新采集,色差ΔE从8.2降到3.1,肤色与白墙恢复自然。

这个案例说明:调优不是“调颜色”,而是“调统计与策略”。只有看到数据流中的真实参数,才能做出正确判断。

五、常见误区与复盘清单

误区 表现 正确做法
只调算法,不看HAL 参数改了但无效果 先确认HAL是否下发正确metadata
同时改多个参数 效果变好但无法复现 单变量迭代,保留日志
只看主观感受 不同人评价不一致 主观+客观指标结合
忽略场景差异 室内好、室外差 建立多场景测试矩阵
不记录版本 无法回溯 参数版本与代码版本绑定
调优最大的成本不是改参数,而是“不知道改哪里”。因此,本课程后续每一章都会围绕“定位—调整—验证”展开,帮助你建立可复用的调优思维。

当你完成本课程的学习,你应该能够独立完成一次从问题复现、数据采集、层级定位、参数调整到回归验证的完整调优闭环,并能用客观指标和主观场景共同证明调优效果。这就是从HAL层到算法实战的核心能力。