根据ISP各个ISO节点标定后的参数,如何插值生成当前增益下对应的ISP参数

目录

[一、为什么 2ⁿ 方便插值?](#一、为什么 2ⁿ 方便插值?)

[二. 为什么不在线性域插?](#二. 为什么不在线性域插?)

[三. 转到 log₂ 域就完全均匀了](#三. 转到 log₂ 域就完全均匀了)

[四. 为什么方便查表(LUT)](#四. 为什么方便查表(LUT))

[五. 为什么方便存储](#五. 为什么方便存储)

[六、 工程现实](#六、 工程现实)

七、思考


我们知道一般调试图像的时候,需要根据ISO100、ISO200、ISO300、ISO400........ISO3276800等增益节点下调试对应的ISP参数。标定的不是 "连续增益",而是离散关键点 ,中间值全部靠插值 算出来。那么,为什么是按照 2ⁿ 档位的增益进行调整呢?

结论: 因为 2ⁿ 档位(1、2、4、8、16...)在工程上特别好插值、查表、存储,而随便用 1.1、1.2、1.3 就很麻烦。


一、为什么 2ⁿ 方便插值?

因为增益是 指数等比分布:1 → 2 → 4 → 8 → 16 → 32 → 64 → 128 → 256

每一步都是 ×2 ,在 log₂ 域里是均匀间隔:0 → 1 → 2 → 3 → 4 → 5 ...

好处:

  • 2ⁿ 增益 → log₂ 后变成均匀整数点 → 方便做分段线性插值
  • 在 log 域先把增益 / ISO 映射成均匀索引 ,再用索引做线性插值,结果最自然、最平滑

如果用 1、1.5、2、3、5...log 后间隔乱七八糟 → 插值容易抖、曲线不平滑。

二. 为什么不在线性域插?

比如增益:1× → 2× → 4× → 8× → 16×

在线性上看,间隔是:1、2、4、8,越来越大。如果你直接在线性上插:

  • 低增益段变化太密
  • 高增益段变化太稀
  • 插值出来的曲线会扭曲、跳变、不平滑

三. 转到 log₂ 域就完全均匀了

对 2ⁿ 增益取 log₂:

  • gain = 1 → log₂ = 0
  • gain = 2 → log₂ = 1
  • gain = 4 → log₂ = 2
  • gain = 8 → log₂ = 3
  • gain = 16 → log₂ = 4
  • gain = 32 → log₂ = 5
  • ...

变成了:0 → 1 → 2 → 3 → 4 → 5 ...

均匀等间隔!

这时候再做线性插值,就非常平滑、自然、符合物理规律。


四. 为什么方便查表(LUT)?

ISP 里大量表是按 增益索引

  • NR 噪声阈值表
  • BLC 表
  • 晕光校正表
  • 动态降噪强度表
  • 色差补偿表

用 2ⁿ 增益:

  • 增益 64 → index = 6
  • 增益 128 → index = 7
  • 增益 256 → index = 8

index = log₂(gain)

查表直接用位运算就能算索引:

  • 不用浮点
  • 不用除法
  • 不用复杂计

举例:

  • 标定点:gain=4 → index=2
  • 标定点:gain=8 → index=3

当前 gain=5:index = log₂(5) ≈ 2.32

然后在 index=2.0~3.0 之间做线性插值

  • para = para2 + (para3 - para2) * (index - 2)

这一步是普通线性插值,不是 log 插值。

如果是任意增益,还要:

  1. 排序
  2. 二分查找
  3. 浮点运算又慢又容易出问题。

五. 为什么方便存储

2ⁿ 有两个极强优势:

(1) 档位极少

从 1× 到 256× 只要 9 个点。中间全部插值,足够平滑。

如果用 0.1 步进,要 2560 个点,参数文件爆炸。

(2) 可以用移位代替乘法

很多硬件模块内部:

  • 增益 = 1 → 不移位
  • 增益 = 2 → 左移 1bit
  • 增益 = 4 → 左移 2bit

移位比乘法器省面积、省功耗、速度快、无精度损失。


六、 工程现实:

AE 算法、ISO、EV、LV 全部基于 log₂ 。你的增益表按 2ⁿ 设计,整个链路完全对齐

  • ISO 100 → 200 → 400 → 800
  • EV ±1 对应 ×2
  • LV 每级差 1 对应 ×2
  • 增益 1→2→4→8→16

全部同一种尺度 → 算法最简单、最稳、最少 BUG。

七、思考

有些主控厂也有这么做的:ISP参数也是按照增益倍数进行调试。但是,会把几个增益合成一个ISO,比如,一倍增益称之为ISO100,2-4倍增益称之为ISO200,4-8倍增益称之为ISO400。sensor在不同增益倍数下的噪声表现本身就不一样,如果按照这样的分类后,可能出现顾此失彼的情况。兼顾了某一ISO前面几个增益效果,但是后面几个增益效果不如意。

由于这样分类之后,有没有根据不同增益进行ISP参数的插值操作。导致有些场景可能存在参数不平滑的情况,导致图像画质突变,出现诸如色噪、颗粒噪声以及一些亮度过渡不平滑的各种影响图像质量的问题。


相关推荐
大熊背19 小时前
ISP Pipeline中Lv实现方式探究之七--lv值计算框架final_version
自动曝光·对数函数·定点计算·isppipeline
大熊背5 天前
Serial over TCP实现原理
网络·tcp·isppipeline
大熊背15 天前
如何利用Lv值实现三级降帧
算法·自动曝光·lv·isppipeline
大熊背17 天前
ISP Pipeline中Lv实现方式探究之三--lv计算定点实现
数据结构·算法·自动曝光·lv·isppipeline
大熊背17 天前
ISP Pipeline中Lv实现方式探究之二
自动白平衡·自动曝光·lv·isppipeline·bv
大熊背18 天前
ISP中Lv和ISO系统并存的意义
自动曝光·iso·lv·isppipeline
大熊背1 个月前
ISP图像效果参数压缩的可行性分析(二)差分序列做 BLE (RLE) 压缩原理
压缩·isppipeline
大熊背1 个月前
ISP图像效果参数压缩的可行性分析(一)
压缩·gamma·isppipeline
大熊背1 个月前
ISP离线模式应用(一)
人工智能·isppipeline·离线模式