Si funksionon kodeku video. Pjesa 1. Bazat

Pjesa e dytë: Parimet e funksionimit të videokodekëve

Cdo pamje raster mund të paraqitet si një matricë dy-dimensionalë . Kur flasim për ngjyrat, ideja mund të zhvillohet duke shqyrtuar pamjen sinjë matricë tre-dimensionalë , ku dimensionet shtesë përdoren për të ruajtur të dhëna për secilën nga ngjyrat.Nëse e shqyrtojmë ngjyrën përfundimtare si një kombinim të ngjyrave kryesore (e kuqe, e gjelbër dhe e azul), në matricën tonë tre-dimensionalë përcaktojmë tre plane: e para për ngjyrën e kuqe, e dyta për të gjelbrën dhe e fundit për të azulën.

Do ta quajmë secilën pikë në këtë matricë piksel (elementi i pamjes). Secili piksel përmban informacion mbi intensitetin (zakonisht në formën e një vlerë numerike) të secilës ngjyrë. Për shembull,
Si funksionon kodeku video. Pjesa 1. Bazat
një piksel i kuq do të thotë që në të ka 0 ngjyrë të gjelbër, 0 ngjyrë të azul dhe maksimumin e ngjyrës së kuqe. Një piksel me ngjyrë rozë mund të formohet duke përdorur një kombinim të tre ngjyrave. Duke përdorur diapazonin numerik nga 0 në 255, një piksel rozë përcaktohet si E kuqe = 255 E gjelbër = 192, E azul = 203 dhe Artikulli është publikuar me mbështetje nga kompania EDISON..

Si funksionon kodeku video. Pjesa 1. Bazat

Ne zhvillojmë

aplikacione për mbikëqyrjen video, video streaming video e regjistruar në sallën e kirurgjisë, si dhe merremi me Mënyra alternative për kodimin e imazheve me ngjyra.

Për të përfaqësuar ngjyrat nga të cilat përbëhet pamja, ka shumë modele të tjera. Për shembull, mund të përdorim një paletë indeksuese, ku kërkohet vetëm një bajt për të përfaqësuar secilin piksel, në vend të treve që kërkohen për modelin RGB. Në një model të tillë, mund të përdorim një matricë 2D në vend të një matrice 3D për të përfaqësuar çdo ngjyrë. Kjo kursen hapësirën memorie, por ofron një gamë më të vogël ngjyrash.

RGB

Si funksionon kodeku video. Pjesa 1. Bazat

Për shembull, shikoni imazhin më poshtë. Një fytyrë është plotësisht e ngjyrosur. Të tjerat janë planet e kuqe, të gjelbra dhe të azul (intensiteti përkatës i ngjyrave është treguar në nuancat e gri).

Shohim se nuancat e kuqe nĂ« origjinĂ« do tĂ« jenĂ« nĂ« tĂ« njĂ«jtat vende ku vĂ«rehen pjesĂ«t mĂ« tĂ« ndritshme tĂ« fytyrĂ«s sĂ« dytĂ«. NdĂ«rsa kontributi i ngjyrĂ«s sĂ« azulĂ« zakonisht mund tĂ« shihet vetĂ«m nĂ« sytĂ« e Mario (fytyra e fundit) dhe elementĂ«t e veshjeve tĂ« tij. Vini re se ku tĂ« tri planet ngjyrĂ«s kontribuojnĂ« mĂ« pak (pjesĂ«t mĂ« tĂ« errĂ«ta tĂ« imazheve) — kĂ«to janĂ« mustaqet e Mario.

Si funksionon kodeku video. Pjesa 1. Bazat

