(57)【特許請求の範囲】
【請求項１】
入力サンプルのストリームにおける夫々の入力サンプルを受け取り、当該入力サンプルにＦＩＲフィルタを適用し、前の入力サンプルに基づき生成された予測フィルタ処理データにＩＩＲフィルタを適用し、前記ＦＩＲフィルタの出力から前記ＩＩＲフィルタの出力を減算し、該減算の結果を量子化し、当該入力サンプルから前記量子化された減算の結果を減じることによって、当該入力サンプルに基づき予測フィルタ処理データを生成するよう構成される予測フィルタを設定するようＩＩＲ係数セットの所定のパレットを用いる方法であって、
（ａ）前記パレットの中のＩＩＲ係数セットの夫々について、当該ＩＩＲ係数セットにより前記ＩＩＲフィルタを設定し、そのようにして設定された前記ＩＩＲフィルタを備える前記予測フィルタの出力が所定の基準を満足する場合に当該ＩＩＲ係数セットを選択ＩＩＲ係数セットとして識別するステップと、
（ｂ）前記選択ＩＩＲ係数セットにより設定される前記ＩＩＲフィルタを用いる前記予測フィルタによって生成される予測フィルタ処理データに対して再帰演算を実行することによって、前記ＦＩＲフィルタのための最適ＦＩＲ係数セットを決定するステップと、
（ｃ）前記最適ＦＩＲ係数セットにより前記ＦＩＲフィルタを設定し且つ前記選択ＩＩＲ係数セットにより前記ＩＩＲフィルタを設定して、前記予測フィルタを設定するステップと
を有する方法。
【請求項２】
前記（ａ）のステップは、前記予測フィルタの出力が最も低いレベルとなるよう前記ＩＩＲフィルタを設定する前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するステップを有する、
請求項１に記載の方法。
【請求項３】
前記（ａ）のステップは、最適な基準の組み合わせを満足するよう前記ＩＩＲフィルタを設定する前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するステップを有し、前記基準のうちの１つは、前記選択ＩＩＲ係数セットとして識別されるＩＩＲ係数セットにより設定される前記予測フィルタの出力が、前記パレットの中のＩＩＲ係数セットの夫々により設定される前記予測フィルタの出力の中で最も低いレベルを有することである、
請求項１に記載の方法。
【請求項４】
前記予測フィルタは、前記入力サンプルのストリームを有する入力データを符号化することによって符号化出力データを生成するよう動作するエンコーダに含まれ、当該方法は、
前記エンコーダを、前記選択ＩＩＲ係数セットを示すフィルタ係数データとともに少なくとも１つの出力部で前記符号化出力データをアサートするよう動作させるステップ
を更に有する、請求項１に記載の方法。
【請求項５】
前記フィルタ係数データは、前記選択ＩＩＲ係数セットである、
請求項４に記載の方法。
【請求項６】
前記（ａ）のステップは、前記予測フィルタの出力のレベルと、前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するのに必要とされるサイドチェーンデータの量との和が最も低い値となるよう前記ＩＩＲフィルタを設定する前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するステップを有する、
請求項１に記載の方法。
【請求項７】
前記（ａ）のステップは、前記予測フィルタの出力のレベルと、前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するのに必要とされるサイドチェーンデータの量と、前記ＩＩＲ係数セットのうちの当該１つにより設定される前記ＩＩＲフィルタを用いる前記予測フィルタを用いて符号化されたデータを復号するのに必要とされるサイドチェーンデータの量との和が最も低い値となるよう前記ＩＩＲフィルタを設定する前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するステップを有する、
請求項１に記載の方法。
【請求項８】
前記予測フィルタは、前記入力サンプルのストリームを有する入力データを符号化することによって符号化出力データを生成するよう無損失エンコーダに含まれ、デコーダ予測フィルタを含む無損失デコーダは、前記入力データを回復するよう前記符号化出力データを復号するよう動作し、前記デコーダ予測フィルタは、前記復号されたデータにＦＩＲフィルタを適用し、前に復号されたデータに基づき生成された予測フィルタ処理データにＩＩＲフィルタを適用し、前記ＩＩＲフィルタの出力から前記ＦＩＲフィルタの出力を減算し、該減算の結果を量子化し、該量子化された減算の結果と前記復号されたデータとを加算することによって、前記復号されたデータに基づき予測フィルタ処理データを生成するよう構成され、当該方法は、
前記エンコーダを、前記選択ＩＩＲ係数セットを示すフィルタ係数データとともに少なくとも１つの出力部で前記符号化出力データをアサートするよう動作させるステップと、
前記選択ＩＩＲ係数セットにより前記デコーダ予測フィルタのＩＩＲフィルタ及びＦＩＲフィルタのうちの１つを設定することによって、前記フィルタ係数データに応答して前記無損失デコーダの前記デコーダ予測フィルタを設定するステップと
を更に有する、請求項１に記載の方法。
【請求項９】
前記予測フィルタは、前記入力サンプルのストリームを有する入力オーディオデータを符号化することによって符号化出力オーディオデータを生成するよう動作する無損失オーディオデータエンコーダに含まれ、当該方法は、
前記無損失オーディオデータエンコーダを、前記選択ＩＩＲ係数セットを示すフィルタ係数データとともに少なくとも１つの出力部で前記符号化出力オーディオデータをアサートするよう動作させるステップ
を更に有する、請求項１に記載の方法。
【請求項１０】
入力サンプルのストリームにおける夫々の入力サンプルを受け取り、当該入力サンプルにＦＩＲフィルタを適用し、前の入力サンプルに基づき生成された予測フィルタ処理データにＩＩＲフィルタを適用し、前記ＦＩＲフィルタの出力から前記ＩＩＲフィルタの出力を減算し、該減算の結果を量子化し、当該入力サンプルから前記量子化された減算の結果を減じることによって、当該入力サンプルに基づき予測フィルタ処理データを生成するよう動作するように構成される予測フィルタと、
前記予測フィルタへ結合され、前記予測フィルタ処理データに応答して符号化出力データを生成するよう構成されるサブシステムと
を有し、
前記予測フィルタは、
前記ＩＩＲフィルタ及び前記ＦＩＲフィルタを設定するようＩＩＲ係数セットの所定のパレットを用いる設定モードにおいて、
前記パレットの中のＩＩＲ係数セットの夫々について、当該ＩＩＲ係数セットにより前記ＩＩＲフィルタを設定し、そのようにして設定された前記ＩＩＲフィルタを備える前記予測フィルタの出力が所定の基準を満足する場合に当該ＩＩＲ係数セットを選択ＩＩＲ係数セットとして識別することと、
前記選択ＩＩＲ係数セットにより設定される前記ＩＩＲフィルタを用いる前記予測フィルタによって生成される予測フィルタ処理データに対して再帰演算を実行することによって、前記ＦＩＲフィルタのための最適ＦＩＲ係数セットを決定することと、
前記最適ＦＩＲ係数セットにより前記ＦＩＲフィルタを設定し且つ前記選択ＩＩＲ係数セットにより前記ＩＩＲフィルタを設定して、前記予測フィルタを設定することと
によって動作するよう構成される、
エンコーダ。
【請求項１１】
前記サブシステムは、少なくとも１つの出力部で前記選択ＩＩＲ係数セットを示すフィルタ係数データとともに前記符号化出力データをアサートするよう構成される、
請求項１０に記載のエンコーダ。
【請求項１２】
前記フィルタ係数データは、前記選択ＩＩＲ係数セットである、
請求項１１に記載のエンコーダ。
【請求項１３】
当該エンコーダは無損失エンコーダであり、前記予測フィルタは、オーディオデータサンプルに応答して前記予測フィルタ処理データを生成するよう動作するように構成される、
請求項１１に記載のエンコーダ。
【請求項１４】
前記予測フィルタは、前記予測フィルタの出力のレベルと、前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するのに必要とされるサイドチェーンデータの量との和が最も低い値となるよう前記ＩＩＲフィルタを設定する前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するよう前記設定モードにおいて動作するように構成される、
請求項１１に記載のエンコーダ。
【請求項１５】
前記予測フィルタは、前記予測フィルタの出力のレベルと、前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するのに必要とされるサイドチェーンデータの量と、前記ＩＩＲ係数セットのうちの当該１つにより設定される前記ＩＩＲフィルタを用いる前記予測フィルタを用いて符号化されたデータを復号するのに必要とされるサイドチェーンデータの量との和が最も低い値となるよう前記ＩＩＲフィルタを設定する前記ＩＩＲ係数セットのうちの１つを前記選択ＩＩＲ係数セットとして識別するよう前記設定モードにおいて動作するように構成される、
請求項１１に記載のエンコーダ。
【請求項１６】
ＩＩＲフィルタ係数セットの前記パレットは、ＩＩＲフィルタ係数の少なくとも２つの組を有し、該２つの組の夫々は、前記ＩＩＲフィルタを決定するのに十分な係数を有し、前記パレットは、
（ａ）少なくとも１つの制約に従って、トレーニングセットの中の入力信号の１つに対して非線形最適化を実行することによって前記パレットの中のＩＩＲフィルタ係数の組から少なくとも１つの組を決定することと、
（ｂ）前記少なくとも１つの制約に従って、前記トレーニングセットの中の入力信号の他の１つに対して非線形最適化を実行することによって前記パレットの中のＩＩＲフィルタ係数の組から少なくとも１つの他の組を決定することと
によることを含む、前記入力信号のトレーニングセットにわたって非線形最適化を実行することによって、予め決定されている、
請求項１０に記載のエンコーダ。
【請求項１７】
選択ＩＩＲ係数セットを示すフィルタ係数データを受け取るよう結合されるデコーダであって、前記選択ＩＩＲ係数セットは、ＩＩＲ係数セットのパレットから請求項１０に記載のエンコーダによって選択され、当該デコーダは更に符号化データを受け取るよう結合され、当該デコーダは、
前記符号化データに応答して部分的に復号されたデータを生成するよう構成される復号サブシステムと、
前記復号サブシステムへ結合され、前記復号されたデータにＦＩＲフィルタを適用し、前に復号されたデータに基づき生成された予測フィルタ処理データにＩＩＲフィルタを適用し、前記ＩＩＲフィルタの出力から前記ＦＩＲフィルタの出力を減算し、該減算の結果を量子化し、該量子化された減算の結果と前記復号されたデータとを加算することによって、前記復号されたデータに基づき予測フィルタ処理データを生成するよう構成される予測フィルタと
を有し、
前記予測フィルタは、前記フィルタ係数データに応答して前記選択ＩＩＲ係数セットにより前記ＩＩＲフィルタ及び前記ＦＩＲフィルタの１つを設定するよう動作するように構成される、
デコーダ。
【請求項１８】
前記フィルタ係数データは、前記選択ＩＩＲ係数セットである、
請求項１７に記載のデコーダ。
【請求項１９】
前記予測フィルタの前記ＩＩＲフィルタは、フィードバック構成における有限インパルス応答フィルタであり、前記フィルタ係数データは更に、ＦＩＲ係数セットを示し、前記予測フィルタは、前記フィルタ係数データに応答して前記選択ＩＩＲ係数セットにより前記ＦＩＲフィルタを設定し且つ前記ＦＩＲ係数セットにより前記ＩＩＲフィルタを設定するよう動作するように構成される、
請求項１７に記載のデコーダ。
【請求項２０】
無損失復号装置である、請求項１７に記載のデコーダ。
【請求項２１】
前記復号サブシステムは、オーディオデータサンプルに応答して前記部分的に復号されたデータを生成するよう動作するように構成される、
請求項２０に記載のデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測フィルタ（例えば、オーディオデータエンコーダ又はデコーダにおける予測フィルタ）を設定（適応更新によることを含む。）する方法及びシステムに関する。本発明の典型的な実施形態は、フィードバックフィルタ係数のパレットを生成して、そのパレットを用いて予測フィルタ（例えば、オーディオデータエンコーダ又はデコーダにおける予測フィルタ）である（又はその要素である）フィードバックフィルタを設定する（例えば、適応更新する）方法及びシステムである。
【背景技術】
【０００２】
特許請求の範囲を含む本開示の全体を通して、信号又はデータ“に対して”動作（例えば、フィルタ処理又は変換）を実行するとの表現は、広い意味において、信号又はデータに対して直接に、あるいは、信号又はデータの処理された形に対して（例えば、その動作の実行の前に予備的なフィルタ処理を受けた信号の形に対して）動作を実行することを表すために使用される。
【０００３】
特許請求の範囲を含む本開示の全体を通して、表現“システム”は、広い意味において、装置、システム、又はサブシステムを表すために使用される。例えば、サンプルシーケンスにおいて次のサンプルを予測するサブシステムは予測システム（又は予測器）と呼ばれることがあり、そのようなシステムを含むシステム（例えば、サンプルシーケンスにおいて次のサンプルを予測する予測器と、予測されたサンプルを用いて符号化又は他のフィルタ処理を実行する手段とを含むプロセッサ）も予測システム又は予測器と呼ばれることがある。
【０００４】
特許請求の範囲を含む本開示の全体を通して、動詞“有する”又は“含む”は、広い意味において“である又は含む”を表すために使用され、動詞“有する”又は“含む”の他の形は同じく広い意味において使用される。例えば、ここでの“フィードバックフィルタを含む予測フィルタ”との表現は、フィードバックフィルタである（すなわち、フィードフォワードフィルタを含まない）予測フィルタ又は、フィードバックフィルタ（及び少なくとも１つの他のフィルタ、例えばフィードフォワードフィルタ）を含む予測フィルタのいずれかを表す。
【０００５】
予測器は、入力信号（例えば、入力サンプルのストリームの現在のサンプル）の推定を何らかの他の信号（例えば、現在のサンプル以外の入力サンプルのストリームにおけるサンプル）から導出し、任意に更にその推定を用いて入力信号にフィルタをかけるために使用される信号処理要素（例えば、段）である。予測器はしばしば、一般的に、信号統計における変化量に応答する時間変化係数を有して、フィルタとして実施される。通常、予測器の出力は、推定される信号と原信号との間の差の何らかの指標を示す。
【０００６】
デジタル信号処理（ＤＳＰ）システムにおいて見受けられる一般的な予測器構成は、目的の信号（予測器へ入力される信号）のサンプルのシーケンスを用いて、順に次のサンプルを推定又は予測する。目的は、通常、夫々の予測される成分を目標の信号の対応するサンプルから減じることによって目標の信号の振幅を減じること（それによって、残余のシーケンスを生成すること）であり、通常は更に、結果として得られる残余のシーケンスを符号化することである。これは、必要とされるデータレートが通常は信号レベルを減少させるにつれて低下するために、データレート圧縮コーデックシステムにおいて好ましい。デコーダは、何らかの必要な予備的復号を残余に対して実行し、次いでエンコーダによって使用される予備的なフィルタを複製し、夫々の予測／推定された値を残余の対応する１つに加えることによって、（符号化された残余である）送信された残余から原信号を回復する。
【０００７】
特許請求の範囲を含む本開示の全体を通して、「予測フィルタ」との表現は、予測器におけるフィルタ又は、フィルタとして実施される予測器のいずれかを表す。
【０００８】
如何なるＤＳＰフィルタも、予測器において用いられるものを含め、フィードフォワードフィルタ（有限インパルス応答（すなわち、ＦＩＲ）フィルタとしても知られる。）若しくはフィードバックフィルタ（無限インパルス応答（すなわち、ＩＩＲ）フィルタとしても知られる。）又はＩＩＲフィルタ及びＦＩＲフィルタの組み合わせとして、少なくとも数学的に分類され得る。フィルタの各タイプ（ＩＩＲ及びＦＩＲ）は、それをより１又は他の用途又は信号条件に従順とする特性を有する。
【０００９】
予測フィルタの係数は、正確な推定を提供するために信号ダイナミクスに応答して必要に応じて更新されるべきである。実際のところ、これは、入力信号から速やかに且つ簡単に許容可能な（又は最適な）フィルタ係数を計算することができる必要性を強いる。適切なアルゴリズムが例えばレビンソン・ダービン再帰法のようにフィードフォワード予測フィルタのためには存在するが、フィードバック予測器のための同様のアルゴリズムは存在しない。このため、ほとんどの実際の予測器実施形態は、信号状態がフィードバック配置の使用に有利に働く場合でさえ、まさにフィードフォワード構造を用いる。
【００１０】
２００３年１２月１６日に発行された本発明と同一出願人による米国特許第６６６４９１３号明細書（特許文献１）は、エンコーダと、エンコーダの出力を復号するデコーダとについて記載する。エンコーダ及びデコーダの夫々は予測フィルタを有する。実施例の一種（例えば、本開示の図２に示される実施例）において、予測器フィルタはＩＩＲフィルタ及びＦＩＲフィルタの両方を有し、波形信号（例えば、オーディオ又はビデオ信号）を示すデータの符号化における使用のために設計される。図２に示される実施形態では、予測フィルタはＦＩＲフィルタ５７（図２に示されるフィードバック構成において接続される。）及びＦＩＲフィルタ５９を有し、それらの出力は減算段５６によって結合される。段５６から出力される差分値は、量子化段６０において量子化される。段６０の出力は、加算段６１において入力サンプル（“Ｓ”）と足し合わされる。動作において、図２の予測器は、入力サンプル（“Ｓ”）と該サンプルの量子化された予測された形（かかるサンプルの予測された形は、フィルタ５７及び５９の出力の間の差によって決定される。）との和を夫々示す残余値（図２において残余“Ｒ”として示される。）を（段６１の出力として）アサートすることができる。
【００１１】
ドルビーラボラトリーズライセンシングコーポレイションによって開発された“Ｄｏｌｂｙ  ＴｒｕｅＨＤ”技術を具現する市販のエンコーダ及びデコーダは、上記の特許文献１に記載されたタイプの符号化及び復号化方法を用いる。“Ｄｏｌｂｙ  ＴｒｕｅＨＤ”技術を具現するエンコーダは無損失デジタルオーディオコーダーであり、これは、復号された出力（互換デコーダの出力で生成される。）が入力を正確にビット対ビットでエンコーダと整合させるべきことを意味する。本質的に、エンコーダ及びデコーダは、ある種類の信号をよりコンパクトな形態で表現するための共通プロトコルを共有し、それにより、デコーダが原信号を回復することができるようにしながら送信データレートが低減されるようにする。
【００１２】
特許文献１は、フィルタ５７及び５９（並びに同様の予測フィルタ）が、（入力波形を符号化するために各試験セットを用いて）取り得るフィルタ係数の選択から成る小さな組の夫々を試し、（入力データのブロックに応答して生成された）出力データのブロックにおいて最小の平均出力信号レベル又は最小のピークレベルを与える組を選択し、選択された組の係数によりフィルタを設定することによって、符号化データレート（出力“Ｒ”のデータレート）を最小限とするよう構成され得ることを示唆する。当該特許は、更に、予測フィルタを設定するために、選択された組の係数がデコーダへ送信されて、デコーダにおいて予測フィルタに読み込まれ得ることを示唆する。
【００１３】
２０１０年７月１３日に発行された米国特許第７７５６４９８号明細書（特許文献２）は、信号を受信しながら可変な速度で移動するモバイル通信端末を開示する。端末は、一次ＩＩＲフィルタを有する予測器を有し、ＩＩＲフィルタ係数の予測される対のリストが予測器へ与えられる。端末の動作の間（端末が特定の速度で移動する間）、一対の所定のＩＩＲフィルタ係数が、フィルタを設定するために候補フィルタリストから選択される（選択は、予測結果と、ノイズが起こらない結果との間の比較に基づく。）。選択は端末の速度が変化するにつれて更新され得るが、フィルタ係数を変えるにも関わらず信号連続性の問題に対処するための示唆がない。特許文献２は、リスト内の各対が、端末が異なる速度で移動しているときにフィルタを設定するのに適していると実験の結果として決定されると述べるだけで、どのように候補フィルタリストが生成されるのかを教示しない。
【００１４】
本発明までは、（時々刻々と出力信号エネルギを最小限とするよう）予測フィルタのＩＩＲフィルタ（例えば、図２のシステムにおけるフィルタ５７）を適応更新することが提案されてきたが、（例えば、時間にわたって変化しうる関連の信号条件の下での使用のために迅速且つ効率的にＩＩＲフィルタ及び／又はＩＩＲフィルタを有する予測フィルタを最適化するよう）効率的に、迅速に且つ効果的に如何にしてそうするのかは知られていない。また、フィルタ係数を変更するとの条件下で信号連続性の問題に対処する形で如何にしてそうするのかも知られていない。
【００１５】
特許文献１はまた、通常期待される波形スペクトルに整合する大いに異なったフィルタを決定する組を含むよう可能な予測フィルタ係数セット（所望の組が選択され得る少数の組）の第１グループを決定することを示唆する。次いで、第２の係数選択ステップが、（第１グループ内で最良の組が選択された後に）取り得る予測フィルタ係数セットの小さな第２グループからの最良のフィルタ係数セットの精緻な選択を行うよう実行され、第２グループ内の全ての組は第１のステップの間に選択されたフィルタに類似するフィルタを決定する。この工程は、前の繰り返しにおいて使用されたよりも類似する可能な予測フィルタのグループを毎回用いて繰り返され得る。
【００１６】
本発明までは、取り得る予測フィルタ係数セットの１又はそれ以上の小さなグループ（該グループから、所望の係数セットが予測フィルタを設定するために選択され得る。）を生成することが提案されてきたが、如何にして効率的且つ効果的にそのようなグループを決定して、グループ内の各組が関連の信号条件の下での使用のためにＩＩＲフィルタ（又はＩＩＲフィルタを有する予測フィルタ）を最適化する（又は適応更新する）のに有用であるようにするのかは知られていない。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】米国特許第６６６４９１３号明細書
【特許文献２】米国特許第７７５６４９８号明細書
【発明の概要】
【課題を解決するための手段】
【００１８】
実施形態の一種において、本発明は、予測フィルタである（又はその要素である）ＩＩＲフィルタを設定する（例えば、適応更新する）ためにＩＩＲ（フィードバック）フィルタ係数セットの所定のパレットを用いる方法である。通常、予測フィルタは、オーディオデータ符号化システム（エンコーダ）又はオーディオデータ復号システム（デコーダ）に含まれている。典型的な実施形態において、方法は、ＩＩＲフィルタ及びＦＩＲ（フィードフォワード）フィルタの両方を有する予測フィルタを設定するためにＩＩＲフィルタ係数の組（“ＩＩＲ係数セット”）の所定のパレットを使用し、方法は、前記パレットの中のＩＩＲ係数セットの夫々について、該ＩＩＲ係数セットの夫々により設定されるＩＩＲフィルタを入力データに適用することによって生成される出力を示す設定データを生成し、最低レベル（例えば、最低ＲＭＳレベル）を有する設定データを生成するよう前記ＩＩＲフィルタを設定する又は最適な基準の組み合わせ（設定データが最低レベルを有するとの基準を含む。）を満足するよう前記ＩＩＲフィルタを設定する前記ＩＩＲ係数セットの中の１つを（選択ＩＩＲ係数セットとして）識別するステップと、前記選択ＩＩＲ係数セットにより設定されるＩＩＲフィルタを有して予測フィルタを入力データに適用することによって生成される出力を示すテストデータに対して再帰演算（例えば、レビンソン・ダービン再帰法）を実行することによって最適ＦＩＲフィルタ係数セットを決定するステップと（通常、所定のＦＩＲフィルタ係数セットは、再帰のために初期候補ＦＩＲ係数セットとして用いられ、他の候補ＦＩＲフィルタ係数セットは、再帰が最適ＦＩＲフィルタ（係数セット）を決定するよう収束するまで再帰演算の逐次代入において用いられる。）、前記最適ＦＩＲ係数セットによりＦＩＲフィルタを設定し且つ前記選択ＩＩＲ係数セットによりＩＩＲフィルタを設定して、予測フィルタを設定するステップとを有する。
【００１９】
予測フィルタがエンコーダに含まれ、設定されている場合に、該エンコーダは、（符号化出力データを生成するために用いられる残余値を通常生成する予測フィルタを用いて）入力データを符号化することによって符号化出力データを生成するよう動作することができ、符号化出力データは、前記選択ＩＩＲ係数セットを示すフィルタ係数データ（これによりＩＩＲフィルタは符号化出力データの生成の間に設定されている。）とともに（例えば、デコーダへ又は、その後のデコーダへの供給のために記憶媒体へ）アサートされ得る。フィルタ係数データは、通常、前記選択ＩＩＲ係数セット自体であるが、代替的に、前記選択ＩＩＲ係数セットを示すデータ（例えば、パレット又はルックアップテーブルの索引）であってもよい。
【００２０】
幾つかの実施形態で、前記選択ＩＩＲ係数セット（ＩＩＲフィルタを設定するために選択されるパレット内の係数セット）は、Ａ＋Ｂの最も低い値を有する出力データを（入力データに応答して）生成するようＩＩＲフィルタを設定する前記パレット内のＩＩＲフィルタ係数セットとして識別され、Ａは、前記出力データのレベルを示し、Ｂは、当該ＩＩＲ係数セットを識別するために必要とされるサイドチェーンデータの量（例えば、デコーダが当該ＩＩＲ係数セットを識別することを可能にするようデコーダへ送信されるべきサイドチェーンデータの量）と、任意に更に、当該ＩＩＲ係数セットにより設定される予測フィルタを用いて符号化されたデータを復号するのに必要とされる何らかの他のサイドチェーンデータの量とである。この基準は、パレットにおけるＩＩＲ係数セットの一部が他より長い（より正確な）係数を有して、短い係数によって決定される効果的でないＩＩＲフィルタ（出力データのＲＭＳのみを考える。）がより長い係数によって決定されるより効果的なＩＩＲフィルタに対して選択され得るようにするので、幾つかの実施形態においては適切である。
【００２１】
幾つかの実施形態において、（ＩＩＲフィルタ又はＩＩＲフィルタ及びＦＩＲフィルタを有する）予測フィルタの設定の適応更新が起こる又は起こることが許されるタイミングは（例えば、予測符号化の効率を最適化するために）制限される。例えば、典型的な無損失エンコーダの予測フィルタが（本発明の実施形態に従って）再設定されるたびに、デコーダが符号化の間に夫々の状態変化を把握することを可能にするために新しい状態を示すオーバーヘッドデータ（サイドチェーンデータ）が送信されることを求めるエンコーダにおける状態変化が存在する。しかし、エンコーダの状態変化が予測フィルタの再設定以外の理由（例えば、サンプルの新しいブロック（例えば、マクロブロック）の処理の開始時に起こる状態変化）で起こる場合は、新しい状態を示すオーバーヘッドデータもデコーダへ送信されるべきであり、それにより、予測フィルタの再設定は、送信されるべきオーバーヘッドの量に加えることなしに（又は、全く加えることなしに）この時点で実行され得る。本発明の符号化方法及びシステムの幾つかの実施形態で、連続性決定動作は、いつエンコーダの状態変化が存在するのかを決定するために実行され、予測フィルタ再設定動作のタイミングは、然るべく制御される（例えば、予測フィルタの再設定は、状態変化イベントの発生まで保留される。）。
【００２２】
他の種類の実施形態において、本発明は、ＩＩＲ（“フィードバック”）予測フィルタ（すなわち、予測フィルタである又はその要素であるＩＩＲフィルタ）を設定（例えば、適応更新）するために使用可能であるＩＩＲフィルタ係数セットの所定のパレットを生成する方法である。パレットは、ＩＩＲフィルタ係数の少なくとも２つの組（通常は少数の組）を有し、該組の夫々は、ＩＩＲフィルタを設定するのに十分な係数を有する。一種の実施形態において、パレット内の係数の各組は、少なくとも１つの制約に従って入力信号の組（“トレーニングセット”）に対して非線形最適化を実行することによって生成される。通常、最適化は、最良予測、最大フィルタＱ、リンギング、フィルタ係数の許容される又は必要とされる数値精度（例えば、組の中の各係数はＸよりも多いビットを有してはならないという要件。Ｘは例えば１４に等しい。）、伝送オーバーヘッド、及びフィルタ安定性制約の中の少なくとも２つを含む複数の制約に従って実行される。少なくとも１つの非線形最適化アルゴリズム（例えば、ニュートン最適化及び／又はシンプレックス最適化）が、前記トレーニングセットの中の各信号の各ブロックごとに、当該信号のためのフィルタ係数の候補としての最適な組に到達するよう適用される。候補としての最適な組は、それによって決定されるＩＩＲフィルタが夫々の制約を満足する場合にパレットに加えられるが、ＩＩＲフィルタが少なくとも１つの制約に違反する場合（例えば、ＩＩＲフィルタが不安定である場合）は拒絶される（そして、パレットには加えられない）。候補としての最適な組が拒絶される場合には、同じく良好な（又は次に最良の）候補組（同じ信号について同じ最適化によって決定される。）が、その同じく良好な（又は次に最良の）候補組が夫々の制約を満足する場合にパレットに加えられてよく、処理は、係数セット（信号から決定される。）がパレットに加えられるまで繰り返す。パレットは、異なる限定的最適化アルゴリズムを用いて決定されるフィルタ係数セットを含んでよい（例えば、限定的ニュートン最適化及び限定的シンプレックス最適化が別々に実行されてよく、夫々による最良の解がパレットへの包含のために選び取られる。）。限定的最適化が受け入れ難いほど大きい初期パレットをもたらす場合には、プルーニング処理が、トレーニングセットの中の信号に対して初期パレットの中の各係数セットによって提供されるヒストグラム累算及び正味改善（net  improvement）の組み合わせに基づき、（初期パレットから少なくとも１つの組を削除することによって）パレットのサイズを小さくするために用いられる。
【００２３】
望ましくは、ＩＩＲフィルタ係数セットのパレットは、期待される範囲にある特性を有するあらゆる入力信号による使用のためにＩＩＲ予測フィルタを最適に設定する係数セットを含むように決定される。
【００２４】
本発明の態様は、本発明の方法にあらゆる実施形態を実行するよう構成された（例えば、プログラミングされた）システム（例えば、エンコーダ、デコーダ、又はエンコーダ及びデコーダの両方を有するシステム）と、本発明の方法のあらゆる実施形態を実行するようプロセッサ又は他のシステムをプログラミングするコードを記憶するコンピュータ読取可能な媒体（例えば、ディスク）とを含む。
【図面の簡単な説明】
【００２５】
【図１】ＩＩＲフィルタ（７）及びＦＩＲフィルタ（９）を有する予測フィルタを有するエンコーダのブロック図である。予測フィルタは、本発明の実施形態に従ってＩＩＲ係数セットの所定のパレット（８）を用いて設定（及び適応更新）される。
【図２】ＩＩＲフィルタ及びＦＩＲフィルタを有する、従来のエンコーダにおいて用いられるタイプの予測フィルタのブロック図である。
【図３】図１のエンコーダによって符号化されたデータを復号するよう構成されるデコーダのブロック図である。図３のデコーダは、本発明の実施形態に従って設定（及び適応更新）されるＩＩＲフィルタを有する。
【図４】本発明の方法の実施形態を実施するコードを記憶したコンピュータ読取可能な光ディスクの正面図である。
【発明を実施するための形態】
【００２６】
本発明の多くの実施形態は、技術的に可能である。如何にしてそれらを実施するのかは、本開示から当業者には明らかであろう。本発明のシステム、方法及び媒体の実施形態は、図１、３及び４を参照して記載される。
【００２７】
典型的な実施形態において、図１のシステム及び図３のシステムの夫々は、期待される入力データ（例えば、オーディオサンプル）の処理に適した構成を有し、本発明の方法の実施形態を実施するよう適切なファームウェア及び／又はソフトウェアにより構成される（例えば、プログラミングされる）デジタル信号プロセッサ（ＤＳＰ）として実施される。ＤＳＰは、集積回路（又はチップセット）として実施されてよく、そのプロセッサによってアクセス可能なプログラム及びデータメモリを有する。メモリは、実行されるべき本発明の方法の各実施形態を実施するのに必要とされるフィルタ係数パレット、プログラムデータ、及び他のデータを記憶するのに適した不揮発性メモリを有する。代替的に、図１及び図３のシステムの一方又は両方（又は本発明の他の実施形態）は、本発明の方法の実施形態を実施するよう適切なソフトウェアによりプログラミングされた汎用プロセッサとして実施され、あるいは、適切に構成されたハードウェアにおいて実施される。
【００２８】
通常、入力データサンプルの複数のチャンネルは、（図１の）エンコーダの入力へアサートされる。各チャンネルは、通常、入力オーディオデータのストリームを有し、多チャンネルオーディオプログラムの異なるチャンネルに対応することができる。夫々のチャンネルにおいて、エンコーダ１は、通常、入力オーディオサンプルの比較的小さいブロック（“ミクロブロック”）を受け取る。夫々のミクロブロックは４８個のサンプルを有してよい。
【００２９】
エンコーダ１は、次の機能、すなわち、再マトリクス化動作（図３の再マトリクス化段３によって表される。）、予測器５によって表される予測動作（予測サンプルの生成を含み、それらから残余を生成する。）、ブロック浮動小数点表示符号化動作（段１１によって表される。）、ハフマン符号化動作（ハフマン符号化段１３によって表される。）、及びパッキング動作（パッキング段１５によって表される。）を実行するよう構成される。幾つかの実施において、エンコーダ１は、それらの機能（及び任意に更なる機能）をソフトウェアにおいて実行するようプログラミングされた又は別なふうに構成されたデジタル信号プロセッサ（ＤＳＰ）である。再マトリクス化段３は、入力されたオーディオサンプルを符号化し（て、それらのサイズ／レベルを可逆的に低減し）、それによって符号化サンプルを生成する。入力サンプルの複数のチャンネルが再マトリクス化段３へ入力される（例えば、夫々の多チャンネルオーディオプログラムのチャンネルに夫々対応する）典型的な実施において、段３は、入力チャンネルの少なくとも１つの対の夫々のサンプルの和又は差を生成すべきかどうかを決定し、合計値及び差分値又は入力サンプル自体が出力されているかどうかを示すサイドチェーンデータとともに、その合計値及び差分値（例えば、そのような和又は差の夫々の重み付けされたもの）又は入力サンプル自体を出力する。通常、段３から出力される合計値及び差分値は、サンプルの重み付けされた和及び差であり、サイドチェーンデータは和／差係数を含む。段３によって実行される再マトリクス化処理は、二重の信号成分を相殺するよう入力チャンネル信号の和及び差を形成する。例えば、２つの同一の１６ビットチャンネルは、デコーダにおいて再マトリクス化を無効にするのに如何なるサイドチェーン情報も必要とせずに、サンプルごとに１５ビットの潜在的な節約を達成するよう１７ビットの和信号及び無の差信号として（段３において）符号化されてよい。
【００３０】
便宜上、エンコーダ１において実行される後の動作についての以下の記載は、段３の出力によって表されるチャンネルのうちの１つにおけるサンプル（及びその符号化）に言及する。記載される符号化は、全てのチャンネルにおけるサンプル（図１においてサンプル“Ｓｘ”として特定される。）に対して実行されると理解される。
【００３１】
予測器５は、次の動作、すなわち、減算（減算段４及び減算段６によって表される。）、ＩＩＲフィルタリング（ＩＩＲフィルタ７によって表される。）、ＦＩＲフィルタリング（ＦＩＲフィルタ９によって表される。）、量子化（量子化段１０によって表される。）、ＩＩＲフィルタ７の設定（ＩＩＲ係数パレット８から選択されるＩＩＲ係数の設定を実施する。）、ＦＩＲフィルタ９の設定、並びにフィルタ７及び９の設定の適応更新を実行する。段３によって生成される符号化（再マトリクス化）されたサンプルのシーケンスに応答して、予測器５は、そのシーケンス内の夫々の“次の”符号化サンプルを予測する。フィルタ７及び９は、それらの複合出力（段３からの符号化サンプルのシーケンスに応答する。）がシーケンス内の予測される次の符号化サンプルを示すように、実施される。予測される次の符号化サンプル（フィルタ７の出力をフィルタ９の出力から減じることによって段６において生成される。）は、段１０において量子化される。具体的に、量子化段１０において、（例えば、最も近い整数への）丸め演算が、段６において生成される夫々の予測された次の符号化サンプルに対して実行される。
【００３２】
段４において、予測器５は、フィルタ７及び９の量子化された複合出力Ｐｎの夫々の現在値を、段３からの符号化サンプルシーケンスの夫々の現在値から減じ、残余値のシーケンス（残余）を生成する。残余値は、段３からの夫々の符号化サンプルと、そのような符号化サンプルの予測されたものとの間の差を示す。段４において生成される残余値は、ブロック浮動小数点表示段１１へアサートされる。
【００３３】
より具体的に、段４において、フィルタ７及び９の量子化された複合出力Ｐｎ（前のサンプルに応答し、段３からの符号化サンプルのシーケンス及び段４からの残余値のシーケンスの“（ｎ−１）”番目の符号化サンプルを含む。）は、“（ｎ）”番目の残余を生成するようシーケンスの“（ｎ）”番目の符号化サンプルから減じられる。Ｐｎは、差Ｙｎ−Ｘｎの量子化されたものであり、Ｘｎは、前の残余値に応答してフィルタ７の出力でアサートされる現在値であり、Ｙｎは、シーケンス内の前の符号化サンプルに応答してフィルタ９の出力でアサートされる現在値であり、Ｙｎ−Ｘｎは、シーケンス内の予測される“（ｎ）”番目の符号化サンプルである。
【００３４】
段３で生成された符号化サンプルにフィルタをかけるＩＩＲフィルタ７及びＦＩＲフィルタ９の動作の前に、予測器５は、本発明の実施形態に従ってＩＩＲ係数選択動作（後述される。）を実行して、ＩＩＲフィルタ係数の組を（ＩＩＲ係数パレット８に予め保持されているそれらの所定の組から）選択し、選択されたＩＩＲ係数の組を実施するようＩＩＲフィルタ７を設定する。予測器５はまた、そのように設定されたＩＩＲフィルタ７による動作のために、ＦＩＲフィルタ９を設定するためのＦＩＲフィルタ係数を決定する。フィルタ７及び９の設定は、記載される方法において適応更新される。予測器５はまた、（パレット８からの）目下選択されているＩＩＲフィルタ係数の組及び任意に更に現在のＦＩＲフィルタ係数の組を示す“フィルタ係数”データをパッキング段１５へアサートする。幾つかの実施において、“フィルタ係数”データは、目下選択されているＩＩＲフィルタ係数の組（及び任意に更に対応するＦＩＲフィルタ係数の現在の組）である。代替的に、フィルタ係数データは、目下選択されているＩＩＲ（又はＦＩＲ及びＩＩＲ）係数の組を示す。パレット８は、エンコーダ１のメモリとして、又はエンコーダ１のメモリにおける記憶位置として実施されてよく、その中にＩＩＲフィルタ係数の多種多様な所定の組が（フィルタ７を設定し且つフィルタ７の設定を更新するために予測器５によってアクセス可能であるように）予め読み込まれている。
【００３５】
フィルタ７及び９の設定の適応更新に関連して、予測器５は、望ましくは、（段３において生成された）符号化サンプルの幾つのミクロブロックをフィルタ７及び９の夫々決定された設定を用いて更に符号化すべきかを決定するよう動作する。実際には、予測器５は、（設定が更新される前に）フィルタ７及び９の夫々決定された設定を用いて符号化される符号化サンプルの“マクロブロック”のサイズを決定する。例えば、予測器５の好ましい実施形態は、フィルタ７及び９の夫々決定された設定を用いて符号化すべきミクロブロックの数Ｎ（Ｎは１≦Ｎ≦１２８の範囲にある。）を決定する。フィルタ７及び９の設定（及び適応更新）は、以下でより詳細に記載される。
【００３６】
ブロック浮動小数点表示段１１は、予測段５において生成される量子化された残余に対して及び、同じく予測段５において生成されるサイドチェーンワード（“ＭＳＢデータ”）に対して動作する。ＭＳＢデータは、予測段５において決定される量子化された残余に対応する符号化サンプルの最上位ビット（ＭＳＢ）を示す。量子化された残余の夫々はそれ自体、符号化サンプルの異なる１つの最下位ビットのみを示す。ＭＳＢデータは、予測段５において決定される各マクロブロックにおける最初の量子化された残余に対応する符号化サンプルの最上位ビット（ＭＳＢ）を示してよい。
【００３７】
ブロック浮動小数点表示段１１において、予測器５において生成される量子化された残余のブロック及びＭＳＢデータは更に符号化される。具体的に、段１１は、各ブロックごとのマスター指数と、各ブロックにおける個々の量子化された残余ごとの個々の仮数とを示すデータを生成する。
【００３８】
４つの重要な符号化処理が図１のエンコーダ１において使用される。すなわち、再マトリクス化、予測、ハフマン符号化、及びブロック浮動小数点表示である。（段１１によって実施される）ブロック浮動小数点表示処理は、望ましくは、無音信号が高音信号よりも簡潔に運ばれ得るという事実を利用するよう実施される。例えば段１１へ入力されるフルレベル１６ビットの信号を示すブロックは、各サンプルの全１６ビットが運ばれる（すなわち、段１１から出力される）ことを必要とする。しかし、（段１１の入力へアサートされる）レベルにおいて４８ｄＢ低い信号を示す値のブロックは、各サンプルの上位８ビットが用いられずに削除される（デコーダによってリストアされる必要がある）ことを示すサイドチェーンワードとともに、段１１から出力されるサンプルごとの８ビットしか必要としない。
【００３９】
図１のシステムにおいて、（段３における）再マトリクス化及び（予測器５における）予測符号化の目標は、可逆に可能な限り信号レベルを低減して、段１１におけるブロック浮動小数点符号化から最大の利益を得ることである。
【００４０】
段１１の間に生成される符号化値は、更にそれらのサイズ／レベルを可逆に低減するようハフマン符号化段１３においてハフマン符号化を受ける。結果として得られるハフマン符号化値は、エンコーダ１からの出力のために、パッキング段１５においてパッキングされる。ハフマン符号化段１３は、望ましくは、個々の共通に起こるサンプルのレベルを、夫々についてルックアップテーブルからのより短い符号語を代用することによって低減し（その逆が図３のシステムのハフマンデコーダ２５において実施される。）、図３のデコーダにおける逆テーブルルックアップによる原サンプルの回復を可能にする。
【００４１】
パッキング段１５において、出力データストリームは、ハフマン符号化値（符号化器１３から）と、サイドチェーンワード（それらが生成されるエンコーダ１の各段から受け取られる）と、ＩＩＲフィルタ７の現在の設定を決定するフィルタ係数データ（予測器５から）（及び通常は更にＦＩＲフィルタ９の現在の設定）とをまとめてパッキングすることによって生成される。出力データストリームは、（エンコーダ１において実行される符号化は無損失圧縮であるから）圧縮されたデータである符号化データ（入力オーディオサンプルを示す。）である。デコーダ（図３のデコーダ２１）において、出力データストリームは、無損失で原入力オーディオサンプルを回復するよう復号され得る。
【００４２】
代替の実施形態において、予測器段５の予測フィルタは、図１に示された以外の構成（例えば、上記の特許文献１において記載される実施形態のいずれかの構成）を有するよう実施されるが、本発明に従って所定のＩＩＲ係数パレットを用いて設定可能である（例えば、適応更新可能である）。予測器段５の予測フィルタは、従来の実施が本発明の実施形態に従って変更されて、予測フィルタが本発明に従って所定のＩＩＲ係数パレット（パレット８）を用いて設定可能である（及び適応更新可能である）ようにする点を除いて、（例えば、上記の特許文献１に記載されるような）従来の方法において（図１に示される構成を有して）実施され得る。そのような更新の間、（パレット８に含まれるＩＩＲ係数セットの組から）ＩＩＲ係数セットの組が選択され、ＩＩＲフィルタ７を設定するために用いられ、ＦＩＲフィルタ９は、そのように設定されたフィルタ７とともに好ましい態様で（又は最適に）動作するよう設定される。ＦＩＲフィルタ９は、フィルタ９のそのような実施から出力される夫々の値が同じ入力に応答してフィルタ５９から出力される値の加法に関する逆元である点を除いて、図２のＦＩＲフィルタ５９と同じであってよく、（図１の予測器５の）減算段６は図２の減算段５６に取って代わることができ、（図１の予測器５の）減算段４は図２の加算段６１に取って代わることができ、（図１の予測器の）量子化段１０が図２の量子化段６０に取って代わることができ、（図１の予測器５の）ＩＩＲフィルタ７は、フィルタ７のそのような実施から出力される夫々の値が同じ入力に応答してフィルタ５７から出力される値の加法の逆元である点を除いて、（図２に示されるフィードバック構成において接続される）図２のＦＩＲフィルタ５７と同じであってよい。
【００４３】
次に、図３のデコーダ２１について記載する。
【００４４】
通常、符号化入力データの複数のチャンネルは、デコーダ２１の入力へアサートされる。夫々のチャンネルは、通常、符号化された入力オーディオサンプルのストリームを有し、多チャンネルオーディオプログラムの異なるチャンネル（又はエンコーダ１における再マトリクス化によって決定されるチャンネルの混合）に対応することができる。
【００４５】
デコーダ２１は、次の機能、すなわち、アンパッキング動作（図３のアンパッキング段２３によって表される。）、ハフマン復号化動作（ハフマン復号化段２５によって表される。）、ブロック浮動小数点表示復号化動作（段２７によって表される。）、予測器２９によって表される予測動作（予測されるサンプルの生成を含み、それらから復号サンプルを生成する。）、及び再マトリクス化動作（段４１によって表される。）を実行するよう構成される。幾つかの実施において、デコーダ２１は、それらの機能（及び任意に更なる機能）をソフトウェアにおいて実行するようプログラミングされた又は別なふうに構成されたデジタル信号プロセッサ（ＤＳＰ）である。
【００４６】
デコーダ２１は次のように動作する：
アンパッキング段２３は、（エンコーダ１の符号化器１３からの）ハフマン符号化値、（エンコーダ１の各段からの）全てのサイドチェーンワード、及び（エンコーダ１の予測器５からの）フィルタ係数データを解凍し、ハフマンデコーダ２５における処理のためのアンパック符号化値、予測器２９における処理のためのフィルタ係数データ、及びデコーダ２１の各段における処理のためのサイドチェーンワードのサブセットを必要に応じて提供する。段２３は、受け取ったハフマン符号化値の各マクロブロックのサイズ（例えば、ミクロブロックの数）を決定する値を解凍してよい（各マクロブロックのサイズは、（デコーダ２１の予測器２９の）ＩＩＲフィルタ３１及びＦＩＲフィルタ３３が再設定されるべきインターバルを決定する。）。
【００４７】
ハフマン復号化段２５において、ハフマン符号化値は（エンコーダ１において実行されたハフマン符号化動作の逆を実行することによって）復号され、結果として得られるハフマン復号化値はブロック浮動小数点表示復号化段２７へ与えられる。
【００４８】
ブロック浮動小数点表示復号化段２７において、エンコーダ１の段１１において実行された符号化動作の逆が（ハフマン復号化値のブロックに対して）実行され、符号化値Ｖｘを回復する。値Ｖｘの夫々は、エンコーダの予測器によって生成された量子化された残余（夫々の量子化された残余は、エンコーダ１の再マトリクス化段３において生成された符号化サンプルＳｘに対応する。）と、符号化サンプルＳｘのＭＳＢとの和に等しい。量子化された残余の値はＳｘ−Ｐｘであり、Ｐｘは、エンコーダ１の予測器５において生成されたＳｘの予測値である。符号化値Ｖｘは、予測器段２９へ与えられる。実際に、エンコーダ１のブロック浮動小数点段１１の出力によって決定される夫々の指数は、（同じく段１１の出力によって決定される）関連するブロックの仮数に逆加算される。予測器２９は、この動作の結果に対して動作する。
【００４９】
予測器２９において、ＦＩＲフィルタ３３は、通常、ＦＩＲフィルタ３３が予測器２９においてフィードフォワード構成で接続される点を除いて、図１のエンコーダ１のＩＩＲフィルタと同じであり（一方、フィルタ７は、エンコーダ１の予測器５においてフィードバック構成で接続される。）、ＩＩＲフィルタ３１は、通常、ＩＩＲフィルタ３１が予測器２９においてフィードバック構成で接続される点を除いて、図１のエンコーダ１のＦＩＲフィルタ９と同じである（一方、フィルタ９は、エンコーダ１の予測器５においてフィードフォワード構成で接続される。）。そのような典型的な実施形態において、フィルタ７、９、３１及び３３の夫々は、ＦＩＲフィルタ構成により実施される（夫々はＦＩＲフィルタであると考えられる。）が、フィルタ７及び３１の夫々は、ここでは、フィードバック構成で接続される場合に“ＩＩＲ”フィルタと呼ばれる。
【００５０】
予測器２９は、次の動作、すなわち、減算（減算段３０によって表される。）、加算（加算段３４によって表される。）、ＩＩＲフィルタリング（ＩＩＲフィルタ３１によって表される。）、ＦＩＲフィルタリング（ＦＩＲフィルタ３３によって表される。）、量子化（量子化段３２によって表される。）、並びにＩＩＲフィルタ３１及びＦＩＲフィルタ３３の設定、更には、フィルタ３１及び３３の設定の更新を実行する。（段２３で解凍される、エンコーダの予測器５からの）フィルタ係数データに応答して、予測器２９は、ＩＩＲ係数パレット８のＩＩＲ係数の組の中の選択された１つの組（この係数の組は、通常、ＩＩＲフィルタ７を設定するためにエンコーダ１において用いられた係数の組と同じである。）によりＦＩＲフィルタ３３を設定し、通常は更に、フィルタ係数データに含まれる（又はそれによって別なふうに決定される）係数（それらの係数は、通常、ＦＩＲフィルタ９を設定するためにエンコーダ１において用いられた係数と同じである。）によりＩＩＲフィルタ３１を設定する。フィルタ係数データがフィルタ３３を設定するために使用されるＩＩＲ係数の現在の組を（含むというよりむしろ）決定する場合に、そのＩＩＲ係数の現在の組は（図３において）予測器２９のパレット８からフィルタ３３へ読み込まれる（この場合に、図３のパレット８は、図１における予測器５の、同じ参照符号を付されたパレットと同じである。）。
【００５１】
フィルタ係数データがフィルタ３３を設定するために使用されるＩＩＲ係数の現在の組を（決定すると言うよりむしろ）含む場合に、パレット８はデコーダ２１から削除され（すなわち、ＩＩＲ係数のパレットはデコーダ２１において予め保持されず）、フィルタ係数データ自体がフィルタ３３を設定するために使用される。述べられたように、フィルタ係数データがフィルタ３３を設定するために使用される（パレット８内の）ＩＩＲ係数の組の１つを決定する代替の実施形態では、このＩＩＲ係数の組は（デコーダ２１に予め保持されている）パレット８から選択されて、フィルタ３３を設定するために使用され得る。いずれの場合にも、ＦＩＲフィルタ３３は（ＩＩＲ係数の特定の組を用いてフィルタ７により予測器５において符号化されたデータを復号するために使用される場合に）、同じ組のＩＩＲ係数の組により設定される。同様に、フィルタ係数データが、（図１の）予測器５のＦＩＲフィルタ９を設定するために使用されたＦＩＲ係数の組を含む場合に、ＩＩＲフィルタ３１は（同じＦＩＲ係数を用いてフィルタ９により予測器５において符号化されたデータを復号するためにフィルタ３１によって使用される）このＦＩＲ係数の組により設定される。ＦＩＲフィルタ３３（及びＩＩＲフィルタ３１）の設定は、通常、フィルタ係数データの夫々の新しい組に応答して更新される。
【００５２】
（図３のパレット８が通常は図１のパレット８と同じでなく、フィルタ３１を設定するためのＩＩＲ係数の所定の組を含むところの）代替のデコーダ実施において、予測器２９は、（本発明の方法のいずれかの実施形態に従って）所定のＩＩＲ係数パレット８からＩＩＲ係数の組の１つを選択し、その選択された１つの組によりＩＩＲフィルタ３１を設定し、通常は更に、然るべく（例えば、本発明の方法のいずれかの実施形態に従って）ＦＩＲフィルタ３３を設定するよう、（エンコーダ１の予測器５が実行するよう動作するのと同じタイプの）設定モードにおいて動作する。幾つかのそのような実施において、予測器２９は、適応的に（例えば、本発明の方法のいずれかの実施形態に従って）フィルタ３１及び３３を更新するよう動作する。この段落において記載される代替の実施は、予測器２９の構成が、そのような構成においてエンコーダの予測器により符号化されたサンプルを復号するために、エンコーダにおけるその対応部分の構成と整合するようにフィルタ３１及び３３を設定する限り、無損失エンコーダにおいて符号化されたデータを損失なしで再構成するのには適さない。
【００５３】
ＩＩＲフィルタ３１及びＦＩＲフィルタ３３の両方を有する本発明のデコーダのいずれかの実施形態において、ＩＩＲフィルタ３１及びＦＩＲフィルタ３３の一方の設定が決定される（又は更新される）たびに、フィルタ３１及び３３の他方の設定が決定される（又は更新される）。典型的な場合において、これは、（エンコーダから受け取られて、段２３で解凍された）フィルタ係数データの現在の組に含まれる係数によりフィルタ３１及び３３の両方を設定することによってなされる。そのような場合に、エンコーダは、全ての必要とされるＦＩＲ係数及びＩＩＲ係数を送信し、デコーダが如何なる計算も行う必要がなく且つ（既存のデコーダを変更する如何なる必要性も伴わずに如何なる時点でも変更され得る）エンコーダによって使用されるＩＩＲパレットを知る必要がないようにする。そのような場合に、（エンコーダからデコーダへの）係数の送信に対する必要性は、デコーダへ送信可能であるＩＩＲ係数＋ＦＩＲ係数の最大数と、（エンコーダの予測器及びデコーダの予測器において）使用可能であるフィルタ段の最大総数と、送信される係数について使用可能であるビットの最大総数とが通常存在するので、通常はエンコーダにおいて用いられるＩＩＲ係数パレットを生成する処理に制約を課す。
【００５４】
再び図３のデコーダ２１を参照して、フィルタ３１及び３３は、それらの複合出力が（段２７において生成された）符号化値Ｖｘのシーケンスに応答してそのシーケンスにおける予測される次の符号化値Ｖｘを示すように、実施されて設定される。段３０において、予測器２９は、フィルタ３３の出力の夫々の現在値をフィルタ３１の出力の現在値から減じて、予測値のシーケンスを生成する。量子化段３２において、予測器２９は、段３０で生成された夫々の予測値に対して丸め演算を実行することによって、量子化値のシーケンスを生成する。
【００５５】
段３４において、予測器２９は、フィルタ３１及び３３の複合出力の夫々の量子化された現在値（段３２から出力される予測される次の符号化値Ｖｘ）を符号化値Ｖｘのシーケンスの夫々の現在値へ加えて、符号化値Ｓｘのシーケンスを生成する。
【００５６】
段３４で生成される符号化値Ｓｘの夫々は、エンコーダ１の再マトリクス化段３で生成され（て、次いでエンコーダ１の予測器段５における予測符号化を受け）た符号化オーディオサンプルＳｘの対応する１つの正確に回復されたものである。予測器段２９において生成される量子化値Ｓｘの各シーケンスは、エンコーダ１の再マトリクス化段３において生成された符号化値Ｓｘの対応するシーケンスと同じである。
【００５７】
予測器段２９で生成される量子化値Ｓｘは、再マトリクス化段４１において再マトリクス化を受ける。再マトリクス化段４１において、エンコーダ１の再マトリクス化段３で実行された再マトリクス化符号化の逆が値Ｓｘに対して実行されて、エンコーダ１へそもそもアサートされた原入力オーディオサンプルを回復する。それらの回復されたサンプルは、図３では“出力オーディオサンプル”と記され、通常はオーディオサンプルの複数のチャンネルを有する。
【００５８】
図１のシステムの夫々の符号化段は、通常、それ自身のサイドチェーンデータを生成する。再マトリクス化段３は再マトリクス化係数を生成し、予測器５はＩＩＲフィルタ係数の更新された組を生成し、ハフマン符号化器１３は（同じルックアップテーブルを実施すべきデコーダ２１による使用のための）特定のハフマンルックアップテーブルの索引を生成し、ブロック浮動小数点表示段１１はサンプルの各ブロックごとのマスター指数と個々のサンプル仮数とを生成する。パッキング段１５は、全ての符号化段から全てのサイドチェーンデータを取ってそれらを全てまとめてパッキングするマスターパッキングルーチンを実施する。図３におけるアンパッキング段２３は、逆の（アンパッキング）動作を実行する。
【００５９】
デコーダ２１の予測器段２９は、エンコーダによって実施されるのと同じ予測器を（段２７から）自身へ入力される値のシーケンスに適用して、そのシーケンスにおける次の値を予測する。予測器段２９の典型的な実施において、夫々の予測値は、エンコーダ１の再マトリクス化段３から出力された符号化サンプルを再構成するよう、段２７から受け取られた対応する値へ加えられる。また、デコーダ２１は、エンコーダ１へアサートされた原の入力サンプルを回復するよう、（エンコーダ１において実行された）ハフマン符号化動作及び再マトリクス化動作の夫々逆を実行する。
【００６０】
図１のシステムは、望ましくは、無損失デジタルオーディオ符号化器として実施され、（図３のエンコーダの互換性のある実施の出力で生成される）復号化出力は、ビット対ビットで正確に図１のシステムへの入力と整合すべきである。本発明のエンコーダ及びデコーダ（例えば、図１のエンコーダ及び図３のデコーダ）の好ましい実施は、エンコーダから出力される符号化データのデータレートは低減されるがデコーダがエンコーダへ入力される原信号を回復することができるように、ある種の信号をよりコンパクトな形で表現するための共通プロトコルを共有する。
【００６１】
図１のシステムの予測器５は、ＩＩＲフィルタ及びＦＩＲフィルタ（ＦＩＲフィルタ９及びＩＩＲフィルタ７）の組み合わせを用いる。協働して、それらのフィルタは前のサンプルに基づき次のオーディオサンプルの推定を生成する。推定は（段６において）実際のサンプルから減じられ、量子化されて更なる符号化のために段１１へアサートされる残余サンプルの振幅低減をもたらす。フィードバックフィルタ及びフィードフォワードフィルタ（例えば、ＩＩＲフィルタ７及びＦＩＲフィルタ９）の両方を有する予測フィルタを用いる利点は、フィードバックフィルタ及びフィードフォワードフィルタの夫々が最も良く適する信号条件下で有効である点である。例えば、ＦＩＲフィルタ９は、ＩＩＲフィルタ７よりも少ない係数を有して信号スペクトルにおけるピークを補償することができ、一方、反対は信号スペクトルにおける突然の減少についてそう言える。代替的に、本発明の予測フィルタ（及びそれが実施されるエンコーダ又はデコーダ）の幾つかの実施形態はフィードバック（ＩＩＲ）フィルタしか有さない。
【００６２】
有効に機能するために、本発明の予測器の実施形態におけるＦＩＲフィルタ及びＩＩＲフィルタの係数は、入力信号の特性を予測器と整合させるよう選択されるべきである。効率的な標準ルーチンは、信号ブロックを与えられるＦＩＲフィルタを設定するために存在する（例えば、レビンソン・ダービン再帰法）が、そのようなアルゴリズムは、孤立して又はＦＩＲフィルタと協調して、ＩＩＲフィルタを設定するために存在しない。本発明の一種の実施形態に従って（予測器のＩＩＲフィルタを設定するための）ＩＩＲフィルタ係数の効率的な選択を可能にするよう、ＩＩＲフィルタの組を定義する予め計算されたＩＩＲフィルタ係数のパレットが限定的非線形最適化（例えば、限定的ニュートン法及び限定的シンプレックス法の一方又は両方）を用いて生成される。この処理は、パレットを用いた予測フィルタの実際の設定の前に実行されるので、時間がかかってもよい。ＩＩＲフィルタ係数の組（ＩＩＲフィルタを定義する各組）を有するパレットは、設定される予測フィルタを実施するシステム（例えば、エンコーダ）に利用可能にされる。通常、パレットはシステム（例えば、エンコーダ）に記憶されるが、代替的に、それは外部に記憶されて、必要に応じてアクセスされてよい。パレットが記憶されたメモリは、時々ここでは便宜上、パレット自身をさす（例えば、予測器５のパレット８は、本発明に従って生成されたパレットを記憶するメモリである。）。パレットは、望ましくは、エンコーダが、パレット内の係数の組によって決定される夫々のＩＩＲフィルタを迅速に試し、最も良く働く１つを選択することができるほど十分に小さい（十分に短い）。夫々の候補ＩＩＲフィルタを試した後、（ＦＩＲフィルタ及びＩＩＲフィルタを有する予測フィルタを実施する）エンコーダは、ＦＩＲフィルタ係数の最適な組を決定するよう、（選択された係数セットにより設定されたＩＩＲフィルタを用いて決定された）ＩＩＲ残余出力に対して効率的なレビンソン・ダービン再帰を実行することができる。ＦＩＲフィルタ及びＩＩＲフィルタは、ＩＩＲ設定及びＦＩＲ設定の決定された最良の組み合わせに従って設定され、予測フィルタ処理データ（例えば、図１の予測段５から段１１へ運ばれる残余のシーケンス）を生成するよう適用される。代替のエンコーダ実施形態において、設定された予測フィルタによって生成される予測フィルタ処理データ（例えば、設定された段５によって、それに入力されたサンプルの各段に応答して生成される残余）は、データを生成するために用いられる選択ＩＩＲフィルタ係数とともに（又は選択ＩＩＲ係数を識別するフィルタ係数データとともに）、更に符号化されることなくデコーダへ送信される。
【００６３】
好ましい実施形態において、本発明のエンコーダ（例えば、図１のエンコーダ１）は、以下の意味において可変であるサンプルブロックサイズを有して動作するよう実施される。例えば、フィルタ７及び９の設定の適応更新に関連して上述されたように、エンコーダ１は、望ましくは、（段３において生成される）符号化サンプルの幾つのミクロブロックをフィルタ７及び９の夫々の決定された設定を用いて更に符号化すべきかを決定するよう動作する。このような好ましい実施形態において、エンコーダ１は、（設定を更新することなしに）フィルタ７及び９の夫々の決定された設定を用いて符号化される（段３において生成された）符号化サンプルの“マクロブロック”のサイズを効果的に決定する。例えば、エンコーダ１の予測器５の好ましい実施形態は、Ｎ個（Ｎは１≦Ｎ≦１２８の範囲にある。）のミクロブロックであるよう、フィルタ７及び９の夫々の決定された設定を用いて符号化されるべき（段３において生成される）符号化サンプルの各マクロブロックのサイズを決定してよい。最適な数Ｎを決定するよう、予測器５は、サンプルの各ミクロブロック（例えば、４８個のサンプルを有する。）ごとに１度フィルタ７及び９を更新し、ミクロブロックのシーケンスの夫々にフィルタをかけ、次いで、Ｘ個のミクロブロックの各シーケンスごとに１度（例えば、上述された方法のいずれかにおいて）フィルタ７及び９を更新し、そのようなミクロブロックのグループのシーケンスの夫々にフィルタをかけ、次いで、ミクロブロックの各大きなグループごとに１度フィルタ７及び９を更新し、そのようなミクロブロックの大きなグループのシーケンスの夫々にフィルタをかけ、（例えば、最大１２８個のミクロブロックを含むグループまで）次々と続いて、結果として得られるデータから最適なマクロブロックサイズ（マクロブロックごとに最適な個数Ｎのミクロブロック）を決定するよう動作してよい。例えば、最適なマクロブロックサイズは、予測器５によって生成される残余のＲＭＳレベル（又は、全てのオーバーヘッドデータを含む、エンコーダ１によって生成される出力データストリームのＲＭＳレベル）を受け入れ難いほど増大させることなく夫々のマクロブロックを作るようグループ化され得るミクロブロックの最大数であってよい。
【００６４】
幾つかの実施形態において、ＩＩＲフィルタ７及びＦＩＲフィルタ９の適応更新は、マクロブロックごとに１度（例えば、エンコーダ１によって符号化されるサンプルの夫々の１２８個のミクロブロックごとに１度）（又は、Ｚが何らかの決定される値である場合に、Ｚ回）実行されるが、エンコーダ１によって符号化されるサンプルのミクロブロックごとに１度よりも多くない。幾つかの実施形態において、エンコーダ１の符号化動作は、夫々のマクロブロックにおける最初のＸ個（例えば、Ｘ＝８）のサンプルについて無効とされる（ＩＩＲフィルタ７及びＦＩＲフィルタ９は、符号化動作が無効にされている期間中に更新されてよい。）。マクロブロックごとのＸ個の符号化されていないサンプルはデコーダへ通される。
【００６５】
エンコーダ１の幾つかの実施形態は、例えば、符号化の効率を最適化するよう、予測フィルタ係数の適応更新のイベントの間のインターバル（例えば、フィルタ７及び９の更新が起こることを認められる最大頻度）を制限する。（無損失エンコーダとして実施される）エンコーダ１におけるＩＩＲフィルタ７が本発明に従って再設定されるたびに、デコーダ２１が符号化の間に夫々の状態変化を把握することを可能にするよう送信される新しい状態を示すオーバーヘッドデータ（サイドチェーンデータ）を必要とするエンコーダにおける状態変化が存在する。しかし、エンコーダの状態変化が、ＩＩＲフィルタ再設定ではない何らかの理由（例えば、サンプルの新しいマクロブロックの処理の開始時に起こる状態変化）のために起こる場合は、新しい状態を示すオーバーヘッドデータもデコーダ２１へ送信されるべきであり、それにより、フィルタ７及び９の再設定は、送信されるべきオーバーヘッドの量に加えることなしに（又は全く加えることなしに）この時点で実行され得る。よって、エンコーダ１の幾つかの実施形態は、いつエンコーダの状態変化があるのかを決定して、然るべくフィルタ７及び９を再設定する動作のタイミングを制御する連続性決定動作を実行するよう構成される（例えば、それにより、フィルタ７及び９の再設定は、新しいマクロブロックの開始時の状態変化イベントの発生まで保留される。）。
【００６６】
次に、本発明の方法及びシステムの好ましいソフトウェア実施形態の４つの態様について記載する。最初の２つは、エンコーダの予測フィルタ（予測フィルタはＩＩＲフィルタと、任意に更にＦＩＲフィルタとを有する。）を設定するのに使用される、エンコーダへ供給されるべきＩＩＲフィルタ係数のパレットを生成する好ましい方法（及びそれを実行するようプログラミングされたシステム）である。次の２つは、エンコーダの予測フィルタ（予測フィルタはＩＩＲフィルタと、任意に更にＦＩＲフィルタとを有する。）を設定するためにパレットを用いる好ましい方法（及びそれを実行するようプログラミングされたシステム）である。
【００６７】
通常、プロセッサ（本発明の実施形態に従ってファームウェア又はソフトウェアにより適切にプログラミングされる。）は、エンコーダへ供給されるＩＩＲフィルタ係数のマスターパレットを生成するよう動作する。上述されたように、マスターパレット内の係数の各組は、少なくとも１つの制約に従って、入力信号（例えば、オーディオデータサンプル）の組（“トレーニングセット”）にわたって非線形最適化を実行することによって、生成され得る。この処理は受け入れ難いほど大きいマスターパレットをもたらすことがあるので、プルーニング処理が、トレーニングセットに対する各候補ＩＩＲフィルタによって提供されるヒストグラム累算及び正味改善の何らかの組み合わせに基づき、マスターパレットに対して実行され（、それからＩＩＲ係数セットを選び取って、より小さい最終のＩＩＲ係数セットのパレットを生成し）てよい。
【００６８】
典型的な実施形態において、マスターＩＩＲ係数パレットは、最終的なパレットを導出するよう次のように削られる。（場合により、マスターパレットを生成するために使用されるトレーニングセットとは異なる）信号の（場合により異なる）トレーニングセットにおける各信号の信号サンプルの各ブロックごとに、マスターパレット内の夫々の候補ＩＩＲフィルタについて、対応するＦＩＲフィルタがレビンソン・ダービン再帰を用いて計算される。複合候補ＩＩＲフィルタ及びＦＩＲフィルタによって生成される残余が評価され、最も低いＲＭＳレベルを有する残余信号を生成するＩＩＲフィルタ及びＦＩＲフィルタの組み合わせのＩＩＲフィルタを決定するＩＩＲ係数が最終的なパレットへの包含のために選択される（選択は、ＩＩＲ／ＦＩＲフィルタ組み合わせの最大Ｑ及び所望の精度が必要条件とされる。）。ヒストグラムは、夫々のフィルタの全体の利用及び正味の改善について累算されてよい。トレーニングセットを処理した後、最も有効でないフィルタがパレットから削られる。トレーニングプロシージャは、所望のサイズのパレットが実現されるまで繰り返されてよい。
【００６９】
好ましい実施形態において、本発明の方法は、パレット内の係数の各組によって決定される夫々のＩＩＲフィルタが、多数の異なった取り得る次数から選択され得る次数を有するように、ＩＩＲフィルタ係数のパレットを生成する。例えば、そのようなパレットにおけるＩＩＲ係数の組の１つ（“第１の”組）を考える。第１の組は、次の意味において、選択可能な次数を有するＩＩＲフィルタを設定するのに有用である。すなわち、（第１の組における係数の）第１のサブセットは、ＩＩＲフィルタの選択された１次実施を決定し、（第１の組における係数の）少なくとも１つの他のサブセットは、ＩＩＲフィルタの選択されたＮ次実施を決定する（Ｎは１よりも大きい整数であり、例えば、４次ＩＩＲフィルタを実施するには、Ｎ＝４である。）。好ましい実施形態において、パレットを用いて設定される予測フィルタ（例えば、エンコーダ１の段５によって実施される予測フィルタの好ましい実施）はＩＩＲフィルタ及びＦＩＲフィルタを有し、パレットを用いた予測フィルタの設定の間、それらのフィルタの次数は、ＩＩＲフィルタの次数が０からＸ（例えば、Ｘ＝４）までの範囲に含まれ、ＦＩＲフィルタの次数が０からＹ（例えば、Ｙ＝１２）までの範囲に含まれ、ＩＩＲフィルタ及びＦＩＲフィルタの選択された次数が最大でＺ（例えば、Ｚ＝１２）の値まで合計することができるとの制約に従って、選択可能である。
【００７０】
述べられているように、パレット内の係数の各組は、少なくとも１つの制約に従って、入力信号（例えば、オーディオデータサンプル）の組（“トレーニングセット”）にわたって非線形最適化を実行することによって生成され得る。幾つかの実施形態において、これは次のように行われる（パレットを用いて設定される予測フィルタは、ＦＩＲフィルタ及びＩＩＲフィルタの両方を適用して残余を生成すると仮定する。）。夫々のサンプルブロックに対する夫々のより最適な再帰のＩＩＲ係数の各トライアルセットについて、レビンソン・ダービンＦＩＲ設計ルーチンは、そのトライアルセットによって決定されるＩＩＲ予測フィルタに対応する最適なＦＩＲ予測フィルタ係数を導出するために実行される。ＩＩＲ／ＦＩＲフィルタ次数とＩＩＲ（及び対応するＦＩＲ）係数値との最良の組み合わせは、伝送オーバーヘッド、最大フィルタＱ、数係数精度、及び安定性に関する制限による条件付きで、最大予測残余に基づき決定される。トライアルセットにおける各信号について、最適化によって決定される“最良の”ＩＩＲ／ＦＩＲ組み合わせに含まれる試験的ＩＩＲ係数セットは、（未だ存在しない場合に）マスターパレットに含まれる。処理は、トレーニングセット全体における各信号についてマスターパレット内のＩＩＲ係数セットを積算するよう続く。
【００７１】
エンコーダの予測フィルタ（予測フィルタはＩＩＲフィルタ及びＦＩＲフィルタを有する。）を設定するために本発明に従って決定されるＩＩＲ係数セットを用いる好ましい方法（及びそれを実行するようプログラミングされるシステム）は、次のステップを有する。すなわち、入力データの組の各ブロックごとに、パレット内の係数セットによって決定される夫々のＩＩＲフィルタが第１の残余を生成するよう適用され、ＩＩＲフィルタごとの最良のＦＩＲフィルタ設定が、（例えば、予測残余の各組とともに送信される必要があるオーバーヘッドを含む係数送信オーバーヘッドを把握し、オーバーヘッドを含む予測残余のレベルを最小化するＦＩＲ係数を選択することによって、前記第１の残余に適用される場合に、最も低いレベル（例えば、最低ＲＭＳレベル）を有する予測残余の組をもたらすＦＩＲ係数を決定するよう）レビンソン・ダービン再帰法を前記第１の残余に適用し、ＩＩＲ係数及びＦＩＲ係数の最良の決定された組み合わせにより予測フィルタを設定することによって、決定される。
【００７２】
エンコーダの予測フィルタ（予測フィルタはＩＩＲフィルタ及びＦＩＲフィルタを有する。）を設定するために本発明に従って決定されるＩＩＲ係数セットを用いる好ましい方法（及びそれを実行するようプログラミングされるシステム）は、次のステップを有する。すなわち、（本発明のいずれかの実施形態に従って）ＩＩＲ係数及びＦＩＲ係数の最良の組み合わせを決定するよう前記パレットを用いるステップと、（例えば、最小二乗最適化を用いて）出力信号の連続性を考慮する（望ましくは最大化する）態様においてＩＩＲ係数及びＦＩＲ係数の決定された最良の組み合わせを用いて予測フィルタの状態を設定するステップとを有する。例えば、予測フィルタは、そうすることが（例えば、再設定から得られる状態変化をデコーダに知らせるよう）許容できないオーバーヘッドデータの送信を必要とする場合は、ＩＩＲ係数及びＦＩＲ係数の新しく決定された組により再設定されなくてよい。あるいは、予測フィルタは、予測符号化されるべきサンプルの新しいマクロブロックの開始時における状態変化に一致する時点でＩＩＲ係数及びＦＩＲ係数の新しく決定された組により再設定されてよい。
【００７３】
フィードバック予測器（フィードフォワード予測による拡張があってもなくても、フィードバックフィルタを有する予測フィルタを有する予測器）の実際の使用を可能にするよう、予測器を有するエンコーダは、本発明の幾つかの実施形態に従って、予め計算されたフィードバックフィルタ係数のリスト（“パレット”）を与えられる。新しいフィルタが選択されるべき場合に、エンコーダは、最良の選択を決定するために（入力データ値の組、例えば、オーディオデータサンプルのブロックに対して）パレットによって決定された夫々のフィードバック（ＩＩＲ）フィルタを試しさえすれば十分である。これは、パレットが余り大きくない場合には高速な計算である。例えば、予測器のための係数の最良の組は、パレット内の係数の各組を試し、最低ＲＭＳレベルを有する残余信号をもたらす係数の組を係数の“最良の”組として選択することによって、決定されてよい（なお、残余信号は、係数の各組について、当該組により設定される予測フィルタを入力信号へ、例えば、符号化されるべき入力信号へ又は、符号化されるべき入力信号と同じ特性を有する他の信号へ適用することによって、生成される。）。通常、ブロック浮動小数点プロセッサ（又は他の符号化段）がそれによって生成される符号化データのビットを最小限とすることが可能にされるので、残余のＲＭＳレベルを最小限とすることが最も良い。
【００７４】
幾つかの実施形態において、多段エンコーダにおける予測エンコーダについてＦＩＲ／ＩＩＲフィルタ係数の最良の組み合わせ（又は最良のＩＩＲフィルタ係数）を選択する方法であって、前記多段エンコーダは予測エンコーダに加えて他の符号化段（例えば、ブロック浮動小数点及びハフマン符号化段）を有する方法は、（予測器を含む）全ての符号化段を（パレットによって決定されるＩＩＲ係数の各候補組により設定される予測エンコーダにより）入力信号に適用する結果を考える。ＦＩＲ／ＩＩＲフィルタ係数の選択される組み合わせ（又はＩＩＲ係数の最良の組）は、多段エンコーダからの完全に符号化された出力の最低正味データレートをもたらものであってよい。しかし、そのような計算は時間がかかるので、予測符号化段の出力のＲＭＳレベル（サイドチェーンオーバーヘッドも考慮する。）のみが、そのような多段エンコーダの予測エンコーダ段のためにＦＩＲ／ＩＩＲフィルタ係数の最良の組み合わせ（又はＩＩＲ係数の最良の組）を決定する基準を使用されてよい。
【００７５】
また、（ＩＩＲフィルタ係数又はＩＩＲフィルタ係数及びＦＩＲフィルタ係数の新しい組を実施するための）エンコーダにおける予測フィルタの再設定は、エンコーダの出力データレートを増大させる短い過渡を導入しうるので、時々、予測フィルタの予期される再設定のタイミングを決定する際にそのような過渡に夫々付随するオーバーヘッドを考慮することが望ましい。
【００７６】
上述されたように、再帰法（例えば、レビンソン・ダービン再帰）は、予測フィルタのＦＩＲフィルタを設定するためのＦＩＲフィルタ係数の組を決定するために本発明の幾つかの実施形態において使用され、予測フィルタは、ＦＩＲフィルタ及びＩＩＲフィルタの両方を有し、（ＩＩＲフィルタを設定するための）ＩＩＲフィルタ係数の組は（例えば、いずれかの実施形態を用いて）予め決定されている。これに関連して、ＦＩＲフィルタは、Ｎ次のフィードフォワード予測器フィルタであってよく、再帰法は、サンプル（例えば、ＩＩＲフィルタ係数の決定された組により設定されるＩＩＲフィルタをデータに適用することによって生成されるサンプル）のブロックを入力としてとり、ＦＩＲフィルタのためのＦＩＲフィルタ係数の最適な組を再帰演算により決定してよい。係数は、それらが残余信号の最小二乗誤差を最小とするという意味で最適である。（ＦＩＲフィルタ係数の最適な組を決定するよう収束する前の）再帰の間の夫々の繰り返しは、通常、ＦＩＲ係数の別の組（時々、ここでは、ＦＩＲフィルタ係数の“候補組”と呼ばれる。）を仮定する。幾つかの場合に、再帰は、最適な１次予測器係数を見つけることによって開始し、次いで、それらを用いて最適な２次予測器係数を見つけ、次いで、それらを用いて最適な３次予測器係数を見つけ、以降、Ｎ次フィードフォワード予測器フィルタのためのフィルタ係数の最適な組が決定されるまで続く。
【００７７】
典型的な実施形態において、本発明のシステムは、本発明の方法の実施形態を実行するようソフトウェア（若しくはファームウェア）によりプログラミングされた及び／又は別なふうに構成された汎用の又は特別目的のプロセッサを有する。期待される入力データ（例えば、オーディオサンプル）を処理するのに適したデジタル信号プロセッサ（ＤＳＰ）は、多くの用途のための好ましい実施である。幾つかの実施形態において、本発明のシステムは、波形信号サンプル（例えば、オーディオサンプル）を示す入力データを受け取るよう結合され、（例えば、ＩＩＲフィルタ係数のパレットを生成するよう及び／又は、データサンプルに対して予測フィルタリング動作を実行し、フィルタリングを実行するために用いられる予測フィルタのＩＩＲフィルタ及びＦＩＲフィルタの設定を適応更新するよう）本発明の方法の実施形態を実行することによって入力データに応答して出力データを生成するよう（適切なソフトウェアにより）プログラミングされる汎用のプロセッサである。幾つかの実施形態において、本発明のシステムは、波形信号サンプル（例えば、オーディオサンプル）を示すデータに対して本発明の方法の実施形態を実行するようプログラミングされる及び／又は別なふうに構成されるエンコーダ（ＤＳＰとして実施される。）、デコーダ（ＤＳＰとして実施される。）、又は他のＤＳＰである。
【００７８】
図４は、（例えば、ＩＩＲフィルタ係数のパレットを生成し及び／又は、データサンプルに対して予測フィルタリング動作を実行し、フィルタリングを実行するために用いられる予測フィルタのＩＩＲフィルタ及びＦＩＲフィルタの設定を適応更新するために）本発明の方法の実施形態を実施するコードを記憶したコンピュータ読取可能な光ディスク５０の正面図である。例えば、コードは、ＩＩＲフィルタ係数のパレット（例えば、パレット８）を生成するようプロセッサによって実行されてよい。あるいは、コードは、データサンプルに対して本発明の実施形態に従う（予測器５における）予測フィルタリング動作を実行し、本発明の実施形態に従ってＩＩＲフィルタ７及びＦＩＲフィルタ９の設定を適応更新するようエンコーダ１をプログラミングするようにエンコーダ１の実施形態に、あるいは、データサンプルに対して本発明の実施形態に従う（予測器２９における）予測フィルタリング動作を実行し、本発明の実施形態に従ってＩＩＲフィルタ３１及びＦＩＲフィルタ３３の設定を適応更新するようデコーダ２１の実施形態に、読み込まれてよい。
【００７９】
本発明の特定の実施形態及び本発明の応用についてここで記載してきたが、当業者には当然に、ここで記載されているそれらの実施形態及び応用に対する多くの変形が、ここで記載及び請求されている本発明の適用範囲から逸脱することなしに可能である。本発明の特定の形態が図示及び記載されているが、本発明のそのような記載及び図示されている特定の実施形態や記載されている特定の方法に制限されないことが理解されるべきである。
【００８０】
［関連出願の相互参照］
本願は、参照によりその全文を本願に援用される、２０１１年２月１６日付けで出願された米国特許仮出願第６１／４４３３６０号の優先権を主張するものである。
【図１】
0005863830.tif 000002
【図２】
0005863830.tif 000003
【図３】
0005863830.tif 000004
【図４】
0005863830.tif 000005