[0001]本出願は、2013年5月29日に出願された米国仮出願第61/828,445号、2013年5月31日に出願された米国仮出願第61/829,791号、2013年11月1日に出願された米国仮出願第61/899,034号、2013年11月1日に出願された米国仮出願第61/899,041号、2013年5月30日に出願された米国仮出願第61/829,182号、2013年5月30日に出願された米国仮出願第61/829,174号、2013年5月30日に出願された米国仮出願第61/829,155号、2014年1月30日に出願された米国仮出願第61/933,706号、2013年5月31日に出願された米国仮出願第61/829,846号、2013年10月3日に出願された米国仮出願第61/886,605号、2013年10月3日に出願された米国仮出願第61/886,617号、2014年1月8日に出願された米国仮出願第61/925,158号、2014年1月30日に出願された米国仮出願第61/933,721号、2014年1月8日に出願された米国仮出願第61/925,074号、2014年1月8日に出願された米国仮出願第61/925,112号、2014年1月8日に出願された米国仮出願第61/925,126号、2014年5月27日に出願された米国仮出願第62/003,515号、2013年5月29日に出願された米国仮出願第61/828,615号の利益を主張し、これらの各々の内容全体が参照によって本明細書に組み込まれる。
[0123]サラウンド音響の発展は、今日の娯楽のための多くの出力フォーマットを利用可能にしてきた。そのような消費者向けのサラウンド音響フォーマットの例は、ある幾何学的な座標にあるラウドスピーカーへのフィードを暗黙的に指定するという点で、大半が「チャネル」ベースである。これらは、普及している5.1フォーマット(これは、フロントレフト(FL)と、フロントライト(FR)と、センターまたはフロントセンターと、バックレフトまたはサラウンドレフトと、バックライトまたはサラウンドライトと、低周波効果(LFE)という、6つのチャネルを含む)、発展中の7.1フォーマット、7.1.4フォーマットおよび22.2フォーマット(たとえば、超高精細度テレビジョン規格とともに使用するための)などのハイトスピーカーを含む様々なフォーマットを含む。消費者向けではないフォーマットは、「サラウンドアレイ」と呼ばれることが多い(対称な、および非対称な幾何学的配置の)任意の数のスピーカーに及び得る。そのようなアレイの一例は、切られた二十面体(truncated icosohedron)の角の座標に配置される32個のラウドスピーカーを含む。
[0124]将来の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」と題される文書においてより詳細に説明され得る。
[0125]市場には様々な「サラウンド音響」チャネルベースフォーマットがある。これらのフォーマットは、たとえば、5.1ホームシアターシステム(リビングルームに進出するという点でステレオ以上に最も成功した)からNHK(Nippon Hoso Kyokaiすなわち日本放送協会)によって開発された22.2システムに及ぶ。コンテンツ作成者(たとえば、ハリウッドスタジオ)は、一度に映画のサウンドトラックを作成することを望み、スピーカー構成ごとにサウンドトラックをリミックスする努力を行うことを望まない。最近では、規格開発組織が、規格化されたビットストリームへの符号化と、スピーカーの幾何学的配置(と数)および(レンダラを伴う)再生のロケーションにおける音響条件に適応可能でありそれらに依存しない後続の復号とを提供するための方法を考えている。
[0126]コンテンツ作成者にそのような柔軟性を提供するために、要素の階層セットが音場を表すために使用され得る。要素の階層セットは、モデル化された音場の完全な表現をより低次の要素の基本セットが提供するように要素が順序付けられる、要素のセットを指し得る。セットがより高次の要素を含むように拡張されると、表現はより詳細なものになり、分解能は向上する。
[0127]要素の階層セットの一例は、球面調和係数(SHC)のセットである。次の式は、SHCを使用する音場の記述または表現を示す。
[0128]この式は、時間tにおける音場の任意の点{rr,θr,φr}における圧力piが、SHC、
によって一意に表され得ることを示す。ここで、
であり、cは、音の速さ(約343m/s)であり、{rr,θr,φr}は、基準の点(または観測点)であり、jn(・)は、次数nの球ベッセル関数であり、
は、次数nおよび位数mの球面調和基底関数である。大括弧中の項は、離散フーリエ変換(DFT)、離散コサイン変換(DCT)、またはウェーブレット変換などの、様々な時間−周波数変換によって近似され得る信号の周波数領域表現(すなわち、S{ωr、rr、θr、φr})であることが、認識され得る。階層セットの他の例は、ウェーブレット変換係数のセット、および多分解能基底関数の係数の他のセットを含む。
[0129]図1は、0次(n=0)から4次(n=4)までの球面調和基底関数を示す図である。理解され得るように、各次数に対して、図示されているが説明を簡単にするために図1の例では明示的に述べられていない位数mという拡張が存在する。
[0130]図2は、0次(n=0)から4次(n=4)までの球面調和基底関数を示す別の図である。図2では、球面調和基底関数は、図示された次数と位数の両方を伴う3次元座標空間において示されている。
[0131]
は、様々なマイクロフォンアレイ構成によって物理的に取得(たとえば、記録)されてよく、または代替的に、それらは音場のチャネルベースまたはオブジェクトベースの記述から導出されてよい。SHCはシーンベースのオーディオを表し、ここで、SHCは、より効率的な送信または記憶を促進し得る符号化されたSHCを取得するために、オーディオ符号化器に入力され得る。たとえば、(1+4)2個の(25個の、したがって4次の)係数を伴う4次表現が使用され得る。
[0132]上で述べられたように、SHCはマイクロフォンを使用したマイクロフォン録音から導出され得る。SHCがマイクロフォンアレイからどのように導出され得るかの様々な例は、Poletti,M、「Three−Dimensional Surround Sound Systems Based on Spherical Harmonics」、J.Audio Eng. Soc.、Vol. 53、No. 11、2005年11月、pp.1004−1025において説明されている。
[0133]これらのSHCがどのようにオブジェクトベースの記述から導出され得るかを例示するために、次の式を考える。
個々のオーディオオブジェクトに対応する音場に対する
は、以下のように表わされることが可能である:
ここで、iは、
であり、
は、次数nの(第2の種類の)球ハンケル関数であり、{rs,θs、φs}は、オブジェクトのロケーションである。オブジェクトソースエネルギーg(ω)を(たとえば、PCMストリームに対して高速フーリエ変換を実行するなどの時間周波数分析技法を使用して)周波数の関数として知ることによって、各PCMオブジェクトとそのロケーションとを
へと変換することが可能になる。さらに、各オブジェクトの
係数は、(上記が線形であり直交分解であるので)加法的であることが示され得る。このようにして、多数のPCMオブジェクトが、
係数によって(たとえば、個々のオブジェクトについての係数ベクトルの和として)表され得る。本質的に、これらの係数は、音場についての情報(3D座標の関数としての圧力)を含んでおり、上記は、観測点{rr,θr,φr}の近傍における、音場全体の表現への個々のオブジェクトからの変換を表す。残りの数字は、以下でオブジェクトベースのオーディオコーディングおよびSHCベースのオーディオコーディングの文脈で説明される。
[0134]図3は、本開示で説明される技法の様々な態様を実行し得るシステム10を示す図である。図3の例に示されているように、システム10は、コンテンツ作成者12とコンテンツ消費者14とを含む。コンテンツ作成者12およびコンテンツ消費者14の文脈で説明されているが、技法は、オーディオデータを表すビットストリームを形成するためにSHC(HOA係数とも呼ばれ得る)または音場の任意の他の階層的表現が符号化される任意の文脈で実施されてよい。その上、コンテンツ作成者12は、いくつか例を挙げると、ハンドセット(または携帯電話)、タブレットコンピュータ、スマートフォン、またはデスクトップコンピュータを含む、本開示で説明される技法を実施することが可能な任意の形態のコンピューティングデバイスを表し得る。同様に、コンテンツ消費者14は、いくつか例を挙げると、ハンドセット(または携帯電話)、タブレットコンピュータ、スマートフォン、セットトップボックス、またはデスクトップコンピュータを含む、本開示で説明される技法を実施することが可能な任意の形態のコンピューティングデバイスを表し得る。
[0135]コンテンツ作成者12は、コンテンツ消費者14などのコンテンツ消費者による消費のためのマルチチャネルオーディオコンテンツを生成し得る映画撮影所または他のエンティティを表し得る。いくつかの例では、コンテンツ作成者12は、HOA係数11を圧縮することを望む個々のユーザを表し得る。しばしば、このコンテンツ作成者は、ビデオコンテンツとともにオーディオコンテンツを生成する。コンテンツ消費者14は、オーディオ再生システムへのアクセス権を所有するまたは有する個人を表し、このオーディオ再生システムは、マルチチャネルオーディオコンテンツとしての再生のためにSHCをレンダリングすることが可能な任意の形態のオーディオ再生システムを指し得る。図3の例では、コンテンツ消費者14は、オーディオ再生システム16を含む。
[0136]コンテンツ作成者12は、オーディオ編集システム18を含む。コンテンツ作成者12は、様々なフォーマットのライブ録音7(直接HOA係数として直接含む)とオーディオオブジェクト9とを取得し、コンテンツ作成者12はこれらをオーディオ編集システム18を使用して編集することができる。コンテンツ作成者は、編集プロセスの間に、オーディオオブジェクト9からのHOA係数11をレンダリングし、さらなる編集を必要とする音場の様々な様相を識別しようとしてレンダリングされたスピーカーフィードを聞くことができる。コンテンツ作成者12は次いで、(場合によっては、上で説明された方式でソースHOA係数がそれから導出され得るオーディオオブジェクト9の様々なオブジェクトの操作を通じて間接的に)HOA係数11を編集することができる。コンテンツ作成者12は、HOA係数11を生成するためにオーディオ編集システム18を利用することができる。音声編集システム18は、音声データを編集し、1つまたは複数のソース球面調和係数としてこの音声データを出力することが可能な任意のシステムを表す。
[0137]編集プロセスが完了すると、コンテンツ作成者12は、HOA係数11に基づいてビットストリーム21を生成することができる。すなわち、コンテンツ作成者12は、ビットストリーム21を生成するために本開示で説明される技法の様々な態様に従ってHOA係数11を符号化しまたは別様に圧縮するように構成されるデバイスを表す、オーディオ符号化デバイス20を含む。オーディオ符号化デバイス20は、一例として、有線チャネルまたはワイヤレスチャネル、データ記憶デバイスなどであり得る送信チャネルを介した送信のために、ビットストリーム21を生成することができる。ビットストリーム21は、HOA係数11の符号化されたバージョンを表すことができ、主要ビットストリームと、サイドチャネル情報とも呼ばれ得る別のサイドビットストリームとを含み得る。
[0138]以下でより詳細に説明されるが、オーディオ符号化デバイス20は、ベクトルベースの合成または指向性ベースの合成に基づいてHOA係数11を符号化するように構成され得る。ベクトルベースの合成方法を実行するか指向性ベースの合成方法を実行するかを決定するために、オーディオ符号化デバイス20は、HOA係数11に少なくとも一部基づいて、HOA係数11が音場の自然な録音(たとえば、ライブ録音7)を介して生成されたか、または一例として、PCMオブジェクトなどのオーディオオブジェクト9から人工的に(すなわち、合成的に)生成されたかを決定することができる。HOA係数11がオーディオオブジェクト9から生成されたとき、オーディオ符号化デバイス20は、指向性ベースの合成方法を使用してHOA係数11を符号化することができる。HOA係数11がたとえば固有マイクを使用してライブをキャプチャしたとき、オーディオ符号化デバイス20は、ベクトルベースの合成方法に基づいてHOA係数11を符号化することができる。上の区別は、ベクトルベースの合成方法または指向性ベースの合成方法が利用され得る一例を表す。これらの一方または両方が、自然な録音、人工的に生成されたコンテンツ、またはこれら2つの混合物(ハイブリッドコンテンツ)に対して有用であり得る、他の場合があり得る。さらに、HOA係数の単一の時間フレームをコーディングするために両方の方法を同時に使用することも可能である。
[0139]説明を目的に、HOA係数11がライブをキャプチャした、またはそうでなければライブ録音7などのライブ録音を表すと、オーディオ符号化デバイス20が決定すると仮定すると、オーディオ符号化デバイス20は、線形可逆変換(LIT)の適用を伴うベクトルベースの合成方法を使用してHOA係数11を符号化するように構成され得る。線形可逆変換の一例は、「特異値分解」(または「SVD」)と呼ばれる。この例では、オーディオ符号化デバイス20は、HOA係数11の分解されたバージョンを決定するためにSVDをHOA係数11に適用することができる。オーディオ符号化デバイス20は次いで、様々なパラメータを識別するためにHOA係数11の分解されたバージョンを分析することができ、このことは、HOA係数11の分解されたバージョンの再順序付けを容易にし得る。オーディオ符号化デバイス20は次いで、識別されたパラメータに基づいてHOA係数11の分解されたバージョンを再順序付けることができ、そのような再順序付けは、以下でさらに詳細に説明されるように、変換がHOA係数のフレームにわたってHOA係数を再順序付けることができるとすると(フレームが一般にHOA係数11のM個のサンプルを含み、Mがいくつかの例では1024に設定される場合)、コーディング効率を向上させることができる。HOA係数11の分解されたバージョンを再順序付けた後で、オーディオ符号化デバイス20は、HOA係数11の分解されたバージョンのうちで、音場のフォアグラウンド(または言い換えれば、明瞭な、支配的な、または目立つ)成分を表すものを選択することができる。オーディオ符号化デバイス20は、フォアグラウンド成分を表すHOA係数11の分解されたバージョンを、オーディオオブジェクトおよび関連付けられる指向性情報として指定することができる。
[0140]オーディオ符号化デバイス20はまた、HOA係数11のうちで、少なくとも一部、音場の1つまたは複数のバックグラウンド(または言い換えれば、環境的な)成分を表すものを識別するために、HOA係数11に関して音場分析を実行することができる。オーディオ符号化デバイス20は、いくつかの例では、バックグラウンド成分がHOA係数11の任意の所与のサンプルのサブセット(たとえば、2次以上の球面基底関数に対応するものではなく、0次および1次の球面基底関数に対応するものなど)のみを含み得るとすると、バックグラウンド成分に関してエネルギー補償を実行することができる。言い換えれば、次数低減が実行されるとき、オーディオ符号化デバイス20は、次数低減を実行したことに起因する全体的なエネルギーの変化を補償するために、HOA係数11の残りのバックグラウンドHOA係数を補強する(たとえば、それにエネルギーを加える/それからエネルギーを差し引く)ことができる。
[0141]オーディオ符号化デバイス20は次に、バックグラウンド成分とフォアグラウンドオーディオオブジェクトの各々とを表すHOA係数11の各々に関して、ある形態の音響心理学的符号化(MPEGサラウンド、MPEG−AAC、MPEG−USAC、または他の既知の形態の音響心理学的符号化)を実行することができる。オーディオ符号化デバイス20は、フォアグラウンド指向性情報に関してある形態の補間を実行し、次いで、次数低減されたフォアグラウンド指向性情報を生成するために、補間されたフォアグラウンド指向性情報に関して次数低減を実行することができる。オーディオ符号化デバイス20はさらに、いくつかの例では、次数低減されたフォアグラウンド指向性情報に関して量子化を実行し、コーディングされたフォアグラウンド指向性情報を出力することができる。いくつかの例では、この量子化はスカラー/エントロピー量子化を備え得る。オーディオ符号化デバイス20は次いで、符号化されたバックグラウンド成分と、符号化されたフォアグラウンドオーディオオブジェクトと、量子化された指向性情報とを含むように、ビットストリーム21を形成することができる。オーディオ符号化デバイス20は次いで、ビットストリーム21をコンテンツ消費者14に送信し、または別様に出力することができる。
[0142]図3ではコンテンツ消費者14に直接的に送信されるものとして示されているが、コンテンツ作成者12は、コンテンツ作成者12とコンテンツ消費者14との間に配置された中間デバイスにビットストリーム21を出力することができる。この中間デバイスは、ビットストリーム21を要求し得るコンテンツ消費者14に後で配信するために、このビットストリームを記憶することができる。中間デバイスは、ファイルサーバ、ウェブサーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、または後でのオーディオ復号器による取出しのためにビットストリーム21を記憶することが可能な任意の他のデバイスを備え得る。この中間デバイスは、ビットストリーム21を要求するコンテンツ消費者14などの加入者にビットストリーム21を(場合によっては対応するビデオデータビットストリームを送信するとともに)ストリーミングすることが可能なコンテンツ配信ネットワークに存在してもよい。
[0143]代替的に、コンテンツ作成者12は、コンパクトディスク、デジタルビデオディスク、高精細度ビデオディスク、または他の記憶媒体などの記憶媒体にビットストリーム21を格納することができ、記憶媒体の大部分はコンピュータによって読み取り可能であり、したがって、コンピュータ可読記憶媒体または非一時的コンピュータ可読記憶媒体と呼ばれることがある。この文脈において、送信チャネルは、これらの媒体に格納されたコンテンツが送信されるチャネルを指し得る(および、小売店と他の店舗ベースの配信機構とを含み得る)。したがって、いずれにしても、本開示の技法は、この点に関して図3の例に限定されるべきではない。
[0144]図3の例にさらに示されるように、コンテンツ消費者14は、オーディオ再生システム16を含む。オーディオ再生システム16は、マルチチャネルオーディオデータを再生することが可能な任意のオーディオ再生システムを表し得る。オーディオ再生システム16は、いくつかの異なるレンダラ22を含み得る。レンダラ22は各々、異なる形態のレンダリングを提供することができ、異なる形態のレンダリングは、ベクトルベース振幅パニング(VBAP:vector-base amplitude panning)を実行する様々な方法の1つもしくは複数および/または音場合成を実行する様々な方法の1つもしくは複数を含み得る。本明細書で使用される場合、「Aおよび/またはB」は、「AまたはB」、または「AとB」の両方を意味する。
[0145]オーディオ再生システム16はさらに、オーディオ復号デバイス24を含み得る。オーディオ復号デバイス24は、ビットストリーム21からHOA係数11’を復号するように構成されるデバイスを表すことができ、HOA係数11’は、HOA係数11と類似し得るが、有損失の演算(たとえば、量子化)および/または送信チャネルを介した送信が原因で異なり得る。すなわち、オーディオ復号デバイス24は、ビットストリーム21において指定されるフォアグラウンド指向性情報を逆量子化することができ、一方でまた、ビットストリーム21において指定されるフォアグラウンドオーディオオブジェクトおよびバックグラウンド成分を表す符号化されたHOA係数に関して音響心理学的復号を実行する。オーディオ復号デバイス24はさらに、復号されたフォアグラウンド指向性情報に関して補間を実行し、次いで、復号されたフォアグラウンドオーディオオブジェクトおよび補間されたフォアグラウンド指向性情報に基づいてフォアグラウンド成分を表すHOA係数を決定することができる。オーディオ復号デバイス24は次いで、フォアグラウンド成分を表す決定されたHOA係数およびバックグラウンド成分を表す復号されたHOA係数に基づいて、HOA係数11’を決定することができる。
[0146]オーディオ再生システム16は、HOA係数11’を取得するためにビットストリーム21を復号した後で、ラウドスピーカーフィード25を出力するためにHOA係数11’をレンダリングすることができる。ラウドスピーカーフィード25は、1つまたは複数のラウドスピーカー(説明を簡単にするために図3の例には示されていない)を駆動することができる。
[0147]適切なレンダラを選択するために、またはいくつかの例では、適切なレンダラを生成するために、オーディオ再生システム16は、ラウドスピーカーの数および/またはラウドスピーカーの空間的な幾何学的配置を示すラウドスピーカー情報13を取得することができる。いくつかの例では、オーディオ再生システム16は、基準マイクロフォンを使用してラウドスピーカー情報13を取得し、ラウドスピーカー情報13を動的に決定するような方式でラウドスピーカーを駆動することができる。他の例では、またはラウドスピーカー情報13の動的な決定とともに、オーディオ再生システム16は、オーディオ再生システム16とインターフェースをとりラウドスピーカー情報16を入力するようにユーザに促すことができる。
[0148]オーディオ再生システム16は次いで、ラウドスピーカー情報13に基づいてオーディオレンダラ22の1つを選択することができる。いくつかの例では、オーディオレンダラ22のいずれもがラウドスピーカー情報13において指定されたものに対して(ラウドスピーカーの幾何学的配置に関する)何らかの類似性の尺度の閾値内にないとき、オーディオ再生システム16は、ラウドスピーカー情報13に基づいてオーディオレンダラ22の1つを生成することができる。オーディオ再生システム16は、いくつかの例では、オーディオレンダラ22の既存の1つを選択することを最初に試みることなく、ラウドスピーカー情報13に基づいてオーディオレンダラ22の1つを生成することができる。
[0149]図4は、本開示において説明される技法の様々な態様を実行し得る図3の例に示されるオーディオ符号化デバイス20の一例をより詳細に示すブロック図である。オーディオ符号化デバイス20は、コンテンツ分析ユニット26と、ベクトルベース合成方法ユニット27と、指向性ベース合成方法ユニット28とを含む。
[0150]コンテンツ分析ユニット26は、HOA係数11がライブ録音またはオーディオオブジェクトから生成されたコンテンツを表すかどうかを識別するために、HOA係数11のコンテンツを分析するように構成されるユニットを表す。コンテンツ分析ユニット26は、HOA係数11が実際の音場の記録から生成されたか人工的なオーディオオブジェクトから生成されたかを決定することができる。コンテンツ分析ユニット26は、この決定を様々な方法で行うことができる。たとえば、コンテンツ分析ユニット26は、(N+1)2−1個のチャネルをコーディングし、最後の残りのチャネル(ベクトルとして表され得る)を予測することができる。コンテンツ分析ユニット26は、最後の残りのチャネルを決定するために、(N+1)2−1個のチャネルのうち少なくともいくつかにスカラーを適用し、結果として得られる値を加算することができる。さらに、この例では、コンテンツ分析ユニット26は、予測されたチャネルの精度を決定することができる。この例では、予測されたチャネルの精度が比較的高い(たとえば、精度が特定閾値を超える)場合、HOA係数11は、合成オーディオオブジェクトから生成される可能性が高い。対照的に、予測されたチャネルの精度が比較的低い(たとえば、精度が特定の閾値を下回る)場合、HOA係数11は、記録された音場を表す可能性が高い。たとえば、この例では、予測されたチャネルの信号対雑音比(SNR)が100デシベル(db)を超える場合、HOA係数11は、合成オーディオオブジェクトから生成された音場を表す可能性が高い。対照的に、eigenマイクロフォンを使用して記録された音場のSNRは5〜20dbであり得る。したがって、実際の直接的な録音から生成されたHOA係数11によって表される音場と合成オーディオオブジェクトから生成されたHOA係数11によって表される音場の間には、SNR比における明らかな境界が存在し得る。
[0151]より具体的には、コンテンツ分析ユニット26は、音場を表すHOA係数11が合成オーディオオブジェクトから生成されたかどうかを決定するとき、HOA係数のフレームを取得することができ、これは、4次の表現(すなわち、N=4)では25×1024のサイズであり得る。フレーム分割されたHOA係数(本明細書ではフレーム分割されたSHC行列11とも呼ばれることがあり、後続のフレーム分割されたSHC行列はフレーム分割されたSHC行列27B、27Cなどと示され得る)を取得した後で。コンテンツ分析ユニット26は次いで、低減されたフレーム分割されたHOA係数を生成するために、フレーム分割されたHOA係数11の第1のベクトルを除外することができる。いくつかの例では、フレーム分割されたHOA係数11から除外されるこの第1のベクトルは、HOA係数11のうちで、0次、0位の球面調和基底関数と関連付けられるものに対応し得る。
[0152]コンテンツ分析ユニット26は次いで、低減されたフレーム分割されたHOA係数の残りのベクトルから、低減されたフレーム分割されたHOA係数の第1の0ではないベクトルを予測することができる。第1の0ではないベクトルは、0以外の値を有する1次(次数に依存する位数の各々を考慮する)から4次(次数に依存する位数の各々を考慮する)までの第1のベクトルを指し得る。いくつかの例では、低減されたフレーム分割されたHOA係数の第1の0ではないベクトルは、HOA係数11のうちで、1次、0位の球面調和基底関数と関連付けられるものを指す。第1の0ではないベクトルに関して説明されるが、本技法は、低減されたフレーム分割されたHOA係数の残りのベクトルから、低減されたフレーム分割されたHOA係数の他のベクトルを予測することができる。たとえば、コンテンツ分析ユニット26は、低減されたフレーム分割されたHOA係数のうちで、1次、1位の球面調和基底関数、または1次、−1次の球面調和基底関数と関連付けられるものを予測することができる。さらに他の例として、コンテンツ分析ユニット26は、低減されたフレーム分割されたHOA係数のうちで、2次、0次の球面調和基底関数と関連付けられるものを予測することができる。
[0153]第1の0ではないベクトルを予測するために、コンテンツ分析ユニット26は次の式に従って演算することができる:
ここで、iは、1から(N+1)2−2であり、これは4次の表現では23であり、αiはi番目のベクトルの何らかの定数を示し、viはi番目のベクトルを指す。第1の0ではないベクトルを予測した後で、コンテンツ分析ユニット26は、予測された第1の0ではないベクトルおよび実際の0ではないベクトルに基づいて、誤差を取得することができる。いくつかの例では、コンテンツ分析ユニット26は、誤差を導出するために実際の第1の0ではないベクトルから予測された第1の0ではないベクトルを差し引く。コンテンツ分析ユニット26は、予測された第1の0ではないベクトルの各成分と実際の第1の0ではないベクトルの各成分との差の絶対値の合計として、誤差を計算することができる。
[0154]誤差が得られると、コンテンツ分析ユニット26は、実際の第1の0ではないベクトルのエネルギーおよび誤差に基づいて、比を計算することができる。コンテンツ分析ユニット26は、第1の0ではないベクトルの各成分を2乗して、2乗された成分を互いに加算することによって、このエネルギーを決定することができる。コンテンツ分析ユニット26は次いで、この比を閾値と比較することができる。比が閾値を超えないとき、コンテンツ分析ユニット26は、フレーム分割されたHOA係数11が録音から生成されたと決定し、HOA係数11の対応するコーディングされた表現が録音から生成されたことをビットストリームにおいて示すことができる。比が閾値を超えるとき、コンテンツ分析ユニット26は、フレーム分割されたHOA係数11が合成オーディオオブジェクトから生成されたと決定し、フレーム分割されたHOA係数11の対応するコーディングされた表現が合成オーディオオブジェクトから生成されたことをビットストリームにおいて示すことができる。
[0155]フレーム分割されたHOA係数11が録音から生成されたかまたは合成オーディオオブジェクトから生成されたかのインジケーションは、各フレームに対する単一のビットを備え得る。この単一のビットは、対応するフレームを符号化する際の様々な方法を実質的に切り替える各フレームのために、様々な符号化が使用されたことを示し得る。いくつかの例では、フレーム分割されたHOA係数11が録音から生成されたとき、コンテンツ分析ユニット26は、HOA係数11をベクトルベースの合成ユニット27に渡す。いくつかの例では、フレーム分割されたHOA係数11が合成オーディオオブジェクトから生成されたとき、コンテンツ分析ユニット26は、HOA係数11を指向性ベースの合成ユニット28に渡す。指向性ベースの合成ユニット28は、指向性ベースのビットストリーム21を生成するためにHOA係数11の指向性ベースの合成を実行するように構成されるユニットを表し得る。
[0156]言い換えれば、本技法は、フロントエンドの分類器を使用してHOA係数をコーディングすることに基づく。分類器は、次のように作動することができる:
(フレーム分割されたHOA係数またはHOA係数とも呼ばれ得る、たとえば4次の、1024というフレームサイズの)フレーム分割されたSH行列で開始する−ここで25×1024というサイズの行列が得られる。
第1のベクトル(0次のSH)を除外する−したがって24×1024というサイズの行列がある。
行列中のベクトルの残り(1×1024というサイズの23個のベクトル)から行列中の第1の0ではないベクトル(1×1024というサイズのベクトル)を予測する。
予測は次の通りである:予測ベクトル=sum−over−i[alpha−i×vector−I](ここでIにわたる合計は、i=1...23という23個のインデックスにわたって行われる)。
次いで誤差を確認する:実際の誤差−予測される誤差=誤差。
ベクトル/誤差のエネルギーの比が大きい(すなわち、誤差が小さい)場合、背後の音場(そのフレームにおける)は希薄/合成的である。それ以外の場合、背後の音場は(たとえばマイクアレイを使用して)録音された音場である。
録音されたものか、合成かの決定に応じて、異なる方法で符号化/復号(帯域幅圧縮を指し得る)を実行する。この決定は、各フレームに対してビットストリームを通じて送信される1ビットの決定である。
[0157]図4の例に示されるように、ベクトルベースの合成ユニット27は、線形可逆変換(LIT)ユニット30と、パラメータ計算ユニット32と、再順序付けユニット34と、フォアグラウンド選択ユニット36と、エネルギー補償ユニット38と、音響心理学的オーディオコーダユニット40と、ビットストリーム生成ユニット42と、音場分析ユニット44と、係数低減ユニット46と、バックグラウンド(BG)選択ユニット48と、空間−時間的補間ユニット50と、量子化ユニット52とを含み得る。
[0158]線形可逆変換(LIT)ユニット30は、HOAチャネルの形態でHOA係数11を受信し、各チャネルは、球面基底関数の所与の次数、位数と関連付けられる係数(HOA[k]と示され得る、ここでkは現在のフレームまたはサンプルのブロックを示し得る)のブロックまたはフレームを表す。HOA係数11の行列は、次元D:M×(N+1)2、を有し得る。
[0159]すなわち、LITユニット30は、特異値分解と呼ばれるある形態の分析を実行するように構成されるユニットを表し得る。SVDに関して説明されているが、本開示で説明される技法は、線形的に無相関な、エネルギーが圧縮された出力のセットを提供する任意の類似の変換または分解に対して実行されてよい。また、本開示における「セット」への言及は、一般的に、別段特別に述べられない限り0ではないセットを指すことが意図され、いわゆる「空集合」を含む集合の古典的な数学的定義を指すことは意図されない。
[0160]代替的な変換は主成分分析を備えてよく、これは「PCA」と呼ばれることが多い。PCAは、おそらく相関する変数の観測値のセットを、主成分と呼ばれる線形的に無相関な変数のセットに変換するために、直交変換を利用する数学的プロシージャを指す。線形的に無相関な変数とは、互いに対する統計的線形関係(すなわち依存)をもたない変数を表す。これらの主成分は、互いに対するわずかな統計的相関を有するものとして説明され得る。いずれにしても、いわゆる主成分の数は、元の変数の数以下である。いくつかの例では、変換は、第1の主成分が可能な最大の分散を有し(または、言い換えれば、データの変動性をできる限り多く考慮し)、後続の各成分が、この連続した成分が先行する成分と直交する(これと無相関と言い換えられ得る)という制約の下で可能な最大の分散を有するような方法で、定義される。PCAは、HOA係数11に関してHOA係数11の圧縮をもたらし得る、ある形態の次数低減を実行することができる。文脈に応じて、PCAは、いくつかの例を挙げれば、離散カルーネン−レーベ変換、ホテリング変換、固有直交分解(POD)、および固有値分解(EVD)などのいくつかの異なる名前によって呼ばれることがある。オーディオデータを圧縮するという背後にある目標につながるそのような演算の特性は、多チャネルオーディオデータの「エネルギー圧縮」および「脱相関」である。
[0161]いずれにしても、LITユニット30は、HOA係数11を変換されたHOA係数の2つ以上のセットに変換するために、特異値分解(やはり「SVD」と呼ばれ得る)を実行する。変換されたHOA係数のこれらの「セット」は、変換されたHOA係数のベクトルを含み得る。図4の例では、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個の列は、マルチチャネルオーディオデータの右特異ベクトルとして一般に知られる。
[0162]本開示では、HOA係数11を備えるマルチチャネルオーディオデータに適用されるものとして説明されているが、本技法は、任意の形態のマルチチャネルオーディオデータに適用されてよい。このようにして、オーディオ符号化デバイス20は、マルチチャネルオーディオデータの左特異ベクトルを表すU行列と、マルチチャネルオーディオデータの特異値を表すS行列と、マルチチャネルオーディオデータの右特異ベクトルを表すV行列とを生成するために、音場の少なくとも一部分を表すマルチチャネルオーディオデータに対して特異値分解を実行し、マルチチャネルオーディオデータをU行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として表すことができる。
[0163]いくつかの例では、上で参照された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の適用を含んでよい。
[0164]いずれにしても、LITユニット30は、高次アンビソニックス(HOA)オーディオデータの各ブロック(フレームを指し得る)に関して、ブロックごとの形態のSVDを実行することができる(ここで、このアンビソニックスオーディオデータは、HOA係数11のブロックもしくはサンプル、または任意の他の形態のマルチチャネルオーディオデータを含む)。上で述べられたように、変数Mはサンプル中のオーディオフレームの長さを示すために使用され得る。たとえば、オーディオフレームが1024個のオーディオサンプルを含むとき、Mは1024に等しい。Mのこの典型的な値に関して説明されるが、本開示の技法は、Mのこの典型的な値に限定されるべきではない。LITユニット30はしたがって、M×(N+1)2のHOA係数を有するブロックHOA係数11に関してブロックごとのSVDを実行することができ、ここでNはやはりHOAオーディオデータの次数を示す。LITユニット30は、このSVDの実行を通じて、Vマトリックスと、Sマトリックスと、Uマトリックスとを生成することができ、マトリックスの各々は、上で説明されたそれぞれのVマトリックスと、Sマトリックスと、Uマトリックスとを表することができる。このようにして、線形可逆変換ユニット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)とも呼ばれることがある。
[0165]U行列、S行列、およびV行列の分析は、これらの行列がXによって上で表される背後の音場の空間的および時間的な特性を伝え、または表すということを明らかにし得る。(M個のサンプルの長さの)Uの中のN個のベクトルの各々は、(M個のサンプルによって表される時間期間の間は)時間の関数として、互いに直交しておりあらゆる空間的な特性(指向性情報とも呼ばれ得る)とは切り離されている、正規化された分離されたオーディオ信号を表すことができる。空間的な形状と位置(r、θ、φ)の幅とを表す空間特性は代わりに、(各々が(N+1)2の長さの)V行列の中の個々のi番目のベクトル、v(i)(k)によって表され得る。U行列中のベクトルとV行列中のベクトルの両方が、それらの二乗平均平方根のエネルギーが1に等しくなるように正規化される。したがって、Uの中のオーディオ信号のエネルギーは、Sの中の対角線上の要素によって表される。UとSを乗算してUS[k](個々のベクトル要素Xps(k)を有する)を形成することで、真のエネルギーを有するオーディオ信号を表す。(Uにおける)オーディオ時間信号と、(Sにおける)それらのエネルギーと、(Vにおける)それらの空間的特性とを切り離すSVD分解の能力は、本開示で説明される技法の様々な態様を支援することができる。さらに、背後のHOA[k]係数XをUS[k]とV[k]のベクトル乗算によって合成するこのモデルは、本文書全体で使用される、「ベクトルベースの合成方法」という用語を生じさせる。
[0166]HOA係数11に関して直接実行されるものとして説明されるが、LITユニット30は、線形可逆変換をHOA係数11の派生物に適用することができる。たとえば、LITユニット30は、HOA係数11から導出された電力スペクトル密度行列に関してSVDを適用することができる。電力スペクトル密度行列は、PSDとして示され、以下に続く擬似コードにおいて概説されるように、hoaFrameの転置のhoaFrameへの行列乗算を通じて取得され得る。hoaFrameという表記は、HOA係数11のフレームを指す。
[0167]LITユニット30は、SVD(svd)をPSDに適用した後で、S[k]2行列(S_squared)とV[k]行列とを取得することができる。S[k]2行列は二乗されたS[k]行列を示すことができ、すなわちLITユニット30はS[k]行列を取得するために平方根演算をS[k]2行列に適用することができる。LITユニット30は、いくつかの例では、量子化されたV[k]行列(V[k]’行列と示され得る)を取得するために、V[k]行列に関して量子化を実行することができる。LITユニット30は、SV[k]’行列を得るために、S[k]行列を量子化されたV[k]’行列とまず乗算することによって、U[k]行列を取得することができる。LITユニット30は次に、SV[k]’行列の擬似逆行列(pinv)を取得することができ、次いで、U[k]行列を取得するためにSV[k]’行列の擬似逆行列とHOA係数11を乗算することができる。上記は、以下の擬似コードによって表され得る:
PSD = hoaFrame’*hoaFrame;
[V, S_squared] = svd(PSD,’econ’);
S = sqrt(S_squared);
U = hoaFrame * pinv(S*V’);
[0168]HOA係数自体ではなくHOA係数の電力スペクトル密度(PSD)に関してSVDを実行することによって、LITユニット30は場合によっては、プロセッササイクルと記憶空間の1つまたは複数に関してSVDを実行することの計算的な複雑さを低減しつつ、SVDがHOA係数に直接適用されたかのように同じソースオーディオの符号化効率を達成することができる。すなわち、上で説明されたPSDタイプのSVDは場合によっては、SVDがF*Fの行列(FはHOA係数の数)に対して行われるので、計算的により負荷が軽いことがある。Mはフレーム長であるを伴うM*Fの行列と比較されると、すなわち1024個以上のサンプル。ここで、SVDの複雑さは、HOA係数11ではなくPSDへの適用を通じて、HOA係数11に適用されたときのO(M*L^2)と比べて、O(L^3)前後であり得る(ここで、O(*)はコンピュータサイエンス技術において一般的な計算の複雑さである大文字Oの表記である)。
[0169]パラメータ計算ユニット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に出力することができる。
[0170]すなわち、パラメータ計算ユニット32は、第1の時間に対応するL個の第1のUS[k]ベクトル33の各々および第2の時間に対応する第2のUS[k−1]ベクトル33の各々に関してエネルギー分析を実行し、第1のオーディオフレームの少なくとも一部分(しかししばしば全体)および第2のオーディオフレームの一部分(しかししばしば全体)の二乗平均平方根エネルギーを計算し、これによって、第1のオーディオフレームのL個の第1のUS[k]ベクトル33の各々に対して1つ、および第2のオーディオフレームの第2のUS[k−1]ベクトル33の各々に対して1つの、2L個のエネルギーを生成することができる。
[0171]他の例では、パラメータ計算ユニット32は、第1のUS[k]ベクトル33の各々および第2のUS[k−1]ベクトル33の各々のサンプルのセット(そうでなければ全体)のある部分の間の相互相関付けを実行することができる。相互相関付けは、信号処理技術において理解されるような相互相関付けを指し得る。言い換えれば、相互相関付けは、2つの波形(この場合はM個のサンプルの個別のセットとして定義される)の1つに加えられる時間遅れの関数としての、2つの波形の間の類似性の尺度を指し得る。いくつかの例では、相互相関付けを実行するために、パラメータ計算ユニット32は、第1のUS[k]ベクトル27の各々の最後のL個のサンプルを、第2のUS[k−1]ベクトル33の残りの各々の最初のL個のサンプルと順番ごとに比較して、相関パラメータを決定する。本明細書で使用される場合、「順番方向(turn-wise)」の演算は、要素の第1のセットおよび要素の第2のセットに関して行われる要素対要素の演算を指し、ここで、この演算は、セットの順序に従って「順番に」要素の第1のセットおよび第2のセットの各々から1つの要素を引き抜く。
[0172]パラメータ計算ユニット32はまた、指向性特性パラメータを決定するために、V[k]および/またはV[k−1]ベクトル35を分析することができる。これらの指向性特性パラメータは、対応するUS[k]および/またはUS[k−1]ベクトル33によって表されるオーディオオブジェクトの動きおよびロケーションのインジケーションを提供することができる。パラメータ計算ユニット32は、前述の現在のパラメータ37(US[k]ベクトル33および/またはV[k]ベクトル35に関して決定された)の任意の組合せと、以前のパラメータ39(US[k−1]ベクトル33および/またはV[k−1]ベクトル35に関して決定された)の任意の組合せとを、再順序付けユニット34に提供することができる。
[0173]SVD分解は、US[k−1][p]ベクトル(または代替的にはXps(p)(k−1))として示され得る、US[k−1]ベクトル33のp番目のベクトルによって表されるオーディオ信号/オブジェクトが、やはりUS[k][p]ベクトル33(または代替的にはXps(p)(k))によって示され得る、US[k]ベクトル33のp番目のベクトルによって表される(時間的に進んだ)同じオーディオ信号/オブジェクトとなることを保証しない。パラメータ計算ユニット32によって計算されるパラメータは、オーディオオブジェクトの自然な評価または時間的な継続性をもたらすようにオーディオオブジェクトを再順序付けるために、再順序付けユニット34によって使用され得る。
[0174]すなわち、再順序付けユニット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内の様々なベクトルを(一例として、ハンガリー法を使用して)再順序付けることができる。
[0175]言い換えれば、再順序付けユニット34は、再順序付けられたUS[k]行列33’を生成するために、US[k]行列33内のベクトルを再順序付けるように構成されるユニットを表し得る。再順序付けユニット34は、US[k]ベクトル33(ここでやはり、Xps(p)(k)としてやはり代替的に示され得るUS[k]ベクトル33の各ベクトルは、1つまたは複数の明瞭な(または言い換えれば支配的な)音場の中に存在するモノラルオーディオオブジェクトを表し得る)がオーディオデータの部分から変化し得るので、US[k]行列33を再順序付けることができる。すなわち、いくつかの例においてオーディオ符号化デバイス12がオーディオフレームと一般に呼ばれるオーディオデータのこれらの部分に対して動作するとすると、導出されるUS[k]行列33において表されるようなこれらの明瞭なモノラルオーディオオブジェクトに対応するベクトルの位置は、フレームへのSVDの適用およびフレームツーフレームからの各オーディオオブジェクトの変化する特徴が原因で、オーディオフレームごとに変化し得る。
[0176]オーディオフレームごとにUS[k]行列33内のベクトルを再順序付けることなく音響心理学的オーディオコーダユニット40に直接US[k]行列33内のベクトルを渡すことは、モノラルオーディオオブジェクトがオーディオフレームにまたがって連続的である(チャネル的である、この例では互いに対するUS[k]行列33内のベクトルの位置的な順序によって定義される)ときにより良好に機能する従来の圧縮スキームなどのいくつかの圧縮スキームについて、達成可能な圧縮の程度を下げることがある。その上、再順序付けられないとき、US[k]行列33内のベクトルの符号化は、復号されるときにオーディオデータの品質を下げることがある。たとえば、音響心理学的オーディオコーダユニット40によって図3の例において表され得るAAC符号化器は、フレームごとにUS[k]行列33内のベクトルを直接符号化するときに達成される圧縮と比較して、フレームごとにUS[k]行列33’内の再順序付けられた1つまたは複数のベクトルをより効率的に圧縮することができる。AAC符号化器に関して上で説明されるが、本技法は、モノラルオーディオオブジェクトが複数のフレームにわたって特定の順序または位置に指定される(チャネル的である)ときにより良好な圧縮をもたらす任意の符号化器に関して実行され得る。
[0177]本技法の様々な態様は、このようにして、オーディオ符号化デバイス12が、1つまたは複数のベクトルを再順序付ける(たとえば、US[k]行列33内のベクトルを再順序付けて、再順序付けられたUS[k]行列33’内の再順序付けられた1つまたは複数のベクトルを生成し、これによって、音響心理学的オーディオコーダユニット40などの従来のオーディオ符号化器によるUS[k]行列33内のベクトルの圧縮を容易にする)ことを可能にし得る。
[0178]たとえば、再順序付けユニット34は、現在のパラメータ37および以前のパラメータ39に基づいて、US[k−1]行列33内の1つまたは複数の第2のベクトルが対応する第2のフレームよりも時間的に後の、第1のオーディオフレームからのUS[k]行列33内の1つまたは複数のベクトルを再順序付けることができる。第1のオーディオフレームが第2のオーディオフレームよりも時間的に後にあるという文脈で説明されるが、第1のオーディオフレームは第2のオーディオフレームよりも時間的に先行してよい。したがって、本技法は、本開示で説明される例に限定されるべきではない。
[0179]説明するために、US[k]行列33内のp個のベクトルの各々がUS[k][p]として示され、対応するベクトルがk番目のフレームからのものか以前の(k−1)番目のフレームからのものかをkが示し、pが同じオーディオフレームのベクトルに対するベクトルの行を示す(ここでUS[k]行列は(N+1)2個のそのようなベクトルを有する)、以下の表1を考える。上で述べられたように、Nは1であると決定され、pはベクトル1から4を示し得ると仮定する。
[0180]上の表1において、再順序付けユニット34は、US[k−1][1]に対して計算されたエネルギーをUS[k][1]、US[k][2]、US[k][3]、US[k][4]の各々に対して計算されるエネルギーと比較し、US[k−1][2]に対して計算されたエネルギーをUS[k][1]、US[k][2]、US[k][3]、US[k][4]の各々に対して計算されるエネルギーと比較し、以下同様である。再順序付けユニット34は次いで、第2の(時間的に)先行するオーディオフレームの第2のUS[k−1]ベクトル33の1つまたは複数を廃棄することができる。説明のために、残りの第2のUS[k−1]ベクトル33を示す以下の表2を考える。
[0181]上の表2において、再順序付けユニット34は、US[k−1][1]に対して計算されるエネルギーがUS[k][1]およびUS[k][2]の各々に対して計算されるエネルギーと類似している、US[k−1][2]に対して計算されるエネルギーがUS[k][1]およびUS[k][2]の各々に対して計算されるエネルギーと類似している、US[k−1][3]に対して計算されるエネルギーがUS[k][3]およびUS[k][4]の各々に対して計算されるエネルギーと類似している、およびUS[k−1][4]に対して計算されるエネルギーがUS[k][3]およびUS[k][4]の各々に対して計算されるエネルギーと類似しているということを、エネルギー比較に基づいて決定することができる。いくつかの例では、再順序付けユニット34は、US[k]行列33の第1のベクトルの各々とUS[k−1]行列33の第2のベクトルの各々との間の類似性を識別するために、さらなるエネルギー分析を実行することができる。
[0182]他の例では、再順序付けユニット32は、相互相関付けに関する現在のパラメータ37および以前のパラメータ39に基づいてベクトルを再順序付けることができる。これらの例では、上の表2に戻ると、再順序付けユニット34は、これらの相互相関パラメータに基づいて表3において表される以下の例示的な相関付けを決定することができる。
[0183]上の表3から、再順序付けユニット34は、一例として、US[k−1][1]ベクトルが異なるように配置されたUS[k][2]ベクトルに相関する、US[k−1][2]ベクトルが異なるように配置されたUS[k][1]ベクトルに相関する、US[k−1][3]ベクトルが同様に配置されたUS[k][3]ベクトルに相関する、およびUS[k−1][4]ベクトルが同様に配置されたUS[k][4]ベクトルに相関すると決定する。言い換えれば、再順序付けユニット34は、US[k][2]ベクトルがUS[k]行列33の第1のベクトルの第1の行に再配置され、US[k][1]ベクトルが第1のUS[k]ベクトル33の第2の行に再配置されるように、US[k]行列33の第1のベクトルをどのように再順序付けるべきかを記述する再順序付け情報と呼ばれ得るものを決定する。再順序付けユニット34は次いで、再順序付けられたUS[k]行列33’を生成するために、この再順序付け情報に基づいてUS[k]行列33の第1のベクトルを再順序付けることができる。
[0184]加えて、再順序付けユニット34は、図4の例に示されていないが、この再順序付け情報をビットストリーム生成デバイス42に提供することができ、ビットストリーム生成デバイス42は、図3および図5の例に示されるオーディオ復号デバイス24などのオーディオ復号デバイスがUS[k]行列33のベクトルを復元するためにUS[k]行列33’の再順序付けられたベクトルをどのように再順序付けるべきかを決定できるように、この再順序付け情報を含むようにビットストリーム21を生成することができる。
[0185]まずエネルギー固有のパラメータに、次いで相互相関パラメータに基づく分析を伴う2段階のプロセスを実行するものとして上で説明されるが、再順序付けユニット32は、再順序付け情報を決定するためにエネルギーパラメータに関してのみこの分析を実行するだけでよく、再順序付け情報を決定するために相互相関パラメータに関してのみこの分析を実行してよく、または、上で説明された方式でエネルギーパラメータと相互相関パラメータの両方に関して分析を実行してよい。加えて、本技法は、エネルギー比較および/または相互相関の1つまたは両方を実行することを伴わない、相関付けを実行するための他のタイプのプロセスを利用することができる。したがって、本技法は、この点で、上に記載されている例に限定されるべきではない。その上、パラメータ計算ユニット32から得られる他のパラメータ(Vベクトルから、またはV[k]およびV[k−1]の中のベクトルの相関から導出される空間位置パラメータなどの)も、US中のベクトルの正しい順序を決定するために、US[k]およびUS[k−1]から得られるエネルギーパラメータおよび相互相関パラメータとともに(同時に/一緒に、またはシーケンシャルに)使用され得る。
[0186]V行列中のベクトルの相関を使用することの一例として、パラメータ計算ユニット34は、V[k]行列35のベクトルが以下の表4において指定されるように相関付けられると決定することができる。
上の表4から、再順序付けユニット34は、一例として、V[k−1][1]ベクトルが異なるように配置されたV[k][2]ベクトルに相関する、V[k−1][2]ベクトルが異なるように配置されたV[k][1]ベクトルに相関する、V[k−1][3]ベクトルが同様に配置されたV[k][3]ベクトルに相関する、およびV[k−1][4]ベクトルが同様に配置されたV[k][4]ベクトルに相関すると決定する。再順序付けユニット34は、再順序付けられたV[k]行列35’として、V[k]行列35のベクトルの再順序付けられたバージョンを出力することができる。
[0187]いくつかの例では、US行列中のベクトルに適用される同じ再順序付けは、V行列中のベクトルにも適用される。言い換えれば、Vベクトルを再順序付ける際に使用されるあらゆる分析が、USベクトルを再順序付けるために使用されるあらゆる分析とともに使用され得る。再順序付け情報が単にUS[k]ベクトル35に関するエネルギーパラメータおよび/または相互相関パラメータに関して決定されない例を説明するために、再順序付けユニット34はまた、V[k]ベクトル35に関して上で説明されたのと同様の方式で、相互相関パラメータおよびエネルギーパラメータに基づいてV[k]ベクトル35に関してこの分析を実行することができる。その上、US[k]ベクトル33は何ら指向性特性を有しないが、V[k]ベクトル35は対応するUS[k]ベクトル33の指向性に関する情報を提供することができる。この意味で、再順序付けユニット34は、対応する指向性特性パラメータの分析に基づいて、V[k]ベクトル35とV[k−1]ベクトル35との相関を識別することができる。すなわち、いくつかの例では、オーディオオブジェクトは、動いているときに連続的な方式で音場の中を動き、または比較的安定したロケーションにとどまる。したがって、再順序付けユニット34は、V[k]行列35およびV[k−1]行列35のベクトルのうちで、何らかの既知の物理的に現実的な動きを示す、または音場の中で静止したままであるものを、相関付けられるものとして識別し、US[k]ベクトル33とV[k]ベクトル35とをこの指向性特性の相関に基づいて再順序付けることができる。いずれにしても、再順序付けユニット34は、再順序付けられたUS[k]ベクトル33’と再順序付けられたV[k]ベクトル35’とをフォアグラウンド選択ユニット36に出力することができる。
[0188]加えて、本技法は、エネルギー比較および/または相互相関の1つまたは両方を実行することを伴わない、正しい順序を決定するための他のタイプのプロセスを利用することができる。したがって、本技法は、この点で、上に記載されている例に限定されるべきではない。
[0189]US行列のベクトルの再順序付けを反映するためにV行列のベクトルを再順序付けるものとして上で説明されたが、いくつかの例では、VベクトルはUSベクトルとは異なるように再順序付けられてよく、ここで、別個のシンタックス要素がUSベクトルの再順序付けとVベクトルの再順序付けとを示すために生成され得る。いくつかの例では、Vベクトルが音響心理学的に符号化され得ないとすると、Vベクトルは再順序付けられなくてよく、USベクトルのみが再順序付けられてよい。
[0190]V行列のベクトルおよびUS行列のベクトルの再順序付けが異なる実施形態は、オーディオオブジェクトを空間中で交換する意図があるとき、すなわち、オーディオオブジェクトを元の録音された位置から動かす(背後の音場が自然な録音であったとき)、または人工的に意図される位置から動かす(背後の音場がオブジェクトの人工的なミキシングであるとき)ときである。例として、2つのオーディオソースAおよびBがあり、Aが音場の「左」部分から出る猫の「ニャー」という音であり、Bが音場の「右」部分から出る犬の「ウー」という音であり得るとする。VおよびUSの再順序付けが異なるとき、2つの音のソースの位置が交換される。交換の後で、A(「ニャー」)は音場の右部分から出て、B(「ウー」)は音場の左部分から出る。
[0191]音場分析ユニット44は、目標ビットレート41を達成可能にするために、HOA係数11に関して音場分析を実行するように構成されるユニットを表し得る。音場分析ユニット44は、この分析および/または受信された目標ビットレート41に基づいて、音響心理学的なコーダの具体物の総数(これは環境またはバックグラウンドチャネルの総数(BGTOT)とフォアグラウンドチャネルの数、または言い換えれば支配的なチャネルの数との関数であり得るを決定することができる。音響心理学的なコーダの具体物の総数は、numHOATransportChannelsとして示され得る。音場分析ユニット44はまた、やはり目標ビットレート41を達成可能にするために、フォアグラウンドチャネルの総数(nFG)45と、バックグラウンド(または言い換えれば環境的な)音場の最小次数(NBG、または代替的にはMinAmbHoaOrder)と、バックグラウンド音場の最小次数を表す実際のチャネルの対応する数(nBGa=(MinAmbHoaOrder+1)2)と、送信すべき追加のBG HOAチャネルのインデックス(i)(これは、図4の例ではバックグラウンドチャネル情報43として総称的に示され得る)とを決定することができる。バックグラウンドチャネル情報42は、環境チャネル情報43とも呼ばれ得る。numHOATransportChannels−nBGaで残るチャネルの各々は、「追加のバックグラウンド/環境チャネル」、「アクティブなベクトルベースの支配的なチャネル」、「アクティブな指向性ベースの支配的な信号」、または「完全に非アクティブ」のいずれかであり得る。一実施形態では、これらのチャネルタイプは、2ビットによるシンタックス要素(「ChannelType」として)示され得る(たとえば、00:追加のバックグラウンドチャネル、01:ベクトルベースの支配的な信号、10:非アクティブな信号、11:指向性ベースの信号)。バックグラウンド信号または環境信号の総数、nBGaは、(MinAmbHoaOrder+1)2+(上の例の)インデックス00がそのフレームのためのビットストリームにおいてチャネルタイプとして現れる階数として、与えられ得る。
[0192]いずれにしても、音場分析ユニット44は、目標ビットレート41に基づいて、バックグラウンド(または言い換えれば環境)チャネルの数とフォアグラウンド(または言い換えれば支配的な)チャネルの数とを選択し、目標ビットレート41が比較的高いとき(たとえば、目標ビットレート41が512Kbps以上であるとき)はより多くのバックグラウンドチャネルおよび/またはフォアグラウンドチャネルを選択することができる。一実施形態では、numHOATransportChannelsは8に設定され得るが、MinAmbHoaOrderはビットストリームのヘッダセクションにおいて1に設定され得る(これは図10〜図10O(ii)に関してより詳細に説明される)。このシナリオでは、各フレームにおいて、音場のバックグラウンド部分または環境部分を表すために4つのチャネルが確保され得るが、他の4つのチャネルは、フレームごとに、チャネルのタイプに応じて変化してよく、たとえば、追加のバックグラウンド/環境チャネルと、フォアグラウンド/支配的なチャネルのいずれかとして使用され得る。フォアグラウンド/支配的な信号は、上で説明されたように、ベクトルベースの信号と指向性ベースの信号の1つであり得る。
[0193]いくつかの例では、フレームに対するベクトルベースの支配的な信号の総数は、上の例では、そのフレームのビットストリームにおいてChannelTypeインデックスが01である回数によって与えられ得る。上の実施形態では、各々の追加のバックグラウンド/環境チャネル(たとえば、00というChannelTypeに対応する)に対して、(最初の4つ以外の)あり得るHOA係数のいずれがそのチャネルにおいて表され得るかの対応する情報。この情報は、4次のHOAコンテンツでは、5と25の間を示すためのインデックスであり得る(minAmbHoaOrderが1に設定されているときは最初の4つである1〜4が常に送信され得るので、5と25の間の1つを示すことだけが必要である)。この情報はしたがって、「CodedAmbCoeffIdx」として示され得る、5ビットのシンタックス要素(4次のコンテンツのための)を使用して送信され得る。
[0194]第2の実施形態では、フォアグラウンド/支配的な信号のすべてがベクトルベースの信号である。この第2の実施形態では、フォアグラウンド/支配的な信号の総数は、nFG=numHOATransportChannels−[(MinAmbHoaOrder+1)2+インデックス00の回数]として与えられ得る。
[0195]音場分析ユニット44は、バックグラウンドチャネル情報43とHOA係数11とをバックグラウンド(BG)選択ユニット46に、バックグラウンドチャネル情報43を係数低減ユニット46およびビットストリーム生成ユニット42に、nFG45をフォアグラウンド選択ユニット36に出力する。
[0196]いくつかの例では、音場分析ユニット44は、US[k]行列33のベクトルおよび目標ビットレート41の分析に基づいて、最大の値を有するこれらの成分の変数nFGの数を選択することができる。言い換えれば、音場分析ユニット44は、S[k]行列33のベクトルの降順の対角線上の値によって作成される曲線の傾きを分析することによって、2つのサブ空間を分離する変数Aの値(NBGと同様である、または実質的に同様であり得る)を決定することができ、ここで、大きい特異値はフォアグラウンド音声または明瞭な音声を表し、小さい特異値は音場のバックグラウンド成分を表す。すなわち、変数Aは、フォアグラウンドサブ空間およびバックグラウンドサブ空間へと全体の音場を区分することができる。
[0197]いくつかの例では、音場分析ユニット44は、特異値曲線の一次導関数と二次導関数とを使用することができる。音場分析ユニット44はまた、1と5の間となるように変数Aの値を制限することができる。別の例として、音場分析ユニット44は、1と(N+1)2の間となるように変数Aの値を制限することができる。代替的に、音場分析ユニット44は、4という値などへと変数Aの値を事前に定めることができる。いずれにしても、Aの値に基づいて、音場分析ユニット44は、フォアグラウンドチャネルの総数(nFG)45と、バックグラウンド音場の次数(NBG)と、送信すべき追加のBG HOAチャネルの数(nBGa)およびインデックス(i)とを決定する。
[0198]さらに、音場分析ユニット44は、ベクトルごとにV[k]行列35のエネルギーを決定することができる。音場分析ユニット44は、V[k]行列35中のベクトルの各々のエネルギーを決定し、高いエネルギーを有するベクトルをフォアグラウンド成分として識別することができる。
[0199]その上、音場分析ユニット44は、空間エネルギー分析、空間マスキング分析、拡散分析、または他の形態の聴覚的分析を含む、様々な他の分析をHOA係数11に関して実行することができる。音場分析ユニット44は、空間領域へのHOA係数11の変換を通じて空間エネルギー分析を実行することができ、保存されるべき音場の指向性成分を表す高エネルギーの領域を識別する。音場分析ユニット44は、音場分析ユニット44が空間的に近接しているより高エネルギーの音によってマスキングされる空間領域を識別できることを除き、空間エネルギー分析と同様の方式で知覚的空間マスキング分析を実行することができる。音場分析ユニット44は次いで、知覚的にマスキングされた領域に基づいて、いくつかの例ではより少数のフォアグラウンド成分を識別することができる。音場分析ユニット44はさらに、音場のバックグラウンド成分を表し得る拡散エネルギーの領域を識別するために、HOA係数11に関して拡散分析を実行することができる。
[0200]音場分析ユニット44はまた、オーディオデータと関連付けられる指向性ベースの情報を使用して、音場を表すオーディオデータの顕著さ、明瞭性、または優位性を決定するように構成されるユニットを表し得る。エネルギーベースの決定は、音場の明瞭なオーディオ成分を識別するためにSVDによって分解された音場のレンダリングを改善し得るが、バックグラウンドオーディオ成分が高いエネルギーレベルを示す場合は、エネルギーベースの決定はまた、デバイスに、明瞭なオーディオ成分としてバックグラウンドオーディオ成分を誤って識別させることがある。すなわち、エネルギーのみに基づいて明瞭なオーディオ成分とバックグラウンドオーディオ成分を分離することは、高エネルギーの(たとえば、より大きい)バックグラウンドオーディオ成分が明瞭なオーディオ成分として誤って識別されることがあるので、安定的ではないことがある。音場の明瞭なオーディオ成分とバックグラウンドオーディオ成分をより安定的に区別するために、本開示で説明される技法の様々な態様は、音場分析ユニット44に、HOA係数11の分解されたバージョンからフォアグラウンドオーディオ成分と環境オーディオ成分とを分離するためにHOA係数11の指向性ベースの分析を実行させることができる。
[0201]この点において、音場分析ユニット44は、US[k]行列33中のベクトルおよびV[k]行列35中のベクトルの1つまたは複数に含まれるバックグラウンド要素から明瞭な(またはフォアグラウンド)要素を識別するように構成される、または別様に動作可能である、ユニットを表し得る。いくつかのSVDベースの技法に従って、最も高エネルギーの成分(たとえば、US[k]行列33およびV[k]行列35またはそれらから導出されるベクトルの1つまたは複数の最初のいくつかのベクトル)は、明瞭な成分として扱われ得る。しかしながら、US[k]行列33中のベクトルおよびV[k]行列35中のベクトルの1つまたは複数の最も高エネルギーの成分(ベクトルによって表される)は、すべての状況において、最も指向性のある成分/信号を表すとは限らない。
[0202]音場分析ユニット44は、US[k]行列33中のベクトルおよびV[k]行列35中のベクトルまたはそれらから導出されたベクトルの1つまたは複数のベクトルの指向性に基づいて、フォアグラウンド/直接の/支配的な要素を識別するために、本明細書で説明される技法の1つまたは複数の態様を実施することができる。いくつかの例では、音場分析ユニット44は、ベクトルのエネルギーと指向性の両方に基づいて、1つまたは複数のベクトルを明瞭なオーディオ成分として識別または選択することができる(ここで、成分は「オブジェクト」とも呼ばれ得る)。たとえば、音場分析ユニット44は、US[k]行列33中のベクトルおよびV[k]行列35中のベクトル(またはそれらから導出されたベクトル)の1つまたは複数のベクトルのうち、高いエネルギーと(指向性指数として表される)高い指向性の両方を示すものを、明瞭なオーディオ成分として識別することができる。結果として、特定のベクトルがUS[k]行列33中のベクトルおよびV[k]行列35中のベクトルの1つまたは複数の他のベクトルと比較されると比較的指向性が小さいと音場分析ユニット44が決定する場合、特定のベクトルと関連付けられるエネルギーレベルとは無関係に、音場分析ユニット44は、その特定のベクトルがHOA係数11によって表される音場のバックグラウンド(または環境)オーディオ成分を表すと決定することができる。
[0203]いくつかの例では、音場分析ユニット44は、以下の演算を実行することによって、指向性に基づいて明瞭なオーディオオブジェクト(上で述べられたように、「成分」とも呼ばれ得る)を識別することができる。音場分析ユニット44は、S[k]行列中のベクトル(US[k]ベクトル33から導出され得る、または図4の例には示されないがLITユニット30によって別個に出力される)を、(たとえば、1つまたは複数の行列乗算処理を使用して)V[k]行列35中のベクトルと乗算することができる。V[k]行列35とS[k]行列とを乗算することによって、音場分析ユニット44はVS[k]行列を得ることができる。加えて、音場分析ユニット44は、VS[k]行列中のベクトルの各々の成分の少なくともいくつかを二乗する(すなわち、2という冪によって冪乗する)ことができる。いくつかの例では、音場分析ユニット44は、1より大きい次数と関連付けられる各ベクトルの二乗された成分を加算することができる。
[0204]一例として、VS[k]行列の各ベクトルが25個の成分を含む場合、音場分析ユニット44は、各ベクトルに関して、5番目の成分から始まり25番目の成分で終わるように各ベクトルの成分を二乗し、二乗された成分を加算して指向性指数(または指向性インジケータ)を決定することができる。各加算演算は、対応するベクトルの指向性指数をもたらし得る。この例では、音場分析ユニット44は、1以下の次数と関連付けられる各行の成分、すなわち1番目から4番目の成分が、一般的にエネルギーの量をより対象としており、成分の指向性はあまり対象としていないと、決定することができる。すなわち、0または1という次数と関連付けられる低次アンビソニックスは、図1および図2に示されるように、圧力波の方向に関して多くのことを提供せずむしろ何らかの大きさ(これはエネルギーを表す)を提供する、球面基底関数に対応する。
[0205]上の例で説明される演算はまた、以下の擬似コードに従って表され得る。以下の擬似コードは、(引用符を伴わない)文字列「/*」および「*/」の連続する実例の中に含まれるコメント記述の形式の、注釈を含む。
[U,S,V] = svd(audioframe,'ecom');
VS = V*S;
/*次の行は、各行を独立に分析することと、対応するベクトルの指向性指数または指向性尺度を決定するために5番目の成分から25番目の成分まで(一例として)第1の行の中の値を加算することとを対象とする。加算の前に成分を二乗する。1より大きい次数と関連付けられる各行の中の成分は、高次アンビソニックスと関連付けられるので、指向性がある可能性がより高い。*/
sumVS = sum(VS(5:end,:).^2,1);
/*次の行は、生成されたVS行列の二乗の合計をソートすることと、最大の値のセット(たとえば、最大の値の3つまたは4つ)を選択することとを対象とする*/
[~,idxVS] = sort(sumVS,'descend');
U = U(:,idxVS);
V = V(:,idxVS);
S = S(idxVS,idxVS);
[0206]言い換えれば、上の擬似コードに従って、音場分析ユニット44は、HOA係数11のうちで1より大きい次数を有する球面基底関数に対応するものから分解されたVS[k]行列の各ベクトルの成分を選択することができる。音場分析ユニット44は次いで、VS[k]行列の各ベクトルのこれらの成分を二乗し、二乗された成分を加算して、VS[k]行列の各ベクトルの指向性尺度または指向性指数を識別し、計算し、または別様に決定することができる。次に、音場分析ユニット44は、ベクトルの各々のそれぞれの指向性尺度に基づいて、VS[k]行列のベクトルをソートすることができる。音場分析ユニット44は、最高の対応する指向性と関連付けられるベクトルが最初になり、最低の対応する指向性と関連付けられるベクトルが最後となるように、指向性尺度の降順でこれらのベクトルをソートすることができる。音場分析ユニット44は次いで、最高の相対的な指向性尺度を有するベクトルの0ではないサブセットを選択することができる。
[0207]音場分析ユニット44は、音響心理学的なコーダの具体物の総数(これは環境またはバックグラウンドチャネルの総数(BGTOT)の関数であり得るとフォアグラウンドチャネルの数とを決定するために、前述の分析の任意の組合せを実行することができる。音場分析ユニット44は、前述の分析の任意の組合せに基づいて、フォアグラウンドチャネルの総数(nFG)45と、バックグラウンド音場の次数(NBG)と、送信すべき追加のBG HOAチャネルの数(nBGa)およびインデックス(i)(図4の例ではバックグラウンドチャネル情報43としてまとめて示され得る)とを決定することができる。
[0208]いくつかの例では、音場分析ユニット44はこの分析を各々のM個のサンプルについて実行することができ、これはフレームごとに再表示され得る。この点で、Aの値はフレームごとに変化し得る。決定が各々のM個のサンプルについて行われるビットストリームの例が、図10〜図10O(ii)に示される。他の例では、音場分析ユニット44は、フレームごとに2回以上この分析を実行し、フレームの2つ以上の部分を分析することができる。したがって、本技法は、この点で、本開示で説明されている例に限定されるべきではない。
[0209]バックグラウンド選択ユニット48は、バックグラウンドチャネル情報(たとえば、バックグラウンド音場(NBG)と、送信すべき追加のBG HOAチャネルの数(nBGa)およびインデックス(i))に基づいてバックグラウンドまたは環境HOA係数47を決定するように構成されるユニットを表し得る。たとえば、NBGが1に等しいとき、バックグラウンド選択ユニット48は、1以下の次数を有するオーディオフレームの各サンプルのHOA係数11を選択することができる。バックグラウンド選択ユニット48は次いで、この例では、インデックス(i)の1つによって識別されるインデックスを有するHOA係数11を、追加のBG HOA係数として選択することができ、ここで、nBGaは、図3の例に示されるオーディオ復号デバイス24などのオーディオ復号デバイスがビットストリーム21からBG HOA係数47を解析することを可能にするために、ビットストリーム21において指定されることになるビットストリーム生成ユニット42に提供される。バックグラウンド選択ユニット48は次いで、環境HOA係数47をエネルギー補償ユニット38に出力することができる。環境HOA係数47は、次元D:M×[(NBG+1)2+nBGa]を有し得る。
[0210]フォアグラウンド選択ユニット36は、再順序付けられたUS[k]行列33’および再順序付けられたV[k]行列35’のうちで音場のフォアグラウンド成分または明瞭な成分を表すものを、nFG45(これらのフォアグラウンドベクトルを識別する1つまたは複数のインデックスを表し得る)に基づいて選択するように構成されるユニットを表し得る。フォアグラウンド選択ユニット36は、nFG信号49(再順序付けられたUS[k]1,...,nFG49、FG1,...,nFG[k]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として示され得る(これは、以下の式として数学的に示され得る)。
[0211]エネルギー補償ユニット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に出力することができる。
[0212]実質的に、エネルギー補償ユニット38は、次数低減された環境HOA係数47(これは、いくつかの例では、[(NBG+1)2+nBGa])という次数/位数を有する球面基底関数に対応する含まれる係数のみに関してN未満の次数を有する)を生成するためにHOA係数11によって記述される音場の環境成分の次数を低減することによって引き起こされる、音場のバックグラウンド音声成分の全体的なエネルギーの起こり得る減少を補償するために使用され得る。いくつかの例では、エネルギー補償ユニット38は、環境HOA係数47を音響心理学的オーディオコーダユニット40に出力する前に、HOA係数47の二乗平均平方根(RMS)エネルギーを(再順序付けられたUS[k]行列33’、再順序付けられたV[k]行列35’、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数の総計的なエネルギー分析を通じて決定される)HOA係数11のRMSに等しく、または少なくともそれにより近くなるように増大させるために、環境HOA係数47の[(NBG+1)2+nBGa]個の列の各々に適用すべき増幅値の形態で補償利得を決定することによって、このエネルギーの損失を補償する。
[0213]いくつかの例では、エネルギー補償ユニット38は、再順序付けられたUS[k]行列33’と再順序付けられたV[k]行列35’の1つまたは複数の各行および/または各列のRMSを識別することができる。エネルギー補償ユニット38はまた、選択されたフォアグラウンドチャネルの1つまたは複数の各行および/または各列のRMSを識別することができ、選択されたフォアグラウンドチャネルは、nFG信号49と、フォアグラウンドV[k]ベクトル51kと、次数低減された環境HOA係数47とを含み得る。再順序付けられたUS[k]行列33’および再順序付けられたV[k]行列35’の1つまたは複数の各行および/または各列のRMSは、RMSFULLと示されるベクトルに記憶され得るが、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数の各行および/または各列のRMSは、RMSREDUCEDと示されるベクトルに記憶され得る。エネルギー補償ユニット38は次いで、Z=RMSFULL/RMSREDUCEDという式に従って、増幅値ベクトルZを計算することができる。エネルギー補償ユニット38は次いで、この増幅値ベクトルZまたはその様々な部分を、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数に適用することができる。いくつかの例では、増幅値ベクトルZは、次の式HOABG-RED’=HOABG-REDZTによって、次数低減された環境HOA係数47のみに適用され、ここでHOABG-REDは次数低減された環境HOA係数47を示し、HOABG-RED’はエネルギー補償され低減された環境HOA係数47’を示し、ZTはZベクトルの転置を示す。
[0214]いくつかの例では、再順序付けられたUS[k]行列33’、再順序付けられたV[k]行列35’、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数のそれぞれの行および/または列の各RMSを決定するために、エネルギー補償ユニット38はまず、基準球面調和係数(SHC)レンダラを列に適用することができる。エネルギー補償ユニット38による基準SHCレンダラの適用は、以下でより詳細に説明されるように、再順序付けられたUS[k]行列33’、再順序付けられたV[k]行列35’、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数の行および/または列によって表されるフレームの各行および/または各列によって記述される音場全体のエネルギーを決定するための、SHC領域におけるRMSの決定を可能にする。
[0215]空間−時間的補間ユニット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]ベクトル51kのうちで補間されたフォアグラウンドV[k]ベクトルを生成するために使用されたものを出力することができる。フォアグラウンドV[k]ベクトル51kのうちで補間されたフォアグラウンドV[k]ベクトルを生成するために使用されたものは、残りのフォアグラウンドV[k]ベクトル53として示される。同じV[k]およびV[k−1]が符号化器および復号器において(補間されたベクトルV[k]を作成するために)使用されることを確実にするために、これらの量子化された/逆量子化されたバージョンが符号化器および復号器において使用され得る。
[0216]この点において、空間−時間的補間ユニット50は、第1のオーディオフレームおよび第2の時間的に後続のまたは先行するオーディオフレームのいくつかの他の部分から第1のオーディオフレームの第1の部分を補間するユニットを表し得る。いくつかの例では、それらの部分はサブフレームとして示されることがあり、サブフレームに関して実行されるような補間は、図45〜図46Eに関してより詳細に説明される。他の例では、空間−時間的補間ユニット50は、図37〜図39に関してより詳細に説明されるように、以前のフレームの最後のある数のサンプル、および後続のフレームの最初のある数のサンプルに関して動作することができる。空間−時間的補間ユニット50は、この補間を実行する際に、ビットストリーム21において指定されることが要求されるフォアグラウンドV[k]ベクトル51kのサンプルの数を減らすことができ、それは、フォアグラウンドV[k]ベクトル51kのうちで補間されたV[k]ベクトルを生成するために使用されるもののみが、フォアグラウンドV[k]ベクトル51kのサブセットを表すからである。すなわち、(ビットストリーム21において指定されるフォアグラウンドV[k]ベクトル51kの数を減らすことによって)HOA係数11の圧縮を潜在的により効率的に行えるようにするために、本開示で説明される技法の様々な態様は、第1のオーディオフレームの1つまたは複数の部分の補間を提供することができ、それらの部分の各々はHOA係数11の分解されたバージョンを表し得る。
[0217]空間−時間的補間は、いくつかの利益をもたらし得る。まず、SVDまたは他のLITが実行される際のブロックごとの性質により、nFG信号49がフレームとフレームの間で連続的ではないことがある。言い換えれば、LITユニット30がフレームごとにSVDを適用するとすると、たとえばUS[k]行列33およびV[k]行列35の再順序付けられていない性質により証拠として、得られた変換されたHOA係数に何らかの不連続性が存在し得る。この補間を実行することによって、フレーム境界(または言い換えれば、HOA係数11のフレームへの区分)が原因でもたらされるあらゆるアーティファクトを低減する可能性のある平滑化効果を補間が有し得るとすると、不連続性は低減され得る。この補間を実行するためにフォアグラウンドV[k]ベクトル51kを使用し、次いで、補間されたフォアグラウンドV[k]ベクトル51kに基づいて復元された再順序付けられたHOA係数から補間されたnFG信号49’を生成することで、フレームごとの演算が原因の、さらにはnFG信号49の再順序付けが原因の少なくともいくつかの影響を平滑化することができる。
[0218]演算において、空間−時間的補間ユニット50は、第1のフレームに含まれる第1の複数のHOA係数11の一部分の第1の分解、たとえばフォアグラウンドV[k]ベクトル51k、および第2のフレームに含まれる第2の複数のHOA係数11の一部分の第2の分解、たとえばフォアグラウンドV[k]ベクトル51k-1から、第1のオーディオフレームの1つまたは複数のサブフレームを補間して、1つまたは複数のサブフレームのための分解され補間された球面調和係数を生成することができる。
[0219]いくつかの例では、第1の分解は、HOA係数11の部分の右特異ベクトルを表す第1のフォアグラウンドV[k]ベクトル51kを備える。同様に、いくつかの例では、第2の分解は、HOA係数11の部分の右特異ベクトルを表す第2のフォアグラウンドV[k]ベクトル51kを備える。
[0220]言い換えれば、球面調和関数ベースの3Dオーディオは、球面上の直交基底関数による3D圧力場のパラメトリックな表現であり得る。表現の次数Nが高いほど、空間分解能は高くなる可能性があり、(全体で(N+1)2個の係数に対して)球面調和(SH)係数の数は大きくなることが多い。多くの適用形態において、係数を効率的に送信し記憶することを可能にするために、係数の帯域幅圧縮が必要とされ得る。本開示において対象とされるこの技法は、特異値分解(SVD)を使用した、フレームベースの次元低減プロセスを提供することができる。SVD分析は、係数の各フレームを3つの行列U、S、およびVに分解することができる。いくつかの例では、本技法は、US[k]行列中のベクトルのいくつかを、背後にある音場のフォアグラウンド成分として扱うことができる。しかしながら、この方式で扱われると、これらのベクトル(US[k]行列中の)は、それらが同じ明瞭なオーディオ成分を表すとしても、フレームとフレームの間で不連続である。これらの不連続性は、成分が変換オーディオコーダを通じて供給されるときに、重大なアーティファクトにつながり得る。
[0221]本開示で説明される技法は、この不連続性に対処し得る。すなわち、本技法は、球面調和関数領域における直交する空間軸としてV行列が解釈され得るという考察に基づき得る。U[k]行列は、基底関数によって球面調和関数(HOA)データの射影を表すことができ、ここで、不連続性は、フレームごとに変化ししたがってそれら自体が不連続である直交空間軸(V[k])に原因を帰すことができる。これは、基底関数がいくつかの例では複数のフレームにわたって一定であるフーリエ変換などの同様の分解とは異なる。これらの点で、SVDは、matching pursuitアルゴリズムであると見なされ得る。本開示で説明される技法は、空間−時間的補間ユニット50が、フレームとフレームの間で基底関数(V[k])の連続性を、フレーム間を補間することによって保つことを可能にし得る。
[0222]上で述べられたように、この補間はサンプルに関して実行され得る。この場合は、サブフレームがサンプルの単一のセットを備える上の説明において一般化される。サンプルにわたる補間とサブフレームにわたる補間の両方の場合において、補間演算は次の式の形態であり得る。
この上の式において、補間は、単一のVベクトルv(k−1)から単一のVベクトルv(k)に関して実行されてよく、このことは、一実施形態では、隣接するフレームkおよびk−1からVベクトルを表し得る。上の式において、lは補間が実行されている分解能を表し、ここでlは整数のサンプルを示すことができ、l=1,...,Tである(ここで、Tはそれらにわたる補間が実行されており出力される補間されたベクトル
が必要とされるサンプルの長さであり、このプロセスの出力がこれらのベクトルのlを生成することも示す)。代替的に、lは複数のサンプルからなるサブフレームを示し得る。たとえば、フレームが4つのサブフレームに分割されるとき、lはサブフレームの各々1つに対して、1、2、3、および4という値を備え得る。lの値は、ビットストリームを通じて「CodedSpatialInterpolationTime」という名称のフィールドとしてシグナリングされ得るので、補間演算は復号器において繰り返され得る。w(l)は、補間の重みの値を備え得る。補間が線形であるとき、w(l)は、lの関数として0と1の間で線形に、および単調に変化し得る。他の例では、w(l)は、非線形に、しかしlの関数として非単調な(二乗余弦の4分の1周期などの)方式で0と1の間で変化し得る。関数w(l)は、同一の補間演算が復号器によって繰り返され得るように、いくつかの異なる関数の可能性の間でインデックスが付けられて、「SpatialInterpolationMethod」という名称のフィールドとしてビットストリームにおいてシグナリングされ得る。w(l)が0に近い値であるとき、出力
は、v(k−1)によって大きく重み付けられ、またはその影響を受け得る。一方、w(l)が1に近い値であるとき、そのことは、出力
が、v(k−1)によって大きく重み付けられ、またはその影響を受けることを確実にする。
[0223]係数低減ユニット46は、低減されたフォアグラウンドV[k]ベクトル55を量子化ユニット52に出力するために、バックグラウンドチャネル情報43に基づいて残りのフォアグラウンドV[k]ベクトル53に関して係数低減を実行するように構成されるユニットを表し得る。低減されたフォアグラウンドV[k]ベクトル55は、次元D:[(N+1)2−(NBG+1)2−nBGa]×nFGを有し得る。
[0224]係数低減ユニット46は、この点において、残りのフォアグラウンドV[k]ベクトル53の係数の数を減らすように構成されるユニットを表し得る。言い換えれば、係数低減ユニット46は、(残りのフォアグラウンドV[k]ベクトル53を形成する)フォアグラウンドV[k]ベクトルの係数のうちで指向性情報をほとんどまたはまったく有しないものを除去するように構成されるユニットを表し得る。上で説明されたように、いくつかの例では、明瞭な、または言い換えればフォアグラウンドV[k]ベクトルの係数のうちで、1次または0次の基底関数に対応するもの(NBGと示され得る)は、指向性情報をほとんど提供しないので、フォアグラウンドVベクトルから(「係数低減」と呼ばれ得るプロセスを通じて)除去され得る。この例では、NBGに対応するこれらの係数を識別するだけではなく、追加のHOAチャネル(変数TotalOfAddAmbHOAChanによって示され得る)を[(NBG+1)2+1,(N+1)2]のセットから識別するために、より大きい柔軟性が与えられ得る。音場分析ユニット44は、BGTOTを決定するためにHOA係数11を分析することができ、BGTOTは、(NBG+1)2だけではなくTotalOfAddAmbHOAChanを識別することができ、これらはバックグラウンドチャネル情報43とまとめて呼ばれ得る。係数低減ユニット46は次いで、(NBG+1)2およびTotalOfAddAmbHOAChanに対応する係数を残りのフォアグラウンドV[k]ベクトル53から除去して、低減されたフォアグラウンドV[k]ベクトル55とも呼ばれ得る、サイズが((N+1)2−(BGTOT))×nFGであるより低次元のV[k]行列55を生成することができる。
[0225]量子化ユニット52は、コーディングされたフォアグラウンドV[k]ベクトル57を生成するために低減されたフォアグラウンドV[k]ベクトル55を圧縮するための任意の形式の量子化を実行し、これらのコーディングされたフォアグラウンドV[k]ベクトル57をビットストリーム生成ユニット42に出力するように構成されるユニットを表し得る。動作において、量子化ユニット52は、音場の空間成分、すなわちこの例では低減されたフォアグラウンドV[k]ベクトル55の1つまたは複数を圧縮するように構成されるユニットを表し得る。例示の目的で、低減されたフォアグラウンドV[k]ベクトル55は、係数低減の結果として各々25個未満の要素を有する(これは音場の4次のHOA表現を示唆する)2つの行ベクトルを含むと仮定される。2つの行ベクトルに関して説明されるが、最大で(n+1)2個までの任意の数のベクトルが低減されたフォアグラウンドV[k]ベクトル55に含まれてよく、nは音場のHOA表現の次数を示す。その上、スカラー量子化および/またはエントロピー量子化を実行するものとして以下で説明されるが、量子化ユニット52は、低減されたフォアグラウンドV[k]ベクトル55の圧縮をもたらす任意の形式の量子化を実行することができる。
[0226]量子化ユニット52は、低減されたフォアグラウンドV[k]ベクトル55を受信し、コーディングされたフォアグラウンドV[k]ベクトル57を生成するためにある圧縮スキームを実行することができる。この圧縮スキームは、ベクトルまたはデータの要素を圧縮するための任意の想起可能な圧縮スキームを全般に含んでよく、以下でより詳細に説明される例に限定されるべきではない。量子化ユニット52は、ある例として、低減されたフォアグラウンドV[k]ベクトル55の各要素の浮動小数点表現を低減されたフォアグラウンドV[k]ベクトル55の各要素の整数表現へと変換すること、低減されたフォアグラウンドV[k]ベクトル55の整数表現の一様量子化、および、残りのフォアグラウンドV[k]ベクトル55の量子化された整数表現の分類とコーディングの1つまたは複数を含む、圧縮スキームを実行することができる。
[0227]いくつかの例では、この圧縮スキームの1つまたは複数のプロセスの様々なものが、一例として、得られるビットストリーム21の目標ビットレートを達成するために、またはほぼ達成するために、パラメータによって動的に制御され得る。低減されたフォアグラウンドV[k]ベクトル55の各々が互いに正規直交であるとすると、低減されたフォアグラウンドV[k]ベクトル55の各々は独立にコーディングされ得る。いくつかの例では、以下でより詳細に説明されるように、各々の低減されたフォアグラウンドV[k]ベクトル55の各要素は、(様々なサブモードによって定義される)同じコーディングモードを使用してコーディングされ得る。
[0228]いずれにしても、上で述べられたように、このコーディングスキームはまず、低減されたフォアグラウンドV[k]ベクトル55の各々の各要素の浮動小数点表現(これは、いくつかの例では32ビットの浮動小数点数である)を16ビットの整数表現に変換することを伴い得る。量子化ユニット52は、低減されたフォアグラウンドV[k]ベクトル55の所与の1つの各要素を215と乗算することによって、この浮動小数点から整数への変換を実行することができ、これはいくつかの例では、15だけ右シフトすることによって実行される。
[0229]量子化ユニット52は次いで、低減されたフォアグラウンドV[k]ベクトル55の所与の1つの要素のすべてに関して一様量子化を実行することができる。量子化ユニット52は、nbitsパラメータとして示され得る値に基づいて、量子化ステップサイズを識別することができる。量子化ユニット52は、目標ビットレート41に基づいてこのnbitsパラメータを動的に決定することができる。量子化ユニット52は、このnbitsパラメータの関数として量子化ステップサイズを決定することができる。一例として、量子化ユニット52は、216-nbitsに等しいものとして、量子化ステップサイズ(本開示では「デルタ」または「Δ」として示される)を決定することができる。この例では、nbitsが6に等しい場合、デルタは210に等しく、26個の量子化レベルがある。この点において、ベクトル要素vに対して、量子化されたベクトル要素vqは[v/Δ]に等しく、−2nbits-1<vq<2nbits-1である。
[0230]量子化ユニット52は次いで、量子化されたベクトル素子の分類と残差コーディングとを実行することができる。一例として、量子化ユニット52は、所与の量子化されたベクトル要素vqに対して、この要素が対応するカテゴリを(カテゴリ識別子cidを決定することによって)、次の式を使用して識別することができる:
量子化ユニット52は次いで、このカテゴリインデックスcidをハフマンコーディングし、一方で、vqが正の値から負の値かを示す符号ビットを識別することもできる。量子化ユニット52は次に、このカテゴリにおける残差を識別することができる。一例として、量子化ユニット52は、次の式にしたがって残差を決定することができる:
残差=|vq|−2cid-1
量子化ユニット52は次いで、この残差をcid−1ビットによってブロックコーディングすることができる。
[0231]次の例は、この分類および残差コーディングのプロセスの簡略化された例を示す。まず、nbitsが6に等しいのでvq∈[−31,31]であると仮定する。次に、以下のことを仮定する。
また、以下のことを仮定する。
したがって、vq=[6,−17,0,0,3]に対して、次のことが決定され得る:
>> 3,5,0,0,2
>> 符号 = 1,0,x,x,1
>> 残差 = 2,1,x,x,1
>> 6に対するビット = ‘0010’ + ’1’ + ’10’
>> −17に対するビット = ‘00111’ + ’0’ + ‘0001’
>> 0に対するビット = ‘0’
>> 0に対するビット = ‘0’
>> 3に対するビット = ‘000’ + ‘1’ + ‘1’
>> 総ビット = 7+10+1+1+5 = 24
>> 平均ビット = 24/5 = 4.8
[0232]前述の簡略化された例には示されないが、量子化ユニット52は、cidをコーディングするとき、nbitsの異なる値に対して異なるハフマンコードブックを選択することができる。いくつかの例では、量子化ユニット52は、nbits値6,...,15に対して異なるハフマンコーディングテーブルを提供することができる。その上、量子化ユニット52は、全体で50個のハフマンコードブックに対して、6,...,15にわたる異なるnbits値の各々に対する5個の異なるハフマンコードブックを含み得る。この点において、量子化ユニット52は、いくつかの異なる統計的な状況においてcidのコーディングに対処するための、複数の異なるハフマンコードブックを含み得る。
[0233]説明するために、量子化ユニット52は、nbits値の各々に対して、1から4までのベクトル要素をコーディングするための第1のハフマンコードブックと、5から9までのベクトル要素をコーディングするための第2のハフマンコードブックと、9以上のベクトル要素をコーディングするための第3のハフマンコードブックとを含み得る。これらの最初の3つのハフマンコードブックは、圧縮されるべき低減されたフォアグラウンドV[k]ベクトル55の1つが低減されたフォアグラウンドV[k]ベクトル55の対応する時間的に後続のベクトルから予測されず、合成オーディオオブジェクト(たとえば、パルス符号変調(PCM)されたオーディオオブジェクトによって最初は定義されたもの)の空間情報を表さないときに、使用され得る。量子化ユニット52は追加で、nbits値の各々に対して、低減されたフォアグラウンドV[k]ベクトル55の1つが低減されたフォアグラウンドV[k]ベクトル55の対応する時間的に後続するベクトルから予測されるとき、低減されたフォアグラウンドV[k]ベクトル55のその1つをコーディングするための第4のハフマンコードブックを含み得る。量子化ユニット52はまた、nbits値の各々に対して、低減されたフォアグラウンドV[k]ベクトル55の1つが合成オーディオオブジェクトを表すとき、低減されたフォアグラウンドV[k]ベクトル55のその1つをコーディングするための第5のハフマンコードブックを含み得る。様々なハフマンコードブックが、これらの異なる統計的な状況の各々に対して、すなわちこの例では、予測されず合成ではない状況、予測される状況、および合成の状況に対して、構築され得る。
[0234]以下の表は、ハフマンテーブルの選択と、解凍ユニットが適切なハフマンテーブルを選択することを可能にするためにビットストリーム中で指定されるべきビットとを示す。
前述の表において、予測モード(「予測モード(Pred mode)」)は、現在のベクトルに対して予測が実行されたかどうかを示し、一方でハフマンテーブル(「HT情報」)は、ハフマンテーブル1から5のうちの1つを選択するために使用される追加のハフマンコードブック(またはテーブル)情報を示す。
[0235]以下の表はさらに、様々な統計的な状況またはシナリオが与えられたときのこのハフマンテーブルの選択プロセスを示す。
前述の表において、「録音」列は、録音されたオーディオオブジェクトをベクトルが表すときのコーディング状況を示し、一方で「合成」列は、ベクトルが合成オーディオオブジェクトを表すときのコーディング状況を示す。「予測なし」行は、予測がベクトル要素に関して実行されないときのコーディング状況を示し、一方で「予測あり」行は、予測がベクトル要素に関して実行されるときのコーディング状況を示す。この表に示されるように、量子化ユニット52は、ベクトルが録音されたオーディオオブジェクトを表し予測がベクトル要素に関して実行されないとき、HT{1,2,3}を選択する。量子化ユニット52は、オーディオオブジェクトが合成オーディオオブジェクトを表し予測がベクトル要素に関して実行されないとき、HT5を選択する。量子化ユニット52は、ベクトルが録音されたオーディオオブジェクトを表し予測がベクトル要素に関して実行されるとき、HT4を選択する。量子化ユニット52は、オーディオオブジェクトが合成オーディオオブジェクトを表し予測がベクトル要素に関して実行されるとき、HT5を選択する。
[0236]この点において、量子化ユニット52は、低減されたフォアグラウンドV[k]ベクトル55を圧縮するために上で述べられたスカラー量子化および/またはハフマン符号化を実行し、サイドチャネル情報57と呼ばれ得るコーディングされたフォアグラウンドV[k]ベクトル57を出力することができる。このサイドチャネル情報57は、残りのフォアグラウンドV[k]ベクトル55をコーディングするために使用されるシンタックス要素を含み得る。量子化ユニット52は、図10Bおよび図10Cの例に示されるものと同様の方式で、サイドチャネル情報57を出力することができる。
[0237]上で述べられたように、量子化ユニット52は、サイドチャネル情報57のためのシンタックス要素を生成することができる。たとえば、量子化ユニット52は、複数の構成モードのいずれが選択されたかを示す、アクセスユニット(1つまたは複数のフレームを含み得る)のヘッダ中のシンタックス要素を指定することができる。アクセスユニットごとに指定されるものとして説明されるが、量子化ユニット52は、フレームごとに、または任意の他の周期的な方式で、または非周期的に(ビットストリーム全体で1回など)このシンタックス要素を指定することができる。いずれにしても、このシンタックス要素は、この明瞭な成分の指向性の様相を表すために、4つの構成モードのいずれが低減されたフォアグラウンドV[k]ベクトル55の係数の0ではないセットを指定するために選択されたかを示す2つのビットを備え得る。シンタックス要素は、「codedVVecLength」として示され得る。このようにして、量子化ユニット52は、4つの構成モードのいずれがコーディングされたフォアグラウンドV[k]ベクトル57をビットストリームにおいて指定するために使用されたかを、ビットストリームにおいてシグナリングし、または別様に指定することができる。4つの構成モードに関して説明されるが、本技法は4つの構成モードに限定されるべきではなく、単一の構成モードまたは複数の構成モードを含む、任意の数の構成モードに限定されるべきである。スカラー/エントロピー量子化ユニット53はまた、サイドチャネル情報57の中の別のシンタックス要素としてフラグ63を指定することができる。
[0238]オーディオ符号化デバイス20に含まれる音響心理学的オーディオコーダユニット40は、音響心理学的オーディオコーダの複数の具体物を表すことができ、これらの各々は、エネルギー補償された環境HOA係数47’と補間されたnFG信号49’の各々の様々なオーディオオブジェクトまたはHOAチャネルを符号化して符号化された環境HOA係数59と符号化されたnFG信号61とを生成するために使用される。音響心理学的オーディオコーダユニット40は、符号化された環境HOA係数59と符号化されたnFG信号61とをビットストリーム生成ユニット42を出力することができる。
[0239]いくつかの例では、この音響心理学的オーディオコーダユニット40は、先進的オーディオコーディング(AAC)符号化ユニットの1つまたは複数の具体物を表し得る。音響心理学的オーディオコーダユニット40は、エネルギー補償された環境HOA係数47’と補間されたnFG信号49’の各列または各行を符号化することができる。しばしば、音響心理学的オーディオコーダユニット40は、エネルギー補償された環境HOA係数47’と補間されたnFG信号49’に残存している次数/位数の各々に対して、AAC符号化ユニットの具体物を呼び出すことができる。バックグラウンド球面調和係数31がどのようにAAC符号化ユニットを使用して符号化され得るかに関するより多くの情報が、第124回会議、2008年5月17〜20日において発表され、http://ro.uow.edu.au/cgi/viewcontent.cgi?article=8025&context=engpapersにおいて利用可能な、Eric Hellerud他、「Encoding Higher Order Ambisonics with AAC」という表題の会議文書において見出され得る。いくつかの例では、オーディオ符号化ユニット14は、補間されたnFG信号49’を符号化するために使用されるものよりも低い目標ビットレートを使用して、エネルギー補償された環境HOA係数47’をオーディオ符号化し、これによって、補間されたnFG信号49’と比較して、エネルギー補償された環境HOA係数47’を場合によってはより圧縮することができる。
[0240]オーディオ符号化デバイス20に含まれるビットストリーム生成ユニット42は、既知のフォーマット(復号デバイスにより知られているフォーマットを指し得る)に適合するようにデータをフォーマットするユニットを表し、これによってベクトルベースのビットストリーム21を生成する。ビットストリーム生成ユニット42はいくつかの例ではマルチプレクサを表してよく、マルチプレクサは、コーディングされたフォアグラウンドV[k]ベクトル57と、符号化された環境HOA係数59と、符号化されたnFG信号61と、バックグラウンドチャネル情報43とを受信することができる。ビットストリーム生成ユニット42は次いで、コーディングされたフォアグラウンドV[k]ベクトル57と、符号化された環境HOA係数59と、符号化されたnFG信号61と、バックグラウンドチャネル情報43とに基づいて、ビットストリーム21を生成することができる。ビットストリーム21は、基本のまたは主要なビットストリームと、1つまたは複数のサイドチャネルビットストリームとを含み得る。
[0241]図4の例には示されないが、オーディオ符号化デバイス20はまた、現在のフレームが指向性ベースの合成を使用して符号化されることになるかベクトルベースの合成を使用して符号化されることになるかに基づいて、オーディオ符号化デバイス20から出力されるビットストリームを(たとえば、指向性ベースのビットストリーム21とベクトルベースのビットストリーム21との間で)切り替える、ビットストリーム出力ユニットを含み得る。このビットストリーム出力ユニットは、(HOA係数11が合成オーディオオブジェクトから生成されたことを検出した結果として)指向性ベースの合成が実行されたか、または(HOA係数が記録されたことを検出した結果として)ベクトルベースの合成が実行されたかを示す、コンテンツ分析ユニット26によって出力されるシンタックス要素に基づいて、この切替えを実行することができる。ビットストリーム出力ユニットは、ビットストリーム21のそれぞれの1つとともに現在のフレームのために使用されるこの切替えまたは現在の符号化を示すために、正しいヘッダシンタックスを指定することができる。
[0242]いくつかの例では、本技法の様々な態様はまた、HOA係数11が合成オーディオオブジェクトから生成されるかどうかをオーディオ符号化デバイス20が決定することを可能にし得る。本技法のこれらの態様は、オーディオ符号化デバイス20が、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかのインジケーションを取得するように構成されることを可能にし得る。
[0243]これらの例および他の例において、オーディオ符号化デバイス20はさらに、球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するように構成される。
[0244]これらの例および他の例において、オーディオ符号化デバイス20は、低減されたフレーム分割された球面調和係数行列を取得するために、音場を表す球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列から第1のベクトルを除外するように構成される。
[0245]これらの例および他の例において、オーディオ符号化デバイス20は、低減されたフレーム分割された球面調和係数行列を取得して、低減されたフレーム分割された球面調和係数行列の残りのベクトルに基づいて低減されたフレーム分割された球面調和係数行列のベクトルを予測するために、音場を表す球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列から第1のベクトルを除外するように構成される。
[0246]これらの例および他の例において、オーディオ符号化デバイス20は、低減されたフレーム分割された球面調和係数行列を取得して、低減されたフレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて低減されたフレーム分割された球面調和係数行列のベクトルを予測するために、音場を表す球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列から第1のベクトルを除外するように構成される。
[0247]これらの例および他の例において、オーディオ符号化デバイス20は、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予測するように構成される。
[0248]これらの例および他の例において、オーディオ符号化デバイス20は、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予想し、予測されたベクトルに基づいて誤差を計算するようにさらに構成される。
[0249]これらの例および他の例において、オーディオ符号化デバイス20は、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予想し、フレーム分割された球面調和係数行列の予測されたベクトルと対応するベクトルとに基づいて誤差を計算するようにさらに構成される。
[0250]これらの例および他の例において、オーディオ符号化デバイス20は、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予測し、フレーム分割された球面調和係数行列の予測されたベクトルと対応するベクトルとの差の絶対値の合計として誤差を計算するように構成される。
[0251]これらの例および他の例において、オーディオ符号化デバイス20は、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予測し、フレーム分割された球面調和係数行列の予測されるベクトルと対応するベクトルとに基づいて誤差を計算し、フレーム分割された球面調和係数行列の対応するベクトルのエネルギーと誤差とに基づいて比を計算し、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するために比と閾値を比較するように構成される。
[0252]これらの例および他の例において、オーディオ符号化デバイス20は、球面調和係数の圧縮されたバージョンを記憶するビットストリーム21中のインジケーションをコンフィギャードツー指定するように構成される。
[0253]いくつかの例において、様々な技法は、オーディオ符号化デバイス20が、HOA係数11に関して変換を実行することを可能にし得る。これらの例および他の例において、オーディオ符号化デバイス20は、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを取得するように構成されてよく、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、複数の球面調和係数11に関して変換を実行することによって生成される。
[0254]これらの例および他の例において、オーディオ符号化デバイス20、ここで変換は、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数11の右特異ベクトルを表すV行列とを生成する、特異値分解を備える。
[0255]これらの例および他の例において、オーディオ符号化デバイス20、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルを備え、U行列およびS行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成される。
[0256]これらの例および他の例において、オーディオ符号化デバイス20、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列およびS行列およびV行列は、少なくとも複数の球面調和係数11に関して特異値分解を実行することによって生成される。
[0257]これらの例および他の例において、オーディオ符号化デバイス20、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列、S行列、およびV行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、オーディオ符号化デバイス20はさらに、1つまたは複数のUDIST*SDISTベクトルと1つまたは複数のVT DISTベクトルとを形成するためにビットストリームから抽出されるべきベクトルの数を示す値Dを取得するように構成される。
[0258]これらの例および他の例において、オーディオ符号化デバイス20、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列、S行列、およびV行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、オーディオ符号化デバイス20はさらに、1つまたは複数のUDIST*SDISTベクトルと1つまたは複数のVT DISTベクトルとを形成するためにビットストリームから抽出されるべきベクトルの数を示す値Dをオーディオフレームごとに取得するように構成される。
[0259]これらの例および他の例において、オーディオ符号化デバイス20、ここで変換は、音場の明瞭な成分と音場のバックグラウンド成分とを識別するための主要成分分析を備える。
[0260]本開示で説明される技法の様々な態様は、量子化誤差を補償するように構成されるオーディオ符号化デバイス20を提供し得る。
[0261]いくつかの例では、オーディオ符号化デバイス20は、音場の1つまたは複数の成分を表す1つまたは複数の第1のベクトルを量子化し、1つまたは複数の第1のベクトルの量子化が原因で音場の同じ1つまたは複数の成分を同様に表す1つまたは複数の第2のベクトルにもたらされた誤差を補償するように構成され得る。
[0262]これらの例および他の例において、オーディオ符号化デバイスは、音場を記述する複数の球面調和係数に関して特異値分解を実行することによって少なくとも一部生成されるV行列の転置から1つまたは複数のベクトルを量子化するように構成される。
[0263]これらの例および他の例において、オーディオ符号化デバイスはさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成され、V行列の転置から1つまたは複数のベクトルを量子化するように構成される。
[0264]これらの例および他の例において、オーディオ符号化デバイスはさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成され、V行列の転置から1つまたは複数のベクトルを量子化するように構成され、U行列の1つまたは複数のUベクトルをS行列の1つまたは複数のSベクトルと乗算することによって計算される1つまたは複数のU*Sベクトルにおいて量子化が原因でもたらされる誤差を補償するように構成される。
[0265]これらの例および他の例において、オーディオ符号化デバイスはさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成し、音場の明瞭な成分に各々が対応するU行列の1つまたは複数のUDISTベクトルを決定し、音場の同じ明瞭な成分に各々が対応するS行列の1つまたは複数のSDISTベクトルを決定し、音場の同じ明瞭な成分に各々が対応するV行列の転置の1つまたは複数のVT DISTベクトルを決定するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成され、1つまたは複数のVT Q_DISTベクトルを生成するために1つまたは複数のVT DISTベクトルを量子化するように構成され、1つまたは複数の誤差補償されたUDIST*SDISTベクトルを生成するために、U行列の1つまたは複数のUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによって計算される1つまたは複数のUDIST*SDISTベクトルにおいて量子化が原因でもたらされる誤差を補償するように構成される。
[0266]これらの例および他の例において、オーディオ符号化デバイスは、1つまたは複数のUDISTベクトル、1つまたは複数のSDISTベクトル、および1つまたは複数のVT DISTベクトルに基づいて明瞭な球面調和係数を決定し、1つまたは複数のVT Q_DISTベクトルによって明瞭な球面調和係数を分割するためにVT Q_DISTベクトルに関して擬似逆変換を実行し、それによって、VT DISTベクトルの量子化を通じてもたらされる誤差を少なくとも一部補償する誤差補償された1つまたは複数のUC_DIST*SC_DISTベクトルを生成するように構成される。
[0267]これらの例および他の例において、オーディオ符号化デバイスはさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成し、音場の1つまたは複数のバックグラウンド成分を記述するU行列の1つまたは複数のUBGベクトルと音場の1つまたは複数の明瞭な成分を記述するU行列の1つまたは複数のUDISTベクトルとを決定し、音場の1つまたは複数のバックグラウンド成分を記述するS行列の1つまたは複数のSBGベクトルと音場の1つまたは複数の明瞭な成分を記述するS行列の1つまたは複数のSDISTベクトルとを決定し、V行列の転置の1つまたは複数のVT DISTベクトルと1つまたは複数のVT BGベクトルとを決定するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成され、ここにおいて、VT DISTベクトルは音場の1つまたは複数の明瞭な成分を記述し、VT BGは音場の1つまたは複数のバックグラウンド成分を記述する、1つまたは複数のVT Q_DISTベクトルを生成するために1つまたは複数のVT DISTベクトルを量子化するように構成され、誤差補償されたバックグラウンド球面調和係数を生成するために、1つまたは複数のUBGベクトルを1つまたは複数のSBGベクトルと乗算し次いで1つまたは複数のVT BGベクトルと乗算することによって形成されるバックグラウンド球面調和係数において量子化が原因でもたらされる誤差を補償するように構成される。
[0268]これらの例および他の例において、オーディオ符号化デバイスは、VT DISTベクトルと、UDISTベクトルをSDISTベクトルと乗算することによって形成される1つまたは複数のUDIST*SDISTベクトルとに基づいて誤差を決定し、誤差補償されたバックグラウンド球面調和係数を生成するために決定された誤差をバックグラウンド球面調和係数に追加するように構成される。
[0269]これらの例および他の例において、オーディオ符号化デバイスは、1つまたは複数の誤差補償された第2のベクトルを生成するために、音場の同じ1つまたは複数の成分をやはり表す1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされる誤差を補償するように構成され、1つまたは複数の誤差補償された第2のベクトルと量子化された1つまたは複数の第1のベクトルとを含むようにビットストリームを生成するようにさらに構成される。
[0270]これらの例および他の例において、オーディオ符号化デバイスは、1つまたは複数の誤差補償された第2のベクトルを生成するために、音場の同じ1つまたは複数の成分をやはり表す1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされる誤差を補償するように構成され、1つまたは複数の誤差補償された第2のベクトルをオーディオ符号化し、オーディオ符号化された1つまたは複数の誤差補償された第2のベクトルと量子化された1つまたは複数の第1のベクトルとを含むようにビットストリームを生成するようにさらに構成される。
[0271]本技法の様々な態様はさらに、オーディオ符号化デバイス20が低減された球面調和係数またはその分解を生成することを可能にし得る。いくつかの例では、オーディオ符号化デバイス20は、目標ビットレートに基づいて、低減された球面調和係数または低減された球面調和係数の分解を生成するために、複数の球面調和係数または複数の球面調和係数の分解に関する次数低減を実行するように構成されてよく、複数の球面調和係数は音場を表す。
[0272]これらの例および他の例において、オーディオ符号化デバイス20はさらに、次数低減を実行する前に、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を識別する1つまたは複数の第2のベクトルとを識別するために、複数の球面調和係数に関して特異値分解を実行するように構成され、1つまたは複数の第1のベクトル、1つまたは複数の第2のベクトル、または1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方に関して次数低減を実行するように構成される。
[0273]これらの例および他の例において、オーディオ符号化デバイス20はさらに、複数の球面調和係数またはその分解に関してコンテンツ分析を実行するように構成され、目標ビットレートおよびコンテンツ分析に基づいて、低減された球面調和係数または球面調和係数の低減されたその分解を生成するために、複数の球面調和係数またはその分解に関して次数低減を実行するように構成される。
[0274]これらの例および他の例において、オーディオ符号化デバイス20は、複数の球面調和係数またはそれの分解に関して空間分析を実行するように構成される。
[0275]これらの例および他の例において、オーディオ符号化デバイス20は、複数の球面調和係数またはそれの分解に関して拡散分析を実行するように構成される。
[0276]これらの例および他の例において、オーディオ符号化デバイス20は1つまたは複数のプロセッサであるは、複数の球面調和係数またはそれの分解に関して空間分析と拡散分析とを実行するように構成される。
[0277]これらの例および他の例において、オーディオ符号化デバイス20はさらに、低減された球面調和係数または球面調和係数の低減されたそれの分解を含むビットストリームにおいて、低減された球面調和係数または球面調和係数の低減されたそれの分解のそれらが対応する球面基底関数の1つまたは複数の次数および/または1つまたは複数の位数を指定するように構成される。
[0278]これらの例および他の例において、低減された球面調和係数または球面調和係数の低減されたそれの分解は、複数の球面調和係数または球面調和係数のそれの分解よりも小さい値を有する。
[0279]これらの例および他の例において、オーディオ符号化デバイス20は、低減された球面調和係数または球面調和係数の低減されたそれの分解を生成するために、複数の球面調和係数または球面調和係数のそれの分解のベクトルうちで指定された次数および/または位数を有するものを除去するように構成される。
[0280]これらの例および他の例において、オーディオ符号化デバイス20は、低減された球面調和係数または球面調和係数の低減されたそれの分解を生成するために、複数の球面調和係数または球面調和係数のそれの分解のベクトルうちで指定された次数および/または位数を有するものを0にするように構成される。
[0281]本技法の様々な態様はまた、オーディオ符号化デバイス20が、音場の明瞭な成分を表すように構成されることを可能にし得る。これらの例および他の例において、オーディオ符号化デバイス20は、音場の明瞭な成分を表すために使用されるべきベクトルの係数の第1の0ではないセットを取得するように構成され、このベクトルは、音場を記述する複数の球面調和係数から分解される。
[0282]これらの例および他の例において、オーディオ符号化デバイス20は、係数のすべてを含むようにベクトルの係数の第1の0ではないセットを決定するように構成される。
[0283]これらの例および他の例において、オーディオ符号化デバイス20は、係数の第1の0ではないセットを、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものとして、決定するように構成される。
[0284]これらの例および他の例において、オーディオ符号化デバイス20は、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含め、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応する係数の少なくとも1つを含めないように、係数の第1の0ではないセットを決定するように構成される。
[0285]これらの例および他の例において、オーディオ符号化デバイス20は、係数の第1の0ではないセットを、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応する係数の少なくとも1つを除いて係数のすべてを含むように、決定するように構成される。
[0286]これらの例および他の例において、オーディオ符号化デバイス20はさらに、サイドチャネル情報中のベクトルの係数の第1の0ではないセットを指定するように構成される。
[0287]これらの例および他の例において、オーディオ符号化デバイス20はさらに、ベクトルの係数の第1の0ではないセットをオーディオ符号化することなく、サイドチャネル情報中のベクトルの係数の第1の0ではないセットを指定するように構成される。
[0288]これらの例および他の例において、ベクトルは、ベクトルベースの合成を使用して複数の球面調和係数から分解されるベクトルを備える。
[0289]これらの例および他の例において、ベクトルベースの合成は特異値分解を備える。
[0290]これらの例および他の例において、ベクトルは、特異値分解を使用して複数の球面調和係数から分解されるVベクトルを備える。
[0291]これらの例および他の例において、オーディオ符号化デバイス20はさらに、ベクトルの係数の0ではないセットをそれによって指定する複数の構成モードの1つを選択し、複数の構成モードの選択された1つに基づいてベクトルの係数の0ではないセットを指定するように構成される。
[0292]これらの例および他の例において、複数の構成モードの1つは、係数の0ではないセットが係数のすべてを含むことを示す。
[0293]これらの例および他の例において、複数の構成モードの1つは、係数の第1の0ではないセットが、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含むことを示す。
[0294]これらの例および他の例において、複数の構成モードの1つは、係数の0ではないセットが、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含み、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応する係数の少なくとも1つを含まないことを示す。
[0295]これらの例および他の例において、複数の構成モードの1つは、係数の0ではないセットが係数の少なくとも1つを除き係数のすべてを含むことを示す。
[0296]これらの例および他の例において、オーディオ符号化デバイス20はさらに、複数の構成モードの選択された1つをビットストリームにおいて指定するように構成される。
[0297]本開示で説明される技法の様々な態様はまた、オーディオ符号化デバイス20が、音場の明瞭な成分を様々な方法で表すように構成されることを可能にし得る。これらの例および他の例において、オーディオ符号化デバイス20は、音場の明瞭な成分を表すベクトルの係数の第1の0ではないセットを取得するように構成され、このベクトルは、音場を記述する複数の球面調和係数から分解されたものである。
[0298]これらの例および他の例において、係数の第1の0ではないセットはベクトルの係数のすべてを含む。
[0299]これらの例および他の例において、係数の第1の0ではないセットは、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含む。
[0300]これらの例および他の例において、係数の第1の0ではないセットは、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含み、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応する係数の少なくとも1つを含まない。
[0301]これらの例および他の例において、係数の第1の0ではないセットは、十分な指向性情報を有しないものとして識別される係数の少なくとも1つを除き、係数のすべてを含む。
[0302]これらの例および他の例において、オーディオ符号化デバイス20はさらに、ベクトルの第1の部分として係数の第1の0ではないセットを抽出するように構成される。
[0303]これらの例および他の例において、オーディオ符号化デバイス20はさらに、サイドチャネル情報からベクトルの第1の0ではないセットを抽出し、ベクトルの係数の第1の0ではないセットに基づいて複数の球面調和係数の再合成されたバージョンを取得するように構成される。
[0304]これらの例および他の例において、ベクトルは、ベクトルベースの合成を使用して複数の球面調和係数から分解されるベクトルを備える。
[0305]これらの例および他の例において、ベクトルベースの合成は特異値分解を備える。
[0306]これらの例および他の例において、オーディオ符号化デバイス20はさらに、複数の構成モードの1つに従って、ベクトルの係数の0ではないセットをそれによって抽出する複数の構成モードの1つを決定し、複数の構成モードの取得された1つに基づいてベクトルの係数の0ではないセットを抽出するように構成される。
[0307]これらの例および他の例において、複数の構成モードの1つは、係数の0ではないセットが係数のすべてを含むことを示す。
[0308]これらの例および他の例において、複数の構成モードの1つは、係数の第1の0ではないセットが、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含むことを示す。
[0309]これらの例および他の例において、複数の構成モードの1つは、係数の0ではないセットが、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含み、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応する係数の少なくとも1つを含まないことを示す。
[0310]これらの例および他の例において、複数の構成モードの1つは、係数の0ではないセットが係数の少なくとも1つを除き係数のすべてを含むことを示す。
[0311]これらの例および他の例において、オーディオ符号化デバイス20は、ビットストリームにおいてシグナリングされる値に基づいて複数の構成モードの1つを決定するように構成される。
[0312]本技法の様々な態様はまた、いくつかの例では、オーディオ符号化デバイス20が、1つまたは複数の明瞭なオーディオオブジェクト(または言い換えれば、支配的なオーディオオブジェクト)を識別することを可能にし得る。いくつかの例では、オーディオ符号化デバイス20は、オーディオオブジェクトの1つまたは複数に対して決定された指向性に基づいて、オーディオオブジェクトと関連付けられる1つまたは複数の球面調和係数(SHC)から1つまたは複数の明瞭なオーディオオブジェクトを識別するように構成され得る。
[0313]これらの例および他の例において、オーディオ符号化デバイス20はさらに、オーディオオブジェクトと関連付けられる球面調和係数に基づいて1つまたは複数のオーディオオブジェクトの指向性を決定するように構成される。
[0314]これらの例および他の例において、オーディオ符号化デバイス20はさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、球面調和係数に関して特異値分解を実行し、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として複数の球面調和係数を表すように構成され、オーディオ符号化デバイス20は、1つまたは複数のオーディオオブジェクトのそれぞれの指向性が少なくとも一部V行列に基づくと決定するように構成される。
[0315]これらの例および他の例において、オーディオ符号化デバイス20はさらに、再順序付けられたV行列においてより大きい指向性指数を有するベクトルがより小さい指向性指数を有するベクトルよりも上に配置されるように、V行列の1つまたは複数のベクトルを再順序付けるように構成される。
[0316]これらの例および他の例において、オーディオ符号化デバイス20はさらに、より大きい指向性指数を有するベクトルがより小さい指向性指数を有するベクトルよりも多くの指向性情報を含むと決定するように構成される。
[0317]これらの例および他の例において、オーディオ符号化デバイス20はさらに、VS行列を生成するためにV行列をS行列と乗算するように構成され、VS行列は1つまたは複数のベクトルを含む。
[0318]これらの例および他の例において、オーディオ符号化デバイス20はさらに、14よりも大きい次数と関連付けられるVS行列の各行の成分を選択し、対応する二乗された成分を形成するために選択された成分の各々を二乗し、VS行列の各行に対して、対応するベクトルの指向性指数を決定するために二乗された成分のすべてを加算するように構成される。
[0319]これらの例および他の例において、オーディオ符号化デバイス20は、14よりも大きい次数と関連付けられるVS行列の各行の成分を選択することが、VS行列の各行の18番目の成分において開始しVS行列の各行の38番目の成分において終了するすべての成分を選択することを備えるように構成される。
[0320]これらの例および他の例において、オーディオ符号化デバイス20はさらに、明瞭なオーディオオブジェクトを表すためにVS行列のベクトルのサブセットを選択するように構成される。これらの例および他の例において、オーディオ符号化デバイス20はVS行列の4つのベクトルを選択するように構成され、選択された4つのベクトルはVS行列のベクトルのすべての4つの最大の指向性指数を有する。
[0321]これらの例および他の例において、オーディオ符号化デバイス20は、ベクトルの選択されたサブセットが、明瞭なオーディオオブジェクトが各ベクトルの指向性とエネルギーの両方に基づくことを表すと、決定するように構成される。
[0322]これらの例および他の例において、オーディオ符号化デバイス20はさらに、再順序付けられた1つまたは複数の第1のベクトルを決定するために、明瞭なオーディオオブジェクトを表す1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとのエネルギー比較を実行するように構成され、1つまたは複数の第1のベクトルがオーディオデータの第1の部分中の明瞭なオーディオオブジェクトを記述し、1つまたは複数の第2のベクトルがオーディオデータの第2の部分の中の明瞭なオーディオオブジェクトを記述する。
[0323]これらの例および他の例において、オーディオ符号化デバイス20はさらに、再順序付けられた1つまたは複数の第1のベクトルを決定するために、明瞭なオーディオオブジェクトを表す1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとの相互相関付けを実行するように構成され、1つまたは複数の第1のベクトルがオーディオデータの第1の部分中の明瞭なオーディオオブジェクトを記述し、1つまたは複数の第2のベクトルがオーディオデータの第2の部分の中の明瞭なオーディオオブジェクトを記述する。
[0324]本技法の様々な態様はまた、いくつかの例では、オーディオ符号化デバイス20が、HOA係数11の分解に関してエネルギー補償を実行するように構成されることを可能にし得る。これらの例および他の例において、オーディオ符号化デバイス20は、1つまたは複数のオーディオオブジェクトと対応する指向性情報とを表す複数の球面調和係数の分解された表現を生成するために複数の球面調和係数に関してベクトルベースの合成を実行し、ここにおいて、球面調和係数はある次数と関連付けられ音場を記述する、指向性情報から明瞭な指向性情報とバックグラウンド指向性情報とを決定し、変換されたバックグラウンド指向性情報を生成するためにバックグラウンドオーディオオブジェクトと関連付けられる指向性情報の次数を低減し、音場の全体的なエネルギーを保存するために変換された指向性情報の値を増大させるように補償を適用するように構成され得る。
[0325]これらの例および他の例において、オーディオ符号化デバイス20は、オーディオオブジェクトを表すU行列およびS行列と指向性情報を表すV行列とを生成するために複数の球面調和係数に関して特異値分解を実行し、V行列の明瞭な列ベクトルとV行列のバックグラウンド列ベクトルとを決定し、V行列の変換されたバックグラウンド列ベクトルを生成するためにV行列のバックグラウンド列ベクトルの次数を低減し、音場の全体的なエネルギーを保存するようにV行列の変換されたバックグラウンド列ベクトルの値を増大させるために補償を適用するように構成され得る。
[0326]これらの例および他の例において、オーディオ符号化デバイス20はさらに、S行列の顕著な特異値の数を決定するように構成され、V行列の明瞭な列ベクトルの数はS行列の顕著な特異値の数である。
[0327]これらの例および他の例において、オーディオ符号化デバイス20は、球面調和係数に対する低減された次数を決定し、低減された次数よりも大きい次数と関連付けられるV行列のバックグラウンド列ベクトルの行に対して0という値を決定するように構成される。
[0328]これらの例および他の例において、オーディオ符号化デバイス20はさらに、修正された球面調和係数を生成するために、U行列のバックグラウンド列と、S行列のバックグラウンド列と、V行列の変換されたバックグラウンド列の転置とを組み合わせるように構成される。
[0329]これらの例および他の例において、修正された球面調和係数は、音場の1つまたは複数のバックグラウンド成分を記述する。
[0330]これらの例および他の例において、オーディオ符号化デバイス20は、V行列のバックグラウンド列ベクトルのあるベクトルの第1のエネルギーとV行列の変換されたバックグラウンド列ベクトルのあるベクトルの第2のエネルギーとを決定し、V行列の変換されたバックグラウンド列ベクトルのそのベクトルの各要素に増幅値を適用するように構成され、増幅値は第2のエネルギーに対する第1のエネルギーの比を備える。
[0331]これらの例および他の例において、オーディオ符号化デバイス20は、V行列のバックグラウンド列ベクトルのあるベクトルの第1の二乗平均平方根エネルギーとV行列の変換されたバックグラウンド列ベクトルのあるベクトルの第2の二乗平均平方根エネルギーとを決定し、V行列の変換されたバックグラウンド列ベクトルのそのベクトルの各要素に増幅値を適用するように構成され、増幅値は第2のエネルギーに対する第1のエネルギーの比を備える。
[0332]本開示で説明される技法の様々な態様はまた、オーディオ符号化デバイス20が、HOA係数11の分解されたバージョンに関して補間を実行することを可能にし得る。いくつかの例では、オーディオ符号化デバイス20は、少なくとも一部、第1の複数の球面調和係数の第1の分解および第2の複数の球面調和係数の第2の分解に関して補間を実行することによって、時間セグメントのための分解された補間された球面調和係数を取得するように構成され得る。
[0333]これらの例および他の例において、第1の分解は、第1の複数の球面調和係数の右特異ベクトルを表す第1のV行列を備える。
[0334]これらの事例および他の事例において、第2の分解は、第2の複数の球面調和係数の右特異ベクトルを表す第2のV行列を備える。
[0335]これらの例および他の例において、第1の分解は、第1の複数の球面調和係数の右特異ベクトルを表す第1のV行列を備え、第2の分解は、第2の複数の球面調和係数の右特異ベクトルを表す第2のV行列を備える。
[0336]これらの例および他の例において、時間セグメントはオーディオフレームのサブフレームを備える。
[0337]これらの例および他の例において、時間セグメントはオーディオフレームの時間サンプルを備える。
[0338]これらの例および他の例において、オーディオ符号化デバイス20は、第1の複数の球面調和係数のある球面調和係数に対する第1の分解および第2の分解の補間された分解を取得するように構成される。
[0339]これらの例および他の例において、オーディオ符号化デバイス20は、第1のフレームに含まれる第1の複数の球面調和係数の第1の部分に対する第1の分解および第2のフレームに含まれる第2の複数の球面調和係数の第2の部分に対する第2の分解の補間された分解を取得するように構成され、オーディオ符号化デバイス20はさらに、第1の複数の球面調和係数の第1の人工時間成分を生成するために、第1のフレームに含まれる第1の複数の球面調和係数の第1の部分の第1の時間成分に補間された分解を適用し、第2の複数の球面調和係数の第2の人工時間成分を生成するために、第2のフレームに含まれる第2の複数の球面調和係数の第2の部分の第2の時間成分にそれぞれの補間された分解を適用するように構成される。
[0340]これらの例および他の例において、第1の時間成分は、第1の複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0341]これらの例および他の例において、第2の時間成分は、第2の複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0342]これらの例および他の例において、オーディオ符号化デバイス20はさらに、第1の人工時間成分と第2の人工時間成分とを受信し、第1の複数の球面調和係数の第1の部分に対する第1の分解および第2の複数の球面調和係数の第2の部分に対する第2の分解の補間された分解を計算し、第1の時間成分を復元するために補間された分解の逆数を第1の人工時間成分を適用し、第2の時間成分を復元するために補間された分解の逆数を第2の人工時間成分を適用するように構成される。
[0343]これらの例および他の例において、オーディオ符号化デバイス20は、第1の複数の球面調和係数の第1の空間成分と第2の複数の球面調和係数の第2の空間成分とを補間するように構成される。
[0344]これらの例および他の例において、第1の空間成分は、第1の複数の球面調和係数の左特異ベクトルを表す第1のU行列を備える。
[0345]これらの例および他の例において、第2の空間成分は、第2の複数の球面調和係数の左特異ベクトルを表す第2のU行列を備える。
[0346]これらの例および他の例において、第1の空間成分は第1の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、第2の空間成分は第2の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表す。
[0347]これらの例および他の例において、第1の空間成分は第1の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、第2の空間成分は第2の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、オーディオ符号化デバイス20は第1の空間成分の最後のN個の要素と第2の空間成分の最初のN個の要素とを補間するように構成される。
[0348]これらの例および他の例において、第2の複数の球面調和係数は、時間領域において第1の複数の球面調和係数に後続する。
[0349]これらの例および他の例において、オーディオ符号化デバイス20はさらに、第1の複数の球面調和係数の第1の分解を生成するために、第1の複数の球面調和係数を分解するように構成される。
[0350]これらの例および他の例において、オーディオ符号化デバイス20はさらに、第2の複数の球面調和係数の第2の分解を生成するために、第2の複数の球面調和係数を分解するように構成される。
[0351]これらの例および他の例において、オーディオ符号化デバイス20はさらに、第1の複数の球面調和係数の左特異ベクトルを表すU行列と、第1の複数の球面調和係数の特異値を表すS行列と、第1の複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、第1の複数の球面調和係数に関して特異値分解を実行するように構成される。
[0352]これらの例および他の例において、オーディオ符号化デバイス20はさらに、第2の複数の球面調和係数の左特異ベクトルを表すU行列と、第2の複数の球面調和係数の特異値を表すS行列と、第2の複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、第2の複数の球面調和係数に関して特異値分解を実行するように構成される。
[0353]これらの例および他の例において、第1の複数の球面調和係数と第2の複数の球面調和係数の各々が、音場の平面波表現を表す。
[0355]これらの例および他の例において、第1の複数の球面調和係数と第2の複数の球面調和係数の各々が、一緒にミキシングされた1つまたは複数のモノラルオーディオオブジェクトを表す。
[0356]これらの例および他の例において、第1の複数の球面調和係数および第2の複数の球面調和係数は各々、3次元音場を表すそれぞれの第1の球面調和係数および第2の球面調和係数を備える。
[0357]これらの例および他の例において、第1の複数の球面調和係数および第2の複数の球面調和係数は各々、1よりも大きい次数を有する少なくとも1つの球面基底関数と関連付けられる。
[0358]これらの例および他の例において、第1の複数の球面調和係数および第2の複数の球面調和係数は各々、4に等しい次数を有する少なくとも1つの球面基底関数と関連付けられる。
[0359]これらの例および他の例において、補間は第1の分解および第2の分解の重み付けられた補間であり、第1の分解に適用された重み付けられた補間の重みは、第1の分解および第2の分解のベクトルによって表される時間に反比例し、第2の分解に適用される重み付けられた補間の重みは、第1の分解および第2の分解のベクトルによって表される時間に比例する。
[0360]これらの例および他の例において、分解された補間された球面調和係数は、第1の複数の球面調和係数および第2の複数の球面調和係数の空間成分と時間成分の少なくとも1つを平滑化する。
[0361]これらの例および他の例において、オーディオ符号化デバイス20は、スカラーを取得するためにUs[n]=HOA(n)*(V_vec[n])−1を計算するように構成される。
[0362]これらの例および他の例において、補間は線形補間を備える。これらの例および他の例において、補間は非線形補間を備える。これらの例および他の例において、補間はコサイン補間を備える。これらの例および他の例において、補間は重みづけられたコサイン補間を備える。これらの例および他の例において、補間はキュービック補間を備える。これらの例および他の例において、補間は適応スプライン補間を備える。これらの例および他の例において、補間は最小曲率補間を備える。
[0363]これらの例および他の例において、オーディオ符号化デバイス20はさらに、時間セグメントの分解された補間された球面調和係数の表現と補間のタイプのインジケーションとを含むビットストリームを生成するように構成される。
[0364]これらの例および他の例において、このインジケーションは、補間のタイプと対応付けられる1つまたは複数のビットを備える。
[0365]このようにして、本開示で説明される技法の様々な態様は、オーディオ符号化デバイス20が、時間セグメントの分解された補間された球面調和係数の表現と補間のタイプのインジケーションとを含むビットストリームを取得するように構成されることを可能にし得る。
[0366]これらの例および他の例において、このインジケーションは、補間のタイプと対応付けられる1つまたは複数のビットを備える。
[0367]この点において、オーディオ符号化デバイス20は、オーディオ符号化デバイス20がいくつかの例では音場の空間成分の圧縮されたバージョンを備えるビットストリームを生成するように構成され得るという点で、本技法の一実施形態を表すことができ、空間成分は複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0368]これらの例および他の例において、オーディオ符号化デバイス20はさらに、空間成分を圧縮するときに使用される予測モードを指定するフィールドを含むようにビットストリームを生成するように構成される。
[0369]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分を圧縮するときに使用されるハフマンテーブルを指定するハフマンテーブル情報を含むようにビットストリームを生成するように構成される。
[0370]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す値を示すフィールドを含むようにビットストリームを生成するように構成される。
[0371]これらの例および他の例において、値はnbits値を備える。
[0372]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分の圧縮されたバージョンが含まれる音場の複数の空間成分の圧縮されたバージョンを含むようにビットストリームを生成するように構成され、値は複数の空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す。
[0373]これらの例および他の例において、オーディオ符号化デバイス20はさらに、空間成分が対応する圧縮カテゴリを識別するカテゴリ識別子を表すためにハフマンコードを含むようにビットストリームを生成するように構成される。
[0374]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分が正の値か負の値かを識別する符号ビットを含むようにビットストリームを生成するように構成される。
[0375]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分の残差値を表すためにハフマンコードを含むようにビットストリームを生成するように構成される。
[0376]これらの例および他の例において、ベクトルベースの合成は特異値分解を備える。
[0377]この点において、オーディオ符号化デバイス20はさらに、オーディオ符号化デバイス20がいくつかの例では複数の空間成分のある空間成分を複数の空間成分の残りに対するその空間成分の次数に基づいて圧縮するときに使用するハフマンコードブックを識別するように構成され得るという点で、本技法の様々な態様を実装することができ、空間成分は複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0378]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分を圧縮するときに使用される予測モードに基づいてハフマンコードブックを識別するように構成される。
[0379]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、ハフマンコードブックを識別するハフマンテーブル情報を使用して、ビットストリームにおいて表される。
[0380]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す値を示すフィールドを使用して、ビットストリームにおいて表される。
[0381]これらの例および他の例において、値はnbits値を備える。
[0382]これらの例および他の例において、ビットストリームは、空間成分の圧縮されたバージョンが含まれる音場の複数の空間成分の圧縮されたバージョンを備え、値は複数の空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す。
[0383]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分が対応する圧縮カテゴリを識別するカテゴリ識別子を表すために識別されたハフマンコードブックから選択されたハフマンコードを使用して、ビットストリームにおいて表される。
[0384]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分が正の値か負の値かを識別する符号ビットを使用して、ビットストリームにおいて表される。
[0385]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分の残差値を表すために識別されたハフマンコードブックから選択されたハフマンコードを使用して、ビットストリームにおいて表される。
[0386]これらの例および他の例において、オーディオ符号化デバイス20はさらに、空間成分の圧縮されたバージョンを生成するために、識別されたハフマンコードブックに基づいて空間成分を圧縮し、空間成分の圧縮されたバージョンを含むようにビットストリームを生成するように構成される。
[0387]その上、オーディオ符号化デバイス20は、いくつかの例では、オーディオ符号化デバイス20が音場の空間成分を圧縮するときに使用されるべき量子化ステップサイズを決定するように構成され得るという点で、本技法の様々な態様を実装することができ、空間成分は複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0388]これらの例および他の例において、オーディオ符号化デバイス20はさらに、目標ビットレートに基づいて量子化ステップサイズを決定するように構成される。
[0389]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分を表すために使用されるビットの数の推定値を決定し、その推定値と目標ビットレートとの間の差に基づいて量子化ステップサイズを決定するように構成される。
[0390]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分を表すために使用されるビットの数の推定値を決定し、その推定値と目標ビットレートとの間の差を決定し、その差を目標ビットレートに加算することによって量子化ステップサイズを決定するように構成される。
[0391]これらの例および他の例において、オーディオ符号化デバイス20は、目標ビットレートに対応するコードブックを仮定して、空間成分に対して生成されるべきビットの数の推定値を計算するように構成される。
[0392]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分を圧縮するときに使用されるコーディングモードを仮定して、空間成分に対して生成されるべきビットの数のエスティメイテッドを計算するように構成される。
[0393]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分を圧縮するときに使用されるべき第1のコーディングモードを仮定して空間成分に対して生成されるべきビットの数の第1の推定値を計算し、空間成分を圧縮するときに使用されるべき第2のコーディングモードを仮定して空間成分に対して生成されるべきビットの数の第2の推定値を計算し、ビットの数の決定された推定値として使用されることになる、第1の推定値と第2の推定値のうちでビットの数が少ない方を選択するように構成される。
[0394]これらの例および他の例において、オーディオ符号化デバイス20は、空間成分が対応するカテゴリを識別するカテゴリ識別子を識別し、カテゴリに対応する空間成分を圧縮するときに生じるであろう空間成分の残差値のビット長を識別し、カテゴリ識別子を表すために使用されるビットの数を残差値のビット長に加算することによって少なくとも一部、ビットの数の推定値を決定するように構成される。
[0395]これらの例および他の例において、オーディオ符号化デバイス20はさらに、空間成分を圧縮するときに使用されるべき、複数のコードブックのうちの1つを選択するように構成される。
[0396]これらの例および他の例において、オーディオ符号化デバイス20はさらに、複数のコードブックの各々を使用して空間成分を表すために使用されるビットの数の推定値を決定し、決定された推定値をもたらした複数のコードブックのうちでビットの数が最小のものを選択するように構成される。
[0397]これらの例および他の例において、オーディオ符号化デバイス20はさらに、複数のコードブックの1つまたは複数を使用して空間成分を表すために使用されるビットの数の推定値を決定し、複数のコードブックの1つまたは複数は、空間成分の他の要素に対する、圧縮されるべき空間成分の要素の次数に基づいて選択されるように構成される。
[0398]これらの例および他の例において、オーディオ符号化デバイス20はさらに、空間成分が後続の空間成分から予測されないときに使用されるように設計される複数のコードブックの1つを使用して、空間成分を表すために使用されるビットの数の推定値を決定するように構成される。
[0399]これらの例および他の例において、オーディオ符号化デバイス20はさらに、空間成分が後続の空間成分から予測されるときに使用されるように設計される複数のコードブックの1つを使用して、空間成分を表すために使用されるビットの数の推定値を決定するように構成される。
[0400]これらの例および他の例において、オーディオ符号化デバイス20はさらに、空間成分が音場の中の合成オーディオオブジェクトを表すときに使用されるように設計される複数のコードブックの1つを使用して、空間成分を表すために使用されるビットの数の推定値を決定するように構成される。
[0401]これらの例および他の例において、合成オーディオオブジェクトは、パルス符号変調(PCM)されたオーディオオブジェクトを備える。
[0402]これらの例および他の例において、オーディオ符号化デバイス20はさらに、空間成分が音場の中の録音されたオーディオオブジェクトを表すときに使用されるように設計される複数のコードブックの1つを使用して、空間成分を表すために使用されるビットの数の推定値を決定するように構成される。
[0403]上で説明された様々な例の各々において、オーディオ符号化デバイス20は、方法を実行することができ、またはそうでなければ、オーディオ符号化デバイス20が実行するように構成される方法の各ステップを実行するための手段を備え得ることを理解されたい。いくつかの例では、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における本技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ符号化デバイス20が実行されるように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[0404]図5は、図3のオーディオ復号デバイス24をより詳細に示すブロック図である。図5の例に示されているように、オーディオ復号デバイス24は、抽出ユニット72と、指向性ベース再構築ユニット90と、ベクトルベース再構築ユニット92とを含み得る。
[0405]抽出ユニット72は、ビットストリーム21を受信してHOA係数11の様々な符号化されたバージョン(たとえば、指向性ベースの符号化されたバージョンまたはベクトルベースの符号化されたバージョン)を抽出するように構成されるユニットを表し得る。抽出ユニット72は、HOA係数11が様々なバージョンを介して符号化されたかどうかを、上で述べられたシンタックス要素(たとえば、図10Eおよび図10H(i)〜図10O(ii)の例に示されるChannelTypeシンタックス要素)から決定することができる。指向性ベースの符号化が実行されたとき、抽出ユニット72は、HOA係数11の指向性ベースのバージョンと、この符号化されたバージョンと関連付けられるシンタックス要素(図5の例では指向性ベースの情報91として示される)とを抽出し、この指向性ベースの情報91を指向性ベース再構築ユニット90に渡すことができる。この指向性ベース再構築ユニット90は、指向性ベースの情報91に基づいてHOA係数11’の形態でHOA係数を再構築するように構成されるユニットを表し得る。ビットストリームおよびビットストリーム内のシンタックス要素の構成が、以下で図10〜図10O(ii)および図11の例に関してより詳細に説明される。
[0406]HOA係数11がベクトルベースの合成を使用して符号化されたことをシンタックス要素が示すとき、抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57と、符号化された環境HOA係数59と、符号化されたnFG信号59とを抽出することができる。抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57を量子化ユニット74に渡し、符号化された環境HOA係数59を符号化されたnFG信号61とともに音響心理学的復号ユニット80に渡すことができる。
[0407]コーディングされたフォアグラウンドV[k]ベクトル57と、符号化された環境HOA係数59と、符号化されたnFG信号59とを抽出するために、抽出ユニット72は、codedVVecLengthと示されるシンタックス要素を含むサイドチャネル情報57を取得することができる。抽出ユニット72は、サイドチャネル情報57からのcodedVVecLengthを解析することができる。抽出ユニット72は、codedVVecLengthシンタックス要素に基づいて、上で説明された構成モードの任意の1つで動作するように構成され得る。
[0408]抽出ユニット72は次いで、サイドチャネル情報57から圧縮された形態の低減されたフォアグラウンドV[k]ベクトル55kを解析するために、構成モードの任意の1つに従って動作する。抽出ユニット72は、VVectorDataのための以下のシンタックステーブルにおいて提示されるシンタックスを伴う以下の擬似コードにおいて提示される、スイッチステートメントに従って動作することができる。
[0409]前述のシンタックステーブルにおいて、4つのケース(ケース0〜3)を伴う第1のスイッチステートメントは、VT DISTベクトルの長さを係数の数(VVecLength)およびインデックス(VVecCoeffId)に関して決定する方法を提供する。第1のケースであるケース0は、VT DISTベクトルの係数のすべて(NumOfHoaCoeffs)が指定されることを示す。第2のケースであるケース1は、VT DISTベクトルの係数のうちでMinNumOfCoeffsForAmbHOAより大きい数に対応するもののみが指定されることを示し、これは上で(NDIST+1)2−(NBG+1)2と呼ばれるものを示し得る。さらに、ContAddAmbHoaChanにおいて識別されるNumOfContAddAmbHoaChan係数が差し引かれる。リストContAddAmbHoaChanは、次数MinAmbHoaOrderを超える次数に対応する追加のチャネル(ここで「チャネル」はある次数と位数の組合せに対応する特定の係数を指す)を指定する。第3のケースであるケース2は、VT DISTベクトルの係数のうちでMinNumOfCoeffsForAmbHOAより大きい数に対応するものが指定されることを示し、これは上で(NDIST+1)2−(NBG+1)2と呼ばれるものを示し得る。第4のケースであるケース3は、VT DISTベクトルの係数のうちでNumOfContAddAmbHoaChanによって識別される係数を除去した後で残るものが指定されることを示す。VVecLengthとVVecCoeffIdリストの両方が、HOAFrame内のすべてのVVectorに対して有効である。
[0410]このスイッチステートメントの後で、一様逆量子化を実行するかどうかの決定は、NbitsQ(または上で示されたようにnbits)によって制御されてよく、NbitsQが5に等しい場合、一様な8ビットのスカラー逆量子化が実行される。対照的に、6以上のNbitsQの値は、ハフマン復号の適用をもたらし得る。上で言及されるcid値は、NbitsQ値の下位2ビットに等しくてよい。上で論じられた予測モードは上のシンタックステーブルではPFlagとして示されるが、HT情報ビットは上のシンタックステーブルではCbFlagとして示される。残りのシンタックスは、復号が上で説明されたものと実質的に同様の方式でどのように行われるかを指定する。上で述べられた様々なケースの各々に適合するビットストリーム21の様々な例は、図10H(i)〜図10O(ii)に関して以下でより詳細に説明される。
[0411]ベクトルベースの再構築ユニット92は、HOA係数11’を再構築するために、ベクトルベースの合成ユニット27に関して上で説明されたものとは逆の演算を実行するように構成されるユニットを表す。ベクトルベースの再構築ユニット92は、量子化ユニット74と、空間−時間的補間ユニット76と、フォアグラウンド定式化ユニット78と、音響心理学的復号ユニット80と、HOA係数定式化ユニット82と、再順序付けユニット84とを含み得る。
[0412]量子化ユニット74は、コーディングされたフォアグラウンドV[k]ベクトル57を逆量子化してそれによって低減されたフォアグラウンドV[k]ベクトル55kを生成するために、図4の例に示される量子化ユニット52とは逆の方式で動作するように構成されるユニットを表し得る。逆量子化ユニット74は、いくつかの例では、量子化ユニット52に関して上で説明されたものとは逆の方式で、ある形態のエントロピー復号とスカラー逆量子化とを実行することができる。逆量子化ユニット74は、低減されたフォアグラウンドV[k]ベクトル55kを再順序付けユニット84に転送することができる。
[0413]音響心理学的復号ユニット80は、符号化された環境HOA係数59と符号化されたnFG信号61とを復号し、それによってエネルギー補償された環境HOA係数47’と補間されたnFG信号49’(補間されたnFGオーディオオブジェクト49’とも呼ばれ得る)とを生成するために、図4の例に示される音響心理学的オーディオコーディングユニット40とは逆の方式で動作することができる。音響心理学的復号ユニット80は、エネルギー補償された環境HOA係数47’をHOA係数定式化ユニット82に渡し、nFG信号49’を再順序付け84に渡すことができる。
[0414]再順序付けユニット84は、再順序付けユニット34に関して上で説明されたものとは逆の方式で動作するように構成されるユニットを表し得る。再順序付けユニット84は、HOA係数11のフォアグラウンド成分の元の次数を示すシンタックス要素を受信することができる。再順序付けユニット84は、これらの再順序付けシンタックス要素に基づいて、再順序付けられたnFG信号49’’と再順序付けられたフォアグラウンドV[k]ベクトル55k’とを生成するために、補間されたnFG信号49’と低減されたフォアグラウンドV[k]ベクトル55kとを再順序付けることができる。再順序付けユニット84は、再順序付けられたnFG信号49’’をフォアグラウンド定式化ユニット78に出力し、再順序付けられたフォアグラウンドV[k]ベクトル55k’を空間−時間的補間ユニット76に出力することができる。
[0415]空間−時間的補間ユニット76は、空間−時間的補間ユニット50に関して上で説明されたものと同様の方式で動作することができる。空間−時間的補間ユニット76は、再順序付けられたフォアグラウンドV[k]ベクトル55k’を受信し、補間されたフォアグラウンドV[k]ベクトル55k’’を生成するために再順序付けられたフォアグラウンドV[k]ベクトル55k’および再順序付けられたフォアグラウンドV[k−1]ベクトル55k-1’に関して空間−時間的補間を実行することができる。空間−時間的補間ユニット76は、補間されたフォアグラウンドV[k]ベクトル55k’’をフォアグラウンド定式化ユニット78に転送することができる。
[0416]フォアグラウンド定式化ユニット78は、フォアグラウンドHOA係数65を生成するために、補間されたフォアグラウンドV[k]ベクトル55k’’および再順序付けられたnFG信号49’’に関して行列乗算を実行するように構成されるユニットを表し得る。フォアグラウンド定式化ユニット78は、補間されたフォアグラウンドV[k]ベクトル55k’’による再順序付けられたnFG信号49’’の行列乗算を実行することができる。
[0417]HOA係数定式化ユニット82は、HOA係数11’を取得するためにフォアグラウンドHOA係数65を環境HOAチャネル47’に加算するように構成されるユニットを表すことができ、プライム記号の表記は、これらのHOA係数11’がHOA係数11と類似し得るが同一ではないことがあることを反映している。HOA係数11とHOA係数11’の差は、有損失の送信媒体を通じた送信、量子化、または他の有損失の演算が原因の損失に起因し得る。
[0418]このようにして、本技法は、オーディオ復号デバイス24などのオーディオ復号デバイスが、ビットストリームから、量子化された指向性情報と、符号化されたフォアグラウンドオーディオオブジェクトと、符号化された環境高次アンビソニックス(HOA)係数とを決定することを可能とし、ここにおいて、量子化された指向性情報および符号化されたフォアグラウンドオーディオオブジェクトは音場のフォアグラウンド成分を記述するフォアグラウンドHOA係数を表し、符号化された環境HOA係数は音場の環境成分を記述する、指向性情報を生成するために量子化された指向性情報を逆量子化し、補間された指向性情報を生成するために指向性情報に関して空間−時間的補間を実行し、フォアグラウンドオーディオオブジェクトを生成するために符号化されたフォアグラウンドオーディオオブジェクトをオーディオ復号し環境HOA係数を生成するために符号化された環境HOA係数をオーディオ復号し、補間された指向性情報およびフォアグラウンドオーディオオブジェクトの関数としてフォアグラウンドHOA係数を決定し、フォアグラウンドHOA係数および環境HOA係数の関数としてHOA係数を決定する。
[0419]このようにして、本技法の様々な態様は、統一されたオーディオ復号デバイス24が2つの異なる圧縮スキームを切り替えることを可能にし得る。いくつかの例では、オーディオ復号デバイス24は、音場を表す球面調和係数の圧縮されたバージョンが合成オーディオオブジェクトから生成されるかどうかのインジケーションに基づいて複数の圧縮スキームの1つを選択し、複数の圧縮スキームの選択された1つを使用して球面調和係数の圧縮されたバージョンを解凍するように構成され得る。これらの例および他の例において、オーディオ復号デバイス24は統合された復号器を備える。
[0420]いくつかの例は、オーディオ復号デバイス24は、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかのインジケーションを取得するように構成され得る。
[0421]これらの例および他の例において、オーディオ復号デバイス24は、球面調和係数の圧縮されたバージョンを記憶するビットストリームからインジケーションを取得するように構成される。
[0422]このようにして、本技法の様々な態様は、オーディオ復号デバイス24が、音場の明瞭な成分とバックグラウンド成分とを記述するベクトルを取得することを可能にし得る。いくつかの例において、オーディオ復号デバイス24は、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを決定するように構成されてよく、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、複数の球面調和係数に関して変換を実行することによって生成される。
[0423]これらの例および他の例において、オーディオ復号デバイス24、ここで変換は、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成する、特異値分解を備える。
[0424]これらの例および他の例において、オーディオ復号デバイス24、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルを備え、U行列およびS行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成される。
[0425]これらの例および他の例において、オーディオ復号デバイス24はさらに、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルのオーディオ復号されたバージョンを生成するために、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルをオーディオ復号するように構成される。
[0426]これらの例および他の例において、オーディオ復号デバイス24、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列およびS行列およびV行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成される。
[0427]これらの例および他の例において、オーディオ復号デバイス24はさらに、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルのオーディオ復号されたバージョンを生成するために、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルをオーディオ復号するように構成される。
[0428]これらの例および他の例において、複数の球面調和関数のうちで音場の明瞭な成分を表すものを復元するために、UDIST*SDISTベクトルをVT DISTベクトルと乗算するようにさらに構成されるオーディオ復号デバイス24。
[0429]これらの例および他の例において、オーディオ復号デバイス24、ここで1つまたは複数の第2のベクトルは、U行列に含まれるUBGベクトルをS行列に含まれるSBGベクトルと乗算し、次いでV行列の転置に含まれるVT BGベクトルと乗算することによって、オーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルを備え、S行列、U行列、およびV行列は各々、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成される。
[0430]これらの例および他の例において、オーディオ復号デバイス24、ここで1つまたは複数の第2のベクトルは、U行列に含まれるUBGベクトルをS行列に含まれるSBGベクトルと乗算し、次いでV行列の転置に含まれるVT BGベクトルと乗算することによって、オーディオ符号化の前に生成され、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルを備え、S行列、U行列、およびV行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、オーディオ復号デバイス24はさらに、1つまたは複数のオーディオ復号されたUBG*SBG*VT BGベクトルを生成するために、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルをオーディオ復号するように構成される。
[0431]これらの例および他の例において、オーディオ復号デバイス24、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによって、オーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列、S行列、およびV行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、オーディオ復号デバイス24はさらに、1つまたは複数のUDIST*SDISTベクトルを生成するために1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルをオーディオ復号し、複数の球面調和係数のうちで音場の明瞭な成分を記述するものを復元するためにUDIST*SDISTベクトルをVT DISTベクトルと乗算するように構成され、1つまたは複数の第2のベクトルは、U行列に含まれるUBGベクトルをS行列に含まれるSBGベクトルと乗算し、次いでV行列の転置に含まれるVT BGベクトルと乗算することによって、オーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルを備え、オーディオ復号デバイス24はさらに、音場のバックグラウンド成分を記述する複数の球面調和係数の少なくともある部分を復元するために1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルを復号し、複数の球面調和係数の再構築されたバージョンを生成するために、音場の明瞭な成分を記述する複数の球面調和係数を音場のバックグラウンド成分を記述する複数の球面調和係数の少なくともその部分に加算するように構成される。
[0432]これらの例および他の例において、オーディオ復号デバイス24、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列およびS行列およびV行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、オーディオ復号デバイス20はさらに、1つまたは複数のUDIST*SDISTベクトルと1つまたは複数のVT DISTベクトルとを形成するためにビットストリームから抽出されるべきベクトルの数を示す値Dを取得するように構成される。
[0433]これらの例および他の例において、オーディオ復号デバイス24、ここで1つまたは複数の第1のベクトルは、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列、S行列、およびV行列は、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、オーディオ復号デバイス24はさらに、1つまたは複数のUDIST*SDISTベクトルと1つまたは複数のVT DISTベクトルとを形成するためにビットストリームから抽出されるべきベクトルの数を示す値Dをオーディオフレームごとに取得するように構成される。
[0434]これらの例および他の例において、オーディオ復号デバイス24、ここで変換は、音場の明瞭な成分と音場のバックグラウンド成分とを識別するための主要成分分析を備える。
[0435]本開示で説明される技法の様々な態様はまた、オーディオ符号化デバイス24が、HOA係数の分解されたバージョンに関して補間を実行することを可能にし得る。いくつかの例では、オーディオ復号デバイス24は、少なくとも一部、第1の複数の球面調和係数の第1の分解および第2の複数の球面調和係数の第2の分解に関して補間を実行することによって、時間セグメントのための分解された補間された球面調和係数を取得するように構成され得る。
[0436]これらの例および他の例において、第1の分解は、第1の複数の球面調和係数の右特異ベクトルを表す第1のV行列を備える。
[0437]これらの事例および他の事例において、第2の分解は、第2の複数の球面調和係数の右特異ベクトルを表す第2のV行列を備える。
[0438]これらの例および他の例において、第1の分解は、第1の複数の球面調和係数の右特異ベクトルを表す第1のV行列を備え、第2の分解は、第2の複数の球面調和係数の右特異ベクトルを表す第2のV行列を備える。
[0439]これらの例および他の例において、時間セグメントはオーディオフレームのサブフレームを備える。
[0440]これらの例および他の例において、時間セグメントはオーディオフレームの時間サンプルを備える。
[0441]これらの例および他の例において、オーディオ復号デバイス24は、第1の複数の球面調和係数のある球面調和係数に対する第1の分解および第2の分解の補間された分解を取得するように構成される。
[0442]これらの例および他の例において、オーディオ復号デバイス24は、第1のフレームに含まれる第1の複数の球面調和係数の第1の部分に対する第1の分解および第2のフレームに含まれる第2の複数の球面調和係数の第2の部分に対する第2の分解の補間された分解を取得するように構成され、オーディオ復号デバイス24はさらに、第1の複数の球面調和係数の第1の人工時間成分を生成するために、第1のフレームに含まれる第1の複数の球面調和係数の第1の部分の第1の時間成分に補間された分解を適用し、第2の複数の球面調和係数の第2の人工時間成分を生成するために、第2のフレームに含まれる第2の複数の球面調和係数の第2の部分の第2の時間成分にそれぞれの補間された分解を適用するように構成される。
[0443]これらの例および他の例において、第1の時間成分は、第1の複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0444]これらの例および他の例において、第2の時間成分は、第2の複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0445]これらの例および他の例において、オーディオ復号デバイス24はさらに、第1の人工時間成分と第2の人工時間成分とを受信し、第1の複数の球面調和係数の第1の部分に対する第1の分解および第2の複数の球面調和係数の第2の部分に対する第2の分解の補間された分解を計算し、第1の時間成分を復元するために補間された分解の逆数を第1の人工時間成分を適用し、第2の時間成分を復元するために補間された分解の逆数を第2の人工時間成分を適用するように構成される。
[0446]これらの例および他の例において、オーディオ復号デバイス24は、第1の複数の球面調和係数の第1の空間成分と第2の複数の球面調和係数の第2の空間成分とを補間するように構成される。
[0447]これらの例および他の例において、第1の空間成分は、第1の複数の球面調和係数の左特異ベクトルを表す第1のU行列を備える。
[0448]これらの例および他の例において、第2の空間成分は、第2の複数の球面調和係数の左特異ベクトルを表す第2のU行列を備える。
[0449]これらの例および他の例において、第1の空間成分は第1の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、第2の空間成分は第2の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表す。
[0450]これらの例および他の例において、第1の空間成分は第1の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、第2の空間成分は第2の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、オーディオ復号デバイス24は第1の空間成分の最後のN個の要素と第2の空間成分の最初のN個の要素とを補間するように構成される。
[0451]これらの例および他の例において、第2の複数の球面調和係数は、時間領域において第1の複数の球面調和係数に後続する。
[0452]これらの例および他の例において、オーディオ復号デバイス24はさらに、第1の複数の球面調和係数の第1の分解を生成するために、第1の複数の球面調和係数を分解するように構成される。
[0453]これらの例および他の例において、オーディオ復号デバイス24はさらに、第2の複数の球面調和係数の第2の分解を生成するために、第2の複数の球面調和係数を分解するように構成される。
[0454]これらの例および他の例において、オーディオ復号デバイス24はさらに、第1の複数の球面調和係数の左特異ベクトルを表すU行列と、第1の複数の球面調和係数の特異値を表すS行列と、第1の複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、第1の複数の球面調和係数に関して特異値分解を実行するように構成される。
[0455]これらの例および他の例において、オーディオ復号デバイス24はさらに、第2の複数の球面調和係数の左特異ベクトルを表すU行列と、第2の複数の球面調和係数の特異値を表すS行列と、第2の複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、第2の複数の球面調和係数に関して特異値分解を実行するように構成される。
[0456]これらの例および他の例において、第1の複数の球面調和係数と第2の複数の球面調和係数の各々が、音場の平面波表現を表す。
[0457]これらの例および他の例において、第1の複数の球面調和係数と第2の複数の球面調和係数の各々が、一緒にミキシングされた1つまたは複数のモノラルオーディオオブジェクトを表す。
[0458]これらの例および他の例において、第1の複数の球面調和係数および第2の複数の球面調和係数は各々、3次元音場を表すそれぞれの第1の球面調和係数および第2の球面調和係数を備える。
[0459]これらの例および他の例において、第1の複数の球面調和係数および第2の複数の球面調和係数は各々、1よりも大きい次数を有する少なくとも1つの球面基底関数と関連付けられる。
[0460]これらの例および他の例において、第1の複数の球面調和係数および第2の複数の球面調和係数は各々、4に等しい次数を有する少なくとも1つの球面基底関数と関連付けられる。
[0461]これらの例および他の例において、補間は第1の分解および第2の分解の重み付けられた補間であり、第1の分解に適用された重み付けられた補間の重みは、第1の分解および第2の分解のベクトルによって表される時間に反比例し、第2の分解に適用される重み付けられた補間の重みは、第1の分解および第2の分解のベクトルによって表される時間に比例する。
[0462]これらの例および他の例において、分解された補間された球面調和係数は、第1の複数の球面調和係数および第2の複数の球面調和係数の空間成分と時間成分の少なくとも1つを平滑化する。
[0463]これらの例および他の例において、オーディオ復号デバイス24は、スカラーを取得するためにUs[n]=HOA(n)*(V_vec[n])−1を計算するように構成される。
[0464]これらの例および他の例において、補間は線形補間を備える。これらの例および他の例において、補間は非線形補間を備える。これらの例および他の例において、補間はコサイン補間を備える。これらの例および他の例において、補間は重みづけられたコサイン補間を備える。これらの例および他の例において、補間はキュービック補間を備える。これらの例および他の例において、補間は適応スプライン補間を備える。これらの例および他の例において、補間は最小曲率補間を備える。
[0465]これらの例および他の例において、オーディオ復号デバイス24はさらに、時間セグメントの分解された補間された球面調和係数の表現と補間のタイプのインジケーションとを含むビットストリームを生成するように構成される。
[0466]これらの例および他の例において、このインジケーションは、補間のタイプと対応付けられる1つまたは複数のビットを備える。
[0467]これらの例および他の例において、オーディオ復号デバイス24はさらに、時間セグメントの分解された補間された球面調和係数の表現と補間のタイプのインジケーションとを含むビットストリームを取得するように構成される。
[0468]これらの例および他の例において、このインジケーションは、補間のタイプと対応付けられる1つまたは複数のビットを備える。
[0469]本技法の様々な態様は、いくつかの例では、オーディオ復号デバイス24が、音場の空間成分の圧縮されたバージョンを備えるビットストリームを取得するように構成されることをさらに可能にでき、空間成分は複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0470]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分を圧縮するときに使用される予測モードを指定するフィールドを使用して、ビットストリームにおいて表される。
[0471]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分を圧縮するときに使用されるハフマンテーブルを指定するハフマンテーブル情報を使用して、ビットストリームにおいて表される。
[0472]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す値を示すフィールドを使用して、ビットストリームにおいて表される。
[0473]これらの例および他の例において、値はnbits値を備える。
[0474]これらの例および他の例において、ビットストリームは、空間成分の圧縮されたバージョンが含まれる音場の複数の空間成分の圧縮されたバージョンを備え、値は複数の空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す。
[0475]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分が対応する圧縮カテゴリを識別するカテゴリ識別子を表すためのハフマンコードを使用して、ビットストリームにおいて表される。
[0476]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分が正の値か負の値かを識別する符号ビットを使用して、ビットストリームにおいて表される。
[0477]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分の残差値を表すためのハフマンコードを使用して、ビットストリームにおいて表される。
[0478]これらの例および他の例において、デバイスはオーディオ復号デバイスを備える。
[0479]技法の様々な態様はまた、オーディオ復号デバイス24が、複数の圧縮された空間成分のある空間成分の圧縮されたバージョンを複数の圧縮された空間成分の残りに対するその空間成分の圧縮されたバージョンの次数に基づいて解凍するときに使用するハフマンコードブックを識別することを可能にでき、空間成分は複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0480]これらの例および他の例において、オーディオ復号デバイス24は、音場の空間成分の圧縮されたバージョンを備えるビットストリームを取得し、空間成分を取得するために、少なくとも一部、識別されたハフマンコードブックを使用して、空間成分の圧縮されたバージョンを解凍するように構成される。
[0481]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分を圧縮するときに使用される予測モードを指定するフィールドを使用して、ビットストリームにおいて表され、オーディオ復号デバイス24は、空間成分を取得するために、予測モードに少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するように構成される。
[0482]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分を圧縮するときに使用されるハフマンテーブルを指定するハフマンテーブル情報を使用して、ビットストリームにおいて表され、オーディオ復号デバイス24は、ハフマンテーブル情報に少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するように構成される。
[0483]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す値を示すフィールドを使用して、ビットストリームにおいて表され、オーディオ復号デバイス24は、その値に少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するように構成される。
[0484]これらの例および他の例において、値はnbits値を備える。
[0485]これらの例および他の例において、ビットストリームは、空間成分の圧縮されたバージョンが含まれる音場の複数の空間成分の圧縮されたバージョンを備え、値は、複数の空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表し、オーディオ復号デバイス24は、その値に少なくとも一部基づいて空間成分の複数の圧縮されたバージョンを解凍するように構成される。
[0486]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分が対応する圧縮カテゴリを識別するカテゴリ識別子を表すためのハフマンコードを使用して、ビットストリームにおいて表され、オーディオ復号デバイス24は、ハフマンコードに少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するように構成される。
[0487]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分が正の値か負の値かを識別する符号ビットを使用して、ビットストリームにおいて表され、オーディオ復号デバイス24は、符号ビットに少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するように構成される。
[0488]これらの例および他の例において、空間成分の圧縮されたバージョンは、少なくとも一部、空間成分の残差値を表すためのハフマンコードを使用して、ビットストリームにおいて表され、オーディオ復号デバイス24は、識別されたハフマンコードブックに含まれるハフマンコードに少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するように構成される。
[0489]上で説明された様々な例の各々において、オーディオ復号デバイス24は、ある方法を実行し、またはそうでなければ、オーディオ復号デバイス24が実行するように構成される方法の各ステップを実行するための手段を備え得ることを理解されたい。いくつかの例では、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における本技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ復号デバイス24が実行されるように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[0490]図6は、本開示において説明される技法の様々な態様を実行する際の、図4の例に示されるコンテンツ分析ユニット26などのオーディオ符号化デバイスのコンテンツ分析ユニットの例示的な動作を示すフローチャートである。
[0491]コンテンツ分析ユニット26は、音場を表すHOA係数11が合成オーディオオブジェクトから生成されるかどうかを決定するとき、フレーム分割されたHOA係数を取得することができ(93)、これは、4次の表現(すなわち、N=4)では25×1024のサイズであり得る。フレーム分割されたHOA係数(これは本明細書ではフレーム分割されたSHC行列11として示されることもあり、後続のフレーム分割されたSHC行列はフレーム分割されたSHC行列27B、27Cなどとして示され得る、など)を取得した後で、コンテンツ分析ユニット26は次いで、低減されたフレーム分割されたHOA係数を生成するために、フレーム分割されたHOA係数11の第1のベクトルを除外することができる(94)。
[0492]コンテンツ分析ユニット26は次いで、低減されたフレーム分割されたHOA係数の残りのベクトルから、低減されたフレーム分割されたHOA係数の第1の0ではないベクトルを予測することができる(95)。第1の0ではないベクトルを予測した後で、コンテンツ分析ユニット26は、予測された第1の0ではないベクトルおよび実際の0ではないベクトルに基づいて、誤差を得ることができる(96)。誤差が得られると、コンテンツ分析ユニット26は、実際の第1の0ではないベクトルのエネルギーおよび誤差に基づいて、比を計算することができる(97)。コンテンツ分析ユニット26は次いで、この比を閾値と比較することができる(98)。比が閾値を超えないとき(「いいえ」98)、コンテンツ分析ユニット26は、フレーム分割されたSHC行列11が録音から生成されたと決定し、SHC行列11の対応するコーディングされた表現が録音から生成されたことをビットストリームにおいて示すことができる(100、101)。比が閾値を超えるとき(「はい」98)、コンテンツ分析ユニット26は、フレーム分割されたSHC行列11が合成オーディオオブジェクトから生成されると決定し、SHC行列11の対応するコーディングされた表現が合成オーディオオブジェクトから生成されたことをビットストリームにおいて示すことができる(102、103)。いくつかの例では、フレーム分割されたSHC行列11が録音から生成されたとき、コンテンツ分析ユニット26は、フレーム分割されたSHC行列11をベクトルベースの合成ユニット27に渡す(101)。いくつかの例では、フレーム分割されたSHC行列11が合成オーディオオブジェクトから生成されたとき、コンテンツ分析ユニット26は、フレーム分割されたSHC行列11を指向性ベースの合成ユニット28に渡す(104)。
[0493]図7は、本開示において説明されるベクトルベースの合成技法の様々な態様を実行する際の、図4の例に示されるオーディオ符号化デバイス20などのオーディオ符号化デバイスの例示的な動作を示すフローチャートである。最初に、オーディオ符号化デバイス20がHOA係数11を受信する(106)。オーディオ符号化デバイス20はLITユニット30を呼び出すことができ、LITユニット30は、変換されたHOA係数(たとえば、SVDの場合、変換されたHOA係数はUS[k]ベクトル33とV[k]ベクトル35とを備え得る)を出力するためにHOA係数に関してLITを適用することができる(107)。
[0494]オーディオ符号化デバイス20は次に、上で説明された方式で様々なパラメータを識別するために、US[k]ベクトル33、US[k−1]ベクトル33、V[k]ベクトルおよび/またはV[k−1]ベクトル35の任意の組合せに関して上で説明された分析を実行するために、パラメータ計算ユニット32を呼び出すことができる。すなわち、パラメータ計算ユニット32は、変換されたHOA係数33/35の分析に基づいて少なくとも1つのパラメータを決定することができる(108)。
[0495]オーディオ符号化デバイス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)(図4の例ではバックグラウンドチャネル情報43としてまとめて示され得る)とを決定するために、HOA係数11および/または変換されたHOA係数33/35に関して音場分析を実行することができる(109)。
[0496]オーディオ符号化デバイス20はまた、バックグラウンド選択ユニット48を呼び出すことができる。バックグラウンド選択ユニット48は、バックグラウンドチャネル情報43に基づいて、バックグラウンドまたは環境HOA係数47を決定することができる(110)。オーディオ符号化デバイス20はさらに、フォアグラウンド選択ユニット36を呼び出すことができ、フォアグラウンド選択ユニット36は、再順序付けられたUS[k]ベクトル33’および再順序付けられたV[k]ベクトル35’のうちで音場のフォアグラウンド成分または明瞭な成分を表すものを、nFG45(これらのフォアグラウンドベクトルを識別する1つまたは複数のインデックスを表し得る)に基づいて選択することができる(112)。
[0497]オーディオ符号化デバイス20は、エネルギー補償ユニット38を呼び出すことができる。エネルギー補償ユニット38は、バックグラウンド選択ユニット48によるHOAチャネルの様々なチャネルの除去によるエネルギー損失を補償するために環境HOA係数47に関してエネルギー補償を実行し(114)、それによってエネルギー補償された環境HOA係数47’を生成することができる。
[0498]オーディオ符号化デバイス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)。
[0499]オーディオ符号化デバイス20は次いで、上で説明された方式で、低減されたフォアグラウンドV[k]ベクトル55を圧縮し、コーディングされたフォアグラウンドV[k]ベクトル57を生成するために、量子化ユニット52を呼び出すことができる(120)。
[0500]オーディオ符号化デバイス20はまた、音響心理学的オーディオコーダユニット40を呼び出すことができる。音響心理学的オーディオコーダユニット40は、符号化された環境HOA係数59と符号化されたnFG信号61とを生成するために、エネルギー補償された環境HOA係数47’および補間されたnFG信号49’の各ベクトルを音響心理学的にコーディングすることができる。オーディオ符号化デバイスは次いで、ビットストリーム生成ユニット42を呼び出すことができる。ビットストリーム生成ユニット42は、コーディングされたフォアグラウンド指向性情報57と、コーディングされた環境HOA係数59と、コーディングされたnFG信号61と、バックグラウンドチャネル情報43とに基づいて、ビットストリーム21を生成することができる。
[0501]図8は、本開示において説明される技法の様々な態様を実行する際の、図5に示されるオーディオ復号デバイス24などのオーディオ復号デバイスの例示的な動作を示すフローチャートである。最初に、オーディオ復号デバイス24がビットストリーム21を受信することができる(130)。ビットストリームを受信すると、オーディオ復号デバイス24は抽出ユニット72を呼び出すことができる。議論を目的に、ベクトルベースの再構築が実行されるべきであることをビットストリーム21が示すと仮定すると、抽出デバイス72は、上で述べられた情報を取り出すためにこのビットストリームを解析し、この情報をベクトルベースの再構築ユニット92に渡すことができる。
[0502]言い換えれば、抽出ユニット72は、コーディングされたフォアグラウンド指向性情報57(やはり、コーディングされたフォアグラウンドV[k]ベクトル57とも呼ばれ得る)と、コーディングされた環境HOA係数59と、コーディングされたフォアグラウンド信号(コーディングされたフォアグラウンドnFG信号59またはコーディングされたフォアグラウンドオーディオオブジェクト59とも呼ばれ得る)とを、上で説明された方式でビットストリーム21から抽出することができる(132)。
[0503]オーディオ復号デバイス24はさらに、量子化ユニット74を呼び出すことができる。量子化ユニット74は、低減されたフォアグラウンド指向性情報55kを取得するために、コーディングされたフォアグラウンド指向性情報57をエントロピー復号して逆量子化することができる(136)。オーディオ復号デバイス24はまた、音響心理学的復号ユニット80を呼び出すことができる。音響心理学的オーディオコーディングユニット80は、エネルギー補償された環境HOA係数47’と補間されたフォアグラウンド信号49’とを取得するために、符号化された環境HOA係数59と符号化されたフォアグラウンド信号61とを復号することができる(138)。音響心理学的復号ユニット80は、エネルギー補償された環境HOA係数47’をHOA係数定式化ユニット82に渡し、nFG信号49’を再順序付けユニット84に渡すことができる。
[0504]再順序付けユニット84は、HOA係数11のフォアグラウンド成分の元の次数を示すシンタックス要素を受信することができる。再順序付けユニット84は、これらの再順序付けシンタックス要素に基づいて、再順序付けられたnFG信号49’’と再順序付けられたフォアグラウンドV[k]ベクトル55k’とを生成するために、補間されたnFG信号49’と低減されたフォアグラウンドV[k]ベクトル55kとを再順序付けることができる(140)。再順序付けユニット84は、再順序付けられたnFG信号49’’をフォアグラウンド定式化ユニット78に出力し、再順序付けられたフォアグラウンドV[k]ベクトル55k’を空間−時間的補間ユニット76に出力することができる。
[0505]オーディオ復号デバイス24は次に、空間−時間的補間ユニット76を呼び出すことができる。空間−時間的補間ユニット76は、再順序付けられたフォアグラウンド指向性情報55k’を受信し、補間されたフォアグラウンド指向性情報55k’’を生成するために低減されたフォアグラウンド指向性情報55k/55k-1に関して空間−時間的補間を実行することができる(142)。空間−時間的補間ユニット76は、補間されたフォアグラウンドV[k]ベクトル55k’’をフォアグラウンド定式化ユニット718に転送することができる。
[0506]オーディオ復号デバイス24は、フォアグラウンド定式化ユニット78を呼び出すことができる。フォアグラウンド定式化ユニット78は、フォアグラウンドHOA係数65を取得するために、補間されたフォアグラウンド指向性情報55k’’と補間されたフォアグラウンド信号49’’との行列乗算を実行することができる(144)。オーディオ復号デバイス24はまた、HOA係数定式化ユニット82を呼び出すことができる。HOA係数定式化ユニット82は、HOA係数11’を取得するために、フォアグラウンドHOA係数65を環境HOAチャネル47’に加算することができる(146)。
[0507]図9A〜図9Lは、図4の例のオーディオ符号化デバイス20の様々な態様をより詳細に示すブロック図である。図9Aは、オーディオ符号化デバイス20のLITユニット30をより詳細に示すブロック図である。図9Aの例に示されるように、LITユニット30は、複数の様々な線形可逆変換200〜200Nを含み得る。LITユニット30は、いくつか例を挙げると、特異値分解(SVD)変換200A(「SVD200A」)、主要成分分析(PCA:principle component analysis)変換200B(「PCA200B」)、カルーネンレーベ変換(KLT)200C(「KLT200C」)、高速フーリエ変換(FFT)200D(「FFT200D」)、および離散コサイン変換(DCT)200N(「DCT200N」)を含み得る。LITユニット300は、HOA係数11に関してそれぞれの変換を適用し、それぞれの変換されたHOA係数33/35を生成するために、これらの線形可逆変換200のいずれか1つを呼び出すことができる。
[0508]HOA係数11に関して直接実行されるものとして説明されるが、LITユニット30は、線形可逆変換200をHOA係数11の派生物に適用することができる。たとえば、LITユニット300は、HOA係数11から導出された電力スペクトル密度行列に関してSVD200を適用することができる。電力スペクトル密度行列は、PSDとして示され、以下に続く擬似コードにおいて概説されるように、hoaFrameの転置のhoaFrameへの行列乗算を通じて取得され得る。hoaFrameという表記は、HOA係数11のフレームを指す。
[0509]LITユニット30は、SVD200(svd)をPSDに適用した後で、S[k]2行列(S_squared)とV[k]行列とを取得することができる。S[k]2行列は二乗されたS[k]行列を示すことができ、すなわち、LITユニット30(または代替的に、一例としてSVDユニット200)は、S[k]行列を取得するために平方根演算をS[k]2行列に適用することができる。SVD200は、いくつかの例では、量子化されたV[k]行列(V[k]’行列として示され得る)を取得するために、V[k]行列に関して量子化を実行することができる。LITユニット30は、SV[k]’行列を得るために、S[k]行列を量子化されたV[k]’行列とまず乗算することによって、U[k]行列を取得することができる。LITユニット30は次に、SV[k]’行列の擬似逆行列(pinv)を取得することができ、次いで、U[k]行列を取得するためにSV[k]’行列の擬似逆行列とHOA係数11を乗算することができる。上記は、以下の擬似コードによって表され得る。
PSD = hoaFrame’*hoaFrame;
[V, S_squared] = svd(PSD,’econ’);
S = sqrt(S_squared);
U = hoaFrame * pinv(S*V’);
[0510]HOA係数自体ではなくHOA係数の電力スペクトル密度(PSD)に関してSVDを実行することによって、LITユニット30は場合によっては、プロセッササイクルと記憶空間の1つまたは複数に関してSVDを実行することの計算的な複雑さを低減しつつ、SVDがHOA係数に直接適用されたかのように同じソースオーディオの符号化効率を達成することができる。すなわち、上で説明されたPSDタイプのSVDは場合によっては、SVDがF*Fの行列(FはHOA係数の数)に対して行われるので、計算的により負荷が軽いことがある。Mはフレーム長であるを伴うM*Fの行列と比較されると、すなわち1024個以上のサンプル。ここで、SVDの複雑さは、HOA係数11ではなくPSDへの適用を通じて、HOA係数11に適用されたときのO(M*L^2)と比べて、O(L^3)前後であり得る(ここで、O(*)はコンピュータサイエンス技術において一般的な計算の複雑さである大文字Oの表記である)。
[0511]図9Bは、オーディオ符号化デバイス0のパラメータ計算ユニット32をより詳細に示すブロック図である。パラメータ計算ユニット32は、エネルギー分析ユニット202と相互相関付けユニット204とを含み得る。エネルギー分析ユニット202は、現在のフレーム(k)または以前のフレーム(k−1)の1つまたは複数のための、相関付けパラメータ(R)、指向性特性パラメータ(θ,φ,r)、およびエネルギー特性(e)の1つまたは複数を生成するために、US[k]ベクトル33およびV[k]ベクトル35の1つまたは複数に関して上で説明されたエネルギー分析を実行することができる。同様に、相互相関付けユニット204は、現在のフレーム(k)または以前のフレーム(k−1)の1つまたは複数のための、相関付けパラメータ(R)、指向性特性パラメータ(θ,φ,r)、およびエネルギー特性(e)の1つまたは複数を生成するために、US[k]ベクトル33およびV[k]ベクトル35の1つまたは複数に関して上で説明された相互相関付けを実行することができる。パラメータ計算ユニット32は、現在のフレームパラメータ37と以前のフレームパラメータ39とを出力することができる。
[0512]図9Cは、オーディオ符号化デバイス20の再順序付けユニット34をより詳細に示すブロック図である。再順序付けユニット34は、パラメータ評価ユニット206とベクトル再順序付けユニット208とを含む。パラメータ評価ユニット206は、再順序付けインデックス205を生成するために、上で説明された方式で以前のフレームパラメータ39と現在のフレームパラメータ37とを評価するように構成されるユニットを表す。再順序付けインデックス205は、US[k]ベクトル33のベクトルおよびV[k]ベクトル35のベクトルがどのようにレンダリングされるべきかを(たとえば、現在のベクトルロケーションのインデックスを識別するペアの第1のインデックスとベクトルの再順序付けられたロケーションを識別するペアの第2のインデックスとを伴うインデックスペアによって)識別する、インデックスを含む。ベクトル再順序付けユニット208は、再順序付けインデックス205に従って、US[k]ベクトル33とV[k]ベクトル35とを再順序付けるように構成されるユニットを表す。再順序付けユニット34は、再順序付けられたUS[k]ベクトル33’と再順序付けられたV[k]ベクトル35’とを出力しながら、再順序付けインデックス205を1つまたは複数のシンタックス要素としてビットストリーム生成ユニット42に渡すこともできる。
[0513]図9Dは、オーディオ符号化デバイス20の音場分析ユニット44をより詳細に示すブロック図である。図9Dの例に示されるように、音場分析ユニット44は、特異値分析ユニット210Aと、エネルギー分析ユニット210Bと、空間分析ユニット210Cと、空間マスキング分析ユニット210Dと、拡散分析ユニット210Eと、指向性分析ユニット210Fとを含み得る。特異値分析ユニット210Aは、(US[k]ベクトル33の一部を形成する)Sベクトルの降順の対角線上の値によって作り出される曲線の傾きを分析するように構成されるユニットを表すことができ、ここで、上で説明されたように、大きい特異値はフォアグラウンド音声または明瞭な音声を表し、小さい特異値は音場のバックグラウンド成分を表す。エネルギー分析ユニット210Bは、ベクトルごとにV[k]ベクトル35のエネルギーを決定するように構成されるユニットを表し得る。
[0514]空間分析ユニット210Cは、空間領域へのHOA係数11の変換および保存されるべき音場の指向性成分を表す高エネルギーの領域の識別を通じて、上で説明された空間エネルギー分析を実行するように構成されるユニットを表し得る。空間マスキング分析ユニット210Dは、空間マスキング分析ユニット210Dが空間的に近接するより高エネルギーの音によってマスキングされる空間領域を識別できることを除き、空間エネルギー分析と同様の方式で空間マスキング分析を実行するように構成されるユニットを表し得る。拡散分析ユニット210Eは、音場のバックグラウンド成分を表し得る拡散エネルギーの領域を識別するために、HOA係数11に関して上で説明された拡散分析を実行するように構成されるユニットを表し得る。指向性分析ユニット210Fは、VS[k]ベクトルを計算することと、指向性指数を識別するためにこれらのVS[k]ベクトルの各々の各成分を二乗して加算することとを伴う、上で述べられた指向性分析を実行するように構成されるユニットを表し得る。指向性分析ユニット210Fは、VS[k]ベクトルの各々のこの指向性指数を、バックグラウンド/フォアグラウンド(BG/FG)識別(ID)ユニット212に提供することができる。
[0515]音場分析ユニット44はまた、BG/FG IDユニット212を含んでよく、これは、フォアグラウンドチャネルの総数(nFG)45、バックグラウンド音場の次数(NBG)、および送信すべき追加のBG HOAチャネルの数(nBGa)とインデックス(i)(これらは図4の例ではバックグラウンドチャネル情報43としてまとめて示され得る)を、分析ユニット210〜210Fの任意の組合せによって出力される分析の任意の組合せに基づいて決定するように構成されるユニットを表し得る。BG/FG IDユニット212は、目標ビットレート41を達成するために、nFG45とバックグラウンドチャネル情報43とを決定することができる。
[0516]図9Eは、オーディオ符号化デバイス20のフォアグラウンド選択ユニット36をより詳細に示すブロック図である。フォアグラウンド選択ユニット36は、再順序付けられたUS[k]ベクトル33’および再順序付けられたV[k]ベクトル35’からのnFGシンタックス要素45によって識別されるフォアグラウンドUS[k]ベクトル49とフォアグラウンドV[k]ベクトル51kとを解析し、または別様に抽出することができる、ベクトル解析ユニット214を含む。ベクトル解析ユニット214は、音場分析ユニット44によって識別されnFGシンタックス要素45(フォアグラウンドチャネル情報45とも呼ばれ得る)によって指定される音場のフォアグラウンド成分を表す様々なベクトルを解析することができる。図9Eの例に示されるように、ベクトル解析ユニット214は、いくつかの例では、音場のフォアグラウンド成分を表すために、フォアグラウンドUS[k]ベクトル49およびフォアグラウンドV[k]ベクトル51kの中の非連続的なベクトルを選択することができる。その上、ベクトル解析ユニット214は、いくつかの例では、音場のフォアグラウンド成分を表すために、フォアグラウンドUS[k]ベクトル49およびフォアグラウンドV[k]ベクトル51kの同じベクトル(位置ごとの)を選択することができる。
[0517]図9Fは、オーディオ符号化デバイス20のバックグラウンド選択ユニット48をより詳細に示すブロック図である。バックグラウンド選択ユニット48は、バックグラウンドチャネル情報(たとえば、バックグラウンド音場(NBG)および送信すべき追加のBG HOAチャネルの数(nBGa)とインデックス(i))に基づいて、バックグラウンドまたは環境HOA係数47を決定することができる。たとえば、NBGが1に等しいとき、バックグラウンド選択ユニット48は、1以下の次数を有するオーディオフレームの各サンプルのHOA係数11を選択することができる。バックグラウンド選択ユニット48は次いで、この例では、インデックス(i)の1つによって識別されるインデックスを有するHOA係数11を、追加のBG HOA係数として選択することができ、ここで、nBGaは、図5の例に示されるオーディオ復号デバイス24などのオーディオ復号デバイスがビットストリーム21からBG HOA係数47を解析することを可能にするために、ビットストリーム21において指定されることになるビットストリーム生成ユニット42に提供される。バックグラウンド選択ユニット48は次いで、環境HOA係数47をエネルギー補償ユニット38に出力することができる。環境HOA係数47は、次元D:M×[(NBG+1)2+nBGa]を有し得る。
[0518]図9Gは、オーディオ符号化デバイス20のエネルギー補償ユニット38をより詳細に示すブロック図である。エネルギー補償ユニット38は、バックグラウンド選択ユニット48によるHOAチャネルの様々なチャネルの除去によるエネルギー損失を補償するために、環境HOA係数47に関してエネルギー補償を実行するように構成されるユニットを表し得る。エネルギー補償ユニット38は、エネルギー決定ユニット218と、エネルギー分析ユニット220と、エネルギー増幅ユニット222とを含み得る。
[0519]エネルギー決定ユニット218は、再順序付けられたUS[k]行列33’と再順序付けられたV[k]ベクトル35’の1つまたは複数の各行および/または各列のRMSを識別するように構成されるユニットを表し得る。エネルギー決定ユニット38はまた、選択されたフォアグラウンドチャネルの1つまたは複数の各行および/または各列のRMSを識別することができ、これは、nFG信号49と、フォアグラウンドV[k]ベクトル51kと、次数低減された環境HOA係数47とを含み得る。再順序付けられたUS[k]行列33’および再順序付けられたV[k]行列35’の1つまたは複数の各行および/または各列のRMSは、RMSFULLと示されるベクトルに記憶され得るが、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数の各行および/または各列のRMSは、RMSREDUCEDと示されるベクトルに記憶され得る。
[0520]いくつかの例では、再順序付けられたUS[k]行列33’、再順序付けられたV[k]行列35’、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数のそれぞれの行および/または列の各RMSを決定するために、エネルギー決定ユニット218はまず、基準球面調和係数(SHC)レンダラを列に適用することができる。エネルギー決定ユニット218による基準SHCレンダラの適用は、再順序付けられたUS[k]行列33’、再順序付けられたV[k]行列35’、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数の行および/または列によって表されるフレームの各行および/または各列によって記述される音場全体のエネルギーを決定するための、SHC領域におけるRMSの決定を可能にする。エネルギー決定ユニット38は、このRMSFULLベクトルとRMSREDUCEDベクトルとをエネルギー分析ユニット220に渡すことができる。
[0521]エネルギー分析ユニット220は、次の式Z=RMSFULL/RMSREDUCEDに従って、増幅値ベクトルZを計算するように構成されるユニットを表し得る。エネルギー分析ユニット220は次いで、この増幅値ベクトルZをエネルギー増幅ユニット222に渡すことができる。エネルギー増幅ユニット222は、nFG信号49、フォアグラウンドV[k]ベクトル51k、および次数低減された環境HOA係数47の1つまたは複数に、この増幅値ベクトルZまたはその様々な部分を適用するように構成されるユニットを表し得る。いくつかの例では、増幅値ベクトルZは、次の式HOABG-RED’=HOABG-REDZTによって、次数低減された環境HOA係数47のみに適用され、ここでHOABG-REDは次数低減された環境HOA係数47を示し、HOABG-RED’はエネルギー補償され低減された環境HOA係数47’を示し、ZTはZベクトルの転置を示す。
[0522]図9Hは、図4の例に示されるオーディオ符号化デバイス20の空間−時間的補間ユニット50をより詳細に示すブロック図である。空間−時間的補間ユニット50は、k番目のフレームのためのフォアグラウンドV[k]ベクトル51kと以前のフレームのための(したがってk−1という表記である)フォアグラウンドV[k−1]ベクトル51k-1とを受信し、補間されたフォアグラウンドV[k]ベクトルを生成するために空間−時間的補間を実行するように構成されるユニットを表し得る。空間−時間的補間ユニット50は、V補間ユニット224とフォアグラウンド適応ユニット226とを含み得る。
[0523]V補間ユニット224は、現在のフォアグラウンドV[k]ベクトル51kおよび以前のフォアグラウンドV[k−1]ベクトル51k-1の残りの部分に基づいて、補間すべき現在のフォアグラウンドV[k]ベクトル51kの部分を選択することができる。V補間ユニット224は、上で述べられたサブフレームの1つまたは複数、またはフレームごとに変化し得る1つだけの定義されていない部分として、その部分を選択することができる。V補間ユニット224は、いくつかの例では、補間すべき現在のフォアグラウンドV[k]ベクトル51kの1024個のサンプルのうちの単一の128サンプルの部分を選択することができる。V補間ユニット224は次いで、ベクトルを球面上へ(T設計行列などの射影行列を使用して)射影することによって、現在のフォアグラウンドV[k]ベクトル51kと以前のフォアグラウンドV[k−1]ベクトル51k-1の中のベクトルの各々を、別々の空間的な写像に変換することができる。V補間ユニット224は次いで、Vの中のベクトルを球面上の形状として解釈することができる。256サンプルの部分についてV行列を補間するために、V補間ユニット224は次いで、これらの空間的な形状を補間し、次いで、射影行列の逆行列を介してそれらを球面調和関数領域のベクトルに変換し戻すことができる。本開示の技法は、このようにして、V行列間での滑らかな移行を実現することができる。V補間ユニット224は次いで、フォアグラウンドV[k]ベクトル51kの補間された部分を除去するように修正された後で、フォアグラウンドV[k]ベクトル51kを表す残りのV[k]ベクトル53を生成することができる。V補間ユニット224は次いで、補間されたフォアグラウンドV[k]ベクトル51k’をnFG適応ユニット226に渡すことができる。
[0524]補間するために単一の部分を選択するとき、V補間ユニット224は、補間の継続時間、言い換えれば時間を(サンプルの数の単位で)識別する、CodedSpatialInterpolationTime254と示されるシンタックス要素を生成することができる。サブフレーム補間を実行するために単一の部分を選択するとき、V補間ユニット224はまた、実行される補間のタイプ(またはいくつかの例では、補間が実行されたかされなかったか)を識別し得る、SpatialInterpolationMethod255と示される別のシンタックス要素を生成することができる。空間−時間的補間ユニット50は、これらのシンタックス要素254および255をビットストリーム生成ユニット42に出力することができる。
[0525]nFG適応ユニット226は、適応させられたnFG信号49’を生成するように構成されるユニットを表し得る。nFG適応ユニット226は、フォアグラウンドV[k]ベクトル51kによるnFG信号49の乗算を通じてフォアグラウンドHOA係数をまず取得することによって、適応させられたnFG信号49’を生成することができる。フォアグラウンドHOA係数を取得した後で、nFG適応ユニット226は、適応させられたnFG信号49’(これらの信号は、補間されたフォアグラウンドV[k]ベクトル51k’から導出されるとすると、補間されたnFG信号49’とも呼ばれ得る)を取得するために、補間されたフォアグラウンドV[k]ベクトル53によってフォアグラウンドHOA係数を除算することができる。
[0526]図9Iは、図4の例に示されるオーディオ符号化デバイス20の係数低減ユニット46をより詳細に示すブロック図である。係数低減ユニット46は、低減されたフォアグラウンドV[k]ベクトル55を量子化ユニット52に出力するために、バックグラウンドチャネル情報43に基づいて残りのフォアグラウンドV[k]ベクトル53に関して係数低減を実行するように構成されるユニットを表し得る。低減されたフォアグラウンドV[k]ベクトル55は、次元D:[(N+1)2−(NBG+1)2−nBGa]×nFGを有し得る。
[0527]係数低減ユニット46は係数最小化ユニット228を含んでよく、これは、(バックグラウンドチャネル情報43によって識別されるような)バックグラウンドHOA係数47の中の説明がつく任意の係数を除去することによって、残りのフォアグラウンドV[k]ベクトル53の各々のサイズを低減し、または別様に最小化するように構成されるユニットを表し得る。係数最小化ユニット228は、低減されたフォアグラウンドV[k]ベクトル55を取得するために、バックグラウンドチャネル情報43によって識別される係数を除去することができる。
[0528]図9Jは、図4の例に示されるオーディオ符号化デバイス20の音響心理学的オーディオコーダユニット40をより詳細に示すブロック図である。音響心理学的オーディオコーダユニット40は、エネルギー補償されたバックグラウンドHOA係数47’および補間されたnFG信号49’に関して音響心理学的な符号化を実行するように構成されるユニットを表し得る。図9Hの例に示されるように、音響心理学的オーディオコーダユニット40は、エネルギー補償されたバックグラウンドHOA係数47’のチャネルの各々(ここで、この文脈におけるチャネルは、特定の次数/位数の球面基底関数に対応するフレーム中のサンプルのすべてに対する係数を指す)と、補間されたnFG信号49’の各信号とをオーディオ符号化するために、音響心理学的オーディオ符号化器40A〜40Nの複数の具体物を呼び出すことができる。いくつかの例では、音響心理学的オーディオコーダユニット40は、エネルギー補償されたバックグラウンドHOA係数47’(またはnBGaとインデックスの総数(i)とを足したもの)の各チャネルと、nBGaと追加の環境HOAチャネルのインデックスの総数(i)とnFGとの合計に対する補間されたnFG信号49’(またはnFG)の各信号とを別々に符号化するのに十分な数の、オーディオ符号化器40A〜40Nを実体化し、またはそうでなければ(ハードウェアで実装されるときは)含む。オーディオ符号化器40A〜40Nは、符号化されたバックグラウンドHOA係数59と符号化されたnFG信号61とを出力することができる。
[0529]図9Kは、図4の例に示されるオーディオ符号化デバイス20の量子化ユニット52をより詳細に示すブロック図である。図9Kの例では、量子化ユニット52は、一様量子化ユニット230と、nbitsユニット232と、予測ユニット234と、予測モードユニット236(「予測モードユニット(Pred Mode Unit)236」)と、カテゴリおよび残差コーディングユニット238と、ハフマンテーブル選択ユニット240とを含む。一様量子化ユニット230は、空間成分の1つ(低減されたフォアグラウンドV[k]ベクトル55の任意の1つを表し得る)に関して上で説明された一様量子化を実行するように構成されるユニットを表す。nbitsユニット232は、nbitsパラメータまたはnbits値を決定するように構成されるユニットを表す。
[0530]予測ユニット234は、量子化された空間成分に関して予測を実行するように構成されるユニットを表す。予測ユニット234は、低減されたフォアグラウンドV[k]ベクトル55の時間的に後の対応する1つ(低減されたフォアグラウンドV[k−1]ベクトル55として示され得る)により、低減されたフォアグラウンドV[k]ベクトル55の現在のベクトルの要素ごとの減算を実行することによって、予測を実行することができる。この予測の結果は、予測された空間成分と呼ばれ得る。
[0531]予測モードユニット236は、予測モードを選択するように構成されるユニットを表し得る。ハフマンテーブル選択ユニット240は、cidのコーディングに適切なハフマンテーブルを選択するように構成されるユニットを表し得る。予測モードユニット236およびハフマンテーブル選択ユニット240は、一例として、次の擬似コードに従って動作することができる:
For a given nbits, retrieve all the Huffman Tables having nbits
B00 = 0; B01 = 0; B10 = 0; B11 = 0; // コーディングモードごとに予想されるビットを計算するために初期化する
for m = 1:(# elements in the vector)
// ベクトル要素v(m)のための期待されるビットの数を計算する
// 予測なしでハフマンテーブル5を使用する
B00 = B00 + calculate_bits(v(m), HT5);
// 予測なしでハフマンテーブル{1,2,3}を使用する
B01 = B01 + calculate_bits(v(m), HTq); q in {1,2,3}
// 予測残差e(m)のための期待されるビットの数を計算する
e(m) = v(m) - vp(m); // vp(m): previous frame vector element
// 予測ありでハフマンテーブル4を使用する
B10 = B10 + calculate_bits(e(m), HT4);
// 予測ありでハフマンテーブル5を使用する
B11 = B11 + calculate_bits(e(m), HT5);
end
// 最小ビットを生じる最良の予測モードとハフマンテーブルとを発見する
// 最良の予測モードおよびハフマンテーブルに、それぞれpflagおよびHtflagによってフラグが付けられる
[Be, id] = min( [B00 B01 B10 B11] );
Switch id
case 1: pflag = 0; HTflag = 0;
case 2: pflag = 0; HTflag = 1;
case 3: pflag = 1; HTflag = 0;
case 4: pflag = 1; HTflag = 1;
end
[0532]カテゴリおよび残差コーディングユニット238は、上でより詳細に説明された方式で、予測された空間成分または(予測が無効にされているときは)量子化された空間成分の分類と残差コーディングとを実行するように構成されるユニットを表し得る。
[0533]図9Kの例に示されるように、量子化ユニット52は、ビットストリーム21とサイド情報(これ自体がビットストリーム21とは別のビットストリームであり得る)のいずれかに含めるために、様々なパラメータまたは値を出力することができる。情報がサイドチャネル情報において指定されると仮定すると、スカラー/エントロピー量子化ユニット50は、nbits値233としてnbits値を、予測モード237として予測モードを、ハフマンテーブル情報241としてハフマンテーブル情報を、空間成分の圧縮されたバージョン(図4の例においてコーディングされたフォアグラウンドV[k]ベクトル57として示される)とともにビットストリーム生成ユニット42に出力することができ、空間成分の圧縮されたバージョンはこの例では、cidと、符号ビットと、ブロックコーディングされた残差とを符号化するために選択されるハフマンコードを指し得る。nbits値は、コーディングされたフォアグラウンドV[k]ベクトル57のすべてに対するサイドチャネル情報において一度指定され得るが、予測モードおよびハフマンテーブル情報は、コーディングされたフォアグラウンドV[k]ベクトル57の各々1つに対して指定され得る。空間成分の圧縮されたバージョンを指定するビットストリームの部分は、図10Bおよび/または図10Cの例においてさらに示される。
[0534]図9Lは、図4の例に示されるオーディオ符号化デバイス20のビットストリーム生成ユニット42をより詳細に示すブロック図である。ビットストリーム生成ユニット42は、メインチャネル情報生成ユニット242とサイドチャネル情報生成ユニット244とを含み得る。メインチャネル情報生成ユニット242は、再順序付けインデックス205、CodedSpatialInterpolationTimeシンタックス要素254、SpatialInterpolationMethodシンタックス要素255、符号化されたバックグラウンドHOA係数59、および符号化されたnFG信号61のすべてではないとしても1つまたは複数を含む、メインビットストリーム21を生成することができる。サイドチャネル情報生成ユニット244は、nbits値233、予測モード237、ハフマンテーブル情報241、およびコーディングされたフォアグラウンドV[k]ベクトル57のすべてではないとしても1つまたは複数を含み得る、サイドチャネルビットストリーム21Bを生成するように構成されるユニットを表し得る。ビットストリーム21および21Bは、ビットストリーム21と総称的に呼ばれ得る。いくつかの文脈では、ビットストリーム21はメインチャネルビットストリーム21のみを指し得るが、ビットストリーム21Bはサイドチャネル情報21Bと呼ばれ得る。
[0535]図10A〜図10O(ii)は、圧縮された空間成分をより詳細に指定し得る、ビットストリームの部分またはサイドチャネル情報を示す図である。図10Aの例において、部分250は、レンダラ識別子(「レンダラID」)フィールド251とHOADecoderConfigフィールド252とを含む。レンダラIDフィールド251は、HOAコンテンツのミキシングのために使用されたことのあるレンダラのIDを記憶するフィールドを表し得る。HOADecoderConfigフィールド252は、HOA空間復号器を初期化するための情報を記憶するように構成されるフィールドを表し得る。
[0536]HOADecoderConfigフィールド252はさらに、指向性情報(「direction info」)フィールド253と、CodedSpatialInterpolationTimeフィールド254と、SpatialInterpolationMethodフィールド255と、CodedVVecLengthフィールド256と、利得情報フィールド257とを含む。指向性情報フィールド253は、指向性ベース合成復号器を構成するための情報を記憶するフィールドを表し得る。CodedSpatialInterpolationTimeフィールド254は、ベクトルベースの信号の空間−時間的な補間の時間を記憶するフィールドを表し得る。SpatialInterpolationMethodフィールド255は、ベクトルベースの信号の空間−時間的な補間の間に適用される補間タイプのインジケーションを記憶するフィールドを表し得る。CodedVVecLengthフィールド256は、ベクトルベースの信号を合成するために使用される送信されたデータベクトルの長さを記憶するフィールドを表し得る。利得情報フィールド257は、信号に適用される利得修正を示す情報を記憶するフィールドを表す。
[0537]図10Bの例では、部分258Aはサイド情報チャネルの一部分を表し、ここで部分258Aはバイト数フィールド260とnbitsフィールド261とを含むフレームヘッダ259を含む。バイト数フィールド260は、バイトアラインメント0フィールド264を含む空間成分v1からvnを指定するためにフレームに含まれるバイトの数を表すためのフィールドを表し得る。nbitsフィールド261は、空間成分v1〜vnを解凍する際に使用するために識別されるnbits値を指定し得るフィールドを表す。
[0538]図10Bの例にさらに示されるように、部分258Aはv1〜vnのためのサブビットストリームを含んでよく、サブビットストリームの各々が、予測モードフィールド262と、ハフマンテーブル情報フィールド263と、圧縮された空間成分v1〜vnの対応する1つとを含み得る。予測モードフィールド262は、圧縮された空間成分v1〜vnの対応する1つに関して予測が実行されたかどうかのインジケーションを記憶するためのフィールドを表し得る。ハフマンテーブル情報フィールド263は、どのハフマンテーブルが圧縮された空間成分v1〜vnの対応する1つの様々な態様を復号するために使用されるべきかを少なくとも一部示すためのフィールドを表す。
[0539]この点において、本技法は、オーディオ符号化デバイス20が、音場の空間成分の圧縮されたバージョンを備えるビットストリームを取得することを可能にでき、空間成分は、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0540]図10Cは、圧縮された空間成分を指定し得るサイドチャネル情報の部分258Bの代替的な例をより詳細に示す図である。図10Cの例において、部分258Bは、Nbitsフィールド261を含むフレームヘッダ259を含む。Nbitsフィールド261は、空間成分v1〜vnを解凍する際に使用するために識別されるnbits値を指定し得るフィールドを表す。
[0541]図10Cの例にさらに示されるように、部分258Bはv1〜vnのサブビットストリームを含んでよく、サブビットストリームの各々が、予測モードフィールド262と、ハフマンテーブル情報フィールド263と、圧縮された空間成分v1〜vnの対応する1つとを含む。予測モードフィールド262は、圧縮された空間成分v1〜vnの対応する1つに関して予測が実行されたかどうかのインジケーションを記憶するためのフィールドを表し得る。ハフマンテーブル情報フィールド263は、どのハフマンテーブルが圧縮された空間成分v1〜vnの対応する1つの様々な態様を復号するために使用されるべきかを少なくとも一部示すためのフィールドを表す。
[0542]示される例におけるNbitsフィールド261は、サブフィールドA265と、サブフィールドB266と、サブフィールドC267とを含む。この例では、A265およびB266は各々1ビットのサブフィールドであるが、C267は2ビットのサブフィールドである。他の例は、異なるサイズのサブフィールド265と、266と、267とを含み得る。Aフィールド265およびBフィールド266は、Nbitsフィールド261の最上位ビットと2番目の上位ビットとを記憶するフィールドを表し得るが、Cフィールド267は、Nbitsフィールド261の最下位ビットを記憶するフィールドを表し得る。
[0543]部分258Bはまた、AddAmbHoaInfoChannelフィールド268を含み得る。AddAmbHoaInfoChannelフィールド268は、追加の環境HOA係数のための情報を記憶するフィールドを表し得る。図10Cの例に示されるように、AddAmbHoaInfoChannel268は、CodedAmbCoeffIdxフィールド246と、AmbCoeffIdxTransitionフィールド247とを含む。CodedAmbCoeffIdxフィールド246は、追加の環境HOA係数のインデックスを記憶するフィールドを表し得る。AmbCoeffIdxTransitionフィールド247は、フレームの中で追加の環境HOA係数がフェードインされるかフェードアウトされるかを示すデータを記憶するように構成されるフィールドを表し得る。
[0544]図10C(i)は、圧縮された空間成分を指定し得るサイドチャネル情報の部分258B’の代替的な例をより詳細に示す図である。図10C(i)の例では、部分258B’は、Nbitsフィールド261を含むフレームヘッダ259を含む。Nbitsフィールド261は、空間成分v1〜vnを解凍する際の使用について識別されるnbits値を指定することができる。
[0545]図10C(i)の例にさらに示されるように、部分258B’はv1〜vnのサブビットストリームを含んでよく、サブビットストリームの各々が、予測モードフィールド262を含まずに、ハフマンテーブル情報フィールド263と、圧縮された指向性成分v1〜vnの対応する1つとを含む。すべての他の点において、部分258B’は部分258Bと同様であり得る。
[0546]図10Dは、ビットストリーム21の部分258Cをより詳細に示す図である。部分258Cは、図10Dの例に示されるように、フレームヘッダ259および0バイトアラインメント264が除去され、一方でNbits261フィールドがv1〜vnのビットストリームの各々の前に追加されたことを除き、部分258と同様である。
[0547]図10D(i)は、ビットストリーム21の部分258C’をより詳細に示す図である。部分258C’は、部分258C’がVベクトルv1〜vnの各々のための予測モードフィールド262を含まないことを除き、部分258Cと同様である。
[0548]図10Eは、ビットストリーム21の部分258Dをより詳細に示す図である。部分258Dは、図10Eの例に示されるように、フレームヘッダ259および0バイトアラインメント264が除去され、一方でNbits261フィールドがv1〜vnのビットストリームの各々の前に追加されたことを除き、部分258と同様である。
[0549]図10E(i)は、ビットストリーム21の部分258D’をより詳細に示す図である。部分258D’は、部分258D’がVベクトルv1〜vnの各々のための予測モードフィールド262を含まないことを除き、部分258Dと同様である。この点において、オーディオ符号化デバイス20は、図10C(i)、図10D(i)、および図10E(i)の例に関して例証されたように、各々の圧縮されたVベクトルのための予測モードフィールド262を含まないビットストリーム21を生成することができる。
[0550]図10Fは、図10Aの例に示されるビットストリーム21の部分250を異なる方式で示す図である。図10Dの例に示される部分250は、HOAOrderフィールド(説明を簡単にするために図10Fの例では示されなかった)と、MinAmbHoaOrderフィールド(やはり説明を簡単にするために図10の例では示されなかった)と、指向性情報フィールド253と、CodedSpatialInterpolationTimeフィールド254と、SpatialInterpolationMethodフィールド255と、CodedVVecLengthフィールド256と、利得情報フィールド257とを含む。図10Fの例に示されるように、CodedSpatialInterpolationTimeフィールド254は3ビットのフィールドを備えてよく、SpatialInterpolationMethodフィールド255は1ビットのフィールドを備えてよく、CodedVVecLengthフィールド256は2ビットのフィールドを備えてよい。
[0551]図10Gは、ビットストリーム21の部分248をより詳細に示す図である。部分248は、HOAframeフィールド249(サイドバンド情報、サイドチャネル情報、またはサイドチャネルビットストリームとしても示され得る)を含む、統合された音声/オーディオコーダ(USAC:unified speech/audio coder)3次元(3D)ペイロードを表す。図10Eの例に示されるように、HOAFrameフィールド249の拡大図は、図10Cの例に示されるビットストリーム21の部分258Bと同様であり得る。「ChannelSideInfoData」は、説明を簡単にするために図10Cの例には示されなかったChannelTypeフィールド269と、図10Eの例において「ba」として示されるAフィールド265と、図10Eの例において「bb」として示されるBフィールド266と、図10Eの例において「unitC」として示されるCフィールド267とを含む。ChannelTypeフィールドは、チャネルが指向性ベースの信号か、ベクトルベースの信号か、追加の環境HOA係数かを示す。異なるChannelSideInfoDataの間には、灰色で示される異なるVベクトルビットストリーム(たとえば、「v1のためのビットストリーム」および「v2のためのビットストリーム」)を伴うAddAmbHoaInfoChannelフィールド268がある。
[0552]図10H〜図10O(ii)は、付随するHOAconfig部分250H〜250Oとともにビットストリーム21の別の様々な例示的な部分248H〜248Oをより詳細に示す図である。図10H(i)および図10H(ii)は、上の擬似コードにおいてケース0に対応するように生成された、第1の例示的なビットストリーム248Hと付随するHOA config部分250Hとを示す。図10H(i)の例において、HOAconfig部分250Hは、Vベクトルのすべての要素、たとえばすべての16個のVベクトルの要素がコーディングされることを示すように設定された、CodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Hはまた、空間−時間的な補間の補間関数が二乗余弦であることを示すように設定された、SpatialInterpolationMethodシンタックス要素255を含む。HOAconfig部分250Hはその上、256という補間されたサンプル継続時間を示すように設定された、CodedSpatialInterpolationTime254を含む。HOAconfig部分250Hはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定された、MinAmbHoaOrderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumofCoeffsForAmbHOAシンタックス要素を導出することができる。HOAconfig部分250Hは、3に等しいものとしてコンテンツのHOA次数を示すように設定されたHoaOrderシンタックス要素152を含み(または言い換えればN=3)、ここでオーディオ復号デバイス24は、(N+1)2すなわち16に等しいものとしてNumOfHoaCoeffsを導出することができる。
[0553]図10H(i)の例にさらに示されるように、部分248Hは、スペクトル帯域複製(SBR:spectral band replication)が有効にされるときに2つのオーディオフレームが1つの統合された音声およびオーディオコーディング(USAC)3次元(USAC−3D)フレームに記憶されるとすると、2つのHOAフレーム249Aおよび249BがUSAC拡張ペイロードに記憶される、USAC−3Dオーディオフレームを含む。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルトランスポートチャネルの数を導出することができる。次の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルトランスポートチャネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素を引いたもの(すなわち3)に等しい。
[0554]図10H(ii)は、フレーム249Aと249Bとをより詳細に示す。図10H(ii)の例に示されるように、フレーム249Aは、ChannelSideInfoData(CSID)フィールド154〜154Cと、HOAGainCorrectionData(HOAGCD)フィールドと、VVectorDataフィールド156および156Bと、HOAPredictionInfoフィールドとを含む。CSIDフィールド154は、ChannelType269とともにunitC267と、bb266と、ba265とを含み、これらの各々は、図10H(i)の例に示される対応する値01、1、0、および01に設定される。CSIDフィールド154Bは、ChannelType269とともにunitC267と、bb266と、ba265とを含み、これらの各々は、図10H(ii)の例に示される対応する値01、1、0、および01に設定される。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。CSIDフィールド154〜154Cの各々は、トランスポートチャネル1、2、および3のそれぞれ1つに対応する。事実上、各CSIDフィールド154〜154Cは、対応するペイロード156および156Bが指向性ベースの信号か(対応するChannelTypeが0に等しいとき)、ベクトルベースの信号か(対応するChannelTypeが1に等しいとき)、追加の環境HOA係数か(対応するChannelTypeが2に等しいとき)、空か(ChannelTypeが3に等しいとき)を示す。
[0555]図10H(ii)の例において、フレーム249Aは、(CSIDフィールド154および154BにおいてChannelType269が1に等しいとすると)2つのベクトルベースの信号と(CSIDフィールド154CにおいてChannelType269が3に等しいとすると)空とを含む。前述のHOAconfig部分250Hを仮定すると、オーディオ復号デバイス24は、すべての16個のVベクトルの要素が符号化されると決定することができる。したがって、VVectorData156および156Bは各々、各々が8ビットによって一様に量子化されるすべての16個のベクトル要素を含む。脚注1によって示されるように、コーディングされるVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定される。その上、単一のアスタリスク(*)によって示されるように、コーディングスキームは、対応するトランスポートチャネルのためのCSIDフィールドにおいて、NbitsQ=5によってシグナリングされる。
[0556]フレーム249Bにおいて、CSIDフィールド154および154Bはフレーム249の中のそれらと同じであるが、フレーム249BのCSIDフィールド154Cは1というChannelTypeに切り替えられる。フレーム249BのCSIDフィールド154Cはしたがって、CbFlag267と、Pflag267(ハフマン符号化を示す)と、Nbits261(12に等しい)とを含む。結果として、フレーム249Bは、各々が12ビットによって一様に量子化されハフマンコーディングされた、16個のVベクトル要素を含む第3のVVectorDataフィールド156Cを含む。上で述べられたように、コーディングされたVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定されるが、ハフマンコーディングスキームは、この特定のトランスポートチャネル(たとえば、トランスポートチャネル第3)のためのCSIDフィールド154Cの中のNbitsQ=12、CbFlag=0、およびPflag=0によってシグナリングされる。
[0557]図10I(i)および図10I(ii)の例は、上の擬似コードにおいてケース0に対応するように生成された、第2の例示的なビットストリーム248Iと付随するHOA config部分250Iとを示す。図10I(i)の例では、HOAconfig部分250Iは、Vベクトルのすべての要素、たとえばすべての16個のVベクトル要素がコーディングされることを示すように設定された、CodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Iはまた、空間−時間的な補間の補間関数が二乗余弦であることを示すように設定された、SpatialInterpolationMethodシンタックス要素255を含む。HOAconfig部分250Iはその上、256という補間されたサンプル継続時間を示すように設定された、CodedSpatialInterpolationTime254を含む。
[0558]HOAconfig部分250Iはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定された、MinAmbHoaOrderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumofCoeffsForAmbHOAシンタックス要素を導出することができる。オーディオ復号デバイス24はまた、NumOfHoaCoeffsシンタックス要素とMinNumOfCoeffsForAmbHOAとの間の差に設定されるものとしてMaxNoofAddActiveAmbCoeffsシンタックス要素を導出することができ、これはこの例では16−4すなわち12に等しいと仮定される。オーディオ復号デバイス24はまた、ceil(log2(MaxNoOfAddActiveAmbCoeffs))=ceil(log2(12))=4に設定されるものとしてAmbAsignmBitsシンタックス要素を導出することができる。HOAconfig部分250Hは、3に等しいものとしてコンテンツのHOA次数を示すように設定されたHoaOrderシンタックス要素152を含み(または言い換えればN=3)、ここでオーディオ復号デバイス24は、(N+1)2すなわち16に等しいものとしてNumOfHoaCoeffsを導出することができる。
[0559]図10I(i)の例にさらに示されるように、部分248Hは、スペクトル帯域複製(SBR)が有効にされるときに2つのオーディオフレームが1つのUSAC−3Dフレームに記憶されるとすると、2つのHOAフレーム249Cおよび249DがUSAC拡張ペイロードに記憶される、USAC−3Dオーディオフレームを含む。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルトランスポートチャネルの数を導出することができる。次の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルトランスポートチャネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素を引いたもの(すなわち3)に等しい。
[0560]図10I(ii)は、フレーム249Cと249Dとをより詳細に示す。図10I(ii)の例に示されるように、フレーム249Cは、CSIDフィールド154〜154CとVVectorDataフィールド156とを含む。CSIDフィールド154は、CodedAmbCoeffIdx246と、AmbCoeffIdxTransition247(ここで、ダブルアスタリスク(**)は、フレキシブルトランスポートチャネル第1に対して、復号器の内部状態がここではAmbCoeffIdxTransitionState=2であると仮定されることを示し、このことは、CodedAmbCoeffIdxビットフィールドがシグナリングされる、またはビットストリームにおいて別様に指定されるをもたらす)と、ChannelType269(これは2に等しく、対応するペイロードが追加の環境HOA係数であることをシグナリングする)とを含む。オーディオ復号デバイス24は、CodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOAすなわちこの例では5に等しいものとしてAmbCoeffIdxを導出することができる。CSIDフィールド154Bは、図10I(ii)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。
[0561]図10I(ii)の例では、フレーム249Cは、(CSIDフィールド154Bの中のChannelType269が1に等しいとすると)単一のベクトルベースの信号と(CSIDフィールド154Cの中のChannelType269が3に等しいとすると)空とを含む。前述のHOAconfig部分250Iを仮定すると、オーディオ復号デバイス24は、すべての16個のVベクトル要素が符号化されると決定することができる。したがって、VVectorData156は、各々が8ビットによって一様に量子化される、すべての16個のベクトル要素を含む。脚注1によって示されるように、コーディングされるVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定される。その上、脚注2によって示されるように、コーディングスキームは、対応するトランスポートチャネルのCSIDフィールドにおいてNbitsQ=5によってシグナリングされる。
[0562]フレーム249Dにおいて、CSIDフィールド154は、移行が起こらなかったことを示すAmbCoeffIdxTransition247を含むので、CodedAmbCoeffIdx246は以前のフレームから推測されることが可能であり、再びシグナリングされること、または別様に指定されることは必要ではない。フレーム249DのCSIDフィールド154Bおよび154Cは、フレーム249Cのそれらと同じであるので、フレーム249Cのように、フレーム249Dは単一のVVectorDataフィールド156を含み、これは、各々が8ビットによって一様に量子化されるすべての16個のベクトル要素を含む。
[0563]図10J(i)および図10J(ii)は、上の擬似コードにおけるケース1に対応するように生成された、第1の例示的なビットストリーム248Jと付随するHOA config部分250Jとを示す。図10J(i)の例では、HOAconfig部分250Jは、要素1からMinNumOfCoeffsForAmbHOAシンタックス要素まで、およびContAddAmbHoaChanシンタックス要素において指定される要素(この例では0であると仮定される)を除き、Vベクトルのすべての要素がコーディングされることを示すように設定されるCodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Jはまた、空間−時間的な補間の補間関数が二乗余弦であることを示すように設定された、SpatialInterpolationMethodシンタックス要素255を含む。HOAconfig部分250Jはその上、256という補間されたサンプル継続時間を示すように設定された、CodedSpatialInterpolationTime254を含む。HOAconfig部分250Jはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定された、MinAmbHoaOrderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumofCoeffsForAmbHOAシンタックス要素を導出することができる。HOAconfig部分250Jは、3に等しいものとしてコンテンツのHOA次数を示すように設定されたHoaOrderシンタックス要素152を含み(または言い換えればN=3)、ここでオーディオ復号デバイス24は、(N+1)2すなわち16に等しいものとしてNumOfHoaCoeffsを導出することができる。
[0564]図10J(i)の例にさらに示されるように、部分248Jは、スペクトル帯域複製(SBR)が有効にされるときに2つのオーディオフレームが1つのUSAC−3Dフレームに記憶されるとすると、2つのHOAフレーム249Eおよび249FがUSAC拡張ペイロードに記憶される、USAC−3Dオーディオフレームを含む。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルトランスポートチャネルの数を導出することができる。次の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルトランスポートチャネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素を引いたもの(すなわち3)に等しい。
[0565]図10J(ii)は、フレーム249Eと249Fとをより詳細に示す。図10J(ii)の例に示されるように、フレーム249Eは、CSIDフィールド154〜154CとVVectorDataフィールド156および156Bとを含む。CSIDフィールド154は、図10J(i)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Bは、図10J(ii)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。CSIDフィールド154〜154Cの各々は、トランスポートチャネル1、2、および3のそれぞれ1つに対応する。
[0566]図10J(ii)の例では、フレーム249Eは、(CSIDフィールド154および154Bの中のChannelType269が1に等しいとすると)2つのベクトルベースの信号と(CSIDフィールド154Cの中のChannelType269が3に等しいとすると)空とを含む。前述のHOAconfig部分250Hを仮定すると、オーディオ復号デバイス24は、すべての12個のVベクトル要素が符号化されると決定することができる(ここで、12は、(HOAOrder+1)2−(MinNumOfCoeffsForAmbHOA)−(ContAddAmbHoaChan)=16−4−0=12として導出される)。したがって、VVectorData156および156Bは各々、各々が8ビットによって一様に量子化されるすべての12個のベクトル要素を含む。脚注1によって示されるように、コーディングされるVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定される。その上、単一のアスタリスク(*)によって示されるように、コーディングスキームは、対応するトランスポートチャネルのためのCSIDフィールドにおいて、NbitsQ=5によってシグナリングされる。
[0567]フレーム249Fにおいて、CSIDフィールド154および154Bはフレーム249Eの中のそれらと同じであるが、フレーム249FのCSIDフィールド154Cは1というChannelTypeに切り替えられる。フレーム249BのCSIDフィールド154Cはしたがって、CbFlag267と、Pflag267(ハフマン符号化を示す)と、Nbits261(12に等しい)とを含む。結果として、フレーム249Fは、各々が12ビットによって一様に量子化されハフマンコーディングされる、12個のVベクトル要素を含む第3のVVectorDataフィールド156Cを含む。上で述べられたように、コーディングされたVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定されるが、ハフマンコーディングスキームは、この特定のトランスポートチャネル(たとえば、トランスポートチャネル第3)のためのCSIDフィールド154Cの中のNbitsQ=12、CbFlag=0、およびPflag=0によってシグナリングされる。
[0568]図10K(i)および図10K(ii)の例は、上の擬似コードにおけるケース1に対応するように生成された、第2の例示的なビットストリーム248Kと付随するHOA config部分250Kとを示す。図10K(i)の例では、HOAconfig部分250Kは、要素1からMinNumOfCoeffsForAmbHOAシンタックス要素まで、およびContAddAmbHoaChanシンタックス要素において指定される要素(この例では0であると仮定される)を除き、Vベクトルのすべての要素がコーディングされることを示すように設定されるCodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Kはまた、空間−時間的な補間の補間関数が二乗余弦であることを示すように設定された、SpatialInterpolationMethodシンタックス要素255を含む。HOAconfig部分250Kはその上、256という補間されたサンプル継続時間を示すように設定された、CodedSpatialInterpolationTime254を含む。
[0569]HOAconfig部分250Kはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定された、MinAmbHoaOrderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumOfCoeffsForAmbHOAシンタックス要素を導出することができる。オーディオ復号デバイス24はまた、NumOfHoaCoeffsシンタックス要素とMinNumOfCoeffsForAmbHOAとの間の差に設定されるものとしてMaxNoOfAddActiveAmbCoeffsシンタックス要素を導出することができ、これはこの例では16−4すなわち12に等しいと仮定される。オーディオ復号デバイス24はまた、ceil(log2(MaxNoOfAddActiveAmbCoeffs))=ceil(log2(12))=4に設定されるものとしてAmbAsignmBitsシンタックス要素を導出することができる。HOAconfig部分250Kは、3に等しいものとしてコンテンツのHOA次数を示すように設定されたHoaOrderシンタックス要素152を含み(または言い換えればN=3)、ここでオーディオ復号デバイス24は、(N+1)2すなわち16に等しいものとしてNumOfHoaCoeffsを導出することができる。
[0570]図10K(i)の例にさらに示されるように、部分248Kは、スペクトル帯域複製(SBR)が有効にされるときに2つのオーディオフレームが1つのUSAC−3Dフレームに記憶されるとすると、2つのHOAフレーム249Gおよび249HがUSAC拡張ペイロードに記憶される、USAC−3Dオーディオフレームを含む。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルトランスポートチャネルの数を導出することができる。次の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルトランスポートチャネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素を引いたもの(すなわち3)に等しい。
[0571]図10K(ii)は、フレーム249Gと249Hとをより詳細に示す。図10K(ii)の例に示されるように、フレーム249GはCSIDフィールド154〜154CとVVectorDataフィールド156とを含む。CSIDフィールド154は、CodedAmbCoeffIdx246と、AmbCoeffIdxTransition247(ここで、ダブルアスタリスク(**)は、フレキシブルトランスポートチャネル第1に対して、復号器の内部状態がここではAmbCoeffIdxTransitionState=2であると仮定されることを示し、このことは、CodedAmbCoeffIdxビットフィールドがシグナリングされる、またはビットストリームにおいて別様に指定されるをもたらす)と、ChannelType269(これは2に等しく、対応するペイロードが追加の環境HOA係数であることをシグナリングする)とを含む。オーディオ復号デバイス24は、CodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOAすなわちこの例では5に等しいものとしてAmbCoeffIdxを導出することができる。CSIDフィールド154Bは、図10K(ii)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。
[0572]図10K(ii)の例では、フレーム249Gは、(CSIDフィールド154Bの中のChannelType269が1に等しいとすると)単一のベクトルベースの信号と(CSIDフィールド154Cの中のChannelType269が3に等しいとすると)空とを含む。前述のHOAconfig部分250Kを仮定すると、オーディオ復号デバイス24は、11個のVベクトル要素が符号化されると決定することができる(ここで、12は、(HOAOrder+1)2−(MinNumOfCoeffsForAmbHOA)−(ContAddAmbHoaChan)=16−4−1=11として導出される)。したがって、VVectorData156は、各々が8ビットによって一様に量子化される、すべての11個のベクトル要素を含む。脚注1によって示されるように、コーディングされるVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定される。その上、脚注2によって示されるように、コーディングスキームは、対応するトランスポートチャネルのCSIDフィールドにおいてNbitsQ=5によってシグナリングされる。
[0573]フレーム249Hにおいて、CSIDフィールド154は、移行が起こらなかったことを示すAmbCoeffIdxTransition247を含むので、CodedAmbCoeffIdx246は以前のフレームから推測されることが可能であり、再びシグナリングされること、または別様に指定されることは必要ではない。フレーム249HのCSIDフィールド154Bおよび154Cは、フレーム249Gのそれらと同じであるので、フレーム249Gのように、フレーム249Hは単一のVVectorDataフィールド156を含み、これは、各々が8ビットによって一様に量子化される11個のベクトル要素を含む。
[0574]図10L(i)および図10L(ii)は、上の擬似コードにおけるケース2に対応するように生成された、第1の例示的なビットストリーム248Lと付随するHOA config部分250Lとを示す。図10L(i)の例では、HOAconfig部分250Lは、0次からMinAmbHoaOrderシンタックス要素150によって指定される次数(これは、この例では(HoaOrder+1)2−(MinAmbHoaOrder+1)2=16−4=12に等しい)までの要素を除き、Vベクトルのすべての要素がコーディングされることを示すように設定されるCodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Lはまた、空間−時間的な補間の補間関数が二乗余弦であることを示すように設定された、SpatialInterpolationMethodシンタックス要素255を含む。HOAconfig部分250Lはその上、256という補間されたサンプル継続時間を示すように設定された、CodedSpatialInterpolationTime254を含む。HOAconfig部分250Lはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定された、MinAmbHoaOrderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumOofCoeffsForAmbHOAシンタックス要素を導出することができる。HOAconfig部分250Lは、3に等しいものとしてコンテンツのHOA次数を示すように設定されたHoaOrderシンタックス要素152を含み(または言い換えればN=3)、ここでオーディオ復号デバイス24は、(N+1)2すなわち16に等しいものとしてNumOfHoaCoeffsを導出することができる。
[0575]図10L(i)の例にさらに示されるように、部分248Lは、スペクトル帯域複製(SBR)が有効にされるときに2つのオーディオフレームが1つのUSAC−3Dフレームに記憶されるとすると、2つのHOAフレーム249Iおよび249JがUSAC拡張ペイロードに記憶される、USAC−3Dオーディオフレームを含む。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルトランスポートチャネルの数を導出することができる。次の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルトランスポートチャネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素を引いたもの(すなわち3)に等しい。
[0576]図10L(ii)は、フレーム249Iと249Jとをより詳細に示す。図10L(ii)の例に示されるように、フレーム249IはCSIDフィールド154〜154CとVVectorDataフィールド156および156Bとを含む。CSIDフィールド154は、図10J(i)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Bは、図10L(ii)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。CSIDフィールド154〜154Cの各々は、トランスポートチャネル1、2、および3のそれぞれ1つに対応する。
[0577]図10L(ii)の例では、フレーム249Iは、(CSIDフィールド154および154Bの中のChannelType269が1に等しいとすると)2つのベクトルベースの信号と(CSIDフィールド154Cの中のChannelType269が3に等しいとすると)空とを含む。前述のHOAconfig部分250Hを仮定すると、オーディオ復号デバイス24は、12個のVベクトル要素が符号化されると決定することができる。したがって、VVectorData156および156Bは各々、各々が8ビットによって一様に量子化される12個のベクトル要素を含む。脚注1によって示されるように、コーディングされるVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定される。その上、単一のアスタリスク(*)によって示されるように、コーディングスキームは、対応するトランスポートチャネルのためのCSIDフィールドにおいて、NbitsQ=5によってシグナリングされる。
[0578]フレーム249Jにおいて、CSIDフィールド154および154Bはフレーム249Iの中のそれらと同じであるが、フレーム249FのCSIDフィールド154Cは1というChannelTypeに切り替えられる。フレーム249BのCSIDフィールド154Cはしたがって、CbFlag267と、Pflag267(ハフマン符号化を示す)と、Nbits261(12に等しい)とを含む。結果として、フレーム249Fは、各々が12ビットによって一様に量子化されハフマンコーディングされる、12個のVベクトル要素を含む第3のVVectorDataフィールド156Cを含む。上で述べられたように、コーディングされたVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定されるが、ハフマンコーディングスキームは、この特定のトランスポートチャネル(たとえば、トランスポートチャネル第3)のためのCSIDフィールド154Cの中のNbitsQ=12、CbFlag=0、およびPflag=0によってシグナリングされる。
[0579]図10M(i)および図10M(ii)の例は、上の擬似コードにおけるケース2に対応するように生成された、第2の例示的なビットストリーム248Mと付随するHOA config部分250Mとを示す。図10M(i)の例では、HOAconfig部分250Mは、0次からMinAmbHoaOrderシンタックス要素150によって指定される次数(これは、この例では(HoaOrder+1)2−(MinAmbHoaOrder+1)2=16−4=12に等しい)までの要素を除き、Vベクトルのすべての要素がコーディングされることを示すように設定されるCodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Mはまた、空間−時間的な補間の補間関数が二乗余弦であることを示すように設定された、SpatialInterpolationMethodシンタックス要素255を含む。HOAconfig部分250Mはその上、256という補間されたサンプル継続時間を示すように設定された、CodedSpatialInterpolationTime254を含む。
[0580]HOAconfig部分250Mはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定された、MinAmbHoaOrderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumofCoeffsForAmbHOAシンタックス要素を導出することができる。オーディオ復号デバイス24はまた、NumOfHoaCoeffsシンタックス要素とMinNumOfCoeffsForAmbHOAとの間の差に設定されるものとしてMaxNoOfAddActiveAmbCoeffsシンタックス要素を導出することができ、これはこの例では16−4すなわち12に等しいと仮定される。オーディオ復号デバイス24はまた、ceil(log2(MaxNoOfAddActiveAmbCoeffs))=ceil(log2(12))=4に設定されるものとしてAmbAsignmBitsシンタックス要素導出することができる。HOAconfig部分250Mは、3に等しいものとしてコンテンツのHOA次数を示すように設定されたHoaOrderシンタックス要素152を含み(または言い換えればN=3)、ここでオーディオ復号デバイス24は、(N+1)2すなわち16に等しいものとしてNumOfHoaCoeffsを導出することができる。
[0581]図10M(i)の例にさらに示されるように、部分248Mは、スペクトル帯域複製(SBR)が有効にされるときに2つのオーディオフレームが1つのUSAC−3Dフレームに記憶されるとすると、2つのHOAフレーム249Kおよび249LがUSAC拡張ペイロードに記憶される、USAC−3Dオーディオフレームを含む。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルトランスポートチャネルの数を導出することができる。次の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルトランスポートチャネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素を引いたもの(すなわち3)に等しい。
[0582]図10M(ii)は、フレーム249Kと249Lとをより詳細に示す。図10M(ii)の例に示されるように、フレーム249KはCSIDフィールド154〜154CとVVectorDataフィールド156とを含む。CSIDフィールド154は、CodedAmbCoeffIdx246と、AmbCoeffIdxTransition247(ここで、ダブルアスタリスク(**)は、フレキシブルトランスポートチャネル第1に対して、復号器の内部状態がここではAmbCoeffIdxTransitionState=2であると仮定されることを示し、このことは、CodedAmbCoeffIdxビットフィールドがシグナリングされる、またはビットストリームにおいて別様に指定されるをもたらす)と、ChannelType269(これは2に等しく、対応するペイロードが追加の環境HOA係数であることをシグナリングする)とを含む。オーディオ復号デバイス24は、CodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOAすなわちこの例では5に等しいものとしてAmbCoeffIdxを導出することができる。CSIDフィールド154Bは、図10M(ii)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。
[0583]図10M(ii)の例では、フレーム249Kは、(CSIDフィールド154Bの中のChannelType269が1に等しいとすると)単一のベクトルベースの信号と(CSIDフィールド154Cの中のChannelType269が3に等しいとすると)空とを含む。前述のHOAconfig部分250Mを仮定すると、オーディオ復号デバイス24は、12個のVベクトル要素が符号化されると決定することができる。したがって、VVectorData156は、各々が8ビットによって一様に量子化される12個のベクトル要素を含む。脚注1によって示されるように、コーディングされるVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定される。その上、脚注2によって示されるように、コーディングスキームは、対応するトランスポートチャネルのCSIDフィールドにおいてNbitsQ=5によってシグナリングされる。
[0584]フレーム249Lにおいて、CSIDフィールド154は、移行が起こらなかったことを示すAmbCoeffIdxTransition247を含むので、CodedAmbCoeffIdx246は以前のフレームから推測されることが可能であり、再びシグナリングされること、または別様に指定されることは必要ではない。フレーム249LのCSIDフィールド154Bおよび154Cは、フレーム249Kのそれらと同じであるので、フレーム249Kのように、フレーム249Lは単一のVVectorDataフィールド156を含み、これは、各々が8ビットによって一様に量子化される12個のベクトル要素を含む。
[0585]図10N(i)および図10N(ii)は、上の擬似コードにおけるケース3に対応するように生成された、第1の例示的なビットストリーム248Nと付随するHOA config部分250Nとを示す。図10N(i)の例では、HOAconfig部分250Nは、ContAddAmbHoaChanシンタックス要素(これは、この例では0であると仮定される)において指定される要素を除き、Vベクトルのすべての要素がコーディングされることを示すように設定されるCodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Nはまた、空間−時間的な補間の補間関数が二乗余弦であることを示すように設定された、SpatialInterpolationMethodシンタックス要素255を含む。HOAconfig部分250Nはその上、256という補間されたサンプル継続時間を示すように設定された、CodedSpatialInterpolationTime254を含む。HOAconfig部分250Kはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定された、MinAmbHoaOrderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumOfCoeffsForAmbHOAシンタックス要素を導出することができる。HOAconfig部分250Nは、3に等しいものとしてコンテンツのHOA次数を示すように設定されたHoaOrderシンタックス要素152を含み(または言い換えればN=3)、ここでオーディオ復号デバイス24は、(N+1)2すなわち16に等しいものとしてNumOfHoaCoeffsを導出することができる。
[0586]図10N(i)の例にさらに示されるように、部分248Nは、スペクトル帯域複製(SBR)が有効にされるときに2つのオーディオフレームが1つのUSAC−3Dフレームに記憶されるとすると、2つのHOAフレーム249Mおよび249NがUSAC拡張ペイロードに記憶される、USAC−3Dオーディオフレームを含む。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルトランスポートチャネルの数を導出することができる。次の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルトランスポートチャネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素を引いたもの(すなわち3)に等しい。
[0587]図10N(ii)は、フレーム249Mと249Nとをより詳細に示す。図10N(ii)の例に示されるように、フレーム249MはCSIDフィールド154〜154CとVVectorDataフィールド156および156Bとを含む。CSIDフィールド154は、図10J(i)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Bは、図10N(ii)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。CSIDフィールド154〜154Cの各々は、トランスポートチャネル1、2、および3のそれぞれ1つに対応する。
[0588]図10N(ii)の例では、フレーム249Mは、(CSIDフィールド154および154Bの中のChannelType269が1に等しいとすると)2つのベクトルベースの信号と(CSIDフィールド154Cの中のChannelType269が3に等しいとすると)空とを含む。前述のHOAconfig部分250Mを仮定すると、オーディオ復号デバイス24は、16個のVベクトル要素が符号化されると決定することができる。したがって、VVectorData156および156Bは各々、各々が8ビットによって一様に量子化される16個のベクトル要素を含む。脚注1によって示されるように、コーディングされるVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定される。その上、単一のアスタリスク(*)によって示されるように、コーディングスキームは、対応するトランスポートチャネルのためのCSIDフィールドにおいて、NbitsQ=5によってシグナリングされる。
[0589]フレーム249Nにおいて、CSIDフィールド154および154Bはフレーム249Mの中のそれらと同じであるが、フレーム249FのCSIDフィールド154Cは1というChannelTypeに切り替えられる。フレーム249BのCSIDフィールド154Cはしたがって、CbFlag267と、Pflag267(ハフマン符号化を示す)と、Nbits261(12に等しい)とを含む。結果として、フレーム249Fは、各々が12ビットによって一様に量子化されハフマンコーディングされる16個のVベクトル要素を含む、第3のVVectorDataフィールド156Cを含む。上で述べられたように、コーディングされたVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定されるが、ハフマンコーディングスキームは、この特定のトランスポートチャネル(たとえば、トランスポートチャネル第3)のためのCSIDフィールド154Cの中のNbitsQ=12、CbFlag=0、およびPflag=0によってシグナリングされる。
[0590]図10O(i)および図10O(ii)の例は、上の擬似コードにおけるケース3に対応するように生成された、第2の例示的なビットストリーム248Oと付随するHOA config部分250Oとを示す。図10O(i)の例では、HOAconfig部分250Oは、ContAddAmbHoaChanシンタックス要素(これは、この例では1であると仮定される)において指定される要素を除き、Vベクトルのすべての要素がコーディングされることを示すように設定されるCodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Oはまた、空間−時間的な補間の補間関数が二乗余弦であることを示すように設定された、SpatialInterpolationMethodシンタックス要素255を含む。HOAconfig部分250Oはその上、256という補間されたサンプル継続時間を示すように設定された、CodedSpatialInterpolationTime254を含む。
[0591]HOAconfig部分250Oはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定された、MinAmbHoaOrderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumofCoeffsForAmbHOAシンタックス要素を導出することができる。オーディオ復号デバイス24はまた、NumOfHoaCoeffsシンタックス要素とMinNumOfCoeffsForAmbHOAとの間の差に設定されるものとしてMaxNoOfAddActiveAmbCoeffsシンタックス要素を導出することができ、これはこの例では16−4すなわち12に等しいと仮定される。オーディオ復号デバイス24はまた、ceil(log2(MaxNoOfAddActiveAmbCoeffs))=ceil(log2(12))=4に設定されるものとしてAmbAsignmBitsをシンタックス要素導出することができる。HOAconfig部分250Oは、3に等しいものとしてコンテンツのHOA次数を示すように設定されたHoaOrderシンタックス要素152を含み(または言い換えればN=3)、ここでオーディオ復号デバイス24は、(N+1)2すなわち16に等しいものとしてNumOfHoaCoeffsを導出することができる。
[0592]図10O(i)の例にさらに示されるように、部分248Oは、スペクトル帯域複製(SBR)が有効にされるときに2つのオーディオフレームが1つのUSAC−3Dフレームに記憶されるとすると、2つのHOAフレーム249Oおよび249PがUSAC拡張ペイロードに記憶される、USAC−3Dオーディオフレームを含む。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルトランスポートチャネルの数を導出することができる。次の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルトランスポートチャネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素を引いたもの(すなわち3)に等しい。
[0593]図10O(ii)は、フレーム249Oと249Pとをより詳細に示す。図10O(ii)の例に示されるように、フレーム249OはCSIDフィールド154〜154CとVVectorDataフィールド156とを含む。CSIDフィールド154は、CodedAmbCoeffIdx246と、AmbCoeffIdxTransition247(ここで、ダブルアスタリスク(**)は、フレキシブルトランスポートチャネル第1に対して、復号器の内部状態がここではAmbCoeffIdxTransitionState=2であると仮定されることを示し、このことは、CodedAmbCoeffIdxビットフィールドがシグナリングされる、またはビットストリームにおいて別様に指定されるをもたらす)と、ChannelType269(これは2に等しく、対応するペイロードが追加の環境HOA係数であることをシグナリングする)とを含む。オーディオ復号デバイス24は、CodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOAすなわちこの例では5に等しいものとしてAmbCoeffIdxを導出することができる。CSIDフィールド154Bは、図10O(ii)の例に示される各々が対応する値01、1、0、および01に設定される、unitC267と、bb266と、ba265とともにChannelType269を含む。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。
[0594]図10O(ii)の例では、フレーム249Oは、(CSIDフィールド154Bの中のChannelType269が1に等しいとすると)単一のベクトルベースの信号と(CSIDフィールド154Cの中のChannelType269が3に等しいとすると)空とを含む。前述のHOAconfig部分250Oを仮定すると、オーディオ復号デバイス24は、16からContAddAmbHoaChanシンタックス要素に(たとえば、6というインデックスと関連付けられるベクトル要素がContAddAmbHoaChanシンタックス要素として指定される)よって指定されるものを引いたもの、すなわち15個のVベクトルが符号化されると決定することができる。したがって、VVectorData156は、各々が8ビットによって一様に量子化される15個のベクトル要素を含む。脚注1によって示されるように、コーディングされるVVectorData要素の数およびインデックスは、パラメータCodedVVecLength=0によって指定される。その上、脚注2によって示されるように、コーディングスキームは、対応するトランスポートチャネルのCSIDフィールドにおいてNbitsQ=5によってシグナリングされる。
[0595]フレーム249Pにおいて、CSIDフィールド154は、移行が起こらなかったことを示すAmbCoeffIdxTransition247を含むので、CodedAmbCoeffIdx246は以前のフレームから推測されることが可能であり、再びシグナリングされること、または別様に指定されることは必要ではない。フレーム249PのCSIDフィールド154Bおよび154Cは、フレーム249Oのそれらと同じであるので、フレーム249Oのように、フレーム249Pは単一のVVectorDataフィールド156を含み、これは、各々が8ビットによって一様に量子化される15個のベクトル要素を含む。
[0596]図11A〜図11Gは、図5の例に示されるオーディオ復号デバイス24の様々なユニットをより詳細に示すブロック図である。図11Aは、オーディオ復号デバイス24の抽出ユニット72をより詳細に示すブロック図である。図11Aの例に示されるように、抽出ユニット72は、モード解析ユニット270と、モード構成ユニット272(「モード構成ユニット272(mode config unit 272)」)と、構成可能抽出ユニット274とを含み得る。
[0597]モード解析ユニット270は、ビットストリーム21を形成するためにHOA係数11を符号化するために使用されるコーディングモードを示す上で述べられたシンタックス要素(たとえば、図10Eの例に示されるChannelTypeシンタックス要素)を解析するように構成されるユニットを表し得る。モード解析ユニット270は、決定されたシンタックス要素をモード構成ユニット272に渡すことができる。モード構成ユニット272は、解析されたシンタックス要素に基づいて構成可能抽出ユニット274を構成するように構成されるユニットを表し得る。モード構成ユニット272は、ビットストリーム21からHOA係数11の指向性ベースのコーディングされた表現を抽出し、または解析されたシンタックス要素に基づいてビットストリーム21からHOA係数11のベクトルベースのコーディングされた表現を抽出するように、構成可能抽出ユニット274を構成することができる。
[0598]指向性ベースの符号化が実行されたとき、構成可能抽出ユニット274は、HOA係数11の指向性ベースのバージョンと、符号化されたバージョンと関連付けられるシンタックス要素(図11Aの例では指向性ベースの情報91として示される)を抽出することができる。指向性ベースの情報91は、0に等しいChannelTypeによって定義されるように、図10Dの例に示される指向性情報253と図10Eの例に示される指向性ベースのSideChannelInfoDataとを含み得る。
[0599]HOA係数11がベクトルベースの合成を使用して符号化されたことをシンタックス要素が示すとき(たとえば、ChannelTypeシンタックス要素が1に等しいとき)、構成可能抽出ユニット274は、コーディングされたフォアグラウンドV[k]ベクトル57と、符号化された環境HOA係数59と、符号化されたnFG信号59とを抽出することができる。構成可能抽出ユニット274はまた、HOA係数11がベクトルベースの合成を使用して符号化されたことをシンタックス要素が示すと決定すると、CodedSpatialInterpolationTimeシンタックス要素254とSpatialInterpolationMethodシンタックス要素255とをビットストリーム21から抽出し、これらのシンタックス要素254および255を空間−時間的補間ユニット76に渡すことができる。
[0600]図11Bは、図5の例に示されるオーディオ復号デバイス24の量子化ユニット74をより詳細に示すブロック図である。量子化ユニット74は、コーディングされたフォアグラウンドV[k]ベクトル57をエントロピー復号して逆量子化し、それによって低減されたフォアグラウンドV[k]ベクトル55kを生成するために、図4の例に示される量子化ユニット52とは逆の方式で動作するように構成されるユニットを表し得る。スカラー/エントロピー逆量子化ユニット984は、カテゴリ/残差復号ユニット276と、予測ユニット278と、一様逆量子化ユニット280とを含み得る。
[0601]カテゴリ/残差復号ユニット276は、ハフマンテーブル情報241によって識別されるハフマンテーブル(これは、上で述べられたように、ビットストリーム21中のシンタックス要素として表現される)を使用して、コーディングされたフォアグラウンドV[k]ベクトル57に関してハフマン復号を実行するように構成されるユニットを表し得る。カテゴリ/残差復号ユニット276は、量子化されたフォアグラウンドV[k]ベクトルを予測ユニット278に出力することができる。予測ユニット278は、予測モード237に基づいて量子化されたフォアグラウンドV[k]ベクトルに関して予測を実行し、補強された量子化されたフォアグラウンドV[k]ベクトルを一様逆量子化ユニット280に出力するように構成されるユニットを表し得る。一様逆量子化ユニット280は、nbits値233に基づいて、補強された量子化されたフォアグラウンドV[k]ベクトルに関して逆量子化を実行し、低減されたフォアグラウンドV[k]ベクトル55kを出力するように構成されるユニットを表し得る。
[0602]図11Cは、図5の例に示されるオーディオ復号デバイス24の音響心理学的復号ユニット80をより詳細に示すブロック図である。上で述べられたように、音響心理学的復号ユニット80は、符号化された環境HOA係数59と符号化されたnFG信号61とを復号し、それによってエネルギー補償された環境HOA係数47’と補間されたnFG信号49’(補間されたnFGオーディオオブジェクト49’とも呼ばれ得る)とを生成するために、図4の例に示される音響心理学的オーディオコーディングユニット40とは逆の方式で動作することができる。音響心理学的復号ユニット80は、エネルギー補償された環境HOA係数47’をHOA係数定式化ユニット82に渡し、nFG信号49’を再順序付け84に渡すことができる。音響心理学的復号ユニット80は、音響心理学的オーディオコーディングユニット40と同様の複数のオーディオ復号器80〜80Nを含み得る。オーディオ復号器80〜80Nは、上で述べられたように、バックグラウンドHOA係数47’の各チャネルおよびnFG信号49’の各信号の同時の復号をサポートするのに十分な量で、音響心理学的オーディオコーディングユニット40の中で実体化され、または別様に含まれ得る。
[0603]図11Dは、図5の例に示されるオーディオ復号デバイス24の再順序付けユニット84をより詳細に示すブロック図である。再順序付けユニット84は、再順序付けユニット34に関して上で説明されたものとは逆の方式で動作するように構成されるユニットを表し得る。再順序付けユニット84は、HOA係数11のフォアグラウンド成分のオリジナルの次数を示すシンタックス要素205を受信するように構成されるユニットを表し得る、ベクトル再順序付けユニット282を含み得る。抽出ユニット72は、ビットストリーム21からのこれらのシンタックス要素を解析し、シンタックス要素205を再順序付けユニット84に渡すことができる。ベクトル再順序付けユニット282は、これらの再順序付けシンタックス要素205に基づいて、再順序付けられたnFG信号49’’と再順序付けられたフォアグラウンドV[k]ベクトル55k’とを生成するために、補間されたnFG信号49’と低減されたフォアグラウンドV[k]ベクトル55kとを再順序付けることができる。再順序付けユニット84は、再順序付けられたnFG信号49’’をフォアグラウンド定式化ユニット78に出力し、再順序付けられたフォアグラウンドV[k]ベクトル55k’を空間−時間的補間ユニット76に出力することができる。
[0604]図11Eは、図5の例に示されるオーディオ復号デバイス24の空間−時間的補間ユニット76をより詳細に示すブロック図である。空間−時間的補間ユニット76は、空間−時間的補間ユニット50に関して上で説明されたものと同様の方式で動作することができる。空間−時間的補間ユニット76は、V補間ユニット284を含んでよく、これは、再順序付けられたフォアグラウンドV[k]ベクトル55k’を受信し、補間されたフォアグラウンドV[k]ベクトル55k’’を生成するために再順序付けられたフォアグラウンドV[k]ベクトル55k’および再順序付けられたフォアグラウンドV[k−1]ベクトル55k-1’に関して空間−時間的な補間を実行するように構成されるユニットを表し得る。V補間ユニット284は、CodedSpatialInterpolationTimeシンタックス要素254およびSpatialInterpolationMethodシンタックス要素255に基づいて補間を実行することができる。いくつかの例では、V補間ユニット285は、SpatialInterpolationMethodシンタックス要素255によって識別された補間のタイプを使用してCodedSpatialInterpolationTimeシンタックス要素254によって指定される継続時間にわたり、Vベクトルを補間することができる。空間−時間的補間ユニット76は、補間されたフォアグラウンドV[k]ベクトル55k’’をフォアグラウンド定式化ユニット78に転送することができる。
[0605]図11Fは、図5の例に示されるオーディオ復号デバイス24のフォアグラウンド定式化ユニット78をより詳細に示すブロック図である。フォアグラウンド定式化ユニット78は乗算ユニット286を含んでよく、これは、フォアグラウンドHOA係数65を生成するために補間されたフォアグラウンドV[k]ベクトル55k’’および再順序付けられたnFG信号49’’に関して行列乗算を実行するように構成されるユニットを表し得る。
[0606]図11Gは、図5の例に示されるオーディオ復号デバイス24のHOA係数定式化ユニット82をより詳細に示すブロック図である。HOA係数定式化ユニット82は加算ユニット288を含んでよく、これは、HOA係数11’を取得するために、フォアグラウンドHOA係数65を環境HOAチャネル47’に加算するように構成されるユニットを表し得る。
[0607]図12は、本開示において説明される技法の様々な態様を実行し得る例示的なオーディオエコシステムを示す図である。図12に示されるように、オーディオエコシステム300は、取得301と、編集302と、コーディング303と、送信304と、再生305とを含み得る。
[0608]取得301は、オーディオコンテンツが取得されるオーディオエコシステム300の技法を表し得る。取得301の例は、限定はされないが、音声(たとえばライブの音声)を記録すること、オーディオの生成(たとえば、オーディオオブジェクト、フォーリー作成物、音声合成、シミュレーション)などを含む。いくつかの例では、音声は、コンサートにおいて、スポーツイベントにおいて、および監視を行うときに記録され得る。いくつかの例では、オーディオは、シミュレーション、およびオーサード/ミキシング(たとえば、映画、ゲーム)を実行するときに生成され得る。オーディオオブジェクトは、ハリウッド(たとえば、IMAXスタジオ)において使用され得る。いくつかの例では、取得301は、図3のコンテンツ作成者12などのコンテンツ作成者によって実行され得る。
[0609]編集302は、オーディオコンテンツが編集および/または修正されるオーディオエコシステム300の技法を表し得る。一例として、オーディオコンテンツは、オーディオコンテンツの複数のユニットをオーディオコンテンツの単一のユニットへと組み合わせることによって編集され得る。別の例として、オーディオコンテンツは、実際のオーディオコンテンツを調整する(たとえば、オーディオコンテンツの1つまたは複数の周波数成分のレベルを調整する)ことによって編集され得る。いくつかの例では、編集302は、図3のオーディオ編集システム18などのオーディオ編集システムによって実行され得る。いくつかの例では、編集302は、図29に示されるモバイルデバイスの1つまたは複数などのモバイルデバイス上で実行され得る。
[0610]コーディング303は、オーディオコンテンツがオーディオコンテンツの表現へとコーディングされるオーディオエコシステム300の技法を表し得る。いくつかの例では、オーディオコンテンツの表現は、図3のビットストリーム21などのビットストリームであり得る。いくつかの例では、コーディング302は、図3のオーディオ符号化デバイス20などのオーディオ符号化デバイスによって実行され得る。
[0611]送信304は、オーディオコンテンツがコンテンツ作成者からコンテンツ消費者に運ばれるオーディオエコシステム300の要素を表し得る。いくつかの例では、オーディオコンテンツは、リアルタイムで、またはほぼリアルタイムで運ばれ得る。たとえば、オーディオコンテンツはコンテンツ消費者にストリーミングされ得る。いくつかの例では、オーディオコンテンツは、コンピュータ可読記憶媒体などの媒体上にオーディオコンテンツをコーディングすることによって運ばれ得る。たとえば、オーディオコンテンツは、ディスク、ドライブなど(たとえば、ブルーレイ(登録商標)ディスク、メモリカード、ハードドライブなど)に記憶され得る。
[0612]再生305は、オーディオコンテンツがレンダリングされコンテンツ消費者に向かって再生されるオーディオエコシステム300の技法を表し得る。いくつかの例では、再生305は、再生環境の1つまたは複数の態様に基づいて3D音場をレンダリングすることを含み得る。言い換えれば、再生305は、ローカルの音響ランドスケープに基づき得る。
[0613]図13は、図12のオーディオエコシステムの一例をより詳細に示す図である。図13に示されるように、オーディオエコシステム300は、オーディオコンテンツ308と、映画撮影所310と、音楽スタジオ311と、ゲーミングオーディオスタジオ312と、チャネルベースのオーディオコンテンツ313と、コーディングエンジン314と、ゲームオーディオステム315と、ゲームオーディオコーディング/レンダリングエンジン316と、配信システム317とを含み得る。例示的なゲーミングオーディオスタジオ312が図26に示されている。いくつかの例示的なゲームオーディオコーディング/レンダリングエンジン316が図27に示されている。
[0614]図13によって示されるように、映画撮影所310、音楽スタジオ311、およびゲーミングオーディオスタジオ312はオーディオコンテンツ308を受け取り得る。いくつかの例では、オーディオコンテンツ308は、図12の取得301の出力を表し得る。映画撮影所310は、デジタルオーディオワークステーション(DAW)を使用することなどによって、チャネルベースのオーディオコンテンツ313(たとえば、2.0、5.0、および7.1の)を出力することができる。音楽スタジオ310は、DAWを出力することなどによって、チャネルベースのオーディオコンテンツ313(たとえば、2.0、および5.1の)を出力することができる。いずれの場合でも、コーディングエンジン314は、配信システム317による出力のために、1つまたは複数のコーデック(たとえば、AAC、AC3、Dolby True HD、Dolby Digital Plus、およびDTS Master Audio)に基づいて、チャネルベースのオーディオコンテンツ313を受信し符号化することができる。このようにして、コーディングエンジン314は、図12のコーディング303の例であり得る。ゲーミングオーディオスタジオ312は、DAWを使用することなどによって、1つまたは複数のゲームオーディオステム315を出力することができる。ゲームオーディオコーディング/レンダリングエンジン316は、配信システム317による出力のために、オーディオステム315をチャネルベースのオーディオコンテンツへとコーディングおよびまたはレンダリングすることができる。いくつかの例では、映画撮影所310、音楽スタジオ311、およびゲーミングオーディオスタジオ312の出力は、図12の編集302の出力を表し得る。いくつかの例では、コーディングエンジン314および/またはゲームオーディオコーディング/レンダリングエンジン316の出力は、図12の送信304の技法を介して配信システム317に運ばれ得る。
[0615]図14は、図12のオーディオエコシステムの別の例をより詳細に示す図である。図14に示されるように、オーディオエコシステム300Bは、ブロードキャストされる録音オーディオオブジェクト319と、プロフェッショナルオーディオシステム320と、消費者向けオンデバイスキャプチャ322と、HOAオーディオフォーマット323と、オンデバイスレンダリング324と、消費者向けオーディオ、TV、およびアクセサリ325と、カーオーディオシステム326とを含み得る。
[0616]図14に示されるように、ブロードキャストされる録音オーディオオブジェクト319、プロフェッショナルオーディオシステム320、および消費者向けオンデバイスキャプチャ322はすべて、HOAオーディオフォーマット323を使用して出力をコーディングすることができる。このようにして、オーディオコンテンツは、オンデバイスレンダリング324と、消費者向けオーディオ、TV、およびアクセサリ325と、カーオーディオシステム326とを使用して再生され得る単一の表現へと、HOAオーディオフォーマット323を使用してコーディングされ得る。言い換えれば、オーディオコンテンツの単一の表現は、汎用的なオーディオ再生システム(すなわち、5.1、7.1などの特定の構成を必要とすることとは対照的な)において再生され得る。
[0617]図15Aおよび図15Bは、図12のオーディオエコシステムの他の例をより詳細に示す図である。図15Aに示されるように、オーディオエコシステム300Cは、取得要素331と再生要素336とを含み得る。取得要素331は、有線および/またはワイヤレス取得デバイス332(たとえば、Eigenマイクロフォン)と、オンデバイスサラウンドサウンドキャプチャ334と、モバイルデバイス335(たとえば、スマートフォンおよびタブレット)とを含み得る。いくつかの例では、有線および/またはワイヤレス取得デバイス332は、有線および/またはワイヤレス通信チャネル333を介してモバイルデバイス335に結合され得る。
[0618]本開示の1つまたは複数の技法によれば、モバイルデバイス335が音場を取得するために使用され得る。たとえば、モバイルデバイス335は、有線および/もしくはワイヤレス取得デバイス332ならびに/またはオンデバイスサラウンドサウンドキャプチャ334(たとえば、モバイルデバイス335へと統合される複数のマイクロフォン)を介して、音場を取得することができる。モバイルデバイス335は次いで、再生要素336の1つまたは複数による再生のために、取得された音場をHOA337へとコーディングすることができる。たとえば、モバイルデバイス335のユーザは、ライブイベント(たとえば、会合、会議、劇、コンサートなど)を録音し(その音場を取得し)、録音をHOAへとコーディングすることができる。
[0619]モバイルデバイス335はまた、HOAコーディングされる音場を再生するために再生要素336の1つまたは複数を利用することができる。たとえば、モバイルデバイス335は、HOAコーディングされた音場を復号し、信号を再生要素336の1つまたは複数に信号を出力することができ、このことは再生要素336の1つまたは複数に音場を再作成させる。一例として、モバイルデバイス335は、1つまたは複数のスピーカー(たとえば、スピーカーアレイ、サウンドバーなど)に信号を出力するために、ワイヤレスおよび/またはワイヤレス通信チャネル338を利用することができる。別の例として、モバイルデバイス335は、1つまたは複数のドッキングステーションおよび/または1つまたは複数のドッキングされたスピーカー(たとえば、スマート自動車および/またはスマート住宅の中のサウンドシステム)に信号を出力するために、ドッキング解決手段339を利用することができる。別の例として、モバイルデバイス335は、ヘッドフォンのセットに信号を出力するために、たとえばリアルなバイノーラルサウンドを作成するために、ヘッドフォンレンダリング340を利用することができる。
[0620]いくつかの例では、特定のモバイルデバイス335は、3D音場を取得することと、より後の時間に同じ3D音場を再生することとの両方を行うことができる。いくつかの例では、モバイルデバイス335は、3D音場を取得し、3D音場をHOAへと符号化し、符号化された3D音場を再生のために1つまたは複数の他のデバイス(たとえば、他のモバイルデバイスおよび/または他の非モバイルデバイス)に送信することができる。
[0621]図15Bに示されるように、オーディオエコシステム300Dは、オーディオコンテンツ343と、ゲームスタジオ344と、コーディングされるオーディオコンテンツ345と、レンダリングエンジン346と、配信システム347とを含み得る。いくつかの例では、ゲームスタジオ344は、HOA信号の編集をサポートし得る1つまたは複数のDAWを含み得る。たとえば、1つまたは複数のDAWは、1つまたは複数のゲームオーディオシステムとともに動作する(たとえば、機能する)ように構成され得る、HOAプラグインおよび/またはツールを含み得る。いくつかの例では、ゲームスタジオ344は、HOAをサポートする新しいステムフォーマットを出力することができる。いずれの場合でも、ゲームスタジオ344は、配信システム347による再生のために音場をレンダリングすることができるレンダリングエンジン346に、コーディングされたオーディオコンテンツ345を出力することができる。
[0622]図16は、本開示において説明される技法の様々な態様を実行し得る例示的なオーディオ符号化デバイスを示す図である。図16に示されるように、オーディオエコシステム300Eは、オリジナルの3Dオーディオコンテンツ351と、符号化器352と、ビットストリーム353と、復号器354と、レンダラ355と、再生要素356とを含み得る。図16によってさらに示されるように、符号化器352は、音場分析および分解357と、バックグラウンド抽出358と、バックグラウンドの顕著さの決定359と、オーディオコーディング360と、フォアグラウンド/明瞭オーディオ抽出361と、オーディオコーディング362とを含み得る。いくつかの例では、符号化器352は、図3および図4のオーディオ符号化デバイス20と同様の動作を実行するように構成され得る。いくつかの例では、音場分析および分解357は、図4の音場分析ユニット44と同様の動作を実行するように構成され得る。いくつかの例では、バックグラウンド抽出358およびバックグラウンドの顕著さの決定359は、図4のBG選択ユニット48と同様の動作を実行するように構成され得る。いくつかの例では、オーディオコーディング360およびオーディオコーディング362は、図4の音響心理学的オーディオコーダユニット40と同様の動作を実行するように構成され得る。いくつかの例では、フォアグラウンド/明瞭オーディオ抽出361は、図4のフォアグラウンド選択ユニット36と同様の動作を実行するように構成され得る。
[0623]いくつかの例では、フォアグラウンド/明瞭オーディオ抽出361は、図33のビデオフレーム390に対応するオーディオコンテンツを分析することができる。たとえば、フォアグラウンド/明瞭オーディオ抽出361は、領域391A〜391Cに対応するオーディオコンテンツがフォアグラウンドオーディオであると決定することができる。
[0624]図16に示されるように、符号化器352は、25〜75Mbpsというビットレートを有し得るオリジナルのコンテンツ351を、256kbps〜1.2Mbpsというビットレートを有し得るビットストリーム353へと符号化するように構成され得る。図17は、図16のオーディオ符号化デバイスの一例をより詳細に示す図である。
[0625]図18は、本開示において説明される技法の様々な態様を実行し得る例示的なオーディオ復号デバイスを示す図である。図18に示されるように、オーディオエコシステム300Eは、オリジナルの3Dオーディオコンテンツ351と、符号化器352と、ビットストリーム353と、復号器354と、レンダラ355と、再生要素356とを含み得る。図16によってさらに示されるように、復号器354は、オーディオ復号器363と、オーディオ復号器364と、フォアグラウンド再構築365と、ミキシング366とを含み得る。いくつかの例では、復号器354は、図3および図5のオーディオ復号デバイス24と同様の動作を実行するように構成され得る。いくつかの例では、オーディオ復号器363、オーディオ復号器364は、図5の音響心理学的復号ユニット80と同様の動作を実行するように構成され得る。いくつかの例では、フォアグラウンド再構築365は、図5のフォアグラウンド定式化ユニット78と同様の動作を実行するように構成され得る。
[0626]図16に示されるように、復号器354は、ビットストリーム353を受信して復号し、得られた再構築された3D音場をレンダラ355に出力するように構成されてよく、レンダラ355は次いで、再生要素356の1つまたは複数に、オリジナルの3Dコンテンツ351の表現を出力させ得る。図19は、図18のオーディオ復号デバイスの一例をより詳細に示す図である。
[0627]図20A〜図20Gは、本開示において説明される技法の様々な態様を実行し得る例示的なオーディオ取得デバイスを示す図である。図20Aは、3D音場を記録するように集団的に構成される複数のマイクロフォンを含み得る、Eigenマイクロフォン370を示す。いくつかの例では、Eigenマイクロフォン370の複数のマイクロフォンは、約4cmの半径を伴う実質的に球状の球体の表面に配置され得る。いくつかの例では、オーディオ符号化デバイス20は、マイクロフォン370から直接ビットストリーム17を出力するために、Eigenマイクロフォンに統合され得る。
[0628]図20Bは、1つまたは複数のEigenマイクロフォン370などの1つまたは複数のマイクロフォンから信号を受信するように構成され得る、製作トラック372を示す。製作トラック372はまた、図3のオーディオ符号化器20などのオーディオ符号化器を含み得る。
[0629]図20C〜図20Eは、3D音場を記録するように集団的に構成される複数のマイクロフォンを含み得るモバイルデバイス374を示す。言い換えれば、複数のマイクロフォンは、X、Y、Zのダイバーシチを有し得る。いくつかの例では、モバイルデバイス374は、モバイルデバイス374の1つまたは複数の他のマイクロフォンに関してX、Y、Zのダイバーシチを提供するように回転され得るマイクロフォン376を含み得る。モバイルデバイス374はまた、図3のオーディオ符号化器20などのオーディオ符号化器を含み得る。
[0630]図20Fは、3D音場を記録するように構成され得る、耐衝撃性のビデオキャプチャデバイス378を示す。いくつかの例では、耐衝撃性のビデオキャプチャデバイス378は、ある活動に関与するユーザのヘルメットに取り付けられ得る。たとえば、耐衝撃性のビデオキャプチャデバイス378は、急流下りをしているユーザのヘルメットに取り付けられ得る。このようにして、耐衝撃性のビデオキャプチャデバイス378は、ユーザの周りのすべての活動(たとえば、ユーザの後ろでくだける水、ユーザの前で話している別の乗員など)を表す3D音場をキャプチャすることができる。
[0631]図20Gは、3D音場を記録するように構成され得る、アクセサリで増強されたモバイルデバイス380を示す。いくつかの例では、モバイルデバイス380は、図15のモバイルデバイス335と同様であり得るが、1つまたは複数のアクセサリが追加されている。たとえば、Eigenマイクロフォンは、アクセサリで増強されたモバイルデバイス380を形成するために、図15のモバイルデバイス335に取り付けられ得る。このようにして、アクセサリで増強されたモバイルデバイス380は、アクセサリで増強されたモバイルデバイス380と一体のサウンドキャプチャコンポーネントをただ使用したときよりも高品質なバージョンの3D音場をキャプチャすることができる。
[0632]図21A〜図21Eは、本開示において説明される技法の様々な態様を実行し得る例示的なオーディオ再生デバイスを示す図である。図21Aおよび図21Bは、複数のスピーカー382とサウンドバー384とを示す。本開示の1つまたは複数の技法によれば、スピーカー382および/またはサウンドバー384は、あらゆる任意の構成で配置されることが可能であり、それでも3D音場を再生する。図21C〜図21Eは、複数のヘッドフォン再生デバイス386〜386Cを示す。ヘッドフォン再生デバイス386〜386Cは、有線接続とワイヤレス接続のいずれかを介して復号器に結合され得る。本開示の1つまたは複数の技法によれば、音場の単一の汎用的な表現が、スピーカー382、サウンドバー384、およびヘッドフォン再生デバイス386〜386Cの任意の組合せで音場をレンダリングするために利用され得る。
[0633]図22A〜図22Hは、本開示において説明される1つまたは複数の技法による例示的なオーディオ再生環境を示す図である。たとえば、図22Aは5.1スピーカー再生環境を示し、図22Bは2.0(たとえば、ステレオ)スピーカー再生環境を示し、図22Cはフルハイトのフロントラウドスピーカーを伴う9.1スピーカー再生環境を示し、図22Dおよび図22Eは各々22.2スピーカー再生環境を示し、図22Fは16.0スピーカー再生環境を示し、図22Gは自動車向けのスピーカー再生環境を示し、図22Hはイヤーバッドの再生環境を伴うモバイルデバイスを示す。
[0634]本開示の1つまたは複数の技法によれば、音場の単一の汎用的な表現が、図22A〜図22Hに示される再生環境のいずれかにおいても音場をレンダリングするために利用され得る。加えて、本開示の技法は、レンダードが、図22A〜図22Hに示されるもの以外の再生環境での再生のために、汎用的な表現から音場をレンダリングすることを可能にする。たとえば、設計上の考慮事項が、7.1スピーカー再生環境に従ったスピーカーの適切な配置を妨げる場合(たとえば、右側のサラウンドスピーカーを配置することが可能ではない場合)、本開示の技法は、再生が6.1スピーカー再生環境で達成され得るように、レンダーが他の6つのスピーカーとともに補償することを可能にする。
[0635]図23に示されるように、ユーザはヘッドフォン386を装着しながらスポーツの試合を見ることがある。本開示の1つまたは複数の技法によれば、スポーツの試合の3D音場が取得されることが可能であり(たとえば、1つまたは複数のEigenマイクロフォンが図24に示される野球場の中および/または周りに配置されることが可能であり)、3D音場に対応するHOA係数が取得され復号器に送信されることが可能であり、復号器がHOA係数に基づいて3D音場を再構築するために決定し、再構築されたザ3D音場をレンダラに出力することができ、レンダラが再生環境のタイプ(たとえば、ヘッドフォン)についてのインジケーションを取得し、再構築された3D音場を、ヘッドフォンにスポーツの試合の3D音場の表現を出力させる信号へとレンダリングすることができる。いくつかの例では、レンダラは、図25の技法に従って再生環境のタイプについてのインジケーションを取得することができる。このようにして、レンダラは、様々なスピーカーロケーション、タイプの数、サイズに「適応」し、また、ローカルの環境に対して最適にイコライズすることができる。
[0636]図28は、本開示において説明される1つまたは複数の技法による、ヘッドフォンにより模擬され得るスピーカー構成を示す図である。図28によって示されるように、本開示の技法は、ヘッドフォン389を装着しているユーザが、音場がスピーカー388によって再生されているかのように音場を体験することを可能にし得る。このようにして、ユーザは、広い領域に音が出力されることなく、3D音場を聞くことができる。
[0637]図30は、本開示において説明される1つまたは複数の技法に従って処理され得る3D音場と関連付けられるビデオフレームを示す図である。
[0638]図31A〜図31Mは、本開示において説明される技法の様々な態様による、音場の合成または記録された分類の実行の様々なシミュレーション結果を示すグラフ400A〜400Mを示す図である。図31A〜図31Mの例では、グラフ400A〜400Mの各々は、点線によって示される閾値402と、破線によって示されるそれぞれのオーディオオブジェクト404A〜404M(総称的に「オーディオオブジェクト404」)とを含む。
[0639]コンテンツ分析ユニット26に関して上で説明された分析を経てオーディオオブジェクト404が閾値402の下にあると決定されるとき、コンテンツ分析ユニット26は、オーディオオブジェクト404の対応する1つが、録音されたオーディオオブジェクトを表すと決定する。図31B、図31D〜図31H、および図31J〜図31Lの例に示されるように、コンテンツ分析ユニット26は、オーディオオブジェクト404B、404D〜404H、404J〜404Lが(少なくとも時間の90%、しばしば時間の100%の間)閾値402の下にあり、したがって録音されたオーディオオブジェクトを表すと決定する。図31A、図31C、および図31Iの例に示されるように、コンテンツ分析ユニット26は、オーディオオブジェクト404A、404C、および404Iが閾値402を超え、したがって合成オーディオオブジェクトを表すと決定する。
[0640]図31Mの例では、オーディオオブジェクト404Mは、いくつかの合成部分(たとえば、閾値402を上回る)といくつかの合成部分(たとえば、閾値402を下回る)とを有する、混合された合成オーディオオブジェクト/録音されたオーディオオブジェクトを表す。この例でのコンテンツ分析ユニット26は、オーディオオブジェクト404Mの合成部分と録音部分とを識別し、その結果、オーディオ符号化デバイス20は、指向性ベースの符号化されたオーディオデータとベクトルベースの符号化されたオーディオデータの両方を含むようにビットストリーム21を生成する。
[0641]図32は、本開示において説明される技法による、高次アンビソニックス係数から分解されたS行列からの特異値のグラフ406を示す図である。図32に示されるように、大きい値を有する0ではない特異値はわずかである。図4の音場分析ユニット44は、これらの特異値を分析して、再順序付けられたUS[k]ベクトル33’および再順序付けられたV[k]ベクトル35’のnFGフォアグラウンド(または言い換えれば支配的な)成分(しばしばベクトルによって表される)を決定することができる。
[0642]図33Aおよび図33Bは、本開示において説明された技法による、音場のフォアグラウンド成分を記述するベクトルを符号化するときに再順序付けが有する潜在的な影響を示すそれぞれのグラフ410Aおよび410Bを示す図である。グラフ410Aは、再順序付けられていない(または言い換えれば、オリジナルの)US[k]ベクトル33の少なくともいくつかを符号化した結果を示し、グラフ410Bは、再順序付けられたUS[k]ベクトル33’の対応する1つを符号化した結果を示す。グラフ410Aおよび410Bの各々の一番上のプロットは符号化の誤差を示し、グラフ410Bにはフレーム境界のみにおいて目立つ誤差がある可能性が高い。したがって、本開示で説明される再順序付け技法は、従来のオーディオコーダを使用したモノラルオーディオオブジェクトのコーディングを容易にし、または別様に促進し得る。
[0643]図34および図35は、本開示による、明瞭なオーディオオブジェクトのエネルギーのみに基づく識別と指向性のみに基づく識別との差を示す概念図である。図34の例では、より大きいエネルギーを示すベクトルは、指向性とは無関係に明瞭なオーディオオブジェクトであるものとして識別される。図34に示されるように、(y軸上にプロットされる)より高いエネルギー値に従って配置されるオーディオオブジェクトは、(たとえば、x軸上にプロットされる指向性指数によって表される)指向性とは無関係に、「フォアグラウンドの中にある」と決定される。
[0644]図35は、図4の音場分析ユニット44によって実施される技法などによる、指向性とエネルギーの両方に基づく明瞭なオーディオオブジェクトの識別を示す。図35に示されるように、より大きい指向性指数はx軸の左側に向かってプロットされ、より大きいエネルギーレベルはy軸の上側に向かってプロットされる。この例では、音場分析ユニット44は、明瞭なオーディオオブジェクト(たとえば、「フォアグラウンドの中」にある)が、相対的にグラフの左上に向かってプロットされたベクトルデータと関連付けられると決定することができる。一例として、音場分析ユニット44は、グラフの左上の象限にプロットされたベクトルが明瞭なオーディオオブジェクトと関連付けられると決定することができる。
[0645]図36A〜図36Fは、本開示において説明される技法の様々な態様による、補間を実行するための球面調和係数の分解されたバージョンの少なくとも一部分の空間領域への射影を示す図である。図36Aは、球面412へのV[k]ベクトル35の1つまたは複数の射影を示す図である。図36Aの例において、各々の数字は、(場合によってはV行列19’の1つの行および/または列と関連付けられる)球面に射影される異なる球面調和係数を識別する。異なる色は明瞭なオーディオ成分の方向を示唆し、より明るい(および徐々により暗くなる)色は明瞭な成分の主要な方向を示す。図4の例に示されるオーディオ符号化デバイス20の時間−空間的補間ユニット50は、図36Aの例に示される球面を生成するために、赤い点の各々の間の空間−時間的な補間を実行することができる。
[0646]図36Bは、V[k]ベクトル35の1つまたは複数のビームへの射影を示す図である。空間−時間的補間ユニット50は、図36Bの例に示されるビーム414を生成するために、V[k]ベクトル35の1つの行および/もしくは列、またはV[k]ベクトル35の複数の行および/もしくは列を射影することができる。
[0647]図36Cは、図36の例に示される球面412などの球面への、V[k]ベクトル35の1つまたは複数の1つまたは複数のベクトルの射影の断面を示す図である。
[0648]図36D〜図36Gに示されるのは、異なる音源(蜂、ヘリコプター、電子音楽、および競技場の中の人々)が3次元空間において示され得るときの、(約20ミリ秒である1フレームにわたる)時間のスナップショットの例である。
[0649]本開示において説明される技法は、これらの異なる音源の表現が、単一のUS[k]ベクトルと単一のV[k]ベクトルとを使用して識別され表されることを可能にする。音源の時間的な変動性はUS[k]ベクトルにおいて表されるが、各音源の空間的な分布は単一のV[k]ベクトルによって表される。1つのV[k]ベクトルは、音源の幅と、ロケーションと、サイズとを表し得る。その上、単一のV[k]ベクトルは、球面調和基底関数の線形結合として表され得る。図36D〜図36Gのプロットにおいて、音源の表現は、空間座標系への単一のVベクトルの変換に基づく。音源を示す同様の方法が、図36〜図36Cにおいて使用される。
[0650]図37は、本明細書において説明されるような空間−時間的な補間を得るための技法の表現を示す。図4の例に示されるオーディオ符号化デバイス20の空間−時間的補間ユニット50は、以下でより詳細に説明される空間−時間的な補間を実行することができる。空間−時間的な補間は、空間次元と時間次元の両方において、より高分解能の空間成分を取得することを含み得る。空間成分は、高次アンビソニックス(HOA)係数(または、HOA係数は「球面調和係数」とも呼ばれ得るので)からなる多次元信号の直交方向の分解に基づき得る。
[0651]示されるグラフにおいて、ベクトルV1およびV2は、多次元信号の2つの異なる空間成分の対応するベクトルを表す。空間成分は、多次元信号のブロックごとの分解によって取得され得る。いくつかの例では、空間成分は、高次アンビソニックス(HOA)オーディオデータ(このアンビソニックスオーディオデータは、ブロック、サンプル、または任意の他の形態のマルチチャネルオーディオデータを含む)の各ブロック(フレームを指し得る)に関してブロックごとの形態のSVDを実行することにより得られる。サンプル中のオーディオフレームの長さを示すために、変数Mが使用され得る。
[0652]したがって、V1およびV2は、HOA係数11のシーケンシャルなブロックのフォアグラウンドV[k]ベクトル51kとフォアグラウンドV[k−1]ベクトル51k-1の対応するベクトルを表し得る。V1は、たとえば、第1のフレーム(k−1)に対するフォアグラウンドV[k−1]ベクトル51k-1の第1のベクトルを表すが、V2は、第2の後続のフレーム(k)に対するフォアグラウンドV[k]ベクトル51kの第1のベクトルを表し得る。V1およびV2は、多次元信号に含まれる単一のオーディオオブジェクトの空間成分を表し得る。
[0653]各々のxに対する補間されたベクトルVxが、時間セグメントまたは「時間サンプル」の番号xに従ってV1とV2とを重み付けることによって、時間成分(およびしたがって、いくつかの場合には空間成分)を平滑化するために補間されたベクトルVxが適用され得る多次元信号の時間成分に対して取得される。上で説明されたようなSVDの分解を仮定すると、nFG信号49の平滑化は、対応する補間されたVxによる各時間サンプルベクトル(たとえば、HOA係数11のサンプル)のベクトル分割を行うことによって取得され得る。すなわち、US[n]=HOA[n]×Vx[n]-1であり、これは、列ベクトルによって乗算される行ベクトルを表すので、USのスカラー要素を生み出す。Vx[n]-1は、Vx[n]の擬似逆ベクトルとして取得され得る。
[0654]V1およびV2の重み付けに関して、V1は、V2がV1よりも時間的に後に発生することが原因で、時間次元に沿って比例的により低く重み付けられる。すなわち、フォアグラウンドV[k−1]ベクトル51k-1は分解の空間成分であるが、時間的にシーケンシャルなフォアグラウンドV[k]ベクトル51kは時間にわたる空間成分の異なる値を表す。したがって、xがtに沿って増大するにつれて、V1の重みは低下するが、V2の重みは上昇する。ここで、d1およびd2は重みを表す。
[0655]図38は、本明細書で説明される技法による、多次元信号のためのシーケンシャルなSVDブロックのための人工的なUS行列、すなわちUS1とUS2とを示すブロック図である。補間されたVベクトルが、オリジナルの多次元信号を復元するために、人工的なUSベクトルの行ベクトルに適用され得る。より具体的には、空間−時間的補間ユニット50は、K/2個の補間されたサンプルを取得するために、nFG信号49とフォアグラウンドV[k]ベクトル51k(フォアグラウンドHOA係数とも示され得る)を乗算した結果に、補間されたフォアグラウンドV[k]ベクトル53の擬似逆ベクトルを乗算することができ、このK/2個の補間されたサンプルは、U2行列の図38の例に示されるような最初のK/2個のサンプルとして、nFG信号のK/2個のサンプルの代わりに使用され得る。
[0656]図39は、本開示において説明される技法による、特異値分解と空間−時間的成分の平滑化とを使用した高次アンビソニックス(HOA)信号の後続のフレームの分解を示すブロック図である。フレームn−1およびフレームn(フレームnおよびフレームn+1としても示され得る)は、時間的に後続のフレームを表し、各フレームは1024個の時間セグメントを備えて4というHOA次数を有し、(4+1)2=25個の係数を与える。フレームn−1およびフレームnにおいて人工的に平滑化されるU行列であるUS行列は、示されるような補間されたVベクトルの適用によって取得され得る。各々の灰色の行ベクトルまたは列ベクトルは、1つのオーディオオブジェクトを表す。
[0657]アクティブなベクトルベースの信号のHOA表現を計算する
[0658]XVECkで表されるベクトルベースの信号の各々を取り出し、それを対応する(逆量子化された)空間ベクトルVVECkと乗算することによって、瞬時的なCVECkが作り出される。各VVECkはMVECkで表される。したがって、次数LのHOA信号およびM個のベクトルベースの信号に対して、各々がフレーム長Pによって与えられる次元を有する、M個のベクトルベースの信号がある。これらの信号はしたがって、XVECkmn、n=0,...P−1;m=0,...M−1として表され得る。これに対応して、M個の空間ベクトルと、次元(L+1)2のVVECkがある。これらは、MVECkmlとして表されることが可能であり、l=0,...,(L+1)2-1;m=0,...,M−1である。各ベクトルベースの信号のHOA表現CVECkmは、以下の式によって与えられる行列ベクトル乗算である:
これは、(L+1)2対Pの行列を生み出す。完全なHOA表現は、次のように各ベクトルベースの信号の寄与を加算することによって与えられる:
[0659]Vベクトルの空間−時間的な補間
しかしながら、滑らかな空間−時間的な継続性を維持するために、上の計算は、フレーム長の一部であるP−Bのみに対して実行される。HOA行列の最初のB個のサンプルは代わりに、m=0,...,M−1;l=0,...,(L+1)2として、現在のMVECkmおよび以前の値MVECk−lmから導出される、MVECkmlの補間されたセットを使用して実行される。これは、次のように各時間サンプルpに対するベクトルを導出すると、より高い時間密度の空間ベクトルをもたらす:
各時間サンプルpに対して、(L+1)2次元の新たなHOAベクトルが次のように計算される:
これらの最初のB個のサンプルは、以前のセクションのP−B個のサンプルによって補強され、m番目のベクトルベースの信号の完全なHOA表現であるCVECkmをもたらす。
[0660]復号器(たとえば、図5の例に示されるオーディオ復号デバイス24)において、ある明瞭な、フォアグラウンドの、またはベクトルベースの支配的な音声に対して、以前のフレームからのVベクトルおよび現在のフレームからのVベクトルは、特定の時間セグメントにわたってより高分解能の(時間的に)補間されたVベクトルを生成するために、線形(または非線形)補間を使用して補間され得る。空間−時間的補間ユニット76はこの補間を実行することができ、ここで空間−時間的補間ユニット76は次いで、その特定の時間セグメントにわたってHOA行列を生成するために、現在のフレームの中のUSベクトルをより高分解能の補間されたVベクトルと乗算することができる。
[0661]あるいは、空間−時間的補間ユニット76は、第1のHOA行列を作成するために、USベクトルを現在のフレームのVベクトルと乗算することができる。復号器は追加で、第2のHOA行列を作成するために、USベクトルを以前のフレームからのVベクトルと乗算することができる。空間−時間的補間ユニット76は次いで、ある特定の時間セグメントにわたって、線形(または非線形)補間を第1および第2のHOA行列に適用することができる。この補間の出力は、共通の入力行列/ベクトルを仮定すると、補間されたVベクトルとのUSベクトルの乗算の出力と一致し得る。
[0662]この点において、本技法は、オーディオ符号化デバイス20および/またはオーディオ復号デバイス24が、以下の条項に従って動作するように構成されることを可能にし得る。
[0663]項135054−1C。空間と時間の両方において複数のより高分解能の空間成分を取得するように構成される1つまたは複数のプロセッサを備え、空間成分が球面調和係数からなる多次元信号の直交方向の分解に基づく、オーディオ符号化デバイス20またはオーディオ復号デバイス24などのデバイス。
[0664]項135054−1D。第1の複数の球面調和係数および第2の複数の球面調和係数の空間成分と時間成分の少なくとも1つを平滑化するように構成される1つまたは複数のプロセッサを備える、オーディオ符号化デバイス20またはオーディオ復号デバイス24などのデバイス。
[0665]項135054−1E。空間と時間の両方において複数のより高分解能の空間成分を取得するように構成される1つまたは複数のプロセッサを備え、空間成分が球面調和係数からなる多次元信号の直交方向の分解に基づく、オーディオ符号化デバイス20またはオーディオ復号デバイス24などのデバイス。
[0666]項135054−1G。少なくとも一部、第1の複数の球面調和係数の第1の分解および第2の複数の球面調和係数の第2の分解に関して分解能を増大させることによって、時間セグメントのための分解され解像度の増大した球面調和係数を取得するように構成される1つまたは複数のプロセッサを備える、オーディオ符号化デバイス20またはオーディオ復号デバイス24などのデバイス。
[0667]項135054−2G。第1の分解が、第1の複数の球面調和係数の右特異ベクトルを表す第1のV行列を備える、項135054−1Gのデバイス。
[0668]項135054−3G。第2の分解が、第2の複数の球面調和係数の右特異ベクトルを表す第2のV行列を備える、項135054−1Gのデバイス。
[0669]項135054−4G。第1の分解が第1の複数の球面調和係数の右特異ベクトルを表す第1のV行列を備え、第2の分解が第2の複数の球面調和係数の右特異ベクトルを表す第2のV行列を備える、項135054−1Gのデバイス。
[0670]項135054−5G。時間セグメントがオーディオフレームのサブフレームを備える、項135054−1Gのデバイス。
[0671]項135054−6G。時間セグメントがオーディオフレームの時間サンプルを備える、項135054−1Gのデバイス。
[0672]項135054−7G。1つまたは複数のプロセッサが、第1の複数の球面調和係数の球面調和係数に対する第1の分解および第2の分解の補間された分解を取得するように構成される、項135054−1Gのデバイス。
[0673]項135054−8G。1つまたは複数のプロセッサが、第1のフレームに含まれる第1の複数の球面調和係数の第1の部分に対する第1の分解および第2のフレームに含まれる第2の複数の球面調和係数の第2の部分に対する第2の分解の補間された分解を取得するように構成され、1つまたは複数のプロセッサがさらに、第1の複数の球面調和係数の第1の人工時間成分を生成するために、第1のフレームに含まれる第1の複数の球面調和係数の第1の部分の第1の時間成分に補間された分解を適用し、第2の複数の球面調和係数の第2の人工時間成分を生成するために、第2のフレームに含まれる第2の複数の球面調和係数の第2の部分の第2の時間成分にそれぞれの補間された分解を適用するように構成される、項135054−1Gのデバイス。
[0674]項135054−9G。第1の時間成分が、第1の複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、項135054−8Gのデバイス。
[0675]項135054−10G。第2の時間成分が、第2の複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、項135054−8Gのデバイス。
[0676]項135054−11G。1つまたは複数のプロセッサがさらに、第1の人工時間成分と第2の人工時間成分とを受信し、第1の複数の球面調和係数の第1の部分に対する第1の分解および第2の複数の球面調和係数の第2の部分に対する第2の分解の補間された分解を計算し、第1の時間成分を復元するために補間された分解の逆数を第1の人工時間成分を適用し、第2の時間成分を復元するために補間された分解の逆数を第2の人工時間成分を適用するように構成される、項135054−8Gのデバイス。
[0677]項135054−12G。1つまたは複数のプロセッサが、第1の複数の球面調和係数の第1の空間成分と第2の複数の球面調和係数の第2の空間成分とを補間するように構成される、項135054−1Gのデバイス。
[0678]項135054−13G。第1の空間成分が、第1の複数の球面調和係数の左特異ベクトルを表す第1のU行列を備える、項135054−12Gのデバイス。
[0679]項135054−14G。第2の空間成分が、第2の複数の球面調和係数の左特異ベクトルを表す第2のU行列を備える、項135054−12Gのデバイス。
[0680]項135054−15G。第1の空間成分が第1の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、第2の空間成分が第2の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表す、項135054−12Gのデバイス。
[0681]項135054−16G。第1の空間成分が第1の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、第2の空間成分が第2の複数の球面調和係数に対する球面調和係数のM個の時間セグメントを表し、1つまたは複数のプロセッサが時間セグメントに対する分解された補間された球面調和係数を取得するように構成されるが第1の空間成分の最後のN個の要素と第2の空間成分の最初のN個の要素とを補間することを備える、項135054−12Gのデバイス。
[0682]項135054−17G。第2の複数の球面調和係数が、時間領域において第1の複数の球面調和係数に後続する、項135054−1Gのデバイス。
[0683]項135054−18G。1つまたは複数のプロセッサがさらに、第1の複数の球面調和係数の第1の分解を生成するために、第1の複数の球面調和係数を分解するように構成される、項135054−1Gのデバイス。
[0684]項135054−19G。1つまたは複数のプロセッサがさらに、第2の複数の球面調和係数の第2の分解を生成するために、第2の複数の球面調和係数を分解するように構成される、項135054−1Gのデバイス。
[0685]項135054−20G。1つまたは複数のプロセッサがさらに、第1の複数の球面調和係数の左特異ベクトルを表すU行列と、第1の複数の球面調和係数の特異値を表すS行列と、第1の複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、第1の複数の球面調和係数に関して特異値分解を実行するように構成される、項135054−1Gのデバイス。
[0686]項135054−21G。1つまたは複数のプロセッサがさらに、第2の複数の球面調和係数の左特異ベクトルを表すU行列と、第2の複数の球面調和係数の特異値を表すS行列と、第2の複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、第2の複数の球面調和係数に関して特異値分解を実行するように構成される、項135054−1Gのデバイス。
[0687]項135054−22G。第1の複数の球面調和係数と第2の複数の球面調和係数の各々が、音場の平面波表現を表す、項135054−1Gのデバイス。
[0688]項135054−23G。第1の複数の球面調和係数と第2の複数の球面調和係数の各々が、一緒にミキシングされた1つまたは複数のモノラルオーディオオブジェクトを表す、項135054−1Gのデバイス。
[0689]項135054−24G。第1の複数の球面調和係数と第2の複数の球面調和係数の各々が、3次元音場を表すそれぞれの第1の球面調和係数および第2の球面調和係数を備える、項135054−1Gのデバイス。
[0690]項135054−25G。第1の複数の球面調和係数および第2の複数の球面調和係数が各々、1よりも大きい次数を有する少なくとも1つの球面基底関数と関連付けられる、項135054−1Gのデバイス。
[0691]項135054−26G。第1の複数の球面調和係数および第2の複数の球面調和係数が各々、4に等しい次数を有する少なくとも1つの球面基底関数と関連付けられる、項135054−1Gのデバイス。
[0692]項135054−27G。補間が第1の分解および第2の分解の重み付けられた補間であり、第1の分解に適用された重み付けられた補間の重みが、第1の分解および第2の分解のベクトルによって表される時間に反比例し、第2の分解に適用される重み付けられた補間の重みが、第1の分解および第2の分解のベクトルによって表される時間に比例する、項135054−1Gのデバイス。
[0693]項135054−28G。分解された補間された球面調和係数が、第1の複数の球面調和係数および第2の複数の球面調和係数の空間成分と時間成分の少なくとも1つを平滑化する、項135054−1Gのデバイス。
[0695]図40A〜図40Jは各々、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法の様々な態様を実行し得る、例示的なオーディオ符号化デバイス510A〜510Jを示すブロック図である。図40A〜図40Jの例の各々において、オーディオ符号化デバイス510Aおよび510Bは各々、いくつかの例では、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、タブレットまたはスレートコンピュータ、専用オーディオ記録デバイス、携帯電話(いわゆる「スマートフォン」を含む)、個人用メディアプレーヤデバイス、個人用ゲーミングデバイス、またはオーディオデータを符号化することが可能な任意の他のタイプのデバイスを表す。
[0696]単一のデバイス、すなわち図40A〜図40Jの例におけるデバイス510A〜510Jとして示されているが、デバイス510A〜510Jに含まれるものとして以下で参照される様々なコンポーネントまたはユニットは、実際にはデバイス510A〜510Jの外部の別個のデバイスを形成し得る。言い換えれば、単一のデバイス、すなわち図40A〜図40Jの例におけるデバイス510A〜510Jによって実行されるものとして本開示では説明されているが、本技法は、複数のデバイスを備えるシステムによって実施され、または別様に実行されてよく、これらのデバイスの各々は、以下でより詳細に説明される様々なコンポーネントまたはユニットの1つまたは複数を各々含み得る。したがって、本技法は図40A〜図40Jの例に限定されるべきではない。
[0697]いくつかの例では、オーディオ符号化デバイス510A〜510Jは、図3および図4の例に関して上で説明されたものに対する代替的なオーディオ符号化デバイスを表す。オーディオ符号化デバイス510A〜510Jの以下の議論全体で、動作に関する様々な類似性が、図4に関して上で説明されたオーディオ符号化デバイス20の様々なユニット30〜52に関して言及される。多くの点で、オーディオ符号化デバイス510A〜510Jは、以下で説明されるように、わずかな誘導または修正を伴っても、オーディオ符号化デバイス20と実質的に同様の方式で動作することができる。
[0698]図40Aの例に示されるように、オーディオ符号化デバイス510Aは、オーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを備える。オーディオ圧縮ユニット512は、球面調和係数(SHC)511(「SHC511」)を圧縮するユニットを表すことができ、SHC511は高次アンビソニックス(HOA)係数511としても示され得る。オーディオ圧縮ユニット512メイいくつかの例では、オーディオ圧縮ユニット512は、SHC511に関して無損失で圧縮することができる、または有損失の圧縮を実行できるユニットを表す。SHC511は複数のSHCを表すことができ、複数のSHCの少なくとも1つが、上でより詳細に説明されるように、1より大きい次数を有する球面基底関数に対応する(この種類のSHCは、1つの例がいわゆる「Bフォーマット」である低次アンビソニックスと区別するために、高次アンビソニックス(HOA)と呼ばれる)。オーディオ圧縮ユニット512はSHC511を無損失で圧縮することができるが、いくつかの例では、オーディオ圧縮ユニット512は、SHC511のうちで、再生成されるときに音場を記述する際に(一部が人の聴覚系によって聞かれることが可能ではないという点で)顕著ではないまたは関連のないものを除去する。この点で、この圧縮の有損失の性質は、SHC511の圧縮されたバージョンから再生成されるときに音場の知覚される品質に過剰に影響を与えないことがある。
[0699]図40Aの例において、オーディオ圧縮ユニットは、分解ユニット518と音場成分抽出ユニット520とを含む。分解ユニット518は、オーディオ符号化デバイス20の線形可逆変換ユニット30と同様であり得る。すなわち、分解ユニット518は、特異値分解と呼ばれる形態の分析を実行するように構成されるユニットを表し得る。SVDに関して説明されているが、技法は、線形的に無相関なデータのセットを提供する任意の類似の変換または分解に対して実行されてよい。また、本開示における「セット」への言及は、別段特別に述べられない限り「0ではない」セットを指すことが意図され、いわゆる「空集合」を含む集合の古典的な数学的定義を指すことは意図されない。
[0700]いずれにしても、分解ユニット518は、球面調和係数511を変換された球面調和係数の2つ以上のセットへと変換するために、特異値分解(やはり頭字語「SVD」によって示され得る)を実行する。図40の例では、分解ユニット518は、いわゆるV行列519と、S行列519Bと、U行列519Cとを生成するために、SHC511に関してSVDを実行することができる。図40の例では、分解ユニット518は、線形可逆変換ユニット30に関して上で論じられたような組み合わされた形態でUS[k]ベクトルを出力するのではなく、行列の各々を別々に出力する。
[0701]上で述べられたように、上で参照されたSVDの数学的表現の中のV*行列は、SVDが複素数を備える行列に適用され得ることを反映するために、V行列の共役転置として示される。実数のみを備える行列に適用されるとき、V行列の複素共役(すなわち、言い換えれば、V*行列)は、V行列に等しいと見なされてよい。説明を簡単にするために、SHC511が実数を備え、その結果V行列がV*行列ではなくSVDを通じて出力されることが以下で仮定される。V行列であると仮定されるが、本技法は、複素係数を有するSHC511に同様の方式で適用されてよく、このときSVDの出力はV*行列である。したがって、本技法はこの点で、V行列を生成するためにSVDの適用を提供することのみに限定されるべきではなく、V*行列を生成するために複素成分を有するSHC511へSVDを適用することを含み得る。
[0702]いずれにしても、分解ユニット518は、高次アンビソニックス(HOA)オーディオデータ(このアンビソニックスオーディオデータは、SHC511のブロックもしくはサンプル、または任意の他の形態のマルチチャネルオーディオデータを含む)の各ブロック(フレームを指し得る)に関してブロックごとの形態のSVDを実行することができる。サンプル中のオーディオフレームの長さを示すために、変数Mが使用され得る。たとえば、オーディオフレームが1024個のオーディオサンプルを含むとき、Mは1024に等しい。分解ユニット518はしたがって、M対(N+1)2のSHCを有するブロックSHC511に関してブロックごとのSVDを実行することができ、NはやはりHOAオーディオデータの次数を示す。分解ユニット518は、このSVDの実行を通じて、V行列519と、S行列519Bと、U行列519Cとを生成することができ、行列519〜519Cの各々(「行列519」)は、上でより詳細に説明されたそれぞれのV行列、S行列、およびU行列を表し得る。分解ユニット518は、これらの行列519Aを音場成分抽出ユニット520に渡し、または出力することができる。V行列519Aは(N+1)2対(N+1)2のサイズであってよく、S行列519Bは(N+1)2対(N+1)2のサイズであってよく、U行列はM対(N+1)2のサイズであってよく、Mはオーディオフレーム中のサンプルの数を指す。Mの典型的な値は1024であるが、本開示の技法はMのこの典型的な値に限定されるべきではない。
[0703]音場成分抽出ユニット520は、音場の明瞭な成分と音場のバックグラウンド成分とを決定し、次いで抽出して、音場のバックグラウンド成分から音場の明瞭な成分を実質的に分離するように構成されるユニットを表し得る。この点において、音場成分抽出ユニット520は、図4の例に示されるオーディオ符号化デバイス20の音場分析ユニット44、バックグラウンド選択ユニット48、およびフォアグラウンド選択ユニット36に関して上で説明された動作の多くを実行することができる。いくつかの例において、音場の明瞭な成分が、これらの成分の明瞭な性質を正確に表すために、(音場のバックグラウンド成分に対して相対的に)高次の基底関数(したがってより多くのSHC)を必要とするとすると、バックグラウンド成分から明瞭な成分を分離することで、より多くのビットが明瞭な成分に割り振られることと、(相対的に言って)より少数のビットがバックグラウンド成分に割り振られることとが可能になり得る。したがって、(SVDの形態で、またはPCAを含む任意の他の形態の変換で)この変換の適用を通じて、本開示で説明される技法は、様々なSHCへのビットの割振りを容易にすることができ、これによってSHC11の圧縮を容易にすることができる。
[0704]その上、本技法はまた、図40Bに関して以下でより詳細に説明されるように、いくつかの例において、音場のバックグラウンド成分の拡散的な性質またはバックグラウンド的な性質を仮定した場合に、音場のバックグラウンド部分を表すために高次の基底関数が必要とされないとすると、音場のバックグラウンド成分の次数低減を可能にし得る。本技法はしたがって、音場の拡散的な側面またはバックグラウンド的な側面の圧縮を可能にしながら、SHC511へのSVDの適用を通じて音場の顕著な明瞭な成分または側面を保存することができる。
[0705]図40の例にさらに示されるように、音場成分抽出ユニット520は、転置ユニット522と、顕著成分分析ユニット524と、算出ユニット526とを含む。転置ユニット522は、「VT行列523」として示されるV行列519の転置を生成するためにV行列519Aを転置するように構成されるユニットを表す。転置ユニット522は、このVT行列523を算出ユニット526に出力することができる。VT行列523は、(N+1)2対(N+1)2のサイズであり得る。
[0706]顕著成分分析ユニット524は、S行列519Bに関して顕著さの分析を実行するように構成されるユニットを表す。顕著成分分析ユニット524は、この点において、図4の例に示されるオーディオ符号化デバイス20の音場分析ユニット44に関して上で説明されたものと同様の動作を実行することができる。顕著成分分析ユニット524は、S行列519Bの対角線上の値を分析して、最大の値を有するこれらの成分の数である変数Dを選択することができる。言い換えれば、顕著成分分析ユニット524は、Sの降順の対角線上の値によって作り出される曲線の傾きを分析することによって、2つのサブ空間(たとえば、フォアグラウンドサブ空間または支配的なサブ空間およびバックグラウンドサブ空間または環境サブ空間)を分離する値Dを決定することができ、ここで大きい特異値はフォアグラウンド音声または明瞭な音声を表し、小さい特異値は音場のバックグラウンド成分を表す。いくつかの例では、顕著成分分析ユニット524は、特異値曲線の一次導関数と二次導関数とを使用することができる。顕著成分分析ユニット524はまた、1と5の間となるように数Dを制限することができる。別の例として、顕著成分分析ユニット524は、1と(N+1)2の間となるように数Dを制限することができる。あるいは、顕著成分分析ユニット524は、4という値などに、値Dを事前に定めることができる。いずれにしても、数Dが推定されると、顕著成分分析ユニット24は、行列U、V、およびSからフォアグラウンドサブ空間とバックグラウンドサブ空間とを抽出する。
[0707]いくつかの例では、顕著成分分析ユニット524は、この分析をM個のサンプルごとに実行することができ、これはフレームごとと言い換えられ得る。この点において、Dはフレームごとに変化し得る。他の例では、顕著成分分析ユニット24は、この分析をフレームごとに2回以上実行して、フレームの2つ以上の部分を分析することができる。したがって、本技法は、この点で、本開示で説明されている例に限定されるべきではない。
[0708]つまり、顕著成分分析ユニット524は、図40の例においてS行列519Bとして示される対角行列の特異値を分析し、対角S行列519Bの他の値よりも相対的に大きい値を有する値を識別することができる。顕著成分分析ユニット524は、Dの値を識別し、SDIST行列525AとSBG行列525Bとを生成するためにこれらの値を抽出することができる。SDIST行列525Aは、オリジナルのS行列519Bの(N+1)2を有するD個の列を備える対角行列を表し得る。いくつかの例では、SBG行列525Bは、各々がオリジナルのS行列519Bの(N+1)2個の変換された球面調和係数を含む(N+1)2−D個の列を有する行列を表し得る。オリジナルのS行列519Bの(N+1)2個の値を有するD個の列を備える行列を表すSDIST行列として説明されるが、S行列519Bが対角行列であり、D個の列の(N+1)2個の値のうちで各列の中のD番目の値より後のものが0という値であることが多いとすると、顕著成分分析ユニット524は、この行列を切り取って、オリジナルのS行列519BのD個の値を有するD個の列を有するSDIST行列を生成することができる。完全なSDIST行列525Aおよび完全なSBG行列525Bに関して説明されたが、本技法は、これらのSDIST行列525Aの切り取られたバージョンおよびこのSBG行列525Bの切り取られたバージョンに関して実施され得る。したがって、本開示の技法はこの点において限定されるべきではない。
[0709]言い換えれば、SDIST行列525AはD対(N+1)2のサイズであり得るが、SBG行列525Bは(N+1)2−D対(N+1)2のサイズであり得る。SDIST行列525Aは、音場の明瞭な(DIST)オーディオ成分であるということに関して顕著であると決定される主要成分、または言い換えれば特異値を含み得るが、SBG行列525Bは、音場のバックグラウンド(BG)成分、または言い換えれば環境成分または不明瞭なオーディオ成分であると決定される特異値を含み得る。図40の例では別々の行列525Aおよび525Bとして示されるが、行列525Aおよび525Bは、変数Dを使用して単一の行列として指定され、SDIST行列525を表すこの単一の行列の(左から右への)列の数を示すことができる。いくつかの例では、変数Dは4に設定され得る。
[0710]顕著成分分析ユニット524はまた、UDIST行列525CとUBG行列525Dとを生成するためにU行列519Cを分析することができる。しばしば、顕著成分分析ユニット524は、変数Dを識別するためにS行列519Bを分析して、変数Dに基づいてUDIST行列525CとUBG行列525Bとを生成することができる。すなわち、顕著であるS行列519BのD個の列を識別した後で、顕著成分分析ユニット524は、この決定された変数Dに基づいてU行列519Cを分割することができる。この例において、顕著成分分析ユニット524は、U行列519Cの(N+1)2個の変換された球面調和係数の(左から右への)D個の列を含むようにUDIST行列525Cを生成し、オリジナルのU行列519Cの(N+1)2個の変換された球面調和係数の残りの(N+1)2−D個の列を含むようにUBG行列525Dを生成することができる。UDIST行列525CはM対Dのサイズであり得るが、UBG行列525DはM対(N+1)2−Dのサイズであり得る。図40の例では別々の行列525Cおよび525Dであるものとして示されるが、行列525Cおよび525Dは、変数Dを使用して単一の行列として指定され、UDIST行列525Bを表すこの単一の行列の(左から右への)列の数を示すことができる。
[0711]顕著成分分析ユニット524はまた、VT DIST行列525EとVT BG行列525Fとを生成するためにVT行列523を分析することができる。しばしば、顕著成分分析ユニット524は、変数Dを識別するためにS行列519Bを分析して、変数Dに基づいてVT DIST行列525EとVBG行列525Fとを生成することができる。すなわち、顕著であるS行列519BのD個の列を識別した後で、顕著成分分析ユニット254は、この決定された変数Dに基づいてV行列519Aを分割することができる。この例では、顕著成分分析ユニット524は、オリジナルのVT行列523のD個の値の(上から下への)(N+1)2個の行を含むようにVT DIST行列525Eを生成し、オリジナルのVT行列523の(N+1)2−D個の値の残りの(N+1)2個の行を含むようにVT BG行列525Fを生成することができる。VT DIST行列525Eは(N+1)2対Dのサイズであり得るが、VT BG行列525Dは(N+1)2対(N+1)2−Dのサイズであり得る。図40の例では別々の行列525Eおよび525Fであるものとして示されるが、行列525Eおよび525Fは、変数Dを使用して単一の行列として指定され、VDIST行列525Eを表すこの単一の行列の(左から右への)列の数を示すことができる。顕著成分分析ユニット524は、SDIST行列525と、SBG行列525Bと、UDIST行列525Cと、UBG行列525Dと、VT BG行列525Fとを算出ユニット526に出力しながら、VT DIST行列525Eをビットストリーム生成ユニット516に出力することもできる。
[0712]算出ユニット526は、行列乗算、または、1つまたは複数の行列(またはベクトル)に関して実行されることが可能な任意の他の数学的演算を実行するように構成されるユニットを表し得る。より具体的には、図40の例に示されるように、算出ユニット526は、UDIST行列525CをSDIST行列525Aと乗算してM対DのサイズのUDISTベクトル*SDISTベクトル527を生成するために行列乗算を実行するように構成されるユニットを表し得る。行列算出ユニット526はまた、UBG行列525DをSBG行列525Bと乗算し、次いでVT BG行列525Fと乗算して、UBG*SBG*VT BG行列525Fを生成し、サイズM対(N+1)2のバックグラウンド球面調和係数531(これは、球面調和係数511のうちで音場のバックグラウンド成分を表すものを表し得る)を生成するために、行列乗算を実行するように構成されるユニットを表し得る。算出ユニット526は、UDISTベクトル*SDISTベクトル527とバックグラウンド球面調和係数531とをオーディオ符号化ユニット514に出力することができる。
[0713]オーディオ符号化デバイス510はしたがって、符号化プロセスの終わりにおける行列乗算を通じてUDISTベクトル*SDISTベクトル527とバックグラウンド球面調和係数531とを生成するように構成されるこの算出ユニット526を含むという点で、オーディオ符号化デバイス20とは異なる。オーディオ符号化デバイス20の線形可逆変換ユニット30は、符号化プロセスの比較的初めにおいてU行列とS行列の乗算を実行してUS[k]ベクトル33を出力し、このことは、図40の例に示されない再順序付けなどのより後の動作を容易にし得る。その上、オーディオ符号化デバイス20は、符号化プロセスの終わりにおいてバックグラウンドSHC531を復元するのではなく、HOA係数11から直接バックグラウンドHOA係数47を選択し、これによって、バックグラウンドSHC531を復元するための行列演算を場合によっては回避する。
[0714]オーディオ符号化ユニット514は、UDISTベクトル*SDISTベクトル527とバックグラウンド球面調和係数531とをさらに圧縮するために、ある形態の符号化を実行するユニットを表し得る。オーディオ符号化ユニット514は、図4の例に示されるオーディオ符号化デバイス20の音響心理学的オーディオコーダユニット40と実質的に同様の方式で動作することができる。いくつかの例では、このオーディオ符号化ユニット514は、先進的オーディオコーディング(AAC)符号化ユニットの1つまたは複数の具体物を表し得る。オーディオ符号化ユニット514は、UDISTベクトル*SDISTベクトル527の各列または各行を符号化することができる。しばしば、オーディオ符号化ユニット514は、バックグラウンド球面調和係数531に残っている次数/位数の組合せの各々のために、AAC符号化ユニットの具体物を呼び出すことができる。バックグラウンド球面調和係数531がどのようにAAC符号化ユニットを使用して符号化され得るかに関するより多くの情報が、第124回会議、2008年5月17〜20日において発表され、http://ro.uow.edu.au/cgi/viewcontent.cgi?article=8025&context=engpapersにおいて利用可能な、Eric Hellerud他、「Encoding Higher Order Ambisonics with AAC」という表題の会議文書において見出され得る。オーディオ符号化ユニット14は、UDISTベクトル*SDISTベクトル527の符号化されたバージョン(「符号化されたUDISTベクトル*SDISTベクトル515」と示される)とバックグラウンド球面調和係数531の符号化されたバージョン(「符号化されたバックグラウンド球面調和係数515B」と示される)とをビットストリーム生成ユニット516に出力することができる。いくつかの例では、オーディオ符号化ユニット514は、UDISTベクトル*SDISTベクトル527を符号化するために使用されるものよりも低い目標ビットレートを使用してバックグラウンド球面調和係数531をオーディオ符号化し、これによって、場合によっては、UDIST*SDISTベクトル527と比較してより大きくバックグラウンド球面調和係数531を圧縮することができる。
[0715]ビットストリーム生成ユニット516は、既知のフォーマット(復号デバイスにより知られているフォーマットを指し得る)に適合するようにデータをフォーマットし、それによってビットストリーム517を生成するユニットを表す。ビットストリーム生成ユニット42は、図4の例に示されるオーディオ符号化デバイス24のビットストリーム生成ユニット42に関して上で説明されたものと同様の方式で動作することができる。ビットストリーム生成ユニット516は、符号化されたUDISTベクトル*SDISTベクトル515と、符号化されたバックグラウンド球面調和係数5156BおよびVT DIST行列525Eとを多重化するマルチプレクサを含み得る。
[0716]図40Bは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法の様々な態様を実行し得る、例示的なオーディオ符号化デバイス510Bを示すブロック図である。オーディオ符号化デバイス510Bは、オーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを含むという点で、オーディオ符号化デバイス510と同様であり得る。その上、オーディオ符号化デバイス510Bのオーディオ圧縮ユニット512は、分解ユニット518を含むという点で、オーディオ符号化デバイス510のオーディオ圧縮ユニットと同様であり得る。オーディオ符号化デバイス510Bのオーディオ圧縮ユニット512は、音場成分抽出ユニット520が次数低減ユニット528A(「次数低減ユニット528(order reduct unit 528)」)として示される追加のユニットを含むという点で、オーディオ符号化デバイス510のオーディオ圧縮ユニット512とは異なり得る。この理由で、オーディオ符号化デバイス510Bの音場成分抽出ユニット520は、「音場成分抽出ユニット520B」として示される。
[0717]次数低減ユニット528Aは、バックグラウンド球面調和係数531の追加の次数低減を実行するように構成されるユニットを表す。いくつかの例では、次数低減ユニット528Aは、音場を表すのに必要なバックグラウンド球面調和係数531の数を減らすために、表されたバックグラウンド球面調和係数531によって音場を回転することができる。いくつかの例では、バックグラウンド球面調和係数531が音場のバックグラウンド成分を表すとすると、次数低減ユニット528Aは、バックグラウンド球面調和係数531のうちで高次の球面基底関数に対応するものを取り除き、除去し、または(しばしば0にすることによって)別様に削除することができる。この点において、次数低減ユニット528Aは、図4の例に示されるオーディオ符号化デバイス20のバックグラウンド選択ユニット48と同様の動作を実行することができる。次数低減ユニット528Aは、バックグラウンド球面調和係数531の低減されたバージョン(「低減されたバックグラウンド球面調和係数529」として示される)をオーディオ符号化ユニット514に出力することができ、オーディオ符号化ユニット514は、低減されたバックグラウンド球面調和係数529を符号化するために上で説明された方式でオーディオ符号化を実行し、それによって、符号化された低減されたバックグラウンド球面調和係数515Bを生成することができる。
[0718]以下で列挙される様々な条項は、本開示で説明された技法の様々な態様を提示し得る。
[0719]項132567−1。複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として複数の球面調和係数を表すように構成される1つまたは複数のプロセッサを備える、オーディオ符号化デバイス510またはオーディオ符号化デバイス510Bなどのデバイス。
[0720]項132567−2。1つまたは複数のプロセッサがさらに、それらの組合せまたは派生物を含むU行列、S行列、およびV行列の1つまたは複数のベクトルとしての複数の球面調和係数の表現を含むようにビットストリームを生成するように構成される、項132567−1のデバイス。
[0721]項132567−3。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、音場の明瞭な成分を記述するU行列に含まれる1つまたは複数のUDISTベクトルを決定するように構成される、項132567−1のデバイス。
[0722]項132567−4。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、音場の明瞭な成分を記述するU行列に含まれる1つまたは複数のUDISTベクトルを決定し、音場の明瞭な成分を同様に記述するS行列に含まれる1つまたは複数のSDISTベクトルを決定し、UDIST*SDISTベクトルを生成するために1つまたは複数のUDISTベクトルと1つまたは複数のSDISTベクトルを乗算するように構成される、項132567−1のデバイス。
[0723]項132567−5。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、音場の明瞭な成分を記述するU行列に含まれる1つまたは複数のUDISTベクトルを決定し、音場の明瞭な成分を同様に記述するS行列に含まれる1つまたは複数のSDISTベクトルを決定し、1つまたは複数のUDIST*SDISTベクトルを生成するために1つまたは複数のUDISTベクトルと1つまたは複数のSDISTベクトルを乗算するように構成され、1つまたは複数のプロセッサがさらに、1つまたは複数のUDIST*SDISTベクトルのオーディオ符号化されたバージョンを生成するために1つまたは複数のUDIST*SDISTベクトルをオーディオ符号化するように構成される、項132567−1のデバイス。
[0724]項132567−6。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、U行列に含まれる1つまたは複数のUBGベクトルを決定するように構成される、項132567−1のデバイス。
[0725]項132567−7。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、音場の明瞭な成分とバックグラウンド成分とを識別するためにS行列を分析するように構成される、項132567−1のデバイス。
[0726]項132567−8。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、音場の明瞭な成分とバックグラウンド成分とを識別するためにS行列を分析し、S行列の分析に基づいて、音場の明瞭な成分を記述するU行列の1つまたは複数のUDISTベクトルと音場のバックグラウンド成分を記述するU行列の1つまたは複数のUBGベクトルとを決定するように構成される、項132567−1のデバイス。
[0727]項132567−9。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、音場の明瞭な成分とバックグラウンド成分とを識別するためにオーディオフレームごとにS行列を分析し、オーディオフレームごとのS行列の分析に基づいて、音場の明瞭な成分を記述するU行列の1つまたは複数のUDISTベクトルと音場のバックグラウンド成分を記述するU行列の1つまたは複数のUBGベクトルとを決定するように構成される、項132567−1のデバイス。
[0728]項132567−10。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、音場の明瞭な成分とバックグラウンド成分とを識別するためにS行列を分析し、S行列の分析に基づいて、音場の明瞭な成分を記述するU行列の1つまたは複数のUDISTベクトルと音場のバックグラウンド成分を記述するU行列の1つまたは複数のUBGベクトルとを決定し、S行列の分析に基づいて、1つまたは複数のUDISTベクトルおよび1つまたは複数のUBGベクトルに対応するS行列の1つまたは複数のSDISTベクトルと1つまたは複数のSBGベクトルとを決定すること、S行列の分析に基づいて、1つまたは複数のUDISTベクトルおよび1つまたは複数のUBGベクトルに対応するV行列の転置の1つまたは複数のVT DISTベクトルと1つまたは複数のVT BGベクトルとを決定するように構成される、項132567−1のデバイス。
[0729]項132567−11。1つまたは複数のプロセッサがさらに、複数の球面調和係数をさらに表すときに、1つまたは複数のUBG*SBG*VT BGベクトルを生成するために、1つまたは複数のUBGベクトルを1つまたは複数のSBGベクトルと乗算し、次いで1つまたは複数のVT BGベクトルと乗算するように構成され、1つまたは複数のプロセッサがさらに、UBG*SBG*VT BGベクトルのオーディオ符号化されたバージョンを生成するためにUBG*SBG*VT BGベクトルをオーディオ符号化するように構成される、項132567−10のデバイス。
[0730]項132567−12。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、1つまたは複数のUBG*SBG*VT BGベクトルを生成するために、1つまたは複数のUBGベクトルを1つまたは複数のSBGベクトルと乗算し、次いで1つまたは複数のVT BGベクトルと乗算し、1つまたは複数のUBG*SBG*VT BGベクトルの係数のうちで球面調和基底関数の1つまたは複数の次数と関連付けられるものを除去し、それによって1つまたは複数のUBG*SBG*VT BGベクトルの次数低減されたバージョンを生成するために、次数低減処理を実行するように構成される、項132567−10のデバイス。
[0731]項132567−13。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、1つまたは複数のUBG*SBG*VT BGベクトルを生成するために、1つまたは複数のUBGベクトルを1つまたは複数のSBGベクトルと乗算し、次いで1つまたは複数のVT BGベクトルと乗算し、1つまたは複数のUBG*SBG*VT BGベクトルの係数のうちで球面調和基底関数の1つまたは複数の次数と関連付けられるものを除去し、それによって1つまたは複数のUBG*SBG*VT BGベクトルの次数低減されたバージョンを生成するために、次数低減処理を実行するように構成され、1つまたは複数のプロセッサがさらに、次数低減された1つまたは複数のUBG*SBG*VT BGベクトルのオーディオ符号化バージョンを生成するために、1つまたは複数のUBG*SBG*VT BGベクトルの次数低減されたバージョンをオーディオ符号化するように構成される、項132567−10のデバイス。
[0732]項132567−14。1つまたは複数のプロセッサがさらに、複数の球面調和係数を表すときに、1つまたは複数のUBG*SBG*VT BGベクトルを生成するために、1つまたは複数のUBGベクトルを1つまたは複数のSBGベクトルと乗算し、次いで1つまたは複数のVT BGベクトルと乗算し、1つまたは複数のUBG*SBG*VT BGベクトルの係数のうちで球面調和基底関数の1よりも大きい1つまたは複数の次数と関連付けられるものを除去し、それによって1つまたは複数のUBG*SBG*VT BGベクトルの次数低減されたバージョンを生成するために、次数低減処理を実行し、次数低減された1つまたは複数のUBG*SBG*VT BGベクトルのオーディオ符号化されたバージョンを生成するために、1つまたは複数のUBG*SBG*VT BGベクトルの次数低減されたバージョンをオーディオ符号化するように構成される、項132567−10のデバイス。
[0733]項132567−15。1つまたは複数のプロセッサがさらに、1つまたは複数のVT DISTベクトルを含むようにビットストリームを生成するように構成される、項132567−10のデバイス。
[0734]項132567−16。1つまたは複数のプロセッサがさらに、1つまたは複数のVT DISTベクトルをオーディオ符号化することなく1つまたは複数のVT DISTベクトルを含むようにビットストリームを生成するように構成される、項132567−10のデバイス。
[0735]項132567−1F。マルチチャネルオーディオデータの左特異ベクトルを表すU行列と、マルチチャネルオーディオデータの特異値を表すS行列と、マルチチャネルオーディオデータの右特異ベクトルを表すV行列とを生成するために、音場の少なくとも一部分を表すマルチチャネルオーディオデータに関して特異値分解を実行し、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数としてマルチチャネルオーディオデータを表すための、1つまたは複数のプロセッサを備える、オーディオ符号化デバイス510または510Bなどのデバイス。
[0736]項132567−2F。マルチチャネルオーディオデータが、複数の球面調和係数を備える、項132567−1Fのデバイス。
[0737]項132567−3F。1つまたは複数のプロセッサがさらに、項132567−2から項132567−16の任意の組合せによって記載されるように実行するように構成される、項132567−2Fのデバイス。
[0738]上で説明された様々な項の各々から、オーディオ符号化デバイス510A〜510Jのいずれもが、オーディオ符号化デバイス510A〜510Jが実行するように構成される方法を実行することができ、またはその方法の各ステップを実行するための手段を別様に備え得ることを理解されたい。いくつかの例では、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ符号化デバイス510A〜510Jが実行するように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[0739]たとえば、項132567−17は、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行することと、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として複数の球面調和係数を表すこととを備える方法として、前述の項132567−1から導出され得る。
[0740]別の例として、項132567−18は、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行するための手段と、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として複数の球面調和係数を表すための手段とを備える、オーディオ符号化デバイス510Bなどのデバイスとして、前述の項132567−1から導出され得る。
[0741]さらに別の例として、項132567−18は、実行されると、1つまたは複数のプロセッサに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行させ、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として複数の球面調和係数を表させる命令を記憶した、非一時的コンピュータ可読記憶媒体として、前述の項132567−1から導出され得る。
[0742]様々な項が同様に、上で例示されたように導出される様々なデバイス、方法、および非一時的コンピュータ可読記憶媒体について、項132567−2〜132567−16から導出され得る。本開示全体で列挙される様々な他の項について、同じことが実行され得る。
[0743]図40Cは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法の様々な態様を実行し得る、例示的なオーディオ符号化デバイス510Cを示すブロック図である。オーディオ符号化デバイス510Cは、オーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを含むという点で、オーディオ符号化デバイス510Bと同様であり得る。その上、オーディオ符号化デバイス510Cのオーディオ圧縮ユニット512は、分解ユニット518を含むという点でオーディオ符号化デバイス510Bのオーディオ圧縮ユニットと同様であり得る。
[0744]オーディオ符号化デバイス510Cのオーディオ圧縮ユニット512は、しかしながら、音場成分抽出ユニット520がベクトル再順序付けユニット532として示される追加のユニットを含むという点で、オーディオ符号化デバイス510Bのオーディオ圧縮ユニット512とは異なり得る。この理由で、オーディオ符号化デバイス510Cの音場成分抽出ユニット520は、「音場成分抽出ユニット520C」として示される。
[0745]ベクトル再順序付けユニット532は、再順序付けられた1つまたは複数のUDIST*SDISTベクトル533を生成するためにUDIST*SDISTベクトル527を再順序付けるように構成されるユニットを表し得る。この点で、ベクトル再順序付けユニット532は、図4の例に示されるオーディオ符号化デバイス20の再順序付けユニット34に関して上で説明されたものと同様の方式で動作することができる。音場成分抽出ユニット520Cは、UDIST*SDISTベクトル527(ここで、UDIST*SDISTベクトル527の各ベクトルは音場の中に存在する1つまたは複数の明瞭なモノラルオーディオオブジェクトを表し得る)の次数が上で述べられた理由でオーディオデータの部分から変化し得るので、UDIST*SDISTベクトル527を再順序付けるためにベクトル再順序付けユニット532を呼び出すことができる。すなわち、オーディオ圧縮ユニット512がいくつかの例ではオーディオフレーム(球面調和係数511のM個のサンプルを有してよく、ここでMはいくつかの例では1024に設定される)と一般に呼ばれるオーディオデータのこれらの部分に対して動作するとすると、UDIST*SDISTベクトル527がそれから導出されるU行列519Cにおいて表されるようなこれらの明瞭なモノラルオーディオオブジェクトに対応するベクトルの部分は、オーディオフレームごとに変化し得る。
[0746]これらのUDIST*SDISTベクトル527をオーディオフレームごとに再順序付けることなくこれらのUDIST*SDISTベクトル527を直接オーディオ符号化ユニット514に渡すことは、モノラルオーディオオブジェクトがオーディオフレームにわたって相関がある(この例では互いに対するUDIST*SDISTベクトル527の次数によって定義される、チャネル−ワイズ(channel-wise))ときにより良好に機能する従来の圧縮スキームなどのいくつかの圧縮スキームについて達成可能な圧縮の程度を下げることがある。その上、再順序付けられないとき、UDIST*SDISTベクトル527の符号化は、復元されるときのオーディオデータの品質を下げることがある。たとえば、オーディオ符号化ユニット514によって図40Cの例において表され得るAAC符号化器は、UDIST*SDISTベクトル527をフレームごとに直接符号化するときに達成される圧縮と比較して、再順序付けられた1つまたは複数のUDIST*SDISTベクトル533をフレームごとにより効率的に圧縮することができる。AAC符号化器に関して上で説明されるが、本技法は、モノラルオーディオオブジェクトが複数のフレームにわたって特定の順序または位置に指定される(チャネル的である)ときにより良好な圧縮をもたらす任意の符号化器に関して実行され得る。
[0747]以下でより詳細に説明されるように、本技法は、オーディオ符号化デバイス510Cが、再順序付けられた1つまたは複数のUDIST*SDISTベクトル533を生成し、それによってオーディオ符号化ユニット514などの従来のオーディオ符号化器によるUDIST*SDISTベクトル527の圧縮を容易にするために、1つまたは複数のベクトル(すなわち、UDIST*SDISTベクトル527を再順序付けることを可能にし得る。オーディオ符号化デバイス510Cはさらに、再順序付けられた1つまたは複数のUDIST*SDISTベクトル533の符号化されたバージョン515Aを生成するために、オーディオ符号化ユニット514を使用して、再順序付けられた1つまたは複数のUDIST*SDISTベクトル533をオーディオ符号化するための本開示で説明された技法を実行することができる。
[0748]たとえば、音場成分抽出ユニット520Cは、1つまたは複数の第2のUDIST*SDISTベクトル527が対応する第2のフレームに時間的に後続する第1のオーディオフレームから、1つまたは複数の第1のUDIST*SDISTベクトル527を再順序付けるために、ベクトル再順序付けユニット532を呼び出すことができる。第1のオーディオフレームが第2のオーディオフレームよりも時間的に後にあるという文脈で説明されるが、第1のオーディオフレームは第2のオーディオフレームよりも時間的に先行してよい。したがって、本技法は、本開示で説明される例に限定されるべきではない。
[0749]ベクトル再順序付けユニット532はまず、第1のUDIST*SDISTベクトル527と第2のUDIST*SDISTベクトル527の各々に関してエネルギー分析を実行し、第1のオーディオフレームの少なくとも一部分(しかししばしば全体)および第2のオーディオフレームの少なくとも一部分(しかししばしば全体)の二乗平均平方根エネルギーを計算して、それによって、第1のオーディオフレームの第1のUDIST*SDISTベクトル527の各々に対して1つ、第2のオーディオフレームの第2のUDIST*SDISTベクトル527の各々に対して1つの、(Dを4であると仮定して)8つのエネルギーを生成することができる。ベクトル再順序付けユニット532は次いで、表1〜4に関して上で説明された第2のUDIST*SDISTベクトル527の各々に対して、第1のUDIST*SDISTベクトル527からの各エネルギーを順番ごとに比較することができる。
[0750]言い換えれば、HoA信号に対するフレームベースのSVD(またはKLTおよびPCAなどの関連する方法)の分解を使用するとき、フレームごとのベクトルの次数は一貫していることが保証されないことがある。たとえば、背後の音場に2つのオブジェクトがある場合、分解(適切に実行されるときは「理想的な分解」と呼ばれ得る)は、1つのベクトルがU行列中の1つのオブジェクトを表すように、2つのオブジェクトの分離をもたらし得る。しかしながら、分解が「理想的な分解」として示され得るときでも、ベクトルは、U行列の中の(およびそれに対応してS行列およびV行列の中の)位置がフレームごとに変化し得る。さらに、位相の差もあることがあり、ここで、ベクトル再順序付けユニット532は、位相反転を使用して(反転されたベクトルの各要素をマイナス1すなわち−1によってドット乗算することによって)位相を反転することができる。これらのベクトルを供給するために、フレームごとに同じ「AAC/オーディオコーディングエンジン」へのフレームごとは、次数が識別されること(または言い換えれば、信号が照合されること)と、位相が調整されることと、フレーム境界における注意深い補間が適用されることとを必要とし得る。これがなければ、背後のオーディオコーデックは、「テンポラルスミアリング(temporal smearing)」または「プリエコー(pre-echo)」として知られているものを含む極めて激しいアーティファクトを生成し得る。
[0751]本開示で説明される技法の様々な態様によれば、オーディオ符号化デバイス510Cは、ベクトルのフレーム境界におけるエネルギーと相互相関付けとを使用して、ベクトルを識別/照合するために複数の方法を適用することができる。オーディオ符号化デバイス510Cはまた、フレーム境界において現れることの多い180度の位相変化が修正されることを確実にし得る。ベクトル再順序付けユニット532は、フレーム間の滑らかな移行を確実にするために、ベクトル間にある形態のフェードイン/フェードアウト補間ウィンドウを適用することができる。
[0752]このようにして、オーディオ符号化デバイス530Cは、再順序付けられた1つまたは複数の第1のベクトルを生成するために1つまたは複数のベクトルを再順序付け、それによって従来のオーディオ符号化器による符号化を支援し、ここにおいて、1つまたは複数のベクトルは音場の明瞭な成分を記述する表す、再順序付けられた1つまたは複数のベクトルの符号化されたバージョンを生成するために、従来のオーディオ符号化器を使用して、再順序付けられた1つまたは複数のベクトルをオーディオ符号化することができる。
[0753]本開示で説明される技法の様々な態様は、オーディオ符号化デバイス510Cが以下の項に従って動作することを可能にし得る。
[0754]項133143−1A。再順序付けられた1つまたは複数の第1のベクトルを決定し、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの一方または両方の抽出を容易にするために、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとの間のエネルギー比較を実行するように構成される、1つまたは複数のプロセッサを備え、1つまたは複数の第1のベクトルがオーディオデータの第1の部分の中の音場の明瞭な成分を記述し、1つまたは複数の第2のベクトルがオーディオデータの第2の部分の中の音場の明瞭な成分を記述する、オーディオ符号化デバイス510Cなどのデバイス。
[0755]項133143−2A。1つまたは複数の第1のベクトルがオーディオデータの第1の部分の中の音場のバックグラウンド成分を表さず、1つまたは複数の第2のベクトルがオーディオデータの第2の部分の中の音場のバックグラウンド成分を表さない、項133143−1Aのデバイス。
[0756]項133143−3A。1つまたは複数のプロセッサがさらに、エネルギー比較を実行した後で、1つまたは複数の第2のベクトルと相関した1つまたは複数の第1のベクトルを識別するために、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとの間の相互相関付けを実行するように構成される、項133143−1Aのデバイス。
[0757]項133143−4A。1つまたは複数のプロセッサがさらに、1つまたは複数の第2のベクトルよりも少数のベクトルを有する低減された1つまたは複数の第2のベクトルを生成するために、エネルギー比較に基づいて第2のベクトルの1つまたは複数を廃棄し、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つと低減された1つまたは複数の第2のベクトルとの間の相互相関付けを実行し、再順序付けられた1つまたは複数の第1のベクトルを生成するために、相互相関付けに基づいて1つまたは複数の第1のベクトルの少なくとも1つを再順序付けるように構成される、項133143−1Aのデバイス。
[0758]項133143−5A。1つまたは複数のプロセッサがさらに、1つまたは複数の第2のベクトルよりも少数のベクトルを有する低減された1つまたは複数の第2のベクトルを生成するために、エネルギー比較に基づいて第2のベクトルの1つまたは複数を廃棄し、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つと低減された1つまたは複数の第2のベクトルとの間の相互相関付けを実行し、再順序付けられた1つまたは複数の第1のベクトルを生成するために、相互相関付けに基づいて1つまたは複数の第1のベクトルの少なくとも1つを再順序付け、再順序付けられた1つまたは複数の第1のベクトルのオーディオ符号化されたバージョンを生成するために、再順序付けられた1つまたは複数の第1のベクトルを符号化するように構成される、項133143−1Aのデバイス。
[0759]項133143−6A。1つまたは複数のプロセッサがさらに、1つまたは複数の第2のベクトルよりも少数のベクトルを有する低減された1つまたは複数の第2のベクトルを生成するために、エネルギー比較に基づいて第2のベクトルの1つまたは複数を廃棄し、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つと低減された1つまたは複数の第2のベクトルとの間の相互相関付けを実行し、再順序付けられた1つまたは複数の第1のベクトルを生成するために、相互相関付けに基づいて1つまたは複数の第1のベクトルの少なくとも1つを再順序付け、再順序付けられた1つまたは複数の第1のベクトルのオーディオ符号化されたバージョンを生成するために、再順序付けられた1つまたは複数の第1のベクトルを符号化し、再順序付けられた1つまたは複数の第1のベクトルの符号化されたバージョンを含むようにビットストリームを生成するように構成される、項133143−1Aのデバイス。
[0760]項133143−7A。オーディオデータの第1の部分がM個のサンプルを有する第1のオーディオフレームを備え、オーディオデータの第2の部分が同数のM個のサンプルを有する第2のオーディオフレームを備え、1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つの最後のM−Z個の値および低減された1つまたは複数の第2のベクトルの各々の最初のM−Z個の値に関して相互相関付けを実行するように構成され、ZがMより小さい、請求項3Aから6Aのデバイス。
[0761]項133143−8A。オーディオデータの第1の部分がM個のサンプルを有する第1のオーディオフレームを備え、オーディオデータの第2の部分が同数のM個のサンプルを有する第2のオーディオフレームを備え、1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つの最後のM−Y個の値および低減された1つまたは複数の第2のベクトルの各々の最初のM−Z個の値に関して相互相関付けを実行するように構成され、ZとYの両方がMより小さい、請求項3Aから6Aのデバイス。
[0762]項133143−9A。1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの少なくとも1つを反転するように構成される、請求項3Aから6Aのデバイス。
[0763]項133143−10A。1つまたは複数のプロセッサがさらに、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成される、項133143−1Aのデバイス。
[0764]項133143−11A。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、U行列、S行列、およびV行列の1つまたは複数の関数として1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとを生成するように構成される、項133143−1Aのデバイス。
[0765]項133143−12A。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、U行列の1つまたは複数のUDISTベクトルとS行列の1つまたは複数のSDIST行列とを識別するために、S行列に関して顕著さの分析を実行し、1つまたは複数のUDISTベクトルを1つまたは複数のSDISTベクトルと乗算することによって少なくとも一部、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとを決定するように構成される、項133143−1Aのデバイス。
[0766]項133143−13A。オーディオデータの第1の部分が、オーディオデータの第2の部分よりも時間的に前に現れる、項133143−1Aのデバイス。
[0767]項133143−14A。オーディオデータの第1の部分が、オーディオデータの第2の部分よりも時間的に後に現れる、項133143−1Aのデバイス。
[0768]項133143−15A。1つまたは複数のプロセッサがさらに、エネルギー比較を実行するときに、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの各々の二乗平均平方根エネルギーを計算し、1つまたは複数の第1のベクトルの少なくとも1つに対して計算される二乗平均平方根エネルギーを1つまたは複数の第2のベクトルの各々に対して計算される二乗平均平方根エネルギーと比較するように構成される、項133143−1Aのデバイス。
[0769]項133143−16A。1つまたは複数のプロセッサがさらに、再順序付けられた1つまたは複数の第1のベクトルを生成するために、エネルギー比較に基づいて1つまたは複数の第1のベクトルの少なくとも1つを再順序付けるように構成され、1つまたは複数のプロセッサがさらに、第1のベクトルを再順序付けるときに、再順序付けられた1つまたは複数の第1のベクトルを生成するときの滑らかな移行を確実にするために、1つまたは複数の第1のベクトルの間でフェードイン/フェードアウト補間ウィンドウを適用するように構成される、項133143−1Aのデバイス。
[0770]項133143−17A。1つまたは複数のプロセッサがさらに、再順序付けられた1つまたは複数の第1のベクトルを生成するために、エネルギー比較に少なくとも基づいて1つまたは複数の第1のベクトルを再順序付け、再順序付けられた1つまたは複数の第1のベクトルまたは再順序付けられた1つまたは複数の第1のベクトルの符号化されたバージョンを含むようにビットストリームを生成し、1つまたは複数の第1のベクトルがどのように再順序付けられたかを記述する再順序付け情報をビットストリームにおいて指定するように構成される、項133143−1Aのデバイス。
[0771]項133143−18A。エネルギー比較が、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの一方または両方のオーディオ符号化を促進するために、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの一方または両方の抽出を容易にする、項133143−1Aのデバイス。
[0772]項133143−1B。再順序付けられた1つまたは複数の第1のベクトルを決定するために1つまたは複数の第1のベクトルおよび1つまたは複数の第2のベクトルに関して相互相関付けを実行して、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの一方または両方の抽出を容易にするように構成される、1つまたは複数のプロセッサを備え、1つまたは複数の第1のベクトルがオーディオデータの第1の部分の中の音場の明瞭な成分を記述し、1つまたは複数の第2のベクトルがオーディオデータの第2の部分の中の音場の明瞭な成分を記述する、オーディオ符号化デバイス510Cなどのデバイス。
[0773]項133143−2B。1つまたは複数の第1のベクトルがオーディオデータの第1の部分の中の音場のバックグラウンド成分を表さず、1つまたは複数の第2のベクトルがオーディオデータの第2の部分の中の音場のバックグラウンド成分を表さない、項133143−1Bのデバイス。
[0774]項133143−3B。1つまたは複数のプロセッサがさらに、相互相関付けを実行する前に、1つまたは複数の第2のベクトルよりも少数のベクトルを有する低減された1つまたは複数の第2のベクトルを生成するために、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとの間のエネルギー比較を実行するように構成され、1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの一方または両方のオーディオ符号化を容易にするために、1つまたは複数の第1のベクトルと低減された1つまたは複数の第2のベクトルとの間の相互相関付けを実行するように構成される、項133143−1Bのデバイス。
[0775]項133143−4B。1つまたは複数のプロセッサがさらに、エネルギー比較を実行するときに、1つまたは複数の第1のベクトルおよび1つまたは複数の第2のベクトルの各々の二乗平均平方根エネルギーを計算し、1つまたは複数の第1のベクトルの少なくとも1つに対して計算される二乗平均平方根エネルギーを1つまたは複数の第2のベクトルの各々に対して計算される二乗平均平方根エネルギーと比較するように構成される、項133143−3Bのデバイス。
[0776]項133143−5B。1つまたは複数のプロセッサがさらに、1つまたは複数の第2のベクトルよりも少数のベクトルを有する低減された1つまたは複数の第2のベクトルを生成するために、エネルギー比較に基づいて第2のベクトルの1つまたは複数を廃棄するように構成され、1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つと低減された1つまたは複数の第2のベクトルとの間の相互相関付けを実行するように構成され、1つまたは複数のプロセッサがさらに、再順序付けられた1つまたは複数の第1のベクトルを生成するために、相互相関付けに基づいて1つまたは複数の第1のベクトルの少なくとも1つを再順序付けるように構成される、項133143−3Bのデバイス。
[0777]項133143−6B。1つまたは複数のプロセッサがさらに、1つまたは複数の第2のベクトルよりも少数のベクトルを有する低減された1つまたは複数の第2のベクトルを生成するために、エネルギー比較に基づいて第2のベクトルの1つまたは複数を廃棄するように構成され、1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つと低減された1つまたは複数の第2のベクトルとの間の相互相関付けを実行するように構成され、1つまたは複数のプロセッサがさらに、再順序付けられた1つまたは複数の第1のベクトルを生成するために、相互相関付けに基づいて1つまたは複数の第1のベクトルの少なくとも1つを再順序付け、再順序付けられた1つまたは複数の第1のベクトルのオーディオ符号化されたバージョンを生成するために、再順序付けられた1つまたは複数の第1のベクトルを符号化するように構成される、項133143−3Bのデバイス。
[0778]項133143−7B。1つまたは複数のプロセッサがさらに、1つまたは複数の第2のベクトルよりも少数のベクトルを有する低減された1つまたは複数の第2のベクトルを生成するために、エネルギー比較に基づいて第2のベクトルの1つまたは複数を廃棄するように構成され、1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つと低減された1つまたは複数の第2のベクトルとの間の相互相関付けを実行するように構成され、1つまたは複数のプロセッサがさらに、再順序付けられた1つまたは複数の第1のベクトルを生成するために、相互相関付けに基づいて1つまたは複数の第1のベクトルの少なくとも1つを再順序付け、再順序付けられた1つまたは複数の第1のベクトルのオーディオ符号化されたバージョンを生成するために、再順序付けられた1つまたは複数の第1のベクトルを符号化し、再順序付けられた1つまたは複数の第1のベクトルの符号化されたバージョンを含むようにビットストリームを生成するように構成される、項133143−3Bのデバイス。
[0779]項133143−8B。オーディオデータの第1の部分がM個のサンプルを有する第1のオーディオフレームを備え、オーディオデータの第2の部分が同数のM個のサンプルを有する第2のオーディオフレームを備え、1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つの最後のM−Z個の値および低減された1つまたは複数の第2のベクトルの各々の最初のM−Z個の値に関して相互相関付けを実行するように構成され、ZがMより小さい、請求項3Bから7Bのデバイス。
[0780]項133143−9B。オーディオデータの第1の部分がM個のサンプルを有する第1のオーディオフレームを備え、オーディオデータの第2の部分が同数のM個のサンプルを有する第2のオーディオフレームを備え、1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルの少なくとも1つに相関する低減された1つまたは複数の第2のベクトルの1つを識別するために、1つまたは複数の第1のベクトルの少なくとも1つの最後のM−Y個の値および低減された1つまたは複数の第2のベクトルの各々の最初のM−Z個の値に関して相互相関付けを実行するように構成され、ZとYの両方がMより小さい、請求項3Bから7Bのデバイス。
[0781]項133143−10B。1つまたは複数のプロセッサがさらに、相互相関付けを実行するときに、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの少なくとも1つを反転するように構成される、請求項1Bのデバイス。
[0782]項133143−11B。1つまたは複数のプロセッサがさらに、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成される、項133143−1Bのデバイス。
[0783]項133143−12B。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、U行列、S行列、およびV行列の1つまたは複数の関数として1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとを生成するように構成される、項133143−1Bのデバイス。
[0784]項133143−13B。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、U行列の1つまたは複数のUDISTベクトルとS行列の1つまたは複数のSDIST行列とを識別するために、S行列に関して顕著さの分析を実行し、1つまたは複数のUDISTベクトルを1つまたは複数のSDISTベクトルと乗算することによって少なくとも一部、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとを決定するように構成される、項133143−1Bのデバイス。
[0785]項133143−14B。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとを決定するときに、1つまたは複数の第1のベクトルおよび1つまたは複数の第2のベクトルの少なくとも1つとしてV行列の1つまたは複数のVDISTベクトルを識別するために、S行列に関して顕著さの分析を実行するように構成される、項133143−1Bのデバイス。
[0786]項133143−15B。オーディオデータの第1の部分がオーディオデータの第2の部分よりも時間的に前に現れる、項133143−1Bのデバイス。
[0787]項133143−16B。オーディオデータの第1の部分がオーディオデータの第2の部分よりも時間的に後に現れる、項133143−1Bのデバイス。
[0788]項133143−17B。1つまたは複数のプロセッサがさらに、再順序付けられた1つまたは複数の第1のベクトルを生成するために、相互相関付けに基づいて1つまたは複数の第1のベクトルの少なくとも1つを再順序付け、第1のベクトルを再順序付けるときに、再順序付けられた1つまたは複数の第1のベクトルを生成するときの滑らかな移行を確実にするために、1つまたは複数の第1のベクトルの間でフェードイン/フェードアウト補間ウィンドウを適用するように構成される、項133143−1Bのデバイス。
[0789]項133143−18B。1つまたは複数のプロセッサがさらに、再順序付けられた1つまたは複数の第1のベクトルを生成するために、相互相関付けに少なくとも基づいて1つまたは複数の第1のベクトルを再順序付け、再順序付けられた1つまたは複数の第1のベクトルまたは再順序付けられた1つまたは複数の第1のベクトルの符号化されたバージョンを含むようにビットストリームを生成し、1つまたは複数の第1のベクトルがどのように再順序付けられたかをビットストリームにおいて指定するように構成される、項133143−1Bのデバイス。
[0790]項133143−19B。相互相関付けが、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの一方または両方のオーディオ符号化を促進するために、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの一方または両方の抽出を容易にする、項133143−1Bのデバイス。
[0791]図40Dは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法の様々な態様を実行し得る、例示的なオーディオ符号化デバイス510Dを示すブロック図である。オーディオ符号化デバイス510Dは、オーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを含むという点で、オーディオ符号化デバイス510Cと同様であり得る。その上、オーディオ符号化デバイス510Dのオーディオ圧縮ユニット512は、分解ユニット518を含むという点で、オーディオ符号化デバイス510Cのオーディオ圧縮ユニットと同様であり得る。
[0792]オーディオ符号化デバイス510Dのオーディオ圧縮ユニット512は、しかしながら、音場成分抽出ユニット520が量子化ユニット534(「量子化ユニット534(quant unit 534)」)として示される追加のユニットを含むという点で、オーディオ符号化デバイス510Cのオーディオ圧縮ユニット512とは異なり得る。この理由で、オーディオ符号化デバイス510Dの音場成分抽出ユニット520は、「音場成分抽出ユニット520D」として示される。
[0793]量子化ユニット534は、対応する1つもしくは複数のVT Q_DISTベクトル525Gおよび/または1つもしくは複数のVT Q_BGベクトル525Hを生成するために、1つもしくは複数のVT DISTベクトル525Eおよび/または1つもしくは複数のVT BGベクトル525Fを量子化するように構成されるユニットを表す。量子化ユニット534は、ビットストリーム517において1つまたは複数のVT DISTベクトル525Eを表すために使用されるビットの数を減らすために、1つまたは複数のVT DISTベクトル525Eを量子化する(これは、値を表すために使用されるビットの削除を通じた数学的な丸めのための信号処理用語である)ことができる。いくつかの例では、量子化ユニット534は、1つまたは複数のVT DISTベクトル525Eの32ビット値を量子化して、これらの32ビット値を丸められた16ビット値で置き換えて1つまたは複数のVT Q_DISTベクトル525Gを生成することができる。この点で、量子化ユニット534は、図4の例に示されるオーディオ符号化デバイス20の量子化ユニット52に関して上で説明されたものと同様の方式で動作することができる。
[0794]この性質の量子化は、量子化の粗さに応じて変化する誤差を音場の表現へともたらし得る。言い換えれば、1つまたは複数のVT DISTベクトル525Eを表すために使用されるビットがより多いと、量子化誤差はより小さくなり得る。VT DISTベクトル525Eの量子化による量子化誤差(「EDIST」と示され得る)は、1つまたは複数のVT Q_DISTベクトル525Gから1つまたは複数のVT DISTベクトル525Eを差し引くことによって決定され得る。
[0795]本開示で説明される技法によれば、オーディオ符号化デバイス510Dは、UDIST*SDISTベクトル527の1つまたは複数に、あるいは、1つまたは複数のUBGベクトル525Dを1つまたは複数のSBGベクトル525Bと乗算し、次いで1つまたは複数のVT BGベクトル525Fと乗算することによって生成されるバックグラウンド球面調和係数531に、EDIST誤差を射影することによって、またはそれらを別様に修正することによって、EDIST量子化誤差の1つまたは複数を補償することができる。いくつかの例では、オーディオ符号化デバイス510Dは、UDIST*SDISTベクトル527の中のEDIST誤差のみを補償することができる。他の例では、オーディオ符号化デバイス510Dは、バックグラウンド球面調和係数の中のEBG誤差のみを補償することができる。さらに他の例では、オーディオ符号化デバイス510Dは、UDIST*SDISTベクトル527とバックグラウンド球面調和係数の両方の中のEDIST誤差を補償することができる。
[0796]動作において、顕著成分分析ユニット524は、1つまたは複数のSDISTベクトル525と、1つまたは複数のSBGベクトル525Bと、1つまたは複数のUDISTベクトル525Cと、1つまたは複数のUBGベクトル525Dと、1つまたは複数のVT DISTベクトル525Eと、1つまたは複数のVT BGベクトル525Fとを、算出ユニット526に出力するように構成され得る。顕著成分分析ユニット524はまた、1つまたは複数のVT DISTベクトル525Eを量子化ユニット534に出力することができる。量子化ユニット534は、1つまたは複数のVT Q_DISTベクトル525Gを生成するために、1つまたは複数のVT DISTベクトル525Eを量子化することができる。量子化ユニット534は、1つまたは複数のVT Q_DISTベクトル525Gを算出ユニット526に提供しながら、1つまたは複数のVT Q_DISTベクトル525Gを(上で説明されたように)ベクトル再順序付けユニット532にも提供することができる。ベクトル再順序付けユニット532は、VT DISTベクトル525Eに関して上で説明されたものと同様の方式で、1つまたは複数のVT Q_DISTベクトル525Gに関して動作することができる。
[0797]これらのベクトル525〜525G(「ベクトル525」)を受け取ると、算出ユニット526はまず、音場の明瞭な成分を記述する明瞭な球面調和係数と、音場のバックグラウンド成分を記述したバックグラウンド球面調和係数とを決定することができる。行列算出ユニット526は、1つまたは複数のUDIST525Cベクトルを1つまたは複数のSDISTベクトル525Aと乗算し、次いで1つまたは複数のVT DISTベクトル525Eと乗算することによって、明瞭な球面調和係数を決定するように構成され得る。算出ユニット526は、1つまたは複数のUBG525Dベクトルを1つまたは複数のSBGベクトル525Aと乗算し、次いで1つまたは複数のVT BGベクトル525Eと乗算することによって、バックグラウンド球面調和係数を決定するように構成され得る。
[0798]算出ユニット526は次いで、1つまたは複数のVT Q_DISTベクトル525Gに関して擬似逆演算を実行し、次いで明瞭な球面調和関数を1つまたは複数のVT Q_DISTベクトル525Gの擬似逆ベクトルと乗算することによって、1つまたは複数の補償されたUDIST*SDISTベクトル527’(これらのベクトルがEDIST誤差を補償するための値を含むことを除き、UDIST*SDISTベクトル527と同様であり得る)を決定することができる。ベクトル再順序付けユニット532は、再順序付けられたベクトル527’を生成するために上で説明された方式で動作することができ、再順序付けられたベクトル527’は、上でやはり説明されたように、オーディオ符号化された再順序付けられたベクトル515’を生成するために、オーディオ符号化ユニット515Aによってオーディオ符号化される。
[0799]算出ユニット526は次に、バックグラウンド球面調和係数へとEDIST誤差を射影することができる。算出ユニット526は、この射影を実行するために、明瞭な球面調和係数をバックグラウンド球面調和係数に加算することによって、オリジナルの球面調和係数511を決定し、または別様に復元することができる。算出ユニット526は次いで、VT DISTベクトル519の量子化が原因の残りの誤差を決定するために、量子化された明瞭な球面調和係数(UDISTベクトル525CをSDISTベクトル525Aと乗算し、次いでVT Q_DISTベクトル525Gと乗算することによって生成され得る)およびバックグラウンド球面調和係数を球面調和係数511から差し引くことができる。算出ユニット526は次いで、補償された量子化されたバックグラウンド球面調和係数531’を生成するために、量子化されたバックグラウンド球面調和係数にこの誤差を加算することができる。
[0800]いずれにしても、次数低減ユニット528Aは、補償された量子化されたバックグラウンド球面調和係数531’を低減されたバックグラウンド球面調和係数529’へと低減するために、上で説明されたように実行することができ、低減されたバックグラウンド球面調和係数529’は、オーディオ符号化された低減されたバックグラウンド球面調和係数515B’を生成するために、上で説明された方式でオーディオ符号化ユニット514によってオーディオ符号化され得る。
[0801]このようにして、本技法は、オーディオ符号化デバイス510Dが、音場の1つまたは複数の成分を表す、VT DISTベクトル525Eなどの1つまたは複数の第1のベクトルを量子化することと、音場の同じ1つまたは複数の成分を同様に表す、UDIST*SDISTベクトル527および/またはバックグラウンド球面調和係数531のベクトルなどの1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされた誤差を補償することとを可能にし得る。
[0802]その上、本技法は、以下の項に従ってこの量子化誤差の補償を提供することができる。
[0803]項133146−1B。音場の1つまたは複数の明瞭な成分を表す1つまたは複数の第1のベクトルを量子化し、音場の同じ1つまたは複数の明瞭な成分を同様に表す1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされる誤差を補償するように構成される、1つまたは複数のプロセッサを備える、オーディオ符号化デバイス510Dなどのデバイス。
[0804]項133146−2B。1つまたは複数のプロセッサが、少なくとも一部、音場を記述する複数の球面調和係数に関して特異値分解を実行することによって生成される、V行列の転置から1つまたは複数のベクトルを量子化するように構成される、項133146−1Bのデバイス。
[0805]項133146−3B。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成され、1つまたは複数のプロセッサが、V行列の転置から1つまたは複数のベクトルを量子化するように構成される、項133146−1Bのデバイス。
[0806]項133146−4B。1つまたは複数のプロセッサが、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成され、1つまたは複数のプロセッサが、V行列の転置から1つまたは複数のベクトルを量子化するように構成され、1つまたは複数のプロセッサが、U行列の1つまたは複数のUベクトルをS行列の1つまたは複数のSベクトルと乗算することによって計算される1つまたは複数のU*Sベクトルにおいて量子化が原因でもたらされる誤差を補償するように構成される、項133146−1Bのデバイス。
[0807]項133146−5B。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、各々が音場の明瞭な成分の1つに対応するU行列の1つまたは複数のUDISTベクトルを決定し、各々が音場の明瞭な成分の同じ1つに対応するS行列の1つまたは複数のSDISTベクトルを決定し、各々が音場の明瞭な成分の同じ1つに対応するV行列の転置の1つまたは複数のVT DISTベクトルを決定するように構成され、
[0808]1つまたは複数のプロセッサが、1つまたは複数のVT Q_DISTベクトルを生成するために1つまたは複数のVT DISTベクトルを量子化するように構成され、1つまたは複数のプロセッサが、1つまたは複数の誤差補償されたUDIST*SDISTベクトルを生成するために、U行列の1つまたは複数のUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによって計算される1つまたは複数のUDIST*SDISTベクトルにおいて量子化が原因でもたらされる誤差を補償するように構成される、項133146−1Bのデバイス。
[0809]項133146−6B。1つまたは複数のプロセッサが、1つまたは複数のUDISTベクトルと、1つまたは複数のSDISTベクトルと、1つまたは複数のVT DISTベクトルとに基づいて、明瞭な球面調和係数を決定し、1つまたは複数のVT Q_DISTベクトルによって明瞭な球面調和係数を除算し、それによって、VT DISTベクトルの量子化を通じてもたらされた誤差を少なくとも一部補償する誤差補償された1つまたは複数のUC_DIST*SC_DISTベクトルを生成するために、VT Q_DISTベクトルに関して擬似逆変換を実行するように構成される、項133146−5Bのデバイス。
[0810]項133146−7B1つまたは複数のプロセッサがさらに、1つまたは複数の誤差補償されたUDIST*SDISTベクトルをオーディオ符号化するように構成される、項133146−5Bのデバイス。
[0811]項133146−8B。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、音場の1つまたは複数のバックグラウンド成分を記述するU行列の1つまたは複数のUBGベクトルと、音場の1つまたは複数の明瞭な成分を記述するU行列の1つまたは複数のUDISTベクトルとを決定し、音場の1つまたは複数のバックグラウンド成分を記述するS行列の1つまたは複数のSBGベクトルと、音場の1つまたは複数の明瞭な成分を記述するS行列の1つまたは複数のSDISTベクトルとを決定し、V行列の転置の1つまたは複数のVT DISTベクトルと1つまたは複数のVT BGベクトルとを決定するように構成され、VT DISTベクトルが音場の1つまたは複数の明瞭な成分を記述し、VT DISTベクトルが音場の1つまたは複数の明瞭な成分を記述し、VT BGが音場の1つまたは複数のバックグラウンド成分を記述し、1つまたは複数のプロセッサが、1つまたは複数のVT Q_DISTベクトルを生成するために1つまたは複数のVT DISTベクトルを量子化するように構成され、1つまたは複数のプロセッサがさらに、誤差補償されたバックグラウンド球面調和係数を生成するために、1つまたは複数のUBGベクトルを1つまたは複数のSBGベクトルと乗算し、次いで1つまたは複数のVT BGベクトルと乗算することによって形成されるバックグラウンド球面調和係数において量子化が原因でもたらされる誤差の少なくとも一部分を補償するように構成される、項133146−1Bのデバイス。
[0812]項133146−9B。1つまたは複数のプロセッサが、VT DISTベクトルと、UDISTベクトルをSDISTベクトルと乗算することによって形成される1つまたは複数のUDIST*SDISTベクトルとに基づいて誤差を決定し、誤差補償されたバックグラウンド球面調和係数を生成するために、バックグラウンド球面調和係数に決定された誤差を加算するように構成される、項133146−8Bのデバイス。
[0813]項133146−10B。1つまたは複数のプロセッサがさらに、誤差補償されたバックグラウンド球面調和係数をオーディオ符号化するように構成される、項133146−8Bのデバイス。
[0814]項133146−11B。
[0815]1つまたは複数のプロセッサが、1つまたは複数の誤差補償された第2のベクトルを生成するために、音場の同じ1つまたは複数の成分を同様に表す1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされる誤差を補償するように構成され、1つまたは複数のプロセッサがさらに、1つまたは複数の誤差補償された第2のベクトルと量子化された1つまたは複数の第1のベクトルとを含むようにビットストリームを生成するように構成される、項133146−1Bのデバイス。
[0816]項133146−12B。1つまたは複数のプロセッサが、1つまたは複数の誤差補償された第2のベクトルを生成するために、音場の同じ1つまたは複数の成分を同様に表す1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされる誤差を補償するように構成され、1つまたは複数のプロセッサがさらに、1つまたは複数の誤差補償された第2のベクトルをオーディオ符号化し、オーディオ符号化された1つまたは複数の誤差補償された第2のベクトルと量子化された1つまたは複数の第1のベクトルとを含むようにビットストリームを生成するように構成される、項133146−1Bのデバイス。
[0817]項133146−1C。音場の1つまたは複数の明瞭な成分を表す1つまたは複数の第1のベクトルを量子化し、音場の1つまたは複数のバックグラウンド成分を表す1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされた誤差を補償するように構成される、1つまたは複数のプロセッサを備える、オーディオ符号化デバイス510Dなどのデバイス。
[0818]項133146−2C。1つまたは複数のプロセッサが、少なくとも一部、音場を記述する複数の球面調和係数に関して特異値分解を実行することによって生成される、V行列の転置から1つまたは複数のベクトルを量子化するように構成される、項133146−1Cのデバイス。
[0819]項133146−3C。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行するように構成され、1つまたは複数のプロセッサが、V行列の転置から1つまたは複数のベクトルを量子化するように構成される、項133146−1Cのデバイス。
[0820]項133146−4C。1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、各々が音場の明瞭な成分の1つに対応するU行列の1つまたは複数のUDISTベクトルを決定し、各々が音場の明瞭な成分の同じ1つに対応するS行列の1つまたは複数のSDISTベクトルを決定し、各々が音場の明瞭な成分の同じ1つに対応するV行列の転置の1つまたは複数のVT DISTベクトルを決定するように構成され、1つまたは複数のプロセッサが、1つまたは複数のVT Q_DISTベクトルを生成するために1つまたは複数のVT DISTベクトルを量子化するように構成され、1つまたは複数の誤差補償されたUDIST*SDISTベクトルを生成するために、U行列の1つまたは複数のUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによって計算される1つまたは複数のUDIST*SDISTベクトルにおいて量子化が原因でもたらされる誤差の少なくとも一部分を補償するように構成される、項133146−1Cのデバイス。
[0821]項133146−5C。1つまたは複数のプロセッサが、1つまたは複数のUDISTベクトルと、1つまたは複数のSDISTベクトルと、1つまたは複数のVT DISTベクトルとに基づいて、明瞭な球面調和係数を決定し、1つまたは複数のVT Q_DISTベクトルによって明瞭な球面調和係数を除算し、それによって、VT DISTベクトルの量子化を通じてもたらされた誤差を少なくとも一部補償する1つまたは複数のUC_DIST*SC_DISTベクトルを生成するために、VT Q_DISTベクトルに関して擬似逆変換を実行するように構成される、項133146−4Cのデバイス。
[0822]項133146−6C。1つまたは複数のプロセッサがさらに、1つまたは複数の誤差補償されたUDIST*SDISTベクトルをオーディオ符号化するように構成される、項133146−4Cのデバイス。
[0823]項133146−7C1つまたは複数のプロセッサがさらに、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す複数の球面調和係数に関して特異値分解を実行し、音場の1つまたは複数のバックグラウンド成分を記述するU行列の1つまたは複数のUBGベクトルと、音場の1つまたは複数の明瞭な成分を記述するU行列の1つまたは複数のUDISTベクトルとを決定し、音場の1つまたは複数のバックグラウンド成分を記述するS行列の1つまたは複数のSBGベクトルと、音場の1つまたは複数の明瞭な成分を記述するS行列の1つまたは複数のSDISTベクトルとを決定し、V行列の転置の1つまたは複数のVT DISTベクトルと1つまたは複数のVT BGベクトルとを決定するように構成され、VT DISTベクトルが音場の1つまたは複数の明瞭な成分を記述し、VT BGが音場の1つまたは複数のバックグラウンド成分を記述し、1つまたは複数のプロセッサが、1つまたは複数のVT Q_DISTベクトルを生成するために1つまたは複数のVT DISTベクトルを量子化するように構成され、1つまたは複数のプロセッサが、誤差補償されたバックグラウンド球面調和係数を生成するために、1つまたは複数のUBGベクトルを1つまたは複数のSBGベクトルと乗算し、次いで1つまたは複数のVT BGベクトルと乗算することによって形成されるバックグラウンド球面調和係数において量子化が原因でもたらされる誤差を補償するように構成される、項133146−1Cのデバイス。
[0824]項133146−8C。1つまたは複数のプロセッサが、VT DISTベクトルと、UDISTベクトルをSDISTベクトルと乗算することによって形成される1つまたは複数のUDIST*SDISTベクトルとに基づいて誤差を決定し、誤差補償されたバックグラウンド球面調和係数を生成するために、バックグラウンド球面調和係数に決定された誤差を加算するように構成される、項133146−7Cのデバイス。
[0825]項133146−9C。1つまたは複数のプロセッサがさらに、誤差補償されたバックグラウンド球面調和係数をオーディオ符号化するように構成される、項133146−7Cのデバイス。
[0826]項133146−10C。1つまたは複数のプロセッサがさらに、1つまたは複数の誤差補償された第2のベクトルを生成するために、音場の同じ1つまたは複数の成分を同様に表す1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされる誤差を補償し、1つまたは複数の誤差補償された第2のベクトルと量子化された1つまたは複数の第1のベクトルとを含むようにビットストリームを生成するように構成される、項133146−1Cのデバイス。
[0827]項133146−11C。1つまたは複数のプロセッサがさらに、1つまたは複数の誤差補償された第2のベクトルを生成するために、音場の同じ1つまたは複数の成分を同様に表す1つまたは複数の第2のベクトルにおいて1つまたは複数の第1のベクトルの量子化が原因でもたらされる誤差を補償し、1つまたは複数の誤差補償された第2のベクトルをオーディオ符号化し、オーディオ符号化された1つまたは複数の誤差補償された第2のベクトルと量子化された1つまたは複数の第1のベクトルとを含むようにビットストリームを生成するように構成される、項133146−1Cのデバイス。
[0828]言い換えれば、帯域幅低減の目的でHoA信号に対してフレームベースのSVD(またはKLTおよびPCAなどの関連する方法)の分解を使用するとき、本開示で説明される技法は、オーディオ符号化デバイス10Dが、U行列の最初のいくつかのベクトル(S行列の対応する特異値によって乗算された)と、さらにはVベクトルの対応するベクトルとを量子化することを可能にし得る。これは、音場の「フォアグラウンド」成分または「明瞭な」成分を備える。本技法は次いで、オーディオ符号化デバイス510DがAAC符号化器などの「ブラックボックス」オーディオコーディングエンジンを使用してU*Sベクトルをコーディングすることを可能にし得る。Vベクトルは、スカラー量子化されるか、ベクトル量子化されるかのいずれかであり得る。
[0829]加えて、U行列中の残りのベクトルのいくつかは、S行列およびV行列の対応する特異値によって乗算され、また、「ブラックボックス」オーディオコーディングエンジンを使用してコーディングされ得る。これらは、音場の「バックグラウンド」成分を備える。Vベクトルの単純な16ビットのスカラー量子化は、4次(25個の係数)では約80kbpsのオーバーヘッドを、6次(49個の係数)では約160kbpsのオーバーヘッドをもたらし得る。より粗い量子化は、より大きい量子化誤差をもたらし得る。本開示で説明される技法は、Vベクトルの量子化誤差をフォアグラウンド成分およびバックグラウンド成分に「射影する」ことによって、Vベクトルの量子化誤差を補償することができる。
[0830]本開示の技法は、実際のVベクトルの量子化されたバージョンを計算することを含み得る。この量子化されたVベクトルは、V’(ここでV’=V+eである)と呼ばれ得る。フォアグラウンド成分に対して本技法が再作成することを試みている背後のHoA信号は、H_f=USVによって与えられ、U、S、およびVはフォアグラウンド要素のみを含む。この議論では、USはベクトルUの単一のセットによって置き換えられる。したがって、H_f=UVである。V’に誤差が多いとすると、本技法はH_fを可能な限り厳密に再作成することを試みている。したがって、本技法は、オーディオ符号化デバイス10Dが、H_f=U’V’となるようなU’を見つけることを可能にし得る。オーディオ符号化デバイス10Dは、U’=H_f[V’]^(−1)を可能にする、擬似逆変換方法を使用することができる。U’をコーディングするためにいわゆる「ブラックボックス」オーディオコーディングエンジンを使用して、本技法は、誤差の多いV’ベクトルと呼ばれ得るものによって引き起こされる、Hの誤差を最小にすることができる。
[0831]同様の方法で、本技法はまた、オーディオ符号化デバイスが、Vを量子化することが原因の誤差をバックグラウンド要素へと射影することを可能にし得る。オーディオ符号化デバイス510Dは、フォアグラウンドHoA信号とバックグラウンドHoA信号の組合せ、すなわちH=H_f+H_bである全体のHoA信号を再作成するように構成され得る。これは、V’の量子化誤差が原因で、H=H_f+e+H_bとしてモデル化され得る。このようにして、「ブラックボックスオーディオコーダ」にH_bを通す代わりに、(e+H_b)をオーディオコーダに通し、実質的にV’の誤差を補償する。実際には、これは、最大でも、バックグラウンド要素のために送信すべきであるとオーディオ符号化デバイス510Dによって決定された次数までしか補償しない。
[0832]図40Eは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法のある態様を実行し得る例示的なオーディオ符号化デバイス510Eを示すブロック図である。オーディオ符号化デバイス510Eは、オーディオ符号化デバイス510Eがオーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを含む点において、オーディオ符号化デバイス510Dと類似であり得る。その上、オーディオ符号化デバイス510Eのオーディオ圧縮ユニット512は、オーディオ圧縮ユニット512が分解ユニット518を含む点において、オーディオ符号化デバイス510Dのものと類似であり得る。
[0833]ただし、オーディオ符号化デバイス510Eのオーディオ圧縮ユニット512は、音場成分抽出ユニット520の数学ユニット526が、ビットストリーム517にV行列519Aの転置の低減されたバージョンを含める前に、V行列519Aをさらに低減するために、本開示で説明される技法の追加の態様を実行する点において、オーディオ符号化デバイス510Dのオーディオ圧縮ユニット512とは異なり得る。この理由で、オーディオ符号化デバイス510Eの音場成分抽出ユニット520は、「音場成分抽出ユニット520E」として示される。
[0834]図40Eの例では、次数低減ユニット528は、低減されたバックグラウンド球面調和係数529’をオーディオ符号化ユニット514に転送するのではなく、低減されたバックグラウンド球面調和係数529’を数学ユニット526に返す。上で述べられたように、これらの低減されたバックグラウンド球面調和係数529’は、球面基底関数に対応する係数のうちで、1つまたは複数の識別された次数および/または位数を有するものを除去することによって、低減されていてよい。低減されたバックグラウンド球面調和係数529’の低減された次数は、変数NBGによって示され得る。
[0835]音場成分抽出ユニット520Eが、再順序付けられた1つまたは複数のUDIST*SDISTベクトル533’に関して次数低減を実行しなくてよいとすると、音場の明瞭な成分を記述する球面調和係数のこの分解の次数(変数NDISTによって示され得る)は、バックグラウンド次数NBGよりも大きくなり得る。言い換えれば、NBGは、一般にNDISTよりも小さくなり得る。NBGがNDISTよりも小さくなり得る1つの可能な理由は、高次球面基底関数が必要とされないように、バックグラウンド成分があまり指向性を有しておらず、それによって次数低減を可能にし、NBGがNDISTよりも小さくなることをもたらすと仮定されることである。
[0836]図40A〜図40Dの例に示されるように、再順序付けられた1つまたは複数のVT Q_DISTベクトル539が、ビットストリーム517においてこれらのベクトル539をオーディオ符号化することなく、以前にオープンに送られたとすると、再順序付けられた1つまたは複数のVT Q_DISTベクトル539は、かなりの帯域幅を消費し得る。一例として、再順序付けられた1つまたは複数のVT Q_DISTベクトル539の各々は、16ビットスカラー値に量子化されるとき、4次アンビソニックスオーディオデータではほぼ20Kbps(各ベクトルが25個の係数を有する場合)と、6次アンビソニックスオーディオデータでは40Kbps(各ベクトルが49個の係数を有する場合)とを消費し得る。
[0837]本開示で説明される技法の様々な態様によれば、音場成分抽出ユニット520Eは、再順序付けられた1つまたは複数のVT Q_DISTベクトル539など、球面調和係数またはその分解のために指定される必要があるビットの量を低減することができる。いくつかの例では、数学ユニット526は、次数低減された球面調和係数529’に基づいて、再順序付けられたVT Q_DISTベクトル539のうちで、除去されて、次数低減された球面調和係数529’と再び組み合わせられるべきであるものと、再順序付けられたVT Q_DISTベクトル539のうちで、VT SMALLベクトル521を形成するべきであるものとを決定することができる。すなわち、数学ユニット526は、次数低減された球面調和係数529’の次数を決定することができ、ここで、この次数はNBGと示され得る。再順序付けられたVT Q_DISTベクトル539は、変数NDISTによって示された次数のものであってよく、ここで、NDISTは次数NBGよりも大きい。
[0838]数学ユニット526は次いで、再順序付けられたVT Q_DISTベクトル539の第1のNBG次数を解析し、球面基底関数に対応する、分解された球面調和係数を指定するベクトルのうちで、NBG以下の次数を有するものを除去することができる。これらの除去された再順序付けられたVT Q_DISTベクトル539は、次いで、中間の明瞭な球面調和係数を形成するために、球面基底関数に対応する球面調和係数511の分解されたバージョンを表す再順序付けられたUDIST*SDISTベクトル533’のうちで、NBG以下の次数を有するものを、除去された再順序付けられたVT Q_DISTベクトル539と乗算することによって、中間の球面調和係数を形成するために使用され得る。数学ユニット526は次いで、中間の明瞭な球面調和係数を、次数低減された球面調和係数529’に加算することによって、修正されたバックグラウンド球面調和係数537を生成することができる。数学ユニット526は次いで、この修正されたバックグラウンド球面調和係数537をオーディオ符号化ユニット514に渡すことができ、オーディオ符号化ユニット514は、オーディオ符号化された修正されたバックグラウンド球面調和係数515B’を形成するために、これらの係数537をオーディオ符号化する。
[0839]数学ユニット526は次いで、1つまたは複数のVT SMALLベクトル521を渡すことができ、VT SMALLベクトル521は、球面基底関数に対応する球面調和係数511の分解された形態を表すベクトル539のうちで、NBGよりも大きくNDIST以下の次数を有するものを表し得る。この点で、数学ユニット526は、図4の例に示されるオーディオ符号化デバイス20の係数低減ユニット46に類似した動作を実行することができる。数学ユニット526は、1つまたは複数のVT SMALLベクトル521をビットストリーム生成ユニット516に渡すことができ、ビットストリーム生成ユニット516は、VT SMALLベクトル521をしばしばそれらのオリジナルのオーディオ符号化されていない形態において含むように、ビットストリーム517を生成することができる。VT SMALLベクトル521が、再順序付けられたVT Q_DISTベクトル539よりも少ないベクトルを含むとすると、本技法は、ビットストリーム517中でVT SMALLベクトル521のみを指定することによって、再順序付けられたVT Q_DISTベクトル539へのより少ないビットの割振りを容易にすることができる。
[0840]量子化されていないように示されるが、いくつかの例では、オーディオ符号化デバイス510Eは、VT BGベクトル525Fを量子化することができる。いくつかの例では、オーディオ符号化ユニット514がバックグラウンド球面調和係数を圧縮するために使用されないときなど、オーディオ符号化デバイス510Eは、VT BGベクトル525Fを量子化することができる。
[0841]このようにして、本技法は、オーディオ符号化デバイス510Eが、ビットストリーム中の1つまたは複数のベクトルに割り振られることが必要とされるビットの量を低減するために、バックグラウンド球面調和係数と再び組み合わせられるべき、球面調和係数から分解された1つまたは複数のベクトルのうちの少なくとも1つを決定することを可能にすることができ、球面調和係数が音場を記述し、バックグラウンド球面調和係数が、同じ音場の1つまたは複数のバックグラウンド成分を記述した。
[0842]すなわち、本技法は、オーディオ符号化デバイス510Eが、次の項によって示された方式で構成されることを可能にすることができる。
[0843]133149−1A項。オーディオ符号化デバイス510Eなどのデバイスであって、ビットストリーム中の1つまたは複数のベクトルに割り振られることが必要とされるビットの量を低減するために、バックグラウンド球面調和係数と再び組み合わせられるべき、球面調和係数から分解された1つまたは複数のベクトルのうちの少なくとも1つを決定するように構成される1つまたは複数のプロセッサを備え、球面調和係数が音場を記述し、バックグラウンド球面調和係数が、同じ音場の1つまたは複数のバックグラウンド成分を記述した、デバイス。
[0844]133149−2A項。1つまたは複数のプロセッサが、1つまたは複数のベクトルから、1つまたは複数のベクトルのうちの決定された少なくとも1つを除去することによって、1つまたは複数のベクトルの低減されたセットを生成するようにさらに構成される、133149−1A項のデバイス。
[0845]133149−3A項。1つまたは複数のプロセッサが、1つまたは複数のベクトルから、1つまたは複数のベクトルのうちの決定された少なくとも1つを除去することによって、1つまたは複数のベクトルの低減されたセットを生成することと、修正されたバックグラウンド球面調和係数を生成するために、1つまたは複数のベクトルのうちの除去された少なくとも1つを、バックグラウンド球面調和係数と再び組み合わせることと、1つまたは複数のベクトルの低減されたセットと、修正されたバックグラウンド球面調和係数とを含むように、ビットストリームを生成することとを行うようにさらに構成される、133149−1A項のデバイス。
[0846]133149−4A項。1つまたは複数のベクトルの低減されたセットが、最初にオーディオ符号化されることなく、ビットストリームに含まれる、133149−3A項のデバイス。
[0847]133149−5A項。1つまたは複数のプロセッサが、1つまたは複数のベクトルから、1つまたは複数のベクトルのうちの決定された少なくとも1つを除去することによって、1つまたは複数のベクトルの低減されたセットを生成することと、修正されたバックグラウンド球面調和係数を生成するために、1つまたは複数のベクトルのうちの除去された少なくとも1つを、バックグラウンド球面調和係数と再び組み合わせることと、修正されたバックグラウンド球面調和係数をオーディオ符号化することと、1つまたは複数のベクトルの低減されたセットと、オーディオ符号化された修正されたバックグラウンド球面調和係数とを含むように、ビットストリームを生成することとを行うようにさらに構成される、133149−1A項のデバイス。
[0848]133149−6A項。1つまたは複数のベクトルが、音場の1つまたは複数の明瞭な成分の少なくともある態様を表すベクトルを備える、133149−1A項のデバイス。
[0849]133149−7A項。1つまたは複数のベクトルが、音場を記述する複数の球面調和係数に関して特異値分解を実行することによって少なくとも一部、生成されるV行列の転置からの1つまたは複数のベクトルを備える、133149−1A項のデバイス。
[0850]133149−8A項。1つまたは複数のプロセッサが、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、複数の球面調和係数に関して特異値分解を実行するようにさらに構成され、1つまたは複数のベクトルが、V行列の転置からの1つまたは複数のベクトルを備える、133149−1A項のデバイス。
[0851]133149−9A項。1つまたは複数のプロセッサが、球面基底関数に対応するバックグラウンド球面調和係数のうちで、識別された次数および/または位数を有するものを除去するために、バックグラウンド球面調和係数に関して次数低減を実行するようにさらに構成され、バックグラウンド球面調和係数が次数NBGに対応する、133149−1A項のデバイス。
[0852]133149−10A項。1つまたは複数のプロセッサが、球面基底関数に対応するバックグラウンド球面調和係数のうちで、識別された次数および/または位数を有するものを除去するために、バックグラウンド球面調和係数に関して次数低減を実行するようにさらに構成され、バックグラウンド球面調和係数が、明瞭な球面調和係数の次数NDIST未満である次数NBGに対応し、明瞭な球面調和係数が音場の明瞭な成分を表す、133149−1A項のデバイス。
[0853]133149−11A項。1つまたは複数のプロセッサが、球面基底関数に対応するバックグラウンド球面調和係数のうちで、識別された次数および/または位数を有するものを除去するために、バックグラウンド球面調和係数に関して次数低減を実行するようにさらに構成され、バックグラウンド球面調和係数が、明瞭な球面調和係数の次数NDIST未満である次数NBGに対応し、明瞭な球面調和係数が音場の明瞭な成分を表し、次数低減を受けない、133149−1A項のデバイス。
[0854]133149−12A項。1つまたは複数のプロセッサが、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、複数の球面調和係数に関して特異値分解を実行することと、V行列の転置の1つまたは複数のVT DISTベクトルと1つまたは複数のVT BGとを決定することとを行うようにさらに構成され、1つまたは複数のVT DISTベクトルが、音場の1つまたは複数の明瞭な成分を記述し、1つまたは複数のVT BGベクトルが、音場の1つまたは複数のバックグラウンド成分を記述し、1つまたは複数のベクトルが、1つまたは複数のVT DISTベクトルを含む、133149−1A項のデバイス。
[0855]133149−13A項。1つまたは複数のプロセッサが、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、複数の球面調和係数に関して特異値分解を実行することと、V行列の転置の1つまたは複数のVT DISTベクトルと1つまたは複数のVT BGとを決定することと、1つまたは複数のVDISTベクトルが、音場の1つまたは複数の明瞭な成分を記述し、1つまたは複数のVBGベクトルが、音場の1つまたは複数のバックグラウンド成分を記述する、1つまたは複数のVT Q_DISTベクトルを生成するために、1つまたは複数のVT DISTベクトルを量子化することとを行うようにさらに構成され、1つまたは複数のベクトルが、1つまたは複数のVT Q_DISTベクトルを含む、133149−1A項のデバイス。
[0856]133149−14A項。1つまたは複数のプロセッサが、U行列の1つまたは複数のUDISTベクトルと1つまたは複数のUBGベクトルとを決定することと、1つまたは複数のUDISTベクトルが、音場の1つまたは複数の明瞭な成分を記述し、1つまたは複数のUBGベクトルが、音場の1つまたは複数のバックグラウンド成分を記述する、S行列の1つまたは複数のSDISTベクトルと1つまたは複数のSBGベクトルとを決定することと、1つまたは複数のSDISTベクトルが、音場の1つまたは複数の明瞭な成分を記述し、1つまたは複数のSBGベクトルが、音場の1つまたは複数のバックグラウンド成分を記述する、を行うようにさらに構成される、133149−12A項または133149−13A項のいずれかのデバイス。
[0857]133149−15A項。1つまたは複数のプロセッサが、1つまたは複数のUBGベクトル、1つまたは複数のSBGベクトル、および1つまたは複数のVT BGの関数として、バックグラウンド球面調和係数を決定することと、NBGに等しい次数を有する低減されたバックグラウンド球面調和係数を生成するために、バックグラウンド球面調和係数に関して次数低減を実行することと、1つまたは複数のUDIST*SDISTベクトルを生成するために、1つまたは複数のUDISTを1つまたは複数のSDISTベクトルと乗算することと、1つまたは複数のベクトルの低減されたセットを生成するために、1つまたは複数のベクトルから、1つまたは複数のベクトルのうちの決定された少なくとも1つを除去することと、中間の明瞭な球面調和係数を生成するために、1つまたは複数のUDIST*SDISTベクトルを、1つもしくは複数のVT DISTベクトルまたは1つもしくは複数のVT Q_DISTベクトルのうちの除去された少なくとも1つと乗算することと、1つもしくは複数のVT DISTベクトルまたは1つもしくは複数のVT Q_DISTベクトルのうちの除去された少なくとも1つを、バックグラウンド球面調和係数と再び組み合わせるために、中間の明瞭な球面調和係数をバックグラウンド球面調和係数に加算することとを行うようにさらに構成される、133149−14A項のデバイス。
[0858]133149−16A項。1つまたは複数のプロセッサが、1つまたは複数のUBGベクトル、1つまたは複数のSBGベクトル、および1つまたは複数のVT BGの関数として、バックグラウンド球面調和係数を決定することと、NBGに等しい次数を有する低減されたバックグラウンド球面調和係数を生成するために、バックグラウンド球面調和係数に関して次数低減を実行することと、1つまたは複数のUDIST*SDISTベクトルを生成するために、1つまたは複数のUDISTを1つまたは複数のSDISTベクトルと乗算することと、再順序付けられた1つまたは複数のUDIST*SDISTベクトルを生成するために、1つまたは複数のUDIST*SDISTベクトルを再順序付けることと、1つまたは複数のベクトルの低減されたセットを生成するために、1つまたは複数のベクトルから、1つまたは複数のベクトルのうちの決定された少なくとも1つを除去することと、中間の明瞭な球面調和係数を生成するために、再順序付けられた1つまたは複数のUDIST*SDISTベクトルを、1つもしくは複数のVT DISTベクトルまたは1つもしくは複数のVT Q_DISTベクトルのうちの除去された少なくとも1つと乗算することと、1つもしくは複数のVT DISTベクトルまたは1つもしくは複数のVT Q_DISTベクトルのうちの除去された少なくとも1つを、バックグラウンド球面調和係数と再び組み合わせるために、中間の明瞭な球面調和係数をバックグラウンド球面調和係数に加算することとを行うようにさらに構成される、133149−14A項のデバイス。
[0859]133149−17A項。1つまたは複数のプロセッサが、中間の明瞭な球面調和係数をバックグラウンド球面調和係数に加算した後、バックグラウンド球面調和係数をオーディオ符号化することと、オーディオ符号化されたバックグラウンド球面調和係数を含むように、ビットストリームを生成することとを行うようにさらに構成される、133149−15A項または133149−16A項のいずれかのデバイス。
[0860]133149−18A項。1つまたは複数のプロセッサが、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、複数の球面調和係数に関して特異値分解を実行することと、V行列の転置の1つまたは複数のVT DISTベクトルと1つまたは複数のVT BGとを決定することと、1つまたは複数のVDISTベクトルが、音場の1つまたは複数の明瞭な成分を記述し、1つまたは複数のVBGベクトルが、音場の1つまたは複数のバックグラウンド成分を記述し、1つまたは複数のVT Q_DISTベクトルを生成するために、1つまたは複数のVT DISTベクトルを量子化することと、再順序付けられた1つまたは複数のVT Q_DISTベクトルを生成するために、1つまたは複数のVT Q_DISTベクトルを再順序付けることとを行うようにさらに構成され、1つまたは複数のベクトルが、再順序付けられた1つまたは複数のVT Q_DISTベクトルを含む、133149−1A項のデバイス。
[0861]図40Fは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法のある態様を実行し得る例示的なオーディオ符号化デバイス510Fを示すブロック図である。オーディオ符号化デバイス510Fは、オーディオ符号化デバイス510Fがオーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを含む点において、オーディオ符号化デバイス510Cと類似であり得る。その上、オーディオ符号化デバイス510Fのオーディオ圧縮ユニット512は、オーディオ圧縮ユニット512が、オーディオ符号化デバイス510Cの同様のユニットに類似して動作し得る、分解ユニット518とベクトル再順序付けユニット532とを含む点において、オーディオ符号化デバイス510Cのものと類似であり得る。いくつかの例では、オーディオ符号化デバイス510Fは、UDISTベクトル525C、UBGベクトル525D、VT DISTベクトル525E、およびVT BGベクトル525Jのうちのいずれかの1つまたは複数のベクトルを量子化するために、図40Dおよび図40Eに関して説明されたような、量子化ユニット534を含み得る。
[0862]ただし、オーディオ符号化デバイス510Fのオーディオ圧縮ユニット512は、音場成分抽出ユニット520の顕著成分分析ユニット524が、図40A〜図40Jの状況でDとして示される、フォアグラウンド成分の数を選択するために、コンテンツ分析を実行することができる点において、オーディオ符号化デバイス510Cのオーディオ圧縮ユニット512とは異なり得る。言い換えれば、顕著成分分析ユニット524は、球面調和係数の分解されたバージョンが合成オーディオオブジェクトから生成されたか、マイクロフォンを用いた自然な録音から生成されたかを識別するために、上で説明された方式でU、SおよびV行列519に関して動作することができる。顕著成分分析ユニット524は次いで、この合成決定に基づいてDを決定することができる。
[0863]その上、オーディオ符号化デバイス510Fのオーディオ圧縮ユニット512は、音場成分抽出ユニット520が、追加のユニット、次数低減およびエネルギー保存ユニット528F(「次数red.およびエネルギーprsv.ユニット528F」と示される)を含み得る点において、オーディオ符号化デバイス510Cのオーディオ圧縮ユニット512とは異なり得る。これらの理由で、オーディオ符号化デバイス510Fの音場成分抽出ユニット520は、「音場成分抽出ユニット520F」として示される。
[0864]次数低減およびエネルギー保存ユニット528Fは、完全VBG行列525Hによって一部記述される音場の全体的なエネルギー(と、付随する音圧と)を保存しながら、複数の球面調和係数511の右特異ベクトルを表すVBG行列525Hのバックグラウンド成分の次数低減を実行するように構成されるユニットを表す。この点で、次数低減およびエネルギー保存ユニット528Fは、図4の例に示されるオーディオ符号化デバイス20のバックグラウンド選択ユニット48およびエネルギー補償ユニット38に関して上で説明されたものと類似した動作を実行することができる。
[0865]完全VBG行列525Hは、次元(N+1)2×(N+1)2−Dを有し、ただし、Dは、主成分、または言い換えれば、音場の明瞭なオーディオ成分であることに関して顕著であると決定される特異値の数を表す。すなわち、完全VBG行列525Hは、音場のバックグラウンド(BG)、または言い換えれば、環境的もしくは不明瞭なオーディオ成分であると決定されるそれらの特異値を含む。
[0866]たとえば、図40B〜図40Eの次数低減ユニット524に関して上で説明されたように、次数低減およびエネルギー保存ユニット528Fは、VBG行列525Hのバックグラウンド特異値のうちで、高次球面基底関数に対応するものを(しばしばゼロにすることによって)除去、排除、または別様に削除することができる。次数低減およびエネルギー保存ユニット528Fは、転置ユニット522に、VBG行列525Hの低減されたバージョン(「VBG’行列525I」と示され、以下で「低減されたVBG’行列525I」と呼ばれる)を出力することができる。低減されたVBG’行列525Iは、次元
を有することができ、ただし
である。転置ユニット522は、転置された低減されたVT BG’行列525Jを生成し、数学ユニット526に出力するために、低減されたVBG’行列525Iに転置演算を適用し、数学ユニット526は、UBG行列525Dと、SBG行列525Bと、転置された低減されたVT BG’行列525Jとを使用して、UBG*SBG*VT BGを計算することによって、音場のバックグラウンド音声成分を再構築するように動作することができる。
[0867]本明細書で説明される技法によれば、次数低減およびエネルギー保存ユニット528Fは、低減されたVBG’行列525Iを生成するために、完全VBG行列525Hの次数を低減することによって引き起こされる、音場のバックグラウンド音声成分の全体的なエネルギーの起こり得る低減を補償するようにさらに構成される。いくつかの例では、次数低減およびエネルギー保存ユニット528Fは、低減されたVBG’行列525Iを転置ユニット522に出力する前に、低減されたVBG’行列525Iの二乗平均平方根(RMS)エネルギーを完全VBG行列525HのRMSに等しく、または少なくともそれにより近くなるように増大させるために、低減されたVBG’行列525Iの(N+1)2−D個の列の各々に適用すべき増幅値の形態で補償利得を決定することによって補償する。
[0868]いくつかの例では、次数低減およびエネルギー保存ユニット528Fは、完全VBG行列525Hの各列のRMSエネルギーと、低減されたVBG’行列525Iの各列のRMSエネルギーとを決定し、次いで、次の式に示されるように、前者と後者との比としてその列のための増幅値を決定することができ、
∝ = vBG/vBG’
[0869]ただし、∝は列のための増幅値であり、vBGはVBG行列525Hの単一の列を表し、vBG’はVBG’行列525Iの対応する単一の列を表す。これは、次のような行列表記で表されてよく、
ただし、VBG RMSは、VBG行列525Hの各列のRMSを示す要素を有するRMSベクトルであり、VBG’RMSは、低減されたVBG’行列525Iの各列のRMSを示す要素を有するRMSベクトルであり、Aは、VBG行列525Hの各列のための要素を有する増幅値ベクトルである。次数低減およびエネルギー保存ユニット528Fは、対応する増幅値α、またはベクトル形態で、下の式を使用して、低減されたVBG行列525Iの各列にスカラー乗算を適用し、
VBG’’ = VBG’AT
[0870]ただし、VBG’’は、エネルギー補償を含む低減されたVBG’行列525Iを表す。次数低減およびエネルギー保存ユニット528Fは、低減されたVBG’行列525IのRMSを、完全VBG行列525HのRMSに等しくする(またはほぼ等しくする)ために、エネルギー補償を含む低減されたVBG’行列525Iを転置ユニット522に出力することができる。エネルギー補償を含む低減されたVBG’行列525Iの出力次元は、下の式であり得る。
[0871]いくつかの例では、低減されたVBG’行列525Iおよび完全VBG行列525Hのそれぞれの列の各RMSを決定するために、次数低減およびエネルギー保存ユニット528Fはまず、基準球面調和係数(SHC)レンダラを列に適用することができる。次数低減およびエネルギー保存ユニット528Fによる基準SHCレンダラの適用は、低減されたVBG’行列525Iおよび完全VBG行列525Hによって表されるフレームの各列によって記述される音場全体のエネルギーを決定するために、SHC領域におけるRMSの決定を可能にする。したがって、そのような例では、次数低減およびエネルギー保存ユニット528Fは、完全VBG行列525Hの各列に、および、低減されたVBG’行列525Iの各低減された列に基準SHCレンダラを適用し、列および低減された列のためのそれぞれのRMS値を決定し、列のためのRMS値と低減された列へのRMS値との比として、列のための増幅値を決定することができる。いくつかの例では、低減されたVBG’行列525Iへの次数低減は、エネルギー保存と同時発生的に列方向に進む。これは、次のように擬似コードで表され得る:
R = ReferenceRenderer;
for m = numDist+1 : numChannels
fullV = V(:,m); // Vの1列を取る => fullV
reducedV =[fullV(1:numBG); zeros(numChannels-numBG,1)];
alpha=sqrt( sum((fullV'*R).^2)/sum((reducedV'*R).^2) );
if isnan(alpha) || isinf(alpha), alpha = 1; end;
V_out(:,m) = reducedV * alpha;
End
[0872]上の擬似コードでは、numChannelsは、(N+1)2−Dを表すことができ、numBGは、下の式を表すことができ、
Vは、VBG行列525Hを表すことができ、V_outは、低減されたVBG’行列525Iを表すことができ、Rは、次数低減およびエネルギー保存ユニット528Fの基準SHCレンダラを表すことができる。Vの次元は、(N+1)2×(N+1)2−Dであり得、V_outの次元は、下の式であり得る。
[0873]結果として、オーディオ符号化デバイス510Fは、複数の球面調和係数511を表すとき、次数低減プロセスの結果として損失され得るエネルギーの補償を含む、次数低減されたVBG’行列525Iを使用して、バックグラウンド音声成分を再構築することができる。
[0874]図40Gは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法のある態様を実行し得る例示的なオーディオ符号化デバイス510Gを示すブロック図である。図40Gの例では、オーディオ符号化デバイス510Gは、音場成分抽出ユニット520Fを含む。今度は、音場成分抽出ユニット520Fは、顕著成分分析ユニット524Gを含む。
[0875]ただし、オーディオ符号化デバイス510Gのオーディオ圧縮ユニット512は、オーディオ符号化デバイス510Gのオーディオ圧縮ユニット512が顕著成分分析ユニット524Gを含む点において、オーディオ符号化デバイス10Fのオーディオ圧縮ユニット512とは異なり得る。顕著成分分析ユニット524Gは、オーディオデータと関連付けられる指向性ベースの情報を使用して、音場を表すオーディオデータの顕著さまたは明瞭性を決定するように構成されるユニットを表し得る。
[0876]エネルギーベースの決定は、音場の明瞭なオーディオ成分を識別するためにSVDによって分解された音場のレンダリングを改善し得るが、バックグラウンドオーディオ成分が高いエネルギーレベルを示す場合は、エネルギーベースの決定はまた、デバイスに、明瞭なオーディオ成分としてバックグラウンドオーディオ成分を誤って識別させることがある。すなわち、エネルギーのみに基づいて明瞭なオーディオ成分とバックグラウンドオーディオ成分とを分離することは、高エネルギーの(たとえば、より大きい)バックグラウンドオーディオ成分が明瞭なオーディオ成分として誤って識別されることがあるので、安定的ではないことがある。音場の明瞭なオーディオ成分とバックグラウンドオーディオ成分とをより安定的に区別するために、本開示で説明される技法の様々な態様は、顕著成分分析ユニット524Gに、SHC511の分解されたバージョンから明瞭なオーディオ成分とバックグラウンドオーディオ成分とを分離するためにSHC511の指向性ベースの分析を実行させることができる。
[0877]顕著成分分析ユニット524Gは、図40Hの例では、以前に説明されたオーディオ符号化デバイス510〜510Fの顕著成分分析ユニット524に類似して、V行列519、S行列519B、およびU行列519Cのうちの1つまたは複数に含まれるバックグラウンド要素から、明瞭な(またはフォアグラウンド)要素を分離するように構成されるか、またはさもなければ動作可能なユニットを表す。いくつかのSVDベースの技法に従って、最も高エネルギーの成分(たとえば、V、SおよびU行列519〜519Cまたはそれらから導出された行列のうちの1つまたは複数の最初のいくつかのベクトル)は、明瞭な成分として扱われ得る。しかしながら、行列519〜519Cのうちの1つまたは複数の最も高エネルギーの成分(ベクトルによって表される)は、すべての状況において、最も指向性のある成分/信号を表すとは限らない。
[0878]以前に説明された顕著成分分析ユニット524とは異なり、顕著成分分析ユニット524Gは、行列519〜519Cまたはそれらから導出された行列のうちの1つまたは複数のベクトルの指向性に基づいて、フォアグラウンド要素を識別するために、本明細書で説明される技法の1つまたは複数の態様を実施することができる。いくつかの例では、顕著成分分析ユニット524Gは、ベクトルのエネルギーと指向性の両方に基づいて、1つまたは複数のベクトルを明瞭なオーディオ成分として識別または選択することができる(ここで、成分は「オブジェクト」とも呼ばれ得る)。たとえば、顕著成分分析ユニット524Gは、行列519〜519C(またはそれらから導出された行列)の1つまたは複数のベクトルのうち、高いエネルギーと(たとえば、指向性指数として表される)高い指向性の両方を示すものを、明瞭なオーディオ成分として識別することができる。結果として、特定のベクトルが行列519〜519C(またはそれらから導出された行列)のうちの1つまたは複数の他のベクトルと比較されると比較的指向性が小さいと顕著成分分析ユニット524Gが決定する場合、特定のベクトルと関連付けられるエネルギーレベルとは無関係に、顕著成分分析ユニット524Gは、その特定のベクトルがSHC511によって表される音場のバックグラウンド(または環境)オーディオ成分を表すと決定することができる。この点で、顕著成分分析ユニット524Gは、図4の例に示されるオーディオ符号化デバイス20の音場分析ユニット44に関して上で説明されたものに類似した動作を実行することができる。
[0879]いくつかの実装形態では、顕著成分分析ユニット524Gは、以下の演算を実行することによって、指向性に基づいて明瞭なオーディオオブジェクト(上で述べられたように、「成分」とも呼ばれ得る)を識別することができる。顕著成分分析ユニット524Gは、(たとえば、1つまたは複数の行列乗算プロセスを使用して)V行列519AをS行列519Bと乗算することができる。V行列519AをS行列519Bと乗算することによって、顕著成分分析ユニット524Gは、VS行列を得ることができる。加えて、顕著成分分析ユニット524Gは、VS行列の(行であり得る)ベクトルの各々の成分の少なくともいくつかを二乗する(すなわち、2という冪によって冪乗する)ことができる。いくつかの例では、顕著成分分析ユニット524Gは、1よりも大きい次数と関連付けられる各ベクトルの二乗された成分を加算することができる。一例として、行列の各ベクトルが25個の成分を含む場合、顕著成分分析ユニット524Gは、各ベクトルに関して、5番目の成分から始まり25番目の成分で終わるように各ベクトルの成分を二乗することができ、二乗された成分を加算して指向性指数(または指向性インジケータ)を決定する。各加算演算は、対応するベクトルの指向性指数をもたらし得る。この例では、顕著成分分析ユニット524Gは、1以下の次数と関連付けられる各行の成分、すなわち1番目から4番目の成分が、一般的にエネルギーの量をより対象としており、それらの成分の指向性はあまり対象としていないと、決定することができる。すなわち、0または1という次数と関連付けられる低次アンビソニックスは、図1および図2に示されるように、圧力波の方向に関して多くのことを提供せず、むしろ何らかの大きさ(これはエネルギーを表す)を提供する、球面基底関数に対応する。
[0880]上の例で説明される演算はまた、以下の擬似コードに従って表され得る。以下の擬似コードは、(引用符を伴わない)文字列「/*」および「*/」の連続する実例の中に含まれるコメント記述の形式の、注釈を含む。
[U,S,V] = svd(audioframe,'ecom');
VS = V*S;
/*次の行は、各行を独立に分析することと、対応するベクトルの指向性指数または指向性尺度を決定するために5番目の成分から25番目の成分まで(一例として)第1の行の中の値を加算することとを対象とする。加算の前に成分を二乗する。1よりも大きい次数と関連付けられる各行の中の成分は、高次アンビソニックスと関連付けられるので、指向性がある可能性がより高い。*/
sumVS = sum(VS(5:end,:).^2,1);
/*次の行は、生成されたVS行列の二乗の合計をソートすることと、最大の値のセット(たとえば、最大の値の3つまたは4つ)を選択することとを対象とする*/
[~,idxVS] = sort(sumVS,'descend');
U = U(:,idxVS);
V = V(:,idxVS);
S = S(idxVS,idxVS);
[0881]言い換えれば、上の擬似コードに従って、顕著成分分析ユニット524Gは、SHC511のうちで1よりも大きい次数を有する球面基底関数に対応するものから分解されたVS行列の各ベクトルの成分を選択することができる。顕著成分分析ユニット524Gは次いで、VS行列の各ベクトルのこれらの成分を二乗することができ、二乗された成分を加算して、VS行列の各ベクトルの指向性尺度または指向性指数を識別し、計算し、または別様に決定する。次に、顕著成分分析ユニット524Gは、ベクトルの各々のそれぞれの指向性尺度に基づいて、VS行列のベクトルをソートすることができる。顕著成分分析ユニット524Gは、最高の対応する指向性をもつベクトルが最初になり、最低の対応する指向性をもつベクトルが最後となるように、指向性尺度の降順でこれらのベクトルをソートすることができる。顕著成分分析ユニット524Gは次いで、最高の相対的な指向性尺度を有するベクトルの0ではないサブセットを選択することができる。
[0882]本明細書で説明される技法のいくつかの態様によれば、オーディオ符号化デバイス510G、またはその1つもしくは複数の構成要素は、明瞭なオーディオ成分として、VS行列のあらかじめ決定された数のベクトルを識別し、または別様に使用することができる。たとえば、VS行列の各行の成分5から25を選択し、各それぞれのベクトルのための相対的な指向性尺度を決定するために、選択された成分を二乗および加算した後、顕著成分分析ユニット524Gは、明瞭なオーディオ成分を表すベクトルを識別するために、ベクトルの中でさらなる選択を実施することができる。いくつかの例では、顕著成分分析ユニット524Gは、ベクトルの指向性指数を比較することによって、VS行列のあらかじめ決定された数のベクトルを選択することができる。一例として、顕著成分分析ユニット524Gは、は、4つの最高の指向性指数を有する(および、ソートされたVS行列の最初の4つのベクトルである)、VS行列において表された4つのベクトルを選択することができる。今度は、顕著成分分析ユニット524Gは、4つの選択されたベクトルが、音場の対応するSHC表現と関連付けられる4つの最も明瞭なオーディオオブジェクトを表すと決定することができる。
[0883]いくつかの例では、顕著成分分析ユニット524Gは、上で説明されたように、4つの選択されたベクトルの明瞭性を反映するために、VS行列から導出されたベクトルを再順序付けることができる。一例では、顕著成分分析ユニット524Gは、4つの選択された成分がVS行列の最上位に再配置されるように、ベクトルを再順序付けることができる。たとえば、顕著成分分析ユニット524Gは、4つの選択された成分のすべてが、得られる再順序付けられたVS行列の最初(または最上)の行に配置されるように、VS行列を修正することができる。顕著成分分析ユニット524Gに関して本明細書で説明されるが、様々な実装形態では、ベクトル再順序付けユニット532など、オーディオ符号化デバイス510Gの他の構成要素が再順序付けを実行することができる。
[0884]顕著成分分析ユニット524Gは、得られる行列(すなわち、場合によって、再順序付けられるか、またはそうでないVS行列)を、ビットストリーム生成ユニット516に通信することができる。今度は、ビットストリーム生成ユニット516は、ビットストリーム517を生成するためにVS行列525Kを使用することができる。たとえば、顕著成分分析ユニット524GがVS行列525Kを再順序付けた場合、ビットストリーム生成ユニット516は、VS行列525Kの再順序付けられたバージョンの残りのベクトルを量子化または廃棄することによってなど、VS行列525Kの再順序付けられたバージョンの最上行を明瞭なオーディオオブジェクトとして使用することができる。VS行列525Kの再順序付けられたバージョンの残りのベクトルを量子化することによって、ビットストリーム生成ユニット16は、残りのベクトルを環境またはバックグラウンドオーディオデータとして扱うことができる。
[0885]顕著成分分析ユニット524GがVS行列525Kを再順序付けていない例では、ビットストリーム生成ユニット516は、顕著成分分析ユニット524Gによって選択されるような、VS行列525Kの各行の特定の成分(たとえば、5番目から25番目の成分)に基づいて、明瞭なオーディオデータをバックグラウンドオーディオデータと区別することができる。たとえば、ビットストリーム生成ユニット516は、VS行列525Kの各行の最初の4つの成分を量子化または廃棄することによって、ビットストリーム517を生成することができる。
[0886]このようにして、オーディオ符号化デバイス510G、および/または、顕著成分分析ユニット524Gなど、その構成要素は、音場を表す明瞭なオーディオオブジェクトとバックグラウンドオーディオデータとの間で区別するために、オーディオデータのより高い係数のエネルギーとより低い係数のエネルギーとの比を決定し、または別様に利用するために、本開示の技法を実施することができる。たとえば、説明されたように、顕著成分分析ユニット524Gは、顕著成分分析ユニット524Hによって生成されたVS行列525Kの様々な成分の値に基づいて、エネルギー比を利用することができる。V行列519AとS行列519Bとによって提供されたデータを組み合わせることによって、顕著成分分析ユニット524Gは、ベクトルおよび関係するデータ(たとえば、指向性指数)の形態で、オーディオデータの様々な成分の指向性と全体的なエネルギーの両方の情報を提供するために、VS行列525Kを生成することができる。より具体的には、V行列519Aは、指向性決定に関係する情報を提供することができるが、S行列519Bは、オーディオデータの成分のための全体的なエネルギー決定に関係する情報を提供することができる。
[0887]他の例では、顕著成分分析ユニット524Gは、再順序付けられたVT DISTベクトル539を使用して、VS行列525Kを生成することができる。これらの例では、顕著成分分析ユニット524Gは、S行列519Bに基づくいかなる修正の前にも、V行列519に基づいて明瞭性を決定することができる。言い換えれば、これらの例によれば、顕著成分分析ユニット524Gは、VS行列525Kを生成するステップを実行することなく、V行列519のみを使用して、指向性を決定することができる。より具体的には、V行列519Aは、オーディオデータの成分(たとえば、V行列519のベクトル)がミキシングされる方式の情報と、潜在的に、ベクトルによって伝達されるデータの様々な相乗効果の情報とを提供することができる。たとえば、V行列519Aは、EigenMike(登録商標)によってオーディオ符号化デバイス510Gに中継されるような、各オーディオ成分の到来方向など、ベクトルによって表される様々なオーディオ成分の「到来方向」の情報を提供することができる。本明細書で使用される場合、「オーディオデータの成分」という用語は、行列519またはそれらから導出された任意の行列のいずれかの「成分」と互換的に使用され得る。
[0888]本開示の技法のいくつかの実装形態によれば、顕著成分分析ユニット524Gは、本明細書で説明される様々な決定を行うために、外部情報でSHC表現を補足または補強することができる。一例として、顕著成分分析ユニット524Gは、行列519〜519Cに表された様々なオーディオ成分の顕著さを決定するために、外部情報でSHCを補強することができる。別の例として、顕著成分分析ユニット524Gおよび/またはベクトル再順序付けユニット532は、明瞭なオーディオオブジェクトとバックグラウンドオーディオデータとの間で区別するために、外部データでHOAを補強することができる。
[0889]いくつかの例では、顕著成分分析ユニット524Gは、オーディオデータの部分(たとえば、明瞭なオーディオオブジェクト)がケインズ的エネルギー(Keynesian energy)を示すことを検出することができる。そのような明瞭なオブジェクトの一例は、変調する人間の音声と関連付けられ得る。変調する音声ベースのオーディオデータの場合、顕著成分分析ユニット524Gは、変調するデータのエネルギーが、残りの成分のエネルギーの比として、ほぼ一定(たとえば、閾値範囲内で一定)のままであるか、または経時的にほぼ静止したままであると決定することができる。従来は、ケインズ的エネルギーをもつ明瞭なオーディオ成分のエネルギー特性(たとえば、変調する音声と関連付けられるもの)が、あるオーディオフレームから別のオーディオフレームへと変化する場合、デバイスは、一連のオーディオ成分を単一の信号として識別することができないことがある。しかしながら、顕著成分分析ユニット524Gは、様々な行列においてベクトルとして表された明瞭なオブジェクトの指向性または開口を決定するために、本開示の技法を実施することができる。
[0890]より具体的には、顕著成分分析ユニット524Gは、指向性および/または開口などの特性がオーディオフレームにわたって実質的に変化する可能性が低いと決定することができる。本明細書で使用される場合、開口は、オーディオデータ内の、高次係数と低次係数との比を表す。V行列519Aの各行は、特定のSHCに対応するベクトルを含み得る。顕著成分分析ユニット524Gは、低次SHC(たとえば、1以下の次数と関連付けられる)が環境データを表す傾向があるが、高次成分が明瞭なデータを表す傾向があると決定することができる。加えて、顕著成分分析ユニット524Gは、多くの例では、高次SHC(たとえば、1よりも大きい次数と関連付けられる)がより大きいエネルギーを示すことと、高次SHCと低次SHCとのエネルギー比がオーディオフレームとオーディオフレームの間で実質的に類似した(または、ほぼ一定の)ままであることとを決定することができる。
[0891]顕著成分分析ユニット524Gの1つまたは複数の構成要素は、V行列519を使用して、指向性および開口など、オーディオデータの特性を決定することができる。このようにして、顕著成分分析ユニット524Gなど、オーディオ符号化デバイス510Gの構成要素は、指向性ベースの情報を使用して、顕著さを決定し、および/または明瞭なオーディオオブジェクトをバックグラウンドオーディオと区別するために、本明細書で説明される技法を実施することができる。顕著さおよび/または明瞭性を決定するために指向性を使用することによって、顕著成分分析ユニット524Gは、エネルギーベースのデータのみを使用して顕著さおよび/または明瞭性を決定するように構成されるデバイスの場合よりも、安定的な決定に達することができる。顕著さおよび/または明瞭性の指向性ベースの決定に関して上で説明されたが、顕著成分分析ユニット524Gは、行列519〜519C(または、それらから導出された任意の行列)のうちの1つまたは複数のベクトルによって表されるような、オーディオデータの特定の成分の顕著さおよび/または明瞭性を決定するために、エネルギーなどの他の特性に加えて指向性を使用するために、本開示の技法を実施することができる。
[0892]いくつかの例では、方法は、オーディオオブジェクトの1つまたは複数に対して決定された指向性に基づいて、オーディオオブジェクトと関連付けられる1つまたは複数の球面調和係数(SHC)から1つまたは複数の明瞭なオーディオオブジェクトを識別することを含む。一例では、方法は、オーディオオブジェクトと関連付けられる球面調和係数に基づいて、1つまたは複数のオーディオオブジェクトの指向性を決定することをさらに含む。いくつかの例では、方法は、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、球面調和係数に関して特異値分解を実行することと、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として複数の球面調和係数を表すこととをさらに含み、1つまたは複数のオーディオオブジェクトのそれぞれの指向性を決定することが、少なくとも一部V行列に基づく。
[0893]一例では、方法は、再順序付けられたV行列においてより大きい指向性指数を有するベクトルがより小さい指向性指数を有するベクトルよりも上に配置されるように、V行列の1つまたは複数のベクトルを再順序付けることをさらに含む。一例では、方法は、より大きい指向性指数を有するベクトルがより小さい指向性指数を有するベクトルよりも多くの指向性情報を含むと決定することをさらに含む。一例では、方法は、VS行列を生成するためにV行列をS行列と乗算することをさらに含み、VS行列が1つまたは複数のベクトルを含む。一例では、方法は、1よりも大きい次数と関連付けられるVS行列の各行の成分を選択することと、対応する二乗された成分を形成するために、選択された成分の各々を二乗することと、VS行列の各行に対して、対応するベクトルの指向性指数を決定するために、二乗された成分のすべてを加算することとをさらに含む。
[0894]いくつかの例では、VS行列の各行は、25個の成分を含む。一例では、1よりも大きい次数と関連付けられるVS行列の各行の成分を選択することは、VS行列の各行の5番目の成分において開始しVS行列の各行の25番目の成分において終了するすべての成分を選択することを含む。一例では、方法は、明瞭なオーディオオブジェクトを表すためにVS行列のベクトルのサブセットを選択することをさらに含む。いくつかの例では、サブセットを選択することは、VS行列の4つのベクトルを選択することを含み、選択された4つのベクトルは、VS行列のベクトルのすべての4つの最大の指向性指数を有する。一例では、ベクトルの選択されたサブセットが明瞭なオーディオオブジェクトを表すと決定することは、各ベクトルの指向性とエネルギーの両方に基づく。
[0895]いくつかの例では、方法は、オーディオオブジェクトの1つまたは複数に対して決定された指向性とエネルギーとに基づいて、オーディオオブジェクトと関連付けられる1つまたは複数の球面調和係数から1つまたは複数の明瞭なオーディオオブジェクトを識別することを含む。一例では、方法は、オーディオオブジェクトと関連付けられる球面調和係数に基づいて、1つまたは複数のオーディオオブジェクトの指向性とエネルギーの一方または両方を決定することをさらに含む。いくつかの例では、方法は、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す球面調和係数に関して特異値分解を実行することと、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として複数の球面調和係数を表すこととをさらに含み、1つまたは複数のオーディオオブジェクトのそれぞれの指向性を決定することが、少なくとも一部V行列に基づき、1つまたは複数のオーディオオブジェクトのそれぞれのエネルギーを決定することが、少なくとも一部S行列に基づく。
[0896]一例では、方法は、VS行列を生成するためにV行列をS行列と乗算することをさらに含み、VS行列が1つまたは複数のベクトルを含む。いくつかの例では、方法は、1よりも大きい次数と関連付けられるVS行列の各行の成分を選択することと、対応する二乗された成分を形成するために選択された成分の各々を二乗することと、VS行列の各行に対して、VS行列の対応するベクトルの指向性指数を生成するために、二乗された成分のすべてを加算することとをさらに含む。いくつかの例では、VS行列の各行は、25個の成分を含む。一例では、1よりも大きい次数と関連付けられるVS行列の各行の成分を選択することは、VS行列の各行の5番目の成分において開始しVS行列の各行の25番目の成分において終了するすべての成分を選択することを備える。いくつかの例では、方法は、明瞭なオーディオオブジェクトを表すためにベクトルのサブセットを選択することをさらに含む。一例では、サブセットを選択することは、VS行列の4つのベクトルを選択することを備え、選択された4つのベクトルは、VS行列のベクトルのすべての4つの最大の指向性指数を有する。いくつかの例では、ベクトルの選択されたサブセットが明瞭なオーディオオブジェクトを表すと決定することは、各ベクトルの指向性とエネルギーの両方に基づく。
[0897]いくつかの例では、方法は、指向性ベースの情報を使用して、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを決定することを含み、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、複数の球面調和係数に関して変換を実行することによって生成される。一例では、変換は、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成する、特異値分解を備える。一例では、変換は、音場の明瞭な成分と音場のバックグラウンド成分とを識別するための主成分分析を備える。
[0898]いくつかの例では、デバイスは、本明細書で説明される技法のいずれか、またはそれらの技法の任意の組合せを実行するように構成されるか、またはさもなければ動作可能である。いくつかの例では、コンピュータ可読記憶媒体は、実行されると、1つまたは複数のプロセッサに、本明細書で説明される技法のいずれか、またはそれらの技法の任意の組合せを実行させる命令とともに符号化される。いくつかの例では、デバイスは、本明細書で説明される技法のいずれか、またはそれらの技法の任意の組合せを実行するための手段を含む。
[0899]すなわち、本技法の上記の態様は、オーディオ符号化デバイス510Gが、次の項に従って動作するように構成されることを可能にすることができる。
[0900]134954−1B項。オーディオ符号化デバイス510Gなどのデバイスであって、オーディオオブジェクトの1つまたは複数に対して決定された指向性とエネルギーとに基づいて、オーディオオブジェクトと関連付けられる1つまたは複数の球面調和係数から1つまたは複数の明瞭なオーディオオブジェクトを識別するように構成される1つまたは複数のプロセッサを備えるデバイス。
[0901]134954−2B項。1つまたは複数のプロセッサが、オーディオオブジェクトと関連付けられる球面調和係数に基づいて、1つまたは複数のオーディオオブジェクトの指向性とエネルギーの一方または両方を決定するようにさらに構成される、134954−1B項のデバイス。
[0902]134954−3B項。1つまたは複数のプロセッサが、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、音場を表す球面調和係数に関して特異値分解を実行することと、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として複数の球面調和係数を表すこととを行うようにさらに構成され、1つまたは複数のプロセッサが、少なくとも一部V行列に基づいて、1つまたは複数のオーディオオブジェクトのそれぞれの指向性を決定するように構成され、1つまたは複数のプロセッサが、少なくとも一部S行列に基づいて、1つまたは複数のオーディオオブジェクトのそれぞれのエネルギーを決定するように構成される、請求項1Bまたは2Bまたはそれらの組合せのいずれかのデバイス。
[0903]134954−4B項。1つまたは複数のプロセッサが、VS行列を生成するためにV行列をS行列と乗算するようにさらに構成され、VS行列が1つまたは複数のベクトルを含む、134954−3B項のデバイス。
[0904]134954−5B項。1つまたは複数のプロセッサが、1よりも大きい次数と関連付けられるVS行列の各行の成分を選択することと、対応する二乗された成分を形成するために、選択された成分の各々を二乗することと、VS行列の各行に対して、VS行列の対応するベクトルの指向性指数を生成するために、二乗された成分のすべてを加算することとを行うようにさらに構成される、134954−4B項のデバイス。
[0905]134954−6B項。VS行列の各行が25個の成分を含む、請求項5Bおよび6Bまたはそれらの組合せのいずれかのデバイス。
[0906]134954−7B項。1つまたは複数のプロセッサが、VS行列の各行の5番目の成分において開始しVS行列の各行の25番目の成分において終了するすべての成分を選択するように構成される、134954−6B項のデバイス。
[0907]134954−8B項。1つまたは複数のプロセッサが、明瞭なオーディオオブジェクトを表すためにベクトルのサブセットを選択するようにさらに構成される、134954−6B項および134954−7B項またはそれらの組合せのいずれかのデバイス。
[0908]134954−9B項。1つまたは複数のプロセッサが、VS行列の4つのベクトルを選択するように構成され、選択された4つのベクトルは、VS行列のベクトルのすべての4つの最大の指向性指数を有する、134954−8B項のデバイス。
[0909]134954−10B項。1つまたは複数のプロセッサが、ベクトルの選択されたサブセットが、各ベクトルの指向性とエネルギーの両方に基づいて明瞭なオーディオオブジェクトを表すと決定するようにさらに構成される、134954−8B項および134954−9B項またはそれらの組合せのいずれかのデバイス。
[0910]134954−1C項。オーディオ符号化デバイス510Gなどのデバイスであって、指向性ベースの情報を使用して、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを決定するように構成される1つまたは複数のプロセッサを備え、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、複数の球面調和係数に関して変換を実行することによって生成される、デバイス。
[0911]134954−2C項。変換が、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成する、特異値分解を備える、134954−1C項の方法。
[0912]134954−3C項。134954−1A項から134954−12A項、および134954−1B項から134954−9B項の任意の組合せによって記載される動作をさらに備える、134954−2C項の方法。
[0913]134954−4C項。変換が、音場の明瞭な成分と音場のバックグラウンド成分とを識別するための主成分分析を備える、134954−1C項の方法。
[0914]図40Hは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法のある態様を実行し得る例示的なオーディオ符号化デバイス510Hを示すブロック図である。オーディオ符号化デバイス510Hは、オーディオ符号化デバイス510Hがオーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを含む点において、オーディオ符号化デバイス510Gと類似であり得る。その上、オーディオ符号化デバイス510Hのオーディオ圧縮ユニット512は、オーディオ圧縮ユニット512が、オーディオ符号化デバイス510Gの同様のユニットに類似して動作し得る、分解ユニット518と音場成分抽出ユニット520Gとを含む点において、オーディオ符号化デバイス510Gのものと類似であり得る。いくつかの例では、オーディオ符号化デバイス510Hは、図40D〜図40Eに関して説明されるように、UDISTベクトル525C、UBGベクトル525D、VT DISTベクトル525E、およびVT BGベクトル525Jのうちのいずれかの1つまたは複数のベクトルを量子化するために、量子化ユニット534を含み得る。
[0915]ただし、オーディオ符号化デバイス510Hのオーディオ圧縮ユニット512は、オーディオ符号化デバイス510Hのオーディオ圧縮ユニット512が補間ユニット550として示される追加のユニットを含む点において、オーディオ符号化デバイス510Gのオーディオ圧縮ユニット512とは異なり得る。補間ユニット550は、図45および図45Bに関して以下でより詳細に説明されるように、第1のオーディオフレームおよび第2の時間的に後続のまたは先行するオーディオフレームのサブフレームから、第1のオーディオフレームのサブフレームを補間するユニットを表し得る。補間ユニット550は、この補間を実行することにおいて、分解ユニット518がSHC511を分解するために必要とされる程度を潜在的に低減することによって、(処理サイクルおよび/またはメモリ消費に関して)計算的な複雑さを低減することができる。この点で、補間ユニット550は、図4の例に示されるオーディオ符号化デバイス24の空間−時間的補間ユニット50に関して上で説明されたものに類似した動作を実行することができる。
[0916]すなわち、分解ユニット518によって実行される特異値分解は、潜在的に極めてプロセッサおよび/またはメモリ集約的であるが、また、いくつかの例では、特にSHC511の次数が増大するにつれて、SHC511を分解するために大量の時間を要する。(処理サイクルおよび/またはメモリ消費に関して)時間の量を低減し、SHC511の圧縮をより効率的にするために、本開示で説明される技法は、第1のオーディオフレームの1つまたは複数のサブフレームの補間を提供することができ、ここで、サブフレームの各々は、SHC511の分解されたバージョンを表し得る。フレーム全体に関してSVDを実行するのではなく、本技法は、分解ユニット518が第1のオーディオフレームの第1のサブフレームを分解し、V行列519’を生成することを可能にすることができる。
[0917]分解ユニット518はまた、第2のオーディオフレームの第2のサブフレームを分解することもでき、ここで、この第2のオーディオフレームは、第1のオーディオフレームに時間的に後続し、または時間的に先行し得る。分解ユニット518は、第2のオーディオフレームのこのサブフレームのためのV行列519’を出力することができる。補間ユニット550は次いで、第1のサブフレームおよび第2のサブフレームから分解されたV行列519’に基づいて、第1のオーディオフレームの残りのサブフレームを補間し、V行列519と、S行列519Bと、U行列519Cとを出力することができ、ここで、残りのサブフレームのための分解は、SHC511と、第1のオーディオフレームのためのV行列519Aと、第1のオーディオフレームの残りのサブフレームのための補間されたV行列519とに基づいて計算され得る。したがって、補間は、第1のオーディオフレームの残りのサブフレームのための分解の計算を回避することができる。
[0918]その上、上で述べられたように、U行列519Cは、フレームとフレームの間で連続的でなくてもよく、ここで、SHC511の第1のオーディオフレームから分解されたU行列519Cの明瞭な成分は、SHC511の第2のオーディオフレームから分解されたU行列519Cにおけるものとは異なる行および/または列で指定され得る。この補間を実行することによって、フレーム境界(または言い換えれば、SHC511のフレームへの区分)が原因でもたらされるあらゆるアーティファクトを低減し得る平滑化効果を線形補間が有し得るとすると、不連続性は低減され得る。この補間を実行するためにV行列519’を使用し、次いで、SHC511からの補間されたV行列519’に基づいて、U行列519Cを復元することは、U行列519Cを再順序付けることからのいかなる影響をも平滑化することができる。
[0919]演算において、補間ユニット550は、1つまたは複数のサブフレームのための分解された補間された球面調和係数を生成するために、第1のフレームに含まれる第1の複数の球面調和係数511の一部分の第1の分解、たとえばV行列519’と、第2のフレームに含まれる第2の複数の球面調和係数511の一部分の第2の分解、たとえばV行列519’とから、第1のオーディオフレームの1つまたは複数のサブフレームを補間することができる。
[0920]いくつかの例では、第1の分解は、第1の複数の球面調和係数511の部分の右特異ベクトルを表す第1のV行列519’を備える。同様に、いくつかの例では、第2の分解は、第2の複数の球面調和係数の部分の右特異ベクトルを表す第2のV行列519’を備える。
[0921]補間ユニット550は、第1のV行列519’および第2のV行列519’に基づいて、1つまたは複数のサブフレームに関して時間的補間を実行することができる。すなわち、補間ユニット550は、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’と、第2のオーディオフレームの第1のサブフレームから分解されたV行列519’とに基づいて、たとえば、第1のオーディオフレームのための4つの全サブフレームからの第2のサブフレームと、第3のサブフレームと、第4のサブフレームとを時間的に補間することができる。いくつかの例では、この時間的補間は、線形時間的補間であり、ここで、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’は、第1のオーディオフレームの第4のサブフレームを補間するときよりも、第1のオーディオフレームの第2のサブフレームを補間するときにより重く重み付けられる。第3のサブフレームを補間するとき、V行列519’は均等に重み付けられ得る。第4のサブフレームを補間するとき、第2のオーディオフレームの第1のサブフレームから分解されたV行列519’は、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’よりも重く重み付けられ得る。
[0922]言い換えれば、線形時間的補間は、補間されるべき第1のオーディオフレームのサブフレームのうちの1つの近接を仮定して、V行列519’に重み付けることができる。補間されるべき第2のサブフレームについて、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’は、補間されるべき第2のサブフレームへのその近接を仮定して、第2のオーディオフレームの第1のサブフレームから分解されたV行列519’よりも重く重み付けられる。重みは、V行列519’に基づいて第3のサブフレームを補間するとき、この理由のために等価であり得る。補間されるべき第4のサブフレームが、第1のオーディオフレームの第1のサブフレームよりも第2のオーディオフレームの第1のサブフレームにより近接しているとすると、第2のオーディオフレームの第1のサブフレームから分解されたV行列519’に適用される重みは、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’に適用されるものよりも大きくなり得る。
[0923]いくつかの例では、各オーディオフレームの第1のサブフレームのみが、補間を実行するために使用されるが、第1の複数の球面調和係数の部分は、第1の複数の球面調和係数511の4つのサブフレームのうちの2つを備え得る。これらの例および他の例において、第2の複数の球面調和係数511の部分は、第2の複数の球面調和係数511の4つのサブフレームのうちの2つを備える。
[0924]上で述べられたように、単一のデバイス、たとえばオーディオ符号化デバイス510Hは、補間を実行し、一方でまた、第1の複数の球面調和係数の部分の第1の分解を生成するために、第1の複数の球面調和係数の部分を分解することもできる。これらの例および他の例において、分解ユニット518は、第2の複数の球面調和係数の部分の第2の分解を生成するために、第2の複数の球面調和係数の部分を分解することができる。単一のデバイスに関して説明されるが、2つ以上のデバイスが本開示で説明される技法を実行することができ、ここで、本開示で説明される技法に従って、2つのデバイスのうちの1つは分解を実行し、それらのデバイスのうちの別のものは補間を実行する。
[0925]言い換えれば、球面調和ベースの3Dオーディオは、球面上の直交基底関数による3D圧力場のパラメトリックな表現であり得る。表現の次数Nが高いほど、空間分解能は高くなる可能性があり、(全体で(N+1)2個の係数に対して)球面調和(SH)係数の数は大きくなることが多い。多くの適用形態において、係数を効率的に送信し記憶することを可能にするために、係数の帯域幅圧縮が必要とされ得る。本開示において対象とされるこの技法は、特異値分解(SVD)を使用した、フレームベースの次元低減プロセスを提供することができる。SVD分析は、係数の各フレームを3つの行列U、S、およびVに分解することができる。いくつかの例では、本技法は、U中のベクトルのいくつかを、背後にある音場の指向性成分として扱うことができる。しかしながら、この方式で扱われると、(U中の)これらのベクトルは、それらが同じ明瞭なオーディオ成分を表すとしても、フレームとフレームの間で不連続である。これらの不連続性は、成分が変換オーディオコーダを通じて供給されるときに、重大なアーティファクトにつながり得る。
[0926]本開示で説明される技法は、この不連続性に対処し得る。すなわち、本技法は、球面調和関数領域における直交する空間軸としてV行列が解釈され得るという考察に基づき得る。U行列は、それらの基底関数によって球面調和関数(HOA)データの射影を表すことができ、ここで、不連続性は、フレームごとに変化ししたがってそれら自体が不連続である基底関数(V)に原因を帰すことができる。これは、基底関数がいくつかの例では複数のフレームにわたって一定であるフーリエ変換などの同様の分解とは異なる。これらの点で、SVDは、マッチング追跡アルゴリズムであると見なされ得る。本開示で説明される技法は、補間ユニット550が、フレームとフレームの間で基底関数(V)間の連続性を、それらの間で補間することによって保つことを可能にし得る。
[0927]いくつかの例では、本技法は、補間ユニット550が、上で説明され、図45および図45Bに関して以下でさらに説明されるように、SHデータのフレームを4つのサブフレームに分割することを可能にする。補間ユニット550は次いで、第1のサブフレームのためのSVDを計算することができる。同様に、我々は、第2のフレームの第1のサブフレームのためのSVDを計算する。第1のフレームおよび第2のフレームの各々について、補間ユニット550は、(T設計行列などの射影行列を使用して)ベクトルを球面上に射影することによって、V中のベクトルを空間マップに変換することができる。補間ユニット550は次いで、V中のベクトルを球面上の形状として解釈することができる。第1のフレームの第1のサブフレームと次のフレームの第1のサブフレームとの間の3つのサブフレームのためのV行列を補間するために、補間ユニット550は、次いで、これらの空間的な形状を補間し、および次いで、射影行列の逆行列を介して、それらをSHベクトルに戻すように変換することができる。本開示の技法は、このようにして、V行列間の平滑な遷移を提供することができる。
[0928]このようにして、オーディオ符号化デバイス510Hは、次の項に関して以下で記載される技法の様々な態様を実行するように構成され得る。
[0929]135054−1A項。オーディオ符号化デバイス510Hなどのデバイスであって、1つまたは複数のサブフレームのための分解された補間された球面調和係数を生成するために、第1のフレームに含まれる第1の複数の球面調和係数の一部分の第1の分解と、第2のフレームに含まれる第2の複数の球面調和係数の一部分の第2の分解とから、第1のフレームの1つまたは複数のサブフレームを補間するように構成される、1つまたは複数のプロセッサを備えるデバイス。
[0930]135054−2A項。第1の分解が、第1の複数の球面調和係数の部分の右特異ベクトルを表す第1のV行列を備える、135054−1A項のデバイス。
[0931]135054−3A項。第2の分解が、第2の複数の球面調和係数の部分の右特異ベクトルを表す第2のV行列を備える、135054−1A項のデバイス。
[0932]135054−4A項。第1の分解が、第1の複数の球面調和係数の部分の右特異ベクトルを表す第1のV行列を備え、第2の分解が、第2の複数の球面調和係数の部分の右特異ベクトルを表す第2のV行列を備える、135054−1A項のデバイス。
[0933]135054−5A項。1つまたは複数のプロセッサが、1つまたは複数のサブフレームを補間するとき、第1の分解および第2の分解に基づいて、1つまたは複数のサブフレームを時間的に補間するようにさらに構成される、135054−1A項のデバイス。
[0934]135054−6A項。1つまたは複数のプロセッサが、1つまたは複数のサブフレームを補間するとき、第1の射影された分解を生成するために、第1の分解を空間領域に射影することと、第2の射影された分解を生成するために、第2の分解を空間領域に射影することと、第1の空間的に補間された射影された分解と第2の空間的に補間された射影された分解とを生成するために、第1の射影された分解と第2の射影された分解とを空間的に補間することと、第1の空間的に補間された射影された分解と第2の空間的に補間された射影された分解とに基づいて、1つまたは複数のサブフレームを時間的に補間することとを行うようにさらに構成される、135054−1A項のデバイス。
[0935]135054−7A項。1つまたは複数のプロセッサが、1つまたは複数のサブフレームを補間することから生じる時間的に補間された球面調和係数を、球面調和関数領域に戻すように射影するようにさらに構成される、135054−6A項のデバイス。
[0936]135054−8A項。第1の複数の球面調和係数の部分が、第1の複数の球面調和係数の単一のサブフレームを備える、135054−1A項のデバイス。
[0937]135054−9A項。第2の複数の球面調和係数の部分が、第2の複数の球面調和係数の単一のサブフレームを備える、135054−1A項のデバイス。
[0938]135054−10A項。
第1のフレームが4つのサブフレームに分割され、
第1の複数の球面調和係数の部分が、第1の複数の球面調和係数の第1のサブフ
レームのみを備える、135054−1A項のデバイス。
[0941]135054−11A項。
第2のフレームが4つのサブフレームに分割され、
第2の複数の球面調和係数の部分が、第2の複数の球面調和係数の第1のサブフ
レームのみを備える、135054−1A項のデバイス。
[0944]135054−12A項。第1の複数の球面調和係数の部分が、第1の複数の球面調和係数の4つのサブフレームのうちの2つを備える、135054−1A項のデバイス。
[0945]135054−13A項。第2の複数の球面調和係数の部分が、第2の複数の球面調和係数の4つのサブフレームのうちの2つを備える、135054−1A項のデバイス。
[0946]135054−14A項。1つまたは複数のプロセッサが、第1の複数の球面調和係数の部分の第1の分解を生成するために、第1の複数の球面調和係数の部分を分解するようにさらに構成される、135054−1A項のデバイス。
[0947]135054−15A項。1つまたは複数のプロセッサが、第2の複数の球面調和係数の部分の第2の分解を生成するために、第2の複数の球面調和係数の部分を分解するようにさらに構成される、135054−1A項のデバイス。
[0948]135054−16A項。1つまたは複数のプロセッサが、第1の複数の球面調和係数の左特異ベクトルを表すU行列と、第1の複数の球面調和係数の特異値を表すS行列と、第1の複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、第1の複数の球面調和係数の部分に関して特異値分解を実行するようにさらに構成される、135054−1A項のデバイス。
[0949]135054−17A項。1つまたは複数のプロセッサが、第2の複数の球面調和係数の左特異ベクトルを表すU行列と、第2の複数の球面調和係数の特異値を表すS行列と、第2の複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、第2の複数の球面調和係数の部分に関して特異値分解を実行するようにさらに構成される、135054−1A項のデバイス。
[0950]135054−18A項。第1の複数の球面調和係数および第2の複数の球面調和係数が各々、音場の平面波表現を表す、135054−1A項のデバイス。
[0951]135054−19A項。第1の複数の球面調和係数および第2の複数の球面調和係数が各々、一緒にミキシングされた1つまたは複数のモノラルオーディオオブジェクトを表す、135054−1A項のデバイス。
[0952]135054−20A項。第1の複数の球面調和係数および第2の複数の球面調和係数が各々、3次元音場を表すそれぞれの第1の球面調和係数および第2の球面調和係数を備える、135054−1A項のデバイス。
[0953]135054−21A項。第1の複数の球面調和係数および第2の複数の球面調和係数が各々、1よりも大きい次数を有する少なくとも1つの球面基底関数と関連付けられる、135054−1A項のデバイス。
[0954]135054−22A項。第1の複数の球面調和係数および第2の複数の球面調和係数が各々、4に等しい次数を有する少なくとも1つの球面基底関数と関連付けられる、135054−1A項のデバイス。
[0955]オーディオ符号化デバイス510Hによって実行されるものとして上で説明されたが、様々なオーディオ複号デバイス24および540もまた、135054−1A項から135054−22A項に関して上で記載された技法の様々な態様のいずれかを実行することができる。
[0956]図40Iは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法のある態様を実行し得る例示的なオーディオ符号化デバイス510Iを示すブロック図である。オーディオ符号化デバイス510Iは、オーディオ符号化デバイス510Iがオーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを含む点において、オーディオ符号化デバイス510Hと類似であり得る。その上、オーディオ符号化デバイス510Iのオーディオ圧縮ユニット512は、オーディオ圧縮ユニット512が、オーディオ符号化デバイス510Hの同様のユニットに類似して動作し得る、分解ユニット518と音場成分抽出ユニット520とを含む点において、オーディオ符号化デバイス510Hのものと類似であり得る。いくつかの例では、オーディオ符号化デバイス10Iは、図3D〜図3Eに関して説明されるように、UDIST25C、UBG25D、VT DIST25E、およびVT BG25Jのうちのいずれかの1つまたは複数のベクトルを量子化するために、量子化ユニット34を含み得る。
[0957]ただし、オーディオ符号化デバイス510Iのオーディオ圧縮ユニット512と、オーディオ符号化デバイス10Hのオーディオ圧縮ユニット512の両方は、音場成分抽出ユニットを含むが、オーディオ符号化デバイス510Iの音場成分抽出ユニット520Iは、V圧縮ユニット552と呼ばれる追加のモジュールを含み得る。V圧縮ユニット552は、音場の空間成分、すなわちこの例ではVT DISTベクトル539のうちの1つまたは複数を圧縮するように構成されるユニットを表し得る。すなわち、SHCに関して実行される特異値分解は、SHC(音場を表す)を、S行列のベクトルによって表されるエネルギー成分と、U行列によって表される時間成分と、V行列によって表される空間成分とに分解することができる。V圧縮ユニット552は、量子化ユニット52に関して上で説明されたものと同様の動作を実行することができる。
[0958]例示の目的で、VT DISTベクトル539は、各々25個の要素を有する(これは音場の4次のHOA表現を示唆する)2つの行ベクトルを備えると仮定される。2つの行ベクトルに関して説明されるが、最大で(n+1)2個までの任意の数のベクトルがVT DISTベクトル539に含まれてよく、ただし、nは音場のHOA表現の次数を示す。
[0959]V圧縮ユニット552は、VT DISTベクトル539を受信し、圧縮されたVT DISTベクトル表現539’を生成するために、圧縮スキームを実行することができる。この圧縮スキームは、ベクトルまたはデータの要素を圧縮するための任意の想起可能な圧縮スキームを全般に含んでよく、以下でより詳細に説明される例に限定されるべきではない。
[0960]V圧縮ユニット552は、ある例として、VT DISTベクトル539の各要素の浮動小数点表現をVT DISTベクトル539の各要素の整数表現へと変換すること、VT DISTベクトル539の整数表現の一様量子化、および、VT DISTベクトル539の量子化された整数表現の分類とコーディングの1つまたは複数を含む、圧縮スキームを実行することができる。この圧縮スキームの1つまたは複数のプロセスの様々なものが、一例として、得られるビットストリーム517の目標ビットレートを達成するために、またはほぼ達成するために、パラメータによって動的に制御され得る。
[0961]VT DISTベクトル539の各々が互いに正規直交であるとすると、VT DISTベクトル539の各々は独立にコーディングされ得る。いくつかの例では、以下でより詳細に説明されるように、各VT DISTベクトル539の各要素は、(様々なサブモードによって定義される)同じコーディングモードを使用してコーディングされ得る。
[0962]いずれにしても、上で述べられたように、このコーディングスキームはまず、VT DISTベクトル539の各々の各要素の浮動小数点表現(これは、いくつかの例では32ビットの浮動小数点数である)を16ビットの整数表現に変換することを伴い得る。V圧縮ユニット552は、VT DISTベクトル539の所与の1つの各要素を215と乗算することによって、この浮動小数点から整数への変換を実行することができ、これはいくつかの例では、15だけ右シフトすることによって実行される。
[0963]V圧縮ユニット552は次いで、VT DISTベクトル539の所与の1つの要素のすべてに関して一様量子化を実行することができる。V圧縮ユニット552は、nbitsパラメータとして示され得る値に基づいて、量子化ステップサイズを識別することができる。V圧縮ユニット552は、目標ビットレートに基づいて、このnbitsパラメータを動的に決定することができる。V圧縮ユニット552は、このnbitsパラメータの関数として、量子化ステップサイズを決定することができる。一例として、V圧縮ユニット552は、216-nbitsに等しいものとして、量子化ステップサイズ(本開示では「デルタ」または「Δ」として示される)を決定することができる。この例では、nbitsが6に等しい場合、デルタは210に等しく、26個の量子化レベルがある。この点において、ベクトル要素vに対して、量子化されたベクトル要素vqは[v/Δ]に等しく、−2nbits-1<vq<2nbits-1である。
[0964]V圧縮ユニット552は次いで、量子化されたベクトル要素の分類と残差コーディングとを実行することができる。一例として、V圧縮ユニット552は、所与の量子化されたベクトル要素vqに対して、この要素が対応するカテゴリを(カテゴリ識別子cidを決定することによって)、次の式を使用して識別することができる:
V圧縮ユニット552は次いで、このカテゴリインデックスcidをハフマンコーディングし、一方で、vqが正の値か負の値かを示す符号ビットを識別することもできる。V圧縮ユニット552は次に、このカテゴリにおける残差を識別することができる。一例として、V圧縮ユニット552は、次の式
残差=|vq|−2cid-1
に従って、この残差を決定することができる。
V圧縮ユニット552は次いで、この残差をcid−1ビットによってブロックコーディングすることができる。
[0965]次の例は、この分類および残差コーディングプロセスの簡略化された例を示す。まず、nbitsが6に等しいのでvq∈[−31,31]であると仮定する。次に、次のことを仮定する。
また、次のことを仮定する。
したがって、vq=[6,−17,0,0,3]に対して、次のことが決定され得る。
>> cid = 3,5,0,0,2
>> 符号 = 1,0,x,x,1
>> 残差 = 2,1,x,x,1
>> 6に対するビット = ‘0010’ + ’1’ + ’10’
>> −17に対するビット = ‘00111’ + ’0’ + ‘0001’
>> 0に対するビット = ‘0’
>> 0に対するビット = ‘0’
>> 3に対するビット = ‘000’ + ‘1’ + ‘1’
>> 総ビット = 7+10+1+1+5 = 24
>> 平均ビット = 24/5 = 4.8
[0966]前述の簡略化された例には示されないが、V圧縮ユニット552は、cidをコーディングするとき、nbitsの異なる値に対して異なるハフマンコードブックを選択することができる。いくつかの例では、V圧縮ユニット552は、nbits値6,...,15に対して異なるハフマンコーディングテーブルを提供することができる。その上、V圧縮ユニット552は、全体で50個のハフマンコードブックに対して、6,...,15にわたる異なるnbits値の各々に対する5個の異なるハフマンコードブックを含み得る。この点において、V圧縮ユニット552は、いくつかの異なる統計的な状況においてcidのコーディングに対処するための、複数の異なるハフマンコードブックを含み得る。
[0967]説明するために、V圧縮ユニット552は、nbits値の各々に対して、1から4までのベクトル要素をコーディングするための第1のハフマンコードブックと、5から9までのベクトル要素をコーディングするための第2のハフマンコードブックと、9以上のベクトル要素をコーディングするための第3のハフマンコードブックとを含み得る。これらの最初の3つのハフマンコードブックは、圧縮されるべきVT DISTベクトル539の1つがVT DISTベクトル539の対応する時間的に後続のベクトルから予測されず、合成オーディオオブジェクト(たとえば、パルス符号変調(PCM)されたオーディオオブジェクトによって最初は定義されたもの)の空間情報を表さないときに、使用され得る。V圧縮ユニット552は追加で、nbits値の各々に対して、VT DISTベクトル539の1つがVT DISTベクトル539の対応する時間的に後続するベクトルから予測されるとき、VT DISTベクトル539のその1つをコーディングするための第4のハフマンコードブックを含み得る。V圧縮ユニット552はまた、nbits値の各々に対して、VT DISTベクトル539の1つが合成オーディオオブジェクトを表すとき、VT DISTベクトル539のその1つをコーディングするための第5のハフマンコードブックを含み得る。様々なハフマンコードブックが、これらの異なる統計的な状況の各々に対して、すなわちこの例では、予測されず合成ではない状況、予測される状況、および合成の状況に対して、構築され得る。
[0968]以下の表は、ハフマンテーブルの選択と、解凍ユニットが適切なハフマンテーブルを選択することを可能にするためにビットストリーム中で指定されるべきビットとを示す。
前述の表において、予測モード(「Predモード」)は、現在のベクトルに対して予測が実行されたかどうかを示し、一方でハフマンテーブル(「HT情報」)は、ハフマンテーブル1から5のうちの1つを選択するために使用される追加のハフマンコードブック(またはテーブル)情報を示す。
[0969]以下の表はさらに、様々な統計的な状況またはシナリオが与えられたときのこのハフマンテーブルの選択プロセスを示す。
前述の表において、「録音」列は、録音されたオーディオオブジェクトをベクトルが表すときのコーディング状況を示し、一方で「合成」列は、ベクトルが合成オーディオオブジェクトを表すときのコーディング状況を示す。「Predなし」行は、予測がベクトル要素に関して実行されないときのコーディング状況を示し、一方で「Predあり」行は、予測がベクトル要素に関して実行されるときのコーディング状況を示す。この表に示されるように、V圧縮ユニット552は、ベクトルが録音されたオーディオオブジェクトを表し、予測がベクトル要素に関して実行されないとき、HT{1,2,3}を選択する。V圧縮ユニット552は、オーディオオブジェクトが合成オーディオオブジェクトを表し、予測がベクトル要素に関して実行されないとき、HT5を選択する。V圧縮ユニット552は、ベクトルが録音されたオーディオオブジェクトを表し、予測がベクトル要素に関して実行されるとき、HT4を選択する。V圧縮ユニット552は、オーディオオブジェクトが合成オーディオオブジェクトを表し、予測がベクトル要素に関して実行されるとき、HT5を選択する。
[0970]このようにして、本技法は、オーディオ圧縮デバイスが、音場の空間成分を圧縮することを可能にすることができ、ここで、空間成分は、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
[0971]図43は、図40Iに示されるV圧縮ユニット552をより詳細に示す図である。図43の例では、V圧縮ユニット552は、一様量子化ユニット600と、nbitsユニット602と、予測ユニット604と、予測モードユニット606(「Predモードユニット606」)と、カテゴリおよび残差コーディングユニット608と、ハフマンテーブル選択ユニット610とを含む。一様量子化ユニット600は、図43の例においてvとして示される空間成分のうちの1つ(VT DISTベクトル539のうちの任意の1つを表し得る)に関して上で説明された一様量子化を実行するように構成されるユニットを表す。nbitsユニット602は、nbitsパラメータまたは値を決定するように構成されるユニットを表す。
[0972]予測ユニット604は、図43の例においてvqとして示される量子化された空間成分に関して予測を実行するように構成されるユニットを表す。予測ユニット604は、VT DISTベクトル539の対応する時間的に後続するベクトルによる、VT DISTベクトル539の現在のベクトルの要素ごとの減算を実行することによって、予測を実行することができる。この予測の結果は、予測された空間成分と呼ばれ得る。
[0973]予測モードユニット606は、予測モードを選択するように構成されるユニットを表し得る。ハフマンテーブル選択ユニット610は、cidのコーディングのための適切なハフマンテーブルを選択するように構成されるユニットを表し得る。予測モードユニット606およびハフマンテーブル選択ユニット610は、一例として、次の擬似コードに従って動作することができる。
For a given nbits, retrieve all the Huffman Tables having nbits
B00 = 0; B01 = 0; B10 = 0; B11 = 0; // コーディングモードごとに期待されるビットを計算するために初期化する
for m = 1:(# elements in the vector)
// ベクトル要素v(m)のための期待されるビットの数を計算する
// 予測なしでハフマンテーブル5を使用する
B00 = B00 + calculate_bits(v(m), HT5);
// 予測なしでハフマンテーブル{1,2,3}を使用する
B01 = B01 + calculate_bits(v(m), HTq); q in {1,2,3}
// 予測残差e(m)のための期待されるビットの数を計算する
e(m) = v(m) - vp(m); // vp(m): previous frame vector element
// 予測ありでハフマンテーブル4を使用する
B10 = B10 + calculate_bits(e(m), HT4);
// 予測ありでハフマンテーブル5を使用する
B11 = B11 + calculate_bits(e(m), HT5);
end
// 最小ビットを生じる最良の予測モードとハフマンテーブルとを発見する
// 最良の予測モードおよびハフマンテーブルに、それぞれpflagおよびHtflagによってフラグが付けられる
[Be, id] = min( [B00 B01 B10 B11] );
Switch id
case 1: pflag = 0; HTflag = 0;
case 2: pflag = 0; HTflag = 1;
case 3: pflag = 1; HTflag = 0;
case 4: pflag = 1; HTflag = 1;
end
[0974]カテゴリおよび残差コーディングユニット608は、上でより詳細に説明された方式で、予測された空間成分または量子化された空間成分(予測が無効化されるとき)の分類と残差コーディングとを実行するように構成されるユニットを表し得る。
[0975]図43の例に示されるように、V圧縮ユニット552は、ビットストリーム517またはサイド情報(それ自体がビットストリーム517とは別個のビットストリームであり得る)のいずれかに含めるために様々なパラメータまたは値を出力することができる。情報がビットストリーム517において指定されると仮定すると、V圧縮ユニット552は、この例では、cidを符号化するために選択されるハフマンコードと、符号ビットと、ブロックコーディングされた残差とを指し得る、空間成分の圧縮されたバージョン(図40Iの例では、圧縮された空間成分539’として示される)とともに、nbits値と、予測モードと、ハフマンテーブル情報とを、ビットストリーム生成ユニット516に出力することができる。nbits値は、VT DISTベクトル539のすべてについて、ビットストリーム517において一度指定され得るが、予測モードおよびハフマンテーブル情報は、VT DISTベクトル539の各1つずつについて指定され得る。空間成分の圧縮されたバージョンを指定するビットストリームの部分は、図10Bおよび図10Cの例に示されている。
[0976]このようにして、オーディオ符号化デバイス510Hは、次の項に関して以下で記載される技法の様々な態様を実行することができる。
[0977]141541−1A項。オーディオ符号化デバイス510Hなどのデバイスであって、音場の空間成分の圧縮されたバージョンを備えるビットストリームを取得するように構成される1つまたは複数のプロセッサを備え、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、デバイス。
[0978]141541−2A項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分を圧縮するときに使用される予測モードを指定するフィールドを使用して、ビットストリームにおいて表される、141541−1A項のデバイス。
[0979]141541−3A項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分を圧縮するときに使用されるハフマンテーブルを指定するハフマンテーブル情報を使用して、ビットストリームにおいて表される、141541−1A項および141541−2A項の任意の組合せのデバイス。
[0980]141541−4A項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す値を示すフィールドを使用して、ビットストリームにおいて表される、141541−1A項から141541−3A項の任意の組合せのデバイス。
[0981]141541−5A項。値がnbits値を備える、141541−4A項のデバイス。
[0982]141541−6A項。ビットストリームが、空間成分の圧縮されたバージョンが含まれる音場の複数の空間成分の圧縮されたバージョンを備え、値が、複数の空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す、141541−4A項および141541−5A項の任意の組合せのデバイス。
[0983]141541−7A項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分が対応する圧縮カテゴリを識別するカテゴリ識別子を表すためのハフマンコードを使用して、ビットストリームにおいて表される、141541−1A項から141541−6A項の任意の組合せのデバイス。
[0984]141541−8A項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分が正の値か負の値かを識別する符号ビットを使用して、ビットストリームにおいて表される、141541−1A項から141541−7A項の任意の組合せのデバイス。
[0985]141541−9A項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分の残差値を表すためのハフマンコードを使用して、ビットストリームにおいて表される、141541−1A項から141541−8A項の任意の組合せのデバイス。
[0986]141541−10A項。デバイスが、オーディオ符号化デバイス、ビットストリーム生成デバイスを備える、141541−1A項から141541−9A項の任意の組合せのデバイス。
[0987]141541−12A項。ベクトルベースの合成が特異値分解を備える、141541−1A項から141541−11A項の任意の組合せのデバイス。
[0988]オーディオ符号化デバイス510Hによって実行されるとして説明されるが、本技法はまた、オーディオ複号デバイス24および/または540のいずれかによっても実行され得る。
[0989]このようにして、オーディオ符号化デバイス510Hは、追加として、次の項に関して以下で記載される技法の様々な態様を実行することができる。
[0990]141541−1D項。オーディオ符号化デバイス510Hなどのデバイスであって、音場の空間成分の圧縮されたバージョンを備えるビットストリームを生成するように構成される1つまたは複数のプロセッサを備え、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、デバイス。
[0991]141541−2D項。1つまたは複数のプロセッサが、ビットストリームを生成するとき、空間成分を圧縮するときに使用される予測モードを指定するフィールドを含むように、ビットストリームを生成するようにさらに構成される、141541−1D項のデバイス。
[0992]141541−3D項。1つまたは複数のプロセッサが、ビットストリームを生成するとき、空間成分を圧縮するときに使用されるハフマンテーブルを指定するハフマンテーブル情報を含むように、ビットストリームを生成するようにさらに構成される、141541−1D項および141541−2D項の任意の組合せのデバイス。
[0993]141541−4D項。1つまたは複数のプロセッサが、ビットストリームを生成するとき、空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す値を含むフィールドを含むように、ビットストリームを生成するようにさらに構成される、141541−1D項から141541−3D項の任意の組合せのデバイス。
[0994]141541−5D項。値がnbits値を備える、141541−4D項のデバイス。
[0995]141541−6D項。1つまたは複数のプロセッサが、ビットストリームを生成するとき、空間成分の圧縮されたバージョンが含まれる音場の複数の空間成分の圧縮されたバージョンを含むように、ビットストリームを生成するようにさらに構成され、値が、複数の空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す、141541−4D項および141541−5D項の任意の組合せのデバイス。
[0996]141541−7D項。1つまたは複数のプロセッサが、ビットストリームを生成するとき、空間成分が対応する圧縮カテゴリを識別するカテゴリ識別子を表すためのハフマンコードを含むように、ビットストリームを生成するようにさらに構成される、141541−1D項から141541−6D項の任意の組合せのデバイス。
[0997]141541−8D項。1つまたは複数のプロセッサが、ビットストリームを生成するとき、空間成分が正の値か負の値かを識別する符号ビットを含むように、ビットストリームを生成するようにさらに構成される、141541−1D項から141541−7D項の任意の組合せのデバイス。
[0998]141541−9D項。1つまたは複数のプロセッサが、ビットストリームを生成するとき、空間成分の残差値を表すためのハフマンコードを含むように、ビットストリームを生成するようにさらに構成される、141541−1D項から141541−8D項の任意の組合せのデバイス。
[0999]141541−10D項。ベクトルベースの合成が特異値分解を備える、141541−1D項から141541−10D項の任意の組合せのデバイス。
[1000]オーディオ符号化デバイス510Hは、次の項に記載されるような技法の様々な態様を実施するようにさらに構成され得る。
[1001]141541−1E項。オーディオ符号化デバイス510Hなどのデバイスであって、音場の空間成分を圧縮するように構成される1つまたは複数のプロセッサを備え、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、デバイス。
[1002]141541−2E項。1つまたは複数のプロセッサが、空間成分を圧縮するとき、浮動小数点表現から整数表現へと空間成分を変換するようにさらに構成される、141541−1E項のデバイス。
[1003]141541−3E項。1つまたは複数のプロセッサが、空間成分を圧縮するとき、量子化ステップサイズを示す値を動的に決定することと、量子化された空間成分を生成するために、その値に基づいて空間成分を量子化することとを行うようにさらに構成される、141541−1E項および141541−2E項の任意の組合せのデバイス。
[1004]141541−4E項。1つまたは複数のプロセッサが、空間成分を圧縮するとき、空間成分が対応するカテゴリを識別するようにさらに構成される、請求項1E〜3Eの任意の組合せのデバイス。
[1005]141541−5E項。1つまたは複数のプロセッサが、空間成分を圧縮するとき、空間成分のための残差値を識別するようにさらに構成される、141541−1E項から141541−4E項の任意の組合せのデバイス。
[1006]141541−6E項。1つまたは複数のプロセッサが、空間成分を圧縮するとき、予測された空間成分を生成するために、空間成分および後続の空間成分に関して予測を実行するようにさらに構成される、141541−1E項から141541−5E項の任意の組合せのデバイス。
[1007]141541−7E項。1つまたは複数のプロセッサが、空間成分を圧縮するとき、浮動小数点表現から整数表現へと空間成分を変換することと、量子化ステップサイズを示す値を動的に決定することと、量子化された空間成分を生成するために、その値に基づいて空間成分の整数表現を量子化することと、カテゴリ識別子を生成するために、量子化された空間成分に基づいて、空間成分が対応するカテゴリを識別することと、空間成分の符号を決定することと、量子化された空間成分およびカテゴリ識別子に基づいて、空間成分のための残差値を識別することと、カテゴリ識別子、符号および残差値に基づいて、空間成分の圧縮されたバージョンを生成することとを行うようにさらに構成される、141541−1E項の任意の組合せのデバイス。
[1008]141541−8E項。1つまたは複数のプロセッサが、空間成分を圧縮するとき、浮動小数点表現から整数表現へと空間成分を変換することと、量子化ステップサイズを示す値を動的に決定することと、量子化された空間成分を生成するために、その値に基づいて空間成分の整数表現を量子化することと、予測された空間成分を生成するために、空間成分および後続の空間成分に関して予測を実行することと、カテゴリ識別子を生成するために、量子化された空間成分に基づいて、予測された空間成分が対応するカテゴリを識別することと、空間成分の符号を決定することと、量子化された空間成分およびカテゴリ識別子に基づいて、空間成分のための残差値を識別することと、カテゴリ識別子、符号および残差値に基づいて、空間成分の圧縮されたバージョンを生成することとを行うようにさらに構成される、141541−1E項の任意の組合せのデバイス。
[1009]141541−9E項。ベクトルベースの合成が特異値分解を備える、141541−1E項から141541−8E項の任意の組合せのデバイス。
[1010]本技法の様々な態様は、オーディオ符号化デバイス510Hが、次の項に記載されるように動作するように構成されることをさらに可能にすることができる。
[1011]141541−1F項。オーディオ符号化デバイス510Hなどのデバイスであって、複数の空間成分のうちの現在の空間成分を複数の空間成分の残りに対する現在の空間成分の次数に基づいて圧縮するときに使用するハフマンコードブックを識別するように構成される1つまたは複数のプロセッサを備え、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、デバイス。
[1012]141541−2F項。1つまたは複数のプロセッサが、141541−1A項から141541−12A項、141541−1B項から141541−10B項、および141541−1C項から141541−9C項に記載されたステップの任意の組合せを実行するようにさらに構成される、141541−3F項のデバイス。
[1013]本技法の様々な態様は、オーディオ符号化デバイス510Hが、次の項に記載されるように動作するように構成されることをさらに可能にすることができる。
[1014]141541−1H項。オーディオ符号化デバイス510Hなどのデバイスであって、音場の空間成分を圧縮するときに使用されるべき量子化ステップサイズを決定するように構成される1つまたは複数のプロセッサを備え、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、デバイス。
[1015]141541−2H項。1つまたは複数のプロセッサが、量子化ステップサイズを決定するとき、目標ビットレートに基づいて量子化ステップサイズを決定するようにさらに構成される、141541−1H項のデバイス。
[1016]141541−3H項。1つまたは複数のプロセッサが、複数の量子化ステップサイズのうちの1つを選択するとき、空間成分を表すために使用されるビットの数の推定値を決定することと、推定値と目標ビットレートとの間の差に基づいて量子化ステップサイズを決定することとを行うようにさらに構成される、141541−1H項のデバイス。
[1017]141541−4H項。1つまたは複数のプロセッサが、複数の量子化ステップサイズのうちの1つを選択するとき、空間成分を表すために使用されるビットの数の推定値を決定することと、推定値と目標ビットレートとの間の差を決定することと、その差を目標ビットレートに加算することによって、量子化ステップサイズを決定することとを行うようにさらに構成される、141541−1H項のデバイス。
[1018]141541−5H項。1つまたは複数のプロセッサが、ビットの数の推定値を決定するとき、目標ビットレートに対応するコードブックを仮定して、空間成分に対して生成されるべきビットの数のエスティメイテッドを計算するようにさらに構成される、141541−3H項または141541−4H項のデバイス。
[1019]141541−6H項。1つまたは複数のプロセッサが、ビットの数の推定値を決定するとき、空間成分を圧縮するときに使用されるコーディングモードを仮定して、空間成分に対して生成されるべきビットの数のエスティメイテッドを計算するようにさらに構成される、141541−3H項または141541−4H項のデバイス。
[1020]141541−7H項。1つまたは複数のプロセッサが、ビットの数の推定値を決定するとき、空間成分を圧縮するときに使用されるべき第1のコーディングモードを仮定して、空間成分に対して生成されるべきビットの数の第1の推定値を計算することと、空間成分を圧縮するときに使用されるべき第2のコーディングモードを仮定して、空間成分に対して生成されるべきビットの数の第2の推定値を計算することと、ビットの数の決定された推定値として使用されることになる、第1の推定値と第2の推定値のうちでビットの数が少ない方を選択することとを行うようにさらに構成される、141541−3H項または141541−4H項のデバイス。
[1021]141541−8H項。1つまたは複数のプロセッサが、ビットの数の推定値を決定するとき、空間成分が対応するカテゴリを識別するカテゴリ識別子を識別することと、カテゴリに対応する空間成分を圧縮するときに生じるであろう空間成分の残差値のビット長を識別することと、カテゴリ識別子を表すために使用されるビットの数を残差値のビット長に加算することによって少なくとも一部、ビットの数の推定値を決定することとを行うようにさらに構成される、141541−3H項または141541−4H項のデバイス。
[1022]141541−9H項。ベクトルベースの合成が特異値分解を備える、141541−1H項から141541−8H項の任意の組合せのデバイス。
[1023]オーディオ符号化デバイス510Hによって実行されるとして説明されるが、上記の項、141541−1H項から141541−9H項に記載された本技法はまた、オーディオ複号デバイス540Dによっても実行され得る。
[1024]加えて、本技法の様々な態様は、オーディオ符号化デバイス510Hが、次の項に記載されるように動作するように構成されることを可能にすることができる。
[1025]141541−1J項。オーディオ符号化デバイス510Jなどのデバイスであって、音場の空間成分を圧縮するときに使用されるべき複数のコードブックのうちの1つを選択するように構成される1つまたは複数のプロセッサを備え、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、デバイス。
[1026]141541−2J項。1つまたは複数のプロセッサが、複数のコードブックのうちの1つを選択するとき、複数のコードブックの各々を使用して空間成分を表すために使用されるビットの数の推定値を決定することと、決定された推定値をもたらした複数のコードブックのうちでビットの数が最小のものを選択することとを行うようにさらに構成される、141541−1J項のデバイス。
[1027]141541−3J項。1つまたは複数のプロセッサが、複数のコードブックのうちの1つを選択するとき、複数のコードブックの1つまたは複数を使用して空間成分を表すために使用されるビットの数の推定値を決定するようにさらに構成され、複数のコードブックの1つまたは複数が、空間成分の他の要素に対する、圧縮されるべき空間成分の要素の次数に基づいて選択される、141541−1J項のデバイス。
[1028]141541−4J項。1つまたは複数のプロセッサが、複数のコードブックのうちの1つを選択するとき、空間成分が後続の空間成分から予測されないときに使用されるように設計される複数のコードブックの1つを使用して、空間成分を表すために使用されるビットの数の推定値を決定するようにさらに構成される、141541−1J項のデバイス。
[1029]141541−5J項。1つまたは複数のプロセッサが、複数のコードブックのうちの1つを選択するとき、空間成分が後続の空間成分から予測されるときに使用されるように設計される複数のコードブックの1つを使用して、空間成分を表すために使用されるビットの数の推定値を決定するようにさらに構成される、141541−1J項のデバイス。
[1030]141541−6J項。1つまたは複数のプロセッサが、複数のコードブックのうちの1つを選択するとき、空間成分が音場の中の合成オーディオオブジェクトを表すときに使用されるように設計される複数のコードブックの1つを使用して、空間成分を表すために使用されるビットの数の推定値を決定するようにさらに構成される、141541−1J項のデバイス。
[1031]141541−7J項。合成オーディオオブジェクトが、パルス符号変調(PCM)されたオーディオオブジェクトを備える、141541−1J項のデバイス。
[1032]141541−8J項。1つまたは複数のプロセッサが、複数のコードブックのうちの1つを選択するとき、空間成分が音場の中の録音されたオーディオオブジェクトを表すときに使用されるように設計される複数のコードブックの1つを使用して、空間成分を表すために使用されるビットの数の推定値を決定するようにさらに構成される、141541−1J項のデバイス。
[1033]141541−9J項。ベクトルベースの合成が特異値分解を備える、請求項1J〜8Jの任意の組合せのデバイス。
[1034]上で説明された様々な例の各々において、オーディオ符号化デバイス510は、ある方法を実行し、またはそうでなければ、オーディオ符号化デバイス510が実行するように構成される方法の各ステップを実行するための手段を備え得ることを理解されたい。いくつかの例では、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における本技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ符号化デバイス510が実行するように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[1035]図40Jは、2次元または3次元の音場を記述する球面調和係数を圧縮するために本開示において説明される技法のある態様を実行し得る例示的なオーディオ符号化デバイス510Jを示すブロック図である。オーディオ符号化デバイス510Jは、オーディオ符号化デバイス510Jがオーディオ圧縮ユニット512と、オーディオ符号化ユニット514と、ビットストリーム生成ユニット516とを含む点において、オーディオ符号化デバイス510Gと類似であり得る。その上、オーディオ符号化デバイス510Jのオーディオ圧縮ユニット512は、オーディオ圧縮ユニット512が、オーディオ符号化デバイス510Iの同様のユニットに類似して動作し得る、分解ユニット518と音場成分抽出ユニット520とを含む点において、オーディオ符号化デバイス510Gのものと類似であり得る。いくつかの例では、オーディオ符号化デバイス510Jは、図40D〜図40Eに関して説明されるように、UDISTベクトル525C、UBGベクトル525D、VT DISTベクトル525E、およびVT BGベクトル525Jのうちのいずれかの1つまたは複数のベクトルを量子化するために、量子化ユニット534を含み得る。
[1036]ただし、オーディオ符号化デバイス510Jのオーディオ圧縮ユニット512は、オーディオ符号化デバイス510Jのオーディオ圧縮ユニット512が補間ユニット550として示される追加のユニットを含む点において、オーディオ符号化デバイス510Gのオーディオ圧縮ユニット512とは異なり得る。補間ユニット550は、図45および図45Bに関して以下でより詳細に説明されるように、第1のオーディオフレームおよび第2の時間的に後続のまたは先行するオーディオフレームのサブフレームから、第1のオーディオフレームのサブフレームを補間するユニットを表し得る。補間ユニット550は、この補間を実行することにおいて、分解ユニット518がSHC511を分解するために必要とされる程度を潜在的に低減することによって、(処理サイクルおよび/またはメモリ消費に関して)計算的な複雑さを低減することができる。補間ユニット550は、図40Hおよび図40Iの例に示されるオーディオ符号化デバイス510Hおよび510Iの補間ユニット550に関して上で説明されたものと類似した方式で動作することができる。
[1037]演算において、補間ユニット200は、1つまたは複数のサブフレームのための分解された補間された球面調和係数を生成するために、第1のフレームに含まれる第1の複数の球面調和係数11の一部分の第1の分解、たとえばV行列19’と、第2のフレームに含まれる第2の複数の球面調和係数11の一部分の第2の分解、たとえばV行列19’とから、第1のオーディオフレームの1つまたは複数のサブフレームを補間することができる。
[1038]補間ユニット550は、少なくとも一部、第1の複数の球面調和係数の第1の分解および第2の複数の球面調和係数の第2の分解に関して補間を実行することによって、時間セグメントのための分解された補間された球面調和係数を取得することができる。平滑化ユニット554は、第1の複数の球面調和係数および第2の複数の球面調和係数の空間成分と時間成分のうちの少なくとも1つを平滑化するために、分解された補間された球面調和係数を適用することができる。平滑化ユニット554は、図37〜図39に関して上で説明されたように、平滑化されたUDIST行列525C’を生成することができる。第1の分解および第2の分解は、図40JのV1 T556、V2 T556Bを指し得る。
[1039]いくつかの場合には、VTまたは他のVベクトルまたはV行列は、補間のために量子化されたバージョンで出力され得る。このようにして、補間のためのVベクトルは、復号器におけるVベクトルと同一であってよく、復号器もまた、たとえば、多次元信号を復元するために、Vベクトル補間を実行する。
[1040]いくつかの例では、第1の分解は、第1の複数の球面調和係数511の部分の右特異ベクトルを表す第1のV行列519’を備える。同様に、いくつかの例では、第2の分解は、第2の複数の球面調和係数の部分の右特異ベクトルを表す第2のV行列519’を備える。
[1041]補間ユニット550は、第1のV行列519’および第2のV行列19’に基づいて、1つまたは複数のサブフレームに関して時間的補間を実行することができる。すなわち、補間ユニット550は、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’と、第2のオーディオフレームの第1のサブフレームから分解されたV行列519’とに基づいて、たとえば、第1のオーディオフレームのための4つの全サブフレームからの第2のサブフレームと、第3のサブフレームと、第4のサブフレームとを時間的に補間することができる。いくつかの例では、この時間的補間は、線形時間的補間であり、ここで、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’は、第1のオーディオフレームの第4のサブフレームを補間するときよりも、第1のオーディオフレームの第2のサブフレームを補間するときにより重く重み付けられる。第3のサブフレームを補間するとき、V行列519’は均等に重み付けられ得る。第4のサブフレームを補間するとき、第2のオーディオフレームの第1のサブフレームから分解されたV行列519’は、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’よりも重く重み付けられ得る。
[1042]言い換えれば、線形時間的補間は、補間されるべき第1のオーディオフレームのサブフレームのうちの1つの近接を仮定して、V行列519’に重み付けることができる。補間されるべき第2のサブフレームについて、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’は、補間されるべき第2のサブフレームへのその近接を仮定して、第2のオーディオフレームの第1のサブフレームから分解されたV行列519’よりも重く重み付けられる。重みは、V行列519’に基づいて第3のサブフレームを補間するとき、この理由のために等価であり得る。補間されるべき第4のサブフレームが、第1のオーディオフレームの第1のサブフレームよりも第2のオーディオフレームの第1のサブフレームにより近接しているとすると、第2のオーディオフレームの第1のサブフレームから分解されたV行列519’に適用される重みは、第1のオーディオフレームの第1のサブフレームから分解されたV行列519’に適用されるものよりも大きくなり得る。
[1043]いくつかの例では、補間ユニット550は、第1の射影された分解を生成するために、第1のオーディオフレームの第1のサブフレームから分解された第1のV行列519’を、空間領域に射影することができる。いくつかの例では、この射影は、(たとえば、T設計行列などの射影行列を使用する)球面への射影を含む。補間ユニット550は次いで、第2の射影された分解を生成するために、第2のオーディオフレームの第1のサブフレームから分解された第2のV行列519’を、空間領域に射影することができる。補間ユニット550は次いで、第1の空間的に補間された射影された分解と第2の空間的に補間された射影された分解とを生成するために、第1の射影された分解と第2の射影された分解とを空間的に補間する(この場合も線形補間であり得る)ことができる。補間ユニット550は次いで、第1の空間的に補間された射影された分解と第2の空間的に補間された射影された分解とに基づいて、1つまたは複数のサブフレームを時間的に補間することができる。
[1044]補間ユニット550がV行列519’を空間的に、次いで時間的に射影するそれらの例では、補間ユニット550は、1つまたは複数のサブフレームを補間することから生じる時間的に補間された球面調和係数を、球面調和関数領域に戻すように射影し、それによって、V行列519と、S行列519Bと、U行列519Cとを生成することができる。
[1045]いくつかの例では、第1の複数の球面調和係数の部分は、第1の複数の球面調和係数511の単一のサブフレームを備える。いくつかの例では、第2の複数の球面調和係数の部分は、第2の複数の球面調和係数511の単一のサブフレームを備える。いくつかの例では、V行列19’がそれから分解されるこの単一のサブフレームは、第1のサブフレームである。
[1046]いくつかの例では、第1のフレームは4つのサブフレームに分割される。これらの例および他の例において、第1の複数の球面調和係数の部分は、複数の球面調和係数511の第1のサブフレームのみを備える。これらの例および他の例において、第2のフレームは4つのサブフレームに分割され、第2の複数の球面調和係数511の部分は、第2の複数の球面調和係数511の第1のサブフレームのみを備える。
[1047]いくつかの例では、各オーディオフレームの第1のサブフレームのみが、補間を実行するために使用されるが、第1の複数の球面調和係数の部分は、第1の複数の球面調和係数511の4つのサブフレームのうちの2つを備え得る。これらの例および他の例において、第2の複数の球面調和係数511の部分は、第2の複数の球面調和係数511の4つのサブフレームのうちの2つを備える。
[1048]上で述べられたように、単一のデバイス、たとえばオーディオ符号化デバイス510Jは、補間を実行し、一方でまた、第1の複数の球面調和係数の部分の第1の分解を生成するために、第1の複数の球面調和係数の部分を分解することもできる。これらの例および他の例において、分解ユニット518は、第2の複数の球面調和係数の部分の第2の分解を生成するために、第2の複数の球面調和係数の部分を分解することができる。単一のデバイスに関して説明されるが、2つ以上のデバイスが本開示で説明される技法を実行することができ、ここで、本開示で説明される技法に従って、2つのデバイスのうちの1つは分解を実行し、それらのデバイスのうちの別のものは補間を実行する。
[1049]いくつかの例では、分解ユニット518は、第1の複数の球面調和係数511の右特異ベクトルを表すV行列519’(ならびに、説明を簡単にするために図示されない、S行列519B’およびU行列519C’)を生成するために、第1の複数の球面調和係数511の部分に関して特異値分解を実行することができる。これらの例および他の例において、分解ユニット518は、第2の複数の球面調和係数の右特異ベクトルを表すV行列519’(ならびに、説明を簡単にするために図示されない、S行列519B’およびU行列519C’)を生成するために、第2の複数の球面調和係数511の部分に関して特異値分解を実行することができる。
[1050]いくつかの例では、上で述べられたように、第1の複数の球面調和係数と第2の複数の球面調和係数は各々、音場の平面波表現を表す。これらの例および他の例において、第1の複数の球面調和係数511と第2の複数の球面調和係数511は各々、一緒にミキシングされた1つまたは複数のモノラルオーディオオブジェクトを表す。
[1051]言い換えれば、球面調和ベースの3Dオーディオは、球面上の直交基底関数による3D圧力場のパラメトリックな表現であり得る。表現の次数Nが高いほど、空間分解能は高くなる可能性があり、(全体で(N+1)2個の係数に対して)球面調和(SH)係数の数は大きくなることが多い。多くの適用形態において、係数を効率的に送信し記憶することを可能にするために、係数の帯域幅圧縮が必要とされ得る。本開示において対象とされるこの技法は、特異値分解(SVD)を使用した、フレームベースの次元低減プロセスを提供することができる。SVD分析は、係数の各フレームを3つの行列U、S、およびVに分解することができる。いくつかの例では、本技法は、U中のベクトルのいくつかを、背後にある音場の指向性成分として扱うことができる。しかしながら、この方式で扱われると、(U中の)これらのベクトルは、それらが同じ明瞭なオーディオ成分を表すとしても、フレームとフレームの間で不連続である。これらの不連続性は、成分が変換オーディオコーダを通じて供給されるときに、重大なアーティファクトにつながり得る。
[1052]本開示で説明される技法は、この不連続性に対処し得る。すなわち、本技法は、球面調和関数領域における直交する空間軸としてV行列が解釈され得るという考察に基づき得る。U行列は、それらの基底関数によって球面調和関数(HOA)データの射影を表すことができ、ここで、不連続性は、フレームごとに変化ししたがってそれら自体が不連続である基底関数(V)に原因を帰すことができる。これは、基底関数がいくつかの例では複数のフレームにわたって一定であるフーリエ変換などの同様の分解とは異なる。これらの点で、SVDは、マッチング追跡アルゴリズムであると見なされ得る。本開示で説明される技法は、補間ユニット550が、フレームとフレームの間で基底関数(V)間の連続性を、それらの間で補間することによって保つことを可能にし得る。
[1053]いくつかの例では、本技法は、補間ユニット550が、上で説明され、図45および図45Bに関して以下でさらに説明されるように、SHデータのフレームを4つのサブフレームに分割することを可能にする。補間ユニット550は次いで、第1のサブフレームのためのSVDを計算することができる。同様に、我々は、第2のフレームの第1のサブフレームのためのSVDを計算する。第1のフレームおよび第2のフレームの各々について、補間ユニット550は、(T設計行列などの射影行列を使用して)ベクトルを球面上に射影することによって、V中のベクトルを空間マップに変換することができる。補間ユニット550は次いで、V中のベクトルを球面上の形状として解釈することができる。第1のフレームの第1のサブフレームと次のフレームの第1のサブフレームとの間の3つのサブフレームのためのV行列を補間するために、補間ユニット550は、次いで、これらの空間的な形状を補間し、および次いで、射影行列の逆行列を介して、それらをSHベクトルに戻すように変換することができる。本開示の技法は、このようにして、V行列間の平滑な遷移を提供することができる。
[1054]図41〜図41Dは各々、2次元または3次元の音場を記述する球面調和係数を復号するために本開示において説明される技法の様々な態様を実行し得る例示的なオーディオ復号デバイス540A〜540Dを示すブロック図である。オーディオ復号デバイス540Aは、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、タブレットもしくはスレートコンピュータ、専用オーディオ録音デバイス、携帯電話(いわゆる「スマートフォン」を含む)、パーソナルメディアプレーヤデバイス、パーソナルゲームデバイス、または、オーディオデータを復号することが可能な任意の他のタイプのデバイスなど、オーディオデータを復号することが可能な任意のデバイスを表し得る。
[1055]いくつかの例では、オーディオ復号デバイス540Aは、いくつかの例では、外部の無関係なデータの除去を容易にするためにオーディオ符号化デバイス510B〜510Jによって使用される、(図40B〜図40Jの例に関して上で説明されたような)次数低減を実行することを除いて、オーディオ符号化デバイス510または510Bのいずれかによって実行されるオーディオ符号化プロセスとは逆であるオーディオ復号プロセスを実行する。
[1056]図41の例では、単一のデバイス、すなわち、デバイス540Aとして示されるが、デバイス540A内に含まれるものとして以下で言及される様々な構成要素またはユニットは、デバイス540から外部である別個のデバイスを形成することができる。言い換えれば、図41の例では、単一のデバイス、すなわち、デバイス540Aによって実行されるものとして本開示で説明されるが、本技法は、複数のデバイスを備えるシステムによって実施され、またはさもなければ実行されてよく、ここで、これらのデバイスの各々は、以下でより詳細に説明される様々な構成要素またはユニットのうちの1つまたは複数をそれぞれ含み得る。したがって、本技法は、この点で、図41の例に限定されるべきではない。
[1057]図41の例に示されているように、オーディオ復号デバイス540Aは、抽出ユニット542と、オーディオ復号ユニット544と、数学ユニット546と、オーディオレンダリングユニット548とを備える。抽出ユニット542は、ビットストリーム517から、符号化された低減されたバックグラウンド球面調和係数515Bと、符号化されたUDIST*SDISTベクトル515Aと、VT DISTベクトル525Eとを抽出するように構成されるユニットを表す。抽出ユニット542は、符号化された低減されたバックグラウンド球面調和係数515Bと、符号化されたUDIST*SDISTベクトル515Aとをオーディオ復号ユニット544に出力し、一方でまた、VT DIST行列525Eを数学ユニット546に出力する。この点で、抽出ユニット542は、図5の例に示されるオーディオ複号デバイス24の抽出ユニット72に類似した方式で動作することができる。
[1058]オーディオ復号ユニット544は、UDIST*SDISTベクトル527と低減されたバックグラウンド球面調和係数529とを復元するように、(しばしば、AAC復号スキームなど、逆のオーディオ複号スキームに従って)符号化されたオーディオデータを復号するためのユニットを表す。オーディオ復号ユニット544は、UDIST*SDISTベクトル527と低減されたバックグラウンド球面調和係数529とを、数学ユニット546に出力する。この点で、オーディオ復号ユニット544は、図5の例に示されるオーディオ複号デバイス24の音響心理学的復号ユニット80に類似した方式で動作することができる。
[1059]数学ユニット546は、行列乗算および加算(ならびに、いくつかの例では、任意の他の行列数学演算)を実行するように構成されるユニットを表し得る。数学ユニット546はまず、UDIST*SDISTベクトル527のVT DIST行列525Eとの行列乗算を実行することができる。数学ユニット546は次いで、復元された球面調和係数547として示される、オリジナルの球面調和係数11の低減されたバージョンを生成するために、UDIST*SDISTベクトル527のVT DIST行列525Eと、低減されたバックグラウンド球面調和係数529との乗算の結果(この場合も、UBG行列525DのSBG行列525Bとの、次いでVT BG行列525Fとの乗算の結果を指し得る)を、UDIST*SDISTベクトル527のVT DIST行列525Eとの行列乗算の結果に加算することができる。数学ユニット546は、復元された球面調和係数547をオーディオレンダリングユニット548に出力することができる。この点で、数学ユニット546は、図5の例に示されるオーディオ複号デバイス24のフォアグラウンド定式化ユニット78およびHOA係数定式化ユニット82に類似した方式で動作することができる。
[1060]オーディオレンダリングユニット548は、チャネル549A〜549N(「マルチチャネルオーディオデータ549」または「ラウドスピーカーフィード549」と一般に呼ばれることもある、「チャネル549」)をレンダリングするように構成されるユニットを表す。オーディオレンダリングユニット548は、復元された球面調和係数547に変換(しばしば、行列の形式で表される)を適用することができる。復元された球面調和係数547は、3次元で音場を記述するので、復元された球面調和係数547は、大部分の復号器ローカルスピーカーの幾何学的配置(マルチチャネルオーディオデータ549を再生するようになるスピーカーの幾何学的配置を指し得る)に対応することが可能である方式で、マルチチャネルオーディオデータ549Aのレンダリングを容易にするオーディオフォーマットを表す。マルチチャネルオーディオデータ549Aのレンダリングに関する、より多くの情報は、図48に関して上で説明される。
[1061]マルチチャネルオーディオデータ549Aがサラウンド音響マルチチャネルオーディオデータ549である状況において説明されるが、オーディオレンダリングユニット48はまた、復元された球面調和係数549Aをバイノーラル化し(binauralize)、それによって2つのバイノーラルにレンダリングされたチャネル549を生成するために、ある形態のバイノーラル化(binauralization)を実行することもできる。したがって、本技法は、マルチチャネルオーディオデータのサラウンド音響形式に限定されるべきではなく、バイノーラル化されたマルチチャネルオーディオデータを含み得る。
[1062]以下に記載される様々な項は、本開示で説明される技法の様々な態様を提示することができる。
[1063]132567−1B項。オーディオ複号デバイス540などのデバイスであって、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを決定するように構成される1つまたは複数のプロセッサを備え、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、複数の球面調和係数に関して特異値分解を実行することによって生成される、デバイス。
[1064]132567−2B項。1つまたは複数の第1のベクトルが、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルを備え、U行列およびS行列が、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、1つまたは複数のプロセッサが、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルのオーディオ複号されたバージョンを生成するために、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルをオーディオ復号するようにさらに構成される、132567−1B項のデバイス。
[1065]132567−3B項。1つまたは複数の第1のベクトルが、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列およびS行列およびV行列が、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、1つまたは複数のプロセッサが、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルのオーディオ複号されたバージョンを生成するために、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルをオーディオ復号するようにさらに構成される、132567−1B項のデバイス。
[1066]132567−4B項。1つまたは複数のプロセッサが、複数の球面調和関数のうちで音場の明瞭な成分を表すものを復元するために、UDIST*SDISTベクトルをVT DISTベクトルと乗算するようにさらに構成される、132567−3B項のデバイス。
[1067]132567−5B項。1つまたは複数の第2のベクトルが、U行列に含まれるUBGベクトルをS行列に含まれるSBGベクトルと乗算し、次いでV行列の転置に含まれるVT BGベクトルと乗算することによって、オーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルを備え、S行列、U行列、およびV行列が各々、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成される、132567−1B項のデバイス。
[1068]132567−6B項。1つまたは複数の第2のベクトルが、U行列に含まれるUBGベクトルをS行列に含まれるSBGベクトルと乗算し、次いでV行列の転置に含まれるVT BGベクトルと乗算することによって、オーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルを備え、S行列、U行列、およびV行列が、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、1つまたは複数のプロセッサが、1つまたは複数のオーディオ復号されたUBG*SBG*VT BGベクトルを生成するために、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルをオーディオ復号するようにさらに構成される、132567−1B項のデバイス。
[1069]132567−7B項。1つまたは複数の第1のベクトルが、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによって、オーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列、S行列、およびV行列が、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、1つまたは複数のプロセッサが、1つまたは複数のUDIST*SDISTベクトルを生成するために1つまたは複数のオーディオ符号化されたUDIST*SDISTベクトルをオーディオ復号し、複数の球面調和係数のうちで音場の明瞭な成分を記述するものを復元するためにUDIST*SDISTベクトルをVT DISTベクトルと乗算するようにさらに構成され、1つまたは複数の第2のベクトルが、U行列に含まれるUBGベクトルをS行列に含まれるSBGベクトルと乗算し、次いでV行列の転置に含まれるVT BGベクトルと乗算することによって、オーディオ符号化の前に生成された、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルを備え、1つまたは複数のプロセッサが、音場のバックグラウンド成分を記述する複数の球面調和係数の少なくともある部分を復元するために、1つまたは複数のオーディオ符号化されたUBG*SBG*VT BGベクトルをオーディオ復号し、複数の球面調和係数の再構築されたバージョンを生成するために、音場の明瞭な成分を記述する複数の球面調和係数を音場のバックグラウンド成分を記述する複数の球面調和係数の少なくともその部分に加算するようにさらに構成される、132567−1B項のデバイス。
[1070]132567−8B項。1つまたは複数の第1のベクトルが、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列、S行列、およびV行列が、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、1つまたは複数のプロセッサが、1つまたは複数のUDIST*SDISTベクトルと1つまたは複数のVT DISTベクトルとを形成するためにビットストリームから抽出されるべきベクトルの数を示す値Dを決定するようにさらに構成される、132567−1B項のデバイス。
[1071]132567−9B項。1つまたは複数の第1のベクトルが、U行列の1つまたは複数のオーディオ符号化されたUDISTベクトルをS行列の1つまたは複数のSDISTベクトルと乗算することによってオーディオ符号化の前に生成された、1つまたは複数のUDIST*SDISTベクトルと、V行列の転置の1つまたは複数のVT DISTベクトルとを備え、U行列、S行列、およびV行列が、少なくとも複数の球面調和係数に関して特異値分解を実行することによって生成され、1つまたは複数のプロセッサが、1つまたは複数のUDIST*SDISTベクトルと1つまたは複数のVT DISTベクトルとを形成するためにビットストリームから抽出されるべきベクトルの数を示す値Dをオーディオフレームごとに決定するようにさらに構成される、132567−10B項のデバイス。
[1072]132567−1G項。オーディオ複号デバイス540などのデバイスであって、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを決定するように構成される1つまたは複数のプロセッサを備え、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、音場の少なくとも一部分を表すマルチチャネルオーディオデータに関して特異値分解を実行することによって生成される、デバイス。
[1073]132567−2G項。マルチチャネルオーディオデータが、複数の球面調和係数を備える、132567−1G項のデバイス。
[1074]132567−3G項。1つまたは複数のプロセッサが、132567−2B項から132567−9B項の任意の組合せを実行するようにさらに構成される、132567−2G項のデバイス。
[1075]上で説明された様々な項の各々から、オーディオ復号デバイス540A〜540Dは、ある方法を実行し、またはそうでなければ、オーディオ復号デバイス540A〜540Dが実行するように構成される方法の各ステップを実行するための手段を備え得ることを理解されたい。いくつかの例では、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における本技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ復号デバイス540A〜540Dが実行するように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[1076]たとえば、132567−10B項は、方法が音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを決定することを備え、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、音場を表す複数の球面調和係数に関して特異値分解を実行することによって生成される、ように前述の132567−1B項から導出され得る。
[1077]別の例として、132567−11B項は、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを決定するための手段と、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、複数の球面調和係数に関して特異値分解を実行することによって生成される、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルとを記憶するための手段とを備える、オーディオ復号デバイス540などのデバイスになるように、前述の132567−1B項から導出され得る。
[1078]また別の例として、132567−12B項は、実行されると、1つまたは複数のプロセッサに、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を記述する1つまたは複数の第2のベクトルとを決定させ、1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方が少なくとも、音場を記述する高次アンビソニックスオーディオデータに含まれる複数の球面調和係数に関して特異値分解を実行することによって生成される、命令を記憶した、非一時的コンピュータ可読記憶媒体になるように、前述の132567−1B項から導出され得る。
[1079]様々な項が、上で例示されたように導出される様々なデバイス、方法および非一時的コンピュータ可読記憶媒体について、132567−2B項ないし132567−9B項から同様に導出され得る。同じことが、本開示全体にわたって記載される様々な他の項について実行され得る。
[1080]図41Bは、2次元または3次元の音場を記述する球面調和係数を復号するために本開示において説明される技法のある態様を実行し得る例示的なオーディオ復号デバイス540Bを示すブロック図である。オーディオ復号デバイス540Bは、いくつかの例では、抽出ユニット542がVT DISTベクトル525Eではなく、再順序付けられたVT DISTベクトル539を抽出することができることを除いて、オーディオ復号デバイス540と類似であり得る。他の例では、抽出ユニット542は、VT DISTベクトル525Eを抽出し、次いで、再順序付けられたVT DISTベクトル539を決定するために、ビットストリーム中で指定されるか、または(他のベクトルの分析を通じて)推定される再順序付け情報に基づいて、これらのVT DISTベクトル525Eを再順序付けることができる。この点で、抽出ユニット542は、図5の例に示されるオーディオ複号デバイス24の抽出ユニット72に類似した方式で動作することができる。いずれにしても、抽出ユニット542は、再順序付けられたVT DISTベクトル539を数学ユニット546に出力することができ、ここで、球面調和係数を復元することに関して上で説明されたプロセスが、これらの再順序付けられたVT DISTベクトル539に関して実行され得る。
[1081]このようにして、本技法は、オーディオ復号デバイス540Bが、音場の明瞭な成分を表す再順序付けられた1つまたは複数のベクトルをオーディオ復号することを可能にすることができ、再順序付けられた1つまたは複数のベクトルは、1つまたは複数のベクトルを圧縮することを容易にするために再順序付けられている。これらの例および他の例において、オーディオ復号デバイス540Bは、音場の明瞭な成分を表す球面調和係数を復元するために、再順序付けられた1つまたは複数のベクトルを、再順序付けられた1つまたは複数の追加のベクトルと再び組み合わせることができる。これらの例および他の例において、オーディオ復号デバイス540Bは次いで、音場の明瞭な成分を表す球面調和係数と、音場のバックグラウンド成分を表す球面調和係数とに基づいて、複数の球面調和係数を復元することができる。
[1082]すなわち、本技法の様々な態様は、次の項に従って、再順序付けられた1つまたは複数のベクトルを復号するように構成されるべきオーディオ復号デバイス540Bを提供することができる。
[1083]133146−1F項。オーディオ符号化デバイス540Bなどのデバイスであって、音場における成分に対応するベクトルの数を決定するように構成される1つまたは複数のプロセッサを備えるデバイス。
[1084]133146−2F項。1つまたは複数のプロセッサが、上で説明された例の任意の組合せに従って、次数低減を実行した後、ベクトルの数を決定するように構成される、133146−1F項のデバイス。
[1085]133146−3F項。1つまたは複数のプロセッサが、上で説明された例の任意の組合せに従って、次数低減を実行するようにさらに構成される、133146−1F項のデバイス。
[1086]133146−4F項。1つまたは複数のプロセッサが、ビットストリームにおいて指定された値からベクトルの数を決定するように構成され、1つまたは複数のプロセッサが、音場の明瞭な成分を表すビットストリーム中の1つまたは複数のベクトルを識別するために、決定されたベクトルの数に基づいてビットストリームを解析するようにさらに構成される、133146−1F項のデバイス。
[1087]133146−5F項。1つまたは複数のプロセッサが、ビットストリームにおいて指定された値からベクトルの数を決定するように構成され、1つまたは複数のプロセッサが、音場のバックグラウンド成分を表すビットストリーム中の1つまたは複数のベクトルを識別するために、決定されたベクトルの数に基づいてビットストリームを解析するようにさらに構成される、133146−1F項のデバイス。
[1088]133143−1C項。オーディオ復号デバイス540Bなどのデバイスであって、音場の明瞭な成分を表す再順序付けられた1つまたは複数のベクトルを再順序付けるように構成される1つまたは複数のプロセッサを備えるデバイス。
[1089]133143−2C項。1つまたは複数のプロセッサが、再順序付けられた1つまたは複数のベクトルを決定することと、再順序付けられた1つまたは複数のベクトルがどのように再順序付けられたかを記述する再順序付け情報を決定することとを行うようにさらに構成され、1つまたは複数のプロセッサが、再順序付けられた1つまたは複数のベクトルを再順序付けるとき、決定された再順序付け情報に基づいて、再順序付けられた1つまたは複数のベクトルを再順序付けるようにさらに構成される、133143−1C項のデバイス。
[1090]133143−3C項。再順序付けられた1つまたは複数のベクトルが、請求項1Aから18Aの任意の組合せ、または請求項1Bから19Bの任意の組合せによって記載された、1つまたは複数の再順序付けられた第1のベクトルを備え、1つまたは複数の第1のベクトルが、請求項1Aから18Aの任意の組合せ、または請求項1Bから19Bの任意の組合せによって記載された方法に従って決定される、1Cのデバイス。
[1091]133143−4D項。オーディオ復号デバイス540Bなどのデバイスであって、音場の明瞭な成分を表す再順序付けられた1つまたは複数のベクトルをオーディオ復号するように構成される1つまたは複数のプロセッサを備え、再順序付けられた1つまたは複数のベクトルが、1つまたは複数のベクトルを圧縮することを容易にするために再順序付けられている、デバイス。
[1092]133143−5D項。1つまたは複数のプロセッサが、音場の明瞭な成分を表す球面調和係数を復元するために、再順序付けられた1つまたは複数のベクトルを、再順序付けられた1つまたは複数の追加のベクトルと再び組み合わせるようにさらに構成される、133143−4D項のデバイス。
[1093]133143−6D項。1つまたは複数のプロセッサが、音場の明瞭な成分を表す球面調和係数と、音場のバックグラウンド成分を表す球面調和係数とに基づいて、複数の球面調和係数を復元するようにさらに構成される、133143−5D項のデバイス。
[1094]133143−1E項。オーディオ復号デバイス540Bなどのデバイスであって、再順序付けられた1つまたは複数の第1のベクトルを生成するために、1つまたは複数のベクトルを再順序付け、それによって、従来のオーディオ符号化器による符号化を容易にすることと、1つまたは複数のベクトルが、音場の明瞭な成分を記述する表す、再順序付けられた1つまたは複数のベクトルの符号化されたバージョンを生成するために、従来のオーディオ符号化器を使用して、再順序付けられた1つまたは複数のベクトルをオーディオ符号化することとを行うように構成される1つまたは複数のプロセッサを備えるデバイス。
[1095]133143−2E項。再順序付けられた1つまたは複数のベクトルが、請求項1Aから18Aの任意の組合せ、または請求項1Bから19Bの任意の組合せによって記載された、1つまたは複数の再順序付けられた第1のベクトルを備え、1つまたは複数の第1のベクトルが、請求項1Aから18Aの任意の組合せ、または請求項1Bから19Bの任意の組合せによって記載された方法に従って決定される、1Eのデバイス。
[1096]図41Cは、別の例示的なオーディオ符号化デバイス540Cを示すブロック図である。オーディオ復号デバイス540Cは、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、タブレットもしくはスレートコンピュータ、専用オーディオ録音デバイス、携帯電話(いわゆる「スマートフォン」を含む)、パーソナルメディアプレーヤデバイス、パーソナルゲームデバイス、または、オーディオデータを復号することが可能な任意の他のタイプのデバイスなど、オーディオデータを復号することが可能な任意のデバイスを表し得る。
[1097]図41Cの例では、オーディオ復号デバイス540Cは、いくつかの例では、外部の無関係なデータの除去を容易にするためにオーディオ符号化デバイス510B〜510Jによって使用される、(図40B〜図40Jの例に関して上で説明されたような)次数低減を実行することを除いて、オーディオ符号化デバイス510B〜510Eのいずれかによって実行されるオーディオ符号化プロセスとは逆であるオーディオ復号プロセスを実行する。
[1098]図41Cの例では、単一のデバイス、すなわち、デバイス540Cとして示されるが、デバイス540C内に含まれるものとして以下で言及される様々な構成要素またはユニットは、デバイス540Cから外部である別個のデバイスを形成することができる。言い換えれば、図41Cの例では、単一のデバイス、すなわち、デバイス540Cによって実行されるものとして本開示で説明されるが、本技法は、複数のデバイスを備えるシステムによって実施され、またはさもなければ実行されてよく、ここで、これらのデバイスの各々は、以下でより詳細に説明される様々な構成要素またはユニットのうちの1つまたは複数をそれぞれ含み得る。したがって、本技法は、この点で、図41Cの例に限定されるべきではない。
[1099]その上、オーディオ符号化デバイス540Cは、オーディオ符号化デバイス540Bと類似であり得る。ただし、抽出ユニット542は、再順序付けられたVT Q_DISTベクトル539または(図40のオーディオ符号化デバイス510に関して説明された場合のように)VT DISTベクトル525Eではなく、ビットストリーム517から1つまたは複数のVT SMALLベクトル521を決定することができる。結果として、抽出ユニット542は、VT SMALLベクトル521を数学ユニット546に渡すことができる。
[1100]加えて、抽出ユニット542は、ビットストリーム517からオーディオ符号化された修正されたバックグラウンド球面調和係数515B’を決定し、これらの係数515B’をオーディオ復号ユニット544に渡すことができ、オーディオ復号ユニット544は、修正されたバックグラウンド球面調和係数537を復元するために、符号化された修正されたバックグラウンド球面調和係数515Bをオーディオ復号することができる。オーディオ復号ユニット544は、これらの修正されたバックグラウンド球面調和係数537を数学ユニット546に渡すことができる。
[1101]数学ユニット546は次いで、高次の明瞭な球面調和係数を復元するために、オーディオ復号された(および、場合によっては再順序付けられていない)UDIST*SDISTベクトル527’を、1つまたは複数のVT SMALLベクトル521と乗算することができる。数学ユニット546は次いで、複数の球面調和係数511またはそのある派生物(符号化器ユニット510Eにおいて実行される次数低減による派生物であり得る)を復元するために、高次の明瞭な球面調和係数を、修正されたバックグラウンド球面調和係数537に加算することができる。
[1102]このようにして、本技法は、オーディオ複号デバイス540Cが、ビットストリームから、ビットストリーム中の1つまたは複数のベクトルに割り振られることが必要とされるビットの量を低減するために、バックグラウンド球面調和係数と再び組み合わせられた球面調和係数から分解された1つまたは複数のベクトルのうちの少なくとも1つを決定することを可能にすることができ、球面調和係数は音場を記述し、バックグラウンド球面調和係数は、同じ音場の1つまたは複数のバックグラウンド成分を記述した。
[1103]本技法の様々な態様は、この点で、オーディオ復号デバイス540Cが、いくつかの例では、ビットストリームから、バックグラウンド球面調和係数と再び組み合わせられた球面調和係数から分解された1つまたは複数のベクトルの少なくとも1つを決定するように構成されることを可能にすることができ、球面調和係数は音場を記述し、バックグラウンド球面調和係数は同じ音場の1つまたは複数のバックグラウンド成分を記述した。
[1104]これらの例および他の例において、オーディオ復号デバイス540Cは、ビットストリームから、NBGに等しい次数を有する第1の球面調和係数の一部を取得するように構成される。
[1105]これらの例および他の例において、オーディオ復号デバイス540Cは、ビットストリームから、NBGに等しい次数を有する第1のオーディオ符号化された部分球面調和係数を取得し、球面調和係数の第1の部分を生成するために、球面調和係数のオーディオ符号化された第1の部分をオーディオ復号するようにさらに構成される。
[1106]これらの例および他の例において、1つまたは複数のベクトルの少なくとも1つは、1つまたは複数のVT SMALLベクトルを備え、1つまたは複数のVT SMALLベクトルは、複数の球面調和係数に関して特異値分解を実行することによって生成されたV行列の転置から決定されている。
[1107]これらの例および他の例において、1つまたは複数のベクトルの少なくとも1つは、1つまたは複数のVT SMALLベクトルを備え、1つまたは複数のVT SMALLベクトルは、複数の球面調和係数に関して特異値分解を実行することによって生成されたV行列の転置から決定されており、オーディオ復号デバイス540Cは、ビットストリームから、その両方が複数の球面調和係数に関して特異値分解を実行することによって生成された、U行列およびS行列から導出された1つまたは複数のUDIST*SDISTベクトルを取得し、UDIST*SDISTベクトルをVT SMALLベクトルと乗算するようにさらに構成される。
[1108]これらの例および他の例において、1つまたは複数のベクトルの少なくとも1つは、1つまたは複数のVT SMALLベクトルを備え、1つまたは複数のVT SMALLベクトルは、複数の球面調和係数に関して特異値分解を実行することによって生成されたV行列の転置から決定されており、オーディオ復号デバイス540Cは、ビットストリームから、その両方が複数の球面調和係数に関して特異値分解を実行することによって生成された、U行列およびS行列から導出された1つまたは複数のUDIST*SDISTベクトルを取得し、高次の明瞭なバックグラウンド球面調和係数を復元するために、UDIST*SDISTベクトルをVT SMALLベクトルと乗算し、少なくとも一部、複数の球面調和係数を復元するために、低次の明瞭なバックグラウンド球面調和係数を含むバックグラウンド球面調和係数を、高次の明瞭なバックグラウンド球面調和係数に加算するようにさらに構成される。
[1109]これらの例および他の例において、1つまたは複数のベクトルの少なくとも1つは、1つまたは複数のVT SMALLベクトルを備え、1つまたは複数のVT SMALLベクトルは、複数の球面調和係数に関して特異値分解を実行することによって生成されたV行列の転置から決定されており、オーディオ復号デバイス540Cは、ビットストリームから、その両方が複数の球面調和係数に関して特異値分解を実行することによって生成された、U行列およびS行列から導出された1つまたは複数のUDIST*SDISTベクトルを取得し、高次の明瞭なバックグラウンド球面調和係数を復元するために、UDIST*SDISTベクトルをVT SMALLベクトルと乗算し、少なくとも一部、複数の球面調和係数を復元するために、低次の明瞭なバックグラウンド球面調和係数を含むバックグラウンド球面調和係数を、高次の明瞭なバックグラウンド球面調和係数に加算し、復元された複数の球面調和係数をレンダリングするようにさらに構成される。
[1110]図41Dは、別の例示的なオーディオ符号化デバイス540Dを示すブロック図である。オーディオ復号デバイス540Dは、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、タブレットもしくはスレートコンピュータ、専用オーディオ録音デバイス、携帯電話(いわゆる「スマートフォン」を含む)、パーソナルメディアプレーヤデバイス、パーソナルゲームデバイス、または、オーディオデータを復号することが可能な任意の他のタイプのデバイスなど、オーディオデータを復号することが可能な任意のデバイスを表し得る。
[1111]図41Dの例では、オーディオ復号デバイス540Dは、いくつかの例では、外部の無関係なデータの除去を容易にするためにオーディオ符号化デバイス510B〜510Jによって使用される、(図40B〜図40Jの例に関して上で説明されたような)次数低減を実行することを除いて、オーディオ符号化デバイス510B〜510Jのいずれかによって実行されるオーディオ符号化プロセスとは逆であるオーディオ復号プロセスを実行する。
[1112]図41Dの例では、単一のデバイス、すなわち、デバイス540Dとして示されるが、デバイス540D内に含まれるものとして以下で言及される様々な構成要素またはユニットは、デバイス540Dから外部である別個のデバイスを形成することができる。言い換えれば、図41Dの例では、単一のデバイス、すなわち、デバイス540Dによって実行されるものとして本開示で説明されるが、本技法は、複数のデバイスを備えるシステムによって実施され、またはさもなければ実行されてよく、ここで、これらのデバイスの各々は、以下でより詳細に説明される様々な構成要素またはユニットのうちの1つまたは複数をそれぞれ含み得る。したがって、本技法は、この点で、図41Dの例に限定されるべきではない。
[1113]その上、オーディオ復号デバイス540Dは、オーディオ復号デバイス540Dが、図40Iに関して上で説明されたV圧縮ユニット552によって実行された圧縮とは全般に逆である追加のV解凍を実行することを除いて、オーディオ復号デバイス540Bと類似であり得る。図41Dの例では、抽出ユニット542は、ビットストリーム517に含まれる(および、図10Bおよび図10Cのうちの1つに示された例に従って一般に指定される)圧縮された空間成分539’のこのV解凍を実行する、V解凍ユニット555を含む。V解凍ユニット555は、次の式に基づいて、VT DISTベクトル539を解凍することができる。
言い換えれば、V解凍ユニット555は、まずビットストリーム517からnbits値を解析し、cidを表すハフマンコードを復号するときに使用するために、5つのハフマンコードテーブルの適切なセットを識別することができる。ビットストリーム517において指定された予測モードおよびハフマンコーディング情報と、場合によっては空間成分の他の要素に対する空間成分のその要素の次数とに基づいて、V解凍ユニット555は、解析されたnbits値について定義された5つのハフマンテーブルのうちの正しい1つを識別することができる。このハフマンテーブルを使用して、V解凍ユニット555は、ハフマンコードからcid値を復号することができる。V解凍ユニット555は次いで、符号ビットと残差ブロックコードとを解析し、残差を識別するために、残差ブロックコードを復号することができる。上の式に従って、V解凍ユニット555は、VT DISTベクトル539のうちの1つを複号することができる。
[1114]上記は、次のシンタックステーブルにおいて要約され得る。
[1115]前述のシンタックステーブルにおいて、4つのケース(ケース0〜3)を伴う第1のスイッチステートメントは、VT DISTベクトルの長さを係数の数に関して決定する方法を提供する。第1のケースであるケース0は、VT DISTベクトルの係数のすべてが指定されることを示す。第2のケースであるケース1は、VT DISTベクトルの係数のうちでMinNumOfCoeffsForAmbHOAよりも大きい次数に対応するもののみが指定されることを示し、これは上で(NDIST+1)−(NBG+1)と呼ばれるものを示し得る。第3のケースであるケース2は、第2のケースに類似しているが、NumOfAddAmbHoaChanによって識別される係数をさらに差し引き、これは次数NBGを超える次数に対応する追加のチャネル(ここで「チャネル」は、ある次数と位数の組合せに対応する特定の係数を指す)を指定するための変数を示す。第4のケースであるケース3は、VT DISTベクトルの係数のうちでNumOfAddAmbHoaChanによって識別される係数を除去した後で残るもののみが指定されることを示す。
[1116]このスイッチステートメントの後で、一様逆量子化を実行するかどうかの決定は、NbitsQ(または上で示されたようにnbits)によって制御され、NbitsQが5に等しくない場合、ハフマン復号の適用となる。上で言及されるcid値は、NbitsQ値の下位2ビットに等しい。上で論じられた予測モードは上のシンタックステーブルではPFlagとして示されるが、HT情報ビットは上のシンタックステーブルではCbFlagとして示される。残りのシンタックスは、復号が上で説明されたものと実質的に同様の方式でどのように行われるかを指定する。
[1117]このようにして、本開示の技法は、オーディオ復号デバイス540Dが、音場の空間成分の圧縮されたバージョンを備えるビットストリームを取得することと、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、空間成分を取得するために空間成分の圧縮されたバージョンを解凍することとを可能にすることができる。
[1118]その上、本技法は、オーディオ複号デバイス540Dが、音場の空間成分の圧縮されたバージョンを解凍することを可能にすることができ、空間成分は、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
このようにして、オーディオ符号化デバイス540Dは、次の項に関して以下で
記載される技法の様々な態様を実行することができる。
[1119]141541−1B項。
[1120]音場の空間成分の圧縮されたバージョンを備えるビットストリームを取得することと、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、空間成分を取得するために空間成分の圧縮されたバージョンを解凍することとを行うように構成される1つまたは複数のプロセッサを備えるデバイス。
[1121]141541−2B項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分を圧縮するときに使用される予測モードを指定するフィールドを使用して、ビットストリームにおいて表され、1つまたは複数のプロセッサが、空間成分の圧縮されたバージョンを解凍するとき、空間成分を取得するために、予測モードに少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するようにさらに構成される、141541−1B項のデバイス。
[1122]141541−3B項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分を圧縮するときに使用されるハフマンテーブルを指定するハフマンテーブル情報を使用して、ビットストリームにおいて表され、1つまたは複数のプロセッサが、空間成分の圧縮されたバージョンを解凍するとき、ハフマンテーブル情報に少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するようにさらに構成される、141541−1B項および141541−2B項の任意の組合せのデバイス。
[1123]141541−4B項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表す値を示すフィールドを使用して、ビットストリームにおいて表され、1つまたは複数のプロセッサが、空間成分の圧縮されたバージョンを解凍するとき、その値に少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するようにさらに構成される、141541−1B項から141541−3B項の任意の組合せのデバイス。
[1124]141541−5B項。値がnbits値を備える、141541−4B項のデバイス。
[1125]141541−6B項。ビットストリームが、空間成分の圧縮されたバージョンが含まれる音場の複数の空間成分の圧縮されたバージョンを備え、値が、複数の空間成分を圧縮するときに使用される量子化ステップサイズまたはその変数を表し、1つまたは複数のプロセッサが、空間成分の圧縮されたバージョンを解凍するとき、その値に少なくとも一部基づいて空間成分の複数の圧縮されたバージョンを解凍するようにさらに構成される、141541−4B項および141541−5B項の任意の組合せのデバイス。
[1126]141541−7B項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分が対応する圧縮カテゴリを識別するカテゴリ識別子を表すためのハフマンコードを使用して、ビットストリームにおいて表され、1つまたは複数のプロセッサが、空間成分の圧縮されたバージョンを解凍するとき、ハフマンコードに少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するようにさらに構成される、141541−1B項から141541−6B項の任意の組合せのデバイス。
[1127]141541−8B項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分が正の値か負の値かを識別する符号ビットを使用して、ビットストリームにおいて表され、1つまたは複数のプロセッサが、空間成分の圧縮されたバージョンを解凍するとき、符号ビットに少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するようにさらに構成される、141541−1B項から141541−7B項の任意の組合せのデバイス。
[1128]141541−9B項。空間成分の圧縮されたバージョンが、少なくとも一部、空間成分の残差値を表すためのハフマンコードを使用して、ビットストリームにおいて表され、1つまたは複数のプロセッサが、空間成分の圧縮されたバージョンを解凍するとき、ハフマンコードに少なくとも一部基づいて空間成分の圧縮されたバージョンを解凍するようにさらに構成される、141541−1B項から141541−8B項の任意の組合せのデバイス。
[1129]141541−10B項。ベクトルベースの合成が特異値分解を備える、141541−1B項から141541−10B項の任意の組合せのデバイス。
[1130]さらに、オーディオ複号デバイス540Dは、次の項に関して以下で記載される技法の様々な態様を実行するように構成され得る。
[1131]141541−1C項。オーディオ複号デバイス540Dなどのデバイスであって、音場の空間成分の圧縮されたバージョンを解凍するように構成される1つまたは複数のプロセッサを備え、空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、デバイス。
[1132]141541−2C項。1つまたは複数のプロセッサが、空間成分の圧縮されたバージョンを解凍するとき、空間成分が圧縮されたときに分類されたカテゴリを識別するカテゴリ識別子を取得することと、空間成分が正の値か負の値かを識別する符号を取得することと、空間成分の圧縮されたバージョンと関連付けられる残差値を取得することと、カテゴリ識別子と、符号と、残差値とに基づいて空間成分の圧縮されたバージョンを解凍することとを行うようにさらに構成される、141541−1C項および141541−2C項の任意の組合せのデバイス。
[1133]141541−3C項。1つまたは複数のプロセッサが、カテゴリ識別子を取得するとき、カテゴリ識別子を表すハフマンコードを取得することと、カテゴリ識別子を取得するためにハフマンコードを複号することとを行うようにさらに構成される、141541−2C項のデバイス。
[1134]141541−4C項。1つまたは複数のプロセッサが、ハフマンコードを複号するとき、少なくとも一部、複数の空間成分を指定するベクトルにおける空間成分の相対位置に基づいて、ハフマンコードを複号するために使用されるハフマンテーブルを識別するようにさらに構成される、141541−3C項のデバイス。
[1135]141541−5C項。1つまたは複数のプロセッサが、ハフマンコードを複号するとき、少なくとも一部、空間成分を圧縮するときに使用される予想モードに基づいて、ハフマンコードを複号するために使用されるハフマンテーブルを識別するようにさらに構成される、141541−3C項および141541−4C項の任意の組合せのデバイス。
[1136]141541−6C項。1つまたは複数のプロセッサが、ハフマンコードを複号するとき、少なくとも一部、空間成分の圧縮されたバージョンと関連付けられるハフマンテーブル情報に基づいて、ハフマンコードを複号するために使用されるハフマンテーブルを識別するようにさらに構成される、141541−3C項から141541−5C項の任意の組合せのデバイス。
[1137]141541−7C項。1つまたは複数のプロセッサが、ハフマンコードを複号するとき、少なくとも一部、複数の空間成分を指定するベクトルにおける空間成分の相対位置と、空間成分を圧縮するときに使用される予想モードと、空間成分の圧縮されたバージョンと関連付けられるハフマンテーブル情報とに基づいて、ハフマンコードを複号するために使用されるハフマンテーブルを識別するようにさらに構成される、141541−3C項のデバイス。
[1138]141541−8C項。1つまたは複数のプロセッサが、残差値を取得するとき、残差値を取得するために、残差値を表すブロックコードを復号するようにさらに構成される、141541−2C項のデバイス。
[1139]141541−9C項。ベクトルベースの合成が特異値分解を備える、141541−1C項から141541−8C項の任意の組合せのデバイス。
[1140]さらに、オーディオ複号デバイス540Dは、次の項に関して以下で記載される技法の様々な態様を実行するように構成され得る。
[1141]141541−1G項。オーディオ複号デバイス540Dなどのデバイスであって、複数の圧縮された空間成分の現在の空間成分の圧縮されたバージョンを複数の圧縮された空間成分の残りに対する現在の空間成分の圧縮されたバージョンの次数に基づいて解凍するときに使用するハフマンコードブックを識別するように構成される1つまたは複数のプロセッサを備え、その空間成分が、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、デバイス。
[1142]141541−2G項。1つまたは複数のプロセッサが、141541−1D項から141541−10D項、および141541−1E項から141541−9E項に記載されたステップの任意の組合せを実行するようにさらに構成される、141541−1G項のデバイス。
[1143]図42〜図42Cは各々、図40B〜図40Jの例に示される次数低減ユニット528Aをより詳細に示すブロック図である。図42は、図40B〜図40Jの次数低減ユニット528Aの一例を表し得る、次数低減ユニット528を示すブロック図である。次数低減ユニット528Aは、目標ビットレート535を受信するか、または別様に決定し、この目標ビットレート535のみに基づいて、バックグラウンド球面調和係数531に関して次数低減を実行することができる。いくつかの例では、次数低減ユニット528Aは、低減されたバックグラウンド球面調和係数529を生成するために、次数および/または位数のうちで、バックグラウンド球面調和係数531から除去されるべきであるものを識別するために、目標ビットレート535を使用して、テーブルまたは他のデータ構造にアクセスすることができる。
[1144]このようにして、本技法は、オーディオ符号化デバイス510B〜410Jなどのオーディオ符号化デバイスが、目標ビットレート535に基づいて、低減された球面調和係数529または低減された球面調和係数529の分解を生成するために、バックグラウンド球面調和係数531など、複数の球面調和係数または複数の球面調和係数の分解に関する次数低減を実行することを可能にすることができ、複数の球面調和係数は音場を表す。
[1145]上で説明された様々な例の各々において、オーディオ復号デバイス540は、ある方法を実行し、またはそうでなければ、オーディオ復号デバイス540が実行するように構成される方法の各ステップを実行するための手段を備え得ることを理解されたい。いくつかの例では、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における本技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ復号デバイス540が実行するように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[1146]図42Bは、図40B〜図40Jの次数低減ユニット528Aの一例を表し得る、次数低減ユニット528Bを示すブロック図である。図42Bの例では、目標ビットレート535のみに基づいて次数低減を実行するのではなく、次数低減ユニット528Bは、バックグラウンド球面調和係数531のコンテンツ分析に基づいて、次数低減を実行することができる。次数低減ユニット528Bは、このコンテンツ分析を実行するコンテンツ分析ユニット536Aを含み得る。
[1147]いくつかの例では、コンテンツ分析ユニット536Aは、空間分析と呼ばれるコンテンツ分析の形態を実行する空間分析ユニット536Aを含み得る。空間分析は、音場のバックグラウンド成分の形状または他の空間特性を記述する空間情報を識別するために、バックグラウンド球面調和係数531を分析することを伴い得る。この空間情報に基づいて、次数低減ユニット528Bは、低減されたバックグラウンド球面調和係数529を生成するために、次数および/または位数のうちで、バックグラウンド球面調和係数531から除去されるべきであるものを識別することができる。
[1148]いくつかの例では、コンテンツ分析ユニット536Aは、拡散分析と呼ばれるコンテンツ分析の形態を実行する拡散分析ユニット536Bを含み得る。拡散分析は、音場のバックグラウンド成分の拡散率を記述する拡散情報を識別するために、バックグラウンド球面調和係数531を分析することを伴い得る。この拡散情報に基づいて、次数低減ユニット528Bは、低減された球面調和係数529を生成するために、次数および/または位数のうちで、バックグラウンド球面調和係数531から除去されるべきであるものを識別することができる。
[1149]空間分析ユニット536Aと拡散分析ユニット36Bの両方を含むものとして示されるが、コンテンツ分析ユニット536Aは、空間分析ユニット536のみ、拡散分析ユニット536Bのみ、または空間分析ユニット536Aと拡散分析ユニット536Bの両方を含み得る。いくつかの例では、コンテンツ分析ユニット536Aは、空間分析と拡散分析の一方または両方に加えて、またはその代替として、他の形態のコンテンツ分析を実行することができる。したがって、本開示で説明される技法は、この点について限定されるべきではない。
[1150]このようにして、本技法は、オーディオ符号化デバイス510B〜510Jなどのオーディオ符号化デバイスが、音場を記述する複数の球面調和係数または複数の球面調和係数の分解のコンテンツ分析に基づいて、低減された球面調和係数または低減された球面調和係数の分解を生成するために、複数の球面調和係数または複数の球面調和係数の分解に関する次数低減を実行することを可能にすることができる。
[1151]言い換えれば、本技法は、オーディオ符号化デバイス510B〜510Jなどのデバイスが、次の項に従って構成されることを可能にすることができる。
[1152]133146−1E項。オーディオ符号化デバイス510B〜510Jのいずれかなどのデバイスであって、音場を記述する複数の球面調和係数または複数の球面調和係数の分解のコンテンツ分析に基づいて、低減された球面調和係数または低減され球面調和係数の分解を生成するために、複数の球面調和係数または複数の球面調和係数の分解に関する次数低減を実行するように構成される1つまたは複数のプロセッサを備えるデバイス。
[1153]133146−2E項。1つまたは複数のプロセッサが、次数低減を実行する前に、音場の明瞭な成分を記述する1つまたは複数の第1のベクトルと、音場のバックグラウンド成分を識別する1つまたは複数の第2のベクトルとを識別するために、複数の球面調和係数に関して特異値分解を実行するようにさらに構成され、1つまたは複数のプロセッサが、1つまたは複数の第1のベクトル、1つまたは複数の第2のベクトル、あるいは1つまたは複数の第1のベクトルと1つまたは複数の第2のベクトルの両方に関して次数低減を実行するように構成される、133146−1E項のデバイス。
[1154]133146−3E項。1つまたは複数のプロセッサが、複数の球面調和係数または複数の球面調和係数の分解に関してコンテンツ分析を実行するようにさらに構成される、133146−1E項のデバイス。
[1155]133146−4E項。1つまたは複数のプロセッサが、複数の球面調和係数または複数の球面調和係数の分解に関して空間分析を実行するように構成される、133146−3E項のデバイス。
[1156]133146−5E項。コンテンツ分析を実行することが、複数の球面調和係数または複数の球面調和係数の分解に関して拡散分析を実行することを備える、133146−3E項のデバイス。
[1157]133146−6E項。1つまたは複数のプロセッサが、複数の球面調和係数または複数の球面調和係数の分解に関して空間分析と拡散分析とを実行するように構成される、133146−3E項のデバイス。
[1158]133146−7E項。1つまたは複数のプロセッサが、複数の球面調和係数または複数の球面調和係数の分解のコンテンツ分析と、目標ビットレートとに基づいて、低減された球面調和係数または低減された球面調和係数の分解を生成するために、複数の球面調和係数または複数の球面調和係数の分解に関する次数低減を実行するように構成される、請求項1のデバイス。
[1159]133146−8E項。1つまたは複数のプロセッサが、低減された球面調和係数または低減された球面調和係数の分解をオーディオ符号化するようにさらに構成される、133146−1E項のデバイス。
[1160]133146−9E項。1つまたは複数のプロセッサが、低減された球面調和係数または低減された球面調和係数の分解をオーディオ符号化することと、低減された球面調和係数または低減された球面調和係数の分解を含むようにビットストリームを生成することとを行うようにさらに構成される、133146−1E項のデバイス。
[1161]133146−10E項。1つまたは複数のプロセッサが、低減された球面調和係数または低減された球面調和係数の分解を含むビットストリームにおいて、低減された球面調和係数または低減された球面調和係数の分解のそれらが対応する球面基底関数の1つまたは複数の次数および/あるいは1つまたは複数の位数を指定するようにさらに構成される、133146−1E項のデバイス。
[1162]133146−11E項。低減された球面調和係数または低減された球面調和係数の分解が、複数の球面調和係数または複数の球面調和係数の分解よりも小さい値を有する、133146−1E項のデバイス。
[1163]133146−12E項。1つまたは複数のプロセッサが、低減された球面調和係数または低減された球面調和係数の分解を生成するために、複数の球面調和係数または複数の球面調和係数の分解のベクトルのうちで指定された次数および/または位数を有するものを除去するようにさらに構成される、133146−1E項のデバイス。
[1164]133146−13E項。1つまたは複数のプロセッサが、低減された球面調和係数または低減された球面調和係数の分解を生成するために、複数の球面調和係数または複数の球面調和係数の分解のベクトルのうちで指定された次数および/または位数を有するものを0にするように構成される、133146−1E項のデバイス。
[1165]図42Cは、図40B〜図40Jの次数低減ユニット528Aの一例を表し得る、次数低減ユニット528Cを示すブロック図である。図42Bの次数低減ユニット528Cは、次数低減ユニット528Bと実質的に同じであるが、図42の次数低減ユニット528Aに関して上で説明された方式で目標ビットレート535を受信するか、または別様に決定し、一方でまた、図42Bの次数低減ユニット528Bに関して上で説明された方式でコンテンツ分析を実行することもできる。次数低減ユニット528Cは次いで、この目標ビットレート535およびコンテンツ分析に基づいて、バックグラウンド球面調和係数531に関して次数低減を実行することができる。
[1166]このようにして、本技法は、オーディオ符号化デバイス510B〜510Jなどのオーディオ符号化デバイスが、複数の球面調和係数または複数の球面調和係数の分解に関してコンテンツ分析を実行することを可能にすることができる。次数低減を実行するとき、オーディオ符号化デバイス510B〜510Jは、目標ビットレート535およびコンテンツ分析に基づいて、低減された球面調和係数または低減された球面調和係数の分解を生成するために、複数の球面調和係数または複数の球面調和係数の分解に関して次数低減を実行することができる。
[1167]1つまたは複数のベクトルが除去されるとすると、オーディオ符号化デバイス510B〜510Jは、ビットストリーム中のベクトルの数を制御データとして指定することができる。オーディオ符号化デバイス510B〜510Jは、オーディオ復号デバイスによるビットストリームからのベクトルの抽出を容易にするために、このビットストリーム中のベクトルの数を指定することができる。
[1168]図44は、本開示において説明される技法の様々な態様による、量子化誤差を補償するためにオーディオ符号化デバイス410Dによって実行される例示的な動作を示す図である。図44の例では、オーディオ符号化デバイス510Dの数学ユニット526は、数学演算がオーディオ複号デバイス510Dの数学ユニット526によって実行され得ることを示すために、破線ブロックとして示される。
[1169]図44の例に示されるように、数学ユニット526はまず、明瞭な球面調和係数(「HDISTベクトル630」として示される)を生成するために、UDIST*SDISTベクトル527をVT DISTベクトル525Eと乗算することができる。数学ユニット526は次いで、HDISTベクトル630を、VT DISTベクトル525Eの量子化されたバージョン(この場合も「VT Q_DISTベクトル525G」として示される)で除算することができる。数学ユニット526は、VT Q_DISTベクトル525Gの擬似逆ベクトルを決定し、次いで、HDISTベクトルをVT Q_DISTベクトル525Gの擬似逆ベクトルと乗算し、UDIST*SDIST(「USDIST」または「USDISTベクトル」として省略され得る)の誤差補償されたバージョンを出力することによって、この除算を実行することができる。USDISTの誤差補償されたバージョンは、図44の例では、US* DISTベクトル527’として示され得る。このようにして、本技法は、少なくとも一部、USDISTベクトル527に量子化誤差を実質的に射影し、US* DISTベクトル527’を生成することができる。
[1170]数学ユニット526は次いで、USERRベクトル634(UDIST*SDISTベクトル527に射影された量子化が原因の誤差の少なくとも一部分を表し得る)を決定するために、UDIST*SDISTベクトル527からUS* DISTベクトル527’を差し引くことができる。数学ユニット526は次いで、HERRベクトル636を決定するために、USERRベクトル634をVT Q_DISTベクトル525Gと乗算することができる。数学的に、HERRベクトル636は、USDISTベクトル527−US* DISTベクトル527’に等価であり得、その結果が次いで、VT DISTベクトル525Eと乗算される。数学ユニット526は次いで、UBGベクトル525DをSBGベクトル525Bと、次いでVT BGベクトル525Fと乗算することによって計算された、バックグラウンド球面調和係数531(図44の例では、HBGベクトル531として示される)に、HERRベクトル636を加算することができる。数学ユニット526は、補償されたHBGベクトル531’を生成するために、HERRベクトル636をHBGベクトル531に加算し、HBGベクトル531に量子化誤差の少なくとも一部分を実質的に射影することができる。このようにして、本技法は、HBGベクトル531に量子化誤差の少なくとも一部分を射影することができる。
[1171]図45および図45Bは、本開示において説明される技法の様々な態様による、2つのフレームの部分からのサブフレームの補間を示す図である。図45の例では、第1のフレーム650および第2のフレーム652が示される。第1のフレーム650は、U[1]行列、S[1]行列およびV’[1]行列に分解され得る球面調和係数(「SH[1]」)を含み得る。第2のフレーム652は、球面調和係数(「SH[2]」)を含み得る。これらのSH[1]およびSH[2]は、上で説明されたSHC511の異なるフレームを識別することができる。
[1172]図45Bの例では、図40Hの例に示されるオーディオ符号化デバイス510Hの分解ユニット518は、フレーム650および652の各々を4つのそれぞれのサブフレーム651A〜651Dおよび653A〜653Dに分離することができる。分解ユニット518は次いで、フレーム650の第1のサブフレーム651A(「SH[1,1]」として示される)を、U[1,1]行列、S[1,1]行列およびV[1,1]行列に分解し、V[1,1]行列519’を補間ユニット550に出力することができる。分解ユニット518は次いで、フレーム652の第2のサブフレーム653A(「SH[2,1]」として示される)を、U[1,1]行列、S[1,1]行列およびV[1,1]行列に分解し、V[2,1]行列519’を補間ユニット550に出力することができる。分解ユニット518はまた、SHC11のSH[1,1]、SH[1,2]、SH[1,3]およびSH[1,4]と、SHC511のSH[2,1]、SH[2,2]、SH[2,3]およびSH[2,4]とを補間ユニット550に出力することもできる。
[1173]補間ユニット550は次いで、図45Bの例に示される例示の下部で識別される補間を実行することができる。すなわち、補間ユニット550は、V’[1,1]およびV’[2,1]に基づいてV’[1,2]を補間することができる。補間ユニット550はまた、V’[1,1]およびV’[2,1]に基づいてV’[1,3]を補間することもできる。さらに、補間ユニット550はまた、V’[1,1]およびV’[2,1]に基づいてV’[1,4]を補間することもできる。これらの補間は、図46〜図46Eの例に示されるように、空間領域へのV’[1,1]およびV’[2,1]の射影と、後続する時間的補間および次いで球面調和関数領域に戻る射影とを伴い得る。
[1174]補間ユニット550は次に、SH[1,2]を(V’[1,2])-1と乗算することによってU[1,2]S[1,2]と、SH[1,3]を(V’[1,3])-1と乗算することによってU[1,3]S[1,3]と、SH[1,4]を(V’[1,4])-1と乗算することによってU[1,4]S[1,4]とを導出することができる。補間ユニット550は次いで、V行列519と、S行列519Bと、U行列519Cとを出力する、分解された形態においてフレームを形成し直すことができる。
[1175]図46A〜図46Eは、本開示において説明される技法に従って補間された、複数の球面調和係数の分解されたバージョンの1つまたは複数のベクトルの射影の断面を示す図である。図46Aは、SVDプロセスを通じて第1のフレームからの第1のサブフレームのSHC511から分解された第1のV行列19’の1つまたは複数の第1のベクトルの射影の断面を示す。図46Bは、SVDプロセスを通じて第2のフレームからの第1のサブフレームのSHC511から分解された第2のV行列519’の1つまたは複数の第2のベクトルの射影の断面を示す。
[1176]図46Cは、第1のフレームからの第2のサブフレームを表すV行列519Aのための1つまたは複数の補間されたベクトルの射影の断面を示し、これらのベクトルは、SHC511の第1のフレームの第1のサブフレームから分解されたV行列519’から、本開示で説明される技法に従って補間されており(すなわち、この例では、図46の例に示されるV行列519’の1つまたは複数のベクトル)、および、SHC511の第2のフレームの第1のサブフレームから分解されたV行列519’から、本開示で説明される技法に従って補間されている(すなわち、この例では、図46Bの例に示されるV行列519’の1つまたは複数のベクトル)。
[1177]図46Dは、第1のフレームからの第3のサブフレームを表すV行列519Aのための1つまたは複数の補間されたベクトルの射影の断面を示し、これらのベクトルは、SHC511の第1のフレームの第1のサブフレームから分解されたV行列519’から、本開示で説明される技法に従って補間されており(すなわち、この例では、図46の例に示されるV行列519’の1つまたは複数のベクトル)、および、SHC511の第2のフレームの第1のサブフレームから分解されたV行列519’から、本開示で説明される技法に従って補間されている(すなわち、この例では、図46Bの例に示されるV行列519’の1つまたは複数のベクトル)。
[1178]図46Eは、第1のフレームからの第4のサブフレームを表すV行列519Aのための1つまたは複数の補間されたベクトルの射影の断面を示し、これらのベクトルは、SHC511の第1のフレームの第1のサブフレームから分解されたV行列519’から、本開示で説明される技法に従って補間されており(すなわち、この例では、図46の例に示されるV行列519’の1つまたは複数のベクトル)、および、SHC511の第2のフレームの第1のサブフレームから分解されたV行列519’から、本開示で説明される技法に従って補間されている(すなわち、この例では、図46Bの例に示されるV行列519’の1つまたは複数のベクトル)。
[1179]図47は、図41〜図41Dの例に示されるオーディオ復号デバイス540A〜540Dの抽出ユニット542をより詳細に示すブロック図である。いくつかの例では、抽出ユニット542は、2つ以上の復号スキームを実行することができる、「統合された復号器」と呼ばれ得るものへのフロントエンドを表し得る(ここで、これらの2つ以上のスキームを実行することによって、復号器は、2つ以上のスキームを「統合する」と見なされ得る)。図44の例に示されるように、抽出ユニット542は、マルチプレクサ620と、抽出サブユニット622Aおよび622B(「抽出サブユニット622」)とを含む。マルチプレクサ620は、関連付けられる符号化されたフレーム分割されたSHC行列547〜547Nが合成オーディオオブジェクトから生成されるか、録音から生成されるかの対応するインジケーションに基づいて、符号化されたフレーム分割されたSHC行列547〜547Nのうちで、抽出サブユニット622Aおよび抽出サブユニット622Bに送られるべきものを識別する。抽出サブユニット622Aの各々は、いくつかの例では、合成オーディオオブジェクトから生成されたSHCまたは録音から生成されたSHCのいずれかに適合させられる、異なる復号(「解凍」と呼ばれ得る)スキームを実行することができる。抽出サブユニット622Aの各々は、SHC547に出力される、SHC547のフレームを生成するために、これらの解凍スキームのうちのそれぞれの1つを実行することができる。
[1180]たとえば、抽出ユニット622Aは、次の公式
HOA=DirV x PS
を使用して、支配的な信号(PS)からSAを再構築するために、解凍スキームを実行することができ、
ただし、DirVは、サイドチャネルを通じて送信され得る、方向ベクトル(様々な方向と幅とを表す)である。抽出ユニット622Bは、この例では、次の公式
HOA=sqrt(4π)*Ynm(シータ,ファイ)*PS
を使用して、PSからHOA行列を再構築する解凍スキームを実行することができ、
ただし、Ynmは球面調和関数であり、シータおよびファイ情報は、サイドチャネルを通じて送られ得る。
[1181]この点で、本技法は、抽出ユニット538が、音場を表す球面調和係数の圧縮されたバージョンが合成オーディオオブジェクトから生成されるかどうかのインジケーションに基づいて複数の解凍スキームの1つを選択し、複数の解凍スキームの選択された1つを使用して球面調和係数の圧縮されたバージョンを解凍することを可能にする。いくつかの例では、デバイスは、統合された復号器を備える。
[1182]図48は、図41A〜図41Dの例に示されるオーディオ復号デバイス540A〜540Dのオーディオレンダリングユニット48をより詳細に示すブロック図である。図48は、復元された球面調和係数547から、復号器ローカルスピーカーの幾何学的配置と互換性があるマルチチャネルオーディオデータ549Aへの変換を示す。(この場合も、復号器におけるスピーカーの幾何学的配置を指すことがある)いくつかのローカルスピーカーの幾何学的配置では、可逆性を保証するいくつかの変換が、望ましいとは言えない音像品質を生じることがある。すなわち、音再現は、キャプチャされているオーディオと比較されたとき、常に音の正しい定位を生じるとは限らない。この望ましいとは言えない像品質を補正するために、本技法は、「仮想スピーカー」と呼ばれ得る概念を導入するようにさらに補強され得る。
[1183]1つまたは複数のラウドスピーカーが、上で述べられたITU−R BS.775−1などの規格によって指定されたいくつかの角度トレランスを有する特定のまたは定義された空間領域中で再配置または配置されることを必要とするのではなく、上記のフレームワークは、ベクトルベースの振幅パンニング(VBAP)、距離ベースの振幅パンニング、または他の形態のパンニングなど、何らかの形態のパンニングを含むように修正され得る。説明のためにVBAPに焦点を当てると、VBAPは、「仮想スピーカー」として特徴付けられ得るものを実質的に導入し得る。VBAPは、1つまたは複数のラウドスピーカーが、仮想スピーカーをサポートする1つまたは複数のラウドスピーカーのロケーションおよび/または角度のうちの少なくとも1つと異なるロケーションおよび角度のうちの1つまたは複数において仮想スピーカーから発生するように思われる音を実質的に出力するように、これらの1つまたは複数のラウドスピーカーへのフィードを修正し得る。
[1184]説明するために、SHCに関してラウドスピーカーフィードを決定するための次の式は、次のようになり得る。
[1185]上の式において、VBAP行列はM行×N列のサイズであり、ただし、Mはスピーカーの数を示し(上の式では5に等しくなり)、Nは仮想スピーカーの数を示す。VBAP行列は、聴取者の定義されたロケーションからスピーカーの位置の各々へのベクトルと、聴取者の定義されたロケーションから仮想スピーカーの位置の各々へのベクトルとの関数として計算され得る。上の式中のD行列はN行×(order+1)2列のサイズであり得、ただし、orderはSH関数の次数を指し得る。D行列は次のものを表し得る。
[1186]g行列(または、単一の列のみがあるとすると、ベクトル)は、復号器ローカル幾何学的配置において構成されたスピーカーのためのスピーカーフィードについての利得を表し得る。この式では、g行列はMのサイズである。A行列(または、単一の列のみがあるとすると、ベクトル)は、SHC520を示すことができ、(Order+1)2とも示され得る、(Order+1)(Order+1)のサイズである。
[1187]事実上、VBAP行列は、スピーカーのロケーションと仮想スピーカーの位置とを考慮する「利得調整」と呼ばれ得るものを提供するM×N行列である。このようにしてパンニングを導入することによって、ローカルスピーカーの幾何学的配置によって再現されたとき、より良質の像を生じるマルチチャネルオーディオのより良い再現がもたらされ得る。その上、この式にVBAPを組み込むことによって、本技法は、様々な規格において指定されているものとはアラインしないプアなスピーカーの幾何学的配置を克服し得る。
[1188]実際には、この式は、反転させられ、SHCを、この場合も本開示で復号器ローカル幾何学的配置と呼ばれることがあるラウドスピーカーの特定の幾何学的配置または構成のためのマルチチャネルフィードに変換し戻すために利用され得る。すなわち、この式は、g行列について解くために反転させられ得る。反転させられた式は次のようになり得る。
[1189]g行列は、この例では、5.1スピーカー構成における5つのラウドスピーカーの各々についてのスピーカー利得を表し得る。この構成において使用される仮想スピーカーロケーションは、5.1マルチチャネルフォーマット仕様または規格において定義されているロケーションに対応し得る。これらの仮想スピーカーの各々をサポートし得るラウドスピーカーのロケーションは、任意の数の知られているオーディオ定位技法を使用して決定され得、それらの多くは、(オーディオ/ビデオ受信機(A/V受信機)、テレビジョン、ゲームシステム、デジタルビデオディスクシステム、または他のタイプのヘッドエンドシステムなどの)ヘッドエンドユニットに対して各ラウドスピーカーのロケーションを決定するために特定の周波数を有するトーンを再生することを伴う。代替的に、ヘッドエンドユニットのユーザが、ラウドスピーカーの各々のロケーションを手動で指定し得る。いずれの場合も、これらの知られているロケーションと考えられる角度とを鑑みて、ヘッドエンドユニットは、利得について解き、VBAPを介して仮想ラウドスピーカーの理想的な構成を仮定し得る。
[1190]この点で、デバイスまたは装置は、異なるローカル幾何学的配置において構成された仮想スピーカーから発生するように思われる音を発するために、復号器ローカル幾何学的配置におけるスピーカーを駆動する複数のチャネルを生成するために、複数の仮想チャネルにおいて、ベクトルベースの振幅パンニングまたは他の形態のパンニングを実行することができる。したがって、本技法は、オーディオ復号デバイス40が、複数のチャネルを生成するために、復元された球面調和係数47など、複数の球面調和係数において変換を実行することを可能にすることができる。複数のチャネルの各々は、対応する異なる空間領域と関連付けられ得る。その上、複数のチャネルの各々は、複数の仮想チャネルを備えてよく、ここで、複数の仮想チャネルは、対応する異なる空間領域と関連付けられ得る。したがって、デバイスは、マルチチャネルオーディオデータ49の複数のチャネルを生成するために、仮想チャネルにおいてベクトルベースの振幅パンニングを実行することができる。
[1191]図49A〜図49E(ii)は、本開示において説明される技法の様々な態様を実装し得る、それぞれのオーディオコーディングシステム560A〜560C、567D、569D、571Eおよび573Eを示す図である。図49Aの例に示されるように、オーディオコーディングシステム560Aは、オーディオ符号化デバイス562とオーディオ復号デバイス564とを含み得る。オーディオ符号化デバイス562は、それぞれ図4および図40A〜図40Dの例に示されるオーディオ符号化デバイス20および510A〜510Dのうちの任意のものと類似であり得る。オーディオ複号デバイス564は、図5および図41の例に示されるオーディオ複号デバイス24および40と類似であり得る。
[1192]上で説明されたように、高次アンビソニックス(HOA)は、空間フーリエ変換に基づいて音場のすべての指向性情報を記述するための方法である。いくつかの例では、アンビソニックス次数Nが高いほど、空間分解能は高く、球面調和(SH)係数の数(N+1)2は大きくなる。したがって、アンビソニックス次数Nが高いほど、いくつかの例では、係数を送信し、記憶するためにより大きい帯域幅要件をもたらす。HOAの帯域幅要件は、たとえば、5.1または7.1サラウンド音響オーディオデータと比較して、むしろ高いので、帯域幅低減が、多くの適用形態にとって望まれ得る。
[1193]本開示で説明される技法によれば、オーディオコーディングシステム560Aは、空間音響シーンにおける不明瞭な(バックグラウンドまたは環境)要素から明瞭な(フォアグラウンド)要素を分離することに基づく方法を実行することができる。この分離は、オーディオコーディングシステム560Aが、フォアグラウンド要素とバックグラウンド要素とを互いとは無関係に処理することを可能にし得る。この例では、オーディオコーディングシステム560Aは、フォアグラウンド要素が(聴取者による)より多くの注意を引くことができ、バックグラウンド要素と比較して(この場合も聴取者によって)定位することがより容易であり得るという、特性を活用する。結果として、オーディオコーディングシステム560Aは、より効率的にHOAコンテンツを記憶または送信することができる。
[1194]いくつかの例では、オーディオコーディングシステム560Aは、特異値分解(SVD)プロセスを利用することによって、この分離を達成することができる。SVDプロセスは、HOA係数のフレームを3つの行列(U、S、V)に分離することができる。行列Uは左特異ベクトルを含み、V行列は右特異ベクトルを含む。対角行列Sは、その対角線において非負のソートされた特異値を含む。HOA係数の一般に良い(または、いくつかの例では、HOA係数を表すことにおいて無限の精度を仮定すると、完全な)再構築は、U*S*V’によって与えられるようになる。D個の最大の特異値U(:,1:D)*S(1:D,:)*V’をもつサブ空間を再構築することのみによって、オーディオコーディングシステム560Aは、このHOAフレームから最も顕著な空間情報、すなわち、フォアグラウンド音声要素(と、場合によっては、いくつかの強い初期の室内反射と)を抽出することができる。残りのU(:,D+1:終了)*S(D+1:終了,:)*V’は、コンテンツからバックグラウンド要素と残響とを再構築することができる。
[1195]オーディオコーディングシステム560Aは、Sの降順の対角線上の値によって作成される曲線の傾きを分析することによって、2つのサブ空間を分離する値Dを決定することができ、大きい特異値はフォアグラウンド音声を表し、小さい特異値はバックグラウンド値を表す。オーディオコーディングシステム560Aは、特異値曲線の一次導関数と二次導関数とを使用することができる。オーディオコーディングシステム560Aはまた、数Dを1と5との間になるように限定することもできる。代替的に、オーディオコーディングシステム560Aは、4という値などへと数Dを事前に定めることができる。いずれにしても、数Dが推定されると、オーディオコーディングシステム560Aは、行列UおよびSからフォアグラウンドサブ空間とバックグラウンドサブ空間とを抽出する。
[1196]オーディオコーディングシステム560Aは次いで、U(:,D+1:終了)*S(D+1:終了,:)*V’を介してバックグラウンドシーンのHOA係数を再構築し、HOA係数の(N+1)2チャネルをもたらすことができる。バックグラウンド要素は、いくつかの例では、フォアグラウンド要素と比較してそれほど顕著ではなく、それほど定位可能ではないことが知られているので、オーディオコーディングシステム560Aは、HOAチャネルの次数を切り捨てることができる。さらに、オーディオコーディングシステム560Aは、AACなど、有損失または無損失のオーディオコーデックを用いて、または任意選択で、顕著なフォアグラウンド要素を圧縮するために使用されるものと比較して、よりアグレッシブなオーディオコーデックを用いて、これらのチャネルを圧縮することができる。いくつかの例では、帯域幅を節約するために、オーディオコーディングシステム560Aは、フォアグラウンド要素を異なるように送信することができる。すなわち、オーディオコーディングシステムは、有損失または無損失のオーディオコーデック(AACなど)を用いて圧縮された後に左特異ベクトルU(:,1:D)を送信し、再構築行列R=S(1:D,:)*V’とともにこれらの圧縮された左特異値を送信することができる。Rは、フレームにわたって異なり得る、D×(N+1)2行列を表し得る。
[1197]オーディオコーディングシステム560の受信機側で、オーディオコーディングシステムは、(N+1)2HOAチャネルのフレームを再構築するために、これらの2つの行列を乗算することができる。バックグラウンドHOAチャネルおよびフォアグラウンドHOAチャネルが一緒に加算されると、オーディオコーディングシステム560Aは、任意の適切なアンビソニックスレンダラを使用して、任意のラウドスピーカーセットアップにレンダリングすることができる。本技法はバックグラウンド要素からのフォアグラウンド要素(直接または明瞭な音声)の分離を提供するので、聴覚障害者は、了解度を増すために、フォアグラウンドからバックグラウンド要素のミキシングを制御することができる。また、たとえば、フォアグラウンド要素のみにおけるダイナミックコンプレッサーなど、他のオーディオ効果もまた適用可能であり得る。
[1198]図49Bは、オーディオ符号化システム560Bをより詳細に示すブロック図である。図49Bの例に示されるように、オーディオコーディングシステム560Bは、オーディオ符号化デバイス566とオーディオ復号デバイス568とを含み得る。オーディオ符号化デバイス566は、図4および図40Eの例に示されるオーディオ符号化デバイス24および510Eと類似であり得る。オーディオ複号デバイス568は、図5および図41Bの例に示されるオーディオ複号デバイス24および540Bと類似であり得る。
[1199]本開示で説明される技法に従って、HoA信号におけるフレームベースのSVD(または、KLT&PCAなどの関連方法)分解を使用するとき、帯域幅低減の目的で、オーディオ符号化デバイス66は、(S行列の対応する特異値と乗算された)U行列の最初のいくつかのベクトル、ならびに、VTベクトルの対応するベクトルを量子化することができる。これは、音場の「フォアグラウンド」成分を備えるようになる。本技法は、オーディオ符号化デバイス566が、「ブラックボックス」オーディオコーディングエンジンを使用して、UDIST*SDISTベクトルをコーディングすることを可能にすることができる。Vベクトルには、スカラー量子化またはベクトル量子化のいずれかが行われ得る。加えて、U行列における残りのベクトルの一部または全部は、S行列およびV行列の対応する特異値と乗算され、また「ブラックボックス」オーディオコーディングエンジンを使用してコーディングされ得る。これらは、音場の「バックグラウンド」成分を備えるようになる。
[1200]最大の聴覚的成分が「フォアグラウンド成分」に分解されるので、オーディオ符号化デバイス566は、バックグラウンドが重要な定位可能なコンテンツを含まない(と我々が仮定する)ので、「ブラックボックス」オーディオコーディングエンジンを使用する前に「バックグラウンド」成分のアンビソニックス次数を低減することができる。フォアグラウンド成分のアンビソニックス次数に応じて、オーディオ符号化ユニット566は、むしろ大きくなり得る、対応するVベクトル(複数可)を送信することができる。たとえば、Vベクトルの単純な16ビットスカラー量子化は、フォアグラウンド成分ごとに、4次(25個の係数)ではほぼ20kbpsオーバーヘッドと、6次(49個の係数)では40kbpsとをもたらすようになる。本開示で説明される技法は、Vベクトルのこのオーバーヘッドを低減するための方法を提供することができる。
[1201]説明するために、上で説明されたように、フォアグラウンド要素のアンビソニックス次数がNDISTであることと、バックグラウンド要素のアンビソニックス次数NBGとを仮定する。オーディオ符号化デバイス566は、上で説明されたように、バックグラウンド要素のアンビソニックス次数を低減することができるので、NBGはNDIST未満であり得る。受信機側でフォアグラウンド要素を再構築するために送信される必要があるフォアグラウンドVベクトルの長さは、フォアグラウンド要素ごとに(NDIST+1)2の長さを有するのに対して、最初の((NDIST+1)2)−((NBG+1)2)個の係数は、次数NBGまでのフォアグラウンドまたは明瞭な成分を再構築するために使用され得る。本開示で説明される技法を使用して、オーディオ符号化デバイス566は、次数NBGまでのフォアグラウンドを再構築し、得られた(NBG+1)2個のチャネルをバックグラウンドチャネルとマージし、次数NBGまでの完全な音場をもたらすことができる。オーディオ符号化デバイス566は次いで、Vベクトルを、送信のために、(NBG+1)2よりも高いインデックスをもつそれらの係数まで低減することができる(ここで、これらのベクトルは「VT SMALL」と呼ばれ得る)。受信機側で、オーディオ復号ユニット568は、フォアグラウンド要素をVT SMALLベクトルと乗算することによって、NBGよりも大きいアンビソニックス次数のためのフォアグラウンドオーディオチャネルを再構築することができる。
[1202]図49Cは、オーディオ符号化システム560Cをより詳細に示すブロック図である。図49Cの例に示されるように、オーディオコーディングシステム560Bは、オーディオ符号化デバイス567とオーディオ復号デバイス569とを含み得る。オーディオ符号化デバイス567は、図4および図40Fの例に示されるオーディオ符号化デバイス20および510Fと類似であり得る。オーディオ複号デバイス569は、図5および図41Bの例に示されるオーディオ複号デバイス24および540Bと類似であり得る。
[1203]本開示で説明される技法に従って、HoA信号におけるフレームベースのSVD(または、KLT&PCAなどの関連方法)分解を使用するとき、帯域幅低減の目的で、オーディオ符号化デバイス567は、(S行列の対応する特異値と乗算された)U行列の最初のいくつかのベクトル、ならびに、VTベクトルの対応するベクトルを量子化することができる。これは、音場の「フォアグラウンド」成分を備えるようになる。本技法は、オーディオ符号化デバイス567が、「ブラックボックス」オーディオコーディングエンジンを使用して、UDIST*SDISTベクトルをコーディングすることを可能にすることができる。Vベクトルには、スカラー量子化またはベクトル量子化のいずれかが行われ得る。加えて、U行列における残りのベクトルの一部または全部は、S行列およびV行列の対応する特異値と乗算され、また「ブラックボックス」オーディオコーディングエンジンを使用してコーディングされ得る。これらは、音場の「バックグラウンド」成分を備えるようになる。
[1204]最大の聴覚的成分が「フォアグラウンド成分」に分解されるので、オーディオ符号化デバイス567は、バックグラウンドが重要な定位可能なコンテンツを含まない(と我々が仮定する)ので、「ブラックボックス」オーディオコーディングエンジンを使用する前に「バックグラウンド」成分のアンビソニックス次数を低減することができる。オーディオ符号化デバイス567は、本明細書で説明される技法に従って、音場の全体的なエネルギーを保存するような方法で、次数を低減することができる。フォアグラウンド成分のアンビソニックス次数に応じて、オーディオ符号化ユニット567は、むしろ大きくなり得る、対応するVベクトル(複数可)を送信することができる。たとえば、Vベクトルの単純な16ビットスカラー量子化は、フォアグラウンド成分ごとに、4次(25個の係数)ではほぼ20kbpsオーバーヘッドと、6次(49個の係数)では40kbpsとをもたらすようになる。本開示で説明される技法は、Vベクトル(複数可)のこのオーバーヘッドを低減するための方法を提供することができる。
[1205]説明するために、フォアグラウンド要素およびバックグラウンド要素のアンビソニックス次数がNであると仮定する。オーディオ符号化デバイス567は、Vベクトル(複数可)のバックグラウンド要素のアンビソニックス次数をNから
まで低減し、
であるようにすることができる。オーディオ符号化デバイス67は、SHCによって記述される音場の全体的なエネルギーを保存するために、Vベクトル(複数可)のバックグラウンド要素の値を増すために、補償をさらに適用する。補償を適用するための例示的な技法は、図40Fに関して上で説明されている。受信機側で、オーディオ復号ユニット569は、アンビソニックス次数のためのバックグラウンドオーディオチャネルを再構築することができる。
[1206]図49D(i)および図49D(ii)は、それぞれオーディオ符号化デバイス567Dおよびオーディオ復号デバイス569Dを示す。オーディオ符号化デバイス567Dおよびオーディオ復号デバイス569Dは、本開示の態様に従って、1つまたは複数の指向性ベースの明瞭性決定を実行するように構成され得る。高次アンビソニックス(HOA)は、空間フーリエ変換に基づいて音場のすべての指向性情報を記述するための方法である。アンビソニックス次数Nが高いほど、空間分解能は高くなり、球面調和(SH)係数の数(N+1)^2は大きくなり、データを送信し、記憶するために必要とされる帯域幅はより大きくなる。HOAの帯域幅要件がむしろ高いので、多くの適用形態では、帯域幅低減が望まれる。
[1207]以前の説明は、SVD(特異値分解)または関連プロセスが空間オーディオ圧縮のためにどのように使用され得るかについて説明した。本明細書で説明される技法は、フォアグラウンド要素とも呼ばれる顕著な要素を選択するための改善されたアルゴリズムを提示する。HOAオーディオフレームの、そのU、S、およびV行列へのSVDベースの分解の後、本技法は、K個の顕著な要素の選択を、U行列の最初のK個のチャネル[U(:,1:K)*S(1:K,1:K)]のみに基づかせる。これは、最高のエネルギーをもつオーディオ要素を選択することをもたらす。ただし、それらの要素もまた指向性があることは保証されない。したがって、本技法は、高いエネルギーを有し、指向性もある音声要素を発見することを対象とする。これは、潜在的には、S行列を用いてV行列を重み付けることによって達成される。次いで、この得られた行列の行ごとに、より高くインデックス付けられた要素(高次HOA係数と関連付けられる)が二乗および加算され、1行につき1つの値が得られる[図40Hに関して説明された擬似コードにおけるsumVS]。擬似コードにおいて表されたワークフローに従って、5番目のインデックスで開始する高次アンビソニックス係数が考えられる。これらの値は、それらのサイズに従ってソートされ、ソートインデックスは、オリジナルのU、S、およびV行列をそれに応じて再構成するために使用される。本開示で以前に説明されたSVDベースの圧縮アルゴリズムが次いで、さらなる修正なしに適用され得る。
[1208]図49E(i)および図49E(ii)は、それぞれオーディオ符号化デバイス571Eおよびオーディオ復号デバイス573Eを示すブロック図である。オーディオ符号化デバイス571Eおよびオーディオ復号デバイス573Eは、オーディオ符号化デバイス571Eが、S2行列とV行列とを生成するために、HOA係数の電力スペクトル密度行列(PDS)に関して特異値分解を実行することができることを除いて、図49〜図49D(ii)の例に関して上で説明された技法の様々な態様を実行することができる。S2行列は、二乗されたS行列を示すことができ、すなわちS2行列は、S行列を取得するために平方根演算を受けることができる。オーディオ符号化デバイス571Eは、いくつかの例では、量子化されたV行列(V’行列と示され得る)を取得するために、V行列に関して量子化を実行することができる。
[1209]オーディオ符号化デバイス571Eは、SV’行列を生成するために、S行列を量子化されたV’行列とまず乗算することによって、U行列を取得することができる。オーディオ符号化デバイス571Eは次に、SV’行列の擬似逆行列を取得することができ、次いで、U行列を取得するためにSV’行列の擬似逆行列とHOA係数を乗算することができる。HOA係数自体ではなくHOA係数の電力スペクトル密度に関してSVDを実行することによって、オーディオ符号化デバイス571Eは場合によっては、プロセッササイクルと記憶空間の1つまたは複数に関してSVDを実行することの計算的な複雑さを低減しつつ、SVDがHOA係数に直接適用されたかのように同じソースオーディオの符号化効率を達成することができる。
[1210]オーディオ複号デバイス573Eは、オーディオ複号デバイス573Eが、直接的にHOA係数ではなくHOA係数の電力スペクトル密度へのSVDの適用を通じて達成されたHOA係数の分解からHOA係数を再構築することができることを除いて、上で説明されたそれらのオーディオ復号デバイスと同様であり得る。
[1211]図50Aおよび図50Bは、本開示において説明される技法による、バックグラウンドコンテンツの次数を潜在的に低減するための2つの異なる手法の1つを各々が示すブロック図である。図50の例に示されるように、第1の手法は、次数をNから
まで低減するために、UBG*SBG*VTベクトルに関して次数低減を利用することができ、ただし、
は(<)N未満である。すなわち、図40B〜図40Jの例に示される次数低減ユニット528Aは、UBG*SBG*VTベクトルの次数Nを
に切り捨てるかまたは別様に低減するために、次数低減を実行することができ、ただし、
は(<)N未満である。
[1212]代替手法として、次数低減ユニット528Aは、図50Bの例に示されるように、VTに関してこの切り捨てを実行し、行を
になるように排除することができ、
これは、説明を簡単にするために、図40Bの例に示されない。言い換えれば、次数低減ユニット528Aは、VBG行列を実質的に生成するために、VT行列の1つまたは複数の次数を除去することができる。このVBG行列のサイズは、
であり、ここで、このVBG行列は次いで、UBG*SBG*VTベクトルを生成するときにVT行列の代わりに使用され、
のサイズのUBG*SBG*VTベクトルを生成するために、切り捨てが実質的に実行される。
[1213]図51は、球面調和係数701を圧縮するために本開示で説明された技法の様々な態様を実施し得るオーディオ符号化デバイス700Aの明瞭な成分の圧縮経路の例を示すブロック図である。図51の例では、明瞭な成分の圧縮経路は、SHC701によって表される音場の明瞭な成分を圧縮する、オーディオ符号化デバイス700Aの処理経路を指し得る。バックグラウンド成分圧縮経路と呼ばれ得る、別の経路は、SHC701のバックグラウンド成分を圧縮する、オーディオ符号化デバイス700Aの処理経路を表し得る。
[1214]説明を簡単にするために示されていないが、バックグラウンド成分圧縮経路は、SHC701の分解ではなく、直接的にSHC701に関して動作することができる。これは、UBG行列、SBG行列およびVBG行列からバックグラウンド成分を再合成し、次いでこれらの再合成されたバックグラウンド成分のある形態の(たとえば、AAC符号化器を使用する)音響心理学的符号化を実行するのではなく、バックグラウンド成分処理経路が、(図4の例に示されたオーディオ符号化デバイス20に関して上で説明されたように)直接的にSHC701に関して動作し、音響心理学的符号化器を使用して、これらのバックグラウンド成分を圧縮することができることを除いて、図49〜図49Cに関して上で説明されたものと類似である。直接的にSHC701に関して音響心理学的符号化を実行することによって、不連続性が低減され、一方でまた、再合成されたバックグラウンド成分に関して音響心理学的符号化を実行することと比較して、(バックグラウンド成分を圧縮するために必要とされる動作に関する)計算的な複雑さを低減することもできる。明瞭およびバックグラウンドに関して言及されるが、本開示では「目立つ」という用語が「明瞭」の代わりに使用されることがあり、「環境的」という用語が「バックグラウンド」の代わりに使用されることがある。
[1215]いずれにしても、球面調和係数701(「SHC701」)は、M×(N+1)2のサイズを有する係数の行列を備えることができ、ここで、Mは、オーディオフレームにおけるサンプルの数を示し(および、いくつかの例では1024であり)、Nは、係数が対応する基底関数の最高次数を示す。上で述べられたように、Nは一般に、全体で1024×25個の係数では4に設定される。特定の次数と位数の組合せに対応するSHC701の各々は、チャネルと呼ばれ得る。たとえば、1次数、0位数の基底関数に対応するM個のサンプル係数のすべては、あるチャネルを表し得るが、0次数、0位数の基底関数に対応する係数は、別のチャネルを表し得る、などとなる。SHC701はまた、本開示では、高次アンビソニックス(HOA)コンテンツ701またはSH信号701と呼ばれることもある。
[1216]図51の例に示されるように、オーディオ符号化デバイス700Aは、分析ユニット702と、ベクトルベースの合成ユニット704と、ベクトル低減ユニット706と、音響心理学的符号化ユニット708と、係数低減ユニット710と、圧縮ユニット712(「comprユニット712」)とを含む。分析ユニット702は、音場の明瞭な成分(D)703と、バックグラウンド成分の総数(BGTOT)705とを識別するように、SHC701に関して分析を実行するように構成されるユニットを表し得る。上で説明されたオーディオ符号化デバイスと比較して、オーディオ符号化デバイス700Aは、SHC701の分解に関してこの決定を実行するのではなく、SHC701に関して直接的に実行する。
[1217]ベクトルベースの合成ユニット704は、SVDの例では、M×(N+1)2のサイズを有する[US]行列707と、(N+1)2×(N+1)2のサイズを有する[V]行列709とを生成するために、SVD、KLT、PCAまたは任意の他のベクトルベースの合成など、SHC701に関してある形態のベクトルベースの合成を実行するように構成されるユニットを表す。[US]行列707は、SHC701へのSVDの適用を通じて生成された[U]行列および[S]行列の行列乗算から得られる行列を表し得る。
[1218]ベクトル低減ユニット706は、[US}行列707および[V]行列709の残りのベクトルの各々が音場の明瞭または目立つ成分を識別するように、[US]行列707および[V]行列709のベクトルの数を低減するように構成されるユニットを表し得る。ベクトル低減ユニット706は、明瞭な成分の数D703に基づいて、この低減を実行することができる。明瞭な成分の数D703は、実際には、数のアレイを表すことができ、ここで、各数は、行列707および709の異なる明瞭なベクトルを識別する。ベクトル低減ユニット706は、M×Dのサイズの低減された[US]行列711と、(N+1)2×Dのサイズの低減された[V]行列713とを出力することができる。
[1219]説明を簡単にするために示されていないが、[V]行列709の補間は、上でより詳細に説明されたものに類似した方式で、[V]行列709の低減の前に行われ得る。その上、説明を簡単にするために示されていないが、上でより詳細に説明された方式で、低減された[US]行列711および/または低減された[V]行列712の再順序付けである。したがって、本技法は、これらおよび他の点(誤差射影、または上で説明されているが図51の例に示されていない前述の技法の任意の他の態様など)において限定されるべきではない。
[1220]音響心理学的符号化ユニット708は、ビットストリーム715を生成するために、[US]行列711に関して音響心理学的符号化を実行するように構成されるユニットを表す。係数低減ユニット710は、低減された[V]行列713のチャネルの数を低減するように構成されるユニットを表し得る。言い換えれば、係数低減ユニット710は、(低減された[V]行列713を形成する)明瞭なVベクトルの係数のうちで指向性情報をほとんどまたはまったく有しないものを排除するように構成されるユニットを表し得る。上で説明されたように、いくつかの例では、明瞭なVベクトルの係数のうちで、1次または0次の基底関数に対応するもの(上でNBGと示される)は、指向性情報をほとんど提供せず、したがって、明瞭なVベクトルから(上で「次数低減」と呼ばれるものを通じて)除去され得る。この例では、対応するこれらの係数NBGを識別するだけではなく、追加のHOAチャネル(変数TotalOfAddAmbHOAChanによって示され得る)を[(NBG+1)2+1,(N+1)2]のセットから識別するために、より大きい柔軟性が与えられ得る。分析ユニット702は、(NBG+1)2のみではなく、TotalOfAddAmbHOAChanをも識別し得る、BGTOTを決定するために、SHC701を分析することができる。係数低減ユニット710は次いで、((N+1)2−(BGTOT)×Dのサイズの小さい[V]行列717を生成するために、低減された[V]行列713から、係数のうちで(NBG+1)2およびTotalOfAddAmbHOAChanに対応するものを除去することができる。
[1221]圧縮ユニット712は次いで、小さい[V]行列717を圧縮するために、上で述べられたスカラー量子化および/またはハフマン符号化を実行し、サイドチャネル情報719(「サイドチャネルinfo719」)として、圧縮された小さい[V]行列717を出力することができる。圧縮ユニット712は、図10〜図10O(ii)の例に示されるものに類似した方式で、サイドチャネル情報719を出力することができる。いくつかの例では、上で説明されたものに類似したビットストリーム生成ユニットは、サイドチャネル情報719をビットストリーム715に組み込むことができる。その上、ビットストリーム715と呼ばれるが、オーディオ符号化デバイス700Aは、上で述べられたように、別のビットストリームをもたらすバックグラウンド成分処理経路を含むことができ、ここで、上で説明されたものに類似したビットストリーム生成ユニットは、ビットストリーム715と、バックグラウンド成分処理経路によって出力されたビットストリームとを含む、上で説明されたビットストリーム17に類似したビットストリームを生成することができる。
[1222]本開示で説明される技法に従って、分析ユニット702は、ベクトル、すなわち、この例では、音場の明瞭な成分を表すために使用されるべき、低減された[V]行列713のベクトルの、係数の第1の0ではないセットを決定するように構成され得る。いくつかの例では、分析ユニット702は、低減された[V]行列713を形成するあらゆるベクトルの係数のすべてがサイドチャネル情報719に含まれるべきであると決定することができる。したがって、分析ユニット702は、BGTOTを0に等しく設定することができる。
[1223]したがって、オーディオ符号化デバイス700Aは実質的に、「複号されたベクトル」として示された表に関して上で説明されたものとは逆の方式で作用することができる。加えて、オーディオ符号化デバイス700Aは、アクセスユニット(1つまたは複数のフレームを含み得る)のヘッダ中のシンタックス要素、複数の構成モードのいずれが選択されたかを指定することができる。アクセスユニットごとに指定されるものとして説明されるが、分析ユニット702は、フレームごとに、または任意の他の周期的な方式で、または非周期的に(ビットストリーム全体で1回など)このシンタックス要素を指定することができる。いずれにしても、このシンタックス要素は、この明瞭な成分の指向性の様相を表すために、4つの構成モードのいずれが低減された[V]行列713の係数の0ではないセットを指定するために選択されたかを示す2つのビットを備え得る。シンタックス要素は、「codedVVecLength」として示され得る。このようにして、オーディオ符号化デバイス700Aは、4つの構成モードのいずれが小さい[V]行列717をビットストリームにおいて指定するために使用されたかを、ビットストリームにおいてシグナリングし、または別様に指定することができる。4つの構成モードに関して説明されるが、本技法は4つの構成モードに限定されるべきではなく、単一の構成モードまたは複数の構成モードを含む、任意の数の構成モードに限定されるべきである。
[1224]したがって、本技法の様々な態様は、オーディオ符号化デバイス700Aが、次の項に従って動作するように構成されることを可能にすることができる。
[1225]133149−1F項。ベクトルの係数の0ではないセットをそれによって指定する複数の構成モードのうちの1つを選択することと、ベクトルが、音場を記述する複数の球面調和係数から分解されており、音場の明瞭な成分を表す、複数の構成モードのうちの選択された1つに基づいて、ベクトルの係数の0ではないセットを指定することとを行うように構成される、1つまたは複数のプロセッサを備えるデバイス。
[1226]133149−2F項。複数の構成モードのうちの1つが、係数の0ではないセットが係数のすべてを含むことを示す、133149−1F項のデバイス。
[1227]133149−3F項。複数の構成モードのうちの1つが、係数の0ではないセットが、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含むことを示す、133149−1F項のデバイス。
[1228]133149−4F項。複数の構成モードのうちの1つが、係数の0ではないセットが、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含め、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応する係数の少なくとも1つを含めないことを示す、133149−1F項のデバイス。
[1229]133149−5F項。複数の構成モードのうちの1つが、係数の0ではないセットが係数の少なくとも1つを除き係数のすべてを含むことを示す、133149−1F項のデバイス。
[1230]133149−6F項。1つまたは複数のプロセッサが、ビットストリームにおいて、複数の構成モードのうちの選択された1つを指定するようにさらに構成される、133149−1F項のデバイス。
[1231]133149−1G項。複数の構成モードのうちの1つに従って、ベクトルの係数の0ではないセットをそれによって抽出する複数の構成モードのうちの1つを決定することと、ベクトルが、音場を記述する複数の球面調和係数から分解されており、音場の明瞭な成分を表す、複数の構成モードのうちの取得された1つに基づいて、ベクトルの係数の0ではないセットを抽出することとを行うように構成される、1つまたは複数のプロセッサを備えるデバイス。
[1232]133149−2G項。複数の構成モードのうちの1つが、係数の0ではないセットが係数のすべてを含むことを示す、133149−1G項のデバイス。
[1233]133149−3G項。複数の構成モードのうちの1つが、係数の0ではないセットが、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含むことを示す、133149−1G項のデバイス。
[1234]133149−4G項。複数の構成モードのうちの1つが、係数の0ではないセットが、係数のうちで、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応するものを含め、複数の球面調和係数の1つまたは複数が対応する基底関数の次数よりも大きい次数に対応する係数の少なくとも1つを含めないことを示す、133149−1G項のデバイス。
[1235]133149−5G項。複数の構成モードのうちの1つが、係数の0ではないセットが係数の少なくとも1つを除き係数のすべてを含むことを示す、133149−1G項のデバイス。
[1236]133149−6G項。1つまたは複数のプロセッサが、複数の構成モードのうちの1つを決定するとき、ビットストリームにおいてシグナリングされた値に基づいて、複数の構成モードのうちの1つを決定するようにさらに構成される、133149−1G項のデバイス。
[1237]図52は、SHC701を再構築またはほぼ再構築するために本開示で説明される技法の様々な態様を実施し得るオーディオ復号デバイス750Aの別の例を示すブロック図である。図52の例では、オーディオ復号デバイス750Aは、抽出ユニット542がビットストリーム715’(ビットストリーム715’がSHCBG752のオーディオ符号化されたバージョンをも含むことを除いて、図51の例に関して上で説明されたビットストリーム715と類似である)と、サイドチャネル情報719とを受信することを除いて、図41Dの例に示されるオーディオ復号デバイス540Dと類似である。この理由で、抽出ユニットは「抽出ユニット542’」として示される。
[1238]その上、抽出ユニット542’は、抽出ユニット542’がV解凍ユニット555の修正された形態(図52の例では「V解凍ユニット555’」と示される)を含む点において、抽出ユニット542とは異なる。V解凍ユニット555’は、サイドチャネル情報719と、codedVVecLength754と示されるシンタックス要素とを受信する。抽出ユニット542’は、ビットストリーム715’から(および、一例では、ビットストリーム715’内に含まれたアクセスユニットヘッダから)codedVVecLength754を解析する。V解凍ユニット555’は、上記の説明された構成モード760のうちの任意の1つに従って動作するように構成可能な、モード構成ユニット756(「モードconfigユニット756」)と解析ユニット758とを含む。
[1239]モード構成ユニット756は、シンタックス要素754を受信し、構成モード760のうちの1つを選択する。モード構成ユニット756は次いで、構成モード760のうちの選択された1つを用いて、解析ユニット758を構成する。解析ユニット758は、サイドチャネル情報719から圧縮された形態の小さい[V]ベクトル717を解析するために、構成モード760のうちの任意の1つに従って動作するように構成されるユニットを表す。解析ユニット758は、次の表に提示されたスイッチステートメントに従って動作することができる。
[1240]前述のシンタックステーブルにおいて、4つのケース(ケース0〜3)を伴う第1のスイッチステートメントは、小さい[V]行列717の各ベクトルの長さを係数の数に関して決定する方法を提供する。第1のケースであるケース0は、VT DISTベクトルの係数のすべてが指定されることを示す。第2のケースであるケース1は、VT DISTベクトルの係数のうちでMinNumOfCoeffsForAmbHOAよりも大きい次数に対応するもののみが指定されることを示し、これは上で(NDIST+1)−(NBG+1)と呼ばれるものを示し得る。第3のケースであるケース2は、第2のケースに類似しているが、NumOfAddAmbHoaChanによって識別される係数をさらに差し引き、これは次数NBGを超える次数に対応する追加のチャネル(ここで「チャネル」は、ある次数と位数の組合せに対応する特定の係数を指す)を指定するための変数を示す。第4のケースであるケース3は、VT DISTベクトルの係数のうちでNumOfAddAmbHoaChanによって識別される係数を除去した後で残るもののみが指定されることを示す。
[1241]この点について、オーディオ復号デバイス750Aは、音場の明瞭な成分を表すベクトルの係数の第1の0ではないセットを決定するために、本開示で説明される技法に従って動作することができ、このベクトルは、音場を記述する複数の球面調和係数から分解されたものである。
[1242]その上、オーディオ復号デバイス750Aは、複数の構成モードのうちの1つに従って、ベクトルの係数の0ではないセットをそれによって抽出する複数の構成モードのうちの1つを決定することと、ベクトルは、音場を記述する複数の球面調和係数から分解されており、音場の明瞭な成分を表す、複数の構成モードのうちの取得された1つに基づいて、ベクトルの係数の0ではないセットを抽出することとを行うために、本開示で説明される技法に従って動作するように構成され得る。
[1243]図53は、本開示において説明される技法の様々な態様を実行し得るオーディオ符号化デバイス570の別の例を示すブロック図である。図53の例では、オーディオ符号化デバイス570は、オーディオ符号化デバイス510A〜510Jのうちの1つまたは複数と類似であり得る(ここで、次数低減ユニット528Aは、音場成分抽出ユニット20内に含まれると仮定されるが、説明を簡単にするために示されない)。ただし、オーディオ符号化デバイス570は、いくつかの例では、分解ユニット518を備え得る、より一般的な変換ユニット572を含み得る。
[1244]図54は、図53の例に示されるオーディオ符号化デバイス570の例示的な実装形態をより詳細に示すブロック図である。図54の例に示されるように、オーディオ符号化デバイス570の変換ユニット572は、回転ユニット654を含む。オーディオ符号化デバイス570の音場成分抽出ユニット520は、空間分析ユニット650と、コンテンツ特性分析ユニット652と、コヒーレント成分抽出ユニット656と、拡散成分抽出ユニット658とを含む。オーディオ符号化デバイス570のオーディオ符号化ユニット514は、AACコーディングエンジン660と、AACコーディングエンジン162とを含む。オーディオ符号化デバイス570のビットストリーム生成ユニット516は、マルチプレクサ(MUX)164を含む。
[1245]SHCの形態の3Dオーディオデータを表すために必要とされる帯域幅−ビット/秒に関して−は、消費者の使用に関して禁止とすることがある。たとえば、48kHzのサンプリングレートを使用するとき、および32ビット/同じ分解能を用いて−4次SHC表現は、36Mbits/秒(25×48000×32bps)の帯域幅を表す。一般に約100kbits/秒である、ステレオ信号のための最先端のオーディオコーディングと比較すると、これは大きい数字である。図54の例において実施される技法は、3Dオーディオ表現の帯域幅を低減することができる。
[1246]空間分析ユニット650、コンテンツ特性分析ユニット652、および回転ユニット654は、SHC511を受信することができる。本開示の他の場所で説明されるように、SHC511は音場を表すことができる。図54の例では、空間分析ユニット650、コンテンツ特性分析ユニット652、および回転ユニット654は、音場の4次(n=4)表現に対して25個のSHCを受信することができる。
[1247]空間分析ユニット650は、音場の明瞭な成分と音場の拡散成分とを識別するために、SHC511によって表される音場を分析することができる。音場の明瞭な成分は、識別可能な方向から来ると知覚されるか、またはさもなければ音場のバックグラウンド成分もしくは拡散成分とは別個である音である。たとえば、個々の楽器によって生成される音は、識別可能な方向から来ると知覚され得る。対照的に、音場の拡散成分またはバックグラウンド成分は、識別可能な方向から来ると知覚されない。たとえば、森を通る風の音は、音場の拡散成分であり得る。
[1248]空間分析ユニット650は、1つまたは複数の明瞭な成分を識別し、明瞭な成分のうちで最も大きいエネルギーを有するものを、(この音場を録音した、推定されるマイクロフォンに対する)垂直軸および/または水平軸とアラインするために、音場を回転させるための最適な角度を識別するように試みることができる。空間分析ユニット650は、これらの明瞭な成分が図1および図2の例に示される背後の球面基底関数とよりよくアラインするように音場が回転され得るように、この最適な角度を識別することができる。
[1249]いくつかの例では、空間分析ユニット650は、拡散音(低レベルの方向または低次SHCを有する音を指すことがあり、SHC511のうちで1以下の次数を有するものを意味する)を含むSHC511によって表される音場のパーセンテージを識別するために、ある形態の拡散分析を実行するように構成されるユニットを表し得る。一例として、空間分析ユニット650は、2007年6月付けのJ. Audio Eng. Soc.、第55巻第6号で公開された「Spatial Sound Reproduction with Directional Audio Coding」という名称の、Ville Pulkkiによる論文で説明される方式に類似した方式で拡散分析を実行することができる。いくつかの例では、空間分析ユニット650は、拡散パーセンテージを決定するために拡散分析を実行するとき、SHC511の0次のものおよび1次のものなど、HOA係数の0ではないサブセットのみを分析することができる。
[1250]コンテンツ特性分析ユニット652は、SHC511に少なくとも一部基づいて、SHC511が音場の自然な録音を介して生成されたか、または一例として、PCMオブジェクトなどのオーディオオブジェクトから人工的に(すなわち、合成的に)生成されたかを決定することができる。さらに、コンテンツ特性分析ユニット652は次いで、SHC511が音場の実際の録音を介して生成されたか、人工的なオーディオオブジェクトから生成されたかに少なくとも一部基づいて、ビットストリーム517に含むべきチャネルの総数を決定することができる。たとえば、コンテンツ特性分析ユニット652は、SHC511が実際の音場の録音から生成されたか、人工的なオーディオオブジェクトから生成されたかに少なくとも一部基づいて、ビットストリーム517が16個のチャネルを含むべきであると決定することができる。チャネルの各々はモノラルチャネルであり得る。コンテンツ特性分析ユニット652は、ビットストリーム517の出力ビットレート、たとえば1.2Mbpsに基づいて、ビットストリーム517に含むべきチャネルの総数の決定をさらに実行することができる。
[1251]加えて、コンテンツ特性分析ユニット652は、SHC511が実際の音場の録音から生成されたか、人工的なオーディオオブジェクトから生成されたかに少なくとも一部基づいて、チャネルのうちいくつを音場のコヒーレント成分または言い換えれば明瞭な成分に割り振るべきかと、チャネルのうちいくつを音場の拡散成分または言い換えればバックグラウンド成分に割り振るべきかとを決定することができる。たとえば、SHC511が、一例としてEigenmicを使用して実際の音場の録音から生成されたとき、コンテンツ特性分析ユニット652は、チャネルのうちの3つを音場のコヒーレント成分に割り振ることがあり、残りのチャネルを音場の拡散成分に割り振ることがある。この例では、SHC511が人工的なオーディオオブジェクトから生成されたとき、コンテンツ特性分析ユニット652は、チャネルのうちの5つを音場のコヒーレント成分に割り振ることがあり、残りのチャネルを音場の拡散成分に割り振ることがある。このようにして、コンテンツ分析ブロック(すなわち、コンテンツ特性分析ユニット652)は、音場のタイプ(たとえば、拡散/指向性など)を決定し、次に抽出するべきコヒーレント/拡散成分の数を決定することができる。
[1252]目標ビットレートは、成分の数と、個々のAACコーディングエンジン(たとえば、コーディングエンジン660、662)のビットレートとに影響を及ぼすことができる。言い換えれば、コンテンツ特性分析ユニット652は、ビットストリーム517の出力ビットレート、たとえば1.2Mbpsに基づいて、いくつのチャネルをコヒーレント成分に割り振るべきかと、いくつのチャネルを拡散成分に割り振るべきかとの決定をさらに実行することができる。
[1253]いくつかの例では、音場のコヒーレント成分に割り振られるチャネルは、音場の拡散成分に割り振られるチャネルよりも大きいビットレートを有し得る。たとえば、ビットストリーム517の最大ビットレートは、1.2Mb/secであり得る。この例では、コヒーレント成分に割り振られる4つのチャネル、および拡散成分に割り振られる16個のチャネルがあり得る。さらに、この例では、コヒーレント成分に割り振られるチャネルの各々は、64kb/secの最大ビットレートを有し得る。この例では、拡散成分に割り振られるチャネルの各々は、48kb/secの最大ビットレートを有し得る。
[1254]上で示されたように、コンテンツ特性分析ユニット652は、SHC511が実際の音場の録音から生成されたか、人工的なオーディオオブジェクトから生成されたかを決定することができる。コンテンツ特性分析ユニット652は、この決定を様々な方法で行うことができる。たとえば、ビットストリーム符号化デバイス570は、4次SHCを使用することができる。この例では、コンテンツ特性分析ユニット652は、24個のチャネルをコーディングし、25番目のチャネル(ベクトルとして表され得る)を予測することができる。コンテンツ特性分析ユニット652は、25番目のベクトルを決定するために、24個のチャネルのうちの少なくともいくつかにスカラーを適用し、得られる値を加算することができる。さらに、この例では、コンテンツ特性分析ユニット652は、予測された25番目のチャネルの精度を決定することができる。この例では、予測された25番目のチャネルの精度が比較的高い(たとえば、精度が特定の閾値を超える)場合、SHC511は、合成オーディオオブジェクトから生成される可能性が高い。対照的に、予測された25番目のチャネルの精度が比較的低い(たとえば、精度が特定の閾値を下回る)場合、SHC511は、録音された音場を表す可能性がより高い。たとえば、この例では、25番目のチャネルの信号対雑音比(SNR)が100デシベル(db)を超える場合、SHC511は、合成オーディオオブジェクトから生成された音場を表す可能性がより高い。対照的に、eigenマイクロフォンを使用して録音された音場のSNRは、5〜20dbであり得る。したがって、実際の直接的な録音から生成されたSHC511によって表される音場と合成オーディオオブジェクトから生成されたSHC511によって表される音場との間には、SNR比における明らかな境界が存在し得る。
[1255]さらに、コンテンツ特性分析ユニット652は、SHC511が実際の音場の録音から生成されたか、人工的なオーディオオブジェクトから生成されたかに少なくとも一部基づいて、Vベクトルを量子化するためのコードブックを選択することができる。言い換えれば、コンテンツ特性分析ユニット652は、HOA係数によって表される音場が録音されるか合成であるかに応じて、Vベクトルを量子化するのに使用するための異なるコードブックを選択することができる。
[1256]いくつかの例では、コンテンツ特性分析ユニット652は、SHC511が実際の音場の録音から生成されたか、人工的なオーディオオブジェクトから生成されたかを、繰り返し決定することができる。いくつかのそのような例では、この繰返しの基準は、フレームごとであり得る。他の例では、コンテンツ特性分析ユニット652は、この決定を1回実行することができる。さらに、コンテンツ特性分析ユニット652は、チャネルの総数と、コヒーレント成分チャネルおよび拡散成分チャネルの割振りとを、繰り返し決定することができる。いくつかのそのような例では、この繰返しの基準は、フレームごとであり得る。他の例では、コンテンツ特性分析ユニット652は、この決定を1回実行することができる。いくつかの例では、コンテンツ特性分析ユニット652は、Vベクトルを量子化するのに使用するためのコードブックを繰り返し選択することができる。いくつかのそのような例では、この繰返しの基準は、フレームごとであり得る。他の例では、コンテンツ特性分析ユニット652は、この決定を1回実行することができる。
[1257]回転ユニット654は、HOA係数の回転演算を実行することができる。本開示の他の場所で(たとえば、図55および図55Bに関して)説明されるように、回転演算を実行することによって、SHC511を表すために必要とされるビットの数を低減することができる。いくつかの例では、回転ユニット652によって実行される回転分析は、特異値分解(「SVD」)分析の一例である。主成分分析(「PCA」)、独立成分分析(「ICA」)、およびカルーネン−レーベ変換(「KLT」)は、適用可能であり得る関連技法である。
[1258]図54の例では、コヒーレント成分抽出ユニット656は、回転されたSHC511を回転ユニット654から受信する。さらに、コヒーレント成分抽出ユニット656は、回転されたSHC511から、回転されたSHC511のうちで音場のコヒーレント成分と関連付けられるものを抽出する。
[1259]加えて、コヒーレント成分抽出ユニット656は、1つまたは複数のコヒーレント成分チャネルを生成する。コヒーレント成分チャネルの各々は、音場のコヒーレント係数と関連付けられる回転されたSHC511の異なるサブセットを含み得る。図54の例では、コヒーレント成分抽出ユニット656は、1から16個のコヒーレント成分チャネルを生成することができる。コヒーレント成分抽出ユニット656によって生成されるコヒーレント成分チャネルの数は、コンテンツ特性分析ユニット652によって音場のコヒーレント成分に割り振られるチャネルの数によって決定され得る。コヒーレント成分抽出ユニット656によって生成されるコヒーレント成分チャネルのビットレートは、コンテンツ特性分析ユニット652によって決定され得る。
[1260]同様に、図54の例では、拡散成分抽出ユニット658は、回転されたSHC511を回転ユニット654から受信する。さらに、拡散成分抽出ユニット658は、回転されたSHC511から、回転されたSHC511のうちで音場の拡散成分と関連付けられるものを抽出する。
[1261]加えて、拡散成分抽出ユニット658は、1つまたは複数の拡散成分チャネルを生成する。拡散成分チャネルの各々は、音場の拡散係数と関連付けられる回転されたSHC511の異なるサブセットを含み得る。図54の例では、拡散成分抽出ユニット658は、1から9個の拡散成分チャネルを生成することができる。拡散成分抽出ユニット658によって生成される拡散成分チャネルの数は、コンテンツ特性分析ユニット652によって音場の拡散成分に割り振られるチャネルの数によって決定され得る。拡散成分抽出ユニット658によって生成される拡散成分チャネルのビットレートは、コンテンツ特性分析ユニット652によって決定され得る。
[1262]図54の例では、AACコーディングユニット660は、コヒーレント成分抽出ユニット656によって生成されるコヒーレント成分チャネルを符号化するために、AACコーデックを使用することができる。同様に、AACコーディングユニット662は、拡散成分抽出ユニット658によって生成される拡散成分チャネルを符号化するために、AACコーデックを使用することができる。マルチプレクサ664(「MUX664」)は、ビットストリーム517を生成するために、サイドデータ(たとえば、空間分析ユニット650によって決定される最適な角度)とともに、符号化されたコヒーレント成分チャネルと符号化された拡散成分チャネルとを多重化することができる。
[1263]このようにして、本技法は、オーディオ符号化デバイス570が、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定することを可能にすることができる。
[1264]いくつかの例では、オーディオ符号化デバイス570は、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場の明瞭な成分を表す球面調和係数のサブセットを決定することができる。これらの例および他の例において、オーディオ符号化デバイス570は、球面調和係数のサブセットを含むようにビットストリームを生成することができる。オーディオ符号化デバイス570は、いくつかの例では、球面調和係数のサブセットをオーディオ符号化し、球面調和係数のオーディオ符号化されたサブセットを含むようにビットストリームを生成することができる。
[1265]いくつかの例では、オーディオ符号化デバイス570は、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場のバックグラウンド成分を表す球面調和係数のサブセットを決定することができる。これらの例および他の例において、オーディオ符号化デバイス570は、球面調和係数のサブセットを含むようにビットストリームを生成することができる。これらの例および他の例において、オーディオ符号化デバイス570は、球面調和係数のサブセットをオーディオ符号化し、球面調和係数のオーディオ符号化されたサブセットを含むようにビットストリームを生成することができる。
[1266]いくつかの例では、オーディオ符号化デバイス570は、球面調和係数によって表される音場を回転させるための角度を識別するために、球面調和係数に関して空間分析を実行し、回転された球面調和係数を生成するために、識別された角度だけ音場を回転させるために、回転演算を実行することができる。
[1267]いくつかの例では、オーディオ符号化デバイス570は、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場の明瞭な成分を表す球面調和係数の第1のサブセットを決定し、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場のバックグラウンド成分を表す球面調和係数の第2のサブセットを決定することができる。これらの例および他の例において、オーディオ符号化デバイス570は、球面調和係数の第2のサブセットをオーディオ符号化するために使用されるものよりも高い目標ビットレートを有する、球面調和係数の第1のサブセットをオーディオ符号化することができる。
[1268]このようにして、本技法の様々な態様は、オーディオ符号化デバイス570が次の項に従って、SCH511が合成オーディオオブジェクトから生成されるかどうかを決定することを可能にし得る。
[1269]132512−1項。オーディオ符号化デバイス570などのデバイスであって、1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するようにさらに構成される、を備えるデバイス。
[1270]132512−2項。1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するとき、低減されたフレーム分割された球面調和係数行列を取得するために、音場を表す球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列から第1のベクトルを除外するようにさらに構成される、132512−1項のデバイス。
[1271]132512−3項。1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するとき、低減されたフレーム分割された球面調和係数行列を取得するために、音場を表す球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列から第1のベクトルを除外することと、低減されたフレーム分割された球面調和係数行列の残りのベクトルに基づいて、低減されたフレーム分割された球面調和係数行列のベクトルを予測することとを行うようにさらに構成される、132512−1項のデバイス。
[1272]132512−4項。1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するとき、低減されたフレーム分割された球面調和係数行列を取得するために、音場を表す球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列から第1のベクトルを除外することと、低減されたフレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、低減されたフレーム分割された球面調和係数行列のベクトルを予測することとを行うようにさらに構成される、132512−1項のデバイス。
[1273]132512−5項。1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するとき、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予測するようにさらに構成される、132512−1項のデバイス。
[1274]132512−6項。1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するとき、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予測することと、予測されるベクトルに基づいて誤差を計算することとを行うようにさらに構成される、132512−1項のデバイス。
[1275]132512−7項。1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するとき、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予測することと、フレーム分割された球面調和係数行列の予測されるベクトルと対応するベクトルとに基づいて、誤差を計算することとを行うようにさらに構成される、132512−1項のデバイス。
[1276]132512−8項。1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するとき、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予測することと、フレーム分割された球面調和係数行列の予測されるベクトルと対応するベクトルとの差の絶対値の合計として、誤差を計算することとを行うようにさらに構成される、132512−1項のデバイス。
[1277]132512−9項。1つまたは複数のプロセッサが、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するとき、フレーム分割された球面調和係数行列の残りのベクトルの合計に少なくとも一部基づいて、球面調和係数の少なくとも一部分を記憶するフレーム分割された球面調和係数行列のベクトルを予測することと、フレーム分割された球面調和係数行列の予測されるベクトルと対応するベクトルとに基づいて誤差を計算することと、フレーム分割された球面調和係数行列の対応するベクトルのエネルギーと誤差とに基づいて比を計算することと、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するために比を閾値と比較することとを行うようにさらに構成される、132512−1項のデバイス。
[1278]132512−10項。1つまたは複数のプロセッサが、ベクトルを予測するとき、球面調和係数の少なくともその部分を記憶するフレーム分割された球面調和係数行列の第1の0ではないベクトルを予測するようにさらに構成される、請求項4乃至9のいずれかのデバイス。
[1279]132512−11項。1つまたは複数のプロセッサが、球面調和係数の圧縮されたバージョンを記憶するビットストリームにおいて、球面調和係数が合成オーディオオブジェクトから生成されるかどうかのインジケーションを指定するようにさらに構成される、請求項1乃至10のいずれかのデバイス。
[1280]132512−12項。インジケーションが単一のビットである、132512−11項のデバイス。
[1281]132512−13項。1つまたは複数のプロセッサが、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場の明瞭な成分を表す球面調和係数のサブセットを決定するようにさらに構成される、132512−1項のデバイス。
[1282]132512−14項。1つまたは複数のプロセッサが、球面調和係数のサブセットを含むようにビットストリームを生成するようにさらに構成される、132512−13項のデバイス。
[1283]132512−15項。1つまたは複数のプロセッサが、球面調和係数のサブセットをオーディオ符号化することと、球面調和係数のオーディオ符号化されたサブセットを含むようにビットストリームを生成することとを行うようにさらに構成される、132512−13項のデバイス。
[1284]132512−16項。1つまたは複数のプロセッサが、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場のバックグラウンド成分を表す球面調和係数のサブセットを決定するようにさらに構成される、132512−1項のデバイス。
[1285]132512−17項。1つまたは複数のプロセッサが、球面調和係数のサブセットを含むようにビットストリームを生成するようにさらに構成される、132512−16項のデバイス。
[1286]132512−18項。1つまたは複数のプロセッサが、球面調和係数のサブセットをオーディオ符号化することと、球面調和係数のオーディオ符号化されたサブセットを含むようにビットストリームを生成することとを行うようにさらに構成される、132512−15項のデバイス。
[1287]132512−18項。1つまたは複数のプロセッサが、球面調和係数によって表される音場を回転させるための角度を識別するために、球面調和係数に関して空間分析を実行することと、回転された球面調和係数を生成するために、識別された角度だけ音場を回転させるために、回転演算を実行することとを行うようにさらに構成される、132512−1項のデバイス。
[1288]132512−20項。1つまたは複数のプロセッサが、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場の明瞭な成分を表す球面調和係数の第1のサブセットを決定することと、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、音場のバックグラウンド成分を表す球面調和係数の第2のサブセットを決定することとを行うようにさらに構成される、132512−1項のデバイス。
[1289]132512−21項。1つまたは複数のプロセッサが、球面調和係数の第2のサブセットをオーディオ符号化するために使用されるものよりも高い目標ビットレートを有する、球面調和係数の第1のサブセットをオーディオ符号化するようにさらに構成される、132512−20項のデバイス。
[1290]132512−22項。1つまたは複数のプロセッサが、複数の球面調和係数の左特異ベクトルを表すU行列と、複数の球面調和係数の特異値を表すS行列と、複数の球面調和係数の右特異ベクトルを表すV行列とを生成するために、球面調和係数に関して特異値分解を実行するようにさらに構成される、132512−1項のデバイス。
[1291]132512−23項。1つまたは複数のプロセッサが、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、U行列、S行列、およびV行列の1つまたは複数のうちで音場の明瞭な成分を表す部分を決定するようにさらに構成される、132512−22項のデバイス。
[1292]132512−24項。1つまたは複数のプロセッサが、球面調和係数が合成オーディオオブジェクトから生成されるかどうかに基づいて、U行列、S行列、およびV行列の1つまたは複数のうちで音場のバックグラウンド成分を表す部分を決定するようにさらに構成される、132512−22項のデバイス。
[1293]132512−1C項。オーディオ符号化デバイス570などのデバイスであって、少なくとも、球面調和係数のベクトルのエネルギーと、球面調和係数のベクトルの予測されるバージョンおよび球面調和係数のベクトルに基づいて導出される誤差との関数として、計算される比に基づいて、音場を表す球面調和係数が合成オーディオオブジェクトから生成されるかどうかを決定するように構成される1つまたは複数のプロセッサを備えるデバイス。
[1294]上で説明された様々な例の各々において、オーディオ符号化デバイス570は、ある方法を実行し、またはそうでなければ、オーディオ符号化デバイス570が実行するように構成される方法の各ステップを実行するための手段を備え得ることを理解されたい。いくつかの例では、これらの手段は1つまたは複数のプロセッサを備え得る。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶される命令によって構成される、専用のプロセッサを表し得る。言い換えれば、符号化の例のセットの各々における本技法の様々な態様は、実行されると、1つまたは複数のプロセッサに、オーディオ符号化デバイス570が実行するように構成されている方法を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体を提供し得る。
[1295]図55および55Bは、音場640を回転させるために本開示において説明される技法の様々な態様を実行する例を示す図である。図55は、本開示で説明される技法の様々な態様による回転の前の音場640を示す図である。図55の例では、音場640は、ロケーション642Aおよび642Bと示される、高圧の2つのロケーションを含む。これらのロケーション642Aおよび642B(「ロケーション642」)は、0ではない傾きを有する線644に沿って存在する(水平線は0の傾きを有するので、これは水平ではない線を指す別の方法である)。ロケーション642がx座標およびy座標に加えてz座標を有するとすると、高次球面基底関数が、この音場640を正しく表すために必要とされ得る(これらの高次球面基底関数は、音場の上側部分と下側部分または非水平部分とを記述するので。音場640をSHC511に直接的に低減するのではなく、オーディオ符号化デバイス570は、ロケーション642を接続する線644が水平になるまで、音場640を回転させることができる。
[1296]図55Bは、ロケーション642を接続する線644が水平になるまで回転された後の音場640を示す図である。この方式で音場640を回転させた結果として、回転された音場640がもはやz座標との圧力(またはエネルギー)のいかなるロケーションをも有していないとすると、SHC511は、SHC511の高次のものが0と指定されるように導出され得る。このようにして、オーディオ符号化デバイス570は、0ではない値を有するSHC511の数を低減するために音場640を回転させ、トランスレートし、またはより一般的には調整することができる。本技法の様々な他の態様とともに、オーディオ符号化デバイス570は次いで、SHC511のこれらの高次のものが0という値を有することを識別する32ビット符号付き数をシグナリングするのではなく、SHC511のこれらの高次のものがシグナリングされないことをビットストリーム517のフィールド内でシグナリングすることができる。オーディオ符号化デバイス570はまた、しばしば、上で説明された方式で方位角と仰角とを表すことによって、音場640がどのように回転されたかを示す、ビットストリーム517内の回転情報を指定することもできる。オーディオ符号化デバイスなど、抽出デバイスは次いで、SHC511のこれらのシグナリングされないものが0という値を有することを暗示し、SHC511に基づいて音場640を再現するとき、図55の例に示された音場640に音場640が似ているように音場640を回転させるために、回転を実行することができる。このようにして、オーディオ符号化デバイス570は、本開示で説明される技法に従って、ビットストリーム517において指定されることが必要とされるSHC511の数を低減することができる。
[1297]「空間圧縮」アルゴリズムは、音場の最適な回転を決定するために使用され得る。一実施形態では、オーディオ符号化デバイス570は、可能な方位角と仰角の組合せ(すなわち、上記の例では1024×512個の組合せ)のすべてを反復し、各組合せに対して音場を回転させ、閾値を上回るSHC511の数を計算するためにアルゴリズムを実行することができる。閾値を上回るSHC511の最小数を生じる方位角/仰角候補の組合せは、「最適な回転」と呼ばれることがあるものと考えられ得る。この回転された形態では、音場は、音場を表すためのSHC511の最小数を必要とすることがあり、次いで、圧縮されると考えられ得る。いくつかの例では、調整は、この最適な回転を備えることがあり、上で説明された調整情報は、この回転(「最適な回転」と呼ばれることがある)情報(方位角角度および仰角角度に関する)を含むことがある。
[1298]いくつかの例では、方位角角度と仰角角度とを指定するのみではなく、オーディオ符号化デバイス570は、一例としてオイラー角の形態の追加の角度を指定することができる。オイラー角は、z軸、前x軸、および前z軸の周りの回転の角度を指定する。本開示では方位角角度と仰角角度の組合せに関して説明されているが、本開示の技法は、方位角角度と仰角角度のみを指定することに限定されるべきではなく、上で述べられた3つのオイラー角を含む任意の数の角度を指定することを含み得る。この意味で、オーディオ符号化デバイス570は、音場を記述することに関連する情報を提供し、ビットストリーム内の回転情報としてオイラー角を指定する、複数の階層的な要素の数を低減するために、音場を回転させることができる。オイラー角は、上で述べられたように、音場がどのように回転されたかを記述することができる。オイラー角を使用するとき、ビットストリーム抽出デバイスは、オイラー角を含む回転情報を決定するためにビットストリームを解析し、さらに、複数の階層的な要素のうちで音場を記述することに関連する情報を提供するものに基づいて音場を再現するとき、オイラー角に基づいて音場を回転させることができる。
[1299]その上、いくつかの例では、これらの角度をビットストリーム517内で明示的に指定するのではなく、オーディオ符号化デバイス570は、回転を指定する1つまたは複数の角度のあらかじめ定義された組合せと関連付けられるインデックス(「回転インデックス」と呼ばれることがある)を指定することができる。言い換えれば、回転情報は、いくつかの例では、回転インデックスを含むことがある。これらの例では、0の値などの回転インデックスの所与の値は、回転が実行されなかったことを示すことがある。この回転インデックスは、回転テーブルに関連して使用され得る。すなわち、オーディオ符号化デバイス570は、方位角角度と仰角角度の組合せの各々に関するエントリを備える回転テーブルを含み得る。
[1300]代替的に、回転テーブルは、方位角角度と仰角角度の各組合せを表す各行列変換に関するエントリを含み得る。すなわち、オーディオ符号化デバイス570は、方位角角度と仰角角度の組合せの各々によって音場を回転させるための各行列変換に関するエントリを有する回転テーブルを記憶することができる。一般に、オーディオ符号化デバイス570はSHC511を受信し、回転が実行されるとき、次の式に従ってSHC511’を導出する。
上の式では、SHC511’は、第2の基準フレーム(EncMat2)に関して音場を符号化するための符号化行列、第1の基準フレーム(InvMat1)に関してSHC511を音場に戻すための逆行列、およびSHC511の関数として計算される。EncMat2は25×32のサイズであり、InvMat2は32×25のサイズである。SHC511’とSHC511の両方は25のサイズであり、ここで、SHC511’は、顕著なオーディオ情報を指定しないものの除去により、さらに低減され得る。EncMat2は、方位角角度と仰角角度の各組合せに対して変化し得るが、InvMat1は、方位角角度と仰角角度の各組合せに対して変化しないままであり得る。回転テーブルは、各異なるEncMat2をInvMat1に乗算した結果を記憶するエントリを含み得る。
[1301]図56は、第1の基準フレームに従ってキャプチャされ、次いで第2の基準フレームに対して音場を表すために本開示において説明される技法に従って回転される例示的な音場を示す図である。図56の例では、Eigenマイクロフォン646を取り囲む音場は、図56の例ではX1軸、Y1軸、およびZ1軸によって示される第1の基準フレームを仮定してキャプチャされる。SHC511は、この第1の基準フレームに関して音場を記述する。InvMat1は、SHC511を変換して音場に戻し、音場が、図56の例ではX2軸、Y2軸、およびZ2軸によって示される第2の基準フレームに回転されることを可能にする。上で説明されたEncMat2は、音場を回転させ、第2の基準フレームに関してこの回転された音場を記述するSHC511’を生成することができる。
[1302]いずれにしても、上の式は、次のように導出され得る。音場が、正面がx軸の方向と見なされるように、特定の座標系を用いて記録されるとすると、Eigenマイクロフォンの32個のマイクロフォン位置(または他のマイクロフォン構成)は、この基準座標系から定義される。次いで、音場の回転は、この基準フレームの回転と見なされ得る。仮定される基準フレームに対して、SHC511は、次のように計算され得る。
上の式では、
は、i番目のマイクロフォン(ここで、この例では、iは1〜32であり得る)の位置(Posi)における球面基底関数を表す。miciベクトルは、時刻tに対するi番目のマイクロフォンのためのマイクロフォン信号を示す。位置(Posi)は、第1の基準フレーム(すなわち、この例では、回転の前の基準フレーム)におけるマイクロフォンの位置を指す。
[1303]上の式は、代替的に、上で示された数式に関して
[SHC_27]=[Es(θ,φ)][mi(t)]
と表され得る。
[1304]音場を(または第2の基準フレーム内で)回転させるために、位置(Posi)は第2の基準フレーム内で計算されるようになる。オリジナルのマイクロフォン信号が存在する限り、音場は、恣意的に回転されてよい。しかしながら、オリジナルのマイクロフォン信号(mici(t))は入手不可能なことが多い。次いで、問題は、マイクロフォン信号(mici(t))をSHC511からどのように取り出すかであり得る。(32マイクロフォンのEigenマイクロフォンの場合のように)T字型設計が使用される場合、この問題の解決策は、次の式を解くことによって達成され得る。
このInvMat1は、第1の基準フレームに対して指定されたマイクロフォンの位置に従って計算される球面調和基底関数を指定することができる。この式はまた、上で述べられたように、[mi(t)]=[Es(θ,φ)]-1[SHC]として表され得る。
[1305]マイクロフォン信号(mici(t))が上の式に従って取り出されると、音場を記述するマイクロフォン信号(mici(t))は、第2の基準フレームに対応するSHC511’を計算するために回転され、次の式になり得る。
EncMat2は、回転された位置(Posi’)から球面調和基底関数を指定する。このようにして、EncMat2は、方位角角度と仰角角度の組合せを効果的に指定することができる。したがって、回転テーブルが、方位角角度と仰角角度の各組合せに対する
の結果を記憶するとき、回転テーブルは、方位角角度と仰角角度の各組合せを効果的に指定する。上の式はまた、以下のように表され得、
[SHC27´]=[Es(θ2,φ2)][Es(θ1,φ1)]-1[SHC27]
ここで、θ2,φ2は、θ1,φ1によって表される第1の方位角角度および仰角角度と異なる第2の方位角角度および第2の仰角角度を表す。θ1,φ1は第1の基準フレームに対応するが、θ2,φ2は第2の基準フレームに対応する。したがって、InvMat1は、[Es(θ1,φ1)]-1に対応し得るが、EncMat2は、[Es(θ2,φ2)]に対応し得る。
[1306]上記は、次数nの球ベッセル関数を指すjn(・)関数によって周波数領域におけるSHC511の導出を示す様々な式において上で表されるフィルタリング演算を考慮しない計算のより簡略化されたバージョンを表すことができる。時間領域では、このjn(・)関数は、特定の次数nに固有のフィルタリング演算を表す。フィルタリングにより、回転は、次数ごとに実行され得る。説明するために、次の式について考える。
[1307]これらの式から、bn(t)は互いに対して異なるので、次数に対する回転されたSHC511’は個別に行われる。結果として、上の式は、回転されたSHC511’の1次のものを計算するために、次のように変更され得る。
SHC511の3つの1次のものが存在するとすると、SHC511’ベクトルおよびSHC511ベクトルの各々は、上の式では、3のサイズである。同様に、2次の場合、次の式が適用され得る。
この場合も、SHC511の5つの2次のものが存在するとすると、SHC511’ベクトルおよびSHC511ベクトルの各々は、上の式では、5のサイズである。他の次数、すなわち3次および4次に対する残りの式は、(EncMat2の行の数、InvMat1の列の数、ならびに3次および4次のSHC511ベクトルおよびSHC511’ベクトルのサイズが3次球面調和基底関数および4次球面調和基底関数の各々の位数の数(m×2+1)に等しいことにおいて、行列のサイズに関する同じパターンに従って、上で説明されたものと類似であり得る。
[1308]したがって、オーディオ符号化デバイス570は、いわゆる最適な回転を識別しようとして、方位角角度と仰角角度のあらゆる組合せに関して、この回転演算を実行することができる。オーディオ符号化デバイス570は、この回転演算を実行した後、閾値を上回るSHC511’の数を計算することができる。いくつかの例では、オーディオ符号化デバイス570は、オーディオフレームなどの持続時間にわたって音場を表す一連のSHC511’を導出するために、この回転を実行することができる。この持続時間にわたって音場を表す一連のSHC511’を導出するためにこの回転を実行することによって、オーディオ符号化デバイス570は、フレームまたは他の長さよりも短い持続時間にわたって音場を記述するSHC511の各セットに対してこれを行うために比較すると、実行されなければならない回転演算の数を低減することができる。いずれにしても、オーディオ符号化デバイス570は、このプロセス全体を通じて、SHC511’のうちで、閾値よりも大きいSHC511’の最小数を有するものを保存することができる。
[1309]しかしながら、方位角角度と仰角角度のあらゆる組合せに関してこの回転演算を実行することは、プロセッサ集約的であり、または時間がかかることがある。結果として、オーディオ符号化デバイス570は、回転アルゴリズムのこの「力づくの」実装形態と特徴付けられ得るものを実行しないことがある。代わりに、オーディオ符号化デバイス570は、一般に良い圧縮を提供する方位角角度と仰角角度のおそらく既知の(統計学的な)組合せのサブセットに関して回転を実行し、このサブセットのうちでサブセット内の他の組合せと比較してより良い圧縮を提供するものの周りの組合せに関してさらなる回転を実行することができる。
[1310]別の代替として、オーディオ符号化デバイス570は、組合せの既知のサブセットのみに関してこの回転を実行することができる。別の代替として、オーディオ符号化デバイス570は、組合せの軌道を(空間的に)たどり、この組合せの軌道に関して回転を実行することができる。別の代替として、オーディオ符号化デバイス570は、閾値を上回る0ではない値を有するSHC511’の最大数を定義する圧縮閾値を指定することができる。この圧縮閾値は、オーディオ符号化デバイス570が回転を実行し、設定された閾値を上回る値を有するSHC511’の数が圧縮閾値以下である(または、いくつかの例では、未満である)と決定するとき、オーディオ符号化デバイス570が、残りの組合せに関していかなる追加の回転演算を実行することも停止するように、探索に対する停止点を効果的に設定することができる。さらに別の代替として、オーディオ符号化デバイス570は、組合せの階層的に構成された木(または他のデータ構造)を通り、現在の組合せに関して回転演算を実行し、閾値よりも大きい0ではない値を有するSHC511’の数に応じて木を右または左に(たとえば、二分木の場合)通ることができる。
[1311]この意味で、これらの代替の各々は、第1の回転演算と第2の回転演算とを実行することと、閾値よりも大きい0ではない値を有するSHC511’の最小数をもたらす第1の回転演算および第2の回転演算のうちの1つを識別するために、第1の回転演算と第2の回転演算とを実行した結果を比較することとを伴う。したがって、オーディオ符号化デバイス570は、第1の方位角角度および第1の仰角角度に従って音場を回転させ、音場を記述することに関連する情報を提供する第1の方位角角度および第1の仰角角度に従って回転された音場を表す複数の階層的な要素の第1の数を決定するために、音場に対して第1の回転演算を実行することができる。オーディオ符号化デバイス570はまた、第2の方位角角度および第2の仰角角度に従って音場を回転させ、音場を記述することに関連する情報を提供する第2の方位角角度および第2の仰角角度に従って回転された音場を表す複数の階層的な要素の第2の数を決定するために、音場に対して第2の回転演算を実行することもできる。さらに、オーディオ符号化デバイス570は、複数の階層的な要素の第1の数と複数の階層的な要素の第2の数との比較に基づいて、第1の回転演算または第2の回転演算を選択することができる。
[1312]いくつかの例では、回転アルゴリズムは持続時間に対して実行されることがあり、ここで、回転アルゴリズムのその後の呼出しは、回転アルゴリズムの過去の呼出しに基づいて回転演算を実行することができる。言い換えれば、回転アルゴリズムは、以前の持続時間にわたって音場を回転させたときに決定された過去の回転情報に基づいて適応的であり得る。たとえば、オーディオ符号化デバイス570は、第1の持続時間たとえばオーディオフレームにわたってSHC511’を識別するために、この第1の持続時間にわたって音場を回転させることができる。オーディオ符号化デバイス570は、上で説明された方法のいずれかにおいて、ビットストリーム517内で回転情報とSHC511’とを指定することができる。この回転情報は、第1の持続時間にわたって音場の回転を記述することにおいて、第1の回転情報と呼ばれることがある。次いで、オーディオ符号化デバイス570は、第2の持続時間たとえば第2のオーディオフレームにわたってSHC511’を識別するために、この第1の回転情報に基づいて、この第2の持続時間にわたって音場を回転させることができる。オーディオ符号化デバイス570は、一例として、方位角角度と仰角角度の「最適な」組合せに対して探索を初期化するために、第2の持続時間にわたって第2の回転演算を実行するとき、この第1の回転情報を利用することができる。次いで、オーディオ符号化デバイス570は、ビットストリーム517内で第2の持続時間(「第2の回転情報」と呼ばれることがある)に対するSHC511’と対応する回転情報とを指定することができる。
[1313]処理時間および/または消費を低減するために回転アルゴリズムを実施するいくつかの異なる方法に関して上で説明されているが、本技法は、「最適な回転」と呼ばれ得るものの識別を低減またはさもなければ高速化し得る任意のアルゴリズムに関して実行され得る。その上、本技法は、非最適な回転を識別するが、速度またはプロセッサもしくは他のリソースの利用に関して測定されることが多い、他の態様では実行を改善し得る任意のアルゴリズムに関して実行され得る。
[1314]図57〜図57Eは各々、本開示で説明される技法に従って形成されるビットストリーム517A〜517Eを示す図である。図57Aの例では、ビットストリーム517Aは、上で図53に示されたビットストリーム517の一例を表し得る。ビットストリーム517Aは、SHC存在フィールド670と、SHC511’を記憶するフィールド(ここで、このフィールドは「SHC511’」と示される)とを含む。SHC存在フィールド670は、SHC511の各々に対応するビットを含み得る。SHC511’は、SHC511のうちで、SHC511の数よりも数が少なくなり得る、ビットストリーム内で指定されるものを表し得る。一般に、SHC511’の各々は、SHC511のうちで0ではない値を有するものである。上で述べられたように、任意の所与の音場の4次表現の場合、(1+4)2すなわち25個のSHCが必要とされる。これらのSHCのうちの1つまたは複数を排除し、これらの0という値が付けられたSHCを単一のビットで置き換えることによって、31ビットを節約することができ、この31ビットは、より詳細に音場の他の部分を表すことに割り振られてもよいし、またはさもなければ、効率的な帯域幅利用を容易にするために除去されてもよい。
[1315]図57Bの例では、ビットストリーム517Bは、上で図53に示されたビットストリーム517の一例を表し得る。ビットストリーム517Bは、変換情報フィールド672(「変換情報672」)と、SHC511’を記憶するフィールド(ここで、このフィールドは「SHC511’」と示される)とを含む。変換情報672は、上で述べられたように、トランスレーション情報、回転情報、および/または音場への調整を示す任意の他の形態の情報を備え得る。いくつかの例では、変換情報672はまた、ビットストリーム517B内でSHC511’と指定されるSHC511の最高次を指定することもできる。すなわち、変換情報672は3の次数を示すことができ、抽出デバイスはこれを、SHC511’が、SHC511のうちで、SHC511のうちで3の次数を有するものまでのものを含むことを示すこととして理解することができる。次いで、抽出デバイスは、4以上の次数を有するSHC511を0に設定し、それによって、ビットストリーム内の4以上の次数のSHC511の明示的なシグナリングを潜在的に除去するように構成され得る。
[1316]図57Cの例では、ビットストリーム517Cは、上で図53に示されたビットストリーム517の一例を表し得る。ビットストリーム517Cは、変換情報フィールド672(「変換情報672」)と、SHC存在フィールド670と、SHC511’を記憶するフィールド(ここで、このフィールドは「SHC511’」と示される)とを含む。上で図57Bに関して説明されたように、SHC511のどの次数がシグナリングされないかを理解するように構成されるのではなく、SHC存在フィールド670は、SHC511のうちどれがビットストリーム517C内でSHC511’と指定されるかを明示的にシグナリングすることができる。
[1317]図57Dの例では、ビットストリーム517Dは、上で図53に示されたビットストリーム517の一例を表し得る。ビットストリーム517Dは、次数フィールド674(「次数60」)と、SHC存在フィールド670と、方位角フラグ676(「AZF676」)と、仰角フラグ678(「ELF678」)と、方位角角度フィールド680(「方位角680」)と、仰角角度フィールド682(「仰角682」)と、SHC511’を記憶するフィールド(ここで、この場合も、このフィールドは「SHC511’」と示される)とを含む。次数フィールド674は、SHC511’の次数、すなわち、音場を表すために使用される球面基底関数の最高次数に対して上記でnによって示される次数を指定する。次数フィールド674は、8ビットフィールドであると示されているが、3(4次を指定するために必要とされるビットの数である)などの他の様々なビットサイズであってよい。SHC存在フィールド670は、25ビットフィールドと示されている。この場合も、しかしながら、SHC存在フィールド670は、他の様々なビットサイズであってよい。SHC存在フィールド670は、SHC存在フィールド670が音場の4次表現に対応する球面調和係数の各々のための1ビットを含み得ることを示すために、25ビットと示される。
[1318]方位角フラグ676は、方位角フィールド680がビットストリーム517D内に存在するかどうかを指定する1ビットフラグを表す。方位角フラグ676が1に設定されるとき、SHC511’のための方位角フィールド680がビットストリーム517D内に存在する。方位角フラグ676が0に設定されるとき、SHC511’のための方位角フィールド680は、ビットストリーム517D内に存在しないかまたはさもなければ指定されない。同様に、仰角フラグ678は、仰角フィールド682がビットストリーム517D内に存在するかどうかを指定する1ビットフラグを表す。仰角フラグ678が1に設定されるとき、SHC511’のための仰角フィールド682がビットストリーム517D内に存在する。仰角フラグ678が0に設定されるとき、SHC511’のための仰角フィールド682は、ビットストリーム517D内に存在しないかまたはさもなければ指定されない。1は、対応するフィールドが存在することをシグナリングし、0は、対応するフィールドが存在しないことをシグナリングすると説明されているが、この規則は、0は、対応するフィールドがビットストリーム517D内で指定されていることを指定し、1は、対応するフィールドがビットストリーム517D内で指定されていないことを指定するように、逆にされてよい。したがって、本開示で説明される技法は、この点について限定されるべきではない。
[1319]方位角フィールド680は、ビットストリーム517D内に存在するときに方位角角度を指定する10ビットフィールドを表す。10ビットフィールドとして示されているが、方位角フィールド680は他のビットサイズであってもよい。仰角フィールド682は、ビットストリーム517D内に存在するときに仰角角度を指定する9ビットフィールドを表す。フィールド680および682で指定される方位角角度および仰角角度はそれぞれ、フラグ676および678と連動して、上で説明された回転情報を表すことができる。この回転情報は、オリジナルの基準フレームにおけるSHC511を復元するように音場を回転させるために使用され得る。
[1320]SHC511’フィールドは、Xのサイズである可変フィールドとして示されている。SHC511’フィールドは、SHC存在フィールド670によって示されるビットストリーム内で指定されるSHC511’の数により変化し得る。Xのサイズは、SHC存在フィールド670内のSHC511’の数×32ビット(各SHC511’のサイズである)の関数として導出され得る。
[1321]図57Eの例では、ビットストリーム517Eは、上記で図53に示されたビットストリーム517の別の例を表し得る。ビットストリーム517Eは、次数フィールド674(「次数60」)と、SHC存在フィールド670と、回転インデックスフィールド684と、SHC511’を記憶するフィールド(ここで、この場合も、このフィールドは「SHC511’」と示される)とを含む。次数フィールド674、SHC存在フィールド670、およびSHC511’フィールドは、上で説明されたものに実質的に類似であり得る。回転インデックスフィールド684は、仰角角度と方位角角度の1024×512(すなわち、言い換えれば、524288)個の組合せのうちの1つを指定するために使用される20ビットフィールドを表すことができる。いくつかの例では、この回転インデックスフィールド684を指定するために19ビットのみが使用されることがあり、オーディオ符号化デバイス570は、回転演算が実行されたかどうか(および、したがって、回転インデックスフィールド684がビットストリーム内に存在するかどうか)を示すために、ビットストリーム内で追加のフラグを指定することができる。この回転インデックスフィールド684は、上で述べられた回転インデックスを指定し、回転インデックスは、オーディオ符号化デバイス570とビットストリーム抽出デバイスの両方に共通する回転テーブル内のエントリを指し得る。この回転テーブルは、いくつかの例では、方位角角度と仰角角度の異なる組合せを記憶することができる。代替的に、回転テーブルは、上で説明された行列を記憶することができ、この行列は、方位角角度と仰角角度の異なる組合せを行列形態で効果的に記憶する。
[1322]図58は、本開示において説明される技法の回転態様を実施する際の図53の例に示されるオーディオ符号化デバイス570の例示的な動作を示すフローチャートである。最初に、オーディオ符号化デバイス570は、上で説明された様々な回転アルゴリズムのうちの1つまたは複数に従って方位角角度と仰角角度の組合せを選択することができる(800)。次いで、オーディオ符号化デバイス570は、選択された方位角角度および仰角角度に従って音場を回転させることができる(802)。上で説明されたように、オーディオ符号化デバイス570は、上で述べられたInvMat1を使用してSHC511から音場を最初に導出することができる。オーディオ符号化デバイス570はまた、回転された音場を表すSHC511’を決定することもできる(804)。別個のステップまたは動作であると説明されているが、オーディオ符号化デバイス570は、方位角角度と仰角角度の組合せの選択を表す変換([EncMat2][InvMat1]の結果を表し得る)を適用し、SHC511から音場を導出し、音場を回転させ、回転された音場を表すSHC511’を決定することができる。
[1323]いずれにしても、オーディオ符号化デバイス570は次いで、閾値よりも大きい決定されたSHC511’の数を計算し、この数を、以前の方位角角度と仰角角度の組合せに対する以前の反復のために計算された数と比較することができる(806、808)。第1の方位角角度と仰角角度の組合せに対する第1の反復では、この比較は、あらかじめ定義された以前の数(0に設定し得る)に対するものであり得る。いずれにしても、SHC511’の決定された数が以前の数よりも小さい場合(「はい」808)、オーディオ符号化デバイス570は、SHC511’と、方位角角度と、仰角角度とを記憶し、多くの場合、回転アルゴリズムの以前の反復から記憶された、以前のSHC511’と、方位角角度と、仰角角度とを置き換える(810)。
[1324]SHC511’の決定された数が以前の数よりも小さくない場合(「いいえ」808)、または以前に記憶されたSHC511’、方位角角度、および仰角角度の代わりにSHC511’と、方位角角度と、仰角角度とを記憶した後、オーディオ符号化デバイス570は、回転アルゴリズムが終了したかどうかを決定することができる(812)。すなわち、オーディオ符号化デバイス570は、一例として、方位角角度と仰角角度のすべての利用可能な組合せが評価されたかどうかを決定することができる。他の例では、オーディオ符号化デバイス570は、オーディオ符号化デバイス570が回転アルゴリズムを実行することを終了しているように、他の基準が満たされるかどうか(組合せの定義されたサブセットのすべてが実行された、所与の軌道が通られたかどうか、階層木が葉ノードまで通られたかどうかなど)を決定することができる。終了していない場合(「いいえ」812)、オーディオ符号化デバイス570は、別の選択された組合せに対して上記のプロセスを実行することができる(800〜812)。終了した場合(「はい」812)、オーディオ符号化デバイス570は、上で説明された様々な方法のうちの1つで、ビットストリーム517において、記憶されたSHC511’と、方位角角度と、仰角角度とを指定することができる(814)。
[1325]図59は、本開示において説明される技法の変換態様を実行する際の図53の例に示されるオーディオ符号化デバイス570の例示的な動作を示すフローチャートである。最初に、オーディオ符号化デバイス570は、線形可逆変換を表す行列を選択することができる(820)。線形可逆変換を表す行列の一例は、[EncMat1][IncMat1]の結果である、上で示された行列であり得る。次いで、オーディオ符号化デバイス570は、音場を変換するために、音場にこの行列を適用することができる(822)。オーディオ符号化デバイス570はまた、回転された音場を表すSHC511’を決定することもできる(824)。別個のステップまたは動作であると説明されているが、オーディオ符号化デバイス570は、変換([EncMat2][InvMat1]の結果を表し得る)を適用し、SHC511から音場を導出し、音場を変換し、変換音場を表すSHC511’を決定することができる。
[1326]いずれにしても、オーディオ符号化デバイス570は次いで、閾値よりも大きい決定されたSHC511’の数を計算し、この数を、変換行列の以前の適用に対する以前の反復のために計算された数と比較することができる(826、828)。SHC511’の決定された数が以前の数よりも小さい場合(「はい」828)、オーディオ符号化デバイス570は、SHC511’と、行列(または、行列と関連付けられるインデックスなど、その何らかの派生物)とを記憶し、多くの場合、回転アルゴリズムの以前の反復から記憶された、以前のSHC511’と行列(またはその派生物)とを置き換える(830)。
[1327]SHC511’の決定された数が以前の数よりも小さくない場合(「いいえ」828)、または以前に記憶されたSHC511’および行列の代わりに、SHC511’と行列とを記憶した後、オーディオ符号化デバイス570は、変換アルゴリズムが終了したかどうかを決定することができる(832)。すなわち、オーディオ符号化デバイス570は、一例として、すべての利用可能な変換行列が評価されたかどうかを決定することができる。他の例では、オーディオ符号化デバイス570は、オーディオ符号化デバイス570が変換アルゴリズムを実行することを終了しているように、他の基準が満たされるかどうか(利用可能な変換行列の定義されたサブセットのすべてが実行された、所与の軌道が通られたかどうか、階層木が葉ノードまで通られたかどうかなど)を決定することができる。終了していない場合(「いいえ」832)、オーディオ符号化デバイス570は、別の選択された変換行列に対して上記のプロセスを実行することができる(820〜832)。終了した場合(「はい」832)、オーディオ符号化デバイス570は、上で説明された様々な方法のうちの1つで、ビットストリーム517において、記憶されたSHC511’と行列とを指定することができる(834)。
[1328]いくつかの例では、変換アルゴリズムは、単一の反復を実行し、単一の変換行列を評価することができる。すなわち、変換行列は、線形可逆変換を表す任意の行列を備えることができる。いくつかの例では、線形可逆変換は、音場を空間領域から周波数領域に変換することができる。そのような線形可逆変換の例としては、離散フーリエ変換(DFT)があり得る。DFTの適用は、単一の反復のみを伴うことがあり、したがって、変換アルゴリズムが終了されるかどうかを決定するステップを必ずしも含むとは限らない。したがって、本技法は、図59の例に限定されるべきではない。
[1329]言い換えれば、線形可逆変換の一例は離散フーリエ変換(DFT)である。25個のSHC511’は、25個の複素係数のセットを形成するために、DFTによって操作され得る。オーディオ符号化デバイス570はまた、DFTのビンサイズの分解能を潜在的に増加させ、たとえば高速フーリエ変換(FFT)を適用することを通じてDFTのより効率的な実装形態を潜在的に有するように、2の倍数である整数になるように25個のSHC511’をゼロパディングすることもできる。いくつかの例では、DFTの分解能を25個の点を超えて増加させることは、必ずしも必要とされるとは限らない。変換領域では、オーディオ符号化デバイス570は、特定のビンにいずれかのスペクトルエネルギーが存在するかどうかを決定するために、閾値を適用することができる。オーディオ符号化デバイス570は、この文脈では、次いで、この閾値を下回るスペクトル係数エネルギーを廃棄またはゼロにすることができ、オーディオ符号化デバイス570は、廃棄されたまたはゼロにされたSHC511’のうちの1つまたは複数を有するSHC511’を復元するために逆変換を適用することができる。すなわち、逆変換が適用された後、閾値を下回る係数は存在せず、結果として、より少ないビットが、音場を符号化するために使用され得る。
[1330]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、これらの機能は、コンピュータ可読媒体上に1つまたは複数の命令またはコードとして記憶または送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明される技法の実施のために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによって、命令、コードおよび/またはデータ構造を取り出すためにアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[1331]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、任意の接続がコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書において使用されるとき、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含み、この場合、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含められるべきである。
[1332]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の同等の統合された、もしくは個別の論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造または本明細書で説明される技法の実装形態に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内で提供されるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において完全に実施され得る。
[1333]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む多種多様なデバイスまたは装置において実施され得る。様々な構成要素、モジュール、またはユニットが、開示された技法を実行するように構成されるデバイスの機能的態様を強調するために本開示で説明されているが、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットは、コーデックハードウェアユニットの中で組み合わせられ、または、上で説明された1つもしくは複数のプロセッサを含む、適切なソフトウェアおよび/もしくはファームウェアとともに相互動作可能なハードウェアユニットの集合によって提供され得る。
[1334]本技法の様々な実施形態が説明された。本技法のこれらおよび他の態様は、以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
音場の空間成分を圧縮するときに使用されるべき量子化ステップサイズを決定することを備え、前記空間成分は、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、
方法。
[C2]
前記量子化ステップサイズを決定することは、目標ビットレートに基づいて前記量子化ステップサイズを決定することを備える、
C1に記載の方法。
[C3]
前記複数の量子化ステップサイズのうちの1つを選択することは、
前記空間成分を表すために使用されるビットの数の推定値を決定することと、
前記推定値と目標ビットレートとの間の差に基づいて前記量子化ステップサイズを決定することと
を備える、C1に記載の方法。
[C4]
前記複数の量子化ステップサイズのうちの1つを選択することは、
前記空間成分を表すために使用されるビットの数の推定値を決定することと、
前記推定値と目標ビットレートとの間の差を決定することと、
前記差を前記目標ビットレートに加算することによって前記量子化ステップサイズを決定することと
を備える、C1に記載の方法。
[C5]
前記ビットの数の前記推定値を決定することは、前記目標ビットレートに対応するコードブックを仮定して前記空間成分のために生成されるべき前記ビットの数の前記推定されたものを計算することを備える、
C3に記載の方法。
[C6]
前記ビットの数の前記推定値を決定することは、前記空間成分を圧縮するときに使用されるコーディングモードを仮定して前記空間成分のために生成されるべき前記ビットの数の前記推定されたものを計算することを備える、
C3に記載の方法。
[C7]
前記ビットの数の前記推定値を決定することは、
前記空間成分を圧縮するときに使用されるべき第1のコーディングモードを仮定して前記空間成分のために生成されるべき前記ビットの数の第1の推定値を計算することと、
前記空間成分を圧縮するときに使用されるべき第2のコーディングモードを仮定して前記空間成分のために生成されるべき前記ビットの数の第2の推定値を計算することと、
前記第1の推定値と前記第2の推定値のうちで、前記ビットの数の前記決定された推定値として使用されるべき、より少数のビットを有するものを選択することと
を備える、C3に記載の方法。
[C8]
前記ビットの数の前記推定値を決定することは、
前記空間成分が対応するカテゴリを識別するカテゴリ識別子を識別することと、
前記カテゴリに対応する前記空間成分を圧縮するときに生じる、前記空間成分の残差値のビット長を識別することと、
少なくとも一部、前記カテゴリ識別子を表すために使用されるビットの数を前記残差値の前記ビット長に加算することによって、前記ビットの数の前記推定値を決定することと
を備える、C3に記載の方法。
[C9]
前記空間成分を圧縮するときに使用されるべき、複数のコードブックのうちの1つを選択することをさらに備える、
C1に記載の方法。
[C10]
前記複数のコードブックのうちの1つを選択することは、
前記複数のコードブックの各々を使用して、前記空間成分を表すために使用されるビットの数の推定値を決定することと、
最小の数のビットを有する、前記決定された推定値をもたらした前記複数のコードブックのうちの前記1つを選択することと
を備える、C9に記載の方法。
[C11]
前記複数のコードブックのうちの1つを選択することは、前記複数のコードブックのうちの1つまたは複数を使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを備え、前記複数のコードブックの前記1つまたは複数は、前記空間成分の他の要素に対する圧縮されるべき前記空間成分の要素の次数に基づいて選択される、
C9に記載の方法。
[C12]
前記複数のコードブックのうちの1つを選択することは、前記空間成分が後続の空間成分から予測されないときに使用されるように設計される前記複数のコードブックのうちの1つを使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを備える、
C9に記載の方法。
[C13]
前記複数のコードブックのうちの1つを選択することは、前記空間成分が後続の空間成分から予測されるときに使用されるように設計される前記複数のコードブックのうちの1つを使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを備える、
C9に記載の方法。
[C14]
前記複数のコードブックのうちの1つを選択することは、前記空間成分が前記音場の中の合成オーディオオブジェクトを表すときに使用されるように設計される前記複数のコードブックのうちの1つを使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを備える、
C9に記載の方法。
[C15]
前記合成オーディオオブジェクトは、パルスコード変調(PCM)オーディオオブジェクトを備える、
C9に記載の方法。
[C16]
前記複数のコードブックのうちの1つを選択することは、前記空間成分が前記音場の中の録音されたオーディオオブジェクトを表すときに使用されるように設計される前記複数のコードブックの1つを使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを備える、
C9に記載の方法。
[C17]
音場の空間成分を圧縮するときに使用されるべき量子化ステップサイズを決定することを行うように構成される1つまたは複数のプロセッサを備え、前記空間成分は、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、
デバイス。
[C18]
前記1つまたは複数のプロセッサは、目標ビットレートに基づいて前記量子化ステップサイズを決定することを行うように構成される、
C17に記載のデバイス。
[C19]
前記1つまたは複数のプロセッサは、前記空間成分を表すために使用されるビットの数の推定値を決定することと、前記推定値と目標ビットレートとの間の差に基づいて前記量子化ステップサイズを決定することとを行うように構成される、
C17に記載のデバイス。
[C20]
前記1つまたは複数のプロセッサは、前記空間成分を表すために使用されるビットの数の推定値を決定することと、前記推定値と目標ビットレートとの間の差を決定することと、前記差を前記目標ビットレートに加算することによって前記量子化ステップサイズを決定することとを行うように構成される、
C17に記載のデバイス。
[C21]
前記1つまたは複数のプロセッサは、前記目標ビットレートに対応するコードブックを仮定して前記空間成分のために生成されるべき前記ビットの数の前記推定されたものを計算することを行うように構成される、
C19に記載のデバイス。
[C22]
前記1つまたは複数のプロセッサは、前記空間成分を圧縮するときに使用されるコーディングモードを仮定して前記空間成分のために生成されるべき前記ビットの数の前記推定されたものを計算するように構成される、
C19に記載のデバイス。
[C23]
前記1つまたは複数のプロセッサは、前記空間成分を圧縮するときに使用されるべき第1のコーディングモードを仮定して前記空間成分のために生成されるべきビットの前記数の第1の推定値を計算することと、前記空間成分を圧縮するときに使用されるべき第2のコーディングモードを仮定して前記空間成分のために生成されるべきビットの前記数の第2の推定値を計算することと、前記第1の推定値と前記第2の推定値のうちで、ビットの前記数の前記決定された推定値として使用されるべき、より少数のビットを有するものを選択することを行うように構成される、
C19に記載のデバイス。
[C24]
前記1つまたは複数のプロセッサは、前記空間成分が対応するカテゴリを識別するカテゴリ識別子を識別することと、前記カテゴリに対応する前記空間成分を圧縮するときに生じる、前記空間成分の残差値のビット長を識別することと、少なくとも一部、前記カテゴリ識別子を表すために使用されるビットの数を前記残差値の前記ビット長に加算することによって、前記ビットの数の前記推定値を決定することとを行うように構成される、
C19に記載のデバイス。
[C25]
前記1つまたは複数のプロセッサは、前記空間成分を圧縮するときに使用されるべき、複数のコードブックのうちの1つを選択することを行うようにさらに構成される、
C17に記載のデバイス。
[C26]
前記1つまたは複数のプロセッサは、前記複数のコードブックの各々を使用して、前記空間成分を表すために使用されるビットの数の推定値を決定することと、最小の数のビットを有する、前記決定された推定値をもたらした前記複数のコードブックの前記1つを選択することとを行うようにさらに構成される、
C25に記載のデバイス。
[C27]
前記1つまたは複数のプロセッサは、前記複数のコードブックのうちの1つまたは複数を使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを行うようにさらに構成され、前記複数のコードブックの前記1つまたは複数は、前記空間成分の他の要素に対する圧縮されるべき前記空間成分の要素の次数に基づいて選択される、
C25に記載のデバイス。
[C28]
前記1つまたは複数のプロセッサは、前記空間成分が後続の空間成分から予測されないときに使用されるように設計される前記複数のコードブックのうちの1つを使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを行うようにさらに構成される、
C25に記載のデバイス。
[C29]
前記1つまたは複数のプロセッサは、前記空間成分が後続の空間成分から予測されるときに使用されるように設計される前記複数のコードブックのうちの1つを使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを行うようにさらに構成される、
C25に記載のデバイス。
[C30]
前記1つまたは複数のプロセッサは、前記空間成分が前記音場の中の合成オーディオオブジェクトを表すときに使用されるように設計される前記複数のコードブックのうちの1つを使用して前記空間成分を表すために使用されるビットの数の推定値を決定することを行うようにさらに構成される、
C25に記載のデバイス。
[C31]
前記合成オーディオオブジェクトは、パルスコード変調(PCM)オーディオオブジェクトを備える、
C25に記載のデバイス。
[C32]
前記1つまたは複数のプロセッサは、前記空間成分が前記音場の中の録音されたオーディオオブジェクトを表すときに使用されるように設計される前記複数のコードブックのうちの1つを使用して前記空間成分を表すために使用されるビットの数の推定値を決定するようにさらに構成される、
C25に記載のデバイス。
[C33]
音場の空間成分を圧縮するときに使用されるべき量子化ステップサイズを決定するための手段、前記空間成分は、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、と、
前記量子化ステップサイズを記憶するための手段と
を備える、デバイス。
[C34]
実行されると、1つまたは複数のプロセッサに、
音場の空間成分を圧縮するときに使用されるべき量子化ステップサイズを決定することを行わせる命令を記憶しており、前記空間成分は、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される、
非一時的コンピュータ可読記憶媒体。