ESC
输入关键词搜索文章
目录

EF-LIC

ICML 2026 · 学习式图像压缩
无熵编码也能达到熵编码同级性能:信息论视角的范式转变
67.86%Kodak BD-rate ↓
13.72解码延迟 (ms)
~14×4K 解码加速
35.74参数量 (M)
背景与动机
学习式图像压缩的演进与瓶颈

学习式图像压缩 (Learned Image Compression, LIC) 近年来取得了显著进展。2018 年,Ballé 等人 [Ballé et al., 2018] 将变分自编码器 (VAE) 引入图像压缩,开创了端到端优化的范式。随后,Minnen 等人 [Minnen et al., 2018] 引入自回归先验,进一步提升了压缩效率。生成式压缩方法如 HiFiC [Mentzer et al., 2020] 和 MS-ILLM [Muckley et al., 2023] 则通过对抗训练优化感知质量,在视觉效果上超越了传统编解码器。

然而,几乎所有 LIC 系统都依赖熵编码(如 rANS [Duda, 2013])将量化后的 latent 转换为紧凑比特流。熵编码的核心作用是利用 latent 的非均匀分布特性:出现概率高的值用短码字,概率低的用长码字,从而消除统计冗余。同时,上下文模型 [Minnen et al., 2018] 通过自回归方式捕捉 latent 间的依赖关系,消除相关性冗余

问题在于,熵编码的串行控制流难以并行化。rANS 的编解码过程必须逐符号进行,每个符号的编码依赖前一个符号的状态,这种串行依赖使其无法充分利用 GPU 的并行计算能力。实际系统中,熵编码通常在 CPU 上执行,单图编解码可超过 100ms [Cao et al., 2026],超过了 LIC 流水线中其他所有模块的总和。这成为实时应用(如视频通话、云游戏)的主要瓶颈。

核心矛盾:熵编码提供了压缩效率,但带来了延迟;去除熵编码可以降低延迟,但会损失压缩性能。如何打破这个权衡?
核心问题
为什么要去掉熵编码?

典型学习式图像压缩 (LIC) 的核心流水线为:分析变换 → 量化 → 熵编码 → 合成变换。其中熵编码(如 rANS [Duda, 2013])将量化后的非均匀分布 latent 转换为紧凑比特流,但其串行控制流难以并行化,通常必须在 CPU 上执行,成为端到端延迟的主要瓶颈。rANS 单图可超 100ms [Cao et al., 2026],超过其他模块总和。

去除或简化熵编码的先驱方法要么性能仅达 JPEG 级别(COIN [Dupont et al., 2021]),要么推理成本极高(OSCAR [Guo et al., 2025])。核心矛盾在于:熵编码 = 压缩效率 vs 无熵编码 = 低延迟,二者似乎不可兼得。

核心问题:如何在完全去除熵编码的前提下,实现与典型 LIC 相当的压缩性能,同时大幅降低编解码延迟?
核心创新
EF-LIC 的两把钥匙

EF-LIC (Entropy-Coding Free Learned Image Compression) 通过两把钥匙打破上述矛盾:

  1. 无约束向量量化 (Unconstrained VQ):从信息论上证明,当 VQ 逼近最小重建失真时,其索引分布自然趋近最大熵边界(均匀分布),从而消除统计冗余。这是"让分布本身接近均匀"的范式转变,替代了"用熵编码压缩非均匀分布"。
    直觉类比:想象你有一堆不同大小的积木要放进固定格子的收纳盒。如果积木大小差异很大(非均匀分布),有些格子会空着,有些会挤不下。但如果你把积木重新塑形,让每个格子刚好装一个(最优失真量化),那么每个格子被占用的概率就趋近均匀--这就是"最大熵边界"。
  2. 表示域去相关 (Representation-Domain Decorrelation):通过上下文条件仿射变换直接重参数化 latents,消除组间相关性冗余。不同于传统 LIC 在概率域预测条件分布,EF-LIC 直接在表示域做变换。
    直觉类比:传统 LIC 的上下文模型像一个"预测器":它猜下一个 latent 可能是什么值,然后用熵编码压缩"猜错的部分"。EF-LIC 换了个思路:不猜了,直接把 latent 变换成彼此独立的形式,然后用固定长度编码。就像把一串相互依赖的密码(知道前几个就能猜出后面的)打散成一串独立的随机数。
