/Cool-Chic

Low-complexity neural image & video codec.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Contributors Forks Stargazers Issues BSD-3 License PyTorch


Cool-chic Logo


Explore the docs ยป

Decode provided bitstreams ยท Compression performance

Cool-chic (pronounced /kul สƒik/ as in French ๐Ÿฅ–๐Ÿง€๐Ÿท) is is a low-complexity neural image codec based on overfitting. It offers image coding performance competitive with H.266/VVC for 2000 multiplications per decoded pixel.

Current & future features

  • Coding performance
    • โœ… On par with VVC for image coding
    • โŒ Upcoming improved Cool-chic video
  • I/O format
    • โœ… PPM for 8-bit RGB images, yuv420 8-bit and 10-bit
    • โŒ yuv444
    • โŒ Additional output precisions (12, 14 and 16-bit)
    • โŒ Output PNG instead of PPM for the decoded images
  • Decoder
    • โœ… Fast C implementation
    • โœ… Integer computation for the ARM
    • โœ… Complete integerization
    • โœ… Decrease memory footprint & faster decoding

Latest release: ๐Ÿš€ Cool-chic 3.3: An even faster decoder! ๐Ÿš€

  • Make the CPU-only decoder even faster.
    • 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

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
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!

Performance

The Cool-chic page provides comprehensive rate-distortion results and compressed bitstreams allowing to reproduce the results inside the results/ directory.

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

Kodak

Kodak rd results Kodak performance complexity

CLIC20 Pro Valid

CLIC20 rd results CLIC20 performance complexity

JVET Class B

JVET class B rd results JVET class B performance complexity

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