Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Inxalenye yokuqala: Iziseko zokusebenza ngevidiyo kunye nemifanekiso

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Yintoni? Ikhodekhi yevidiyo sisiqwenga sesoftware/i-hardware ecinezela kunye/okanye ithomalalisa ividiyo yedijithali.

Yenzelwe ntoni? Nangona imida ethile zombini ngokwemiqathango bandwidth kunye
kwaye ngokwendawo yokugcina idatha, imarike ifuna ikhwalithi ephezulu yevidiyo. Uyakhumbula ukuba kwiposti yokugqibela sibale njani ubuncinci obufunekayo kwizakhelo ezingama-30 ngesekhondi, iibhithi ezingama-24 ngepixel nganye, ngesisombululo se-480x240? Sifumene i-82,944 Mbit / s ngaphandle koxinzelelo. Uxinzelelo ngoku kuphela kwendlela yokuhambisa ngokubanzi iHD/FullHD/4K kwizikrini zikamabonwakude nakwi-Intanethi. Kufezwa njani oku? Ngoku makhe sijonge ngokufutshane iindlela eziphambili.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Uguqulo lwenziwe ngenkxaso ye-EDISON Software.

Sithembisene ngomtshato ukuhlanganiswa kweenkqubo zokucupha iividiyo, kwakunye senza i-microtomograph.

Codec vs Umgqomo

Impazamo eqhelekileyo eyenziwa ngabantu abatsha kukubhidanisa ikhowudi yevidiyo yedijithali kunye nesingxobo sevidiyo yedijithali. Isingxobo luhlobo oluthile. Isisongelo esinevidiyo (kunye mhlawumbi nesandi) imetadata. Ividiyo ecinezelweyo inokucingelwa njengomthwalo wokuhlawula isikhongozeli.

Ngokuqhelekileyo, ukwandiswa kwefayile yevidiyo kubonisa uhlobo lwesikhongozeli. Umzekelo, ifayile video.mp4 mhlawumbi isikhongozeli MPEG-4 Icandelo 14, kwaye ifayile enegama elithi video.mkv inokwenzeka kakhulu matryoshka. Ukuze uqiniseke ngokupheleleyo nge-codec kunye nefomathi yesikhongozeli, ungasebenzisa FFmpeg okanye ImidiyaInfo.

Inxalenye ethile yembali

Ngaphambi kokuba sifike Njani?, masingene kancinci kwimbali ukuqonda ezinye iicodecs ezindala ngcono kancinci.

Ikhodekhi yevidiyo H.261 yabonakala ngo-1990 (ngokobuchwepheshe - ngo-1988) kwaye yadalwa ukuba isebenze kwizinga lokudlulisa idatha ye-64 Kbps. Sele isebenzise izimvo ezinje ngesampulu yombala, ii-macroblocks, njl. Umgangatho wekhodekhi yevidiyo wapapashwa ngo-1995 H.263, eyaphuhliswa de kwangowama-2001.

Inguqulelo yokuqala yagqitywa ngowama-2003 H.264/AVC. Kwangaloo nyaka, i-TrueMotion yakhupha ikhowudi yayo yasimahla yevidiyo ebizwa ngokuba yi-codec VP3. UGoogle uthenge inkampani ngo-2008, ekhupha VP8 kwakuloo nyaka. NgoDisemba 2012, uGoogle wakhululwa VP9, kwaye ixhaswa malunga ne ΒΎ yemarike yomkhangeli zincwadi (iquka izixhobo eziphathwayo).

AV1 yikhowudi entsha yevidiyo esimahla nevulekileyo ephuhliswe ngu I-Alliance ye-Open Media (AOMedia), ezibandakanya iinkampani ezidumileyo, njenge: Google, Mozilla, Microsoft, Amazon, Netflix, AMD, ARM, NVidia, Intel kunye neCisco. Inguqulelo yokuqala yecodec, 0.1.0, yapapashwa ngoAprili 7, 2016.

Ukuzalwa kuka-AV1

