Code Excited Linear Prediction

Code Excited Linear Prediction (CELP) の解説



Code Excited Linear Prediction(CELP、セルプ)は、高品質な音声データを低ビットレートで圧縮符号化するためのアルゴリズムです。その名前の通り、線形予測符号化、ベクトル量子化、そして合成分析という三つの技術を巧みに組み合わせることで、従来のアルゴリズムを凌駕する優れた音質を実現しました。

CELP の動作原理



CELP は、人間の声道モデルを基に音声信号を生成・符号化します。その仕組みは次の通りです。

1. 線形予測分析 (LPC): 音声信号を分析し、声道特性を表す線形予測係数を算出します。これにより、声道モデルのフィルタ係数が決定されます。
2. 励振信号の生成: 線形予測残差、つまり声道モデルで予測できない部分を励振信号として生成します。この励振信号は、声帯の振動やノイズなどを表しています。
3. ベクトル量子化 (VQ): 励振信号をコードブックと呼ばれる辞書を用いてベクトル量子化します。これにより、励振信号を少ないデータ量で表現することができます。コードブックには、適応型コードブック(ピッチ周期成分)と固定型コードブック(残差成分)の二種類があり、それぞれが異なる役割を果たします。
4. 合成による分析 (Analysis-by-Synthesis): 聴覚的な重み付けを行いながら、最適なコードブックベクトルを探索します。この探索過程で、デコーダ側で合成される音声の品質が最大となるように、エンコーダ側で最適なパラメータが選択されます。この反復的な最適化がCELPの重要な特徴です。

CELP エンコーダ



CELP エンコーダは、上記の手順に従って音声信号を符号化します。特に重要なのは、合成による分析の手法です。これは、デコーダで合成される音声の品質を評価関数として、最適なコードブックベクトルを探索する手法です。効率的な探索アルゴリズムの開発が、CELP の性能向上に大きく貢献しました。

具体的には、まず線形予測係数を計算し、それを線スペクトル対 (LSP) に変換して量子化します。その後、適応型コードブック、固定型コードブックを探索し、聴覚的重み付けに基づいて最適な組み合わせを選択します。この重み付けは、人間の聴覚特性を考慮したもので、可聴帯域外の周波数領域のノイズを削減する効果があります。

CELP デコーダ



CELP デコーダは、エンコーダから送られた符号化された情報を用いて、元の音声信号を再構成します。エンコーダから得られた線形予測係数と、適応型および固定型コードブックから選択されたベクトルを用いて、励振信号を生成します。この励振信号を、線形予測フィルタに通すことで、元の音声信号を近似した出力が得られます。

励振信号 e[n] は、適応型コードブック成分 ea[n] と固定型コードブック成分 ef[n] 、それぞれのゲイン ga と gf を用いて、次のように表されます。

`e[n] = ga・ea[n] + gf・ef[n]`

固定型コードブックは、コーデック内部にあらかじめ格納されたベクトル辞書です。その格納形式はアルゴリズムによって異なり、代数的な形式(ACELP)やそのままの形(Speex)などがあります。適応型コードブックは、過去の励振信号を利用することで、音声のピッチ周期性を効率的に表現できます。

CELP の歴史と派生アルゴリズム



CELP は、1985年に米AT&TのSchroederとAtalによって提案されました。初期の実装では膨大な計算時間を必要としましたが、コードブックの実装方法の改善やコンピュータ性能の向上により、携帯電話などでも利用可能となりました。

CELP は、その優れた性能から様々な派生アルゴリズムを生み出しました。ACELP、RCELP、LD-CELP、VSELP など、多くの改良型アルゴリズムが開発され、現在も広く音声符号化技術として利用されています。

まとめ



CELP は、低ビットレートで高品質な音声符号化を実現した画期的なアルゴリズムです。線形予測、ベクトル量子化、そして合成による分析という高度な技術を組み合わせることで、人間の聴覚特性に合わせた最適化を実現しています。その優れた性能と拡張性から、多くの派生アルゴリズムが生まれ、現代の音声通信技術に大きな影響を与え続けています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。