Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Kompresní algoritmus LZW Dokumentografické informační systémy
2
Cíl n Co je LZW algoritmus a jak pracuje.
3
Osnova n Historie slovníkové komprese. n Co je LZW? n Algoritmus LZW komprese. n Algoritmus LZW dekomprese. n Praktická implementace. n Výsledky testů.
4
Histrorie slovníkové komprese n Autoři: Ziv, Lempel u 1977 - základní princip F Vyvinuty algoritmy ozn. LZ77 F Programy - PKZip, Zip, ARJ, Gzip u 1978 - odlišný přístup F Vyvinuty algoritmy ozn. LZ78 F Programy - compress v Unixu, GIF, V.42 bis
5
Co je LZW? n Algoritmus pro kompresi textů. n Založen na slovníkové metodě komprese třídy LZ78. n Semiadaptivní komprese.
6
Algoritmus komprese n Postupné čtení dokumentu D. n Při čtení sestavován slovník frází. u Na počátku obsaženy fráze délky 1. n Současné vytváření výstupního zkomprimovaného souboru.
7
Kroky komprese n Prohledáván slovník frází. u Nalezení nejdelší fráze shodné s textem na vstupu. u Pořadové číslo fráze uloženo do výstupního souboru. u Nalezená fráze odebrána ze vstupu n Vytváření nové fráze. u = právě použitá fráze + znak na vstupu
8
Co to znamená n Znak na vstupu u je prvním znakem fráze použitém v příštím kroku. n Nová fráze u se vytváří vždy ze dvou po sobě použitých Fráze kroku m První znak fráze kroku m+1 Nová fráze kroku m+1
9
Výsledek n Opakováním kroků algoritmu, dokud není přečten celý vstupní soubor, je vytvářen výstupní zkomprimovaný soubor. Tento soubor obsahuje pořadová čísla frází ve slovníku.
10
Algoritmus dekomprese n Probíhá obdobně jako komprese - vytváří se slovník stejných frází u Na počátku jsou ve slovníku jen fráze délky 1.
11
Kroky dekomprese n Přečtení čísla fráze ze vstupního souboru. n Odpovídající fráze je uložena do výstupního souboru. n Vytvoření nové fráze a její začlenění do slovníku. u = fráze z předposledního kroku + první znak z posledního kroku. Fráze kroku m První znak fráze kroku m+1 Nová fráze kroku m+1
12
n Začlenění fráze do slovníku je oproti kompresi o krok zpožděno. n Pokud první znak fráze je shodný s prvním znakem fráze použité v předchozím kroku, fráze při dekompresi zatím ve slovníku neexistuje. Na základě toho lze doplnit chybějící frázi. Použitá fráze Znak na vstupu Nová fráze
13
Praktická implementace n Rychlost komprese - závislá na rychlosti vyhledávání fráze ve slovníku. n Kladen důraz na účelné využití paměti. n Vyhovuje - uložení frází ve stromové struktuře.
14
Stromová struktura slovníku Kořen a 0 b 4 c 6d 12 d 10 a 9 a 5 b 1 d 7 c 2 a 11 a 8 d 3 n Zřetězením znaků od kořene k jednotlivým uzlům stromu získáme všechny fráze.
15
Realizace stromu n Pomocí ukazatelů nevýhodné - spotřeba místa, rychlost. n Efektivnější tabulka - použití indexů tabulky. u Nevýhodné - vysoká arita uzlu následníků stromu.
16
Binarizace n-árního stromu Kořen a 0 b 4 c 6d 12 d 10 a 9 a 5 b 1 d 7 c 2 a 11 a 8 d 3 n V každém uzlu (vyjma kořenového) jen dva ukazatele. u Prvního následníka u Sousední uzel
17
Obvyklá implementace LZW n Na vstupu - 256 možných znaků. u Na počátku vždy slovník inicializován hodnotami 0-255. n Omezený rozsah slovníku - obvykle 4096 frází. u Je-li slovník vyčerpán, slovník se zruší a znovu inicializuje. F Informace o novém slovníku uložena do výstupního souboru. n Konec komprese uložen do výstupního souboru.
18
Uložení čísla fráze do výstupního souboru n Číslo fráze ukládáno pomocí 12 bit u K vyjádření čísel 0 - 4095 je zapotřebí 12 bitů n Dokonalejší způsob u 0 - 511 uloženo do 9 bitů u 512 - 1023 uloženo do 10 bitů u 1024 - 2047 uloženo do 11 bitů u 2048 - 4095 uloženo do 12 bitů Nový slovník 256 9ti bit. Nový slovník 256 10ti bit. 11ti bit.12ti bit.
19
Závěrečný test komprese n Úspěšnost komprese u 8KB textového souboru - 55% u 12KB JPEG - zvětšen o 34% u 11KB GIF - zvětšen o 28% u 55KB HTML - 53%
20
Děkuji Vám za pozornost. n Informace o této prezentaci naleznete na: http://home.vsb.cz/pn.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.