(58)【調査した分野】(Int.Cl.,DB名)
ステレオの下位シグナルは、2つのチャンネルを合計および減算し、その結果を異なる平均レートで動作する2つの単一チャンネルコーダーでコーディングすることで量子化されることを含む、請求項1に記載の方法。
前記多重チャンネルオーディオシグナルを前記複数の下位シグナルに再編成することが、複数のシグナル再編成の候補から前記下位シグナルのエントロピー率の合計が最小になるシグナル再編成を選択することを含む、請求項1に記載の方法。
知覚を考慮に入れるように行われる前記多重チャンネルオーディオシグナルを変更することが、前記シグナルの各セグメントにある各チャンネルの自己回帰モデルに基づくことを含む、請求項23に記載の方法。
【発明の概要】
【課題を解決するための手段】
【0004】
この発明の概要では、本開示のいくつかの側面を基本的に理解するため、重要な概念をいくつか選んで簡単な形式で紹介する。この発明の概要は本開示の完全な要約ではなく、また、本開示の鍵となる重要な要素を特定したり、本開示の適用範囲を描写したりすることを意図するものではない。この発明の概要は、後述の「発明を実施するための形態」への前置きとして、本開示の概念のいくつかを示すだけである。
【0005】
本開示の1つの実施態様は、多重チャンネルオーディオシグナルを圧縮する方法に関するものであり、1) 多重チャンネルオーディオシグナルを複数の下位シグナルに再編成する、2) ビットレートを各下位シグナルに割り当てる、3) 複数の下位シグナルを少なくとも1つのオーディオコーデックを用いて、割り当てられたビットレートで量子化する、そして、4) 多重チャンネルオーディオシグナルの再編成と各下位シグナルへのビットレートの割り当てがある基準に従って最適化されるように、量子化した下位シグナルを多重チャンネルオーディオシグナルの再編成に従って結合する、という要素から構成される。
【0006】
もう1つの実施態様では、多重チャンネルオーディオシグナルを圧縮する方法はさらに、近似計算でレート投与ひずみが最小限になる下位シグナル集合を選択することが含まれる。
【0007】
もう1つの実施態様では、多重チャンネルオーディオシグナルを圧縮する方法はさらに、近似計算でひずみ投与レートが最小限になる下位シグナル集合を選択することが含まれる。
【0008】
もう1つの実施態様では、多重チャンネルオーディオシグナルを圧縮する方法はさらに、前処理と後処理を行うことで知覚を考慮に入れることが含まれる。
【0009】
多重チャンネルオーディオシグナルを圧縮する方法のもう1つの実施態様では、多重チャンネルオーディオシグナルを複数の下位シグナルに再編成する手順で、複数のシグナル再編成の候補から、下位シグナルのエントロピー率の合計が最小になるシグナル再編成を選択することが含まれる。
【0010】
多重チャンネルオーディオシグナルを圧縮する方法のもう1つの実施態様では、多重チャンネルオーディオシグナルを複数の下位シグナルに再編成する手順で、下位シグナルのエントロピー率の合計が最小になるチャンネルマッチングを見つけることが含まれる。
【0011】
本開示のもう1つの実施態様は、ある方法に関するもので、1) 知覚を考慮に入れるように多重チャンネルオーディオシグナルを変更する、そして、多重チャンネルオーディオシグナルの各セグメントに対して、2) 変更したシグナルの少なくとも1つのスペクトル密度を推定する、3) 下位シグナルの候補のエントロピー率を計算する、4) シグナル再編成の候補に最適なビットレート割り当てを決定する、5) 最適なビットレート割り当てごとに対応するひずみ測度を取得する、そして、6) 平均ひずみが最も低くなるシグナル再編成の候補を選択する、という要素から構成される。
【0012】
もう1つの実施態様では、この方法はさらに、1) 選択したシグナル再編成に従って多重チャンネルオーディオシグナルを再編成する、そして、2) 再編成したシグナルの平均ビットレート割り当てを生成する、という要素が含まれる。
【0013】
もう1つの実施態様では、この方法はさらに、再編成したシグナルを少なくとも1つのオーディオコーデックを用いて、平均ビットレートで量子化することが含まれる。
【0014】
本開示のもう1つの実施態様は、ある方法に関するもので、1) 知覚を考慮に入れるように多重チャンネルオーディオシグナルを変更する、そして、多重チャンネルオーディオシグナルの各セグメントに対して、2) 変更したシグナルの少なくとも1つのスペクトル密度を推定する、3) 下位シグナルの候補のエントロピー率を計算する、4) 複数のシグナル再編成の候補から、下位シグナルの候補のエントロピー率の合計が最小になるシグナル再編成を選択する、5) ビットレートの割り当てがある基準に従って最適化されるように、選択したシグナル再編成にビットレートを割り当てる、という要素から構成される。
【0015】
この方法のもう1つの実施態様では、シグナル再編成を選択する手順で、下位シグナルの候補のエントロピー率の合計が最小になるチャンネルマッチングを見つけることが含まれる。
【0016】
本開示のもう1つの実施態様は、多重チャンネルオーディオシグナルを圧縮する方法に関するもので、その方法は、1) 多重チャンネルオーディオシグナルをオーバーラップするセグメントに分割する、2) 知覚を考慮に入れるように多重チャンネルオーディオシグナルを変更する、3) 変更したシグナルのチャンネルからスペクトル密度を抽出する、4) 下位シグナルの候補のエントロピー率を計算する、5) オーディオ部分のエントロピー率の平均を求める、6) 複数のシグナル再編成の候補から、オーディオ部分のシグナル再編成を選択する、7) ビットレートの割り当てがある基準に従って最適化されるように、選択したシグナル再編成にビットレートを割り当てる、という要素から構成される。
【0017】
もう1つの実施態様では、多重チャンネルオーディオシグナルを圧縮する方法はさらに、1) シグナルの各セグメントにある各チャンネルに、そのチャンネルの自己回帰モデルと少なくとも1つのパラメータを用いてフィルターをかける、そして、2) 各セグメントのすべてのチャンネルを、それぞれのセグメントの総合力に対して正規化する、という要素が含まれる。
【0018】
1つまたは複数のその他の実施態様では、ここで示す方法に、1) ひずみは二乗誤差基準である、2) ひずみは加重二乗誤差基準である、3) レートはその集合の各下位シグナルの平均レートの合計である、4) 各下位シグナルは従来のコーダーを用いて量子化される、5) ステレオの下位シグナルは2つのチャンネルを合計および減算し、その結果を、異なる平均レートで動作する2つの単一チャンネルコーダーでコーディングすることで量子化される、6) 近似計算の個々の下位シグナルのレート-ひずみ関係はガウス想定に基づく、7) ブロッサムアルゴリズムを用いて、エントロピー率の合計が最小になるチャンネルマッチングを見つける、8) 知覚を考慮に入れるように行われる多重チャンネルオーディオシグナルの変更は、そのシグナルの各セグメントにある各チャンネルの自己回帰モデルに基づく、9) 自己回帰モデルはレヴィンソン-ダービン再帰法を用いて得られる、および/または、10) 少なくとも1つのオーディオコーデックがステレオシグナル用に設定されている、という1つまたは複数の追加の機能が含まれる。
【0019】
本開示のさらなる適用範囲については、以下の「発明を実施するための形態」で明らかにする。しかし、「発明を実施するための形態」と具体例は好適な実施態様を示しているが、例示の方法としてのみ提供されることは理解しておく必要がある。なぜなら、本開示の意図と適用範囲内での様々な変更と修正は、当業者には「発明を実施するための形態」から明白なことであるためである。
【0020】
本開示の上記および他のオブジェクト、特徴、そして特性は、この仕様の一部を形成する、すべての添付した特許請求の範囲および図と併せて、以下の「発明を実施するための形態」の研究からより明白になるであろう。以下に各図について説明する。
【発明を実施するための形態】
【0022】
ここに示す見出しは便宜上のみであり、必ずしも、本開示で請求されているものの適用範囲や意味に影響するものではない。
【0023】
理解を容易にするため、あるいは、便宜上、図中の同じ参照番号や頭字語は、構造や機能が同じか似ている要素または動作を示す。これらの図については、以下の「発明を実施するための形態」で詳細に説明する。
【0024】
ここでは、様々な例と実施態様について説明する。以下の説明は、これらの例の説明を完全に理解し可能にするための詳細を提供する。しかし、当業者は、このような詳細の多くがなくても、ここで説明する1つまたは複数の実施態様が実行できると理解できるであろう。同様に、当業者は、本開示の1つまたは複数の実施態様に、ここで詳細を説明していない明白な特徴の多くが他にも含まれる可能性があることも理解できるであろう。さらに、関連する説明を不必要に分かりにくくしないために、よく知られている構造や機能については、以下に示していないか、詳細に説明していないことがある。
【0025】
1. 概要
本開示の実施態様は、多重チャンネルオーディオシグナルを複数の下位シグナルに再編成し、これらの下位シグナル間でビットレートを割り当てることで、これらの下位シグナルを割り当てられたビットレートでオーディオコーデックの集合を用いて圧縮するときに、オリジナルの多重チャンネルオーディオシグナルへの忠実度が最適になるような方法とシステムに関するものである。以下に詳細を説明するように、多重チャンネルオーディオシグナルを複数の下位シグナルに再編成することと、各下位シグナルにビットレートを割り当てることは、ある基準に従って最適化することができる。少なくとも1つの実施態様では、下位シグナルを既存のオーディオコーデックを用いて、割り当てられたビットレートで量子化し、そして、オリジナルの多重チャンネルオーディオシグナルを再編成した方法に従って、圧縮した下位シグナルをオリジナルの形式に結合する。
【0026】
すべてのチャンネル間にある無関連性や冗長性を利用する従来の多重チャンネルオーディオ圧縮の手法と比較すると、本開示はより実装が簡単なソリューションを提供する。
【0027】
図1は、ここで説明する1つまたは複数の実施態様に従って、最適化されたシグナル再編成とレート割り当てを用いる多重チャンネルオーディオ圧縮の例のシステムを示す。
【0028】
多重チャンネルオーディオシグナル105は圧縮最適化エンジン110に入る。ここには、シグナル再編成ユニット115とビット割り当てユニット120が含まれる。圧縮最適化エンジン110は、下位シグナル125A、125B、〜125M(Mは任意の数)と、少なくとも1つの知覚基準に従って割り当てられた、対応するビットレート130A、130B、〜130Mを出力する。すると、オーディオコーデック140A、140B、〜140N(Nは任意の数)は、下位シグナル125A、125B、〜125Mを、割り当てられたビットレート130A、130B、〜130Mで量子化する。
【0029】
図1に示した例のシステムには、圧縮最適化エンジン110で(たとえば、シグナル再編成ユニット115とビット割り当てユニット120経由で)実装されたシグナル再編成とレート割り当てのアルゴリズムが含まれる。このアルゴリズムは、オーディオコーデック140A、140B、〜140Nとは異なるコンポーネントである。このような編成のおかげで、異なるオーディオコーデックを(コーデック140A、140B、〜140Nと同様に)適用でき、しかも、比較的簡単に実装することができる。しかし、1つまたは複数の他の実施態様では、シグナル再編成とレート割り当てアルゴリズムは、システムと別のコンポーネントで実装することに加えて、あるいは、その代わりに、1つまたは複数のオーディオコーデック140A、140B、〜140Nに統合できることを理解する必要がある。
【0030】
オーディオコーデック140A、140B、〜140Nによる圧縮に続いて、結合コンポーネント150は、圧縮した下位シグナルをオリジナルの形式で結合する。少なくとも1つの実施態様では、結合コンポーネント150は、オリジナルの多重チャンネルオーディオシグナル105を再編成した方法に従って、圧縮した下位シグナルを再結合する。
【0031】
図2は、ここで説明する1つまたは複数の実施態様に従って、最適化されたシグナル再編成とレート割り当てを用いる多重チャンネルオーディオ圧縮の例のプロセスを示す高レベルの図である。
【0032】
ブロック200では、多重チャンネルオーディオシグナルは下位シグナルに再編成される(たとえば、
図1の例のシステムに示すように、多重チャンネルオーディオシグナル105は下位シグナル125A、125B、〜125Mに再編成される)。ブロック205では、各下位シグナルにビットレートが割り当てられる(たとえば、
図1のビットレート130A、130B、〜130M)。以降で詳細に説明するが、シグナル再編成とレート割り当ては、ある基準に従って最適化される(たとえば、全体的なレート-ひずみ性能)。
【0033】
ブロック210では、下位シグナルは既存のオーディオコーデックを用いて、割り当てられたビットレートで量子化される。次に、プロセスはブロック215に移り、そこで、オリジナルの多重チャンネルオーディオシグナルが再編成された方法に従って、圧縮された下位シグナルがオリジナルの形式で結合される。ここでは、
図2に示すプロセスの詳細について説明する。
【0034】
2. 問題の記述
上記のとおり、従来の多重チャンネルオーディオシグナル圧縮の手法には通常、経験則に従った手作業によるシグナル再編成およびレート割り当てが含まれるが、この分野の熟練者でないほとんどの人にとっては非常に複雑で困難である。このような従来の手法と比較すると、ここで説明する最適なシグナル再編成とレート割り当てを決定する方法とシステムは、パフォーマンスもユーザーフレンドリーさも優れている(詳細は後述)。
【0035】
以降の説明では、いくつかの数学的な慣例や表記が使用される。オリジナルの多重チャンネルオーディオシグナルはsと表記され、Lチャンネル s
1、 s
2、〜、s
L から構成される(「L」は任意の数)。オリジナルのシグナルsは下位シグナル g
1、g
2、〜、g
n に再編成され(「n」は任意の数)、そのそれぞれがオリジナルのLチャンネルの部分集合となる。たとえば、g
k = {s
i: i ∈ I
k ⊆ {1、2、〜、L}} である。添数集合{I
k}は、
【0037】
を満たす再編成を形成する。さらに、I
kの濃度は│I
k│と示される。
【0039】
多重チャンネルオーディオシグナルを再編成して圧縮を最適にする際の問題は、ビットレートの総量を条件として、全体的なひずみを最小限に抑えるg
k(または、同等にI
k)をr
kとともに見つけることである。数学的には、この問題は以下のように公式化される。
【0041】
特定のひずみレベルを条件としてビットレートを最小限に抑えることが望まれるシナリオでは、この問題は以下のように表すことができる。
【0043】
方程式の集合(2)で表されるこの問題は方程式の集合(1)の式と対であり、同様なテクニックで解くことができる。本開示は、方程式の集合(1)で表される問題に焦点を合わせる。
【0044】
以降では、シグナル再編成とレート割り当ての問題を簡単にし、解決策を提案するため、いくつかの想定を行う。
【0045】
3. 解決策の提案
少なくとも1つの実施態様に従って、1番目の想定は「全体的なひずみは加法的である」である。詳細には、以下のようになる。
【0047】
オーディオ圧縮によく使用されるひずみ測度(加重平均二乗誤差(MSE)など)は加法的であるため、方程式(3)で提示される想定は道理にかなっている。この想定を用いると、方程式(1)で示されるオリジナルの問題は、それぞれが下位シグナルを最適化する複数の小さな問題に分割される。
【0048】
2番目の想定は、ひずみを解析することが困難であることから生じる。なぜなら、ひずみは特定のオーディオコーデックの特性により決定されるためである。したがって、以下の説明は情報理論的見地から最適なひずみを考え、そのひずみをより現実的な式に一般化する。
【0049】
A. 最適なひずみ
以下では、オーディオコーデックが達成できる最適なひずみを考える。このようなコーデックは、上記の文脈の下位シグナルに適用することができる。説明を簡単にするため、以下の説明では下位シグナルの概念を減らし、cチャンネルシグナル(「c」は任意の数)の最適な圧縮を考える。
【0050】
多重チャンネルオーディオシグナルを任意のビットレートで圧縮する際のひずみを最小限にするには、情報理論的見地から推論する。多次元のガウス過程を使用すると、多重チャンネルオーディオシグナルをモデル化でき、前述の文脈の任意の下位シグナルを表現することができる。このような想定は、たとえば、数十ミリ秒のオーディオセグメントに有効である。したがって、ここで説明する方法とシステムは、現実のオーディオシグナルにフレームごとに適用することができる。
【0051】
多次元のガウス過程の特徴はそのスペクトル行列である。
【0053】
MSEがひずみ測度として考えられる場合、ビットレートrで達成可能な最小のひずみはパラメータη付きのパラメトリック方程式に続く。
【0056】
実用的なオーディオコーデックの場合、ひずみは以下のように一般化された形式に従うと想定される。
【0058】
実用的なオーディオコーディングでは、通常、ひずみ測度は、上記説明では考えられていなかった知覚効果を考慮に入れることを留意するべきである。多くの場合、知覚効果を考慮に入れるには、知覚基準に従って入力シグナルを変更し、次に、その変更した入力シグナルに簡単なひずみ測度を適用することで可能である。知覚基準に従って入力シグナルを変更する方法の詳細については、後述の「例のアプリケーション」を参照すること。
【0059】
B. 最適な再編成とレート割り当て
ここでは、前のセクションで展開した最適なひずみのためにより一般化された式を用いて、本開示の1つまたは複数の実施態様に従って、多重チャンネルオーディオシグナルの最適な再編成とレート割り当てを決定するための方法をさらに詳細に説明する。以降で詳細を説明するように、この方法の少なくとも1つの実施態様は、(1) シグナル再編成であると仮定して、最適なレート割り当てを決定する、そして、(2) 最適なシグナル再編成を決定する、という作業を行う。
【0061】
図3に、本開示の少なくとも1つの実施態様に従って、知覚加重付きのひずみ測度を条件として考えた、最適なシグナル再編成とレート割り当てを決定する例のプロセスを示す。
【0062】
ブロック300では、オリジナルの多重チャンネルオーディオシグナル(たとえば、
図1で示した多重チャンネルオーディオシグナル105)は、1つまたは複数の知覚基準に従って変更される。
【0063】
ブロック305では、プロセスは、シグナルのセグメントに対して、ブロック300で変更されたシグナルのセルフPSDとクロスPSDを推定する。
【0064】
ブロック310では、下位シグナルの候補のエントロピー率が計算される。
ブロック315では、シグナル再編成の各候補に対して、ある基準に従って最適化されたビットレートが割り当てられる。
【0065】
ブロック320では、ブロック315で割り当てられた最適なビットレートのそれぞれに対応するひずみが取得される。
【0066】
ブロック325では、多重セグメントシグナルに考慮すべき次のセグメントが存在するかどうかの決定が行われる。シグナルに次のセグメントが存在するシナリオでは、プロセスはブロック325からブロック305に進み、シグナルの次のセグメントに対して、上記のとおり、変更されたシグナルのセルフPSDとクロスPSDの推定が得られる。シグナルに考慮すべき次のセグメントがもう存在しないとブロック325で決定された場合、プロセスはブロック330に進み、ここで、平均ひずみが最小になるシグナル再編成の候補が選択される。
【0067】
ブロック335では、オリジナルのオーディオシグナルは、ブロック330で選択されたシグナル再編成(たとえば、平均ひずみが最小になるシグナル再編成)に従って出力される。そして、ブロック340では、選択された再編成での平均レート割り当てが出力される。
【0069】
図4は、ここで説明する1つまたは複数の実施態様に従って、最適なシグナル再編成とレート割り当てを決定するもう1つの例のプロセスを示す。
図4で示したプロセスを構成する特定のブロックの中には
図3で示したプロセスを構成する1つまたは複数のブロック(上記を参照)に似ている場合もあるが、後述するように、それ以外のブロックはこれら2つの例のプロセス間で特徴が異なる。
【0070】
ブロック400では、オリジナルの多重チャンネルオーディオシグナル(たとえば、
図1で示した多重チャンネルオーディオシグナル105)は、1つまたは複数の知覚基準に従って変更される。
【0071】
ブロック405では、プロセスは、シグナルのセグメントに対して、ブロック400で変更されたシグナルのセルフPSDとクロスPSDを推定する。
【0072】
ブロック410では、たとえば、上記の方程式(8)を用いて、下位シグナルの候補のエントロピー率が計算される。
【0073】
ブロック415では、そのシグナルに複数のセグメントが存在するかどうかの決定が行われる。たとえば、そのシグナルに複数のセグメントが含まれる場合、プロセスはブロック415からブロック405に進み、シグナルのもう1つのセグメントに対して、上記のとおり、ブロック400で変更されたシグナルのセルフPSDとクロスPSDの推定が得られる。
【0074】
ブロック415で、そのシグナルに複数のセグメントが含まれないことが分かった場合、プロセスはブロック420に進み、そこで、下位シグナルの候補のエントロピー率の合計が最小になるシグナル再配置が、最適なシグナル再編成として選択される。
【0075】
ブロック425では、ブロック420で選択された最適なシグナル再編成で最適なレート割り当てが計算される。
【0076】
レート関数が最適なレート関数の定数係数を取る場合、最大のTを見つけることもこの場合の解決策であるということを確認してもかまわない。たとえば、
【0078】
の場合である。このような定数係数Kは、たとえば、コーデック内の最適でない量子化器が使用された(逆に、最適なレート関数を導くときに最適であるが実現できない量子化器が使用された)ことが原因であることがある。
【0079】
C. 代替の編成
ステレオオーディオコーデックを使用してLチャンネル(「L」は任意の数)の多重チャンネルオーディオシグナルを圧縮するシナリオを考える。Lが偶数の場合、元のチャンネルはL/2個のチャンネルのペアに再編成される。このように、チャンネルのペアの候補はL(L - 1)/2 個ある。一方、Lが奇数の場合、L(L - 1)/2 個のペアに加えて、1つのチャンネルをモノラルで圧縮する必要がある。このような場合、下位シグナルの候補には、すべてのペアとオリジナルのすべてのチャンネルが含まれる。下位シグナルの数と下位シグナルのサイズは特定の再編成で固定されるため、上記で説明し、
図4で例示したアルゴリズムを用いて、最適なシグナル再編成とビット割り当てが決定される。以下に、このようなシナリオでの追加の実装について詳細に説明する。
【0080】
図4で示したプロセスのブロック410では、モノラルの下位シグナルの候補のエントロピー率は以下のように計算される。
【0082】
さらに、ステレオの下位シグナルのエントロピー率は以下のように計算される。
【0084】
方程式(16)と(17)はそれぞれ、モノラルとステレオの下位シグナルのエントロピー率をガウス想定を用いて計算する方法の例に過ぎないことを留意するべきである。
【0085】
さらに、
図4で示したプロセスのブロック420では、エントロピー率の合計が最小になる完全なチャンネルのマッチングにより最適な再編成が決定される。少なくとも1つの実装では、最適な再編成は、マッチングアルゴリズム(ブロッサムアルゴリズムなど)を用いて決定される。次善の解決策でかまわない実装では、それほど計算的に複雑でない方法をブロック420で使用してもかまわない(貪欲法など)。
【0086】
4. 例の実施態様
以下の例では、さらに、本開示の少なくとも1つの実施態様に従って、多重チャンネルオーディオシグナルの最適なシグナル再編成とレート割り当てを決定する方法を示す。以下に示すシナリオは完全に例示のためだけであり、いかなる方法によっても、本開示の適用範囲を制限する意図はない。
【0087】
以下の例では、ステレオとモノラルのシグナルだけを処理するコーデックを用いて、5チャンネル48kHzでサンプリングしたオーディオシグナルを130kbpsで圧縮することを目的とする。したがって、オリジナルのシグナルは3つの下位シグナルに再編成され、2つはステレオ、1つはモノラルになる(たとえば、2つのチャンネルのペアと1つの独立したチャンネル)。レートは、上記で説明し、
図4で例示したプロセスと同じようなプロセスを用いて、3つの下位シグナルに割り当てられる。
【0088】
オリジナルのシグナルは40ミリ秒のセグメントに分割され、20ミリ秒ずつオーバーラップ(重ね合わせ)される。この例では、シグナルを変更するために、簡単な知覚基準が使用される(全体的なレート-ひずみ性能など)。この基準は、各セグメントにある各チャンネルの自己回帰モデルに基づく。このようなモデルを取得するには、レヴィンソン-ダービン再帰法などの標準的な方法が使用される。次に、すべてのチャンネルが変換関数A(z/γ
1)/A(z/γ
2)を持つフィルターでフィルタリングされる。ここで、A(z)は特定のチャンネルの自己回帰モデルを表し、2つのパラメータγ
1とγ
2はそれぞれ、たとえば、0.9と0.6の値を取ることができる。この知覚基準はγ
1-γ
2モデルとして知られている。γ
1-γ
2モデルに加えて、各セグメントにあるチャンネルはすべて、フィルタリングの後、そのセグメントの総合力に対して正規化される。この操作は、シグナルの力を時間をかけてひずみ測度に変換する。デコーダーでは、再正規化により、そして対応する逆フィルターによるフィルタリングにより、力加重と知覚加重が無効にされる。
【0089】
上記の知覚基準(γ
1-γ
2モデル)は、本開示の方法とシステムに従って使用できる知覚基準の1つの例に過ぎないことを留意するべきである。特定の実装によっては、上記の例の知覚基準に加えて、あるいは、その代わりに、1つまたは複数のその他の知覚基準を使用してもかまわない。
【0090】
知覚を考慮に入れるようにオリジナルのシグナルを変更した後、技術に熟練していることが知られている様々な方法のいずれかを用いて、セルフPSDとクロスPSDをチャンネルから抽出する。たとえば、ペリオドグラム方法を用いて、セルフPSDとクロスPSDを抽出する。
【0091】
抽出したセルフPSDとクロスPSDを用いて、下位シグナルの候補のエントロピー率を計算する。この例では、15個の下位シグナルの候補があり、これらが10個のチャンネルのペアと5つの単一チャンネルを構成する。特定の下位シグナルの候補のエントロピー率は、下位シグナルがモノラルまたはステレオであるかどうかで、方程式(16)または(17)を用いて計算する。オーディオのエントロピー率が10秒間収集され、平均される。すると、その期間でそのオーディオに最適な再編成とレート割り当てが得られる(詳細は後述)。
【0092】
少なくともこの例では、ブロッサムアルゴリズムを用いて、最適なシグナル再編成を決定している。ブロッサムアルゴリズムを使用すると、6つのノードからなるグラフが作成される。6つのノードのうち、5つのノードはオーディオシグナルのチャンネルに対応する。6番目のノードはダミーのノードである。チャンネルのペアの場合、それぞれ、対応するノードに接続されているエッジには、平均エントロピー率が割り当てられる。単一チャンネルの場合、それぞれ、ダミーのノードとそのチャンネルのノードとの間にあるエッジには、そのチャンネルの平均エントロピー率が割り当てられる。このグラフが作成される場合、ブロッサムアルゴリズムにより最適なシグナル再編成が生成される。特に、ブロッサムアルゴリズムは、エントロピー率の合計が最小になる、非交差エッジを選択する。選択された各エッジの2つのノードは下位シグナルを形成する。最適なレート割り当てを決定するために、方程式(14)を用いてTが計算される。エントロピー率と同じ単位であるbit-per-sampleを使う必要があるため、R = 130/48 になることを留意するべきである。次に、方程式(13)を用いて、最適なレート割り当てを決定する。
【0093】
最後に、選択したコーデックを用いて、この10秒間のオリジナルのシグナルを、計算したレートで再編成および量子化する。
【0094】
1つまたは複数の実施態様では、「エントロピー率」に加えて、あるいは、その代わりに、他の量も利用できることを留意するべきである。たとえば、符号化利得では、チャンネルを個々にコーディングするのではなく、すべてのチャンネルをまとめて最適にコーディングすることで、レートを減らす。
【0095】
さらに、知覚効果の捕捉は、オーディオシグナルをあらかじめ変更する以外の方法で行うことができる。たとえば、「エントロピー率」と「ひずみ」の代わりに、「知覚エントロピー」と「知覚ひずみ」を使用することで、知覚効果を捕捉することができる。
【0096】
図5は、本開示の1つまたは複数の実施態様に従って、多重チャンネルオーディオシグナルに最適なシグナル再編成とレート割り当てを決定するように調整された例の計算装置500を示すブロック図である。たとえば、計算装置500は、多重チャンネルオーディオシグナルを複数の下位シグナルに再編成し、これらの下位シグナル間でビットレートを割り当てることで、これらの下位シグナルをオーディオコーデックの集合を用いて、割り当てられたビットレートで圧縮するときに、オリジナルの多重チャンネルオーディオシグナルへの忠実度が最適になるように設定することができる。少なくとも1つの実施態様では、計算装置500はさらに、下位シグナルを既存のオーディオコーデックを用いて、割り当てられたビットレートで量子化し、そして、オリジナルの多重チャンネルオーディオシグナルを再編成した方法に従って、圧縮した下位シグナルをオリジナルの形式に結合するように設定することができる。かなり基本的な構成である501では、計算装置500には通常、1つまたは複数のプロセッサ510とシステムメモリー520が含まれる。メモリーバス530は、プロセッサ510とシステムメモリー520間の通信に使用されることがある。
【0097】
希望の構成により、プロセッサ510は、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタルシグナルプロセッサ(DSP)を含む(ただし、これらには限定されない)任意の種類、あるいは、それらの任意の組み合わせになる場合がある。プロセッサ510には、レベル1キャッシュ511、レベル2キャッシュ512、プロセッサコア513、そしてレジスタ514など、1つまたは複数のレベルのキャッシュが搭載されることがある。プロセッサコア513には、論理演算装置(ALU)、浮動小数点ユニット(FPU)、デジタルシグナルプロセッシングコア(DSP Core)、あるいは、それらの任意の組み合わせが搭載されることがある。メモリーコントローラ515はプロセッサ510により使用される場合も、ある実施態様では、メモリーコントローラ515がプロセッサ510の内部パーツである場合もある。
【0098】
希望の構成により、システムメモリー520は、揮発性メモリー(RAMなど)や不揮発性メモリー(ROM、フラッシュメモリーなど)を含む(ただし、これらには限定されない)任意の種類、あるいは、それらの任意の組み合わせになる場合がある。システムメモリー520には通常、オペレーティングシステム521、1つまたは複数のアプリケーション522、そして、プログラムデータ524が含まれる。1つまたは複数の実施態様では、アプリケーション522には、多重チャンネルオーディオシグナルの最適なシグナル再編成とレート割り当てを決定するように設定された再編成とレート割り当てアルゴリズム523が含まれる。たとえば、1つまたは複数の実施態様では、再編成とレート割り当てアルゴリズム523は、知覚基準に従って再編成とレート割り当てを最適化するように、オリジナルの多重チャンネルオーディオシグナル(
図1で示した多重チャンネルオーディオシグナル105など)を下位シグナルに再編成し、各下位シグナルにビットレートを割り当てるように設定することができる。再編成とレート割り当てアルゴリズム523は、さらに、下位シグナルを既存のオーディオコーデックを用いて、割り当てられたビットレートで量子化し、そして、オリジナルのシグナルを再編成した方法に従って、圧縮した下位シグナルをオリジナルの形式に結合するように設定することができる。
【0099】
プログラムデータ524には、多重チャンネルオーディオシグナルの最適なシグナル再編成とレート割り当てを決定するのに便利なオーディオシグナルデータ525が含まれる。いくつかの実施態様では、アプリケーション522は、オペレーティングシステム521上でプログラムデータ524を使って動作するように調整することができる。これにより、再編成とレート割り当てアルゴリズム523はオーディオシグナルデータ525を使用し、オリジナルのシグナルを知覚基準に従って変更し、変更したシグナルの各セグメントのセルフPSDとクロスPSDを抽出するようになる。
【0100】
計算装置500は、基本構成501と必要とされる装置やインタフェース間での通信を容易にできるように、特徴および/または機能やインタフェースを追加されることがある。たとえば、基本構成501と1つまたは複数のデータストレージ装置550間のストレージインタフェースバス541経由での通信を容易にできるように、バス/インタフェースコントローラ540が使用される場合がある。データストレージ装置550は、取り外し可能なストレージ装置551、取り外し不能なストレージ装置552、それらの任意の組み合わせになる場合がある。取り外し可能なストレージ装置と取り外し不能なストレージ装置の例としては、フロッピーディスクドライブ(FDD)やハードディスクドライブ(HDD)などの磁気ディスク装置、コンパクトディスク(CD)ドライブやデジタル多機能ディスク(DVD)ドライブなどの光ディスクドライブ、ソリッドステートドライブ(SSD)、テープドライブなどが含まれる。例のコンピュータストレージメディアとしては、情報、つまり、コンピュータ読み取り可能命令、データ構造、プログラムモジュールなどのデータを格納するために任意の方法またはテクノロジで実装された、揮発性および不揮発性、そして、取り外し可能および取り外し不能のメディアが含まれる場合がある。
【0101】
システムメモリー520、取り外し可能ストレージ551、および取り外し不能ストレージ552はすべて、コンピュータストレージメディアの例である。コンピュータストレージメディアには、RAM、ROM、EEPROM、フラッシュメモリーなどのメモリーテクノロジ、CD-ROM、デジタル多機能ディスク(DVD)などの光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージなどの磁気ストレージ装置など、希望の情報を格納し、計算装置500からアクセスできる任意のメディアが含まれる(ただし、これらには限定されない)。このようなコンピュータストレージメディアは、計算装置500の一部である場合がある。
【0102】
計算装置500にはまた、様々なインタフェース装置(出力インタフェース、周辺インタフェース、通信インタフェースなど)から基本構成501へのバス/インタフェースコントローラ540経由での通信を容易にするために、インタフェースバス542が含まれる場合もある。例の出力装置560にはグラフィックス処理ユニット561とオーディオ処理ユニット562が含まれており、そのいずれかまたは両方を、1つまたは複数のA/Vポート563経由で、ディスプレイやスピーカーなどの様々な外部装置と通信するように設定することができる。例の周辺インタフェース570にはシリアルインタフェースコントローラ571またはパラレルインタフェースコントローラ572が含まれており、1つまたは複数の入出力ポート573経由で、入力装置(キーボード、マウス、ペン、音声入力装置、タッチ入力装置など)や他の周辺装置(プリンタ、スキャナなど)などの外部装置と通信するように設定することができる。
【0103】
例の通信装置580にはネットワークコントローラ581が含まれており、1つまたは複数の通信ポート582経由で、ネットワーク通信(図には示されていない)上の1つまたは複数の他の計算装置590との通信を容易にできるように調整することができる。この通信接続は通信メディアの1つの例である。通信メディアは通常、搬送波や他の転送メカニズムなど、被変調データシグナルのコンピュータ読み取り可能命令、データ構造、プログラムモジュール、または他のデータから構成され、任意の情報配信メディアが含まれる。「被変調データシグナル」とは、その特性集合の1つまたは複数を持つ、あるいは、情報をシグナルにエンコードするように変更されたシグナルのことである。たとえば、通信メディアには、有線ネットワークや直結接続などの有線メディア、および、音響、無線周波数(RF)、赤外線(IR)などの無線メディアが含まれる場合がある(ただし、これらに限定されない)。ここで使用している「コンピュータ読み取り可能メディア」という用語には、ストレージメディアと通信メディアの両方が含まれる場合がある。
【0104】
計算装置500は、携帯電話、個人用情報端末(PDA)、個人用メディアプレーヤ装置、無線ウェブ閲覧装置、個人用ヘッドセット装置、アプリケーション固有装置、あるいは、上記いずれかの機能を持つ複合装置など、スモールフォームファクタの携帯電子機器の一部として実装される場合がある。計算装置500は、パソコン(ノートパソコンとノート以外のパソコンの両方の構成が含まれる)として実装される場合もある。
【0105】
システムの面から見ると、ハードウェア実装とソフトウェア実装の区別はほとんどなく、一般的に、ハードウェアとソフトウェアのどちらを使用するかは設計上の選択であり、費用対効果のトレードオフを意味する(ただし、ハードウェアとソフトウェアのどちらを選択するかが重要になる文脈では、必ずしもそうであるとは限らない)。ここで説明するプロセス、システム、および/またはその他のテクノロジが影響を受ける手段は多種多様であり(ハードウェア、ソフトウェア、および/またはファームウェアなど)、好適な手段はプロセス、システム、そして/またはその他のテクノロジが配備される文脈により変わる。たとえば、実装者は、速度と正確性が一番重要であると考えた場合、主にハードウェアおよび/またはファームウェアの手段を選択してかまわない。一方、柔軟性が一番重要であると考えた場合、主にソフトウェアの実装を選択してかまわない。1つまたは複数のその他のシナリオでは、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアのいくつかの組み合わせを選択してかまわない。
【0106】
上記の詳細な説明では、ブロック図、フローチャート、および/または例を用いて、デバイスおよび/またはプロセスの様々な実施態様を規定した。このようなブロック図、フローチャート、および/または例に1つまたは複数の機能および/または動作が含まれている限りにおいて、このようなブロック図、フローチャート、または例に含まれる機能および/または動作を、様々な種類のハードウェア、ソフトウェア、ファームウェア、あるいはこれらの事実上任意の組み合わせを用いて、個別に、および/または、まとめて実装できることを、当業者は理解するであろう。
【0107】
1つまたは複数の実施態様では、ここで説明している主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、またはその他の統合形式を用いて実装されることがある。しかし、ここで説明している実施態様のいくつかの側面が、全体的にも部分的にも、1つまたは複数のコンピュータ上で動作する1つまたは複数のコンピュータプログラムとして(たとえば、1つまたは複数のコンピュータシステム上で動作する1つまたは複数のプログラム)、1つまたは複数のプロセッサ上で動作する1つまたは複数のプログラムとして(たとえば、1つまたは複数のマイクロプロセッサ上で動作する1つまたは複数のプログラム)、ファームウェアとして、あるいは、これらの事実上任意の組み合わせとして、集積回路に等しく実装できることを、当業者は理解するであろう。当業者は、さらに、回路の設計および/またはソフトウェアおよび/ファームウェアのコードの作成が、本開示の点から見て、十分に当業者の技術の範囲内であることを、理解するであろう。
【0108】
さらに、ここで説明している主題のメカニズムがプログラム製品として様々な形式で配布可能であること、そして、実際に配布を行う際に使用されるシグナル配送メディアの特定の種類にかかわらず、ここで説明している主題の実例となる実施態様が適用されることを、当業者は理解するであろう。シグナル配送メディアの例には、フロッピーディスク、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、コンピュータメモリーなどの記録可能型メディア、そして、デジタルおよび/またはアナログの通信メディアなどの伝送型メディア(光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)が含まれる(ただし、これらに限定されない)。
【0109】
当業者は、ここで規定した方法でデバイスおよび/またはプロセスを記述し、その後、このように記述したデバイスおよび/またはプロセスをエンジニアリングの手法を用いてデータ処理システムに統合することが、その技術において一般的であることも理解するであろう。つまり、この技術で妥当な経験があれば、少なくとも、ここで説明したデバイスおよび/またはプロセスの部分をデータ処理システムに統合することができる。当業者は、典型的なデータ処理システムには一般的に、1つまたは複数のシステムユニットハウジング、ビデオディスプレイ装置、メモリー(揮発性メモリーや不揮発性メモリーなど)、プロセッサ(マイクロプロセッサやデジタルシグナルプロセッサなど)、計算実体(オペレーティングシステム、ドライバ、グラフィカルユーザーインターフェース、アプリケーションプログラムなど)、1つまたは複数の対話装置(タッチパッドや画面など)、および/またはコントロールシステム(フィードバックループやコントロールモーターなど、たとえば、位置および/または速度を感知するためのフィードバック、コンポーネントおよび/または量を移動および/または調整するためのコントロールモーター)が含まれることを理解するであろう。典型的なデータ処理システムは、通常、データコンピューティング/コミュニケーションおよび/またはネットワークコンピューティング/通信システムなどで一般的に見られる、市販で入手可能な適切なコンポーネントを活用して実装されることがある。
【0110】
この文書で単語の複数形と単数形の使い方について、当業者は、文脈や用途に応じて、複数形から単数形に、および/または、単数形から複数形に読み替えることができる。ここでは便宜上、様々な単数形と複数形の入れ替えを明確に規定する。
【0111】
ここでは様々な側面と実施態様を開示しているが、当業者には、他の側面と実施態様も明白であろう。ここで開示している様々な側面と実施態様は例示のためであり、制限することを意図しているわけではなく、真の適用範囲と意図は以下の請求で示す。