Adatok
tömörített tárolása.
A veszteséges és veszteségmentes
tömörítés felhasználási területei
Miért kell
tömöríteni?
•Másolás,
archiválás,
•tár
pazarolás, lassú, drága adatfeldolgozás, adattovábbítás
•internetes
adatátvitel,
Redundancia
•Ugyanazt
az információt különböző mennyiségű adat hordozhatja anélkül, hogy megjelenítése
megváltozna. Redundáns egy adathalmaz, ha mennyisége több mint amennyi az
információ hordozásához és megjelenítéséhez szükséges lenne. Tehát azokat az
információkat, melyek az információ hordozásához és megjelenítéséhez nem
kellenek, elhagyhatók, anélkül hogy a megjelenítendő információ megváltozna.
•Pl:
képi redundancia: egy képben lehetnek belső összefüggések, melyeket kihasználva
az adathalmaz mérete csökkenthető. Például: képsorozatok egymás utáni képkockái,
csak kis mértékben térnek el egymástól, ilyenkor elég csak az eltérés megadása.
Tömörítési
algoritmusok
•Az
adattömörítés feladata, hogy egy üzenetsorozatot gazdaságosan reprezentáljon,
vagyis kódoljon úgy, hogy egyrészt a kódolt sorozat minél rövidebb legyen,
másrészt a kódsorozatból az üzenetsorozat egyértelműen reprodukálható legyen.
•A
tömörítés minőségét a tömörítési aránnyal jellemezhetjük, ami a
tömörített hossznak és az eredeti adatsorozat hosszának az aránya.
•Veszteségmentes
–Az
adatok eredeti állapotban állíthatók vissza,
–kisebb
arányú tömörítésre ad módot,
–dokumentumok,
programok tárolására használják
•Veszteséges
–az
eredetihez hasonló, de azzal minőségileg nem egyező adatok kaphatók vissza,
–veszteség
növelésével nagyobb tömörítési arány érhető el,
–multimédiás
adatok méretének csökkentésére használják
Veszteségmentes tömörítés
•A
változó hosszúságú kódolás: Huffman-kódolás:a legrövidebb bitsorozatot
rendeli a leggyakoribb mintázathoz, s a leghosszabbat a legritkábbhoz.
–A
tömörítőprogram első lépésként felállítja a tömörítendő állomány bájtjainak
gyakoriságtáblázatát, majd ennek birtokában "leosztja a lapokat", vagy egy jobb
hasonlattal: szótárt készít. A gyakoribb bájtokhoz rövidebb (2-3 bites), a
ritkábbakhoz hosszabb (esetleg 8 bitnél is hosszabb) kódot rendel, majd e
szerint a szótár szerint "lefordítja" a fájlt, s a tömörített állományba
beleteszi a "szótárt" is, hogy a kicsomagoláskor ne kelljen külön
szótárállománnyal vesződnünk. (Őstömörítővel, amelyből két állomány pottyant ki:
egy tömörített eredmény meg egy szótár.)
•A
világ összes veszteségmentes tömörítője ezen az elven vagy az ebből
kifejlesztett LempelZiv-algoritmus alapján Az LZW tömörítés az eljárás
kidolgozóiról (A.Lempel, J.Ziv, T.A.Welch) kapta a nevét. működik (ARJ, ZIP,
PK, LHA stb.).
•Különbségi
kódolás: egymásra következő adatok csak lassan változnak (pl egy fénykép
árnyalatai) egymást követő értékek közti különbséget rögzíti.
•Futamhossz
kódolás (RLE): azonos értékeket tartalmazó sorozatokat két adattal, a sorozat
elemével, és az ismétlődések számával adják meg. (pl. képeken, azonos színű
képrészlet)
•Tömörítés
után a tömörített állományból az eredeti visszaállítható. Egy kibontott
állomány szükség esetén újra tömöríthető.
Veszteséges
tömörítés
•Mindennapi
alkalmazásai a beszéd, zene, kép, videó tömörítése.
Veszteséges eljárásokat akkor alkalmazhatunk, ha nincs szükség a tömörített
információ valamennyi bitjének a megőrzésére; így dolgoznak például a
digitalizált képet (mozgóképet) és a hangot tömörítő eljárások.
•A
tömörítés előtt általában elemzik az információt, és a látás, illetve a hallás
fiziológiáját figyelembe véve hagynak el részeket a digitalizált hangból vagy
képből. Ezért dolgoztak ki külön eljárásokat és szabványokat a képek, a
mozgóképek és a hangok veszteséges tömörítéséhez. A veszteség fejében ezekkel a
módszerekkel sokkal nagyobb tömörítési arány érhető el, mint a veszteség nélküli
eljárásokkal.
•JPEG,
MPEG, MP3, Dolby Digital
•A
tömörítés után a tömörített állományból az eredeti állományból az eredeti nem
állítható vissza. A kibontott állomány újra tömörítésekor további veszteségek
lépnek fel.
Hang
•hangtömörítés
–Az
összes hangtömörítési eljárás hatékony algoritmusokkal olyan információkat töröl
a hangból, amelyeket az emberi fül már nem hall. Például ha valaki egy nagyot
kiált és közben a lábával toppant, a kiáltás hallható lesz, de a toppantás
valószínűleg nem. A toppantás elhagyásával kevesebb lesz az információ és kisebb
lesz a fájlméret, de a fül számára az eredmény ugyanaz lesz. Mivel a mély hangok
elnyomják a velük egy időben felhangzó, s gyengébb vagy az övékkel azonos
intenzitású magasakat, azért a tömörítő a halkabb/magasabb frekvenciákat
egyszerűen elhagyja a hangképből.
Kép
•Állókép
tömörítések:
•BMP;GIF;JPG;TIFF
…
•fraktáltömörítés
•Figyelembe
veszi, hogy az emberi szem érzékeny a kontúrokra, s ennek megőrzésére törekszik.
•Eljárás
a képet apró részekre (domainokra) bontja A domainokhoz keres hasonló, de eltérő
méretű és elhelyezkedésű másik részt. A fájl a domainok átlagos színét és a
hozzájuk tartozó leképezés adatait tartalmazzák.
Mozgókép
•A
szem számára szükségtelen adatokat törli. Egy széket 60 másodpercig ugyanott
mutató tömörítetlen klip a szék adatait minden egyes képkockában tárolja. A
videotömörítés esetében a székre vonatkozó információk csak egyetlen képkockában
tárolódnak, a következő képkockák ugyanezt az információt használják fel. A
tömörítésnek ez fajtája a WMV, MPEG és más videoformátumok által a jó minőség
megőrzésével történő tömörítésre alkalmazott matematikai trükkök egyike.
•Az
MPEG szabványok ötféle tömörítési módszert használnak. Az első három egyedi
állóképek tömörítésére való; az utolsó kettő "differenciális" tömörítés: az
egymás után következő állóképek eltérését dolgozza fel.
–megvizsgálja,
hogy mi az eltérés az egymás utáni állóképek között, és csak a különbséget viszi
át. Például ha a két egymás utáni képen ugyanaz a háttér, akkor az arra
vonatkozó információ elhagyható.
–az
egymás utáni képek közötti különbség alapján megkísérli előre jelezni a
következő képet. Például ha az előbbi képeken valamilyen változatlan alakzat
mozgott a háttér előtt, akkor várhatóan így tesz a most következőn is.
–Egy
film tömörítésekor csoportokra bontják az egymás után következő képeket. A
csoport első tagját önállóan kódolják az imént említett első három kódolás
valamelyikével, a többit pedig az egyik vagy a másik differenciális
tömörítéssel. Így a sorban minden n. kép önállóan, teljes tartalmával van
tömörítve, a többi képből csak az előző képhez viszonyított különbséget rögzíti
az állomány.