音質はそれほど変わらないのに,どうしてMP3ではあんなにサイズが小さくなるのでしょうか?
データ圧縮には,可逆圧縮と不可逆圧縮があります。前者は圧縮時にデータのロスがないため,圧縮したデータを展開すると元のデータとまったく同じものが得られます。それに対して,後者はデータのロスがあるため,元のデータを完全には復元できません。もちろん,同等の圧縮率が得られるなら可逆圧縮のほうを選びたいところですが,一般に不可逆圧縮のほうが高圧縮率になります。とくに,音声や画像はデータ量に対して情報量が少なく(これを冗長度が高いといいます),不要な部分を削ったり,圧縮に不都合な部分をならして不可逆圧縮にする効果が高いのです。MP3も不可逆圧縮です。
MP3が高圧縮率である要因の一つは,「不要な部分の削除」が巧みであることです。「人が聞き取れない音」を「不要な部分」として,まず可聴域外の音を削除します。また,可聴域内でも,人は高音や極端な低音には聴覚が鈍感なので,この範囲の小さな音も削除対象になります。同様に,大きな音の直後に入る小さい音など,考えられる「聞き取れない音」を一通り削除します。ここでいう聞き取れない音は,統計的に調べられた心理聴覚モデルで決定されます。
不要部分削除の次は,周波数成分の量子化とエントロピー符号化です。この二つの処理自体はJPEGなどで使われているものと同等で,特別なものではありません。各周波数成分の値を量子化パラメータで割った数値を記録し,再生時には記録された数値×量子化パラメータを値とします。量子化パラメータが1なら,この部分は可逆になります。量子化パラメータを大きくするとデータロスは多くなりますが,その分,出現する値の偏りが大きくなるうえに,値が0となる周波数が増えて,エントロピー符号化での圧縮率が上がります。量子化パラメータは可変で,エンコード時に指定したビットレートより大きなデータになるなら量子化パラメータを大きくして圧縮率を増し,小さくなるなら量子化パラメータを小さくして音質を上げます。1個の曲の中でも,圧縮しづらい部分は量子化パラメータが大きくなり,無音に近い部分は量子化パラメータが小さくなっているわけです。
以上はMP3圧縮の基本的な部分で,実際にはさらに細かい工夫の組み合わせで圧縮しています。
音質がよくて高い圧縮率を誇るMP3ですが,欠点もあります。まず,心理聴覚モデルが「標準的な聴覚の人」をターゲットとしているため,可聴域の広い人や訓練された人には原音との違いが分かってしまいます。そのためか,一部のアーティストにはMP3を非難する人もいます。また,ビットレートを小さく設定すると,ビブラートがかかったような音になってしまいます。つまり,ある程度まではビットレートを小さくしても音質はほとんど落ちませんが,あるところから急激に劣化が激しくなるのです。
高圧縮なサウンドフォーマットは,MP3のほかにもいくつか登場しています。その中でもMS Audioは注目株です。マイクロソフトの発表によると,MP3の半分のサイズまで圧縮しても音質劣化はほとんどないそうです。もっとも,別の団体のテストではMP3に対する優位性はないという結果も出ていて,実際のところどうなのかは何ともいえないところです。
(小西晃治)