---
title: 'DiffC: Diffusion-Based Image Compression'
url: https://www.emergentmind.com/topics/diffc
type: topic
---

# DiffC: Diffusion-Based Image Compression

Searching arXiv for recent papers on DiffC in image compression to ground the article.
In recent image compression literature, **DiffC** denotes a specific **diffusion-based lossy image compression** method built around **Reverse Channel Coding (RCC)** and a pretrained generative prior, rather than a generic acronym for diffusion compression [2604.05743]. The method originated as “Lossy Compression with Gaussian Diffusion,” which proposed communicating Gaussian-noise-corrupted pixels instead of quantized transform coefficients [2206.08889], and was later realized as a practical zero-shot codec using pretrained latent diffusion backbones such as Stable Diffusion and Flux-dev in “Lossy Compression with Pretrained Diffusion Models” [2501.09815]. Its central idea is to reinterpret compression as the communication of samples along a diffusion trajectory: the encoder transmits only enough information to steer a shared generative decoder toward the target image, and the decoder reconstructs by reverse denoising. This makes DiffC especially relevant at **low** and **ultra-low bitrates**, where conventional transform coding becomes rate-constrained and generative priors can dominate perceptual quality [2501.09815].

## 1. Historical development and conceptual scope

DiffC was introduced in “Lossy Compression with Gaussian Diffusion” as a compression scheme that dispenses with transform coding and quantization, instead communicating a Gaussian-noise-corrupted version of the pixels and reconstructing by denoising with a single unconditional diffusion model [2206.08889]. In that formulation, the encoder draws an exact sample \(Z_t\) from a known corruption channel applied directly to the pixels \(X\), communicates that sample efficiently using RCC, and the decoder reconstructs either by ancestral sampling or by the probability flow ODE [2206.08889].

A later milestone was “Lossy Compression with Pretrained Diffusion Models,” which described the first complete implementation of DiffC and applied it zero-shot to Stable Diffusion 1.5, 2.1, XL, and Flux-dev [2501.09815]. That work reframed DiffC as a practical codec for pretrained diffusion backbones and introduced what it described as “simple workarounds” for RCC bottlenecks, making encoding and decoding with large latent diffusion models feasible in under 10 seconds for some settings [2501.09815].

A useful clarification appears in “On the Robustness of Diffusion-Based Image Compression to Bit-Flip Errors”: there, “DiffC” refers to a specific RCC-based diffusion compressor based on “Lossy Compression with Gaussian Diffusion,” implemented via the custom CUDA kernel of Vonderfecht and Liu, and it is explicitly distinguished from DDCM and Turbo-DDCM [2604.05743]. This suggests that, within the 2025–2026 image compression literature, DiffC functions both as the name of a compression principle and as the name of a particular RCC codec family rooted in the 2022 proposal [2206.08889].

| Paper | Role in DiffC lineage | arXiv |
|---|---|---|
| “Lossy Compression with Gaussian Diffusion” | Original DiffC formulation | [2206.08889] |
| “Lossy Compression with Pretrained Diffusion Models” | First complete practical implementation with pretrained models | [2501.09815] |
| “On the Robustness of Diffusion-Based Image Compression to Bit-Flip Errors” | Robustness analysis of RCC-based DiffC | [2604.05743] |

## 2. Reverse-channel coding and the communication-of-samples view

The defining mechanism of DiffC is **Reverse Channel Coding**. In this view, compression is not primarily the entropy coding of transform coefficients or learned latents. Instead, it is the communication of a target sample from a posterior \(q\) using a shared proposal distribution \(p\), with expected coding cost close to \(D_{KL}(q\|p)\) [2501.09815]. The 2022 DiffC paper states that communicating an exact sample costs at most the mutual information \(I[X,Z_t]\) plus a small overhead, and that when the sender and receiver assume a marginal \(p_t(Z_t)\), an achievable upper bound is \(C_t + \log(C_t+1)+5\), where \(C_t = \mathbb{E}_X[D_{KL}(q(Z_t|X)\|p_t(Z_t))]\) [2206.08889].

