OpenDCVCs is an open-source PyTorch implementation and benchmarking suite for the DCVC series of learned video compression models. It provides comprehensive, training-ready code for four advanced codecs:
- DCVC
- DCVC with Temporal Context Modeling (DCVC-TCM)
- DCVC with Hybrid Entropy Modeling (DCVC-HEM)
- DCVC with Diverse Contexts (DCVC-DC)
- Full training & evaluation pipelines for all DCVC model variants
- Extensive instrucion
- Open, extensible codebase
| Model | Description |
|---|---|
| DCVC | Feature-domain conditional coding with contextual entropy modeling |
| DCVC-TCM | Multi-scale temporal context mining and refilling for richer temporal modeling |
| DCVC-HEM | Hybrid spatial-temporal entropy modeling and multi-granularity quantization |
| DCVC-DC | Hierarchical quality, offset diversity, and quadtree-based entropy coding for robust, diverse context mining |
Clone the repository and install dependencies:
git clone https://github.com/your-username/OpenDCVCs.git
cd OpenDCVCs
pip install -r requirements.txtRequires Python 3.8+, PyTorch 1.12+, and CUDA for GPU training/evaluation.
We use Vimeo90k septuplet dataset for training, which consists of 91,701 7-frame sequences with fixed resolution 448 x 256. Available at http://data.csail.mit.edu/tofu/dataset/vimeo_septuplet.zip
For testing, we evaluate our models on benchmark datasets widely used in the video compression literature:
See each method subfolder
Example Results Table:
| Method | HEVC-B BD-Rate | UVG BD-Rate | MCL-JCV BD-Rate | Model Params | Inference Time | GPU Mem |
|---|---|---|---|---|---|---|
| DCVC-official | 0% | 0% | 0% | 7.94 M | 0.2615 s | 21.79GB |
| OpenDCVC | -10.60% | -6.35% | 10.40% | 7.94 M | 0.2620 s | 21.80GB |
| OpenDCVC-TCM | -42.35% | -46.70% | -27.11% | 10.70 M | 0.3070 s | 5.67GB |
| OpenDCVC-HEM | -56.39% | -59.75% | -46.94% | 17.52 M | 0.3458 s | 4.74GB |
| OpenDCVC-DC | -61.56% | -65.49% | -52.74% | 19.77 M | 0.5255 s | 7.78GB |
Tested on Nvidia L40S GPU, AMD EPYC 9554 CPU, 384GB RAM, 1080p videos.
This project is licensed under the MIT License.
We welcome contributions and suggestions!
- Submit issues or pull requests via GitLab
- Contact: Yichi Zhang
The implementation is based on CompressAI, PyTorchVideoCompression and the official DCVC. Some model weights of intra coding come from CompressAI.