Tömörítés

9. osztály

Tö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:

  • Veszteségmentes tömörítés
  • Veszteséges tömörítés

Veszteségmentes tömörítés

A veszteségmentes tömörítés az adattömörítési algoritmusok egy osztálya, ami lehetővé teszi a tömörített adatból az eredeti adatok pontos rekonstrukcióját. Veszteségmentes tömörítést akkor alkalmaznak, ha fontos, hogy az eredeti és a kicsomagolt adat bitről bitre megegyezzen, illetve ha nem tudni, hogy az esetleges eltérések kritikusak-e. Tipikus példák a futtatható állományok (pl. Windows operációs rendszeren a .EXE fájlok) vagy a forráskódok (egy szöveges dokumentumot is veszteségmentesen tömörítünk, hiszen minden karakterre szükségünk van, hogy el tudjuk olvasni, pl. a Microsoft Word szövegszerkesztőben).

Néhány képformátum, köztük a PNG csak veszteségmentes tömörítést használ, míg egy TIFF vagy MNG fájl veszteséges és veszteségmentes tömörítést is tartalmazhat.Veszteségmentes tömörítést számos program használ. Legnyilvánvalóbb előfordulási helyük az archív fájlformátumok, mint például a népszerű ZIP, a unixos gzip, vagy a 7z formátum.

Veszteséges tömörítés

A veszteséges tömörítés az adattömörítési algoritmusok egy osztálya, ami a veszteségmentes tömörítéssel ellentétben nem teszi lehetővé a tömörített adatból az eredeti adatok pontos rekonstrukcióját, ám egy „elég jó” rekonstrukciót igen. Az interneten használják leginkább, a telefóniás és streamelési alkalmazásokban. A veszteséges tömörítési módszerekre általában codec néven hivatkoznak.

Mikor használjuk általában?

Pl. egy hangfájlból kivehetjük azokat a tartományokat, amelyeket az emberi fül már nem hall, ez nem befolyásolja a hallgatott zene minőségét. Ha hangfelvételt készítünk egy előadásról, annyira kell jó minőségűnek lennie a felvételnek, hogy érthető legyen az előadó hangja.  Ha egy fényképet készítünk, nem mindig van szükség, hogy a legapróbb részletek is látszódjanak.

A veszteséges tömörítés előnye, hogy kisebb helyet foglal el a háttértáron, mint az eredeti fájl, kevesebb processzor erőforrást használ megjelenítéskor, mint a veszteségmentesen tömörített párja.

Veszteséges tömörítést jellemzően a hang- és videófájlokban használnak

 

Képtömörítés

   Tömörítetlen képformátumok

BMP

(Bitmap) A BMP kiterjesztés Windows Bitmap formátumot jelent, mely tömörítetlen (létezik tömörített változata is, de nem használják). Nagy helyet foglal a háttértáron.

RAW

A legtöbb minőségi fényképezőgépnek van olyan módja, mely ilyen RAW (nyers) formátumban menti le a képeket. Erre azért van szükség, mert a másik - a fényképezésben általánosan elterjedt formátum -, a JPG veszteségesen tárolja a képeket.  A képek ilyen formában való tárolásához, hatalmas tárhely szükséges (még rengeteg egyéb információt tárol a fent említett RGB színeken kívül).

 

   Veszteségmentesen tömörített képrofmátumok

TIF (TIFF)

Eredetileg a scanner gyártók megegyezésével született, közösen specifikált képformátum. Scannelésen kívül egy átlagember nemigen találkozik ezzel a formátummal. Annyit érdemes róla megjegyezni, hogy ha veszteségmentesen akarunk scannelni, és nincs PNG formátum (erről később), akkor ebbe mentsük a képeket. A képnéző programok szinte 100%-a képes megnyitni ezt a formátumot, és némelyik program a tömörítés algoritmusát is engedi kiválasztani

GIF

(Grafics Interchange Format). Ez is veszteségmentes, hátránya, hogy csak maximum 256 különböző színt képes tárolni egy képben, ezért manapság főleg rajzfilmszerű megjelenítésre használják.

PNG

(Portable Network Graphics). Az eddigi legfiatalabb formátum, mely évekkel ezelőtt azért jött létre, hogy megtörje a GIF dominanciáját (ennek főleg anyagi okai voltak). Manapság az egyik legelterjedtebb formátum a JPG mellett.

 

   Veszteséges, tömörített formátum

JPG (JPEG)

Miért veszteséges? Ahhoz, hogy a tömörítés hatásfoka minél jobb legyen, a tömörítő algoritmus bizonyos pixelek színét megváltoztatja. Fontos, hogy az eredeti szín elveszik, mikor kitömörítjük (megnézzük) a képet, már a változtatott színeket kapjuk vissza. Persze jó esetben ez észrevehetetlen. A tömörített kép minősége a tömörítés hatásfokától függ. Minél jobb hatásfokot szeretnénk, annál több pixelnek változik meg egyre jelentősebb mértékben a színe. Ez az eljárás arra épül, hogy az emberi szem nem képes megkülönböztetni minden egyes pixelt, és a kis változásokat sem veszi észre.

 Hyla arborea hun 100  Hyla arborea hun 15  Hyla arborea hun 5

 Az eredeti kép 100%-os