EF-LIC 架构
EF-LIC 整体架构:Encoder → Hyperprior → RD (表示域去相关) → Unconstrained VQ → 直接存储索引 → Decoder
graph TD
    subgraph 传统LIC
        A1[输入图像] --> B1[分析变换]
        B1 --> C1[量化]
        C1 --> D1[上下文模型]
        D1 --> E1[概率估计]
        E1 --> F1[熵编码]
        F1 --> G1[比特流]
    end
    
    subgraph EF-LIC
        A2[输入图像] --> B2[分析变换]
        B2 --> C2[RD去相关]
        C2 --> D2[无约束VQ]
        D2 --> E2[固定长度索引]
        E2 --> F2[直接存储]
    end
  

论文进一步给出三个定理,构成完整的理论框架:(1) 最优 VQ 索引熵 $H(J^*) = R$;(2) RD 方案严格优于独立量化 IQ;(3) RD 方案可以以任意小的码率开销逼近带熵编码 LIC 的 R-D 性能。

理论框架
三个定理的完整推导

Theorem 3.1 (最大熵概率整形) [Cao et al., 2026]:对于码本大小 $K$、目标码率 $R = \log K$ 的无约束 VQ,任何最优失真量化器 $Q^*$ 满足 $H(J^*) = R = \log K$

证明采用反证法:若 $H(J^*) < R$,取 $R' \in (H(J^*), R)$,则 $Q^*$ 也是 $D_X(R')$ 的可行解,故 $D_X(R') \leq D_X(R)$;但 $R' < R$ 时 R-D 函数严格递减,$D_X(R') > D_X(R)$,矛盾。直觉上,最优量化器会充分利用所有码率预算,任何非均匀性都意味着码率浪费。

直觉解释:这个定理告诉我们,当 VQ 达到最优时,它的索引分布会自动变成均匀分布。这意味着我们不需要熵编码来"压缩"非均匀分布--因为分布本身就是均匀的!这是 EF-LIC 的理论基础。

Theorem 3.3 (RD 严格优于 IQ) [Cao et al., 2026]:若存在组 $i$ 使 $I(\hat{Y}_i; S) > 0$,则 $D_X^{RD}(R) < D_X^{IQ}(R)$

IQ(独立量化)是 RD 的特例(恒等映射),当侧信息有意义时,利用数据处理不等式和条件 R-D 函数的严格性可证严格改善。

直觉解释:这个定理说明,利用上下文信息(侧信息)进行去相关变换,总是比独立量化每个 latent 更好。这解释了为什么 EF-LIC 的 RD 方案能提升压缩性能。

Theorem 3.5 (RD 逼近 CM 上界) [Cao et al., 2026]:对任意 $\varepsilon \in (0,1)$,存在固定长度码率 $R' = R/(1-\varepsilon)$ 的 RD 方案,使 $\Delta_{\bar{H}} \leq \varepsilon$$D_X^{RD}(R') \leq D_X^{CM}(R)$

构造性证明:通过条件概率积分变换 (CPIT) 从 $Y_i | (Z_i, S_i)$ 中提取均匀随机变量 $U_i \sim \text{Unif}[0,1]$,将 $(S_i, B_i)$ 单射编码为固定长度索引 $J_{RD}^i$,精确恢复 CM 的重建。核心洞察:概率域条件概率建模和表示域重参数化在理论上可达相同压缩效果。

直觉解释:这个定理是 EF-LIC 的核心理论保证。它告诉我们,通过表示域变换,我们可以用固定长度编码达到与熵编码几乎相同的压缩性能,代价只是微小的码率增加($\varepsilon$)。实验表明,这个理论差距(3.42%)与实际工程损失(~3.28%)几乎完全抵消。
熵差距分析
熵差距分析:EF-LIC 的归一化熵差距仅 3.42%,与理论预测一致
方法详解
从输入到输出的完整链路

输入图像 $x \in \mathbb{R}^{3 \times H \times W}$ 经过以下处理:

graph LR
    A[输入图像 x] --> B[分析变换 g_a]
    B --> C[y: latent]
    C --> D[超先验分支 h_a]
    D --> E[z → Q_z → φ]
    C --> F[分组 y1,y2,y3,y4]
    E --> G[上下文条件仿射变换]
    F --> G
    G --> H[无约束 VQ]
    H --> I[固定长度索引 J]
    I --> J[直接存储]
    J --> K[解码器 g_s]
    K --> L[重建图像 x̂]
  
  1. 分析变换 $g_a$(基于 DCVC-RT 的 DC Block):$y = g_a(x)$,空间下采样 $f_y = 16$,通道 $C_y = 256$
  2. 超先验分支:$z = h_a(y)$,下采样 $f_z = 64$,$\hat{z} = Q_z(z)$(RVQ 量化),$\phi = h_s(\hat{z})$
  3. 表示域去相关 (RD):将 $y$ 分为 $N=4$$(y_1, y_2, y_3, y_4)$(quadtree-based)。对第 $i$ 组:
    • 参考上下文:$\psi_i = \text{concat}(\hat{y}_{<i}, \phi)$
    • 上下文提取器:$f_{RD}^i(\psi_i) \to (\mu_i, \sigma_i)$
    • 仿射编码:$y'_i = (y_i - \mu_i) \odot \sigma_i^{-1}$
    • VQ 量化:$\hat{y}'_i = Q_{RD}^i(y'_i)$
    • 仿射解码:$\hat{y}_i = \hat{y}'_i \odot \sigma_i + \mu_i$
  4. 残差向量量化 (RVQ):每个量化器使用 $m \in \{1,2,3,4,5\}$ 个 codebook,码本尺寸 $[K_1, K_2, K_3, K_4, K_z] = [1024, 512, 256, 128, 1024]$。非对称设计基于核心发现:后组 latent 信息量递减。
  5. 合成变换 $g_s$:$\hat{x} = g_s(\hat{y})$

