(57)【要約】  オーディオエンコーダは、複数のソースチャネルのグループを備えるマルチチャネルオーディオデータを受信し、グループの結合チャネルをエンコードすることと、グループの個々のソースチャネルをエンコードされた結合チャネルの変更バージョンとして表すための複数のパラメータを決定することとを備えるチャネル拡張コーディングを実行する。エンコーダはまた、周波数拡張コーディングを実行する。周波数拡張コーディングは、例えば、マルチチャネルオーディオデータの周波数帯域をベースバンドグループと拡張帯域グループに分割すること、および拡張帯域グループのオーディオ係数をベースバンドグループのオーディオ係数に基づいてコーディングすることを備えることができる。エンコーダはまた、その他の種類の変換を実行することができる。オーディオデコーダは、順複素変換など、対応するデコーディングおよび／または追加処理タスクを実行する。
2009524108.tif 000002
【特許請求の範囲】
【請求項１】
オーディオエンコーダにおいて、
マルチチャネルオーディオデータを受信するステップであって、前記マルチチャネルオーディオデータは複数のソースチャネルのグループを備えるステップと、
前記マルチチャネルオーディオデータにチャネル拡張コーディングを実行するステップであって、前記チャネル拡張コーディングは、
前記グループの結合チャネルをエンコードするステップと、
前記エンコードされた結合チャネルの変更バージョンとして前記グループの個々のソースチャネルを表すための複数のパラメータを決定するステップとを備えるステップと、
周波数拡張コーディングを実行するステップとを備えることを特徴とするコンピュータ実施の方法。
【請求項２】
前記周波数拡張コーディングは、
前記マルチチャネルオーディオデータの周波数帯域をベースバンドグループと拡張帯域グループに分割するステップを備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記周波数拡張コーディングは、
前記ベースバンドグループのオーディオ係数に基づいて前記拡張帯域グループのオーディオ係数をコーディングするステップをさらに備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記エンコードされた結合チャネルおよび前記複数のパラメータをオーディオデコーダに送信するステップと、
周波数拡張コーディングデータを前記オーディオデコーダに送信するステップとをさらに備え、
前記エンコードされた結合チャネル、前記複数のパラメータ、および前記周波数拡張コーディングデータは、前記複数のソースチャネルの少なくとも２つの前記オーディオデコーダにおける再構築を容易にすることを特徴とする請求項１に記載の方法。
【請求項５】
前記複数のパラメータは、前記少なくとも２つのソースチャネルの出力比を備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記複数のパラメータは、前記少なくとも２つのソースチャネルにわたり二次統計を保持するための複素パラメータを備えることを特徴とする請求項４に記載の方法。
【請求項７】
前記オーディオデコーダは、前記少なくとも２つのソースチャネルにわたり二次統計を保持することを特徴とする請求項４に記載の方法。
【請求項８】
前記オーディオエンコーダは、基本変換モジュール、周波数拡張変換モジュール、およびチャネル拡張変換モジュールを備えることを特徴とする請求項１に記載の方法。
【請求項９】
前記マルチチャネルオーディオデータに基本コーディングを実行するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１０】
前記基本コーディングされたマルチチャネルオーディオデータにマルチチャネル変換を実行するステップをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
それによりプログラムされたコンピュータに請求項１に記載の方法を実行させるためのコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【請求項１２】
オーディオデコーダにおいて、
エンコードされたマルチチャネルオーディオデータを受信するステップであって、前記エンコードされたマルチチャネルオーディオデータはチャネル拡張コーディングデータおよび周波数拡張コーディングデータを備えるステップと、
前記チャネル拡張コーディングデータおよび前記周波数拡張コーディングデータを使用して複数のオーディオチャネルを再構築するステップとを備え、
前記チャネル拡張コーディングデータは、
前記複数のオーディオチャネルの結合チャネルと、
前記複数のオーディオチャネルの個々のチャネルを前記結合チャネルの変更バージョンとして表すための複数のパラメータとを備えることを特徴とするコンピュータ実施の方法。
【請求項１３】
それによりプログラムされたコンピュータに請求項１２に記載の方法を実行させるためのコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【請求項１４】
オーディオデコーダにおいて、
マルチチャネルオーディオデータを受信するステップと、
前記受信したマルチチャネルオーディオデータに逆マルチチャネル変換を実行するステップと、
前記受信したマルチチャネルオーディオデータに逆基本時間−周波数変換を実行するステップと、
前記受信したマルチチャネルオーディオデータに周波数拡張処理を実行するステップと、
前記受信したマルチチャネルオーディオデータにチャネル拡張処理を実行するステップとを備えることを特徴とするコンピュータ実施の方法。
【請求項１５】
前記周波数拡張処理は、前記逆マルチチャネル変換および前記逆基本時間−周波数変換の前に、前記受信したマルチチャネルオーディオデータに実行されることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記受信したマルチチャネルオーディオデータに順チャネル拡張変換および逆チャネル拡張変換を実行するステップをさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１７】
前記周波数拡張処理は、少なくとも一部の前記順チャネル拡張変換の後に、前記受信したマルチチャネルオーディオデータに実行されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記少なくとも一部の前記順チャネル拡張変換は、前記順チャネル拡張変換の実数部分であることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記順チャネル拡張変換の虚数部分は、前記順チャネル拡張変換の実数部分から導き出されることを特徴とする請求項１６に記載の方法。
【請求項２０】
それによりプログラムされたコンピュータに請求項１４に記載の方法を実行させるためのコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
エンジニアは、デジタルオーディオを効率的に処理し、しかもデジタルオーディオの品質を維持し続けるために様々な技法を使用する。それらの技法を理解するため、オーディオ情報がコンピュータにおいてどのように表現され、処理されるかを理解することが役立つ。
【０００２】
Ｉ．コンピュータにおけるオーディオ情報の表現
コンピュータは、オーディオ情報を表す一連の数字として、オーディオ情報を処理する。例えば、１つの数字は音声サンプルを表すことができるが、これは特定の時間における振幅値である。サンプル深度、サンプリングレート、およびチャネルモードを含むいくつかの要因は、オーディオ情報の品質に影響を与える。
【０００３】
サンプル深度（または精度）は、サンプルを表すために使用される数字の範囲を示す。サンプルに可能な値が多くなれば、数字が振幅のより微妙な変動を取り込むことができるので、それに応じて品質も高まる。例えば、８ビットのサンプルは２５６の可能な値を有し、１６ビットのサンプルは６５，５３６の可能な値を有する。サンプリングレート（通常は、秒あたりのサンプル数として測定される）もまた、品質に影響を与える。サンプリングレートが高くなれば、音のより多くの周波数を表現できるので、それに応じて品質も高くなる。一般的なサンプリングレートには、８，０００、１１，０２５、２２，０５０、３２，０００、４４，１００、４８，０００、および９６，０００サンプル／秒などがある。
【０００４】
モノラルおよびステレオは、オーディオの２つの代表的なチャネルモードである。モノラルモードにおいて、オーディオ情報は１つのチャネルに存在する。ステレオモードにおいて、オーディオ情報は、通常は左チャネルおよび右チャネルとラベル表示される２つのチャネルに存在する。５．１チャネル、７．１チャネル、または９．１チャネルのサラウンドサウンド（「１」はサブウーファまたは低周波効果チャネルを示す）のような、さらに多くのチャネルを備える他のモードも可能である。表１に、様々な品質レベルを備えるオーディオのいくつかの形式を、対応するロービットレートのコストと共に示す。
【０００５】
【表１】
2009524108.tif 000003
【０００６】
サラウンドサウンドオーディオは通常、さらに高いロービットレートを有する。
【０００７】
表１で示すように、高品質オーディオ情報のコストは、高いビットレートである。高品質なオーディオ情報は、膨大量のコンピュータストレージと伝送能力を消費する。しかし、企業および消費者は、高品質のオーディオコンテンツを制作し、配信し、再生するために、ますますコンピュータへの依存度を高めている。
【０００８】
ＩＩ．コンピュータにおけるオーディオ情報の処理
多くのコンピュータおよびコンピュータネットワークには、ローデジタルオーディオを処理するリソースが不足している。圧縮（エンコーディングまたはコーディングとも呼ばれる）は、情報を低ビットレート形式に変換することにより、オーディオ情報を格納して伝送するコストを軽減する。解凍（デコーディングとも呼ばれる）は、元の情報の再構築バージョンを圧縮された形式から抽出する。エンコーダおよびデコーダシステムは、本件特許出願人のＷｉｎｄｏｗｓ（登録商標）Ｍｅｄｉａ  Ａｕｄｉｏ（「ＷＭＡ」）エンコーダおよびデコーダと、ＷＭＡ  Ｐｒｏエンコーダおよびデコーダの特定のバージョンを含む。
【０００９】
圧縮は、可逆（品質は影響を受けない）または不可逆（品質は影響を受けるが、後続の可逆圧縮からのビットレート減少はより劇的）のいずれかになりうる。例えば、不可逆圧縮は、元のオーディオ情報に近づけるために使用され、次いで近似値が可逆圧縮される。可逆圧縮技法は、ランレングスコーディング、ランレベルコーディング、可変長コーディング、および算術コーディングを含む。対応する解凍技法（エントロピーデコーディング技法とも呼ばれる）は、ランレングスデコーディング、ランレベルデコーディング、可変長デコーディング、および算術デコーディングを含む。
【００１０】
オーディオ圧縮の１つの目的は、オーディオ信号をデジタルで表現して、可能な最小のビット量で最大の知覚信号品質を提供することである。この目的を目標として、様々な最新のオーディオエンコーディングシステムでは多種多様な不可逆圧縮技法を利用する。これらの不可逆圧縮技法は通常、周波数変換後の知覚モデリング／加重および量子化を伴う。対応する解凍は、逆量子化、逆加重、および逆周波数変換を伴う。
【００１１】
周波数変換技法は、知覚的に重要な情報を知覚的に重要ではない情報と容易に区別できるようにする形式にデータを変換する。次いで、重要ではない情報には、さらに不可逆な圧縮が行われるが、より重要な情報は保持されて、所定のビットレートに対して最善の知覚品質をもたらすことができるようになっている。周波数変換は通常、オーディオサンプルを受信して、それらを時間領域から、周波数係数またはスペクトル係数と呼ばれることもある周波数領域のデータに変換する。
【００１２】
知覚モデリングは、人間の聴覚系のモデルに従って、オーディオデータを処理し、所定のビットレートに対する再構築されたオーディオ信号の知覚品質を向上させることを伴う。例えば、聴覚モデルは通常、人間の聴力の範囲と臨界帯域を考慮する。知覚モデリングの結果を使用して、エンコーダは、所定のビットレートに対する歪みの可聴性を最小化することを目的として、オーディオデータの歪み（例えば、量子化ノイズ）を成形する。
【００１３】
量子化は入力値の範囲を単一値にマップし、情報の不可逆的損失を生じさせるが、同時にエンコーダが出力の品質およびビットレートを制御できるようにする。場合によっては、エンコーダは、量子化を調整するレートコントローラと共に量子化を実行して、ビットレートおよび／または品質を制御する。量子化には、適応および非適応、スカラーおよびベクトル、均一および不均一を含む、様々な種類がある。知覚加重は、不均一量子化の形式と見なされうる。逆量子化および逆加重は、加重されて量子化された周波数係数データを、元の周波数係数データの近似に再構築する。次いで、逆周波数変換は、再構築された周波数係数データを、再構築された時間領域オーディオサンプルに変換する。
【００１４】
オーディオチャネルのジョイントコーディングは、複数チャネルからの情報を一緒にコーディングしてビットレートを減少させることを伴う。例えば、ミッド／サイドコーディング（Ｍ／Ｓコーディングまたは和−差コーディングとも呼ばれる）は、エンコーダにおいて左右のステレオチャネルに行列演算を実行して、結果として得られた「ミッド」および「サイド」チャネル（正規化された和および差チャネル）をデコーダに送信することを伴う。デコーダは、「ミッド」および「サイド」チャネルから実際の物理チャネルを再構築する。Ｍ／Ｓコーディングは可逆的であり、他の不可逆技法（例えば、量子化）がエンコーディングプロセスに使用されない場合、完全な再構築を可能にする。
【００１５】
強度ステレオコーディングは、低ビットレートにおいて使用することができる不可逆ジョイントコーディング技法の例である。強度ステレオコーディングは、エンコーダにおいて左右のチャネルを合計してから、左および右チャネルの再構築中にデコーダにおいて和チャネルからの情報を基準化することを伴う。通常、強度ステレオコーディングは、この不可逆技法によってもたらされるアーティファクトが目立たないようなより高い周波数において実行される。
【００１６】
メディア処理に対する圧縮および解凍の重要性を考慮すれば、圧縮および解凍が十分に開発された分野であることは驚くにはあたらない。しかし、従来の技法およびシステムの利点がどのようなものであれ、本明細書において説明される技法およびシステムの様々な利点を備えてはいない。
【００１７】
【特許文献１】米国特許出願公開第２００４−００４９３７９号明細書
【非特許文献１】M. R. Schroeder and B. F. Logan, “'Colorless' Artificial Reverberation,” 12th Ann. Meeting of the Audio Eng'g Soc., 18 pp. (1960)
【発明の開示】
【発明が解決しようとする課題】
【００１８】
この発明の開示は、以下の発明を実施するための最良の形態においてさらに説明される一連の概念を簡略化された形態で示すために提供される。この発明の開示は、請求項に係る主題の重要な特徴または基本的特徴を特定することを意図するものではなく、また請求項に係る主題の範囲を限定するために使用されることを意図するものでもない。
【００１９】
要約すると、発明を実施するための最良の形態は、マルチチャネルオーディオをエンコードおよびデコードするための方策を対象としている。例えば、オーディオエンコーダは、マルチチャネルオーディオデータの品質および／またはビットレートを向上させるために、１つまたは複数の技法を使用する。これは、全般的な聴取エクスペリエンスを改善し、コンピュータシステムを、高品質マルチチャネルオーディオの制作、配信、および再生用のさらに一層説得力あるプラットフォームにする。本明細書において説明されるエンコーディングおよびデコーディングの方策は、組み合わせても単独でも使用することができる様々な技法およびツールを含む。
【課題を解決するための手段】
【００２０】
例えば、オーディオエンコーダは、マルチチャネルオーディオデータを受信し、マルチチャネルオーディオデータは複数のソースチャネルのグループを備える。エンコーダは、マルチチャネルオーディオデータにチャネル拡張コーディングを実行する。チャネル拡張コーディングは、グループの結合チャネルをエンコードすること、およびグループの個々のソースチャネルをエンコードされた結合チャネルの変更バージョンとして表すための複数のパラメータを決定することを備える。エンコーダはまた、マルチチャネルオーディオデータに周波数拡張コーディングを実行する。周波数拡張コーディングは、例えば、マルチチャネルオーディオデータの周波数帯域をベースバンドグループと拡張帯域グループに分割すること、および拡張帯域グループのオーディオ係数をベースバンドグループのオーディオ係数に基づいてコーディングすることを備えることができる。
【００２１】
もう１つの例において、オーディオデコーダは、チャネル拡張コーディングデータおよび周波数拡張コーディングデータを備えるエンコードされたマルチチャネルオーディオデータを受信する。デコーダは、チャネル拡張コーディングデータおよび周波数拡張コーディングデータを使用して複数のオーディオチャネルを再構築する。チャネル拡張コーディングデータは、複数のオーディオチャネルの結合チャネル、および複数のオーディオチャネルの個々のチャネルを結合チャネルの変更バージョンとして表すための複数のパラメータを備える。
【００２２】
もう１つの例として、オーディオデコーダは、マルチチャネルオーディオデータを受信し、受信したマルチチャネルオーディオデータに、逆マルチチャネル変換、逆基本時間−周波数変換、周波数拡張処理、およびチャネル拡張処理を実行する。デコーダは、エンコーダにおいて実行されたエンコーディングに対応するデコーディング、および／または受信データに順複素変換などの追加のステップを実行することができ、様々な順序でステップを実行することができる。
【００２３】
本明細書においてオーディオエンコーダに関して説明される態様のいくつかに対して、オーディオデコーダは対応する処理およびデコーディングを実行する。
【００２４】
前述のおよびその他の目的、特徴および利点は、添付の図を参照して進められる以下の詳細な説明から明らかとなろう。
【発明を実施するための最良の形態】
【００２５】
オーディオ情報を表現、コーディング、およびデコーディングするための様々な技法およびツールが説明される。これらの技法およびツールは、たとえ非常に低いビットレートであっても、高品質のオーディオコンテンツの制作、配信、および再生を容易にする。
【００２６】
本明細書において説明される様々な技法およびツールは、単独で使用することができる。一部の技法およびツールには、（例えば、複合エンコーディングおよび／またはデコーディングプロセスの様々な局面において）組み合わせて使用することができるものもある。
【００２７】
様々な技法は、処理動作の流れ図を参照して以下で説明される。流れ図に示される様々な処理動作は、さらに少ない動作に統合することも、またはさらに多くの動作に分割することもできる。簡略化するために、特定の流れ図に示されている動作と、他の場所に説明される動作との関係が示されない場合が多い。多くの場合、流れ図内の動作は順序付けられてもよい。
【００２８】
詳細な説明の多くは、オーディオ情報を表現、コーディング、およびデコーディングすることに対処する。オーディオ情報を表現、コーディング、およびデコーディングするための、本明細書において説明される技法およびツールの多くはまた、ビデオ情報、静止画像情報、または単一または複数チャネルで送信されるその他のメディア情報にも適用することができる。
【００２９】
Ｉ．コンピューティング環境
図１は、説明される実施形態を実施することができる適切なコンピューティング環境１００の一般的な例を示す。説明されている実施形態は様々な汎用または特殊用途のコンピューティング環境において実施することができるので、コンピューティング環境１００は、使用または機能の範囲に関して何らかの限定を示すことを意図してはいない。
【００３０】
図１を参照すると、コンピューティング環境１００は、少なくとも１つの処理装置１１０およびメモリ１２０を含む。図１において、この最も基本的な構成１３０は、破線内に含まれている。処理装置１１０は、コンピュータ実行可能命令を実行し、実際のプロセッサまたは仮想プロセッサのいずれであってもよい。マルチプロセッシングシステムにおいては、複数の処理装置がコンピュータ実行可能命令を実行して、処理能力を増大させる。メモリ１２０は、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ）、またはこの２つの組合せであってもよい。メモリ１２０は、説明されている実施形態の１つまたは複数に従って１つまたは複数のオーディオ処理技法および／またはシステムを実施するソフトウェア１８０を格納する。
【００３１】
コンピューティング環境は、追加の特徴を備えることもできる。例えば、コンピューティング環境１００は、ストレージ１４０、１つまたは複数の入力装置１５０、１つまたは複数の出力装置１６０、および１つまたは複数の通信接続１７０を含む。バス、コントローラ、またはネットワークなどの相互接続機構（図示せず）は、コンピューティング環境１００のコンポーネントを相互接続する。通常、オペレーティングシステムソフトウェア（図示せず）は、コンピューティング環境１００において実行するソフトウェアのためのオペレーティング環境を提供し、コンピューティング環境１００のコンポーネントのアクティビティを調整する。
【００３２】
ストレージ１４０は、取り外し可能または固定式であってもよく、磁気ディスク、磁気テープまたはカセット、ＣＤ、ＤＶＤ、あるいは情報を格納するために使用することができ、コンピューティング環境１００内でアクセスすることができる任意の他の媒体を含む。ストレージ１４０は、ソフトウェア１８０の命令を格納する。
【００３３】
入力装置１５０は、キーボード、マウス、ペン、タッチスクリーンまたはトラックボールなどのタッチ入力装置、音声入力装置、スキャニング装置、またはコンピューティング環境１００に入力を提供する他の装置であってもよい。オーディオまたはビデオの場合、入力装置１５０は、マイクロフォン、サウンドカード、ビデオカード、ＴＶチューナカード、あるいはアナログまたはデジタル形式のオーディオまたはビデオ入力を受け入れる同様の装置、あるいはオーディオまたはビデオサンプルをコンピューティング環境に読み込むＣＤまたはＤＶＤであってもよい。出力装置１６０は、ディスプレイ、プリンタ、スピーカ、ＣＤ／ＤＶＤライター、ネットワークアダプタ、またはコンピューティング環境１００から出力を提供する他の装置であってもよい。
【００３４】
通信接続１７０は、通信媒体を介して１つまたは複数の他のコンピューティングエンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令などの情報、オーディオまたはビデオ情報、あるいはその他のデータをデータ信号で伝達する。変調データ信号は、１つまたは複数の特性セットを備える信号、または信号の情報をエンコードするような方法で変更された信号である。一例として、通信媒体は、電気、光学、ＲＦ、赤外線、音響、または他の通信事業者により実施される有線または無線の技法を含むが、これらに限定されることはない。
【００３５】
実施形態は、コンピュータ可読媒体の一般的なコンテキストに即して説明することができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスすることができる任意の使用可能な媒体である。一例として、コンピューティング環境１００において、コンピュータ可読媒体は、メモリ１２０、ストレージ１４０、通信媒体、および上記の任意の組合せを含むが、これらに限定されることはない。
【００３６】
実施形態は、ターゲットの実際または仮想プロセッサ上でコンピューティング環境において実行される、プログラムモジュールに含まれているような、コンピュータ実行可能命令の一般的なコンテキストに即して説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定のデータタイプを実施するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などを含む。プログラムモジュールの機能は、様々な実施形態における要求に合わせてプログラムモジュール間で組み合わされても、または分離されてもよい。プログラムモジュールのコンピュータ実行可能命令は、ローカルまたは分散のコンピューティング環境内で実行されてもよい。
【００３７】
提示の便宜上、発明を実施するための最良の形態では、コンピューティング環境におけるコンピュータオペレーションを説明するために、「決定する（ｄｅｔｅｒｍｉｎｅ）」、「受信する（ｒｅｃｅｉｖｅ）」、および「実行する（ｐｅｒｆｏｒｍ）」などの用語を使用する。これらの用語は、コンピュータによって実行されるオペレーションのハイレベルな抽象化であり、人間によって行われる動作と混乱すべきではない。これらの用語に対応する実際のコンピュータオペレーションは、実施態様によって異なる。
【００３８】
ＩＩ．例示のエンコーダおよびデコーダ
図２は、１つまたは複数の説明されている実施形態が実施されうる第１のオーディオエンコーダ２００を示す。エンコーダ２００は、変換ベースの、知覚オーディオエンコーダ２００である。図３は、対応するオーディオデコーダ３００を示す。
【００３９】
図４は、１つまたは複数の説明されている実施形態が実施されうる第２のオーディオエンコーダ４００を示す。エンコーダ４００は、この場合も同様に、変換ベースの、知覚オーディオエンコーダであるが、エンコーダ４００は、マルチチャネルオーディオを処理するためのモジュールなど、追加のモジュールを含む。図５は、対応するオーディオデコーダ５００を示す。
【００４０】
図２から図５において示されるシステムは一般化されているが、各々は実世界のシステムに見られる特徴を備えている。いずれにせよ、エンコーダおよびデコーダ内のモジュール間に示される関係は、エンコーダおよびデコーダにおける情報の流れを示す。その他の関係は、簡略にするために示されていない。実施態様および望ましい圧縮のタイプに応じて、エンコーダまたはデコーダのモジュールは、追加、省略、複数モジュールへの分割、他のモジュールとの組合せ、および／または類似したモジュールへの置き換えが行われてもよい。代替の実施形態において、様々なモジュールおよび／または他の構成を備えるエンコーダまたはデコーダは、１つまたは複数の説明されている実施形態に従って、オーディオデータまたは他のタイプのデータを処理する。
【００４１】
Ａ．第１のオーディオエンコーダ
エンコーダ２００は、あるサンプル深度およびレートにおける入力オーディオサンプル２０５の時系列を受信する。入力オーディオサンプル２０５は、マルチチャネルオーディオ（例えば、ステレオ）またはモノオーディオ向けのものである。エンコーダ２００は、オーディオサンプル２０５を圧縮し、エンコーダ２００の様々なモジュールによって生成される情報を多重化して、ＷＭＡ形式などの圧縮形式、Ａｄｖａｎｃｅｄ  Ｓｔｒｅａｍｉｎｇ  Ｆｏｒｍａｔ（「ＡＳＦ」）などのコンテナ形式、または他の圧縮またはコンテナ形式でビットストリーム２９５を出力する。
【００４２】
周波数変換器２１０は、オーディオサンプル２０５を受信して、それらを周波数（またはスペクトル）領域のデータに変換する。例えば、周波数変換器２１０は、フレームのオーディオサンプル２０５をサブフレームブロックに分割するが、これは可変の時間解像度を許容するように様々なサイズに変更することができる。ブロックは重なり合って、そうしなかった場合には後の量子化によってもたらされるであろうブロック間の感じ取れるほどの不連続を軽減することができる。周波数変換器２１０は、経時変化変調重複変換（Ｍｏｄｕｌａｔｅｄ  Ｌａｐｐｅｄ  Ｔｒａｎｓｆｏｒｍ）（「ＭＬＴ」）、変調ＤＣＴ（「ＭＤＣＴ」）、ＭＬＴまたはＤＣＴの他の変形、あるいは他のタイプの変調または非変調、重複または非重複の周波数変換をブロックに適用するか、もしくはサブバンドまたはウェーブレットコーディングを使用する。周波数変換器２１０は、スペクトル係数データのブロックを出力し、ブロックサイズなどのサイド情報をマルチプレクサ（「ＭＵＸ」）２８０に出力する。
【００４３】
マルチチャネルオーディオデータの場合、マルチチャネル変換器２２０は、複数の単独にコーディングされた元のチャネルを、合同でコーディングされたチャネルに変換することができる。あるいは、マルチチャネル変換器２２０は、単独にコーディングされたチャネルとして、左右のチャネルを通過させることができる。マルチチャネル変換器２２０は、使用されるチャネルモードを示すサイド情報をＭＵＸ２８０に生成する。エンコーダ２００は、マルチチャネル変換後に、マルチチャネル再行列化をオーディオデータのブロックに適用することができる。
【００４４】
知覚モデラー２３０は、人間の聴覚系の特性をモデル化して、所定のビットレートに対する再構築されたオーディオ信号の知覚品質を向上させる。知覚モデラー２３０は、様々な聴覚モデルのいずれかを使用し、励起パターン情報またはその他の情報を加重器２４０に渡す。例えば、聴覚モデルは通常、人間の聴力の範囲と臨界帯域（例えば、Ｂａｒｋ帯域）を考慮する。範囲と臨界帯域とは別に、オーディオ信号間の相互作用は、知覚に劇的な影響を及ぼす可能性がある。加えて、聴覚モデルは、人間の音知覚の身体的または神経的側面に関連する様々な他の要因を考慮することができる。
【００４５】
知覚モデラー２３０は、加重器２４０が、オーディオデータのノイズを成形して、ノイズの可聴性を軽減するために使用する情報を出力する。例えば、様々な技法のいずれかを使用して、加重器２４０は、受信した情報に基づいて量子化行列（マスクと呼ばれることもある）の加重係数を生成する。量子化行列の加重係数は、行列内の複数の量子化帯域の各々の重みを含み、ここで量子化帯域は周波数係数の周波数範囲である。したがって、加重係数は、ノイズ／量子化エラーが量子化帯域にわたり拡散される比率を示し、それにより、聞き取りにくい帯域にさらに多くのノイズを加えることによってノイズの可聴性を最小化すること（逆の場合も同じ）を目的として、ノイズ／量子化エラーのスペクトル／時間的分布を制御する。
【００４６】
次いで、加重器２４０は、マルチチャネル変換器２２０から受信したデータに加重係数を適用する。
【００４７】
量子化器２５０は、加重器２４０の出力を量子化し、量子化された係数データをエントロピーエンコーダ２６０に生成して、量子化ステップサイズを含むサイド情報をＭＵＸ２８０に生成する。図２において、量子化器２５０は、適応型の均一なスカラー量子化器である。量子化器２５０は、同じ量子化ステップサイズを各スペクトル係数に適用するが、量子化ステップサイズ自体は、量子化ループの１回の反復ごとに変化して、エントロピーエンコーダ２６０出力のビットレートに影響を及ぼすことができる。その他の量子化の種類には、不均一のベクトル量子化、および／または非適応量子化がある。
【００４８】
エントロピーエンコーダ２６０は、例えば実行レベルコーディングおよびベクトル可変長コーディングを実行するなどして、量子化器２５０から受信した量子化係数データを可逆圧縮する。エントロピーエンコーダ２６０は、オーディオ情報のエンコーディングに費やされるビット数を計算して、その情報をレート／品質コントローラ２７０に渡すことができる。
【００４９】
コントローラ２７０は、エンコーダ２００の出力のビットレートおよび／または品質を制御するために量子化器２５０と連動する。コントローラ２７０は、ビットレートおよび品質の制約を満足することを目的として、量子化ステップサイズを量子化器２５０に出力する。
【００５０】
加えて、エンコーダ２００は、ノイズ置換および／または帯域切捨てをオーディオデータのブロックに適用することができる。
【００５１】
ＭＵＸ２８０は、オーディオエンコーダ２００の他のモジュールから受信したサイド情報を、エントロピーエンコーダ２６０から受信したエントロピーエンコードデータと共に多重化する。ＭＵＸ２８０は、エンコーダ２００によって出力されるべきビットストリーム２９５を格納する仮想バッファを含むことができる。
【００５２】
Ｂ．第１のオーディオデコーダ
デコーダ３００は、エントロピーエンコードデータおよびサイド情報を含む圧縮オーディオ情報のビットストリーム３０５を受信するが、デコーダ３００はそのビットストリームからオーディオサンプル３９５を再構築する。
【００５３】
デマルチプレクサ（「ＤＥＭＵＸ」）３１０は、ビットストリーム３０５の情報を解析し、情報をデコーダ３００のモジュールに送信する。ＤＥＭＵＸ３１０は、オーディオの複雑さのばらつき、ネットワークジッタ、および／または他の要因によるビットレートの短期的な変動を補償するための、１つまたは複数のバッファを含む。
【００５４】
エントロピーデコーダ３２０は、ＤＥＭＵＸ３１０から受信したエントロピーコードを可逆解凍して、量子化スペクトル係数データを生成する。エントロピーデコーダ３２０は通常、エンコーダにおいて使用されるエントロピーエンコーディング技法の逆を適用する。
【００５５】
逆量子化器３３０は、ＤＥＭＵＸ３１０から量子化ステップサイズを受信し、エントロピーデコーダ３２０から量子化スペクトル係数データを受信する。逆量子化器３３０は、量子化ステップサイズを量子化された周波数係数データに適用して、周波数係数データを部分的に再構築するか、あるいは逆量子化を実行する。
【００５６】
ＤＥＭＵＸ３１０から、ノイズ発生器３４０は、データのブロックのどの帯域がノイズ置換されているか、およびノイズの形態のパラメータであるかを示す情報を受信する。ノイズ発生器３４０は、示される帯域のパターンを生成し、逆加重器３５０に情報を渡す。
【００５７】
逆加重器３５０は、ＤＥＭＵＸ３１０から加重係数を、ノイズ発生器３４０からノイズ置換された帯域のパターンを、および逆量子化器３３０から部分的に再構築された周波数係数データを受信する。必要に応じて、逆加重器３５０は加重係数を解凍する。逆加重器３５０は、ノイズ置換されていない帯域の部分的に再構築された周波数係数データに、加重係数を適用する。次いで、逆加重器３５０は、ノイズ置換された帯域のノイズ発生器３４０から受信したノイズパターンを加える。
【００５８】
逆マルチチャネル変換器３６０は、逆加重器３５０から再構築されたスペクトル係数データを、およびＤＥＭＵＸ３１０からチャネルモード情報を受信する。マルチチャネルオーディオが単独にコーディングされたチャネルにある場合、逆マルチチャネル変換器３６０はチャネルを通過させる。マルチチャネルデータが合同でコーディングされたチャネルにある場合、逆マルチチャネル変換器３６０は、データを単独でコーディングされたチャネルに変換する。
【００５９】
逆周波数変換器３７０は、マルチチャネル変換器３６０により出力されたスペクトル係数データ、およびＤＥＭＵＸ３１０からのブロックサイズなどのサイド情報を受信する。逆周波数変換器３７０は、エンコーダにおいて使用された周波数変換の逆を適用し、再構築されたオーディオサンプル３９５のブロックを出力する。
【００６０】
Ｃ．第２のオーディオエンコーダ
図４を参照すると、エンコーダ４００は、あるサンプル深度およびレートにおける入力オーディオサンプル４０５の時系列を受信する。入力オーディオサンプル４０５は、マルチチャネルオーディオ（例えば、ステレオ、サラウンド）またはモノオーディオ向けのものである。エンコーダ４００は、オーディオサンプル４０５を圧縮し、エンコーダ４００の様々なモジュールによって生成される情報を多重化して、ＷＭＡ  Ｐｒｏ形式などの圧縮形式、ＡＳＦなどのコンテナ形式、または他の圧縮またはコンテナ形式でビットストリーム４９５を出力する。
【００６１】
エンコーダ４００は、オーディオサンプル４０５の複数のエンコーディングモードから選択する。図４において、エンコーダ４００は、混合／純粋可逆コーディングモードと不可逆コーディングモードとを切り替える。可逆コーディングモードは、混合／純粋可逆コーダ４７２を含み、通常は高品質（および高ビットレート）圧縮に使用される。不可逆コーディングモードは、加重器４４２および量子化器４６０のようなコンポーネントを含み、通常は調整可能品質（および制御ビットレート）圧縮に使用される。選択の決定は、ユーザ入力またはその他の基準によって異なる。
【００６２】
マルチチャネルオーディオデータの不可逆コーディングの場合、マルチチャネルプリプロセッサ４１０は、オプションで時間領域オーディオサンプル４０５を再行列化する。例えば、マルチチャネルプリプロセッサ４１０は、オーディオサンプル４０５を選択的に再行列化して、１つまたは複数のコーディングされたチャネルをドロップするか、またはエンコーダ４００のチャネル間相関を増大させ、しかもデコーダ５００の（何らかの形式の）再構築を可能にする。マルチチャネルプリプロセッサ４１０は、マルチチャネル後処理の命令などのサイド情報をＭＵＸ４９０に送信することができる。
【００６３】
ウィンドウモジュール４２０は、オーディオ入力サンプル４０５のフレームをサブフレームブロック（ウィンドウ）に分割する。ウィンドウは、経時変化サイズおよびウィンドウ形成機能を有することができる。エンコーダ４００が不可逆コーディングを使用する場合、可変サイズのウィンドウは可変の時間解像度を可能にする。ウィンドウモジュール４２０は、分割されたデータのブロックを出力し、ブロックサイズなどのサイド情報をＭＵＸ４９０に出力する。
【００６４】
図４において、タイルコンフィギュラ４４２は、マルチチャネルオーディオのフレームをチャネル単位ベースで分割する。タイルコンフィギュラ４４２は、品質／ビットレートが許容する場合、フレーム内の各チャネルを単独で分割する。これにより、例えば、タイルコンフィギュラ４２２は、さらに小さいウィンドウで特定のチャネルに出現する過渡現象を隔離することができるが、より大きいウィンドウを他のチャネルの周波数解像度または圧縮効率に使用することができる。これは、チャネル単位ベースで過渡現象を隔離することにより圧縮効率を向上させることができるが、多くの場合、個々のチャネルの分割を指定する追加情報が必要となる。時間的に同一場所に配置される同じサイズのウィンドウは、マルチチャネル変換を通じてのさらなる冗長性の低減に適している。したがって、タイルコンフィギュラ４２２は、時間的に同一の場所に配置される同じサイズのウィンドウをタイルとしてグループ化する。
【００６５】
図６は、５．１チャネルオーディオのフレームの例示のタイル構成６００を示す図である。タイル構成６００は、０から６までの番号が付けられた７つのタイルを含む。タイル０は、チャネル０、２、３、および４からのサンプルを含み、第１の１／４フレームにわたる。タイル１は、チャネル１からのサンプルを含み、前半の１／２フレームにわたる。タイル２は、チャネル５からのサンプルを含み、フレーム全体にわたる。タイル３は、タイル０と同様であるが、第２の１／４フレームにわたる。タイル４および６は、チャネル０、２、および３のサンプルを含み、それぞれ第３および第４の１／４フレームにわたる。最後に、タイル５は、チャネル１および４からのサンプルを含み、後半の１／２フレームにわたる。示されているように、特定のタイルは、不連続のチャネルのウィンドウを含むことができる。
【００６６】
周波数変換器４３０は、オーディオサンプルを受信し、それらを周波数領域のデータに変換して、図２の周波数変換器２１０について上記で説明されているような変換を適用する。周波数変換器４３０は、スペクトル係数データのブロックを加重器４４２に出力し、ブロックサイズなどのサイド情報をＭＵＸ４９０に出力する。周波数変換器４３０は、周波数係数およびサイド情報を知覚モデラー４４０に出力する。
【００６７】
知覚モデラー４４０は、一般に図２の知覚モデラー２３０に関して上記で説明されているように、聴覚モデルに従ってオーディオデータを処理して、人間の聴覚系の特性をモデル化する。
【００６８】
加重器４４２は、一般に図２の加重器２４０に関して上記で説明されているように、知覚モデラー４４０から受信した情報に基づいて量子化行列の加重係数を生成する。加重器４４２は、周波数変換器４３０から受信したデータに加重係数を適用する。加重器４４２は、量子化行列およびチャネル加重係数などのサイド情報をＭＵＸ４９０に出力する。量子化行列は圧縮されてもよい。
【００６９】
マルチチャネルオーディオデータの場合、マルチチャネル変換器４５０は、チャネル間相関を利用するためにマルチチャネル変換を適用することができる。例えば、マルチチャネル変換器４５０は、タイル内のチャネルおよび／または量子化帯域のすべてではなく一部に、マルチチャネル変換を選択的かつ柔軟に適用する。マルチチャネル変換器４５０は、事前定義された行列つまりカスタムの行列を選択的に使用し、効率的な圧縮をカスタム行列に適用する。マルチチャネル変換器４５０は、例えば、使用されたマルチチャネル変換およびタイルのマルチチャネル変換された部分を示すサイド情報をＭＵＸ４９０に生成する。
【００７０】
量子化器４６０は、マルチチャネル変換器４５０の出力を量子化し、量子化された係数データをエントロピーエンコーダ４７０に生成して、量子化ステップサイズを含むサイド情報をＭＵＸ４９０に生成する。図４において、量子化器４６０は、タイルあたりの量子化係数を計算する適応型の均一なスカラー量子化器であるが、代わりに量子化器４６０は他の種類の量子化を実行してもよい。
【００７１】
エントロピーエンコーダ４７０は、一般に図２のエントロピーエンコーダ２６０に関して上記で説明されているように、量子化器４６０から受信した量子化係数データを可逆圧縮する。
【００７２】
コントローラ４８０は、エンコーダ４００の出力のビットレートおよび／または品質を制御するために量子化器４６０と連動する。コントローラ４８０は、品質および／またはビットレートの制約を満足することを目的として、量子化係数を量子化器４６０に出力する。
【００７３】
混合／純粋可逆エンコーダ４７２および関連するエントロピーエンコーダ４７４は、混合／純粋可逆コーディングモードのオーディオデータを圧縮する。エンコーダ４００は、シーケンス全体に混合／純粋可逆コーディングモードを使用するか、あるいはフレームごと、ブロックごと、タイルごと、またはその他の単位でコーディングモードを切り替える。
【００７４】
ＭＵＸ４９０は、オーディオエンコーダ４００の他のモジュールから受信したサイド情報を、エントロピーエンコーダ４７０、４７４から受信したエントロピーエンコードデータと共に多重化する。ＭＵＸ４９０は、レート制御またはその他の目的のために、１つまたは複数のバッファを含む。
【００７５】
Ｄ．第２のオーディオデコーダ
図５を参照すると、第２のオーディオデコーダ５００は、圧縮されたオーディオ情報のビットストリーム５０５を受信する。ビットストリーム５０５は、エントロピーエンコードデータ、およびデコーダ５００がオーディオサンプル５９５を再構築したサイド情報を含む。
【００７６】
ＤＥＭＵＸ５１０は、ビットストリーム５０５の情報を解析し、情報をデコーダ５００のモジュールに送信する。ＤＥＭＵＸ５１０は、オーディオの複雑さのばらつき、ネットワークジッタ、および／または他の要因によるビットレートの短期的な変動を補償するための、１つまたは複数のバッファを含む。
【００７７】
エントロピーデコーダ５２０は、通常エンコーダ４００において使用されるエントロピーエンコーディング技法の逆を適用して、ＤＥＭＵＸ５１０から受信したエントロピーコードを可逆解凍する。不可逆コーディングモードで圧縮されているデータをデコードする場合、エントロピーデコーダ５２０は、量子化されたスペクトル係数データを生成する。
【００７８】
混合／純粋可逆デコーダ５２２および関連するエントロピーデコーダ５２０は、混合／純粋可逆コーディングモードの可逆エンコードされたオーディオデータを解凍する。
【００７９】
タイル構成デコーダ５３０は、ＤＥＭＵＸ５９０からフレームのタイルのパターンを示す情報を受信し、必要に応じてこれをデコードする。タイルパターン情報は、エントロピーエンコードされるか、あるいはパラメータ化されてもよい。次いで、タイル構成デコーダ５３０は、タイルパターン情報を、デコーダ５００の様々な他のモジュールに渡す。
【００８０】
逆マルチチャネル変換器５４０は、エントロピーデコーダ５２０から量子化されたスペクトル係数データを、タイル構成デコーダ５３０からタイルパターン情報を、例えば使用されるマルチチャネル変換およびタイルの変換された部分を示すサイド情報をＤＥＭＵＸ５１０から受信する。この情報を使用して、逆マルチチャネル変換器５４０は、変換行列を必要に応じて解凍し、１つまたは複数の逆マルチチャネル変換をオーディオデータに選択的かつ柔軟に適用する。
【００８１】
逆量子化器／加重器５５０は、タイルおよびチャネル量子化係数および量子化行列などの情報をＤＥＭＵＸ５１０から受信し、逆マルチチャネル変換器５４０から量子化スペクトル係数データを受信する。逆量子化器／加重器５５０は、受信した加重係数情報を必要に応じて解凍する。次いで、量子化器／加重器５５０は、逆量子化および加重を実行する。
【００８２】
逆周波数変換器５６０は、逆量子化器／加重器５５０によって出力されたスペクトル係数データ、ＤＥＭＵＸ５１０からのサイド情報、およびタイル構成デコーダ５３０からのタイルパターン情報を受信する。逆周波数変換器５７０は、エンコーダにおいて使用された周波数変換の逆を適用し、ブロックをオーバーラッパー／加算器５７０に出力する。
【００８３】
タイル構成デコーダ５３０からタイルパターン情報を受信することに加えて、オーバーラッパー／加算器５７０は、逆周波数変換器５６０および／または混合／純粋可逆デコーダ５２２からデコードされた情報を受信する。オーバーラッパー／加算器５７０は、必要に応じてオーディオデータを重複または加算し、様々なモードでエンコードされたオーディオデータのフレームまたはその他のシーケンスをインターリーブする。
【００８４】
マルチチャネルポストプロセッサ５８０は、オプションで、オーバーラッパー／加算器５７０によって出力された時間領域オーディオサンプルを再行列化する。ビットストリーム制御の後処理の場合、後処理変換行列は時間の経過と共に変化し、信号で伝えられるか、またはビットストリーム５０５に含まれる。
【００８５】
ＩＩＩ．マルチチャネル処理の概要
この節は、マルチチャネル前処理技法、柔軟マルチチャネル変換技法、およびマルチチャネル後処理技法を含む、一部のエンコーダおよびデコーダにおいて使用される一部のマルチチャネル処理技法の概要である。
【００８６】
Ａ．マルチチャネル前処理
一部のエンコーダは、時間領域の入力オーディオサンプルにマルチチャネル前処理を実行する。
【００８７】
従来のエンコーダにおいて、Ｎ個のソースオーディオチャネルが入力としてある場合、エンコーダによって生成される出力チャネルの数もまたＮである。コーディングされるチャネルの数は、ソースチャネルと１対１に対応するか、またはコーディングされるチャネルはマルチチャネル変換コーディングされたチャネルであってもよい。しかし、ソースのコーディングの複雑さが圧縮を困難にする場合、またはエンコーダバッファが満杯である場合、エンコーダは、元の入力オーディオチャネルまたはマルチチャネル変換コーディングされたチャネルのうちの１つまたは複数を変更またはドロップする（つまり、コーディングしない）ことができる。これは、コーディングの複雑さを軽減して、オーディオの全般的な知覚品質を高めるために行われてもよい。品質主導型の前処理の場合、エンコーダは、全体的なオーディオ品質および／またはチャネル分離を円滑に制御するように、測定されたオーディオ品質に対してマルチチャネル前処理を実行することができる。
【００８８】
例えば、エンコーダは、１つまたは複数のチャネルをあまりクリティカルにしないようにマルチチャネルオーディオイメージを変更して、チャネルがエンコーダでドロップされてもさらにデコーダにおいて「重信（ｐｈａｎｔｏｍ）」つまりコーディングされていないチャネルとして再構築されるようにしてもよい。こうすることで、品質に劇的な影響をもたらす可能性のある、チャネルの完全な削除または厳格な量子化の必要をなくすことができる。
【００８９】
エンコーダは、コーディングされるチャネルの数が、出力用のチャネルの数よりも少ないときに行うべきアクションをデコーダに指示することができる。次いで、重信チャネルを作成するために、マルチチャネル後処理変換がデコーダにおいて使用されてもよい。例えば、（ビットストリームを通じて）エンコーダは、デコーディングされた左右のチャネルを平均化することによって重信センターを作成するようデコーダに指示することができる。後に、マルチチャネル変換は（後処理なしで）平均化されたバック左および右チャネル間の冗長性を活用することができるか、またはエンコーダはバック左および右チャネルの一部のマルチチャネル後処理を実行するようにデコーダに指示することができる。あるいは、エンコーダは、別の目的のために、マルチチャネル後処理を実行するようデコーダに通知することができる。
【００９０】
図７は、マルチチャネル前処理の一般的な技法７００を示す。エンコーダは、時間領域マルチチャネルオーディオデータにマルチチャネル前処理を実行して（７１０）、変換されたオーディオデータを時間領域に生成する。例えば、前処理は、連続する実数値の要素を持つ一般変換行列を伴う。一般変換行列は、チャネル間相関を人為的に増大させるために選択されてもよい。これは、エンコーダの残りの部分の複雑さを軽減するが、損失チャネル分離を代償とする。
【００９１】
次いで、出力はエンコーダの残りの部分に供給されるが、これは、エンコーダが実行できるその他の処理に加え、図４を参照して説明される技法またはその他の圧縮技法を使用してデータをエンコードし（７２０）、エンコードされたマルチチャネルオーディオデータを生成する。
【００９２】
エンコーダおよびデコーダによって使用される構文は、一般または事前定義された後処理マルチチャネル変換行列の記述を可能にすることができるが、これはフレーム単位ベースで変わるかまたはオン／オフにされてもよい。エンコーダは、この柔軟性を使用してステレオ／サラウンドイメージの欠陥を制限することができ、人為的にチャネル間相関を増大させることによって特定の状況における全体的な品質を高めるためにチャネル分離をトレードオフする。代替として、デコーダおよびエンコーダは、例えば、フレーム単位ベース以外で変換行列の変更を可能にするものなど、マルチチャネル前および後処理の別の構文を使用することができる。
【００９３】
Ｂ．柔軟マルチチャネル変換
一部のエンコーダは、チャネル間相関を効果的に利用する柔軟マルチチャネル変換を実行することができる。対応するデコーダは、対応する逆マルチチャネル変換を実行することができる。
【００９４】
例えば、エンコーダは、チャネル間のリーク信号が制御され、測定可能であり、元の信号と類似したスペクトルを持つように、知覚加重後にマルチチャネル変換を配置することができる（そしてデコーダは、逆加重前に逆マルチチャネル変換を配置することができる）。エンコーダは、マルチチャネル変換の前に周波数領域のマルチチャネルオーディオに加重係数を適用することができる（例えば、加重係数およびチャネルごとの量子化ステップ修飾子の両方）。エンコーダは、加重オーディオデータに１つまたは複数のマルチチャネル変換を実行し、マルチチャネル変換されたオーディオデータを量子化することができる。
【００９５】
デコーダは、特定の周波数索引において複数のチャネルからサンプルをベクトルに収集し、逆マルチチャネル変換を実行して出力を生成することができる。その後、デコーダは、マルチチャネルオーディオに逆量子化および逆加重を行うことができ、逆マルチチャネル変換の出力をマスクで色づけする。したがって、（量子化により）チャネルにわたって生じるリークは、リーク信号の可聴性が測定可能かつ制御可能であるようにスペクトル的に成形されてもよく、所定の再構築されたチャネルの他のチャネルのリークは、所定のチャネルの元の破損してない信号とスペクトル的に似た形状をしている。
【００９６】
エンコーダは、どのチャネルが一緒に変換されるかを制限するために、マルチチャネル変換のチャネルをグループ化することができる。例えば、エンコーダは、タイル内のどのチャネルが相関するかを決定して、相関するチャネルをグループ化することができる。エンコーダは、マルチチャネル変換のチャネルをグループ化するとき、チャネルの信号間のペアワイズ相関および帯域間の相関、あるいはその他のおよび／または追加の要因を考慮することができる。例えば、エンコーダは、チャネル内の信号間のペアワイズ相関を計算してから、それに応じてチャネルをグループ化することができる。グループ内のチャネルのいずれかとペアワイズ相関しないチャネルは、引き続きそのグループに適合することができる。グループに適合しないチャネルの場合、エンコーダは、帯域レベルで適合性をチェックして、それに応じてチャネルの１つまたは複数のグループを調整することができる。エンコーダは、一部の帯域のグループに適合するが、別の帯域では適合しないチャネルを識別することができる。適合しない帯域における変換をオフにすることで、実際にマルチチャネル変換コーディングされる帯域間の相関を向上させ、コーディングの効率を高めることができる。チャネルグループ内のチャネルは、隣接している必要はない。単一のタイルは複数のチャネルグループを含むことができ、各チャネルグループは異なる関連マルチチャネル変換を備えることができる。エンコーダは、どのチャネルが適合するかを決定した後、チャネルグループ情報をビットストリームに入れることができる。次いで、デコーダは、ビットストリームから情報を取り出して処理することができる。
【００９７】
エンコーダは、どの帯域が一緒に変換されるかを制限するために、周波数帯域レベルにおいてマルチチャネル変換を選択的にオンまたはオフにすることができる。このようにして、エンコーダは、マルチチャネル変換において適合しない帯域を選択的に除外することができる。マルチチャネル変換が特定の帯域に対してオフにされるとき、エンコーダは、その帯域の恒等変換を使用して、その帯域でデータを変更せずに通過させることができる。周波数帯域の数は、オーディオデータのサンプリング周波数およびタイルのサイズに関連する。一般に、サンプリング周波数が高くなるか、またはタイルのサイズが大きくなると、それに応じて周波数帯域の数も増大する。エンコーダは、タイルのチャネルグループのチャネルに対する周波数帯域レベルにおいてマルチチャネル変換を選択的にオンまたはオフにすることができる。デコーダは、特定のビットストリーム構文に従ってビットストリームから、タイルのチャネルグループに対するマルチチャネル変換の帯域オン／オフ情報を取り出すことができる。
【００９８】
エンコーダは、特にデコーダにおける計算上の複雑さを制限するために、階層マルチチャネル変換を使用することができる。階層変換により、エンコーダは、変換全体を複数の段階に分割して、個々の段階の計算の複雑さを軽減し、場合によってはマルチチャネル変換を指定するために必要な情報量を減少させることができる。このカスケード式構造を使用することで、エンコーダは、より大規模な変換全体を、ある程度の精度まで、より小規模な変換でエミュレートすることができる。次いで、デコーダは、対応する階層逆変換を実行することができる。エンコーダは、複数のマルチチャネル変換の周波数帯域オン／オフ情報を結合することもできる。デコーダは、特定のビットストリーム構文に従ってビットストリームから、チャネルグループに対するマルチチャネル変換の階層の情報を取り出すことができる。
【００９９】
エンコーダは、変換行列を指定するために使用されるビットレートを減少させるために、事前定義されたマルチチャネル変換行列を使用することができる。エンコーダは、複数の使用可能な事前定義された行列形式から選択して、選択された行列をビットストリームで通知することができる。行列の一部の形式は、ビットストリームの追加の信号を必要としない場合もある。追加の仕様を必要とするものもある。デコーダは、行列形式を示す情報および（必要に応じて）行列を指定する追加情報を取り出すことができる。
【０１００】
エンコーダは、タイルのチャネルの量子化行列、チャネルごとの量子化ステップ修飾子、および全体の量子化タイル係数を計算して、適用することができる。これにより、エンコーダは、聴覚モデルに従ってノイズを成形し、チャネル間のノイズのバランスをとり、全体的な歪みを制御することができる。対応するデコーダは、全体の量子化タイル係数、チャネルごとの量子化ステップ修飾子、およびタイルのチャネルの量子化行列をデコードして適用し、逆量子化および逆加重ステップを組み合わせることができる。
【０１０１】
Ｃ．マルチチャネル後処理
一部のデコーダは、再構築された時間領域のオーディオサンプルにマルチチャネル後処理を実行する。
【０１０２】
例えば、デコードされるチャネルの数は、（例えば、エンコーダが１つまたは複数の入力チャネルをコーディングしなかったため）、出力用のチャネルの数よりも少ない場合もある。そのような場合は、デコードされるチャネルの実際のデータに基づいて１つまたは複数の「重信」チャネルを作成するために、マルチチャネル後処理変換が使用されてもよい。デコードされるチャネルの数が出力チャネルの数と等しい場合、後処理変換は、表示の任意の空間回転、スピーカ位置間の出力チャネルの再マップ、またはその他の空間または特殊効果のために使用されてもよい。デコードされるチャネルの数が、（例えば、ステレオ機器でサラウンドサウンドオーディオを再生するなど）出力チャネルの数よりも大きい場合、チャネルを「折りたたむ」ために後処理変換が使用されてもよい。これらのシナリオおよび適用の変換行列は、エンコーダによって提供されるかまたは通知されてもよい。
【０１０３】
図８は、マルチチャネル後処理の一般的な技法８００を示す。デコーダは、エンコードされたマルチチャネルオーディオデータをデコードし（８１０）、再構築された時間領域マルチチャネルオーディオデータを生成する。
【０１０４】
次いで、デコーダは、時間領域マルチチャネルオーディオデータにマルチチャネル後処理を実行する（８２０）。エンコーダが複数のコード化チャネルを生成し、デコーダがそれよりも多数のチャネルを出力する場合、後処理は、より少ない数のコード化チャネルから多数の出力チャネルを生成するために一般変換を伴う。例えば、デコーダは、再構築されたコーディングされたチャネルごとに１つずつ、（時間的に）同一場所に配置されたサンプルを取り、欠落しているチャネル（つまりエンコーダによってドロップされたチャネル）をゼロで埋め込む。デコーダは、一般後処理変換行列でサンプルを乗算する。
【０１０５】
一般後処理変換行列は、あらかじめ定められた要素を持つ行列であってもよいか、またはエンコーダによって指定された要素を持つ一般行列であってもよい。エンコーダは、あらかじめ定められた行列（例えば、１つまたは複数のフラグビットを持つもの）を使用するようデコーダに通知するか、または一般行列の要素をデコーダに送信するか、あるいはデコーダが常に同じ一般後処理変換行列を使用するよう構成されてもよい。柔軟性を高めるために、マルチチャネル後処理は、フレーム単位またはその他の単位でオン／オフにされてもよい（その場合、デコーダは恒等行列を使用してチャネルが変更されないようにしておくことができる）。
【０１０６】
マルチチャネル前処理、後処理、および柔軟なマルチチャネル変換の詳細については、特許文献１、名称「Multi-Channel Audio Encoding and Decoding」を参照されたい。
【０１０７】
ＩＶ．マルチチャネルオーディオのチャネル拡張処理
マルチチャネルソースをコーディングするための通常のコード化方式において、変調重複変換（「ＭＬＴ」）または離散コサイン変換（「ＤＣＴ」）などの変換を使用する時間−周波数変換がエンコーダにおいて実行され、対応する逆変換がデコーダにおいて実行される。チャネルのいくつかのＭＬＴまたはＤＣＴ係数はチャネルグループにまとめられ、コーディングされるべきチャネルを取得するために線形変換がチャネル全体にわたり適用される。ステレオソースの左右のチャネルが相関する場合、それらは和−差（ｓｕｍ−ｄｉｆｆｅｒｅｎｃｅ）変換（Ｍ／Ｓまたはミッド／サイドコーディングとも呼ばれる）を使用してコーディングされてもよい。そうすることで、２つのチャネル間の相関が除去され、その結果、これらをコーディングするために必要なビット数が少なくてすむ。しかし、低ビットレートにおいては、差チャネルがコーディングされないことも（その結果ステレオイメージが失われる）、または品質が両チャネルの多量の量子化の影響を受けることもある。
【０１０８】
説明される技法およびツールは、既存のジョイントコーディング方式（例えば、ミッド／サイドコーディング、強度ステレオコーディングなど）に望ましい代替をもたらす。チャネルグループ（例えば、左／右ペア、フロント左／右ペア、バック左／右ペア、またはその他のグループ）の和および差チャネルをコーディングするのではなく、説明される技法およびツールは、１つまたは複数の結合チャネル（チャネルの和、相関性解除変換を適用した後の主要構成要素、またはその他の結合チャネルであってもよい）を追加パラメータと共にコーディングして、それぞれの物理チャネルのチャネル間相関と出力を記述し、それぞれの物理チャネルのチャネル間相関と出力を保持する物理チャネルを再構築できるようにする。言い換えれば、物理チャネルの二次統計が保持される。そのような処理は、チャネル拡張処理と呼ぶことができる。
【０１０９】
例えば、複素変換を使用することで、それぞれのチャネルのチャネル間相関と出力を維持するチャネルの再構築が可能になる。狭帯域信号近似の場合、二次統計を保持することは、明示的な相関係数情報または位相情報を送信することなく、個々のチャネルの出力および位相を保持する再構築をもたらすのに十分である。
【０１１０】
説明される技法およびツールは、コーディングされたチャネルの修正バージョンとして、コーディングされていないチャネルを表す。コーディングされるチャネルは、実際の物理チャネルまたは（例えば、各サンプルに適用される線形変換を使用する）物理チャネルの変換バージョンであってもよい。例えば、説明される技法およびツールは、１つのコーディングされたチャネルと複数のパラメータを使用して複数の物理チャネルの再構築を可能にする。１つの実施形態において、パラメータは、帯域ベースの２つの物理チャネルとコーディングされたチャネル間の出力（強度またはエネルギーとも呼ばれる）の比率を含む。例えば、左（Ｌ）および右（Ｒ）ステレオチャネルを備える信号をコーディングするために、出力比はＬ／ＭおよびＲ／Ｍであり、ここでＭはコーディングされたチャネル（「和（ｓｕｍ）」または「モノ（ｍｏｎｏ）」チャネル）の出力であり、Ｌは左チャネルの出力、Ｒは右チャネルの出力である。チャネル拡張コーディングはすべての周波数範囲に使用することができるが、これは必須ではない。例えば、低周波数の場合、エンコーダは（例えば、和および差を使用して）チャネル変換の両方のチャネルをコーディングすることができるが、高周波数の場合、エンコーダは和チャネルと複数のパラメータをコーディングすることができる。
【０１１１】
説明される実施形態は、マルチチャネルソースをコーディングするために必要なビットレートを大幅に軽減することができる。チャネルを変更するためのパラメータは、全ビットレートのわずかな部分しか占めないので、結合チャネルのコーディングのためにより多くのビットレートを残す。例えば、２つのチャネルソースについて、パラメータのコーディングが使用可能なビットレートの１０％を占める場合、ビットの９０％は結合チャネルをコーディングするために使用することができる。多くの場合、これは、たとえチャネル間依存の原因となったとしても、両チャネルをコーディングするよりも大幅な節約である。
【０１１２】
チャネルは、前述の２：１の比率以外の、再構築されたチャネル／コーディングされたチャネルの比率で再構築されてもよい。例えば、デコーダは、左右のチャネルおよび中央チャネルを、単一のコーディングされたチャネルから再構築することができる。その他の配置もまた可能である。さらに、パラメータは、様々な方法で定義されてもよい。例えば、パラメータは、帯域ベース以外の単位で定義することもできる。
【０１１３】
Ａ．複素変換およびスケール／形状パラメータ
説明される実施形態において、エンコーダは結合チャネルを形成し、結合チャネルを形成するために使用されたチャネルの再構築のためにデコーダにパラメータを供給する。デコーダは、順複素変換を使用して結合チャネルの（各々実数成分と虚数成分を有する）複素係数を導き出す。次いで、結合チャネルから物理チャネルを再構築するため、デコーダは、エンコーダによって供給されたパラメータを使用して複素係数を基準化する。例えば、デコーダは、エンコーダによって供給されたパラメータからスケール因数を導き出し、それらを使用して複素係数を基準化する。結合チャネルは多くの場合、和チャネル（モノチャネルと呼ばれることもある）であるが、物理チャネルの別の組合せであってもよい。物理チャネルの位相がずれているため、チャネルを合計することで相互に打ち消し合うことになる場合、結合チャネルは、差チャネル（例えば、左右のチャネル間の差）であってもよい。
【０１１４】
例えば、エンコーダは、左右の物理チャネルの和チャネルと複数のパラメータを、１つまたは複数の複素パラメータを含むことができるデコーダに送信する（複素パラメータは、１つまたは複数の複素数から何らかの方法で導き出されるが、エンコーダによって送信された複素パラメータ（例えば、虚数と実数を伴う比率）は、それ自体が複素数ではないことがある）。エンコーダはまた、デコーダがスペクトル係数を基準化するために複素スケール因数を導き出すことができる実数パラメータのみを送信することができる（エンコーダは通常、結合チャネル自体をエンコードするために複素変換を使用することはない。代わりに、エンコーダは、複数のエンコーディング技法のいずれかを使用して、結合チャネルをエンコードすることができる）。
【０１１５】
図９は、エンコーダによって実行される簡易化チャネル拡張コーディング技法９００を示す。９１０において、エンコーダは、１つまたは複数の結合チャネル（例えば、和チャネル）を形成する。次いで、９２０において、エンコーダは、結合チャネルと共にデコーダに送信すべき１つまたは複数のパラメータを導き出す。図１０は、デコーダによって実行される簡易逆チャネル拡張デコーディング技法１０００を示す。１０１０において、デコーダは、１つまたは複数の結合チャネルの１つまたは複数のパラメータを受信する。次いで、１０２０において、デコーダは、パラメータを使用して結合チャネル係数を基準化する。例えば、デコーダは、パラメータから複素スケール因数を導き出し、スケール因数を使用して係数を基準化する。
【０１１６】
エンコーダにおける時間−周波数変換の後、各チャネルのスペクトルは通常サブバンドに分割される。説明される実施形態において、エンコーダは、様々な周波数サブバンドの様々なパラメータを決定することができ、デコーダは、エンコーダによって供給された１つまたは複数のパラメータを使用して再構築されたチャネル内のそれぞれの帯域に対する結合チャネルの帯域のスケール因数を基準化することができる。左右のチャネルが１つのコーディングされたチャネルから再構築されるようなコーディング配置において、左右の各チャネルのサブバンドの各係数は、コーディングされたチャネルのサブバンドの基準化されたバージョンによって表される。
【０１１７】
例えば、図１１は、チャネル再構築中の結合チャネル１１２０の帯域１１１０における係数の基準化を示す。デコーダは、エンコーダによって供給された１つまたは複数のパラメータを使用して、デコーダによって再構築されている左チャネル１２３０および右チャネル１２４０の対応するサブバンドの基準化された係数を導き出す。
【０１１８】
１つの実施形態において、左右の各チャネルの各サブバンドは、スケールパラメータおよび形状パラメータを有する。形状パラメータはエンコーダによって決定され、デコーダに送信されてもよく、または形状パラメータは、コーディングされている場所と同じ場所にスペクトル係数をとることにより仮定されてもよい。エンコーダは、コーディングされたチャネルの１つまたは複数からの基準化されたスペクトルのバージョンを使用して、１つのチャネルのすべての周波数を表す。チャネルのチャネル間二次統計がサブバンドごとに保持されうるように、（実数成分と虚数成分を有する）複素変換が使用される。コーディングされたチャネルは実際のチャネルの線形変換であるため、パラメータはすべてのチャネルに対して送信される必要はない。例えば、Ｐ個のチャネルがＮ個のチャネルを使用してコーディングされる場合（ここでＮ＜Ｐ）、パラメータはすべてのＰ個のチャネルに対して送信される必要はない。スケールおよび形状パラメータの詳細については、以下の第Ｖ節において説明される。
【０１１９】
パラメータは、物理チャネルと結合チャネルとの出力比が変化するのに応じて経時的に変化することがある。したがって、フレーム内の周波数帯域のパラメータは、フレーム単位ベースまたはその他の単位で決定されてもよい。現在のフレーム内の現在の帯域のパラメータは、説明される実施形態におけるその他の周波数帯域および／またはその他のフレームからのパラメータに基づいて差分コーディングされる。
【０１２０】
デコーダは、順複素変換を実行して、結合チャネルの複素スペクトル係数を導き出す。次いで、ビットストリームで送信されたパラメータ（相互相関または正規化相関行列の出力比および虚数対実数比など）を使用して、スペクトル係数を基準化する。複素基準化の出力は、後処理フィルタに送信される。このフィルタの出力は、物理チャネルを再構築するために、基準化されて追加される。
【０１２１】
チャネル拡張コーディングは、すべての周波数帯域またはすべての時間ブロックに対して実行される必要はない。例えば、チャネル拡張コーディングは、帯域ベース、ブロックベース、またはその他の単位でオンまたはオフに適応して切り替えられてもよい。このようにして、エンコーダは、この処理を実行することが効率的、あるいは有益である場合に、実行するよう選択することができる。残りの帯域またはブロックは、相関性を解除することなく、あるいは他の方法を使用して、従来のチャネル相関性解除により処理されてもよい。
【０１２２】
説明される実施形態における達成可能な複素スケール因数は、特定の境界内の値に制限される。例えば、説明される実施形態は、ログ領域でパラメータをエンコードし、値はチャネル間の可能な相互相関の量によって制約される。
【０１２３】
複素変換を使用して結合チャネルから再構築されうるチャネルは、左右のチャネルペアに限定されることはなく、また結合チャネルも左右のチャネルの結合に限定されることはない。例えば、結合チャネルは、２つ、３つ、またはそれ以上の物理チャネルを表すことができる。結合チャネルから再構築されるチャネルは、バック左／バック右、バック左／左、バック右／右、左／中央、右／中央、および左／中央／右などのグループであってもよい。その他のグループもまた可能である。再構築されるチャネルは、すべてが複素変換を使用して再構築されてもよく、あるいは一部のチャネルが複素変換を使用するが、一部は使用せずに再構築されてもよい。
【０１２４】
Ｂ．パラメータの補間
エンコーダは、明示的パラメータを決定すべきアンカーポイントを選択し、アンカーポイント間にパラメータを補間することができる。アンカーポイント間の時間量およびアンカーポイントの数は、コンテンツおよび／またはエンコーダ側の決定に応じて固定であっても、または異なっていてもよい。時間ｔにおいてアンカーポイントが選択された場合、エンコーダは、スペクトル内のすべての周波数帯域にそのアンカーポイントを使用することができる。代替として、エンコーダは、異なる周波数帯域の異なる時間においてアンカーポイントを選択することができる。
【０１２５】
図１２は、実際の出力比と、アンカーポイントにおける出力比から補間された出力比とのグラフィカルな比較である。図１２に示される例において、補間は、出力比の変動を平滑化し（例えば、アンカーポイント１２００および１２０２間、１２０２および１２０４間、１２０４および１２０６間、１２０６および１２０８間）、頻繁に変化する出力比からのアーティファクトの防止に役立つ。エンコーダは、補間をオンまたはオフにすることも、またはパラメータをまったく補間しないこともできる。例えば、エンコーダは、出力比の変化が時間の経過に伴って穏やかである場合にパラメータを補間するか、またはパラメータがフレーム間であまり変化しない（例えば、図１２のアンカーポイント１２０８および１２１０間）場合、あるいはパラメータの変化が急激で補間によりパラメータの不正確な表現をもたらすことになる場合は、補間をオフにするように選択することができる。
【０１２６】
Ｃ．詳細な説明
一般的な線形チャネル変換は、Ｙ＝ＡＸと表記することができるが、ここでＸは、Ｐチャネルからの係数のＬベクトルのセットであり（Ｐ×Ｌ次元行列）、ＡはＰ×Ｐチャネル変換行列であり、ＹはコーディングされるべきＰチャネルからのＬの変換されたベクトルのセットである（Ｐ×Ｌ次元行列）。Ｌ（ベクトル次元）は、線形チャネル変換アルゴリズムが操作する所定のサブフレームの帯域サイズである。エンコーダが、ＹのＰチャネルのサブセットＮをコーディングする場合、これはＺ＝ＢＸと表記することができ、ここでベクトルＺはＮ×Ｌ行列であり、Ｂは、コーディングされるべきＮチャネルに対応する行列ＹのＮ行をとることにより形成されるＮ×Ｐ行列である。Ｎチャネルからの再構築は、ベクトルＺのコーディング後に行列Ｃとのもう１つの行列乗算を伴い、Ｗ＝ＣＱ（Ｚ）を得るが、ここでＱはベクトルＺの量子化を表す。Ｚに代入すると、式Ｗ＝ＣＱ（ＢＸ）が得られる。量子化ノイズが無視できると仮定すれば、Ｗ＝ＣＢＸ。Ｃは、ベクトルＸとＷの間のチャネル間二次統計を保持するために適切に選択されうる。式では、これは、ＷＷ*＝ＣＢＸＸ*Ｂ*Ｃ*＝ＸＸ*と表すことができ、ここでＸＸ*は対称Ｐ×Ｐ行列である。
【０１２７】
ＸＸ*は対称Ｐ×Ｐ行列であるので、行列にはＰ（Ｐ＋１）／２の自由度がある。Ｎ＞＝（Ｐ＋１）／２である場合、式が満たされるようにＰ×Ｎ行列Ｃを考え出すことは可能である。Ｎ＜（Ｐ＋１）／２である場合、これを解くためにさらに多くの情報が必要となる。そのような場合には、複素変換を使用して、制約の一部を満足する他の解法を考え出すことができる。
【０１２８】
例えば、Ｘが複素ベクトルであり、Ｃが複素行列である場合、Ｒｅ（ＣＢＸＸ*Ｂ*Ｃ*）＝Ｒｅ（ＸＸ*）となるようなＣを求めようと試みることができる。この式によれば、適切な複素行列Ｃについて、対称行列ＸＸ*の実数部分は、対称行列の積ＣＢＸＸ*Ｂ*Ｃ*の実数部分と等しい。
【実施例１】
【０１２９】
Ｍ＝２およびＮ＝１である場合、ＢＸＸ*Ｂ*は単に、αと呼ばれる実数スカラー（Ｌ×１）行列である。図１３に示される式について解く。Ｂ0＝Ｂ1＝β（何らかの定数）である場合、図１４における制約は成り立つ。解くことで、｜Ｃ0｜、｜Ｃ1｜および｜Ｃ0‖Ｃ1｜ｃｏｓ（φ0−φ1）について図１５に示される値が得られる。エンコーダは、｜Ｃ0｜および｜Ｃ1｜を送信する。次いで、図１６に示される制約を使用して解くことができる。これらの量は基本的に、出力比Ｌ／ＭおよびＲ／Ｍであることは図１５から明らかである。図１６に示される制約の符号は、ＸＸ*の虚数部分と一致するように位相の符号を制御するために使用されてもよい。それにより、φ0−φ1について解くことができるが、実数値については解くことができない。厳密な値を解くために、図１７に表されるように、各係数のモノチャネルの角度が保持されるというもう１つの仮定が行われる。これを保持するには、｜Ｃ0｜ｓｉｎφ0＋｜Ｃ1｜ｓｉｎφ1＝０であることが十分であり、これは図１８に示されるφ0およびφ1の結果を与える。
【０１３０】
図１６に示される制約を使用して、２つのスケール因数の実数部分および虚数部分を解くことができる。例えば、２つのスケール因数の実数部分は、それぞれ、図１９に示されるように、｜Ｃ0｜ｃｏｓφ0および｜Ｃ1｜ｃｏｓφ1を解くことにより求めることができる。２つのスケール因数の虚数部分は、それぞれ、図２０に示されるように、｜Ｃ0｜ｓｉｎφ0および｜Ｃ1｜ｓｉｎφ1を解くことにより求めることができる。
【０１３１】
したがって、エンコーダが複素スケール因数の絶対値を送信する場合、デコーダは、元の物理チャネルのチャネル間二次指数部を保持する２つの個々のチャネルを再構築することができ、２つの再構築されたチャネルは、コーディングされたチャネルの適正な位相を保持する。
【実施例２】
【０１３２】
実施例１において、チャネル間二次統計の虚数部分は（図２０に示されるように）解かれるが、デコーダにおいては実数部分のみが保持され、これだけが単一のモノソースから再構築される。しかし、チャネル間二次統計の虚数部分もまた、実施例１で説明されているように、（複素基準化に加えて）前の段階からの出力が後処理されて追加の立体音響化効果を達成する場合には、保持することができる。出力は、線形フィルタを通じてフィルタリングされ、基準化されて、前の段階からの出力に追加される。
【０１３３】
前の分析からの現在の信号（それぞれ、２つのチャネルのＷ0およびＷ1）に加えて、デコーダが、図２１に示されるように、使用可能な両チャネルの処理済みバージョン（それぞれＷ0FおよびＷ1F）である効果信号を有するものと仮定する。次いで、変換全体は、図２３に示されるように表すことができるが、これはＷ0F＝Ｃ0Ｚ0FおよびＷ1F＝Ｃ1Ｚ0Fであることを仮定する。図２２に示される再構築の手順に従うことで、デコーダは元の信号の二次統計を保持することができることを示している。デコーダは、Ｗの元のバージョンとフィルタリングされたバージョンの一次結合をとり、Ｘの二次統計を保持する信号Ｓを作成する。
【０１３４】
実施例１において、複素定数Ｃ0およびＣ1は、２つのパラメータ（例えば、左−モノ（Ｌ／Ｍ）および右−モノ（Ｒ／Ｍ）出力比）を送信することにより、チャネル間二次統計の実数部分と一致するように選択することができることが決定された。エンコーダによってもう１つのパラメータが送信される場合、マルチチャネルソースのチャネル間二次統計全体が保持されうる。
【０１３５】
例えば、エンコーダは、２つのチャネル間の相互相関の虚数対実数比を表す追加の複素パラメータを送信して、２つのチャネルソースのチャネル間二次統計全体を保持することができる。図２４において定義されるように、相関行列はＲXXによって与えられるものと仮定するが、ここでＵは複素固有ベクトルの正規直交行列であり、Λは固有値の対角行列である。この因数分解が任意の対称行列について存在しなければならないことに留意されたい。任意の達成可能な出力相関行列について、固有値もまた実数でなければならない。この因数分解により、複素カルフーネン−レーヴ変換（「ＫＬＴ」）を求めることができる。ＫＬＴは、圧縮のための相関解除されたソースを作成するために使用されてきた。ここで、無相関のソースをとり、所望の相関を作成する逆算を行うことにする。Ｕ*ＵΛＵ*Ｕ＝Λであり、対角行列であるので、ベクトルＸのＫＬＴはＵ*によって与えられる。Ｚの出力はαである。したがって、以下のような変換を選択して、
【０１３６】
【数１】
2009524108.tif 000004
【０１３７】
Ｗ0FおよびＷ1FがそれぞれＷ0およびＷ1と同じ出力を有し、Ｗ0およびＷ1に無相関であると仮定する場合、図２３または２２における再構築手順は、最終出力に所望の相関行列を生成する。実際には、エンコーダは、出力比｜Ｃ0｜および｜Ｃ1｜と、虚数対実数比Ｉｍ（Ｘ0Ｘ*1）／αを送信する。デコーダは、（図２５に示されるように）相互相関行列の正規化バージョンを再構築することができる。次いで、デコーダはθを計算し、固有値と固有ベクトルを求め、所望の変換に到達する。
【０１３８】
｜Ｃ0｜と｜Ｃ1｜の間の関係により、これらは独立した値を持つことができない。このため、エンコーダは、これらを合同で、または条件付きで量子化する。このことは、実施例１および実施例２のいずれにもあてはまる。
【０１３９】
図２６に示されるように、出力の幾何平均によって正規化できるような場合に、エンコーダからデコーダに出力行列の正規化バージョンを直接送信することによってなど、その他のパラメータ化もまた可能である。ここで、エンコーダは行列の第１行しか送信できないが、対角の積が１であるため十分である。しかし、ここでデコーダは、図２７に示されるように、固有値を基準化する。
【０１４０】
ＵおよびΛを直接表すために、もう１つのパラメータ化が可能である。Ｕが一連のギブンス回転に因数分解されてもよいことが示されている。各ギブンス回転は、角度によって表すことができる。エンコーダは、ギブンス回転角度と固有値を送信する。
【０１４１】
さらに、両パラメータ化は、追加の任意の事前回転Ｖを組み入れ、ＶＶ*＝Ｉ（Ｉは恒等行列を表す）であるため、引き続き同じ相関行列を生成することができる。つまり、図２８に示される関係は、任意の回転Ｖについて有効である。例えば、図２９に表されるように、デコーダは、各チャネルに進むフィルタリングされた信号の量が同じであるように、事前回転を選択する。デコーダは、図３０における関係が成り立つようにωを選択することができる。
【０１４２】
図３１に示される行列が認識されると、デコーダは、これまでのように再構築を行い、チャネルＷ0およびＷ1を取得することができる。次いで、デコーダは、線形フィルタをＷ0およびＷ1に適用することにより、Ｗ0FおよびＷ1F（効果信号）を取得する。例えば、デコーダは、全通過フィルタを使用し、フィルタのタップのいずれかにおける出力をとって、効果信号を取得することができる（全通過フィルタの使用法の詳細については、非特許文献１を参照されたい）。後処理として追加される信号の強度は、図３１に示される行列において与えられる。
【０１４３】
全通過フィルタは、他の全通過フィルタのカスケードとして表すことができる。ソースを正確にモデル化するために必要となる反響の量に応じて、全通過フィルタのいずれかからの出力が取り込まれてもよい。このパラメータはまた、帯域、サブフレーム、またはソースのいずれかに基づいて送信されてもよい。例えば、全通過フィルタのカスケードにおける第１、第２、または第３段階の出力が取り込まれてもよい。
【０１４４】
フィルタの出力を取り込み、それを基準化して、元の再構築に追加することにより、デコーダは、チャネル間二次統計を保持することができる。分析は効果信号の出力および相関構造について特定の仮定を行うが、そのような仮定は必ずしも実際には完全に満たされるとは限らない。それらの仮定を精緻化するために、さらなる処理とより正確な近似を使用することができる。例えば、フィルタリングされた信号が所望の出力よりも大きい出力を有する場合、図３２に示されるように、フィルタリングされた信号は正しい出力を有するように基準化されてもよい。これにより、出力が大きくなりすぎた場合にも正しく保持されるようになる。出力がしきい値を超えるかどうかを判別する計算が、図３３に示される。
【０１４５】
場合によっては、結合されている２つの物理チャネルの信号の位相がずれていることもあり、そのため、和コーディングが使用される場合には、行列は特異行列となる。そのような場合、行列の最大値ノルムは制限されてもよい。行列の最大基準化を制限するためのこのパラメータ（しきい値）はまた、帯域、サブフレーム、またはソースに基づいてビットストリームで送信されてもよい。
【０１４６】
実施例１におけるように、この例の分析は、Ｂ0＝Ｂ1＝βであることを仮定する。しかし、同じ代数原理を任意の変換に使用して同様の結果を得ることができる。
【０１４７】
Ｖ．その他のコーディング変換によるチャネル拡張コーディング
上記で第ＩＶ節において説明されるチャネル拡張コーディング技法およびツールは、他の技法およびツールと組み合わせて使用されてもよい。例えば、エンコーダは、基本コーディング変換、周波数拡張コーディング変換（例えば、拡張帯域知覚類似性コーディング変換）、およびチャネル拡張コーディング変換を使用することができる（周波数拡張コーディングは、以下の第Ｖ．Ａ．節において説明される）。エンコーダにおいて、これらの変換は、基本コーディングモジュール、基本コーディングモジュールから分離されている周波数拡張コーディングモジュール、および基本コーディングモジュールと周波数拡張コーディングモジュールから分離されているチャネル拡張コーディングモジュールで実行されてもよい。あるいは、同じモジュール内で様々な組合せで様々な変換を実行することができる。
【０１４８】
Ａ．周波数拡張コーディングの概要
この節は、一部のエンコーダおよびデコーダにおいて、より高い周波数スペクトルデータを、スペクトルのベースバンドデータに応じてコーディングするために使用される周波数拡張コーディング技法およびツールの概要を示す（拡張帯域知覚類似性周波数コーディング、またはワイドセンス知覚類似性コーディングと呼ばれることもある）。
【０１４９】
デコーダへの出力ビットストリームにおいて伝送のためのスペクトル係数をコーディングすることは、使用可能なビットレートのかなり大きい部分を消費する可能性がある。したがって、低ビットレートにおいて、エンコーダは、スペクトル係数の帯域幅内のベースバンドをコーディングし、ベースバンドの外側の係数をベースバンド係数の基準化され成形されたバージョンとして表すことによって、少なくした数の係数をコーディングするように選択することができる。
【０１５０】
図３４は、エンコーダにおいて使用することができる一般的なモジュール３４００を示す。示されているモジュール３４００は、スペクトル係数３４１５のセットを受信する。したがって、低ビットレートにおいて、エンコーダは、少ない数の係数、つまり通常はスペクトルの下端にあるスペクトル係数３４１５の帯域幅内のベースバンドをコーディングするように選択することができる。ベースバンドの外側のスペクトル係数は、「拡張帯域」スペクトル係数と呼ばれる。ベースバンドと拡張バンドの分割は、ベースバンド／拡張帯域分割セクション３４２０において実行される。サブバンドの分割もまた、このセクションにおいて実行されてもよい（例えば、拡張帯域サブバンド）。
【０１５１】
再構築されたオーディオの歪み（例えば、こもった音つまり低域通過の音）を防ぐため、拡張帯域スペクトル係数は、成形ノイズ、他の周波数成分の成形バージョン、またはこの２つの組合せとして表される。拡張帯域スペクトル係数は、互いに素であっても重複してもよい（例えば、６４または１２８の係数の）複数のサブバンドに分割することができる。たとえ実際のスペクトルが多少異なっていたとしても、この拡張帯域コーディングは、元の知覚効果と類似する知覚効果をもたらす。
【０１５２】
ベースバンド／拡張帯域分割セクション３４２０は、ベースバンドスペクトル係数３４２５、拡張帯域スペクトル係数、および、例えばベースバンド幅と拡張帯域サブバンドの個々のサイズと数を記述するサイド情報（圧縮することができる）を出力する。
【０１５３】
図３４に示される例において、エンコーダは、コーディングモジュール３４３０において係数およびサイド情報（３４３５）をコーディングする。エンコーダは、ベースバンドおよび拡張帯域スペクトル係数に対して個別のエントロピーコーダを含むことができ、および／または様々なエントロピーコーディング技法を使用して様々なカテゴリの係数をコーディングすることができる。対応するデコーダは通常、補足的なデコーディング技法を使用する（もう１つの可能な実施態様を示すため、図３６ではベースバンドと拡張帯域係数に対して別個のデコーディングモジュールを示す）。
【０１５４】
拡張帯域コーダは、２つのパラメータを使用してサブバンドをエンコードすることができる。１つのパラメータ（スケールパラメータと呼ばれる）は、帯域内の総エネルギーを表すために使用される。もう１つのパラメータ（形状パラメータと呼ばれる）は、帯域内のスペクトルの形状を表すために使用される。
【０１５５】
図３５は、拡張帯域コーダにおける拡張帯域の各サブバンドをエンコードする例示の技法３５００を示す。拡張帯域コーダは、３５１０においてスケールパラメータを計算し、３５２０において形状パラメータを計算する。拡張帯域コーダによってコーディングされた各サブバンドは、スケールパラメータと形状パラメータの積として表すことができる。
【０１５６】
例えば、スケールパラメータは、現在のサブバンド内の係数の二乗平均平方根値であってもよい。これは、すべての係数の平均二乗値の平方根をとることにより求められる。平均二乗値は、サブバンドのすべての係数の二乗値の和をとり、係数の数で除算することにより求められる。
【０１５７】
形状パラメータは、すでにコーディングされているスペクトルの一部（例えば、ベースバンドコーダによりコーディングされたベースバンドスペクトル係数の一部）の正規化バージョンを指定する変位ベクトル、正規化ランダムノイズベクトル、または固定コードブックからのスペクトル形状のベクトルであってもよい。スペクトルの別の部分を指定する変位ベクトルは、通常はスペクトル全体を通じて繰り返す調性信号の高調波があるので、オーディオにおいて有用である。ノイズまたはその他の固定コードブックを使用することで、スペクトルのベースバンド−コーディングされた部分で十分に表されていない成分の低ビットレートのコーディングを容易にすることができる。
【０１５８】
一部のエンコーダにより、ベクトルの変更はスペクトルデータをより詳細に表すことができるようになる。一部の可能な変更は、ベクトルの線形または非線形変換、あるいはベクトルを２つ以上の他の元のベクトルまたは変更済みのベクトルの組合せとして表すことを含む。ベクトルの組合せの場合、変更は、１つのベクトルの１つまたは複数の部分をとり、それを他のベクトルの１つまたは複数の部分と組み合わせることを含む。ベクトル変更を使用する場合、新しいベクトルを形成する方法に関してデコーダに通知するためにビットが送信される。追加のビットにもかかわらず、変更は、実波形コーディングの場合に比べて、スペクトルデータを表すために消費するビットは少なくてすむ。
【０１５９】
拡張帯域コーダは、拡張帯域のサブバンドあたりの別個のスケール因数をコーディングする必要はない。その代わり、拡張帯域コーダは、拡張サブバンドのスケールパラメータをそれらの周波数の関数としてもたらす多項式関数の係数のセットをコーディングすることによってなど、サブバンドのスケールパラメータを周波数の関数として表すことができる。さらに、拡張帯域コーダは、拡張サブバンドの形状を特徴付ける追加の値をコーディングすることができる。例えば、拡張帯域コーダは、運動ベクトルによって示されるベースバンドの部分の移動または引き伸ばしを指定するために値をエンコードすることができる。そのような場合、形状パラメータは、コーディングされたベースバンドからのベクトル、固定コードブック、またはランダムノイズベクトルに関して拡張サブバンドの形状をより詳細に表すために、（例えば、位置、移動、および／または引き伸ばしを指定する）値のセットとしてコーディングされる。
【０１６０】
拡張帯域の各サブバンドをコーディングするスケールおよび形状パラメータはいずれも、ベクトルであってもよい。例えば、拡張サブバンドは、周波数応答特性によるフィルタｓｃａｌｅ（ｆ）と周波数応答特性による励起ｓｈａｐｅ（ｆ）の時間領域においてベクトル積ｓｃａｌｅ（ｆ）・ｓｈａｐｅ（ｆ）として表すことができる。このコーディングは、線形予測コーディング（ＬＰＣ）フィルタと励起の形態であってもよい。ＬＰＣフィルタは、拡張サブバンドのスケールと形状の下位表現であり、励起は拡張サブバンドのピッチおよび／またはノイズ特性を表す。励起は、スペクトルのベースバンドコーディングされた部分を分析すること、およびベースバンドコーディングされたスペクトルの部分、固定コードブックスペクトル、またはコーディングされている励起と一致するランダムノイズを識別することによってもたらされてもよい。これは、拡張サブバンドを、ベースバンドコーディングされたスペクトルの一部として表すが、照合は時間領域において行われる。
【０１６１】
再び図３５を参照すると、３５３０において、拡張帯域コーダは、（例えば、ベースバンドの各部分の正規化バージョンとの最小二乗平均比較を使用して）拡張帯域の現在のサブバンドと類似した形状を持つベースバンドスペクトル係数から、類似の帯域のベースバンドスペクトル係数を検索する。３５３２において、拡張帯域コーダは、ベースバンドスペクトル係数からのこの類似の帯域が、現在の拡張帯域と形状が十分に類似しているかどうかを検査する（例えば、最小二乗平均値があらかじめ選択されているしきい値よりも小さい）。十分に類似している場合、３５３４において、拡張帯域コーダは、ベースバンドスペクトル係数のこの類似の帯域を指し示すベクトルを決定する。ベクトルは、ベースバンドの開始係数位置であってもよい。（調性と無調性を確認するなど）その他の方法も、ベースバンドスペクトル係数の類似の帯域が、現在の拡張帯域に形状が十分に類似しているかを調べるために使用することができる。
【０１６２】
ベースバンドの十分に類似する部分が見出されない場合、拡張帯域コーダは、スペクトル形状の固定コードブックを頼りにして（３５４０）現在のサブバンドを表す。十分に類似する部分が見出された場合（３５４２）、３５４４において、拡張帯域コーダは、コードブックのその索引を形状パラメータとして使用する。それ以外の場合は、３５５０において、拡張帯域コーダは、現在のサブバンドの形状を、正規化ランダムノイズベクトルとして表す。
【０１６３】
代替として、拡張帯域コーダは、他の決定プロセスによりスペクトル係数がどのように表現されうるかを決定することができる。
【０１６４】
拡張帯域コーダは、スケールおよび形状パラメータを（例えば予測コーディング、量子化および／またはエントロピーコーディングを使用して）圧縮することができる。例えば、スケールパラメータは、先行の拡張サブバンドに基づいて予測的にコーディングされてもよい。マルチチャネルオーディオの場合、サブバンドのスケールパラメータは、チャネルの先行するサブバンドから予測することができる。スケールパラメータはまた、数ある変形の中でも特に、２つ以上の他のサブバンドから、ベースバンドスペクトルから、または前のオーディオ入力ブロックから、チャネルにわたって予測することができる。予測の選択は、（例えば、同じ拡張帯域、チャネル、またはタイル（入力ブロック）内の）前のいずれの帯域がより高い相関をもたらすかを調べることにより行われてもよい。拡張帯域コーダは、均一または不均一量子化を使用してスケールパラメータを量子化することができ、結果として得られる量子化値はエントロピーコーディングされたものであってもよい。拡張帯域コーダはまた、形状パラメータに対して、（例えば、先行のサブバンドからの）予測コーディング、量子化、およびエントロピーコーディングを使用することもできる。
【０１６５】
サブバンドのサイズが所定の実施態様について可変である場合、これはサブバンドのサイズを変更してコーディングの効率を高める機会をもたらす。多くの場合、類似した特性を持つサブバンドは、品質にほとんど影響を及ぼすことなく組み合わせることができる。極めて可変なデータを持つサブバンドは、サブバンドが分割される場合には、より詳細に表すことができる。しかし、より小さいサブバンドは、大きいサブバンドの場合に比べて、同じスペクトルデータを表すためにより多くのサブバンド（さらに通常は、より多くのビット）を必要とする。これらの利害関係のバランスをとるため、エンコーダは、品質測定およびビットレート情報に基づいてサブバンドの決定を行うことができる。
【０１６６】
デコーダは、ベースバンド／拡張帯域分割によりビットストリームを逆多重化し、対応するデコーディング技法を使用して（例えば、ベースバンドデコーダおよび拡張帯域デコーダで）帯域をデコーディングする。デコーダはまた、追加の機能を実行することができる。
【０１６７】
図３６は、ベースバンドデータと拡張帯域データのための周波数拡張コーディングを使用するエンコーダおよび別個のエンコーディングモジュールによって生成されたビットストリームをデコードするためのオーディオデコーダ３６００の態様を示す。図３６において、エンコードされたビットストリーム３６０５内のベースバンドデータと拡張帯域データは、それぞれベースバンドデコーダ３６４０および拡張帯域デコーダ３６４０においてデコードされる。ベースバンドデコーダ３６４０は、ベースバンドコーデックの通常のデコーディングを使用して、ベースバンドスペクトル係数をデコードする。拡張帯域デコーダＦＦ５０は、形状パラメータの運動ベクトルによって指し示されたベースバンドスペクトル係数の部分にわたりコピーすること、およびスケールパラメータのスケーリング因数により基準化することによって含む、拡張帯域データをデコードする。ベースバンドおよび拡張帯域スペクトル係数は単一のスペクトルに結合され、それが逆変換３６８０によって変換されてオーディオ信号を再構築する。
【０１６８】
第ＩＶ節では、１つまたは複数のコーディングされたチャネルからのスペクトルの基準化バージョンを使用して、コーディングされていないチャネルのすべての周波数を表す技法について説明した。周波数拡張コーディングは、拡張帯域係数はベースバンド係数の基準化バージョンを使用して表されるという点において異なる。しかし、それらの技法は、結合チャネルに周波数拡張コーディングを実行すること、および以下に説明するようなその他の方法などによって、併用することもできる。
【０１６９】
Ｂ．その他のコーディング変換によるチャネル拡張コーディングの例
図３７は、時間−周波数（Ｔ／Ｆ）基本変換３７１０、Ｔ／Ｆ周波数拡張変換３７２０、およびＴ／Ｆチャネル拡張変換３７３０を使用してマルチチャネルソースオーディオ３７０５を処理する例示のエンコーダ３７００の態様を示す図である（その他のエンコーダは、異なる組合せ、または図示されているものに加えて他の変換を使用してもよい）。
【０１７０】
Ｔ／Ｆ変換は、３つの変換の各々について異なっていてもよい。
【０１７１】
基本変換の場合、マルチチャネル変換器３７１２の後、コーディング３７１５は、スペクトル係数のコーディングを備える。チャネル拡張コーディングも使用される場合、マルチチャネル変換コーディングされたチャネルの少なくとも一部の少なくとも一部の周波数範囲は、コーディングされる必要はない。周波数拡張コーディングも使用される場合、少なくとも一部の周波数範囲はコーディングされる必要はない。周波数拡張変換の場合、コーディング３７１５は、サブフレーム内の帯域のスケールおよび形状パラメータのコーディングを備える。チャネル拡張コーディングも使用される場合、これらのパラメータは、チャネルの一部の一部の周波数範囲について送信される必要がないこともある。チャネル拡張変換の場合、コーディング３７１５は、サブフレーム内の帯域のチャネル間相関を正確に保持するためのパラメータ（例えば、出力比および複素パラメータ）のコーディングを備える。簡単にするため、コーディングは、単一のコーディングモジュール３７１５において形成されるものとして示される。しかし、様々なコーディングモジュールにおいて、様々なコーディングタスクが実行されてもよい。
【０１７２】
図３８、図３９、図４０は、例示のエンコーダ３７００によって生成されたビットストリーム３７９５などのビットストリームをデコードするデコーダ３８００、３９００、および４０００の態様を示す図である。デコーダ３８００、３９００、および４０００において、一部のデコーダに存在する一部のモジュール（例えば、エントロピーデコーディング、逆量子化／加重、追加後処理）は、簡単にするために示されていない。さらに、示されているモジュールは、場合によっては、様々な方法で再配置されるか、結合されるか、または分割されることもある。例えば、単一のパスが示されているが、処理パスは、２つ以上の処理パスに概念的に分割されてもよい。
【０１７３】
デコーダ３８００において、基本スペクトル係数は、逆基本マルチチャネル変換３８１０、逆基本Ｔ／Ｆ変換３８２０、順Ｔ／Ｆ周波数拡張変換３８３０、周波数拡張処理３８４０、逆周波数拡張Ｔ／Ｆ変換３８５０、順Ｔ／Ｆチャネル拡張変換３８６０、チャネル拡張処理３８７０、および逆チャネル拡張Ｔ／Ｆ変換３８８０により処理されて、再構築されたオーディオ３８９５を生成する。
【０１７４】
しかし、実際上は、このデコーダは、望ましくないことに複雑なものである場合もある。さらに、チャネル拡張変換は複雑であるが、他の２つの変換は複雑ではない。したがって、他のデコーダは、次の方法で調整されてもよい。周波数拡張コーディングのＴ／Ｆ変換は、（１）基本Ｔ／Ｆ変換、または（２）チャネル拡張Ｔ／Ｆ変換の実数部分に限定することができる。
【０１７５】
これにより、図３９および図４０に示されるような構成が可能になる。
【０１７６】
図３９において、デコーダ３９００は、周波数拡張処理３９１０、逆マルチチャネル変換３９２０、逆基本Ｔ／Ｆ変換３９３０、順チャネル拡張変換３９４０、チャネル拡張処理３９５０、および逆チャネル拡張Ｔ／Ｆ変換３９６０により基本スペクトル係数を処理して、再構築されたオーディオ３９９５を生成する。
【０１７７】
図４０において、デコーダ４０００は、逆マルチチャネル変換４０１０、逆基本Ｔ／Ｆ変換４０２０、順チャネル拡張変換の実数部分４０３０、周波数拡張処理４０４０、順チャネル拡張変換の虚数部分の導出４０５０、チャネル拡張処理４０６０、および逆チャネル拡張Ｔ／Ｆ変換４０７０により基本スペクトル係数を処理して、再構築されたオーディオ４０９５を生成する。
【０１７８】
これらの構成のいずれが使用されてもよく、デコーダはどの構成が使用されるかを動的に変更することができる。１つの実施態様において、基本および周波数拡張コーディングに使用される変換は、ＭＬＴ（ＭＣＬＴ（変調複素重複変換）の実数部分である）であり、チャネル拡張変換に使用される変換はＭＣＬＴである。しかし、この２つは異なるサブフレームサイズを備える。
【０１７９】
サブフレーム内の各ＭＣＬＴ係数は、そのサブフレームにわたる基底関数を有する。各サブフレームは隣接する２つのサブフレームと重複するだけなので、所定のサブフレームの正確なＭＣＬＴ係数を求めるため必要となるのは、現在のサブフレーム、前のサブフレーム、および次のサブフレームからのＭＬＴ係数のみである。
【０１８０】
変換は同じサイズの変換ブロックを使用することができるか、または変換ブロックは異なる種類の変換に対して異なるサイズであってもよい。周波数拡張コーディング変換がより小さい時間ウィンドウブロックで動作することにより品質を向上させることができる場合のように、基本コーディング変換および周波数拡張コーディング変換において様々なサイズの変換ブロックが望ましいこともある。しかし、基本コーディング、周波数拡張コーディング、およびチャネルコーディングにおいて変換サイズを変更すると、エンコーダおよびデコーダに重大な複雑性をもたらすことになる。したがって、少なくとも一部の変換タイプの間で変換サイズを共有することが望ましいと考えられる。
【０１８１】
一例として、基本コーディング変換および周波数拡張コーディング変換が同じ変換ブロックサイズを共有する場合、チャネル拡張コーディング変換は、基本コーディング／周波数拡張コーディング変換のブロックサイズとは関係なく変換ブロックサイズを有することができる。この例において、デコーダは、逆基本コーディング変換が後に続く周波数再構築を備えることができる。次いで、デコーダは、順方向複素変換を実行して、コーディングされた結合チャネルを基準化するスペクトル係数を導き出す。複素チャネルコーディング変換は、他の２つの変換とは無関係に、その独自の変換ブロックサイズを使用する。デコーダは、導き出されたスペクトル係数を使用してコーディングされた結合チャネル（例えば、和チャネル）から周波数領域で物理チャネルを再構築し、逆複素変換を実行して再構築された物理チャネルから時間領域サンプルを取得する。
【０１８２】
もう１つの例として、基本コーディング変換および周波数拡張コーディング変換が異なる変換ブロックサイズを有する場合、チャネルコーディング変換は、周波数拡張コーディング変換のブロックサイズと同じ変換ブロックサイズを有することができる。この例において、デコーダは、周波数再構築が後に続く逆基本コーディング変換を備えることができる。デコーダは、周波数再構築に使用されたものと同じ変換ブロックサイズを使用して、逆チャネル変換を実行する。次いで、デコーダは、複素成分の順変換を実行して、スペクトル係数を導き出す。
【０１８３】
順変換において、デコーダは、実数部分からチャネル拡張変換係数のＭＣＬＴ係数の虚数部分を計算することができる。例えば、デコーダは、前のブロックからの一部の帯域（例えば、３つの帯域またはそれ以上）から、現在のブロックからの一部の帯域（例えば、２つの帯域）から、および次のブロックからの一部の帯域（例えば、３つの帯域またはそれ以上）から実数部分を調べることにより、現在のブロックの虚数部分を計算することができる。
【０１８４】
虚数部分への実数部分のマッピングは、逆変調ＤＣＴ基底ベクトルと順変調離散サイン変調（ＤＳＴ）基底ベクトル間の内積をとることを伴う。所定のサブフレームの虚数部分を計算することは、サブフレーム内のすべてのＤＳＴ係数を求めることを伴う。これは、前のサブフレーム、現在のサブフレーム、および次のサブフレームからのＤＣＴ基底ベクトルについてのみ、非ゼロとなりうる。さらに、求めようと試みているＤＳＴ係数とほぼ類似する周波数のＤＣＴ基底ベクトルのみが、重大なエネルギーを有する。前、現在、および次のサブフレームのサブフレームサイズがすべて同じである場合、エネルギーはＤＳＴ係数を求めようとしている周波数とは異なる周波数に対して大幅に減少する。したがって、ＤＣＴ係数を所与として所定のサブフレームのＤＳＴ係数を求めるために、複雑性の低い解決策を見出すことができる。
【０１８５】
具体的に、Ｘｓ＝Ａ＊Ｘｃ（−１）＋Ｂ＊Ｘｃ（０）＋Ｃ＊Ｘｃ（１）を計算することができるが、ここでＸｃ（−１）、Ｘｃ（０）、Ｘｃ（１）は前、現在、および次のブロックからのＤＣＴ係数を表し、Ｘｓは現在のブロックのＤＳＴ係数を表す。
１）様々なウィンドウ形状／サイズに対してＡ、Ｂ、Ｃ行列を事前計算する。
２）Ａ、Ｂ、およびＣ行列をしきい値処理し、ピーク値よりも大幅に小さい値は０まで下げられ、疎行列まで縮小される。
３）非ゼロの行列要素のみを使用して、行列乗算を計算する。
【０１８６】
複素フィルタバンクが必要とされるアプリケーションにおいて、これは、虚数部分を直接に計算することなく、実数部分から虚数を、あるいはその逆を導き出す迅速な方法である。
【０１８７】
デコーダは、導き出されたスケール因数を使用してコーディングされた結合チャネル（例えば、和チャネル）から周波数領域で物理チャネルを再構築し、逆複素変換を実行して再構築された物理チャネルから時間領域サンプルを取得する。
【０１８８】
この手法により、逆ＤＣＴおよび順ＤＳＴを伴う強引な手法に比べて、複雑さが大幅に軽減される。
【０１８９】
Ｃ．周波数／チャネルコーディングにおける計算の複雑性の軽減
周波数／チャネルコーディングは、基本コーディング変換、周波数コーディング変換、およびチャネルコーディング変換により行うことができる。ブロックまたはフレームベースで相互に変換を切り替えることは、知覚品質を向上させることができるが、計算上は高価である。一部のシナリオ（例えば、低処理能力の装置など）においては、そのような高い複雑性は許容されない場合もある。複雑性を軽減するための１つの解決策は、エンコーダに、周波数およびチャネルのコーディングに常に基本コーディング変換を強制的に選択させることである。しかし、この手法は、出力の制約がない再生装置についても、品質に制約を設けることになる。もう１つの解決策は、エンコーダに変換の制約なしで実行させ、低複雑性が要求される場合、デコーダに、周波数／チャネルコーディングパラメータを基本コーディング変換領域にマッピングさせることである。マッピングが適切な方法で行われた場合、第２の解決策は、適度な複雑性で、高出力装置向けの良好な品質と、低出力装置向けの良好な品質を達成することができる。他の領域から基本変換領域へのパラメータのマッピングは、ビットストリームからの他の情報を使用せずに実行されるか、またはマッピングパフォーマンスを高めるためにエンコーダによってビットストリームに加えられた追加情報を使用して実行されてもよい。
【０１９０】
Ｄ．様々なウィンドウサイズ間の移行における周波数コーディングのエネルギートラッキングの向上
第Ｖ．Ｂ節において示されているように、周波数コーディングエンコーダは、基本コーディング変換、周波数コーディング変換（例えば、拡張帯域知覚類似性コーディング変換）、およびチャネルコーディング変換を使用することができる。しかし、周波数エンコーディングが、２つの異なる変換を切り替える場合、周波数エンコーディングの開始点には、特別な注意が必要とされることがある。これは、基本変換などの変換の１つにおける信号が通常、最後にコーディングされた係数によって定義された明瞭な通過帯域で、帯域通過されるためである。しかし、異なる変換にマップされる場合、そのような明瞭な境界はあいまいなものになる可能性がある。１つの実施態様において、周波数エンコーダは、開始点を慎重に定義することにより、信号出力がまったく失われていないことを確認する。具体的には、以下のことを行う。
【０１９１】
１）各帯域に対して、周波数エンコーダは、前に（基本コーディングなどによって）圧縮された信号のエネルギーを計算する−Ｅ１
２）各帯域に対して、周波数エンコーダは、元の信号のエネルギーを計算する−Ｅ２
３）Ｔを事前定義されたしきい値として、（Ｅ２−Ｅ１）＞Ｔである場合、周波数エンコーダはこの帯域に開始点としてマークを付ける。
４）周波数エンコーダは、ここでオペレーションを開始し、
５）周波数エンコーダは、開始点をデコーダに伝送する。
【０１９２】
このようにして、異なる変換を切り替えるとき、周波数エンコーダはエネルギー差を検出し、それに応じて開始点を伝送する。
【０１９３】
ＶＩ．周波数拡張コーディングの形状およびスケールパラメータ
Ａ．変調ＤＣＴコーディングを使用するエンコーダの変位ベクトル
上記の第Ｖ節において説明されているように、拡張帯域知覚類似性周波数コーディングは、時間ウィンドウ内の周波数帯域の形状パラメータおよびスケールパラメータを決定することを伴う。形状パラメータは、拡張帯域（通常は、ベースバンドよりも高い帯域）のコーディング係数の基準としての役割を果たすベースバンド（通常は低帯域）の部分を指定する。例えば、ベースバンドの指定された部分の係数は、基準化されてから、拡張帯域に適用されてもよい。
【０１９４】
変位ベクトルｄは、図４１において示されるように、時間ｔにおいてチャネルの信号を変調するために使用することができる。図４１は、それぞれ時間ｔ0およびｔ1における、２つのオーディオブロック４１００および４１１０の変位ベクトルの表現を示す。図４１に示される例は周波数拡張コーディングの概念を伴うが、この原理は、周波数拡張コーディングに関連しないその他の変調方式に適用することができる。
【０１９５】
図４１に示されている例において、オーディオブロック４１００および４１１０は、範囲０からＮ−１にＮ個のサブバンドを備え、各ブロックのサブバンドは低周波数ベースバンドと高周波数拡張帯に分割されている。オーディオブロック４１００の場合、変位ベクトルｄ0は、サブバンドｍ0とｎ0の間の変位として示されている。同様にオーディオブロック４１１０の場合、変位ベクトルｄ1は、サブバンドｍ1とｎ1の間の変位として示されている。
【０１９６】
変位ベクトルは拡張帯域係数の形状を正確に記述することを意図されているので、変位ベクトルに最大の柔軟性を許容することが望ましいと考えられることもある。しかし、状況によっては、変位ベクトルの値を制限することで、知覚品質の向上をもたらす。例えば、エンコーダは、サブバンドが各々常時偶数または奇数になるようにサブバンドｍおよびｎを選択して、変位ベクトルｄによってカバーされるサブバンドの数を常に偶数にすることができる。変調離散コサイン変換（ＤＣＴ）を使用するエンコーダにおいて、変位ベクトルｄによってカバーされるサブバンドの数が偶数である場合、より良好な再構築が可能である。
【０１９７】
拡張帯域知覚類似性周波数コーディングが、変調ＤＣＴを使用して実行される場合、ベースバンドからの余弦波は、拡張帯域の変調余弦波を生成するように変調される。変位ベクトルｄによってカバーされるサブバンドの数が偶数である場合、変調は正確な再構築に至る。しかし、変位ベクトルｄによってカバーされるサブバンドの数が奇数である場合、変調は、再構築されたオーディオの歪みをまねく。したがって、偶数のサブバンドのみをカバーする（およびｄの柔軟性の一部を犠牲にする）ように変位ベクトルを制限することにより、変調信号の歪みを防いでより良好な全般的音質を達成することができる。したがって、図４１に示される例において、オーディオブロック４１００および４１１０の変位ベクトルは各々偶数のサブバンドをカバーする。
【０１９８】
Ｂ．スケールパラメータのアンカーポイント
周波数コーディングが、基本コーダよりも小さいウィンドウを有する場合、ビットレートは増大する傾向がある。ウィンドウは小さいが、不快なアーティファクトを防ぐために周波数解像度をかなり高いレベルに維持することが依然として重要であるからである。
【０１９９】
図４２は、様々なサイズのオーディオブロックの簡略化した配置を示す。時間ウィンドウ４２１０は、時間ウィンドウ４２１２〜４２２２よりも長い継続時間を有するが、各時間ウィンドウは同数の周波数帯域を有している。
【０２００】
図４２のチェックマークは、各周波数帯域のアンカーポイントを示す。図４２に示されるように、アンカーポイント間で時間距離が異なる可能性があるように、アンカーポイントの数は帯域間で異なる可能性がある（簡単にするため、図４２において、すべてのウィンドウ、帯域、またはアンカーポイントは示されていない）。これらのアンカーポイントにおいて、スケールパラメータが決定される。次いで、他の時間ウィンドウ内の同じ帯域のスケールパラメータは、アンカーポイントにおいてパラメータから補間されてもよい。
【０２０１】
代替として、アンカーポイントは、別の方法で決定することもできる。
【０２０２】
説明されている実施形態を参照して、本発明の原理を説明し示してきたが、説明されている実施形態は、そのような原理を逸脱することなく配置および詳細に変更を加えることができることが理解されよう。特に明記されていない限り、本明細書において説明されるプログラム、プロセス、または方法は、特定のタイプのコンピュータ環境に関連しない、あるいは限定されないことを理解されたい。様々なタイプの汎用または特殊用途のコンピューティング環境が、本明細書において説明される教示に従って使用されるか、またはオペレーションを実行してもよい。ソフトウェアにおいて示される説明されている実施形態の要素は、ハードウェアにおいても実施することができ、またその逆も可能である。
【０２０３】
本発明の原理が適用されうる多くの可能な実施形態に照らして、添付の特許請求の範囲およびその等価物の範囲および精神に含まれうるすべてのそのような実施形態を本発明として主張する。
【図面の簡単な説明】
【０２０４】
【図１】説明されている様々な実施形態が共に実施されうる一般的なオペレーティング環境を示すブロック図である。
【図２】説明されている様々な実施形態が共に実施されうる一般的なエンコーダおよび／またはデコーダを示すブロック図である。
【図３】説明されている様々な実施形態が共に実施されうる一般的なエンコーダおよび／またはデコーダを示すブロック図である。
【図４】説明されている様々な実施形態が共に実施されうる一般的なエンコーダおよび／またはデコーダを示すブロック図である。
【図５】説明されている様々な実施形態が共に実施されうる一般的なエンコーダおよび／またはデコーダを示すブロック図である。
【図６】例示のタイル構成を示す図である。
【図７】マルチチャネル前処理の一般的な技法を示す流れ図である。
【図８】マルチチャネル後処理の一般的な技法を示す流れ図である。
【図９】チャネル拡張エンコーディングにおいて結合チャネルの複素スケール因数を導き出す技法を示す流れ図である。
【図１０】チャネル拡張デコーディングにおいて複素スケール因数を使用する技法を示す流れ図である。
【図１１】チャネル再構築における結合チャネル係数の基準化を示す図である。
【図１２】実際の出力比と、アンカーポイントにおいて出力比から補間された出力比とのグラフィカルな比較を示す図である。
【図１３】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図１４】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図１５】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図１６】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図１７】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図１８】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図１９】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２０】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２１】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２２】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２３】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２４】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２５】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２６】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２７】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２８】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図２９】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図３０】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図３１】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図３２】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図３３】一部の実施形態におけるチャネル拡張処理の詳細を示す式および関連する行列の配列である。
【図３４】周波数拡張コーディングを実行するエンコーダの態様を示すブロック図である。
【図３５】拡張帯域サブバンドをエンコードする例示の技法を示す流れ図である。
【図３６】周波数拡張デコーディングを実行するデコーダの態様を示すブロック図である。
【図３７】チャネル拡張コーディングおよび周波数拡張コーディングを実行するエンコーダの態様を示すブロック図である。
【図３８】チャネル拡張デコーディングおよび周波数拡張デコーディングを実行するデコーダの態様を示すブロック図である。
【図３９】チャネル拡張デコーディングおよび周波数拡張デコーディングを実行するデコーダの態様を示すブロック図である。
【図４０】チャネル拡張デコーディングおよび周波数拡張デコーディングを実行するデコーダの態様を示すブロック図である。
【図４１】２つのオーディオブロックの変位ベクトルの表現を示す図である。
【図４２】スケールパラメータの補間のためのアンカーポイントを有するオーディオブロックの配置を示す図である。
【図１】
2009524108.tif 000005
【図２】
2009524108.tif 000006
【図３】
2009524108.tif 000007
【図４】
2009524108.tif 000008
【図５】
2009524108.tif 000009
【図６】
2009524108.tif 000010
【図７】
2009524108.tif 000011
【図８】
2009524108.tif 000012
【図９】
2009524108.tif 000013
【図１０】
2009524108.tif 000014
【図１１】
2009524108.tif 000015
【図１２】
2009524108.tif 000016
【図１３】
2009524108.tif 000017
【図１４】
2009524108.tif 000018
【図１５】
2009524108.tif 000019
【図１６】
2009524108.tif 000020
【図１７】
2009524108.tif 000021
【図１８】
2009524108.tif 000022
【図１９】
2009524108.tif 000023
【図２０】
2009524108.tif 000024
【図２１】
2009524108.tif 000025
【図２２】
2009524108.tif 000026
【図２３】
2009524108.tif 000027
【図２４】
2009524108.tif 000028
【図２５】
2009524108.tif 000029
【図２６】
2009524108.tif 000030
【図２７】
2009524108.tif 000031
【図２８】
2009524108.tif 000032
【図２９】
2009524108.tif 000033
【図３０】
2009524108.tif 000034
【図３１】
2009524108.tif 000035
【図３２】
2009524108.tif 000036
【図３３】
2009524108.tif 000037
【図３４】
2009524108.tif 000038
【図３５】
2009524108.tif 000039
【図３６】
2009524108.tif 000040
【図３７】
2009524108.tif 000041
【図３８】
2009524108.tif 000042
【図３９】
2009524108.tif 000043
【図４０】
2009524108.tif 000044
【図４１】
2009524108.tif 000045
【図４２】
2009524108.tif 000046
【国際調査報告】
2009524108.tif 000047
2009524108.tif 000048