In diffusion compression, the encoder and decoder share a pretrained denoising model and shared randomness. The encoder selects a message that causes the decoder’s reverse diffusion trajectory to match the target-conditioned posterior at selected timesteps [2501.09815]. The 2026 dual-representation paper gives the same RCC intuition in more general form: RCC tackles the problem of communicating a random variable \(x\sim q(x)\) when both transmitter and receiver share a reference distribution \(p(x)\), with the objective of sending \(x\) in about \(D_{KL}(q\|p)\) bits [2602.05213].

The exact sampling procedure used in practical DiffC implementations is based on the **Poisson Functional Representation (PFR)** algorithm of Theis and Ahmed, which provides an exact sampling scheme with expected cost close to \(D_{KL}(q\|p)\) [2602.05213]. The 2025 implementation paper emphasizes that naïve PFR is inefficient when per-step KL is either too small or too large, and this led to the two principal engineering workarounds used in DiffC: **step skipping** when per-step KL is too small, and **dimensional splitting** when per-step KL is too large [2501.09815]. The same RCC strategies are described as carrying over directly in later work [2602.05213].

This RCC formulation is what makes DiffC conceptually distinct from classical and learned entropy-coded codecs. The entropy model is effectively embedded in the shared generative prior, while the transmitted bits identify which stochastic realization along the reverse process should be reconstructed [2501.09815].

## 3. Diffusion model formulation and codec pipeline

The original Gaussian DiffC paper formulates the forward corruption as
\[
Z_t = \sqrt{1-\sigma_t^2}\,X + \sigma_t U,\qquad U\sim \mathcal{N}(0,I),
\]
with the associated diffusion SDE
\[
dZ_t = -\beta_t Z_t\,dt + \sqrt{\beta_t}\,dW_t,\qquad Z_0=X,\qquad \sigma_t^2 = 1 - e^{-\int_0^t \beta_r\,dr}.
\]
The decoder then reconstructs either by ancestral sampling from the reverse SDE or by the probability flow ODE [2206.08889].

In the practical pretrained-model implementation, DiffC operates in latent space for Stable Diffusion 1.5, 2.1, XL, and Flux-dev [2501.09815]. The DDPM forward noising process is
\[
q(x_t | x_{t-1}) = \mathcal{N}\!\big(\sqrt{1-\beta_t}\,x_{t-1},\, \beta_t I\big),
\]
and the reverse model is
\[
p_\theta(x_{t-1} | x_t) = \mathcal{N}\!\big(\mu_\theta(x_t,t),\,\sigma_t^2 I\big),
\]
with \(\epsilon\)-prediction used for the mean parameterization [2501.09815]. The target posterior used by RCC is
\[
q(x_{t-1}|x_t,x_0)=\mathcal{N}\!\big(\tilde{\mu}_t(x_t,x_0),\,\tilde{\beta}_t I\big),
\]
which gives the sender distribution for each communicated step [2501.09815].

The practical codec has two phases. First, the encoder communicates a noisy sample \(x_t\) from the forward chain using RCC, possibly over a schedule that skips timesteps. Second, the decoder denoises deterministically from \(x_t\) to \(\hat{x}_0\), typically with a DDIM-style probability-flow sampler [2501.09815]. The pretrained-model paper states that DiffC-F, the deterministic probability-flow variant, is both faster and lower-distortion than ancestral sampling, and the 2022 Gaussian paper proves that flow-based reconstruction achieves a 3 dB gain over ancestral sampling at high bitrates [2206.08889].

The rate–distortion viewpoint is explicit in both formulations. The 2025 paper gives the standard Lagrangian
\[
L = \mathbb{E}[d(x,\hat{x})] + \lambda R,
\]
where the tradeoff is controlled by how far along the diffusion chain communication proceeds and how many bits are spent on RCC per step [2501.09815]. The 2022 paper emphasizes that the same unconditional diffusion model supports arbitrary bitrates by varying the corruption level \(\sigma_t^2\), and that partial bitstreams enable progressive reconstruction [2206.08889].

