Ero sivun ”MPEG-2” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
Mysid (keskustelu | muokkaukset)
p kh
Jozzu (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 27:
 
Ensimmäinen periaatteista on sama, jota käytetään esimerkiksi tietokoneohjelmien pakkauksessa. Menetelmiä on useita ja ne perustuvat erilaisiin matemaattisiin malleihin. Tuloksena on data, jonka avulla voidaan rakentaa täysin identtinen kuva alkuperäisen kanssa. Kyseessä on siten häviötön pakkausmuoto. Häviöttömien menetelmien heikkoutena on rajallinen pakkaussuhde, eivätkä ne siten yksin riitä video-ohjelmaa pakatessa.
 
== I, P ja B -kuvatyypit ==
MPEG-2 muodostuu erilaisista kuva tyypeistä, joita on kolme kappaletta I(Intra), P(Predicted) ja B(Bidirectional). Kukin kuvatyyppi sisältää kuvan tai ennusteen. MPEG-2:ssa kuvanäytteen koko on 16*16 [[pikseli]]ä. Ensin kuvanäyte muokataan [[RGB]] -muodosta [[YCbCr]] -muotoon. Dataa tiivistetään siten, että ensin vertaillaan ajallista toistoa tutkimalla peräkkäisiä kuvia. Tämän jälkeen suoritetaan DCT -muunnos jakamalla kuva 8*8 [[pikseli]]n lohkoihin. Viimeisenä tehdään [[kvantisointi]], jossa informaatiota hukataan. Ajallisessa tiivistämisessä on huomioitava peräkkäisten kuvien sisältävä [[redundanssi]]. Tämä tapahtuu parhaiten siten, että lähetään säännöllisin välein näyte ”aidosta” kuvasta, jonka jälkeen kuvataan tähän referenssikuvaa tulleita muutoksia. Tämä tuo mukanaan I, P ja B -kuvatyypit. Nämä kuvatyypit muodostavat kuvaryhmän GOP (Group Of Pictures).
 
I -kuvien tiivistyssuhde on huonoin, sillä se sisältää vain kuvassa itsessään olevaan tietoa, jonka perusteella koodataan P -ja B -kuvat. I kuvat koodataan [[JPEG]] -tyyppisesti. P -kuva tehdään käyttämällä edellisen P -tai I -kuvan informaatiota, tätä kutsutaan eteenpäin ennustamiseksi. P -kuvassa vähennetään sekä ajallista, että paikallista redundanssia, jolloin saadaan aikaiseksi I -kuvia parempi tiivistysaste. B -kuvat tarjoavat parhaimman tiivistyssuhteen, sillä ne sisältävät vähiten tietoa. B -kuvat luodaan käyttämällä joko edellisen tai seuraavan I -tai P -kuvan tietoja. Kuvaryhmiä on kahdenlaisia: suljettuja ja avoimia. Suljetussa kuvaryhmässä viimeinen B -kuva voi viitata seuraavan kuvaryhmän I -kuvaan. Avoimessa kuvaryhmässä ei taas ole viitteitä ulkopuolisiin ryhmiin.
 
Ennusteen laskeminen P -kuvassa toimii seuraavasti. Valitaan 16*16 -pikselin kokoinen lohko, joka muodostuu neljästä [[luminanssi]]lohkosta ja kahdesta [[krominanssi]]lohkosta. Tämän jälkeen sitä verrataan siirrettyyn referenssikuvaan, ja pyritään hakemaan referenssikuvasta sellainen 16*16 -[[pikseli]]n alue, joka on mahdollisimman samankaltainen valitun lohkon kanssa. Jos molemmat lohkot sijaitsevat samassa paikassa (x,y), tulee niin sanotun siirtymävektorin arvoksi 0. Muussa tapauksessa siirtymävektorille lasketaan arvo. Tämän lisäksi referenssikuvan ja koodauksessa olevan kuvan lohkojen erotus lasketaan ja sille suoritetaan DCT -muunnos ja [[kvantisointi]]. Näin saatu P -kuva lähetetään yhdessä siirtymävektorin kanssa vastaanottajalle. Jos vastaavaa ruutua ei löydy, kyseinen lohko koodataan I -kuvaksi, eikä siinä enää käytetä referenssikuvan tietoja.
 
B -kuvat koodataan samalla tavalla, kuin P -kuvat, sillä poikkeuksella, että B -kuvien referenssi ovat kuvaosassa sekä koodattavan B -kuvan edessä, että takana. Tässä saatu tulos menee DCT -muunnokseen ja koodaukseen kahden siirtymävektorin kanssa.
 
 
== Katso myös ==
Noudettu kohteesta ”https://fi.wikipedia.org/wiki/MPEG-2