Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Készítette: Lakos Péter. LZW-algoritmus:  Veszteségmentes tömörítő eljárás  Abraham Lempel és Jacob Ziv 1978-ban publikálták az LZ78 algoritmust  Az.

Hasonló előadás


Az előadások a következő témára: "Készítette: Lakos Péter. LZW-algoritmus:  Veszteségmentes tömörítő eljárás  Abraham Lempel és Jacob Ziv 1978-ban publikálták az LZ78 algoritmust  Az."— Előadás másolata:

1 Készítette: Lakos Péter

2 LZW-algoritmus:  Veszteségmentes tömörítő eljárás  Abraham Lempel és Jacob Ziv 1978-ban publikálták az LZ78 algoritmust  Az LZW ennek továbbfejlesztett változata, amit Terry Welch publikált 1984-ben  Az LZW-algoritmust használja a compress / uncompress parancs UNIX rendszereken  Az LZW-algoritmus továbbfejlesztéseiből születtek a zip, gzip és bzip tömörítések

3  Adott egy T input string és egy S szótár  Az S a T-ben lévő betűkhöz és szavakhoz természetes számokat rendel  Készítsük el T kódját S kibővítésével, hogy az output kisebb méretű legyen, mint T! Feladat:

4 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b Puffer: -  Tegyük a beolvasott karaktereket a pufferba, amíg a puffer tartalma + a következő karakter már nincs benne a szótárban  Írjuk ki a puffer tartalmát az outputra és vegyük fel a szótárba a puffer tartalma + következő karaktert  Ezután a puffer tartalma legyen ez a következő karakter

5 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b Puffer: - Beolvassuk az a-t. Ekkor a puffer tartalma + a következő betű (a) már megvan a szótárban, így tovább mehetünk Az a-t betesszük a pufferba a

6 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b 2 : ab Puffer: a Most a puffer tartalma + következő karakter: „ab”, ami még nincs meg a szótárban A puffer tartalmát (annak kódját) kiírjuk az outputra 0 Vegyük fel a szótárba a puffer tartalma + következő karaktert (ab) A puffer tartalma legyen ez az új karakter (b) b

7 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b 2 : ab 3 : ba Puffer: b 0 És így tovább… 1 a

8 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba Puffer: a 01 „ab” már benne van a szótárban ab 2 a

9 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba 5 : abab Puffer: a 012 ab aba 4 b

10 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba 5 : abab 6 : bab Puffer: b 0124 ba 3 b

11 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba 5 : abab 6 : bab Puffer: b babab

12 Példa tömörítésre T: a b a b a b S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba 5 : abab 6 : bab Puffer: bab Végezetül a puffer tartalmát kiírjuk az outputra 6 A kapott kód tehát:

13 Példa visszafejtésre Input: S: 0 : a 1 : b A tömörítés logikáját alkalmazzuk visszafelé.

14 Példa visszafejtésre Input: S: 0 : a 1 : b A 0-s kód megvan a szótárban, jelentése: a a

15 Példa visszafejtésre Input: S: 0 : a 1 : b A piros nyíl jelzi, hol tartott ekkor a tömörítés. a

16 Példa visszafejtésre Input: S: 0 : a 1 : b 2 : ab És így tovább… ab Az „ab” ekkor még nem volt benne a szótárban, ezért most bekerült

17 Példa visszafejtésre Input: S: 0 : a 1 : b 2 : ab 3 : ba ab ab A 4-es kód ismeretlen, de tudjuk, hogy ezen a ponton egy abx szó került be a szótárba 4-esként

18 Példa visszafejtésre Input: S: 0 : a 1 : b 2 : ab 3 : ba 4 : abx ab ab A 4-es kód ismeretlen, de tudjuk, hogy ezen a ponton egy abx szó került be a szótárba 4-esként abx

19 Példa visszafejtésre Input: S: 0 : a 1 : b 2 : ab 3 : ba 4 : abx ab ab Ezt visszahelyettesítve látjuk, hogy x = a abx 4 : aba aba

20 Példa visszafejtésre Input: S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba 5 : abab ab ab ababa

21 Példa visszafejtésre Input: S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba 5 : abab 6 : bay ab ab ababa A 6-os kód szintén ismeretlen, ugyanúgy járunk el, mint korábban bay

22 Példa visszafejtésre Input: S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba 5 : abab 6 : bay ab ab abababay 6 : bab bab

23 Példa visszafejtésre Input: S: 0 : a 1 : b 2 : ab 3 : ba 4 : aba 5 : abab 6 : bab ab ab abababab Az input végére értünk, a kapott string tehát: abababababab

24 Megjegyzés:  A szótárat nem kell elküldeni a címzettnek, a példában látott módon a visszafejtő algoritmus azt megkonstruálja  DE a szövegben lévő betűk kódját ismerni kell a visszafejtés elkezdése előtt (lehet közös kódkészlet)  További információk, példa: ch ch


Letölteni ppt "Készítette: Lakos Péter. LZW-algoritmus:  Veszteségmentes tömörítő eljárás  Abraham Lempel és Jacob Ziv 1978-ban publikálták az LZ78 algoritmust  Az."

Hasonló előadás


Google Hirdetések