Lempel-Ziv

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

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.

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.

Lempel-Ziv algoritmi on nimetty IEEE:n merkkipaalujen () listalla.

Katso myös 
 Huffmanin koodaus
 Shannonin koodaus

Lähteet 

Pakkausalgoritmit