ISPPipeline中的定点除法

目录

[0. 目标](#0. 目标)

[1. 最基础的数学恒等式](#1. 最基础的数学恒等式)

[2. 为什么要放大 2ⁿ?](#2. 为什么要放大 2ⁿ?)

[3. 用移位实现除以 2ⁿ](#3. 用移位实现除以 2ⁿ)

[4. 用一个具体数字彻底看懂](#4. 用一个具体数字彻底看懂)

[5. 提高精度:n 取更大](#5. 提高精度:n 取更大)

[6. 数学上的误差来源](#6. 数学上的误差来源)

[7. 最精炼的数学总结](#7. 最精炼的数学总结)

[8. 为什么图像处理必须用这个?](#8. 为什么图像处理必须用这个?)


0. 目标

我们要计算:y=a​/b

不想做除法,想换成:y≈a×K

也就是:找到一个常数 K,使得 K ≈ 1/b


1. 最基础的数学恒等式

a/b​=a×1/b​

这是整个方法的唯一基石

只要我们能用某种方式表示 1/b,就能把除法完全变成乘法。


2. 为什么要放大 2ⁿ?

计算机 / 硬件不能直接算小数,只能算整数。

所以我们把 1/b 放大 2ⁿ 倍,变成整数:

于是:

也就是:

这就是最核心公式


3. 用移位实现除以 2ⁿ

在二进制里:

所以最终变成:

  • ⌊⌋ 表示取整(因为硬件只能存整数)
  • ≈ 是因为取整带来微小误差

4. 用一个具体数字彻底看懂

我们算:100/5​=20

选 n = 8(放大 256 倍)

真实值 20,计算值 19,误差来自取整。


5. 提高精度:n 取更大

n = 16(65536)

K=65536/5​=13107.2⇒13107

100×13107=1310700

1310700≫16=20

完全精确!


6. 数学上的误差来源

只有一个误差源:

即把小数强行变成整数。

n 越大,误差越小:

  • n=8 → 误差最大 1/256
  • n=16 → 误差最大 1/65536
  • n=32 → 几乎无误差

7. 最精炼的数学总结

一句话:倒数放大 → 乘法 → 缩小还原


8. 为什么图像处理必须用这个?

  1. 除法在硬件里是复杂迭代运算,慢
  2. 乘法是单周期并行运算,快
  3. 图像每秒百万像素,必须流水线
  4. 查表法延迟固定,适合 ISP
相关推荐
滴图服务-七七39 分钟前
滴滴地图:精准定位赋能企业数字化转型
大数据·人工智能·地图服务·甲级测绘资质·商业授权
爱学习的程序媛1 小时前
2026上半年大模型全景技术解读:推理融合、Agent 爆发与多模态统一
人工智能·ai
A.说学逗唱的Coke2 小时前
【大模型专题】向量数据库深度解析:从原理到实战,构建企业级 AI 知识检索底座
数据库·人工智能
果丁智能2 小时前
智能锁赋能网约房民宿数字化管控:身份核验+远程授权,筑牢安全防线、降本增效
网络·数据库·人工智能·安全·智能家居
V搜xhliang02462 小时前
AI智能体的数据安全与合规实践
人工智能·学习·数据分析·自动化·ai编程
PPIO派欧云3 小时前
PPIO登上贵州新闻联播,深化AI算力生态建设
人工智能
hai3152475433 小时前
一种通过空间几何转换进行软件编程计算的方式与现有计算的对比
人工智能·深度学习·数学建模·硬件架构·几何学·图论·拓扑学
猿饵块3 小时前
LibreOffice---文档制作
人工智能
硅谷秋水3 小时前
HARBOR:一个面向具身智体机器人强化学习的驾驭框架
人工智能·深度学习·机器学习·机器人
Mr..Jackey3 小时前
瑞佑 RUI Builder 图形化 UI 设计工具
arm开发·人工智能·单片机·ui·人机交互·ra8889·lcd控制芯片