Основно видеокодиране (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 е проектиран около два ясно дефинирани оперативни профила:
- Базов профил: Напълно безплатен слой, изграден стриктно с технологии, които са или над 20 години стари, или са предоставени с неотменими безплатни декларации.
- Главен профил: Високопроизводителен слой, включващ избран набор от напреднали инструменти за компресия, проектирани да съответстват или надхвърлят ефективността на 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% по‑добра ефективност в Main Profile |
| Структура на лицензиране | Модел с два профила: без такса (Baseline) & с такса (Main) |
| Основни реализации на кодека | XEVE (Кодер) & XEVD (Декодер) |
| Поддържани файлови разширения | .evc, необработени битови потоци и .mp4 / .mkv контейнерни обвивки |
| Поддръжка на резолюция | SD до 8K UHD ($7680 \times 4320$) и повече |
Основни стратегически предимства:
- IP намаляване на риска: Прозрачните лицензионни пулове осигуряват на доставчиците на стрийминг възможност да внедрят компресия от следващо поколение без внезапни съдебни спорове за royalties.
- Модулно превключване на инструменти: Разширени кодиращи инструменти в основния профил могат да се включват индивидуално, без да нарушават общата съвместимост на битовия поток.
- Хардуерно и софтуерно приятелски: Проектиран от самото начало за бързо, многопоточено изпълнение на софтуер на настолни/мобилни процесори и лесна 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) и вътрешно под-блоково разделяне в Main Profile, за да моделира сложни форграунд модели и фини градиенти на фона без артефакти от блокиране.
D. Подобрено междудобивно предсказване и усъвършенстване на движението
- Affine Motion Compensation: Ефективно предсказва сложни динамики на движение като увеличаване, перспективно изкривяване и ротационно движение.
- Merge Mode with MVD (MMVD): Комбинира стандартни кандидати за сливане на движение с малки разлики във векторите на движение за хипер-ефективно сигнализиране на движение.
- Adaptive Motion Vector Resolution (AMVR): Позволява на енкодера динамично да превключва прецизността на движение между четвърт‑пел, пълен‑пел и 4‑пел резолюции в зависимост от сложността на видеото.
E. Филтри за постобработка в цикъла
- Deblocking Filter (DBF): Премахва дискретностите на границите по ръбовете на блоковете.
- Advanced In-Loop Filter (ALF) & Hadamard Transform Domain Filter (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 от главния профил? A2: Базовият профил е напълно без роялти, използвайки по-стари утвърдени технологии, докато главният профил добавя превключваеми напреднали инструменти за максимална ефективност на компресията.
**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) се занимава с търговските и оперативни предизвикателства, които исторически са забавяли приемането на кодеци от следващо поколение. Чрез комбиниране на гарантиран безвъзмезден Baseline слой с високоефективен, модулен Main Profile, EVC предлага на услуги за видео стрийминг, оператори на излъчване и софтуерни разработчици идеален баланс между техническа производителност, изчислителна скорост и прозрачност на интелектуалната собственост.