実験的に多層構造が良いのはわかってきた。次は理論的なところを考え始めている。
今日、WaVPackにxオプションがあることを知った。負荷が非対称にする代わりに圧縮率を向上するオプションらしい。オイオイオイオイ。ベンチマーク でx3でTAKを超える圧縮率を叩き出している。。。。
実装を見てみる(モノラル: extra1.c, ステレオ: extra2.c)と、残差絶対値のLOG2和をとって(LOG2BUFFER)、これを最小化するようなterm(フィルタパラメータ)を探している。LOG2BUFFERにLOG2の和は符号長に比例すると書いてある
// This function scans a buffer of longs and accumulates the total log2 value
// of all the samples. This is useful for determining maximum compression
// because the bitstream storage required for entropy coding is proportional
// to the base 2 log of the samples. On some platforms there is an assembly
// version of this.
が、あっているか微妙。式変形しても符号長との関係は出てこないように見える。
気持ちとしては符号量に関して最適化のようだ。term(とdelta)が適応フィルタの何らかのパラメータになってて、LOG2和が最小になるフィルタを探しているっぽい。