2008年7月8日火曜日

FLAC

Linn DSで使われているFLACと言うのは Free Lossless Audio Codecのことだそうです。
Oggなどと同じく、Open SourceのCodecです。

FLACのWebをちょっと見てみました。
http://flac.sourceforge.net/index.html

簡単なハフマンコーディングで圧縮しているのかと思ったらもっと複雑でした。
圧縮の方法は
・2k-6kサンプルのブロックに分割する。
・ステレオ信号をセンター信号とサイド信号に変換 
  センター信号=(L+R)/2
  サイド信号 =L-R
  *普通ののステレオ信号は右と左の信号は似通っているのでこの処理をすると信号量が減る。
   MP3なども同じことをしている。
・線形予測の最適なモデルを作成する。
・モデルにより予測される信号と実際の信号の差を計算する。
・差分をハフマンコーディングの一種のRICEコーディングで圧縮する。

これらのことをやって約50%の圧縮率が得られるそうです。
Apple Losslessも同じような方法のようです。

0 件のコメント: