Smile Engineering blog ( スマイルエンジニアリング・ブログ )

ジェイエスピーからTipsや技術特集、プロジェクト物語を発信します

サンプリング周波数とビットレート

2018-07-20 10:00:00 | JSP-knowledge

前回オーディオファイルについて書きましたが、ファイルサイズを小さくする(ビットレートを低くして符号化する)と音質が悪くなる傾向にあります。実際どのくらいにするのが良いのでしょうか。。。

オーディオ符号化(AACやMP3など)により圧縮された場合、エンコード時のビットレートで圧縮率が決まります。具体的には、低いビットレートを設定すれば圧縮率は高くなり、保存した時のファイルサイズが小さくなりますが、そもそも圧縮なしの元の音源(PCM)の場合はどのくらいのビットレートなのでしょうか?
PCMのまま保存すれば原音の音質になりますが、ファイルサイズを気にせずに保存するのはちょっと都合が悪かったりします。また、用途によっては原音のサイズでも十分にメモリ容量があったり、通信速度が大丈夫な世の中になってきた気もします。そこでデジタルオーディオでよく耳にするサンプリング周波数と、ビットレートについて書きたいと思います。

デジタルオーディオのビットレートは、サンプリング周波数と1サンプルに割り当てられるビット数( 量子化ビット数 )、チャネル数(ステレオやモノラルなど)で決まります。

  • PCM(圧縮なし)のビットレート = サンプリング周波数 × 量子化ビット数 × チャネル数

前回も少し書きましたが、例えばwavフォーマットやmp4などファイルコンテナでは、これらの情報がヘッダとして付いていますので、アプリケーションではヘッダを見て再生することができます。エンコードの圧縮率は、このPCM(圧縮なし)のビットレートに対しエンコード時に指定したビットレートで決まります。
例えば音楽CDはご存知の方が多いと思いますが、44.1kHzのステレオで、これは次のビットレートになります。

  • 音楽CDのビットレート:44100Hz × 16bit × 2ch(ステレオ) = 1,411.2kbps

これをMP3やAAC等でエンコードする場合は、当然1,411.2kbpsより小さいビットレートを指定することになります。例えば256kbpsでエンコードした場合、圧縮率は原音を100%とした場合、約18%でファイルサイズは1/5以下になります。

  • 音楽CDを256kbpsでエンコード:256kbps / 1,411.2kbps = 約18%

実際にPCに接続されるオーディオデバイスのサンプリング周波数としては、一般的に音楽では48kHz, 44.1kHzが多く、マイクやヘッドセットなど音声では16kHz, 8kHz、この他にも32kHz, 24kHz, 22.05kHz等色々あります。

量子化ビット数16bitのPCM(圧縮なしの音源)のビットレートは次になります。

ステレオ(音楽向け)PCM16bitのビットレート(例)

サンプリング周波数量子化ビット数チャネル数ビットレート備考
48kHz 16 2 1,536 kbps  
44.1kHz 16 2 1,411.2 kbps 音楽CD
32kHz 16 2 1,024 kbps  
24kHz 16 2 768 kbps  
22.05kHz 16 2 705.6 kbps  

モノラル(音声向け)PCM16bitのビットレート(例)

サンプリング周波数量子化ビット数チャネル数ビットレート備考
32kHz 16 1 512 kbps Super wide band
24kHz 16 1 384 kbps  
16kHz 16 1 256 kbps Wide band
8kHz 16 1 128 kbps Narrow band



サンプリング周波数(Sampling frequency)

webを参照すると、アナログ波形をデジタル変換にするために必要な標本化(サンプリング)などの説明があります。例えば、マイクなどから入力した音声信号を1秒間に何サンプル採ってデジタル化するかを示したもので、大きいほど高い音域まで記録できます。アナログ波形をデジタル化した時、表せる周波数はサンプリング周波数の1/2になります(サンプリング定理)。例えば、サンプリング周波数48kHzでは、24kHzまで表現できることになります。音声でよく使われる8kHz(Narrow band)や、16kHz(Wide band)では、それぞれ、4kHz, 8kHzまでしか聞こえません。サンプリング周波数が高くなるとビットレートも上がる関係にあります。

サンプリング定理

