Essential Video Coding (MPEG-5 EVC): Бизнес-ориентированный видеостандарт следующего поколения
По мере того как платформы потокового вещания, цифровые вещатели и мобильные сети продолжают масштабировать доставку контента высокого разрешения (4K, 8K и HDR), эффективность видеосжатия — лишь половина задачи. Неопределённость лицензирования и сложные патентные роялти исторически препятствовали принятию кодеков в медиаиндустрии. Чтобы решить этот узкий момент, группа экспертов по движущимся изображениям (MPEG) разработала Essential Video Coding (EVC), официально обозначенную как ISO/IEC 23094-1 (MPEG-5 Part 1).
Завершённый в 2020 году, MPEG-5 EVC предоставляет упрощённый, высокопроизводительный фреймворк видеосжатия, разработанный с прозрачными, предсказуемыми моделями лицензирования, чтобы удовлетворять современные бизнес‑ и технические требования.
1. Что такое MPEG-5 Essential Video Coding (EVC)?
Essential Video Coding (EVC) — это продвинутый стандарт видеосжатия, созданный MPEG для обслуживания современных платформ потокового вещания, трансляций и Over-The-Top (OTT). В отличие от стандартов предыдущих поколений, чьи сложные патентные ландшафты усложняли внедрение, EVC был построен вокруг двух чётко определённых операционных профилей:
- Baseline Profile: Полностью безроялти уровень, построенный строго с использованием технологий, которым более 20 лет, или которые предоставлены с безотзывными безроялти декларациями.
- Main Profile: Высокопроизводительный уровень, включающий выбранный набор передовых инструментов сжатия, разработанных для соответствия или превышения эффективности HEVC (H.265), при этом каждый проприетарный инструмент может быть включён или отключён индивидуально, если возникнут лицензионные проблемы.
EVC обеспечивает чистый баланс высокой вычислительной пропускной способности, исключительного сжатия пропускной способности и прозрачности интеллектуальной собственности.
2. Ключевые характеристики MPEG-5 EVC
| Характеристика | Спецификация / Подробности |
|---|---|
| Орган стандартизации | ISO/IEC JTC 1/SC 29/WG 11 (MPEG) |
| Стандартная ссылка | ISO/IEC 23094-1 (MPEG-5 Part 1) |
| Ключевые участники | Samsung, Huawei, Qualcomm |
| Цель сжатия | Сравнимо/превосходит HEVC (H.265) с ~25–30% лучшей эффективностью в основном профиле |
| Структура лицензирования | Модель с двумя профилями: без роялти (Baseline) и с роялти (Main) |
| Основные реализации кодека | XEVE (Кодировщик) & XEVD (Декодер) |
| Поддерживаемые расширения файлов | .evc, необработанные битовые потоки и привязки контейнеров .mp4 / .mkv |
| Поддержка разрешения | SD до 8K UHD ($7680 \times 4320$) и выше |
Ключевые стратегические преимущества:
- Снижение риска ИС: Прозрачные лицензирующие пула обеспечивают возможность поставщикам потоковых сервисов внедрять компрессию следующего поколения без внезапных судебных разбирательств по роялти.
- Модульное переключение инструментов: Продвинутые инструменты кодирования в профиле Main могут быть включены по отдельности без нарушения общей совместимости битового потока.
- Дружелюбно к аппаратному и программному обеспечению: Разработано с самого начала для быстрой многопоточной работы на настольных/мобильных процессорах и простой реализации в ASIC.
3. Подробные технические особенности EVC
Архитектура EVC оптимизирует классический блочно‑ориентированный гибридный видеокодировочный конвейер с помощью современных алгоритмических инноваций в обоих профилях:
A. Двухуровневая архитектура профилей
- Baseline Profile: Обеспечивает эффективность сжатия, сопоставимую с H.264/AVC (обеспечивая одинаковое визуальное качество при экономии битрейта около 30% по сравнению со старыми базовыми AVC), при этом сохраняет строгий статус без роялти.
- Main Profile: Добавляет до 26 продвинутых кодирующих инструментов, повышающих эффективность сжатия до уровня или выше HEVC (H.265) примерно на 25%–30% при одинаковом субъективном качестве.
B. Гибкое разбиение блоков (двоичные и тернарные деревья)
- Использует структуру Coding Tree Unit (CTU), поддерживающую большие размеры блоков до $64 \times 64$ (и до $128 \times 128$ в расширенных рамках).
- Заменяет жёсткое разбиение Quad-Tree гибкой Binary-Tree (BT) и Ternary-Tree (TT) партицией, позволяя энкодеру разрезать блоки вдоль истинных векторов движения и нерегулярных контуров изображения.
C. Продвинутые режимы внутрикадрового предсказания
- Расширяет традиционное внутрислойное предсказание, предоставляя широкий набор направленных углов и плоских режимов.
- Использует Advanced Intra Prediction (AIP) и внутрислойное субблочное разбиение в Main Profile для моделирования сложных паттернов переднего плана и тонких градиентов фона без артефактов блокировки.
D. Улучшенное межкадровое предсказание и уточнение движения
- Affine Motion Compensation: Эффективно предсказывает сложную динамику движения, такую как масштабирование, перспективное искажение и вращательное движение.
- Merge Mode with MVD (MMVD): Комбинирует стандартные кандидаты объединения движения с небольшими различиями вектора движения для гиперэффективной сигнализации движения.
- Adaptive Motion Vector Resolution (AMVR): Позволяет энкодеру динамически переключать точность движения между четверть‑пел, полным пелом и 4‑пел разрешениями в зависимости от сложности видео.
E. Фильтры постобработки в цикле
- Deblocking Filter (DBF): Удаляет разрывы границ вдоль краёв блоков.
- Продвинутый фильтр внутри цикла (ALF) и фильтр в области преобразования Хаадама (HTDF): Основной профиль включает сложные петлевые фильтры, которые восстанавливают детали текстур высокой частоты, подавляя шум сжатия при низких битрейтах.
4. Как создавать и кодировать файлы EVC
Видеопотоки EVC создаются с использованием официальной открытой библиотеки XEVE (eXtra-fast Essential Video Encoder) или современных сборок FFmpeg, сконфигурированных с libxeve.
Метод 1: Использование автономного кодировщика XEVE CLI
- Клонируйте и соберите репозиторий XEVE:
git clone https://github.com/mpeg5/xeve.git
cd xeve && mkdir build && cd build
cmake .. && make
- Закодируйте необработанное YUV-видео в битовый поток EVC:
# Baseline Profile (Royalty-Free)
./xeve_app -i input_1080p.yuv -w 1920 -h 1080 -z 60 -p baseline -o output_baseline.evc
# Main Profile (High Compression)
./xeve_app -i input_1080p.yuv -w 1920 -h 1080 -z 60 -p main --preset medium -q 28 -o output_main.evc
Метод 2: Кодирование EVC с помощью FFmpeg (libxeve)
Современные версии FFmpeg (собранные с --enable-libxeve) позволяют выполнять одноступенчатое кодирование напрямую из источников MP4, MKV или ProRes:
ffmpeg -i input_video.mp4 -c:v libxeve -xeve-params "profile=main:preset=medium:qp=28" -c:a aac output_evc.mp4
5. Как открыть и воспроизвести видеофайлы EVC
Поскольку EVC разработан для современных архитектур, декодирование поддерживается программными декодерами и медиаплеерами:
1. Использование официального XEVD (eXtra-fast Essential Video Decoder)
Официальный открытый декодер MPEG декодирует необработанные потоки .evc обратно в несжатое видео:
git clone https://github.com/mpeg5/xevd.git
cd xevd && mkdir build && cd build && cmake .. && make
./xevd_app -i output_main.evc -o decoded.yuv
2. Декодирование и воспроизведение с FFmpeg / FFplay
Если ваша среда FFmpeg собрана с --enable-libxevd, вы можете напрямую декодировать или просматривать видеопотоки EVC:
# Playback using FFplay
ffplay -vcodec libxevd output_main.evc
# Transcode EVC to standard H.264/MP4 for wide viewing
ffmpeg -c:v libxevd -i output_main.evc -c:v libx264 -c:a copy output_preview.mp4
3. Интегрированные видеоплееры
Потоки EVC, объединённые в стандартные файлы .mp4 или .mkv, могут воспроизводиться с помощью пользовательских сборок MPV или медиаплееров, включающих обновлённые LAV Filters, поддерживающие libxevd.
Сравнение EVC, HEVC, VVC и AV1
| Кодек | Орган по стандартизации | Модель роялти | Сжатие vs. AVC (H.264) | Ключевая сила |
|---|---|---|---|---|
| EVC (Базовый) | ISO/IEC MPEG | 100% без роялти | ~30% лучше | Нет риска IP/лицензирования |
| EVC (Основной) | ISO/IEC MPEG | Прозрачные роялти‑пулы | ~60% лучше | Переключаемые инструменты, высокая скорость |
| HEVC (H.265) | ITU-T / ISO/IEC | Сложное лицензирование с несколькими пулами | ~50% лучше | Широкая поддержка аппаратного обеспечения |
| AV1 | AOMedia | Без роялти | ~50-55% лучше | Поддержка крупной веб-экосистемы |
| VVC (H.266) | ITU-T / ISO/IEC | С роялти | ~70-75% лучше | Максимальная эффективность для 8K/VR |
Часто задаваемые вопросы (FAQ)
**Q1: Какова главная цель разработки MPEG-5 EVC? A1: EVC был создан для обеспечения видеокомпрессии следующего поколения с предсказуемой, прозрачной лицензией и базовым профилем без роялти.
**Q2: Чем профиль Baseline EVC отличается от профиля Main? A2: Профиль Baseline полностью без роялти, использует более старые проверенные технологии, тогда как профиль Main добавляет переключаемые продвинутые инструменты для максимальной эффективности сжатия.
**Q3: Какие инструменты с открытым исходным кодом используются для кодирования и декодирования видео EVC? A3: Для кодирования используется XEVE (eXtra-fast Essential Video Encoder), а для декодирования — XEVD (eXtra-fast Essential Video Decoder).
**Q4: Можно ли упаковать MPEG-5 EVC в стандартные форматы видеоконтейнеров?
A4: Да, битовые потоки EVC могут быть мультиплексированы в популярные медиа‑контейнеры, включая MP4 (.mp4), Matroska (.mkv) и транспортные потоки MPEG.
**Q5: Как эффективность сжатия EVC сравнивается с HEVC (H.265)? A5: В своём основном профиле EVC достигает одинакового визуального качества с HEVC при дополнительном снижении общего битрейта на 25%–30%.
Заключение
MPEG-5 Essential Video Coding (EVC) решает коммерческие и операционные проблемы, которые исторически замедляли внедрение кодеков следующего поколения. Комбинируя гарантированный безроялти базовый уровень с высокоэффективным модульным основным профилем, EVC предлагает сервисам видеостриминга, вещательным операторам и разработчикам программного обеспечения идеальный баланс технической производительности, вычислительной скорости и прозрачности интеллектуальной собственности.