Projekt DVB přidal Versatile Video Coding (VVC) do své základní specifikace pro kódování videa a zvuku ve vysílání a širokopásmových aplikacích.
DVB je tak prvním normalizačním orgánem svého druhu, který do své sady nástrojů pro poskytování médií přidal video kodek nové generace. Nová revize specifikace DVB-AVC byla schválena DVB Steering Board a je nyní k dispozici jako DVB BlueBook A001Rev.19. Nové video kodeky jsou důležitými nástroji pro vylepšení video zážitků pro vysílání a širokopásmové připojení, jako je 8K, a také pro urychlení přijetí 4K UHD. Přidání VVC s dalšími kodeky, které budou následovat, zajistí, že DVB bude i nadále poskytovat nejkomplexnější a nejflexibilnější sadu nástrojů na světě pro poskytování televizních služeb nové generace jak prostřednictvím zemského vysílání, tak i broadbandu.
Proč potřebujeme stále nové kodeky?
Každý den sledujeme spoustu videí, ale nemusíme mít hladký a nejlepší zážitek za všech podmínek. Důvodem je omezení šířky pásma nebo velikost souboru streamovaných videí. To může vést ke zpoždění ve vyrovnávací paměti nebo kostičkování na displeji.
Studia pro tvorbu obsahu natáčejí a upravují soubory pro pořady a filmy v analogovém/RAW formátu, který zachovává maximální množství informací, takže editoři mohou flexibilně upravovat barvy a další vizuální parametry, aniž by to ovlivnilo věrnost obrazu. Tyto soubory jsou velké a jejich přenos přes distribuční sítě by vyžadoval velkou šířku pásma a dlouhou dobu zpracování. Nejenom terestrické vysílání, ale i platformy jako Netflix, HBO a Amazon Prime je tedy potřebují převést do digitálních formátů a soubory komprimovat. Běžně používané formáty na webech pro streamování videí jsou AV1, H.264, H.265/HEVC, VC-1. Většina z nich používá matematický algoritmus nazývaný diskrétní kosinová transformace (DCT). Je to technika používaná k identifikaci nadbytečných pixelů v obrázku, které mohou být při komprimaci odstraněny, aniž to výrazně ovlivňuje jeho kvalitu.
Podle McCannonova pravidla, že bitová rychlost potřebná k dosažení dané kvality videa se snižuje na polovinu každých 10 (v poslední době 7) let se potvrzuje i v tomto případě. Podrobně jsme o vývoji kompresních formátů psali v tomto článku v roce 2019:
Od videokonferencí k Ultra HD: Vývoj evropského digitálního televizního vysílání a standardů
Vlastní doporučení ITU bylo publikováno v srpnu 2020 jako ITU-TRec. H.266 a současně se shodnou textací jako ISO/IEC 23090-3. V minulosti platilo, že po zveřejnění standardu uplyne rok, kdy je zařazen do specifikací DVB a další rok, kdy dojde k jeho prvním komerčním uplatněním v širším měřítku. Zda tyto časové souvislosti budou platit i v dnešní válkou poznamenané doby, je otázkou.
Po HEVC je tu VVC – všestranné video kódování
Současný nejpokrokovější standard HEVC (High Efficiency Video Coding) resp. H.265, který je u nás používán v terestrickém vysílání, by v případě 8K UHD vyžadoval přenosové pásmo o rychlosti 50 Mbit/s, což je neúnosné. Pro vysílání UHD 4K případně 8K, konsorcium DVB schválilo: VVC (Versatile Video Coding) skupiny MPEG. Teno standard má doplnit nové rozvíjející se síťové protokoly i v návaznosti na uvažované vysílání přes budoucí sítě 5G.
VVC je nejnovějším členem rodiny standardů kódování videa vyvinutých společně ISO/IEC MPEG a ITU-T VCEG. Na vývoji tohoto standardu se významně podílel německý institut Fraunhofer HHI, který spoluvytvářel i současný nejrozšířenější kompresní standard HEVC / H.265. Podle výsledků jejich testování je schopen kódovat video s průměrnou 50 % úsporou datového toku při stejné subjektivní kvalitě ve srovnání se svým předchůdcem HEVC. Díky tomu se VVC / H.266 stává jednou z nejúčinnějších technologií kódování videa, které jsou v současné době k dispozici.
I když je technicky vysoce pokročilý, je to pouze evoluční krok vpřed od HEVC. Stále používá přístup hybridního kódování videa založený na blocích, což je základní koncept všech hlavních standardů kódování videa. V tomto konceptu je každý snímek videa rozdělen do bloků a všechny bloky jsou následně zpracovány v sekvenci.
Vytváření základní struktury kódovacího stromu VVC.
VVC/ H.266 je navržen tak, aby bylo možno přistupovat k různým oblastem scény přímo v bitovém toku. Streamovaná videa by si tedy mohla vybrat oblasti, které nejsou na scéně příliš důležité, v nižším rozlišení, aby se tak ušetřila šířka pásma. Principem je rozdělení snímané scény na sloupce a řady, které jsou potom organizovaně zpracovávány. Obrázek je rozdělen do jedné nebo více řad dlaždic (tiles) a jednoho nebo více sloupců dlaždic. Dlaždice je sekvence jednotky kódovacího stromu (CTU), která pokrývá obdélníkovou oblast obrázku. Koncepčně odpovídá svou strukturou makroblokům, které byly zavedeny v předchozích H.xxx standardech. Čím větší počet pixelů, tím vyšší kódovací účinnost. Ve VVC zahrnuje 128×128 pixelů. CTU v dlaždici jsou naskenovány v pořadí rastrového skenování v rámci této dlaždice.
Výseč (slice) se skládá z celočíselného počtu úplných dlaždic nebo celočíselného počtu po sobě jdoucích úplných řad CTU v rámci dlaždic obrázku. V důsledku toho je každá svislá hranice výseče vždy také svislou hranicí dlaždice. Je možné, že horizontální hranice řezu není hranicí dlaždice, ale skládá se z horizontálních hranic CTU v rámci dlaždice; k tomu dochází, když je dlaždice rozdělena na více pravoúhlých řezů, z nichž každý se skládá z celočíselného násobku po sobě jdoucích úplných řádků kódových jednotek CTU v rámci dlaždice.
Názorný příklad, který představuje 18×12 jasových kódovacích jednotek CTU, které jsou rozděleny na 12 dlaždic a 3 rastrově skenované výseče
Jsou podporovány dva režimy řezů pro výseče, jmenovitě režim řezu rastrového skenování a režim obdélníkového řezu. V režimu rastrového skenování výseč obsahuje posloupnost celých dlaždic v rastrovém skenování obrazu. V režimu obdélníkového řezu obsahuje výseč buď několik úplných dlaždic, které společně tvoří obdélníkovou oblast obrázku, nebo několik po sobě jdoucích úplných řad CTU jedné dlaždice, které společně tvoří obdélníkovou oblast obrázku. Dlaždice v obdélníkovém řezu jsou skenovány v pořadí rastrového skenování dlaždic v obdélníkové oblasti odpovídající tomuto řezu.
Dílčí obrázek (podobrázek) obsahuje jednu nebo více výsečí, které společně pokrývají obdélníkovou oblast celého obrázku. V důsledku toho je každá hranice dílčího obrázku vždy také hranicí výseče a každá vertikální hranice dílčího obrázku je vždy také hranicí vertikální dlaždice.
Následující zobrazení ukazuje příklad rozdělení obrázku na podobrázky, kde je obrázek rozdělen na 18 dlaždic, 12 dlaždic na pravé straně, z nichž každá pokrývá jednu výseč ze 4 po 4 CTU a 6 dlaždic na levé straně, každá pokrývá 2 vertikálně naskládané výseče ze 2 x 2 CTU, což dohromady vede k 24 výsečím a 24 dílčím obrázkům různých rozměrů (každá výseč/ řez je dílčí obrázek).
Rozdělení na 24 výsečí a 24 podobrázků různých rozměrů
Aby bylo možné efektivně reprezentovat vysoce detailní oblasti, jako jsou textury a hrany, používá VVC flexibilní schéma rozdělení, které dokáže rozdělit jednotku kódovacího stromu CTU o velikosti 128×128 až na kódovací jednotky (CU) o velikosti 4×4 pixelů a protože v přírodě se nenacházejí jen vodorovné hrany či svislice, je možné definovat i různé šikmé řezy, které tak lépe popisují realitu.
Každý výřez/podobrázek může být kódován samostatně. Uvedené vzorky jsou dále transformovány do základních kódovacích bloků (jasové a barevných komponent podle vzorkování 4:2:0, 4:2:2 nebo 4:4:4) a syntaxe (popisu) jejich struktury pro signalizaci na straně dekódování. Jejich velikost se v čase mění na základě změny původního obrazu daného podobrázku s využitím pohybových vektorů a intra predikčních režimů.
Jednou z nejúčinnějších technik pro úsporu bitů při kompresi videa je inter-picture predikce (běžněji označovaná jako inter predikce), což jednoduše znamená kopírování vzorových hodnot z dříve kódovaných obrázků. Informace o tom, odkud kopírovat – horizontální a vertikální posunutí bloku – jsou uloženy v takzvaném pohybovém vektoru. Techniky, které zlepšují inter predikci, jsou zodpovědné za podstatnou část snížení bitrate mezi VVC a HEVC. I když bylo k dosažení pokročilé inter predikce ve VVC použito mnoho technik, pět z nich je zvláště pozoruhodných: model afinního pohybu, rozlišení adaptivního vektoru pohybu, obousměrný optický tok, zpřesnění vektoru dekodéru s bočním pohybem a režim geometrického rozdělení. Přesnost pohybových vektorů byla také zvýšena na 1/16 pixelu ve srovnání se čtvrtpixelovým rozlišením HEVC. Další podrobnosti již překračují rámec tohoto článku a čtenář si je může najít např. tady, odkud je i převzat následující obrázek.
Porovnání rozdělení detailu obrázku videa v HEVC a VVC: Rozdělení bloků HEVC využívá dělení kvartérního stromu s kódovacími bloky až do velikosti 64×64 pixelů. Rozdělení bloků VVC využívá dělení kvartérního stromu s kódovacími bloky až do velikosti 128×128 pixelů a vnořené vícetypové dělení stromu využívající binární a terciální dělení stromu.
Použití dílčích obrázků v datovém toku
Podobrázky VVC jsou obdélníkové oblasti obrazu, které jsou vyrobeny z jedné nebo více výsečí/řezů. Byly navrženy tak, že dílčí obrázek lze snadno extrahovat z bitového toku nebo sloučit do bitového toku bez přepisování stavebních jednotek zvaných NAL (Networl Abstraction Layer). Za tímto účelem je každému dílčímu obrázku přiřazen jedinečný identifikátor dílčího obrázku (ID dílčího obrázku), který lze namapovat na index podobrázku dílčího obrázku v rámci celého obrázku, k čemuž slouží opět speciální signalizace v podobě sestavy parametrů sekvence nebo obrázku (SPS/PPS). Pro vyjmutí nebo složení takového podobrázku to vyžaduje zařazení procesoru bitového toku před vlastním VVC dekodérem. Tyto dílčí obrázky byly ve VVC vyvinuty nejenom pro snížení datového toku, ale zejména pro hlubší a detailnější video. Dále je to užitečné pro aplikace, jako je personalizace nebo usnadnění.
Jedna možná personalizační služba spočívá v poskytování mozaikového videa uživateli, který si může vybrat pouze jeden z pohledů. Vybraný pohled je pak extrahován z bitového toku a prezentován na displeji. Pokud bylo mozaikové video pečlivě připraveno pomocí dílčích obrázků, je možné, aby uživatel extrahoval, dekódoval a zobrazil pouze vybraný pohled, jak je znázorněno dále. Extrakční část obvykle probíhá v modulu zpracování bitového toku, jak je zmíněno výše.
Výběr obrázku uživatelem při personalizovaných službách
Takovou mozaiku 2×2 je možné vytvořit se čtyřmi obrázky 1920×1080 složenými do jednoho obrázku 3840×2160 nebo se čtyřmi obrázky 3840×2160 (UHD 4K) složenými do jednoho obrázku 7680×4320 (UHD 8K). Aby bylo zajištěno, že divák může vybrat, extrahovat a dekódovat pouze jeden obrázek, každý obrázek určený k zobrazení odděleně od zbytku mozaikového videa musí odpovídat nezávisle kódovanému dílčímu obrázku VVC. Obrázky tvořící službu mozaiky musí sdílet stejné video charakteristiky, zejména bitovou hloubku, vzorový poměr stran, velikost, snímkovou frekvenci, barevný prostor a přenosové charakteristiky, umístění vzorků barev, musí být stejné pro všechny obrázky tvořící mozaiku. V tomto případě hranice podobrázků mohou být jen na hranicích jednotlivých kódovacích jednotek CTU. Jedna typická velikost CTU pro kódování VVC je 128×128, ale rozlišení 1920×1080 neobsahuje celé číslo 128×128 bloků. V takovém případě může být nutné přidat výplňové pixely v počtu 72 řad v horní části mozaikového videa, které může přijímač signalizovat a odstranit.
Vytvoření obrazové mosaiky na přijímači
Lze také provést opačnou operaci, přičemž služba může poskytovat několik různých obrázků ve formě dílčích obrázků VVC, které mohou být sloučeny dohromady v rámci jednoho bitového toku na straně přijímače před dekódováním a zobrazením sloučeného bitového toku VVC, jak je znázorněno níže.
Vytvoření personalizovaného mosaikového videa
V tomto případě je třeba věnovat pozornost vytváření dílčích bitových toků jednotlivých podobrázků, které se mají sloučit. Kromě použití stejných charakteristik videa se ID podobrázků nesmí překrývat, všechna ID dílčích obrázků musí být signalizována pomocí stejné délky a pořadí kódování obrázků musí být stejné ve všech dílčích bitových tocích. Obecněji řečeno, vysokoúrovňová signalizace kódovacích nástrojů musí být stejná ve všech dílčích bitových tocích, což je samozřejmě otázka na straně vysílatele.
Poskytovatelé obsahu mohou zvážit poskytnutí dílčího bitového toku podobrázku obsahujícího nějaký libovolný videoobsah pro vytvoření konečné mozaiky v případě, že uživatelé nevyberou dostatek dílčích obrázků, aby mohli vytvořit kompletní mozaiku obdélníkového tvaru, aby byly naplněny podmínky platného VVC bitového toku.
Poskytování takové personalizované služby pomocí distribuce založené na DVB-DASH by bylo jednodušší, protože přenos VVC ve formátu ISO Base Media File Format byl navržen tak, aby podporoval dílčí bitové toky dílčích obrázků. Každý dílčí bitový tok dílčího obrázku VVC může být zapouzdřen do své vlastní stopy dílčího obrázku VVC a každá verze videa určená ke konzumaci může být signalizována pomocí základních stop VVC odkazujících na příslušné stopy dílčího obrázku VVC.
Dílčí obrázky VVC lze také použít pro služby typu obraz v obraze s využitím vlastností extrahování a slučování dílčích obrázků VVC. U takové služby je hlavní video zakódováno pomocí několika dílčích obrázků, z nichž jeden má stejnou velikost jako doplňkové video, umístěných přesně na místě, kde má být doplňkové video složeno do hlavního videa a kódováno nezávisle, aby umožnilo vyjmutí. Pokud se uživatel rozhodne zobrazit verzi služby, která obsahuje doplňkové video, dílčí obrázek, který odpovídá oblasti obrazu v obraze hlavního videa, je extrahován z hlavního bitového toku videa a bitový tok doplňkového videa je sloučen s hlavním bitovým tokem videa na jeho místo.
VVC podobrázky pro službu PiP
Jako v případě mosaikového obrázku i v tomto případě musí signál používat stejné kódovací mechanismy a označení sekvence parametrů a záhlaví obrázku, takže musí prakticky pocházet ze stejného zdroje. V případě, že oba bitové toky jsou distribuovány pomocí DVB-DASH, je možno volbu provést pomocí předvoleb DASH.
Účinnost, nasazení a budoucnost nového kodeku
Primárním cílem každého nového standardu komprese videa je snížit šířku pásma, kterou video zabírá, a zároveň zachovat co možná největší věrnost. Již první testy naznačovaly, že H.266/VVC dosahuje o 40 % až 50 % lepších kompresních poměrů než stávající HEVC. To by mohlo znamenat, že je možno streamovat epizodu oblíbeného seriálu s využitím téměř poloviny dat. Některé klíčové oblasti pro použití tohoto standardu zahrnují zejména video s ultra vysokým rozlišením 8K, video s vysokým dynamickým rozsahem HDR a širokým barevným gamutem WCG a video pro aplikace pohlcujících médií, jako je 360° všesměrové video promítané jak pomocí běžného projekčního formátu, nebo equirectangular či cubemap projekčních formátů.
I když první čip s podporou VVC MediaTek Pentonic 2000 je na světě, tak bude trvat několik let než VVC, efektivní a flexibilní standard, sesadí z trůnu současné standardy, jako jsou H.265 a AV1. Do širokého uplatnění tohoto dnes nejefektivnějšího kodeku může negativně vstoupit i trh licencí a licenční poplatky, které již sužovaly jeho předchůdce. Kromě toho DVB v současné době pracuje na začlenění čínského standardu AVS do zmíněné Specifikace pro video a audio kódování při vysílání a širokopásmových služeb.