tanszek:oktatas:infrendalapjai_architekturak:informacio_feldolgozas:toemoerites
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:infrendalapjai_architekturak:informacio_feldolgozas:toemoerites [2024/11/12 19:12] – [Huffman kódolás] knehez | tanszek:oktatas:infrendalapjai_architekturak:informacio_feldolgozas:toemoerites [2024/11/15 18:01] (current) – knehez | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Adattömörítő eljárások ===== | ||
A tömörítő eljárások lényege: olyan változó szóhosszúságú kódot választunk, | A tömörítő eljárások lényege: olyan változó szóhosszúságú kódot választunk, | ||
Line 53: | Line 54: | ||
^Karakter^Gyakoriság^ | ^Karakter^Gyakoriság^ | ||
- | |A|7| | + | |A|9| |
|B|3| | |B|3| | ||
|C|1| | |C|1| | ||
Line 59: | Line 60: | ||
|E|1| | |E|1| | ||
|F|1| | |F|1| | ||
- | |G|2| | + | |G|1| |
|H|1| | |H|1| | ||
Line 115: | Line 116: | ||
megjegyzés: | megjegyzés: | ||
+ | |||
+ | ===== LZW kódolás ===== | ||
+ | |||
+ | Ennél a módszernél, | ||
+ | |||
+ | === Algoritmusa === | ||
+ | |||
+ | Kiindulásként a kódtáblázat tartalmazza a forrás összes előforduló elemét. | ||
+ | A kódoláskor az éppen aktuális pozíciótól kezdve addig olvassuk be a soron következő szimbólumokat egy bufferbe (**b**), amíg a sorozat szerepel a szótárban. Ha a soron következő karakter (**c**) az első olyan elem, amelyre **bc** már nem szerepel a szótárban, | ||
+ | |||
+ | Ezt a tömör leírást egy példa alapján tesszük érthetővé. | ||
+ | |||
+ | === Példa === | ||
+ | |||
+ | Kódoljuk a következő sorozatot LZW kódolással: | ||
+ | |||
+ | '' | ||
+ | |||
+ | Megvizsgálva az adatforrást, | ||
+ | |||
+ | - A kódoló először **d** karaktert veszi. | ||
+ | - A **d** benne van a szótárban, | ||
+ | - A **da** már nem szerepel jelenleg a szótárban, | ||
+ | - **d** 4-es indexét lejegyzi | ||
+ | - felveszi a szótárba **da** részszöveget a 6. bejegyzésbe és megy tovább **a**-val folytatva. | ||
+ | - Az **a** szerepel a szótárban, | ||
+ | |||
+ | '' | ||
+ | |||
+ | ^index^bejegyzés^ | ||
+ | |1|a| | ||
+ | |2|b| | ||
+ | |3|c| | ||
+ | |4|d| | ||
+ | |5|e| | ||
+ | |6|da| | ||
+ | |7|ab| | ||
+ | |8|bb| | ||
+ | |9|ba| | ||
+ | |10|ac| | ||
+ | |11|cd| | ||
+ | |12|dab| | ||
+ | |13|bba| | ||
+ | |14|acd| | ||
+ | |15|dabb| | ||
+ | |16|bac| | ||
+ | |17|cda| | ||
+ | |18|abb| | ||
+ | |19|bacd| | ||
+ | |20|de| | ||
+ | |21|ee| | ||
+ | |22|ec| | ||
+ | |23|cde| | ||
+ | |24|eec| | ||
+ | |25|cdee| | ||
+ | |||
+ | A Unix **compress** parancsa és a **GIF** (Graphics Interchange Format) képtömörítő eljárás is az **LZW** algoritmust alkalmazza. | ||
+ | ===== RLE kódolás ===== | ||
+ | |||
+ | Run-Length Encoding (RLE) – futáshossz kódolás. | ||
+ | |||
+ | A fentiekhez képes nagyon egyszerű, de mégis a gyakorlatban széleskörben használt kódolás. | ||
+ | |||
+ | Egyszerű tömörítési eljárás, amely a hosszasan ismétlődő azonos karaktereket, | ||
+ | Példa alapján könnyen érthető. | ||
+ | |||
+ | Kódoljuk a következő karaktereket RLE kódolással: | ||
+ | |||
+ | '' | ||
+ | |||
+ | === Kódolva === | ||
+ | |||
+ | '' | ||
+ | |||
+ | Melynek értelmezése: | ||
+ | |||
+ | Így tehát a Run-Length Encodinggal kódolt szöveg az eredeti 67 karaktert 18-cal írja le. Természetesen a valóságban nem karakterekkel, | ||
+ |
tanszek/oktatas/infrendalapjai_architekturak/informacio_feldolgozas/toemoerites.1731438759.txt.gz · Last modified: 2024/11/12 19:12 by knehez