VĂ«rejtim se nuancat e kuqe nĂ« origjinal do tĂ« jenĂ« nĂ« tĂ« njĂ«jtat vende ku vĂ«rehen pjesĂ«t mĂ« tĂ« ndritshme tĂ« tĂ« dytit. NdĂ«rsa kontributi i ngjyrĂ«s blu mund tĂ« shihet kryesisht vetĂ«m nĂ« sytĂ« e Mario (fytyra e fundit) dhe elementet e veshjeve tĂ« tij. Kujdesi pĂ«r vendin ku tre planeshngjyrash kontribuojnĂ« mĂ« pak (pjesĂ«t mĂ« tĂ« errĂ«ta tĂ« imazheve) — Ă«shtĂ« nĂ« mustakĂ«t e Mario.

PĂ«r tĂ« ruajtur intensitetin e çdo ngjyre kĂ«rkohet njĂ« sasi e caktuar bitĂ«sh – kjo sasi quhet thellĂ«sia e bitit. Le tĂ« themi se shpenzohen 8 bit (duke e marrĂ« nga vlera nga 0 nĂ« 255) pĂ«r njĂ« plan tĂ« vetĂ«m ngjyre. AtĂ«herĂ« kemi njĂ« thellĂ«si ngjyrash prej 24 bitĂ«sh (8 bit * 3 plane R/G/B).

NjĂ« tjetĂ«r pronĂ« e imazhit Ă«shtĂ« rezolucioni, i cili pĂ«rfaqĂ«son numrin e pikselĂ«ve nĂ« njĂ« dimension. Shpesh shĂ«nohet si gjerĂ«si × lartĂ«si, siç ilustrohet mĂ« poshtĂ« nĂ« shembullin e imazhit 4 me 4.
Si funksionon kodeku video. Pjesa 1. Bazat

Një tjetër pronë, me të cilën kemi të bëjmë gjatë punës me imazhe/video është raporti i aspektit, që përshkruan marrëdhënien proporcionale standarde mes gjerësi dhe lartësi të imazhit ose pikselëve.

Kur thuhet se njĂ« film ose imazh ka madhĂ«sinĂ« 16 me 9, zakonisht nĂ«nkuptohet raporti i aspektit tĂ« ekranit (DAR — nga Raporti i Aspektit tĂ« Ekranit). MegjithatĂ« ndonjĂ«herĂ« mund tĂ« ketĂ« forma tĂ« ndryshme pikselĂ«sh individualĂ« – nĂ« kĂ«tĂ« rast flitet pĂ«r raportin e pikselĂ«ve (PAR — nga Raporti i Aspektit tĂ« PikselĂ«ve).

Si funksionon kodeku video. Pjesa 1. Bazat

Si funksionon kodeku video. Pjesa 1. Bazat

Këshillë për shtëpiaket: DVD përputhet me DAR 4 me 3

Edhe pse zgjidhja reale e DVD-sĂ« Ă«shtĂ« 704×480, ajo ruan raportin e sipĂ«rfaqes 4:3, pasi PAR ka vlerĂ«n 10:11 (704×10 / 480×11).

Dhe, nĂ« fund, mund tĂ« pĂ«rcaktojmĂ« video si njĂ« sekvencĂ« prej n kadrash pĂ«r njĂ« periudhĂ« kohĂ«s, e cila mund tĂ« merret si njĂ« dimension shtesĂ«. AtĂ«herĂ« – kjo Ă«shtĂ« frekuenca e kadrave ose numri i kadrave pĂ«r sekondĂ« ( n FPSKadrat pĂ«r SekondĂ« — nga Numri i bitĂ«ve pĂ«r sekondĂ« qĂ« kĂ«rkohet pĂ«r tĂ« shfaqur video Ă«shtĂ«).

Si funksionon kodeku video. Pjesa 1. Bazat

shpejtĂ«sia e transmetimit bit rate — bit rate = gjerĂ«si * lartĂ«si * thellĂ«si bitĂ«sh * frekuenca e kadrave.

PĂ«r shembull, pĂ«r video me 30 kadrash nĂ« sekondĂ«, 24 bitĂ« pĂ«r piksel, me rezolucion 480×240, do tĂ« kĂ«rkohen 82,944,000 bit pĂ«r sekondĂ« ose 82,944 Mbit/s (30x480x240x24) – por kjo Ă«shtĂ« nĂ«se nuk pĂ«rdoren ndonjĂ« metodĂ« kompresimi.

