Adattömörítés

A Programozás Wiki wikiből
(Tömörítés szócikkből átirányítva)

A tömörítés - vagy más névek kódolás - célja az adatok ábrázolási módjának olyan módon történő megváltoztatása, hogy az - az információ teljes vagy legalábbis lényeges elemeinek megőrzése mellett - minél kisebb helyen legyen tárolható. Erre csakis akkor van mód, ha az információ már eleve szuboptimális, redundáns formában kerül ábrázolásra, a rendezetlenség és redundancia mértéke pedig meghatározza a tömörítés maximálisan elérhető hatásfokát is. Ennél fogva információveszteség nélkül bizonyos méreten alulra semmilyen adat tömörítése nem lehetséges. A tömörített adatfolyam általában nem alkalmas a közvetlen feldolgozásra - abból az eredeti adathalmaz a kitömörítés (dekódolás) révén állítható vissza.

A tömörítésnek alapvetően két fajtája létezik: veszteségmentes és veszteséges tömörítés.

Veszteségmentes tömörítés[szerkesztés]

Veszteségmentesnek nevezzük azokat a tömörítési módokat, amelyek a bemeneti információhalmaz minden egyes elemét tökéletesen megőrzik, azaz lehetővé teszik a kitömörítés során a bemeneti adatsor tökéletesen pontos (bájtról bájtra egyező) reprodukálását. A veszteségmentes tömörítési eljárások a veszteségesnél általában rosszabb hatásfokkal csökkentik az ábrázolási méretet, cserébe azonban bármilyen adatsoron alkalmazhatók, azok speciális jellemzőinek ismerete nélkül is.

Veszteségmentes tömörítési algoritmusok[szerkesztés]

Veszteséges tömörítés[szerkesztés]

Veszteségesek azok a tömörítési módszerek, amelyek - a még erőteljesebb méretcsökkenés érdekében - olyan módon kódolják el a bemeneti információhalmazt, hogy annak néhány a végeredmény szempontjából lényegtelen elemét, részletét kihagyják, vagy pontatlanul ábrázolják. A veszteséges tömörítési eljárások nem garantálják a bemeneti adatsor tökéletes visszaállítását, így csak olyan esetekben alkalmazhatók, amelyekben egy az eredetihez nagy mértékben közelítő, de azzal nem feltétlenül tökéletesen egyező adatsor visszaállítása is elfogadható. Ilyen például a képek, hanganyagok és mozgóképek tömörítése, amelyekben az apró részletek elvesztése, eldobása általában nem rontja észrevethető mértékben a minőséget, de sokat segíthet a tömörítés hatásfokának javításán.

A veszteséges tömörítési eljárások általában építenek a tömörítendő adatsor sajátosságaira, amiket felhasználnak a hatásfok javítása érdekében, de amik egyszersmind kizárják hatékony alkalmazásukat más típusú adatsorokon is, mint amikre tervezték őket.

Veszteséges tömörítési algoritmusok[szerkesztés]