(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-19
(45)【発行日】2022-10-27
(54)【発明の名称】オブジェクトの動きを予測する方法、運動モデルを調整する方法、所定量を導出する方法、及び仮想現実ビューを生成する方法
(51)【国際特許分類】
G06F 3/04815 20220101AFI20221020BHJP
G06F 3/01 20060101ALI20221020BHJP
【FI】
G06F3/04815
G06F3/01 510
G06F3/01 570
(21)【出願番号】P 2020536517
(86)(22)【出願日】2017-12-29
(86)【国際出願番号】 EP2017084794
(87)【国際公開番号】W WO2019129355
(87)【国際公開日】2019-07-04
【審査請求日】2020-07-07
【前置審査】
(73)【特許権者】
【識別番号】500341779
【氏名又は名称】フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン
(74)【代理人】
【識別番号】100107928
【氏名又は名称】井上 正則
(72)【発明者】
【氏名】ファイグル,トビアス
(72)【発明者】
【氏名】モッチラー,クリストファー
【審査官】田川 泰宏
(56)【参考文献】
【文献】特表2017-511906(JP,A)
【文献】特表2007-517585(JP,A)
【文献】米国特許第06639592(US,B1)
【文献】特開2016-082462(JP,A)
【文献】特表2014-506318(JP,A)
【文献】特表2012-508417(JP,A)
【文献】国際公開第2010/056024(WO,A2)
【文献】国際公開第2015/141328(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/04815
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
オブジェクトの動きを予測する方法であって、
前記オブジェクトに取り付けられた位置センサの第1の時系列データに基づいて前記オブジェクトの位置を判断することと、
前記オブジェクトに取り付けられた少なくとも1つの慣性センサの第2の時系列データに基づいて前記オブジェクトの向きを判断することと、
前記オブジェクトの前記位置と前記オブジェクトの前記向きとを用いた運動モデルであって、
時間の関数として空間を通過する前記オブジェクトの運動を記述する運動軌跡によって前記オブジェクトの運動を記述し、前記オブジェクトの前記位置に対して第1の重み係数を使用し、前記オブジェクトの前記向きに対して第2の重み係数を使用する運動モデルに基づいて
、前記オブジェクトの運動軌跡を
外挿して前記オブジェクトの将来の位置を予測することと
を含む
予測方法。
【請求項2】
請求項1に記載の予測方法であって、さらに、
前記オブジェクトの前記位置の第1の信頼レベルを判断することと、
前記オブジェクトの前記向きの第2の信頼レベルを判断することと、
前記第1の信頼レベルに基づいて前記第1の重み係数を調整することと、
前記第2の信頼レベルに基づいて前記第2の重み係数を調整することと
を含む
予測方法。
【請求項3】
請求項2に記載の予測方法であって、さらに、
前記オブジェクトの前記動きに関連するコンテキスト情報に基づいて前記第1の重み係数の値の範囲及び/又は前記第2の重み係数の値の範囲を調整することを含む
予測方法。
【請求項4】
請求項1乃至3のいずれか1つに記載の予測方法であって、
前記運動モデルは、少なくとも3次の多項式に基づいている
予測方法。
【請求項5】
請求項4に記載の予測方法であって、
前記多項式は、コチャネク-バーテルズ(Kochanek-Bartels)スプライン又はキュービックエルミートスプラインである
予測方法。
【請求項6】
請求項4又は5に記載の予測方法であって、
前記オブジェクトの前記運動軌跡を
外挿することは、前記オブジェクトの前記重み付けされた位置及び前記オブジェクトの前記重み付けされた向きに基づいて前記多項式を接線方向に
外挿することを含む
予測方法。
【請求項7】
請求項1乃至6のいずれか1つに記載の予測方法であって、さらに、
前記第1の時系列データ及び/又は前記第2の時系列データに基づいて前記オブジェクトの運動状態を判断することと、
前記運動状態に基づいて前記第1の重み係数及び前記第2の重み係数を調整することと
を含む
予測方法。
【請求項8】
請求項1乃至7のいずれか1つに記載の予測方法であって、
前記第2の時系列データは、3次元加速度データ、3次元回転速度データ、3次元磁場強度データ、及び/又は気圧データのうち少なくとも1つを含む
予測方法。
【請求項9】
請求項1乃至8のいずれか1つに記載の予測方法であって、
前記第1の時系列データは、3次元位置データを含む
予測方法。
【請求項10】
ユーザ用の仮想現実ビューを生成する方法であって、
請求項1乃至9のいずれか1つに記載の予測方法に従って前記ユーザの動きを判断することと、
前記ユーザの前記動きに基づいて前記仮想現実ビューを生成することと、
前記仮想現実ビューを前記ユーザに表示することと
を含む
生成方法。
【請求項11】
請求項10に記載の生成方法であって、さらに、
前記ユーザの所定の動きに対する前記位置センサの予想される第1の時系列データを計算することと、
前記ユーザに前記所定の動きを実行するよう促すために、前記ユーザに対して、前記仮想現実ビューを変化させ、音声を出力し、かつ/あるいは、匂いを発することと、
前記予想される第1の時系列データに対する前記ユーザの前記所定の動きの前記位置センサの実際の第1の時系列データの誤差を判断することと
を含む
生成方法。
【請求項12】
請求項11に記載の生成方法であって、さらに、
前記誤差に基づいて前記運動モデルを調整すること、及び/又は、
前記誤差に基づいて前記仮想現実ビューを連続的に変化させること
を含み、
前記誤差による前記仮想現実ビューの連続フレーム間の変化は、前記ユーザの知覚閾値未満である
生成方法。
【請求項13】
請求項10に記載の生成方法であって、さらに、
前記仮想現実ビューにおける向きの誤差及び/又は位置の誤差を判断することと、
前記ユーザに所定の動きを実行するよう促すために、前記ユーザに対して、前記仮想現実ビューを変化させ、音声を出力し、かつ/あるいは、匂いを発することと、
前記ユーザが前記所定の動きを実行している間、前記向きの誤差及び/又は前記位置の誤差に基づいて前記仮想現実ビューを連続的に変化させることと
を含み、
前記向きの誤差及び/又は前記位置の誤差による前記仮想現実ビューの連続フレーム間の変化は、前記ユーザの知覚閾値未満である
生成方法。
【請求項14】
請求項11又は13に記載の生成方法であって、
前記仮想現実ビューを変化させることは、前記仮想現実ビューにおける視線の方向を変化させること又は前記仮想現実ビューの中にある少なくとも1つのオブジェクトの形状を変化させることを含み、
前記仮想現実ビューの連続フレーム間の前記視線の方向の変化又は前記少なくとも1つのオブジェクトの前記形状の変化は、前記ユーザの知覚閾値未満である
生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、時系列センサデータに基づく低遅延で長期安定の位置推定及び向き推定に関する。特に、本開示の実施例は、オブジェクトの動きを予測する方法、オブジェクトの動きを記述する運動モデルを調整する方法、所定量を導出する方法、及びユーザ用の仮想現実ビューを生成する方法に関する。本開示の別の実施例は、上記方法を実行するための装置に関する。
【背景技術】
【0002】
自由な動きとともに、より大きな空間に仮想現実(VR)を拡張することが望まれている。しかし、大規模なVRの場合、カメラによる正確な追跡にはコストがかかりすぎる。空間のサイズとユーザの数に応じてコストが増大するからである。また、同時ローカリゼーションおよびマッピング(SLAM)に基づくインサイドアウトトラッキング方式では、高度にインタラクティブなマルチユーザ環境においてユーザの姿勢(すなわち、位置及び向き)を確実に推定することはできない。深度センサは低範囲に欠点があり、ソフトウェアは背景の高度に複雑なテクスチャ及び高度に複雑な形状の再現性に不足があるため、環境の動的変化に対して不安定であることが知られている。したがって、位置推定及び向き推定を改善するとともに、没入感を改善したVRを生成することが望まれる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
上記課題は、本明細書において説明する実施例により解決される。
【課題を解決するための手段】
【0004】
実施例は、オブジェクトの動きを予測する方法に関する。上記方法は、上記オブジェクトに取り付けられた位置センサの第1の時系列データに基づいて上記オブジェクトの位置を判断することと、上記オブジェクトに取り付けられた少なくとも1つの慣性センサの第2の時系列データに基づいて上記オブジェクトの向きを判断することとを含む。また、上記予測方法は、上記オブジェクトの上記位置と上記オブジェクトの上記向きとを用いた運動モデルであって、上記オブジェクトの上記位置に対して第1の重み係数を使用し、上記オブジェクトの上記向きに対して第2の重み係数を使用する運動モデルに基づいて上記オブジェクトの運動軌跡を推定することを含む。
【0005】
他の実施例は、オブジェクトの動きを記述する運動モデルを調整する方法に関する。上記調整方法は、上記オブジェクトに取り付けられた複数のセンサの時系列データにおける所定のデータパターンを判断することを含む。上記所定のデータパターンは、上記オブジェクトの特定の動き、特定の位置、及び/又は特定の向きに関連する。また、上記調整方法は、上記所定のデータパターンに関連する参照データに対する上記複数のセンサのうちの1つのセンサの時系列データの偏差を判断することを含む。上記調整方法は、さらに、上記偏差に基づいて上記運動モデルを調整することを含む。別の実施例は、所定量を導出する方法に関する。上記導出方法は、上記所定量を導出することに関して、少なくとも1つのセンサの時系列データの信頼レベルを判断することを含む。また、上記導出方法は、上記信頼レベルが閾値未満である場合、上記少なくとも1つのセンサの上記時系列データと、少なくとも1つの別のセンサの時系列データとを用いて上記所定量を導出することを含む。上記少なくとも1つのセンサの上記時系列データの第1の重み係数と、上記少なくとも1つの別のセンサの時系列データの第2の重み係数とを用いて上記所定量を導出する。さらに別の実施例は、ユーザ用の仮想現実ビューを生成する方法に関する。上記生成方法は、上記提案されたオブジェクトの動きを予測する方法に従って上記ユーザの動きを判断することを含む。また、上記生成方法は、上記ユーザの上記動きに基づいて上記仮想現実ビューを生成することと、上記仮想現実ビューを上記ユーザに表示することとを含む。実施例は、さらに、上記提案された方法のうちの1つを実行するように構成されたプロセッサを含むデータ処理システムに関する。別の実施例は、プロセッサ上で実行されるときに上記提案された方法のうちの1つを実行するためのプログラムコードを有するプログラムを記憶した非一過性の機械可読媒体に関する。さらに別の実施例は、プロセッサ上で実行されるときに上記提案された方法のうちの1つを実行するためのプログラムコードを有するプログラムに関する。
【0006】
以下、単なる例示として、装置及び/又は方法のいくつかの実施例について、添付の図面を参照して説明する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、オブジェクトの動きを予測する方法の例のフローチャートを示す。
【
図2】
図2は、オブジェクトの動きを記述する運動モデルを調整する方法の例のフローチャートを示す。
【
図3】
図3は、所定量を導出する方法の例のフローチャートを示す。
【
図4】
図4は、ユーザ用の仮想現実ビューを生成する方法の例のフローチャートを示す。
【発明を実施するための形態】
【0008】
ここで、いくつかの実施例が示されている添付の図面を参照して、様々な実施例について、より完全に説明する。各図において、線、層、及び/又は領域の太さは、明確にするために誇張されている場合がある。
【0009】
別の実施例では様々な修正及び代替形態が可能であるが、いくつかの特定の実施例を各図に示しており、後に詳細に説明する。しかしながら、この詳細な説明は、説明される特定の形態に別の実施例を限定するものではない。別の実施例は、本開示の範囲内に含まれるすべての修正、等価物、及び代替物を包含する。各図の説明を通して、同様の番号は同様の構成要素を指し、同一又は同様の機能を提供しながら、相互に比較したときに同一又は修正した形態で実装されてもよい。
【0010】
構成要素が別の構成要素に「接続」又は「連結」されていると記載されている場合、これら構成要素は直接接続又は連結されていてもよく、あるいは、1つ以上の介在構成要素を介して接続又は連結されていてもよいことを理解されたい。2つの構成要素A及びBが「又は」を使用して結合されている場合、これはすべての可能な組み合わせ、すなわち、Aのみ、Bのみ、並びにA及びBを開示していると理解される。これと同じ組み合わせの別の表現は、「A及びBのうちの少なくとも1つ」である。同じことが3つ以上の構成要素の組み合わせについても当てはまる。
【0011】
特定の実施例を説明する目的で本明細書において使用する用語は、別の実施例を限定することを意図するものではない。単数形が使用され、単一の構成要素のみを使用することが明示的又は暗黙的に必須として定義されていない場合は、常に、別の実施例において、複数の構成要素を使用して同一の機能を実装してもよい。同様に、その後、機能が複数の構成要素を使用して実装されると説明されている場合、別の実施例においては、単一の構成要素又は処理エンティティを使用して同一の機能を実装してもよい。さらに、「具備する」、「具備する」、「含む」、及び/又は「含む」という用語の使用は、記載した機能、整数、ステップ、操作、プロセス、動作、構成要素、及び/又はコンポーネントの存在を明示するが、1つ以上の他の機能、整数、ステップ、操作、プロセス、動作、構成要素、コンポーネント、及び/又はこれらの組み合わせの存在又は追加を排除するものではないことを理解されたい。
【0012】
他に定義されていない限り、すべての用語(技術用語及び科学用語を含む)は、本明細書において、実施例が属する技術における通常の意味で使用される。
【0013】
図1は、オブジェクトの動きを予測する方法100を示す。当該オブジェクトは、センサを備えることができる任意の移動体であってもよい。例えば、当該オブジェクトは、人間であってもよい。
【0014】
方法100は、オブジェクトに取り付けられた位置センサの第1の時系列データに基づいてオブジェクトの位置を判断すること102を含む(データはフィルタリングされていても、されていなくてもよい)。第1の時系列データは、位置センサ、すなわちオブジェクトの絶対位置又は相対位置に関する情報を含む。例えば、第1の時系列データは、3次元位置データを含んでもよい。一般に、時系列データは、連続する(かつ、例えば、等間隔の)時点で取得された一連のデータとして理解される。位置センサは、例えば、その位置を判断するために、1つ以上の無線周波数信号の往復時間(RTT)又は到着時間差(TDoA)を判断してもよい。あるいは、位置センサは、その位置を判断するために、全地球的航法衛星システム又は磁場強度検出を利用してもよい。
【0015】
また、方法100は、オブジェクトに取り付けられた少なくとも1つの慣性センサの第2の時系列データに基づいてオブジェクトの向きを判断すること104を含む(データはフィルタリングされていても、されていなくてもよい)。第2の時系列データは、慣性センサ(すなわちオブジェクト)の比力に関する情報を含む。例えば、第2の時系列データは、3次元加速度データ、3次元回転速度データ及び/又は3次元磁場強度データのうちの少なくとも1つを含んでいてもよい。慣性センサは、例えば、加速度計、ジャイロスコープ、又は磁力計であってもよい。任意選択で、第2の時系列データの一部は、気圧計又は光センサ(例えば、ダイオード)から取得してもよい。したがって、第2の時系列データは、さらに、気圧データ又は環境の光構造を表すデータを含んでもよい。
【0016】
方法100は、さらに、オブジェクトの位置及びオブジェクトの向きを用いた運動モデルに基づいてオブジェクトの運動軌跡を外挿すること106を含む。運動モデルは、オブジェクトの位置に対して第1の重み係数を使用し、オブジェクトの向きに対して第2の重み係数を使用する。運動モデルは、運動軌跡によってオブジェクトの動きを記述するモデルであり、空間を通るオブジェクトの動きを時間の関数として記述する。運動モデルは、オブジェクトの特別な運動特性を考慮してもよい。例えば、オブジェクトが人間である場合、運動モデルは、人間が視線の方向に歩く傾向があり、視覚に沿って運動を適合させることを考慮してもよい。
【0017】
慣性センサ、例えば、加速度計又はジャイロスコープは、短期的には、更新周波数が高く(例えば、200Hzの更新周波数)、高精度である。しかし、加速度計又はジャイロスコープは、センサのドリフトにより、長期的な安定性に欠ける。位置センサ、例えば、無線周波数信号を利用した位置センサは、更新周波数が低い(例えば、5Hzの更新周波数)が、短期的及び長期的に安定しているだけでなく、高精度である。位置センサ及び慣性センサの寄与を重み付けして運動軌跡を外挿することができる運動モデルを使用すると、一方のセンサの欠点を他の(複数の)センサで補うことができる。これにより、全体的な性能、すなわち、運動推定の精度及び安定性(長期及び短期)を改善することができる。
【0018】
方法100は、さらに、オブジェクトの位置及びオブジェクトの向きに対するそれぞれの信頼レベルに基づいて重みを調整することを含んでもよい。例えば、方法100は、オブジェクトの位置に対する第1の信頼レベルを判断すること、及びオブジェクトの向きに対する第2の信頼レベルを判断することを含んでもよい。したがって、方法100は、さらに、第1の信頼レベル(及び、任意選択で、第2の信頼レベル)に基づいて上記第1の重み係数を調整すること、及び第2の信頼レベル(及び、任意選択で、第1の信頼レベル)に基づいて上記第2の重み係数を調整することを含んでもよい。上記のように、慣性センサは、短期的には高精度である(すなわち、短期的には信頼レベルが高い)が、長期的には高精度ではない(すなわち、長期的には信頼レベルが低い)。したがって、オブジェクトの向きに対する第2の信頼レベルは、例えば、最後のセンサ調整又はセンサ調整の最後のリセットから経過した時間に基づいて判断されてもよい。例えば、最後のリセットからわずかな時間しか経過していない場合、慣性センサの特定の特性を正確に考慮するため、長期間経過した場合よりも第2の重み係数を大きくしてもよい。同様に、第2の重み係数が小さくなった場合、(複数の)慣性センサの精度/安定性が低下しているので、運動モデルにおけるオブジェクトの位置の重み付けをさらに高くするために、第1の重み係数を大きくしてもよい。
【0019】
いくつかの実施例では、運動モデルを適応させるために、コンテキスト情報をさらに使用してもよい。例えば、方法100は、さらに、オブジェクトの動きに関連するコンテキスト情報に基づいて第1の重み係数の値の範囲(すなわち、第1の重み係数の値が取り得る範囲)及び/又は第2の重み係数の値の範囲(すなわち、第2の重み係数の値が取り得る範囲)を調整することを含んでもよい。オブジェクトの動きに関連するコンテキスト情報は、オブジェクトの動きに(潜在的に)影響するあらゆる情報である。例えば、コンテキスト情報は、オブジェクトを取り巻く環境を指してもよい。オブジェクトが人間である場合、人間の動きの傾向は、様々な状況で異なる。例えば、人間が板の上でバランスを取る場合、向きの変化は、ユーザがスラローム歩行をしている状況よりも、はるかに少なくなる。したがって、人間の特定の動きの傾向をよりよく考慮するために、運動モデルの重み付け係数を調整してもよい。
【0020】
運動モデルは、動きの変化を適切にモデル化するために、少なくとも3次の多項式に基づいてもよい。運動モデルによって、向きと位置が結合されて、一つの位置を表すため、オブジェクトの動きを記述するには3次の多項式関数で十分である。例えば、多項式は、コチャネク-バーテルズ(Kochanek-Bartels)スプライン(TCBスプラインとしても知られる)、キュービックエルミートスプライン、又はキャットムル-ロムスプラインであってもよい。
【0021】
したがって、オブジェクトの運動軌跡を外挿することは、重み付けされたオブジェクトの位置と、重み付けされたオブジェクトの向きとに基づいて多項式を接線方向に外挿することを含んでもよい。運動軌跡を接線方向に外挿する方法により、運動軌跡の方向への伸長によって、人間の視線の方向と運動の方向を得ることが可能になる。例えば、位置に対する第1の重み係数は25%であり、向きに対する第2の重み係数は75%であってもよい。これにより、接線が多項式に接する角度を調整することができる。
【0022】
また、オブジェクトの運動状態を用いて運動モデルを調整してもよい。運動状態は、オブジェクトによる特定の種類の運動を表す。例えば、運動状態は、静止(立っている)、運動、歩行、ランニング、静止からランニング/歩行への変化、ランニング/歩行から静止への変化、回転中に静止等である。したがって、方法100は、さらに、第1の時系列データ及び/又は第2の時系列データに基づいてオブジェクトの運動状態を判断することを含んでもよい。例えば、加速度計及びジャイロスコープを慣性センサとして使用する場合、加速度計及びジャイロスコープのいずれもオブジェクトの(線形)加速度を示さなければ、オブジェクトが静止している(すなわち、位置変化なし)と判断することができる。例えば、運動状態は、グラウンドトゥルースのモーメントであってもよい。また、加速度の活性化閾値を使用して、ジッタを含んだ位置データを最適化してもよい。1つ以上の閾値を使用することにより、無線周波数を利用したオブジェクトの位置信号がオン/オフしてしまうのを平滑化し、防止することができる。すなわち、加速度センサと無線周波数を利用した位置信号を使用することにより、動きの大きさに基づいてジッタを除去することができる。したがって、方法100は、運動状態に基づいて第1の重み係数及び第2の重み係数を調整することを含んでもよい。例えば、運動状態が物体の静止を表している場合は、位置変化が起こる可能性が低いので、第1の重み係数を小さくしてもよい。したがって、例えば、第1の時系列データ(すなわち、位置データ)がノイズを含んでいても、運動軌跡を高精度に外挿することができる。
【0023】
例えば、方法100により、人間の頭部に取り付けられた単一の慣性センサを、少し不正確な位置追跡に組み合わせることで、人間の姿勢(位置及び向き)推定が可能になる。方法100により、センサを現在の状況に適応させて、1つのセンサの強みを他のセンサの欠点を補うために利用することが可能になる。
【0024】
例えば、方法100は、VRアプリケーションに使用してもよい。運動モデルは、TCBスプラインに基づいていてもよい。投影ブレンディングを利用して没入感をさらに改善し、その結果、VRアプリケーションでの存在感をさらに向上させることができる。人間の動きをモデル化するために、TCBスプラインに加えて、キュービックスプライン又はキャットムル-ロムスプラインを使用してもよい。しかし、TCBスプラインは、運動シナリオや運動方向の急激な変化に対して適応性がより高く、また、パラメータ化することができる。
【0025】
運動接線を適切に外挿するために、方法100は、現在の、胴体対頭部の姿勢(人間の向き及び位置によって記述される)に基づく接線関数の重み付けを用いる。通常の動きの状態においては、視線の方向(すなわち、向き)によって、現在の接線関数に最も高い重みが与えられてもよい。胴体対頭部の姿勢は、例えば、検出されたグラウンドトゥルースのモーメントから導出される。
【0026】
上記のように、リセットポイント(例えば、向きの推定を信頼できるグラウンドトゥルースの向きに再調整できる時点)がない場合、調整を実施できるまでその位置の重み付けをさらに高くしてもよい。調整が行われたら、接線関数における位置に対して、再び、その方向の重み付けをさらに高くしてもよい。慣性センサの向きの安定性は、例えば、時間の経過に伴う頭部の動きの大きさ及びセンサ温度に依存させてもよい(どちらもオブジェクトの動きに関連するコンテキスト情報の例である)。
【0027】
すなわち、方法100は、位置を予測するとともに、現在の向きを推定する。例えば、TCBスプラインにおける現在の外挿接線関数に対して、現在の向きを最も強く重み付けしてもよい。上記のように、(例えば、経時的なセンサドリフト、磁気干渉等により)現在の向き推定に確信がない/信用できない場合、外挿方法において、位置の重み付けを強くしてもよい。したがって、運動モデルは外挿によって構成される。
【0028】
運動モデルは、3次の多項式であるため、動的運動に対しては精度が低いと考えられることがあるが、高速の動的変化を補償するために、TCBスプライン等を適切にパラメータ化することができる。方法100は、向きと位置を組み合わせて1つの位置を表すので、3次の多項式でその位置を記述することができる。
【0029】
さらに、第1及び第2の時系列データをフィルタリングするために、センサを携帯する人間に関連する(物理的)制約を設けてもよい。例えば、VRでの人間の歩行中に、向きに補完フィルタ(あるいは、カルマンフィルタ又は粒子フィルタ)を使用して、現在の向き及びその異常値を監視してもよい。例えば、向きのフィルタは、短期間(例えば、5分)に90°を超えてずれることはない。これは、そのような動きは物理的に人間の動きではないからである。また、人間は、自分の視線の方向に歩く傾向がある。このため、誰かが長時間真っすぐ歩いている場合、彼/彼女は歩いている方向を見ている可能性が高い。これは、例えば、VRアプリケーションに当てはまる。人々は、次に何が起こるか(例えば、衝突等)恐れる傾向があるからである。
【0030】
高度にパラメータ化可能なTCBスプラインにより、人間のゆっくりとした、速い、静的な、又は動的な動きを正確に表現することができる。したがって、このタスクのパラメータの数をできる限り低く保ちながら、運動モデルをできる限りパラメータ化することができる。VRアプリケーションにおいては、方法100により、さらに、人間に失敗を気づかせることなく、将来のモーメントを外挿、すなわち、予測することができる。
【0031】
上記のように、グラウンドトゥルースのモーメントを用いて、運動モデルを調整してもよい。これについては、
図2を参照してより詳細に説明する。
図2は、オブジェクトの動きを記述する運動モデルを調整する方法200を示す。
【0032】
方法200は、オブジェクトに取り付けられた複数のセンサの時系列データにおける所定のデータパターンを判断すること202を含む。当該所定のデータパターンは、オブジェクトの特定の動き、特定の位置、及び/又は特定の向きに関連する。オブジェクトの特定の動き、特定の位置、及び/又は特定の向きにより、センサデータにおける特定のデータパターンが作成される(例えば、センサは測定した加速度、位置等における特定の変化を示す)。したがって、オブジェクトの特定の動き、特定の位置、及び/又は特定の向きは、グラウンドトゥルースのモーメントとして解釈される。オブジェクトの特定の動き、特定の位置、及び/又は特定の向きに対して、センサの現在の物理的に正確な状態、すなわち、センサの現在の正確な出力データが分かっている。この既知のデータは、調整用の参照データとして使用することができる。例えば、分類等の機械学習の分野から得た方法を使用して、このようなモーメントを(再)識別することができる。言い換えれば、サポートベクターマシンやニューラルネットワークを用いて、センサストリームから抽出特徴を発見し、グラウンドトゥルースのモーメントを分類及び(再)識別することができる。
【0033】
したがって、方法200は、さらに、参照データに対する複数のセンサのうちの1つのセンサの時系列データの偏差を判断すること204を含む。参照データは、所定のデータパターン(すなわち、グラウンドトゥルースのモーメント)に関連する。言い換えれば、センサの実際の時系列データは、オブジェクトの所定のモーメントに対するセンサの予測出力データと比較される。
【0034】
さらに、方法200は、偏差に基づいて運動モデルを調整すること206を含む。例えば、運動モデルが少なくとも1つの調整可能なパラメータを有するフィルタ(例えば、ベイジアンフィルタ)を含む場合、運動モデルを調整すること206は、偏差に基づいてパラメータを調整することを含んでもよい。グラウンドトゥルースのモーメントを用いることにより、例えば、カルマンフィルタを修正し、かつ、安定させることができる。
【0035】
したがって、方法200により、運動モデルをリセット又は再調整することができる。例えば、オブジェクトが人間である場合、センサを(例えば、センサ位置に対する相対的な手の姿勢を提供する)頭部に取り付け、他のセンサを(例えば、手の動きの相対的な情報を提供する)手に取り付けてもよい。2つ以上のセンサを手に取り付けてもよい(例えば、一方のセンサがワールド空間における絶対位置を提供し、他方のセンサが絶対向きを提供する)。この構成では、各センサが異なる座標空間において情報を返信し、これらの情報は誤っており、かつ、ドリフトしているため、マッピングすることができない。しかし、頭部に取り付けられた慣性センサは、(センサデータにおける特性データパターンを判断し、その後、センサデータと参照データとを比較することにより)向きを修正するために、絶対位置ベクトルで補完することができる。最適な向きに基づいて、相対的な手の動きを判断することができ、したがって、手の姿勢を判断することができる。
【0036】
また、VRビューにおける視線の方向を修正するために、方法200をVRアプリケーションに使用してもよい。例えば、運動モデルがユーザ用のVRビューを生成するアルゴリズムの一部である場合、方法200は、さらに、偏差に基づいてVRビューを連続的に変化させることを含んでもよい。仮想現実ビューの連続フレーム間の変化は、ユーザの知覚閾値未満である。このため、方法200を使用して、ユーザが気付かないようにVRビューを修正してもよい。その結果、VRビューの没入感を維持することができる。
【0037】
また、利用可能なセンサデータの相補効果を利用して、例えば、位置推定及び向き推定を改善することができる。これについては、
図3を参照して、以下、さらに説明する。
図3は、所定量を導出する方法300を示す。
【0038】
方法300は、その所定量を導出することに関して、少なくとも1つのセンサの時系列データの信頼レベルを判断することを含む。信頼レベルは、その所定量の導出に関して、時系列データがどの程度適切であるか又は誤差を含みやすいかを示す。時系列データの信頼レベルは、例えば、センサの種類及び/又は所定量の種類に基づいて判断してもよい。例えば、人間の靴(又は他の任意の体の位置、例えば、頭部)に取り付けられた加速度センサの時系列データを使用して、人間が一歩歩いたこと(ステップ)、人間の歩数、人間の歩幅を判断してもよい。ステップ(例示的な所定量である)は、加速度センサの時系列データに基づいて高精度に判断することができる。一方、人間の歩幅(他の例示的な所定量である)は、誤差を含んで判断される可能性がある。したがって、人間の歩幅を導出するための信頼レベルは低いので、人間の歩幅を判断するために、加速度センサを単独で使用すべきではない。
【0039】
信頼レベルが閾値未満である場合、方法300は、少なくとも1つのセンサの時系列データと少なくとも1つの別のセンサの時系列データとを使用して所定量を導出すること304を含む。当該所定量は、少なくとも1つのセンサの時系列データの第1の重み係数と、少なくとも1つの別のセンサの時系列データの第2の重み係数とを使用して導出される。言い換えれば、少なくとも1つの別のセンサを使用して信頼レベルの低い(複数の)センサを安定させる。したがって、所定量を適応的に、高精度に導出することができる。
【0040】
上記ステップ検出例を見ると、人によっては、ステップ検出が、人間の足のステップを完全に正確に識別するものだと思うかも知れない。しかし、歩幅の検出には誤差が入りやすい。このため、距離の増加に伴い、位置決め誤差が大きくなる場合がある。無線周波数信号を利用した位置センサは、精度が低い場合がある。しかし、距離の増加に伴い、位置測定の精度が向上する。このため、無線周波数信号を利用した位置センサのより長い距離での位置決め誤差はほぼゼロであるが、ステップ検出の誤差と歩幅の誤差とを組み合わせると非常に大きな誤差となる。したがって、方法300では、無線周波数信号を利用した位置センサを使用して誤検出したステップ検出及び歩幅の組み合わせを修復し、歩幅を正しく補正する。
【0041】
この点で、様々な情報を使用して、個々の時系列データの重み付け係数を調整してもよい。したがって、方法300は、さらに、少なくとも1つのセンサの時系列データの信頼レベル、少なくとも1つの別のセンサの時系列データの信頼レベル、上記少なくとも1つのセンサを携帯するオブジェクトに関連する1つ以上の物理的な制約(例えば、動きの挙動、最小/最大加速度又は速度の可能範囲、最大頭部回転の可能範囲、最大頭部回転の加速度/速度、最大変位幅等)、及びオブジェクトに関連するコンテキスト情報のうち少なくとも1つを用いて、第1の重み係数及び/又は第2の重み係数を判断することを含んでもよい。オブジェクトに関連するコンテキスト情報は、オブジェクトの動きに影響する可能性のあるあらゆる情報(例えば、マップ、光の状態、昼間、周囲の人々の数等)である。
【0042】
例えば、機械学習アルゴリズム(すなわち、明示的にプログラムされることなくコンピュータに学習する能力を与えるアルゴリズム)を用いて第1の重み係数及び/又は第2の重み係数を判断してもよい。これにより、所定量を適応的に判断することができる。
【0043】
上記のように、上述の本開示の態様は、VRのコンテキストで使用してもよい。以下、
図4を参照して、ユーザ用のVRビューを生成する方法400について詳細に説明する。方法400は、上記オブジェクトの動きを予測する方法に従ってユーザの動き(すなわち、ユーザがオブジェクトである)を判断すること402を含む。これにより、ユーザの動きを長期に渡って高精度かつ安定的に判断することができる。
【0044】
また、方法400は、ユーザの動きに基づいてVRビューを生成すること404及び上記ユーザに対して上記VRビューを表示すること406を含む。ユーザの動きは、VRを生成するアルゴリズムによって、VRにおけるユーザの位置、向き、又は動きに変換することができる。したがって、VRビューはユーザの動きに基づいて更新される。VRビューは、ヘッドマウントディスプレイ(HMD)、ヘッドマウントディスプレイユニット、又はヘッドマウントユニット(HMU)によって、ユーザに対して表示されてもよい。
【0045】
ユーザの動きを長期にわたって高精度かつ安定的に判断することができるので、VRの中に実際に入っているとのユーザの感覚を高めることができる。例えば、位置センサが無線周波数信号を利用している場合、第1の時系列データの位置誤差/ジャンプは、例えば、約50cmにもなる場合がある。したがって、VRビュー生成のために位置センサの第1の時系列データのみを使用すると、VRビューにおいてカメラのジャンプ/ジッタを生ずる可能性がある。ユーザはこれらの位置誤差をジャンプとして経験し、自由に歩き回れる存在という感覚が損なわれる。しかし、運動モデルは、第2の時系列データを加えて使用するので、これらジャンプは(複数の)慣性センサの相補的効果により補正される。例えば、第2の時系列データ及び第1の時系列データに基づいて運動状態を判断して、運動軌跡を安定させることができる。したがって、VRビューにおいてジャンプが生じないため、ユーザの没入感が高められる。
【0046】
上記のように、運動モデルを調整するために、ユーザの所定の/既知の/特定の動きを利用することができる。これらの動きは、例えば、ユーザに対する音響的、視覚的、嗅覚的、又は触覚的効果により引き起こされ得る。そのような効果を適用することにより、既知の動き動作(反応)をするようにユーザを誘導することができる。これらの動きは、センサを使用して検出され、位置、向き等の現在の推定値をリセット/調整するために、予想される測定データと比較されてもよい。
【0047】
したがって、方法400は、さらに、ユーザの所定の動きの位置センサの予想される第1の時系列データ(及び/又は少なくとも1つの慣性センサの予想される第2の時系列データ)を算出することを含んでもよい。また、方法400は、ユーザが所定の動きを実行するよう促すために、ユーザに対して、仮想現実ビューを変化させ、音声を出力し、かつ/あるいは、匂いを発することを含んでもよい。さらに、方法400は、予想される第1の時系列データに対するユーザの所定の動きの位置センサの実際の第1の時系列データ(及び/又は少なくとも1つの慣性センサの実際の第2の時系列データ)の誤差を判断することを含んでもよい。
【0048】
上記のように、予想されるセンサデータと実際のセンサデータとを比較することにより、運動モデルを調整してもよい。したがって、方法400は、さらに、誤差に基づいて運動モデルを調整することを含む。
【0049】
また、VRビューを修正/調整してもよい。したがって、方法400は、さらに、誤差に基づいて仮想現実ビューを連続的に変化させることを含んでもよく、そのとき、誤差による仮想現実ビューの連続フレーム間の変化は、ユーザの知覚閾値未満である。知覚閾値は、連続フレーム間でユーザが検知できる最も弱い刺激/変化である。これにより、ユーザの没入感を維持しながらVRビューを修正することができる。
【0050】
例えば、ユーザの左側から突然やってくる音声(例えば、サイレンの付いた車の接近)を当該ユーザに対して出力してもよく、その結果、ユーザは右側にジャンプする。このユーザの反応は既知であり、ユーザの動きも既知である。これにより、センサによる検出誤差を計算することができる。例えば、加速度計の軸が90°ずれているとする。(直線運動の絶対位置軌跡に基づいて)上記効果を適用してユーザを音源と反対方向にジャンプさせれば、加速度計の向きがずれていることが分かる。これは、ユーザの実行可能な動作を制限する、人体運動学に関する知見に基づいている。これにより、向きの誤差(方向変化)等を推定することができる。
【0051】
また、ユーザに人間の動き又は挙動が既知である既知のVR地形を歩かせてもよい。この既知のVR地形について、センサ誤差を判断するために、センサ測定値を予測し、実際のセンサ測定値と比較してもよい。例えば、木の板や、2軒の家の間に掛け渡された高いワイヤの上でバランスを取っているユーザは、非常に特異的で中心に寄った動き(速度及び向き変化)を示す。
【0052】
同様に、ハチがユーザの後から迫って貫通するような音声効果を適用することにより、ユーザにより速く動く(速度変化)よう促してもよい。速度変化は、さらに、例えばVRビューにおけるチェスパターンのような床のテクスチャのサイズを増加又は減少させる等、視覚的に気を散らせることにより引き起こされてもよい。例えば、1m×1mがVRビューにおける床のタイルの通常サイズである場合、当該サイズを0.1m×0.1mに変化させるとユーザは移動速度を落とし、当該サイズを10m×10mに変化させるとユーザは移動速度を上げる。ユーザの没入感を維持するために、連続フレーム間のVRビューにおける視覚的な要素の変化は、ユーザの知覚閾値未満とする。
【0053】
ユーザの誘導された動きをさらに利用して、以前に判断した誤差に基づいてVRビューを修正してもよい。例えば、方法400は、VRビューにおける向きの誤差及び/又は位置の誤差を判断することを含んでもよい。したがって、方法400は、さらに、ユーザに所定の動きを実行することを促すために、ユーザに対して、仮想現実ビューを変化させ、音声を出力し、かつ/あるいは、匂いを発することを含んでもよい。ユーザが所定の動きを実行している間、方法400は、向きの誤差及び/又は位置の誤差に基づいて仮想現実ビューを連続的に変化させることを含んでもよく、向きの誤差及び/又は位置の誤差による仮想現実ビューの連続フレーム間の変化は、ユーザの知覚閾値未満である。例えば、向きの誤差及び/又は位置の誤差に対してVRビューを連続的に修正するために、所定の動きによるVRビューの変化を強めたり弱めたりしてもよい。
【0054】
例えば、音響的変化又は視覚的変化により、ユーザを違う方向に向けてもよい。いくつかの実施例では、ユーザには気付かれないが、ユーザを直線でなく円形に歩かせる一定のドリフトをユーザのビュー(すなわち、VRビュー)に適用してもよい。同じことが、ユーザがその音響知覚に基づいて向きを変える傾向がある音響効果にも当てはまる。
【0055】
言い換えれば、VRビューを変化させることは、仮想現実ビューにおける視線の方向を変化させること又は仮想現実ビューにおける少なくとも1つのオブジェクトの形状を変化させることを含んでもよく、仮想現実ビューの連続フレーム間における視線の方向の変化又は少なくとも1つのオブジェクトの形状の変化は、ユーザの知覚閾値未満である。
【0056】
方法400は、さらに、
図1乃至
図3を参照して上記で説明した1つ以上の本開示の態様を含んでもよい。
【0057】
本開示の態様により、不正確なセンサの問題(ノイズ、不安定、軸のシフト、調整の欠如、経時的なドリフト)が解決される。さらに、本開示の態様により、非線形運動に基づく位置決めの問題が解決される。また、本開示の態様により、人間のヨー軸/体軸周りの不安定な頭部の向きの問題が解決される。本開示の態様では、特定の状況におけるセンサ情報のグラウンドトゥルースのモーメントを表すモーメントが利用される。また、本開示の態様により、様々なデータ及びグラウンドトゥルースのモーメントが補完され、ドリフトとバイアスが再調整される。さらに、本開示の態様により、重み付けが導入され、最終結果(信頼性)に至るまでの様々な寄与相互の重要度のバランスが取られる。本開示の態様により、さらに、視線方向対位置に基づいて重み付けされた接線に基づいて別の値を推定/予測することを可能にする高度にパラメータ化可能なTCPスプラインに基づいて、VRアプリケーションにおける没入感及び存在が改善される。また、本開示の態様では、人間の動きを「知っている」運動モデルが追加される。さらに、本開示の態様では、所定量をできる限り速く予測するために、自動学習が導入される。本開示の態様は、適応フィルタ構造に関する。また、本開示の態様では、予測可能な結果(例えば、加速/減速)を伴う効果によってユーザを無意識のうちに操作することで、運動モデルが最適化される。
【0058】
上述した1つ以上の実施例及び図面とともに言及及び説明した本開示の態様及び特徴は、他の実施例の同様の機能を置き換えるため、又は他の実施例に当該機能を追加で導入するために、他の1つ以上の実施例と組み合わせてもよい。
【0059】
実施例は、さらに、コンピュータ又はプロセッサ上で実行されるときに上記の1つ以上の方法を実行するためのプログラムコードを有する(コンピュータ)プログラムであってもよく、また、当該プログラムに関してもよい。上記の様々な方法のステップ、操作、又はプロセスは、プログラムされたコンピュータ又はプロセッサによって実行してもよい。実施例は、機械、プロセッサ、又はコンピュータ読取可能であり、命令の機械実行可能な、プロセッサ実行可能な、又はコンピュータ実行可能なプログラムを符号化するデジタルデータ記憶媒体等のプログラム記憶デバイスを含んでもよい。当該命令は、上記方法の動作の一部又はすべてを実行し、あるいは、実行させる。プログラム記憶デバイスは、例えば、デジタルメモリ、磁気ディスク及び磁気テープ等の磁気記憶媒体、ハードドライブ、又は光学的に読取可能なデジタルデータ記憶媒体を含んでもよく、あるいは、それら自体であってもよい。別の実施例は、上記方法の動作を実行するようにプログラムされたデータ処理システム、コンピュータ、プロセッサ、若しくは制御ユニット、又は上記方法の動作を実行するようにプログラムされた(フィールド)プログラム可能なロジックアレイ((F)PLA)若しくは(フィールド)プログラム可能なゲートアレイ((F)PGA)を含んでもよい。
【0060】
説明及び図面は、単に本開示の原理を例示しているに過ぎない。さらに、本明細書で列挙したすべての実施例は、主に、読者が本開示の原理及び本発明者(ら)が技術を進歩させるために貢献した概念を理解するのに役立てるための教育的な目的のみを明示的に意図したものである。本開示の原理、態様、及び実施例、並びに本開示の特定の実施例を列挙する本明細書のすべての記述は、その同等物を包含することを意図している。
【0061】
フローチャート、フロー図、状態遷移図、疑似コード等は、様々なプロセス、操作、又はステップを表してもよく、これらは、例えば、コンピュータ可読媒体で実質的に表され、したがって、コンピュータ又はプロセッサが明示的に示されているかどうかに関係なく、そのようなコンピュータ又はプロセッサで実行される。本明細書又は特許請求の範囲に開示されている方法は、これら方法のそれぞれの動作を実行するための手段を有するデバイスによって実行されてもよい。
【0062】
本明細書又は特許請求の範囲に開示されている複数の動作、プロセス、操作、ステップ、又は機能の開示は、例えば、技術的な理由により明示的又は暗示的に述べられていない限り特定の順序で実行されるものと解釈してはならないことを理解されたい。したがって、複数の動作又は機能の開示は、このような動作又は機能が技術的な理由により交換可能でない場合を除いて、これらの実行順序を特定の順序に限定しない。さらに、いくつかの実施例では、単一の動作、機能、プロセス、操作、又はステップは、それぞれ、複数のサブ動作、サブ機能、サブプロセス、サブ操作、又はサブステップを含んでもよく、あるいは、それらに分割してもよい。このようなサブ動作は、明示的に除外されていない限り、この単一の動作の開示の一部に含まれてもよく、あるいは、当該開示の一部であってもよい。
【0063】
さらに、これにより、以下の請求項が発明の詳細な説明に組み込まれ、各請求項は、個別の実施例として独立することができる。各請求項が個別の実施例として独立することができる一方、従属請求項は特許請求の範囲において他の1つ以上の請求項との特定の組み合わせを参照してもよく、他の実施例は従属請求項と他の各従属請求項又は独立請求項の対象との組み合わせを含んでもよいことを理解されたい。このような組み合わせは、特定の組合せを意図していないことが述べられてない限り、本明細書において明示的に提案される。さらに、請求項が直接に独立請求項に従属していない場合でも、当該請求項の特徴を他の独立請求項に含めることを意図している。