音楽情報圧縮の基礎「標本化」

monja2004-02-23



いきなりMP3のアルゴリズムを説明するのは
かなりしんどいことになりそうなので
(読んでくれる人にとってではなく、俺にとっても)
とりあえず今日は、音声や音楽のデジタル化をするための
必須作業である「標本化」(サンプリング)の話をします。


基本的に音っていうのは、空気の圧力変化なんだ。
人間の耳に届く空気の圧力変化(波形)の例を上の図に示します。
図の縦軸は振幅(音の圧力)、横軸は時間を表す。
PCは「0」と「1」しか扱えないので
この波形を0や1に変換しなければいけないんだ。


「一体、上の波形をどうやって、0や1にするんだよ?!」と思うでしょ?
「0」や「1」に変換する前に、まずやらなきゃいけない準備(標本化)
があるので、今日は先にそれを説明します。
とりあえずこの波形が時間軸に対して連続なので、
この波形を時間軸に対して離散(とびとび)にしないといけないんだ。
この時間軸に対して、とびとびにすることを「標本化」っていうんだ。
上の図の波形を標本化をした結果、下の図みたいに
時間軸に対して、とびとびになった波形ができました。
ちなみに、とびとびの間隔(標本化周期)を
短くすればするほど音質が良くなって
長くすればするほど、音質が悪くなっていきます。
例えばCDぐらいの音質を確保するなら、
この標本化周期は1/44100秒ぐらい必要になる。
一方、電話の標本化周期は1/8000秒なんだ。


これで、音を0や1にする準備ができたよ。
次に「量子化」って作業をすることにより、音を0や1に変換するんだけど
これは次回にお話します。




〜ちなみに〜
標本化周期って言い方は、あんまりメジャーじゃなく
標本化周波数とかサンプルレートっていう言い方が一般的かな。
この2つは、標本化周波数と逆数の関係にあります。
だから、標本化周波数とかサンプルレートが大きければ大きいほど
音質は良くなって、小さければ小さいほど音質は悪くなるってことだね。


実際に音を聞くときには、スピーカーに
連続波形を送らなければいけないので
離散波形から、連続波形に戻す必要が出てくるんだけど
「離散波形から、連続波形に戻せるのか?
 離散波形の間と間のつなげ方なんか、無数にありそうじゃん?
 本当に元の連続波形に戻せるのかよ?」
って思うでしょ?
実は、連続波形がある条件を満たしている限り
離散波形から連続波形を一意に戻すことができる。
っていう、信じがたい「標本化定理」っていう定理があるんだ。
こいつは、ちょっと数学的に難しい話になるので
ここではその話はしません。
興味がある人は、フーリエ変換を勉強してください。