1.oldal (16) Adatok tömörített tárolása A tömörítés fogalma A számítógépek háttértárainak véges kapacitása és a számítógépes hálózatok megjelenése indokolttá tette olyan eljárások kifejlesztését, amelyekkel adataink eredeti méretüknél kisebb helyet foglalnak el a háttértárunkon. Ilyen eljárás a 80-as évek elején kifejlesztett tömörítés, amelynek feladata az adathordozón való tároláskor az állományok méretének csökkentése. A tömörítő eljárás során az állomány felhasználásának szempontjából két műveletet hajtunk végre. Az állományok betömörítésével létrehozunk egy archív állományt. A betömörítés során a program az ismétlődő karaktereket, karakterláncokat felismeri, és összevonja. Ebben a betömörített állapotban a programok nem használhatók, szállítani és tárolni azonban könnyebb azokat. A kibontás során a betömörített állományt állítjuk vissza az eredeti állapotába. A számítógépen tárolt adatok közül tömörítés szempontjából négy típust különböztetünk meg: szöveges, bináris, képi és hangadatokat. A tömörítő eljárásokat két nagy csoportra oszthatjuk. Az első csoportba tartoznak azok a programok, amelyek veszteség nélküli tömörítést biztosítanak. Ezek a programok az eredeti állományt betömörítve, majd újra kibontva olyan állományt adnak, amely bitről bitre megegyezik az eredeti állománnyal. Ilyen típusú tömörítést használunk például szövegfájlok vagy bináris fájlok tömörítésére, ahol nem veszhetnek el betűk a szövegből. Ezt a fajta tömörítést valósítják meg például az archiválásra használt WinZip, WinRar, Arj, WinAce programok. Egyes tömörítőprogramok - nagy mennyiségű adat archiválásának megkönnyítésére - lehetővé teszik az archív állomány szeletelését, azaz az archív fájl több, előre meghatározott méretű részre történő szétbontását. A tömörítő eljárások másik csoportját alkotják a veszteséges tömörítők. Ebben az esetben a tömörített állományból már nem lehet pontosan visszanyerni az eredeti állományt. Ezt a módszert főleg képek és hangállományok tömörítésére használhatjuk. Veszteséges tömörítési eljárást alkalmazunk például a JPEG képformátumok, MPEG mozgókép- és hangformátumok előállítása során. A legelterjedtebb tömörítő programok Napjainkban számos tömörítő program közül választhatunk. Ezek közül a legismertebbek a WinZip, a WinRar és a WinAce. Mindegyik általános jellemzője, hogy a saját maguk által alkalmazott tömörítési szabványon kívül képesek más tömörítési szabvánnyal készült archív fájlok kibontására és bizonyos esetekben akár még azok létrehozására is. A legtöbb tömörítő programot a hagyományos vásárlási módon kívül az internetről is beszerezhetjük. Az előbb említett programokat például az alábbi címekről tölthetjük le: WinZip: www.winzip.com
2.oldal WinRar: www.rarlabs.com WinAce: www.winace.com A megadott címekről általában a programok kipróbáló változata tölthető le, amely 30 napon keresztül teljes értékű programként működik, ezt követően azonban a további használathoz meg kell vásárolnunk. Jellemzően a vásárlást követően a kipróbáló változatok egy aktivációs kulcs megadásával ismét teljes értékű programként használhatók tovább. Programok, állományformátumok: Néhány gyakrabban használt tömörítő program és tömörített file-formátum: ZIP: igen elterjedt, veszteségmentesen tömörített állománytípus. Számtalan program használja, pl. Windows alatt winzip ARJ: Robert K. Jung által készített azonos nevű programmal készíthető tömörítvény, veszteségmentes tömörítést valósít meg. Elterjedt program windows alatt. Igen sok opciója van a tömörítvény létrehozatalához. A programnak van freeware és kereskedelmi változata, utóbbi több szolgáltatással rendelkezik. RAR: Eugene Roshal hasonló nevű programjának állománytípusa, veszteségmentes tömörítést tartalmaz. A RAR formátumot több-kevesebb korlátozással több más tömörítő is kezeli. JPG: JPEG, azaz veszteséges tömörítés, képek tömörítésére használatos. A kép minőségromlása árán igen nagy tömörítés érhető el ilyen állománytípusban. Sok képkezelő program ír és olvas ilyen formátumban, illetve a hardvereszközök (szkenner, digitális fényképezőgép) is ilyen formában rögzítik a képet. MP3: veszteséges hangtömörítés, számtalan program alkalmazza ezt a formátumot (is), pl. Audiograbber. Adatok tömörítésének elvi lehetősége Az adathalmazok általában redundánsak, terjengősek, nem a lehető legrövidebbek, legtömörebbek. Sokszor ugyanazt az információt rövidebben is le lehet írni, kódolni -> az adatok tömörítésének lehetősége. A tömörítő eljárások segítségével adatainkat olyan alakra hozhatjuk, amelynek kisebb az adatmennyisége, mint az eredetinek, gyakran csak töredéke (például tizede). ->Kisebb helyet foglal az adathordozón, rövidebb idő alatt továbbítható a hálózaton. A felhasználáshoz általában vissza kell alakítani az eredeti formátumra. A veszteségmentes tömörítés olyan kódolás, aminek eredményeként létrejött kódolt (tömörített) jelhalmaz rövidebb, mint az eredeti, azaz kisebb az adatmennyisége, és a tömörített adathalmazból tökéletesen visszaállítható az eredeti -> információt nem veszítünk. Például programokat, dokumentumokat így tömörítünk, hiszen fontos a tökéletes visszaállítás lehetősége. Példa tömörítési eljárásra: Mivel mindenféle adatot digitálisan (számokkal) kódolunk, elég foglalkoznunk egy tetszőleges számsorozattal. Például a 3555555227777 számsor 13 db egyjegyű számból áll. Kódoljuk ezt a következőképpen: balról haladva adjuk meg a számot és azt, hogy hányszor ismétlődik. Az eredmény 31562274, ez 8 db szám, tehát 8/13 arányban tömörítettük az eredeti adatsort, ami egyértelműen visszaállítható. Képek esetében gyakori, hogy sok azonos színű pont van egymás mellett, így jelentős rövidítést érhetünk el.
3.oldal A tömörítés mértéke nem csak a tömörítési eljárástól, hanem az adathalmaz tulajdonságaitól is függ. Például, vannak-e ismétlődő adatok. vannak-e más szabályszerűségek, az egyes jelek vagy jelcsoportok milyen gyakorisággal fordulnak elő? (A gyakori hosszú jelcsoportokat lehet helyettesíteni egy rövid kóddal, ezt a hétköznapi életben is gyakran megtesszük. Például: matematika-fizika -> matfiz.) A tömörítőprogramok hatékony eljárásokat alkalmaznak. Elemzik az állomány szerkezetét, és annak függvényében határozzák meg a tömörítési eljárást. Adataink archiválása során gyakran alkalmazunk tömörítést. Néhány ismert tömörítés: ZIP, ARJ, RAR. A veszteséges tömörítés olyan kódolás, aminek eredményeként létrejött kódolt (tömörített) jelhalmaz sokkal rövidebb, mint az eredeti, azaz kisebb az adatmennyisége, de a tömörített adathalmazból nem állítható tökéletesen vissza az eredeti, csak jó közelítéssel -> információt veszítünk, bár nem sokat. Például digitális fényképek, hangok, mozgóképek esetén így tömöríthetünk, ha nem fontos a tökéletes visszaállítás lehetősége. (A kis eltéréseket a szem, illetve a néző általában észre sem veszi. Kétségtelen, hogy valamit romlik a digitalizált és tömörített anyag minősége.) Néhány ismert veszteséges tömörítés: MP3 (hangoknál), JPEG (színes képeknél), MPEG (mozgóképnél). Minél nagyobb a tömörítés mértéke, annál rosszabb lesz a kép vagy a hangállomány minősége. Tömörítés a gyakorlatban Tömörített mappák a Windows XP-ben Létrehozása (Fájl ->Új ->Tömörített mappa). A tömörített mappába másolt fájlokat a rendszer tömöríti, ZIP kiterjesztéssel. A kimásolt fájlokat kicsomagolja. Tömörítés a WinZip-pel vagy WinRar-ral Megkeressük a mappát, kijelöljük a tömöríteni kívánt fájlokat. Az Add (hozzáad) eszközre kattintva a dialógusablakban beírjuk a helyet és a tömörített állomány nevét. Kiválasztjuk a tömörítés típusát (zip, rar). A kicsomagolás hasonlóan, de az Extract to ikonnal történik. Tömörítés a Windows/Total Commanderrel A kijelölt állományokat vagy alkönyvtárat az Alt + F5 billentyű-kombinációval, illetve menüből tömöríthetjük. Alt + F9-cel kicsomagolhatjuk. Egyes alkalmazásokból tömörítve is menthetünk Például a Paint rajzolóprogramban jpeg formátumba mentve tömörítjük a képet. Az önkicsomagoló állományok Nem csak a tömörített fájlt tartalmazzák, hanem a kicsomagoló programot is (make exe file). Könyvtárak tömörítése Az archívumba gyakran egész könyvtárszerkezetet (a fájlokkal együtt) betömörítünk, becsomagolunk, így az összetartozó állományok együtt kezelhetők.
4.oldal Tömörítés a gyakorlatban A Windows XP-ben tömörített mappát a Fájl Új Tömörített mappa paranccsal hozhatunk létre. Ebbe a tömörített mappába másolt fájlokat a rendszer ZIP kiterjesztéssel tömöríti, a kimásolt fájlokat pedig kicsomagolja. WinZip-pel vagy WinRar-ral való tömörítéskor megkeressük a mappát, kijelöljük a tömöríteni kívánt fájlokat, majd az Add eszközre kattintva a dialógusablakban beírjuk a helyet és a tömörített állomány nevét. Ezután kiválasztjuk a tömörítés típusát (zip, rar). A fájlok kicsomagolása hasonlóan, de az Extract to ikonnal történik. Windows Commanderrel a kijelölt állományokat vagy alkönyvtárat az Alt + F5 billentyűkombinációval, illetve menüből tömöríthetjük. Az ilyen módon tömörített fájlokat az Alt + F9 billentyűk lenyomásával csomagolhatjuk ki. Egyes alkalmazásokból tömörítve is menthetünk, ilyen például a Paint rajzolóprogram, amelyben jpeg formátumba mentve tömörítjük a képeket. Léteznek ún. önkicsomagoló állományok, melyek nem csak a tömörített fájlt tartalmazzák, hanem a kicsomagoló programot is (make exe file). Az archívumba gyakran egész könyvtárszerkezetet (a fájlokkal együtt) betömörítünk, becsomagolunk, így az összetartozó állományok együtt kezelhetők. Tömörített fájlformátumok JPEG: Képek tömörítésére használatos veszteséges tömörítés. A képek színváltozásának adataiból hagy el értéket, mivel az emberi szem a fényességváltozásra érzékenyebb. A 8 x 8-as blokkokban hajt végre transzformációt, majd az így kapott értékeket rendezi és Huffman-kódolással tömöríti. (A blokkokra bontás miatt, nagy tömörítési arány esetén jelentkezik a képek,kikockds odds a".) MP3 (MPEG-1/2 Audio Layer 3): Veszteséges, hangok tömörítésére alkalmazott módszer. 1992-ben fejlesztette ki a Fraunhofer Institute. Igen jól tömörít, a hanghatást kevéssé rontja. Az emberi hallás szelektivitására épít, azaz bizonyos hangok más hangok elnyomását (közeli frekvenciákon csak az intenzívebb hangot érzékeljük) kihasználva hagy ki a tömörítendő jelsorozatból jeleket. A tömörítés fontos - de nem kizárólagos - jellemzője a bitsűrűség, azaz annak megadása, hogy másodpercenként hány bináris számjegy tárolódik. Minél nagyon ez az érték, annál jobb a hangzásminőség. Korábban ez egy zeneszámra állandó volt, újabban dinamikusan változtatják a tömörítők. WMA (Windows Media Audio): A Microsoft által hangok tömörítésére kidolgozott veszteséges tömörítő eljárás. Jobban tömörít, mint az MP3, de később jelent meg, ezért támogatottsága nem annyira elterjedt. MPEG (Motion Picture Experts Group): Veszteséges, mozgóképek tömörítésére kidolgozott szabványcsalád. Több változatából az 1998-ban közreadott MPEG-4 a legelterjedtebb. Fraktáltömörítés: Veszteséges tömörítési eljárás, amely azon alapul, hogy a természetben előforduló jelsorozatokban minták, pontosabban önhasonló minták fordulnak elő. (Önhasonló: kevés és egyszerű transzformációval, pl. nyújtás, eltolás és elforgatás, az önhasonló minták azonossá tehetők.) Összevethető a hatékonysága a JPEG tömörítéssel, de élesebb kontúrok esetén jobb eredményt ad. Önkicsomagoló állomány: Probléma lehet, ha a csomag készítéséhez használt tömörítő (kicsomagoló) ott, ahol a csomag tartalmát fel kellene használni, nem áll rendelkezésre. Ennek megelőzésére lehetséges olyan tömörített állományt létrehozni, amely a tömörített
5.oldal adatok mellett tartalmaz egy rövid futtatható programot is, aminek egyetlen célja a mellé csomagolt tömörített állomány helyreállítása. Ezek az önkibontó vagy önkicsomagoló, azaz SFX (SelF extracting) állományok. Többszeletes tömörítvény: Problémát jelent, ha a tömörített állomány mérete nagyobb, mint ami egy adathordozóra ráfér. Ilyen helyzetek megoldására a tömörítő programok módot adnak arra, hogy a tömörített adatokat több (akár az adathordozó kapacitásával egyező méretű) fájl formájában állítsuk elő. Lehetséges olyan csomagot készíteni, amely több állományból áll. Ezeknek a szeleteknek (köteteknek) a mérete beállítható, vagy ezt a méretet az adathordozó mérete határozza majd meg. Ennek a hajlékonylemezes adathordozó elterjedt használata során volt fokozott jelentősége. Röptömörítés: A tömörítendő jelsorozat kétféle módon alakítható át tömörített jelsorozattá: az egyik során előbb átolvassa a tömörítő a tömörítendő jeleket, majd kialakítja a tömörített jelsorozatot, a másik módszer során a tömörítendő jelek olvasása során röptében hozza létre a tömörített jelet. Legalább ilyen fontos az ellentettje, amikor a tömörített állomány kicsomagolása a fájl olvasásával egy menetben történik meg. Sok futtatható, végrehajtható állomány esetében alkalmazzák ezt a módszert. File- és drive tömörítés: A tömörítés egyik fontos felhasználási területe az adattárolási helyigény csökkentése. Ennek egyik megközelítési módja az, hogy állományainkat, esetleg azok egy-egy csoportját tömörítjük tárolás előtt, majd kitömörítjük felhasználás előtt. Lehetséges a használt tároló teljes tartalmát tömöríteni, ennek során minden olvasás előbb kitömörítést igényel, illetve minden írás betömörítéssel jár.