Android Camera ADRC Gain 详解 ADRC Gain 详解 (Adaptive Dynamic Range Compression)1. 什么是 ADRCADRC = Adaptive Dynamic Range Compression,即自适应动态范围压缩。它是高通 Spectra ISP 流水线中的一项关键技术,用于:将HDR(高动态范围)合成后的高 bit-depth 数据(如 14-bit)压缩到显示可用的低 bit-depth(如 10-bit)在压缩过程中保留暗部细节,同时防止高光过曝根据场景亮度自适应调整压缩曲线2. 核心概念场景亮度分布: 暗部 ──────────────────────── 亮部 ├──── 小增益压缩 ────┤──── 大增益压缩 ────┤ │ 保留暗部细节 │ 压缩高光动态范围 │ADRC Gain本质上是一个逐像素(或逐区域)的增益映射表:参数含义adrc_gain压缩增益值,通常范围 [1.0, ~64.0]adrc_scale缩放因子,用于将增益映射到硬件寄存器adrc_lut查找表(Look-Up Table),存储不同亮度级别的增益adrc_max_gain最大允许增益,防止过度放大噪声adrc_min_gain最小增益(通常为 1.0,即不放大)3. 在 ISP 流水线中的位置Sensor (RAW 14-bit) │ ├─→ BLS (Black Level Subtraction) ├─→ Roll-off (Lens Shading Correction) ├─→ BPC (Bad Pixel Correction) ├─→ Demosaic ├─→ Color Correction (CCM) ├─→ Gamma ├─→ ★ ADRC (Dynamic Range Compression) ★ ← 在这里应用 │ │ │ ├─→ 计算场景统计 (histogram) │ ├─→ 根据统计生成 adrc_gain LUT │ └─→ 逐像素应用增益映射 ├─→ ACE (Advanced Color Enhancement) ├─→ Tone Mapping └─→ 输出 (10-bit YUV)