音声 : ゲートウェイ プロトコル

コーデックについて:複雑度、ハードウェア サポート、MOS、およびネゴシエーション

2009 年 7 月 17 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 2 月 2 日) | フィードバック

目次


概要

このドキュメントでは、Cisco IOS(R) Voice over IP(VoIP)ゲートウェイで使用される各種のコーダ/デコーダ(コーデック)の概要を示しています。12.0(5)T よりも前の Cisco IOS ソフトウェア リリースでは、VoIP ゲートウェイで G.729 と G.711 のコーデックのみがサポートされており、Digital Signal Processor(DSP; デジタル信号プロセッサ)当たり 1 つの音声/FAX リレー コールのみがサポートされています。Cisco IOS ソフトウェア リリース 12.0(5)T が導入されてから、Cisco VoIP ゲートウェイでは多数のコーデックと DSP モジュールがサポートされています。DSP 当たりの音声/FAX リレー コールは最大 4 つまでサポートできます。

DSP についての詳細は、『ボイス ハードウェア:C542 および C549 デジタル信号プロセッサ(DSP)』を参照してください。

DSP Calculator tool登録ユーザ専用)により、Cisco 1751、1760、2600XM、2691、2800、3700、および 3800 シリーズ ルータ プラットフォームの DSP の要件が決定され、出力として PVDM のプロビジョニングの推奨内容が提供されます。このツールでは、入力されたインターフェイス モジュール、コーデック設定、トランスコーディング チャネル、および会議セッションに基づいて、DSP の要件を計算します。このツールでは、Cisco 1751、1760、2600XM、2691、2800、3700 および 3800 プラットフォームで有効な Cisco IOS ソフトウェアの各リリースがサポートされています。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。



前提条件

要件

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



使用するコンポーネント

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



表記法

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



コーデックの複雑度

コーデックの圧縮技術によっては、より高いプロセッサ処理能力が要求されます。コーデックの複雑度は中程度(中複雑度)と高度(高複雑度)という 2 つのカテゴリに分けられます。

  • 中複雑度の場合、C549 DSP では DSP 当たり最大 4 つの音声/FAX リレー コールを処理でき、C5510 DSP では DSP 当たり最大 8 つの音声/FAX リレー コールを処理できます。

  • 高複雑度の場合、C549 DSP では DSP 当たり最大 2 つの音声/FAX リレー コールを処理でき、C5510 DSP では DSP 当たり最大 6 つの音声/FAX リレー コールを処理できます。

中複雑度(4 コール/DSP) 高複雑度(2 コール/DSP)

G.711(a-law および m -law)

G.728

G.726(すべてのバージョン)

G.723(すべてのバージョン)

G.729a、G.729ab(G.729a AnnexB)

G.729、G.729b(G.729-AnnexB)

FAX リレー

FAX リレー


注:中複雑度コーデックと高複雑度コーデックの違いは、コーデック アルゴリズムの処理に必要な CPU パワーです。そのため、1 つの DSP でサポートできる音声チャネルの数も異なります。この理由から、中複雑度コーデックはすべて高複雑度モードでも実行できますが、DSP 当たりの使用可能なチャネル数は少なくなります(通常は半分)。

注:FAX リレー(2400 bps、4800 bps、7200 bps、9600 bps、12 kbps、および 14.4 kbps)では、中複雑度コーデックまたは高複雑度コーデックを使用できます。

C549 DSP テクノロジーをサポートするプラットフォームでは、コーデックの複雑度はボイスカード(2600/3600/VG-200 高密度ボイス ネットワーク モジュールなど)のもとで設定されます。プラットフォームによっては、高複雑度のみがサポートされます。これは、高複雑度モードを使用するすべての T1/E1 チャネルをサポートできるだけの、十分な数の DSP がボード上に搭載されているためです。使用されているコーデック標準に従ってコール密度とコーデックの複雑度を指定するには、ボイスカード設定モードで codec complexity コマンドを使用します。

複雑度の設定例を次に示します。

Cisco-router #configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Cisco-router(config)#voice-card 1
Cisco-router(config-voicecard)#codec complexity ?
        high    Set codec complexity high. High complexity, lower call density.
        medium  Set codec complexity medium. Mid range complexity and call density.
        <cr>
Cisco-router(config-voicecard)#codec complexity high

C5510 DSP テクノロジーをサポートするプラットフォームでは、フレックス複雑度の追加オプションが使用できます。フレックス複雑度を使用する場合、DSP ごとに最大 16 件のコールを処理できます。サポートされるコールの件数は 6 〜 16 で、コールに使用されるコーデックにより変動します。

設定例を次に示します。

