私は現在、データをエンコード/デコードするためのDEFLATEメソッドについて読んでいます。プロセスは2つの部分で構成されていることを理解しています。
私。(指定されたウィンドウ内の)重複する情報を、前の同一の部分への参照に置き換えます。
ii。ハフマンコーディングを使用して、最も一般的に発生するシンボルのサイズを縮小します。
(i)について質問があります。DEFLATEはLZ77を使用します。これは、サイズウィンドウに基づいて情報を検索し、重複する情報が見つかった場合は、それを「ポインター」に置き換えます。それは完全に理にかなっています。
しかし、LZ77を使用してデコードする場合、DEFLATEはどのようにポインターを認識しますか?(ポインターは長さと距離のペアです。それがポインターなのか、それとも初期データに存在していた数字なのかをどのように見分けることができますか?)
参照: http: //en.wikipedia.org/wiki/DEFLATE#Duplicate_string_elimination