(58)【調査した分野】(Int.Cl.,DB名)
Nチャネルのオーディオ・プログラムをエンコードする方法であって、前記プログラムはある時間区間にわたって指定され、前記時間区間は時刻t1から時刻t2までの部分区間を含み、N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)が前記時間区間上で指定されており、MはN以下であり、当該方法は:
前記N個のエンコードされた信号チャネルのサンプルに適用されるときに前記N個のエンコードされた信号チャネルのオーディオ・コンテンツの前記M個の出力チャネルへの第一の混合を実装するN×Nプリミティブ行列の第一のカスケードを決定する段階であって、前記第一の混合は、該第一の混合が少なくとも実質的にA(t1)に等しいという意味で前記時間変化する混合A(t)に整合し、N×Nプリミティブ行列は、N−1個の行が0に等しい非対角要素および絶対値1をもつ対角要素を含む行列として定義される、段階と;
プリミティブ行列の前記第一のカスケードおよび前記部分区間上で定義される補間関数とともに、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを示す補間値を決定する段階であって、更新されたプリミティブ行列の各カスケードは、前記N個のエンコードされた信号チャネルのサンプルに適用されるとき、前記N個のエンコードされた信号チャネルの前記M個の出力チャネルへの、前記部分区間における異なる時刻に関連付けられた更新された混合を実装し、それぞれの前記更新された混合は、前記時間変化する混合A(t)と整合する、段階と;
エンコードされたオーディオ・コンテンツ、前記補間値およびプリミティブ行列の前記第一のカスケードを示すエンコードされたビットストリームを生成する段階とを含む、
方法。
前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって、前記エンコードされたオーディオ・コンテンツを生成する段階をも含み、該段階は、前記サンプルに行列カスケードのシーケンスを適用することによることを含み、前記シーケンスにおける各行列カスケードは、プリミティブ行列のカスケードであり、行列カスケードの前記シーケンスは、前記第一のカスケードのプリミティブ行列の逆行列のカスケードである第一の逆行列カスケードを含む、請求項2記載の方法。
前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって、前記エンコードされたオーディオ・コンテンツを生成する段階をも含み、該段階は、前記サンプルに行列カスケードのシーケンスを適用することによることを含み、前記シーケンスにおける各行列カスケードは、プリミティブ行列のカスケードであり、前記シーケンスにおける各行列カスケードは、N×Nの更新されたプリミティブ行列のカスケードの対応するカスケードの逆であり、N=Mであり、前記M個の出力チャネルは無損失で復元された前記プログラムの前記N個のチャネルと同じである、請求項2記載の方法。
プリミティブ行列の前記第一のカスケードはシード・プリミティブ行列を実装し、前記補間値は前記シード・プリミティブ行列についてのシード・デルタ行列を示す、請求項1記載の方法。
Nチャネル・オーディオ・プログラムのM個のチャネルの復元のための方法であって、前記プログラムはある時間区間にわたって指定され、前記時間区間は時刻t1から時刻t2までの部分区間を含み、N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)は前記時間区間上で指定されており、当該方法は:
エンコードされたオーディオ・コンテンツ、補間値およびN×Nプリミティブ行列の第一のカスケードを示すエンコードされたビットストリームを取得する段階であって、N×Nプリミティブ行列は、N−1個の行が0に等しい非対角要素および絶対値1をもつ対角要素を含む行列として定義される、段階と;
前記補間値、プリミティブ行列の前記第一のカスケードおよび前記部分区間上の補間関数から、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを決定するよう補間を実行する段階とを含み、
N×Nプリミティブ行列の前記第一のカスケードは、前記エンコードされたオーディオ・コンテンツのN個のエンコードされた信号チャネルのサンプルに適用されるときに前記N個のエンコードされた信号チャネルのオーディオ・コンテンツの前記M個の出力チャネルへの第一の混合を実装するものであり、前記第一の混合は、該第一の混合が少なくとも実質的にA(t1)に等しいという意味で前記時間変化する混合A(t)に整合し、
プリミティブ行列の前記第一のカスケードおよび前記補間関数とともに、前記補間値は、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを示し、更新されたプリミティブ行列の各カスケードは、前記エンコードされたオーディオ・コンテンツの前記N個のエンコードされた信号チャネルのサンプルに適用されるとき、前記N個のエンコードされた信号チャネルの前記M個の出力チャネルへの、前記部分区間における異なる時刻に関連付けられた更新された混合を実装し、それぞれの前記更新された混合は、前記時間変化する混合A(t)と整合する、
方法。
前記エンコードされたオーディオ・コンテンツは、前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって生成されたものであり、該生成は、該サンプルに行列カスケードのシーケンスを適用することによることを含み、前記シーケンスにおける各行列カスケードはプリミティブ行列のカスケードであり、前記シーケンスにおける各行列カスケードは、N×Nの更新されたプリミティブ行列のカスケードの対応するカスケードの逆であり、N=Mであり、前記M個の出力チャネルは無損失で復元された前記プログラムの前記N個のチャネルと同じである、請求項8記載の方法。
プリミティブ行列の前記第一のカスケードはシード・プリミティブ行列を実装し、前記補間値は前記シード・プリミティブ行列についてのシード・デルタ行列を示す、請求項7記載の方法。
前記補間値は、精度のあるビット数をもって表現される正規化されたデルタ値と、精度のこのビット数の指示と、精度値とを含み、前記正規化されたデルタ値は、デルタ値の正規化されたバージョンを示し、前記デルタ値は前記プリミティブ行列の係数の変化のレートを示し、前記精度値は、前記プリミティブ行列の係数を表わすために必要とされる精度に対し、前記デルタ値を表わすために必要とされる精度の増大を示す、請求項7記載の方法。
前記デルタ値は、前記正規化されたデルタ値を、前記プリミティブ行列の係数の分解能および前記精度値に依存するスケール因子によってスケーリングすることによって導出される、請求項15記載の方法。
前記エンコードされたビットストリームから検査語を抽出し、前記オーディオ・プログラムのセグメントの諸チャネルが正しく復元されているかどうかを、前記オーディオ・プログラムの前記セグメントの復元された諸チャネルから導出される第二の検査語を、前記エンコードされたビットストリームから抽出された前記検査語と比較することによって、検証する段階をさらに含む、請求項7記載の方法。
Nチャネルのオーディオ・プログラムをエンコードするよう構成されたオーディオ・エンコーダであって、前記プログラムはある時間区間にわたって指定され、前記時間区間は時刻t1から時刻t2までの部分区間を含み、N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)が前記時間区間上で指定されており、MはN以下であり、当該エンコーダは請求項1ないし6のうちいずれか一項記載の方法を実行するよう構成されている、エンコーダ。
Nチャネル・オーディオ・プログラムの復元を実装するよう構成されたデコーダであって、前記プログラムはある時間区間にわたって指定され、前記時間区間は時刻t1から時刻t2までの部分区間を含み、N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)は前記時間区間上で指定されており、当該デコーダは請求項7ないし17のうちいずれか一項記載の方法を実行するよう構成されている、デコーダ。
【背景技術】
【0003】
ドルビーおよびドルビー・トゥルーHDはドルビー・ラボラトリーズ・ライセンシング・コーポレイションの商標である。
【0004】
オーディオ・プログラムをレンダリングすることの複雑さならびに金銭上および計算上のコストは、レンダリングされるべきチャネルの数とともに増す。オブジェクト・ベースのオーディオ・プログラムのレンダリングおよび再生の間、オーディオ・コンテンツは、通常のスピーカー・チャネル・ベースのプログラムのレンダリングおよび再生の間に生起するより典型的にはずっと(たとえば一桁)多くのチャネル(たとえば、オブジェクト・チャネルおよびスピーカー・チャネル)をもつ。典型的にはまた、再生のために使われるスピーカー・システムは、通常のスピーカー・チャネル・ベースのプログラムの再生のために用いられる数よりずっと多数のスピーカーを含む。
【0005】
本発明の実施形態は、任意のマルチチャネル・オーディオ・プログラムのチャネルをレンダリングするために有用であるが、本発明の多くの実施形態は、多数のチャネルをもつオブジェクト・ベースのオーディオ・プログラムのチャネルをレンダリングするために特に有用である。
【0006】
オブジェクト・ベースのオーディオ・プログラムをレンダリングするために(たとえば映画館における)再生システムを用いることが知られている。オブジェクト・ベースのオーディオ・プログラムは、意図される全体的な聴覚体験を作り出すために、スクリーン上の画像、ダイアログ、ノイズおよびスクリーン上の(またはスクリーンに対する)種々の位置から発するサウンド効果に対応する多数の異なるオーディオ・オブジェクトならびに背景音楽および周囲効果(これはプログラムのスピーカー・チャネルによって示されてもよい)を示しうる。そのようなプログラムの正確な再生は、オーディオ・オブジェクト・サイズ、位置、強度、動きおよび奥行きに関して、コンテンツ・クリエーターによって意図されるものにできるだけ近く対応する仕方で音が再生されることを要求する。
【0007】
オブジェクト・ベースのオーディオ・プログラムの生成の間、典型的には、レンダリングのために用いられるラウドスピーカーは再生環境中の任意の位置に位置されるのであり、必ずしも(公称上の)水平面内の所定の配置またはプログラム生成の時点で知られていた他の任意の所定の配置ではないことが想定される。典型的には、プログラムに含まれるメタデータは、たとえばスピーカーの三次元アレイを使って、(三次元体積において)ある見かけの空間位置にまたはある軌跡に沿ってプログラムの少なくとも一つのオブジェクトをレンダリングするためのレンダリング・パラメータを示す。たとえば、プログラムのオブジェクト・チャネルは、(該オブジェクト・チャネルによって示される)オブジェクトがレンダリングされる見かけの空間位置の三次元軌跡を示す対応するメタデータを有していてもよい。軌跡は、(再生環境の、床上に位置されていると想定されるスピーカーの部分集合の平面内または他の水平面内の)「床」位置のシーケンスと、(それぞれ再生環境の少なくとも一つの他の水平面に位置されると想定されるスピーカーの部分集合を駆動することによって決定される)「床上方」位置のシーケンスとを含んでいてもよい。
【0008】
オブジェクト・ベースのオーディオ・プログラムは、伝統的なスピーカー・チャネル・ベースのオーディオ・プログラムに対して多くの点で有意な改善を呈する。スピーカー・チャネル・ベースのオーディオは、オブジェクト・チャネル・ベースのオーディオより、特定のオーディオ・オブジェクトの空間的再生に関して、より制限されているからである。スピーカー・チャネル・ベースのオーディオ・プログラムはスピーカー・チャネル(オブジェクト・チャネルではない)のみからなり各スピーカー・チャネルは典型的には、聴取環境における特定の個別スピーカーについてのスピーカー・フィードを決定する。
【0009】
オブジェクト・ベースのオーディオ・プログラムを生成およびレンダリングするためのさまざまな方法およびシステムが提案されている。オブジェクト・ベースのオーディオ・プログラムの生成の間、典型的には、プログラムの再生のために任意の数のラウドスピーカーが用いられること、再生のために用いられるラウドスピーカーは再生環境中の任意の位置に位置されるのであり、必ずしも(公称上の)水平面内またはプログラム生成の時点で知られていた他の任意の所定の配置ではないと想定される。典型的には、プログラムに含まれるオブジェクト関係メタデータは、たとえばスピーカーの三次元アレイを使って、(三次元体積において)ある見かけの空間位置にまたはある軌跡に沿ってプログラムの少なくとも一つのオブジェクトをレンダリングするためのレンダリング・パラメータを示す。たとえば、プログラムのオブジェクト・チャネルは、(該オブジェクト・チャネルによって示される)オブジェクトがレンダリングされる見かけの空間位置の三次元軌跡を示す対応するメタデータを有していてもよい。軌跡は、(再生環境の、床上に位置されていると想定されるスピーカーの部分集合の平面内または他の水平面内の)「床」位置のシーケンスと、(それぞれ再生環境の少なくとも一つの他の水平面に位置されると想定されるスピーカーの部分集合を駆動することによって決定される)「床上方」位置のシーケンスとを含んでいてもよい。オブジェクト・ベースのオーディオ・プログラムのレンダリングの例は、たとえば、本願の被譲渡者に譲渡された特許文献1に記載されている。
【0010】
オブジェクト・ベースのオーディオ・プログラムは、「ベッド」チャネルを含んでいてもよい。ベッド・チャネルは、関連する時間区間にわたって位置が変化しないオブジェクトを示すオブジェクト・チャネルでありうる(よって典型的には、静的なスピーカー位置をもつ再生システム・スピーカーの集合を使ってレンダリングされる)。あるいは、ベッド・チャネルは(再生システムの特定のスピーカーによってレンダリングされる)スピーカー・チャネルであってもよい。ベッド・チャネルは、対応する時間変化する位置メタデータをもたない(ただし、時間不変の位置メタデータをもつと考えられてもよい)。ベッド・チャネルは、空間において分散しているオーディオ要素、たとえば周囲を示すオーディオを示してもよい。
【0011】
伝統的なスピーカー・セットアップ(たとえば7.1再生システム)を通じたオブジェクト・ベースのオーディオ・プログラムの再生は、(オブジェクト・チャネルを含む)プログラムの諸チャネルを一組のスピーカー・フィードにレンダリングすることによって達成される。本発明の典型的な実施形態では、オブジェクト・ベースのオーディオ・プログラムのオブジェクト・チャネル(本稿では時にオブジェクトと称される)および他のチャネル(または別の型のオーディオ・プログラムのチャネル)をレンダリングする工程は、各時点における(レンダリングされるべきチャネルについての)空間的メタデータの、対応する利得行列(本稿では「レンダリング行列」と称される)への変換を大半において(または該変換のみを)含む。該行列は、チャネル(たとえばオブジェクト・チャネルおよびスピーカー・チャネル)のそれぞれが、特定のスピーカーについてのスピーカー・フィードによって示される(その時点での)オーディオ・コンテンツの混合にどのくらい寄与するか(すなわち、スピーカー・フィードによって示される混合におけるプログラムの各チャネルの相対的な重み)を表わす。
【0012】
オブジェクト・ベースのオーディオ・プログラムの「オブジェクト・チャネル」は、オーディオ・オブジェクトを示すサンプルのシーケンスを示す。該プログラムは典型的には、各オブジェクト・チャネルについてのオブジェクト位置または軌跡を示す空間的位置メタデータ値のシーケンスを含む。本発明の典型的な実施形態では、プログラムのオブジェクト・チャネルに対応する位置メタデータ値のシーケンスが、そのプログラムについての時間変化する利得指定を示すM×N行列A(t)を決定するために使われる。
【0013】
プログラムの時刻「t」におけるオーディオ・プログラムの「N」個のチャネル(たとえばオブジェクト・チャネルまたはオブジェクト・チャネルとスピーカー・チャネル)の「M」個のスピーカー(スピーカー・フィード)へのレンダリングは、各チャネルからの時刻「t」におけるオーディオ・サンプルから構成される長さ「N」のベクトルx(t)に、時刻「t」における関連する位置メタデータ(および任意的にはレンダリングされるオーディオ・コンテンツに対応する他のメタデータ、たとえばオブジェクト利得)から決定されたM×N行列A(t)を乗算することによって表わされることができる。時刻tにおけるスピーカー・フィードの、結果として得られる値(たとえば利得またはレベル)は、次式(1)のようにベクトルy(t)として表わせる。
【0014】
【数1】
式(1)は、オーディオ・プログラムのN個のチャネル(たとえば、オブジェクト・ベースのオーディオ・プログラムまたはオブジェクト・ベースのオーディオ・プログラムのエンコードされたバージョン)のM個の出力チャネル(たとえば、M個のスピーカー・フィード)へのレンダリングを記述しているが、これはN個のオーディオ・サンプルの集合が線形演算によってM個の値の集合に変換されるシナリオの一般的な集合をも表わす。たとえば、A(t)は、係数が時刻「t」の異なる値で変わらない静的な行列「A」であってもよい。もう一つの例として、A(t)(これは静的な行列Aであってもよい)は、スピーカー・チャネルの集合x(t)の、スピーカー・チャネルのより小さい集合y(t)への通常のダウンミックスを表わすことができ(あるいは、x(t)はアンビソニックス・フォーマットにおいて空間的シーンを記述するオーディオ・チャネルの集合であることができ)、スピーカー・フィードy(t)への変換はダウンミックス行列Aの乗算によって規定されることができる。公称上静的なダウンミックス行列を用いるアプリケーションにおいてでさえ、ダウンミックスのクリップ保護を保証するために、適用される実際の線形変換(行列乗算)は、動的であることがある(すなわち、静的な変換Aは、クリップ保護を確実にするために時間変化する変換A(t)に変換されてもよい)。
【0015】
オーディオ・プログラム・レンダリング・システム(たとえば、そのようなシステムを実装するデコーダ)は、プログラムの間の毎時点「t」においてではなく、間欠的にのみ、レンダリング行列A(t)を決定するメタデータを受領してもよい(あるいは行列そのものを受領してもよい。たとえば、これは、たとえば実際にメタデータを出力するシステムの低い時間分解能、あるいはプログラムの伝送のビットレートを制限する必要など、多様な理由の任意のもののためであることができる。発明者は、レンダリング・システムが、プログラムの間の時点「t1」および「t2」それぞれにおけるレンダリング行列A(t1)とA(t2)の間で補間して、中間の時点「t3」についてのレンダリング行列A(t3)を得ることが望ましいことがありうることを認識するに至った。補間は、レンダリングされたスピーカー・フィードにおけるオブジェクトの知覚される位置が時間とともになめらかに変化することを保証するとともに、不連続な(区分的に一定な)行列更新から生じるジッパー・ノイズ(zipper noise)のような望ましくないアーチファクトをなくしうる。補間は、線形(または非線形)であってもよく、典型的にはA(t1)からA(t2)への時間的に連続的な経路を保証するべきである。
【0016】
ドルビー・トゥルーHDは、オーディオ信号の無損失かつスケーラブルな伝送をサポートする通常のオーディオ・コーデック・フォーマットである。源オーディオは、チャネルのサブストリームの階層構造にエンコードされ、空間的シーンのより低次元の(ダウンミックス)呈示を得るために、(サブストリーム全部ではなく)サブストリームの選択された部分集合がビットストリームから取り出され、デコードされてもよい。すべてのサブストリームがデコードされるときは、結果として得られるオーディオは、源オーディオと同一である(エンコードおよびそれに続くデコードが無損失)。
【0017】
トゥルーHDのある商業的に利用可能なバージョンでは、源オーディオは典型的には、三つのサブストリームのシーケンスにエンコードされる7.1チャネル混合である。それらのサブストリームは、7.1チャネルのもとのオーディオの二チャネル・ダウンミックスを決定するためにデコードされることができる第一のサブストリームを含む。最初の二つのサブストリームが、もとのオーディオの5.1チャネル・ダウンミックスを決定するためにデコードされてもよい。三つ全部のサブストリームが、もとの7.1チャネル・オーディオを決定するためにデコードされてもよい。ドルビー・トゥルーHDおよびそのベースとなったメリディアン無損失パッキング(MLP: Meridian Lossless Packing)技術の技術的詳細はよく知られている。トゥルーHDおよびMLP技術の諸側面は特許文献2および非特許文献1に記載されている。
【0018】
トゥルーHDはダウンミックス行列の指定をサポートする。典型的な使用では、7.1チャネル・オーディオ・プログラムのコンテンツ・クリエーターは、7.1チャネル・プログラムを5.1チャネル混合にダウンミックスするための静的な行列と、5.1チャネル・ダウンミックスを2チャネル・ダウンミックスにダウンミックスするもう一つの静的な行列を指定する。各静的なダウンミックス行列は、クリップ保護を達成するためにダウンミックス行列のシーケンスに変換されてもよい(シーケンス中の各行列はプログラムにおける異なる区間をダウンミックスするため)。しかしながら、シーケンス中の各行列はデコーダに伝送され(あるいは、シーケンス中の各行列を決定するメタデータが伝送され)、デコーダは、プログラムについてのダウンミックス行列のシーケンスにおけるその後の行列を決定するために、いかなる以前に指定されたダウンミックス行列に対する補間も実行しない。
【0019】
図1は、通常のトゥルーHDシステムの要素の概略図である。ここでは、エンコーダ(30)およびデコーダ(32)はオーディオ・サンプルに対する行列処理動作を実装するよう構成されている。
図1では、エンコーダ30は、8チャネルのオーディオ・プログラム(たとえば伝統的な7.1スピーカー・フィードの集合)を、二つのサブストリームを含むエンコードされたビットストリームとしてエンコードするよう構成されており、デコーダ32は、該エンコードされたビットストリームをデコードして、もとの8チャネルのプログラムを(無損失に)、あるいはもとの8チャネルのプログラムの2チャネル・ダウンミックスをレンダリングするよう構成されている。エンコーダ30は、エンコードされたビットストリームを生成し、該エンコードされたビットストリームを送達システム31に呈するよう結合され、構成されている。
【0020】
送達システム31は、エンコードされたビットストリームをデコーダ32に(たとえば記憶することおよび/または送信することによって)送達するよう結合され、構成されている。いくつかの実施形態では、システム31は、放送システムまたはネットワーク(たとえばインターネット)を通じてデコーダ32に、エンコードされたマルチチャネル・オーディオ・プログラムを送達することを実装する(たとえば送信する)。いくつかの実施形態では、システム31は、エンコードされたマルチチャネル・オーディオ・プログラムを記憶媒体(たとえばディスクまたは一組のディスク)に記憶し、デコーダ32は該記憶媒体からプログラムを読むよう構成される。
【0021】
エンコーダ30において「InvChAssign1」とラベル付けされたブロックは、入力プログラムのチャネルに対するチャネル入れ替え(置換行列による乗算と等価)を実行するよう構成される。置換された行列は次いで段33においてエンコードを受け、段33は八つのエンコードされた信号チャネルを出力する。エンコードされた信号チャネルは、再生スピーカー・チャネルに対応してもよい(だが必須ではない)。エンコードされた信号チャネルは時に、「内部」チャネルと称される。デコーダ(および/またはレンダリング・システム)は典型的にはエンコードされた信号チャネルのコンテンツをデコードし、レンダリングして入力オーディオを復元し、よってエンコードされた信号チャネルはエンコード/デコード・システムの「内部」だからである。段33において実行されるエンコードは、置換されたチャネルのサンプルの各集合にエンコード行列(のちにより詳細に述べるように、P
n-1,…、P
1-1,P
0-1として特定されるn+1個の行列乗算のカスケードとして実装される)を乗算することと等価である。
【0022】
行列決定サブシステム34は、出力行列の二つの集合(エンコードされたチャネルの二つのサブストリームのそれぞれに対応して一つの集合)の係数を示すデータを生成するよう構成される。出力行列の一方の集合は二つの行列P
02,P
12からなり、このそれぞれは次元2×2のプリミティブ行列(のちに定義)であり、エンコードされたビットストリームのエンコードされたオーディオ・チャネルの二つを含む第一のサブストリーム(ダウンミックス・サブストリーム)をレンダリング(して前記8チャネル入力オーディオの2チャネル・ダウンミックスをレンダリング)するためである。出力行列の他方の集合は行列P
0,P
1,…,P
nからなり、このそれぞれはプリミティブ行列であり、エンコードされたビットストリームのエンコードされたオーディオ・チャネルの八個全部を含む第二のサブストリームをレンダリング(して前記8チャネル入力オーディオ・プログラムを無損失復元)するためである。エンコーダにおいてオーディオに適用される行列P
0-1,P
1-1,…,P
n-1と一緒の行列P
02,P
12は、8入力オーディオ・チャネルを2チャネル・ダウンミックスに変換するダウンミックス行列指定に等しく、行列P
0,P
1,…,P
nのカスケードはエンコードされたビットストリームの8個のエンコードされたチャネルをもとの8入力チャネルにレンダリングする。
【0023】
サブシステム34からパッキング・サブシステム35に出力される(各行列の)係数は、プログラムのチャネルの対応する混合に含められるべき各チャネルの相対または絶対利得を示すメタデータである。(プログラムの間のある時点についての)各レンダリング行列の係数は、混合の各チャネルが、特定の再生システム・スピーカーのためのスピーカー・フィードによって示される(レンダリングされた混合の対応する時点における)オーディオ・コンテンツの混合にどのくらい寄与するべきかを表わす。
【0024】
(エンコード段33から出力される)8個のエンコードされたオーディオ・チャネル、(サブシステム34によって生成される)出力行列係数および典型的にはまた追加的データが、パッキング・サブシステム35に呈される。パッキング・サブシステム35は、それらをエンコードされたビットストリームにまとめ、該ビットストリームがその後送達システム31に呈される。
【0025】
エンコードされたビットストリームは、8個のエンコードされたオーディオ・チャネル、出力行列の前記二つの集合(エンコードされたチャネルの二つのサブストリームのそれぞれに対応して一つの集合)および典型的にはまた追加的なデータ(たとえばオーディオ・コンテンツに関するメタデータ)を示すデータを含む。
【0026】
デコーダ32のパース・サブシステム36は、送達システム31から、エンコードされたビットストリームを受け入れ(読み取りまたは受領し)、該エンコードされたビットストリームをパースする。サブシステム36は、エンコードされたビットストリームのサブストリーム(エンコードされたビットストリームのエンコードされたチャネルのうちの二つのみを含む「第一の」サブストリームを含む)および前記第一のサブストリームに対応する出力行列(P
02,P
12)を行列乗算段38(その処理の結果、もとの8チャネル入力プログラムのコンテンツの2チャネル・ダウンミックス呈示が生じる)に呈するよう動作可能である。サブシステム36はまた、エンコードされたビットストリームのサブストリーム(エンコードされたビットストリームの8個全部のエンコードされたチャネルを含む「第二の」サブストリーム)および対応する出力行列(P
0,P
1,…,P
n)を行列乗算段37に呈するようにも動作可能である。行列乗算段37の処理の結果、もとの8チャネル・プログラムが無損失レンダリングされる。
【0027】
より具体的には、段38は、第一のサブストリームの二つのチャネルの二つのオーディオ・サンプルに、行列P
02,P
12のカスケードを乗算し、二つの線形変換されたサンプルの、結果として得られる各集合は「ChAssign0」とタイトル付けされたブロックによって表わされるチャネル置換(置換行列による乗算と等価)を受け、8個のもとのオーディオ・チャネルの、要求される2チャネル・ダウンミックスのサンプルの各対を与える。エンコーダ30およびデコーダ32における行列処理動作のカスケードは、8個の入力オーディオ・チャネルを2チャネル・ダウンミックスに変換するダウンミックス行列指定の適用と等価である。
【0028】
段37は、8個のオーディオ・サンプルの各ベクトル(エンコードされたビットストリームの8個のチャネルのフル集合のそれぞれから一つ)に行列P
0,P
1,…,P
nのカスケードを乗算し、8個の線形変換されたサンプルの、結果として得られる各集合は「ChAssign1」とタイトル付けされたブロックによって表わされるチャネル置換(置換行列による乗算と等価)を受け、無損失復元されたもとの8チャネル・プログラムの8個のサンプルの各集合を与える。(本システムの「無損失」特性を達成するよう)出力8チャネル・オーディオが厳密に入力8チャネル・オーディオと同じであるためには、エンコーダ30において実行される行列処理動作は、(量子化効果を含め)厳密に、エンコードされたビットストリームの無損失の(第二の)サブストリームに対してデコーダ32において実行される行列処理動作(すなわち、行列P
0,P
1,…,P
nのカスケードの乗算)の逆であるべきである。こうして、
図1では、エンコーダ30の段33における行列処理動作は、行列P
0,P
1,…,P
nの逆行列の、デコーダ32の段37において適用される反対シーケンスでのカスケード、すなわちP
n-1,…、P
1-1,P
0-1として特定される。
【0029】
デコーダ32は、エンコーダ30によって適用されるチャネル置換の逆を適用する(デコーダ32の要素「ChAssign1」によって表わされる置換行列はエンコーダ30の要素「InvChAssign1」によって表わされるものの逆である)。
【0030】
ダウンミックス行列指定(たとえば、次元が2×8の静的な行列Aの指定)が与えられると、エンコーダ30の通常のトゥルーHDエンコーダ実装の目的は、下記の条件が満たされるように、出力行列(たとえば、
図1のP
0,P
1,…,P
nおよびP
02,P
12)および入力行列(P
n-1,…、P
1-1,P
0-1)ならびに出力(および入力)チャネル割り当てを設計することである:
1.エンコードされたビットストリームは階層的(すなわち、上記の例では、最初の二つのエンコードされたチャネルは2チャネル・ダウンミックス呈示を導出するのに十分であり、8個のエンコードされたチャネルのフル集合はもとの8チャネル・プログラムを復元するのに十分である);
2.最上のストリームのための行列(上記の例ではP
0,P
1,…,P
n)は、入力オーディオがデコーダによって厳密に取得可能であるよう、厳密に可逆である。
【0031】
典型的なコンピューティング・システムは有限精度をもって機能し、任意の可逆行列の逆を厳密に求めることは、非常に大きな精度を要求することがある。トゥルーHDはこの問題を、出力行列および入力行列(すなわちP
0,P
1,…,P
nおよびP
n-1,…、P
1-1,P
0-1)を「プリミティブ行列」として知られる型の正方行列に制約することによって解決する。
【0032】
次元N×Nのプリミティブ行列Pは次の形をもつ。
【0033】
【数2】
プリミティブ行列は常に正方行列である。次元N×Nのプリミティブ行列は、一つの(トリビアルでない)行のほかは(すなわち、該行は上記の例では要素α
0,α
1,α
2,…,α
N-1を含む)次元N×Nの恒等行列と同一である。他のすべての行では、非対角要素は0であり、対角線と共有される要素は絶対値1をもつ(すなわち、+1または−1である)。本開示における表現を簡略化するために、図面および記述は、上記トリビアルでない行における対角要素が例外となりうるものの、プリミティブ行列が+1に等しい諸対角要素をもつことを常に想定する。しかしながら、これは一般性を失うものではなく、本開示において呈示される発想は、諸対角要素が+1または−1でありうるプリミティブ行列の一般的なクラスに係ることを注意しておく。
【0034】
プリミティブ行列Pがベクトルx(t)に対して作用する(すなわち乗算される)とき、結果は積Px(t)である。これは、一つを除いてすべての要素において厳密にx(t)と同じもう一つのN次元ベクトルである。このように、各プリミティブ行列は、それが操作する(またはそれが作用する)一意的なチャネルに関連付けられることができる。
【0035】
本稿では「単位プリミティブ行列」という用語を使って、(プリミティブ行列のトリビアルでない行によって)対角線と共有される要素が絶対値1をもつ(すなわち+1または−1である)プリミティブ行列を表わす。こうして、単位プリミティブ行列の対角線は、すべてプラス1(+1)またはすべてマイナス1(−1)またはいくつかのプラス1およびいくつかのマイナス1からなる。プリミティブ行列は、オーディオ・プログラム・チャネルのサンプルの集合(ベクトル)の一つのチャネルを変更するだけであり、単位プリミティブ行列は、対角線上の単位値のため、無損失に可逆でもある。ここでもまた、本稿での議論を簡略化するため、単位プリミティブ行列という用語を使って、トリビアルでない行が対角要素+1をもつプリミティブ行列を指すことにする。しかしながら、請求項を含め本稿における単位プリミティブ行列へのあらゆる言及は、対角線との共有される要素が+1または−1であるトリビアルでない行をもつことができる、より一般的な場合をカバーすることが意図されている。
【0036】
プリミティブ行列Pの上記の例においてα
2=1であれば(その結果、プラス1からなる対角線をもつ単位プリミティブ行列となる)、Pの逆は厳密に次のようになることがわかる。
【0037】
【数3】
一般には、単位プリミティブ行列の逆は単に、対角線上に載らないトリビアルでないα係数のそれぞれを逆にする(−1をかける)ことによって決定されることが一般に成り立つ。
【0038】
図1のデコーダ32において用いられる行列P
0,P
1,…,P
nが単位プリミティブ行列(単位対角線をもつ)であれば、行列処理動作、エンコーダ32におけるP
0,P
1,…,P
nおよびデコーダ32におけるP
0,P
1,…,P
nのシーケンスは、
図2のAおよびBに示される型の有限精度回路によって実装されることができる。
図2のAは、有限精度算術を用いて実装されるプリミティブ行列を介した無損失行列処理を実行するためのエンコーダの通常の回路である。
図2のBは、有限精度算術を用いて実装されるプリミティブ行列を介した無損失行列処理を実行するためのデコーダの通常の回路である。
図2のAおよびBの回路の典型的な実装(およびその変形)の詳細は、上述した特許文献1に記載されている。
【0039】
図2のA(チャネルS1,S2,S3,S4を含む4チャネル・オーディオ・プログラムをエンコードするための回路を表わす)では、第一のプリミティブ行列P
0-1(四つの0でないα係数の一つの行をもつ)は、チャネルS1の関連するサンプルをチャネルS2、S3、S4の(同じ時刻tに生起する)対応するサンプルと混合することによって、チャネルS1の各サンプルに作用する(それによりエンコードされたチャネルS1'を生成する)。第二のプリミティブ行列P
1-1(やはり四つの0でないα係数の一つの行をもつ)は、チャネルS2の関連するサンプルをチャネルS1'、S3、S4の対応するサンプルと混合することによって、チャネルS2の各サンプルに作用する(それによりエンコードされたチャネルS2'の対応するサンプルを生成する)。より具体的には、チャネルS2のサンプルは、行列P
0-1の係数α
1(「coeff[1,2]」として同定されている)の逆を乗算され、チャネルS3のサンプルは、行列P
0-1の係数α
2(「coeff[1,3]」として同定されている)の逆を乗算され、チャネルS4のサンプルは、行列P
0-1の係数α
3(「coeff[1,4]」として同定されている)の逆を乗算され、それらの積が合計され、次いで量子化され、量子化された和が次いでチャネルS1の対応するサンプルから減算される。同様に、チャネルS1のサンプルは、行列P
1-1の係数α
0(「coeff[2,1]」として同定されている)の逆を乗算され、チャネルS3のサンプルは、行列P
1-1の係数α
2(「coeff[2,3]」として同定されている)の逆を乗算され、チャネルS4のサンプルは、行列P
1-1の係数α
3(「coeff[2,4]」として同定されている)の逆を乗算され、それらの積が合計され、次いで量子化され、量子化された和が次いでチャネルS2の対応するサンプルから減算される。行列P
0-1の量子化段Q1は、(典型的には半端な(fractional)値である行列P
0-1の0でないα係数による)乗算の積を合計する加算要素の出力を量子化して、量子化された値を生成し、該量子化された値が、チャネルS1のサンプルから減算されて、エンコードされたチャネルS1'の対応するサンプルを生成する。行列P
1-1の量子化段Q2は、(典型的には半端な(fractional)値である行列P
1-1の0でないα係数による)乗算の積を合計する加算要素の出力を量子化して、量子化された値を生成し、該量子化された値が、チャネルS2のサンプルから減算されて、エンコードされたチャネルS2'の対応するサンプルを生成する。(たとえばトゥルーHDエンコードを実行するための)典型的な実装では、チャネルS1、S2、S3、S4のそれぞれの各サンプルは(
図2のAに示されるように)24ビットを有し、各乗算要素の出力は(やはり
図2のAに示されるように)38ビットを有し、量子化段Q1およびQ2のそれぞれは、それに入力される各38ビット値に応答して24ビットの量子化された値を出力する。
【0040】
むろん、チャネルS3およびS4をエンコードするために、二つの追加的なプリミティブ行列が、
図2のAに示される二つのプリミティブ行列(P
0-1およびP
1-1)とカスケードされることができる。
【0041】
(
図2のAのエンコーダによって生成される4チャネルのエンコードされたプログラムのデコードのための回路を表わす)
図2のBでは、プリミティブ行列P
1(四つの0でないα係数の一つの行をもち、行列P
1-1の逆)は、チャネルS1'、S3、S4のサンプルをチャネルS2'の関連するサンプルと混合することによって、エンコードされたチャネルS2'の各サンプルに作用する(それによりデコードされたチャネルS2の対応するサンプルを生成する)。第二のプリミティブ行列P
0(やはり四つの0でないα係数の一つの行をもち、行列P
0-1の逆)は、チャネルS2、S3、S4のサンプルをチャネルS1'の関連するサンプルと混合することによって、エンコードされたチャネルS1'の各サンプルに作用する(それによりデコードされたチャネルS1の対応するサンプルを生成する)。より具体的には、チャネルS1'のサンプルは、行列P
1の係数α
0(「coeff[2,1]」として同定されている)を乗算され、チャネルS3のサンプルは、行列P
1の係数α
2(「coeff[2,3]」として同定されている)を乗算され、チャネルS4のサンプルは、行列P
1の係数α
3(「coeff[2,4]」として同定されている)を乗算され、それらの積が合計され、次いで量子化され、量子化された和が次いでチャネルS1'の対応するサンプルに加算される。同様に、チャネルS2'のサンプルは、行列P
0の係数α
1(「coeff[1,2]」として同定されている)を乗算され、チャネルS3のサンプルは、行列P
0の係数α
2(「coeff[1,3]」として同定されている)を乗算され、チャネルS4のサンプルは、行列P
0の係数α
3(「coeff[1,4]」として同定されている)を乗算され、それらの積が合計され、次いで量子化され、量子化された和が次いでチャネルS1'の対応するサンプルに加算される。行列P
1の量子化段Q2は、(典型的には半端な値である行列P
1の0でないα係数による)乗算の積を合計する加算要素の出力を量子化して、量子化された値を生成し、該量子化された値が、チャネルS2'のサンプルに加算されて、デコードされたチャネルS2の対応するサンプルを生成する。行列P
0の量子化段Q1は、(典型的には半端な値である行列P
0の0でないα係数による)乗算の積を合計する加算要素の出力を量子化して、量子化された値を生成し、該量子化された値が、チャネルS1'のサンプルに加算されて、デコードされたチャネルS1の対応するサンプルを生成する。(たとえばトゥルーHDデコードを実行するための)典型的な実装では、チャネルS1'、S2'、S3、S4のそれぞれの各サンプルは(
図2のBに示されるように)24ビットを有し、各乗算要素の出力は(やはり
図2のBに示されるように)38ビットを有し、量子化段Q1およびQ2のそれぞれは、それに入力される各38ビット値に応答して24ビットの量子化された値を出力する。
【0042】
むろん、チャネルS3およびS4をデコードするために、二つの追加的なプリミティブ行列が、
図2のBに示される二つのプリミティブ行列(P
0およびP
1)とカスケードされることができる。
【0043】
ベクトル(N個のサンプル;そのそれぞれがN個のチャネルの第一の集合の異なるチャネルのサンプルである)に対して作用するプリミティブ行列のシーケンス、たとえば
図1のデコーダ32によって実装されるプリミティブN×N行列P
0,P
1,…,P
nのシーケンスは、前記N個のサンプルの、N個のサンプルの新しい集合への任意の線形変換を実装することができる(たとえば、オブジェクト・ベースのオーディオ・プログラムのN個のチャネルのサンプルに、該サンプルのN個のスピーカー・フィードへのレンダリングの間に、式(1)の行列A(t)の任意のN×N実装を乗算することによって、時刻tにおいて実行される前記線形変換を実装することができる。ここで、前記変換は、ある時刻において一つのチャネルを操作することによって達成される)。こうして、N個のオーディオ・サンプルの集合に、N×Nのプリミティブ行列のシーケンスを乗算することは、N個のサンプルの前記集合が線形演算によって(N個のサンプルの)別の集合に変換されるシナリオの一般的な集合を表わす。
【0044】
再び
図1のデコーダ32のトゥルーHD実装を参照するに、トゥルーHDにおけるデコーダ・アーキテクチャの一様性を維持するために、ダウンミックス・サブストリームの出力行列(
図1におけるP
02,P
12)は、無損失を達成することに関連しないので可逆である(または単位対角線をもつ)必要はないのであるが、やはりプリミティブ行列として実装される。
【0045】
トゥルーHDエンコーダおよびデコーダにおいて用いられる入力および出力行列は、実装されるべき各特定のダウンミックス指定に依存する。トゥルーHDデコーダの機能は、受領されたエンコードされたオーディオ・ビットストリームに、プリミティブ行列の適切なカスケードを適用することである。このように、
図1のトゥルーHDデコーダは、(システムDによって送達される)エンコードされたビットストリームの8個のチャネルをデコードし、デコードされたビットストリームの該チャネルの部分集合に対して二つの出力プリミティブ行列P
02,P
12のカスケードを適用することによって、2チャネル・ダウンミックスを生成する。
図1のデコーダ32のトゥルーHD実装はまた、(システムDによって送達される)エンコードされたビットストリームの8個のチャネルをデコードして、エンコードされたビットストリームの該チャネルに対して8個の出力プリミティブ行列P
0,P
1,…,P
nののカスケードを適用することによって、もとの8チャネル・プログラムを無損失で復元するようにも動作可能である。
【0046】
トゥルーHDデコーダは、再生が無損失である(またはダウンミックスの場合においてはエンコーダによって他の仕方で所望されるとおりである)かどうかを判定するために突き合わせてチェックすべき(エンコーダに入力された)もとのオーディオをもたない。しかしながら、エンコードされたビットストリームは、「検査語」(または無損失チェック)を含んでおり、再生が忠実であるかどうかを判定するために、これが、再生されたオーディオからデコーダにおいて導出される同様の語に対して比較される。
【0047】
オブジェクト・ベースのオーディオ・プログラム(たとえば、8個より多くのチャネルを含む)が通常のトゥルーHDエンコーダによってエンコードされた場合、エンコーダは、レガシー再生装置と互換な呈示(たとえば、伝統的な7.1チャネルまたは5.1チャネルまたは他の伝統的なスピーカー・セットアップでの再生のためのダウンミックスされたスピーカー・フィードにデコードされることのできる呈示)を担持するダウンミックス・サブストリームと、トップ・サブストリーム(入力プログラムのすべてのチャネルを示す)とを生成しうる。トゥルーHDデコーダは、再生システムによる無損失レンダリングのために、もとのオブジェクト・ベースのオーディオ・プログラムを復元してもよい。この場合にエンコーダによって(すなわち、トップ・サブストリームおよび各ダウンミックス・サブストリームを生成するために)用いられる各レンダリング行列指定は、よってエンコーダによって決定される各出力行列は、プログラムのチャネルのサンプルを(たとえば7.1チャネルまたは5.1チャネル・ダウンミックスを生成するために)線形変換する時間変化するレンダリング行列A(t)であってもよい。しかしながら、そのような行列A(t)は典型的には、諸オブジェクトが空間的シーンにおいて動き回るので、時間的に素速く変化し、通常のトゥルーHDシステム(または他の通常のデコード・システム)のビットレートおよび処理の制限は典型的には、高々、そのような連続的に(かつ素速く)変化する行列指定に対する区分的に一定な近似を受け入れることができるようにシステムを制約する(エンコードされたプログラムの伝送のための増大したビットレートを代償として、より高い行列更新レートが達成される)。プログラムの諸チャネルからのコンテンツの素速く変化する混合を示すスピーカー・フィードをもつ、オブジェクト・ベースのマルチチャネル・オーディオ・プログラム(および他のマルチチャネル・オーディオ・プログラム)のレンダリングをサポートするために、発明者らは、補間された行列処理を受け入れるよう通常のシステムを向上させることが望ましいことを認識するに至った。ここで、レンダリング行列更新は頻繁ではなく、更新間の所望される軌跡(すなわち、プログラムの諸チャネルのコンテンツの混合の所望されるシーケンス)はパラメトリック的に指定される。
【発明を実施するための形態】
【0068】
〈記法および命名法〉
請求項を含む本開示を通じて、信号またはデータ「に対して」動作を実行する(たとえば信号またはデータをフィルタリングする、スケーリングする、変換するまたは利得を適用する)という表現は、信号またはデータに対して直接的に、または信号またはデータの処理されたバージョンに対して(たとえば、予備的なフィルタリングまたは前処理を該動作の実行に先立って受けている前記信号のバージョンに対して)該動作を実行することを表わすために広義で使用される。
【0069】
請求項を含む本開示を通じて、「システム」という表現は、装置、システムまたはサブシステムを表わす広義で使用される。たとえば、デコーダを実装するサブシステムは、デコーダ・システムと称されてもよく、そのようなサブシステムを含むシステム(たとえば、複数の入力に応答してY個の出力信号を生成するシステムであって、前記サブシステムが入力のうちのM個を生成し、他のY−M個の入力は外部源から受領されるもの)もデコーダ・システムと称されることがある。
【0070】
請求項を含む本開示を通じて、用語「プロセッサ」は、データ(たとえばオーディオまたはビデオまたは他の画像データ)に対して動作を実行するよう(たとえばソフトウェアまたはファームウェアを用いて)プログラム可能または他の仕方で構成可能であるシステムまたは装置を表わす広義で使用される。プロセッサの例は、フィールド・プログラム可能なゲート・アレイ(または他の構成可能な集積回路またはチップセット)、オーディオまたは他のサウンド・データに対してパイプライン化された処理を実行するようプログラムされたおよび/または他の仕方で構成されたデジタル信号プロセッサ、プログラム可能な汎用プロセッサもしくはコンピュータおよびプログラム可能なマイクロプロセッサ・チップまたはチップセットを含む。
【0071】
請求項を含む本開示を通じて、「メタデータ」という表現は、対応するオーディオ・データ(メタデータをも含むビットストリームのオーディオ・コンテンツ)とは別個の異なるデータを指す。メタデータは、オーディオ・データに関連付けられ、該オーディオ・データの少なくとも一つの特徴または特性(たとえばそのオーディオ・データまたはそのオーディオ・データによって示されるオブジェクトの軌跡に対してどの型(単数または複数)の処理がすでに実行されているか、あるいは実行されるべきか)を示す。メタデータのオーディオ・データとの関連付けは、時間同期的である。このように、現在の(最も最近受領または更新された)メタデータは、対応するオーディオ・データが同時的に、示される特徴をもつおよび/または示される型のオーディオ・データ処理の結果を含むことを示しうる。
【0072】
請求項を含む本開示を通じて、「結合する」または「結合される」という用語は、直接的または間接的な接続を意味するために使われる。よって、第一の装置が第二の装置に結合するとき、その接続は、直接接続を通じてであってもよいし、他の装置および接続を介した間接的な接続を通じてであってもよい。
【0073】
請求項を含む本開示を通じて、以下の表現は以下の定義をもつ。
【0074】
スピーカーおよびラウドスピーカーは、任意の音を発するトランスデューサを表わすものとして同義に使われる。この定義は、複数のトランスデューサ(たとえばウーファーおよびツイーター)として実装されるラウドスピーカーを含む。
【0075】
スピーカー・フィード:ラウドスピーカーに直接加えられるオーディオ信号または直列の増幅器およびラウドスピーカーに加えられるオーディオ信号。
【0076】
チャネル(または「オーディオ・チャネル」):モノフォニック・オーディオ信号。そのような信号は典型的には、該信号を所望されるまたは公称上の位置にあるラウドスピーカーに直接加えるのと等価であるようにレンダリングされることができる。所望される位置は、物理的なラウドスピーカーについて典型的にそうであるように静的であってもよく、あるいは動的であってもよい。
【0077】
オーディオ・プログラム:一つまたは複数のオーディオ・チャネル(少なくとも一つのスピーカー・チャネルおよび/または少なくとも一つのオブジェクト・チャネル)および任意的には関連するメタデータ(たとえば、所望される空間的オーディオ呈示を記述するメタデータ)の集合。
【0078】
スピーカー・チャネル(または「スピーカー・フィード・チャネル」):(所望されるまたは公称上の位置にある)指定されたラウドスピーカーに関連付けられているまたは定義されたスピーカー配位内での指定されたスピーカー・ゾーンに関連付けられているオーディオ・チャネル。スピーカー・チャネルは、該オーディオ信号を(所望されるまたは公称上の位置にある)指定されたラウドスピーカーにまたは指定されたスピーカー・ゾーン内のスピーカーに直接加えるのと等価であるようにレンダリングされる。
【0079】
オブジェクト・チャネル:オーディオ源(時にオーディオ「オブジェクト」と称される)によって発される音を示すオーディオ・チャネル。典型的には、オブジェクト・チャネルは、パラメトリックなオーディオ源記述を決定する(たとえば、パラメトリックなオーディオ源記述を示すメタデータがオブジェクト・チャネル内に含められるまたはオブジェクト・チャネルと一緒に提供される)。源記述は、(時間の関数としての)源によって発された音、時間の関数としての源の見かけの位置(たとえば、3D空間座標)および任意的には源を特徴付ける少なくとも一つの追加的パラメータ(たとえば見かけの源サイズまたは幅)を決定してもよい。
【0080】
オブジェクト・ベースのオーディオ・プログラム:一つまたは複数のオブジェクト・チャネルの集合を(および任意的には少なくとも一つのスピーカー・チャネルも)および任意的には関連するメタデータ(たとえば、オブジェクト・チャネルによって示される音を発するオーディオ・オブジェクトの軌跡を示すメタデータ、あるいは他の仕方でオブジェクト・チャネルによって示される音の所望される空間的オーディオ呈示を示すメタデータまたはオブジェクト・チャネルによって示される音の源である少なくとも一つのオーディオ・オブジェクトの識別情報を示すメタデータ)も含むオーディオ・プログラム。
【0081】
〈発明の実施形態の詳細な説明〉
本発明の実施形態の例は
図3、
図4、
図5および
図6を参照して記述される。
【0082】
図5は、エンコーダ40(本発明のエンコーダの実施形態)と、送達サブシステム41(これは
図1の送達サブシステム31と同一であってもよい)と、デコーダ42(本発明のデコーダの実施形態)とを図のように結合された形で含む本発明のオーディオ・データ処理システムの実施形態のブロック図である。サブシステム42はここでは「デコーダ」と称されるが、これはデコード・サブシステム(エンコードされたマルチチャネル・オーディオ・プログラムを示すビットストリームをパースし、デコードするよう構成されている)およびデコード・サブシステムの出力のレンダリングおよび再生の少なくともいくつかのステップを実装するよう構成された他のサブシステムを含む再生システムとして実装されてもよいことは理解しておくべきである。本発明のいくつかの実施形態は、レンダリングおよび/または再生を実行するよう構成されていない(そして典型的には別個のレンダリングおよび/または再生システムと一緒に使われる)デコーダである。本発明のいくつかの実施形態は、再生システム(たとえば、デコード・サブシステムと、デコード・サブシステムの出力のレンダリングおよび再生の少なくともいくつかのステップを実装するよう構成された他のサブシステムとを含む再生システム)である。
【0083】
図5のシステムでは、エンコーダ40は、8チャネル・オーディオ・プログラム(たとえば伝統的な7.1スピーカー・フィードの集合)を、二つのサブストリームを含むエンコードされたビットストリームとしてエンコードするよう構成されており、デコーダ42は、該エンコードされたビットストリームをデコードしてもとの8チャネル・プログラムを(無損失で)、あるいはもとの8チャネル・プログラムの2チャネル・ダウンミックスを、デコードするよう構成されている。エンコーダ40は、エンコードされたビットストリームを生成し、該エンコードされたビットストリームを送達システム41に呈するよう結合され、構成されている。
【0084】
送達システム41は、エンコードされたビットストリームをデコーダ42に(たとえば記憶することおよび/または送信することによって)送達するよう結合され、構成されている。いくつかの実施形態では、システム41は、放送システムまたはネットワーク(たとえばインターネット)を通じてデコーダ42に、エンコードされたマルチチャネル・オーディオ・プログラムを送達することを実装する(たとえば送信する)。いくつかの実施形態では、システム41は、エンコードされたマルチチャネル・オーディオ・プログラムを記憶媒体(たとえばディスクまたは一組のディスク)に記憶し、デコーダ42は該記憶媒体からプログラムを読むよう構成される。
【0085】
エンコーダ40において「InvChAssign1」とラベル付けされたブロックは、入力プログラムのチャネルに対するチャネル入れ替え(置換行列による乗算と等価)を実行するよう構成される。置換された行列は次いで段43においてエンコードを受け、段43は八つのエンコードされた信号チャネルを出力する。エンコードされた信号チャネルは、再生スピーカー・チャネルに対応してもよい(だが必須ではない)。エンコードされた信号チャネルは時に、「内部」チャネルと称される。デコーダ(および/またはレンダリング・システム)は典型的にはエンコードされた信号チャネルのコンテンツをデコードし、レンダリングして入力オーディオを復元し、よってエンコードされた信号チャネルはエンコード/デコード・システムの「内部」だからである。段43において実行されるエンコードは、置換されたチャネルのサンプルの各集合にエンコード行列(P
n-1,…、P
1-1,P
0-1として特定される行列乗算のカスケードとして実装される)を乗算することと等価である。
【0086】
nはこの例示的実施形態においては7に等しくてもよいが、本実施形態およびそれに対する変形において、入力オーディオ・プログラムは任意の数(NまたはX)のチャネルを含む。ここで、N(またはX)は1より大きな任意の整数である。
図5のnはn=N−1(あるいは、n=X−1または他の値)であってもよい。そのような代替的な実施形態では、エンコーダは、マルチチャネル・オーディオ・プログラムを、何らかの数のサブストリームを含むエンコードされたビットストリームとしてエンコードするよう構成され、デコーダは、エンコードされたビットストリームをデコードして、もとのマルチチャネル・プログラムを(無損失で)またはもとのマルチチャネル・プログラムの一つまたは複数のダウンミックスをレンダリングするよう構成される。たとえば、そのような代替的な実施形態のエンコード段(段43に対応)は、プログラムのチャネルのサンプルに対してN×Nプリミティブ行列のカスケードを適用し、M個の出力チャネルの第一の混合に変換されることができるN個のエンコードされた信号チャネルを生成してもよい。ここで、前記第一の混合は、該第一の混合が少なくとも実質的にA(t1)に等しいという意味で、ある区間で指定された時間変化する混合A(t)に整合する。ここで、t1は該区間内のある時刻である。デコーダは、エンコードされたオーディオ・コンテンツの一部として受領されたN×Nプリミティブ行列のカスケードを適用することによって前記M個の出力チャネルを生成してもよい。そのような代替的な実施形態におけるエンコーダは、M1×M1プリミティブ行列(M1はN未満の整数)の第二のカスケードをも生成してもよく、該第二のカスケードも前記エンコードされたオーディオ・コンテンツに含められてもよい。デコーダは、第二のカスケードをM1個のエンコードされた信号チャネルに対して適用して、Nチャネル・プログラムのM1個のスピーカー・チャネルへのダウンミックスを実装してもよい。ここで、ダウンミックスは、該ダウンミックスが少なくとも実質的にA
2(t1)に等しいという意味で、別の時間変化する混合A
2(t)と整合する。そのような代替的な実施形態におけるエンコーダは、(本発明の任意の実施形態に従って)補間値をも生成し、該補間値を、当該エンコーダから出力される前記エンコードされたビットストリームに含める。時間変化する混合A(t)に従って前記エンコードされたビットストリームのコンテンツをデコードおよびレンダリングするためおよび/または時間変化する混合A
2(t)に従って前記エンコードされたビットストリームのコンテンツのダウンミックスをデコードおよびレンダリングするためのデコーダによる使用のためである。
【0087】
図5の記述は時に、本発明のエンコーダに入力されるマルチチャネル信号を、具体性のために、8チャネル入力信号と称するが、該記述は(当業者に明白なトリビアルな変形ともども)、8チャネル入力信号への言及をNチャネル入力信号への言及で置換し、8チャネル(または2チャネル)プリミティブ行列のカスケードへの言及をMチャネル(またはM1チャネル)プリミティブ行列への言及で置換し、8チャネル入力信号の無損失復元への言及をMチャネル・オーディオ信号の無損失復元への言及で置換することによって、一般的な場合にも当てはまる。(ここで、Mチャネル・オーディオ信号は、Nチャネル入力オーディオ信号に時間変化する混合A(t)を適用してM個のエンコードされた信号チャネルを決定する行列演算を実行することによって決定されたものである。)
図5のエンコーダ段43を参照するに、各行列P
n-1,…,P
1-1およびP
0-1は(よって段43によって適用されるカスケードは)、前記時間区間上で指定されている、プログラムのN(N=8)個のチャネルのN個のエンコードされた信号チャネルへの指定された時間変化する混合に従って、サブシステム44において決定され、時折(典型的には低頻度で)更新される。
【0088】
行列決定サブシステム44は、出力行列の二つの集合(エンコードされたチャネルの二つのサブストリームのそれぞれに対応して一つの集合)の係数を示すデータを生成するよう構成される。出力行列の各集合は時折更新され、よって係数も時折更新される。出力行列の一方の集合は二つのレンダリング行列P
02(t),P
12(t)からなり、このそれぞれは次元2×2のプリミティブ行列(好ましくは単位プリミティブ行列)であり、エンコードされたビットストリームのエンコードされたオーディオ・チャネルのうちの二つを含む第一のサブストリーム(ダウンミックス・サブストリーム)をレンダリング(して前記8チャネル入力オーディオの2チャネル・ダウンミックスをレンダリング)するためである。出力行列の他方の集合は八個のレンダリング行列P
0(t),P
1(t),…,P
n(t)からなり、このそれぞれは次元8×8のプリミティブ行列(好ましくは単位プリミティブ行列)であり、エンコードされたビットストリームのエンコードされたオーディオ・チャネルの八個全部を含む第二のサブストリームをレンダリング(して前記8チャネル入力オーディオ・プログラムを無損失復元)するためである。各時刻tについて、レンダリング行列P
02(t),P
12(t)のカスケードは、前記第一のサブストリームにおける二つのエンコードされた信号チャネルから前記2チャネル・ダウンミックスをレンダリングする前記第一のサブストリームのチャネルのためのレンダリング行列として解釈されることができる。同様にレンダリング行列P
0(t),P
1(t),…,P
n(t)のカスケードは、前記第二のサブストリームのチャネルのためのレンダリング行列として解釈されることができる。
【0089】
サブシステム44からパッキング・サブシステム45に出力される(各レンダリング行列の)係数は、プログラムのチャネルの対応する混合に含められるべき各チャネルの相対または絶対利得を示すメタデータである。(プログラムの間のある時点についての)各レンダリング行列の係数は、混合の各チャネルが、特定の再生システム・スピーカーのためのスピーカー・フィードによって示される(レンダリングされた混合の対応する時点における)オーディオ・コンテンツの混合にどのくらい寄与するべきかを表わす。
【0090】
(エンコード段43から出力される)8個のエンコードされたオーディオ・チャネル、(サブシステム44によって生成される)出力行列係数および典型的にはまた追加的データが、パッキング・サブシステム45に呈される。パッキング・サブシステム45は、それらをエンコードされたビットストリームにまとめ、該ビットストリームがその後送達システム41に呈される。
【0091】
エンコードされたビットストリームは、8個のエンコードされたオーディオ・チャネル、時間変化する出力行列の前記二つの集合(エンコードされたチャネルの二つのサブストリームのそれぞれに対応して一つの集合)および典型的にはまた追加的なデータ(たとえばオーディオ・コンテンツに関するメタデータ)を示すデータを含む。
【0092】
動作では、エンコーダ40(および本発明のエンコーダの代替的実施形態、たとえば
図6のエンコーダ100)は、ある時間区間に対応するサンプルをもつNチャネル・オーディオ・プログラムをエンコードする。該時間区間は、時刻t1からt2の部分区間を含む。N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)が前記時間区間上で指定されているとき、エンコーダは、
N個のエンコードされた信号チャネルのサンプルに適用されるときにN個のエンコードされた信号チャネルのオーディオ・コンテンツのM個の出力チャネルへの第一の混合を実装するN×Nプリミティブ行列(たとえば時刻t1について行列P
0(t1),P
1(t1),…,P
n(t1))の第一のカスケードを決定する段階であって、前記第一の混合は、該第一の混合が少なくとも実質的にA(t1)に等しいという意味で時間変化する混合A(t)に整合する、段階と;
前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって、エンコードされたオーディオ・コンテンツ(たとえば、エンコーダ40の段43の出力またはエンコーダ100の段103の出力)を生成する段階であって、該サンプルに行列カスケードのシーケンスを適用することによることを含み、前記シーケンスにおける各行列カスケードは、プリミティブ行列のカスケードであり、行列カスケードの前記シーケンスは、前記第一のカスケードの前記プリミティブ行列の逆行列のカスケードである第一の逆行列カスケードを含む、段階と;
(たとえば段44または段103の出力に含まれる)プリミティブ行列の前記第一のカスケードおよび前記部分区間上で定義される補間関数とともに、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを示す補間値(たとえばエンコーダ40の段44の出力またはエンコーダ100の段103の出力に含まれる補間値)を決定する段階であって、更新されたプリミティブ行列の各カスケードは、N個のエンコードされた信号チャネルのサンプルに適用されるとき、N個のエンコードされた信号チャネルのM個の出力チャネルへの、前記部分区間における異なる時刻に関連付けられた更新された混合を実装し、それぞれの前記更新された混合は、時間変化する混合A(t)と整合する。(すべての実施形態において)必ずではないが好ましくは、各更新された混合は、前記部分区間における任意の時刻t3に関連付けられた更新された混合が少なくとも実質的にA(t3)に等しいという意味で、時間変化する混合と整合する、段階と;
前記エンコードされたオーディオ・コンテンツ、前記補間値およびプリミティブ行列の前記第一のカスケードを示すエンコードされたビットストリーム(たとえばエンコーダ40の段45の出力またはエンコーダ100の段104の出力)を生成する段階とを実行する。
【0093】
図5の段44を参照するに、出力行列の各集合(集合P
02,P
12または集合P
0,P
1,…,P
n)は時折更新される。(第一の時刻t1において)出力される行列の第一の集合P
02,P
12は、プログラムの間の第一の時刻において(すなわち該第一の時刻に対応する、段43のエンコードされた出力の二つのチャネルのサンプルに対して)実行されるべき線形変換を決定するシード行列(単位プリミティブ行列のカスケードとして実装される)である。(第一の時刻t1において)出力される行列の第一の集合P
0,P
1,…,P
nも、プログラムの間の第一の時刻において(すなわち該第一の時刻に対応する、段43のエンコードされた出力の八つすべてのチャネルのサンプルに対して)実行されるべき線形変換を決定するシード行列(単位プリミティブ行列のカスケードとして実装される)である。段44から出力される行列P
02,P
12の各更新された集合は、プログラムの間の更新時刻において(すなわち該更新時刻に対応する、段43のエンコードされた出力の二つのチャネルのサンプルに対して)実行されるべき線形変換を決定する更新されたシード行列(単位シード・プリミティブ行列のカスケードと称されてもよい、単位プリミティブ行列のカスケードとして実装される)である。段43から出力される行列P
0,P
1,…,P
nの各更新された集合も、プログラムの間の更新時刻において(すなわち前記第一の時刻に対応する、段43のエンコードされた出力の八つすべてのチャネルのサンプルに対して)実行されるべき線形変換を決定するシード行列(単位シード・プリミティブ行列のカスケードと称されてもよい、単位プリミティブ行列のカスケードとして実装される)である。
【0094】
出力段44は、補間値をも出力する。該補間値は、(各シード行列についての補間関数とともに)デコーダ42が(第一の時刻t1よりあとで更新時刻の間の諸時刻に対応する)諸シード行列の補間されたバージョンを生成できるようにする。補間値(これは各補間関数を示すデータを含んでいてもよい)は、段45によって、エンコーダ40から出力されるエンコードされたビットストリームに含められる。そのような補間値の例は後述する(補間値は、各シード行列についてのデルタ行列を含んでいてもよい)。
【0095】
図5のデコーダ42を参照するに、(デコーダ42の)パース・サブシステム46は、送達システム41から、エンコードされたビットストリームを受け入れ(読み取りまたは受領し)、該エンコードされたビットストリームをパースする。サブシステム46は、エンコードされたビットストリームのサブストリーム(エンコードされたビットストリームの二つのエンコードされたチャネルのみを含む「第一の」サブストリームを含む)および前記第一のサブストリームに対応する出力行列(P
02,P
12)を行列乗算段48(その処理の結果、もとの8チャネル入力プログラムのコンテンツの2チャネル・ダウンミックス呈示が生じる)に呈するよう動作可能である。サブシステム46はまた、エンコードされたビットストリームのサブストリーム(エンコードされたビットストリームの8個全部のエンコードされたチャネルを含む「第二の」サブストリーム)および対応する出力行列(P
0,P
1,…,P
n)を行列乗算段47に呈するようにも動作可能である。行列乗算段47の処理の結果、もとの8チャネル・プログラムが無損失再現される。
【0096】
パース・サブシステム46(および
図6のパース・サブシステム106)は、追加的な無損失エンコードおよびデコード・ツール(たとえば、LPC符号化、ハフマン符号化など)を含んでいてもよい(および/または実装していてもよい)。
【0097】
補間段60は、エンコードされたビットストリームに含まれている、前記第二のサブストリームについての各シード行列(すなわち、時刻t1についてのプリミティブ行列の初期集合P
0,P
1,…,P
nおよびプリミティブ行列P
0,P
1,…,P
nの各更新された集合)と、(やはりエンコードされたビットストリームに含まれている)前記補間値とを受領するよう結合される。各シード行列の補間されたバージョンを生成するためである。段60は、そのような各シード行列を(段47に)素通しにしそのような各シード行列の補間されたバージョンを生成(して段47に呈)するよう結合され、構成される。(それぞれの補間されたバージョンは、第一の時刻t1よりあとでありかつ最初のシード行列更新時刻より前の、あるいはその後のシード行列更新時刻の間の時刻に対応する。)
補間段61は、エンコードされたビットストリームに含まれている、前記第一のサブストリームについての各シード行列(すなわち、時刻t1についてのプリミティブ行列の初期集合P
02,P
12およびプリミティブ行列P
02,P
12の各更新された集合)と、(やはりエンコードされたビットストリームに含まれている)前記補間値とを受領するよう結合される。各シード行列の補間されたバージョンを生成するためである。段61は、そのような各シード行列を(段48に)素通しにしそのような各シード行列の補間されたバージョンを生成(して段48に呈)するよう結合され、構成される。(それぞれの補間されたバージョンは、第一の時刻t1よりあとでありかつ最初のシード行列更新時刻より前の、あるいはその後のシード行列更新時刻の間の時刻に対応する。)
段48は、第一のサブストリームのチャネルに対応する(エンコードされたビットストリームの)二つのチャネルの二つのオーディオ・サンプルに、行列P
02,P
12の最も最近に更新されたカスケード(たとえば、段61によって生成された行列P
02,P
12の最も最近に補間されたバージョンのカスケード)を乗算し、二つの線形変換されたサンプルの、結果として得られる各集合は「ChAssign0」とタイトル付けされたブロックによって表わされるチャネル置換(置換行列による乗算と等価)を受け、8個のもとのオーディオ・チャネルの、要求される2チャネル・ダウンミックスのサンプルの各対を与える。エンコーダ40およびデコーダ42において実行される行列処理動作のカスケードは、8個の入力オーディオ・チャネルを2チャネル・ダウンミックスに変換するダウンミックス行列指定の適用と等価である。
【0098】
段47は、8個のオーディオ・サンプルの各ベクトル(エンコードされたビットストリームの8個のチャネルのフル集合のそれぞれから一つ)に行列P
0,P
1,…,P
nの最も最近に更新されたカスケード(たとえば、段60によって生成された行列P
0,P
1,…,P
nの最も最近に補間されたバージョンのカスケード)を乗算し、8個の線形変換されたサンプルの、結果として得られる各集合は「ChAssign1」とラベル付けされたブロックによって表わされるチャネル置換(置換行列による乗算と等価)を受け、無損失復元されたもとの8チャネル・プログラムの8個のサンプルの各集合を与える。(本システムの「無損失」特性を達成するよう)出力8チャネル・オーディオが厳密に入力8チャネル・オーディオと同じであるためには、エンコーダ40において実行される行列処理動作は、(量子化効果を含め)厳密に、エンコードされたビットストリームの前記第二のサブストリームに対してデコーダ42において実行される行列処理動作(すなわち、デコーダ42の段47における行列P
0,P
1,…,P
nのカスケードの各乗算)の逆であるべきである。こうして、
図5では、エンコーダ40の段43における行列処理動作は、行列P
0,P
1,…,P
nの逆行列の、デコーダ42の段47において適用される反対シーケンスでのカスケード、すなわちP
n-1,…、P
1-1,P
0-1として特定される。
【0099】
このように、段47は、(置換段ChAssign1とともに)補間段60から出力されるプリミティブ行列の各カスケードを、エンコードされたビットストリームから抽出されたエンコードされたオーディオ・コンテンツに逐次的に適用して、エンコーダ40によってエンコードされたマルチチャネル・オーディオ・プログラムの少なくともあるセグメントのN個のチャネルを無損失に復元するよう結合され、構成された行列乗算サブシステムである。
【0100】
デコーダ42の置換段ChAssign1は、段47の出力に、デコーダ40によって適用されたチャネル置換の逆を適用する(すなわち、デコーダ42の段「ChAssign1」によって表わされる置換行列は、エンコーダ40の要素「InvChAssign1」によって表わされるものの逆である)。
【0101】
図5に示されるシステムのサブシステム40および42の変形において、要素の一つまたは複数が省略されるまたは追加的なオーディオ・データ処理ユニットが含められる。
【0102】
デコーダ42の記述される実施形態の変形では、本発明のデコーダは、N個のエンコードされた信号チャネルを示すエンコードされたビットストリームからの、エンコードされたオーディオ・コンテンツのNチャネルの無損失復元を実行するよう構成される。ここで、オーディオ・コンテンツの前記Nチャネル自身が、Xチャネル入力オーディオ・プログラム(Xは任意の整数であり、NはX未満)のオーディオ・コンテンツのダウンミックスであって、前記Xチャネルの入力オーディオ・プログラムに対して時間変化する混合を適用するよう前記Xチャネル入力オーディオ・プログラムに対して行列演算を実行し、それにより前記エンコードされたビットストリームのエンコードされたオーディオ・コンテンツの前記Nチャネルを決定することにより生成されたものである。そのような変形では、デコーダは、エンコードされたビットストリームと一緒に提供される(たとえばエンコードされたビットストリームに含まれる)プリミティブN×N行列に対して補間を実行する。
【0103】
あるクラスの実施形態では、本発明は、マルチチャネル・オーディオ・プログラムをレンダリングする方法であって、(たとえば前記プログラムのコンテンツのダウンミックスを生成するよう)前記プログラムのチャネルのサンプルに対して線形変換(行列乗算)を実行することによることを含む。前記線形変換は、前記プログラムの間のある時点において(すなわち、その時刻に対応するチャネルのサンプルに対して)実行されるべき線形変換が、前記プログラムの間の別の時点において実行されるべき線形変換と異なるという意味で時間独立である。いくつかの実施形態では、本方法は、前記プログラムの間の第一の時刻において(すなわち、該第一の時刻に対応するチャネルのサンプルに対して)実行されるべき線形変換を決定する少なくとも一つのシード行列(これは単位プリミティブ行列のカスケードとして実装されてもよい)を用い、前記プログラムの間の第二の時刻において実行されるべき線形変換を決定する前記シード行列の少なくとも一つの補間されたバージョンを決定するよう補間を実装する。典型的な実施形態では、本方法は、再生システムに含まれるまたは再生システムに関連付けられているデコーダ(たとえば
図5のデコーダ40または
図6のデコーダ102)によって実行される。典型的には、デコーダは、前記プログラムを示すエンコードされたオーディオ・ビットストリームのオーディオ・コンテンツの無損失の復元を実行するよう構成され、前記シード行列(および前記シード行列の各補間されたバージョン)は、プリミティブ行列(たとえば単位プリミティブ行列)のカスケードとして実装される。
【0104】
典型的には、レンダリング行列更新(前記シード行列の更新)は低頻度で起こる(たとえば、前記シード行列の更新されたバージョンのシーケンスは、デコーダに送達されるエンコードされたオーディオ・ビットストリームに含められるが、そのような更新されたバージョンの相続くものに対応する当該プログラムのセグメントの間には長い時間区間がある)。シード行列更新間の所望されるレンダリング軌跡(たとえば、当該プログラムのチャネルのコンテンツの混合の所望されるシーケンス)は、パラメトリックに(たとえばデコーダに送達されるエンコードされたオーディオ・ビットストリームに含まれるメタデータによって)指定される。
【0105】
(更新されたシード行列のシーケンスの)各シード行列は、A(t
j)、あるいはプリミティブ行列であればP
k(t
j)と記される。ここで、t
jはそのシード行列に対応する(プログラム中の)時刻(すなわち、j番目のシード行列に対応する時刻)である。シード行列がプリミティブ行列P
k(t
j)のカスケードとして実装される場合には、インデックスkが各プリミティブ行列の前記カスケードにおける位置を示す。典型的には、プリミティブ行列のカスケードにおけるk番目の行列P
k(t
j)はk番目のチャネルに作用する。
【0106】
線形変換(たとえばダウンミックス指定)A(t)が素速く変化するときは、エンコーダ(たとえば通常のエンコーダ)は、A(t)の密接な近似を達成するために、更新されたシード行列を頻繁に送信する必要があろう。
【0107】
同じチャネルkに対して、ただし異なる時点t1,t2,t3,…に作用するプリミティブ行列P
k(t1)、P
k(t2)、P
k(t3)、…のシーケンスを考える。これらの各時点において更新されたプリミティブ行列を送るのではなく、ある実施形態の本発明の方法は、t1においてシード・プリミティブ行列P
k(t1)と、行列係数の変化のレートを定義するシード・デルタ行列Δ
k(t1)を送る(すなわち、時刻t1に対応する位置において、エンコードされたビットストリーム中に含める)。たとえば、シード・プリミティブ行列およびシード・デルタ行列は次の形をもつ。
【0108】
【数4】
P
k(t1)はプリミティブ行列なので、それは一つの(トリビアルでない)行(すなわち、この例では要素α
0,α
1,α
2,…,α
N-1)を除いて次元N×Nの恒等行列と同一である。この例では、行列Δ
k(t1)は、一つの(トリビアルでない)行(すなわち、この例では要素δ
0,δ
1,…,δ
N-1)を除いて0を有する。要素α
kは、要素α
0,α
1,α
2,…,α
N-1のうちP
k(t1)の対角線上に生起するものを表わし、要素δ
kは要素δ
0,δ
1,…,δ
N-1のうちΔ
k(t1)の対角線上に生起するものを表わす。
【0109】
このように、(時刻t1よりあとに生起する)時点tにおけるプリミティブ行列は、(たとえばデコーダ42の段60もしくは61またはデコーダ102の段110、111、112もしくは113によって)
P
k(t)=P
k(t1)+f(t)Δ
k(t1)
として補間される。ここで、f(t)は時刻tについての補間因子であり、f(t1)=0である。たとえば、線形補間が所望されるならば、aが定数であるとして、関数f(t)はf(t)=a*(t−t1)の形であってもよい。補間がデコーダにおいて実装される場合には、デコーダは、関数f(t)を知るよう構成される必要がある。たとえば、関数f(t)を決定するメタデータが、デコードされ、レンダリングされるべきエンコードされたオーディオ・ビットストリームと一緒に、デコーダに送達されてもよい。
【0110】
上記はプリミティブ行列の補間の一般的な場合を記述しているが、要素α
kが1に等しい場合には、P
k(t1)は、無損失の逆計算になじみやすい単位プリミティブ行列である。しかしながら、各時点における無損失性を維持するために、δ
k=0とも設定する必要がある。それにより各時点でのプリミティブ行列は無損失の逆計算になじみやすくなる。
【0111】
P
k(t)x(t)=P
k(t1)x(t)+f(t)(Δ
k(t1)x(t))であることを注意しておく。このように、各時点tにおいてシード・プリミティブ行列を更新するのではなく、等価に、二つの中間的な組のチャネルP
k(t1)x(t)およびΔ
k(t1)x(t)を計算してそれらを補間因子f(t)を用いて組み合わせることができる。このアプローチは、典型的には、各デルタ係数が補間因子を乗算される必要のある、各時点においてプリミティブ行列を更新するアプローチに比べて、計算コストが低い。
【0112】
さらにもう一つの等価なアプローチは、f(t)を整数rと端数f(t)−rに分割し、次いで補間されたプリミティブ行列の、必要とされる適用を、
P
k(t)x(t)=(P
k(t1)+rΔ
k(t1))x(t)+(f(t)−r)(Δ
k(t1)x(t)) (2)
として達成することである。(式(2)を使う)このアプローチは、このように、先に論じた二つのアプローチの混合になるる。
【0113】
トゥルーHDでは、0.833ms(48kHzで40サンプル)ぶんのオーディオがアクセス単位として定義される。デルタ行列Δ
kがアクセス単位当たりのプリミティブ行列P
kの変化のレートとして定義され、Tがアクセス単位の長さであるとしてf(t)=(t−t1)/Tと定義する場合、式(2)のrはアクセス単位毎に1増大し、f(t)−rは単にアクセス単位内でのサンプルのオフセットの関数である。このように、端数値f(t)−rは必ずしも計算される必要はなく、アクセス単位内のオフセットによってインデックスされるルックアップテーブルから簡単に導出できる。各アクセス単位の末尾において、P
k(t1)+rΔ
k(t1)がΔ
k(t1)の加算によって更新される。一般に、Tはアクセス単位に対応する必要はなく、その代わり、当該信号の任意の固定されたセグメンテーションであってもよい。たとえば、8サンプル長のブロックであることができる。
【0114】
近似ではあるがさらなる単純化は、端数部分f(t)−rを完全に無視し、定期的にP
k(t1)+rΔ
k(t1)を更新することであろう。これは本質的には、区分的に一定の行列更新を与えるが、プリミティブ行列を頻繁に伝送する必要がない。
【0115】
図3は、オーディオ・プログラムの四つのチャネルに(有限精度算術を用いて実装される)4×4プリミティブ行列を適用するための本発明のある実施形態において用いられる回路のブロック図である。プリミティブ行列は、シード・プリミティブ行列であり、その一つのトリビアルでない行は要素α
0,α
1,α
2,α
3を含む。それぞれが四つのチャネルの異なるもののサンプルを変換するためである四つのそのようなプリミティブ行列がカスケードされて、四つすべてのチャネルのサンプルを変換することが考えられている。そのような回路は、それらのプリミティブ行列がまず補間を介して更新され、更新されたプリミティブ行列がオーディオ・データに対して適用されるときに使われることができる。
【0116】
図4は、オーディオ・プログラムの三つのチャネルに(有限精度算術を用いて実装される)3×3プリミティブ行列を適用するための本発明のある実施形態において用いられる回路のブロック図である。プリミティブ行列は、補間されたプリミティブ行列であり、これは、その一つのトリビアルでない行が要素α
0,α
1,α
2を含むシード・プリミティブ行列P
k(t1)と、その一つのトリビアルでない行が要素δ
0,δ
1,δ
2を含むシード・デルタ行列Δ
k(t1)と、補間関数f(t)とから本発明のある実施形態に基づいて生成される。このように、(時刻t1よりあとに生起する)時点tにおけるプリミティブ行列は、P
k(t)=P
k(t1)+f(t)Δ
k(t1)として補間される。ここで、f(t)は時刻tについての補間因子(補間関数f(t)の時刻tにおける値)であり、f(t1)=0である。それぞれが三つのチャネルの異なるもののサンプルを変換するためである三つのそのようなプリミティブ行列がカスケードされて、三つすべてのチャネルのサンプルを変換することが考えられている。そのような回路は、シードまたは部分的に更新されたプリミティブ行列がオーディオ・データに対して適用され、デルタ行列がオーディオ・データに対して適用され、両者が補間因子を使って一緒に組み合わされるときに使われることができる。
【0117】
図3の回路は、シード・プリミティブ行列を四つのオーディオ・プログラム・チャネルS1、S2、S3、S4に適用する(すなわち、それらのチャネルのサンプルに該行列を乗算する)よう構成される。より具体的には、チャネルS1のサンプルは行列の係数α
0(「m_coeff[p,0]」として同定される)を乗算され、チャネルS2のサンプルは行列の係数α
1(「m_coeff[p,1]」として同定される)を乗算され、チャネルS3のサンプルは行列の係数α
2(「m_coeff[p,2]」として同定される)を乗算され、チャネルS4のサンプルは行列の係数α
3(「m_coeff[p,3]」として同定される)を乗算される。これらの積は加算要素10において加算され、要素10から出力される各和が次いで量子化段Qssにおいて量子化されて、量子化された値を生成する。これがチャネルS2のサンプルの変換されたバージョン(チャネルS2'に含められる)である。典型的な実装では、チャネルS1、S2、S3、S4の各チャネルの各サンプルは(
図3に示されるように)24ビットを有し、各乗算要素の出力は(やはり
図3に示されるように)38ビットを有し、量子化段Qssは、それに入力される各38ビット値に応答して24ビットの量子化された値を出力する。
【0118】
図4の回路は、補間されたプリミティブ行列を三つのオーディオ・プログラム・チャネルC1、C2、C3に適用する(すなわち、それらのチャネルのサンプルに該行列を乗算する)よう構成される。より具体的には、チャネルC1のサンプルはシード・プリミティブ行列の係数α
0(「m_coeff[p,0]」として同定される)を乗算され、チャネルC2のサンプルはシード・プリミティブ行列の係数α
1(「m_coeff[p,1]」として同定される)を乗算され、チャネルC3のサンプルはシード・プリミティブ行列の係数α
2(「m_coeff[p,2]」として同定される)を乗算される。これらの積は加算要素12において加算され、要素12から出力される各和が次いで、補間因子段13から出力される対応する値に(段14において)加えられる。段14から出力される値は、量子化段Qssにおいて量子化されて、量子化された値を生成する。これがチャネルC3のサンプルの変換されたバージョン(チャネルC3'に含められる)である。
【0119】
チャネルC1の同じサンプルは、シード・デルタ行列の係数δ
0(「delta_cf[p,0]」として同定される)を乗算され、チャネルC2のサンプルは、シード・デルタ行列の係数δ
1(「delta_cf[p,1]」として同定される)を乗算され、チャネルS3のサンプルは、シード・デルタ行列の係数δ
2(「delta_cf[p,2]」として同定される)を乗算される。これらの積は加算要素11において加算され、要素11から出力される各和が次いで、量子化段Qfineにおいて量子化されて、量子化された値を生成する。これが補間関数f(t)の現在の値を(補間因子段13において)乗算される。
【0120】
図4の典型的な実装では、チャネルC1、C2、C3の各チャネルの各サンプルは(
図4に示されるように)32ビットを有し、各加算要素11、12、14の出力は(やはり
図4に示されるように)50ビットを有し、量子化段Qfine、Qssは、それに入力される各50ビット値に応答して32ビットの量子化された値を出力する。
【0121】
たとえば、
図4の回路のある変形は、x=2,4,8またはNチャネルであるとして、x個のオーディオ・チャネルのベクトルを変換することができる。
図4の回路に対するx個のそのような変形のカスケードが、そのようなx個のチャネルへのx×xシード行列(またはそのようなシード行列の補間されたバージョン)の行列乗算を実行することができる。たとえば、
図4の回路に対するx個のそのような変形のそのようなカスケードは、デコーダ42の段60および47(ここではx=8)またはデコーダ42の段61および48(ここではx=2)またはデコーダ102の段113および109(ここではx=N)またはデコーダ102の段112および108(ここではx=8)またはデコーダ102の段111および107(ここではx=6)またはデコーダ102の段110および106(ここではx=2)を実装することができる。
【0122】
図4の実施形態では、シード・プリミティブ行列およびシード・デルタ行列は並列に入力サンプルの各集合(ベクトル)に適用される(そのような各ベクトルは各入力サンプルから一つのサンプルを含む)。
【0123】
図6を参照するに、次に、デコードされるべきオーディオ・プログラムがNチャネル・オブジェクト・ベース・オーディオ・プログラムである本発明の実施形態を記述する。
図6のシステムは、エンコーダ100(本発明のエンコーダの実施形態)と、送達サブシステム31と、デコーダ102(本発明のデコーダの実施形態)とが図のように結合されたものを含む。サブシステム102は本稿では「デコーダ」と称されるが、これはデコード・サブシステム(エンコードされたマルチチャネル・オーディオ・プログラムを示すビットストリームをパースし、デコードするよう構成されている)と、該デコード・サブシステムの出力のレンダリングおよび再生の少なくともいくつかの段階を実装するよう構成されている他のサブシステムとを含む再生システムとして実装されてもよいことは理解しておくべきである。本発明のいくつかの実施形態は、レンダリングおよび/または再生を実行するよう構成されていない(そして典型的には別個のレンダリングおよび/または再生システムと一緒に使われる)デコーダである。本発明のいくつかの実施形態は、再生システムである(たとえば、デコード・サブシステムと、該デコード・サブシステムの出力のレンダリングおよび再生の少なくともいくつかの段階を実装するよう構成されている他のサブシステムとを含む再生システム)。
【0124】
図6のシステムでは、エンコーダ100は、Nチャネルのオブジェクト・ベースのオーディオ・プログラムを、四つのサブストリームを含むエンコードされたビットストリームとしてエンコードするよう構成されており、デコーダ102は、該エンコードされたビットストリームをデコードして、もとのNチャネル・プログラムを(無損失に)、あるいはもとのNチャネル・プログラムの8チャネル・ダウンミックスを、あるいはもとのNチャネル・プログラムの6チャネル・ダウンミックスを、あるいはもとのNチャネル・プログラムの2チャネル・ダウンミックスをレンダリングするよう構成されている。エンコーダ100は、前記エンコードされたビットストリームを生成し、該エンコードされたビットストリームを送達システム31に呈するよう結合され、構成されている。
【0125】
送達システム31は、前記エンコードされたビットストリームをデコーダ102に(たとえば記憶することおよび/または送信することによって)送達するよう結合され、構成されている。いくつかの実施形態では、システム31は、放送システムまたはネットワーク(たとえばインターネット)を通じてデコーダ102に、エンコードされたマルチチャネル・オーディオ・プログラムを送達することを実装する(たとえば送信する)。いくつかの実施形態では、システム31は、エンコードされたマルチチャネル・オーディオ・プログラムを記憶媒体(たとえばディスクまたは一組のディスク)に記憶し、デコーダ102は該記憶媒体からプログラムを読むよう構成される。
【0126】
エンコーダ100において「InvChAssign3」とラベル付けされたブロックは、入力プログラムのチャネルに対するチャネル入れ替え(置換行列による乗算と等価)を実行するよう構成される。置換された行列は次いで段101においてエンコードを受け、段101はN個のエンコードされた信号チャネルを出力する。エンコードされた信号チャネルは、再生スピーカー・チャネルに対応してもよい(だが必須ではない)。エンコードされた信号チャネルは時に、「内部」チャネルと称される。デコーダ(および/またはレンダリング・システム)は典型的にはエンコードされた信号チャネルのコンテンツをデコードし、レンダリングして入力オーディオを復元し、よってエンコードされた信号チャネルはエンコード/デコード・システムの「内部」だからである。段101において実行されるエンコードは、置換されたチャネルのサンプルの各集合にエンコード行列(P
n-1,…、P
1-1,P
0-1として特定される行列乗算のカスケードとして実装される)を乗算することと等価である。
【0127】
各行列P
n-1,…、P
1-1,P
0-1(よって段101によって適用されるカスケード)は、前記時間区間上で指定されている、プログラムのN個のチャネルのN個のエンコードされた信号チャネルへの指定された時間変化する混合に従って、サブシステム103において決定され、時折(典型的には低頻度で)更新される。
【0128】
図6の例示的実施形態に対する変形では、入力オーディオ・プログラムは任意の数(NまたはX、ここでXはNより大きい)のチャネルを含む。そのような変形では、デコーダによって無損失に復元されうる、エンコーダから出力されるエンコードされたビットストリームによって示されるN個のマルチチャネル・オーディオ・プログラム・チャネルは、オーディオ・コンテンツのN個のチャネルであってもよく、それは、前記入力オーディオ・プログラムの前記X個のチャネルに時間変化する混合を適用するよう前記Xチャネルの入力オーディオ・プログラムに対して行列演算を実行し、それにより前記エンコードされたビットストリームの前記エンコードされたオーディオ・コンテンツを決定することにより、前記Xチャネルの入力オーディオ・プログラムから生成されたものであってもよい。
【0129】
図6の行列決定サブシステム103は、出力行列の四つの集合(エンコードされたチャネルの四つのサブストリームのそれぞれに対応して一つの集合)の係数を示すデータを生成するよう構成される。出力行列の各集合は時折更新され、よって係数も時折更新される。
【0130】
出力行列の一つの集合は二つのレンダリング行列P
02(t),P
12(t)からなり、このそれぞれは次元2×2のプリミティブ行列(好ましくは単位プリミティブ行列)であり、エンコードされたビットストリームのエンコードされたオーディオ・チャネルのうちの二つを含む第一のサブストリーム(ダウンミックス・サブストリーム)をレンダリング(して前記入力オーディオの2チャネル・ダウンミックスをレンダリング)するためである。出力行列のもう一つの集合は6個のレンダリング行列P
06(t),P
16(t),P
26(t),P
36(t),P
46(t),P
56(t)からなり、このそれぞれは次元6×6のプリミティブ行列(好ましくは単位プリミティブ行列)であり、エンコードされたビットストリームのエンコードされたオーディオ・チャネルの6個を含む第二のサブストリーム(ダウンミックス・サブストリーム)をレンダリング(して前記入力オーディオの6チャネル・ダウンミックスをレンダリング)するためである。出力行列のもう一つの集合は八個ものレンダリング行列P
08(t),P
18(t),,…,P
78(t)からなり、このそれぞれは次元8×8のプリミティブ行列(好ましくは単位プリミティブ行列)であり、エンコードされたビットストリームのエンコードされたオーディオ・チャネルの八個を含む第三のサブストリーム(ダウンミックス・サブストリーム)をレンダリング(して前記入力オーディオをの8チャネル・ダウンミックスをレンダリング)するためである。
【0131】
出力行列の残りの集合はN個のレンダリング行列P
0(t),P
1(t),…,P
n(t)からなり、このそれぞれは次元N×Nのプリミティブ行列(好ましくは単位プリミティブ行列)であり、エンコードされたビットストリームのエンコードされたオーディオ・チャネルの全部を含む第四のサブストリームをレンダリング(して前記Nチャネル入力オーディオ・プログラムを無損失復元)するためである。各時刻tについて、レンダリング行列P
02(t),P
12(t)のカスケードは前記第一のサブストリームのチャネルのためのレンダリング行列と解釈されることができ、レンダリング行列P
06(t),P
16(t),…,P
56(t)のカスケードも前記第二のサブストリームのチャネルのためのレンダリング行列と解釈されることができ、レンダリング行列P
08(t),P
18(t),…,P
78(t)のカスケードも前記第三のサブストリームのチャネルのためのレンダリング行列と解釈されることができ、レンダリング行列P
0(t),P
1(t),…,P
n(t)のカスケードは前記第四のサブストリームのチャネルのためのレンダリング行列と等価である。
【0132】
サブシステム103からパッキング・サブシステム104に出力される(各レンダリング行列の)係数は、プログラムのチャネルの対応する混合に含められるべき各チャネルの相対または絶対利得を示すメタデータである。(プログラムの間のある時点についての)各レンダリング行列の係数は、混合の各チャネルが、特定の再生システム・スピーカーのためのスピーカー・フィードによって示される(レンダリングされた混合の対応する時点における)オーディオ・コンテンツの混合にどのくらい寄与するべきかを表わす。
【0133】
(エンコード段101から出力される)N個のエンコードされたオーディオ・チャネル、(サブシステム103によって生成される)出力行列係数および典型的にはまた追加的データが、(たとえばエンコードされたビットストリームにメタデータとして含めるために、)パッキング・サブシステム104に呈される。パッキング・サブシステム104は、それらをエンコードされたビットストリームにまとめ、それが次いで送達システム31に呈される。
【0134】
エンコードされたビットストリームは、N個のエンコードされたオーディオ・チャネル、時間変化する出力行列の前記四つの集合(エンコードされたチャネルの四つのサブストリームのそれぞれに対応して一つの集合)および典型的にはまた追加的なデータ(たとえばオーディオ・コンテンツに関するメタデータ)を示すデータを含む。
【0135】
エンコーダ100の段103は、時折出力行列の各集合(たとえば、集合P
02,P
12または集合P
0,P
1,…,P
n)を更新する。(第一の時刻t1において)出力される行列の第一の集合P
02,P
12は、プログラムの間の第一の時刻において(すなわち該第一の時刻に対応する、段101のエンコードされた出力の二つのチャネルのサンプルに対して)実行されるべき線形変換を決定するシード行列(プリミティブ行列、たとえば単位プリミティブ行列のカスケードとして実装される)である。(時刻t1において)出力される行列の第一の集合P
06(t),P
16(t),…,P
n6(t)は、プログラムの間の第一の時刻において(すなわち該第一の時刻に対応する、段101のエンコードされた出力の六つのチャネルのサンプルに対して)実行されるべき線形変換を決定するシード行列(プリミティブ行列、たとえば単位プリミティブ行列のカスケードとして実装される)である。(時刻t1において)出力される行列の第一の集合P
08(t),P
18(t),…,P
n8(t)は、プログラムの間の第一の時刻において(すなわち該第一の時刻に対応する、段101のエンコードされた出力の八つのチャネルのサンプルに対して)実行されるべき線形変換を決定するシード行列(プリミティブ行列、たとえば単位プリミティブ行列のカスケードとして実装される)である。(時刻t1において)出力される行列の第一の集合P
0,P
1,…,P
nは、プログラムの間の第一の時刻において(すなわち該第一の時刻に対応する、段101のエンコードされた出力のすべてのチャネルのサンプルに対して)実行されるべき線形変換を決定するシード行列(単位プリミティブ行列のカスケードとして実装される)である。
【0136】
段103から出力される行列P
02,P
12の各更新された集合は、プログラムの間の更新時刻において(すなわち該更新時刻に対応する、段101のエンコードされた出力の二つのチャネルのサンプルに対して)実行されるべき線形変換を決定する更新されたシード行列(シード・プリミティブ行列のカスケードと称されてもよい、プリミティブ行列のカスケードとして実装される)である。段103から出力される行列P
06(t),P
16(t),…,P
n6(t)の各更新された集合は、プログラムの間の更新時刻において(すなわち該更新時刻に対応する、段101のエンコードされた出力の六つのチャネルのサンプルに対して)実行されるべき線形変換を決定する更新されたシード行列(シード・プリミティブ行列のカスケードと称されてもよい、プリミティブ行列のカスケードとして実装される)である。段103から出力される行列P
08(t),P
18(t),…,P
n8(t)の各更新された集合は、プログラムの間の更新時刻において(すなわち該更新時刻に対応する、段101のエンコードされた出力の二つのチャネルのサンプルに対して)実行されるべき線形変換を決定する更新されたシード行列(シード・プリミティブ行列のカスケードと称されてもよい、プリミティブ行列のカスケードとして実装される)である。段103から出力される行列P
0,P
1,…,P
nの各更新された集合も、プログラムの間の更新時刻において(すなわち前記第一の時刻に対応する、段101のエンコードされた出力のすべてのチャネルのサンプルに対して)実行されるべき線形変換を決定するシード行列(単位シード・プリミティブ行列のカスケードと称されてもよい、単位プリミティブ行列のカスケードとして実装される)である。
【0137】
出力段103は、補間値をも出力するよう構成される。該補間値は、(各シード行列についての補間関数とともに)デコーダ102が(第一の時刻t1よりあとで更新時刻どうしの間の諸時刻に対応する)諸シード行列の補間されたバージョンを生成できるようにする。補間値(これは各補間関数を示すデータを含んでいてもよい)は、段104によって、エンコーダ100から出力されるエンコードされたビットストリームに含められる。そのような補間値の例は本稿の他所で述べる(補間値は、各シード行列についてのデルタ行列を含んでいてもよい)。
【0138】
図6のデコーダ102を参照するに、パース・サブシステム105は、送達システム31から、エンコードされたビットストリームを受け入れ(読み取りまたは受領し)、該エンコードされたビットストリームをパースするよう構成される。サブシステム105は、第一のサブストリーム(エンコードされたビットストリームの二つのエンコードされたチャネルのみを含む)と、第四の(トップ)サブストリームに対応する出力行列(P
0,P
1,…,P
n)と、第一のサブストリームに対応する出力行列(P
02,P
12)とを行列乗算段106(その処理の結果、もとのNチャネル入力プログラムのコンテンツの2チャネル・ダウンミックス呈示が生じる)に呈するよう動作可能である。サブシステム105は、エンコードされたビットストリームの第二のサブストリーム(エンコードされたビットストリームの六つのエンコードされたチャネルを含む)と、第二のサブストリームに対応する出力行列(P
06(t),P
16(t),…,P
n6(t))とを行列乗算段107(その処理の結果、もとのNチャネル入力プログラムのコンテンツの6チャネル・ダウンミックス呈示が生じる)に呈するよう動作可能である。サブシステム105は、エンコードされたビットストリームの第三のサブストリーム(エンコードされたビットストリームの八つのエンコードされたチャネルを含む)と、第三のサブストリームに対応する出力行列(P
08(t),P
18(t),…,P
n8(t))とを行列乗算段108(その処理の結果、もとのNチャネル入力プログラムのコンテンツの8チャネル・ダウンミックス呈示が生じる)に呈するよう動作可能である。サブシステム105はまた、エンコードされたビットストリームの第四の(トップ)サブストリーム(エンコードされたビットストリームの全部のエンコードされたチャネルを含む)および対応する出力行列(P
0,P
1,…,P
n)を行列乗算段109に呈するようにも動作可能である。行列乗算段109の処理の結果、もとのNチャネル・プログラムが無損失再現される。
【0139】
補間段113は、エンコードされたビットストリームに含まれている、前記第四のサブストリームについての各シード行列(すなわち、時刻t1についてのプリミティブ行列の初期集合P
0,P
1,…,P
nおよびプリミティブ行列P
0,P
1,…,P
nの各更新された集合)と、(やはりエンコードされたビットストリームに含まれている)前記補間値とを受領するよう結合される。各シード行列の補間されたバージョンを生成するためである。段113は、そのような各シード行列を(段109に)素通しにしそのような各シード行列の補間されたバージョンを生成(して段109に呈)するよう結合され、構成される。(それぞれの補間されたバージョンは、第一の時刻t1よりあとでありかつ最初のシード行列更新時刻より前の、あるいはその後のシード行列更新時刻の間の時刻に対応する。)
補間段112は、エンコードされたビットストリームに含まれている、前記第三のサブストリームについての各シード行列(すなわち、時刻t1についてのプリミティブ行列の初期集合P
08,P
18,…,P
n8およびプリミティブ行列P
08,P
18,…,P
n8の各更新された集合)と、(やはりエンコードされたビットストリームに含まれている)前記補間値とを受領するよう結合される。そのような各シード行列の補間されたバージョンを生成するためである。段112は、そのような各シード行列を(段108に)素通しにしそのような各シード行列の補間されたバージョンを生成(して段108に呈)するよう結合され、構成される。(それぞれの補間されたバージョンは、第一の時刻t1よりあとでありかつ最初のシード行列更新時刻より前の、あるいはその後のシード行列更新時刻の間の時刻に対応する。)
補間段111は、エンコードされたビットストリームに含まれている、前記第二のサブストリームについての各シード行列(すなわち、時刻t1についてのプリミティブ行列の初期集合P
06,P
16,…,P
n6およびプリミティブ行列P
06,P
16,…,P
n6の各更新された集合)と、(やはりエンコードされたビットストリームに含まれている)前記補間値とを受領するよう結合される。そのような各シード行列の補間されたバージョンを生成するためである。段111は、そのような各シード行列を(段107に)素通しにしそのような各シード行列の補間されたバージョンを生成(して段107に呈)するよう結合され、構成される。(それぞれの補間されたバージョンは、第一の時刻t1よりあとでありかつ最初のシード行列更新時刻より前の、あるいはその後のシード行列更新時刻の間の時刻に対応する。)
補間段110は、エンコードされたビットストリームに含まれている、前記第一のサブストリームについての各シード行列(すなわち、時刻t1についてのプリミティブ行列の初期集合P
02,P
12およびプリミティブ行列P
02,P
12の各更新された集合)と、(やはりエンコードされたビットストリームに含まれている)前記補間値とを受領するよう結合される。そのような各シード行列の補間されたバージョンを生成するためである。段110は、そのような各シード行列を(段106に)素通しにしそのような各シード行列の補間されたバージョンを生成(して段106に呈)するよう結合され、構成される。(それぞれの補間されたバージョンは、第一の時刻t1よりあとでありかつ最初のシード行列更新時刻より前の、あるいはその後のシード行列更新時刻の間の時刻に対応する。)
段106は、第一のサブストリームの二つのエンコードされたチャネルの二つのオーディオ・サンプルの各ベクトルに、行列P
02,P
12の最も最近に更新されたカスケード(たとえば、段110によって生成された行列P
02,P
12の最も最近の補間されたバージョンのカスケード)を乗算し、二つの線形変換されたサンプルの、結果として得られる各集合は「ChAssign0」とタイトル付けされたブロックによって表わされるチャネル置換(置換行列による乗算と等価)を受け、N個のもとのオーディオ・チャネルの、要求される2チャネル・ダウンミックスのサンプルの各対を与える。エンコーダ40およびデコーダ102において実行される行列処理動作のカスケードは、N個の入力オーディオ・チャネルを2チャネル・ダウンミックスに変換するダウンミックス行列指定の適用と等価である。
【0140】
段107は、第二のサブストリームの六つのエンコードされたチャネルの六つのオーディオ・サンプルの各ベクトルに、行列P
06,…,P
n6の最も最近に更新されたカスケード(たとえば、段111によって生成された行列P
06,…,P
n6の最も最近の補間されたバージョンのカスケード)を乗算し、六つの線形変換されたサンプルの、結果として得られる各集合は「ChAssign1」とタイトル付けされたブロックによって表わされるチャネル置換(置換行列による乗算と等価)を受け、N個のもとのオーディオ・チャネルの、要求される6チャネル・ダウンミックスのサンプルの各集合を与える。エンコーダ100およびデコーダ102において実行される行列処理動作のカスケードは、N個の入力オーディオ・チャネルを6チャネル・ダウンミックスに変換するダウンミックス行列指定の適用と等価である。
【0141】
段108は、第三のサブストリームの八つのエンコードされたチャネルの八つのオーディオ・サンプルの各ベクトルに、行列P
08,…,P
n8の最も最近に更新されたカスケード(たとえば、段112によって生成された行列P
08,…,P
n8の最も最近の補間されたバージョンのカスケード)を乗算し、八つの線形変換されたサンプルの、結果として得られる各集合は「ChAssign2」とタイトル付けされたブロックによって表わされるチャネル置換(置換行列による乗算と等価)を受け、N個のもとのオーディオ・チャネルの、要求される8チャネル・ダウンミックスのサンプルの各対を与える。エンコーダ100およびデコーダ102において実行される行列処理動作のカスケードは、N個の入力オーディオ・チャネルを8チャネル・ダウンミックスに変換するダウンミックス行列指定の適用と等価である。
【0142】
段109は、N個のオーディオ・サンプルの各ベクトル(エンコードされたビットストリームのN個のチャネルのフル集合のそれぞれから一つ)に行列P
0,P
1,…,P
nの最も最近に更新されたカスケード(たとえば、段113によって生成された行列P
0,P
1,…,P
nの最も最近の補間されたバージョンのカスケード)を乗算し、N個の線形変換されたサンプルの、結果として得られる各集合は「ChAssign3」とラベル付けされたブロックによって表わされるチャネル置換(置換行列による乗算と等価)を受け、無損失復元されたもとのNチャネル・プログラムのN個のサンプルの各集合を与える。(本システムの「無損失」特性を達成するよう)出力Nチャネル・オーディオが厳密に入力Nチャネル・オーディオと同じであるためには、エンコーダ100において実行される行列処理動作は、(量子化効果を含め)厳密に、エンコードされたビットストリームの前記第四のサブストリームに対してデコーダ102において実行される行列処理動作(すなわち、デコーダ102の段109における行列P
0,P
1,…,P
nのカスケードの各乗算)の逆であるべきである。こうして、
図6では、エンコーダ100の段103における行列処理動作は、行列P
0,P
1,…,P
nの逆行列の、デコーダ102の段109において適用される反対シーケンスでのカスケード、すなわちP
n-1,…、P
1-1,P
0-1として特定される。
【0143】
いくつかの実装では、パース・サブシステム105は、エンコードされたビットストリームから検査語を抽出するよう構成され、段109は段109によって復元された(マルチチャネル・オーディオ・プログラムの少なくとも一つのセグメントの)N個のチャネルが正しく復元されているかどうかを、段109によって生成されるオーディオ・サンプルから(たとえば段109によって)導出される第二の検査語を、エンコードされたビットストリームから抽出された検査語と突き合わせて比較することによって、検証するよう構成される。
【0144】
デコーダ102の段「ChAssign3」は、段109の出力に対して、エンコーダ100によって適用されたチャネル置換の逆を適用する(デコーダ102の要素「ChAssign3」によって表わされる置換行列はエンコーダ100の要素「InvChAssign3」によって表わされるものの逆である)。
【0145】
図6に示されるシステムのサブシステム100および102の変形では、要素の一つまたは複数が省略されるまたは追加的なオーディオ・データ処理ユニットが含められる。
【0146】
デコーダ100の段108(または107または106)に呈されるレンダリング行列係数P
08,…,P
n8(またはP
06,…,P
n6またはP
02,P
n2)は、エンコーダ100によってエンコードされたもとのNチャネル・コンテンツのチャネルのダウンミックスに含められるべき各スピーカー・チャネルの相対または絶対利得を示す(またはそれを示す他のデータと一緒に処理されてもよい)、エンコードされたビットストリームのメタデータ(たとえば空間位置メタデータ)である。
【0147】
対照的に、(デコーダ102によって無損失に復元される)オブジェクト・ベースのオーディオ・プログラムのチャネルのフル集合をレンダリングするために用いられるべき再生スピーカー・システムの構成は、典型的には、エンコードされたビットストリームがエンコーダ100によって生成される時点では未知である。当該プログラムの各チャネルが特定の再生システム・スピーカーのためのスピーカー・フィードによって示される(レンダリングされた混合の各時点における)オーディオ・コンテンツの混合にどのくらい寄与すべきかを決定するために、デコーダ102によって無損失に復元されるNチャネルは、他のデータ(たとえば特定の再生スピーカー・システムの構成を示すデータ)と一緒に(たとえばデコーダ102に含まれる(だが
図6には示されない)またはデコーダ102に結合されるレンダリング・システムにおいて)処理される必要があることがある。そのようなレンダリング・システムは、無損失に復元されたコンテンツの再生のために用いられるべき特定の再生スピーカー・システムのスピーカーのためのスピーカー・フィードを決定するために、それぞれの無損失に復元されたオブジェクト・チャネル内の(またはそれに関連付けられている)空間軌跡メタデータを処理してもよい。
【0148】
本発明のエンコーダのいくつかの実施形態では、エンコーダは、Nチャネル・オーディオ・プログラム(たとえばオブジェクト・ベースのオーディオ・プログラム)のすべてのチャネルをどのようにN個のエンコードされたチャネルの集合に変換するかを指定する動的に変化する指定A(t)と、N個のエンコードされたチャネルのコンテンツの、M1チャネル呈示への各ダウンミックスを指定する少なくとも一つの動的に変化するダウンミックス指定を提供される(または生成する)。(ここで、MはN未満であり、たとえばM1=2またはNが8より大きいときにM1=8。)いくつかの実施形態では、エンコーダの仕事は、エンコードされたオーディオおよびそのような各動的に変化する指定を示すデータを、所定のフォーマットをもつエンコードされたビットストリーム(たとえばトゥルーHDビットストリーム)にパックすることである。たとえば、これは、向上されたデコーダを使えばもとのNチャネルのオーディオ・プログラムを(無損失で)復元しうる一方、レガシー・デコーダ(たとえばレガシーのトゥルーHDデコーダ)が少なくとも一つのダウンミックス呈示(M1個のチャネルを有する)を復元できるよう、なされてもよい。動的に変化する指定を与えられて、エンコーダは、デコーダが、デコーダに送達されるエンコードされたビットストリームに含まれる補間値(たとえば、シード・プリミティブ行列およびシード・デルタ行列の情報)から、補間されたプリミティブ行列P
0,P
1,…,P
nを決定すると想定してもよい。その際、デコーダは、補間を実行して、エンコードされたビットストリームのエンコードされたオーディオ・コンテンツを生成したエンコーダの動作の逆を行なう補間されたプリミティブ行列を決定する(たとえば、エンコーダにおいて行列演算を受けることによってエンコードされたコンテンツを無損失で復元するために)。任意的に、エンコーダは、やはりデコーダが、デコーダに送達されるエンコードされたビットストリームに含まれる補間値(たとえば、シード・プリミティブ行列およびシード・デルタ行列の情報)から、トップ(Nチャネル)サブストリームの無損失復元のための補間されたプリミティブ行列(P
0,P
1,…,P
n)を決定すると想定しつつ、より低位のサブストリーム(すなわち、トップNチャネル・サブストリームのコンテンツのダウンミックスを示すサブストリーム)のためのプリミティブ行列が補間されていないプリミティブ行列であるよう選択してもよい(そして、そのような補間されていないプリミティブ行列の集合のシーケンスをエンコードされたビットストリームに含めてもよい)。
【0149】
たとえば、エンコーダ(たとえばエンコーダ40の段44またはエンコーダ100の段103)は(補間関数f(t)と一緒に使うための)シード・プリミティブ行列およびシード・デルタ行列を選ぶよう構成されていてもよい。これは、異なる時点t1,t2,t3,…(これらは密な間隔であってもよい)において指定A(t)をサンプリングし、対応するシード・プリミティブ行列を導出し(たとえば通常のトゥルーHDエンコーダにおけるように)、次いでそれらのシード・プリミティブ行列における個々の要素の変化のレートを計算して補間値(たとえば、シード・デルタ行列のシーケンスを示す「デルタ」情報)を計算することによってもよい。シード・プリミティブ行列の第一の集合は、そのような時点の第一のものについての指定A(t1)から導出されるプリミティブ行列であろう。それらのプリミティブ行列の部分集合が時間的に全く変化しないことがありうることが可能である。その場合、デコーダは、エンコードされたビットストリーム中の適切な制御情報に対して、対応するデルタ情報があればそれを0にする(すなわち、プリミティブ行列のそのような部分集合の変化のレートを0に設定する)ことによって、応答する。
【0150】
本発明のエンコーダおよびデコーダの
図6の実施形態に対する変形は、エンコードされたビットストリームのサブストリームのいくつか(すなわち少なくとも一つ)についての補間を省略してもよい。たとえば、補間段110、111、112は省略されてもよく、対応する行列P
02,P
12およびP
06,P
16,…,P
n6およびP
08,P
18,…,P
n8は、更新される時点の間の補間が不要になるよう十分な頻度で(エンコードされたビットストリームにおいて)更新されてもよい。もう一つの例として、行列P
06,P
16,…,P
n6が更新間の時刻における補間が不要になるよう十分な頻度で更新される場合、補間段111は不要であり、省略されてもよい。このように、通常のデコーダ(補間を実行するよう本発明に従って構成されていないもの)は、エンコードされたビットストリームに応答して、6チャネル・ダウンミックス呈示をレンダリングできる。
【0151】
上記のように、ダイナミック・レンダリング行列指定(たとえばA(t))は、オブジェクト・ベースのオーディオ・プログラムをレンダリングする必要性からのみならず、クリップ保護を実装する必要性にも起因して生じうる。補間されたプリミティブ行列は、より高速なダウンミックスのクリップ保護へのランプおよび該クリップ保護からのリリースならびに行列処理係数を伝達するために必要とされるデータ・レートの低減を可能にしてもよい。
【0152】
次に、
図6のシステムの実装の動作の例を記述する。この場合、Nチャネル入力プログラムは、ベッド・チャネルCおよび二つのオブジェクト・チャネルUおよびVを含む三チャネルのオブジェクト・ベースのオーディオ・プログラムである。このプログラムが、二つのサブストリームを有するトゥルーHDストリームを介して転送のためにエンコードされ、第一のサブストリームを使って2チャネル・ダウンミックス(2チャネル・スピーカー・セットアップへの当該プログラムのレンダリング)が取得されることができ、両方のサブストリームを使ってもとの3チャネルの入力プログラムが無損失で復元されることができるようにすることが所望される。
【0153】
入力プログラムから2チャネル混合へのレンダリングの式(またはダウンミックスの式)が次式によって与えられるとする。
【0154】
【数5】
ここで、第一列は、LおよびRチャネルに等しくフィードするベッド・チャネル(中央チャネルC)の利得に対応する。第二列および第三列はそれぞれオブジェクト・チャネルUおよびオブジェクト・チャネルVに対応する。第一行は2チャネル・ダウンミックスのLチャネルに対応し、第二行はRチャネルに対応する。二つのオブジェクトはによって決定される速度で互いに向かって動いている。
【0155】
三つの異なる時点t1,t2,t3におけるレンダリング行列を調べる。この例では、t1=0、すなわち
【数6】
と想定する。換言すれば、t1では、オブジェクトUは完全にRにフィードし、オブジェクトVは完全にL中に混合される。これらのオブジェクトが互いに近づくにつれて、遠いほうのスピーカーへのそれらの寄与が増大する。この例をさらに発展させると、v=(π/4)×(1/40T)であるとする。ここで、Tはアクセス単位の長さである(典型的には48kHzのサンプリング・レートで0.8333msまたは40サンプル)。このように、t=40Tにおいて、二つのオブジェクトはシーンの中心にある。ここでt2=15Tおよびt3=30Tを考える。
【0156】
【数7】
提供された指定A
2(t)を入力および出力プリミティブ行列に分解することを考える。簡単のため、行列P
02,P
12は恒等行列であり、(デコーダ102における)chAssign0は、トリビアルな置換(恒等行列)に等しい恒等チャネル割り当てであると想定する。
【0157】
【数8】
であることがわかる。上記の積の最初の二つの行はちょうど指定A
2(t1)である。換言すれば、プリミティブ行列P
0-1(t1),P
1-1(t1),P
2-1(t1)およびInvChAssign1(t1)によって示されるチャネル割り当ては一緒になって、入力チャネルC、オブジェクトUおよびオブジェクトVを三つの内部チャネルに変換する結果を与える。該内部チャネルの最初の二つはちょうど要求されるダウンミックスLおよびRである。このように、A(t1)のプリミティブ行列P
0-1(t1),P
1-1(t1),P
2-1(t1)およびチャネル割り当てInvChAssign1(t1)への上記の分解は、二チャネル呈示のための出力プリミティブ行列およびチャネル割り当てが恒等行列であるよう選ばれている場合には、入力プリミティブ行列の有効な選択である。入力プリミティブ行列が、三つすべての内部チャネルに対して作用するデコーダのによってC、オブジェクトU、オブジェクトVを取得するために無損失可逆であることを注意しておく。しかしながら、二チャネル・デコーダは内部チャネル1および2を必要とするだけであり、出力プリミティブ行列P
02,P
12およびchAssign0(この場合これらはみな恒等である)を適用する。
【0159】
【数9】
最初の二つの行がA(t2)と同一。
【0160】
【数10】
最初の二つの行がA(t3)と同一。
【0161】
(本発明を実装しない)レガシーのトゥルーHDエンコーダは、t1,t2,t3における上記で設計されたプリミティブ行列(の逆)、すなわち{P
0(t1),P
1(t1),P
2(t1)},{P
0(t2),P
1(t2),P
2(t2)},{P
0(t3),P
1(t3),P
2(t3)}を伝送することを選んでもよい。この場合、t1とt2の間の任意の時刻tにおける指定は、A(t1)における指定によって近似され、t2とt3の間ではA(t2)によって近似される。
【0162】
図6のシステムの例示的実施形態では、t=t1またはt=t2またはt=t3におけるプリミティブ行列P
0-1(t)は同じチャネル(チャネル2)に対して作用する。すなわち、三つすべての場合におけるトリビアルでない行は第二行である。P
1-1(t)およびP
2-1(t)についても同様である。さらに、各時点におけるInvChAssign1は同じである。
【0163】
このように、
図6のエンコーダ100の例示的実施形態によってエンコードを実装するために、次のデルタ行列を計算することができる。
【0164】
【数11】
レガシーのトゥルーHDエンコーダとは対照的に、補間された行列処理ができるようにされたトゥルーHDエンコーダ(
図6のエンコーダ100の例示的実施形態)は、シード(プリミティブおよびデルタ)行列
{P
0(t1),P
1(t1),P
2(t1)},{Δ
0(t1),Δ
1(t1),Δ
2(t1)},{Δ
0(t2),Δ
1(t2),Δ
2(t2)}
を送ることを選んでもよい。
【0165】
任意の中間的な時点におけるプリミティブ行列およびデルタ行列は、補間によって導出される。t1とt2の間の所与の時刻tにおける達成されるダウンミックスの式は、上記積
【数12】
の最初の二行として、
t2とt3の間では
【数13】
として導出されることができる。
【0166】
上記では、行列{P
0(t2),P
1(t2),P
2(t2)}は実際に伝送されないが、デルタ行列{Δ
0(t1),Δ
1(t1),Δ
2(t1)}を用いた補間の最後の点のプリミティブ行列として導出される。
【0167】
このように、上記のシナリオ両方について、各時点「t」における達成されたダウンミックスの式がわかる。このように、所与の時刻「t」における近似と、その時点についての真の指定との間のミスマッチを計算することができる。
図7は、プリミティブ行列の補間を使った場合(「補間された行列処理」とラベル付けされた曲線)と区分ごとに一定の(補間されない)プリミティブ行列を用いた場合(「補間されない行列処理」とラベル付けされる)の、種々の時点tにおける達成された指定と真の指定との間の平方誤差和のグラフである。
図7から、領域0〜600s(t1〜t2)において、補間された行列処理が、補間されない行列処理と比べて、有意により近く、指定A2(t)を達成する結果となることが明白である。補間されない行列処理を用いて同じレベルの歪みを達成するためには、t1とt2の間の複数の点において行列更新を送る必要があっただろう。
【0168】
補間されない行列処理は、いくつかの中間的な時点において(たとえば
図7の例における600s〜900sの間で)真の指定により近い、達成されたダウンミックスを与える結果となることがあるが、補間されない行列処理における誤差は、次の行列更新までの時間が減るとともに連続的に積み上がり、一方、補間された行列処理での誤差は更新点(この場合、t3=30*T=1200sにある)の近くでは消える。補間された行列処理における誤差は、t2とt3の間でさらなるデルタ更新を送ることによりさらに低減されることができる。
【0169】
本発明のさまざまな実施形態は、次の特徴の一つまたは複数を実装する。
〔特徴1〕プリミティブ行列(好ましくは単位プリミティブ行列)のシーケンスを適用することによる、一組のオーディオ・チャネルの同数の他のオーディオ・チャネルへの変換であって、前記プリミティブ行列の少なくとも一部のそれぞれは、同じオーディオ・チャネルに対して作用するシード・プリミティブ行列およびシード・デルタ行列の(補間関数に従って決定される)線形結合として計算された補間されたプリミティブ行列である。線形結合係数は、補間関数によって決定される(すなわち、補間されたプリミティブ行列のそれぞれの係数は、線形結合A+f(t)Bであり、ここで、Aはシード・プリミティブ行列の係数であり、Bはシード・デルタ行列の対応する係数であり、f(t)は補間されたプリミティブ行列に関連付けられる時刻tにおける補間関数の値である)。いくつかの場合には、当該変換は、エンコードされたビットストリームのエンコードされたオーディオ・コンテンツに対して実行されて、エンコードされたビットストリームを生成するためにエンコードされたオーディオ・コンテンツの無損失復元を実装する。
〔特徴2〕特徴1記載の変換であって、補間されたプリミティブ行列の適用は、前記シード・プリミティブ行列およびシード・デルタ行列を別個に、変換されるべきオーディオ・チャネルに対して適用し、結果として得られるオーディオ・サンプルを線形結合することによって達成される、変換。(たとえば、シード・プリミティブ行列の行列乗算は、
図4の回路におけるように、シード・デルタ行列による行列乗算と並列に実行される。)
〔特徴3〕特徴1記載の変換であって、前記補間因子は、エンコードされたビットストリームのサンプルのいくつかの時間区間(たとえば短い区間)にわたって実質的に一定に保持され、最も最近のシード・プリミティブ行列は、補間因子が変化する区間の間においてのみ(補間によって)更新される、変換。(たとえば、デコーダにおける処理の複雑さを低減するため。)
〔特徴4〕補間されたプリミティブ行列が単位プリミティブ行列である、特徴1記載の変換。この場合、(エンコーダにおける)単位プリミティブ行列のカスケードの乗算およびそれに続くそれらの行列の逆行列のカスケードの(デコーダにおける)乗算は、有限精度の処理を用いて無損失で実行されることができる。
〔特徴5〕当該変換がオーディオ・デコーダにおいて実行される、特徴1記載の変換。該デコーダは、エンコードされたオーディオ・チャネルおよびシード行列を、エンコードされたビットストリームから抽出する。該デコーダは、好ましくは、デコードされた(ポスト行列処理された)オーディオが正しく決定されているかどうかを検証するよう構成される。該検証は、ポスト行列処理されたオーディオから導出された検査語を、エンコードされたビットストリームから抽出された検査語に対して比較することによる。
〔特徴6〕当該変換が無損失オーディオ符号化システムのデコーダにおいて実行される、特徴1記載の変換。該システムは、エンコードされたオーディオ・チャネルおよびシード行列を、エンコードされたビットストリームから抽出する。エンコードされたオーディオ・チャネルは対応するエンコーダによって生成されたものである。該エンコーダは、前記無損失の逆プリミティブ行列を入浴オーディオに適用し、それにより該入力オーディオを無損失に前記ビットストリームにエンコードする。
〔特徴7〕当該変換がデコーダにおいて実行される、特徴1記載の変換。該デコーダは、受領されたエンコードされたチャネルに、プリミティブ行列のカスケードを乗算し、前記プリミティブ行列のうちの部分集合のみが補間によって決定される。(すなわち、他のプリミティブ行列の更新されたバージョンは時折デコーダに送達されてもよいが、デコーダはそれらを更新するために補間を実行しない。)
〔特徴8〕前記シード・プリミティブ行列、シード・デルタ行列および補間関数は、エンコーダによってエンコードされたもとのオーディオの特定のダウンミックスを達成するために、エンコーダによって生成されたエンコードされたチャネルの部分集合が、デコーダによって(それらの行列および補間関数を使って)実行される行列処理動作を介して変換されることができるように選ばれる、特徴1記載の変換。
〔特徴9〕もとのオーディオがオブジェクト・ベースのオーディオ・プログラムであり、前記特定のダウンミックスが前記プログラムのチャネルの静的なスピーカー・レイアウト(たとえばステレオまたは5,1チャネルまたは7.1チャネル)へのレンダリングに対応する、特徴8記載の変換。
〔特徴10〕前記プログラムによって示されるオーディオ・オブジェクトが動的であり、特定の静的なスピーカー・レイアウトへのダウンミックス指定は瞬時に変化し、該瞬時の変化は、エンコードされたオーディオ・チャネルに対して補間された行列処理を実行してダウンミックス呈示を生成することによって受け入れられる、特徴9記載の変換。
〔特徴11〕補間ができるようにされたデコーダ(本発明のある実施形態に基づく補間を実行するよう構成されている)が、何らかの補間された行列を決定するために補間を実行することなく、レガシーのシンタックスに従って、エンコードされたビットストリームのサブストリームをデコードすることもできる、特徴1記載の変換。
〔特徴12〕前記プリミティブ行列が、よりよい圧縮を達成するようチャネル間相関を活用するよう設計されている、特徴1記載の変換。
〔特徴13〕補間された行列処理が、クリップ保護のために設計された動的なダウンミックス指定を達成するために使われる、特徴1記載の変換。
【0170】
源オーディオがオブジェクト・ベースのオーディオ・プログラムであるときは、(エンコードされたビットストリームからダウンミックス呈示を復元するための)本発明のある実施形態に基づく補間を使って生成されたダウンミックス行列が典型的には連続的に変化することを考えると、本発明の典型的な実施形態において用いられる(すなわちエンコードされたビットストリームに含められる)シード・プリミティブ行列は典型的には、そのようなダウンミックス呈示を復元するために頻繁に更新される必要がある。
【0171】
シード・プリミティブ行列が頻繁に更新されるならば、連続的に変化する行列指定を緊密に近似するために、エンコードされたビットストリームは典型的には、シード・プリミティブ行列の諸集合の諸カスケードのシーケンス{P
0(t1),P
1(t1),…,P
n(t1)},{P
0(t2),P
1(t2),…,P
n(t2)},{P
0(t3),P
1(t3),…,P
n(t3)}を示すデータを含む。これは、デコーダが、更新時点t1,t2,t3,…のそれぞれにおいて行列の指定されたカスケードを復元することを許容する。オブジェクト・ベースのオーディオ・プログラムをレンダリングするためのシステムにおいて指定されるレンダリング行列は典型的には時間的に連続的に変化するので、(エンコードされたビットストリームに含められるシード・プリミティブ行列の諸カスケードのシーケンスにおける)各シード・プリミティブ行列は(少なくともそのプログラムの区間にわたって)同じプリミティブ行列構成を有していてもよい。プリミティブ行列における係数自身が時間とともに変化することがあるが、行列構成は変化しない(または係数ほど頻繁に変化しない)。各カスケードについての行列構成は、次のようなパラメータによって決定されてもよい。
1.カスケード中のプリミティブ行列の数、
2.それらの行列が操作するチャネルの順序、
3.それらの行列における係数の大きさの順序、
4.該係数を表わすために必要とされる分解能(ビット単位)、
5.恒等的に0である係数の位置。
【0172】
そのようなプリミティブ行列構成を示すパラメータは、多数のシード行列更新の区間の間不変のままであってもよい。そのようなパラメータの一つまたは複数は、デコーダが所望されるように動作するために、エンコードされたビットストリームを介してデコーダに伝送される必要があることがある。そのような構成パラメータはプリミティブ行列更新自身ほど頻繁に変化しないことがあるので、いくつかの実施形態では、エンコードされたビットストリーム・シンタックスは行列構成パラメータが、一組のシード行列の行列係数への更新とともに伝送されるかどうかを、独立に指定する。対照的に、通常のトゥルーHDエンコードでは、(エンコードされたビットストリームによって示される)行列更新には必ず構成更新が伴う。本発明の考えられている実施形態では、デコーダは、行列係数についてのみ更新が受領される場合には、最後の受領された行列構成情報を保持し、使用する(すなわち、行列構成更新なし)。
【0173】
補間された行列処理は典型的には低いシード行列更新レートを許容するものの、考えられている実施形態(行列構成更新が各シード行列更新に伴っても伴わなくてもよい)は、構成情報を効率的に伝送し、レンダリング行列を更新するために必要とされるビットレートをさらに低減することが期待される。考えられている実施形態では、構成パラメータは、各シード・プリミティブ行列に関連するパラメータおよび/または伝送されるデルタ行列に関連するパラメータを含んでいてもよい。
【0174】
全体的な伝送されるビットレートを最小にするために、エンコーダは、行列構成を更新することと、行列構成を不変に維持しつつ行列係数更新に対してもう少し多くのビットを費やすこととの間のトレードオフを実装してもよい。
【0175】
補間された行列処理は、あるエンコードされたチャネルのためのあるプリミティブ行列から同じチャネルに作用する別のものへとたどるよう傾き情報を伝送することによって達成されてもよい。傾きは、アクセス単位(「AU」)毎の行列係数の変化のレートとして伝送されてもよい。m1およびm2がKアクセス単位離れている時刻についてのプリミティブ行列係数であるとすると、m1からm2へ補間するための傾きは、デルタ=(m2−m1)/Kとして定義されうる。
【0176】
係数m1およびm2が次のフォーマット:m1=a.bcdefgおよびm2=a.bcuvwxもつビットを有し、どちらの係数も特定のビット数(これは「frac_bits」と表わされてもよい)精度をもって指定されている場合、、傾き「デルタ」は、形0.0000mnopの値によって示される(AU毎のデルタの指定のために必要とされるより高い精度および追加的な先頭の0をもつ)。傾き「デルタ」を表わすために必要とされる追加的な精度は「delta_precision」として定義されてもよい。本発明の実施形態が、各デルタ値を、エンコードされたビットストリーム中に直接含める段階を含む場合には、エンコードされたビットストリームは、式B=frac_bits+delta_precisionを満たすビット数「B」を有する値を含む必要があろう。明らかに、小数点の後の先頭の0を伝送するのは不十分である。このように、いくつかの実施形態では、(デコーダに送達される)エンコードされたビットストリームにおいて符号化されるものは、mnopqrの形をもつ正規化されたデルタ(整数)であり、これはdelta_bitsに一つの符号ビットを加えたもので表わされる。delta_bitsおよびdelta_precision値は、エンコードされたビットストリームにおいて、デルタ行列のための構成情報の一部として伝送されてもよい。そのような実施形態では、デコーダは、必要とされるデルタを、この場合、
デルタ=(ビットストリーム中の正規化されたデルタ)*2
-(frac_bits+delta_precision)
として導出するよう構成される。
【0177】
このように、いくつかの実施形態では、エンコードされたビットストリームに含まれる補間値は、Yビットの精度(ここでY=frac_bits)をもつ正規化されたデルタ値と、精度値とを含む。正規化されたデルタ値は、デルタ値の正規化されたバージョンを示し、ここで、該デルタ値はプリミティブ行列の係数の変化のレートを示し、プリミティブ行列の各係数はYビットの精度をもつ。精度値は
、プリミティブ行列の係数を表わすために必要とされる精度に対し
、前記デルタ値を表わすために必要とされる精度の増大を示す(すなわち、「delta_precision」)。前記デルタ値は、前記正規化されたデルタ値を、前記プリミティブ行列の係数の分解能および前記精度値に依存するスケール因子によってスケーリングすることによって導出されてもよい。
【0178】
本発明の実施形態は、ハードウェア、ファームウェアまたはソフトウェアまたはそれらの組み合わせにおいて(たとえばプログラム可能な論理アレイとして)実装されてもよい。たとえば、エンコーダ40または100またはデコーダ42または102またはデコーダ42のサブシステム47、48、60、61またはデコーダ102のサブシステム110〜113、106〜109は、適切にプログラムされた(または他の仕方で構成された)ハードウェアまたはファームウェアにおいて、たとえばプログラムされた汎用プロセッサ、デジタル信号プロセッサまたはマイクロプロセッサとして実装されてもよい。特に断わりのない限り、本発明の一部として含まれるアルゴリズムまたはプロセスは、いかなる特定のコンピュータまたは他の装置にも本来的に関係していない。特に、さまざまな汎用機械が、本願の教示に従って書かれたプログラムとともに使用されてもよく、あるいは必要とされる方法ステップを実行するためにより特化した装置(たとえば集積回路)を構築することがより便利であることがある。このように、本発明は、一つまたは複数のプログラム可能なコンピュータ・システム(エンコーダ40または100またはデコーダ42または102またはデコーダ42のサブシステム47、48、60および/または61またはデコーダ102のサブシステム110〜113、106〜109を実装するコンピュータ・システム)上で実行される一つまたは複数のコンピュータ・プログラムにおいて実装されてもよい。各コンピュータ・システムは、少なくとも一つのプロセッサ、少なくとも一つのデータ記憶システム(揮発性および不揮発性メモリおよび/または記憶要素を含む)、少なくとも一つの入力装置またはポートおよび少なくとも一つの出力装置またはポートを有する。本稿に記載される機能を実行し、出力情報を生成するようプログラム・コードが入力データに適用される。出力情報は、既知の仕方で一つまたは複数の出力装置に適用される。
【0179】
そのような各プログラムは、コンピュータ・システムと通信するためにいかなる所望されるコンピュータ言語(機械、アセンブリーまたは高水準手続き型、論理的またはオブジェクト指向のプログラミング言語を含む)において実装されてもよい。いずれの場合にも、言語はコンパイルされる言語でもインタープリットされる言語でもよい。
【0180】
たとえば、コンピュータ・ソフトウェア命令のシーケンスによって実装されるとき、本発明の実施形態のさまざまな機能および段階は、好適なデジタル信号処理ハードウェアにおいて実行されるマルチスレッド式のソフトウェア命令シーケンスによって実装されてもよく、その場合、実施形態のさまざまな装置、段階および機能は、ソフトウェア命令の諸部分に対応してもよい。
【0181】
そのような各コンピュータ・プログラムは好ましくは、汎用または専用のプログラム可能なコンピュータによって読み取り可能な記憶媒体またはデバイス(たとえば半導体メモリまたはメディアまたは磁気式もしくは光学式メディア)に記憶されるまたはダウンロードされ、記憶媒体またはデバイスがコンピュータ・システムによって読まれたときに、本稿に記載される手順を実行するようコンピュータを構成するまたは動作させる。本発明のシステムは、コンピュータ・プログラムをもって構成された(すなわちコンピュータ・プログラムを記憶している)コンピュータ可読記憶媒体として実装されてもよく、そのように構成された記憶媒体はコンピュータ・システムを、本稿に記載される機能を実行するよう特定のあらかじめ定義された仕方で動作させる。
【0182】
諸実装が例として、例示的な特定の実施形態を用いて記述されてきたが、本発明の実装は開示される実施形態に限定されないことは理解しておくものとする。逆に、当業者に明白なさまざまな修正および類似の構成をカバーすることが意図されている。したがって、付属の請求項の範囲は、そのようなあらゆる修正および類似の構成を包含するよう最も広い解釈が与えられるべきである。
いくつかの付番実施例を記載しておく。
〔付番実施例1〕
Nチャネルのオーディオ・プログラムをエンコードする方法であって、前記プログラムはある時間区間にわたって指定され、前記時間区間は時刻t1から時刻t2までの部分区間を含み、N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)が前記時間区間上で指定されており、MはN以下であり、当該方法は:
前記N個のエンコードされた信号チャネルのサンプルに適用されるときに前記N個のエンコードされた信号チャネルのオーディオ・コンテンツの前記M個の出力チャネルへの第一の混合を実装するN×Nプリミティブ行列の第一のカスケードを決定する段階であって、前記第一の混合は、該第一の混合が少なくとも実質的にA(t1)に等しいという意味で前記時間変化する混合A(t)に整合する、段階と;
プリミティブ行列の前記第一のカスケードおよび前記部分区間上で定義される補間関数とともに、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを示す補間値を決定する段階であって、更新されたプリミティブ行列の各カスケードは、前記N個のエンコードされた信号チャネルのサンプルに適用されるとき、前記N個のエンコードされた信号チャネルの前記M個の出力チャネルへの、前記部分区間における異なる時刻に関連付けられた更新された混合を実装し、それぞれの前記更新された混合は、前記時間変化する混合A(t)と整合する、段階と;
エンコードされたオーディオ・コンテンツ、前記補間値およびプリミティブ行列の前記第一のカスケードを示すエンコードされたビットストリームを生成する段階とを含む、
方法。
〔付番実施例2〕
前記プリミティブ行列のそれぞれが単位プリミティブ行列である、付番実施例1記載の方法。
〔付番実施例3〕
前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって、前記エンコードされたオーディオ・コンテンツを生成する段階をも含み、該段階は、前記サンプルに行列カスケードのシーケンスを適用することによることを含み、前記シーケンスにおける各行列カスケードは、プリミティブ行列のカスケードであり、行列カスケードの前記シーケンスは、前記第一のカスケードのプリミティブ行列の逆行列のカスケードである第一の逆行列カスケードを含む、付番実施例2記載の方法。
〔付番実施例4〕
前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって、前記エンコードされたオーディオ・コンテンツを生成する段階をも含み、該段階は、前記サンプルに行列カスケードのシーケンスを適用することによることを含み、前記シーケンスにおける各行列カスケードは、プリミティブ行列のカスケードであり、前記シーケンスにおける各行列カスケードは、N×Nの更新されたプリミティブ行列のカスケードの対応するカスケードの逆であり、N=Mであり、前記M個の出力チャネルは無損失で復元された前記プログラムの前記N個のチャネルと同じである、付番実施例2記載の方法。
〔付番実施例5〕
N=Mであり、前記エンコードされたビットストリームを処理することによって前記プログラムの前記N個のチャネルを無損失で復元する段階をも含み、該復元は、前記補間値、プリミティブ行列の前記第一のカスケードおよび前記補間関数から、N×Nの更新されたプリミティブ行列の諸カスケードの前記シーケンスを決定するよう補間を実行することによることを含む、
付番実施例2記載の方法。
〔付番実施例6〕
前記エンコードされたビットストリームが前記補間関数をも示す、付番実施例5記載の方法。
〔付番実施例7〕
M=Nであり:
前記エンコードされたビットストリームを、前記補間関数を実装するよう構成されたデコーダに送達する段階と;
前記デコーダにおいて前記エンコードされたビットストリームを処理して、前記プログラムの前記N個のチャネルを無損失で復元する段階であって、前記補間値、プリミティブ行列の前記第一のカスケードおよび前記補間関数から、N×Nの更新されたプリミティブ行列の諸カスケードの前記シーケンスを決定するよう補間を実行することによることを含む、段階
とをさらに含む、付番実施例1記載の方法。
〔付番実施例8〕
前記プログラムが、少なくとも一つのオブジェクト・チャネルおよび少なくとも一つのオブジェクトの軌跡を示すデータを含むオブジェクト・ベースのオーディオ・プログラムである、付番実施例1記載の方法。
〔付番実施例9〕
プリミティブ行列の前記第一のカスケードはシード・プリミティブ行列を実装し、前記補間値は前記シード・プリミティブ行列についてのシード・デルタ行列を示す、付番実施例1記載の方法。
〔付番実施例10〕
前記プログラムのオーディオ・コンテンツまたはエンコードされたコンテンツの、M1個のスピーカー・チャネルへの時間変化するダウンミックスA
2(t)も、前記時間区間上で指定されており、M1はM未満の整数であり、当該方法は:
前記オーディオ・コンテンツまたはエンコードされたコンテンツのM1個のチャネルのサンプルに適用されるときに前記プログラムのオーディオ・コンテンツの前記M1個のスピーカー・チャネルへのダウンミックスを実装するM1×M1プリミティブ行列の第二のカスケードを決定する段階であって、前記ダウンミックスは、該ダウンミックスが少なくとも実質的にA
2(t1)に等しいという意味で前記時間変化する混合A
2(t)に整合する、段階と;
M1×M1プリミティブ行列の前記第二のカスケードおよび前記部分区間上で定義された第二の補間関数とともに、更新されたM1×M1プリミティブ行列の諸カスケードのシーケンスを示す追加的補間値を決定する段階であって、更新されたM1×M1プリミティブ行列の各カスケードは、前記オーディオ・コンテンツまたは前記エンコードされたコンテンツのM1個のチャネルのサンプルに適用されるとき、前記プログラムのオーディオ・コンテンツの前記M1個のスピーカー・チャネルへの、前記部分区間における異なる時刻に関連付けられた更新されたダウンミックスを実装し、それぞれの前記更新されたダウンミックスは、前記時間変化する混合A
2(t)と整合し、前記エンコードされたビットストリームは前記追加的補間値およびM1×M1プリミティブ行列の前記第二のカスケードを示す、段階とをさらに含む、
付番実施例4記載の方法。
〔付番実施例11〕
前記エンコードされたビットストリームが前記第二の補間関数をも示す、付番実施例10記載の方法。
〔付番実施例12〕
前記ダウンミックス指定A
2(t)における時間変動は、指定されたダウンミックスのクリップ保護へのランプアップまたは該クリップ保護からのリリースに少なくとも部分的には起因する、付番実施例10記載の方法。
〔付番実施例13〕
前記補間値は、Yビットをもって表現可能な正規化されたデルタ値と、このビット数の指示と、精度値とを含み、前記正規化されたデルタ値は、デルタ値の正規化されたバージョンを示し、前記デルタ値は前記プリミティブ行列の係数の変化のレートを示し、前記精度値は
、前記プリミティブ行列の係数を表わすために必要とされる精度に対し
、前記デルタ値を表わすために必要とされる精度の増大を示す、付番実施例1記載の方法。
〔付番実施例14〕
前記デルタ値は、前記正規化されたデルタ値を、前記プリミティブ行列の係数の分解能および前記精度値に依存するスケール因子によってスケーリングすることによって導出される、付番実施例13記載の方法。
〔付番実施例15〕
前記プログラムのオーディオ・コンテンツまたはエンコードされたコンテンツの、M1個のスピーカー・チャネルへの時間変化するダウンミックスA
2(t)も、前記時間区間上で指定されており、M1はM未満の整数であり、当該方法は:
前記区間内の各時点tにおいて前記エンコードされたオーディオ・コンテンツのM1個のチャネルのサンプルに適用されたときに、前記Nチャネルのオーディオ・プログラムの前記M1個のスピーカー・チャネルへのダウンミックスを実装するM1×M1プリミティブ行列の第二のカスケードを決定する段階であって、前記ダウンミックスは、前記時間変化する混合A
2(t)に整合する、段階とをさらに含む、
付番実施例4記載の方法。
〔付番実施例16〕
前記ダウンミックス指定A
2(t)における時間変動は、指定されたダウンミックスのクリップ保護へのランプアップまたは該クリップ保護からのリリースに少なくとも部分的には起因する、付番実施例15記載の方法。
〔付番実施例17〕
Nチャネル・オーディオ・プログラムのM個のチャネルの復元のための方法であって、前記プログラムはある時間区間にわたって指定され、前記時間区間は時刻t1から時刻t2までの部分区間を含み、N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)は前記時間区間上で指定されており、当該方法は:
エンコードされたオーディオ・コンテンツ、補間値およびN×Nプリミティブ行列の第一のカスケードを示すエンコードされたビットストリームを取得する段階と;
前記補間値、プリミティブ行列の前記第一のカスケードおよび前記部分区間上の補間関数から、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを決定するよう補間を実行する段階とを含み、
N×Nプリミティブ行列の前記第一のカスケードは、前記エンコードされたオーディオ・コンテンツのN個のエンコードされた信号チャネルのサンプルに適用されるときに前記N個のエンコードされた信号チャネルのオーディオ・コンテンツの前記M個の出力チャネルへの第一の混合を実装するものであり、前記第一の混合は、該第一の混合が少なくとも実質的にA(t1)に等しいという意味で前記時間変化する混合A(t)に整合し、
プリミティブ行列の前記第一のカスケードおよび前記補間関数とともに、前記補間値は、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを示し、更新されたプリミティブ行列の各カスケードは、前記エンコードされたオーディオ・コンテンツの前記N個のエンコードされた信号チャネルのサンプルに適用されるとき、前記N個のエンコードされた信号チャネルの前記M個の出力チャネルへの、前記部分区間における異なる時刻に関連付けられた更新された混合を実装し、それぞれの前記更新された混合は、前記時間変化する混合A(t)と整合する、
方法。
〔付番実施例18〕
前記プリミティブ行列のそれぞれが単位プリミティブ行列である、付番実施例17記載の方法。
〔付番実施例19〕
前記エンコードされたオーディオ・コンテンツは、前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって生成されたものであり、該生成は、該サンプルに行列カスケードのシーケンスを適用することによることを含み、前記シーケンスにおける各行列カスケードはプリミティブ行列のカスケードであり、行列カスケードの前記シーケンスは、前記第一のカスケードの前記プリミティブ行列の逆行列のカスケードである第一の逆行列カスケードを含む、付番実施例18記載の方法。
〔付番実施例20〕
前記エンコードされたオーディオ・コンテンツは、前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって生成されたものであり、該生成は、該サンプルに行列カスケードのシーケンスを適用することによることを含み、前記シーケンスにおける各行列カスケードはプリミティブ行列のカスケードであり、前記シーケンスにおける各行列カスケードは、N×Nの更新されたプリミティブ行列のカスケードの対応するカスケードの逆であり、N=Mであり、前記M個の出力チャネルは無損失で復元された前記プログラムの前記N個のチャネルと同じである、付番実施例18記載の方法。
〔付番実施例21〕
前記プログラムのオーディオ・コンテンツまたはエンコードされたコンテンツのM1個のスピーカー・チャネルへの時間変化するダウンミックスA
2(t)も前記時間区間上で指定されており、M1はN未満の整数であり、当該方法は、
M1×M1プリミティブ行列の第二のカスケードを受領する段階と;
前記区間内の各時点においてM1×M1の前記第二のカスケードを前記エンコードされたオーディオ・コンテンツのM1個のチャネルのサンプルに適用して、前記Nチャネル・オーディオ・プログラムの前記M1個のスピーカー・チャネルへのダウンミックスを実装する段階であって、前記ダウンミックスは、前記時間変化する混合A
2(t)と整合する、段階とをさらに含む、
付番実施例20記載の方法。
〔付番実施例22〕
前記ダウンミックス指定A
2(t)における時間変動は、指定されたダウンミックスのクリップ保護へのランプアップまたは該クリップ保護からのリリースに少なくとも部分的には起因する、付番実施例21記載の方法。
〔付番実施例23〕
前記エンコードされたビットストリームが前記補間関数をも示す、付番実施例17記載の方法。
〔付番実施例24〕
前記プログラムが、少なくとも一つのオブジェクト・チャネルおよび少なくとも一つのオブジェクトの軌跡を示すデータを含むオブジェクト・ベースのオーディオ・プログラムである、付番実施例17記載の方法。
〔付番実施例25〕
プリミティブ行列の前記第一のカスケードはシード・プリミティブ行列を実装し、前記補間値は前記シード・プリミティブ行列についてのシード・デルタ行列を示す、付番実施例17記載の方法。
〔付番実施例26〕
当該方法がさらに:
前記エンコードされたオーディオ・コンテンツのサンプルに、更新されたN×Nプリミティブ行列の前記カスケードのうちの少なくとも一つを適用する段階であって、前記エンコードされたオーディオ・コンテンツの前記サンプルに、シード・プリミティブ行列およびシード・デルタ行列を別個に適用して変換されたサンプルを生成し、該変換されたサンプルを前記補間関数に従って線形結合し、それにより前記Nチャネル・オーディオ・プログラムの前記M個のチャネルのサンプルを示す復元されたサンプルを生成することによることを含む、段階をさらに含む、
付番実施例17記載の方法。
〔付番実施例27〕
前記補間関数が前記エンコードされたビットストリームのいくつかの区間にわたって実質的に一定であり、N×Nの更新されたプリミティブ行列の前記カスケードのうちの各最も最近更新されたものは、前記エンコードされたビットストリームの、前記補間関数が実質的に一定でない区間の間にのみ補間によって更新される、付番実施例17記載の方法。
〔付番実施例28〕
前記補間値は、Yビットをもって表現可能な正規化されたデルタ値と、精度のこのビット数の指示と、精度値とを含み、前記正規化されたデルタ値は、デルタ値の正規化されたバージョンを示し、前記デルタ値は前記プリミティブ行列の係数の変化のレートを示し、前記精度値は
、前記プリミティブ行列の係数を表わすために必要とされる精度に対し
、前記デルタ値を表わすために必要とされる精度の増大を示す、付番実施例17記載の方法。
〔付番実施例29〕
前記デルタ値は、前記正規化されたデルタ値を、前記プリミティブ行列の係数の分解能および前記精度値に依存するスケール因子によってスケーリングすることによって導出される、付番実施例28記載の方法。
〔付番実施例30〕
前記Nチャネル・プログラムの、M1個のスピーカー・チャネルへの時間変化するダウンミックスA
2(t)も、前記時間区間上で指定されており、M1はN未満の整数であり、当該方法は:
M1×M1プリミティブ行列の第二のカスケードおよび補間値の第二の集合を受領する段階と;
M1×M1プリミティブ行列の前記第二のカスケードを前記エンコードされたオーディオ・コンテンツのM1個のチャネルのサンプルに適用して、前記Nチャネル・プログラムのM1個のスピーカー・チャネルへのダウンミックスを実装する段階であって、該ダウンミックスは、該ダウンミックスが少なくとも実質的にA
2(t1)に等しいという意味で、前記時間変化する混合A
2(t)とと整合する、段階と;
補間値の前記第二の集合、M1×M1プリミティブ行列の前記第二のカスケードおよび前記部分区間上で定義されている第二の補間関数を適用して、更新されたM1×M1プリミティブ行列の諸カスケードのシーケンスを得る段階と;
前記更新されたM1×M1プリミティブ行列を前記エンコードされたコンテンツの前記M1個のチャネルのサンプルに適用して、前記Nチャネル・プログラムの、前記部分区間における異なる時刻に関連付けられた少なくとも一つの更新されたダウンミックスを実装する段階であって、それぞれの前記更新されたダウンミックスは前記時間変化する混合A
2(t)と整合する、段階とをさらに含む、
付番実施例20記載の方法。
〔付番実施例31〕
前記プリミティブ行列のそれぞれが単位プリミティブ行列である、付番実施例30記載の方法。
〔付番実施例32〕
前記エンコードされたビットストリームが前記第二の補間関数をも示す、付番実施例30記載の方法。
〔付番実施例33〕
当該方法がさらに:
前記エンコードされたオーディオ・コンテンツの、または前記エンコードされたオーディオ・コンテンツから決定されたオーディオ・サンプルに、更新されたM1×M1プリミティブ行列の前記カスケードのうちの少なくとも一つを適用する段階であって、前記オーディオ・サンプルに、シード・プリミティブ行列およびシード・デルタ行列を別個に適用して変換されたサンプルを生成し、該変換されたサンプルを前記補間関数に従って線形結合することによることを含む、段階をさらに含む、
付番実施例30記載の方法。
〔付番実施例34〕
前記第二の補間関数が前記エンコードされたビットストリームのいくつかの区間にわたって実質的に一定であり、M1×M1の更新されたプリミティブ行列の前記カスケードのうちの各最も最近更新されたものは、前記エンコードされたビットストリームの、前記補間関数が実質的に一定でない区間の間にのみ補間によって更新される、付番実施例30記載の方法。
〔付番実施例35〕
前記ダウンミックス指定A
2(t)における時間変動は、指定されたダウンミックスのクリップ保護へのランプアップまたは該クリップ保護からのリリースに少なくとも部分的には起因する、付番実施例30記載の方法。
〔付番実施例36〕
前記エンコードされたビットストリームから検査語を抽出し、前記オーディオ・プログラムのセグメントの諸チャネルが正しく復元されているかどうかを、前記行列乗算サブシステムによって生成されるオーディオ・サンプルから導出される第二の検査語を、前記エンコードされたビットストリームから抽出された前記検査語と比較することによって、検証する段階をさらに含む、付番実施例17記載の方法。
〔付番実施例37〕
Nチャネルのオーディオ・プログラムをエンコードするよう構成されたオーディオ・エンコーダであって、前記プログラムはある時間区間にわたって指定され、前記時間区間は時刻t1から時刻t2までの部分区間を含み、N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)が前記時間区間上で指定されており、MはN以下であり、当該エンコーダは:
前記N個のエンコードされた信号チャネルのサンプルに適用されるときに前記N個のエンコードされた信号チャネルのオーディオ・コンテンツの前記M個の出力チャネルへの第一の混合を実装するN×Nプリミティブ行列の第一のカスケードを決定する段階であって、前記第一の混合は、該第一の混合が少なくとも実質的にA(t1)に等しいという意味で前記時間変化する混合A(t)に整合する、段階と、
プリミティブ行列の前記第一のカスケードおよび前記部分区間上で定義される補間関数とともに、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを示す補間値を決定する段階であって、更新されたプリミティブ行列の各カスケードは、前記N個のエンコードされた信号チャネルのサンプルに適用されるとき、前記N個のエンコードされた信号チャネルの前記M個の出力チャネルへの、前記部分区間における異なる時刻に関連付けられた更新された混合を実装し、それぞれの前記更新された混合は、前記時間変化する混合A(t)と整合する、段階とを実行するよう結合され、構成された第一のサブシステムと;
エンコードされたオーディオ・コンテンツ、前記補間値およびプリミティブ行列の前記第一のカスケードを示すエンコードされたビットストリームを生成するよう構成された、前記第一のサブシステムに結合された第二のサブシステムとを含む、
エンコーダ。
〔付番実施例38〕
前記プリミティブ行列のそれぞれが単位プリミティブ行列である、付番実施例37記載のエンコーダ。
〔付番実施例39〕
前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって、前記エンコードされたオーディオ・コンテンツを生成する段階であって、前記サンプルに行列カスケードのシーケンスを適用することによることを含む、段階を実行するよう構成された、前記第二のサブシステムに結合された第三のサブシステムをさらに含み、前記シーケンスにおける各行列カスケードは、プリミティブ行列のカスケードであり、行列カスケードの前記シーケンスは、前記第一のカスケードのプリミティブ行列の逆行列のカスケードである第一の逆行列カスケードを含む、付番実施例38記載のエンコーダ。
〔付番実施例40〕
前記プログラムのN個のチャネルのサンプルに対して行列演算を実行することによって、前記エンコードされたオーディオ・コンテンツを生成する段階であって、前記サンプルに行列カスケードのシーケンスを適用することによることを含む、段階を実行するよう構成された、前記第二のサブシステムに結合された第三のサブシステムをさらに含み、前記シーケンスにおける各行列カスケードは、プリミティブ行列のカスケードであり、前記シーケンスにおける各行列カスケードは、N×Nの更新されたプリミティブ行列のカスケードの対応するカスケードの逆であり、N=Mであり、前記M個の出力チャネルは無損失で復元された前記プログラムの前記N個のチャネルと同じである、付番実施例38記載のエンコーダ。
〔付番実施例41〕
前記エンコードされたビットストリームが前記補間関数をも示す、付番実施例37記載のエンコーダ。
〔付番実施例42〕
前記プログラムが、少なくとも一つのオブジェクト・チャネルおよび少なくとも一つのオブジェクトの軌跡を示すデータを含むオブジェクト・ベースのオーディオ・プログラムである、付番実施例37記載のエンコーダ。
〔付番実施例43〕
プリミティブ行列の前記第一のカスケードはシード・プリミティブ行列を実装し、前記補間値は前記シード・プリミティブ行列についてのシード・デルタ行列を示す、付番実施例37記載のエンコーダ。
〔付番実施例44〕
前記プログラムのオーディオ・コンテンツまたはエンコードされたコンテンツの、M1個のスピーカー・チャネルへの時間変化するダウンミックスA
2(t)も、前記時間区間上で指定されており、M1はM未満の整数であり、
前記第一のサブシステムは、前記オーディオ・コンテンツまたはエンコードされたコンテンツのM1個のチャネルのサンプルに適用されるときに前記プログラムのオーディオ・コンテンツの前記M1個のスピーカー・チャネルへのダウンミックスを実装するM1×M1プリミティブ行列の第二のカスケードを決定する段階であって、前記ダウンミックスは、該ダウンミックスが少なくとも実質的にA
2(t1)に等しいという意味で前記時間変化する混合A
2(t)に整合する、段階と、M1×M1プリミティブ行列の前記第二のカスケードおよび前記部分区間上で定義された第二の補間関数とともに、更新されたM1×M1プリミティブ行列の諸カスケードのシーケンスを示す追加的補間値を決定する段階であって、更新されたM1×M1プリミティブ行列の各カスケードは、前記オーディオ・コンテンツまたは前記エンコードされたコンテンツのM1個のチャネルのサンプルに適用されるとき、前記プログラムのオーディオ・コンテンツの前記M1個のスピーカー・チャネルへの、前記部分区間における異なる時刻に関連付けられた更新されたダウンミックスを実装し、それぞれの前記更新されたダウンミックスは、前記時間変化する混合A
2(t)と整合する、段階とを実行するよう構成されており、
前記第二のサブシステムは、前記エンコードされたビットストリームを、前記追加的補間値およびM1×M1プリミティブ行列の前記第二のカスケードを示すように生成するよう構成されている、
付番実施例40記載のエンコーダ。
〔付番実施例45〕
前記第二のサブシステムが、前記エンコードされたビットストリームを、前記第二の補間関数をも示すように生成するよう構成されている、付番実施例44記載のエンコーダ。
〔付番実施例46〕
前記補間値は、Yビットをもって表現可能な正規化されたデルタ値と、精度のこのビット数の指示と、精度値とを含み、前記正規化されたデルタ値は、デルタ値の正規化されたバージョンを示し、前記デルタ値は前記プリミティブ行列の係数の変化のレートを示し、前記精度値は
、前記プリミティブ行列の係数を表わすために必要とされる精度に対し
、前記デルタ値を表わすために必要とされる精度の増大を示す、付番実施例37記載のエンコーダ。
〔付番実施例47〕
前記デルタ値は、前記正規化されたデルタ値を、前記プリミティブ行列の係数の分解能および前記精度値に依存するスケール因子によってスケーリングすることによって導出される、付番実施例46記載のエンコーダ。
〔付番実施例48〕
Nチャネル・オーディオ・プログラムの復元を実装するよう構成されたデコーダであって、前記プログラムはある時間区間にわたって指定され、前記時間区間は時刻t1から時刻t2までの部分区間を含み、N個のエンコードされた信号チャネルのM個の出力チャネルへの時間変化する混合A(t)は前記時間区間上で指定されており、当該デコーダは:
エンコードされたビットストリームから、エンコードされたオーディオ・コンテンツ、補間値およびN×Nプリミティブ行列の第一のカスケードを抽出するよう結合され、構成されたパース・サブシステムと;
前記補間値、N×Nプリミティブ行列の前記第一のカスケードおよび前記部分区間上の補間関数から、N×Nの更新されたプリミティブ行列の諸カスケードのシーケンスを決定するよう結合され、構成された補間サブシステムとを含み、
N×Nプリミティブ行列の前記第一のカスケードは、前記エンコードされたオーディオ・コンテンツのN個のエンコードされた信号チャネルのサンプルに適用されるときに前記N個のエンコードされた信号チャネルのオーディオ・コンテンツの前記M個の出力チャネルへの第一の混合を実装するものであり、前記第一の混合は、該第一の混合が少なくとも実質的にA(t1)に等しいという意味で前記時間変化する混合A(t)に整合し、
N×Nの更新されたプリミティブ行列の各カスケードは、前記エンコードされたオーディオ・コンテンツの前記N個のエンコードされた信号チャネルのサンプルに適用されるとき、前記N個のエンコードされた信号チャネルの前記M個の出力チャネルへの、前記部分区間における異なる時刻に関連付けられた更新された混合を実装し、それぞれの前記更新された混合は、前記時間変化する混合A(t)と整合する、
デコーダ。
〔付番実施例49〕
N×Nプリミティブ行列の前記第一のカスケードおよびN×Nの更新されたプリミティブ行列の各カスケードを、前記エンコードされたオーディオ・コンテンツに逐次的に適用して、前記N個チャネル・オーディオ・プログラムの少なくともあるセグメントの前記N個のチャネルを無損失に復元するよう構成された、前記補間サブシステムおよび前記パース・サブシステムに結合された行列乗算サブシステムをさらに含む、付番実施例48記載のデコーダ。
〔付番実施例50〕
前記プリミティブ行列のそれぞれが単位プリミティブ行列である、付番実施例48記載のデコーダ。
〔付番実施例51〕
前記エンコードされたビットストリームが前記補間関数をも示し、前記パース・サブシステムは、エンコードされたビットストリームから、前記補間関数を示すデータを抽出するよう構成されている、付番実施例48記載のデコーダ。
〔付番実施例52〕
前記プログラムが、少なくとも一つのオブジェクト・チャネルおよび少なくとも一つのオブジェクトの軌跡を示すデータを含むオブジェクト・ベースのオーディオ・プログラムである、付番実施例48記載のデコーダ。
〔付番実施例53〕
N×Nプリミティブ行列の前記第一のカスケードはシード・プリミティブ行列を実装し、前記補間値は前記シード・プリミティブ行列についてのシード・デルタ行列を示す、付番実施例48記載のデコーダ。
〔付番実施例54〕
前記補間値は、Yビットをもって表現可能な正規化されたデルタ値と、精度のこのビット数の指示と、精度値とを含み、前記正規化されたデルタ値は、デルタ値の正規化されたバージョンを示し、前記デルタ値は前記プリミティブ行列の係数の変化のレートを示し、前記精度値は
、前記プリミティブ行列の係数を表わすために必要とされる精度に対し
、前記デルタ値を表わすために必要とされる精度の増大を示す、付番実施例48記載のデコーダ。
〔付番実施例55〕
前記デルタ値は、前記正規化されたデルタ値を、前記プリミティブ行列の係数の分解能および前記精度値に依存するスケール因子によってスケーリングすることによって導出される、付番実施例54記載のデコーダ。
〔付番実施例56〕
前記Nチャネルのオーディオ・プログラムのダウンミックスを復元するようにも構成されている付番実施例49記載のデコーダであって、前記Nチャネル・プログラムの、M1個のスピーカー・チャネルへの時間変化するダウンミックスA
2(t)も、前記時間区間上で指定されており、M1はN未満の整数であり、
前記パース・サブシステムは、前記エンコードされたビットストリームから、M1×M1プリミティブ行列の第二のカスケードおよび補間値の第二の集合を抽出するよう構成されており、
前記行列乗算サブシステムは、M1×M1プリミティブ行列の前記第二のカスケードを前記エンコードされたオーディオ・コンテンツのM1個のチャネルのサンプルに適用して、前記Nチャネル・プログラムのM1個のスピーカー・チャネルへのダウンミックスを実装するよう結合され、構成されており、該ダウンミックスは、該ダウンミックスが少なくとも実質的にA
2(t1)に等しいという意味で、前記時間変化する混合A
2(t)とと整合し、
前記補間サブシステムは、補間値の前記第二の集合、M1×M1プリミティブ行列の前記第二のカスケードおよび前記部分区間上で定義されている第二の補間関数を適用して、更新されたM1×M1プリミティブ行列の諸カスケードのシーケンスを得るよう構成されており、
前記行列乗算サブシステムは、前記更新されたM1×M1プリミティブ行列を前記エンコードされたコンテンツの前記M1個のチャネルのサンプルに適用して、前記Nチャネル・プログラムの、前記部分区間における異なる時刻に関連付けられた少なくとも一つの更新されたダウンミックスを実装するよう結合され、構成されており、それぞれの前記更新されたダウンミックスは前記時間変化する混合A
2(t)と整合する、
付番実施例49記載のデコーダ。
〔付番実施例57〕
前記プリミティブ行列のそれぞれが単位プリミティブ行列である、付番実施例56記載のデコーダ。
〔付番実施例58〕
前記エンコードされたビットストリームが前記補間関数をも示し、前記パース・サブシステムは、エンコードされたビットストリームから、前記補間関数を示すデータを抽出するよう較正されている、付番実施例48記載のデコーダ。
〔付番実施例59〕
前記プログラムが、少なくとも一つのオブジェクト・チャネルおよび少なくとも一つのオブジェクトの軌跡を示すデータを含むオブジェクト・ベースのオーディオ・プログラムである、付番実施例48記載のデコーダ。
〔付番実施例60〕
N×Nプリミティブ行列の前記第一のカスケードはシード・プリミティブ行列を実装し、前記補間値は前記シード・プリミティブ行列についてのシード・デルタ行列を示す、付番実施例48記載のデコーダ。
〔付番実施例61〕
前記パース・サブシステムは、前記エンコードされたビットストリームから検査語を抽出するよう構成されており、前記行列乗算サブシステムは、前記Nチャネル・オーディオ・プログラムの前記セグメントの前記N個のチャネルが正しく復元されているかどうかを、前記行列乗算サブシステムによって生成されるオーディオ・サンプルから導出される第二の検査語を、前記エンコードされたビットストリームから抽出された前記検査語と比較することによって、検証するよう構成されている、付番実施例49記載のデコーダ。