ものすごく簡単な説明ですが、サンプリング周波数の半分の周波数まで表現できます。信号をサンプリングするとき、その間隔が細かければ元の信号に近く復元できますが、粗すぎると復元できなくなります(信号処理の話とか別の機会にもう少し詳しく書ければと思います)。

44.1kHz

なぜ44.1という、区切りが悪いレートが採用されているのでしょうか。。。
技術者の間では、わざとめんどくさいクロックにして、音楽CDを簡単にコピーさせないようにしたのではないか? みたいなことを聞いたことがあります。検索すると、大昔のPCMレコーダの都合でこうなった(?)らしいです。今の時代になっては、開発において44.1kHzは何かにつけ苦労します。44.1kHz ↔ 48kHz のサンプリング変換なんかは頭を悩ませます。例えばUSBオーディオ(USB Audio Device Class)は1ms間隔でデータをやり取りします。48kHzの場合48サンプルのデータになりますが、44.1kHzを考えた時は、10msで44サンプル(×9)と、45サンプル(×1)みたいなことになってしまいます。45サンプルの時の1サンプルをごまかすと(あくまで仮に)、44.0kHzになります。音声や音楽ではそれっぽくなり、人間の耳は大体ごまかせると思っています(あくまで個人的な意見です)。
しかし、客観的な評価方法ではすぐにバレます。例えば正弦波(sin波)とかで、はっきりとごまかしたことが分かります(意外に世の中に出回っているかも)。



量子化ビット数

サンプリング(標本化)が時間方向に値を取ること(離散化)でしたが、量子化とは振幅方向に値を取ることです。音の大きさを示すのに可能な範囲(レンジ)で、よく耳にするもので「ダイナミックレンジ96dB」とかは、量子化ビット数16bitを意味するもので0~65535の範囲で音楽信号を再現できます。量子化ビット数は、ビット深度とかbit depthとも言われます。



ビットレート(Bitrate)

通信においては、時間当たりに何ビットのデータが転送されるかを示すもので、一般的には1秒間に何ビット転送(処理)されるかというbps(bit/s)で表します。低ければファイルとして保存する時のサイズは小さく、通信でも伝送路に余裕ができます。例えば1つの音声(1チャネル)を1/3に圧縮した時は、同ビットレートで3チャネル分の音声を送れることになります。古い話で恐縮ですがアナログで通信していた(アナログ携帯電話)時代から考えると、デジタル化+圧縮することで、同じ電波で複数の通話をサポートできることになります。

最後に

ハイレゾ( High-Resolution Audio)といものをよく耳にします。サンプリング周波数が48kHzを超えた96kHzとか192kHzとか、量子化ビット数が24bitとか、、、人間の聴覚の限界(高域)が20kHzくらいと言われていますが、それ以上の周波数まで表現していることになります。ひと昔前の画像並なビットレートですね。。。
ちなみに、犬は60kHz猫は64kHzくらいまで聞こえるらしいです。

ハイレゾ( High-Resolution Audio)の例

サンプリング周波数量子化ビット数チャネル数ビットレート表現できる周波数
192kHz 24 2 9,216 kbps 96kHz
192kHz 16 2 6,144 kbps 96kHz
96kHz 24 2 4,608 kbps 48kHz
96kHz 16 2 3,072 kbps 48kHz
48kHz 24 2 2,304 kbps 24kHz

人間の聴覚の限界(20kHzくらい)を考えたとき、サンプリング定理でいうと、48kHzとか44.1kHzで十分な周波数になるのですが、皆さんはいかがでしょうか。。。
私の場合とてもハイレゾの高域を聞き分けることはできませんが、48kHzで捨てられた周波数が96kHzでは再現できてるはずで、量子化ビット数も24bitのレンジになると、何となく音圧(dB)がほんの少し上がってるように感じるかな(?)くらいの感覚です(あくまで私の耳のはなしです)。
機会があれば比較をしてみたいところですが、耳では恐らくそれなりな再生器機(高価なアナログアンプとか)が無いと分からないような気がします。

音響の業界では、ついに検証をにやってもらう時代が来ているのでしょうか。。。

 

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業

ジャンル:
ウェブログ
コメント   この記事についてブログを書く
« Google Test 備忘録 | トップ | gitolite 備忘録 »
最近の画像もっと見る

コメントを投稿

JSP-knowledge」カテゴリの最新記事