音声 : 音声品質

Voice over IP - 1 コール当たりの帯域幅使用量

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2009 年 1 月 14 日) | 英語版 (2015 年 9 月 2 日) | フィードバック


目次


概要

パケット ボイス ネットワークを構築する際に考慮すべき最も重要な要素の 1 つとして、適切なキャパシティ計画が挙げられます。 容量計画の中では、帯域幅計算は良好な音声の質のためのパケット音声ネットワークを設計し、解決するとき考慮するべき重要な要因です。

この文書は、各コーダ/デコーダ(コーデック)が使用する帯域幅を示し、VoIP の使用時に帯域幅を節約するための機能について説明します。

注: この資料への補数として、TAC 音声コーデック 帯域幅カルキュレータ登録ユーザのみ)ツールを使用できます。 このツールは、パケット ボイス コールに必要な帯域幅の計算方法に関する情報を提供します。一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

前提条件

要件

このドキュメントに関する特別な要件はありません。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

VoIP:コール単位の帯域幅

これらのプロトコル ヘッダ想定は計算のために使用されます:

  • IP(20 バイト)/ User Datagram Protocol(UDP)(8 バイト)/ Real-Time Transport Protocol(RTP)(12 バイト)のヘッダー用に 40 バイト。

  • Compressed Real-Time Protocol(cRTP)により、IP/UDP/RTP ヘッダーが 2 または 4 バイトに圧縮される(cRTP はイーサネットでは使用できません)。

  • Multilink Point-to-Point Protocol(MP)または Frame Relay Forum(FRF; フレームリレー フォーラム).12 のレイヤ 2(L2)ヘッダー用に 6 バイト。

  • MP およびフレームリレー フレームにおけるフレームの終わりを示すフラグ用に 1 バイト。

  • イーサネット L2 ヘッダー用に 18 バイト(フレーム チェック シーケンス(FCS)または巡回冗長検査(CRC)用の 4 バイトを含む)。

注: この表は Cisco Unified CallManager か Cisco IOS だけでデフォルトの音声ペイロード サイズのための計算が含まれていますか。 ソフトウェア H.323 ゲートウェイ。 追加計算に関しては、異なる音声ペイロードサイズおよび他のプロトコルを含んで、Voice over Frame Relay (VoFR)および Voice over ATM (VoATM)のような、TAC 音声コーデック 帯域幅カルキュレータ登録ユーザのみ)ツールを使用して下さい。

コーデック情報 帯域幅の計算
コーデック ビット レート(Kbps) コーデック サンプル サイズ(バイト) コーデック サンプル間隔(ミリ秒) 平均オピニオン評点(MOS) ボイス ペイロード サイズ(バイト) ボイス ペイロード サイズ(ミリ秒) Packets Per Second(PPS) 帯域幅 MP または FRF.12(Kbps) cRTP 使用時の帯域幅 MP または FRF.12(Kbps) 帯域幅イーサネット(Kbps)
G.711(64 Kbps) 80 バイト 10 ミリ秒 4.1 160 バイト 20 ms 50 82.8 Kbps 67.6 Kbps 87.2 Kbps
G.729(8 Kbps) 10 バイト 10 ミリ秒 3.92 20 bytes 20 ms 50 26.8 Kbps 11.6 Kbps 31.2 Kbps
G.723.1(6.3 Kbps) 24 バイト 30 ミリ秒 3.9 24 バイト 30 ミリ秒 33.3 18.9 Kbps 8.8 Kbps 21.9 Kbps
G.723.1(5.3 Kbps) 20 bytes 30 ミリ秒 3.8 20 bytes 30 ミリ秒 33.3 17.9 Kbps 7.7 Kbps 20.8 Kbps
G.726(32 Kbps) 20 bytes 5 ミリ秒 3.85 80 バイト 20 ms 50 50.8 Kbps 35.6 Kbps 55.2 Kbps
G.726(24 Kbps) 15 バイト 5 ミリ秒   60 バイト 20 ms 50 42.8 Kbps 27.6 Kbps 47.2 Kbps
G.728(16 Kbps) 10 バイト 5 ミリ秒 3.61 60 バイト 30 ミリ秒 33.3 28.5 Kbps 18.4 Kbps 31.5 Kbps
G722_64k (64 キロビット/秒) 80 バイト 10 ミリ秒 4.13 160 バイト 20 ms 50 82.8 Kbps 67.6 Kbps 87.2 Kbps
ilbc_mode_20 (15.2Kbps) 38 バイト 20 ms 該当せず 38 バイト 20 ms 50 34.0 キロビット/秒 18.8 キロビット/秒 38.4 キロビット/秒
ilbc_mode_30 (13.33Kbps) 50 バイト 30 ミリ秒 該当せず 50 バイト 30 ミリ秒 33.3 25.867 キロビット/秒 15.73 キロビット/秒 28.8 キロビット/秒

