SpecKCast: Give Every Frequency Band Its Own Clock
Diffusion models generate an image by running the same huge Transformer dozens of times, each pass nudging the picture forward one small step. One small step, but the cost is an entire forward pass — which is why a wave of "shortcut" methods has emerged in recent years: since features at adjacent steps look nearly identical, why not skip some steps?
Skip methods come in two camps. The caching camp copies last step's homework directly: this step's feature is reused verbatim from the previous one. The prediction camp goes further: not just copying, but extrapolating — using several known steps to forecast the skipped ones. Both camps hit the same wall: the more you skip, the worse the error.
A new paper from the University of Toronto and Samsung AI Centre Toronto (first author Javad Rajabi, work done during his internship) took that wall apart and found two sentences written on it. First: when you extrapolate, you treat all frequency bands as one thing. Second: when you keep time, you use the wrong clock.
Two Sentences, Two Mismatches
Take the first sentence. Apply a 2D discrete cosine transform (DCT) to the model's output at each step (the velocity field predicted by the denoising network), decompose it into components from low to high frequency, and watch each band's trajectory over the whole denoising process. The paper's PCA trajectories are strikingly clear: low-frequency components — large structures, colors, composition — change violently in the first few steps, then settle down; high-frequency components — textures, details, edges — barely move at first and only surge in the latter half. Among radially grouped bands, the lowest band B0 moves the most in the very first step, while B6 waits forty-plus steps before entering its own active phase.
A unified predictor forced to serve passengers on completely opposite schedules can only achieve a compromised accuracy. That's the spatial mismatch.
Now the second sentence. Existing prediction methods use the sampler's step index as the time coordinate: the gap from step 10 to step 20 is treated as the same length as step 40 to step 50. But denoising is not uniform motion — the noise scheduler's sigma is nonlinear, and the "true amount of denoising" between adjacent steps varies a lot. Measuring a variable-speed journey with a fixed-length ruler makes the trajectory wobble, and the further you skip, the worse the wobble. That's the temporal mismatch.
SpecKCast's entire design pairs one remedy with each mismatch.
A Clock Per Band, a Kalman Filter Per Coefficient
Remedy one: give every frequency band its own clock. This clock isn't arbitrary — the paper's appendix gives a clean derivation: DCT is orthogonal, so white noise in stays white noise out, meaning noise contributes equal power to every band; but natural images concentrate their energy at low frequencies, so signal power decreases with frequency. Each band therefore has its own signal-to-noise ratio at every noise level, and the logarithm of that SNR — log-SNR — is the band's true denoising progress. In other words: don't use step indices as the clock; let each band use the log of its own SNR. The low-frequency clock and the high-frequency clock tick at different rates, but each trajectory becomes smooth and predictable under its own clock.
Remedy two: a Kalman filter for every coefficient. A textbook mechanism: the filter's state has two dimensions — current value plus rate of change. At every step (including skipped ones), extrapolate the current value using the rate; at every genuinely computed step, correct the state with the real output. The rate of change carries an exponential decay term — the longer since the last calibration, the lower the weight of the old "momentum," preventing the extrapolation from overshooting. This is exactly the mathematical shape behind the claim that "automatic rate decay keeps prediction stable throughout": ν becomes ν multiplied by a negative exponential.
Memory overhead is flattened at the same step. Each band maintains just one covariance matrix, shared by all coefficients in that band (which share the same time coordinate and noise statistics) — the number of covariance matrices drops from "one per coefficient" to L, the number of bands. This is the entire source of the 5 MiB extra memory on FLUX.1. Finally, an uncertainty scheduler sums the prediction-error variances across bands into a weighted risk value: the more steps skipped, the higher the risk climbs, and only when it hits a threshold does the model actually compute a step. How much to skip is no longer a hand-picked fixed setting — the filter decides.
The whole process never touches a model parameter: DCT in, Kalman tracking, inverse DCT out — all at inference time.
The Numbers
On FLUX.1-dev (1024×1024), the paper reports a comparison table with a 50-step reference and multiple acceleration tiers. The reference takes 11.7 s per image. At roughly 10× speedup (3.4 s), SpecKCast retains PSNR 24.3; at the same tier, TeaCache scores 16.9, HiCache (a 2026 method using Hermite polynomial feature prediction) scores 18.0, SeaCache (another 2026 method using spectral filtering for cache decisions) scores 22.3, and the naive uncalibrated baseline only 14.6. At the ~8× tier, SpecKCast gets 21.8 versus 14–19 for the controls. The paper's introduction conservatively claims "up to 6× speedup with less than 0.05 GiB extra memory" — the table's actual memory increment is 0.005 GiB, i.e., that 5 MiB. Qwen-Image shows three similar tiers, and Wan2.1-14B and HunyuanVideo results appear in the appendix on the video side.
The timeline behind this table is also notable: DeepCache in 2024 accelerated U-Net with hand-crafted rules, TeaCache used correlations in timestep embeddings to decide when to reuse, and HiCache and SeaCache are both 2026 methods. From caching to prediction, from reuse to extrapolation, this track has grown denser every year for two years — and SpecKCast's contribution is to separate the questions of *where to predict* and *what clock to predict with*. That doesn't sound like a groundbreaking insight, yet at matched speedups it beats older baselines by seven or eight PSNR points, and the latest SeaCache by about two.
A 5 MiB extrapolator, built from a few textbook-grade old ideas — DCT, Kalman filtering, SNR — placed ahead of a crowd of 2026 rivals.
---
*Source: SpecKCast: Spectral Kalman Forecasting for Diffusion Acceleration (arXiv:2610.26837, 2026-10-19, Rajabi/Karaimer/Lindell/Taati/Brown; University of Toronto + Vector Institute + Samsung AI Centre Toronto, first-author internship work). Figures taken from Table 1 and the introduction (FLUX.1-dev, 1024×1024, 50-step reference); baselines include FORA, TeaCache, HiCache, SeaCache.*