Essential Video Coding (MPEG-5 EVC): Бізнес-орієнтований стандарт відео наступного покоління
У міру того, як платформи потокового відео, цифрові мовники та мобільні мережі продовжують масштабувати доставку контенту високої роздільної здатності (4K, 8K та HDR), ефективність стиснення відео є лише половиною боротьби. Невизначеність ліцензування та складні патентні роялті історично стримували впровадження кодеків у медіа‑індустрії. Щоб вирішити цей вузький місце, група Moving Picture Experts Group (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 Частина 1) |
| Ключові учасники | Samsung, Huawei, Qualcomm |
| Ціль стиснення | Відповідає/перевищує HEVC (H.265) з ~25–30% кращою ефективністю у головному профілі |
| Структура ліцензування | Модель з двома профілями: без роялті (Baseline) & з роялті (Main) |
| Основні реалізації кодека | XEVE (Кодер) & XEVD (Декодер) |
| Підтримувані розширення файлів | .evc, необроблені бітові потоки, і .mp4 / .mkv зв’язки контейнерів |
| Підтримка роздільної здатності | SD до 8K UHD ($7680 \times 4320$) і далі |
Основні стратегічні переваги:
- Пом’якшення ризику інтелектуальної власності: Прозорі ліцензійні пулі забезпечують, що постачальники потокових сервісів можуть впроваджувати компресію наступного покоління без раптових судових позовів щодо роялті.
- Модульне перемикання інструментів: Розширені інструменти кодування у головному профілі можна перемикати індивідуально, не порушуючи загальну відповідність бітового потоку.
- Дружній до апаратного та програмного забезпечення: Спроектовано з самого початку для швидкого багатопотокового виконання на настільних/мобільних процесорах та простого впровадження ASIC.
3. Детальні технічні особливості EVC
Архітектура EVC оптимізує класичний блоковий гібридний конвеєр відеокодування за допомогою сучасних алгоритмічних інновацій у обох профілях:
A. Двохрівнева архітектура профілю
- Baseline Profile: Пропонує ефективність стиснення на рівні H.264/AVC (забезпечуючи однакову візуальну якість при приблизно 30% економії бітрейту порівняно зі старими базовими AVC) при збереженні суворого royalty-free статусу.
- 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. Розширені режими інтрапрогнозування
- Розширює традиційне intra‑прогнозування, забезпечуючи широкий спектр напрямкових кутів та планарних режимів.
- Використовує Advanced Intra Prediction (AIP) та розбиття intra‑субблоків у Main Profile для моделювання складних шаблонів переднього плану та тонких градієнтів фону без артефактів блокування.
D. Покращене інтерпрогнозування та уточнення руху
- Афінна компенсація руху: Ефективно передбачає складну динаміку руху, таку як масштабування, перспективне викривлення та обертальний рух.
- Режим злиття з MVD (MMVD): Поєднує стандартних кандидатів злиття руху з невеликими різницями вектора руху для надефективної сигналізації руху.
- Адаптивна роздільна здатність вектору руху (AMVR): Дозволяє кодувальнику динамічно перемикати точність руху між quarter-pel, full-pel і 4-pel роздільними здатностями залежно від складності відео.
E. Фільтри пост-обробки в циклі
- Фільтр де-блокування (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
| Кодек | Організація стандартизації | Модель роялті | Стиснення проти 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: Чим профіль EVC Baseline відрізняється від профілю 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 пропонує сервісам відеострімінгу, мовникам та розробникам програмного забезпечення ідеальний баланс технічної продуктивності, швидкості обчислень та прозорості інтелектуальної власності.