Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Fyrsti hluti: Grunnatriði í vinnu með myndbandi og myndum

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Hvað? Vídeó merkjamál er hugbúnaður/vélbúnaður sem þjappar saman og/eða þjappar niður stafrænt myndband.

Fyrir hvað? Þrátt fyrir ákveðnar takmarkanir bæði hvað varðar bandbreidd og
og hvað varðar gagnageymslupláss krefst markaðurinn sífellt meiri gæði myndbands. Manstu hvernig við í síðustu færslu reiknuðum út lágmarkskröfur fyrir 30 ramma á sekúndu, 24 bita á pixla, með 480x240 upplausn? Við fengum 82,944 Mbit/s án þjöppunar. Þjöppun er sem stendur eina leiðin til að senda almennt HD/FullHD/4K á sjónvarpsskjái og internetið. Hvernig er þetta náð? Nú skulum við líta stuttlega á helstu aðferðir.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Þýðingin var gerð með stuðningi EDISON Software.

Við erum trúlofuð samþættingu myndbandseftirlitskerfaOg við erum að þróa smásjá.

Codec vs Container

Algeng mistök sem nýliðar gera eru að rugla saman stafrænum myndkóða og stafrænu myndbandsíláti. Gámur er ákveðið snið. Umbúðir sem innihalda lýsigögn myndbands (og hugsanlega hljóð). Hægt er að hugsa um þjappað myndband sem gámafarm.

Venjulega gefur framlenging myndbandsskrár til kynna tegund íláts þess. Til dæmis er skráin video.mp4 líklega ílát MPEG-4 hluti 14, og skrá sem heitir video.mkv er líklegast matryoshka. Til að vera alveg viss um merkjamálið og gámasniðið geturðu notað FFmpeg eða MediaInfo.

Smá saga

Áður en við komum að Hvernig?, við skulum kafa aðeins í söguna til að skilja eldri merkjamál aðeins betur.

Vídeó merkjamál H.261 birtist árið 1990 (tæknilega séð - árið 1988) og var búið til til að starfa á gagnaflutningshraða 64 Kbps. Það notaði þegar hugmyndir eins og litaundirsýni, stórblokkir osfrv. Vídeó merkjamál staðall var gefinn út árið 1995 H.263, sem þróaðist til ársins 2001.

Fyrsta útgáfan var fullgerð árið 2003 H.264 / AVC. Sama ár gaf TrueMotion út ókeypis tapaða myndkóða sem heitir VP3. Google keypti fyrirtækið árið 2008 og gaf út VP8 sama ár. Í desember 2012 gaf Google út VP9, og það er stutt á um ¾ af vaframarkaðnum (þar á meðal farsímum).

AV1 er nýr ókeypis og opinn uppspretta vídeó merkjamál þróað af Alliance for Open Media (AOMedia), sem inniheldur frægustu fyrirtækin, eins og: Google, Mozilla, Microsoft, Amazon, Netflix, AMD, ARM, NVidia, Intel og Cisco. Fyrsta útgáfan af merkjamálinu, 0.1.0, var gefin út 7. apríl 2016.

Fæðing AV1

Snemma árs 2015 var Google að vinna að VP10Xiph (sem er í eigu Mozilla) var að vinna að Daala, og Cisco bjó til sinn eigin ókeypis myndkóða sem heitir Þór.

Þá MPEG LA fyrst tilkynnt árleg mörk fyrir HEVC (H.265) og 8 sinnum hærra gjald en fyrir H.264, en þeir breyttu reglunum fljótlega aftur:

engin árleg takmörk,
efnisgjald (0,5% af tekjum) og
einingagjaldið er um 10 sinnum hærra en H.264.

Alliance for Open Media var búið til af fyrirtækjum frá mismunandi sviðum: búnaðarframleiðendum (Intel, AMD, ARM, Nvidia, Cisco), efnisveiturum (Google, Netflix, Amazon), vafraframleiðendum (Google, Mozilla) og fleirum.

Fyrirtækin áttu sameiginlegt markmið - kóngagjaldfrjálst myndbandsmerkjamál. Þá birtist AV1 með mun einfaldara einkaleyfisleyfi. Timothy B. Terryberry hélt töfrandi kynningu sem varð upphafið að núverandi AV1 hugmynd og leyfislíkani þess.