PĂ«r shembull, pĂ«r njĂ« video me 30 kadra nĂ« sekondĂ«, 24 bit pĂ«r pixel, me njĂ« rezolutĂ« 480×240 do tĂ« nevojiten 82,944,000 bit nĂ« sekondĂ« ose 82,944 Mbit/s (30x480x240x24) — por kjo Ă«shtĂ« nĂ«se nuk pĂ«rdoren ndonjĂ« nga metodologjitĂ« e kompresimit.

Ă«shtĂ« pothuajse konstante , atĂ«herĂ« quhetshpejtĂ«si konstante transmetimi CBR (shpejtĂ«si konstante bitĂ«sh — nga ). Por gjithashtu mund tĂ« varirojĂ«, nĂ« kĂ«tĂ« rast quhetshpejtĂ«si variabile transmetimi VBR (shpejtĂ«si variabile bitĂ«sh — nga Ky grafikon tregon njĂ« VBR tĂ« kufizuar, kur nuk shpenzohen shumĂ« bitĂ« nĂ« rastin e njĂ« kadri plotĂ«sisht tĂ« errĂ«t.).

Fillimisht inxhinierët zhvilluan një metodë për të dyfishuar frekuencën e perceptuar të kadrave të video ekranit pa përdorur bandë shtesë. Ky mënyrë njihet si

Si funksionon kodeku video. Pjesa 1. Bazat

video me ndërprerje video e ndërprerë; në thelb, ai dërgon gjysmën e ekranit në "fotografinë" e parë, dhe gjysmën tjetër në "fotografinë" e ardhshme.

Aktualisht, vizualizimi i skenave kryesisht ndodh duke përdorur teknologjinë e skanimit progresiv. Kjo është një mënyrë për të shfaqur, ruajtur ose transmetuar imazhe në lëvizje, ku të gjitha linjat e çdo fotogrami vizatohen rradhazi.

Si funksionon kodeku video. Pjesa 1. Bazat

E kështu! Tani dimë si paraqitet imazhi në formë digjitale, si janë strukturuar ngjyrat e tij, sa bit në sekondë shpenzojmë për të treguar video, nëse shpejtësia e transmetimit është e qëndrueshme (CBR) ose variabile (VBR). Jemi njoftuar me rezolutën e caktuar duke përdorur frekuencën e caktuar të fotogramëve, si dhe me shumë terma të tjerë, të tillë si video me skanimin fushor, PAR dhe disa të tjera.

Eliminimi i tepricës

Dihet se video pa kompresim nuk mund të përdoret normalisht. Një video orësore me rezolutë 720p dhe frekuencë 30 fotogramë në sekondë do të zinte 278 GB. Arrijmë në këtë vlerë duke shumëzuar 1280 x 720 x 24 x 30 x 3600 (gjerësia, altura, bitët për piksel, FPS dhe koha në sekonda).

Përdorimi algoritme kompresimi pa humbje, si DEFLATE (e përdorur në PKZIP, Gzip dhe PNG), nuk do të japë një tkurrje të mjaftueshme të shpejtësisë së nevojshme të transmetimit. Duhet të kërkojmë mënyra të tjera për kompresimin e videos.

Për këtë, mund të përdorim veçoritë e shikimit tonë. Ne i dallojmë më mirë ndriçimin se sa ngjyrat. Videoja është një grup i imazheve të vazhdueshme, që ripërsëriten me kalimin e kohës. Ndryshimet midis fotograve fqinj të një skene janë të vogla. Përveç kësaj, çdo fotogram përmban shumë zona, që përdorin të njëjtën (ose ngjyrë të ngjashme).

Ngjyra, ndriçimi dhe sytë tanë

Sytë tanë janë më të ndjeshëm ndaj ndriçimit sesa ndaj ngjyrës. Mund të verifikoni këtë vetë, duke e parë këtë imazh.

