音声コーデックの選択

音声コーデックの選択

ソフトフォン(X-Lite)やAsteriskにより内線環境を構築・運用していくためには、コーデックについての理解を深めておく必要があります。

今回の記事ではコーデックについての説明とX-Lite4.0での設定方法について見ていきます。



コーデックとは

コーデックとは、符号化方式を使ってデータのエンコード(符号化)とデコード(復号)の双方を行う装置やソフトウェアなどのことを言います。
(もう少し簡単な表現で表すと、データの圧縮と解凍などを行う装置やソフトウェアのことです。)

下図はコーデックに関するイメージ図になります。

コーデックとは


上図の前提条件として、「PC A」に「X-Lite A」が、「PC B」に「X-Lite B」がインストールされており、「X-Lite A」と「X-Lite B」が通話状態であったとします。
その状態で、「X-Lite A」側の人間が『こんにちわ』としゃべったときに次のような処理が行われます。

  1. 「X-Lite A」はマイクから読み取った音声データをコーデックのエンコーダに渡す
  2. エンコーダは独自のアルゴリズムにより音声データの符号化(圧縮やノイズ除去など)を行う
  3. 符号化された音声データがネットワーク上に流れる
  4. 「PC B」に音声データが届き、コーデックのデコーダにより符号化された音声データの復号を行う
  5. 「X-Lite B」に復号された音声データが渡され、スピーカーから出力する

生の音声データ(符号化していない音声データ)は、ものすごく大容量です。
その大容量のデータをそのままネットワーク上に流すと膨大な帯域を消費してしまうことになり、とても現実的ではありません。
同時に多数の通話が行われる可能性がある内線電話環境において、音声データにより消費されるネットワーク帯域をどれだけ減らすかが重要な要素となるのは言うまでもありません。



音声コーデックの種類

音声コーデックには無料で使用できるものから有料ライセンスが必要なものまで様々な種類があります。
以下に主要な音声コーデックの特徴を示します。


G.711
最も基本的な音声コーデックであり、ほとんどの機器やソフトウェアが対応している。ISDN上での伝送を実現するため1972年にITU-Tが標準化。日本や米国で利用されるμ-law(u-law)と主に欧州で利用されるa-lawの2種類が存在する。

GSM
欧州で規定された携帯電話システムの規格。世界の携帯電話端末市場の82%はGSM方式であり、携帯電話方式の中で最も使われている。ただし、日本では使われていない。

Speex
Xiph.Orgが開発したコーデック。オープンソースであり特許問題も存在しない。

この他にも、「G.711」よりも高品質な音声伝送を可能にする「G.722」や「G.726」など様々な音声コーデックが存在します。

消費するネットワーク帯域を減らすために一番圧縮率の高いコーデックを選べば良いのかというと、そうではありません。
符号化と復号は多くの演算を行うことで実現されるため、CPUの演算速度も重要な要素となってきます。
いくら圧縮率が高くても、その演算のためにCPUがボトルネックになってしまったら意味がありません。

音質に関しても同じことが言えます。
基本的に、一度符号化したデータは元のデータに戻すことはできません。
圧縮率を高くすることで、音質を下げすぎてしまったても通話は成り立たなくなります。



X-Lite4.0での音声コーデック選択方法

X-Lite4.0での音声コーデック選択は「Prefrences」画面(環境設定画面)から行えます。
メニューバーの「Softphone」から「Prefrences」を押下してください。

X-Lite環境設定01

「Prefrences」画面が開きます。

続いて、左ペインにある「Audio Codecs」を押下します。

X-Lite4.0 音声コーデック選択画面


「Available Codecs」リストボックスには選択可能なコーデックの一覧が、「Enabled Codecs」リストボックスには現在有効となっているコーデックの一覧が表示されます。

「>>」ボタンで「Enabled Codecs」リストボックスにコーデックを追加、「<<」ボタンでコーデックを除外することができます。

Asteriskを介して通話を実現するためには、発信側、受信側のソフトフォンやIP電話機、それからAsteriskが対応している音声コーデックが必要になります。

「G.711(u-law)」にはAsteriskはもちろんのこと、ほとんどのソフトフォンやIP電話機も対応しているので、「Enabled Codecs」リストボックスに追加しておきましょう。

複数の音声コーデックを追加した場合は、SIPセッション開始のやり取りの中で交換するSDPによりお互いの情報を交換し、最適な音声コーデックが選択されることになります。

タグ