Lempel-Ziv

Lempel–Ziv (LZ) algoritmit ovat yksi tunnetuimmista ja suosituimmista menetelmistä tiedon häviöttömälle pakkaukselle.

 Menetelmä 
Algoritmin ovat kehittäneet Abraham Lempel ja Jacob Ziv. Algoritmin ensimmäiset versiot tunnetaan LZ77 ja LZ78 julkaisuvuosien 1977 ja 1978 perusteella (myös LZ1 ja LZ2).

Lempel-Ziv algoritmi käyttää sanastoon perustuvaa pakkausta, jossa toistuvat jaksot korvataan viittauksilla sanastoon. Jotta pakattu tieto voidaan palauttaa on sanasto tunnettava. Sanasto voi olla ennalta määritelty tai se voi seurata tiedon mukana. LZW-muunnos lisää sanaston dynaamisen luomisen pakattavasta tiedosta, jolloin sitä ei tarvitse erikseen määritellä, ja sanasto päätellään purkamisen yhteydessä.
Lempel-Ziv-Welch (LZW) on Terry Welchin vuonna 1984 kehittämä muunnos LZ78-pakkauksesta. LZW on kuvattu artikkelissa A technique for high performance data compression IEEE Computer -lehdessä. Welch ehdotti muutoksia sanaston käsittelyyn ja sanaston indekseinä käytettäviin koodisanoihin.

Pakkaustehoon vaikuttavia tekijöitä ovat mm. sanaston laajuus ja jaksojen pituus.

Menetelmän eri versioita ja muunnoksia:
 Deflate 
 Lempel-Ziv-Welch (LZW) 
 Lempel-Ziv-Oberhumer (LZO) 
 Lempel-Ziv-Ross-Williams (LZRW)
 Lempel-Ziv-Stac (LZS), myös Stac-pakkaus
 Lempel-Ziv-Storer-Szymanski (LZSS)
 Lempel-Ziv-Markov chain algorithm (LZMA)
 Statistical Lempel–Ziv

Algoritmia käytetään yleisessä tiedostojen pakkauksessa sekä kuvadatan pakkauksessa kuten GIF ja PNG tiedostomuodot.

 Vaikutus 
Lempel-Ziv algoritmi on nimetty IEEE:n merkkipaalujen () listalla. Lempel-Ziv-Welch (LZW) -muunnelma on pahamaineinen Unisysin vuonna 1994 hakeman patentin johdosta. Unisys haki patenttia, kun LZW:tä käyttävä GIF oli jo laajalti käytössä internetissä esitetyssä sisällössä. Viimeinen LZW:tä koskeva patentti vanheni vuonna 2004.

 Katso myös 
 Huffmanin koodaus
 Shannonin koodaus

 Lähteet 

 Aiheesta muualla 
 A Technique for High-Performance Data Compression 
 Lecture 7: Supplemental notes on LZ77 (PDF) 

Luokka:Pakkausalgoritmit