Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu. Loe rohkem.

4K-vormingus voogesitus on uus norm, kuid enam kui 8,2 miljoni piksli kohta edastatakse teavet iga 16 millisekundi järel – 4K-video salvestamine ja edastamine Internetis pole lihtne ülesanne.

Kahetunnine film mahutaks tihendamata üle 1,7 terabaidi salvestusruumi. Niisiis, kuidas saavad voogesituse hiiglased, nagu YouTube ja Netflix, salvestada ja voogesitada videoid, mis võtavad nii palju ruumi?

Noh, nad ei tee seda, sest nad kasutavad filmide suuruse vähendamiseks videokoodekeid, aga mis on videokodek ja milline neist on parim?

Mis on videokodek?

Enne videokoodekite keerukusse sukeldumist on oluline mõista, kuidas video luuakse. Lihtsamalt öeldes pole video midagi muud kui piltide komplekt, mis üksteist kiiresti asendavad.

Selle suure muutumiskiiruse tõttu arvab inimaju, et kujutised liiguvad, luues illusiooni video vaatamisest. Seetõttu vaatate 4K-s videot vaadates lihtsalt 2160x3840 eraldusvõimega pildikomplekti. See piltide kõrge eraldusvõime võimaldab 4K-s videol pakkuda suurepärast videokogemust. See piltide kõrge eraldusvõime suurendab siiski video suurust, muutes võimatuks voogesituse piiratud ribalaiusega kanalite, näiteks Interneti kaudu.

instagram viewer

Selle probleemi lahendamiseks on meil videokoodekid. Lühend sõnadest kooder/dekooder või pakkimine/dekompressioon – videokoodek tihendab pildivoo andmebittideks. See tihendamine võib kasutatud tihendusalgoritmide põhjal kas vähendada video kvaliteeti või ei avalda sellele mingit mõju.

Nagu nimigi ütleb, vähendab koodeki tihendusbitt iga pildi suurust. Sama toimimiseks kasutab tihendusalgoritm ära inimsilma nüansse – ei lase inimestel teada saada, et nende vaadatavad videod on tihendatud.

Dekompressioon, vastupidi, töötab vastupidiselt ja renderdab video tihendatud teabe abil.

Kuigi koodekid teevad teabe tihendamisel suurepärast tööd, võib sama toimimine teie protsessorit koormata. Seetõttu on tavaline, et süsteemis video tihendamise algoritmide käitamisel näete süsteemi jõudluses kõikumisi.

Selle probleemi lahendamiseks on CPU-d ja GPU-d varustatud spetsiaalse riistvaraga, mis suudab neid tihendusalgoritme käivitada. Võimaldab protsessoril täita käsil olevaid ülesandeid, samal ajal kui spetsiaalne riistvara töötleb videokoodekeid, parandades tõhusust.

Kuidas videokodek töötab?

Nüüd, kui meil on põhiteadmised videokodeki toimimisest, saame vaadata, kuidas koodek töötab.

Chroma subsampling

Nagu varem selgitatud, koosnevad videod piltidest ja värvide alamdisamplemine vähendab igal pildil olevat teavet. Selleks vähendab see igal pildil sisalduvat värviteavet, kuid kuidas inimsilm seda värviteabe vähenemist tuvastab?

No näete, inimsilmad on suurepärased heleduse muutuste tuvastamisel, kuid seda ei saa öelda värvide kohta. Selle põhjuseks on asjaolu, et inimsilmas on rohkem vardaid (heledusmuutuste tuvastamise eest vastutavad fotoretseptorirakud) võrreldes koonustega (värvide eristamise eest vastutavad fotoretseptorirakud). Varraste ja koonuste erinevus ei lase silmadel tihendatud ja tihendamata kujutiste võrdlemisel värvimuutusi tuvastada.

Pildi tiitrid: Janke inglise Vikipeedias/Wikimedia Commonsis

Kroomi alamdiskreetimise teostamiseks teisendab video tihendamise algoritm piksliteabe RGB-vormingus heleduse ja värviandmeteks. Pärast seda vähendab algoritm tihendustasemete põhjal pildi värvide hulka.

Üleliigse raami teabe eemaldamine

Videod koosnevad mitmest pildikaadrist ja enamikul juhtudel sisaldavad kõik need kaadrid sama teavet. Näiteks kujutage ette videot, kus inimene räägib kindlal taustal. Sellisel juhul on kõik video kaadrid sarnase koostisega. Seetõttu pole video renderdamiseks vaja kõiki pilte. Kõik, mida vajame, on aluspilt, mis sisaldab kogu teavet ja andmeid, mis on seotud muutustega ühest kaadrist teise liikumisel.

