(57)【特許請求の範囲】
【請求項１】
パラメータ信号を生成するためにデジタルデータフレーム（Ｘｋ）を処理するための、少なくとも一つのプロセッサを使用して電子的に行われる方法であって、前記パラメータ信号は、式Ｘｋ＝Ｇ（Ｂｄ（ｉ）），（ｉ＝１，．．．，Ｎ）により作られたモデルの複数の推定パラメータを有し、ここで、Ｇ（Ｂｄ（ｉ））は、Ｎ個の未知のデータブロック｛Ｂｄ（ｉ）｝を有する提供されたフォームＧ（）のモデル化関数を表し、前記方法は、
（ａ）Ｘｋと、信号フレームから抽出された信号特徴と、のうちいずれかまたは両方からなる入力を得るステップを備え、
（ｂ）参照データベース内の複数のデータブロックを特定するステップであって、各推定パラメータが前記参照データベース内の前記特定されたデータブロックを示すインデックスからなるステップと、前記モデル化関数の係数のための値を特定するステップであって、各推定パラメータが前記値からなるステップと、を備え、これにより共に使用される全ての前記推定パラメータがＸｋの最良のモデルを作り出し、前記最良のモデルは、選択された性能基準により決定された最良の性能出力を生成するモデルであり、
（ｃ）前記パラメータ信号を出力するステップであって、前記パラメータ信号が、Ｘｋの最良のモデルを作り出す前記推定パラメータを表す１セットの値と、ステップ（ａ）からの前記信号特徴の選択された１セットのための前記パラメータを表す１セットの値と、のうちいずれかまたは両方を有するステップを備え、
前記各セットの値は、ステップ（ｃ）に提供される実際のパラメータ値と、前記実際のパラメータ値において、変換パラメータによる命令、量子化、および変換のうち一または複数を行うことによって得られる修正されたパラメータ値と、のうちのいずれかを有し、
前記参照データベースが、
Ｘｋの最後のデータポイントを除きＸｋからのデータを使用して作られる参照信号と、
Ｘｋ信号の他のデータからＸｋを処理する前に作られた信号、ステップ（ａ）において得られた前記信号特徴の選択された１セットを表す信号、および予め決められた信号特性を表すものとして作られる信号、を有する群から選択される少なくとも一つの参照信号と、
を有し、
モデルの出力の性能を決定するのに使用される前記選択された性能基準は、一または複数の費用関数を含み、各費用関数は前記出力の特性を示し、前記特性は、精度、安定性、知覚品質、およびビットレート効率のうち一または複数を含み、前記出力は、前記モデルの量子化された推定パラメータおよび非量子化された推定パラメータのうちいずれかを有する出力生成パラメータを使用して出力合成処理により生成される、方法。
【請求項２】
前記出力合成処理は、前記出力生成パラメータのために評価された前記モデル化関数Ｇ（Ｂｄ（ｉ））の出力を算出するステップを備え、前記評価において入力｛Ｂｄ（ｉ）｝を表すＮ個のデータブロックを含むデータが、前記出力生成パラメータにより、（ｉ）前記参照データベース全体か、（ｉｉ）Ｘｋからの前記データを使用して作られる前記参照信号を除外する前記参照データベースのセクション、のうちのいずれかから得られ、
一または複数の前記データブロックの一部のためのデータが前記参照データベースの前記セクションに含まれない場合、前記出力は反復的プロセスによって逐一算出され、この反復的プロセスにおいて、前記評価モデル化関数における各データブロックが各データブロックの単一点と置き換えられ、これにより第１の出力点が前記データブロックの第１の点を使用して算出され、シーケンスにおける次の出力点のそれぞれが、前記データブロックのシーケンスにおける次の点を使用して算出され、ここで、各生成された出力点は除外された参照信号のシーケンスにおける次の要素のそれぞれを再構成するために使用され、これにより、前記参照データベースの前記セクションにおいて含まれない一または複数のデータブロックのデータ部分を後続する反復において使用するために再構成する、請求項１に記載の方法。
【請求項３】
ステップ（ａ）が、入力信号からの前記信号フレームを抽出することと、前記信号フレームおよび修正された信号フレームのうちいずれかを含むＸｋを生成することと、有し、
前記修正された信号フレームは、少なくとも一つのプロセッサにおいて生成され、このプロセッサは、サンプリング、ウィンドーイング、フィルタリング、変換パラメータによる変換、および信号特徴の分析、のうち一または複数を前記信号フレーム上で実行するように構成され、
前記分析された信号特徴の一または複数が、前記方法によってモデル化されることが望ましくないと特定される場合、前記望ましくない信号特徴が前記信号フレームから除去され、
前記分析された信号特徴の一または複数が、モデル化されることが望ましい信号特徴を表すように明確に作られた参照信号によってモデル化されることが望ましいと特定される場合、ステップ（ａ）は、前記参照信号を作り前記参照データベース内に入力することを更に含み、
ステップ（ａ）が、選択された分析された信号特徴のためのパラメータをステップ（ｃ）に提供するように構成される場合、ステップ（ａ）は、前記パラメータをステップ（ｃ）に提供することを更に含む、請求項２に記載の方法。
【請求項４】
Ｘｋが、前記入力信号から生成された複数のデータフレームを有するシーケンスにおける一のデータフレームを表し、前記方法は更に、
（ｄ）  Ｘｋの前記特定された最良のモデルの出力と、前記出力の成分と、Ｘｋにおけるデータから作り出された波形と、のうち一または複数を、前記方法にアクセス可能なメモリ内に入力するステップを備え、
ここで、Ｘｋを処理する前に信号を作り出すために使用されるＸｋ以外の前記データは、前記シーケンスにおいてＸｋに先行する一または複数のデータフレームを含み、前記信号は、Ｘｋに代わって前記各データフレームを前記方法により処理することによって作り出された、請求項３に記載の方法。
【請求項５】
前記推定パラメータがモデルのために推定され、前記モデルの形態は、
提供されたモデル化関数の複数の選択を伴う請求項４に記載のパラメータ推定方法と、
従来技術のモデルのパラメータを推定するための従来技術の方法と、
前記従来技術の方法の組み合わせと、
一または複数の前記従来技術の方法と請求項４に記載の方法との組み合わせと、
からなる群から選択されるパラメータ推定方法により決定され、
複数の方法を組み合わせて使用することはＸｋの異なる成分をモデル化するために異なる方法を使用することを含む、請求項４に記載の方法。
【請求項６】
前記パラメータ信号が、エンコーダにおいてデータの少なくとも一つのフレームをエンコードすることに利用される、請求項４または５のいずれか一項に記載の方法。
【請求項７】
出力信号を生成するためにパラメータ信号をデコーディングする方法であって、
前記パラメータ信号からＮ個のインデックスを含むデコーディングパラメータを受信し、ここで、Ｎは正の整数を表し、かつ、前記パラメータ信号に含まれる場合には復元関数の一または複数の係数を表し、ここで、前記インデックスが参照データベースにおいてＮ個のデータブロックの第１の要素の位置を特定し、
前記パラメータ信号が一または複数の参照信号を合成するために１セットのパラメータを含む場合、前記一または複数の参照信号を参照データベース内に合成して入れるために前記セットを使用し、
前記第１の要素の前記位置を使用して、前記データブロックを含む全ての利用可能なデータを前記参照データベースにおいて特定し、前記係数のためおよび前記データブロックによって提供される入力のために前記復元関数を評価することにより前記復元関数の出力を生成し、
前記参照データベースが前記複数のデータブロックのうち一または複数のデータブロックの第１の部分のみを有する場合、各前記部分は各データブロックの第１の要素を有し、これにより前記複数のデータブロックのうち一または複数のデータブロックの残りの部分のためのデータが利用不能であり、前記方法は反復的プロセスを通して前記出力を生成し、ここで、前記出力の第１の点が、前記復元関数への入力として全てのデータブロックの第１の要素を使用して更に後続する反復における使用のための前記データブロックの一または複数のそれぞれにおいて第１の利用不能な要素の代わりとなるために前記生成された第１のポイントを使用して生成され、前記出力のシーケンスにおける次の点のそれぞれが、前記復元関数への入力として全てのデータブロックのシーケンスにおける前記次の要素を使用して更に前記データブロックの前記一または複数のそれぞれにおいてシーケンスにおける前記次の利用不能な要素の代わりとなるためにシーケンスにおける次の生成された点のそれぞれを使用して生成される、
方法。
【請求項８】
一または複数の従来技術の合成方法と関連付けられる複数の信号合成パラメータを前記パラメータから受信することを更に含み、
請求項７に記載の方法が前記出力信号の成分を生成するために使用され、前記一または複数の従来技術の合成方法が前記出力信号の残りの成分を生成するために前記合成パラメータに従って使用される、請求項７に記載の方法。
【請求項９】
前記方法は、デコーダにおいて少なくとも一つの信号を合成するのに利用される、請求項７または８のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本ＰＣＴ特許出願は、２０１０年１０月２９日付けで出願され、「Ｖｅｒｙ  Ｌｏｗ  Ｂｉｔ  Ｒａｔｅ  Ｓｉｇｎａｌ  Ｃｏｄｅｒ  ａｎｄ  Ｄｅｃｏｄｅｒ」と題する米国特許出願第１２／９１５，９８９号の優先権の利益を主張する。この関連する特許出願の内容は、その主題が本明細書と矛盾しない、または本明細書を制限していない限り、参照により本明細書に組み込まれる。
【０００２】
シーケンスリスト、表、またはコンピュータリスト付録の参照
適用なし
【０００３】
著作権情報
この特許書類の開示の一部分は、著作権の保護を受けている資料を含む。この著作権の保有者は、この特許文書または特許開示のいずれかによるファクシミリ複製に対して、それが特許商標庁の特許ファイルまたは記録内に見られるとき、異議がないが、そうでなければ、著作権のすべての権利を留保する。
【０００４】
本発明の１つまたは複数の実施形態は、一般に、信号モデル化およびデータモデル化、圧縮／復元（可逆および非可逆）、コーディング／復号化、ならびに検出および分類のような分析の分野に関する。より詳細には、本発明の１つまたは複数の実施形態は、励起モデルと、励起モデルに基づいて新しい信号モデルを取得するためのシステムとに関する。
【背景技術】
【０００５】
以下の背景情報は、従来技術の特定の態様の例（限定はしないが、たとえば、手法、事実または共通の知識）を提示し得、それらは、従来技術の追加の態様に関して読者をさらに教育するために役立つことが予想されるが、本発明または本発明の任意の実施形態を、本明細書に記載または暗示される、あるいは本明細書に基づいて推測されるあらゆる態様に限定するものと解釈すべきではない。
【０００６】
以下は、従来技術における特定の態様の一例であり、それは、従来技術の追加の態様に関して読者をさらに教育するために役立つことが予想されるが、本発明または本発明の任意の実施形態を、本明細書に記載または暗示される、あるいは本明細書に基づいて推測されるあらゆる態様に限定するものと解釈すべきではない。教育的バックグラウンドとして、認識するために一般的に有用な従来技術の一態様は、信号分析および信号モデル化における１つの目的が可能な限り少数のパラメータを用いて可能な限り効率的に情報を表すことである。たとえば、これは、信号検出および信号分類において有用である。圧縮と呼ばれることもある信号コーディングは、記憶または通信される、典型的にはビットで表されるパラメータの数を最小限に抑え、それにより、情報を記憶し、配信し、送信する効率を高めるという同様の目的を有する。ソースシーケンスをモデルパラメータのセット（すなわち１セットのモデルパラメータ）に変換するプロセスは符号化と呼ばれ、復元するプロセスは、復号化と呼ばれる。したがって、信号モデル化または信号コーディングのいずれかに、同じ方法を適用することができる。しかしながら、コーダは、第２のプロセス、そのコード化パラメータから信号を再構成するデコーダと組み合わせて使用されると仮定される。それゆえに、方法論的に見ると、コーディングは、そのプロセスの一部としてモデル化を包含する技法として見なすことができる。
【０００７】
一般に符号化では、入力信号は、フレーム、セクションまたはイベントとしばしば呼ばれるインターバルに分割される。各フレームをウィンドウ化および／またはフィルタ処理、場合によっては他の動作によって変換して、ウィンドウ化された／フィルタ処理された／変換されたフレームを取得することができる。標準的な発振器モデルは、現在のデータフレームを、遅延またはポインタとそれらに関連する重み係数とで構成されるパラメータの小さいセットに変換する。ポインタは、以前の収集されたデータフレームの復元されたバージョンを含むバッファ中の固定長ブロックを参照する。フレームの復元は、そのモデルパラメータが推定されると行われ、復元されたフレームはメモリ中に保存され、入力シーケンスの復元されたバージョンを表す履歴データのシーケンスが生成される。これらの履歴データのブロックは、それらの重み付け和が現在のデータフレームに「ベストマッチ」を提供するように選定され、ここで、「ベストマッチ」とは、多くの典型的な適用例において、現在のフレームとそのモデルとの間の平均２乗誤差を最小限に抑えるものと定義され得る。このようにして、入力信号は、マッチデータブロックの重みに関連するマッチロケーションおよび乗算係数を示す整数アドレスコードのセットによって交換される。
【０００８】
以下は、従来技術における特定の態様の一例であり、それは、従来技術の追加の態様に関して読者をさらに教育するために役立つことが予想されるが、本発明または本発明の任意の実施形態を、本明細書に記載または暗示される、あるいは本明細書に基づいて推測されるあらゆる態様に限定するものと解釈すべきではない。教育的バックグラウンドとして、認識するために一般的に有用な従来技術の別の態様は、現在のフレーム中のデータがそのフレームについてのモデルパラメータを導出することに関与しないという点で、自励モデル、たとえば、自励ボコーダ（ＳＥＶ）とも呼ばれる古典的な発振器の１つの限定は、それらがデータの予めモデル化されたフレームとモデル化されている現在のフレームとの間になる描写である。この手法は、少なくとも１つのフレーム長を超える時間スケール上で再生成するモデル化ソースパターンについてうまく動作する。したがって、従来の発振器は、データ中の長いスケール構造をモデル化するための方法であると見なすことができる。
【０００９】
以下は、従来技術における特定の態様の一例であり、それは、従来技術の追加の態様に関して読者をさらに教育するために役立つことが予想されるが、本発明または本発明の任意の実施形態を、本明細書に記載または暗示される、あるいは本明細書に基づいて推測されるあらゆる態様に限定するものと解釈すべきではない。教育的バックグラウンドとして、認識するために一般的に有用な従来技術の別態様は、典型的な最新のコーダが、ソースパターン中の異なるスケールを符号化するために複数のモデルを採用することができるということである。たとえば、モバイル電気通信において使用されるコーデックの適応型マルチレート（ＡＭＲ：Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉ−Ｒａｔｅ）ファミリーは、一般に、３つのモデルを組み合わせて、すなわち、第１に短いスケールパターンをモデル化するための線形予測子（ＬＰ）を、続いて、中程度〜長いスケール構造を符号化することができる改善されたＳＥＶ様のモデルである「適応型コードブック」（ＡＣ：ａｄａｐｔｉｖｅ  ｃｏｄｅｂｏｏｋ）を、最後に、初めの２つのモデルが適用された後に残る残差を符号化する第３のモデルを利用する。ＡＭＲにおけるＡＣモデルは、現在の入力フレームからのデータのいくつかの限定されたセクションを、そのデータをモデル化するために使用することができるようにすることによって、従来のＳＥＶを改善する。これにより、ＡＣを用いてモデル化することができる構造の範囲が、中程度〜長いスケール構造に拡張することができる。しかしながら、この改善では、依然として、すべてのソーススケールのモデル化が可能になるわけではなく、それゆえ、ＡＭＲにおけるＡＣより前にＬＰが使用される。
【００１０】
現在の技術において信号をモデル化するときに、データを異なるスケールまたは成分に分離し、それらのコンポーネントを個々にモデル化することが一般的である。周波数帯域、ウェーブレットまたは他のタイプの波形に入力を分割することができ、それにより、これらの成分を別々にコーディングし、各フレームについての複数のパラメータのセットを生成することができる。再び音声コーディングを参照すると、これの別の例は、各帯域の有声／無声特性に基づいて入力信号を周波数帯域に分け、個々の帯域を別々に符号化するマルチバンド励起と呼ばれるコーダのファミリー（ＭＢＥ、ＩＭＢＥおよびＡＭＢＥ）である。
【００１１】
複数のモデルまたは成分の形態で単一のフレームをコーディングすることは、典型的には各々に固定コーディングバジェットが割り当てられた、コーディングパラメータの対応する複数のセットによって、フレームが表されることを意味する。比較可能なモデル化品質を、より小さい単一のパラメータのセットを用いて達成することができる場合には、複数のパラメータのセットを用いて信号を符号化することは効率的ではないことがある。情報を抽出するためにパラメータの小さいセットで効率的に信号を表し、送信レートを最大にし、記憶システム中のメモリを最小限に抑えるためのニーズは、より効率的なコーディング技術のあらゆる開発に動機を与える。
【００１２】
上記に鑑みると、これらの従来の技法は完全ではなく、より最適な手法の余地が残っていることは明らかである。
【００１３】
本発明は、同様の参照番号が類似の要素を指す添付の図面の各図に、例として示されるが、限定として示されるものではない。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態による、ＣＯＭＰＬＥＴＥベースの分析／コーディングシステムの３つの基本的な構成要素を示す例示的なブロック図である。
【００１５】
【図２】ＣＯＭＰＬＥＴＥモデル（）のパラメータを推定するための必須の分析構成要素の例示的なブロック図であり、コード生成モジュール１７０の基本ブロックがより詳細に示されている。
【００１６】
【図３】本発明の一実施形態による、受信したＣＯＭＰＬＥＴＥパラメータから信号を復元するＣＯＭＰＬＥＴＥシンセサイザ／デコーダの例示的なブロック図である。
【００１７】
【図４】本発明の一実施形態による、一般的なマルチモードＣＯＭＰＬＥＴＥ／ＫＡＭシステムの構成要素を示す例示的なブロック図である。
【００１８】
【図５】本発明の一実施形態による、マルチモードＣＯＭＰＬＥＴＥ／ＰＡＣＴ実装を利用する音声分析（符号化）システムの一例を示す例示的なブロック図である。
【００１９】
【図６】適切に構成または設計されたときに、本発明を実施することができるコンピュータシステムとして機能することができる典型的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００２０】
特に示されていない限り、各図における図解は、必ずしも一定の縮尺で描かれているわけではない。
【００２１】
本発明の実施形態は、詳細な図および本明細書に記載される説明を参照すると、最もよく理解される。
【００２２】
各図を参照して、本発明の実施形態について以下に説明する。ただし、本発明は、これらの限定された実施形態には限定されないので、当業者には、これらの各図に関して本明細書に提供される詳細な記載は説明を目的とするものであることが容易に理解されるであろう。たとえば、本発明の教示に照らすと、特定の適用例のニーズに応じて、以下に説明し、図示される実施形態における特定の実装の選定に含まれない、本明細書に記載される任意の所与の詳細の機能を実装するための多数の代替物および好適な手法が、当業者には認識されるであろうことを理解されたい。すなわち、多すぎて列挙できないが、すべてが本発明の範囲にあてはまる本発明の多数の修正形態および変形形態が存在する。また、適切な場合には、単数形の単語は、複数形として解釈すべきであり、その逆も同様であり、男性詞は女性詞として解釈すべきであり、その逆も同様であり、代替実施形態は、両者が相いれないものであることを必ずしも示唆するものではない。
【００２３】
さらに、本明細書に記載される特定の方法、化合物、材料、製造技法、使用法およびに適用例は変動し得るので、本発明はこれらには限定されないことを理解されたい。また、本明細書で使用する用語は、特定の実施形態について説明することのみを目的として使用され、本発明の範囲を限定することを目的とするものではないことを理解されたい。本出願明細書で使用するとき、また、添付の特許請求の範囲では、単数形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈中に別段の記載が明記されていない限り、複数形を含む。したがって、たとえば、「１つの要素（ａｎ  ｅｌｅｍｅｎｔ）」という記載は、１つまたは複数の要素を指し、当業者に知られている当該要素の等価物を含む。同様に、別の例では、「１つのステップ（ａ  ｓｔｅｐ）」または「１つの手段（ａ  ｍｅａｎｓ）」という記載は、１つまたは複数のステップまたは手段を指し、サブステップおよび従属する手段を含み得る。使用されるすべての論理積は、可能な最も多くの包含的な意味で理解されるべきであり。したがって、単語「または」は、文脈中に別段の記載が明記されていない限り、論理「排他的論理和」の定義ではなく、論理「論理和」の定義を有するものとして理解すべきである。また、本明細書に記載する構造は、そのような構造の機能的等価物を指すように理解されたい。近似を表すと解釈され得る言語は、文脈中に別段の記載が明記されていない限り、そのように理解すべきである。
【００２４】
別段の規定がない限り、本明細書で使用するすべての技術用語および科学用語は、本発明が属する分野の通常の知識を有する者によって通常理解される意味と同じ意味を有する。本発明の実施または試験において、本明細書に記載するものに類似する、またはそれらと等価の任意の方法、技法、デバイスまたは材料を使用することができるが、好適な方法、技法、デバイスおよび材料について説明する。また、本明細書に説明する構造は、そのような構造の機能的等価物を指すものと理解されたい。次に、本発明について、添付の図面に示すような実施形態を参照して詳細に説明する。
【００２５】
本開示を読むことにより、他の変形形態および修正形態が当業者には明らかになるであろう。そのような変形態様および修正態様は、従来技術においてすでに知られている、あるいは本明細書に既に記載された特徴の代わりに、またはそれに加えて、使用されることができる等価な特徴および他の特徴を含むことができる。
【００２６】
本出願では、特徴の特定の組合せに特許請求の範囲を策定するが、本発明の開示の範囲はまた、任意の請求項で現在特許請求するものと同じ発明に関するか否か、本発明が緩和するものと同じように技術的問題のうちのいずれかまたはすべてを緩和するか否かにかかわらず、明示的にまたは暗黙的に本明細書に開示された特徴の任意の新規の特徴または任意の新規の組合せ、あるいはその任意の概念を含むことを理解されたい。
【００２７】
また、別個の実施形態のコンテキストにおいて説明する特徴は、単一の実施形態を組み合わせて提供される。逆に、単一の実施形態のコンテキストで説明される様々な特徴はまた、簡潔のために、別々に、あるいは任意の好適なサブコンビネーションで提供することができる。出願人は、ここで、本出願または本出願から派生する任意のさらなる出願の新しい請求項は、審査過程中に、そのような特徴および／またはそのような特徴の組合せを策定し得ることに言及する。
【００２８】
「１つの実施形態」、「一実施形態」、「例示的な実施形態」、「様々な実施形態」などという記載は、そのように記載される本発明の（１つまたは複数の）実施形態は特定の特徴、構造または特性を含み得るが、あらゆる実施形態は特定の特徴、構造または特性を必ずしも含むとは限らないことを示し得る。さらに、繰り返して使用される「１つの実施形態では」、または、「例示的な実施形態では」という語句は、同じ実施形態を指すこともあるが、必ずしも同じ実施形態を指すとは限らない。
【００２９】
当業者にはよく知られているように、市販の実装任意のシステム、詳細には、本発明の実施形態の最適な製造のために設計するときには、一般に、多くの慎重な考慮および妥協を行われなければならない。特定の適用例のニーズにしたがって、本発明の趣旨および教示による市販の実装を構成することができ、それにより、特定の適用例のニーズに対処する所望の実装を達成するために、当業者によって、当業者の平均的な技能および既知の教示を使用して、任意の記載した本発明の実施形態に関する教示の任意の（１つまたは複数の）態様、（１つまたは複数の）特徴、（１つまたは複数の）機能、（１つまたは複数の）結果、（１つまたは複数の）構成要素、（１つまたは複数の）手法または（１つまたは複数の）ステップを、好適に、省略する、含む、適合する、混合する、一致することができ、あるいは、改善および／または最適することができる。
【００３０】
「コンピュータ」とは、構造化された入力を受け付け、規定されたルールにしたがって構造化された入力を処理し、処理の結果を出力として生成することが可能な１つまたは複数の装置および／または１つまたは複数のシステムを指し得る。コンピュータの例には、コンピュータ；定置型コンピュータおよび／またはポータブルコンピュータ；並列および／または非並列に動作することができる単一のプロセッサ、複数のプロセッサまたはマルチコアプロセッサを有するコンピュータ；汎用コンピュータ；スーパーコンピュータ；メインフレーム；超ミニコンピュータ；ミニコンピュータ；ワークステーション；マイクロコンピュータ；サーバ；クライアント；対話型テレビジョン；ウェブ器具；インターネットアクセスを備える電気通信デバイス；コンピュータおよびインタラクティブテレビジョンのハイブリッド組合せ；ポータブルコンピュータ；タブレットパーソナルコンピュータ（ＰＣ）；携帯情報端末（ＰＤＡ）；ポータブル電話；たとえば、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け命令セットプロセッサ（ＡＳＩＰ）、１つのチップ、複数のチップ、システムオンチップまたはチップセットなど、コンピュータおよび／またはソフトウェアをエミュレートする特定用途向けハードウェア；データ収集デバイス；光コンピュータ；量子コンピュータ；生物学的なコンピュータ；ならびに、一般に、データを受け付け、１つまたは複数の記憶されたソフトウェアプログラムにしたがってデータを処理し、結果を生成することができ、典型的には、入力ユニット、出力ユニット、記憶ユニット、演算ユニット、論理ユニットおよび制御ユニットを含み得る装置が含まれ得る。
【００３１】
「ソフトウェア」とは、コンピュータを動作させるための規定されたルールを指し得る。ソフトウェアの例には、１つまたは複数のコンピュータ可読言語におけるコードセグメント；グラフィカルおよび／またはテキスト命令；アプレット；プリコンパイルされたコード；解釈されたコード；コンパイルされたコード；およびコンピュータプログラムが含まれ得る。
【００３２】
「コンピュータ可読媒体」とは、コンピュータがアクセス可能なデータを記憶するために使用される任意の記憶デバイスを指し得る。コンピュータ可読媒体の例には、磁気ハードディスク；フロッピー（登録商標）ディスク；ＣＤ−ＲＯＭおよびＤＶＤなどの光ディスク；磁気テープ；フラッシュメモリ；メモリチップ；ならびに／あるいはその上に機械可読命令を記憶することができる他のタイプの媒体が含まれ得る。
【００３３】
「コンピュータシステム」とは、各コンピュータが、コンピュータまたはその構成要素のうちの１つまたは複数を動作させるためのソフトウェアを実施するコンピュータ可読媒体を含み得る１つまたは複数のコンピュータを有するシステムを指し得る。コンピュータシステムの例には、ネットワークによってリンクされるコンピュータシステムを介して情報処理するための分散型コンピュータシステム；コンピュータシステムの間で情報を送受信するために、ネットワークを介して１つに接続された２つ以上のコンピュータシステム；単一のコンピュータ内に２つ以上のプロセッサを含むコンピュータシステム；ならびにデータを受け付け、１つまたは複数の記憶されたソフトウェアプログラムにしたがってデータを処理し、結果を生成し、典型的には入力ユニット、出力ユニット、記憶ユニット、演算ユニット、論理ユニットおよび制御ユニットを含み得る１つまたは複数の装置および／または１つまたは複数のシステムが含まれ得る。
【００３４】
「ネットワーク」は、通信機能によって接続され得る複数のコンピュータおよび関連するデバイスを指し得る。ネットワークは、ケーブルのような永続的接続、あるいは電話または他の通信リンクを通じて行われるような一時的接続を含み得る。ネットワークは、ハードワイヤード接続（たとえば、同軸ケーブル、ツイストペア、光ファイバー、導波路など）、および／またはワイヤレス接続（たとえば、無線周波波形、自由空間光波形、音響波形など）をさらに含み得る。ネットワークの例には、Ｉｎｔｅｒｎｅｔなどのインターネット；イントラネット；ローカルエリアネットワーク（ＬＡＮ）；ワイドエリアネットワーク（ＷＡＮ）；ならびにインターネットおよびイントラネットなどのネットワークの組合せが含まれ得る。
【００３５】
例示的なネットワークは、インターネットプロトコル（ＩＰ）、非同期転送モード（ＡＴＭ）、および／または同期光ネットワーク（ＳＯＮＥＴ）、ユーザデータグラムプロトコル（ＵＤＰ）、ＩＥＥＥ  ８０２．ｘなどのような複数のプロトコルのうちのいずれかを用いて動作することができる。
【００３６】
本発明の実施形態は、本明細書に開示する動作を実行するため装置を含むことができる。装置は、所望の目的のために特別に構築してもよく、あるいは、デバイスに記憶されたプログラムによって選択的にアクティブ化または再構成される汎用デバイスを備えてもよい。
【００３７】
また、本発明の実施形態は、ハードウェア、ファームウェア、およびソフトウェアのうちの１つ、またはそれらの組合せにおいて実装され得る。本発明の実施形態は、機械可読媒体に記憶された命令として実装してもよく、当該命令は、本明細書に記載する動作を実行するためにコンピューティングプラットフォームによって読み取り、実行することができる。
【００３８】
以下の説明および特許請求の範囲において、「コンピュータプログラム媒体」および「コンピュータ可読媒体」という用語は、一般に、取外し可能な記憶ドライブ、ハードディスクドライブ中にインストールされたハードディスクなどのような媒体を指すために使用され得る。これらのコンピュータプログラム製品は、コンピュータシステムにソフトウェアを提供することができる。本発明の実施形態は、そのようなコンピュータプログラム製品を対象とすることができる。
【００３９】
本明細書では、全般的に、アルゴリズムは、所望の結果につながる行為または動作の自己矛盾のないシーケンスであると見なされる。これらは、物理量の物理的操作を含む。通常、これらの量は、記憶される、転送される、組み合わせられる、比較される、また場合によっては操作されることが可能な電気信号または磁気信号の形態をとるが、必ずしもそのような形態をとるわけではない。主に一般的な用法という理由で、これらの信号を、ビット、値、エレメント、シンボル、キャラクタ、ターム、ナンバーなどを呼ぶことが好都合である場合があるということが分かった。ただし、これらの用語および同様の用語のすべては、適切な物理量に関連すべきであり、これらの量に適用された好都合なラベルにすぎないということを理解されたい。
【００４０】
別段に明記されていない限り、以下の説明および特許請求の範囲から明らかであるように、明細書記載全体にわたって、「計算すること」、「算出すること」、「判断すること」などのような用語を利用して、コンピューティングシステムのレジスタおよび／またはメモリ内の電子量のような物理量として表されるデータを操作する、ならびに／あるいはそのようなデータをコンピューティングシステムのメモリ、レジスタ、あるいは他のそのような情報記憶デバイス、トランスミッションデバイスまたはディスプレイデバイス内の物理量として同様に表される他のデータには変換する、コンピュータまたはコンピューティングシステム、あるいは同様の電子コンピューティングデバイスの行為および／またはプロセスを指すことを理解されたい。同様に、「プロセッサ」という用語は、レジスタおよび／またはメモリからの電子データを処理して、その電子データをレジスタおよび／またはメモリに記憶され得る他の電子データに変換するための任意のデバイスまたはデバイスの一部分を指し得る。「コンピューティングプラットフォーム」は、１つまたは複数のプロセッサを備えることができる。
【００４１】
非一時的コンピュータ可読媒体は、ハードドライブ、コンパクトディスク、フラッシュメモリ、揮発性メモリ、ランダムアクセスメモリ、磁気メモリ、光学メモリ、半導体ベースのメモリ、相変化メモリ、光学メモリ、周期的にリフレッシュされるメモリなどを含むが、これらに限定されるものではない。ただし、非一時的コンピュータ可読媒体は、本質的に、純粋な一時的信号を含まない。
【００４２】
効率の観点において、いくつかの本発明の実施形態は、コーディング部が等しく信号およびデータのモデル化および分析に適用可能である理解のもとで、本明細書では、コーダ／デコーダと呼ばれる。さらに、圧縮という用語は、しばしば、ソース発展における任意の既存のパターンがモデルフォームでではなく統計的に処理される離散無記憶情報源をコーディングすることに関連付けられる。本発明のいくつかの実施形態は、データシーケンスが何らかの定量化可能なルールに発展するタイプのコーディングに関して少なくとも有用であり、より詳細には、モデル、すなわち、このルールの閉じられたフォーム表現を取得することに有用である。
【００４３】
本発明の実用的な実施形態は、現在の技術における符号化のために使用されるパラメータの複数のセットを可能な限り多く交換するように、１つの節約的なモデルを使用して、可能な限り多くの信号情報をモデル化／符号化することである。多くの実用的な実施形態は、可能な限り高い忠実度で情報を復号して戻す。多くの実用的な実施形態では、完全発振器＋外部励起（ＣＯＭＰＬＥＴＥ：Ｃｏｍｐｌｅｔｅ  Ｏｓｃｉｌｌａｔｏｒ  Ｐｌｕｓ  Ｅｘｔｅｒｎａｌ  Ｅｘｃｉｔａｔｉｏｎ）と呼ばれるモデル化法は、データ中のソースパターンならびにランダム特徴におけるすべてのスケールについて同時に考慮し、したがって、多くの場合、ユーザが、既存の技術において使用される複数のモデルの代わりに単一の高効率なモデルを適用することができるようになるという点で、現在のモデルを改善する。多くの実用的な実施形態では、ＣＯＭＰＬＥＴＥは、以下のように標準的な発振器モデルを改善する。また、以前の収集されたフレームを使用することに加えて、そのフレームをモデル化する際に、最後の点を除く現在の入力フレーム中のすべてのデータを使用することができるようになる。モデル中で入力フレームを使用するときに解決されなければならない重要な課題は、これらのデータは、フレームを復元するためにデコーダには利用可能ではないということである。一般に、ＡＭＲにおけるＡＣを含む現在の技術では、デコーダは、これらの利用不可能なデータを、先行するフレームからのデータと交換する。これは、音声を含む多くのタイプの信号において、隣接するフレーム間のデータにおける矛盾は重大であることがあるので、最適ではないことがある。多くの実用的な本発明の実施形態は、導出されたモデルパラメータから点ごとにデコーダにおいて利用不可能なデータを再構成することによって、この態様を改善する。以前のフレームからのデータを代入するのではなく、データを再構成することにより、現在の技術と比較して復号された信号の精度が改善され、それにより、次に、発振器の安定性が改善され、さらに、本発明は、現在のフレームからの新規の最大範囲のデータを使用することができるようになる。それにもかかわらず、本発明によって可能にされるように、利用不可能なデータを推定する精度が改善された場合でも、再構成されたフレームは、モデル化された信号に等しくならないことがある。復元されたものとモデル化された入力信号との間の矛盾は、各後続のフレームがモデル化される場合に蓄積され、最終的には、モデルの不安定性につながり得る。本発明によって提供されるように、現在の入力からのデータポイントの最大数を、その入力をモデル化するために使用することが可能になり、入力されたコンテンツ全体をそのようなモデルを用いて符号化することができるとき、モデルの不安定性につながる矛盾が、急激に大きくなり、モデルが急速に不安定になる。これは、本発明の多くの実用的な実施形態において解決される１つの課題であり、モデル推定プロセス中に複数の候補再構成フレームを評価することによって、モデルの安定性が保証される。標準的なモデルフィッティング法は、他の機能のなかでもとりわけモデルの安定性を保証する複数の評価指標（ｅｖａｌｕ���ｔｉｏｎ  ｍｅｔｒｉｃ）を組み込むための実施形態に拡張される。さらにまた、安定したモデルを推定することを可能にする、本発明のこの実施形態におけるそのような方法の使用により、以前のモデル化されたフレームとは別個である励起を含むために、「自励型」モデル構造を拡張する実施形態を可能にする。外部励起と呼ばれるこれらの励起を組み込むことにより、データ中の非反復的な特徴をモデル化することができるようになり、それにより、さらに、本発明の現在の実施形態のモデル化能力が拡張する。
【００４４】
多くの実用的な実施形態において、ＣＯＭＰＬＥＴＥモデルは、様々な既存の短スケールモデルと長スケールモデルとの組合せと等しくはない。むしろ、得られたＣＯＭＰＬＥＴＥ表現は、任意の既存のモデルとは別のものである。さらに、信号構造全体を一度に包括的にキャプチャするためにＣＯＭＰＬＥＴＥを使用すると、既存の技術において別個の短スケールモデルおよび長スケールモデルに必要なパラメータの総数よりもはるかに少ないパラメータを用いて、非常に節約的なモデルがもたらされる。このように効率的であるので、広範囲の様々な信号クラスを、本発明による高い精度で、いくつかは２モデルターム程度でモデル化することができる。ＣＯＭＰＬＥＴＥの多くの実用的な実施形態は、雑音と非定常特徴とを含み得る信号の非可逆符号化に関する。さらに、いくつかの本発明の実施形態は、連続的に規定された動的ルールにしたがって発展する完全な決定性ソースについてのロスレスコーディングを提供することができる。多くの信号クラスは、スケールパターンと長スケールパターンとを含んでいることに留意されたい。
【００４５】
発振器は、定義上、収集されたデータの構造における冗長性を使用してモデルを展開する。したがって、発振器は、一般に、収集されたデータパターンにおいては十分に規定されていない、分離イベント、不連続性および雑音様の特徴など、過渡的特徴をモデル化するにはあまり適していないと考えられる。音声は、半振動エネルギーと雑音様エネルギーとの比が急激に変化し得る高速変化信号の１つの例である。多くの実用的な実施形態において、ＣＯＭＰＬＥＴＥモデルは、典型的な発振器については好ましくないと考えられるいくつかのそのような状態に対してたとえば、有色雑音および特定の過渡信号の存在ではロバスト（堅牢）であり得、ＣＯＭＰＬＥＴＥのロバスト性の度合いは、ＣＯＭＰＬＥＴＥモデルの特定の選定された機能形式の複雑度と、外部励振ベクトルの特定の実施形態とによって判断される。それにもかかわらず、ＣＯＭＰＬＥＴＥの性能は、そのような好適ではない状態が顕著なときに低下することがある。性能ロスの可能性は、ある特定のレベルの性能を満たされなければならない適用例では望ましくない。本発明の多くの実用的な実施形態は、ＣＯＭＰＬＥＴＥベースのコーダの所望のレベルの性能を達成すること、または当技術分野で知られている方法（ＫＡＭ）のコーディング効率を改善することを目的として、ＣＯＭＰＬＥＴＥをＫＡＭと組み合わせるシステムを構成する。本発明の本実施形態によるそのようなマルチモードＣＯＭＰＬＥＴＥ／ＫＡＭシステムの別の効用は、ＣＯＭＰＬＥＴＥの初期化を行うことである。
【００４６】
多くの実用的な実施形態では、上記の原理を適用するイノベーションは、データ履歴から導出された情報の混合と、現在の入力からのデータの最大因果範囲、データ履歴以外のソースからシステムによって導出された追加情報と、所定の波形の辞書とを含むようにモデル参照の範囲を拡張する改善された励起モデル；最適モデルを選択し、モデルの安定性を確保することを目的として、複数の指標（ｍｅｔｒｉｃ）といくつかの様々なタイプのモデル出力とを採用することができるようなモデルを推定するための革新的方法；利用不可能な参照データから導出されたモデルパラメータを使用して、その参照データを再構成する信号を復号するための改善された方法；ＣＯＭＰＬＥＴＥを初期化し、ＣＯＭＰＬＥＴＥおよび／または既存のコーディング／圧縮方法の効率を向上させるために使用され得る当技術分野で知られている方法を用いて、本発明の少なくともいくつかの実施形態を組み合わせるための方法およびシステム；ならびに、次に詳述するような、これらのイノベーションから実現される例示的な音声コーダ／デコーダを包含する。
【００４７】
多くの実用的な実施形態では、入力フレームをモデル化し、符号化するための方法は、モデル参照の改善された範囲を使用する。再構成された以前のモデル化されたフレームの典型的な使用に加えて、いくつかのケースでは、現在のフレームからのデータの一部と、最後の点を除く現在の入力フレームからのすべてのデータとが、内部励起入力として使用される。これにより、ソース中の短スケールモデルおよび長スケールパターンを、１つの包括的なソースモデルによって符号化することができるようになる。さらに、典型的には発振器モデルで使用される内部励起に加えて、予め収集されたフレームの一部ではない外部励起が、可能なモデル参照として含まれる。外部励振ベクトルにより、データ中の非構造化特徴ならびに最近出現した構造をモデル化することができるようになる。また、外部励起は、ＣＯＭＰＬＥＴＥモデルを初期化するためにも使用することができる。内部参照と外部参照とを組み合わせると、単一の節約的なコードとマルチスケールパターンならびに非構造化特徴を含んでいる複素信号とを用いてモデル化することができるようになる。
【００４８】
多くの実用的な実施形態では、一般に、そのような完全な発振器モデルのパラメータを推定し、モデル推定（評価ステージ）中にも復号化中にも点ごとに利用不可能なモデル参照を再構成する革新的プロセスを使用するパラメータから信号を復元する（復号する）ための方法が提供される。
【００４９】
多くの実用的な実施形態では、ＣＯＭＰＬＥＴＥモデルの品質を評価するための革新的な方法は、特定の適用例に合わせた最良のモデルを推定するために使用され得る指標選択肢の範囲を拡張する。さらに、複数の指標を使用して単一のモデルを評価ためのマルチステッププロセスが提供される。さらに、指標の拡張された範囲は、現在の入力フレームからのデータを使用することなく、モデルパラメータから復元される出力を含む様々なモデル出力に適用される。この改善の重要な側面は、そのような回復されたフレームが、そのパラメータを推定するために使用されるフレームモデルと等しくないことがあるいう事実に由来する。評価において使用される復元されたモデル出力は、フレーム全体のＣＯＭＰＬＥＴＥモデルの安定性を確保するために役立つ。
【００５０】
多くの実用的な実施形態では、ＣＯＭＰＬＥＴＥ動作を初期化するために当技術分野で知られている方法（ＫＡＭ（ｋｎｏｗｎ  ｉｎ  ｔｈｅ  ａｒｔ  ｍｅｔｈｏｄ））を使用する方法が提供される。
【００５１】
多くの実用的な実施形態では、個々のフレームを符号化することを目的として、ＣＯＭＰＬＥＴＥとＫＡＭとから選択するための、ならびに／あるいはＣＯＭＰＬＥＴＥを１つまたは複数のＫＡＭモデルと組み合わせるための方法およびシステムが提供される。そのような選択を実装する様々なシステムは、ＣＯＭＰＬＥＴＥ候補モデルの性能を評価するために使用される方法を拡張することによって開発される。
【００５２】
少なくとも１つの実施形態では、マルチモードＣＯＭＰＬＥＴＥ／ＫＡＭシステムに基づいて、音声コーディング／復号化のための方法およびシステムが提供される。
【００５３】
モードｌ：ＣＯＭＰＬＥＴＥコーダ／デコーダシステム
図１に、本発明の一実施形態による、ＣＯＭＰＬＥＴＥベースの分析／コーディングシステムの３つの基本的な構成要素を示す例示的なブロック図を示す。図１は、完全発振器＋外部励起（ＣＯＭＰＬＥＴＥ）ベースの符号化システム１０の基本ブロックの図を示す。ＣＯＭＰＬＥＴＥ１０は、Ｌサンプル入力フレームを構築し、たとえば、ウィンドウ化およびフィルタ処理によって入力を変換することができるプリプロセッサ１２０を含み得る。また、前処理動作は、アナログ入力をデジタル信号に変換することができユニット９０において実行される任意選択のアナログサンプリングを含むことができる。ＣＯＭＰＬＥＴＥ１０は、メインＣＯＭＰＬＥＴＥコード生成モジュールであるＣＯＭＰＬＥＴＥジェネレータモジュール１７０と、導出されたコードパラメータを構成／記憶／送信することができ、これらのパラメータを分析／変換することもできるポストプロセッサ１６０とをさらに含むことができる。入力は、時間的に発展する信号、または２Ｄ画像から抽出されたデータシーケンスのような空間ベクトルとすることができる。図１の前処理モジュールには、デジタル入力またはアナログ入力を供給することができる。アナログ入力は、最初にユニット９０でサンプリングしてからプリプロセッサ１２０にパスされ得、デジタル信号入力は、プリプロセッサ１２０によって直接的に受信され得る。
【００５４】
プリプロセッサ１２０は、式Ｘｋ＝［ｘ（ｎ−Ｌ＋ｌ），・・・，ｘ（ｎ）］にしたがって、入力信号のＬ個のサンプルを含むフレームＸｋを出力することができ、ただし、ｘ（ｎ―Ｌ＋ｌ）は、フレーム中の第１のデータポイントを指し、ｘ（ｎ）は、フレーム中の最後のデータポイントを指す。下付き文字「ｋ」は、フレームが収集された順序を指す。説明全体にわたって、下付き文字「ｋ」は、モデル化されている現在のフレームＸｋを示し、下付き「ｋ−ｓ」は、「ｓ」が整数値である場合、現在のフレームより前に収集された「ｓ」個のフレームを指す。また、プリプロセッサ１２０は、本出願に適した既知の方法を使用して、入力フレームをフィルタ処理する、ウィンドウ化する、または場合によっては変換することができる。さらに、先行フレームＸｋ−1からのデータの何らかの部分がプリプロセッサ１２０に保持され、現在のフレームＸｋの一部を形成するために使用された場合、重複するフレームＸｋが生成されることがある。
【００５５】
図２に、ＣＯＭＰＬＥＴＥモデル（式１）のパラメータを推定するための必須の分析構成要素の例示的なブロック図を示し、コード生成モジュール１７０の基本ブロックがより詳細に示されている。図２に示すように、ＣＯＭＰＬＥＴＥジェネレータモジュール１７０は、記憶ユニット１１０と、参照バッファ（ＲＢ）１３０と、モデル推定器／評価器１４０と、信号シンセサイザ（デコーダ）１５０とを含むことができる。ユニット１４０は、このモードで詳細に記載されている参照ベクトルの関数として入力フレームＸｋをモデル化する。参照ベクトルは、記憶ユニット１１０およびプリプロセッサ１２０から入力を受信し、構成する参照バッファ（ＲＢ）１３０から、ユニット１４０に供給される。記憶ユニット１１０は、受信した信号の何らかの形態の履歴と、いくつかの実施形態では、以下で定義する外部参照ベクトルとを記憶することができる。
【００５６】
１．参照記憶ユニット１１０および参照バッファユニット１３０
図２の記憶ユニット１１０は、現在のフレームをモデル化するために使用され得る参照情報を記憶する。ユニット１１０が記憶することができる情報の１つのタイプは、現在のフレームＸｋより前に受信された入力から導出されたデータ履歴である。そのような履歴値は、ＣＯＭＰＬＥＴＥのための参照データの一部を提供することができる。図２に示す好ましい実施形態では、記憶ユニット１１０は、復元された以前の入力フレーム［Ｙｋ−ｐ，・・・，Ｙｋ−1］を蓄積し、ｓ＝（ｌ，．．．，ｐ）であるＹｋ−ｓは、入力フレームＸｋ−ｓの復元された値を示し、前述のように、下付き文字「ｋ−ｓ」はフレームが収集された順序を示す。１１０に記憶されたＹｋ−ｓは各々、デコーダ１５０によって、以下により詳しく記載する方法を使用して、対応するフレーム「ｋ−ｓ」についての導出されたＣＯＭＰＬＥＴＥパラメータから合成される。他の実施形態では、記憶ユニット１１０は、プリプロセッサ１２０において上述したように任意選択で変換される何らかの形式の実際の以前の入力を記憶することができる。重複フレームが使用される場合、適切に重み付けされた実際の／復元された重複フレームを、１１０において組み合わせて、重複内の実際の／復元された入力シーケンスを再生することができる。
【００５７】
ユニット１１０に記憶することができる別の種類の参照は、予め収集されたフレームから導出された「内部」励起と区別するために、「外部参照」または「外部励起」と呼ばれる。いくつかの実施形態では、外部参照［Ｅ１，・・・，Ｅｈ］は、予め定義された波形のセットとすることができ、基本的な例は、様々な周波数のユニット振幅シヌソイドのセットとなり、これらの波形、あるいはこれらの波形を合成することができるパラメータを、システム動作の開始より前にユニット１１０に入れることができる。そのような波形の選定および数は、典型的には、手元のアプリケーションとハードウェア制約とによって規定される。他の実施形態では、外部参照は、システム１０のユニットのうちのいくつかにおいてその動作中に推測され得る。それらの基本的な機能は、データ履歴を使用してもうまくモデル化されないことがある入力データ中の情報を推測し、この情報を、追加の参照の形態でモデルが利用可能にすることができるようにすることである。推測された励起は、推測された励起波形を再構成するためにデコーダによって使用され得るパラメータのセットとして、システム１０によって符号化される。たとえば、プリプロセッサ１２０は、現在のフレームＸｋ中の雑音様のエネルギーを測定するパラメータを推定し、外部励起を生成するためにそれらのパラメータを使用することができる。そのような推定は、当技術分野で知られている方法を使用して行うことができる。たとえば、いくつかの音声コーダは、入力中の雑音様のエネルギーのパラメータを推定するためにフーリエ変換ベースの方法を使用する。別の例として、１４０または１５０は、入力Ｘｋとその再構成されたバージョンＹｋとの間の残差Ｒｋ＝Ｘｋ−Ｙｋを計算し、その残差に基づいて外部励起を生成することができる。推定されたモデルの出力を使用して１４０または１５０において外部励起を推測するとき、いくつかの実施形態は、現在のデータフレームについての新しいモデルを推定するために、既存の参照ベクトルに加えて、推測された外部励起を使用することができる。さらに、いくつかの実施形態オプションは、アプリオリに定義された外部参照と推測された外部参照の両方のタイプの外部励起を採用することができる。
【００５８】
外部参照を使用してフレームコンテンツの少なくとも一部を再構成しなければならないとき、それは、フレームが、パルス様または雑音様のエネルギーのようなランダムイベントを含んでいるからである。代替的には、利用可能な信号履歴は、たとえば、ＣＯＭＰＬＥＴＥシステム動作の初期化中に、ＣＯＭＰＬＥＸソースパターン情報ついて十分には含んでいないからである。さらに、ソース構造自体における変化が別の理由であることがあり、その場合、履歴データは、すべての新しいソース特徴を有しているというわけではない。後者の２つの場合、外部参照によってモデル化されるコンテンツは、ソース構造の一部であり、好ましい実施形態では、そのコンテンツはデータ履歴に組み込まれる。この場合、ユニット１１０は、すべての使用される内部参照および外部参照から再構成されたＹｋフレームを記憶することができる。ユニット１１０が、そのモデル中に含まれる内部参照のみから再構成される入力のバージョンを記憶することができ、そのバージョンは、過去のソースパターンに純粋に基づくソースモデルに対応する他の実施形態が可能である。さらに、他の実施形態では、ユニット１１０は、そのモデル中に含まれる内部参照と含まれた外部参照の一部のみとから再構成された入力のバージョンを記憶することができる。たとえば、推測されたものではなく、アプリオリに定義された外部参照のみを使用することができる。これらのオプションからの選定は特定の適用例に左右され、上述の実施形態の多くの実装は、基本原理に基づいて設計することができる。
【００５９】
一般に、記憶ユニット１１０は、固定長記憶容量を有する。ソースパターンの１つのサイクルには、ＣＯＭＰＬＥＴＥを用いてソースパターン全体をモデル化することが必要であり、より多くのサイクルを使用すると、非理想環境中で動作するときのロバスト性が提供される。したがって、ユニット１１０の選定された記憶容量は、特定の適用例に左右されるが、たとえば、ハードウェア制限のような他の考慮事項によって抑制されることもある。新しいフレームＹｋがユニット１１０に入れられるたびに最も古い内部参照フレームを削除することによって、記憶ユニット１１０のサイズを指定された容量に維持することができる。外部参照ベクトルを更新するために、同様のストラテジをいくつかの実施形態で使用してもよい。
【００６０】
ユニット１３０は、ユニット１１０からの参照情報と、図２ではプリプロセッサ１２０から受信される現在のフレームＸｋの最も最近の点を除くすべて、すなわち、Ｌ−ｌ個の点Ｘｋ（ｎ−１）＝［（ｎ−Ｌ＋ｌ），・・・，ｘ（ｎ−ｌ）］とを組み合わせて配置する。この情報は、図２でＲＢと標示された参照バッファに配置され、ユニット１４０および１５０によってアクセスされる。図２に示す実施形態では、ＲＢ中のベクトルは、ユニット１１０によって供給されることも、あるいは、適切に場合は、ユニット１３０に供給されるより前に、１１０中のそれらの対応するパラメータから合成されることもある外部参照波形［Ｅ１，・・・，Ｅｈ］から始まり、次に、上述したようにデータ履歴から導出される［Ｙｋ−ｐ，・・・，Ｙｋ−ｌ］、最後に、最も最近のＬ−ｌデータポイントＸｋ（ｎ−１）と、連続的に配置される。ＲＢの異なる部分がシステム１０の様々なユニットによって矛盾なくインデックス付けされる限り、無限数の他のバッファ構成をＲＢのために使用することができる。ＲＢ中に［ｘ（ｎ−Ｌ＋１），・・・，ｘ（ｎ−１）］個の点を含めることにより、入力フレームをモデル化するために利用可能な最短スケール構造が作成される。これは、既存の発振器からＣＯＭＰＬＥＴＥを識別する１つの側面である。外部参照［Ｅ１，・・・，Ｅｈ］を含めることにより、履歴には含まれていないデータの一部をモデル化することができるようになる。外部参照を使用した改善されたデータ駆動型発振器の組合せは、それは、１つの節約的なコードのセットを用いて、構造化データおよび非構造化データ全体をモデル化することを可能にする別の新規の態様である。
【００６１】
いくつかの実施形態では、記憶ユニット１１０は、システムがその動作を開始するときには履歴データのフレームを含んでおらず、いくつかの実施形態では、ソースパターンが著しく変化するときは常に、そのようなデータを消去することもできる。そのような場合、ＣＯＭＰＬＥＴＥシステム１０は、アプリオリに与えられた外部参照を使用して、および／または最も最近の点を除くすべてを使用して、現在の入力ＸｋからのＬ−ｌ個のデータポイント［ｘ（ｎ−Ｌ＋１），・・・，ｘ（ｎ−１）］を使用して、記憶ユニット１１０中のデータ履歴を生成し始めることができる。フルＬポイント参照ブロックは、この場合、追加点をもつＬ−１個の入力点を増補することによって現在の入力から生成されることができ、追加点は、既存の点のうちの１つを反復することによって、たとえば、［ｘ（ｎ−Ｌ＋１），ｘ（ｎ−Ｌ＋１），・・・，ｘ（ｎ−１）」を作成すること、あるいは、知られている外挿方法を使用していくつかの既存の点から追加点を外挿することのいずれかによって、ユニット１３０中で作成することができる。代替実施形態は、代わりに、Ｌ−１個の点［ｘ（ｎ−Ｌ＋１），・・・，ｘ（ｎ−１）］と、それに応じてサイズ決定された外部参照のベクトルを参照として使用して、入力のＬ−１個の点［ｘ（ｎ−Ｌ＋２），・・・，ｘ（ｎ）］をモデル化することができる。フルＬポイント参照ブロックは、次いで、復元されたフレーム中のいくつかのデータポイントを反復すること、あるいは、復元されたフレーム中の点のうちの一部からのデータポイントを外挿することのいずれかによって、そのようなモデルのＬ−１ポイント出力から生成することができる。そのようなＬポイント参照ブロックが作成されると、Ｌポイント参照ブロックをユニット１１０中に記憶し、後続のフレームをモデル化するための参照として使用することができる。その点から、システムは、以下に記載する標準的な実施形態を使用して、データ履歴を生成することができる。データ履歴を生成するための別のオプションは、ユニット１１０中の必要なデータ履歴基準の少なくとも一部またはすべてを作成するために、当技術分野で知られている方法（ＫＡＭ）を使用することである。そのような手段を実装するシステムについて、モード２でより詳しく説明する。
【００６２】
記憶ユニット１１０とプリプロセッサ１２０とバッファ１３０とを物理的に別個の構成要素として実装する必要はないが、上述の動作をエミュレートするために適切なソフトウェアまたはハードウェアを介してすべての情報にアクセスすることができる限り、任意に複数の構成要素にわたって分割しても、あるいは単一のソフトウェア構成要素またはハードウェア構成要素中に実装してもよいことを理解されたい。
【００６３】
ユニット１１０、１２０および１３０中のデータシーケンスは、入力データのすべての種類の変換バージョン、フィルタ処理バージョン、ウィンドウ化バージョン、近似バージョンを参照することができることを理解されたい。その上、記憶ユニット１１０、プリプロセッサ１２０およびバッファ１３０中のシーケンスは、ウェーブレット成分など、入力信号のいくつかの未加工バージョン／変換バージョン／近似バージョンの何らかの成分を参照することができる。
【００６４】
２．ＣＯＭＰＬＥＴＥ推定器／評価器１４０
推定器／評価器ユニット１４０は、ＣＯＭＰＬＥＴＥモデル推定機能を実行する。以下の説明は、バッファＲＢ中のシーケンス中に参照が配置される図２に示した実施形態を参照する。モデル推定のプロセスは、１３０のＲＢ中のＮ長−Ｌブロック（Ｂｄ（ｉ），ｉ＝１，・・・，Ｎ｝のセットを識別し、それにより、入力フレームＸｋが｛Ｂｄ（ｉ）｝の何らかの特定の関数としてモデル化される。
Ｘｋ＝Ｇ（Ｂｄ（ｉ）），ｉ＝１，・・・，Ｎ          （１）
ただし、
Ｇは、線形または非線形の特定の関数形式を示し、
Ｎは、が式（１）において使用されるＢｄ（ｉ）ブロックの数であり、
ｉは、１番目のデータブロックＢｄを特定するインデックスであり、
Ｂｄ（ｉ）は、ｉ番目「タップ」と呼ばれるｉ番目のブロックであり、ＲＢのエントリｄ（ｉ）から始まる１３０中のＲＢから引き出される。ここで、
ｄ（ｉ）は、ｉ番目の遅延をしめし（便宜上、ｄｉと記載されることもある）、ブロックＢｄ（ｉ）中の第１の要素であるＲＢ１３０中のエントリに対する指針である。可能な遅延値の範囲は、整数セット１≦ｄｉ≦ｍａｘｄ、ｍａｘｄ＝ｍ−Ｌ＋１であり、ただし、ｍはＲＢ中の点の総数である。
【００６５】
式（１）によって定義されたＣＯＭＰＬＥＴＥモデルは、短スケールパターンおよび長スケールパターン、ならびに入力中の非構造化成分を同時に考慮する。遅延｛ｄｉ｝のセットは、ＲＢ１３０中の適切なブロック｛Ｂｄ（ｉ）｝を識別するための手段を提供する。関数Ｇに固有である遅延の値｛ｄｉ｝および任意の変数の値を推定するためのモデル推定量。Ｇで表される関数形式は、典型的には手元の特定のアプリケーションに合わせられ、非線形であってもよい。しかしながら、多くのアプリケーションでは、多くのタイプの信号を高い精度でモデル化するためには、数タップを含んでいる線形ＣＯＭＰＬＥＴＥで十分である。このため、本発明の現在の実施形態のより適切な特徴をより簡単に説明するために、現在のモードに関する以下の説明は、線形ＣＯＭＰＬＥＴＥに重点をおくが、本発明のいくつかの実施形態では、非線形ＣＯＭＰＬＥＴＥが想定される。
【００６６】
線形ＣＯＭＰＬＥＴＥは、Ｘｋをブロック｛Ｂｄ（ｉ）｝の線形結合として表す。
【数１】
0005815723.tif 000002
ただし、
Ｎ、ｄｉ、Ｂｄ（ｉ）は、上記式（１）に定義されており、
ａｉは、対応するブロックＢｄ（ｉ）の相対スケーリング（重み）である。
式（２）で推定する必要があるパラメータは、｛ａｉ｝と｛ｄｉ｝とのセット（ｉ＝１，・・・，Ｎ）と、項数Ｎとを含む。ＣＯＭＰＬＥＴＥの効率を理由に、多くの信号クラスを、Ｎ＝２の線形ＣＯＭＰＬＥＴＥモデルを用いて正確に符号化することができることを留意されたい。高度に複雑な信号の場合であっても、Ｎ＝４で十分とすることができる。さらに、Ｎの選定は、所与の適用例について知られていることが多い。このような場合、式（２）の推定モデルを推定することは、パラメータセット｛ａｉ，ｄｉ｝だけを推定することに低減する。パラメータ｛ａｉ，ｄｉ｝を推定するためのいくつかの方法について以下に記載する。モデルタームの数Ｎも推定しなければならない場合、以下に提供される同じ方法を、Ｎの様々な値についてパラメータセット｛ａｉ，ｄｉ｝を推定するために使用することができ、タームＮの最適数を選択するために、当技術分野で知られている方法、たとえば、赤池情報量規準を採用することができる。式（１）の非線形ＣＯＭＰＬＥＴＥに対する上述の方法の適応については、セクション２の最後に提供する。
【００６７】
２ａ．ＣＯＭＰＬＥＴＥパラメータの推定
データにパラ指標モデルを適合させるためのいくつかの知られている方法のうちの１つを適応させることによって、パラメータ｛ａｉ，ｄｉ｝をＣＯＭＰＬＥＴＥ推定器／評価器１４０中で推定することができる。ここで説明する実施形態は、一般に、２つの基本的なプロシージャを実行する。第１のプロシージャは、多数の候補モデルを生成する。次いで、その結果を第２のプロシージャにパスし、予め選択された指標（測定基準）を使用して推定候補モデルの性能を評価すると、「最もよく機能する」モデルが分かる。「最もよく機能する」モデルとは、プリセットされたクリテリア（基準）によって測定される最良の結果を提供するモデルとして定義される。各プロシージャのいくつかの実施形態について以下に説明する。これらの説明は例を提供するものであり、ＣＯＭＰＬＥＴＥとそのパラメータとを推定するための手段を網羅するものではないことを理解されたい。基本原理に基づく他の方法を使用することは、本発明における特許請求の範囲をいかなる方法でも減少させるべきものではない。
【００６８】
第１のプロシージャ−複数の候補モデルを生成する
ここで提供される候補モデルを生成するため方法は、３つの基本ステップを実行する。第１のステップは、１つまたは複数の候補遅延｛ｄｔ＾｝を選ぶ。ここで、ｔ＝１，・・・，Ｄであり、Ｄ＜Ｎであり、上付き文字は、これが考えられる候補値であることを示すために使用され、ＲＢ１３０から対応する遅延タップ｛Ｂｄ＾（ｔ）｝を取り出す。第２のステップは、係数｛ａｔ＾｝に対応する｛Ｂｄ＾（ｔ）｝を計算する。これは、知られている手段により代数学上の最小２乗の問題を解くことによって行うことができる。
［ａ１＾，・・・，ａｔ＾］’＝ｉｎｖ［Ｂ＾ｄ（ｔ）］Ｘ’ｋ          （３）
ただし、
［Ｂ＾ｄ（ｔ）］は、列が１３０から選択されるブロックＢ＾ｄ（ｔ）である行列であり、
ｉｎｖ［Ｂ＾ｄ（ｔ）］は、知られている方法、たとえば、特異値分解法を使用して計算される［Ｂ＾ｄ（ｔ）］行列の擬逆元であり、
［ａ１＾，・・・，ａｔ＾］’は、係数｛ａｔ＾｝で構成される列ベクトルであり、
Ｘ’ｋは、入力Ｘｋの要素で構成される列ベクトルである。
多数の候補パラメータセット｛ａｔ＾ｄｔ＾｝ｊを作成するために、上記の２つのステップを繰り返し、ここで、下付き文字ｊ＝１，・・・，Ｊは、特定の候補セットをインデックス付けするために使用され、そのようなセットが各々、第１のステップで選択された｛ｄｔ＾｝の特定の選定のために導出される。追加のステップとして、所与の適用例に適している場合、以下に記載する手段によって、ＣＯＭＰＬＥＴＥパラメータを量子化することができる。第３のステップは、各候補セット｛ａｔ＾，ｄｔ＾｝ｊについて、後で詳細に定義するＣＯＭＰＬＥＴＥモデル出力を計算する。
【００６９】
特にステップ１および３について、複数の実装のオプションが存在する。ステップ１（およびステップ２と対応する調整）のいくつかの実装について次に説明する。それに続いて、ステップ３で使用する「モデル出力」を測定するためのオプションについては、モデル評価セクションにおいて説明する。
【００７０】
候補パラメータセット｛ｄｔ＾｝ｊを生成するための方法
候補パラメータセットを生成するための３つの方法について以下に説明するが、これらの方法は、候補遅延セットを生成するために全数探索、逐次探索および制約付き探索を対応して使用することができる。すべての３つの方法は、範囲［１  ｍａｘｄ］から構築される整数セットＤから遅延値を引き出す。〔１  ｍａｘｄ〕セット中のいくつかの値は有意な遅延を提供するものではなく、Ｄの一部として含まれる必要もない。詳細には、〔Ｙｋ−ｐ，・・・，Ｙｋ−１〕で構成されるシーケンス中のすべての点は、典型的には、意味のある参照を提供し、したがって、典型的には、これらの点のＢｄ（ｉ）個のブロックをインデックス付けする遅延がＤに含まれる。一方、２つの外部参照、たとえばＥｉとΕｉ＋１、または外部参照ＥｈとＹｋ−ｐにわたるブロックＢｄ（ｉ）は、典型的には、意味のある参照を提供せず、したがって、それらのブロックをインデックス付けする遅延がＤには含まれない。
【００７１】
全数探索法は、ＤからＮ個の遅延の組合せを選択し、次いで、上記式３を解くことによって、組合せごとに対応する係数｛ａｌ＾，ａ２＾，・・，ａＮ＾｝を計算する。全数探索法は、最初に、遅延のすべての実現可能なセットと、対応する係数値とを生成し、次いで、最良のモデル結果を生じる最適なパラメータセットを識別するために、すべての得られた候補モデルからの結果を評価することができる。代替的には、実現可能なパラメータのセットを、グループのセットで生成し、評価することができる。進化的プログラミングなど、多くの既存の知的探索法の１つを使用して全数探索を実装することができる。３つの探索法のなかでも、全数探索法は、最適モデルに最も近接したものを生じることができるが、３つ以上の遅延を含んでいるＣＯＭＰＬＥＴＥモデルを推定するときには、計算コストが高くなることがある。
【００７２】
別の方法は、各ステップが最良のパラメータ値のサブセットを発見する反復的プロセスを使用する逐次探索手法である。たとえば、一度に１つの遅延について考える逐次探索は、以下のように実装される。最初に、セットＤから選択されるｄｌ＾のすべての可能な値についての候補モデル結果と、式３を解くことによって発見されるそれらの対応する係数ａｌ＾とを評価することによって、式（２）の１遅延ＣＯＭＰＬＥＴＥ、すなわち、Ｘｋ＝ａｌ  Ｂｄ＾（ｌ）についての最適遅延値ｄｌ＊を求める。次の反復では、ｄｌ＊値は第１の反復で求められた最適値に固定され続け、Ｄから候補ｄ２＾値を選択する、すべての候補２遅延ＣＯＭＰＬＥＴＥを評価することによって最適なｄ２＊値を求める。前述のように式３を解くことによって、遅延｛ｄｌ＊、ｄ２＾｝の候補セットに対応する係数｛ａｌ＾、ａ２＾｝を計算する。第１の反復の後、ｄｌ＊の値は固定されるが、係数ａｌの値は後続の各反復において固定されず、再計算しなければならないことを留意されたい。すべてのＣＯＭＰＬＥＴＥパラメータについての最適値を取得するまで、プロセスを繰り返す。逐次探索法は、全数探索よりも大幅に低い複雑度で、ほぼ最適な結果を生じることができる。
【００７３】
第３の方法は、前述の２つの方法の特定の態様を組み合わせることができる制約付き探索である。最初に、「シード」推定値｛ｄ１＾，ｄ２＾，・・・，ｄＮ＾｝を生じるために、上述したように逐次探索を実行する。次いで、この推定値は、それらをシードの周辺の範囲ｄｉ＾−μ≦ｄｉ＾≦ｄｉ＾＋μ，ｉ＝１，・・・，Ｎに抑制することによって候補遅延を選択するためのベースラインとして働き、ここで、μは、各ｄｉ＾の周辺の点の数を示し、その値は所望の探索複雑度に応じて設定される。上述の全数探索プロシージャをこの制約付き候補遅延範囲内で使用して、候補パラメータの新しいセットを生成し、最良のモデル結果を生じるパラメータ値を識別するために対応するモデル結果を評価する。この方法の性能は、典型的には、最初の２つの方法の性能の中間となる。
【００７４】
パラメータ生成法に関する上述の説明は、ＲＢ１３０に含まれるすべてのタイプの基準に等しく対処する。Ｘｋをモデル化する際に、ＲＢ中の参照波形のサブセットを他のサブセットよりも優先的に選定することができる場合、代替実施形態を使用することができる。たとえば、いくつかの実施形態では、以前の収集された履歴よりも、最新のデータ履歴が好ましいことがある。別の例では、外部参照［Ｅ１，・・・，Ｅｈ］よりも、「内部」基準［Ｙｋ−ｐ，・・・，Ｙｋ−ｌ］が好ましいことがある。以下に説明する特定の基準の優先的処理を、モデル評価および選択プロセスの一部として実装してもよい。この目的ために、上述のパラメータ生成法を修正することもでき、典型的には、モデル評価および選択中に採用され得る任意の優先的処理に加えて、これらの修正を実装することができる。たとえば、所望の選択を反映するために候補セット｛ａｔ＾、ｄｔ＾｝ｊがソートされる場合、上記の方法を修正することができる。たとえば、最も最近のデータ履歴に依存するモデルが好ましいとき、候補パラメータセットを、各セット中の最も小さい遅延の減少値の順序にソートすることができ、それにより、最初に、（最大遅延によってインデックス付けされた）最も最近のデータ履歴を参照するモデルを、候補モデル評価／選択プロセス中に評価することができる。次いで、所望の性能クリテリアを満たす第１のモデルが発見されたときに、候補モデル評価／選択プロセスを終了することができる。単独でまたは前のストラテジと併せて使用することができる別のストラテジは、最も好ましい参照に対応し、最初にこのサブセットを評価する候補パラメータセットのサブセットのみを生成することである。第１のストラテジの場合と同様に、第１のサブセットから所望の性能クリテリアを満たすモデルが発見された場合、候補モデル評価／選択プロセスを終了することができる。そうでない場合、次に、あまり好ましくない参照を含む候補セットを作成し、それを評価することができる。より進歩的な実施形態は、選定が標準以下の結果につながるときでも、モデル中の特定の参照のほうをユーザが好むようにすることができる複雑なトレードオフクリテリアを含み得る。たとえば、いくつかの実施形態では、「内部」基準［Ｙｋ−ｐ，・・・，Ｙｋ−ｌ］のみに依存するモデルについて、そのようなモデルが好ましい場合には、パフォーマンスにおける所定の損失が起こり得る。一般に、他の参照よりもＲＢ１３０中のいくつかの参照のほうがが好ましい多くの実装を基本原理を使用して設計することができ、そのような設計の採用は、本発明における特許請求の範囲をいかなる方法でも減少させるべきものではない。
【００７５】
第２のプロシージャ−候補モデルを評価する
上述の第１のプロシージャは、式（２）にしたがって導出されたパラメータ化された候補モデルのセットを出力する。次に、これらの候補モデルの品質を評価することを目的として、推定器／評価器１４０により使用され得る様々な方法の適応について説明する。典型的には、式によってモデルが定義されると、この式を使用してその出力を計算する。詳細には、式（２）の場合、ｔ＝１，・・・，Ｄ，Ｄ≦Ｎであるｊ番目の候補パラメータ｛ａｔ＾，ｄｔ＾｝ｊの場合をここでは仮定すると、標準的なモデル出力は、Ｘｋ＾（ｊ）＝ΣｉＤａｉ＾Ｂｄ＾（ｉ）と定義され、他の表記は、上記に規定したもの同じである。典型的には、そのような標準的な出力Ｘｋ＾（ｊ）は、モデル品質を評価するために使用される。この点についての共通の測度は、ｊ番目の候補パラメータセット｛ａ＾、ｄ＾｝ｊの場合を仮定すると、平均２乗誤差（ＭＳＥ）である。
【数２】
0005815723.tif 000003
【００７６】
最良の候補モデルは、この場合、ＭＳＥを最小限に抑えるモデルと識別される。一般に、モデル出力の統計ロパティ、時間プロパティおよび周波数領域プロパティを分析するために、ＭＳＥの代わりに多数の指標を代入することができる。特定の適用例のニーズによって、指標の選定を判断することができる。本発明は、限定はしないが、当技術分野で既存の任意指標、あるいは、候補ＣＯＭＰＬＥＴＥモデルの品質を評価することを目的として、個々にまたは他の知られている指標と併せて、基本的な知られている原理に基づいて設計された任意の指標のいずれかの使用を包含する。いくつかのそのような指標については、このセクションで後述する。
【００７７】
候補モデルの品質を評価するための様々な指標オプションを利用することに加えて、次に、上記で定義した標準Ｘｋ＾以外のモデル出力を使用するいくつかの実施形態について説明する。図２に示した実施形態を含むいくつかの実施形態では、ユニット１４０によって供給されたパラメータからシンセサイザ１５０中で合成されるＹｋ＾である第２のモデル出力は、モデル評価／選択プロセスの一部として使用され、ユニット１１０中でデータ履歴参照を作成する際にも使用される。ここでの重要な観測は、入力フレーム中で再構成されたデータからＹｋ＾を導出することができるが、Ｘｋ＾は実際の入力Ｘｋを参照するので、合成されたＹｋ＾は、ＣＯＭＰＬＥＴＥの場合、所与のパラメータセットについての推定されたＸｋ＾に等しくないことがあることである。さらに、推定値Ｘｋ＾も推定値Ｙｋ＾も、正確なモデルパラメータではなく近似パラメータ、たとえば、量子化されたパラメータ（量子化は以下に説明する手段によって行われる）を使用して計算することができる。したがって、提供された実施形態では、モデル推定値Ｘｋ＾のすべての例が、近似パラメータ、たとえば、量子化パラメータを用いて式（２）を使用して計算された推定値Ｘ＾＾ｋと交換される場合、あるいは代替的には、正確なモデルパラメータまたは近似モデルパラメータのいずれかから合成された推定値Ｙｋ＾と交換される場合、式（４）中のＭＳＥのような閉じられたフォームモデルを評価するために使用される既存の指標を修正することができる。実際には、合成されたＹｋ＾を用いた特定の指標とＸｋ＾を用いた他の指標とを使用することはより有意義であり、手元のアプリケーションによって選定を判断する。たとえば、音声に関するアプリケーションでは、Ｘｋ＾の知覚的特性ではなく、合成された出力Ｙｋ＾の知覚的特性を最適化することが望ましいことが多い。Ｙｋ＾に基づくモデル評価は、最良の出力を選択するために様々な入力から合成されるシステム出力を比較する合成による分析（ａｎａｌｙｓｉｓ−ｂｙ−ｓｙｎｔｈｅｓｉｓ）技法に関係すると見なすことができることを留意されたい。しかしながら、多くの実施形態においてＣＯＭＰＬＥＴＥモデル選択プロセスで使用される合成された出力に基づく指標は、典型的にＸ＾ｋまたはＸ＾＾ｋには関する他の指標に結合され、したがって、ＣＯＭＰＬＥＴＥモデル推定プロシージャ全体は、マルチステップ評価プロセスを含む。非限定的な例では、２つの指標を使用する実施形態は、最初に、式（４）によって求められた最小ＭＳＥ基準にしたがって、ｑ個の最良の候補モデルを連続的に生成し、次いで、シンセサイザ（デコーダ）１５０において、これらのｑ個の最良の候補モデルの量子化パラメータからｑ個の出力Ｙｋ＾を合成し、ｑ個の合成された出力を推定器／評価器ユニット１４０にパスすることができ、次いで、第２の指標、たとえば、以下の式（７）で求められるＰＷＥ知覚指標を使用してｑ個の合成された出力を評価する。本発明の現在の実施形態のモード３は、複数の評価指標を利用する音声コーダの特定のケースを提供する。複数の指標に基づく評価プロシージャの設計は、実用的なアプリケーションにそのプロシージャを適応させるだけでなく、プロシージャが採用する基準の拡張された範囲についてＣＯＭＰＬＥＴＥモデルの安定性を確保するために使用されるＣＯＭＰＬＥＴＥの一部である。次に、Ｙｋ＾を評価する例について書かれたいくつかの指標の非限定的な例を与えるが、上述のように、所与のアプリケーションによって正しいとされた場合、ＣＯＭＰＬＥＴＥ品質を評価するために、これらおよび他の指標をＸｋ＾またはＸ＾＾ｋとともに代替的に利用してもよい。
【００７８】
信号対雑音比：最小信号対雑音比（ＳＮＲ）は、最適モデルを選択するために使用される共通の基準である。Ｙｋ＾の場合、ＳＮＲは、下記のように計算することができる。
【数３】
0005815723.tif 000004
ここで、ｊは、候補パラメータセット｛ａｉ＾，ｄｉ＾｝のインデックスを示す。
【００７９】
ログスペクトル距離：ログスペクトル距離（ＬＳＤ）は、モデル結果のスペクトルプロパティを評価するための別の共通の指標であり得る。ＬＳＤは、下記のように計算することができる。
【数４】
0005815723.tif 000005
ここで、
ｆｓは、サンプリング周波数であり、
Ｆは、フーリエ変換を示し、
ｆは、［０、ｆｓ］に及ぶ対象範囲の周波数ビンであり、
ｊは、候補パラメータセット｛ａｉ＾、ｄｉ＾｝ｊのインデックスである。
【００８０】
音声の知覚品質を評価するための共通の指標は、知覚的に重み付けされた誤差（ＰＷＥ）である。知覚品質は、ＰＷＥを最小限に抑えることによって最適化される。
【数５】
0005815723.tif 000006
ただし、
ｆｓ，Ｆ［．］およびｊは、式（６）において上記で定義されており、
｜．｜は、絶対値スペクトルを示し、
Ｗ（ｚ）は、下記のように求められる重み付けフィルタである。
【数６】
0005815723.tif 000007
ただし、Ｚは、Ｚ変換を示し、係数ｂは、線形予測モデルのミスフィット誤差を最小限に抑えることによって計算される。
【数７】
0005815723.tif 000008
ただし、Ｘｋ（ｕ）＝［ｘ（ｎ−ｕ−Ｌ＋１），・・・，ｘ（ｎ−ｕ−１）］は、現在のフレームの最後の点に対して遅延ｕ−１を有するＬ長データシーケンスを示す。
【００８１】
ここで説明する方法は、前記モデル評価を実行するための包括的または網羅的な手段を提供するものとして解釈すべきではない。基本原理に基づいて他の方法を使用することは、本発明における特許請求の範囲をいかなる方法でも減少させるべきものではない。
【００８２】
モデルパラメータを、１４０または１５０におけるそれらの推定のプロセスにおいて量子化しても、その後、１６０における後処理中に量子化してもよい。量子化は、係数｛ａｉ｝のベクトル量子化、遅延｛ｄｉ｝のスカラー量子化、およびそのすべての導関数を含むがこれらに限られない既存の技術のうちの任意の数の方法を使用して実装することができる。
【００８３】
推定器／評価器１４０において実行される評価の結果は、最良のモデル結果を生じるパラメータセット｛ａｉ＾、ｄｉ＾｝＊である。また、最適モデルが推測された外部参照を利用する場合、これらの参照を再構成するために必要なパラメータはユニット１４０からの出力コードの一部になる。したがって、入力フレームのＣＯＭＰＬＥＴＥコードは、モデルパラメータ、適用可能な場合には、外部参照のパラメータを含むことができる。最終コードを推定器／評価器１４０から、シンセサイザ１５０に、また、記憶および／または送信のためにポストプロセッサ１６０に出力することができる。図２に示されている実施形態によれば、最適な回復フレームＹｋの所望のフォームは、モデル推定プロセスでセーブされなかった場合、供給されたパラメータからユニット１５０において合成され、記憶ユニット１１０に出力される。ユニット１６０は、さらに、手元のアプリケーションに適した手段によって記憶する／送信する前に、ＣＯＭＰＬＥＴＥコードを処理または変換することができる。たとえば、パラメータは、１４０において量子化されなかった場合、上述のような既存の技術の方法を使用して、パラメータをポストプロセッサ１６０において量子化することができる。
【００８４】
上述の分析ステップを、簡単な方法で、Ｂｄ（ｉ）の線形関数と非線形関数の重み付け和とで構成される任意の非線形モデルに移すことができる。さらに、一般非線形関数は、Ｂｄ（ｉ）ブロック自体の重み付け和と、何らかのパワーまで上げたＢｄ（ｉ）ブロックの要素とで構成される打ち切り多項式展開によって近似され得る。上述の分析方法は、以下のように、非線形モデルのそのような多項式展開を推定するように適応させることができる。遅延ｄｉは、前述のように、参照バッファ１３０においてデータブロックをインデックス付けすることができる。データＢ＾ｄ（ｉ）のブロックは、上述のように選択された遅延値について取り出され、新しいブロック｛Ｂ＾ｔｅｒｍ（ｃ）｝のセットを計算するために使用される。ここで、各Ｂ＾ｔｅｒｍ（ｃ）は、多項式展開のｃ番目の項に対応する。ブロック｛Ｂ＾ｔｅｒｍ（ｃ）｝を計算した後、多項式展開におけるそれらの対応する重みは、線形ＣＯＭＰＬＥＴＥの場合には、は、式３において｛Ｂ＾ｔｅｒｍ（ｃ）｝を｛Ｂｄ＾（ｉ）｝に代入することによって、係数｛ａ＾ｉ｝と同様に計算される。残りの分析は、上述の線形ＣＯＭＰＬＥＴＥについて説明したように進めることができる。
【００８５】
３．シンセサイザ１５０およびデコーダ２５０における信号の復号化
図３に、本発明の一実施形態による、受信したＣＯＭＰＬＥＴＥパラメータから信号を復元するＣＯＭＰＬＥＴＥシンセサイザ／デコーダの例示的なブロック図を示す。復号化とは、図２のシンセサイザ１５０において、また、図３のユニット２５０において実行される動作を指す。シンセサイザ（デコーダ）１５０／２５０は、元の入力フレームを供給されたパラメータから何らかの精度まで復元する。図２のシンセサイザ１５０の場合、合成されたパラメータは、推定器／評価器１４０から入力さら、図３のスタンドアロン復号システムの場合、パラメータは、送信されたコード／記憶されたコードから取得される。
【００８６】
図３に記載されたデコーダの実施形態では、信号は、１５０において合成された方法で、ユニット２５０において復元される。図３に示す実施形態では、ユニット２１０は、復元された「信号履歴」［Ｙｋ−ｐ，・・・，Ｙｋ−１］を、また、任意のアプリオリに定義された外部参照（それらの実際の波形か、それらの生成のために必要なパラメータ）を記憶し、配置する。２１０における配置は、図２のユニット１３０中のこれらの参照の配置をミラーリングする。また、推測された外部参照を生成するために必要なパラメータがある場合には、図３のデコーダに送信／記憶されたコードの一部として供給され、これらの外部参照波形を生成するために使用される。ユニット１５０／２５０に供給されたコード中の遅延｛ｄｉ｝のいずれも、現在のデータフレーム中の点のうちのいずれかをインデックス付けしない場合、現在のフレームＹｋは、フレームＸｋに関する上記式（２）によって求められたモデル推定値の計算と同様に、供給されたパラメータセットから復元される。つまり、
【数８】
0005815723.tif 000009
そうでない場合、少なくとも１つの遅延が現在の入力フレーム中のデータをインデックス付けする場合、シンセサイザ１５０／２５０は、現在のフレームの最も早い点から始まって、フレームの最後に向かってポイントごとにＹｋのエントリを合成し、各点は以下のように推定される。
【数９】
0005815723.tif 000010
ただし、ｂ（ｄ（ｉ）＋ｓ−１）は、（ｄ（ｉ）＋ｓ−１）≦ｍａｘｄの場合には既存の参照中の点を、またはそうでない場合には、現在のｙ（ｓ）より前に合成された現在のフレームの要素を参照し、１５０／２５０がアクセスするそれぞれのバッファ中に保持される。
【００８７】
モード２：ＣＯＭＰＬＥＴＥを従来技術の方法と組み合わせること
図４に、本発明の一実施形態による、一般的なマルチモードＣＯＭＰＬＥＴＥ／ＫＡＭシステムの構成要素を示す例示的なブロック図を示す。図４は、ハイブリッドマルチモードＣＯＭＰＬＥＴＥ／ＫＡＭシステム４００の一般的な構造を示し、このシステム４００は、ＣＯＭＰＬＥＴＥユニット１０ａ、１０ｂ、１０ｎ、および従来技術の様々な方法（ＫＡＭ）４０５ａ、４０５ｂ、・・・、４０５ｎ、ならびにそれらの組合せの様々な形態の中から選定することによって、入力フレームを符号化し、その様々なブロックおよびユニットは、ハードウェア、ソフトウェアまたはそれらの組合せにおいて実装され得る。システム４００の実施形態は、２つの実用的な機能、１）ＣＯＭＰＬＥＴＥの初期化、２）ＫＡＭの性能、あるいは代替的には、ＣＯＭＰＬＥＴＥ自体が所望のレベルの性能を提供しない適用例ではＣＯＭＰＬＥＴＥの性能を改善することを提供することができる。発明の概要において論じたように、非構造化エネルギー中の有意な立上り、不連続性、および信号において進行中のパターンが進化するスケールに対して短い時間スケールで生じる過渡信号など、入力信号におけるパターンブレークイベントは、ＣＯＭＰＬＥＴＥ性能に悪影響を及ぼすことがある。そのような場合、ＫＡＭまたはＣＯＭＰＬＥＴＥが単独で提供することができるものを上回るように性能全体を向上させるために、信号のいくつかの部分を符号化するためにＫＡＭ４０５を使用することができ、他の部分を符号化するためにＣＯＭＰＬＥＴＥを使用することができる。
【００８８】
図４のＣＯＭＰＬＥＴＥ／ＫＡＭシステム４００は、入力信号Ｘｋを分析し、Ｘｋをモデル化するためにはＣＯＭＰＬＥＴＥ１０、ＫＡＭ４０５、またはＣＯＭＰＬＥＴＥ１０／ＫＡＭ４０５の組合せのどれを使用すべきかを選択することができるプリセレクタ４１０と、プリセレクタ４１０および／またはポストセレクタ４３０によりアクティブ化することができる、様々なＣＯＭＰＬＥＴＥＳ１０およびＫＡＭ４０５モデル推定ユニットの集合を含むことができるＣＯＭＰＬＥＴＥ／ＫＡＭ符号化モジュール４１５と、ＣＯＭＰＬＥＴＥＳ１０によって、必要な場合には、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５の（１つまたは複数の）ＫＡＭ４０５ユニットがアクセスすることができる復元された以前の入力フレーム［Ｙｋ−ｐ，・・・，Ｙｋ−１］を含む記憶ユニット４２０と、最終的に選択された「最良の」モデルから記憶装置４２０およびポストプロセッサ４４０に関係する出力をルーティングし、任意選択で、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５から供給された候補モデルの出力を評価することができるポストセレクタ４３０と、ポストプロセッサ４４０とを含むことができる。
【００８９】
モード２の場合、マルチモードＣＯＭＰＬＥＴＥ／ＫＡＭシステムの入力フレームを生成するプリセレクタ４１０におけるデータ前処理機能は、モード１に記載した図１のプリプロセッサ１２０における前処理機能に類似し、したがって、この構成要素および関連する前処理ステップについての説明は、モード２については繰り返さない。同様に、図４のポストプロセッサユニット４４０における機能は、ポストプロセッサ４４０が、それらのモデル識別子コードと一緒に最終モデルのパラメータをパッケージングするための追加の機能を実行することができる点を除いて、モード１におけるポストプロセッサ１６０の機能と同様に実装することができる（図１参照）。モデル識別子コードは、モデルパラメータとともに、ポストセレクタ４３０によって４４０に供給され、現在のフレームを符号化するためにどのモデルまたはモデルの組合せが使用されたかを特定するために所与のシステムが必要とする最小ビット数で構成される。
【００９０】
プリセレクタ４１０およびポストセレクタ４３０、ならびに図４のＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５は、ＣＯＭＰＬＥＴＥ／ＫＡＭシステムの様々な実施形態のためのメインブロックを提供する。ＣＯＭＰＬＥＴＥ／ＫＡＭシステムの３つの基本的な実装の実施形態は、ユニット４１０および４３０、ならびにＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５によって実行される動作の記載の後に記載する。
【００９１】
その動作の一部として、プリセレクタ４１０は、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５中のＣＯＭＰＬＥＴＥ１０および／またはＫＡＭ４０５のセットを選択することができる。いくつかの実施形態では、プリセレクタ４１０の実装は、わずか２つのモデルから、単一のＣＯＭＰＬＥＴＥ１０および単一の実装されたＫＡＭ４０５を選択する単純なデマルチプレクサとすることができ、任意選択で、両者の組合せを選択してもよい。代替的には、プリセレクタ４１０は、入力信号Ｘｋの性質に基づいてＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５における方法を選択する高性能プロセスを実行することができる。そのような選択プロセスは、信号の統計プロパティおよび／または決定プロパティを反映する入力Ｘｋのパラメータを計算することと、これらのプロパティを分析することと、次いで、複数のＣＯＭＰＬＥＴＥ１０ａ〜１０ｎとＫＡＭ４０５ａ〜４０５ｎの組合せを選択してＸｋをモデル化するために、分析結果を使用することとを含むことができる。所与のアプリケーションに何が適しているかに応じて、入力Ｘｋの計算されたパラメータは、従来の方法を使用して取得することができる任意の数の信号の統計プロパティ、時間プロパティ、周波数プロパティおよび時間周波数プロパティを反映することができる。計算されたパラメータ値は、プリセットベースライン／しきい値、または他の所定の指標に関して分析することができる。
【００９２】
プリセレクタ４１０を使用することができる１つの機能は、「パターンブレーク」イベントを検出するための機能である。これらの実施形態の場合、プリセレクタ４１０は、知られている方法を使用して、現在のフレームおよび先行するフレームＸｋにわたる特定のパラメータの一貫性を分析することができる。たとえば、プリセレクタ４１０は、Ｘｋ中の確定エネルギーの分布を、いくつかの先行する入力フレーム［Ｘｋ−ｐ，・・・，Ｘｋ−１］中の確定エネルギーの分布と比較することができる。分布は、たとえば、基本周波数（音声コーディングではピッチ周期と呼ばれる）と、フレーム中の準周期的エネルギー（Ｖ）と雑音様のエネルギー（Ｕ）の比率を明らかにすることができる他のパラメータとを計算することによって測定することができる。これらのパラメータは、当技術分野で知られている方法を使用して推定することができる。たとえば、いくつかの音声コーダは、各フレームについて有声／無声判断を行うために、高速フーリエ変換（ＦＦＴ）のようなフーリエ変換（ＦＴ）ベースの方法を使用して、ＵパラメータおよびＶパラメータを計算する。準周期的エネルギーについての計算されたパラメータＶ（ｔ，ｗ）および雑音様のエネルギーについての計算されたパラメータＵ（ｔ，ｗ）は、時間（ｔ）と周波数（ｗ）との関数である。また、これらのパラメータを計算するための他の知られている方法を使用してもよい。この例では、先行するフレーム中のこれらの量の分布に対する所与のフレーム中の時間および周波数における準周期的エネルギーおよび雑音様エネルギーの計算された分布は、プリセレクタ４１０によりＣＯＭＰＬＥＴＥ１０およびＫＡＭ４０５を選択することができるか、また、いくつのＣＯＭＰＬＥＴＥ１０およびＫＡＭ４０５が選択されるかを制御することができる。所望の品質の出力を考慮に入れると、複数の知られている方法でも同様にそのような制御プロセスを実装することができる。たとえば、準周期的エネルギーＶおよび雑音様エネルギーＵの分布を、複数の範囲またはビンに区分することができ、ＣＯＭＰＬＥＴＥおよび／またはＫＡＭの具体的な選定を各ビンに割り当てることができる。
【００９３】
また、プリセレクタ４１０は、外部リソースから、制御コマンドを受信することができ、制御コマンドは、プリセレクタ４１０において設定を修正することができ、あるいは代替的には、決定論理の一部として制御コマンドをプリセレクタ４１０に組み込んでもよい。たとえば、いつ「パターンブレークイベント」が生じたかは、ＣＯＭＰＬＥＴＥ／ＫＡＭシステムの外部から知ることができ、そのような場合には、外部コマンドは、この情報をプリセレクタ４１０に供給することができ、したがって、プリセレクタ４１０は、そのような分析を実行することから解放される。
【００９４】
上述のように、図４のＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５は、１つまたは複数のＣＯＭＰＬＥＴＥ１０およびＫＡＭ４０５推定器の集合を含んでいる。ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５中の各ＣＯＭＰＬＥＴＥ１０は、ＣＯＭＰＬＥＴＥの異なる機能形式を推定する。たとえば、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５は、４つのＣＯＭＰＬＥＴＥユニットの集合を含むことができ、個々のユニットは各々、１〜４の範囲の特定の数の遅延を用いて線形ＣＯＭＰＬＥＴＥを推定する。ＣＯＭＰＬＥＴＥ１０またはＫＡＭ４０５は各々、プリセレクタ４１０、ポストセレクタ４３０からの入力、あるいはＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５内の別のＣＯＭＰＬＥＴＥ１０またはＫＡＭ４０５からの入力のいずれかによって「ｏｎ」されるまで、非アクティブのままでいると見なすことができる。したがって、ＣＯＭＰＬＥＴＥおよびＫＡＭユニットは、「ｏｎ」することができ、個々に、あるいは様々な組合せで、つまり、直列の組合せ、並列の組合せ、または直列の組合せと並列の組合せとの混合で提供された入力に適用することができる。「直列の」組合せでは、第１の選択されたユニットがＸｋを符号化し、次のユニットが、第１のユニットなどの残差出力を符号化し、最終結果は、たとえば、直列モデルとなる（ＣＯＭＰＬＥＴＥ１０ａ＋ＫＡＭ４０５ａ＋・・・ＫＡＭ４０５ｅ）。「並列の」組合せでは、第１の選択されたユニットは、Ｘｋの一部を符号化し、次のユニットがＸｋの他の部分を符号化し、以下同様である。さらに、これらの記載した手法は、ＣＯＭとＫＡＭとの任意の組合せを生成するために、互いに連携して使用することができる。
【００９５】
ＫＡＭ４０５ユニットは、知られている方法を使用してそれらのそれぞれのモデルを推定することができる。図４のＣＯＭＰＬＥＴＥ１０ユニットの場合、上述したＣＯＭＰＬＥＴＥ推定器／評価器１４０とＣＯＭＰＬＥＴＥ１０のシンセサイザ１５０とに関しては、以下を除いて、同じ実装を使用することができる（図２参照）。ＣＯＭＰＬＥＴＥ評価器／推定器１４０について上述した候補モデル品質の評価は、モード２では、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュールのモデル推定ユニット４１５とポストセレクタ４３０とで分割することができる。プロセスのこの部分を分割することができる方法は、特定のＣＯＭＰＬＥＴＥ／ＫＡＭシステム実装の選定に依存することがあり、いくつかの選定について、以下に詳述する。ただし、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５とポストセレクタ４３０とでモデル評価機能をどのように分けることができるかにかかわらず、プロセス全体および所与の方法の最適モデルを選択するために候補モデルを評価するために使用される指標は、ユニット１４０について使用されたプロセスおよび指標と同様である。さらに、いくつかの実施形態では、候補モデル出力は、それぞれのＣＯＭＰＬＥＴＥまたはＫＡＭ推定ユニット内で合成されることに留意されたい。代替実施形態は、実施形態のいくつかについて、これらのモデル出力を合成するためにＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５内のまたはその外側の他の構成要素を使用することができる。
【００９６】
図４に示したＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５中の別個のＣＯＭＰＬＥＴＥ１０およびＫＡＭ４０５は、記載を明瞭にするために、厳密には、異なる形態のＣＯＭＰＬＥＴＥ１０およびＫＡＭを表すために使用されることを理解されたい。いくつかのモデルタイプの推定は、単一のユニット内で達成することがき、あるいは何らかの方法でいくつかのユニットにわたって分割することができ、そのような場合には、所望のモデルに適した特定のタームを選択するためにソフトウェアまたはハードウェアが使用される。たとえば、４つの線形ＣＯＭＰＬＥＴＥを推定するために、各々が１〜４の範囲の異なる数の遅延を有する４つの別個のユニットを使用する代わりに、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５は、最高４つの遅延を可能にする単一のＣＯＭＰＬＥＴＥユニットを有することができ、モデル推定プロセス中に遅延の所望の数を選定する。
【００９７】
ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５におけるモデル推定プロセスが完了すると、さらなる処理のために、モデル化結果をポストセレクタ４３０に供給することができる。図４に示すように、ポストセレクタ４３０は、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５から結果を受信することができ、供給された結果を査定することもある。ＣＯＭＰＬＥＴＥ／ＫＡＭシステム４００の特定の論理構造の選定は、いくつの処理がポストセレクタ４３０において実行されるかを制御する（いくつかの利用可能な論理構造は以下に記載する）。特定の実装形態は、記載した処理ステップのすべてまたは一部を組み込むことができる、あるいはそれらを１つも組み込むことができないことを理解したうえで、ポストセレクタ４３０が実行することができる機能の完全セットについて以下に記載する。
【００９８】
ポストセレクタ４３０において実行することができる１つの機能は、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５から受信した分析結果の評価である。２つのタイプの評価を実行することができる。第１のタイプはモデル品質を評価し、このタイプの評価を使用して、単一のモデル化法から取得された様々な候補モデルの中から選択するのを補助することができる。評価の第２のタイプを使用して、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５において異なるＣＯＭＰＬＥＴＥ１０および／またはＫＡＭ４０５から取得された結果の中から選定することができる。評価の第１のタイプは、モード１でＣＯＭＰＬＥＴＥ推定器／評価器１４０について記載したモデル品質を評価するための方法を使用して、ポストセレクタ４３０において実装することができる。第２のタイプは、モード１におけるＣＯＭＰＬＥＴＥ推定器／評価器１４０と同じモデル品質を評価する方法を使用して実装することができるが、モデル品質に関するもの以外の性能尺度も含むことができる。例は、所与のパラメータセットを符号化するために必要なビット数に関するコーディング効率、計算量、環境雑音に対するモデルロバスト性、量子化ロバスト性、および当技術分野で知られており、手元の特定のアプリケーションに好適である他の性能指標を含む。すべてのこれらの知られている測度は、従来の方法を使用して計算することができる。さらに、複数の性能指標は、互いに連携してモデル品質に関係する測度とともに使用することができ、そのような場合には、評価は、典型的には、複数の指標に基づく性能トレードオフを含む。一例は、モデル品質とコーディング効率との間のトレードオフに関わる選択基準である。
【００９９】
評価結果は、ポストセレクタ４３０において行われる決定プロセスを制御することができる。１つの実装オプションは、ポストセレクタ４３０が、いくつかのプリセットクリテリアにしたがって最も良好なモデルを常に選択することであり、このモデルは、分析の最終結果として取られ、そのような場合には、ポストセレクタ４３０は、ポストプロセッサ４４０にモデル識別子コードとともに選択されたモデルパラメータを出力し、利用可能に場合には、選択された最適モデルのパラメータから復元された最終Ｙｋフレームを記憶装置４２０に出力する。最終Ｙｋが利用可能でない場合、ポストセレクタ４３０は、このＹｋを合成し、それをユニット４２０に出力するように、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５に命令する。代替的には、いくつかの実装オプションでは、ポストセレクタ４３０は、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５においてモデル推定プロセスを続けることを選ぶことができる。モデル推定プロセスの新しい反復を開始するために、ポストセレクタ４３０は、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５において、選択されたモデル推定ユニットをオンにし、任意の必要な入力をそれらに供給する。ポストセレクタ４３０を介して４１５中のユニットに供給されたデータフレームは、Ｘｋから導出された何らかの形態のデータを含むことができ、あるいは代替的には、この入力は、前の反復から取得することができ、たとえば、前の反復から取得された残差誤差である。これらのモデル推定ステップは、ポストセレクタ４３０が最終モデルを選び、選択されたモデルパラメータをモデル識別子コードとともにユニット４４０に出力し、また、直前に記載したように、選択されたモデルによって回復されるＹｋフレームをユニットに４２０に出力することによってモデル推定プロセスを終了するまで、反復して繰り返すことができる。
【０１００】
ＣＯＭＰＬＥＴＥ／ＫＡＭシステム４００について、プリセレクタ４１０、ＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５およびポストプロセッサ４３０において実行される様々な機能を異なる論理シーケンスで組み合わせることができる３つの基本論理構造が存在する。これらの実施形態は、先決定（ＤＦ：Ｄｅｃｉｓｉｏｎ−Ｆｉｒｓｔ）実施形態、後決定（ＤＬ：Ｄｅｃｉｓｉｏｎ−Ｌａｔｅｒ）実施形態、および混合決定（ＭＤ：Ｍｉｘｅｄ−Ｄｅｃｉｓｉｏｎ）実施形態と呼ばれることがある。音声コーダのためのＭＤ実施形態の具体的な例は、モード３に示す。
【０１０１】
先決定（ＤＦ）：ＤＦ実施形態は、図４のプリセレクタ４１０において、モデルの選定に関するすべての決定を行い、ＣＯＭＰＬＥＴＥ、ＫＡＭ、あるいはＣＯＭＰＬＥＴＥおよび／またはＫＡＭの組合せとすることができる所与のフレームＸｋを符号化するための１つの特定の方法を選択する。ＤＦ実施形態の基本的な例は、基本的なＣＯＭＰＬＥＴＥ／ＫＡＭシステムが１つのＣＯＭＰＬＥＴＥと１つのＫＡＭとで構成されるＣＯＭＰＬＥＴＥ初期化のためのシステムである。この場合、ユニット４１０は、システム動作の開始時に（かつ、再初期化を必要とするイベントの後に）ＫＡＭを選択する単純なスイッチセットであり、その後、ＣＯＭＰＬＥＴＥ動作をイネーブルするために十分な信号履歴［Ｙｋ−ｐ，・・・，Ｙｋ−１］をユニット４２０において生成する。これが行われた後、ＣＯＭＰＬＥＴＥを選択するようにプリセレクタ４１０を設定することができる。ＣＯＭＰＬＥＴＥ１０ａ〜１０ｎおよびＫＡＭ４０５ａ〜４０５ｎの複数の選定の中から選択することができるより複雑なＤＦ実装を取得することができ、かかるＤＦ実装は、プリセレクタ４１０に関する記載で上述したような入力Ｘｋの分析を採用する。
【０１０２】
後決定（ＤＬ）：ＤＬ実施形態は、プリセレクタ４１０ではなくポストセレクタ４３０において、１つまたは複数のモデルの選定に関するすべての決定を行う。ＤＬストラテジにより、いくつかの可能な実施形態を可能になる。最も基本的なＤＬストラテジは、ＣＯＭＰＬＥＴＥ／ＫＡＭ４１５において、すべての利用可能な方法オプションについての候補モデルを計算し、次いで、ポストセレクタ４３０は、モデル品質と、ポストセレクタ４３０について上述した他の性能尺度とを査定するための１つまたは複数の評価指標を使用して、それらのそれぞれの最良のモデルから取得された結果を比較することによって、すべての方法オプションの中から選択する。このストラテジは、たとえば、クリテリアの何らかの所定のセットにしたがって最も良好な実行モデルを選定することが目的であるときに使用することができる。より複雑なＤＬストラテジは、各ステップが、ＣＯＭＰＬＥＴＥ／ＫＡＭ４１５において複数の候補モデルを生成することと、所望の性能が得られるまで、ポストセレクタ４３０においてこれらのモデルからの結果を評価することとを含む、いくつかの反復的ステップで構成することができる。たとえば、評価クリテリアがトレードオフを、たとえば、モデル品質についてのプリセット要件を満たしつつ、またはそれを上回りつつ、最低ビットレートを提供するＣＯＭＰＬＥＴＥ／ＫＡＭモデルを発見するための基準を含んでいるときに、このＤＬストラテジを使用することができる。この例では、最初に、上記方法を使用して、最低ビットレートを提供するモデルを発見することができ、その出力品質が所望の要件を満たしていない場合、所望の品質のモデルに達するまで次の最低ビットレートモデルについてこのプロセスが繰り返される。
【０１０３】
反復的なＤＬ実施形態は、知られている決定プロトコルに基づいて、より複雑な論理を組み込むことができる。たとえば、１つの反復的なステップによる結果を評価し、その結果に基づいて、次の反復のために、前のステップにおいて使用されたセットから、まったく異なるＣＯＭＰＬＥＴＥ１０またはＫＡＭ４０５のセットをポストセレクタ４３０によって選定することができる。たとえば、ポストセレクタ４３０は、所与の反復の評価の結果に基づいて、使用する方法を、ＣＯＭＰＬＥＴＥ１０からＫＡＭ４０５に切り替えてもよい。さらに、ポストセレクタ４３０は、元の入力フレームＸｋから導出された信号について推定すべき、あるいは代替的には、前の反復のうちの１つにおいて評価されたモデルから取得された残差誤差について推定すべき新しいモデルを指示することができる。所定の数の反復が完了すると、反復プロセスは終了することができる。代替的には、ポストセレクタ４３０は、プリセットされたクリテリアを満たすモデルを発見すると、反復を終了すると決定することができる。
【０１０４】
混合決定（ＭＤ）：ＭＤ実施形態は、ＤＦストラテジの属性とＤＬストラテジの属性とを組み合わせるために、プリセレクタ４１０とポストセレクタ４３０の両方を使用することができる。ＭＤ実施形態では、プリセレクタ４１０は、ＤＦ実施形態において行われる単一の方法を指定するのではなく、各フレームについて評価すべき可能な方法のセットを選択することができる。ユニット４３０は、選定されたモデルが評価された後、選定されたモデルの中からさらなる選択を行うことができる。したがって、４１０を使用して、所与のフレームについて考察する必要があるＣＯＭＰＬＥＴＥ／ＫＡＭモジュール４１５において、ＣＯＭＰＬＥＴＥ１０およびＫＡＭ４０５の選定を絞り込むことができる。同時に、しかるべき場合には、ポストセレクタ４３０は、選定されたモデルを評価した後にこの判断を変更し、プリセレクタ４１０によって最初には選択されない別のモデルを選定することができる。
【０１０５】
上述のストラテジは、様々な方法でＣＯＭＰＬＥＴＥとＫＡＭとを組み合わせる、可能な実施形態の無限セットを展開する少数の基本的なシステム実装オプションを表すことを理解されたい。
【０１０６】
復号化
すべてのＣＯＭＰＬＥＴＥ／ＫＡＭ実施形態では、デコーダは、受信したモデル識別子コードを評価し、それに応じて、Ｘｋを符号化するために使用される方法に対応する方法を使用して、出力信号Ｙｋを再構成する。コーダによって使用されるそのような方法は、ＣＯＭＰＬＥＴＥまたはＫＡＭでも、あるいはＣＯＭＰＬＥＴＥおよび／またはＫＡＭの組合せでもよい。ＫＡＭによって符号化された信号の各部分は、そのＫＡＭのための知られている復号方法を使用して復号される。ＣＯＭＰＬＥＴＥによって符号化された信号の各部分は、モード１に記載した対応するＣＯＭＰＬＥＴＥ復号方法を使用して復号される。復元されたフレームは、コーダ側の記憶装置４２０中の復元されたフレームの蓄積をミラーリングする方法で、デコーダの記憶ユニットに蓄積され、必要に応じて、将来のフレームを復元する際に使用される。
【０１０７】
モード３：音声コーダ／デコーダ
モード３は、モード１およびモード２で論じた実施形態のいくつかの具体的な例を提供する。図５に、本発明の一実施形態による、マルチモードＣＯＭＰＬＥＴＥ／ＰＡＣＴ実装を利用する音声分析（符号化）システムの一例を示す例示的なブロック図を示す。図５は、現代のコーデックのビットレートに匹敵するビットレートでトール品質音声を生成することが可能であり、本発明のモード２に記載した混合ＣＯＭＰＬＥＴＥ／ＫＡＭストラテジを使用して実装される音声コーダ５０の必須の部分のブロック図を示している。重要なポイントのうちのいくつかをより簡単に示すことができるように、モード３は、ＣＯＭＰＬＥＴＥモデルの完全発振器（ＣＯＭ：Ｃｏｍｐｌｅｔｅ  Ｏｓｃｉｌｌａｔｏｒ）部分を使用する。モデルのＣＯＭ部分は、データ履歴および現在のフレームからのみ導出された参照を使用し、外部参照を使用しない。記載を簡単にするために、モード３に使用されるモデルをＣＯＭと呼ぶ。図５の音声コーダは、プリプロセッサモジュール５００と、初期化プロセスを制御するプリセレクタユニット５１０と、１つのＣＯＭ推定ユニット５２５および１つのＫＡＭ推定ユニット５３５を含むＣＯＭ／ＰＡＣＴ符号化モジュール５１５とを含み、以下に詳述するパルス型自己回帰コンペンセータ（ＰＡＣＴ：Ｐｕｌｓｅｄ  Ａｕｔｏｒｅｇｒｅｓｓｉｖｅ  Ｃｏｍｐｅｎｓａｔｏｒ）法を実装する。音声コーダ５０は、ＣＯＭ５２５がアクセスすることができる復元された以前の入力［Ｙｋ−ｐ，・・・，Ｙｋ−ｉ］を含む記憶ユニット５２０と、標準（非初期化）モードでモデル選択プロセスを制御し、以下に記載する関連情報をユニット５２０およびポストプロセッサ５４０にルーティングすることによって「最良の」モデルが発見された後に出力プロセスを開始するポストセレクタ５３０とをさらに含むことができる。ポストプロセッサ５４０は、モード２に記載した図４のポストプロセッサ４４０と同様に動作し、したがって、その説明は省略する。
【０１０８】
図５のプリプロセッサ５００は、モード１について上述した前処理モジュール１２０について記載されているが（図１を参照）、音声コーディングアプリケーションに適応した同じ一般的な方法を使用して入力データを処理する。入力データは、アナログの場合にはサンプリングされ、既存の技術によるウィンドウのうちの１つを使用してフレームを生成するためにウィンドウ化され、一般的な選定は、ハミングウィンドウ、ハンウィンドウまたはカイザーウィンドウである。データポイントの何らかの固定数だけそれらの先行する入力フレームと重複する入力データのフレームを生成するために、ウィンドウ化演算を適用されることができる。典型的には、フレームはまた、多くの知られている方法のうちの１つを使用して、雑音を除去するためにフィルタ処理される。音声コーディングでは、５ミリ秒（ｍｓ）から４０ｍｓに及ぶウィンドウが一般的である。いくつかの実施形態では、モード３は２０ｍｓの三角ウィンドウと、５０％フレーム重複とを使用する。生成されたフレームは各々、プリプロセッサ５３０によってプリセレクタ５１０に出力することができる。
【０１０９】
プリセレクタ５１０は、ＣＯＭ５２５またはＰＡＣＴ５３５のいずれかに現在の入力フレームを供給し、ＣＯＭ／ＰＡＣＴモジュール５１５においてどのモデルが最初に使用されるかを制御する。プリセレクタ５１０における動作は、いくつかの違いはあるが、モード２でのプリセレクタ４１０における初期化プロセスのために提供された概略的な説明に従う。詳細には、プリセレクタ５１０は、動作の開始時に、または入力信号中のブレークを検出した後に、「初期化」モードに切り替わる。所与の実装では、ユニット５１０は、１つのピッチ周期の最大時間帯であることが予想されるものをキャプチャするために、十分なフレームがユニット５２０に蓄積されるまで「初期化」モードのままでいる。たとえば、標準的なアメリカ英語で話されたコーディング音声では、典型的には、ユニット５２０において、フレーム中の３２ｍｓの連続音声をキャプチャすることで十分である。モード１に記載する他の問題は、記憶ユニット５２０に蓄積された複数のフレームも影響を及ぼすことがある。蓄積が完了した後、ユニット５１０を「標準」モードに切り替えることができる。「初期化」モードである間、ユニット５１０は、このフレームのモデル化を開始するために、現在の入力フレームにそれを入力することによって、モジュール５１５中のＰＡＣＴユニット５３５をアクティブ化することができる。「標準」モードで間、プリセレクタ５１０は、受信されたフレームをＣＯＭ５２５に入力することによって、ＣＯＭ／ＰＡＣＴモジュール５１５中のＣＯＭユニット５２５をアクティブ化する。
【０１１０】
いくつかの実施形態では、図５のＣＯＭ／ＰＡＣＴモジュール５１５は、式（２）に示した形態の線形４遅延ＣＯＭを推定するＣＯＭ５２５と、以下に記載する自己回帰線形予測子モデルを推定するＰＡＣＴ５３５とを含むことができる。提示された実施形態では、８次自己回帰線形予測子モデルが使用される。代替実施形態は、異なる数の遅延およびＣＯＭの非線形関数形式、ならびに異なる次数のＰＡＣＴ５３５およびＰＡＣＴではないＫＡＭをもつＣＯＭ５２５を使用することができる。ＣＯＭ５２５において、モード１に上述した一般的なＣＯＭ推定プロシージャの以下の実施形態を使用してＣＯＭの推定を実行する。最初に、以下に記載するように量子化されるすべての可能なパラメータのセットについて、候補モデル出力｛Ｙｋ＾［ＣＯＭｊ］，ｊ＝１，・・・，Ｊ｝のセットを計算する。上述の説明と同じように、上付き文字＾は、ここでは、候補値を示すために使用され、表記法［  ］は、所与の変数を計算するために使用される方法を示し、下付き文字ｊは、個々の候補パラメータセットを示すために使用されるインデックスである。次いで、前述の式（７）の知覚的に重み付けされた誤差（ＰＷＥ）指標を使用して、各候補モデルＹｋ＾［ＣＯＭｊ］の品質を評価することができ、最小ＰＷＥをもたらすパラメータ値を、最適モデルを提供するものとして識別し、これらのパラメータを、対応する出力Ｙｋ［ＣＯＭ］とともにポストセレクタ５３０に供給する。
【０１１１】
以下のように、ＰＡＣＴ５３５においてＰＡＣＴモデルの推定を実行することができる。いくつかの実施形態では、下記の式にしたがって、８次自己回帰線形予測子モデルを求める。
【数１０】
0005815723.tif 000011
ここで、Ｘｋは、前述のように、何らかのＬ長入力シーケンスを示し、Ｘｕ（ｚ）は、遅延ｚであるデータのＬ長ブロックであり、それは、ブロックがＸｋ中の最後の点の前のｚ個のサンプルを開始することを意味し、Ｅｋは、予測誤差として知られているモデル化誤差であり、ｂｕは、たとえば、レビンソン−ダービンアルゴリズムまたは従来技術にしたがった何らかの他の方法を使用してＥｋを最小限に抑えることによって発見される係数を表す。入力は、式（９）にしたがって推定されたパラメータから再生成され、ただし、Ｅｋは、通常、式（１０）に示すように近似される。Ｒｋで示される近似は、以下の通り、ディラックのデルタ関数によって表されるスケーリングされた時間シフトパルスの組合せとして計算される。
【数１１】
0005815723.tif 000012
ここで、δｐ（ｖ）は、現在のフレーム内の点ｐ（ｖ）で振幅１であり、その他の場合には０であるディラックのデルタ関数を示し、
ｐ（ｖ）は、現在のフレーム内のパルスｖの位置を示し、
ｃｖは、パルスｖの利得を示し、
Ｐは、近似において使用されるパルス数であり、所与の実施形態ではＰ＝８である。
【０１１２】
ＰＡＣＴモデルの候補パラメータセットは、パルス位置｛ｐｖ｝と係数｛ｃｖ｝とで構成され、複数の方法を使用して生成することができる。このモードにおいてＣＯＭパラメータを生成するために採用される１つのオプションは、同じ方法を適応させることである。この場合、遅延｛ｄｉ｝と同じ方法でパルス位置｛ｐｖ｝を選定することができ、式（３）の｛ａｉ｝と同じ方法で係数｛ｃｖ｝を計算することができる。また、本発明おける特許請求の範囲を減少させることなく、他の基本的なパラメータ生成法を使用することができる。また、たとえば、以下に記載するように、ＰＡＣＴモデルパラメータを量子化されることができ、上述の候補ＣＯＭの評価と同じ指標を使用して候補ＰＡＣＴモデルの品質を評価することができる。具体的には、候補ＰＡＣＴモデルからの合成結果を表す｛Ｙｋ＾［ＰＡＣＴｊ］，ｊ＝，・・・，Ｔ｝を発見し、それを使用してＰＷＥを計算する。最適モデルを提供するように、最小ＰＷＥをもたらすパラメータ値を選択される。
【０１１３】
ＣＯＭモデルおよびＰＡＣＴモデルのパラメータは、ＣＯＭ／ＰＡＣＴモジュール５１５中のそれぞれのユニットにおいて量子化することができる。以下の実施形態は、８ｋＨｚレートで入力がサンプリングされる狭帯域音声コーダを仮定する。この場合、２０ｍｓの入力フレームは、ＣＯＭについての２５６個の可能な遅延値とＰＡＣＴモデルについての１６０個のパルス位置とに変換する１６０個のデータポイント（Ｌ＝１６０）を含むことができ、値のセットはいずれも正の整数である。両セットは、８ビットを使用して直接的に量子化することができる。使用するビット数を低減するために、モード３のこの実施形態は、遅延およびパルスロケーションをインターリーブされたサブセットに区分する以下の知られている方法を使用することができる。
【０１１４】
遅延は、６４個のエントリを含むサブセットに区分することができ、各サブセット内の個々の位置は６ビットを使用して表される。ＰＡＣＴパルスロケーションは３２個のエントリを含むサブセットに区分され、各グルーピング内の個々の位置は５ビットを使用して表される。ＣＯＭ係数｛ａｉ｝は、知られているベクトル量子化法の１つを使用して、１２ビットに量子化される。したがって、この実施形態のＣＯＭコードにおいて使用される総ビット数は、（６＊４）＋１２＝３６ビット／フレームである。ＰＡＣＴ線形予測子モデルの係数は、当技術分野に標準的であるように、線スペクトル周波数に変換することができ、知られている分割ベクトル量子化法を使用して量子化することができる。次いで、結果を、各々４つの周波数の２つのサブベクトルに分け、１１ビットを使用して各サブベクトルを符号化し、その結果、合計１１＋１１＝２２ビットが係数を表すことになる。ＰＡＣＴモデルにおけるパルスの重みは、知られているベクトル量子化法のうちの１つを使用して１３ビットに量子化され、その方法は、ＣＯＭ係数を量子化するために使用される方法と同じ方法とすることができる。この例でＰＡＣＴを表すために使用される総ビット数は、２２＋（５＊８）＋１３＝７５ビット／フレームである。
【０１１５】
コーダの動作モードは、ポストセレクタ５３０において実行される機能のシーケンスを制御する。「初期化」モードでは、システム５０が進行して次のフレームを処理している間に、ポストセレクタ５３０は、最適なＰＡＣＴモデルについての量子化パラメータセットを受信し、以下に記載するコードを出力するプロセスを開始する。「標準」モードでは、ポストセレクタ５３０は、最良の候補ＣＯＭモデルから得られた合成出力Ｙｋ［ＣＯＭ＊］を、対応する量子化パラメータセットとともにモジュール５１５から受信し、Ｙｋ［ＣＯＭ＊］を使用して、式（５）で求められる信号対雑音比（ＳＮＲ）指標を計算する。上付き文字＊は、所与の変数が得られる最適モデルを示す。ＳＮＲ［ＣＯＭ＊］が何らかの所定の量（たとえば、本実施形態では、１ｄＢを使用する）よりも小さい場合、信号の冗長性は不十分であり、フレームを符号化するためにＰＡＣＴモデルを使用しなければならないことを示すものとして解釈される。この場合、ポストセレクタ５３０は、プリセレクタ５１０に、ＰＡＣＴ推定を開始するＣＯＭ／ＰＡＣＴモジュール５１５中のＰＡＣＴユニットにＸｋを入力するようにプロンプトを出す。そうでない場合、ポストセレクタ５３０は、ＰＡＣＴ推定を開始するＣＯＭ／ＰＡＣＴモジュール５１５中のＰＡＣＴユニットに残差誤差Ｅｋ＝Ｘｋ−Ｙｋ［ＣＯＭ＊］を供給する。
【０１１６】
入力Ｘｋまたは残差誤差成分Ｅｋのいずれかを含むフレームをＰＡＣＴ５３５が受信した後、第２のモデル推定が実行され、既述の方法と同様に、ＰＡＣＴモデルを推定し、いずれの場合の受信フレームもモデル化すべき入力として処理される。現在の反復において最適な「ＰＡＣＴを発見された後、入力Ｘｋがモデル化された場合には対応する合成出力Ｙｋ［ＰＡＣＴ＊］が、あるいは残差誤差Ｅｋがモデル化された場合にはＹｋ［ＣＯＭ＊＋ＰＡＣＴ＊］が、ＰＡＣＴ５３５によって、対応する量子化パラメータセットとともにポストセレクタ５３０に供給され、式（６）によって求められるＬｏｇスペクトル距離（ＬＳＤ）指標を計算するために使用される。入力Ｘｋが第２の反復においてモデル化される場合には、ポストセレクタ５３０は、以下に記載するコードを出力するプロセスを開始し、システムが進行して、次のフレームを処理する。他の場合は、両方の合成出力Ｙｋ［ＣＯＭ＊］とＹｋ［ＣＯＭ＊＋ＰＡＣＴ＊］について、ＬＳＤ指標が計算される。２つ合成出力の差が何らかのしきい値よりも小さい場合、たとえば、この実施形態ではＬＳＤ〔ＣＯＭ＊〕−ＬＳＤ［ＣＯＭ＊＊＋ＰＡＣＴ＊］＜０．５ｄＢが使用される場合、ＣＯＭ５２５が最終モデルとして選定され、そうでない場合には、ＰＡＣＴ５３５が選定される。いずれの場合においても、ポストセレクタ５３０は、以下で説明するように、コードを出力することのプロセスを開始し、システムが進行して、次のフレームＸｋ＋１を処理する。
【０１１７】
ポストセレクタ５３０においてコードを出力するプロセスは、選定されたパラメータとモデル識別子コードとをポストプロセッサ５４０に供給することで構成される。さらに、出力プロセスの一部として、ポストセレクタ５３０は、典型的にはモデル識別のプロセスで計算された、選定されたパラメータから合成された信号を記憶装置５２０に供給し、そうでない場合、ポストセレクタ５３０は、その計算を開始することができる。
【０１１８】
記載した基本的な実施形態は、平均９．７７キロビット／秒（ｋｂｐｓ）の無雑音試験条件でトール品質音声を生成する。このコーダの全体的性能は、ビットレートと知覚品質の両方に関して、最新技術Ｇ．７２９と最高品質モードで動作するＡＭＲコーダとの中間である。現在のモードにおいて使用される基本的な実施形態は、簡単かつ明瞭に提示するために選択された例である。また、上記で指定されたパラメータに対する変更は、限定されずに、本発明によって網羅される。さらに、モード１およびモード２に記載した原理に基づいて様々な最適化オプションを実装することによって、本明細書に記載したベースラインから、コーダ性能を向上させることができる。
【０１１９】
デコーダにおける音声復元
モード３の場合、音声フレームは、上述のモード１およびモード２の復号方法を使用してデコーダにおいて再構成される。
【０１２０】
本発明の教示に照らして本発明の教示によれば、当業者には、上記ステップおよび／またはシステムモジュールのいずれかを適切に交換する、並べ替える、および除去さすることができ、特定の適用例のニーズに応じて、追加のステップおよび／またはシステムモジュールを付け加えることができること、ならびに、上記実施形態のシステムは、多種多様な好適なプロセスおよびシステムモジュールのいずれかを使用して実装することができ、特定のコンピュータハードウェア、ソフトウェア、ミドルウェア、ファームウェア、マイクロコードなどに限定されるものではないことが容易に認識されるであろう。コンピューティングマシン上で本出願に記載した任意の方法ステップを実行することができる場合、典型的なコンピュータシステムは、適切に構成または設計されたときに、本発明のそれらの態様を実施することができるコンピュータシステムとして機能することができる。
【０１２１】
図６に、適切に構成または設計されたときに、本発明を実施することができるコンピュータシステムとして機能することができる典型的なコンピュータシステムを示す。コンピュータシステム６００は、主記憶装置６０６（典型的には、ランダムアクセスメモリまたはＲＡＭ）を含む記憶デバイスと１次記憶装置６０４（典型的には読取り専用メモリまたはＲＯＭ）とに結合された任意の数のプロセッサ６０２（中央処理ユニットまたはＣＰＵとも呼ばれる）を含む。ＣＰＵ６０２は、（たとえば、埋込み型ＲＡＭ／ＲＯＭを備える）マイクロコントローラと、プログラマブルデバイス（たとえば、ＲＩＳＣまたはＳＩＳＣベースの、あるいはＣＰＬＤおよびＦＰＧＡ）およびゲートアレイＡＳＩＣまたは汎用マイクロプロセッサのような非プログラマブルデバイスなどのマイクロプロセッサを含む様々なタイプのものとすることができる。よく知られているように、１次記憶装置６０４は、データおよび命令をＣＰＵに短方向で転送するよう働き、１次記憶装置６０６は、典型的にはデータおよび命令を双方向で転送するために使用される。これらの１次記憶デバイス両方とも、上述したもののような任意の好適な非一時的コンピュータ可読媒体を含み得る。また、ＣＰＵ６０２に大容量記憶デバイス６０８を双方向に結合することができ、大容量記憶デバイス６０８は、追加のデータ記憶容量を提供して、上述の非一時的コンピュータ可読媒体のうちのいずれかを含み得る。大容量記憶デバイス６０８は、プログラム、データなどを記憶するために使用されることができ、典型的には、ハードディスクのような２次記憶媒体である。大容量記憶デバイス６０８内に保持される情報は、適切な場合には、標準的な方法で、仮想メモリとしての１次記憶装置６０６の一部として組み込むことができることが理解されよう。また、ＣＤ−ＲＯＭ６１４のような特定の大容量記憶デバイスは、単方向でデータをＣＰＵにパスすることができる。
【０１２２】
また、ＣＰＵ６０２は、ビデオモニタ、トラックボール、マウス、キーボード、マイクロフォン、タッチセンシティブディスプレイ、トランスデューサカードリーダ、磁気テープ読取り装置または紙テープ読取り装置、タブレット、スタイラス、ボイス認識装置または手書き認識装置、あるいはもちろん、他のコンピュータのような他のよく知られている入力デバイスなど、１つまたは複数の入出力デバイスに接続するインターフェース６１０に結合することができる。最後に、ＣＰＵ６０２は、任意選択で、６１２に全般的に示すような外部接続を使用して、データベースまたはコンピュータまたは電気通信またはインターネットネットワークのような外部デバイスに結合することができ、６１２は、好適な従来の技術を使用して、ハードワイヤードまたはワイヤレス通信リンクとして実装することができる。そのような接続を用いると、ＣＰＵは、本発明の教示において説明した方法ステップを実行する過程において、ネットワークから情報を受信することができ、またはネットワークに情報を出力することができることが企図される。
【０１２３】
任意の添付の要約書および図面を含めて、本明細書に開示したすべての特徴は、
別段に明記されていない限り、同じ目的または等価の目的または同様の目的を果たす代替的特徴によって交換することができる。したがって、別段に明記されていない限り、開示した特徴は各々、包括的な一連の同等の特徴または同様の特徴の１つの例に過ぎない。
【０１２４】
本発明の１つの実施形態を十分に説明したので、当業者には、本発明による信号コーディングおよび復号化の他の等価の方法または代替的な方法が明らかであろう。本発明を例として上述してきたが、開示した特定の実施形態は、本発明を開示した特定の形態に限定することを目的とするものではない。したがって、本発明は、添付の特許請求の範囲の趣旨および範囲内となるすべての修正形態、均等形態、代替形態を網羅するものである。
【０１２５】
本出願のクレーム要素およびステップは、読みやすさと理解とを単に補助するために番号が付された、および／または符号が付されたものである。任意のそのような番号および符号自体は、特許請求の範囲の要素および／またはステップの順序を示すことを意図するものではなく、また、そのように解釈すべきではない。
【図１】
0005815723.tif 000013
【図２】
0005815723.tif 000014
【図３】
0005815723.tif 000015
【図４】
0005815723.tif 000016
【図５】
0005815723.tif 000017
【図６】
0005815723.tif 000018