フーリエ変換の基礎①
前回は、波形符号化方式
(波形を少ないビット数で再現させる)の話で
その代表例としてADPCMをあげた。
基本的に、波形符号化は
圧縮率に限界があると言われてて
ADPCMやその他の方式でも、
大体25%以下(1サンプル当たり4ビット未満)の圧縮をかけると
著しく品質が劣化することが知られている。
そういったことから、違うアプローチで
音声・音楽のデータ圧縮を考えようということで
スペクトル符号化方式が考案された。
波形符号化方式は、「時間波形を忠実に再現させる」アプローチだったが
スペクトル符号化は、「時間波形を周波数領域に変換させる」アプローチを
とる。
どういう事かっていうと、上記の図を見て欲しい。
上記の図形は、ある波形を表したものである。
が、圧縮したい波形だとする。
この、実はある波形に分解ができる。
その分解波形は、になっていて
という関係がある。
スペクトル符号化方式とは、このように元の波形を
「ゆっくり変化する波形」や「激しく変化する波形」に分解する
っていうのを基本的なアイデアにしてるんだ。
図のみたいなゆっくり変化する波形を
「周波数が低い波形」と言って
図のみたいな激しく変化する波形を
「周波数が高い波形」と言う。
んで、この時の高さがわかっていれば
元の波形に戻せるわけじゃない?
スペクトル符号化方式の場合、の振幅を記録するのではなく
分解波形の高さを記録するわけよ。
振幅じゃなく、分解波形の高さを記録する方法のメリットは以下の通り。
- 低周波成分にパワーが集中する。
- 人間の聴覚モデルを利用できる。
基本的に普通の音声や音楽って、
元の時間波形はそんなに急激な変化はないんだ。
つまりみたいに、ゆっくり変化する波形は、
大きな高さを持つんだけど
みたいに、激しく変化する波形は、ほとんど高さが0になって
無視できるんだよね。
だから、の量子化を細かく、の量子化を荒くすれば
それだけで、圧縮効率が高くなるんだよ。
あと人間の聴覚って、
「周波数の低い音は敏感だけど、周波数の高い音は鈍感」っていう性質とか、
「ある周波数の音が、他の周波数の音をかき消してしまう」っていう
マスキングっていう性質がある。
上手くその性質を利用すれば、量子化によるノイズを隠す事ができるんだ。
MP3とか最近の楽音符号化技術は、
大抵どれもこういう人間の聴覚特性を利用しているよな。
んじゃ、次回は実際にある離散波形をフーリエ変換した実例を出すね。