Ekuqaleni kuka-2015, uGoogle wayesebenza VP10I-Xiph (eyeye-Mozilla) ibisebenza Daala, kwaye uCisco wenza eyakhe ikhowudi yevidiyo yasimahla ebizwa Thor.

Emva koko, MPEG LA okokuqala kubhengezwe imida yonyaka ye HEVC (H.265) kunye nomrhumo wamaxesha angama-8 aphezulu kune-H.264, kodwa ngokukhawuleza batshintsha imigaqo kwakhona:

akukho mda wonyaka,
umrhumo womxholo (0,5% wengeniso) kunye
umrhumo weyunithi malunga namaxesha angama-10 aphezulu kune-H.264.

I-Alliance ye-Open Media yadalwa ziinkampani ezivela kwiinkalo ezahlukeneyo: abavelisi bezixhobo (i-Intel, i-AMD, i-ARM, i-Nvidia, i-Cisco), ababoneleli bomxholo (i-Google, i-Netflix, i-Amazon), abadali besiphequluli (i-Google, i-Mozilla) kunye nabanye.

Iinkampani zazinenjongo efanayo - i-codec yevidiyo yasebukhosini. Emva koko kuvela AV1 ngelayisenisi yelungelo elilodwa lomenzi wechiza. UTimothy B. Terryberry unike umboniso omangalisayo owaba yimvelaphi yengqiqo yangoku ye-AV1 kunye nemodeli yayo yelayisensi.

Uya kumangaliswa kukwazi ukuba ungayihlalutya ikhowudi ye-AV1 ngokusebenzisa isikhangeli (abo banomdla banokuya aomanalyzer.org).

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ikhowudi yendalo yonke

Makhe sijonge iindlela eziphambili eziphantsi kwekhodekhi yevidiyo yehlabathi. Uninzi lwezi ngcamango ziluncedo kwaye zisetyenziswa kwii-codecs zanamhlanje ezifana VP9, AV1 ΠΈ HEVC. Ndiyakulumkisa ukuba uninzi lwezinto ezichaziweyo ziya kwenziwa lula. Ngamanye amaxesha imizekelo yehlabathi yokwenyani (njengakuH.264) iya kusetyenziswa ukubonisa ubugcisa.

Isinyathelo sokuqala - ukwahlula umfanekiso

Inyathelo lokuqala kukwahlula isakhelo sibe ngamacandelo amaninzi, amacandelwana nangaphaya.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Yantoni? Kukho izizathu ezininzi. Xa sahlulahlula umfanekiso, sinokuqikelela ngokuchanekileyo ngakumbi i-vector eshukumayo ngokusebenzisa amacandelo amancinci kwiindawo ezincinci ezihambayo. Ngelixa imvelaphi engatshintshiyo unokuzikhawulela kumacandelo amakhulu.

IiCodecs ngokuqhelekileyo ziququzelela la macandelo abe ngamacandelo (okanye iinqununu), ii-macroblocks (okanye iibhloko zemithi ekhowudiweyo), kunye namacandelwana amaninzi. Ubungakanani obukhulu bezi zahlulo buyahluka, i-HEVC ibeka kwi-64x64 ngelixa i-AVC isebenzisa i-16x16, kwaye izahlulo zinokwahlulwa ukuya kuthi ga kwi-4x4 ubukhulu.

Ngaba uyazikhumbula iintlobo zezakhelo ezivela kwinqaku lokugqibela?! Okufanayo kunokusetyenziswa kwiibhloko, ngoko sinokuba ne-I-fragment, i-B-block, i-P-macroblock, njl.

Kwabo bafuna ukuziqhelanisa, jonga ukuba umfanekiso uhlukaniswe njani ube ngamacandelo kunye namacandelwana. Ukwenza oku, ungasebenzisa esele ikhankanywe kwinqaku elidlulileyo. Intel Video Pro Analyzer (leyo ihlawulweyo, kodwa ngoguqulelo lwesilingo sasimahla esilinganiselweyo kwizakhelo ezili-10 zokuqala). Amacandelo ahlalutywe apha VP9:

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Inyathelo le-2 - ukubikezela

