Az MPEG tömörítés
Mit jelent a tömörítés pontosan? Célja az adatok feldolgozása oly módon, hogy azok: minél kevesebb helyet foglaljanak, minél gyorsabban lehessen őket továbbítani. Ez azért lehetséges, mert az adatok általában nem a legtömörebb formában vannak jelen. Kétféle adattömörítési megoldás létezik: veszteségmentes tömörítés veszteséges tömörítés (adott hibaarányban)
Veszteségmentes tömörítés Akkor alkalmazzuk, ha fontos az adatok pontos visszanyerhetősége vagy nem tudni, hogy az esetleges eltérések kritikusak lehetnek-e. Ilyenek például: az archív fájlformátumok a szövegek a futtatható állományok és a forráskódok néhány kép-, hang- és videóformátum (pl. FLAC)
A veszteségmentes tömörítés módszerei Futáshossz-kódolás (RLE) pl. RLE, PCX képformátumoknál Huffman-kódolás Aritmetikai kódolás LZ tömörítési eljárások (LZ77, LZ78, LZW, stb.) pl. GIF (LZW) Burrows-Wheeler transzformáció DEFLATE pl. PNG, gzip, PKZIP RLE: az adatban található, hosszasan ismétlődő karaktereket egyetlen értékként és számként tárolják, az eredeti teljes karaktersorozat helyett. Huffman: a kódolandó anyagban lévő elemek előfordulási gyakorisága alapján készít változó szóhosszúságú kódokat. Aritmetikai kódolás: az egész adatot egy számmal helyettesítjük. LZ77: az LZ77 alapú tömörítők letárolják az n db utolsó byte-ot, és amikor egy olyan byte-csoportot találnak, mely szerepel ebben a pufferben, akkor a byte-csoport helyett annak a pufferben lévő helyét és hosszát tárolják le. LZ78: az algoritmus alapja, hogy egy táblát épít fel folyamatosan, melybe mindig belehelyezi az aktuális byte-csoportokat. Ha egy olyan byte-csoportot talál, mely már szerepel a sztringtáblában, akkor a táblában elfoglalt helye kerül letárolásra. Az ezen alapuló algoritmusok csak a tábla kezelésében és tárolásában különböznek. LZW: alapjaiban megegyezik az LZ78-cal. Az LZW a tábla tárolásában hozott forradalmi újítást, ugyanis az LZW táblájába nem az egész byte-csoport kerül bele, hanem csak a byte-csoport első byte-ja, majd egy, már a táblában szereplő byte-csoport indexe. BWT: amennyiben az eredeti sztring számos, gyakorta fellelhető rész-sztringet tartalmazott, akkor a BWT-vel való átalakítás után kijövő sztring számos helyen fog hosszabb, azonos betűből álló sorokat tartalmazni. Ez hasznos az adattömörítésre, hiszen általánosságban elmondható, hogy az ismétlődő mintázatokkal vagy karakterekkel rendelkező sztringeket könnyebb tömöríteni. DEFLATE: az LZ77-en és a Huffman-kódoláson alapuló tömörítési eljárás.
Veszteséges tömörítés Nem teszi lehetővé a tömörített adatból a pontos, eredeti adat visszaállítását. A veszteséges tömörítést leggyakrabban kódek néven emlegetik. A veszteséges tömörítés nem feltétlenül jelent érzékelhető adatvesztést. A médiaformátumok kódolásai pont ezt használják ki. Az adatvesztés nyomait nem biztos, hogy halljuk vagy látjuk az érzékszervi korlátokból adódóan.
Veszteséges tömörítés 0% veszteség, 38,9 kB 97% veszteség, 1,2 kB 98,5% veszteség, 662 B Példa a veszteséges tömörítésre (JPEG)
A veszteséges tömörítés módszerei Diszkrét cosinus-átalakításokra (DCT) alapuló kódolások Hangok (MDCT): MP3, AAC, Vorbis (OGG), WMA Képanyag: JPEG, M-JPEG, MPEG, DV, Theora (OGV) Fraktáltömörítés Nem annyira elterjedt képtömörítési módszer. Hullámtömörítés / Wavelet átalakítás (DWT) pl. JPEG-2000, DjVu, ECW DCT: alapja a Fourier-transzformáció. Szinuszos alapjelek összegeként elő tudunk állítani bármilyen periodikus, folytonos függvényt a segítségével. Tehát a tömörítendő függvényt (pl. JPEG esetében x=kép szélessége, y=kép magassága) szinuszok és koszinuszok összegére bontja. MDCT: módosított! Fraktál: önhasonló geometriai alakzat. Egy-egy kisebb rész felnagyítva ugyanolyan struktúrát mutat, mint egy-egy nagyobb. Fraktáltömörítés: a kép egymáshoz hasonlító részeiből készít fraktálkódot, amiből visszanyerhető az eredeti kép. DWT: Nem szinuszokra bontja a jelet, hanem különböző frekvenciájú négyszögjelekre.
Fontosabb videóformátumok AVI (Audio Video Interleaved) – Microsoft MOV (QuickTime) – Apple FLV (Flash Video) – Macromedia/Adobe MPEG csoport AVI: Az első tömörítési mód a Microsoft által kifejlesztett AVI rövidítésű formátum. Azt jelentette, hogy a kiolvasás gyorsítására a gép az audiót és a videót egy fájlba csomagolta (audio video interleave, 1992). Napjainkig nagyon sokféle tömörítés avi jellegű, tehát ez ma már egy gyűjtőfogalom, mert az avi tömörítések ma sokféle, változó minőségű csoportot alkotnak. Eleinte a már említett gyengített felbontásokban használták 160*120, 320*240 képponttal. Ezek a képek a kontúrok mentén képződő lépcsőhatás miatt teljes képernyőn nem élvezhetők. A 640*480 már kisebb képernyőn is megfelelő lehet, majd a 800*600, 1024*768 felbontás a nagyobb képernyőn, esetleg videoprojektoron kivetítve is, az 1-2 méteres átlójú képig élvezhetők. MOV: Az Apple cég dolgozta ki a Quick Time tömörítést. Számos verziója született, a korai kisfelbontású, 15fps sebességű képeket teljes képernyős és 25fps sebességű szabvány váltotta, mely már Windows platformon is megtekinthető, ez a verzió (QT6, 2002) már MPEG-4 tömörítésen alapult. A 7. verzió 2005-től H.264/MPEG-4 kodekkel HD anyagok tömörítésére is alkalmas. Ez gyakori tömörítési formátum digitális fényképezőgépeknél is. FLV: Az FLV formátum 2003-ban jelent meg, világszerte a legelterjedtebb, az ún. streaming média csoportba tartozik. Tehát itt a film letöltésének megkezdésével rögtön el is indul a lejátszás. Amióta az Adobe cég felvásárolta a Macromédiát az Adobe szoftverek is támogatják ezt a formátumot. Többféle kódekkel is készülhet.
Egyéb videóformátumok Bitsűrűség (Mbps) Fájltípus Tároló Videókódek Felbontás FPS ráta Hangkódek
Képfelbontás-szabványok
Mi az az MPEG? ISO-MPEG International Organization for Standardization - Moving Picture Experts Group, melynek jelentése: Nemzetközi Szabványosítási Szervezet – Mozgókép Szakértői Csoport Az MPEG egy széles körben alkalmazott szabvány a videó (kép és hang) digitális adatfolyamának tömörítésére, az ehhez kapcsolódó specifikációkat tartalmazza. A különböző MPEG formátumok kidolgozása és fejlesztése folyamatos.
Mi az az MPEG? Az MPEG tömörítés a videó/audió adatfolyam digitális méretét csökkenti, rendkívül számításigényes, veszteséges tömörítő eljárással. Egy MPEG adatfolyam jól elkülöníthető video- és audióadatokat, a hozzájuk tartozó szinkron információkat és egyéb lejátszással és tömörítéssel kapcsolatos információkat tartalmazhat.
Mi az az MPEG? Az MPEG videó képváltási frekvenciája és az MPEG audió mintavételi frekvenciája szigorúan meghatározott. A különféle MPEG formátumok a különböző felhasználási területekhez igazodó adatátvitelt és minőséget célozzák meg, kódjuk azokhoz optimalizált.
MPEG-szabványok Szabvány Bitráta Alkalmazások MPEG-1 1,5 Mibit/sec-ig CD-ROM, Video-CD MPEG-2 4-9 Mibit/sec DVD-videó, SD felbontású közvetítés, telekommunikáció MPEG-3 15-40 Mibit/sec HDV, HDTV, HD műsorszórás MPEG-4 (mp4) kis sávsz. 4,8 - 128 Kibit/s videotelefon analóg vonalon, elektronikus újságok, interaktív multimédia adatbázisok nagy s. / SSP 600 Mibit/s-ig Professzionális közvetítés, HD stúdió- és utómunka, stúdiók közötti adatcsere nagy s. / SCP 10-20 Mbit/s-ig nagyfelbontású videók H.264 kódolása, digitális földi és műholdas HDTV adatátvitel Mértékegységek bináris prefixummal: Kibit = kibibit (1024 bit) Mibit = mebibit (1048576 vagy 1024^2 bit) Az MPEG-3 szabvány gyakorlatban nem létezik, mert az MPEG-2 kiterjesztése megvalósította a kitűzéseit. MPEG-3 != mp3!! Viszont: MPEG-4 = mp4 MPEG-4: - SSP: Studio Simple Profile - SCP: Studio Core Profile
MPEG hangszabványok MPEG-1 Audio – ennek a szabványnak 3 rétege van, amelyek felülről kompatibilisek egymással MPEG-1 Audio Layer I – egy beérkezett javaslat, a MUSICAM butított változata MPEG-1 Audio Layer II (mp2) – a MUSICAM optimalizált változata MPEG-1 Audio Layer III (mp3) – egy másik projekt, az ASPEC, amelyet összhangba hoztak a MUSICAM-mel Az MP3 története tulajdonképpen a ’70-es évek elejére nyúlik vissza, amikor Dieter Steitzer a Nünbergi Egyetem professzora telefonvonalakon keresztül átvitt magas minőségű beszéd módszerén kezdett dolgozni, és tanítványaiból kutatócsoportot hozott létre. Az egyik tanítvány Karlheinz Brandenburg kezdett el először alkalmazni pszicho-akusztikus elveket a tömörítésben. A Nünbergi Egyetem és a Fraunhofer Intézet 1987-ben közös projectben vettek részt az EU EUREKA projectjének keretében Heinz Gerhäuser professzor vezetésével. A Brandenburg által kifejlesztett OCF (Optimum Coding in the Frequency Domain) algoritmusát a kutatócsoport tovább optimalizálta, és a Hannoveri Egyetemmel, az AT&T és a Thomson vállalattokkal közösen nagy teljesítményű audio kodeket fejlesztettek ki ASPEC (Adaptive Spectral Perceptual Entropy Coding) néven. Az ASPEC közte volt annak a 14 javaslatnak, melyet az MPEG bizottság felhívására beérkezett. A bizottság végül 3 réteg kialakítása mellett döntött. A Layer-1 alapja egy másik beérkezett javaslat a MUSICAM (Masking pattern adapted Universal Subband Integrated Codind And Multiplexing) lebutított változata lett, a Layer-2 a MUSICAM optimalizált változata, a Layer-3 alapja, pedig az ASPEC rendszer, melyet tovább optimalizáltak és harmonizáltak a MUSICAM rendszerrel. Ezekkel tömörítik az MPEG videók hangsávját.
MPEG hangszabványok MPEG-2 Audio – átvette az MPEG-1 hangszabvány három rétegét Multichannel coding – lehetővé tesz kettőnél több hangcsatorna tárolását, 5.1-ig Visszafelé kompatibilis az MPEG-1 audiószabványával
Egyéb MPEG-szabványok A további MPEG formátumok már nem köthetők szorosan a videó/audió kódolásához, illetve az MPEG-21 már is tartalomtömörítésről szól. MPEG-7: Multimedia Content Description Interface. Nevének megfelelően multimédia tartalmak (állókép, grafika, 3D modell, audió, beszéd, video, és kompozíciós információk), prezentációk kódolására, közvetítésére. MPEG-21: Egy átfogó szabvány hálózatos digitális multimédia tartalmak leírására, keresésére, tárolására, eredetiség-védelmére.
Az MPEG kódolása Az MPEG a szükséges tömörítési arányt a videó-adatfolyamban Képkockán belüli kódolással (Intra-frame coding) és a Képkockák közötti kódolással (Interframe coding), az ismétlődő vizuális információk kiszűrésével valósítja meg. Képkockán belüli kódolás: JPEG-tömörítés az alapja. Képkockák közötti kódolás: azt használja ki, hogy a mozgóképek rendszerint olyan képszekvenciákat tartalmaznak, amelyekben a legtöbb képkocka hasonlít a megelőző, ill. következő képkockára, vagy azonos velük és ezt a ismétlődést ki lehet szűrni.
Az MPEG kódolása Az egymás utáni képkockákat 3 különböző módon képezi: I-képek (Intra): nagy pontosságúak, csak önmagukban tömörítettek, méretük viszonylag nagy P-képek (Predicted): az eljárás a megelőző I vagy P típusú képhez viszonyított változást tárolja csak B-képek (Bidirectional): ezek képtartalma az előző és utána következő képek alapján kerül kiszámításra
Az MPEG kódolása
Intra-frame és interframe
Intra-frame és interframe