FMUSER brezžični prenos video in zvoka lažje!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanščina
sq.fmuser.org -> albanski
ar.fmuser.org -> arabščina
hy.fmuser.org -> Armenščina
az.fmuser.org -> azerbajdžanski
eu.fmuser.org -> baskovščina
be.fmuser.org -> belorusko
bg.fmuser.org -> bolgarščina
ca.fmuser.org -> katalonščina
zh-CN.fmuser.org -> kitajščina (poenostavljena)
zh-TW.fmuser.org -> kitajščina (tradicionalno)
hr.fmuser.org -> hrvaški
cs.fmuser.org -> češčina
da.fmuser.org -> danski
nl.fmuser.org -> nizozemščina
et.fmuser.org -> estonščina
tl.fmuser.org -> filipinsko
fi.fmuser.org -> finski
fr.fmuser.org -> francosko
gl.fmuser.org -> galicijščina
ka.fmuser.org -> gruzijski
de.fmuser.org -> nemščina
el.fmuser.org -> grščina
ht.fmuser.org -> haitijska kreolščina
iw.fmuser.org -> hebrejščina
hi.fmuser.org -> hindujščina
hu.fmuser.org -> madžarščina
is.fmuser.org -> islandski
id.fmuser.org -> indonezijski
ga.fmuser.org -> irski
it.fmuser.org -> italijanščina
ja.fmuser.org -> japonski
ko.fmuser.org -> korejski
lv.fmuser.org -> latvijski
lt.fmuser.org -> litovščina
mk.fmuser.org -> makedonščina
ms.fmuser.org -> malajščina
mt.fmuser.org -> malteščina
no.fmuser.org -> norveščina
fa.fmuser.org -> perzijski
pl.fmuser.org -> poljščina
pt.fmuser.org -> portugalščina
ro.fmuser.org -> romunščina
ru.fmuser.org -> ruščina
sr.fmuser.org -> srbščina
sk.fmuser.org -> slovaški
sl.fmuser.org -> slovenščina
es.fmuser.org -> španščina
sw.fmuser.org -> svahili
sv.fmuser.org -> švedščina
th.fmuser.org -> tajska
tr.fmuser.org -> turški
uk.fmuser.org -> ukrajinski
ur.fmuser.org -> urdujščina
vi.fmuser.org -> Vietnamščina
cy.fmuser.org -> valižanščina
yi.fmuser.org -> jidiš
Predgovor
Algoritem za stiskanje videa H264 je zdaj nedvomno najpogosteje uporabljen in najbolj priljubljen od vseh tehnik stiskanja videa. Z uvedbo odprtokodnih knjižnic, kot sta x264 / openh264 in ffmpeg, večini uporabnikov ni več treba preveč raziskovati podrobnosti H264, kar močno zmanjša stroške ljudi, ki uporabljajo H264.
Toda, da bi lahko H264 dobro izkoristili, moramo še vedno ugotoviti osnovna načela H264. Danes si bomo ogledali osnovna načela H264.
Pregled H264
Tehnologija stiskanja H264 uporablja predvsem naslednje metode za stiskanje video podatkov. vključujejo:
Stiskanje predvidevanja znotraj okvirja rešuje problem redundance prostorskih podatkov.
Stiskanje napovedi med sličicami (ocena gibanja in kompenzacija) rešuje problem redundance podatkov v časovni domeni.
Integer Discrete Cosine Transform (DCT), ki pretvori prostorsko korelacijo v nepomembne podatke v frekvenčnem območju in jo nato kvantizira.
Stiskanje CABAC.
Stisnjen okvir je razdeljen na: I okvir, P okvir in B okvir:
I frame: ključni okvir z uporabo tehnologije stiskanja znotraj sličic.
Okvir P: referenčni okvir naprej se pri stiskanju nanaša samo na predhodno obdelani okvir. Uporabite tehnologijo kompresije zvoka v okvirju.
B okvir: dvosmerni referenčni okvir. Med stiskanjem se sklicuje na prejšnji in naslednji okvir. Uporaba tehnologije stiskanja med sličicami.
Poleg okvirjev I / P / B obstajajo tudi slikovna zaporedja GOP.
GOP: Med dvema okvirjema I je zaporedje slik, v zaporedju slik pa je samo en okvir I. Kot je prikazano spodaj:
Zdaj bomo podrobno opisali tehnologijo stiskanja H264.
H264 tehnologija stiskanja
Osnovno načelo H264 je pravzaprav zelo preprosto, na kratko opišimo postopek stiskanja podatkov H264. Video okvirji, ki jih zajame kamera (izračunano s 30 sličicami na sekundo), se pošljejo v medpomnilnik dajalnika H264. Dajalnik mora najprej razdeliti makrobloke za vsako sliko.
Za primer vzemite naslednjo sliko:
Macroblock particije
H264 privzeto uporablja območje 16X16 kot blok makra, lahko pa ga razdelimo tudi na velikost 8X8.
Po razdelitvi bloka makra izračunajte vrednost pik bloka makra.
Po analogiji se izračuna vrednost slikovnih pik vsakega makrobloka na sliki in vsi makrobloki se obdelajo na naslednji način.
Podblok
H264 uporablja makrobloke 16X16 za razmeroma ravne slike. Da pa bi dosegli višjo stopnjo stiskanja, lahko manjše podbloke razdelimo tudi v makrobloke 16X16. Velikost podbloka je lahko 8X16, 16X8, 8X8, 4X8, 8X4, 4X4, kar je zelo prilagodljivo.
Na zgornji sliki ima večina makroblokov 16X16 v rdečem okvirju modro ozadje, del slike treh orlov pa je narisan v tem makrobloku. Da bi bolje obdelali delne slike treh orlov, je več podblokov H264 razdeljenih na makrobloke 16X16.
Na ta način lahko po stiskanju znotraj sličic dobimo učinkovitejše podatke. Spodnja slika je rezultat stiskanja zgornjih makroblokov z uporabo mpeg-2 oziroma H264. Leva polovica je rezultat stiskanja po delitvi podbloka MPEG-2, desna polovica pa rezultat stiskanja podblokov H264. Vidimo, da ima metoda delitve H264 več prednosti.
Ko je blok makra razdeljen, lahko vse slike v vmesnem pomnilniku dajalnika H264 združimo v skupine.
Združevanje okvirjev
Za video podatke obstajata v glavnem dve vrsti podatkovne redundance, ena je redundanca podatkov v času, druga pa redundanca podatkov v prostoru. Med njimi je časovna odvečnost podatkov največja. Najprej se pogovorimo o problemu redundance časa video podatkov.
Zakaj je časovni presežek največji? Ob predpostavki, da kamera zajame 30 sličic na sekundo, so podatki teh 30 sličic večinoma povezani. Možno je tudi, da je več kot 30 okvirjev podatkov, več deset okvirjev ali stotine okvirov podatkov še posebej tesno povezano.
Za te zelo tesno povezane okvire pravzaprav moramo shraniti le en okvir podatkov, druge okvire pa je mogoče predvideti iz tega okvira v skladu z določenimi pravili, zato imajo video podatki največ časovne odvečnosti.
Da bi ustrezni okviri stisnili podatke z metodo predvidevanja, je treba video okvirje združiti v skupine. Kako torej ugotoviti, da so določeni okviri tesno povezani in jih je mogoče združiti v skupine? Oglejmo si primer. Spodaj je posnet video okvir skupine biljardnih krogel v gibanju. Krogle za biljard se kotalijo od zgornjega desnega kota do spodnjega levega kota.
Dajalnik H264 bo vsakič vzel dva sosednja okvirja za primerjavo makroblokov, da bi izračunal podobnost obeh okvirjev. Kot je prikazano spodaj:
S pomočjo optičnega branja makro blokov in iskanja makro blokov lahko ugotovimo, da je korelacija med obema okvirjema zelo visoka. Poleg tega je bilo ugotovljeno, da je stopnja korelacije te skupine okvirjev zelo visoka. Zato lahko zgornje okvirje razdelimo v eno skupino. Algoritem je naslednji: na sosednjih slikah so slikovne pike, ki se na splošno razlikujejo, le znotraj 10%, razlika v svetlosti ne presega 2% in razlika v kromatičnosti se spremeni le v 1%. Menimo, da je to mogoče grafe združiti.
V taki skupini okvirjev po kodiranju hranimo le popolne podatke prve objave, drugi okvirji pa se izračunajo s sklicevanjem na prejšnji okvir. Kličemo prvi okvir IDR / I, druge okvirje pa P / B okvir, zato kodirano skupino podatkovnih okvirov imenujemo GOP.
Ocena gibanja in kompenzacija
Potem ko so okviri združeni v kodirnik H264, je treba izračunati vektorje gibanja predmetov v skupini okvirjev. Če za primer vzamemo zgornji premikajoči se biljardni video okvir, si oglejmo, kako izračuna vektor gibanja.
Dajalnik H264 najprej zaporedno odstrani dva okvira video podatkov iz glave vmesnega pomnilnika in nato izvede skeniranje makro blokov. Ko je na eni od slik najden predmet, se iskanje izvede v bližini druge slike (v iskalnem oknu). Če je predmet trenutno najden na drugi sliki, je mogoče izračunati vektor gibanja predmeta. Naslednja slika prikazuje položaj biljardne žoge po iskanju.
Skozi razliko med položaji biljardnih krogel na zgornji sliki lahko izračunamo smer in razdaljo mizne slike. H264 beleži razdaljo in smer gibanja žoge v vsakem okvirju po vrsti in postane naslednje.
Po izračunu vektorja gibanja se za pridobitev podatkov o kompenzaciji odšteje isti del (to je zeleni del). Na koncu moramo zgolj stisniti in shraniti podatke o kompenzaciji, nato pa lahko izvirno sliko ob dekodiranju obnovimo. Stisnjeni podatki morajo zabeležiti le majhno količino podatkov. Kot sledi:
Vektorju gibanja in kompenzaciji pravimo tehnologija kompresije med sličicami, ki pravočasno reši podatkovno redundanco video okvirjev. Poleg stiskanja med kadri je treba v okviru izvesti tudi stiskanje podatkov. Stiskanje podatkov znotraj okvira rešuje odvečnost prostorskih podatkov. Zdaj bomo predstavili tehnologijo stiskanja znotraj sličic.
Intra napoved
Človeško oko ima določeno stopnjo prepoznave slike, je zelo občutljivo na svetlost nizkih frekvenc in ni zelo občutljivo na svetlost visoke frekvence. Zato lahko na podlagi nekaterih raziskav s slike odstranimo podatke, ki niso občutljivi na človeške oči. Na ta način je predlagana tehnologija za napovedovanje znotraj.
Stiskanje H264 znotraj sličic je zelo podobno JPEG. Ko je slika razdeljena na makrobloke, je mogoče vsak makroblok predvideti v 9 načinih. Poiščite način predvidevanja, ki je najbližji prvotni sliki.
Naslednja slika je postopek predvidevanja vsakega makro bloka na celotni sliki.
Primerjava med sliko po predvidevanju in prvotno sliko je naslednja:
Nato se prvotna slika in znotraj predvidena slika odštejeta, da dobimo preostalo vrednost.
Nato shranite podatke o načinu predvidevanja, ki smo jih dobili prej, da bomo lahko ob dekodiranju obnovili prvotno sliko. Učinek je naslednji:
Po stiskanju znotraj sličic in med kadri, čeprav se podatki močno zmanjšajo, še vedno obstaja prostor za optimizacijo.
Naredite DCT na preostale podatke
Preostale podatke lahko podvržemo celoštevilni diskretni kosinusni transformaciji, da odstranimo korelacijo podatkov in dodatno stisnemo podatke. Kot je prikazano na spodnji sliki, je leva stran makro blok prvotnih podatkov, desna stran pa makro blok izračunanih preostalih podatkov.
Makroblock preostalih podatkov je digitaliziran, kot je prikazano na spodnji sliki:
Pretvorba DCT se izvede na makrobloku preostalih podatkov.
Po odstranitvi povezanih podatkov lahko vidimo, da so podatki še stisnjeni.
Po končanem DCT ni več dovolj in za stiskanje brez izgub je potreben CABAC.
CABAC
Zgornje stiskanje znotraj okvirja je tehnika stiskanja z izgubo. Z drugimi besedami, po stiskanju slike ni več mogoče popolnoma obnoviti. CABAC je tehnologija stiskanja brez izgub.
Tehnologija stiskanja brez izgub je morda vsem najbolj znana Huffmanovo kodiranje, kratka koda za visokofrekvenčne besede, dolga koda za nizkofrekvenčne besede, da se doseže namen stiskanja podatkov. VLC, ki se uporablja v MPEG-2, je tovrstni algoritem, za primer vzamemo AZ, A pripada visokofrekvenčnim podatkom, Z pa nizkofrekvenčnim. Poglejte, kako se to naredi.
CABAC je tudi kratka koda za visokofrekvenčne podatke in dolga koda za nizkofrekvenčne podatke. Hkrati bo stiskal glede na kontekst, ki je veliko bolj učinkovit kot VLC. Učinek je naslednji:
Zdaj zamenjajte AZ z video okvirjem in izgledal bo tako.
Iz zgornje slike je razvidno, da je shema stiskanja brez izgub z uporabo CACBA veliko bolj učinkovita kot VLC.
Povzetek
Na tem mestu smo zaključili s kodirnim načelom H264. Ta članek govori predvsem o naslednjih točkah:
1. Jianyin je v H264 predstavil nekaj osnovnih konceptov. Kot so I / P / B okvir, GOP.
2. Podrobno pojasnili osnovna načela kodiranja H264, vključno z:
Delitev makro blokov
Razvrščanje slik v skupine
Načelo tehnologije stiskanja znotraj okvirjev
Načelo tehnologije stiskanja med kadri.
DCT
Načelo stiskanja CABAC.
|
Vnesite e-pošto, da dobite presenečenje
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanščina
sq.fmuser.org -> albanski
ar.fmuser.org -> arabščina
hy.fmuser.org -> Armenščina
az.fmuser.org -> azerbajdžanski
eu.fmuser.org -> baskovščina
be.fmuser.org -> belorusko
bg.fmuser.org -> bolgarščina
ca.fmuser.org -> katalonščina
zh-CN.fmuser.org -> kitajščina (poenostavljena)
zh-TW.fmuser.org -> kitajščina (tradicionalno)
hr.fmuser.org -> hrvaški
cs.fmuser.org -> češčina
da.fmuser.org -> danski
nl.fmuser.org -> nizozemščina
et.fmuser.org -> estonščina
tl.fmuser.org -> filipinsko
fi.fmuser.org -> finski
fr.fmuser.org -> francosko
gl.fmuser.org -> galicijščina
ka.fmuser.org -> gruzijski
de.fmuser.org -> nemščina
el.fmuser.org -> grščina
ht.fmuser.org -> haitijska kreolščina
iw.fmuser.org -> hebrejščina
hi.fmuser.org -> hindujščina
hu.fmuser.org -> madžarščina
is.fmuser.org -> islandski
id.fmuser.org -> indonezijski
ga.fmuser.org -> irski
it.fmuser.org -> italijanščina
ja.fmuser.org -> japonski
ko.fmuser.org -> korejski
lv.fmuser.org -> latvijski
lt.fmuser.org -> litovščina
mk.fmuser.org -> makedonščina
ms.fmuser.org -> malajščina
mt.fmuser.org -> malteščina
no.fmuser.org -> norveščina
fa.fmuser.org -> perzijski
pl.fmuser.org -> poljščina
pt.fmuser.org -> portugalščina
ro.fmuser.org -> romunščina
ru.fmuser.org -> ruščina
sr.fmuser.org -> srbščina
sk.fmuser.org -> slovaški
sl.fmuser.org -> slovenščina
es.fmuser.org -> španščina
sw.fmuser.org -> svahili
sv.fmuser.org -> švedščina
th.fmuser.org -> tajska
tr.fmuser.org -> turški
uk.fmuser.org -> ukrajinski
ur.fmuser.org -> urdujščina
vi.fmuser.org -> Vietnamščina
cy.fmuser.org -> valižanščina
yi.fmuser.org -> jidiš
FMUSER brezžični prenos video in zvoka lažje!
Kontakt
naslov:
No.305 Soba HuiLan stavba št.273 Huanpu Road Guangzhou Kitajska 510620
Kategorije
Novice