Cisco-router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Cisco-router(config)#voice-card 1
Cisco-router(config-voicecard)#codec complexity ?
  flex    Set codec complexity Flex.  Flex complexity, higher call density.
  high    Set codec complexity high.  High complexity, lower call density.
  medium  Set codec complexity medium.  Mid range complexity and call density.
  <cr>

Cisco-router(config-voicecard)#codec complexity flex

次に、複雑度の設定を確認するための show running-config の出力からの抜粋を示します。

!voice-card 1
  codec complexity high
!

次の表には、さまざまな Cisco ルータ プラットフォームでのコーデックのサポートが示されています。

コーデック 1751/1760 26xx/36xx NM-1V/2V 26xx/36xx NM-HDV 3700 3810 AS5300 AS5800 AS5350 AS5400 7200 7500 CMM 24FXS CMM 6T1/E1

G.711 a-law および u-lawPCM(64 kbps)

12.0.5XQ1

12.0.5XK1

12.0.7XK

12.0.5XE3

12.1.3T

G.726 ADPCM(32、24、16 kbps)

12.1.2T

12.0.5T

12.0.5XK1

12.0.7XK

×

12.0.5XE3

12.1.3T

×

×

G.728 LD-CELP(16 kbps)

12.0.5T

12.0.5XK1

12.0.7XK

×

12.0.5XE3

12.1.3T

×

×

G.729 CS-ACELP(8 kbps)

12.1.2T

12.0.5XK1

12.0.7XK

×

12.0.5XE3

12.1.3T

×

×

G.729a CS-ACELP(8 kbps)

12.0.5XQ1

12.0.5XK1

12.0.7XK

12.0.5XE3

12.1.3T

G.729 Annex-B(8 kbps)[VAD]

12.0.5T

12.0.5XK1

12.0.7XK

×

12.0.5XE3

12.1.3T

×

×

G.729a Annex-B(8 kbps)

12.0.5XK1

12.0.7XK

12.0.5XE3

12.1.3T

G.723.1 MP-MLQ(6.3 kbps)

12.1.2T

12.0.5T

12.0.5XK1

12.0.7XK

12.0.5XE3

12.1.3T

×

×

G.723.1ACELP(5.3 kbps)

12.1.2T

12.0.5T

12.0.5XK1

12.0.7XK

12.0.5XE3

12.1.3T

×

×

G.723.1 Annex-A MP-MLQ(6.3 kbps)

12.1.2T

12.0.5T

12.0.5XK1

12.0.7XK

12.0.5XE3

12.1.3T

×

×

G.723.1 Annex-A ACELP(5.3 kbps)

12.1.2T

12.0.5T

12.0.5XK1

12.0.7XK

12.0.5XE3

12.1.3T

×

×

クリア チャネル

12.3(2)XF、12.3(11)T

12.3(11)T

   

×

×


コーデック圧縮方式

PCM = Pulse Code Modulation(パルス符号変調)

ADPCM = Adaptive Differential Pulse Code Modulation(適応差分パルス符号変調)

LDCELP = Low-Delay Code Excited Linear Prediction(低遅延符号励起線形予測)

CS-ACLEP = Conjugate-Structure Algebraic-Code-Excited Linear-Prediction(共役構造代数符号励振型線形予測)

MP-MLQ = Multi-Pulse, Multi-Level Quantization(マルチレベル量子化型マルチパルス)

ACELP = Algebraic Code Excited Linear Prediction(代数符号励振型線形予測)




コーデックの平均オピニオン スコア(MOS)

各コーデックは一定の品質の音声を提供します。伝送される音声の品質は聞き手の個人的な反応です。特定のコーデックによって生成される音声の品質を決定する際に一般に使用されるベンチマークとして、Mean Opinion Score(MOS; 平均オピニオン スコア)があります。MOS では、多種多様な聞き手が 1(悪い)から 5(非常によい)の尺度で音声サンプル(特定のコーデックに対応する)の品質を判断します。各サンプルの MOS はスコアの平均によって計算されます。次の表は、コーデックと MOS スコアの関係を示しています。

コーデック方式 ビット レート(kbps) MOS スコア 圧縮遅延(ミリ秒)

G.711 PCM

64

4.1

0.75

G.726 ADPCM

32

3.85

1

G.728 LD-CELP

16

3.61

3 〜 5

G.729 CS-ACELP

8

3.92

10

G.729 x 2 符号化

8

3.27

10

G.729 x 3 符号化

8

2.68

10

G.729a CS-ACELP

8

3.7

10

G.723.1 MP-MLQ

6.3

3.9

30

G.723.1 ACELP

5.3

3.65

30


