FLACについてのメモ書き
圧縮方法としてLP(線形予測)を使っている。具体的には圧縮したデータは(量子化した)線形予測の係数と残差(線形予測値と実際の値の差)で蓄えられ
る。線形予測の係数は音声信号処理でよく使われた自己相関から、倍精度(double)で計算しているようだが、残差計算は整数(32ビット?)で行って
おり、圧縮したものを元に戻すときに(浮動少数点がなくても)整数演算だけでもとにもどせる(みたいだ)。あるパケットサイズ(オーディオフレーム)毎に
(元に戻す前の)データのCRCをチェックしており、CRCの精度内で、完全性が保証されている。全体データのMD5をチェックに使うオプションもあるよ
うだ。線形予測の次数には選択範囲があり、これが圧縮率と演算量(速さ)の設定で変わるのであろう(たぶん)。
世の中には、上手く線形予測できないような信号もあるだろうに、こんなときは、圧縮率が悪くなるのかな。
以上、ソースを眺めてみた感想でした。