Az adattömörítés a számítógépes tudományágak egy területe, melynek célja az adatok feldolgozása oly módon, hogy azok minél kevesebb helyet foglaljanak, vagy minél gyorsabban lehessen őket továbbítani. Ez azért lehetséges, mert a valós világ adatai többnyire igen redundánsan és nem a lehető legtömörebb formában reprezentálódnak.

Alapvetően kétféle adattömörítési megoldás létezik:

  • A veszteségmentes tömörítés
  • Veszteséges tömörítés
    • Adott hibaarányú tömörítés

Egyik igen egyszerű módja a tömörítésnek például a futamhossz-tömörítés, amikor is egymást követő adatokat egyetlen kóddal és az előfordulás számával helyettesítünk. Ez példa a veszteségmentes tömörítésre is, amikor a tömörített adatból később egy fordított eljárással pontosan visszanyerhető az eredeti adat. Az olyan adatoknál, mint a szöveges dokumentumok (néhány esettől eltekintve), követelmény a veszteségmentes tömörítés, hiszen akár egyetlen bit változás is megváltoztathatja a szöveg jelentését.

Más esetekben – például hangok vagy képek tömörítésénél – csekély, a felhasználó számára nem észrevehető veszteség megengedhető, ilyenkor tehát veszteséges eljárások is alkalmazhatók. Ezen gyakorta jelentkező esetek a tömörítés hatásosságára széles választékot kínálnak a felhasználónak, attól függően, hogy inkább kevéssé tömörített, jó minőségű, vagy jobban tömörített, de nagyobb veszteséget hagyó tömörítési eljárást kíván alkalmazni. Az ehhez hasonló esetekben, tehát képek vagy hangok tömörítésénél egyúttal az emberi érzékszervek érzékenysége határozhatja meg az adattömörítés módját, hisz megengedhető olyan veszteség, amely számunkra nem észrevehető változást okoz.

Az adattömörítéssel szoros összefüggésben álló területek a kódelmélet és a kriptográfia. Ezekhez az információ-elmélet és az algoritmusos információ-elmélet nyújtanak elméleti hátteret. Amikor az adat tömörítése jelformák alakításaként jelentkezik, gyakran jelfeldolgozási módszereket alkalmazunk. Az adattömörítés ötlete szorosan kapcsolódik a matematika ritka mátrixok témájához, a statisztikai következtetésekhez és részben a maximum likelihood módszerhez.

Az adattömörítéshez kapcsolódó témák szerkesztés

Gyakori adattömörítési algoritmusok szerkesztés

A veszteségmentes tárolásra a legelterjedtebb forma a Lempel-Ziv (LZ) tömörítési módszer. Ennek egy sebességben és tömörítési arányban optimalizált változata a DEFLATE. Ez utóbbit használja a PKZIP, gzip és a PNG. Az LZW-t az Unisys szabadalmaztatta 2003-ban, melyet a GIF fájlokban használt és ami ezek elavulását eredményezte. Az LZ eljárások egy dinamikus táblát alkalmaznak a redundáns adat ábrázolására, melyet aztán Huffman kódolással tömörítenek.

A veszteségmentes tömörítéseknél elképzelhető a betömörítés és kibontás ráfordítási igénye szerint a szimmetrikus és aszimmetrikus tömörítés. Az aszimmetrikus tömörítés lényege, hogy a tömörítés időigényessége másodlagos, a kibontást - a tömörítés előtti fájllal megegyező fájlt létrehozását - viszont "szinte röptében" lehessen elvégezni. A mintakereséses tömörítés többféle eljárással történhet annak a sejtésnek a figyelembevételével, hogy egy adathalmaz megadható az elemek feltüntetésével, illetve szabályszerűségek megadásával továbbá ez utóbbi módon történő megadás - az eljárások leírása- rövidebb, mint maga az eredeti halmaz elemeinek sokasága.

A hangok tömörítését audiotömörítésnek nevezik, ahol is pszichoakusztikai módszereket alkalmaznak, hogy a nem hallható komponenseket kiszűrjék, s így a tömörítés hatékonyságát jelentősen növeljék.

További információk szerkesztés