Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Prvi del: Osnove dela z videom in slikami

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Kaj? Video kodek je del programske/strojne opreme, ki stisne in/ali razpakira digitalni video.

Za kaj? Kljub določenim omejitvam tako glede pasovne širine kot
in glede prostora za shranjevanje podatkov trg zahteva vse bolj kakovosten video. Se spomnite, kako smo v zadnji objavi izračunali zahtevani minimum za 30 sličic na sekundo, 24 bitov na piksel, z ločljivostjo 480x240? Prejeli smo 82,944 Mbit/s brez kompresije. Stiskanje je trenutno edini način za splošni prenos HD/FullHD/4K na televizijske zaslone in internet. Kako se to doseže? Zdaj pa si na kratko poglejmo glavne metode.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Prevod je bil narejen s podporo EDISON Software.

Zaročena sva integracija videonadzornih sistemovin razvijamo mikrotomograf.

Kodek proti vsebniku

Pogosta napaka novincev je zamenjava digitalnega video kodeka in digitalnega video vsebnika. Vsebnik je določen format. Ovoj, ki vsebuje video (in morda zvočne) metapodatke. Stisnjen videoposnetek si lahko predstavljamo kot tovor vsebnika.

Običajno pripona videodatoteke označuje vrsto vsebnika. Na primer, datoteka video.mp4 je verjetno vsebnik MPEG-4, del 14, najverjetneje pa datoteka z imenom video.mkv matryoshka. Če želite biti popolnoma prepričani o formatu kodeka in vsebnika, lahko uporabite FFmpeg ali MediaInfo.

Malo zgodovine

Preden pridemo do Kako?, potopimo se malo v zgodovino, da bomo malo bolje razumeli nekatere starejše kodeke.

Video kodek H.261 se je pojavil leta 1990 (tehnično - leta 1988) in je bil ustvarjen za delovanje s hitrostjo prenosa podatkov 64 Kbps. Uporabljal je že ideje, kot so barvno podvzorčenje, makrobloki itd. Standard video kodekov je bil objavljen leta 1995 H.263, ki se je razvijal do leta 2001.

Prva različica je bila dokončana leta 2003 H.264 / AVC. Istega leta je TrueMotion izdal svoj brezplačni video kodek z izgubo, imenovan VP3. Google je podjetje kupil leta 2008 in ga izdal VP8 v istem letu. Decembra 2012 je Google izdal VP9, in je podprt v približno ¾ trga brskalnikov (vključno z mobilnimi napravami).

AV1 je nov brezplačen in odprtokodni video kodek, ki ga je razvil Zveza za odprte medije (AOMedia), ki vključuje najbolj znana podjetja, kot so: Google, Mozilla, Microsoft, Amazon, Netflix, AMD, ARM, NVidia, Intel in Cisco. Prva različica kodeka, 0.1.0, je bila objavljena 7. aprila 2016.

Rojstvo AV1

V začetku leta 2015 je Google delal na VP10Xiph (ki je v lasti Mozille) je delal naprej Daala, Cisco pa je naredil svoj brezplačni video kodek, imenovan Thor.

Potem MPEG LA prvi objavljeni letni limiti za HEVC (H.265) in 8-krat višjo provizijo kot za H.264, vendar so kmalu spet spremenili pravila:

brez letne omejitve,
pristojbina za vsebino (0,5 % prihodka) in
pristojbina na enoto je približno 10-krat višja od H.264.

Zveza za odprte medije so ustvarila podjetja z različnih področij: proizvajalci opreme (Intel, AMD, ARM, Nvidia, Cisco), ponudniki vsebin (Google, Netflix, Amazon), ustvarjalci brskalnikov (Google, Mozilla) in drugi.

Podjetji sta imeli skupen cilj – brezplačni video kodek. Nato se pojavi AV1 z veliko preprostejšo patentno licenco. Timothy B. Terryberry je podal osupljivo predstavitev, ki je postala izvor trenutnega koncepta AV1 in njegovega modela licenciranja.

Presenečeni boste, ko boste izvedeli, da lahko kodek AV1 analizirate prek brskalnika (zainteresirani lahko obiščejo aomanalyzer.org).

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Univerzalni kodek

Oglejmo si glavne mehanizme, na katerih temelji univerzalni video kodek. Večina teh konceptov je uporabnih in se uporabljajo v sodobnih kodekih, kot je npr VP9, AV1 и HEVC. Opozarjam vas, da bo veliko razloženih stvari poenostavljenih. Včasih bodo za predstavitev tehnologij uporabljeni primeri iz resničnega sveta (kot pri H.264).

1. korak - razdelitev slike

Prvi korak je razdelitev okvirja na več delov, pododdelkov in več.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Za kaj? Razlogov je veliko. Ko razdelimo sliko, lahko natančneje predvidimo vektor gibanja z uporabo majhnih odsekov za majhne gibljive dele. Za statično ozadje pa se lahko omejite na večje dele.

Kodeki običajno organizirajo te razdelke v razdelke (ali dele), makrobloke (ali bloke kodirnega drevesa) in več pododdelkov. Največja velikost teh particij je različna, HEVC jo nastavi na 64x64, medtem ko AVC uporablja 16x16, podparticije pa je mogoče razdeliti do velikosti 4x4.

Se spomnite vrst okvirjev iz prejšnjega članka?! Enako velja za bloke, tako da imamo lahko I-fragment, B-blok, P-makroblok itd.

Za tiste, ki želite vaditi, si oglejte, kako je slika razdeljena na odseke in pododdelke. Če želite to narediti, lahko uporabite že omenjeno v prejšnjem članku. Intel Video Pro Analyzer (tista, ki je plačljiva, vendar z brezplačno preizkusno različico, ki je omejena na prvih 10 sličic). Razdelki, analizirani tukaj VP9:

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

2. korak - napovedovanje

Ko imamo razdelke, lahko naredimo astrološke napovedi zanje. Za INTER napovedi je treba prenesti vektorji gibanja in preostanek, za INTRA napovedovanje pa se prenaša smer napovedi in preostanek.

3. korak - transformacija

Ko imamo preostali blok (predvideni odsek → dejanski odsek), ga je mogoče preoblikovati tako, da vemo, katere slikovne pike lahko zavržemo, hkrati pa ohranjamo splošno kakovost. Obstaja nekaj transformacij, ki zagotavljajo natančno vedenje.

Čeprav obstajajo tudi druge metode, si jih oglejmo podrobneje. diskretna kosinusna transformacija (DCT - od diskretna kosinusna transformacija). Glavne funkcije DCT:

  • Pretvori bloke slikovnih pik v enako velike bloke frekvenčnih koeficientov.
  • Kondenzira moč, da pomaga odpraviti prostorsko redundanco.
  • Zagotavlja reverzibilnost.

2. februar 2017 Sintra R.J. (Cintra, RJ) in Bayer F.M. (Bayer FM) je objavil članek o DCT podobni transformaciji za stiskanje slike, ki zahteva samo 14 dodatkov.

Ne skrbite, če ne razumete prednosti posamezne točke. Zdaj pa uporabimo konkretne primere, da vidimo njihovo resnično vrednost.

Vzemimo ta blok slikovnih pik 8x8:

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Ta blok je upodobljen v naslednjo sliko 8 x 8 slikovnih pik:

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Uporabite DCT za ta blok slikovnih pik in dobite blok koeficientov 8x8:

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

In če upodabljamo ta blok koeficientov, bomo dobili naslednjo sliko:

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Kot lahko vidite, ni videti kot izvirna slika. Vidite lahko, da se prvi koeficient zelo razlikuje od vseh ostalih. Ta prvi koeficient je znan kot koeficient DC, ki predstavlja vse vzorce v vhodnem nizu, nekaj podobnega povprečju.

