目录
[二、子采样残差压缩(Subsampled Residual Compression)](#二、子采样残差压缩(Subsampled Residual Compression))
[2.1 基本思想](#2.1 基本思想)
[2.2 典型结构:4:1 或 2:1 子采样预测](#2.2 典型结构:4:1 或 2:1 子采样预测)
[2.3 工业级特点](#2.3 工业级特点)
[2.4 为什么工业界爱用?](#2.4 为什么工业界爱用?)
[三、轻量级块压缩(Tile-based Lightweight Compression)](#三、轻量级块压缩(Tile-based Lightweight Compression))
[3.1 核心思想](#3.1 核心思想)
[3.2 标准块大小(工业通用)](#3.2 标准块大小(工业通用))
[3.3 预测方式(只保留最精简)](#3.3 预测方式(只保留最精简))
[3.4 残差处理(轻量版)](#3.4 残差处理(轻量版))
[3.5 块头格式(极短,工业标准)](#3.5 块头格式(极短,工业标准))
[3.6 Bypass 机制(必备)](#3.6 Bypass 机制(必备))
[3.7 解压流程(同样轻量)](#3.7 解压流程(同样轻量))
[3.8 工业级特性](#3.8 工业级特性)
[四、两类轻量压缩与自适应位宽 ABD 的对比](#四、两类轻量压缩与自适应位宽 ABD 的对比)
[组合 1:轻量级 TBC + 运动 Bypass(联咏 / 海思低端)](#组合 1:轻量级 TBC + 运动 Bypass(联咏 / 海思低端))
[组合 2:子采样残差 + 固定位宽(安霸 / 索尼低端)](#组合 2:子采样残差 + 固定位宽(安霸 / 索尼低端))
[组合 3:TBC + 只压缩 Y 通道(全行业通用)](#组合 3:TBC + 只压缩 Y 通道(全行业通用))
两类更轻量、面积更小、延迟更低 、专门为帧缓存随机访问设计的压缩方案,是量产中使用最广泛的基础架构:
- 子采样残差压缩(Subsampled Residual Compression)
- 轻量级块压缩(Tile-based Lightweight Compression)
它们都严格遵守块独立、随机访问、固定延迟、无帧间依赖、带宽可预算 的 FBC 铁律,是海思、联咏、安霸、TI、地平线都在用的底层压缩技术。
下面做原理级、可工程落地的详细解析。
一、两类轻量级压缩的共同设计原则
所有工业级 ISP 轻量压缩都必须满足:
- 块独立(Tile Independent):无跨块依赖,支持任意 (x,y) 随机读
- 低硬件成本:< 2k GE,无复杂运算
- 固定延迟:压缩 / 解压 ≤ 3~4 拍
- 固定最大块长:DDR 带宽可精确预算
- 近无损 / 可控有损:误差 ≤ 1 LSB
- 只使用空间预测:无运动补偿、无 CABAC/CAVLC
- 可读写(R/W):支持部分更新,适合 ISP 回写
二、子采样残差压缩(Subsampled Residual Compression)
2.1 基本思想
**用低分辨率子采样图做预测,只存储残差,并对残差做轻量化压缩。**预测越准,残差越小,残差可使用更低位宽存储。
2.2 典型结构:4:1 或 2:1 子采样预测
最常用:2×2 子采样预测(硬件最简)
- 原始块:16×16 / 32×8
- 子采样:每行每 2 点取 1 点 ,或2×2 取 1 点
- 子采样图尺寸:原始 1/4 尺寸
流程(压缩)
- 块输入:取 16×16 块
- 子采样生成低分辨率基图 :
P_sub(x/2, y/2) = Orig(x,y)(简单采样,无滤波)
- 低分辨率基图压缩存储(位宽固定或自适应)
- 块内重建预测 :
- 最近邻插值 / 双线性插值
- 得到预测块
Pred(x,y)
- 残差计算 :
Res = Orig − Pred
- 残差轻量化压缩 :
- 固定位宽(2/4/6bit)
- 或简单自适应位宽
- 存储:子采样基图 + 残差
流程(解压,支持随机访问)
- 读取子采样基图 → 插值恢复预测
- 读取残差
- 输出:
Orig = Pred + Res
2.3 工业级特点
- 硬件极简单:插值器 + 加法器 + 简单打包
- 延迟低:3~4 拍
- 压缩比:1.5~2.2x
- 块独立,支持随机访问
- 无块效应:插值预测平滑
- 适合:Y 通道缓存、WDR 短曝光帧、防抖参考帧
2.4 为什么工业界爱用?
- 比完整 ABD 面积小 30%~50%
- 延迟更短
- 随机访问友好
- 不会出现运动补偿类的误差扩散
三、轻量级块压缩(Tile-based Lightweight Compression)
这是联咏、海思、安霸低端系列、车载 DVR 中最常用的帧缓存压缩,也常被厂商内部称为:
- TBC(Tile Based Compression)
- LTC(Lightweight Tile Compression)
- FBC Lite
3.1 核心思想
固定小块 + 极简 DPCM 预测 + 固定档位位宽打包 + 极短块头 完全为硬件最小面积、最低延迟设计。
3.2 标准块大小(工业通用)
- 8×8 、16×4 、16×8 其中 16×4 最适合 ISP 行流水,是量产绝对主流。
3.3 预测方式(只保留最精简)
只使用左向 DPCM,不使用多行预测,硬件最小:
Pred(x,y) = Pixel(x-1,y)
Res(x,y) = Pixel(x,y) - Pred(x,y)
- 每行独立预测
- 无跨行依赖
- 纯组合逻辑,0 拍延迟
3.4 残差处理(轻量版)
- 计算残差
- 取块内Min/Max(简化二叉树或串行统计)
- 计算 Range = Max − Min
- 从少量固定档位 中选择位宽:
- 常见档位:2bit / 4bit / 8bit(三档)
- 或:4bit / 8bit(两档)
- 残差归一化:
Res_norm = Res - Min
- 按位宽bit-packing 紧凑打包
3.5 块头格式(极短,工业标准)
轻量 TBC 块头通常只有 8~10 bit:
cpp
[2bit 模式位宽][6bit Min/Base] → 共8bit
- 模式位宽:00=2bit,01=4bit,10=8bit,11=Bypass
- Base:块残差最小值
3.6 Bypass 机制(必备)
- Range 过大 → 直接 8bit 旁路存储
- 运动块 / 纹理块自动 Bypass
- 保证无误差扩散、无拖影
3.7 解压流程(同样轻量)
- 读块头 → 解析位宽模式 + Base
- BitUnpack 恢复 Res_norm
- Res = Res_norm + Base
- IDPCM 重建:
Pix(x,y) = Pix(x-1,y) + Res - 输出像素
3.8 工业级特性
- 面积:< 2k GE
- 压缩延迟:2~3 拍
- 解压延迟:2 拍
- 压缩比:1.5~2.2x
- 块独立,支持随机访问
- 时序极易收敛
- 适合大批量低成本 SoC
四、两类轻量压缩与自适应位宽 ABD 的对比
| 特性 | 子采样残差压缩 | 轻量级块压缩 TBC | 自适应位宽 ABD |
|---|---|---|---|
| 硬件面积 | 极小 | 极小 | 中等 |
| 延迟 | 3~4 拍 | 2~3 拍 | 4~6 拍 |
| 压缩比 | 1.5~2.2x | 1.5~2.2x | 2.0~3.5x |
| 预测方式 | 子采样插值 | 左向 DPCM | 多级 DPCM |
| 位宽档位 | 固定 | 2~3 档 | 4~6 档 |
| 块头长度 | 16bit | 8~10bit | 10~12bit |
| 随机访问 | 支持 | 支持 | 支持 |
| 适用场景 | WDR、防抖、RAW | 车载 DVR、低成本 IPC | 高端 3DNR、车载 ADAS |
五、真实工业落地组合(厂商常用)
组合 1:轻量级 TBC + 运动 Bypass(联咏 / 海思低端)
- 静止块:TBC 压缩
- 运动块:直接 Bypass
- 目标:成本最低、运动无拖影
组合 2:子采样残差 + 固定位宽(安霸 / 索尼低端)
- 子采样预测降低残差能量
- 残差固定 4bit 打包
- 目标:硬件极简、高稳定性
组合 3:TBC + 只压缩 Y 通道(全行业通用)
- Y:TBC 压缩
- U/V:不压缩或低分辨率子采样
- 内存节省 ~50%
六、总结
工业级 ISP 中用于帧缓存随机访问的轻量压缩主要分为两类:
-
子采样残差压缩
- 低分辨率子采样图做预测
- 只存储残差
- 硬件简单、无块效应、随机访问友好
-
轻量级块压缩(Tile-based Compression)
- 固定小块(16×4 为主)
- 极简左向 DPCM
- 2~3 档固定位宽
- 极短块头(8bit)
- 面积最小、延迟最低
两类方案都不使用通用视频编码技术 ,严格遵守块独立、固定延迟、带宽可预算、随机访问 的 FBC 设计原则,是车载 DVR、安防 IPC、无人机、低成本影像设备 的标配压缩架构。