サラウンドサウンドの進化は、今日の娯楽に利用可能な多数の出力フォーマットを生み出した。そのような消費者向けのサラウンドサウンドフォーマットの例は、いくつかの幾何学的座標中のラウドスピーカーへのフィードを暗黙的に指定するという点で、大半が「チャンネル」ベースである。消費者向けサラウンドサウンドフォーマットには、一般的な5.1フォーマット(これは、フロントレフト(FL)、フロントライト(FR)、センターまたはフロントセンター、バックレフトまたはサラウンドレフト、バックライトまたはサラウンドライト、および低周波効果(LFE)という6つのチャンネルを含む)、成長している7.1フォーマット、(たとえば、超解像度テレビジョン規格とともに使用するための)7.1.4フォーマットおよび22.2フォーマットのようなハイトスピーカーを含む様々なフォーマットがある。非消費者向けフォーマットは、「サラウンドアレイ」と呼ばれることが多い任意の数のスピーカー(対称的な、および非対称的な幾何学的配置の)に及ぶことができる。そのようなアレイの一例は、切頭正二十面体の角に座標上で配置される32個のラウドスピーカーを含む。
将来のMPEGエンコーダへの入力は、任意選択で、(i)事前に指定された場所にあるラウドスピーカーを通じて再生されることが意図される(上で論じられたような)従来のチャンネルベースのオーディオ、(ii)(情報の中でもとりわけ)位置座標を含む関連するメタデータを有する、単一のオーディオオブジェクトのための個別のパルス符号変調(PCM)データを伴うオブジェクトベースのオーディオ、および、(iii)球面調和基底関数(「球面調和係数」すなわちSHC、「高次アンビソニックス」すなわちHOA、および「HOA係数」とも呼ばれる)の係数を使用して音場を表すことを伴うシーンベースのオーディオという3つの可能性のあるフォーマットの1つである。将来のMPEGエンコーダは、http://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w13411.zipにおいて入手可能な、スイスのジュネーブにおいて2013年1月に公表された、国際標準化機構/国際電気標準会議(ISO)/(IEC) JTC1/SC29/WG11/N13411による、「Call for Proposals for 3D Audio」という表題の文書においてより詳細に記述されてもよい。
市場には、様々な「サラウンドサウンド」チャンネルベースのフォーマットがある。それらはたとえば、5.1ホームシアターシステム(ステレオよりもリビングルームに入り込んだという意味では最も成功している)から、NHK(日本放送協会)によって開発された22.2システムにまでわたる。コンテンツ作成者(たとえば、ハリウッドスタジオ)は、映画のサウンドトラックを1回で作成することを望み、各スピーカー構成に対するサウンドトラックをリミックスすることに労力を費やすことを望まない。最近、規格開発団体は、標準化されたビットストリームへの符号化と、スピーカーの幾何学的配置(および数)に適合可能であり依存しない後続の復号と、再生の位置における音響条件(レンダラを含む)とを提供するための方法を検討している。
コンテンツ作成者にそのような柔軟性を提供するために、音場を表すために要素の階層的なセットが使用されてもよい。要素の階層的なセットとは、より低次の要素の基本的なセットがモデル化された音場の完全な表現を提供するように要素が並べられる、要素のセットを指す場合がある。セットが高次の要素を含むように拡張されるにつれて、表現はより詳細になり、分解能が向上する。
要素の階層的なセットの一例は、球面調和係数(SHC)のセットである。次の式は、SHCを使用した音場の記述または表現を示す。
この式は、時間tにおける、音場の任意の点{rr,θr,φr}における圧力piが、SHC、
によって一意に表されることが可能であることを示す。ここで、
であり、cは音の速さ(約343m/s)であり、{rr,θr,φr}は基準の点(または観測点)であり、jn(・)は次数nの球面ベッセル関数であり、
は、次数nおよび位数mの球面調和基底関数である。角括弧の中の項は、離散フーリエ変換(DFT)、離散コサイン変換(DCT)、またはウェーブレット変換のような様々な時間-周波数の変換によって近似することができる、信号の周波数領域の表現(すなわち、S{ωr,rr,θr,φr})であることを認識できる。階層的なセットの他の例は、ウェーブレット変換係数のセットと、多分解能基底関数の係数の他のセットとを含む。
図1は、0次(n=0)から4次(n=4)までの球面調和基底関数を示す図である。図に見られるように、各次数に対して、示されてはいるが図示を簡単にするために図1の例では明示的に注記されていない、位数mの展開がある。
SHC
は、様々なマイクロフォンアレイ構成によって物理的に取得される(たとえば、記録される)ことが可能であり、または代替的には、音場のチャンネルベースまたはオブジェクトベースの記述から導出されることが可能である。SHCはシーンベースのオーディオを表し、ここでSHCは、より効率的な送信または記憶を促すことがある符号化されたSHCを取得するための、オーディオエンコーダへの入力であってもよい。たとえば、(1+4)2個(25個、したがって4次)の係数を伴う4次の表現が使用されてもよい。
上で述べられたように、SHCは、マイクロフォンアレイを使用したマイクロフォン録音から導出されてもよい。SHCがマイクロフォンアレイからどのように導出されてもよいかの様々な例は、Poletti, M、「Three-Dimensional Surround Sound Systems Based on Spherical Harmonics」、J. Audio Eng. Soc、Vol. 53、No. 11、2005年11月、1004-1025頁に記述されている。
SHCがオブジェクトベースの記述からどのように導出されてもよいかを示すために、次の式を検討する。個々のオーディオオブジェクトに対応する音場に対する係数
は、次のように表されてもよい。
ここでiは
であり、
は次数nの(第二種の)球ハンケル関数であり、{rs,θs,φs}はオブジェクトの位置である。オブジェクトソースのエネルギーg(ω)を周波数の関数として(たとえば、PCMストリームに対する高速フーリエ変換の実行のような、時間-周波数分析技法を使用して)知ることによって、各PCMオブジェクトおよび対応する場所をSHC
へと変換することが可能になる。さらに、(上記は線形であり直交方向の分解であるので)各オブジェクトに対する
係数が加法的であることが示されることが可能である。このようにして、多数のPCMオブジェクトが、
係数によって(たとえば、個々のオブジェクトに対する係数ベクトルの合計として)表されることが可能である。基本的に、係数は音場についての情報(3D座標の関数としての圧力)を含み、上記は、観測点{rr,θr,φr}の近傍における個々のオブジェクトから音場全体の表現への変換を表す。以下で、残りの図が、オブジェクトベースおよびSHCベースのオーディオコーディングの状況において説明される。
図2は、本開示において説明される技法の様々な態様を実行する場合があるシステム10を示す図である。図2の例に示されるように、システム10は、コンテンツ作成者デバイス12とコンテンツ消費者デバイス14とを含む。コンテンツ作成者デバイス12およびコンテンツ消費者デバイス14の状況で説明されるが、本技法は、SHC(HOA係数とも呼ばれる場合がある)または音場の任意の他の階層的表現がオーディオデータを表すビットストリームを形成するために符号化されるあらゆる状況において実施されてもよい。その上、コンテンツ作成者デバイス12は、いくつか例を挙げると、ハンドセット(または携帯電話)、タブレットコンピュータ、スマートフォン、またはデスクトップコンピュータを含む、本開示において説明される技法を実施することが可能な任意の形態のコンピューティングデバイスを表す場合がある。同様に、コンテンツ消費者デバイス14は、いくつか例を挙げると、ハンドセット(または携帯電話)、タブレットコンピュータ、スマートフォン、セットトップボックス、またはデスクトップコンピュータを含む、本開示において説明される技法を実施することが可能な任意の形態のコンピューティングデバイスを表す場合がある。
コンテンツ作成者デバイス12は、コンテンツ消費者デバイス14のようなコンテンツ消費者デバイスの操作者による消費のためにマルチチャンネルオーディオコンテンツを生成する場合がある、映画スタジオまたは他のエンティティによって操作されてもよい。いくつかの例では、コンテンツ作成者デバイス12は、HOA係数11を圧縮することを望む個人のユーザによって操作されてもよい。しばしば、コンテンツ作成者はビデオコンテンツとともにオーディオコンテンツを生成する。コンテンツ消費者デバイス14は、個人によって操作されてもよい。コンテンツ消費者デバイス14はオーディオ再生システム16を含んでよく、これは、マルチチャンネルオーディオコンテンツとしての再生のためにSHCをレンダリングすることが可能な任意の形態のオーディオ再生システムを指す場合がある。
コンテンツ作成者デバイス12は、オーディオ編集システム18を含む。コンテンツ作成者デバイス12は、様々なフォーマットのライブ録音7(HOA係数として直接含む)およびオーディオオブジェクト9を取得し、コンテンツ作成者デバイス12はオーディオ編集システム18を使用してこれらを編集してもよい。マイクロフォン5は、ライブ録音7をキャプチャしてもよい。コンテンツ作成者は、編集プロセスの間に、オーディオオブジェクト9からHOA係数11をレンダリングし、さらなる編集を必要とする音場の様々な態様を特定しようと試みて、レンダリングされたスピーカーフィードを聴取してもよい。コンテンツ作成者デバイス12は次いで、(場合によっては、ソースHOA係数が上で説明された方式でそれから導出されてもよい、オーディオオブジェクト9の異なる1つの操作を通じて間接的に)HOA係数11を編集してもよい。コンテンツ作成者デバイス12は、オーディオ編集システム18を利用してHOA係数11を生成してもよい。オーディオ編集システム18は、1つまたは複数のソース球面調和係数として、オーディオデータを編集し、オーディオデータを出力することが可能な任意のシステムを表す。
編集プロセスが完了すると、コンテンツ作成者デバイス12は、HOA係数11に基づいてビットストリーム21を生成してもよい。すなわち、コンテンツ作成者デバイス12は、ビットストリーム21を生成するために、本開示において説明された技法の様々な態様に従って、HOA係数11を符号化し、または別様に圧縮するように構成されるデバイスを表す、オーディオ符号化デバイス20を含む。オーディオ符号化デバイス20は、一例として、有線チャンネルまたはワイヤレスチャンネル、データ記憶デバイスなどであってもよい送信チャンネルにわたる送信のために、ビットストリーム21を生成してもよい。ビットストリーム21は、HOA係数11の符号化されたバージョンを表す場合があり、主要ビットストリームと、サイドチャンネル情報と呼ばれる場合がある別のサイドビットストリームとを含んでもよい。
図2ではコンテンツ消費者デバイス14に直接送信されるものとして示されるが、コンテンツ作成者デバイス12は、コンテンツ作成者デバイス12とコンテンツ消費者デバイス14との間に配置された中間デバイスにビットストリーム21を出力してもよい。中間デバイスは、コンテンツ消費者デバイス14へ後で配信するためにビットストリーム21を記憶することができ、コンテンツ消費者デバイス14はビットストリームを要求してもよい。中間デバイスは、ファイルサーバ、Webサーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、または、オーディオデコーダによって後で取り出すためにビットストリーム21を記憶することが可能な任意の他のデバイスを備えてもよい。中間デバイスは、ビットストリーム21を要求するコンテンツ消費者デバイス14のような契約者に、ビットストリーム21をストリーミングすることが(場合によっては対応するビデオデータビットストリームを送信することとともに)可能なコンテンツ配信ネットワーク中に存在してもよい。
代替的に、コンテンツ作成者デバイス12は、ビットストリーム21を、コンパクトディスク、デジタルビデオディスク、高品位ビデオディスク、または他の記憶媒体のような記憶媒体に記憶することができ、これらの大半がコンピュータによって読み取られることが可能であり、したがって、コンピュータ可読記憶媒体または非一時的コンピュータ可読記憶媒体と呼ばれる場合がある。この文脈では、送信チャンネルは、媒体に記憶されたコンテンツがそれによって送信されるチャンネルを指す場合がある(かつ、小売店または他の店舗ベースの配信機構を含む場合がある)。したがって、いずれにしても、本開示の技法はこの点に関して図2の例に限定されるべきではない。
図2の例にさらに示されるように、コンテンツ消費者デバイス14はオーディオ再生システム16を含む。オーディオ再生システム16は、マルチチャンネルオーディオデータを再生することが可能な任意のオーディオ再生システムを表す場合がある。オーディオ再生システム16は、いくつかの異なるレンダラ22を含んでもよい。レンダラ22は各々、異なる形式のレンダリングを提供することができ、ここで、異なる形式のレンダリングは、ベクトルベースの振幅パンニング(VBAP)を実行する様々な方法の1つまたは複数、および/または、音場合成を実行する様々な方法の1つまたは複数を含んでもよい。本明細書で使用される場合、「Aおよび/またはB」は「AまたはB」、または「AとB」の両方を意味する。
オーディオ再生システム16はさらに、オーディオ復号デバイス24を含んでもよい。オーディオ復号デバイス24は、ビットストリーム21からHOA係数11'を復号するように構成されるデバイスを表すことができ、HOA係数11'は、HOA係数11と同様である場合があるが、有損失の動作(たとえば、量子化)および/または送信チャンネルを介した送信が原因で異なる場合がある。オーディオ再生システム16は、ビットストリーム21を復号してHOA係数11'を取得した後で、HOA係数11'をレンダリングしてラウドスピーカーフィード25を出力してもよい。ラウドスピーカーフィード25は、1つまたは複数のラウドスピーカー(図示を簡単にするために図2の例に示されていない)を駆動してもよい。
適切なレンダラを選択するために、またはいくつかの例では、適切なレンダラを生成するために、オーディオ再生システム16は、ラウドスピーカーの数および/またはラウドスピーカーの空間的な配置を示すラウドスピーカー情報13を取得してもよい。いくつかの例では、オーディオ再生システム16は、基準マイクロフォンを使用してラウドスピーカー情報13を取得し、ラウドスピーカー情報13を動的に決定するような方式でラウドスピーカーを駆動してもよい。他の例では、またはラウドスピーカー情報13の動的な決定とともに、オーディオ再生システム16は、オーディオ再生システム16とインターフェースをとりラウドスピーカー情報13を入力するようにユーザを促してもよい。
オーディオ再生システム16は次いで、ラウドスピーカー情報13に基づいて、オーディオレンダラ22の1つを選択してもよい。いくつかの例では、オーディオ再生システム16は、オーディオレンダラ22のいずれもがラウドスピーカー情報13において指定されるラウドスピーカーの幾何学的配置に対して(ラウドスピーカーの幾何学的配置に関する)何らかの閾値の類似性の尺度の範囲内にないとき、ラウドスピーカー情報13に基づいてオーディオレンダラ22の1つを生成してもよい。オーディオ再生システム16は、いくつかの例では、オーディオレンダラ22の既存の1つを選択することを最初に試みることなく、ラウドスピーカー情報13に基づいてオーディオレンダラ22の1つを生成してもよい。1つまたは複数のスピーカー3は次いで、レンダリングされたラウドスピーカーフィード25を再生してもよい。
図3は、本開示において説明される技法の様々な態様を実行する場合がある図2の例に示されるオーディオ符号化デバイス20の一例をより詳細に示すブロック図である。オーディオ符号化デバイス20は、コンテンツ分析ユニット26、ベクトルベースの分解ユニット27、および指向性ベースの合成ユニット28を含む。以下で簡単に説明されるが、オーディオ符号化デバイス20に関するさらなる情報およびHOA係数を圧縮または別様に符号化する様々な態様は、2014年5月29日に出願された「INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD」という表題の国際特許出願公開第2014/194099号において入手可能である。
コンテンツ分析ユニット26は、HOA係数11のコンテンツを分析して、HOA係数11が生の録音から生成されるコンテンツを表すかオーディオオブジェクトから生成されるコンテンツを表すかを特定するように構成されるユニットを表す。コンテンツ分析ユニット26は、HOA係数11が実際の音場の記録から生成されたか人工的なオーディオオブジェクトから生成されたかを決定してもよい。いくつかの例では、フレーム化されたHOA係数11が録音から生成されたとき、コンテンツ分析ユニット26は、HOA係数11をベクトルベースの分解ユニット27に渡す。いくつかの例では、フレーム化されたHOA係数11が合成オーディオオブジェクトから生成されたとき、コンテンツ分析ユニット26は、HOA係数11を指向性ベースの合成ユニット28に渡す。指向性ベースの合成ユニット28は、HOA係数11の指向性ベースの合成を実行して指向性ベースのビットストリーム21を生成するように構成されるユニットを表す場合がある。
図3の例に示されるように、ベクトルベースの分解ユニット27は、線形可逆変換(LIT)ユニット30、パラメータ計算ユニット32、並べ替えユニット34、フォアグラウンド選択ユニット36、エネルギー補償ユニット38、音響心理学的オーディオコーダユニット40、ビットストリーム生成ユニット42、音場分析ユニット44、係数削減ユニット46、バックグラウンド(BG)選択ユニット48、空間-時間補間ユニット50、および量子化ユニット52を含んでもよい。
線形可逆変換(LIT)ユニット30は、HOAチャンネルの形式でHOA係数11を受け取り、各チャンネルは、球面基底関数(これはHOA[k]と示されることがあり、kはサンプルの現在のフレームまたはブロックを示す場合がある)の所与の次数、位数と関連付けられる係数のブロックまたはフレームを表す。HOA係数11の行列は、D: M x (N+1)2という次元を有する場合がある。
LITユニット30は、特異値分解と呼ばれるある形式の分析を実行するように構成されるユニットを表す場合がある。SVDに関して説明されるが、本開示において説明される技法は、線形的に相関付けられない、エネルギー圧縮された出力のセットを提供する、任意の同様の変換または分解に関して実行されてもよい。また、本開示における「セット」への言及は、特に反対のことが述べられていない限り0ではないセットを指すことが一般に意図されており、いわゆる「空集合」を含む伝統的な数学的な集合の定義を指すことは意図されていない。代替的な変換は、「PCA」と呼ばれることが多い主要成分分析を備える場合がある。状況に応じて、PCAは、いくつか例を挙げると、個別のカルーネンレーベ変換、ホテリング変換、固有直交分解(POD)、および固有値分解(EVD)のような、いくつかの異なる名称で呼ばれる場合がある。オーディオデータを圧縮するという背後の目標につながるそのような演算の特性は、マルチチャンネルオーディオデータの「エネルギー圧縮」および「非相関化」である。
いずれにしても、LITユニット30が例示を目的に特異値分解(これはやはり「SVD」と呼ばれる場合がある)を実行すると仮定すると、LITユニット30は、変換されたHOA係数の2つ以上のセットへとHOA係数11を変換してもよい。変換されたHOA係数の「セット」は、変換されたHOA係数のベクトルを含んでもよい。図3の例では、LITユニット30は、HOA係数11に関してSVDを実行して、いわゆるV行列、S行列、およびU行列を生成してもよい。線形代数において、SVDは、y対zの実数または複素数の行列X(ここでXはHOA係数11のようなマルチチャンネルオーディオデータを表す場合がある)の、次の形式での要素分解を表す場合がある。
X = USV*
Uは、y対yの実数または複素数の単位行列を表す場合があり、ここで、Uのy個の列はマルチチャンネルオーディオデータの左特異ベクトルとして知られている。Sは対角線上に非負の実数を有するy対zの長方の対角行列を表す場合があり、Sの対角方向の値はマルチチャンネルオーディオデータの特異値として知られている。V*(これはVの共役転置を示す場合がある)は、z対zの実数または複素数の単位行列を表す場合があり、ここで、V*のz個の列はマルチチャンネルオーディオデータの右特異ベクトルとして知られている。
いくつかの例では、上で参照された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を適用することを含んでもよい。
このようにして、LITユニット30は、HOA係数11に関してSVDを実行して、次元D: M x (N+1)2を有するUS[k]ベクトル33(これはSベクトルとUベクトルの組み合わされたバージョンを表す場合がある)と、次元D: (N+1)2 x (N+1)2を有するV[k]ベクトル35とを出力してもよい。US[k]行列中の個々のベクトル要素はXps(k)とも呼ばれる場合があるが、V[k]行列の個々のベクトルはv(k)とも呼ばれる場合がある。
U行列、S行列、およびV行列の分析は、これらの行列がXによって上で表される背後の音場の空間的および時間的な特性を搬送または表現することを明らかにする場合がある。(M個のサンプルの長さの)Uの中のN個のベクトルの各々は、(M個のサンプルによって表される期間について)時間の関数として正規化された別々のオーディオ信号を表す場合があり、これらのオーディオ信号は、互いに直交しており、あらゆる空間的な特性(これは指向性情報とも呼ばれる場合がある)に対して無関係にされている。空間的な形状および場所(r、θ、φ)を表す空間特性は代わりに、個々のi番目のベクトルv(i)(k)によって、V行列(各々長さが(N+1)2である)において表される場合がある。v(i)(k)ベクトルの各々の個々の要素は、関連するオーディオオブジェクトに対する音場の形状(幅を含む)および場所を記述するHOA係数を表す場合がある。U行列およびV行列の中のベクトルの両方が、それらの二乗平均平方根エネルギーが1に等しくなるように正規化される。したがって、Uの中のオーディオ信号のエネルギーは、Sの中の対角線上の要素によって表される。したがって、UとSを乗算してUS[k](個々のベクトル要素Xps(k)を伴う)を形成することで、エネルギーを有するオーディオ信号が表される。SVD分解により、オーディオ時間信号(Uの中の)と、それらのエネルギー(Sの中の)と、それらの空間特性(Vの中の)とを無関係にできることで、本開示において説明される技法の様々な態様がサポートされてもよい。さらに、US[k]とV[k]のベクトル乗算による、背後のHOA[k]係数Xを合成するモデルは、「ベクトルベースの分解」という用語を生じさせ、これは本文書の全体で使用される。
HOA係数11に関して直接実行されるものとして説明されるが、LITユニット30は、HOA係数11から導出されるものに線形可逆変換を適用してもよい。たとえば、LITユニット30は、HOA係数11から導出されるパワースペクトル密度行列に関してSVDを適用してもよい。係数自体ではなくHOA係数のパワースペクトル密度(PSD)に関してSVDを実行することによって、LITユニット30は、プロセッササイクルと記憶空間の1つまたは複数に関する、SVDの実行の計算的な複雑さを低減できる可能性がありながら、SVDがHOA係数に直接適用されているかのように、同じソースオーディオの符号化の効率を達成する場合がある。
パラメータ計算ユニット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に出力してもよい。
パラメータ計算ユニット32によって計算されるパラメータは、オーディオオブジェクトを並べ替えてオーディオオブジェクトの自然な評価または経時的な連続性を表すために、並べ替えユニット34によって使用されてもよい。並べ替えユニット34は、第1のUS[k]ベクトル33からのパラメータ37の各々を、第2のUS[k-1]ベクトル33に対するパラメータ39の各々に対して順番に比較してもよい。並べ替えユニット34は、現在のパラメータ37および前のパラメータ39に基づいてUS[k]行列33およびV[k]行列35内の様々なベクトルを並べ替えて(一例として、ハンガリアンアルゴリズムを使用して)、並べ替えられたUS[k]行列33'(これは
と数学的に示される場合がある)と、並べ替えられたV[k]行列35'(これは
と数学的に示される場合がある)とを、フォアグラウンド音声(または支配的な音声-PS)選択ユニット36(「フォアグラウンド選択ユニット36」)およびエネルギー補償ユニット38に出力してもよい。
音場分析ユニット44は、目標ビットレート41を潜在的に達成するために、HOA係数11に関して音場分析を実行するように構成されるユニットを表す場合がある。音場分析ユニット44は、分析および/または受信された目標ビットレート41に基づいて、音響心理学的なコーダの実体の総数(これは、環境またはバックグラウンドチャンネルの総数(BGTOT)と、フォアグラウンドチャンネル、または言い換えると支配的なチャンネルの数との関数である場合がある)を決定してもよい。音響心理学的なコーダの実体の総数は、numHOATransportChannelsと示すことができる。
音場分析ユニット44はまた、やはり目標ビットレート41を潜在的に達成するために、フォアグラウンドチャンネルの総数(nFG)45、バックグラウンド(または言い換えると環境)音場の最小の次数(NBG、または代替的にMinAmbHOAorder)、バックグラウンド音場の最小の次数を表す実際のチャンネルの対応する数(nBGa = (MinAmbHOAorder + 1)2)、および送信すべき追加のBG HOAチャンネルのインデックス(i)(これらは図3の例ではバックグラウンドチャンネル情報43としてまとめて示される場合がある)を決定してもよい。バックグラウンドチャンネル情報42はまた、環境チャンネル情報43と呼ばれる場合がある。numHOATransportChannels - nBGaにより残るチャンネルの各々は、「追加のバックグラウンド/環境チャンネル」、「アクティブなベクトルベースの支配的なチャンネル」、「アクティブな指向性ベースの支配的なチャンネル」、または「完全に非アクティブ」のいずれかであってもよい。一態様では、チャンネルタイプは、2ビット(たとえば、00:指向性ベースの信号、01:ベクトルベースの支配的な信号、10:追加の環境信号、11:非アクティブ信号)による、(「ChannelType」として)示されるシンタックス要素であってもよい。バックグラウンド信号または環境信号の総数nBGaは、(MinAmbHOAorder +1)2+(上の例の)インデックス10がそのフレームのためのビットストリームにおいてチャンネルタイプとして現れる回数によって与えられてもよい。
音場分析ユニット44は、目標ビットレート41に基づいてバックグラウンド(または言い換えると環境)チャンネルの数とフォアグラウンド(または言い換えると支配的な)チャンネルの数とを選択して、目標ビットレート41が比較的高いとき(たとえば、目標ビットレート41が512Kbps以上であるとき)より多数のバックグラウンドおよび/またはフォアグラウンドチャンネルを選択してもよい。一態様では、ビットストリームのヘッダセクションでは、numHOATransportChannelsは8に設定されてもよいが、MinAmbHOAorderは1に設定されてもよい。この状況では、各フレームにおいて、4つのチャンネルが音場のバックグラウンド部分または環境部分を表すために専用であってよく、一方で他の4つのチャンネルは、フレームごとにチャンネルのタイプに応じて変化することが可能であり、たとえば、追加のバックグラウンド/環境チャンネルまたはフォアグラウンド/支配的なチャンネルのいずれかとして使用することが可能である。フォアグラウンド/支配的な信号は、上で説明されたように、ベクトルベースの信号または指向性ベースの信号の1つである可能性がある。
いくつかの例では、フレームに対するベクトルベースの支配的な信号の総数は、そのフレームのビットストリームにおいてChannelTypeインデックスが01である回数によって与えられてもよい。上の態様では、各々の追加のバックグラウンド/環境チャンネル(たとえば、10というChannelTypeに対応する)に対して、可能性のあるHOA係数(最初の4つ以外)のいずれがそのチャンネルにおいて表されてもよいかの対応する情報である。4次のHOAコンテンツに対するこの情報は、HOA係数5〜25を示すためのインデックスであってもよい。最初の4つの環境HOA係数1〜4は、minAmbHOAorderが1に設定されるときはすべて送信されてもよいので、オーディオ符号化デバイスは、5〜25というインデックスを有する追加の環境HOA係数の1つを示すことだけが必要である場合がある。したがって、この情報は、「CodedAmbCoeffIdx」と示される場合がある、(4次のコンテンツでは)5ビットのシンタックス要素を使用して送信されてもよい。いずれにしても、音場分析ユニット44は、バックグラウンドチャンネル情報43、US[k]ベクトル33、およびV[k]ベクトル35を、BG選択ユニット48Bのようなベクトルベースの合成ユニット27Bの1つまたは複数の他のコンポーネントに出力する。
BG選択ユニット48は、バックグラウンドチャンネル情報(たとえば、バックグラウンド音場(NBG)ならびに送信すべき追加のBG HOAチャンネルの数(nBGa)およびインデックス(i))に基づいて、バックグラウンドまたは環境VBG[k]ベクトル35BGを決定するように構成されるユニットを表す場合がある。たとえば、NBGが1に等しいとき、バックグラウンド選択ユニット48は、VBG[k]ベクトル35BGとして1以下の次数を有するオーディオフレームの各サンプルに対するV[k]ベクトル35を選択してもよい。この例では、バックグラウンド選択ユニット48は次いで、追加のVBG[k]ベクトル35BGとしてインデックス(i)の1つによって特定されるインデックスを有するV[k]ベクトル35を選択し、ここで、nBGaは、図4の例において示されるオーディオ復号デバイス24のようなオーディオ復号デバイスが、ビットストリーム21からのBG HOA係数47を解析することを可能にするために、ビットストリーム21において指定されることになるビットストリーム生成ユニット42に提供される。バックグラウンド選択ユニット48は次いで、VBG[k]ベクトル35BGを、エネルギー補償ユニット38のようなクロスフェードユニット66の1つまたは複数の他のコンポーネントに出力してもよい。VBG[k]ベクトル35BGは、D:[(NBG+1)2 + nBGa] x (N+1)2という次元を有する場合がある。いくつかの例では、BG選択ユニット48はまた、US[k]ベクトル33を、エネルギー補償ユニット38のようなクロスフェードユニット66の1つまたは複数の他のコンポーネントに出力してもよい。
エネルギー補償ユニット38は、VBG[k]ベクトル35BGに関してエネルギー補償を実行して、バックグラウンド選択ユニット48によるV[k]ベクトル35の様々な1つの削除が原因のエネルギーの損失を補償するように構成されるユニットを表す場合がある。エネルギー補償ユニット38は、並べ替えられたUS[k]行列33'、並べ替えられたV[k]行列35'、nFG信号49、フォアグラウンドV[k]ベクトル51k、およびVBG[k]ベクトル35BGの1つまたは複数に関してエネルギー分析を実行し、次いで、このエネルギー分析に基づいてエネルギー補償を実行してエネルギー補償されたVBG[k]ベクトル35BG'を生成してもよい。エネルギー補償ユニット38は、エネルギー補償されたVBG[k]ベクトル35BG'を、行列算出ユニット64のようなベクトルベースの合成ユニット27の1つまたは複数の他のコンポーネントに出力してもよい。いくつかの例では、エネルギー補償ユニット38はまた、US[k]ベクトル33を、行列算出ユニット64のようなクロスフェードユニット66の1つまたは複数の他のコンポーネントに出力してもよい。
行列算出ユニット64は、1つまたは複数の行列に対するあらゆる種類の動作を実行するように構成されるユニットを表す場合がある。図3の例では、行列算出ユニット64は、エネルギー補償されたVBG[k]ベクトル35BGによってUS[k]ベクトル33を乗算して、エネルギー補償された環境HOA係数47'を取得するように構成されてよい。行列算出ユニット64は、決定されたエネルギー補償された環境HOA係数47'を、クロスフェードユニット66のようなベクトルベースの合成ユニット27の1つまたは複数の他のコンポーネントに提供してもよい。エネルギー補償された環境HOA係数47'は、D: M x [(NBG+1)2+ nBGa]という次元を有する場合がある。
クロスフェードユニット66は、信号間のクロスフェージングを実行するように構成されるユニットを表す場合がある。たとえば、クロスフェードユニット66は、フレームkに対するクロスフェードされたエネルギー補償された環境HOA係数47''を決定するために、フレームkのエネルギー補償された環境HOA係数47'と前のフレームk-1のエネルギー補償された環境HOA係数47'との間でクロスフェードしてもよい。クロスフェードユニット66は、フレームkに対する決定されたクロスフェードされたエネルギー補償された環境HOA係数47''を、音響心理学的オーディオコーダユニット40のようなベクトルベースの合成ユニット27の1つまたは複数の他のコンポーネントに出力してもよい。
いくつかの例では、クロスフェードユニット66は、前のフレームk-1のエネルギー補償された環境HOA係数47'の一部分に基づいてフレームkのエネルギー補償された環境HOA係数47'の一部分を修正することによって、フレームkのエネルギー補償された環境HOA係数47'とフレームk-1のエネルギー補償された環境HOA係数47'との間でクロスフェードしてもよい。いくつかの例では、クロスフェードユニット66は、クロスフェードされたエネルギー補償された環境HOA係数47''を決定するときに係数の一部分を除去してもよい。クロスフェードユニット66の追加の詳細は、図14を参照して以下で与えられる。
フォアグラウンド選択ユニット36は、nFG45(これはフォアグラウンドベクトルを特定する1つまたは複数のインデックスを表す場合がある)に基づいて音場のフォアグラウンド成分または明瞭な成分を表す、並べ替えられたUS[k]行列33'および並べ替えられたV[k]行列35'を選択するように構成されるユニットを表す場合がある。フォアグラウンド選択ユニット36は、nFG信号49(並べ替えられたUS[k]1,…, nFG 49、FG1,…, nfG[k] 49、または
として示されてもよい)を音響心理学的オーディオコーダユニット40に出力してもよく、ここでnFG信号49は次元D: M x nFGを有してもよく、各々がモノオーディオオブジェクトを表す。フォアグラウンド選択ユニット36はまた、音場のフォアグラウンド成分に対応する並べ替えられたV[k]行列35'(またはv(1..nFG)(k) 35')を空間-時間補間ユニット50に出力してもよく、ここで、フォアグラウンド成分に対応する並べ替えられたV[k]行列35'のサブセットは、次元D:(N+1)2 x nFGを有するフォアグラウンドV[k]行列51k(これは、
として数学的に示される場合がある)として示されてもよい。
空間-時間補間ユニット50は、k番目のフレームに対するフォアグラウンドV[k]ベクトル51kと前のフレーム(したがってk-1という表記である)に対するフォアグラウンドV[k-1]ベクトル51k-1とを受信して、空間-時間補間を実行して補間されたフォアグラウンドV[k]ベクトルを生成するように構成されるユニットを表す場合がある。空間-時間補間ユニット50は、nFG信号49をフォアグラウンドV[k]ベクトル51kと再び組み合わせて、並べ替えられたフォアグラウンドHOA係数を復元してもよい。空間-時間補間ユニット50は次いで、並べ替えられたフォアグラウンドHOA係数を補間されたV[k]ベクトルによって除算し、補間されたnFG信号49'を生成してもよい。空間-時間補間ユニット50はまた、オーディオ復号デバイス24のようなオーディオ復号デバイスが補間されたフォアグラウンドV[k]ベクトルを生成してそれによってフォアグラウンドV[k]ベクトル51kを復元できるように、補間されたフォアグラウンドV[k]ベクトルを生成するために使用されたフォアグラウンドV[k]ベクトル51kを出力してもよい。補間されたフォアグラウンドV[k]を生成するために使用されるフォアグラウンドV[k]ベクトル51kは、残りのフォアグラウンドV[k]ベクトル53として示される。同じV[k]およびV[k-1]が(補間されたベクトルV[k]を作成するために)エンコーダおよびデコーダにおいて使用されることを確実にするために、ベクトルの量子化された/逆量子化されたバージョンがエンコーダおよびデコーダにおいて使用されてもよい。
この点に関して、空間-時間補間ユニット50は、第1のオーディオフレームおよび第2の時間的に後または前のオーディオフレームのいくつかの他の部分から第1のオーディオフレームの第1の部分を補間するユニットを表す場合がある。いくつかの例では、その部分はサブフレームとして示されることがあり、サブフレームに関して実行されるような補間は、図45〜図46Eに関して以下でより詳細に説明される。他の例では、図37〜図39に関してより詳細に説明されるように、空間-時間補間ユニット50は、前のフレームのサンプルの最後のいくつかのサンプルおよび後のフレームの最初のいくつかのサンプルに関して動作してもよい。空間-時間補間ユニット50は、この補間を実行する際に、ビットストリーム21において指定されることが要求されるフォアグラウンドV[k]ベクトル51kのサンプルの数を減らすことができ、それは、フォアグラウンドV[k]ベクトル51kのうちで補間されたV[k]ベクトルを生成するために使用されるものだけが、フォアグラウンドV[k]ベクトル51kのサブセットを表すからである。すなわち、(ビットストリーム21において指定されるフォアグラウンドV[k]ベクトル51kの数を減らすことによって)HOA係数11の圧縮を潜在的により効率的にするために、本開示において説明される技法の様々な態様は、第1のオーディオフレームの1つまたは複数の部分の補間を実現することができ、その部分の各々はHOA係数11の分解されたバージョンを表す場合がある。
空間-時間補間は、いくつかの利点をもたらす場合がある。第1に、nFG信号49は、SVDまたは他のLITが実行される際のブロックごとの性質が原因で、フレームごとに連続的ではないことがある。言い換えると、LITユニット30がフレームごとにSVDを適用するとすると、たとえばUS[k]行列33およびV[k]行列35の並べ替えられていない性質により、結果として得られる変換されたHOA係数の中に証拠として何らかの非連続性が存在することがある。この補間を実行することによって、フレーム境界(または言い換えると、フレームへのHOA係数11の区分)が原因でもたらされるあらゆるアーティファクトを低減する可能性のある平滑化効果を補間が有する場合があるとすると、この非連続性は低減されてもよい。フォアグラウンドV[k]ベクトル51kを使用してこの補間を実行し、次いで復元された並べ替えられたHOA係数から補間されたフォアグラウンドV[k]ベクトル51kに基づいて補間されたnFG信号49'を生成することで、フレームごとの動作が原因の、さらにはnFG信号49を並べ替えることが原因の、少なくともいくつかの影響を平滑化してもよい。
動作において、空間-時間補間ユニット50は、第1のフレームに含まれる第1の複数のHOA係数11の一部分の第1の分解、たとえばフォアグラウンドV[k]ベクトル51k、および、第2のフレームに含まれる第2の複数のHOA係数11の一部分の第2の分解、たとえばフォアグラウンドV[k]ベクトル51k-1からの、第1のオーディオフレームの1つまたは複数のサブフレームを補間して、1つまたは複数のサブフレームに対する分解され補間された球面調和係数を生成してもよい。
いくつかの例では、第1の分解は、HOA係数11のその部分の右特異ベクトルを表す第1のフォアグラウンドV[k]ベクトル51kを備える。同様に、いくつかの例では、第2の分解は、HOA係数11のその部分の右特異ベクトルを表す第2のフォアグラウンドV[k]ベクトル51kを備える。
言い換えると、球面調和ベースの3Dオーディオは、球面上の直交基底関数による3D圧力場のパラメトリックな表現であってもよい。表現の次数Nが高いほど、空間分解能は高くなる可能性があり、また、(全体で(N+1)2個の係数に対する)球面調和(SH)係数の数が大きくなることが多い。多くの適用形態において、係数の帯域幅圧縮は、係数を効率的に送信して記憶することが可能であることが要求されてもよい。本開示で指示されるこの技法は、特異値分解(SVD)を使用したフレームベースの次元削減プロセスを提供してもよい。SVD分析は、係数の各フレームを3つの行列U、S、およびVに分解してもよい。いくつかの例では、本技法は、背後の音場のフォアグラウンド成分として、US[k]行列中のベクトルの一部を扱うことができる。しかしながら、このように扱われるとき、(US[k]行列の中の)これらのベクトルは、それらが同じ明瞭なオーディオ成分を表すとしても、フレームごとに非連続である。これらの非連続性は、成分が変換オーディオコーダを通じて与えられるとき、大きいアーティファクトにつながる場合がある。
本開示において説明される技法は、この非連続性に対処する場合がある。すなわち、本技法は、V行列が球面調和領域中の直交する空間軸として解釈することができるという考えに基づいてもよい。U[k]行列は、それらの基底関数として球面調和(HOA)データの投影を表す場合があり、ここで上記の非連続性は、フレームごとに変化する、したがってそれら自体が非連続的である、直交する空間軸(V[k])が原因となることがある。これは、基底関数がいくつかの例ではフレームごとに不変であるフーリエ変換のような類似の分解とは異なる。これらの点で、SVDは、matching pursuitアルゴリズムと見なされてもよい。本開示において説明される技法は、空間-時間補間ユニット50が、基底関数(V[k])を補間することによって、フレームごとに基底関数間の連続性を維持することを可能にする場合がある。
上で述べられたように、この補間はサンプルに関して実行されてもよい。このケースは、サブフレームがサンプルの単一のセットを備えるとき、上の説明において一般化される。複数のサンプルにわたる補間の場合と複数のサブフレームにわたる補間の場合の両方において、補間動作は次の式の形をとってもよい。
この上の式では、補間は、単一の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の関数として非線形であるが単調に(二乗余弦の1/4周期のように)0と1の間を変化する場合がある。関数w(l)は、関数のいくつかの異なる候補の間でインデックスを付けられ、同一の補間動作がデコーダによって繰り返されてもよいように、「SpatialInterpolationMethod」という名前のフィールドとしてビットストリームにおいてシグナリングされてもよい。w(l)が0に近い値であるとき、出力
は、v(k-1)によって大きく重みを付けられ、または影響を受けることがある。一方、w(l)が1に近い値であるとき、このことは、出力
が、v(k-1)によって大きく重みを付けられ、または影響を受けることを確実にする。
係数削減ユニット46は、バックグラウンドチャンネル情報43に基づいて残りのフォアグラウンドV[k]ベクトル53に関する係数削減を実行して、削減されたフォアグラウンドV[k]ベクトル55を量子化ユニット52に出力するように構成されるユニットを表す場合がある。削減されたフォアグラウンドV[k]ベクトル55は、次元D:[(N+1)2-(NBG+1)2-BGTOT] x nFGを有する場合がある。係数削減ユニット46は、この点で、残りのフォアグラウンドV[k]ベクトル53の中の係数の数を削減するように構成されるユニットを表す場合がある。言い換えると、係数削減ユニット46は、指向性情報をほとんどまたはまったく有しないフォアグラウンドV[k]ベクトルの中の係数(これらが残りのフォアグラウンドV[k]ベクトル53を形成する)を除去するように構成されるユニットを表す場合がある。いくつかの例では、1次および0次の基底関数(NBGとして示されてもよい)に対応する、明瞭な、または言い換えるとフォアグラウンドのV[k]ベクトルの係数は、ほとんど指向性情報を提供しないので、フォアグラウンドVベクトルから(「係数削減」と呼ばれる場合があるプロセスを通じて)除去することができる。この例では、NBGに対応する係数を特定するためだけではなく、[(NBG +1)2+1, (N+1)2]のセットから追加のHOAチャンネル(変数TotalOfAddAmbHOAChanによって示されてもよい)を特定するためにも、より大きい柔軟性が提供されてもよい。
量子化ユニット52は、任意の形式の量子化を実行して削減されたフォアグラウンドV[k]ベクトル55を圧縮して、コーディングされたフォアグラウンドV[k]ベクトル57を生成し、コーディングされたフォアグラウンドV[k]ベクトル57をビットストリーム生成ユニット42に出力するように構成されるユニットを表す場合がある。動作において、量子化ユニット52は、音場の空間成分、すなわちこの例では削減されたフォアグラウンドV[k]ベクトル55の1つまたは複数を圧縮するように構成されるユニットを表す場合がある。量子化ユニット52は、「NbitsQ」と表記される量子化モードシンタックス要素によって示されるような、以下の12個の量子化モードのうちの任意の1つを実行してもよい。
NbitsQの値 量子化モードのタイプ
0-3: 予備
4: ベクトル量子化
5: ハフマンコーディングを伴わないスカラー量子化
6: ハフマンコーディングを伴う6ビットスカラー量子化
7: ハフマンコーディングを伴う7ビットスカラー量子化
8: ハフマンコーディングを伴う8ビットスカラー量子化
… …
16: ハフマンコーディングを伴う16ビットスカラー量子化
量子化ユニット52はまた、上述のタイプの量子化モードのいずれかの予測されるバージョンを実行してもよく、前のフレームのVベクトルの要素(またはベクトル量子化が実行されたときの重み)と、現在のフレームのVベクトルの要素(またはベクトル量子化が実行されたときの重み)との間の差分が決定される。次いで、量子化ユニット52は、現在のフレームのVベクトルの要素の値自体ではなく、現在のフレームの要素または重みと前のフレームの要素または重みとの間の差分を量子化してもよい。
量子化ユニット52は、削減されたフォアグラウンドV[k]ベクトル55の各々に対して複数の形態の量子化を実行して、削減されたフォアグラウンドV[k]ベクトル55の複数のコーディングされたバージョンを取得してもよい。量子化ユニット52は、削減されたフォアグラウンドV[k]ベクトル55のコーディングされたバージョンの1つを、コーディングされたフォアグラウンドV[k]ベクトル57として選択してもよい。言い換えれば、量子化ユニット52は、本開示において論じられる基準の任意の組合せに基づいて、予測されないベクトル量子化されたVベクトル、予測されるベクトル量子化されたVベクトル、ハフマンコーディングされていないスカラー量子化されたVベクトル、およびハフマンコーディングされたスカラー量子化されたVベクトルの1つを選択して、出力が切り替えられる量子化されたVベクトルとして使用してもよい。いくつかの例では、量子化ユニット52は、ベクトル量子化モードおよび1つまたは複数のスカラー量子化モードを含む量子化モードのセットから量子化モードを選択し、選択された量子化モードに基づいて(または従って)、入力Vベクトルを量子化してもよい。次いで、量子化ユニット52は、(たとえば、重み値またはそれを示すビットに関する)予測されないベクトル量子化されたVベクトル、(たとえば、誤り値またはそれを示すビットに関する)予測されるベクトル量子化されたVベクトル、ハフマンコーディングされていないスカラー量子化されたVベクトル、およびハフマンコーディングされたスカラー量子化されたVベクトルのうちの選択された1つを、コーディングされたフォアグラウンドV[k]ベクトル57としてビットストリーム生成ユニット42に提供してもよい。量子化ユニット52はまた、量子化モードを示すシンタックス要素(たとえば、NbitsQシンタックス要素)と、Vベクトルを逆量子化するために、または別様に再構築するために使用される任意の他のシンタックス要素とを提供してもよい。
オーディオ符号化デバイス20内に含まれる音響心理学的オーディオコーダユニット40は、音響心理学的オーディオコーダの複数の実体を表してもよく、これらの各々が、エネルギー補償された環境HOA係数47'と補間されたnFG信号49'の各々の異なるオーディオオブジェクトまたはHOAチャンネルを符号化して、符号化されたHOA係数59および符号化されたnFG信号61を生成するために使用される。音響心理学的オーディオコーダユニット40は、符号化された環境HOA係数59および符号化されたnFG信号61をビットストリーム生成ユニット42に出力してもよい。
オーディオ符号化デバイス20内に含まれるビットストリーム生成ユニット42は、既知のフォーマット(復号デバイスにより知られているフォーマットを指す場合がある)に合わせるためにデータをフォーマットし、それによってベクトルベースのビットストリーム21を生成するユニットを表す。ビットストリーム21は、言い換えると、上で説明された方式で符号化されている、符号化されたオーディオデータを表す場合がある。ビットストリーム生成ユニット42は、いくつかの例ではマルチプレクサを表すことがあり、マルチプレクサは、コーディングされたフォアグラウンドV[k]ベクトル57と、符号化された環境HOA係数59と、符号化されたnFG信号61と、バックグラウンドチャンネル情報43とを受け取ってもよい。ビットストリーム生成ユニット42は次いで、コーディングされたフォアグラウンドV[k]ベクトル57、符号化された環境HOA係数59、符号化されたnFG信号61、およびバックグラウンドチャンネル情報43に基づいて、ビットストリーム21を生成してもよい。このようにして、ビットストリーム生成ユニット42はそれによって、図7の例に関して以下でより詳細に説明されるように、ビットストリーム21の中でベクトル57を指定してビットストリーム21を取得してもよい。ビットストリーム21は、一次ビットストリームまたは主要ビットストリームと、1つまたは複数のサイドチャンネルビットストリームとを含んでもよい。
図3の例には示されないが、オーディオ符号化デバイス20はまた、現在のフレームが指向性ベースの合成を使用して符号化されるべきか、またはベクトルベースの合成を使用して符号化されるべきかに基づいて、オーディオ符号化デバイス20からビットストリーム出力を(たとえば、指向性ベースのビットストリーム21とベクトルベースのビットストリーム21との間で)切り替える、ビットストリーム出力ユニットを含んでもよい。ビットストリーム出力ユニットは、(HOA係数11が合成オーディオオブジェクトから生成されたことを検出した結果として)指向性ベースの合成が実行されたか、または(HOA係数が記録されたことを検出した結果として)ベクトルベースの合成が実行されたかを示す、コンテンツ分析ユニット26によって出力されるシンタックス要素に基づいて、切替えを実行してもよい。ビットストリーム出力ユニットは、ビットストリーム21のそれぞれの1つとともに、切替えを、または現在のフレームのために使用される現在の符号化を示すために、正しいヘッダシンタックスを指定してもよい。
その上、上で述べられたように、音場分析ユニット44は、環境HOA係数47に対するBGTOTを特定することができ、これはフレームごとに変化する場合がある(ただし、時には、BGTOTは2つ以上の(時間的に)隣接するフレームにわたって一定または同一のままであることがある)。BGTOTの変化は、削減されたフォアグラウンドV[k]ベクトル55において表される係数の変化をもたらす場合がある。BGTOTの変化は、フレームごとに変化するバックグラウンドHOA係数(「環境HOA係数」とも呼ばれる場合がある)をもたらす場合がある(ただし、やはり時には、BGTOTは2つ以上の(時間的に)隣接するフレームにわたって一定または同一のままであることがある)。この変化はしばしば、追加の環境HOA係数の追加または除去、および削減されたフォアグラウンドV[k]ベクトル55からの係数の対応する除去またはそれへの係数の対応する追加によって表される、音場の態様に対するエネルギーの変化をもたらす場合がある。
結果として、音場分析ユニット44はさらに、環境HOA係数がいつ変化するかをフレームごとに決定し、音場の環境成分を表すために使用されるという点で環境HOA係数に対する変化を示すフラグまたは他のシンタックス要素を生成してもよい(ここでこの変化は、環境HOA係数の「遷移」または環境HOA係数の「遷移」とも呼ばれる場合がある)。具体的には、係数削減ユニット46は、フラグ(AmbCoeffTransitionフラグまたはAmbCoeffIdxTransitionフラグとして示されてもよい)を生成して、フラグがビットストリーム21に含まれてもよいようにフラグをビットストリーム生成ユニット42に(場合によってはサイドチャンネル情報の一部として)提供してもよい。
係数削減ユニット46はまた、環境係数遷移フラグを指定することに加えて、削減されたフォアグラウンドV[k]ベクトル55がどのように生成されるかを修正してもよい。一例では、環境HOA係数の1つが現在のフレームの間に遷移中であると決定すると、係数削減ユニット46は、遷移中の環境HOA係数に対応する削減されたフォアグラウンドV[k]ベクトル55のVベクトルの各々に対するベクトル係数(「ベクトル要素」または「要素」とも呼ばれる場合がある)を指定してもよい。やはり、遷移中の環境HOA係数は、バックグラウンド係数の総数BGTOTを増大または減少させてもよい。したがって、バックグラウンド係数の総数の結果として起こる変化は、環境HOA係数がビットストリームに含まれるか含まれないかに、および、Vベクトルの対応する要素が上で説明された第2および第3の構成モードにおいてビットストリーム中で指定されるVベクトルのために含まれるかどうかに、影響を与える。係数削減ユニット46が、どのように、削減されたフォアグラウンドV[k]ベクトル55を指定してエネルギーにおける変化を克服するかに関するより多くの情報は、2015年1月12日に出願された「TRANSITIONING OF AMBIENT HIGHER_ORDER AMBISONIC COEFFICIENTS」と題する米国特許出願第14/594,533号において提供される。
図14は、図3の例に示されるオーディオ符号化デバイス20のクロスフェードユニット66をより詳細に示すブロック図である。クロスフェードユニット66は、ミキサユニット70、フレーミングユニット71、および遅延ユニット72を含んでもよい。図14は、クロスフェードユニット66の一例を示すだけであり、他の構成が可能である。たとえば、フレーミングユニット71は、エネルギー補償された環境HOA係数47'がミキサユニット70によって受信される前に第3の部分75が除去されるように、ミキサユニット70よりも前に配置されてもよい。
ミキサユニット70は、複数の信号を単一の信号へと組み合わせるように構成されるユニットを表す場合がある。たとえば、ミキサユニット70は、第1の信号を第2の信号と組み合わせて、修正された信号を生成してもよい。ミキサユニット70は、第1の信号をフェードインしながら第2の信号をフェードアウトすることによって、第1の信号を第2の信号と組み合わせてもよい。ミキサユニット70は、あらゆる種類の関数を適用して、部分をフェードインおよびフェードアウトしてもよい。一例として、ミキサユニット70は、線形関数を適用して第1の信号をフェードインし、線形関数を適用して第2の信号をフェードアウトしてもよい。別の例として、ミキサユニット70は、指数関数を適用して第1の信号をフェードインし、指数関数を適用して第2の信号をフェードアウトしてもよい。いくつかの例では、ミキサユニット70は、異なる関数を信号に適用してもよい。たとえば、ミキサユニット70は、線形関数を適用して第1の信号をフェードインし、指数関数を適用して第2の信号をフェードアウトしてもよい。いくつかの例では、ミキサユニット70は、信号の一部分をフェードインまたはフェードアウトすることによって、信号をフェードインまたはフェードアウトしてもよい。いずれにしても、ミキサユニットは、修正された信号を、フレーミングユニット71のようなクロスフェードユニット66の1つまたは複数の他のコンポーネントに出力してもよい。
フレーミングユニット71は、1つまたは複数の特定の寸法に適合するように入力信号をフレーミングするように構成されるユニットを表す場合がある。いくつかの例では、入力信号の寸法の1つまたは複数が特定の寸法の1つまたは複数よりも大きい場合などに、フレーミングユニット71は、入力信号の一部分、たとえば特定の寸法を超える部分を除去することによって、フレーミングされた出力信号を生成してもよい。たとえば、特定の寸法が1024対4であり入力信号が1280対4という寸法を有する場合、フレーミングユニット71は、入力信号の256対4の部分を除去することによって、フレーミングされた出力信号を生成してもよい。いくつかの例では、フレーミングユニット71は、図3の音響心理学的オーディオコーダユニット40のようなオーディオ符号化デバイス20の1つまたは複数の他のコンポーネントに、フレーミングされた出力信号を出力してもよい。いくつかの例では、フレーミングユニット71は、入力信号の除去された部分を、遅延ユニット72のようなクロスフェードユニット66の1つまたは複数の他のコンポーネントに出力してもよい。
遅延ユニット72は、後で使用するために信号を記憶するように構成されるユニットを表す場合がある。たとえば、遅延ユニット72は、第1の時間において第1の信号を記憶し、第2の後の時間において第1の信号を出力するように構成されてよい。このようにして、遅延ユニット72は、first-in first-out (FIFO)バッファとして動作してもよい。遅延ユニット72は、第2の後の時間において、第1の信号を、ミキサユニット70のようなクロスフェードユニット66の1つまたは複数の他のコンポーネントに出力してもよい。
上で論じられたように、クロスフェードユニット66は、現在のフレーム(たとえば、フレームk)のエネルギー補償された環境HOA係数47'を受信し、現在のフレームのエネルギー補償された環境HOA係数47'を前のフレームのエネルギー補償された環境HOA係数47'とクロスフェードし、クロスフェードされたエネルギー補償された環境HOA係数47''を出力してもよい。図14に示されるように、エネルギー補償された環境HOA係数47'は、第1の部分73、第2の部分74、および第3の部分75を含んでもよい。
本開示の1つまたは複数の技法によれば、クロスフェードユニット66のミキサユニット70は、現在のフレームのエネルギー補償された環境HOA係数47'の第1の部分73と前のフレームのエネルギー補償された環境HOA係数47'の第3の部分76を組み合わせて(たとえば、それらの間でクロスフェードして)、中間のクロスフェードされたエネルギー補償された環境HOA係数77を生成してもよい。ミキサユニット70は、生成された中間のクロスフェードされたエネルギー補償された環境HOA係数77をフレーミングユニット71に出力してもよい。ミキサユニット70は前のフレームのエネルギー補償された環境HOA係数47'の第3の部分76を利用するので、この例では、クロスフェードユニット66が現在のフレームを処理する前に動作中であったと仮定することができる。したがって、現在のフレームのUS行列と前のフレームのUS行列とのクロスフェージングと、現在のフレームのV行列と前のフレームのV行列とのクロスフェージングとを別々に行うこととは対照的に、ミキサユニット70は、エネルギー補償された領域においてクロスフェードしてもよい。このようにして、本開示による技法は、クロスフェードユニット66の計算的な負荷、電力消費、および/または複雑さを低減することがある。
フレーミングユニット71は、中間のクロスフェードされたエネルギー補償された環境HOA係数77の寸法が現在のフレームの寸法を超える場合、中間のクロスフェードされたエネルギー補償された環境HOA係数77から第3の部分75を除去することによって、クロスフェードされたエネルギー補償された環境HOA係数47''を決定してもよい。たとえば、現在のフレームの寸法が1024対4であり、中間のクロスフェードされたエネルギー補償された環境HOA係数77の寸法が1280対4である場合、フレーミングユニット71は、中間のクロスフェードされたエネルギー補償された環境HOA係数77から第3の部分75(たとえば、256対4の部分)を除去することによって、クロスフェードされたエネルギー補償された環境HOA係数47''を決定してもよい。フレーミングユニット71は、(たとえば、後続のフレームのエネルギー補償された環境HOA係数47'をクロスフェードするときにミキサユニット70によって)今後使用するために、第3の部分75を遅延ユニット72に出力してもよい。フレーミングユニット71は、決定されたクロスフェードされたエネルギー補償された環境HOA係数47''を図3の音響心理学的オーディオコーダユニット40に出力してもよい。このようにして、クロスフェードユニット66は、前のフレームと現在のフレームとの間の遷移を円滑にする場合がある。
いくつかの例では、クロスフェードユニット66は、HOA係数の任意の2つのセットの間でクロスフェードしてもよい。一例として、クロスフェードユニット66は、HOA係数の第1のセットとHOA係数の第2のセットとの間でクロスフェードしてもよい。別の例として、クロスフェードユニット66は、HOA係数の現在のセットとHOA係数の前のセットとの間でクロスフェードしてもよい。
図4は、図2のオーディオ復号デバイス24をより詳細に示すブロック図である。図4の例に示されるように、オーディオ復号デバイス24は、抽出ユニット72と、指向性ベースの再構築ユニット90と、ベクトルベースの再構築ユニット92とを含んでもよい。以下で説明されるが、オーディオ復号デバイス24に関するさらなる情報およびHOA係数を展開または別様に復号する様々な態様は、2014年5月29日に出願された「INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD」という表題の国際特許出願公開第2014/194099号において入手可能である。
抽出ユニット72は、ビットストリーム21を受信し、HOA係数11の様々な符号化されたバージョン(たとえば、指向性ベースの符号化されたバージョンまたはベクトルベースの符号化されたバージョン)を抽出するように構成されるユニットを表す場合がある。抽出ユニット72は、HOA係数11が、様々な指向性ベースのバージョンを介して符号化されたか、またはベクトルベースのバージョンを介して符号化されたかを示す、上で述べられたシンタックス要素から決定してもよい。指向性ベースの符号化が実行されたとき、抽出ユニット72は、HOA係数11の指向性ベースのバージョンと、符号化されたバージョンと関連付けられるシンタックス要素(これは図4の例では指向性ベースの情報91として示される)とを抽出し、指向性ベースの情報91を指向性ベースの再構築ユニット90に渡すことができる。指向性ベースの再構築ユニット90は、指向性ベースの情報91に基づいてHOA係数11'の形式でHOA係数を再構築するように構成されるユニットを表す場合がある。
HOA係数11がベクトルベースの合成を使用して符号化されたことをシンタックス要素が示すとき、抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57(これはコーディングされた重み57および/もしくはインデックス63またはスカラー量子化されたVベクトルを含んでもよい)、符号化された環境HOA係数59、および対応するオーディオオブジェクト61(これは符号化されたnFG信号61とも呼ばれる場合がある)を抽出してもよい。オーディオオブジェクト61は各々、ベクトル57の1つに対応する。抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57をVベクトル再構築ユニット74に、符号化された環境HOA係数59とともに符号化されたnFG信号61を音響心理学的復号ユニット80に渡すことができる。
Vベクトル再構築ユニット74は、符号化されたフォアグラウンドV[k]ベクトル57からVベクトルを再構築するように構成されるユニットを表す場合がある。Vベクトル再構築ユニット74は、量子化ユニット52とは逆の方式で動作してもよい。
音響心理学的復号ユニット80は、符号化された環境HOA係数59および符号化されたnFG信号61を復号し、それによって、エネルギー補償された環境HOA係数47'および補間されたnFG信号49'(補間されたnFGオーディオオブジェクト49'とも呼ばれる場合がある)を生成するために、図3の例に示される音響心理学的オーディオコーダユニット40とは逆の方式で動作してもよい。音響心理学的復号ユニット80は、エネルギー補償された環境HOA係数47'をフェードユニット770に渡し、nFG信号49'をフォアグラウンド編成ユニット78に渡すことができる。
空間-時間補間ユニット76は、空間-時間補間ユニット50に関して上で説明されたものと同様の方式で動作してもよい。空間-時間補間ユニット76は、削減されたフォアグラウンドV[k]ベクトル55kを受け取り、フォアグラウンドV[k]ベクトル55kおよび削減されたフォアグラウンドV[k-1]ベクトル55k-1に関して空間-時間補間を実行して、補間されたフォアグラウンドV[k]ベクトル55k''を生成してもよい。空間-時間補間ユニット76は、補間されたフォアグラウンドV[k]ベクトル55k''をフェードユニット770に転送してもよい。
抽出ユニット72はまた、環境HOA係数の1つが遷移中であることを示す信号757をフェードユニット770に出力することができ、フェードユニット770は次いで、SHCBG47'(ここでSHCBG47'は「環境HOAチャンネル47''」または「環境HOA係数47''」とも示されてもよい)と補間されたフォアグラウンドV[k]ベクトル55k''の要素のどちらがフェードインまたはフェードアウトされるかを決定してもよい。いくつかの例では、フェードユニット770は、環境HOA係数47'および補間されたフォアグラウンドV[k]ベクトル55k''の要素の各々に関して逆に動作してもよい。すなわち、フェードユニット770は、環境HOA係数47'の対応する1つに関するフェードインもしくはフェードアウト、またはフェードインとフェードアウトの両方を実行しながら、補間されたフォアグラウンドV[k]ベクトル55k''の要素の対応する1つに関するフェードインもしくはフェードアウト、またはフェードインとフェードアウトの両方を実行してもよい。フェードユニット770は、調整された環境HOA係数47''をHOA係数編成ユニット82に出力し、調整されたフォアグラウンドV[k]ベクトル55k''をフォアグラウンド編成ユニット78に出力してもよい。この点において、フェードユニット770は、たとえば環境HOA係数47'および補間されたフォアグラウンドV[k]ベクトル55k''の要素の形の、HOA係数の様々な態様またはHOA係数から導出されたものに関して、フェード動作を実行するように構成されるユニットを表す。
フォアグラウンド編成ユニット78は、調整されたフォアグラウンドV[k]ベクトル55k'''および補間されたnFG信号49'に関して行列乗算を実行して、フォアグラウンドHOA係数65を生成するように構成される、ユニットを表す場合がある。この点において、フォアグラウンド編成ユニット78は、(補間されたnFG信号49'を表記するための別の方法である)オーディオオブジェクト49'をベクトル55k'''と結合して、HOA係数11'のフォアグラウンドの、言い換えれば顕著な側面を再構築してもよい。フォアグラウンド編成ユニット78は、調整されたフォアグラウンドV[k]ベクトル55k'''によって補間されたnFG信号49'の行列乗算を実行してもよい。
HOA係数編成ユニット82は、HOA係数11'を取得するために、フォアグラウンドHOA係数65を調整された環境HOA係数47''と組み合わせるように構成されるユニットを表す場合がある。プライム表記は、HOA係数11'がHOA係数11と類似する場合があるが同じではないことを反映する。HOA係数11と11'との間の差分は、有損失の送信媒体、量子化、または他の有損失の動作を介する送信が原因の損失に起因する場合がある。
図5は、本開示において説明されるベクトルベースの合成技法の様々な態様を実行する際の、図3の例に示されるオーディオ符号化デバイス20のようなオーディオ符号化デバイスの例示的な動作を示すフローチャートである。最初に、オーディオ符号化デバイス20は、HOA係数11を受け取る(106)。オーディオ符号化デバイス20はLITユニット30を呼び出すことができ、LITユニット30は、HOA係数に関してLITを適用して変換されたHOA係数を出力してもよい(たとえば、SVDの場合、変換されたHOA係数はUS[k]ベクトル33およびV[k]ベクトル35を備える場合がある)(107)。
オーディオ符号化デバイス20は次に、パラメータ計算ユニット32を呼び出して、US[k]ベクトル33、US[k-1]ベクトル33、V[k]および/またはV[k-1]ベクトル35の任意の組合せに関して上で説明された分析を実行して、上で説明された方式で様々なパラメータを特定してもよい。すなわち、パラメータ計算ユニット32は、変換されたHOA係数33/35の分析に基づいて、少なくとも1つのパラメータを決定してもよい(108)。
オーディオ符号化デバイス20は次いで、並べ替えユニット34を呼び出すことができ、並べ替えユニット34は、上で説明されたように、並べ替えられた変換されたHOA係数33'/35'(または言い換えると、US[k]ベクトル33'およびV[k]ベクトル35')を生成するために、パラメータに基づいて変換されたHOA係数(これは、SVDの状況ではやはり、US[k]ベクトル33およびV[k]ベクトル35を指す場合がある)を並べ替えることができる(109)。オーディオ符号化デバイス20は、前述の動作または後続の動作のいずれかの間に、音場分析ユニット44を呼び出すこともできる。音場分析ユニット44は、上で説明されたように、HOA係数11および/または変換されたHOA係数33/35に関して音場分析を実行して、フォアグラウンドチャンネルの総数(nFG)45、バックグラウンド音場の次数(NBG)、および、送信すべき追加のBG HOAチャンネルの数(nBGa)とインデックス(i)(これらは図3の例ではまとめてバックグラウンドチャンネル情報43として示されてもよい)を決定してもよい(109)。
オーディオ符号化デバイス20はまた、バックグラウンド選択ユニット48を呼び出すことができる。バックグラウンド選択ユニット48は、バックグラウンドチャンネル情報43に基づいて、バックグラウンドまたは環境HOA係数47を決定してもよい(110)。オーディオ符号化デバイス20はさらに、フォアグラウンド選択ユニット36を呼び出すことができ、フォアグラウンド選択ユニット36は、nFG45(これはフォアグラウンドベクトルを特定する1つまたは複数のインデックスを表す場合がある)に基づいて音場のフォアグラウンド成分または明瞭な成分を表す、並べ替えられたUS[k]ベクトル33'および並べ替えられたV[k]ベクトル35'を選択してもよい(112)。
オーディオ符号化デバイス20は、エネルギー補償ユニット38を呼び出すことができる。エネルギー補償ユニット38は、上記で説明した方法(114)で、環境HOA係数47に関してエネルギー補償を実行して、バックグラウンド選択ユニット48によるHOA係数の様々な1つの削除が原因のエネルギーの損失を補償し、エネルギー補償された環境HOA係数47'をクロスフェードしてもよい。
オーディオ符号化デバイス20はまた、空間-時間補間ユニット50を呼び出すことができる。空間-時間補間ユニット50は、並べ替えられた変換されたHOA係数33'/35'に関して空間-時間補間を実行して、補間されたフォアグラウンド信号49'(「補間されたnFG信号49'」とも呼ばれる場合がある)および残りのフォアグラウンド指向性情報53(「V[k]ベクトル53'」とも呼ばれる場合がある)を取得してもよい(116)。オーディオ符号化デバイス20は次いで、係数削減ユニット46を呼び出すことができる。係数削減ユニット46は、バックグラウンドチャンネル情報43に基づいて、残りのフォアグラウンドV[k]ベクトル53に関して係数削減を実行して、削減されたフォアグラウンド指向性情報55(削減されたフォアグラウンドV[k]ベクトル55とも呼ばれる場合がある)を取得してもよい(118)。
オーディオ符号化デバイス20は次いで、量子化ユニット52を呼び出して、上で説明された方式で、削減されたフォアグラウンドV[k]ベクトル55を圧縮し、コーディングされたフォアグラウンドV[k]ベクトル57を生成してもよい(120)。
オーディオ符号化デバイス20はまた、音響心理学的オーディオコーダユニット40を呼び出すことができる。音響心理学的オーディオコーダユニット40は、エネルギー補償された環境HOA係数47'および補間されたnFG信号49'の各ベクトルを音響心理学的にコーディングし、符号化された環境HOA係数59および符号化されたnFG信号61を生成してもよい。オーディオ符号化デバイスは次いで、ビットストリーム生成ユニット42を呼び出すことができる。ビットストリーム生成ユニット42は、コーディングされたフォアグラウンド指向性情報57、コーディングされた環境HOA係数59、コーディングされたnFG信号61、およびバックグラウンドチャンネル情報43に基づいて、ビットストリーム21を生成してもよい。
図6は、本開示において説明される技法の様々な態様を実行する際の、図4に示されるオーディオ復号デバイス24のようなオーディオ復号デバイスの例示的な動作を示すフローチャートである。最初に、オーディオ復号デバイス24は、ビットストリーム21を受信してもよい(130)。ビットストリームを受信すると、オーディオ復号デバイス24は、抽出ユニット72を呼び出すことができる。議論の目的で、ベクトルベースの再構築が実行されるべきであることをビットストリーム21が示すと仮定すると、抽出ユニット72は、ビットストリームを解析して上で述べられた情報を取り出し、この情報をベクトルベースの再構築ユニット92に渡すことができる。
言い換えると、抽出ユニット72は、コーディングされたフォアグラウンド指向性情報57(やはり、コーディングされたフォアグラウンドV[k]ベクトル57とも呼ばれる場合がある)、コーディングされた環境HOA係数59、およびコーディングされたフォアグラウンド信号(コーディングされたフォアグラウンドnFG信号61またはコーディングされたフォアグラウンドオーディオオブジェクト61とも呼ばれる場合がある)を、上で説明された方式でビットストリーム21から抽出してもよい(132)。
オーディオ復号デバイス24はさらに、逆量子化ユニット74を呼び出すことができる。逆量子化ユニット74は、コーディングされたフォアグラウンド指向性情報57をエントロピー復号し逆量子化して、削減されたフォアグラウンド指向性情報55kを取得してもよい(136)。オーディオ復号デバイス24はまた、音響心理学的復号ユニット80を呼び出すことができる。音響心理学的オーディオ復号ユニット80は、符号化された環境HOA係数59および符号化されたフォアグラウンド信号61を復号して、エネルギー補償された環境HOA係数47'および補間されたフォアグラウンド信号49'を取得してもよい(138)。音響心理学的復号ユニット80は、エネルギー補償された環境HOA係数47'をフェードユニット770に渡し、nFG信号49'をフォアグラウンド編成ユニット78に渡すことができる。
オーディオ復号デバイス24は次に、空間-時間補間ユニット76を呼び出すことができる。空間-時間補間ユニット76は、並べ替えられたフォアグラウンド指向性情報55k'を受け取り、削減されたフォアグラウンド指向性情報55k/55k-1に関して空間-時間補間を実行して、補間されたフォアグラウンド指向性情報55k''を生成してもよい(140)。空間-時間補間ユニット76は、補間されたフォアグラウンドV[k]ベクトル55k''をフェードユニット770に転送してもよい。
オーディオ復号デバイス24は、フェードユニット770を呼び出すことができる。フェードユニット770は、エネルギー補償された環境HOA係数47'がいつ遷移中であるかを示すシンタックス要素(たとえば、AmbCoeffTransitionシンタックス要素)を、(たとえば抽出ユニット72から)受信し、または別様に取得してもよい。フェードユニット770は、遷移シンタックス要素および維持される遷移状態情報に基づいて、調整された環境HOA係数47''をHOA係数編成ユニット82に出力する、エネルギー補償された環境HOA係数47'をフェードインまたはフェードアウトしてもよい。フェードユニット770はまた、シンタックス要素および維持されている遷移状態情報に基づいて、調整されたフォアグラウンドV[k]ベクトル55k'''をフォアグラウンド編成ユニット78に出力する、補間されたフォアグラウンドV[k]ベクトル55k''の対応する1つまたは複数の要素をフェードアウトまたはフェードインしてもよい(142)。
オーディオ復号デバイス24は、フォアグラウンド編成ユニット78を呼び出すことができる。フォアグラウンド編成ユニット78は、調整されたフォアグラウンド指向性情報55k'''によるnFG信号49'の行列乗算を実行して、フォアグラウンドHOA係数65を取得してもよい(144)。オーディオ復号デバイス24はまた、HOA係数編成ユニット82を呼び出すことができる。HOA係数編成ユニット82は、HOA係数11'を取得するために、フォアグラウンドHOA係数65を調整された環境HOA係数47''に加算してもよい(146)。
図7は、図2〜図4の例に示されるビットストリーム21の部分250を示す図である。図7の例に示される部分250は、ビットストリーム21のHOAConfig部分250と呼ばれることがあり、HOAOrderフィールド、MinAmbHoaOrderフィールド、指向性情報フィールド253、CodedSpatialInterpolationTimeフィールド254、SpatialInterpolationMethodフィールド255、CodedVVecLengthフィールド256、および利得情報フィールド257を含む。図7の例に示されるように、CodedSpatialInterpolationTimeフィールド254は3ビットのフィールドを備えてよく、SpatialInterpolationMethodフィールド255は1ビットのフィールドを備えてよく、CodedVVecLengthフィールド256は2ビットのフィールドを備えてよい。
部分250はまた、SingleLayerフィールド240およびFrameLengthFactorフィールド242を含む。SingleLayerフィールド240は、複数のレイヤがHOA係数のコーディングされたバージョンを表すために使用されるかどうか、または、単一のレイヤがHOA係数のコーディングされたバージョンを表すために使用されるかどうかを示す、1つまたは複数のビットを表す場合がある。FramelengthFactorフィード242は、図12に関して以下でより詳細に論じられるフレーム長係数を示す1つまたは複数のビットを表す。
図8は、本開示において説明される技法の様々な態様に従って指定される例示的なフレーム249Sおよび249Tを示す図である。図8の例では、フレーム249Sおよび249Tは、4つのトランスポートチャンネル275A〜275Dを各々含む。トランスポートチャンネル275Aは、ChannelSideInfoData 154AおよびHOAGainCorrectionDataを示すヘッダビットを含む。トランスポートチャンネル275Aはまた、VVectorData 156Aを示すペイロードビットを含む。トランスポートチャンネル275Bは、ChannelSideInfoData 154BおよびHOAGainCorrectionDataを示すヘッダビットを含む。トランスポートチャンネル275Bはまた、VVectorData 156Bを示すペイロードビットを含む。トランスポートチャンネル275Cおよび275Dは、フレーム249Sのために利用されない。フレーム275Tは、トランスポートチャンネル275A〜275Dに関してフレーム249Sと実質的に同様である。
図9は、本明細書で説明される技法に従って、少なくとも1つのビットストリームの1つまたは複数のチャンネルのための例示的なフレームを示す図である。ビットストリーム450は、1つまたは複数のチャンネルを各々含んでもよいフレーム810A〜810Hを含む。ビットストリーム450は、図9の例に示されるビットストリーム21の一例であってもよい。図9の例では、オーディオ復号デバイス24は、状態情報を維持し、現在のフレームkをどのように復号するかを決定するために状態情報を更新する。オーディオ復号デバイス24は、構成814およびフレーム810B〜810Dからの状態情報を利用してもよい。
言い換えると、オーディオ符号化デバイス20は、たとえば、状態機械402を、ビットストリーム生成ユニット42内に含んでもよく、状態機械402は、ビットストリーム生成ユニット42が状態機械402に基づいてフレーム810A〜810Eの各々のためのシンタックス要素を指定する場合があるという点でフレーム810A〜810Eの各々を符号化するための状態情報を維持する。
オーディオ復号デバイス24は同様に、ビットストリーム抽出ユニット72内で、たとえば、状態機械402に基づいてシンタックス要素(その一部はビットストリーム21においては明示的に指定されない)を出力する同様の状態機械402を含んでもよい。オーディオ復号デバイス24の状態機械402は、オーディオ符号化デバイス20の状態機械402と同様の方式で動作してもよい。したがって、オーディオ復号デバイス24の状態機械402は、状態情報を維持し、構成814と、図9の例ではフレーム810B〜810Dの復号とに基づいて、状態情報を更新してもよい。状態情報に基づいて、ビットストリーム抽出ユニット72は、状態機械402によって維持される状態情報に基づいて、フレーム810Eを抽出してもよい。状態情報は、オーディオ符号化デバイス20がフレーム810Eの様々なトランスポートチャンネルを復号するときに利用してもよい、いくつかの暗黙的なシンタックス要素を提供してもよい。
図10は、本明細書において説明されるような空間-時間補間を取得するための技法の表現を示す。図3の例に示されるオーディオ符号化デバイス20の空間-時間補間ユニット50は、以下でより詳細に説明される空間-時間補間を実行してもよい。空間-時間補間は、空間分解能と時間分解能の両方において、より高い分解能の空間成分を取得することを含んでもよい。空間成分は、高次アンビソニックス(HOA)係数(または、HOA係数は「球面調和係数」とも呼ばれる場合がある)からなる多次元信号の直交分解に基づいてもよい。
示されるグラフにおいて、ベクトルV1およびV2は、多次元信号の2つの異なる空間成分の対応するベクトルを表す。空間成分は、多次元信号のブロックごとの分解によって取得されてもよい。いくつかの例では、空間成分は、高次アンビソニックス(HOA)オーディオデータの各ブロック(フレームを指す場合がある)に関して、ブロックごとの形式のSVDを実行することから得られる(ここで、このアンビソニックスオーディオデータは、ブロック、サンプル、または任意の他の形式のマルチチャンネルオーディオデータを含む)。変数Mは、サンプル中のオーディオフレームの長さを示すために使用されてもよい。
したがって、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は、多次元信号に含まれる単一のオーディオオブジェクトのための空間成分を表す場合がある。
各xのための補間されたベクトルVxは、時間成分(および、したがっていくつかの場合には空間成分)を平滑化するために補間されたベクトルVxが適用されてもよい多次元信号の時間成分に対して、いくつかの時間セグメントまたは「時間サンプル」xに従ってV1およびV2を重み付けることによって取得される。上で説明されたようなSVD合成を仮定すると、nFG信号49の平滑化は、対応する補間されたVxによる各時間サンプルベクトル(たとえば、HOA係数11のサンプル)のベクトル除算を行うことによって実現されてもよい。すなわち、US[n] = HOA[n] * Vx[n]-1であり、ここでこれは、列ベクトルによって乗算される行ベクトルを表し、これによりUSのスカラー要素を生み出す。Vx[n]-1 は、Vx[n]の疑似逆行列として取得されてもよい。
V1およびV2の重みに関して、V1は、V2がV1よりも時間的に後に発生することが原因で、時間次元に沿って比例してより小さく重み付けられる。すなわち、フォアグラウンドV[k-1]ベクトル51k-1は分解の空間成分であるが、時間的に順次的なフォアグラウンドV[k]ベクトル51kは空間成分の経時的な異なる値を表す。したがって、xがtとともに増大するにつれて、V1の重みは減少するが、V2の重みは増加する。ここで、d1およびd2は重みを表す。
図11は、本明細書において説明される技法による、多次元信号に対する順次SVDブロックのための、人工的なUS行列US1およびUS2を示すブロック図である。補間されたVベクトルは、元の多次元信号を復元するために、人工的なUS行列の行ベクトルに適用されてもよい。より具体的には、空間-時間補間ユニット50は、補間されたフォアグラウンドV[k]ベクトル53の疑似逆行列を、nFG信号49とフォアグラウンドV[k]ベクトル51k(これはフォアグラウンドHOA係数として示される場合がある)を乗算した結果と乗算して、K/2個の補間されたサンプルを取得することができ、これは、U2行列の図11の例に示されるように、最初のK/2個のサンプルとして、nFG信号のK/2個のサンプルの代わりに使用されてもよい。
図12は、本開示において説明される技法による、特異値分解および空間-時間成分の平滑化を使用した、高次アンビソニックス(HOA)信号の後続のフレームの分解を示すブロック図である。フレームn-1およびフレームn(これはフレームnおよびフレームn+1とも示される場合がある)は、時間的に後のフレームを表し、各フレームが1024個の時間セグメントを備え、4というHOA次数を有し、(4+1)2=25個の係数を与える。フレームn-1およびフレームnにおいて人工的に平滑化されたU行列であるUS行列は、示されるように、補間されたVベクトルの適用によって取得されてもよい。各々の灰色の行ベクトルおよび列ベクトルは、1つのオーディオオブジェクトを表す。
有効ベクトルベースの信号のHOA表現を計算する
XVECkで表されるベクトルベースの信号の各々を取り出して、それを対応する(逆量子化された)空間ベクトルVVECkと乗算することによって、瞬時的なCVECkが作り出される。各VVECkは、MVECkで表される。したがって、次数NのHOA信号およびM個のベクトルベースの信号について、M個のベクトルベースの信号があり、それらの各々がフレーム長Pによって与えられる寸法を有する。したがって、これらの信号は、XVECkmn, n=0,..P-1; m=0,..M-1として表すことができる。それに対応して、次元(N+1)2のM個の空間ベクトルVVECkがある。これらは、MVECkml, l=0,..,(N+1)2-1;m=0,..,M-1として表すことができる。各々のベクトルベースの信号のHOA表現CVECkmは、以下の式によって与えられる行列ベクトル乗算である。
CVECkm=(XVECkm(MVECkm)T)T
これは、(N+1)2対Pの行列を生み出す。完全なHOA表現は、各々のベクトルベースの信号の寄与を次のように加算することによって与えられる。
CVECk=m=0M-1CVECk[m]
Vベクトルの空間-時間補間
しかしながら、滑らかな空間-時間的な連続性を維持するために、上の計算は、フレーム長の一部P-Bだけに対して行われる。HOA行列の最初のB個のサンプルは、代わりに、現在のMVECkmおよび前の値MVECK-1mから導出されたMVECkml, m=0,..,M-1;l=0,..,(N+1)2の補間されたセットを使用することによって実行される。このことは、次のように各時間サンプルpに対するベクトルを導出するときに、より高い時間密度の空間ベクトルをもたらす。
MVECkmp=pB-1MVECkm+B-1-pB-1MVECk-1m, p=0,..,B-1
各時間サンプルpに対して、(N+1)2次元の新たなHOAベクトルが次のように計算される。
CVECkp=(XVECkmp)MVECkmp, p=0,..,B-1
これらの最初のB個のサンプルは、前のセクションのP-B個のサンプルにより補強されて、m番目のベクトルベースの信号の完全なHOA表現CVECkmをもたらす。
デコーダ(たとえば、図5の例に示されるオーディオ復号デバイス24)において、ある明瞭な、フォアグラウンドの、またはベクトルベースの支配的な音について、前のフレームからのVベクトルおよび現在のフレームからのVベクトルは、ある特定の時間セグメントにわたり(時間的に)より高い分解能の補間されたVベクトルを生成するために、線形(または非線形)補間を使用して補間されてもよい。空間時間補間ユニット76はこの補間を実行することができ、ここで、空間-時間補間ユニット76は次いで、その特定の時間セグメントにわたって、現在のフレーム中のUSベクトルをより高い分解能の補間されたVベクトルと乗算して、HOA行列を生成してもよい。
代替的に、空間-時間補間ユニット76は、USベクトルを現在のフレームのVベクトルと乗算して、第1のHOA行列を作り出すことができる。デコーダは加えて、USベクトルを前のフレームからのVベクトルと乗算して、第2のHOA行列を作り出すことができる。空間-時間補間ユニット76は次いで、ある特定の時間セグメントにわたって、線形(または非線形)補間を第1および第2のHOA行列に適用してもよい。入力行列/ベクトルが共通であれば、この補間の出力は、USベクトルと補間されたVベクトルの乗算の出力と一致する場合がある。
いくつかの例では、補間が実行されるべき時間セグメントのサイズは、フレーム長の関数として変化する場合がある。言い換えると、オーディオ符号化デバイス20は、あるフレーム長に関して動作するように構成されてよく、または、いくつかの異なるフレーム長に関して動作するように構成可能であってよい。オーディオ符号化デバイス20がサポートする場合がある例示的なフレーム長は、768、1024、2048、および4096を含む。異なるフレーム長は、可能性のある時間セグメント長の異なるセットをもたらす場合がある(ここで、時間セグメントはサンプルの数に関して指定される場合がある)。以下の表は、フレーム長(これは変数Lによって示される場合がある)の関数として変化する、可能性のある時間セグメント長の異なるセットを規定する。
上の表において、シンタックス要素「CodedSpatialInterpolationTime」は、空間補間時間を示す1つまたは複数のビットを表す。上で述べられたように、変数Lはフレーム長を示す。768というフレーム長に対して、可能性のある時間セグメント長は、この例では、0、32、64、128、256、384、512、および768というセットによって定義される。現在のフレームのために使用される1つの値は、CodedSpatialInterpolationTimeシンタックス要素の値によって指定され、ここで0という値は0という時間セグメント長を示し、1という値は32という時間セグメント長を示し、以下同様である。1024というフレーム長に対して、可能性のある時間セグメント長は、この例では、0、64、128、256、384、512、768、および1024というセットによって定義される。現在のフレームのために使用される1つの値は、CodedSpatialInterpolationTimeシンタックス要素の値によって指定され、ここで0という値は0という時間セグメント長を示し、1という値は64という時間セグメント長を示し、以下同様である。2048というフレーム長に対して、可能性のある時間セグメント長は、0、128、256、512、768、1024、1536、および2048というセットによって定義される。現在のフレームのために使用される1つの値は、CodedSpatialInterpolationTimeシンタックス要素の値によって指定され、ここで0という値は0という時間セグメント長を示し、1という値は128という時間セグメント長を示し、以下同様である。4096というフレーム長に対して、可能性のある時間セグメント長は、この例では、0、256、512、1024、1536、2048、3072、および4096というセットによって定義される。現在のフレームのために使用される1つの値は、CodedSpatialInterpolationTimeシンタックス要素の値によって指定され、ここで0という値は0という時間セグメント長を示し、1という値は256という時間セグメント長を示し、以下同様である。
オーディオ符号化デバイス20の空間-時間補間ユニット50は、フレーム長Lによって特定される対応するセットから選択されるいくつかの異なる時間セグメントに関する補間を実行してもよい。空間-時間補間ユニット50は、フレーム境界にまたがる遷移を(たとえば、信号対雑音比に関して)十分に平滑化し、(電力、複雑さ、動作などに関して、補間が相対的に高価な動作である場合があることを考慮して)最小の数のサンプルしか必要としない、時間セグメントを選択してもよい。
空間-時間補間ユニット50は、任意の数の異なる方法で、フレーム長Lを取得してもよい。いくつかの例では、オーディオ符号化デバイス20は、事前に設定されたフレームレートにより構成される(このフレームレートは、ハードコーディングされてよく、または言い換えると、HOA係数11を符号化するようにオーディオ符号化デバイス20を構成することの一部として統計的にまたは手動で構成されてよい)。いくつかの例では、オーディオ符号化デバイス20は、音響心理学的オーディオコーダユニット40のコアコーダフレーム長に基づいて、フレーム長を指定してもよい。コアコーダフレーム長に関するさらなる情報は、「Information technology - MPEG audio technologies - Part 3: Unified speech and audio coding」という表題の、ISO/IEC 23003-3:2012における「coreCoderFrameLength」の議論に関して見出される場合がある。
コアコーダフレーム長に基づいて決定されるとき、オーディオ符号化デバイス20は、以下の表を参照してもよい。
上の表において、オーディオ符号化デバイス20は、コアコーダフレーム長と乗算すべき係数を示す1つまたは複数のビット(シンタックス要素「FrameLengthFactor」によって示される)を設定することができ、これは上の表の第1の列において指定される。オーディオ符号化デバイス20は、様々なコーディング基準に基づいて、1、1/2、および1/4というフレーム長係数の1つを選択することができ、または、様々な係数の各々においてフレームをコーディングする試みに基づいて係数の1つを選択してもよい。オーディオ符号化デバイス20は、たとえば、コアコーダフレーム長が4096であると決定し、1、1/2、または1/4というフレーム長係数を選択してもよい。オーディオ符号化デバイス20は、ビットストリーム21のHOAConfig部分(図7の例に関して上で示されるような)においてフレーム長係数をシグナリングすることができ、ここで00(バイナリ)という値は1というフレーム長係数を示し、01(バイナリ)という値は1/2というフレーム長係数を示し、10(バイナリ)という値は1/4というフレーム長係数を示す。オーディオ符号化デバイス20はまた、フレーム長係数(たとえば、1、1/2、または1/4)によって乗算されるコアコーダフレーム長として、フレーム長Lを決定してもよい。
この点について、オーディオ符号化デバイス20は、フレーム長(L)を示す1つまたは複数のビットおよび空間-時間補間時間を示す1つまたは複数のビット(たとえば、codedSpatioInterpolationTimeシンタックス要素)に少なくとも一部基づいて、時間セグメントを取得してもよい。オーディオ符号化デバイス20はまた、少なくとも一部、第1の複数の球面調和係数の第1の分解および第2の複数の球面調和係数の第2の分解に関して補間を実行することによって、時間セグメントのための分解された補間された球面調和係数を取得してもよい。
オーディオ復号デバイス24は、オーディオ符号化デバイス20に関して上で説明されたものと実質的に同様の動作を実行してもよい。具体的には、オーディオ復号デバイス24の空間-時間補間ユニット76は、フレーム長係数を示す1つまたは複数のビット(たとえば、frameLengthFactorシンタックス要素)およびコアコーダフレーム長(これも音響心理学的オーディオ符号化ユニット40によってビットストリーム21において指定される場合がある)の関数としてフレーム長を取得してもよい。空間-時間補間ユニット76はまた、空間-時間補間時間(たとえば、CodedSpatialInterpolationTimeシンタックス要素)を示す1つまたは複数のビットを取得してもよい。空間-時間補間ユニット76は、フレーム長LおよびcodedSpatialInterpolationTimeシンタックス要素を、時間セグメント長を特定するための鍵として使用して、上で述べられた表において探索を実行してもよい。オーディオ復号デバイス24は次いで、取得された時間セグメントのために上で説明された方式で補間を実行してもよい。
この点について、オーディオ復号デバイス24は、フレーム長(L)を示す1つまたは複数のビットおよび空間-時間補間時間を示す1つまたは複数のビット(たとえば、codedSpatioInterpolationTimeシンタックス要素)に少なくとも一部基づいて、時間セグメントを取得してもよい。オーディオ復号デバイス24はまた、少なくとも一部、第1の複数の球面調和係数の第1の分解および第2の複数の球面調和係数の第2の分解に関して補間を実行することによって、時間セグメントのための分解された補間された球面調和係数を取得してもよい。
図13は、本開示において説明される1つまたは複数の技法を実行するように構成される、1つまたは複数のオーディオエンコーダおよびオーディオデコーダを示す図である。上で論じられたように、SVDは、HOA信号圧縮システムの基礎として利用されてもい。いくつかの例では、HOA信号Hは、USV'('は行列の転置である)へと分解されてもよい。いくつかの例では、US行列およびV行列の最初の数個の行はバックグラウンド信号(たとえば、環境信号)として定義されてよく、US行列およびV行列の最初の数個の列はフォアグラウンド信号として定義されてよい。いくつかの例では、バックグラウンド信号およびフォアグラウンド信号は、同様の方法でクロスフェードされてもよい。しかしながら、バックグラウンド信号とフォアグラウンド信号を同様の方法でクロスフェードすると、冗長な計算が実行されることがある。実行される計算を減らし、システムの他の側面を改良するために、本開示は、バックグラウンド信号のための新たなクロスフェージングアルゴリズムを説明する。
いくつかのシステムでは、US行列およびV行列はそれぞれ、US_C行列(たとえば、クロスフェードされるUS行列)およびV_C行列(たとえば、クロスフェードされるV行列)へと別々にクロスフェードされる。次いで、クロスフェードされたHOA信号H_Cは、US_C*V_C'として再構築されてもよい。本開示の1つまたは複数の技法によれば、元のHOA信号Hは、USV'として(たとえば、クロスフェージングの前に)再構築されてもよい。クロスフェージングが次いで、本開示全体で説明されるように、HOA領域において実行されてもよい。
上で述べられたように、フレームの長さ(または言い換えると、サンプルの数)は、(たとえば、コアコーダフレーム長の関数として)変化する場合がある。上で説明されたように、空間-時間補間の時間の異なるセットとともに、フレーム長の違いが、クロスフェージングに影響する場合がある。一般に、CodedSpatialInterpolationTimeシンタックス要素によって特定される空間-時間補間の時間およびフレーム長Lが、クロスフェードされるべきサンプルの数を指定する場合がある。図13の例に示されるように、U行列のサイズは(L+SpatialInterpolationTime)*25であり、ここで、SpatialInterpolationTime変数は、図12に関して上で論じられた表を使用して、CodedSpatialInterpolationTimeシンタックス要素およびLの関数として取得されるような、空間補間の時間を示す。SpatialInterpolationTimeの例示的な値は、Lが1024に等しくCodedSpatialInterpolationTimeシンタックス要素の値が3に等しいときの256であってもよい。以下で説明を目的に使用される、SpatialInterpolationTimeの別の例示的な値は、Lが2048に等しくCodedSpatialInterpolationTimeシンタックス要素の値が3に等しいときの、512であってもよい。この説明のための例では、L+SpatialInterpolationTimeは2048+512すなわち2560に等しい。
いずれにしても、この例ではバックグラウンドHOA係数は4対2560の次元である。したがって、クロスフェードは、前のフレームのSptailInterpolationTime個のサンプル(たとえば、512個のサンプル)と、現在のフレームの最初のSptailInterpolationTime個のサンプル(たとえば、512個のサンプル)との間で発生する。したがって、出力はL個のサンプルであり、これらはAACまたはUSACコーディングされる。したがって、Vベクトルを空間-時間的に補間するために使用されるSpatialInterpolationTimeはまた、クロスフェージングが実行されるサンプルの数を特定してもよい。このようにして、クロスフェージング期間は、FrameLengthを示す1つまたは複数のビット、および、空間-時間補間の時間を示す1つまたは複数のビットによって、影響される場合がある。
その上、エネルギー補償ユニット38は、窓関数をVBG[k]ベクトル35BGに適用してエネルギー補償されたVBG[k]ベクトル35BG'を生成することによって環境HOA係数47'を生成するために、エネルギー補償を実行してもよい。窓関数は、フレーム長Lに等しい長さを有する窓関数を備えてもよい。この点において、エネルギー補償ユニット38は、フレーム長係数(たとえば、FrameLengthFactorシンタックス要素)を示す1つまたは複数のビットに少なくとも一部基づいて取得される、エネルギー補償のための同じフレーム長Lを使用してもよい。
クロスフェードユニット66のミキサユニット70は、現在のフレームのエネルギー補償された環境HOA係数47'の第1の部分73と前のフレームのエネルギー補償された環境HOA係数47'の第3の部分76を組み合わせて(たとえば、それらの間でクロスフェードして)、中間のクロスフェードされたエネルギー補償された環境HOA係数77を生成してもよい。ミキサユニット70は、生成された中間のクロスフェードされたエネルギー補償された環境HOA係数77をフレーミングユニット71に出力してもよい。ミキサユニット70は前のフレームのエネルギー補償された環境HOA係数47'の第3の部分76を利用するので、この例では、クロスフェードユニット66が現在のフレームを処理する前に動作中であったと仮定することができる。したがって、現在のフレームのUS行列と前のフレームのUS行列とのクロスフェージングと、現在のフレームのV行列と前のフレームのV行列とのクロスフェージングとを別々に行うこととは対照的に、ミキサユニット70は、エネルギー補償された領域においてクロスフェードしてもよい。このようにして、本開示による技法は、クロスフェードユニット66の計算的な負荷、電力消費、および/または複雑さを低減してもよい。
前述の技法は、任意の数の異なる状況およびオーディオエコシステムに関して実行されてもよい。いくつかの例示的な状況が下で説明されるが、本技法は例示的な状況に限定されるべきではない。1つの例示的なオーディオエコシステムは、オーディオコンテンツ、映画スタジオ、音楽スタジオ、ゲーミングオーディオスタジオ、チャンネルベースのオーディオコンテンツ、コーディングエンジン、ゲームオーディオステム、ゲームオーディオコーディング/レンダリングエンジン、および配信システムを含んでもよい。
映画スタジオ、音楽スタジオ、およびゲーミングオーディオスタジオは、オーディオコンテンツを受け取ることができる。いくつかの例では、オーディオコンテンツは、取得の成果を表す場合がある。映画スタジオは、デジタルオーディオワークステーション(DAW)を使用することなどによって、チャンネルベースのオーディオコンテンツ(たとえば、2.0、5.1、および7.1の)を出力してもよい。音楽スタジオは、DAWを使用することなどによって、チャンネルベースのオーディオコンテンツ(たとえば、2.0および5.1の)を出力してもよい。いずれの場合でも、コーディングエンジンは、配信システムによる出力のために、1つまたは複数のコーデック(たとえば、AAC、AC3、Dolby True HD、Dolby Digital Plus、およびDTS Master Audio)に基づいて、チャンネルベースのオーディオコンテンを受け取り符号化してもよい。ゲーミングオーディオスタジオは、DAWを使用することなどによって、1つまたは複数のゲームオーディオステムを出力してもよい。ゲームオーディオコーディング/レンダリングエンジンは、配信システムによる出力のために、オーディオステムをチャンネルベースのオーディオコンテンツへとコーディングおよびまたはレンダリングしてもよい。本技法が実行されてもよい別の例示的な状況は、放送用録音オーディオオブジェクト、プロフェッショナルオーディオシステム、消費者向けオンデバイスキャプチャ、HOAオーディオフォーマット、オンデバイスレンダリング、消費者向けオーディオ、TV、アクセサリ、およびカーオーディオシステムを含んでもよい、オーディオエコシステムを備える。
放送用録音オーディオオブジェクト、プロフェッショナルオーディオシステム、および消費者向けオンデバイスキャプチャはすべて、HOAオーディオフォーマットを使用して出力をコーディングしてもよい。このようにして、オーディオコンテンツは、オンデバイスレンダリング、消費者向けオーディオ、TV、アクセサリ、およびカーオーディオシステムを使用して再生されてもよい単一の表現へと、HOAオーディオフォーマットを使用してコーディングされてもよい。言い換えると、オーディオコンテンツの単一の表現は、オーディオ再生システム16のような、一般的なオーディオ再生システムにおいて(すなわち、5.1、7.1などのような特定の構成を必要とするのではなく)再生されてもよい。
本技法が実行されてもよい状況の他の例は、取得要素および再生要素を含んでもよいオーディオエコシステムを含む。取得要素は、有線および/またはワイヤレス取得デバイス(たとえば、Eigenマイクロフォン)、オンデバイスサラウンドサウンドキャプチャ、およびモバイルデバイス(たとえば、スマートフォンおよびタブレット)を含んでもよい。いくつかの例では、有線および/またはワイヤレス取得デバイスは、有線および/またはワイヤレス通信チャンネルを介してモバイルデバイスに結合されてもよい。
本開示の1つまたは複数の技法によれば、モバイルデバイスは音場を取得するために使用されてもよい。たとえば、モバイルデバイスは、有線および/もしくはワイヤレス取得デバイスならびに/またはオンデバイスサラウンドサウンドキャプチャ(たとえば、モバイルデバイスに組み込まれた複数のマイクロフォン)を介して、音場を取得してもよい。モバイルデバイスは次いで、再生要素の1つまたは複数による再生のために、取得された音場をHOA係数へとコーディングしてもよい。たとえば、モバイルデバイスのユーザは、ライブイベント(たとえば、会合、会議、演劇、コンサートなど)を録音(ライブイベントの音場を取得)して、その録音をHOA係数へとコーディングしてもよい。
モバイルデバイスはまた、再生要素の1つまたは複数を利用して、HOAコーディングされた音場を再生してもよい。たとえば、モバイルデバイスは、HOAコーディングされた音場を復号し、再生要素の1つまたは複数に音場を再生成させる信号を再生要素の1つまたは複数に出力してもよい。一例として、モバイルデバイスは、有線および/またはワイヤレス通信チャンネルを利用して、信号を1つまたは複数のスピーカー(たとえば、スピーカーアレイ、サウンドバーなど)に出力してもよい。別の例として、モバイルデバイスは、ドッキングによる方法を利用して、1つまたは複数のドッキングステーションおよび/または1つまたは複数のドッキングされたスピーカー(たとえば、スマートカーおよび/またはスマートホームにおけるサウンドシステム)に信号を出力してもよい。別の例として、モバイルデバイスは、たとえばリアルなバイノーラルサウンドを生成するために、ヘッドフォンレンダリングを利用して、ヘッドフォンのセットに信号を出力してもよい。
いくつかの例では、特定のモバイルデバイスは、3D音場を取得することと、後で同じ3D音場を再生することとの両方を行うことができる。いくつかの例では、モバイルデバイスは、3D音場を取得し、3D音場をHOAへと符号化し、符号化された3D音場を再生のために1つまたは複数の他のデバイス(たとえば、他のモバイルデバイスおよび/または他の非モバイルデバイス)に送信してもよい。
本技法が実行されてもよいさらに別の状況は、オーディオコンテンツ、ゲームスタジオ、コーディングされたオーディオコンテンツ、レンダリングエンジン、および配信システムを含んでもよい、オーディオエコシステムを含む。いくつかの例では、ゲームスタジオは、HOA信号の編集をサポートする場合がある、1つまたは複数のDAWを含んでもよい。たとえば、1つまたは複数のDAWは、1つまたは複数のゲームオーディオシステムとともに動作する(たとえば、機能する)ように構成されてもよい、HOAプラグインおよび/またはツールを含んでもよい。いくつかの例では、ゲームスタジオは、HOAをサポートする新たなステムフォーマットを出力してもよい。いずれにしても、ゲームスタジオは、コーディングされたオーディオコンテンツを、配信システムによる再生のために音場をレンダリングする場合があるレンダリングエンジンに出力してもよい。
本技法はまた、例示的なオーディオ取得デバイスに関して実行されてもよい。たとえば、本技法は、3D音場を記録するように全体的に構成される複数のマイクロフォンを含んでもよい、Eigenマイクロフォンに関して実行されてもよい。いくつかの例では、Eigenマイクロフォンの複数のマイクロフォンは、半径が約4cmの実質的に球形のボールの表面上に配置されてもよい。いくつかの例では、オーディオ符号化デバイス20は、マイクロフォンから直接ビットストリーム21を出力するために、Eigenマイクロフォンに統合されてもよい。
別の例示的なオーディオ取得の状況は、1つまたは複数のEigenマイクロフォンのような1つまたは複数のマイクロフォンから信号を受信するように構成されてもよい中継車を含んでもよい。中継車はまた、図3のオーディオエンコーダ20のようなオーディオエンコーダを含んでもよい。
モバイルデバイスはまた、いくつかの例では、3D音場を記録するように全体的に構成される複数のマイクロフォンを含んでもよい。言い換えると、複数のマイクロフォンは、X、Y、Zのダイバーシティを有する場合がある。いくつかの例では、モバイルデバイスは、モバイルデバイスの1つまたは複数の他のマイクロフォンに関してX、Y、Zのダイバーシティを提供するように回転されてもよい、マイクロフォンを含んでもよい。モバイルデバイスはまた、図3のオーディオエンコーダ20のようなオーディオエンコーダを含んでもよい。
高耐久性のビデオキャプチャデバイスがさらに、3D音場を記録するように構成されてもよい。いくつかの例では、高耐久性のビデオキャプチャデバイスは、活動に関与しているユーザのヘルメットに取り付けられてもよい。たとえば、高耐久性のビデオキャプチャデバイスは、ホワイトウォーターラフティング中のユーザのヘルメットに取り付けられてもよい。このようにして、高耐久性のビデオキャプチャデバイスは、ユーザの周囲の活動を表す3D音場(たとえば、ユーザの背後の水しぶき、ユーザの前にいる別のラフターの声など)をキャプチャしてもよい。
本技法はまた、3D音場を記録するように構成されてもよい、アクセサリにより増強されたモバイルデバイスに関して実行されてもよい。いくつかの例では、モバイルデバイスは上で論じられたモバイルデバイスと同様であってよく、1つまたは複数のアクセサリが追加されている。たとえば、Eigenマイクロフォンは、アクセサリで増強されたモバイルデバイスを形成するために、上で述べられたモバイルデバイスに取り付けられてもよい。このようにして、アクセサリで増強されたモバイルデバイスは、アクセサリで増強されたモバイルデバイスと一体のサウンドキャプチャコンポーネントを使用するだけの場合よりも、高品質なバージョンの3D音場をキャプチャしてもよい。
本開示において説明される本技法の様々な態様を実行する場合がある例示的なオーディオ再生デバイスが、下で論じられる。本開示の1つまたは複数の技法によれば、スピーカーおよび/またはサウンドバーは、3D音場を再生しながらでも、あらゆる任意の構成で並べられてもよい。その上、いくつかの例では、ヘッドフォン再生デバイスが、有線接続またはワイヤレス接続のいずれかを介してデコーダ24に結合されてもよい。本開示の1つまたは複数の技法によれば、音場の単一の一般的な表現が、スピーカー、サウンドバー、およびヘッドフォン再生デバイスの任意の組合せで音場をレンダリングするために利用されてもよい。
いくつかの異なる例示的なオーディオ再生環境も、本開示において説明される技法の様々な態様を実行するのに適していることがある。たとえば、5.1スピーカー再生環境、2.0(たとえば、ステレオ)スピーカー再生環境、フルハイトフロントラウドスピーカーを伴う9.1スピーカー再生環境、22.2スピーカー再生環境、16.0スピーカー再生環境、オートモーティブスピーカー再生環境、およびイヤホン再生環境を伴うモバイルデバイスが、本開示において説明される技法の様々な態様を実行するための適切な環境であってもよい。
本開示の1つまたは複数の技法によれば、音場の単一の一般的な表現が、前述の再生環境のいずれかで音場をレンダリングするために利用されてもよい。加えて、本開示の技法は、上で説明されたもの以外の再生環境での再生のために、レンダラが一般的な表現から音場をレンダリングすることを可能にする場合がある。たとえば、設計上の考慮事項が7.1スピーカー再生環境に従ったスピーカーの適切な配置を妨げる場合(たとえば、右のサラウンドスピーカーを配置することが可能ではない場合)、本開示の技法は、6.1スピーカー再生環境での再生が達成されてもよいように、レンダラが他の6つのスピーカーによって補償することを可能にする。
その上、ユーザは、ヘッドフォンを装着しながらスポーツの試合を観ることがある。本開示の1つまたは複数の技法によれば、スポーツの試合の3D音場が取得されてよく(たとえば、1つまたは複数のEigenマイクロフォンが野球場の中および/または周囲に配置されてよく)、3D音場に対応するHOA係数が取得されデコーダに送信されてよく、デコーダがHOA係数に基づいて3D音場を再構築し、再構築された3D音場をレンダラに出力することができ、レンダラは、再生環境のタイプ(たとえば、ヘッドフォン)についての指示を取得し、再構築された3D音場を、ヘッドフォンにスポーツの試合の3D音場の表現を出力させる信号へとレンダリングしてもよい。
上で説明された様々な例の各々において、オーディオ符号化デバイス20が、方法を実行してよく、またはそうでなければ、オーディオ符号化デバイス20が実行するように構成される方法の各ステップを実行するための手段を備えてよいことを理解されたい。いくつかの例では、この手段は、1つまたは複数のプロセッサを備えてよい。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読記憶媒体に記憶されている命令によって構成される、特別なプロセッサを表す場合がある。言い換えると、符号化の例のセットの各々における本技法の様々な態様は、実行されると、オーディオ符号化デバイス20が実行するように構成されている方法を1つまたは複数のプロセッサに実行させる命令を記憶している、非一時的コンピュータ可読記憶媒体を提供してもよい。
1つまたは複数の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装されてもよい。ソフトウェアで実装される場合、機能は、1つもしくは複数の命令またはコードとしてコンピュータ可読媒体上に記憶され、またはコンピュータ可読媒体を介して送信されてよく、かつハードウェアに基づく処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体のような有形の媒体に対応するコンピュータ可読記憶媒体を含んでもよい。データ記憶媒体は、本開示で説明された技法を実装するための命令、コード、および/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセス可能である任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
同様に、上で説明された様々な例の各々において、オーディオ復号デバイス24が、方法を実行してよく、またはそうでなければ、オーディオ復号デバイス24が実行するように構成される方法の各ステップを実行するための手段を備えてよいことを理解されたい。いくつかの例では、この手段は、1つまたは複数のプロセッサを備える場合がある。いくつかの例では、1つまたは複数のプロセッサは、非一時的コンピュータコンピュータ可読記憶媒体に記憶されている命令によって構成される、特別なプロセッサを表す場合がある。言い換えると、符号化の例のセットの各々における本技法の様々な態様は、実行されると、オーディオ復号デバイス24が実行するように構成されている方法を1つまたは複数のプロセッサに実行させる命令を記憶している、非一時的コンピュータ可読記憶媒体を提供してもよい。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または、命令もしくはデータ構造の形式の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされてもよい任意の他の媒体を含むことができる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まず、代わりに非一時的な有形記憶媒体を指すことを理解されたい。ディスク(disk)およびディスク(disc)は、本明細書で使用される場合、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に同じく含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積論理回路もしくは離散論理回路のような、1つまたは複数のプロセッサによって実行されてもよい。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明される技法の実装に適した任意の他の構造のいずれかを指す場合がある。さらに、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内に与えられてよく、あるいは複合コーデックに組み込まれてよい。また、技法は、1つまたは複数の回路または論理要素において完全に実装されてもよい。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装されてもよい。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、上で説明されたように、様々なユニットは、コーデックハードウェアユニットにおいて結合されてよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、前述のような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい
本技法の様々な態様が説明されてきた。本技法のこれらのおよび他の態様は、以下の特許請求の範囲内に入る。