RCELP
RCELP は "Generalized Analysis-by-Synthesis"(合成による分析の一般化、汎用AbS)として提案された手法の応用例として最初に発表され、その後 RCELP と命名された。
合成による分析の一般化とは、合成による分析の際に入力信号にも何らかの変更を行い誤差の最小化を行う方法で、入力信号は聴感上同じに聞こえるよう変更を行う。RCELP はこの手法をピッチ周波数の時間軸方向の修正に適用したものと見なせる。
RCELP の構成は通常の CELP に以下の機能を追加したものになる。
入力信号のピッチ周波数の推定 オープンループでのピッチ周波数推定を行う
ピッチ周波数の軌跡の計算 ピッチ周波数の補間によりフレーム内の軌跡を計算する (このピッチ周波数は CELP での適応型コードブックの更新にも使用される)
ピッチ周波数の軌跡に合わせ入力信号を修正 入力信号の補間やシフトにより信号を時間軸方向に伸長/圧縮する
実際に使用される場合、時間軸方向に伸長/圧縮する信号は入力信号だけに限らない。 例えば、携帯電話用のコーデックとして CDMA2000 ネットワークで使われている EVRC や VMR-WB では、入力信号を直接修正するのではなく、線形予測フィルターを通した後の残差信号を修正する 。
RCELP(relaxed code excited linear prediction、relaxation code excited linear prediction)、あるいは Relaxed CELP は CELP を改良し符号化の圧縮率を高めた音声符号化アルゴリズムである。入力信号の波形をそのまま符号化するのではなく、圧縮率が上がるように信号をわずかに修正して符号化を行うことで、音声を効率的に符号化する。
RCELP は 携帯電話用の音声符号化方式である EVRC(CDMA2000用)、SMV(CDMA2000用)、VMR-WB(CDMA2000用のワイドバンド版)などで使用されている。
20 ms 程度の周期で分析と符号化を行えば情報量は削減できるが、合成による分析の手法を用いた場合、ピッチ周波数の誤差のため実信号との比較がうまくできず音質が低下する。多くの符号化方式では信号を 5 ms 前後のサブフレームに分割しピッチ周波数の分析と符号化を行っている。
RCELP ではピッチ周波数の細かい変動を無視し 20 ms 程度の大まかな周期で分析と符号化を行い、その間は補間で求めたピッチ周波数の軌跡と実際のピッチ周波数との誤差分だけ元の信号を時間軸方向に伸長/圧縮することで、合成による分析の手法を用いた場合の音質低下を避ける。 ピッチ周波数の細かい変動を無視しても聴感上の音質はほとんど変わらないことが分かっており 、 元信号の修正のため符号化時の演算量は増加するが、音質を低下させることなく情報量を削減することができる。