Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Adattömörítés
2
Definíció Az adat az, ami az információt hordozza, megjeleníti.
Az adatátvitel során elküldött adatokat szimbólumok sorozatának is tekinthetjük. A tömörítés az a művelet, melyben az egy bizonyos információt megjelenítő adatmennyiséget csökkentik. Az adattömörítés során az adatállomány redundanciája csökken, ezzel csökken az állomány mérete is.
3
Miért van szükség adattömörítésre?
Adatátvitelkor törekedni kell az adatok mennyiségének csökkentésére, mert a számítógép-hálózatokat működtető szervezetek az átvitt adatok mennyiségével arányos költséget számolnak fel. A véges adatátviteli sebesség is az adattömörítésre ösztönöz.
4
Redundanciák Ugyanazt az információt különböző mennyiségű adat hordozhatja anélkül, hogy annak megjelenítése megváltozna. Redundáns egy adathalmaz, ha annak mennyisége több, mint amennyire az információ hordozásához és megjelenítéséhez szükséges lenne.
5
Redundanciák - Az adathalmazok szerkezetével kapcsolatos redundancia információfüggetlen, mivel ez nem befolyásolja az információ megjelenítését. - Az információk megjelenítésével kapcsolatos redundanciák információfüggőek, mert szorosan kötődnek az információkhoz.
6
A redundanciák típusai
Kódolási redundancia – Az adathalmazt alkotó adategységek szerkezetével kapcsolatos, ezért információfüggetlen. Képi redundancia, pszichovizuális redundancia – Az adatok által hordozott képpel kapcsolatos, ezért információfüggő. Pszichoakusztikus redundancia – Az ember hallásával kapcsolatos, ezért szintén információfüggő.
7
Kódolási redundancia A kódolási redundancia azt jelenti, hogy az információt hordozó adathalmazban az adatkódoknak kevesebb variációja fordul elő, mint amennyit a kódok mérete lehetővé tenne. Példák: - A CD-k esetében a biztonságosabb letapogatás érdekében a 8 bitből álló kódot 14 biten jelenítik meg. - Olyan fekete-fehér kép, amelyben a képpontokat egy bájton ábrázolják. Mivel csak kétféle képpont fordul elő, elegendő lenne a képpont értékeket egy biten tárolni.
8
Kódolási redundancia A kódolási redundancia megszüntetése nem okoz a hordozott információban veszteséget, tehát a tömörített adathalmazból az eredeti visszaállítható.
9
Képi redundancia Egy képben lehetnek belső összefüggések (kontextusok), melyek kihasználása esetén a kép az adathalmazban található adatoknál kevesebb adattal is megjeleníthető.
10
Képi redundancia Példák:
- Ha egy képen több azonos színű objektum van, akkor hatékonyan kódolható az objektumot határoló vonalnak és az objektum színének megadásával. - Képsorozatoknál, ha az egymást követő képek csak kismértékben térnek el egymástól, akkor az egyes képek hatékonyan kódolhatóak a képek közötti változások megadásával. - Ha egy képen szabályos alakzatok vannak, akkor a képek igen hatékonyan kódolhatóak az alakzatokat meghatározó függvénykapcsolatok leírásával.
11
Pszichovizuális redundancia
A képeken sok olyan információ lehet, amit az emberi szem nem képes érzékelni. A nem látható információ kiiktatása adattömörítés. A pszichovizuális redundancia kihasználásán alapuló tömörítés mindig információveszteséggel jár.
12
Pszichovizuális redundancia
Példák: - 24 bites színmélység esetén, minden egyes képpont kb. 17 millió szín valamelyikét veheti fel. Ennyi színt az emberi szem nem képes látni, sem a monitorok megjeleníteni, elegendő a legjellemzőbb, egymástól élesen elkülönülő színeket megjeleníteni, vagyis csökkenteni a színmélységet. - Ha a képen látható objektumok zajosak, elmosódottak, akkor zajszűréssel csökkenthető a látás szempontjából felesleges információ mennyisége.
13
Pszichoakusztikus redundancia
A hangállományokban sok olyan adat lehetséges, amit az emberi fül nem érzékel, de rontja a hallható hangok minőségét. A nem hallható információ a hangállományból kiiktatható, ezzel adattömörítés érhető el.
14
A tömörítéssel szemben támasztott elvárások
A tömörített és az eredeti adathalmaz mennyiségének a hányadosa (a tömörítési arány) a lehető legkisebb legyen. A tömörítő algoritmus használja ki a tömörítendő adathalmaz belső sajátosságait. A tömörítő algoritmus legyen hatékony, azaz a tömörítést és a kibontást egyszerűen lehessen a gyakorlatban megvalósítani. Az algoritmus illeszkedjék a már meglévő rendszerekhez, és ne lépje túl azok kötöttségeit. Veszteséges tömörítések esetén a minőség ne romoljon számottevően.
15
Tömörítési arány A tömörítési arány azt fejezi ki, hogy milyen mértékben csökkent a tömörített állomány mérete az eredeti állomány méretéhez képest. Az esetenként használt tömörítés a tömörítési arány szinonimája. Az 1 : 10 tömörítési arány megfelel a 10-szeres tömörítésnek.
16
Szimmetria Szimmetrikus egy tömörítés, ha a tömörítési és a kibontási műveletnek kb. egyforma az időigénye. Aszimmetrikus tömörítésnél általában a tömörítés vesz több időt igénybe, mint a kibontás. A legtöbb tömörítés aszimmetrikus.
17
Tömörítési eljárások Két fajta tömörítési eljárás ismert:
- Veszteségmentes tömörítés - Veszteséges tömörítés
18
A veszteségmentes tömörítés után a tömörített állományból az eredeti állomány visszaállítható, a kibontott állomány szükség esetén újra tömöríthető. A tömörítési arány általában 5:1 és 10:1 között van. A veszteséges tömörítés után a tömörített állományból az eredeti állomány nem állítható vissza, egy kibontott állomány újbóli tömörítésekor további veszteségek lépnek fel. A tömörítési arány jóval nagyobb (akár 100:1 nagyságrendű).
19
A veszteségmentes tömörítés
Alkalmazási területe: - Programok tömörítése - Adatbázisok tömörítése - Szöveges állományok tömörítése - Bizonyos multimédiás adatállományok tömörítése - Valós idejű hardveres vagy szoftveres tömörítések a híradástechnikában
20
Egy állomány veszteségmentes tömöríthetősége a redundancia fokától függ.
Példák: - A legtöbb beszélt nyelv a világon nagyfokú redundanciával rendelkezik, mivel egyes betűk és szavak meghatározott minták alapján ismétlődnek egy adott szövegben, ezért a szöveges állományok jól tömöríthetők. - A legtöbb programnyelv szintén nagyfokú redundanciával rendelkezik, a relatíven kisszámú utasítás következtében.
21
Adattömörítési módszerek
Ezek a módszerek - a szimbólumkészletek végességére, - a szimbólumok relatív gyakoriságára - és/vagy a szövegkörnyezet ismeretére alapulnak.
22
Futamhossz-kódolás RLE-algoritmus (Run Length Encoding)
- Elsődlegesen BMP formátumú képek tömörítésére lett kifejlesztve, de alkalmazzák fax- és szövegkódolásra is. - Főként 0-kat tartalmazó hosszú bináris füzérek tárolására használják. Minden k-bites szimbólum azt adja meg, hogy mennyi 0 volt a bináris füzérben az egymás után következő 1-esek között.
23
Példa: bemeneti kódsorozat
|000| 1 | 000| | 1 | | 1|00000| 1| | A 0 részsorozatok hossza: 3, 3, 6, 12, 5, 7. Ha 3 bites szimbólumokként (bináris számokként) kódoljuk a 0 részsorozatok hosszát a következő kimeneti bitsorozatot kapjuk: { } { } |011| | 011| |110| | | |101| | | Ez 29%-os megtakarítást jelent. Az ilyen elven működő algoritmusokat környezetfüggő kódolásnak is nevezik.
24
- A tömörítés során megszámolják az ismétlődő adatokat majd ezt a számot az ismétlődő adat elé írják, utána pedig az ismétlendő adatot. Az eredeti állomány ebből veszteségmentesen visszaállítható. Példa: Az eredeti mondat: "yaaaaaaaaaaaaaaaaasssssssiiiiiiinnnnnn" A tömörített változat: "1y17a7s7i6n" A tömörített változat nyilvánvalóan kevesebb tárolási helyet foglal.
25
Darabszám-kódolás Pl. a felkiáltó jel legyen az ismétlődés jelző.
Ha egy adathalmazban sok egymás után következő azonos szimbólum fordul elő, célszerű egy külön szimbólumot fenntartani az ismétlődés jelölésére, és utána következik az ismétlődő szimbólum, míg az azt követő számérték jelzi az ismétlődő szimbólumok számát. Pl. a felkiáltó jel legyen az ismétlődés jelző. Ekkor !A30 azt jelenti, hogy 30 darab A betű következik egymás után.
26
Szimbólumsor-helyettesítés:
gyakori azonos szimbólumsor helyett egy speciális szimbólum használata. Pl. a tabulátor, amely 8 szóközt ér. Minta helyettesítés: gyakori szimbólumsorozat helyettesítésére speciális szimbólumot alkalmaznak.
27
Statisztikai kódolás a kódhossz a kód előfordulási gyakoriságától függ. Pl. a Morse ABC, amelyben az angol szövegek leggyakoribb betűjének az „e”-nek a kódja a pont. A szintén gyakori „t” -nek pedig a vonás.
28
LZ adaptív szótár-alapú algoritmus
LZ – Lempel és Ziv, az algoritmus megalkotói - A legtöbb tömörítőprogram ezen az algoritmuson alapul, de multimédiás formátumokban is alkalmazzák, pl. a GIF képformátumban.
29
Legyen a tömörítendő adathalmaz a következő mondat:
- Az eljárás lényege egy példán keresztül: Legyen a tömörítendő adathalmaz a következő mondat: "Ask not what your country can do for you - ask what you can do for your country." (John F. Kennedy, 1961) A mondat 61 betűből , 16 szóközből, egy gondolatjelből és egy pontból áll, ez összesen 79 tárolandó adat. - A redundancia: „ask” , „what” , „your” , „country" , „can" , „do" , „for" , „you" Ezek a szavak kétszer fordulnak elő a mondatban, ha a kis- és a nagybetűket figyelmen kívül hagyjuk, a mondat fele redundáns.
30
A szótár létrehozása: Az ismétlődő adatokat „szótárba” katalogizáljuk, akár egy számozott lista formájában. Esetünkben: 1. ask 2. what 3. your 4. country 5. can 6. do 7. for 8. you Az eredeti mondaton alkalmazva ezt a helyettesítést, a következő eredményt kapjuk: "1 not " Ez mindenképpen rövidebb mint az "Ask not what your country can do for you - ask what you can do for your country." A szótárat tárolni kell a tömörített állománnyal együtt, különben az eredeti üzenet nem rekonstruálható!
31
Az LZ algoritmus „adaptív része” – Az ismétlődő minták keresése
- Különálló szavak helyett ismétlődő részletek is katalogizálhatók, gyakran sokkal jobb hatásfokú így a tömörítés (de bonyolultabb az algoritmus). Esetünkben, néhány lehetséges minta: "Ask not what your country can do for you - ask what you can do for your country." - „t „ (t + space) a „not” és a „what” után, - „ou” a „your” és a „country” szavakban (Hosszabb szöveg esetén – mivel az angol nyelvben az „ou” gyakori – érdemes lehet...) - A „your” és a „country” együtt fordul elő - A "can do for" ismétlődik, utána vagy a „your country” vagy a „you” szavak állnak, lehetséges minta „can do for you” és „r country”, stb.
32
Egy lehetséges szótár az adaptív algoritmus segítségével:
(Az „ _ ” a szóköz karaktert jelöli.) 1. ask_ 2. what_ 3. you 4. r_country 5. _can_do_for_you Az így létrehozott kód: "1not 2345 – " rövidebb mint a szóhelyettesítéssel készült: "1 not "
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.