Seetõttu jagab tihendusalgoritm video suuruse vähendamiseks videokaadrid I- ja P-kaadriteks (ennustatud kaadriteks). Siin on I-kaadrid põhitõde ja neid kasutatakse P-kaadrite loomiseks. Seejärel renderdatakse P-kaadrid, kasutades I-kaadrites olevat teavet ja selle konkreetse kaadri muudatusteavet. Seda metoodikat kasutades jaotatakse video I-kaadriteks, mis on põimitud P-kaadriteks, mis tihendatakse videot veelgi.

Liikumise kokkusurumine

Nüüd, kui oleme jaganud video I- ja P-kaadriteks, peame vaatama liikumise tihendamist. Osa video tihendamise algoritmist, mis aitab luua I kaadreid kasutades P-kaadreid. Selleks jagab tihendusalgoritm I kaadri plokkideks, mida nimetatakse makroplokkideks. Nendele plokkidele antakse seejärel liikumisvektorid, mis määravad suuna, milles need plokid ühelt kaadrist teisele üleminekul liiguvad.

Pildi autorid: Blender Foundation/Wikimedia

See iga ploki liikumisteave aitab video tihendamise algoritmil ennustada iga ploki asukohta tulevases kaadris.

Kõrgsageduslike pildiandmete eemaldamine

Nii nagu muutused värviandmetes, ei suuda inimsilm tuvastada peeneid muutusi pildi kõrgsageduslikes elementides, kuid mis on kõrgsageduslikud elemendid? Näete, teie ekraanil kuvatav pilt koosneb mitmest pikslist ja nende pikslite väärtused muutuvad sõltuvalt kuvatavast pildist.

Mõnes pildi piirkonnas muutuvad pikslite väärtused järk-järgult ja sellistel aladel on väidetavalt madal sagedus. Teisest küljest, kui piksliandmetes toimub kiire muutus, liigitatakse piirkond kõrgsageduslike andmete hulka. Video tihendamise algoritmid kasutavad kõrgsagedusliku komponendi vähendamiseks diskreetset koosinust teisendust.

See toimib järgmiselt. Esiteks töötab DCT-algoritm igal makroplokil ja seejärel tuvastab alad, kus pikslite intensiivsuse muutus on väga kiire. Seejärel eemaldab see need andmepunktid pildilt, vähendades video suurust.

Kodeerimine

Nüüd, kui kogu video üleliigne teave on eemaldatud, saame ülejäänud andmebitid salvestada. Selleks kasutab video pakkimisalgoritm kodeerimisskeemi, näiteks Huffmani kodeeringut, mis seob kõik andmebitid kaadris nende videos esinemiskordade arvule ja ühendab need seejärel puutaoliselt. Need kodeeritud andmed salvestatakse süsteemi, mis võimaldab hõlpsalt videot renderdada.

Pildi autorid: Redor/Wikimedia

Erinevad videokoodekid kasutavad videote tihendamiseks erinevaid tehnikaid, kuid väga lihtsal tasemel kasutavad nad videote suuruse vähendamiseks viit ülaltoodud põhimeetodit.

AV1 vs. HEVC vs. VP9: milline koodek on parim?

Nüüd, kui mõistame, kuidas koodekid töötavad, saame määrata, milline on AV1, HEVC ja VP9 hulgast parim.

Kokkusurutavus ja kvaliteet

Kui teil on 4K-video, mis võtab teie süsteemis palju ruumi ja ei saa seda oma seadmesse üles laadida lemmik voogesitusplatvorm, võite otsida videokodekit, mis pakub parimat tihendamist suhe. Siiski peate arvestama ka sellega, et video tihendamisel väheneb selle pakutav kvaliteet. Seetõttu on tihendusalgoritmi valimisel oluline jälgida selle kvaliteeti konkreetse bitikiirusega, kuid mis on video bitikiirus?

Lihtsamalt öeldes on video bitikiirus määratletud kui bittide arv, mida video peab sekundi jooksul esitama. Näiteks 60 kaadriga töötava 24-bitise tihendamata 4K video bitikiirus on 11,9 Gb/s. Seega, kui voogesitate Internetis tihendamata 4K-videot, peab teie Wi-Fi edastama igas sekundis 11,9 gigabitti andmemahtu, mis ammendab teie igakuise andmemahu minutitega.

