Kā darbojas video kodeks? 1. daļa: Pamati

Otrā daļa: Kā darbojas video kodeks

JebkurÅ” rastrs attēls var attēlot formā divdimensiju matrica. Runājot par krāsām, ideju var attÄ«stÄ«t, aplÅ«kojot attēlu kā trÄ«sdimensiju matrica, kurā tiek izmantoti papildu izmēri, lai saglabātu datus par katru krāsu.

Ja mēs uzskatām, ka gala krāsa ir kombinācija no t.s. primārās krāsas (sarkanā, zaļā un zilā), mūsu trīsdimensiju matricā mēs definējam trīs plaknes: pirmo sarkanai, otro zaļai un pēdējo zilai.
Kā darbojas video kodeks? 1. daļa: Pamati
Katru Ŕīs matricas punktu sauksim par pikseļu (attēla elementu). Katrs pikselis satur informāciju par katras krāsas intensitāti (parasti kā skaitlisku vērtÄ«bu). Piemēram, sarkans pikselis nozÄ«mē, ka tajā ir 0 zaļa, 0 zila un maksimāli sarkana. Rozā pikseļi var veidot, izmantojot trÄ«s krāsu kombināciju. Izmantojot ciparu diapazonu no 0 lÄ«dz 255, rozā pikseļi tiek definēti kā Sarkans = 255, Zaļa = 192 Šø Zils = 203.

Kā darbojas video kodeks? 1. daļa: Pamati

Šis raksts tika publicēts ar EDISON atbalstu.

Mēs attÄ«stāmies lietojumprogrammas videonovēroÅ”anai, video straumÄ“Å”anai, un arÄ« mēs esam saderinājuÅ”ies video ierakstÄ«Å”ana Ä·irurÄ£iskajā telpā.

Alternatīvi veidi, kā kodēt krāsu attēlu

Ir daudz citu modeļu krāsu attēloÅ”anai, kas veido attēlu. Piemēram, varat izmantot indeksētu paleti, kurā katram pikselim ir nepiecieÅ”ams tikai viens baits, nevis trÄ«s, kas nepiecieÅ”ami, izmantojot RGB modeli. Šādā modelÄ« katras krāsas attēloÅ”anai ir iespējams izmantot 2D matricu, nevis 3D matricu. Tas ietaupa atmiņu, bet nodroÅ”ina mazāku krāsu gammu.

Kā darbojas video kodeks? 1. daļa: Pamati

RGB

Piemēram, apskatiet Å”o attēlu zemāk. Pirmā seja ir pilnÄ«bā nokrāsota. Pārējās ir sarkanās, zaļās un zilās plaknes (atbilstoÅ”o krāsu intensitātes ir parādÄ«tas pelēktoņos).

Kā darbojas video kodeks? 1. daļa: Pamati

Redzam, ka sarkanās nokrāsas oriÄ£inālā bÅ«s tajās paŔās vietās, kur tiek novērotas spilgtākās otrās sejas daļas. Kamēr zilā ieguldÄ«jumu galvenokārt var redzēt tikai Mario acÄ«s (pēdējā sejā) un viņa apģērba elementos. Ievērojiet, kur visas trÄ«s krāsu plaknes sniedz vismazāk (attēlu tumŔākās daļas) ā€” Mario Å«sas.

Lai saglabātu katras krāsas intensitāti, ir nepiecieÅ”ams noteikts bitu skaits - Å”o daudzumu sauc bitu dziļums. Pieņemsim, ka vienā krāsu plaknē tiek iztērēti 8 biti (pamatojoties uz vērtÄ«bu no 0 lÄ«dz 255). Tad mums ir 24 bitu krāsu dziļums (8 biti * 3 R/G/B plaknes).

Vēl viena attēla Ä«paŔība ir atļauja, kas ir pikseļu skaits vienā dimensijā. Bieži apzÄ«mēts kā platums Ɨ augstums, kā parādÄ«ts tālāk esoÅ”ajā 4 x 4 piemērā.
Kā darbojas video kodeks? 1. daļa: Pamati

Vēl viens Ä«paÅ”ums, ar kuru mēs nodarbojamies, strādājot ar attēliem/video, ir malu attiecÄ«ba, kas apraksta parasto proporcionālo attiecÄ«bu starp attēla vai pikseļa platumu un augstumu.

Kad viņi saka, ka noteikta filma vai attēls ir 16 x 9 izmērā, viņi parasti domā displeja malu attiecÄ«ba (DAR - no plkst Displeja malu attiecÄ«ba). Tomēr dažreiz var bÅ«t dažādas atseviŔķu pikseļu formas - Å”ajā gadÄ«jumā mēs runājam par pikseļu attiecÄ«ba (PAR - no plkst Pikseļu malu attiecÄ«ba).

Kā darbojas video kodeks? 1. daļa: Pamati

Kā darbojas video kodeks? 1. daļa: Pamati

Piezīme saimniecei: DVD atbilst DAR no 4 līdz 3

Lai gan faktiskā DVD izŔķirtspēja ir 704x480, tā joprojām saglabā malu attiecÄ«bu 4:3, jo PAR ir 10:11 (704x10 / 480x11).

Un visbeidzot, mēs varam noteikt Video kā secība n perioda rāmji laika, ko var uzskatīt par papildu dimensiju. A n tad ir kadru ātrums vai kadru skaits sekundē (FPS - no plkst Kadri sekundē).

Kā darbojas video kodeks? 1. daļa: Pamati

Bitu skaits sekundē, kas nepiecieÅ”ams, lai parādÄ«tu video, ir tā pārraides ātrums Sākot no bitu pārraides ātrums.

bitu pārraides ātrums = platums * augstums * bitu dziļums * kadri sekundē

Piemēram, 30 kadri/s, 24 bps, 480 x 240 videoklipam bÅ«tu nepiecieÅ”ami 82,944,000 82,944 30 bps vai 480 240 bps (24 x XNUMX x XNUMX xXNUMX), taču tas notiek, ja netiek izmantota saspieÅ”anas metode.

Ja pārsūtīŔanas ātrums gandrīz nemainīgs, tad to sauc pastāvīgs pārraides ātrums (CBR - no plkst nemainīgs bitu pārraides ātrums). Bet tas var arī atŔķirties, Ŕajā gadījumā to sauc mainīgs datu pārraides ātrums (VBR - no plkst mainīgs bitu pārraides ātrums).

Å is grafiks parāda ierobežotu VBR, kur netiek iztērēts pārāk daudz bitu pilnÄ«gi tumÅ”a kadra gadÄ«jumā.

Kā darbojas video kodeks? 1. daļa: Pamati

Inženieri sākotnēji izstrādāja metodi, lai dubultotu uztverto video displeja kadru ātrumu, neizmantojot papildu joslas platumu. Šī metode ir pazīstama kā interlaced video; Būtībā tas nosūta pusi ekrāna pirmajā "kadrā" un otru pusi nākamajā "kadrā".

PaÅ”laik ainas galvenokārt tiek renderētas, izmantojot progresÄ«vās skenÄ“Å”anas tehnoloÄ£ijas. Tā ir kustÄ«gu attēlu parādÄ«Å”anas, glabāŔanas vai pārraidÄ«Å”anas metode, kurā secÄ«gi tiek uzzÄ«mētas visas katra kadra lÄ«nijas.

Kā darbojas video kodeks? 1. daļa: Pamati

Nu labi! Tagad mēs apzināmies, kā attēls tiek attēlots digitāli, kā tiek sakārtotas tā krāsas, cik bitu sekundē mēs pavadām, lai parādÄ«tu video, ja bitu pārraides ātrums ir nemainÄ«gs (CBR) vai mainÄ«gs (VBR). Mēs zinām par noteiktu izŔķirtspēju, izmantojot noteiktu kadru ātrumu, mēs pazÄ«stam daudzus citus terminus, piemēram, interlaced video, PAR un dažus citus.

AtlaiÅ”anas noņemÅ”ana

Ir zināms, ka video bez saspieÅ”anas nevar normāli izmantot. Stundu garÅ” video ar 720p izŔķirtspēju un 30 kadriem sekundē aizņemtu 278 GB. Mēs iegÅ«stam Å”o vērtÄ«bu, reizinot 1280 x 720 x 24 x 30 x 3600 (platums, augstums, biti pikselÄ«, FPS un laiks sekundēs).

Izmantot bezzudumu saspieÅ”anas algoritmi, piemēram, DEFLATE (izmanto PKZIP, Gzip un PNG), nesamazinās nepiecieÅ”amo joslas platumu pietiekami. Mums ir jāmeklē citi veidi, kā saspiest video.

Lai to izdarÄ«tu, varat izmantot mÅ«su redzējuma iespējas. Mēs labāk spējam atŔķirt spilgtumu nekā krāsu. Videoklips ir secÄ«gu attēlu sērija, kas laika gaitā atkārtojas. Ir nelielas atŔķirÄ«bas starp blakus esoÅ”ajiem vienas un tās paÅ”as ainas kadriem. Turklāt katrā rāmÄ« ir daudz apgabalu, kas izmanto vienu un to paÅ”u (vai lÄ«dzÄ«gu) krāsu.

Krāsa, spilgtums un mūsu acis

MÅ«su acis ir jutÄ«gākas pret spilgtumu nekā krāsu. Par to varat pārliecināties, aplÅ«kojot Å”o attēlu.

Kā darbojas video kodeks? 1. daļa: Pamati

Ja attēla kreisajā pusē to neredzat, kvadrātu krāsas A Šø B patiesÄ«bā ir vienādi, tad tas ir normāli. MÅ«su smadzenes liek mums pievērst lielāku uzmanÄ«bu gaismai un ēnai, nevis krāsai. Labajā pusē starp norādÄ«tajiem kvadrātiem ir tādas paÅ”as krāsas džemperis - tāpēc mēs (t.i., mÅ«su smadzenes) viegli nosakām, ka patiesÄ«bā tie ir vienā krāsā.

ApskatÄ«sim (vienkārŔā veidā), kā darbojas mÅ«su acis. Acs ir sarežģīts orgāns, kas sastāv no daudzām daļām. Tomēr visvairāk mÅ«s interesē čiekuri un stieņi. AcÄ« ir aptuveni 120 miljoni stieņu un 6 miljoni konusu.

Krāsu un spilgtuma uztveri uzskatÄ«sim par atseviŔķu acs daļu atseviŔķām funkcijām (patiesÄ«bā viss ir nedaudz sarežģītāk, bet mēs to vienkārÅ”osim). Stieņu Ŕūnas galvenokārt ir atbildÄ«gas par spilgtumu, savukārt konusa Ŕūnas ir atbildÄ«gas par krāsu. Konusi tiek iedalÄ«ti trÄ«s veidos atkarÄ«bā no tajos esoŔā pigmenta: S-konusi (zils), M-konusi (zaļŔ) un L-konusi (sarkans).

Tā kā mums ir daudz vairāk stieņu (spilgtuma) nekā konusu (krāsa), mēs varam secināt, ka mēs spējam atŔķirt pārejas starp tumÅ”o un gaiÅ”o vairāk nekā krāsas.

Kā darbojas video kodeks? 1. daļa: Pamati

Kontrasta jutības īpaŔības

Eksperimentālās psiholoÄ£ijas un daudzu citu jomu pētnieki ir izstrādājuÅ”i daudzas cilvēka redzes teorijas. Un vienu no tiem sauc kontrasta jutÄ«bas funkcijas. Tie ir saistÄ«ti ar telpisko un laika apgaismojumu. ÄŖsāk sakot, tas ir par to, cik daudz izmaiņu ir nepiecieÅ”ams, pirms novērotājs tās pamana. Ņemiet vērā vārda "funkcija" daudzskaitli. Tas ir saistÄ«ts ar to, ka kontrastjutÄ«bas funkcijas varam izmērÄ«t ne tikai melnbaltiem, bet arÄ« krāsainiem attēliem. Å o eksperimentu rezultāti liecina, ka vairumā gadÄ«jumu mÅ«su acis ir jutÄ«gākas pret spilgtumu, nevis krāsu.

Tā kā mēs zinām, ka esam jutÄ«gāki pret attēla spilgtumu, mēs varam mēģināt izmantot Å”o faktu.

Krāsu modelis

Mēs nedaudz izdomājām, kā strādāt ar krāsu attēliem, izmantojot RGB shēmu. Ir arÄ« citi modeļi. Ir modelis, kas atdala spilgtumu no hroma, un tas ir pazÄ«stams kā YCbCr. Starp citu, ir arÄ« citi modeļi, kas veido lÄ«dzÄ«gu sadalÄ«jumu, taču mēs apsvērsim tikai Å”o.

Å ajā krāsu modelÄ« Y ir spilgtuma attēlojums, kā arÄ« izmanto divus krāsu kanālus: Cb (bagātÄ«gi zils) un Cr (bagātÄ«gi sarkans). YCbCr var iegÅ«t no RGB, un ir iespējama arÄ« apgrieztā konvertÄ“Å”ana. Izmantojot Å”o modeli, mēs varam izveidot pilnkrāsu attēlus, kā redzams tālāk:

Kā darbojas video kodeks? 1. daļa: Pamati

Konvertējiet starp YCbCr un RGB

Kāds iebildīs: kā iespējams iegūt visas krāsas, ja neizmanto zaļo?

Lai atbildētu uz Å”o jautājumu, pārveidosim RGB par YCbCr. Izmantosim standartā pieņemtos koeficientus BT.601, ko ieteica vienÄ«ba ITU-R. Å is iedalÄ«jums nosaka digitālā video standartus. Piemēram: kas ir 4K? Kādam jābÅ«t kadru ātrumam, izŔķirtspējai, krāsu modelim?

Vispirms aprēķināsim spilgtumu. Izmantosim ITU piedāvātās konstantes un aizstāsim RGB vērtības.

Y = 0.299R + 0.587G + 0.114B

Kad esam ieguvuÅ”i spilgtumu, mēs atdalÄ«sim zilo un sarkano krāsu:

Cb = 0.564(B Sākot no Y)

Cr = 0.713(R Sākot no Y)

Un mēs varam arÄ« konvertēt atpakaļ un pat kļūt zaļŔ, izmantojot YCbCr:

R = Y + 1.402Cr

B = Y + 1.772Cb

G = Y - 0.344Cb - 0.714Cr

Parasti displejos (monitori, televizori, ekrāni utt.) tiek izmantots tikai RGB modelis. Bet Å”o modeli var organizēt dažādos veidos:

Kā darbojas video kodeks? 1. daļa: Pamati

Krāsu apakŔizlase

Izmantojot attēlu, kas attēlots kā spilgtuma un krāsainÄ«bas kombinācija, mēs varam izmantot cilvēka vizuālās sistēmas lielāku jutÄ«bu pret spilgtumu, nevis krāsu, selektÄ«vi noņemot informāciju. Krāsu apakÅ”iztverÅ”ana ir attēlu kodÄ“Å”anas metode, izmantojot mazāku krāsu izŔķirtspēju nekā spilgtumam.

Kā darbojas video kodeks? 1. daļa: Pamati

Cik ir pieļaujams samazināt krāsu izŔķirtspēju?! Izrādās, ka jau ir dažas diagrammas, kurās aprakstÄ«ts, kā rÄ«koties ar izŔķirtspēju un sapludināŔanu (Rezultātā iegÅ«tā krāsa = Y + Cb + Cr).

Å Ä«s shēmas ir pazÄ«stamas kā paraugu samazināŔanas sistēmas un ir izteikti kā 3 kārtÄ«ga attiecÄ«ba - a:x:y, kas nosaka spilgtuma un krāsu atŔķirÄ«bas signālu paraugu skaitu.

a ā€” horizontālais paraugu ņemÅ”anas standarts (parasti vienāds ar 4)
x ā€” hroma paraugu skaits pirmajā pikseļu rindā (horizontālā izŔķirtspēja attiecÄ«bā pret a)
y ā€” krāsu paraugu izmaiņu skaits starp pirmo un otro pikseļu rindu.

Izņēmums ir 4:1:0, nodroÅ”inot vienu krāsu paraugu katrā 4 x 4 spilgtuma izŔķirtspējas blokā.

Mūsdienu kodekos izmantotās parastās shēmas:

  • 4:4:4 (bez izlases samazināŔanas)
  • 4:2:2
  • 4:1:1
  • 4:2:0
  • 4:1:0
  • 3:1:1

YCbCr 4:2:0 ā€” saplÅ«Å”anas piemērs

Å eit ir apvienots attēls, izmantojot YCbCr 4:2:0. Ņemiet vērā, ka mēs tērējam tikai 12 bitus uz vienu pikseļu.

Kā darbojas video kodeks? 1. daļa: Pamati

Šādi izskatās viens un tas pats attēls, kas kodēts ar galvenajiem krāsu apakÅ”izlases veidiem. Pirmajā rindā ir pēdējais YCbCr, apakŔējā rindā ir redzama hroma izŔķirtspēja. Ä»oti pieklājÄ«gi rezultāti, ņemot vērā nelielo kvalitātes zudumu.

Kā darbojas video kodeks? 1. daļa: Pamati

Atcerieties, kad mēs saskaitÄ«jām 278 GB krātuves, lai uzglabātu stundu garu video failu ar 720p izŔķirtspēju un 30 kadriem sekundē? Ja izmantosim YCbCr 4:2:0, tad Å”is izmērs samazināsies uz pusi ā€“ 139 GB. Pagaidām tas joprojām ir tālu no pieņemama rezultāta.

JÅ«s varat iegÅ«t YCbCr histogrammu pats, izmantojot FFmpeg. Å ajā attēlā zils dominē pār sarkano, kas ir skaidri redzams paŔā histogrammā.

Kā darbojas video kodeks? 1. daļa: Pamati

Krāsa, spilgtums, krāsu gamma - video apskats

Mēs iesakām noskatÄ«ties Å”o lielisko video. Tas izskaidro, kas ir spilgtums, un kopumā visi punkti ir punktēti ё par spilgtumu un krāsu.

Rāmju veidi

Ejam tālāk. Mēģināsim novērst laika dublÄ“Å”anos. Bet vispirms definēsim dažus pamata terminus. Pieņemsim, ka mums ir filma ar 30 kadriem sekundē. Å eit ir tās pirmie 4 kadri:

Kā darbojas video kodeks? 1. daļa: Pamati Kā darbojas video kodeks? 1. daļa: Pamati Kā darbojas video kodeks? 1. daļa: Pamati Kā darbojas video kodeks? 1. daļa: Pamati

Kadros varam redzēt daudz atkārtojumu: piemēram, zils fons, kas nemainās no kadra uz kadru. Lai atrisinātu Å”o problēmu, mēs varam tos abstrakti klasificēt trÄ«s veidu rāmjos.

I-rāmis (Intro rāmis)

I-rāmis (atsauces rāmis, atslēgas rāmis, iekŔējais rāmis) ir autonoms. NeatkarÄ«gi no tā, ko vēlaties vizualizēt, I-rāmis bÅ«tÄ«bā ir statiska fotogrāfija. Pirmais kadrs parasti ir I-kadrs, bet mēs regulāri novērojam I-kadrus pat starp pirmajiem kadriem.

Kā darbojas video kodeks? 1. daļa: Pamati

P-rāmis (Prediģēts rāmis)

P-frame (prognozējoÅ”ais kadrs) izmanto to, ka gandrÄ«z vienmēr paÅ”reizējo attēlu var reproducēt, izmantojot iepriekŔējo kadru. Piemēram, otrajā freimā vienÄ«gā izmaiņa ir bumbiņa virzÄ«ba uz priekÅ”u. Mēs varam iegÅ«t 2. kadru, vienkārÅ”i nedaudz modificējot 1. kadru, tikai izmantojot atŔķirÄ«bu starp Å”iem kadriem. Lai izveidotu 2. kadru, mēs atsaucamies uz iepriekŔējo 1. kadru.

Kā darbojas video kodeks? 1. daļa: Pamati ā† Kā darbojas video kodeks? 1. daļa: Pamati

B-rāmis (Bi-predictive Frame)

Kā ir ar saitēm ne tikai uz pagātnes, bet arÄ« nākotnes kadriem, lai nodroÅ”inātu vēl labāku saspieÅ”anu?! Tas bÅ«tÄ«bā ir B-rāmis (divvirzienu rāmis).

Kā darbojas video kodeks? 1. daļa: Pamati ā† Kā darbojas video kodeks? 1. daļa: Pamati ā†’ Kā darbojas video kodeks? 1. daļa: Pamati

Starpposma izņemÅ”ana

Å ie rāmju veidi tiek izmantoti, lai nodroÅ”inātu vislabāko iespējamo saspieÅ”anu. Kā tas notiek, mēs apskatÄ«sim nākamajā sadaļā. Pagaidām atzÄ«mēsim, ka patērētās atmiņas ziņā ā€œdārgākaisā€ ir I-frame, P-kadrs ir manāmi lētāks, bet video izdevÄ«gākais variants ir B-kadrs.

Kā darbojas video kodeks? 1. daļa: Pamati

Laika dublēŔana (starpkadru prognozēŔana)

ApskatÄ«sim, kādas iespējas mums ir, lai laika gaitā samazinātu atkārtoÅ”anos. Mēs varam atrisināt Ŕāda veida atlaiÅ”anu, izmantojot savstarpējās prognozÄ“Å”anas metodes.

Mēs centīsimies iztērēt pēc iespējas mazāk bitu, lai kodētu 0 un 1 kadru secību.

Kā darbojas video kodeks? 1. daļa: Pamati

Mēs varam ražot atņemÅ”ana, mēs vienkārÅ”i atņemam 1. kadru no kadra 0. Mēs iegÅ«stam 1. kadru, izmantojam tikai atŔķirÄ«bu starp to un iepriekŔējo kadru, patiesÄ«bā mēs kodējam tikai iegÅ«to atlikumu.

Kā darbojas video kodeks? 1. daļa: Pamati

Bet kā būtu, ja es jums pateiktu, ka ir vēl labāka metode, kas izmanto vēl mazāk bitu?! Vispirms sadalīsim rāmi 0 skaidrā režģī, kas sastāv no blokiem. Un tad mēs mēģināsim saskaņot blokus no 0. kadra ar 1. kadru. Citiem vārdiem sakot, mēs novērtēsim kustību starp kadriem.

No Vikipēdijas - bloka kustības kompensācija

Bloka kustÄ«bas kompensācija sadala paÅ”reizējo kadru blokos, kas nepārklājas, un kustÄ«bas kompensācijas vektors ziņo par bloku izcelsmi (izplatÄ«ts nepareizs priekÅ”stats, ka iepriekŔējā rāmis ir sadalÄ«ts blokos, kas nepārklājas, un kustÄ«bas kompensācijas vektori norāda, kur Å”ie bloki iet. Bet patiesÄ«bā ir otrādi - tiek analizēts nevis iepriekŔējais kadrs, bet nākamais; nav skaidrs, kur bloki pārvietojas, bet no kurienes tie nāk). Parasti avota bloki pārklājas avota kadrā. Daži video saspieÅ”anas algoritmi saliek paÅ”reizējo kadru no ne viena, bet vairāku iepriekÅ” pārsÅ«tÄ«tu kadru daļām.

Kā darbojas video kodeks? 1. daļa: Pamati

NovērtÄ“Å”anas procesā mēs redzam, ka bumba ir pārvietojusies no (x= 0, y=25) lÄ«dz (x= 6, y=26), vērtÄ«bas x Šø y noteikt kustÄ«bas vektoru. Vēl viens solis, ko mēs varam darÄ«t, lai saglabātu bitus, ir kodēt tikai kustÄ«bas vektoru atŔķirÄ«bu starp pēdējo bloka pozÄ«ciju un paredzēto, tāpēc galÄ«gais kustÄ«bas vektors bÅ«s (x=6-0=6, y=26-25=1 ).

Reālā situācijā Ŕī bumba tiktu sadalīta n bloki, bet tas nemaina lietas būtību.

Objekti kadrā pārvietojas trīs dimensijās, tāpēc, bumbiņai kustoties, tā var kļūt vizuāli mazāka (vai lielāka, ja tā virzās uz skatītāju). Tas ir normāli, ka starp blokiem nebūs perfektas sakritības. Šeit ir apvienots skatījums uz mūsu tāmi un reālo attēlu.

Kā darbojas video kodeks? 1. daļa: Pamati

Bet mēs redzam, ka, izmantojot kustÄ«bas novērtējumu, kodÄ“Å”anai ir ievērojami mazāk datu nekā tad, ja tiek izmantota vienkārŔāka delta aprēķināŔanas metode starp kadriem.

Kā darbojas video kodeks? 1. daļa: Pamati

Kā izskatītos īsta kustības kompensācija

Šis paņēmiens tiek piemērots visiem blokiem vienlaikus. Bieži vien mūsu nosacīti kustīgā bumba tiks sadalīta vairākos blokos vienlaikus.

Kā darbojas video kodeks? 1. daļa: Pamati

Izmantojot Å”os jēdzienus, varat iejusties paÅ”i Jupters.

Lai redzētu kustÄ«bas vektorus, varat izveidot ārēju prognozÄ“Å”anas video, izmantojot ffmpeg.

Kā darbojas video kodeks? 1. daļa: Pamati

Varat arī izmantot Intel Video Pro analizators (tas ir maksas, taču ir bezmaksas izmēģinājuma versija, kas ir ierobežota tikai līdz pirmajiem desmit kadriem).

Kā darbojas video kodeks? 1. daļa: Pamati

Telpiskā dublÄ“Å”ana (iekŔējā prognoze)

Ja analizēsim katru video kadru, mēs atradīsim daudzas savstarpēji saistītas jomas.

Kā darbojas video kodeks? 1. daļa: Pamati

ApskatÄ«sim Å”o piemēru. Å Ä« aina galvenokārt sastāv no zilām un baltām krāsām.

Kā darbojas video kodeks? 1. daļa: Pamati

Å is ir I-rāmis. Mēs nevaram izmantot iepriekŔējos kadrus prognozÄ“Å”anai, bet varam tos saspiest. Kodēsim sarkanā bloka atlasi. Ja mēs skatāmies uz tās kaimiņiem, mēs pamanām, ka ap to ir dažas krāsu tendences.

Kā darbojas video kodeks? 1. daļa: Pamati

Mēs pieņemam, ka krāsas kadrā izplatās vertikāli. Tas nozīmē, ka nezināmo pikseļu krāsa saturēs tās kaimiņu vērtības.

Kā darbojas video kodeks? 1. daļa: Pamati

Šāda prognoze var izrādÄ«ties nepareiza. Å Ä« iemesla dēļ jums ir jāizmanto Ŕī metode (iekŔējā prognoze) un pēc tam jāatskaita reālās vērtÄ«bas. Tas mums iegÅ«s atlikuÅ”o bloku, kā rezultātā matrica bÅ«s daudz saspiestāka salÄ«dzinājumā ar sākotnējo.

Kā darbojas video kodeks? 1. daļa: Pamati

Ja vēlaties praktizēt ar iekŔējām prognozēm, varat izveidot video ar makroblokiem un to prognozēm, izmantojot ffmpeg. Lai saprastu katras bloka krāsas nozÄ«mi, jums bÅ«s jāizlasa ffmpeg dokumentācija.

Kā darbojas video kodeks? 1. daļa: Pamati

Vai arÄ« varat izmantot Intel Video Pro Analyzer (kā jau minēju iepriekÅ”, bezmaksas izmēģinājuma versija ir ierobežota lÄ«dz pirmajiem 10 kadriem, taču sākumā ar to jums pietiks).

Kā darbojas video kodeks? 1. daļa: Pamati

Otrā daļa: Kā darbojas video kodeks

Avots: www.habr.com

Pievieno komentāru