Si funksionon kodeku video. Pjesa 1. Bazat

NĂ«se nuk e shihni se nĂ« gjysmĂ«n e majtĂ« tĂ« imazhit ngjyrat e katrorĂ«ve A dhe B nĂ« tĂ« vĂ«rtetĂ« janĂ« tĂ« njĂ«jta, atĂ«herĂ« Ă«shtĂ« normale. Truri ynĂ« na bĂ«n tĂ« pĂ«rqendrohemi mĂ« shumĂ« te ndriçimi sesa te ngjyra. Nga ana e djathtĂ«, midis katrorĂ«ve tĂ« shĂ«nuar ka njĂ« lidhje tĂ« njĂ«jtĂ« ngjyre — kĂ«shtu qĂ« ne (dmth. truri ynĂ«) lehtĂ« e pĂ«rcaktojmĂ« se, nĂ« tĂ« vĂ«rtetĂ«, atje Ă«shtĂ« tĂ« njĂ«jtĂ«n ngjyrĂ«.

Le të shikojmë (thjesht) se si funksionojnë sytë tanë. Syri është një organ kompleks, i përbërë nga shumë pjesë. Megjithatë, ajo që na intereson më shumë janë konihet dhe shufrat. Syri përmban rreth 120 milion shufra dhe 6 milion koni.

Të shqyrtojmë perceptimin e ngjyrës dhe ndriçimit si funksione të veçanta të caktuara nga pjesët e caktuara të syrit (në të vërtetë, gjërat janë pak më të komplikuara, por ne do ta thjeshtojmë). Qelizat e shufrave, kryesisht, janë përgjegjëse për ndriçimin, ndërsa qelizat e konihet janë përgjegjëse për ngjyrën. Konihet ndahen në tre tipe, sipas pigmentit që përmbajnë: S-koni (ngjyrë e kaltër), M-koni (ngjyrë e gjelbër) dhe L-koni (ngjyrë e kuqe).

Duke pasur parasysh se ne kemi shumë më shumë shufra (ndriçim) sesa koni (ngjyra), mund të arrijmë në përfundimin se ne jemi më në gjendje të dallojmë kalimet midis errësirës dhe dritës, sesa ngjyrat.

Si funksionon kodeku video. Pjesa 1. Bazat

Funksionet e ndjeshmërisë ndaj kontrastit

Kërkuesit në psikologjinë eksperimentale dhe shumë fusha të tjera kanë zhvilluar shumë teori mbi shikimin e njeriut. Njëra prej tyre quhet funksionet e ndjeshmërisë ndaj kontrastit. Ato lidhen me ndriçimin hapësinor dhe temporal. Në rrafsh të shkurtra, bëhet fjalë për numrin e ndryshimeve që duhen bërë përpara se vëzhguesi t'i vërejë ato. Vini re shumësin e fjalës 'funksion'. Kjo lidhet me faktin se mund të masim funksionet e ndjeshmërisë ndaj kontrastit jo vetëm për një imazh bardh e zi, por edhe për një imazh me ngjyra. Rezultatet e këtyre eksperimenteve tregojnë se në shumicën e rasteve sytë tanë janë më të ndjeshëm ndaj ndriçimit sesa ndaj ngjyrës.

Duke ditur se jemi më të ndjeshëm ndaj ndriçimit të imazhit, mund të përpiqemi ta përdorim këtë fakt.

Modeloja e ngjyrës

Ne paksa e kuptuam se si funksionojmë me imazhe me ngjyra, duke përdorur skemën RGB. Ka edhe modele të tjera. Ekziston një model që ndan ndriçimin nga ngjyra dhe ai njihet si YCbCr. Për pazar, ka edhe modele të tjera që bëjnë ndarjen e ngjashme, por ne do të shqyrtojmë vetëm këtë.

