CDF42をC言語で実装してみた。懸念だった1ループによる実装もOK。想像通り。 分散は確かに減っているからエントロピーも減っているはず。

さて、もう符号化まで試してしまうべきか? ちょっと考えてたけど、やってしまおうと思う。 今までのありあわせの符号化スキームを転用してやってみる。

やっつけで超簡易コーデックを作った。風の巡る場所で試す。観察としては、

  • 何もしないで直接再帰的ライス符号を適用すると(元データ比)90%
  • Haarの1段適用では84%, 2段適用で82.7%
  • CDF22の1段適用では81%, 2段適用で79.0%
  • CDF42を1段かませた場合76%
    • 低域が42%
    • 高域が34%
  • CDF42を2段かませると75%
    • 低域/低域が20%
    • 低域/高域が20%
    • 高域が34%
  • 高域を分割すると悪化(77%くらい)
  • flac(-8)は60.2%, WavPack(-hh)は59.1%
  • ブロックサイズを4096から8192に上げると0.05%程度の減少。

SAの導入はこれから、さてどれくらい減らせるだろうか。 分割設定を変えながら見るべし。

CDF(8,2)も試したいと思い係数を探していたが見つからず。代わりに以下の論文がヒット。