"以下のステップを含むスピーチ信号の可変レート符号化のための方法:aスピーチ信号をアクティブまたは非アクティブのいずれかとして分類する;b前記アクティブスピーチを複数のタイプのアクティブスピーチの1つに分類する;cスピーチ信号がアクティブであるか、あるいは非アクティブであるかに基づいて、およびアクティブならば、さらに前記アクティブスピーチのタイプに基づいて符号化モードを選択する;d前記符号化モードにしたがってスピーチ信号を符号化して、符号化されたスピーチ信号を形成する。さらに、前記符号化モードにしたがって前記符号化されたスピーチ信号を復号して、合成されたスピーチ信号を形成するステップを含んでいる請求項1記載の方法。前記符号化モードはCELP符号化モード、PPP符号化モード、またはNELP符号化モードを含んでいる請求項1記載の方法。前記符号化するステップは、前記符号化モードに関連した予め定められたビットレートで前記符号化モードにしたがって符号化する請求項3記載の方法。前記CELP符号化モードは8500ビット/秒のビットレートに関連し、前記PPP符号化モードは3900ビット/秒のビットレートに関連し、そして、前記NELP符号化モードは1550ビット/秒のビットレートに関連している請求項4記載の方法。前記符号化モードはさらに、ゼロレートモードを含んでいる請求項3記載の方法。前記複数のタイプのアクティブスピーチは、有声音、無声音、および過渡アクティブスピーチを含んでいる請求項1記載の方法。符号化モードを選択する前記ステップは、a前記スピーチがアクティブな過渡スピーチとして分類された場合には、CELPモードを選択する、b前記スピーチがアクティブな有声音スピーチとして分類された場合には、PPPモードを選択する、c前記スピーチが非アクティブスピーチまたはアクティブな無声音スピーチとして分類された場合には、NELPモードを選択する、ステップを含んでいる請求項7記載の方法。前記符号化されたスピーチ信号は、前記CELPモードが選択された場合にはコードブックパラメータおよびピッチフィルタパラメータを含み、前記PPPモードが選択された場合にはコードブックパラメータおよび回転パラメータを含み、前記NELPモードが選択された場合にはコードブックパラメータを含んでいる請求項8記載の方法。スピーチをアクティブまたは非アクティブとして分類する前記ステップは、2つのエネルギ帯域ベースの閾値化方式を含んでいる請求項1記載の方法。スピーチをアクティブまたは非アクティブとして分類する前記ステップは、前のNhoフレームがアクティブとして分類されていた場合、次のMフレームをアクティブとして分類するステップを含んでいる請求項1記載の方法。さらに、ルックアヘッドを使用して初期パラメータを計算するステップを含んでいる請求項1記載の方法。前記初期パラメータはLPC係数を含んでいる請求項12記載の方法。前記符号化モードはNELP符号化モードを含み、スピーチ信号は、線形予測符号化LPC解析フィルタによりスピーチ信号を濾波することにより発生された残留信号により表され、前記符号化するステップは、以下のステップを含む:i残留信号のエネルギを推定する、ii第1のコードブックからコードベクトルを選択する、前記コードベクトルは前記推定されたエネルギに近似する、前記復号するステップは、以下のステップを含む:iランダムベクトルを発生する、ii前記コードベクトルを第2のコードブックから検索する、前記コードベクトルに基づいて前記ランダムベクトルをスケールする、前記スケールされたランダムベクトルのエネルギは前記推定されたエネルギに近似する、iv前記スケールされたランダムベクトルをLPC合成フィルタで濾波する、前記濾波されたスケールされたランダムベクトルが前記合成されたスピーチ信号を形成する、請求項1記載の方法。スピーチ信号はフレームに分割され、前記各フレームは2以上のサブフレームを含み、エネルギを推定する前記ステップは、前記サブフレームのそれぞれに関する残留信号のエネルギを推定するステップを含み、前記コードベクトルは、前記サブフレームのそれぞれに関する前記推定されたエネルギに近似した値を含んでいる請求項14記載の方法。前記第1のコードブックおよび前記第2のコードブックは確率コードブックである請求項14記載の方法。前記第1のコードブックおよび前記第2のコードブックは訓練されたコードブックである請求項14記載の方法。前記ランダムベクトルは単位分散ランダムベクトルである請求項14記載の方法。以下を具備するスピーチ信号を符号化するための可変レート符号化システム:スピーチ信号をアクティブまたは非アクティブとして分類し、アクティブの場合、アクティブスピーチを複数のタイプのアクティブスピーチの1つとして分類するための分類手段、スピーチ信号を符号化されたスピーチ信号として符号化するための複数の符号化手段、前記符号化手段は、スピーチ信号がアクティブであるか、あるいは非アクティブであるかに基づいて、およびアクティブである場合には、さらに前記タイプのアクティブスピーチに基づいて、スピーチ信号を符号化するために動的に選択される。さらに、前記符号化されたスピーチ信号を復号するための複数の復号手段を含んでいる請求項19記載のシステム。前記複数の符号化手段はCELP符号化手段、PPP符号化手段およびNELP符号化手段を含んでいる請求項19記載のシステム。前記複数の復号手段はCELP復号手段、PPP復号手段およびNELP復号手段を含んでいる請求項20記載のシステム。前記各符号化手段は、予め定められたビットレートで符号化する請求項21記載のシステム。前記CELP符号化手段は8500ビット/秒のレートで符号化し、前記PPP符号化手段は3900ビット/秒のレートで符号化し、または前記NELP符号化手段は1550ビット/秒のレートで符号化する請求項23記載のシステム。前記複数の符号化手段はさらに、ゼロレート符号化手段を含み、前記複数の復号手段はさらに、ゼロレート復号手段を含んでいる請求項21記載のシステム。前記複数のタイプのアクティブスピーチは、有声音、無声音、および過渡アクティブスピーチを含んでいる請求項19記載のシステム。前記スピーチがアクティブな過渡スピーチとして分類された場合には前記CELP符号器が選択され、前記スピーチがアクティブな有声音スピーチとして分類された場合にはPPP符号器が選択され、前記スピーチが非アクティブスピーチまたはアクティブな無声音スピーチとして分類された場合にはNELP符号器が選択される請求項26記載のシステム。前記符号化されたスピーチ信号は、前記CELP符号器が選択された場合にはコードブックパラメータおよびピッチフィルタパラメータを含み、前記PPP符号器が選択された場合にはコードブックパラメータおよび回転パラメータを含み、あるいは、前記NELP符号器が選択された場合にはコードブックパラメータを含んでいる請求項27記載のシステム。前記分類手段は、2つのエネルギ帯域閾値化方式に基づいてスピーチをアクティブまたは非アクティブとして分類する請求項19記載のシステム。前記分類手段は、前のNhoフレームがアクティブとして分類された場合、次のMフレームをアクティブとして分類する請求項19記載のシステム。スピーチ信号は、線形予測符号化LPC解析フィルタでスピーチ信号を濾波することにより発生された残留信号によって表され、前記複数の符号化手段は、以下を含むNELP符号化手段を含む:残留信号のエネルギの推定を計算するためのエネルギ推定装置手段、コードベクトルを第1のコードブックから選択するためのコードブック符号化手段、ここにおいて前記コードベクトルは、前記推定されたエネルギに近似する、ここにおいて前記複数の復号手段は、以下を含むNELP復号手段を含む:ランダムベクトルを発生するためのランダム数発生手段、前記コードベクトルを第2のコードブックから検索するためのコードブック復号手段、前記コードベクトルに基づいて前記ランダムベクトルをスケールする、前記スケールされたランダムベクトルのエネルギは前記推定に近似するための乗算手段、前記スケールされたランダムベクトルをLPC合成フィルタで濾波するための手段、前記濾波されたスケールされたランダムベクトルは、前記合成されたスピーチ信号を形成する請求項19記載のシステム。スピーチ信号はフレームに分割され、前記各フレームは2以上のサブフレームを含み、前記エネルギ推定装置手段は、前記サブフレームのそれぞれに関する残留信号のエネルギの推定を計算し、前記コードベクトルは、前記サブフレームのそれぞれに関する前記サブフレーム推定に近似した値を含んでいる請求項19記載のシステム。前記第1のコードブックおよび前記第2のコードブックは確率コードブックである請求項19記載のシステム。前記第1のコードブックおよび前記第2のコードブックは訓練されたコードブックである請求項19記載のシステム。前記ランダムベクトルは、単位分散ランダムベクトルを含んでいる請求項19記載のシステム。I.環境の概説II.本発明の概説III.初期パラメータの決定A.LPC係数の計算B.LSI計算C.NACF計算D.ピッチトラックおよび遅延の計算E.帯域エネルギおよびゼロ交差レートの計算F.ホルマント残留の計算IV.アクティブ/非アクティブスピーチ分類A.ハングオーバーフレームV.アクティブスピーチフレームの分類VI.符号器/復号器モード選択VII.コード励起線形予測CELP符号化モードA.ピッチ符号化モジュールB.符号化コードブックC.CELP復号器D.フィルタ更新モジュールVIII.原型ピッチ周期PPP符号化モードA.抽出モジュールB.回転コリレータC.符号化コードブックD.フィルタ更新モジュールE.PPP復号器F.周期インターポレータIX.雑音励起線形予測NELP符号化モードX.結論[I.環境の概説]本発明は、可変レートスピーチ符号化のための新しい改善された方法および装置に関する。図1は、符号器102、復号器104および伝送媒体106を含む信号伝送環境100を示している。符号器102はスピーチ信号snを符号化し、伝送媒体106を横切って復号器104に伝送するために符号化されたスピーチ信号sencnを形成する。復号器104はsencnを復号し、それによって合成されたスピーチ信号:を生成する。ここで使用されている符号化という用語は一般に、符号化および復号の両者を含む方法を示している。一般に、符号化方法および装置は、許容可能なスピーチ再生すなわち、^snはsnに近似しているを維持しながら、伝送媒体106を介して伝送されるビットの数を最小化しようとするすなわち、sencnの帯域幅を最小化しようとする。符号化されたスピーチ信号の合成は、特定のスピーチ符号化方法にしたがっていろいろである。以下、種々の符号器102、復号器104およびそれらが動作する符号化方法を説明する。以下に説明する符号器102および復号器104のコンポーネントは電子ハードウェア、コンピュータソフトウェア、または両者の組合せとして実施されることができる。以下、これらのコンポーネントをそれらの機能性に関して説明する。ハードウェアまたはソフトウェアのどちらで機能が実施されるかは、特定の用途とシステム全体に課される設計上の制約に依存する。当業者は、これらの状況下においてハードウェアおよびソフトウェアが交換可能であること、および説明された機能を特定の用途のそれぞれに対して最良に実施するための方法を認識するであろう。当業者は、伝送媒体106が地上ベース通信ライン、基地局と衛星との間のリンク、セルラー電話機と基地局との間の、またはセルラー電話機と衛星との間の無線通信を含む多数の異なった伝送媒体を代表することができるが、それに限定されないことを認識するであろう。当業者はまた、ある通信に対する各パーティが受信だけでなく送信もまたしばしば行うことを認識するであろう。したがって、各パーティには符号器102と復号器104が必要である。しかしながら、以下の説明において信号伝送環境100は、伝送媒体106の一方の端部に符号器102を含み、他端部に復号器104を含むものとして示されている。当業者は、これらの考えをどのように2方向通信に拡大すべきかを容易に認識するであろう。この説明のために、snは、異なった声音と沈黙期間とを含む一般的な会話中に得られたデジタルスピーチ信号であると仮定する。スピーチ信号snはフレームに分割され、各フレームはさらに好ましくは4つのサブフレームに分割されることが好ましい。これら任意の選択されたフレーム/サブフレーム境界は一般に、ここでのケースのように、何等かのブロック処理が行われる場合に使用される。フレームに関して行われていると説明された動作はサブフレームに関しても行われ、この意味においてフレームとサブフレームはここでは交換可能に使用されている。しかしながら、ブロック処理ではなく連続的な処理が実施される場合には、snをフレーム/サブフレームに分割する必要は全くない。当業者は、以下に示すブロック技術がどのように連続処理に拡大されるかを容易に認識するであろう。好ましい実施形態において、snは8kHzでデジタル的にサンプリングされる。各フレームは20m秒のデータ、すなわち、好ましい8kHzのレートで160個のサンプルを含んでいることが好ましい。したがって、各サブフレームはデータの40個のサンプルを含んでいる。以下に示す多くの式は、これらの値をとることを認識することが重要である。しかしながら、これらのパラメータはスピーチ符号化にとって適切ではあるが単なる例示に過ぎず、他の適切な代替パラメータが使用可能なことを当業者は認識するであろう。[II.本発明の概説]本発明の方法および装置は、スピーチ信号snの符号化を含んでいる。図2は、符号器102および復号器104をさらに詳細に示している。本発明によると、符号器102は初期パラメータ計算モジュール202と、分類モジュール208と、および1以上の符号器モード204とを含んでいる。復号器104は1以上の復号器モード206を含んでいる。復号器モードの数Ndは一般に、符号器モードの数Neに等しい。当業者に明らかなように、符号器モード1は復号器モード1と通信し、その他も同様に通信している。示されているように、符号化されたスピーチ信号sencnは伝送媒体106を介して伝送される。好ましい実施形態において、符号器102は、現在のフレームにsnの特性を与えた場合にどのモードが最も適切かに応じてフレームごとにマルチプル符号器モード間で動的に切換る。復号器104はまたフレームごとに対応した復号器モード間で動的に切換る。復号器において許容可能な信号再生を維持しながら利用可能な最も低いビットレートを得るために各フレームに対して特定のモードが選択される。このプロセスは、コーダのビットレートが時間にわたって変化する信号の特性が変化するにつれてため、可変レートスピーチ符号化と呼ばれる。図3は、本発明による可変レートスピーチ符号化を示すフローチャート300である。ステップ302において、初期パラメータ計算モジュール202は、データの現在のフレームに基づいて種々のパラメータを計算する。好ましい実施形態において、これらのパラメータは、線形予測符号化LPCフィルタ係数、線スペクトル情報LSI係数、正規化された自己相関関数NACFs、開ループ遅延、帯域エネルギ、ゼロ交差レート、およびホルマント残留信号の1以上のものを含んでいる。ステップ304において、分類モジュール208は現在のフレームをアクティブスピーチまたは非アクティブスピーチのいずれかを含むものとして分類する。上述したように、snは、通常の会話に共通の、スピーチの周期と沈黙の周期の両方を含んでいると仮定される。アクティブスピーチは話された言葉を含むが、非アクティブスピーチはその他の全て、たとえば、背景雑音、沈黙、息つぎ等を含んでいる。以下、スピーチをアクティブまたは非アクティブとして分類するために使用される本発明による方法を詳細に説明する。図3に示されているように、ステップ306は、ステップ304において現在のフレームがアクティブまたは非アクティブのいずれに分類されたかを考慮する。アクティブの場合、制御フローはステップ308に進む。非アクティブの場合、制御フローはステップ310に進む。アクティブとして分類されたフレームは、ステップ308において有声音フレームか、無声音フレームか、または過渡フレームのいずれかとしてさらに分類される。当業者は、人間のスピーチが多くの異なった方法で分類可能であることを認識するであろう。通常の2つのスピーチ分類は有声音および無声音である。本発明によると、有声音でも、あるいは無声音でもない全てのスピーチは、過渡スピーチとして分類される。図4Aは、有声音スピーチ402を含むsnの例示的な部分を示している。発声音は、声帯が緩和振動で振動するように調整された声帯の緊張状態を伴って空気を声門に押しやり、それによって声道を励起させる空気の擬似周期パルスを生成することにより生成される。有声音スピーチにおいて測定される1つの一般的な特性は、図4Aに示されているピッチ周期である。図4Bは、無声音スピーチ404を含むsnの例示的な部分を示している。無声音は、声道中のある地点にくびれ通常は口の末端に向かってを形成し、乱流を生じさせるのに十分に高い速度で空気をそのくびれに押しやることによって生成される。結果的に得られた無声音スピーチ信号は、カラード雑音に似ている。図4Cは、過渡スピーチ406すなわち、有声音でもなく、無声音でもないスピーチを含むsnの例示的な部分を示している。図4Cに示されている例示的な過渡スピーチ406は、無声音スピーチと有声音スピーチとの間で推移しているsnを表している。当業者は、ここに記載された技術にしたがってスピーチの多くの異なった分類を使用して、類似の結果を得ることが可能であることを認識するであろう。ステップ310において、ステップ306および308において行われたフレーム分類に基づいて符号器/復号器モードが選択される。図2に示されているように種々の符号器/復号器モードが並列に接続される。これらのモードの1以上のものが任意の与えられた時間に使用可能である。しかしながら、以下詳細に説明するように、任意の与えられた時間に1つのモードだけが動作することが好ましく、それは現在のフレームの分類にしたがって選択される。いくつかの符号器/復号器モードが以下のセクションにおいて記載されている。異なった符号器/復号器モードが異なった符号化方式にしたがって動作する。あるモードは、ある特性を示すスピーチ信号snの符号化部分においてより効果的である。好ましい実施形態において、過渡スピーチとして分類されたフレームを符号化するためにコード励起線形予測CELPモードが選択される。CELPモードは、線形予測残留信号の量子化されたバージョンで線形予測声道モデルを励起する。ここに記載されている全ての符号器/復号器モードのうち、CELPにより一般に最も正確なスピーチ再生が得られるが、最高のビットレートが必要である。1実施形態において、CELPモードは8500ビット/秒で符号化を行う。有声音スピーチとして分類されたフレームを符号化するために、原型ピッチ周期PPPモードが選択されることが好ましい。有声音スピーチは、PPPモードによって利用されるゆっくり時間と共に変化する周期的成分を含んでいる。PPPモードは、各フレーム内のピッチ周期のサブセットだけを符号化する。スピーチ信号の残りの周期は、これらの原型周期間において補間をすることにより再構成される。有声音スピーチの周期性を利用することにより、PPPはCELPより低いビットレートを達成し、依然としてスピーチ信号を知覚的に正確な方法で再生することができる。1実施形態において、PPPモードは3900ビット/秒で符号化を行う。無声音スピーチとして分類されたフレームを符号化するために雑音励起線形予測NELPモードが選択される。NELPは濾波された擬似ランダム雑音信号を使用して、無声音スピーチをモデル化する。NELPは符号化されたスピーチに対して最も簡単なモデルを使用し、したがって最も低いビットレートを達成する。1実施形態において、NELPモードは1500ビット/秒で符号化を行う。同じ符号化技術はしばしば異なったビットレートでさまざまな性能レベルにより動作されることができる。したがって、図2の異なった符号器/復号器モードは異なった符号化技術、または異なったビットレートで動作している同じ符号化技術、あるいはそれらの組合せを表すことができる。当業者は、符号器/復号器モード数の増加により、モードを選択する際にさらに高いフレキシビリティが可能であり、それは結果的にさらに低い平均ビットレートとなることができるが、システム全体の複雑性が増加することを認識するであろう。任意の与えられたシステムにおいて使用される特定の組合せは、利用可能なシステムリソースおよび特定の信号環境によって指示される。ステップ312において、選択された符号器モード204は、現在のフレームを符号化し、符号化されたデータを伝送のためにデータパケットにパックすることが好ましい。ステップ314において、対応した復号器モード206はデータパケットをアンパックし、受信されたデータを復号し、スピーチ信号を再構成する。以下、これらの動作を適切な符号器/復号器モードに関してさらに詳細に説明する。[III.初期パラメータの決定]図5は、ステップ302をさらに詳細に説明するフローチャートである。本発明にしたがって種々の初期パラメータが計算される。パラメータは、たとえば、LPC係数、線スペクトル情報LSI係数、正規化された自己相関関数NACFs、開ループ遅延、帯域エネルギ、ゼロ交差レート、およびホルマント残留信号等を含んでいることが好ましい。これらのパラメータは、以下に説明するようにシステム全体内において種々の方法で使用される。好ましい実施形態において、初期パラメータ計算モジュール202は16040個のサンプルのルックアヘッドを使用する。これは、いくつかの目的にかなう。第1に、160個のサンプルのルックアヘッドにより、ピッチ周波数追跡は次のフレーム中の情報を使用して計算されることが可能になり、それによって以下に説明されている音声符号化とピッチ周期推定技術の粗さが著しく改善される。第2に、160個のサンプルのルックアヘッドはまた、LPC係数、フレームエネルギおよび音声アクティビティが将来1つのフレームに関して計算されることを可能にする。これによって、フレームエネルギおよびLPC係数の効率的なマルチフレーム量子化が可能になる。第3に、付加的な40個のサンプルのルックアヘッドは、以下に説明されるハミングウインドウドスピーチに関してLPC係数を計算するためのものである。したがって、現在のフレームを処理する前にバッファされるサンプルの数は16016040であり、これには現在のフレームと16040個のサンプルのルックアヘッドが含まれている。[A.LPC係数の計算]本発明は、スピーチ信号中の短期間冗長を除去するためにLPC予測エラーフィルタを使用する。LPCフィルタに対する伝達関数は:本発明においては前の式に示されているように10次フィルタを構成することが好ましい。復号器中のLPC合成フィルタは冗長を再挿入し、それはAzの逆数:によって与えられる。ステップ502において、LPC係数aiは次のようにsnから計算される。LPCパラメータは、現在のフレームに対する符号化手順中に次のフレームに対して計算されることが好ましい。ハミングウインドウは、119番目と120番目のサンプルの間を中心とする現在のフレームに適用されるルックアヘッドによる好ましい160サンプルフレームを仮定して。ウインドウ化されたスピーチ信号swnは、によって与えられる。40個のサンプルのオフセットの結果、スピーチの好ましい160個のサンプルフレームの119番目と120番目のサンプルの間を中心とするスピーチのウインドウとなる。11個の自己相関値は、として計算されることが好ましい。自己相関値は、Rk=hkRk,0≦k≦10によって与えられるLPC係数から得られた線スペクトル対LSPのルートをミスする確率を減少するためにウインドウ化され、その結果、たとえば25Hz等のわずかな帯域幅拡張になる。値hkは、255ポイントハミングウインドウの中心からとられることが好ましい。その後、Durbinの帰納を使用してウインドウ化された自己相関値からLPC係数が得られる。Durbinの帰納はよく知られた効率的な計算方法であり、文献RabinerSchaferによるデジタル処理スピーチ信号に記載されている。[B.LSI計算]ステップ504において、LPC係数は量子化および補間のために線スペクトル情報LSI係数に変換される。LSI係数は、本発明にしたがって以下の方法で計算される。上述のように、Azは、Az=1-a1z1-...-a10z10,によって与えられ、ここでaiはLPC係数であり、1≦i≦10である。PAzおよびQAzは、次のように規定される:線スペクトルのコサインLSCは、以下の2つの関数の-1.0<x<1.0における10個のルートである:その後、にしたがってLSI係数が計算される。LSCは、次式にしたがってLSI係数から得られる:LPCフィルタの安定性により、2つの関数のルートが交互すること、すなわち、最も小さいルートlsc1がP ́xの最小のルートであり、2番目に小さいルートlsc2がQ ́xの最小のルートであり、その他も同様であることが保証される。したがって、lsc1,lsc3,lsc5,lsc7およびlsc9はP ́xのルートであり、lsc2,lsc4,lsc6,lsc8およびlsc10はQ ́xのルートである。当業者は、量子化に対するLSI係数の感度を計算するための何等かの方法を使用することが好ましいことを認識するであろう。各LSI中の量子化エラーを適切に加重するために量子化プロセスにおいて感度加重が使用可能である。LSI係数はマルチステージベクトル量子化器VQを使用して量子化される。ステージの数は、使用される特定のビットレートおよびコードブックに依存していることが好ましい。コードブックは、現在のフレームが有声音のものであるか否かに基づいて選択される。ベクトル量子化は、次式のように定義される加重平均自乗エラーWMSEを最小化する:↑wはそれに関連した加重であり、↑yはコードベクトルである。好ましい実施形態において、↑wは感度加重であり、P=10である。LSIベクトルは、のような量子化として得られたLSIコードから再構成され、ここでCBiは有声音フレームまたは無声音フレームのいずれかこれは、コードブックの選択を示すコードに基づくに関するi番目のステージのVQコードブックであり、codeiはi番目のステージに関するLSIコードである。LSI係数がLPC係数に変換される前に、結果的に得られるLPCフィルタが、そのLSI係数中へのチャンネルエラー注入雑音または量子化雑音のせいで不安定なものになっていないことを確実にするために安定性チェックが行われる。LSI係数が順序付けられた状態のままである場合、安定性は保証される。元のLPC係数を計算するときに、フレームの119番目のサンプルと120番目のサンプルの間を中心とするスピーチウインドウが使用された。フレーム中のその他のポイントに対するLPC係数は、前のフレームのLSCと現在のフレームのLSCとの間で補間をすることにより近似される。その後、結果的に得られた補間されたLSCはLPC係数に変換されて戻される。各サブフレームに対して使用される正確な補間は、ilscj=1-αilscprevjαilsccurrj,1≦j≦10によって与えられる。ここで、αiは40個の各サンプルの4つのサブフレームに対する補間係数0.375,0.625,0.875,1.000であり、ilscは補間されたLSCである。^PAzおよび^QAzは補間されたISCにより次式にしたがって計算される:4つのサブフレーム全てに対する補間されたLPC係数は、[C.NACF計算]ステップ506において、正規化された自己相関関数NACFsが本発明にしたがって計算される。次のフレームに対するホルマント残留は4つの40サンプルサブフレームに対して以下のように計算される:ここで、補間は現在のフレームの量子化されていないLSCと次のフレームのLSCとの間において行われる。次のフレームのエネルギはまた以下のように計算される:上記で計算された残留は好ましくは長さ15のゼロ位相FIRフィルタを使用してローパスフィルタ処理され、デシメートdecimateされ、ゼロ位相FIRフィルタの係数dfi-7≦i≦7は{0.0800,0.1256,0.2532,0.4376,0.6424,0.8268,0.9544,1.000,0.9544,0.8268,0.6424,0.4376,0.2532,0.1256,0.0800}である。ローパスフィルタ処理され、デシメートされた残留は次のように計算される:ここでF=2はデシメーション係数であり、-7≦Fni≦6であるrFniは、量子化されていないLPC係数に基づく現在のフレームの残留の最後の14個の値から得られる。上述したように、これらのLPC係数は、前のフレーム中に計算され記憶される。次のフレームの2つのサブフレームデシメートされた40個のサンプルに対するNACFsは、以下のように計算される:負のnを有するrdnに対して、現在のフレームのローパスフィルタ処理されてデシメートされた残留前のフレーム期間中に記憶されたが使用される。現在のサブフレームccorrに対するNACFsもまた前のフレーム期間中に計算されて記憶される。[D.ピッチトラックおよび遅延の計算]ステップ508において、ピッチトラックおよびピッチ遅延が本発明にしたがって計算される。ピッチ遅延は、以下のようにバックワードトラックと共にビタビ状サーチを使用して計算されることが好ましい。R2i1に対する値を得るためにベクトルRM2iが次のように補間される:ここでcfjは補間フィルタであり、その係数は{-0.0625,0.5625,0.5625,-0.0625}である。その後、であるような遅延LCが選択され、現在のフレームのNACFは、に等しく設定される。その後、より大きい最大相関に対応した遅延をサーチすることにより遅延倍数が除去される。[E.帯域エネルギおよびゼロ交差レートの計算]ステップ510において、0-2kHz帯域および2kHz-4kHz帯域中のエネルギが本発明にしたがって以下のように計算される:Sz,SLzおよびSHzはそれぞれ入力スピーチ信号sn、ローパス信号sLnおよびハイパス信号sHnのz変換されたものであり、スピーチ信号エネルギ自身は、である。ゼロ交差レートZCRは、snsn1<0ならば、ZCR=ZCR1、0≦n≦159のように計算される。[F.ホルマント残留の計算]ステップ512において、現在のフレームに対するホルマント残留が4つのサブフレームに対して以下のように計算される:ここで、^aiは対応したサブフレームのi番目のLPC係数である。[IV.アクティブ/非アクティブスピーチ分類]図3を参照すると、ステップ304において現在のフレームはアクティブスピーチたとえば、話されたワードまたは非アクティブスピーチたとえば、背景雑音、沈黙のいずれかとして分類される。図6は、ステップ304をさらに詳細に示すフローチャート600である。好ましい実施形態において、2つのエネルギ帯域ベースの閾値化方式は、アクティブスピーチが存在するか否かを決定するために使用される。低い帯域帯域0の周波数範囲は0.1-2.0kHzであり、高い帯域帯域1の周波数範囲は2.0-4.0kHzである。音声アクティビティ検出は、以下に示す方法で現在のフレームに対する符号化手順中に次のフレームに対して決定されることが好ましい。ステップ602において、帯域i=0,1に対する帯域エネルギEb[i]が計算される。上記のセクションIII.Aに示されている自己相関シーケンスは帰納的な式:を使用して19に拡張される。この式を使用することにより、R11はR1乃至R10から計算され、R12はR2乃至R11から計算され、以下同様に行われる。その後、以下の式を使用して拡張された自己相関シーケンスから帯域エネルギが計算される:ここで、Rkは現在のフレームに対する拡張された自己相関シーケンスであり、Rhは、表1に与えられている帯域iに対する帯域フィルタ自己相関シーケンスである。表1:帯域エネルギ計算用のフィルタ自己相関シーケンスステップ604において、帯域エネルギ推定が平滑化される。平滑化された帯域エネルギ推定Esmは、以下の式を使用して各フレームに対して更新される:Esmi=0.6Esmi0.4Ebi,i=0,1ステップ606において、信号エネルギおよび雑音エネルギ推定が更新される。信号エネルギ推定Esiは、以下の式を使用して更新されることが好ましい:Esi=maxEsmi,Esi,i=0,1雑音エネルギ推定Eniは以下の式を使用して更新されることが好ましい:Eni=minEsmi,Eni,i=0,1ステップ608において、2つの帯域に対する長期間の信号対雑音比SNRiが計算される:SNRi=Esi-Eni,i=0,1ステップ610において、これらのSNR値は以下のように規定される8つの領域RegSNRiに分割されることが好ましい:ステップ612において、音声アクティビティ決定が本発明にしたがって以下の方法で行われる。Eb0-En0>THRESHRegSNR0またはEb1-En1>THRESHRegSNR1のいずれかである場合、スピーチのそのフレームはアクティブであると宣言される。その他の場合は、スピーチのフレームは非アクティブであると宣言される。THRESHの値は表2に規定されている。表2:SNR領域の関数としてのしきい値係数信号エネルギ推定Esiは、以下の式を使用して更新されることが好ましい:Esi=Esi-0.014499,i=0,1雑音エネルギ推定Eniは、以下の式を使用して更新されることが好ましい:[A.ハングオーバーフレーム]信号対雑音比が低いとき、再構成されるスピーチの品質を改良するためにハングオーバフレームが付加されることが好ましい。前の3つのフレームがアクティブとして分類され、現在のフレームは非アクティブと分類される場合、現在のフレームを含む次のMフレームはアクティブスピーチとして分類される。ハングオーバフレームの数Mは、表3に規定されているようにSNR0の関数として定められることが好ましい。表3:SNR0の関数としてのハングオーバフレーム[V.アクティブスピーチフレームの分類]再び図3を参照すると、ステップ308において、ステップ304でアクティブであると分類された現在のフレームがスピーチ信号snにより示された特性にしたがってさらに分類される。好ましい実施形態では、アクティブスピーチは有声音スピーチ、無声音スピーチ、あるいは過渡スピーチのいずれかとして分類される。アクティブスピーチ信号によって示される周期性の程度は、それがどのように分類されるかを決定する。有声音スピーチは最高度の周期性を示す本質的に擬似周期的。無声音スピーチは周期性をほとんど、あるいは全く示さない。過渡スピーチは有声音スピーチと無声音スピーチの間の周期性の程度を示す。しかしながら、ここに記載されている一般的なフレームワークは、以下に説明されている好ましい分類方式および特定の符号器/復号器モードに限定されない。アクティブスピーチは別の方法で分類されることが可能であり、また別の符号器/復号器モードが符号化に対して利用可能である。当業者は、分類と符号器/復号器モードとの多数の組合せが可能なことを認識するであろう。多くのこのような組合せの結果、ここに記載されている一般的なフレームワークにしたがって、すなわち、スピーチを非アクティブまたはアクティブと分類し、アクティブスピーチをさらに分類して、各分類の範囲内のスピーチにとくに適合させられた符号器/復号器モードを使用してスピーチ信号を符号化することにより、減少された平均ビットレートを達成することができる。アクティブスピーチ分類は周期性の程度に基づいているが、分類決定は周期性の何等かの直接的な測定に基づいて行われないほうが好ましい。むしろ、分類決定は、たとえば、高いおよび低い帯域中の信号対雑音比およびNACF等のステップ302において計算された種々のパラメータに基づいて行われる。好ましい分類は以下の擬似コードによって記述されてもよい:Nnoiseは背景雑音の推定であり、Eprevは前のフレームの入力エネルギである。この擬似コードによって記述された方法は、それが実施される特定の環境にしたがって改良されることができる。当業者は、上記に与えられた種々のしきい値が単なる例示に過ぎず、実際にはその実施形態に応じて調整を要する可能性が高いことを認識するであろう。この方法はまた、TRANSIENTを2つのカテゴリー:高エネルギから低エネルギに移行する信号に対するカテゴリーと低エネルギから高エネルギに移行する信号に対するカテゴリーとに分割する等によって付加的な分類カテゴリーを追加することによってさらに精巧にされることができる。当業者は、別の方法が有声音アクティブスピーチと、無声音アクティブスピーチと、および過渡アクティブスピーチとを識別するために利用できることを認識するであろう。同様に、当業者はアクティブスピーチに対する他の分類方式もまた可能であることを認識するであろう。[VI.符号器/復号器モード選択]ステップ310において、符号器/復号器モードがステップ304および308の現在のフレームの分類に基づいて選択される。好ましい実施形態によると、モードは次のように選択される:非アクティブフレームおよびアクティブな無声音フレームはNELPモードを使用して符号化され、アクティブな有声音フレームはPPPモードを使用して符号化され、アクティブな過渡フレームはCELPモードを使用して符号化される。以下のセクションでこれらの各符号器/復号器モードをさらに詳細に説明する。別の実施形態において、非アクティブフレームは、ゼロレートモードを使用して符号化される。当業者は、非常に低いビットレートを要求する多くの別のゼロレートモードが利用できることを認識するであろう。ゼロレートモードの選択は、過去のモード選択を考慮することによりさらに改良されることができる。たとえば、前のフレームがアクティブと分類された場合、これは現在のフレームに対するゼロレートモードの選択を阻害する可能性がある。同様に、次のフレームがアクティブならば、現在のフレームに対してゼロレートモードが阻止される。さらに別の実施形態は、非常に多く連続するフレームたとえば、9個の連続しているフレームに対するゼロレートモードの選択を阻止するものである。当業者は、ある環境におけるその動作を改良するために基本モードの選択決定に対するその他多くの修正がなされてもよいことを認識するであろう。上述のように、分類と符号器/復号器モードのその他多数の組合せがこの同じフレームワーク内において代りに使用されてもよい。以下のセクションにおいて、本発明によるいくつかの符号器/復号器モードを詳細に説明する。最初にCELPモードを説明し、続いてPPPモードとNELPモードを説明する。[VII.コード励起線形予測CELP符号化モード]上述のように、現在のフレームがアクティブ過渡スピーチとして分類された場合、CELP符号器/復号器モードが使用される。CELPモードは最も正確な信号再生ここに示されている別のモードと比較してを最高のビットレートで提供する。図7は、CELP符号器モード204およびCELP復号器モード206をさらに詳細に示している。図7Aに示されているように、CELP符号器モード204はピッチ符号化モジュール702、符号化コードブック704およびフィルタ更新モジュール706を含んでいる。CELP符号器モード204は符号化されたスピーチ信号sencnを出力し、これはCELP復号器モード206に伝送するためのコードブックパラメータおよびピットフィルタパラメータを含んでいることが好ましい。図7Bに示されているように、CELP復号器モード206は復号コードブックモジュール708、ピッチフィルタ710およびLPC合成フィルタ712を含んでいる。CELP復号器モード206は符号化されたスピーチ信号を受取り、合成されたスピーチ信号^snを出力する。[A.ピッチ符号化モジュール]ピッチ符号化モジュール702は、スピーチ信号snおよび前のフレームからの量子化された残留pcn以下説明するを受取る。この入力に基づいて、ピッチ符号化モジュール702はターゲット信号xnと1組のピッチフィルタパラメータを生成する。好ましい実施形態において、これらのピッチフィルタパラメータは最適ピッチ遅延Lと最適ピッチ利得bを含んでいる。これらのパラメータは、符号化プロセスがこれらのパラメータを使用して、入力されたスピーチと合成されたスピーチとの間の加重されたエラーを最小にするピッチフィルタパラメータを選択する合成による解析方法にしたがって選択される。図8は、ピッチ符号化モジュール702をさらに詳細に示している。ピッチ符号化モジュール702は、知覚的加重フィルタ802と、加算器804および816と、加重されたLPC合成フィルタ806および808と、遅延および利得810と、ならびに最小平方和812とを含んでいる。知覚加重フィルタ802は元のスピーチと合成されたスピーチとの間のエラーを知覚的に意味のある方法で加重するために使用される。知覚的加重フィルタは、Wz=Az/Az/γという形態のものである。ここでAzはLPC予測エラーフィルタであり、γは0.8に等しいことが好ましい。加重されたLPC解析フィルタ806は、初期パラメータ計算モジュール202により計算されたLPC係数を受取る。フィルタ806はazirnを出力し、これはLPC係数を与えられたゼロ入力応答である。加算器804は負の入力と濾波された入力信号を合計してターゲット信号xnを形成する。遅延および利得810は、与えられたピッチ遅延Lおよびピッチ利得bに関して推定されたピッチフィルタ出力bpLnを出力する。遅延および利得810は、前のフレームからの量子化された残留サンプルpcnと、ponで与えられるピッチフィルタの将来の出力の推定とを受取り、にしたがってpnを形成し、これはその後L個のサンプルだけ遅延され、bによりスケールされてbpLnを形成する。Lpはサブフレーム長好ましくは40個のサンプルである。好ましい実施形態において、ピッチ遅延Lは8ビットで表され、値20.0,20.5,21.0,21.5,...126.0,126.5,127.0,127.5をとることができる。加重されたLPC解析フィルタ808は、現在のLPC係数を使用してbpLnを濾波し、その結果byLnが得られる。加算器816は負の入力byLnをxnと合計し、その出力は最小平方和812によって受取られる。この最小平方和812は、にしたがってEpitchLを最小にするLおよびbの値としてLで示されている最適なLと、bで示されている最適なbとを選択する。Lの与えられた値に対してEpitchLを最小にするbの値は、ここでKは無視されることのできる定数である。Lおよびbの最適値Lおよびbは、最初にEpitchLを最小にするLの値を決定し、次にbを計算することにより見出されることができる。これらのピッチフィルタパラメータは、各サブフレームに対して計算され、その後効率的な伝送のために量子化されることが好ましい。好ましい実施形態ではj番目のサブフレームに対する伝送コードPLAGjおよびPGAINjは以下のように計算される:その後PGAINjは、PLAGjが0に設定された場合には-1になるように調節される。これらの伝送コードは、符号化されたスピーチ信号sencnの一部分であるピッチフィルタパラメータとしてCELP復号器モード206に伝送される。[B.符号化コードブック]符号化コードブック704はターゲット信号xnを受取り、量子化された残留信号を再構成するために、ピッチフィルタパラメータと共に、CELP復号器モード206により使用される1組のコードブック励起パラメータを決定する。符号化コードブック704は最初にxnを次のように更新する:xn=xn-ypzirn,0≦n≦40ここでypzirnは、パラメータ^Lおよび^bならびに前のサブフレームの処理の結果得られたメモリを有するピッチフィルタのゼロ入力応答である入力への、加重されたLPC合成フィルタ前のサブフレームの終わりから保存されたメモリを有するの出力である。バックフィルタ処理されたターゲット↑d={dn},0≦n<40は、↑d=HT↑xとして生成され、ここでは、インパルス応答{hn}および↑x={xn},0≦n<40から形成されたインパルス応答マトリクスである。その上、さらに2つのベクトル^φ={φn}および↑sが生成される。符号化コードブック704は、以下のように値ExyおよびEyyをゼロに初期化して好ましくはN0,1,2,3の4つの値に関して最適励起パラメータをサーチする。符号化コードブック704は、コードブック利得GをExy/Eyyとして計算し、その後その励起パラメータセットをj番目のサブフレームに対して以下の伝送コードにしたがって量子化する:および量子化された利得^Gは、ピッチ符号化モジュール702を除去し、コードブックサーチだけを行って4つの各サブフレームに対するインデックスIおよび利得Gを決定することにより、CELP符号器/復号器モードの低ビットレート形態が実現されることができる。当業者は、上述した考えがこの低ビットレート形態を達成するためにどのように拡張されるかを認識するであろう。[C.CELP復号器]CELP復号器モード206は、コードブック励起パラメータおよびピッチフィルタパラメータを含んでいることが好ましい符号化されたスピーチ信号をCELP符号器モード204から受取り、このデータに基づいて合成されたスピーチ^snを出力する。復号コードブックモジュール708はコードブック励起パラメータを受取り、Gの利得を有する励起信号cbnを発生する。j番目のサブフレームに対する励起信号cbnは一般に、全ての値がとなるように計算された利得Gによりスケールされ、Gcbnを供給する値:Sk=1-2SIGNjk,0≦k<5のインパルスを対応的に有する5つの位置:Ik=5CBIjkk,0≦k<5を除いてゼロを含んでいる。ピッチフィルタ710は、受取られた伝送コードからピッチフィルタパラメータを以下の式にしたがって復号する:その後ピッチフィルタ710はGcbnを濾波し、ここにおいてそのフィルタは以下の式によって与えられる伝達関数を有する:好ましい実施形態において、CELP復号器モード206はまた余分のピッチ濾波動作であるピッチプレフィルタ示されていないをピッチフィルタ710の後に追加する。ピッチプレフィルタに対する遅延は、ピッチフィルタ710の遅延と同じであり、一方その利得は0.5の最大値までピッチ利得の半分であることが好ましい。LPC合成フィルタ712は再構成された量子化された残留信号^rnを受取り、合成されたスピーチ信号^snを出力する。[D.フィルタ更新モジュール]フィルタ更新モジュール706は、前のセクションにおいて説明したようにフィルタメモリを更新するためにスピーチを合成する。フィルタ更新モジュール706はコードブック励起パラメータおよびピッチフィルタパラメータを受取り、励起信号cbnおよびピッチフィルタGcbnを生成し、その後^snを合成する。この合成を符号器において行うことにより、ピッチフィルタおよびLPC合成フィルタ中のメモリは、後続するサブフレームの処理時に使用されるように更新される。[VIII.原型ピッチ周期PPP符号化モード]原型ピッチ周期PPP符号化は、CELP符号化を使用して得られることのできるものより低いビットレートを達成するためにスピーチ信号の周期性を使用する。一般に、PPP符号化は、ここでは原型残留と呼ばれる残留信号の代表的な周期を抽出し、その後その原型を使用して、現在のフレームの原型残留と前のフレームからの類似のピッチ周期すなわち、最後のフレームがPPPであった場合は原型残留との間で補間を行うことにより初期のピッチ周期をフレーム中に構成することを含んでいる。PPP符号化の効果低くされたビットレートに関するは部分的に、現在および前の原型残留がどの程度その介在ピッチ周期に似ているかに依存する。この理由のために、PPP符号化は、ここでは擬似周期スピーチ信号と呼ばれる比較的高度の周期性を示すスピーチ信号たとえば、有声音スピーチに適用されることが好ましい。図9には、PPP符号器モード204およびPPP復号器モード206がさらに詳細に示されている。PPP符号器モード204は抽出モジュール904と、回転コリレータ906と、符号化コードブック908と、およびフィルタ更新モジュール910とを含んでいる。PPP符号器モード204は残留信号rnを受取り、符号化されたスピーチ信号sencnを出力し、これはコードブックパラメータおよび回転パラメータを含んでいることが好ましい。PPP復号器モード206はコードブック復号器912と、回転子914と、加算器916と、周期インターポレータ920と、およびワープフィルタ918とを含んでいる。図10は、符号化および復号を含むPPP符号化のステップを示すフローチャート1000である。これらのステップをPPP符号器モード204およびPPP復号器モード206の種々のコンポーネントと共に説明する。[A.抽出モジュール]ステップ1002において、抽出モジュール904は残留信号rnから原型残留rpnを抽出する。上記のセクションIII.Fで述べたように、初期パラメータ計算モジュール202は、各フレームに対するrnを計算するためにLPC解析フィルタを使用する。好ましい実施形態においては、このフィルタ中のLPC係数はセクションVII.Aにおいて説明されているように知覚的に加重される。rpnの長さは、現在のフレームの中の最後のサブフレーム中に初期パラメータ計算モジュール202によって計算されたピッチ遅延Lに等しい。図11は、ステップ1002をさらに詳細に示すフローチャートである。PPP抽出モジュール904は、以下に説明する制限の下でフレームの終わりに可能な限り近接したピッチ周期を選択することが好ましい。図12は、擬似周期スピーチに基づいて計算された、現在のフレームと前のフレームからの最後のサブフレームとを含む残留信号の一例を示している。ステップ1102において、カットフリー領域が決定される。カットフリー領域は、原型残留の終点になることのできない残留の中の1組のサンプルを規定する。このカットフリー領域は、残留の高エネルギ領域が原型の始めまたは終わりに生じないことを確実にするこの生成が許されたならば、出力において不連続性が生じる可能性が高い。rnの最後のL個のサンプルのそれぞれの絶対値が計算される。変数PSは、ここではピッチスパイクと呼ばれる最も大きい絶対値を有するサンプルの時間インデックスに等しく設定される。たとえば、ピッチスパイクが最後のL個のサンプルの最後のサンプルで発生したならば、PS=L-1である。好ましい実施形態において、カットフリー領域の最小サンプルGFminは、PS-6またはPS-0.25Lの小さいほうであるように設定される。カットフリー領域の最大のものCFmaxは、PS6またはPS0.25Lの大きいほうであるように設定される。ステップ1104において、原型残留はL個のサンプルを残留から切断することにより選択される。選択された領域は、その領域の終点がカットフリー領域内にあってはならないという制限の下でフレームの終わりに可能な限り近接している。原型残留のL個のサンプルは、以下の擬似コードで記述されたアルゴリズムを使用して決定される:[B.回転コリレータ]再び図10を参照すると、ステップ1004において回転コリレータ906は、現在の原型残留rpnと、前のフレームからの原型残留rprevnとに基づいて1組の回転パラメータを計算する。これらのパラメータは、rprevnがrpnの予測子として使用されるためにどのように回転され、スケールされるのが一番よいかを記述している。好ましい実施形態において、回転パラメータのセットは、最適回転Rと最適利得bとを含んでいる。図13は、ステップ1004をさらに詳細に示すフローチャートである。ステップ1302において、知覚的に加重されたターゲット信号xnは原型ピッチ残留周期rpnを循環的に濾波することにより計算される。これは次のように行われる。一時的信号tmp1nは、のようにrpnから生成され、これはゼロメモリを有する加重されたLPC合成フィルタによって濾波され、出力tmp2nを供給する。好ましい実施形態では、使用されるLPC係数は、現在のフレームの中の最後のサブフレームに対応した知覚的に加重された係数である。したがってターゲット信号xnは、xn=tmp2ntmp2nL,0≦n<Lによって与えられる。ステップ1304において、前のフレームからの原型残留rprevnは、前のフレームの量子化されたホルマント残留これもまたピッチフィルタのメモリ内に存在するから抽出される。前の原型残留は前のフレームのホルマント残留の最後のLp値として規定されることが好ましく、ここでLpは、前のフレームがPPPフレームでなかった場合はLに等しく、その他の場合には前のピッチ遅延に設定される。ステップ1306において、相関が正しく計算できるように、rprevnの長さがxnと同じ長さのものとなるように変更される。サンプリングされた信号の長さを変更するこの技術をここではワープと呼んでいる。ワープされたピッチ励起信号rwprevnは、rwprevn=rprevnTWF,0≦n<Lとして表されることができ、ここでTWFは時間ワープ係数Lp/Lである。非整数点におけるサンプル値nTWFは、1組のsinc関数テーブルを使用して計算されることが好ましい。選択されたsincシーケンスは、sinc-3-F:4-Fであり、ここでFは1/8の最も近い倍数に丸められたnTWFの端数部分である。このシーケンスの始めは、rprevN-3Lpと整列され、ここでNは最も近い1/8に丸められた後のnTWFの整数部分である。ステップ1308において、ワープされたピッチ励起信号rwprevnは循環的に濾波され、その結果ynが生成される。この動作はステップ1302に関して上述したものと同じであるが、rwprevnに適用される。ステップ1310において、ピッチ回転サーチ範囲は最初に期待される回転Erotを計算することにより計算される:ここで、fracxはxの端数部分を示す。L<80ならば、ピッチ回転サーチ範囲は{Erot-8,Erot-7.5,...Erot7.5}であるように規定され、またL≧80ならば{Erot-16,Erot-15,...Erot15}であるように規定される。ステップ1312において、回転パラメータ、最適回転Rおよび最適利得bが計算される。ピッチ回転は結果的にxnとynとの間における最良の予測を生むものであるが、このピッチ回転は対応した利得bと共に選択される。これらのパラメータは、エラー信号en=xn-ynを最小にするように選択されることが好ましい。最適回転Rおよび最適利得bは、結果的にExy2R/Eyyの最大値を生じさせる回転Rおよび利得bの値であり、ここで、これらに対して最適利得bは回転Rにおいてである。回転の端数値に対して、ExyRの値は、回転の整数値で計算されたExyR値を補間することによって近似される。簡単な4タップ補間フィルタが使用される。たとえば、ここでRは非整数回転0.5の精度によるであり、好ましい実施形態において、回転パラメータは効率的な伝送のために量子化される。最適利得bは、のように0.0625と4.0との間で均一に量子化されることが好ましく、PGAINは伝送コードであり、量子化された利得^bはによって与えられる。最適回転Rは、L<80の場合は2R-Erot8に設定され、L≧80の場合にはR-Erot16に設定される伝送コードPROTとして量子化される。[C.符号化コードブック]再び図10を参照すると、ステップ1006において、符号化コードブック908は受取られたターゲット信号xnに基づいて1組のコードブックパラメータを発生する。符号化コードブック908は、スケールされて加算され濾波されたときに合計するとxnに近似した信号となる1以上のコードベクトルを見出そうとする。好ましい実施形態では、符号化コードブック908は、各ステージがスケールされたコードベクトルを生成する好ましくは3つのステージの、マルチステージコードブックとして構成される。したがって、コードブックパラメータのセットは、3つのコードベクトルに対応したインデックスおよび利得を含んでいる。図14はステップ1006をさらに詳細に示すフローチャートである。ステップ1402において、コードブックサーチが行われる前に、ターゲット信号xnは、xn=xn-byn-RL,0≦n<Lのように更新される。上記の減算において回転Rが非整数であるすなわち、0.5の端数を有する場合、ステップ1404において、コードブック値はマルチプル領域に区分される。好ましい実施形態によると、コードブックはのように決定される。ここで、CBPは確率または訓練されたコードブックの値である。当業者は、これらのコードブック値がどのように生成されるかを認識するであろう。コードブックは長さLをそれぞれ有するマルチプル領域に分割される。第1の領域は単一パルスであり、残りの領域は確率または訓練されたコードブックからの値から形成されている。領域の数Nは、となる。ステップ1406において、コードブックのマルチプル領域はそれぞれ循環的に濾波され、濾波されたコードブックyregnを生成し、その連結が信号ynである。各領域に対して、循環的濾波が上述したようにステップ1302に関して行われる。ステップ1408において、濾波されたコードブックエネルギEyyregは各領域に対して計算され、記憶される:ステップ1410において、マルチステージコードブックの各ステージに対するコードブックパラメータすなわち、コードベクトルインデックスおよび利得が計算される。好ましい実施形態によると、RegionI=regをサンプルIが存在する領域と定義し、すなわち、また、ExyIをと定義する。j番目のコードブックステージに対するコードブックパラメータIとGは以下の擬似コードを使用して計算される:好ましい実施形態によると、コードブックパラメータは効率的な伝送のために量子化される。伝送コードCBIjj=ステージ番号-0,1または2はIに設定されることが好ましく、伝送コードCBGjおよびSIGNjは利得Gを量子化することより設定される。また、量子化された利得^Gは、その後、ターゲット信号xnは現在のステージのコードブックベクトルの影響を減算することにより更新される。第2および第3のステージに対して、I,Gおよび対応した伝送コードを計算するために擬似コードから始まる上記の手順が繰り返される。[D.フィルタ更新モジュール]再び図10を参照すると、ステップ1008において、フィルタ更新モジュール910はPPP符号器モード204により使用されたフィルタを更新する。図15Aおよび16Aに示されているように、フィルタ更新モジュール910として2つの別の実施形態が与えられている。図15Aの第1の別の実施形態で示されているように、フィルタ更新モジュール910は復号コードブック1502と、回転子1504と、ワープフィルタ1506と、加算器1510と、整列および補間モジュール1508と、更新ピッチフィルタモジュール1512と、およびLPC合成フィルタ1514とを含んでいる。図16Aに示されている第2の実施形態は、復号コードブック1602と、回転子1604と、ワープフィルタ1606と、加算器1608と、更新ピッチフィルタモジュール1610と、循環LPC合成フィルタ1612と、および更新LPCフィルタモジュール1614とを含んでいる。図17および18は、この2つの実施形態によるステップ1008をさらに詳細に示すフローチャートである。ステップ1702および1802:両実施形態の第1のステップにおいて、その長さがL個のサンプルである現在の再構成された原型残留rcurrnが、コードブックパラメータと回転パラメータとから再構成される。好ましい実施形態において、回転子1504および1604は、rcurrnRL=brwprevn,0≦n<Lにしたがって前の原型残留のワープされた形態を回転させる。ここでrcurrは生成されるべき現在の原型であり、rwprevはピッチフィルタメモリの最も新しいL個のサンプルから得られた前の周期のワープされた上記のセクションVIII.Aで述べたように、TWF=Lp/Lにより形態であり、bおよびRはそれぞれパケット伝送コード:から得られたピッチ利得および回転である。ここで、Erotは上記のセクションVIII.Bで述べたように計算された期待された回転である。復号コードブック1502および1602は以下のように3つの各コードブックステージに対する影響をrcurrnに加算する:ここでI=CBIjであり、Gは前のセクションで説明したようにCBGjおよびSIGNjから得られ、jはステージ番号である。この点で、フィルタ更新モジュール910に対する2つの別の実施形態は異なっている。最初に図15Aの実施形態を参照すると、ステップ1704において整列および補間モジュール1508が現在のフレームの始めから現在の原型残留の始め図12に示されているまでの残留サンプルの残りのものを充填する。ここで、残留信号に関して整列および補間が行われる。しかしながら、以下説明するように、これら同じ動作はスピーチ信号に関して行われることもできる。図19はステップ1704をさらに詳細に示すフローチャートである。ステップ1902において、前の遅延Lpが現在の遅延Lの2倍であるか、あるいは1/2であるかが決定される。好ましい実施形態では、その他の倍数はあまりありそうもないと考えられ、したがって考慮されない。Lp>1.85Lならば、Lpは半分にされ、前の周期rprevnの第1の半分だけが使用される。Lp<0.54Lならば、現在の遅延Lはおそらく2倍であり、結果的にLpもまた2倍にされ、前の周期rprevnは繰返しにより拡張される。ステップ1904において、両原型残留の長さが同じになるようにrprevnがワープされて、ステップ1306に関して上述したようにTWF=Lp/Lによりrwprevnを形成する。この動作は、フィルタ1506をワープすることによって、上述したようにステップ1702において行われたことに注意しなければならない。当業者は、ワープフィルタ1506の出力が整列および補間モジュール1508に利用できる場合には、ステップ1904が不要になることを認識するであろう。ステップ1906において、整列回転の許容可能な範囲が計算される。期待される整列回転EAは、それが上記のセクションVIII.Bで述べたErotと同じになるように計算される。整列回転サーチ範囲は{EA-δA,EA-δA0.5,EA-δA1,...,EAδA-1.5,EAδA-1}であるように規定され、ここでδA=max{6,0.15L}である。ステップ1908において、整数整列回転Rに対する前の原型周期と現在の原型周期との間の相互相関は、として計算され、非整数回転Aに対する相互相関は、整数回転での相互相関の値を補間することによって近似される:ここでA ́=A-0.5である。ステップ1910において、結果的にCAの最大値になるAの値許容可能な回転の範囲に対するは最適整列Aとして選択される。ステップ1912において、中間のサンプルLavに対する平均遅延またはピッチ周期が以下のようにして計算される。周期数推定Nperは、により与えられる中間サンプルに対する平均遅延により、として計算される。ステップ1914において、前の原型残留と現在の原型残留との間における以下の補間にしたがって現在のフレーム中の残りの残留サンプルが計算される:ここでα=L/Lavである。非整数点:におけるサンプル値nαまたはnαAのいずれかに等しいは1組のsinc関数テーブルを使用して計算される。選択されたsincシーケンスはsinc-3-F:4-Fであり、ここでFは、1/8の最も近い倍数に丸められたの端数部分である。このシーケンスの始めはrprevN-3Lpと整列され、ここでNは、最も近い1/8に丸められた後のの整数部分である。この動作は本質的にステップ1306に関して上述したワープと同じであることを認識すべきである。したがって、別の実施形態では、ステップ1914の補間はワープフィルタを使用して計算される。当業者は、ここに示されている種々の目的に対して単一のワープフィルタを再使用することにより節約が実現できることを認識するであろう。図17を参照すると、ステップ1706において、更新ピッチフィルタモジュール1512が再構成された残留^rnからの値をピッチフィルタメモリにコピーする。同様に、ピッチプレフィルタのメモリもまた更新される。ステップ1708において、LPC合成フィルタ1514は再構成された残留^rnを濾波し、この再構成された残留^rnはLPC合成フィルタのメモリの更新に影響を与える。以下、図16Aに示されているフィルタ更新モジュール910の第2の実施形態について説明する。ステップ1702に関して上述したように、ステップ1802において原型残留がコードブックおよび回転パラメータから再構成され、その結果rcurrnが得られる。ステップ1804において、更新ピッチフィルタモジュール1610は、にしたがってrcurrnからL個のサンプルの複製をコピーすることによってピッチフィルタメモリを更新する。ここで、131は127.5の最大遅延に対するピッチフィルタの次数であることが好ましい。好ましい実施形態において、ピッチフィルタのメモリは現在の周期rcurrnの複製によって等しく置換される:ステップ1806において、rcurrnは、好ましくは知覚的に加重されたLPC係数を使用してセクションVIII.Bで述べたように循環的に濾波され、結果的にscnを生成する。ステップ1808において、scnからの値は最後の10個の値10次のLPCフィルタに対してであることが好ましく、LPC合成フィルタのメモリを更新するために使用される。[E.PPP復号器]図9および10を参照すると、ステップ1010においてPPP復号器モード206は、受取られたコードブックおよび回転パラメータに基づいて原型残留rcurrnを再構成する。復号コードブック912、回転子914およびワープフィルタ918は、前のセクションで述べたように動作する。周期インターポレータ920は再構成された原型残留rcurrnと、前の再構成された原型残留rprevnを受取り、2つの原型の間のサンプルを補間し、合成されたスピーチ信号^snを出力する。次のセクションにおいて周期インターポレータ920を説明する。[F.周期インターポレータ]ステップ1012において周期インターポレータ920はrcurrnを受取り、合成されたスピーチ信号^snを出力する。周期インターポレータ920に対する2つの別の実施形態は、ここでは図15Bおよび16Bに示されている。図15Bの第1の別の実施形態において、周期インターポレータ920は、整列および補間モジュール1516と、LPC合成フィルタ1518と、および更新ピッチフィルタモジュール1520とを含んでいる。図16Bに示されている第2の別の実施形態のものは、循環LPC合成フィルタ1616と、整列および補間モジュール1618と、更新ピッチフィルタモジュール1622と、および更新LPCフィルタモジュール1620とを含んでいる。図20および21はこれら2つの実施形態によるステップ1012をさらに詳細に示すフローチャートである。図15Bを参照すると、ステップ2002において整列および補間モジュール1516は現在の残留原型rcurrnと前の残留原型rprevnとの間のサンプルに対して残留信号を再構成して^rnを形成する。整列および補間モジュール1516は、ステップ1704に関して上述したように図19に示されているように動作する。ステップ2004において、更新ピッチフィルタモジュール1520は、ステップ1706に関して上述したように、再構成された残留信号^rnに基づいてピッチフィルタメモリを更新する。ステップ2006において、LPC合成フィルタ1518は、再構成された残留信号^rnに基づいて出力スピーチ信号^snを合成する。LPCフィルタメモリは、この動作が行われたときに自動的に更新される。図16Bおよび21を参照すると、ステップ2102において更新ピッチフィルタモジュール1622は、ステップ1804に関して上述したように、再構成された現在の残留原型rcurrnに基づいてピッチフィルタメモリを更新する。ステップ2104において、循環LPC合成フィルタ1616は、上記のセクションVIII.Bで述べたように、rcurrnを受取って現在のスピーチ原型scnその長さがL個のサンプルであるを合成する。ステップ2106において、更新LPCフィルタモジュール1620は、ステップ1808に関して上述したようにLPCフィルタメモリを更新する。ステップ2108において、整列および補間モジュール1618は、前の原型周期と現在の原型周期との間のスピーチサンプルを再構成する。前の原型残留rprevnは、補間がスピーチドメインにおいて進行するように循環的に濾波されるLPC合成装置において。整列および補間モジュール1618は、その動作が残留原型ではなくスピーチ原型に関して行われることを除いて、ステップ1704に関して上述したように動作する図19参照。整列および補間の結果、合成されたスピーチ信号^snが得られる。[IX.雑音励起線形予測NELP符号化モード]雑音励起線形予測NELP符号化はスピーチ信号を擬似ランダム雑音シーケンスとしてモデル化し、それによってCELPまたはPPP符号化のいずれを使用して得られるより低いビットレートを達成する。NELP符号化は、スピーチ信号が無声音スピーチまたは背景雑音のようなピッチ構造をほとんど、あるいは全く有しない場合、信号再生に関して最も効率的に動作する。図22は、NELP符号器モード204およびNELP復号器モード206をさらに詳細に示している。NELP符号器モード204は、エネルギ推定装置2202および符号化コードブック2204を含んでいる。NELP復号器モード206は復号コードブック2206と、ランダム数発生器2210と、乗算器2212と、およびLPC合成フィルタ2208とを含んでいる。図23は、符号化および復号を含むNELP符号化のステップを示すフローチャート2300である。これらのステップを、NELP符号器モード204およびNELP復号器モード206の種々のコンポーネントと共に説明する。ステップ2302において、エネルギ推定装置2202は、以下のように4つのサブフレームのそれぞれに関する残留信号のエネルギを計算する:ステップ2304において、符号化コードブック2204は1組のコードブックパラメータを計算し、符号化されたスピーチ信号sencnを形成する。好ましい実施形態において、この1組のコードブックパラメータは単一のパラメータであるインデックスI0を含んでいる。インデックスI0は、を最小にするjの値に等しく設定される。コードブックベクトルSFEQは、サブフレームエネルギEsfiを量子化するために使用され、フレーム内のサブフレームの数すなわち、好ましい実施形態では4つに等しいいくつかの要素を含んでいる。これらのコードブックベクトルは、確率または訓練されたコードブックを生成するための、当業者に知られている標準的な技術にしたがって生成されることが好ましい。ステップ2306において、復号コードブック2206は受取られたコードブックパラメータを復号する。好ましい実施形態では、サブフレームGiのセットは、にしたがって復号される。ここで、0≦i<4であり、Gprevは前のフレームの最後のサブフレームに対応したコードブック励起利得である。ステップ2308において、ランダム数発生器2210は単位分散ランダムベクトルnznを発生する。このランダムベクトルはステップ2310で各サブフレーム内の適切な利得Giによってスケールされ、励起信号Ginznを生成する。ステップ2312において、LPC合成フィルタ2208は励起信号Ginznを濾波して出力スピーチ信号^snを形成する。好ましい実施形態において、最も新しい非ゼロレートNELPサブフレームから得られたLPCパラメータおよび利得Giが現在のフレーム中の各サブフレームに対して使用される場合、ゼロレートモードもまた使用される。当業者は、マルチプルNELPフレームが連続的に発生した場合に、このゼロレートモードが実効的に使用されることができることを認識するであろう。[X.結論]上記において本発明の種々の実施形態を説明してきたが、それらは単なる例示として与えられたに過ぎず、何等本発明に制限を課すものではないことを理解すべきである。したがって、本発明の技術的範囲は上記に示されている例示的な実施形態のいずれの制限も受けず、添付された請求の範囲およびその等価なものによってのみ規定される。好ましい実施形態の上記の説明は、当業者が本発明を形成または使用できるようにするために与えられている。本発明はとくにその好ましい実施形態を参照して図示および説明されているが、当業者は、本発明の技術的範囲を逸脱することなく形態および詳細の種々の変更を行うことが可能であることを理解するであろう。"