Pretakanje v ločljivosti 4K je nova norma, vendar z informacijami za več kot 8,2 milijona slikovnih pik, ki se prenašajo vsakih 16 milisekund, shranjevanje in prenašanje videa 4K na internetu ni lahka naloga.
Dve uri dolg film bi nestisnjen zajel več kot 1,7 terabajta prostora za shranjevanje. Kako torej pretočnim velikanom, kot sta YouTube in Netflix, uspe shraniti in pretakati videoposnetke, ki zavzamejo toliko prostora?
No, ne, ker uporabljajo video kodeke za zmanjšanje velikosti filmov, toda kaj je video kodek in kateri je najboljši?
Kaj je video kodek?
Preden se poglobite v zapletenost video kodekov, je bistveno razumeti, kako je video ustvarjen. Preprosto povedano, video ni nič drugega kot nabor fotografij, ki se hitro zamenjajo.
Zaradi te velike spreminjajoče se hitrosti človeški možgani mislijo, da se slike premikajo, kar ustvarja iluzijo gledanja videa. Zato pri gledanju videoposnetka v 4K gledate samo nabor slik z ločljivostjo 2160x3840. Ta visoka ločljivost slik omogoča, da video, posnet v 4K, zagotavlja odlično video izkušnjo. Kljub temu ta visoka ločljivost slik poveča velikost videa, zaradi česar je nemogoče pretakanje po kanalih z omejeno pasovno širino, kot je internet.
Za rešitev tega problema imamo video kodeke. Okrajšava za koder/dekoder ali kompresijo/dekompresijo, video kodek stisne tok slik v bit podatkov. To stiskanje lahko zmanjša kakovost videa ali pa nanj ne vpliva glede na uporabljene algoritme stiskanja.
Kot že ime pove, kompresijski bit v kodeku zmanjša velikost vsake slike. Da bi dosegel enako, algoritem stiskanja izkorišča nianse človeškega očesa in ljudem preprečuje, da bi vedeli, da so videoposnetki, ki jih gledajo, stisnjeni.
Nasprotno, dekompresija deluje nasprotno in upodablja video s pomočjo stisnjenih informacij.
Čeprav kodeki odlično opravljajo svoje delo, ko gre za stiskanje informacij, je izvajanje istega lahko obremenjujoče za vaš CPE. Zaradi tega je običajno opaziti nihanja v zmogljivosti sistema, ko v sistemu zaženete algoritme za stiskanje videa.
Za rešitev te težave imajo procesorji in grafični procesorji posebno strojno opremo, ki lahko izvaja te algoritme stiskanja. Omogočanje CPE-ju, da izvaja naloge, medtem ko namenska strojna oprema obdeluje video kodeke, kar izboljša učinkovitost.
Kako deluje video kodek?
Zdaj, ko imamo osnovno razumevanje, kaj počne video kodek, si lahko ogledamo, kako kodek deluje.
Kromatsko podvzorčenje
Kot je bilo že pojasnjeno, so videoposnetki sestavljeni iz slik in podvzorčenje barvnosti zmanjša informacije v vsaki sliki. Da bi to naredil, zmanjša barvne informacije, ki jih vsebuje vsaka slika, toda kako to zmanjšanje barvnih informacij zazna človeško oko?
No, vidite, človeške oči so odlične pri zaznavanju sprememb v svetlosti, vendar tega ne moremo reči za barve. To je zato, ker ima človeško oko več paličic (fotoreceptorskih celic, odgovornih za zaznavanje sprememb svetlosti) v primerjavi s stožci (fotoreceptorskih celic, odgovornih za razlikovanje barv). Razlika v palicah in stožcih preprečuje, da bi oči zaznale barvne spremembe pri primerjavi stisnjenih in nestisnjenih slik.
Za izvedbo podvzorčenja barvnosti algoritem za stiskanje videa pretvori informacije o slikovnih pikah v RGB v podatke o svetlosti in barvah. Nato algoritem zmanjša količino barve na sliki glede na stopnje stiskanja.
Odstranjevanje odvečnih informacij okvirja
Videoposnetki so sestavljeni iz več okvirjev slik in v večini primerov vsi ti okvirji vsebujejo iste informacije. Predstavljajte si na primer videoposnetek z osebo, ki govori pred stalnim ozadjem. V tem primeru imajo vse sličice v videu podobno kompozicijo. Zato za upodabljanje videa niso potrebne vse slike. Vse, kar potrebujemo, je osnovna slika, ki vsebuje vse informacije in podatke, povezane s spremembo pri premikanju iz enega okvirja v drugega.
Da bi zmanjšal velikost videoposnetka, algoritem za stiskanje video okvirje razdeli na I in P okvirje (predvidene okvirje). Tu so I okvirji osnovna resnica in se uporabljajo za ustvarjanje P okvirjev. Okvirji P so nato upodobljeni z uporabo informacij v okvirih I in informacij o spremembi za ta določen okvir. Z uporabo te metodologije je videoposnetek razdeljen na niz okvirjev I, ki so prepleteni v okvirje P, ki dodatno stisnejo video.
Stiskanje gibanja
Zdaj, ko smo videoposnetek razdelili na I in P okvirje, si moramo ogledati stiskanje gibanja. Del algoritma za stiskanje videa, ki pomaga ustvariti okvirje P z uporabo okvirjev I. Da bi to naredil, algoritem za stiskanje razdeli okvir I na bloke, znane kot makro bloki. Tem blokom se nato dodelijo vektorji gibanja, ki določajo smer, v kateri se ti bloki premikajo pri prehodu iz enega okvira v drugega.
Te informacije o gibanju za vsak blok pomagajo algoritmu za stiskanje videa predvideti lokacijo vsakega bloka v prihajajočem okvirju.
Odstranjevanje visokofrekvenčnih slikovnih podatkov
Tako kot spremembe barvnih podatkov človeško oko ne more zaznati subtilnih sprememb visokofrekvenčnih elementov na sliki, toda kaj so visokofrekvenčni elementi? No, vidite, slika, upodobljena na vašem zaslonu, je sestavljena iz več slikovnih pik, vrednosti teh slikovnih pik pa se spreminjajo glede na prikazano sliko.
Na nekaterih območjih slike se vrednosti slikovnih pik postopoma spreminjajo in takšna področja naj bi imela nizko frekvenco. Po drugi strani pa, če pride do hitre spremembe v podatkih slikovnih pik, je območje kategorizirano kot območje z visokofrekvenčnimi podatki. Algoritmi za stiskanje videa uporabljajo diskretno kosinusno transformacijo za zmanjšanje visokofrekvenčne komponente.
Evo, kako deluje. Najprej se algoritem DCT zažene na vsakem makro bloku in nato zazna področja, kjer je sprememba intenzivnosti slikovnih pik zelo hitra. Nato odstrani te podatkovne točke iz slike – zmanjša velikost videa.
Kodiranje
Zdaj, ko smo odstranili vse odvečne informacije v videu, lahko shranimo preostale bitove podatkov. Da bi to naredil, algoritem za stiskanje videa uporablja shemo kodiranja, kot je Huffmanovo kodiranje, ki povezuje vse podatkovnih bitov v okvirju na število, ko se pojavijo v videu, in jih nato poveže v obliki drevesa. Ti kodirani podatki so shranjeni v sistemu, kar mu omogoča enostavno upodabljanje videa.
Različni video kodeki uporabljajo različne tehnike za stiskanje videoposnetkov, vendar na zelo osnovni ravni uporabljajo pet temeljnih metod, opredeljenih zgoraj, za zmanjšanje velikosti videoposnetkov.
AV1 vs. HEVC vs. VP9: Kateri kodek je najboljši?
Zdaj, ko razumemo, kako delujejo kodeki, lahko ugotovimo, kateri je najboljši od AV1, HEVC in VP9.
Stisljivost in kakovost
Če imate videoposnetek 4K, ki zaseda veliko prostora v sistemu in ga ne morete prenesti v najljubšo platformo za pretakanje, morda iščete video kodek, ki ponuja najboljše stiskanje razmerje. Vendar morate upoštevati tudi, da se kakovost, ki jo zagotavlja, zmanjšuje, ko videoposnetek stiskate. Zato je pri izbiri algoritma za stiskanje nujno pogledati kakovost, ki jo zagotavlja pri določeni bitni hitrosti, toda kakšna je bitna hitrost videa?
Preprosto povedano, bitna hitrost videoposnetka je opredeljena kot število bitov, ki jih mora video predvajati v sekundi. Na primer, 24-bitni nestisnjeni video 4K, ki se izvaja pri 60 sličicah, ima bitno hitrost 11,9 Gb/s. Če torej pretakate nestisnjen 4K videoposnetek v internetu, mora vaš Wi-Fi zagotoviti 11,9 gigabitov podatkov vsako sekundo – s čimer v nekaj minutah izčrpate vašo mesečno podatkovno kvoto.
Uporaba kompresijskega algoritma, nasprotno, zmanjša bitno hitrost na zelo majhno količino glede na bitno hitrost po vaši izbiri, ne da bi pri tem poslabšala kakovost.
Ko gre za številke stisljivosti/kakovosti, AV1 vodi v paketu in ponuja 28,1 odstotka boljše stiskanje v primerjavi s H.265 in 27,3-odstotni prihranek v primerjavi z VP9, medtem ko zagotavlja podobno kakovosti.
Če torej iščete najboljšo kompresijo brez poslabšanja kakovosti, je AV1 kompresijsko razmerje za vas. Zaradi odličnega razmerja med stiskanjem in kakovostjo kodeka AV1 ga Google uporablja v svojih videokonferenčna aplikacija Google Duo in po Netflix med prenosom videa po podatkovni povezavi z nizko pasovno širino.
Kompatibilnost
Kot je bilo že razloženo, algoritem za stiskanje videa kodira video, ko je stisnjen. Za predvajanje tega videa mora vaša naprava dekodirati isto. Če torej vaša naprava nima strojne/programske podpore za dekompresijo videa, ga ne bo mogla zagnati.
Zato je pomembno razumeti združljivostni vidik algoritma za stiskanje, kajti kakšen je smisel ustvarjanja in stiskanja vsebine, ki se ne more izvajati na številnih napravah?
Torej, če je združljivost nekaj, kar iščete, potem bi moral biti VP9 kodek za vas podprt je na več kot dveh milijardah končnih točk in se lahko izvaja v vsakem brskalniku, pametnem telefonu in pametnem telefonu TV.
Tega ne moremo reči za AV1, saj uporablja novejše, bolj zapletene algoritme za zmanjšanje velikosti datoteke videoposnetka in ga ni mogoče predvajati na starejših napravah. Kar zadeva podporo brskalnika, Safari ne more predvajati AV1, vendar lahko brskalniki, kot sta Firefox in Chrome, predvajajo videoposnetke AV1 brez težav.
Kar zadeva podporo za strojno opremo, novi procesorji SoC in grafični procesorji, kot so Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, Nvidia RTX 4000-Series ter Intel Xe in Arc GPE podpirajo pospešeno strojno dekodiranje za kodek AV1. Torej, če imate naprave, ki jih poganjajo ti nabori čipov, lahko uživate v pretakanju vsebine, stisnjene z uporabo kodekov AV1, ne da bi pri tem izčrpali moč procesorjev/grafičnih procesorjev.
Kar zadeva kodek H.265, lahko večina priljubljenih brskalnikov, kot so Safari, Firefox in Google Chrome, brez težav predvaja videoposnetke, kodirane z algoritmom stiskanja. Kljub temu H.265 v primerjavi z AV1 in VP9 ni odprtokoden in je za uporabo kodeka H.265 treba pridobiti licence. Zaradi tega aplikacije, kot je Microsoftov video predvajalnik Movies & TV, ki je priložen operacijskemu sistemu, privzeto ne morejo predvajati videoposnetkov, kodiranih s H.265. Namesto tega morajo uporabniki namestiti dodatne dodatke iz trgovine Windows za predvajanje takšnih videoposnetkov.
Hitrost kodiranja
Video kodeki znatno zmanjšajo velikost videoposnetka, toda za zmanjšanje velikosti videa je treba nestisnjeni videoposnetek obdelati s programsko opremo, kar zahteva čas. Če torej želite zmanjšati velikost videoposnetka, morate pogledati čas, ki je potreben za stiskanje videa z algoritmom stiskanja.
Kar zadeva učinkovitost kodiranja, VP9 vodi v paketu, čas kodiranja za stiskanje videoposnetkov pa je veliko krajši od H.265 in AV1. AV1 je po drugi strani najpočasnejši pri kodiranju in lahko v primerjavi s H.265 porabi trikrat več časa za kodiranje videa.
Kateri kodek izbrati?
Ko gre za video kodeke, je iskanje popolnega kodeka zelo subjektivno, saj vsak kodek ponuja različne funkcije.
Če iščete najboljšo kakovost videa, izberite AV1. Po drugi strani pa bi bil VP9 najprimernejši za vas, če iščete najbolj združljiv video kodek.
Nazadnje, kodek H.265 je odličen, če potrebujete dobro kakovost in stiskanje brez dodatnih stroškov kodiranja.