microsoft/mlvc
MLVC: Multi-platform Learned Video Codec for Real-World Deployment
What it solves
MLVC is a neural video codec designed for real-world deployment on consumer devices. It addresses the challenge of creating a learned video compression system that maintains high visual quality while achieving real-time performance (averaging 100 FPS) on commodity NPUs (Neural Processing Units) from Apple, Intel, and Qualcomm.
How it works
MLVC uses a learned approach to video compression, providing a full pipeline for training and deploying models. It includes:
- Training Pipeline: Supports training for both image (I-frame) and video (P-frame) models, with options for PSNR-based or perceptual-based optimization.
- Hardware Optimization: Includes conversion tools to export models to CoreML (Apple), ONNX for OpenVINO (Intel), and QNN (Qualcomm) to leverage hardware acceleration.
- Entropy Coding: A production-ready C++ entropy coder optimized for real-time deployment to handle the actual bitstream production.
- Evaluation Suite: Tools to compute BD-rate, RD curves, and various quality metrics (PSNR, MS-SSIM, LPIPS, etc.) to compare performance against traditional codecs like H.265/HEVC.
Who it’s for
Researchers and developers working on learned video compression, neural codecs, and high-performance AI-driven media processing on edge devices.
Highlights
- Real-time Performance: Achieves approximately 100 FPS for encoding and decoding on commodity NPUs.
- Hardware Robustness: Native support for Apple, Intel, and Qualcomm NPUs via specialized export tools.
- Significant Efficiency Gains: Over 70% MOS-based BD-rate improvement over hardware HEVC.
- Comprehensive Tooling: Provides pre-trained checkpoints, training code, and benchmarking tools.
Related
- Project
- Project
- Project
- Project
- Project