LZ77
LZ77 は Lempel と Ziv が 1977 年に提案したスライディングウィンドウ型辞書圧縮アルゴリズムである。(距離、長さ、リテラル) の三つ組で過去のデータを参照する。
目的
データ中の繰り返しパターンを利用して普遍的な可逆圧縮を実現する。DEFLATE、LZSS、LZMA などの基礎である。
メカニズム
スライディングウィンドウ(履歴バッファ)と先読みバッファを維持し、ウィンドウ内で先読みの最長一致を探して (距離、長さ) 参照またはリテラルを出力し、ウィンドウを前にスライドさせる。
ユースケース
- DEFLATE/gzip圧縮の中核
- 汎用ファイル圧縮
- リアルタイムストリーム圧縮