# AMR-WB+
AMR-WB+ あるいは Extended Adaptive Multi-Rate Wideband は、AMR-WB を拡張しより広帯域化した音声符号化方式である。AMR-WB の持つ全てのモードを含み、さらに音楽を含む一般的な広帯域のオーディオ信号を符号化できるよう拡張されている。モノラル/ステレオの両方をサポートし、モノラルでは 5.2 ～ 36 kbps 、ステレオでは 6.2 ～ 48 kbpsのビットレートで符号化ができる。
AMR-WB+ は 3GPP で定義された携帯電話向けの各種マルチメディアサービスやデジタルビデオブロードキャスティングで使用することができる。

## 概要
AMR-WB+ は、50 Hz-7 kHz の帯域幅をサポートする AMR-WB をさらに広帯域化し、また AMR-WB が不得意だった音楽など音声以外の信号の音質の向上を行った符号化方式である。仕様は 3GPP TS 26.290 で定義され、また国内向けでは ARIB STD-T63-26.290 として同じ仕様が定義されている。
元々は標準化団体の 3GPP（3rd Generation Partnership Project）が定義した各種マルチメディアサービスで使用するためのコーデックとして提案されたもので、2004 年頃から評価が行われ、その後 HE-AAC（商標名 AAC Plus）と共に 3GPP Release 6 でのオーディオ符号化用コーデックとして選択された。
HE-AAC など他の広帯域・低ビットレートの符号化方式と同様、ほとんどの情報が含まれる低域成分を従来の方式で符号化し高域成分は大まかなスペクトル情報のみを符号化して、復号時に低域成分から高域成分を予測復元する Bandwidth Extension（バンド幅拡張）の技術を使い、高い圧縮率を実現している。また、ステレオ信号も、両チャネルを合成した信号と差分を表す少数のパラメータとで効率よく符号化する。 
低域の符号化は、 AMR-WB で使われていた ACELP（algebraic code excited linear prediction）に加え、音楽など一般的オーディオ信号の符号化に向いた TCX（transform coded excitation）と呼ばれる離散コサイン変換を用いたアルゴリズムも用いて入力信号の内容に応じて切り替えて行う。
AMR-WB の入出力のサンプリング周波数は 16 kHz 固定なのに対し、AMR-WB+ では 16/24/32/48 kHz のいずれかを選ぶことができる。同様に、内部処理のサンプリング周波数も 12.8 kHz ～ 38.4 kHz の間の 13 種類の周波数から選択できる。
AMR-WB+ の特徴を以下にまとめる
。
- AMR-WB を広帯域オーディオにも使えるよう拡張、AMR-WB との互換性がある
- 入出力のサンプリング周波数は 16/24/32/48 kHz、16 bit幅
- 内部処理のサンプリング周波数は 12.8 kHz ～ 38.4 kHz 可変
- 帯域幅は 50 Hz ～ 6.8 kHz から最大 50 Hz ～ 19.2 kHz まで
- ビットレートは 5.2 ～ 32 kbps（モノラル）、6.2 ～ 48 kbps（ステレオ）
- 標準的な符号化遅延は 60 ～ 90 ms
- 音声用の ACELP アルゴリズムと音楽用の TCX アルゴリズムを使用
- 高域成分は Bandwidth Extension（バンド幅拡張）の技術で符号化
- ステレオ信号はモノラル信号と少数のパラメータとで符号化

インターネット上での RTP による AMR-WB+ のペイロードの形式は RFC 4352 で定義されている。
また、AMR-WB+ は 3GPP の3GPP TS 26.244 で定義された ISO ベースメディアファイルフォーマット の 3GP で使うことができる。

## アルゴリズム
AMR-WB+ のアルゴリズムの基本的な考え方は、音声を高い圧縮比で符号化できる ACELP と、音楽など一般的なオーディオ信号の符号化に向いた変換符号化の一種である TCX とを入力信号の性質により切り替え、一般的なオーディオ信号での音質を向上させながら音声に対しても AMR-WB と同様の圧縮率を維持することである。
処理単位となる入力サンプル数は、ACELP が固定でいいのに対し TCX のような変換符号化は入力サンプル数を長くすると圧縮効率が良くなるため、入力信号の性質により使用する符号化アルゴリズムと入力サンプル数も切り替える。
符号化は大きく分けて以下の処理からなる
。
1. 前処理
  - 入力信号を低域（サンプリング周波数の 1/4 までの信号成分）と高域（それ以上の成分）の２つの信号に分割
