子采样残差压缩(Subsampled Residual Compression)原理

目录

一、总体思想

二、核心结构

三、标准子采样模式(工业量产常用)

[模式 A:2×2 网格子采样(最常用)](#模式 A:2×2 网格子采样(最常用))

[模式 B:行 2:1 子采样(行方向降采样)](#模式 B:行 2:1 子采样(行方向降采样))

[模式 C:4:1 固定子采样(WDR 常用)](#模式 C:4:1 固定子采样(WDR 常用))

四、完整压缩流程(逐步骤工程化)

[Step 1:块输入](#Step 1:块输入)

[Step 2:生成子采样基图](#Step 2:生成子采样基图)

[Step 3:基图压缩(可选)](#Step 3:基图压缩(可选))

[Step 4:基图上采样插值(生成预测图)](#Step 4:基图上采样插值(生成预测图))

(1)最近邻插值(最常用)

(2)简单双线性(高阶一点)

[Step 5:残差计算](#Step 5:残差计算)

[Step 6:残差轻量化压缩](#Step 6:残差轻量化压缩)

[Step 7:写入 DDR](#Step 7:写入 DDR)

五、解压流程(支持随机访问)

[Step 1:坐标 → 块定位](#Step 1:坐标 → 块定位)

[Step 2:读取块头 + 基图 + 残差](#Step 2:读取块头 + 基图 + 残差)

[Step 3:基图上采样 → 预测值 Pred (x,y)](#Step 3:基图上采样 → 预测值 Pred (x,y))

[Step 4:恢复原始像素](#Step 4:恢复原始像素)

[Step 5:送给 ISP/3DNR/WDR](#Step 5:送给 ISP/3DNR/WDR)

六、关键特性(工业级必须满足)

[1. 块独立](#1. 块独立)

[2. 硬件极简单](#2. 硬件极简单)

[5. 带宽可预算](#5. 带宽可预算)

[3. 固定延迟](#3. 固定延迟)

[4. 无块效应](#4. 无块效应)

[5. 带宽可预算](#5. 带宽可预算)

[6. 近无损](#6. 近无损)

七、压缩比范围(量产真实值)

八、典型应用场景(真正工业在用)

[1. WDR 多曝光帧压缩(海思 / 安霸 / 联咏 大量使用)](#1. WDR 多曝光帧压缩(海思 / 安霸 / 联咏 大量使用))

[2. 电子防抖参考帧](#2. 电子防抖参考帧)

[3. Y 通道轻量缓存压缩](#3. Y 通道轻量缓存压缩)

[4. RAW 域预压缩(Bayer 帧)](#4. RAW 域预压缩(Bayer 帧))

[九、与自适应位宽 ABD 的区别](#九、与自适应位宽 ABD 的区别)


「子采样残差压缩(Subsampled Residual Compression)」完整、可工程落地、可用于芯片设计 的原理说明。它属于帧缓存专用轻量压缩(FBC) ,不是通用视频编码,核心特点:块独立、支持随机访问、硬件极简单、延迟固定、无跨块依赖


一、总体思想

用低分辨率子采样图做 "粗预测",原图与预测图的残差能量大幅降低,再用更低位宽存储残差,从而实现压缩。

预测越准 → 残差越小 → 残差可用更少 bit 存储 → 压缩比越高。

它是WDR 多帧、防抖参考帧、Y 缓存、RAW 域缓存里最常用的轻量压缩之一。


二、核心结构

子采样残差压缩由三部分固定构成:

  1. 子采样基图生成(低分辨率预测层)
  2. 预测重建(上采样插值)
  3. 残差计算 + 轻量残差压缩

存储格式固定为:基图(低分辨率) + 残差(高位图)

读取时:像素 = 插值基图 + 残差


三、标准子采样模式(工业量产常用)

ISP 里不会用复杂采样,只使用以下三种硬件最简模式:

模式 A:2×2 网格子采样(最常用)

  • 每 2×2 像素保留 1 个作为基图像素
  • 基图尺寸 = 原图 1/4
  • 硬件最简单:直接抽取,无需滤波

plaintext

复制代码
P00 P01 P02 P03
P10 P11 P12 P13 → 基图取 P00, P02, P20, P22
P20 P21 P22 P23

模式 B:行 2:1 子采样(行方向降采样)

  • 每行保留 1/2 像素
  • 适合行流水线 ISP

模式 C:4:1 固定子采样(WDR 常用)

不使用熵编码(无 CABAC/CAVLC),保证随机访问

Step 7:写入 DDR

存储格式:

plaintext

复制代码
[块头][基图压缩数据][残差压缩数据]

块头通常 8~16bit

五、解压流程(支持随机访问)

任何 (x,y) 都能单独读取,不需要解码整帧:

Step 1:坐标 → 块定位

复制代码
tile_x = x / 16
tile_y = y / 16
  • 用于长 / 短曝光帧残差压缩
  • 基图 = 短曝光帧下采样

四、完整压缩流程(逐步骤工程化)

16×16 块、2×2 子采样为例:

Step 1:块输入

读取 16×16 图像块(Y 或 RAW)。

Step 2:生成子采样基图

对 16×16 块做 2×2 抽取 ,得到 8×8 基图

plaintext

复制代码
  base(x/2, y/2) = img(x, y)

不做滤波、不做平滑,纯抽取,保证硬件最小。

Step 3:基图压缩(可选)

基图本身可以再做一次轻量压缩:

  • 固定位宽(6/8bit)
  • 或简单自适应位宽基图压缩率通常 1.2~1.5×。

Step 4:基图上采样插值(生成预测图)

将 8×8 基图恢复为 16×16 预测图 Pred

工业级只使用两种硬件最简插值:

(1)最近邻插值(最常用)

plaintext

复制代码
  Pred(x,y) = base(x//2, y//2)

纯路由选择,0 逻辑、0 延迟。

(2)简单双线性(高阶一点)

plaintext

复制代码
  Pred = (P0 + P1 + P2 + P3) / 4

仅加法 + 移位,无乘法。

Step 5:残差计算

plaintext

复制代码
  Res(x,y) = Orig(x,y) − Pred(x,y)

因为 Pred 是 "粗预测",残差动态范围大幅缩小 ,通常从 0~255 → 0~15 或 0~31

Step 6:残差轻量化压缩

残差已经很小,因此使用极轻量压缩

  • 常用策略(工业标准):

  • 固定 4bit 存储(最常见)

  • 或固定 6bit

  • 或简单 2/4/8bit 三档自适应位宽

  • 子采样模式

  • 基图位宽

  • 残差位宽

  • bypass 标志

Step 2:读取块头 + 基图 + 残差

Step 3:基图上采样 → 预测值 Pred (x,y)

Step 4:恢复原始像素

plaintext

复制代码
Orig(x,y) = Pred(x,y) + Res(x,y)

Step 5:送给 ISP/3DNR/WDR

完全块独立,无跨块依赖,随机访问零开销。


六、关键特性(工业级必须满足)

1. 块独立

任何块压缩 / 解压不依赖其他块,支持随机读写。

2. 硬件极简单

只有:抽取器、插值器、加法器、移位器 无树形运算、无复杂统计 面积 < 1.5k GE

因为预测是低分辨率平滑基图,残差连续,不会出现强块效应。

5. 带宽可预算

3. 固定延迟

压缩:3~4 拍解压:2~3 拍流水线可无缝插入 ISP。

4. 无块效应

5. 带宽可预算

残差固定位宽 → 块最大长度固定 → DDR 带宽可精确预算。

6. 近无损

残差足够保存细节,误差 ≤ 1 LSB


七、压缩比范围(量产真实值)

Y 通道:1.5 ~ 2.2× WDR 多帧:1.6 ~ 2.5×

比 ABD 低,但面积小 40%~60%

2. 电子防抖参考帧

3. Y 通道轻量缓存压缩

4. RAW 域预压缩(Bayer 帧)

    • RAW 域:1.4 ~ 2.0×

    • 比 ABD 低,但面积小 40%~60%


      八、典型应用场景(真正工业在用)

      1. WDR 多曝光帧压缩(海思 / 安霸 / 联咏 大量使用)

    • 长曝光帧作为主帧

    • 短曝光帧做子采样基图

    • 残差用 4~6bit 存储大幅减少 WDR 多帧 DDR 占用。

  • 参考帧用子采样基图 + 残差
  • 支持随机读取偏移区域
  • 不压缩 UV
  • Y 使用 2×2 子采样残差
  • 内存节省~50%
  • 在 ISP 前端压缩 RAW
  • 降低 DPC/DEMOSAIC 带宽压力

九、与自适应位宽 ABD 的区别

项目 子采样残差压缩 自适应位宽 ABD
预测方式 子采样插值 DPCM 空间预测
硬件面积 极小 中等
延迟 更低 中等
压缩比 1.5~2.2× 2.0~3.5×
随机访问 支持 支持
适用场景 WDR、防抖、低成本 高端 3DNR、ADAS
复杂度 中高

相关推荐
大熊背3 天前
LSC(Lens Shading Correction,镜头阴影校正)是 ISP pipeline 中的位置以及原因(一)
isp pipeline·lsc
十五年专注C++开发6 天前
libarchive: 一个几乎可以解压所有压缩文件的C语言库
c·压缩·7z·解压·libarchive
humors22114 天前
使用deepseek压缩简历文档6页变2页
面试·排版·招聘·求职·压缩·简历·应聘
大熊背14 天前
APEX自动曝光调整逻辑
apex·自动曝光·isp pipeline
大熊背17 天前
工业级 ISP 常用压缩算法设计原理
压缩·isp pipeline·3dnr
大熊背17 天前
工业级 ISP 常用压缩算之二
压缩·isp pipeline·3dnr
大熊背18 天前
工业级 ISP 常用压缩算法设计原理之三
压缩·isp pipeline·3dnr
大熊背22 天前
ISP Pipeline 需要多次 DDR 读写以及一些行buffer缓冲原因
isp pipeline·行缓冲
大熊背24 天前
ISP 节点 DDR 读写位置图
ddr·isp pipeline