2017-10-09 4 views
0

デフレートコンプレッサを実装しようとしていて、 ブロックをスタティックなハフマンコードで圧縮するか、ダイナミックブロックを作成するかを決めなければなりません。デフレートと固定のハフマンコード

スタティックコードに関連付けられている長さの根拠は何ですか?

、私は静的コードがASCIIテキストに対してよりバイアス思った Lit Value Bits --------- ---- 0 - 143 8 144 - 255 9 256 - 279 7 280 - 287 8 (これはRFCに含まれるテーブルである)、それは小さなビットでRLE長の圧縮を好むよう代わりに が見える

静的コードを使用するかどうかを決めるよい経験則は何ですか?

入力データのサンプルから確率分布を作成し、静的コードから導かれた確率 から距離(多分EMD?)を計算することを考えていました。

答えて

1

私は、コードの作成者が、圧縮されたデータからリテラルと長さの大きなサンプルを取ったと思いますが、実行ファイルとテキストが含まれている可能性があります。それらは次に示された表で近似された。しかし、著者は何年も前に亡くなってしまったので、私たちは決して分かりません。

ヒューリスティックは必要ありません。一致する文字列を見つける作業を完了したら、ブロック内のビット数を動的表現と静的表現の両方で計算するのは比較的高速です。次に、小さなものを選んでください。等しい場合は静的なもの(より速くデコード)。

関連する問題