Streaming u 4K je nova norma, ali s informacijama za više od 8,2 milijuna piksela koji se prenose svakih 16 milisekundi—pohranjivanje i prijenos 4K videa na internetu nije lak zadatak.
Dvosatni film zauzeo bi preko 1,7 terabajta prostora za pohranu kad nije komprimiran. Dakle, kako divovi strujanja poput YouTubea i Netflixa uspijevaju pohraniti i strujati videozapise koji zauzimaju toliko prostora?
Pa, nemaju jer koriste video kodeke za smanjenje veličine filmova, ali što je video kodek i koji je najbolji?
Što je video kodek?
Prije nego što duboko zaronite u složenost video kodeka, važno je razumjeti kako se video stvara. Jednostavno rečeno, video nije ništa drugo nego skup fotografija koje se brzo izmjenjuju.
Zbog te velike brzine promjene, ljudski mozak misli da se slike kreću, stvarajući iluziju gledanja videa. Stoga, kada gledate video u 4K, gledate samo skup slika rezolucije 2160x3840. Ova visoka razlučivost slika omogućuje da video snimljen u 4K pruži izvrsno video iskustvo. Ipak, ova visoka razlučivost slika povećava veličinu videozapisa, što onemogućuje strujanje preko kanala s ograničenom propusnošću, kao što je internet.
Za rješavanje ovog problema imamo video kodeke. Kratica za koder/dekoder ili kompresija/dekompresija, video kodek komprimira tok slika u bitove podataka. Ova kompresija može ili smanjiti kvalitetu videa ili nema nikakav učinak na nju na temelju korištenih algoritama kompresije.
Kao što naziv sugerira, bit kompresije u kodeku smanjuje veličinu svake slike. Da bi učinio isto, algoritam kompresije iskorištava nijanse ljudskog oka—spriječava ljude da znaju da su videozapisi koje gledaju komprimirani.
Dekompresija, naprotiv, radi suprotno i renderira video koristeći komprimirane informacije.
Iako kodeci rade odličan posao kada je u pitanju komprimiranje informacija, izvođenje istih može biti naporno za vaš CPU. Zbog toga je normalno vidjeti fluktuacije u performansama sustava kada pokrenete algoritme video kompresije na svom sustavu.
Kako bi riješili ovaj problem, CPU i GPU dolaze s posebnim hardverom koji može pokrenuti ove algoritme kompresije. Omogućuje CPU-u da izvršava zadatke dok namjenski hardver obrađuje video kodeke, poboljšavajući učinkovitost.
Kako radi video kodek?
Sada kada imamo osnovno razumijevanje onoga što video kodek radi, možemo pogledati kako kodek radi.
Chroma poduzorkovanje
Kao što je ranije objašnjeno, videozapisi se sastoje od slika, a poduzorkovanje boje smanjuje informacije u svakoj slici. Da bi to učinio, smanjuje informacije o boji sadržane u svakoj slici, ali kako to smanjenje informacija o boji detektira ljudsko oko?
Pa, vidite, ljudske oči su izvrsne u otkrivanju promjena u svjetlini, ali isto se ne može reći za boje. To je zato što ljudsko oko ima više štapića (fotoreceptorskih stanica odgovornih za otkrivanje promjena svjetline) u usporedbi s čunjićima (fotoreceptorskih stanica odgovornih za razlikovanje boja). Razlika u štapićima i čunjićima sprječava oči da detektiraju promjene boje prilikom usporedbe komprimiranih i nekomprimiranih slika.
Za izvođenje kromatskog poduzorkovanja, algoritam video kompresije pretvara informacije o pikselima u RGB u podatke o svjetlini i boji. Nakon toga, algoritam smanjuje količinu boje na slici na temelju razina kompresije.
Uklanjanje suvišnih informacija okvira
Videozapisi se sastoje od nekoliko okvira slika, au većini slučajeva svi ti okviri sadrže iste informacije. Na primjer, zamislite video s osobom koja govori u fiksnoj pozadini. U tom slučaju svi kadrovi u videu imaju sličnu kompoziciju. Stoga nisu potrebne sve slike za prikaz videozapisa. Sve što nam treba je osnovna slika koja sadrži sve informacije i podatke koji se odnose na promjenu pri prelasku iz jednog okvira u drugi.
Stoga, kako bi se smanjila veličina videa, algoritam kompresije dijeli video okvire u I i P okvire (predviđene okvire). Ovdje su I okviri osnovna istina i koriste se za stvaranje P okvira. P okviri se zatim prikazuju koristeći informacije u I okvirima i informacije o promjeni za taj određeni okvir. Koristeći ovu metodologiju, video se rastavlja na skup I okvira isprepletenih u P okvire koji dalje komprimiraju video.
Kompresija pokreta
Sada kada smo podijelili video na I i P okvire, moramo pogledati kompresiju pokreta. Dio algoritma video kompresije koji pomaže u stvaranju P okvira pomoću I okvira. Da bi to učinio, algoritam kompresije razbija I okvir u blokove poznate kao makro blokovi. Ovi blokovi zatim dobivaju vektore kretanja koji definiraju smjer u kojem se ti blokovi kreću pri prijelazu iz jednog okvira u drugi.
Ove informacije o kretanju za svaki blok pomažu algoritmu video kompresije da predvidi lokaciju svakog bloka u nadolazećem okviru.
Uklanjanje visokofrekventnih slikovnih podataka
Baš kao i promjene u podacima o boji, ljudsko oko ne može otkriti suptilne promjene visokofrekventnih elemenata na slici, ali što su visokofrekventni elementi? Pa, vidite, slika prikazana na vašem zaslonu sastoji se od nekoliko piksela, a vrijednosti tih piksela mijenjaju se ovisno o slici koja se prikazuje.
U nekim područjima slike vrijednosti piksela postupno se mijenjaju i za takva se područja kaže da imaju nisku frekvenciju. S druge strane, ako postoji brza promjena podataka o pikselima, područje se kategorizira kao područje s visokofrekventnim podacima. Algoritmi kompresije videa koriste diskretnu kosinusnu transformaciju za smanjenje visokofrekventne komponente.
Evo kako to radi. Prvo, DCT algoritam radi na svakom makro-bloku, a zatim otkriva područja gdje je promjena intenziteta piksela vrlo brza. Zatim uklanja te podatkovne točke sa slike—smanjujući veličinu videozapisa.
Kodiranje
Sada kada su sve suvišne informacije u videu uklonjene, možemo pohraniti preostale bitove podataka. Da bi to učinio, algoritam video kompresije koristi shemu kodiranja kao što je Huffmanovo kodiranje, koje povezuje sve podatkovnih bitova u okviru prema broju pojavljivanja u videu, a zatim ih povezuje u obliku stabla. Ovi kodirani podaci pohranjuju se u sustav, omogućujući mu jednostavno renderiranje videozapisa.
Različiti video kodeci koriste različite tehnike za komprimiranje videozapisa, ali na vrlo osnovnoj razini koriste pet temeljnih metoda definiranih gore za smanjenje veličine videozapisa.
AV1 vs. HEVC vs. VP9: Koji je kodek najbolji?
Sada kada razumijemo kako kodeci rade, možemo odrediti koji je najbolji od AV1, HEVC i VP9.
Kompresibilnost i kvaliteta
Ako imate 4K videozapis koji zauzima puno prostora na vašem sustavu i ne možete ga prenijeti na omiljena platforma za streaming, možda tražite video kodek koji nudi najbolju kompresiju omjer. Međutim, također morate uzeti u obzir da kvaliteta koju pruža opada kako komprimirate video. Stoga, pri odabiru algoritma kompresije, važno je pogledati kvalitetu koju isporučuje pri određenoj brzini prijenosa, ali koja je brzina prijenosa videozapisa?
Jednostavno rečeno, brzina prijenosa videozapisa definirana je kao broj bitova koji video treba reproducirati u sekundi. Na primjer, 24-bitni nekomprimirani 4K video koji radi u 60 sličica ima bitrate od 11,9 Gb/s. Stoga, ako strujite nekomprimirani 4K video na internetu, vaš Wi-Fi mora isporučiti 11,9 gigabita podataka svake sekunde—iscrpljujući vašu mjesečnu podatkovnu kvotu za nekoliko minuta.
Korištenje algoritma kompresije, naprotiv, smanjuje brzinu prijenosa na vrlo mali iznos na temelju brzine prijenosa po vašem izboru bez degradacije kvalitete.
Kada je riječ o brojevima kompresivnosti/kvalitete, AV1 prednjači u paketu i nudi 28,1 posto bolje kompresija u usporedbi s H.265 i ušteda od 27,3 posto u usporedbi s VP9 uz isporuku sličnog kvaliteta.
Stoga, ako tražite najbolju kompresiju bez degradacije kvalitete, AV1 je omjer kompresije za vas. Zbog velikog omjera kompresije i kvalitete kodeka AV1, Google ga koristi u svojim aplikacija za videokonferencije Google Duo i po Netflix tijekom prijenosa videa na podatkovnoj vezi niske propusnosti.
Kompatibilnost
Kao što je ranije objašnjeno, algoritam video kompresije kodira video nakon što je komprimiran. Da biste reproducirali ovaj videozapis, vaš ga uređaj mora dekodirati. Stoga, ako vaš uređaj nema hardversku/softversku podršku za dekompresiju videozapisa, neće ga moći pokrenuti.
Stoga je važno razumjeti aspekt kompatibilnosti algoritma kompresije jer koja je svrha stvaranja i komprimiranja sadržaja koji se ne može izvoditi na mnogim uređajima?
Dakle, ako je kompatibilnost nešto što tražite, onda bi VP9 trebao biti kodek za vas podržan je na više od dvije milijarde krajnjih točaka i može raditi na svakom pregledniku, pametnom telefonu i pametnom telefonu TELEVIZOR.
Isto se ne može reći za AV1 jer koristi novije, složenije algoritme za smanjenje veličine datoteke videozapisa i ne može se reproducirati na starijim uređajima. Što se tiče podrške preglednika, Safari ne može reproducirati AV1, ali preglednici poput Firefoxa i Chromea mogu reproducirati AV1 videozapise bez ikakvih problema.
Što se tiče hardverske podrške, novi SoC i GPU kao što su Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, Nvidijin RTX 4000-Series i Intel Xe i Arc GPU podržavaju ubrzano hardversko dekodiranje za AV1 kodek. Stoga, ako posjedujete uređaje koje pokreću ovi skupovi čipova, možete uživati u strujanju sadržaja komprimiranog pomoću AV1 kodeka bez iscrpljivanja snage CPU-a/GPU-a.
Kada je u pitanju H.265 kodek, većina popularnih preglednika kao što su Safari, Firefox i Google Chrome mogu pokretati videozapise kodirane pomoću algoritma kompresije bez ikakvih problema. Ipak, u usporedbi s AV1 i VP9, H.265 nije otvorenog koda i potrebno je nabaviti licence za korištenje H.265 kodeka. Iz tog razloga, aplikacije kao što je Microsoftov Movies & TV videoplayer, koje dolaze s operativnim sustavom, prema zadanim postavkama ne mogu pokretati videozapise kodirane pomoću H.265. Umjesto toga, korisnici moraju instalirati dodatne dodatke iz Windows trgovine za pokretanje takvih videozapisa.
Brzina kodiranja
Videokodeci značajno smanjuju veličinu videozapisa, ali da bi se smanjila veličina videozapisa, nekomprimirani video treba obraditi pomoću softvera, što zahtijeva vrijeme. Stoga, ako želite smanjiti veličinu videozapisa, morate pogledati vrijeme potrebno za kompresiju videozapisa pomoću algoritma kompresije.
Što se tiče učinkovitosti kodiranja, VP9 prednjači u paketu, a vrijeme kodiranja za komprimiranje videa puno je kraće od H.265 i AV1. AV1 je, s druge strane, najsporiji u vremenu kodiranja i može uzeti tri puta više vremena za kodiranje videa u usporedbi s H.265.
Koji kodek odabrati?
Kada je riječ o video kodecima, pronalaženje savršenog kodeka vrlo je subjektivno, jer svaki kodek nudi različite značajke.
Ako tražite najbolju video kvalitetu, odaberite AV1. S druge strane, ako tražite najkompatibilniji video kodek, VP9 bi vam najbolje odgovarao.
Naposljetku, kodek H.265 izvrsno pristaje ako trebate dobru kvalitetu i kompresiju bez dodatnih troškova kodiranja.