Sakuba sinamacandelo, sinokuwenzela uqikelelo ngeenkwenkwezi. Kuba INTER uqikelelo kufuneka idluliselwe iivektha ezishukumayo kunye nentsalela, kunye noqikelelo lwe-INTRA luyahanjiswa ulwalathiso lwengqikelelo kunye nentsalela.

Isinyathelo se-3 - inguqu

Xa sele sinebloko eshiyekileyo (icandelo eliqikelelweyo β†’ icandelo lokwenyani), kuyenzeka ukuba siyiguqule ngendlela yokuba sazi ukuba zeziphi iipixels ezinokulahlwa ngelixa ugcina umgangatho uwonke. Kukho iinguqu ezithile ezibonelela ngokuziphatha okuchanekileyo.

Nangona kukho ezinye iindlela, makhe sijonge kuzo ngokubanzi. utshintsho lwecosine olucacileyo (I-DCT -isuka inguqu ecacileyo yecosine). Imisebenzi ephambili yeDCT:

  • Guqula iibhloko zeepixels zibe ziibhloko ezinobungakanani obulinganayo be-coefficients frequency.
  • Ithoba amandla ukunceda ukuphelisa ukungabikho kwesithuba.
  • Ibonelela ngokubuyiselwa umva.

NgoFebruwari 2, 2017 Sintra R.J. (Cintra, R.J.) kunye neBayer F.M. (I-Bayer F.M.) ipapashe inqaku malunga nokuguqulwa okufana ne-DCT yoxinzelelo lwemifanekiso efuna kuphela izongezo ze-14.

Sukuba nexhala xa ungaziqondi iingenelo zenqaku ngalinye. Ngoku makhe sisebenzise imizekelo ethile ukubona ixabiso labo lokwenyani.

Masithathe le bhloko ye-8x8 yeepixels:

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Le bhloko inikezelwa kumfanekiso we-pixel osi-8 ngo-8:

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Faka isicelo seDCT kule bhloko yeepikseli kwaye ufumane ibhloko ye-8x8 yee-coefficients:

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Kwaye ukuba sinikezela ngebloko yee-coefficients, siya kufumana lo mfanekiso ulandelayo:

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Как Π²ΠΈΠ΄ΠΈΠΌ, это Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ коэффициСнт сильно отличаСтся ΠΎΡ‚ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Π­Ρ‚ΠΎΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ коэффициСнт извСстСн ΠΊΠ°ΠΊ DC-коэффициСнт, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ всС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π²ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌ массивС, Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Le bloko ye-coefficients inepropati enomdla: ihlukanisa amacandelo aphezulu-frequency ukusuka kwi-low-frequency.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Kumfanekiso, amandla amaninzi agxininiswe kwiifrikhwensi ezisezantsi, ke ukuba uguqula umfanekiso ube ziinxalenye zawo kwaye ulahle i-coefficients ephezulu yefrikhwensi, unokunciphisa inani ledatha efunekayo ukuchaza umfanekiso ngaphandle kokuncama umgangatho womfanekiso omninzi.

Ukuphindaphinda kubhekisa kwindlela isignali etshintsha ngayo ngokukhawuleza.

Makhe sizame ukusebenzisa ulwazi olufunyenwe kwimeko yokuvavanya ngokuguqula umfanekiso wokuqala kwi-frequency yayo (ibhloko ye-coefficients) usebenzisa i-DCT kwaye ulahle inxalenye yee-coefficients ezingabalulekanga.