NĂ« kĂ«tĂ« model ngjyrash Y — Ă«shtĂ« paraqitja e ndriçimit, si dhe pĂ«rdoren dy kanale ngjyrash: Cb (blu e ngopur) dhe Cr (e kuqe e ngopur). YCbCr mund tĂ« marrĂ«het nga RGB, ashtu siç Ă«shtĂ« e mundur tĂ« bĂ«het edhe transformimi i kundĂ«rt. Duke pĂ«rdorur kĂ«tĂ« model, ne mund tĂ« krijojmĂ« imazhe nĂ« ngjyra tĂ« plota, siç e shohim mĂ« poshtĂ«:

Si funksionon kodeku video. Pjesa 1. Bazat

Transformimi ndërmjet YCbCr dhe RGB

Disa mund të kundërshtojnë: si është e mundur të marrim të gjitha ngjyrat, nëse nuk përdorim të gjelbrën?

Për të përgjigjur në këtë pyetje, do të transformojmë RGB në YCbCr. Do të përdorim koeficientët e pranuar në standardin BT.601, i cili është rekomanduar nga njësi e ITU-R. Kjo njësi përcakton standardet për video digjitale. Për shembull: çfarë është 4K? Si duhet të jetë frekuenca e kadrave, rezolucioni, modeli i ngjyrave?

Së pari, do të llogarisim ndriçimin. Do të përdorim konstantet e propozuara nga ITU dhe do të zëvendësojmë vlerat RGB.

Y = 0.299R + 0.587G + 0.114B

Pasi të kemi marrë ndriçimin, do të ndalim ngjyrën blu dhe të kuqe:

Cb = 0.564(B — Y)

Cr = 0.713(R — Y)

Dhe ne gjithashtu mund të transformojmë përsëri dhe madje të marrim të gjelbrën me ndihmën e YCbCr:

R = Y + 1.402Cr

B = Y + 1.772Cb

G = Y — 0.344Cb — 0.714Cr

Në përgjithësi, ndërfaqet (monitorët, televizorët, ekranet etj.) përdorin vetëm modelin RGB. Por ky model mund të organizohet në mënyra të ndryshme:

Si funksionon kodeku video. Pjesa 1. Bazat

Nënmostrimi i ngjyrave

Me një imazh të paraqitur si një kombinim të ndriçimit dhe ngjyrosjes, ne mund të përdorim ndjeshmërinë më të lartë të sistemit tonë vizual ndaj ndriçimit sesa ndaj ngjyrës, nëse hiqnim informacionin selektivisht. Subdiskretizimi i ngjyrave është një metodë kodimi e imazheve, duke përdorur një rezolucion më të ulët për ngjyrosjen se sa për ndriçimin.

Si funksionon kodeku video. Pjesa 1. Bazat

Sa e lejuar është të zvogëlohet rezolucioni i ngjyrave?! Eksplorohet se tani janë disa skema që përshkruajnë si të trajtojmë rezolucionin dhe bashkimin (Ngjyra përfundimtare = Y + Cb + Cr).

KĂ«to skema janĂ« tĂ« njohura si sistemet e subdiskretizimit dhe shprehen nĂ« formĂ«n e njĂ« raporti 3:1 — a:x:y, i cili pĂ«rcakton numrin e mostrave tĂ« sinjaleve tĂ« ndriçimit dhe ngjyrĂ«s.

a — standard i mostrĂ«s horizontale (zakonisht barazohet me 4)
x — numri i mostrave tĂ« ngjyrosjes nĂ« rreshtin e parĂ« tĂ« pikselĂ«ve (rezolucioni horizontal nĂ« lidhje me a)
y — numri i ndryshimeve tĂ« mostrave tĂ« ngjyrosjes midis rreshtit tĂ« parĂ« dhe atij tĂ« dytĂ« tĂ« pikselĂ«ve.

Përjashtimi është 4:1:0, duke siguruar një mostrë ngjyrosjeje në secilin bllok të rezolucionit të ndriçimit 4 me 4.

Skemat e përgjithshme të përdorura në kodekët modernë:

  • 4:4:4 (pa subdiskretizim)
  • 4:2:2
  • 4:1:1
  • 4:2:0
  • 4:1:0
  • 3:1:1

