(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-19
(54)【発明の名称】フィルタの効率的なモデリング
(51)【国際特許分類】
H04S 7/00 20060101AFI20240711BHJP
【FI】
H04S7/00 300
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024500675
(86)(22)【出願日】2022-09-07
(85)【翻訳文提出日】2024-01-30
(86)【国際出願番号】 EP2022074787
(87)【国際公開番号】W WO2023036795
(87)【国際公開日】2023-03-16
(32)【優先日】2021-09-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】チャン, メンチウ
(72)【発明者】
【氏名】カールソン, エルレンドゥール
【テーマコード(参考)】
5D162
【Fターム(参考)】
5D162AA11
5D162CA26
5D162CD02
5D162CD03
5D162CD04
5D162CD07
5D162EG02
(57)【要約】
フィルタのセットをモデル化するための方法が提供される。方法は、フィルタのインデクス範囲内のインデクスそれぞれに関連付けられた特徴値のセットを取得することと、取得した特徴値のセットを使用してインデクス範囲を複数のセグメントに分割するここと、を含む。方法は、複数のセグメントのうちの少なくとも1つのセグメントのフィルタモデルを決定することと、決定したフィルタモデルを出力することとも含む。
【特許請求の範囲】
【請求項1】
フィルタのセットをモデル化するための方法(900)であって、
前記フィルタのインデクス範囲内のインデクスそれぞれに関連付けられた特徴値のセットを取得(s902)することと、
取得した前記特徴値のセットを使用して前記インデクス範囲を複数のセグメントに分割(s904)することと、
前記複数のセグメントのうちの少なくとも1つのセグメントのフィルタモデルを決定(s906)することと、
決定した前記フィルタモデルを出力(s908)することと、
を含む方法。
【請求項2】
請求項1に記載の方法であって、
前記特徴値のセットを取得することは、前記インデクス範囲に含まれる各インデクスに関連付けられた特徴値を計算することを含む、方法。
【請求項3】
請求項2に記載の方法であって、
前記インデクス範囲に含まれる各インデクスに関連付けられた前記特徴値は、複数のサンプル角度で取得されたフィルタ値に関連付けられた数学的値を用いて計算される、方法。
【請求項4】
請求項3に記載の方法であって、
前記数学的値は、複数のサンプル角度で得られた前記フィルタ値の平均値、最大値、最小値及び分散値のうちのいずれか1つである、方法。
【請求項5】
請求項1から4のいずれか1項に記載の方法であって、
前記インデクス範囲を前記複数のセグメントに分割することは、
前記特徴値を複数のクラスタにクラスタリングすることと、
前記複数のクラスタを使用して前記インデクス範囲を前記複数のセグメントに分割することと、
を含む方法。
【請求項6】
請求項1から4のいずれか1項に記載の方法であって、
前記インデクス範囲を前記複数のセグメントに分割することは、
前記特徴値のセットに含まれる各特徴値を閾値と比較することと、
各特徴値と前記閾値との比較に基づいて、前記インデクス範囲を前記複数のセグメントに分割することと、
を含む方法。
【請求項7】
請求項1から6のいずれか1項に記載の方法であって、
前記インデクス範囲を前記複数のセグメントに分割することは、前記インデクス範囲を第1セグメントと第2セグメントに分割することを含み、
前記少なくとも1つのセグメントの前記フィルタモデルを決定することは、前記第1セグメントの第1フィルタモデルと、前記第2セグメントの第2フィルタモデルを決定することを含む、方法。
【請求項8】
請求項7に記載の方法であって、
前記第1フィルタモデル及び/又は前記第2フィルタモデルは基底関数の関数であり、
前記第1フィルタモデルの基底関数の数は、前記第2フィルタモデルの基底関数の数とは異なる、方法。
【請求項9】
請求項7に記載の方法であって、
前記第1フィルタモデル及び/又は前記第2フィルタモデルは基底関数の関数であり、
前記第1フィルタモデルの前記基底関数の次数は、前記第2フィルタモデルの前記基底関数の次数とは異なる、方法。
【請求項10】
請求項7に記載の方法であって、
前記第1フィルタモデル及び/又は前記第2フィルタモデルは基底関数の関数であり、
前記第1フィルタモデルの前記基底関数の次数と前記第2フィルタモデルの前記基底関数の次数は同じである、方法。
【請求項11】
請求項7から10のいずれか1項に記載の方法であって、さらに、
前記第1セグメントの第1変動レベルを計算することと、
前記第2セグメントの第2変動レベルを計算することと、
を含み、
前記第1フィルタモデルは、前記第1変動レベルに基づいて前記第1セグメントのために決定され、
前記第2フィルタモデルは、前記第2変動レベルに基づいて前記第2セグメントのために決定される、方法。
【請求項12】
請求項11に記載の方法であって、
前記第1変動レベルは、前記第1セグメントに関連付けられた1つ以上の特徴値に基づいて決定され、
前記第2変動レベルは、前記第2セグメントに関連付けられた1つ以上の特徴値に基づいて決定される、方法。
【請求項13】
請求項1から12のいずれか1項に記載の方法であって、さらに、
セグメント化データセットの第1セットとセグメント化データセットの第2セットを含むセグメント化データセットのセットを取得することを含み、
セグメント化データセットの前記第1セットは、前記複数のセグメントのうちの第1セグメントに関連付けられたセグメント化フィルタパラメータの第1セットを含み、
セグメント化データセットの前記第2セットは、前記複数のセグメントのうちの第2セグメントに関連付けられたセグメント化フィルタパラメータの第2セットを含み、
前記第1セグメントと前記第2セグメントは互いにオーバラップしない、方法。
【請求項14】
請求項6から13のいずれか1項に記載の方法であって、さらに、
前記インデクス範囲に沿った前記特徴値の分布を分析することと、
前記インデクス範囲の特定のセグメントに含められる特定数の特徴値を示す特徴量値を取得することと、
前記閾値以上の前記特徴値の数が前記特徴量値以上となる様に前記閾値を設定することと、
を含む方法。
【請求項15】
処理回路(1002)で実行されると、前記処理回路に、請求項1から14のいずれか1項に記載の方法を実行させる命令(1044)を含むコンピュータプログラム(1043)。
【請求項16】
請求項15に記載のコンピュータプログラムを含むキャリアであって、前記キャリアは、電気信号、光信号、無線信号、及び、コンピュータ可読記憶媒体の内の1つである、キャリア。
【請求項17】
フィルタのセットをモデル化するための装置(1000)であって、
前記フィルタのインデクス範囲内のインデクスそれぞれに関連付けられた特徴値のセットを取得(s902)することと、
取得した前記特徴値のセットを使用して前記インデクス範囲を複数のセグメントに分割(s904)することと、
前記複数のセグメントのうちの少なくとも1つのセグメントのフィルタモデルを決定(s906)することと、
決定した前記フィルタモデルを出力(s908)することと、
を行う様に構成されている装置。
【請求項18】
請求項17に記載の装置であって、さらに、請求項2から14のいずれか1項に記載の方法を実行する様に構成されている、装置。
【請求項19】
装置(1000)であって、
メモリ(1042)と、
前記メモリに結合された処理回路(1002)と、を備え、
前記装置は、請求項1から14のいずれか1項に記載の方法を実行する様に構成されている、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、フィルタの効率的なモデリングのための方法及び装置に関する。
【背景技術】
【0002】
我々は、我々に向かって伝播する音波を捉える2つの耳を有する。
図1は、球面座標系における仰角と方位角のペアによって特定される到来方向(DOA)からリスナに向かって伝播する音波を示している。我々に向かう伝播経路上において、それぞれの音波は、左右の鼓膜に到達する前に、上半身、頭、外耳、及び周囲の物質と相互作用する。この相互作用により、左右の鼓膜に到達する波形の時間的及びスペクトル的な変化が生じ、その一部はDOAに依存する。我々の聴覚システムは、音波自体のさまざまな空間特性と、リスナがいる音響環境を推測するために、これらの変化を解釈することを学習している。この能力は、空間聴覚と呼ばれ、音イベント(物理的な音源)によって引き起こされる聴覚イベントの位置を推測するために、バイノーラル信号(つまり、右と左の外耳道内の音信号)に埋め込まれた空間キューをどの様に評価するかと、我々がいる物理的環境(小さな部屋、タイル張りのバスルーム、講堂、洞窟など)によって引き起こされる音響特性と、に関係する。この人間の能力である空間聴覚は、音の空間認識につながるバイノーラル信号内の空間キューを再導入することによって、空間オーディオシーンを作成するために利用され得る。
【0003】
主な空間キューは、1)角度関連キュー:バイノーラルキュー、つまり、両耳間レベル差(ILD)、両耳時間差(ITD)及びモノラル(又はスペクトル)キューと、2)距離関連キュー:強度と直接残響(D/R)エネルギー比と、を含む。
図2は、リスナに向かって伝播する音波のITDとスペクトルキューの例を示している。2つのプロットは、仰角0度、方位角40度で得られた1対のHRフィルタの振幅応答を示している(データはCIPICデータベースからのものである:subject-ID28)。データベースは公開されており、URL www.ece.ucdavis.edu/cipic/spatial-sound/ultf-data/からアクセスできる)。波形の短時間のDOA依存の時間及びスペクトル変化(1~5ミリ秒)を数学的に表現したものが、いわゆるHRフィルタである。これらのフィルタの周波数領域(FD)表現が、いわゆる、頭部伝達関数(HRTF)であり、時間領域(TD)表現が、頭部関連インパルス応答(HRIR)である。HRフィルタベースのバイノーラルレンダリングアプローチが徐々に確立されており、空間オーディオシーンは、望ましい位置の1対のHRフィルタを使用してオーディオソース信号を直接フィルタ処理することによって生成される。このアプローチは、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、拡張現実(XR)などの多くの新興アプリケーションや、ヘッドセットが一般的に使用されるモバイル通信システムにとって特に魅力的である。
【0004】
HRフィルタは、元の音信号(入力信号)を左右の耳の信号(出力信号)に変換する線形動的システムのインパルス応答として測定から推定されることが多く、この信号は、聴取対象者(例:人工頭部、マネキン、又は人間の被験者)からの一定半径の球面上において事前に定義された仰角及び方位角のセットで聴取対象者の耳チャネルの内部で測定され得る。推定されたHRフィルタは、有限インパルス応答(FIR)フィルタとして提供されることが多く、その形式で直接使用できる。効率的なバイノーラルレンダリングを実現するには、一対のHRTFを両耳間伝達関数(ITF)に変換するか、突然のスペクトルピークを防ぐために修正されたITFを使用する。代替的に、HRTFはパラメトリック表現によって記述され得る。その様なパラメータ化されたHRTFは、MPEGサラウンドや空間オーディオオブジェクトコーディング(SAOC)などのパラメトリックマルチチャネルオーディオコーダと容易に統合される。
【0005】
空間オーディオ信号をレンダリングして、空間内の任意の位置における音の説得力のある空間認識を提供するには、対応する位置に1対のHRフィルタが必要であり、したがって、2次元(2D)球体上の細かくサンプリングされた位置にHRフィルタのセットが必要である。最小可聴角度(MAA)は、音イベントの角変位に対する聴覚系の感度を特徴付ける。方位角での定位に関しては、広帯域ノイズバーストの場合、MAAは前方と後方(約1度)で最も小さく、横方向の音源(約10度)でははるかに大きいと報告されている。正中面のMAAは高さとともに増加する。広帯域ノイズバーストでは、仰角方向において平均4度もの小さなMAAが報告されている。現在、SADIEデータベース、CIPICデータベースなど、空間内で高密度にサンプリングされた、公的に利用可能なHRフィルタデータベースが幾つかある。ただし、特に仰角のサンプルでは、MAA要件を完全に満たすものはない。人工頭部NeumannKU100とKEMARマネキンのSADIEデータセットには8000を超える測定値が含まれているが、MAA研究によると、仰角-15度から15度までのサンプリング解像度は4度が必要であるのに対し、15度である。実際のフィルタが測定されていない位置で音源をレンダリングできる様に、必然的にHRフィルタの角度補間が必要になる。
図3は、2D球上のサンプリンググリッドの例を示し、ドットはHRフィルタが測定される位置を示している。
【0006】
HRフィルタの角度補間のために、さまざまな補間スキームが開発されている。一般に、HRフィルタのM個のペア
【数1】
は、球面上の
【数2】
での測定値から推定され、ここで、rは右耳を示し、lは左耳を示し、
【数3】
は仰角を示し、
【数4】
は方位角を示す。タスクは、非サンプリング角度で、良好な知覚精度でオーディオレンダリングを実現する左右のフィルタを提供する関数
【数5】
を見つけることであり、ここで、
【数6】
である。
【数7】
が取得されると、左耳と右耳のHRフィルタは、
【数8】
で指定される任意の場所で生成され得る。混乱を避けるために、上付き文字l又はrが省略される場合があることに注意されたい。
【0007】
HRTF角度補間には2つの主なアプローチがある。
【0008】
(1)ローカル近隣アプローチ:一般的に採用されるアプローチは、最も近い周囲の位置で測定されたHRTFの寄与を重み付けすることによって、欠落しているHRTFを推測する線形補間である。HRTFは補間前に前処理することができる、たとえば、2つ以上の最も近い位置で測定されたHRTFが最初に最小位相に変換され、次に線形補間が適用される。
【0009】
(2)変分的アプローチ:より洗練されたデータ駆動型のアプローチは、測定されたHRTFを一連の基底関数によって定義される別の空間に線形変換することであり、この場合、1つの基底関数セットは仰角と方位角の次元をカバーし、別のセットは周波数の次元をカバーする。基底関数は、測定されたHRTFの共分散行列の固有分解によって取得され得る。2D球面上で完全かつ直交する球面調和関数(SH)は、仰角及び方位角の次元をカバーする基底関数として広く使用されている。基本スプライン(Bスプライン)関数は、HRフィルタのモデリングに使用され得る。
【発明の概要】
【発明が解決しようとする課題】
【0010】
音源の空間位置を正確かつ効率的にレンダリングする機能は、HRフィルタベースの空間オーディオレンダラの重要な機能の1つである。レンダラで使用されるHRフィルタセットの空間解像度によって、レンダリングされる音源の空間解像度が決まる。2D球面上で粗くサンプリングされたHRフィルタセットを使用すると、VR/AR/MR/XRユーザは、通常、移動する音の空間的不連続性を報告する。このような空間的不連続性は、オーディオとビデオの同期エラーを引き起こし、没入感を大幅に低下させる。解決策の1つは、球上で細かくサンプリングされたHRフィルタセットを使用することである。ただし、MAA要件を満たす細かいグリッド上の入出力測定からHRフィルタセットを推定することは、被験者と実験者の両方にとって非常に時間がかかり、退屈な作業となる可能性がある。したがって、与えられたまばらにサンプリングされたHRフィルタデータセットから、欠落しているHRフィルタに関する空間関連情報を推論する方が効率的である。
【0011】
最近傍HRフィルタ補間法は、サンプリングされた各位置のHRフィルタが特定の有限距離までのエリアにのみ影響を与えることを前提としている。サンプリングされていない位置のHRフィルタは、特定のカットオフ距離内の位置、又は直線2Dグリッド上の指定された数の最も近い点からのHRフィルタの加重平均として近似される。この方法は単純で、計算の複雑さが低いため、効率的な実装が可能になる。ただし、補間の精度は、説得力のある空間オーディオシーンを生成するには十分ではない場合がある。これは、サンプルポイント間の条件の変動が、フィルタの加重平均で生成できるものよりも複雑であるからである。
【0012】
変分的アプローチでは、HRフィルタが仰角と方位角
【数9】
の関数として表される。一般的な形式において、モデルは、
【数10】
で表され、ここで、fは、すべてのモデルパラメータを含むαと、すべての基底関数を含むΑでの線形関数又は非線形関数であり得る。基底関数は学習可能又は事前定義され得る。線形モデルが使用されるか非線形モデルが使用されるかに拘らず、最適なモデルパラメータベクトルα^は、選択した損失関数Lを最小化するベクトルαとして取得され、これは、正則化項
【数11】
を含み、ここで、h(θ[m],φ[m]:α,Α)は、指定されたα及びΑのサンプリング角度(θ[m],φ[m])でのHRフィルタh[m]の近似値である。基底関数のセットが与えられると、その係数α^は最小化問題を解くという意味で「最もよく」適合すると見なされる。最適化されたモデルパラメータを持つモデルは
【数12】
で表される。
【0013】
原則として、基底関数の選択に制限はない。主成分(PC)は基底関数としてしばしば使用され、PCは、データセット内のHRフィルタの共分散行列の固有分解によって取得される。結果として得られるモデルは効率的である。これは元のデータセットをよく表しているが、欠落している位置でHRTFを補間するメカニズムはない。最近、主成分分析(PCA)とモデル係数を偏導関数で近似する最近傍法とを組み合わせたハイブリッド法が提案された。ただし、ハイブリッド法では、最近傍ベースの双線形補間と同様の結果しか得られない。
【0014】
もう1つの一般的に使用される基底関数は、球面調和関数(SH)である。SHモデルは、モデルの平均二乗誤差(MSE)の点で期待できるレベルのパフォーマンスをもたらす。SH基底関数は複雑で評価にコストがかかるため、リアルタイムVR/AR/MR/XRシステムで使用することは基本的に不可能である。
【0015】
BスプラインHRフィルタモデルを使用して、空間内の任意の位置にHRフィルタを生成できる。このモデルはMSE測定の点で正確であり、モデルからHRフィルタを評価するために必要な知覚評価と計算量は、球面調和関数やその他の複雑な基底関数を使用するモデルよりもはるかに低くなる。
【0016】
ただし、BスプラインHRフィルタモデルは、バイノーラル化に対する各タップの寄与が大幅に異なる場合でも、フィルタ全体の各タップに等しい重みを与える。この様に重みが等しいとモデルに冗長性が生じるため、モデリング効率をさらに向上させる必要がある。
【課題を解決するための手段】
【0017】
本開示の実施形態は、HRフィルタの効率的なモデリングのための方法を提供する。HRフィルタセット内の各HRフィルタは、インデクス範囲を有するデータシーケンスとして表され、本開示の実施形態は、フィルタを表すデータシーケンスのインデクス範囲の自動セグメンテーションを通じて効率的なモデリングを達成でき、フィルタは、セグメントの変動特性に依存する、各セグメントの個別のフィルタモデルを用いてモデル化される。結果として得られるHRフィルタモデルは、さまざまなセグメントにわたるフィルタモデルで構成され、空間内の任意の場所でHRフィルタを生成するために使用され、これは、リアルタイムVR/AR/MR/XRシステムで使用するのに正確かつ効率的である。結果として得られるHRフィルタモデルは、MSE測定及び知覚評価の点で正確であり得る。また、結果として得られるHRフィルタモデルは、基底関数の総数、及びHRフィルタモデルから得られるHRフィルタを評価するために必要な計算量の点で効率的であり得る。
【0018】
以下に説明する実施形態は、球面仰角及び方位角にわたるHRフィルタセットのモデル化に焦点を当てているが、これらの実施形態は、球面の仰角と方位角の連続空間にわたってモデル化され得る離散球面仰角及び方位角のセットにわたってサンプリングされた任意のデータ配列セットを処理するために使用することができる。これらのデータ配列(及び/又はシーケンス)は、時間領域又は他の変換された領域(周波数領域など)で表現され得る。
【0019】
任意の位置で正確かつ効率的にHRフィルタを生成するために、一態様では、フィルタのセット(例えば、頭部関連(HR)フィルタ)の効率的なモデリングのための方法が提供される。方法は、フィルタを表すデータシーケンスのインデクス範囲内のインデクスにそれぞれ関連付けられた特徴値のセットを取得すること(例えば、256タップFIR HRフィルタは1~256のインデクス範囲を有する)と、取得した特徴値のセットを使用してインデクス範囲を複数のセグメントに分割するここと、を含む。方法は、複数のセグメントのうちの少なくとも1つのセグメントのフィルタモデルを決定することと、決定されたフィルタモデルを出力することとをさらに含む。
【0020】
別の態様において、処理回路によって実行されると、処理回路に上述した方法を実行させる命令を含むコンピュータプログラムが提供される。
【0021】
別の態様において、フィルタセット(例えば、頭部関連(HR)フィルタ)を効率的にモデリングするための装置が提供される。装置は、フィルタを表すデータシーケンスのインデクス範囲(たとえば、256タップFIRフィルタのインデクス範囲は1~256)内のインデクスにそれぞれ関連付けられた特徴値のセットを取得し、取得した特徴値のセットを使用して、インデクス範囲を複数のセグメントに分割する様に構成されている。装置は、複数のセグメントのうちの少なくとも1つのセグメントのフィルタモデルを決定し、決定したフィルタモデルを出力する様にさらに構成されている。
【0022】
以降、フィルタを表すデータ列のインデクス範囲をフィルタのインデクス範囲として参照する。
【0023】
別の態様では、メモリと、メモリに接続された処理回路とを備える装置が提供される。この装置は、上述の方法を実行する様に構成されている。
【0024】
幾つかの実施形態において、フィルタセットが異なる変分特性(例えば、小さいものから大きいものまで)でモデル化され得るセグメント(データシーケンスのインデクス付きドメイン内)が自動的に識別され、異なるモデル複雑度を有するモデルは、異なるセグメントの異なる変動特性に依存する異なるセグメントに使用され得る。たとえば、大きな変動特性を持つセグメントは複雑なモデルで表され、小さな変動特性を持つセグメントは単純なモデルで表され得る。
【0025】
セグメントとモデルの複雑さのレベルの間のこの識別的なマッピングにより、データシーケンスの効率的なモデル表現が実現され、元のデータシーケンスよりもメモリに必要なスペースが大幅に少なくなる。さらに、フィルタモデルの構築には、球面の仰角と方位角にわたって高密度にサンプリングされたデータシーケンスを必要としない。最後に、セグメントとモデルの複雑さのレベル間の識別マッピングにより、元のデータシーケンスの離散的にサンプリングされた球面角度間の球面角度に対する正確かつ効率的な補間ソリューションを提供できる。データシーケンスの効率的かつ正確なモデル表現を提供できる様にすることにより、本開示の実施形態は、リアルタイムVR/AR/MR/XRシステムに特に有用である。
【0026】
本明細書に組み込まれ、明細書の一部を形成する添付の図面は、様々な実施形態を示している。
【図面の簡単な説明】
【0027】
【
図2】リスナに向かって伝播する音波の両耳間時間遅延(ITD)及びHRフィルタを示す図。
【
図3】2D球上のサンプリンググリッドの例を示す図。
【
図4】幾つかの実施形態による簡略化されたプロセスを示す図。
【
図6A】修正分散指数(MIOD)曲線の一例を示す図。
【
図6B】修正分散指数(MIOD)曲線の一例を示す図。
【
図7】MIODベースのセグメンテーションの例を示す図。
【
図11】幾つかの実施形態によるシステムを示す図。
【
図12A】幾つかの実施形態によるシステムを示す図。
【
図12B】幾つかの実施形態によるシステムを示す図。
【発明を実施するための形態】
【0028】
本開示において、フィルタ(又はフィルタセット、フィルタデータセット)及びHRフィルタ(又はHRフィルタセット、HRフィルタデータセット)は、交換可能に使用される。ただし、HRフィルタはフィルタの一種である。したがって、本開示で「フィルタ」について言及する場合、それはHRフィルタ又はその他のデータフィルタを意味し得る。
【0029】
1.データ変数と表記法
【0030】
一般的なデータ構造は、データシーケンス及び他のデータ構造のリストとして表され得る。M個の仰角及び方位角{(θ[m],φ[m]):m=1,・・・,M}でサンプリングされたHRフィルタを含む基本的なHRフィルタデータセットΗは、データリストΗ={θ,φ,Hl,Hr}の形式で提供され、ここで、θとφはそれぞれ仰角と方位角でありmはインデクスである。
・θ={θ[m]:m=1,・・・,M}は一連の仰角を示す。
・φ={φ[m]:m=1,・・・,M}は一連の方位角を示す。
・Hl={hl[m]:m=1,・・・,M}は左HRフィルタのセットを示し、ここで、hl[m]=[hl[1;m],・・・,hl[n;m],・・・,hl[Nl;m]]は長さNlの有限インパルス応答(FIR)フィルタであり、nはある時点でのフィルタタップのインデクスである。
・Hr={hr[m]:m=1,・・・,M}は右HRフィルタのセットを示し、ここで、hr[m]=[hr[1;m],・・・,hr[n;m],・・・,hr[Nr;m]]は長さNrの有限インパルス応答(FIR)フィルタであり、nはある時点でのフィルタタップのインデクスである。
【0031】
左右のフィルタの長さは同じ、つまりNl=Nrであり得る。
【0032】
幾つかの実施形態において、Ηは、拡張HRフィルタデータセットであり得る。たとえば、θ,φ,Hl,Hrに加えて、Ηは、インパルス応答の開始を示すオンセット遅延のデータシーケンスを追加で含み得る。そのような場合、Η={θ,φ,Hl,Hr,τl,τr}であり、ここで、
・τl={τl[m]:m=1,・・・,M}は、左HRフィルタのオンセット遅延のシーケンスを示す。
・τr={τr[m]:m=1,・・・,M}は、右HRフィルタのオンセット遅延のシーケンスを示す。
【0033】
さらに、Ηは、左と右のHRフィルタのオンセット遅延から導出された両耳間時間遅延(ITD)のデータシーケンスを含み得る、つまり、Η={θ,φ,Hl,Hr,τl,τr,τITD}であり、ここで、τITDはITDのシーケンスを示す。
【0034】
あるいは、オンセット遅延のデータシーケンスの代わりに、Ηは、左と右のHRフィルタのオンセット遅延から導出されたITDのデータシーケンスを含み得る、つまり、Η={θ,φ,Hl,Hr,τITD}であり得る。
【0035】
以下に説明する実施形態において、3つの異なるHRフィルタデータセット、すなわち、元のデータセットΗ0と、セグメント化されたデータセットのセットΗSと、モデル生成データセットΗMが使用される。
【0036】
元のデータセットΗ0は、常に{θ0,φ0,Hl
0,Hr
0}を含むが、さらに{τl
0,τr
0}を含み得る。特に、Hl
0とHr
0がゼロ遅延HRフィルタセットである場合、ITD情報を復元するには{τl
0,τr
0}又は{τITD
0}のいずれかが必要である。したがって、上で説明した様に、Η0は、{θ0,φ0,Hl
0,Hr
0}、{θ0,φ0,Hl
0,Hr
0,τl
0,τr
0}又は{θ0,φ0,Hl
0,Hr
0,τITD
0}として表され得る。
【0037】
セグメント化されたデータセットのセットΗS={Ηi:i=1,・・・,I}は、モデリングモジュールで使用され得るセグメント化されたHRフィルタタップのI個のセットを含む。i番目のセットΗiはデータリストΗi={θ0,φ0,Hl
i,Hr
i}の形式である。Hl
i及びHr
iは、Hl
0及びHr
0から導出される、セグメンテーションパラメータnl
i及びnr
iが与えられたフィルタタップの左右のシーケンスである。
・nl
i=[nl
i[1],・・・,nl
i[Νl
i]]は、i番目のセグメントの左HRフィルタタップのインデクスのシーケンスであり、Σl
i=1Νl
i≦Nlである。
・nr
i=[nr
i[1],・・・,nr
i[Νr
i]]は、i番目のセグメントの右HRフィルタタップのインデクスのシーケンスであり、Σl
i=1Νr
i≦Nrである。
・Hl
i={hl
i[m]:m=1,・・・,M}であり、ここで、hl
i[m]=[hl
0[nl
i[1];m],・・・,hl
0[nl
i[Νl
i];m]]は、長さΝl
iのHRフィルタタップのシーケンスである。
・Hr
i={hr
i[m]:m=1,・・・,M}であり、ここで、hr
i[m]=[hr
0[nr
i[1];m],・・・,hr
0[nr
i[Νr
i];m]]は、長さΝr
iのHRフィルタタップのシーケンスである。
【0038】
モデル生成データセットΗMは、HRフィルタモデルΜから生成されたフィルタセットである。それは、常に、{θ,φ,Hl
M,Hr
M}を含む。Η0のフィルタのタイプに応じて、ΗMは、{τl
0,τr
0}又は{τITD
M}を含み得る。
【0039】
統計的特徴セットを使用して、セグメンテーションパラメータnl
i、nr
iを取得できる。特徴セットは、S={Sl,Sr}として表される。
・Sl={sl[n]:n=1,・・・,Nl}であり、ここで、sl[n]=[sl[1,n],・・・,sl[J,n]]は、n番目の左HRフィルタタップ[hl[n;1],・・・,hl[n;m],・・・,hl[n;M]]から取得されるJ個の特徴のシーケンスである。Jは、特徴セットの次元とも呼ばれる。
・Sr={sr[n]:n=1,・・・,Nr}であり、ここで、sr[n]=[sr[1,n],・・・,sr[J,n]]は、n番目の右HRフィルタタップ[hr[n;1],・・・,hr[n;m],・・・,hr[n;M]]から取得されるJ個の特徴のシーケンスである。
【0040】
表記を簡略化するために、本開示の残りの部分では、特に必要でない場合、下付き文字及び/又は上付き文字については省略する。
【0041】
2.HRフィルタをモデル化する方法の概要
【0042】
図4は、HRフィルタのモデル化の効率を改善するための方法400を示している。方法400は、データ分析ステップs402と、モデル化ステップs404と、出力ステップs406と、を含み得る。
【0043】
方法400の入力は、HRフィルタデータセットΗ0と、データ分析仕様Xと、出力仕様Оと、を含み得る。
【0044】
元のHRフィルタデータセットΗ0は、既存のファイルからのHRフィルタデータセットをΗ0ロードすることによって取得され得る。
【0045】
データ分析仕様
【数13】
は、(1)必要な統計的特徴
【数14】
のリスト、(2)特徴分析アルゴリズム
【数15】
及び/又は、(3)必要に応じてアルゴリズム
【数16】
に関連付けられたパラメータQのセットであり得る。
【0046】
統計的特徴は、角度にわたる各HRフィルタタップの主な変動特性を要約し得る。上で述べた様に、バイノーラル化に対する各HRフィルタタップの寄与は大きく異なる。HRフィルタがDOAに依存するものとすると、そのような寄与は、角度にわたるHRフィルタタップの変動によって定量的に測定でき、その寄与は変動のレベルに比例して増加する。したがって、統計的変動の尺度は有用であり、望ましい可能性がある。
【0047】
高度なデータクラスタリングアルゴリズムを指定して統計的特徴の分布を分析するために使用することができ、その後、統計的特徴の分布は、セグメンテーション用のHRフィルタタップを分類するために使用される。必要なパラメータ設定は、使用する距離関数d、検出されるクラスタリングにおけるクラスタの類似性及び/又は分離を表す一連の基準
【数17】
、セグメントの数に対応する予想されるクラスタの数Iなどを含み得る。
【0048】
一方、必要な特徴セットが1次元の場合、セグメンテーションには単純な手法で十分であり得る。
【0049】
出力仕様Оは、
【数18】
で示される、目的の出力データセットのタイプと、必要に応じて、目的の角度{θ
D,φ
D}のシーケンスを含み得る。
【数19】
は、出力データセットがHRフィルタデータセットΗ
0のモデル表現Μであるか、モデル生成HRフィルタデータセットΗ
Mであるかを示す。{θ
D,φ
D}は、Η
0から直接取得できる。出力は、改良されたHRフィルタデータセットであり得る。改良されたHRフィルタデータセットのHRフィルタは、Η
0と同じフォーマットで格納され得る、或いは、モデル又はモデル生成HRフィルタセットによって表現され得る。
【0050】
幾つかの実施形態によれば、HRフィルタモデリング方法400は3つのステップを含み得る。
【0051】
データ分析ステップ(s402)-データ分析ステップは、HRフィルタセットの統計的特徴を定量的に記述し、HRフィルタタップを幾つかの重複しないセグメントに分割する境界を特定するために使用され得る。
【0052】
モデリングステップ(s404)-モデリングステップでは、HRフィルタデータセットを数学的モデルの形式で効率的な表現に変換し得る。重複しないセグメントは個別にモデル化され、モデルの複雑さはセグメント内のフィルタタップの変動特性に依存し得る。
【0053】
出力ステップ(s406)-出力ステップでは、出力仕様Оに従ってデータセットを出力し得る。
【0054】
幾つかの実施形態によれば、HRフィルタモデリング方法400は、単一のエンティティ又は複数の接続されたエンティティで実行され得る。例えば、方法400は、バイノーラルオーディオレンダラで実行され得る。別の例において、方法400は単一のサーバ(例えば、エッジサーバ)で実行され得る。
【0055】
方法は、HRフィルタセットをレンダラにロードすることに関連して、オフラインで、或いは、バイノーラルオーディオレンダラ内で実行され得る。
【0056】
3.HRフィルタをモデル化する方法の詳細
【0057】
図5は、HRフィルタセットのHRフィルタを効率的にモデル化するための方法500を示す。方法500の入力は、HRフィルタデータセットΗ
0と、データ分析仕様Xと、出力仕様Оと、を含み得る。
【0058】
上で説明した様に、Η0={θ0,φ0,Hl
0,Hr
0}、{θ0,φ0,Hl
0,Hr
0,τl
0,τr
0}又は{θ0,φ0,Hl
0,Hr
0,τITD
0}である。
【0059】
上でさらに説明した様に、データ分析仕様Xは、
【数20】
のいずれか1つ又は組み合わせのセットであり、
【数21】
は必要な統計的特徴のリスト、
【数22】
は特徴分析アルゴリズム、Qはアルゴリズム
【数23】
に関連付けられたパラメータのセットである。
【0060】
出力仕様Оは、
【数24】
で示される、目的の出力データセットのタイプと、必要に応じて、目的の角度{θ
D,φ
D}のシーケンスを含み得る。
【0061】
入力を取得した後、方法500は3つのステップ(1)データ分析ステップs502、(2)モデリングステップs504、及び(3)出力ステップs506を実行し得る。3つのステップs502~s506のそれぞれについて、以下で詳細に説明する。
【0062】
3.1 ステップs502:データ分析ステップ
【0063】
データ分析ステップs502は、Η0のHRフィルタの統計的特徴を定量的に記述し、HRフィルタを幾つかの重複しないセグメントに分割する境界を識別するために使用され得る。
【0064】
図5に示す様に、データ分析ステップs502は、次の2つのサブステップs512及びs514を含み得る。(1)サブステップs512:統計的特徴セットSを取得する。(2)サブステップs514:セグメントのリストLを取得する。
【0065】
3.1.1 サブステップs512:統計的特徴セットSの取得
【0066】
データ分析仕様Xは、Η0のHRフィルタから計算される統計的特徴Sを指定し得る。統計的特徴は、HRフィルタタップごとに取得でき、その値はS={Sl,Sr}に格納される。Sl={sl[n]:n=1,・・・,Nl}であり、sl[n]=[sl[1,n],・・・,sl[J,n]]は、n番目の左HRフィルタタップ[hl[n;1],・・・,hl[n;m],・・・,hl[n;M]]から取得されたJ個の特徴のシーケンスである。Sr={sr[n]:n=1,・・・,Nr}であり、sr[n]=[sr[1,n],・・・,sr[J,n]]は、n番目の右HRフィルタタップ[hr[n;1],・・・,hr[n;m],・・・,hr[n;M]]から取得されたJ個の特徴のシーケンスである。
【0067】
一実施形態において、角度にわたる各HRフィルタタップの統計的変動を測定するために、分散指数(IOD)が統計的特徴として使用され得る。一般に、IODは平均に対する分散の比率として定義され、平均はゼロではなく、正の統計にのみ使用される。HRフィルタの平均は負である可能性があるため、IODが常に正であることを確実にするために、(平均の代わりに)正規化されたL1ノルムに対する分散の比率としてIODは修正され得る(以下、修正IOD、別名MIODと表記する)。HRフィルタの場合、タップ値が正か負かに関係なく、時刻(タップインデクス)がインパルス応答のアクティブセグメントにあるかどうかが非常に重要であるため、この変更は合理的である。
【0068】
ある時点のMIODは次の様に計算され得る。
【数25】
ここで、MはHRフィルタが測定及び取得されるサンプル角度の合計数であり、nは1とN
l又はN
r(左右のHRフィルタタップの合計数)との間の整数である。
【0069】
この場合、左側のHRフィルタタップの機能セットは、
Sl={sl[n]:n=1,・・・,Nl}=[MIODl(n):n=1,・・・,Nl]
の様になる。
【0070】
同様に、右側のHRフィルタタップの機能セットは、
Sr={sr[n]:n=1,・・・,Nr}=[MIODr(n):n=1,・・・,Nr]
の様になる。
【0071】
理想的なMIOD曲線は、「ベル」型のような曲線である。この曲線には、インデクスnmaxに単一の最大値があり、その値は|n-nmax|に応じて漸近的に減少します。
【0072】
図6Aは、FABIANデータベース(https://depositonce.tu-berlin.de/handle/11303/6153.4)の左耳HRフィルタから計算されたMIOD曲線、MIOD
lの例を示している。水平面上の5つの方位角、0度(中央)、-30度(右)、-80度(右)、30度(左)、80度(左)でのHRフィルタもプロットされている。MIODが大きな値を持つ「カップ」領域は、データセット内のHRフィルタの主なインパルス応答nが現れる領域に対応していることがはっきりとわかる。
図6Bは、
図6Aに示されるMIOD曲線の拡大部分を示している。
【0073】
上で説明した様に、H
l={h
l[m]:m=1,・・・,M}であり、h
l[m]=[h
l[1;m],・・・,h
l[n;m],・・・,h
l[N
l;M]]は長さN
lのFIRフィルタであり得る。
図6Aに示される例では、N
lは256に等しい。
【0074】
サブステップS512を実行した結果、各インデクス(n=1,2,3,・・・,Nl)に対する変動スコア(例えば、MIODl(n))が取得され得る。例えば、インデクス1は変動スコア#1に関連付けられ、インデクス2は変動スコア#2に関連付けられ、ここで、変動スコア#1及び#2それぞれは正の数である。
【0075】
3.1.2 サブステップs514:セグメントLのリストの取得
【0076】
上でさらに説明した様に、データ分析仕様Xは、
【数26】
のいずれか1つ又はそれらの組み合わせのセットであり、
【数27】
は必要な統計的特徴のリストであり、
【数28】
は特徴分析アルゴリズムであり、Qはアルゴリズムに関連付けられたパラメータのセットである。
【0077】
特徴分析アルゴリズムCと、場合によってはそのアルゴリズムに関連付けられたパラメータ
【数29】
のセットが与えられると、データ分析はそれぞれ特徴セットS
l及びS
rそれぞれで実行される。データ分析の結果、各特徴セットはl個のグループに分類され得る、つまり、
【数30】
【0078】
例えば、
図7に示す様に、左側のHRフィルタタップの機能セットは、セグメントI~IIIの3つのグループに分割され得る。ここで、セグメントlの数は3である。
【0079】
3つのグループは重複していない、つまり、i≠i´において、
【数31】
である。次に、分析結果を使用して、HRフィルタタップの重複しないセグメントLのリストを取得することができまる。リスト内の各項目は以下を含む。(1)セグメンテーションID i;(2)インデクス{n
l
i,n
r
i}のセット;(3)変動レベル
【数32】
これについては、以下の段落で詳しく説明する。
【0080】
図7を例に挙げると、サブステップs514を実行した結果、セグメントLのリストが取得され得る。このリストLは、セグメントI~IIIを識別するセグメントID、セグメントI~IIIそれぞれの境界を定義するインデクスのセット、及び、セグメントI~IIIそれぞれの変動レベルを含み得る。
【0081】
一実施形態では、高度なデータクラスタリングアルゴリズムを使用して、特徴セットの分布を分析することができる。これは、特徴セットが多次元である場合に特に重要であり、役立つ。必要なパラメータ設定は、使用する距離関数d、検出されるクラスタリングにおけるクラスタの類似性及び/又は分離を表す基準セット
【数33】
、セグメントの数に対応する予想されるクラスタIの数などを含み得る。
【0082】
別の実施形態では、所望の特徴セットが一次元である場合、セグメンテーションは、単純な技術で、例えば閾値処理で十分であり得る。たとえば、MIODが変動性の尺度として望ましい特徴であるシナリオでは、最も単純な閾値処理方法が使用され、これは、固定定数
【数34】
を設定することであり、n
iは、次の様に求められる。
【数35】
【0083】
一実施形態では、セグメントの数がIであるセグメントの変動レベルには、レベル値LV1,LV2,・・・,LVIが割り当てられ、ここで、レベルLV1は、すべてのタップが最高閾値を超えるMIOD値を有するセグメントに割り当てられ、レベルLV2は、すべてのタップのMIOD値が2番目に高い閾値を超える(及び最も高い閾値よりも小さい)セグメントに割り当てられる。
【0084】
図7は、MIODベースのセグメンテーションの例を示している。例えば、レベル値LV
1を有するセグメントのすべてのMIOD値が第1の閾値以上であり(すなわち、第1の閾値≦MIOD値)、かつ、レベル値LV
2を有するセグメントのすべてのMIOD値が第2の閾値以上、かつ、第1の閾値未満(すなわち、第2の閾値≦MIOD値≦第1の閾値)である。
【0085】
閾値はユーザが定義することも、自動的に設定することもできる。閾値を自動的に設定する実施形態では、累積ヒストグラム形状に基づく方法を使用して閾値を動的に決定することができる。
【0086】
図8は、
図7からのMIOD値の累積ヒストグラムを示している。セグメントの数I(例:3)はユーザによって選択され得る。一実施形態では、最高レベルの変動を有するセグメントが、フィルタタップの20%を含む様に選択される。
図8に示される累積ヒストグラムでは、最高レベルの変動を有するセグメントが、0.022を超えるMIODレベルについて得られることが分かる。したがって、変動レベルが最も高いセグメントのMIOD閾値は0.022に設定される。
【0087】
変動レベルが最も低いセグメントの閾値は、その閾値の10分の1、0.0022として選択され、セグメントは、その閾値未満のすべてのMIOD値を含む様に選択される。I=3の場合、セグメントは1つだけ残る、つまり、MIOD値が0.0022~0.022のセグメントが残る。Iが3より大きい場合、その閾値間隔はさらに多くのサブ間隔に分割される。Iの値(すなわち、セグメントの数)、閾値の値及びセグメントに含まれるフィルタタップのパーセンテージは、この段落では説明のみを目的として提供されており、実施形態を限定するものではない。ここでは詳しく説明しないが、再分割を実装する多くの可能な方法が存在する。
【0088】
一部のデータベースでは、HRフィルタ(N
l及びN
r)の長さが必要以上に長い場合がある。これは、バイノーラル化に対する一部のフィルタタップの寄与が少なすぎ、それらのフィルタタップが冗長であるとみなされることを意味する。このようなシナリオでは、閾値が
【数36】
で指定され、それより低いと、セグメントの変動レベルが低すぎてバイノーラル化に寄与できず、そのセグメントは破棄され得る。その結果、Σ
I
i=1Ν
l
i<N
l及びΣ
I
i=1Ν
r
i<N
rが得られる。
【0089】
3.2 ステップs504:モデリングステップ
【0090】
図5に示すモデリングステップs504は、すべてのセグメントのそれぞれに対して実行され得る。モデリングステップs504は、以下の4つのサブステップを含み得る。(1)サブステップs522-セグメント化されたデータセットΗ
Sの取得。(2)サブステップs524-セグメントiの基底関数A
iの取得。(3)サブステップs526-Η
SのモデルM
iの取得。(4)サブステップs528-完了モデルには、遅延モデルM
τの取得をさらに含み得る完全モデルMの取得。
【0091】
3.2.1 サブステップs522:セグメント化されたデータセットΗSの取得
【0092】
セグメント化されたデータセットのセットΗS={Ηi:i=1,・・・,I}、ここで、Ηi={θ0,φ0,Hl
i,Hr
i}は、Η0の対応するデータ構造として取得される。Hl
i、Hr
iは、セグメントLのリスト内のインデクスのセット{nl
i,nr
i}に従ってΗ0のHl
0、Hr
0から抽出される。ここで、
・Hl
i={hl
i[m]:m=1,・・・,M}、ここで、hl
i[m]=[hl
0[nl
i[1];m],・・・,hl
0[nl
i[Νl
i];m]]は、長さΝl
iのHRフィルタタップのシーケンスである。
・Hr
i={hr
i[m]:m=1,・・・,M}、ここで、hr
i[m]=[hr
0[nr
i[1];m],・・・,hr
0[nr
i[Νr
i];m]]は、長さΝr
iのHRフィルタタップのシーケンスである。
【0093】
図7を例に挙げると、セグメント化されたデータセットΗ
S={Η
i:i=1,2,3}のセットが取得され得る。Η
1は21~71のインデクスに対応し、Η
2は14~20及び72~247のインデクスに対応し、Η
3は1~13及び248~256のインデクスに対応する。
【0094】
3.2.2 サブステップs524-セグメントiの基底関数Aiの取得
【0095】
基本原理は、基底関数の数と基底関数の複雑さがセグメントの変動レベルに反比例するということである。この原理の具体的な実装は、選択した基底関数の種類や計算上の考慮事項によって異なり得る。
【0096】
3.2.3 サブステップs526:ΗiのモデルMiの取得
【0097】
セグメント化された左右のフィルタタップのi番目のセットHl
i及びHr
iは、個別にモデル化され得る。
【0098】
H
iのフィルタタップの空間的変化は、仰角及び方位角
【数37】
の関数として個別にモデル化され得る。一般的な形式において、モデルは、
【数38】
で表すことができ、ここで、fは、すべてのモデルパラメータを含むA
iと、すべての基底関数を含む
【数39】
での線形関数又は非線形関数であり得る。基底関数は学習可能又は事前定義され得る。モデル
【数40】
の複雑さは、変動レベル
【数41】
によって決まる。変動レベルが高くなるほど、モデルはより複雑になる。
【0099】
たとえば、線形モデルの場合、この関数は次の様に与えられる。
【数42】
ここで、α
i,pを伴うAi={α
i,p:p=1,・・・,P
i}は長さΝ
iのモデルパラメータベクトルであり、
【数43】
は基底関数ベクトルのシーケンスである。変動レベル
【数44】
が高い場合、基底関数の数を増やしたり、より複雑な基底関数を使用したりすることで、より良いモデリング結果を得ることができる。
【0100】
ここでは、空間変数と固定空間サンプリング点を区別するために、θ及びφの代わりに
【数45】
が使用されていることに留意されたい。線形モデルが使用されるか非線形モデルが使用されるかに関係なく、最適なモデルパラメータベクトルA
^
iは、正則化項を含むことができる選択した損失関数Lを最小化するベクトルA
iとして取得され得る。
【数46】
ここで、
【数47】
は、
【数48】
で与えられるサンプリング角度(θ[m],φ[m])でのh
i[m]の近似値である。このような損失関数の一例は、二乗誤差損失
【数49】
である。
【0101】
線形モデルの場合、最適なモデルパラメータ行列A^
iは、線形最小二乗推定を通じて取得できる。非線形モデルの場合、最適なモデルパラメータ行列A^
iは、反復勾配ベースの方法を通じて推定できる。
【0102】
i番目のセグメントΗ
iのモデル表現は、
【数50】
で表され、最適なモデルパラメータベクトルA
^l
i及びA
^r
iと、基底関数
【数51】
と、モデルパラメータと基底関数との間の関係を決定するモデリング関数f
i自体と、を含む。
【数52】
が与えられると、角度
【数53】
でi番目のセグメントのHRフィルタタップを計算できる。
【0103】
3.2.4 サブステップs528:完全なモデルMの取得
【0104】
Η
0の完全なモデル表現Mは、
【数54】
であるセグメント化されたデータセットΗ
Sのモデル表現を含み得る。
【0105】
Η
0が遅延時間ゼロのHRフィルタデータセットの場合、追加の遅延モデルM
τが必要となる。左側のオンセット遅延セットτ
l
Xと右側のオンセット遅延セットτ
r
X、又は、τ
l
Xとτ
r
Xとの差であるITDセットτ
ITD
Xは、仰角と方位角
【数55】
の関数として個別にモデル化され得る。遅延τのモデルのセットは、
【数56】
で表すことができ、ここで、gは、すべてのモデルパラメータを含むβとすべての基底関数を含むBの線形関数又は非線形関数であり得る。基底関数は学習可能である、或いは、事前定義さ得る。
【0106】
たとえば、線形モデルの場合、この関数は次の様に与えられる。
【数57】
ここで、β
qはq番目の基底関数
【数58】
のモデルパラメータである。HRフィルタの場合と同様に、最適なモデルパラメータベクトルβ^は、選択した損失関数を最小化するβベクトルとして取得され得る。このような損失関数の一例は、二乗誤差損失
【数59】
である。ここで、τ(θ[m],φ[m];β,B)は、β及びBでのサンプリング角度(θ[m],φ[m])での遅延τ[m]の近似値である。
【0107】
遅延のモデル表現は、最適なモデルパラメータベクトルβ^と、基底関数Bと、β^とBとの間の関係を記述するモデリング関数g自体と、を含むMτ={g,β^,B}によって表すことができる。
【0108】
したがって、該当する場合、Mは、左右のHRフィルタ
【数60】
のオンセット遅延のモデル表現や、ITD
【数61】
のモデル表現も含み得る。Mは、次の3つの形式のいずれかになる。
【数62】
【0109】
3.3 ステップs506:出力ステップ
【0110】
図5に示す様に、出力ステップs506において、方法500は、所与の出力仕様Оに基づいて、以下のうちの1つ又は複数を出力することができる。(1)モデルM。(2)出力仕様Оで指定された目的の(D)仰角及び方位角{θ
D,φ
D}でのモデルMから生成された新しいHRフィルタデータセットΗ
M。
【0111】
新しいHRフィルタデータセットΗMは、所望の角度{θD,φD}のシーケンスによって指定された特定の位置でモデルMから生成され、ここで、θD={θD[m]:m=1,・・・,MD}及びφD={φD[m]:m=1,・・・,MD}は出力仕様Оで指定される。ここで、MDはシーケンス内の目的の角度の数である。幾つかの実施形態では、ΗM={θ0,φ0,Hl
M,Hr
M}である。
【0112】
HRフィルタHl
M及びHr
Mは、次の2つのサブステップを通じてMから生成され得る。
【0113】
3.3.1 第1サブステップ:空のHRフィルタセットHl
M及びHr
Mの初期化
【0114】
Hl
M={hl
M[m]=[]:m=1,・・・,MD}は、生成された左HRフィルタのセットを示し、ここで、hl
M[m]=[hl
M[1;m],・・・,hl
M[n;m],・・・,hl
M[Nl
M;m]]は、長さNl
Mの空のベクトルであり、Nl
M=Σl
i=1Nl
iである。同様に、Hr
M={hr
M[m]=[]:m=1,・・・,MD}は、生成された右HRフィルタのセットを示し、ここで、hr
M[m]=[hr
M[1;m],・・・,hr
M[n;m],・・・,hr
M[Nr
M;m]]は、長さNr
Mの空のベクトルであり、Nr
M=Σr
i=1Nr
iである。
【0115】
3.3.2 第2サブステップ:空のHRフィルタセットHl
M及びHr
Mを充填する。
【0116】
幾つかの実施形態では、空のHRフィルタセットHl
M及びHr
Mは、{1,・・・,I}の各iについて以下のプロセスを介して満たされ得る。
【0117】
{1,・・・,MD}の各mについて
【0118】
第1プロセス-サンプリングされた角度シーケンスθD及びφDから球面角度θD[m]及びφD[m]を取得する。
【0119】
第2プロセス-Mのモデル
【数63】
を与えて、モデリング関数f
i、最適なモデルパラメータα^
l
i、及び基底関数Α
iを使用して(θ
D[m],φ
D[m])でのHRフィルタタップh^
l
i[m]=[h^
l
i[1;m],・・・,h^
l
i[Ν
l
i;m]]を計算する。線形モデルの場合、h^
l
i[m]はΣ
P
p=1α^
l
i,pΑ
i,p(θ
D[m],φ
D[m])によって計算される。
【0120】
第3プロセス-h^l
i[m]へ[h^l
M[nl
i[1];m],・・・,h^l
M[nl
i[Νl
i];m]]を割り当てる。
【0121】
第4プロセス-Mのモデル
【数64】
を与えて、モデリング関数f
i、最適なモデルパラメータα^
r
i、及び基底関数Α
iを使用して(θ
D[m],φ
D[m])でのHRフィルタタップh^
r
i[m]=[h^
r
i[1;m],・・・,h^
r
i[Ν
r
i;m]]を計算する。線形モデルの場合、h^
r
i[m]はΣ
P
p=1α^
r
i,pΑ
i,p(θ
D[m],φ
D[m])によって計算される。
【0122】
第5プロセス-h^r
i[m]へ[h^r
M[nr
i[1];m],・・・,h^r
M[nr
i[Νr
i];m]]を割り当てる。
【0123】
同様に、
【数65】
から左オンセット遅延τ
l
Mと、
【数66】
から右オンセットτ
r
M、又は、
【数67】
からITDτ
ITD
Mを生成する手順は以下の通りとなる。
【0124】
{1,・・・,MD}の各mについて
【0125】
第1プロセス-サンプリングされた角度シーケンスθD及びφDから球面角度θD[m]及びφD[m]を取得する。
【0126】
第2プロセス-MのモデルMτを与えて、モデリング関数g、最適なモデルパラメータβ^、及び基底関数Bを使用して(θD[m],φD[m])での遅延τ^M[m]を計算する。線形モデルの場合、τ^M[m]はΣQ
q=1β^qBq(θD[m],φD[m])によって計算される。
【0127】
図9は、フィルタのセットをモデル化するためのプロセス900を示す。プロセス900はステップs902から開始し得る。ステップs902は、それぞれがフィルタのインデクス範囲内のインデクスに関連付けられた特徴値のセットを取得することを含む。ステップs904は、取得した特徴値のセットを使用してインデクス範囲を複数のセグメントに分割することを含む。ステップs906は、複数のセグメントのうちの少なくとも1つのセグメントに対するフィルタモデルを決定することを含む。ステップs908は、決定したフィルタモデルを出力することを含む。
【0128】
幾つかの実施形態において、特徴値のセットを取得することは、インデクス範囲に含まれる各インデクスに関連付けられた特徴値を計算することを含む。
【0129】
幾つかの実施形態において、インデクス範囲に含まれる各インデクスに関連付けられた特徴値は、複数のサンプル角度で取得されたフィルタ値に関連付けられた数学的値を使用して計算される。
【0130】
幾つかの実施形態において、数学的値は、複数のサンプル角度で得られたフィルタ値の平均値、最大値、最小値及び分散値のうちのいずれか1つである。
【0131】
幾つかの実施形態において、インデクス範囲を複数のセグメントに分割することは、特徴値を複数のクラスタにクラスタリングすることと、複数のクラスタを使用してインデクス範囲を複数のセグメントに分割することと、を含む。
【0132】
幾つかの実施形態において、インデクス範囲を複数のセグメントに分割することは、特徴値のセットに含まれる各特徴値を閾値と比較することと、各特徴値と閾値との比較に基づいて、インデクス範囲を複数のセグメントに分割することと、を含む。
【0133】
幾つかの実施形態において、インデクス範囲を複数のセグメントに分割することは、インデクス範囲を第1セグメントと第2セグメントに分割することを含み、少なくとも1つのセグメントのフィルタモデルを決定することは、第1セグメントに対する第1フィルタモデルと、第2セグメントに対する第2フィルタモデルを決定することを含む。
【0134】
幾つかの実施形態において、第1フィルタモデル及び/又は第2フィルタモデルは基底関数の関数であり、第1フィルタモデルの基底関数の数は、第2フィルタモデルの基底関数の数とは異なる。
【0135】
幾つかの実施形態において、第1フィルタモデル及び/又は第2のフィルタモデルは基底関数の関数であり、第1フィルタモデルの基底関数の次数は、第2のフィルタモデルの基底関数の次数とは異なる。
【0136】
幾つかの実施形態において、第1のフィルタモデル及び/又は第2のフィルタモデルは基底関数の関数であり、第1フィルタモデルの基底関数の次数と第2フィルタモデルの基底関数の次数は同じである。
【0137】
幾つかの実施形態において、方法は、さらに、第1セグメントの第1変動レベルを計算することと、第2セグメントの第2変動レベルを計算することと、を含み、第1フィルタモデルは、第1変動レベルに基づいて第1セグメントに対して決定され、第2フィルタモデルは、第2変動レベルに基づいて第2セグメントに対して決定される。
【0138】
幾つかの実施形態において、第1変動レベルは、第1セグメントに関連付けられた1つ又は複数の特徴値に基づいて決定され、第2変動レベルは、第2セグメントに関連付けられた1つ又は複数の特徴値に基づいて決定される。
【0139】
幾つかの実施形態において、方法は、さらに、セグメント化されたデータセットの第1セット及びセグメント化されたデータセットの第2セットを含むセグメント化されたデータセットのセットを取得することを含み、セグメント化されたデータセットの第1セットは、複数のセグメントの第1セグメントに関連付けられたセグメント化されたフィルタパラメータの第1セットを含み、セグメント化されたデータセットの第2セットは、複数のセグメントの第2セグメントに関連付けられたセグメント化されたフィルタパラメータの第2のセットを含み、第1セグメントと第2セグメントは互いにオーバラップしない。
【0140】
幾つかの実施形態において、方法は、さらに、インデクス範囲に沿った特徴値の分布を分析することと、インデクス範囲の特定のセグメントに含まれる特徴値の特定の数を示す特徴量値を取得することと、閾値以上の特徴値の数が特徴量値以上となる様に、閾値を設定することと、を含む。
【0141】
図10は、本開示の方法を実行するための、幾つかの実施形態による装置1000のブロック図である。より具体的には、幾つかの実施形態において、
図11に示されるフィルタモデルプロバイダ1104は、装置1000の形態で少なくとも部分的に実装され得る。
図10に示す様に、装置1000は、1つ以上のプロセッサ(P)1055(例えば、汎用マイクロプロセッサ及び/又は特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などの1つ以上の他のプロセッサ)を含む処理回路(PC)1002を含み、これらのプロセッサは、単一の筐体又は単一のデータセンター内に同じ場所に設置されてもよいし、地理的に分散されてもよく(すなわち、装置1000は分散コンピューティング装置であってもよい)、装置は、(オプションで)少なくとも1つのネットワークインターフェース1048を含み、ネットワークインターフェース1048は、装置1000が、ネットワークネットワークインターフェース1048に(直接的又は間接的に)接続されるネットワーク110(例えば、インターネットプロトコル(IP)ネットワーク)に接続された他のノードにデータを送受信できる様にする送信機(Tx)1045及び受信機(Rx)1047を含み(例えば、ネットワークインターフェース1048はネットワーク110に無線接続され得る。この場合、ネットワークインターフェース1048はアンテナ装置に接続される)、装置は、1つ以上の不揮発性ストレージデバイス及び/又は1つ以上の揮発性ストレージデバイスを含み得るストレージユニット(別名「データストレージシステム」)1008を含み得る。PC1002がプログラマブルプロセッサを含む実施形態では、コンピュータプログラム製品(CPP)1041が提供され得る。CPP1041は、コンピュータ可読命令(CRI)1044を含むコンピュータプログラム(CP)1043を格納するコンピュータ可読媒体(CRM)1042を含む。CRM1042は、磁気媒体、例えばハードディスク、光媒体、メモリデバイス、例えばランダムアクセスメモリ、フラッシュメモリなどのような非一時的なコンピュータ可読媒体であり得る。幾つかの実施形態において、コンピュータプログラム1043のCRI1044は、PC1002によって実行されると、CRIが装置1000に本明細書で説明されるステップ(例えばフローチャートを参照して本明細書で説明されるステップ)を実行させる様に構成される。他の実施形態において、装置1000は、コードを必要とせずに、本明細書で説明されるステップを実行する様に構成され得る。すなわち、例えば、PC1002は、1つ以上のASICのみから構成されてもよい。したがって、本明細書で説明される実施形態の特徴は、ハードウェア及び/又はソフトウェアで実装され得る。
【0142】
図11は、幾つかの実施形態による、拡張現実(XR)(例えば、VR/MR)体験を提供するためのシステム1100を示す。システム1100は、コンテンツ/サービスプロバイダ(例えば、サーバ又はサーバのグループ)1102と、フィルタモデルプロバイダ(例えば、サーバ又はサーバのグループ)1104と、ローカルコンピューティングユニット1106(例えば、パーソナルコンピュータ)と、XRエクスペリエンスレンダラ1108(例えば、VRヘッドセット)と、を備える。コンテンツ/サービスプロバイダ1102及びフィルタモデルプロバイダ1104は、サーバ側に提供され、ローカルコンピューティングユニット1106及びXRエクスペリエンスレンダラ1108はクライアント側に提供される。
【0143】
フィルタモデルプロバイダ1104は、上述の方法(例えば、
図4、5、及び9に示される方法)を実行する様に構成され、それによってフィルタのセット(例えば、HRフィルタのセット)を出力する。
【0144】
一例において、コンテンツ/サービスプロバイダ1102は、ネットワーク110を介してユーザにVRゲームサービスを提供するクラウドベースのゲームサービスプロバイダであり得る。より現実的なゲーム体験を提供するために、コンテンツ/サービスプロバイダ1102は、あたかもユーザがVR環境にいるかのような音響効果を作成するために使用できるサウンドデータをXR体験レンダラ1108に提供したい場合がある。その様なサウンドデータにより、ユーザが、その方向に基づいて異なる音を聞くことを可能にし得る。その様なサウンドデータを提供するために、コンテンツ/サービスプロバイダ1102は、モデル(例えば、HRフィルタモデル)又はモデルから作成されたフィルタ(例えば、HRフィルタ)に対する要求をフィルタモデルプロバイダ1104に送信することができる。このモデルは、ユーザがVR環境で特定の方向にいるかの様に知覚されるオーディオを生成するために使用できる(オーディオ)フィルタを生成するために使用され得る。モデル又はフィルタを受信すると、コンテンツ/サービスプロバイダ1102は、モデル及びフィルタを含むオーディオデータを、ネットワーク110を介してローカルコンピューティングユニット1106に送信し得る。
【0145】
幾つかの実施形態において、コンテンツ/サービスプロバイダ1102からモデルに対するリクエストを受信する代わりに、フィルタモデルプロバイダ1104は、ユーザ(すなわち、XRエクスペリエンスレンダラ1108)からリクエストを受信し得る。このような実施形態において、フィルタモデルプロバイダ1104は、モデル又はフィルタをユーザに送信し得る。
【0146】
ローカルコンピューティングユニット1106は、受信したモデル又は受信したフィルタを使用してオーディオデータを生成し、生成されたオーディオデータをXRエクスペリエンスレンダラ1108に提供し得る。ローカルコンピューティングユニット1106からオーディオデータを受信すると、XRエクスペリエンスレンダラ1108は、あたかもユーザがVR環境において特定の方向にいるかの様にユーザによって知覚される音を生成することができる。
【0147】
上記の実施形態において、ローカルコンピューティングユニット1106は、XRエクスペリエンスレンダラ1108とは別個のエンティティとして提供される。しかしながら、他の実施形態において、ローカルコンピューティングユニット1106は、XRエクスペリエンスレンダラ1108に含まれ得る。
【0148】
上記の実施形態において、フィルタモデルプロバイダ1104は、空間オーディオデータの提供に特化したオーディオデータプロバイダであってもよく、VRゲームサービスプロバイダであり得るコンテンツ/サービスプロバイダ1102とは別個の異なるエンティティである。しかしながら、他の実施形態において、フィルタモデルプロバイダ1104とコンテンツ/サービスプロバイダ1102は同じエンティティであり得る(例えば、VRゲームサービスプロバイダは空間オーディオデータも提供することもできる)。
【0149】
あるいは、フィルタモデルプロバイダ1104を有する代わりに、フィルタモデルプロバイダ1104の機能、すなわち、オーディオフィルタモデル又は複数のオーディオフィルタを提供する機能は、ローカルコンピューティングユニット1106に実装され得る。換言すれば、ローカルコンピューティングユニット1106は、オーディオモデル又はオーディオフィルタを生成及び格納することができる。オーディオモデル又はオーディオフィルタは、あたかもユーザがVR環境内で特定の方向にいるかの様にユーザが知覚する音を生成するために使用され得る。
【0150】
図12A及び12Bは、幾つかの実施形態によるXRエクスペリエンスレンダラ1108(左スピーカ1252及び右スピーカ1254を含む)を示す。
図12Aに示す様に、XRエクスペリエンスレンダラ1108は、ユーザが着用する様に構成されている。
図12Bに示す様に、XRエクスペリエンスレンダラ1108は、方向感知ユニット1202と、位置感知ユニット1204と、処理ユニット1206と、オーディオ処理ユニット1208と、2つのスピーカ1252及び1254と、を備え得る。方向感知ユニット1202は、リスナの向きの変化を検出し、検出された変化に関する情報を処理ユニット1206に提供する様に構成される。幾つかの実施形態においては、処理ユニット1206は、向き感知ユニット1202によって検出された向きの検出された変化を考慮して、(何らかの座標系に関連した)絶対向きを決定する。ライトハウストラッカ(ライダー)を使用したシステム等、方向と位置を決定する異なるシステムも存在し得る。一実施形態では、方向感知ユニット1202は、検出された方向の変化を考慮して、(何らかの座標系に関連した)絶対方向を決定することができる。この場合、処理ユニット1206は、方向感知ユニット1202からの絶対方向データと位置感知ユニット1204からの絶対位置データを単純に多重化し得る。幾つかの実施形態において、方向感知ユニット1202は、1つ以上の加速度計及び/又は1つ以上のジャイロスコープを備え得る。
【0151】
リスナの向き及び/又は位置に関する情報は、処理ユニット1206からオーディオ処理ユニット1208に提供され得る。オーディオデータ(ローカルコンピューティングユニット1106がXRエクスペリエンスレンダラ1108に含まれる実施形態ではネットワーク110から受信し、ローカルコンピューティングユニット1106がXRエクスペリエンスレンダラ1108とは別のエンティティである実施形態ではローカルコンピューティングユニット1106から受信)に含まれるオーディオモデル又はオーディオフィルタを使用することで、オーディオ処理ユニット1208は、あたかもリスナがVR環境内の検出された方向及び/又は位置にいるかの様にリスナによって知覚されるサウンドを生成するためのオーディオ信号を生成することができる。生成されたオーディオ信号は、オーディオ処理ユニット1208からスピーカ1252及び1254に送信され、それによってVR環境用のサウンドが生成され得る。
【0152】
本明細書では様々な実施形態が説明されているが、それらは単なる例として提示されており、限定ではないことを理解されたい。したがって、本開示の幅及び範囲は、上記の例示的な実施形態のいずれによっても制限されるべきではない。さらに、そのすべての可能な変形における上記の要素の任意の組み合わせは、本明細書に別段の指示がない限り、又は文脈によって明らかに矛盾しない限り、本開示に含まれる。
【0153】
さらに、上記で図に示されているプロセスは一連のステップとして示されているが、これは説明のためだけに行われた。したがって、幾つかのステップを追加し、幾つかのステップを省略し、ステップの順序を再配置し、幾つかのステップを並行して実行することができると考えられる。
【手続補正書】
【提出日】2024-01-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
フィルタのセットをモデル化するための方法(900)であって、
前記フィルタのインデクス範囲内のインデクスそれぞれに関連付けられた特徴値のセットを取得(s902)することと、
取得した前記特徴値のセットを使用して前記インデクス範囲を複数のセグメントに分割(s904)することと、
前記複数のセグメントのうちの少なくとも1つのセグメントのフィルタモデルを決定(s906)することと、
決定した前記フィルタモデルを出力(s908)することと、
を含む方法。
【請求項2】
請求項1に記載の方法であって、
前記特徴値のセットを取得することは、前記インデクス範囲に含まれる各インデクスに関連付けられた特徴値を計算することを含む、方法。
【請求項3】
請求項2に記載の方法であって、
前記インデクス範囲に含まれる各インデクスに関連付けられた前記特徴値は、複数のサンプル角度で取得されたフィルタ値に関連付けられた数学的値を用いて計算される、方法。
【請求項4】
請求項3に記載の方法であって、
前記数学的値は、複数のサンプル角度で得られた前記フィルタ値の平均値、最大値、最小値及び分散値のうちのいずれか1つである、方法。
【請求項5】
請求項
1に記載の方法であって、
前記インデクス範囲を前記複数のセグメントに分割することは、
前記特徴値を複数のクラスタにクラスタリングすることと、
前記複数のクラスタを使用して前記インデクス範囲を前記複数のセグメントに分割することと、
を含む方法。
【請求項6】
請求項
1に記載の方法であって、
前記インデクス範囲を前記複数のセグメントに分割することは、
前記特徴値のセットに含まれる各特徴値を閾値と比較することと、
各特徴値と前記閾値との比較に基づいて、前記インデクス範囲を前記複数のセグメントに分割することと、
を含む方法。
【請求項7】
請求項
1に記載の方法であって、
前記インデクス範囲を前記複数のセグメントに分割することは、前記インデクス範囲を第1セグメントと第2セグメントに分割することを含み、
前記少なくとも1つのセグメントの前記フィルタモデルを決定することは、前記第1セグメントの第1フィルタモデルと、前記第2セグメントの第2フィルタモデルを決定することを含む、方法。
【請求項8】
請求項7に記載の方法であって、
前記第1フィルタモデル及び/又は前記第2フィルタモデルは基底関数の関数であり、
前記第1フィルタモデルの基底関数の数は、前記第2フィルタモデルの基底関数の数とは異なる、方法。
【請求項9】
請求項7に記載の方法であって、
前記第1フィルタモデル及び/又は前記第2フィルタモデルは基底関数の関数であり、
前記第1フィルタモデルの前記基底関数の次数は、前記第2フィルタモデルの前記基底関数の次数とは異なる、方法。
【請求項10】
請求項7に記載の方法であって、
前記第1フィルタモデル及び/又は前記第2フィルタモデルは基底関数の関数であり、
前記第1フィルタモデルの前記基底関数の次数と前記第2フィルタモデルの前記基底関数の次数は同じである、方法。
【請求項11】
請求項
7に記載の方法であって、さらに、
前記第1セグメントの第1変動レベルを計算することと、
前記第2セグメントの第2変動レベルを計算することと、
を含み、
前記第1フィルタモデルは、前記第1変動レベルに基づいて前記第1セグメントのために決定され、
前記第2フィルタモデルは、前記第2変動レベルに基づいて前記第2セグメントのために決定される、方法。
【請求項12】
請求項11に記載の方法であって、
前記第1変動レベルは、前記第1セグメントに関連付けられた1つ以上の特徴値に基づいて決定され、
前記第2変動レベルは、前記第2セグメントに関連付けられた1つ以上の特徴値に基づいて決定される、方法。
【請求項13】
請求項
1に記載の方法であって、さらに、
セグメント化データセットの第1セットとセグメント化データセットの第2セットを含むセグメント化データセットのセットを取得することを含み、
セグメント化データセットの前記第1セットは、前記複数のセグメントのうちの第1セグメントに関連付けられたセグメント化フィルタパラメータの第1セットを含み、
セグメント化データセットの前記第2セットは、前記複数のセグメントのうちの第2セグメントに関連付けられたセグメント化フィルタパラメータの第2セットを含み、
前記第1セグメントと前記第2セグメントは互いにオーバラップしない、方法。
【請求項14】
請求項
6に記載の方法であって、さらに、
前記インデクス範囲に沿った前記特徴値の分布を分析することと、
前記インデクス範囲の特定のセグメントに含められる特定数の特徴値を示す特徴量値を取得することと、
前記閾値以上の前記特徴値の数が前記特徴量値以上となる様に前記閾値を設定することと、
を含む方法。
【請求項15】
処理回路(1002)で実行されると、前記処理回路に、請求項1から14のいずれか1項に記載の方法を実行させる命令(1044)を含むコンピュータプログラム(1043)。
【請求項16】
請求項15に記載のコンピュータプログラムを含
むコンピュータ可読記憶媒
体。
【請求項17】
フィルタのセットをモデル化するための装置(1000)であって、
前記フィルタのインデクス範囲内のインデクスそれぞれに関連付けられた特徴値のセットを取得(s902)することと、
取得した前記特徴値のセットを使用して前記インデクス範囲を複数のセグメントに分割(s904)することと、
前記複数のセグメントのうちの少なくとも1つのセグメントのフィルタモデルを決定(s906)することと、
決定した前記フィルタモデルを出力(s908)することと、
を行う様に構成されている装置。
【請求項18】
請求項17に記載の装置であって、さらに、請求項2から14のいずれか1項に記載の方法を実行する様に構成されている、装置。
【請求項19】
装置(1000)であって、
メモリ(1042)と、
前記メモリに結合された処理回路(1002)と、を備え、
前記装置は、請求項1から14のいずれか1項に記載の方法を実行する様に構成されている、装置。
【国際調査報告】