GSM-EFR 、GSM Enhanced Full Rate、あるいはGSM 06.60 は GSM デジタル携帯電話システムで用いられる音声符号化方式で、それまでに使われていた GSM-FR(GSM Full Rate)の音質を改善するために開発された。コーデックのビットレートは 12.2kbps で、有線の電話回線で使われる G.726 32 kbps ADPCM と同等の音質を実現している[1]。また、3GPP が採用した音声符号化方式である AMR の 12.2kbps モードは GSM-EFR と互換性がある。 GSM-EFR は GSM-FR や GSM-HR に続いて採用された音声符号化方式で、現在の仕様は ETSI 06.60 (ETS 300 726) で定義されている。フィンランドの電気通信機器メーカーであるノキアとカナダのシャーブルック大学が開発を行い、1995年に GSM-EFR の方式として採用され[2]、その後最初の仕様書が1997年に発行された[3]。 それまでに GSM で使われていた GSM-FR や GSM-HR と比べ音質が向上しており、従来の符号化方式が通信エラーの無い条件でも有線の電話回線以下の音質なのに対し、GSM-EFR は典型的な通信エラーの条件や背景雑音のある環境でも有線の電話回線と同じ音質を維持できる[1]。 GSM-EFR では符号化アルゴリズムとして CELP の一種である ACELP を用い、符号化に必要な演算量はハーフレートコーデックの GSM-HR より低い[1]。 GSM-EFR の特徴は以下の通りである[4]。 GSM-EFR の符号化データを RTP を用いインターネット上で送るためのデータ形式は、IETF標準の .mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}RFC 3551 GSM-EFR では、他の多くの携帯電話向けの音声符号化方式と同様、 ACELP アルゴリズムを用いる。この方法は、人間の音声を声道に相当する線形予測フィルターと声帯に相当する適応型と固定型のコードブックとでモデル化する CELP をベースとし、代数的に決められた位置に配置した振幅が+1/?1のパルスの組み合わせを固定型コードブックとして使用する。 この方式は GSM-HR(ハーフレートコーデック)で使われている VSELP などのアルゴリズムと比べ演算量とメモリ使用量が少なくて済む特徴がある。 GSM-EFR 符号化の際の全体の処理はおおよそ以下のようになる[4]。 処理は 20 ms 長(160サンプル)のフレームを 5 ms 長(40サンプル)のサブフレームに分割して行う。入出力のサンプリング周波数は 8 kHz で、13 ビット幅のリニアPCM、あるいはそれに相当する 8 ビット A-law/μ-law PCM である。 40 サンプルからなるサブフレームを以下の 5 トラックに分け、それぞれに対して 2 ビット(全体で 10 ビット)の+1/?1パルスを割り当てる。
概要
入出力のサンプリング周波数は 8 kHz/ 13 bit
ビットレートは 12.2kbps(31バイト/20 ms に丸められた場合 12.4kbps)
ACELP アルゴリズムを使用
20 msのフレーム長
符号化遅延は 20 ms
必要な演算量は 18 MIPS 程度[5]
12.2kbps AMR と互換性がある。
アルゴリズム
前処理(ハイパスフィルタによる直流成分と交流ノイズの除去)
入力信号より線形予測フィルターの係数(10次)を計算
10 ms(80サンプル)ごとに線形予測フィルターの係数(10次)を計算
フィルター係数を補間特性と量子化特性に優れた線スペクトル対(LSP)に変換し量子化
オープンループでのピッチ周波数(音声波形の基本周波数)分析
10 ms(80サンプル)ごとにピッチ周波数を推定(適応型コードブック探索で使用)
適応型コードブック探索
5 ms のサブフレームごとに推定ピッチ周波数を用いて適応型コードブックのピッチディレイとピッチゲインの各係数を求める
適応型コードブックの更新を行う
固定型コードブック(代数コードブック)探索
5 ms のサブフレームごとに入力信号との誤差が最小になるような代数コードブック値とゲインの組み合わせを探索する
代数コードブックの形式を以下に示す。