VoIP技術
1.VoIPとは
VoIPとは、Voice over IP(IP:Internet Protocol)の略であり、IP電話やインターネット電話を実現するための技術です。従来、公衆電話網で使われていた電話音声やFaxの信号をIPパケット化し、イントラネット/インターネットなどのIPネットワーク上で音声通信等を可能にします。
2.VoIP通信における音声信号の流れ
図1は、一般的なVoIP通信装置(ゲートウェイ)の構成を示しています。この図を用いて、VoIP通信における音声信号の流れを簡単に説明します。
電話機からの送話アナログ音声信号は、2線-4線(2w-4w)変換とアナログ/デジタル(A/D)変換を経てサンプリング周波数8kHzのデジタル音声信号になります。その後、音声圧縮により音声符号化データとなり、さらにIPパケット化されてネットワークに送り出されます。VoIPで使用される音声圧縮の代表的なものに、ITU-T G.729、G.723.1、G.711があります。
一方、ネットワークから受信したIPパケットは、音声符号化データに分解され、音声伸張によりサンプリング周波数8kHzのデジタル音声信号になります。そして、D/A変換、2w-4w変換を経て受話アナログ音声信号となり、電話機から音声として聞こえます。

3.代表的な通話品質問題と解決のための技術
このような音声信号の流れを持つVoIP通信では、有線電話に見られない特有の通話品質問題が発生します。以下、これらの問題について簡単に説明するとともに、解決の方向性について述べます。
3.1 遅延
音声通信を行う際、通話遅延が大きくなると、会話のテンポがずれて会話自体が困難になります。VoIP通信の場合、さまざまな要因から通話に遅延が発生します。代表的な要因に次のものがあります。
コーデックによる遅延
音声圧縮(音声符号化)に関する遅延のことで、アルゴリズム遅延と処理遅延から生じます。アルゴリズム遅延とは、一定時間分(フレーム)の音声データを一括して圧縮するために生じる遅延であり、そのコーデック(G.729等)を使う以上不可避なものです。一方、処理遅延とは、圧縮・伸張処理自体に要する時間であり、具体的な実装方法次第でその時間を短くすることが可能です。
パケット化による遅延
コーデックにより圧縮された音声データは、RTP/UDP/IPヘッダを付加することでIPパケット化されます。伝送レート低減の観点から、数フレーム分の音声データをまとめて1つのIPパケットとするのが通常です。この際に生じる遅延がパケット化による遅延です。1つのパケットに組み込む音声データのフレーム数は、通話遅延の観点からは小さい方がよく、伝送レートの観点からは大きい方が有利です。一概にどのサイズがよいとはいえず、ネットワークに最適化するのが好ましいです。
ネットワークによる遅延
IPパケットがネットワーク上のルータを通過する際に発生する遅延です。一般に通過するルータの数(ホップ数)が少なくなるよう、ネットワークを構成することで、ネットワーク遅延の低減につながります。
3.2 エコー
図1の2w-4w変換部において、2本の電線での送受話信号を送話信号、受話信号(4本の電線)に分離する際に、インピーダンスの不整合などによりエコーが戻る場合があります。有線電話通信においてもエコー自体は発生していますが、遅延時間が非常に短いため、自分の話した声にマスクされてほとんど気が付きません。VoIP通信では、通話遅延によりエコーが目立つので、相手の声が聞き取りにくくなることがあります。そのためエコーキャンセラ等でエコーを除去する必要があります。

エコーキャンセラ処理を施した例(WAVファイル)
- 例1
- 例2
エコーキャンセラは、戻ってくるエコーとできるだけ同じ形をした信号を推定して生成し、これを引き算することにより、エコーを除去するものです(フィードバック制御、図2)。エコーキャンセラを適用することで、会話がぶつかるような場合でも、違和感無く通話することが可能となります。OKIのエコーキャンセラは、このフィードバック制御に独自のノウハウを持っています。
3.3 ネットワーク揺らぎ
一般に、IPネットワークでのデータ伝送はリアルタイム性は保証されません。そのため送話側ゲートウェイから一定間隔で送信されたパケットは、かならずしも一定の間隔で受話側ゲートウェイに到着しません。この到着間隔の揺らぎが、音途切れ、音飛び、など通話品質の劣化を引き起こすことがあります。
対処方法として、受話側ゲートウェイに揺らぎ吸収バッファを設けるのが一般的です(図3)。定常的な蓄積量が大きいほど、大きな揺らぎに対応することが可能となります。しかしながら、蓄積量を必要以上に大きくしてしまうと通話遅延による品質劣化が生じるため、ネットワーク環境に合わせた蓄積量の設定が必要になります。OKIの揺らぎ吸収処理は、蓄積量を適応的に設定するノウハウを持っています。

3.4 パケットロス
データ伝送中に生じたパケットロスは、そのまま受話音声の音欠けにつながります。一般的には、受話側で音欠けを補正してごまかす技術が使われています。音声信号は、数十ms程度の短い時間間隔でみると定常的な信号として扱うことができます。この同じような波形が続く性質を利用して、音欠け直前の受話音声から音欠けの部分を補完します(図4)。

パケットロス補償の処理を施した例(WAVファイル)
- 例1
- 例2
3.5 その他
受話レベル(音量)は、大きすぎても小さすぎても品質劣化につながります。VoIPでは送話側もしくは受話側ゲートウェイにて音声信号のレベルを調整します。その際VoIP通信全体の系で見たときに全てのゲートウェイ間の通話レベルを同じにする必要があります。
またVoIPでよく用いられるCELP系のコーデック(G.729、G.723.1等)は、入力が音声信号であることを仮定しています。そのため、トーン信号(プッシュボタンによるピポパ音)やFAX等のモデム信号を正しく送れないことがあります。このような場合、送話側コーデックで圧縮する前に信号を検出/復調し、別系統でこの情報を受話側ゲートウェイに送信する等の方法がとられることがあります。
