LZW tömörítés Akopjan Alex Algoritmusok és adatszerkezetek 2.
LZW – Áttekintés Veszteségmentes tömörítési algoritmus Az LZ78 továbbfejlesztése Terry Welch publikálta 1984-ben Fő felhasználása: A Unix „compress” segédprogramja GIF TIFF és PDF tömörítő-algoritmusai közt is szerepel
LZW működése - általános Adott egy szöveg és egy ABC A szoveget dekodolni szeretnénék Az LZW-ben a szótár bővithető a szóban szereplő szótöredékekkel Igy tömörít Dekodoláshoz elég az ABC ismerete
LZW működése - példa Adott egy T = ababcbababaaaaaaa szöveg Adott egy ABC: a,b,c Kezdetben a kódoló szótár: a=1 b=2 c=3
LZW működése - példa T= ab abcbababaaaaaaa T=1 1=a 2=b 3=c 4=ab
LZW működése - példa T= aba bcbababaaaaaaa T=12 1=a 2=b 3=c 4=ab 5=ba
LZW működése - példa T= ababc bababaaaaaaa T=124 1=a 2=b 3=c 4=ab 5=ba 6=abc
LZW működése - példa T= ababcb ababaaaaaaa T=1243 1=a 2=b 3=c 4=ab 5=ba 6=abc 7=cb
LZW működése - példa T= ababcbab abaaaaaaa T= =a 2=b 3=c 4=ab 5=ba 6=abc 7=cb 8=bab
LZW működése - példa T= ababcbababa aaaaaa T= =a 2=b 3=c 4=ab 5=ba 6=abc 7=cb 8=bab 9=baba
LZW működése - példa T= ababcbababaa aaaaa T= =a 2=b 3=c 4=ab 5=ba 6=abc 7=cb 8=bab 9=baba 10=aa
LZW működése - példa T= ababcbababaaa aaaa T= =a 2=b 3=c 4=ab 5=ba 6=abc 7=cb 8=bab 9=baba 10=aa 11=aaa
LZW működése - példa T= ababcbababaaaaaaa T= =a 2=b 3=c 4=ab 5=ba 6=abc 7=cb 8=bab 9=baba 10=aa 11=aaa 12=aaaa
LZW működése - példa T= ababcbababaaaaaaa T= =a 2=b 3=c 4=ab 5=ba 6=abc 7=cb 8=bab 9=baba 10=aa 11=aaa 12=aaaa
LZW Eredeti szöveg: ababcbababaaaaaaa Kapott kód: Ez optimalizálható így:
LZW Eredeti szöveg: ababcbababaaaaaaa Eredeti szoveg:17*2bit=34bit Kódolt szöveg: Kódolt szöveg: 10*3bit=30bit A kódolás után rövidebb az eredményünk
Változatai LZMW Az inputban a leghosszabb, szótárban is lévő elemet keresi Összefűzi ezt a stringet az előző kikeresett elemmel, hozzáadja a szótárhoz Gyorsabban nő a szótár, implementálás viszont nehezebb LZAP Az LZMW módosított változata Karakterenként fűzi hozzá az új stringet az előzőhöz Mindegyik elemet hozzáadja a szótárhoz LZWL Az LZW szótagalapú változata
Prezentáció vége Akopjan Alex