Bitstream 格式极为简洁:Header(H, W, q) + flatten($Q_z$) + flatten($Q_1$) + ... + flatten($Q_4$)。固定长度,无串行依赖,打包耗时 < 1ms。

关键区别:传统 LIC 的上下文模型输出 $p(y_i|\text{context})$(概率估计),EF-LIC 输出 $(\mu_i, \sigma_i)$(直接变换)。这跳过了"概率估计 → 熵编码"的两步流程。
实验结果
主实验:性能与延迟的双重突破

在 Kodak 数据集上以 LPIPS 为指标的 BD-rate(锚点 MS-ILLM [Muckley et al., 2023]):

方法BD-rate编码 (ms)解码 (ms)FLOPs (G)Params (M)
VTM-23.10+313.84%>10s150.30--
HiFiC+45.82%526.511408.60599.51181.60
MS-ILLM0.00%165.38147.79599.52181.40
OSCAR-37.31%53.04167.566485.611009.30
RDEIC-52.08%157.25426.687767.461380.27
EF-LIC-s-55.38%9.946.26179.1911.51
EF-LIC-67.86%17.6213.72279.6135.74
Kodak BD-rate 曲线
Kodak 数据集 BD-rate 曲线(LPIPS):EF-LIC 在所有码率点均优于 MS-ILLM

EF-LIC 是唯一在 Kodak、Tecnick、DIV2K、CLIC2020 四个数据集上均优于 MS-ILLM 的方法 [Cao et al., 2026]。

为什么 EF-LIC 在感知指标上表现如此突出? 这与 RVQ 的优化目标有关。EF-LIC 的损失函数直接优化 LPIPS(感知失真)而非像素级 MSE,因此在感知质量上优势明显。但在 PSNR 等像素级指标上,EF-LIC 的表现相对较弱,这也是作者承认的局限性之一。

延迟优势的来源:EF-LIC 的低延迟不仅仅是因为去掉了熵编码。固定长度编码带来了三个关键优势:(1) 零串行依赖,可以完全并行化;(2) 无需构建和查询累积分布函数 (CDF);(3) 索引可以直接拼接,打包耗时 < 1ms。这些优势使得 EF-LIC 在 GPU 上实现了真正的端到端并行推理。

分辨率扩展:

分辨率EF-LIC 解码MS-ILLM 解码加速比显存
512×76813.72 ms147.79 ms~10.8×0.25 GB
1080×192035.62 ms379.01 ms~10.6×0.65 GB
1440×256055.50 ms601.18 ms~10.8×1.04 GB
2160×3840116.28 ms1613.82 ms~13.9×2.10 GB
消融分析
每个组件贡献了什么?
变体BD-rate (vs VQ)编码 (ms)解码 (ms)
VQ (无去相关)0.00%5.517.06
VQ+EC-14.73%362.07300.83
UQ+EC (典型 LIC)-20.73%63.1271.72
EF-LIC-22.20%17.6213.72