2. ACELP/TCX 符号化
  - 低域のモノラル信号の各フレームを ACELP か TCX で符号化
  - ACELP 使用時は 265 サンプル/フレームのみ、TCX 使用時は 265, 512, 1024 サンプル/フレームのいずれか
  - 符号化方式はクローズドループ（符号化し歪みが最も少ないものを選択）あるいはオープンループにより選択
3. 高域成分の符号化
  - 高域成分のスペクトルエンベロープ情報とゲインのみを符号化
  - 復号時には低域成分の情報から予測復元
  - ステレオでは両チャネルの高域成分を別々に符号化/復号
4. ステレオ符号化
  - 両チャネルの低域成分を合成したモノラル信号（ACELP/TCX で符号化）＋補助情報の組み合わせで符号化
  - 補助情報は低域成分を超低域周波数（サンプリング周波数の5/128までの成分）とそれ以上の中域成分とに分けて符号化


### 前処理
入力信号の処理単位（入力フレーム）は 2048 サンプルで、ダウンサンプリングにより低域成分の 1024 サンプルと高域成分の 1024 サンプルに分けられる。
その後の符号化処理は 1024 サンプル（256サンプル×4）単位のスーパーフレーム、およびその 1/4 のフレーム単位に行われる。

### ACELP/TCX 符号化
入力信号の低域成分は 1024 サンプル 単位で処理され、アルゴリズムは ACELP（256 サンプル単位で処理）、TCX（265, 512, 1024 サンプル単位で処理）の最適な組み合わせを入力信号の内容に応じて選択する。
選択にはクローズドループによる方法と、より演算量の少ないオープンループによる方法が定義されている。
クローズドループによる方法は「合成による分析」を用い、全ての組み合わせで実際に符号化を行い、時間単位のSN比（セグメンタルSNR）の平均が最大の組み合わせを選択する。オープンループにより選択は、入力信号を直接分析することで符号化方式の組み合わせを決める。
符号化アルゴリズムの1つである ACELP アルゴリズムは CELP の一種で、線形予測フィルターとフィルターの励起信号とで信号をモデル化し、励起信号のパラメータ化には適応型コードブックと代数構造を持つ固定型コードブックを用いる。
人間の声を符号化するのに向いており、AMR-WB+ の元になった AMR-WB でも使われている。
TCX（transform coded excitation）アルゴリズムは変換符号化の一種で、聴感補正された時間領域の信号を離散コサイン変換（DCT）を用いて周波数領域の信号に変換し、格子ベクトル量子化（lattice vector quantization）の一種（split multi-rate lattice vector quantization）を用いて量子化を行う。
格子ベクトル量子化は、ベクトル量子化でのコードブックを格子上の点に制限したもので、通常のベクトル量子化と比較すると量子化特性は劣るが量子化に必要な計算量とコードブックのために必要なメモリを大幅に削減でき、また単純なスカラー量子化と比べると量子化特性に優れている。
TCX では Gosset格子（Gosset lattice）のサブセットを組み合わせた代数構造を持つコードブックにより８次元のブロックで量子化を行う。
また、アルゴリズムが切り替わるタイミングで復号の結果が不連続にならないよう、符号化のアルゴリズムは考慮されている。

### 高域成分の符号化
低域の信号成分と比べると高域成分に含まれる情報は多くなく、また低域の信号と高域の信号とは高い相関がある。
このことを利用し、高域成分の符号化ではスペクトルエンベロープの大まかな情報と全体のゲインの情報のみを符号化し、復号時に低域の情報を用いて予測復元する。
スペクトルエンベロープの情報は 8 次の線形予測フィルターの係数を用い 9 ビットに符号化する。
全体のゲインは高域と低域の境界でスペクトルエンベロープが連続するよう値を計算し 7 ビットに符号化する。
サンプル長が512、1024サンプルと長い場合にはゲインの補正値としてさらに情報が追加される。
また、ステレオの場合は両チャネルの高域成分を別々に符号化し、モノラルの場合と同様、復号時には両チャネルの低域成分から予測復元する。

