"デコーダにおいて、符号化されたオーディオビットストリームに対するオーディオ復号を実行する方法であって、前記符号化されたオーディオビットストリームから1または複数のベースバンドスペクトル係数を復号するステップと、コピーすべき1または複数のベースバンドスペクトル係数を識別するモーションベクトルを含むシェープパラメータに応じて、1または複数の識別されたベースバンドスペクトル係数をコピーし、かつスケールパラメータに応じて、前記コピーされた1または複数の識別されたベースバンドスペクトル係数をスケーリングすることにより、1または複数の拡張帯域スペクトル係数を復号するステップとを含むことを特徴とする方法。前記シェープパラメータは、コードブック内のスペクトル形状に対するベクトルをさらに含み、1または複数の拡張帯域スペクトル係数を復号する前記ステップは、前記コードブックから前記スペクトル形状をコピーするステップをさらに含むことを特徴とする請求項1に記載の方法。前記スケールパラメータは、前記符号化されたオーディオビットストリームを符号化したスペクトル係数の帯域の全エネルギーを表すスケーリングファクタを含むことを特徴とする請求項1に記載の方法。前記スケールパラメータはスケーリングファクタを含み、前記スケーリングファクタは前記符号化されたオーディオビットストリームを符号化したスペクトル係数の二乗平均平方根の値であることを特徴とする請求項1に記載の方法。前記復号された1または複数のベースバンドスペクトル係数および前記復号された1または複数の拡張帯域スペクトル係数を入力オーディオ信号ブロックの複製に変換する逆変換操作を実行するステップをさらに含むことを特徴とする請求項1に記載の方法。前記スケールパラメータは、複数の拡張帯域スペクトル係数に対するスケーリングファクタを周波数の関数として与える多項関係を特徴付ける係数を含むことを特徴とする請求項1に記載の方法。符号化されたオーディオビットストリームに対するオーディオ復号方法であって、前記符号化されたオーディオビットストリームから1または複数のベースバンドスペクトル係数を復号するステップと、コピーすべき1または複数のベースバンドスペクトル係数を識別するモーションベクトルを含むシェープパラメータに応じて、1または複数の識別されたベースバンドスペクトル係数をコピーし、かつスケールパラメータに応じて、前記コピーされた1または複数の識別されたベースバンドスペクトル係数をスケーリングすることにより、1または複数の拡張帯域スペクトル係数を復号するステップとを含む方法をコンピュータに実行させるために構成可能な命令を含むことを特徴とする1または複数のコンピュータ読み取り可能媒体。前記シェープパラメータは、コードブック内のスペクトル形状に対するベクトルをさらに含み、1または複数の拡張帯域スペクトル係数を復号する前記ステップは、前記コードブックから前記スペクトル形状をコピーするステップをさらに含むことを特徴とする請求項7に記載の1または複数のコンピュータ読み取り可能媒体。前記スケールパラメータは、前記符号化されたオーディオビットストリームを符号化したスペクトル係数の帯域の全エネルギーを表すスケーリングファクタを含むことを特徴とする請求項7に記載の1または複数のコンピュータ読み取り可能媒体。前記スケールパラメータはスケーリングファクタを含み、前記スケーリングファクタは前記符号化されたオーディオビットストリームを符号化したスペクトル係数の二乗平均平方根の値であることを特徴とする請求項7に記載の1または複数のコンピュータ読み取り可能媒体。前記復号された1または複数のベースバンドスペクトル係数および前記復号された1または複数の拡張帯域スペクトル係数を入力オーディオ信号ブロックの複製に変換する逆変換操作を実行するステップをさらに含むことを特徴とする請求項7に記載の1または複数のコンピュータ読み取り可能媒体。前記スケールパラメータは、複数の拡張帯域スペクトル係数に対するスケーリングファクタを周波数の関数として与える多項関係を特徴付ける係数を含むことを特徴とする請求項7に記載の1または複数のコンピュータ読み取り可能媒体。処理ユニットと、符号化されたオーディオビットストリームに対するオーディオ復号方法であって、前記符号化されたオーディオビットストリームから1または複数のベースバンドスペクトル係数を復号するステップと、前記符号化されたオーディオビットストリームから、第1の帯域に対するスケールファクタを復号し、コピーすべき1または複数のベースバンドスペクトル係数を識別するモーションベクトルを含む第1のシェープパラメータに応じて、スペクトル帯域の形状を記述する1または複数の識別されたベースバンドスペクトル係数をコピーし、かつ前記第1の帯域に対する前記復号されたスケールファクタに応じて、前記コピーされた1または複数の識別されたベースバンドスペクトル係数をスケーリングすることにより、前記符号化されたオーディオビットストリームから拡張スペクトル係数の第1の帯域を復号するステップと、前記符号化されたオーディオビットストリームから、第2の帯域に対するスケールファクタを復号し、第2のシェープパラメータに応じて、コードブックから1または複数のベクトルをコピーし、かつ前記第2の帯域に対する前記復号されたスケールファクタに応じて、前記コードブックから前記コピーされた1または複数のベクトルをスケーリングすることにより、前記符号化されたオーディオビットストリームから拡張スペクトル係数の第2の帯域を復号するステップと、前記復号された1または複数のベースバンドスペクトル係数および前記復号された1または複数の拡張帯域スペクトル係数に逆変換を実行して、再構成されたオーディオ信号を作成するステップとを含む方法を前記処理ユニットに実行させるために構成可能な命令を含む1または複数のコンピュータ読み取り可能媒体とを備えたことを特徴とするコンピューティング装置。前記第1の帯域に対する前記復号されたスケールファクタは、前記符号化されたオーディオビットストリームを符号化したスペクトル係数の二乗平均平方根の値を含むことを特徴とする請求項13に記載のコンピューティング装置。前記第1のシェープパラメータは、前記スペクトル帯域の形状の伸張を表す値を更に含むことを特徴とする請求項13に記載のコンピューティング装置。本明細書に述べられているデジタルメディア例えば、オーディオ、ビデオ、静止画など符号化/復号技法は、シェーピングされたノイズ、または他の周波数成分のシェーピングされたバージョン、あるいは両者の組合せを使用して、いくつかの周波数成分を知覚的に良好に、または部分的に表すことができることを利用する。より具体的には、いくつかの周波数帯域は、すでにコード化されている他の帯域のシェーピング済みバージョンとして、知覚的に良好に表すことができる。実際のスペクトルは、この合成バージョンから逸脱する可能性があるが、依然として、品質を落とすことなしにオーディオ信号符号化のビットレートを著しく減じるために使用することができる、知覚的に良好に表現されたものである。大抵のオーディオコーデックは、変形離散コサイン変換MDCTまたはMLTModulatedLappedTransformなど、サブバンド変換または重ね合わせ直交変換overlappedorthogonaltransformを使用してスペクトル分解を使用し、オーディオ信号を時間領域表現からスペクトル係数のブロックまたは組に変換する。次いで、これらのスペクトル係数は、コード化され、デコーダに送られる。これらのスペクトル係数の値のコーディングが、オーディオコーデック内で使用される大抵のビットレートを構成する。低いビットレートでは、係数すべてを粗くコード化し、不十分な品質で再構成されるように、あるいは、より少ない係数をコード化し、こもった、低域通過した響きの信号となるように設計することができる。本明細書に述べられているオーディオ符号化/復号技法は、これらの後者を行うときすなわち、オーディオコーデックが少ない係数、すなわち、必ずしも下位互換性のためではないが、一般に低いビットレートをコード化することを選んだときオーディオ品質を改善するために使用することができる。少ない係数が符号化されるだけのとき、コーデックは、再構築の際に、ぼやけた、低域通過した音を生成する。この品質を改善するために、この述べられている符号化/復号技法は、全ビットレートの小さな割合を費やして、欠けているスペクトル係数の知覚的に快いバージョンを追加し、完全な、より豊かな音を生み出す。これは、欠けている係数を実際にコード化することによってではなく、欠けている係数を、すでにコード化されているもののスケーリングされたバージョンとして知覚的に表すことによって達成される。一例では、MicrosoftWindows登録商標MediaAudioWMAなどMLT分解を使用するコーデックは、ある割合の帯域幅までコード化する。次いで、述べられている符号化/復号技法のこのバージョンは、残りの係数をそれぞれが典型的には64個または128個のスペクトル係数からなるサブバンドなどある数の帯域に分割する。これらの帯域のそれぞれについて、このバージョンの符号化/復号技法は、2つのパラメータ、すなわち、その帯域内の全エネルギーを表すスケールファクタと、その帯域内でのスペクトルの形状を表すためのシェープパラメータshapeparameterとを使用して、その帯域を符号化する。スケールファクタパラメータは、単にその帯域内の係数のrms2乗平均平方根値とすることができる。シェープパラメータは、スペクトルの正規化バージョンを、すでにコード化されたスペクトルの同様な部分から単にコピーして符号化するモーションベクトルとすることができる。場合によっては、シェープパラメータは、代わりに、正規化されたランダムノイズベクトルを、または単に何らかの他の固定されたコードブックからのベクトルを指定することができる。スペクトルの別の部分から一部分をコピーすることは、オーディオにおいて有用である。というのは、一般に多数の音信号には、スペクトル全体にわたって繰り返す高調波成分があるからである。ノイズまたは何らかの他の固定コードブックの使用により、スペクトルの任意のすでにコード化された部分によって十分に表されない成分の低ビットレートコーディングが可能になる。このコーディング技法は、本質的に、これらの帯域の利得形状gain-shapeベクトル量子化コーディングであり、ベクトルは、スペクトル係数の周波数帯域であり、コードブックは、先にコード化されたスペクトルから取られ、他の固定ベクトルまたはランダムノイズベクトルをも含むことができる。また、スペクトルのこのコピーされた部分が、その同じ部分の従来のコーディングに追加される場合には、この追加は、残余コーディングである。これは、信号の従来のコーディングにより、少ないビットでコード化することが容易である基本表現例えば、スペクトルフロアのコーディングが得られ、残りの部分が新しいアルゴリズムでコード化される場合に有用となる可能性がある。したがって、述べられている符号化/復号技法は、既存のオーディオコーデックを改善する。具体的には、この技法は、所与の品質でのビットレートの削減を、または固定ビットレートでの品質の改善を可能にする。この技法を使用し、様々なモード例えば、連続ビットレートまたは可変ビットレート、ワンパスまたはマルチパスでオーディオコーデックを改善することができる。本発明の追加の特徴および利点は、添付の図面を参照しながら進む以下の諸実施形態の詳細な説明から明らかになる。以下の詳細な説明は、本発明による広義知覚類似性を使用するデジタルメディアスペクトルデータのデジタルメディア符号化/復号を備えるデジタルメディアエンコーダ/デコーダ実施形態に対処する。より具体的には、以下の説明は、オーディオに対するこれらの符号化/復号技法の応用について述べている。これらは、他のデジタルメディアタイプ例えば、ビデオ、静止画などの符号化/復号に適用することもできる。そのオーディオへの応用では、このオーディオ符号化/復号は、シェーピングされたノイズ、または他の周波数成分のシェーピングされたバージョン、あるいは両者の組合せを使用していくつかの周波数成分を表す。より詳細には、いくつかの周波数帯域が、すでにコード化されている他の帯域のシェーピング済みバージョンとして表される。これは、所与の品質でのビットレートの削減を、または固定ビットレートでの品質の改善を可能にする。1.一般化されたオーディオエンコーダ/デコーダ図1および図2は、本明細書に述べられている、広義知覚類似性を使用するオーディオスペクトルデータのオーディオ符号化/復号のための技法を組み込むことができる一般化オーディオエンコーダ100および一般化オーディオデコーダ200のブロック図である。エンコーダおよびデコーダ内のモジュール間で示されている関係は、エンコーダおよびデコーダ内の情報の主流を示し、話を簡単にするために、他の関係は示されていない。実装と望まれる圧縮のタイプとに応じて、エンコーダまたはデコーダのモジュールは、追加する、割愛する、複数のモジュールに分ける、他のモジュールと組み合わせる、かつ/または同様なモジュールと置き換えることができる。代替の実施形態では、異なるモジュールおよび/またはモジュールの他の構成を有するエンコーダまたはデコーダが、知覚的なオーディオ品質を測定する。広義知覚類似性オーディオスペクトルデータ符号化/復号を組み込むことができるオーディオエンコーダ/デコーダのさらなる詳細は、2001年12月14日に出願された特許文献1、2001年12月14日に出願された特許文献2、2001年12月14日に出願された特許文献3、2001年12月14日に出願された特許文献4、2001年12月14日に出願された特許文献5に述べられており、これらの開示を参照により本明細書に組み込む。A.一般化オーディオエンコーダ一般化オーディオエンコーダ100は、周波数トランスフォーマ110、多重チャネルトランスフォーマ120、知覚モデラ130、ウェイタweighter140、量子化器150、エントロピーエンコーダ160、レート/品質コントローラ170、ビットストリームマルチプレクサ[MUX]180を含む。エンコーダ100は、表1に示されているものなどのフォーマットで入力オーディオサンプル105の時間系列を受け取る。複数のチャネルを有する入力例えば、ステレオモードの場合、エンコーダ100は、各チャネルを独立して処理し、多重チャネルトランスフォーマ120の後で、一緒にコード化されたチャネルを扱うことができる。エンコーダ100は、オーディオサンプル105を圧縮し、エンコーダ100の様々なモジュールによって生成された情報を多重化して、WMA[Windows登録商標MediaAudio]またはASF[AdvancedStreamingFormat]など、あるフォーマットでビットストリーム195を出力する。別法として、エンコーダ100は、他の入力フォーマットおよび/または出力フォーマットを扱うことができる。周波数トランスフォーマ110は、オーディオサンプル105を受け取り、それらを周波数領域内のデータに変換する。周波数トランスフォーマ110は、可変の時間的分解能temporalresolutionを可能にするように可変のサイズを有することができるブロックに、オーディオサンプル105を分ける。小さなブロックは、入力オーディオサンプル105内の短いが活動的な遷移セグメントで時間詳細をより多く保存することを可能にするが、何らかの周波数分解能を犠牲にする。それに対して、より大きなブロックは、周波数分解能が良くなり時間分解能が悪化し、通常、より長く、あまり活動的でないセグメントで、より高い圧縮効率を可能にする。ブロックは重なり合うことができ、普通なら後の量子化によって導入されるはずの、ブロック間の知覚可能な不連続を低減する。周波数トランスフォーマ110は、周波数係数データのブロックを多重チャネルトランスフォーマ120に出力し、ブロックサイズなど側面情報をMUX180に出力する。周波数トランスフォーマ110は、周波数係数データと側面情報を共に知覚モデラ130に出力する。周波数トランスフォーマ110は、オーディオ入力サンプル105のフレームを、時間依存性のサイズを有する、重なり合うサブフレームブロックに区分し、時間依存性のMLTをサブフレームブロックに適用する。可能なサブフレームサイズは、128、256、512、1024、2048、4096個のサンプルを含む。MLTは、時間ウィンドウ関数によって変調されたDCTのように演算し、このウィンドウ関数は、時間依存性であり、サブフレームサイズのシーケンスによって決まる。MLTは、サンプルの所与の重なり合うブロックx[n],0≦n<subframe_sizeを、周波数係数のブロックX[k],0≦k<subframe_size/2に変換する。周波数トランスフォーマ110はまた、将来のフレームの複雑さの推定値をレート/品質コントローラ170に出力することができる。代替の実施形態は、他の様々なMLTを使用する。さらに他の代替の実施形態では、周波数トランスフォーマ110は、DCT、FFT、または他のタイプの変調もしくは非変調、重ね合わせもしくは非重ね合わせ周波数変換を適用し、あるいは、サブバンドまたはウェーブレットコーディングを使用する。多重チャネルオーディオデータの場合、周波数トランスフォーマ110によって生成された周波数係数データの複数のチャネルは、しばしば相関関係にある。この相関を利用するために、多重チャネルトランスフォーマ120は、複数の元の、独立してコード化されたチャネルを、一緒にコード化されたチャネルに変換することができる。例えば、入力がステレオモードである場合、多重チャネルトランスフォーマ120は、左右のチャネルを和と差のチャネルに変換することができる。すなわちあるいは、多重チャネルトランスフォーマ120は、左右のチャネルを、独立してコード化されたチャネルとして通過させることができる。より一般的には、2つ以上のいくつかの入力チャネルの場合、多重チャネルトランスフォーマ120は、元の独立してコード化されたチャネルを変更しないで通過させ、または、元のチャネルを、一緒にコード化されたチャネルに変換する。独立してコード化されたチャネルか、それとも一緒にコード化されたチャネルを使用する判断は、所定のものとすることができ、あるいは、符号化中、ブロックなどごとに順応して判断を行うことができる。多重チャネルトランスフォーマ120は、MUX180に対する側面情報を生成し、使用されているチャネル変換モードを示す。知覚モデラ130は、所与のビットレートについて、再構築されたオーディオ信号の品質を改善するために、人の聴覚系の特性をモデル化する。知覚モデラ130は、周波数係数の可変サイズブロック励振パターンを計算する。最初に、知覚モデラ130は、ブロックのサイズおよび振幅スケールを正規化する。これは、後続の時間的なスミアリングを可能にし、品質測定のための一貫したスケールを確立する。任意選択で、知覚モデラ130は、外/中耳伝達関数をモデル化するために、ある周波数で係数を減衰する。知覚モデラ130は、ブロック内の係数のエネルギーを計算し、25個の臨界帯域によってエネルギーを集める。別法として、知覚モデラ130は、別の数の臨界帯域例えば、55または109を使用する。臨界帯域のための周波数範囲は実装によって決まり、多数の選択肢が周知である。例えば、非特許文献3、またはそこに述べられている参照を参照されたい。知覚モデラ130は、帯域エネルギーを処理し、同時および時間的なマスキングを調節する。代替の実施形態では、知覚モデラ130は、非特許文献3に記載され、または述べられているものなど、異なる聴覚モデルに従ってオーディオデータを処理する。ウェイタ140は、知覚モデラ130から受け取られた励振パターンに基づいて、重み係数あるいは、量子化行列と呼ばれるを生成し、その重み係数を、多重チャネルトランスフォーマ120から受け取られたデータに適用する。重み係数は、オーディオデータ内の複数の量子化帯域のそれぞれについて重みを含む。量子化帯域は、エンコーダ100内のどこかで使用された臨界帯域と、数または位置を同じとすることも、異なるものとすることもできる。重み係数は、ノイズがその量子化帯域全体にわたって拡散される比率を示し、ノイズがあまり聞き取れない帯域内に、より多くのノイズを置くことによってノイズの可聴性を最小限に抑え、またその逆にすることを目標とする。重み係数は、量子化帯域の振幅および数がブロック間で変わる可能性がある。一実装では、量子化帯域の数は、ブロックサイズに従って変わり、ブロックが小さいと、大きいブロックより量子化帯域が少なくなる。例えば、128個の係数を有するブロックは、13個の量子化帯域を有し、256個の係数を有するブロックは、15個の量子化帯域を有し、2048個の係数を有するブロックについての25個の量子化帯域に至る。ウェイタ140は、独立して、または一緒にコード化されたチャネル内の多重チャネルオーディオデータの各チャネルについて、1組の重み係数を生成し、あるいは、一緒にコード化されたチャネルについて重み係数の単一の組を生成する。代替の実施形態では、ウェイタ140は、励振パターン以外に、または励振パターンに加えて、情報から重み係数を生成する。ウェイタ140は、係数データの加重ブロックを量子化器150に出力し、重み係数の組など側面情報をMUX180に出力する。ウェイタ140はまた、レート/品質コントローラ170、またはエンコーダ100内の他のモジュールに重み係数を出力することができる。重み係数の組は、より効率的に提示するために圧縮することができる。重み係数が不可逆圧縮される場合、再構築後の重み係数は、一般に、係数データのブロックを加重するために使用される。ブロックの帯域内のオーディオ情報が、何らかの理由例えば、ノイズ置換または帯域トランケーションで完全に省略される場合、エンコーダ100は、そのブロックについて量子化行列の圧縮をさらに改善することが可能となる。量子化器150は、ウェイタ140の出力を量子化し、エントロピーエンコーダ160に対して量子化された係数データを、また、MUX180に対して量子化ステップサイズを含む側面情報を生成する。量子化は、情報の不可逆な損失を導入するが、エンコーダ100がレート/品質コントローラ170と共に出力ビットストリーム195のビットレートを調節することも可能になる。図1では、量子化器150は適応性の均一なスカラ量子化器である。量子化器150は、各周波数係数に同じ量子化ステップサイズを適用するが、量子化ステップサイズそれ自体は、反復1回ごとに変化し、エントロピーエンコーダ160出力のビットレートに影響を及ぼす可能性がある。代替の実施形態では、量子化器は、不均一量子化器、ベクトル量子化器、および/または非適応量子化器である。エントロピーエンコーダ160は、量子化器150から受け取られた量子化済み係数データを可逆圧縮する。例えば、エントロピーエンコーダ160は、マルチレベルランレングス符号化、バリアブルトゥバリアブルレングス符号化variable-to-variablelengthcoding、ランレングス符号化、ハフマン符号化、辞書符号化、算術符号化、LZ符号化、上記の組合せ、または何らかの他のエントロピー符号化技法を使用する。レート/品質コントローラ170は、量子化器150と共に働き、エンコーダ100の出力のビットレートおよび品質を調節する。レート/品質コントローラ170は、エンコーダ100の他のモジュールから情報を受け取る。一実装では、レート/品質コントローラ170は、周波数トランスフォーマ110から将来の複雑さの推定値を、知覚モデラ130からサンプリングレート、ブロックサイズ情報、元のオーディオデータの励振パターン、ウェイタ140から重み係数を、MUX180から例えば、量子化、再構築、または符号化された何らかの形態の量子化済みオーディオ情報のブロックとバッファ状況情報とを受け取る。レート/品質コントローラ170は、オーディオデータを量子化された形態から再構築するために、逆量子化器、逆ウェイタ、逆多重チャネルトランスフォーマ、またおそらくはエントロピーデコーダおよび他のモジュールを含むことができる。レート/品質コントローラ170は、現在の条件を与えられると、所望の量子化ステップサイズを決定するために情報を処理し、量子化ステップサイズを量子化器150に出力する。次いで、レート/品質コントローラ170は、下記で述べるように、その量子化ステップサイズで量子化された再構築後オーディオデータのブロックの品質を測定する。測定された品質、ならびにビットレート情報を使用して、レート/品質コントローラ170は、瞬間的にも長期的にもビットレート制約および品質制約を満たすという目標を用いて、量子化ステップサイズを調整する。代替の実施形態では、レート/品質コントローラ170は、異なる、または追加の情報を扱い、あるいは、様々な技法を適用し、品質およびビットレートを調節する。レート/品質コントローラ170と共に、エンコーダ100は、ノイズ置換、帯域トランケーション、および/または多重チャネル再マトリックス化をオーディオデータのブロックに適用することができる。低ビットレートおよび中間ビットレートでは、オーディオエンコーダ100は、ノイズ置換を使用し、ある帯域内で情報を搬送することができる。帯域トランケーションでは、あるブロックについて測定された品質が、不十分な品質であることを示す場合、エンコーダ100は、ある通常、より高い周波数の帯域内の係数を省略し、残りの帯域内で全体的な品質を改善することができる。多重チャネル再マトリックス化では、一緒にコード化されたチャネル内の低ビットレートの多重チャネルオーディオデータについて、エンコーダ100は、あるチャネル例えば、差のチャネル内の情報を抑制し、残りのチャネル例えば、和のチャネルの品質を改善することができる。MUX180は、オーディオエンコーダ100の他のモジュールから受け取られた側面情報を、エントロピーエンコーダ160から受け取られたエントロピー符号化データと共に多重化する。MUX180は、その情報をWMAで、またはオーディオデコーダが認識する別のフォーマットで出力する。MUX180は、エンコーダ100によって出力すべきビットストリーム195を格納する仮想バッファを含む。この仮想バッファは、オーディオ内の複雑さの変化によるビットレートの短期揺らぎを滑らかにするために、所定の期間のオーディオ情報例えば、ストリーミングオーディオについて5秒を格納する。次いで、この仮想バッファは、比較的一定のビットレートでデータを出力する。バッファの現在の満杯度、バッファの満杯度の変化率、バッファの他の特性は、レート/品質コントローラ170が品質およびビットレートを調節するために使用することができる。B.一般化オーディオデコーダ図2を参照すると、一般化オーディオデコーダ200は、ビットストリームデマルチプレクサ[DEMUX]210、エントロピーデコーダ220、逆量子化器230、ノイズ発生器240、逆ウェイタ250、逆多重チャネルトランスフォーマ260、逆周波数トランスフォーマ270を含む。デコーダ200はレート/品質制御のためのモジュールを含まないため、デコーダ200は、エンコーダ100より単純である。デコーダ200は、WMAまたは別のフォーマットの圧縮済みオーディオデータのビットストリーム205を受け取る。ビットストリーム205は、エントロピー符号化データと、デコーダ200がそこからオーディオサンプル295を再構築する側面情報とを含む。複数のチャネルを有するオーディオデータの場合、デコーダ200は、各チャネルを独立して処理し、逆多重チャネルトランスフォーマ260の前に、一緒にコード化されたチャネルを扱うことができる。DEMUX210は、ビットストリーム205内の情報を解析し、デコーダ200のモジュールに情報を送る。DEMUX210は、オーディオの複雑さの揺らぎ、ネットワークジッタ、および/または他の要因によるビットレートの短期変動を補償するために、1つまたは複数のバッファを含む。エントロピーデコーダ220は、DEMUX210から受け取られたエントロピー符号を可逆伸張し、量子化された周波数係数データを生成する。エントロピーデコーダ220は、一般に、エンコーダ内で使用されたエントロピー符号化技法の逆を適用する。逆量子化器230は、DEMUX210から量子化ステップサイズを受け取り、エントロピーデコーダ220から量子化周波数係数データを受け取る。逆量子化器230は、量子化ステップサイズを量子化周波数係数データに適用し、周波数係数データを部分的に再構築する。代替の実施形態では、逆量子化器は、エンコーダ内で使用された何らかの他の量子化技法の逆を適用する。ノイズ発生器240は、DEMUX210から、データのブロック内のどの帯域がノイズ置換されているかという指示と、ノイズの形態のための任意のパラメータとを受け取る。ノイズ発生器240は、示された帯域のためのパターンを生成し、その情報を逆ウェイタ250に渡す。逆ウェイタ250は、DEMUX210から重み係数を、ノイズ発生器240から任意のノイズ置換帯域のためのパターンを、逆量子化器230から部分的に再構築された周波数係数データを受け取る。必要に応じて、逆ウェイタ250は、重み係数を伸張する。逆ウェイタ250は、ノイズ置換されていない帯域について、部分的に再構築された周波数係数データに重み係数を適用する。次いで、逆ウェイタ250は、ノイズ発生器240から受け取られたノイズパターンを加える。逆多重チャネルトランスフォーマ260は、逆ウェイタ250から再構築済み周波数係数データを、DEMUX210からチャネル変換モード情報を受け取る。多重チャネルデータが、独立してコード化されたチャネル内にある場合、逆多重チャネルトランスフォーマ260は、そのチャネルを通過させる。多重チャネルデータが、一緒にコード化されたチャネル内にある場合、逆多重チャネルトランスフォーマ260は、そのデータを、独立してコード化されたチャネル内に変換する。望むなら、デコーダ200は、この時点で、再構築された周波数係数データの品質を測定することができる。逆周波数トランスフォーマ270は、逆多重チャネルトランスフォーマ260によって出力された周波数係数データと、DEMUX210からのブロックサイズなど側面情報とを受け取る。逆周波数トランスフォーマ270は、エンコーダ内で使用された周波数変換の逆を適用し、再構築されたオーディオサンプル295のブロックを出力する。2.広義知覚類似性を用いる符号化/復号図3は、図1および図2の一般化オーディオエンコーダ100およびデコーダ200の全体的なオーディオ符号化/復号プロセス内に組み込むことができる、広義知覚類似性を用いる符号化を使用するオーディオエンコーダ300の一実装を示す。この実施では、オーディオエンコーダ300は、MDCTまたはMLTなどサブバンド変換または重ね合わせ直交変換を使用して、変換320においてスペクトル分解を実行し、オーディオ信号の各入力ブロックについて1組のスペクトル係数を生成する。従来周知であるように、オーディオエンコーダは、出力ビットストリーム内でデコーダに送るために、これらのスペクトル係数をコード化する。これらのスペクトル係数の値のコーディングが、オーディオコーデック内で使用される大抵のビットレートを構成する。低いビットレートでは、オーディオエンコーダ300は、ベースバンドコーダ340を使用して、スペクトルのより低い部分、またはベースバンド部分など、より少ないスペクトル係数すなわち、周波数トランスフォーマ110から出力されるスペクトル係数の帯域幅のある割合内で符号化することができるいくつかの係数をコード化することを選択する。ベースバンドコーダ340は、上記で一般化オーディオエンコーダについて述べられているように、これらのベースバンドスペクトル係数を、従来周知のコーディング構文を使用して符号化する。これにより、一般に、再構築されたオーディオは、こもって響く、または低域通過ろ波されることになる。オーディオエンコーダ300は、広義知覚類似性を使用して、割愛されたスペクトル係数をもコード化することによって、こもった/低域通過効果を回避する。ベースバンドコーダ340によるコーディングから割愛されたここでは拡張帯域スペクトル係数と呼ばれるスペクトル係数は、シェーピングされたノイズ、または他の周波数成分のシェーピングされたバージョン、あるいはこの2つの組合せとして、拡張帯域コーダ350によってコード化される。より具体的には、拡張帯域スペクトル係数は、いくつかの例えば、典型的には64個または128個のスペクトル係数のサブバンドに分割され、これらのサブバンドは、シェーピングされたノイズ、または他の周波数成分のシェーピングされたバージョンとしてコード化される。これは欠けているスペクトル係数の知覚的に快いバージョンを追加し、完全な、より豊かな音を提供する。実際のスペクトルは、この符号化から得られる合成バージョンから逸脱する可能性があるが、この拡張帯域コーディングは、原形における場合と同様な知覚効果をもたらす。いくつかの実装では、ベースバンドの幅すなわち、ベースバンドコーダ340を使用してコード化されるベースバンドスペクトル係数の数、ならびに拡張帯域のサイズまたは数が変わる可能性がある。そのような場合には、ベースバンドの幅、および拡張帯域コーダ350を使用してコード化される拡張帯域の数またはサイズを、出力ストリーム195内にコード化することができる。オーディオエンコーダ300内におけるベースバンドスペクトル係数と拡張帯域係数の間のビットストリームの区分は、ベースバンドコーダのコーディング構文に基づいて既存のデコーダとの下位互換性を確保するし、その結果、そのような既存のデコーダが、拡張部分を無視しながら、ベースバンドでコード化された部分を復号することができるように行われる。その結果、より新しいデコーダだけが、拡張帯域でコード化されたビットストリームによってカバーされる完全なスペクトルを表す能力を有し、一方、より旧型のデコーダは、エンコーダが既存の構文を用いて符号化することを選んだ部分を表すことができるだけである。周波数境界は、柔軟かつ時間依存性とすることができる。信号特性に基づいてエンコーダが判断し、デコーダに明示的に送ることも、送ることを必要としないように、復号されたスペクトルの関数とすることもできる。既存のデコーダは、既存のベースバンドコーデックを使用してコード化される部分を復号することができるだけであるため、これは、スペクトルのより低い部分が既存のコーデックでコード化され、より高い部分は、広義知覚類似性を使用して、拡張帯域コーディングを使用してコード化されることを意味する。そのような下位互換性が必要とされない他の実装では、エンコーダは、周波数位置を考えることなしに、信号特性と符号化のコストだけに基づいて、従来のベースバンドコーディングと拡張帯域広義知覚類似性手法との間で自由に選ぶことができる。例えば、自然信号では非常に可能性が低いが、より高い周波数を従来のコーデックで、また、より低い部分を、拡張コーデックを使用して符号化するほうがよい可能性がある。図4は、拡張帯域スペクトル係数を符号化するために、図3の拡張帯域コーダ350によって実行されるオーディオ符号化プロセス400を示す流れ図である。このオーディオ符号化プロセス400では、拡張帯域コーダ350は、拡張帯域スペクトル係数をいくつかのサブバンドに分割する。典型的な実装では、これらのサブバンドは、一般にそれぞれ64個または128個のスペクトル係数で構成されることになる。別法として、他のサイズのサブバンド例えば、16、32、または他の数のスペクトル係数を使用することができる。サブバンドは、互いに素なものとすることも、ウィンドウイングを使用して重なり合うものとすることもできる。重なり合うサブバンドの場合、より多くの帯域がコード化される。例えば、サイズ64のサブバンドを用いる拡張帯域コーダを使用して、128個のスペクトル係数をコード化しなければならない場合、2つの互いに素な帯域を使用して係数をコード化する、すなわち、係数0から63を一方のサブバンドとして、また係数64から127を他方としてコード化することができる。別法として、50の重なり合いで3つの重なり合う帯域を使用する、すなわち、0から63を1つの帯域として、また32から95を別の帯域として、また64から127を第3の帯域としてコード化することができる。これらのサブバンドのそれぞれについて、拡張帯域コーダ350は、2つのパラメータを使用して帯域を符号化する。一方のパラメータスケールパラメータは、帯域内の全エネルギーを表すスケールファクタである。他方のパラメータ概してモーションベクトルの形態のシェープパラメータは、帯域内のスペクトルの形状を表すために使用される。図4の流れ図に示されているように、拡張帯域コーダ350は、拡張帯域の各サブバンドについて処理400を実行する。最初に420で拡張帯域コーダ350は、スケールファクタを計算する。一実装では、スケールファクタは、単に現在のサブバンド内の係数のrms2乗平均平方根値である。これは、係数すべての平均2乗値の平方根をとることによって見出される。平均2乗値は、サブバンド内の係数すべての2乗値の和をとり、係数の数で割ることによって見出される。次いで、拡張帯域コーダ350は、シェープパラメータを決定する。シェープパラメータは、通常、スペクトルの正規化バージョンを、すでにコード化されたスペクトルの一部分すなわち、ベースバンドコーダでコード化されたベースバンドスペクトル係数の一部分から単にコピーして符号化することを示すモーションベクトルである。場合によっては、シェープパラメータは、代わりに、正規化されたランダムノイズベクトルを、または単に、固定されたコードブックからのスペクトル形状のためのベクトルを指定することができる。スペクトルの別の部分から形状をコピーすることは、オーディオにおいて有用である。というのは、一般に多数の音信号には、スペクトル全体にわたって繰り返す高調波成分があるからである。ノイズまたは何らかの他の固定コードブックの使用により、スペクトルの、ベースバンドでコード化された部分で十分に表されない成分の低ビットレートコーディングが可能になる。したがって、プロセス400は、本質的にこれらの帯域の利得形状ベクトル量子化コーディングであり、ベクトルがスペクトル係数の周波数帯域であり、コードブックが、先にコード化されたスペクトルから取られ、他の固定ベクトルまたはランダムノイズベクトルをも含むことができるコーディングの方法を提供する。すなわち、拡張帯域コーダによってコード化された各サブバンドは、aがスケールパラメータでありXがシェープパラメータによって表されるベクトルであるaXとして表され、先にコード化されたスペクトル係数の正規化バージョン、固定されたコードブックからのベクトル、またはランダムノイズベクトルとすることができる。また、スペクトルのこのコピーされた部分が、その同じ部分の従来のコーディングに追加される場合には、この追加は、残余コーディングである。これは、信号の従来のコーディングにより、少ないビットでコード化することが容易である基本表現例えば、スペクトルフロアのコーディングが得られ、残りの部分が新しいアルゴリズムでコード化される場合に有用となる可能性がある。より具体的には、アクション430で、拡張帯域コーダ350は、同様な帯域のためのベースバンドスペクトル係数を、拡張帯域の現在のサブバンドと同様な形状を有するベースバンドスペクトル係数から探索する。拡張帯域コーダは、ベースバンドの各部分の正規化バージョンに対する最小平均2乗比較を使用して、ベースバンドのどの部分が現在のサブバンドに最も似ているか判定する。例えば、入力ブロックから変換320によって生成された256個のスペクトル係数があり、拡張帯域サブバンドは、それぞれ幅が16個のスペクトル係数であり、ベースバンドコーダは、0から127と採番された最初の128個のスペクトル係数をベースバンドとして符号化する場合を考えてみる。次いで、探索により、係数位置0から111すなわち、この場合には、ベースバンド内でコード化された合計112個の可能な、異なるスペクトル形状で始まるベースバンドの各16スペクトル係数部分の正規化バージョンに対して、各拡張帯域内の正規化された16個のスペクトル係数の最小平均2乗比較が実行される。最も低い最小平均2乗値を有するベースバンド部分が、現在の拡張帯域に形状が最も近い最も似ていると見なされる。アクション432で、拡張帯域コーダは、ベースバンドスペクトル係数からのこの最も似ている帯域が、現在の拡張帯域に形状において十分に近い例えば、最小平均2乗値が予め選択された閾値より低いかどうか検査する。近い場合には、アクション434で、拡張帯域コーダは、ベースバンドスペクトル係数のこの最も近い合致帯域を指すモーションベクトルを決定する。このモーションベクトルは、ベースバンド内の開始係数位置例えば、この例では0から111とすることができる。調性対非調性を検査することなど他の方法もまた、ベースバンドスペクトル係数からの最も似ている帯域が、現在の拡張帯域に形状において十分に近いかどうか確かめるために使用することができる。ベースバンドの十分に近い部分が見出せない場合には、拡張帯域コーダは、現在のサブバンドを表すためにスペクトル形状の固定コードブックを見る。拡張帯域コーダは、現在のサブバンドのスペクトル形状に似たスペクトル形状があるかどうか、この固定コードブックを探索する。見出された場合、拡張帯域コーダは、アクション444で、コードブック内のそのインデックスをシェープパラメータとして使用する。そうでない場合、アクション450で、拡張帯域コーダは、現在のサブバンドの形状を、正規化されたランダムノイズベクトルとして表すことを決定する。代替の実装では、拡張帯域コーダは、ベースバンド内の最良のスペクトル形状があるかどうか探索する前でさえも、ノイズを使用してスペクトル係数を表すことができるかどうか判断することができる。このようにして、十分近いスペクトル形状がベースバンド内で見出された場合でも、拡張帯域コーダは、依然としてその部分を、ランダムノイズを使用してコード化することになる。これにより、ベースバンド内の位置に対応するモーションベクトルを送ることに比べたとき、ビットが少なくなる可能性がある。アクション460で、拡張帯域コーダは、予測符号化、量子化、および/またはエントロピー符号化を使用して、スケールパラメータおよびシェープパラメータすなわち、この実装では、スケーリングファクタとモーションベクトルを符号化する。一実装では、例えば、スケールパラメータは、直前の拡張サブバンドに基づいて予測符号化される拡張帯域のサブバンドのスケーリングファクタは、一般に値が似ており、その結果、連続するサブバンドは、一般に値が近いスケーリングファクタを有する。換言すれば、拡張帯域の最初のサブバンドについてのスケーリングファクタの完全な値が符号化される。後続のサブバンドは、それらの実際の値の、それらの予測値からの差としてコード化されるすなわち、予測値は、先行するサブバンドのスケーリングファクタである。多重チャネルオーディオの場合、各チャネル内の拡張帯域の最初のサブバンドが、その完全な値として符号化され、後続のサブバンドのスケーリングファクタが、そのチャネル内の先行するサブバンドのスケーリングファクタから予測される。代替の実装では、スケールパラメータはまた、変形形態の中でもとりわけ、2つ以上の他のサブバンドから、またはベースバンドスペクトルから、または以前のオーディオ入力ブロックからチャネル全体にわたって予測することができる。さらに拡張帯域コーダは、均一量子化または不均一量子化を使用して、スケールパラメータを量子化する。一実装では、スケールパラメータの不均一量子化が使用され、スケーリングファクタの対数が128個のビンに不均一に量子化される。次いで、得られた量子化値が、ハフマン符号化を使用してエントロピー符号化される。シェープパラメータの場合、拡張帯域コーダはまた、スケールパラメータの場合と同様に先行するサブバンドから予測することができる予測符号化、64個のビンへの量子化、および例えば、ハフマン符号化を用いるエントロピー符号化を使用する。いくつかの実装では、拡張帯域サブバンドは、サイズが可変であるものとすることができる。そのような場合、拡張帯域コーダはまた、拡張帯域の構成を符号化する。より具体的には、例示的な一実装では、拡張帯域コーダは、以下のコード表内の擬似コードリストによって示されているように、スケールパラメータおよびシェープパラメータを符号化する。上記のコードリストでは、帯域構成すなわち、帯域の数、およびそのサイズを指定するためのコーディングは、拡張帯域コーダを使用してコード化すべきスペクトル係数の数によって決まる。拡張帯域コーダを使用してコード化される係数の数は、拡張帯域の開始位置およびスペクトル係数の総数を使用して見出すことができる拡張帯域コーダを使用してコード化されるスペクトル係数の数=スペクトル係数の総数-開始位置。次いで、帯域構成は、許されるすべての可能な構成のリスト内へのインデックスとしてコード化される。このインデックスは、n_config=log2構成の数個のビットを有する固定長符号を使用してコード化される。許される構成は、この方法を使用してコード化されるスペクトル係数の数の関数である。例えば、128個の係数をコード化すべき場合、デフォルト構成は、サイズ64の2帯域である。例えば、以下の表にリストされているように、他の構成も可能とすることができる。したがって、この例では、5つの可能な帯域構成がある。そのような構成では、係数のためのデフォルト構成は、n個の帯域を有するものとして選ばれる。各帯域が分かれる、またはマージする1レベルだけことを可能にすると、5個の可能な構成が有り、これは、コード化するためにn/2log25個のビットを必要とする。他の実装では、可変長コーディングを使用し、構成をコード化することができる。上記で論じたように、スケールファクタは、予測符号化を使用してコード化され、予測は、同じチャネル内の以前の帯域からの、または同じタイル内の以前のチャネルからの、または先に復号されたタイルからの先にコード化されたスケールファクタからとることができる。所与の実装について、予測のための選択は、同じ拡張帯域、チャネル、またはタイル入力ブロック内の以前のどの帯域に最も高い相関が与えられるか見ることによって行うことができる。一実装例では、帯域は、次のように予測符号化される。すなわち、タイル内のスケールファクタをx[i][j]とする。ただし、i=チャネルインデックス、j=帯域インデックスFori==0j==0最初のチャネル、最初の帯域、予測なしFori==0j==0他のチャネル、最初の帯域、予測はx[0][0]最初のチャネル、最初の帯域Fori==0j==0他のチャネル、他の帯域、予測はx[i][j-1]同じチャネル、以前の帯域上記のコード表では、シェープパラメータは、以前のスペクトル係数の位置を指定するモーションベクトル、または固定コードブックからのベクトル、またはノイズである。以前のスペクトル係数は、同じチャネル内から、または以前のチャネルから、または以前のタイルからのものとすることができる。シェープパラメータは予測を使用してコード化され、予測は、同じチャネル内の、または同じタイル内の以前のチャネル内の、または以前のタイルからの以前の帯域についての以前の位置からとられる。図5は、オーディオエンコーダ300によって生成されたビットストリーム用のオーディオデコーダ500を示す。このデコーダでは、符号化されたビットストリーム205が、例えば、コード化されたベースバンド幅および拡張帯域構成に基づいてビットストリームデマルチプレクサ210によって、ベースバンド符号ストリームと拡張帯域符号ストリームに逆多重化され、ベースバンド符号ストリームと拡張帯域符号ストリームは、ベースバンドデコーダ540および拡張帯域デコーダ550内で復号される。ベースバンドデコーダ540は、ベースバンドコーデックの従来のデコーディングを使用して、ベースバンドスペクトル係数を復号する。拡張帯域デコーダ550は、シェープパラメータのモーションベクトルによって指されているベースバンドスペクトル係数の一部分をコピーすること、およびスケールパラメータのスケーリングファクタによってスケーリングすることによるを含めて、拡張帯域符号ストリームを復号する。ベースバンドスペクトル係数および拡張帯域スペクトル係数は、オーディオ信号を再構築するために逆変換580によって変換される単一のスペクトルに組み合わされる。図6は、図5の拡張帯域デコーダ550内で使用される復号プロセス600を示す。拡張帯域符号ストリーム内の拡張帯域の各コード化済みサブバンドについてアクション610、拡張帯域デコーダは、スケールファクタをアクション620、またモーションベクトルをアクション630復号する。次いで、拡張帯域デコーダは、モーションベクトルシェープパラメータによって指定されたベースバンドサブバンド、固定コードブックベクトル、ランダムノイズベクトルをコピーする。拡張ベースバンドデコーダは、コピーされたスペクトル帯域またはベクトルをスケーリングファクタによってスケーリングし、拡張帯域の現在のサブバンドについてスペクトル係数を生成する。3.コンピューティング環境図7は、例示的な諸実施形態を実施することができる好適なコンピューティング環境700の一般化された例を示す。本発明は、様々な汎用または専用コンピューティング環境で実施することができるため、コンピューティング環境700は、本発明の使用または機能の範囲についてどんな制限も暗示しないものとする。図7を参照すると、コンピューティング環境700は、少なくとも1つの処理装置710およびメモリ720を含んでいる。図7では、この最も基本的な構成730が破線内に含まれている。処理装置710はコンピュータ実行可能命令を実行し、実プロセッサとすることも仮想プロセッサとすることもできる。多重処理システムでは、複数の処理装置がコンピュータ実行可能命令を実行し、処理力を高める。メモリ720は、揮発性メモリ例えば、レジスタ、キャッシュ、RAM、不揮発性メモリ例えば、ROM、EEPROM、フラッシュメモリなど、またはこれら2つの何らかの組合せとすることができる。メモリ720は、オーディオエンコーダを実装するソフトウェア780を記憶する。コンピューティング環境は、追加の特徴を有することができる。例えば、コンピューティング環境700は、記憶装置740、1つまたは複数の入力デバイス750、1つまたは複数の出力デバイス760、1つまたは複数の通信接続770を含む。バス、コントローラ、ネットワークなど相互接続機構図示せずが、コンピューティング環境700の構成要素を相互接続する。一般に、オペレーティングシステムソフトウェア図示せずが、コンピューティング環境700内で実行する他のソフトウェアのための動作環境を提供し、コンピューティング環境700の構成要素の活動を調整する。記憶装置740は、取外し式または非取外し式とすることができ、磁気ディスク、磁気テープもしくはカセット、CD-ROM、CD-RW、DVD、または、情報を記憶するために使用することができる、また、コンピューティング環境700内でアクセスを受けることができる任意の他の媒体を含む。記憶装置740は、オーディオエンコーダを実装するソフトウェア780用の命令を記憶する。入力デバイス750は、キーボード、マウス、ペン、またはトラックボールなどタッチ入力デバイス、音声入力デバイス、走査デバイス、あるいは、コンピューティング環境700に入力を提供する別のデバイスとすることができる。オーディオの場合、入力デバイス750は、サウンドカード、または、オーディオ入力をアナログ形態もしくはデジタル形態で受け入れる類似のデバイスとすることができる。出力デバイス760は、ディスプレイ、プリンタ、スピーカ、または、コンピューティング環境700からの出力を提供する別のデバイスとすることができる。通信接続770は、通信媒体を介して別のコンピューティングエンティティに対する通信を可能にする。通信媒体は、コンピュータ実行可能命令、圧縮されたオーディオもしくはビデオ情報、または、変調データ信号内の他のデータなど、情報を搬送する。変調データ信号は、情報を信号に符号化するようにその特性の1つまたは複数が設定された、または変化した信号である。限定ではなく例を挙げると、通信媒体には、電気、光、RF、赤外線、音響、または他の搬送波と共に実施される有線技法または無線技法が含まれる。本発明については、コンピュータ可読媒体の一般的な状況で述べることができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスを受けることができる任意の使用可能な媒体である。限定ではなく例を挙げると、コンピューティング環境700と共に、コンピュータ可読媒体には、メモリ720、記憶装置740、通信媒体、および上記のいずれかの組合せが含まれる。本発明については、コンピューティング環境内で、ターゲットの実プロセッサまたは仮想プロセッサ上で実行される、プログラムモジュール内に含まれるものなどコンピュータ実行可能命令の一般的な状況で述べることができる。概して、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データタイプを実施するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などを含む。プログラムモジュールの機能は、様々な実施形態で望まれるように、組み合わせることも、プログラムモジュール間で分けることもできる。プログラムモジュール用のコンピュータ実行可能命令は、ローカルまたは分散型コンピューティング環境内で実行することができる。提示するために、詳細な説明では、determine決定判定するgetadjust調整するapply適用するのような用語を使用し、コンピューティング環境内のコンピュータの動作について述べる。これらの用語は、コンピュータによって実行される動作について高レベルで抽象化したものであり、人間によって行われる動作と混同すべきでない。これらの用語に対応する実際のコンピュータの動作は、実装に応じて変わる。本発明の原理を適用することができる多数の可能な実施形態に鑑みて、本発明者等は、以下の特許請求の範囲とその均等物の範囲および精神内に入るそのような実施形態すべてを本発明として主張する。"