关键发现 [Cao et al., 2026]:

  • 加入 Hyperprior:-9.37%
  • 加入 Autoregressive transform(均等码本):-16.72%
  • 非对称码本 [10,9,8,7,10]:-28.60%(最佳)
  • VQ+EC 失败:VQ 硬量化阻断梯度,context model 优化不充分;且 EC 时间极长(507.89ms)
消融实验
消融实验:EF-LIC 与变体的 BD-rate 与延迟对比

运行时分解:EF-LIC 的 VQ 时间 (9.16ms) 虽比 UQ (0.01ms) 长,但完全消除了 EC 时间。Autoregressive 模块仅 4.38ms,比 EC 低 1~2 个数量级。

与生成式编解码器对比:EF-LIC 在参数量(35.74M vs OneDC 1406M)和 FLOPs(279G vs 7142G)上少一个数量级以上,同时 BD-rate 更优(-3.33% vs 0.00%)。

实现细节
训练配置与工程技巧
参数
优化器Adam ($\beta_1=0.5, \beta_2=0.9$)
初始学习率$10^{-4}$$10^{-5}$ (1.5M steps)
Batch size16
总迭代2M (主实验); 1M (消融)
数据集ImageNet(每 epoch 采样 1%)
训练硬件1× NVIDIA A100 (~10.5 GB 显存)

损失函数 [Cao et al., 2026]:$\mathcal{L} = \sum_{m \in \mathcal{M}} [\lambda_{per} \cdot \mathcal{L}_{per}^m + \lambda_{adv} \cdot \mathcal{L}_{adv}^m + \lambda_{cb} \cdot \mathcal{L}_{cb}^m]$,其中 $\mathcal{L}_{per}$ 为 LPIPS,$\mathcal{L}_{adv}$ 为 adaptive PatchGAN,$\mathcal{L}_{cb}$ 为 commitment + codebook update。关键区别:无显式码率项 $R$

工程技巧:

  • 码本通过梯度下降直接优化(非 EMA),是实现最大熵的关键前提
  • 仿射变换确保编解码对称性和高效 GPU 并行
  • 非对称码本:后组 latent 信息量递减,最佳配置 [1024, 512, 256, 128, 1024]
  • 零串行依赖打包:索引按预定义顺序拼接,编解码均 < 1ms
  • 全流程 GPU 友好,可导出 ONNX/TorchScript,已部署到嵌入式设备和智能手机
  • 消除 GPU-CPU 混合执行的数值同步问题(传统 LIC 的 CDF 精度失配可导致解码失败)

代码开源:GitHub: SevenCTHU/EF-LIC

局限与展望
作者承认的不足与未来方向
  1. 码本尺寸手工设计:未实现自动搜索或学习
  2. RVQ 运行时间仍不可忽略:高分辨率时占编码时间主要比例
  3. PSNR 性能较弱:主要面向感知质量(LPIPS/DISTS)优化
  4. 4 组 quadtree 分组仍有顺序依赖:并行度受限
  5. 仅针对静态图像:未扩展至视频时域预测

Negative Results [Cao et al., 2026]:VQ+EC(对 VQ 索引做熵编码)的 BD-rate 仅 -14.73%,远不如 EF-LIC 的 -22.20%。原因是 VQ 硬量化阻断梯度,且对离散索引构建 CDF 的编码时间极长(507.89ms)。论文还发现 rANS 实际引入约 3.28% 额外 BD-rate 损失,几乎抵消了理论上的 3.42% 熵编码优势。

研究启发
从 EF-LIC 可以带走什么?
  1. 信息论视角的范式转变:与其优化熵编码的速度,不如从根本上消除对熵编码的需求。这一思路可推广到其他需要离散表示的生成任务 [Cao et al., 2026]。
  2. 表示域 vs 概率域:直接对表示做变换可能比预测条件概率更简洁高效。这种"跳过概率估计"的思路在实时系统中尤其有价值。
  3. 非对称资源分配:后组 latent 信息量递减的观察启发了非对称码本设计,这种"按需分配"的思想可推广到多层级特征压缩。
  4. 工程部署优势:去除熵编码不仅加速,还消除了 GPU-CPU 混合执行的复杂性,使模型可导出为单一计算图,大幅简化边缘部署。
  5. 理论与实践的精确对应:3.42% 熵差距与 rANS 实际引入的 ~3.28% 冗余几乎抵消,说明理论预测与实际工程损失高度吻合。