.lzss
Lempel–Ziv–Storer–Szymanski
(.lzss から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/07/29 02:32 UTC 版)
Jump to navigation Jump to searchこの記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(2016年11月) |
Lempel–Ziv–Storer–Szymanski (LZSS) は、1982年にJames StorerとThomas Szymanskiによって考案されたデータ圧縮のLZ77の改良アルゴリズム。LHAやZIPに用いられている。データ列には同じようなパターンが繰り返し現れるという法則を利用し、圧縮する。
符号化の原理
LZ77では、記号列を(一致位置、一致長、次の不一致記号)という3つの値に置き換えていた。しかし、この方法では一致がなかった場合には(0,0,不一致記号)と一致位置、一致長のぶんだけ冗長になってしまう。
そこでLZSSでは、
- 一致があった場合:1、一致位置、一致長
- 一致がなかった場合:0、不一致記号
とすることで圧縮率の向上を図っている。つまり、まず最初に一致したかどうかに1ビット使う。一致位置は、圧縮しようとしている位置より前の位置で、最も長く一致する部分を探索する。一致位置、一致長、不一致記号は固定ビット数で表現する。
LZSSはLZ77とさほど変わらないアルゴリズムであるにもかかわらず、大幅な性能向上が期待でき、多くの圧縮ソフトウェアで用いられている。
関連項目
|
- .lzssのページへのリンク