YCbCr 4:2:0 — shembulli i bashkimit

Kjo është një fragment i bashkuar i imazhit duke përdorur YCbCr 4:2:0. Vini re se ne harxhojmë vetëm 12 bit për pixel.

Si funksionon kodeku video. Pjesa 1. Bazat

Ja si duket e njëjta imazh, i koduar me llojet kryesore të nënshkrimit të ngjyrave. Rreshti i parë është YCbCr përfundimtar, rreshti i poshtëm tregon rezolucionin e ngjyrave. Rezultatet janë mjaft të kënaqshme, duke marrë parasysh humbjet e vogla në cilësi.

Si funksionon kodeku video. Pjesa 1. Bazat

Kujtoni se ne numĂ«ruam 278 GB hapĂ«sirĂ« disku pĂ«r tĂ« ruajtur njĂ« skedar video njĂ« orĂ«sh me rezolucion 720p dhe 30 kadra nĂ« sekondĂ«? NĂ«se pĂ«rdorim YCbCr 4:2:0, atĂ«herĂ« ky madhĂ«si do tĂ« zvogĂ«lohet me gjysmĂ« — 139 GB. Akoma jemi larg njĂ« rezultati tĂ« pranueshĂ«m.

Ju mund të merrni histogramin YCbCr me FFmpeg. Në këtë imazh, e kaltra dominon mbi të kuqtë, gjë që duket qartë në histogramin vetë.

Si funksionon kodeku video. Pjesa 1. Bazat

Ngjyra, ndriçimi, gamĂ« ngjyrash — video pĂ«rmbledhĂ«se

Rekomandohet të shihni këtë video të shkëlqyer. Këtu shpjegohet se çfarë është ndriçimi, dhe gjithashtu janë qartësuar të gjitha pikat mbi për ndriçimin dhe ngjyrën.

Luaj videon

Llojet e kadrove

Të vazhdojmë përpara. Le të përpiqemi të eliminojmë redundancën në kohë. Por fillimisht le të përcaktojmë disa terminologji thelbësore. Le të themi se kemi një film me 30 kadra në sekondë, këtu janë katër të parat e tij:

Si funksionon kodeku video. Pjesa 1. Bazat Si funksionon kodeku video. Pjesa 1. Bazat Si funksionon kodeku video. Pjesa 1. Bazat Si funksionon kodeku video. Pjesa 1. Bazat

Ne mund të shohim shumë përsëritje në kadra: për shembull, sfondi blu, i cili nuk ndryshon nga kadri në kadër. Për të zgjidhur këtë problem, ne mund ta klasifikojmë në mënyrë abstrakte si tri lloje kadrovash.

I-kadër (Ingjyrë e përcaktuar)

I-kadër (kadri i pavarur, kadri kyç, kadri i brendshëm) është autonom. Pa marrë parasysh se çfarë duhet vizatuar, I-kadri është esencialisht një fotografi statike. Kadri i parë zakonisht është I-kadër, megjithatë do të shohim rregullisht I-kadra edhe midis kadrove që nuk janë të para.

Si funksionon kodeku video. Pjesa 1. Bazat

P-kadër (Pcadra e parashikuar)

P-kadër (kadri i parashikuar) përfiton nga fakti se pothuajse gjithmonë imazhi aktual mund të riprodhohet duke përdorur kadri i mëparshëm. Për shembull, në kadri të dytë, ndryshimi i vetëm është topi i lëvizur përpara. Ne mund të marrim kadri 2 thjesht duke modifikuar pak kadri 1, vetëm duke përdorur diferencën midis këtyre kadrove. Për të ndërtuar kadri 2, referohemi tek kadri 1 që e paraprin atë.

Si funksionon kodeku video. Pjesa 1. Bazat ← Si funksionon kodeku video. Pjesa 1. Bazat

B-kadër (Bkadër i parashikuar pasive)