Þú verður hissa að vita að þú getur greint AV1 merkjamálið í gegnum vafra (áhugasamir geta farið á aomanalyzer.org).

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Alhliða merkjamál

Við skulum skoða helstu aðferðir sem liggja til grundvallar alhliða myndbandsmerkjamálinu. Flest þessara hugtaka eru gagnleg og eru notuð í nútíma merkjamál eins og VP9, AV1 и HEVC. Ég vara þig við því að margt af því sem útskýrt er verður einfaldað. Stundum verða raunveruleikadæmi (eins og með H.264) notuð til að sýna tækni.

1. skref - að skipta myndinni

Fyrsta skrefið er að skipta rammanum í nokkra hluta, undirkafla og víðar.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Til hvers? Það eru margar ástæður. Þegar við kljúfum mynd getum við spáð fyrir um hreyfivektorinn með því að nota litla hluta fyrir litla hreyfanlega hluta. Þó fyrir kyrrstæðan bakgrunn geturðu takmarkað þig við stærri hluta.

Merkjamál raða þessum hlutum venjulega í hluta (eða klumpur), stórblokkir (eða kóðatréblokkir) og marga undirkafla. Hámarksstærð þessara skiptinga er mismunandi, HEVC stillir hana á 64x64 á meðan AVC notar 16x16, og hægt er að skipta undirhlutum upp í 4x4 stærðir.

Manstu hvers konar ramma úr síðustu grein?! Það sama er hægt að nota á kubba, þannig að við getum haft I-brot, B-blokk, P-macroblock o.s.frv.

Fyrir þá sem vilja æfa, sjáið hvernig myndinni er skipt í hluta og undirkafla. Til að gera þetta geturðu notað þann sem þegar er minnst á í fyrri grein. Intel Video Pro Analyzer (sá sem er greidd, en með ókeypis prufuútgáfu sem er takmörkuð við fyrstu 10 ramma). Hlutar greindir hér VP9:

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

2. skref - spá

Þegar við höfum hluta, getum við gert stjörnuspár fyrir þá. Fyrir INTER spár verður að flytja hreyfivektorar og það sem eftir er, og fyrir INTRA spá er það sent spá stefnu og afgangurinn.

3. skref - umbreyting

Þegar við höfum afgangsblokk (spáður hluti → raunverulegur hluti), er hægt að umbreyta honum á þann hátt að við vitum hvaða pixlum er hægt að farga á meðan heildargæðum er viðhaldið. Það eru nokkrar umbreytingar sem veita nákvæma hegðun.

Þó að það séu aðrar aðferðir, skulum við skoða þær nánar. stakur kósínusumbreyting (DCT - frá stakur kósínusumbreyting). Helstu aðgerðir DCT:

  • Breytir kubba af pixlum í jafnstóra kubba með tíðnistuðlum.
  • Þétir afl til að koma í veg fyrir staðbundna offramboð.
  • Veitir afturkræfni.

2. febrúar 2017 Sintra R.J. (Cintra, RJ) og Bayer F.M. (Bayer FM) birti grein um DCT-líka umbreytingu fyrir myndþjöppun sem þarfnast aðeins 14 viðbóta.

Ekki hafa áhyggjur ef þú skilur ekki kosti hvers liðs. Nú skulum við nota ákveðin dæmi til að sjá raunverulegt gildi þeirra.

Við skulum taka þennan 8x8 blokk af punktum:

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Þessi kubb er mynduð í eftirfarandi 8 x 8 pixla mynd:

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Notaðu DCT á þennan pixlablokk og fáðu 8x8 stuðlablokk:

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Og ef við myndum þennan stuðlablokk fáum við eftirfarandi mynd:

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Eins og þú sérð lítur það ekki út eins og upprunalega myndin. Þú getur séð að fyrsti stuðullinn er mjög frábrugðinn öllum hinum. Þessi fyrsti stuðull er þekktur sem DC stuðullinn, sem táknar öll sýnin í inntaksfylkingunni, eitthvað eins og meðaltal.

