Lankstus vaizdo kodavimas (VVC / H.266)
Kadangi skaitmeninės medijos vartojimas auga link itin aukštos raiškos 4K, 8K ir įtraukiamos 360 laipsnių virtualios realybės, pralaidumo reikalavimai stumia esamus suspaudimo standartus iki ribų. Versatile Video Coding (VVC), taip pat oficialiai vadinamas ITU-T H.266 ir ISO/IEC 23090-3 (MPEG-I Part 3), yra naujausias evoliucinis šuolis vaizdo suspaudimo technologijoje. Kartu sukurtas Joint Video Experts Team (JVET)—ITUT SG 16 WP 3 ir ISO/IEC JTC 1/SC 29/WG 11 bendradarbiavimas—VVC buvo baigtas 2020 liepos mėnesį su vienintelišku, aiškiu tikslu: sumažinti duomenų bitų spartą maždaug 50 % lyginant su ankstesniu HEVC (H.265), išlaikant identišką vaizdo kokybę.
1. Kas yra VVC (Lankstus vaizdo kodavimas)?
Versatile Video Coding yra blokų pagrindu veikiantis, hibridinis vaizdo kodekas, sukurtas spręsti visą vaizdo programų spektrą. Skirtingai nuo senesnių kodekų, kurie daugiausia optimizuoti tradicinei transliacijai ir srautiniam transliavimui, VVC buvo sukurtas nuo pat pradžių, kad galėtų palaikyti:
- Didelio kadrų dažnio (HFR) vaizdas (iki 120 kadrų per sekundę ir daugiau)
- Didelio dinaminio diapazono (HDR) ir plačios spalvų gamtos (BT.2020)
- Ekrano turinio kodavimas (kompiuteriu generuotas tekstas, grafika, vartotojo sąsajos atvaizdavimas)
- Visiškai kryptingas $360^\circ$ vaizdas AR/VR aplinkoms
- Adaptuojamas raiškos perjungimas be vaizdo atkūrimo sustabdymų
- Žemo delsos realaus laiko interaktyvi komunikacija (žaidimai, vaizdo konferencijos)
Pasiekus precedento neturinčius suspaudimo santykius, VVC leidžia transliuotojams, srautinio transliavimo tiekėjams ir mobiliesiems tinklams teikti aukštos kokybės vaizdo patirtis per ribotus tinklo ryšius.
2. Pagrindinės VVC / H.266 savybės
| Charakteristika | Specifikacija / Galimybės |
|---|---|
| Standartizacijos organas | JVET (ITU-T ir ISO/IEC MPEG) |
| Suspaudimo efektyvumas | ~50 % bitų spartos sumažėjimas, palyginti su HEVC (H.265); ~75 % mažiau, nei AVC (H.264) |
| Maksimalių raiškų palaikymas | Iki 16K ($15360 \times 8640$) |
| Spalvų profiliai ir bitų gylis | 8‑bitų iki 16‑bitų spalvos, 4:0:0, 4:2:0, 4:2:2 ir 4:4:4 chroma mėginių imtis |
| Palaikomi kadrų dažniai | Iki 120 fps ir kintamų kadrų dažnių |
| Dinaminio diapazono palaikymas | SDR, HDR10, HLG ir pasirinktinos perkėlimo charakteristikos |
| Pagrindiniai failų konteineriai | .mp4, .mkv, .ts ir neapdoroti bitų srautai (.vvc / .266) |
Pagrindiniai architektūriniai privalumai:
- Juostos pločio ekonomija: Pateikia nepriekaištingą 4K vaizdą bitų spartu, tradiciškai reikalingu 1080p Full HD.
- Tikra daugiapaskirtė lankstumas: Vietiniai profiliai skirti žaidimams, ekrano dalijimuisi, įtraukiamam sferiniam video ir stebėjimui.
- Optimizuota debesų ir CDN pristatymui: Žymiai sumažina platinimo ir saugojimo išlaidas pagrindinėms vaizdo transliacijos platformoms.
3. Išsamios VVC techninės savybės
VVC įtraukia sudėtingus algoritminių patobulinimų sprendimus per kiekvieną hibridaus vaizdo kodavimo sistemos etapą:
A. Išplėstinis blokų skaidymas (QTMT struktūra)
Nors HEVC remėsi kvadratinio medžio (QT) blokų struktūra su didžiausiu Kodavimo Medžio Vieneto (CTU) dydžiu $64 \times 64$, VVC pristato Kvadratinį Medį su Daugių Tipų Medžiu (QTMT).
- Didžiausias CTU dydis išplečiamas iki $128 \times 128$ pikselių.
- Leidžia rekursyviai skaidyti į dvejetainius medžius (horizontaliai/vertikaliai) ir trejetinius medžius (trijų krypčių skaidymas).
- Leidžia koduokliui tiksliai formuoti skaidymo blokų kontūrus aplink sudėtingas objektų ribas, smulkias tekstūras ir švelnius gradientus.
B. Patobulinta vidinio kadro prognozė
Individualiems kadrams (I-kadrai), VVC žymiai praturtina erdvinio krypties modeliavimą:
- 67 Intra prognozavimo režimai: Išplėsta iš 35 HEVC režimų, kad būtų fiksuojamos tikslios kraštų orientacijos.
- Plačio kampo prognozavimas: Sklandžiai modeliuoja kampus, viršijančius įprastus 45 laipsnių įstrižaines, neskvadratinėms blokams.
- Kryžminio komponento linijinė modelis (CCLM): Nuspėja chrominę (spalvų) mėginius tiesiogiai iš atkurto luma (šviesumo) mėginių, sumažindama chrominės duomenų perdavimo išlaidas.
- Daugelio nuorodų linija (MRL): Naudoja ne gretimas ribines pikselių linijas, kad prognozuotų sudėtingas fono sritis.
C. Preciziška tarpkadrų prognozė ir judesio kompensavimas
Laikui prognozuojamiems kadrams (P-kadrams ir B-kadrams) VVC pristato:
- Subblokų laiko judesio vektoriaus prognozavimas (SbTMVP): Padalija bloką į $8 \times 8$ subblokus, priskirdama unikalius judesio vektorius kiekvienam subregionui.
- Afiniškas judesio tarpinis prognozavimas: Modeliuoja sudėtingus realaus pasaulio transformacijas, tokias kaip priartinimas, sukimas, tempimas ir perspektyvos pakreipimas, naudojant 4 parametrų arba 6 parametrų modelius.
- Dvipusis optinis srautas (BDOF): Patobulina judesio kompensaciją atskirų mėginių lygyje nepridėdamas signalizacijos išlaidų.
- Dekoderio pusės judesio vektoriaus patikslinimas (DMVR): Tikslina judesio vektorius tiesiogiai dekoderio pusėje, taupydama perdavimo bitus.
D. Išplėstinis ciklo filtravimas
Norint pašalinti vaizdo artefaktus (blokavimą, žiedavimą ir spalvų išblyškimą), VVC naudoja 4 etapų filtrų grandinę:
- Deblocking filtras (DBF): Išlygina blokų ribų nelygumus.
- Mėginių adaptinis poslinkis (SAO): Koreguoja kraštų ir juostų poslinkius.
- Adaptinis ciklo filtras (ALF): Naudoja 25 deimanto formos filtrų formų, kad atkurti aukštos dažnio tekstūros detales.
- Kryžminis komponentų ALF (CC-ALF): Patikslina chrominės spalvos detales, naudojant šviesumo kanalo informaciją.
E. Įgimtas subkadrų ir visų krypčių palaikymas
VVC apibrėžia Subpictures kaip savarankiškai dekoduojamas stačiakampes sritis video drobėje. Tai leidžia VR ausinėms transliuoti tik aukštos raiškos vaizdo lauką, kurį žiūrovas žiūri, o periferinį matymą siųsti žemesnės kokybės (foveatinis transliavimas), taupant iki 70 % VR transliacijos pralaidumo.
4. Kaip sukurti ir koduoti VVC failus
VVC turinio kodavimui reikalingos programinės įrangos bibliotekos, įgyvendinančios H.266 standartą. Labiausiai išvystytas atviro kodo koduotojas yra VVenC, kurį sukūrė Fraunhofer Heinrich Hertz institutas (HHI).
Metodas 1: Naudojant Fraunhofer VVenC (atskiras CLI)
- Atsisiųskite iš anksto sukompiliuotus VVenC binarinius failus arba sukurkite iš šaltinio per GitHub (
https://github.com/fraunhoferhhi/vvenc). - Vykdykite komandą, kad užkoduotumėte nesuspaustą YUV arba neapdorotą vaizdo srautą:
vvencapp --input input_yuv420p.yuv --size 1920x1080 --fps 60 --preset medium --qp 28 --output output.266
Metodas 2: Kodavimas su FFmpeg (su įjungtu libvvenc)
Modernios pritaikytos FFmpeg versijos, sukompiliuotos su libvvenc palaikymu, leidžia tiesioginį konvertavimą iš standartinių vaizdo failų (.mp4, .mov, .mkv):
ffmpeg -i input.mov -c:v libvvenc -preset medium -b:v 2500k -tag:v vvc1 -c:a aac -b:a 128k output_vvc.mp4
Kodavimo išankstiniai nustatymai:
faster/fast: Geriausia greitam prototipavimui ir tiesioginiam testavimui.medium: Rekomenduojamas suspaudimo santykio ir kodavimo laiko balansas.slow: Maksimali vaizdo kokybė ir didžiausias duomenų suspaudimas archyvavimui ir VOD platinimui.
5. Kaip atidaryti ir leisti VVC vaizdo failus
Kadangi VVC yra pažangiausia standartas, medijos leistuvų programinė įranga ir aparatūros dekoderiai aktyviai diegia palaikymą. Štai kaip šiandien galima groti VVC turinį:
1. Fraunhofer VVdec grotuvas
Fraunhofer HHI teikia VVdec, itin greitą, daugiagijį atviro kodo programinį dekoderį.
- Atsisiųskite
vvdecappiš GitHub. - Leiskite arba dekoduokite bitų srautus:
vvdecapp -b output.266 -o decoded_output.yuv
2. MPV Media Player (Rekomenduojamas GUI/CLI grotuvas)
Naujausios MPV versijos, sukompiliuotos su libvvdec arba naujausiu FFmpeg varikliu, gali iš karto leisti VVC vaizdo įrašus .mp4 arba .mkv konteineriuose:
mpv output_vvc.mp4
3. VLC Media Player
- VLC integruoja VVC palaikymą į savo 4.0 versijas.
- Atsisiųskite VLC 4.0 Nightly Build, atidarykite leistuvą ir vilkdami bei numesdami
.mp4arba.vvcvaizdo failą tiesiai į atkūrimo langą.
4. MPC-HC / MPC-BE su LAV filtrais (Windows)
„Windows“ naudotojai gali leisti VVC failus naudodami MPC-HC (Media Player Classic Home Cinema) kartu su naujausiomis LAV Filters naktinėmis versijomis, kurios įtraukia VVC dekodavimo palaikymą.
VVC vs. HEVC vs. AV1 palyginimas
| Metrika | H.264 (AVC) | H.265 (HEVC) | AV1 | H.266 (VVC) |
|---|---|---|---|---|
| Užbaigimo metai | 2003 | 2013 | 2018 | 2020 |
| Bitų spartos efektyvumas | Bazinis ($0%$) | ~40-50% geriau | ~50-55% geriau | ~65-75% geriau |
| Licencijavimas | Autorinės išmokos (MPEG LA) | Autorinės teisės (kelios grupės) | Be autorinių teisių (AOMedia) | Autorinės teisės (Access Advance, ir kt.) |
| Aparatinis dekodavimas | Universalus | Universalus | Plačiai paplitęs | Kuriamas vėliausiuose SoC |
| Tikslinė naudojimo atvejis | Senosios žiniatinklio/mobiliosios | 4K transliacija/OTT | Žiniatinklio video (YouTube/Netflix) | 8K/16K, AR/VR, Kitos kartos OTT |
Dažnai užduodami klausimai (DUK)
**Q1: Koks yra pagrindinis VVC (H.266) vaizdo formato pranašumas prieš HEVC? A1: VVC suteikia apie 50 % duomenų taupymo lyginant su HEVC, išlaikydama tą pačią vaizdo kokybę.
**Q2: Ar VVC / H.266 yra nemokamas, atviro kodo vaizdo formatas? A2: Ne, VVC yra ISO/ITU standartas, kuriam taikomi autorinės teisės mokėjimai ir kuris licencijuojamas per patentų fondus, tokius kaip Access Advance, nors egzistuoja atviro kodo koduotuvės/dekoduotuvės.
**Q3: Kokie vaizdo konteinerio formatai palaiko VVC vaizdo bitų srautus?
A3: VVC bitų srautai dažniausiai paketinami į standartinius .mp4, .mkv (Matroska) ir .ts (MPEG transporto srauto) konteinerio failus.
**Q4: Ar VVC gali efektyviai tvarkyti ekrano dalijimąsi ir vaizdo žaidimų transliavimą? A4: Taip, VVC apima specializuotus ekrano turinio kodavimo (SCC) įrankius, kurie suspaudžia kompiuterio sąsajas, tekstą ir sintetinę grafiką su išskirtiniu aštrumu.
**Q5: Kada mobilieji telefonai ir išmanieji televizoriai pradės natūraliai palaikyti aparatūrinį VVC dekodavimą? A5: Dideli silicio tiekėjai ir išmaniųjų televizorių gamintojai pradėjo įtraukti aparatūrinius VVC dekoderius į aukštos kokybės lustus nuo 2023–2024 metų, o pagrindinis priėmimas sparčiai išsiplėtė iki 2026 metų.
Santrauka ir ateities perspektyvos
Universalus vaizdo kodavimas (VVC / H.266) nustato aukščiausią standartą suspaudimo efektyvumui ir struktūrinei universalumui. Sumažindama tinklo pralaidumo poreikius perpus 4K rezoliucijai ir atverdama realistiškus pristatymo kanalus 8K, 16K, fokusuotoje virtualioje realybėje ir debesų žaidimuose, VVC yra pasiruošęs maitinti kitą dešimtmetį skaitmeninių vizualinių patirčių visame pasaulyje.