1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. 安定した通話を実現するVoIPの音声品質とジッタバッファ

TECHブログ

安定した通話を実現するVoIPの音声品質とジッタバッファ

安定した通話を実現するVoIPの音声品質とジッタバッファ

みなさん、こんにちは。
インターネットの普及に伴い、従来の固定電話に代わる通信手段としてVoIP(Voice over Internet Protocol)が注目されています。VoIPは、音声データをインターネット経由で転送することで、低コストでの通話を実現する技術です。しかし、インターネットは本来、音声通信を前提として設計されていないため、VoIPにおける音声品質の維持が課題となっています。

本記事では、VoIPの概要から音声品質劣化の原因、音声品質の定義、そしてジッタバッファによる品質改善策について説明します。

それでは、はじめましょう。

目次

VoIPの概要

VoIPとは、音声信号のサンプリング、量子化、符号化を行い、そのデータ(RTPデータ)をIP通信する技術を指します。

VoIPアプリケーションについては、以前のブログ
RTP/RTCPとは?【第1回】概要編~IP電話を支える基礎技術について~
で説明していますので、併せてご確認ください!

IPパケットの最大サイズは64Kバイトと定められていますが、下位層であるEthernetの最大フレームサイズ(MTU)は1500バイトとされています。一方で、CCITT(現在のITU-T)によって策定された音声符号化の規格であるG.711の20msパケット周期の仕様では、20msの音声を1パケットとし、そのサイズは160バイトです。

このため、音声アプリケーションのデータは一度に1パケットとして送信することができず、分割して送信する必要があります。

図1. パケットの送信

IP電話の種類

IP電話には種類がいくつかあります。

0AB-J IP電話 加入固定電話番号を使用したIP電話です。例えば、国内の東京であれば、市外局番 03 から始まる番号です。
050 IP電話 050 から始まる番号を使用したIP電話です。
ソフトウェアIP電話 パソコンや携帯電話にIP電話ソフトウェアをインストールし、ユーザーアカウンを使用して番号なしで通話可能です。Skype、LINEなどが相当します。

VoIPの音声品質劣化の原因

ネットワークを介してVoIP通話を行う際、さまざまな要因により音声品質が劣化する可能性があります。主な原因としては、以下の3つが挙げられます。また、以下の要因がVoIP通話の中で発生すると、音質の劣化、エコー、ノイズ、遅延など、さまざまな問題が生じる可能性があります。

1. 遅延:End to End Delay

送話者Aの口から受話者Bの耳の間に遅延が存在します。このような遅延をEnd to End Delayと呼びます。遅延はネットワーク遅延、送信側及び受信側の音声処理遅延などがあります。この遅延が大きくなると会話しにくくなり、品質が劣化したと言えます。

音声自身の品質劣化とは言えません。

図2. VoIPの音声品質劣化の原因(End to End Delay)

2. 揺らぎ:ジッタ

音声データ(RTPデータ)は分割して送信されると述べました。送信側は一定間隔で分割したパケットを送信できます。しかし受信側へのパケット到着間隔は一定ではありません。これは、ネットワークのトラフィックやパケットの転送ルートは常に同じではないためです。そのため、受信側では揺らぎ(ジッタ)が発生し、音声品質の劣化につながります。ジッタが大きいと、音声が途切れ途切れになる可能性があります。

図3. VoIPの音声品質劣化の原因(揺らぎ:ジッタ)

図4. 揺らぎ

3. パケット損失、パケット到着の不順

分割されたパケットは、ネットワーク中のさまざまなルートを通って目的の装置まで到着します。その中で大量のデータを処理する装置があり、その装置の能力以上のデータを受信した場合、処理に時間を要し遅延が発生したり、そのパケットを処理できず破棄されたりします。そのため、パケットの到着が不順になったりパケット損失が発生したりして音声品質の劣化につながります。

VoIPの音声品質の定義

総務省では、平成14年に以下のようにIP電話の品質のクラス分けしています。

クラスA 総合音声伝送品質(R値)>80、エンド・ツー・エンド遅延<100msec(アナログ電話相当)
クラスB 総合音声伝送品質(R値)>70、エンド・ツー・エンド遅延<150msec(携帯電話相当)
クラスC 総合音声伝送品質(R値)>50、エンド・ツー・エンド遅延<400msec

