Tóth István Algoritmusok és adatszerkezetek 2.

Slides:



Advertisements
Hasonló előadás
Tömörítés.
Advertisements

Készítette: Boros Erzsi
Információ, adat, kommunikáció
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Kódelmélet.
Soros kommunikáció. •Üzenet–>Kódolás (bináris kód) •A bitek átküldése a vezetéken időben egymás után (soros) •Dekódolás–>Üzenet GND
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
3. A programozás eszközei, programozás-technikai alapismeretek
Készítette: Mester Tamás METRABI.ELTE.  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal.
INFOÉRA Dinamikus programozás (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai képzések.
Sándor Laki (C) Számítógépes hálózatok I. 1 Számítógépes hálózatok 3.gyakorlat Fizikai réteg Kódolások, moduláció, CDMA Laki Sándor
Készítette: Lakos Péter
Algoritmus és adatszerkezet Tavaszi félév Tóth Norbert1.
Gubicza József (GUJQAAI.ELTE)
Operációkutatás szeptember 18 –október 2.
Informatikai alapfogalmak
Mérés és adatgyűjtés Kincses Zoltán, Mingesz Róbert, Vadai Gergely 10. Óra MA-DAQ – Műszer vezérlése November 12., 15. v
Forrás kódolás Feladat: -az információ tömörítése.
Kommunikációs Rendszerek
Készítette: Pető László
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
Számítógépes Hálózatok GY 3. Gyakorlat Adatkapcsolati réteg Számítógépes hálózatok GY1.
Edényrendezés - RADIX „vissza” - bináris számokra
Huffman Kódolás.
Query-Aware Compression of Join Results Christopher M. Mullins, Lipyeow Lim, Christian A. Lang feldolgozta: Ancsin Attila, Dananaj Pál, Horváth Viktor.
Operációs rendszerek gyakorlat Reguláris kifejezések.
Operációs rendszerek gyakorlat. Reguláris kifejezések.
INFORMATIKA Számítógéppel segített minőségbiztosítás (CAQ)
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
Előrendezéses edényrendezés – RADIX „vissza”
Dijkstra-algoritmus ismertetése
Rendezési algoritmusok
Tömörítés, csomagolás, kicsomagolás
Termékek kódolása Kód:
Rendezések és szövegkezelő függvények
Információ, adat, jel, kód
Pixel műveletek, képek Szirmay-Kalos László.
Információelmélet 1. Előadás Dr. Nagy Szilvia Széchenyi István Egyetem Győr, 2006 tavaszi félév.
Csempe Programozás érettségi mintafeladat
A Huffman féle tömörítő algoritmus
Információ- és hírközléselmélet '991 Információ- és Hírközléselmélet Vassányi István, Információelmélet –forráskódolás –csatornakódolás.
Alapfogalmak, módszerek, szoftverek
Alapismeretek Számítógépes adatábrázolás
Adattömörítés.
Nagy Szilvia 13. Konvolúciós kódolás
2005. Információelmélet Nagy Szilvia 3. Forráskódolási módszerek.
2005. Információelmélet Nagy Szilvia 2. A forráskódolás elmélete.
Nagy Szilvia 6. Forráskódolás alapjai
2005. Információelmélet Nagy Szilvia 12. A hibacsomók elleni védekezés.
Hibajavító kódok.
A bináris jelrendszer és az ASCII kód
2005. Információelmélet Nagy Szilvia 14. Viterbi-algoritmus.
2005. Információelmélet Nagy Szilvia 1. Az információelmélet alapfogalmai 2. A forráskódolás elmélete 3. Forráskódolási módszerek.
Prim algoritmus Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna.
Kódelmélet Konvolúciós kódok. Architektúra I Input Output L=3, k =1, n=3 konvolúciós kódóló.
Huffman kód.
A Huffman féle tömörítő algoritmus Huffman Kód. Az Algoritmus Alapelvei Karakterek hossza különböző A karakter hossza sűrűsége határozza meg: Minél több.
LZW (Lempel-Ziv-Welch) tömörítő algoritmus
Huffman tömörítés.
LZW tömörítés Akopjan Alex Algoritmusok és adatszerkezetek 2.
Huffman algoritmus Gráf-algoritmusok Algoritmusok és adatszerkezetek II. Gergály Gábor WZBNCH1.
1 Műszaki kommunikáció 8. előadás vázlat Dr. Nehéz Károly egyetemi adjunktus Miskolci Egyetem Alkalmazott Informatikai Tanszék.
Készítette: Pető László
27. óra Kódolás, Dekódolás.
Titkosítás.
Változók.
IT hálózat biztonság Összeállította: Huszár István
Edényrendezés - RADIX „vissza” - bináris számokra
INFOÉRA 2006 Szövegfeldolgozás III.
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

Tóth István Algoritmusok és adatszerkezetek 2. 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

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 (max 12-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

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 stringet haszná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)

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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Szimbólum:

LZW működése - kódolás String Következő karakter Kimenet Szótár/kódtábla Megjegyzés Kód Bitek NULL T Index Eltárolt string O 20 10100 27: TO 27 = első lehetséges index új szótárelem számára B 15 01111 28: OB E 2 00010 29: BE 5 00101 30: EO R 31: OR N 18 10010 32: RN A következőnél 5-ről 6-ra növeljük a bitek számát 14 001110 33: NO 001111 34: OT 010100 35: TT 27 011011 36: TOB 29 011101 37: BEO 31 011111 38: ORT 36 100100 39: TOBE 30 011110 40: EOR 32 100000 41: RNO # 34 100010 # megállítja az algoritmust, kiírja a jelenlegi sorozatot és #-t 000000

LZW működése - dekódolás Input Kimeneti sorozat Új szótárelem Megjegyzés Bit Kód Teljes Sejtés 10100 20 T 27: T? 01111 15 O TO 28: O? 00010 2 B OB 29: B? 00101 5 E BE 30: E? EO 31: 10010 18 R OR 32: R? a 31 kód létrehozása (utolsó 5 bitbe beleférő kód) 001110 14 N RN 33: N? az input beolvasása 6 bitnél 001111 NO 34: 010100 OT 35: 011011 27 TT 36: TO? 011101 29 TOB 37: BE? 36 = TO + az első jel (B) 011111 31 BEO 38: OR? a következő megérkező szekvenciából (BE) 100100 36 ORT 39: TOB? 011110 30 TOBE 40: EO? 100000 32 EOR 41: RN? 100010 34 RNO 42: OT? forrás: wikipedia.org

Változatai LZMW LZAP LZWL 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