Esminis vaizdo kodavimas (MPEG-5 EVC): Verslui pritaikytas kito kartos vaizdo standartas
Kaip transliacijos platformos, skaitmeniniai transliuotojai ir mobilieji tinklai toliau plečia aukštos raiškos turinio tiekimą (4K, 8K ir HDR), vaizdo suspaudimo efektyvumas yra tik pusė kovos. Licencijavimo neaiškumas ir sudėtingi patentų honorarai istorijoje trukdė kodekų priėmimui visoje medijų pramonėje. Norint išspręsti šį butelį, Judančiųjų vaizdo ekspertų grupė (MPEG) sukūrė Essential Video Coding (EVC), oficialiai pavadintą ISO/IEC 23094-1 (MPEG-5 Part 1).
Baigtas 2020 m., MPEG-5 EVC suteikia supaprastintą, itin našų vaizdo suspaudimo sistemą, sukurta su skaidriais, prognozuojamais licencijavimo modeliais, kad atitiktų šiuolaikinius verslo ir techninius reikalavimus.
1. Kas yra MPEG-5 Essential Video Coding (EVC)?
Essential Video Coding (EVC) yra pažangus vaizdo suspaudimo standartas, sukurtas MPEG, kad aptarnautų šiuolaikines medijų transliacijas, transliavimą ir Over-The-Top (OTT) platformas. Skirtingai nuo ankstesnių kartų standartų, kurių sudėtinga patentų aplinka apsunkino diegimą, EVC buvo suprojektuotas remiantis dviem aiškiai apibrėžtais operaciniais profiliais:
- Bazinis profilis: Visiškai be autorinių teisių lygis, sukurtas griežtai naudojant technologijas, kurios yra senesnės nei 20 metų arba kurios buvo pateiktos su negrįžtamu be autorinių teisių pareiškimu.
- Pagrindinis profilis: Aukštos našumo lygis, įtraukiantis atrinktą pažangių suspaudimo įrankių rinkinį, sukurtą siekiant atitikti arba viršyti HEVC (H.265) efektyvumą, kur kiekvienas nuosavybės įrankis gali būti atskirai įjungtas arba išjungtas, jei kyla licencijavimo problemų.
EVC suteikia aiškų aukšto skaičiavimo našumo, išskirtinio pralaidumo suspaudimo ir intelektinės nuosavybės skaidrumo balansą.
2. Pagrindinės MPEG-5 EVC savybės
| Charakteristika | Specifikacija / Detalės |
|---|---|
| Standartizacijos organas | ISO/IEC JTC 1/SC 29/WG 11 (MPEG) |
| Standartų nuoroda | ISO/IEC 23094-1 (MPEG-5 dalis 1) |
| Svarbiausi indėlininkai | Samsung, Huawei, Qualcomm |
| Suspaudimo tikslas | Atitinka/viršija HEVC (H.265) su ~25–30% geresniu efektyvumu pagrindiniame profilyje |
| Licencijavimo struktūra | Dvigubo profilio modelis: be autorinių mokėjimų (Bazinis) & su autoriniais mokėjimais (Pagrindinis) |
| Pagrindiniai kodeko įgyvendinimai | XEVE (Koduotojas) & XEVD (Dekoduotojas) |
| Palaikomi failų plėtiniai | .evc, neapdoroti bitų srautai ir .mp4 / .mkv konteinerio susiejimai |
| Raiškos palaikymas | SD iki 8K UHD ($7680 \times 4320$) ir daugiau |
Pagrindiniai strateginiai privalumai:
- IP rizikos švelninimas: Skaidrios licencijavimo grupės užtikrina, kad transliacijos tiekėjai galėtų įdiegti naujos kartos suspaudimą be staigaus autorinių mokestų ginčo.
- Modulinis įrankių perjungimas: Išplėstiniai kodavimo įrankiai pagrindiniame profilyje gali būti perjungti atskirai, nepažeidžiant bendro bitų srauto atitikties.
- Aparatinės ir programinės įrangos draugiškas: Sukurta nuo pat pradžių greitam, daugiagijam programinės įrangos vykdymui darbalaukyje/mobiliajame CPU ir paprastam ASIC įgyvendinimui.
3. Išsamios techninės EVC savybės
EVC architektūra optimizuoja klasikines blokų pagrindu veikiančias hibridines vaizdo kodavimo konvejerio procesus per modernias algoritmines inovacijas abiejuose profiliuose:
A. Dviejų lygių profilio architektūra
- Bazinis profilis: Siūlo suspaudimo efektyvumą, lygų H.264/AVC (teikdama vienodą vaizdo kokybę, sutaupydama apie 30 % bitų spartos lyginant su senesniais AVC baziniais modeliais), išlaikydama griežtą royalty-free statusą.
- Pagrindinis profilis: Prideda iki 26 pažangių kodavimo įrankių, kurie padidina suspaudimo efektyvumą, kad atitiktų arba pranoktų HEVC (H.265) maždaug 25 %–30 % esant identiškai subjektyviai kokybei.
B. Lankstus blokų skaidymas (dvejetainiai ir ternariniai medžiai)
- Naudoja Coding Tree Unit (CTU) struktūrą, palaikančią didelius blokų dydžius iki $64 \times 64$ (ir iki $128 \times 128$ išplėstinėse sistemose).
- Pakeičia kietus Quad-Tree skaidymus lankstesniu Binary-Tree (BT) ir Ternary-Tree (TT) skaidymu, leidžiančiu koduokliui pjaustyti blokus pagal tikrus judesio vektorius ir nereguliarias vaizdo kontūras.
C. Išplėstiniai intra prognozės režimai
- Išplečia tradicinę intra prognozę, suteikdama plačias krypties kampų ir plokštumos režimų galimybes.
- Naudoja Advanced Intra Prediction (AIP) ir intra sub-blokų skaidymą Pagrindiniame profilyje, kad modeliuotų sudėtingus priekinio plano modelius ir subtilius foninius gradientus be blokų artefaktų.
D. Patobulinta inter prognozė ir judesio patikslinimas
- Affine Motion Compensation: Efektyviai prognozuoja sudėtingą judesio dinamiką, pvz., priartinimą, perspektyvos iškraipymą ir sukimosi judėjimą.
- Merge Mode with MVD (MMVD): Sujungia standartinius judesio sujungimo kandidatus su nedideliais judesio vektoriaus skirtumais, siekiant itin efektyvaus judesio signalizavimo.
- Adaptive Motion Vector Resolution (AMVR): Leidžia koderiui dinamiškai perjungti judesio tikslumą tarp ketvirtų pikselių (quarter-pel), pilnų pikselių (full-pel) ir 4-pikselių (4-pel) rezoliucijų, priklausomai nuo vaizdo sudėtingumo.
E. Ciklo viduje postapdorojimo filtrai
- Deblocking Filter (DBF): Pašalina ribų diskontinuitetus palei blokų kraštus.
- Advanced In-Loop Filter (ALF) & Hadamard Transform Domain Filter (HTDF): Pagrindinio profilio funkcijos apima sudėtingus ciklo filtrus, kurie atkuria aukšto dažnio tekstūros detales, slopindami suspaudimo triukšmą esant mažiems bitų srautams.
4. Kaip sukurti ir koduoti EVC failus
EVC vaizdo srautai kuriami naudojant oficialią atviro kodo XEVE (eXtra-fast Essential Video Encoder) biblioteką arba modernias FFmpeg versijas, sukonfigūruotas su libxeve.
Metodas 1: Naudojant atskirą XEVE CLI koduotuvą
- Klonuokite ir sukompiliuokite XEVE saugyklą:
git clone https://github.com/mpeg5/xeve.git
cd xeve && mkdir build && cd build
cmake .. && make
- Užkoduokite neapdorotą YUV vaizdą į EVC bitų srautą:
# 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
Metodas 2: EVC kodavimas naudojant FFmpeg (libxeve)
Naujausios FFmpeg versijos (sukompiliuotos su --enable-libxeve) leidžia vieno žingsnio kodavimą tiesiogiai iš MP4, MKV arba ProRes šaltinių:
ffmpeg -i input_video.mp4 -c:v libxeve -xeve-params "profile=main:preset=medium:qp=28" -c:a aac output_evc.mp4
5. Kaip atverti ir paleisti EVC vaizdo failus
Kadangi EVC sukurta šiuolaikinėms architektūroms, dekodavimas yra palaikomas programinės įrangos dekoderių ir medijos atkūrimo paketų:
1. Naudojant oficialų XEVD (ypač greitąjį Essential Video Decoder)
Oficialus MPEG atviro kodo dekoderis dekoduoja neapdorotas .evc srautus atgal į nesuspaustą vaizdą:
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. Dekodavimas ir atkūrimas su FFmpeg / FFplay
Jei jūsų FFmpeg aplinka sukurta su --enable-libxevd, galite tiesiogiai dekoduoti arba peržiūrėti EVC vaizdo srautus:
# 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. Integruoti vaizdo leistuvai
EVC srautai, sujungti į standartinius .mp4 arba .mkv failus, gali būti atkuriami naudojant specialiai sukurtas MPV versijas arba medijos leistuvus, įtraukiant atnaujintus LAV Filters, palaikančius libxevd.
EVC vs. HEVC vs. VVC vs. AV1 palyginimas
| Kodekas | Standartizacijos institucija | Mokesčių modelis | Suspaudimas vs. AVC (H.264) | Pagrindinis stiprumas |
|---|---|---|---|---|
| EVC (Bazinis) | ISO/IEC MPEG | 100 % be autorinių mokėjimų | ~30 % geriau | Nėra IP/licencijavimo rizikos |
| EVC (Pagrindinis) | ISO/IEC MPEG | Skaidrios autorinių teisių fondai | ~60% geriau | Perjungiamos priemonės, didelis greitis |
| HEVC (H.265) | ITU-T / ISO/IEC | Sudėtingas kelių fondų licencijavimas | ~50% geriau | Platus aparatinės įrangos palaikymas |
| AV1 | AOMedia | Be autorinių mokėjimų | ~50-55% geriau | Didelė interneto ekosistemos parama |
| VVC (H.266) | ITU-T / ISO/IEC | Mokama autorinėmis teisėmis | ~70-75% geriau | Maksimali efektyvumas 8K/VR |
Dažnai užduodami klausimai (DUK)
**Q1: Koks yra pagrindinis MPEG-5 EVC kūrimo tikslas? A1: EVC sukurtas siekiant pateikti naujos kartos vaizdo suspaudimą su prognozuojamu, skaidriu licencijavimu ir be autorinių teisių baziniu profiliu.
**Q2: Kuo EVC bazinis profilis skiriasi nuo pagrindinio profilio? A2: Bazinis profilis yra visiškai be autorinių teisių, naudojant senesnes įsitvirtinusias technologijas, tuo tarpu pagrindinis profilis prideda perjungiamus pažangius įrankius maksimaliai suspaudimo efektyvumui.
**Q3: Kokios atviro kodo priemonės naudojamos EVC vaizdo kodavimui ir dekodavimui? A3: XEVE (ypač greitas esminis vaizdo koduotojas) naudojamas kodavimui, o XEVD (ypač greitas esminis vaizdo dekoduotojas) tvarko dekodavimą.
**Q4: Ar MPEG-5 EVC gali būti supakuotas į standartinius vaizdo konteinerių formatus?
A4: Taip, EVC bitų srautus galima sujungti į populiarius medijos konteinerių formatus, įskaitant MP4 (.mp4), Matroska (.mkv) ir MPEG transporto srautus.
**Q5: Kaip EVC suspaudimo efektyvumas lyginamas su HEVC (H.265)? A5: Pagrindiniame profilyje EVC pasiekia tokį pat vizualinį kokybės lygį kaip HEVC, sumažindama bendrą bitų srautą dar 25 %–30 %.
Išvada
MPEG-5 Esminis vaizdo kodavimas (EVC) sprendžia komercines ir operacines problemas, kurios istorijoje lėtino naujos kartos kodekų priėmimą. Sujungdamas garantuotą be autorinių mokėjimų bazinį lygį su aukštos efektyvumo, moduliariu pagrindiniu profiliu, EVC siūlo vaizdo transliacijos paslaugoms, transliacijos operatoriams ir programinės įrangos kūrėjams idealų techninės našumo, skaičiavimo greičio ir intelektinės nuosavybės skaidrumo balansą.