Lempel–Ziv–Storer–Szymanski

Lempel–Ziv–Storer–Szymanski (LZSS) は、1982年にJames StorerとThomas Szymanskiによって考案されたデータ圧縮のLZ77の改良アルゴリズム。LHAやZIPに用いられている。データ列には同じようなパターンが繰り返し現れるという法則を利用し、圧縮する。

 符号化の原理 
LZ77では、記号列を（一致位置、一致長、次の不一致記号）という3つの値に置き換えていた。しかし、この方法では一致がなかった場合には（0,0,不一致記号）と一致位置、一致長のぶんだけ冗長になってしまう。

そこでLZSSでは、
 一致があった場合：1、一致位置、一致長
 一致がなかった場合：0、不一致記号
とすることで圧縮率の向上を図っている。つまり、最初に一致したか否かに1ビットを使う。一致位置は、圧縮しようとしている位置より前の位置で、最も長く一致する部分を探索する。一致位置、一致長、不一致記号は固定ビット数で表現する。

LZSSはLZ77とさほど変わらないアルゴリズムであるにもかかわらず、大幅な性能向上が期待でき、多くの圧縮ソフトウェアで用いられている。

 関連項目 
 データ圧縮
 LZ77

Category:データ圧縮
Category:アルゴリズム
Category:エポニム