サラウンドサウンドの進化は、今日の娯楽に利用可能な多数の出力フォーマットを生み出した。そのような消費者向けのサラウンドサウンドフォーマットの例は、いくつかの幾何学的座標中のラウドスピーカーへのフィードを暗黙的に指定するという点で、大半が「チャンネル」ベースである。消費者向けサラウンドサウンドフォーマットには、一般的な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(ω,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を使用してこれらを編集することができる。コンテンツ作成者は、編集プロセスの間に、オーディオオブジェクト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の符号化されたバージョンを表すことができ、主要ビットストリームと、サイドチャンネル情報と呼ばれ得る別のサイドビットストリームとを含み得る。
以下でより詳細に説明されるが、オーディオ符号化デバイス20は、ベクトルベースの合成または指向性ベースの合成に基づいて、HOA係数11を符号化するように構成され得る。ベクトルベースの分解方法を実行するか指向性ベースの分解方法を実行するかを決定するために、オーディオ符号化デバイス20は、HOA係数11に少なくとも一部基づいて、HOA係数11が音場の自然な記録を介して生成されたか(たとえば、ライブ録音7)、または一例としてPCMオブジェクトのようなオーディオオブジェクト9から人工的に(すなわち、合成的に)生成されたかを、決定することができる。HOA係数11がオーディオオブジェクト9から生成されたとき、オーディオ符号化デバイス20は、指向性ベースの分解方法を使用してHOA係数11を符号化することができる。HOA係数11がたとえばeigenmikeを使用して生で記録されたとき、オーディオ符号化デバイス20は、ベクトルベースの分解方法に基づいてHOA係数11を符号化することができる。上の区別は、ベクトルベースの分解方法または指向性ベースの分解方法が実施され得る場合の一例を表す。自然な記録、人工的に生成されたコンテンツ、またはこれらの2つの混合物(ハイブリッドコンテンツ)に対して、一方または両方の分解方法が有用であり得る、他の場合があり得る。さらに、HOA係数の単一の時間フレームをコーディングするために、両方の方法を同時に使用することも可能である。
例示を目的に、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の分解されたバージョンを指定することができる。
オーディオ符号化デバイス20はまた、音場の1つまたは複数のバックグラウンド(または言い換えると、環境)成分を表すHOA係数11を特定するために、少なくとも一部、HOA係数11に関する音場分析を順番に実行することができる。オーディオ符号化デバイス20は、いくつかの例では、バックグラウンド成分がHOA係数11の任意の所与のサンプルのサブセットだけを含み得る(たとえば、0次および1次の球面基底関数に対応するHOA係数11を含み、2次以上の球面基底関数に対応するHOA係数11を含まないなど)とすると、バックグラウンド成分に関してエネルギー補償を実行することができる。次数削減が実行されるとき、言い換えると、オーディオ符号化デバイス20は、HOA係数11の残りのバックグラウンドHOA係数を補足して(たとえば、それにエネルギーを加算/それからエネルギーを減算して)、次数削減の実行に起因する全体のエネルギーの変化を補償することができる。
オーディオ符号化デバイス20は、バックグラウンド成分およびフォアグラウンドオーディオオブジェクトの各々を表すHOA係数11の各々に関して、ある形式の音響心理学的な符号化(MPEGサラウンド、MPEG-AAC、MPEG-USAC、または他の知られている形式の音響心理学的な符号化のような)を次に実行することができる。オーディオ符号化デバイス20は、フォアグラウンド指向性情報に関してある形式の補間を実行し、次いで、補間されたフォアグラウンド指向性情報に関して次数削減を実行して、次数削減されたフォアグラウンド指向性情報を生成することができる。オーディオ符号化デバイス20はさらに、いくつかの例では、次数削減されたフォアグラウンド指向性情報に関して量子化を実行して、コーディングされたフォアグラウンド指向性情報を出力することができる。いくつかの例では、量子化はスカラー/エントロピー量子化を備え得る。オーディオ符号化デバイス20は次いで、符号化されたバックグラウンド成分と、符号化されたフォアグラウンドオーディオオブジェクトと、量子化された指向性情報とを含むように、ビットストリーム21を形成することができる。オーディオ符号化デバイス20は次いで、ビットストリーム21をコンテンツ消費者デバイス14に送信し、または別様に出力することができる。
図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と同様であり得るが、有損失の動作(たとえば、量子化)および/または送信チャンネルを介した送信が原因で異なり得る。すなわち、オーディオ復号デバイス24は、ビットストリーム21において指定されるフォアグラウンド指向性情報を逆量子化しながら、ビットストリーム21において指定されるフォアグラウンドオーディオオブジェクトおよびバックグラウンド成分を表す符号化されたHOA係数に対して音響心理学的な復号を実行することもできる。オーディオ復号デバイス24はさらに、復号されたフォアグラウンド指向性情報に関して補間を実行し、次いで、復号されたフォアグラウンドオーディオオブジェクトおよび補間されたフォアグラウンド指向性情報に基づいてフォアグラウンド成分を表すHOA係数を決定することができる。オーディオ復号デバイス24は次いで、フォアグラウンド成分を表す決定されたHOA係数およびバックグラウンド成分を表す復号されたHOA係数に基づいて、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つを生成することができる。
図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は、直交変換を利用して、相関付けられる可能性のある変数の観測結果のセットを主要成分と呼ばれる線形に相関付けられない変数のセットへと変換する、数学的な手順を指す。線形に相関付けられない変数は、互いに線形な統計的関係(または依存性)を有しない変数を表す。主要成分は、互いに対する小規模な統計的相関関係を有するものとして記述され得る。いずれにしても、いわゆる主要成分の数は、元の変数の数以下である。いくつかの例では、第1の主要成分が最大のあり得る分散を有する(または言い換えると、データの変動を可能な限り考慮する)ように変換が定義され、そして、各々の後続の成分は、後続の成分が先行する成分と直交する(これは先行する成分と相関しないものと言い換えられ得る)という制約のもとで可能な最高の分散を有する。PCAはある形式の次数削減を実行することができ、このことはHOA係数11に関して、HOA係数11の圧縮をもたらし得る。状況に応じて、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対yの実数または複素数の行列X(ここでXはHOA係数11のようなマルチチャンネルオーディオデータを表し得る)の、次の形式での要素分解を表し得る。
X = USV*
Uは、y対yの実数または複素数の単位行列を表すことができ、ここで、Uのy個の列はマルチチャンネルオーディオデータの左特異ベクトルとして知られている。Sは対角線上に非負の実数を有するy対zの長方の対角行列を表すことができ、Sの対角方向の値はマルチチャンネルオーディオデータの特異値として知られている。V*(これはVの共役転置を示し得る)は、z対zの実数または複素数の単位行列を表すことができ、ここで、V*のz個の列はマルチチャンネルオーディオデータの右特異ベクトルとして知られている。
HOA係数11を備えるマルチチャンネルオーディオデータに適用されるものとして本開示では説明されるが、本技法は、任意の形式のマルチチャンネルオーディオデータに適用され得る。このようにして、オーディオ符号化デバイス20は、音場の少なくとも一部分を表すマルチチャンネルオーディオデータに関して特異値分解を実行して、マルチチャンネルオーディオデータの左特異ベクトルを表すU行列、マルチチャンネルオーディオデータの特異値を表すS行列、およびマルチチャンネルオーディオデータの右特異ベクトルを表すV行列を生成することができ、U行列、S行列、およびV行列の1つまたは複数の少なくとも一部分の関数として、マルチチャンネルオーディオデータを表す。
いくつかの例では、上で参照された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)オーディオデータの各ブロック(フレームを指し得る)に関して、ブロックごとの形式の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は、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を適用することができる。パワースペクトル密度行列は、PSDと示されることがあり、以下に続く擬似コードにおいて概説されるように、hoaFrameに対するhoaFrameの転置の行列乗算を通じて取得される。hoaFrameという表記は、HOA係数11のフレームを指す。
LITユニット30は、SVD(svd)をPSDに適用した後で、S[k]2行列(S_squred)およびV[k]行列を取得することができる。S[k]2行列は二乗されたS[k]行列を示すことができ、そうすると、LITユニット30は、平方根演算をS[k]2行列に適用してS[k]行列を得ることができる。いくつかの例では、LITユニット30は、V[k]行列に関して量子化を実行して、量子化されたV[k]行列(V[k]'行列と示され得る)を得ることができる。LITユニット30は、まずS[k]行列を量子化されたV[k]'行列と乗算してSV[k]'行列を得ることによって、U[k]行列を得ることができる。LITユニット30は次に、SV[k]'行列の擬似逆行列(pinv)を得て、次いで、HOA係数11をSV[k]'行列の擬似逆行列と乗算してU[k]行列を得ることができる。上記は次の擬似コードによって表され得る。
PSD = hoaFrame'*hoaFrame;
[V, S_squared] = svd(PSD,'econ');
S = sqrt(S_squared);
U = hoaFrame * pinv(S*V');
係数自体ではなくHOA係数のパワースペクトル密度(PSD)に関してSVDを実行することによって、LITユニット30は、プロセッササイクルと記憶空間の1つまたは複数に関する、SVDの実行の計算的な複雑さを低減できる可能性がありながら、SVDがHOA係数に直接適用されているかのように、同じソースオーディオの符号化の効率を達成することができる。すなわち、上で説明されたPSDタイプのSVDは、Mがフレーム長、すなわち1024個以上のサンプルであるM*Fの行列に対してSVDが行われる場合と比較して、F*Fの行列(FはHOA係数の数である)に対してSVDが行われるので、計算的な負荷がより低い可能性があり得る。ここで、SVDの複雑さは、HOA係数11に適用されるときのO(M*L2)(ここでO(*)は計算機科学において一般的な計算の複雑さの大文字Oによる表記を示す)と比較して、HOA係数11ではなくPSDへの適用により、O(L3)前後となり得る。
パラメータ計算ユニット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に出力することができる。
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によって使用され得る。
すなわち、並べ替えユニット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としてまとめて示され得る)を決定することができる。バックグラウンドチャンネル情報43はまた、環境チャンネル情報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ビットのシンタックス要素を使用して送信され得る。
説明のために、一例として、minAmbHOAorderが1に設定され、6というインデックスを有する追加の環境HOA係数がビットストリーム21を介して送信されると仮定する。この例では、1というminAmbHOAorderは、環境HOA係数が、1、2、3、および4というインデックスを有することを示す。オーディオ符号化デバイス20は、この例では環境HOA係数が(minAmbHOAorder + 1)2または4以下のインデックスを有するので、環境HOA係数を選択することができる。オーディオ符号化デバイス20は、ビットストリーム21の中で、1、2、3、および4というインデックスと関連付けられる環境HOA係数を指定することができる。オーディオ符号化デバイス20はまた、10というChannelTypeを有するadditionalAmbientHOAchannelとして、ビットストリームの中で、6というインデックスを有する追加の環境HOA係数を指定することができる。オーディオ符号化デバイス20は、CodedAmbCoeffIdxシンタックス要素を使用してインデックスを指定することができる。実際には、CodedAmbCoeffIdx要素は1〜25のインデックスのすべてを指定することができる。しかしながら、minAmbHOAorderは1に設定されるので、オーディオ符号化デバイス20は、(最初の4つのインデックスはminAmbHOAorderシンタックス要素を介してビットストリーム21において指定されることが知られているので)最初の4つのインデックスのいずれも指定しなくてよい。いずれにしても、オーディオ符号化デバイス20は、minAmbHOAorder(最初の4つに対する)およびCodedAmbCoeffIdx(追加の環境HOA係数に対する)を介して5つの環境HOA係数を指定し、オーディオ符号化デバイス20は、1、2、3、4、および6というインデックスを有する環境HOA係数と関連付けられる対応するVベクトル要素を指定しなくてよい。結果として、オーディオ符号化デバイス20は、要素[5, 7:25]を有するVベクトルを指定することができる。
第2の態様では、フォアグラウンド/支配的な信号のすべてがベクトルベースの信号である。この第2の態様では、フォアグラウンド/支配的な信号の総数は、nFG = numHOATransportChannels - [(MinAmbHOAorder +1)2 + additionalAmbientHOAchannelの各々]によって与えられ得る。
音場分析ユニット44は、バックグラウンドチャンネル情報43およびHOA係数11をバックグラウンド(BG)選択ユニット36に出力し、バックグラウンドチャンネル情報43を係数削減ユニット46およびビットストリーム生成ユニット42に出力し、nFG45をフォアグラウンド選択ユニット36に出力する。
バックグラウンド選択ユニット48は、バックグラウンドチャンネル情報(たとえば、バックグラウンド音場(NBG)ならびに送信すべき追加のBG HOAチャンネルの数(nBGa)およびインデックス(i))に基づいて、バックグラウンドまたは環境HOA係数47を決定するように構成されるユニットを表し得る。たとえば、NBGが1に等しいとき、バックグラウンド選択ユニット48は、1以下の次数を有するオーディオフレームの各サンプルに対するHOA係数11を選択することができる。この例では、バックグラウンド選択ユニット48は次いで、追加のBG HOA係数としてインデックス(i)の1つによって特定されるインデックスを有するHOA係数11を選択し、ここで、nBGaは、図2および図4の例において示されるオーディオ復号デバイス24のようなオーディオ復号デバイスが、ビットストリーム21からのバックグラウンドHOA係数47を解析することを可能にするために、ビットストリーム21において指定されることになるビットストリーム生成ユニット42に提供される。バックグラウンド選択ユニット48は次いで、環境HOA係数47をエネルギー補償ユニット38に出力することができる。環境HOA係数47は、D: M x [(NBG+1)2+ nBGa]という次元を有し得る。環境HOA係数47はまた、「環境HOA係数47」とも呼ばれることがあり、環境HOA係数47の各々が、音響心理学的オーディオコーダユニット40によって符号化されるべき別の環境HOAチャンネル47に対応する。
フォアグラウンド選択ユニット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(これは、
として数学的に示され得る)として示され得る。
エネルギー補償ユニット38は、環境HOA係数47に関してエネルギー補償を実行して、バックグラウンド選択ユニット48によるHOAチャンネルの様々な1つの削除が原因のエネルギーの損失を補償するように構成されるユニットを表し得る。エネルギー補償ユニット38は、並べ替えられたUS[k]行列33'、並べ替えられたV[k]行列35'、nFG信号49、フォアグラウンドV[k]ベクトル51k、および環境HOA係数47の1つまたは複数に関してエネルギー分析を実行し、次いで、エネルギー分析に基づいてエネルギー補償を実行してエネルギー補償された環境HOA係数47'を生成することができる。エネルギー補償ユニット38は、エネルギー補償された環境HOA係数47'を音響心理学的オーディオコーダユニット40に出力することができる。
空間-時間補間ユニット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のフレームに含まれる第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によって示され得る)を特定するためにも、より大きい柔軟性が提供され得る。音場分析ユニット44は、HOA係数11を分析してBGTOTを決定することができ、BGTOTは(NBG+1)2だけではなくTotalOfAddAmbHOAChanも特定することができ、これらはまとめて、バックグラウンドチャンネル情報43と呼ばれ得る。係数削減ユニット46は次いで、残りのフォアグラウンドV[k]ベクトル53から、(NBG+1)2およびTotalOfAddAmbHOAChanに対応する係数を除去して、サイズ((N+1)2-BGTOT) x nFGのより小さい次元のV[k]行列55を生成することができ、これは、削減されたフォアグラウンドV[k]ベクトル55とも呼ばれ得る。
量子化ユニット52は、任意の形式の量子化を実行して削減されたフォアグラウンドV[k]ベクトル55を圧縮して、コーディングされたフォアグラウンドV[k]ベクトル57を生成し、コーディングされたフォアグラウンドV[k]ベクトル57をビットストリーム生成ユニット42に出力するように構成されるユニットを表し得る。動作において、量子化ユニット52は、音場の空間成分、すなわちこの例では削減されたフォアグラウンドV[k]ベクトル55の1つまたは複数を圧縮するように構成されるユニットを表し得る。例示を目的に、削減されたフォアグラウンドV[k]ベクトル55は、係数削減の結果として、25個未満の要素を各々有する2つの行ベクトルを含む(これは、音場の4次のHOA表現であることを示唆する)と仮定される。2つの行ベクトルに関して説明されるが、任意の数のベクトルが、最大で(n+1)2個まで、削減されたフォアグラウンドV[k]ベクトル55に含まれることがあり、ここでnは音場のHOA表現の次数を示す。その上、スカラー量子化および/またはエントロピー量子化を実行するものとして以下で説明されるが、量子化ユニット52は、削減されたフォアグラウンドV[k]ベクトル55の圧縮をもたらす任意の形式の量子化を実行することができる。
量子化ユニット52は、削減されたフォアグラウンドV[k]ベクトル55を受信し、圧縮方式を実行してコーディングされたフォアグラウンドV[k]ベクトル57を生成することができる。圧縮方式は、ベクトルまたはデータの要素を圧縮するための任意の想起可能な圧縮方式を一般に伴ってよく、以下でより詳細に説明される例に限定されるべきではない。量子化ユニット52は、例として、削減されたフォアグラウンドV[k]ベクトル55の各要素の浮動小数点表現を、削減されたフォアグラウンドV[k]ベクトル55の各要素の整数表現に変換すること、削減されたフォアグラウンドV[k]ベクトル55の整数表現の一様な量子化、および、残りのフォアグラウンドV[k]ベクトル55の量子化された整数表現のカテゴリとコーディングの、1つまたは複数を含む圧縮方式を実行することができる。
いくつかの例では、圧縮方式の1つまたは複数の処理のいくつかは、一例として、得られるビットストリーム21の目標ビットレート41を達成するために、またはほぼ達成するために、パラメータによって動的に制御され得る。削減されたフォアグラウンドV[k]ベクトル55の各々が互いに直交しているとすると、削減されたフォアグラウンドV[k]ベクトル55の各々は独立にコーディングされ得る。いくつかの例では、以下でより詳細に説明されるように、各々の削減されたフォアグラウンドV[k]ベクトル55の各要素は、(様々なサブモードによって定義される)同じコーディングモードを使用してコーディングされ得る。
国際特許出願公開第2014/194099号において説明されているように、量子化ユニット52は、スカラー量子化および/またはハフマン符号化を実行して削減されたフォアグラウンドV[k]ベクトル55を圧縮し、サイドチャンネル情報57とも呼ばれ得るコーディングされたフォアグラウンドV[k]ベクトル57を出力することができる。サイドチャンネル情報57は、残りのフォアグラウンドV[k]ベクトル55をコーディングするために使用されるシンタックス要素を含み得る。
国際特許出願公開第2014/194099号において述べられているように、量子化ユニット52は、サイドチャンネル情報57のためのシンタックス要素を生成することができる。たとえば、量子化ユニット52は、複数の構成モードのいずれが選択されたかを示すシンタックス要素を、アクセスユニットのヘッダ(1つまたは複数のフレームを含み得る)の中で指定することができる。アクセスユニットごとに指定されるものとして説明されるが、量子化ユニット52は、フレームごとに、または任意の他の定期的な方式で、または非定期的な方式(ビットストリーム全体に対して1回など)で、シンタックス要素を指定することができる。いずれにしても、シンタックス要素は、明瞭な成分の方向的な側面を表すために、削減されたフォアグラウンドV[k]ベクトル55の係数の0ではないセットを指定するために3つの構成モードのいずれが選択されたかを示す、2つのビットを備え得る。シンタックス要素は「codedVVecLength」として示され得る。このようにして、量子化ユニット52は、ビットストリーム中のコーディングされたフォアグラウンドV[k]ベクトル57を指定するために3つの構成モードのいずれが使用されたかを、ビットストリームにおいてシグナリングし、または別様に指定することができる。
たとえば、3つの構成モードがVVecDataのためのシンタックステーブル(本文書において後で参照される)において提示され得る。その例では、構成モードは次の通りである。(モード0)、Vベクトルの全体の長さがVVecDataフィールドにおいて送信される;(モード1)、環境HOA係数に対する最小限の数の係数と関連付けられるVベクトルの要素および追加のHOAチャンネルを含むVベクトルのすべての要素が送信されない;(モード2)、環境HOA係数に対する最小限の数の係数と関連付けられるVベクトルの要素が送信されない。VVecDataのシンタックステーブルは、switch文およびcase文に関連してモードを示す。3つの構成モードに関して説明されるが、本技法は3つの構成モードに限定されるべきではなく、単一の構成モードまたは複数のモードを含む、任意の数の構成モードを含み得る。国際特許出願公開第2014/194099号は、4つのモードを伴う異なる例を提供する。スカラー/エントロピー量子化ユニット52はまた、サイドチャンネル情報57において、別のシンタックス要素としてフラグ63を指定することができる。
その上、ある形式のスカラー量子化に関して説明されるが、量子化ユニット52は、ベクトル量子化または任意の他の形式の量子化を実行することができる。いくつかの例では、量子化ユニット52は、ベクトル量子化とスカラー量子化とを切り替えることができる。上で説明されたスカラー量子化の間、量子化ユニット52は、(隣り合うフレームのように連続する)2つの連続するVベクトルの間の差分を計算して、その差分(または言い換えると残差)をコーディングすることができる。ベクトル量子化は、そのような差分のコーディングを伴わない(これは、ある意味では、前のVベクトルおよびシグナリングされた差分に基づいて現在の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を生成することができる。ビットストリーム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からの係数の対応する除去またはそれへの係数の対応する追加によって表される、音場の態様に対するエネルギーの損失をもたらし得る。
説明のために、前のフレーム(「FX-1」として示される)に対しては、環境HOA係数の総数(BGTOT)は、1、2、3、および4というインデックスと関連付けられる環境HOA係数と追加の環境HOA係数6とを含むと仮定する。現在のフレーム(「FX」として示される)に対しては、環境HOA係数の総数(BGTOT)は、1、2、3、および4というインデックスと関連付けられる環境HOA係数と追加の環境HOA係数5とを含むとさらに仮定する。したがって、前のフレーム(FX-1)の環境HOA係数(BGTOT)の総数は、インデックス6と関連付けられる追加の環境HOA係数をインデックス5と関連付けられる追加の環境HOA係数により置き換えることによって、現在のフレーム(FX)の環境HOA係数の総数(BGTOT)とは異なる。前のフレーム(FX-1)のVベクトルは、前のフレームFX-1の環境HOA係数の総数(BGTOT)のうちの1つが対応しない、任意の要素を含む。したがって、Vベクトルは、音場の4次の表現のために5および7から25の要素を含んでよく、これはV[5,7:25]として示され得る。現在のフレーム(FX)のVベクトルは、現在のフレーム(FX)の環境HOA係数の総数(BGTOT)のうちの1つが対応しない、任意の要素を含み、これは音場の4次の表現に対してはV[6:25]として示され得る。
国際特許出願公開第2014/194099号では、オーディオ符号化デバイスはフレームFX-1に対してV[5,7:25]をシグナリングし、フレームFxに対してV[6:25]をシグナリングする。オーディオ符号化デバイスはまた、インデックス6と関連付けられる追加の環境HOA係数が前のフレーム(FX-1)に対するHOA係数11'の再構築のためにフェードアウトされるべきであるが、HOA係数11'を再構築するときにインデックス5と関連付けられる追加の環境HOA係数が現在のフレーム(FX)のためにフェードインされるべきであることを、指定することができる。前のフレーム(FX-1)の間のオーディオ復号デバイスにおける再構築に由来するインデックス6と関連付けられる追加の環境HOA係数の遷移は、インデックス6と関連付けられる追加の環境HOA係数が音場のエネルギー全体のある部分を表すとすれば、エネルギー全体を削減することがある。エネルギーの削減は、可聴のオーディオアーティファクトとして現れ得る。
同様に、インデックス5と関連付けられる追加の環境HOA係数の導入は、現在のフレーム(FX)の間にフェードインするとき、オーディオ復号デバイスにおいてHOA係数11'を再構築するときにエネルギーのいくらかの損失をもたらす。このエネルギーの損失は、インデックス5と関連付けられる追加の環境HOA係数が、一例として、インデックス5と関連付けられる追加の環境HOA係数を減衰させそれによってエネルギー全体を減じる、線形のフェードイン動作を使用してフェードインされることで、発生する。やはり、エネルギーの削減は、オーディオアーティファクトとして現れ得る。
本開示において説明される技法の様々な態様によれば、音場分析ユニット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ベクトルのために含まれるかどうかに、影響を与える。
前のフレームおよび現在のフレーム(FX-1およびFx)の例に関して上記のことを説明するために、係数削減ユニット46は、前のフレームおよび現在のフレーム(FX-1およびFx)の間にVベクトルのために送信される要素に関する冗長な情報をシグナリングするように、国際特許出願公開第2014/194099号において規定されるものから修正され得る。係数削減ユニット46は、オーディオ復号デバイス24がVベクトルの要素6をフェードインしながら、同時にインデックス6と関連付けられる環境HOA係数をフェードアウトできるように、前のフレームFX-1に対するベクトル要素(V[5:25])を指定することができる。係数削減ユニット46は、遷移中のVベクトル要素の遷移を示すシンタックス要素を指定しなくてよく、それは、その遷移が、Vベクトルのコーディングモードおよび環境HOA係数に対して指定された遷移情報から明らかであるからである。現在のフレーム(Fx)に対して、係数削減ユニット46は同様に、オーディオ復号デバイス24がフェードアウト動作においてVベクトルの5番目の要素を使用してインデックス5と関連付けられる環境HOA係数のフェードインをオフセットするならば、VベクトルをV[5:25]として指定することができる。上の例では、フェード動作は、均一なエネルギーレベルを維持してオーディオアーティファクトの混入を避けるために、環境HOA係数のフェード動作をVベクトル要素について補足するものである。補足的である、または、遷移にわたって均一なエネルギーを別様に提供するものとして説明されるが、本技法は、エネルギーの変化によるオーディオアーティファクトの混入を回避または低減するために使用される、任意の他の形式の遷移動作を許容し得る。
別の例では、係数削減ユニット46は、削減されたフォアグラウンドV[k]ベクトル55のVベクトルが生成される方法を変更しないことがある。したがって、遷移フラグはサイドチャンネル情報においてシグナリングされる。この例では、オーディオ復号デバイスは、遷移中の環境HOA係数に対応する係数を含む、前のフレームまたは後のフレームのVベクトルを利用することができる。この例は、デコーダにおける追加の機能(たとえば、環境HOA係数がBGTOTへと遷移しているときに、現在のフレームにおいて使用するために、後のフレームからのVベクトルの係数を複製するために後のフレームを先読みする先読み機構)を必要とし得る。
この点において、本技法は、オーディオ符号化デバイス20が、音場の環境成分を記述するために使用されているという点で音場の環境成分を記述する環境高次アンビソニックス係数47'がいつ遷移中であるかを決定することが可能になり得る。使用されている、または使用されていないものとして音場の環境成分を参照するとき、オーディオ符号化デバイス20は、オーディオ復号デバイス24において音場を再構築する際に使用されるべき環境HOA係数47を選択できることを理解されたい。環境HOA係数は、音場のバックグラウンド成分、または言い換えると環境成分のいくつかの態様を表し得るが、オーディオ符号化デバイス20は、環境HOA係数47の1つまたは複数が音場の環境成分に関する十分な情報を提供しないので、ビットストリーム21中の環境HOA係数47の1つまたは複数を指定する際にビットは使用されるべきではないと決定することができる。オーディオ符号化デバイス20は、一例として目標ビットレート41を達成するために、各フレームに対する音場の環境成分または環境的な側面を表すために使用される、環境HOA係数47のより大きいセットの何らかのサブセットを特定することができる。いずれにしても、オーディオ符号化デバイス20はまた、環境高次アンビソニックス係数47を含むビットストリーム21において、環境高次アンビソニックス係数47が遷移中であることを特定することができる。
これらのおよび他の例では、オーディオ符号化デバイス20は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'が音場の環境成分を記述するために使用されないと決定することができる。環境高次アンビソニックス係数47'が遷移中であることを特定するとき、オーディオ符号化デバイス20は、高次アンビソニックス係数が遷移中であることを示すAmbCoeffTransitionフラグを指定することができる。
これらのおよび他の例では、オーディオ符号化デバイス20は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'が音場の環境成分を記述するために使用されないと決定することができる。
環境高次アンビソニックス係数47'が使用されるべきではないと決定したことに応答して、オーディオ符号化デバイス20は、環境高次アンビソニックス係数47'に対応するベクトル(たとえば、削減されたフォアグラウンドV[k]ベクトル55、または言い換えると、削減されたフォアグラウンドベクトル55k)の要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を生成することができる。ベクトル55kは、音場の明瞭な成分の空間的な側面を記述し得る。ベクトル55kはまた、上で説明された方式で音場を記述する高次アンビソニックス係数11から分解されていることがある。
これらのおよび他の例では、オーディオ符号化デバイス20は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'が音場の環境成分を記述するために使用されると決定することができる。
これらのおよび他の例では、オーディオ符号化デバイス20は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'が音場の環境成分を記述するために使用されると決定することができる。オーディオ符号化デバイス20はまた、環境高次アンビソニックス係数47'が遷移中であることを特定するとき、高次アンビソニックス係数47'が遷移中であることを示すシンタックス要素を指定することができる。
これらのおよび他の例では、オーディオ符号化デバイス20は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'が音場の環境成分を記述するために使用されると決定することができる。オーディオ符号化デバイス20は、環境高次アンビソニックス係数47'が使用されるべきと決定したことに応答して、環境高次アンビソニックス係数47'に対応するベクトル55kの要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を生成することができる。ベクトル55kは、音場の明瞭な成分の空間的な側面を記述することができ、音場を記述する高次アンビソニックス係数から分解されていることがある。
いくつかの例では、ビットストリーム生成ユニット42は、たとえばデコーダの始動の遅延を補償するために、即時再生フレーム(IPF)を含むようにビットストリーム21を生成する。いくつかの場合、ビットストリーム21は、Dynamic Adaptive Streaming over HTTP(DASH)またはFile Delivery over Unidirectional Transport(FLUTE)のような、インターネットストリーミング規格とともに利用され得る。DASHは、ISO/IEC 23009-1、「Information Technology - Dynamic adaptive streaming over HTTP (DASH)」、2012年4月に記載されている。FLUTEは、IETF RFC 6726、「FLUTE - File Delivery over Unidirectional Transport」、2012年11月に記載されている。前述のFLUTEおよびDASHのようなインターネットストリーミング規格は、指定されたストリームアクセスポイント(SAP)における即時の再生を可能にすること、さらには、ストリームの任意のSAPにおいてビットレートおよび/または有効にされたツールの異なるストリームの表現の間で再生を切り替えることによって、フレーム損失/劣化を補償し、ネットワークトランスポートリンク帯域幅に適合する。言い換えると、オーディオ符号化デバイス20は、コンテンツの第1の表現(たとえば、第1のビットレートにおいて指定される)からコンテンツの第2の異なる表現(たとえば、第2のより高いまたは低いビットレートにおいて指定される)へ切り替えるような方式で、フレームを符号化することができる。オーディオ復号デバイス24は、フレームを受信してフレームを独立に復号して、コンテンツの第1の表現からコンテンツの第2の表現に切り替えることができる。オーディオ復号デバイス24は、コンテンツの第2の表現を得るために、後続のフレームを復号し続けることができる。
即時の再生/切替えの例では、ストリームフレームに対するプリロールは、フレームを正確に復号するのに必須の内部状態を確立するために復号されておらず、ビットストリーム生成ユニット42は、図7Iに関してより詳細に以下で説明されるように、即時再生フレーム(IPF)を含むようにビットストリーム21を符号化することができる。
図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が様々なバージョンを介して符号化されたかどうかを、上で述べられたシンタックス要素(たとえば、図7Dおよび図7Eの例に示されるChannelTypeシンタックス要素269)から決定することができる。指向性ベースの符号化が実行されたとき、抽出ユニット72は、HOA係数11の指向性ベースのバージョンと、符号化されたバージョンと関連付けられるシンタックス要素(これは図4の例では指向性ベースの情報91として示される)とを抽出し、指向性ベースの情報91を指向性ベースの再構築ユニット90に渡すことができる。指向性ベースの再構築ユニット90は、指向性ベースの情報91に基づいてHOA係数11'の形式でHOA係数を再構築するように構成されるユニットを表し得る。ビットストリームおよびビットストリーム内のシンタックス要素の配置は、図7A〜図7Jの例に関してより詳細に以下で説明される。
HOA係数11がベクトルベースの合成を使用して符号化されたことをシンタックス要素が示すとき、抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57、符号化された環境HOA係数59、および符号化されたnFG信号61を抽出することができる。抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57を逆量子化ユニット74に、符号化された環境HOA係数59とともに符号化されたnFG信号61を音響心理学的復号ユニット80に渡すことができる。
コーディングされたフォアグラウンドV[k]ベクトル57、符号化された環境HOA係数59、および符号化されたnFG信号61を抽出するために、抽出ユニット72は、コーディングされたフォアグラウンドV[k]ベクトル57(サイドチャンネル情報57とも呼ばれ得る)を取得することができる。サイドチャンネル情報57は、codedVVecLengthと示されるシンタックス要素を含み得る。抽出ユニット72は、サイドチャンネル情報57からcodedVVecLengthを解析することができる。抽出ユニット72は、codedVVecLengthシンタックス要素に基づいて、上で説明された構成モードの任意の1つにおいて動作するように構成され得る。
抽出ユニット72は次いで、構成モードの任意の1つに従って動作して、サイドチャンネル情報57からの、圧縮された形式の削減されたフォアグラウンドV[k]ベクトル55kを解析する。図4の例において示されるオーディオ符号化デバイス20のビットストリーム生成ユニット42に関して上で述べられたように、フレームごとに、または場合によっては複数のフレームごとに、環境HOA係数47の遷移を示すフラグまたは他のシンタックス要素が、ビットストリームにおいて指定され得る。抽出ユニット72は、環境HOA係数が遷移中であるかどうかを示すシンタックス要素を解析することができる。図4の例にさらに示されるように、抽出ユニット72は、V展開ユニット755(図4の例では「V展開ユニット(V decomp unit)755」として示されている)を含み得る。V展開ユニット755は、ビットストリーム21のサイドチャンネル情報と、codedVVecLengthと示されるシンタックス要素とを受信する。抽出ユニット72は、ビットストリーム21から(およびたとえば、ビットストリーム21に含まれるアクセスユニットヘッダから)codedVVecLengthシンタックス要素を解析することができる。V展開ユニット755は、モード構成ユニット756(「モード構成ユニット(mode config unit)756」)と、構成モード760の任意の1つに従って動作するように構成可能な解析ユニット758とを含む。
抽出ユニット72は、codedVVecLengthシンタックス要素をモード構成ユニット756に提供することができる。抽出ユニット42はまた、解析ユニット758によって使用可能な状態変数の値を抽出することができる。
モード構成ユニット756は、環境HOA係数の遷移を示すシンタックス要素に基づいて解析モード760を選択することができる。解析モード760は、この例では、解析ユニット758を構成するためのいくつかの値を指定し得る。追加の値は、「AmbCoeffTransitionMode」および「AmbCoeffWasFadedIn」として示される変数の値を指し得る。この値は、次のテーブルにおいて規定されるような、AddAmbHoaInfoChannelの遷移ステータスに関する状態を保持する。
前述のAddAmbHoaInfoChannelのテーブルにおいて、モード構成ユニット756は、HOAフレームに対するIndependencyFlag値が真であるかどうかを決定することができる。真の値を有するIndependencyFlagは、HOAフレームが即時再生フレーム(IPF)であることを示す。
HOAフレームに対するIndependencyFlag値が偽である場合、モード構成ユニット756は、AmbCoeffTransitionフラグが1に設定されるかどうかを決定する。AmbCoeffTransitionフラグは、環境高次アンビソニックス係数の遷移を示すビットを表し得る。ビットとして説明されるが、AmbCoeffTransitionフラグは、いくつかの例では、1つまたは複数のビットを含み得る。本明細書で使用される用語「ビット」は、1つまたは複数のビットを指すものとして理解されるべきであり、別段明示的に述べられていない限り、単一のビットだけに限定されるべきではない。
AmbCoeffTransitionフラグが1に設定されるとき、モード構成ユニット756は次いで、別の変数(または言い換えるとシンタックス要素)AmbCoeffWasFadedIn[i]が0に等しいかどうかを決定する。AmbCoeffWasFadedIn[i]変数は、HOAAddAmbInfoChannelsの各々に対して1つの、i個の要素の列であり、この要素は、i番目のHOAAddAmbInfoChannelが以前にフェードインされたかどうかを示す。i番目のHOAAddAmbInfoChannelが前にフェードインされていなかったとき(i番目のHOAAddAmbInfoChannelが0に等しいことを意味する)、モード構成ユニット756は、i番目のHOAAddAmbInfoChannelに対するAmbCoeffTransitionModeを1に設定しながら、i番目のHOAAddAmbInfoChannelに対するAmbCoeffWasFadedInも1に設定することができる。i番目のHOAAddAmbInfoChannelが前にフェードインされていたとき(i番目のHOAAddAmbInfoChannelが0に等しくないことを意味する)、モード構成ユニット756は、i番目のHOAAddAmbInfoChannelに対するAmbCoeffTransitionModeを2に設定し、i番目のHOAAddAmbInfoChannelに対するAmbCoeffWasFadedInを0に設定することができる。
AmbCoeffWasFadedInシンタックス要素とAmbCoeffTransitionModeシンタックス要素の組合せは、遷移状態情報を表し得る。遷移状態情報は、AmbCoeffWasFadedInシンタックス要素とAmbCoeffTransitionModeシンタックス要素の各々が各々単一のビットであるとすれば、最大で4つの状態を定義することができる。上の例示的なシンタックステーブルは、遷移状態情報が3つの状態の1つを示すことを示す。3つの状態は、遷移なし状態、フェードイン状態、およびフェードアウト状態を含み得る。3つの状態のうちの1つを示すために2つのビットを含むものとして本開示において説明されるが、遷移状態情報は、遷移状態情報が3つ未満の状態を示すとき、単一のビットであり得る。その上、遷移状態情報は、遷移状態情報が5つ以上の状態のうちの1つを示す例では、3つ以上のビットを含み得る。
AmbCoeffTransitionフラグが0に等しいとき、モード構成ユニット756は、i番目のHOAAddAmbInfoChannelに対するAmbCoeffTransitionModeを0に設定することができる。前述のテーブルにおいて述べられるように、AmbCoeffTransitionModeが次の値に等しいとき、下で示される対応する活動が実行され得る。
0: 遷移なし(連続的な追加の環境HOA係数)
1: 追加の環境HOA係数のフェードイン
2: 追加の環境HOA係数のフェードアウト
HOAフレームに対するIndependencyFlag値が真である場合、抽出ユニット72は、ビットストリーム21内の関連するシンタックス構造から、追加の環境HOAチャンネルのための遷移情報757を抽出することができる。IPFは定義上独立に復号可能であるので、IPFのための遷移情報757は、たとえば上で説明された状態情報814のように、ビットストリームの中でIPFとともに提供され得る。したがって、抽出ユニット72は、シンタックス構造がそれについての遷移情報757を提供しているi番目のHOAAddAmbInfoChannelに対する変数AmbCoeffWasFadedIn[i]の値を抽出することができる。このようにして、モード構成ユニット756は、i番目のHOAAddAmbInfoChannelにおいてオーディオ復号デバイス24によって適用されるべき、i番目のHOAAddAmbInfoChannelのためのモード760を決定することができる。
しかしながら、前述のシンタックスは、2ビットのAmbCoeffTransitionState[i]シンタックス要素および1ビットのAmbCoeffIdxTransitionシンタックス要素によって、AmbCoeffWasFadedIn[i]およびAmbCoeffTransitionの別々のシンタックス要素を置き換えるように、わずかに修正され得る。したがって、前述のシンタックステーブルは、次のシンタックステーブルによって置き換えられ得る。
前述の例示的なシンタックステーブルでは、オーディオ符号化デバイス20は、HOAIndependencyFlagシンタックス要素が1という値に設定されるとき、AmbCoeffTransitionStateシンタックス要素を明示的にシグナリングする。AmbCoeffTransitionStateシンタックス要素がシグナリングされるとき、オーディオ符号化デバイス20は、対応する環境HOA係数の現在の状態をシグナリングする。そうではなく、HOAIndependencyFlagシンタックス要素が0という値に設定されるとき、オーディオ符号化デバイス20は、AmbCoeffTransitionStateをシグナリングしないが、代わりに、対応する環境HOA係数が遷移中であるかどうかを示すAmbCoeffIdxTransitionシンタックス要素をシグナリングする。
HOAIndependencyFlagシンタックス要素が0という値に設定されるとき、抽出ユニット72は、環境HOA係数の対応する1つに対するAmbCoeffTransitionStateを維持することができる。抽出ユニット72は、AmbCoeffIdxTransitionに基づいて、AmbCoeffTransitionStateシンタックス要素を更新することができる。たとえば、AmbCoeffTransitionStateシンタックス要素が0に設定され(遷移がないことを意味する)、AmbCoeffIdxTransitionシンタックス要素が0に設定されるとき、抽出ユニット72は、変化が発生していないこと、したがって、AmbCoeffTransitionStateシンタックス要素に対する変更が必要ではないことを、決定することができる。AmbCoeffTransitionStateシンタックス要素が0に設定され(遷移がないことを意味する)、AmbCoeffIdxTransitionシンタックス要素が1に設定されるとき、抽出ユニット72は、対応する環境HOA係数がフェードアウトされるべきであると決定することができ、AmbCoeffTransitionStateシンタックス要素を2という値に設定する。AmbCoeffTransitionStateシンタックス要素が2に設定され(対応する環境HOA係数がフェードアウトされたことを意味する)、AmbCoeffIdxTransitionシンタックス要素が1に設定されるとき、抽出ユニット72は、対応する環境HOA係数がフェードインされるべきであると決定することができ、AmbCoeffTransitionStateシンタックス要素を1という値に設定する。
AmbCoeffTransitionフラグと同様に、AmbCoeffIdxTransitionシンタックス要素は、環境高次アンビソニックス係数の遷移を示すビットを表し得る。ビットとして説明されるが、AmbCoeffIdxTransitionシンタックス要素は、いくつかの例では、1つまたは複数のビットを含み得る。やはり、本明細書で使用される用語「ビット」は、1つまたは複数のビットを指すものとして理解されるべきであり、別段明示的に述べられていない限り、単一のビットだけに限定されるべきではない。
その上、AmbCoeffTransitionState[i]シンタックス要素は、遷移状態情報を表し得る。AmbCoeffTransitionState[i]シンタックス要素が2ビットであるとすれば、遷移状態情報は4つの状態の1つを示し得る。前述の例示的なシンタックステーブルは、遷移状態情報が3つの状態のうちの1つを示すことを示す。3つの状態は、遷移なし状態、フェードイン状態、およびフェードアウト状態を含み得る。やはり、3つの状態のうちの1つを示すために2つのビットを含むものとして本開示において説明されるが、遷移状態情報は、遷移状態情報が3つ未満の状態を示すとき、単一のビットであり得る。その上、遷移状態情報は、遷移状態情報が5つ以上の状態のうちの1つを示す例では、3つ以上のビットを含み得る。
抽出ユニット72はまた、VVectorDataのための次のシンタックステーブルにおいて提示されるシンタックスとともに次の擬似コードにおいて提示されるスイッチ文に従って動作することができる。
switch CodedVVecLength{
case 0: //完全なベクトル長
VVecLength = NumOfHoaCoeffs;
for (m=0; m< VVecLength; ++m){
VVecCoeffId[m] = m;
}
break;
case 1: //最小限のベクトル長
VVecLength = NumOfHoaCoeffs - MinNumOfCoeffsForAmbHOA - NumOfContAddHoaChans;
for (i=0; i< NumOfAdditionalCoders; ++i){
if (AmbCoeffTransitionMode[i] == 0){
ContAmbCoeffIdx[i] = AmbCoeffIdx[i];}
else{ ContAmbCoeffIdx[i] = -1; }
}
for (m=0; m< VVecLength; ++m){
if (ismember(m + MinNumOfCoeffsForAmbHOA + 1,ContAmbCoeffIdx) == 0){
VVecCoeffId[m] = m + MinNumOfCoeffsForAmbHOA;
}
}
break;
case 2: //MinNumOfCoeffsForAmbHOAが除去される(RM1 ref ソフトウェアにおける状態)
VVecLength = NumOfHoaCoeffs - MinNumOfCoeffsForAmbHOA;
for (m=0; m< VVecLength; ++m){
VVecCoeffId[m] = m + MinNumOfCoeffsForAmbHOA;
}
break;
}
前述の擬似コードにおけるCase 0は、コーディングモードが選択されるとき、Vベクトルの要素のすべてを取り出すための擬似コードを表す。Case 1は、上で説明された方式で削減された後のVベクトルを取り出すための擬似コードを表す。Case 1は、NBGと追加の環境HOA係数の両方が送信されるときに発生し、これによって、Vベクトルの対応する要素が送信されないようになる。Case 2は、追加の環境HOA係数に対応するVベクトルの要素が(冗長に)送信されるが、NBGおよび環境HOA係数に対応するVベクトルの要素は送信されないとき、Vベクトルを復元するための擬似コードを表す。
オーディオ符号化デバイス20は、オーディオ復号デバイス24がCase2に従って動作するように構成されるとき、ビットストリーム21を指定することができる。オーディオ符号化デバイス20は、環境HOA係数の遷移の間にビットストリーム21においてVベクトル要素を明示的にシグナリングすることを選択すると、Case 2をシグナリングすることができる。図8を参照して以下でより詳細に論じられるように、オーディオ符号化デバイス20は、環境HOA係数の遷移に基づくVベクトル要素のフェードインおよびフェードアウトを可能にするために、冗長なVベクトル要素を明示的に送信することを選ぶことができる。
オーディオ符号化デバイス20は、後続のフレームからVベクトル要素を時間内に取り出すための先読み(または前のフレームからVベクトル要素を時間内に取り出すための後読み)を実行するようにデコーダ24を構成することを選ぶとき、Case 1を選択することができる。言い換えると、オーディオ復号デバイス24の抽出ユニット72は、オーディオ符号化デバイス20が冗長なVベクトル要素を送信しないことを選ぶときにCase1を実行するように構成されてよく、代わりに、先読みまたは後読み動作を実行して異なるフレームからのVベクトル要素を再使用するように、オーディオ復号デバイス24の抽出ユニット72を構成することができる。オーディオ復号デバイス24は次いで、暗黙的にシグナリングされるVベクトル要素(前のまたは後のフレームからの再使用されるVベクトル要素を指し得る)を使用して、フェードイン/フェードアウト動作を実行することができる。
モード構成ユニット756は、コーディングされたフォアグラウンドV[k]ベクトル57を復元するために、ビットストリーム21を解析するための適切な方法を構成する、モード760の1つを選択することができる。モード構成ユニット756は、モード760の選択された1つによって解析ユニット758を構成することができ、解析ユニット758は次いで、ビットストリーム21を解析してコーディングされたフォアグラウンドV[k]ベクトル57を復元することができる。解析ユニット758は次いで、コーディングされたフォアグラウンドV[k]ベクトル57を出力することができる。
CodedVVeclengthについてのswitch文の後で、一様な逆量子化を実行するかどうかの判断が、NbitsQシンタックス要素(または上で示されたような、nbitsシンタックス要素)によって制御されてよく、NbitsQシンタックス要素が5に等しいとき、一様な8ビットのスカラー逆量子化が実行される。対照的に、6以上のNbitsQ値は、ハフマン復号の適用をもたらし得る。上で言及されたcid値は、NbitsQ値の下位2ビットに等しくてよい。上で論じられた予測モードは上のシンタックステーブルにおいてPFlagとして示されるが、HT情報ビットは上のシンタックステーブルにおいてCbFlagとして示される。残りのシンタックスは、上で説明されたものと実質的に同様の方式で、どのように復号が行われるかを指定する。
ベクトルベースの再構築ユニット92は、HOA係数11'を再構築するために、図3に示されるようなベクトルベースの分解ユニット27に関して上で説明された動作と逆の動作を実行するように構成されるユニットを表す。ベクトルベースの再構築ユニット92は、逆量子化ユニット74、空間-時間補間ユニット76、フォアグラウンド編成ユニット78、音響心理学的復号ユニット80、フェードユニット770、およびHOA係数編成ユニット82を含み得る。
逆量子化ユニット74は、図3の例に示される量子化ユニット52とは逆の方式で動作し、コーディングされたフォアグラウンドV[k]ベクトル57を逆量子化して削減されたフォアグラウンドV[k]ベクトル55kを生成するように構成されるユニットを表し得る。逆量子化ユニット74は、いくつかの例では、量子化ユニット52に関して上で説明されたものとは逆の方式で、ある形式のエントロピー復号およびスカラー逆量子化を実行することができる。逆量子化ユニット74は、削減されたフォアグラウンドV[k]ベクトル55kを空間-時間補間ユニット76に転送することができる。
音響心理学的復号ユニット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係数から導出されたものに関して、フェード動作を実行するように構成されるユニットを表す。
言い換えると、追加で送信されるHOA係数と関連付けられるVVec要素は、送信されなくてもよいことがある。追加のHOA係数が過渡的である(フェードインまたはフェードアウトされることを意味する)フレームでは、VVec要素が、再構築されたHOA音場におけるエネルギーホールを防ぐために送信される。
これらおよび他の例では、オーディオ復号デバイス24は、環境高次アンビソニックス係数(環境高次アンビソニックス係数47'のような)がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'も含むビットストリーム(図4の例のビットストリーム21のような)からAmbCoeffTransitionフラグを取得することができる。AmbCoeffTransitionフラグは、高次アンビソニックス係数が遷移中であることを示す。
これらのおよび他の例では、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'が音場の環境成分を記述するために使用されないと決定することができる。環境高次アンビソニックス係数47'が使用されないと決定したことに応答して、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'に対応するベクトルの要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を取得することができる。ベクトルは削減されたフォアグラウンドV[k]ベクトル55k''の1つを指すことができ、したがって、ベクトル55k''と呼ばれ得る。ベクトル55k''は、音場の明瞭な成分の空間的な側面を記述することができ、音場を記述する高次アンビソニックス係数11から分解されていることがある。オーディオ復号デバイス24はさらに、環境高次アンビソニックス係数47'に対応するベクトル55k''の要素に関してフェードイン動作を実行して、ベクトルの要素をフェードインすることができる。オーディオ復号デバイス24は、図8の例に関してより詳細に説明されるように、フレームの間にベクトル55k''の要素の利得を線形に増大させることによって、ベクトル55k''の要素を増やすためにフェードイン動作を実行することができる。
これらのおよび他の例では、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'が音場の環境成分を記述するために使用されないと決定することができる。環境高次アンビソニックス係数が使用されないと決定したことに応答して、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'に対応するベクトル55k''の要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を取得することができる。上で述べられたように、ベクトル55k''は、音場の明瞭な成分の空間的な側面を記述することができ、音場を記述する高次アンビソニックス係数11から分解されていることがある。オーディオ復号デバイス24はまた、環境高次アンビソニックス係数47'に対応するベクトル55k''の要素に関してフェードイン動作を実行して、ベクトル55k''の要素をフェードインすることができる。オーディオ復号デバイス24はさらに、環境高次アンビソニックス係数47'に関してフェードアウト動作を実行して、環境高次アンビソニックス係数47'をフェードアウトすることができる。
これらのおよび他の例では、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数が音場の環境成分を記述するために使用されると決定することができる。環境高次アンビソニックス係数が使用されるべきであると決定したことに応答して、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'に対応するベクトル55kの要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を取得することができる。やはり、ベクトル55k''は、音場の明瞭な成分の空間的な側面を記述することができ、音場を記述する高次アンビソニックス係数11から分解されていることがある。オーディオ復号デバイス24は、環境高次アンビソニックス係数47'に対応するベクトル55k''の要素に関してフェードアウト動作を実行して、ベクトルの要素をフェードアウトすることができる。
これらのおよび他の例では、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'がいつ遷移中であるかを決定するとき、環境高次アンビソニックス係数47'が音場の環境成分を記述するために使用されると決定することができる。環境高次アンビソニックス係数47'が使用されると決定したことに応答して、オーディオ復号デバイス24は、環境高次アンビソニックス係数に対応するベクトル55k''の要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を取得することができる。やはり、ベクトル55k''は、音場の明瞭な成分の空間的な側面を記述することができ、音場を記述する高次アンビソニックス係数から分解されていることがある。オーディオ復号デバイス24はまた、環境高次アンビソニックス係数47'に対応するベクトル55k''の要素に関してフェードアウト動作を実行して、ベクトル55kの要素をフェードアウトすることができる。オーディオ復号デバイス24はさらに、環境高次アンビソニックスチャンネル47'に関してフェードイン動作を実行して、環境高次アンビソニックスチャンネル47'をフェードインすることができる。
これらおよび他の例では、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'に対応するベクトル55k''の要素を含むベクトルベースの信号を取得するとき、ベクトル55k''の要素に関するフェード動作が実行される、現在のフレーム、現在のフレームの後のフレーム、または現在のフレームの前のフレームから、ベクトル55k''の要素を決定することができる。
これらおよび他の例では、オーディオ復号デバイス24は、ベクトル55k''に対応するオーディオオブジェクトを取得し、オーディオオブジェクトおよびベクトル55k''の関数として、空間的に調整されたオーディオオブジェクトを生成することができる。オーディオオブジェクトは、補間されたnFG信号49'とも呼ばれ得る、オーディオオブジェクト49'の1つを指し得る。
フォアグラウンド編成ユニット78は、調整されたフォアグラウンドV[k]ベクトル55k'''および補間されたnFG信号49'に関して行列乗算を実行して、フォアグラウンドHOA係数65を生成するように構成される、ユニットを表し得る。フォアグラウンド編成ユニット78は、調整されたフォアグラウンドV[k]ベクトル55k'''によって補間されたnFG信号49'の行列乗算を実行することができる。
HOA係数編成ユニット82は、HOA係数11'を取得するために、フォアグラウンドHOA係数65を調整された環境HOA係数47''と組み合わせるように構成されるユニットを表すことができ、ここで、プライム記号は、HOA係数11'がHOA係数11と類似しているが同じではない可能性があることを反映する。HOA係数11と11'との間の差分は、有損失の送信媒体、量子化、または他の有損失の動作が原因の損失に起因し得る。
図5Aは、本開示において説明されるベクトルベースの合成技法の様々な態様を実行する際の、図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は、環境HOA係数47に関してエネルギー補償を実行して、バックグラウンド選択ユニット48によるHOA係数の様々な1つの削除が原因のエネルギーの損失を補償することができ(114)、それによって、エネルギー補償された環境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を生成することができる。オーディオ符号化デバイス20は次いで、ビットストリーム生成ユニット42を呼び出すことができる。ビットストリーム生成ユニット42は、コーディングされたフォアグラウンド指向性情報57、コーディングされた環境HOA係数59、コーディングされたnFG信号61、およびバックグラウンドチャンネル情報43に基づいて、ビットストリーム21を生成することができる。
図5Bは、本開示において説明される遷移技法を実行する際のオーディオ符号化デバイスの例示的な動作を示すフローチャートである。オーディオ符号化デバイス20は、本開示において説明される遷移技法を実行するように構成されるオーディオ符号化デバイスの一例を表し得る。具体的には、ビットストリーム生成ユニット42は、各環境HOA係数(追加の環境HOA係数を含む)に対する遷移状態情報(図8に関して下でより詳細に説明されるような)を維持することができる。遷移状態情報は、環境HOA係数の各々が3つの状態の1つに現在あるかどうかを示し得る。3つの状態は、フェードイン状態、変化なし状態、およびフェードアウト状態を含み得る。遷移状態情報を維持することで、ビットストリーム生成ユニット42は、1つまたは複数のシンタックス要素がオーディオ復号デバイス24において維持される遷移状態に基づいて導出され得るという点で、ビットのオーバーヘッドを減らすことが可能になり得る。
ビットストリーム生成ユニット42はさらに、トランスポートチャンネル(図7Dおよび図7Eに関して下で論じられるような)の1つにおいて指定される環境HOA係数の1つが遷移中であると、決定することができる(302)。ビットストリーム生成ユニット42は、nFG45およびバックグラウンドチャンネル情報43に基づいて、HOA係数がいつ遷移中であるかを決定することができる。ビットストリーム生成ユニット42は、遷移中であると決定されたHOA係数の1つに対する遷移状態情報を更新することができる(304)。更新された遷移状態情報に基づいて、ビットストリーム生成ユニット42は、環境HOA係数がいつ遷移中かを示すビットを取得することができる(306)。ビットストリーム生成ユニット42は、HOA係数の1つがいつ遷移中かを示すビットを含むように、ビットストリーム21を生成することができる(308)。
ビットストリーム生成ユニット42によって実行されるものとして説明されるが、前述の技法は、任意の組合せユニット44、48、46、および42によって実行され得る。たとえば、音場分析ユニット44は、バックグラウンドチャンネル情報43に基づいて、環境HOA係数の各々に対する遷移状態情報を維持することができる。音場分析ユニット44は、遷移状態情報に基づいて遷移を示すビットを取得し、このビットをビットストリーム生成ユニット42に提供することができる。ビットストリーム生成ユニット42は次いで、遷移を示すビットを含むように、ビットストリーム21を生成することができる。
別の例として、バックグラウンド選択ユニット48は、バックグラウンドチャンネル情報43に基づいて遷移状態情報を維持し、遷移状態情報に基づいて遷移を示すビットを取得することができる。ビットストリーム生成ユニット42は、バックグラウンド選択ユニット48から遷移を示すビットを取得し、遷移を示すビットを含むようにビットストリーム21を生成することができる。
さらに別の例として、係数削減ユニット46は、バックグラウンドチャンネル情報43に基づいて遷移状態情報を維持し、遷移状態情報に基づいて遷移を示すビットを取得することができる。ビットストリーム生成ユニット42は、係数削減ユニット46から遷移を示すビットを取得し、遷移を示すビットを含むようにビットストリーム21を生成することができる。
図6Aは、本開示において説明される技法の様々な態様を実行する際の、図4に示されるオーディオ復号デバイス24のようなオーディオ復号デバイスの例示的な動作を示すフローチャートである。最初に、オーディオ復号デバイス24は、ビットストリーム21を受信することができる(130)。ビットストリームを受信すると、オーディオ復号デバイス24は、抽出ユニット72を呼び出すことができる。議論の目的で、ベクトルベースの再構築が実行されるべきであることをビットストリーム21が示すと仮定すると、抽出ユニット72は、ビットストリームを解析して上で述べられた情報を取り出し、この情報をベクトルベースの再構築ユニット92に渡すことができる。
言い換えると、抽出ユニット72は、コーディングされたフォアグラウンド指向性情報57(やはり、コーディングされたフォアグラウンドV[k]ベクトル57とも呼ばれ得る)、コーディングされた環境HOA係数59、およびコーディングされたフォアグラウンド信号(コーディングされたフォアグラウンドnFG信号59またはコーディングされたフォアグラウンドオーディオオブジェクト59とも呼ばれ得る)を、上で説明された方式でビットストリーム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)。
図6Bは、本開示において説明される遷移技法を実行する際のオーディオ復号デバイスの例示的な動作を示すフローチャートである。図4の例に示されるオーディオ復号デバイス24は、本開示において説明される遷移技法を実行するように構成されるオーディオ復号デバイスの一例を表し得る。
具体的には、フェードユニット770は、環境HOA係数47'の1つがいつ遷移中であるかを示すビット(指示757の形式の、ここで指示757はAmbCoeffTransitionシンタックス要素を表し得る)を取得することができる(352)。フェードユニット770は、遷移を示すビットに基づいて、図8の例に関して下でより詳細に説明される遷移状態情報を維持することができる(354)。遷移状態情報は、環境HOA係数の各々が3つの状態の1つに現在あるかどうかを示し得る。3つの状態は、フェードイン状態、変化なし状態、およびフェードアウト状態を含み得る。
フェードユニット770は、環境HOA係数47'の1つが遷移中であるという指示757に基づいて遷移状態情報を更新することによって少なくとも一部、遷移状態情報を維持することができる。たとえば、フェードユニット770は、環境HOA係数47の1つが変化なしの遷移状態にあることを示す、環境HOA係数47'の1つに対する遷移状態情報を維持することがある。環境HOA係数47'の1つが遷移中であるという指示を取得すると、フェードユニット770は、環境HOA係数47'の1つに対する遷移状態情報を更新して、環境HOA係数47'の1つがフェードアウトされるべきであることを示し得る。別の例として、フェードユニット770は、環境HOA係数47の1つがフェードアウトされたことを示す、環境HOA係数47'の1つに対する遷移状態情報を維持することがある。環境HOA係数47'の1つが遷移中であるという指示を取得すると、フェードユニット770は、環境HOA係数47'の1つに対する遷移状態情報を更新して、環境HOA係数47'の1つがフェードインされるべきであることを示し得る。フェードユニット770は次いで、図4に関して上で説明され図8に関して下でより詳細に説明される方式で、更新された遷移状態情報に基づいて遷移を実行することができる(356)。
図7A〜図7Jは、圧縮された空間成分を指定し得るビットストリームの部分またはサイドチャンネル情報をより詳細に示す図である。図7Aの例では、部分250は、レンダラ識別子(「renderer ID」)フィールド251およびHOADecoderConfigフィールド252(HOAConfigフィールド252とも呼ばれ得る)を含む。レンダラIDフィールド251は、HOAコンテンツの混合物のために使用されてきたレンダラのIDを記憶するフィールドを表し得る。HOADecoderConfigフィールド252は、図4の例に示されるオーディオ復号デバイス24のような、HOA空間デコーダを初期化するための情報を記憶するように構成されるフィールドを表し得る。
HOADecoderConfigフィールド252はさらに、指向性情報(「direction info」)フィールド253、CodedSpatialInterpolationTimeフィールド254、SpatialInterpolationMethodフィールド255、CodedVVecLengthフィールド256、および利得情報フィールド257を含む。指向性情報フィールド253は、指向性ベースの合成デコーダを構成するための情報を記憶するフィールドを表し得る。CodedSpatialInterpolationTimeフィールド254は、ベクトルベースの信号の空間-時間補間の時間を記憶するフィールドを表し得る。SpatialInterpolationMethodフィールド255は、ベクトルベースの信号の空間-時間補間の間に適用される補間のタイプの指示を記憶するフィールドを表し得る。CodedVVecLengthフィールド256は、ベクトルベースの信号を合成するために使用される、送信されるデータベクトルの長さを記憶するフィールドを表し得る。利得情報フィールド257は、信号に適用される利得の修正を示す情報を記憶するフィールドを表す。
図7Bの例では、部分258Aはサイド情報チャンネルの一部分を表し、ここでこの部分258Aは、バイト数フィールド260とnbitsフィールド261とを含むフレームヘッダ259を含む。バイト数フィールド260は、バイト整列フィールド264のための0を含む、空間成分v1からvnを指定するためにフレームに含まれるバイトの数を表現するためのフィールドを表し得る。nbitsフィールド261は、空間成分v1〜vnを展開する際に使用するために特定されるnbits値を指定することができるフィールドを表す。
図7Bの例にさらに示されるように、部分258Aは、v1〜vnのためのサブビットストリームを含んでよく、それらの各々が、予測モードフィールド262、ハフマンテーブル情報フィールド263、および圧縮される空間成分v1〜vnの対応する1つを含む。予測モードフィールド262は、圧縮された空間成分v1〜vnの対応する1つに関して予測が実行されたかどうかの指示を記憶するためのフィールドを表し得る。ハフマンテーブル情報フィールド263は、どのハフマンテーブルが圧縮された空間成分v1〜vnの対応する1つの様々な態様を復号するために使用されるべきかを少なくとも一部示すためのフィールドを表す。
この点において、本技法は、オーディオ符号化デバイス20が、音場の空間成分の圧縮されたバージョンを備えるビットストリームを取得することを可能にでき、空間成分は、複数の球面調和係数に関してベクトルベースの合成を実行することによって生成される。
図7Cは、ビットストリーム21の部分250を示す図である。図7Cの例に示される部分250は、HOAOrderフィールド(図示を簡単にするために図7Aの例には示されなかった)、MinAmbHOAorderフィールド(やはり図示を簡単にするために図7Aの例には示されなかった)、指向性情報フィールド253、CodedSpatialInterpolationTimeフィールド254、SpatialInterpolationMethodフィールド255、CodedVVecLengthフィールド256、および利得情報フィールド257を含む。図7Cの例に示されるように、CodedSpatialInterpolationTimeフィールド254は3ビットのフィールドを備えてよく、SpatialInterpolationMethodフィールド255は1ビットのフィールドを備えてよく、CodedVVecLengthフィールド256は2ビットのフィールドを備えてよい。図7Dは、本開示において説明される技法の様々な態様に従って指定される例示的なフレーム249Qおよび249Rを示す図である。図7Dの例に示されるように、フレーム249Qは、ChannelSideInfoData(CSID)フィールド154〜154D、HOAGainCorrectionData(HOAGCD)フィールド、VVectorDataフィールド156Aおよび156B、ならびにHOAPredictionInfoフィールドを含む。CSIDフィールド154Aは、unitCシンタックス要素(「unitC」)267、bbシンタックス要素(「bb」)266、およびbaシンタックス要素(「ba」)265を、ChannelTypeシンタックス要素(「ChannelType」)269とともに含み、これらの各々が、図7Dの例に示される対応する値01、1、0、および01に設定される。CSIDフィールド154Bは、unitC267、bb266、およびba265を、ChannelType269とともに含み、これらの各々が、図7Dの例に示される対応する値01、1、0、および01に設定される。CSIDフィールド154Cおよび154Dの各々は、3(112)という値を有するChannelTypeフィールド269を含む。CSIDフィールド154A〜154Dの各々は、トランスポートチャンネル1、2、3、および4のそれぞれ1つに対応する。実質的に、各CSIDフィールド154A〜154Dは、対応するペイロードが指向性ベースの信号である(対応するChannelTypeが0に等しいとき)か、ベクトルベースの信号である(対応するChannelTypeが1に等しいとき)か、追加の環境HOA係数である(対応するChannelTypeが2に等しいとき)か、または空である(ChannelTypeが3に等しいとき)かを示す。
図7Dの例では、フレーム249Qは、(ChannelType269がCSIDフィールド154Aおよび154Bにおいて1に等しいとすれば)2つのベクトルベースの信号を含み、(ChannelType269がCSIDフィールド154Cおよび154Dにおいて3に等しいとすれば)2つの空を含む。前述のHOAconfig部分250を仮定すると、オーディオ復号デバイス24は、すべての16個のVベクトル要素が符号化されると決定することができる。したがって、VVectorData156Aおよび156Bは各々、すべての16個のベクトル要素を含み、これらの各々が8ビットによって一様に量子化される。コーディングされたVVectorData要素の数およびインデックスは、パラメータCodedVVecLength = 0によって指定される。その上、コーディング方式は、対応するトランスポートチャンネルのためのCSIDフィールドにおいてNbitsQ = 5によってシグナリングされる。
フレーム249Qおよび249Rはまた、HOA独立性フラグ(「hoaIndependencyFlag」)860を含む。HOA独立性フラグ860は、フレームが即時再生フレームであるかどうかを指定するフィールドを表す。フィールド860の値が1に設定されるとき、フレーム249Qおよび/または249Rは、他のフレームを参照することなく独立に復号可能であり得る(フレームを復号するために予測が必要とされないことがあることを意味する)。フィールド860の値が0に設定されるとき、フレーム249Qおよび/または249Rは、独立に復号可能ではないことがある(上で説明された様々な値の予測が他のフレームから予測され得ることを意味する)。その上、図7の例に示されるように、フレーム249QはHOAPredictionInfoフィールドを含まない。したがって、HOAPredictionInfoフィールドは、ビットストリーム中の任意選択のフィールドを表し得る。
図7Eは、本開示において説明される技法の様々な態様に従って指定される例示的なフレーム249Sおよび249Tを示す図である。フレーム249Sは、HOA独立性フラグ860が0に設定され、前のフレームから再使用されるトランスポート番号2のためのNbitsシンタックス要素(これは図7Eの例では5であると仮定される)のunitC部分に関して予測が行われるような例を表し得ることを除き、フレーム249Qと同様であり得る。フレーム249Tはまた、HOA独立性フラグ860の1つの値を有することを除き、フレーム249Qと同様であり得る。この例では、Nbits Q値のunitC部分が、フレーム249Sの例のように前のフレームから再使用されていることが仮定される。しかしながら、HOA独立性フラグ(シンタックス要素としても示され得る)が1に設定されるので、オーディオ符号化デバイス20は、フレーム249Sが前の値(たとえば、前のフレームからのNbitsフィールド261のunitC部分)を参照することなく独立に復号され得るように、第2のトランスポートチャンネルのためのNbitsシンタックス要素261全体を指定する。
また、HOA独立性フラグが1に設定されるので(フレーム249Tが前のフレームを参照することなく独立に復号可能であるべきであることを意味する)、オーディオ符号化デバイス20は、独立に復号可能なフレームに対して予測が許可されないので、スカラー量子化のために使用される予測フラグをシグナリングしなくてよい(これは、本開示で論じられるような「即時再生フレーム」を参照するための別の方法を表し得る)。言い換えると、HOA独立性フラグシンタックス要素860が1に設定されるとき、オーディオ符号化デバイス20は予測フラグをシグナリングしなくてよく、それは、オーディオ復号デバイス24が、HOA独立性フラグシンタックス要素860の値に基づいて、スカラー量子化の目的での予測が無効にされていると決定し得るからである。
図7Fは、上の擬似コードにおけるcase 1に対応するように生成されている、第2の例示的なビットストリーム248Kおよび付随するHOA config部分250Kを示す図である。図7Fの例では、HOAconfig部分250Kは、要素1から、MinNumOfCoeffsForAmbHOAシンタックス要素およびContAddAmbHoaChanシンタックス要素(この例では1であると仮定される)において指定される要素までを除いて、Vベクトルのすべての要素がコーディングされることを示すように設定されるCodedVVecLengthシンタックス要素256を含む。HOAconfig部分250Kはまた、空間-時間補間の補間関数が二乗余弦であることを示すように設定されるSpatialInterpolationMethodシンタックス要素255を含む。その上、HOAconfig部分250Kは、256という補間されたサンプル期間を示すように設定されるCodedSpatialInterpolationTime254を含む。
HOAconfig部分250Kはさらに、環境HOAコンテンツのMinimumHOA次数が1であることを示すように設定されるMinAmbHOAorderシンタックス要素150を含み、ここでオーディオ復号デバイス24は、(1+1)2すなわち4に等しいものとしてMinNumofCoeffsForAmbHOAシンタックス要素を導出することができる。オーディオ復号デバイス24はまた、NumOfHoaCoeffシンタックス要素とMinNumOfCoeffsForAmbHOAとの間の差分に設定されるものとしてMaxNoOfAddActiveAmbCoeffsシンタックス要素を導出することができ、MaxNoOfAddActiveAmbCoeffsシンタックス要素はこの例では16-4すなわち12に等しいと仮定される。オーディオ復号デバイス24はまた、ceil(log2(MaxNoOfAddActiveAmbCoeffs)) = ceil(log2(12)) = 4に設定されるものとしてAmbAsignmBitsシンタックス要素を導出することができる。HOAconfig部分250Kは、3に等しいものとしてコンテンツのHOA次数を示す(または言い換えると、N = 3)ように設定されるHoaOrderシンタックス要素152を含み、ここでオーディオ復号デバイス24は、(N + 1)2または16に等しいものとしてNumOfHoaCoeffsを導出することができる。
図7Fの例にさらに示されるように、部分248KはUSAC-3Dオーディオフレームを含み、USAC-3Dオーディオフレームにおいて、スペクトル帯域複製(SBR)が有効にされるときに2つのオーディオフレームが1つのUSAC-3Dフレーム内に記憶されるとすれば、2つのHOAフレーム249Gおよび249HがUSAC拡張ペイロードに記憶される。オーディオ復号デバイス24は、numHOATransportChannelsシンタックス要素およびMinNumOfCoeffsForAmbHOAシンタックス要素の関数として、フレキシブルなトランスポートチャンネルの数を導出することができる。以下の例では、numHOATransportChannelsシンタックス要素が7に等しく、MinNumOfCoeffsForAmbHOAシンタックス要素が4に等しいことが仮定され、ここで、フレキシブルなトランスポートチャンネルの数は、numHOATransportChannelsシンタックス要素からMinNumOfCoeffsForAmbHOAシンタックス要素(または3)を引いたものに等しい。
図7Gは、フレーム249Gおよび249Hをより詳細に示す図である。図7Gの例に示されるように、フレーム249Gは、CSIDフィールド154A〜154CおよびVVectorDataフィールド156を含む。CSIDフィールド154はCodedAmbCoeffIdx246、AmbCoeffIdxTransition247(ここでダブルアスタリスク(**)は、フレキシブルなトランスポートチャンネル番号1に対して、デコーダの内部状態がここではAmbCoeffIdxTransitionState = 2であると仮定されることを示し、これにより、CodedAmbCoeffIdxビットフィールドがシグナリングされるようになり、またはビットストリームにおいて別様に指定されるようになる)、およびChannelType269(これは2に等しく、対応するペイロードが追加の環境HOA係数であることをシグナリングする)を含む。オーディオ復号デバイス24は、この例では、CodedAmbCoeffIdx + 1 + MinNumOfCoeffsForAmbHOAすなわち5に等しいものとして、AmbCoeffIdxを導出することができる。CSIDフィールド154Bは、unitC267、bb266、およびba265を、ChannelType269とともに含み、これらの各々が、図10K(ii)の例に示される対応する値01、1、0、および01に設定される。CSIDフィールド154Cは、3という値を有するChannelTypeフィールド269を含む。
図7Gの例では、フレーム249Gは、(ChannelType269がCSIDフィールド154Bにおいて1に等しいとすれば)単一のベクトルベースの信号を含み、(ChannelType269がCSIDフィールド154Cにおいて3に等しいとすれば)空を含む。前述のHOAconfig部分250Kを仮定すると、オーディオ復号デバイス24は、11個のVベクトル要素が符号化されると決定することができる(ここで、11は、(HOAOrder + 1)2 - (MinNumOfCoeffsForAmbHOA) - (ContAddAmbHoaChan) = 16-4-1 = 11として導出される)。したがって、VVectorData156は、各々が8ビットによって一様に量子化される、すべての11個のベクトル要素を含む。脚注1によって示されるように、コーディングされたVVectorData要素の数およびインデックスは、パラメータCodedVVecLength = 0によって指定される。その上、脚注2によって示されるように、コーディング方式は、対応するトランスポートチャンネルのためのCSIDフィールドにおいてNbitsQ = 5によってシグナリングされる。
フレーム249Hにおいて、CSIDフィールド154は、遷移が発生していないことを示すAmbCoeffIdxTransition247を含むので、CodedAmbCoeffIdx246は、前のフレームから暗示されることが可能であり、シグナリングされる必要はなく、または別様に再び指定される必要はない。フレーム249HのCSIDフィールド154Bおよび154Cは、フレーム249Gのそれらと同じであるので、フレーム249Gのように、フレーム249Hは、各々が8ビットによって一様に量子化される10個のベクトル要素を含む単一のVVectorDataフィールド156を含む。トランスポートチャンネル番号1において指定される環境HOA係数がもはや遷移中ではなく、結果としてContAddAmbHoaChanの数が2に等しいので、オーディオ符号化デバイス20は10個のベクトル要素を指定するだけである。したがって、オーディオ符号化デバイス20は、指定すべきVベクトル要素の数が(HOAOrder + 1)2 - (MinNumOfCoeffsForAmbHOA) - (ContAddAmbHoaChan) = 16-4-2 = 10であると決定する。
図7Fおよび図7Gの例は、Vベクトルのためのコーディングモードの1つに従って構築されるビットストリーム21を表すが、ビットストリーム21の様々な他の例は、Vベクトルのための他のコーディングモードに従って構築され得る。さらなる例が、上で述べられた国際特許出願公開第2014/194099号に関してより詳細に論じられている。
図7Hは、本開示において説明される技法の様々な態様に従ってhoaIndependencyFlagが1に設定される、フレーム249Hの代替的な例を示す図である。249Hの代替的なフレームは、フレーム249H'として示される。HOAIndependencyFlagシンタックス要素860が1に設定されるとき、フレーム249H'は、以下でより詳細に論じられるように、即時再生フレーム(IPF)を表し得る。結果として、オーディオ符号化デバイス20は、CSIDフィールド154Aおよび154Cにおいて追加のシンタックス要素を指定することができる。追加のシンタックス要素は、過去のシンタックス要素に基づいて、オーディオ復号デバイス24によって維持される状態情報を提供することができる。しかしながら、IPF249H'の状況では、オーディオ復号デバイス24は状態情報を有しないことがある。結果として、オーディオ符号化デバイス20は、CSIDフィールド154Aおよび154Cの各々のAmbCoeffIdxTransitionシンタックス要素247によってシグナリングされる現在の遷移をオーディオ復号デバイス24が理解することを可能にするために、CSIDフィールド154Aおよび154CにおいてAmbCoeffTransitionStateシンタックス要素400を指定する。
図7Iは、本明細書で説明される技法に従って、少なくとも1つのビットストリームの1つまたは複数のチャンネルのための例示的なフレームを示す図である。ビットストリーム808は、1つまたは複数のチャンネルを各々含み得るフレーム810A〜810Eを含み、ビットストリーム808は、IPFを含めるために、本明細書において説明される技法に従って修正されるビットストリーム21の任意の組合せを表し得る。フレーム810A〜810Eは、それぞれのアクセスユニットに含まれてよく、「アクセスユニット810A〜810E」と代替的に呼ばれることがある。
示される例では、即時再生フレーム(IPF)816は、独立フレーム810Eとともに、状態情報812としてIPF816において表される前のフレーム810B、810C、および810Dからの状態情報を含む。すなわち、状態情報812は、IPF816において表される前のフレーム810B、810C、および810Dを処理することから状態機械402によって維持される状態を含み得る。状態情報812は、ビットストリーム808内のペイロード拡張を使用して、IPF816内で符号化され得る。状態情報812は、デコーダの始動遅延を補償して、独立フレーム810Eの正確な復号を可能にするようにデコーダ状態を内部的に構成することができる。この理由で、状態情報812は、代替的かつ総称的に独立フレーム810Eのための「プリロール」と呼ばれ得る。様々な例において、デコーダの始動遅延を補償するためにより多数または少数のフレームがデコーダによって使用されることが可能であり、デコーダの始動遅延はフレームのための状態情報812の量を決定する。独立フレーム810Eは、フレーム810Eが独立に復号可能であるという点で独立である。結果として、フレーム810Eは、「独立に復号可能なフレーム810」と呼ばれ得る。結果として、独立フレーム810Eは、ビットストリーム808のためのストリームアクセスポイントを構成し得る。
状態情報812はさらに、ビットストリーム808の始めに送信され得るHOAconfigシンタックス要素を含み得る。状態情報812は、たとえば、ビットストリーム808のビットレート、またはビットストリーム切替えもしくはビットレート適合のために使用可能な他の情報を記述し得る。状態情報814のどの部分が含み得るかの別の例が、図7Cの例に示されるHOAconfigシンタックス要素である。この点において、IPF816は状態のないフレームを表すことができ、このフレームはある意味では過去の記憶を有しないことがある。言い換えると、独立フレーム810Eは、状態のないフレームを表すことができ、このフレームは(状態が状態情報812に関して提供されるので)いずれの前の状態とも無関係に復号され得る。
オーディオ符号化デバイス20は、独立フレームであるとしてフレーム810Eを選択すると、従属的に復号可能なフレームから独立に復号可能なフレームへとフレーム810Eを遷移させるプロセスを実行することができる。このプロセスは、フレーム中の遷移状態情報を含む状態情報812を指定することを伴ってよく、この状態情報は、フレームの符号化されたオーディオデータのビットストリームが、ビットストリームの前のフレームを参照せずに復号され再生されることを可能にする。
デコーダ24のようなデコーダは、IPF816におけるビットストリーム808にランダムにアクセスすることができ、状態情報812を復号してデコーダ状態および(たとえば、デコーダ側の状態機械402の)バッファを初期化すると、独立フレーム810Eを復号してHOA係数の圧縮されたバージョンを出力することができる。状態情報812の例は、次の表において規定されるシンタックス要素を含み得る。
デコーダ24は、状態情報812からの前述のシンタックス要素を解析して、NbitsQシンタックス要素の形式の量子化状態情報、PFlagシンタックス要素の形式の予測状態情報、およびAmbCoeffTransitionStateシンタックス要素の形式の遷移状態情報の1つまたは複数を取得することができる。デコーダ24は、解析された状態情報812によって状態機械402を構成して、フレーム810Eが独立に復号されることを可能にし得る。デコーダ24は、独立フレーム810Eの復号の後で、フレームの通常の復号を継続することができる。
本明細書で説明される技法によれば、オーディオ符号化デバイス20は、他のフレーム810とは異なるようにIPF816の独立フレーム810Eを生成して、独立フレーム810Eにおける即時の再生、ならびに/または、独立フレーム810Eにおけるビットレートおよび/もしくは有効にされたツールの異なる同じコンテンツの複数のオーディオ表現の間での切替えを可能にするように構成され得る。より具体的には、ビットストリーム生成ユニット42は、状態機械402を使用して状態情報812を維持することができる。ビットストリーム生成ユニット42は、1つまたは複数の環境HOA係数のための状態機械402を構成するために使用される状態情報812を含むように、独立フレーム810Eを生成することができる。ビットストリーム生成ユニット42はさらに、または代替的に、たとえば、ビットストリーム808の他の非IPFフレームよりもフレームサイズを低減するために、量子化情報および/または予測情報を異なるように符号化するように独立フレーム810Eを生成することができる。やはり、ビットストリーム生成ユニット42は、状態機械402の形式で量子化状態を維持することができる。加えて、ビットストリーム生成ユニット42は、フレームがIPFであるかどうかを示すフラグまたは他のシンタックス要素を含むように、フレーム810A〜810Eの各フレームを符号化することができる。このシンタックス要素は、本開示の他の箇所ではIndependencyFlagまたはHOAIndependencyFlagと呼ばれ得る。
この点において、本技法の様々な態様は、一例では、オーディオ符号化デバイス20のビットストリーム生成ユニット42が、(環境高次アンビソニックス係数47'の1つのような)高次アンビソニックス係数を含む(ビットストリーム21のような)ビットストリームにおいて、高次アンビソニックス係数47'のための独立フレーム(図7Iの例における独立フレーム810Eのような)のための遷移情報757を(たとえば状態情報812の一部として)指定することを可能にし得る。独立フレーム810Eは、高次アンビソニックス係数47'の前のフレーム(たとえば、フレーム810A〜810D)を参照せずに独立フレームが復号され直ちに再生されることを可能にするために、追加の参照情報(状態情報812を指し得る)を含み得る。直ちにまたは即時に再生されるものとして説明されるが、直ちにまたは即時にという用語は、ほぼ直ちに再生されること、続いて再生されること、またはほぼ即時に再生されることを指し、「直ちに」または「即時に」の文字通りの定義を指すことは意図されていない。その上、これらの用語の使用は、現在の規格と新興の規格の両方の様々な規格にわたって使用される言葉遣いを採用する目的で行われている。
これらのおよび他の例では、遷移情報757は、高次アンビソニックス係数47'がフェードアウトされるかどうかを指定する。上で述べられたように、遷移情報757は、高次アンビソニックス係数47'がフェードアウトされているかフェードインされているかを特定することができ、したがって、高次アンビソニックス係数47'が音場の様々な態様を表すために使用されるかどうかを特定することができる。いくつかの例では、ビットストリーム生成ユニット42は、様々なシンタックス要素として遷移情報757を指定する。これらのおよび他の例では、遷移情報757は、高次アンビソニックス係数47'が遷移のためにフェードアウトされるべきであるかどうかを指定するために、高次アンビソニックス係数47'のためのAmbCoeffWasFadedInフラグまたはAmbCoeffTransitionStateシンタックス要素を備える。これらのおよび他の例では、遷移情報は、高次アンビソニックス係数47'が遷移中であることを指定する。
これらのおよび他の例では、遷移情報757は、高次アンビソニックス係数47'が遷移中であることを指定するためにAmbCoeffIdxTransitionフラグを備える。
これらのおよび他の例では、ビットストリーム生成ユニット42はさらに、高次アンビソニックス係数47'に対応するベクトルの要素(削減されたフォアグラウンドV[k]ベクトル55の1つのような)を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を生成するように構成され得る。ベクトル55は、音場の明瞭な成分の空間的な側面を記述することができ、音場を記述する高次アンビソニックス係数11から分解されていることがあり、ここでフレームはベクトルベースの信号を備える。
これらのおよび他の例では、ビットストリーム生成ユニット42はさらに、ストリーミングプロトコルを介してフレームを出力するように構成され得る。
本技法の様々な態様はまた、いくつかの例では、高次アンビソニックス係数47'のためのフレームが、高次アンビソニックス係数47'の前のフレーム810A〜810Dを参照せずにフレームが復号され直ちに再生されることを可能にするための追加の参照情報(たとえば、状態情報812)を含む独立フレームであるかどうかを、ビットストリーム生成ユニット42が、高次アンビソニックス係数47'を含むビットストリーム21において、(たとえば、HOAIndependencyFlagシンタックス要素を指定することによって)指定することを可能にし得る。ビットストリーム生成ユニット42はまた、ビットストリーム21において、かつフレームが独立フレームでないときだけ、高次アンビソニックス係数47'の前のフレームを参照してフレームを復号するための、フレームのための予測情報(たとえば、Pflagシンタックス要素)を指定することができる。
これらおよび他の例では、ビットストリーム生成ユニット42はさらに、ビットストリーム21において、かつフレームが独立フレームであるときに、高次アンビソニックス係数47'の前のフレームのための量子化情報を参照せずにフレームが復号され直ちに再生されることを可能にするのに十分な、フレームのための量子化情報(たとえば、NbitsQシンタックス要素)を指定するように構成される。ビットストリーム生成ユニット42はまた、ビットストリーム21において、かつフレームが独立フレームではないときに、高次アンビソニックス係数47'の前のフレームのための量子化情報を参照せずにフレームが復号され直ちに再生されることを可能にするには不十分な、フレームのための量子化情報を指定することができる。
これらおよび他の例では、フレームのための量子化情報は、高次アンビソニックスチャンネルの前のフレームのための量子化情報を参照せずにフレームが復号され直ちに再生されるのを可能にするのに十分な、フレームのためのNbitsシンタックス要素を含む。
これらおよび他の例では、ビットストリーム生成ユニット42はさらに、高次アンビソニックス係数47'に対応するベクトル(ベクトル55のような)の要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を生成するように構成され、このベクトルは、音場の明瞭な成分の空間的な側面を記述し、音場を記述する高次アンビソニックス係数11から分解されたものである。この例では、フレームはベクトルベースの信号を備える。
これらのおよび他の例では、ビットストリーム生成ユニット42はさらに、ストリーミングプロトコルを介してフレームを出力するように構成される。
本技法の様々な態様はまた、いくつかの例では、高次アンビソニックス係数47'のためのフレームが、高次アンビソニックス係数47'の前のフレームを参照せずにフレームが復号され直ちに再生されることを可能にするための追加の参照情報を含む独立フレームであることを、ビットストリーム生成ユニット42が、高次アンビソニックス係数47'を含むビットストリーム21において指定することを可能にし得る。
これらおよび他の例では、ビットストリーム生成ユニット42は、高次アンビソニックス係数47'のためのフレームが独立フレーム810Eであることを指定するとき、ビットストリーム21において、フレームが独立フレーム810Eであることを示すIndependencyFlagシンタックス要素をシグナリングするように構成される。
その上、本技法の様々な態様は、オーディオ復号デバイス24が、高次アンビソニックス係数47を含むビットストリーム21を使用して、高次アンビソニックス係数47'のための独立フレームのための遷移情報(図4の例に示される遷移情報757のような)を取得するように構成されることを可能にし得る。独立フレームは、高次アンビソニックス係数47'の前のフレームを参照せずに独立フレームが復号され再生されることを可能にするために、状態情報812を含み得る。
これらのおよび他の例では、遷移情報757は、高次アンビソニックス係数47'が遷移のためにフェードアウトされるべきかどうかを指定する。
これらのおよび他の例では、遷移情報757は、高次アンビソニックス係数47'が遷移のためにフェードアウトされるべきであるかどうかを指定するために、高次アンビソニックスチャンネルのためのAmbCoeffWasFadedInフラグを備える。
これらのおよび他の例では、オーディオ復号デバイス24は、高次アンビソニックス係数47'が遷移のためにフェードアウトされるべきであることを遷移情報757が指定していると、決定するように構成され得る。オーディオ復号デバイス24はまた、高次アンビソニックス係数47'が遷移のためにフェードアウトされるべきであることを遷移情報757が指定していると決定したことに応答して、高次アンビソニックス係数47'に関するフェードアウト動作を実行するように構成され得る。
これらのおよび他の例では、遷移情報757は、高次アンビソニックス係数47'が遷移中であることを指定する。
これらのおよび他の例では、遷移情報757は、高次アンビソニックス係数47'が遷移中であることを指定するためにAmbCoeffTransitionフラグを備える。
これらのおよび他の例では、オーディオ復号デバイス24は、高次アンビソニックス係数47'に対応するベクトル55k"の要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を取得するように構成され得る。上で述べられたように、ベクトル55k"は、音場の明瞭な成分の空間的な側面を記述することができ、音場を記述する高次アンビソニックス係数11から分解されていることがある。オーディオ復号デバイス24はまた、高次アンビソニックス係数47'がフェードアウトされるべきであることを遷移情報757が指定していると、決定するように構成され得る。オーディオ復号デバイス24はまた、高次アンビソニックス係数47が遷移のためにフェードアウトされるべきであることを遷移情報757が指定していると決定したことに応答して、高次アンビソニックスチャンネル47に対応するベクトル55k''の要素に関してフェードアウト動作を実行して、高次アンビソニックス係数47'のためのフレームまたは後続のフレームを使用してベクトル55k''の要素をフェードアウトするように構成され得る。
これらのおよび他の例では、オーディオ復号デバイス24はさらに、ストリーミングプロトコルを介してフレームを出力するように構成され得る。
本技法の様々な態様はまた、高次アンビソニックス係数47'のためのフレームが、高次アンビソニックス係数47'の前のフレーム810A〜810Dを参照せずにフレームが復号され再生されることを可能にするための追加の参照情報(たとえば、状態情報812)を含む独立フレームであるかどうかを、オーディオ復号デバイス24が、高次アンビソニックス係数47'を含むビットストリーム21を使用して決定するように構成されることを可能にし得る。オーディオ復号デバイス24はまた、ビットストリーム21から、かつフレームが独立フレームではないと決定したことだけに応答して、高次アンビソニックス係数47'の前のフレームを参照してフレームを復号するための、フレームのための予測情報(たとえば、状態情報812からの)を取得するように構成され得る。
これらのおよび他の例では、オーディオ復号デバイス24は、高次アンビソニックス係数47'に対応するベクトル55k''の要素を含む音場の1つまたは複数の明瞭な成分を表すベクトルベースの信号を取得するように構成され得る。ベクトル55k''は、音場の明瞭な成分の空間的な側面を記述することができ、音場を記述する高次アンビソニックス係数11から分解されていることがある。オーディオ復号デバイス24はまた、予測情報を使用してベクトルベースの信号を復号するように構成され得る。
これらおよび他の例では、オーディオ復号デバイス24は、ビットストリーム21を使用して、かつフレームが独立フレームである場合に、前のフレームのための量子化情報を参照せずにフレームが復号され再生されることを可能にするのに十分な、フレームのための量子化情報(たとえば、状態情報812からの)を取得するように構成され得る。オーディオ復号デバイス24はまた、ビットストリーム21を使用して、かつフレームが独立フレームではない場合に、前のフレームのための量子化情報を参照せずにフレームが復号され再生されることを可能にするには不十分な、フレームのための量子化情報を取得するように構成され得る。オーディオ復号デバイス24はまた、量子化情報を使用してフレームを復号するように構成され得る。
これらおよび他の例では、フレームのための量子化情報は、前のフレームのための量子化情報を参照せずにフレームが復号され再生されることを可能にするのに十分な、フレームのためのNbitsシンタックス要素を含む。
これらのおよび他の例では、オーディオ復号デバイス24はさらに、ストリーミングプロトコルを介してフレームを出力するように構成され得る。
本技法の様々な態様はさらに、高次アンビソニックス係数47'のためのフレームが、前のフレームを参照せずにフレームが復号され再生されることを可能にするための追加の参照情報(たとえば、状態情報812)を含む独立フレームであることを、オーディオ復号デバイス24が、高次アンビソニックス係数47'を含むビットストリーム21を使用して決定するように構成されることを可能にし得る。
これらおよび他の例では、高次アンビソニックスチャンネルのためのフレームが独立フレームであると決定するとき、オーディオ復号デバイス24は、ビットストリーム21を使用して、フレームが独立フレームであることを示すIndependencyFlagシンタックス要素を取得することができる。
図7Jは、本明細書で説明される技法に従って、少なくとも1つのビットストリームの1つまたは複数のチャンネルのための例示的なフレームを示す図である。ビットストリーム450は、1つまたは複数のチャンネルを各々含み得るフレーム810A〜810Hを含む。ビットストリーム450は、図7A〜図7Hの例に示されるビットストリーム21の任意の組合せを表し得る。ビットストリーム450は、ビットストリーム450がIPFを含まないことを除き、ビットストリーム808と実質的に同様であり得る。結果として、オーディオ復号デバイス24は、状態情報を維持し、現在のフレームkをどのように復号するかを決定するために状態情報を更新する。オーディオ復号デバイス24は、構成814およびフレーム810B〜810Dからの状態情報を利用することができる。フレーム810EとIPF816の違いは、フレーム810Eが前の状態情報を含まないのに対して、IFP816は前の状態情報を含むということである。
言い換えると、オーディオ符号化デバイス20は、たとえば、ビットストリーム生成ユニット42が状態機械402に基づいてフレーム810A〜810Eの各々のためのシンタックス要素を指定し得るという点でフレーム810A〜810Eの各々を符号化するための状態情報を維持する、状態機械402を、ビットストリーム生成ユニット42内に含み得る。
オーディオ復号デバイス24は同様に、ビットストリーム抽出ユニット72内で、たとえば、状態機械402に基づいてシンタックス要素(その一部はビットストリーム21においては明示的に指定されない)を出力する同様の状態機械402を含み得る。オーディオ復号デバイス24の状態機械402は、オーディオ符号化デバイス20の状態機械402と同様の方式で動作することができる。したがって、オーディオ復号デバイス24の状態機械402は、状態情報を維持し、構成814と、図7Jの例ではフレーム810B〜810Dの復号とに基づいて、状態情報を更新することができる。状態情報に基づいて、ビットストリーム抽出ユニット72は、状態機械402によって維持される状態情報に基づいて、フレーム810Eを抽出することができる。状態情報は、オーディオ符号化デバイス20がフレーム810Eの様々なトランスポートチャンネルを復号するときに利用し得る、いくつかの暗黙的なシンタックス要素を提供することができる。
図8は、図4の例に示されるオーディオ復号デバイス24のようなオーディオ復号デバイスが本開示において説明される技法を適用できる、オーディオチャンネル800A〜800Eを示す図である。図8の例に示されるように、バックグラウンドチャンネル800Aは、(n+1)2個のあり得るHOA係数の4番目である環境HOA係数を表す。フォアグラウンドチャンネル800Bおよび800Dはそれぞれ、第1のVベクトルおよび第2のVベクトルを表す。バックグラウンドチャンネル800Cは、(n+1)2個のあり得るHOA係数の2番目である環境HOA係数を表す。バックグラウンドチャンネル800Eは、(n+1)2個のあり得るHOA係数の5番目である環境HOA係数を表す。
図8の例においてさらに示されるように、フォアグラウンドチャンネル800Dの中のベクトルの要素がフレーム14の間にフェードインして、ビットストリームの復号の間にバックグラウンドチャンネル800Aの中の環境HOA係数4を置き換える間に、バックグラウンドチャンネル800Aの中の環境HOA係数4は、フレーム13の間に遷移(フェードアウト)の期間を経る。チャンネル800A〜800Eの1つがチャンネル800A〜800Eの別の1つを置き換えるという文脈での「置き換える」という用語への言及は、オーディオ符号化デバイス20がフレキシブルなトランスポートチャンネルを有するようにビットストリーム21を生成するような例を指す。
説明するために、図8の3つの行の各々がトランスポートチャンネルを表し得る。トランスポートチャンネルの各々は、トランスポートチャンネルが現在指定している符号化されているオーディオデータのタイプに応じて、バックグラウンドチャンネルまたはフォアグラウンドチャンネルと呼ばれ得る。たとえば、トランスポートチャンネルが最小の環境HOA係数または追加の環境HOA係数の1つを指定しているとき、トランスポートチャンネルはバックグラウンドチャンネルと呼ばれ得る。トランスポートチャンネルがVベクトルを指定しているとき、トランスポートチャンネルはフォアグラウンドチャンネルと呼ばれ得る。したがって、トランスポートチャンネルは、バックグラウンドチャンネルとフォアグラウンドチャンネルの両方を指し得る。この点において、フォアグラウンドチャンネル800Dは、第1のトランスポートチャンネルのフレーム14においてバックグラウンドチャンネル800Aを置き換えるものとして記述され得る。バックグラウンドチャンネル800Eも、第3のトランスポートチャンネルのフレーム13においてバックグラウンドチャンネル800Cを置き換えるものとして記述され得る。3つのトランスポートチャンネルに関して説明されるが、ビットストリーム21は、0個のトランスポートチャンネルから、2つ、3つ、またはさらに多数のトランスポートチャンネルを含む、任意の数のトランスポートチャンネルを含み得る。したがって、本技法はこの点において限定されるべきではない。
いずれにしても、図8の例はまた、以下でより詳細に説明されるような、フレーム12、13、および14におけるフォアグラウンドチャンネル800Bのベクトルの要素の変化と、フレームの間のベクトル長の変化とを全般に示す。バックグラウンドチャンネル800Cにおける環境HOA係数2は、フレーム12の間に遷移を経る。バックグラウンドチャンネル800Eにおける環境HOA係数5は、フレーム13の間に遷移を経て(フェードインし)、ビットストリームの復号の間にバックグラウンドチャンネル800Cにおける環境HOA係数2を置き換える。
遷移の上で説明された期間において、オーディオ符号化デバイス20は、それぞれの環境チャンネル800A、800C、および800Eの各々がそれぞれのフレーム13、12、および13において遷移していることを示すために、チャンネル800A、800C、800D、および800Eの各々に対して1という値を伴うAmbCoeffTransitionフラグ757をビットストリームにおいて指定することができる。AmbCoeffTransitionModeの前の状態を仮定すると、オーディオ符号化デバイス20はしたがって、それぞれの係数がビットストリームから出るように遷移している(または言い換えるとフェードアウトしている)か、またはビットストリームに入るように遷移している(または言い換えるとフェードインしている)かいずれかを示すために、AmbCoeffTransitionフラグ757をオーディオ復号デバイス24に提供することができる。
オーディオ復号デバイス24は次いで、ビットストリーム中のチャンネル800を特定し、以下でより詳細に論じられるようなフェードイン動作とフェードアウト動作のいずれかを実行するために、上で論じられたように動作することができる。
その上、様々な環境チャンネル800A、800C、および800Eのフェードインおよびフェードアウトの結果として、あるベクトル量子化において、オーディオ符号化デバイス20は、図3の例に示されるオーディオ符号化デバイス20に関して上で説明されたように、削減された数の要素を使用して、フォアグラウンドチャンネル800Bおよび800Eの中のVベクトルを指定することができる。オーディオ復号デバイス24は、4つの異なる再構築モードに関して動作することができ、これらのモードの1つは、Vベクトル要素からのエネルギーが背後にある環境HOA係数へと組み込まれているとき、そのVベクトル要素の削減を伴い得る。上記は一般に次の擬似コードによって表され得る。
%% オーディオフレームからバッファを埋める
fgVecBuf(:,transportChannelsWithDistinctComponents) = audioFrame(:,transportChannelsWithDistinctComponents);
%%1. 新たに導入される明瞭な成分を(もしあれば)再構築する
if ~isempty(newTransportChannelsWithDistinctComponents)
fgVecInterpBuf =
fgVecBuf(1:lengthInterp,newTransportChannelsWithDistinctComponents) *
vBuf(newTransportChannelsWithDistinctComponents,:);
end
%%2. 連続的な明瞭な成分を(もしあれば)再構築して空間-時間補間を適用する
if ~isempty(commonTransportChannelsWithDistinctComponents)
for uiChanIdx =
transportChannelsWithDistinctComponents(
commonTransportChannelsWithDistinctComponents)
oldHOA = fgVecBuf(1:lengthInterp,uiChanIdx) *
vBuf_prevFrame(uiChanIdx,:);
newHOA = fgVecBuf(1:lengthInterp,uiChanIdx) * vBuf(uiChanIdx,:);
fgVecInterpBuf = fgVecInterpBuf + (oldHOA.*crossfadeOut) +
(newHOA.*crossfadeIn);
end
end
reconstructedHoaFrame(startIdx:startIdx+lengthInterp-1,:)= fgVecInterpBuf;
reconstructedHoaFrame(startIdx+lengthInterp:stopIdx,:)=
fgVecBuf(lengthInterp+1:end,transportChannelsWithDistinctComponents)*vBuf(transportChannelsWithDistinctComponents,:);
% フレーム中に遷移中の環境HOA係数が存在するかどうかを確認し、フェードイン/フェードアウトを適用する
if ~isempty(transportChannelsWithFadeInHoa)
for uiTransitionalChannel =
AmbCoeffIdx(transportChannelsWithFadeInHoa)
reconstructedHoaFrame(:,uiTransitionalChannel) =
reconstructedHoaFrame(:,uiTransitionalChannel) .*
fadeOutWindowWhenHoaChannelFadeIn;
end
end
if ~isempty(transportChannelsWithFadeOutHoa)
for uiTransitionalChannel =
AmbCoeffIdx(transportChannelsWithFadeOutHoa)
reconstructedHoaFrame(:,uiTransitionalChannel) =
reconstructedHoaFrame(:,uiTransitionalChannel) .*=
fadeInWindowWhenHoaChannelFadeOut;
end
end
%%3. デフォルトの環境HOA係数を加算する
reconstructedHoaFrame(:,1:decompressionState.MinNoOfCoeffsForAmbientHOA) = audioFrame(:, NoOfAdditionalPerceptualCoders+1:end);
%%4. フレーム依存の環境HOA係数を加算する
reconstructedHoaFrame(:,addAmbHoaChannels) =
reconstructedHoaFrame(:,addAmbHoaChannels) +
audioFrame(:,transportChannelsWithAddAmbientHoa);
前述の擬似コードは、数字の1〜4が後に続くコメント(パーセント記号(「%」)で始まる)によって示される、動作の4つの異なるセクションまたは再構築モードを有する。第1の再構築モードのための第1のセクションは、新たに導入される明瞭な成分が存在するときにそれを再構築するための擬似コードを提供する。第2の再構築モードのための第2のセクションは、連続的な明瞭な成分が存在するときにそれを再構築して空間-時間補間を適用するための擬似コードを提供する。擬似コードのセクション2では、本開示において説明される技法の様々な態様と矛盾せずに、新しいHOA係数をフェードインし古いHOA係数をフェードアウトするためにフォアグラウンドVベクトル補間バッファ(fgVecInterpBuf)上で実行される、クロスフェードイン動作およびクロスフェードアウト動作がある。第3の再構築モードのための第3のセクションは、デフォルトの環境HOA係数を加算するための擬似コードを提供する。第4の再構築モードのための第4のセクションは、本開示において説明される技法の様々な態様と矛盾せずにフレーム依存のHOA係数を加算するための擬似コードを提供する。
言い換えると、送信されるVベクトル要素の数を減らすために、環境HOA係数として符号化されないHOA音場の要素だけが送信され得る。いくつかの例では、環境成分の全体の数または実際のHOA係数は、符号化される音場における変化に対応するために動的であり得る。しかしながら、環境HOA係数を含むバックグラウンドチャンネルがフェードインまたはフェードアウトされるときには、エネルギーの変化により知覚可能なアーティファクトがあり得る。
たとえば、図8を参照すると、フレーム10および11において、2つのバックグラウンドチャンネル800Aおよび800Cと1つのフォアグラウンドチャンネル800Bがある。フレーム10および11において、フォアグラウンドチャンネル800Bにおいて指定されるVベクトルは、バックグラウンドチャンネル800Aおよび800Cにおいて指定される環境HOA係数47'が直接符号化され得るので、バックグラウンドチャンネル800Aおよび800Cにおいて指定される環境HOA係数47'のためのアップミキシング係数を含まなくてよい。フレーム12において、この例では、バックグラウンドチャンネル800Cにおいて指定される環境HOA係数47'は、フェードアウトされている。言い換えると、オーディオ復号デバイス24は、図8に示される線形のフェードインのような任意のタイプのフェードを使用して、バックグラウンドチャンネル800Cにおいて指定される環境HOA係数47'をフェードアウトすることができる。すなわち、線形のフェードインとして示されるが、オーディオ復号デバイス24は、非線形フェードイン動作(たとえば、指数関数的なフェードイン動作)を含む、任意の形式のフェードイン動作を実行することができる。フレーム13において、バックグラウンドチャンネル800Aにおいて指定される環境HOA係数47'は、この例では、フェードアウトされており、バックグラウンドチャンネル800Eにおいて指定される環境HOA係数47'は、この例では、フェードインされている。上で説明されたように、ビットストリーム21は、バックグラウンドチャンネルにおいて指定される環境HOA係数47'がフェードアウトまたはフェードインされるとき、イベントをシグナリングすることができる。オーディオ復号デバイス24は、図8の例に示される線形のフェードイン動作および非線形のフェードアウト動作を含む、任意の形式のフェードアウト動作を同様に実行することができる。
図8の例では、オーディオ符号化デバイス20は、図8に示され上で説明された3つのトランスポートチャンネルの1つにおいて指定される各環境HOA係数に対する遷移状態を示す、状態情報を維持することができる。バックグラウンドチャンネル800Aに対して、オーディオ符号化デバイス20は、AmbCoeffWasFadedIn[i](「WasFadedIn[i]」)シンタックス要素(状態要素としても示され得る)、AmbCoeffTransitionMode[i](「TransitionMode[i]」)シンタックス要素(状態要素としても示され得る)、およびAmbCoeffTransition(「Transition」)シンタックス要素を維持することができる。WasFadedIn[i]およびTransitionMode[i]状態要素は、チャンネル800Aにおいて指定される環境HOA係数の所与の状態を示し得る。HOAAddAmbInfoChannel(i)シンタックステーブルにおいて上で要約されたように、3つの遷移状態がある。第1の遷移状態は遷移なしであり、これは0に設定されているAmbCoeffTransitionMode[i]状態要素によって表される。第2の遷移状態は追加の環境HOA係数のフェードインであり、これは1に設定されているAmbCoeffTransitionMode[i]状態要素によって表される。第3の遷移状態は追加の環境HOA係数のフェードアウトであり、これは2に設定されているAmbCoeffTransitionMode[i]状態要素によって表される。オーディオ符号化デバイス20は、WasFadedIn[i]状態要素を使用して、HOAAddAmbInfoChannel(i)シンタックステーブルにおいて上で概説されたようなTransitionMode[i]状態要素を再び更新する。
オーディオ復号デバイス24は同様に、AmbCoeffWasFadedIn[i](「WasFadedIn[i]」)シンタックス要素(状態要素としても示され得る)、AmbCoeffTransitionMode[i](「TransitionMode[i]」)シンタックス要素(状態要素としても示され得る)、およびAmbCoeffTransition(「Transition」)シンタックス要素を維持することができる。やはり、WasFadedIn[i]およびTransitionMode[i]シンタックス要素は、チャンネル800Aにおいて指定される環境HOA係数の所与の状態を示し得る。オーディオ復号デバイス24における(図7Jに示されるような)状態機械402は同様に、例示的なHOAAddAmbInfoChannel(i)シンタックステーブルにおいて上で概説されたように、3つの遷移状態の1つであるように構成され得る。やはり、第1の遷移状態は遷移なしであり、これは0に設定されているAmbCoeffTransitionMode[i]状態要素によって表される。第2の遷移状態は追加の環境HOA係数のフェードインであり、これは1に設定されているAmbCoeffTransitionMode[i]状態要素によって表される。第3の遷移状態は追加の環境HOA係数のフェードアウトであり、これは2に設定されているAmbCoeffTransitionMode[i]状態要素によって表される。オーディオ復号デバイス24は、WasFadedIn[i]状態要素を使用して、HOAAddAmbInfoChannel(i)シンタックステーブルにおいて上で概説されたようなTransitionMode[i]状態要素を再び更新する。
バックグラウンドチャンネル800Aに戻ると、オーディオ符号化デバイス20は、フレーム10において、WasFadedIn[i]状態要素が1に設定されTransitionMode[i]状態要素が0に設定されることを示す状態情報(たとえば、図7Jの例に示される状態情報812)を維持することができ、ここでiは環境HOA係数に割り当てられるインデックスを示す。オーディオ符号化デバイス20は、オーディオ復号デバイス24がフォアグラウンドチャンネルのVベクトルの環境HOA係数および要素に関するフェードイン動作またはフェードアウト動作を実行することを可能にするために送信されるシンタックス要素(AmbCoeffTransitionおよび、即時再生フレームのためのWasFadedIn[i]または代替的なAmbCoeffIdxTransition、および即時再生フレームのためのAmbCoeffTransitionState[i])を決定する目的で、状態情報812を維持することができる。適切なシンタックス要素を生成し指定する目的で状態情報812を維持するものとして説明されるが、本技法はまた、要素を実際に遷移するためにオーディオ符号化デバイス20によって実行されてよく、これによって、追加の動作がオーディオ復号デバイス24において実行されるのを場合によっては防ぎ、(電力効率、プロセッササイクルなどに関して)より効率的な復号を容易にする。
オーディオ符号化デバイス20は次いで、同じHOA係数4が前のフレーム9(図8の例には示されない)において指定されたかどうかを決定することができる。指定されるとき、オーディオ符号化デバイス20は、ビットストリーム21の中のTransitionシンタックス要素を0という値によって指定することができる。オーディオ符号化デバイス20はまた、チャンネル800Aのために指定されるものと同じ、チャンネル800Cのための状態情報812を維持することができる。チャンネル800Cおよび800Aを介してインデックス2および4を有する2つの環境HOA係数47'を指定した結果として、オーディオ符号化デバイス20は、全体で23個の要素を有するVベクトル(「Vvec」)を指定することができる(次数N = 4について、要素の全体の数は(4+1)2-2すなわち25-2により23個の要素と求められる)。オーディオ符号化デバイス20は、要素[1,3,5:25]を指定して、2および4というインデックスを有する環境HOA係数47'に対応する要素を省略することができる。フレーム12までに遷移が発生しないとすると、オーディオ符号化デバイス20は、フレーム11の間にチャンネル800Aおよび800Cのために同じ状態情報を維持する。
オーディオ復号デバイス24は同様に、フレーム10において、WasFadedIn[i]状態要素が1に設定されTransitionMode[i]状態要素が0に設定されることを示す状態情報(たとえば、図7Jの例に示される状態情報812)を維持することができる。オーディオ復号デバイス24は、ビットストリーム21において送信されるシンタックス要素(AmbCoeffTransition)に基づいて適切な遷移を理解する目的で、状態情報812を維持することができる。言い換えると、オーディオ復号デバイス24は、状態機械402を呼び出して、ビットストリーム21において指定されるシンタックス要素に基づいて状態情報812を更新することができる。状態機械812は、例示的なHOAAddAmbInfoChannel(i)シンタックステーブルに関して上でより詳細に説明されたように、シンタックス要素に基づいて3つの遷移状態の1つから3つの状態の別の1つに遷移することができる。言い換えると、ビットストリームおよび状態情報812においてシグナリングされるAmbCoeffTransitionシンタックス要素の値に応じて、オーディオ復号デバイス24の状態機械402は、例示的なフレーム12、13、および14に関して下で説明されるように、遷移なし状態と、フェードアウト状態と、フェードイン状態とを切り替えることができる。
したがって、オーディオ復号デバイス24は、フレーム10および11においてバックグラウンドチャンネル800Aを介して4というインデックスを有する環境HOA係数47'を取得することができる。オーディオ復号デバイス24はまた、フレーム10および11においてバックグラウンドチャンネル800Cを介して2というインデックスを有する環境HOA係数47'を取得することができる。オーディオ復号デバイス24は、フレーム10の間に、かつ2および4というインデックスを有する環境HOA係数47'の各々に対して、2および4というインデックスを有する環境HOA係数47'がフレーム10の間に遷移中であるかどうかを示す指示を取得することができる。オーディオ復号デバイス24の状態機械402はさらに、WasFadedIn[2]およびTransitionMode[2]状態要素の形式で、2というインデックスを有する環境HOA係数47'のための状態情報812を維持することができる。オーディオ復号デバイス24の状態機械402はさらに、WasFadedIn[4]およびTransitionMode[4]状態要素の形式で、4というインデックスを有する環境HOA係数47'のための状態情報812を維持することができる。2および4というインデックスを有する環境HOA係数47'のための状態情報が、係数47'が非遷移状態にあることを示すとすると、2および4というインデックスを有する環境HOA係数47'がフレーム10と11のいずれの間にも遷移中ではないことを示すTransitionの指示に基づいて、オーディオ復号デバイス24は、フォアグラウンドチャンネル800Bにおいて指定される削減されたベクトル55k''が、ベクトル要素[1,3,5:23]を含み、フレーム10と11の両方に対して2および4というインデックスを有する環境HOA係数47'に対応する要素を省略すると、決定することができる。オーディオ復号デバイス24は次いで、一例として、削減されたベクトル55k''の23個の要素を正しく解析することによって、フレーム10および11のためのビットストリーム21から削減されたベクトル55k''を取得することができる。
フレーム12において、オーディオ符号化デバイス20は、チャンネル800Cによって搬送される2というインデックスを有する環境HOA係数がフェードアウトされるべきであると決定する。したがって、オーディオ符号化デバイス20は、チャンネル800Cのためのビットストリーム21の中の遷移シンタックス要素を、1という値(遷移を示す)によって指定することができる。オーディオ符号化デバイス20は、チャンネル800Cのための内部状態要素WasFadedIn[2]およびTransitionMode[2]を、それぞれ0および2であるものとして更新することができる。遷移なしからフェードアウトへの状態の変化の結果として、オーディオ符号化デバイス20は、2というインデックスを有する環境HOA係数47'に対応するフォアグラウンドチャンネル800Bにおいて指定されるVベクトルに、Vベクトル要素を加算することができる。
オーディオ復号デバイス24は、状態機械402を呼び出して、チャンネル800Cのための状態情報812を更新することができる。状態機械402は、チャンネル800Cのための内部状態要素WasFadedIn[2]およびTransitionMode[2]を、それぞれ0および2であるものとして更新することができる。更新された状態情報812に基づいて、オーディオ復号デバイス24は、2というインデックスを有する環境HOA係数47'がフレーム12の間にフェードアウトされると決定することができる。オーディオ復号デバイス24はさらに、フレーム12のための削減されたベクトル55k''が2というインデックスを有する環境HOA係数47'に対応する追加の要素を含むと決定することができる。オーディオ復号デバイス24は次いで、追加のベクトル要素(フレーム12において24に等しいVvec要素として図8の例において示されている)を反映するように、フォアグラウンドチャンネル800Bにおいて指定される削減されたベクトル55k''のためのベクトル要素の数をインクリメントすることができる。オーディオ復号デバイス24は次いで、ベクトル要素の更新された数に基づいて、フォアグラウンドチャンネル800Bを介して指定される削減されたベクトル55k''を取得することができる。オーディオ復号デバイス24は、削減されたベクトル55k''を取得した後で、フレーム12の間に追加のV-vec要素2(「V-vec[2]」として示される)をフェードインすることができる。フレーム13において、オーディオ符号化デバイス20は2つの遷移を示し、一方はHOA係数4が遷移またはフェードアウトされていることをシグナリングするためのものであり、他方はHOA係数5がチャンネル800Cに遷移またはフェードインされていることを示すためのものである。チャンネルは実際には変化しないが、チャンネルが指定しているものの変化を示す目的で、チャンネルは遷移の後はチャンネル800Eと示され得る。
言い換えると、オーディオ符号化デバイス20およびオーディオ復号デバイス24は、トランスポートチャンネルごとに状態情報を維持することができる。したがって、バックグラウンドチャンネル800Aおよびフォアグラウンドチャンネル800Dは、3つのトランスポートチャンネルの同じ1つによって搬送されるが、バックグラウンドチャンネル800Cおよび800Eも、3つのトランスポートチャンネルの同じ1つによって搬送される。いずれにしても、オーディオ符号化デバイス20は、5というインデックスを有しバックグラウンドチャンネル800Eを介して指定される環境HOA係数47'がフェードインされること(たとえば、WasFadedIn[5] = 1)と、遷移モードがフェードインである(たとえば、TransitionMode[5] = 1)こととを示す、バックグラウンドチャンネル800Eのための遷移状態情報を維持することができる。オーディオ符号化デバイス20はまた、4というインデックスを有する環境HOA係数がもはやフェードインされないこと(たとえば、WasFadedIn[4] = 0)と、遷移モードがフェードアウトである(たとえば、TransitionMode[4] = 2)こととを示す、チャンネル800Aのための遷移状態情報を維持することができる。
オーディオ復号デバイス24はやはり、オーディオ符号化デバイス20に関して上で説明されたものと同様の状態情報812を維持することができ、更新された状態情報に基づいて、4というインデックスを有する環境HOA係数47'をフェードアウトしながら、5というインデックスを有する環境HOA係数47'をフェードインすることができる。言い換えると、オーディオ復号デバイス24は、インデックス4を有する環境HOA係数47'が遷移中であることを示す、チャンネル800AのためのTransitionシンタックス要素をフレーム13の間に取得することができる。オーディオ復号デバイス24はまた、状態機械402を呼び出してTransitionシンタックス要素を処理して、4というインデックスを有する環境HOA係数47'がもはやフェードインされないこと(たとえば、WasFadedIn[4] = 0)と、遷移モードがフェードアウトである(たとえば、TransitionMode[4] = 2)こととを示すように、WasFadedIn[4]およびTransitionMode[4]シンタックス要素を更新することができる。
オーディオ復号デバイス24はまた、インデックス5を有する環境HOA係数47'が遷移中であることを示す、チャンネル800CのためのTransitionシンタックス要素をフレーム13の間に取得することができる。オーディオ復号デバイス24はまた、状態機械402を呼び出してTransitionシンタックス要素を処理して、4というインデックスを有する環境HOA係数47'がフレーム13の間にフェードインされること(たとえば、WasFadedIn[5] = 1)と、遷移モードがフェードインである(たとえば、TransitionMode[5] = 1)こととを示すように、WasFadedIn[5]およびTransitionMode[5]シンタックス要素を更新することができる。オーディオ復号デバイス24は、4というインデックスを有する環境HOA係数47'に関してフェードアウト動作を実行し、5というインデックスを有する環境HOA係数47'に関してフェードイン動作を実行することができる。
しかしながら、オーディオ復号デバイス24は、Vvec[4]がフェードインされることが可能でありVvec[5]がフェードアウトされることが可能であるように、25個の要素を有する完全なVベクトル(やはり4次の表現を仮定する)を利用することができる。したがって、オーディオ符号化デバイス20は、25個の要素を有するフォアグラウンドチャンネル800BにおいてV-vecを提供することができる。
3つのトランスポートチャンネルがあり、そのうちの2つが遷移中であり、3つのトランスポートチャンネルの残りの1つがフォアグラウンドチャンネル800Bであるとすると、オーディオ復号デバイス24は、削減されたベクトル55k''が例示的な状況ではベクトル要素のすべての24個を含み得ると、決定することができる。結果として、オーディオ復号デバイス24は、すべての25個のベクトル要素を有するビットストリーム21から、削減されたベクトル55k''を取得することができる。オーディオ復号デバイス24は次いで、エネルギー損失を補償するために、4というインデックスを有する環境HOA係数47'と関連付けられる削減されたベクトル55k''のベクトル要素をフレーム13の間にフェードインすることができる。オーディオ復号デバイス24は次いで、エネルギー増大を補償するために、5というインデックスを有する環境HOA係数47'と関連付けられる削減されたベクトル55k''のベクトル要素をフレーム13の間にフェードアウトすることができる。
フレーム14において、オーディオ符号化デバイス20は、トランスポートチャンネル中のバックグラウンドチャンネル800Aを置き換える別のVベクトルを提供することができ、これはフォアグラウンドチャンネル800Dにおいて指定され得る。環境HOA係数の遷移がないとすると、オーディオ符号化デバイス20は、(バックグラウンドチャンネル800Eにおいて5というインデックスを有する環境HOA係数47'を送信する結果として)5というインデックスを有する環境HOA係数47'に対応する要素が送信される必要がないならば、24個の要素を伴うフォアグラウンドチャンネル800Dおよび800Bの中のVベクトルを指定することができる。この点において、フレーム14は、フレーム13に対する後続のフレームとして示され得る。フレーム14において、環境HOA係数47'は、バックグラウンドチャンネル800Eにおいて指定され、遷移中ではない。結果として、オーディオ符号化デバイス20は、フォアグラウンドチャンネル800Bにおいて指定される削減されたベクトル55k''から、バックグラウンドチャンネル800Eにおいて指定される環境HOA係数47'に対応するVベクトル要素を除去し、それによって、更新された削減されたVベクトル(前のフレームでの25個の要素ではなく24個の要素を有する)を生成することができる。
オーディオ復号デバイス24は、フレーム14の間に、状態機械402を呼び出して、5というインデックスを有しバックグラウンドチャンネル800Eを介して指定される環境HOA係数47'が遷移中ではないこと(「TransitionMode[5] = 0」)と、それが前にフェードインされたこと(「WasFadedIn[5] = 1」)とを示すように、状態情報812を更新することができる。結果として、オーディオ復号デバイス24は、(5というインデックスを有する環境HOA係数47'と関連付けられるベクトル要素が指定されないので)フォアグラウンドチャンネル800Dおよび800Bにおいて指定される削減されるベクトル55k''が24個のベクトル要素を有すると、決定することができる。しかしながら、オーディオ復号デバイス24は、フレーム14の間にフォアグラウンドチャンネル800Dにおいて指定される削減されたベクトル55k''のベクトル要素のすべてをフェードインすることができ、それは、それらの要素が先行するフレーム中のビットストリームにおいて前に指定されなかったからである。
フレーム15において、オーディオ符号化デバイス20およびオーディオ復号デバイス24は、やはり遷移が発生していないとすると、フレーム14において同じ状態を維持する。
この点において、本技法は、環境高次アンビソニックス係数47'(たとえばバックグラウンドチャンネル800Cにおいて指定されるような)が、符号化されたオーディオデータ(環境HOA係数、フォアグラウンドオーディオオブジェクト、および対応するVベクトルの任意の組合せを指し得る)を表すビットストリーム21(まず図3および図4に示され、その後に図8において詳述されるような)のフレームの間でいつ遷移中であるかを、オーディオ符号化デバイス20が決定するように構成されることを可能にでき、高次アンビソニックス係数47'は、音場の環境成分を少なくとも一部表す。オーディオ符号化デバイス20はまた、遷移中の環境高次アンビソニックス係数47'と関連付けられるベクトル(残りのフォアグラウンドV[k]ベクトル53の1つのような)の要素を特定するように構成され得る。ベクトル53は、音場の空間成分を少なくとも一部表し得る。オーディオ符号化デバイス20はさらに、ベクトル53に基づいて、フレームのためのベクトルの特定された要素を含むように、削減されたベクトル55を生成するようにさらに構成され得る。説明するために、フレーム12におけるフォアグラウンドチャンネル800Bを考慮し、ここで、オーディオ符号化デバイス20は、フレーム12におけるバックグラウンドチャンネル800Cにおいて指定される環境HOA係数2に対応するVベクトル要素を含むように、削減されたベクトル55を生成し、このVベクトル要素は図8の例ではVvec[2]として示される。オーディオ符号化デバイス20はまた、削減されたベクトルを示すビットと、フレームの間の環境高次アンビソニックス係数47'の遷移を示すビット(たとえば、図4に示されるような指示757)とを含むようにビットストリーム21を生成するように構成され得る。
これらのおよび他の例では、オーディオ符号化デバイス20は、遷移中の環境高次アンビソニックス係数に基づいて、遷移状態情報を維持するように構成され得る。たとえば、オーディオ符号化デバイス20は、遷移状態情報と任意の他の状態情報812とを維持する、図7Iの例に示される状態機械402を含み得る。オーディオ符号化デバイス20はさらに、遷移状態情報に基づいて、遷移の指示757を取得するように構成され得る。
これらのおよび他の例では、遷移状態情報は、遷移なし状態、フェードイン状態、およびフェードアウト状態の1つを示す。
これらのおよび他の例において、オーディオ符号化デバイス20は、フレーム中に遷移状態情報を含む状態情報812を示すビットを追加で含むように、ビットストリーム21を生成するように構成され得る。状態情報812を示すビットは、フレームが、ビットストリーム21の前のフレームを参照せずに復号されることを可能にし得る。
これらのおよび他の例では、状態情報812は量子化情報を含む。
これらのおよび他の例では、フレームはストリーミングプロトコルを介して出力される。
これらのおよび他の例では、遷移を示すビット757は、高次アンビソニックス係数がフレームの間にオーディオ復号デバイス24のようなデコーダによってフェードアウトされるべきかどうかを指定する。
これらのおよび他の例では、遷移を示すビットは、高次アンビソニックス係数がフレームの間にオーディオ復号デバイス24のようなデコーダによってフェードインされるべきかどうかを指定する。
これらおよび他の例では、オーディオ符号化デバイス20は、後続のフレームの間に遷移中ではない、環境高次アンビソニックス係数47'と関連付けられるベクトル53の第2の要素を除去することによって、削減されたベクトル55を更新するように構成され得る。説明するために、5というインデックスを有する環境HOA係数と関連付けられるフレーム13の削減されたベクトル55の要素(ここでこの要素は「Vvec[5]」として示される)を除去するようにオーディオ符号化デバイス20がフレーム13の削減されたベクトル55を更新する、フレーム14を考える。オーディオ符号化デバイス20はさらに、後続のフレーム14の間に、更新された削減されたベクトルを示すビットと、5というインデックスを有する環境高次アンビソニックス係数47'が遷移中ではないことを示すビットとを含むように、ビットストリーム21を生成するように構成され得る。
これらのおよび他の例では、オーディオ符号化デバイス20は、上で説明された技法の遷移の態様とともに、上でより詳細に説明された技法の独立の態様を実行するように構成され得る。
その上、本技法の遷移の態様は、オーディオ復号デバイス24が、符号化されたオーディオデータを表すビットストリーム21のフレーム(たとえば、図8の中のフレーム10〜15)から、削減されたベクトルを示すビットを取得するように構成されることを可能にし得る。符号化されたオーディオデータは、HOA係数11の符号化されたバージョンまたはそれから導出されたものを含んでよく、それは、一例として、符号化された環境HOA係数59、符号化されたnFG信号61、コーディングされたフォアグラウンドV[k]ベクトル57、およびこれらの各々を示す任意の付随するシンタックス要素またはビットを意味する。削減されたベクトルは、音場の空間成分を少なくとも一部表し得る。削減されたベクトルは、図4の例に関して上で説明された、削減されたフォアグラウンドV[k]ベクトル55k''の1つを指し得る。オーディオ復号デバイス24はさらに、フレームから、(たとえば、チャンネル800Cにおいて指定されるような)環境高次アンビソニックス係数47'の遷移を示すビット757(「Transition」フラグとして図4に示され図8の例に表される)を取得するように構成され得る。環境高次アンビソニックス係数47'は、音場の環境成分を少なくとも一部表し得る。削減されたベクトルは、フォアグラウンドチャンネル800Bがバックグラウンドチャンネル800Eと関連付けられるVベクトル要素5を含むフレーム13の例などにおいて、遷移中の環境高次アンビソニックス係数と関連付けられるベクトル要素を含み得る。削減されたベクトルは、削減されたフォアグラウンドV[k]ベクトル55k''の1つを指すことができ、したがって、削減されたベクトル55k''として示され得る。
これらのおよび他の例では、オーディオ復号デバイス24はさらに、複数のモード(たとえば、モード0、モード1、およびモード2)の上で説明されたモード2に従って、削減されたベクトル55k''を示すビットを取得するように構成され得る。モード2は、削減されたベクトルが、遷移中の環境高次アンビソニックス係数と関連付けられるベクトル要素を含むことを示し得る。
これらのおよび他の例では、複数のモードはさらに、上で説明されたモード1を含む。上で説明されたように、モード1は、環境高次アンビソニックス係数と関連付けられるベクトル要素が削減されたベクトルに含まれないことを示し得る。
これらのおよび他の例では、オーディオ復号デバイス24はさらに、環境高次アンビソニックス係数の遷移を示すビット757に基づいて、遷移状態情報を維持するように構成され得る。オーディオ復号デバイス24のビットストリーム抽出ユニット72は、遷移状態情報を含む状態情報812を維持するための状態機械402を含み得る。オーディオ復号デバイス24はまた、遷移状態情報に基づいて、チャンネル800Cの環境高次アンビソニックス係数47'に関するフェードイン動作を実行するかフェードアウト動作を実行するかを決定するように構成され得る。オーディオ復号デバイス24は、フェードユニット770を呼び出して、環境高次アンビソニックス係数をフェードインするかフェードアウトするかの決定に基づいて、環境高次アンビソニックス係数47'に関してフェードイン動作またはフェードアウト動作を実行するように構成され得る。
これらのおよび他の例では、遷移状態情報は、遷移なし状態、フェードイン状態、およびフェードアウト状態の1つを示す。
これらのおよび他の例では、オーディオ復号デバイス24はさらに、状態情報812を示すビットから遷移状態情報を取得するように構成され得る。状態情報812は、フレームが、ビットストリームの前のフレームを参照せずに復号されることを可能にし得る。
これらのおよび他の例では、オーディオ復号デバイス24はさらに、状態情報812を示すビットに含まれる量子化情報に基づいて、削減されたベクトル55k''を量子化するように構成され得る。
これらのおよび他の例では、フレームはストリーミングプロトコルを介して出力される。
これらのおよび他の例では、遷移の指示757は、高次アンビソニックス係数47'がフレームの間にフェードアウトされるかどうかを指定する。
これらのおよび他の例では、遷移の指示757は、高次アンビソニックス係数がフレームの間にフェードインされるかどうかを指定する。
これらのおよび他の例では、オーディオ復号デバイス24はさらに、ビットストリーム21の後続のフレーム(たとえば、フレーム14)の間に、第2の削減されたベクトル(フレーム13からフレーム14までの要素の変化を反映するように更新されるだけであるフォアグラウンドチャンネル800Cの中でフレーム13のために指定されるものと同じベクトルを指すことがあり、したがって更新された削減されたベクトルと呼ばれることがある)を示すビット、フレーム14におけるバックグラウンドチャンネル800Eにおいて指定される環境高次アンビソニックス係数47'を示すビット、および、環境高次アンビソニックス係数47'が遷移中ではないことを示すビット757を取得するように構成され得る。この例では、後続のフレーム14のための第2の削減されたベクトルは、上で述べられた理由で、環境高次アンビソニックス係数47'と関連付けられる要素を含まない。
これらのおよび他の例では、遷移の指示757は、環境高次アンビソニックス係数47'(フレーム12中のバックグラウンドチャンネル800Cの環境HOA係数2のような)がフェードアウトされるべきであることを示す。この例では、オーディオ復号デバイス24は、フレーム12の間に環境高次アンビソニックス係数47'に関してフェードアウト動作を実行するように構成され得る。オーディオ復号デバイス24は、フレーム12におけるフォアグラウンドチャンネル800Bにおいて指定される削減されたベクトル55k''の対応する要素に関して補足的な動作を実行するように構成され得る。言い換えると、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'のフェードアウトの結果として発生するエネルギーの変化を補償するために、フレーム12の間にベクトル要素に関するフェードイン動作を実行するように構成され得る。
これらのおよび他の例では、遷移の指示757は、環境高次アンビソニックス係数47'(フレーム13中のバックグラウンドチャンネル800Aの環境HOA係数4のような)がフェードアウトされるべきであることを示す。この例では、オーディオ復号デバイス24は、フレーム12の間に環境高次アンビソニックス係数47'に関してフェードアウト動作を実行するように構成され得る。オーディオ復号デバイス24は、フレーム13におけるフォアグラウンドチャンネル800Bにおいて指定される削減されたベクトル55k''の対応する要素に関して補足的な動作を実行するように構成され得る。言い換えると、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'のフェードアウトの結果として発生するエネルギーの変化を補償するために、フレーム13の間にベクトル要素(Vvec[4])に関するフェードイン動作を実行するように構成され得る。
これらのおよび他の例では、遷移の指示757は、環境高次アンビソニックス係数47'(フレーム13におけるバックグラウンドチャンネル800Eにおいて指定される環境HOA係数5のような)がフェードインされるべきであることを示す。この例では、オーディオ復号デバイス24は、フレーム13の間に環境高次アンビソニックス係数47'に関してフェードイン動作を実行するように構成され得る。オーディオ復号デバイス24は、フレーム13におけるフォアグラウンドチャンネル800Bにおいて指定される削減されたベクトル55k''の対応する要素に関して補足的な動作を実行するように構成され得る。言い換えると、オーディオ復号デバイス24は、環境高次アンビソニックス係数47'のフェードインの結果として発生するエネルギーの変化を補償するために、フレーム13の間にベクトル要素に関するフェードアウト動作を実行するように構成され得る。
これらのおよび他の例では、オーディオ復号デバイス24は、オーディオ符号化デバイス20と同様に、上で説明された技法の遷移の態様とともに、上でより詳細に説明された技法の独立の態様を実行するように構成され得る。
図9は、追加の環境HOA係数のフェードアウトと、別個の成分の対応する再構築された寄与のフェードインと、HOA係数および再構築された寄与の合計とを示す図である。3つのグラフ850、852、および854が、図9の例に示されている。グラフ850は、追加の環境HOA係数が512個のサンプルにわたってフェードアウトされることを示す。グラフ852は、再構築されたオーディオオブジェクト(上で説明されたようにVベクトルのためのフェードイン係数を使用して再構築されている)を示す。グラフ854は、HOA係数と再構築された寄与との合計を示し、この例ではアーティファクトはもたらされない(アーティファクトはエネルギーの損失による音場の「ホール」を指し得る)。
前述の技法は、任意の数の異なる状況およびオーディオエコシステムに関して実行され得る。いくつかの例示的な状況が下で説明されるが、本技法は例示的な状況に限定されるべきではない。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)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、ディスク(disk)は通常、磁気的にデータを再生し、ディスク(disc)はレーザーで光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積論理回路もしくはディスクリート論理回路のような、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明される技法の実装に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内に与えられてよく、あるいは複合コーデックに組み込まれ得る。また、技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、上で説明されたように、様々なユニットは、コーデックハードウェアユニットにおいて結合されてよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、前述のような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
本技法の様々な態様が説明されてきた。本技法のこれらのおよび他の態様は、以下の特許請求の範囲内に入る。