1. CDの 11ぶんの 1で、いいの?
1. CDの約11分の1にして、音はどこへ消えたのか
1. 1,411.2kbit/sが128kbit/sになる ── 圧縮率11:1の意味
CDの 音は、1びょうあたり、たくさんの すうじで できて います。MP3は、その すうじの かずを へらします。
たとえば 128キロビットに すると、CDの 11ぶんの 1ほどに なります[2]。1411を 128で わると、11に ちかい かずです。
ただし、128は 一れいです。MP3の 大きさは、つくる ときに えらべます[1]。
これだけ へらしても、ふつうに きく ぶんには、そんなに こまらないように つくって あります。では、なにを へらしたの でしょう。
CDの音声は、1秒あたり1,411.2キロビットのデータでできています。MP3で128キロビット毎秒を使うと、約11分の1になります[2]。1411.2÷128=11.025なので、およそ11という計算です。
ただし、128は設定の一例です。ビットレートは作る人が選べて、MPEG-1の規格では32〜320キロビット毎秒の範囲があります[2]。開発者のブランデンブルクの論文は、ステレオの目標を約128キロビット毎秒とし、それより低いと質が急に落ちる、と説明しています[1]。
つまり11分の1は、ねらった設定の一例です。これだけ減らして、ふつうに聞く分には困らないようにするには、どこかを削るしかありません。何を削るのでしょうか。
2. 耳は、ぜんぶの 音を きいて いるの?
2. 耳は、すべての音を同じように聞いてはいない
2. 可聴域と絶対聴覚閾値 ── 耳の感度は周波数で変わる
人の 耳が きける 音の たかさには、はんいが あります。ふつうは 20〜20000ヘルツと いわれます[5]。
この はんいの 中でも、きこえやすい ところと、きこえにくい ところが あります。いちばん きこえやすいのは、2000〜5000ヘルツの あたりです[5]。
また、たかい 音ほど、年を とると きこえにくく なるのが ふつうです[5]。人に よって、ずいぶん ちがいます。
さて、もし 大きな 音の すぐ そばで、小さな 音が ならんだら、どうなるでしょう。
3. 大きな 音の そばで、小さな 音は どうなる?
3. 大きな音のそばで、小さな音が聞こえなくなる ── マスキング
3. 同時マスキングと時間的マスキング
うるさい ところで、小さな こえで はなして も、あいてに きこえない ことが ありますね。大きな 音が、小さな 音を かくして しまうのです。
この はたらきを「マスキング」と いいます。MP3は、人の 耳の この せいしつを つかって、データを へらして います[2]。
かくれるのは、同じ ときの 音だけでは ありません。大きな 音が なる すこし まえや あとの ほんの みじかい 時間にも、小さな 音は かくれやすく なると いわれます[3]。
ただし、どんな 音でも かくれる わけでは ありません。では、かくれる 音を どうやって へらすの でしょう。
同時マスキングと時間的マスキング
ある音が別の音のせいで聞こえなくなる現象を、聴覚マスキングといいます。MP3は、この人の聴覚の限界を利用して、符号化の精度を下げる非可逆圧縮です[2]。
同時に鳴る音による同時マスキングのほかに、時間的マスキングもあります。大きな音の鳴り始めの少し前と、鳴り終わりの少し後にも効果が及び、前側は約20ミリ秒、後ろ側は約100ミリ秒ほどで弱まると説明されています[3]。1ミリ秒は1000分の1秒です。
ただし、これは平均的な説明で、音の高さや大きさで変わります。それでも、「聞こえるはずの音が聞こえにくくなる場面は、耳には日常的にある」と分かれば、データを粗くしてよい場所を探す道が見えてきます。
4. けす のでは なく、ざつ音を かくす
4. 聞こえない音を消すのではなく、雑音をかくす
4. 量子化雑音をマスキング閾値の下に収める
MP3は、「きこえない 音を ぜんぶ けす」のでは ありません。すうじを 大ざっぱに する ことで、すこし 「ざつ音」が まじります。その ざつ音を、マスキングで かくれる 大きさに おさえるのです[1]。
ものの 長さを いう ときを おもいだして ください。つくえは「何ミリ」と いいます。やまの 高さは「3000メートルくらい」と いいます。大きい ものほど、大ざっぱで こまりません。MP3も、大きな すうじほど あらく あらわします[1]。
ただし ほんとうは、こう かんたんでは ありません。音を たくさんの はんいに わけ、はんいごとに 何ビット つかうかを きめて います[1]。
でも、すうじを あらくした だけでは、まだ 小さく なりません。そこで もう ひとつの くふうが つかわれます。
消すのではなく、雑音を隠す
ブランデンブルクの論文によると、MP3のエンコーダは、時間と周波数ごとのマスキングの強さを、心理音響学の規則で見積もります。そして、数値を粗く丸める(量子化する)ときに生じる雑音が、その強さより下に収まるようにします[1]。「聞こえない音を全部消す」のではなく、「雑音を聞こえない範囲に隠す」ことが目標です。
どこに何ビットを使うか
エンコーダは、音をまず32の帯域に分け、それぞれをさらに18の細かい帯域に分けます。そして、各部分に何ビットを割り当てるかを、心理音響のモデルで決めます[1]。
数値の丸め方にも工夫があります。べき乗則の量子化という方法で、大きな値ほど自動的に粗く表されます[1]。山の高さは「約3000メートル」でよくても、机の長さは「ミリ」まで測るのに似ています。ただし、これは直感のためのたとえで、実際の計算とは別物です。
エンコーダは、時間・周波数ごとの実際のマスキング閾値を心理音響学の規則で推定する。そして、量子化で生じる雑音をその閾値より下に保つことを狙う[1]。したがって「聞こえない成分を削除する」という説明は正確でなく、「雑音を聞こえない範囲に隠す」と読むのがよい。
実装では、ポリフェーズ・フィルタバンクで音を32の帯域に分け、各帯域をMDCTでさらに細かい周波数成分に分ける(通常の長いブロックでは18成分)。各部分に何ビットを割り当てるかは、心理音響モデルが決める[1]。量子化はべき乗則の量子化器で行い、大きな値ほど自動的に粗く符号化される。雑音整形が量子化の過程に組み込まれている形だ[1]。
ただし、数値を粗くするだけでは、ビット数の削減に限りがある。量子化後の数値をどう書くかが、もうひとつの鍵になる。
5. すてない ところも ある ── ハフマン
5. 捨てたあとに、捨てない段がある ── ハフマン符号化
5. 量子化の後段のハフマン符号化 ── 可逆の短縮
すうじを あらくした あとで、MP3は、その すうじを みじかく かきなおします。この かきなおしを「ハフマンふごうか」と いいます[1]。
よく 出てくる すうじには みじかい しるしを、あまり 出てこない すうじには ながい しるしを つけます。りゃくじで かくのと おなじで、いみは かわらず、かく 手間だけ へります。
ハフマンは、この かきなおしです。かきなおした ものは、もとの すうじに もどせるように きめられて います。この ふたつの だんでは、すてるのは すうじを あらくした ときです。
つまり MP3は、「すてる」と「すてない」の ふたつを くみあわせて います。
「捨てる段」の次に来る「捨てない段」
粗く丸めた数値は、さらにハフマン符号化で書き直されます[1]。ハフマン符号化は、よく出てくる値に短い記号を、まれな値に長い記号を当てる方法です。ノートで、よく使う言葉を略語に書き換えるのに似ています。書き換えた内容は、元の数値に戻せる形に決められています。
この点は、論文が直接述べているのではなく、符号化の一般的な性質にもとづく説明です。
だからMP3の中には、元に戻せない「量子化」と、元に戻せる「ハフマン」の両方が入っています。「MP3は全部が不可逆」と言い切るのは、少し単純すぎる見方です。
6. にがてな 音は? ── 立ち上がりと 人の こえ
6. 苦手な音がある ── 音の立ち上がりと、人の声
6. プリエコーと、「Tom's Diner」での調整
MP3には、にがてな 音が あります。たいこの「ドン」のような、いきなり はじまる 音です。ドンの すこし まえに、ざつ音が ひろがって しまう ことが あります。これを「プリエコー」と いいます[1]。
この ざつ音は、ふせぐのが いちばん むずかしい ものの ひとつと いわれて います[1]。
もうひとつ。つくった 人の ブランデンブルクさんは、スザンヌ・ヴェガさんの うた「Tom's Diner」を つかって、ちょうせいしたと はなして います。ほかの きょくでは よく きこえる 大きさでも、この うたの こえは ひどく きこえたそうです[6]。
人の 耳は、こえの ちがいに とくに びんかんだから、と かれは せつめいして います。ただし、MP3が この きょく せんようで 作られた わけでは ありません。
音の立ち上がりの前に、雑音が広がる
MP3の代表的な弱点が、プリエコーです。太鼓のように急に始まる音の、始まりの前に、雑音が広がります。論文は、この種の不具合は避けるのが最も難しいものの一つだ、と述べます[1]。論文では、音を処理する時間のまとまりがLayer-3で48キロヘルツのとき約18.6ミリ秒、AACでは短いブロックで約5.3ミリ秒、と比べられています。ただし、これは両者を比べるための数字で、MP3の遅延そのものではありません。
アカペラの声で、調整した
ブランデンブルクは、スザンヌ・ヴェガの「Tom's Diner」(伴奏のない歌)を使ってエンコーダを調整した、と語っています。ほかの曲ではよく聞こえる設定でも、彼女の声はひどく聞こえたそうです。人の耳は声の変化に特に敏感だから、というのが彼の説明です[6]。MP3がこの曲専用に作られたわけではありません。
彼は別の場面で、音楽の70%を処理するだけなら大学の学部生の課題でも簡単で、仕事は、ほぼすべてに対応させることだ、とも述べています[6]。むずかしい声や鋭い音を相手にするのが、技術者のやりがいだったのかもしれません。
プリエコーは、音の立ち上がりの前に量子化雑音が広がる不具合で、論文は、この種のアーティファクトは避けるのが最も難しいものに属すると述べる[1]。比較の文脈では、インパルス応答がLayer-3で48kHzのとき18.6ms、AACの短いブロックで5.3msとされる[1]。これは両方式の比較の数字で、MP3全体の遅延ではない。
ブランデンブルクは、インタビューで、スザンヌ・ヴェガのアカペラ曲「Tom's Diner」で調整したと語っている。他の曲ではよい設定でも、彼女の声はひどく聞こえた。理由として、人は言葉を理解しようとするため、声の変化にとくに敏感だと説明する[6]。MP3はこの曲専用ではない。
彼は、音楽の70%を扱うのは学部生のプロジェクトでも簡単で、仕事は、ほぼ完璧にすべてへ対応させることだ、とも述べた[6]。これはインタビューでの発言で、開発全体の評価ではない。
7. ぜんぶ のこす やりかたは? ── FLAC
7. 全部を残したいときは ── 可逆圧縮のFLAC
7. FLAC ── 残差をRice符号で符号化する可逆圧縮
こんどは、ひとつも すてない やりかたです。FLACは、「かぎゃくあっしゅく」と いう しゅるいで、もとの 音と まったく おなじに もどせます[7]。
まず、音の かたちを おおまかに あらわします。もとの 音との ちがいだけを、みじかい ふごうで かきます[7]。
ですから、すてた ぶんは ありません。そのかわり、MP3のように 11ぶんの 1までは 小さくなりません。
MP3も FLACも、「小さく したい」ねがいは おなじです。ちがうのは、ひとつも すてたく ないか、すこし すてても いいかです。
ひとつも捨てない圧縮
FLACは、可逆圧縮のファイル形式です。まず信号を近似し、元の音との差(残差)をライス符号という方法で可逆に符号化します。そのため、デコーダは元の音を正確に再構成できます[7]。
MP3が「耳に気づかれにくい範囲で粗くする」圧縮なのに対し、FLACは「元に戻せる範囲で短くする」圧縮です。どちらが良いかは、目的しだいです。小さくしたいのか、元の音をそのまま残したいのかで、選びたい形が変わります。
FLACの具体的な圧縮率は、この記事では示しません。
FLACは信号を近似し、元との差(残差)をRice符号で可逆に符号化する。デコーダは元の音声を正確に再構成できる[7]。MP3の量子化に当たる「捨てる段」を持たないため、情報は残る。その代わり、MP3の約11:1のような大きな圧縮率は、一般には期待できない。
ただし、FLACの具体的な圧縮率は、使った資料に数字がなく、ここでは示さない。MP3は耳の限界を利用して精度を下げ、FLACは元の音を完全に残す。どちらも「小さくする」ための設計だが、問いの出し方が違う。前者は「どこまで粗くしても気づかれないか」、後者は「どうすれば同じ情報を短く書けるか」だ。
8. かくれる 音を、じぶんの 耳で さがそう
8. 小さな音がかくれる様子を、自分の耳で試す
8. マスキングを体験し、資料の読みどころを知る
しずかな へやで、ちいさく カチカチ なる とけいを みつけます。うでどけいでも、おき時計でも かまいません。まず、とけいの 音が きこえる ところまで、とけいから 遠ざかって みましょう。
つぎに、せんぷうきを「よわ」で まわして もらいます。おなじ ところで、とけいの 音は どう きこえるでしょう。きこえなく なったら、すこし ちかづきます。
せんぷうきの 風を、からだに あてすぎないように します。大きな 音で 耳を いためない ように、おうちの 人と やりましょう。
音が きこえにくく なったら、それも マスキングの 一れいです。きこえかたは、人に よって ちがいます。
静かな部屋で、小さくカチカチと鳴る時計を用意します。腕時計でも置き時計でもかまいません。まず、時計の音がぎりぎり聞こえる距離まで離れてみます。
次に、家の人に扇風機を「弱」で回してもらいます。同じ場所で、時計の音はどう聞こえるでしょうか。聞こえなくなったら、少しずつ近づいてみます。扇風機の風を体に当てすぎないこと、耳を痛めるような大きな音を出さないことは守ってください。
ここで起きたことは、マスキングの一例です。音の高さや部屋によって変わるので、結果は人や場所でちがってかまいません。
もっと知りたくなったら、MP3の中身を書いたブランデンブルクの論文[1]や、FLACの公式な説明[7]を開いてみてください。
家庭でマスキングを確かめるなら、静かな部屋で小さく鳴る時計を使い、ぎりぎり聞こえる距離を測る。次に扇風機を「弱」で回し、同じ位置での聞こえ方を比べる。扇風機の風を体に当て続けない、大きな音を出さない、の2点は守る。結果は部屋・時計・個人で変わり、閾値を測る実験ではなく、現象の体感にとどまる。
資料を読むなら、MP3の設計全体はブランデンブルクのAES第17回国際会議の論文[1](英語)が一次資料になる。声への敏感さと調整の逸話は同氏のインタビュー[6]、可逆圧縮の仕組みはFLACの公式な形式説明[7]が読める。MP3とFLACの音の差を実際に聞き分けられる人の割合は、この記事の範囲外で、調べる価値のある問いだ。
しらべた もとの じょうほう
参考にした情報源
参考にした情報源と、その使い方
出典について:開発者の論文、Wikipedia、インタビュー、FLACの公式な説明を使った。何に使ったかは、それぞれの項目の最後に書いている。
- Karlheinz Brandenburg, "MP3 and AAC explained", AES 17th International Conference, 1999(英語)。https://www.ee.columbia.edu/~dpwe/papers/Brand99-mp3.pdf (マスキング閾値、量子化、ハフマン符号化、プリエコー、目標ビットレートについて。一次資料)
- MP3(Wikipedia、英語)。https://en.wikipedia.org/wiki/MP3 (CDとMP3のビットレート、圧縮率、聴覚マスキングの利用について。二次資料)
- Auditory masking(Wikipedia、英語)。https://en.wikipedia.org/wiki/Auditory_masking (同時マスキングと時間的マスキングについて。二次資料)
- Absolute threshold of hearing(Wikipedia、英語)。https://en.wikipedia.org/wiki/Absolute_threshold_of_hearing (聞き取れる最小の音について。二次資料)
- Hearing range(Wikipedia、英語)。https://en.wikipedia.org/wiki/Hearing_range (人の聞こえる範囲と年齢による変化について。二次資料)
- Internet History Podcast, "On the 20th birthday of the MP3, an interview with the father of the MP3, Karlheinz Brandenburg"(2015年、英語)。https://www.internethistorypodcast.com/2015/07/on-the-20th-birthday-of-the-mp3-an-interview-with-the-father-of-the-mp3-karlheinz-brandenburg (Tom's Dinerでの調整と、声への敏感さについての本人の発言。インタビュー)
- Xiph.org, FLAC format overview(英語)。https://xiph.org/flac/documentation_format_overview.html (FLACが可逆圧縮であることについて。公式資料)
なおした ところ
更新履歴
更新履歴(改版の記録)
- 初版を公開。
このサイトでは、公開した記事の本文は原則として書き直しません。誤りが見つかったときや、内容が古くなったときだけ手を入れ、その理由をこの欄に残します。