(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-06
(45)【発行日】2024-06-14
(54)【発明の名称】発光ダイオード(LED)アレイのイベント駆動型センサ(EDS)による追跡
(51)【国際特許分類】
G06T 7/70 20170101AFI20240607BHJP
G06T 7/593 20170101ALI20240607BHJP
【FI】
G06T7/70 Z
G06T7/593
(21)【出願番号】P 2022540979
(86)(22)【出願日】2021-01-08
(86)【国際出願番号】 US2021012760
(87)【国際公開番号】W WO2021146117
(87)【国際公開日】2021-07-22
【審査請求日】2022-07-01
【審判番号】
【審判請求日】2023-10-11
(32)【優先日】2020-01-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】バシキーロフ、セルゲイ
【合議体】
【審判長】畑中 高行
【審判官】片岡 利延
【審判官】高橋 宣博
(56)【参考文献】
【文献】米国特許出願公開第2019/0355169(US,A1)
【文献】米国特許出願公開第2017/0147088(US,A1)
【文献】特開2014-086149(JP,A)
【文献】特開2011-244940(JP,A)
【文献】特開2008-070343(JP,A)
【文献】Andrea Censi et al., ”Low-latency localization by Active LED Markers tracking using a Dynamic Vision Sensor”,2013 IEEE/RSJ International Conference on Intelligent Robots and Systems,米国,IEEE,2013年11月03日,pp.891-898
【文献】子安 大士、外4名,“サブピクセル推定を用いた全方位ステレオ視による高精度な6自由度SLAM”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2009年06月11日,Vol.109, No.88, pp.19-24
【文献】鳥居 秋彦、外2名,“多視点3次元復元の研究動向”,情報処理学会研究報告,日本,一般社団法人情報処理学会,2011年04月15日,Vol.2011-CVIM-176, No.1, pp.1-22
【文献】友納正裕,“エッジ点追跡に基づくステレオカメラを用いた三次元SLAM”,第26回日本ロボット学会学術講演会予稿集,日本,(社)日本ロボット学会,2008年09月09日,pp.1091-1094
【文献】加藤 喬、外3名,“放送用ARソフト「QUU」の開発”,放送技術,Vol.67, No.11,日本,西村 瓊江、兼六館出版株式会社,2014年11月01日,pp.128-133
【文献】Tom Botterill et al., ”Refining essential matrix estimates from RANSAC”,In Proceedings of Image and Vision Computing New Zealand,NZ,Image and Vision Computing New Zealand,2011年12月01日,pp.1-6,http://www.hilandtom.com/tombotterill/
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G01S 5/16,17/66
G06T 1/00,7/00-7/90
G06V 10/00-10/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの発光ダイオード(LED)アセンブリであって、前記アセンブリ内の個々のLEDが一度に1つのLEDを発光させるように構成された、前記少なくとも1つの発光ダイオード(LED)アセンブリと、
LED放射に応答する照明強度の変化を表す信号を出力するように構成された少なくとも1つのイベント駆動型センサ(EDS)と、
プロセッサとを含み、
前記プロセッサは、
異なるLEDからの複数のイベントを使用して生成された少なくとも第1及び第2のフレームをEDSから受信することと、
前記第1及び第2のフレームから基礎行列を決定することと、
前記基礎行列から基本行列を計算し、基本行列を4つの運動仮説に分解することと、
前記4つの運動仮説のうちの第1の運動仮説を、第1の運動仮説が外れ値を有さないことに基づいて、選択することと、
前記第1の運動仮説を基準として使用して新しいLED位置を三角測量することによって、前記第1の運動仮説を使用して、SLAMを実行することと、
によって、少なくとも部分的に、最初の三角測量及び姿勢推定を決定する命令とともに構成
し、
前記基本行列からは、SLAMを決定するために、2つの平行移動仮説と2つの回転仮説とが導き出されることを特徴とするシステム。
【請求項2】
前記基本行列はE=K
T
FKであり、
Kは固有パラメータ行列であり、Fは基礎行列であり、前記基本行列の特異値分解は、E:U,V=svd(E)として計算され、
T
1,2
=+/-U
0..2,2
(Uの最後の列)によって与えられる2つの平行移動仮説と、R
1
=U*W*V
T
,R
2
=U*W
T
*V
T
によって与えられる2つの回転仮説と、が導き出され、
【数1】
である請求項1に記載のシステム。
【請求項3】
前記EDSが移動可能であり、前記LEDアセンブリが静止している、請求項1に記載のシステム。
【請求項4】
前記EDSが移動可能でなく、前記LEDアセンブリが移動可能である、請求項1に記載のシステム。
【請求項5】
前記EDS及び前記LEDアセンブリが両方とも移動可能である、請求項1に記載のシステム。
【請求項6】
前記EDSが、第1のEDSであり、
前記システムが、第2のEDSを含み、前記第2のEDSは、前記プロセッサがステレオ同時位置決め地図作成(SLAM)を決定することを容易にする、請求項1に記載のシステム。
【請求項7】
前記EDSが第1のEDSであり、前記プロセッサが、前記第1のEDSからの情報のみを受信し、他のEDSからは情報を受信せず、単眼同時位置決め地図作成(SLAM)を決定する、請求項1に記載のシステム。
【請求項8】
前記プロセッサが、
異なるLEDからの複数のイベントを使用して生成された少なくとも第1及び第2のフレームを前記EDSから受信することと、
前記第1及び第2のフレームから基礎行列を決定することと、
前記基礎行列から基本行列を計算することと、
前記基本行列を4つの運動の仮説に分解することと、
前記4つの運動仮説のうちの第1の仮説を、前記第1の仮説が外れ値を有さないことに基づいて、選択することと、
前記第1の仮説を基準として使用して新しいLED位置を三角測量することにより、前記第1の仮説を使用してSLAMを実行することと
によって少なくとも部分的に、最初の三角測量及び姿勢推定を決定する命令とともに構成される、
請求項7に記載のシステム。
【請求項9】
一度に1つずつ複数のランプに通電するステップと、
前記ランプに通電するステップからのイベントをイベント駆動型センサ(EDS)を使用して検出するステップと、
前記EDSの出力を使用して、少なくとも部分的には複数の運動仮説を生成することにより、同時位置決め情報及び地図作成(SLAM)情報を拡張現実(AR)環境で生成するステップと、
前記SLAMを実行するために、初期相対姿勢表示を行うための1つ以上の運動仮説が外れ値を有さないことに基づいて、当該1つ以上の運動仮説を選択するステップ
と、
異なるLEDからの複数のイベントを使用して生成された少なくとも第1及び第2のフレームをEDSから受信するステップと、
前記第1及び第2のフレームから基礎行列を決定するステップと、
前記基礎行列から基本行列を計算し、基本行列を4つの運動仮説に分解するステップと、
前記4つの運動仮説のうちの第1の運動仮説を、第1の運動仮説が外れ値を有さないことに基づいて、選択するステップと、
前記第1の運動仮説を基準として使用して新しいLED位置を三角測量することによって、前記第1の運動仮説を使用して、SLAMを実行するステップと、
によって、少なくとも部分的に、最初の三角測量及び姿勢推定を決定する命令とともに構成するステップと
を含み、
前記基本行列からは、SLAMを決定するために、2つの平行移動仮説と2つの回転仮説とが導き出される方法。
【請求項10】
前記基本行列はE=K
T
FKであり、
Kは固有パラメータ行列であり、Fは基礎行列であり、前記基本行列の特異値分解は、E:U,V=svd(E)として計算され、
T
1,2
=+/-U
0..2,2
(Uの最後の列)によって与えられる2つの平行移動仮説と、R
1
=U*W*V
T
,R
2
=U*W
T
*V
T
によって与えられる2つの回転仮説と、が導き出され、
【数2】
である請求項9に記載の方法。
【請求項11】
前記ランプを移動可能に取り付けることを含む、
請求項9に記載の方法。
【請求項12】
前記EDSを移動可能に取り付けることを含む、
請求項9に記載の方法。
【請求項13】
前記EDS及び前記ランプを移動可能に取り付けることを含む、
請求項9に記載の方法。
【請求項14】
前記ランプが発光ダイオード(LED)を含む、
請求項9に記載の方法。
【請求項15】
前記EDSが第1のEDSであり、前記方法が、ステレオSLAMを決定するためにLEDによって生成されたイベントを検出するために第2のEDSを使用することを含む、
請求項9に記載の方法。
【請求項16】
前記EDSが第1のEDSであり、前記方法が、単眼SLAMを決定するために前記第1のEDSからの情報のみを使用し、他のEDSからの情報を使用しないことを含む、
請求項9に記載の方法。
【請求項17】
異なるLEDからの複数のイベントを使用して生成された少なくとも第1及び第2のフレームを前記EDSから受信することと、
前記第1及び第2のフレームから基礎行列を決定することと、
前記基礎行列から基本行列を計算することと、
前記基本行列を4つの運動の仮説に分解することと、
前記4つの運動の仮説のうちの第1の仮説を、前記第1の仮説が外れ値を有さないことに基づいて、選択することと、
前記第1の仮説を基準として使用して新しいLED位置を三角測量することにより、前記第1の仮説を使用してSLAMを実行することと
によって少なくとも部分的に、最初の三角測量と姿勢推定とを決定すること
を含む、
請求項16に記載の方法。
【請求項18】
少なくとも1つの発光ダイオード(LED)アセンブリであって、前記アセンブリ内の個々のLEDが一度に1つのLEDを発光させるように構成された、前記少なくとも1つの発光ダイオード(LED)アセンブリと、
LED放射に応答する照明強度の変化を表す信号を出力するように構成された少なくとも1つのイベント駆動型センサ(EDS)と、
少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
少なくとも1つの慣性測定装置(IMU)からの信号を受信し、
前記EDS及び前記IMUからの前記信号に少なくとも部分的に基づいて、物体の位置及び/または向きの情報を生成する、
ための命令とともに構成された少なくとも1つのプロセッサと
を含み、
前記プロセッサは、
異なるLEDからの複数のイベントを使用して生成された少なくとも第1及び第2のフレームをEDSから受信することと、
前記第1及び第2のフレームから基礎行列を決定することと、
前記基礎行列から基本行列を計算し、基本行列を4つの運動仮説に分解することと、
前記4つの運動仮説のうちの第1の運動仮説を、第1の運動仮説が外れ値を有さないことに基づいて、選択することと、
前記第1の運動仮説を基準として使用して新しいLED位置を三角測量することによって、前記第1の運動仮説を使用して、SLAMを実行することと、
によって、少なくとも部分的に、最初の三角測量及び姿勢推定を決定する命令とともに構成し、
前記基本行列からは、SLAMを決定するために、2つの平行移動仮説と2つの回転仮説とが導き出され、
前記基本行列からは、SLAMを決定するために、2つの平行移動仮説と2つの回転仮説とが導き出されるシステム。
【請求項19】
前記基本行列はE=K
T
FKであり、
Kは固有パラメータ行列であり、Fは基礎行列であり、前記基本行列の特異値分解は、E:U,V=svd(E)として計算され、
T
1,2
=+/-U
0..2,2
(Uの最後の列)によって与えられる2つの平行移動仮説と、R
1
=U*W*V
T
,R
2
=U*W
T
*V
T
によって与えられる2つの回転仮説と、が導き出され、
【数3】
である請求項18に記載のシステム。
【請求項20】
少なくとも1つのヘッドマウントディスプレイ(HMD)であって、前記HMDの着用者が前記HMDを通して少なくとも第1の実世界物体を見ることができるようにしながら、仮想現実(VR)画像を提示するように構成された、前記少なくとも1つのHMDと、
一度に1つずつ通電可能なランプの少なくとも1つのコンステレーションと、
前記ランプのアクティブ化によって引き起こされるイベントを表す信号を生成して、少なくとも前記HMDの姿勢及び/または前記第1の実世界物体の場所を決定するように構成された少なくとも1つのイベント駆動型センサ(EDS)と
を含み、
前記EDSに結合され、前記EDSからの前記信号に少なくとも部分的に基づいて少なくとも前記HMDの姿勢を決定するための命令とともに構成される、少なくとも1つのプロセッサを
含み、
前記プロセッサは、
異なるランプからの複数のイベントを使用して生成された少なくとも第1及び第2のフレームをEDSから受信することと、
前記第1及び第2のフレームから基礎行列を決定することと、
前記基礎行列から基本行列を計算し、基本行列を4つの運動仮説に分解することと、
前記4つの運動仮説のうちの第1の運動仮説を、第1の運動仮説が外れ値を有さないことに基づいて、選択することと、
前記第1の運動仮説を基準として使用して新しいランプ位置を三角測量することによって、前記第1の運動仮説を使用して、SLAMを実行することと、
によって、少なくとも部分的に、最初の三角測量及び姿勢推定を決定する命令とともに構成し、
前記基本行列からは、SLAMを決定するために、2つの平行移動仮説と2つの回転仮説とが導き出され、
前記基本行列からは、SLAMを決定するために、2つの平行移動仮説と2つの回転仮説とが導き出されるシステム。
【請求項21】
前記基本行列はE=K
T
FKであり、
Kは固有パラメータ行列であり、Fは基礎行列であり、前記基本行列の特異値分解は、E:U,V=svd(E)として計算され、
T
1,2
=+/-U
0..2,2
(Uの最後の列)によって与えられる2つの平行移動仮説と、R
1
=U*W*V
T
,R
2
=U*W
T
*V
T
によって与えられる2つの回転仮説と、が導き出され、
【数4】
である請求項20に記載のシステム。
【請求項22】
前記EDSに結合され、前記EDSからの前記信号に少なくとも部分的に基づく前記第1の実世界物体の場所に関する命令とともに構成される少なくとも1つのプロセッサを含む、
請求項20に記載のシステム。
【請求項23】
前記ランプが発光ダイオードを含む、
請求項20に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は一般的に、コンピュータ技術に必然的に根差し、具体的な技術的改善をもたらす、技術的に独創的で非定型的なソリューションに関する。
【背景技術】
【0002】
同時位置決め地図作成(SLAM)マップは、自律型ロボットが部屋や建物をナビゲートするのを支援するのに役立ち得る、また、ユーザが拡張現実(AR)ヘッドマウントディスプレイ(HMD)を装着しているときに、ユーザが部屋または建物をナビゲートするのを支援するのにも役立ち得る。例えば、ここで理解されているように、HMD上に仮想現実(VR)画像を適切に提示するために、及びその他の理由で、AR HMDシステムは、とりわけ、HMDの姿勢、着用者の手、及びその他の実世界物体を、通常、SLAM原理を使用して追跡する必要がある。
【0003】
これは処理集約的であり、HMDでかなりのバッテリ電力と計算リソースを消費する。さらに、従来のSLAM技術では、特徴点の識別が絶対的なものではないという事実を考慮する必要がある。したがって、特徴が一致しない可能性がある。そのため、追跡が失敗するのを防ぐ様々な技術が使用される。例えば、これらには、RANSAC外れ値拒否、最適化での損失関数の使用、及びマルチステップのフレーム一致検証が含まれる。
【発明の概要】
【0004】
ここに記載されている課題に対処するために、本原理では、イベント駆動型センサ(EDS)の原理によって動きを検出するEDS感知セルを使用する。EDSは、1つまたは複数のピクセルによって感知された光強度の変化を動きの指標として使用する。したがって、本開示と一致するEDSは、光感知アレイの少なくとも1つのピクセルによって感知される光強度の変化を示す出力を提供する。例えば、ピクセルによって感知される光が減少している場合、EDSの出力は-1になってよく、増加している場合、EDSの出力は+1になってよい。特定の閾値未満の光強度の変化は、0の出力バイナリ信号によって示されてよい。
【0005】
発光ダイオード(LED)をパルスすることと、EDSでパルスを検出することを組み合わせる本技術を使用すると、各LEDが正確に既知の時間にパルスを発するため、特徴点を検出するために必要な計算能力は非常に少なく、追跡が失敗しないようにする必要がなくなる。イベント時間とLED点滅時間を比較することにより、イベントがどのLEDに関連しているかを判別することが可能である。SLAMアルゴリズムは、カルマンフィルタなどのワンステップ最適化を使用したEDSの出力を使用して実行され、消費電力を削減し得る。
【0006】
LEDはアレイに配置され、一度に1つのLEDを、例えば数マイクロ秒の間、短時間アクティブにする。EDSイベントの閾値は、LEDによって引き起こされた「+」または「-」イベントのみを検出するほど十分に高い。一度にアクティブ及び非アクティブにされるLEDは1つだけであり、EDSは正確なイベントタイムスタンプを提供するため、どのイベントがどのLEDに対応するかを簡単に解決できる。LEDアレイは静止していてEDSが動いている場合もあれば、EDSが静止していてLEDアレイが動いている場合もある。
【0007】
EDSは強度の変化のみを検出するため、非常に短いパルスを使用して、一度に多数のLEDを非常に高い頻度で、例えば、1秒あたり各LEDにつき1,000を超える検出数で、追跡(及び、どのLEDがどっちであるかを解決)することができる。
【0008】
移動可能なEDSの実施態様の場合、SLAMの例のようなソリューションが提供される。この場合、すべての「特徴」は別個のものであり、画像処理や特徴比較、または損失関数の実装は必要ない。移動可能なLEDの実施態様については、HMD姿勢追跡ソリューションの例が提供される。
【0009】
したがって、第1の態様では、システムは、アセンブリ内の個々の発光ダイオード(LED)が一度に1つのLEDを発光させるように構成された少なくとも1つのLEDアセンブリを含む。このシステムは、LED放射に応答する照明強度の変化を表す信号を出力するように構成された少なくとも1つのイベント駆動型センサ(EDS)も含む。システムはさらに、EDSからの信号に少なくとも部分的に基づいて同時位置決め地図作成(SLAM)情報を生成する命令とともに構成された少なくとも1つのプロセッサを含む。
【0010】
ある実施態様では、EDSは移動可能であり、LEDアセンブリは静止している。他の実施態様では、EDSは移動できず、LEDアセンブリは移動可能である。さらに他の実施態様では、EDS及びLEDアセンブリは両方とも移動可能である。
【0011】
例示の実施形態では、EDSは第1のEDSであり、システムは、プロセッサがステレオSLAMを決定するのを容易にするために第2のEDSを含む。他の実施形態では、EDSは第1のEDSであり、プロセッサは、単眼SLAMを決定するために、第1のEDSからの情報のみを受信し、他のEDSからは情報を受信しない。後者の場合、プロセッサは、異なるLEDからの複数のイベントを使用して生成された少なくとも第1及び第2のフレームをEDSから受信することと、第1及び第2のフレームから基礎行列を決定することと、基礎行列から基本行列を計算し、基本行列を4つの運動仮説に分解することと、4つの運動仮説のうちの第1の運動仮説を、第1の運動仮説が外れ値を有さないことに基づいて、選択することと、第1の運動仮説を基準として使用して新しいLED位置を三角測量することによって、第1の運動仮説を使用して、SLAMを実行することとによって、少なくとも部分的に、最初の三角測量及び姿勢推定を決定する命令とともに構成することができる。
【0012】
別の態様では、方法は、一度に1つずつ複数のランプに通電することと、ランプに通電することからのイベントをイベント駆動型センサ(EDS)を使用して検出することとを含む。この方法は、EDSの出力を使用して、拡張現実(AR)環境で同時位置決め地図作成(SLAM)情報を生成することを含む。
【0013】
別の態様では、システムは、少なくとも1つのヘッドマウントディスプレイ(HMD)であって、HMDの着用者がHMDを通して少なくとも第1の実世界物体を見ることができるようにしながら、仮想現実(VR)画像を提示するように構成された、少なくとも1つのHMDを含む。このシステムはまた、個別に通電可能なランプの少なくとも1つのコンステレーションと、ランプのアクティブ化によって引き起こされるイベントを表す信号を生成して、少なくともHMDの姿勢及び/または第1の実世界物体の場所を決定するように構成された少なくとも1つのイベント駆動型センサ(EDS)とを含む。
【0014】
本願の詳細は、その構造及び動作の両方に関して、添付図面を参照して最もよく理解することができ、図面中、類似の参照番号は類似の部分を指す。
【図面の簡単な説明】
【0015】
【
図1】本原理に従った例を含む例示のシステムのブロック図である。
【
図2】例示の単眼SLAMシステムのブロック図である。
【
図3】例示のステレオSLAMシステムのブロック図である。
【
図4】EDSが移動可能であり、LEDが静止しているシステムの概略図である。
【
図5】EDSが静止しており、LEDが移動可能なシステムの概略図である。
【
図6】EDS及びLEDが移動可能なシステムの概略図である。
【
図7】LEDの一度に1つずつのアクティブ化を示す。
【
図8】本原理に一致する例示のロジックのフローチャートである。
【
図9】本原理に一致する例示の単眼SLAM初期化ロジックのフローチャートである。
【
図11】慣性測定装置(IMU)をEDSと協働して使用することによって追跡を改善する概略図である。
【発明を実施するための形態】
【0016】
本開示は一般的に、コンピュータゲームネットワーク等のコンピュータシミュレーションネットワークと、スタンドアロンコンピュータシミュレーションシステムとを含むがこれらに限定されない、家電(CE)デバイスネットワークの態様を含むコンピュータエコシステムに関する。本明細書のデバイス及びコンポーネントは、いわゆる「5G」を使用したネットワークで通信してよく、したがって、本明細書の1つまたは複数のトランシーバは、5Gトランシーバであってよい。5Gは、1秒あたり数百メガビットからギガビットの範囲の無線データ通信を可能にするデジタルセルラ通信技術である。以前の技術と比較して、5Gはデータスループットがはるかに高く、消費電力が少なく、エラーが発生しにくい。非常に大量のデータをエンドユーザデバイスからクラウドサーバに5Gを使用して無線で通信できるため、本原理では、コンピュータゲームの処理を含む、ローカルデバイスで現在実行されているより多くのコンピューティングを、これまで実用的であったものよりもはるかに高速で強力なクラウドサーバにオフロードできることを認識している。5Gは現在、国際電気通信連合のIMT-2020規格、及び業界標準グループ3GPP(登録商標)によって提案された5GNewRadio(5GNR)で説明されている。5Gの態様は、米国電気電子学会(IEEE)1914シリーズにも記載されている。
【0017】
本明細書のシステムは、クライアントコンポーネントとサーバコンポーネントとの間でデータが交換され得るようにネットワークを介して接続されたサーバコンポーネント及びクライアントコンポーネントを含み得る。クライアントコンポーネントは、SonyPlayStation(登録商標)等のゲームコンソール、またはMicrosoftもしくはNintendoもしくは他の仮想現実(VR)ヘッドセット、拡張現実(AR)ヘッドセットの製造者によって作成されたゲームコンソール、ポータブルテレビ(例えば、スマートテレビ、インターネット対応テレビ)、ラップトップコンピュータ及びタブレットコンピュータ等のポータブルコンピュータ、ならびにスマートフォン及び下記に説明される追加の例を含む他のモバイルデバイスを含む、1つまたは複数のコンピューティングデバイスを含み得る。これらのクライアントデバイスは、様々な動作環境で動作し得る。例えば、クライアントコンピュータの一部は、例として、Linux(登録商標)オペレーティングシステム、Microsoftのオペレーティングシステム、Unix(登録商標)オペレーティングシステム、またはAppleコンピュータもしくはGoogleによって製造されたオペレーティングシステムを使用してよい。これらの動作環境は、MicrosoftもしくはGoogleもしくはMozillaによって作成されたブラウザ、または下記に説明されるインターネットサーバによってホストされるウェブサイトにアクセスできる他のブラウザプログラム等、1つまたは複数のブラウジングプログラムを実行するために使用されてよい。また、本原理に従った動作環境を使用して、1つまたは複数のコンピュータゲームプログラムを実行してよい。
【0018】
サーバ及び/またはゲートウェイは、インターネット等のネットワークを介してデータを受信及び送信するようにサーバを構成する命令を実行する1つまたは複数のプロセッサを含み得る。または、クライアント及びサーバは、ローカルイントラネットまたは仮想プライベートネットワークを介して接続することができる。サーバまたはコントローラは、SonyPlayStation(登録商標)等のゲームコンソール、パーソナルコンピュータ等によってインスタンス化されてよい。
【0019】
クライアントとサーバとの間でネットワークを介して情報を交換してよい。この目的のために及びセキュリティのために、サーバ及び/またはクライアントは、ファイアウォール、ロードバランサ、テンポラリストレージ、及びプロキシ、ならびに信頼性及びセキュリティのための他のネットワークインフラストラクチャを含み得る。1つまたは複数のサーバは、ネットワークメンバにオンラインソーシャルウェブサイト等のセキュアコミュニティを提供する方法を実施する装置を形成してよい。
【0020】
本明細書で使用される場合、命令は、システムにおいて情報を処理するためにコンピュータにより実施されるステップを指す。命令は、ソフトウェア、ファームウェア、またはハードウェアで実施することができ、システムのコンポーネントにより実施される任意の種類のプログラム化されたステップを含み得る。
【0021】
プロセッサは、アドレス線、データ線、及び制御線等の各種の線、ならびにレジスタ及びシフトレジスタによってロジックを実行できる、従来の任意の汎用シングルチッププロセッサまたは汎用マルチチッププロセッサであってよい。
【0022】
本明細書のフローチャート及びユーザインタフェースによって説明されるソフトウェアモジュールは、様々なサブルーチン、手順などを含み得る。開示を制限することなく、特定のモジュールによって実行されると述べられたロジックは、他のソフトウェアモジュールに再配布することができる、及び/または単一のモジュールに一緒に組み合わせることができる、及び/または共有可能なライブラリで利用可能にすることができる。
【0023】
本明細書に記載された本原理は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせとして実装することができる。したがって、説明のためのコンポーネント、ブロック、モジュール、回路、及びステップが、それらの機能の観点から記載されている。
【0024】
さらに上記で示したものに加えて、下記に説明される論理ブロック、モジュール、及び回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)もしくは特定用途向け集積回路(ASIC)等の他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェアコンポーネント、または本明細書に説明される機能を行うように設計されたそれらのいずれかの組み合わせによって実装または実行することができる。プロセッサは、コントローラもしくは状態機械、またはコンピューティングデバイスの組み合わせによって実装することができる。
【0025】
以下で説明される機能及び方法は、ソフトウェアにおいて実装されるとき、限定ではないが、Java(登録商標)、C#、またはC++等の適切な言語において記述することができ、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、コンパクトディスクリードオンリメモリ(CD-ROM)、またはデジタル多用途ディスク(DVD)等の他の光ディスクストレージ、磁気ディスクストレージもしくは着脱可能サムドライブ等を含む他の磁気記憶装置等のコンピュータ可読記憶媒体に記憶することができ、またはそれらを通して伝送することができる。接続は、コンピュータ可読媒体を確立し得る。このような接続は、例として、光ファイバ、同軸ワイヤ、デジタル加入者回線(DSL)、及びツイストペアワイヤを含む有線ケーブルを含み得る。このような接続は、赤外線及び無線を含む無線通信接続を含み得る。
【0026】
ある実施形態に含まれるコンポーネントを、他の実施形態において任意の適切な組み合わせで使用することができる。例えば、本明細書で説明される、及び/または図に描かれる様々なコンポーネントのいずれも、組み合わされてもよく、交換されてもよく、または他の実施形態から除外されてもよい。
【0027】
「A、B、及びCの少なくとも1つを有するシステム」(同様に「A、B、またはCの少なくとも1つを有するシステム」及び「A、B、Cのうちの少なくとも1つを有するシステム」)は、Aを単独で、Bを単独で、Cを単独で、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、及び/またはA、B、及びCを一緒に有するシステム等を含む。
【0028】
ここで具体的に
図1を参照すると、例示のシステム10が示され、これは、本原理に従って、上記に記載され、以下にさらに説明される例示のデバイスの1つまたは複数を含み得る。システム10に含まれる例示のデバイスの第1は、TVチューナ(同等に、TVを制御するセットトップボックス)を備えたインターネット対応テレビなどであるがこれに限定されないオーディオビデオデバイス(AVD)12などの家電(CE)デバイスである。しかし、AVD12は、代わりに、電気器具または家庭用品、例えば、コンピュータ制御でインターネット対応の冷蔵庫、洗濯機、または乾燥機であってよい。あるいは、AVD12は、コンピュータ制御型インターネット対応(「スマート」)電話、タブレットコンピュータ、ノートブックコンピュータ、例えば、コンピュータ制御型インターネット対応時計、コンピュータ制御型インターネット対応ブレスレット、他のコンピュータ制御型インターネット対応デバイス等のウェアラブルコンピュータ制御デバイス、コンピュータ制御型インターネット対応ミュージックプレイヤ、コンピュータ制御型インターネット対応ヘッドホン、インプラント可能な皮膚用デバイス等のコンピュータ制御型インターネット対応のインプラント可能なデバイス等であってもよい。いずれにせよ、当然ながら、AVD12は、本原理を実施する(例えば、本原理を実施するように他のCEデバイスと通信し、本明細書に説明されるロジックを実行し、本明細書に説明されるいずれかの他の機能及び/または動作を行う)ように構成される。
【0029】
したがって、このような原理を実施するために、AVD12は、
図1に示すコンポーネントの一部またはすべてによって確立することができる。例えば、AVD12は、1つまたは複数のディスプレイ14を備えることができ、ディスプレイ14は、高解像度または超高解像度の「4K」以上のフラットスクリーンによって実装されてよく、且つ、ユーザ入力信号をディスプレイ上のタッチを介して受信するためにタッチ対応であってよい。AVD12は、本原理に従ってオーディオを出力するための1つまたは複数のスピーカ16と、例えば、可聴コマンドをAVD12に入力して、AVD12を制御するための、例えば、オーディオ受信機/マイクロホン等の少なくとも1つの追加の入力デバイス18とを含み得る。例示のAVD12はまた、1つまたは複数のプロセッサ24の制御の下、インターネット、WAN、LAN等の少なくとも1つのネットワーク22を介して通信するための1つまたは複数のネットワークインタフェース20を含み得る。グラフィックプロセッサ24Aも含まれてよい。したがって、インタフェース20は、限定ではないが、Wi-Fiトランシーバであってよく、Wi-Fiトランシーバは、限定ではないが、メッシュネットワークトランシーバ等の無線コンピュータネットワークインタフェースの例である。当然ながら、プロセッサ24は、例えば、ディスプレイ14を画像を提示するように制御することや、そこから入力を受信すること等、本明細書に説明されるAVD12の他の要素を含む、本原理を実施するように、AVD12を制御する。さらに、ネットワークインタフェース20は、例えば、有線もしくは無線のモデムもしくはルータ、または、例えば、無線テレフォニートランシーバもしくは上述したWi-Fiトランシーバ等の他の適切なインタフェースであってよいことに留意されたい。
【0030】
上記に加えて、AVD12はまた、例えば、別のCEデバイスに(例えば、有線接続を使用して)物理的に接続するための高解像度マルチメディアインタフェース(HDMI(登録商標))ポートもしくはUSBポート、及び/またはヘッドホンを通してユーザにAVD12からのオーディオを提示するためにヘッドホンをAVD12に接続するヘッドホンポート等の1つまたは複数の入力ポート26を含み得る。例えば、入力ポート26は、オーディオビデオコンテンツのケーブルまたは衛星ソース26aに有線または無線で接続されてよい。したがって、ソース26aは、例えば、別個のもしくは統合されたセットトップボックス、または衛星受信機であってよい。または、ソース26aは、以下でさらに説明するチャネル割り当て目的でユーザがお気に入りとみなし得るコンテンツを含むゲームコンソールまたはディスクプレーヤであってよい。ソース26aは、ゲームコンソールとして実装されるとき、CEデバイス44に関連して以下に説明するコンポーネントのいくつかまたはすべてを含み得る。
【0031】
AVD12は、ディスクベースストレージまたはソリッドステートストレージ等の1つまたは複数のコンピュータメモリ28をさらに含み得る。コンピュータメモリ28は、一時的信号でなく、場合によっては、AVDのシャーシで、スタンドアロンデバイスとして、またはAVDのシャーシの内部もしくは外部のいずれかでAVプログラムを再生するためのパーソナルビデオレコーディングデバイス(PVR)もしくはビデオディスクプレイヤとして、またはリムーバブルメモリ媒体として具現化される。また、ある実施形態では、AVD12は、携帯電話受信機、GPS受信機、及び/または高度計30等であるが、これらに限定されない位置または場所の受信機を含み得る。これらは、例えば、少なくとも1つの衛星または携帯電話塔から地理的位置情報を受信し、その情報をプロセッサ24に提供するように構成され、及び/またはAVD12がプロセッサ24とともに配置される高度を判定するように構成される。しかし、当然ながら、例えば、3つの次元すべてにおいて、例えば、AVD12の場所を決定するために、本原理に従って、携帯電話受信機、GPS受信機、及び/または高度計以外の別の適切な位置受信機が使用されてよい。
【0032】
AVD12の説明を続けると、ある実施形態では、AVD12は、1つまたは複数のカメラ32を備えてよく、1つまたは複数のカメラ32は、例えば、サーマルイメージングカメラ、ウェブカメラなどのデジタルカメラ、及び/またはAVD12に統合され、本原理に従って写真/画像及び/またはビデオを収集するようプロセッサ24によって制御可能なカメラであってよい。AVD12には、Bluetooth(登録商標)及び/または近距離無線通信(NFC)技術を各々使用して、他のデバイスと通信するためのBluetooth(登録商標)トランシーバ34及び他のNFC要素36も含まれてよい。例示のNFC要素は、無線周波数識別(RFID)要素であってよい。
【0033】
さらにまた、AVD12は、プロセッサ24に入力を提供する1つまたは複数の補助センサ37(例えば、加速度計、ジャイロスコープ、サイクロメータ等のモーションセンサ、または磁気センサ、赤外線(IR)センサ、光学センサ、速度及び/またはケイデンスセンサ、(例えば、ジェスチャコマンドを検知するための)ジェスチャセンサ等)を含み得る。AVD12は、プロセッサ24に入力を提供するOTA TV放送を受信するための無線経由TV放送ポート38を含み得る。上述したものに加え、AVD12は、赤外線(IR)送信機及び/またはIR受信機及び/またはIRデータアソシエーション(IRDA)デバイスなどのIRトランシーバ42も含み得ることに留意されたい。AVD12に給電するためのバッテリ(図示せず)が備えられてよい。
【0034】
さらに
図1を参照すると、AVD12に加えて、システム10は、1つまたは複数の他のCEデバイスタイプを含み得る。一例では、AVD12に直接送信されるコマンドを介して、及び/または後述のサーバを通して、コンピュータゲームのオーディオ及びビデオをAVD12に送信するために、第1のCEデバイス44が使用されてよく、第2のCEデバイス46は、第1のCEデバイス44と同様のコンポーネントを含み得る。図示の例では、第2のCEデバイス46は、示されるようにプレーヤ47が装着するARヘッドマウントディスプレイ(HMD)として構成されてよい。図示の例では、2つのCEデバイス44、46のみが示されるが、当然ながら、より少ないまたはより多くのデバイスが使用されてよい。
【0035】
図示の例では、本原理を説明するために、3つのデバイス12、44、46はすべて、例えば家庭内のエンターテインメントネットワークの構成要素であること、または少なくとも、住宅等の場所において相互に近接して存在していることが想定される。しかし、本原理は、他に明示的に主張されない限り、破線48によって示される特定の場所に限定されない。
【0036】
例示の非限定的な第1のCEデバイス44は、上述のデバイス、例えば、ポータブル無線ラップトップコンピュータまたはノートブックコンピュータまたはゲームコンソールの任意のデバイスによって確立されてよく、したがって、以下で説明されるコンポーネントの1つまたは複数を有してよい。第1のCEデバイス44は、例えば、AV再生コマンド及び一時停止コマンドをAVD12に発行するためのリモコン(RC)であってよく、またはタブレットコンピュータ、有線もしくは無線リンクを介してAVD12及び/またはゲームコンソールと通信するゲームコントローラ、パーソナルコンピュータ、無線電話等のより高性能のデバイスであってよい。
【0037】
したがって、第1のCEデバイス44は、ディスプレイのタッチを介したユーザ入力信号を受信するためにタッチ対応であってよい1つまたは複数のディスプレイ50を含み得る。第1のCEデバイス44は、本原理に従ってオーディオを出力するための1つまたは複数のスピーカ52と、例えば、デバイス44を制御するために可聴コマンドを第1のCEデバイス44に入力するための、例えば、オーディオ受信機/マイクロホン等の少なくとも1つの追加の入力デバイス54とを含み得る。例示の第1のCEデバイス44はまた、1つまたは複数のCEデバイスプロセッサ58の制御下で、ネットワーク22を介して通信するための1つまたは複数のネットワークインタフェース56を含み得る。グラフィックプロセッサ58Aも含まれてよい。したがって、インタフェース56は、Wi-Fiトランシーバであってよいが、これに限定されず、Wi-Fiトランシーバは、メッシュネットワークインタフェースを含む無線コンピュータネットワークインタフェースの例である。当然ながら、プロセッサ58は、例えば、ディスプレイ50を画像を提示するように制御することや、そこから入力を受信すること等、本原理を、本明細書に説明される第1のCEデバイス44の他の要素を含む、第1のCEデバイス44が、実施するように制御する。さらに、ネットワークインタフェース56は、例えば、有線もしくは無線のモデムもしくはルータ、または、例えば、無線テレフォニートランシーバもしくは上述したWi-Fiトランシーバ等の他の適切なインタフェースであってよいことに留意されたい。
【0038】
上記に加えて、第1のCEデバイス44はまた、例えば、別のCEデバイスに(例えば、有線接続を使用して)物理的に接続するHDMI(登録商標)ポートもしくはUSBポート、及び/またはヘッドホンを通して第1のCEデバイス44からユーザにオーディオを伝えるために第1のCEデバイス44にヘッドホンを接続するためのヘッドホンポート等、1つまたは複数の入力ポート60を含み得る。第1のCEデバイス44は、さらに、ディスクベースストレージまたはソリッドステートストレージ等の1つまたは複数の有形コンピュータ可読記憶媒体62を含み得る。また、ある実施形態では、第1のCEデバイス44は、限定ではないが、携帯電話及び/またはGPS受信機及び/または高度計64など、位置または場所の受信機を備えることができ、位置または場所の受信機は、例えば、三角測量を使用して、少なくとも1つの衛星及び/または携帯電話塔から地理的位置情報を受信し、その情報をCEデバイスプロセッサ58に提供し、及び/または第1のCEデバイス44がCEデバイスプロセッサ58とともに配置される高度を決定するように構成される。しかし、当然ながら、本原理に従って、例えば、3つの次元のすべてにおいて第1のCEデバイス44の位置を決定するために、携帯電話及び/またはGPS受信機及び/または高度計以外の他の適切な位置受信機が使用されてもよい。
【0039】
第1のCEデバイス44の説明を続けると、ある実施形態では、第1のCEデバイス44は、1つまたは複数のカメラ66を備えてよく、1つまたは複数のカメラ66は、例えば、サーマルイメージングカメラ、ウェブカメラなどのデジタルカメラ、及び/または第1のCEデバイス44に統合され、本原理に従って写真/画像及び/またはビデオを収集するようにCEデバイスプロセッサ58によって制御可能なカメラであってよい。また、第1のCEデバイス44上には、Bluetooth(登録商標)及び/または近距離無線通信(NFC)技術を各々使用して、他のデバイスと通信するためのBluetooth(登録商標)トランシーバ68及び他のNFC要素70が含まれてよい。例示のNFC要素は、無線周波数識別(RFID)要素であってよい。
【0040】
さらにまた、第1のCEデバイス44は、CEデバイスプロセッサ58に入力を提供する1つまたは複数の補助センサ72(例えば、加速度計、ジャイロスコープ、サイクロメータ等のモーションセンサ、または磁気センサ、赤外線(IR)センサ、光学センサ、速度及び/またはケイデンスセンサ、(例えば、ジェスチャコマンドを検知するための)ジェスチャセンサ等)を含み得る。第1のCEデバイス44は、例えば、1つまたは複数の気候センサ74(例えば、気圧計、湿度センサ、風センサ、光センサ、温度センサなど)及び/または入力をCEデバイスプロセッサ58に提供する1つまたは複数の生体認証センサ76などのさらに他のセンサを含み得る。前述のものに加えて、ある実施形態では、第1のCEデバイス44はまた、赤外線(IR)送信機及び/またはIR受信機及び/または赤外線データ協会(IRDA)デバイス等のIRトランシーバ78を含み得ることに留意されたい。第1のCEデバイス44に給電するためのバッテリ(図示せず)が備えられてよい。CEデバイス44は、前述の通信モード及び関連コンポーネントのうちのいずれかを通してAVD12と通信してよい。
【0041】
第2のCEデバイス46は、CEデバイス44について示したコンポーネントの一部またはすべてを含み得る。いずいれか一方または両方のCEデバイスは、1つまたは複数のバッテリにより給電されてよい。
【0042】
ここで、上述の少なくとも1つのサーバ80を参照すると、サーバ80は、少なくとも1つのサーバプロセッサ82と、ディスクベースストレージまたはソリッドステートストレージ等の少なくとも1つの有形コンピュータ可読記憶媒体84と、サーバプロセッサ82の制御の下、ネットワーク22を介して
図1の他のデバイスとの通信を可能にし、実際に、本原理に従ってサーバとクライアントデバイスとの間の通信を容易にし得る少なくとも1つのネットワークインタフェース86とを含む。ネットワークインタフェース86は、例えば、有線もしくは無線のモデムもしくはルータ、Wi-Fiトランシーバ、または、例えば、無線テレフォニートランシーバ等の他の適切なインタフェースであってよいことに留意されたい。
【0043】
したがって、ある実施形態では、サーバ80は、インターネットサーバまたはサーバ「ファーム」全体であってよく、「クラウド」機能を含んでよく、「クラウド」機能を実行してよく、その結果、システム10のデバイスは、例えば、ネットワークゲーミングアプリケーションについての例示の実施形態においては、サーバ80を介して「クラウド」環境にアクセスしてよい。または、サーバ80は、
図1に示す他のデバイスと同じ部屋かまたはその近くにある1つまたは複数のゲームコンソールまたは他のコンピュータによって実装されてよい。
【0044】
本明細書における方法は、当業者によって認識されるように、プロセッサ、適切に構成された特定用途向け集積回路(ASIC)もしくはフィールドプログラマブルゲートアレイ(FPGA)モジュール、または任意の他の便利な方式によって実行されるソフトウェア命令として実装されてよい。採用される場合、ソフトウェア命令は、CD ROMまたはフラッシュドライブ等の非一時的デバイスに具現化されてよい。あるいは、ソフトウェアコード命令は、無線信号もしくは光信号などの一時的構成で、またはインターネットを通したダウンロードを介して具現化されてよい。
【0045】
ここで
図2を参照すると、第1の例では、単眼同時位置決め地図作成(SLAM)配置200が示され、感知ピクセル204の行列を備えた唯一のEDS202が、ランプのアレイまたはコンステレーション208内の個々のランプのアクティブ化及び非アクティブ化によって引き起こされるイベントを検出するために、
図1に示されるHMD46などのプラットフォーム206に取り付けられている。ランプは、発光ダイオード(LED)であってよく、アレイまたはコンステレーション208は、実世界物体210に取り付けられるか、他の方法で係合されてよい。
図2に示されるように、追加のランプアレイまたはコンステレーション212は、同様に、追加の物体214に関連付けられてよい。実世界物体210は、HMD46の着用者の手、HMDの着用者によって扱われるゲームコントローラ、または、例えば、ARコンピュータシミュレーション内の他の人々を含む他の実世界物体であってよいが、これらに限定されない。したがって、ランプアレイまたはコンステレーションの構成は、それが係合する特定の物体、例えば、手の各指関節または人の体の関節にあるLEDに適合し得る。必要に応じて、慣性監視ユニット(IMU)216が、本明細書の他の場所で説明する目的のために、EDS202に関連付けられてよい。IMU216は、ほんの一例として、ジャイロスコープ、加速度計、磁力計のうちの1つまたは複数を含み得る。
【0046】
この配置では、空間内のすべてのLEDの位置決めとEDS姿勢の追跡を同時に行うために、EDSの出力信号が使用される。以下でさらに説明する静止EDS及び可動LEDコンステレーションの場合、LEDの相対位置は事前に決定されていると想定され、コンステレーション208全体が剛体として追跡される。
【0047】
図3は、物体308上のLED306からのイベントを検出するために必要に応じて同じプラットフォーム304に結合され得る第1のEDS300及び第2のEDS302の組み合わされた出力を使用することによってステレオSLAMが提供される代替の実施形態を示す。ステレオSLAMの場合、以下に説明する初期化は必要ない。三次元のLED位置は、ステレオ視差を使用して三角測量される。ステレオSLAMの利点の1つは、ステレオ視差がこの目的で使用されるため、EDSの動き無しに三次元で相対的なLED位置を決定できることである。
【0048】
図4は、HMD46などのプラットフォームに結合されたEDSを含むEDSアセンブリ400を示す。この場合、EDSは移動可能であり、LED404のコンステレーション402は、動かない物体と固定的に係合されている。対照的に、
図5では、EDS500は、例えば、壁または他の表面に静止して取り付けられ、一方、LED504のコンステレーション502は、ディスプレイ508用のハンドヘルドコントローラまたはリモートコントロールデバイスなどの可動物体506に取り付けられている。可動物体506に取り付けられることによって移動可能であることに加えて、コンステレーション502は、物体506自体上で移動可能に、例えば、回転可能に取り付けられてよいことに留意されたい。
【0049】
一方、
図6は、EDS600が(例えば、HMD46に結合されることによって)実世界の基準フレーム内で移動することができ、LED604のコンステレーション602が、可動物体606に結合されることによって同様に移動可能である実施形態を示す。EDS基準フレーム内で追跡が行われている場合は、EDSを固定する必要は無い。
【0050】
いずれにせよ、追跡自体は、非常に高速で個々のLEDを区別し、画像平面上でどのLEDがどちらであるかを決定するための計算リソースをほとんどまたはまったく消費しない(画像処理無し)技術を説明する以下のさらなる開示の応用である。ここで述べたように、追跡はSLAMのようなもの(EDSを備えたHMD46は移動可能、LEDは静止しているが場所は不明)またはコントローラのようなもの(LEDコンステレーションはEDS基準フレームで追跡される)のいずれかであってよい。HMD姿勢追跡とヘッドセットに対するコントローラの場所追跡、または事前にマッピングされた(LED位置はすでに分かっている)環境でのHMD姿勢追跡など、これら2つが混在している可能性がある。これらすべての追跡例には、共通点が1つある。環境内の特徴点を識別し、追跡が機能する特徴点を確実に知る必要がある。本技術は、カメラと画像処理を省略し、代わりに特徴点に高速パルスLEDを使用し、EDSでそれらのパルスを検出する。当然ながら、EDSにはフレームの正式な概念がなく、イベントの位置とイベントが発生する時間を報告するが、LEDの通電またはアクティブ化のラウンドからのイベントレポートをまとめて「フレーム」とみなしてよい。
【0051】
より具体的には、EDSは個々のピクセルの光強度を継続的に監視し、この強度の経時変化率が閾値を超えると、EDSはその特定のピクセルのX、Y座標に関連するイベントを生成する。ある時間窓内でイベントを収集し、それに基づいて人工的な「フレーム」を生成することが可能である。
【0052】
図7を示す。時差(time-staggered)パルス700によって示されるように、一度に1つのLED702のみがオンまたはオフにされる。これらのパルスのタイミングと毎回どのLEDが発光するかは事前に確立されているため、既知である。正のイベントは、各パルス700の前縁704からEDS703によって、すなわち、LEDがアクティブ化されたときに検出され、負のイベントは、各パルス700の後縁706からEDSによって、すなわち、LEDが非アクティブ化されたときに検出される。図示のように、パルス700の前縁は、直前のパルスの後縁よりも時間的に遅い。EDS閾値は、これらのLEDの瞬間的な強度変化のみを検出するのに十分な高さに設定される。パルス700の時間分離のために、どのイベントがどのLEDに対応するかを解決することが単純化される。EDSの速度が非常に速いため、多数のLEDをすばやく追跡することができる。
【0053】
EDSによって検出されたイベントごとに、イベント検出の時間と、イベントに対応するEDSピクセルアレイのx座標とy座標が取得される。各LEDのオン/オフ時間が分かっているため、どのLEDが各特定のイベントを引き起こしたかが判別される。
【0054】
図8は、例示のロジックを示す。ブロック800から開始して、EDSのイベント検出閾値は、LEDのアクティブ化及び非アクティブ化によって引き起こされる光強度の比較的大きな変化を検出するのに十分である一方、比較的小さなイベント(すなわち、光強度の比較的小さな変化)を無視するほど十分高く設定される。
【0055】
ブロック802に移動すると、任意の特定のLEDNについて、例えば、最初にLED1について、少なくとも1つの、通常は2つのイベント(プラス及びマイナス)が検出され、それに応じてEDSはイベント検出信号を生成する。各イベントについて、イベント検出の時間及びEDSピクセルアレイによって感知されたイベントのxy位置がブロック804で記録される。
【0056】
状態806及び808は、イベントの「フレーム」全体が検出されるまで、例えば、すべての既知のLEDからのイベントの1ラウンドが検出されるまで、このプロセスが繰り返されることを単に示している。そうでない場合、決定ダイアモンド806ですべてのLEDが検出され、ブロック808は、N=N+1を設定し、次にブロック802にループバックすることによって、次のLEDが(概念的にフローチャートフォーマットを使用して)監視されることを示す。十分なイベントが検出及び記録されると、ロジックはブロック810に移動して、イベントの人工的な「フレーム」を出力し、ブロック812でプロセッサに送信されて、カメラ画像に基づいてSLAM姿勢/追跡を実行するのと同様、イベントに基づいて、HMD46及び他の実世界物体等の物体のSLAM姿勢/追跡を決定してよい。言い換えると、イベントは、すべてのLEDが1回点滅する時間間隔の間に蓄積される。EDSによって検出されたイベントは、追跡に使用される。
【0057】
単眼SLAMの初期三角測量と姿勢推定の場合について、
図9及び10を参照する。ブロック900で、数個の連続するビデオのような「フレーム」(例えば、2つ)が、時間的に近い異なるLEDからの数個のイベントを使用して生成される。
図9のブロック902に移動すると、「フレーム」間のLEDの対応に基づいて基礎行列1000(
図10)が計算される。この場合、どのLEDがどちらであるかが分かっているため、外れ値を排除する必要はない。
【0058】
図9のブロック904に進むと、基礎行列1000が基本行列に変換される。基本行列は、4つの運動仮説に分解される。これは、以下によって定義される基本行列1002を使用して行われてよい。
【0059】
基本行列E=K
TFK。ここで、Kは固有パラメータ行列、Fは基礎行列である。基本行列の特異値分解は、E:U,V=svd(E)として計算される。これから、T
1,2=+/-U
0..2,2(Uの最後の列)によって与えられる(
図10に示される)2つの平行移動仮説1004とR
1=U*W*V
T,R
2=U*W
T*V
Tによって与えられる2つの回転仮説1006が導き出される(
図9のブロック904)、ここで、
【数1】
である。
【0060】
三次元のLED位置は、4つの仮説の各組み合わせ1008を使用して三角測量され、画像平面に投影される。4つの仮説1008のうち、外れ値の無いものは(
図10の1010に示される)1つだけである。これは、
図9のブロック906で選択され、ブロック908の2つのフレーム間の初期相対姿勢表示の真の1つとして使用される。この初期化の後、ブロック910で生成された少なくとも2つの「フレーム」に現れる新しいLED位置を三角測量することにより、SLAMは通常の方法で機能することができる。「フレーム」姿勢は、既知の姿勢のLEDの投影を使用して決定される。バンドル最適化を使用して、LEDの3D位置とEDS姿勢の両方を改良することができる。
【0061】
図11は、カメラ画像に基づくSLAM追跡を改善するためにIMUを使用するのと同様に、追跡を改善するためにEDSと組み合わせてIMUを使用することを示す。IMUの読み取り値はフレーム間で統合され、実世界の物理的物体の全体的なスケールと現在の速度を改良するために使用される。単眼及びステレオSLAMの両方で、IMUを使用して垂直に対する真の向きを決定する。加速度と角速度は、連続するフレーム間で積分される。角速度積分は、向きの変化の推定値を表す。
図11の記号1100は、IMU信号の積分を表す。加速度の第1の積分は、速度変化プラス自由落下重力を表す。加速度の第2の積分は、位置の変化と自由落下重力の積分を表す。これら(IMU積分)は、動きを調整する追加の制約である。
【0062】
固定EDSで可動LEDを追跡するために類似の設定を使用することができる。この目的のために、LEDのコンステレーションを使用することができる。EDS画像平面への二次元LED投影が与えられると、三次元でのコンステレーション姿勢を決定することができる。使用前に、LEDコンステレーションは、正確なLEDの相対位置を決定するためのキャリブレーションが必要である。
【0063】
同様に、オクルージョンの場合、及び3つ未満のLEDが同時に観測できる場合の追跡を改善するために、IMUはさらに使用されてよい。この特定の追跡タイプでは、カルマンフィルタのようなワンステップの最適化方法が使用されてよい。SLAMの場合、レーベンバーグ・マーカート法が使用されてよい。
【0064】
剛体追跡のために二次元から三次元への点対応を使用する3D姿勢回復方法がある。通常、2d-3d点対応から得られたソリューションを使用して、カルマンフィルタベースの追跡を開始する。カルマンフィルタは1ステップの改良勾配法であり、初期近似が遠すぎると真の解に収束しない可能性があるため、カルマンフィルタ追跡には初期化が必要である。観測値は、利用可能になるとすぐに、カルマンフィルタを通して供給される。カルマンフィルタは、予測ステップと補正ステップの2つのステップを実行する。予測ステップは、観測時間までシステムモデルを進化させるが、補正ステップは、観測の確率を高くするために前のステップの結果(システム状態)を調整する。多数の観測値が絶えず到着することを考えると、これはシステム状態を継続的に改良し、真の状態に近づける。
【0065】
非線形最適化は一度にすべてに適用することができる。入力はランドマーク観測と慣性観測であり、出力はEDSの連続姿勢とランドマークの三次元位置である。
【0066】
いくつかの例示の実施形態を参照して本原理を説明したが、当然ながら、これらは限定することを意図しておらず、様々な代替的な配置が本明細書で特許請求される主題を実施するために使用されてよい。