PULSE: Unlocking Practical Image Compression on Single-Thread CPU
PULSE is an asymmetric, variable-rate neural image codec for practical compression on resource-constrained hardware. It combines ultra-low-complexity decoding, bit-exact entropy coding, and MSE or perceptual optimization.
Key Advantages
- Single-thread CPU decoding: The base receiver requires just 5.2 kMAC/pixel.
- Cross-platform entropy coding: Integer Linear CDF prediction and CPU rANS provide deterministic entropy transport, with a content-adaptive Meta Prior.
- Flexible rate and quality: Four MSE/perceptual models support eight quality levels each, including face/text-aware perceptual fine-tuning.
- Complete codec tools: Training, independent
.pulsecompression and decompression, and optimized CPU, H100 GPU, and mobile NPU deployment tools.
Available Models
| Bundle | Objective | Receiver |
|---|---|---|
pulse-s-mse |
MSE | ~2.7 kMAC/pixel |
pulse-mse |
MSE | ~5.2 kMAC/pixel |
pulse-perceptual |
Perceptual / ROI | ~5.2 kMAC/pixel |
pulse-l-perceptual |
Perceptual / ROI | ~20 kMAC/pixel |
Each bundle contains config.json, model.pt and entropy_control_int.pt.
Eight QPs (0–7) are supported. Keep the matching files together.
manifest.json and SHA256SUMS record all inference-file checksums.
Packaging checks on September 12, 2026 passed all eight QPs of all four models on CPU and CUDA. Native transport bytes and uint8 reconstructions matched the original implementation on the same backend. The code's checked envelope adds 32 bytes around that native transport. These are compatibility checks, not a new RD evaluation.
Use
Install the PULSE code
following its installation guide, then run from GenCodec/PULSE:
python download_models.py --repo zhaoyangjia/PULSE --models pulse-mse
python compress.py --model checkpoints/pulse-mse \
--input image.png --output image.pulse --qp 3
python decompress.py --model checkpoints/pulse-mse \
--input image.pulse --output reconstruction.png