[0023]図およびテキストの全体を通して、同じ参照文字は同じ要素を示す。
[0024]サラウンドサウンドの進化は、今日の娯楽のための多くの出力フォーマットを利用可能にしてきた。そのような家庭用サラウンドサウンドフォーマットは、ある特定の幾何学的座標のラウドスピーカー(loudspeakers)に対するフィードを黙示的に指定するので、これらのフォーマットの例は、たいてい「チャンネル」ベースである。これらには、一般的な5.1フォーマット(これは、フロントレフト(FL)と、フロントライト(FR)と、センターまたはフロントセンターと、バックレフトまたはサラウンドレフトと、バックライトまたはサラウンドライトと、低周波効果(LFE)という、6つのチャンネルを含む)、発展中の7.1フォーマット、7.1.4フォーマットおよび22.2フォーマット(たとえば、超高精細テレビ規格で使用するための)などのハイトスピーカーを含む様々なフォーマットがある。非家庭用フォーマットは、「サラウンドアレイ」と呼ばれることが多い、(対称的な幾何学的配置および非対称的な幾何学的配置をした)任意の数のスピーカーにまたがることができる。そのようなアレイの一例としては、切頂二十面体のコーナー上の座標に位置決めされた32のラウドスピーカーがある。
[0025]将来のMPEGエンコーダへの入力は、任意選択で、次の3つの可能なフォーマットすなわち(i)あらかじめ指定された位置でラウドスピーカーによって再生されることを意味する、従来のチャンネルベースオーディオ(上記で説明された)、(ii)(様々な情報の中でも)ロケーション座標を含む関連付けられたメタデータを有する単一オーディオオブジェクトのための離散的なパルス符号変調(PCM)データを含むオブジェクトベースオーディオ、および(iii)球面調和基底関数の係数(「球面調和係数(spherical harmonic coefficients)」すなわちSHCと、「高次アンビソニックス(Higher Order Ambisonics)」すなわちHOAと、「HOA係数」とも呼ばれる)を使用して音場を表すことを含むシーンベースオーディオのうち1つである。この将来のMPEGエンコーダは、国際標準化機構/国際電気標準会議(ISO)/(IEC)のJTC1/SC29/WG11/N13411による「Call for Proposals for 3D Audio」という名称の文書において、より詳細に説明され得る。この文書は、2013年1月にスイスのジュネーブで発表され、http://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w13411.zipで入手可能である。
[0026]市場には様々な「サラウンドサウンド」チャンネルベースのフォーマットがある。これらのフォーマットは、たとえば、5.1ホームシアターシステム(リビングルームへの進出を行うという点でステレオ以上に最も成功した)からNHK(Nippon Hoso Kyokaiすなわち日本放送協会)によって開発された22.2システムに及ぶ。コンテンツ作成者(たとえば、ハリウッドスタジオ)は、一度に映画のサウンドトラックを作成することを望み、各々のスピーカー構成のためにサウンドトラックをリミックスする努力を行うことを望まない。最近では、標準策定機関が、標準化されたビットストリームへの符号化と、スピーカーの幾何学的配置(と数)および(レンダラ(renderer)を必要とする)再生の位置における音響条件に適合可能でありそれらに依存しない後続の復号とを提供するための方法を考えている。
[0027]コンテンツ作成者に対するそのような柔軟性を提供するために、階層的な要素のセットが音場を表すために使用され得る。階層的な要素のセットは、モデル化された音場の完全な表現をより低次の要素の基本セットが提供するように要素が順序付けられる、要素のセットを指し得る。このセットがより高次の要素を含むように拡張されるにつれて、表現はより詳細なものになり、分解能を増加させる。
[0028]階層的な要素のセットの一例は、球面調和係数(SHC)のセットである。次の式は、SHCを使用した音場の記述または表現を示す。
[0029]この式は、時刻tにおける音場の任意の点{rr,θr,φr}における圧力piがSHC
によって一意に表現可能であることを示す。ここで、
、cは音の速さ(約343m/s)、{rr,θr,φr}は基準の点(または観測点)、jn(・)は次数nの球ベッセル関数、
は次数nおよび副次数mの球面調和基底関数である。角括弧内の項は、離散フーリエ変換(DFT)、離散コサイン変換(DCT)、またはウェーブレット変換などの様々な時間周波数変換によって近似可能な信号の周波数領域表現(すなわち、S(ω,rr,θr,φr)である)ことが認識できよう。階層的なセットの他の例は、ウェーブレット変換の係数のセットと、多分解能ベースの関数の係数の他のセットとを含む。
[0030]図1は、ゼロ次(n=0)から第4次(n=4)までの球面調和基底関数を示す図である。理解できるように、各次数に対して、説明を簡単にするために図示されているが図1の例では明示的に示されていない下位次数mの拡張が存在する。
[0031]図2は、ゼロ次(n=0)から第4次(n=4)までの球面調和基底関数を示す別の図である。図2では、球面調和ベースの関数は、示される次数と副次数の両方を伴う3次元座標空間において示される。
[0032]SHC
は、様々なマイクロフォンアレイ構成によって物理的に取得(たとえば、記録)されることが可能であり、または代替的に、音場のチャンネルベースの記述またはオブジェクトベースの記述から導出されることが可能である。SHCはシーンベースオーディオを表し、より効率的な送信または記憶を促進し得る符号化されたSHCを取得するためにSHCがオーディオエンコーダに入力され得る。たとえば、(1+4)2(25、したがって第4次)係数を含む第4次の表現が使用され得る。
[0033]前述のように、SHCは、マイクロフォンを使用するマイクロフォン記録から導出され得る。どのようにしてSHCがマイクロフォンアレイから導出され得るかについての様々な例は、Poletti,M.、「Three−Dimensional Surround Sound Systems Based on Spherical Harmonics」、J.Audio Eng.Soc.、第53巻、第11号、2005年11月、1004〜1025ページに記載されている。
[0034]これらのSHCがどのようにオブジェクトベースの記述から導出され得るかを例示するために、次の式を考える。個々のオーディオオブジェクトに対応する音場に対する係数
は
と表され得る。
[0035]ここで、iは
は、次数nの(第2種の)球ハンケル関数、{rs,θs,φs}はオブジェクトのロケーションである。オブジェクトソースエネルギーg(ω)を(たとえば、PCMストリームに対して高速フーリエ変換を実行するなどの時間周波数分析技法を使用する)周波数の関数と捉えることによって、各PCMオブジェクトとそのロケーションとをSHC
に変換することができる。さらに、各オブジェクトに対する
係数は付加的であることが(上式は線形であり直交方向の分解であるので)示され得る。このようにして、多数のPCMオブジェクトが
係数によって(たとえば、個々のオブジェクトに対する係数ベクトルの和として)表され得る。本質的に、これらの係数は、音場についての情報(3D座標の関数としての圧力)を含み、上記は、観測点{rr,θr,φr}の近傍における、個々のオブジェクトから全体的音場の表現への変換を表す。残りの数字は、以下でオブジェクトベースオーディオコーディングおよびSHCベースオーディオコーディングの文脈で説明される。
[0036]図3は、本開示において説明される技法の様々な態様を実行し得るシステム10を示す図である。図3の例に示されるように、システム10は、コンテンツ作成者12と、コンテンツ消費者14とを含む。コンテンツ作成者12およびコンテンツ消費者14の文脈で説明されているが、技法は、オーディオデータを表すビットストリームを形成するためにSHC(HOA係数とも呼ばれることがある)または音場の任意の他の階層的表現が符号化される任意の文脈で実施されてよい。その上、コンテンツ作成者12は、数例を提供するとハンドセット(またはセルラー式電話)、タブレットコンピュータ、スマートフォン、またはデスクトップコンピュータを含む、本開示において説明される技法を実施することが可能な任意の形態のコンピューティングデバイスを表すことができ得る。同様に、コンテンツ消費者14は、数例を提供するとハンドセット(またはセルラー式電話)、タブレットコンピュータ、スマートフォン、セットトップボックス、またはデスクトップコンピュータを含む、本開示において説明される技法を実施することが可能な任意の形態のコンピューティングデバイスを表すことができ得る。
[0037]コンテンツ作成者12は、コンテンツ消費者14などのコンテンツ消費者による消費のためのマルチチャンネルオーディオコンテンツを生成し得る映画撮影所または他のエンティティを表すことができ得る。いくつかの例では、コンテンツ作成者12は、HOA係数11を圧縮することを望む個々のユーザを表すことができ得る。多くの場合、このコンテンツ作成者は、ビデオコンテンツとともに、オーディオコンテンツを生成する。コンテンツ消費者14は、オーディオ再生システムへのアクセス権を所有するまたは有する個人を表し、このオーディオ再生システムは、オーディオコンテンツマルチチャンネルとしての再生のためにSHCをレンダリングすることが可能な任意の形態のオーディオ再生システムを指すことがある。図3の例では、コンテンツ消費者14は、オーディオ再生システム16を含む。
[0038]コンテンツ作成者12は、オーディオ編集システム18を含む。コンテンツ作成者12は、様々なフォーマット(HOA係数として直接的に含む)のライブ記録7とオーディオオブジェクト9とを取得し、コンテンツ作成者12は、オーディオ編集システム18を使用して、これらを編集することができ得る。コンテンツ作成者は、編集プロセス中に、オーディオオブジェクト9からのHOA係数11をレンダリングし、さらなる編集を必要とする音場の様々な面(aspect)を識別しようとするレンダリングされたスピーカーフィードをリッスンすること(listening)ができ得る。コンテンツ作成者12は、次いで、(潜在的には、上記で説明された様式でソースHOA係数が導出され得るオーディオオブジェクト9のうち異なるオブジェクトの操作によって、間接的に)HOA係数11を編集することができ得る。コンテンツ作成者12は、HOA係数11を生成するためにオーディオ編集システム18を用いることができ得る。オーディオ編集システム18は、オーディオデータを編集し、このオーディオデータを1つまたは複数のソース球面調和係数として出力することが可能な任意のシステムを表す。
[0039]編集プロセスが完了すると、コンテンツ作成者12は、HOA係数11に基づいてビットストリーム3を生成することができ得る。すなわち、コンテンツ作成者12は、ビットストリーム3を生成するために本開示において説明される技法の様々な態様に従ってHOA係数11を符号化または圧縮するように構成されたデバイスを表すオーディオ符号化デバイス2を含む。オーディオ符号化デバイス2は、一例として、ワイヤードチャンネルであってもワイヤレスチャンネルであってもデータストレージデバイスなどであってもよい送信チャンネルにまたがる、送信のためにビットストリーム3を生成することができ得る。ビットストリーム3は、HOA係数11の符号化されたバージョンを表すことができ得、プライマリビットストリームと、サイドチャンネル情報と呼ばれることがある別のサイドビットストリームとを含むことができ得る。
[0040]以下でより詳細に説明されるが、オーディオ符号化デバイス2は、ベクトルベース合成または方向性ベース合成に基づいてHOA係数11を符号化するように構成され得る。ベクトルベース合成法と方向性ベース合成法のどちらを実行するべきか決定するために、オーディオ符号化デバイス2は、HOA係数11に少なくとも部分的に基づいて、HOA係数11が音場の自然な記録(たとえば、ライブ記録7)を介して生成されたのかまたは一例としてPCMオブジェクトなどのオーディオオブジェクト9から人工的に(すなわち、合成して)生成されたのか決定することができ得る。HOA係数11が生成されたフォームのオーディオオブジェクト9であったとき、オーディオ符号化デバイス2は、方向性ベース合成法を使用してHOA係数11を符号化することができ得る。HOA係数11が、たとえばEigenmikeを使用してライブで捕捉されたとき、オーディオ符号化デバイス2は、ベクトルベース合成法に基づいてHOA係数11を符号化することができ得る。上記の差異は、ベクトルベース合成法または方向性ベース合成法がどこで展開され得るかの一例を表す。ベクトルベース合成法または方向性ベース合成法のいずれかまたは両方が自然な記録、人工的に生成されたコンテンツ、またはこの2つの混合物(ハイブリッドコンテンツ)にとって有用であり得る他の場合もあり得る。その上、HOA係数の単一の時間フレームをコーディングするために両方の方法を同時に使用することも可能である。
[0041]説明のために、オーディオ符号化デバイス2が、HOA係数11がライブで捕捉されたまたはライブ記録7などのライブ記録を表すと決定すると仮定すると、オーディオ符号化デバイス2は、線形可逆変換(LIT:linear invertible transform)の適用を必要とするベクトルベース合成法を使用してHOA係数11を符号化するように構成され得る。線形可逆変換の一例は、「特異値分解」(すなわち「SVD」)と呼ばれる。この例では、オーディオ符号化デバイス2は、HOA係数11の分解されたバージョンを決定するために、HOA係数11にSVDを適用することができ得る。オーディオ符号化デバイス2は、次いで、様々なパラメータを識別するために、このHOA係数11の分解されたバージョンを分析してよく、これは、HOA係数11の分解されたバージョンのレンダリングを容易にすることができ得る。オーディオ符号化デバイス2は、次いで、識別されたパラメータに基づいてHOA係数11の分解されたバージョンを再配列する(reorder)ことができ得る。変換はHOA係数のフレームにわたってHOA係数を再配列することができ得る(ここで、1つのフレームは通常、HOA係数11のM個のサンプルを含み、Mは、いくつかの例では、1024に設定される)ことを考えると、そのような再配列は、以下でより詳細に説明されるように、コーディング効率を改善することができ得る。HOA係数11の分解されたバージョンを再配列した後、オーディオ符号化デバイス2は、HOA係数11の分解されたバージョンのうち、音場のフォアグラウンド(または、言い換えれば、別個の、主な、または目立つ)成分を表すものを選択することができ得る。オーディオ符号化デバイス2は、フォアグラウンド成分を表すHOA係数11の分解されたバージョンを、オーディオオブジェクトおよび関連付けられた方向性情報として指定することができ得る。
[0042]オーディオ符号化デバイス2はまた、少なくとも部分的に、HOA係数11のうち、音場の1つまたは複数のバックグラウンド(または、言い換えれば、周囲)成分を表すものを識別するために、HOA係数11に対して音場分析を実行することができ得る。いくつかの例では、バックグラウンド成分はHOA係数11の任意の所与のサンプルのサブセットのみを含み得る(たとえば、ゼロ次球面基底関数および1次球面基底関数に対応するHOA係数などであり、2次球面基底関数または高次球面基底関数に対応するHOA係数は含まない)ことを考えると、オーディオ符号化デバイス2は、バックグラウンド成分に対してエネルギー補償を実行することができ得る。言い換えれば、次数減少が実行されるとき、オーディオ符号化デバイス2は、次数減少を実行することから生じる全体的エネルギーの変化を補償するために、HOA係数11のうち残りのバックグラウンドHOA係数を増加させる(たとえば、これに/からエネルギーを追加する/減ずる)ことができ得る。
[0043]オーディオ符号化デバイス2は、次に、バックグラウンド成分を表すHOA係数11の各々およびフォアグラウンドオーディオオブジェクトの各々に対して、心理音響学的符号化の一形態(MPEGサラウンド、MPEG−AAC、MPEG−USACなど、または心理音響学的符号化の他の既知の形態)を実行することができ得る。オーディオ符号化デバイス2は、フォアグラウンド方向性情報に対して補間の一形態を実行し、次いで、次数の削減されたフォアグラウンド方向性情報を生成するために、補間されたフォアグラウンド方向性情報に対して次数減少を実行することができ得る。オーディオ符号化デバイス2は、いくつかの例では、次数の削減されたフォアグラウンド方向性情報に対して量子化をさらに実行し、コーディングされたフォアグラウンド方向性情報を出力することができ得る。いくつかの例では、この量子化は、スカラー/エントロピー量子化を備えることができ得る。オーディオ符号化デバイス2は、次いで、符号化されたバックグラウンド成分と、符号化されたフォアグラウンドオーディオオブジェクトと、量子化された方向性情報とを含むために、ビットストリーム3を形成することができ得る。オーディオ符号化デバイス2は、次いで、コンテンツ消費者14にビットストリーム3を送信または出力することができ得る。
[0044]図3ではコンテンツ消費者14に直接的に送信されているように示されているが、コンテンツ作成者12は、コンテンツ作成者12とコンテンツ消費者14の間に位置決めされた中間デバイスにビットストリーム3を出力することができ得る。この中間デバイスは、ビットストリーム3を要求することがあるコンテンツ消費者14に後で配信するために、このビットストリームを記憶することができる。中間デバイスは、ファイルサーバ、ウェブサーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルフォン、スマートフォン、または後でのオーディオデコーダによる取出しのためにビットストリーム3を記憶することが可能な任意の他のデバイスを備えることができる。この中間デバイスは、ビットストリーム3を要求するコンテンツ消費者14などの加入者に(おそらくは対応するビデオデータストリームを送信することとともに)ビットストリーム3をストリーミングすることが可能なコンテンツ配信ネットワークに存在してもよい。
[0045]代替的に、コンテンツ作成者12は、コンパクトディスク、デジタルビデオディスク、高精細度ビデオディスク、または他の記憶媒体などの記憶媒体にビットストリーム3を格納することができ得、記憶媒体の大部分はコンピュータによって読み取り可能であり、したがって、コンピュータ可読記憶媒体または非一時的コンピュータ可読記憶媒体と呼ばれることがある。この文脈において、送信チャンネルは、これらの媒体に格納されたコンテンツが送信されるチャンネルを指すことがある(および、小売店と他の店舗ベースの配信機構とを含み得る)。したがって、いずれにしても、本開示の技法は、この点に関して図3の例に限定されるべきではない。
[0046]図3の例にさらに示されるように、コンテンツ消費者14は、オーディオ再生システム16を含む。オーディオ再生システム16は、マルチチャンネルオーディオデータを再生することが可能な任意のオーディオ再生システムを表すことができ得る。オーディオ再生システム16は、いくつかの異なるレンダラ5を含むことができ得る。レンダラ5は各々、異なる形態のレンダリングを提供することができ得、異なる形態のレンダリングは、vector−base amplitude panning(VBAP)を実行する様々な方法のうち1つもしくは複数および/または音場合成を実行する様々な方法のうち1つもしくは複数を含むことができ得る。本明細書で使用されるとき、「Aおよび/またはB」は、「AまたはB」、または「AおよびB」の両方を意味する。
[0047]オーディオ再生システム16は、オーディオ復号デバイス4をさらに含むことができ得る。オーディオ復号デバイス4は、ビットストリーム3からHOA係数11’を復号するように構成されたデバイスを表すことができ得、HOA係数11’は、HOA係数11に類似してよいが、非可逆的動作(たとえば、量子化)および/または送信チャンネルを介した送信により異なってもよい。すなわち、オーディオ復号デバイス4は、ビットストリーム3において指定される情報フォアグラウンド方向性を逆量子化することができ得るが、ビットストリーム3において指定されるフォアグラウンドオーディオオブジェクトおよびバックグラウンド成分を表す符号化されたHOA係数に対して心理音響学的復号を実行することもでき得る。オーディオ復号デバイス4は、復号されたフォアグラウンド方向性情報に対して補間をさらに実行し、次いで、復号されたフォアグラウンドオーディオオブジェクトおよび補間されたフォアグラウンド方向性情報に基づいて、フォアグラウンド成分を表すHOA係数を決定することができ得る。オーディオ復号デバイス4は、次いで、フォアグラウンド成分を表す決定されたHOA係数およびバックグラウンド成分を表す復号されたHOA係数に基づいてHOA係数11’を決定することができ得る。
[0048]オーディオ再生システム16は、HOA係数11’を取得するためにビットストリーム3を復号した後、ラウドスピーカーフィード6を出力するためにHOA係数11’をレンダリングすることができ得る。ラウドスピーカーフィード6は、1つまたは複数のラウドスピーカー(説明を簡単にするために、図3の例には示されていない)を駆動することができ得る。
[0049]適切なレンダラを選択する、またはいくつかの例では、適切なレンダラを生成するために、オーディオ再生システム16は、ラウドスピーカーの数および/またはラウドスピーカーの空間的な幾何学的配置を示すラウドスピーカー情報13を取得することができ得る。いくつかの例では、オーディオ再生システム16は、基準マイクロフォンを使用し、ラウドスピーカー情報13を動的に決定するような様式でラウドスピーカーを駆動して、ラウドスピーカー情報13を取得することができ得る。他の例では、またはラウドスピーカー情報13の動的決定に関連して、オーディオ再生システム16は、ユーザに、オーディオ再生システム16とインターフェースし、ラウドスピーカー情報16を入力することを促すことができ得る。
[0050]オーディオ再生システム16は、次いで、ラウドスピーカー情報13に基づいてオーディオレンダラ5のうち1つを選択することができ得る。いくつかの例では、オーディオレンダラ5のいずれも、ラウドスピーカー情報13において指定される尺度に対して何らかの閾値類似性尺度(ラウドスピーカーの幾何学的配置に関する)の範囲内にないとき、オーディオ再生システム16は、ラウドスピーカー情報13に基づいてオーディオレンダラ5のうち1つを生成することができ得る。オーディオ再生システム16は、いくつかの例では、最初にオーディオレンダラ5のうち既存のものを選択しようとしなくても、ラウドスピーカー情報13に基づいてオーディオレンダラ5のうち1つを生成することができ得る。
[0051]図4は、オーディオデータのビットストリーム内のオーディオ信号情報を潜在的により効率的に表すために本開示で説明される技法を実行し得るシステム20を示す図である。図3の例に示されるように、システム20は、コンテンツ作成者22と、コンテンツ消費者24とを含む。コンテンツ作成者22およびコンテンツ消費者24の文脈で説明されているが、技法は、オーディオデータを表すビットストリームを形成するためにSHCまたは音場の任意の他の階層的表現が符号化される任意の文脈で実施されてよい。構成要素22、24、30、28、36、31、32、38、34、および35は、同様の名前が付けられた図3の構成要素の例示的な例を表すことができ得る。その上、SHC27および27’はそれぞれ、HOA係数11および11’の例示的な例を表すことができ得る。
[0052]コンテンツ作成者22は、コンテンツ消費者24などのコンテンツ消費者による消費のためのマルチチャンネルオーディオコンテンツを生成し得る映画撮影所または他のエンティティを表すことができる。多くの場合、このコンテンツ作成者は、ビデオコンテンツとともに、オーディオコンテンツを生成する。コンテンツ消費者24は、オーディオ再生システムへのアクセス権を所有するまたは有する個人を表し、このオーディオ再生システムは、オーディオコンテンツマルチチャンネルを再生することが可能な任意の形態のオーディオ再生システムを指すことがある。図4の例では、コンテンツ消費者24は、オーディオ再生システム32を含む。
[0053]コンテンツ作成者22は、オーディオレンダラ28、オーディオ、およびオーディオ編集システム30を含む。オーディオレンダラ26は、スピーカーフィード(「ラウドスピーカーフィード」、「スピーカー信号」、または「ラウドスピーカー信号」とも呼ばれることがある)をレンダリングまたは生成するオーディオ処理ユニットを表すことができる。各スピーカーフィードは、マルチチャンネルオーディオシステムの特定のチャンネルのための音を再現するスピーカーフィードに対応することができる。図4の例では、レンダラ38は、従来の5.1サラウンドサウンドフォーマットのためのスピーカーフィードをレンダリングし、7.1サラウンドサウンドフォーマット、または22.2サラウンドサウンドフォーマット、5.1サラウンドサウンドスピーカーシステム、7.1サラウンドサウンドスピーカーシステム、または22.2サラウンドサウンドスピーカーシステムにおける5、7、または22のスピーカーの各々のためのスピーカーフィードを生成することができる。代替的に、レンダラ28は、上記で検討したソース球面調和係数の性質が与えられれば、任意の数のスピーカーを有する任意のスピーカー構成のためのソース球面調和係数からスピーカーフィードをレンダリングするように構成され得る。レンダラ28は、このようにして、図4ではスピーカーフィード29と示されているいくつかのスピーカーフィードを生成することができる。
[0054]コンテンツ作成者は、編集プロセス中に、球面調和係数27(「SHC27」)をレンダリングし、高い忠実度を持たないまたは説得力のあるサラウンドサウンド経験を提供しない音場の面(aspect)を識別しようとするレンダリングされたスピーカーフィードをリッスンすることができる。次いで、コンテンツ作成者22は、(多くの場合、上記で説明された様式でソース球面調和係数が導出され得る異なるオブジェクトの操作によって、間接的に)ソース球面調和係数を編集することができる。コンテンツ作成者22は、球面調和係数27を編集するためにオーディオ編集システム30を用いることができる。オーディオ編集システム30は、オーディオデータを編集し、このオーディオデータを1つまたは複数のソース球面調和係数として出力することが可能な任意のシステムを表す。
[0055]編集プロセスが完了すると、コンテンツ作成者22は、球面調和係数27に基づいてビットストリーム31を生成することができる。すなわち、コンテンツ作成者22は、ビットストリーム31を生成することが可能な任意のデバイスを表すことができるビットストリーム生成デバイス36を含む。いくつかの例では、ビットストリーム生成デバイス36は、帯域幅が(一例として、エントロピー符号化によって)球面調和係数27を圧縮し、ビットストリーム31を形成するために許可されたフォーマットで球面調和係数27のエントロピー符号化されたバージョンを配置するエンコーダを表すことができる。他の例では、ビットストリーム生成デバイス36は、一例としてマルチチャンネルオーディオコンテンツまたはその派生物を圧縮するために従来のオーディオサラウンドサウンド符号化プロセスのプロセスに類似したプロセスを使用してマルチチャンネルオーディオコンテンツ29を符号化するオーディオエンコーダ(おそらく、MPEGサラウンドなどの知られているオーディオコーディング規格またはその派生物に適合するオーディオエンコーダ)を表すことができる。次いで、圧縮されたマルチチャンネルオーディオコンテンツ29は、コンテンツ29を帯域幅圧縮するように何らかの他の方法でエントロピー符号化またはコーディングされ、ビットストリーム31を形成するために合意されたフォーマットに従って配置され得る。ビットストリーム31を形成するために直接的に圧縮されるにせよ、ビットストリーム31を形成するためにレンダリングされ、次いで圧縮されるにせよ、コンテンツ作成者22は、ビットストリーム31をコンテンツ消費者24に送信することができる。
[0056]図4ではコンテンツ消費者24に直接的に送信されているが示されているが、コンテンツ作成者22は、コンテンツ作成者22とコンテンツ消費者24の間に位置決めされた中間デバイスにビットストリーム31を出力することができる。この中間デバイスは、ビットストリーム31を要求することがあるコンテンツ消費者24に後で配信するために、このビットストリームを記憶することができる。中間デバイスは、ファイルサーバ、ウェブサーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルフォン、スマートフォン、または後でのオーディオデコーダによる取出しのためにビットストリーム31を記憶することが可能な任意の他のデバイスを備えることができる。この中間デバイスは、ビットストリーム31を要求するコンテンツ消費者24などの加入者にビットストリーム31を(おそらくは対応するビデオデータストリームを送信するとともに)ストリーミングすることが可能なコンテンツ配信ネットワークに存在してもよい。代替的に、コンテンツ作成者22は、コンパクトディスク、デジタルビデオディスク、高精細度ビデオディスク、または他の記憶媒体などの記憶媒体にビットストリーム31を格納することができ、記憶媒体の大部分はコンピュータによって読み取り可能であり、したがって、コンピュータ可読記憶媒体または非一時的コンピュータ可読記憶媒体と呼ばれることがある。この文脈において、送信チャンネルは、これらの媒体に格納されたコンテンツが送信されるチャンネルを指すことがある(および、小売店と他の店舗ベースの配信機構とを含み得る)。したがって、いずれにしても、本開示の技法は、この点に関して図4の例に限定されるべきではない。
[0057]図4の例にさらに示されるように、コンテンツ消費者24は、オーディオ再生システム32を含む。オーディオ再生システム32は、マルチチャンネルオーディオデータを再生することが可能な任意のオーディオ再生システムを表すことができる。オーディオ再生システム32は、いくつかの異なるレンダラ34を含むことができる。レンダラ34は各々、異なる形態のレンダリングを提供することができ、異なる形態のレンダリングは、vector−base amplitude panning(VBAP)を実行する様々な方法のうち1つもしくは複数および/または音場合成を実行する様々な方法のうち1つもしくは複数を含むことができる。
[0058]オーディオ再生システム32は、抽出デバイス38をさらに含むことができる。抽出デバイス38は、一般にビットストリーム生成デバイス36のプロセスに相反し得るプロセスによって球面調和係数27’(球面調和係数27の修正された形態または複製物を表すことができる「SHC27’」)を抽出することが可能な任意のデバイスを表すことができる。いずれにしても、オーディオ再生システム32は、球面調和係数27’を受け取ることができ、レンダラ34のうち1つを選択することができ、次いで、レンダラ34のうち選択された1つは、いくつかのスピーカーフィード35(説明を簡単にするために図4の例には示されていない、オーディオ再生システム32に電気的にまたはおそらくワイヤレスで結合されたラウドスピーカーの数に対応する)を生成するために球面調和係数27’をレンダリングする。
[0059]一般に、ビットストリーム生成デバイス36がSHC27を直接的に符号化するとき、ビットストリーム生成デバイス36は、SHC27のすべてを符号化する。音場の各表現のために送られるSHC27の数は、次数に依存し、(1+n)2/サンプルと数学的に表され得、ここで、nはこの場合も次数を示す。音場の第4次表現を達成するために、一例として、25のSHCが導出され得る。一般に、SHCの各々は、32ビット符号付き浮動小数点数として表される。したがって、音場の第4次表現を表すために、この例では、合計25×32すなわち800ビット/サンプルが必要とされる。48kHzのサンプリングレートが使用されるとき、これは、38,400,000ビット/秒を表す。いくつかの例では、SHC27のうち1つまたは複数が、目立つ(salient)情報(コンテンツ消費者24で再現されるとき音場について説明する際に可聴または重要であるオーディオ情報を含む情報を指すことがある)を指定しないことがある。SHC27のうちこれらの非目立つSHCを符号化することによって、送信チャンネル(コンテンツ配信ネットワークタイプの送信機構を仮定する)による帯域幅の非効率的な使用が生じることがある。これらの係数の格納を含む適用例では、上記は、記憶空間の非効率的な使用を表すことができる。
[0060]ビットストリーム生成デバイス36は、ビットストリーム31において、ビットストリーム31に含まれるSHC27のSHCを識別し、ビットストリーム31において、SHC27の識別されたSHCを指定することができ得る。言い換えれば、ビットストリーム生成デバイス36は、ビットストリーム31において、ビットストリームに含まれると識別されないSHC27のSHCのうちいずれかを指定しなくても、ビットストリーム31において、SHC27の識別されたSHCを指定することができ得る。
[0061]いくつかの例では、ビットストリーム31に含まれるSHC27のSHCを識別するとき、ビットストリーム生成デバイス36は、複数のビットを有するフィールドを識別することができ得、この複数のビットのうち異なるビットは、SHC27の対応するビットがビットストリーム31に含まれるかどうか識別する。いくつかの例では、ビットストリーム31に含まれるSHC27のSHCを識別するとき、ビットストリーム生成デバイス36は、(n+1)2ビットに等しい複数のビットを有するフィールドを指定することがあり、ここで、nは音場について説明する要素の階層的なセットの順序を示し、複数のビットの各々は、SHC27の対応するビットがビットストリーム31に含まれるかどうか識別する。
[0062]いくつかの例では、ビットストリーム生成デバイス36は、ビットストリーム31に含まれるSHC27のSHCを識別するとき、複数のビットを有するビットストリーム31内のフィールドを識別することがあり、この複数のビットのうち異なるビットは、SHC27の対応するビットがビットストリーム31に含まれるかどうか識別する。SHC27の識別されたSHCを指定するとき、ビットストリーム生成デバイス36は、ビットストリーム31において、複数のビットを有するフィールドのすぐ後のSHC27の識別されたSHCを指定することがある。
[0063]いくつかの例では、ビットストリーム生成デバイス36は、さらに、SHC27のうち1つまたは複数が音場について説明するのに関連する情報を有すると決定することがある。ビットストリーム31に含まれるSHC27のSHCを識別するとき、ビットストリーム生成デバイス36は、音場について説明するのに関連する情報を有するSHC27の決定された1つまたは複数がビットストリーム31に含まれると識別することがある。
[0064]いくつかの例では、ビットストリーム生成デバイス36は、さらに、SHC27のうち1つまたは複数が音場について説明するのに関連する情報を有すると決定することがある。ビットストリーム31に含まれるSHC27のSHCを識別するとき、ビットストリーム生成デバイス36は、ビットストリーム31において、音場について説明するのに関連する情報を有するSHC27の決定された1つまたは複数がビットストリーム31に含まれることを識別し、ビットストリーム31において、音場について説明するのに関連しない情報を有するSHC27の残りのビットがビットストリーム31に含まれないと識別することがある。
[0065]いくつかの例では、ビットストリーム生成デバイス36は、SHC27値のうち1つまたは複数が閾値を下回ると決定することがある。ビットストリーム31に含まれるSHC27のSHCを識別するとき、ビットストリーム生成デバイス36は、ビットストリーム31において、この閾値を上回るSHC27のうち決定された1つまたは複数がビットストリーム31内で指定されると決定することがある。閾値は、多くの場合、ゼロの値であってよいが、実際的な実装形態に関して、閾値は、ノイズフロア(すなわち周囲エネルギー)を表す値に設定されてもよいし、現在の信号エネルギー(閾値を信号に依存するようにし得る)に比例する何らかの値に設定されてもよい。
[0066]いくつかの例では、ビットストリーム生成デバイス36は、音場について説明するのに関連する情報を提供するいくつかのSHC27を減少させるために音場を調整または変換することがある。「調整」という用語は、線形可逆変換を表す任意の1つまたは複数の行列の適用を指すことができる。これらの例では、ビットストリーム生成デバイス36は、音場がどのように調整されたかについて説明する、ビットストリーム31内の調整情報(「変換情報」と呼ばれることもある)を指定することがある。その後でビットストリーム内で指定されるSHC27のSHCを識別する情報に加えて、この情報を指定すると説明されているが、技法のこの態様は、ビットストリームに含まれるSHC27のSHCを識別する情報を指定することの代替として説明され得る。したがって、技法は、この点に関して限定されるべきではなく、音場について説明する複数の階層的な要素からなるビットストリームを生成する方法を提供することができ得る。この方法は、音場について説明するのに関連する情報を提供する複数の階層的な要素の数を減少させるように音場を調整することと、音場がどのように調整されたかについて説明する調整情報をビットストリーム内で指定することとを備える。
[0067]いくつかの例では、ビットストリーム生成デバイス36は、音場について説明するのに関連する情報を提供するいくつかのSHC27を減少させるために音場を回転させることがある。これらの例では、ビットストリーム生成デバイス36は、音場がどのように回転されたかについて説明する、ビットストリーム31内の回転情報を指定することがある。回転情報は、方位角値(360度を知らせることが可能である)と、仰角値(180度を知らせることが可能である)とを備えることができる。いくつかの例では、回転情報は、x軸およびy軸、x軸およびz軸、ならびに/またはy軸およびz軸に対して指定される1つまたは複数の角度を備えることができ得る。いくつかの例では、方位角値は、1つまたは複数のビットを備え、一般に10ビットを含む。いくつかの例では、仰角値は、1つまたは複数のビットを備え、一般に少なくとも9ビットを含む。ビットのこの選定によって、最も単純な実施形態では、180/512度の分解能(仰角と方位角の両方において)が可能になる。いくつかの例では、調整は回転を備えることがあり、上記で説明された調整情報は回転情報を含む。いくつかの例では、ビットストリーム生成デバイス36は、音場について説明するのに関連する情報を提供するいくつかのSHC27を減少させるために音場を平行移動することがある。これらの例では、ビットストリーム生成デバイス36は、音場がどのように平行移動されたかについて説明する、ビットストリーム31内の平行移動情報を指定することがある。いくつかの例では、調整は平行移動を備えることがあり、上記で説明された調整情報は平行移動情報を含む。
[0068]いくつかの例では、ビットストリーム生成デバイス36は、閾値を上回る非ゼロ値を有するいくつかのSHC27を減少させるように音場を調整し、音場がどのように調整されたかについて説明する、ビットストリーム31内の調整情報を指定することがある。
[0069]いくつかの例では、ビットストリーム生成デバイス36は、閾値を上回る非ゼロ値を有するいくつかのSHC27を減少させるように音場を回転させ、音場がどのように回転されたかについて説明する、ビットストリーム31内の回転情報を指定することがある。
[0070]いくつかの例では、ビットストリーム生成デバイス36は、閾値を上回る非ゼロ値を有するいくつかのSHC27を減少させるように音場を平行移動させ、音場がどのように平行移動されたかについて説明する、ビットストリーム31内の平行移動情報を指定することがある。
[0071]音場の説明に関連する情報を含まないSHC27のSHC(SCH27のゼロ値と評価されたサブセットなどの)はビットストリームにおいて指定されない、すなわち、ビットストリームに含まれないので、ビットストリーム31に含まれるSHC27のSHCをビットストリーム31において識別することによって、このプロセスは、帯域幅のより効率的な使用を促進することができる。その上、追加または代替として、音場の説明に関連する情報を指定するSHC27の数を減少させるためにSHC27を生成するとき、音場を調整することによって、このプロセスは、再度またはさらに、潜在的により効率的な帯域幅の使用をもたらすことができる。このプロセスの態様はともに、ビットストリーム31内で指定されるために必要とされるSHC27の数を減少させ、それによって、非固定レートシステム(数例を提供するための目標ビットレートを持たないまたはフレームまたはサンプルあたりビット配分を提供しないオーディオコーディング技法を指すことがある)における帯域幅の利用を潜在的に改善する、または、固定レートシステムでは、音場について説明するのにより関連する情報へのビットの割振りを潜在的にもたらすことができる。
[0072]次いで、コンテンツ消費者24内で、抽出デバイス38は、ビットストリーム生成デバイス36に関して上記で説明されたプロセスに対して全体的に相反する上記で説明されたプロセスの態様に従って、オーディオコンテンツを表すビットストリーム31を処理することができる。抽出デバイス38は、ビットストリーム31に含まれる音場について説明するSHC27’のSHCをビットストリーム31から決定し、SHC27’の識別されたSHCを決定するためにビットストリーム31を解析することができる。
[0073]いくつかの例では、抽出デバイス38は、ビットストリーム31に含まれるSHC27’のSHCを決定するとき、抽出デバイス38は、複数のビットを有するフィールドを決定するためにビットストリーム31を解析することができ、複数のビットのうちの各ビットは、SHC27’の対応するビットがビットストリーム31に含まれるかどうか識別する。
[0074]いくつかの例では、抽出デバイス38は、ビットストリーム31に含まれるSHC27’のSHCを決定するとき、(n+1)2ビットに等しい複数のビットを有するフィールドを指定することがあり、ここでこの場合も、nは、音場について説明する要素の階層的なセットの次数を示す。この場合も、複数のビットの各々は、SHC27’の対応するビットがビットストリーム31に含まれるかどうか識別する。
[0075]いくつかの例では、抽出デバイス38は、ビットストリーム31に含まれるSHC27’のSHCを決定するとき、複数のビットを有するビットストリーム31内のフィールドを識別するためにビットストリーム31を解析することがあり、複数のビットのうち異なるビットは、SHC27’の対応するビットがビットストリーム31に含まれるかどうか識別する。抽出デバイス38は、SHC27’の識別されたSHCを決定するためにビットストリーム31を解析するとき、複数のビットを有するフィールドの後のビットストリーム31からSHC27’の識別されたSHCを直接的に決定するためにビットストリーム31を解析することがある。
[0076]いくつかの例では、抽出デバイス38は、上記で説明されたプロセスの代替としてまたはこれとともに、音場について説明するのに関連する情報を提供するSHC27’の数を減少させるように音場がどのように調整されたかについて説明する調整情報を決定するためにビットストリーム31を解析することがある。抽出デバイス38は、この情報をオーディオ再生システム32に提供することができ、オーディオ再生システム32は、音場について説明するのに関連する情報を提供するSHC27’のSHCに基づいて音場を再現するとき、複数の階層的な要素の数を減少させるために実行される調整を逆にするように調整情報に基づいて音場を調整する。
[0077]いくつかの例では、抽出デバイス38は、上記で説明されたプロセスの代替としてまたはこれとともに、音場について説明するのに関連する情報を提供するSHC27’の数を減少させるために音場がどのように回転されたかについて説明する回転情報を決定するためにビットストリーム31を解析することがある。抽出デバイス38は、この情報をオーディオ再生システム32に提供することができ、オーディオ再生システム32は、音場について説明するのに関連する情報を提供するSHC27’のSHCに基づいて音場を再現するとき、複数の階層的な要素の数を減少させるために実行される回転を逆にするように回転情報に基づいて音場を回転する。
[0078]いくつかの例では、抽出デバイス38は、上記で説明されたプロセスの代替としてまたはこれとともに、音場について説明するのに関連する情報を提供するSHC27’の数を減少させるために音場がどのように平行移動されたかについて説明する平行移動情報を決定するためにビットストリーム31を解析することがある。抽出デバイス38は、この情報をオーディオ再生システム32に提供することができ得、オーディオ再生システム32は、音場について説明するのに関連する情報を提供するSHC27’のSHCに基づいて音場を再現するとき、複数の階層的な要素の数を減少させるために実行される平行移動を逆にするように調整情報に基づいて音場を平行移動する。
[0079]いくつかの例では、抽出デバイス38は、上記で説明されたプロセスの代替としてまたはこれとともに、非ゼロ値を有するSHC27’の数を減少させるように音場がどのように調整されたかについて説明する調整情報を決定するためにビットストリーム31を解析することがある。抽出デバイス38は、この情報をオーディオ再生システム32に提供することができ、オーディオ再生システム32は、非ゼロ値を有するSHC27’のSHCに基づいて音場を再現するとき、複数の階層的な要素の数を減少させるために実行される調整を逆にするように調整情報に基づいて音場を調整する。
[0080]いくつかの例では、抽出デバイス38は、上記で説明されたプロセスの代替としてまたはこれとともに、非ゼロ値を有するいくつかのSHC27’を減少させるように音場がどのように回転されたかについて説明する回転情報を決定するためにビットストリーム31を解析することがある。抽出デバイス38は、この情報をオーディオ再生システム32に提供することができ、オーディオ再生システム32は、非ゼロ値を有するSHC27’のSHCに基づいて音場を再現するとき、複数の階層的な要素の数を減少させるために実行される回転を逆にするように回転情報に基づいて音場を回転する。
[0081]いくつかの例では、抽出デバイス38は、上記で説明されたプロセスの代替としてまたはこれとともに、非ゼロ値を有するいくつかのSHC27’を減少させるように音場がどのように平行移動されたかについて説明する平行移動情報を決定するためにビットストリーム31を解析することがある。抽出デバイス38は、この情報をオーディオ再生システム32に提供することができ、オーディオ再生システム32は、非ゼロ値を有するSHC27’のSHCに基づいて音場を再現するとき、複数の階層的な要素の数を減少させるために実行される平行移動を逆にするように平行移動情報に基づいて音場を平行移動する。
[0082]図5Aは、本開示において説明される技法の様々な態様を実施し得るオーディオ符号化デバイス120を示すブロック図である。図9の例では単一のデバイスすなわちオーディオ符号化デバイス120として示されているが、技法は、1つまたは複数のデバイスによって実行されてよい。したがって、本技法はこの点に関して限定されるべきではない。
[0083]図5Aの例では、オーディオ符号化デバイス120は、時間周波数分析ユニット122と、回転ユニット124と、空間分析ユニット126と、オーディオ符号化ユニット128と、ビットストリーム生成ユニット130とを含む。時間周波数分析ユニット122は、SHC121(SHC121は、1よりも大きい次数に関連付けられた少なくとも1つの係数を含み得るので、高次アンビソニックス(HOA)とも呼ばれることがある)を時間領域から周波数領域に変換するように構成されたユニットを表すことができ得る。時間周波数分析ユニット122は、SHC121を時間領域から周波数領域に変換するために、数例を提供すると高速フーリエ変換(FFT)と離散コサイン変換(DCT)と変形離散コサイン変換(MDCT)と離散サイン変換(DST)とを含む任意の形態のフーリエベース変換を適用することができ得る。SHC121の変換されたバージョンはSHC121’として示され、時間周波数分析ユニット122は、これを回転分析ユニット124および空間分析ユニット126に出力することができ得る。いくつかの例では、SHC121は、すでに、周波数領域において指定されていることがある。これらの例では、時間周波数分析ユニット122は、変換を適用したり受け取られたSHC121を変換したりすることなく、SHC121’を回転分析ユニット124および空間分析ユニット126に渡すことができ得る。
[0084]回転ユニット124は、上記でより詳細に説明された技法の回転態様を実行するユニットを表すことができ得る。回転ユニット124は、SHC121’のうち1つまたは複数を除去するように音場を回転させる(または、より一般的には、変換する)ために空間分析ユニット126とともに機能することができ得る。空間分析ユニット126は、上記で説明された「空間コンパクション(compaction)」アルゴリズムに類似した様式で空間分析を実行するように構成されたユニットを表すことができ得る。空間分析ユニット126は、変換情報127(仰角角度と方位角角度とを含むことができ得る)を回転ユニット124に出力することができ得る。次いで、回転ユニット124が、変換情報127(「回転情報127」とも呼ばれることがある)に従って音場を回転させ、SHC121’の減少されたバージョンを生成することができ得、このSHC121’の減少されたバージョンは、図5Aの例ではSHC125’と示されることがある。回転ユニット124は、ビットストリーム生成ユニット128に変換情報127を出力しながら、オーディオ符号化ユニット126にSHC125’を出力することができ得る。
[0085]オーディオ符号化ユニット126は、符号化されたオーディオデータ129を出力するためにSHC125’をオーディオ符号化するように構成されたユニットを表すことができ得る。オーディオ符号化ユニット126は、任意の形態のオーディオ符号化を実行することができ得る。一例として、オーディオ符号化ユニット126は、motion pictures experts group(MPEG)−2 Part7規格(それ以外では、ISO/IEC13818−7:1997と示される)および/またはMPEG−4 Part3〜5に従ってadvanced audio coding(AAC)を実行することができ得る。オーディオ符号化ユニット126は、SHC125’の各次数/副次数組合せを別個のチャンネルと効果的に扱い、AACエンコーダの別個の例を使用して、これらの別個のチャンネルを符号化することができ得る。HOAの符号化に関するさらなる情報は、オランダのアムステルダムにおける第124回Audio Engineering Society Convention、2008年5月17〜20日で提示されたEric Hellerudらの「Encoding Higher Order Ambisonics with AAC」という名称のAudio Engineering Society Convention Paper 7366で見つけられ得る。オーディオ符号化ユニット126は、符号化されたオーディオデータ129をビットストリーム生成ユニット130に出力することができ得る。
[0086]ビットストリーム生成ユニット130は、何らかの既知のフォーマットに準拠したビットストリームを生成するように構成されたユニットを表すことができ得、これらのフォーマットは、所有権の保持されているものであってもよいし、自由に利用できるものであってもよいし、標準化されたものであってもよい。ビットストリーム生成ユニット130は、ビットストリーム131を生成するために、符号化されたオーディオデータ129で回転情報127を多重化することができ得る。ビットストリーム131は、SHC27’が、符号化されたオーディオデータ129で置き換えられ得ることを除いて、図6A〜図6Eのうちいずれかに記載された例に適合することができ得る。ビットストリーム131、131’は各々、ビットストリーム3、31の一例を表すことができ得る。
[0087]図5Bは、本開示において説明される技法の様々な態様を実施し得るオーディオ符号化デバイス200を示すブロック図である。図5Bの例では単一のデバイスすなわちオーディオ符号化デバイス200として示されているが、技法は、1つまたは複数のデバイスによって実行されてよい。したがって、本技法はこの点に関して限定されるべきではない。
[0088]オーディオ符号化デバイス200は、図5Aのオーディオ符号化デバイス120のように、時間周波数分析ユニット122と、オーディオ符号化ユニット128と、ビットストリーム生成ユニット130とを含む。オーディオ符号化デバイス120は、回転情報を取得して、ビットストリーム131’に埋め込まれたサイドチャンネル内の音場に提供する代わりに、SHC121’を変換された球面調和係数202に変換するためにSHC121’にベクトルベースの分解を適用し、球面調和係数202は、オーディオ符号化デバイス120が音場回転およびその後の符号化のための回転情報を抽出し得る回転行列を含むことができ得る。その結果、この例では、回転情報は、ビットストリーム131’に埋め込まれる必要はない。なぜなら、レンダリングデバイスが、SHCの元の座標系を復元する目的で、ビットストリーム131’に対して符号化された変換された球面調和係数から回転情報を取得して音場を逆回転する(de-rotate)ために、類似の動作を実行し得るからである。この動作は、以下でさらに詳細に説明される。
[0089]図5Bの例に示されるように、オーディオ符号化デバイス200は、ベクトルベース分解ユニット202と、オーディオ符号化ユニット128と、ビットストリーム生成ユニット130とを含む。ベクトルベース分解ユニット202は、SHC121’を圧縮するユニットを表すことができ得る。いくつかの例では、ベクトルベース分解ユニット202は、SHC121’を可逆的に(losslessly)圧縮することができ得るユニットを表す。SHC121’は、複数のSHCを表すことができ得、複数のSHCのうち少なくとも1つは、1よりも大きな次数を有する(この種類のSHCは、その一例がいわゆる「Bフォーマット」である低次アンビソニックスから区別するように高次アンビソニックス(HOA)と呼ばれる)。ベクトルベース分解ユニット202は、SHC121’を可逆的に圧縮することができ得るが、一般に、ベクトルベース分解ユニット202は、再現されるとき目立たないまたは音場について説明する際に関連しないSHC121’のSHCを除去する(いくつかが、人間の聴覚系によって聴取されることが可能でないことがあるので)。この意味で、この圧縮の非可逆性は、SHC121’の圧縮されたバージョンから再現されるとき、音場の感知される品質に過度に影響を及ぼさないことができ得る。
[0090]図5Bの例では、ベクトルベース分解ユニット202は、分解ユニット218と、音場成分抽出ユニット220とを含むことができ得る。分解ユニット218は、特異値分解と呼ばれる分析の一形態を実行するように構成されたユニットを表すことができ得る。SVDに関して説明されているが、技法は、線形的に無相関なデータのセットを提供する任意の類似の変換または分解に対して実行されてよい。また、本開示における「セット」への言及は、一般的に、特にそうではないと記載されない限り「非ゼロ」セットを指すことを意図し、いわゆる「空のセット」を含むセットの古典的な数学的定義を指すことを意図するものではない。
[0091]代替の変換は主成分分析を備えることができ得、主成分分析は、頭字語PCAによって省略されることが多い。PCAは、おそらく相関する変数の観測値のセットを、主成分と呼ばれる線形的に無相関な変数のセットに変換するために、直交変換を用いる数学的手順を指す。線形的に無相関な変数とは、互いに対する統計的線形関係(すなわち依存)を持たない変数を表す。これらの主成分は、互いに対する少しの統計的相関を有すると説明され得る。いずれにしても、いわゆる主成分の数は、元の変数の数以下である。一般に、変換は、第1の主成分が可能な最大の分散を有し(または、言い換えれば、データの変動性をできる限り多く説明し)、後続の各成分は、この連続した成分が先行する成分と直交する(これと無相関と言い換え得る)という制約下で可能な最高分散を有するというような方法で定義される。PCAは、SHC11Aに関してSHC11Aの圧縮になり得る、次数減少の一形態を実行することができる。文脈に応じて、PCAは、いくつかの例を挙げれば、離散カルーネン−レーベ(Karhunen-Loeve)変換、ホテリング(Hotelling)変換、固有直交分解(POD)、および固有値分解(EVD)などのいくつかの異なる名前によって呼ばれることがある。
[0092]いずれにしても、分解ユニット218は、変換された球面調和係数の2つ以上のセットに球面調和係数121’を変換するために、特異値分解(やはり、その頭字語「SVD」によって示され得る)を実行する。図5Bの例では、分解ユニット218は、いわゆるV行列と、S行列と、U行列とを生成するために、SHC121’に対してSVDを実行することができ得る。SVDは、線形代数学では、m×nの実行列または複素行列X(ここで、Xは、SHC121’などのマルチチャンネルオーディオデータを表すことができ得る)の因数分解を次の形態で表すことができる。
[0093]Uはm×mの実ユニタリ行列または複素ユニタリ行列を表すことができ、ここで、Uのm列は、マルチチャンネルオーディオデータの左特異(left-singular)ベクトルとして一般に知られる。Sは、対角線上に非負実数を持つm×nの矩形対角行列を表すことができ、ここで、Sの対角線値は、マルチチャンネルオーディオデータの特異値として一般に知られる。V*(Vの共役転置行列を示すことができる)はn×nの実ユニタリ行列または複素ユニタリ行列を表すことができ、ここで、V*のn列は、マルチチャンネルオーディオデータの右特異(right-singular)ベクトルとして一般に知られる。
[0094]本開示では、球面調和係数121’を備えるマルチチャンネルオーディオデータに適用されると説明されているが、技法は、任意の形態のマルチチャンネルオーディオデータに適用されてよい。このようにして、オーディオ符号化デバイス200は、マルチチャンネルオーディオデータの左特異ベクトルを表すU行列と、マルチチャンネルオーディオデータの特異値を表すS行列と、マルチチャンネルオーディオデータの右特異ベクトルを表すV行列とを生成し、マルチチャンネルオーディオデータをU行列、S行列、およびV行列のうち1つまたは複数の少なくとも一部分の関数として表すために、音場の少なくとも一部分を表すマルチチャンネルオーディオデータに対して特異値分解を実行することができ得る。
[0095]通常、上記で参照されたSVD数式中のV*行列は、複素数を備える行列にSVDが適用され得ることを示すために、V行列の共役転置行列として示される。実数のみを備える行列に適用されるとき、V行列の共役転置行列(すなわち、言い換えれば、V*行列)は、V行列に等しいと見なされてよい。以下では、説明を簡単にするために、SHC121’が実数を備え、その結果、V*行列ではなくV行列がSVDによって出力されると仮定される。V行列であると仮定されているが、技法は、類似のやり方で、複素係数を有するSHC121’に適用されてよく、ここで、SVDの出力はV*行列である。したがって、技法は、この点について、V行列を生成するためにSVDの適用を提供することのみに限定されるべきではなく、V*行列を生成するために複素成分を有するSHC11AへのSVDの適用を含んでよい。
[0096]いずれにしても、分解ユニット218は、高次アンビソニックス(HOA)オーディオデータ(このアンビソニックスオーディオデータは、SHC121’のブロックもしくはサンプルまたはマルチチャンネルオーディオデータの任意の他の形態を含む)の各ブロック(フレームと呼ばれることがある)に対して、SVDのブロック単位の(block-wise)形態を実行することができ得る。変数Mは、サンプル中のオーディオフレームの長さを示すために使用され得る。たとえば、オーディオフレームが1024のオーディオサンプルを含むとき、Mは1024に等しい。したがって、分解ユニット218は、ブロックに対してブロック単位SVDを実行することができ得、SHC11AはM×(N+1)2のSHCを有し、ここで、Nもオーディオデータの次数HOAを示す。分解ユニット218は、このSVDを実行することによって、V行列と、S行列19Bと、U行列とを生成することができ得る。分解ユニット218は、これらの行列を音場成分抽出ユニット20に渡すまたは出力することができ得る。V行列19Aは、(N+1)2×(N+1)2の大きさであってよく、S行列19Bは(N+1)2×(N+1)2の大きさであってよく、U行列はM×(N+1)2の大きさであってよく、ここで、Mはオーディオフレーム中のサンプルの数を指す。Mの一般的な値は1024であるが、本開示の技法は、Mのこの一般的な値に限定されるべきではない。
[0097]音場成分抽出ユニット220は、音場の別個の成分と音場のバックグラウンド成分とを決定し、次いで抽出して、音場の別個の成分を音場のバックグラウンド成分から効果的に分離するように構成されたユニットを表すことができ得る。音場の別個の成分は一般に、より高次の(音場のバックグラウンド成分に対して)基底関数(およびしたがって、より大きいSHC)にこれらの成分の別個性を正確に表すことを要求することを考えると、別個の成分をバックグラウンド成分から分離することによって、より多くのビットを別個の成分に割り当て、より少ないビット(相対的に言えば)をバックグラウンド成分に割り当てることができる。したがって、この変換(SVD、またはPCAを含む任意の他の形態の変換の形態における)の適用によって、本開示において説明される技法は、様々なSHCへのビットの割当て、それによってSHC121’の圧縮を容易にすることができ得る。
[0098]その上、高次基底関数は一般に、音場のこれらのバックグラウンド部分の拡散性または背景性が与えられたこれらの成分を表すために必要とされることを考えると、技法は、音場のバックグラウンド成分の次数減少を可能にすることもでき得る。したがって、技法は、SHC121’へのSVDの適用によって音場の目立つ別個の成分または面を維持しながら、音場の拡散面またはバックグラウンド面の圧縮を可能にすることができ得る。
[0099]音場成分抽出ユニット220は、S行列に対して顕著性分析(salience analysis)を実行することができ得る。音場成分抽出ユニット220は、S行列の対角値を分析し、最大値を有するこれらの成分の変数Dの数値を選択することができ得る。言い換えれば、音場成分抽出ユニット220は、Sの下降(descending)対角値によって作製される曲線の傾きを分析することによって、2つの部分空間を分離する値Dを決定することができ得、大きい特異値はフォアグラウンド音または別個の音を表し、小さい特異値は音場のバックグラウンド成分を表す。いくつかの例では、音場成分抽出ユニット220は、特異値曲線の一次導関数と二次導関数とを使用してよい。音場成分抽出ユニット220はまた、数値Dを1と5の間に制限してもよい。別の例として、音場成分抽出ユニット220は、数値Dを1と(N+1)2の間に制限してもよい。代替的に、音場成分抽出ユニット220は、数値Dを4の値などにあらかじめ定義してもよい。いずれにしても、ひとたび数値Dが推定されると、音場成分抽出ユニット220は、フォアグラウンド部分空間とバックグラウンド部分空間とを行列U、V、およびSから抽出する。
[0100]いくつかの例では、音場成分抽出ユニット220は、M個のサンプルごとにこの分析を実行することができ得、これは、フレームごとと言い換え得る。この点に関して、Dはフレームごとに変化し得る。他の例では、音場成分抽出ユニット220は、この分析をフレームごとに複数回実行し、フレームの2つ以上の部分を分析することができ得る。したがって、技法は、この点に関して、本開示において説明される例に限定されるべきではない。
[0101]実際には、音場成分抽出ユニット220は、対角S行列の特異値を分析し、対角S行列の他の値よりも大きい相対値を有するそれらの値を識別することができ得る。音場成分抽出ユニット220は、別個の成分すなわち「フォアグラウンド」行列と拡散成分すなわち「バックグラウンド」行列とを生成するために、D値を識別し、これらの値を抽出することができ得る。フォアグラウンド行列は、元のS行列の(N+1)2を有するD列を備える対角行列を表すことができ得る。いくつかの例では、バックグラウンド行列は、(N+1)2−Dの列を有する行列を表すことができ得、これらの列の各々は、元のS行列の(N+1)2の変換された球面調和係数を含む。元のS行列の(N+1)2値を有するDの列を備える行列を表す別個の行列として説明しているが、S行列は対角行列であり、各列におけるD番目の値の後のDの列の(N+1)2値はゼロの値であることが多いことを考えると、音場成分抽出ユニット220は、元のS行列のDの値を有するDの列を有するフォアグラウンド行列を生成するために、この行列を切り捨てることができ得る。完全なフォアグラウンド行列および完全なバックグラウンド行列に関して説明しているが、技法は、別個の行列の切り捨てられたバージョンおよびバックグラウンド行列の切り捨てられたバージョンに対して実施され得る。したがって、本開示の技法は、この点に関して限定されるべきではない。
[0102]言い換えれば、フォアグラウンド行列はD×(N+1)2の大きさとすることができ得、バックグラウンド行列は(N+1)2−D×(N+1)2の大きさとすることができ得る。フォアグラウンド行列は、それらの主成分すなわち、言い換えれば、音場の別個の(DIST)オーディオ成分であることに関して目立つように決定された特異値を含むことができ得るが、バックグラウンド行列は、バックグラウンド(BG)すなわち、言い換えれば、音場の周囲成分、拡散成分、または別個でないオーディオ成分であるように決定されたそれらの特異値を含むことができ得る。
[0103]音場成分抽出ユニット220はまた、U行列のための別個の行列とバックグラウンド行列とを生成するために、U行列を分析することができ得る。多くの場合、音場成分抽出ユニット220は、変数Dを識別するためにS行列を分析し、変数Dに基づいて、U行列のための別個の行列とバックグラウンド行列とを生成することができ得る。
[0104]音場成分抽出ユニット220はまた、VTのための別個の行列とバックグラウンド行列とを生成するために、VT行列23を分析することができ得る。多くの場合、音場成分抽出ユニット220は、変数Dを識別するためにS行列を分析し、変数Dに基づいて、VTのための別個の行列とバックグラウンド行列とを生成することができ得る。
[0105]ベクトルベース分解ユニット202は、SHC121’を別個の行列とフォアグラウンド行列の行列乗算(積)として圧縮することによって取得される様々な行列を結合して出力することができ得、これは、SHC202を含む音場の再構成された部分を生じることができ得る。一方、音場成分抽出ユニット220は、VTの別個の成分を含み得るベクトルベースの分解の方向性成分203を出力することができ得る。オーディオ符号化ユニット128は、SHC202をSHC204にさらに圧縮するために符号化の一形態を実行するユニットを表すことができ得る。いくつかの例では、このオーディオ符号化ユニット128は、advanced audio coding(AAC)符号化ユニットまたは統合された会話およびオーディオコーディング(USAC)ユニットの1つまたは複数のインスタンスを表すことができ得る。AAC符号化ユニットを使用して球面調和係数がどのように符号化され得るかに関するさらなる情報は、第124回Convention、2008年5月17〜20日で提示され、http://ro.uow.edu.au/cgi/viewcontent.cgi?article=8025&context=engpapersで入手可能な、Eric Hellerudらの「Encoding Higher Order Ambisonics with AAC」という名称の大会論文で見つけられ得る。
[0106]本明細書において説明される技法によれば、ビットストリーム生成ユニット130は、音場について説明するのに関連する情報を提供するSHC204の数を減少させるために音場を調整または変換することができ得る。「調整」という用語は、線形可逆変換を表す任意の1つまたは複数の行列の適用を指すことができ得る。これらの例では、ビットストリーム生成ユニット130は、音場がどのように調整されたかについて説明する、ビットストリーム内の調整情報(「変換情報」と呼ばれることもある)を指定することがある。具体的には、ビットストリーム生成ユニット130は、方向性成分203を含むようにビットストリーム131’を生成することができ得る。その後でビットストリーム131’内で指定されるSHC204のSHCを識別する情報に加えて、この情報を指定すると説明されているが、技法のこの態様は、ビットストリーム131’に含まれるSHC204のSHCを識別する情報を指定することの代替として実行され得る。したがって、技法は、この点に関して限定されるべきではなく、音場について説明する複数の階層的な要素からなるビットストリームを生成する方法を提供することができ得る。この方法は、音場について説明するのに関連する情報を提供する複数の階層的な要素の数を減少させるように音場を調整することと、音場がどのように調整されたかについて説明する調整情報をビットストリーム内で指定することとを備える。
[0107]いくつかの例では、ビットストリーム生成ユニット130は、音場について説明するのに関連する情報を提供するSHC204の数を減少させるために音場を回転させることがある。これらの例では、ビットストリーム生成ユニット130は、最初に、音場のための回転情報を方向性成分203から取得することができ得る。回転情報は、方位角値(360度を知らせることが可能である)と、仰角値(180度を知らせることが可能である)とを備えることができる。いくつかの例では、ビットストリーム生成ユニット130は、基準に従って方向性成分203中に表される複数の方向性成分(たとえば、別個のオーディオオブジェクト)のうち1つを選択することができ得る。この基準は、音の最大振幅を示すベクトルの最大の大きさとすることができ得る。ビットストリーム生成ユニット130は、いくつかの例では、これをU行列、S行列、これらの組合せ、またはこれらの別個の成分から取得することができ得る。基準は、方向性成分の結合または平均とすることができ得る。
[0108]ビットストリーム生成ユニット130は、回転情報を使用して、音場について説明するのに関連する情報を提供するSHC204の数を減少させるようにSHC204の音場を回転させることができ得る。ビットストリーム生成ユニット130は、この減少された数のSHCをビットストリーム131’に符号化することができ得る。
[0109]ビットストリーム生成ユニット130は、音場がどのように回転されたかについて説明する、ビットストリーム131’内の回転情報を指定することができ得る。いくつかの例では、ビットストリーム生成ユニット130は、方向性成分部品203を符号化することによって回転情報を指定し、これによって、対応するレンダラは、音場をビットストリーム131’からSHC204として抽出および再構成するために、音場のための回転情報を単独で取得し、ビットストリーム131’に符号化された、SHC内で表された回転された音場を「逆回転する」ことができ得る。レンダラを回転させ、このようにして音場を「逆回転する」ようにレンダラを回転させるこのプロセスは、図6A〜図6Bのレンダラ回転ユニット150に関して以下でより詳細に説明される。
[0110]これらの例では、ビットストリーム生成ユニット130は、回転情報を、方向性成分203を介して間接的にではなく、直接的に符号化する。そのような例では、方位角値は、1つまたは複数のビットを備え、一般に10ビットを含む。いくつかの例では、仰角値は、1つまたは複数のビットを備え、一般に少なくとも9ビットを含む。ビットのこの選定によって、最も単純な実施形態では、180/512度の分解能(仰角と方位角の両方において)が可能になる。いくつかの例では、調整は回転を備えることがあり、上記で説明された調整情報は回転情報を含む。いくつかの例では、ビットストリーム生成ユニット131’は、音場について説明するのに関連する情報を提供するSHC204の数を減少させるために音場を平行移動することができ得る。これらの例では、ビットストリーム生成ユニット130は、音場がどのように平行移動されたかについて説明する、ビットストリーム131’内の平行移動情報を指定することがある。いくつかの例では、調整は平行移動を備えることができ得、上記で説明された調整情報は平行移動情報を含む。
[0111]図6Aおよび図6Bは各々、本開示において説明されるバイノーラルオーディオレンダリング技法の様々な態様を実行し得るオーディオ再生デバイスの一例を示すブロック図である。単一のデバイスすなわち図6Aの例ではオーディオ再生デバイス140A、図6Bの例ではオーディオ再生デバイス140Bとして示されているが、技法は、1つまたは複数のデバイスによって実行されてよい。したがって、本技法はこの点に関して限定されるべきではない。
[0112]図6Aの例に示されるように、オーディオ再生デバイス140Aは、抽出ユニット142と、オーディオ復号ユニット144と、バイノーラルレンダリングユニット146とを含むことができ得る。抽出ユニット142は、符号化されたオーディオデータ129と変換情報127とをビットストリーム131から抽出するように構成されたユニットを表すことができ得る。抽出ユニット142は、変換情報127をバイノーラルレンダリングユニット146に渡しながら、抽出された符号化されたオーディオデータ129をオーディオ復号ユニット144に転送することができ得る。
[0113]オーディオ復号ユニット144は、SHC125’を生成するように符号化されたオーディオデータ129を復号するように構成されたユニットを表すことができ得る。オーディオ復号ユニット144は、SHC125’を符号化するために使用されたオーディオ符号化プロセスに相反するオーディオ復号プロセスを実行することができ得る。図6Aの例に示されるように、オーディオ復号ユニット144は、時間周波数分析148を含むことができ得、時間周波数分析148は、SHC125を時間領域から周波数領域に変換し、それによってSHC125’を生成するように構成されたユニットを表すことができ得る。すなわち、符号化されたオーディオデータ129が、時間領域から周波数領域に変換されないSHC125の圧縮された形態を表すとき、オーディオ復号ユニット144は、(周波数領域で指定される)SHC125’を生成するようにSHC125を時間領域から周波数領域に変換するために時間周波数分析148を呼び出すことができ得る。いくつかの例では、SHC125は、すでに、周波数領域において指定されていることがある。これらの例では、時間周波数分析ユニット148は、変換を適用したり受け取られたSHC121を変換したりすることなく、SHC125’をバイノーラルレンダリング146に渡すことができ得る。周波数領域で指定されたSHC125’に関して説明しているが、技法は、時間領域で指定されるSHC125に対して実行され得る。
[0114]バイノーラルレンダリングユニット146は、SHC125’をバイノーラル化するように構成されたユニットを表す。バイノーラル化レンダリングユニット146は、言い換えれば、左チャンネルおよび右チャンネルにSHC125’をレンダリングするように構成されたユニットを表すことができ得、これは、左チャンネルおよび右チャンネルが、SHC125’が記録された部屋の中の聴取者によってどのように聴取されるかをモデル化するために空間化(spatialization)を特徴づけることができ得る。バイノーラルレンダリングユニット146は、ヘッドフォンなどのヘッドセットを介した再生に適した左チャンネル163Aと右チャンネル163Bと(これらは、総称して「チャンネル163」と呼ばれることがある)を生成するようにSHC125’をレンダリングすることができ得る。図6Aの例に示されるように、バイノーラルレンダリングユニット146は、レンダラ回転ユニット150と、エネルギー保存ユニット152と、複素数両耳室内インパルス応答(BRIR)ユニット154と、時間周波数分析ユニット156と、複素数乗算ユニット158と、加算ユニット160と、逆時間周波数分析ユニット162とを含む。
[0115]レンダラ回転ユニット150は、回転された基準フレームを有するレンダラ151を出力するように構成されたユニットを表すことができ得る。レンダラ回転ユニット150は、変換情報127に基づいて標準基準フレーム(多くの場合、SHC125’から22のチャンネルをレンダリングするために指定された基準フレーム)を有するレンダラを回転または変換することができ得る。言い換えれば、レンダラ回転ユニット150は、スピーカーの座標系をマイクロフォンの座標系のそれと位置合わせするために、SHC125’によって表される音場を回転させるのではなく、スピーカーを効果的に再度位置決めすることができ得る。レンダラ回転ユニット150は、大きさL行×(N+1)2−U列の行列によって定義され得る回転されたレンダラ151を出力することができ得、ここで、変数Lは、ラウドスピーカー(実物または仮想のいずれか)の数を示し、変数Nは、SHC125’のうち1つが対応する基底関数の最高次数を示し、変数Uは、符号化プロセス中にSHC125’を生成するとき除去されるSHC121’の数を示す。多くの場合、この数値Uは、上記で説明されたSHC存在フィールド50から導出され、SHC存在フィールド50は、本明細書において「ビット包含マップ」と呼ばれることもある。
[0116]レンダラ回転ユニット150は、SHC125’をレンダリングするときの算出の複雑さを減少させるようにレンダラを回転させることができ得る。説明するために、レンダラが回転されない場合、バイノーラルレンダリングユニット146が、SHC125’と比較してより大きなSHCを含み得るSHC125を生成するためにSHC125’を回転させると考える。SHC125に対して動作するときにSHCの数を増加させることによって、バイノーラルレンダリングユニット146は、SHCの減少されたセットすなわち図6Bの例ではSHC125’に対して動作することと比較して、より多くの数学演算を実行することができ得る。したがって、基準フレームを回転させ、回転されたレンダラ151を出力することによって、レンダラ回転ユニット150は、SHC125’をバイノーラルにレンダリングする複雑さを(数学的に)減少させることができ得、これが、SHC125’のより効率的なレンダリング(処理サイクル、記憶領域消費などに関する)につながることができ得る。
[0117]レンダラ回転ユニット150はまた、いくつかの例では、レンダラがどのように回転されるか制御する方法をユーザに提供するために、ディスプレイを介してグラフィカルユーザインターフェース(GUI)または他のインターフェースを提示することができ得る。いくつかの例では、ユーザは、シータ制御を指定することによって、このユーザにより制御される回転を入力するために、このGUIまたは他のインターフェースと相互作用することができ得る。レンダラ回転ユニット150は、次いで、レンダリングをユーザ固有のフィードバックに合わせるために、このシータ制御によって変換情報を調整することができ得る。このようにして、レンダラ回転ユニット150は、SHC125’のバイノーラル化を(主観的に)促進および/または改善するために、バイノーラル化(binauralization)プロセスのユーザ固有の制御を容易にすることができ得る。
[0118]エネルギー保存ユニット152は、ある量のSHCが閾値の適用または他の類似のタイプの動作により失われるときに失われた何らかのエネルギーを潜在的に再導入するためにエネルギー保存プロセスを実行するように構成されたユニットを表す。エネルギー保存に関するさらなる情報は、ACTA ACUSTICA UNITED with ACUSTICA、第98巻、2012年、37〜47ページに公開された、F.Zotterらの「Energy−Preserving Ambisonic Decoding」という名称の論文で見つけられ得る。一般に、エネルギー保存ユニット152は、オーディオデータの量を当初記録されたように復元または維持しようとしてエネルギーを増加させる。エネルギー保存ユニット152は、レンダラ151’として示される、エネルギーが保存された回転されたレンダラを生成するように、回転されたレンダラ151の行列係数に対して動作することができ得る。エネルギー保存ユニット152は、大きさL行×(N+1)2−U列の行列によって定義され得るレンダラ151’を出力することができ得る。
[0119]複素数両耳室内インパルス応答(BRIR)ユニット154は、2つのBRIRレンダリングベクトル155Aと155Bとを生成するために、レンダラ151’および1つまたは複数のBRIR行列に対して要素ごとの複素数乗算と加算とを実行するように構成されたユニットを表す。数学的には、これは、次の式(1)〜(5)に従って表すことができる。
ここで、D’は、x軸およびy軸(xy)、x軸およびz軸(xz)、ならびにy軸およびz軸(yz)に対して指定された角度のうち1つまたはすべてに基づいて回転行列Rを使用したレンダラをDの回転されたレンダラを示す。
上記の式(2)および(3)では、BRIRおよびD’における「spk」下付き文字は、BRIRとD’の両方が同じ角度位置を有することを示す。言い換えれば、BRIRは、Dが設計される仮想ラウドスピーカーレイアウトを表す。BRIR’およびD’の「H」下付き文字はSH要素位置を表し、SH要素位置をすべて経験する。BRIR’は、HOA領域に対するBRIRの変換されたフォームの空間領域を(球調和逆関数(SH-1)タイプの表現として)表す。上記の式(2)および(3)は、SH次元であるレンダラ行列Dにおけるすべての(N+1)2位置Hに関して実行され得る。BRIRは、時間領域または周波数領域のいずれかにおいて表されてよく、ここで、BRIRは依然として乗算である。記入「左」および「右」は、左チャンネルまたは左耳のためのBRIR/BRIR’と、右チャンネルまたは右耳のためのBRIR/BRIR’を指す。
上記の式(4)および(5)では、BRIR’’は、周波数領域内の左/右信号を指す。Hはこの場合も、SH係数(位置と呼ばれることもある)でループを作り、ここで、順番は、高次アンビソニックス(HOA)とBRIR’において同じである。一般に、このプロセスは、周波数領域では乗算、または時間領域では畳み込みとして実行される。このようにして、BRIR行列は、左チャンネル163Aをバイノーラルにレンダリングするための左BRIR行列と、右チャンネル163Bをバイノーラルにレンダリングするための右BRIR行列とを含むことができ得る。複素数BRIRユニット154は、ベクトル155Aと155Bと(「ベクトル155」)を時間周波数分析ユニット156に出力する。
[0120]時間周波数分析ユニット156は、時間周波数分析ユニット156が、ベクトル155を時間領域から周波数領域に変換し、それによって、周波数領域で指定される2つのバイノーラルレンダリング行列157Aと157Bと(「バイノーラルレンダリング行列157」)を生成するためにベクトル155に対して動作し得ることを除いて、上記で説明された時間周波数分析ユニット148に類似してよい。この変換は、ベクトル155の各々に対して、バイノーラルレンダリング行列157として示され得る(N+1)2−U行×1024(または任意の他の数のポイント)を効果的に生成する1024ポイント変換を備えることができ得る。時間周波数分析ユニット156は、これらの行列157を複素数乗算ユニット158に出力することができ得る。技法が時間領域において実行される例では、時間周波数分析ユニット156は、ベクトル155を複素数乗算ユニット158に渡すことができ得る。前のユニット150、152、および154が周波数領域において動作する例では、時間周波数分析ユニット156は、行列157(これらの例では、複素数BRIRユニット154によって生成される)を複素数乗算ユニット158に渡すことができ得る。
[0121]複素数乗算ユニット158は、大きさ(N+1)2−U行×1024(または任意の他の数の変換ポイント)列の2つの行列159Aと159Bと(「行列159」)を生成するために、行列157の各々によるSHC125’の要素ごとの複素数乗算を実行するように構成されたユニットを表すことができ得る。複素数乗算ユニット158は、これらの行列159を加算ユニット160に出力することができ得る。
[0122]加算ユニット160は、行列159の各々のすべての(N+1)2−U行について加算するように構成されたユニットを表すことができ得る。説明するために、加算ユニット160は、単一の行と1024(または他の変換ポイント数値)の列とを有するベクトル161Aを生成するために、行列159Aの第1の行に沿って値を加算し、次いで第2の行、第3の行などの値を加算する。同様に、加算ユニット160は、単一の行と1024(または何らかの他の変換されるポイントの数値)の列とを有するベクトル161Bを生成するために、行列159Bの列の各々に沿って値を加算する。加算ユニット160は、ベクトル161Aと161Bと(「ベクトル161」)を逆時間周波数分析ユニット162に出力する。
[0123]逆時間周波数分析ユニット162は、データを周波数領域から時間領域に変換するために逆変換を実行するように構成されたユニットを表すことができ得る。逆時間周波数分析ユニット162は、ベクトル161を受け取り、ベクトル161(またはその微分)を時間領域から周波数領域に変換するために使用される変換の逆である変換の適用によってベクトル161の各々を周波数領域から時間領域に変換することができ得る。逆時間周波数分析ユニット162は、バイノーラル化された左チャンネルと右チャンネル163とを生成するようにベクトル161を周波数領域から時間領域に変換することができ得る。
[0124]動作時、バイノーラルレンダリングユニット146は、変換情報を決定することができ得る。この変換情報は、音場について説明するのに関連する情報を提供する複数の階層的な要素の数(すなわち、図6A〜図6Bの例ではSHC125’)を減少させるために音場がどのように変換されたかについて説明することができ得る。上記で説明されたように、バイノーラルレンダリングユニット146は、次いで、決定された変換情報127に基づいて、減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行することができ得る。
[0125]いくつかの例では、バイノーラルオーディオレンダリングを実行するとき、バイノーラルレンダリングユニット146は、決定された変換情報127に基づいて、SHC125’をレンダリングする基準フレームを複数のチャンネル163に変換することができ得る。
[0126]いくつかの例では、変換情報127は、音場が回転された仰角角度と方位角角度とを少なくとも指定する回転情報を備える。これらの例では、バイノーラルレンダリングユニット146は、バイノーラルオーディオレンダリングを実行するとき、決定された回転情報に基づいて、レンダリング関数がSHC125’をレンダリング可能である基準フレームを回転させることができ得る。
[0127]いくつかの例では、バイノーラルレンダリングユニット146は、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報127に基づいて、レンダリング関数がSHC125’をレンダリング可能である基準フレームを変換し、変換されたレンダリング関数に対してエネルギー保存関数を適用することができ得る。
[0128]いくつかの例では、バイノーラルレンダリングユニット146は、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報127に基づいて、レンダリング関数がSHC125’をレンダリング可能である基準フレームを変換し、乗算演算を使用して、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合することができ得る。
[0129]いくつかの例では、バイノーラルレンダリングユニット146は、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報127に基づいて、レンダリング関数がSHC125’をレンダリング可能である基準フレームを変換し、畳み込み演算を必要とすることなく、乗算演算を使用して、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合することができ得る。
[0130]いくつかの例では、バイノーラルレンダリングユニット146は、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報127に基づいて、レンダリング関数がSHC125’をレンダリング可能である基準フレームを変換し、回転されたバイノーラルオーディオレンダリング関数を生成するために、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合し、左チャンネルと右チャンネル163とを生成するために、回転されたバイノーラルオーディオレンダリング関数をSHC125’に適用することができ得る。
[0131]いくつかの例では、オーディオ再生デバイス140Aは、上記で説明されたバイノーラル化を実行するためにバイノーラルレンダリングユニット146を呼び出すことに加えて、符号化されたオーディオデータ129と変換情報127とを含むビットストリーム131を取り出し、ビットストリーム131からの符号化されたオーディオデータ129を解析し、SHC125’を生成するために解析された符号化されたオーディオデータ129を復号するようにオーディオ復号ユニット144を呼び出すことができ得る。これらの例では、オーディオ再生デバイス140Aは、ビットストリーム131からの変換情報127を解析することによって変換情報127を決定するために抽出ユニット142を呼び出すことができ得る。
[0132]いくつかの例では、オーディオ再生デバイス140Aは、上記で説明されたバイノーラル化を実行するためにバイノーラルレンダリングユニット146を呼び出すことに加えて、符号化されたオーディオデータ129と変換情報127とを含むビットストリーム131を取り出し、ビットストリーム131からの符号化されたオーディオデータ129を解析し、SHC125’を生成するために解析された符号化されたオーディオデータ129をadvanced audio coding(AAC)方式に従って復号するようにオーディオ復号ユニット144を呼び出すことができ得る。これらの例では、オーディオ再生デバイス140Aは、ビットストリーム131からの変換情報127を解析することによって変換情報127を決定するために抽出ユニット142を呼び出すことができ得る。
[0133]図6Bは、本開示において説明される技法の様々な態様を実行し得るオーディオ再生デバイス140Bの別の例を示すブロック図である。オーディオ再生デバイス140Bは、オーディオ再生デバイス140A内に含まれる抽出ユニットおよびオーディオ復号ユニットと同じである抽出ユニット142とオーディオ復号ユニット144とを含むので、オーディオ再生デバイス140は、オーディオ再生デバイス140Aに実質的に類似してよい。その上、オーディオ再生デバイス140Bは、バイノーラルレンダリングユニット146’が、上記でバイノーラルレンダリングユニット146に関してより詳細に説明された回転ユニット150、エネルギー保存ユニット152、複素数BRIRユニット154、時間周波数分析ユニット156、複素数乗算ユニット158、加算ユニット160、および逆時間周波数分析ユニット162レンダラに加えて、ヘッドトラッキング補償ユニット164(「ヘッドトラッキング補償ユニット164」)をさらに含むことを除いて、オーディオ再生デバイス140Aのバイノーラルレンダリングユニット146に実質的に類似したバイノーラルレンダリングユニット146’を含む。
[0134]ヘッドトラッキング補償ユニット164は、ヘッドトラッキング情報165と変換情報127とを受け取り、ヘッドトラッキング情報165に基づいて変換情報127を処理し、更新された変換情報127を出力するように構成されたユニットを表すことができ得る。ヘッドトラッキング情報165は、再生基準フレームとして感知または構成されるものに対して方位角角度と仰角角度と(すなわち、言い換えれば、1つまたは複数の球面座標)を指定することができ得る。
[0135]すなわち、ユーザはテレビなどのディスプレイに面して座らされてよく、ヘッドフォンは、音響学的ロケーション機構、ワイヤレス三角測量機構などを含む任意の数のロケーション識別機構を使用して設置され得る。ユーザの頭部は、この基準フレームに対して回転することができ得、ヘッドフォンは、ヘッドトラッキング情報165として検出し、ヘッドトラッキング補償ユニット164に提供することができ得る。ヘッドトラッキング補償ユニット164は、次いで、ユーザまたは聴取者の頭部の動きを考慮するようにヘッドトラッキング情報165に基づいて変換情報127を調整し、それによって、更新された変換情報167を生成することができ得る。次いで、レンダラ回転ユニット150とエネルギー保存ユニット152の両方が、この更新された変換ユニット情報167に対して動作することができ得る。
[0136]このようにして、ヘッドトラッキング補償ユニット164は、たとえばヘッドトラッキング情報165を決定することによって、SHC125’によって表される音場に対する聴取者の頭部の位置を決定することができ得る。ヘッドトラッキング補償ユニット164は、決定された変換情報127および決定された聴取者の頭部の位置たとえばヘッドトラッキング情報165に基づいて、更新された変換情報167を決定することができ得る。バイノーラルレンダリングユニット146’の残りのユニットは、バイノーラルオーディオレンダリングを実行するとき、上記でオーディオ再生デバイス140Aに関して説明された様式に類似した様式で、更新された変換情報167に基づいて、SHC125’に対してバイノーラルオーディオレンダリングを実行することができ得る。
[0137]図7は、本開示において説明される技法の様々な態様によるオーディオ符号化デバイスによって実行される例示的な動作のモードを示す流れ図である。一般にL個のラウドスピーカーにわたって再現される空間的音場をバイノーラルヘッドフォン表現に変換するために、オーディオフレームごとにL×2の畳み込みが必要とされ得る。その結果、この従来のバイノーラル化方法は、ストリーミングシナリオでは算出的にコストが高いと考えられ得、それによって、オーディオのフレームは、中断されないリアルタイムで処理され出力されなければならない。使用されるハードウェアによっては、この従来のバイノーラル化プロセスは、利用可能であるよりも多くの算出コストを必要とすることがある。この従来のバイノーラル化プロセスは、時間領域畳み込みの代わりに周波数領域乗算を実行することによって、ならびに算出の複雑さを減少させるためにブロック単位の畳み込みを使用することによって、改善され得る。このバイノーラル化モデルをHOAに適用することによって、一般に、算出の複雑さが、所望の音場を潜在的に適切に再現するためにHOA係数(N+1)2よりも多くのラウドスピーカーの必要性により、さらに増加することがある。
[0138]対照的に、図7の例では、オーディオ符号化デバイスは、SHCの数を減少させるために音場を回転させるように例示的な動作のモード300を適用することができ得る。動作のモード300は、図5Aのオーディオ符号化デバイス120に関して説明する。オーディオ符号化デバイス120は、球面調和係数を取得し(302)、SHCのための変換情報を取得するためにSHCを分析する(304)。オーディオ符号化デバイス120は、変換情報に従って、SHCによって表される音場を回転させる(306)。オーディオ符号化デバイス120は、回転された音場を表した減少された球面調和係数(「減少されたSHC」)を生成する(308)。オーディオ符号化デバイス120はさらに、減少されたSHCならびに変換情報をビットストリームに符号化し(310)、このビットストリームを出力または記憶する(312)ことができ得る。
[0139]図8は、本開示において説明される技法の様々な態様によるオーディオ再生デバイス(または「オーディオ復号デバイス」)によって実行される例示的な動作のモードを示す流れ図である。これらの技法は両方とも、閾値未満のSHCの数を増加させるように最適に回転され、それによって、SHCの増加された除去をもたらし得るHOA信号を提供することができ得る。除去されるとき、結果として得られるSHCは、(これらのSHCは音場について説明する際に目立たないことを考えると)SHCの除去が感知できないように再生され得る。この変換情報(シータおよびファイすなわち(θ,φ))は、復号エンジンに、次いでバイノーラル再現方法(上記でより詳細に説明された)に送られる。本開示の技法は最初に、座標系が等しく回転されるように変換(または、この例では、回転)情報の送られたフォームの符号化エンジンの空間分析ブロックから、所望のHOAレンダラを回転させることができ得る。続いて、破棄されたHOA係数はまた、レンダリング行列から破棄される。任意選択で、修正されたレンダラは、送られた回転された座標で音源を使用してエネルギー保存可能である。レンダリング行列は、左耳と右耳の両方のための意図されたラウドスピーカー位置のBRIRで乗算され、次いで、Lラウドスピーカー次元にわたって加算され得る。この時点で、信号が周波数領域にない場合、信号は周波数領域に変換され得る。その後、HOA信号係数をバイノーラル化するために、複素数乗算が実行され得る。次いで、HOA係数次元にわたって加算することによって、レンダラが信号に適用され得、2つのチャンネル周波数領域信号が取得され得る。信号は、最後に、信号を聴くために時間領域に変換され得る。
[0140]図8の例では、オーディオ再生デバイスは、例示的な動作のモード320を適用することができ得る。動作のモード320は、以下で図6Aのオーディオ再生デバイス140Aに関して説明する。オーディオ再生デバイス140Aは、ビットストリームを取得し(322)、このビットストリームから、減少された球面調和係数(SHC)と変換情報とを抽出する(324)。オーディオ再生デバイス140Aは、変換情報に従ってレンダラをさらに回転させ(326)、バイノーラルオーディオ信号を生成するために、回転されたレンダラを減少されたSHCに適用する(328)。オーディオ再生デバイス140Aは、このバイノーラルオーディオ信号を出力する(330)。
[0141]本開示において説明される技法の利益は、畳み込みではなく乗算を実行することによって、算出費用が節約されることであり得る。第一に、HOAカウントはラウドスピーカーの数よりも小さくなければならないので、第二に、最適な回転によるHOA係数の減少のために、より少ない乗算の回数が必要とされることがある。ほとんどのオーディオコーデックは周波数領域に基づくので、時間領域信号ではなく周波数領域信号が出力可能であることが仮定され得る。また、BRIRは、時間領域ではなく周波数領域において節約され、実行中の(on-the-fly)フーリエベース変換の算出を潜在的に省くことができ得る。
[0142]図9は、本開示において説明される技法の様々な態様を実行し得るオーディオ符号化デバイス570の別の例を示すブロック図である。図9の例では、次数減少ユニットは、音場成分抽出ユニット520の中に含まれると仮定されるが、説明を簡単にするために図示されない。しかしながら、オーディオ符号化デバイス570は、いくつかの例では分解ユニットを備えることがある、より一般的な変換ユニット572を含むことができ得る。
[0143]図10は、図9の例に示されるオーディオ符号化デバイス570の例示的な実装形態をより詳細に示すブロック図である。図10の例に示されるように、オーディオ符号化デバイス570の変換ユニット572は回転ユニット654を含む。オーディオ符号化デバイス570の音場成分抽出ユニット520は、空間分析ユニット650と、コンテンツ特性分析ユニット652と、コヒーレント成分抽出ユニット656と、拡散成分抽出ユニット658とを含む。オーディオ符号化デバイス570のオーディオ符号化ユニット514は、AACコーディングエンジン660と、AACコーディングエンジン162とを含む。オーディオ符号化デバイス570のビットストリーム生成ユニット516は、マルチプレクサ(MUX)164を含む。
[0144]SHCの形態の3Dオーディオデータを表すために必要とされる帯域幅−ビット/秒に関して−は、消費者の使用に関して禁止とすることがある。たとえば、48kHzのサンプリングレートを使用するとき、および32ビット/同じ分解能を用いて−4次SHC表現は、36Mbits/秒(25×48000×32bps)の帯域幅を表す。一般に約100kbits/秒である、ステレオ信号のための最先端のオーディオコーディングと比較すると、これは大きい数字である。図10の例において実施される技法は、3Dオーディオ表現の帯域幅を減少させることができる。
[0145]空間分析ユニット650、コンテンツ特性分析ユニット652、および回転ユニット654は、SHC511Aを受け取ることができ得る。本開示の他の場所で説明されるように、SHC511Aは音場を表すことができ得る。SHC511Aは、SHC27またはHOA係数11の一例を表すことができ得る。図10の例では、空間分析ユニット650、コンテンツ特性分析ユニット652、および回転ユニット654は、音場の4次(n=4)表現のための25のSHCを受け取ることができ得る。
[0146]空間分析ユニット650は、音場の別個の成分と音場の拡散成分とを識別するためにSHC511Aによって表される音場を分析することができる。音場の別個の成分とは、識別可能な方向から来ると知覚されるまたは音場のバックグラウンド成分すなわち拡散成分とは別個の音である。たとえば、個々の楽器によって生成される音は、識別可能な方向から来ると知覚され得る。対照的に、音場のバックグラウンド成分すなわち拡散成分は、識別可能な方向から来ると知覚されない。たとえば、森を通る風の音は、音場の拡散成分であり得る。
[0147]空間分析ユニット650は、最も多いエネルギーを有する別個の成分のそれを垂直軸および/または水平軸(この音場を記録した推定されたマイクロフォンに対する)と位置合わせするために音場を回転させる最適な角度を識別しようとする1つまたは複数の別個の成分を識別することができ得る。空間分析ユニット650は、これらの別個の成分が図1および図2の例に示される基礎をなす球面基底関数とより良く位置合わせするように音場が回転され得るように、この最適な角度を識別することができる。
[0148]いくつかの例では、空間分析ユニット650は、拡散音(低レベルの方向または低次SHCを有する音を指すことがあり、SHC511AのSHCが1以下の次数を有することを意味する)を含むSHC511Aによって表される音場のパーセンテージを識別するために一種の拡散分析を実行するように構成されたユニットを表すことができる。一例として、空間分析ユニット650は、2007年6月付けのJ.AudioEng.Soc.第55巻第6号で公開された「Spatial Sound Reproduction with Directional Audio Coding」という名称の、Ville Pulkkiによる論文で説明される様式に類似した様式で拡散分析を実行することができる。いくつかの例では、空間分析ユニット650は、拡散パーセンテージを決定するために拡散分析を実行するとき、SHC511Aのゼロ次サブセットおよび第1次サブセットなどのHOA係数の非ゼロサブセットのみを分析することがある。
[0149]コンテンツ特性分析ユニット652は、SHC511Aに少なくとも部分的に基づいて、SHC511Aが音場の自然な記録を介して生成されたのかまたは一例としてPCMオブジェクトなどのオーディオオブジェクトから人工的に(すなわち、合成して)生成されたのか決定することができる。その上、コンテンツ特性分析ユニット652は、次いで、SHC511Aが音場の自然な記録を介して生成されたのかまたは人工的なオーディオオブジェクトから生成されたのかに少なくとも部分的に基づいて、ビットストリーム517に含むべきチャンネルの総数を決定することができる。たとえば、コンテンツ特性分析ユニット652は、SHC511Aが音場の自然な記録を介して生成されたのかまたは人工的なオーディオオブジェクトから生成されたのかに少なくとも部分的に基づいて、ビットストリーム517が16のチャンネルを含むべきであると決定することができる。チャンネルの各々はモノラルチャンネルであってよい。コンテンツ特性分析ユニット652は、さらに、ビットストリーム517の出力ビットレート、たとえば1.2Mbpsに基づいて、ビットストリーム517に含まれるべきチャンネルの総数の決定を実行することができる。
[0150]さらに、コンテンツ特性分析ユニット652は、SHC511Aが実際の音場の記録から生成されたのかまたは人工的なオーディオオブジェクトから生成されたのかに少なくとも部分的に基づいて、チャンネルのうちいくつが音場のコヒーレント成分または言い換えれば別個の成分に割り振るべきか、およびチャンネルのうちいくつが音場の拡散成分または言い換えればバックグラウンド成分に割り振るべきか、決定することができる。たとえば、SHC511Aが一例としてEigenmicを使用して実際の音場の記録から生成されたとき、コンテンツ特性分析ユニット652は、チャンネルのうち3つを音場のコヒーレント成分に割り振ることがあり、残りのチャンネルを音場の拡散成分に割り振ることがある。この例では、SHC511Aが人工的なオーディオオブジェクトから生成されたとき、コンテンツ特性分析ユニット652は、チャンネルのうち5つを音場のコヒーレント成分に割り振ることがあり、残りのチャンネルを音場の拡散成分に割り振ることがある。このようにして、コンテンツ分析ブロック(すなわち、コンテンツ特性分析ユニット652)は、音場のタイプ(たとえば、拡散/方向性など)を決定し、次に抽出するべきコヒーレント/拡散成分の数を決定することができる。
[0151]目標ビットレートは、成分の数と、個々のAACコーディングエンジン(たとえば、AACコーディングエンジン660、662)のビットレートとに影響を及ぼすことができる。言い換えれば、コンテンツ特性分析ユニット652は、さらに、ビットストリーム517の出力ビットレート、たとえば1.2Mbpsに基づいて、いくつのチャンネルがコヒーレント成分に割り振るべきかおよびいくつのチャンネルが拡散成分に割り振るべきかという決定を実行することができる。
[0152]いくつかの例では、音場のコヒーレント成分に割り振られるチャンネルは、音場の拡散成分に割り振られるチャンネルよりも大きいビットレートを有することがある。たとえば、ビットストリーム517の最大ビットレートが1.2Mb/secであることがある。この例では、コヒーレント成分に割り振られる4つのチャンネルおよび拡散成分に割り振られる16のチャンネルが存在することがある。その上、この例では、コヒーレント成分に割り振られるチャンネルの各々は、64kb/secの最大ビットレートを有することがある。この例では、拡散成分に割り振られるチャンネルの各々は、48kb/secの最大ビットレートを有することがある。
[0153]上述のように、コンテンツ特性分析ユニット652は、SHC511Aが実際の音場の記録から生成されたのかまたは人工的なオーディオオブジェクトから生成されたのか決定することができる。コンテンツ特性分析ユニット652は、この決定を様々な方法で行うことができる。たとえば、オーディオ符号化デバイス570は、第4次SHCを使用することがある。この例では、コンテンツ特性分析ユニット652は、24のチャンネルをコーディングし、25番目のチャンネル(ベクトルとして表され得る)を予測することができる。コンテンツ特性分析ユニット652は、25番目のベクトルを決定するために、24のチャンネルのうち少なくともいくつかにスカラーを適用し、結果として得られる値を追加することができる。その上、この例では、コンテンツ特性分析ユニット652は、予測された25番目のチャンネルの精度を決定することがある。この例では、予測された25番目のチャンネルの精度が比較的高い(たとえば、精度が特定の閾値を超える)場合、SHC511Aは、合成オーディオオブジェクトから生成された可能性がある。対照的に、予測された25番目のチャンネルの精度が比較的低い(たとえば、精度が特定の閾値を下回る)場合、SHC511Aは、記録された音場を表す可能性が高い。たとえば、この例では、25番目のチャンネルの信号対雑音比(SNR)が100デシベル(db)を超える場合、SHC511Aは、合成オーディオオブジェクトから生成された音場を表す可能性が高い。対照的に、Eigenマイクロフォンを使用して記録された音場のSNRは5〜20dbであることがある。したがって、実際の直接的な記録から生成されたSHC511Aによって表される音場と合成オーディオオブジェクトから生成されたSHC27によって表される音場の間に、SNR比における明らかな境界が存在することがある。
[0154]その上、コンテンツ特性分析ユニット652は、SHC511Aが音場の自然な記録を介して生成されたのかまたは人工的なオーディオオブジェクトから生成されたのかに少なくとも部分的に基づいて、Vベクトルを量子化するためのコードブックを選択することができる。言い換えれば、コンテンツ特性分析ユニット652は、HOA係数によって表される音場が記録されたのかまたは合成であるのかに応じて、Vベクトルを量子化するのに使用するための異なるコードブックを選択することができる。
[0155]いくつかの例では、コンテンツ特性分析ユニット652は、SHC511Aが実際の音場の記録から生成されたのかまたは人工的なオーディオオブジェクトから生成されたのか繰り返し決定することができる。いくつかのそのような例では、この繰返しの基準は、フレームごとであることがある。他の例では、コンテンツ特性分析ユニット652は、この決定を1回実行することができる。その上、コンテンツ特性分析ユニット652は、チャンネルの総数と、チャンネルコヒーレント成分チャンネルおよび拡散成分の割当てとを繰り返し決定することができる。いくつかのそのような例では、この繰返しの基準は、フレームごとであることがある。他の例では、コンテンツ特性分析ユニット652は、この決定を1回実行することができる。いくつかの例では、コンテンツ特性分析ユニット652は、Vベクトルを量子化するのに使用するためのコードブックを繰り返し選択することができる。いくつかのそのような例では、この繰返しの基準は、フレームごとであることがある。他の例では、コンテンツ特性分析ユニット652は、この決定を1回実行することができる。
[0156]回転ユニット654は、HOA係数の回転演算を実行することができる。本開示の他の場所で(たとえば、図11Aおよび図11Bに関して)説明されるように、回転演算を実行することによって、SHC511Aを表すために必要とされるビットの数が減少することができる。いくつかの例では、回転ユニット652によって実行される回転分析は、特異値分解(SVD)分析の一例である。主成分分析(PCA)、独立成分分析(ICA)、およびカルーネン−レーベ変換(KLT)は、適用可能であり得る関連技法である。
[0157]図10の例では、コヒーレント成分抽出ユニット656は、回転されたSHC511Aを回転ユニット654から受け取る。その上、コヒーレント成分抽出ユニット656は、回転されたSHC511Aから、音場のコヒーレント成分に関連付けられた回転されたSHC511Aの成分を抽出する。
[0158]さらに、コヒーレント成分抽出ユニット656は、1つまたは複数のコヒーレント成分チャンネルを生成する。コヒーレント成分チャンネルの各々は、音場のコヒーレント係数に関連付けられた回転されたSHC511Aの異なるサブセットを含むことができる。図10の例では、コヒーレント成分抽出ユニット656は、1から16のコヒーレント成分チャンネルを生成することができる。コヒーレント成分抽出ユニット656によって生成されるコヒーレント成分チャンネルの数は、コンテンツ特性分析ユニット652によって音場のコヒーレント成分に割り振られるチャンネルの数によって決定され得る。コヒーレント成分抽出ユニット656によって生成されるコヒーレント成分チャンネルのビットレートは、コンテンツ特性分析ユニット652によって決定され得る。
[0159]同様に、図10の例では、拡散成分抽出ユニット658は、回転されたSHC511Aを回転ユニット654から受け取る。その上、拡散成分抽出ユニット658は、回転されたSHC511Aから、音場の拡散成分に関連付けられた回転されたSHC511Aの成分を抽出する。
[0160]さらに、拡散成分抽出ユニット658は、1つまたは複数の拡散成分チャンネルを生成する。拡散成分チャンネルの各々は、音場の拡散係数に関連付けられた回転されたSHC511Aの異なるサブセットを含むことができる。図10の例では、拡散成分抽出ユニット658は、1から9の拡散成分チャンネルを生成することができる。拡散成分抽出ユニット658によって生成される拡散成分チャンネルの数は、コンテンツ特性分析ユニット652によって音場の拡散成分に割り振られるチャンネルの数によって決定され得る。拡散成分抽出ユニット658によって生成される拡散成分チャンネルのビットレートは、コンテンツ特性分析ユニット652によって決定され得る。
[0161]図10の例では、AACコーディングユニット660は、コヒーレント成分抽出ユニット656によって生成されるコヒーレント成分チャンネルを符号化するためにAACコーデックを使用することができ得る。同様に、AACコーディングユニット662は、拡散成分抽出ユニット658によって生成される拡散成分チャンネルを符号化するためにAACコーデックを使用することができ得る。マルチプレクサ664(「MUX664」)は、ビットストリーム517を生成するために、サイドデータ(たとえば、空間分析ユニット650によって決定される最適な角度)とともに、符号化されたコヒーレント成分チャンネルと符号化された拡散成分チャンネルとを多重化することができる。
[0162]このようにして、技法は、オーディオ符号化デバイス570が、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうか決定することを可能にすることができ得る。
[0163]いくつかの例では、オーディオ符号化デバイス570は、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場の別個の成分を表す球面調和係数のサブセットを決定することができ得る。これらおよび他の例では、オーディオ符号化デバイス570は、球面調和係数のサブセットを含むようにビットストリームを生成することができ得る。オーディオ符号化デバイス570は、いくつかの例では、球面調和係数のサブセットをオーディオ符号化し、球面調和係数のオーディオ符号化されたサブセットを含むようにビットストリームを生成することができ得る。
[0164]いくつかの例では、オーディオ符号化デバイス570は、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場のバックグラウンド成分を表す球面調和係数のサブセットを決定することができ得る。これらおよび他の例では、オーディオ符号化デバイス570は、球面調和係数のサブセットを含むようにビットストリームを生成することができ得る。これらおよび他の例では、オーディオ符号化デバイス570は、球面調和係数のサブセットをオーディオ符号化し、球面調和係数のオーディオ符号化されたサブセットを含むようにビットストリームを生成することができ得る。
[0165]いくつかの例では、オーディオ符号化デバイス570は、回転された球面調和係数を生成するために、球面調和係数によって表される音場を回転させる角度を識別し、この識別された角度だけ音場を回転させる回転演算を実行するために、球面調和係数に対して空間分析を実行することができ得る。
[0166]いくつかの例では、オーディオ符号化デバイス570は、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場の別個の成分を表す球面調和係数の第1のサブセット、および球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場のバックグラウンド成分を表す球面調和係数の第2のサブセットを決定することができ得る。これらおよび他の例では、オーディオ符号化デバイス570は、球面調和係数の第2の対象をオーディオ符号化するために使用される目標ビットレートよりも高い目標ビットレートを有する球面調和係数の第1のサブセットをオーディオ符号化することができ得る。
[0167]図11Aおよび図11Bは、音場640を回転させるために本開示において説明される技法の様々な態様を実行する一例を示す図である。図11Aは、本開示で説明される技法の様々な態様による回転の前の音場640を示す図である。図11Aの例では、音場640は、ロケーション642Aおよび642Bと示される、高圧の2つのロケーションを含む。これらのロケーション642Aおよび642B(「ロケーション642」)は、ゼロでない傾きを有する線644に沿って存在する(水平線はゼロの傾きを有するので、これは、水平でない線を指す別の方法である)。ロケーション642はx座標およびy座標に加えてz座標を有することを考えると、高次球面基底関数は、この音場640を適切に表すために必要とされ得る(これらの高次球面基底関数は、音場の上部部分と下部部分または非水平部分について説明するので。音場640をSHC511Aに直接的に減少させるのではなく、オーディオ符号化デバイス570は、ロケーション642をつなぐ線644が水平になるまで、音場640を回転させることができ得る。
[0168]図11Bは、ロケーション642をつなぐ線644が水平になるまで回転された後の音場640を示す図である。この様式で音場640を回転させた結果、回転された音場640はもはや、z座標を有する圧力(またはエネルギー)のロケーションを持たないことを考えると、SHC511Aは、SHC511Aの高次SHCがゼロと指定されるように導出され得る。このようにして、オーディオ符号化デバイス570は、非ゼロ値を有するSHC511Aの数を減少させるように音場640を回転させ、平行移動させ、またはより一般的には、調整することができる。技法の様々な他の態様に関連して、オーディオ符号化デバイス570は、次いで、SHC511Aのこれらの高次SHCがゼロ値を有することを識別する32ビット符号付き数を知らせるのではなく、SHC511Aのこれらの高次SHCが知らされないことをビットストリーム517のフィールド内で知らせることができ得る。オーディオ符号化デバイス570はまた、多くの場合は上記で説明された様式で方位角と仰角とを表すことによって、音場640がどのように回転されたかを示す、ビットストリーム517内の回転情報を指定することができ得る。オーディオ符号化デバイスなどのなどの抽出デバイスは、次いで、SHC511Aのこれらの知らされなかったSHCはゼロ値を有し、SHC511Aに基づいて音場640を再現するとき、図11Aの例に示された音場640に音場640が似ているように音場640を回転させるために回転を実行することを暗示することができ得る。このようにして、オーディオ符号化デバイス570は、本開示において説明される技法によりビットストリーム517内で指定されるために必要とされるSHC511Aの数を減少させることができ得る。
[0169]「空間コンパクション(compaction)」アルゴリズムは、音場の最適な回転を決定するために使用され得る。一実施形態では、オーディオ符号化デバイス570は、可能な方位角と仰角の組合せ(すなわち、上記の例では1024×512の組合せ)のすべてを反復し、各組合せに対して音場を回転させ、閾値を上回るSHC511Aの数を計算するためにアルゴリズムを実行することができる。閾値を上回るSHC511Aの最小数を生じさせる方位角/仰角候補の組合せは、「最適な回転」と呼ばれることがあるものと考えられ得る。この回転された形態では、音場は、音場を表すためのSHC511Aの最小数を必要とすることがあり、次いで、コンパクションされると考えられ得る。いくつかの例では、調整は、この最適な回転を備えることがあり、上記で説明された調整情報は、この回転(「最適な回転」と呼ばれることがある)情報(方位角角度および仰角角度に関する)を含むことがある。
[0170]いくつかの例では、方位角角度と仰角角度とを指定するのではなく、オーディオ符号化デバイス570は、一例としてオイラー角の形態をした追加の角度を指定することがある。オイラー角は、z軸、前x軸、および前z軸のまわりでの回転の角度を指定する。本開示では方位角角度と仰角角度の組合せに関して説明されているが、本開示の技法は、方位角角度と仰角角度のみを指定することに限定されるべきではなく、上記で述べられた3つのオイラー角を含む任意の数の角度を指定することを含んでよい。この意味で、オーディオ符号化デバイス570は、音場について説明するのに関連する情報を提供しビットストリーム内の回転情報としてオイラー角を指定する複数の階層的な要素の数を減少させるために音場を回転させることがある。オイラー角は、前述のように、音場がどのように回転されたかについて説明することができる。オイラー角を使用するとき、ビットストリーム抽出デバイスは、オイラー角を含む回転情報を決定するためにビットストリームを解析し、さらに、音場について説明するのに関連する情報を提供する複数の階層的な要素のビットに基づいて音場を再現するとき、オイラー角に基づいて音場を回転させることができる。
[0171]その上、いくつかの例では、これらの角度をビットストリーム517内で明示的に指定するのではなく、オーディオ符号化デバイス570は、回転を指定する1つまたは複数の角度のあらかじめ定義された組合せに関連付けられたインデックス(「回転インデックス」と呼ばれることがある)を指定することができる。言い換えれば、回転情報は、いくつかの例では、回転インデックスを含むことがある。これらの例では、ゼロの値などの回転インデックスの所与の値は、回転が実行されなかったことを示すことがある。この回転インデックスは、回転テーブルに関連して使用され得る。すなわち、オーディオ符号化デバイス570は、方位角角度と仰角角度の組合せの各々に関するエントリを備える回転テーブルを含むことができる。
[0172]代替的に、回転テーブルは、方位角角度と仰角角度の各組合せを表す各行列変換に関するエントリを含むことがある。すなわち、オーディオ符号化デバイス570は、方位角角度と仰角角度の組合せの各々によって音場を回転させるための各行列変換に関するエントリを有する回転テーブルを記憶することがある。一般に、オーディオ符号化デバイス570はSHC511Aを受け取り、回転が実行されるとき、以下の式に従ってSHC511A’を導出する。
[0173]上記の式では、SHC511A’は、第2の基準フレーム(EncMat2)に関して音場を符号化するための符号化行列、第1の基準フレーム(InvMat1)に関してSHC511Aを音場に戻すための逆行列、およびSHC511Aの関数として算出される。EncMat2は25×32の大きさであり、InvMat2は32×25の大きさである。SHC511A’とSHC511Aの両方が25の大きさであり、SHC511A’は、目立つオーディオ情報を指定しないSHC511A’の除去により、さらに減少されてよい。EncMat2は、方位角角度と仰角角度の各組合せに対して変化してもよいが、InvMat1は、方位角角度と仰角角度の各組合せに対して変化しないままであってよい。回転テーブルは、各異なるEncMat2をInvMat1に乗算した結果を記憶するためのエントリを含んでよい。
[0174]図12は、第1の基準フレームに従って捕捉され、次いで第2の基準フレームに対して音場を表すために本開示において説明される技法に従って回転される例示的な音場を示す図である。図12の例では、Eigenマイクロフォン646を取り囲む音場は、図12の例ではX1軸、Y1軸、およびZ1軸によって示される第1の基準フレームを仮定して捕捉される。SHC511Aは、この第1の基準フレームに対して、音場について説明する。InvMat1は、SHC511Aを変換して音場に戻し、音場を、図12の例ではX2軸、Y2軸、およびZ2軸によって示される第2の基準フレームに回転させることを可能にする。上記で説明されたEncMat2は、音場を回転させ、この回転された音場について第2の基準フレームに対して説明するSHC511A’を生成することができる。
[0175]いずれにしても、上記の式は、次のように導出され得る。音場は、正面がx軸の方向と見なされるように、特定の座標系を用いて記録されることを考えると、Eigenマイクロフォンの32のマイクロフォン位置(または他のマイクロフォン構成)は、この基準座標系から定義される。次いで、音場の回転は、この基準フレームの回転と見なされ得る。仮定される基準フレームに対して、SHC511Aは、次のように計算され得る。
[0176]上記の式では、
は、i番目のマイクロフォン(ここで、この例では、iは1〜32とすることができる)の位置(Posi)における球面基底関数を表す。miciベクトルは、時刻tに対するi番目のマイクロフォンのためのマイクロフォン信号を示す。位置(Posi)は、第1の基準フレーム(すなわち、この例では、回転の前の基準フレーム)におけるマイクロフォンの位置を指す。
[0177]上記の式は、代替的に、上記で示された数式に関して
と表され得る。
[0178]音場を(または第2の基準フレーム内で)回転させるために、位置(Posi)は第2の基準フレーム内で計算される。元のマイクロフォン信号が存在する限り、音場は、恣意的に回転されてよい。しかしながら、元のマイクロフォン信号(mici(t))は入手不可能なことが多い。その場合、問題は、マイクロフォン信号(mici(t))をSHC511Aからどのように取り出すかであることがある。(32マイクロフォンEigenマイクロフォンの場合のように)T字型設計が使用される場合、この問題の解決策は、以下の式を解くことによって達成され得る。
[0179]このInvMat1は、第1の基準フレームに対して指定されたマイクロフォンの位置に従って算出される球面調和基底関数を指定することができる。この式は、前述のように、[mici(t)]=[Es(θ,φ)]-1[SHC]として表されることもある。
[0180]マイクロフォン信号(mici(t))が、ひとたび上記の式によって取り出されると、音場について説明するマイクロフォン信号(mici(t))は、第2の基準フレームに対応するSHC511A’を算出するために回転され、以下の式になり得る。
[0181]EncMat2は、回転された位置(Posi’)から球面調和基底関数を指定する。このようにして、EncMat2は、方位角角度と仰角角度の組合せを効果的に指定することができる。したがって、回転テーブルが、方位角角度と仰角角度の各組合せに対する
の結果を記憶するとき、回転テーブルは、方位角角度と仰角角度の各組合せを効果的に指定する。上記の式は、
と表され得る。
[0182]ここで、θ2,φ2は、第2の方位角角度および第2の仰角角度異なる形態θ1,φ1によって表される第1の方位角角度および仰角角度を表す。θ1,φ1は第1の基準フレームに対応し、θ2,φ2は第2の基準フレームに対応する。したがって、InvMat1は[Es(θ1,φ1)]-1に対応することができ、EncMat2は[Es(θ2,φ2)]に対応することができる。
[0183]上記は、次数nの球ベッセル関数を指すjn(・)関数によって周波数領域におけるSHC511Aの導出を示す様々な式において上記で表されるフィルタリング演算を考慮しない算出のより簡略化されたバージョンを表すことができる。時間領域では、このjn(・)関数は、特定の次数nに固有のフィルタリング演算を表す。フィルタリングにより、回転は、次数ごとに実行され得る。例示するために、以下の式について考える。
[0184]これらの式から、bn(t)は各次数に対して異なるので、次数に対する回転されたSHC511A’は個別に行われる。その結果、上記の式は、回転されたSHC511A’の第1次サブセットを算出するために、次のように変更されてよい。
[0185]SHC511Aの3つの第1次サブセットが存在することを考えると、SHC511A’ベクトルおよびSHC511Aベクトルの各々は、上記の式では、大きさは3である。同様に、第2次の場合、以下の式が適用され得る。
[0186]この場合も、SHC511Aの5つの第2次サブセットが存在することを考えると、SHC511A’ベクトルおよびSHC511Aベクトルの各々は、上記の式では、大きさは5である。他の次数すなわち第3次および第4次に対する残りの式は、(EncMat2の行の数、InvMat1の列の数、ならびに第3次および第4次のSHC511AベクトルおよびSHC511A’ベクトルの大きさが第3次球面調和基底関数および第4次球面調和基底関数の各々の副次数の数(m×2+1)に等しいので)行列の大きさに関する同じパターンに従って、上記で説明された式と類似であってよい。
[0187]したがって、オーディオ符号化デバイス570は、いわゆる最適な回転を識別しようとして、方位角と仰角角度のあらゆる組合せに対して、この回転演算を実行することができる。オーディオ符号化デバイス570は、この回転演算を実行した後、閾値を上回るSHC511A’の数を算出することができる。いくつかの例では、オーディオ符号化デバイス570は、オーディオフレームなどの持続時間にわたって音場を表す一連のSHC511A’を導出するために、この回転を実行することができる。この持続時間にわたって音場を表す一連のSHC511A’を導出するためにこの回転を実行することによって、オーディオ符号化デバイス570は、フレームまたは他の長さよりも短い持続時間にわたって音場について説明するSHC511Aの各セットに対してこれを行うために比較すると、実行されなければならない回転演算の数を減少させることができる。いずれにしても、オーディオ符号化デバイス570は、このプロセス全体を通して、閾値よりも大きいSHC511A’の最小数を有するSHC511A’のビットを保存することができる。
[0188]しかしながら、方位角と仰角角度のあらゆる組合せに対してこの回転演算を実行することは、プロセッサの負荷が高かったり時間がかかったりすることがある。その結果、オーディオ符号化デバイス570は、回転アルゴリズムのこの「力づくの(brute force)」実装形態と特徴づけられるものを実行しないことがある。代わりに、オーディオ符号化デバイス570は、一般に良いコンパクションを提供する方位角角度と仰角角度のおそらく既知の(統計学的に)組合せのサブセットに対して回転を実行し、サブセット内の他の組合せと比較して良いコンパクションを提供するこのサブセットのそれらの近くの組合せに対してさらなる回転を実行することがある。
[0189]別の代替として、オーディオ符号化デバイス570は、組合せの既知のサブセットのみに対してこの回転を実行することがある。別の代替として、オーディオ符号化デバイス570は、組合せの軌道を(空間的に)たどり、この組合せの起動に対して回転を実行することがある。別の代替として、オーディオ符号化デバイス570は、閾値を上回る非ゼロ値を有するSHC511A’の最大数を定義するコンパクション閾値を指定することがある。このコンパクション閾値は、オーディオ符号化デバイス570が回転を実行し、設定された閾値を上回る値を有するSHC511A’の数がコンパクション閾値以下である(または、いくつかの例では、コンパクション閾値よりも少ない)と決定するとき、オーディオ符号化デバイス570は、残りの組合せに対して追加の回転演算を実行するのを止めるように、調査に対する停止点を効果的に設定することができる。さらに別の代替として、オーディオ符号化デバイス570は、組合せの階層的に配置されたツリー(または他のデータ構造)を通り、現在の組合せに対して回転演算を実行し、閾値よりも大きい非ゼロ値を有するSHC511A’の数に応じてツリーを右または左に(たとえば、バイナリツリーの場合)通ることがある。
[0190]この意味で、これらの代替の各々は、第1の回転演算と第2の回転演算とを実行することと、閾値よりも大きい非ゼロ値を有するSHC511A’の最小数という結果になる第1の回転演算と第2の回転演算のうち1つを特定するために第1の回転演算と第2の回転演算とを実行した結果を比較することとを含む。したがって、オーディオ符号化デバイス570は、第1の方位角角度および第1の仰角角度に従って音場を回転させ、音場について説明するのに関連する情報を提供する第1の方位角角度および第1の仰角角度に従って回転された音場を表す複数の階層的な要素の第1の数を決定するために、音場に対して第1の回転演算を実行することができる。オーディオ符号化デバイス570はまた、第2の方位角角度および第2の仰角角度に従って音場を回転させ、音場について説明するのに関連する情報を提供する第2の方位角角度および第2の仰角角度に従って回転された音場を表す複数の階層的な要素の第2の数を決定するために、音場に対して第2の回転演算を実行することができる。その上、オーディオ符号化デバイス570は、複数の階層的な要素の第1の数と複数の階層的な要素の第2の数の比較に基づいて、第1の回転演算または第2の回転演算を選択することができる。
[0191]いくつかの例では、回転アルゴリズムは持続時間に対して実行されることがあり、ここで、回転アルゴリズムのその後の呼出しは、回転アルゴリズムの過去の呼出しに基づいて回転演算を実行することができる。言い換えれば、回転アルゴリズムは、過去の持続時間にわたって音場を回転させたとき、決定された過去の回転情報に基づいて適応的であることがある。たとえば、オーディオ符号化デバイス570は、第1の持続時間たとえばオーディオフレームにわたってSHC511A’を識別するために、この第1の持続時間にわたって音場を回転させることができる。オーディオ符号化デバイス570は、上記で説明された方法のうちいずれかにおいて、ビットストリーム517内で回転情報とSHC511A’とを指定することができる。この回転情報は、第1の持続時間にわたって音場の回転について説明するので、第1の回転情報と呼ばれることがある。次いで、オーディオ符号化デバイス570は、第2の持続時間たとえば第2のオーディオフレームにわたってSHC511A’を識別するために、この第1の回転情報に基づいて、この第2の持続時間にわたって音場を回転させることができる。オーディオ符号化デバイス570は、一例として、方位角角度と仰角角度の「最適な」組合せに対して調査を初期化するために、第2の持続時間にわたって第2の回転演算を実行するとき、この第1の回転情報を利用することができる。次いで、オーディオ符号化デバイス570は、ビットストリーム517内で第2の持続時間(「第2の回転情報」と呼ばれることがある)に対するSHC511A’および対応する回転情報を指定することができる。
[0192]処理時間および/または消費を減少させるために回転アルゴリズムを実施するいくつかの異なる方法に関して上記で説明されているが、技法は、「最適な回転」と呼ばれ得るものの識別を減少または高速化し得る任意のアルゴリズムに対して実行され得る。その上、技法は、非最適な回転を識別するが、速度またはプロセッサもしくは他のリソースの利用に関して測定されることが多い、他の態様では実行を改善し得る任意のアルゴリズムに対して実行され得る。
[0193]図13A〜図13Eは各々、本開示で説明される技法に従って形成されるビットストリーム517A〜517Eを示す図である。図13Aの例では、ビットストリーム517Aは、上記で図9に示されたビットストリーム517の一例を表すことができる。ビットストリーム517Aは、SHC存在フィールド670と、SHC511A’を格納するフィールド(このフィールドは「SHC511A’」と示される)とを含む。SHC存在フィールド670は、SHC511Aの各々に対応するビットを含むことができる。SHC511A’は、SHC511Aの数よりも数が少ないことがある、ビットストリーム内で指定されるSHC511AのSHC511A’を表すことができる。一般に、SHC511A’の各々は、非ゼロ値を有するSHC511AのSHC511A’である。前述のように、任意の所与の音場の第4次表現の場合、(1+4)2すなわち25のSHCが必要とされる。これらのSHCのうち1つまたは複数を消去し、これらのゼロ値が付けられたSHCを単一ビットで置き換えることによって31ビットを節約することができ、この31ビットは、音場の他の部分を表すためにより詳細に割り振られてもよいし、効率的な帯域幅利用を容易にするために除去されてもよい。
[0194]図13Bの例では、ビットストリーム517Bは、上記で図9に示されたビットストリーム517の一例を表すことができる。ビットストリーム517Bは、変換情報フィールド672(「変換情報672」)と、SHC511A’を格納するフィールド(このフィールドは「SHC511A’」と示される)とを含む。変換情報672は、前述のように、平行移動情報、回転情報、および/または音場への調整を示す任意の他の形態の情報を備えることができる。いくつかの例では、変換情報672はまた、ビットストリーム517B内でSHC511A’と指定されるSHC511Aの最高次を指定することができる。すなわち、変換情報672は3の次数を示すことができ、抽出デバイスはこれを、SHC511A’がSHC511AのSHC511A’までを含むことを示し、3の次数を有するSHC511AのSHC511A’を含むと理解することができる。次いで、抽出デバイスは、4以上の次数を有するSHC511Aをゼロに設定し、それによって、ビットストリーム内の4以上の次数のSHC511Aの明示的な信号伝達を潜在的に除去するように構成され得る。
[0195]図13Cの例では、ビットストリーム517Cは、上記で図9に示されたビットストリーム517の一例を表すことができる。ビットストリーム517Cは、変換情報フィールド672(「変換情報672」)と、SHC存在フィールド670と、SHC511A’を格納するフィールド(このフィールドは「SHC511A’」と示される)とを含む。上記で図13Bに関して説明されたようにSHC511Aのどの次数が知らされないかを理解するように構成されるのではなく、SHC存在フィールド670は、SHC511Aのうちどれがビットストリーム517C内でSHC511A’と指定されるかを明示的に知らせることができる。
[0196]図13Dの例では、ビットストリーム517Dは、上記で図9に示されたビットストリーム517の一例を表すことができる。ビットストリーム517Dは、次数フィールド674(「次数60」)と、SHC存在フィールド670と、方位角フラグ676(「AZF676」)と、仰角フラグ678(「ELF678」)と、方位角角度フィールド680(「方位角680」)と、仰角角度フィールド682(「仰角682」)と、SHC511A’を格納するフィールド(この場合も、このフィールドは「SHC511A’」と示される)とを含む。次数フィールド674は、SHC511A’の次数、すなわち、音場を表すために使用される球面基底関数の最高次数に対して上記のnによって示される次数を指定する。次数フィールド674は、8ビットフィールドであると示されているが、3(第4次を指定するために必要とされるビットの数である)などの他の様々なビットサイズであってよい。SHC存在フィールド670は、25ビットフィールドと示されている。この場合も、しかしながら、SHC存在フィールド670は、他の様々なビットサイズであってよい。SHC存在フィールド670は、SHC存在フィールド670が音場の第4次表現に対応する球面調和係数の各々のための1ビットを含み得ることを示すために、25ビットと示される。
[0197]方位角フラグ676は、方位角フィールド680がビットストリーム517D内に存在するかどうか指定する1ビットフラグを表す。方位角フラグ676が1に設定されるとき、SHC511A’のための方位角フィールド680がビットストリーム517D内に存在する。方位角フラグ676がゼロに設定されるとき、SHC511A’のための方位角フィールド680は、ビットストリーム517D内に存在しないかまたは指定されない。同様に、仰角フラグ678は、仰角フィールド682がビットストリーム517D内に存在するかどうか指定する1ビットフラグを表す。仰角フラグ678が1に設定されるとき、SHC511A’のための仰角フィールド682がビットストリーム517D内に存在する。仰角フラグ678がゼロに設定されるとき、SHC511A’のための仰角フィールド682は、ビットストリーム517D内に存在しないかまたは指定されない。1は、対応するフィールドが存在することを知らせ、ゼロは、対応するフィールドが存在しないことを知らせると説明されているが、この規則は、ゼロは、対応するフィールドがビットストリーム517D内で指定されていることを指定し、1は、対応するフィールドがビットストリーム517D内で指定されていないことを指定するように、逆にされてよい。したがって、本開示で説明される技法は、この点について限定されるべきではない。
[0198]方位角フィールド680は、ビットストリーム517D内に存在するとき方位角角度を指定する10ビットフィールドを表す。10ビットフィールドとして示されているが、方位角フィールド680は他のビットサイズであってもよい。仰角フィールド682は、ビットストリーム517D内に存在するとき仰角角度を指定する9ビットフィールドを表す。フィールド680および682で指定される方位角角度および仰角角度はそれぞれ、上記で説明された回転情報を表すフラグ676および678と連動してよい。この回転情報は、元の基準フレームにおけるSHC511Aを回復するように音場を回転させるために使用され得る。
[0199]SHC511A’フィールドは、大きさXである可変フィールドとして示されている。SHC511A’フィールドは、SHC存在フィールド670によって示されるビットストリーム内で指定されるSHC511A’の数により変化してよい。大きさXは、SHC存在フィールド670内のSHC511A’の数×32ビット(各SHC27’の大きさである)の関数として導出され得る。
[0200]図13Eの例では、ビットストリーム517Eは、上記で図9に示されたビットストリーム517の別の例を表すことができる。ビットストリーム517Eは、次数フィールド674(「次数60」)と、SHC存在フィールド670と、回転インデックスフィールド684と、SHC511A’を格納するフィールド(このフィールドは「SHC511A’」と示される)とを含む。次数フィールド674、SHC存在フィールド670、およびSHC511A’フィールドは、上記で説明されたフィールドに実質的に類似してよい。回転インデックスフィールド684は、仰角角度と方位角角度の1024×512(すなわち、言い換えれば、524288)の組合せのうち1つを指定するために使用される20ビットフィールドを表すことができる。いくつかの例では、この回転インデックスフィールド684を指定するために19ビットのみが使用されることがあり、オーディオ符号化デバイス570は、回転演算が行われたかどうか(および、したがって、回転インデックスフィールド684がビットストリーム内に存在するかどうか)示すために、ビットストリーム内で追加フラグを指定することがある。この回転インデックスフィールド684は、上記で述べられた回転インデックスを指定し、回転インデックスは、オーディオ符号化デバイス570とビットストリーム抽出デバイスの両方に共通する回転テーブル内のエントリを指すことができる。この回転テーブルは、いくつかの例では、方位角と仰角角度の異なる組合せを格納することがある。代替的に、回転テーブルは、上記で説明された行列を格納することがあり、この行列は、方位角と仰角角度の異なる組合せを行列形態で効果的に格納する。
[0201]図14は、本開示において説明される技法の回転態様を実施する際の図9の例に示されるオーディオ符号化デバイス570の例示的な動作を示す流れ図である。最初に、オーディオ符号化デバイス570は、上記で説明された様々な回転アルゴリズムのうち1つまたは複数に従って方位角角度と仰角角度の組合せを選択することができる(800)。次いで、オーディオ符号化デバイス570は、選択された方位角および仰角角度によって音場を回転させることができる(802)。上記で説明されたように、オーディオ符号化デバイス570は、上記で述べられたInvMat1を使用してSHC511Aから音場を最初に導出することができる。オーディオ符号化デバイス570はまた、回転された音場を表すSHC511A’を決定することができる(804)。別個のステップまたは動作であると説明されているが、オーディオ符号化デバイス570は、方位角角度と仰角角度の組合せの選択を表す変換([EncMat2][InvMat1]の結果を表すことができる)を適用し、SHC511Aから音場を導出し、音場を回転させ、回転された音場を表すSHC511A’を決定することができる。
[0202]いずれにしても、オーディオ符号化デバイス570は、次いで、閾値よりも大きいいくつかの決定されたSHC511A’を算出し、この数を、前の方位角角度と仰角角度の組合せに対する前の反復のために算出された数と比較することができる(806、808)。第1の方位角角度と仰角角度の組合せに対する第1の反復では、この比較は、あらかじめ定義された前の数(ゼロに設定され得る)に対するものとすることができる。いずれにしても、SHC511A’の決定された数が前の数よりも小さい場合(「はい」808)、オーディオ符号化デバイス570は、SHC511A’と、方位角角度と、仰角角度とを格納し、多くの場合、回転アルゴリズムの前の反復から格納された、前のSHC511A’、方位角角度、および仰角角度を置き換える(810)。
[0203]SHC511A’の決定された数が前の数よりも小さくない場合(「いいえ」808)、または以前に格納されたSHC511A’、方位角角度、および仰角角度の代わりにSHC511A’と、方位角角度と、仰角角度とを格納した後、オーディオ符号化デバイス570は、回転アルゴリズムが終了したかどうか決定することができる(812)。すなわち、オーディオ符号化デバイス570は、一例として、方位角角度と仰角角度のすべての利用可能な組合せが評価されたかどうか決定することができる。他の例では、オーディオ符号化デバイス570は、オーディオ符号化デバイス570が回転アルゴリズムを実行することを終了するように、他の基準が満たされたかどうか(組合せの定義されたサブセットのすべてが実行された、所与の軌道が通られたかどうか、階層ツリーがリーフノードまで通られたかどうかなど)決定することができる。終了されていない場合(「いいえ」812)、オーディオ符号化デバイス570は、別の選択された組合せに対して上記のプロセスを実行することができる(800〜812)。終了した場合(「はい」812)、オーディオ符号化デバイス570は、上記で説明された様々な方法のうち1つで、格納されたSHC511A’と、方位角角度と、仰角角度とをビットストリーム517内で指定することができる(94)。
[0204]図15は、本開示において説明される技法の変換態様を実行する際の図9の例に示されるオーディオ符号化デバイス570の例示的な動作を示す流れ図である。最初に、オーディオ符号化デバイス570は、線形可逆変換を表す行列を選択することができる(820)。線形可逆変換を表す行列の一例は、[EncMat2][IncMat1]の結果である、上記で示された行列とすることができる。次いで、オーディオ符号化デバイス570は、音場を変換するために、この行列を音場に適用することができる(822)。オーディオ符号化デバイス570はまた、回転された音場を表すSHC511A’を決定することができる(824)。別個のステップまたは動作であると説明されているが、オーディオ符号化デバイス570は、方位角角度と仰角角度の組合せの選択を表す変換([EncMat2][InvMat1]の結果を表すことができる)を適用し、SHC511Aから音場を導出し、音場を変換し、変換された音場を表すSHC511A’を決定することができる。
[0205]いずれにしても、オーディオ符号化デバイス570は、次いで、閾値よりも大きいいくつかの決定されたSHC511A’を算出し、この数を、変換された行列の前の適用に対する前の反復のために算出された数と比較することができる(826、828)。SHC511A’の決定された数が前の数よりも小さい場合(「はい」828)、オーディオ符号化デバイス570は、SHC511A’と、行列(または、行列に関連付けられたインデックスなどの、その何らかの微分)とを格納し、多くの場合、回転アルゴリズムの前の反復から格納された、前のSHC511A’と行列(またはその微分)とを置き換える(830)。
[0206]SHC511A’の決定された数が前の数よりも小さくない場合(「いいえ」828)、または以前に格納されたSHC511A’および行列の代わりにSHC511A’と、行列とを格納した後、オーディオ符号化デバイス570は、変換アルゴリズムが終了したかどうか決定することができる(832)。すなわち、オーディオ符号化デバイス570は、一例として、すべての利用可能な変換行列が評価されたかどうか決定することができる。他の例では、オーディオ符号化デバイス570は、オーディオ符号化デバイス570が変換アルゴリズムを実行することを終了するように、他の基準が満たされたかどうか(利用可能な変換行列の定義されたサブセットのすべてが実行された、所与の軌道が通られたかどうか、階層ツリーがリーフノードまで通られたかどうかなど)決定することができる。終了されていない場合(「いいえ」832)、オーディオ符号化デバイス570は、別の選択された変換行列に対して上記のプロセスを実行することができる(820〜832)。終了した場合(「はい」832)、オーディオ符号化デバイス570は、上記で説明された様々な方法のうち1つで、格納された511A’と行列とをビットストリーム517内で指定することができ得る(834)。
[0207]いくつかの例では、変換アルゴリズムは、単一の反復を実行し、単一の変換行列を評価することができる。すなわち、変換行列は、線形可逆変換を表す任意の行列を備えることができる。いくつかの例では、線形可逆変換は、音場を空間領域から周波数領域に変換することができる。そのような線形可逆変換の例としては、離散フーリエ変換(DFT)があり得る。DFTの適用は、単一の適用のみを伴うことがあり、したがって、変換アルゴリズムが終了されたかどうかを決定するステップを必ずしも含まない。したがって、技法は、図15の例に限定されるべきではない。
[0208]言い換えれば、線形可逆変換の一例は離散フーリエ変換(DFT)である。25のSHC511A’は、25の複素係数のセットを形成するために、DFTによって影響を及ぼされ得る。オーディオ符号化デバイス570はまた、DFTのビンサイズの分解能を潜在的に増加させ、たとえば高速フーリエ変換(FFT)を適用することによってDFTのより効率的な実装形態を潜在的に有するように、2の倍数である整数になるように25のSHC511A’をゼロパッド(zero-pad)することができる。いくつかの例では、DFTの分解能を25の点以上に増加させることは、必ずしも必要とされない。変換領域では、オーディオ符号化デバイス570は、特定のビンにスペクトルエネルギーが存在するかどうか決定するために、閾値を適用することができる。オーディオ符号化デバイス570は、この文脈では、次いで、この閾値を下回るスペクトル係数エネルギーを破棄またはゼロ設定することができ、オーディオ符号化デバイス570は、破棄されたまたはゼロ設定されたSHC511A’のうち1つまたは複数を有するSHC511A’を回復するために逆変換を適用することができる。すなわち、破棄が適用された後、閾値を下回る係数は存在せず、その結果、より少ないビットが、音場を符号化するために使用され得る。
[0209]例に応じて、本明細書で説明された方法のいずれかのある行為またはイベントは、異なる順序で実行可能であり、追加されてもよいし、マージされてもよいし、全体的に除外されてもよい(たとえば、すべての説明された行為またはイベントが方法の実施に必要とは限らない)ことを理解されたい。その上、ある例では、行為またはイベントは、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサによって、順次ではなく、同時に実行されることがある。さらに、本開示のある態様は、わかりやすいように、単一のデバイス、モジュール、またはユニットによって実行されると説明されているが、本開示の技法は、デバイス、ユニット、またはモジュールの組合せによって実行されてよいことを理解されたい。
[0210]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施されてよい。ソフトウェアで実施される場合、これらの機能は、コンピュータ可読媒体上に1つまたは複数の命令またはコードとして記憶または送信され、ハードウェアベースの処理ユニットによって実行されてもよい。コンピュータ可読媒体としては、データ記憶媒体などの有形媒体に相当するコンピュータ可読記憶媒体、またはたとえば通信プロトコルによる1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体があり得る。
[0211]このようにして、コンピュータ可読媒体は、一般に、(1)非一時的な有形のコンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明される技法の実装形態のための命令、コード、および/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセス可能な任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
[0212]限定ではなく、例とし、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態をした所望のプログラムコードを記憶するために使用可能でコンピュータによってアクセス可能な任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
[0213]しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(compact disc)(CD)、レーザーディスク(登録商標)(laser disc)、光ディスク(optical disc)、デジタル多用途ディスク(digital versatile disc)(DVD)、フロッピー(登録商標)ディスク(floppy disk)、およびBlu-ray(登録商標)ディスクを含み、ここでディスク(disk)は通常、磁気的にデータを再生するが、ディスク(disc)はレーザを用いて光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含められるべきである。
[0214]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造または本明細書で説明される技法の実装形態に適した任意の他の構造のうちいずれも指してもよい。さらに、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に設けられてもよいし、複合コーデックに組み込まれてもよい。また、技法は、1つまたは複数の回路または論理素子内で完全に実施されてよい。
[0215]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む多種多様なデバイスまたは装置において実施されてよい。様々な構成要素、モジュール、またはユニットが、開示された技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記の1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0216]上記に加えて、または上記の代替として、次の例が説明される。次の例のうちいずれかにおいて説明される特徴は、本明細書で説明される他の例のうちいずれかで利用され得る。
[0217]一例は、変換情報を取得することと、この変換情報は、音場がどのように変換されたかについて説明する、決定された変換情報に基づいて、減少された数の複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行することとを備えるバイノーラルオーディオレンダリングの方法を対象とする。
[0218]いくつかの例では、バイノーラルオーディオレンダリングを実行することは、決定された変換情報に基づいて、減少された複数の階層的な要素をレンダリングする基準フレームを複数のチャンネルに変換することを備える。
[0219]いくつかの例では、変換情報は、音場が回転された仰角角度と方位角角度とを少なくとも指定する回転情報を備える。
[0220]いくつかの例では、変換情報は、1つまたは複数の角度を指定する回転情報を備え、その各々は、音場が回転された、x軸およびy軸、x軸およびz軸、またはy軸およびz軸に対して指定される、またバイノーラルオーディオレンダリングを実行することは、決定された回転情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを回転させることを備える。
[0221]いくつかの例では、バイノーラルオーディオレンダリングを実行することは、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換することと、変換されたレンダリング関数に対してエネルギー保存関数を適用することとを備える。
[0222]いくつかの例では、バイノーラルオーディオレンダリングを実行することは、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換することと、乗算演算を使用して、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合することとを備える。
[0223]いくつかの例では、バイノーラルオーディオレンダリングを実行することは、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換することと、畳み込み演算を必要とすることなく、乗算演算を使用して、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合することとを備える。
[0224]いくつかの例では、バイノーラルオーディオレンダリングを実行することは、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換することと、回転されたバイノーラルオーディオレンダリング関数を生成するために、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合することと、左チャンネルと右チャンネルとを生成するために、回転されたバイノーラルオーディオレンダリング関数を減少された複数の階層的な要素に適用することとを備える。
[0225]いくつかの例では、複数の階層的な要素は複数の球面調和係数を備え、複数の球面調和係数のうち少なくとも1つは、1よりも大きい次数と関連付けられる。
[0226]いくつかの例では、方法はまた、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出すことと、このビットストリームからの符号化されたオーディオデータを解析することと、減少された複数の球面調和係数を生成するために、解析された符号化されたオーディオデータを復号することとを備え、変換情報を決定することは、ビットストリームからの変換情報を解析することを備える。
[0227]いくつかの例では、方法はまた、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出すことと、このビットストリームからの符号化されたオーディオデータを解析することと、減少された複数の球面調和係数を生成するために、advanced audio coding(AAC)方式に従って、解析された符号化されたオーディオデータを復号することとを備え、変換情報を決定することは、ビットストリームからの変換情報を解析することを備える。
[0228]いくつかの例では、方法はまた、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出すことと、このビットストリームからの符号化されたオーディオデータを解析することと、減少された複数の球面調和係数を生成するために、unified speech and audio coding(USAC)方式に従って、解析された符号化されたオーディオデータを復号することとを備え、変換情報を決定することは、ビットストリームからの変換情報を解析することを備える。
[0229]いくつかの例では、方法はまた、複数の球面調和係数によって表される音場に対する聴取者の頭部の位置を決定することと、決定された変換情報および決定された聴取者の頭部の位置に基づいて、更新された変換情報を決定することとを備え、バイノーラルオーディオレンダリングを実行することは、更新された変換情報に基づいて、減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行することを備える。
[0230]一例は、変換情報を決定し、この変換情報は、音場を説明するのに関連する情報を提供する複数の階層的な要素の数を減少させるために音場がどのように変換されたかについて説明する、この決定された変換情報に基づいて、減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行するように構成された1つまたは複数のプロセッサを備えるデバイスを対象とする。
[0231]いくつかの例では、1つまたは複数のプロセッサは、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報に基づいて、減少された複数の階層的な要素をレンダリングする基準フレームを複数のチャンネルに変換するようにさらに構成される。
[0232]いくつかの例では、決定された変換情報は、音場が回転された仰角角度と方位角角度とを少なくとも指定する回転情報を備える。
[0233]いくつかの例では、変換情報は、1つまたは複数の角度を指定する回転情報を備え、その各々は、音場が回転された、x軸およびy軸、x軸およびz軸、またはy軸およびz軸に対して指定され、1つまたは複数のプロセッサは、バイノーラルオーディオレンダリングを実行するとき、決定された回転情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを回転させるようにさらに構成される。
[0234]いくつかの例では、1つまたは複数のプロセッサは、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換し、変換されたレンダリング関数に対してエネルギー保存関数を適用するようにさらに構成される。
[0235]いくつかの例では、1つまたは複数のプロセッサは、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換し、乗算演算を使用して、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するようにさらに構成される。
[0236]いくつかの例では、1つまたは複数のプロセッサは、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換し、畳み込み演算を必要とすることなく、乗算演算を使用して、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するようにさらに構成される。
[0237]いくつかの例では、1つまたは複数のプロセッサは、バイノーラルオーディオレンダリングを実行するとき、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換し、回転されたバイノーラルオーディオレンダリング関数を生成するために、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合し、左チャンネルと右チャンネルとを生成するために、回転されたバイノーラルオーディオレンダリング関数を減少された複数の階層的な要素に適用するようにさらに構成される。
[0238]いくつかの例では、複数の階層的な要素は複数の球面調和係数を備え、これらの複数の球面調和係数のうち少なくとも1つは、1よりも大きい次数と関連付けられる。
[0239]いくつかの例では、1つまたは複数のプロセッサは、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出し、このビットストリームからの符号化されたオーディオデータを解析し、減少された複数の球面調和係数を生成するために、解析された符号化されたオーディオデータを復号するようにさらに構成され、1つまたは複数のプロセッサは、変換情報を決定するとき、ビットストリームからの変換情報を解析するようにさらに構成される。
[0240]いくつかの例では、1つまたは複数のプロセッサは、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出し、このビットストリームからの符号化されたオーディオデータを解析し、減少された複数の球面調和係数を生成するために、advanced audio coding(AAC)方式に従って、解析された符号化されたオーディオデータを復号するようにさらに構成され、1つまたは複数のプロセッサは、変換情報を決定するとき、ビットストリームからの変換情報を解析するようにさらに構成される。
[0241]いくつかの例では、1つまたは複数のプロセッサは、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出し、このビットストリームからの符号化されたオーディオデータを解析し、減少された複数の球面調和係数を生成するために、unified speech and audio coding(USAC)方式に従って、解析された符号化されたオーディオデータを復号するようにさらに構成され、1つまたは複数のプロセッサは、変換情報を決定するとき、ビットストリームからの変換情報を解析するようにさらに構成される。
[0242]いくつかの例では、1つまたは複数のプロセッサは、複数の球面調和係数によって表される音場に対する聴取者の頭部の位置を決定し、決定された変換情報および決定された聴取者の頭部の位置に基づいて、更新された変換情報を決定するようにさらに構成され、1つまたは複数のプロセッサは、前記バイノーラルオーディオレンダリングを実行するとき、更新された変換情報に基づいて、減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行するようにさらに構成される、
[0243]一例は、変換情報を決定するための手段と、この変換情報は、音場を説明するのに関連する情報を提供する複数の階層的な要素の数を減少させるために音場がどのように変換されたかについて説明する、決定された変換情報に基づいて、減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行するための手段とを備えるデバイスを対象とする。
[0244]いくつかの例では、バイノーラルオーディオレンダリングを実行するための手段は、決定された変換情報に基づいて、減少された複数の階層的な要素をレンダリングする基準フレームを複数のチャンネルに変換するための手段を備える。
[0245]いくつかの例では、変換情報は、音場が回転された仰角角度と方位角角度とを少なくとも指定する回転情報を備える。
[0246]いくつかの例では、変換情報は、1つまたは複数の角度を指定する回転情報を備え、その各々は、音場が回転された、x軸およびy軸、x軸およびz軸、またはy軸およびz軸に対して指定される、バイノーラルオーディオレンダリングを実行するための手段は、決定された回転情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを回転させるための手段を備える。
[0247]いくつかの例では、バイノーラルオーディオレンダリングを実行するための手段は、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換するための手段と、変換されたレンダリング関数に対してエネルギー保存関数を適用するための手段とを備える。
[0248]いくつかの例では、バイノーラルオーディオレンダリングを実行するための手段は、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換するための手段と、乗算演算を使用して、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するための手段とを備える。
[0249]いくつかの例では、バイノーラルオーディオレンダリングを実行するための手段は、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換するための手段と、畳み込み演算を必要とすることなく、乗算演算を使用して、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するための手段とを備える。
[0250]いくつかの例では、バイノーラルオーディオレンダリングを実行するための手段は、決定された変換情報に基づいて、レンダリング関数が減少された複数の階層的な要素をレンダリング可能である基準フレームを変換するための手段と、回転されたバイノーラルオーディオレンダリング関数を生成するために、変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するための手段と、左チャンネルと右チャンネルとを生成するために、回転されたバイノーラルオーディオレンダリング関数を減少された複数の階層的な要素に適用するための手段とを備える。
[0251]いくつかの例では、複数の階層的な要素は複数の球面調和係数を備え、これらの複数の球面調和係数のうち少なくとも1つは、1よりも大きい次数と関連付けられる。
[0252]いくつかの例では、デバイスは、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出すための手段と、このビットストリームからの符号化されたオーディオデータを解析するための手段と、減少された複数の球面調和係数を生成するために、解析された符号化されたオーディオデータを復号するための手段とをさらに備え、変換情報を決定するための手段は、ビットストリームからの変換情報を解析するための手段を備える。
[0253]いくつかの例では、デバイスは、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出すための手段と、このビットストリームからの符号化されたオーディオデータを解析するための手段と、減少された複数の球面調和係数を生成するために、advanced audio coding(AAC)方式に従って、解析された符号化されたオーディオデータを復号するための手段とをさらに備え、変換情報を決定するための手段は、ビットストリームからの変換情報を解析するための手段を備える。
[0254]いくつかの例では、デバイスは、符号化されたオーディオデータと変換情報とを含むビットストリームを取り出すための手段と、このビットストリームからの符号化されたオーディオデータを解析するための手段と、減少された複数の球面調和係数を生成するために、unified speech and audio coding(USAC)方式に従って、解析された符号化されたオーディオデータを復号するための手段とをさらに備え、変換情報を決定するための手段は、ビットストリームからの変換情報を解析するための手段を備える。
[0255]いくつかの例では、デバイスは、複数の球面調和係数によって表される音場に対する聴取者の頭部の位置を決定するための手段と、決定された変換情報および決定された聴取者の頭部の位置に基づいて、更新された変換情報を決定するための手段とをさらに備え、バイノーラルオーディオレンダリングを実行するための手段は、更新された変換情報に基づいて、減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行するための手段を備える。
[0256]一例は、実行されると、1つまたは複数のプロセッサに、変換情報を決定させ、この変換情報は、音場を説明するのに関連する情報を提供する複数の階層的な要素の数を減少させるために音場がどのように変換されたかについて説明する、決定された変換情報に基づいて、減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行させる命令をその上に記憶させた、非一時的コンピュータ可読記憶媒体を対象とする。
[0257]その上、上記で説明された例のうちいずれかに記載された具体的な特徴のうちいずれも、説明された技法の有益な実施形態に統合されてよい。すなわち、具体的な特徴のうちいずれも、技法のすべての例に適用可能である。
[0258]本技法の様々な実施形態が説明されてきた。これらおよび他の実施形態は、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
バイノーラルオーディオレンダリングの方法であって、
変換情報を取得することと、前記変換情報は、複数の階層的な要素の数を減少された複数の階層的な要素に減少させるために音場がどのように変換されたかについて説明する、
前記変換情報に基づいて、前記減少された複数の階層的な要素に対して前記バイノーラルオーディオレンダリングを実行することと
を備える、バイノーラルオーディオレンダリングの方法。
[C2]
前記バイノーラルオーディオレンダリングを実行することは、前記変換情報に基づいて、前記減少された複数の階層的な要素をレンダリングする基準フレームを複数のチャンネルに変換することを備える、C1に記載の方法。
[C3]
前記変換情報は、前記音場が変換された仰角角度と方位角角度とを少なくとも指定する回転情報を備える、C1に記載の方法。
[C4]
前記バイノーラルオーディオレンダリングを実行することは、
前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換することと、
前記変換されたレンダリング関数に対してエネルギー保存関数を適用することと
を備える、C1に記載の方法。
[C5]
前記バイノーラルオーディオレンダリングを実行することは、
前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換することと、
乗算演算を使用して、前記変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合することと
を備える、C1に記載の方法。
[C6]
前記バイノーラルオーディオレンダリングを実行することは、
前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換することと、
畳み込み演算を必要とすることなく、乗算演算を使用して、前記変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合することと
を備える、C1に記載の方法。
[C7]
前記バイノーラルオーディオレンダリングを実行することは、
前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換することと、
回転されたバイノーラルオーディオレンダリング関数を生成するために、前記変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合することと、
左チャンネルと右チャンネルとを生成するために、前記回転されたバイノーラルオーディオレンダリング関数を前記減少された複数の階層的な要素に適用することと
を備える、C1に記載の方法。
[C8]
前記複数の階層的な要素は複数の球面調和係数を備え、前記複数の球面調和係数のうち少なくとも1つは、1よりも大きい次数と関連付けられる、C1に記載の方法。
[C9]
符号化されたオーディオデータと前記変換情報とを含むビットストリームを取得することと、
解析された符号化されたオーディオデータを取得するために、前記ビットストリームからの前記符号化されたオーディオデータを解析することと、
前記減少された複数の球面調和係数を取得するために、前記解析された符号化されたオーディオデータを復号することと
をさらに備え、
ここにおいて、前記変換情報を取得することは、前記ビットストリームからの前記変換情報を解析することを備える、C1に記載の方法。
[C10]
複数の球面調和係数によって表される前記音場に対する聴取者の頭部の位置を取得することと、
前記変換情報および前記聴取者の前記頭部の前記位置に基づいて、更新された変換情報を決定することと
をさらに備え、
ここにおいて、前記バイノーラルオーディオレンダリングを実行することは、前記更新された変換情報に基づいて、前記減少された複数の階層的な要素に対して前記バイノーラルオーディオレンダリングを実行することを備える、C1に記載の方法。
[C11]
1つまたは複数のプロセッサは、
変換情報を取得し、前記変換情報は、複数の階層的な要素の数を減少された複数の階層的な要素に減少させるために音場がどのように変換されたかについて説明する、
前記変換情報に基づいて、前記減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行する
ように構成される、前記1つまたは複数のプロセッサを備えるデバイス。
[C12]
前記バイノーラルオーディオレンダリングを実行するために、前記1つまたは複数のプロセッサは、前記変換情報に基づいて、前記減少された複数の階層的な要素をレンダリングする基準フレームを複数のチャンネルに変換するようにさらに構成される、C11に記載のデバイス。
[C13]
前記変換情報は、前記音場が変換された仰角角度と方位角角度とを少なくとも指定する回転情報を備える、C11に記載のデバイス。
[C14]
前記バイノーラルオーディオレンダリングを実行するために、前記1つまたは複数のプロセッサは、前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換し、前記変換されたレンダリング関数に対してエネルギー保存関数を適用するようにさらに構成される、C11に記載のデバイス。
[C15]
前記バイノーラルオーディオレンダリングを実行するために、前記1つまたは複数のプロセッサは、前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換し、乗算演算を使用して、前記変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するようにさらに構成される、C11に記載のデバイス。
[C16]
前記バイノーラルオーディオレンダリングを実行するために、前記1つまたは複数のプロセッサは、前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換し、畳み込み演算を必要とすることなく、乗算演算を使用して、前記変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するようにさらに構成される、C11に記載のデバイス。
[C17]
前記バイノーラルオーディオレンダリングを実行するために、前記1つまたは複数のプロセッサは、前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換し、回転されたバイノーラルオーディオレンダリング関数を生成するために、前記変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合し、左チャンネルと右チャンネルとを生成するために、前記回転されたバイノーラルオーディオレンダリング関数を前記減少された複数の階層的な要素に適用するようにさらに構成される、C11に記載のデバイス。
[C18]
前記複数の階層的な要素は複数の球面調和係数を備え、前記複数の球面調和係数のうち少なくとも1つは、1よりも大きい次数と関連付けられる、C11に記載のデバイス。
[C19]
前記1つまたは複数のプロセッサは、
符号化されたオーディオデータと前記変換情報とを含むビットストリームを取得し、
前記ビットストリームからの前記符号化されたオーディオデータを解析し、
前記減少された複数の球面調和係数を生成するために、前記解析された符号化されたオーディオデータを復号する
ようにさらに構成され、
ここにおいて、前記変換情報を取得するために、前記1つまたは複数のプロセッサは、前記ビットストリームからの前記変換情報を解析するようにさらに構成される、C11に記載のデバイス。
[C20]
前記1つまたは複数のプロセッサは、
減少された複数の階層的な要素に対して、前記複数の球面調和係数によって表される前記音場に対する聴取者の頭部の位置を取得し、
前記変換情報および前記聴取者の前記頭部の前記位置に基づいて、更新された変換情報を決定する
ようにさらに構成され、
ここにおいて、前記バイノーラルオーディオレンダリングを実行するために、前記1つまたは複数のプロセッサは、前記更新された変換情報に基づいて、前記減少された複数の階層的な要素に対して前記バイノーラルオーディオレンダリングを実行するようにさらに構成される、C11に記載のデバイス。
[C21]
変換情報を取得するための手段と、前記変換情報は、複数の階層的な要素の数を減少された複数の階層的な要素に減少させるために音場がどのように変換されたかについて説明する、
前記変換情報に基づいて、前記減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行するための手段と
を備える装置。
[C22]
前記バイノーラルオーディオレンダリングを実行するための前記手段は、前記変換情報に基づいて、前記減少された複数の階層的な要素をレンダリングする基準フレームを複数のチャンネルに変換するための手段を備える、C21に記載の装置。
[C23]
前記変換情報は、前記音場が変換された仰角角度と方位角角度とを少なくとも指定する回転情報を備える、C21に記載の装置。
[C24]
前記バイノーラルオーディオレンダリングを実行するための前記手段は、
前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換するための手段と、
前記変換されたレンダリング関数に対してエネルギー保存関数を適用するための手段と
を備える、C21に記載の装置。
[C25]
前記バイノーラルオーディオレンダリングを実行するための前記手段は、
前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換するための手段と、
畳み込み演算を必要とすることなく、乗算演算を使用して、前記変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するための手段と
を備える、C21に記載の装置。
[C26]
前記バイノーラルオーディオレンダリングを実行するための前記手段は、
前記変換情報に基づいて、レンダリング関数が前記減少された複数の階層的な要素をレンダリング可能である基準フレームを変換するための手段と、
回転されたバイノーラルオーディオレンダリング関数を生成するために、前記変換されたレンダリング関数を複素数両耳室内インパルス応答関数と結合するための手段と、
左チャンネルと右チャンネルとを生成するために、前記回転されたバイノーラルオーディオレンダリング関数を前記減少された複数の階層的な要素に適用するための手段と
を備える、C21に記載の装置。
[C27]
前記複数の階層的な要素は複数の球面調和係数を備え、前記複数の球面調和係数のうち少なくとも1つは、1よりも大きい次数と関連付けられる、C21に記載の装置。
[C28]
符号化されたオーディオデータと前記変換情報とを含むビットストリームを取得するための手段と、
解析された符号化されたオーディオデータを取得するために、前記ビットストリームからの前記符号化されたオーディオデータを解析するための手段と、
前記減少された複数の球面調和係数を取得するために、前記解析された符号化されたオーディオデータを復号するための手段と
をさらに備え、
ここにおいて、前記変換情報を取得するための前記手段は、前記ビットストリームからの前記変換情報を解析するための手段を備える、C21に記載の装置。
[C29]
複数の球面調和係数によって表される前記音場に対する聴取者の頭部の位置を取得するための手段と、
前記変換情報および前記聴取者の前記頭部の前記位置に基づいて、更新された変換情報を決定するための手段と
をさらに備え、
ここにおいて、前記バイノーラルオーディオレンダリングを実行するための前記手段は、前記更新された変換情報に基づいて、前記減少された複数の階層的な要素に対して前記バイノーラルオーディオレンダリングを実行するための手段を備える、C21に記載の装置。
[C30]
実行されると、1つまたは複数のプロセッサを、
変換情報を取得し、前記変換情報は、複数の階層的な要素の数を減少された複数の階層的な要素に減少させるために音場がどのように変換されたかについて説明する、
前記変換情報に基づいて、前記減少された複数の階層的な要素に対してバイノーラルオーディオレンダリングを実行する
ように構成する、その上に記憶された命令を備える、非一時的コンピュータ可読記憶媒体。