音のデジタル表現と圧縮
音は空気の振動という連続的な(アナログの)現象です。それをコンピュータが扱う0と1のデータにするには、どんな変換が必要なのでしょうか。この講義では、音のデジタル化の3ステップ「標本化・量子化・符号化」と、データ量の計算、MP3などの圧縮の仕組みを学びます。
アナログとデジタル
音の正体は空気の圧力の連続的な変化(音波)で、時間とともに滑らかに変化するアナログの情報です。一方コンピュータは、とびとびの値(離散的な値)であるデジタルの情報しか扱えません。アナログをデジタルに変換することをA/D変換と呼び、音の場合は次の3ステップで行います。デジタル化には、劣化しにくい・複製が容易・編集が容易・多様なメディアを統一的に扱えるという利点があります。
デジタル化の3ステップ — 標本化・量子化・符号化
①標本化(サンプリング):連続的な音の波の高さを、一定の時間間隔で区切って測ることです。1秒間に測る回数を標本化周波数(サンプリング周波数)と呼び、単位はHz(ヘルツ)です。音楽CDでは44,100回/秒(44.1kHz)です。細かく測るほど元の波を忠実に再現できますが、データ量は増えます。標本化定理によれば、元の音に含まれる最高周波数の2倍を超える標本化周波数で標本化すれば、元の波形を再現できるとされます。人間の可聴域の上限は約20kHzなので、CDの44.1kHzはその約2倍強に設定されているのです。②量子化:測った波の高さを、あらかじめ決めた段階の中で最も近い値に割り当てることです。段階の数を決めるのが量子化ビット数で、8ビットなら256段階、CDで使われる16ビットなら65,536段階です。段階が多いほど滑らかですが、丸めによる誤差(量子化誤差)は必ず生じます。③符号化:量子化した値を2進数のビット列(0と1)に変換することです。
音のデータ量の計算
非圧縮の音のデータ量は次の式で求められます。データ量(ビット)=標本化周波数 × 量子化ビット数 × チャンネル数 × 秒数。CD品質(44.1kHz・16ビット・ステレオ2ch)の1秒間なら、44,100 × 16 × 2 = 1,411,200ビット = 176,400バイト(約172KB)。1曲5分(300秒)では約50MBにもなります。高音質にするほどデータ量が跳ね上がる——ここに圧縮の必要性が生まれます。
音の圧縮 — MP3とAAC
データ量を減らす処理が圧縮です。圧縮には、元のデータに完全に戻せる可逆圧縮と、完全には戻せない代わりに大幅に減らせる非可逆圧縮があります(詳しくは次講)。音声で広く使われるMP3やAACは非可逆圧縮で、人間の聴覚の特性を利用してデータを削ります。具体的には、人間にはほとんど聞こえない高すぎる音や、大きな音の直後の小さな音(マスキングされる音)などを間引くことで、聴感上の劣化を抑えながらデータ量を非圧縮の約10分の1にできます。「人間に知覚されにくい情報から捨てる」——これは次講で学ぶJPEGとも共通する、非可逆圧縮の基本思想です。可逆圧縮の音声形式にはFLACなどがあり、音質を一切損ねたくない用途で使われます。
- デジタル化の3ステップ:標本化(時間を区切って測る)→量子化(高さを段階に丸める)→符号化(2進数にする)。
- 標本化定理:元の音の最高周波数の2倍を超える頻度で標本化すれば波形を再現できる。CDの44.1kHzは可聴域約20kHzの2倍強。
- 量子化ビット数nビット=2のn乗段階。16ビット=65,536段階。
- データ量=標本化周波数×量子化ビット数×チャンネル数×秒数。CD1秒≒176KB。
- MP3/AACは非可逆圧縮。聴覚特性(聞こえにくい音)を利用して約1/10に圧縮。FLACは可逆。
練習問題
- 音のデジタル化における「標本化」「量子化」「符号化」をそれぞれ説明しなさい。
- 音楽CDの標本化周波数が44.1kHzに設定されている理由を、標本化定理と人間の可聴域から説明しなさい。
- 標本化周波数44.1kHz・量子化ビット数16ビット・ステレオ(2チャンネル)の音声10秒間の非圧縮データ量は何バイトか計算しなさい。
- MP3が「非可逆圧縮なのに音質の劣化を感じにくい」のはなぜか、圧縮の仕組みから説明しなさい。
解答・解説
- 解答:標本化=連続的な音の波の高さを一定の時間間隔で測り取ること。量子化=測った高さを、あらかじめ決めた段階のうち最も近い値に割り当てること。符号化=量子化した値を2進数のビット列に変換すること。
解説:「時間方向に区切る」のが標本化、「高さ方向に丸める」のが量子化、という軸の違いを混同しないこと。 - 解答:標本化定理により、元の音に含まれる最高周波数の2倍を超える周波数で標本化すれば元の波形を再現できる。人間の可聴域の上限は約20kHzなので、その2倍の40kHzを上回る44.1kHzに設定すれば、人間に聞こえる範囲の音を忠実に記録できるから。
解説:「定理(2倍を超える)」と「可聴域約20kHz」の2つの根拠を組み合わせて説明できているかがポイント。 - 解答:44,100 × 16 × 2 × 10 = 14,112,000ビット。バイトに直すと 14,112,000 ÷ 8 = 1,764,000バイト(約1.76MB、約1.7MiB)。
解説:式は「標本化周波数×ビット数×チャンネル数×秒数」。最後にビット→バイト(÷8)を忘れないこと。 - 解答:MP3は、人間の聴覚の特性を利用し、ほとんど聞こえない高すぎる音や、大きな音の直後にかき消されて知覚されにくい音(マスキングされる音)など、「人間に知覚されにくい情報」を優先的に間引いて圧縮するから。データとしては元に戻せないが、削られたのが聞こえにくい部分なので、聴感上の劣化は小さい。
解説:「知覚されにくい情報から捨てる」という非可逆圧縮の基本思想が書けているかが核心。JPEGの画像圧縮とも共通する考え方。