1 / 9

LZW tömörítés

LZW tömörítés. Tóth István 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.

Download Presentation

LZW tömörítés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LZW tömörítés Tóth István Algoritmusok és adatszerkezetek 2.

  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

  3. LZW működése - általános • Szótár: • Inicializáláskor: minden lehetséges egybetűs szimbólumot tartalmaz • Folyamatosan bővül • Kódolás: • Inputból olvassa a szimbólumokat, amíg a szótárban van a sorozat • Amikor nincs: sorozat indexét elküldjük, az új sorozatot (a következő karakterrel kiegészítve) felvesszük a szótárba, ettől a karaktertől folytatjuk • Eltárolt kódok változó bitszélességben: alapból 1 bittel hosszabb, amint szükséges, 1 bittel növeli (max12-ig) • Speciális kódok: • Törlőkód: a szótár felszabadítására • Stop-kód: üzenet végét jelzi

  4. LZW működése - általános • Dekódolás: • Az alapszótárral kezd, ugyanúgy felépíti, mint kódolásnál • Beolvas inputról egy szimbólumot (index), megkeresi a szótárban, kiadja a hozzá tartozó stringet • Ennek az első karakterét hozzáadja ahhoz a stringhez, amivel dolgozik • Az összefűzöttet hozzáadja a szótárhoz • Újrakezdés, a dekódolt stringethasználva • Az LZW használati módjában meg kell egyezzen a kódolóval (ábécé mérete, kód maximális szélessége, eredeti kódméret, stb)

  5. LZW működése - kódolás • Input string: TOBEORNOTTOBEORTOBEORNOT# • # az input végét jelző szimbólum • Kezdőszótár: az ábécé (26 betűvel), # Index: Szimbólum:

  6. LZW működése - kódolás

  7. LZW működése - dekódolás forrás: wikipedia.org

  8. 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

More Related