(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023181132
(43)【公開日】2023-12-21
(54)【発明の名称】IR及び周囲光(または深度センサ)を使用したハイブリッド画素による動的視覚センサの追跡
(51)【国際特許分類】
G06F 3/0346 20130101AFI20231214BHJP
G06F 3/01 20060101ALI20231214BHJP
A63F 13/24 20140101ALI20231214BHJP
A63F 13/213 20140101ALI20231214BHJP
A63F 13/25 20140101ALI20231214BHJP
【FI】
G06F3/0346 422
G06F3/01 510
A63F13/24
A63F13/213
A63F13/25
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023094769
(22)【出願日】2023-06-08
(31)【優先権主張番号】17/837,945
(32)【優先日】2022-06-10
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】イエ、シャオヨン
(72)【発明者】
【氏名】中村 勇一郎
【テーマコード(参考)】
5B087
5E555
【Fターム(参考)】
5B087AA00
5B087AE00
5E555AA78
5E555BA20
5E555BB20
5E555BC04
5E555BE17
5E555CA42
5E555CB21
5E555CC01
5E555DA08
5E555FA00
(57)【要約】 (修正有)
【課題】IR及び周囲光又は深度センサを使用したハイブリッド画素による動的視覚センサの追跡システムを提供する。
【解決手段】動的視覚センサ(DVS)は、既知の構成中の感光素子のアレイを有し、互いに関する及びゲームコントローラ本体に関する既知の構成中の2つ以上の光源から出力された光における変化に応答して、アレイ内の対応する感光素子でのイベントに対応する信号を出力する。信号は、イベントの時間と、対応する感光素子のアレイ位置を指示する。フィルタは、光源からの光をアレイ内の感光素子に選択的に透過させ、他の光がそれらの素子に到達することを選択的に遮断し、その逆も同様である。プロセッサは、イベントの時間、対応する感光素子のアレイ位置及び既知の光源の構成からゲームコントローラの位置及び配向を決定し、他の光に起因する2つ以上の感光素子によって発生した信号から1つ以上のオブジェクトの位置及び配向を決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサと、
前記プロセッサに操作可能に結合された動的視覚センサ(DVS)であって、前記DVSは既知の構成での感光素子のアレイを有し、前記動的視覚センサは、互いに関する及びコントローラ本体に関する既知の構成での2つ以上の光源から出力された光における変化に応答して、前記アレイ内の2つ以上の対応する感光素子で2つ以上のイベントに対応する信号を出力するように構成され、前記出力された信号は前記2つ以上のイベントの時間、及び前記アレイでの前記2つ以上の対応する感光素子の位置に対応する情報を含む、前記DVSと、
前記2つ以上の光源からの光を、前記アレイ内の前記感光素子のうちの1つ以上に選択的に透過させ、前記アレイ内の前記感光素子のうちの1つ以上に他の光が到達することを選択的に遮断するように構成された1つ以上のフィルタであって、前記1つ以上のフィルタは前記2つ以上の光源からの光が前記アレイ内の前記感光素子のうちの1つ以上に到達することを選択的に遮断し、前記アレイ内の前記感光素子のうちの1つ以上に前記他の光を選択的に透過させるようにさらに構成される、前記1つ以上のフィルタと、
を含む、追跡システムであって、
前記プロセッサは、前記2つ以上のイベントの前記時間、前記アレイ内の前記2つ以上の対応する感光素子の前記位置、互いに関する及び前記コントローラ本体に関する前記2つ以上の光源の前記既知の構成から、前記コントローラの位置及び配向を決定するように構成され、
前記プロセッサは、2つ以上の感光素子に到達する他の光に起因する、前記2つ以上の感光素子によって発生する信号から1つ以上のオブジェクトの位置及び配向を決定するようにさらに構成される、追跡システム。
【請求項2】
前記他の光は、環境からの周囲光であり、前記2つ以上の感光素子によって発生する前記信号は、前記アレイ内の2つ以上の感光素子によって発生する、請求項1に記載の追跡システム。
【請求項3】
前記1つ以上のフィルタは、前記アレイ内の前記感光素子の1つ以上の赤外(IR)光感光素子の第一セットの上にIRパスフィルタと、前記アレイ内の前記感光素子のうちの1つ以上の第二セットの上に赤外線カットフィルタとを含む、請求項1に記載の追跡システム。
【請求項4】
前記1つ以上のフィルタは、前記2つ以上の光源からの光を、前記アレイ内の前記感光素子のうちの1つ以上に選択的に透過させ、他の光が前記アレイ内の前記感光素子のうちの前記1つ以上に到達することを選択的に遮断するように構成され、前記1つ以上のフィルタは、前記2つ以上の光源からの光が前記アレイ内の前記感光素子のうちの異なる1つ以上に到達することを選択的に遮断し、前記他の光を前記アレイ内の前記感光素子のうちの前記異なる1つ以上に選択的に透過させるようにさらに構成される、請求項1に記載の追跡システム。
【請求項5】
前記1つ以上のフィルタは、前記2つ以上の光源からの光を前記アレイ内の前記感光素子のうちの1つ以上に選択的に透過させ、他の光が特定の時間に前記アレイ内の前記感光素子のうちの前記1つ以上に到達することを選択的に遮断するように構成され、前記1つ以上のフィルタは、前記2つ以上の光源からの光が前記アレイ内の前記感光素子のうちの異なる1つ以上に到達することを選択的に遮断し、前記他の光を他の時間に前記アレイ内の前記感光素子のうちの前記異なる1つ以上に選択的に透過させるようにさらに構成される、請求項1に記載の追跡システム。
【請求項6】
前記1つ以上のオブジェクトはコントローラを含む、請求項1に記載の追跡システム。
【請求項7】
前記1つ以上のオブジェクトは前記コントローラ以外のオブジェクトを含む、請求項6に記載の追跡システム。
【請求項8】
前記プロセッサに結合された2つ以上の深度センサ素子を含むアレイを有する深度センサをさらに含み、前記1つ以上の深度センサ素子のそれぞれは、それに衝突する前記他の光に応答して信号を発生するように構成される、請求項1に記載の追跡システム。
【請求項9】
前記感光素子の前記アレイは、前記1つ以上の光源のうちの少なくとも1つの飛行時間を検出するように構成された1つ以上の深度センサを含む、請求項1に記載の追跡システム。
【請求項10】
前記1つ以上の深度センサ素子は、前記アレイ内の1つ以上の他の感光素子と格子縞模様に配置された1つ以上の深度センサ素子を含む、請求項9に記載の追跡システム。
【請求項11】
前記1つ以上の深度センサは前記感光素子の前記アレイの第一部分上に位置しており、1つ以上の他の感光素子は前記感光素子の前記アレイの第二部分上に位置している、請求項9に記載の追跡システム。
【請求項12】
前記DVSは、深度感知感光素子のアレイをさらに含み、前記深度感知感光素子の前記アレイは、前記2つ以上の光源のうちの少なくとも1つの光源からの光の飛行時間を検出するように構成される、請求項1に記載の追跡システム。
【請求項13】
前記1つ以上の光源は振幅変調光源を含む、請求項1に記載の追跡システム。
【請求項14】
前記1つ以上の光源と前記感光素子の前記アレイとの間に光学的に結合されたビームスプリッタをさらに含む、請求項1に記載の追跡システム。
【請求項15】
前記1つ以上の光源と前記感光素子の前記アレイとの間に光学的に結合された微小電気機械システム(MEMS)ミラーをさらに含む、請求項1に記載の追跡システム。
【請求項16】
前記1つ以上の光源は、少なくとも1つの垂直共振器発光レーザまたは端面発光レーザを含む、請求項1に記載の追跡システム。
【請求項17】
前記1つ以上のオブジェクトはユーザの1本以上の四肢を含む、請求項1に記載の追跡システム。
【請求項18】
前記プロセッサは、機械学習アルゴリズムを使用して、前記1つ以上のオブジェクトの前記位置及び前記配向を決定するように構成される、請求項1に記載の追跡システム。
【請求項19】
前記1つ以上のオブジェクトはヘッドマウントディスプレイを含む、請求項1に記載の追跡システム。
【請求項20】
2つ以上の光源からの光を、1つ以上のフィルタを備えた動的視覚センサ(DVS)のアレイ内の1つ以上の感光素子に選択的に透過させ、前記1つ以上のフィルタを備えた前記アレイ内の前記感光素子のうちの1つ以上に他の光が到達することを選択的に遮断することであって、前記1つ以上のフィルタは前記アレイ内の前記感光素子のうちの1つ以上に前記2つ以上の光源からの光が到達することを選択的に遮断し、前記アレイ内の前記感光素子のうちの1つ以上に前記他の光を選択的に透過させるようにさらに構成される、前記遮断することと、
互いに関する及びコントローラ本体に関する既知の構成内の2つ以上の光源から出力された光における変化に応答して、前記アレイ内の2つ以上の対応する感光素子で2つ以上のイベントに対応する信号を出力することであって、前記出力された信号は前記2つ以上のイベントの時間、及び前記アレイ内の前記2つ以上の対応する感光素子の位置に対応する情報を含む、前記出力することと、
前記2つ以上のイベントの前記時間、前記アレイ内の前記2つ以上の対応する感光素子の前記位置、互いに関する及び前記コントローラ本体に関する前記2つ以上の光源の前記既知の構成からコントローラの位置及び配向を決定することと、
2つ以上の感光素子に到達する他の光に起因する、前記2つ以上の感光素子によって発生する信号から1つ以上のオブジェクトの位置及び配向を決定することと、
を含む、追跡方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の態様は、ゲームコントローラの追跡に関し、具体的には、本開示の態様は、動的視覚センサを使用したゲームコントローラの追跡に関する。
【背景技術】
【0002】
最新の仮想現実(VR)及び拡張現実(AR)の実装は、デバイスとのユーザインタラクションを精確かつ高速な動きの追跡に依存する。AR及びVRは、多くの場合、他のオブジェクトに対するコントローラの位置及び配向に関する情報に依存する。多くのVR及びARの実装は、コントローラの位置及び配向を決定するために、コントローラ内の加速度計またはジャイロスコープによって取得された慣性計測値と、外部カメラによるコントローラの視覚的検出との組み合わせに依存する。
【0003】
最も早期の実装のいくつかは、画面に向けられたゲームコントローラ上の定義された検出半径を有する赤外線カメラによって、検出された赤外光を使用する。カメラは毎秒200フレームという適度に高速なレートで画像を撮影し、赤外光の位置を決定する。赤外光間の距離は、所定のもの、及び画面に対するコントローラの位置を計算することができるカメラ画像内の赤外光の相対位置からのものである。加速度計を使用して、コントローラの位置または配向における相対的な3次元変化に関する情報を提供することもある。これらの従来の実装は、画面の固定位置、及び画面に向けられるコントローラに依存する。最新のVR及びARの実装では、ユーザと共に動くヘッドマウントディスプレイ内のユーザの顔の近くに画面を配置することができる。したがって、絶対ライト位置(ライトハウスとも呼ばれる)を有することは、余分なセットアップ時間を必要とし、ユーザの運動範囲を制限する独立したライトハウスポイントをユーザがセットアップしなければならないため、望ましくなくなる。さらに、赤外線カメラの毎秒200フレームという適度に高速なフレームレートでさえ、動きのフィードバックを円滑に提供するには十分な速さではなかった。さらに、このセットアップが単純化されすぎたため、部屋のマッピング及び手の検出などのより最新のインサイドアウト検出方法には適していない。
【0004】
最近の実装では、両手、コントローラ、及び/またはその他の身体部位を検出するように訓練された訓練済み機械学習アルゴリズムと組み合わせてカメラ及び加速度計を使用する。動きの検出の円滑性には、高フレームレートのカメラを使用して、身体部位/コントローラの検出用の画像フレームを生成する必要がある。これにより、更新レートの円滑性のために迅速に処理される必要がある大量のデータが生成される。したがって、フレームデータを処理するには、高価なハードウェアを使用する必要がある。さらに、各フレーム内のフレームデータの多くは、動き追跡とは関係がないため、不要なものとして破棄される。
【発明の概要】
【0005】
本開示の態様が生じるのはこの状況においてである。
【図面の簡単な説明】
【0006】
本発明の教示は、添付図面とあわせて以下の詳細な説明を検討することによって容易に理解できる。
【0007】
【
図1】本開示の一態様による、シングルセンサアレイを有するDVSを使用したゲームコントローラの追跡の実装を示す図解である。
【
図2】本開示の一態様による、デュアルセンサアレイを有するDVSを使用したゲームコントローラの追跡の実装を示す図解である。
【
図3】本開示の一態様による、シングルセンサアレイ及びカメラとの組み合わせのDVSを使用したゲームコントローラの追跡の実装を示す図解である。
【
図4】本開示の一態様による、2つ以上の光源を有するゲームコントローラの運動を追跡するDVSを示す図解である。
【
図5】本開示の一態様による、シングルセンサアレイを有するDVSを含むコントローラを使用した頭部の追跡または他のデバイスの追跡の実装を示す図解である。
【
図6】本開示の一態様による、デュアルセンサアレイを有するDVSを含むゲームコントローラを使用した頭部の追跡または他のデバイスの追跡の実装を示す図解である。
【
図7】本開示の一態様による、シングルセンサアレイ及びカメラとの組み合わせのDVSを有するコントローラを使用した頭部の追跡または他のデバイスの追跡の実装を示す図解である。
【
図8】本開示の一態様による、1つ以上の光源及び1つの光源の構成適合モデルを使用したDVSによる動き追跡方法を示すフロー図である。
【
図9】本開示の一態様による、タイムスタンプ付き光源位置情報を使用したDVSによる動き追跡方法を示すフロー図である。
【
図10A】本開示の態様による、ノード層を有するRNNの基本形式を示す図解であり、ノードのそれぞれは、活性化関数、1つの入力重み、回帰隠れノード遷移重み、及び出力遷移重みによって特徴付けられる。
【
図10B】本開示の態様による、時間とともに移動する同じ活性化関数を有する一連のノードとRNNが見なされ得ることを示す簡略図である。
【
図10C】本開示の態様による、CRNNなどの畳み込みニューラルネットワークの例示的なレイアウトを示す。
【
図10D】本開示の態様による、機械学習ニューラルネットワークの教師あり訓練方法を描画するフロー図を示す。
【
図11A】本開示の態様による、複数のコロケーションセンサタイプを有するハイブリッドDVSを示す図解である。
【
図11B】本開示の態様による、アレイ内で格子縞模様に配置された複数のセンサタイプを有するハイブリッドDVSの図解である。
【
図11C】本開示の態様による、アレイ内でパターンに配置された複数のセンサタイプを有するハイブリッドDVSの概略断面図である。
【
図11D】本開示の態様による、アレイ内でパターンに配置された複数のフィルタタイプを有するハイブリッドDVSの概略断面図である。
【
図12】本開示の態様による、光分離器で分離された入力を有する複数のセンサタイプを含むハイブリッドDVSを示す図解である。
【
図13】本開示の態様による、複数のセンサタイプが微小電気機械(MEMS)ミラーによって分離された入力を有する、ハイブリッドDVSを示す図解である。
【
図14】本開示の態様による、複数のセンサタイプが一時的にフィルタリングされた入力を有する、ハイブリッドDVSを示す図解である。
【
図15】本開示の態様による、DVSによる身体追跡を示す図解である。
【
図16A】本開示の態様による、セーフティシャッタドアを備えたヘッドセットを示す図解である。
【
図16B】本開示の態様による、スライド式セーフティシャッタを備えたヘッドセットを示す図解である。
【
図16C】本開示の態様による、ルーバー式セーフティシャッタを備えたヘッドセットを示す図解である。
【
図16D】本開示の態様による、布製セーフティシャッタを備えたヘッドセットを示す図解である。
【
図16E】本開示の態様による、液晶セーフティシャッタを備えたヘッドセットを示す図解である。
【
図17】本開示の態様による、DVS及びコントローラによる指の追跡を示す図解である。
【
図18A】本開示の態様のコンテキスト内での視線追跡を示す概略図である。
【
図18B】本開示の態様のコンテキスト内での視線追跡を示す概略図である。
【
図19】本開示の態様による、DVSによる追跡システムのブロックシステム図である。
【発明を実施するための形態】
【0008】
以下の詳細な説明は、例示を目的として多くの具体的な詳細を含むが、当業者の誰でも、以下の詳細に対する多くの変形及び改変が本発明の範囲内にあることを認識する。したがって、以下で説明される発明の例示的な実施形態は、特許請求される発明への一般性を失うことなく、及び特許請求される発明への限定を課すことなく示される。
【0009】
序文
動的視覚システム(DVS)と呼ばれる新しいタイプの視覚システムが最近開発された。このDVSは、光感受性画素アレイの光強度における変化のみを利用して、シーンにおける変化を解像する。DVSは、非常に高速な更新レートを有し、画像フレームのストリームを配信する代わりに、DVSは画素強度における変化の位置のほぼ連続したストリームを提供する。画素強度における各変化は、イベントと呼ばれることがある。これには、無関係なデータ出力が大幅に削減されるという追加の利点がある。
【0010】
2つ以上の光源は、光の点滅速度によって決定される更新レートで、位置指示灯に対するDVSカメラの位置に関する連続した更新を提供することができる。いくつかの実装では、2つ以上の光源は赤外光源であってもよく、DVSは赤外光感受性画素を使用してもよい。あるいは、DVSは可視光スペクトルに感受性があってもよく、2つ以上の光源は複数の可視光源または既知の波長での1つの可視光であってもよい。可視光に感受性のDVSを有する実装では、DVSは、その視野(FOV)内で発生する動きにも感受性であり得る。DVSは、動く表面からの光の反射によって引き起こされる光強度における変化を検出し得る。赤外感受性DVSを使用する実装では、赤外照明器の光を使用して、反射によってFOV内の運動を検出することができる。
【0011】
実装
図1は、本開示の一態様による、シングルセンサアレイを有するDVS101を使用したゲームコントローラの追跡の実装の一例を示す。示される実装では、DVSは、ヘッドマウントディスプレイの一部であり得るヘッドセット102に取り付けられる。2つ以上の光源を含むコントローラ103は、DVS101の視野内にある。示される例では、コントローラ103は、4つの光源104、105、106、及び107を含む。これらの光源は、互いに関して及びコントローラ103に関して既知の構成を有する。ここに、単一感光性アレイを備えた1つのDVSがある。そのような4つの光源を使用して、DVS101に対するコントローラ103の位置及び配向を精確に決定することができる。光源に関する既知の情報は、光源のそれぞれに対するその他の光源のそれぞれの間の距離、及びコントローラ103上の光源のそれぞれの位置を含むことができる。示されるように、3つの光源104、105、106は平面を描くことができ、光源107は、3つの光源104、105、106によって描かれる平面に対して平面の外にあってもよい。ここでの光源は、既知の構成を有し、例えば、限定ではないが、第一光源104は正面上部左側に位置しており、第二光源105は正面上部右側に位置しており、第三光源106は上部から離れた左側に位置しており、第四光源107はコントローラの正面中央下部に位置している。4つの光源により、単一の感光性アレイを有するDVSは、X、Y、及びZ軸におけるコントローラの運動を決定することができる場合がある。さらに、慣性計測装置(IMU)108をコントローラ103に結合することができる。例として、IMU108は、一軸、二軸、または三軸に関して加速度を測定するように構成された加速度計を含むことができる。あるいは、IMUは、一軸、二軸、または三軸に対する回転における変化を感知するように構成されたジャイロスコープを含むことができる。一部の実装では、IMUは加速度計及びジャイロスコープの両方を含む場合がある。IMU108を使用して、プロセッサを用いるDVS101からの情報によって運動、位置、及び配向の決定を洗練し得る。プロセッサは、ヘッドセット102、ゲームコンソール、または他のコンピューティングデバイス(図示せず)内に位置していてもよい。DVS101、ヘッドセット102、及びIMU108は、プロセッサ110に操作可能に結合され得、このプロセッサは、ヘッドセット102、コントローラ103、またはパーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、もしくはゲームコンソールなどの別個のデバイス上に位置していてもよい。プロセッサは、本明細書で説明されるように、例えば、
図4、
図8及び
図9に関して後述されるように、追跡を実装することができる。さらに、プロセッサ110は、光源104、105、106の点滅を制御することができる。
【0012】
操作中、感光性アレイを有するDVS101は、感光性アレイで光源104、105、106、107の運動を検出することができ、感光性アレイによって光における変化が検出されると、プロセッサに送信されることができる。いくつかの実装では、光源は、例えば、限定ではないが、回路及び/またはプロセッサからの信号を用いて、所定のパターンでオン及びオフになるように構成され得る。プロセッサは所定のパターンを使用して、各光源の同一性を決定することができる。光源の同一性は、コントローラに対する及びその他の光源に対する既知の位置を含み得る。他の実装では、各光源は、所定のパターンでオフ及びオンになるように構成されることができ、そのパターンを使用して、その特異的な光源の同一性を決定することができる。いくつかの実装では、プロセッサは、コントローラに対する光源の既知の構成を、感光性アレイによって検出されたイベントに適合させることができる。
【0013】
DVSは、毎秒約100万回の更新に離散近似されることができるほぼ連続した更新レートを有することができる。更新レートの高いDVSは、光源の非常に高速な点滅パターンを解像することができる場合がある。点滅レートは、主にナイキスト周波数によって制限され、つまり、DVSのサンプルレートの半分である。光源は、DVSによる点滅の検出に適したデューティサイクルで点滅することができる。一般的に言えば、点滅の「オン」時間は、DVSによって一貫して検出されることができるように十分に長くなる必要がある。さらに、更新レートが高いため、点滅レートにおけるわずかな差異が検出可能である場合がある。
【0014】
光源104、105、106、107は、白熱灯または白色発光ダイオードなどの広い可視スペクトル光であってもよい。あるいは、光源104、105、106、107は赤外光であってもよく、または光源はDVS101によって検出可能な特異的な光スペクトルプロファイルを有してもよい。DVS101は、光源104、105、106、107の発光スペクトルを検出するように構成される感光性アレイを含むことができる。例えば、限定ではないが、光源が赤外光である場合、DVSの感光性アレイは、赤外光に感受性であってもよく、または光源が特異的な発光スペクトルを有する場合、感光性アレイは、光源の特異的な発光スペクトルに対する感受性を高めるように構成されてもよい。加えて例えば、限定するものではないが、DVSの感光性アレイは、光源によって発光されない他の波長の光に感受性がなくてもよく、またはその光を除外してもよく、例えば、光源が赤外光である場合、感光性アレイは赤外光のみを検出するように構成されてもよい。
【0015】
図2は、本開示の一態様による、デュアルセンサアレイを有するDVSを使用したゲームコントローラの追跡の実装の一例を示す。この実装では、ヘッドセット203は、第一DVS201及び第二DVS202を含む。あるいは、ヘッドセット203は、第一感光性アレイ201及び第二感光性アレイ202を有するDVSを含んでもよい。光源及びDVSの一般的な機能は、
図1に関して上述されたものと同様である。第二DVSまたは第二アレイからの情報を第一アレイからの情報と統合して、コントローラの配向及び何らかの深度の情報により良く適合したものを提供することができる。2つのDVSまたは感光性アレイは、両眼視差の使用を可能にする部分的に重なる視野を有することができる。
【0016】
2つのDVSまたは2つの感光性アレイは、深度感知用の両眼視を提供する。これにより、光源の数をさらに減らすことができる。第一DVS及び第二DVSまたは第一感光性アレイ及び第二感光性アレイは、既知の距離、例えば、限定ではないが、約50~100ミリメートルまたは100ミリメートル超だけ離されてもよい。より一般的には、この間隔は、所望の深度の感受性に十分な視差を提供するのに足りる大きさであるが、視野間に重なりがないようにそれほど大きくはない。示されるように、コントローラ207は、第一光源204、第二光源205、及び第三光源206を含むことができる。2つのDVSまたは2つのアレイからの情報がコントローラの位置及び配向の決定に十分な情報を提供するため、コントローラに結合された第四光源は必要ない場合がある。コントローラは、位置及び配向の決定を洗練するために使用される追加の慣性情報を提供することができる、IMU208を含むことができる。
【0017】
第一DVS201、第二DVS202、ヘッドセット203、及びIMU208は、プロセッサ210に操作可能に結合され得、このプロセッサは、ヘッドセット203、コントローラ207、またはパーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、もしくはゲームコンソールなどの別個のデバイス上に位置していてもよい。プロセッサは、本明細書で説明されるように、例えば、
図4、
図8及び
図9に関して後述されるように、追跡を実装することができる。さらに、プロセッサ210は、光源204、205、206の点滅を制御することができる。
【0018】
図2は、2つのDVSまたは2つの感光性アレイを示すが、本開示の態様は、そのように限定されない。デバイスは、任意の数のDVSまたは感光性アレイを含むことができる。例えば、限定ではないが、3つのDVS、または3つの分離された感光性アレイを有するDVSは、コントローラに結合された2つの光源のみの使用を可能にしてもよい。第三DVSまたは感光性アレイは、その他の2つのDVSまたはアレイと同一線上になくてもよい。両眼視差と同様に、追加のDVSまたは感光性アレイのそれぞれを、既知の距離だけ分離することができ、部分的に重なる視野を有し得ることで、使用する視差効果が大きくなることが可能になる。さらに、いくつかの実装は、それぞれが複数の感光性アレイを有する複数のDVSを含み得る。例えば、限定するものではないが、それぞれが2つの別個の感光性アレイを有する2つのDVSがあってもよい。
【0019】
図3は、本開示の一態様による、シングルセンサアレイ及びカメラとの組み合わせのDVSを使用してゲームコントローラの追跡の実装の一例を示す。この実装では、DVS301にカメラ302が追加される。DVS301及びカメラ302は、ヘッドセット303に結合され得る。DVS301及びカメラ302は、部分的に重なる視野を有してもよく、または同じ視野を共有してもよい。コントローラは、コントローラ307上に3つ以上の光源304、305、306を含み得る。DVS301及びカメラ302を合わせて使用して、コントローラの位置及び配向を決定することができる。カメラ302からのフレームは、DVS301からのイベントを使用して補間され得る。また画像フレームを使用して、位置特定及びマッピングを同時に実行し、コントローラの配向及び位置の決定を改善することができる。さらに、カメラからの画像フレームを使用して、機械学習アルゴリズムを用いるユーザのインサイドアウト追跡、例えば、手の追跡または足の追跡を実行することができる。IMU308は、コントローラの位置及び配向の決定をさらに洗練するために使用される追加の慣性情報を提供することができる。
【0020】
第一DVS301、第二DVS302、ヘッドセット303、及びIMU308は、プロセッサ310に操作可能に結合され得、このプロセッサは、ヘッドセット303、コントローラ307、またはパーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、もしくはゲームコンソールなどの別個のデバイス上に位置していてもよい。プロセッサは、本明細書で説明されるように、例えば、
図4、
図8及び
図9に関して後述されるように、追跡を実装することができる。さらに、プロセッサ310は、光源304、305、306の点滅を制御することができる。
【0021】
図5は、本開示の一態様による、シングルセンサアレイを有するDVSを含むコントローラを使用した頭部の追跡または他のデバイスの追跡の実装の一例を示す。ここでは、DVS507はコントローラ508に取り付けられる。DVS507の視野内にあるヘッドセット501は、ヘッドセットに取り付けられた光源を使用して追跡される。ヘッドセット501は、2つ以上の光源、ここでは4つの光源502、503、504及び505を含むことができる。4つの光源は、単一DVSによる3次元での位置の決定に精確な情報を提供する。追加のDVSまたはカメラを使用すると、使用する光源の数が少なくなり得る。ヘッドセット501に対する各光源の位置は、システムに知られており、関連情報をDVSに提供するためにいくらか重要であり得る。ここで、光源502、503、及び504は平面を表す。光源505はその他の光源502、503、及び504の平面から外に位置している。これにより、ヘッドセットの位置、配向、または運動の3次元での検出が容易になる。ヘッドセット501は、IMU506を含むことができ、このIMUは、DVS507からの情報を用いて位置及び配向の推定を改善することができる。さらにコントローラ508は、IMU509を含むことができる。コントローラIMU509からの情報を使用して、ヘッドセットの位置及び配向の決定をさらに洗練することができ、例えば、限定ではないが、IMU情報を使用して、コントローラがヘッドセットに対して移動しているかどうかを決定して、その移動の速度または加速度を決定することができる。
【0022】
ヘッドセット501、IMU506、DVS507、コントローラIMU509は、プロセッサ510に操作可能に結合され得、このプロセッサは、ヘッドセット501、コントローラ508、またはパーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、もしくはゲームコンソールなどの別個のデバイス上に位置していてもよい。プロセッサは、本明細書で説明されるように、例えば、
図4、
図8及び
図9に関して後述されるように、追跡を実装することができる。さらに、プロセッサ510は、光源502、503、504、505の点滅を制御することができる。
【0023】
図6は、本開示の一態様による、デュアルセンサアレイを有するDVSを含むゲームコントローラを使用した頭部の追跡または他のデバイスの追跡の実装の一例を示す。ここで、コントローラ605は、2つのDVS606、607、または2つの感光性アレイ606及び607を有する単一のDVSに結合される。上述のように、2つのDVSまたは2つの感光性アレイは、適切な距離、例えば、500から1000ミリメートルの間で分離され得、部分的に重なる視野を有し得る。これにより、深度の決定に視差効果を使用することが可能になる。さらに、ヘッドセット601は、3つの光源602、603、604及びIMU608を含むことができる。2つのDVSまたは2つの分離されたアレイ606、607の使用により、4つ未満の光源、例えば、限定ではないが、3つの光源の使用が可能になってもよい。2つの光源602、603は線を描くことができ、第三光源604はその他の2つの光源602、603による線の外にあることができる。ヘッドセット601に結合されたIMU605からの情報を使用して、位置及び配向の決定を洗練することができる。
【0024】
ヘッドセット601、DVS606、DVS607、及びIMU608は、プロセッサ610に操作可能に結合され得、このプロセッサは、ヘッドセット601、コントローラ605、またはパーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、もしくはゲームコンソールなどの別個のデバイス上に位置していてもよい。プロセッサは、本明細書で説明されるように、例えば、
図4、
図8及び
図9に関して後述されるように、追跡を実装することができる。さらに、プロセッサ610は、光源602、603、604の点滅を制御することができる。
【0025】
図7は、本開示の一態様による、シングルセンサアレイ及び画像カメラとの組み合わせのDVSを含むコントローラを使用した頭部の追跡または他のデバイスの追跡の実装の一例を示す。ここでは、DVS707及びカメラ708はコントローラ706に結合される。カメラ708及びDVS707は、部分的に重なる視野を有してもよく、または完全に重なる視野を有してもよい。一部の実装では、カメラの画素及びDVSの感光素子は同じ感光性アレイを共有し得ることにより、統合されたDVS及びカメラとして機能し得る。
【0026】
3つ以上の光源702、703、704をヘッドセット701に結合することができる。例えば、限定するものではないが、光源はヘッドセットハウジング内に一体化されてもよく、各光源は、ヘッドセットハウジング内またはヘッドセットハウジング上の回路基板に取り付けられたLED、白熱、ハロゲン、または蛍光の発光体であってもよい。いくつかの実装では、単一の発光体は、単一の発光体からの光をヘッドセットハウジング上の2つ以上の光源に分割する、プラスチック製またはガラス製のライトパイプまたは光ファイバを使用して、複数の光源を作成する場合がある。
【0027】
3つ以上の光源702、703、704は、電子信号に応答してオン及びオフになるように構成され得る。いくつかの実装では、3つ以上の光源は、所定のシーケンスでオン及びオフになることができる。光源702、703、704が移動するまたは点滅するごとに、DVS707はイベントを生成することができる。カメラ708は、設定されたフレームレートでその視野の画像フレームを生成する。DVSの更新レートが高いため、カメラによって生成された画像フレームをDVSイベントで補間することが可能になってもよい。
【0028】
いくつかの実装では、IMU705もヘッドセット701に結合することができる。ヘッドセット701、IMU705、DVS707、カメラ708、及びIMU608は、プロセッサ710に操作可能に結合され得、このプロセッサは、ヘッドセット701、コントローラ706、またはパーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、もしくはゲームコンソールなどの別個のデバイス上に位置していてもよい。プロセッサは、本明細書で説明されるように、例えば、
図4、
図8及び
図9に関して後述されるように、追跡を実装することができる。さらに、プロセッサ710は、光源702、703、704の点滅を制御することができる。
【0029】
さらにいくつかの実装では、カメラ708は、深度飛行時間(DTOF)センサなどの深度カメラであってもよい。DToFカメラは、光が光源からシーン内のオブジェクトに進み、画素アレイに戻るまでにかかる時間を測定することで深度画像を取得する。限定ではなく例として、DToFカメラは、間接飛行時間(ToF)感知方法の一例である、連続波(CW)変調を使用して操作することができる。CW ToFカメラでは、振幅変調光源からの光は、カメラの視野(FOV)内のオブジェクトによって後方散乱され、発した波形と反射された波形との間の位相シフトは測定される。複数の変調周波数で位相シフトを測定することにより、画素ごとの深度値を計算することができる。位相シフトは、画素内光子混合復調を使用して、異なる相対遅延で発した波形と受信した波形との間の相関を測定することによって得られる。
【0030】
DTOFシステムは、一般に、照明モジュール及び撮像モジュールを含む。照明モジュールは、光源、光源を高い変調周波数で駆動するドライバ、及び光源から設計された照明野(FOI)に光ビームを投射する拡散体からなる。DToF照明モジュールは、1つ以上の光源を含むことができ、これら1つ以上の光源は、例えば、限定ではないが、垂直共振器面発光レーザ(VCSEL)または端面発光レーザ(EEL)などの振幅変調発光体であってもよい。撮像モジュールは、撮像レンズ組立体、バンドパスフィルタ(BPF)、マイクロレンズアレイ、及び入射光子エネルギーを電子信号に変換する感光素子のアレイを含むことができる。マイクロレンズアレイは感光素子に到達する光の量を増加させ、BPFは光素子及びマイクロレンズアレイに到達する周囲光の量を減少させる。
【0031】
操作
図4は、本開示の一態様による、2つ以上の光源を有するゲームコントローラの運動を追跡するDVSを示す。DVS401は、その視野内にコントローラ402を有する。示されるように、コントローラ402は、コントローラ本体に結合された複数の光源を含む。複数の光源は、所定のレートでオフになり、再度オンになるように構成されることができる。DVS401の視野内の光源の各点滅は、DVSで1つまたは複数のイベント403を生成することができる。示されるイベント403では、光源がすべてオフ状態からオン状態に変化したため、イベントはすべての光源がオン状態であることを示す。あるいは、DVSの感受性に応じて、光源の明るさにおける変化は、イベント403をトリガするのに十分である場合がある。他の実装では、光が異なるレートまたは異なる時間でオフ及びオンになる場合があるため、点灯しているすべての光源よりも少ない光源に各イベントが対応する場合があることに留意されたい。点滅する光によって生成されたイベントの時間と、アレイ内のそれらの対応する位置をメモリ(図示せず)に記録することができる。いくつかの実装では、コントローラ402の位置及び配向は、DVSからの1つ以上のイベントから再構築され得る。
【0032】
いくつかの実装では、各光源は、所定の時間シーケンスで点滅し得る。DVSは、各イベントが発生した時間を、例えば、限定ではないが、タイムスタンプとして各イベントと共に出力することができる。イベントが発生した時間に所定の時間シーケンスを使用して、イベント内の各光の同一性、例えば、どのイベントがどの光源位置に対応するかを決定してもよい。示される例では、DVS401によって出力される1つ以上のイベント403は、感光性アレイによって検出される第一光406、第二光407、第三光408、及び第四光409を示す。上述のように、各光源の同一性は、DVSによって出力された情報及び光源の所定の点滅シーケンスから決定され得る。例えば、限定するものではないが、DVS401の感光性アレイは、時間T+1に光イベント403を検出することができ、所定のシーケンスは、光源406がT+1にオンになることを提供することができるため、光イベントが光源406に対応すると決定される。所定のシーケンスは、例えば、各光源のシーケンスのタイミング及び位置をリストするテーブルとして、メモリに格納され得る。いくつかの実装では、所定のシーケンスは光自体の点滅にエンコードされてもよく、例えば、限定ではないが、各光はその同一性を示すシーケンスで点滅してもよい。例えば、1とラベル付けされた光源は、数字の1を示すモールス符号シーケンスで点滅する場合がある。次いで、光イベントの同一性は、光イベントの分析を通じて回復され得る。あるいは、シーケンス情報は、光源自体または光源のドライバから来て、光源がいつオンまたはオフになるかを示してもよい。あるいは、光源を同時にオン及びオフにし得、機械学習アルゴリズムを、検出された光イベント403に適用して、コントローラの姿勢402をイベントと、光源の既知の構成とに適合させることができる。
【0033】
さらに、光のサイズ、強度及び分離などのイベントからの情報を使用して、光源の配向及び位置を決定することができる。システムは、各光源のサイズ、コントローラ本体上の位置、及び強度を定義する情報を有する場合がある。検出されたサイズ、強度及び分離の間の差異から、位置及び配向をより高い精度で決定する場合がある。さらに、1つ以上の追加のDVSまたは感光性アレイが存在する場合、視差情報を使用して、位置及び配向の決定をさらに強化することができる。
【0034】
操作中、ユーザは、コントローラ410の位置及び配向を変化させることができる。DVSの更新レートが比較的高いため、位置及び配向における変化中に、412で光イベントが移動するにつれて、411でDVSはイベントシーケンスを捕捉することが可能になる。ここでの光イベントの運動は、ベクトルの矢印412で
図4に示されている。検出された光イベントが移動するにつれて、コントローラ410の決定された位置及び配向が更新されてもよく、または決定された位置及び配向は一定間隔で更新されてもよい。第一光415、第二光416、第三光417、及び第四光418の点滅が原因で、DVSの感光素子によって検出されたイベントの位置及び時間は、コントローラの新しい位置及び配向に適合し得る。さらに、IMUからの慣性情報を使用して、コントローラ410の運動及び位置及び配向を洗練することができる。
【0035】
図8に示されるフロー図は、本開示の一態様による、1つ以上の光源及び1つの光源構成適合モデルを使用したDVS801による動きの追跡方法を示す。この実装では、光源(LEDとして示される)は、同時に、独立して、または所定のシーケンスで、オン及びオフになることができる。光源の移動または光源のうちの1つ以上の点滅により、DVS801からイベント802が生成される。一般に、イベントには、次の、イベントが発生した時間間隔、イベントが発生したDVS801の感光素子のアレイ内の位置、及び何らかの検出閾値を上回る光強度の変化に対応するバイナリデータ(例えば、1または0)という情報を中継する電子信号が含まれる。803で各イベントを処理して、イベントを使用可能な形式、例えば、限定ではないが、データアレイ内にイベント位置を配置することと、タイムスタンプをイベントに関連付けることと、複数のイベントを集約することとにフォーマットすることができる。イベントを集約する一例として、所定の時間間隔内にアレイ内の個々の素子で発生するすべてのイベントを、分析のために単一データ構造に統合することができる。
【0036】
次いで、処理されたイベントを分析して、検出されたDVSイベントを対応するLEDパルス804に関連付けることができる。いくつかの実装では、各光源は、一意の所定の時間間隔でオフ及びオンになることができるため、集約されたイベントのタイムスタンプを使用して、イベントから所定の時間間隔を決定し、特定の光源を特定のイベントに関連付けることができる。例えば、限定ではないが、所定の時間間隔または時間間隔のシーケンス内で発生する集約されたイベントの空間パターンを分析して、このパターンがLEDのパルスと一貫性があるかどうかを決定することができる。大きすぎたり、または小さすぎたり、または不定期すぎる形状でのイベントパターンは、LEDイベントとして除外される場合がある。さらに、イベントのタイミングも分析することができ、短すぎるイベント、または長すぎるイベントも除外される場合がある。
【0037】
訓練済み機械学習モデル805を、処理されたイベントに適用し得る。モデル805は、光源のサイズ及びコントローラ本体に対するそれらの相対位置など、光源の構成に関する情報を含むことができる。機械学習モデルは、後のセクションで説明されるように、コントローラの対応するマスクされた位置及び配向を有する訓練イベントデータによって訓練されることができる。訓練済み機械学習モデルを処理されたイベントデータに適用して、検出されたパルス804と姿勢808との間の対応806を決定する。訓練済み機械学習モデルは、コントローラの姿勢808、例えば、位置及び配向を、1つ以上の処理されたイベント、例えば、検出されたLEDパルス804に適合させることができる。あるいは、訓練済み機械学習モデル805の代わりに、処理されたイベントに適合アルゴリズムを適用することができる。適合アルゴリズムは、手動で開発された光源モデルを使用して、コントローラの位置及び配向を処理されたイベントに適合させることができる。代替として、適合アルゴリズムは、仮説及びテストタイプのアルゴリズムであってもよく、このアルゴリズムは、光対応のすべての可能な順列を試行し、冗長光源を使用して最良の適合を求める。その後、追跡/予測アルゴリズムを適用して、光源を追跡し続けることができる。さらに、809では予測された現在の姿勢を使用して、その次の姿勢を予測することができる。810ではIMU807からの慣性データを、予測された姿勢808と融合して、コントローラの最終予測位置及び配向を生成することができる。融合は、慣性データを使用してコントローラの位置及び配向を洗練するように訓練された、訓練済み機械学習アルゴリズムによって実行される場合がある。代替に、融合は、例えば、限定するものではないが、カルマンフィルタ、または非線形最適化によって実行されてもよい。
【0038】
図9は、本開示の一態様による、タイムスタンプ付き光源位置情報を使用したDVSによる動き追跡方法を示す。この実装では、DVS901によって出力されたイベントの時間を使用して、コントローラの位置及び配向を決定する。ここでは、光源はLEDとして描かれており、各LEDは、グラフに示されるように異なる時間にオンになる場合がある。LEDがオンまたはオフになるごとに、その視野内にLEDを有するDVSは、イベント902を生成することができる。各イベントには、イベントが発生した時間間隔、イベントが発生したDVS901の感光素子のアレイ内の位置、及び何らかの検出閾値を上回る光強度の変化に対応するバイナリデータ(例えば、1または0)などの情報に対応する電子信号が含まれ得る。903では各イベントを処理して、イベントを使用可能な形式、例えば、限定ではないが、上述されるような、データアレイ内にイベント位置を配置すること、及び所定の時間間隔内のアレイ内の個々の素子に発生する複数のイベントを単一データ構造に統合することなどによって、複数のイベントを集約することにフォーマットすることができる。次いで、処理されたイベントを分析して、904では対応するLEDパルスを検出することができる。例えば、限定ではないが、イベントの形状及びサイズは、光源の規則性及び適合について分析されてもよく、形状が大きすぎる、小さすぎる、または不規則すぎるイベントは、LEDイベントとして除外されてもよく、イベントの平均などのノイズ抑制は、ランダムなイベントを除去するために実行されてもよい。さらに、イベントのタイミングも分析されてもよく、短すぎるもしくは長すぎるイベントも除外されてもよく、または初期イベントと共起し、時間内であるが初期イベント後に終了するイベントを除外することで、複数のイベントは単一イベントに凝縮されてもよい。
【0039】
イベントが処理されると、905では個々のLED位置を決定し得る。個々のLED位置を決定することは、LEDがオン及びオフになる時間シーケンスを使用することによって実行され得る。例えば、限定するものではないが、1つまたは複数のイベントの時間を、LED点滅の既知の時間シーケンスと比較することができる。既知の時間シーケンスは、例えば、LEDのオン及びオフの時間、及びLEDごとのコントローラ本体上の位置、または各LEDがオンもしくはオフであるときのLEDドライバからのタイムスタンプを有するテーブルであってもよい。タイムスタンプが使用される場合、タイムスタンプをコントローラ本体上のLED位置と相関し得る。タイミングシーケンス、LED位置情報、及び処理されたイベント情報から、コントローラのマッチングする位置及び配向を決定することができる。IMUデータ907は、先に決定されたLED位置、及びカルマンフィルタ908によるIMUからの慣性データと統合されることができる。カルマンフィルタは、IMUからの慣性情報に基づいて光源の位置を予測することができ、この予測を、LEDの時間シーケンスから決定された位置情報と統合して、運動データを洗練し、909では最終姿勢を生成し、将来推計を洗練することができる。
【0040】
一般的なニューラルネットワークの訓練
本開示の態様によれば、追跡システムは、ニューラルネットワーク(NN)による機械学習を使用することができる。例えば、上で議論された訓練済みモデル805は、以下で議論されるように機械学習を使用することができる。機械学習アルゴリズムは、訓練データセットを使用することができ、この訓練データセットには、イベントなどのDVSからの入力、またはラベル付けとして既知のコントローラの位置及び配向を有する処理されたイベントが含まれ得る。さらに、NNを使用する機械学習アルゴリズムは、DVS情報から決定されたコントローラの位置及び配向と、IMUからの慣性情報との間の融合を実行し得る。融合のための訓練セットは、例えば、限定ではないが、潜在的なコントローラの位置及び配向、ならびに最終的な位置及び配向を伴う慣性データであってもよい。いくつかの実装では、機械学習アルゴリズムは、地面、ランドマーク、及び隠しラベル付きの身体部位などのオブジェクトを含む訓練セットを用いて、SLAM(simultaneous localization and mapping:自己位置推定及びマッピングの同時実行)を実行するように訓練される場合がある。隠しラベル付きには、オブジェクトの同一性とそれらの相対位置とが含まれる場合がある。当業者によって一般的に理解されるように、SLAM技術は、一般に、未知の環境のマップを構築するまたは更新すると同時に、その中のエージェントの位置を追跡し続けるという問題を解決する。
【0041】
NNは、いくつかの異なるタイプのニューラルネットワークのうちの1つ以上を含んでもよく、多くの異なる層を有してもよい。例として、及び限定としてではなく、ニューラルネットワークは、1つ以上の畳み込みニューラルネットワーク(CNN)、回帰型ニューラルネットワーク(RNN)、及び/または動的ニューラルネットワーク(DNN)から構成されてもよい。動き検出ニューラルネットワークは、本明細書で開示される一般的な訓練方法を使用して訓練され得る。
【0042】
限定ではなく例として、
図10Aは、例えば訓練済みモデル805で、使用され得るRNNの基本形式を示す。図示の例では、RNNは、ノード1020の層を有し、ノードのそれぞれは、活性化関数S、1つの入力重みU、再帰型隠れノード遷移重みW、及び出力遷移重みVによって特徴付けられる。活性化関数Sは、本分野において既知のいずれかの非線形関数であってもよく、双曲線正接(tanh)関数に限定されない。例えば、活性化関数Sは、シグモイド関数またはReLu関数であってもよい。他のタイプのニューラルネットワークとは異なり、RNNは、全体層に対して活性化関数及び重みの1つの組を有する。
図10Bに示されるように、RNNは、時間T及びT+1を移る同一の活性化関数を有する一連のノード1020として考えられてもよい。よって、RNNは、前の時間Tから現在の時間T+1までの結果をフィードすることによって、履歴情報を維持する。
【0043】
いくつかの実装では、畳み込みRNNが使用されてもよい。使用することができる別のタイプのRNNは、長・短期記憶(LSTM)ニューラルネットワークであり、LSTMニューラルネットワークは、参照によって本明細書に組み込まれる、Hochreiter&Schmidhuber「Long Short-term memory」Neural Computation9(8):1735-1780(1997)によって説明されるように、より長期間ネットワークが何らかの情報を保持することを可能にするゲーティングメモリをもたらす、入力ゲート活性化関数、出力ゲート活性化関数及び忘却ゲート活性化関数と共にRNNノードにメモリブロックを追加する。
【0044】
図10Cは、本開示の態様による、訓練済みモデル805などに使用され得る、CRNNなどの畳み込みニューラルネットワークの例示的なレイアウトを示す。この表現では、畳み込みニューラルネットワークは、16のユニットの総領域を与える、高さにおける4のユニット及び幅における4のユニットのサイズを有する入力1032に対して生成される。表される畳み込みニューラルネットワークは、1のスキップ値及びサイズ9のチャネル136を有する、高さにおける2の単位及び幅における2の単位のサイズを有するフィルタ1033を有する。
図10Cにおいて明確にするために、チャネルの第一列とそれらのフィルタウインドウとの間の結合1034のみが表される。しかしながら、本開示の態様は、そのような実装態様に限定されない。本開示の態様に従って、畳み込みニューラルネットワークは、任意の数の追加のニューラルネットワークノード層1031を有してもよく、任意のサイズの、追加の畳み込み層、全結合層、プーリング層、最大値プーリング層、局所コントラスト正規化層などとして、そのような層のタイプを含んでもよい。
【0045】
図10Dにおいて見られるように、ニューラルネットワーク(NN)を訓練することは、1041でのNNの重みの初期化により開始する。概して、初期の重みは、ランダムに分散されるべきである。例えば、tanh活性化関数を有するNNは、-1/√nと1/√nとの間で分散されたランダムな値を有するべきであり、nは、ノードへの入力の数である。
【0046】
初期化の後、活性化関数及びオプティマイザが定義される。次いで1042では、NNには特徴ベクトルまたは入力データセットが提供される。異なる特徴ベクトルの各々は、既知のラベルを有する入力からNNによって生成されてもよい。同様に、NNは、既知のラベリングまたは分類を有する入力に対応する特徴ベクトルが提供されてもよい。NNは次いで、1043では特徴または入力についてのラベルまたは分類を予測する。予測されたラベルまたはクラスは、1044では、既知のラベルまたはクラス(グランドトゥルースとしても既知である)と比較され、損失関数は、全ての訓練サンプルを通じて予測とグランドトゥルースとの間の総誤りを測定する。例として、及び限定としてではなく、損失関数は、クロスエントロピ損失関数、二次コスト、トリプレットコントラシブ関数、指数コストなどであってもよい。目的に応じて複数の異なる損失関数が使用されてもよい。例として、及び限定としてではなく、分類器を訓練するために、クロスエントロピ損失関数が使用されてもよいのに対し、事前に訓練された埋め込みを学習するために、トリプレットコントラシブ関数が採用されてもよい。NNは次いで、1045に示されるように、損失関数の結果を使用して、及び適応的最急降下法による誤差逆伝播法などのニューラルネットワークを訓練する既知の方法を使用して最適化及び訓練されてもよい。各々の訓練エポックでは、オプティマイザは、訓練損失関数(すなわち、全誤差)を最小化するモデルパラメータ(すなわち、重み)を選択することを試みる。データは、訓練サンプル、検証サンプル、及び試験サンプルに区分化される。
【0047】
訓練の間、オプティマイザは、訓練サンプルに対して損失関数を最小にする。各々の訓練エポックの後、検証損失及び精度を計算することによって、検証サンプルに対してモデルが評価される。著しい変化がない場合、訓練が停止されてもよく、試験データのラベルを予測するために、結果として生じる訓練済みモデルが使用されてもよい。
【0048】
よって、ニューラルネットワークは、既知のラベルまたは分類を有する入力を識別及び分類するよう、それらの入力から訓練されてもよい。同様に、記述された方法を使用してNNを訓練し、既知のラベルまたは分類を有する入力から特徴ベクトルを生成し得る。上記の議論は、RNN及びCRNNSに関連しているが、これらの議論は再帰層または隠れ層を含まないNNに適用されることができる。
【0049】
ハイブリッドセンサ
図11Aは、本開示の態様による、複数のコロケーションセンサタイプを有するハイブリッドDVSを示す図解である。いくつかの実装では、ハイブリッドDVSを使用して、複数のセンサタイプを1つのデバイスに組み合わせることができる。複数のセンサタイプは、例えば、限定ではないが、DVS赤外光感光素子、DVS可視光感光素子、DVS波長特異的感光素子、可視光カメラ画素、赤外線カメラ画素、DTOFカメラ画素であってよい。第一センサタイプ1102には、同じアレイ1101上で第二センサタイプ1102が散在していることができる。例えば、限定するものではないが、DVS可視光感光素子1103は可視光カメラ画素1102を取り囲んでもよく、またはDVS赤外光感光素子1103はDVS可視光感光素子1102を取り囲んでもよく、または可視光カメラ画素1103はDVS赤外光感光素子1102を取り囲んでもよく、またはそれらの任意の組み合わせであってもよい。単一の素子1102が他の素子1103に取り囲まれて示されているが、本開示の態様はそのように限定されない。単一素子は、複数のDVS感光素子またはカメラ画素のクラスタを含むことができ、例えば、限定するものではないが、4つのカメラ画素のクラスタを8つのDVS感光素子が取り囲んでもよく、または1つのカメラ画素を、DVS感光素子の8つのペア、トリプレット、もしくはクアッドレットが取り囲んでもよい。
【0050】
さらに、
図11Bに示されるように、ハイブリッドDVSは、アレイ内の格子縞模様に配置された複数のセンサタイプを有することができる。ここで、第一センサタイプ1102のブロックには、第二センサタイプ1103のブロックが均等に分布している。第一センサタイプ1102及び第二センサタイプ1103のそれぞれは異なってもよい。例えば、限定するものではないが、第一センサタイプ1102はDVS赤外光感光素子であってもよく、第二センサタイプ1103はDVS可視光感光素子であってもよい。
【0051】
あるいは、フィルタリングによってセンサタイプを区別してもよい。これらの実装では、1つ以上のフィルタは、1つ以上のフィルタの背後に位置する感光素子に光を選択的に透過させる。1つ以上のフィルタは、例えば、限定するものではないが、光の特定の1つもしくは複数の波長または特定の偏光を選択的に透過させることができる。また1つ以上のフィルタは、光の特定の1つもしくは複数の波長または特定の偏光を選択的に遮断することができる。1つ以上のフィルタの背後にある感光素子は、異なるセンサタイプとして使用するように構成されることができる。例えば、限定ではないが、赤外光のみが1102を通過することを可能にする赤外線パスフィルタはアレイ1101内の1つ以上のセンサ素子を覆うことができ、他のセンサ素子はフィルタリングされなくてもよく、または赤外線カットフィルタ1103であってもよい。別の代替の実装では、1つ以上のフィルタは、例えば、限定ではないが、光学ノッチフィルタであってもよく、この光学ノッチフィルタは、光の特定の波長のみが1102を通過することを可能にし、その他のフィルタは、その特定の波長を遮断し得るが、他の波長が1103を通過することを可能にしてもよい。このフィルタリングにより、DTOFのための照明器の光の波長と、DVS感光素子のための特異的な波長との使用が可能になることで、誤った光源検出の尤度が減少してもよい。ここで、センサ素子は、任意のタイプのDVS感光素子または任意のタイプのカメラ画素であり得る。
【0052】
パターン化されたセンサまたはフィルタ素子は、例えば
図11C及び
図11Dに示されるように、ハイブリッド撮像ユニットに組み込まれることができる。
図11Cは、1つ以上のレンズ素子1114、任意選択のマイクロレンズアレイ1116、バンドパスフィルタ1118、及びパターン化されたハイブリッドセンサアレイ1120を有するハイブリッドDVS撮像ユニット1112Cの一例を示す。センサアレイは、例えば
図11Aまたは
図11Bに示されるように、パターンで配置され得るDVSセンサ素子1122及び従来の撮像センサ素子1124を含む。これらのような撮像ユニットは、DTOFセンサ内の照明ユニット(図示せず)と共に使用されることができる。
図11Dに示されるハイブリッドDVS撮像ユニット1112Dは、例えば
図11Aまたは
図11Bに示されるような、DVSセンサアレイ1126と、パターンで配置されたバンドパス領域1118A及びバンドカット領域1118Bを含むパターン化されたフィルタ素子1118とを有する。
【0053】
図12は、本開示の態様による、光分離器で分離された入力を有する複数のセンサタイプを含むハイブリッドDVSを示す図解である。この実装では、光分離器1204は、波長に基づいて光をフィルタリングすることができ、アレイ1201は、検出が望まれる光の波長または偏光に基づいて物理的に分離された複数のセンサ素子タイプを含むことができる。例えば、限定ではないが、非偏光白色光1205(少なくともすべての可視光の波長の混合物であり、ほとんどの場合、いくつかの赤外波長を含む)は、分散プリズム、回折格子、またはダイクロイックミラーなどであり得る、光分離器1204に入り得る。示されるように、光分離器1204に入る白色光1205は、波長または偏光によって分離され得、一部の光1206はアレイ1201の第一部分に入射し、他の光1207はアレイ1202の第二部分に入射する。ここで、光分離器1204は、波長または偏光に基づいて回折角を変化させるフィルタと考えられることができる。示されるアレイは、アレイを、太い分離線1203を有する単一ユニットとして示しているが、本開示の態様はそのように限定されない。アレイ1201の第一部分は、アレイ1202の第二部分の間に最大1ミリメートルの分離を有してもよく、アレイが上下に分離されたものとして示されているが、他の実装は、水平方向、斜め方向、または円周方向に分離された部分を有してもよい。さらに、ここでの光分離器は、例えば
図11A及び11Bに示されるような異なるフィルタリングまたは異なるセンサ構成と組み合わされて、異なるセンサタイプに対して追加の光波長分離を提供することができる。
【0054】
図13は、本開示の態様による、複数のセンサタイプが微小電気機械(MEMS)ミラーによって分離された入力を有する、ハイブリッドDVSを示す図解である。ここで、MEMSミラー1304は、光1305がMEMSミラー1304に到達する時間に応じて、アレイの第一部分1301または第二部分1302に光を反射するように、設定された時間に異なる位置の間で振動し得る。アレイの第一部分1301及び第二部分1302は、MEMSミラー1304によって反射された光の入射角に基づいて、1303で互いから物理的に分離され得る。このようにして、異なるセンサタイプ間で光を一時的にフィルタリングすることができる。そのような一時的なフィルタリングは、コントローラまたはヘッドセット上の光源の既知の点滅パターンに従って時間合わせされることができる。例えば、限定するものではないが、コントローラまたはヘッドセット上の光源は、所定の持続時間に一定間隔でオンになることができる。例えば、光源は、100マイクロ秒ごとに60マイクロ秒間、オンになることができる。そのような場合、MEMSミラー1304は、光源における変化を捕捉するために、100マイクロ秒以下ごとに60マイクロ秒超の間、アレイ1301のDVS部分に光1305を反射するように同期され得る。他の反射光1307は、光源がオフである時間中にアレイ1302の第二部分によって検出され、画像追跡またはDTOFのために周囲光を捕捉することができる。
【0055】
あるいは、MEMSミラー1304は、波長に基づいて光1305をフィルタリングすることができる。これらの実装におけるMEMSミラーは、例えば、限定ではないが、MEMSファブリペローフィルタまたは回折格子であってもよい。MEMSミラーは、第一波長範囲1306の光をアレイの少なくとも第一部分1301に、または第二波長範囲1307の光をアレイの第二部分1302に回折することができる。
【0056】
図14は、本開示の態様による、複数のセンサタイプが一時的にフィルタリングされた入力を有する、ハイブリッドDVSを示す図解である。ここで、フィルタは、時間に基づいてアレイに光を選択的に通過させることを可能にする。いくつかの実装では、フィルタは光導波路であってもよい。第一時間ステップでは、フィルタは、光の第一波長または偏光をアレイ1401に通過させることができ、光の第二波長もしくは偏光、または他の波長もしくは偏光を遮断することができる。第二時間ステップでは、フィルタは、第二波長または偏光1402を可能にするが、光の第一波長もしくは偏光または他の波長の偏光を遮断することができる。このようにして、異なるセンサタイプで追跡するために役立ち得る、光を一時的にフィルタリングすることができる。例えば、限定するものではないが、コントローラまたはヘッドセットに結合された光源は、赤外光であってもよく、または特異的な波長を有してもよい。光源は、特定の間隔でオン及びオフになるように構成されることができる。光源がオン及びオフになる特定の間隔は、シーケンスまたはコード化パターンであり得る。一時的なフィルタリングは、特定の間隔中に、特異的な波長をセンサに通過させ、他の波長を遮断することを可能にするためにアクティブにされ得る。さらに、フィルタリングの切り替え間隔は、センサへの光の進行時間を考慮して、光源の特定の間隔よりも長くなる場合がある。
【0057】
身体追跡
図15は、本開示の態様による、DVSによる身体追跡を示す図解である。示されるように、ユーザ1501は、DVS1503を有するヘッドセット1504を装着することができる。ここで、DVSは、2つのアレイまたはDVSユニットまたはカメラ及びDVSと共に示される。ユーザ1501は、2つ以上の光源1505を有する2つのコントローラ1502を保持している。DVS1503は、視野(FOV)内に対応する光源1505を備えたコントローラ1502を有する。さらに、DVS1503は、そのFOV内にユーザの手もしくは腕1507、または脚もしくは足1508などのユーザの付属肢を有することができる。またDVSは、そのFOV内に地面または他のランドマーク1509を有し得る。例えば、限定ではないが、DVSの感光素子は、ユーザの移動または光の変化時に、ユーザの付属肢または地面または他のランドマークに対応する光の反射を検出することができる。カメラは、カメラのフレームレートで視野からの光の反射を検出する。検出された光の反射から、1506では、ユーザの付属肢または地面またはランドマークを決定することができる。一部の代替の実装では、外部DVS1510を使用して、ユーザの付属肢を追跡することができる。外部DVS1510は、ユーザの付属肢が外部DVS1510の視野内に適合するように選択された、ユーザから離れた距離にあってもよい。例えば、限定するものではないが、外部DVSは、テレビもしくはコンピュータモニタ、または他の自立型もしくは壁に取り付けられたディスプレイの上面上に、またはその下に位置していることができる。
【0058】
機械学習アルゴリズムは、イベントまたはフレームなどのデータから、ユーザの身体、付属肢、地面またはランドマーク、ならびにそれらの相対的な位置及び配向を決定するように訓練される。機械学習アルゴリズムは、ニューラルネットワークであってもよく、訓練は、上記の
図10A~10Dの一般的なニューラルネットワークの訓練のセクションで説明された方法と同様であってもよい。ラベル付けされたイベントもしくはフレーム、またはその両方を含む訓練セットを使用して、ニューラルネットワークを訓練することができる。ラベル付けされたイベントもしくはフレーム、またはその両方は、例えば、限定ではないが、ユーザの身体、付属肢、地面、ランドマーク、ならびにユーザの身体、付属肢、地面、及びランドマークの相対的な位置及び配向のラベルを含むことができる。コントローラ1502の位置及び配向の決定に加えて、例えばSLAMを使用して、ユーザの身体、付属肢、地面またはランドマーク、ならびにそれらの相対的な位置及び配向の決定を実行することができる。あるいは、コントローラの位置及び配向は、ユーザの身体、付属肢、地面またはランドマークならびにそれらの相対的な位置及び配向のラベルを決定する同じ訓練済みニューラルネットワークを用いて決定されることができる。素子1506によって示されるように、相対的な位置及び場所の決定を改善するために、決定されたユーザの身体及び付属肢にモデルを適合させることができる。
【0059】
セーフティシャッタ
上述のように、コントローラの位置及び配向の決定と併せて身体追跡を使用して、VRまたはARヘッドセットでセーフティシャッタをトリガすることができる。
図16Aは、本開示の態様による、セーフティシャッタドアを備えたヘッドセットを示す。ヘッドセット1601は、ヘッドストラップ1604、アイピース1603、及び表示画面1602を含み得る。アイピース1603は、表示画面1602に焦点を合わせるように構成された1つ以上のレンズを含み得る。1つ以上のレンズは、例えば、フレネルレンズまたは処方レンズであってもよい。表示画面1602は透明であってもよく、ヘッドセットの本体内のホール1607は、セーフティシャッタが開いているときに表示画面1602を介した視覚を可能にしてもよい。
【0060】
この実装では、セーフティシャッタ1606は、セーフティシステムがアクティブになるときにホール1607から離れて揺動するドアである。ここで、システム操作式クラスプ1605は、セーフティシャッタドア1606上のクラスプ1608と相互作用して、ドアをホール1607上で閉じて固定する。ばね荷重式ヒンジ1609は、システム操作式クラスプ1605が開くときに、セーフティシャッタドア1606が迅速に開くことを確保することができる。ばね荷重式ヒンジは、例えば、限定するものではないが、ヒンジに巻回され、ドアに固定された時計型ばねを有してもよく、ばねは、ドアが閉まるときに巻き付けられ、ドアが開くときにほどかれる。あるいは、セーフティシャッタドア1606を閉じるときに薄板ばねはこのドアを押してもよい。
【0061】
システム操作式クラスプ1605は、セーフティシステムがアクティブになるときにクラスプを開けるように構成されることができる。セーフティシステム操作式クラスプ1605は、クラスプを動かす電動モータまたはリニアアクチュエータを含むことができる。システム、ユーザ、ユーザの身体、またはユーザの付属肢の近くで地面または1つ以上のランドマークが検出される場合、セーフティシステムをアクティブにする場合がある。セーフティシステムは、上述のように、ユーザの身体、付属肢、地面またはランドマーク、ならびにそれらの相対的な位置及び配向の決定を使用することができる。セーフティシステムがアクティブになると、クラスプを開ける信号をセーフティシステム操作式クラスプ1605に送信することができる。クラスプが開くと、ばね荷重式ヒンジ1609はセーフティシャッタドア1606を押し開けることで、ユーザはディスプレイ1602を通して見ることが可能になり、セーフティシステムを作動させる危険を避けることが可能になる。
【0062】
他のセーフティシャッタの実装を使用してもよい。例えば
図16Bは、本開示の態様による、スライド式セーフティシャッタを備えた代替のヘッドセットを示す。ここで、セーフティシステムがアクティブになると、セーフティシャッタスライド1616はホール1607を妨げないように摺動する。セーフティシャッタスライド1616は、ばね荷重式レール1619上で動くことができる。あるいは、スライド式セーフティシャッタ1616は、ヘッドセットの本体内のスロット1619に挿入されるタブを含むことができ、スロット内のばねもスライド式セーフティシャッタを押すことができる。いくつかの追加の代替の実装では、ばねは省略されてもよく、重力でスライド式セーフティシャッタ1616が動作してもよい。ばね荷重式レール1619は、スライド式セーフティシャッタ1616を閉じるときにこのシャッタを押し、セーフティシステムがアクティブになるときにセーフティシャッタが迅速に開くことを確保することができる。システム操作式クラスプ1605は、スライド式セーフティシャッタ1616上のクラスプ1618と相互作用して、スライドを閉じて固定する。
【0063】
システム、ユーザ、ユーザの身体、またはユーザの付属肢の近くで地面または1つ以上のランドマークが検出される場合、セーフティシステムをアクティブにする場合がある。セーフティシステムは、上述のように、ユーザの身体、付属肢、地面またはランドマーク、ならびにそれらの相対的な位置及び配向の決定を使用することができる。セーフティシステムがアクティブになると、クラスプを開ける信号をシステム操作式クラスプ1605に送信することができる。クラスプが開くと、ばね1619はスライド式セーフティシャッタ1616を押し開けることで、ユーザはディスプレイ1602を通して見ることが可能になり、セーフティシステムを作動させる危険を避けることが可能になる。
【0064】
図16Cは、本開示の態様による、ルーバー式セーフティシャッタを備えたヘッドセットを示す。この実装では、ルーバー式セーフティシャッタ1626のスラットは、第二寸法よりも第一寸法が長い。閉位置では、スラットの長手方向の寸法は光学系とほぼ平行であり、各スラットは別のスラットかヘッドセット本体かいずれかに重なり、表示画面1602を通る光を遮断する。開位置では、スラットは、短手方向の寸法が光学系1603に平行であるように位置を変化させることにより、光はスラットを通過して表示画面に到達することが可能になる。アクチュエータロッド1628は、スラット1626のそれぞれをヒンジで連結することができる。セーフティシステム制御式アクチュエータ1629は、セーフティシステムがアクティブになると、アクチュエータロッド1628を押し、または引き、ルーバー式セーフティシャッタを開けることができる。いくつかの他の実装では、セーフティシステム制御式アクチュエータは、ばね荷重式であってもよく、アクチュエータロッド1628及びシステム制御式アクチュエータ1629に連結されたクラスプは、アクチュエータロッドのクラスプと連動するクラスプを含み得る。セーフティシステムがアクティブになると、システム制御式アクチュエータのクラスプが開き得ることで、アクチュエータロッドがばね圧で動き、ルーバーが開くことが可能になる。
【0065】
システム、ユーザ、ユーザの身体、またはユーザの付属肢の近くで地面または1つ以上のランドマークが検出される場合、セーフティシステムをアクティブにする場合がある。セーフティシステムは、上述のように、ユーザの身体、付属肢、地面またはランドマーク、ならびにそれらの相対的な位置及び配向の決定を使用することができる。アクティブになると、アクチュエータロッドを動かす信号を、システム操作式アクチュエータに送信し得る。アクチュエータロッド1629が動くと、ルーバー式セーフティシャッタ1626のスラットを押し開けることで、ユーザはディスプレイ1602を通して見ることが可能になり、セーフティシステムを作動させる危険を避けることが可能になる。
【0066】
図16Dは、本開示の態様による、布製セーフティシャッタを示す。この実装では、セーフティシャッタ1636は、不透明な布地、例えば、限定ではないが、密に織られた綿織物、ポリエステル、ビニル、または密に織られた毛織物から構成される。布製セーフティシャッタ1636は、布製ローラ1639に結合されてもよい。布製ローラ1639は、セーフティシステムがアクティブになるときに布製シャッタを巻き上げるように構成されてもよい。布製ローラは、例えば、限定ではないが、時計型ばねを使用する、ばね荷重式であってよく、そのため、時計型ばねは、セーフティシャッタが閉じるときに張力を受け、代替に電動モータを使用して布製セーフティシャッタを巻き上げてもよい。システム操作式クラスプ1605は、布製セーフティシャッタ1636に結合されたクラスプ1638と連動し、布製セーフティシャッタが意図せずに開かないことを確保することができる。
【0067】
操作中、布製セーフティシャッタは、閉位置である場合がある。システム、ユーザ、ユーザの身体、またはユーザの付属肢の近くで地面または1つ以上のランドマークが検出される場合、セーフティシステムをアクティブにする場合がある。セーフティシステムは、上述のように、ユーザの身体、付属肢、地面またはランドマーク、ならびにそれらの相対的な位置及び配向の決定を使用することができる。セーフティシステムがアクティブになると、クラスプを開ける信号をシステム操作式クラスプ1605に送信することができる。クラスプは、布製ローラ1619を開くと、布製セーフティシャッタ1616を巻き上げることで、ユーザはディスプレイ1602を通して見ることが可能になり、セーフティシステムを作動させる危険を避けることが可能になる。
【0068】
図16Eは、本開示の態様による、液晶セーフティシャッタを備えたヘッドセットを示す。この実装では、液晶画面1646は、ヘッドセット1601に一体化され、それ以外の場合にはヘッドセット内のホールを覆う。セーフティシステム制御式液晶画面ドライバ1649は、液晶画面1646に通信可能に結合される。
【0069】
液晶画面1646は、例えば、限定ではないが、第一偏光子及び第二偏光子を有する液晶シャッタであってもよく、第一偏光子は、第二偏光子と90度の偏光差を有し、流体で満たされたキャビティを有する。流体で満たされたキャビティは液晶を含むことができ、これらの液晶は、光が第一偏光子から第二偏光子を通過することを可能にするように偏光を変化させる電場が存在しない場合に第一配向を有するように構成される。液晶は、電場下で第二配向にアライメントするようにさらに構成され得る。液晶の第二配向は光の偏光を変化させないので、第一偏光子を通過する光は第二偏光子で遮断される。液体で満たされたキャビティの表面に沿って電極を配置して、液晶の制御を可能にしてもよい。セーフティシステム制御式液晶画面ドライバは、これらの電極と通信可能に結合されることができると、電極は、流体で満たされたキャビティ内の液晶を制御することが可能になる。本明細書で使用される場合、通信可能に結合されることは、メッセージまたは命令を表す電気信号を、一方の結合素子から他方の結合素子に送信する及び/または受信することができることを意味するものであり、これらの信号は、中間素子を通過することができ、それらのフォーマットは変化する場合があるが、そこに含まれるメッセージは変化しないままである。
【0070】
操作中、セーフティシステム制御式ドライバ1649は、表示画面1602がアクティブである間、液晶セーフティシャッタ1646を不透明にする信号を液晶画面1646に送信することができる。セーフティシステムがアクティブになると、ドライバ1649は、液晶セーフティシャッタ1646を透明にすることができる。例えば、限定ではないが、ドライバは、液晶セーフティシャッタに供給される電圧を低減させ、液晶をそれらの第一配向に戻すことができると、光の偏光が変化することで、光が第二偏光子を通過することが可能になる。システム、ユーザ、ユーザの身体、またはユーザの付属肢の近くで地面または1つ以上のランドマークが検出される場合、セーフティシステムをアクティブにする場合がある。セーフティシステムは、上述のように、ユーザの身体、付属肢、地面またはランドマーク、ならびにそれらの相対的な位置及び配向の決定を使用することができる。
【0071】
指の位置の追跡
本開示の態様は、指追跡に適用され得る。
図17は、本開示の態様による、DVS及びコントローラによる指追跡を示す。ここで、コントローラ1701は、2つ以上の光源及び1つ以上のボタン1705を含む。2つ以上の光源は、1つ以上のボタン1705に近接する1つ以上の光源1706と、2つ以上の他の追跡光源1703とを含む。上述のように、2つ以上の他の追跡光源1703は、コントローラ1701の位置及び配向を決定するために使用されるイベントをDVS1702で生成することができる。ここで示される、2つのDVS1702、または2つのアレイ及び3つの他の追跡光源1703を有するDVSは、コントローラの位置及び配向の決定に使用される。
【0072】
1つ以上のボタン1705に近接する1つ以上の光源1706を、指追跡に使用することができる。例えば、限定するものではないが、指追跡は、ボタン1705に近接する1つ以上の光源1706の遮蔽を使用して、DVS1702で達成され得る。ボタンに近接する1つ以上の光源1706は、所定の間隔でオフ及びオンになることができる。DVS1702は、点滅ごとにイベントを生成することができる。イベントを分析して、ボタン1705に近接する1つ以上の光源1706の遮蔽を決定することができる。ボタンに近接する1つ以上の光源の構成がわかることにより、例えば、限定ではないが、指または手掌によって遮蔽されると、DVSによって生成されたイベントで検出される光のパターンは、光源が遮蔽されていない場合とは異なる。コントローラの位置及び配向の決定に関して上述されるように、ここでは点滅のタイミングを使用して、どの光が遮蔽されているかを決定することで、対応する指または手掌の位置を決定することができる。ボタン1705に近接する光源1706が間隔中に低下した強度を有する、または強度がない場合、ボタンに近接する光源は「オン」であることがわかる。その光源は遮蔽されていると決定される。同様に、「オン」であることがわかっている光の検出された強度が変化すると、イベントは生成され得、そのイベントから、ユーザの指または手が移動し、ボタンが未完了になったと決定する場合がある。1つ以上のボタンに近接する光源のうちの1つ以上の遮蔽は、それらの位置に基づいて指または手掌の位置に相関されることができる。例えば、限定するものではないが、コントローラ1701が保持されるときにユーザの手掌の近くに位置している光源を使用して、ユーザの手1704の位置を決定することができる。
【0073】
光源1706は、各ボタン1705の周囲に位置していることができ、コントローラのボタン構成及び設計を使用して指の位置を決定することができる。例えば、限定ではないが、コントローラ1701は、保持されたときにユーザの各指がボタン1705の近くに置かれるように設計されてもよい。次に、DVSイベントから決定された光源の遮蔽パターンは、ユーザの指がアクティブにされていないボタン上の空中にとどまっているときを決定するために使用されてもよく、そのうえ、ユーザの指がボタンを通過したときを決定するために使用されてもよい。これは、ボタンの半押し、または不十分な押下、またはその他のボタンオプションを有するなど、ユーザにさらなるインタラクションオプションを提供するのに役立ち得る。複数の光源が各ボタンを取り囲み得ることにより、ユーザの指または手掌の位置の決定が洗練されることが可能になる。例えば、限定するものではないが、一部の実装では、10個以上の光源は各ボタンを取り囲み得、他の実装では、単一光源はボタンの周囲の半透明拡散体を通して光を照らし得、拡散光プロファイルに中断を使用して、指の位置を決定し得る。
【0074】
いくつかの実装では、ボタン1705自体も光源であることができる。1つ以上のボタン1705は、ボタンに近接する1つ以上の光源1706またはその他の光追跡光源1703とは異なる間隔でオフ及びオンになることができる。あるいは、ボタン1705の光源は、近接する1つ以上の光源1706またはその他の光追跡光源1703とは異なる波長または偏光を有してもよい。
【0075】
またボタン及び追跡を使用して、光源の省電力モードを有効にすることができる。例えば、ボタンは押下されると決定される場合、そのボタンに近接する1つ以上の光源を暗くしてもよく、またはオフにしてもよい。さらに、コントローラ1701がDVS1702の視野外にあると決定される場合、ボタンに近接する1つ以上の光を暗くしてもよく、またはオフにしてもよい。いくつかの実装では、IMUからのデータを使用して、コントローラがユーザによって保持されているかどうかを決定することができ、例えば、限定ではないが、加速度、角速度などのIMUデータにおける変化が閾値期間に検出されていない場合、光源は暗くなってもよく、またはオフになってもよい。IMUデータにおける変化が検出されると、光源をオンに戻すことができる。
【0076】
代替の実装では、指追跡は、1つ以上の光源を使用せずに実行されることができる。機械学習モデルは、機械学習アルゴリズムを使用して訓練され、指の運動による周囲光の変化から生成されたイベントから指の位置を検出することができる。機械学習モデルは、上述のCNN、RNN、またはDNNなどの一般的な機械学習モデルであってもよい。いくつかの実装では、例えば、限定ではないが、スパイキング(またはスパーク)ニューラルネットワーク(SNN)などの特殊な機械学習モデルを、特殊な機械学習アルゴリズムで訓練することができる。SNNは、活性化閾値及び重みを有することにより、生物学的NNを模倣し、この重みは、STDP(Spike-timing-dependent-plasticity:スパイクタイミング依存可塑性)とも呼ばれる、間隔内の相対的なスパイク時間に従って調整される。活性化閾値に達すると、SNNはスパイクし、その重みを次の層に送信すると言われる。SNNは、STDP及び教師ありまたは教師なしの学習手法を介して訓練されることができる。そしてSNNに関するさらなる情報は、Tavanaei、Amirhossein et al.「Deep Learning in Spiking Neural Networks」Neural Networks(2018)arXiv:1804.08150に見いだされることができ、その内容は、あらゆる目的のために参照により本明細書に援用されている。
【0077】
あるいは、周囲データから集約されたイベントを使用して、HDR(high dynamic range:ハイダイナミックレンジ)画像を構築してもよい。機械学習モデルは、HDR画像から手の位置またはコントローラの位置及び配向を認識するように訓練される。訓練済み機械学習モデルは、イベントから生成されたHDR画像に適用され、手/指の位置またはコントローラの位置及び配向を決定することができる。機械学習モデルは、一般的なニューラルネットワークの訓練のセクションで説明されたように、教師あり学習手法で訓練された一般的な機械学習モデルである場合がある。
【0078】
視標追跡
本開示の態様は、視標追跡に適用され得る。一般に、視標追跡画像分析は、光が目からどのように反射されるかに特有の特性を利用して、画像から視線方向を判定する。例えば、画像を分析して、画像データにおける角膜反射に基づいて目の位置を特定し得、さらに画像を分析して、画像における瞳孔の相対位置に基づいて視線方向を判定し得る。
【0079】
瞳孔の位置に基づいて視線方向を判定する2つの一般的な視線追跡技術は、明瞳孔法と暗瞳孔法として知られている。明瞳孔法は、DVSの光軸と実質的に一致する光源で目を照らすことを含み、これは、放出された光を網膜に反射させ、瞳孔を通してDVSに戻す。瞳孔は、従来のフラッシュ撮影中に画像に発生する赤目効果と同様に、瞳孔の位置に識別可能な明るいスポットとして画像に現れる。この視線追跡の方法では、瞳孔と虹彩のコントラストが十分でない場合に、瞳孔自体からの明るい反射が、システムが瞳孔を位置付けることを助ける。
【0080】
暗瞳孔法は、DVSの光軸から実質的にずれている光源を用いて照らすことを含み、これは、瞳孔を通して方向付けられた光を、DVSの光軸から離れる方に反射させ、その結果、瞳孔の位置において、イベントに特定可能な暗いスポットを生じさせる。別の暗瞳孔法システムでは、目に向けられた赤外光源及びカメラは、角膜反射を見ることができる。このようなDVSベースのシステムは、瞳孔及び角膜の反射の位置を追跡し、これにより、反射の深さが異なるため視差が得られ、精度を向上させる。
【0081】
図18Aは、本開示の文脈で使用され得る、暗瞳孔視線追跡システム1800の一例を示す。視線追跡システムは、可視画像が提示される表示画面1801に対するユーザの目Eの配向を追跡する。
図18Aの例示的なシステムでは表示画面が利用されるが、特定の代替の実施形態は、ユーザの目に直接画像を投影することができる画像投影システムを利用し得る。これらの実施形態では、ユーザの目Eは、ユーザの目に投影された画像に対して追跡される。
図18Aの例では、目Eは、画面1801から可変虹彩Iを介して光を集め;レンズLは、網膜Rに画像を投影する。虹彩の開口部は、瞳孔として知られている。筋肉は、脳からの神経インパルスに応答して目Eの回転を制御する。上まぶた及び下まぶたの筋肉ULM、LLMは、それぞれ、他の神経インパルスに応答して、上まぶた及び下まぶたUL、LLを制御する。
【0082】
網膜R上の感光性細胞は、視神経ONを介してユーザの脳(図示せず)に送られる電気インパルスを生成する。脳の視覚野は、インパルスを解釈する。網膜Rのすべての部分に同等な感光性があるわけではない。具体的には、感光性細胞は、中心窩として知られている領域に集中している。
【0083】
図示の画像追跡システムは、1つ以上の赤外光源1802、例えば、非可視光(例えば、赤外光)を目Eに向ける発光ダイオード(LED)を含む。非可視光の一部は目の角膜Cに反射し、一部は虹彩に反射する。反射された非可視光は、波長選択ミラー1806によって赤外光に感受性があるDVS1804に向けられる。ミラーは、画面1801からの可視光は透過するが、目から反射した非可視光は反射する。
【0084】
DVS1804は、瞳孔の相対位置から視線方向GDを決定するために分析され得る目Eのイベントを生成する。このイベントは、プロセッサ1805で生成されることができる。DVS1804は、イベントの非常に高速な更新レートがユーザの視線における変化に関するほぼリアルタイムの情報を提供するので、この実装では有利である。
【0085】
図18Bに見えるように、ユーザの頭部Hを示すイベント1811を分析して、瞳孔の相対位置から視線方向GDを決定することができる。例えば、分析は、画像における目Eの中心からの瞳孔Pの2次元オフセットを判定し得る。中心に対する瞳孔の位置は、眼球の既知のサイズ及び形状に基づく3次元ベクトルの単純な幾何学的計算によって、画面1801に対する視線方向に変換され得る。判定された視線方向GDは、目Eが画面1801に対して動くときの目Eの回転及び加速を示すことができる。
【0086】
図18Bにも見えるように、イベントは、角膜C及びレンズLそれぞれからの非可視光の反射1807及び1808を含み得る。角膜とレンズの深さが異なることから、反射間の視差と屈折率を使用して、視線方向GDを判定する際の精度を高め得る。このタイプの視標追跡システムの例は、デュアルプルキニエトラッカであり、ここで、角膜反射は、第一プルキニエ像であり、レンズ反射は、第四プルキニエ像である。ユーザが眼鏡をかけている場合、ユーザの眼鏡1809からの反射1808も在り得る。
【0087】
視標追跡システムのパフォーマンスは、光源(IR、可視光など)及びDVSの配置、ユーザが眼鏡またはコンタクトを装着しているかどうか、ヘッドセット光学系、追跡システムのレイテンシ、眼球運動の速度、目の形状(1日の中で変化する、または動きの結果として変化する可能性がある)、目の状態、例えば弱視、視線安定性、動いているオブジェクトへの注視、ユーザに提示されているシーン、ならびにユーザの頭部の動きを含む多数の要因に依存する。DVSは、プロセッサへの余分な情報の出力を減少させて、イベントに非常に高速な更新レートを提供する。これにより、処理が迅速になり、視線追跡の状態及び誤差パラメータの決定が高速になることが可能になる。
【0088】
視線追跡データから決定され得る誤差パラメータには、回転速度及び予測誤差、固視の誤差、現在及び/または将来の視線位置に関する信頼区間、ならびに円滑性追跡の誤差が含まれ得るが、これらに限定されない。ユーザの視線に関する状態情報は、ユーザの目及び/または視線の個別の状態を含む。したがって、視線追跡データから決定されることができる例示的な状態パラメータには、まばたき測定基準、サッケード測定基準、被写界深度応答、色覚異常、視線安定性、及び頭部運動の前兆としての眼球運動が含まれ得るが、これらに限定されない。
【0089】
特定の実装では、視線追跡誤差パラメータは、現在の視線位置に関する信頼区間を含むことができる。信頼区間は、ユーザの目の回転速度及び加速度を、最後の位置からの変化がないか検査することによって決定されることができる。代替の実施形態では、視線追跡誤差及び/または状態パラメータは、将来の視線位置の予測を含むことができる。将来の視線位置は、目の回転速度及び加速度を検査し、ユーザの目の可能な将来の位置を外挿することによって決定されることができる。一般的に言えば、視線追跡システムのDVS更新レートは、DVSの更新レートが非常に高いため、回転速度及び加速度の値が大きいユーザの場合、決定された将来の位置と実際の将来の位置との間の誤差が小さくなり得、この小さい誤差は、既存のカメラベースのシステムよりも大幅に小さい可能性がある。
【0090】
さらに別の代替の実装では、視線追跡誤差パラメータは、目の速度、例えば回転速度の測定値を含むことができる。特定の代替の実施形態では、決定された視線追跡状態パラメータは、ユーザのまばたきの測定基準を測定することを含む。通常のまばたきの間、通常、150ミリ秒(ms)の期間が経過し、ユーザの視覚は提示された画像に焦点を合わされていない。したがって、表示装置のフレームレートに応じて、ユーザの視覚は、最大20~30フレームの間、提示された画像に焦点を合わされない場合がある。ただし、まばたきを終了すると、ユーザの視線方向は、取得された視線追跡データによって決定される、最後に測定された視線方向に対応しない場合がある。したがって、ユーザの視線の測定基準は、取得された視線追跡データから決定され得る。これらの測定基準には、ユーザのまばたきの測定された開始時間及び終了時間だけでなく、予測された終了時間も含まれ得るが、これらに限定されない。
【0091】
さらに追加の代替の実装では、決定された視線追跡状態パラメータは、ユーザのサッケードの測定基準を測定することを含む。通常のサッケードの間、通常、20~200msの期間が経過し、ユーザの視覚は提示された画像に焦点を合わされていない。したがって、表示装置のフレームレートに応じて、ユーザの視覚は、最大40フレームの間、提示された画像に焦点を合わされない場合がある。ただし、サッケードの性質上、サッケードが終了すると、ユーザの視線方向は別の関心領域に移る。したがって、視線追跡データは、サッケード中に経過する実際の時間または予測時間に基づいて、ユーザのサッケードの測定基準を確立する際に使用され得る。これらの測定基準には、ユーザのサッケードの測定された開始時間及び終了時間だけでなく、予測された終了時間も含まれ得るが、これらに限定されない。
【0092】
特定の代替の実装では、決定された視線追跡状態パラメータは、提示された画像間の被写界深度における変化の結果として、関心領域間のユーザの視線方向における遷移を決定することを含む。それは、提示された画像の関心領域間の遷移を提供すると、ユーザがサッケードを経験することになるためである。
【0093】
さらに追加の代替の実装では、決定された視線追跡状態パラメータは、色覚異常に適応させることができる。例えば、関心領域は、これらの領域が特定の形態の色覚異常を有するユーザによって認識されないように、ユーザに提示される画像に存在する場合がある。得られた視線追跡データは、例えば、ユーザの視線方向の変化の結果として、ユーザの視線が関心領域を識別した、または関心領域に応答したかどうかを決定する。したがって、視線追跡誤差パラメータとして、ユーザが特定の色またはスペクトルに対して色覚異常であるかどうかを決定することができる。
【0094】
特定の代替の実装では、決定された視線追跡状態パラメータは、ユーザの視線安定性の測定値を含む。視線安定性を決定することは、ユーザの目のマイクロサッケード半径を測定することによって行われることができ、固視のオーバーシュート及びアンダーシュートが小さいほど、ユーザの視線はより安定する。
【0095】
さらに追加の代替の実装では、決定された視線追跡誤差及び/または状態パラメータは、動くオブジェクト上へのユーザの固視能力を含む。これらのパラメータには、ユーザの目が円滑性追跡を行う能力の測定値、及び眼球の最大物体追跡速度が含まれる場合がある。通常、円滑性追跡能力が優れたユーザが受ける、眼球運動のジッタは少なくなる。
【0096】
特定の代替の実装では、決定された視線追跡誤差及び/または状態パラメータは、頭部運動の前兆としての眼球運動の決定を含む。頭部と目の配向との間のオフセットは、上記で説明されるように、例えば円滑性追跡または固視での、特定の誤差及び/または状態パラメータに影響を与えることができる。
【0097】
視線追跡及び誤差パラメータの決定に関するさらなる情報は、米国特許第10,192,528号に見いだされることができ、その内容はあらゆる目的のために参照により本明細書に援用されている。
【0098】
システム
図19は、本開示の態様による、DVSによる追跡システムのブロックシステム図である。限定ではなく例として、本開示の態様によれば、システム1900は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、ゲームコンソールなどであってもよい。
【0099】
システム1900は、一般に、中央処理装置(CPU)1903、及びメモリ1904を含む。システム1900はまた、例えばデータバス1905を介して、システムの他のコンポーネントと通信し得る周知のサポート機能1906を含み得る。このようなサポート機能は、以下に限定するものではないが、入力/出力(I/O)要素1907、電源(P/S)1911、クロック(CLK)1912、及びキャッシュ1913を含み得る。
【0100】
システム1900は、レンダリングされたグラフィックをユーザに提示するための表示装置1931を含み得る。代替の実装では、表示装置は、システム1900と連携して機能する別個のコンポーネントである。表示装置1931は、フラットパネルディスプレイ、ヘッドマウントディスプレイ(HMD)、陰極線管(CRT)画面、プロジェクタ、または可視のテキスト、数字、グラフィックシンボルもしくは画像を表示することができる他のデバイスの形態であり得る。
【0101】
ここで、表示装置1931はDVS1901Aと結合され、コントローラ1902は、本明細書に記載された構成のいずれであってもよい2つ以上の光源1932Aを含む。代替の実装では、DVSをゲームコントローラに結合することができ、表示装置は代わりに2つ以上の光源を含むことができる。さらに他の代替の実装では、DVSは、表示装置かコントローラかいずれかから結合解除された分離したユニットであり、この場合、コントローラ及び表示装置は両方とも追跡用に2つ以上の光源を含み得る。
【0102】
例えば表示装置がヘッドマウントディスプレイ(HMD)の一部であるいくつかの実装では、そのようなHMDは、加速度計またはジャイロスコープなどの慣性計測装置(IMU)を含むことができる。また本明細書の上記で議論されているように、そのようなHMDは光源1932Bを含み得、これらの光源を、表示装置1901とは別個であり、CPU1903に結合されたDVSを使用して追跡し得る。例として、別個のDVS1901Bをコントローラ1902に取り付けてもよい。
【0103】
いくつかの実装では、DVS1901AまたはDVS1901Bは、例えば、
図11A、
図11B、
図11C、または
図11Dに関して上述されているように、ハイブリッドセンサの一部であってもよい。そのようなハイブリッドセンサは、深度センサ、例えば、DTOFセンサを含むことができ、この場合、ハイブリッドセンサは照明ユニット(図示せず)を含むことができる。
【0104】
さらに、表示装置1931がHMDの一部である場合、この装置には任意選択でセーフティシャッタ1933を外嵌することができ、これはCPU1903などのプロセッサに操作可能に結合されることができ、
図16A、
図16B、
図16C、
図16Dまたは
図16Eに関して上述されるように動作することができる。あるいは、セーフティシャッタは、HMDに取り付けられた別個のプロセッサによって制御されてもよい。
【0105】
また、システム1900は、プログラム及び/またはデータの不揮発性ストレージを提供するために、マスストレージデバイス1915、例えば、ディスクドライブ、CD-ROMドライブ、フラッシュメモリ、ソリッドステートドライブ(SSD)、テープドライブなどを含む。システム1900はまた、任意選択で、システム1900とユーザの間のインタラクションを促進するためのユーザインタフェースユニット1916を含み得る。ユーザインタフェース1916は、キーボード、マウス、ジョイスティック、ライトペン、又はグラフィカルユーザインタフェース(GUI)と共に使用することができる他のデバイスを含んでもよい。システム1900はまた、デバイスがネットワーク1920を通じて他のデバイスと通信することを可能にするためのネットワークインタフェース1914を含み得る。ネットワーク1920は、例えば、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク、ブルートゥース(登録商標)ネットワークなどのパーソナルエリアネットワーク、または他のタイプのネットワークであり得る。これらのコンポーネントは、ハードウェア、ソフトウェア、もしくはファームウェア、またはこれらのうちの2つ以上の何らかの組み合わせで実装され得る。
【0106】
CPU1903はそれぞれ、1つ以上のプロセッサコア、例えば、単一のコア、2つのコア、4つのコア、8つのコア、またはそれ以上を含み得る。いくつかの実装では、CPU1903は、GPUコアまたは同じAPU(Accelerated Processing Unit:加速処理装置)の複数のコアを含むことができる。メモリ1904は、アドレス指定可能なメモリ、例えば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)などを提供する集積回路の形態であってもよい。メインメモリ1904は、処理中にプロセッサ1903によって使用されるアプリケーションデータ1923を含み得る。メインメモリ1904は、DVS1901から受信したイベントデータ1909も含み得る。
図9で説明されるように、訓練済みニューラルネットワーク(NN)1910をメモリ1904にロードして、位置及び配向データを決定することができる。さらに、メモリ1904は、NN1910を訓練するまたは調整するための機械学習アルゴリズム1921を含み得る。データベース1922をメモリ1904に含むことができる。データベースは、光源構成、1つ以上の光源のそれぞれの所定の点滅間隔などに関する情報を含むことができる。またメモリは、コントローラ1902または表示装置1931に結合されたIMUからの出力を含み得る。いくつかの実装では、メモリ1904は、光源のそれぞれがオンまたはオフであるときのタイムスタンプなど、1つ以上の光源からの出力を含むことができる。
【0107】
本開示の態様によれば、プロセッサ1903は、
図8及び9で説明されるように、コントローラまたはユーザの位置及び配向を決定するための方法を実行することができ、これらの方法は、アプリケーション1923としてメモリ1904にロードされることができる。プロセッサは、
図8及び
図9で説明され、さらに
図15に関して説明される方法を実行した結果として、コントローラ、ヘッドセット、ユーザの身体または付属肢、地面またはランドマークの1つ以上の配向及び構成を生成することができる。これらの位置及び配向は、データベース1922に保持されることができ、
図8及び9の方法の逐次反復に使用されることができる。いくつかの実装では、プロセッサ1903は、SLAM(simultaneous localization and mapping:自己位置推定及びマッピングの同時実行)を実行するように訓練された機械学習アルゴリズムにそれらのような位置及び/または配向を利用し得る。
【0108】
マスストレージ1915は、アプリケーション1923で処理が開始されるときにメインメモリ1904にロードされるアプリケーションまたはプログラム1917を含むことができる。さらに、マスストレージ1915は、アプリケーション1923、NN1910、機械学習アルゴリズム1921の処理中、及びデータベース1922の充填中に、プロセッサによって使用されるデータ1918を含むことができる。
【0109】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、特定用途向け集積回路(ASIC)は、汎用用途向けではなく、特定の用途向けにカスタマイズされた集積回路である。
【0110】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、フィールドプログラマブルゲートアレイ(FPGA)は、製造後に顧客または設計者によって構成されるように設計された-したがって「フィールドプログラマブル」な集積回路である。FPGA構成は一般に、ASICに使用されるものと同様のハードウェア記述言語(HDL)を使用して指定される。
【0111】
本明細書中で使用され、かつ、当業者によって一般に理解されるように、チップ上のシステムすなわちシステムオンチップ(SoCまたはSOC)は、コンピュータまたは他の電子システムのすべてのコンポーネントを単一のチップに統合する集積回路(IC)である。これは、デジタル、アナログ、混合信号、及び多くの場合無線周波数の機能―すべてを単一のチップ基板上に含み得る。典型的な用途は、組み込みシステムの分野にある。
【0112】
一般的なSoCには、次のハードウェアコンポーネントが含まれる:
1つ以上のプロセッサコア(例えば、マイクロコントローラ、マイクロプロセッサ、またはデジタル信号プロセッサ(DSP)コア)。
メモリブロック、例えば、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)及びフラッシュメモリ。
タイミングソース、例えば、振動子または位相同期ループ。
周辺機器、例えば、カウンタタイマー、リアルタイムタイマー、またはパワーオンリセット生成器。
外部インタフェース、例えば、ユニバーサルシリアルバス(USB)、FireWire(登録商標)、Ethernet、USART(universal asynchronous receiver/transmitter:汎用非同期送受信回路)、シリアルペリフェラルインタフェース(SPI)バスなどの業界標準規格。
アナログインタフェース(アナログデジタル変換器(ADC)及びデジタルアナログ変換器(DAC)を含む)。
電圧レギュレータ及び電源管理回路。
【0113】
これらのコンポーネントは、独自バスまたは業界標準バスのいずれかによって接続されている。ダイレクトメモリアクセス(DMA)コントローラは、外部インタフェースとメモリの間でデータを直接ルーティングし、プロセッサコアをバイパスすることで、SoCのデータスループットを向上させる。
【0114】
典型的なSoCは、上記のハードウェアコンポーネントと、プロセッサコア(複数可)、周辺機器及びインタフェースを制御する実行可能命令(例えばソフトウェアまたはファームウェア)との両方を含む。
【0115】
本開示の態様は、従来の画像ベースの追跡システムで可能であるよりも高いサンプルレートを特徴とする画像ベースの追跡を提供することにより、追跡の忠実度の向上をもたらす。さらなる利点には、DVSベースの追跡システムを使用する場合のコストの削減、重量の削減、無関係なデータ生成の削減、及び処理要件の削減が含まれる。これらのような利点により、用途の中でもとりわけ、仮想現実(VR)及び拡張現実(AR)システムの改善が可能になる。
【0116】
上記は、本発明の好適な実施形態の完全な説明であるが、種々の代案、修正、及び等価物を使用することが可能である。したがって、本発明の範囲は、上述したことを参照して判定されるべきでなく、代わりに、同等物のそれらの全範囲に従った、添付の特許請求の範囲を参照して判定されるべきである。好ましいか否かに関わらず、本明細書で説明されたいずれかの特徴は、好ましいか否かに関わらず、本明細書で説明されたいずれかの他の特徴と組み合わされてもよい。以下の特許請求の範囲では、不定冠詞「A」または「An」は、明確に述べられる場合を除き、冠詞に続く項目のうちの1つ以上の量を指す。添付の特許請求の範囲は、ミーンズプラスファンクションの限定が、フレーズ「~する手段(means for)」を使用して所与の請求項に明確に記載されない限り、そのような限定を含むとして解釈されるべきではない。