Adattömörítés

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 

 Hangtömörítés
 Képtömörítés
 Multimédia-tömörítés
 Entrópia

Gyakori adattömörítési algoritmusok 
 Veszteségmentes tömörítés
 Futáshossz-kódolás
 PackBits
 RLE (a PCX használja például)
 Minimális redundanciájú kódolás
 Huffman-kódolás (egyszerű entrópia kódolás)
 Aritmetikai kódolás (fejlettebb entrópia kódolás)
 Lexikai kódolás
 DEFLATE
 LZ77 és LZ78
 LZW
 Más LZ tömörítési eljárások
 Burrows–Wheeler-transzformáció (blokkrendezési feldolgozás, amely a tömörítést egyszerűbbé teszi)
 Veszteséges tömörítés
 Diszkrét cosinusátalakításokra alapuló kódolások
 MPEG
 MP3
 JPEG
 Fraktáltömörítés
 Fraktálátalakítás
 Hullámtömöríté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 
 Alice és Bob - 2. rész: Alice és Bob számítógépezik

Számítógép-tudomány
Adattárolás