Ta blok koeficientov ima zanimivo lastnost: ločuje visokofrekvenčne komponente od nizkofrekvenčnih.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Na sliki je večina moči skoncentrirana pri nižjih frekvencah, tako da če pretvorite sliko v njene frekvenčne komponente in zavržete višje frekvenčne koeficiente, lahko zmanjšate količino podatkov, potrebnih za opis slike, ne da bi pri tem žrtvovali preveč kakovosti slike.

Frekvenca se nanaša na to, kako hitro se signal spreminja.

Poskusimo uporabiti znanje, pridobljeno v testnem primeru, tako da pretvorimo izvirno sliko v njeno frekvenco (blok koeficientov) z uporabo DCT in nato zavržemo del najmanj pomembnih koeficientov.

Najprej ga pretvorimo v frekvenčno domeno.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Nato zavržemo del (67 %) koeficientov, predvsem spodnji desni del.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Nazadnje rekonstruiramo sliko iz tega zavrženega bloka koeficientov (ne pozabite, mora biti obrnljiv) in jo primerjamo z izvirnikom.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Vidimo, da je podobna originalni sliki, vendar je veliko razlik od izvirnika. Vrgli smo 67,1875% in še vedno dobili nekaj podobnega originalu. Koeficiente je bilo mogoče bolj premišljeno ovreči, da bi dobili sliko še boljše kvalitete, a to je že naslednja tema.

Vsak koeficient se ustvari z uporabo vseh slikovnih pik

Pomembno: vsak koeficient ni neposredno preslikan v eno slikovno piko, ampak je utežena vsota vseh slikovnih pik. Ta osupljivi graf prikazuje, kako sta prvi in ​​drugi koeficient izračunana z utežmi, edinstvenimi za vsak indeks.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Prav tako lahko poskusite vizualizirati DCT tako, da si ogledate preprosto oblikovanje slike, ki temelji na njem. Tukaj je na primer simbol A, ustvarjen z uporabo vsake uteži koeficienta:

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

4. korak - kvantizacija

Ko v prejšnjem koraku izločimo nekaj koeficientov, na zadnjem koraku (transformacija) izvedemo posebno obliko kvantizacije. Na tej stopnji je sprejemljiva izguba informacij. Ali, bolj preprosto, kvantificirali bomo koeficiente, da dosežemo stiskanje.

Kako lahko kvantizirate blok koeficientov? Ena najpreprostejših metod je enotna kvantizacija, ko vzamemo blok, ga delimo z eno vrednostjo (z 10) in rezultat zaokrožimo.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Ali lahko obrnemo ta blok koeficientov? Da, lahko, pomnožimo z isto vrednostjo, s katero smo delili.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Ta pristop ni najboljši, ker ne upošteva pomembnosti posameznega koeficienta. Namesto ene same vrednosti bi lahko uporabili matriko kvantizatorjev in ta matrika bi lahko izkoristila lastnost DCT s kvantiziranjem večine spodnjega desnega in manjšine zgornjega levega.

Korak 5 - entropijsko kodiranje