Okokuqala siyiguqulela kwi-domain frequency.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Emva koko, silahla inxalenye (67%) yee-coefficients, ngokukodwa inxalenye esezantsi ekunene.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ekugqibeleni, sakha kwakhona umfanekiso kule bloko elahliweyo ye-coefficients (khumbula, kufuneka iguqulwe) kwaye uyithelekise neyokuqala.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Siyabona ukuba ifana nomfanekiso wokuqala, kodwa kukho iiyantlukwano ezininzi ukusuka ekuqaleni. Sikhuphe i-67,1875% kwaye sisenayo into efana neyokuqala. Bekunokwenzeka ukulahla ngokucingisisayo ii-coefficients ukufumana umfanekiso womgangatho ongcono, kodwa sisihloko esilandelayo eso.

I-coefficient nganye yenziwa kusetyenziswa zonke iipikseli

Kubalulekile: i-coefficient nganye ayonjiswanga ngokuthe ngqo kwi-pixel enye, kodwa sisimbuku esinobunzima bazo zonke iipikseli. Le grafu emangalisayo ibonisa indlela i-coefficients yokuqala neyesibini ebalwa ngayo ngokusebenzisa ubunzima obukhethekileyo kwisalathisi ngasinye.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Unokuzama kwakhona ukujonga ngeso lengqondo i-DCT ngokujonga ukubunjwa kwemifanekiso elula esekelwe kuyo. Umzekelo, nantsi isimboli A eyenziwe kusetyenziswa ubunzima bomlinganiso ngamnye:

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Isinyathelo se-4 - ubungakanani

Emva kokuba silahle ezinye ii-coefficients kwisinyathelo sangaphambili, kwinqanaba lokugqibela (ukuguqulwa) senza uhlobo olukhethekileyo lwe-quantization. Kweli nqanaba kwamkelekile ukuphulukana nolwazi. Okanye, ngokulula, siya kulinganisa i-coefficients ukuphumeza uxinzelelo.

Ungayilinganisa njani ibhloko yee-coefficients? Enye yeendlela ezilula kakhulu i-quantization efanayo, xa sithatha ibhloko, sahlule ngexabiso elinye (ngo-10) kwaye ujikeleze umphumo.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ngaba singayibuyisela umva le bhloko ye-coefficients? Ewe, singakwazi, ukuphindaphinda ngexabiso elifanayo esahlule ngalo.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Le ndlela ayiyona nto ibhetele kuba ayithatheli ingqalelo ukubaluleka kwe-coefficient nganye. Umntu unokusebenzisa i-matrix ye-quantizers endaweni yexabiso elinye, kwaye le matrix inokuxhaphaza ipropathi ye-DCT ngokulinganisa ubuninzi belungelo elisezantsi kunye nombalwa ongasentla osekhohlo.

Inyathelo lesi-5 - ikhowudi ye-entropy

Nje ukuba silinganise idatha (iibhloko zemifanekiso, amaqhekeza, iifreyimu), sisenako ukuyicinezela ngaphandle kokulahlekelwa. Kukho iindlela ezininzi ze-algorithmic zokucinezela idatha. Siza kujonga ngokukhawuleza kwezinye zazo, ukuqonda okunzulu unokufunda incwadi Ukuqonda Uxinzelelo: Uxinzelelo lweDatha kubaPhuhlisi banamhlanje ("Ukuqonda Uxinzelelo: Uxinzelelo lweDatha kubaPhuhlisi banamhlanje").

Ukufakwa kweekhowudi kwividiyo usebenzisa iVLC

Masithi sinothotho lwabalinganiswa: a, e, r ΠΈ t. Amathuba (ukususela ku-0 ukuya ku-1) wokuba umlinganiswa ngamnye uvela kangaphi kumsinga abonakaliswe kule theyibhile.

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

Singanikezela iikhowudi zokubini ezikhethekileyo (ngokukhethekileyo zincinci) kwezona zinokwenzeka, kunye neekhowudi ezinkulu kwezincinci.

a e r t
Inokwenzeka 0,3 0,3 0,2 0,2
Ikhowudi yokubini 0 10 110 1110