minőséggel (méret: 38,9 KB)

 Ugyanaz a kép tömörítve
(csaknem 97%-kal kevesebb
információ, 1,2 KB)
 Ugyanaz, erős tömörítés után
(csaknem 98,5%-kal kevesebb
információ, 662 bájt)

           

A fenti képek demonstrálják, hogyan csökkenti a fájlméretet a veszteséges tömörítés. A kép egy levelibékáról készült kép 128×128 képpontnyi részlete.

Az első kép 39 798 bájt méretű.

A második kép tömörítve lett (JPEG quality 15) és csaknem 97%-kal kisebb, 1250 bájtos. Jól észrevehetően egyes részletek elvesztek.
A harmadik kép, erős tömörítés után (JPEG quality 5) 98,5%-kal kisebb, mindössze 662 bájtos. A tömörítési hibák (compression artifacts), a JPEG-tömörítés blokkjai sokkal észrevehetőbbek.
Bár a harmadik kép minősége nagyon rossz, a béka még mindig felismerhető. A jó veszteséges tömörítési algoritmusok képesek arra, hogy a „kevésbé fontos” információkat kidobják, a „lényeges” információkat pedig meghagyják az eredeti fájlból.

Egyik tömörítési elv, hogy a színek számát (colorspace) csökkentik.

veszteséges képtömörítés eljárás

  • Fraktáltömörítés
  • JPEG

 

Hangtömörítés

    Veszteségmentes hangtömörítés

Ezen eljárások fő célja az, hogy a nagyon nagy méretű (nagy adatmennyiséget tartalmazó) audioanyagok méretét csökkentse, és így gazdaságosabbá tegye tárolásukat, illetve lehetővé tegye azok tárolását és forgalmazását adott kapacitású adathordozókon (mint amilyen a CD,  DVD, MicroSD kártya, de internetes webáruházakból FLAC formátumban is letölthetünk egyes dalokat).

Iyen tömörítési eljárás a 

  • WMA Lossless – WMA
  • Free Lossless Audio Codec – FLAC

A hangtömörítési eljárások az adattömörítési eljárások részhalmazát képezik, ezek speciális változata, ami kifejezetten a hanganyagok adatfolyamának jellegzetességeire épül.

   Veszteséges hangtömörítés

A hangtömörítési eljárások nagy része veszteséges tömörítés, vagyis a tömörítés folyamán információ vész el: a cél az, hogy ez az információvesztés ne okozzon hallható minőségromlást, illetve a minőségromlás minél kisebb legyen. Az, hogy ezt a célt mennyire sikerül elérni (vagyis hogy egy adott mértékű tömörítés esetén mekkora a minőségromlás) határozza meg az eljárás sikerességét, jóságát.

(Szigorúan véve ezen eljárások nem adattömörítések, hanem lényegtelen adatokat mellőző kódolások (irrelevance coding), mivel adatvesztést okoznak.)

A módszer lényege az úgynevezett pszichoakusztika, vagyis hogy az emberi fül nem minden létező hangot hall meg, illetve nem minden hangmagasságra egyformán érzékeny. Az eljárások megpróbálják a kevéssé hallott, vagy nem hallható részeket elhagyni, vagy beolvasztani a jobban hallható részekbe úgy, hogy ezzel adatcsökkenést tudjanak elérni. A módszerek jóságát a pszichoakusztikai modelljük jósága, hatékonysága nagyban meghatározza. Ha a modell hibás, akkor a hanganyagból hallható részek hiányoznak, ami minőségromlást jelent.

Mivel a kódolások adatvesztéssel járnak, és az eltérő eljárások eltérő módon okoznak adatvesztést, minden ezen eljárásokkal kódolt hanganyag (veszteséges tömörítéssel való) újrakódolása vagy átalakítása jelentős minőségromlást eredményez.

Veszteséges hangtömörítő eljárások:

  • Ogg Vorbis
  • Ogg Speex (speciális beszédtömörítő eljárás)
  • MP3
  • MP2
  • RealAudio
  • AAC (az Apple által favorizált formátum)
  • Dolby AC-3
  • Windows Media Audio – WMA

Fájl archiválás

Ha több fájlt szeretnénk egyben elektronikus levélben elküldeni, érdemes "összecsomagolni" őket, így a mellékletben egy fájlként jelennek meg, amit letöltve kibontjuk, s megkapjuk az eredeti fájlokat, mappaszerkezetet.

Legnépszerűbb tömörítő eljárás a ZIP formátum, mely a modern operációs rendszerkbe (a Windows 10-be is) alapértelmezettként be van építve. A WinZip nyílt forrású, szabadon felhasználható társa a 7zip, mely alapértelmezetten a .7z fájlformátumot használja, de ismeri a WinRar program által használt RAR tömörítési eljárást is. Tömörítéskor megadhatunk jelszót is a tömörített fájl megnyitásához.