Ko enkrat kvantiziramo podatke (slikovne bloke, fragmente, okvirje), jih lahko še vedno stisnemo brez izgub. Obstaja veliko algoritemskih načinov za stiskanje podatkov. Na hitro si bomo ogledali nekatere izmed njih, za globlje razumevanje si lahko preberete knjigo Understanding Compression: Data Compression for Modern Developers ("Razumevanje stiskanja: stiskanje podatkov za sodobne razvijalce«).

Video kodiranje z uporabo VLC

Recimo, da imamo tok znakov: a, e, r и t. V tej tabeli je predstavljena verjetnost (v razponu od 0 do 1), kako pogosto se posamezni znak pojavi v toku.

a e r t
Verjetnost 0,3 0,3 0,2 0,2

Najverjetnejšim lahko dodelimo edinstvene binarne kode (po možnosti majhne), manj verjetnim pa večje kode.

a e r t
Verjetnost 0,3 0,3 0,2 0,2
Binarna koda 0 10 110 1110

Tok stisnemo ob predpostavki, da bomo na koncu porabili 8 bitov za vsak znak. Brez stiskanja bi bilo potrebnih 24 bitov na znak. Če vsak znak zamenjate z njegovo kodo, prihranite!

Prvi korak je kodiranje znaka e, kar je enako 10, drugi znak pa je a, ki se doda (ne na matematični način): [10][0] in na koncu še tretji znak t, zaradi česar je naš končni stisnjeni bitni tok enak [10][0][1110] oz 1001110, ki zahteva le 7 bitov (3,4-krat manj prostora kot original).

Upoštevajte, da mora biti vsaka koda edinstvena koda s predpono. Huffmanov algoritem vam bo pomagal najti te številke. Čeprav ta metoda ni brez pomanjkljivosti, obstajajo video kodeki, ki še vedno ponujajo to algoritemsko metodo za stiskanje.

Tako kodirnik kot dekoder morata imeti dostop do tabele simbolov s svojimi binarnimi kodami. Zato je potrebno kot vhod poslati tudi tabelo.

Aritmetično kodiranje

Recimo, da imamo tok znakov: a, e, r, s и t, njihova verjetnost pa je predstavljena v tej tabeli.

a e r s t
Verjetnost 0,3 0,3 0,15 0,05 0,2

S to tabelo bomo zgradili obsege, ki bodo vsebovali vse možne znake, razvrščene po največjem številu.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Zdaj kodirajmo tok treh znakov: jesti.

Najprej izberite prvi znak e, ki je v podrazponu od 0,3 do 0,6 (brez vključenega). Vzamemo ta podrazpon in ga ponovno razdelimo v enakem razmerju kot prej, vendar za to novo območje.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Nadaljujmo s kodiranjem našega toka jesti. Zdaj vzemite drugi znak a, ki je v novem podrazponu od 0,3 do 0,39, in nato vzamemo naš zadnji znak t in s ponovnim ponavljanjem istega postopka dobimo končni podrazpon od 0,354 do 0,372.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Samo izbrati moramo številko v zadnjem podrazponu od 0,354 do 0,372. Izberimo 0,36 (vendar lahko izberete katero koli drugo številko v tem podrazponu). Samo s to številko bomo lahko obnovili prvotni tok. Kot da bi risali črto znotraj razponov za kodiranje našega toka.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Obratna operacija (tj. dekodiranje) je prav tako preprosto: z našim številom 0,36 in našim začetnim obsegom lahko izvedemo isti postopek. Zdaj pa s to številko identificiramo tok, kodiran s to številko.

S prvim obsegom opazimo, da naše število ustreza rezini, zato je to naš prvi znak. Zdaj ta podrazpon ponovno razdelimo po enakem postopku kot prej. Tukaj lahko vidite, da 0,36 ustreza simbolu a, in po ponovitvi postopka smo prišli do zadnjega znaka t (ki tvori naš originalni kodirani tok jesti).

Tako kodirnik kot dekoder morata imeti tabelo verjetnosti simbolov, zato jo je potrebno poslati tudi v vhodne podatke.

Precej elegantno, kajne? Kdor koli se je domislil te rešitve, je bil prekleto pameten. Nekateri video kodeki uporabljajo to tehniko (ali jo vsaj ponujajo kot možnost).

Ideja je brezizgubno stisniti kvantiziran bitni tok. Zagotovo v tem članku manjka ogromno podrobnosti, razlogov, kompromisov itd. Če pa ste razvijalec, bi morali vedeti več. Novi kodeki poskušajo uporabiti različne algoritme entropijskega kodiranja, kot je npr ANS.

6. korak - format bitnega toka

Ko vse to naredite, ostane le še razpakiranje stisnjenih okvirjev v okviru izvedenih korakov. Dekoder mora biti izrecno obveščen o odločitvah, ki jih sprejme kodirnik. Dekoder mora imeti vse potrebne informacije: bitna globina, barvni prostor, ločljivost, informacije o predvidevanju (vektorji gibanja, napovedovanje smeri INTER), profil, raven, hitrost sličic, vrsta sličic, številka sličic in še veliko več.

Na hitro si bomo ogledali bitni tok H.264. Naš prvi korak je ustvariti minimalni bitni tok H.264 (FFmpeg privzeto doda vse možnosti kodiranja, kot je npr. SEI NAL — kaj je, bomo izvedeli malo naprej). To lahko naredimo z lastnim repozitorijem in FFmpeg.

./s/ffmpeg -i /files/i/minimal.png -pix_fmt yuv420p /files/v/minimal_yuv420.h264

Ta ukaz bo ustvaril neobdelani bitni tok H.264 z eno sličico, ločljivost 64×64, z barvnim prostorom YUV420. V tem primeru se kot okvir uporabi naslednja slika.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Bitni tok H.264

Standardni AVC (H.264) določa, da bodo informacije poslane v makrookvirjih (v omrežnem smislu), imenovanih nal (to je raven abstrakcije omrežja). Glavni cilj NAL je zagotoviti "spletu prijazno" video predstavitev. Ta standard bi moral delovati na televizorjih (na podlagi pretoka), internetu (na osnovi paketov).

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Obstaja sinhronizacijski marker za določanje meja elementov NAL. Vsak sinhronizacijski žeton vsebuje vrednost 0x00 0x00 0x01, razen prvega, ki je enak 0x00 0x00 0x00 0x01. Če zaženemo hexdump za generirani bitni tok H.264 identificiramo vsaj tri vzorce NAL na začetku datoteke.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Kot rečeno, mora dekoder poznati ne le slikovne podatke, ampak tudi podrobnosti videa, okvirja, barv, uporabljenih parametrov in še veliko več. Prvi bajt vsakega NAL-a določa njegovo kategorijo in vrsto.

Identifikator vrste NAL Opis
0 Neznana vrsta
1 Kodiran fragment slike brez IDR
2 Razdelek s podatki o kodirani rezini A
3 Razdelek s podatki o kodirani rezini B
4 Razdelek s podatki o kodirani rezini C
5 Kodiran IDR fragment slike IDR
6 Več informacij o razširitvi SEI
7 Nabor parametrov zaporedja SPS
8 Nabor parametrov slike PPS
9 Ločilo dostopa
10 Konec zaporedja
11 Konec niti
... ...

Običajno je prvi NAL bitnega toka PLC. Ta vrsta NAL je odgovorna za obveščanje o pogostih spremenljivkah kodiranja, kot so profil, raven, ločljivost itd.

Če preskočimo prvi sinhronizacijski marker, lahko dekodiramo prvi bajt, da ugotovimo, kateri tip NAL je prvi.

Na primer, prvi bajt za sinhronizacijskim žetonom je 01100111, kjer je prvi bit (0) je v polju forbidden_zero_bit. Naslednja 2 bita (11) nam pove polje nal_ref_idc, ki označuje, ali je ta NAL referenčno polje ali ne. In preostalih 5 bitov (00111) nam pove polje nal_unit_type, v tem primeru je to blok SPS (7) NAL.

Drugi bajt (binarni=01100100, hex=0x64, december=100) v SPS NAL je polje profile_idc, ki prikazuje profil, ki ga je uporabil kodirnik. V tem primeru je bil uporabljen omejen visok profil (tj. visok profil brez dvosmerne podpore B-segmenta).

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Če pogledate specifikacijo bitnega toka H.264 za SPS NAL bomo našli veliko vrednosti za ime parametra, kategorijo in opis. Na primer, poglejmo polja pic_width_in_mbs_minus_1 и pic_height_in_map_units_minus_1.

Ime parametra Kategorija Opis
pic_width_in_mbs_minus_1 0 ue(v)
pic_height_in_map_units_minus_1 0 ue(v)

Če izvedemo nekaj matematičnih operacij z vrednostmi teh polj, bomo dobili ločljivost. Z uporabo lahko predstavite 1920 x 1080 pic_width_in_mbs_minus_1 z vrednostjo 119 ((119 + 1) * velikost_makrobloka = 120 * 16 = 1920). Da bi prihranili prostor, smo namesto kodiranja 1920 to storili s 119.

Če nadaljujemo s preverjanjem ustvarjenega videa v binarni obliki (na primer: xxd -b -c 11 v/minimal_yuv420.h264), potem lahko greste na zadnji NAL, ki je sam okvir.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Tukaj vidimo njegovih prvih 6 bajtnih vrednosti: 01100101 10001000 10000100 00000000 00100001 11111111. Ker je znano, da prvi bajt označuje vrsto NAL, v tem primeru (00101) je fragment IDR (5), nato pa ga lahko nadalje raziskujete:

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Z uporabo specifikacijskih informacij bo mogoče dekodirati vrsto fragmenta (slice_type) in številko okvirja (frame_num) med drugimi pomembnimi področji.

Če želite pridobiti vrednosti nekaterih polj (ue(v), me(v), se(v) ali te(v)), moramo fragment dekodirati s posebnim dekodirnikom, ki temelji na eksponentna Golombova koda. Ta metoda je zelo učinkovita za kodiranje vrednosti spremenljivk, zlasti če obstaja veliko privzetih vrednosti.

Vrednote slice_type и frame_num tega videa sta 7 (I-fragment) in 0 (prvi okvir).

Bitni tok si lahko predstavljamo kot protokol. Če želite izvedeti več o bitnem toku, si oglejte specifikacijo ITU H.264. Tu je makro diagram, ki prikazuje, kje so slikovni podatki (YUV v stisnjeni obliki).

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Preučiti je mogoče druge bitne tokove, kot npr VP9, H.265 (HEVC) ali celo naš novi najboljši bitni tok AV1. Ali so si vsi podobni? Ne, a ko razumeš vsaj enega, je veliko lažje razumeti ostale.

Želite vaditi? Raziščite bitni tok H.264

Ustvarite lahko video z enim okvirjem in uporabite MediaInfo za pregled bitnega toka H.264. Pravzaprav vam nič ne preprečuje, da bi sploh pogledali izvorno kodo, ki analizira bitni tok H.264 (AVC).

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Za vajo lahko uporabite Intel Video Pro Analyzer (sem že rekel, da je program plačan, vendar obstaja brezplačna preizkusna različica z omejitvijo 10 sličic?).

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Pregled

Upoštevajte, da mnogi sodobni kodeki uporabljajo isti model, ki smo ga pravkar preučevali. Tukaj si oglejmo blokovni diagram video kodeka Thor. Vsebuje vse korake, skozi katere smo šli. Bistvo te objave je, da vsaj bolje razumete novosti in dokumentacijo na tem področju.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Prej je bilo izračunano, da bo za shranjevanje enourne video datoteke v kakovosti 139p in 720 fps potrebnih 30 GB prostora na disku. Če uporabljate metode, obravnavane v tem članku (medslične in notranje napovedi, transformacija, kvantizacija, entropijsko kodiranje itd.), potem lahko dosežete (na podlagi dejstva, da porabimo 0,031 bita na slikovno piko) video precej zadovoljive kakovosti, zasede le 367,82 MB, ne 139 GB pomnilnika.

Kako H.265 doseže boljše kompresijsko razmerje kot H.264?

Zdaj, ko vemo več o delovanju kodekov, je lažje razumeti, kako lahko novejši kodeki zagotavljajo višje ločljivosti z manj bitov.

Če primerjamo AVC и HEVC, je vredno zapomniti, da je to skoraj vedno izbira med večjo obremenitvijo procesorja in razmerjem stiskanja.

HEVC ima več možnosti razdelkov (in pododdelkov) kot AVC, več smeri notranjega predvidevanja, izboljšano entropijsko kodiranje in drugo. Vse te izboljšave so bile narejene H.265 lahko stisne 50% več kot H.264.

Kako deluje video kodek? 2. del. Kaj, zakaj, kako

Prvi del: Osnove dela z videom in slikami

Vir: www.habr.com

Dodaj komentar