## 4. Practical implementation details and system-level behavior

The major practical advance in DiffC was the resolution of RCC inefficiencies. Near the highest noise levels, per-step KL can be too small for PFR to be bitrate-efficient, so DiffC skips multiple diffusion steps and communicates a larger jump instead [2501.09815]. Near \(t\approx 0\), per-step KL can become extremely large, so the latent is partitioned into approximately independent factors such that each component has manageable KL, around a “sweet spot” of about 16 bits per chunk in the 2025 implementation [2501.09815].

The paper also introduces a **greedy shortest-path schedule** for selecting which timesteps to communicate. If \(C(i,j)\) denotes the expected RCC cost of communicating \(x_j\) from \(x_i\), then the optimal schedule to a chosen final timestep \(t_{\mathrm{final}}\) is the shortest path in the graph of expected costs [2501.09815]. Because \(p(x_j|x_i)\) can be computed in closed form from the model’s \(\epsilon\)-prediction, this schedule can be optimized without repeated model calls [2501.09815].

A further simplification is the use of a hard-coded per-step KL schedule based on dataset averages rather than transmitting stepwise side information [2501.09815]. The paper reports that rate–distortion curves are robust to these approximations, including min, mean, max, and scaled variants [2501.09815].

On the systems side, a custom CUDA implementation of PFR is central. The pretrained-model paper reports that a custom CUDA kernel avoids materializing large arrays of proposal samples and achieves about a \(64\times\) speedup compared with PyTorch or TensorFlow implementations, making RCC a negligible portion of runtime for 16-bit chunks [2501.09815]. In consequence, overall runtime is dominated by diffusion inference rather than sampling overhead [2501.09815].

The method remains inherently iterative. The 2025 implementation reports, on an NVIDIA A40, encoding times of \(0.6\)–\(9.4\) s and decoding times of \(2.9\)–\(8.5\) s for DiffC with Stable Diffusion 1.5 on Kodak; larger models such as SDXL and Flux-dev increase runtime substantially [2501.09815]. This runtime profile became a central motivation for later few-step and real-time variants [2606.10450] [2604.12525].

## 5. Empirical performance, bitrate regimes, and robustness

DiffC is primarily positioned for **low** and **ultra-low bitrate** compression. The pretrained-model implementation reports natural operation across low and ultra-low regimes, with visual examples in the \(0.003\)–\(0.03\) bpp range on Kodak [2501.09815]. In the 2022 Gaussian-diffusion paper, DiffC-F significantly outperformed HiFiC in FID across bitrates on ImageNet \(64\times 64\), while both DiffC-F and DiffC-A exceeded BPG and HiFiC in PSNR at high rates [2206.08889].

At the same time, latent diffusion imposes a hard fidelity ceiling through the underlying VAE. The pretrained-model paper reports average VAE PSNR bounds of about \(25.7\) dB for Stable Diffusion 1.5 and 2.1, \(28.8\) dB for SDXL, and \(32.4\) dB for Flux on Kodak [2501.09815]. This is why the paper argues that SD-based DiffC is most compelling below the VAE distortion ceiling, whereas Flux’s higher-fidelity VAE supports higher bitrate operation [2501.09815].

Robustness to bit-level corruption is an important later development. The robustness paper evaluates DiffC under a Binary Symmetric Channel with bit error rates \(p\in\{10^{-6},10^{-5},10^{-4},10^{-3},10^{-2},10^{-1}\}\) [2604.05743]. At BER \(10^{-4}\) on Kodak24, DiffC achieved PSNR \(20.92\pm 4.18\), LPIPS \(0.29\pm 0.18\), FID \(33.95\pm 1.74\), and \(0.87\%\) corrupted files [2604.05743]. At BER \(10^{-3}\), DiffC degraded to PSNR \(14.85\pm 3.00\), LPIPS \(0.62\pm 0.15\), FID \(57.94\pm 3.53\), with \(8.26\%\) corrupted files [2604.05743].