経済的な観点から、すべてのコールを低ビット レートのコーデックに変換してインフラストラクチャのコストを節約することが当然と思われるかもしれませんが、低ビット レート圧縮を使用した音声ネットワークを設計する際は特に注意してください。音声の圧縮には欠点があります。中でも、複数の符号化(タンデム符号化と呼ばれる)による信号の歪みが大きな問題になります。たとえば、G.729 音声信号を 3 回タンデム符号化すると、MOS スコアは 3.92(非常によい)から 2.68(許容できない)に下がります。低ビット レート コーデックには、その他にも、コーデックによって遅延が引き起こされる欠点があります。



G.729 コーデックの問題

続く 2 つのセクションでは、G.729(8 kbps)コーデックの実装に関連する、さまざまな互換性の問題を説明しています。



Cisco の IETF 策定前 G.729 実装と標準 G.729 実装

Cisco では、G.729 コーデックが標準化される前に、Internet Engineering Task Force(IETF; インターネット技術特別調査委員会)策定前 G.729 コーデック実装をリリースしました。Cisco IOS 12.0(5)T 以降では、G.729 コーデックのデフォルトのビット順は IETF 策定前標準から IETF 標準フォーマットに変更されています。これら 2 つのフォーマットは相互運用できず、両方を使用すると、エンドユーザには不明瞭な「ゴクゴクと飲み込むような音」が聞こえます。

他のベンダーの G.729 実装との互換性のため、Cisco IOS ソフトウェア リリース 12.0.5T 以降では G.729 の標準化された実装がデフォルト設定されています。Cisco IOS ソフトウェア リリース 12.0.5T よりも前の Cisco IOS ソフトウェア リリースとの下位互換性については、次のコマンドを使用して IETF 策定前 G.729 実装をイネーブルにしてください。

maui-vgw-01(config)#dial-peer voice 100 voip
maui-vgw-01(config-dial-peer)#codec g729r8 pre-ietf

Cisco IOS リリース 12.2 以降では、このコマンドの pre-ietf オプションはサポートされていません。



高複雑度:G.729、G729 Annex-B と中複雑度:G.729A、G.729A Annex-B

G.729 は高複雑度アルゴリズムで、G.729A(G.729 Annex-A とも呼ばれる)はそれよりもわずかに音声品質の低い、G.729 の中複雑度バージョンです。G.729 をサポートするプラットフォームはすべて、G.729A もサポートします。

Cisco IOS ゲートウェイでは、使用するバリアント(G.729 または G.729A)はボイス カード上のコーデックの複雑度設定に関連します。Cisco IOS Command Line Interface(CLI; コマンド行インターフェイス)のコーデック オプションには、これが明示的には表示されません。たとえば、コーデック オプションとして g729ar8(「a」コード)が CLI には表示されません。ところが、ボイス カードが中複雑度として定義されている場合には、g729r8 オプションは G.729A コーデックになります。

注:MC3810 の場合、12.0.7XK よりも前の Cisco IOS ソフトウェア リリースでは、G.729A の 24 チャネルまたは G.729 の 12 チャネルの間に明示的な CLI オプションがあります。

G.729 Annex-B は高複雑度アルゴリズムで、G.729A Annex-B はそれよりもわずかに音声品質の低い、G.729 Annex-B の中複雑度バージョンです。G.729 コーデックと G.729 Annex-B コーデックの違いは、G.729 Annex-B コーデックが組み込みの IETF Voice Activity Detection(VAD)と Comfort Noise Generation(CNG; コンフォート ノイズ生成)を提供する点にあります。

次の G.729 コーデックの組み合せは相互運用可能です。

  • G.729 と G.729A

  • G.729 と G.729

  • G.729A と G.729A

  • G.729 Annex-B と G.729A Annex-B

  • G.729 Annex-B と G.729 Annex-B

  • G.729A Annex-B と G.729A Annex-B

注: Cisco 2600/3600/VG-200 NM-1V および NM-2V(ボイス ネットワーク モジュール)上で G.729A を明示的に設定する方法はありません。これは、これらのボイス モジュールでは NM-HDV(高密度ボイス ネットワーク モジュール)上でサポートされている「コーデックの複雑度」設定がサポートされていないためです。ただし、NM-1V/2V で終端する相手側エンドポイントで G.729A コールが設定されている場合、そのコールは正常に接続されます。



G.723.1 コーデックの問題

G.723.1 には、Annex-A および非 Annex-A という 2 つのバージョンがあります。これらのバージョンは相互運用できません。G.723.1 Annex-A には、組み込みの IETF VAD アルゴリズムと CNG 機能があります。