ITU-T G.114 では、高い音声品質を実現するために必要な最大遅延として 150ミリ秒を推奨しています。また、事業用電気通信設備規則として0AB-J IP電話については以下図5のように告示されています。

図5. 0AB-J IP電話について

本ブログでは詳細な説明は割愛しますが、総合音声伝送品質(R値)は公式によって求められ、そのパラメータ値として、遅延、揺らぎ、パケット損失などが使用されます。

ジッタバッファ

ジッタバッファは、パケットの受信側に設けられ、分割されて到着するパケットの揺らぎを吸収するバッファです。また、損失したパケットの補完(PLC:Packet Loss Concealment)を行ったり、不順で到着したパケットの並び替えを行ったりして、音声品質の劣化を防止します。

VoIPにおけるジッタバッファの機能性能は、製品のメーカーによってさまざまで、メーカーがどのように実装するかに依存します。したがって、パケットの補完機能やパケットの並び替え機能を実装していないジッタバッファも存在する可能性があります。

1. 揺らぎ吸収

送信側からは均等な間隔でパケットが送出されますが、ネットワークを経由する過程で間隔が不均等になり揺らぎが発生します。受信側のジッタバッファでパケットを均等に揃え、再生されます。ジッタバッファでは最小遅延を設定し、この分だけ再生が遅延します。これはEnd-to-Endの遅延の一部となります。最小遅延を大きく設定すると遅延が大きくなりますが、小さ過ぎるとネットワークで遅延が発生した場合、アンダーランが発生してパケット損失と判断されてしまう可能性があります。

図6. ジッタバッファでの揺らぎ吸収

例えば、ジッタバッファの最小遅延を40msに設定し、3番目のパケットの到着が45ms遅延した場合、1番目と2番目のパケットはジッタバッファに格納され順番に再生されます。この時点で40ms経過するため、3番目のパケットを再生したいのですが、まだバッファに格納されていないため無音になります。このようなことをアンダーランが発生すると言います。このまま処理すると無音が再生されたり、遅れて到着したパケットが再生されたりして、音声品質が劣化します。

このように、最小遅延の設定は、再生遅延とアンダーランの発生とトレードオフの関係にあり、適切な値を設定することが推奨されます。再生遅延が固定のものをスタティックジッタバッファ、受信パケットの状況によって変化するものをダイナミックジッタバッファと呼びます。

図7. アンダーランの発生

2. パケットの破棄、補完(PLC)

パケットの遅延やネットワークの途中でパケット損失が起きた場合、ジッタバッファでアンダーランが発生します。このとき、ジッタバッファは既に到着した別パケットの音を参照し、損失部の疑似音を生成し補完します。詳しいアルゴリズムは G.711 Appendix Ⅱ に記載があります。遅延によってアンダーランが発生し、パケット補完された後に遅れて該当パケットが到着した場合、それを破棄する処理が必要になります。

図8. パケットの破棄、補完(PLC)

3. パケットの並び替え

先述の通り、受信側へ到着するパケットはネットワークの状況によって不順となることがあります。RTPパケットのシーケンス番号に沿って、並び替えられて再生することが求められます。

図9. パケットの並び替え

おわりに

いかがでしたでしょうか。
VoIPは従来の固定電話に比べて低コストで利用できる一方で、音声品質の確保が課題となっています。
本ブログでは、VoIPの概要から音声品質劣化の原因、品質指標、そしてジッタバッファによる品質改善策について述べました。

インターネットを経由する音声通信では、遅延やジッタ、パケット損失などの問題が発生しがちです。これらの問題は音声品質の劣化につながるため、適切な対策が必要不可欠です。
ジッタバッファはパケットの揺らぎを吸収し、欠落や並び替えを補完する重要な役割を担っています。

VoIPサービスを選択する際は、ジッタバッファの性能やメーカーの実装方法にも注目する必要があります。ジッタバッファを適切に設定し、最適な音声品質を実現することが、高品質なVoIP通話を行ううえで重要なポイントとなると考えられます。
最後までご覧いただきありがとうございました!

VoIP関連のDSP、システム・オン・チップ(SoC)などに関する情報は以下よりご確認ください。

VoIP関連のDSP、SoCなどに関する
情報はこちらから

関連ブログ