Videokodeerimise labor

uuri praktilisi kodeerimise kompromisse enne eksportimist

Interaktiivse simulatsiooni laadimine...

miks bitikiirus vajub kõigepealt kiiretes stseenides 🖖

Igal kaadril on entroopia „nõudlus“ — kui palju bitte on tal tegelikult vaja, et näha puhas välja; see sõltub resolutsioonist, kaadrisagedusest, liikumisest ja kromaatilistest detailidest. Valitud bitikiirus on kindel „eelarve“: CBR-režiimis jaotatud ühtlaselt üle kogu klipi või CRF-režiimis suunatud sihtkvaliteedile iga stseeni kohta. Kui kiire ja detailirohke stseeni nõudlus tõuseb üle selle eelarve, ei jää kodekile muud üle kui ümardada agressiivsemalt, et jääda bitipiirangu sisse — just sellepärast tekivad plokistumine ja hägustumine kõigepealt kõige tegevusrohkemates stseenides, mitte rahulikes.

Väiksemad failid, sama pilt, aeglasem tekitada 🖖

Uuemad koodekid pakivad sama pildi vähematesse bittidesse ja see labor paneb sellele numbrid: sama kvaliteedi juures arvestab ta H.265 mahuks 72% H.264 omast ja AV1 omaks 58%. Üleminek H.265-le säästab seega ligikaudu veerandi ja üleminek AV1-le veidi üle 40%. Konks, millele see labor vihjab: see sääst nõuab arvutusaega. AV1 kodeerimine võib kesta kordades kauem kui H.264. Rusikareegel: vali uusim koodek, mida su seadmed esitavad ja mille jaoks su ajakulu jätkub.

Miks 60 fps ei maksa topelt 🖖

Intuitiivselt peaks kaks korda rohkem kaadreid vajama kaks korda suuremat bitikiirust — kuid ei vaja. Mida lähemal ajas kaks kaadrit teineteisele on, seda sarnasemad nad on, nii et enkooderi liikumiskompensatsioon peab salvestama vaid pisikesed erinevused. Üleminek 30-lt 60 kaadrile sekundis sama kvaliteedi juures lisab enamasti vaid umbes 30–50% bitte, mitte 100%. Lisakaadrid on odavad, sest need on peaaegu naaberkaadrite koopiad.

Ülesanne täielikult lahendatud

  1. Kahe minuti 1080p30 tihendamine kiirusega 6 Mbit/s 5 sammu

    Kaks minutit 1080p30 videot andmekiirusel 6 Mbit/s annab mahuks 90 MB. Arvuta välja, millist pakkimist see kujutab, ja leia see üks arv, mis võimaldab seda võrrelda 4K-vooga.

    1. Alusta sellest, mida kaamera toodab. Lahutusvõime korrutatuna kaadrisagedusega annab pikslikiiruse, ja see on suur arv: 62,2 miljonit pikslit sekundis.

    2. Faili maht on andmekiiruse ja kestuse korrutis, kusjuures ainus komistuskivi on bittide ja baitide erinevus. 90 MB kahe minuti kohta.

    3. Pelgalt andmekiirust ei saa vormingute vahel võrrelda — 6 Mbit/s on 720p jaoks helde ja 4K jaoks napp. Pikslikiirusega jagamine eemaldab lahutusvõime ning jätab tulemuseks bitid piksel-sekundi kohta, mida saab võrrelda.

    4. Pakkimata 4:2:0 8 bitti juures teeb keskmiselt 12 bitti piksli kohta, seega oleks pakkimata voog 746 Mbit/s.

    5. Selle kõrval on 6 Mbit/s pakkimistegur umbes 124 : 1 — ja pilt on ikka vaadatav, mis ongi kaasaegsete koodekite tegelik väide.

    Vastus

    Tööriist väljastab 62,208,000 px/s, 3,600 kaadrit, 90 MB ja 0,0965 bitti piksel-sekundi kohta. See viimane näitaja on teisaldatav. Hoides seda muutumatuna, vajab 4K 24 Mbit/s — neli korda rohkem piksleid, neli korda suurem andmekiirus, sama visuaalne eelarve piksli kohta. Nõnda saab ka teada, kas voogedastusteenus on helde: jagage nende andmekiirus pikslikiirusega ja võrrelge, selle asemel et vaielda megabittide üle eri suurusega vormingute korral.

Allikad (1)

Näiteülesanded