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.1 focuses on video coding, improving particularly the temporal prediction through better and lighter sub-pixel motion compensation. This release is linked to the following paper: Efficient Sub-pixel Motion Compensation in Learned Video Codecs, Ladune et al..
- Replace 2-tap bilinear filtering with sinc-based 8-tap filters
- Decode motion fields at 1/4 of the frame resolution for lighter decoding complexity
- Improved video compression performance: -23.6% rate versus Cool-chic 4.0
- Decrease motion-related complexity by 45%, from 391 to 214 MAC / decoded pixel
Check-out the release history to see previous versions of Cool-chic.
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!
The Cool-chic page provides comprehensive image rate-distortion results.
BD-rate of Cool-chic 4.1 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 |
The Cool-chic page provides comprehensive video rate-distortion results.
Sequence | BD-rate of Cool-chic 4.1.0 against [%] | Decoding complexity | ||||
---|---|---|---|---|---|---|
HEVC (HM 16) | HEVC (x265-medium) | AVC (x264-medium) | Cool-chic 4.0 | MAC / pixel | Frame rate [fps] | |
C-BasketballDrill | +30.8 | -5.2 | -29.5 | -17.5 | 639 | 13.3 |
C-BQMall | +77.1 | +16.6 | -6.0 | -21.1 | 639 | 13.2 |
C-PartyScene | +28.3 | -15.1 | -39.2 | -39.1 | 639 | 12.9 |
C-RaceHorses | +79.6 | +17.4 | +8.6 | -16.8 | 639 | 12.1 |
Average | +54.0 | +3.4 | -14.0 | -23.6 | 639 | 12.9 |
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.
