(57)【要約】  複数の量子化パターンの知覚的関連検索を用いてデータを量子化するための方法及び装置を本明細書に開示する。一実施形態では、方法は、複数の量子化パターンの知覚的関連検索を行うステップであり、複数の原型パターンのうちの１つ及び前記原型パターンのうちの１つに関連付けられた順列が、前記目標ベクトルを量子化するために選択され、前記複数の原型パターンにおける各原型パターンが、前記ベクトル全体にわたり量子化を指示することができるステップと、前記１つの原型パターン、前記関連付けられた順列、及び両者から生じる量子化情報を、エンコーダによって複数のビットに変換するステップと、前記ビットをビットストリームの一部分として転送するステップとを含む。【選択図】図２
2010500819.tif 000002
【特許請求の範囲】
【請求項１】
目標ベクトルを量子化するための方法であって、
複数の量子化パターンの知覚的関連検索を行うステップであって、複数の原型パターンのうちの１つ及び前記原型パターンのうちの１つに関連付けられた順列が、前記目標ベクトルを量子化するために選択され、前記複数の原型パターンにおける各原型パターンが、前記ベクトル全体にわたり量子化を指示することができるステップと、
前記１つの原型パターン、前記関連付けられた順列、及び両者から生じる量子化情報を、エンコーダによって複数のビットに変換するステップと、
前記ビットをビットストリームの一部分として転送するステップと
を含む方法。
【請求項２】
複数の量子化パターンの検索を行い、目標ベクトルを量子化するために、知覚的関連性に基づいて、複数の原型パターンのうちの１つ及び前記原型パターンのうちの１つに関連付けられた順列を選択するための選択器であって、前記複数の原型パターンにおける各原型パターンが、前記ベクトル全体にわたり量子化を指示することができる、選択器と、
前記１つの原型パターン、前記関連付けられた順列、及び両者から生じる量子化情報を、複数のビットに変換し、前記ビットをビットストリームの一部分として転送するためのエンコーダと
を備える装置。
【請求項３】
命令を格納する１つ又は複数のコンピュータ可読媒体を備える製品であって、前記命令は、システムによって実行されたときに前記システムに方法を実行させ、前記方法は、
複数の量子化パターンの知覚的関連検索を行うステップであって、複数の原型パターンのうちの１つ及び前記原型パターンのうちの１つに関連付けられた順列が、前記目標ベクトルを量子化するために選択され、前記複数の原型パターンにおける各原型パターンが、前記ベクトル全体にわたり量子化を指示することができるステップと、
前記１つの原型パターン、前記関連付けられた順列、及び両者から生じる量子化情報を、エンコーダによって複数のビットに変換するステップと、
前記ビットをビットストリームの一部分として転送するステップと
を含む製品。
【請求項４】
ビットストリームを復元するための方法であって、
前記ビットストリームを受け取るステップと、
前記ビットストリーム内のビットを復号化するステップと、
前記復号化されたビットによって識別された量子化パターン、順列、及び量子化インデックスを使用して、パラメータの量子化バージョンを回復するステップと、
前記量子化パターン及び前記順列を再順序付けすることによって、前記目標ベクトルの量子化バージョンを作成するステップと
を含む方法。
【発明の詳細な説明】
【優先権】
【０００１】
[0001]本特許出願では、２００６年８月１１日に出願された「Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｑｕａｎｔｉｚｉｎｇ  Ｓｐｅｅｃｈ  ａｎｄ  Ａｕｄｉｏ  Ｔｈｒｏｕｇｈ  ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｐｅｒｃｅｐｔｕａｌｌｙ  Ｒｅｌｅｖａｎｔ  Ｓｅａｒｃｈ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｑｕａｎｔｉｚａｔｉｏｎ  Ｐａｔｔｅｒｎｓ」という名称の対応する仮特許出願第６０／８３７１６４号の優先権を主張し、参照によりこれを組み込む。
【関連出願】
【０００２】
[0002]本出願は、２００６年４月１９日に出願され、本発明の法人譲受人に譲渡された「Ｑｕａｎｔｉｚａｔｉｏｎ  ｏｆ  Ｓｐｅｅｃｈ  ａｎｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ  Ｐａｒａｍｅｔｅｒｓ  Ｕｓｉｎｇ  Ｐａｒｔｉａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  ｏｎ  Ａｔｙｐｉｃａｌ  Ｓｕｂｓｅｑｕｅｎｃｅｓ」という名称の同時係属の米国特許出願第１１／４０８１２５号に関連する。
【発明の分野】
【０００３】
[0003]本発明は、ベクトル量子化の分野に関し、より詳細には、複数の量子化パターンの知覚的に関連する検索により、例えば音声及びオーディオなどの情報を量子化することに関する。
【発明の背景】
【０００４】
[0004]音声及びオーディオコーダは、一般に、冗長性除去、知覚的無関連性除去、及び効率的量子化技法の組合せを用いて、信号を符号化する。この組合せにより、今日の先端的な音声及びオーディオエンコーダの大多数は、１又は２ビット／入力サンプル未満のレートで動作する。これは、しばしば、多数のパラメータが、平均して１〜２ビット／パラメータ未満の非常に低いレートで量子化されることを意味する。このような低いレートでは、特に量子化及び無関連性除去ステップにおいて問題が生じるおそれがある。
【０００５】
[0005]量子化ステップは、音声又はオーディオを表すパラメータを１つ又は複数の有限ビット列に変換するプロセスを意味する。パラメータは、個々に量子化することができる。本明細書では、他のパラメータに関する情報を含まないビットの列として表す。パラメータが「ｓ」ビットで表現される場合、この表現に対し最大で２Ｓの選択肢を考えることができる。このような選択肢は、「コードブック」として知られるものにまとめることができる。単一パラメータの量子化の場合、コードブックのエントリは、元のパラメータを表すための複数の異なる選択肢を表すスカラである。
【０００６】
[0006]複数のパラメータを合同で量子化することもでき、その結果、ビット列は、２つ以上のパラメータからなるグループを示す。このような場合、コードブックのエントリは、各エントリは複数のパラメータの表現となる多次元エントリである。このプロセスの１つの実現形態が、「ベクトル量子化器」である。合同の量子化は、より効率的な量子化をもたらすことが多いが、ビット数「ｓ」が、全てのパラメータのビットの合計であるとすると、より大きくなるため、しばしば複雑さの面で不利益が生じることがある。
【０００７】
[0007]量子化で生成されるビットは、デコーダに送られ、（複数の）元の音声／オーディオパラメータの近似を回復するために使用される。このパラメータの近似が元のパラメータと異なるとき、この差異は、元のパラメータに加えられたノイズと考えることができる。このノイズは、本明細書では量子化ノイズと呼ぶ。
【０００８】
[0008]オーディオ及び音声については、このような量子化ノイズが、信号における歪みとして再生中に認識されることがある。これは、量子化パラメータが元のパラメータとは異なるので、復号化された信号は一般に元の信号とは異なるからである。
【０００９】
[0009]実際に量子化される信号パラメータは、多くの形態をとることが可能である。使用される最も一般的なパラメータのうちには、例えば、変形離散コサイン変換（ＭＤＣＴ）又はフィルタバンクのような周波数領域変換、及び／又は時間領域サンプル／係数によって得られるような周波数領域サンプル／係数がある。これらの場合、ノイズは、異なる時間及び／又は周波数領域における歪み効果として認識される。
【００１０】
[0010]無関連性除去のプロセスは、ノイズが再生において知覚できない又は最小限の効果になるようにノイズに所望の特徴が与えられるプロセスを指す。例えば、ノイズは、再生中に人間の聴覚系が認識できない程の低いレベルとすることができる。
【００１１】
[0011]このような無関連性除去プロセスの一部分のある実現形態では、量子化プロセスにおいていくつかのパラメータが完全に無視できることに留意されたい。これは、（複数の）パラメータに対しゼロビットが送られる場合である。デコーダでは、このようなパラメータは、復号化プロセスで無視されるか、又は何らかの既知の固定値又はランダム値に設定される。全ての場合において、このようなパラメータを無視することによってこのパラメータに導入される量子化ノイズがある。
【００１２】
[0012]無関連性除去は、元のパラメータを対象として充分な近似を送るプロセス、すなわち、適正なビット数を決定し送ることにより、ノイズが所定の望ましいレベルとなり、したがって再生中の望ましい知覚効果が達成されるプロセスとすることができる。
【００１３】
[0013]冗長性除去プロセスは、信号の効率的量子化を可能にするパラメータ表現を作成するプロセスを指す。例えば、この表現により、異なるパラメータに対するビットの効率的分配を促進することができる。例えば、いくつかの表現は、元の信号エネルギをできるだけ少数のパラメータに集中させる。ＭＤＣＴなどの表現は、多くのオーディオ及び音声信号に適用されるときに、そのような性質を有している。これにより、少数のパラメータにビットリソースを集中し、より重要ではないパラメータがほとんど又は全くビットを受け取らないようにすることが可能になる。
【００１４】
[0014]このＭＤＣＴ表現（及び類似のタイプの周波数領域表現）はまた、音声信号における周波数成分を表すため、更なる利点がある。周波数成分に応じた知覚的歪みは、非常に詳細に検討された題材である。したがって、このような表現は、無関連性除去にも有用である。
【００１５】
[0015]良好なオーディオ／音声コーダを設計する際は、量子化、冗長性除去及び無関連性除去プロセスの相対的効力に強い相互依存性がある。例えば、量子化オプションを選択する際（多くの選択肢がある場合）、量子化プロセスが生成する可能性があるノイズのタイプ又はレベルの予測を試みることができる。例えば、各量子化オプションが導入すると期待される（平均）ノイズを使用して、それぞれのオプションが有しうる潜在的な知覚効果を予測することができる。これにより、平均期待値に基づいた信号適応的様式で量子化ステップの前に符号化（量子化）決定／オプションが前もって選択されるプロセスを導くことができる。
【００１６】
[0016]一般に、量子化プロセスが良好な又は全体的に「行儀良い」予測可能な結果をもたらすことが期待される場合、事前に決定を行うことができる。例えば、設計者は、前もって、エンコーダが信号を充分に量子化するために充分なビットを有し、したがって、量子化された信号が有する量子化ノイズの量は、知覚できないならば、非常に少ないか又はたいていの場合非常に少ないことを知ることができる。このような行儀良いシナリオは、例えば、充分に高いビットレートで信号を量子化する状況でありうる。それは、オーディオ信号が少数のパラメータで表現できるようになされたシナリオでありうる。そのような場合、量子化、冗長性除去、及び無関連性除去のプロセスは、半独立的に動作することができ、それぞれがそれぞれの望ましい結果に達することが可能なことが分かる。
【００１７】
[0017]例えば、このようなシナリオでは、無関連性除去プロセスが、事前に計算された知覚に関連する「ノイズ閾値」を使用して量子化プロセスを指示することができる。一部のオーディオコーダは、パラメータ量子化ステップの前に、「知覚ノイズ閾値」（上限値のセット）を計算し、これに、パラメータ毎に量子化ノイズが従う必要がある。例えば、各ＭＤＣＴ係数はそれぞれの閾値を超えるノイズを持ってはならない。この閾値（しばしば値のベクトルである）は、パラメータの量子化ノイズの望ましい限界をパラメータ毎に指定する。このような閾値がしばしば実現できることを事前に知ることにより、かかる手法が実行可能になる。
【００１８】
[0018]このプロセスの１つの改良点は、符号化が偶然にもいずれのパラメータについても閾値を得ることに成功しない場合、この閾値に小さな修正を加えることである。パラメータのグループが「デルタ」のノイズ閾値（上限）を実現する必要があり、コーダはそれを行うために「ｂ」ビットのみを有している事例を例として挙げる。そのような１つのプロセスを図１Ａに示す。ステップサイズ「デルタ」で均一なスカラ量子化器を使用する場合、量子化ステップは、パラメータ毎に値の良好な近似を与えるために「デルタ」ステップをどのように行うことができるかを指定する整数を割り当てる。例えば、パラメータが−１．３３の値を有しデルタが０．５０の場合、信号を近似するために−３「デルタ」ステップを要することを指定することができる。ここでは、元のパラメータの表現が−１．５であり、ノイズレベルが−１．５０と−１．３３の差の絶対値、すなわち０．１７であり、これはデルタより小さい。
【００１９】
[0019]上述の例では、元のパラメータがマップされる数値インデックスは、−３である。次いで、この番号がビット列にマップされる。この場合、一定の数のビットにインデックスをマップすることができ、例えば、３ビットで、−３，−２，−１，０，１，２，３，４のような８個の固有の整数値を表すのに充分である。或いは、例えばハフマン符号化におけるように、一部の整数値がより頻繁に使用されることを利用して、可変数のビットを使用することができ、この場合、各可変ビット表現をストリームから一意にパースすることができる。このような技法は、オーディオ符号化技術の当業者に広く知られており、実際、オーディオコーダ設計で頻繁に用いられる。
【００２０】
[0020]しかし、主な問題は、しばしば、各パラメータ上のノイズが「デルタ」より小さいことを保証するために必要なビット数が、全てのパラメータが符号化されるまで分からないことが多いことである。しばしば、使用されるビット数は、ハフマン符号化など可変長符号化技法が使用される場合、可変でありうる。「デルタ」に対する量子化の最後に、ビット数が、プロセスについてエンコーダが有する最大値「ｂ」を超える可能性がある。
【００２１】
[0021]時としてこの問題を解決するために、閾値にわずかな修正を加え（例えば、許容ノイズレベルを倍数で増加させ）、再符号化を行うことができる。図１Ａを参照すると、オーディオコーダは、許容総ビット数「ｎ（１）＋ｎ（２）＋…＋ｎ（Ｎ）」を実現する値を見つけるために、異なるレベルの「デルタ」、具体的には増加するデルタ値の系列を検査することができる。一般に、「デルタ」が大きいほど、必要とされる総ビット数が少ない。この古典的な反復プロセスは、ある種のオーディオコーダ設計においてしばしば「レートループ(rate-loop)」と呼ばれる。このような元の閾値に対するわずかな修正により、有効な新規の（得ることがより容易な）知覚可能閾値がもたらされる。
【００２２】
[0022]しかし、上述のように、このようなプロセスは、符号化ステップ、具体的には量子化が行儀良い場合のみに魅力的でありうる。非常に低いビットレートでは、３つのプロセスの正確な合同の挙動、具体的には無関連性除去及び量子化ステップの合同の挙動を事前に正確に予測することが、難しいことがある。その１つの理由は、低いレートで量子化プロセスによって導入されたノイズのレベル（及びランダム性）が潜在的に非常に高いことである。実際に、導入される実際の量子化ノイズが所与の量子化オプションについて非常にランダムで且つ高いレベルの場合、量子化オプションの真の知覚効果の正確な評価は、量子化の後まで不可能なことがある。特に、ノイズのレベルが閾値より大きくパラメータからパラメータに変化することを考慮して、知覚的評価が行われなければならない。実際、このような場合は、「デルタ」を増加することなど元のターゲットの知覚閾値に対する単純な修正は、意味をなさないことがある。詳細には、最終的な量子化の結果に関連すると容易に予め決定できる単一のターゲットの知覚閾値又は知覚閾値のセットが存在しないことがある。つまり、期待（平均的挙動）及び予測に基づいて事前にオプションを選択するある種の古典的手法が、効率的でない場合があることを意味する。知覚の依存性及び複雑さについては以下でより詳細に論じる。
【００２３】
[0023]上述のように、統計的冗長性除去、非関連性除去、及び量子化のプロセスは、かなり相互依存的である。単に冗長性除去ステップを改善することによりこの問題を解決することが必ずしも簡単ではないことを言及する必要がある。例えば、冗長性除去ステップが非常に効率的な場合、これは、しばしば、ほとんどの信号表現が少数のパラメータにまとめられていることを意味する。例えば、ここで、元の「Ｎ」音声／オーディオ信号パラメータのエネルギのほとんどが、このステップによって新しい信号パラメータ「Ｔ」に主に濃縮される（ここで、ＴはＮより非常に小さい）。これが発生したとき、それは、量子化及び無関連性除去ステップに役立つが、低いレートにおいて、しばしば、全ての新しい「Ｔ」パラメータを非常に高い忠実度に量子化することができない。複数の冗長性除去オプションを考慮できる際は、最終的に、無関連性除去及び量子化の合同の動作が、低いレートで非常に重要である。
【００２４】
[0024]知覚原理が、無関連性除去ステップ、すなわち量子化を指示する。このような原理により、パラメータ毎又は合同して多数のパラメータにわたりノイズがどのように認識されるかについて予測が行うことができる。このようなプロセスの１つの実現形態が、「絶対知覚閾値」であり、これは先述の手法に深く関連する。この事例では、低いノイズレベルで、人間の聴覚系が（複数の）当該の選択されたレベルより上／下のノイズを認識することができるかどうかに関する決定を反映する閾値を単純に計算すればよい。この（複数の）レベルは、信号に適応する。そのような場合、知覚閾値は、そのレベルより低いとノイズが知覚されない又は非常に低い許容レベルで知覚されるパラメータの量子化ノイズレベルのセットを指定する。パラメータ毎のレベルは二分決定を行うポイントを表すので、それにより計算が非常に単純化される。量子化はレベルの違反がないこと又は違反が稀にしかないことを保証しさえすればよいので、量子化が単純化されて、音声又はオーディオ信号の望ましい符号化がもたらされる。しかし、そのような想定される低いターゲットとされるノイズレベルについても、こうした「絶対知覚閾値」を生成するための計算を行うことは、既に計算集約的である可能性がある。
【００２５】
[0025]より高いレベルのノイズ、すなわち、１つ又は複数のパラメータについて「絶対知覚閾値」に強く違反するノイズに関する知覚効果を計算することは、ノイズが認識されるかどうかだけでなく、それがどのように認識されるか及び／又はどんなレベルで認識されるかを決定しなければならないため、より複雑となる。この状況は、「閾上」ノイズ、すなわち、知覚の閾値より上のノイズの状況である。この場合、パラメータ毎に実現されるノイズの正確なレベルは、単にそれらの絶対値に対する関係を超えて重要である。また、それらが導入するノイズが時間及び／又は周波数において充分に近い場合は特に、１つのパラメータに対する閾上ノイズは、しばしば、別のパラメータからのノイズと知覚的に相互作用する。したがって、量子化の後まで閾上ノイズの知覚効果は正確に決定できないことが多い。これは、「閾上」での動作時に、領域パラメータを、独立して量子化することができない、例えば、各パラメータをそれ自体の「閾値」に対して検査するような様式で量子化することができないことを示唆する。
【００２６】
[0026]量子化ノイズが「絶対知覚閾値」に準拠するコーダでは、コーダが、量子化プロセスの前に、無関連性除去ステップにおける知覚閾値又はターゲットのレベルのセットを計算することができる。次いで、閾値は、事前に量子化プロセスが実現するものを知らずに、その量子化プロセスのターゲットとして使用される。これは、「開ループ」プロセスとして知られる実現形態である。このように、このプロセスは、いくつかの決定が（数学的複雑性を所与として）前もって行われ、それらの決定は再び行われない、又は閾値を増加するなど単純な修正しか行われないという利点がある。本明細書では、これを開ループでありうる他のプロセスと区別するために「開ループ知覚プロセス」と称する。
【００２７】
[0027]しかし、前述のように、低いビットレートでは、無関連性除去及び量子化ステップの正確な合同したパフォーマンスを、量子化プロセスの前に正確に予測することが難しい又は不可能なことがある。「開ループ知覚」プロセスは、このシナリオでは魅力が低い。これは、ノイズが現在知覚可能すなわち前述のような閾上であり、量子化プロセスが非常にランダムに振る舞うことができ、本来的に良好な量子化がパラメータの合同の符号化であるはずであるからである。この場合、しばしば、パフォーマンスの知覚的決定より前に、量子化ノイズの正確なレベル又は高精度のレベルの推定を知る必要がある。低いビットレートでの量子化プロセスによって導入されるノイズの本質的に高いレベル及び変動性から困難が生じる。これを前提とすると、導入されるノイズの事前推定は、しばしば不正確であるため、推定がほとんど役立たないことがある。
【００２８】
[0028]期待されるレベルの推定が不可能な場合、最悪値を使用することもできるが、それが過度に保守的な決定及び更なる非効率を招くおそれがある。
【００２９】
[0029]この問題を解決するために、「閉ループ」プロセスが使用される。この場合、複数の仮定及び／又は複数の量子化オプションが行われ、それぞれが知覚的に評価されるのは、どんな量子化ノイズが各オプションから生じるか分かる量子化ステップの後である。
【００３０】
[0030]この場合、「閉ループ知覚プロセス」において、それぞれのオプションが生成する正確なノイズを計算して、全ての量子化オプションを検査し、次いで、最良の知覚的優位をもってオプションを選択することができる。ある種のコーダでは、単にそれを行う。例えば、いくつかの異なるヒューリスティクスを使用して基となる知覚閾値を修正すること、及び／又は、いくつかの異なる量子化表現を使用し、量子化ステップがターゲットの閾値を実現する組合せを作成することを望むことができる。
【００３１】
[0031]実際、究極的には、パラメータのグループに割り当てられた所与のビット数「ｂ」について、潜在的に最大「２ｂ」までの考えられうる閾値及び／又は量子化オプションが存在し、それぞれが、与えられた信号に対して非常にランダムで且つ予測不可能なノイズパターンを有し、したがって知覚効果を有する可能性がある。しかし、計算的な複雑さの理由で、全ての量子化オプション及びそれらの実際の知覚効果を検査することは、実用的ではないことが多い。
【００３２】
[0032]例えば、１ビット／パラメータでの４０個のパラメータの量子化は、最大２４０個のオプションが存在しうることを意味する。究極的にはオプション毎に、オーディオコーダはしばしば１秒に何千ものパラメータを量子化することを考慮すると、全てのグループが高い「閾上」ノイズレベルを有するので、全てのグループに対し知覚評価を行わなければならない可能性がある。
【００３３】
[0033]これらの理由により、本来的に「閉ループ知覚プロセス」設計は、「２ｂ」個の独立した選択肢に対する全数検索ではありえない。
【００３４】
[0034]閉ループプロセスを使用する１つの方法は、複雑な閾上モデルを著しく単純化することである。これを行う１つの方法は、閾上モデルを単純な近似基準に置き換えることである。しばしば使用されるそのような基準のタイプの１つは、信号適応加重平均二乗誤差（ＷＭＳＥ）歪み基準である。これは、例えば、ＩＴＵ−Ｔ勧告Ｇ７２９及び他のＩＴＵ−Ｔ及びＥＳＴＩ規格で使用される代数符号励振線形予測（ＡＣＥＬＰ）設計など多数の音声符号化設計において行われるものである。単純化されたＭＳＥのような基準によって、コーダは、古典的量子化コードブックを検索するための古典的ＭＳＥベースの手順を利用することができる。そうした「代数構造化」コードブックのようなコードブック、或いは「ツリー」、「積」、又は「多段」ベクトル量子化器は、検索プロセスにおいて２ｂ個の選択肢の大部分を放棄することによって効率的に「２ｂ」個の選択肢を検索することができるように設計される。
【００３５】
[0035]しかし、この場合、多くのベクトル量子化構造が、しばしば、ノイズが複数の異なるパラメータにどのように割り振られることができるかと非常に明確な関連を有することがない。ＷＭＳＥ基準に依拠するブラインド設計は、しばしば複数の可能性を整理するのに役立つ。そのように、検索プロセスの複雑性をコードブック設計における構造によって効率的に減少できるが、「２ｂ」個の選択肢のうち有意味な部分が、検査される必要がある。例えば、各段にｂ／２ビットを有する２段のコードブック設計では、２ｂ/2＋２ｂ/2個の選択肢のオーダーで考慮をしなければならない。つまり、コードブック設計におけるノイズの明確な制御なしに、効率的量子化を保証するために、充分な数の選択肢が考慮に入れられ検索されることを保証する必要がある。これは、その検索を可能にするために、平均二乗誤差に基づく測定など単純化された知覚基準の使用を必要とし、フィールド内の多くの作業が、検索を効率的に行い、たとえＷＭＳＥ基準を使用しても検索をうまく振る舞う設計を用意するために費やされる。より正確且つ複雑な基準でうまく振る舞う設計は、しばしば考慮されずまた不可能である。
【００３６】
[0036]また、コーダが加重平均二乗誤差（ＷＭＳＥ）測定を使用するとき、実際のノイズが、検索の最後に、望ましくはより重く加重された領域がより少ないノイズを有するように指示される加重指示のように分配されることを、この測定は暗黙に想定することに留意すべきである。しかし、実際には、異なるパラメータについてのノイズの正確なレベルは、特に低いレートでの加重によって、望まれる一般的傾向に従う場合もあればそうでない場合もある。図１Ｂの例を参照のこと。加重測定及びその測定のためのコードブックの設計は、ノイズがおよそ望ましく振る舞うことが期待される（ＭＳＥ基準内の）加算を用いることによって個々のノイズレベルの精密な効果を単純化し隠蔽する。
【００３７】
[0037]検索の可能性の数は、少なくとも１つの後述される従来技術の実装形態において減少されている。これに対し、ＡＣＥＬＰにおけるコードブック構造及び他の古典的ベクトル量子化器設計は、その構造が選択肢の数を２ｂ未満に効率的に減少させる検索を可能にするが、複雑な知覚基準とともに使用することができない。本来、この検索は、ＭＳＥのような基準に直接結合されたときに単に効率的に機能する。動作するＡＣＥＬＰベースの検索メカニズムの例は、ＩＴＵ−Ｔ勧告Ｇ．７２９で使用されて、それにより、４０個の残余時間サンプルが、信号適応ＷＭＳＥ基準とともに合同で量子化される。
【００３８】
[0038]また、「絶対知覚閾値」がレートルックにおける単純な手段で必ず修正されるため、オーディオコーダ内のたいていの「レートループ」検索は、知覚パフォーマンスの最適化は弱く取り扱うだけで、ビットレートの問題を取り扱うことを何度も繰り返すことが重要である。ここではレートループが「閉ループ」要素を有するが、本来、検索は、結果としての現在知覚可能な量子化ノイズの閾上知覚効果を注意深く最適化することよりも、レート歪みの最適化に関わる。このような効果は、正確なノイズレベルが分かった後でのみ正確に予測可能であり、単にノイズレベルを閾値に突き合わせてチェックすることによっては評価されない。
【００３９】
[0039]簡潔に言えば、音声及びオーディオ符号化における上記の両方の古典的な手法は、以下のものを有することがある。
ａ）それらが歪み距離を単純化するときの先天的な非効率性、及び／又は、
例えば、真の知覚でもＷＭＳＥを使用することが、より複雑である
ｂ）オプションを限定する過度に保守的な制約
例えば、スケールファクタバンド内の最大均一レベルを課すこと、及び／又は、
ｃ）ノイズレベルに対する過度に保守的な仮定、及び／又は、
例えば、実際の又は「より実際に近い」平均レベルよりむしろ最大レベルを使用すること
ｄ）それらの意図したノイズ割当てと実際のノイズ割当ての間の誤差、
例えば、
ａ．誤差が、ＷＭＳＥ基準を使用することにより仮定しうる形状／特徴で分布しない、
ｂ．誤差は実際に変動しうるため期待又は予測されたレベルがわずかしか有用でないことがある。
ｅ）ベクトル量子化又は構造化されたコードブック表現による複数のパラメータを合同で符号化するときに個々のパラメータに割り当てられるノイズレベルの非常にわずかな明示制御。
【００４０】
[0040]これは、低いビットレートで動作するとき特に起こる可能性がある。その結果、コーダが、知覚パフォーマンスと予測を結び付けようとするか、又は量子化を指示する際に単純化した仮定を使用するとき、非効率性がある。
【００４１】
[0041]最近では、半順序量子化方式と称される新しい量子化オプションのクラスがあり、これは、パラメータのベクトル全体にビット割当ての有意味なパターン（及びそれによる推定ノイズ割当て）を意図的に作り出すことができる特性を有する。
【００４２】
[0042]「ｂ」ビット量子化方式では、原型パターン「Ｐ」が使用されて、順列符号によく似た原型パターンの限定順列によって全て関係付けられた２ｃ＜＜２ｂの可能なパターンが生成されるが、この場合、古典的「順列符号」としての符号語の要素ではなくビット割当てを順序変更する。例えば、パターン「Ｐ」
Ｐ＝ｐ（１），ｐ（２），…，ｐ（Ｎ）
は、要素「ｐ（ｊ）」を有し、それぞれが、「Ｎ」個の全パラメータのうちの特定のパラメータがどのように量子化されるかを定義する。しばしば、このような複数の順列の部分集合のみが考慮に入れられることがあり、例えば、以下のような２つの当該の順列のみでありうる。
ｐ（２），ｐ（１），ｐ（３），ｐ（４），ｐ（５），…，ｐ（Ｎ）  及び  ｐ（３），ｐ（１），ｐ（２），ｐ（４），ｐ（５），…，ｐ（Ｎ）
【００４３】
[0043]順列の限定（半順序）の１つの動機は、一部のｉ及びｊについてｐ（ｊ）＝ｐ（ｉ）であり、したがって同じ順列が等価に作られることがしばしばあるという事実に由来する。例えば、上記において、ｐ（１）＝ｐ（２）＝ｐ（３）ならば、２つの上記のパターンは同じであり、異なる順列として区別されない。
【００４４】
[0044]より一般的には、他の理由のため順列を限定することができ、例えば、新しいパターン（順列）におけるより高い値ｐ（ｊ）に集中する（又は拡がる）順列を限定することができる。この場合、「ｐ（ｊ）」は、ビット割当てであり、実際、低いビットレートにおいて、そのような有意味なパターンを用いることが、等しいパターンのビット割当て（全てのｉ，ｊについてｐ（ｉ）＝ｐ（ｊ））をいずれか作り出す他の量子化技法より効率的になりうることが示されている。
【００４５】
[0045]そのようなビット割当ての等しいパターンは、推定されるノイズ割当ての等しいパターンと等価になりうる。例えば、ｐ（ｉ）のそれがノイズ割当てである場合、ｐ（ｉ）＝ｐ（ｊ）＝「デルタ」は、図１の場合と同様のターゲットを作り出す割当てである。全ての場合に、固有の順列の数２ｃは、Ｎ！より小さい（しばしば、かなり小さい）と考えられる。
【００４６】
[0046]パターンがビット割当てであり、各パラメータの量子化プロセスが、パラメータに対する所定の数の割当てビットを使用するように制約される場合、割当てに使用されるビットの総数は事前に知られ、例えば、パターンは、ｐ（１）＋ｐ（２）＋…ｐ（Ｎ）ビットを使用する。したがって、図１Ａのプロセスと同様に、使用される「デルタ」の数及びしたがって費やされるビットが不確定ではない。
【００４７】
[0047]また、この手順には、良好な順列を求める検索において単純化がある。量子化手順を実装する１つの方法は、ビット（又はノイズ）割当てを順序変更しないが、量子化パターンＰ＝ｐ（１），ｐ（２），…，ｐ（Ｎ）を固定しながら、目標ベクトルＸ＝ｘ（１），ｘ（２），…，ｘ（Ｎ）に順序変更する。用語「半順序」は、知覚的関連性のエネルギの点からｘ（ｊ）の順序を部分的に順序付けることによって、ｘ（ｊ）の順序を順序変更することがしばしば良いという事実から生じる。
【００４８】
[0048]複数の原型パターンを考える場合、例えば、ｇ＝２ｄパターンＰ（１），Ｐ（２），…，Ｐ（ｇ）で、これにおいて、パターンＰ（ｋ）がそれ自体で、半順序（限定された順列）で関係付けられた２ｃ（ｋ）パターンを生成する場合、パフォーマンスは更に改善されうることも示されている。例えば、
パターン１：Ｐ（１）＝ｐ（１，１），ｐ（２，２），…ｐ（Ｎ，１）
パターン２：Ｐ（１）＝ｐ（１，２），ｐ（２，２），…ｐ（Ｎ，２）
…
パターンｇ：Ｐ（１）＝ｐ（１，ｇ），ｐ（２，ｇ），…ｐ（Ｎ，ｇ）
ただし、（前記の例でのｐ（ｉ）のように）ｐ（ｉ，ｊ）は、どのようにパラメータを量子化するかを指定する値である。「ｂ」ビットが量子化で使用されるようにするためには、全てのパラメータｋ＝１，２，…，ｇについて、
ｄ＋ｃ（ｋ）＋ｐ（１，ｋ）＋ｐ（２，ｋ）＋…＋ｐ（Ｎ，ｋ）＝ｂ
である。
【００４９】
[0049]更に、所与のパターンＰ（ｋ）について、わずかな（又は絶対知覚閾値計算よりわずかに大きい）計算で識別を行うことができ、２ｃ（ｋ）パターンのうちから最良の知覚的優位を有する。
【発明の概要】
【００５０】
[0050]複数の量子化パターンの知覚的関連検索を用いてデータを量子化するための方法及び装置を本明細書に開示する。一実施形態では、方法は、複数の量子化パターンの知覚的関連検索を行うステップであり、複数の原型パターンのうちの１つ及び前記原型パターンのうちの１つに関連付けられた順列が、前記目標ベクトルを量子化するために選択され、前記複数の原型パターンにおける各原型パターンが、前記ベクトル全体にわたり量子化を指示することができるステップと、前記１つの原型パターン、前記関連付けられた順列、及び両者から生じる量子化情報を、エンコーダによって複数のビットに変換するステップと、前記ビットをビットストリームの一部分として転送するステップとを含む。
【００５１】
[0051]本発明は、以下に与える詳細な説明及び本発明の種々の実施形態の添付図面から、より理解されるであろうが、それらは、単に説明及び理解のためであり、特定の実施形態に本発明が限定されるように解釈されるべきではない。
【本発明の詳細な説明】
【００５２】
[0052]複数の量子化パターンの知覚的関連検索を用いてデータを量子化するための技法を説明する。一実施形態において、量子化オプションの効率的であるが限定された部分集合（例えば、２ａのオプション、ここで、２ａは、「ｂ」ビットを使用してパラメータのグループを量子化するための２ｂの可能な有意味なオプションの合計最大よりはるかに小さい）。
【００５３】
[0053]一実施形態では、（知覚に関連する様式でオプションの部分集合を限定し、そのようなオプションが検索に充分値するほど異なっていることを注意深く確認する）複数オプションの方法と（実際の又は仮定された）各ノイズ割当てパターンの知覚効果を予測する測定との組合せが用いられる。このようにして、合同の方法を達成することができ、この方法は、効率的且つ柔軟で有効な様式で、既知の検査された量子化ノイズ及び知覚効果に基づいて量子化オプションをより良く検索し選択することができ、他方で、前もってオプションの良好な部分集合を選択して実際の検査を少数の良好なオプションに限定することによって計算を少なくするため、より高度な知覚基準（歪みモデル）を考慮することを可能にしている。
【００５４】
[0054]本発明の一実施形態では、閉ループ知覚プロセスが使用され、このプロセスは、高速（限定された）閉ループ検索を可能にするコードブック構造を備え、知覚考慮に直接関係付けられた構造を備え、異なる知覚効果を有する複数のオプションを選択することを可能にする。
【００５５】
[0055]以下の説明では、本発明のより完全な説明を与えるために数多くの詳細が示される。しかし、本発明がこれら特定の詳細なしに本発明が実施されうることは当業者には明らかであろう。他の例では、周知の構造及び装置は、本発明を不明瞭にするのを避けるために詳細に示されるのではなくブロック図の形態で示される。
【００５６】
[0056]以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する操作のアルゴリズム及び記号表現の観点で提示される。これらのアルゴリズムの記述及び表現は、データ処理技術の当業者がその作業の内容を最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムは、ここでは、また一般的に、望ましい結果を導く一連の首尾一貫したステップとして考えられる。これらのステップは、物理量の物理的操作を要するステップである。必須ではないが通常は、これらの量は、格納、転送、結合、比較、及び他の操作がなされうる電気又は磁気信号の形態をとる。これらの信号を、主に一般的な用法であるという理由で、ビット、値、要素、シンボル、文字、項、又は番号などとして呼ぶことが時として好都合であることが分かっている。
【００５７】
[0057]しかし、上記及び類似の用語の全ては、該当する物理量に関連付けられるべきであり、これらの物理量に適用される便利なラベルに過ぎないことに留意すべきである。以下の議論において明らかなように、特にことわりがない限り、「処理」、「コンピューティング」、「計算」、「決定」、又は「表示」などの用語を使用する議論は、説明全体を通して、コンピュータシステム又は類似の電子コンピューティングデバイスの動作及びプロセスを指していることを理解されたい。それらは、コンピュータシステムのレジスタ及びメモリにおける物理量（電子的量）として表現されるデータを操作して、同様にコンピュータシステムのメモリ又はレジスタ、或いは他のそうした情報記憶装置、伝送装置、又は表示装置における物理量として表現される他のデータに変形するものである。
【００５８】
[0058]本発明はまた、本明細書における動作を行うための装置に関する。この装置は、要求される用途のために特別に構成されてもよく、或いは、コンピュータに格納されたコンピュータプログラムによって選択的に起動又は再構成される汎用コンピュータを備えてもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体に格納することができ、コンピュータ可読記憶媒体は、以下に限定されないが、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスクなどを含む任意のタイプのディスク、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、或いは、電子命令の格納に適した任意のタイプの媒体であり、それぞれコンピュータシステムバスに結合されるものである。
【００５９】
[0059]本明細書に提示されるアルゴリズム及び表示は、どの特定のコンピュータ又は他の装置にも固有のものとしては関係付けられない。様々な汎用システムが、本明細書の教示によるプログラムとともに使用してもよく、必須の方法ステップを行うために、より特化した装置を構成することが好都合となることもある。種々のこれらのシステムのための必須の構造は、以下の説明から明らかとなろう。また、本発明は、いかなる特定のプログラミング言語も参照せずに説明される。本明細書に記載される本発明の教示を実施するために種々のプログラミング言語が使用可能であることは理解されよう。
【００６０】
[0060]機械可読媒体は、機械（例えば、コンピュータ）によって読取り可能な形態で情報を格納又は伝送するための任意のメカニズムを含む。例えば、機械可読媒体としては、読取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリ装置、電気、光、音響、又は他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号など）などがある。
［概要］
【００６１】
[0061]以下に述べるように、多くのノイズ割当てパターンを自身で考慮する基礎の量子化方式を用いて、多くのノイズ割当てパターンをそれらの知覚的（マスキング）効果に関して効率的に識別し検査することを可能にする技法を開示する。この様式では、各原型パターンの高速（性質的に部分的開ループの）検索を行い、次いで、各パターンについて選択を行い、閉ループプロセスを用いてノイズの有意味なパターンの実際の量子化ノイズを小さな数「ｍ」（Ｍ＝ｇ≦ｍ＜２ｂ）についてのみ計算することによって、最良の実際の知覚的優位を有する量子化オプションを求める検索を達成することができる。値「ｍ」は、しばしば２ｂよりもはるかに小さい。一実施形態では、ｍ＝ｇであるが、一般性を失わずに、それ以上の順列が考えられる。例えば、２つの原型パターンが実際に同じである場合、結果として、単一パターンの２つの順列が考慮されうるという効果がある。目標ベクトルの２つの可能な順序に基づいて、所与の固有の原型パターンに対して２つ以上の順列を考慮することもできる。パターンの数及びしたがって閉ループ検査の数を限定する能力により、最終決定を行う際の複雑な知覚基準が使用できるようになる。このような基準は、量子化ノイズの「閾上」効果を予測する際に、より正確である。
【００６２】
[0062]一実施形態では、順列（半順序）符号化方式が使用され、（少なくとも平均で）より高いエネルギ要素がより大きなビット割当てを受け取るように、（緩く又は正確に）ビットパターンをパラメータのセットにマッチさせる。
【００６３】
[0063]したがって、複数オプション、限定された順列／半順序、知覚基準を有する量子化方式の新規の組合せにより、量子化の限定された閉ループ知覚プロセスを有する効率的な（限定された）組み合わされた開ループがもたらされる。一実施形態では、３つの主要要素、すなわち、Ｍ個の原型ビット割当てパターンのセットと、高速検索知覚的関連検索方法と、決定を行うために使用される知覚的測定とによって組合せが実装され、それらは新規の態様で一緒に動作する。これら３つの要素は、目標ベクトルを量子化するために使用するために、全ての原型パターンを検査しパターン（例えば、最良のパターン）を選択する働きをする。
【００６４】
[0064]図２は、目標ベクトルを量子化するためのプロセスの一実施形態のフロー図である。このプロセスは、ハードウェア（回路、専用ロジックなど）、（汎用コンピュータシステム又は専用機で実行されるような）ソフトウェア、又は両者の組合せを含むことができる処理ロジックによって行われる。
【００６５】
[0065]図２を参照すると、プロセスは、複数の量子化パターンの知覚的関連検索を行う処理ロジックによって開始され、知覚的関連検索では、複数の原型パターンのうちの１つ（例えば、原型ビット割当てパターン）及びそれに関連付けられた順列が、目標ベクトルを量子化するために選択される（処理ブロック２０１）。一実施形態では、それら原型パターンにおける各原型パターンは、ベクトル全体にわたり量子化を指示することができる。
【００６６】
[0066]一実施形態では、複数の量子化パターンの知覚的関連検索を行うステップが、原型パターンの順列を選択するステップと、歪み基準を使用して選択された順列を検索することによって、原型パターンのうちの１つ及びそれに関連付けられた順列を選択するステップとを含む。一実施形態では、複数の原型パターンの順列を選択するステップが、開ループの態様で行われる。一実施形態では、原型パターンの順列を選択するステップが、各原型パターンにおける要素を再順序付けせずに目標ベクトルの要素を順序に再順序付けすることによって、暗黙的に行われる。一実施形態では、目標ベクトルの要素が、エネルギに基づいて、全順序及び緩やかな順序からなる群から選択された順序に再順序付けされる。順序が、半順序又は全順序とすることができる。一実施形態では、目標ベクトルの要素が、知覚的関連性に基づいて、全順序及び緩やかな順序からなる群から選択された順序に再順序付けされる。順序は、半順序又は全順序とすることができる。
【００６７】
[0067]一実施形態では、１つの原型パターンが、量子化時に、目標ベクトルにおける各要素に割り当てられるビットの数を指定する。別の実施形態では、１つの原型パターンが、量子化時にベクトルにおける各要素に割り当てられる量子化ステップサイズを定義する。更に他の実施形態では、１つの原型パターンが、量子化を行うための量子化器のローカル次元を指定する。一実施形態では、ローカル次元が、合同で量子化される目標ベクトルにおける要素の数を示す。一実施形態では、原型量子化パターンのそれぞれが、等価な量子化オプションを定義する反復された要素を有する。
【００６８】
[0068]知覚的関連検索を行った後、処理ロジックは、エンコーダを使用して、１つの原型パターン、関連付けられた順列、及び両者から生じる量子化情報を、複数のビットに変換する（処理ブロック２０２）。
【００６９】
[0069]符号化動作の後、処理ロジックは、ビットをビットストリームの一部分として転送する（処理ブロック２０３）。一実施形態では、ビットをビットストリームの一部分として転送するステップが、ビットストリームをデコーダに転送するステップを含む。他の実施形態では、ビットをビットストリームの一部分として転送するステップが、ビットストリームをメモリに格納するステップを含む。
【００７０】
[0070]図３は、符号化プロセスの一実施形態のフロー図である。このプロセスは、ハードウェア（回路、専用ロジックなど）、（汎用コンピュータシステム又は専用機で実行されるような）ソフトウェア、又は両者の組合せを含むことができる処理ロジックによって行われる。処理ロジックは、エンコーダの一部分とすることができる。
【００７１】
[0071]図３を参照すると、符号化プロセスが始まる前に、エンコーダは、パラメータのグループに対してグローバル要件Ｂを設定する。Ｂは、任意のグローバル要件とすることができる。一実施形態では、Ｂは、グローバルビットレート要件である。
【００７２】
[0072]グローバル要件Ｂが、この要件に従う原型パターンＰ（１），…，Ｐ（Ｍ）のセットを示唆する（処理ブロック３０１）。このセットは、Ｂ毎のコーダ設計段階において事前にオフラインで計算することができる。一実施形態では、パターンは、エンコーダ及びデコーダに知られる。
【００７３】
[0073]これらのパターンＰ（１），…，Ｐ（Ｍ）は、目標ベクトルＸ＝ｘ（１），ｘ（２），…，ｘ（Ｎ）の量子化を指示する。一実施形態では、これらのパターンは、原型ノイズレベルパターンのセットである。別の実施形態では、これらのパターンは、量子化方法又は量子化方法の解像度を定義する任意のパラメータのパターンのセットである。例えば、パターンは、コードブックのサイズと固定レート符号を有する量子化インデックスを符号化するために必要なビットの数とを指定するビットとしてよく、又は、パターンは、例えば均一スカラ量子化器などの正規の量子化器を定義するステップサイズとしてよく、又は、パターンは、（関連する特性と、したがって）量子化器に使用するコードブックとを指定するパラメータとしてよい。一実施形態では、重要な点は、原型ビット割当てパターンのセットが、有意味な（すなわち非均一な）パターンのセットであり、それを知覚的に意味のある態様に配列（順序変更）できることである。
【００７４】
[0074]Ｎ個のパラメータＸ＝ｘ（１），ｘ（２），…，ｘ（Ｎ）を量子化する場合、原型パターンｐ（ｋ）は、「Ｎ」個の音声／オーディオパラメータについてのＮ個の量子化オプションの系列とすることができる。一実施形態では、Ｐ（ｋ）＝ｆ（１，ｋ），ｆ（２，ｋ），…，ｆ（Ｎ，ｋ）であり、ただし、パラメータｆ（ｉ，ｊ）は、例えば上述のように、量子化方法又は量子化方法の解像度を指定する値である。原型パターンは、（例えば、可変次元符号化において）値ｆ（ｉ，ｊ）が、２つ以上のパラメータについて使用される場合、Ｎ個より少ないパラメータの系列でありうる。
【００７５】
[0075]Ｐ（ｋ）の順列は、整数１，２，…，Ｎの順列によって２つの可能な方法において定義され実施される。当該の整数のこの順列は、固有のインデックスｉ（１），ｉ（２），…，ｉ（Ｎ）の系列であり、ただし、全てのｗ，ｖ＝１，…，Ｎについて、１≦ｉ（ｗ）≦Ｎ、且つ、ｗ≠ｖならばｉ（ｗ）≠ｉ（ｖ）である。一実施形態では、この順列は、原型パターンを取得し、それを別のパターンＰ２（ｋ）＝ｆ（ｉ（１），ｋ），ｆ（ｉ（２），ｋ），…，ｆ（ｉ（Ｎ），ｋ）にマップする。この場合、ｆ（ｉ（ｊ），ｋ）は、パラメータｘ（ｊ）の量子化を指示するために使用される。別の実施形態では、この順列は、ベクトルＸを取得し、それをＸｎｅｗ＝［ｘ（ｉ（１）），ｘ（ｉ（２）），…，ｘ（ｉ（Ｎ））］に順序変更する。この場合、ｆ（ｊ（ｋ），ｋ）は、ｘ（ｉ（ｊ））の量子化を指示する。両方のプロセスを等価にする１対の順列（一方は他方の「逆」順列によって定義される）が存在することに留意されたい。
【００７６】
[0076]一実施形態では、原型パターンＰ（ｋ）が、最大Ｑ（ｋ）個までの可能な順列を許容する。Ｎ個のパラメータを量子化する場合、最大Ｎ！個の順列がありうる。しかし、パターンが、反復される値（例えば、Ｐ（ｋ）＝［１，１，２，２，２，３，４，４，…］）を有する場合、Ｎ！より小さいＱ（ｋ）個の固有のパターンがある。一実施形態では、上述のような他の基準を使用して順列が限定される。
【００７７】
[0077]一実施形態では、そのようなパラメータの複数のセット（例えば、原型パターンの複数のセット）があり、それが、異なるスケールファクタバンドやビットレートなどを対象にする。一実施形態では、パターンのセットが、例えば、グローバルビットレート要件Ｂによって選択される。
【００７８】
[0078]図３を戻って参照すると、グローバル要件Ｂの設定により、処理ロジックが、変数ｋを１に初期化し、処理ロジックがＸに基づいてパターンｐ（ｋ）の順列の１つを事前選択することからプロセスが開始する（処理ブロック３０２）。一実施形態では、高速検索知覚的関連検索方法が、原型パターンの順列の１つ（又は少数）を選択するために使用される。一実施形態では、これは、上述のように、エネルギを使用してＸの緩やかな順序又は全順序によって行われる。一実施形態では、順列は、インデックスｚ（ｋ）によって定義される。
【００７９】
[0079]次いで、処理ロジックは、ｐ（ｋ）の順列が指示するようにＸを量子化する（処理ブロック３０３）。一実施形態では、処理ロジックはまた、量子化インデックスをパラメータＩ（ｋ）に格納する。
【００８０】
[0080]処理ロジックは、Ｘ及びＸの量子化バージョンを使用して、順列についてのノイズ及び知覚効果を計算する（処理ブロック３０４）。一実施形態では、処理ロジックは、決定を行うために知覚的測定を使用する。一実施形態では、知覚的測定は、複数の要素からなる信号適応機能であり、それらは、例えば、マスキングレベル計算、エネルギ及び他の測定値を知覚的ラウドネスやエネルギの拡散などにマップする関数などであるが、これらに限定されない。一実施形態では、処理ロジックは、変数ｋについての効果を示す測定値を格納する。
【００８１】
[0081]その後、処理ロジックは、ｋ＜パターンの数Ｍであるかを検査する（処理ブロック３０５）。そうである場合、処理ロジックは、ｋを１つ増分し、処理ブロック３０２に移行し、プロセスが引き続き反復する。そうでない場合、処理ロジックは、処理ブロック３０６に移行する。
【００８２】
[0082]処理ブロック３０６で、処理ロジックは、最小の知覚効果を有するｋを選択する。本明細書では、これをｋ＊と称する。
【００８３】
[0083]ｋ＊が選択されると、処理ロジックは、Ｂ（他の何らかのプロセスからデコーダに知らされていない場合）と、ｋ＊と、順列を定義するインデックスｚ（ｋ＊）と、量子化インデックスを格納する順列Ｉ（ｋ＊）とを符号化し、この順序でそれらをビットストリーム内にパックするが（処理ブロック３０７）、デコーダが順序を認識している限り他の順序が使用されてもよい。
【００８４】
[0084]一実施形態では、パラメータのグループを量子化するために使用されるビットの総数は、総ビット又はノイズレベル制約に準拠してもしなくてもよい。例えば、一実施形態では、システムがパターンの所与のセットについてＢビットの強い制約を有する場合、量子化がビット割当てパターンを使用しているとき、下記の制約が使用されうる。
Ｒｏｕｎｄｕｐ（ｌｏｇ２［ｍ］）＋Ｒｏｕｎｄｕｐ（ｌｏｇ２［Ｑ（ｋ）］）＋原型パターンｋにおけるビットの合計＝Ｂ
これは、ｋ＊、ｚ（ｋ＊）、及びＩ（ｋ＊）を指定するために充分なビット数となる。
【００８５】
[0085]つまり、符号化の際に、最終的に選択された原型パターンＰ（ｋ＊）が、符号化パラメータを使用してデコーダに示される。一実施形態では、それは、Ｒｏｕｎｄｕｐ（ｌｏｇ２（ｍ））ビットを使用して２進列に符号化される。これは、図３におけるパラメータｋ＊を符号化する１つの方法となる。また、選択された順列ｚ（ｋ）は、Ｒｏｕｎｄｕｐ（ｌｏｇ２［Ｑ（ｋ）］）ビット未満の２進列で指定されうる。一実施形態では、パラメータｋ＊、ｚ（ｋ＊）、及びＩ（ｋ＊）は、上述のように別個に符号化されずに合同で符号化される。
【００８６】
[0086]ビットストリーム内へのパックがなされると、処理ロジックは、ビットストリームを出力３１１として送る（処理ブロック３０８）。一実施形態では、ビットストリームはメモリに送られる。別の実施形態では、ビットストリームはその後の復号化のためにデコーダに送られる。
【００８７】
[0087]図４は、復号化プロセスの他の実施形態のフロー図である。このプロセスは、ハードウェア（回路、専用ロジックなど）、（汎用コンピュータシステム又は専用機で実行されるような）ソフトウェア、又は両者の組合せを含むことができる処理ロジックによって行われる。処理ロジックは、デコーダの一部分とすることができる。
【００８８】
[0088]図４を参照すると、デコーダにおける処理ロジックは、ストリーム４１０を受け取り、ストリーム４１０を復号化して、Ｂ（処理ブロック４０１）、ｋ＊（処理ブロック４０２）、ｚ（ｋ＊）（処理ブロック４０３）、及びＩ（ｋ＊）（処理ブロック４０４）を得る。上述のように、Ｂは、パラメータのグループについてのエンコーダのグローバル要件であり、この要件は、原型パターンＰ（１），…，Ｐ（Ｍ）のセットを示唆する（４０５）。
【００８９】
[0089]Ｂ、ｋ＊、ｚ（ｋ＊）、及びＩ（ｋ＊）を回復した後、処理ロジックは、順序変更されたパターン内の割当て毎にＰ（ｋ＊）、ｚ（ｋ＊）、及びＩ（ｋ＊）を使用して、それぞれのパラメータの量子化バージョンを回復する（処理ブロック４０６）。
【００９０】
[0090]次いで、Ｐ（ｋ＊）、ｚ（ｋ＊）、及びそれぞれのパラメータの量子化バージョンが与えられると、処理ロジックは、それらを適切な順序でｙに配列し（４１１）、それが「ｘ」の量子化バージョンである。
【００９１】
[0091]上述の実施形態に対し他の更に一般的な変形形態がある。例えば、（Ｂ）における原型パターン毎に単一の順列を選択する代わりに、少数を実際に選択することができる。これを図５に示す。
【００９２】
[0092]図５は、符号化プロセスの他の実施形態のフロー図である。このプロセスは、ハードウェア（回路、専用ロジックなど）、（汎用コンピュータシステム又は専用機で実行されるような）ソフトウェア、又は両者の組合せを含むことができる処理ロジックによって行われる。処理ロジックは、エンコーダの一部分とすることができる。
【００９３】
[0093]図５を参照すると、符号化プロセスが始まる前に、エンコーダは、パラメータのグループに対してグローバル要件Ｂを設定する。このグローバル要件は、原型パターンＰ（１），…，Ｐ（Ｍ）のセットを示唆する（処理ブロック５０１）。
【００９４】
[0094]Ｂのグローバル要件の設定により、処理ロジックが、変数ｋを１に初期化し、処理ロジックがＸに基づいてパターンｐ（ｋ）の順列のいくつかｎ（ｋ）を事前選択することからプロセスが開始する（処理ブロック５０２）。一実施形態では、各順列ｓは、インデックス１＜＝ｚ２（ｋ，ｓ）＜＝Ｑ（ｋ）によって定義される。
【００９５】
[0095]次いで、処理ロジックは、ｐ（ｋ）の順列が指示するようにＸを量子化する（処理ブロック５０３）。一実施形態では、処理ロジックはまた、量子化インデックスをパラメータＩ２（ｋ,s）に格納する。
【００９６】
[0096]処理ロジックは、Ｘ及びＸの量子化バージョンを使用して、ｓ順列のそれぞれについてノイズ及び知覚効果を計算し（処理ブロック５０４Ａ）、最良のｎ（ｋ）オプションを選択する（処理ブロック５０４Ｂ）。本明細書では、この選択はｓ＊と称する。処理ロジックはまた、ｚ（ｋ）＝ｚ２（ｋ，ｓ）、及びＩ（ｋ）＝Ｉ２（ｋ，ｓ）を設定する。
【００９７】
[0097]その後、処理ロジックは、ｋ＜パターンの数Ｍであるかを検査する（処理ブロック５０５）。そうである場合、処理ロジックは、ｋを１つ増分し、処理ブロック５０２に移行し、プロセスが引き続き反復する。そうでない場合、処理ロジックは、処理ブロック５０６に移行する。
【００９８】
[0098]ブロック５０６の処理で、処理論理は、最小の知覚効果を有するｋを選択する。上述のように、本明細書では、これをｋ＊と称する。
【００９９】
[0099]ｋ＊が選択されると、処理ロジックは、Ｂ（他の何らかのプロセスからデコーダに知らされていない場合）と、ｋ＊と、順列を定義するインデックスｚ（ｋ＊）と、量子化インデックスを格納する順列Ｉ（ｋ＊）とを符号化し、この順序でそれらをビットストリーム内にパックするが（処理ブロック５０７）、デコーダが順序を認識している限り他の順序が使用されてもよい。
【０１００】
[00100]ビットストリーム内へのパックがなされると、処理ロジックは、ビットストリームを出力５１１として送る（処理ブロック５０８）。一実施形態では、ビットストリームはメモリに送られる。別の実施形態では、ビットストリームはその後の復号化のためにデコーダに送られる。
［第１の好ましい実施形態］
【０１０１】
[00101]好ましい一実施形態では、図３及び５の両方で以下の特徴を用いることができる。原型パターンに関して、第１の好ましい実施形態では、原型パターンがビット割当てパターンである。つまり、原型パターンの値ｐ（ｊ）又はｐ（ｉ，ｊ）のそれぞれが、その値によって指示される量子化パラメータ符号化のインデックスを指定するために使用されるビット数を正確に指定する。
【０１０２】
[00102]また、第１の好ましい実施形態では、一般により多くのビットを（緩く又は正確に）より高いエネルギの値ｘ（ｊ）に割り当てる順列を使用することにより、目標Ｘに対する原型パターンの最良の順列の選択が計算される。これは、上述の一般的原理に従い、この原理では、当該の要素が、より知覚的関連性がある傾向にあること、及び、それらをより高い忠実度で符号化することにより、他の要素に（量子化によって）導入されるノイズをマスキングする際のそれらの有効性が増大されることが示される。
【０１０３】
[00103]一実施形態では、これは、原型パターンがビット割当て値の降順で配列されることを最初に確かにすることによって実装することができ、すなわち、原型パターンＰ（ｋ）＝［ａ，ｂ，ｃ，ｄ，ｃ，…］である場合、目標は、ａ≧ｂ≧ｃ≧ｄ≧ｅ≧…である。パターンが順序変更されず、むしろ、ベクトルＸが、
ｘ（１），ｘ（２），…，ｘ（Ｎ）→ｘ（ｉ（１）），ｘ（ｉ（２）），…，ｘ（ｉ（Ｎ））
であり、大まかにｘ（ｉ（１）），ｘ（ｉ（２）），…，ｘ（ｉ（Ｎ））は降順のエネルギの順である。当該の「大まかな」順序の例は、最初のｍ＜Ｎのみが正しく順序付けられる。他の例は、Ｐ（ｋ）に反復される値があり、同じ値ｐ（ｊ，ｋ）についての対応する値「ｘ（ｉ（ｊ））」の相対的順序が問題にならない事例に関わる。原型パターン毎にエンコーダにおいて順列が選択されＸに適用され、その原型パターンを有する量子化（及びその順列）が検査され、「最良」の順列が選択され、選択を一意に指定する情報がデコーダに送られる。デコーダでは、量子化バージョンが、まず、順序変更されていない選択された原型によって指示されるように順序変更されていない形態で回復される。これは、この原型パターンについてエンコーダで選択された順列に関する情報が与えられると、逆の順列にされる。
【０１０４】
[00104]Ｐ（ｋ）＝（ｐ（１，ｋ），ｐ（２，ｋ），…，ｐ（ｉ，Ｎ））がビット割当てパターンの場合、パラメータへの割当てｐ（ｉ，ｋ）の検査は、２ｐ（ｉ，ｋ）の選択肢より多くの検査を伴わないことに留意されたい。例えば、古典的なスカラ又はベクトル量子化器が構造なしに使用される場合、コードブックは、２ｐ（ｉ，ｋ）のコードワードで表される２ｐ（ｉ，ｋ）の選択肢を含むことになる。量子化プロセスは、これらの選択肢のうちの１つを選択し、それは、しばしば最小量子化ノイズを与えるものである。したがって、２ｃ（ｋ）の選択肢（２ｃ（ｋは、しばしばＮ！より小さい）から必要とされる順列が容易に決定されるとすると、パターンＰ（ｋ）の検査に伴う検索の選択肢は、２ｐ（１，ｋ）＋２ｐ（２，ｋ）＋…＋２ｐ（Ｎ，ｋ）より多くない。これは、ＶＱにおける「積符号」設計と複雑さについて同様であるが、知覚考慮が追加されて、それにより、事前選択順列が、知覚的に関連する様式で２ｃ（ｋ）の選択肢から選択される。例えば、積符号が知覚的関連構造を有していない場合、２ｃ（ｋ）×（２ｐ（１，ｋ）＋２ｐ（２，ｋ）＋…＋２ｐ（Ｎ，ｋ））までの選択肢を検査する必要がある。
【０１０５】
[00105]パターン「ｐ（ｋ）」毎にノイズが分かると、パターン毎の選択された順列を所与として、順列とパターンの最終的な合同の選択の決定、及びしたがって量子化が、複雑な知覚基準を使用して、パターン毎に１つ（ｍ＝Ｍ）又は複数（ｍ＞Ｍ）の「ｍ」個の選択肢に対する検査である。この場合、ｍは、２ｂよりはるかに小さく、また、ＡＣＥＬＰのような古典的設計又は多くのベクトル量子化器が考慮する必要がある選択肢の数よりはるかに小さい。
【０１０６】
[00106]第１の好ましい実施形態では、所与の量子化オプションについて知覚歪みを計算する際に、ベクトルＸは、（例えば、スケールファクタバンドの場合のように）周波数が連続した周波数領域係数からなることが仮定される。また、以下のことも仮定される。すなわち、目標ベクトルＸ＝ｘ（１），ｘ（２），…，ｘ（Ｎ）；所与のオプション（原型パターン及び順列）に対する量子化された値が、Ｙ＝ｙ（１），ｙ（２），…，ｙ（Ｎ）によって与えられる；当該のオプションに対する誤りのエネルギパターンが、Ｅ＝ｅ（１），ｅ（２），…，ｅ（Ｎ）である（ただし、ｅ（ｊ）＝（ｘ（ｊ）−ｙ（ｊ））２）；絶対知覚マスキングレベルパターンＭ（Ｘ，Ｙ）＝ｍ（１），ｍ（２），…，ｍ（Ｎ）が、目標Ｘについて選択され、それは、「絶対知覚閾値」の決定と同様又は全く同じようにしばしばＸによって場合によってはＹによって定義される；加重関数Ｗ＝ｗ（１），ｗ（２），…，ｗ（Ｎ）もまた選択されうる；各要素Ｔ＝ｔ（１），ｔ（２），…，ｔ（Ｎ）毎に信号と独立した（エネルギ換算の）絶対聴覚閾値が選択される；並びに、指数法則「ｑ」が使用されることが仮定される。
【０１０７】
[00107]一実施形態では、Ｘに対して量子化値Ｙを評価する際に使用される知覚歪み関数「Ｄ（Ｘ，Ｙ）」は、２００６年８月１１日出願の「Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｑｕａｎｔｉｚｉｎｇ  Ｓｐｅｅｃｈ  ａｎｄ  Ａｕｄｉｏ  Ｔｈｒｏｕｇｈ  ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｐｅｒｃｅｐｔｕａｌｌｙ  Ｒｅｌｅｖａｎｔ  Ｓｅａｒｃｈ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｑｕａｎｔｉｚａｔｉｏｎ  Ｐａｔｔｅｒｎｓ」という名称の米国特許出願第６０／８３７１６４号に記載されるものと同様の形態をとり、その式（１３）は、
2010500819.tif 000003
の値を使用する。
【０１０８】
[00108]そのような歪み関数は、従来の全数検索での使用が非実用的な場合があるほどの複雑さを有する。これは、累乗ｑ、比における除算演算、及び、Ｍ（Ｘ，Ｙ）の計算に起因するもので、Ｍ（Ｘ，Ｙ）がＹに強く依存し、したがって各オプションに適応する必要がある場合に特にそうである。
【０１０９】
[00109]更に、本発明の実用的関心事の非常に大きな部分であるが、より精密且つより複雑になるのは、歪み関数に拡散が適用される場合である。ここで、拡散関数Ｂ＝ｂ（−Ｌ１），ｂ（−Ｌ１＋１），…，ｂ（０），ｂ（１），…，ｂ（Ｌ２＋１）が、エネルギが、人間の内耳の中央階にどのように拡散されうるかを考慮する。中央階は、異なる周波数範囲に応答する我々の「有毛」（神経）細胞を含む構造である。異なるセルに対する範囲は重複する。この場合、拡散を表現するために、上記の関数においてｅ（ｋ）及びｘ（ｋ）の代わりに値ｅ２（ｋ）及びｘ２（ｋ）を使用し、このとき、Ｅ２＝ｅ２（１），ｅ２（２），…，ｅ２（Ｎ）＝ｃｏｎｖ（Ｅ，Ｂ）、並びに、Ｘ２＝ｘ２（１），ｘ２（２），…，ｘ２（Ｎ）＝ｃｏｎｖ（Ｙ，Ｂ）である。この演算ｃｏｎｖ（）は、信号処理の当業者に知られている古典的な畳込み演算である。この演算の実施には、一般に、ｋ＜１且つｋ＞Ｎについて値ｅ（ｋ）及びｘ（ｋ）を必要とする。この畳込み演算を介する追加的でより精密な評価では、古典的量子化技法での全数検索が更に非実用的になる。
【０１１０】
[00110]より一般的には、下記のＤ２（  ）のように、マスキング上のノイズエネルギを知覚的ラウドネス測定にマップする任意の正関数Ｌ（  ）を使用することができる。ここでもやはり、「ｅ」は、「ｅ２」に置き換えることができる。
2010500819.tif 000004
【０１１１】
[00111]そのようなラウドネス測定は、「ｑ」がおよそ１／３から１／２の範囲になりうる「Ｄ（Ｘ，Ｙ）」にあるような、べき乗則のような関数の形態をとることが多い。ラウドネス測定はまた、適応型のべき乗則を有することもでき、例えば、
Ｌ（ｓ）＝Ｗ（ｓ）×ｓｑ（ｓ）
であり、式中、Ｗ（  ）はエネルギ依存のスケーリングであり、ｑ（  ）はエネルギ依存の指数である。知られているように、エネルギから知覚ラウドネスへの写像は、信号エネルギに応じて異なるべき乗則（指数）に従い、一般に、低いレベルに対して、より大きなべき乗則（エネルギの増加を伴うラウドネスのより速い増加）及びより高い信号レベルに対して、より小さいべき乗則が用いられる。
（第１の好ましい実施形態の代替形態）
【０１１２】
[00112]上述の第１の好ましい実施形態に組み込まれうるいくつかの代替形態。以下の代替形態は、第１の好ましい実施形態を更に改良するために、一緒に、別個に、又は任意の組合せで組み込むことができる。
【０１１３】
[00113]一実施形態では、パラメータをソートしそれにより順列を決定する知覚的関連性を改良することができる。前述のように、ＭＤＣＴ係数のようなパラメータの知覚的関連性は、そのエネルギと関係付けられることが多い。より高いエネルギを有する信号パラメータは、より低いエネルギを有する信号パラメータより小さくない（等しい又は大きい場合がある）値「ｐ（ｉ，ｋ）」が与えられるべきである。一実施形態では、このプロセスは、例えば絶対知覚閾値のような知覚閾値に対するエネルギの比に関係付けられる知覚的関連性を示す、より複雑な改良を含む。様々な周波数依存加重及びべき乗則を結果に適用することによって更なる改良を考えることができる。
【０１１４】
[00114]一実施形態では、マスキング閾値Ｍ（Ｘ，Ｙ）の値が、信号適応絶対知覚閾値である。
【０１１５】
[00115]一実施形態では、マスキング閾値Ｍ（Ｘ，Ｙ）の値が、信号エネルギのスケーリングされたバージョンである。
【０１１６】
[00116]一実施形態では、原型ビットパターンは、エンコーダによって生成されＸに関してデコーダに送られるストリームが、予め定められた（全てのパターンについて固定された値の）ビット数であるようになされる。例えば、それは、Ｂビットとすることができ、Ｂは、Ｘに割り当てられるビットの数である。一実施形態では、ストリームは、Ｂ、ｋ＊、ｚ（ｋ＊）、及びＩ（ｋ＊）を（場合により）指定するための情報からなる。一実施形態では、ｋ＊は、固定ビット数により指定される。この場合、それは、全てのパターンについて、
2010500819.tif 000005
であることを意味する。例えば、Ｂ＝１０の場合、４つの可能な原型パターンがあり（つまり、ｋ＊を指定するために２ビットを要する）、ここで、各原型パターンは、８個の許容される順列を有し（つまり、ｋ＊にかかわらずｚ（ｋ＊）を指定するために３ビットを要する）、各パターンは、合計が１０−３−２＝５ビットの（ビット割当てを表現する）正の整数の系列である。
【０１１７】
[00117]一実施形態では、原型ビットパターンは、異なる信号に対する異なる知覚効果をもたらす非常に特定的な特性を有する。例えば、Ｎが与えられると、パターンは、黙示的に、少数のインデックスにおける許容される（大部分又は）全てのビットカウントの濃縮を表現することができる（例えば、１，２，「ｍ」＜Ｎまでのインデックス）。例えば、Ｎ＝４の９ビットについて、原型パターンは、以下のようになりうる。
１つのインデックスへの濃縮の場合の例示的原型パターン：［９，０，０，０］
２つのインデックスへの濃縮の場合の例示的原型パターン：［５，４，０，０］
３つのインデックスへの濃縮の場合の例示的原型パターン：［３，３，３，０］
【０１１８】
[00118]一実施形態では、複数の原型パターンが使用される場合、ある原型パターンが選択され、それは、利用可能なビットの均等な（又はできる限り均等な）割当て、すなわち、全てのｉ，ｊについてｆ（ｉ｜ｋ）≒ｆ（ｊ，ｋ）であるパターンＰ（ｋ）を表現する。上記の例では、Ｎ＝４且つ９ビットであり、こうしたパターンは、［２，２，２，３］となる。こうしたパターンの４つの固有の順列がある。
【０１１９】
[00119]原型パターンは、「０」、「３」、「２」のような数が繰り返される上述の例のように、反復される値を有することがしばしばある。これは、結果として、パターン毎にＮ！個未満の固有の順列がある特性を有する。例えば、［２，２，３，３］の場合、このようなパターンの４個の固有の順列がある。固有の順列を指定するには、２ビットの情報が必要となる。
【０１２０】
[00120]一実施形態では、最良のパターンを選択される際に、ビット割当てが順序変更されベクトルＸは順序変更されない。
【０１２１】
[00121]好ましい第１と併せた上述の知覚測定の全ては、一緒にした全ての要素の歪みは個々の要素の歪みの合計である、歪みの加法モデルを構成する。これは、真の人間の知覚の完全な表現ではない。したがって、他の実施形態では、より高度な形態の歪み関数が使用され、この関数は、複数のノイズ要素がどのように一緒に知覚されるかをより注意深く考慮する。これらの歪み関数の例は、Ｌ．Ｅ．Ｈｕｍｅｓら「Ｍｏｄｅｌｓ  ｏｆ  ｔｈｅ  ａｄｄｉｔｉｖｉｔｙ  ｏｆ  ｍａｓｋｉｎｇ」、Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  Ａｃｏｕｓｔｉｃａｌ  Ｓｏｃ．ｏｆ  Ａｍｅｒｉｃａ、８５巻３号、１２８５−１２９４頁、１９８９年３月、及び、Ｈａｒｖｅｙ  Ｆｌｅｔｃｈｅｒ「Ｔｈｅ  ＡＳＡ  Ｅｄｉｔｉｏｎ  ｏｆ  Ｓｐｅｅｃｈ  ａｎｄ  Ｈｅａｒｉｎｇ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ」、Ｊｏｎｔ  Ｂ．Ａｌｌｅｎ編、Ｔｈｅ  Ａｃｏｕｓｔｉｃａｌ  Ｓｏｃｉｅｔｙ  ｏｆ  Ａｍｅｒｉｃａ  ｂｙ  ｔｈｅ  Ａｍｅｒｉｃａｎ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｐｈｙｓｉｃｓ、１９９５年発行に記載されている。聴覚の臨界帯域より幅が小さいスケールファクタバンドの一例では、Ｘの各要素を個別の要素として考えなくてよい（又は考えるべきではない）。むしろ、全エネルギ及び全マスキングが、１つの単位として考えられる。結局、人間の耳は、周波数で接近したそのような要素を区別することができない。このような場合、Ｄ（Ｘ，Ｙ）の下記の修正が有用な場合がある。
2010500819.tif 000006
これは、拡散関数「Ｂ」が、畳込みとしてではなく、単純に、全てのｋについてｂ（ｋ）＝１の内積として適用される例である。上記で、Ｍｔ及びＴは、スケールファクタバンドに対する共通のマスキング及び聴覚閾値（例えば、上述の「絶対知覚閾値」）である。
［第２の好ましい実施形態］
【０１２２】
[00122]第２の好ましい実施形態では、図３及び５の両方で以下の特徴を用いることができる。原型パターンに関して、第２の好ましい実施形態では、原型パターンが、より一般的に量子化パターンである。例えば、一実施形態では、スカラ量子化の場合、パターンは、量子化ステップサイズのパターンである。そして、これは、場合によっては均一ではないステップサイズのパターン
[Δ（１），Δ（２），Δ（３），…，Δ（Ｎ）］
となる。これは、例えば、
[Δ，Δ，Δ，…，Δ］
のような基本的に均一なパターンとなる図１Ａのプロセスとは異なる。別の実施形態では、量子化パターンは、使用される量子化器の特徴を指示する任意のパラメータのパターンを含む。既述のコードブックサイズ（すなわちビット数）及びステップサイズの他に、当該のいくつかの特徴としては、量子化オプションの対象となるダイナミックレンジ、量子化器の次元、及び、可変長符号（例えば、ハフマン符号）を量子化インデックスに適用した後に量子化インデックスが生成する最大ビットのいずれか又はそれらの組合せがある。一実施形態における量子化器の次元の事例では、パターン
[ｄ（１），ｄ（２），…，ｄ（ｈ）］
があり、ここで、ｄ（１）＋ｄ（２）＋…＋ｄ（ｈ）＝Ｎである。すなわち、「Ｎ」次元の目標Ｘ全体を対象にするのに充分な「次元」がある。
【０１２３】
[00123]第２の好ましい実施形態では、目標Ｘについての原型パターンの最良の順列の選択の精神は、第１の好ましい実施形態におけるそれと同様である。一般に、より高い忠実度でより高いエネルギの要素を量子化する量子化オプションは、より高いエネルギ要素に割り当てられる。これは、第１の好ましい実施形態と同様に、まず原型パターンを順序付け、次いで、エネルギに基づいて部分的（又は完全に）Ｘを再順序付けすることによって実装することができる。
【０１２４】
[00124]第２の好ましい実施形態では、第１の好ましい実施形態と同様の様式で知覚歪みが計算される。
（第２の好ましい実施形態の代替形態）
【０１２５】
[00125]以下の第２の好ましい実施形態に対する改良は、上述の特徴と一緒に、別個に、又は任意の組合せで組み込むことができる。
【０１２６】
[00126]複数の原型パターンが使用されるとき、各原型パターンは、ある種のグローバル基準に（大まかに）従う。例えば、原型パターン
Ｐ（ｋ）＝［Δ（１，ｋ），Δ（２，ｋ），Δ（３，ｋ），…，Δ（Ｎ，ｋ）］
を有するスカラ量子化器に対するステップサイズパターンの場合、ある種のそうした基準は、
2010500819.tif 000007
となりうる。ただし、Ｃは、オプションが導入しうる全ノイズエネルギのある種の共通の上限である。
【０１２７】
[00127]一実施形態では、原型ビットパターンは、非常に特定的な特性を有する。より詳細には、Ｎが与えられると、パターンは、黙示的に、少数のインデックスにおける量子化リソースの大部分の濃縮を表現することができる（例えば、１，２，「ｍ」＜Ｎまでのインデックス）。例えば、第１の好ましい実施形態と同様に、パターンは、少数の小さなΔを有することができる。
【０１２８】
[00128]一実施形態では、複数の原型パターンが使用される場合、１つの原型パターンは、量子化リソースの均等な（又はできる限り均等な）割当てを表現することができる。
【０１２９】
[00129]他の実施形態では、原型パターンは、反復される値をしばしば有する。
【０１３０】
[00130]他の実施形態では、最良のパターンを選択される際に、量子化パターンが順序変更されベクトルＸは順序変更されない。
［符号化及び復号化システムの更なる例］
【０１３１】
[00131]図６は、符号化システムの一実施形態のブロック図である。図６を参照すると、ブロックのそれぞれは、ハードウェア（回路、専用ロジックなど）、（汎用コンピュータシステム又は専用機で実行されるような）ソフトウェア、又は両者の組合せに実装されうる。
【０１３２】
[00132]図６を参照すると、入力目標ベクトル６０１が検索エンジン６０２によって受け取られる。グローバルパラメータＢの入力（６０５）に基づいて、検索エンジン６０２が、原型パターンＰ（１），…，Ｐ（Ｍ）の順列のグループの１つを選択するために検索を行い、それらは、ストレージ（例えば、メモリ）６０３に格納される。一実施形態では、行われる検索は、図３に関連して説明されたものと同じである。他の実施形態では、行われる検索は、図５に関連して説明されたものと同じである。
【０１３３】
[00133]検索の結果、検索エンジン６０２は、ｋ＊、ｚ（ｋ＊）、及びＩ（ｋ＊）（６０６）をエンコーダ６０７に出力する。エンコーダ６０７は、ｋ＊、ｚ（ｋ＊）、及びＩ（ｋ＊）（６０６）を符号化し、また（デコーダによって知られていない場合）Ｂを任意選択で符号化して、符号化データを作成する。パッカ６０８は、符号化データを、出力ストリーム６０９として出力されるビットストリームにパックする。一実施形態では、パッカ６０８によって行われるパック動作は、エンコーダ６０７によって行われる。
【０１３４】
[00134]図７は、復号化システムの一実施形態のブロック図である。図７を参照すると、ブロックのそれぞれは、ハードウェア（回路、専用ロジックなど）、（汎用コンピュータシステム又は専用機で実行されるような）ソフトウェア、又は両者の組合せに実装されうる。
【０１３５】
[00135]図７を参照すると、デコーダ７０２は、ビットストリーム７０１を受け取り、逆量子化されるベクトル毎に、ｋ＊、ｚ（ｋ＊）、及びＩ（ｋ＊）と、任意選択でＢを回復する。逆量子化器７０３が、順序変更されたパターン内の割り当て毎にこれらの出力を受け取り、それぞれのパラメータ７０４の量子化バージョンを回復し、それぞれのパラメータ７０４の量子化バージョンを配列ユニット７０５に出力する。ｋ＊についての原型パターン及びインデックスｚ（ｋ＊）によって定義される順列に基づいて、配列ユニット７０５は、それぞれのパラメータ７０４の量子化バージョンを適切な順序に配列する。
［コンピュータシステムの例］
【０１３６】
[00136]図８は、本明細書に記載の動作の１つ又は複数を行うことができる例示的コンピュータシステムのブロック図である。図８を参照すると、コンピュータシステム８００は、例示的クライアント又はサーバコンピュータシステムを含むことができる。コンピュータシステム８００は、情報を伝達するための通信メカニズム又はバス８１１、及び情報を処理するためのバス８１１と結合されたプロセッサ８１２を備える。プロセッサ８１２には、例えば、Ｐｅｎｔｉｕｍ（商標）、ＰｏｗｅｒＰＣ（商標）、Ａｌｐｈａ（商標）などのマイクロプロセッサが含まれるが、マイクロプロセッサだけに限られない。
【０１３７】
[00137]システム８００は更に、プロセッサ８１２に実行される情報及び命令を格納するためにバス８１１に結合された（メインメモリと呼ばれる）ランダムアクセスメモリ（ＲＡＭ）又は他の動的記憶装置８０４を備える。メインメモリ８０４はまた、プロセッサ８１２による命令の実行の際に一時変数又は他の中間情報を格納するために使用することができる。
【０１３８】
[00138]コンピュータシステム８００はまた、プロセッサ８１２のための静的情報及び命令を格納するためにバス８１１に結合された読取り専用メモリ（ＲＯＭ）及び／又は他の静的記憶装置８０６と、磁気ディスク又は光ディスク及びそれに対応するディスクドライブのようなデータ記憶装置８０７とを備える。データ記憶装置８０７は、情報及び命令を格納するためにバス８１１に結合される。
【０１３９】
[00139]コンピュータシステム８００は更に、コンピュータユーザへ情報を表示するためにバス８１１に結合された陰極線管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）のようなディスプレイ装置８２１に結合することができる。英数字及び他のキーを含む英数字入力装置８２２もまた、プロセッサ８１２に情報及びコマンドの選択を伝達するためにバス８１１に結合することができる。追加のユーザ入力装置は、マウス、トラックボール、トラックパッド、スタイラス、又はカーソル方向キーなどのカーソル制御８２３であり、方向情報及びコマンド選択をプロセッサ８１２に伝達するため、並びにディスプレイ８２１上のカーソル移動を制御するために、バス８１１に結合される。
【０１４０】
[00140]バス８１１に結合されうる他のデバイスとして、ハードコピー装置８２４があり、紙、フィルム、又は同様のタイプの媒体などの媒体上に情報を記録するために使用することができる。バス８１１に結合されうる他のデバイスとして、電話又は携帯装置への通信のための有線／無線通信機能８２５がある。
【０１４１】
[00141]システム８００の及び関連するハードウェアの任意又は全ての要素が、本発明において使用されうることに留意されたい。しかし、コンピュータシステムの他の構成が、これらデバイスの一部又は全てを含むこともできることは理解されよう。
【０１４２】
[00142]本発明の多くの改変及び修正が、以上の説明を読んだ後に当業者には明らかになることは疑いないが、例示として示され説明されたいずれの特定の実施形態も、限定として考えられることは全く意図されていない。したがって、種々の実施形態の詳細への言及は、本発明に本質的と見なされる特徴のみを自身に列挙する特許請求の範囲の範囲を限定するものではない。
【図面の簡単な説明】
【０１４３】
【図１Ａ】均一なレベルを有する量子化例を示す図である。
【図１Ｂ】低いビットレート及び高いビットレートにおける加重関数及び可能な結果の例を示す図である。
【図２】目標ベクトルを量子化するためのプロセスの一実施形態を示すフロー図である。
【図３】符号化プロセスの一実施形態を示すフロー図である。
【図４】復号化プロセスの他の実施形態を示すフロー図である。
【図５】符号化プロセスの他の実施形態を示すフロー図である。
【図６】符号化システムの一実施形態を示すブロック図である。
【図７】復号化システムの一実施形態を示すブロック図である。
【図８】例示的コンピュータシステムを示すブロック図である。
【図１Ａ】
2010500819.tif 000008
【図１Ｂ】
2010500819.tif 000009
【図２】
2010500819.tif 000010
【図３】
2010500819.tif 000011
【図４】
2010500819.tif 000012
【図５】
2010500819.tif 000013
【図６】
2010500819.tif 000014
【図７】
2010500819.tif 000015
【図８】
2010500819.tif 000016
【手続補正書】
【提出日】平成21年2月13日(2009.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
目標ベクトルを量子化するための方法であって、
複数の量子化パターンの知覚的関連検索を行うステップであって、複数の原型パターンのうちの１つ及び前記原型パターンのうちの１つに関連付けられた順列が、前記目標ベクトルを量子化するために選択され、前記複数の原型パターンにおける各原型パターンが、前記ベクトル全体にわたり量子化を指示することができるステップと、
前記１つの原型パターン、前記関連付けられた順列、及び両者から生じる量子化情報を、エンコーダによって複数のビットに変換するステップと、
前記ビットをビットストリームの一部分として転送するステップと
を含む方法。
【請求項２】
複数の量子化パターンの前記知覚的関連検索を行う前記ステップが、
前記複数の原型パターンの複数の順列を選択するステップと、
歪み基準を使用して前記選択された順列を検索することによって、前記複数の原型パターンのうちの１つ及び前記複数の原型パターンのうちの１つに関連付けられた順列を選択するステップと
を含む、請求項１に記載の方法。
【請求項３】
複数の原型パターンの前記複数の順列を選択する前記ステップが、開ループの態様で行われる、請求項２に記載の方法。
【請求項４】
前記複数の原型パターンの前記複数の順列を選択する前記ステップが、各原型パターンにおける要素を再順序付けせずに前記目標ベクトルの要素を順序に再順序付けすることによって、暗黙的に行われる、請求項２に記載の方法。
【請求項５】
前記目標ベクトルの前記要素が、エネルギに基づいて、全順序及び緩やかな順序からなる群から選択された順序に再順序付けされる、請求項４に記載の方法。
【請求項６】
前記順序が、半順序である、請求項５に記載の方法。
【請求項７】
前記目標ベクトルの前記要素が、知覚的関連性に基づいて、全順序及び緩やかな順序からなる群から選択された順序に再順序付けされる、請求項４に記載の方法。
【請求項８】
前記順序が、半順序である、請求項７に記載の方法。
【請求項９】
前記１つの原型パターンが、量子化時に前記目標ベクトルにおける各要素に割り当てられるビットの数を指定する、請求項１に記載の方法。
【請求項１０】
前記１つの原型パターンが、量子化時にベクトルにおける各要素に割り当てられる量子化ステップサイズを定義する、請求項１に記載の方法。
【請求項１１】
前記１つの原型パターンが、前記量子化を行うための量子化器のローカル次元を指定する、請求項１に記載の方法。
【請求項１２】
前記ローカル次元は、合同で量子化される前記目標ベクトルにおける要素の数を示す、請求項１１に記載の方法。
【請求項１３】
前記複数の原型量子化パターンのそれぞれが、等価な量子化オプションを定義する反復された要素を有する、請求項１に記載の方法。
【請求項１４】
前記ビットをビットストリームの一部分として転送する前記ステップが、前記ビットストリームをデコーダに転送するステップを含む、請求項１に記載の方法。
【請求項１５】
前記ビットをビットストリームの一部分として転送する前記ステップが、前記ビットストリームをメモリに格納するステップを含む、請求項１に記載の方法。
【請求項１６】
複数の量子化パターンの検索を行い、目標ベクトルを量子化するために、知覚的関連性に基づいて、複数の原型パターンのうちの１つ及び前記原型パターンのうちの１つに関連付けられた順列を選択するための選択器であって、前記複数の原型パターンにおける各原型パターンが、前記ベクトル全体にわたり量子化を指示することができる、選択器と、
前記１つの原型パターン、前記関連付けられた順列、及び両者から生じる量子化情報を、複数のビットに変換し、前記ビットをビットストリームの一部分として転送するためのエンコーダと
を備える装置。
【請求項１７】
前記選択器が、前記複数の原型パターンの複数の順列を選択し、次いで、歪み基準を使用して前記選択された順列を検索することによって、前記複数の原型パターンのうちの１つ及び前記複数の原型パターンのうちの１つに関連付けられた順列を選択する、請求項１６に記載の装置。
【請求項１８】
前記選択器が、前記目標ベクトルの要素を再順序付けすることによって、暗黙的に前記複数の原型パターンの前記複数の順列を選択する、請求項１７に記載の装置。
【請求項１９】
前記１つの原型パターンが、量子化時に前記目標ベクトルにおける各要素に割り当てられるビットの数と、量子化時にベクトルにおける各要素に割り当てられる量子化ステップサイズと、前記量子化を行うための量子化器のローカル次元とからなる群のうちの１つを指定する、請求項１６に記載の装置。
【請求項２０】
命令を格納する１つ又は複数のコンピュータ可読媒体を備える製品であって、前記命令は、システムによって実行されたときに前記システムに方法を実行させ、前記方法は、
複数の量子化パターンの知覚的関連検索を行うステップであって、複数の原型パターンのうちの１つ及び前記原型パターンのうちの１つに関連付けられた順列が、前記目標ベクトルを量子化するために選択され、前記複数の原型パターンにおける各原型パターンが、前記ベクトル全体にわたり量子化を指示することができるステップと、
前記１つの原型パターン、前記関連付けられた順列、及び両者から生じる量子化情報を、エンコーダによって複数のビットに変換するステップと、
前記ビットをビットストリームの一部分として転送するステップと
を含む製品。
【請求項２１】
複数の量子化パターンの前記知覚的関連検索を行う前記ステップが、
前記複数の原型パターンの複数の順列を選択するステップと、
歪み基準を使用して前記選択された順列を検索することによって、前記複数の原型パターンのうちの１つ及び前記複数の原型パターンのうちの１つに関連付けられた順列を選択するステップと
を含む、請求項２０に記載の製品。
【請求項２２】
ビットストリームを復元するための方法であって、
前記ビットストリームを受け取るステップと、
前記ビットストリーム内のビットを復号化するステップと、
前記復号化されたビットによって識別された量子化パターン、順列、及び量子化インデックスを使用して、パラメータの量子化バージョンを回復するステップと、
前記量子化パターン及び前記順列を再順序付けすることによって、前記目標ベクトルの量子化バージョンを作成するステップと
を含む方法。
【国際調査報告】
2010500819.tif 000017
2010500819.tif 000018