Sicinezela umlambo, sicinga ukuba siya kugqiba ukuchitha ii-bits ezi-8 kumlinganiswa ngamnye. Ngaphandle koxinzelelo, amasuntswana angama-24 ayakufuneka ngomlinganiswa ngamnye. Ukuba ubuyisela umlinganiswa ngamnye ngekhowudi yakhe, ufumana ukonga!

Inyathelo lokuqala kukufaka ikhowudi umlinganiswa e, elilingana no 10, kunye nomsebenzi wesibini ngu a, eyongezwe (hayi ngendlela yezibalo): [10][0], kwaye ekugqibeleni umlinganiswa wesithathu t, eyenza i-bitstream yethu yokugqibela ecinezelweyo ilingane no [10][0][1110] okanye 1001110, efuna iibhithi ezi-7 kuphela (isithuba esiphindwe ngama-3,4 kunesokuqala).

Nceda uqaphele ukuba ikhowudi nganye kufuneka ibe yikhowudi eyodwa enezimaphambili. Huffman algorithm iya kukunceda ufumane la manani. Nangona le ndlela ingenaziphene, kukho iicodec zevidiyo ezisabonelela ngale ndlela ye-algorithmic yoxinzelelo.

Zombini i-encoder kunye nedekhowuda kufuneka zibe nofikelelo kwitafile yesimboli ngeekhowudi zazo zokubini. Ngoko ke, kuyimfuneko ukuthumela itafile njengegalelo.

Ikhowudi ye-arithmetic

Masithi sinothotho lwabalinganiswa: a, e, r, s ΠΈ t, kwaye ukuba nokwenzeka kwazo kubonisiwe kolu luhlu.

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

Sisebenzisa le theyibhile, siya kwakha uluhlu oluqulathe bonke abasebenzi abanokubakho, abamiswe ngelona nani likhulu.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ngoku makhe sidibanise umjelo wabalinganiswa abathathu: Badle.

Okokuqala khetha unobumba wokuqala e, ephantsi kwe-0,3 ukuya kwi-0,6 (ingabandakanyi). Sithatha le subrange kwaye sikwahlulahlule kwakhona kwimilinganiselo efanayo njengangaphambili, kodwa kolu luhlu olutsha.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Masiqhubeke nekhowudi umsinga wethu Badle. Ngoku thatha umlinganiswa wesibini a, ekuluhlu olutsha ukusuka ku-0,3 ukuya ku-0,39, kwaye emva koko sithathe umlinganiswa wethu wokugqibela t kunye nokuphinda inkqubo efanayo kwakhona, sifumana i-sub-range yokugqibela ukusuka kwi-0,354 ukuya kwi-0,372.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Sidinga nje ukukhetha inombolo kwinqanaba lokugqibela ukusuka kwi-0,354 ukuya kwi-0,372. Masikhethe u-0,36 (kodwa ungakhetha naliphi na elinye inani kolu luhlu). Kuphela ngale nombolo siya kukwazi ukubuyisela umsinga wethu wokuqala. Ingathi sizoba umgca phakathi koluhlu ukuze sifake iikhowudi kumsinga wethu.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Umsebenzi obuyela umva (oko kukuthi, ukuguqula iikhowudi) ilula nje: ngenombolo yethu 0,36 kunye noluhlu lwethu lokuqala, sinokuqhuba inkqubo efanayo. Kodwa ngoku, sisebenzisa eli nani, sichonga umsinga ofakwe ngekhowudi usebenzisa eli nani.

Ngoluhlu lokuqala, siqaphela ukuba inani lethu lihambelana nesilayi, ngoko ke lo ngumlinganiswa wethu wokuqala. Ngoku sahlulahlula kwakhona olu luhlu ngokulandela inkqubo efanayo nangaphambili. Apha ungabona ukuba i-0,36 ihambelana nesimboli a, kwaye emva kokuphinda inkqubo safika kumlinganiswa wokugqibela t (ukwenza umjelo wethu wokuqala onekhowudi Badle).

Zombini i-encoder kunye ne-decoder kufuneka ibe netafile yesimboli enokwenzeka, ngoko ke kuyimfuneko ukuyithumela kwidatha yegalelo ngokunjalo.

