ÜKS ASTE AHELAST — MIS SAABUB, MIS VÄLJUB JA MIS EDASPIDI KATKEB
Kus see kodeerimiskonveieris asub
Videokodeerija ei ole üks algoritm, vaid kaheksa astet kindlas järjekorras — ja järjekord ei ole suvaline: iga aste on olemas seetõttu, et eelmine tegi tema töö võimalikuks. See tööriist modelleerib neist üht. Allolev ahel viitab ülejäänud seitsmele.
Bitikiiruse juhtimise simulaator — valib iga kaadri kvantija, et tabada kas bitikiiruse või kvaliteedi siht
Bitikiiruse juhtimine on tagasisidestus, mitte samm: see ümbritseb 05. astme kvantimist ja reguleerib seda pidevalt, mitte ei käivitu korra kahe naabri vahel.
- Mis saabub
- Juba kodeeritud kaadrite mõõdetud bitikulu ja siht, mida tabada.
- Mis väljub
- Kvantija seadistus järgmise kaadri jaoks, antud tagasi 05. astmele.
- Mida järgmine aste eeldab
- Ta eeldab, et tal on lubatud kvantimist muuta — just seepärast ümbritseb ta seda astet, mitte ei järgne sellele.
- Mis siin valesti läheb
- Kvaliteeti ja bitikiirust ei saa korraga püsivana hoida. CRF hoiab kvaliteedi paigal ja laseb bitikiirusel keerukates stseenides tõusta; CBR hoiab bitikiiruse paigal ja laseb seal kvaliteedil langeda. Ühe valimine tähendab valimist, kumb neist tohib liikuda.
Ülesanded täielikult lahendatud
-
Skoori 60 tuletamine CBR-i halvima kaadri jaoks 4-kaadrilisest puhvrist 6 sammu
Märulistseen, CRF 23, 4-kaadriline puhver. CBR-i halvim kaader saab tulemuseks 60 sellest 85-st, mida see mudel võimaldab, ning reeglid on kõik lehel olemas: CRF annab igale kaadrile osa bittidest võrdeliselt selle keerukusega, CBR maksab fikseeritud 2000 bitti ja täiendab seda 4 kaadri mahtuvusega puhvrist ning CBR-i kvaliteet on 85 korda ruutjuur pakkumise ja nõudluse suhtest. Tuleta see 60.
-
CRF-i eraldis on kirjutatud suhtelisena stseeni keskmise keerukuse suhtes, seega selle keskmistamine annab keskmise otse tagasi. Milline ka poleks stseen ja milline CRF, tuleb keskmiseks sihtväärtus 2000 bitti — see näit on definitsioon, mitte mõõtmine.
-
Informatiivne on tipptulemus. 4078 võrrelduna 2000-ga näitab, et kõige keerukam kaader kannab 2,039 korda keskmisest suuremat keerukust, ja kuna generaator piirab keerukuse väärtusega 0,95, peab selle stseeni keskmine keerukus olema 0,466.
-
CBR seisab silmitsi sama kõveraga. Selle nõudlus kaadri kohta on sama avaldis mis CRF-i eraldis, seega kaader, mille eest CRF maksab 4078 bitti, on kaader, mille eest CBR-ilt küsitakse 4078 bitti ja see annab ära 2000.
-
Selle katmine on puhvri ülesanne. Täisolekus mahutab see 8000 bitti ja tõstab pakkumise 5040 bittini, mis on tunduvalt enam kui raskeima kaadri nõutud 4078 bitti — täis puhver varjaks tipu täielikult ja kvaliteet ei lahkuks kunagi väärtusest 85.
-
Kvaliteet aga lahkub väärtusest 85, seega ei saa puhver olla täis. Määra see selle asemel tühjaks: pakkumine on pelgalt 2000, suhe on 0,4904, selle ruutjuur on 0,7003 ja 85 korda see on 59,5, mille paneel ümardab väärtuseni 60. Trükitud miinimum on täpselt tühja puhvri alampiir.
-
Puhver tühjeneb kiirusega, mille võrra nõudlus ületab eelarvet, mis tippkaadri puhul on 2078 bitti. 8000 bitti puhvrit on sellest 3,85 kaadrit. Selle stseeni tihe lõik kestab 40 kaadrit.
Vastus
60 ei ole valesti dimenseeritud puhver. See on puhver, mis sai otsa. Puhvri suurus teiseneb ajaks, mitte kvaliteediks: jaga täituvus kaadripõhise puudujäägiga ja saad teada, mitme kaadri jagu katet sul on, mis tõttu mõõdetakse sööstu puhvri suhtes kaadrites, mitte bittides. 40 kaadri pikkuse sööstu varjamiseks on vaja umbes 1,04 kaadrit puhvrit sööstu kaadri kohta — kokku ligikaudu 40 kaadrit seda, kuid liugur peatub 10 juures. See on muutuva bitikiiruse eelis ühe reaga: CRF ei pea kunagi sööstu varjama, see lihtsalt maksab selle eest.
-
-
10,8-punktine vahe CRF-i ja CBR-i vahel 2000 bitti kaadri kohta 5 sammu
Mõlemad režiimid kulutavad selles stseenis samamoodi 2000 bitti kaadri kohta. CRF-i kvaliteedijoon asub väärtusel 89,8, CBR-i keskmine on 79. Arvuta välja, mille arvelt see 10,8-punktine vahe tekib ja mida see maksaks CRF-i sammudes.
-
CRF-i tulemus tuleb pelgalt liugurist: 45 punkti on jaotatud 22 sammu peale vahemikus CRF 18 kuni CRF 40. CRF 23 on 5 sammu võrra allpool, seega 89,8.
-
Üks samm on seega skaala mis tahes osas 2,045 punkti — see mudel teeb CRF-i kvaliteedi lineaarseks, mis võimaldabki hiljem vahet sammudes hindama hakata.
-
Bitikiirused ei ole mitte lihtsalt lähedased, vaid identsed. CRF saavutab ehituse poolest keskmisena sihtväärtuse ja CBR maksab sihtväärtuse igal viimasel kui kaadril, seega tekitavad mõlemad 120 kaadri peale kokku 240 000 bitti.
-
Niisiis ei tulene väärtuste 89,8 ja 79 vahelisest 10,8 punktist miski bitikiiruse erinevusest. Samad bitid, sama failisuurus, 10,8-punktine vahe.
-
Vahe jaguneb kaheks. CBR-i ülempiiriks on 85 ka kaadrite puhul, mille see vabalt läbiks, mis maksab 4,8 punkti võrrelduna CRF-i 89,8-ga, ning ülejäänud 6,0 punkti kaotatakse kaadritel, kus puhvris polnud enam midagi järel.
Vastus
Fikseeritud bitikiirus maksab siin 10,8 kvaliteedipunkti ja 5,28 CRF-i sammu ostaks need tagasi. See, mida CBR nende eest saab, on tipp: selle suurim kaader on 2000 bitti, täpselt selle keskmine, kus CRF-i suurim on 4078. Ühendusel, mis kannab üle 2000 bitti kaadri kohta ega ühtegi rohkem, saabub CRF-i tippkaader hilinemisega ning selle 89,8 ei ole midagi väärt — see ongi kogu põhjus nõustuda 10,8 kaotusega. Pane tähele, mida välistab ka 3. samm: eraldis ei sisalda üldse CRF-i tegurit, seega CRF-i viimine 28 juurde vähendaks tulemust ja jätaks bitikiiruse 2000 peale. See leht näitab sulle, kuhu bitid lähevad, mitte seda, mida kvaliteeditase ostes maksab.
-
Allikad (1)
- The framework every encoder’s rate control is an approximation of: G. J. Sullivan & T. Wiegand, "Rate-distortion optimization for video compression." IEEE Signal Processing Magazine 15(6), 74–90, 1998.