„FMUSER Wirless“ perduoda vaizdo ir garso įrašus lengviau!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanų kalba
sq.fmuser.org -> albanų
ar.fmuser.org -> arabų
hy.fmuser.org -> armėnas
az.fmuser.org -> azerbaidžanietis
eu.fmuser.org -> baskų
be.fmuser.org -> baltarusių
bg.fmuser.org -> bulgarų
ca.fmuser.org -> katalonų
zh-CN.fmuser.org -> kinų (supaprastinta)
zh-TW.fmuser.org -> kinų (tradicinė)
hr.fmuser.org -> kroatų
cs.fmuser.org -> čekų
da.fmuser.org -> danų
nl.fmuser.org -> Olandų
et.fmuser.org -> estų
tl.fmuser.org -> filipinietis
fi.fmuser.org -> suomių
fr.fmuser.org -> prancūzų
gl.fmuser.org -> Galisų
ka.fmuser.org -> gruzinų
de.fmuser.org -> vokiečių kalba
el.fmuser.org -> graikų
ht.fmuser.org -> Haičio kreolis
iw.fmuser.org -> hebrajų
hi.fmuser.org -> hindi
hu.fmuser.org -> vengrų
is.fmuser.org -> islandų
id.fmuser.org -> indoneziečių
ga.fmuser.org -> airių
it.fmuser.org -> italų kalba
ja.fmuser.org -> japonų
ko.fmuser.org -> korėjiečių
lv.fmuser.org -> latvių
lt.fmuser.org -> lietuvis
mk.fmuser.org -> makedonų
ms.fmuser.org -> malajiečių
mt.fmuser.org -> maltiečių
no.fmuser.org -> norvegų
fa.fmuser.org -> persų
pl.fmuser.org -> lenkų
pt.fmuser.org -> portugalų
ro.fmuser.org -> rumunų
ru.fmuser.org -> rusų
sr.fmuser.org -> serbų
sk.fmuser.org -> slovakų
sl.fmuser.org -> slovėnų
es.fmuser.org -> ispanų
sw.fmuser.org -> svahili kalba
sv.fmuser.org -> švedų
th.fmuser.org -> Tailando
tr.fmuser.org -> turkų
uk.fmuser.org -> ukrainietis
ur.fmuser.org -> urdu
vi.fmuser.org -> vietnamiečių
cy.fmuser.org -> Valų kalba
yi.fmuser.org -> jidiš
Prakalba
H264 vaizdo glaudinimo algoritmas dabar neabejotinai yra plačiausiai naudojamas ir populiariausias iš visų vaizdo glaudinimo būdų. Įvedus atvirojo kodo bibliotekas, tokias kaip x264 / openh264 ir ffmpeg, daugumai vartotojų nebereikia per daug tirti H264 detalių, o tai žymiai sumažina žmonių, naudojančių H264, išlaidas.
Tačiau norint tinkamai panaudoti H264, vis tiek turime išsiaiškinti pagrindinius H264 principus. Šiandien mes apžvelgsime pagrindinius H264 principus.
H264 apžvalga
H264 glaudinimo technologija vaizdo duomenims glaudinti dažniausiai naudoja šiuos metodus. apima:
Vidinio kadro prognozavimo glaudinimas išsprendžia erdvinių duomenų pertekliaus problemą.
Tarp rėmų numatomas suspaudimas (judesio įvertinimas ir kompensavimas) išsprendžia laiko srities duomenų pertekliaus problemą.
Integer Discrete Cosine Transform (DCT), kuris erdvinę koreliaciją paverčia nereikšmingais dažnio srities duomenimis, o tada ją kiekybiškai įvertina.
CABAC suspaudimas.
Suspaustas rėmas yra padalintas į: I rėmelį, P rėmelį ir B rėmą:
„I frame“: klavišo rėmas, naudojant kadro vidaus glaudinimo technologiją.
P rėmelis: priekinis atskaitos rėmelis, kai glaudinamas, nurodo tik anksčiau apdorotą rėmą. Naudokite kadro garso glaudinimo technologiją.
B rėmelis: dvikryptis atskaitos rėmas. Suspaudimo metu jis nurodo ankstesnį ir tolesnį kadrą. Tarprėminio glaudinimo technologijos naudojimas.
Be I / P / B rėmelių, taip pat yra paveikslėlių sekos GOP.
GOP: tarp dviejų I kadrų yra vaizdo seka, o vaizdų sekoje yra tik vienas I kadras. Kaip parodyta žemiau:
Dabar mes išsamiai aprašysime H264 suspaudimo technologiją.
H264 suspaudimo technologija
Pagrindinis H264 principas iš tikrųjų yra labai paprastas, trumpai apibūdinkime duomenų H264 glaudinimo procesą. Kameros užfiksuoti vaizdo kadrai (apskaičiuoti 30 kadrų per sekundę greičiu) siunčiami į H264 kodavimo įrenginio buferį. Koduotojas pirmiausia turi padalyti kiekvieno paveikslėlio makrolygius.
Paimkite šią nuotrauką kaip pavyzdį:
Pasiskirstymo makrokomanda
Pagal numatytuosius nustatymus H264 naudoja 16X16 sritį kaip makrokomandą, taip pat ją galima suskirstyti į 8X8 dydį.
Padaliję makrokomandą, apskaičiuokite makrokomandos pikselių vertę.
Pagal analogiją apskaičiuojama kiekvieno paveikslėlyje esančios „makrokloko“ taškų vertė, o visi makroklokai apdorojami taip.
Pogrupis
„H264“ naudoja gana plokščius vaizdus naudodami 16X16 makroblokus. Tačiau norint pasiekti didesnį suspaudimo laipsnį, mažesnius blokus taip pat galima suskirstyti į 16X16 makroblokus. Subbloko dydis gali būti 8X16, 16X8, 8X8, 4X8, 8X4, 4X4, kuris yra labai lankstus.
Aukščiau pateiktame paveikslėlyje daugumos raudoname rėmelyje esančių 16X16 makroklokų fonas yra mėlynas, o dalis trijų erelių atvaizdo nupiešta šiame makrolygyje. Norint geriau apdoroti dalinius trijų erelių vaizdus, H264 keli blokai yra suskirstyti į 16X16 makroklokus.
Tokiu būdu, suglaudinus kadrą, galima gauti efektyvesnius duomenis. Žemiau pateiktas paveikslėlis yra aukščiau išvardytų makroblokų suspaudimo naudojant atitinkamai mpeg-2 ir H264 rezultatas. Kairioji pusė yra suspaudimo rezultatas po MPEG-2 dalinio bloko padalijimo, o dešinė pusė yra H264 subbloko suspaudimo rezultatas. Galima pastebėti, kad H264 dalijimo metodas turi daugiau privalumų.
Padalinus makrokomandą, visas H264 kodavimo buferio nuotraukas galima sugrupuoti.
Rėmelių grupavimas
Vaizdo duomenims daugiausia yra dviejų tipų duomenų pertekliaus, vienas yra duomenų perteklių laiko atžvilgiu, kitas - duomenų pertekliaus erdvėje. Tarp jų duomenų atleidimas laiku yra didžiausias. Pirmiausia pakalbėkime apie vaizdo duomenų laiko pertekliaus problemą.
Kodėl didžiausias laiko atleidimas iš darbo? Darant prielaidą, kad kamera fiksuoja 30 kadrų per sekundę, šių 30 kadrų duomenys dažniausiai yra susiję. Taip pat gali būti, kad daugiau nei 30 duomenų kadrų, dešimtys kadrų ar šimtai duomenų kadrų yra ypač glaudžiai susiję.
Šiems labai glaudžiai susijusiems kadrams iš tikrųjų mums reikia išsaugoti tik vieną duomenų kadrą, o pagal šį kadrą pagal tam tikras taisykles galima numatyti kitus kadrus, todėl vaizdo duomenys turi daugiausiai laiko.
Norint pasiekti, kad atitinkami rėmeliai suspaustų duomenis taikydami numatymo metodą, reikia sugrupuoti vaizdo kadrus. Taigi, kaip nustatyti, kad tam tikri rėmai yra glaudžiai susiję ir juos galima sugrupuoti? Pažvelkime į pavyzdį. Žemiau pateikiamas judančio biliardo kamuoliukų grupės užfiksuotas vaizdo kadras. Biliardo kamuoliukai rieda iš viršutinio dešiniojo kampo į apatinį kairįjį kampą.
H264 koduotojas kiekvieną kartą išims du gretimus kadrus, kad palygintų makroblokus, kad būtų galima apskaičiuoti dviejų kadrų panašumą. Kaip parodyta žemiau:
Atliekant makrokomandų blokų nuskaitymą ir makrokomandų blokų paiešką, galima pastebėti, kad koreliacija tarp dviejų kadrų yra labai didelė. Be to, nustatyta, kad šios kadrų grupės koreliacijos laipsnis yra labai didelis. Todėl minėtus rėmus galima suskirstyti į vieną grupę. Algoritmas yra toks: gretimuose vaizduose pikseliai, kurie paprastai skiriasi, yra tik 10%, ryškumo skirtumas neviršija 2%, o spalvos skirtumas keičiasi tik 1%. Mes tai manome. Grafikus galima sugrupuoti.
Tokioje kadrų grupėje po kodavimo mes saugome tik visus pirmojo įrašo duomenis, o kiti kadrai apskaičiuojami remiantis ankstesniu kadru. Pirmąjį kadrą vadiname IDR / I rėmeliu, o kitus kadrus - P / B rėmeliais, todėl užkoduotą duomenų rėmelių grupę vadiname GOP.
Judesio įvertinimas ir kompensavimas
Sugrupavus kadrus į H264 kodavimo įrenginį, reikia apskaičiuoti kadrų grupės objektų judesio vektorius. Remdamiesi aukščiau pateiktu judančiu biliardo vaizdo rėmeliu, pažiūrėkime, kaip jis apskaičiuoja judesio vektorių.
H264 koduotojas iš eilės iš buferio antraštės paima du vaizdo duomenų kadrus ir tada atlieka makrokomandų nuskaitymą. Kai viename iš paveikslėlių randamas objektas, paieška atliekama šalia kito paveikslėlio (paieškos lange). Jei šiuo metu objektas randamas kitame vaizde, galima apskaičiuoti objekto judesio vektorių. Šiame paveikslėlyje parodyta biliardo kamuolio padėtis po paieškos.
Atsižvelgiant į biliardo kamuoliukų padėties skirtumą aukščiau esančiame paveikslėlyje, galima apskaičiuoti stalo paveikslo kryptį ir atstumą. H264 užfiksuoja rutulio judėjimo atstumą ir kryptį kiekviename kadre paeiliui, ir jis tampa toks.
Apskaičiavus judesio vektorių, atimama ta pati dalis (ty žalia dalis), kad būtų gauti kompensavimo duomenys. Galų gale mums reikia tik suspausti ir išsaugoti kompensacijos duomenis, o tada dekoduojant galima atkurti pradinį vaizdą. Suglaudintuose duomenyse reikia įrašyti tik nedidelį duomenų kiekį. Taip:
Mes vadiname judesio vektorių ir kompensaciją kaip tarp kadrų glaudinimo technologiją, kuri laiku išsprendžia vaizdo kadrų duomenų perteklių. Be kadrų glaudinimo, kadre taip pat turi būti atliekamas duomenų glaudinimas. Duomenų glaudinimas kadre sprendžia erdvinių duomenų perteklių. Dabar pristatysime kadro viduje suspaudimo technologiją.
Vidinis nuspėjimas
Žmogaus akis atpažįsta vaizdą, ji yra labai jautri žemo dažnio ryškumui ir nėra labai jautri aukšto dažnio ryškumui. Todėl, remiantis kai kuriais tyrimais, iš vaizdo galima pašalinti duomenis, kurie nėra jautrūs žmogaus akims. Tokiu būdu siūloma intra predikcijos technologija.
H264 vidinis kadro glaudinimas yra labai panašus į JPEG. Paveikslėlį padalijus į makroblokus, kiekvieną makrobloką galima numatyti 9 režimais. Raskite numatymo režimą, kuris yra arčiausiai originalaus vaizdo.
Šis paveikslėlis yra kiekvieno makrokomandos bloko numatymo procesas visame paveikslėlyje.
Vaizdas po intra predikcijos ir pradinio vaizdo palyginimas yra toks:
Tada atimamas originalus vaizdas ir numatytas vaizdas, kad gautų likutinę vertę.
Tada išsaugokite anksčiau gautą prognozavimo režimo informaciją, kad dekoduodami galėtume atkurti pradinį vaizdą. Poveikis yra toks:
Po glaudinimo kadre ir tarp kadrų, nors duomenys labai sumažėja, vis tiek yra galimybių optimizuoti.
Atlikite DCT dėl likusių duomenų
Likusiems duomenims galima atlikti sveiką skaičių atskirą kosinuso transformaciją, kad būtų pašalinta duomenų koreliacija ir dar labiau suspausti duomenys. Kaip parodyta toliau pateiktame paveikslėlyje, kairė pusė yra pradinių duomenų makrokomanda, o dešinė - apskaičiuotų liekamųjų duomenų makrokomanda.
Likučių duomenų makrokomanda yra skaitmeninama, kaip parodyta toliau pateiktame paveikslėlyje:
DCT konversija atliekama likusiame duomenų makrolygyje.
Pašalinę susietus duomenis, galime pastebėti, kad duomenys dar labiau suglaudinami.
Atlikus DCT, to nepakanka, o suspaudimui be nuostolių reikia CABAC.
CABAC
Aukščiau pateiktas kadro vidaus suspaudimas yra nuostolinga glaudinimo technika. Kitaip tariant, suglaudinus vaizdą, jo negalima visiškai atkurti. CABAC yra be nuostolių glaudinimo technologija.
Visiems labiausiai gali būti žinoma be nuostolių glaudinimo technologija - „Huffman“ kodavimas - trumpasis aukštų dažnių žodžių kodas, ilgas žemų dažnių žodžių kodas, skirtas duomenų glaudinimo tikslui pasiekti. MPEG-2 naudojamas VLC yra tokio tipo algoritmas, pavyzdžiu laikome AZ, A priklauso aukšto dažnio duomenims, o Z - žemo dažnio duomenims. Pažiūrėk, kaip tai daroma.
CABAC taip pat yra trumpasis aukšto dažnio duomenų kodas ir ilgasis žemų dažnių duomenų kodas. Tuo pačiu metu jis bus suspaustas pagal kontekstą, kuris yra daug efektyvesnis nei VLC. Poveikis yra toks:
Dabar pakeiskite AZ vaizdo rėmeliu ir jis atrodys taip.
Iš aukščiau pateikto paveikslo akivaizdu, kad be nuostolių glaudinimo schema, naudojant CACBA, yra daug efektyvesnė nei VLC.
santrauka
Šiuo metu mes baigėme H264 kodavimo principą. Šiame straipsnyje daugiausia kalbama apie šiuos dalykus:
1. Jianyinas įvedė keletą pagrindinių sąvokų H264. Tokie kaip I / P / B rėmas, GOP.
2. Išsamiai paaiškino pagrindinius H264 kodavimo principus, įskaitant:
Makrokomandų padalijimas
Vaizdų grupavimas
Intra kadro glaudinimo technologijos principas
Tarp kadrų suspaudimo technologijos principas.
SKD
CABAC suspaudimo principas.
|
Įveskite el. Pašto adresą, kad gautumėte staigmeną
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikanų kalba
sq.fmuser.org -> albanų
ar.fmuser.org -> arabų
hy.fmuser.org -> armėnas
az.fmuser.org -> azerbaidžanietis
eu.fmuser.org -> baskų
be.fmuser.org -> baltarusių
bg.fmuser.org -> bulgarų
ca.fmuser.org -> katalonų
zh-CN.fmuser.org -> kinų (supaprastinta)
zh-TW.fmuser.org -> kinų (tradicinė)
hr.fmuser.org -> kroatų
cs.fmuser.org -> čekų
da.fmuser.org -> danų
nl.fmuser.org -> Olandų
et.fmuser.org -> estų
tl.fmuser.org -> filipinietis
fi.fmuser.org -> suomių
fr.fmuser.org -> prancūzų
gl.fmuser.org -> Galisų
ka.fmuser.org -> gruzinų
de.fmuser.org -> vokiečių kalba
el.fmuser.org -> graikų
ht.fmuser.org -> Haičio kreolis
iw.fmuser.org -> hebrajų
hi.fmuser.org -> hindi
hu.fmuser.org -> vengrų
is.fmuser.org -> islandų
id.fmuser.org -> indoneziečių
ga.fmuser.org -> airių
it.fmuser.org -> italų kalba
ja.fmuser.org -> japonų
ko.fmuser.org -> korėjiečių
lv.fmuser.org -> latvių
lt.fmuser.org -> lietuvis
mk.fmuser.org -> makedonų
ms.fmuser.org -> malajiečių
mt.fmuser.org -> maltiečių
no.fmuser.org -> norvegų
fa.fmuser.org -> persų
pl.fmuser.org -> lenkų
pt.fmuser.org -> portugalų
ro.fmuser.org -> rumunų
ru.fmuser.org -> rusų
sr.fmuser.org -> serbų
sk.fmuser.org -> slovakų
sl.fmuser.org -> slovėnų
es.fmuser.org -> ispanų
sw.fmuser.org -> svahili kalba
sv.fmuser.org -> švedų
th.fmuser.org -> Tailando
tr.fmuser.org -> turkų
uk.fmuser.org -> ukrainietis
ur.fmuser.org -> urdu
vi.fmuser.org -> vietnamiečių
cy.fmuser.org -> Valų kalba
yi.fmuser.org -> jidiš
„FMUSER Wirless“ perduoda vaizdo ir garso įrašus lengviau!
Susisiekite su mumis
Adresas:
Nr. 305 kambarys „HuiLan“ pastatas Nr. 273 Huanpu Road Guangdžou, Kinija 510620
Kategorijos
Naujienlaiškis