Low-complexity neural image & video codec.
  • Python 55.3%
  • C++ 43.9%
  • C 0.5%
  • CMake 0.3%
Find a file
2025-04-02 11:13:24 +02:00
.github/workflows Update sanity-check.yml 2025-03-11 16:48:03 +01:00
cfg Make decoder work with empty latent grids. Add JVET C random access results 2025-04-02 10:17:36 +02:00
coolchic Make decoder work with empty latent grids. Add JVET C random access results 2025-04-02 10:17:36 +02:00
docs Update mse formula 2025-04-02 11:13:24 +02:00
results Make decoder work with empty latent grids. Add JVET C random access results 2025-04-02 10:17:36 +02:00
samples Make decoder work with empty latent grids. Add JVET C random access results 2025-04-02 10:17:36 +02:00
test Make decoder work with empty latent grids. Add JVET C random access results 2025-04-02 10:17:36 +02:00
toolbox/toolbox Cool-chic 4.0.0: bring back video 2025-03-11 16:33:58 +01:00
.gitignore Cool-chic 4.0.0: bring back video 2025-03-11 16:33:58 +01:00
CONTRIBUTORS.md First commits of Cool-chic 3.2: go fast boiii! 2024-06-17 14:52:15 +02:00
LICENSE.txt Cool-chic 3.4.1: use torch.compile for faster encoding 2025-01-06 16:28:47 +01:00
LICENSE_CABAC.txt Cool-chic 3.4.1: use torch.compile for faster encoding 2025-01-06 16:28:47 +01:00
pyproject.toml First commits of Cool-chic 3.2: go fast boiii! 2024-06-17 14:52:15 +02:00
README.md Update links in README and landing web page 2025-04-02 10:25:09 +02:00
setup.py Cool-chic 4.0.0: bring back video 2025-03-11 16:33:58 +01:00

Forks Stargazers Issues BSD-3 License PyTorch


Cool-chic (pronounced /kul ʃik/ as in French 🥖🧀🍷) is a low-complexity neural image codec based on overfitting.

  • 🏆 Coding performance: Cool-chic compresses images as well as H.266/VVC

  • 🪶 Lightweight decoder: Cool-chic decoder performs only 1000 multiplications per decoded pixel

  • 🚀 Fast CPU-only decoder: Decode a 1280x720 image in 100 ms on CPU with our decoder written in C

  • 🖼️ I/O format: Encode PNG, PPM and YUV 420 & 444 files with a bitdepth of 8 to 16 bits

🎥 Cool-chic 4.0.0: Video is back! 🎥

  • Cool-chic now compresses inter frames with two cool-chic modules: one for the motion and one for the residue
  • The motion module training is guided through a RAFT optical flow estimator for more accurate motion.

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

Setup

More details are available on the Cool-chic page

# We need to get these packages to compile the C API and bind it to python.
sudo add-apt-repository -y ppa:deadsnakes/ppa && sudo apt update
sudo apt install -y build-essential python3.10-dev pip g++
git clone https://github.com/Orange-OpenSource/Cool-Chic.git && cd Cool-Chic

# Install create and activate virtual env
python3.10 -m pip install virtualenv
python3.10 -m virtualenv venv && source venv/bin/activate

# Install Cool-chic
pip install -e .

# Sanity check
python -m test.sanity_check

You're good to go!

Image compression performance

The Cool-chic page provides comprehensive image rate-distortion results.

BD-rate of Cool-chic 4.0 vs. [%] Avg. decoder complexity
Cheng ELIC C3 HEVC (HM 16) VVC (VTM 19) MAC / pixel CPU Time [ms]
kodak -4.2 % +7.5 % -4.3 % -17.2 % +3.4 % 1303 74
clic20-pro-valid -13.2 % -0.2 % -1.3 % -25.1 % -2.3 %
1357 354
jvet (BCDEF) / / / -18.3 % +18.6 % 1249 143
jvet (class B) / / / -9.9 % +20.7 % 1300 282
jvet (class C) / / / -16.1 % +9.2 % 1289 69
jvet (class D) / / / -12.4 % +9.6 % 948 18
jvet (class E) / / / -6.2 % +27.8 % 1347 125
jvet (class F) / / / -31.8 % +20.6 % 1249 182

Compression performance and decoding time

Decoding time are obtained on a single CPU core of an an AMD EPYC 7282 16-Core Processor

PSNR is computed in the RGB domain for kodak and CLIC20, in the YUV420 domain for jvet

Kodak

Kodak rd results

CLIC20 Pro Valid

CLIC20 rd results

JVET Class B

JVET class B rd results


Video compression performance

The Cool-chic page provides comprehensive video rate-distortion results.

Random access results (intra period 32)

Sequence BD-rate of Cool-chic 4.0.0 against [%] Decoding complexity
HEVC (HM 16) HEVC (x265-medium) AVC (x264-medium) MAC / pixel Frame rate [fps]
C-BasketballDrill +59.6 +15.2 -11.5 946 18.3
C-BQMall +128.7 +49.3 +20.6 945 16.7
C-PartyScene +113.0 +37.9 +20.3 946 17.5
C-RaceHorses +118.7 +41.0 +19.3 950 16.5
Average +105.0 +35.9 +12.2 947 17.3

C-BasketballDrill

BasketballDrill rd results

Thanks

Special thanks go to Hyunjik Kim, Matthias Bauer, Lucas Theis, Jonathan Richard Schwarz and Emilien Dupont for their great work enhancing Cool-chic: C3: High-performance and low-complexity neural compression from a single image or video, Kim et al.


Cool-chic Logo