tongdaxu/changanbench

1

stars

77

commits

Python

primary language

Aug 10, 2026

updated

README

Image & Video Codec Evaluation

ChanganBench is a configurable benchmark toolkit for large-scale image and video codec evaluation. It provides a unified framework for evaluating traditional codecs, learned codecs, generative codecs and tokenizer-based codecs using distributed execution and configurable benchmarking pipelines.

Image Codec Evaluation

Supported Image Codecs

Perceptual Image CodecImage Tokenizer
TraditionalJPEG, HM, VTMGAN-based FSQ, BSQ, VAR, TA-Tok
Infinity, Cosmos, IBQ
Learning-basedELIC, TCM, MLIC++
GAN-basedHiFiC, MS-ILLMDiffusion-based FlowMo, SSDD
Diffusion-basedPerCo, DiffEIC, StableCodec

Supported Metrics

CategoryMetrics
Pixel FidelityPSNR, SSIM, MS-SSIM
Perceptual QualityLPIPS, DISTS
Distribution QualityFID
Compression EfficiencyBPP

Supported Datasets

DatasetDescription
Imagenet/ CLIC2020/ KodakBuilt-in benchmark dataset
Custom DatasetAny image directory or dataset implementation

New codecs can be integrated by implementing a codec class and registering it through the configuration system.

reconstruction, bpp = codec(image)

Evaluation Pipeline

Image Evaluation

Dataset
    ↓
Codec Inference
    ↓
Reconstruction + BPP
    ↓
Metric Evaluation
    ↓
Distributed Aggregation
    ↓
Final Benchmark Results

Video Evaluation

Supported Video Codecs

Traditional H.264, H.265, H.266 Neural Codec DCVC, DCVC-TCM, DCVC-HEM
DCVC-DC, DCVC-FM, DCVC-RT

Supported Video Metrics

CategoryMetrics
Pixel FidelityPSNR, SSIM, MS-SSIM
Perceptual QualityLPIPS, DISTS
Distribution QualityFID, FVD
3D/Geometry SensitivityVGGT camera center error, camera rotation error, depth AbsRel, point L2
Compression EfficiencyBPP

Configuration-Driven Benchmarking

Each benchmark experiment is defined by three configurable components:

  • Dataset
  • Codec
  • Metric

All components are configured through YAML files, enabling arbitrary combinations of datasets, codecs, and evaluation criteria without modifying benchmark code.

The framework supports:

  • PyTorch Distributed Data Parallel (DDP)
  • Extensible codec registration
  • Extensible metric registration
  • Extensible dataset registration
  • Unified image and video benchmarking workflows

Contributors

Li-siqi-Anne

40 commits

hankong0222

22 commits

Wire-Byte

14 commits

tongdaxu

1 commits

tongdaxu/changanbench

1

stars

77

commits

Python

primary language

Aug 10, 2026

updated

README

Image & Video Codec Evaluation

ChanganBench is a configurable benchmark toolkit for large-scale image and video codec evaluation. It provides a unified framework for evaluating traditional codecs, learned codecs, generative codecs and tokenizer-based codecs using distributed execution and configurable benchmarking pipelines.

Image Codec Evaluation

Supported Image Codecs

Perceptual Image CodecImage Tokenizer
TraditionalJPEG, HM, VTMGAN-based FSQ, BSQ, VAR, TA-Tok
Infinity, Cosmos, IBQ
Learning-basedELIC, TCM, MLIC++
GAN-basedHiFiC, MS-ILLMDiffusion-based FlowMo, SSDD
Diffusion-basedPerCo, DiffEIC, StableCodec

Supported Metrics

CategoryMetrics
Pixel FidelityPSNR, SSIM, MS-SSIM
Perceptual QualityLPIPS, DISTS
Distribution QualityFID
Compression EfficiencyBPP

Supported Datasets

DatasetDescription
Imagenet/ CLIC2020/ KodakBuilt-in benchmark dataset
Custom DatasetAny image directory or dataset implementation

New codecs can be integrated by implementing a codec class and registering it through the configuration system.

reconstruction, bpp = codec(image)

Evaluation Pipeline

Image Evaluation

Dataset
    ↓
Codec Inference
    ↓
Reconstruction + BPP
    ↓
Metric Evaluation
    ↓
Distributed Aggregation
    ↓
Final Benchmark Results

Video Evaluation

Supported Video Codecs

Traditional H.264, H.265, H.266 Neural Codec DCVC, DCVC-TCM, DCVC-HEM
DCVC-DC, DCVC-FM, DCVC-RT

Supported Video Metrics

CategoryMetrics
Pixel FidelityPSNR, SSIM, MS-SSIM
Perceptual QualityLPIPS, DISTS
Distribution QualityFID, FVD
3D/Geometry SensitivityVGGT camera center error, camera rotation error, depth AbsRel, point L2
Compression EfficiencyBPP

Configuration-Driven Benchmarking

Each benchmark experiment is defined by three configurable components:

  • Dataset
  • Codec
  • Metric

All components are configured through YAML files, enabling arbitrary combinations of datasets, codecs, and evaluation criteria without modifying benchmark code.

The framework supports:

  • PyTorch Distributed Data Parallel (DDP)
  • Extensible codec registration
  • Extensible metric registration
  • Extensible dataset registration
  • Unified image and video benchmarking workflows

Contributors

Li-siqi-Anne

40 commits

hankong0222

22 commits

Wire-Byte

14 commits

tongdaxu

1 commits

Languages

Python

92.6%

C++

5.2%

Cuda

1.4%