× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
LZSS符号はLZ77符号を改良したものである。
1982年にStorerとSzymanskiによって考案された。 符号化は・・・ 辞書に登録されている場合は1を出力し 続いて開始位置と一致長を出力する。 辞書の最後に一致した文字列を追加する。 辞書に登録されていない場合は0を出力し 続いて文字を出力する。 辞書の最後に出力した文字を追加する。 復号化は・・・ 最初に1ビット読み込み 0だった場合、続く1文字を読み込み出力する。 辞書の最後に出力した文字を追加する。 1だった場合、続いて開始位置と一致長を読み込む 辞書から一致長分の文字列を出力する。 辞書の最後に出力した文字列を追加する。 辞書サイズが大きくすると開始位置を表す記号も大きくなるため 辞書サイズが大きくなるほど圧縮率が良くなるという訳ではない。 また一致長が1だった場合(1,開始位置,一致長)と出力するより (0,文字)と出力した方が圧縮率が良くなる。 さらに一致長が3以下の場合は辞書に登録されていないとみなした場合 つまり(0,文字)(0,文字)(0,文字)のように出力するとした場合 3以下の一致長は現れないため 一致長を符号化時は(一致長 - 3) 復号化時は(一致長 + 3)のように表せる。 要するに最大一致長を増やすことができる。 最大一致長を変えない場合でも、より小さな値で一致長を表現できる。 PR |
|
トラックバックURL |
忍者ブログ [PR] |