Tihendusalgoritmi kasutamine, vastupidi, vähendab bitikiirust teie valitud bitikiiruse põhjal väga väikeseks, ilma et kvaliteet halveneks.

Tihendatavuse/kvaliteedinumbrite osas on AV1 esikohal ja pakub 28,1 protsenti paremat tihendus võrreldes H.265-ga ja 27,3-protsendiline sääst võrreldes VP9-ga, pakkudes samal ajal sarnast kvaliteet.

Seega, kui otsite parimat tihendamist ilma kvaliteedi halvenemiseta, on AV1 tihendusaste teie jaoks. AV1 koodeki suurepärase tihendamise ja kvaliteedi suhte tõttu kasutab Google seda oma videokonverentsirakendus Google Duo ja poolt Netflixi, kui edastate videot madala ribalaiusega andmesideühendusega.

Ühilduvus

Nagu varem selgitatud, kodeerib video tihendamise algoritm video, kui see on tihendatud. Nüüd peab selle video esitamiseks teie seade sama dekodeerima. Seega, kui teie seadmel pole riist-/tarkvaratuge video lahtipakkimiseks, ei saa see seda käivitada.

Seetõttu on oluline mõista tihendusalgoritmi ühilduvuse aspekti, sest mis mõte on luua ja tihendada sisu, mis ei saa töötada paljudes seadmetes?

Seega, kui ühilduvus on midagi, mida otsite, peaks VP9 olema teie jaoks koodek seda toetab enam kui kaks miljardit lõpp-punkti ja see võib töötada igas brauseris, nutitelefonis ja nutikas TV.

Sama ei saa öelda AV1 kohta, kuna see kasutab video failimahu vähendamiseks uuemaid ja keerukamaid algoritme ning seda ei saa esitada vanemates seadmetes. Brauseri toega seoses ei saa Safari mängida AV1-d, kuid brauserid, nagu Firefox ja Chrome, saavad AV1-videoid probleemideta esitada.

Riistvaratoe osas on uued SoC-d ja GPU-d, nagu Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, Nvidia RTX 4000-seeria ning Intel Xe ja Arc GPU-d toetavad AV1 koodeki kiirendatud riistvaradekodeerimist. Seega, kui teil on nende kiibistike toitega seadmeid, saate nautida AV1 koodekitega tihendatud sisu voogesitust ilma protsessorite/graafikaprotsessorite võimsust kurnamata.

Mis puutub H.265 koodekisse, siis enamik populaarseid brausereid, nagu Safari, Firefox ja Google Chrome, saavad ilma probleemideta käivitada pakkimisalgoritmiga kodeeritud videoid. Võrreldes AV1 ja VP9-ga ei ole H.265 avatud lähtekoodiga ja H.265 kodeki kasutamiseks tuleb hankida litsentsid. Sel põhjusel ei saa operatsioonisüsteemiga kaasas olevad rakendused, nagu Microsofti filmid ja TV videopleier, vaikimisi käitada H.265-ga kodeeritud videoid. Selle asemel peavad kasutajad selliste videote käitamiseks installima Windowsi poest täiendavaid lisandmooduleid.

Kodeerimise kiirus

Videokoodekid vähendavad oluliselt video suurust, kuid video suuruse vähendamiseks tuleb tihendamata videot tarkvara abil töödelda, mis võtab aega. Seega, kui soovite video suurust vähendada, peate vaatama aega, mis kulub video tihendamiseks tihendusalgoritmi abil.

Kodeerimise tõhususe osas on VP9 esikohal ning videote tihendamise kodeerimisaeg on palju väiksem kui H.265 ja AV1. Seevastu AV1 on kodeerimisaja poolest kõige aeglasem ja H.265-ga võrreldes võib video kodeerimiseks kuluda kolm korda rohkem aega.

Millist kodekit peaksite valima?

Videokoodekite puhul on ideaalse kodeki leidmine väga subjektiivne, kuna iga kodek pakub erinevaid funktsioone.

Kui otsite parimat videokvaliteeti, valige AV1. Teisest küljest, kui otsite kõige ühilduvamat videokodekit, sobiks VP9 teile kõige paremini.

Lõpuks sobib H.265 koodek suurepäraselt, kui vajate head kvaliteeti ja tihendamist ilma kodeerimiskuludeta.