The same study argues that RCC-based diffusion codecs are more robust to bit flips than classical and learned codecs because they transmit fixed-step structured control signals and because the diffusion prior regularizes perturbed guidance back onto the natural image manifold [2604.05743]. However, DiffC is still less robust than DDCM and Turbo-DDCM variants that avoid entropy coding altogether, because DiffC’s seeds are entropy-coded and remain vulnerable to desynchronization [2604.05743].

A recurring empirical theme is the balance between realism and semantic faithfulness. DiffC excels at synthesizing fine-grained detail from very limited information, but later work identifies **semantic drift** as a failure mode at the lowest bitrates, where the early noisy states do not retain complete global semantics [2602.05213].

## 6. Extensions, criticisms, and successor frameworks

A substantial portion of later work on diffusion compression is best understood as a response to specific limitations of DiffC.

The 2026 dual-representation framework argues that existing approaches are constrained by a tradeoff between semantic faithfulness and perceptual realism, and identifies DiffC as strong on fine-grained textures but weak on global semantic consistency when the bitrate is extremely small [2602.05213]. That work proposes conditioning a diffusion model on explicit high-level semantics while still using RCC for implicit texture transmission, and reports that it surpasses DiffC by \(29.92\%\), \(19.33\%\), and \(20.89\%\) in DISTS BD-Rate on Kodak, DIV2K, and CLIC2020, respectively [2602.05213].

The paper “CoD: A Diffusion Foundation Model for Image Compression” argues that Stable Diffusion is not the ideal foundation model for diffusion codecs and replaces text conditioning with learned image-native tokens [2511.18706]. In that account, DiffC is a zero-shot framework that “measures the compression capability” of a diffusion model, and CoD serves as a stronger diffusion backbone for DiffC, especially at ultra-low bitrates such as \(0.0039\) bpp [2511.18706]. The paper reports that text conditions harm zero-shot DiffC on Stable Diffusion, whereas compression-oriented conditioning improves low-bitrate performance [2511.18706].

The real-time paper “CoD-Lite” treats “DiffC (SD)” as the large-prior, multi-step diffusion-compression baseline and contrasts it with a one-step lightweight convolutional codec [2604.12525]. It reports \(60\) FPS encoding and \(42\) FPS decoding at 1080p, and uses DiffC as a latency baseline illustrating the cost of iterative sampling [2604.12525]. This suggests that, by 2026, DiffC had become the canonical benchmark for multi-step pretrained diffusion compression, even when later systems targeted real-time deployment [2604.12525].

The paper “Few-step Generative Models as Lossy Compression” explicitly asks whether Rectified Flow, Consistency Trajectory Models, and MeanFlow can be cast as codecs within the same RCC framework as DiffC [2606.10450]. It identifies DiffC’s slowness as arising from many forward and reverse steps and derives the posterior and shared distribution quantities needed for RCC from few-step model parameterizations [2606.10450]. On low-resolution benchmarks, these codecs reduce encoding and decoding time and improve realism in the low-bit-rate regime [2606.10450].

A more radical shift appears in “Next-Frame Decoding for Ultra-Low-Bitrate Image Compression with Video Diffusion Priors,” which treats DiffC as representative of image-diffusion codecs that start from Gaussian noise and use channel concatenation conditioning [2603.15129]. That paper instead transmits a visible anchor frame and uses a pretrained video diffusion model to perform one-step next-frame prediction. On CLIC2020, it reports over \(50\%\) bitrate savings across LPIPS, DISTS, FID, and KID relative to DiffC, with decoding speedups of up to about \(5\times\) [2603.15129].

Taken together, these developments suggest a stable interpretation of DiffC within the literature: it is the reference **RCC-based diffusion codec** that established the feasibility of zero-shot generative image compression with pretrained priors, but later work systematically targets its known weaknesses—semantic drift at ultra-low rates, reliance on latent VAEs, multi-step latency, and entropy-coding fragility under channel corruption [2501.09815] [2602.05213] [2604.05743] [2606.10450].

Source: https://www.emergentmind.com/topics/diffc