Skip to content

Orange-OpenSource/Cool-Chic

Repository files navigation

Forks Stargazers Issues BSD-3 License PyTorch


Cool-chic (pronounced /kul ʃik/ as in French 🥖🧀🍷) is a low-complexity neural image and video codec based on overfitting. It achieves state-of-the-art image compression performance, while requiring only 1000 multiplications per decoded pixel.


🚀 Cool-chic 5.0: Better and faster overfitted image compression! 🚀

Cool-chic 5.0 focuses on image coding, implementing the contributions presented in the following paper: Cool-chic 5.0: Faster Encoding and Inter-Feature Entropy Modeling for Overfitted Image Compression, Ladune et al..

  • 10x encoding speed-up vs. Cool-chic 4.2
  • Better image compression: Rate decrease of -10% versus Cool-chic 4.2 for identical quality
  • Low decoding complexity of 2000 MAC / pixel

Check-out the release history to see previous versions of Cool-chic.

Setup

See the Cool-chic setup documentation for additional details

# Clone the Cool-chic source code
git clone https://github.com/Orange-OpenSource/Cool-Chic.git && cd Cool-Chic

# Install create and activate virtual env
sudo apt install -y pip
python3 -m pip install virtualenv
python3 -m virtualenv venv && source venv/bin/activate

# Install required packages
pip install -r requirements.txt

# Sanity check
python -m test.sanity_check

Encoding

See the example page for more encoding examples. A comprehensive description of the encoder parameters are available for image and video compression.

# Encode an image using the default configuration
python cc_encode.py -i image.png -o ./bitstream.cool

# Video requires to successively encode multiples frames.
python samples/encode.py -i myTestVideo_1920x1080_24p_yuv420_8b.yuv -o bitstream.cool

Decoding

# Decoder outputs either PNG (image) or YUV (video) files
python cc_decode.py -i samples/bitstreams/kodim14.cool -o kodim14.png

Image compression performance

BD-rate of Cool-chic 5.0.1 vs. [%]
Cheng ELIC MLIC++ Cool-chic 4.2 Cool-chic 5.0.0 VVC (VTM 28.3)
kodak (RGB) -10.4 % +0.1 % +10.2% -6.1 % -1.2 % -3.9 %
clic20-pro-valid (RGB) -21.3 % -9.5 % +0.5 % -9.9 % -0.6 % -11.6%
jvet A (YUV420) / / / / -1.4 % -4.0 %
jvet B (YUV420) / / / -13.7% -1.9 % +6.6 %

Citation

If you use this project, please cite the Cool-chic 5.0 paper in your work.

@article{ladune2026-coolchic5-0-fasterencoding,
      title={Cool-chic 5.0: Faster Encoding and Inter-Feature Entropy Modeling for Overfitted Image Compression},
      author={Théo Ladune and Pierrick Philippe and Pierre Jaffuer and Théophile Blard and Sylvain Kervadec and Félix Henry and Gordon Clare},
      year={2026},
      eprint={2605.02726},
      archivePrefix={arXiv},
      primaryClass={eess.IV},
      url={https://arxiv.org/abs/2605.02726},
}

Acknowledgements

We rely on Robert Bamler's constriction package for range coding. Thanks to the developers for their work!



Cool-chic Logo

Packages

 
 
 

Contributors

Languages