Intle kakhulu, akunjalo? Nabani na oze nesi sisombululo wayekrelekrele kakhulu. Ezinye iikhodekhi zevidiyo zisebenzisa obu buchule (okanye ubuncinci bunikezela njengokhetho).

Umbono kukucinezela ngokungenalahleko umjelo omncinci owenziweyo. Ngokuqinisekileyo eli nqaku lilahlekile iitoni zeenkcukacha, izizathu, ukurhweba, njl. Kodwa ukuba ungumphuhlisi, kuya kufuneka wazi ngakumbi. Iikhowudi ezintsha zama ukusebenzisa i-encoding algorithms ezahlukeneyo ezifana I-ANS.

Inyathelo lesi-6 - ifomathi ye-bitstream

Emva kokwenza konke oku, konke okuseleyo kukukhupha izakhelo ezicinezelweyo kumxholo wamanyathelo awenziweyo. Idikhowuda kufuneka yaziswe ngokucacileyo ngezigqibo ezenziwe ngumfaki-khowudi. Idikhowuda kufuneka ibonelelwe ngalo lonke ulwazi oluyimfuneko: ubunzulu bebhithi, indawo yombala, isisombululo, ulwazi oluqikelelweyo (iivektha ezishukumayo, uqikelelo lwe-INTER), iprofayili, inqanaba, ireyithi yesakhelo, uhlobo lwesakhelo, inombolo yesakhelo nokunye okuninzi.

Siza kujonga ngokukhawuleza kwi-bitstream H.264. Inyathelo lethu lokuqala kukudala i-H.264 bitstream encinci (i-FFmpeg ngokungagqibekanga yongeza zonke iinketho zokufaka iikhowudi ezifana SEI NAL - siza kufumanisa ukuba yintoni na phambili). Singakwenza oku sisebenzisa eyethu indawo yokugcina kunye neFFmpeg.

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

Lo myalelo uzakuvelisa bitstream ekrwada H.264 ngesakhelo esinye, isisombululo se-64Γ—64, esinendawo yombala YUV420. Kule meko, umfanekiso olandelayo usetyenziswa njengesakhelo.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

H.264 bitstream

Umgangatho aVc (H.264) igqiba ukuba ulwazi luya kuthunyelwa kwii-macroframes (kwingqiqo yenethiwekhi), ebizwa nal (eli linqanaba lokutsalwa kwenethiwekhi). Eyona njongo iphambili ye-NAL kukubonelela ngevidiyo "elungele iwebhu". Lo mgangatho kufuneka usebenze kwiiTV (ezisekelwe kwi-stream), i-Intanethi (i-packet-based).

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Kukho isiphawuli songqamaniso lokuchaza imida yezinto ze-NAL. Umqondiso ngamnye wongqamaniso unexabiso 0x00 0x00 0x01, ngaphandle kweyokuqala, elingana no 0x00 0x00 0x00 0x01. Ukuba siqalisa hexdump kwi-bitstream ye-H.264 eyenziwe, sichonga ubuncinane iipateni ezintathu ze-NAL ekuqaleni kwefayile.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Njengoko kuchaziwe, i-decoder kufuneka yazi kuphela idatha yomfanekiso, kodwa kunye neenkcukacha zevidiyo, isakhelo, imibala, iiparamitha ezisetyenzisiweyo, kunye nokunye okuninzi. Ibhayithi yokuqala yeNAL nganye ichaza udidi lwayo kunye nohlobo.

NAL uhlobo lokuchonga inkcazelo
0 Uhlobo olungaziwayo
1 Iqhekeza lemifanekiso ekhowudiweyo ngaphandle kwe-IDR
2 Icandelo ledatha yesilayi enekhowudi A
3 Icandelo ledatha yesilayi enekhowudi B
4 Icandelo ledatha yesilayi enekhowudi C
5 Iqhekeza le-IDR ekhowudiweyo yomfanekiso we-IDR
6 Ulwazi oluninzi malunga nolwandiso lwe-SEI
7 Iseti yeParameter yolandelelwano lwe-SPS
8 Iseti yeeparamitha zomfanekiso wePPS
9 Isahluli sokufikelela
10 Ukuphela kolandelelwano
11 Isiphelo somsonto
... ...

