Releases: Orange-OpenSource/Cool-Chic
v3.4.1
🎉 Cool-chic 3.4.1: Up to a 3x encoding speed-up! 🎉
This release only affects the encoding speed of Cool-chic, mostly by leveraging torch.compile
to run faster.
- Speed-up GPU Encoding up to 3 times! Check-out the detailed encoding speed-up measurements
- Change encoder configuration files with better medium and slow encoding presets
v3.4.0
🎉 Cool-chic 3.4.0: 30% less complex! 🎉
This release introduces a new upsampling of the latent variables bringing compression gain. It also allows to rely on smaller Auto-Regressive Modules, lowering the overall decoder complexity significantly.
- New and improved latent upsampling module
- Leverage symmetric and separable convolution kernels to reduce complexity & parameters count
- Learn two filters per upsampling step instead of one for all upsampling steps
- 1% to 5% rate reduction for the same image quality
- 30% complexity reduction using a smaller Auto-Regressive Module
- From 2000 MAC / decoded pixel to 1300 MAC / decoded pixel
- 10% faster decoding speed
Compression performance
BD-rate of Cool-chic 3.4 vs. [%] | Avg. decoder complexity | |||||||
---|---|---|---|---|---|---|---|---|
Cheng | ELIC | Cool-chic 3.3 | C3 | HEVC (HM 16) | VVC (VTM 19) | MAC / pixel | CPU Time [ms] | |
kodak | -4.2 % | +7.5 % | -0.9 % | -4.3 % | -17.2 % | +3.4 % | 1303 | 74 |
clic20-pro-valid | -13.2 % | -0.2 % | -0.3 % | -1.3 % | -25.1 % | -2.3 % |
1357 | 354 |
jvet | / | / | -0.2 % | / | -18.3 % | +18.6 % | 1249 | 143 |
Kodak
CLIC20 Pro Valid
JVET Class B
v3.3.0
🚀 Cool-chic 3.3: An even faster decoder 🚀
This release improves the speed of Cool-chic CPU-only C decoder and does not affect the compression performance.
Notable improvements:
- Decode a 720p image in 100 ms, 2x faster than Cool-chic 3.2
- Full integerization of the decoder for replicability
- Reduce decoder memory footprint
- Optimized implementation of 3x3 convolutions & fusion of successive 1x1 convolutions
Dataset | Vs. Cool-chic 3.1 | Vs. C3, Kim et al. | Vs. HEVC (HM 16.20) | Vs. VVC (VTM 19.1) | Avg decoder MAC / pixel | Avg decoding time [ms] |
---|---|---|---|---|---|---|
kodak | - 1.9 % | - 3.4 % | - 16.4 % | + 4.5 % | 1880 | 96 |
clic20-pro-valid | - 4.2 % | - 1.0 % | - 24.8 % | - 1.9 % | 1907 | 364 |
jvet class B | - 7.2 % | / | - 10.8 % | + 19.5 % | 1803 | 260 |
v3.2.1
Cool-chic 3.2: Go fast boiii 🔥 🏎️
This release corresponds to the paper Overfitted image coding at reduced complexity, Blard et al., EUSIPCO 24
Notable improvements:
- Fast CPU-only decoder
- Decode a 512x768 image in 100 ms
- C API for binary arithmetic coding
- Encoding time reduced by 35%
- Rate reduction of 5% compared to Cool-chic 3.1
Dataset | Vs. Cool-chic 3.1 | Vs. C3, Kim et al. | Vs. HEVC (HM 16.20) | Vs. VVC (VTM 19.1) | Avg decoder MAC / pixel | Avg decoding time [ms] |
---|---|---|---|---|---|---|
kodak | - 1.9 % | - 3.5 % | - 16.4 % | + 4.4 % | 1880 | 168 |
clic20-pro-valid | - 4.3 % | - 1.1 % | - 24.9 % | - 2.0 % | 1907 | 857 |
jvet class B | - 7.2 % | / | - 10.9 % | + 19.4 % | 1803 | 485 |
v3.1
Cool-chic 3.1: now it does video 🎬
This releases is more or less aligned with the paper Cool-chic video: Learned video coding with 800 parameters, DCC 2024, Leguay et al..
Notable improvements:
- Cool-chic can compress videos composed of at least one intra frame followed by 0 to N inter frames ;
- Inter frame can have one reference (P-frame) or two references (B-frame) ;
- Allow to use the usual coding configurations: All Intra, Low-delay P & Random Access.
Detailed results are available on the Cool-chic page
All Intra coding remains similar to Cool-chic 3.0 and is competitive with VVC, while requiring only 2 000 multiplications per decoded pixel.
Low-delay and Random Access offer performance on par with AVC, while requiring only 500 multiplications per decoded pixel.
v3.0
Cool-chic 3.0: A small quantizer change, a giant leap in performance for Cool-chic 🌕 🚀
Improve image compression performance of Cool-chic 2.0 by retaining some of the encoder-side improvements from C3: High-performance and low-complexity neural compression from a single image or video, Kim et al., CVPR 2024.
Notable improvements:
- 17% to 23% rate reduction compared to Cool-chic 2.0 while maintaining identical decoder-side complexity ;
- Better management of the quantization during training thanks to the softround mechanism and the kumaraswamy noise ;
- Overall refactoring of the code for more convenient training.
Detailed results are available on the Cool-chic page.
Bd-rate against different anchors:
Dataset | Vs. Cool-chic 2 | Vs. Cool-chic 1 | Vs. C3, Kim et al. | Vs. HEVC (HM 16.20) | Vs. VVC (VTM 19.1) | Min decoder complexity [MAC / pixel] | Max decoder complexity [MAC / pixel] | Avg decoder complexity [MAC / pixel] |
---|---|---|---|---|---|---|---|---|
kodak | - 19.4 % | - 29.1 % | - 1.6 % | - 14.6 % | + 6.6 % | 299 | 2291 | 1841 |
clic20-pro-valid | - 16.8 % | / | + 3.3 % | - 21.4 % | + 2.3 % | 545 | 2295 | 1897 |
jvet | - 23.0 % | / | / | - 13.7 % | + 25.4 % | 300 | 2295 | 1680 |
v2.0
Cool-chic 2.0: Towards a better decoder 💪
Improve image compression performance of Cool-chic 1.0 by implementing the changes proposed in Low-complexity Overfitted Neural Image Codec, IEEE MMSP 2023, Leguay et al..
Notable improvements:
- 10% rate reduction compared to Cool-chic 1.0 while maintaining identical decoder-side complexity ;
- Several decoder architecture changes: convolution-based synthesis, learned upsampling for the latent variables ;
- Encoder changes: use modified Straight Through Estimator to model the quantization in the final stage of the encoding ;
- Support YUV 420 files as input ;
- Fixed-point arithmetic for the entropy coding part, ensuring cross-platform encoding and decoding.
Detailed BD-rate performance:
Dataset | vs. Cool-chic 1.0 | vs. HEVC (HM 16.20) | Avg. Decoder complexity [MAC / pixel] |
---|---|---|---|
kodak | -11.7 % | + 7.1 % | 2291 |
clic20-pro-valid | / | - 4.9 % | 2291 |
jvet | / | + 11.9 % | 2291 |
v1.0
Cool-chic 1.0: Where it all began 👼
Initial release of COOL-CHIC: Coordinate-based Low Complexity Hierarchical Image Codec, ICCV 2023, Ladune et al.. Cool-chic is a learned image codec, based on overfitting. As such it learns a tiny decoder (around 1 000 parameters) for each image to compress.
Despite its very low decoding complexity, Cool-chic significantly outperforms JPEG and COIN (an other overfitted codec) while being not too far from HEVC.
BD-rate against different anchors (more results available in the paper):
Dataset | vs. COIN | vs. JPEG | vs. HEVC (HM 16.20) | Avg. decoder complexity [MAC / pixel] |
---|---|---|---|---|
kodak | - 65 % | - 55 % | + 22.2 % | 800 |