Por si ka është lidhja jo vetëm për kadrot e kaluara, por edhe për ato të ardhshme, për të siguruar një kompresim edhe më të mirë?! Kjo, në thelb, është B-kadri (kadra dyanshor).

Si funksionon kodeku video. Pjesa 1. Bazat ← Si funksionon kodeku video. Pjesa 1. Bazat → Si funksionon kodeku video. Pjesa 1. Bazat

Shkarkim i përkohshëm

Këto lloje të kadrove përdoren për të siguruar kompresimin më të mirë. Ne do të shqyrtojmë se si ndodh kjo në seksionin e ardhshëm. Për momentin, vlen të theksohet se I-kadri është më 'kostozy' përsa i përket memory-t, ndërsa P-kadri është dukshëm më i lirë, por opsioni më i dobishëm për video është B-kadri.

Si funksionon kodeku video. Pjesa 1. Bazat

Teoria e tepërt e kohës (parashikimi ndër-kadrov)

Le të shqyrtojmë se çfarë mundësish kemi për të minimizuar përsëritjet në kohë. Ky lloj tepricë do të zgjidhet përmes metodave të parashikimit të ndërsjellë.

Do të përpiqemi të shpenzojmë sa më pak bit për kodimin e sekuencës së kadrove 0 dhe 1.

Si funksionon kodeku video. Pjesa 1. Bazat

Ne mund të realizojmë zbritjen, thjesht zbritim kadron 1 nga kadra 0. Marrim kadron 1, por përdorim diferencën midis tij dhe kadres së mëparshme, duke koduar në fakt vetëm mbetjen që rezulton.

Si funksionon kodeku video. Pjesa 1. Bazat

Por çfarë, nëse ju them se ekziston një metodë edhe më e mirë, e cila përdor edhe më pak bit?! Fillimisht le të ndajmë kadron 0 në një grilë të pastër, të përbërë nga blloqe. Pastaj të përpiqemi të përputhim blloqet nga kadra 0 me kadra 1. Në terma të tjerë, të vlerësojmë lëvizjen midis kadrove.

Nga Wikipedia — kompensimi i lĂ«vizjes me blloqe

Kompensimi me blloqe e ndan kadron aktual nĂ« blloqe qĂ« nuk preken dhe vektori i kompensimit tĂ« lĂ«vizjes tregon prejardhjen e blloqeve (njĂ« keqkuptim i zakonshĂ«m Ă«shtĂ« se kadra e mĂ«parshme ndarĂ« nĂ« blloqe qĂ« nuk preken, dhe vektorĂ«t e kompensimit tĂ« lĂ«vizjes tregojnĂ« se ku shkojnĂ« kĂ«to blloqe. NĂ« tĂ« vĂ«rtetĂ« Ă«shtĂ« e kundĂ«rta — analizohet jo kadra e mĂ«parshme, por ajo e ardhshme, duke zbuluar jo se ku lĂ«vizin blloqet, por nga ku erdhĂ«n ato). Zakonisht, blloqet origjinale mbivendosen nĂ« kadron origjinale. Disa algoritme tĂ« kompresimit tĂ« videos pĂ«rbĂ«jnĂ« kadron aktual nga pjesĂ« tĂ« disa kadrove qĂ« janĂ« transmetuar mĂ« parĂ«.

Si funksionon kodeku video. Pjesa 1. Bazat

Gjatë procesit të vlerësimit, shohim se topi është zhvendosur nga (x=0, y=25) në (x=6, y=26), vlerat x dhe y përcaktojnë drejtimin e lëvizjes. Një hap tjetër që mund të bëjmë për të ruajtur bitët është të kodojmë vetëm ndryshimin e drejtimit të lëvizjes midis pozitat e fundit të bllokut dhe të parashikuarës, kështu që drejtimi përfundimtar i lëvizjes do të jetë (x=6-0=6, y=26-25=1).

Në një situatë reale, ky top do të ishte i ndarë në n blloqe, por kjo nuk e ndryshon thelbin e çështjes.

Objektet nĂ« kadrin lĂ«vizin nĂ« tre dimensione, kĂ«shtu qĂ« kur topi lĂ«viz, ai mund tĂ« duket vizualisht mĂ« i vogĂ«l (ose mĂ« i madh, nĂ«se lĂ«viz drejt spektatorit). ËshtĂ« normale qĂ« tĂ« mos ketĂ« pĂ«rshtatshmĂ«ri tĂ« pĂ«rsosur midis bllokĂ«ve. KĂ«tu Ă«shtĂ« njĂ« pamje e kombinuar e vlerĂ«simit tonĂ« dhe pamjes reale.

Si funksionon kodeku video. Pjesa 1. Bazat

Por shohim se kur aplikojmë vlerësimin e lëvizjes, të dhënat për kodim janë dukshëm më të pakta se kur përdorim një metodë më të thjeshtë të llogaritjes së diferencës midis kadrave.

Si funksionon kodeku video. Pjesa 1. Bazat

Si do të dukej kompensimi i vërtetë i lëvizjes

Kjo metodë aplikohet menjëherë në të gjitha blloqet. Shpesh, topi ynë me lëvizje shpesh do të ndahet menjëherë në disa blloqe.

Si funksionon kodeku video. Pjesa 1. Bazat

Ju mund të eksploroni këto koncepte vetë duke përdorur Jupyter.

Për të parë drejtimet e lëvizjes mund të krijoni një video me parashikimin e jashtëm duke përdorur ffmpeg.

Si funksionon kodeku video. Pjesa 1. Bazat

Mund të shfrytëzoni gjithashtu Intel Video Pro Analyzer (ai është me pagesë, por ka një version provë falas, i cili është i kufizuar vetëm në dhjetë kadrin e parë).

Si funksionon kodeku video. Pjesa 1. Bazat

Shtesat hapësinore (parashikimi i brendshëm)

Nëse analizojmë çdo kadrin në video, do të zbulojmë shumë zona të ndërlidhura.

Si funksionon kodeku video. Pjesa 1. Bazat

Të kalojmë përmes këtij shembulli. Ky skenë përbëhet kryesisht nga ngjyrat blu dhe të bardha.

Si funksionon kodeku video. Pjesa 1. Bazat

Ky është kadrin I. Nuk mund të përdorim kadrin e mëparshëm për parashikimin, por mund ta kompresojmë. Do të kodojmë shënimin e bllokut të kuq. Nëse shohim fqinjët e tij, vërejmë se rreth tij ka disa tendenca ngjyrash.

Si funksionon kodeku video. Pjesa 1. Bazat

Supozonim se ngjyrat në kadrin shtrihen vertikalisht. Do të thotë se ngjyra e pikselëve të panjohur do të përmbajë vlerat e fqinjëve të tij.

Si funksionon kodeku video. Pjesa 1. Bazat

Ky parashikim mund të jetë edhe i gabuar. Pikërisht për këtë arsye duhet të aplikojmë këtë metodë (parashikimi i brendshëm), dhe pastaj të heqim vlerat reale. Kjo do t'na japë një bllok mbetës, që do të rezultojë në një matricë shumë më të kompaktuar në krahasim me origjinalin.

Si funksionon kodeku video. Pjesa 1. Bazat

Nëse dëshironi të praktikoni me parashikimet e brendshme, mund të krijoni një video me makroblloqet dhe parashikimet e tyre duke përdorur ffmpeg. Për të kuptuar kuptimin e secilës ngjyrë blloku, do t'ju duhet të shihni dokumentacionin e ffmpeg.

Si funksionon kodeku video. Pjesa 1. Bazat

Ose mund të përdorni Intel Video Pro Analyzer (siç e përmenda më lart, në versionin e provës falas ka një kufizim për 10 kadrat e parë, por kjo do t'ju mjaftojë fillimisht).

Si funksionon kodeku video. Pjesa 1. Bazat

Pjesa e dytë: Parimet e funksionimit të videokodekëve

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster