GSM-FR

GSM-FR 、GSM Full Rate、あるいは GSM 06.10 は、GSM デジタル携帯電話システムで利用された最初の音声符号化方式である。コーデックのビットレートは 13.0kbpsである。その後の GSM 用のコーデックである GSM-EFRや AMRと比べると音質は劣るが、符号化に必要な演算量が少ない。

GSM の初期の頃から使われていたため多くの携帯電話でサポートされており、また VoIP 用のコーデックの1つとして使われている。

1. 概要
-----

GSM-FR は GSM で最初に採用された音声符号化方式で、現在の仕様は ETSI 06.10  で定義されている。基本となる方式が 1985年 に発表され、 その後の評価と改良を経て GSM フェーズ１での標準符号化方式として選ばれた。 当時の他の方式と比べ音質が良く、低ビットレートが要求される携帯電話用としては符号化に必要な演算量が少ない特徴があり、GSM の発展と共に世界中で広く使用された。

現在の多くの携帯電話用の符号化方式として CELP やそれから派生した方式が使われているのに対し、GSM-FR では RPE-LTPと呼ばれるより単純なアルゴリズムが使われている。音質は通常の有線の電話回線より悪い。

GSM-FR の特徴は以下の通りである。

入出力のサンプリング周波数は 8   kHz/ 13 bit
ビットレートは 13.0kbps
RPE-LTP アルゴリズムを使用
20 msのフレーム長
符号化遅延は 20 ms
GSM で利用された最初の音声符号化方式
必要な演算量が少ないGSM-FR は古くから使われている符号化方式のため VoIP 用ソフトでも使われており、Ekiga、QuteCom、Linphone、Asterisk  などでサポートされている。

2. RPE-LTP
----------

多くの低ビットレート音声符号化方式では、人間の声道にあたる線形予測フィルターの係数と、声帯音に相当するフィルターの励起信号の情報とで音声の情報を表現する。励起信号は線形予測の残差から求まる。

GSM-FR で使用される RPE-LTPも同様で、線形予測の残差を効率的に表現するために「長期予測」と一定間隔で配置した任意の振幅のパルス信号とを用い、線形予測符号と組み合わせて使う。

長期予測は有声音のような周期性の高い信号を効率的に表現するためのもので、CELP での適応型コードブックに相当する役割を持つ。 線形予測の残差に残っている長期の周期性を、信号周期から決まる遅延時間と振幅の変化を表すゲインとでパラメータ化する。線形予測が比較的短期の予測を行うのに対し、長期予測では音声のピッチ周波数にあたるミリ秒単位の信号予測を行う。

残差信号のうち、長期予測で表現しきれなかった残りの信号を一定間隔に配置したパルス信号の組み合わせで表現する。特定のサンプリング周波数の信号に対し、例えば 2, 5, 8, 11, … のように一定の時間間隔ごとに配置したパルスを用い、その振幅で情報を表す。

GSM-FR 符号化の際の全体の処理は以下のようになる。 処理は 20 ms 長のフレームと 5 ms 長のサブフレームを単位に行う。 入出力のサンプリング周波数は 8   kHz で、13 ビット幅のリニアPCM、あるいはそれに相当する 8 ビット A-law/μ-law PCM である。

入力信号より線形予測フィルターの係数を計算
20 msのフレームごとに線形予測フィルターの係数を計算
フィルター係数を補間しやすいLog Area Ratioに変換し量子化
線形予測フィルターの残差信号から長期予測の係数を計算
Log Area Ratioから構成した分析フィルターと入力信号とから残差信号を計算
5 ms のサブフレームごとに長期予測の遅延時間とゲインの各係数を求める
残差信号から長期予測分を引いた信号を一定間隔のパルス列で符号化
5 ms のサブフレームごとに長期予測の遅延時間とゲインの各係数より求めた予測信号を元の残差信号から引き、最終的な残差分を計算する
残差分をうまく表現できるパルス開始位置を計算する
パルス列の振幅を適応PCMを使って量子化する最後の RPE 符号化では、3 サンプルごとのパルス間隔という制約のため、1, 4, 7, …/ 2, 5, 8, …/ 3, 6, 9, … のように開始位置が異なる残差信号サンプル値の3つの組み合わせの中からエネルギー総和が最大のものを選択することで、残差を最もうまく表現できるパルス列が求まる。この方式では CELP など他の方式で必要なコードブックやパルス位置などの探索の処理が単純化されるため、演算量が大幅に少ない。