また、Cisco IOS ソフトウェア リリース 12.0(5)T 以降では、5.3 kbps および 6.3 kbps レートの G.723.1 コーデックがサポートされています。Cisco VoIP ゲートウェイでは、G723.1 を使用するデバイス間でコールを設定する際に、遠端が G.723.1 を使用しているかどうかだけが確認されます。どちらの側でも、相手側で 5.3 kbps と 6.3 kbps のどちらのレートがサポートされているのかは確認されません。両側が同じレートをサポートすることが望まれますが、これは片側が 5.3 kbps、逆方向が 6.3 kbps で伝送される可能性があることを意味します。使用されている速度は、次のように show call active voice brief コマンドで表示されます。

Cisco-router# show call active voice brief
47 : 494514hs.1 +473 pid:0 Answer active
tx:210/5040 rx:219/4380
IP 5.5.0.1:16534 rtt:3ms pl:890/0ms lost:0/0/0 delay:70/70/70ms g723r63
47 : 494514hs.2 +473 pid:1 Originate 4750001 active
  TX:230/1840 rx:230/8280
  Tele 2/0:0 (35): TX:6870/2290/0ms g723r63

  !--- この例では、G.723.1 が 6.3 kbps で動作しています。 

  noise:0 acom:0 i/0:-79/-5 dBm 

G.723.1 標準では、ネットワーク トラフィックの負荷に適応するため、端末がコール中に 6.3 kbps と 5.3 kbps の間でレートを変更できます。Cisco VoIP ゲートウェイでは、この機能がサポートされていません。ただし、リモート デバイス(Cisco IP Phone など)が最初にネゴシエートしたレートと異なるレートで伝送しているかどうかは認識できます。

次の G.723.1 コーデックの組み合せは相互運用可能です。

  • G.723.1(5.3 kbps)と G.723.1(6.3 kbps)

  • G.723.1(5.3 kbps)と G.723.1(5.3 kbps)

  • G.723.1(6.3 kbps)と G.723.1(6.3 kbps)

  • G.723.1 Annex-A(5.3 kbps)と G.723.1 Annex-A(6.3 kbps)

  • G.723.1 Annex-A(5.3 kbps)と G.723.1 Annex-A(5.3 kbps)

  • G.723.1 Annex-A(6.3 kbps)と G.723.1 Annex-A(6.3 kbps)



コーデックのネゴシエーション

Cisco IOS ソフトウェア リリース 12.0(5)T を導入すると、Cisco VoIP ゲートウェイではコーデックのネゴシエーション機能がサポートされます。この機能により、Cisco VoIP ゲートウェイは、コール設定でどのコーデックが使用されているかを認識しなくても、相手側の VoIP デバイスに接続できます。また、Cisco VoIP ゲートウェイがリモート デバイス上の変更に動的に適応できます。リモート VoIP デバイスで使用されているコーデックが Cisco VoIP ゲートウェイの機能リストに一致する限り、VoIP コールが完了します。コーデックのネゴシエーションは C542 DSP と C549 DSP の両方でサポートされます。ダイヤル ピアで使用する優先されるコーデックのリストを指定するには、音声クラス設定モードで codec preference コマンドを使用します。

次の例は、コーデックのネゴシエーションの設定方法を示しています。

Cisco-router# configure terminal
Cisco-router(config)# voice class codec 1

!--- この設定はダイヤル ピアにクラス 1 を割り当てます。

Cisco-router(config-class)#codec preference 1 g723r63
Cisco-router(config-class)#codec preference 2 g729br8
Cisco-router(config-class)#codec preference 3 g711ulaw
Cisco-router(config-class)#codec preference 4 g726r32 bytes 240

!--- これらのコマンドは、1、2、3、および 4 に従って優先されるコーデックのリストを 
!--- 定義し、優先順位を設定します。


Cisco-router(config)#dial-peer voice 1 voip
Cisco-router(config-dial-peer)#voice-class codec 1

!--- これはダイヤルピアに voice-class codec 1 を割り当てます。

Cisco-router(config-dial-peer)#destination-pattern 4723155
Cisco-router(config-dial-peer)#session target ipv4:192.168.100.1


関連するエラー メッセージ

%DSPRM-5-SETCODEC:

%DSPRM-5-SETCODEC エラーは、ボイス カードの設定がデフォルトの中複雑度のままであるにもかかわらず、VoIP ダイヤルピアに高複雑度コーデックを設定した場合に発生します。この問題を解決するには、音声ポートが削除される原因となる ds0-group 設定をコントローラから削除する必要があります。ds0-group を削除した後、このドキュメント内ですでに説明されている手順に従って、複雑度を変更します。




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

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


関連情報




Document ID: 14069