私はハフマン符号化を実装したプログラムを書いて、3種類のファイルでテストした後、Matlabの散布図に周波数をプロットしました。ファイルの異なる3種類が誰も私がこれらのハフマン周波数散布図を分析するのを助けることができますか?
テキストファイル(.txt)です:私は、ほぼ43%の圧縮と同様に、
37 KB
すなわちに65 KB
からファイルサイズを小さくすることができました。オーディオファイル(.MP3): Iはほぼ1%の圧縮(LOL)のように、
99 KB
から98 KB
すなわちへのファイルサイズを小さくすることができました。圧縮ファイル(.rarを):は、私はほとんど-1%圧縮(ビッグLOL)のように、
16.2 KB
すなわちへ16.1 KB
からファイルサイズを小さくすることができました。
ここで、圧縮前に各ファイルで発生した文字の頻度を取り、Matlabで散布図を作成しました。たとえば、この文章ではmimmi
の場合、mは3回表示され、iは2回表示されるので、x軸に2と3の数字をプロットし、対応するy値は単純に乱数だけです(懸念事項ではありません)。だから、これらの3つのファイルのプロットがあるので、これらのプロットから、あるプロットが良い圧縮を経験し、特定のプロットが圧縮不良を経験したことをどのように伝えるか?答えは、これらの点がどれほど近いか、どれほど近いかに沿ってどこかにあると思いますので、私はあなたの助けが必要です。
プロットは以下の通りです。 X軸にはファイル内に出現する文字の頻度が含まれていますが、Y軸には関係のない文字が含まれています。私は、各点を別々にプロットするのではなく、それぞれの点を別々にプロットするようにYをマッピングしました(これは分析の目的を無効にします)。
注:私のハフマンプログラムは、テキストファイル以外のファイルでは悲惨に失敗します。私はすでにSOの答えを尋ねています。他のタイプのファイルも既に圧縮されているようです。(3番目のrarファイル私は-1%の圧縮を得た)。
P.S私は私の質問をはっきりと説明することはできませんでしたが、誰かが私に尋ねると再びそれを編集します。