用語の説明

コーデック ビット レート(Kbps) コーデックに基づいた、ボイス コールを配信するために送信する必要のある秒あたりのビット数。 (コーデック ビット レート = コーデック サンプル サイズ / コーデック サンプル間隔)
コーデック サンプル サイズ(バイト) コーデックに基づいた、コーデック サンプル間隔ごとにデジタル シグナル プロセッサ(DSP)によってキャプチャされるバイト数。 たとえば、10 ミリ秒のサンプル間隔で動作する G.729 コーダは、ビット レート 8 Kbps のサンプルごとに 10 バイト(80 ビット)に相当します。 (コーデック ビット レート = コーデック サンプル サイズ / コーデック サンプル間隔)
コーデック サンプル間隔(ミリ秒) コーデックが動作するサンプル間隔。 たとえば、10 ミリ秒のサンプル間隔で動作する G.729 コーダは、ビット レート 8 Kbps のサンプルごとに 10 バイト(80 ビット)に相当します。 (コーデック ビット レート = コーデック サンプル サイズ / コーデック サンプル間隔)
MOS 電話接続のボイス品質の評価体系。 MOS では、多種多様な聞き手が 1(悪い)から 5(非常によい)の尺度でボイス サンプルの品質を判断します。 コーデックの MOS はスコアの平均によって計算されます。
ボイス ペイロード サイズ(バイト) パケットに埋め込まれるバイト(またはビット)数。 ボイス ペイロード サイズは、コーデック サンプル サイズの倍数でなければなりません。 たとえば、G.729 パケットでは、10、20、30、40、50、または 60 バイトのボイス ペイロード サイズを使用できます。
ボイス ペイロード サイズ(ミリ秒) ボイス ペイロード サイズは、コーデック サンプルで表すこともできます。 たとえば、20 ミリ秒という G.729 ボイス ペイロード サイズ(10 ミリ秒のコーデック サンプルが 2 つ)は、20 バイトのボイス ペイロードを表します [(20 バイト * 8)/(20 ミリ秒)= 8 Kbps]。
PPS コーデック ビット レートを配信するために秒あたりに送信する必要のあるパケット数。 たとえば、パケットあたりのボイス ペイロード サイズが 20 バイト(160 ビット)の G.729 コールの場合、毎秒 50 パケットを送信する必要があります [50 pps =(8 Kbps)/(160 ビット/パケット)]。

帯域幅の計算式

これらの計算は使用されます:

  • 合計パケット サイズ =(L2 ヘッダー: MP または FRF.12 またはイーサネット)+(IP/UDP/RTP ヘッダー)+(音声ペイロード サイズ)

  • PPS =(コーデック ビット レート)/(ボイス ペイロード サイズ)

  • 帯域幅 = 合計パケット サイズ * PPS

計算例

たとえば、cRTP、MP、およびデフォルトの 20 バイトのボイス ペイロードを使用した G.729 コール(8 Kbps コーデック ビット レート)に必要な帯域幅は、次のように求められます。

  • 合計パケット サイズ(バイト)=(MP ヘッダー 6 バイト)+(圧縮された IP/UDP/RTP ヘッダー 2 バイト)+(ボイス ペイロード 20 バイト)= 28 バイト

  • 合計パケット サイズ(ビット)=(28 バイト)X 8 ビット/バイト = 224 ビット

  • PPS =(8 Kbps コーデック ビット レート)/(160 ビット)= 50 pps

    注: 160 ビット = 20 バイト(デフォルトのボイス ペイロード)* 8 ビット/バイト

  • コール単位の帯域幅 = ボイス パケット サイズ(224 ビット)* 50 pps = 11.2 Kbps

Cisco CallManager および IOS ゲートウェイでのボイス ペイロード サイズの設定

Cisco CallManager および Cisco IOS ゲートウェイで、パケットあたりのボイス ペイロードを設定することができます。

