![Page 1: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/1.jpg)
Lempel-Ziv-Welch
veszteségmentes tömörítési algoritmus
![Page 2: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/2.jpg)
� Adott egy szöveg, és egy ABC.
� A szöveget szeretnénk kódolni.
� Az LZW-vel nem csak karaktereket tudunk kódolni, hanem a szótár bővíthető a szóban szereplő szótöredékekkel is.
� Ezáltal tömöríteni is képes.
� A dekódoláshoz elégséges pusztán az alap ABC ismerete, a módszer szinte ugyanaz, mint maga a kódolás folyamata.
![Page 3: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/3.jpg)
� Adott egy szöveg: ababcbababaaaaaaa
� Adott ez ABC: a,b,c
� Az alap kódóló szótár:a=1b=2c=3
![Page 4: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/4.jpg)
T = ababcbababaaaaaaaSzótár:a=1b=2c=3
![Page 5: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/5.jpg)
T = ababcbababaaaaaaaSzótár:a=1b=2c=3ab=4
T = 1
![Page 6: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/6.jpg)
T = ababcbababaaaaaaaSzótár:a=1b=2c=3ab=4ba=5
T = 12
![Page 7: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/7.jpg)
T = ababcbababaaaaaaaSzótár:a=1b=2c=3ab=4ba=5abc=6
T = 124
![Page 8: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/8.jpg)
T = ababcbababaaaaaaaSzótár:a=1b=2c=3ab=4ba=5abc=6cb=7
T = 1243
![Page 9: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/9.jpg)
T = ababcbababaaaaaaaSzótár:a=1b=2c=3ab=4ba=5abc=6cb=7bab=8
T = 12435
![Page 10: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/10.jpg)
T = ababcbababaaaaaaaSzótár:a=1b=2c=3ab=4ba=5abc=6cb=7bab=8baba=9
T = 124358
![Page 11: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/11.jpg)
T = ababcbababaaaaaaaSzótár:a=1b=2c=3ab=4ba=5abc=6cb=7bab=8baba=9aa=10
T = 1243581
![Page 12: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/12.jpg)
T = ababcbababaaaaaaaszótár:a=1b=2c=3ab=4ba=5abc=6cb=7bab=8baba=9aa=10aaa=11
T = 1243581 10
![Page 13: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/13.jpg)
T = ababcbababaaaaaaaszótár:a=1b=2c=3ab=4ba=5abc=6cb=7bab=8baba=9aa=10aaa=11aaaa=12
T = 1243581 10 11
![Page 14: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/14.jpg)
T = ababcbababaaaaaaaszótár:a=1b=2c=3ab=4ba=5abc=6cb=7bab=8baba=9aa=10aaa=11aaaa=12
T = 1243581 10 11 1
![Page 15: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/15.jpg)
T = ababcbababaaaaaaaszótár:a=1b=2c=3ab=4ba=5abc=6cb=7bab=8baba=9aa=10aaa=11aaaa=12
T = 1 2 4 3 5 8 1 10 11 1
![Page 16: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/16.jpg)
� Az eredeti szöveget: ababcbababaaaaaaa
� Erre kódoltuk át: 1 2 4 3 5 8 1 10 11 1
� Ha azt szeretnénk, hogy a kódolt szöveg tömörebb is legyen, mint az eredeti, akkor szükségünk van egy kis „optimalizációra”.
![Page 17: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/17.jpg)
� Nézzük meg:
� Feleltessünk megy egy bináris kódot minden egyes kódnak, így kapunk egy új szótárat:
1 0
2 1
3 2
4 3
5 4
8 5
10 6
11 7
![Page 18: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/18.jpg)
� Látható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten.
� A kódolt szöveg: 1 2 4 3 5 8 1 10 11 1� Tehát 10*3 bit szükséges, összesen 3.� Az eredeti szöveg 17 hosszú, és 2 bit
szükséges egy kódszó tárolásához, így 34 bit kell összesen neki.
� Végeredményben tehát a kódolás után rövidebb az eredményünk
![Page 19: Lempel-Ziv-Welch veszteségmentes tömörítési …vimba.web.elte.hu/algo2/bead/gy6/algo6.pdfLátható tehát, hogy így bináris alakban egy kódszó tárolható 3 biten. A kódolt](https://reader034.vdocuments.pub/reader034/viewer/2022042309/5ed6544e7998195daf29d687/html5/thumbnails/19.jpg)
� A LZW algoritmus titkosításhoz is használható, ha az ABC és a kódolt üzenet külön kerül tárolásra.
� A dekódolás folyamata majdnem megegyezik a kódolással, csak az ellenkező irányba haladva.