[0001]本出願は、2014年7月11日に出願された「SIGNALING AUDIO RENDERING INFORMATION IN A BITSTREAM」という名称の米国仮出願第62/023,662号、および2014年5月30日に出願された「SIGNALING AUDIO RENDERING INFORMATION IN A BITSTREAM」という名称の米国仮出願第62/005,829号の利益を主張し、上記に記載された米国仮出願の各々は、それらのそれぞれの全体として本明細書に記載されたかのように、参照により組み込まれる。
[0026]サラウンドサウンドの発展は、現今では娯楽のための多くの出力フォーマットを利用可能にしている。そのような消費者向けのサラウンドサウンドフォーマットの例は、ある幾何学的な座標にあるラウドスピーカーへのフィードを暗黙的に指定するという点で、大半が「チャネル」ベースである。消費者向けのサラウンドサウンドフォーマットは、普及している5.1フォーマット(これは、次の6つのチャネル、すなわち、フロントレフト(FL)と、フロントライト(FR)と、センターまたはフロントセンターと、バックレフトまたはサラウンドレフトと、バックライトまたはサラウンドライトと、低周波効果(LFE)とを含む)、発展中の7.1フォーマット、7.1.4フォーマットおよび22.2フォーマット(たとえば、超高精細度テレビジョン規格とともに使用するための)などのハイトスピーカーを含む様々なフォーマットを含む。消費者向けではないフォーマットは、「サラウンドアレイ」と呼ばれることが多い(シンメトリック、および非シンメトリック幾何学的配置の)任意の数のスピーカーに及び得る。そのようなアレイの一例は、切頂二十面体の角の座標に配置される32個のラウドスピーカーを含む。
[0027]将来のMPEG符号化器への入力は、オプションで、次の3つの可能なフォーマット、すなわち、(i)あらかじめ指定された位置でラウドスピーカーを通じて再生されることが意図される、(上で論じられたような)従来のチャネルベースオーディオ、(ii)(情報の中でも)位置座標を含む関連付けられたメタデータを有する単一オーディオオブジェクトのための離散的なパルス符号変調(PCM)データを伴うオブジェクトベースオーディオ、および(iii)球面調和基底関数の係数(「球面調和係数」すなわちSHC、「高次アンビソニックス」すなわちHOA、および「HOA係数」とも呼ばれる)を使用して音場を表すことを伴うシーンベースオーディオのうちの1つである。将来のMPEG符号化器は、2013年1月にスイスのジュネーブで発表された、http://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w13411.zipにおいて入手可能な、International Organization for Standardization/International Electrotechnical Commission (ISO)/(IEC) JTC1/SC29/WG11/N13411による「Call for Proposals for 3D Audio」と題される文書においてより詳細に説明され得る。
[0028]市場には様々な「サラウンドサウンド」チャネルベースフォーマットがある。これらのフォーマットは、たとえば、5.1ホームシアターシステム(リビングルームに進出するという点でステレオ以上に最も成功した)からNHK(Nippon Hoso Kyokaiすなわち日本放送協会)によって開発された22.2システムに及ぶ。コンテンツ作成者(たとえば、ハリウッドスタジオ)は、一度に映画のサウンドトラックを作成することを望み、各々のスピーカー構成のためにサウンドトラックをリミックスする努力を行うことを望まない。最近では、規格開発組織が、規格化されたビットストリームへの符号化と、スピーカーの幾何学的配置(と数)および(レンダラを伴う)再生のロケーションにおける音響条件に適応可能でありそれらに依存しない後続の復号とを提供するための方法を考えている。
[0029]コンテンツ作成者にそのような柔軟性を提供するために、要素の階層セットが音場を表すために使用され得る。要素の階層セットは、モデル化された音場の完全な表現をより低次の要素の基本セットが提供するように要素が順序付けられる、要素のセットを指し得る。セットがより高次の要素を含むように拡張されると、表現はより詳細なものになり、分解能は向上する。
[0030]要素の階層セットの一例は、球面調和係数(SHC)のセットである。次の式は、SHCを使用する音場の記述または表現を示す。
[0031]この式は、時間tにおける音場の任意の点{rr,θr,φr}における圧力piが、SHC、
によって一意に表され得ることを示す。ここで、
であり、cは音速(約343m/s)であり、{rr,θr,φr}は基準点(または観測点)であり、jn(・)は次数nの球ベッセル関数であり、
は次数nおよび副次数mの球面調和基底関数である。角括弧内の項は、離散フーリエ変換(DFT)、離散コサイン変換(DCT)、またはウェーブレット変換などの様々な時間周波数変換によって近似され得る信号の周波数領域表現(すなわち、S(ω,rr,θr,φr))であることが認識できよう。階層セットの他の例は、ウェーブレット変換係数のセット、および多分解能基底関数の係数の他のセットを含む。
[0032]図1は、0次(n=0)から4次(n=4)までの球面調和基底関数を示す図である。理解できるように、各次数に対して、説明を簡単にするために図示されているが図1の例では明示的に示されていない副次数mの拡張が存在する。
[0033]SHC
は、様々なマイクロフォンアレイ構成によって物理的に獲得(たとえば、録音)されてよく、または代替的に、それらは音場のチャネルベースまたはオブジェクトベースの記述から導出されてよい。SHCはシーンベースのオーディオを表し、ここで、SHCは、より効率的な送信または記憶を促し得る符号化されたSHCを取得するために、オーディオ符号化器に入力され得る。たとえば、(1+4)2個の(25個の、したがって4次の)係数を伴う4次表現が使用され得る。
[0034]上述されたように、SHCは、マイクロフォンアレイを使用したマイクロフォン録音から導出され得る。SHCがマイクロフォンアレイからどのように導出され得るかの様々な例は、Poletti,M、「Three−Dimensional Surround Sound Systems Based on Spherical Harmonics」、J.Audio Eng. Soc.、Vol. 53、No. 11、2005年11月、1004〜1025ページにおいて説明されている。
[0035]SHCがどのようにオブジェクトベースの記述から導出され得るかを例示するために、次の式を考える。個々のオーディオオブジェクトに対応する音場についての係数
は、
と表され得、ただし、iは、
であり、
は、次数nの(第2の種類の)球ハンケル関数であり、{rs,θs、φs}はオブジェクトのロケーションである。周波数の関数として(たとえば、PCMストリームに対して高速フーリエ変換を実行するなど、時間周波数分析技法を使用して)オブジェクトソースエネルギーg(ω)を知ることで、各PCMオブジェクトと対応するロケーションとをSHC
に変換することが可能となる。さらに、各オブジェクトについての
係数は、(上式は線形であり直交方向の分解であるので)加法的であることが示され得る。このようにして、多数のPCMオブジェクトが
係数によって(たとえば、個々のオブジェクトについての係数ベクトルの和として)表され得る。本質的に、これらの係数は、音場についての情報(3D座標の関数としての圧力)を含んでおり、上記は、観測点{rr,θr,φr}の近傍における、音場全体の表現への個々のオブジェクトからの変換を表す。残りの数字は、以下でオブジェクトベースのオーディオコーディングおよびSHCベースのオーディオコーディングの文脈で説明される。
[0036]図2は、本開示で説明される技法の様々な態様を実行することができるシステム10を示す図である。図2の例に示されるように、システム10は、コンテンツ作成者デバイス12と、コンテンツ消費者デバイス14とを含む。コンテンツ作成者デバイス12およびコンテンツ消費者デバイス14の文脈で説明されているが、本技法は、オーディオデータを表すビットストリームを形成するために、SHC(HOA係数とも呼ばれ得る)または音場の任意の他の階層的表現が符号化される任意の文脈で実施され得る。その上、コンテンツ作成者デバイス12は、いくつか例を挙げると、ハンドセット(またはセルラーフォン)、タブレットコンピュータ、スマートフォン、またはデスクトップコンピュータを含む、本開示で説明される技法を実施することが可能な任意の形態のコンピューティングデバイスを表し得る。同様に、コンテンツ消費者デバイス14は、いくつか例を挙げると、ハンドセット(またはセルラーフォン)、タブレットコンピュータ、スマートフォン、セットトップボックス、またはデスクトップコンピュータを含む、本開示で説明される技法を実施することが可能な任意の形態のコンピューティングデバイスを表し得る。
[0037]コンテンツ作成者デバイス12は、コンテンツ消費者デバイス14などのコンテンツ消費者デバイスのオペレータによる消費のためのマルチチャネルオーディオコンテンツを生成することができる、映画スタジオまたは他のエンティティによって操作され得る。いくつかの例では、コンテンツ作成者デバイス12は、HOA係数11を圧縮することを望む個人ユーザによって操作され得る。多くの場合、コンテンツ作成者は、ビデオコンテンツとともに、オーディオコンテンツを生成する。コンテンツ消費者デバイス14は、個人によって操作され得る。コンテンツ消費者デバイス14は、マルチチャネルオーディオコンテンツとしての再生のためにSHCをレンダリングすることが可能な任意の形態のオーディオ再生システムを指し得る、オーディオ再生システム16を含み得る。
[0038]コンテンツ作成者デバイス12は、オーディオ編集システム18を含む。コンテンツ作成者デバイス12は、様々なフォーマットのライブ録音7(HOA係数として直接含む)とオーディオオブジェクト9とを取得し、コンテンツ作成者デバイス12は、オーディオ編集システム18を使用してこれらを編集することができる。マイクロフォン5は、ライブ録音7をキャプチャし得る。コンテンツ作成者は、編集プロセスの間に、オーディオオブジェクト9からのHOA係数11をレンダリングし、さらなる編集を必要とする音場の様々な態様を特定しようとして、レンダリングされたスピーカーフィードを聞くことができる。コンテンツ作成者デバイス12は次いで、(潜在的に、上記で説明された方法でソースHOA係数がそれから導出され得るオーディオオブジェクト9のうちの様々なオブジェクトの操作を通じて間接的に)HOA係数11を編集することができる。コンテンツ作成者デバイス12は、HOA係数11を生成するためにオーディオ編集システム18を採用することができる。オーディオ編集システム18は、オーディオデータを編集し、このオーディオデータを1つまたは複数のソース球面調和係数として出力することが可能な任意のシステムを表す。
[0039]編集プロセスが完了すると、コンテンツ作成者デバイス12は、HOA係数11に基づいてビットストリーム21を生成することができる。すなわち、コンテンツ作成者デバイス12は、ビットストリーム21を生成するために、本開示で説明される技法の様々な態様に従って、HOA係数11を符号化またはさもなければ圧縮するように構成されたデバイスを表す、オーディオ符号化デバイス20を含む。オーディオ符号化デバイス20は、一例として、有線チャネルまたはワイヤレスチャネル、データ記憶デバイスなどであり得る送信チャネルを介した送信のために、ビットストリーム21を生成することができる。ビットストリーム21は、HOA係数11の符号化されたバージョンを表すことができ、主要ビットストリームと、サイドチャネル情報とも呼ばれ得る別のサイドビットストリームとを含み得る。
[0040]図2では、コンテンツ消費者デバイス14に直接的に送信されるものとして示されているが、コンテンツ作成者デバイス12は、コンテンツ作成者デバイス12とコンテンツ消費者デバイス14との間に配置された中間デバイスにビットストリーム21を出力することができる。中間デバイスは、ビットストリームを要求し得るコンテンツ消費者デバイス14に後で配信するために、ビットストリーム21を記憶することができる。中間デバイスは、ファイルサーバ、ウェブサーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルフォン、スマートフォン、または後でのオーディオ復号器による取出しのためにビットストリーム21を記憶することが可能な任意の他のデバイスを備え得る。中間デバイスは、ビットストリーム21を要求するコンテンツ消費者デバイス14などの加入者にビットストリーム21を(場合によっては対応するビデオデータビットストリームを送信するとともに)ストリーミングすることが可能なコンテンツ配信ネットワーク内に存在してもよい。
[0041]代替的に、コンテンツ作成者デバイス12は、コンパクトディスク、デジタルビデオディスク、高精細度ビデオディスク、または他の記憶媒体などの記憶媒体にビットストリーム21を記憶することができ、記憶媒体の大部分はコンピュータによって読み取り可能であり、したがって、コンピュータ可読記憶媒体または非一時的コンピュータ可読記憶媒体と呼ばれることがある。この文脈において、送信チャネルは、これらの媒体に記憶されたコンテンツが送信されるチャネルを指すことがある(および、小売店と他の店舗ベースの配信機構とを含み得る)。したがって、いずれにしても、本開示の技法は、この点に関して図2の例に限定されるべきではない。
[0042]図2の例にさらに示されるように、コンテンツ消費者デバイス14は、オーディオ再生システム16を含む。オーディオ再生システム16は、マルチチャネルオーディオデータを再生することが可能な任意のオーディオ再生システムを表し得る。オーディオ再生システム16は、いくつかの異なるレンダラ22を含み得る。レンダラ22は各々、異なる形態のレンダリングを提供することができ、異なる形態のレンダリングは、ベクトルベース振幅パンニング(VBAP:vector-base amplitude panning)を実行する様々な方法の1つもしくは複数、および/または音場合成を実行する様々な方法の1つもしくは複数を含み得る。本明細書で使用される場合、「Aおよび/またはB」は、「AまたはB」、または「AとB」の両方を意味する。
[0043]オーディオ再生システム16は、オーディオ復号デバイス24をさらに含み得る。オーディオ復号デバイス24は、ビットストリーム21からHOA係数11’を復号するように構成されたデバイスを表し得、HOA係数11’は、HOA係数11と類似し得るが、損失のある演算(たとえば、量子化)および/または送信チャネルを介した送信が原因で異なり得る。オーディオ再生システム16は、HOA係数11’を取得するためにビットストリーム21を復号した後、ラウドスピーカーフィード25を出力するためにHOA係数11’をレンダリングすることができる。ラウドスピーカーフィード25は、1つまたは複数のラウドスピーカー(説明を簡単にするために図2の例には示されていない)を駆動することができる。
[0044]適切なレンダラを選択するために、またはいくつかの場合には、適切なレンダラを生成するために、オーディオ再生システム16は、ラウドスピーカーの数および/またはラウドスピーカーの空間的な幾何学的配置を示すラウドスピーカー情報13を取得することができる。いくつかの場合には、オーディオ再生システム16は、基準マイクロフォンを使用してラウドスピーカー情報13を取得し、ラウドスピーカー情報13を動的に決定するような方法でラウドスピーカーを駆動することができる。他の場合には、またはラウドスピーカー情報13の動的な決定とともに、オーディオ再生システム16は、オーディオ再生システム16とインターフェースをとりラウドスピーカー情報13を入力するようにユーザに促すことができる。
[0045]オーディオ再生システム16は次いで、ラウドスピーカー情報13に基づいて、オーディオレンダラ22のうちの1つを選択することができる。いくつかの場合には、オーディオ再生システム16は、オーディオレンダラ22のいずれもがラウドスピーカー情報13において指定されたラウドスピーカーの幾何学的配置に対して(ラウドスピーカーの幾何学的配置の観点では)何らかの類似性の尺度のしきい値内にないとき、ラウドスピーカー情報13に基づいて、オーディオレンダラ22のうちの1つを生成することができる。オーディオ再生システム16は、いくつかの場合には、オーディオレンダラ22のうちの既存の1つを選択することを最初に試みることなく、ラウドスピーカー情報13に基づいて、オーディオレンダラ22のうちの1つを生成することができる。1つまたは複数のスピーカー3は、その後、レンダリングされたラウドスピーカーフィード25を再生し得る。
[0046]いくつかの場合には、音声再生システム16は、オーディオレンダラ22のうちの任意の1つを選択でき、ビットストリーム21が受信されソース(数例を提供するために、DVDプレーヤー、ブルーレイ(登録商標)プレーヤー、スマートフォン、タブレットコンピュータ、ゲーム機、およびテレビ受像機など)に応じてオーディオレンダラ22のうちの1つまたは複数を選択するように構成されることができる。オーディオレンダラ22のうちの任意の1つが、選択されることができるが、しばしばコンテンツを作成するときに使用されたオーディオレンダラは、コンテンツが、音声レンダラのうちのこの1つ、すなわち図3の例では音声レンダラ5を使用してコンテンツ作成者12によって作成されたという事実に起因して、レンダリングのより良い(おそらく最良の)形を提供する。同じまたは少なくとも近い(レンダリングの形態の観点から)、オーディオレンダラ22のうちの1つを選択することは、音場のより良い表現を提供することができ、コンテンツ消費者14のために良いサラウンド音響体験をもたらすことができる。
[0047]本開示で説明される技法に従って、オーディオ符号化デバイス20は、オーディオレンダリング情報2(「レンダー情報2(render info)」)を含むために、ビットストリーム21を生成することができる。オーディオレンダリング情報2は、マルチチャネルオーディオコンテンツを生成するときに使用されるオーディオレンダラ、すなわち図3の例ではオーディオレンダラ1を識別する信号値を含むことができる。いくつかの場合には、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用されるマトリックスを含む。
[0048]いくつかの場合には、信号値は、ビットストリームが、球面調和係数を複数のスピーカーフィードにレンダリングするために使用されるマトリックスを含むことを示すインデックスを規定する2つ以上のビットを含む。いくつかの場合には、インデックスが、使用されるとき、信号値はさらに、ビットストリームに含まれる行列の行の数を規定する2つ以上のビットと、ビットストリームに含まれる行列の列の数を規定する2つ以上のビットとを含む。この情報を使用し、二次元行列の各係数が典型的には、32ビット浮動小数点数によって規定されると仮定すると、行列のビットの観点からのサイズは、行の数、列の数、およびマトリックスの各係数を規定する浮動小数点数のサイズ、すなわちこの例では32ビットの関数として計算され得る。
[0049]いくつかの場合には、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用されるレンダリングアルゴリズムを指定する。レンダリングアルゴリズムは、オーディオ符号化デバイス20と復号デバイス24との両方に既知の行列を含むことができる。すなわち、レンダリングアルゴリズムは、パニング(たとえば、VBAP、DBAP、もしくは単純なパニング)またはNFCフィルタリングなどの、他のレンダリングステップに加えて行列の適用を含むことができる。いくつかの場合には、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される複数の行列のうちの1つと関連するインデックスを規定する2つ以上のビットを含む。この場合もやはり、オーディオ符号化デバイス20と復号デバイス24との両方は、インデックスが複数の行列のうちの特定の1つを一意的に識別することができるように、複数の行列と複数の行列の次数とを示す情報で構成され得る。代替的に、オーディオ符号化デバイス20は、インデックスが複数の行列のうちの特定の1つを一意的に識別することができるように、複数の行列および/または複数の行列の次数を規定するビットストリーム31でのデータを指定し得る。
[0050]いくつかの場合には、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される複数のレンダリングアルゴリズムのうちの1つと関連するインデックスを規定する2つ以上のビットを含む。この場合もやはり、オーディオ符号化デバイス20と復号デバイス24との両方は、インデックスが複数の行列のうちの特定の1つを一意的に識別することができるように、複数のレンダリングアルゴリズムと複数のレンダリングアルゴリズムの次数とを示す情報で構成され得る。代替的に、オーディオ符号化デバイス20は、インデックスが複数の行列の特定の1つを一意的に識別することができるように、複数の行列および/または複数の行列の次数を規定するビットストリーム21中のデータを指定し得る。
[0051]いくつかの場合には、オーディオ符号化デバイス20は、ビットストリーム中でオーディオフレームごとにオーディオレンダリング情報2を指定する。他の場合には、オーディオ符号化デバイス20は、ビットストリーム中で一回、オーディオレンダリング情報2を指定する。
[0052]復号デバイス24は次いで、ビットストリーム中で指定されるオーディオレンダリング情報2を決定し得る。オーディオレンダリング情報2中に含まれる信号値に基づいて、オーディオ再生システム16は、オーディオレンダリング情報2に基づいて複数のスピーカーフィード25をレンダリングし得る。上述されたように、信号値は、いくつかの場合には、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される行列を含み得る。この場合には、オーディオ再生システム16は、その行列でオーディオレンダラ22のうちの1つを構成することができ、その行列に基づいてスピーカーフィード25をレンダリングするためにオーディオレンダラ22のうちのこの1つを使用する。
[0053]いくつかの場合には、信号値は、ビットストリームが、HOA11’をスピーカーフィード25にレンダリングするために使用される行列を含むことを示すインデックスを規定する2つ以上のビットを含む。復号デバイス24は、インデックスに応答してビットストリームから行列を解析することができ、そうするとオーディオ再生システム16は、解析された行列でオーディオレンダラ22のうちの1つを構成し、スピーカーフィード25をレンダリングするためにレンダラ22のうちのこの1つを呼び出し得る。信号値が、ビットストリーム中に含まれる行列の行の数を規定する2つ以上のビットと、ビットストリーム中に含まれる行列の列の数を規定する2つ以上のビットとを含むとき、復号デバイス24は、インデックスに応答し、上述されたように行の数を規定する2つ以上のビットおよび列の数を規定する2つ以上のビットに基づいてビットストリームから行列を解析し得る。
[0054]いくつか場合には、信号値は、HOA11’をスピーカーフィード22にレンダリングするために使用されるレンダリングアルゴリズムを指定する。これらの場合には、オーディオレンダラ22のうちのいくつかまたはすべては、これらのレンダリングアルゴリズムを実行し得る。オーディオ再生デバイス16は次いで、HOA11’からスピーカーフィード25をレンダリングするために、指定されたレンダリングアルゴリズム、たとえばオーディオレンダラ22のうちの1つを利用し得る。
[0055]信号値が、HOA11’をスピーカーフィード25にレンダリングするために使用される複数の行列のうちの1つと関連するインデックスを規定する2つ以上のビットを含むとき、オーディオレンダラ22のうちのいくつかまたはすべては、この複数の行列を表し得る。したがって、オーディオ再生システム16は、インデックスと関連するオーディオレンダラ22のうちの1つを使用してHOA11’からスピーカーフィード25をレンダリングし得る。
[0056]信号値が、HOA11’をスピーカーフィード25にレンダリングするために使用される複数のレンダリングアルゴリズムのうちの1つと関連するインデックスを規定する2つ以上のビットを含むとき、オーディオレンダラ34のうちのいくつかまたはすべては、これらのレンダリングアルゴリズムを表し得る。したがって、オーディオ再生システム16は、インデックスと関連するオーディオレンダラ22のうちの1つを使用して球面調和係数11’からスピーカーフィード25をレンダリングし得る。
[0057]このオーディオレンダリング情報がビットストリーム中で指定される頻度に依存して、復号デバイス24は、オーディオフレームベースごと(per-audio-frame-basis)にまたは一度で、オーディオレンダリング情報2を決定し得る。
[0058]このようにオーディオレンダリング情報3を指定することによって、本技法は、コンテンツ作成者12がマルチチャネルオーディオコンテンツを再生しようと意図した仕方に従って、マルチチャネルオーディオコンテンツのより良い再生を潜在的にもたらし得る。結果として、本技法は、より没入型サラウンド音響またはマルチチャネルオーディオ体験を提供し得る。
[0059]言い換えれば、および、上述されたように、高次アンビソニック(HOA)は、空間フーリエ変換に基づいて音場の指向性情報を説明するための方法を表わし得る。典型的には、アンビソニックス次数Nがより高いほど、空間分解能はより高く、球面調和(SH)係数の数(N+1)^2はより大きく、データを送信し、記憶するために必要とされる帯域幅はより大きい。
[0060]この説明の潜在的利点は、大部分の任意のラウドスピーカー設定(たとえば、5.1、7.1、22.2等)でこの音場を再生する可能性である。音場記述からM個のラウドスピーカー信号への転換は、(N+1)2個の入力およびM個の出力を持つ静的なレンダリング行列を介して行われ得る。その結果として、あらゆるラウドスピーカー設定は、専用のレンダリング行列を必要とし得る。いくつかのアルゴリズムは、所望のラウドスピーカー設定のためのレンダリング行列を計算するために存在し得、それは、ガーゾン(Gerzon)基準のような、ある客観的尺度または主観的尺度のために最適化され得る。不規則なラウドスピーカー設定では、アルゴリズムは、凸最適化のような、反復数値最適化プロシージャに起因して複雑になり得る。待ち時間なしに不規則なラウドスピーカー配置のためのレンダリング行列を計算するために、利用可能な十分な計算リソースを有することが、有益となり得る。不規則なラウドスピーカー設定は、構造的制約および美的な好みに起因して家庭のリビングルーム環境において良く起き得る。したがって、最良の音場再生では、そのようなシナリオのために最適化されたレンダリング行列は、音場の再生をより正確に可能にし得るという点で好まれ得る。
[0061]オーディオ復号器は通常、多くの計算リソースを必要としないので、デバイスは、消費者が使い易い時間(consumer-friendly time)において不規則なレンダリング行列を計算することができ得ない。本開示で説明される技法の様々な態様は、以下のようなクラウドベース計算アプローチを使用に提供し得る:
1.オーディオ復号器は、サーバにラウドスピーカー座標を(およびいくつかの場合には、較正マイクロフォンで取得されるSPL測定結果も)インターネット接続を介して送り得る。
2.クラウドベースサーバは、レンダリング行列を(および、消費者が後でこれらの異なるバージョンから選ぶことができるように、おそらく少数の異なるバージョンを)計算し得る。
3.サーバは次いで、インターネット接続を介してオーディオ復号器にレンダリング行列を(または異なるバージョンを)送り返し得る。
[0062]このアプローチは、規則的なスピーカー構成または幾何学的配置のために通常設計されるレンダリング行列と比較して、(強力なプロセッサが、これらの不規則なレンダリング行列を計算するために必要とされ得ないので)より最適なオーディオ再生もまた容易にしながら、製造業者がオーディオ復号器の製造コストを低く保つことを可能にし得る。レンダリング行列を計算するためのアルゴリズムはまた、オーディオ復号器が出荷された後に最適化され得、ハードウェア修正(hardware revision)またはリコールさえものコストを潜在的に低減する。本技法はまた、いくつかの場合には、将来の製品開発のために有益であり得る消費者製品の異なるラウドスピーカー設定に関する多くの情報を収集し得る。
[0063]いくつかの場合には、上述したように、図3に示されるシステムは、ビットストリーム21においてオーディオレンダリング情報2をシグナリングし得ないが、代わりに、ビットストリーム21から分離したメタデータとしてこのオーディオレンダリング情報2をシグナリングし得る。代替または上述されたそれと併せて、図3に示されるシステムは、上述されるようなビットストリーム21におけるオーディオレンダリング情報2の一部をシグナリングし得、ビットストリーム21から分離したメタデータとしてこのオーディオレンダリング情報3の一部をシグナリングし得る。いくつかの例では、オーディオ符号化デバイス20は、メタデータを出力し得、それは次いで、サーバまたは他のデバイスにアップロードされ得る。オーディオ復号デバイス24は次いで、このメタデータをダウンロードするまたはさもなければ取り出し得、それは次いで、オーディオ符号化デバイス24によってビットストリーム21から抽出されたオーディオレンダリング情報を増強するために使用される。技術のレンダリング情報態様に従って形成されたビットストリーム21は、図8A−8Dの例に関して以下で説明される。
[0064]図3は、本開示で説明される技法の様々な態様を実行することができる、図2の例に示されるオーディオ符号化デバイス20の一例をより詳細に示すブロック図である。オーディオ符号化デバイス20は、コンテンツ分析ユニット26と、ベクトルベース分解ユニット27と、指向性ベース分解ユニット28とを含む。以下で手短に説明されるが、オーディオ符号化デバイス20に関するより多くの情報、およびHOA係数を圧縮またはさもなければ符号化する様々な態様は、2014年5月29に出願された「INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD」という名称の国際特許出願公開第WO2014/194099号において入手可能である。
[0065]コンテンツ分析ユニット26は、HOA係数11がライブ録音から生成されたコンテンツを表すか、オーディオオブジェクトから生成されたコンテンツを表すかを特定するために、HOA係数11のコンテンツを分析するように構成されたユニットを表す。コンテンツ分析ユニット26は、HOA係数11が実際の音場の録音から生成されたか人工的なオーディオオブジェクトから生成されたかを決定することができる。いくつかの場合には、フレーム化されたHOA係数11が録音から生成されたとき、コンテンツ分析ユニット26は、HOA係数11をベクトルベース分解ユニット27に渡す。いくつかの場合には、フレーム化されたHOA係数11が合成オーディオオブジェクトから生成されたとき、コンテンツ分析ユニット26は、HOA係数11を指向性ベース合成ユニット28に渡す。指向性ベース合成ユニット28は、指向性ベースビットストリーム21を生成するためにHOA係数11の指向性ベース合成を実行するように構成されたユニットを表し得る。
[0066]図3の例に示されるように、ベクトルベース分解ユニット27は、線形可逆変換(LIT)ユニット30と、パラメータ計算ユニット32と、並べ替えユニット34と、フォアグラウンド選択ユニット36と、エネルギー補償ユニット38と、聴覚心理オーディオコーダユニット40と、ビットストリーム生成ユニット42と、音場分析ユニット44と、係数低減ユニット46と、バックグラウンド(BG)選択ユニット48と、空間時間的補間ユニット50と、量子化ユニット52とを含み得る。
[0067]線形可逆変換(LIT)ユニット30は、HOAチャネルの形態でHOA係数11を受信し、各チャネルは、球面基底関数の所与の次数、副次数に関連付けられた係数のブロックまたはフレーム(HOA[k]と示され得、ただし、kはサンプルの現在のフレームまたはブロックを示し得る)を表す。HOA係数11の行列は、次元D:M×(N+1)2を有し得る。
[0068]LITユニット30は、特異値分解と呼ばれるある形態の分析を実行するように構成されたユニットを表し得る。SVDに関して説明されているが、本開示で説明される技法は、線形的に無相関な、エネルギーが圧縮された出力のセットを提供する任意の類似の変換または分解に対して実行されてよい。また、本開示における「セット」への言及は、一般的に、それとは反対に特に明記されていない限り、非0のセットを指すことが意図され、いわゆる「空集合」を含む集合の古典的な数学的定義を指すことは意図されない。代替的な変換は、「PCA」と呼ばれることが多い、主成分分析を備え得る。文脈に応じて、PCAは、いくつかの例を挙げれば、離散カルーネン−レーベ変換、ホテリング変換、固有直交分解(POD)、および固有値分解(EVD)などのいくつかの異なる名前によって呼ばれることがある。オーディオデータを圧縮するという背後にある目標につながるそのような演算の特性は、マルチチャネルオーディオデータの「エネルギー圧縮」および「無相関化」である。
[0069]いずれにしても、LITユニット30が、例として、特異値分解(やはり「SVD」と呼ばれることがある)を実行すると仮定すると、LITユニット30は、HOA係数11を、変換されたHOA係数の2つ以上のセットに変換することができる。変換されたHOA係数の「セット」は、変換されたHOA係数のベクトルを含み得る。図3の例では、LITユニット30は、いわゆるV行列と、S行列と、U行列とを生成するために、HOA係数11に関してSVDを実行することができる。SVDは、線形代数学では、y×zの実行列または複素行列X(ここで、Xは、HOA係数11などのマルチチャネルオーディオデータを表し得る)の因数分解を以下の形で表し得る:
X=USV*
Uは、y×yの実ユニタリー行列または複素ユニタリー行列を表し得、ここで、Uのy個の列は、マルチチャネルオーディオデータの左特異ベクトルとして知られる。Sは、対角線上に非負実数をもつy×zの矩形対角行列を表し得、ここで、Sの対角線値は、マルチチャネルオーディオデータの特異値として知られる。V*(Vの共役転置を示し得る)はz×zの実ユニタリー行列または複素ユニタリー行列を表し得、ここで、V*のz個の列は、マルチチャネルオーディオデータの右特異ベクトルとして知られる。
[0070]いくつかの例では、上で参照されたSVD数式中のV*行列は、複素数を備える行列にSVDが適用され得ることを反映するために、V行列の共役転置として示される。実数のみを備える行列に適用されるとき、V行列の複素共役(すなわち、言い換えれば、V*行列)は、V行列の転置であると見なされてよい。以下では、説明を簡単にするために、HOA係数11が実数を備え、その結果、V*行列ではなくV行列がSVDによって出力されると仮定される。その上、本開示ではV行列として示されるが、V行列への言及は、適切な場合にはV行列の転置を指すものとして理解されるべきである。V行列であると仮定されているが、本技法は、同様の方式で、複素係数を有するHOA係数11に適用されてよく、ここで、SVDの出力はV*行列である。したがって、本技法は、この点について、V行列を生成するためにSVDの適用を提供することのみに限定されるべきではなく、V*行列を生成するために複素成分を有するHOA係数11へのSVDの適用を含んでよい。
[0071]このようにして、LITユニット30は、次元D:M×(N+1)2を有するUS[k]ベクトル33(SベクトルとUベクトルとの組み合わされたバージョンを表し得る)と、次元D:(N+1)2×(N+1)2を有するV[k]ベクトル35とを出力するために、HOA係数11に関してSVDを実行することができる。US[k]行列中の個々のベクトル要素は、Xps(k)とも呼ばれることがあり、一方、V[k]行列の個々のベクトルはv(k)とも呼ばれることがある。
[0072]U行列、S行列、およびV行列の分析は、それらの行列がXによって上で表される背後の音場の空間的および時間的な特性を伝え、または表すということを明らかにし得る。(M個のサンプルの長さの)Uの中のN個のベクトルの各々は、(M個のサンプルによって表される時間期間の間は)時間の関数として、互いに直交しておりあらゆる空間特性(指向性情報とも呼ばれ得る)とは切り離されている、正規化された分離されたオーディオ信号を表し得る。空間的な形状と位置(r、θ、φ)を表す空間特性は、代わりに、(各々が(N+1)2の長さの)V行列の中の個々のi番目のベクトル、v(i)(k)によって表され得る。v(i)(k)ベクトルの各々の個々の要素は、関連付けられたオーディオオブジェクトのための音場の形状(幅を含む)と位置とを記述するHOA係数を表し得る。U行列中のベクトルとV行列中のベクトルの両方が、それらの2乗平均エネルギーが1に等しくなるように正規化される。したがって、Uの中のオーディオ信号のエネルギーは、Sの中の対角線要素によって表される。したがって、US[k](個々のベクトル要素XPS(k)を有する)を形成するために、UとSとを乗算することは、真のエネルギーを有するオーディオ信号を表す。(Uにおける)オーディオ時間信号と、(Sにおける)それらのエネルギーと、(Vにおける)それらの空間特性とを切り離すSVD分解の能力は、本開示で説明される技法の様々な態様を支援することができる。さらに、背後のHOA[k]係数XをUS[k]とV[k]とのベクトル乗算によって合成するモデルは、本文書全体で使用される、「ベクトルベース分解」という用語を生じさせる。
[0073]HOA係数11に関して直接実行されるものとして説明されるが、LITユニット30は、線形可逆変換をHOA係数11の派生物に適用することができる。たとえば、LITユニット30は、HOA係数11から導出された電力スペクトル密度行列に関してSVDを適用することができる。HOA係数自体ではなくHOA係数の電力スペクトル密度(PSD)に関してSVDを実行することによって、LITユニット30は潜在的に、プロセッササイクルおよび記憶空間のうちの1つまたは複数に関してSVDを実行することの計算的な複雑さを低減しつつ、SVDがHOA係数に直接適用されたかのように同じソースオーディオ符号化効率を達成することができる。
[0074]パラメータ計算ユニット32は、相関パラメータ(R)、指向性特性パラメータ(θ、φ、r)、およびエネルギー特性(e)などの様々なパラメータを計算するように構成されたユニットを表す。現在のフレームのためのパラメータの各々は、R[k]、θ[k]、φ[k]、r[k]、およびe[k]として示され得る。パラメータ計算ユニット32は、パラメータを特定するために、US[k]ベクトル33に関してエネルギー分析および/または相関(もしくはいわゆる相互相関)を実行することができる。パラメータ計算ユニット32はまた、以前のフレームのためのパラメータを決定することができ、ここで、以前のフレームパラメータは、US[k−1]ベクトルおよびV[k−1]ベクトルの以前のフレームに基づいて、R[k−1]、θ[k−1]、φ[k−1]、r[k−1]、およびe[k−1]と示され得る。パラメータ計算ユニット32は、現在のパラメータ37と以前のパラメータ39とを並べ替えユニット34に出力することができる。
[0075]パラメータ計算ユニット32によって計算されるパラメータは、オーディオオブジェクトの自然な評価または時間的な継続性を表すようにオーディオオブジェクトを並べ替えるために、並べ替えユニット34によって使用され得る。並べ替えユニット34は、第1のUS[k]ベクトル33からのパラメータ37の各々を、第2のUS[k−1]ベクトル33のためのパラメータ39の各々に対して順番ごとに比較することができる。並べ替えユニット34は、並べ替えられたUS[k]行列33’(数学的には
として示され得る)と、並べ替えられたV[k]行列35’(数学的には
として示され得る)とをフォアグラウンドサウンド(または支配的サウンド−PS(predominant sound))選択ユニット36(「フォアグラウンド選択ユニット36」)およびエネルギー補償ユニット38に出力するために、現在のパラメータ37および以前のパラメータ39に基づいて、US[k]行列33およびV[k]行列35内の様々なベクトルを(一例として、ハンガリー法を使用して)並べ替えることができる。
[0076]音場分析ユニット44は、目標ビットレート41を潜在的に達成するために、HOA係数11に関して音場分析を実行するように構成されたユニットを表し得る。音場分析ユニット44は、その分析および/または受信された目標ビットレート41に基づいて、聴覚心理コーダのインスタンス化の総数(環境またはバックグラウンドチャネルの総数(BGTOT)とフォアグラウンドチャネル、または言い換えれば支配的なチャネルの数との関数であり得る、を決定することができる。聴覚心理コーダのインスタンス化の総数は、numHOATransportChannelsとして示され得る。
[0077]音場分析ユニット44はまた、やはり目標ビットレート41を潜在的に達成するために、フォアグラウンドチャネルの総数(nFG)45と、バックグラウンド(または言い換えれば環境的な)音場の最小次数(NBG、または代替的にはMinAmbHOAorder)と、バックグラウンド音場の最小次数を表す実際のチャネルの対応する数(nBGa=(MinAmbHOAorder+1)2)と、送るべき追加のBG HOAチャネルのインデックス(i)(図3の例ではバックグラウンドチャネル情報43として総称的に示され得る)とを決定することができる。バックグラウンドチャネル情報42は、環境チャネル情報43とも呼ばれ得る。numHOATransportChannels−nBGaで残るチャネルの各々は、「追加のバックグラウンド/環境チャネル」、「アクティブなベクトルベースの支配的なチャネル」、「アクティブな指向性ベースの支配的な信号」、または「完全に非アクティブ」のいずれかであり得る。一態様では、チャネルタイプは、2ビットによって(「ChannelType」として)示されたシンタックス要素であり得る(たとえば、00:指向性ベースの信号、01:ベクトルベースの支配的な信号、10:追加の環境信号、11:非アクティブな信号)。バックグラウンド信号または環境信号の総数、nBGaは、(MinAmbHOAorder+1)2+(上記の例における)インデックス10がそのフレームのためのビットストリームにおいてチャネルタイプとして現れる回数によって与えられ得る。
[0078]いずれにしても、音場分析ユニット44は、目標ビットレート41に基づいて、バックグラウンド(または言い換えれば環境)チャネルの数とフォアグラウンド(または言い換えれば支配的な)チャネルの数とを選択し、目標ビットレート41が比較的高いとき(たとえば、目標ビットレート41が512Kbps以上であるとき)はより多くのバックグラウンドチャネルおよび/またはフォアグラウンドチャネルを選択することができる。一態様では、ビットストリームのヘッダセクションにおいて、numHOATransportChannelsは8に設定され得るが、一方で、MinAmbHOAorderは1に設定され得る。このシナリオでは、各フレームにおいて、音場のバックグラウンド部分または環境部分を表すために4つのチャネルが確保され得るが、一方で、他の4つのチャネルは、フレームごとに、チャネルのタイプに応じて変化してよく、たとえば、追加のバックグラウンド/環境チャネルまたはフォアグラウンド/支配的なチャネルのいずれかとして使用され得る。フォアグラウンド/支配的な信号は、上記で説明されたように、ベクトルベースの信号または指向性ベースの信号のいずれかの1つであり得る。
[0079]いくつかの場合には、フレームのためのベクトルベースの支配的な信号の総数は、そのフレームのビットストリームにおいてChannelTypeインデックスが01である回数によって与えられ得る。上記の態様では、各々の追加のバックグラウンド/環境チャネル(たとえば、10というChannelTypeに対応する)に対して、(最初の4つ以外の)あり得るHOA係数のいずれがそのチャネルにおいて表され得るかの対応する情報。その情報は、4次のHOAコンテンツについては、HOA係数5〜25を示すためのインデックスであり得る。最初の4つの環境HOA係数1〜4は、minAmbHOAorderが1に設定されるときは常に送られ得、したがって、オーディオ符号化デバイスは、5〜25のインデックスを有する追加の環境HOA係数のうちの1つを示すことのみが必要であり得る。その情報はしたがって、「CodedAmbCoeffIdx」として示され得る、(4次のコンテンツのための)5ビットのシンタックス要素を使用して送られ得る。いずれにしても、音場分析ユニット44は、バックグラウンドチャネル情報43とHOA係数11とをバックグラウンド(BG)選択ユニット36に、バックグラウンドチャネル情報43を係数低減ユニット46およびビットストリーム生成ユニット42に、nFG45をフォアグラウンド選択ユニット36に出力する。
[0080]バックグラウンド選択ユニット48は、バックグラウンドチャネル情報(たとえば、バックグラウンド音場(NBG)と、送るべき追加のBG HOAチャネルの数(nBGa)およびインデックス(i)と)に基づいて、バックグラウンドまたは環境HOA係数47を決定するように構成されたユニットを表し得る。たとえば、NBGが1に等しいとき、バックグラウンド選択ユニット48は、1以下の次数を有するオーディオフレームの各サンプルのHOA係数11を選択することができる。バックグラウンド選択ユニット48は次いで、この例では、インデックス(i)のうちの1つによって特定されるインデックスを有するHOA係数11を、追加のBG HOA係数として選択することができ、ここで、nBGaは、図2および図4の例に示されるオーディオ復号デバイス24などのオーディオ復号デバイスがビットストリーム21からバックグラウンドHOA係数47を解析することを可能にするために、ビットストリーム21において指定されるために、ビットストリーム生成ユニット42に提供される。バックグラウンド選択ユニット48は次いで、環境HOA係数47をエネルギー補償ユニット38に出力することができる。環境HOA係数47は、次元D:M×[(NBG+1)2+nBGa]を有し得る。環境HOA係数47はまた、「環境HOA係数47」と呼ばれることもあり、ここで、環境HOA係数47の各々は、聴覚心理オーディオコーダユニット40によって符号化されるべき別個の環境HOAチャネル47に対応する。
[0081]フォアグラウンド選択ユニット36は、(フォアグラウンドベクトルを特定する1つまたは複数のインデックスを表し得る)nFG45に基づいて、音場のフォアグラウンド成分または明瞭な成分を表す、並べ替えられたUS[k]行列33’と並べ替えられたV[k]行列35’とを選択するように構成されたユニットを表し得る。フォアグラウンド選択ユニット36は、(並べ替えられたUS[k]1,...,nFG49、FG1,...,nfG[k]49、または
として示され得る)nFG信号49を、聴覚心理オーディオコーダユニット40に出力することができ、ここで、nFG信号49は次元D:M×nFGを有し、モノラルオーディオオブジェクトを各々表し得る。フォアグラウンド選択ユニット36はまた、音場のフォアグラウンド成分に対応する並べ替えられたV[k]行列35’(またはv(1..nFG)(k)35’)を空間時間的補間ユニット50に出力することができ、ここで、フォアグラウンド成分に対応する並べ替えられたV[k]行列35’のサブセットは、次元D:(N+1)2×nFGを有するフォアグラウンドV[k]行列51kとして示され得る(これは、
として数学的に示され得る)。
[0082]エネルギー補償ユニット38は、バックグラウンド選択ユニット48によるHOAチャネルのうちの様々なチャネルの除去によるエネルギー損失を補償するために、環境HOA係数47に関してエネルギー補償を実行するように構成されたユニットを表し得る。エネルギー補償ユニット38は、並べ替えられたUS[k]行列33’、並べ替えられたV[k]行列35’、nFG信号49、フォアグラウンドV[k]ベクトル51k、および環境HOA係数47のうちの1つまたは複数に関してエネルギー分析を実行し、次いで、エネルギー補償された環境HOA係数47’を生成するために、そのエネルギー分析に基づいてエネルギー補償を実行することができる。エネルギー補償ユニット38は、エネルギー補償された環境HOA係数47’を聴覚心理オーディオコーダユニット40に出力することができる。
[0083]空間時間的補間ユニット50は、k番目のフレームのためのフォアグラウンドV[k]ベクトル51kと以前のフレームのための(したがってk−1という表記である)フォアグラウンドV[k−1]ベクトル51k-1とを受信し、補間されたフォアグラウンドV[k]ベクトルを生成するために空間時間的補間を実行するように構成されたユニットを表し得る。空間時間的補間ユニット50は、並べ替えられたフォアグラウンドHOA係数を復元するために、nFG信号49をフォアグラウンドV[k]ベクトル51kと再び組み合わせることができる。空間時間的補間ユニット50は次いで、補間されたnFG信号49’を生成するために、補間されたV[k]ベクトルによって、並べ替えられたフォアグラウンドHOA係数を分割することができる。空間時間的補間ユニット50はまた、オーディオ復号デバイス24などのオーディオ復号デバイスが補間されたフォアグラウンドV[k]ベクトルを生成しそれによってフォアグラウンドV[k]ベクトル51kを復元できるように、補間されたフォアグラウンドV[k]ベクトルを生成するために使用されたフォアグラウンドV[k]ベクトル51kを出力することができる。補間されたフォアグラウンドV[k]ベクトルを生成するために使用されたフォアグラウンドV[k]ベクトル51kは、残りのフォアグラウンドV[k]ベクトル53として示される。同じV[k]およびV[k−1]が符号化器および復号器において(補間されたベクトルV[k]を作成するために)使用されることを保証するために、ベクトルの量子化された/逆量子化されたバージョンが符号化器および復号器において使用され得る。空間時間的補間ユニット50は、補間されたnFG信号49’を、聴覚心理オーディオコーダユニット46に、および補間されたフォアグラウンドV[k]ベクトル51を、係数低減ユニット46に出力し得る。
[0084]係数低減ユニット46は、低減されたフォアグラウンドV[k]ベクトル55を量子化ユニット52に出力するために、バックグラウンドチャネル情報43に基づいて残りのフォアグラウンドV[k]ベクトル53に関して係数低減を実行するように構成されたユニットを表し得る。低減されたフォアグラウンドV[k]ベクトル55は、次元D:[(N+1)2−(NBG+1)2−BGTOT]×nFGを有し得る。係数低減ユニット46は、この点において、残りのフォアグラウンドV[k]ベクトル53における係数の数を低減するように構成されたユニットを表し得る。言い換えれば、係数低減ユニット46は、指向性情報をほとんどまたはまったく有しない(残りのフォアグラウンドV[k]ベクトル53を形成する)フォアグラウンドV[k]ベクトルにおける係数を除去するように構成されたユニットを表し得る。いくつかの例では、(NBGと示され得る)1次および0次の基底関数に対応する、明瞭な、または言い換えればフォアグラウンドV[k]ベクトルの係数は、指向性情報をほとんど提供せず、したがって、(「係数低減」と呼ばれ得るプロセスを通じて)フォアグラウンドVベクトルから除去され得る。この例では、NBGに対応する係数を特定するだけではなく、追加のHOAチャネル(変数TotalOfAddAmbHOAChanによって示され得る)を[(NBG+1)2+1,(N+1)2]のセットから特定するために、より大きい柔軟性が与えられ得る。
[0085]量子化ユニット52は、コーディングされたフォアグラウンドV[k]ベクトル57を生成するために低減されたフォアグラウンドV[k]ベクトル55を圧縮するための任意の形態の量子化を実行し、コーディングされたフォアグラウンドV[k]ベクトル57をビットストリーム生成ユニット42に出力するように構成されたユニットを表し得る。動作において、量子化ユニット52は、音場の空間成分、すなわちこの例では低減されたフォアグラウンドV[k]ベクトル55のうちの1つまたは複数を圧縮するように構成されたユニットを表し得る。量子化ユニット52は、「NbtsQ」と表される量子化モードシンタックス要素によって示されるような、以下の12個の量子化モードのうちの任意の1つを実行し得る:
NbtsQ値 量子化モードのタイプ
0−3: 予約済み
4: ベクトル量子化
5: ハフマンコーディングなしのスカラー量子化
6: ハフマンコーディングありの6ビットスカラー量子化
7: ハフマンコーディングありの7ビットスカラー量子化
8: ハフマンコーディングありの8ビットスカラー量子化
... ...
16: ハフマンコーディングありの16ビットスカラー量子化
量子化ユニットはまた、量子化モードの上記のタイプのうちの任意のものの予測バージョンを実行し得、ここで、差は、以前のフレームのVベクトルの(またはベクトル量子化が実行された時の重み)の要素と、決定された現在のフレームのVベクトルの要素(またはベクトル量子化が実行された時の重み)との間で決定される。その後、量子化ユニット52は、現在のフレーム自体のVベクトルの要素の値よりむしろ、現在のフレームの現在のフレームの要素または重みと、以前のフレームの要素または重みとの間の差を量子化し得る。
[0086]量子化ユニット52は低減されたフォアグラウンドV[k]ベクトル55の複数のコード化バージョンを取得するために、低減されたフォアグラウンドV[k]ベクトル55の各々に関して量子化の複数の形式を実行し得る。量子化ユニット52は、コード化フォアグラウンドV[k]ベクトル57として低減されたフォアグラウンドV[k]ベクトル55のコード化バージョンのうちの1つを選択し得る。量子化ユニット52は、本開示で説明される基準の任意の組合せに基づいて、出力切替えされ量子化されたVベクトルとして使用するために、予測されないベクトル量子化されたVベクトル、予測されベクトル量子化されたVベクトル、ハフマンコーディングされないスカラー量子化されたVベクトル、およびハフマンコーディングされスカラー量子化されたVベクトルのうちの1つを選択することができる。いくつかの例では、量子化ユニット52は、ベクトル量子化モードと1つまたは複数のスカラー量子化モードとを含む、量子化モードのセットから量子化モードを選択し、選択されたモードに基づいて(または従って)、入力Vベクトルを量子化することができる。量子化ユニット52は次いで、(たとえば、重み値またはそれを示すビットに関して)予測されないベクトル量子化されたVベクトル、(たとえば、誤差値またはそれを示すビットに関して)予測されベクトル量子化されたVベクトル、ハフマンコーディングされないスカラー量子化されたVベクトル、およびハフマンコーディングされスカラー量子化されたVベクトルのうちの選択されたものを、コーディングされたフォアグラウンドV[k]ベクトル57としてビットストリーム生成ユニット52に与えることができる。量子化ユニット52はまた、量子化モードを示すシンタックス要素(たとえば、NbitsQシンタックス要素)と、Vベクトルを逆量子化またはさもなければ再構成するために使用される任意の他のシンタックス要素とを与えることができる。
[0087]オーディオ符号化デバイス20内に含まれる聴覚心理オーディオコーダユニット40は、聴覚心理オーディオコーダの複数のインスタンスを表し得、これらの各々は、符号化された環境HOA係数59と符号化されたnFG信号61とを生成するために、エネルギー補償された環境HOA係数47’および補間されたnFG信号49’の各々の異なるオーディオオブジェクトまたはHOAチャネルを符号化するために使用される。聴覚心理オーディオコーダユニット40は、符号化された環境HOA係数59と符号化されたnFG信号61とをビットストリーム生成ユニット42に出力することができる。
[0088]オーディオ符号化デバイス20内に含まれるビットストリーム生成ユニット42は、既知のフォーマット(復号デバイスによって知られているフォーマットを指し得る)に適合するようにデータをフォーマットし、それによってベクトルベースのビットストリーム21を生成するユニットを表す。ビットストリーム21は、言い換えれば、上記で説明された方法で符号化されている、符号化されたオーディオデータを表し得る。ビットストリーム生成ユニット42は、いくつかの例ではマルチプレクサを表してよく、マルチプレクサは、コーディングされたフォアグラウンドV[k]ベクトル57と、符号化された環境HOA係数59と、符号化されたnFG信号61と、バックグラウンドチャネル情報43とを受信することができる。ビットストリーム生成ユニット42は次いで、コーディングされたフォアグラウンドV[k]ベクトル57と、符号化された環境HOA係数59と、符号化されたnFG信号61と、バックグラウンドチャネル情報43とに基づいて、ビットストリーム21を生成することができる。このようにして、ビットストリーム生成ユニットは、それによって、ビットストリーム21を取得するためにビットストリーム21におけるベクトル57を指定し得る。ビットストリーム21は、主要またはメインビットストリームと、1つまたは複数のサイドチャネルビットストリームとを含み得る。
[0089]本技法の様々な態様はまた、上述したように、ビットストリーム生成ユニット46がビットストリーム21におけるオーディオレンダリング情報2を指定することを可能にし得る。来たる3Dオーディオ圧縮ワーキングドラフトの現在のバージョンは、ビットストリーム21内にシグナリング指定ダウンミックス行列(signaling specific downmix matrices)を提供する一方、ワーキングドラフトは、ビットストリーム中にレンダリングHOA係数11において使用されるレンダラの指定を提供しない。HOAコンテンツについて、そのようなダウンミックス行列と同等のものは、HOA表現を所望のラウドスピーカーフィードに変換するレンダリング行列である。本開示において説明される技法の様々な態様は、(例えば、オーディオレンダリング情報2としての)ビットストリーム内のHOAレンダリング行列をシグナリングするために、ビットストリーム生成ユニット46を許容することによってHOAおよびチャネルコンテンツの特徴セットをさらに調和を提案する。
[0090]HOAのために最適化され、ダウンミックス行列のコーディングスキームに基づく1つの例示のシグナリングソリューションは、以下に表される。ダウンミックス行列の送信に類似して、HOAレンダリング行列は、mpegh3daConfigExtension()内にシグナリングされ得る。本技法は、(既存の表に対する変更をイタリック体およびボールド体で示す)以下の表イタリック体および既存の表に対する大胆な示す変更で)に記述しているように新規の拡張タイプID_CONFIG_EXT_HOA_MATRIXを提供し得る。
[0091]ビットフィールドHOARenderingMatrixSet()は、DownmixMatrixSet()と比較して構造および機能性において等しくなり得る。inputCount(audioChannelLayout)の代わりに、HOARenderingMatrixSet()は、HOAConfigにおいて計算される、「同等な」NumOfHoaCoeffs値を使用し得る。さらに、HOA係数のオーダーがHOA復号器内に固定され得る(例えば、CD中の付録Gを参照)ので、HOARenderingMatrixSetは、inputConfig(audioChannelLayout)とどれも同等である必要はない。
[0092]本技法の様々な態様はまた、ビットストリーム生成ユニット46が、(ベクトルベース分解ユニット27によって表される分解圧縮スキームのような)第1の圧縮スキームを使用するHOAオーディオデータ(例えば、図4の例におけるHOA11)を圧縮するとき、第2の圧縮スキーム(例えば、指向性ベース分解ユニットによって表される指向性ベース圧縮スキーム(directional-based compression scheme)または指向性ベース圧縮スキーム(directionality-based compression scheme))に対応するビットがビットストリーム21中に含まれないような、ビットストリーム21を指定することを可能にし得る。例えば、ビットストリーム生成ユニット42は、使用が指向性ベース圧縮スキームの指向性信号間の予測情報を指定するために予約され得るHOAPredictionInfoシンタックス要素またはフィールドを含まないように、ビットストリーム21を生成し得る。この開示において説明される本技法の様々な態様に従って生成されたビットストリーム21の例は、図8Eおよび8Fの例において示される。
[0093]言い換えれば、指向性信号の予測は、指向性ベース分解ユニット28によって用いられ、(指向性ベース信号を示し得る)ChannelType0の存在に依存する支配的なサウンド合成の一部であり得る。指向性ベース信号がフレーム内に存在しない場合、指向性信号の予測は、実行され得ない。しかしながら、たとえ使用されないとしても、関連する側波帯情報HOAPredictionInfo()は、指向性ベース信号の存在とは無関係にあらゆるフレームに書き込まれている。指向性信号がフレーム内に存在しない場合、この開示において説明される本技法は、ビットストリーム生成ユニット42が(ここで、下線を持つイタリック体が追加を示す)以下の表に記述されるような側波帯におけるHOAPredictionInfoをシグナリングしないことによって側波帯のサイズを低減することを可能にし得る:
[0094]この点において、本技法は、オーディオ符号化デバイス20のようなデバイスが、第1の圧縮技法を使用して、高次アンビソニックオーディオデータを圧縮するとき、高次アンビソニックオーディオデータを圧縮するためにさらに使用される第2の圧縮スキームに対応するビットを含まない高次アンビソニックオーディオデータの圧縮バージョンを表すビットストリームを指定するように構成されることを可能にし得る。
[0095]いくつかの場合には、第1の圧縮技法は、ベクトルベース分解圧縮スキームを備える。これらおよび他の場合には、ベクトルベース分解圧縮スキームは、高次アンビソニックオーディオデータに対する特異値分解(または本開示においてより詳細説明されたのと同等のもの)のアプリケーションを含む圧縮スキームを備える。
[0096]これらおよび他の場合には、オーディオ符号化デバイス20は、圧縮スキームの第2のタイプを実行するために使用される少なくとも1つのシンタックス要素に対応するビットを含まないビットストリームを指定するように構成され得る。第2の圧縮スキームは、上述するように、指向性ベース圧縮スキームを備え得る。
[0097]オーディオ符号化デバイス20はまた、ビットストリーム21が第2の圧縮スキームのHOAPredictionInfoシンタックス要素に対応するビットを含まないように、ビットストリーム21を指定するように構成され得る。
[0098]第2の圧縮スキームが指向性ベース圧縮スキームを備える場合、オーディオ符号化デバイス20は、ビットストリーム21が指向性ベース圧縮スキームのHOAPredictionInfoシンタックス要素に対応するビットを含まないように、ビットストリーム21を指定するように構成され得る。言い換えれば、オーディオ符号化デバイス20は、ビットストリーム21が圧縮スキームの第2のタイプを実行するために使用される少なくとも1つのシンタックス要素に対応するビットを含まないように、ビットストリーム21を指定するように構成され得、少なくとも1つのシンタックス要素は2つ以上の指向性ベース信号間の予測を示す。更にもう一度言い換えると、第2の圧縮技術が指向性ベース圧縮スキームを備えるとき、オーディオ符号化デバイス20は、ビットストリーム21が指向性ベース圧縮スキームのHOAPredictionInfoシンタックス要素に対応するビットを含まないように、ビットストリーム21を指定するように構成され得る。ここで、HOAPredictionInfoシンタックス要素は、2つ以上の指向性ベース信号間の予測を示す。
[0099]本技法の様々な態様は、ビットストリーム21が利得修正データを含まないようなある場合において、ビットスキーム生成ユニット46がビットストリーム21を指定することをさらに可能にし得る。ビットストリーム生成ユニット46は、利得修正が抑制されるとき、ビットストリーム21が利得修正データを含まないようにビットストリーム21を指定し得る。本技法の様々な態様に従って生成されたビットストリーム21の例は、上述されるように、図8Eおよび図8Fの例中に示される。
[0100]いくつかの場合には、聴覚心理符号化の他のタイプと比較して聴覚心理符号化のあるタイプのより相対的に小さい動的範囲を仮定すると、これらの聴覚心理符号化のあるタイプが実行されるとき、利得修正は、適用される。例えば、AACは、音声音響統合コーディング(USAC:unified speech and audio coding)より相対的に小さい動的範囲を有する。(ベクトルベース圧縮スキームまたは指向性ベース圧縮スキームのような)圧縮スキームが、USACを含む場合、ビットストリーム生成ユニット46は、利得修正が(ビットストリーム中にゼロの値を持つHOAConfigにおけるシンタックス要素MaxGainCorrAmpExpを指定することによって)抑制されたビットストリーム中にシグナリングし得、その後、(HOAGainCorrectionData()フィールドにおける)利得修正データを含まないようにビットストリーム21を指定し得る。
[0101]言い換えれば、HOAConfigの一部としてビットフィールドMaxGainCorrAmpExp(CDにおける表71を参照)は、自動利得制御モジュールがUSACコアコーディングの前にトランスポートチャネル信号に影響する範囲を制御し得る。いくつかの場合には、このモジュールは、RM0が利用可能なAAC符号化器実装の非理想の動的範囲を改善するために開発された。統合フェーズの間のAACからUSACコアコーダまでの変更で、コア符号化器の動的範囲は、改善され得、したがって、この利得制御モジュールのための必要性は、以前ほど批判的になり得ない。
[0102]いくつかの場合には、利得制御機能性は、MaxGainCorrAmpExpが0に設定される場合、抑制されることができる。これらの場合には、関連する側波帯情報HOAGainCorrectionData()は、「HOAFrameのシンタックス」を示す上記の表ごとにあらゆるHOAフレームに書き込まれ得ない。MaxGainCorrAmpExpが0に設定される場合の構成に対して、この開示において説明される本技法は、HOAGainCorrectionDataをシグナルし得ない。さらに、そのようなシナリオでは、逆利得制御モジュールは、任意の負の側面の影響のないトランスポートチャネル毎に約0.05MOPSによって復号器複雑性を低減するときでさえ、バイパスされ得る。
[0103]この点において、本技法は、利得修正が高次アンビソニックオーディオデータの圧縮の間に抑制されるとき、ビットストリーム21が利得修正情報を含まないように、高次アンビソニックオーディオデータの圧縮したバージョンを表すビットストリーム21を指定するようにオーディオ符号化デバイス20を構成し得る。
[0104]これらおよび他の場合には、オーディオ符号化デバイス20は、高次アンビソニックオーディオデータの圧縮されたバージョンを生成するために、ベクトルベース分解圧縮スキームに従って高次アンビソニックオーディオデータを圧縮するように構成され得る。分解圧縮スキームの例は、高次アンビソニックオーディオデータの圧縮されたバージョンを生成するために、高次アンビソニックオーディオデータに特異値分解(または以上でより詳細に説明したものと同等のもの)のアプリケーションを含み得る。
[0105]これらおよび他の場合には、オーディオ符号化デバイス20は、利得修正が抑制されることを示すために、ゼロにビットストリーム21におけるMaxGainCorrAmbExpシンタックス要素を指定するように構成され得る。いくつかの場合には、オーディオ符号化デバイス20は、利得修正が抑圧されるとき、ビットストリーム21が利得修正データを記憶するHOAGainCorrectionデータフィールドを含まないようなビットストリーム21を指定するように構成され得る。言い換えれば、オーディオ符号化デバイス20は、利得修正が抑制され、利得修正データを記憶するHOAGainCorrectionデータフィールドをビットストリーム中に含まないことを示すためにゼロにビットストリーム21におけるMaxGainCorrAmbExpシンタックス要素を指定するように構成され得る。
[0106]これらおよび他の場合には、オーディオ符号化デバイス20は、高次アンビソニックオーディオデータの圧縮が高次アンビソニックオーディオデータに対して音声音響統合コーディング(USAC)を含む場合に、利得修正を抑制するように構成され得る。
[0107]ビットストリーム21における様々な情報のシグナリングに対する上記の潜在的な最適化は、以下でさらに詳細に説明される方法で適応されるまたはさもなければ更新され得る。更新は、以下で議論される、他の更新と併せて適用される、または以上で説明した様々な態様のみを更新するために使用され得る。したがって、以上で説明した最適化に対して以下で説明される単一更新のアプリケーションまたは以上で説明した最適化に対する以下で説明する更新の任意の特定の組み合わせのアプリケーションを含む、上記で説明された最適化に対する更新の潜在的な各組み合わせが考えられる。
[0108]ビットストリームにおける行列を指定するために、以下の表においてボールド体で表されハイライトされるように以下で示されるような、ビットストリーム21のmpegh3daConfigExtension()におけるID_CONFIG_EXT_HOA_MATRIXを指定する。以下の表は、ビットストリーム21のmpegh3daConfigExtension()の一部を指定するためのシンタックスを表す:
上記の表におけるID_CONFIG_EXT_HOA_MATRIXは、レンダリング行列を指定するコンテナを提供し、コンテナは、「HoaRenderingMatrixSet()」として示される。
[0109]HoaRenderingMatrixSet()コンテナのコンテンツは、以下の表において記述されるシンタックスにしたがって定義され得る:
上の表に直接示されるように、HoaRenderingMatrixSet()は、numHoaRenderingMatrices、HoaRendereringMatrixId、CICPspeakerLayoutIdx、HoaMatrixLenBits、およびHoARenderingMatrixを含むいくつかの異なるシンタックス要素を含む。
[0110]numHoaRenderingMatricesシンタックス要素は、ビットストリーム要素におけるいくつかのHoaRendereringMatrixId定義を指定し得る。HoaRenderingMatrixIdシンタックス要素は、復号器側で利用可能なデフォルトHOAレンダリング行列または送信されたHOAレンダリング行列のためのIdを一意に定義するフィールドを表わし得る。この点において、HoaRenderingMatrixIdは、ビットストリームが複数のスピーカーフィードに対して球面調和係数をレンダリングするために使用される行列を含むことを示すインデックスを定義する2以上のビットを含む信号値の例、または複数のスピーカーフィードに対して球面調和係数をレンダリングするために使用される複数の行列のうちの1つと関連付けられるインデックスを定義する2以上のビットを含む信号値の例を表し得る。CICPspeakerLayoutIdxシンタックス要素は、所与のHOAレンダリング行列のための出力ラウドスピーカーレイアウトを説明する値を表し、ISO/IEC 23000 1−8中に定義されたChannelConfiguration要素に対応し得る。HoaMatrixLenBits(「HoaRenderingMatrixLenBits」とも示される)シンタックス要素は、ビットにおける以下のビットストリーム要素(例えば、HoaRenderingMatrix()コンテナ)の長さを指定し得る。
[0111]HoaRenderingMatrix()コンテナは、後続にoutputConfig()コンテナおよびoutputCount()コンテナが続くNumOfHoaCoeffsを含む。outputConfig()コンテナは、各ラウドスピーカーに関する情報を指定するチャネル構成ベクトルを含み得る。ビットストリーム生成ユニット42は、出力レイアウトのチャネル構成から知られる、このラウドスピーカー情報を仮定し得る。各エントリ、outputConfig[i]は、以下のメンバでデータ構造を表す:
AzimuthAngle(スピーカーアジマス角の絶対値を示し得る);
AzimuthDirection(1つの例として左のために0および右のために1を使用するアジマス方向を示し得る);
仰角(Elevation Angle)(スピーカー仰角の絶対値を示し得る);
ElevationDirection(1つの例として上のために0下のために1を使用する仰角方向(elevation direction)を示し得る);および
isLFE(スピーカーが低周波効果(LFE:low frequency effect)スピーカーかどうか示し得る)。
ビットストリーム生成ユニット42は、「findSymmetricSpeakers」として示される、いくつかの場合において、ヘルパー関数(helper function)を呼び出し得、それは、以下でさらに指定され得る:
pairType((いくつかの例では2つのスピーカーのシンメトリックペアを意味する)SYMMETRIC、CENTER、またはASYMMETRICの値を記憶し得る);
symmetricPair−>originalPosition(SYMMETRIグループのみについて、グループ内の第2のスピーカ(例えば、右)のオリジナルチャネル構成における位置を示し得る)。
outputCount()コンテナは、HOAレンダリング行列が定義されるいくつかのラウドスピーカーを指定し得る。
[0112]ビットストリーム生成ユニット42は、以下の表に記述されるシンタックスに従ってHoaRenderingMatrix()コンテナを指定し得る:
以上の表に直接示されるように、numPairsシンタックス要素は、outputCountおよびoutputConfigを使用し、入力としてhasLfeRendering使用する、findSymmetricSpeakersヘルパー関数を呼び出すことからの値出力にセットされる。したがって、numPairsは、効率的なシンメトリックコーディングのために考慮され得る出力ラウドスピーカーセットアップにおいて識別されるシンメトリックラウドスピーカーペアの数を示し得る。以上の表におけるprecisionLevelシンタックス要素は、以下の表に従う利得の一様量子化のために使用される精度を示し得る:
[0113]HoaRenderingMatrix()のシンタックスを記述する以上の表に示されるgainLimitPerHoaOrderシンタックス要素は、maxGainおよびminGainが欠く次数のためまたは全HOAレンダリング行列のためにここに指定されるかどうかを示すフラグを表し得る。maxGain[i]シンタックス要素は、1つの例として、デシベル(dB)で表されるHOA次数iのための係数に対する行列における最大の実際の利得を指定し得る。minGain[i]シンタックス要素は、1つの例として、dBで表されるHOA次数iの係数に対する行列における最少の実際の利得を指定し得る。isFullMatrixシンタックス要素は、HOAレンダリング行列が希薄または十分かどうかを示すフラグを表し得る。firstSparseOrderシンタックス要素は、HOAレンダリング行列がisFullMatrixシンタックス要素ごとに希薄なものとして指定された場合には、希薄にコード化される第1のHOA次数を指定し得る。isHoaCoefSparseシンタックス要素は、firstSparseOrderシンタックス要素から導出されたbitmaskベクトルを表わし得る。lfeExistsシンタックス要素は、1つまたは複数のLFEがoutputConfig中に存在するかどうかを示すフラグを表わし得る。hasLfeRenderingシンタックス要素は、レンダリング行列が1つまたは複数のLFEチャネルのための非ゼロ要素を含むかどうかを示す。zerothOrderAlwaysPositiveシンタックス要素は、第0次のHOA次数が正値のみを有するかどうかを示すフラグを表わし得る。
[0114]isAllValueSymmetricシンタックス要素は、すべてのシンメトリックラウドスピーカーペアがHOAレンダリング行列中に等しい絶対値を有するかどうかを示すフラグを表わし得る。isAnyValueSymmetricシンタックス要素は、シンメトリックラウドスピーカーペアのうちのいくつかがHOAレンダリング行列中に等しい絶対値を有するかどうか、例えば偽であるとき、を示すフラグを表わす。valueSymmetricPairsシンタックス要素は、値シンメトリックを持つラウドスピーカーのペアを示す長さnumPairsのbitmaskを表わし得る。isValueSymmetricシンタックス要素は、valueSymmetricPairsシンタックス要素からの表3において示される方法で導出されるbitmaskを表わし得る。isAllSignSymmetricシンタックス要素は、行列における値シンメトリがない時、すべての新メトリックラウドスピーカーペアが少なくともナンバー符号シンメトリ(number sign symmetries)を有するかどうかを示し得る。isAnySignSymmetricシンタックス要素は、ナンバー符号シンメトリを持つ少なくともいくつかのシンメトリックラウドスピーカーペアがあるかどうかを示すフラグを表わし得る。signSymmetricPairsシンタックス要素は、符号シンメトリを持つラウドスピーカーペアを示す長さnumPairsのbitmaskを表わし得る。isSignSymmetric変数は、HoaRenderingMatrix()のシンタックスを記述する表において以上で示される方法でsignSymmetricPairsシンタックス要素から導出されるbitmaskを表わし得る。hasVerticalCoefシンタックス要素は、行列が水平のみのHOAレンダリング行列かどうかを示すフラグを表わし得る。bootValシンタックス要素は、復号ループにおいて使用される変数を表わし得る。
[0115]言い換えれば、ビットストリーム生成ユニット42は、以上の値シンメトリ情報のうちの任意の1つまたは複数(例えば、isAllValueSymmetricシンタックス要素、isAnyValueSymmetricシンタックス要素、valueSymmetricPairsシンタックス要素、isValueSymmetricシンタックス要素、およびvalueSymmetricPairsシンタックス要素の1つまたは複数の任意の組み合わせ)を生成するために、またはさもなければ値シンメトリック情報を取得するためにオーディオレンダラ1を分析し得る。ビットストリーム生成ユニット42は、オーディオレンダラ情報2が値符号シンメトリ情報を含むような以上で示した方法におけるビットストリーム21中のオーディオレンダラ情報2を指定し得る。
[0116]さらに、ビットストリーム生成ユニット42はまた、以上の符号シンメトリ情報のうちの任意の1つまたは複数(例えば、isAllSignSymmetricシンタックス要素、isAnySignSymmetricシンタックス要素、signSymmetricPairsシンタックス要素、isSignSymmetricシンタックス要素、およびsignSymmetricPairsシンタックス要素のうちの1つまたは複数の任意の組み合わせ)を生成するために、またはさもなければ符号シンメトリック情報を取得するためにオーディオレンダラ1を分析し得る。ビットストリーム生成ユニット42は、オーディオレンダラ情報2がオーディオ符号シンメトリ情報を含むように以上で示した方法におけるビットストリーム21中のオーディオレンダラ情報2を指定し得る。
[0117]値シンメトリ情報および符号シンメトリ情報を決定する場合、ビットストリーム生成ユニット42は、行列として指定される、オーディオレンダラ1の様々な値を分析し得る。レンダリング行列は、行列Rの擬似逆として定式化され得る。言い換えれば、(L個のラウドスピーカー信号の列ベクトル、p、によって示さる)L個のラウドスピーカー信号に対して(N+1)2HOAチャネル(以下でZとして示される)をレンダリングするために、以下の方程式が与えられ得る:
Z=R*p
L個のラウドスピーカー信号を出力するレンダリング行列に達するように、R行列の逆が以下の方程式において示されるようなZ HOAchなえるによって乗算される:
p=R-1*Z
ラウドスピーカーの数LがZ HOAチャネルの数と同じでないならば、行列Rは、正方ではなくなることになり、完全な逆が決定され得ない。結果として、擬似逆は、以下で定義されるものが代わりに使用され得る:
pinv(R)=RT(R*RT)-1
ここで、RTは、R行列の転置を示す。以上の方程式中のR-1を置換して、列ベクトルpによって示されるL個のラウドスピーカー信号のための解は、以下のように数学的に示されうる:
p=pinv(R)*Z=RT(R*RT)-1*Z
[0118]R行列のエントリは、スピーカーのための異なる球面調和関数のための(N+1)2行およびL列を持つラウドスピーカー位置のための球面調和関数の値であり得る。ビットストリーム生成ユニット42は、ラウドスピーカーに対する値に基づいてスピーカーペアを決定し得る。ラウドスピーカー位置に対する球面調和関数の値を分析して、ビットストリーム生成ユニット42は、値に基づいて、どのラウドスピーカー位置がペア(例えば、ペアが類似、ほとんど同じ、または同じ値だが反対の符号を有し得るような)になるかを決定し得る。
[0119]ペアを識別後、ビットストリーム生成ユニット42は、ペアが同じ値またはほとんど同じ値を有するかどうかを、各ペアのために決定し得る。ペアの全てが同じ値を有するとき、ビットストリーム生成ユニット42は、isAllValueSymmetricシンタックス要素を1に設定し得る。ペアの全てが同じ値を有さないとき、ビットストリーム生成ユニット42は、isAllValueSymmetricシンタックス要素を0に設定し得る。ペアのうちすべてではないが1つまたは複数が同じ値を有するとき、ビットストリーム生成ユニット42は、isAnyValueSymmetricシンタックス要素を1に設定し得る。ペアのどれもが同じ値を有しないとき、ビットストリーム生成ユニット42は、isAnyValueSymmetricシンタックス要素を0に設定し得る。シンメトリック値を持つペアについて、ビットストリーム生成ユニット42は、スピーカーのペアのための2つの別個の値よりむしろ1つの値を指定するのみであり、それによって、ビットストリーム21におけるオーディオレンダリング情報2を表すために使用されるビットの数(例えば、この例における行列)を低減する。
[0120]ペアの間に値シンメトリがないとき、ビットストリーム生成ユニット42はまた、スピーカーペアが(1つのスピーカーが負値を有する一方、他のスピーカーが正値を有することを意味する)符号シンメトリを有するかどうかを、各ペアのために決定し得る。ペアのすべてが符号シンメトリを有するとき、ビットストリーム生成ユニット42は、isAllSignSymmetricシンタックス要素を1に設定し得る。ペアのすべてが符号シンメトリを有しないとき、ビットストリーム生成ユニット42は、isAllSignSymmetricシンタックス要素を0に設定し得る。ペアのうちすべてではないが1つまたは複数のペアが符号シンメトリを有するとき、ビットストリーム生成ユニット42は、isAnySignSymmetricシンタックス要素を1に設定し得る。ペアいずれもが符号シンメトリを有しないとき、ビットストリーム生成ユニット42は、isAnySignSymmetricシンタックス要素を0に設定し得る。シンメトリック符号を持つペアについて、ビットストリーム生成ユニット42は、スピーカーペアのための2つの別個の符号よりむしろ1つまたは符号なしをのみを指定し得、それによって、ビットストリーム21におけるオーディオレンダリング情報を表すために使用されるビットの数(この例における行列)を低減し得る。
[0121]ビットストリーム生成ユニット42は、以下の表で示されるシンタックスにしたがってHoaRenderingMatrix()のシンタックスを記述する表において示されるDecodeHoaMatrixData()コンテナを指定し得る:
[0122]DecodeHoaMatrixDataのシンタックスを記述する前述の表中におけるhasValueシンタックス要素は、行列要素が希薄にコード化されるかどうかを示すフラグを表わし得る。signMatrixシンタックス要素は、1つの例として線形化したベクトル形式における、HOAレンダリング行列の符号値を持つ行列を表わし得る。hoaMatrixシンタックス要素は、1つの例として、線形化したベクトル形式における、HOAレンダリング行列値を表し得る。ビットストリーム生成ユニット42は、以下の表に示されるシンタックスに従ってDecodeHoaMatrixDataのシンタックスを記述する表に示されるDecodeHoaGainValue()コンテナを指定し得る:
[0123]ビットストリーム生成ユニット42は、以下の表において指定されたシンタックスに従ってDecodeHoaGainValueのシンタックスを記述する表に示されるreadRange()コンテナを指定し得る:
[0124]図3の例には示されないが、オーディオ符号化デバイス20はまた、現在のフレームが指向性ベース合成を使用して符号化されるべきであるかベクトルベース合成を使用して符号化されるべきであるかに基づいて、オーディオ符号化デバイス20から出力されるビットストリームを(たとえば、指向性ベースのビットストリーム21とベクトルベースのビットストリーム21との間で)切り替える、ビットストリーム出力ユニットを含み得る。ビットストリーム出力ユニットは、(HOA係数11が合成オーディオオブジェクトから生成されたことを検出した結果として)指向性ベース合成が実行されたか、または(HOA係数が録音されたことを検出した結果として)ベクトルベース合成が実行されたかを示す、コンテンツ分析ユニット26によって出力されるシンタックス要素に基づいて、切替えを実行することができる。ビットストリーム出力ユニットは、ビットストリーム21の各々とともに現在のフレームのために使用される切替えまたは現在の符号化を示すために、正しいヘッダシンタックスを指定することができる。
[0125]その上、上述されたように、音場分析ユニット44は、フレームごとに変化し得る、BGTOT環境HOA係数47を特定することができる(が、時々、BGTOTは、2つ以上の(時間的に)隣接するフレームにわたって一定または同じままであり得る)。BGTOTにおける変化は、低減されたフォアグラウンドV[k]ベクトル55において表された係数への変化を生じ得る。BGTOTにおける変化は、フレームごとに変化する(「環境HOA係数」と呼ばれることもある)バックグラウンドHOA係数を生じ得る(が、この場合も時々、BGTOTは、2つ以上の(時間的に)隣接するフレームにわたって一定または同じままであり得る)。この変化は、追加の環境HOA係数の追加または除去と、対応する、低減されたフォアグラウンドV[k]ベクトル55からの係数の除去またはそれに対する係数の追加とによって表される、音場の態様のためのエネルギーの変化を生じることが多い。
[0126]結果として、音場分析ユニット44は、いつ環境HOA係数がフレームごとに変化するかをさらに決定し、音場の環境成分を表すために使用されることに関して、環境HOA係数への変化を示すフラグまたは他のシンタックス要素を生成することができる(ここで、この変化はまた、環境HOA係数の「遷移」または環境HOA係数の「遷移」と呼ばれることもある)。具体的には、係数低減ユニット46は、(AmbCoeffTransitionフラグまたはAmbCoeffIdxTransitionフラグとして示され得る)フラグを生成し、そのフラグが(場合によってはサイドチャネル情報の一部として)ビットストリーム21中に含まれ得るように、そのフラグをビットストリーム生成ユニット42に与えることができる。
[0127]係数低減ユニット46は、環境係数遷移フラグを指定することに加えて、低減されたフォアグラウンドV[k]ベクトル55が生成される方法を修正することもできる。一例では、環境HOA環境係数のうちの1つが現在のフレームの間に遷移中であると決定すると、係数低減ユニット46は、遷移中の環境HOA係数に対応する低減されたフォアグラウンドV[k]ベクトル55のVベクトルの各々について、(「ベクトル要素」または「要素」とも呼ばれ得る)ベクトル係数を指定することができる。この場合も、遷移中の環境HOA係数は、BGTOTからバックグラウンド係数の総数を追加または除去し得る。したがって、バックグラウンド係数の総数において生じた変化は、環境HOA係数がビットストリーム中に含まれるか含まれないか、および、Vベクトルの対応する要素が、上記で説明された第2の構成モードおよび第3の構成モードにおいてビットストリーム中で指定されたVベクトルのために含まれるか否かに影響を及ぼす。係数低減ユニット46が、エネルギーにおける変化を克服するために、低減されたフォアグラウンドV[k]ベクトル55を指定することができる方法に関するより多くの情報は、2015年1月12日に出願された「TRANSITIONING OF AMBIENT HIGHER_ORDER AMBISONIC COEFFICIENTS」という名称の米国特許出願第14/594,533号において提供されている。
[0128]図4は、図2のオーディオ復号デバイス24をより詳細に示すブロック図である。図4の例に示されているように、オーディオ復号デバイス24は、抽出ユニット72と、レンダラ再構成ユニット81と、指向性ベース再構成ユニット90と、ベクトルベース再構成ユニット92とを含み得る。以下で説明されるが、オーディオ復号デバイス24に関するより多くの情報、およびHOA係数を解凍またはさもなければ復号する様々な態様は、2014年5月29日に出願された「INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD」という名称の国際特許出願公開第WO2014/194099号において入手可能である。
[0129]抽出ユニット72は、ビットストリーム21を受信し、オーディオレンダリング情報2と、HOA係数11の様々な符号化されたバージョン(たとえば、指向性ベースの符号化されたバージョンまたはベクトルベースの符号化されたバージョン)とを抽出するように構成されたユニットを表し得る。言い換えれば、行列をレンダリングする高次アンビソニック(HOA)は、オーディオ再生システム16でHOAレンダリング処理にわたって制御を可能にする、オーディオ符号化デバイス20によって送信され得る。送信は、以上で示されたタイプID_CONFIG_EXT_HOA_MATRIXのmpegh3daConfigExtensionの手段によって容易にされ得る。mpegh3daConfigExtensionは、異なるラウドスピーカー再生構成のためのいくつかのHOAレンダリング行列を含み得る。HOAレンダリング行列が送信されるとき、オーディオ符号化デバイス20は、各HOAレンダリング行列に対して、HoaOrderの次元と一緒にレンダリング行列の次元を決定する関連する目標ラウドスピーカーレイアウトをシグナリングする。
[0130]一意のHoaRenderingMatrixIdの送信は、オーディオ再生システム16で利用可能なデフォルトHOAレンダリング行列、またはオーディオビットストリーム21の外側から送信されたHOAレンダリング行列に参照すること許す。いくつかの場合には、あらゆるHOAレンダリング行列は、N3Dにおいて標準化されると仮定され、ビットストリーム21において定義されるようなHOA係数のオーダリングすることに従う。
[0131]上述されたように、関数findSymmetricSpeakersは、1つの例として、いわゆる「スイートスポット」でリスナーの正中面に関してシンメトリックである提供されるラウドスピーカーセットアップ内で全てのラウドスピーカーの数および位置を示す。このヘルパー関数は、以下のように定義され得る: int findSymmetricSpeakers(int outputCount, SpeakerInformation* outputConfig,int hasLfeRendering); 抽出ユニット72は、その後シンメトリックラウドスピーカーに関連した行列要素を生成するために使用され得る1.0および−1.0値のベクトルを計算するために、関数createSymSignsを呼び出し得る。このcreateSymSigns関数は、以下のように定義され得る:
void createSymSigns(int* symSigns, int hoaOrder)
{
int n, m, k = 0;
for (n = 0; n<=hoaOrder; ++n) {
for (m = -n; m<=n; ++m)
symSigns[k++] = ((m>=0)*2)-1;
}
}
[0132]抽出ユニット72は、水平面に単に使用されるHOA係数を識別するようにbitmaskを生成するために、関数create2dBitmaskを呼び出し得る。create2dBitmask関数は、以下のように定義され得る:
void create2dBitmask(int* bitmask, int hoaOrder)
{
int n, m, k = 0;
bitmask[k++] = 0;
for (n = 1; n<=hoaOrder; ++n) {
for (m = -n; m<=n; ++m)
bitmask[k++] = abs(m)!=n;
}
}
[0133]HOAレンダリング行列係数を復号するために、抽出ユニット72は、最初に、シンタックス要素HoaRenderingMatrixSet()を抽出し得る、それは、上述するように、所望のラウドスピーカーレイアウトにHOAレンダリングを達成するために適用され得る1つまたは複数のHOAレンダリング行列を含み得る。いくつかの場合には、所与のビットストリームは、HoaRenderingMatrixSet()のうちの1つのインスタンスより多くのものを含み得ない。シンタックス要素HoaRenderingMatrix()は、(図4の例においてレンダラ情報2として示され得る)HOAレンダリング行列情報を含み得る。抽出ユニット72は、最初に、コンフィグ情報中で読み込まれ得る。それは、復号処理をガイドし得る。その後、抽出ユニット72は、それに応じて行列要素を読み込み得る。
[0134]いくつかの場合には、抽出ユニット72は、最初に、フィールドprecisionLevelおよびgainLimitPerOrderを読み込む。フラグgainLimitPerOrderが設定される場合、抽出ユニット72は、別々に、各HOAオーダーのためにmaxGainおよびminGainフィールドを読み込み、復号する。フラグgainLimitPerOrderが設定されない場合、抽出ユニット72は、フィールドmaxGainおよびminGainを一度読み込み、復号し、復号処理の間にすべてのHOAオーダーにこれらのフィールドを適用する。いくつかの場合には、minGain値は、0dbと−69dBとの間になければならない。いくつかの場合には、maxGain値は、minGain値より小さい1dBと111dBとの間になければならない。図9は、HOAレンダリング行列内のHOAオーダー依存の最小利得および最大利得の例を示す図である。
[0135]抽出ユニット72は、次にフラグisFullMatrixを読み込み得る。それは、行列がフルとしてまたは部分的に希薄なもとして定義されるかどうかをシグナリングし得る。行列が部分的に希薄なものとして定義される場合、抽出ユニット72は、次のフィールド(例えば、firstSparseOrderシンタックス要素)を読み込む。それは、HOAレンダリング行列が希薄にコード化されるHOAオーダーを指定する。HOAレンダリング行列はしばしば、ラウドスピーカー再生セットアップに依存して、低次に対して濃密であり、高次において希薄になり得る。図10は、22個のラウドスピーカーのための部分的に希薄な6次HOAレンダリング行列を示す図である。図10に示される行列の希薄さは、26番目のHOA係数(HOAオーダー5)で開始する。
[0136]低周波数効果(LFE)チャネルが(lfeExistsシンタックス要素によって示される)ラウドスピーカー再生セットアップ内に存在するかどうかによって、抽出ユニット72は、フィールドhasLfeRenderingを読み込み得る。hasLfeRenderingが設定されない場合、抽出ユニット72は、LFEチャネルに関する行列要素がデジタルのゼロであると仮定するように構成される。抽出ユニット72によって読み込まれた次のフィールドはフラグzerothOrderAlwaysPositiveである。それは、0次の係数に関連する行列要素が正であるかどうかをシグナリングする。zerothOrderAlwaysPositiveが、ゼロ次HOA係数が正であることを示す場合には、抽出ユニット72は、ナンバー符号がゼロ次HOA係数に対応するレンダリング行列係数のためにコード化されないことを決定する。
[0137]以下では、HOAレンダリング行列のプロパティは、正中面に関してラウドスピーカーペアシンメトリックのためにシグナリングされ得る。いくつかの場合には、a)値シンメトリおよびb)符号シンメトリに関して2つのシンメトリプロパティがある。値シンメトリの場合には、シンメトリラウドスピーカーペアのうち左のラウドスピーカーの行列要素がコード化されないが、むしろ抽出ユニット72は、以下を実行する、ヘルパー関数createSymSignsを用いることによって右ラウドスピーカーの復号された行列要素からこれらの要素を導出する:
pairIdx、outputConfig[j]。symmetricPair−>originalPosition;
hoaMatrix[i*outputCount+j]=hoaMatrix[i* outputCount+pairIdx;];
signMatrix[i*outputCount+j]=symSigns[i]* signMatrix[i*outputCount+pairIdx]。
[0138]ラウドスピーカーペアが値シンメトリックでないとき、その後、行列要素は、それらのナンバー符号に関してシンメトリックになり得る。ラウドスピーカーペアが符号シンメトリックであるとき、シンメトリックラウドスピーカーペアの左ラウドスピーカーの行列要素のナンバー符号は、コード化されず、抽出ユニット72は、以下を実行する、ヘルパー関数createSymSignsを用いることによって右ラウドスピーカーに関連した行列要素のナンバー符号からこれらのナンバー符号を導出する:
pairIdx=outputConfig[j].symmetricPair−>originalPosition;
signMatrix[i*outputCount+j]=symSigns[i]* signMatrix[i*outputCount+pairIdx];
[0139]図11は、シンメトリプロパティのシグナリングを説明する図である。ラウドスピーカーペアは、同時刻で値シンメトリックと符号シンメトリックとして定義され得る。最後の復号フラグは、循環の(circular)(つまり2D)HOA係数に関連した行列要素がコード化されるかどうかを指定したフラグhasVerticalCoefを有する。hasVerticalCoefが設定されない場合、ヘルパー関数create2dBitmaskで定義されたHOA係数に関連した行列要素は、デジタルの0に設定される。
[0140]すなわち、抽出ユニット72は、図11に記述される処理に従ってオーディオレンダリング情報2を抽出し得る。抽出ユニット72は、最初に、ビットストリーム21(300)からisAllValueSymmetricシンタックス要素を読み込み得る。isAllValueSymmetricシンタックス要素が1(または言い換えれば、ブール真)に設定されるとき、抽出ユニット72は、(効果的に、スピーカーペアの全てが値シンタックスであることを示す)1の値にvalueSymmetricPairsアレイシンタックス要素を設定して、numPairsシンタックス要素の値を通じて繰り返し得る(302)。
[0141]isAllValueSymmetricシンタックス要素が0(または、言い換えれば、ブール偽)に設定されるとき、抽出ユニット72は、次に、isAnyValueSymmetricシンタックス要素を読み込み得る(304)。isAnyValueSymmetricシンタックス要素が1(または、言い換えれば、ブール真)に設定されるとき、抽出ユニット72は、ビットストリーム21からシーケンシャルに読み込まれたビットにvalueSymmetricPairsアレイシンタックス要素を設定して、numPairsシンタックス要素の値を通じて繰り返し得る(306)。抽出ユニット72はまた、0に設定されたvalueSymmetricPairsシンタックス要素セットを有するペアのうちの任意のもののためのisAnySignSymmetricシンタックス要素を取得し得る。その後、抽出ユニット72は、ペアの数を通じて再び繰り返し、valueSymmetricPairsが0に等しいとき、ビットストリーム21から読み込まれた値にsignSymmetricPairsビットを設定する。
[0142]isAnyValueSymmetricシンタックス要素が0(または、言い換えれば、ブール偽)に設定されるとき、抽出ユニット72は、ビットストリーム21からisAllSignSymmetricシンタックス要素を読み込み得る。isAllSignSymmetricシンタックス要素が1の値(または、言い換えれば、ブール真)に設定されるとき、抽出ユニット72は、(スピーカーペアのすべてが符号新メトリックであることを効果的に示す)1の値にsignSymmetricPairsアレイシンタックス要素を設定して、numPairsシンタックス要素の値を通じて繰り返し得る。
[0143]isAllSignSymmetricシンタックス要素が0(または、言い換えれば、ブール偽)に設定されるとき、抽出ユニット72は、ビットストリーム21からのisAnySignSymmetricシンタックス要素を読み込み得る。抽出ユニット72は、ビットストリーム21からシーケンシャルに読み込まれたビットにsignSymmetricPairsアレイシンタックス要素を設定して、numPairsシンタックス要素の値を通じて繰り返し得る。ビットストリーム生成ユニット42は、値シンメトリ情報、符号シンメトリ情報、または値および符号シンメトリ情報の両方の組み合わせを指定するために、抽出ユニット72に関して以上で説明されたものに逆処理を実行し得る。
[0144]レンダラ再構成ユニット81は、オーディオレンダリング情報2に基づいてレンダラを再構成するために、ユニット構成dを表わす。すなわち、以上で述べられたプロパティを使用して、レンダラ再構成ユニット81は、一連の行列要素利得値を読み込み得る。絶対値の利得値を読み込むために、レンダラ再構成ユニット81、関数DecodeGainValue()を呼び出し得る。レンダラ再構成ユニット81は、利得値を一様に復号するためにアルファベットインデックスの関数ReadRange()を呼び出し得る。復号された利得値がデジタルの0でないとき、レンダラ再構成ユニット81は、加えて(以下の表ごとに)ナンバー符号値を読み込み得る。行列要素が(isHoaCoefSparseを介して)希薄になるようにシグナリングされたHOA係数と関連するとき、hasValueフラグは、gainValueIndexの前に置く(表bを参照)。hasValueフラグが0であるとき、この要素は、デジタルの0に設定され、gainValueIndexおよび符号がシグナリングされない。
[0145]ラウドスピーカーペアのための指定されたシンメトリプロパティによって、レンダラ再構成ユニット81は、右のラウドスピーカーから左のラウドスピーカーに関連する行列要素を導出し得る。この場合、左のラウドスピーカーのための行列要素を復号するために、ビットストリーム21におけるオーディオレンダリング情報2は、低減される、またはそれに応じて完全に省略される。
[0146]このように、オーディオ復号デバイス24は、指定されるオーディオレンダリング情報のサイズを低減するために、シンメトリ情報を決定し得る。いくつかの場合には、オーディオ復号デバイス24は、指定されるオーディオレンダリング情報のサイズを低減するためにシンメトリ情報を決定し、シンメトリ情報に基づいてオーディオレンダラの少なくとも一部を導出し得る。
[0147]これらおよび他の場合には、オーディオ復号デバイス24は、指定されるオーディオレンダリング情報のサイズを低減するために値シンメトリ情報を決定し得る。これらおよび他の場合には、オーディオ復号デバイス24は、値シンメトリ情報に基づいてオーディオレンダラの少なくとも一部を導出し得る。
[0148]これらおよび他の場合には、オーディオ復号デバイス24は、指定されるオーディオレンダリング情報のサイズを低減するために符号シンメトリ情報を決定し得る。これらおよび他の場合には、オーディオ復号デバイス24は、符号シンメトリ情報に基づいてオーディオレンダラの少なくとも一部を導出し得る。
[0149]これらおよび他の場合には、オーディオ復号デバイス24は、複数のスピーカーフィードに球面調和係数をレンダリングするために使用される行列の希薄さを示す希薄さ情報を決定し得る。
[0150]これらおよび他の場合には、オーディオ復号デバイス24は、行列が複数のスピーカーフィードに球面調和係数をレンダリングするために使用されるべきスピーカーレイアウトを決定し得る。
[0151]その後、この点において、オーディオ復号デバイス24は、ビットストリームにおいて指定されるオーディオレンダリング情報2を決定し得る。オーディオレンダリング情報2中に含まれる信号値に基づいて、オーディオ再生システム16は、オーディオレンダラ22のうちの1つを使用して、複数のスピーカーフィード25をレンダリングし得る。スピーカーフィードは、スピーカー3を導出し得る。上述されるように、信号値は、いくつかの場合には、複数のスピーカーフィードに球面調和係数をレンダリングするために使用される(オーディオレンダラ22のうちの1つとして復号され提供される)行列を含み得る。この場合、オーディオ再生システム16は、行列に基づいてスピーカーフィード25をレンダリングするために、オーディオレンダラ22のうちのこの1つを使用して、行列でオーディオレンダラ22のうちの1つを構成し得る。
[0152]HOA係数11が取得されたオーディオレンダラ22を使用してレンダリングされることが利用可能なように、HOA係数11の様々な符号化されたバージョンを抽出し、次に、復号するために、抽出ユニット72は、HOA係数11が様々な方向ベースのバージョンを介して符号化されたか、ベクトルベースのバージョンを介して符号化されたかを示す、上述されたシンタックス要素から決定することができる。指向性ベース符号化が実行されたとき、抽出ユニット72は、HOA係数11の指向性ベースのバージョンと、符号化されたバージョンに関連付けられたシンタックス要素(図4の例では指向性ベース情報91として示される)とを抽出し、指向性ベース情報91を指向性ベース再構成ユニット90に渡すことができる。指向性ベース再構成ユニット90は、指向性ベース情報91に基づいてHOA係数11’の形態でHOA係数を再構成するように構成されたユニットを表し得る。
[0153]HOA係数11がベクトルベース分解を使用して符号化されたことをシンタックス要素が示すとき、抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57(コーディングされた重み57および/もしくはインデックス63またはスカラー量子化されたVベクトルを含み得る)と、符号化された環境HOA係数59と、対応するオーディオオブジェクト61(符号化nFG信号61とも称される)とを抽出することができる。オーディオオブジェクト61は、ベクトル57のうちの1つに各々対応する。抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57をVベクトル再構成ユニット74に渡し、符号化された環境HOA係数59を符号化されたnFG信号61とともに聴覚心理復号ユニット80に渡すことができる。
[0154]Vベクトル再構成ユニット74は、符号化されたフォアグラウンドV[k]ベクトル57からVベクトルを再構成するように構成されたユニットを表し得る。Vベクトル再構成ユニット74は、量子化ユニット52の動作とは逆の方法で動作することができる。
[0155]聴覚心理復号ユニット80は、符号化された環境HOA係数59と符号化されたnFG信号61とを復号し、それによってエネルギー補償された環境HOA係数47’と補間されたnFG信号49’(補間されたnFGオーディオオブジェクト49’とも呼ばれ得る)とを生成するために、図3の例に示される聴覚心理オーディオコーダユニット40とは逆の方法で動作することができる。聴覚心理復号ユニット80は、エネルギー補償された環境HOA係数47’をフェードユニット770に渡し、nFG信号49’をフォアグラウンド編成ユニット78に渡すことができる。
[0156]空間時間的補間ユニット76は、空間時間的補間ユニット50に関して上記で説明されたものと同様の方法で動作することができる。空間時間的補間ユニット76は、低減されたフォアグラウンドV[k]ベクトル55kを受信し、また、補間されたフォアグラウンドV[k]ベクトル55k’’を生成するために、フォアグラウンドV[k]ベクトル55kおよび低減されたフォアグラウンドV[k−1]ベクトル55k-1に関して空間時間的補間を実行することができる。空間時間的補間ユニット76は、補間されたフォアグラウンドV[k]ベクトル55k’’をフェードユニット770に転送することができる。
[0157]抽出ユニット72はまた、いつ環境HOA係数のうちの1つが遷移中であるかを示す信号757を、フェードユニット770に出力することもでき、フェードユニット770は次いで、SCHBG47’(ここで、SCHBG47’は、「環境HOAチャネル47’」または「環境HOA係数47’」とも呼ばれ得る)および補間されたフォアグラウンドV[k]ベクトル55k’’の要素のうちのいずれがフェードインまたはフェードアウトのいずれかを行われるべきであるかを決定することができる。いくつかの例では、フェードユニット770は、環境HOA係数47’および補間されたフォアグラウンドV[k]ベクトル55k’’の要素の各々に関して、反対に動作することができる。すなわち、フェードユニット770は、環境HOA係数47’のうちの対応する1つに関して、フェードインもしくはフェードアウト、またはフェードインもしくはフェードアウトの両方を実行することができ、一方で、補間されたフォアグラウンドV[k]ベクトル55k’’の要素のうちの対応する1つに関して、フェードインもしくはフェードアウト、またはフェードインとフェードアウトの両方を実行することができる。フェードユニット770は、調整された環境HOA係数47’’をHOA係数編成ユニット82に出力し、調整されたフォアグラウンドV[k]ベクトル55k’’’をフォアグラウンド編成ユニット78に出力することができる。この点において、フェードユニット770は、HOA係数またはその派生物の様々な態様に関して、たとえば、環境HOA係数47’および補間されたフォアグラウンドV[k]ベクトル55k’’の要素の形態で、フェード動作を実行するように構成されたユニットを表す。
[0158]フォアグラウンド編成ユニット78は、フォアグラウンドHOA係数65を生成するために、調整されたフォアグラウンドV[k]ベクトル55k’’’および補間されたnFG信号49’に関して行列乗算を実行するように構成されたユニットを表し得る。この点において、フォアグラウンド編成ユニット78は、フォアグラウンドまたは言い換えればHOA係数11’の支配的態様を再構成するために、ベクトル55k’’’と(補間されたnFG49’を示すための別の方法である)オーディオオブジェクト49’を組み合わせ得る。フォアグラウンド編成ユニット78は、調整されたフォアグラウンドV[k]ベクトル55k’’’による補間されたnFG信号49’の行列乗算を実行し得る。
[0159]HOA係数編成ユニット82は、HOA係数11’を取得するために、フォアグラウンドHOA係数65を調整された環境HOA係数47’’に組み合わせるように構成されたユニットを表し得る。プライム表記法は、HOA係数11’がHOA係数11と同様であるが同じではないことがあることを反映している。HOA係数11とHOA係数11’との間の差分は、損失のある送信媒体を介した送信、量子化、または他の損失のある演算が原因の損失に起因し得る。
[0160]さらに、抽出ユニット72およびオーディオ復号デバイス24はまた、より一般的に、ある場合における様々なシンタックス要素またはデータフィールドを含まないことに関して以上で説明された方法において潜在的に最適化されるビットストリーム21を取得するために本開示において説明される技法の様々な態様に従って動作するように構成され得る。
[0161]いくつかの場合には、オーディオ復号デバイス24は、第1の圧縮スキームを使用して圧縮された高次アンビソニックオーディオデータを解凍するとき、オ高次アンビソニックオーディオデータを圧縮するためにさらに使用される第2の圧縮スキームに対応するビットを含まない高次アンビソニックオーディオデータの圧縮さらたバージョンを表わすビットストリーム21を取得するように構成され得る。第1の圧縮スキームは、ベクトルベース圧縮スキームを備え、結果として生じるベクトル球面調和領域において定義され、ビットストリーム21を介して送られる。ベクトルベース分解圧縮スキームは、いくつかの例では、高次アンビソニックオーディオデータに対する特異値分解(あるいは図3の例に関してより詳細にせつめいされるようなその均等物)の出願を含む圧縮スキームを含む。
[0162]オーディオ復号デバイス24は、圧縮スキームの第2のタイプを実行するために使用される少なくとも1つのシンタックス要素に対応するビットを含まない、ビットストリーム21を取得するように構成され得る。上述されるように、第2の圧縮スキームは、指向性ベース圧縮スキームを備える。より詳細には、オーディオ復号デバイス24は、第2の圧縮スキームのHOAPredictionInfoシンタックス要素に対応するビットを含まないビットストリーム21を取得するように構成され得る。言い換えれば、第2の圧縮スキームが指向性ベース圧縮スキームを備えるとき、オーディオ復号デバイス24は、指向性ベース圧縮スキームのHOAPredictionInfoシンタックス要素に対応するビットを含まないビットストリーム21を取得するように構成され得る。上述されるように、HOAPredictionInfoシンタックス要素は、2つ以上の方向ベースの信号間の予測を示し得る。
[0163]いくつかの場合には、上述の例の代替として、または上述の例と共に、いくつかの場合には、オーディオ復号デバイス24は、高次アンビソニックオーディオデータの圧縮中に抑制されるとき、利得修正データを含まない高次アンビソニックオーディオデータの圧縮されたバージョンを表わすビットストリーム21を取得するように構成され得る。これらの場合には、オーディオ復号デバイス24は、ベクトルベース合成解凍スキームに従って高次アンビソニックオーディオデータを解凍するように構成され得る。高次アンビソニックデータの圧縮されたバージョンは、高次アンビソニックオーディオデータに対する特異値分解(あるいは上記の図3の例に関してより詳細に以説明された均等物)のアプリケーションを通じて生成される。SVDがHOAオーディオデータに適用されるか、またはその均等物であるとき、オーディオ符号化デバイス20は、ビットストリーム21中のそれらを示す結果として生じるベクトルまたはビットのうちの少なくとも1つを指定する、ここで、ベクトルは、対応するフォアグラウンドオーディオオブジェクトの空間的特徴(例えば、対応するフォアグラウンドオーディオオブジェクトの幅、位置、および音量等)を記述する。
[0164]より詳細に、オーディオ復号デバイス24は、利得修正が抑圧されることを示すために、0に設定された値を持つビットストリーム21MaxGainCorrAmbExpシンタックス要素を取得するように構成され得る。すなわち、オーディオ復号デバイス24は、利得修正が抑圧されるとき、ビットストリームが利得修正を記憶するHOAGainCorrectionデータフィールドを含まないビットストリームを取得するように構成され得る。ビットストリーム21は、利得修正が抑圧されることをしめす0の値を有するMaxGainCorrAmbExpシンタックス要素を備え、利得修正データを記憶するHOAGainCorrectionデータフィールドを含み得ない。高次アンビソニックオーディオデータの圧縮が高次アンビソニックオーディオデータに対する音声音響統合コーディング(USAC)のアプリケーションを含む時に生じ得る。
[0165]図5は、本開示で説明されるベクトルベース合成技法の様々な態様を実行する際の、図3の例に示されるオーディオ符号化デバイス20などのオーディオ符号化デバイスの例示的な動作を示すフローチャートである。最初に、オーディオ符号化デバイス20は、HOA係数11を受信する(106)。オーディオ符号化デバイス20はLITユニット30を呼び出すことができ、LITユニット30は、変換されたHOA係数(たとえば、SVDの場合、変換されたHOA係数はUS[k]ベクトル33とV[k]ベクトル35とを備え得る)を出力するためにHOA係数に関してLITを適用することができる(107)。
[0166]オーディオ符号化デバイス20は次に、上記で説明された方法で様々なパラメータを特定するために、US[k]ベクトル33、US[k−1]ベクトル33、V[k]ベクトルおよび/またはV[k−1]ベクトル35の任意の組合せに関して上記で説明された分析を実行するために、パラメータ計算ユニット32を呼び出すことができる。すなわち、パラメータ計算ユニット32は、変換されたHOA係数33/35の分析に基づいて少なくとも1つのパラメータを決定することができる(108)。
[0167]オーディオ符号化デバイス20は次いで、並べ替えユニット34を呼び出すことができ、並べ替えユニット34は、上記で説明されたように、並べ替えられた変換されたHOA係数33’/35’(または言い換えれば、US[k]ベクトル33’およびV[k]ベクトル35’)を生成するために、パラメータに基づいて、変換されたHOA係数(この場合も、SVDの文脈では、US[k]ベクトル33とV[k]ベクトル35とを指し得る)を並べ替えることができる(109)。オーディオ符号化デバイス20は、前述の演算または後続の演算のいずれかの間に、音場分析ユニット44を呼び出すこともできる。音場分析ユニット44は、上記で説明されたように、フォアグラウンドチャネルの総数(nFG)45と、バックグラウンド音場の次数(NBG)と、送るべき追加のBG HOAチャネルの数(nBGa)およびインデックス(i)(図3の例ではバックグラウンドチャネル情報43としてまとめて示され得る)とを決定するために、HOA係数11および/または変換されたHOA係数33/35に関して音場分析を実行することができる(109)。
[0168]オーディオ符号化デバイス20はまた、バックグラウンド選択ユニット48を呼び出すことができる。バックグラウンド選択ユニット48は、バックグラウンドチャネル情報43に基づいて、バックグラウンドまたは環境HOA係数47を決定することができる(110)。オーディオ符号化デバイス20はさらに、フォアグラウンド選択ユニット36を呼び出すことができ、フォアグラウンド選択ユニット36は、nFG45(フォアグラウンドベクトルを特定する1つまたは複数のインデックスを表し得る)に基づいて、音場のフォアグラウンド成分または明瞭な成分を表す、並べ替えられたUS[k]ベクトル33’と並べ替えられたV[k]ベクトル35’とを選択することができる(112)。
[0169]オーディオ符号化デバイス20は、エネルギー補償ユニット38を呼び出すことができる。エネルギー補償ユニット38は、バックグラウンド選択ユニット48によるHOA係数のうちの様々なものの除去によるエネルギー損失を補償するために、環境HOA係数47に関してエネルギー補償を実行し(114)、それによって、エネルギー補償された環境HOA係数47’を生成することができる。
[0170]オーディオ符号化デバイス20はまた、空間時間的補間ユニット50を呼び出すことができる。空間時間的補間ユニット50は、補間されたフォアグラウンド信号49’(「補間されたnFG信号49’」とも呼ばれ得る)と残りのフォアグラウンド指向性情報53(「V[k]ベクトル53」とも呼ばれ得る)とを取得するために、並べ替えられた変換されたHOA係数33’/35’に関して空間時間的補間を実行することができる(116)。オーディオ符号化デバイス20は次いで、係数低減ユニット46を呼び出すことができる。係数低減ユニット46は、低減されたフォアグラウンド指向性情報55(低減されたフォアグラウンドV[k]ベクトル55とも呼ばれ得る)を取得するために、バックグラウンドチャネル情報43に基づいて残りのフォアグラウンドV[k]ベクトル53に関して係数低減を実行することができる(118)。
[0171]オーディオ符号化デバイス20は次いで、上記で説明された方法で、低減されたフォアグラウンドV[k]ベクトル55を圧縮し、コーディングされたフォアグラウンドV[k]ベクトル57を生成するために、量子化ユニット52を呼び出すことができる(120)。
[0172]オーディオ符号化デバイス20はまた、聴覚心理オーディオコーダユニット40を呼び出すことができる。聴覚心理オーディオコーダユニット40は、符号化された環境HOA係数59と符号化されたnFG信号61とを生成するために、エネルギー補償された環境HOA係数47’および補間されたnFG信号49’の各ベクトルを聴覚心理コーディングすることができる。オーディオ符号化デバイスは次いで、ビットストリーム生成ユニット42を呼び出すことができる。ビットストリーム生成ユニット42は、コーディングされたフォアグラウンド指向性情報57と、コーディングされた環境HOA係数59と、コーディングされたnFG信号61と、バックグラウンドチャネル情報43とに基づいて、ビットストリーム21を生成することができる。
[0173]図6は、本開示で説明される技法の様々な態様を実行する際の、図4に示されるオーディオ復号デバイス24などのオーディオ復号デバイスの例示的な動作を示すフローチャートである。最初に、オーディオ復号デバイス24は、ビットストリーム21を受信し得る(130)。ビットストリームを受信すると、オーディオ復号デバイス24は抽出ユニット72を呼び出し得る。説明の目的で、ベクトルベース再構成が実行されるべきであることをビットストリーム21が示すと仮定すると、抽出デバイス72は、上述された情報を取り出すためにビットストリームを解析し、その情報をベクトルベース再構成ユニット92に渡し得る。
[0174]言い換えれば、抽出ユニット72は、コーディングされたフォアグラウンド指向性情報57(この場合も、コーディングされたフォアグラウンドV[k]ベクトル57とも呼ばれ得る)と、コーディングされた環境HOA係数59と、コーディングされたフォアグラウンド信号(コーディングされたフォアグラウンドnFG信号59またはコーディングされたフォアグラウンドオーディオオブジェクト59とも呼ばれ得る)とを、上記で説明された方法でビットストリーム21から抽出し得る(132)。
[0175]オーディオ復号デバイス24はさらに、逆量子化ユニット74を呼び出し得る。逆量子化ユニット74は、低減されたフォアグラウンド指向性情報55kを取得するために、コーディングされたフォアグラウンド指向性情報57をエントロピー復号および逆量子化し得る(136)。オーディオ復号デバイス24はまた、聴覚心理復号ユニット80を呼び出し得る。聴覚心理オーディオ復号ユニット80は、エネルギー補償された環境HOA係数47’と補間されたフォアグラウンド信号49’とを取得するために、符号化された環境HOA係数59と符号化されたフォアグラウンド信号61とを復号し得る(138)。聴覚心理復号ユニット80は、エネルギー補償された環境HOA係数47’をフェードユニット770に渡し、nFG信号49’をフォアグラウンド編成ユニット78に渡し得る。
[0176]オーディオ復号デバイス24は次に、空間時間的補間ユニット76を呼び出し得る。空間時間的補間ユニット76は、並べ替えられたフォアグラウンド指向性情報55k’を受信し、また、補間されたフォアグラウンド指向性情報55k’’を生成するために、低減されたフォアグラウンド指向性情報55k/55k-1に関して空間時間的補間を実行し得る(140)。空間時間的補間ユニット76は、補間されたフォアグラウンドV[k]ベクトル55k’’をフェードユニット770に転送し得る。
[0177]オーディオ復号デバイス24は、フェードユニット770を呼び出し得る。フェードユニット770は、エネルギー補償された環境HOA係数47’がいつ遷移中であるかを示すシンタックス要素(たとえば、AmbCoeffTransitionシンタックス要素)を(たとえば、抽出ユニット72から)受信またはさもなければ取得し得る。フェードユニット770は、遷移シンタックス要素と維持された遷移状態情報とに基づいて、エネルギー補償された環境HOA係数47’をフェードインまたはフェードアウトし、調整された環境HOA係数47’’をHOA係数編成ユニット82に出力し得る。フェードユニット770はまた、シンタックス要素と維持された遷移状態情報とに基づいて、および、補間されたフォアグラウンドV[k]ベクトル55k’’の対応する1つまたは複数の要素をフェードアウトまたはフェードインし、フォアグラウンド編成ユニット78に調整されたフォアグラウンドV[k]ベクトル55k’’’を出力し得る(142)。
[0178]オーディオ復号デバイス24は、フォアグラウンド編成ユニット78を呼び出し得る。フォアグラウンド編成ユニット78は、フォアグラウンドHOA係数65を取得するために、調整されたフォアグラウンド指向性情報55k’’’による行列乗算nFG信号49’を実行し得る(144)。オーディオ復号デバイス24はまた、HOA係数編成ユニット82を呼び出し得る。HOA係数編成ユニット82は、HOA係数11’を取得するために、フォアグラウンドHOA係数65を調整された環境HOA係数47’’に加算し得る(146)。
[0179]図7は、本開示で説明される技法の様々な態様を実行する際の、図2の例に示されるシステム10のような、システムの例示的な動作を示すフローチャートである。以上で論じられたように、コンテンツ作成者デバイス12は、キャプチャされたまたは生成されたオーディオコンテンツ(それは、図2の例ではHOA係数11として示される)を作成するまたは編集するためにオーディオ編集システム18を用い得る。コンテンツ作成者12は次いで、以上でより詳細に論じられたように、生成されたマルチチャネルスピーカーフィードに対してオーディオレンダラ1を使用してHOA係数11をレンダリングし得る(200)。コンテンツ作成者22は次いで、オーディオ再生システムを使用してこれらのスピーカーフィードを再生し、一例として、所望の芸術的意図をキャプチャするために、さらなる調整または編集が要求されるかどうかを決定し得る(202)。さらなる調整が望まれるときは(「YES」202)、コンテンツ作成者12は、HOA係数をリミックスし(204)、HOA係数をレンダリングし(200)、さらなる調整が必要かどうかを決定し得る(202)。さらなる調整が、望まれないときは(「NO」202)、オーディオ符号化デバイス20は、図5の例に関連して以上で説明された方法においてビットストリーム21を生成し得る(206)。オーディオ符号化デバイス20はまた、以上でより詳細に記述されたように、ビットストリーム21でオーディオレンダリング情報2を生成し、指定し得る(208)。
[0180]コンテンツ消費者デバイス14は次いで、ビットストリーム21からオーディオレンダリング情報2を取得し得る(210)。復号デバイス24は次いで、図5の例に関連して以上で説明した方法において、オーディオコンテンツ(それは、図2の例ではHOA係数11’として示される)を取得するようにビットストリーム21を復号し得る。オーディオ再生システム16は次いで、以上で説明された方法においてオーディオレンダリング情報2に基づいてHOA係数11’をレンダリングし(212)、ラウドスピーカー3を介してレンダリングされたオーディオコンテンツを再生し得る(214)。
[0181]本開示で述べられる技法はしたがって、第1の例として、マルチチャネルオーディオコンテンツを表すビットストリームを生成するデバイスがオーディオレンダリング情報を指定することを可能にし得る。デバイスは、この第1の例では、マルチチャネルオーディオコンテンツを生成するときに使用されるオーディオレンダラを識別する信号値を含むオーディオレンダリング情報を指定するための手段を含む、デバイス。
[0182]第1の例のデバイスであって、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される行列を含む、第1の例のデバイス。
[0183]]第2の例では、第1の例のデバイスであって、信号値は、ビットストリームが、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される行列を含むことを示すインデックスを規定する2つ以上のビットを含む。
[0184]第2の例のデバイスであって、オーディオレンダリング情報はさらに、ビットストリームに含まれる行列の行の数を規定する2つ以上のビットと、ビットストリームに含まれる行列の列の数を規定する2つ以上のビットとを含む、第2の例のデバイス。
[0185]第1の例のデバイスであって、信号値は、オーディオオブジェクトを複数のスピーカーフィードにレンダリングするために使用されるレンダリングアルゴリズムを指定する、第1の例のデバイス。
[0186]第1の例のデバイスであって、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用されるレンダリングアルゴリズムを指定する。
[0187]第1の例のデバイスであって、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される複数の行列の1つと関連するインデックスを規定する2つ以上のビットを含む、第1の例のデバイス。
[0188]第1の例のデバイスであって、信号値は、オーディオオブジェクトを複数のスピーカーフィードにレンダリングするために使用される複数のレンダリングアルゴリズムの1つと関連するインデックスを規定する2つ以上のビットを含む、第1の例のデバイス。
[0189]第1の例のデバイスであって、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される複数のレンダリングアルゴリズムの1つと関連するインデックスを規定する2つ以上のビットを含む、第1の例のデバイス。
[0190]第1の例のデバイスであって、オーディオレンダリング情報を指定するための手段は、ビットストリームでオーディオフレームごとにオーディオレンダリング情報を指定するための手段を備える。
[0191]第1の例のデバイスであって、オーディオレンダリング情報を指定するための手段は、ビットストリームで一回オーディオレンダリング情報を指定するための手段を備える、第1の例のデバイス。
[0192]第3の例では、実行されるとき、1つまたは複数のプロセッサにビットストリームでオーディオレンダリング状を指定させる命令をその上に記憶した非一時的コンピュータ可読記憶媒体であって、オーディオレンダリング情報は、マルチチャネルオーディオコンテンツを生成するときに使用されるオーディオレンダラを識別する、非一時的コンピュータ可読記憶媒体。
[0193]第4の例では、ビットストリームからマルチチャネルオーディオコンテンツをレンダリングするためのデバイスであって、本デバイスは、マルチチャネルオーディオコンテンツを生成するときに使用されるオーディオレンダラを識別する信号値を含むオーディオレンダリング情報を決定するための手段と、ビットストリームで指定されるオーディオレンダリング情報に基づいて複数のスピーカーフィードをレンダリングするための手段とを備える、デバイス。
[0194]第4の例のデバイスであって、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される行列を含み、複数のスピーカーフィードをレンダリングするための手段は、行列に基づいて複数のスピーカーフィードをレンダリングするための手段を備える、第4の例のデバイス。
[0195]第5の例では、第4の例のデバイスであって、信号値は、ビットストリームが、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される行列を含むことを示すインデックスを規定する2つ以上のビットを含み、デバイスはさらに、インデックスに応答してビットストリームから行列を解析するための手段を備え、複数のスピーカーフィードをレンダリングするための手段は、解析された行列に基づいて複数のスピーカーフィードをレンダリングするための手段を備える、第4の例のデバイス。
[0196]第5の例のデバイスであって、信号値はさらに、ビットストリームに含まれる行列の行の数を規定する2つ以上のビットと、ビットストリームに含まれる行列の列の数を規定する2つ以上のビットとを含み、ビットストリームから行列を解析するための手段は、インデックスに応答し、行の数を規定する2つ以上のビットおよび列の数を規定する2つ以上のビットに基づいてビットストリームから行列を解析するための手段を備える、第5の例のデバイス。
[0197]第4の例のデバイスであって、信号値は、オーディオオブジェクトを複数のスピーカーフィードにレンダリングするために使用されるレンダリングアルゴリズムを指定し、複数のスピーカーフィードをレンダリングするための手段は、指定されたレンダリングアルゴリズムを使用してオーディオオブジェクトから複数のスピーカーフィードをレンダリングするための手段を備える、第4の例のデバイス。
[0198]第4の例のデバイスであって、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用されるレンダリングアルゴリズムを指定し、複数のスピーカーフィードをレンダリングするための手段は、指定されたレンダリングアルゴリズムを使用して球面調和係数から複数のスピーカーフィードをレンダリングするための手段を備える、第4の例のデバイス。
[0199]第4の例のデバイスであって、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される複数の行列の1つと関連するインデックスを規定する2つ以上のビットを含み、複数のスピーカーフィードをレンダリングするための手段は、インデックスと関連する複数の行列の1つを使用して球面調和係数から複数のスピーカーフィードをレンダリングするための手段を備える、第4の例のデバイス。
[0200]第4の例のデバイスであって、信号値は、オーディオオブジェクトを複数のスピーカーフィードにレンダリングするために使用される複数のレンダリングアルゴリズムの1つと関連するインデックスを規定する2つ以上のビットを含み、複数のスピーカーフィードをレンダリングするための手段は、インデックスと関連する複数のレンダリングアルゴリズムの1つを使用してオーディオオブジェクトから複数のスピーカーフィードをレンダリングするための手段を備える、第4の例のデバイス。
[0201]第4の例のデバイスであって、信号値は、球面調和係数を複数のスピーカーフィードにレンダリングするために使用される複数のレンダリングアルゴリズムの1つと関連するインデックスを規定する2つ以上のビットを含み、複数のスピーカーフィードをレンダリングするための手段は、インデックスと関連する複数のレンダリングアルゴリズムの1つを使用して球面調和係数から複数のスピーカーフィードをレンダリングするための手段を備える、第4の例のデバイス。
[0202]第4の例のデバイスであって、オーディオレンダリング情報を決定するための手段は、ビットストリームからオーディオフレームごとにオーディオレンダリング情報を決定するための手段を含む、第4の例のデバイス。
[0203]第4の例のデバイスであって、オーディオレンダリング情報手段を決定するための手段は、ビットストリームから一回オーディオレンダリング情報を決定することを含む、第4の例のデバイス。
[0204]第6の例では、実行されるとき、1つまたは複数のプロセッサに、マルチチャネルオーディオコンテンツを生成するときに使用されるオーディオレンダラを識別する信号値を含むオーディオレンダリング情報を決定させ、ビットストリームで指定されたオーディオレンダリング情報に基づいて複数のスピーカーフィードをレンダリングさせる命令をその上に記憶した非一時的コンピュータ可読記憶媒体。
[0205]図8A−図8Dは、本開示において記述される技法にしたがって形成されたビットストリーム21A−21Dを示す図である。図8Aの例では、ビットストリーム21Aは、以上の図2−図4において示されるビットストリーム21の1つの例を表わし得る。ビットストリーム21Aは、信号値554を定義する1つまたは複数のビットを含むオーディオレンダリング情報2Aを含む。この信号値554は、以下で説明される情報のタイプの任意の組み合わせを表わし得る。ビットストリーム21Aはまた、オーディオコンテンツ7/9の1つの例を表わし得る、オーディオコンテンツ558を含む。
[0206]図8Bの例では、ビットストリーム21Bは、ビットストリーム21Aに類似し得、ここで、オーディオレンダリング情報2Bの信号値554は、インデックス554A、シグナリングされた行列の行サイズ554Bを定義する1つまたは複数のビット、シグナリングされた行列の列サイズ554Cを定義する1つまたは複数のビット、および行列係数554Dを備える。インデックス554Aは、2乃至5ビットを使用して、定義されるが、各行サイズ554Bおよび列サイズ554Cは、2乃至16ビットを使用して定義され得る。
[0207]抽出ユニット72は、インデックス554Aを抽出し、行列がビットストリーム21中に含まれるかシグナリングするかどうかを決定し得る(ここで、0000または1111のようなあるインデックス値は、行列がビットストリーム21B中に明示的に指定されることをシグナリングする)。図8Bの例では、ビットストリーム21Bは、行列がビットストリーム21B中に明示的に指定されることをシグナリングするインデックス554Aを含む。結果として、抽出ユニット72は、行サイズ554Bおよび列サイズ554Cを抽出し得る。抽出ユニット72は、行サイズ554B、列サイズ554Cおよび各行列係数のシグナルされた(図8Aに示されない)または暗示的なビットサイズの関数としての行列係数を表わすことを解析するために、ビット数を計算するように構成され得る。決定されたビット数を使用して、抽出ユニット72は、オーディオ再生システム16が上述されたようなオーディオレンダラ22のうちの1つを構成するように使用され得る、行列係数554Dを抽出し得る。ビットストリーム21B中のオーディオレンダリング情報2Bの単一時間をシグナリングするとして示されるが、オーディオレンダリング情報2Bは、ビットストリーム中に、または(いくつかの場合のオプションデータとして)少なくとも部分的にまたは完全に、別個の帯域外チャネル中に複数回シグナルされ得る。
[0208]図8Cの例では、ビットストリーム21Cは、以上の図2−図4において示されるビットストリーム21の1つの例を表わし得る。ビットストリーム21Cは、この例におけるアルゴリズムインデックス554Eを指定する、信号値554を含むオーディオレンダリング情報2Cを含む。ビットストリーム21Cはまた、オーディオコンテンツ558を含む。上述するように、アルゴリズムインデックス554Eは、2−5ビットを使用して定義され得、このアルゴリズムインデックス554Eは、オーディオコンテンツ558をレンダリングするときに使用される。
[0209]抽出ユニット72は、アルゴリズムインデックス550Eを抽出し、行列がビットストリーム21Cに含まれることを、アルゴリズムインデックス554Eがシグナリングするかどうかを決定し得る(ここで、0000または1111のようなあるインデックス値は、行列がビットストリーム21中に明示的に指定されることをシグナリングし得る)。図8Cの例では、ビットストリーム21Cは、行列がビットストリーム21C中に明示的に指定されないことをシグナリングするアルゴリズムインデックス554Eを含む。結果として、抽出ユニット72は、アルゴリズムインデックス554Eをオーディオ再生装置16に転送し得、それは、(図2−図4の例におけるレンダラ22として示される)レンダリングアルゴリズムの対応するもの(利用可能な場合)を選択する。ビットストリーム21Cにおいて一回、オーディオレンダリング情報2Cをシグナリングすることとして示されるが、図8Cでは、オーディオレンダリング情報2Cは、ビットストリーム21Cにおいて、または(いくつかの場合にはオプションデータとして少なくとも部分的に、または完全に、別個の帯域外チャネルにおいて複数回シグナリングされ得る。
[0210]図8Dの例では、ビットストリーム21Dは、上以上の図2−図4において示されるビットストリーム21の1つの例を表わし得る。ビットストリーム21Dは、信号値554を含むオーディオレンダリング情報2Dを含み、それは、この例では、55行列インデックス554Fを指定する。ビットストリーム21Dはまた、オーディオコンテンツ558を含む。上述したように、行列インデックス554Fは、2〜5ビットを使用して定義され、この行列インデックス554Fは、オーディオコンテンツ558をレンダリングするときに使用される、レンダリングアルゴリズムを識別し得る。
[0211]抽出ユニット72は、行列インデックス550Fを抽出し、行列がビットストリーム21D中に含まれることを行列インデックス554Fがシグナリングする(ここで、行列がビットストリーム21C中に明示的に指定されることを、0000または1111のような、あるインデックス値がシグナリングし得る)かどうかを決定し得る。図8Dの例では、ビットストリーム21Dは、行列がビットストリーム21D中に明示的に指定されないことをシグナリングする、行列インデックス554Fを含む。結果として、抽出ユニット72は、オーディオ再生デバイスに行列インデックス554Fを転送し、それは、レンダラ22の対応するもの(利用可能な場合)を選択する。ビットストリーム21D中に一回、オーディオレンダリング情報2Dをシグナリングすることとして示されるが、オーディオレンダリング情報2Dは、ビットストリーム21D中に、または(いくつかの場合においてオプションのデータとして)少なくとも部分的にまたは完全に別個の帯域外チャネル中に複数回シグナリングされ得る。
[0212]図8E−図8Gは、より詳細に、圧縮した空間成分を指定し得るビットストリームまたはサイドチャネル情報の一部を示す図である。図8Eは、ビットストリーム21のフレーム249A’の第1の例を示す。図8Eの例では、フレーム249A’は、ChannelSideInfoData(CSID)フィールド154A−154C、HOAGainCorrectionData(HOAGCD)フィールド、およびVVectorDataフィールド156Aおよび156Bを含む。CSIDフィールド154Aは、ChannelType269と共にunitC 267、bb 266、およびba265を含む。それらの各々は、図8Eの例において示される、対応する値01、1、0、および01に設定される。CSIDフィールド154Bは、ChannelType269と共にunitC 267、bb 266およびba265を含む。それらの各々は、図8Eの例において示される、対応する値01、1、0、および01に設定される。CSIDフィールド154Cは、3の値を有するChannelTypeフィールド269を含む。CSIDフィールド154A−154Cの各々は、トランスポートチャネル1、2、および3のそれぞれの1つに対応する。事実上、各CSIDフィールド154A−154Cは、対応するペイロード156Aおよび156Bが方向ベースの信号か(対応するChannelTypeが0に等しいとき)、ベクトルベース信号か(対応するChannelTypeが1に等しいときの)、追加の環境HOA係数か(対応するChannelTypeが2に等しいとき)、空か(ChannelTypeが3に等しいとき)を示す。
[0213]図8Eの例では、フレーム249Aは、(CSIDフィールド154Aおよび154Bにおいて1に等しいChannelTypeシンタックス要素269が与えられる)2つのベクトルベース信号と、(CSIDフィールド154Cにおいて3に等しいChannelType269が与えられる)空(empty)とを含む。(説明を簡単にするために示されていない)上記のHOAconfig部分に基づいて、オーディオ復号デバイス24は、すべての16Vベクトル要素を決定し得る。従って、VVectorData156Aおよび156Bの各々は、16のベクトル要素すべてを含み、それらの各々は、8ビットで一様に量子化される。
[0214]図8Eの例においてさらに示されるように、フレーム249A’は、HOAPredictionInfoフィールドを含まない。HOAPredictionInfoフィールドは、ベクトルベース圧縮スキームがHOAオーディオデータを圧縮するときに、本開示において説明される技法にしたがって除去され得る方向ベースの圧縮スキームに対応するフィールドを表わし得る。
[0215]図8Fは、HOAGainCorrectionDataがフィールド249’’に記憶された各トランスポートチャネルから除去されたことを除いてフレーム249Aに実質的に類似しているフレーム249’’を説明する図である。HOAGainCorrectionDataフィールドは、利得修正が以上で説明される本技法の様々な態様に従って抑制されるとき、フレーム249’’から除去され得る。
[0216]図8Gは、HOAPredictionInfoフィールドがっ除去されるという点を除いてフレーム249A’’に類似するフレーム249A’’’に類似し得る。フレーム249A’’’は、本技法の両方の態様がある環境では必要でない様々なフィールドを除去するために、結合に適用され得る場合の1つの例を表わす。
[0217]上記の技法は、任意の数の異なる状況およびオーディオエコシステムに関して実行され得る。いくつかの例示的な状況が以下で説明されるが、本技法はそれらの例示的な状況に限定されるべきではない。1つの例示的なオーディオエコシステムは、オーディオコンテンツと、映画スタジオと、音楽スタジオと、ゲーミングオーディオスタジオと、チャネルベースオーディオコンテンツと、コーディングエンジンと、ゲームオーディオステムと、ゲームオーディオコーディング/レンダリングエンジンと、配信システムとを含み得る。
[0218]映画スタジオ、音楽スタジオ、およびゲーミングオーディオスタジオは、オーディオコンテンツを受信することができる。いくつかの例では、オーディオコンテンツは、獲得物の出力を表し得る。映画スタジオは、デジタルオーディオワークステーション(DAW)を使用することなどによって、(たとえば、2.0、5.1、および7.1の)チャネルベースオーディオコンテンツを出力することができる。音楽スタジオは、DAWを使用することなどによって、(たとえば、2.0、および5.1の)チャネルベースオーディオコンテンツを出力することができる。いずれの場合も、コーディングエンジンは、配信システムによる出力のために、チャネルベースオーディオコンテンツベースの1つまたは複数のコーデック(たとえば、AAC、AC3、Dolby True HD、Dolby Digital Plus、およびDTS Master Audio)を受信し符号化することができる。ゲーミングオーディオスタジオは、DAWを使用することなどによって、1つまたは複数のゲームオーディオステムを出力することができる。ゲームオーディオコーディング/レンダリングエンジンは、配信システムによる出力のために、オーディオステムをチャネルベースオーディオコンテンツへとコーディングおよびまたはレンダリングすることができる。本技法が実行され得る別の例示的な状況は、放送録音オーディオオブジェクトと、プロフェッショナルオーディオシステムと、消費者向けオンデバイスキャプチャと、HOAオーディオフォーマットと、オンデバイスレンダリングと、消費者向けオーディオと、TV、およびアクセサリと、カーオーディオシステムとを含み得る、オーディオエコシステムを備える。
[0219]放送録音オーディオオブジェクト、プロフェッショナルオーディオシステム、および消費者向けオンデバイスキャプチャはすべて、HOAオーディオフォーマットを使用して、それらの出力をコーディングすることができる。このようにして、オーディオコンテンツは、オンデバイスレンダリング、消費者向けオーディオ、TV、およびアクセサリ、ならびにカーオーディオシステムを使用して再生され得る単一の表現へと、HOAオーディオフォーマットを使用してコーディングされ得る。言い換えれば、オーディオコンテンツの単一の表現は、オーディオ再生システム16など、汎用的なオーディオ再生システムにおいて(すなわち、5.1、7.1などの特定の構成を必要とすることとは対照的に)再生され得る。
[0220]本技法が実行され得る状況の他の例には、獲得要素と再生要素とを含み得るオーディオエコシステムがある。獲得要素は、有線および/またはワイヤレス獲得デバイス(たとえば、Eigenマイクロフォン)、オンデバイスサラウンドサウンドキャプチャ、ならびにモバイルデバイス(たとえば、スマートフォンおよびタブレット)を含み得る。いくつかの例では、有線および/またはワイヤレス獲得デバイスは、有線および/またはワイヤレス通信チャネルを介してモバイルデバイスに結合され得る。
[0221]本開示の1つまたは複数の技法によれば、モバイルデバイスが音場を獲得するために使用され得る。たとえば、モバイルデバイスは、有線および/もしくはワイヤレス獲得デバイス、ならびに/またはオンデバイスサラウンドサウンドキャプチャ(たとえば、モバイルデバイスに統合された複数のマイクロフォン)を介して、音場を獲得することができる。モバイルデバイスは次いで、再生要素のうちの1つまたは複数による再生のために、獲得された音場をHOA係数へとコーディングすることができる。たとえば、モバイルデバイスのユーザは、ライブイベント(たとえば、会合、会議、劇、コンサートなど)を録音し(その音場を獲得し)、録音をHOA係数へとコーディングすることができる。
[0222]モバイルデバイスはまた、HOAコーディングされた音場を再生するために、再生要素のうちの1つまたは複数を利用することができる。たとえば、モバイルデバイスは、HOAコーディングされた音場を復号し、再生要素のうちの1つまたは複数に信号を出力することができ、このことは再生要素のうちの1つまたは複数に音場を再作成させる。一例として、モバイルデバイスは、1つまたは複数のスピーカー(たとえば、スピーカーアレイ、サウンドバーなど)に信号を出力するために、ワイヤレスおよび/またはワイヤレス通信チャネルを利用することができる。別の例として、モバイルデバイスは、1つもしくは複数のドッキングステーションおよび/または1つもしくは複数のドッキングされたスピーカー(たとえば、スマート自動車および/またはスマート住宅の中のサウンドシステム)に信号を出力するために、ドッキング解決手段を利用することができる。別の例として、モバイルデバイスは、ヘッドフォンのセットに信号を出力するために、たとえばリアルなバイノーラルサウンドを作成するために、ヘッドフォンレンダリングを利用することができる。
[0223]いくつかの例では、特定のモバイルデバイスは、3D音場を獲得することと、より後の時間に同じ3D音場を再生することの両方を行うことができる。いくつかの例では、モバイルデバイスは、3D音場を獲得し、3D音場をHOAへと符号化し、符号化された3D音場を再生のために1つまたは複数の他のデバイス(たとえば、他のモバイルデバイスおよび/または他の非モバイルデバイス)に送信することができる。
[0224]本技法が実行され得るYまた別の状況は、オーディオコンテンツと、ゲームスタジオと、コーディングされたオーディオコンテンツと、レンダリングエンジンと、配信システムとを含み得る、オーディオエコシステムを含む。いくつかの例では、ゲームスタジオは、HOA信号の編集をサポートし得る1つまたは複数のDAWを含み得る。たとえば、1つまたは複数のDAWは、1つまたは複数のゲームオーディオシステムとともに動作する(たとえば、機能する)ように構成され得る、HOAプラグインおよび/またはツールを含み得る。いくつかの例では、ゲームスタジオは、HOAをサポートする新しいステムフォーマットを出力することができる。いずれの場合も、ゲームスタジオは、配信システムによる再生のために音場をレンダリングすることができるレンダリングエンジンに、コーディングされたオーディオコンテンツを出力することができる。
[0225]本技法はまた、例示的なオーディオ獲得デバイスに関して実行され得る。たとえば、本技法は、3D音場を録音するようにまとめて構成される複数のマイクロフォンを含み得る、Eigenマイクロフォンに関して実行され得る。いくつかの例では、Eigenマイクロフォンの複数のマイクロフォンは、約4cmの半径を伴う実質的に球状の球体の表面に配置され得る。いくつかの例では、オーディオ符号化デバイス20は、マイクロフォンから直接ビットストリーム21を出力するために、Eigenマイクロフォンに統合され得る。
[0226]別の例示的なオーディオ獲得状況は、1つまたは複数のEigenマイクロフォンなど、1つまたは複数のマイクロフォンから信号を受信するように構成され得る、製作トラックを含み得る。製作トラックはまた、図3のオーディオ符号化器20などのオーディオ符号化器を含み得る。
[0227]モバイルデバイスはまた、いくつかの場合には、3D音場を録音するようにまとめて構成される複数のマイクロフォンを含み得る。言い換えれば、複数のマイクロフォンは、X、Y、Zのダイバーシティを有し得る。いくつかの例では、モバイルデバイスは、モバイルデバイスの1つまたは複数の他のマイクロフォンに関してX、Y、Zのダイバーシティを提供するように回転され得るマイクロフォンを含み得る。モバイルデバイスはまた、図3のオーディオ符号化器20などのオーディオ符号化器を含み得る。
[0228]耐衝撃性のビデオキャプチャデバイスは、3D音場を録音するようにさらに構成され得る。いくつかの例では、耐衝撃性のビデオキャプチャデバイスは、ある活動に関与するユーザのヘルメットに取り付けられ得る。たとえば、耐衝撃性のビデオキャプチャデバイスは、急流下りをしているユーザのヘルメットに取り付けられ得る。このようにして、耐衝撃性のビデオキャプチャデバイスは、ユーザの周りのすべての活動(たとえば、ユーザの後ろでくだける水、ユーザの前で話している別の乗員など)を表す3D音場をキャプチャすることができる。
[0229]本技法はまた、3D音場を録音するように構成され得る、アクセサリで増強されたモバイルデバイスに関して実行され得る。いくつかの例では、モバイルデバイスは、上記で説明されたモバイルデバイスと同様であり得るが、1つまたは複数のアクセサリが追加されている。たとえば、Eigenマイクロフォンが、アクセサリで増強されたモバイルデバイスを形成するために、上述されたモバイルデバイスに取り付けられ得る。このようにして、アクセサリで増強されたモバイルデバイスは、アクセサリで増強されたモバイルデバイスと一体のサウンドキャプチャ構成要素をただ使用するよりも高品質なバージョンの3D音場をキャプチャすることができる。
[0230]本開示で説明される本技法の様々な態様を実行することができる例示的なオーディオ再生デバイスが、以下でさらに説明される。本開示の1つまたは複数の技法によれば、スピーカーおよび/またはサウンドバーは、あらゆる任意の構成で配置され得るが、一方で、依然として3D音場を再生する。その上、いくつかの例では、ヘッドフォン再生デバイスが、有線接続またはワイヤレス接続のいずれかを介して復号器24に結合され得る。本開示の1つまたは複数の技法によれば、音場の単一の汎用的な表現が、スピーカー、サウンドバー、およびヘッドフォン再生デバイスの任意の組合せで音場をレンダリングするために利用され得る。
[0231]いくつかの異なる例示的なオーディオ再生環境はまた、本開示で説明される技法の様々な態様を実行するために好適であり得る。たとえば、5.1スピーカー再生環境、2.0(たとえば、ステレオ)スピーカー再生環境、フルハイトフロントラウドスピーカーを伴う9.1スピーカー再生環境、22.2スピーカー再生環境、16.0スピーカー再生環境、自動車スピーカー再生環境、およびイヤバッド再生環境を伴うモバイルデバイスは、本開示で説明される技法の様々な態様を実行するために好適な環境であり得る。
[0232]本開示の1つまたは複数の技法によれば、音場の単一の汎用的な表現が、上記の再生環境のいずれかにおいて音場をレンダリングするために利用され得る。加えて、本開示の技法は、レンダードが、上記で説明されたもの以外の再生環境での再生のために、汎用的な表現から音場をレンダリングすることを可能にする。たとえば、設計上の考慮事項が、7.1スピーカー再生環境に従ったスピーカーの適切な配置を妨げる場合(たとえば、右側のサラウンドスピーカーを配置することが可能ではない場合)、本開示の技法は、再生が6.1スピーカー再生環境で達成され得るように、レンダーが他の6つのスピーカーとともに補償することを可能にする。
[0233]その上、ユーザは、ヘッドフォンを装着しながらスポーツの試合を見ることができる。本開示の1つまたは複数の技法によれば、スポーツの試合の3D音場が獲得され得(たとえば、1つまたは複数のEigenマイクロフォンが野球場の中および/または周りに配置され得)、3D音場に対応するHOA係数が取得され復号器に送信され得、復号器がHOA係数に基づいて3D音場を再構成して、再構成された3D音場をレンダラに出力することができ、レンダラが再生環境のタイプ(たとえば、ヘッドフォン)についての指示を取得し、再構成された3D音場を、ヘッドフォンにスポーツの試合の3D音場の表現を出力させる信号へとレンダリングすることができる。
[0234]上記で説明された様々な場合の各々において、オーディオ符号化デバイス20は、ある方法を実行し、またはさもなければ、オーディオ符号化デバイス20が実行するように構成される方法の各ステップを実行するための手段を備え得ることを理解されたい。いくつかの場合には、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの場合には、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における本技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ符号化デバイス20が実行するように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[0235]1つまたは複数の例において、前述の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコード上に記憶され、またはこれを介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。データ記憶媒体は、本開示で説明される技法の実装のために命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0236]同様に、上記で説明された様々な場合の各々において、オーディオ復号デバイス24は、ある方法を実行し、またはさもなければ、オーディオ復号デバイス24が実行するように構成される方法の各ステップを実行するための手段を備え得ることを理解されたい。いくつかの場合には、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの場合には、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における本技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ復号デバイス24が実行するように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[0237]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含むのではなく、非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−ray(登録商標)ディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、一方、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲の中に含まれるべきである。
[0238]命令は、1つもしくは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、あるいは他の同等の集積回路またはディスクリート論理回路などの1つもしくは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または、本明細書で説明された技法の実装に好適な任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成されるか、または複合コーデックに組み込まれる、専用のハードウェアモジュールおよび/またはソフトウェアモジュール内で提供され得る。また、本技法は、1つもしくは複数の回路または論理要素で十分に実装され得る。
[0239]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)もしくはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されるが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記の1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0240]本開示の様々な態様が説明された。本技法のこれらおよび他の態様は、以下の特許請求の範囲内に入る。