Þessi stuðlablokk hefur áhugaverðan eiginleika: hann aðskilur hátíðnihluti frá lágtíðniþáttum.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Í mynd safnast megnið af kraftinum saman við lægri tíðni, þannig að ef þú breytir myndinni í tíðniþætti hennar og fleygir hærri tíðnistuðlunum geturðu minnkað gagnamagnið sem þarf til að lýsa myndinni án þess að fórna of miklum myndgæðum.

Tíðni vísar til þess hversu hratt merkið breytist.

Við skulum reyna að beita þekkingunni sem fékkst í prófunartilvikinu með því að breyta upprunalegu myndinni í tíðni hennar (stuðlablokk) með því að nota DCT og henda síðan hluta af minnstu stuðlunum.

Fyrst umbreytum við því í tíðnisviðið.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Næst fleygum við hluta (67%) af stuðlunum, aðallega neðri hægri hlutanum.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Að lokum endurgerðum við myndina úr þessum fleygða stuðlablokk (mundu að hún verður að vera öfugsnúin) og berum hana saman við frumritið.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Við sjáum að það líkist upprunalegu myndinni, en það er mikill munur frá upprunalegu. Við hentum út 67,1875% og fengum samt eitthvað sem líkist upprunalegu. Það var hægt að henda stuðlunum af yfirvegun til að fá mynd af enn betri gæðum, en það er næsta umræðuefni.

Hver stuðull er myndaður með því að nota alla pixla

Mikilvægt: hver stuðull er ekki beint varpaður á einn pixla heldur er hann vegin summa allra pixla. Þetta ótrúlega graf sýnir hvernig fyrsti og annar stuðullinn er reiknaður út með því að nota vægi sem eru einstök fyrir hverja vísitölu.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Þú getur líka reynt að sjá DCT með því að skoða einfalda myndmyndun byggða á því. Til dæmis, hér er táknið A sem er búið til með því að nota hverja stuðlaþyngd:

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

4. skref - magngreining

Eftir að við hendum út nokkrum stuðlum í fyrra skrefi, í síðasta skrefi (umbreytingu) framkvæmum við sérstakt form magngreiningar. Á þessu stigi er ásættanlegt að glata upplýsingum. Eða, einfaldara, við munum magngreina stuðlana til að ná fram þjöppun.

Hvernig er hægt að magngreina stuðlablokk? Ein einfaldasta aðferðin er samræmd magngreining, þegar við tökum kubb, deilum honum með einu gildi (með 10) og námundum niðurstöðuna.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Getum við snúið þessum stuðlablokk við? Já, við getum margfaldað með sama gildi og við deilum með.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Þessi nálgun er ekki sú besta vegna þess að hún tekur ekki tillit til mikilvægis hvers stuðuls. Hægt væri að nota fylki af magnmælum í stað eins gildis og þetta fylki gæti nýtt sér DCT eiginleikann með því að magngreina meirihluta neðra hægri og minnihluta efra vinstri.

Skref 5 - óreiðukóðun

Þegar við höfum magnbundið gögnin (myndablokkir, brot, rammar) getum við samt þjappað þeim taplaust saman. Það eru margar algrímskar leiðir til að þjappa gögnum. Við ætlum að skoða nokkrar þeirra í skyndi, til að fá dýpri skilning geturðu lesið bókina Understanding Compression: Data Compression for Modern Developers ("Skilningur á þjöppun: Gagnaþjöppun fyrir nútíma hönnuði").

Vídeókóðun með VLC

Segjum að við höfum straum af persónum: a, e, r и t. Líkurnar (á bilinu 0 til 1) á því hversu oft hver karakter birtist í straumi eru sýndar í þessari töflu.

a e r t
Líkur 0,3 0,3 0,2 0,2

Við getum úthlutað einstökum tvíundarkóðum (helst litlum) til þeirra sem eru líklegastir og stærri kóðar til þeirra sem eru ólíklegri.

a e r t
Líkur 0,3 0,3 0,2 0,2
Tvöfaldur kóða 0 10 110 1110

Við þjöppum straumnum saman, að því gefnu að við munum eyða 8 bitum fyrir hvern staf. Án þjöppunar þyrfti 24 bita á hvern staf. Ef þú skiptir út hverjum staf fyrir kóðann, færðu sparnað!

Fyrsta skrefið er að umrita stafinn e, sem er jafnt og 10, og annar stafurinn er a, sem er bætt við (ekki á stærðfræðilegan hátt): [10][0], og að lokum þriðja stafurinn t, sem gerir endanlegt þjappað bitastraum okkar jafnt og [10][0][1110] eða 1001110, sem krefst aðeins 7 bita (3,4 sinnum minna pláss en upprunalega).

Athugið að hver kóði verður að vera einstakur kóði með forskeyti. Huffman reiknirit mun hjálpa þér að finna þessar tölur. Þó að þessi aðferð sé ekki gallalaus, þá eru til myndkóðar sem bjóða enn upp á þessa reikniritaðferð til þjöppunar.

Bæði umritarinn og afkóðarinn verða að hafa aðgang að táknatöflu með tvíundarkóðum sínum. Þess vegna er líka nauðsynlegt að senda töflu sem inntak.

Reiknikóðun

Segjum að við höfum straum af persónum: a, e, r, s и t, og líkur þeirra eru sýndar í þessari töflu.

a e r s t
Líkur 0,3 0,3 0,15 0,05 0,2

Með því að nota þessa töflu munum við búa til svið sem innihalda alla mögulega stafi, raðað eftir stærsta fjölda.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Nú skulum umrita straum af þremur stöfum: borða.

Veldu fyrst fyrsta stafinn e, sem er á undirbilinu frá 0,3 til 0,6 (ekki meðtalið). Við tökum þetta undirsvið og skiptum því aftur í sömu hlutföllum og áður, en fyrir þetta nýja svið.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Höldum áfram að kóða strauminn okkar borða. Taktu nú annan karakterinn a, sem er í nýja undirsviðinu frá 0,3 til 0,39, og taktu síðan síðasta stafinn okkar t og endurtaka sama ferlið aftur, við fáum endanlegt undirsvið frá 0,354 til 0,372.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Við þurfum bara að velja tölu í síðasta undirsviðinu frá 0,354 til 0,372. Við skulum velja 0,36 (en þú getur valið hvaða aðra tölu sem er í þessu undirsviði). Aðeins með þessu númeri munum við geta endurheimt upprunalega strauminn okkar. Það er eins og við séum að draga línu innan sviðanna til að kóða strauminn okkar.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Öfug aðgerð (þ.e. umskráningu) er alveg jafn einfalt: með númerinu okkar 0,36 og upphafssviðinu okkar getum við keyrt sama ferli. En núna, með því að nota þetta númer, auðkennum við strauminn sem er kóðaður með þessu númeri.

Með fyrsta sviðinu tökum við eftir því að númerið okkar samsvarar sneiðinni, þess vegna er þetta fyrsti stafurinn okkar. Nú skiptum við þessu undirsviði aftur með því að fylgja sama ferli og áður. Hér má sjá að 0,36 samsvarar tákninu a, og eftir að hafa endurtekið ferlið komumst við að síðasta persónunni t (myndar upprunalega kóðaða strauminn okkar borða).

Bæði umritarinn og afkóðarinn verða að hafa töflu yfir líkur á táknum, svo það er nauðsynlegt að senda það í inntaksgögnum líka.

Alveg glæsilegt, er það ekki? Sá sem kom með þessa lausn var helvíti klár. Sumir myndkóðar nota þessa tækni (eða bjóða hana að minnsta kosti sem valkost).

Hugmyndin er að þjappa saman magnbundnum bitastraumi án taps. Vissulega vantar þessa grein tonn af smáatriðum, ástæðum, málamiðlun osfrv. En ef þú ert verktaki ættirðu að vita meira. Nýir merkjamál reyna að nota mismunandi entropy encoding algrím eins og ANS.

Skref 6 - bitastraumssnið

Eftir að hafa gert allt þetta er allt sem eftir er að pakka niður þjöppuðu rammanum í samhengi við skrefin sem gerðar eru. Afkóðaranum verður að vera skýrt upplýst um ákvarðanir sem kóðarinn tekur. Afkóðaranum verður að fá allar nauðsynlegar upplýsingar: bitadýpt, litarými, upplausn, spáupplýsingar (hreyfingarvektorar, stefnubundin INTER spá), snið, stig, rammatíðni, rammagerð, rammanúmer og margt fleira.

Við munum líta fljótt á bitastrauminn H.264. Fyrsta skrefið okkar er að búa til lágmarks H.264 bitastraum (FFmpeg bætir sjálfgefið við öllum kóðunarvalkostum eins og SEI NAL - við munum komast að því hvað það er aðeins lengra). Við getum gert þetta með því að nota okkar eigin geymslu og FFmpeg.

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

Þessi skipun mun búa til hráan bitastraum H.264 með einum ramma, 64×64 upplausn, með litarými YUV420. Í þessu tilviki er eftirfarandi mynd notuð sem rammi.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

H.264 bitastraumur

Standard AVC (H.264) ákvarðar að upplýsingar verði sendar í stórrömmum (í netskilningi), sem kallast nal (þetta er netútdráttarstig). Meginmarkmið NAL er að bjóða upp á „vefvæna“ myndbandakynningu. Þessi staðall ætti að virka á sjónvörpum (tengd straumi), internetinu (pakkamiðað).

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Það er samstillingarmerki til að skilgreina mörk NAL þátta. Hvert samstillingartákn inniheldur gildi 0x00 0x00 0x01, nema sá allra fyrsta, sem er jöfn 0x00 0x00 0x00 0x01. Ef við ræsum hexdump fyrir myndaða H.264 bitastrauminn auðkennum við að minnsta kosti þrjú NAL mynstur í upphafi skráarinnar.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Eins og fram hefur komið verður afkóðarinn að þekkja ekki aðeins myndgögnin heldur einnig upplýsingarnar um myndbandið, ramma, liti, breytur sem notaðar eru og margt fleira. Fyrsta bæti hvers NAL skilgreinir flokk sinn og gerð.

NAL tegundaauðkenni Lýsing
0 Óþekkt gerð
1 Kóðað myndbrot án IDR
2 Kóðuð sneiðgagnahluti A
3 Kóðuð sneiðgagnahluti B
4 Kóðuð sneiðgagnahluti C
5 Kóðað IDR brot af IDR mynd
6 Nánari upplýsingar um SEI viðbótina
7 SPS Sequence Parameter Set
8 Sett af PPS myndbreytum
9 Aðgangsskilur
10 Lok röð
11 Þráðarlok
... ...

Venjulega er fyrsta NAL bitastraums PLC. Þessi tegund af NAL ber ábyrgð á að upplýsa um algengar kóðunbreytur eins og prófíl, stig, upplausn osfrv.

Ef við sleppum fyrsta samstillingarmerkinu getum við afkóða fyrsta bæti til að komast að því hvaða NAL tegund er fyrst.

Til dæmis er fyrsta bætið á eftir samstillingartákninu 01100111, þar sem fyrsti hluti (0) er á sviði forbidden_zero_bit. Næstu 2 bitar (11) segir okkur völlinn nal_ref_idc, sem gefur til kynna hvort þessi NAL sé viðmiðunarreitur eða ekki. Og hinir 5 bitar (00111) segir okkur völlinn nal_unit_type, í þessu tilfelli er það SPS blokkin (7) NAL.

Annað bæti (tvöfaldur=01100100, álög=0x64, desember=100) í SPS NAL er völlurinn profile_idc, sem sýnir sniðið sem kóðarinn notaði. Í þessu tilviki var takmarkaður háttur notaður (þ.e. hásnið án tvíátta B-hluta stuðning).

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Ef þú skoðar bitastraumsforskriftina H.264 fyrir SPS NAL munum við finna mörg gildi fyrir færibreytuheiti, flokk og lýsingu. Til dæmis skulum við skoða reitina mynd_breidd_í_mbs_mínus_1 и mynd_hæð_í_korti_einingum_mínus_1.

Parameter nafn flokkur Lýsing
mynd_breidd_í_mbs_mínus_1 0 ue (v)
mynd_hæð_í_korti_einingum_mínus_1 0 ue (v)

Ef við framkvæmum nokkrar stærðfræðilegar aðgerðir með gildum þessara sviða, munum við fá upplausn. Maður getur táknað 1920 x 1080 með því að nota mynd_breidd_í_mbs_mínus_1 með gildið 119 ((119 + 1) * macroblock_size = 120 * 16 = 1920). Aftur, til að spara pláss, í stað þess að kóða 1920, gerðum við það með 119.

