Skip to content

Add MLIC series models#357

Open
Yiozolm wants to merge 1 commit into
InterDigitalInc:masterfrom
Yiozolm:feat-mlicpp-series
Open

Add MLIC series models#357
Yiozolm wants to merge 1 commit into
InterDigitalInc:masterfrom
Yiozolm:feat-mlicpp-series

Conversation

@Yiozolm

@Yiozolm Yiozolm commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds the MLIC family of learned image compression models and the multi-context checkerboard latent codecs needed to express their entropy models in CompressAI:

  • MLIC
  • MLICPlus
  • MLICPlusPlus
  • MLICv2

The work is related to the following papers:

  • MLIC: Multi-Reference Entropy Model for Learned Image Compression
  • MLIC++: Linear Complexity Multi-Reference Entropy Modeling for Learned Image Compression
  • MLICv2: Enhanced Multi-Reference Entropy Modeling for Learned Image Compression
  • Improving inference for neural image compression

Only the MLIC++ implementation is adapted from the official JiangWeibeta/MLIC code.
The MLIC, MLICPlus, and MLICv2 implementations are paper-based reproductions written against CompressAI's model and latent-codec structure.

This PR intentionally does not include the SGA-based inference-time latent refinement used by MLICv2+.
That part is planned for a follow-up PR so this change can focus on the base MLIC-series models and reusable multi-context checkerboard codec components.

Changes

  • Add multi-context checkerboard latent codecs.
  • Add private MLIC and MLICv2 model helper modules.
  • Add MLIC, MLICPlus, MLICPlusPlus, and MLICv2 model classes.
  • Register MLIC-series constructors in the image zoo.
  • Add an MLIC++ checkpoint conversion example for official upstream checkpoints.
  • Add focused tests for codecs, helper layers, model construction, zoo registration, and state-dict loading.

Validation

  • uv run ruff check compressai tests examples
  • uv run ruff format --check compressai tests examples
  • Focused MLIC test suite: 86 passed, 1 skipped

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant