Srautas 4K formatu yra nauja norma, tačiau daugiau nei 8,2 milijono pikselių informacija perduodama kas 16 milisekundžių, todėl 4K vaizdo įrašų saugojimas ir perdavimas internete nėra lengva užduotis.
Dviejų valandų trukmės filmas nesuspaustas talpintų daugiau nei 1,7 terabaito. Taigi, kaip srautinio perdavimo milžinai, tokie kaip „YouTube“ ir „Netflix“, sugeba saugoti ir transliuoti vaizdo įrašus, kurie užima tiek daug vietos?
Na, jie to nedaro, nes naudoja vaizdo kodekus, kad sumažintų filmų dydį, bet kas yra vaizdo kodekas ir kuris iš jų yra geriausias?
Kas yra vaizdo kodekas?
Prieš gilinantis į vaizdo kodekų sudėtingumą, labai svarbu suprasti, kaip kuriamas vaizdo įrašas. Paprasčiau tariant, vaizdo įrašas yra ne kas kita, kaip nejudančių vaizdų rinkinys, greitai pakeičiantis vienas kitą.
Dėl šio didelio kintančio greičio žmogaus smegenys mano, kad vaizdai juda ir sukuria vaizdo įrašo žiūrėjimo iliuziją. Todėl žiūrėdami 4K vaizdo įrašą tiesiog žiūrite į 2160x3840 raiškos vaizdų rinkinį. Dėl šios didelės raiškos vaizdų 4K raiškos vaizdo įrašas užtikrina puikią vaizdo patirtį. Be to, ši didelė vaizdų skiriamoji geba padidina vaizdo įrašo dydį, todėl neįmanoma transliuoti kanalais su ribotu pralaidumu, pavyzdžiui, internetu.
Norėdami išspręsti šią problemą, turime vaizdo kodekus. Trumpai tariant, koderis / dekoderis arba suspaudimas / išglaudinimas, vaizdo kodekas suspaudžia vaizdų srautą į duomenų bitus. Dėl naudojamų glaudinimo algoritmų šis suspaudimas gali sumažinti vaizdo įrašo kokybę arba neturėti jam jokios įtakos.
Kaip rodo pavadinimas, suspaudimo bitas kodeke sumažina kiekvieno vaizdo dydį. Kad padarytų tą patį, glaudinimo algoritmas išnaudoja žmogaus akies niuansus – neleidžia žmonėms žinoti, kad jų žiūrimi vaizdo įrašai yra suspausti.
Dekompresija, priešingai, veikia priešingai ir atkuria vaizdo įrašą naudojant suglaudintą informaciją.
Nors kodekai atlieka puikų darbą, kai reikia suspausti informaciją, tai gali apmokestinti jūsų centrinį procesorių. Dėl šios priežasties įprasta matyti sistemos našumo svyravimus, kai sistemoje paleidžiate vaizdo įrašų glaudinimo algoritmus.
Norėdami išspręsti šią problemą, CPU ir GPU yra su specialia aparatūra, kuri gali paleisti šiuos glaudinimo algoritmus. Leidžiama procesoriui atlikti turimas užduotis, o tam skirta aparatinė įranga apdoroja vaizdo kodekus ir pagerina efektyvumą.
Kaip veikia vaizdo kodekas?
Dabar, kai turime pagrindinį supratimą apie tai, ką daro vaizdo kodekas, galime pažvelgti, kaip veikia kodekas.
Chroma subsampling
Kaip paaiškinta anksčiau, vaizdo įrašai yra sudaryti iš vaizdų, o chromos atranka sumažina kiekvieno vaizdo informaciją. Norėdami tai padaryti, jis sumažina kiekviename vaizde esančią spalvų informaciją, bet kaip šį spalvų informacijos sumažėjimą nustato žmogaus akis?
Na, matote, žmogaus akys puikiai aptinka ryškumo pokyčius, bet to negalima pasakyti apie spalvas. Taip yra todėl, kad žmogaus akyje yra daugiau lazdelių (fotoreceptorių ląstelių, atsakingų už ryškumo pokyčius), palyginti su kūgiais (fotoreceptorių ląstelės, atsakingos už spalvų diferencijavimą). Strypų ir kūgių skirtumas neleidžia akims aptikti spalvų pokyčių lyginant suspaustus ir nesuspaustus vaizdus.
Norėdami atlikti chromos atranką, vaizdo glaudinimo algoritmas paverčia pikselių informaciją RGB formatu į šviesumo ir spalvų duomenis. Po to algoritmas sumažina vaizdo spalvų kiekį pagal suspaudimo lygius.
Perteklinės kadro informacijos pašalinimas
Vaizdo įrašai sudaryti iš kelių vaizdų kadrų ir daugeliu atvejų visuose šiuose kadruose yra ta pati informacija. Pavyzdžiui, įsivaizduokite vaizdo įrašą, kuriame asmuo kalba fiksuotame fone. Tokiu atveju visi vaizdo įrašo kadrai yra panašios kompozicijos. Todėl vaizdo įrašui pateikti nereikia visų vaizdų. Viskas, ko mums reikia, yra bazinis paveikslėlis, kuriame būtų visa informacija ir duomenys, susiję su pokyčiais pereinant iš vieno kadro į kitą.
Taigi, norint sumažinti vaizdo įrašo dydį, glaudinimo algoritmas padalija vaizdo kadrus į I ir P kadrus (numatomus kadrus). Čia I kadrai yra pagrindinė tiesa ir naudojami kuriant P kadrus. Tada P kadrai pateikiami naudojant I kadrų informaciją ir konkretaus kadro pakeitimo informaciją. Taikant šią metodiką, vaizdo įrašas suskaidomas į I kadrų rinkinį, įterptą į P kadrus, toliau suglaudinančius vaizdo įrašą.
Suspaudimas judesiu
Dabar, kai suskirstėme vaizdo įrašą į I ir P kadrus, turime pažvelgti į judesio suspaudimą. Vaizdo įrašų glaudinimo algoritmo dalis, padedanti sukurti P kadrus naudojant I kadrus. Norėdami tai padaryti, glaudinimo algoritmas suskaido I kadrą į blokus, vadinamus makroblokais. Tada šiems blokams suteikiami judesio vektoriai, kurie apibrėžia kryptį, kuria šie blokai juda pereinant iš vieno kadro į kitą.
Ši kiekvieno bloko judėjimo informacija padeda vaizdo glaudinimo algoritmui numatyti kiekvieno bloko vietą būsimame kadre.
Aukšto dažnio vaizdo duomenų pašalinimas
Kaip ir spalvų duomenų pasikeitimai, žmogaus akis negali aptikti subtilių vaizdo aukšto dažnio elementų pokyčių, bet kas yra aukšto dažnio elementai? Na, matote, ekrane pateikiamas vaizdas susideda iš kelių pikselių, o šių pikselių reikšmės kinta priklausomai nuo rodomo vaizdo.
Kai kuriose vaizdo vietose pikselių reikšmės keičiasi palaipsniui, o tokiose srityse dažnis yra žemas. Kita vertus, jei greitai keičiasi pikselių duomenys, sritis priskiriama aukšto dažnio duomenų kategorijai. Vaizdo įrašų glaudinimo algoritmai naudoja diskrečiąją kosinuso transformaciją, kad sumažintų aukšto dažnio komponentą.
Štai kaip tai veikia. Pirma, DCT algoritmas veikia kiekviename makrobloke ir tada aptinka sritis, kuriose pikselių intensyvumo pokytis yra labai greitas. Tada jis pašalina šiuos duomenų taškus iš vaizdo ir sumažina vaizdo įrašo dydį.
Kodavimas
Dabar, kai visa perteklinė vaizdo įrašo informacija pašalinta, galime saugoti likusius duomenų bitus. Norėdami tai padaryti, vaizdo glaudinimo algoritmas naudoja kodavimo schemą, pvz., Huffmano kodavimą, kuris susieja visus duomenų bitų kadre iki tiek kartų, kiek jie rodomi vaizdo įraše, ir tada sujungia juos kaip medį. Šie užkoduoti duomenys saugomi sistemoje, todėl jai galima lengvai pateikti vaizdo įrašą.
Skirtingi vaizdo kodekai naudoja skirtingus vaizdo įrašų suglaudinimo metodus, tačiau labai paprastai jie naudoja penkis pagrindinius aukščiau aprašytus metodus, kad sumažintų vaizdo įrašų dydį.
AV1 vs. HEVC vs. VP9: kuris kodekas yra geriausias?
Dabar, kai suprantame, kaip veikia kodekai, galime nustatyti, kuris iš AV1, HEVC ir VP9 yra geriausias.
Suspaudžiamumas ir kokybė
Jei turite 4K vaizdo įrašą, kuris jūsų sistemoje užima daug vietos ir negalite jo įkelti į savo Mėgstamiausia srautinio perdavimo platforma, galbūt ieškote vaizdo kodeko, kuris pasiūlytų geriausią glaudinimą santykis. Tačiau taip pat turite atsižvelgti į tai, kad jo teikiama kokybė blogėja, kai nuolat glaudinate vaizdo įrašą. Todėl, renkantis glaudinimo algoritmą, būtina atsižvelgti į kokybę, kurią jis užtikrina tam tikru bitų dažniu, bet koks yra vaizdo įrašo pralaidumas?
Paprasčiau tariant, vaizdo įrašo pralaidumas apibrėžiamas kaip bitų skaičius, kurį vaizdo įrašas turi paleisti sekundę. Pavyzdžiui, 24 bitų nesuspausto 4K vaizdo įrašo, kuriame veikia 60 kadrų, bitų sparta yra 11,9 Gb/s. Todėl, jei srautiniu būdu transliuojate nesuspaustą 4K vaizdo įrašą internete, jūsų „Wi-Fi“ turi tiekti 11,9 gigabitų duomenų kas sekundę, todėl jūsų mėnesio duomenų kvota išeikvojama per kelias minutes.
Naudojant glaudinimo algoritmą, priešingai, pralaidumas sumažinamas iki labai mažo dydžio, atsižvelgiant į jūsų pasirinktą bitų spartą, nepabloginant kokybės.
Kalbant apie suspaudžiamumo / kokybės skaičius, AV1 pirmauja ir siūlo 28,1 proc. suspaudimas, palyginti su H.265, ir 27,3 proc. taupymas, palyginti su VP9, o tiekimas panašus kokybės.
Todėl, jei ieškote geriausio suspaudimo be kokybės pablogėjimo, AV1 yra jums tinkamas suspaudimo laipsnis. Dėl puikaus AV1 kodeko suspaudimo ir kokybės santykio jį naudoja Google vaizdo konferencijų programa Google Duo ir pagal „Netflix“ perduodant vaizdo įrašą mažo pralaidumo duomenų ryšiu.
Suderinamumas
Kaip paaiškinta anksčiau, vaizdo įrašo glaudinimo algoritmas užkoduoja vaizdo įrašą, kai jis yra suglaudintas. Dabar, kad galėtumėte leisti šį vaizdo įrašą, jūsų įrenginys turi iššifruoti tą patį. Todėl, jei jūsų įrenginyje nėra aparatinės / programinės įrangos palaikymo vaizdo įrašui išskleisti, jis negalės jo paleisti.
Todėl svarbu suprasti glaudinimo algoritmo suderinamumo aspektą, nes kokia prasmė kurti ir glaudinti turinį, kuris negali veikti daugelyje įrenginių?
Taigi, jei ieškote suderinamumo, VP9 turėtų būti jūsų kodekas jis palaikomas daugiau nei dviejuose milijarduose galinių taškų ir gali veikti visose naršyklėse, išmaniuosiuose telefonuose ir išmaniuosiuose įrenginiuose televizorius.
To negalima pasakyti apie AV1, nes jis naudoja naujesnius, sudėtingesnius algoritmus, kad sumažintų vaizdo įrašo failo dydį, ir jo negalima leisti senesniuose įrenginiuose. Kalbant apie naršyklės palaikymą, „Safari“ negali paleisti AV1, tačiau tokios naršyklės kaip „Firefox“ ir „Chrome“ gali leisti AV1 vaizdo įrašus be jokių problemų.
Kalbant apie techninės įrangos palaikymą, nauji SoC ir GPU, tokie kaip „Snapdragon 8 Gen 2“, „Samsung Exynos 2200“, „MediaTek Dimensity 1000 5G“, „Google Tensor G2“, „Nvidia“ RTX 4000 serija ir „Intel Xe“ bei „Arc“ GPU palaiko pagreitintą AV1 kodeko aparatinės įrangos dekodavimą. Todėl, jei turite įrenginius, maitinamus šiais mikroschemų rinkiniais, galite mėgautis srautiniu turiniu, suspaustu naudojant AV1 kodekus, neišnaudodami procesorių / GPU galios.
Kalbant apie H.265 kodeką, populiariausios naršyklės, pvz., „Safari“, „Firefox“ ir „Google Chrome“, gali be jokių problemų paleisti vaizdo įrašus, užkoduotus naudojant glaudinimo algoritmą. Tačiau, palyginti su AV1 ir VP9, H.265 nėra atvirojo kodo, todėl norint naudoti H.265 kodeką reikia įsigyti licencijų. Dėl šios priežasties tokiose programose kaip Microsoft Movies & TV vaizdo grotuvas, kurios yra su operacine sistema, pagal numatytuosius nustatymus negali paleisti vaizdo įrašų, užkoduotų naudojant H.265. Vietoj to, norėdami paleisti tokius vaizdo įrašus, vartotojai turi įdiegti papildomus priedus iš „Windows“ parduotuvės.
Kodavimo greitis
Vaizdo įrašų kodekai žymiai sumažina vaizdo įrašo dydį, tačiau norint sumažinti vaizdo įrašo dydį, nesuspaustą vaizdo įrašą reikia apdoroti programine įranga, o tai užtrunka. Todėl, jei norite sumažinti vaizdo įrašo dydį, turite atsižvelgti į laiką, kurio reikia vaizdo įrašui suspausti naudojant glaudinimo algoritmą.
Kalbant apie kodavimo efektyvumą, VP9 pirmauja, o vaizdo įrašų suglaudinimo kodavimo laikas yra daug mažesnis nei H.265 ir AV1. Kita vertus, AV1 kodavimo laikas yra lėčiausias ir vaizdo įrašui užkoduoti gali prireikti tris kartus daugiau laiko, palyginti su H.265.
Kurį kodeką turėtumėte pasirinkti?
Kalbant apie vaizdo kodekus, rasti tobulą kodeką yra labai subjektyvu, nes kiekvienas kodekas siūlo skirtingas funkcijas.
Jei ieškote geriausios vaizdo kokybės, pasirinkite AV1. Kita vertus, jei ieškote labiausiai suderinamo vaizdo kodeko, VP9 jums labiausiai tiktų.
Galiausiai, H.265 kodekas puikiai tinka, jei reikia geros kokybės ir suspaudimo be kodavimo išlaidų.