(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
拡散パラメータと方向パラメータとを含む指向性オーディオコーディングパラメータを符号化するための装置は、拡散パラメータと方向パラメータとを量子化するためのパラメータ量子化器(210)と、量子化された拡散パラメータと量子化された方向パラメータとを符号化するためのパラメータエンコーダ(220)と、符号化された拡散パラメータおよび符号化された方向パラメータに関する情報を含む符号化されたパラメータ表現を生成するための出力インターフェース(230)とを備える。
前記パラメータ量子化器(210)が、拡散インデックスを生成するために不均一量子化器を使用して前記拡散パラメータを量子化するように構成された、請求項1に記載の装置。
前記パラメータ量子化器(210)が、前記不均一量子化器のしきい値および再構成レベルを取得するためにチャネル間コヒーレンス量子化テーブルを使用して前記不均一量子化器を導出するように構成される、請求項2に記載の装置。
前記パラメータエンコーダ(220)が、時間部分または周波数部分に関連付けられたすべての拡散値について、コーディングモードが前記生コーディングモード、前記1つの値のみのモード、または前記2つの連続する値のみのモードのいずれであるかを決定するように構成され、
前記生モードが2つのビットのうちの1つを使用してシグナリングされ、前記1つの値のみのモードが、第1の値を有する前記2つのビットのうちの別のものを使用してシグナリングされ、前記2つの連続する値のみのモードが、第2の値を有する前記2つのビットのうちの別の1つを使用してシグナリングされる、
請求項4に記載の装置。
前記パラメータ量子化器(210)が、前記方向パラメータの前記量子化のために量子化精度を決定するように構成され、前記量子化精度は、より低い拡散パラメータに関連する方向パラメータがより高い拡散パラメータに関連する方向パラメータよりも正確に量子化されるように、前記方向パラメータに関連する拡散パラメータに依存する、請求項1から6のいずれか一項に記載の装置。
前記パラメータ量子化器(210)が、正および負の値を有する仰角を符号なしの量子化インデックスのセットに量子化するように構成され、量子化インデックスの第1のグループが負の仰角を示し、量子化インデックスの第2のグループが正の仰角を示す、請求項6、7、または8に記載の装置。
前記パラメータ量子化器(210)が、いくつかの可能な量子化インデックスを使用して方位角を量子化するように構成され、第1の大きさを有する第1の仰角に関する第1の数の可能な量子化インデックスが、第2の大きさを有する第2の仰角に関する第2の数の可能な量子化インデックスよりも高くなるように、前記いくつかの量子化インデックスがより低い仰角からより高い仰角に減少し、前記第2の大きさが前記第1の大きさよりも絶対値において大きい、請求項1から9のいずれか一項に記載の装置。
前記量子化された方向パラメータが、量子化された仰角と量子化された方位角とを有し、前記パラメータエンコーダ(220)が、前記量子化された仰角を最初に符号化し、次いで、前記量子化された方位角を符号化するように構成される、請求項1から11のいずれか一項に記載の装置。
前記パラメータエンコーダ(220)が、球オフセットおよび現在の並べ替えられたまたは並べ替えられていない方位角インデックスから、前記球インデックスを導出するように構成され、
前記球オフセットが、前記現在の並べ替えられたまたは並べ替えられていない仰角インデックスよりも小さい並べ替えられたまたは並べ替えられていない仰角インデックスに対応する方位角アルファベットの合計から導出される、
請求項14に記載の装置。
前記パラメータエンコーダ(220)が、量子化アルファベットと前記拡散パラメータの前記量子化とを使用して前記しきい値を動的に決定するように構成されるか、または、
前記パラメータエンコーダ(220)が、前記拡散パラメータの前記量子化アルファベットに基づいて前記しきい値を決定するように構成される、
請求項16に記載の装置。
前記パラメータ量子化器(210)が、量子化された方向パラメータとして、仰角インデックスと、前記仰角インデックスに関連付けられた仰角アルファベットと、方位角インデックスと、前記方位角インデックスに関連付けられた方位角アルファベットとを決定するように構成され、
前記パラメータエンコーダ(220)が、
入力信号の時間部分もしくは周波数部分に関する量子化された方向ベクトルから平均方向ベクトルを導出し、
前記時間部分もしくは前記周波数部分に関する前記ベクトルの最高の角度精度を使用して前記平均方向ベクトルを量子化し、
前記量子化された平均方向ベクトルを符号化する
ように構成されるか、または、
前記出力インターフェース(230)が、追加のサイド情報として、前記符号化された平均方向ベクトルを前記符号化されたパラメータ表現に入れるように構成される、
請求項1から17のいずれか一項に記載の装置。
前記パラメータエンコーダ(220)が、小さい値に関する値を加算し、大きい値に関する値を減算することによって、前記符号付き距離を低減された距離に変換するように構成される、請求項19に記載の装置。
前記パラメータエンコーダ(220)が、前記量子化された方向パラメータが生コーディングモードまたはエントロピーコーディングモードのいずれによって符号化されるかを決定するように構成され、
前記出力インターフェース(230)が、対応する指示を前記符号化されたパラメータ表現に導入するように構成される、
請求項1から20のいずれか一項に記載の装置。
前記パラメータエンコーダ(220)が、Golomb-Rice方法またはその修正形態を使用してエントロピーコーディングを実行するように構成される、請求項1から21のいずれか一項に記載の装置。
前記パラメータエンコーダ(220)が、正および負の数を符号なしの数にインタリーブするために、前記符号付き距離または低減された符号付き距離の並べ替え変換を実行するように構成され、
前記パラメータエンコーダ(220)が、Golomb-Rice方法またはその修正形態を使用して、前記並べ替えられた符号付き距離または並べ替えられた低減された符号付き距離を符号化するように構成される、
請求項19から23のいずれか一項に記載の装置。
前記パラメータエンコーダ(220)が、コーディングされるべき値の最上位部分と最下位部分との決定を使用し、前記最上位部分に関するアルファベットを計算して、Golomb-Rice方法またはその修正形態を適用するように構成され、
前記最上位部分の前記アルファベットが、3などの事前定義された値以下である場合、値全体を符号化するためにEncodeQuasiUniform方法が使用され、パンクチャドコードのような例示的なEncodeQuasiUniform方法が、1つの長さのみのコードもしくは2つの長さのみのコードを生成し、または、
前記パラメータエンコーダ(220)が、前記符号化アルファベットが2のべき乗のサイズを有する場合、バイナリコードを使用して生コーディングモードにおいて前記最下位部分を符号化し、もしくは、前記符号化アルファベットが2のべき乗とは異なる場合、パンクチャドコードを使用して前記生コーディングモードにおいて前記最下位部分を符号化する
ように構成される、
請求項1から25のいずれか一項に記載の装置。
上記の例1から15のうちのいずれか1つにおいて定義されるように、第1の時間または周波数分解能を用いて前記拡散パラメータを計算し、第2の時間または周波数分解能を用いて前記方向パラメータを計算するためのパラメータ計算機をさらに備える、請求項1から26のいずれか一項に記載の装置。
符号化された拡散パラメータと符号化された方向パラメータとを含む符号化された指向性オーディオコーディングパラメータを含む符号化されたオーディオ信号を復号するためのデコーダであって、
前記符号化されたオーディオ信号を受け取り、前記符号化されたオーディオ信号から、前記符号化された拡散パラメータと前記符号化された方向パラメータとを分離するための入力インターフェース(800)と、
量子化された拡散パラメータと量子化された方向パラメータとを取得するために、前記符号化された拡散パラメータと前記符号化された方向パラメータとを復号するためのパラメータデコーダ(820)と、
前記量子化された拡散パラメータおよび前記量子化された方向パラメータから、逆量子化された拡散パラメータと逆量子化された方向パラメータとを決定するためのパラメータ逆量子化器(840)と
を備えるデコーダ。
前記入力インターフェース(800)が、前記符号化されたオーディオ信号内に含まれるコーディングモード指示(806)から、前記パラメータデコーダ(820)が、符号化された方向パラメータを復号するために、生復号モードである第1の復号モードか、または、モデル化を伴う復号モードであり、前記第1の復号モードとは異なる第2の復号モードのどちらを使用するかを決定するように構成される、請求項29に記載のデコーダ。
前記パラメータデコーダ(820)が、前記符号化されたオーディオ信号のフレームに関する量子化された拡散パラメータを取得するために、前記フレームに関する符号化された拡散パラメータ(804)を復号するように構成され、
前記逆量子化器(840)が、前記量子化されたまたは逆量子化された拡散パラメータを使用して、前記フレームに関する少なくとも1つの方向パラメータの逆量子化のための逆量子化精度を決定するように構成され、
前記パラメータ逆量子化器(840)が、前記逆量子化精度を使用して、量子化された方向パラメータを逆量子化するように構成される、
請求項29または30に記載のデコーダ。
前記パラメータデコーダ(820)が、逆量子化精度から、前記フレームに関する前記符号化された方向パラメータを復号するための復号アルファベットを決定するように構成され、
前記パラメータデコーダ(820)が、前記量子化された方向パラメータを取得するために、前記復号アルファベットを使用して、前記符号化された方向パラメータを復号するように構成される、
請求項29、30、または31に記載のデコーダ。
前記パラメータデコーダ(820)が、前記符号化された方向パラメータから、量子化された球インデックスを導出し、前記量子化された球インデックスを、量子化された仰角インデックスおよび量子化された方位角インデックスに分解するように構成される、請求項29から32のいずれか一項に記載のデコーダ。
前記パラメータデコーダ(820)が、復号された仰角Golomb-Riceパラメータを取得するために、前記符号化されたオーディオ信号内の特定のビット(808c)を復号し、復号された仰角距離を取得するために、前記符号化されたオーディオ信号内のさらなるビット(808c)を復号するように構成され、
前記パラメータデコーダ(820)が、復号された方位角Golomb-Riceパラメータを取得するために、前記符号化されたオーディオ信号内の特定のビット(808a)を復号し、復号された方位角距離を取得するために、前記符号化されたオーディオ信号内のさらなるビット(808f)を復号するように構成され、
前記パラメータデコーダ(820)が、前記仰角Golomb-Riceパラメータ、および前記復号された仰角距離、および前記仰角平均インデックスから、量子化された仰角パラメータを計算するか、または、前記方位角Golomb-Riceパラメータ、および前記復号された方位角距離、および前記方位角平均インデックスから、量子化された方位角パラメータを計算するように構成される、
請求項36または37に記載のデコーダ。
前記パラメータデコーダ(820)が、量子化された拡散パラメータを取得するために、前記符号化されたオーディオ信号から、時間および周波数部分に関する拡散パラメータを復号する(850)ように構成され、
前記パラメータ逆量子化器(840)が、前記量子化されたまたは逆量子化された拡散パラメータから、逆量子化精度を決定する(851)ように構成され、
前記パラメータデコーダ(820)が、前記逆量子化精度から、仰角アルファベットを導出し(852a)、前記フレームの前記時間および周波数部分に関する量子化された仰角パラメータを取得するために前記仰角アルファベットを使用するように構成され、
前記逆量子化器が、前記フレームの前記時間および周波数部分に関する逆量子化された仰角パラメータを取得するために、前記仰角アルファベットを使用して、前記量子化された仰角パラメータを逆量子化するように構成される、
請求項29から38のいずれか一項に記載のデコーダ。
前記逆量子化された拡散パラメータの時間/周波数分解能、または、前記逆量子化された方位角もしくは仰角パラメータの時間もしくは周波数分解能、または、前記逆量子化された方位角パラメータもしくは逆量子化された仰角パラメータから導出されたパラメトリック表現を、ターゲット時間または周波数分解能に変換するためのパラメータ分解能変換器(710)と、
復号されたマルチチャネルオーディオ信号を取得するために、前記ターゲット時間または周波数分解能において前記拡散パラメータおよび前記方向パラメータをオーディオ信号に適用するためのオーディオレンダラ(420)と
をさらに備える、請求項29から42のいずれか一項に記載のデコーダ。
前記マルチチャネルオーディオ信号を、スペクトル領域表現から、前記ターゲット時間または周波数分解能の時間分解能よりも高い時間分解能を有する時間領域表現に変換するためのスペクトル/時間変換器(440)を備える、請求項43に記載のデコーダ。
前記符号化されたオーディオ信号が、符号化されたトランスポート信号を含み、前記入力インターフェース(800)が、前記符号化されたトランスポート信号を抽出するように構成され、
前記デコーダが、前記符号化されたトランスポート信号を復号するためのトランスポート信号オーディオデコーダ(340)を備え、
前記デコーダが、前記復号されたトランスポート信号をスペクトル表現に変換するための時間/スペクトル変換器(430)をさらに備え、
前記デコーダが、前記逆量子化された拡散パラメータと前記逆量子化された方向パラメータとを使用してマルチチャネルオーディオ信号をレンダリングするためのオーディオレンダラ(420、440)を備え、
前記デコーダが、レンダリングされたオーディオ信号を時間領域表現に変換するためのスペクトル/時間変換器(440)をさらに備える、
請求項29から44のいずれか一項に記載のデコーダ。
符号化された拡散パラメータと符号化された方向パラメータとを含む符号化された指向性オーディオコーディングパラメータを含む符号化されたオーディオ信号を復号するための方法であって、
前記符号化されたオーディオ信号を受け取り、前記符号化されたオーディオ信号から、前記符号化された拡散パラメータと前記符号化された方向パラメータとを分離するステップ(800)と、
量子化された拡散パラメータと量子化された方向パラメータとを取得するために、前記符号化された拡散パラメータと前記符号化された方向パラメータとを復号するステップ(820)と、
前記量子化された拡散パラメータおよび前記量子化された方向パラメータから、逆量子化された拡散パラメータと逆量子化された方向パラメータとを決定するステップ(840)と
を含む方法。
【発明を実施するための形態】
【0041】
本発明は、DirACメタデータの圧縮を任意の種類のシナリオに一般化する。本発明は、
図1aおよび
図1bに示す空間コーディングシステムにおいて適用され、ここでは、DirACベースの空間オーディオエンコーダおよびデコーダが示されている。
【0042】
エンコーダは通常、Bフォーマットにおける空間オーディオシーンを分析する。代替的には、DirAC分析は、オーディオオブジェクトもしくはマルチチャネル信号のような異なるオーディオフォーマット、または任意の空間オーディオフォーマットの組合せを分析するように調整され得る。DirAC分析は、入力オーディオシーンからパラメトリック表現を抽出する。時間-周波数単位ごとに測定された到来方向(DOA)および拡散性がパラメータを形成する。DirAC分析の後には、空間メタデータエンコーダが続き、空間メタデータエンコーダは、低ビットレートパラメトリック表現を取得するために、DirACパラメータを量子化および符号化する。後者のモジュールは、本発明の主題である。
【0043】
パラメータとともに、様々なソースまたはオーディオ入力信号から導出されたダウンミックス信号が、従来のオーディオコアコーダによって送信のためにコーディングされる。好ましい実施形態において、ダウンミックス信号をコーディングするためにEVSオーディオコーダが好ましいが、本発明は、このコアコーダに限定されず、任意のオーディオコアコーダに適用され得る。ダウンミックス信号は、トランスポートチャネルと呼ばれる様々なチャネルで構成され、信号は、例えば、Bフォーマット信号、対象のビットレートに応じてステレオペアまたはモノフォニックダウンミックスを構成する4つの係数信号であり得る。コーディングされた空間パラメータおよびコーディングされたオーディオビットストリームは、通信チャネルを介して送信される前に多重化される。
【0044】
デコーダにおいて、トランスポートチャネルは、コアデコーダによって復号されるが、DirACメタデータは、復号されたトランスポートチャネルとともにDirAC合成に伝達される前に最初に復号される。DirAC合成は、直接音ストリーム、および拡散音ストリームとのその混合の再生を制御するための復号されたメタデータを使用する。再生された音場は、任意のスピーカレイアウトにおいて再生され得、または任意の次数でAmbisonicsフォーマット(HOA/FOA)において生成され得る。
【0045】
Bフォーマット入力信号などのオーディオ信号を符号化するためのオーディオエンコーダが
図1aにおいて示されている。オーディオエンコーダは、DirAC分析器100を備える。DirAC分析器100は、分析フィルタバンク130と、拡散性推定器110と、方向推定器120とを含んでもよい。拡散性データおよび方向データは、ライン250において符号化されたメタデータを最終的に出力する空間メタデータエンコーダ200に出力される。Bフォーマット信号はまた、入力信号からモノまたはステレオトランスポートオーディオ信号を生成するビームフォーマ/信号セレクタ140に転送されてもよく、モノまたはステレオトランスポートオーディオ信号は次いで、オーディオエンコーダ150、すなわち、好ましくはEVS(拡張音声サービス:Enhanced Voice Service)エンコーダにおいて符号化される。符号化されたオーディオ信号は、170において出力される。250において示されている符号化されたコーディングパラメータは、空間メタデータデコーダ300に入力される。符号化されたオーディオ信号170は、好ましい実施形態では、エンコーダ側の実施形態に即して、EVSデコーダとして実装されるオーディオデコーダ340に入力される。
【0046】
復号されたトランスポート信号は、復号された指向性オーディオコーディングパラメータとともにDirAC合成器400に入力される。
図1bに示す実施形態において、DirAC合成器は、出力合成器420と、分析フィルタバンク430と、合成フィルタバンク440とを備える。合成フィルタバンク440の出力において、復号されたマルチチャネル信号450が取得され、復号されたマルチチャネル信号450は、スピーカに転送され得、または、代替的には、1次Ambisonics(FOA)もしくは高次Ambisonics(HOA)フォーマットなどの任意の他のフォーマットにおけるオーディオ信号であり得る。当然、MPS(MPEGサラウンド:MPEG Surround)データまたはSAOS(空間オーディオオブジェクトコーディング:Spatial Audio Object Coding)データなどの任意の他のパラメトリックデータが、モノチャネルまたはステレオチャネルであるトランスポートチャネルと一緒に生成され得る。
【0047】
一般に、出力合成器は、分析フィルタバンク430によって決定される各時間-周波数ビンごとに、一方では直接オーディオ信号と他方では拡散オーディオ信号とを計算することによって動作する。直接オーディオ信号は、方向パラメータと、この時間/周波数ビンに関する最終オーディオ信号における直接オーディオ信号と拡散オーディオ信号との間の関係とに基づいて計算され、この関係は、高い拡散パラメータを有する時間/周波数ビンが大量の拡散信号と小量の直接信号とを有する出力信号を結果として生じ、低い拡散性を有する時間/周波数ビンが大量の直接信号と小量の拡散信号とを有する出力信号を結果として生じるように、拡散パラメータに基づいて決定される。
【0048】
図2aは、第1の態様による、拡散パラメータと方向パラメータとを含む指向性オーディオコーディングパラメータを符号化するための装置を示す。装置は、第1の時間または周波数分解能を用いて拡散パラメータ計算し、第2の時間または周波数分解能を用いて方向パラメータを計算するためのパラメータ計算機100を備える。装置は、250において示されている拡散パラメータおよび方向パラメータの量子化および符号化された表現を生成するための量子化器およびエンコーダプロセッサ200を備える。パラメータ計算機100は、
図1aの要素110、120、130を備えてもよく、様々なパラメータは、第1または第2の時間または周波数分解能においてすでに計算されている。
【0049】
代替的には、好ましい実装形態が
図2bにおいて示されている。ここで、パラメータ計算機、特に、
図1aにおけるブロック110、120は、
図2bのアイテム130において示されているように、すなわち、それらが、第3または第4の典型的には高い時間または周波数分解能を用いてパラメータを計算するように構成される。グループ化動作が実行される。拡散パラメータを計算するために、第1の時間または周波数分解能で拡散パラメータ表現を取得するためにブロック141において示すようにグループ化および平均化が行われ、方向パラメータの計算のために、第2の時間または周波数分解能で方向パラメータ表現を取得するためにブロック142においてグループ化(および平均化)が行われる。
【0050】
拡散パラメータおよび方向パラメータは、第2の時間もしくは周波数分解能が第1の時間もしくは周波数分解能と異なり、第1の時間分解能が第2の時間分解能よりも低いか、もしくは第2の周波数分解能が第1の周波数分解能よりも高くなるように、または、再び代替的には、第1の時間分解能が第2の時間分解能よりも低く、第1の周波数分解能が第2の周波数分解能に等しくなるように計算される。
【0051】
典型的には、拡散パラメータおよび方向パラメータは、周波数帯域のセットに対して計算され、ここで、より低い中心周波数を有する帯域は、より高い中心周波数を有する帯域よりも狭い。
図2bに関してすでに論じたように、パラメータ計算機100は、第3の時間または周波数分解能を有する初期拡散パラメータを取得するように構成され、パラメータ計算機100は、第4の時間または周波数分解能を有する初期方向パラメータを取得するようにも構成され、ここで、典型的には、第3および第4の時間または周波数分解能は、互いに等しい。
【0052】
パラメータ計算機は次いで、第3の時間または周波数分解能が第1の時間または周波数分解能よりも高くなるように、すなわち、分解能の低減が実行されるように、初期拡散パラメータをグループ化および平均化するように構成される。パラメータ計算機は、第4の時間または周波数分解能が第2の時間または周波数分解能よりも高くなるように、すなわち、分解能の低減が実行されるように、初期方向パラメータをグループ化および平均化するようにも構成される。好ましくは、各初期拡散パラメータが同じサイズを有する時間スロットまたは周波数ビンに関連付けられるように、第3の時間または周波数分解能は、一定の時間分解能である。各初期方向パラメータが同じサイズを有する時間スロットまたは周波数ビンに関連付けられるように、第4の時間または周波数分解能も、一定の周波数分解能である。
【0053】
パラメータ計算機は、第1の複数の時間スロットに関連付けられた第1の複数の拡散パラメータにわたって平均化するように構成される。パラメータ計算機100はまた、第2の複数の周波数ビンに関連付けられた第2の複数の拡散パラメータにわたって平均化するようにも構成され、パラメータ計算機は、第3の複数の時間スロットに関連付けられた第3の複数の方向パラメータにわたって平均化するようにも構成されるか、または、パラメータ計算機は、第4の複数の周波数ビンに関連付けられた第4の複数の方向パラメータにわたって平均化するようにも構成される。
【0054】
図2cおよび
図2dに関して論じるように、パラメータ計算機100は、重み付き平均計算を実行するように構成され、ここで、より高い振幅関連測定値を有する入力信号部分から導出された拡散パラメータまたは方向パラメータが、より低い振幅関連測定値を有する入力信号部分から導出された拡散パラメータまたは方向パラメータと比較してより高い重み係数を使用して重み付けされる。パラメータ計算機100は、
図2cのアイテム143において示されているように、第3または第4の時間または周波数分解能において、ビンごとのおよび振幅関連測定値を計算するように構成される143。ブロック144において、ビンごとの重み係数が計算され、ブロック145において、重み付き加算などの重み付き組合せを使用してグループ化および平均化が実行され、ここで、各ビンに関する拡散パラメータがブロック145に入力される。ブロック145の出力において、第1の時間または周波数分解能を有する拡散パラメータが取得され、この拡散パラメータは、その後、ブロック146において正規化され得るが、この手順は、単なるオプションである。
【0055】
図2dは、第2の分解能を有する方向パラメータの計算を示す。ブロック146において、振幅関連測定値は、
図2cのアイテム143と同様に、第3および第4の分解能においてビンごとに計算される。ブロック147において、ブロック147から取得された振幅関連測定値に依存するだけでなく、
図2dに示すように、ビンごとの対応する拡散パラメータも使用して、ビンごとに重み係数が計算される。したがって、同じ振幅関連測定値について、典型的には、より低い拡散性に対してより高い係数が計算される。ブロック148において、加算などの重み付き組合せを使用してグループ化および平均化が実行され、オプションブロック146において示すように、結果は、正規化され得る。したがって、ブロック146の出力において、方向パラメータは、方位角値と仰角値とを有する極形式に容易に変換され得るデカルトベクトルなどの2次元または3次元領域に対応する単位ベクトルとして取得される。
【0056】
図3aは、
図1aおよび
図1bのフィルタバンク分析430によって取得されるか、または
図1bのフィルタバンク合成440によって適用されるような時間/周波数ラスタを示す。一実施形態において、周波数範囲全体が60の周波数帯域に分離され、加えて、フレームが16の時間スロットを有する。この高い時間または周波数分解能は、好ましくは、第3または第4の高い時間または周波数分解能である。したがって、60の周波数帯域および16の時間スロットから開始して、1フレームあたり960の時間/周波数タイルまたはビンが取得される。
【0057】
図3bは、拡散値に関する第1の時間または周波数分解能表現を取得するために、パラメータ計算機によって、具体的には、
図2bのブロック141によって実行される分解能低減を示す。この実施形態において、周波数帯域幅全体は、5つのグループ化帯域と単一のみの時間スロットに分離される。したがって、1フレームについて、最終的に、フレームごとに5つの拡散パラメータのみが取得され、これらの拡散パラメータは次いで、さらに量子化および符号化される。
【0058】
図3cは、
図2bのブロック142によって実行される対応する手順を示す。1つの方向パラメータがビンごとに計算される
図3aからの高分解能方向パラメータは、
図3cにおける中分解能表現にグループ化および平均化され、ここで、フレームごとに、5つの周波数帯域を有するが、
図3aとは対照的に、ここでは4つの時間スロットを有する。したがって、最終的に、1つのフレームは、20の方向パラメータ、すなわち、方向パラメータについて1フレームあたり20のグループ化されたビンと、
図3bの拡散パラメータについて1フレームあたり5つのみのグループ化されたビンとを受け取る。好ましい実施形態において、周波数帯域の端部は、それらの上端に限られる。
【0059】
図3bと
図3cとを比較したとき、第1の帯域に関する拡散パラメータ、すなわち、拡散パラメータ1は、第1の帯域に関する4つの方向パラメータに対応するか、またはそれらに関連付けられることに留意すべきである。後に概説するように、第1の帯域におけるすべての方向パラメータの量子化精度は、第1の帯域に関する拡散パラメータによって決定されるか、または、例示的に、第5の帯域に関する方向パラメータ、すなわち、第5の帯域をカバーする対応する4つの方向パラメータおよび第5の帯域内の4つの時間スロットの量子化精度は、第5の帯域に関する単一の拡散パラメータによって決定される。
【0060】
したがって、帯域ごとに単一の拡散パラメータのみが構成されるこの実施形態において、1つの帯域内のすべての方向パラメータは、同じ量子化/逆量子化精度を有する。後に概説するように、方位角パラメータを量子化および符号化するためのアルファベットは、元の/量子化された/逆量子化された仰角パラメータの値に依存する。したがって、各帯域の各方向パラメータは、同じ量子化/逆量子化パラメータを有するが、
図3cの各グループ化されたビンまたは時間/周波数領域の各方位角パラメータは、量子化および符号化のための異なるアルファベットを有することができる。
【0061】
図2aにおける250において示されている量子化器およびエンコーダプロセッサ200によって生成された結果として生じるビットストリームは、
図3dにおいてより詳細に示されている。ビットストリームは、第1の分解能と第2の分解能とを示す分解能指示260を含んでもよい。しかしながら、第1の分解能および第2の分解能がエンコーダとデコーダとによって固定的に設定されている場合、この分解能指示は、必要ではない。アイテム261、262は、対応する帯域のための符号化された拡散パラメータを示す。
図3dは、5つの帯域のみを示すので、5つの拡散パラメータのみが符号化されたデータストリーム内に含まれる。アイテム263、264は、符号化された方向パラメータを示す。第1の帯域について、4つの符号化された方向パラメータが存在し、ここで、方向パラメータの第1のインデックスは、帯域を示し、第2のインデックスは、時間スロットを示す。第5の帯域および第4の時間スロットの、すなわち、
図3cにおける右上の周波数ビンの方向パラメータは、DIR54として示されている。
【0062】
続いて、さらに好ましい実装形態について詳細に論じる。
【0063】
時間-周波数分解
DirACにおいて、分析と合成の両方が周波数領域において実行される。時間-周波数分析および合成は、短期フーリエ変換(STFT:short-term Fourier Transform)のような様々なブロック変換、または複素変調直交ミラーフィルタバンク(QMF:Quadrature Mirror Filterbank)のようなフィルタバンクを使用して実行され得る。好ましい実施形態において、DirAC処理とコアエンコーダとの間でフレーミングを共有することを目的とする。コアエンコーダは、好ましくは、3GPP EVSコーデックに基づくので、20msのフレーミングが望まれる。さらに、時間および周波数分解能ならびにエイリアシングのロバスト性などの重要な基準は、DirACにおける非常にアクティブな時間-周波数処理に関係する。システムは、通信のために設計されているので、アルゴリズム的遅延は、別の重要な特徴である。
【0064】
これらのすべての理由のため、複素変調低遅延フィルタバンク(CLDFB:Complex modulated low-delay filterbank)が好ましい選択である。CLDFBは、1.25msの時間分解能を有し、20msのフレームを16の時間スロットに分割する。周波数分解能は、400Hzであり、これは、入力信号が(fs/2)/400の周波数帯域に分解されることを意味する。フィルタバンク動作は、以下の式によって一般的な形式において記述される。
【0066】
ここで、X
CRおよびX
CIは、それぞれ、実数サブバンド値および虚数サブバンド値であり、tは、0≦t≦15のサブバンド時間インデックスであり、kは、0≦k≦L
C-1のサブバンドインデックスである。分析プロトタイプw
cは、S
HPに依存する適応可能な長さを有する非対称ローパスフィルタである。w
cの長さは、
【0068】
によって与えられ、これは、フィルタが変換のために10個を超える連続的なブロックにまたがることを意味する。
【0069】
例えば、CLDFBは、48kHzにおいてサンプリングされた信号を、1フレームあたり60×16=960個の時間-周波数タイルに分解する。分析および合成後の遅延は、異なるプロトタイプフィルタを選択することによって調整され得る。5msの遅延(分析および合成)が、届けられる品質と発生する遅延との間の良好な妥協点であることがわかった。時間-周波数タイルごとに、拡散性および方向が計算される。
【0070】
DirACパラメータの推定
各周波数帯域において、音の拡散性とともに音の到来方向が推定される。入力Bフォーマットの成分w
i(n)、x
i(n)、y
i(n)、z
i(n)の時間-周波数分析から、圧力および速度のベクトルが、
P
i(n,k)=W
i(n,k)
U
i(n,k)=X
i(n,k)e
x+Y
i(n,k)e
y+Z
i(n,k)e
z
として決定され得、ここで、iは、入力のインデックスであり、nおよびkは、時間-周波数タイルの時間および周波数のインデックスであり、e
x、e
y、e
zは、デカルト単位ベクトルを表す。P(n,k)およびU(n,k)は、強度ベクトル、
【0072】
の計算を通して、DirACパラメータ、すなわち、DOAおよび拡散性を計算するために必要であり、ここで、
【0074】
は、複素共役を示す。結合された音場の拡散性は、
【0076】
によって与えられ、ここで、E{.}は、時間平均演算子を示し、cは、音速を示し、E(k,n)は、
【0078】
によって与えられる音場エネルギーを示す。
【0079】
音場の拡散性は、音の強さとエネルギー密度との比として定義され、0と1との間の値を有する。
【0082】
として定義される単位ベクトルdirection(n,k)によって表される。
【0083】
到来方向は、Bフォーマット入力のエネルギー分析によって決定され、強度ベクトルの反対方向として定義され得る。方向は、デカルト座標において定義されるが、単一半径、方位角、および仰角によって定義される球座標において容易に変換され得る。
【0084】
全体として、パラメータ値が直接ビットに変換される場合、時間-周波数タイルごとに、方位角、仰角、および拡散性の3つの値がコーディングされる必要がある。メタデータは、CLDFBの例では、1フレームあたり2880の値、すなわち、1秒あたり144000の値で構成される。この大量のデータは、低ビットレートコーディングを達成するために、大幅に低減される必要がある。
【0085】
DirACメタデータのグループ化および平均化
パラメータの数を低減するために、各時間-周波数タイルにおいて計算されたパラメータは、最初に、周波数パラメータ帯域に沿って、いくつかの時間スロットにわたってグループ化および平均化される。グループ化は、拡散性と方向との間で分離され、これは、本発明の重要な態様である。実際、分離は、拡散性が方向よりも長期の音場の特性を保持するという事実を利用し、これは、より反応的な空間的手がかりである。
【0086】
パラメータ帯域は、大まかに等価矩形帯域幅(ERB:Equivalent Rectangular Bandwidth)スケールの整数倍に従って、周波数帯域の不均一で重複しない分解を構成する。デフォルトでは、16kHzのオーディオ帯域幅のための合計5つのパラメータ帯域に対して、9倍のERBスケールが採用される。拡散性は、
【0088】
として計算され、ここで、power(n,k)
αは、インデックス(t,k)の時間-周波数タイルにおいて測定され、α乗された入力信号のエネルギーであり、diffusess(n,k)は、インデックス(n,k)の時間-周波数タイルにおいて測定された入力信号の拡散性であり、band
diff[]は、周波数帯域インデックスの観点からパラメータ帯域の制限を定義し、slot
diff[]は、時間スロットインデックスにおける時間にわたるグループ化の制限を定義する。例えば、テーブルが、5つのパラメータ帯域および1つの時間グループに対して、
slot
diff=[0,16]
band
diff=[0,1,3,7,15,60]
のように定義され得る。
【0089】
デカルト座標における方向ベクトルは、
【0091】
として計算され、ここで、power(n,k)
αは、インデックス(t,k)の時間-周波数タイルにおいて測定され、α乗された入力信号のエネルギーであり、diffusess(n,k)は、インデックス(n,k)の時間-周波数タイルにおいて測定された入力信号の拡散性であり、direction(n,k)は、3次元デカルト座標におるインデックス(n,k)の時間-周波数タイルにおいて測定された方向であり、band
dv[]は、周波数帯域インデックスの観点からパラメータ帯域の制限を定義し、slot
dv[]は、時間スロットインデックスにおける時間にわたるグループ化の制限を定義する。例えば、テーブルが、5つのパラメータ帯域および4つの時間グループに対して、
slot
dv=[0,4,8,12,16]
band
dv=[0,1,3,7,15,60]
のように定義され得る。
【0092】
パラメータαは、パラメータを平均化するために実行される重み付け加算において電力ベースの重みを圧縮または拡張することを可能にする。好ましいモードでは、α=1である。
【0093】
一般に、1よりも小さい指数も有用である可能性があるので、この値は、負でない実数であり得る。例えば、0.5(平方根)は、より高い振幅関連信号により大きい重みを依然として与えるが、1以上の指数と比較すると、控えめである。
【0094】
グループ化および平均化の後、一般に、結果として生じる方向ベクトルdv[g,b]は、もはや単位ベクトルではない。したがって、正規化が必要である。
【0096】
続いて、本発明の第2の態様の好ましい実施形態について論じる。
図4aは、さらなる第2の態様による、拡散パラメータと方向パラメータとを含む指向性オーディオコーディングパラメータを符号化するための装置を示す。装置は、第1の態様に関して論じたグループ化されたパラメータ、または、グループ化されていないか、もしくは異なるようにグループ化されたパラメータをその入力において受け取るパラメータ量子化器210を備える。
【0097】
したがって、パラメータ量子化器210、および、その後に接続された、量子化された拡散パラメータと量子化された方向パラメータとを符号化するためのパラメータエンコーダ220は、符号化された拡散パラメータと符号化された方向パラメータとに関する情報を含む符号化されたパラメータ表現を生成するための出力インターフェースと一緒に、例えば、
図1aのブロック200内に含まれる。
図2aの量子化器およびエンコーダプロセッサ200は、例えば、パラメータ量子化器210およびパラメータエンコーダ220に関して後に論じるように実装され得るが、量子化器およびエンコーダプロセッサ200は、第1の態様とは異なる任意の方法でも実装され得る。
【0098】
好ましくは、
図4aのパラメータ量子化器210は、拡散インデックスを生成するために不均一量子化器を使用して
図4bにおける231において示されているように拡散パラメータを量子化するように構成される。
図4aのパラメータエンコーダ220は、アイテム232において示されているように、すなわち、好ましくは3つの異なるモードを使用してフレームについて得られた拡散値をエントロピー符号化するように構成されるが、単一のモードも同様に、または2つの異なるモードのみが使用され得る。1つのモードは、例えば、バイナリコードまたはパンクチャドバイナリコードを使用して、個々の拡散値が符号化されるように行われる生モードである。代替的には、各々の差分および元の絶対値が生モードを使用して符号化されるように、差分符号化が実行され得る。しかしながら、状況は、同じフレームがすべての周波数帯域にわたって同じ拡散性を有し、1つの値のみのコードが使用され得るということであり得る。再び、代替的には、状況は、拡散性に関する連続値、すなわち、1つのフレーム内の連続拡散インデックスのみが存在し、次いで、ブロック232において示すように第3の符号化モードが適用され得るということであり得る。
【0099】
図4cは、
図4aのパラメータ量子化器210の実装形態を示す。
図4aのパラメータ量子化器210は、233において示されているように、方向パラメータを極形式に変換するように構成される。ブロック234において、ビンの量子化精度が決定される。このビンは、元の高分解能ビンであり得、または代替的には、好ましくは、低分解能のグループ化されたビンであり得る。
【0100】
図3bおよび
図3cに関して上記で論じたように、各帯域は、同じ拡散値を有するが、4つの異なる方向値を有する。同じ量子化精度が帯域全体に対して、すなわち、帯域内のすべての方向パラメータに対して決定される。ブロック235において、ブロック233によって出力される仰角パラメータは、量子化精度を使用して量子化される。仰角パラメータを量子化するための量子化アルファベットは、好ましくは、ブロック234において決定されたビンの量子化精度からも取得される。
【0101】
方位角値を処理する目的のため、方位角アルファベットは、対応する(グループ化された)時間/周波数ビンに関する仰角情報から決定される(236)。仰角情報は、量子化された仰角値、元の仰角値、または量子化され、再び逆量子化された仰角値であってもよく、ここで、エンコーダ側およびデコーダ側において同じ状況を有するために、後者の値、すなわち、量子化され、再び逆量子化された仰角値が好ましい。ブロック237において、方位角パラメータは、この時間/周波数ビンのアルファベットを用いて量子化される。
図3bに関して上記で論じたのと同じ帯域の量子化精度を有することができるが、それにもかかわらず、方向パラメータに関連する個々のグループ化された時間/周波数ビンごとに異なる方位角アルファベットを有することができる。
【0102】
DirACメタデータコーディング
フレームごとに、DirAC空間パラメータは、周波数全体のnbandsバンドからなるグリッドにおいて計算され、周波数バンドbごとに、num_slots時間スロットは、いくつかの等しいサイズのnblocks(b)時間グループにグループ化される。拡散パラメータは、周波数帯域ごとに送信され、方向パラメータは、各周波数帯域の時間グループごとに送信される。
【0103】
例えば、nbands=5およびnblocks(b)=4で、num_slots=16の場合、これは、フレームごとに5つの拡散パラメータと20の方向パラメータとを結果として生じ、これらは、さらに量子化およびエントロピーコーディングされる。
【0104】
拡散パラメータの量子化
各拡散パラメータdiff(b)は、拡散インデックスdiff_idx(b)を生成する不均一量子化器を使用して、diff_alph離散レベルのうちの1つに量子化される。例えば、量子化器は、しきい値および再構成レベルがgenerate_diffuseness_quantizer関数によって計算される、MPS標準において使用されるICC量子化テーブルから導出されてもよい。
【0105】
好ましくは、元の8のうちの6レベルのみを含む、icc=[1.0,0.937,0.84118,0.60092,0.36764,0.0]のように、ICC量子化テーブルからの非負の値のみが使用される。0.0のICCは、1.0の拡散性に対応し、1.0のICCは、0.0の拡散性に対応するので、y座標のセットがy=1.0-iccとして作成され、x座標の対応するセットは、x=[0.0,0.2,0.4,0.6,0.8,1.0]として作成される。xとyとによって定義される点のセットを通過する曲線を導出するために、区分的3次エルミート補間多項式(PCHIP:Piecewise Cubic Hermite Interpolating Polynomial)として知られる形状保存区分的3次補間方法が使用される。拡散量子化器のステップ数は、diff_alphであり、これは、提案された実装形態において8であるが、同様に8であるICC量子化テーブルのレベルの総数とは関係ない。
【0106】
0.0から1.0(またはサウンドレンダリングの考慮事項のために、1.0の純粋な拡散性が回避される場合、1.0に近いが、1.0よりも小さい)までx補間された、diff_alphの等間隔の座標の新しいセットが生成され、曲線上の対応するy値は、再構成値として使用され、それらの再構成値は、非線形に離間される。連続するx補間された値の間の中間の点も生成され、曲線の対応するy値は、どの値が特定の拡散インデックスと、したがって再構成値とにマッピングされるかを決定するために、しきい値として使用される。提案された実装形態について、generate_diffuseness_quantizer関数によって計算された、生成された(5桁に丸められた)再構成値およびしきい値は、
reconstructions=[0.0,0.03955,0.08960,0.15894,0.30835,0.47388,0.63232,0.85010]
thresholds=[0.0,0.01904,0.06299,0.11938,0.22119,0.39917,0.54761,0.73461,2.0]
である。
【0107】
検索をより簡単にするために、しきい値の最後に範囲外の大きなしきい値(2.0)のプレースホルダが追加される。例示のために、特定の帯域bについて、diff(b)=0.33の場合、thresholds[4]<=diff(b)<thresholds[5]であり、したがって、diff_idx(b)=4であり、対応する再構成値は、reconstructions[4]=0.30835である。
【0108】
上記の手順は、拡散値に関する非線形量子化器の1つの可能な選択にすぎない。
【0109】
拡散パラメータのエントロピーコーディング
パンクチャドコードを使用して準均一確率を用いてvalueを符号化するために、EncodeQuasiUniform(value,alphabet_sz)関数が使用される。value∈{0,...,alphabet_sz-1}について、いくつかの最小のものが、
【0111】
ビットを使用して符号化され、残りが、
【0113】
ビットを使用して符号化される。alphabet_szが2のべき乗である場合、バイナリコーディングが結果として生じる。
【0114】
それらの値に応じて、量子化された拡散インデックスは、生コーディング、1つ値のみ、および2つの連続する値のみの、3つの利用可能な方法のうちの1つを使用してエントロピーコーディングされ得る。第1のビット(diff_use_raw_coding)は、生コーディング方法が使用されるかどうかを示す。生コーディングの場合、各拡散インデックス値は、EncodeQuasiUniform関数を使用して符号化される。
【0115】
すべてのインデックス値が等しい場合、1つの値のみの方法が使用される。第2のビット(diff_have_unique_value)がこの方法を示すために使用され、このとき、一意の値がEncodeQuasiUniform関数を使用して符号化される。すべてのインデックス値が2つの連続する値のみで構成されている場合、上記の第2のビットによって示される2つの連続する値のみの方法が使用される。そのアルファベットサイズがdiff_alph-1に低減されることを考慮に入れて、2つの連続する値のうちのより小さい方がEncodeQuasiUniform関数を使用して符号化される。次いで、値ごとに、その値と最小値との間の差が1ビットを使用して符号化される。
【0116】
好ましいEncodeQuasiUniform(value,alphabet_sz)関数は、いわゆるパンクチャドコードを実装する。パンクチャドコードは、擬似コードにおいて、
bits=floor(log2(alphabet_sz))
thresh=2^(bits+1)-alphabet_sz
(value<thresh)の場合
write_bits(value,bits)
そうでない場合
write_bits(value+thresh,bits+1)
として定義される。
【0117】
alphabet_szが2のべき乗である場合、alphabet_sz=2^ビット、およびthresh=2^ビットであり、したがって、そうでない場合の分岐は使用されず、バイナリコーディングが結果として生じる。そうでない場合、第1のthreshの最小値は、bitsビットを有するバイナリコードを使用して符号化され、value=threshで始まる残りは、bits+1ビットを有するバイナリコードを使用して符号化される。bits+1ビットを使用して符号化された第1のバイナリコードは、値value+thresh=thresh+thresh=thresh*2を有し、したがって、デコーダは、第1のビットbitsのみを読み取り、その値をthreshと比較することによって、もう1つの追加のビットを読み取る必要があるかどうかを理解することができる。復号関数DecodeQuasiUniform(alphabet_sz)は、擬似コードにおいて、
bits=floor(log2(alphabet_sz))
thresh=2^(bits+1)-alphabet_sz
value=read_bits(bits)
(value>=thresh)の場合
value=(value*2+read_bits(1))-thresh
の値を返す
として定義され得る。
【0118】
方向パラメータの極座標への変換
dv[0]
2+dv[1]
2+dv[2]
2=1となるように正規化された各3次元方向ベクトルdvは、関数DirectionVector2AzimuthElevationを使用して、仰角el∈[-90,90]および方位角az∈[0,360]からなる極座標表現に変換される。極座標から正規化された方向ベクトルへの逆方向変換は、関数AzimuthElevation2DirectionVectorを使用して達成される。
【0119】
方向パラメータの量子化
仰角と方位角のペアとして表される方向がさらに量子化される。量子化された拡散インデックスレベルごとに、必要とされる角度精度が、deg_req=angle_spacing(diff_idx(b))としてangle_spacing構成ベクトルから選択され、単位球上の準均一に分布した量子化点のセットを生成するために使用される。
【0120】
角度間隔値deg_reqは、好ましくは、拡散性diff(b)から計算されず、拡散インデックスdiff_idx(b)から計算される。したがって、可能な拡散インデックスごとに1つ、diff_alphの可能なdeg_req値が存在する。デコーダ側において、元の拡散性diff(b)は、利用できず、拡散インデックスdiff_idx(b)のみが使用可能であり、これは、エンコーダにおけるように同じ角度間隔値を選択するために使用され得る。提案された実装形態において、角度間隔テーブルは、
angle_spacing_table=[5.0,5.0,7.5,10.0,18.0,30.0,45.0,90.0]
である。
【0121】
単位球上の準均一に分布した点は、いくつかの重要な望ましい特性を満たすような方法において生成される。点は、X、Y、およびZ軸に対して対称に分布すべきである。最も近い点への所与の方向の量子化と、整数インデックスへのマッピングは、一定時間の演算であるべきである。最後に、整数インデックスおよび方向への逆量子化から球上の対応する点を計算することは、球上の点の総数に対して一定時間のまたは対数時間的な演算であるべきである。
【0122】
水平面上の点について軸に対する対称性の2つのタイプ、すなわち、直交軸が現在の平面において単位球と交差する場所に2つの点が存在するタイプ、および点が存在しないタイプが存在する。任意の水平面の例として、3つの可能な場合が存在する。点の数が8のように4の倍数である場合、X(左右)軸に対する対称性が存在し、Y軸上に90度および270度において2つの点が存在し、Y(前後)軸に対する対称性が存在し、X軸上に0度および180度において2つの点が存在する。点の数が6のように2の倍数のみである場合、X軸に対する対称性が存在するが、Y軸上に90度および270度において点が存在せず、Y軸に対する対称性が存在し、X軸上に0度および180度において2つの点が存在する。最後に、点の数が5のように任意の整数である場合、X軸に対する対称性が存在するが、Y軸上に90度および270度において点が存在せず、Y軸に対する対称性が存在しない。
【0123】
好ましい実施形態において、すべての水平面(すべての量子化された仰角に対応する)上に0、90、180、および270度において点を有することは、音響心理学的な観点から有用であると考えられ、各水平面上の点の数が常に4の倍数であることを意味する。しかしながら、特定の用途によっては、各水平面上の点の数における条件は、2の倍数のみ、または任意の整数に緩和され得る。
【0124】
加えて、好ましい実施形態において、仰角ごとに、0度の特権的な方向(前方向)において「原点」方位角点が常に存在する。この特性は、方位角点を0度方向の代わりに、それに対して分散して、仰角ごとに事前に計算された量子化オフセット角を個別に選択することによって緩和され得る。それは、量子化の前にオフセットを加算し、逆量子化の後にそれを減算することによって容易に実装され得る。
【0125】
必要な角度精度は、deg_reqであり、90度の約数であるべきである。そうでない場合、必要な角度精度は、実際の使用の前に
【0127】
として再計算される。例えば、可能な値のリストは、
{90,45,30,22.5,18,15,12.86,11.25,10,...,5,...}
である。仰角elは、ステップサイズdeg_reqで均一に量子化され、el_alph=2・n_points+1の量子化インデックスのうちの1つであるel_idx=round(el÷deg_req)+n_pointsを生成し、ここで、
【0129】
である。このインデックスは、q_el=(el_idx-n_points)・deg_reqの逆量子化された仰角に対応する。同等に、アルファベットサイズのみに基づいて、量子化についてel_idx=round(((el+90)÷180)・(el_alph-1))、逆量子化についてq_el=(el_idx÷(el_alph-1))・180-90である。
【0130】
赤道において、方位角azは、ステップサイズdeg_reqで均一に量子化され、4・n_pointsの量子化インデックスのうちの1つであるaz_idxを生成する。他の仰角の場合、2つの連続する点の間の弦の長さに対応する単位球の中心から見た水平角度間隔は、q_el仰角において位置する水平円の弧の長さによって近似され得る。したがって、2つの連続する点の間の弧の長さがどこでもほぼ同じままであるように、この水平円における90度に対応する点の数は、赤道円に比較して、その半径に比例して減少する。極において、点の総数は、1になる。
【0131】
q_elの仰角に対応するaz_alph=max(4・round(radius_len・n_points),1)の量子化インデックスが存在し、ここで、radius_len=cos(q_el)である。対応する量子化インデックスは、az_idx=round((az÷360)・az_alph)であり、ここで、az_alphの結果として生じる値は、0に置き換えられる。このインデックスは、q_az=az_idx・(360÷az_alph)の逆量子化された方位角に対応する。注釈として、az_alph=1である極を除いて、極の近くの最小値は、deg_req=90およびdeg_req=45に関してaz_alph=4、残りのすべてに関してaz_alph=8である。
【0132】
各水平面上の点の数に対する条件が2の倍数のみに緩和された場合、赤道面において180度に対応する2・n_pointsが存在するので、方位角アルファベットは、az_alph=max(2・round(radius_len・(2・n_points)),1)になる。点の数に対する条件が任意の整数に緩和された場合、赤道面において360度に対応する4・n_pointsが存在するので、方位角アルファベットは、az_alph=max(round(radius_len・(4・n_points)),1)になる。いずれの場合も、赤道面において、radius_len=1およびn_pointsが整数であるので、点の数は、常に4の倍数である。
【0133】
上記で説明した量子化および逆量子化プロセスは、それぞれ、QuantizeAzimuthElevation関数とDequantizeAzimuthElevation関数とを使用して達成される。
【0134】
好ましくは、round(x)関数は、xを最も近い整数に丸め、通常は、round(x)=floor(x+0.5)として固定小数点において実装される。1.5のような整数間のちょうど中間の値であるタイに対する丸めは、いくつかの方法において行われ得る。上記の定義は、タイを+無限大に丸める(1.5は、2に丸められ2.5は、3に丸められる)。浮動小数点の実装形態は、通常、タイを偶数の整数に丸める、整数へのネイティブ丸めの関数を有する(1.5は、2に丸められ、2.5は、2に丸められる)。
【0135】
「単位球の準均一カバレッジ」として示される
図4dは、量子化された方向を示す、15度の角度精度を使用する単位球の準均一カバレッジの例を示す。3Dビューは、上からのもので、よりよい可視化のために上半球のみが描かれており、接続されている点線のスパイラル線は、単に、同じ水平の円または平面からの点のより容易な視覚的識別のためのものである。
【0136】
続いて、量子化された方向パラメータ、すなわち、量子化された仰角インデックスと量子化された方位角インデックスとを符号化する目的のための、
図4aのパラメータエンコーダ220の好ましい実装形態が示される。
図5aに示すように、エンコーダは、フレーム内の拡散値に対して各フレームを分類する(240)ように構成される。ブロック240は、
図3bの実施形態においてはフレームに関する5つの拡散値のみである拡散値を受け取る。フレームが低い拡散値のみで構成される場合、低拡散性符号化モード241が適用される。フレーム内の5つの拡散値が高い拡散値のみである場合、高拡散性符号化モード242が適用される。フレーム内の拡散値が拡散性しきい値ec_maxの上下両方にあると判定された場合、混合拡散性符号化モード243が適用される。低拡散性符号化モード241と高拡散性符号化モード242の両方において、また、混合拡散性フレームに関する低拡散性帯域についても、一方では生コーディングが、他方ではエントロピー符号化が試行され、すなわち、244a、244b、および244cに示すように実行される。しかしながら、混合拡散性フレームにおける高拡散性帯域について、244dに示すように、生コーディングモードが常に使用される。
【0137】
異なる符号化モード、すなわち、生コーディングモードおよびエントロピーコーディングモード(モデル化を伴う)が使用される場合、結果は、量子化されたインデックスを符号化するためのビット数がより少なくなるモードを選択するエンコーダコントローラによって選択される。これは、245a、245b、および245cにおいて示されている。
【0138】
一方、すべてのフレームおよび帯域に対して生コーディングモードのみを使用することができ、もしくはすべての帯域に対してモデル化を伴うエントロピーコーディングモードをのみを使用することができ、または、コンテキスト適応を伴うもしくは伴わないハフマンコーディングモードもしくは算術コーディングモードなどのインデックスをコーディングする任意の他のコーディングモードを使用することができる。
【0139】
ブロック245a、245b、および245cにおける選択された手順の結果に応じて、サイド情報は、ブロック246a、246bに示すようにフレーム全体に対して設定され、または、対応する帯域、すなわち、ブロック246cにおける低拡散性帯域のみに対して設定される。代替的には、アイテム246cの場合、サイド情報は、フレーム全体に対しても設定され得る。この場合、サイド情報がフレーム全体に対して設定されていても、デコーダが、混合拡散性フレームが存在すると判定するように、および、フレームに関するサイド情報がモデル化を伴うエントロピー符号化モードを示しているが、この混合拡散性フレーム内の高拡散値を有する帯域に関する方向パラメータが生符号化モードで符号化されるように、高拡散性帯域の決定は、デコーダ単独において行われ得る。
【0140】
好ましい実施形態において、diff_alph=8である。次いで、ec_maxしきい値は、大きいテストコーパスにおける平均圧縮サイズを最小化することによって、5であるように選択された。このしきい値ec_maxは、現在のフレームの拡散インデックスの値の範囲に応じて、以下のモードにおいて使用される。
すべての帯域bについてdiff_idx(b)<=ec_maxである低から中の拡散性フレームについて、生コーディングとエントロピーコーディングの両方を使用してすべての方向が符号化され、最適なものが選択され、(dir_use_raw_codingとして上記で識別された)サイド情報として1ビットによって示される;
いくつかの帯域bについてdiff_idx(b)<=ec_maxである混合拡散性フレームについて、それらの帯域に対応する方向は、第1のケースの通りに符号化されるが、diff_idx(b)>ec_maxである他の高拡散性帯域bについて、(低から中位の拡散性を有する方向のエントロピーコーディング統計が、同様に非常に粗く量子化された高い拡散性を有する方向と混ざることを回避するために)これらの他の帯域に対応する方向は、常に生として符号化される;
すべての帯域bについてdiff_idx(b)>ec_maxである高拡散性フレームについて、ec_maxしきい値は、現在のフレームに関するec_max=diff_alphに前もって設定され(拡散インデックスが方向の前にコーディングされるので、この設定は、デコーダ側においても同じように前もって行われ得る)、したがって、このケースは、第1のケースになる。
【0141】
図5bは、両方のモードの方向インデックスの好ましいがオプションの前処理を示す。両方のモードについて、量子化された方向インデックス、すなわち、量子化された方位角インデックスおよび量子化された仰角インデックスは、ブロック247において、符号付きの値をもたらす仰角/方位角インデックスの変換に処理され、ここで、ゼロインデックスは、ゼロの仰角または方位角に対応する。並べ替えられた符号なしの方位角/仰角インデックスのよりコンパクトな表現を得るために、正/負の値のインタリーブを含む符号なしの値への後続の変換248が実行される。
【0142】
図5cは、第1のコーディングモード260、すなわち、モデル化を伴わない生コーディングモードの好ましい実装形態を示す。前処理された方位角/仰角インデックスは、両方のインデックスを単一の球インデックスにマージするために、ブロック261に入力される。関連する拡散インデックスから導出された量子化精度、すなわち、deg_reqに基づいて、EncodeQuasiUniformなどの符号化関数または(パンクチャド)バイナリコードを用いる符号化が実行される(262)。したがって、帯域またはフレーム全体のいずれかに関する符号化された球インデックスが取得される。フレーム全体に関する符号化された球インデックスは、生コーディングが選択された低拡散性フレームのみの場合、もしくは、再び生コーディングが選択された高拡散性フレームのみにおいて取得され、または、フレームの高拡散性帯域のみに関する符号化された球インデックスは、低もしくは中拡散性を有する他の帯域についてモデル化を伴うエントロピーコーディングなどの第2の符号化モードが選択されている
図5aにおける243において示された混合拡散性フレームの場合に取得される。
【0143】
図5dは、例えば、モデル化を伴うエントロピーコーディングモードであり得るこの第2の符号化モードを示す。240において
図5aにおいて示された、例えば、混合拡散性フレームに分類された前処理されたインデックスは、ブロック266に入力され、ブロック266は、仰角インデックス、仰角アルファベット、方位角インデックス、方位角アルファベットなどの対応する量子化データを収集し、このデータは、フレームに関する個別のベクトルに収集される。ブロック267において、後に論じるように、逆量子化から導出された情報と、対応するベクトル変換とに基づいて、仰角および方位角について平均が明らかに計算される。これらの平均値は、ブロック268において示されているフレームにおいて使用される最高の角度精度で量子化される。ブロック269に示すように、予測された仰角インデックスおよび方位角インデックスが平均値から生成され、元のインデックスからの、予測された仰角インデックスおよび方位角インデックスに関連する仰角および方位角に関する符号付き距離が計算され、オプションで、値の別のより小さい間隔に低減される。
【0144】
図5eに示すように、
図5dに示す予測値を導出するための投影演算を使用するモデル化操作によって生成されたデータは、エントロピー符号化される。
図5eに示すこの符号化操作は、最終的に、対応するデータから符号化ビットを生成する。ブロック271において、方位角および仰角の平均値は、符号付きの値に変換され、よりコンパクトな表現を有するために、特定の並べ替え272が実行され、それらの平均値は、仰角平均ビット274と方位角平均ビットとを生成するために、バイナリコードまたはパンクチャドバイナリコードを用いて符号化される(273)。ブロック275において、
図5fに示すようにGolomb-Riceパラメータが決定され、このパラメータは次いで、仰角に関するGolomb-Riceパラメータと、277に示す方位角に関する別のGolomb-Riceパラメータとを有するために、ブロック276に示す(パンクチャド)バイナリコードを用いて符号化もされる。ブロック278において、ブロック270によって計算された(低減された)符号付き距離は、並べ替えられ、280に示す符号化された仰角距離と方位角距離とを有するために、279に示す拡張Golomb-Rice方法を用いて符号化される。
【0145】
図5fは、仰角Golomb-Riceパラメータまたは方位角Golomb-Riceパラメータ両方の決定のために実行されるブロック275におけるGolomb-Riceパラメータの決定のための好ましい実装形態を示す。ブロック281において、対応するGolomb-Riceパラメータについて間隔が決定される。ブロック282において、各候補値について、すべての低減された符号付き距離に関するビットの総数が計算され、ブロック283において、最小のビット数をもたらす候補値が、方位角処理または仰角処理のいずれかのためのGolomb-Riceパラメータとして選択される。
【0146】
続いて、
図5gについて、
図5eのブロック279における手順、すなわち、拡張Golomb-Rice方法をさらに例示するために論じる。選択されたGolomb-Riceパラメータpに基づいて、仰角または方位角のいずれかに関する距離インデックスは、ブロック284の右側に示すように、最上位部分MSPと最下位部分LSPとに分離される。ブロック285において、MSPが可能な最大値である場合、MSP部分の終端ゼロビットが除去され、ブロック286において、結果は、(パンクチャド)バイナリコードを用いて符号化される。
【0147】
LSP部分も、287に示す(パンクチャド)バイナリコードを用いて符号化される。したがって、ライン288および289において、最上位部分MSPに関する符号化されたビットおよび最下位部分LSPに関する符号化されたビットが取得され、これらは一緒に、仰角または方位角のいずれかに関する対応する符号化された低減された符号付き距離を表す。
【0148】
図8dは、符号化された方向に関する例を示す。モードビット806は、例えば、モデル化を伴うエントロピー符号化モードを示す。
図5eのアイテム274に関して上記で論じたように、アイテム808aは、方位角平均ビットを示し、アイテム808bは、仰角平均ビットを示す。Golomb-Rice方位角パラメータ808cおよびGolomb-Rice仰角パラメータ808dも、アイテム277に関して上記で論じたものに対応する
図8dのビットストリーム内に符号化された形態で含まれる。符号化された仰角距離および符号化された方位角距離808eおよび808fは、288および289において得られたように、または
図5eおよび
図5gにおけるアイテム280に関して上記で論じたようにビットストリーム内に含まれる。アイテム808gは、さらなる仰角/方位角距離のためのさらなるペイロードビットを示す。仰角および方位角に関する平均、ならびに仰角および方位角のためのGolomb-Riceパラメータは、フレームごとに1回のみ必要とされるが、フレームが非常に長いか、もしくは信号統計がフレーム内で大きく変化する場合、必要ならば、1フレームなどに対して2回計算され得る。
【0149】
図8cは、モードビットが
図5cのブロック260によって定義された生のコーディングを示すときのビットストリームを示す。モードビット806は、生コーディングモードを示し、アイテム808は、球インデックスに関するペイロードビット、すなわち、
図5cのブロック262の結果を示す。
【0150】
方向パラメータのエントロピーコーディング
量子化された方向をコーディングするとき、仰角インデックスel_idxが常に最初にコーディングされ、その後、方位角インデックスaz_idxがコーディングされる。現在の構成が水平赤道面のみを考慮に入れている場合、仰角についてなにもコーディングされず、どこでもゼロと見なされる。
【0151】
コーディングする前に、一般的な並べ替え変換を使用することによって、符号付きの値が符号なしの値にマッピングされ、この変換は、正の数および負の数を、u_val=2・|s_val|-(s_val<0)として符号なしの数にインタリーブし、ReorderGeneric関数によって実装される。式(条件)は、条件が真の場合には1に評価され、条件が偽の場合には0に評価される。
【0152】
EncodeQuasiUniform関数を使用して、いくつかのより小さい符号なしの値が1ビット少なくより効率的にコーディングされるので、ゼロの符号付きのインデックス値がゼロの仰角または方位角に対応するように、すでに符号なしの仰角インデックスと方位角インデックスの両方は、符号付きに変換され、その後にのみReorderGeneric関数が適用される。最初に符号付きに変換することによって、ゼロ値は、可能な値の符号付き間隔の中央に位置し、ReorderGeneric関数を適用した後に、結果として生じる符号なしの並べ替えられた仰角インデックス値は、
【0154】
であり、結果として生じる符号なしの並べ替えられた方位角インデックス値は、az_idx_r=ReorderGeneric(az_idx-az_alph・(az_idx≧az_alph÷2))である。
【0155】
モデル化を伴わない生コーディングの場合、2つの符号なしの並べ替えられたインデックスは、1つの符号なしの球インデックスsphere_idx=sphere_offsets(deg_req,el_idx_r)+az_idx_rにマージされ、ここで、sphere_offsets関数は、el_idx_rよりも小さい符号なしの並べ替えられた仰角インデックスに対応するすべての方位角アルファベットaz_alphの合計を計算する。例えば、deg_req=90の場合、el_idx_r=0(仰角0度)がaz_alph=4を有し、el_idx_r=1(仰角-90度)がaz_alph=1を有し、el_idx_r=2(仰角90度)がaz_alph=1を有する場合、sphere_offsets(90,2)は、値4+1をとる。現在の構成が水平赤道面のみを考慮に入れている場合、el_idx_rは、常に0であり、符号なしの球インデックスは、sphere_idx=az_idx_rに単純化される。一般に、球上の点の総数、または球の点カウントは、sphere_alph=sphere_offsets(deg_req,el_alph+1)である。
【0156】
符号なしの球インデックスshpere_idxは、EncodeQuasiUniform関数を使用してコーディングされる。モデル化を伴うエントロピーコーディングの場合、量子化された方向は、2つのカテゴリにグループ化される。第1のカテゴリは、エントロピーコーディングされた拡散インデックスdiff_idx(b)≦ec_maxに関する量子化された方向を含み、第2のカテゴリは、生コーディングされた拡散インデックスdiff_idx(b)>ec_maxに関する量子化された方向を含み、ここで、ec_maxは、diff_alphに応じて最適に選択されたしきい値である。この手法は、残差の統計を混合することを回避するために、低から中の拡散性を有する周波数帯域もフレーム内に存在する場合、高拡散性を有する周波数帯域をエントロピーコーディングから暗黙的に除外する。混合拡散性フレームの場合、高拡散性を有する周波数帯域に対して常に生コーディングが使用される。しかしながら、すべての周波数帯域が高拡散性を有するdiff_idx(b)>ec_maxの場合、すべての周波数帯域に対するエントロピーコーディングを可能にするために、しきい値は、ec_max=diff_alphに事前に設定される。
【0157】
エントロピーコーディングされた量子化された方向の第1のカテゴリの場合、対応する仰角インデックスel_idx、仰角アルファベットel_alph、方位角インデックスaz_idx、および方位角アルファベットaz_alphは、さらなる処理のために別々のベクトルに収集される。
【0158】
エントロピーコーディングされた各々の量子化された方向を方向ベクトルに変換し戻し、繰り込みを含む方向ベクトルの平均、中央値、またはモードのいずれかを計算し、平均方向ベクトルを平均仰角el_avgおよび方位角az_avgに変換することによって、平均方向ベクトルが導出される。これらの2つの値は、deg_req_avgによって示されるエントロピーコーディングされた量子化された方向によって使用される最高の角度精度deg_reqを使用して量子化され。この角度精度は、通常、b∈{0,...,nbands-1}およびdiff_idx(b)≦ec_maxに関する、最小の拡散インデックスmin(diff_idx(b))に対応する必要とされる角度精度である。
【0159】
deg_req_avgから導出された対応するn_points_avg値を使用して、el_avgは、通常量子化され、el_avg_idxおよびel_avg_alphを生成するが、az_avgは、赤道における精度を使用して量子化され、az_avg_idxおよびaz_avg_alph=4・n_points_avgを生成する。
【0160】
エントロピーコーディングされるべき方向ごとに、予測された仰角および方位角インデックスを取得するために、逆量子化された平均仰角q_el_avgおよび方位角q_az_avgは、その方向の精度を使用して投影される。仰角インデックスel_idxについて、el_alphから導出され得るその精度は、投影された平均仰角インデックスel_avg_idx_pを計算するために使用される。対応する方位角インデックスaz_idxについて、az_alphから導出され得る、q_el仰角において位置する水平円におけるその精度は、投影された平均方位角インデックスaz_avg_idx_pを計算するために使用される。
【0161】
予測された仰角および方位角インデックスを取得するための投影は、いくつかの同等の方法において計算され得る。仰角について、
【0165】
に容易に単純化され得る。ビット正確な演算を容易にするために、前の式は、除算を含む整数のみの数学を使用して、el_avg_idx_p=(2・el_avg_idx・(el_alph-1)+(el_avg_alph-1))div(2・(el_avg_alph-1))として書き換えられ得る。方位角について、
【0169】
に容易に単純化され得る。ビット正確な演算を容易にするために、前の式は、除算を含む整数のみの数学を使用して、az_avg_idx_p=((2・az_avg_idx・az_alph+az_avg_alph)div(2・az_avg_alph))mod az_alphとして書き換えられ得る。az_alph=1である極において、常にaz_idx=0を有し、az_avg_idx_p=0を直接設定する。
【0170】
符号付き距離el_idx_distは、各仰角インデックスel_idxとその対応するel_avg_idx_pとの間の差として計算される。加えて、差は、間隔{-el_alph+1,...,el_alph-1}における値を生成するので、それらは、モジュラ演算のように、小さすぎる値についてel_alphを加算し、大きすぎる値についてel_alphを減算することによって、間隔
【0172】
に低減される。el_avg_idx_pに対するこの低減された距離がラップアラウンドを使用して解釈される場合、el_alph値を含む符号なしのアルファベットから/までのすべての値を生成することができる。
【0173】
同様に、符号付き距離az_idx_distは、各方位角インデックスaz_idxとその対応するaz_avg_idx_pとの間の差として計算される。差演算は、間隔{-az_alph+1,...,az_alph-1}内の値を生成し、それらは、小さすぎる値についてaz_alphを加算し、大きすぎる値についてaz_alphを減算することによって、間隔{-az_alph÷2,...,az_alph÷2-1}に低減される。az_alph=1の場合、方位角インデックスは、常にaz_idx=0であり、なにもコーディングされる必要はない。
【0174】
それらの値に応じて、量子化された仰角および方位角インデックスは、2つの利用可能な方法、すなわち、生コーディングまたはエントロピーコーディングのうちの1つを使用してコーディングされ得る。第1のビット(dir_use_raw_coding)は、生コーディング方法が使用されるかどうかを示す。生コーディングの場合、マージされたsphere_index単一符号なし球インデックスは、EncodeQuasiUniform関数を使用して直接コーディングされる。
【0175】
エントロピーコーディングは、いくつかの部分で構成される。拡散インデックスdiff_idx(b)>ec_maxに対応するすべての量子化された仰角および方位角インデックスは、生コーディングと同様にコーディングされる。次いで、その他の場合、仰角部分が最初にエントロピーコーディングされ、その後に方位角部分が続けられる。
【0176】
仰角部分は、平均仰角インデックス、Golomb-Riceパラメータ、および低減された符号付き仰角距離の3つの構成要素で構成される。平均仰角インデックスel_avg_idxは、ゼロ値が可能な値の符号付き間隔の中央にあるように符号付きに変換され、ReorderGeneric関数が適用され、結果は、EncodeQuasiUniform関数を使用してコーディングされる。仰角インデックスのアルファベットサイズの最大値に応じたアルファベットサイズを有するGolomb-Riceパラメータは、EncodeQuasiUniform関数を使用してコーディングされる。最後に、各々の低減された符号付き仰角距離el_idx_distについて、ReorderGeneric関数がel_idx_dist_rを生成するために適用され、結果は、上記に示したパラメータを用いて拡張Golomb-Rice方法を使用してコーディングされる。
【0177】
例えば、使用される最高の角度精度deg_req_minが5度である場合、仰角アルファベットサイズel_alphの最大値は、
【0179】
になる。この場合、Golomb-Riceパラメータ値(以下のGolomb-Rice方法の説明ではpと表記される)は、間隔{0,1,2,3,4}に制限される。一般に、Golomb-Riceパラメータの潜在的に有用な最大値は、
【0181】
であり、この値は、EncodeQuasiUniform関数を使用する生コーディングによって生成されるものと同じかまたはわずかに長い長さのバイナリコードワードを生成する。Golomb-Riceパラメータel_gr_paramの最適値は、上記の間隔における値ごとに、拡張Golomb-Rice方法を使用してコーディングされるべきすべてのel_idx_dist_r値に関するビットにおける合計サイズを、コーディングなしで効率的に計算し、最小のビットサイズを提供するものを選択することによって選択される。
【0182】
方位角部分も、平均方位角インデックス、Golomb-Riceパラメータ、および低減された符号付き方位角距離の3つの構成要素で構成される。平均方位角インデックスaz_avg_idxは、ゼロ値が可能な値の符号付き間隔の中央にあるように符号付きに変換され、ReorderGeneric関数が適用され、結果は、EncodeQuasiUniform関数を使用してコーディングされる。方位角インデックスのアルファベットサイズの最大値に応じたアルファベットサイズを有するGolomb-Riceパラメータは、EncodeQuasiUniform関数を使用してコーディングされる。最後に、各々の低減された符号付き方位角距離az_idx_distについて、ReorderGeneric関数がaz_idx_dist_rを生成するために適用され、結果は、上記に示したパラメータを用いて拡張Golomb-Rice方法を使用してコーディングされる。
【0183】
例えば、使用される最高の角度精度deg_req_minが5度である場合、方位角アルファベットサイズaz_alphの最大値は、
【0185】
になる。この場合、Golomb-Riceパラメータ値(以下のGolomb-Rice方法の説明ではpと表記される)は、間隔{0,1,2,3,4,5}に制限される。Golomb-Riceパラメータaz_gr_paramの最適値は、上記の間隔における値ごとに、拡張Golomb-Rice方法を使用してコーディングされるべきすべてのaz_idx_dist_r値に関するビットにおける合計サイズを効率的に計算し、最小のビットサイズを提供するものを選択することによって選択される。
【0186】
効率的なエントロピーコーディングのために考慮に入れる重要な特性は、各々の並べ替えられた低減された仰角距離el_idx_dist_rが異なるアルファベットサイズを有する場合があり、このアルファベットサイズが正確に元の仰角インデックス値el_idxのel_alphであり、対応する拡散インデックスdiff_idx(b)に依存することである。また、各々の並べ替えられた低減された方位角距離az_idx_dist_rは、異なるアルファベットサイズを有する場合があり、このアルファベットサイズが正確に元の方位角インデックス値az_idxのaz_alphであり、その水平円の対応するq_elと拡散インデックスdiff_idx(b)の両方に依存する。
【0187】
整数パラメータp≧0の既存のGolomb-Riceエントロピーコーディング方法は、符号なしの整数uをコーディングするために使用される。最初に、uは、pビットを有する最下位部分u_lsp=u mod2
pと、最上位部分
【0189】
とに分割される。最上位部分は、u_mspの1ビットと終端ゼロビットとを使用して単項でコーディングされ、最下位部分は、バイナリでコーディングされる。
【0190】
任意に大きい整数がコーディングされ得るので、コーディングされるべき実際の値が既知の比較的小さいアルファベットサイズを有する場合、いくらかのコーディング効率が失われる場合がある。別の欠点は、伝送エラーまたは故意に作成された無効なビットストリームが生じた場合、範囲外もしくは無効な値を復号する可能性、または非常に多数の1ビットを読み取る可能性である。
【0191】
拡張Golomb-Rice方法は、各々が既知の潜在的に異なるアルファベットサイズu_alphを有する値のベクトルをコーディングするために、既存のGolomb-Rice方法に対する3つの改善を組み合わせる。まず、最上位部分のアルファベットサイズは、
【0193】
として計算され得る。最上位部分の可能な最大値がコーディングされる場合、この条件は、デコーダ側において暗黙的に検出され得るので、u_msp_alph-1となり、終端ゼロビットが除去され得、修正形態(modification)は、既存の制限されたGolomb-Rice方法である。加えて、同じケースについて、u_msp=u_msp_alph-1の場合、u_alph-(u_msb_alph-1)・2
pとして計算され得る最下位部分u_lspのアルファベットサイズは、2
pよりも小さい場合があり、pビットを用いるバイナリコーディングの代わりにEncodeQuasiUniform関数を使用することを可能にする。これは、特定の値uが2
pよりも小さいアルファベットu_alphを有する場合にも有用である。最後に、u_msp_alph≦3の場合、制限されたGolomb-Rice方法は、pもしくはp+1ビットの1つの長さのみを有するコード、または、p+1およびp+2ビットの2つの長さのみを有するコードを生成する。EncodeQuasiUniform関数は、最大2つの長さに最適であり、したがって、代わりに使用される。
【0194】
u_msp_alph=3の場合、最上位部分に関する制限されたGolomb-Riceのコードワードが0、10、11であるので、3のしきい値は、特に好ましい値であり、したがって、コードの全長は、1+p、2+p、および2+pであり、ここで、pは、最下位部分に関するビット数であり、パンクチャドコードは、最大2つの長さに対して常に最適であるので、代わりに使用され、最上位部分と最下位部分の両方を置き換える。
【0195】
さらに、関数EncodeQuasiUniformが正確にパンクチャドコードであり、アルファベットサイズが2のべき乗である場合、それが暗黙的にバイナリコードになることが概説されるべきである。一般に、パンクチャドコードは、最適であり、アルファベットサイズが与えられると一意に決定され、1つまたは2つの長さのみのコードを生成し、3つ以上の連続するコード長の場合、可能なコードは、もはや準均一ではなく、各長さの可能なコードの数について様々な選択肢が存在する。
【0196】
本発明は、上記の正確な説明に限定されない。代替的には、本発明は、フレーム間予測コーディング方式の形態において容易に拡張され得、ここで、パラメータ帯域ごとに、現在のフレーム全体に関する単一の平均方向ベクトルを計算するのではなく、現在のフレームから、およびオプションで以前のフレームから、時間全体で以前の方向ベクトルを使用し、それをサイド情報として量子化およびコーディングすることによって平均方向ベクトルが計算される。この解決策は、コーディングにおいてより効率的であるという利点を有するが、あり得るパケット損失に対してより堅牢ではない。
【0197】
図6aから
図6gは、上記で論じたようにエンコーダにおいて実行されるさらなる手順を示す。
図6aは、量子化仰角関数210aと、量子化方位角関数210bと、逆量子化仰角関数210cとで構成されるパラメータ量子化器210の一般的な概要を示す。
図6aの好ましい実施形態は、量子化され、再び逆量子化された仰角値q_elに依存する方位角関数210cを有するパラメータ量子化器を示す。
【0198】
図6cは、エンコーダについて
図6aに関して上記で論じたように、仰角を逆量子化するための対応する逆量子化器を示す。しかしながら、
図6bの実施形態は、
図8aのアイテム840において示されている逆量子化器にも有用である。逆量子化精度deg_reqに基づいて、逆量子化された仰角値q_elと逆量子化された方位角値q_azとを最終的に取得するために、一方では仰角インデックスおよび他方では方位角インデックスは、逆量子化される。
図6cは、第1の符号化モード、すなわち、
図5cにおけるアイテム260から262に関して論じた生コーディングモードを示す。
図6cは、247aにおける仰角データの符号付き値への変換と、247bにおける方位角データの符号付き値への対応する変換とを示す、
図5bにおいて論じた前処理をさらに示す。248aに示すように仰角について、および、248bに示すように方位角について、並べ替えが行われる。量子化または逆量子化精度に基づいて、球アルファベットを計算するために、球点カウント手順がブロック248cにおいて実行される。ブロック261において、両方のインデックスの単一の球インデックスへのマージが実行され、ブロック262における符号化は、バイナリまたはパンクチャドバイナリコードを用いて実行され、ここで、この球インデックスに加えて、対応する逆量子化精度に関する球アルファベットも、
図5cに示すように導出される。
【0199】
図6dは、モデル化を伴うエントロピーコーディングモードのために実行される手順を示す。アイテム267aにおいて、方位角および仰角データの逆量子化が、対応するインデックスと逆量子化精度とに基づいて実行される。逆量子化された値は、逆量子化された値から方向ベクトルを計算するために、ブロック267bに入力される。ブロック267cにおいて、平均化されたベクトルを取得するために、対応するしきい値を下回る関連する拡散インデックスを有するベクトルに対して平均化が実行される。ブロック267dにおいて、方向平均方向ベクトルは、再び仰角平均および方位角平均に変換され、これらの値は、次いで、ブロック268eによって決定されるような最高の精度を使用して量子化される。この量子化は、268a、268bにおいて示され、量子化は、対応する量子化されたインデックスと量子化アルファベットとを結果として生じ、ここで、アルファベットは、平均値に関する量子化精度によって決定される。ブロック268cおよび268dにおいて、仰角および方位角に関する逆量子化された平均値を取得するために、再び逆量子化が実行される。
【0200】
図6eにおいて、投影された仰角平均がブロック269aにおいて計算され、投影された方位角平均がブロック269bにおいて計算され、すなわち、
図6eは、
図5dのブロック269の好ましい実装形態を示す。
図6eに示すように、ブロック269a、269bは、好ましくは、仰角および方位角に関する量子化され、再び逆量子化された平均値を受け取る。代替的には、投影は、ブロック267dの出力に対しても直接実行され得るが、量子化および再び逆量子化の手順は、より高い精度と、エンコーダ側およびデコーダ側における状態とのより高い互換性とのために好ましい。
【0201】
図6fにおいて、好ましい実施形態における
図5dのブロック270に対応する手順が示されている。ブロック278a、278bにおいて、対応する差、または
図5dのブロック270において呼ばれているように「距離」は、元のインデックスと投影されたインデックスとの間で計算される。対応する間隔の低減は、仰角データについてブロック270cにおいて、方位角データについて270dにおいて実行される。ブロック270e、270fにおける並べ替えに次いで、
図5eから
図5gに関して上記で論じたように、拡張Golomb-Rice符号化を受けるべきデータが取得される。
【0202】
図6gは、仰角平均および方位角平均に関する符号化されたビットを生成するために実行される手順に関するさらなる詳細を示す。ブロック271aおよび271bは、仰角および方位角平均データの符号付きデータへの変換を示し、その後のReorderGeneric関数は、ブロック272aおよび272bにおいて両方の種類のデータに関して示されている。アイテム273aおよび273bは、上記で論じた符号化準均一関数などの(パンクチャド)バイナリコードを使用するこのデータの符号化を示す。
【0203】
図7aは、符号化された指向性オーディオコーディングパラメータを含む符号化されたオーディオ信号を復号するための第1の態様によるデコーダを示し、符号化された指向性オーディオコーディングパラメータは、符号化された拡散パラメータと符号化された方向パラメータとを含む。装置は、第1の時間または周波数分解能を有する復号された拡散パラメータと、第2の時間または周波数分解能を有する復号された方向パラメータとを取得するために、符号化された指向性オーディオコーディングパラメータを復号するためのパラメータプロセッサ300を備える。パラメータプロセッサ300は、復号された拡散パラメータまたは復号された方向パラメータを変換された拡散パラメータまたは変換された方向パラメータに変換するためのパラメータ分解能変換器710に接続される。代替的には、ヘッジ線(hedged line)によって示されているように、パラメータ分解能変換器710は、符号化されたパラメトリックデータを用いてパラメータ分解能処理をすでに実行することができ、変換された符号化されたパラメータは、パラメータ分解能変換器710からパラメータプロセッサ300に送られる。この後者の場合、パラメータプロセッサ300は、次いで、処理された、すなわち、復号されたパラメータをオーディオレンダラ420に直接供給する。しかしながら、復号された拡散パラメータと復号された方向パラメータとを用いてパラメータ分解能変換を実行することが好ましい。
【0204】
復号された方向パラメータおよび拡散パラメータは、典型的には、オーディオレンダラ420に供給されるときに、第3または第4の時間または周波数分解能を有し、ここで、第3または第4の分解能は、パラメータプロセッサ300によって出力されるときのこれらにパラメータに固有の分解能よりも高い。
【0205】
復号された拡散パラメータおよび復号された方向パラメータに固有の時間または周波数分解能は、互いに異なり、典型的には、復号された拡散パラメータは、復号された方向パラメータと比較してより低い時間または周波数分解能を有するので、パラメータ分解能変換器710は、復号された拡散パラメータと復号された方向パラメータとを用いて異なるパラメータ分解能変換を実行するように構成される。
図3aから
図3cに関して前で論じたように、オーディオレンダラ420によって使用される最高分解能は、
図3bにおいて示されているものであり、
図3cにおいて示されている中分解能は、復号された方向パラメータに固有のものであり、復号された拡散パラメータに固有の低分解能は、
図3bにおいて示されているものである。
【0206】
図3aから
図3cは、3つの非常に特定の時間または周波数分解能を示す単なる例である。高い時間または周波数分解能、中程度の分解能、および低い分解能が存在するという点で同じ傾向を有する任意の他の時間または周波数分解能も、本発明によって適用され得る。
図3bおよび
図3cの例において示されているように、両方のこれらの分解能が同じ周波数分解能を有するが、異なる時間分解能を有するか、またはその逆の場合、時間または周波数分解能は、別の時間または周波数分解能よりも低い。この例では、周波数分解能は、
図3bおよび
図3cにおいて同じであるが、
図3cが中程度の分解能を示すが、
図3bが低い分解能を示すように、時間分解能は、
図3cにおいてより高い。
【0207】
第3または第4の高い時間または周波数分解能において動作するオーディオレンダラ420の結果は次いで、スペクトル/時間変換器440に転送され、スペクトル/時間変換器440は次いで、
図1bに関して前ですでに論じたように、時間領域マルチチャネルオーディオ信号450を生成する。スペクトル/時間変換器440は、オーディオレンダラ420によって生成されたスペクトル領域からのデータをライン450における時間領域に変換する。オーディオレンダラ420が動作するスペクトル領域は、フレームについて、第1の数の時間スロットと第2の数の周波数帯域とを含む。フレームは、第1の数と第2の数との乗算結果に等しい数の時間/周波数ビンを含み、第1の数および第2の数は、第3の時間または周波数分解能、すなわち、高い時間または周波数分解能を定義する。
【0208】
分解能変換器710は、第1の時間または周波数分解能に関連する拡散パラメータから、いくつかの少なくとも4つの拡散パラメータを生成するように構成され、ここで、これらの拡散パラメータのうちの2つは、時間において隣接する時間/周波数ビンのためのものであり、それらの少なくとも4つの拡散パラメータのうちの他の2つは、周波数において互いに隣接する時間/周波数ビンのためのものである。
【0209】
拡散パラメータに関する時間または周波数分解能は、方向パラメータについてよりも低いので、パラメータ分解能変換器は、復号された拡散パラメータについて、多数の変換された拡散パラメータを生成し、復号された方向パラメータについて、第2の多数の変換された方向パラメータを生成するように構成され、ここで、第2の多数は、第1の多数よりも多い。
【0210】
図7bは、パラメータ分解能変換器によって実行される好ましい手順を示す。ブロック721において、パラメータ分解能変換器710は、フレームに関する拡散/方向パラメータを取得する。ブロック722において、拡散パラメータの乗算、または少なくとも4つの高分解能時間/周波数ビンへのコピー動作が実行される。ブロック723において、高分解能表現にある乗算されたパラメータに対して、平滑化またはローパスフィルタリングなどのオプションの処理が実行される。ブロック724において、高分解能パラメータは、対応する高分解能機能時間/周波数ビンにおける対応するオーディオデータに適用される。
【0211】
図8aは、第1の態様による、符号化された拡散パラメータと符号化された方向パラメータとを含む符号化された指向性オーディオコーディングパラメータを含む符号化されたオーディオ信号を復号するためのデコーダの好ましい実装形態を示す。符号化されたオーディオ信号は、入力インターフェースに入力される。入力インターフェース800は、符号化されたオーディオ信号を受け取り、符号化されたオーディオ信号から、典型的にはフレームごとに、符号化された拡散パラメータと符号化された方向パラメータとを分離する。このデータは、パラメータデコーダ820に入力され、パラメータデコーダ820は、符号化されたパラメータから、量子化された拡散パラメータと量子化された方向パラメータとを生成し、ここで、量子化された方向パラメータは、例えば、方位角インデックスおよび仰角インデックスである。このデータは、量子化された拡散パラメータおよび量子化された方向パラメータから、逆量子化された拡散パラメータと逆量子化された方向パラメータとを決定するためのパラメータ逆量子化器840に入力される。このデータは次いで、あるオーディオフォーマットを別のオーディオフォーマットに変換するために使用され得、または、オーディオ信号をマルチチャネル信号に、もしくはAmbisonics表現、MPS表現、もしくはSAOC表現などの任意の他の表現においてレンダリングするために使用され得る。
【0212】
ブロック840によって出力された逆量子化されたパラメータは、ブロック710において
図7aに関して上記で論じたように、オプションのパラメータ分解能変換器に入力され得る。変換されたまたは変換されていないパラメータは、
図8aに示すオーディオレンダラ420、440に入力され得る。符号化されたオーディオ信号が符号化されたトランスポート信号を追加で含む場合、入力インターフェース800は、符号化されたオーディオ信号から符号化されたトランスポート信号を分離するように構成され、このデータを、
図8bに関して上記ですでに論じたオーディオトランスポート信号デコーダ340に供給する。結果は、オーディオレンダラ420に供給する時間-スペクトル変換器430に入力される。オーディオレンダラ420が
図1bに示すように実装される場合、時間領域への変換は、
図1bの合成フィルタバンク440を使用して実行される。
【0213】
図8bは、典型的には、符号化された拡散パラメータを参照するビットストリームおいて編成された、符号化されたオーディオ信号の一部を示す。拡散パラメータは、
図8bに示し、前で論じた3つの異なるモードを示すための好ましくは2つのモードビット802をそれに関連付けている。拡散パラメータに関する符号化されたデータは、ペイロードデータ804を含む。
【0214】
方向パラメータに関するビットストリーム部分は、前で論じた
図8cおよび
図8dに示されており、ここで、
図8cは、生コーディングモードが選択されている状況を示し、
図8dは、モデル化を伴うエントロピー復号モードがモードビットまたはモードフラグ806によって選択されている/示されている状況を示す。
【0215】
図8aのパラメータデコーダ820は、ブロック850において示されているように、時間/周波数領域に関する拡散ペイロードデータを復号するように構成され、時間/周波数領域は、好ましい実施形態では、低い分解能を有する時間/周波数領域である。ブロック851において、時間/周波数領域に関する逆量子化精度が決定される。この逆量子化精度に基づいて、
図8eのブロック852は、拡散パラメータが関連付けられた時間/周波数領域について同じである逆量子化精度を使用する方向パラメータの復号および/または逆量子化を示す。
図8eの出力は、
図3cの1つの帯域などの時間/周波数領域に関する復号された方向パラメータのセット、すなわち、図示の例では、フレームにおける1つの帯域に関する4つの方向パラメータである。
【0216】
図8fは、デコーダのさらなる特徴と、特に、
図8aのパラメータデコーダ820およびパラメータ逆量子化器840とを示す。逆量子化精度が拡散パラメータに基づいて決定されるか、またはその他の場所で明示的にシグナリングもしくは決定されるかどうかに関係なく、ブロック852aは、時間/周波数領域に関するシグナリングされた逆量子化精度からの仰角アルファベットの決定を示す。ブロック852bにおいて、仰角データは、ブロック852bの出力において、逆量子化された仰角パラメータを取得するために、時間/周波数領域に関する仰角アルファベットを使用して復号され、オプションで逆量子化される。ブロック852cにおいて、時間/周波数領域に関する方位角アルファベットは、ブロック851からの逆量子化精度だけでなく、
図4dの単位球の準均一カバレッジに関して上記で論じた状況を反映するために、量子化されたまたは逆量子化された仰角データからも同様に決定される。ブロック852dにおいて、方位角アルファベットを用いる方位角データの復号およびオプションで逆量子化が、時間/周波数領域に対して実行される。
【0217】
第2の態様による本発明は、好ましくは、それらの2つの特徴を組み合わせるが、2つの特徴、すなわち、
図8aの一方の特徴または
図8fの他方の特徴は、互いに別々にも適用され得る。
【0218】
図8gは、
図8cおよび
図8dにおいて論じたモードビット806によって示されているように生復号モードが選択されるかまたはモデル化を伴う復号モードが選択されるかに依存するパラメータ復号の概要を示す。生復号が適用されるべき場合、帯域に関する球インデックスは、862に示すように復号され、帯域に関する量子化された方位角/仰角パラメータは、ブロック864に示すように復号された球インデックスから計算される。
【0219】
モデル化を伴う復号がモードビット806によって示された場合、帯域/フレームにおける方位角/仰角データに関する平均がブロック866によって示されるように復号される。ブロック868において、帯域における方位角/仰角情報に関する距離が復号され、ブロック870において、対応する量子化された仰角および方位角パラメータは、典型的には加算演算を使用して計算される。
【0220】
生復号モードまたはモデル化を伴う復号モードのどちらが適用されているかに関係なく、
図8aにおける840において示されているように、復号された方位角/仰角インデックスが逆量子化され(872)、ブロック874において、結果は、帯域のためのデカルト座標に変換され得る。代替的には、方位角および仰角データがオーディオレンダラにおいて直接使用され得る場合、ブロック874におけるそのような変換は、必要ない。デカルト座標への変換がとにかく行われる場合、変換の前または後に、任意の潜在的に使用されるパラメータ分解能変換が適用され得る。
【0221】
続いて、デコーダの追加の好ましい実装形態に関して
図9aから
図9cも参照する。
図9aは、ブロック862に示す復号動作を示す。
図8eまたは
図8fにおけるブロック851によって決定される逆量子化精度に応じて、ブロック248cにおける機能的球点カウントは、符号化中にも適用された実際の球アルファベットを決定するために実行される。球インデックスに関するビットは、ブロック862において復号され、2つのインデックスへの分解は、864aに示すように実行され、
図9aにおいてより詳細に与えられる。
図8gのブロック872における後続の逆量子化のための仰角インデックスと、方位角インデックスと、対応するアルファベットとを最終的に取得するために、並べ替え関数864b、864c、ならびにブロック864dおよび864eにおける対応する変換関数が実行される。
【0222】
図9bは、他の復号モード、すなわち、モデル化を伴う復号モードのための対応する手順を示す。ブロック866aにおいて、平均に関する逆量子化精度は、エンコーダ側に関して前で論じたものに即して計算される。アルファベットは、ブロック866bにおいて計算され、ブロック866cおよび866dにおいて、
図8dの対応するビット808a、808bが復号される。エンコーダ側において実行された対応する動作を元に戻すかまたは模倣するために、後続の変換動作866g、866hにおいて、並べ替え関数866e、866fが実行される。
【0223】
図9cは、好ましい実施形態における完全な逆量子化動作840を追加で示す。ブロック852aは、
図8fに関してすでに論じたように仰角アルファベットを決定し、方位角アルファベットの対応する計算がブロック852cにおいて同様に実行される。投影計算動作820a、820eは、仰角および方位角についても実行される。仰角および方位角のための並べ替え手順820bおよび820fも同様に実行され、対応する加算演算820c、820gも同様に実行される。仰角に関するブロック820dおよび方位角に関するブロック820hにおける対応する間隔低減も同様に実行され、仰角の逆量子化がブロック840aおよび840bにおいて実行される。
図9cは、この手順が特定の順序を意味すること、すなわち、最初に仰角データが逆量子化された仰角データに基づいて処理され、方位角データの復号および逆量子化が本発明の好ましい実施形態において実行されることを示す。
【0224】
続いて、好ましい実施形態の利益および利点について要約する。
・モデルの一般性を損なわない、DirACによって生成された空間メタデータの効率的なコーディング。それは、DirACを低ビットレートコーディング方式に統合するための成功への鍵である。
・異なる時間(またはオプションで周波数)分解能を用いる方向および拡散パラメータのグループ化および平均化:拡散は、方向よりも長期の音場の特性を保持し、これは、より反応的な空間的手がかりであるので、拡散は、方向よりも長い時間にわたって平均される。
・3D球の準均一な動的カバレッジ、X、Y、およびZ座標軸に対して完全に対称、ならびに任意の所望な角度分解能が可能である。
・量子化および逆量子化動作が、一定の複雑さである(最も近いコードベクトルの検索が必要ではない)。
・量子化された点インデックスの符号化および復号が、球上の量子化された点の総数に対して一定のまたは最大で対数的な複雑さを有する。
・1つのフレームに関するDirAC空間メタデータ全体の最悪の場合のエントロピーコーディングサイズが、生コーディングのものよりも2ビットだけ多くに常に制限される。
・潜在的に異なるアルファベットサイズを有するシンボルのベクトルをコーディングするのに最適な拡張Golomb-Riceコーディング方法。
・方向の効率的なエントロピーコーディングに平均方向を使用し、量子化された平均方向を最も高い分解能から各方位角および仰角の分解能にマッピングする。
・混合拡散フレームについて、事前定義されたしきい値を超える高い拡散性を有する方向に対して常に生コーディングを使用する。
・その対応する拡散性の関数として、各方向に関する角度分解能を使用する。
【0225】
本発明の第1の態様は、第1および第2の時間または周波数分解能を用いて拡散パラメータと方向パラメータとを処理することと、その後の各値の量子化および符号化を対象とする。この第1の態様は、加えて、異なる時間/周波数分解能を用いるパラメータのグループ化にも言及する。さらなる態様は、グループ化内の振幅測定関連の重み付けを実行することに関し、さらなる追加の態様は、対応する重みの基礎として対応する拡散パラメータを使用する方向パラメータの平均化およびグループ化のための重み付けに関する。上記の態様について、第1のクレームセットにおいて説明および詳述する。
【0226】
囲まれた例のセットにおいて続いて詳述される本発明の第2の態様は、量子化とコーディングとを実行することを対象とする。この態様は、第1の態様において概説された特徴なしで実行され得、または、第1の態様において詳述された対応する特徴とともに使用され得る。
【0227】
したがって、特許請求の範囲および例のセットにおいて詳述され、特許請求の範囲および例の様々な従属項において詳述されている様々な態様のすべては、互いに独立して使用され得、または、一緒に使用され得、請求項のセットのすべての態様が例のセットのすべての態様とともに使用されることが、最も好ましい実施形態にとって特に好ましい。
【0228】
例のセットは、以下の例を含む。
1.拡散パラメータと方向パラメータとを含む指向性オーディオコーディングパラメータを符号化するための装置であって、
第1の時間または周波数分解能を用いて拡散パラメータを計算し、第2の時間または周波数分解能を用いて方向パラメータを計算するためのパラメータ計算機(100)と、
拡散パラメータおよび方向パラメータの量子化および符号化された表現を生成するための量子化器およびエンコーダプロセッサ(200)と
を備える、装置。
2.パラメータ計算機(100)が、第2の時間または周波数分解能が第1の時間または周波数分解能と異なるように、拡散パラメータと方向パラメータとを計算するように構成される、例1の装置。
3.パラメータ計算機(100)が、第1の時間分解能が第2の時間分解能よりも低くなるように、または第2の周波数分解能が第1の周波数分解能よりも高くなるように、または第1の時間分解能が第2の時間分解能よりも低く、第1の周波数分解能が第2の周波数分解能と等しくなるように、拡散パラメータと方向パラメータとを計算するように構成される、例1または2の装置。
4.パラメータ計算機(100)が、周波数帯域のセットについて、拡散パラメータと方向パラメータとを計算するように構成され、より低い中心周波数を有する帯域が、より高い中心周波数を有する帯域よりも狭い、上記の例のいずれか1つの装置。
5.パラメータ計算機(100)が、第3の時間または周波数分解能を有する初期拡散パラメータを取得し、第4の時間または周波数分解能を有する初期方向パラメータを取得するように構成され、
パラメータ計算機(100)が、第3の時間または周波数分解能が第1の時間または周波数分解能よりも高くなるように、初期拡散パラメータをグループ化および平均化するように構成され、または
パラメータ計算機(100)が、第4の時間または周波数分解能が第2の時間または周波数分解能よりも高くなるように、初期方向パラメータをグループ化および平均化するように構成される、
上記の例のいずれか1つの装置。
6.第3の時間または周波数分解能および第4の時間または周波数分解能が互いに等しい、例5の装置。
7.第3の時間分解能または周波数分解能が、各初期拡散パラメータが同じサイズを有する時間スロットまたは周波数ビンに関連付けられるように、一定の時間または周波数分解能であり、または
第4の時間または周波数分解能が、各初期方向パラメータが同じサイズを有する時間スロットまたは周波数ビンに関連付けられるように、一定の時間または周波数分解能であり、
パラメータ計算機(100)が、第1の複数の時間スロットに関連付けられた第1の複数の拡散パラメータにわたって平均化するように構成され、または
パラメータ計算機(100)が、第2の複数の周波数ビンに関連付けられた第2の複数の拡散パラメータにわたって平均化するように構成され、または
パラメータ計算機(100)が、第3の複数の時間スロットに関連付けられた第3の複数の方向パラメータにわたって平均化するように構成され、または
パラメータ計算機(100)が、第4の複数の周波数ビンに関連付けられた第4の複数の方向パラメータにわたって平均化するように構成される、
例5または6の装置。
8.パラメータ計算機(100)が、重み付け平均を使用して平均化するように構成され、重み付け平均では、より高い振幅関連測定値を有する入力信号部分から導出された拡散パラメータまたは方向パラメータが、より低い振幅関連測定値を有する入力信号部分から導出された拡散パラメータまたは方向パラメータと比較してより高い重み付け係数を使用して重み付けされる、例5から7のいずれか1つの装置。
9.振幅関連測定値が、時間部分もしくは周波数部分における電力もしくはエネルギー、または、時間部分もしくは周波数部分において1と等しいかもしくは異なる負ではない実数で累乗された電力もしくはエネルギーである、例8の装置。
10.パラメータ計算機(100)が、拡散パラメータまたは方向パラメータが、第1または第2の時間または周波数分解能に対応する入力信号の時間部分から導出された振幅関連測定値に対して正規化されるように、平均化を実行するように構成される、例5から9のいずれか1つの装置。
11.パラメータ計算機(100)が、重み付け平均を使用して初期方向パラメータをグループ化および平均化するように構成され、より低い拡散性を示す第1の拡散パラメータを有する第1の時間部分に関連付けられている第1の方向パラメータが、より高い拡散性を示す第2の拡散パラメータを有する第2の時間部分に関連付けられている第2の方向パラメータよりも強く重み付けされる、例5から9のいずれか1つの装置。
12.パラメータ計算機(100)が、初期方向パラメータが2つまたは3つの方向の各々に関する成分を有するデカルトベクトルを各々含むように、初期方向パラメータを計算するように構成され、パラメータ計算機(100)が、デカルトベクトルの各々の成分について別々に平均化を実行するように構成されるか、または、成分が、方向パラメータに関するデカルトベクトルの二乗した成分の合計が1に等しくなるように正規化される、上記の例のいずれか1つの装置。
13.複数の入力チャネルを有する入力信号を入力チャネルごとの時間-周波数表現に分解するための時間-周波数分解器をさらに備えるか、または、
時間周波数分解器が、複数の入力チャネルを有する入力信号を、第3の時間もしくは周波数分解能または第4の時間もしくは周波数分解能を有する入力チャネルごとの時間-周波数表現に分解するように構成される、上記の例のいずれか1つの装置。
14.時間-周波数分解器が、各サブバンド信号に関する複素数値を結果として生じる変調フィルタバンクを備え、各サブバンド信号が、フレームおよび周波数帯域あたり複数の時間スロットを有する、例6から13のいずれか1つの装置。
15.装置が、第1または第2の時間または周波数分解能の指示を、デコーダへの送信またはストレージのための量子化および符号化された表現に関連付けるように構成される、上記の例のいずれか1つの装置。
16.拡散パラメータおよび方向パラメータの量子化および符号化された表現を生成するための量子化器およびエンコーダプロセッサ(200)が、添付の請求項1から26のいずれか一項において定義されるように、拡散パラメータと方向パラメータとを量子化するためのパラメータ量子化器と、量子化された拡散パラメータと量子化された方向パラメータとを符号化するためのパラメータエンコーダとを備える、上記の例のいずれか1つの装置。
17.拡散パラメータと方向パラメータとを含む指向性オーディオコーディングパラメータを符号化するための方法であって、
第1の時間または周波数分解能を用いて拡散パラメータを計算し、第2の時間または周波数分解能を用いて方向パラメータを計算するステップと、
拡散パラメータおよび方向パラメータの量子化および符号化された表現を生成するステップと
を含む、方法。
18.符号化された拡散パラメータと符号化された方向パラメータとを含む指向性オーディオコーディングパラメータを含む符号化されたオーディオ信号を復号するためのデコーダであって、デコーダが、
第1の時間または周波数分解能を有する復号された拡散パラメータと、第2の時間または周波数分解能を有する復号された方向パラメータとを取得するために、符号化された指向性オーディオコーディングパラメータを復号するためのパラメータプロセッサ(300)と、
符号化もしくは復号された拡散パラメータまたは符号化もしくは復号された方向パラメータを、第3の時間または周波数分解能を有する変換された拡散パラメータまたは変換された方向パラメータに変換するためのパラメータ分解能変換器(710)であって、第3の時間または周波数分解能が、第1の時間もしくは周波数分解能もしくは第2の時間もしくは周波数分解能、または、第1の時間もしくは周波数分解能および第2の時間もしくは周波数分解能と異なる、パラメータ分解能変換器(710)と
を備える、デコーダ。
19.スペクトル領域において動作するオーディオレンダラ(420)をさらに備え、スペクトル領域が、フレームが第1の数と第2の数の乗算結果に等しい数の時間/周波数ビンを含むように、1フレームについて、第1の数の時間スロットと第2の数の周波数帯域とを含み、第1の数および第2の数が第3の時間または周波数分解能を定義する、例18のデコーダ。
20.スペクトル領域において動作するオーディオレンダラ(420)をさらに備え、スペクトル領域が、フレームが第1の数と第2の数の乗算結果に等しい数の時間/周波数ビンを含むように、1フレームについて、第1の数の時間スロットと第2の数の周波数帯域とを含み、第1の数および第2の数が第4の時間または周波数分解能を定義し、第4の時間または周波数分解能が第3の時間または周波数分解能以上である、例18または19のデコーダ。
21.第1の時間または周波数分解能が第2の時間または周波数分解能よりも低く、
パラメータ分解能変換器(710)が、復号された拡散パラメータから第1の多数の変換された拡散パラメータを生成し、復号された方向パラメータから第2の多数の変換された方向パラメータを生成するように構成され、第2の多数が第1の多数よりも大きい、例18から20のいずれか1つのデコーダ。
22.符号化されたオーディオ信号が一連のフレームを含み、各フレームが周波数帯域において編成され、各フレームが周波数帯域ごとに1つのみの符号化された拡散パラメータと、周波数帯域ごとに少なくとも2つの時系列方向パラメータとを含み、
パラメータ分解能変換器(710)が、復号された拡散パラメータを、周波数帯域内のすべての時間ビンか、またはフレーム内の周波数帯域内に含まれる各時間/周波数ビンに関連付け、
周波数帯域の少なくとも2つの方向パラメータのうちの1つを、時間ビンの第1のグループと、周波数帯域内に含まれる各時間/周波数ビンとに関連付け、
少なくとも2つの方向パラメータのうちの第2の復号された方向パラメータを、時間ビンの第2のグループと、周波数帯域内に含まれる各時間/周波数ビンとに関連付ける
ように構成され、第2のグループが第1のグループ内の時間ビンのいずれも含まない、
例18から21のいずれか1つのデコーダ。
23.符号化されたオーディオ信号が符号化されたオーディオトランスポート信号を含み、デコーダが、
復号されたオーディオ信号を取得するために、符号化されたトランスポートオーディオ信号を復号するためのオーディオデコーダ(340)と、
復号されたオーディオ信号を、第3の時間または周波数分解能を有する周波数表現に変換するための時間/周波数変換器(430)と
を備える、
例18から22のいずれか1つのデコーダ。
24.合成スペクトル表現を取得するために、変換された拡散パラメータおよび変換された方向パラメータを、第3の時間または周波数分解能においてオーディオ信号のスペクトル表現に適用するためのオーディオレンダラ(420)と、
第3の時間または周波数分解能の分解能よりも高い時間分解能を有する合成された時間領域空間オーディオ信号を取得するために、第3または第4の時間または周波数分解能において合成スペクトル表現を変換するためのスペクトル/時間変換器(440)と
を備える、例18から23のいずれか1つのデコーダ。
25.パラメータ分解能変換器(710)が、コピー動作を使用して、復号された方向パラメータを乗算するか、または、コピー動作を使用して、復号された拡散パラメータを乗算するか、または、乗算された方向パラメータのセットもしくは乗算された拡散パラメータのセットを平滑化もしくはローパスフィルタリングするように構成される、例18から24のいずれか1つのデコーダ。
26.第2の時間または周波数分解能が、第1の時間または周波数分解能とは異なる、例18から25のいずれか1つのデコーダ。
27.第1の時間分解能が第2の時間分解能よりも低いか、または第2の周波数分解能が第1の周波数分解能よりも高いか、または第1の時間分解能が第2の時間分解能よりも低く、第1の周波数分解能が第2の周波数分解能に等しい、例18から26のいずれか1つのデコーダ。
28.パラメータ分解能変換器(710)が、復号された拡散パラメータと復号された方向パラメータとを、帯域のセットに関する対応する数の周波数隣接変換パラメータ(frequency adjacent converted parameter)に乗算するように構成され、より低い中心周波数を有する帯域が、より高い中心周波数を有する帯域よりも少ない乗算されたパラメータを受け取る、例18から27のいずれか1つのデコーダ。
29.パラメータプロセッサ(300)が、符号化されたオーディオ信号のフレームに関する量子化された拡散パラメータを取得するために、そのフレームに関する符号化された拡散パラメータを復号するように構成され、パラメータプロセッサ(300)が、量子化または逆量子化された拡散パラメータを使用して、フレームに関する少なくとも1つの方向パラメータの逆量子化のための逆量子化精度を決定するように構成され、
パラメータプロセッサが、逆量子化精度を使用して、量子化された方向パラメータを逆量子化するように構成される、
例18から28のいずれか1つのデコーダ。
30.パラメータプロセッサ(300)が、逆量子化のためにパラメータプロセッサ(300)によって使用されるべき逆量子化精度から、フレームに関する符号化された方向パラメータを復号するための復号アルファベットを決定するように構成され、
パラメータプロセッサ(300)が、決定された復号アルファベットを使用して、符号化された方向パラメータを復号し、逆量子化された方向パラメータを決定するように構成される、
例18から29のいずれか1つのデコーダ。
31.パラメータプロセッサ(300)が、方向パラメータを逆量子化するためにパラメータプロセッサ(300)によって使用されるべき逆量子化精度から、符号化された仰角パラメータの処理のための仰角アルファベットを決定し、仰角アルファベットを使用して取得された仰角インデックスから、方位角アルファベットを決定するように構成され、
パラメータプロセッサ(300)が、方位角アルファベットを使用して、符号化された方位角パラメータを逆量子化するように構成される、
例18から30のいずれか1つのデコーダ。
32.符号化された拡散パラメータと符号化された方向パラメータとを含む指向性オーディオコーディングパラメータを含む符号化されたオーディオ信号を復号する方法であって、方法が、
第1の時間または周波数分解能を有する復号された拡散パラメータと、第2の時間または周波数分解能を有する復号された方向パラメータとを取得するために、符号化された指向性オーディオコーディングパラメータを復号するステップ(300)と、
符号化もしくは復号された拡散パラメータまたは符号化もしくは復号された方向パラメータを、第3の時間または周波数分解能を有する変換された拡散パラメータまたは変換された方向パラメータに変換するステップ(710)であって、第3の時間または周波数分解能が、第1の時間もしくは周波数分解能もしくは第2の時間もしくは周波数分解能、または、第1の時間もしくは周波数分解能および第2の時間もしくは周波数分解能と異なる、ステップ(710)と
を含む、方法。
33.コンピュータまたはプロセッサ上で実行されているときに、例17または32の方法を実行するためのコンピュータプログラム。
【0229】
パラメータ表現を含む発明の符号化されたオーディオ信号は、デジタル記憶媒体もしくは非一時的記憶媒体上に記憶され得、または、ワイヤレス伝送媒体もしくはインターネットなどの有線伝送媒体などの伝送媒体上で伝送され得る。
【0230】
いくつかの態様について装置の文脈において説明したが、これらの態様は、対応する方法の説明も表すことは明らかであり、ブロックまたは装置は、方法ステップまたは方法ステップの特徴に対応する。類似して、方法ステップの文脈において説明した態様は、対応する装置の対応するブロックまたはアイテムまたは特徴の説明も表す。
【0231】
特定の実装形態要件に応じて、本発明の実施形態は、ハードウェアまたはソフトウェアにおいて実装され得る。実装形態は、それぞれの方法が実行されるようにプログラム可能コンピュータシステムと協働する(または協働することができる)電子的可読制御信号が記憶された、デジタル記憶媒体、例えば、フロッピーディスク、DVD、CD、ROM、PROM、EPROM、EEPROM、またはフラッシュメモリを使用して実行され得る。
【0232】
本発明によるいくつかの実施形態は、本明細書で説明した方法のうちの1つが実行されるようにプログラム可能コンピュータシステムと協働することができる電子的可読制御信号を有するデータキャリアを備える。
【0233】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装され得、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されると、方法のうちの1つを実行するように動作する。プログラムコードは、例えば、機械可読キャリア上に記憶されてもよい。
【0234】
他の実施形態は、機械可読キャリアまたは非一時的記憶媒体上に記憶された、本明細書で説明した方法のうちの1つを実行するためのコンピュータプログラムを含む。
【0235】
言い換えれば、本発明の方法の一実施形態は、したがって、コンピュータプログラムがコンピュータ上で実行されると、本明細書で説明した方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0236】
本発明の方法のさらなる実施形態は、したがって、本明細書で説明した方法のうちの1つを実行するための記録されたコンピュータプログラムを含むデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。
【0237】
本発明の方法のさらなる実施形態は、したがって、本明細書で説明した方法のうちの1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、データ通信接続を介して、例えば、インターネットを介して転送されるように構成されてもよい。
【0238】
さらなる実施形態は、本明細書で説明した方法のうちの1つを実行するように構成または適合された処理手段、例えば、コンピュータ、またはプログラム可能論理デバイスを備える。
【0239】
さらなる実施形態は、本明細書で説明した方法のうちの1つを実行するためのコンピュータプログラムがインストールされているコンピュータを備える。
【0240】
いくつかの実施形態において、プログラム可能論理デバイス(例えば、フィールドプログラマブルゲートアレイ)が、本明細書で説明した方法の機能の一部またはすべてを実行するために使用されてもよい。いくつかの実施形態において、フィールドプログラマブルゲートアレイは、本明細書で説明した方法のうちの1つを実行するために、マイクロプロセッサと協働してもよい。一般に、方法は、好ましくは、任意のハードウェア装置によって実行される。
【0241】
上記で説明した実施形態は、本発明の原理のための単なる例示である。本明細書で説明した配置および詳細の修正形態および変形形態は、当業者には明らかであろうことが理解される。したがって、差し迫った特許請求の範囲によってのみ限定され、本明細書における実施形態の記述および説明によって提示された特定の詳細によって限定されないことが意図である。
【0242】
参考文献
[1]V. Pulkki、M-V. Laitinen、J. Vilkamo、J. Ahonen、T. Lokki、およびT. Pihlajamaki、「Directional audio coding - perception-based reproduction of spatial sound」、International Workshop on the Principles and Application on Spatial Hearing、2009年11月、Zao;日本、宮城県。
[2]V. Pulkki、「Virtual source positioning using vector base amplitude panning」、J. Audio Eng. Soc., 45(6):456〜466、1997年6月。
[3]J. AhonenおよびV. Pulkki、「Diffuseness estimation using temporal variation of intensity vectors」、in Workshop on Applications of Signal Processing to Audio and Acoustics WASPAA、Mohonk Mountain House、New Paltz、2009年。
[4]T. Hirvonen、J. Ahonen、およびV. Pulkki、「Perceptual compression methods for metadata in Directional Audio Coding applied to audiovisual teleconference」、AES 126th Convention、2009年、5月7〜10日、ミュンヘン、ドイツ。