この方法は、開始位置指定のダウンサンプリングにより、残差の信号を近似的に表現する手法ととらえることもできる。

復号は符号化と逆の処理を行う。

符号化された定間隔パルス列から励起信号を計算
励起信号と長期予測フィルターとから最終的な励起信号を計算
線形予測合成フィルターに励起信号を入力し音声信号を復元符号化に必要なビットの構成は以下の通りで、ビットレートは 13.0 kbps になる。

{| class="wikitable" style="text-align:right"! パラメータ ! ビット数  ! ビット数  |- ! LPC 係数 | || 36 |- ! LTP 係数 | 2 || 8 |- ! LTP 遅延 | 7 || 28 |- ! RPE 開始位置 | 2 || 8 |- ! RPE 最大値 | 6 || 24 |- ! RPE サンプル値 | 39 || 156 |- ! 合計 | || 260 |}

3. インプリメンテーション
--------------

通常の GSM 携帯電話上での実装以外に、GSM-FR コーデックのフリーの実装である //libgsm// ライブラリがあり、 多くのプラットフォームで利用できる。 このライブラリは1992年から1994年にかけて、当時ベルリン工科大学にいたユッタ デグナーとカーステン ボルマンが開発した。

Windows 上でのマイクロソフトによる独自実装のコーデックとしては "MS GSM"がある。このコーデックは ETSI GSM 06.10 と互換性があるが、マイクロソフト独自のフレーム形式を使用している。

また、Ekiga、QuteCom、Linphone、Asterisk  など、いくつかの VoIP 用ソフトウェアでも GSM-FR コーデックが使用されている。

4. 歴史
-----

GSM-FR のベースになる RPE方式は 1985 年に発表され、最初の第2世代移動通信システムである GSM のための音声符号化方式として 1987 年にオランダの電機・家電製品メーカーであるフィリップスから提案され、さまざまな評価が行われた。この方式は任意の位置/振幅のパルス列と線形予測符号を組み合わせた MPLPC方式に制限を加えて単純化し演算量を抑えたものである。MPLPC は 1982 年頃に考案された。

RPE 方式は IBM など他社の提案より音質が優れていたが、ビットレートが 14.77 kbps と高く通信エラー時の音質低下が大きい問題があった。そのためIBMと協力し、IBM の提案に含まれていた LTPを組み合わせた RPE-LTP 方式が生まれた。 方式の変更により演算量は増えたが、ほぼ同じ音質を維持しながらビットレートを 13 kbps に下げることができ、GSM の最初の仕様である GSM フェーズ１での音声符号化方式として採用された。

その後、GSM 向けのコーデックとして、ビットレートを半分に落とした GSM-HR、より音質を向上させたGSM-EFR、複数のビットレートをサポートするAMRなど様々な規格が生まれた。

5. 脚注
-----

6. 参考文献
-------

Jacob Benesty, M. M. Sondhi, Yiteng Huang . //Springer Handbook of Speech Processing//. Springer, 2007. ISBN 978-3540491255.
P. Vary, K. Hellwig, R. Hofmann, R.J. Sluyter, C. Galand, M. Rosso: //Speech codec for the European mobile radio system,// Proc. IEEE Int. Conf. Acoust. Speech Signal Process, pp.227–230, 1988.

7. 関連項目
-------

音声符号化
ETSI
AMR
AMR-WB
AMR-WB+
GSM-EFR
GSM-HR
GSM

8. 外部リンク
--------

[1] - GSM の RTP ペイロード形式
[2] - GSM 06.10の仕様書
[3] - GSM 06.10の旧仕様書