ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

ハフマン付きゴロムの実験

ゴロム符号化する時に、商となる値が大きいと
符号化したサイズが大きくなりがちです。
値と同じだけの bit 数を要するのでね。


この商となる部分をハフマンで符号化してみよう!


というわけで実験してみました。

データ1
・ただのゴロム 87147Bytes
・ハフマン付き 85878Bytes
差分:1269Bytes

データ2
・ただのゴロム 86168Bytes
・ハフマン付き 85840Bytes
差分:328Bytes

ガーーン。あんまり縮まないー……
理由を調べてみると、ハフマンツリー。

データ1の一部
├ 0x00
└┐
 ├ 0x01
 └┐
  ├ 0x02
  └┐
   ├ 0x03
   └┐
    ├ 0x04
    └┐
     ├ 0x05
     └ 0x06

データ2の一部
├ 0x00 [ ]
└┐
 ├ 0x01 [ ]
 └┐
  ├ 0x02 [ ]
  └┐
   ├ 0x03 [ ]
   └┐
    ├ 0x04 [ ]
    └┐
     ├ 0x05 [ ]
     └┐
      ├ 0x06 [ ]
      └┐
       ├ 0x07 [ ]
       └ 0x08 [ ]

ゴロムだと、値=所要bit数 なので、
ほぼそうなっているこのツリーでは
ゴロムと等価なわけですね。


残念ながら失敗でした。