Essential Video Coding (MPEG-5 EVC): Biznesowy przyjazny standard wideo nowej generacji
W miarę jak platformy streamingowe, cyfrowi nadawcy i sieci mobilne nadal zwiększają skalę dostarczania treści w wysokiej rozdzielczości (4K, 8K i HDR), wydajność kompresji wideo jest tylko połową walki. Niepewność licencyjna i skomplikowane opłaty patentowe historycznie hamowały przyjęcie kodeków w całej branży medialnej. Aby rozwiązać ten wąski gardło, Grupa Ekspertów Ruchomych Obrazów (MPEG) opracowała Essential Video Coding (EVC), formalnie oznaczoną jako ISO/IEC 23094-1 (MPEG-5 Part 1).
Sfinalizowany w 2020 roku, MPEG-5 EVC oferuje uproszczone, wysoce wydajne ramy kompresji wideo, zaprojektowane z przejrzystymi, przewidywalnymi modelami licencyjnymi, aby spełnić współczesne wymagania biznesowe i techniczne.
1. Czym jest MPEG-5 Essential Video Coding (EVC)?
Essential Video Coding (EVC) jest zaawansowanym standardem kompresji wideo opracowanym przez MPEG, aby obsługiwać nowoczesne platformy streamingowe, nadawcze i Over-The-Top (OTT). W przeciwieństwie do standardów poprzedniej generacji, których skomplikowane krajobrazy patentowe utrudniały wdrożenie, EVC został zaprojektowany wokół dwóch jasno określonych profili operacyjnych:
- Baseline Profile: Całkowicie wolny od opłat licencyjnych poziom zbudowany wyłącznie przy użyciu technologii, które mają ponad 20 lat lub zostały przekazane z nieodwołalnymi oświadczeniami o braku opłat licencyjnych.
- Main Profile: Wysokowydajny poziom zawierający wybrany zestaw zaawansowanych narzędzi kompresji zaprojektowanych tak, aby dorównać lub przewyższyć wydajność HEVC (H.265), przy czym każde własnościowe narzędzie może być indywidualnie włączone lub wyłączone w razie problemów licencyjnych.
EVC zapewnia czystą równowagę wysokiej przepustowości obliczeniowej, wyjątkowej kompresji pasma oraz przejrzystości własności intelektualnej.
2. Kluczowe cechy MPEG-5 EVC
| Cecha | Specyfikacja / Szczegół |
|---|---|
| Organizacja Standaryzacyjna | ISO/IEC JTC 1/SC 29/WG 11 (MPEG) |
| Referencja standardowa | ISO/IEC 23094-1 (MPEG-5 Part 1) |
| Kluczowi współtwórcy | Samsung, Huawei, Qualcomm |
| Cel kompresji | Równa się/ przewyższa HEVC (H.265) o ~25–30% lepszą wydajność w profilu Main |
| Struktura licencjonowania | Model dwuprofilowy: bez opłat licencyjnych (Baseline) i z opłatami (Main) |
| Podstawowe implementacje kodeka | XEVE (Koder) i XEVD (Dekoder) |
| Obsługiwane rozszerzenia plików | .evc, surowe strumienie bitowe oraz powiązania kontenerów .mp4 / .mkv |
| Wsparcie rozdzielczości | SD do 8K UHD ($7680 \times 4320$) i więcej |
Główne strategiczne korzyści:
- Łagodzenie ryzyka IP: Przejrzyste pule licencyjne zapewniają, że dostawcy strumieniowania mogą wdrażać najnowszą kompresję bez nagłych sporów o tantiemy.
- Modularna zmiana narzędzi: Zaawansowane narzędzia kodujące w profilu Main mogą być włączane indywidualnie bez unieważniania zgodności całego strumienia bitowego.
- Przyjazny dla sprzętu i oprogramowania: Zaprojektowany od początku pod szybką, wielowątkową egzekucję oprogramowania na procesorach desktopowych/komórkowych oraz prostą implementację ASIC.
3. Szczegółowe cechy techniczne EVC
Architektura EVC optymalizuje klasyczną, blokowo‑opartą hybrydową rurociąg kodowania wideo poprzez nowoczesne innowacje algorytmiczne w obu profilach:
A. Dwu-poziomowa architektura profilu
- Profil bazowy: Oferuje wydajność kompresji porównywalną z H.264/AVC (zapewniając równą jakość wizualną przy oszczędności ~30% bitrate w porównaniu ze starszymi bazami AVC) przy zachowaniu ścisłego statusu bez opłat licencyjnych.
- Profil Main: Dodaje do 26 zaawansowanych narzędzi kodujących, które zwiększają wydajność kompresji, aby dorównać lub przewyższyć HEVC (H.265) o około 25% do 30% przy identycznej subiektywnej jakości.
B. Elastyczne partycjonowanie bloków (drzewa binarne i trójkowe)
- Używa struktury Coding Tree Unit (CTU) obsługującej duże rozmiary bloków do $64 \times 64$ (oraz do $128 \times 128$ w rozszerzonych ramach).
- Zastępuje sztywne podziały Quad-Tree elastycznym partycjonowaniem Binary-Tree (BT) i Ternary-Tree (TT), umożliwiając enkoderowi cięcie bloków wzdłuż rzeczywistych wektorów ruchu i nieregularnych konturów obrazu.
C. Zaawansowane tryby intra-predykcji
- Rozszerza tradycyjne prognozowanie intra, oferując szeroką gamę kątów kierunkowych i trybów płaszczyznowych.
- Wykorzystuje Advanced Intra Prediction (AIP) oraz podział podbloków intra w profilu głównym, aby modelować złożone wzory pierwszego planu i delikatne gradienty tła bez artefaktów blokowych.
D. Ulepszona inter-predykcja i dopracowanie ruchu
- Affine Motion Compensation: Efektywnie prognozuje złożoną dynamikę ruchu, taką jak przybliżanie, deformacja perspektywiczna i ruch obrotowy.
- Merge Mode with MVD (MMVD): Łączy standardowe kandydatów łączenia ruchu z małymi różnicami wektorów ruchu, zapewniając hiperwydajne sygnalizowanie ruchu.
- Adaptive Motion Vector Resolution (AMVR): Umożliwia enkoderowi dynamiczne przełączanie precyzji ruchu pomiędzy rozdzielczościami ćwierć-pikselową, pełnopikselową i 4-pikselową w zależności od złożoności wideo.
E. Filtry przetwarzania post-loop
- Deblocking Filter (DBF): Usuwa nieciągłości graniczne wzdłuż krawędzi bloków.
- Zaawansowany filtr w pętli (ALF) i filtr w dziedzinie transformacji Hadamarda (HTDF): Profil główny zawiera zaawansowane filtry w pętli, które odtwarzają szczegóły tekstury o wysokiej częstotliwości, tłumiąc szumy kompresji przy niskich przepływnościach bitowych.
4. Jak tworzyć i kodować pliki EVC
Strumienie wideo EVC są tworzone przy użyciu oficjalnej otwartoźródłowej biblioteki XEVE (eXtra-fast Essential Video Encoder) lub nowoczesnych kompilacji FFmpeg skonfigurowanych z libxeve.
Metoda 1: Korzystanie z samodzielnego enkodera XEVE CLI
- Sklonuj i skompiluj repozytorium XEVE:
git clone https://github.com/mpeg5/xeve.git
cd xeve && mkdir build && cd build
cmake .. && make
- Zakoduj surowe wideo YUV do strumienia bitowego 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
Metoda 2: Kodowanie EVC przy użyciu FFmpeg (libxeve)
Nowoczesne wersje FFmpeg (skompilowane z --enable-libxeve) umożliwiają jednoczkrokowe kodowanie bezpośrednio z źródeł MP4, MKV lub ProRes:
ffmpeg -i input_video.mp4 -c:v libxeve -xeve-params "profile=main:preset=medium:qp=28" -c:a aac output_evc.mp4
5. Jak otworzyć i odtworzyć pliki wideo EVC
Ponieważ EVC jest zaprojektowany dla nowoczesnych architektur, dekodowanie jest wspierane przez programowe dekodery i zestawy odtwarzania multimediów:
1. Korzystanie z oficjalnego XEVD (eXtra-fast Essential Video Decoder)
Oficjalny otwartoźródłowy dekoder MPEG dekoduje surowe strumienie .evc z powrotem do nieskompresowanego wideo:
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. Dekodowanie i odtwarzanie przy użyciu FFmpeg / FFplay
Jeśli Twoje środowisko FFmpeg jest zbudowane z --enable-libxevd, możesz bezpośrednio dekodować lub podglądać strumienie wideo 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. Zintegrowane odtwarzacze wideo
Strumienie EVC zmultipleksowane do standardowych plików .mp4 lub .mkv mogą być odtwarzane przy użyciu niestandardowych wersji MPV lub odtwarzaczy multimedialnych zawierających zaktualizowane LAV Filters obsługujące libxevd.
Porównanie EVC vs. HEVC vs. VVC vs. AV1
| Kodek | Organizacja Standaryzacyjna | Model Opłat Licencyjnych | Kompresja vs. AVC (H.264) | Kluczowa Siła |
|---|---|---|---|---|
| EVC (Podstawowy) | ISO/IEC MPEG | 100% wolny od opłat licencyjnych | ~30% lepszy | Brak ryzyka IP/licencjonowania |
| EVC (Główne) | ISO/IEC MPEG | Przejrzyste pule tantiem | ~60% lepszy | Przełączalne narzędzia, wysoka prędkość |
| HEVC (H.265) | ITU-T / ISO/IEC | Złożone licencjonowanie wielopoolowe | ~50% lepsze | Szerokie wsparcie sprzętowe |
| AV1 | AOMedia | Bezpłatny | ~50-55% lepszy | Wsparcie dużego ekosystemu internetowego |
| VVC (H.266) | ITU-T / ISO/IEC | Obciążony opłatą licencyjną | ~70-75% lepszy | Najwyższa wydajność dla 8K/VR |
Najczęściej zadawane pytania (FAQ)
**Q1: Jaki jest główny cel opracowania MPEG-5 EVC? A1: EVC został stworzony, aby dostarczyć kompresję wideo nowej generacji z przewidywalną, przejrzystą licencją oraz profilem bazowym wolnym od opłat licencyjnych.
**Q2: Jak profil bazowy EVC różni się od profilu głównego? A2: Profil bazowy jest całkowicie wolny od opłat licencyjnych, wykorzystując starsze, ustalone technologie, podczas gdy profil główny dodaje przełączalne zaawansowane narzędzia dla maksymalnej efektywności kompresji.
**Q3: Jakie narzędzia open-source są używane do kodowania i dekodowania wideo EVC? A3: Do kodowania używany jest XEVE (eXtra-fast Essential Video Encoder), natomiast do dekodowania obsługuje go XEVD (eXtra-fast Essential Video Decoder).
**Q4: Czy MPEG-5 EVC może być pakowany w standardowych formatach kontenerów wideo?
A4: Tak, strumienie bitowe EVC mogą być mieszane (muxowane) w popularnych formatach kontenerów multimedialnych, w tym MP4 (.mp4), Matroska (.mkv) oraz strumieniach transportowych MPEG.
**Q5: Jak efektywność kompresji EVC porównuje się do HEVC (H.265)? A5: W swoim profilu głównym EVC osiąga taką samą jakość wizualną jak HEVC, przy dodatkowym zmniejszeniu całkowitej przepływności o 25%‑30%.
Podsumowanie
MPEG-5 Essential Video Coding (EVC) rozwiązuje komercyjne i operacyjne wyzwania, które historycznie spowalniały przyjęcie kodeków kolejnej generacji. Łącząc gwarantowany, wolny od opłat licencyjnych poziom Baseline z wysokowydajnym, modułowym profilem Main, EVC oferuje usługom strumieniowania wideo, operatorom nadawczym i programistom oprogramowania idealną równowagę między wydajnością techniczną, szybkością obliczeniową a przejrzystością własności intelektualnej.