シャノンのデータ圧縮制限よりも小さいサイズにデータを圧縮できますか?


17

私はデータ圧縮アルゴリズムとデータ圧縮の理論的限界について読んでいました。最近、私は「コンビナトリアルエントロピーエンコーディング」と呼ばれる圧縮方法に出会いました。この方法の主なアイデアは、ファイルで表現される文字、その頻度、およびこれらの文字順列のインデックスとしてファイルをエンコードすることです。

これらのドキュメントは、この方法の説明に役立つ場合があります。

https://arxiv.org/pdf/1703.08127

http://www-video.eecs.berkeley.edu/papers/vdai/dcc2003.pdf

https://www.thinkmind.org/download.php?articleid=ctrq_2014_2_10_70019

ただし、最初のドキュメントでは、この方法を使用して、シャノンの制限未満にテキストを圧縮できることを読みました(文字の頻度を保存するために必要なスペースとメタを保存するために必要なスペースを考慮しませんでした)ファイルのデータ)。私はそれについて考えましたが、この方法は非常に小さなファイルにはあま​​り効率的ではないことがわかりましたが、一方で、大きなファイルではうまく機能する可能性があります。実際、私はこのアルゴリズムやシャノンの限界を十分に理解していません。各文字の確率の合計に確率の逆数のを掛けたものだと知っています。log2

だから私はいくつか質問があります:

  1. この圧縮方法は、実際にファイルをシャノンの制限よりも小さく圧縮しますか?

  2. ファイルをシャノンの制限未満に圧縮する圧縮アルゴリズムはありますか(私が知る限り、この質問に対する答えはノーです)。

  3. ファイルをシャノンの制限よりも小さく圧縮する圧縮方法はありますか?

  4. コンビナトリアルエンコーディングが実際にシャノンの制限を超えてファイルを圧縮する場合、目的のファイルサイズに達するまで何度もファイルを圧縮することはできませんか?


26
シャノン、シャノンの限界以下で圧縮できないこと証明しました。
ユヴァルフィルマス

11
非可逆圧縮を使用すると、シャノンの制限を下回ることができます。シャノンは情報を失うことなく限界以下に圧縮することはできないことを示しただけです。@YuvalFilmus。同様に、RGB画像では、R、G、Bコンポーネントの下位ビットを捨てることができます。
smci


6
@smciこれは、圧縮理論に関する議論にはほとんど関係ありません。明らかに、私はすべてを捨てて、圧縮と呼ぶことができます。
パイプ

1
画像のような大きなファイルがあるとしましょう。今モデルでIは、画像全体が「1」......に圧縮されるように、シャノン限界より圧縮している「1」ha..Iに画像全体をマッピング
ピーターB

回答:


34

実際、私はこのアルゴリズムまたはシャノンの制限を完全には理解していません。各文字の確率の合計に確率の逆数のlog2を掛けたものだと知っています。

ここに核心があります。シャノン制限は、テキスト文字列の普遍的なプロパティではありません。これは、テキストの文字列のプロパティであるプラス記号の(おそらく文脈依存の)確率を提供したモデル。それはその方法も教えてくれるモデルは、テキストを圧縮することができ、モデルが正確であると仮定します

1つのモデルを使用してシャノン制限を計算し、次に別のモデルを圧縮する場合、2番目のモデルがより正確であれば、計算した元のシャノン制限を超えることができますが、それは実際には関係ありません。


4
実際の例を作るために、データがN回繰り返される単一の文字で構成されていることがわかっている場合、任意の大きな圧縮率を達成できます(つまり、100億から「タ」への変換(「a」、10000000))
Ant

12

シャノンの制限を下回る圧縮が可能であることを示すのは簡単です。トークンに割り当てられた共通ファイルの束を持つ不正なコンプレッサーを使用してください。これらのファイルはそれらのトークンとして保存されます。(明らかに、コンプレッサーは非常に大きいか、非常に大きなライブラリで描画する必要があります。)

ただし、圧縮プログラムは、何らかの方法でトークンを通常の圧縮と区別する必要があるため、ライブラリ内にないファイルの処理は本質的に効率が低下します。

あなたができないことは、すべてのファイルのシャノン制限を超えるコンプレッサーを持っていることです


11

1/21/31/6plog2(1/p)

ただし、別のモデルを適用すると、別の確率のシーケンスが得られます。文字「u」はかなりまれであるため、テキスト全体での確率は3%である可能性があり、次数0のマルコフモデルを使用してこの文字に割り当てる必要がある確率です。

しかし、英語のテキストでは、「q」の後に通常「u」が来るため、次数1モデルを使用すると、「q」の後に続く「u」にはるかに高い確率を割り当てることができます。

さらに、一部のモデルは入力よりも少ないシンボルを出力します。feLZ77はテキストの繰り返しを後方参照に置き換えます。そのため、「abababab」は「ab [2,8]」に変わります。

誰かが特定のモデルによって圧縮されたデータではなく、あるデータのシャノンエントロピーについて話すとき、彼女は通常、次数0モデルによって生成されたシャノンエントロピーを意味します。明らかに、より洗練されたモデルをデータに適用することにより、このマージンを上回ることができます。


3

テキストの別の可能な解釈:指定された圧縮アルゴリズムにより、一部のテキストの圧縮が向上し、他のテキストの圧縮が低下します。ただし、ユーザーは通常、ある種のファイル(英語のHTMLページ、80386マシンコード)を他のファイル(繰り返しを最小限にするために選択された真に乱数のテーブル、意味のないノイズ)よりも気にします。圧縮スキームは、実世界のデータを圧縮するのが得意であり、他の特定の種類の文字列を圧縮するのが役に立たないよりも劣っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.