Ngokuqhelekileyo i-NAL yokuqala ye-bitstream yi SPS. Olu hlobo lwe-NAL lunoxanduva lokwazisa malunga neenguqu eziqhelekileyo zokukhowuda ezifana neprofayili, inqanaba, isisombululo, njl.

Ukuba sitsiba isiphawuli sokuqala songqamaniso, singenza ikhowudi yebhayithi yokuqala ukufumana ukuba loluphi uhlobo lweNAL lokuqala.

Umzekelo, i-byte yokuqala emva kophawu lokuvumelanisa 01100111, apho intwana yokuqala (0) isentsimini forbidden_zero_bit. Amasuntswana ama-2 alandelayo (11) isixelela ngentsimi nal_ref_idc, ebonisa ukuba le NAL ngummandla wesalathiso okanye hayi. Kwaye i-5 bits eseleyo (00111) isixelela ngentsimi uhlobo_lweyunithi_esisiseko, kulo mzekelo yi SPS block (7) NAL.

Ibhayithi yesibini (bhinari=01100100, hex=0x64, dec=100) kwi-SPS NAL yintsimi iprofayile_idc, ebonisa iprofayile esetyenziswe ngumfaki khowudi. Kule meko, iprofayili ephakamileyo encinci yayisetyenzisiweyo (oko kukuthi, iphrofayili ephezulu ngaphandle kwenkxaso ye-bidirectional B-segment).

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ukuba ujonga iinkcukacha ze-bitstream H.264 ye-SPS NAL, siya kufumana amaxabiso amaninzi egama lepharamitha, udidi kunye nenkcazo. Umzekelo, makhe sijonge emasimini pic_width_in_mbs_minus_1 ΠΈ pic_ubude_kwimephu_iiyunithi_thabatha_1.

Igama lepharamitha udidi inkcazelo
pic_width_in_mbs_minus_1 0 ue(v)
pic_ubude_kwimephu_iiyunithi_thabatha_1 0 ue(v)

Ukuba senza imisebenzi ethile yemathematika ngamaxabiso ale mimandla, siya kufumana isisombululo. Omnye unokumela i-1920 x 1080 usebenzisa pic_width_in_mbs_minus_1 ngexabiso le-119 ((119 + 1) * macroblock_size = 120 * 16 = 1920). Kwakhona, ukonga indawo, endaweni yokufaka iikhowudi ngowe-1920, siye sayenza ngo-119.

Ukuba siyaqhubeka nokujonga ividiyo yethu eyenziweyo kwimo yokubini (umzekelo: xxd -b -c 11 v/minimal_yuv420.h264), ngoko ungaya kwi-NAL yokugqibela, eyisakhelo ngokwaso.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Apha sibona ixabiso layo lokuqala le-6 byte: 01100101 10001000 10000100 00000000 00100001 11111111. Kuba i-byte yokuqala isaziwa ngokubonisa uhlobo lwe-NAL, kulo mzekelo (00101) liqhekeza le-IDR (5), kwaye ke ungayiphonononga ngokubhekele phaya:

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ukusebenzisa ulwazi olucacileyo, kuyakwenzeka ukucacisa uhlobo lweqhekeza (isilayi_uhlobo) kunye nenombolo yesakhelo (Inombolo_yesakhelo) phakathi kweminye imimandla ebalulekileyo.

Ukufumana amaxabiso eminye imihlaba (ue(v), me(v), se(v) okanye te(v)), kufuneka sigqibe isiqwenga sisebenzisa idikhowuda ekhethekileyo esekwe kuyo ikhowudi Golomb exponential. Le ndlela isebenza kakuhle kakhulu ekufakweni kweekhowudi kumaxabiso aguquguqukayo, ngakumbi xa kukho amaxabiso angagqibekanga amaninzi.

