VMR-WB

VMR-WB（）はマルチレートの広帯域音声符号化方式で、CDMA2000 方式の第三世代携帯電話で利用される。また GSM や W-CDMA で利用される広帯域音声符号化方式の AMR-WB と相互運用性のあるモードを持つ。

また、ITU-T が勧告した広帯域音声符号化方式 G.718 のコアコーデックのベースとしても利用されている。

概要 
VMR-WB は、W-CDMA などで使用される AMR-WB と同様、マルチレートをサポートする音声符号化方式で、通常の電話インタフェースの2倍の帯域幅を持つ 50 Hz-7000 Hz（サンプリング周波数 16kHz）の広帯域音声を扱うことができる。通常の狭帯域の音声（100 Hz-3700 Hz、サンプリング周波数 8kHz）も同じように扱うことができる。
VMR-WB は標準化団体の3GPP2（3rd Generation Partnership Project 2）が標準化を行った。

VMR-WB は、それ以前に開発された AMR-WB のコアとなる技術をベースとしており
、
その略称も AMR-WB を意識したものとなっている。

ビットレートは入力となる音声信号の種類（有声音/無声音/無音状態など）により変わる。また、ネットワーク側からのモード指示により変えることもできる。
VMR-WB Revision 0 ではモード 0 からモード 3 までの４つのモードがあり、これらのモードでのビットレートは 13300 bps、6200 bps、2700 bps、1000 bpsのいずれかである。
改訂版の VMR-WB Revision A ではモード 4 が追加され、このモードでは 8550 bps、4000 bps、800 bps のいずれかになる。

モードは、携帯電話と基地局との間の無線状態など通信ネットワーク側の状態と、要求される通信品質（QoS）により決められる。音声の品質はモード 0 が高くモード 1、モード 2 と順次低くなり、また平均ビットレートも同様に低下する。モード 3 は AMR-WB と相互運用性のあるモードで、AMR-WB での 12.65、8.85、6.60 kbpsのビットレートをサポートする。
モード 0 ～ 3 は CDMA2000 ネットワークでのレートセット II（14.4 kbpsを基準とする通信レート）用である。
モード 4 はレートセット I（9.6 kbpsを基準とする通信レート）用に使われる。

VMR-WB の符号化アルゴリズムは ACELP（Algebraic Code Excited Linear Prediction）を使用する。

VMR-WB の特徴は以下の通りである。
 入出力のサンプリング周波数は広帯域の場合 16 kHz/16 bit、狭帯域の場合 8 kHz/16 bit
 入力となる音声信号の種類とモード指定による可変ビットレート、
 ACELP を使用
 20 msのフレーム長、符号化遅延 32.8125 ms（広帯域の場合）、32.875 ms（狭帯域の場合）
 AMR-WB との相互運用モードあり

VMR-WB の符号化データを RTP を用いインターネット上で送るためのデータ形式は、IETF標準の RFC 4348 と RFC 4424 で定義されている

。

アルゴリズム 
コーデックの入出力は 16ビット長、サンプリング周波数 16kHz / 8kHz の信号で、これを 12.8 kHz にリサンプリングして処理を行う。デコード時には処理結果（サンプリング周波数 12.8 kHz から決まる 6.4kHz までの信号成分）を 16kHz にアップサンプリングし、6.4 kHz ～ 7 kHzの高域成分を追加する

VMR-WB では 20 msのフレームに対し以下の処理により符号化を行う。
  12.8 kHz にリサンプリング、ハイパスフィルタによる直流成分除去などの前処理
  スペクトル分析（音声区間検出と雑音抑制用）
  入力が広帯域/狭帯域かを検出
  スペクトル分析結果より音声区間検出（）
  スペクトル分析結果より雑音スペクトル推定
  推定された雑音スペクトルを用いて雑音抑制
  ACELPのための線形予測係数の計算など
  聴感重み付けされた音声信号の計算
  オープンループでのピッチ周波数（音声波形の基本となる周波数）分析
  背景雑音スペクトルの推定値を更新
  信号フレーム内容よりビットレート選択
  推定ピッチ周波数で入力信号を一部修正、ビットレート選択を改善

これらの処理を行った後、信号フレームの内容と選択ビットレートとから以下のいずれかの処理により符号化を行う。
 unvoiced speech encoding（無声音符号化）
無声音の場合の処理
 voiced speech encoding（有声音符号化）
周期的な繰り返しのある有声音の場合の処理
 discontinuous transmission and comfort noise generation (DTX/CNG)（非連続送信とコンフォートノイズ生成）
音声区間検出（）で無音と判定された時の無音データフレーム生成、
まったくの無音を避けるため、デコーダ側での適切なレベルのバックグラウンドノイズ（コンフォートノイズ）生成
 generic speech encoding（ジェネリック符号化）
上記のいずれにも分類できない場合の処理

符号化には基本的に ACELP のアルゴリズムが使われるが、アルゴリズムの詳細は信号フレーム内容と選択ビットレートにより異なる。

復号では、符号化データに含まれる線形予測係数の情報、適応コードブック/固定コードブック/ゲインのベクトル値などを用いて音声信号を復元する。大まかには以下の処理で復号を行う。
 適応コードブック/固定コードブック/ゲインのベクトル値から励起信号を生成
 励起信号を線形予測フィルタに入力し音声信号を合成
 低域周波数のピッチ周波数成分の強調など音質改善のための後処理
 16 kHz にアップサンプリング
 6.4 kHz ～ 7 kHz の信号成分を付加

通信エラーなどでフレーム消失が発生した場合、それまでの信号フレームの分類を用いて音質低下を少なくする処理も行う。

用途 
携帯電話での音声通信用以外に、VMR-WB は 3GPP2 で定義されたファイルフォーマット（3G2）を使い、各種マルチメディアサービスで使用することができる。
 マルチメディアメッセージングサービス（MMS）
 マルチメディアストリーミングサービス（MSS）

脚注

参考文献 
 3GPP2. C.S0052-0 Version 1.0 Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB)  Service Option 62 for Spread Spectrum Systems. 3GPP2,  June, 2004.
 3GPP2. C.S0052-A Version 1.0 Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB)  Service Options 62 and 63 for Spread Spectrum Systems. 3GPP2,  April, 2005.
 3GPP2. C.S0050-0 Version 1.0 3GPP2 File Formats for Multimedia Services. 3GPP2, December, 2003.
 IETF Network Working Group. RFC4348 Real-Time Transport Protocol (RTP) Payload Format for the Variable-Rate Multimode Wideband (VMR-WB) Audio Codec. IETF. January 2006.
 IETF Network Working Group. RFC4424 Real-Time Transport Protocol (RTP) Payload Format for the Variable-Rate Multimode Wideband (VMR-WB)  Extension Audio Codec. IETF. February 2006.

関連項目 
音声符号化
Adaptive Multi-Rate
G.718
G.722.2
G.729.1
3GPP2
ITU-T

外部リンク 
 3GPP2 C.S0052-0 (VMR-WB Rev.0) specification
 3GPP2 C.S0052-A (VMR-WB Rev.A) specification
 C.S0050-0 (3GPP2 File Formats) specification
  - Real-Time Transport Protocol (RTP) Payload Format for the Variable-Rate Multimode Wideband (VMR-WB) Extension Audio Codec
  - Real-Time Transport Protocol (RTP) Payload Format for the Variable-Rate Multimode Wideband (VMR-WB) Audio Codec

コーデック