Ef við höldum áfram að athuga myndskeiðið okkar sem búið var til í tvöfalt formi (til dæmis: xxd -b -c 11 v/minimal_yuv420.h264), þá geturðu farið í síðasta NAL, sem er ramminn sjálfur.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Hér sjáum við fyrstu 6 bæta gildin: 01100101 10001000 10000100 00000000 00100001 11111111. Þar sem vitað er að fyrsta bæti gefur til kynna NAL gerð, í þessu tilviki (00101) er IDR brot (5), og þá geturðu skoðað það frekar:

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Með því að nota forskriftarupplýsingarnar verður hægt að afkóða brotagerðina (sneið_gerð) og rammanúmer (ramma_númer) meðal annarra mikilvægra sviða.

Til að fá gildi sumra reita (ue(v), me(v), se(v) eða te(v)), þurfum við að afkóða brotið með því að nota sérstakan afkóðara sem byggir á veldisvísis Golomb kóða. Þessi aðferð er mjög skilvirk til að kóða breytugildi, sérstaklega þegar það eru mörg sjálfgefin gildi.

Merkingar sneið_gerð и ramma_númer af þessu myndbandi eru 7 (I-brot) og 0 (fyrsti rammi).

Líta má á smástraum sem siðareglur. Ef þú vilt vita meira um bitastrauminn ættirðu að vísa til forskriftarinnar ITU H.264. Hér er makrómynd sem sýnir hvar myndgögnin eru (YUV í þjöppuðu formi).

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Hægt er að skoða aðra bitastrauma, svo sem VP9, H.265 (HEVC) eða jafnvel nýja besta bitastrauminn okkar AV1. Eru þeir allir svipaðir? Nei, en þegar þú skilur að minnsta kosti einn er miklu auðveldara að skilja restina.

Viltu æfa? Kannaðu H.264 bitastrauminn

Þú getur búið til einn ramma myndband og notað MediaInfo til að skoða bitastrauminn H.264. Reyndar kemur ekkert í veg fyrir að þú horfir jafnvel á frumkóðann sem greinir bitastrauminn H.264 (AVC).

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Til að æfa er hægt að nota Intel Video Pro Analyzer (sagði ég nú þegar að forritið sé greitt, en það er ókeypis prufuútgáfa með hámarki 10 ramma?).

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Skoða

Athugaðu að margir nútíma merkjamál nota sama líkan og við rannsökuðum. Hér skulum við kíkja á blokkarmyndina af myndbandsmerkjanum Þór. Það inniheldur öll skrefin sem við höfum farið í gegnum. Allur tilgangurinn með þessari færslu er að minnsta kosti að veita þér betri skilning á nýjungum og skjölum á þessu sviði.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Áður var reiknað út að 139 GB af plássi þyrfti til að geyma myndbandsskrá sem endaði eina klukkustund í 720p gæðum og 30 fps. Ef þú notar aðferðirnar sem fjallað er um í þessari grein (spá milli ramma og innri, umbreytingu, magngreiningu, óreiðukóðun osfrv.), þá geturðu náð (byggt á þeirri staðreynd að við eyðum 0,031 bitum á pixla) myndbandi af alveg viðunandi gæðum , sem tekur aðeins 367,82 MB, ekki 139 GB af minni.

Hvernig nær H.265 betra þjöppunarhlutfalli en H.264?

Nú þegar við vitum meira um hvernig merkjamál virka er auðveldara að skilja hvernig nýrri merkjamál geta skilað hærri upplausn með færri bitum.

Ef þú berð saman AVC и HEVC, það er þess virði að muna að þetta er næstum alltaf val á milli meiri CPU álags og þjöppunarhlutfalls.

HEVC hefur fleiri kafla (og undirkafla) valkosti en AVC, fleiri innri spáleiðbeiningar, bætt óreiðukóðun og fleira. Allar þessar endurbætur hafa verið gerðar H.265 fær um að þjappa 50% meira en H.264.

Hvernig virkar vídeó merkjamál? Part 2. Hvað, hvers vegna, hvernig

Fyrsti hluti: Grunnatriði í vinnu með myndbandi og myndum

Heimild: www.habr.com

Bæta við athugasemd