Iimpawu zentsulungeko isilayi_uhlobo ΠΈ Inombolo_yesakhelo yale vidiyo yi-7 (I-fragment) kunye ne-0 (isakhelo sokuqala).

Umjelo omncinci unokucingelwa njengeprothokholi. Ukuba ufuna ukwazi ngakumbi malunga ne-bitstream, kuya kufuneka ubhekisele kwinkcazo ITU H.264. Nanku umzobo omkhulu obonisa ukuba iphi idatha yomfanekiso (I-YUV kwifom ecinezelweyo).

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ezinye bitstreams zinokujongwa, ezifana VP9, H.265 (HEVC) okanye eyona bitstream yethu entsha AV1. Ngaba zonke ziyefana? Hayi, kodwa xa uqonda ubuncinane enye, kulula kakhulu ukuqonda okuseleyo.

Uyafuna ukuziqhelanisa? Phonononga H.264 bitstream

Unokwenza ividiyo yesakhelo esinye kwaye usebenzise iMediaInfo ukujonga i-bitstream H.264. Ngapha koko, akukho nto ikuthintelayo ukuba ujonge nakwikhowudi yomthombo ehlalutya umjelo omncinci H.264 (aVc).

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ukuziqhelanisa, ungasebenzisa i-Intel Video Pro Analyzer (ngaba sele nditshilo ukuba inkqubo ihlawulwe, kodwa kukho inguqulo yesilingo samahhala kunye nomda wezakhelo ezili-10?).

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

isishwankathelo

Qaphela ukuba iicodec ezininzi zale mihla zisebenzisa imodeli efanayo nesisandula kufunda ngayo. Apha, makhe sijonge kumzobo webhloko wekhodekhi yevidiyo Thor. Iqulethe onke amanyathelo esidlule kuwo. Inqaku elipheleleyo lale post kukunika ubuncinci ukuqonda okungcono kwezinto ezintsha kunye namaxwebhu kule ndawo.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Ngaphambili, kubalwa ukuba i-139 GB yendawo yediski iya kufuneka ukuba igcine ifayile yevidiyo ehlala iyure enye kumgangatho we-720p kunye ne-30 fps. Ukuba usebenzisa iindlela ekuxoxwe ngazo kweli nqaku (i-inter-frame kunye noqikelelo lwangaphakathi, inguqu, ubungakanani, ikhowudi ye-entropy, njl.njl.), ke unokufezekisa (ngokusekwe kwinto yokuba sichitha i-0,031 bits ngepixel), ividiyo umgangatho owanelisayo, uhlala kuphela 367,82 MB, hayi 139 GB yememori.

I-H.265 ifikelela njani kumlinganiselo woxinzelelo olungcono kune-H.264?

Ngoku siyazi ngakumbi malunga nendlela ii-codecs ezisebenza ngayo, kulula ukuqonda ukuba ii-codecs ezintsha zinokuzisa njani izigqibo eziphezulu ngamasuntswana ambalwa.

Ukuba siyathelekisa aVc ΠΈ HEVC, kufanelekile ukukhumbula ukuba oku kusoloko kukhetha phakathi komthwalo omkhulu we-CPU kunye nomlinganiselo woxinzelelo.

HEVC inokhetho oluninzi lwecandelo (kunye necandelwana) kune aVc, ngaphezulu koqikelelo lwangaphakathi, uphuculo lwekhowudi ye-entropy, kunye nokunye. Lonke olu phuculo lwenziwe H.265 ekwazi ukucinezela 50% ngaphezulu H.264.

Isebenza njani ikhowudi yevidiyo? Icandelo 2. Yintoni, kutheni, njani

Inxalenye yokuqala: Iziseko zokusebenza ngevidiyo kunye nemifanekiso

umthombo: www.habr.com

Yongeza izimvo