FMUSER Wirless edastab videot ja heli lihtsamalt!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albaania keel
ar.fmuser.org -> araabia
hy.fmuser.org -> Armeenia
az.fmuser.org -> aserbaidžaanlane
eu.fmuser.org -> baski keel
be.fmuser.org -> valgevenelane
bg.fmuser.org -> Bulgaaria
ca.fmuser.org -> katalaani keel
zh-CN.fmuser.org -> hiina (lihtsustatud)
zh-TW.fmuser.org -> Hiina (traditsiooniline)
hr.fmuser.org -> horvaadi keel
cs.fmuser.org -> tšehhi
da.fmuser.org -> taani keel
nl.fmuser.org -> Hollandi
et.fmuser.org -> eesti keel
tl.fmuser.org -> filipiinlane
fi.fmuser.org -> soome keel
fr.fmuser.org -> Prantsusmaa
gl.fmuser.org -> galicia keel
ka.fmuser.org -> gruusia keel
de.fmuser.org -> saksa keel
el.fmuser.org -> Kreeka
ht.fmuser.org -> Haiti kreool
iw.fmuser.org -> heebrea
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungari
is.fmuser.org -> islandi keel
id.fmuser.org -> indoneesia keel
ga.fmuser.org -> iiri keel
it.fmuser.org -> Itaalia
ja.fmuser.org -> jaapani keel
ko.fmuser.org -> korea
lv.fmuser.org -> läti keel
lt.fmuser.org -> Leedu
mk.fmuser.org -> makedoonia
ms.fmuser.org -> malai
mt.fmuser.org -> malta keel
no.fmuser.org -> Norra
fa.fmuser.org -> pärsia keel
pl.fmuser.org -> poola keel
pt.fmuser.org -> portugali keel
ro.fmuser.org -> Rumeenia
ru.fmuser.org -> vene keel
sr.fmuser.org -> serbia
sk.fmuser.org -> slovaki keel
sl.fmuser.org -> Sloveenia
es.fmuser.org -> hispaania keel
sw.fmuser.org -> suahiili keel
sv.fmuser.org -> rootsi keel
th.fmuser.org -> Tai
tr.fmuser.org -> türgi keel
uk.fmuser.org -> ukrainlane
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> kõmri keel
yi.fmuser.org -> Jidiši
eessõna
H264 videotihendusalgoritm on nüüd kahtlemata kõige laialdasemalt kasutatav ja populaarseim kõigist videotihendusmeetoditest. Avatud lähtekoodiga teekide nagu x264 / openh264 ja ffmpeg kasutuselevõtuga ei pea enamik kasutajaid enam H264 üksikasju liiga palju uurima, mis vähendab oluliselt H264 kasutavate inimeste kulusid.
Kuid H264 korralikuks kasutamiseks tuleb ikkagi välja mõelda H264 põhiprintsiibid. Täna heidame pilgu H264 põhiprintsiipidele.
H264 ülevaade
H264 tihendustehnoloogia kasutab videoandmete tihendamiseks peamiselt järgmisi meetodeid. hulka kuuluvad:
Kaadrisisene ennustustihendus lahendab ruumiandmete koondamise probleemi.
Kaadritevahelise ennustuse tihendamine (liikumise hindamine ja kompenseerimine) lahendab ajadomeeni andmete koondamise probleemi.
Integer Discrete Cosine Transform (DCT), mis muudab ruumilise korrelatsiooni ebaolulisteks andmeteks sagedusalas ja seejärel kvantiseerib selle.
CABAC-tihendus.
Kokkusurutud raam jaguneb: I raamiks, P kaadriks ja B raamiks:
I raam: võtmeraam, kasutades kaadrisisest tihendustehnoloogiat.
P raam: ettepoole suunatud viiteraam viitab tihendamisel ainult eelnevalt töödeldud kaadrile. Kasutage raami heli tihendamise tehnoloogiat.
B raam: kahesuunaline võrdlusraam. Tihendamise ajal viitab see eelmisele ja järgmisele kaadrile. Kaadritevahelise tihendamise tehnoloogia kasutamine.
Lisaks I / P / B kaadritele on olemas ka pildijärjestused GOP.
GOP: kahe I kaadri vahel on pildijada ja pildijadas on ainult üks I kaader. Nagu allpool näidatud:
Nüüd kirjeldame üksikasjalikult H264 tihendustehnoloogiat.
H264 tihendustehnoloogia
H264 põhiprintsiip on tegelikult väga lihtne, kirjeldame lühidalt andmete H264 tihendamise protsessi. Kaamera jäädvustatud videokaadrid (arvutatud kiirusega 30 kaadrit sekundis) saadetakse H264 kodeerija puhvrisse. Kooder peab esmalt jagama iga pildi jaoks makroplokid.
Võtke näiteks järgmine pilt:
Partitsiooni makroplokk
H264 kasutab vaikimisi makroplokina 16X16 ala ja selle saab jagada ka suuruseks 8X8.
Pärast makroploki jagamist arvutage makroploki piksliväärtus.
Analoogia põhjal arvutatakse pildil iga makroploki piksliväärtus ja kõiki makroplokke töödeldakse järgmiselt.
Alamplokk
H264 kasutab suhteliselt lamedate piltide jaoks 16X16 makroplokke. Kõrgema tihendusastme saavutamiseks võib väiksemad alamplokid jagada ka 16X16 makroplokkideks. Alamploki suurus võib olla 8X16, 16X8, 8X8, 4X8, 8X4, 4X4, mis on väga paindlik.
Ülaltoodud pildil on enamikul punases raamis olevatest 16X16 makroplokkidest sinine taust ja osa kolme kotka pildist on selles makroplokkis joonistatud. Kolme kotka osaliste piltide paremaks töötlemiseks jagatakse H264 mitu alamplokki 16X16 makroplokkideks.
Nii saab pärast kaadrisisest tihendamist saada tõhusamaid andmeid. Allolev joonis on ülaltoodud makroplokkide kokkusurumise tulemus vastavalt mpeg-2 ja H264 abil. Vasak pool on MPEG-2 alamplokkide jagamise järgse kokkusurumise tulemus ja parem pool on H264 alamplokkide kokkusurumise tulemus. On näha, et H264 jagamismeetodil on rohkem eeliseid.
Pärast makroploki jagamist saab kõik H264 kodeerijapuhvris olevad pildid grupeerida.
Kaadrite grupeerimine
Videoandmete jaoks on peamiselt kahte tüüpi andmete koondamist, üks neist on ajaline üleliigne ja teine ruumis. Nende hulgas on ajaline andmete koondamine kõige suurem. Räägime kõigepealt videoandmete aja koondamise probleemist.
Miks on aja koondamine kõige suurem? Eeldades, et kaamera jäädvustab 30 kaadrit sekundis, on nende 30 kaadri andmed enamasti seotud. Samuti on võimalik, et rohkem kui 30 andmekaadrit, kümneid kaadreid või sadu kaadreid andmeid on eriti tihedalt seotud.
Nende väga tihedalt seotud kaadrite jaoks peame tegelikult salvestama vaid ühe andmekaadri ja sellest kaadrist saab teatud reeglite järgi ennustada teisi kaadreid, seega on videoandmetel kõige rohkem aega.
Selle saavutamiseks, et vastavad kaadrid andmeid ennustusmeetodi kaudu kokku suruksid, on vaja videokaadrid rühmitada. Niisiis, kuidas teha kindlaks, et teatud raamid on omavahel tihedalt seotud ja neid saab kokku rühmitada? Vaatame ühte näidet. Allpool on pildistatud videokaader liikuvas piljardikuulide rühmas. Piljardikuulid veerevad paremast ülanurgast vasakusse alumisse nurka.
Kooder H264 võtab iga kord välja kaks kõrvuti asetsevat kaadrit, et makroplokke võrrelda, et arvutada kahe kaadri sarnasus. Nagu allpool näidatud:
Läbi makrobloki skannimise ja makroploki otsingu võib leida, et korrelatsioon kahe kaadri vahel on väga kõrge. Lisaks leitakse, et selle kaadrirühma korrelatsiooniaste on väga kõrge. Seetõttu saab ülaltoodud raamid jagada ühte rühma. Algoritm on järgmine: külgnevatel piltidel on üldiselt erinevad pikslid ainult 10% piires, heleduse erinevus ei ületa 2% ja värvide erinevus muutub ainult 1% piires. Me arvame seda. Graafikuid saab grupeerida.
Sellises kaadrite rühmas säilitame pärast kodeerimist ainult esimese postituse täielikud andmed ja teised kaadrid arvutatakse eelmisele kaadrile viidates. Esimest kaadrit nimetame IDR / I kaadriks ja teisi kaadreid, mida nimetame P / B kaadriks, seega kutsume kodeeritud andmekaadrühma GOP.
Liikumise hindamine ja kompenseerimine
Pärast kaadrite grupeerimist kooderis H264 on vaja arvutada kaadrirühma objektide liikumisvektorid. Võttes näiteks ülaltoodud liikuva piljardi videoraami, vaatame, kuidas see arvutab liikumisvektori.
Kooder H264 võtab puhvri päisest kõigepealt järjestikku välja kaks videoandmete kaadrit ja teostab seejärel makroplokkide skannimise. Kui ühelt pildilt on objekt leitud, tehakse otsing teise pildi läheduses (otsinguaknas). Kui objekt on sel ajal leitud teiselt pildilt, saab objekti liikumisvektori välja arvutada. Järgmisel pildil on piljardikuuli asukoht pärast otsimist.
Ülaltoodud pildil oleva piljardikuulide asetuste erinevuse kaudu saab arvutada lauapildi suuna ja kauguse. H264 registreerib kordamööda igas kaadris palli liikumise kauguse ja suuna ning sellest saab järgmine.
Pärast liikumisvektori arvutamist lahutatakse kompensatsiooniandmete saamiseks sama osa (see tähendab roheline osa). Lõpuks peame ainult kompenseerimise andmed kokku pakkima ja salvestama ning siis saab dekodeerimisel algse pildi taastada. Tihendatud andmed peavad salvestama ainult väikese koguse andmeid. Järgnevalt:
Nimetame liikumisvektorit ja kompenseerimist kui kaadritevahelist tihendustehnoloogiat, mis lahendab videokaadrite andmete üleliigsuse õigeaegselt. Lisaks kaadritevahelisele tihendamisele tuleb kaadrisiseselt läbi viia ka andmete tihendamine. Kaadrisisene andmete tihendamine lahendab ruumiandmete üleliigsuse. Nüüd tutvustame kaadrisisest tihendustehnoloogiat.
Intraennustus
Inimsilm tunneb pilti teatud määral ära, see on väga tundlik madalsageduse heleduse suhtes ega ole eriti tundlik kõrgsageduse heleduse suhtes. Seetõttu saab mõnede uuringute põhjal pildilt eemaldada andmed, mis pole inimese silmade suhtes tundlikud. Sel viisil pakutakse välja intraennustamise tehnoloogia.
H264 kaadrisisene tihendamine on väga sarnane JPEG-ga. Pärast seda, kui pilt on jagatud makroplokkideks, saab iga makroplokki ennustada 9 režiimis. Leidke ennustusrežiim, mis on originaalpildile kõige lähemal.
Järgmine pilt on kogu makro iga makroploki ennustamise protsess.
Intraennustamise järgse pildi ja algse pildi võrdlus on järgmine:
Seejärel lahutatakse jääkväärtuse saamiseks algne pilt ja prognoositud pilt.
Seejärel salvestage ennustusrežiimi teave, mille saime enne, et saaksime dekodeerimisel algse pildi taastada. Mõju on järgmine:
Pärast kaadrisisest ja kaadritevahelist tihendamist on andmete optimeerimise võimalus küll suur, kuid optimeerimiseks on siiski ruumi.
Tehke DCT jääkandmetele
Andmete korrelatsiooni eemaldamiseks ja andmete täiendavaks kokkusurumiseks võib jääkandmeid allutada täisarvu diskreetsele koosinusmuundamisele. Nagu on näidatud alloleval joonisel, on vasak pool algandmete makroplokk ja paremal pool arvutatud jääkandmete makroplokk.
Jääkandmete makroplokk digiteeritakse, nagu on näidatud alloleval joonisel:
DCT teisendamine viiakse läbi jääkandmete makroplokil.
Pärast seotud andmete eemaldamist näeme, et andmed tihendatakse veelgi.
Pärast DCT-i tegemist ei piisa sellest ja kadudeta tihendamiseks on vaja CABAC-i.
CABAC
Ülaltoodud kaadrisisene tihendamine on kadudega pakkimistehnika. Teisisõnu, pärast pildi kokkusurumist ei saa seda täielikult taastada. CABAC on kadudeta tihendustehnoloogia.
Kaotusteta pakkimistehnoloogia võib olla kõigile kõige tuttavam - Huffmani kodeerimine, lühikood kõrgsageduslike sõnade jaoks, pikk kood madalsageduslike sõnade jaoks andmete tihendamise eesmärgi saavutamiseks. MPEG-2-s kasutatud VLC on selline algoritm, võtame näiteks AZ, A kuulub kõrgsagedusandmetesse ja Z madalsagedusandmetesse. Vaadake, kuidas seda tehakse.
CABAC on ka lühikood kõrgsagedusandmete jaoks ja pikk kood madalsagedusandmete jaoks. Samal ajal tihendab see konteksti põhjal, mis on palju tõhusam kui VLC. Mõju on järgmine:
Nüüd asendage AZ videokaadriga ja see näeb välja järgmine.
Ülaltoodud pildi põhjal on ilmne, et CACBA-d kasutav kadudeta tihendusskeem on palju tõhusam kui VLC.
kokkuvõte
Siinkohal oleme lõpetanud H264 kodeerimise põhimõtte. Selles artiklis räägitakse peamiselt järgmistest punktidest:
1. Jianyin tutvustas H264-s mõningaid põhimõisteid. Näiteks I / P / B raam, GOP.
2. Selgitas üksikasjalikult H264 kodeerimise põhiprintsiipe, sealhulgas:
Makroplokkide jagamine
Piltide rühmitamine
Kaadrisisese tihendamise tehnoloogia põhimõte
Kaadritevahelise tihendamise tehnoloogia põhimõte.
DCT
CABAC tihendamise põhimõte.
|
Üllatuse saamiseks sisestage e-posti aadress
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albaania keel
ar.fmuser.org -> araabia
hy.fmuser.org -> Armeenia
az.fmuser.org -> aserbaidžaanlane
eu.fmuser.org -> baski keel
be.fmuser.org -> valgevenelane
bg.fmuser.org -> Bulgaaria
ca.fmuser.org -> katalaani keel
zh-CN.fmuser.org -> hiina (lihtsustatud)
zh-TW.fmuser.org -> Hiina (traditsiooniline)
hr.fmuser.org -> horvaadi keel
cs.fmuser.org -> tšehhi
da.fmuser.org -> taani keel
nl.fmuser.org -> Hollandi
et.fmuser.org -> eesti keel
tl.fmuser.org -> filipiinlane
fi.fmuser.org -> soome keel
fr.fmuser.org -> Prantsusmaa
gl.fmuser.org -> galicia keel
ka.fmuser.org -> gruusia keel
de.fmuser.org -> saksa keel
el.fmuser.org -> Kreeka
ht.fmuser.org -> Haiti kreool
iw.fmuser.org -> heebrea
hi.fmuser.org -> hindi
hu.fmuser.org -> Ungari
is.fmuser.org -> islandi keel
id.fmuser.org -> indoneesia keel
ga.fmuser.org -> iiri keel
it.fmuser.org -> Itaalia
ja.fmuser.org -> jaapani keel
ko.fmuser.org -> korea
lv.fmuser.org -> läti keel
lt.fmuser.org -> Leedu
mk.fmuser.org -> makedoonia
ms.fmuser.org -> malai
mt.fmuser.org -> malta keel
no.fmuser.org -> Norra
fa.fmuser.org -> pärsia keel
pl.fmuser.org -> poola keel
pt.fmuser.org -> portugali keel
ro.fmuser.org -> Rumeenia
ru.fmuser.org -> vene keel
sr.fmuser.org -> serbia
sk.fmuser.org -> slovaki keel
sl.fmuser.org -> Sloveenia
es.fmuser.org -> hispaania keel
sw.fmuser.org -> suahiili keel
sv.fmuser.org -> rootsi keel
th.fmuser.org -> Tai
tr.fmuser.org -> türgi keel
uk.fmuser.org -> ukrainlane
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnam
cy.fmuser.org -> kõmri keel
yi.fmuser.org -> Jidiši
FMUSER Wirless edastab videot ja heli lihtsamalt!
Saada sõnum
Aadress:
Nr 305 tuba HuiLan Building No.273 Huanpu Road Guangzhou, Hiina 510620
Kategooriad
Uudiskiri