Streamovanie v rozlíšení 4K je novou normou, ale s informáciami o viac ako 8,2 miliónoch pixelov, ktoré sa prenesú každých 16 milisekúnd, nie je ukladanie a prenos 4K videa na internete ľahká úloha.
Dvojhodinový film by po nekomprimovaní zabral viac ako 1,7 terabajtu úložného priestoru. Ako teda streamingoví giganti ako YouTube a Netflix dokážu ukladať a streamovať videá, ktoré zaberajú toľko miesta?
No, nie, pretože používajú video kodeky na zmenšenie veľkosti filmov, ale čo je to video kodek a ktorý z nich je najlepší?
Čo je to video kodek?
Pred ponorením sa hlboko do zložitosti video kodekov je dôležité pochopiť, ako sa video vytvára. Zjednodušene povedané, video nie je nič iné ako súbor statických obrázkov, ktoré sa rýchlo nahradia.
V dôsledku tejto vysokej rýchlosti zmeny si ľudský mozog myslí, že sa obrazy pohybujú, čo vytvára ilúziu sledovania videa. Pri sledovaní videa v 4K sa teda práve pozeráte na sadu obrázkov s rozlíšením 2160x3840. Toto vysoké rozlíšenie obrázkov umožňuje natáčanie videa v rozlíšení 4K, aby ste získali skvelý zážitok z videa. Toto vysoké rozlíšenie obrázkov však zväčšuje veľkosť videa, čo znemožňuje streamovanie cez kanály s obmedzenou šírkou pásma, ako je napríklad internet.
Na vyriešenie tohto problému máme video kodeky. Skratka pre kodér/dekodér alebo kompresia/dekompresia, video kodek komprimuje tok obrázkov na bity údajov. Táto kompresia môže buď znížiť kvalitu videa alebo na ňu nemá žiadny vplyv na základe použitých kompresných algoritmov.
Ako už názov napovedá, kompresný bit v kodeku zmenšuje veľkosť každého obrázka. Aby to isté urobil, kompresný algoritmus využíva nuansy ľudského oka – bráni ľuďom vedieť, že videá, ktoré pozerajú, sú komprimované.
Dekompresia naopak funguje opačne a vykresľuje video pomocou komprimovaných informácií.
Hoci kodeky odvádzajú skvelú prácu, pokiaľ ide o kompresiu informácií, vykonanie toho istého môže byť zaťažujúce váš procesor. Z tohto dôvodu je normálne vidieť kolísanie výkonu systému, keď v systéme spúšťate algoritmy kompresie videa.
Na vyriešenie tohto problému sa CPU a GPU dodávajú so špeciálnym hardvérom, ktorý dokáže spustiť tieto kompresné algoritmy. Umožňuje CPU vykonávať úlohy, ktoré sú k dispozícii, zatiaľ čo vyhradený hardvér spracováva video kodeky, čím sa zvyšuje efektivita.
Ako funguje video kodek?
Teraz, keď máme základné znalosti o tom, čo video kodek robí, môžeme sa pozrieť na to, ako kodek funguje.
Chroma Subsampling
Ako už bolo vysvetlené vyššie, videá sa skladajú z obrázkov a podvzorkovanie chroma znižuje informácie v každom obrázku. Na tento účel redukuje farebnú informáciu obsiahnutú v každom obrázku, ale ako je táto redukcia farebnej informácie detekovaná ľudským okom?
No vidíte, ľudské oči sú skvelé na zisťovanie zmien jasu, ale to isté sa nedá povedať o farbách. Je to preto, že ľudské oko má viac tyčiniek (fotoreceptorových buniek zodpovedných za detekciu zmien jasu) v porovnaní s čapíkmi (fotoreceptorové bunky zodpovedné za rozlišovanie farieb). Rozdiel v tyčinkách a čapoch bráni očiam rozpoznať farebné zmeny pri porovnávaní komprimovaných a nekomprimovaných obrázkov.
Na vykonanie podvzorkovania chromatickosti konvertuje algoritmus kompresie videa informácie o pixeloch v RGB na údaje jasu a farieb. Potom algoritmus zníži množstvo farby v obraze na základe úrovní kompresie.
Odstránenie nadbytočných informácií o ráme
Videá sa skladajú z niekoľkých snímok a vo väčšine prípadov všetky tieto snímky obsahujú rovnaké informácie. Predstavte si napríklad video s osobou, ktorá hovorí na nemennom pozadí. V takom prípade majú všetky snímky vo videu podobnú kompozíciu. Preto na vykreslenie videa nie sú potrebné všetky obrázky. Všetko, čo potrebujeme, je základný obrázok, ktorý obsahuje všetky informácie a údaje súvisiace so zmenou pri prechode z jedného rámca na druhý.
Preto, aby sa zmenšila veľkosť videa, kompresný algoritmus rozdeľuje snímky videa na I a P snímky (predpovedané snímky). Tu sú I rámy základnou pravdou a používajú sa na vytváranie P rámov. Snímky P sa potom vykreslia pomocou informácií v snímkach I a informácií o zmenách pre tento konkrétny rámec. Pomocou tejto metodológie sa video rozloží na sadu I snímok prekladaných do P snímok, ktoré video ďalej komprimujú.
Kompresia pohybu
Teraz, keď sme rozdelili video na I a P snímky, musíme sa pozrieť na kompresiu pohybu. Časť algoritmu kompresie videa, ktorá pomáha vytvárať P snímky pomocou I snímok. Na tento účel kompresný algoritmus rozdelí snímku I na bloky známe ako makrobloky. Týmto blokom sa potom pridelia pohybové vektory, ktoré definujú smer, ktorým sa tieto bloky pohybujú pri prechode z jedného rámca do druhého.
Tieto informácie o pohybe pre každý blok pomáhajú algoritmu kompresie videa predpovedať umiestnenie každého bloku v nadchádzajúcom rámci.
Odstránenie vysokofrekvenčných obrazových údajov
Rovnako ako zmeny vo farebných údajoch, ľudské oko nedokáže rozpoznať jemné zmeny vysokofrekvenčných prvkov na obrázku, ale čo sú vysokofrekvenčné prvky? No, vidíte, obraz vykreslený na vašej obrazovke obsahuje niekoľko pixelov a hodnoty týchto pixelov sa menia v závislosti od zobrazeného obrázka.
V niektorých oblastiach obrazu sa hodnoty pixelov postupne menia a takéto oblasti majú nízku frekvenciu. Na druhej strane, ak dôjde k rýchlej zmene v údajoch o pixeloch, oblasť sa kategorizuje ako oblasť s vysokofrekvenčnými údajmi. Algoritmy kompresie videa používajú diskrétnu kosínusovú transformáciu na zníženie vysokofrekvenčnej zložky.
Tu je návod, ako to funguje. Po prvé, algoritmus DCT beží na každom makrobloku a potom detekuje oblasti, kde je zmena intenzity pixelov veľmi rýchla. Potom odstráni tieto dátové body z obrázka, čím sa zmenší veľkosť videa.
Kódovanie
Teraz, keď boli z videa odstránené všetky nadbytočné informácie, môžeme uložiť zostávajúce bity údajov. Algoritmus kompresie videa na to používa schému kódovania, ako je Huffmanovo kódovanie, ktoré spája všetky dátových bitov v rámci, koľkokrát sa vyskytujú vo videu, a potom ich spája stromovým spôsobom. Tieto zakódované dáta sú uložené v systéme, čo mu umožňuje jednoducho vykresliť video.
Rôzne video kodeky používajú rôzne techniky na kompresiu videí, ale na veľmi základnej úrovni používajú päť základných metód definovaných vyššie na zníženie veľkosti videí.
AV1 vs. HEVC vs. VP9: Ktorý kodek je najlepší?
Teraz, keď sme pochopili, ako kodeky fungujú, môžeme určiť, ktorý z AV1, HEVC a VP9 je najlepší.
Stlačiteľnosť a kvalita
Ak máte 4K video, ktoré zaberá veľa miesta vo vašom systéme a nemôžete ho nahrať do svojho obľúbenej streamovacej platforme, možno hľadáte video kodek, ktorý ponúka najlepšiu kompresiu pomer. Musíte však vziať do úvahy aj to, že kvalita, ktorú poskytuje, klesá, keď budete video komprimovať. Preto je pri výbere kompresného algoritmu dôležité pozrieť sa na kvalitu, ktorú poskytuje pri konkrétnej bitovej rýchlosti, ale aká je bitová rýchlosť videa?
Jednoducho povedané, bitová rýchlosť videa je definovaná ako počet bitov, ktoré video potrebuje na prehratie za sekundu. Napríklad 24-bitové nekomprimované 4K video bežiace pri 60 snímkach má bitovú rýchlosť 11,9 Gb/s. Ak teda streamujete nekomprimované 4K video na internete, vaša Wi-Fi musí poskytnúť 11,9 gigabitov dát každú sekundu, čím sa vaša mesačná dátová kvóta vyčerpá v priebehu niekoľkých minút.
Použitie kompresného algoritmu naopak zníži bitovú rýchlosť na veľmi malú hodnotu na základe bitovej rýchlosti podľa vášho výberu bez zníženia kvality.
Pokiaľ ide o čísla stlačiteľnosti/kvality, AV1 vedie v balení a ponúka o 28,1 percenta lepšie kompresia v porovnaní s H.265 a úspora 27,3 percent v porovnaní s VP9 pri podobnom poskytovaní kvalitu.
Preto, ak hľadáte najlepšiu kompresiu bez zníženia kvality, AV1 je kompresný pomer pre vás. Vďaka skvelému pomeru kompresie a kvality kodeku AV1 ho používa spoločnosť Google videokonferenčná aplikácia Google Duo a podľa Netflix pri prenose videa na dátovom pripojení s nízkou šírkou pásma.
Kompatibilita
Ako bolo vysvetlené vyššie, algoritmus kompresie videa zakóduje video, keď je komprimované. Ak chcete prehrať toto video, vaše zariadenie ho musí dekódovať. Ak teda vaše zariadenie nemá hardvérovú/softvérovú podporu na dekomprimovanie videa, nebude ho môcť spustiť.
Preto je dôležité pochopiť aspekt kompatibility kompresného algoritmu, pretože aký zmysel má vytváranie a komprimovanie obsahu, ktorý nemožno spustiť na mnohých zariadeniach?
Ak je teda kompatibilita niečo, čo hľadáte, potom by pre vás mal byť kodek VP9 je podporovaný na viac ako dvoch miliardách koncových bodov a môže bežať na každom prehliadači, smartfóne a smart TV.
To isté sa nedá povedať o AV1, pretože používa novšie, zložitejšie algoritmy na zmenšenie veľkosti súboru videa a nedá sa prehrať na starších zariadeniach. Čo sa týka podpory prehliadača, Safari nedokáže prehrať AV1, ale prehliadače ako Firefox a Chrome dokážu prehrávať videá AV1 bez problémov.
Pokiaľ ide o hardvérovú podporu, nové SoC a GPU ako Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, Nvidia RTX 4000-Series a Intel Xe a Arc GPU podporujú zrýchlené hardvérové dekódovanie pre kodek AV1. Ak teda vlastníte zariadenia poháňané týmito čipsetmi, môžete si užívať streamovanie obsahu komprimovaného pomocou kodekov AV1 bez vyčerpania výkonu procesorov/GPU.
Pokiaľ ide o kodek H.265, väčšina populárnych prehliadačov ako Safari, Firefox a Google Chrome dokáže bez problémov spúšťať videá kódované pomocou kompresného algoritmu. V porovnaní s AV1 a VP9 však H.265 nie je open source a na používanie kodeku H.265 je potrebné získať licencie. Z tohto dôvodu nemôžu aplikácie, ako je napríklad prehrávač videa Movies & TV od spoločnosti Microsoft, ktorý sa dodáva s operačným systémom, spúšťať videá kódované pomocou H.265 v predvolenom nastavení. Namiesto toho si používatelia musia nainštalovať ďalšie doplnky z obchodu Windows, aby mohli spúšťať takéto videá.
Rýchlosť kódovania
Video kodeky podstatne zmenšujú veľkosť videa, ale na zmenšenie veľkosti videa je potrebné nekomprimované video spracovať pomocou softvéru, čo si vyžaduje čas. Preto, ak chcete zmenšiť veľkosť videa, musíte sa pozrieť na čas potrebný na kompresiu videa pomocou kompresného algoritmu.
Pokiaľ ide o efektívnosť kódovania, VP9 je na prvom mieste a čas kódovania na kompresiu videí je oveľa kratší ako pri H.265 a AV1. AV1, na druhej strane, je najpomalší v čase kódovania a môže trvať až trikrát viac času na kódovanie videa v porovnaní s H.265.
Ktorý kodek by ste si mali vybrať?
Pokiaľ ide o video kodeky, nájdenie dokonalého kodeku je veľmi subjektívne, pretože každý kodek ponúka iné funkcie.
Ak hľadáte najlepšiu kvalitu videa, vyberte si AV1. Na druhej strane, ak hľadáte najkompatibilnejší video kodek, VP9 by bol pre vás najvhodnejší.
Napokon, kodek H.265 sa skvele hodí, ak potrebujete dobrú kvalitu a kompresiu bez režijných nákladov na kódovanie.