注: Cisco CallManager で Cisco IOS ゲートウェイが Media Gateway Control Protocol(MGCP; メディア ゲートウェイ コントロール プロトコル)として設定されている場合は、コーデック情報(コーデック タイプ、ペイロード サイズ、音声アクティビティ検出など)はすべて Cisco CallManager で制御されます。

Cisco CallManager では、パケットあたりのボイス ペイロード サイズをシステム全体で設定することができます。 このアトリビュートはこの 3 つのサービスパラメータの Cisco CallManager Administration (Service > Service Parameters > select_server > Cisco CallManager)で設定 されます:

  • PreferredG711MillisecondPacketSize:(デフォルト設定: 20 ミリ秒。可能な設定: 10、20、および 30 ミリ秒)

  • PreferredG729MillisecondPacketSize:(デフォルト設定: 20 ミリ秒。可能な設定: 10、20、30、40、50、および 60 ミリ秒)

  • PreferredG723MillisecondPacketSize:(デフォルト設定: 30 ミリ秒。可能な設定: 30 および 60 ミリ秒)

Cisco CallManager では、ボイス ペイロード サイズをミリ秒(ms)単位のサンプルで設定することができます。 コーデックに基づいて、この表はバイトの実際のペイロードサイズに一部の ms サンプルをマッピング します。

コーデック ボイス ペイロード サイズ(ミリ秒) ボイス ペイロード サイズ(バイト) コメント
G.711 20 ミリ秒(デフォルト) 160 バイト コーデック ビット レートが常に維持されることに注目してください。 次に、例を示します。 G.711 コーデック = [240 バイト * 8(ビット/バイト)] / 30 ミリ秒 = 64 Kbps
30 ミリ秒 240 バイト
G.729 20 ミリ秒(デフォルト) 20 bytes
30 ミリ秒 30 バイト
G.723 30 ミリ秒(デフォルト)

Cisco IOSゲートウェイでは、VOIPパケットのための音声ペイロードサイズが(バイトで) Command Line Interface (CLI)によって変更されるようにする機能は Cisco IOS ソフトウェア リリース 12.0(5)T に追加されます。 新しいコマンドの構文を次に示します。

Cisco-Router(config-dial-peer)#codec g729r8 bytes ?

Each codec sample produces 10 bytes of voice payload.

Valid sizes are:
10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120,
130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230

Any other value within the range will be rounded down to nearest valid size.

<10-230> Choose a voice payload size from the list above

音声ペイロードサイズの変更の影響

パケットごとのコーデック サンプルの数は VOIPコールの帯域幅および遅延を判別するもう一つのファクタです。 コーデックはサンプルのサイズを定義しますが、秒あたりに送信されるパケット数は、パケットに配置されるサンプルの合計数によって影響されることがあります。

ボイス ペイロード サイズを大きくすると VoIP 帯域幅が小さくなり、全体的な遅延が増加します。 次の例では、これを説明しています。

  • ボイス ペイロード サイズが 20 バイト(20 ミリ秒)の G.729 コール: (40 バイトの IP/UDP/RTP ヘッダー + 20 バイトのボイス ペイロード)* 8 ビット/バイト * 50 pps = 24 Kbps

  • ボイス ペイロード サイズが 40 バイト(40 ミリ秒)の G.729 コール: (40 バイトの IP/UDP/RTP ヘッダー + 40 バイトのボイス ペイロード)* 8 ビット/バイト * 25 pps = 16 Kbps

注: L2 ヘッダはこの計算で考慮されません。

注: 次の計算は、ペイロード サイズが倍増する場合に、必要な PPS の数は半分に削減されることを示しています。

注: 音声のための国際電気通信連合電気通信 標準化セクタ (ITU-T) G.114 仕様で定義されたように、推奨される一方向全体の遅延は 150 ミリ秒です プライベート ネットワークに関しては、200 ms は適度な目標であり、250 ms は最大である必要があります。

音声アクティビティ検出

回線交換ボイス ネットワークでは、会話の中に無音部分がどれくらいあるかにかかわらず、64 Kbps の固定帯域幅リンクをすべてのボイス コールが使用します。 VoIP ネットワークでは、すべての会話および無音部分がパケット化されます。 Voice Activity Detection (VAD)を使うと、サイレンスパケットは抑制することができます。

やがておよび 24 以上の呼び出しの音量の平均として、VAD は 35%帯域幅保存まで提供できます。 この節約は、個々のボイス コールや特定の測定時には認識されません。 ネットワーク設計および帯域幅の設計の目的で、VAD は 24 以下の音声コールを同時に伝送するリンクで、特に考慮に入れられてはなりません。 VAD は、保留音やファックスなど、さまざまな機能によって無効になります。 ネットワークのすべての帯域幅がボイス コールの伝送用に設計されている場合、VAD によって節約された帯域幅は、すべてデータ アプリケーションが使用できます。

VAD には、Comfort Noise Generation(CNG; コンフォート ノイズ生成)も備わっています。 通話者は無音部分をコールの切断と誤って判断する可能性があります。そのため、CNG はホワイト ノイズをローカルに生成し、これによってどちらの通話者も通話中であることを認識できます。 G.729 Annex-B および G.723.1 Annex-A には組み込みの VAD 機能がありますが、その他の点では、それぞれ G.729 および G.723.1 と性能は同じです。

Cisco Unified CallManager では、VAD はこれらのサービスパラメータと(デフォルトでディセーブルにされます)有効に することができます:

  • SilenceSuppressionSystemWide:このパラメータは、すべての Skinny エンドポイント(例: Cisco IP Phones および Skinny ゲートウェイなど)の VAD 設定を選択します。

  • SilenceSuppressionWithGateways:このパラメータは、すべての MGCP ゲートウェイの VAD 設定を選択します。 H.323 ゲートウェイには影響を及ぼしません。 H.323 ゲートウェイでは、ゲートウェイで VAD を無効にしておく必要があります。

以上のサービス パラメータは、Cisco CallManager Administration(Service > Service Parameters > select_server > Cisco CallManager)で検索できます。

RTP:ヘッダー圧縮または圧縮されたRTP(cRTP)

http://www.cisco.com/c/dam/en/us/support/docs/voice/voice-quality/7934-bwidth-consume.gif

VoIP パケットはすべて、次の 2 つのコンポーネントから構成されます: ボイス サンプルと IP/UDP/RTP ヘッダーという 2 つのコンポーネントで構成されています。 音声サンプルがデジタル信号プロセッサ(DSP)によって圧縮され、使用されるコーデックに基づいて大小の差があることができるがこれらのヘッダは常に 40 バイトの長さです。 デフォルトの G.729 コールのボイス サンプルが 20 バイトである点と比べると、これらのヘッダーは非常に大きなオーバーヘッドになります。 cRTP を使うと、これらのヘッダは 2 か 4 バイトに圧縮することができます。 この圧縮により、VoIP の帯域幅を大幅に節約できます。 たとえば、デフォルトの G.729 VoIP コールは cRTP なしの場合 24 Kb を消費しますが、cRTP を有効にすると 12 Kb しか消費しません。

cRTP では VoIP コールをリンクごとに圧縮するため、IP リンクの両端で cRTP を設定する必要があります。

Cisco IOS ソフトウェア リリース 12.0.5T 以前では、cRTP がプロセス交換されるため、CPU のパフォーマンスによって cRTP ソリューションのスケーラビリティが著しく制限されます。 Cisco IOS ソフトウェア リリース 12.0.7T~12.1.2T で導入された cRTP パフォーマンスのさまざまな改良により、これらの問題のほとんどは解決されています。 これは履歴の概略です。

  • Cisco IOS ソフトウェア リリース 12.0.5T 以前では、cRTP はプロセス交換されます。

  • Cisco IOS ソフトウェア リリース 12.0.7T で、cRTP に対するファースト スイッチングと Cisco Express Forwarding(CEF; シスコ高速転送)スイッチングのサポートが導入され、12.1.1T でも引き続きサポートされました。

  • Cisco IOS ソフトウェア リリース 12.1.2T で、アルゴリズムによってパフォーマンスが改善されました。

cRTP をファースト スイッチング パスに移動すると、VoIP ゲートウェイと中継ルータが処理できる RTP セッション(VoIP コール)の数が大幅に増加します。

圧縮のための発見的方法

RTP には独自のパケット ヘッダーはありませんが、ヒューリスティックを使用すれば、cRTP 用の RTP ストリームを UDP ストリーム(cUDP)から区別できます。 圧縮のための RTP パケットを検出するために現在使用される正確な発見的方法は次のとおりです:

  • 宛先ポート番号が偶数。

  • 宛先ポート番号の範囲が 16384~32767 または 49152~65535。

  • RTP バージョン フィールドが 2 に設定されている。

  • RTP 拡張フィールドが 0 に設定されている。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 7934