### ステレオ符号化
ステレオ符号化では、両チャネルの低域成分を合成したモノラル信号と、両チャネルの低域成分から求めた補助情報との組み合わせで符号化する。モノラル信号部分の符号化は通常のACELP/TCX アルゴリズムを用いる。
補助情報は低域成分を超低域周波数（サンプリング周波数の 5/128 までの成分）とそれ以上の中域成分とに分けて符号化される。
ステレオイメージの知覚の際に重要な超低域成分の時間分解能を維持するため、超低域周波数では両チャネルの低域成分の差分の信号を TCX アルゴリズムを用いて素直に符号化する。圧縮率を上げるため、差分信号とモノラル信号との相関の程度を表すバランスファクターと呼ばれる係数で差分信号を正規化し、モノラル信号と相関する成分を取り除いた後に符号化を行う。バランスファクター自身は 7 ビットに符号化する。
中域成分（超低域を除いたサンプリング周波数の 1/4 までの成分）は、冗長度を減らすため線形予測フィルターを通した残差信号をパラメータ化する。線形予測フィルター係数は ACELP/TCX 符号化の際に求められたものを使う。中域成分の符号化の入力はモノラル信号と右チャネル信号を用いる。
モノラル信号と右チャネル信号それぞれの残差成分を求め、モノラル信号の残差から右チャネル信号の残差を予測するようなフィルターを計算で求め、フィルターの係数とゲインとをパラメータとして符号化する。残差とフィルター出力との誤差を最小にするようなフィルターの係数は修正コレスキーアルゴリズム（modified cholesky algorithm）で求める。
フィルターの係数はベクトル量子化の一種であるマルチステージ予測ベクトル量子化（multistage predictive vector quantization、MSPVQ）で量子化される。
復号時には逆の操作により、超低域周波数での両チャネル差分、中域成分での右チャネル予測信号を求め、左右両チャネルの情報を含むモノラル信号のデコード結果と組み合わせて、左右の各チャネルの低域信号を復元する。

## ビットレート
モノラルでのビットレートは 208 ～ 416 ビット/フレーム（16 ビット単位）、480 ビット/フレームから選択できる。これには高域成分の符号化結果も含まれる。ステレオ拡張部分のビットレートは 40 ～ 160 ビット/フレーム（8 ビット単位）から選択でき、モノラルでのビットレートに加算される。
全体のビットレートは、内部処理サンプリング周波数/512 で計算される 1 秒あたりのフレーム数と、1 フレームのビット数の総和とから求めることができる。
例：
内部処理のサンプリング周波数が 25.6 kHz のステレオ信号で、モノラルのビットレートとして 272 ビット/フレーム、ステレオのレートとして 88 ビット/フレームを選んだ場合、ビットレートは 18 kbps でフレーム長は 20ms になる。
内部処理のサンプリング周波数が 32.0 kHz のモノラル信号で、モノラルのビットレートとして 384 ビット/フレームを選んだ場合、ビットレートは 24 kbps でフレーム長は 16ms になる。

## 用途
AMR-WB+ は以下のような様々な用途で使用することができる。
PSS、MBMS、MMS は 3GPP で定義された携帯電話向けのマルチメディアサービスで、DVB-H は携帯電話用のデジタルビデオブロードキャスティングである。
- パケットスイッチドストリーミングサービス（PSS）
- マルチメディアブロードキャスト/マルチキャストサービス（MBMS）
- マルチメディアメッセージングサービス（MMS）
- デジタルビデオブロードキャスト-ハンドヘルド（DVB-H）


## ライセンス
AMR-WB+ に関する特許は、ノキア（Nokia Corporation）、エリクソン（Telefonaktiebolaget L. M. Ericsson）、ボイスエージ（VoiceAge Corporation）各社が所有しており
、
ボイスエージ社が AMR と AMR-WB+ のパテントプールのライセンス管理を行っている
。
パーソナルコンピュータ上のモノラルデコーダー以外での利用にはライセンス料が発生する
。