IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マジック リープ, インコーポレイテッドの特許一覧

特開2023-18033仮想、拡張、および複合現実システムのための深度感知技法
<>
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図1
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図2
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図3
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図4
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図5
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図6
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図7
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図8
  • 特開-仮想、拡張、および複合現実システムのための深度感知技法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023018033
(43)【公開日】2023-02-07
(54)【発明の名称】仮想、拡張、および複合現実システムのための深度感知技法
(51)【国際特許分類】
   G01S 17/89 20200101AFI20230131BHJP
   G01C 3/06 20060101ALI20230131BHJP
   G06F 3/01 20060101ALI20230131BHJP
【FI】
G01S17/89
G01C3/06 120Q
G06F3/01 510
【審査請求】有
【請求項の数】1
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022184776
(22)【出願日】2022-11-18
(62)【分割の表示】P 2019548327の分割
【原出願日】2018-03-19
(31)【優先権主張番号】62/474,503
(32)【優先日】2017-03-21
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ブライアン キース スミス
(72)【発明者】
【氏名】クン キョン シー
(72)【発明者】
【氏名】グレゴリー マイケル リンク
(57)【要約】
【課題】仮想、拡張、および複合現実システムのための深度感知技法の提供。
【解決手段】少なくとも2つの動作モードを有するセンサを動作させるためのシステムおよび方法。センサは、第1の動作モードを定義する第1の一連の動作ステップと第2の動作モードを定義する第2の一連の動作ステップとの両方に含まれる一連の共通動作ステップを具備し得る。センサは、第1の動作モードと第2の動作モードとの間の差異に関する1つ以上のダミー動作ステップも具備し得る。センサは、センサに少なくとも共通動作ステップを実行させることによって、第1の動作モードで動作させられることができ、センサに共通動作ステップと少なくとも1つのダミー動作ステップとを実行させることによって、第2の動作モードで動作させられることができる。
【選択図】なし
【特許請求の範囲】
【請求項1】
仮想、拡張、および複合現実システムのための深度感知技法、等。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の引用)
本願に関し提出された出願データシートに識別される外国および国内優先権に対する任意およびすべての出願は、規則37CFR1.57のもと、参照により本明細書に引用される。すなわち、本願は、米国仮特許出願第62/474,503号(2017年3月21日出願、名称「DEPTH SENSING TECHNIQUES FOR VIRTUAL,AUGMENTED,AND MIXED REALITY SYSTEMS」)に対する優先権を主張し、上記出願は、その全体が参照により本明細書に引用される。
(分野)
【0002】
本開示は、仮想現実、拡張現実、および複合現実の結像および可視化システムにおいて使用され得るそれら等の深度センサに関する。
【背景技術】
【0003】
現代のコンピューティングおよびディスプレイ技術は、仮想現実、拡張現実、および複合現実システムの開発を促進している。仮想現実または「VR」システムは、ユーザが体験するための模擬環境を作成する。これは、頭部搭載型ディスプレイを通してコンピュータ生成画像をユーザに提示することによって、行われることができる。この画像は、模擬環境にユーザを没頭させる感覚的体験を生成する。仮想現実シナリオは、典型的には、コンピュータ生成画像の提示だけではなく、実世界画像を含むことも伴う。
【0004】
拡張現実システムは、概して、実世界環境を模擬要素で補完する。例えば、拡張現実または「AR」システムは、頭部搭載型ディスプレイを介して、周辺の実世界環境の光景をユーザに提供し得る。しかしながら、コンピュータ生成画像も、実世界環境を強化するためにディスプレイ上に提示されることができる。このコンピュータ生成画像は、実世界環境に状況的に関連する要素を含むことができる。そのような要素は、シミュレートされたテキスト、画像、オブジェクト等を含むことができる。複合現実または「MR」システムは、あるタイプのARシステムであり、これも、シミュレートされたオブジェクトを実世界環境の中に導入するが、これらのオブジェクトは、典型的には、より多くの相互作用度を特徴とする。模擬要素は、多くの場合、リアルタイムで双方向性であり得る。
【0005】
図1は、例示的AR/MR場面1を描写し、ユーザは、人々、木々、背景における建物、コンクリートプラットフォーム20を特徴とする実世界公園状設定6を見ている。これらのアイテムに加え、コンピュータ生成画像も、ユーザに提示される。コンピュータ生成画像は、例えば、実世界プラットフォーム20上に立っているロボット像10、およびマルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ2が、実際には実世界環境に存在していなくても、これらの要素2、10を含むことができる。
【発明の概要】
【課題を解決するための手段】
【0006】
いくつかの実施形態では、少なくとも2つの動作モードを有するセンサを動作させる方法は、センサに、第1の動作モードを定義する第1の一連の動作ステップと第2の動作モードを定義する第2の一連の動作ステップとの両方に含まれる一連の共通動作ステップを提供することと、センサに、第1の動作モードと第2の動作モードとの間の差異に関する1つ以上のダミー動作ステップを提供することと、センサに少なくとも共通動作ステップを実行させることによって、センサを第1の動作モードで動作させることと、センサに共通動作ステップと少なくとも1つのダミー動作ステップとを実行させることによって、センサを第2の動作モードで動作させることとを含む。
【0007】
いくつかの実施形態では、センサは、深度センサであり得る。第1の動作モードは、第1のフレームレートを伴う深度感知モードを含み得、第2の動作モードは、第1のフレームレートより低速である第2のフレームレートを伴う深度感知モードであり得る。例えば、ダミー動作ステップのうちの1つ以上のものは、遅延を含み得る。
【0008】
いくつかの実施形態では、少なくとも2つの動作モードを有するセンサを動作させるためのシステムは、センサに、第1の動作モードを定義する第1の一連の動作ステップと第2の動作モードを定義する第2の一連の動作ステップとの両方に含まれる一連の共通動作ステップを提供することと、センサに、第1の動作モードと第2の動作モードとの間の差異に関する1つ以上のダミー動作ステップを提供することと、センサに少なくとも共通動作ステップを実行させることによって、センサを第1の動作モードで動作させることと、センサに共通動作ステップと少なくとも1つのダミー動作ステップとを実行させることによって、センサを第2の動作モードで動作させることとを含む方法を実行するように構成されたプロセッサを備えている。
本発明は、例えば、以下を提供する。
(項目1)
センサを動作させる方法であって、前記方法は、
第1の動作モードを定義する第1の一連の動作ステップと第2の動作モードを定義する第2の一連の動作ステップとの両方に含まれる一連の共通動作ステップを前記センサに提供することと、
前記第1の動作モードと前記第2の動作モードとの間の差異に関する1つ以上のダミー動作ステップを前記センサに提供することと、
前記センサに少なくとも前記共通動作ステップを実行させることによって、前記センサを前記第1の動作モードで動作させることと、
前記センサに前記共通動作ステップと少なくとも1つのダミー動作ステップとを実行させることによって、前記センサを前記第2の動作モードで動作させることと
を含む、方法。
(項目2)
前記第1の動作モードは、少なくとも前記共通動作ステップを第1のレートで実行することを含み、前記第2の動作モードは、前記共通動作ステップと少なくとも1つのダミー動作ステップとを前記第1のレートより低速である第2のレートで実施することを含む、項目1に記載の方法。
(項目3)
前記1つ以上のダミー動作ステップのうちの少なくとも1つは、遅延を含む、項目2に記載の方法。
(項目4)
前記一連の共通動作ステップと前記1つ以上のダミー動作ステップとを前記センサに提供することは、それらの動作ステップをセンサメモリに記憶することを含む、項目1に記載の方法。
(項目5)
前記センサを前記第1の動作モードと第2の動作モードとの間で切り替えることが、動作ステップを前記センサメモリに記憶するための任意の追加の行為を要求しない、項目4に記載の方法。
(項目6)
前記センサは、深度センサを備えている、項目1に記載の方法。
(項目7)
前記深度センサは、飛行時間カメラを備えている、項目6に記載の方法。
(項目8)
前記第1の動作モードは、第1のフレームレートを伴う深度感知モードを含み、前記第2の動作モードは、前記第1のフレームレートより低速である第2のフレームレートを伴う深度感知モードを含む、項目6に記載の方法。
(項目9)
深度情報を前記深度センサから仮想現実、拡張現実、または複合現実ディスプレイシステムに提供することをさらに含む、項目6に記載の方法。
(項目10)
センサを動作させるためのシステムであって、前記システムは、方法を実行するように構成されたプロセッサを備え、前記方法は、
第1の動作モードを定義する第1の一連の動作ステップと第2の動作モードを定義する第2の一連の動作ステップとの両方に含まれる一連の共通動作ステップを前記センサに提供することと、
前記第1の動作モードと前記第2の動作モードとの間の差異に関する1つ以上のダミー動作ステップを前記センサに提供することと、
前記センサに少なくとも前記共通動作ステップを実行させることによって、前記センサを前記第1の動作モードで動作させることと、
前記センサに前記共通動作ステップと少なくとも1つのダミー動作ステップとを実行させることによって、前記センサを前記第2の動作モードで動作させることと
を含む、システム。
(項目11)
前記第1の動作モードは、少なくとも前記共通動作ステップを第1のレートで実行することを含み、前記第2の動作モードは、前記共通動作ステップと少なくとも1つのダミー動作ステップとを前記第1のレートより低速である第2のレートで実施することを含む、項目10に記載のシステム。
(項目12)
前記1つ以上のダミー動作ステップのうちの少なくとも1つは、遅延を含む、項目11に記載のシステム。
(項目13)
前記一連の共通動作ステップと前記1つ以上のダミー動作ステップとを前記センサに提供することは、それらの動作ステップをセンサメモリに記憶することを含む、項目10に記載のシステム。
(項目14)
前記センサを前記第1の動作モードと第2の動作モードとの間で切り替えることが、動作ステップを前記センサメモリに記憶するための任意の追加の行為を要求しない、項目13に記載のシステム。
(項目15)
前記センサは、深度センサを備えている、項目10に記載のシステム。
(項目16)
前記深度センサは、飛行時間カメラを備えている、項目15に記載のシステム。
(項目17)
前記第1の動作モードは、第1のフレームレートを伴う深度感知モードを含み、前記第2の動作モードは、前記第1のフレームレートより低速である第2のフレームレートを伴う深度感知モードを含む、項目15に記載のシステム。
(項目18)
前記システムは、仮想現実、拡張現実、または複合現実ディスプレイシステム内に統合されている、項目15に記載のシステム。
(項目19)
前記プロセッサは、状態機械を備えている、項目10に記載のシステム。
(項目20)
前記センサを前記第1のモードまたは前記第2のモードで動作させるための要求を受信するためのアービタをさらに備え、前記アービタは、前記要求をスケジューリングおよび優先順位付けするように構成されている、項目10に記載のシステム。
(項目21)
前記センサをさらに備えている、項目10に記載のシステム。
(項目22)
深度センサを動作させる方法であって、前記方法は、
第1のタイプの深度測定のための第1の要求を受信することと、
第2のタイプの深度測定のための第2の要求を受信することと、
第1の優先順位を前記第1の要求に割り当てることと、
第2の優先順位を前記第2の要求に割り当てることと、
前記第1の優先順位が前記第2の優先順位より高い場合、前記第1のタイプの深度測定を前記深度センサに最初に取得させること、または、前記第2の優先順位が前記第1の優先順位より高い場合、前記第2のタイプの深度測定を前記深度センサに最初に取得させることと
を含む、方法。
(項目23)
前記第1の優先順位は、前記第1のタイプの深度測定を要求する第1のアプリケーションの優先順位に基づいて割り当てられ、前記第2の優先順位は、前記第2のタイプの深度測定を要求する第2のアプリケーションの優先順位に基づいて割り当てられる、項目22に記載の方法。
(項目24)
深度センサを動作させるためのシステムであって、前記システムは、
第1のタイプの深度測定のための第1の要求と、第2のタイプの深度測定のための第2の要求とを受信するように構成されたアービタであって、前記アービタは、第1の優先順位を前記第1の要求に割り当て、第2の優先順位を前記第2の要求に割り当てるように構成されている、アービタと、
プロセッサと
を備え、
前記プロセッサは、前記第1の優先順位が前記第2の優先順位より高い場合、前記第1のタイプの深度測定を前記深度センサに最初に取得させること、または、前記第2の優先順位が前記第1の優先順位より高い場合、前記第2のタイプの深度測定を前記深度センサに最初に取得させることを行うように構成されている、システム。
(項目25)
前記アービタは、前記第1のタイプの深度測定を要求する第1のアプリケーションの優先順位に基づいて、前記第1の優先順位を割り当て、前記第2のタイプの深度測定を要求する第2のアプリケーションの優先順位に基づいて、前記第2の優先順位を割り当てるように構成されている、項目24に記載のシステム。
(項目26)
前記システムは、仮想、拡張、または複合現実ディスプレイシステム内に統合されている、項目24に記載のシステム。
(項目27)
深度センサを動作させる方法であって、前記方法は、
深度センサのための構成動作を実施することであって、前記構成動作は、
第1の深度感知動作モードを定義する第1の一連の動作ステップを前記深度センサのメモリに記憶することと、
第2の深度感知動作モードを定義する第2の一連の動作ステップを前記深度センサのメモリに記憶することと
を含む、ことと、
前記第1の深度感知動作モードに従った深度測定のための第1の要求を受信することと、
前記第1の要求に応答して、前記深度センサに前記第1の一連の動作ステップを実行させることによって、前記深度センサを前記第1の動作モードで動作させることと、
前記第2の深度感知動作モードに従った深度測定のための第2の要求を受信することと、
前記第2の要求に応答して、追加の構成動作を実施することなく前記深度センサに前記第2の一連の動作ステップを実行させることによって、前記深度センサを前記第2の動作モードで動作させることと
を含む、方法。
(項目28)
前記深度センサは、飛行時間カメラを備えている、項目27に記載の方法。
(項目29)
前記第1の深度感知動作モードは、第1の測定距離範囲に対応し、前記第2の深度感知動作モードは、前記第1の測定距離範囲と異なる第2の測定距離範囲に対応する、項目27に記載の方法。
(項目30)
前記第1の深度感知動作モードは、第1のフレームレートに対応し、前記第2の深度感知動作モードは、前記第1のフレームレートより低速である第2のフレームレートに対応する、項目27に記載の方法。
(項目31)
深度情報を前記深度センサから仮想現実、拡張現実、または複合現実ディスプレイシステムに提供することをさらに含む、項目27に記載の方法。
(項目32)
深度センサを動作させるためのシステムであって、前記システムは、方法を実行するように構成されたプロセッサを備え、前記方法は、
深度センサのための構成動作を実施することであって、前記構成動作は、第1の深度感知動作モードを定義する第1の一連の動作ステップを前記深度センサのメモリに記憶することと、第2の深度感知動作モードを定義する第2の一連の動作ステップを前記深度センサのメモリに記憶することとを含む、ことと、
前記第1の深度感知動作モードに従った深度測定のための第1の要求を受信することと、
前記第1の要求に応答して、前記深度センサに前記第1の一連の動作ステップを実行させることによって、前記深度センサを前記第1の動作モードで動作させることと、
前記第2の深度感知動作モードに従った深度測定のための第2の要求を受信することと、
前記第2の要求に応答して、追加の構成動作を実施することなく前記深度センサに前記第2の一連の動作ステップを実行させることによって、前記深度センサを前記第2の動作モードで動作させることと
を含む、システム。
(項目33)
前記深度センサは、飛行時間カメラを備えている、項目32に記載のシステム。
(項目34)
前記第1の深度感知動作モードは、第1の測定距離範囲に対応し、前記第2の深度感知動作モードは、前記第1の測定距離範囲と異なる第2の測定距離範囲に対応する、項目32に記載のシステム。
(項目35)
前記第1の深度感知動作モードは、第1のフレームレートに対応し、前記第2の深度感知動作モードは、前記第1のフレームレートより低速である第2のフレームレートに対応する、項目32に記載のシステム。
(項目36)
前記システムは、仮想、拡張、または複合現実ディスプレイシステム内に統合されている、項目32に記載のシステム。
【図面の簡単な説明】
【0009】
図1図1は、例示的ARシステムを使用した拡張現実(AR)場面のユーザの視界を図示する。
【0010】
図2図2は、ウェアラブルVR/AR/MRディスプレイシステムの例を図示する。
【0011】
図3図3は、例示的深度感知システムを図示する。
【0012】
図4図4は、深度センサを複数の深度感知モードで効率的に動作させるための改良された方法の例を図示する。
【0013】
図5図5は、深度センサを複数の深度感知モードで効率的に動作させるための例示的状態略図である。
【0014】
図6図6は、深度センサを複数の深度感知モードで効率的に動作させるための改良された方法の別の例を図示する。
【0015】
図7図7は、複数の深度感知モードのための共通動作ステップおよびダミー動作ステップを示す例示的表である。
【0016】
図8図8は、図7の共通動作ステップおよびダミー動作ステップが複数の深度感知モードで効率的に動作するために使用され得る方法を図示する例示的表である。
【0017】
図9図9は、高ダイナミックレンジ(HDR)深度感知モードで動作するための例示的タイミング図である。
【発明を実施するための形態】
【0018】
仮想現実(VR)、拡張現実(AR)、および複合現実(MR)システムは、コンピュータ生成画像をユーザに提示するディスプレイを含むことができる。いくつかの実施形態では、ディスプレイシステムは、装着可能であり、それは、有利なこととして、より没入型のVR/AR/MR体験を提供し得る。ディスプレイを介して提供されるコンピュータ生成画像は、3次元である印象を作成することができる。これは、例えば、立体視画像をユーザに提示することによって、行われることができる。
【0019】
図2は、ウェアラブルVR/AR/MRディスプレイシステム80の例を図示する。VR/AR/MRディスプレイシステム80は、ディスプレイ62と、ディスプレイ62の機能をサポートするための種々の機械的および電子的なモジュールおよびシステムとを含む。ディスプレイ62は、フレーム64に結合され得、それは、ウェアラブルユーザ60によって装着可能であり、ディスプレイ62をユーザ60の眼の正面に位置付ける。スピーカ66が、フレーム64に結合され、ユーザの外耳道に隣接して位置付けられることができる。示されていない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供することができる。ディスプレイ62は、有線または無線接続性68によって等、フレーム64に固定して取り付けられる構成、ユーザによって装着されるヘルメットもしくは帽子に固定して取り付けられる構成、ヘッドホンに内蔵される構成、または別様にユーザ60に除去可能に取り付けられる構成(例えば、リュック式構成において、ベルト結合式構成において等)等、種々の構成において搭載され得るローカルデータ処理モジュール70に動作可能に結合される。
【0020】
ローカル処理およびデータモジュール70は、プロセッサと、不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリとを含み得、それらの両方は、データの処理および記憶を支援するために利用され得る。これは、画像捕捉デバイス(例えば、カメラ)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等のセンサから捕捉されたデータを含む。センサは、フレーム64に動作可能に結合され得るか、または別様にユーザ60に取り付けられ得る。センサは、フレーム64に動作可能に結合されるか、または別様にユーザに60に取り付けられ得る。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール内で実施され、完全に自律的使用を可能にする。代替として、または加えて、センサデータは、遠隔処理モジュール72および/または遠隔データリポジトリ74を使用して取得および/または処理され得る。ローカル処理およびデータモジュール70は、これらの遠隔モジュール(72、74)が互いに動作可能に結合され、ローカル処理およびデータモジュール70へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク(76、78)によって、遠隔処理モジュール72および遠隔データリポジトリ74に動作可能に結合され得る。いくつかの実施形態では、遠隔処理モジュール72は、データ(例えば、センサデータおよび/または画像情報)を分析および処理するように構成される1つ以上のプロセッサを含み得る。遠隔データリポジトリ74は、デジタルデータ記憶設備を備え得、それは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であり得る。
【0021】
VR/AR/MRシステム80は、深度センサ100も含むことができる。深度センサ100は、ユーザの周囲の測定を行い、それらの周囲内に存在する種々のオブジェクトおよび特徴までの距離についての情報を決定する。VR/AR/MRアプリケーションは、短距離深度情報(例えば、0~2メートル)、長距離深度情報(例えば、2~4メートルおよびそれを上回る)、および高ダイナミックレンジ(HDR)深度情報を含む種々のタイプの深度情報を利用することができる。深度センサ100によって提供される深度情報は、ユーザがVR/AR/MRシステムと相互作用することを可能にし、および/または、システムが仮想画像をユーザの実世界環境の中に投影することを可能にするために使用されることができる。
【0022】
VR/AR/MRシステムにおける長距離深度感知の1つのアプリケーションは、深度情報を使用して、ユーザの環境をモデル化する。例えば、深度センサ100は、部屋内の壁およびオブジェクトまでの距離を決定するために使用されることができる。結果として生じる深度情報は、部屋およびそのコンテンツの3Dモデルを作成するために使用されることができる。AR/MRシステムでは、特に、これは、システムが現実的および双方向方法において仮想画像を部屋の中に投影することを可能にすることができる。VR/AR/MRシステムにおける短距離深度感知の例示的アプリケーションは、ジェスチャ認識である。例えば、VR/AR/MRシステム80は、ジェスチャ認識を促進するように、深度感知を使用して、ユーザの手の移動を追跡することができる。VR/AR/MRシステム80は、次いで、ユーザのジェスチャに応答して、あるアクションを実施することができる。
【0023】
深度情報が、VR/AR/MRシステム80によって使用され、ユーザに、双方向没入型体験を提供することができることを所与として、深度センサ100が、深度情報を比較的に迅速および効率的に収集することが有利である。なぜなら、これが、VR/AR/MRシステム80がより応答性であることを可能にするからである。これは、AR/MRアプリケーションがユーザを包囲する実世界コンテンツとシステム80によってユーザの環境の中に投影される仮想コンテンツとの間の不連続性に非常に敏感であり得るので、特に、AR/MRアプリケーションに当てはまり得る。本開示は、したがって、種々の深度感知情報が収集され得る効率および/または速度を増加させ得る改良された技法を説明する。
【0024】
背景として、1つのタイプの深度センサは、3D飛行時間(TOF)カメラである。概して、3D TOFカメラは、光源を使用して、場面を照明する。TOFカメラは、次いで、場面内の種々の点/オブジェクト/特徴までの距離についての情報を決定するために、場面から反射する光を観察および処理する。いくつかのTOFカメラは、赤外線光のパルスを場面内の1つ以上の点に向かって放出し、次いで、光が場面から反射されるまでの経過時間を測定することによって、深度測定を実施する。光の速度の知識と組み合わせられた経過時間に基づいて、カメラは、次いで、光が進行した距離を決定することができる。加えて、いくつかのTOFカメラは、変調された光信号(例えば、正方形または正弦波)を放出し、次いで、照明光信号と反射光信号との間の位相シフトを測定することによって、深度測定を実施することができる。これらの位相シフト測定値は、次いで、距離測定値に変換される。
【0025】
大部分の深度感知TOFカメラでは、照明は、ヒトの眼に不可視である、近赤外線範囲(例えば、約850nm)で動作する固体レーザまたは発光ダイオード(LED)から生じる。典型的には、光源から場面の中への照明は、比較的に均一であるように設計される。照明光と同一スペクトルに応答するように設計された結像センサが、場面から反射された光を受け取り、光を電気信号に変換する。いくつかの実施形態では、結像センサは、例えば、224×172ピクセルの分解能を有するCCDまたはCMOSセンサであることができるが、より大きいまたはより小さい分解能を伴う結像センサも、使用されることができる。各ピクセルは、像面内の点に位置し、それは、TOFカメラの視野内のオブジェクト空間または場面内の別個の点に対応する。したがって、結像センサの各ピクセルにおいて収集された情報は、その特定のピクセルに対応する場面内の点までの距離を決定するために使用されることができる。
【0026】
結像センサの各ピクセルによって受け取られた光は、周囲成分と、反射成分とを有する。深度情報は、反射成分のみに組み込まれている。これらの2つの成分間で区別するために、TOFカメラは、場面を赤外線光で能動的に照明する直前または直後、周囲赤外線光の画像を捕捉し得る。周囲赤外線光のこの画像は、強度サブフレーム画像と称され得る。強度サブフレーム画像を場面を能動的に照明する間に収集された他のサブフレーム画像から減算または別様に除去することによって、深度センサ100は、赤外線光の反射成分を場面内の背景雑音から区別することができる。
【0027】
照明成分と反射成分との間の位相シフトの検出を可能にするために、光源からの信号が、変調されることができる。例えば、方形波変調信号が、使用されることができる。画像センサは、次いで、反射された光を変調信号に対する異なる位相シフトに対応する複数の異なる時間に検出する。異なる位相シフトは、例えば、角度1、角度2、角度3、および角度4であり得、角度2=角度1+Δ、角度3=角度1+2Δ、および角度4=角度1+3Δであり、角度1およびΔは、所定の角度である。例えば、角度1は、0°であり得、Δは、90°であり得、それによって、カメラは、変調信号に対して0°、90°、180°、および270°位相シフトされた期間中に各ピクセルにおいて受け取られた反射された光を検出し得る。これらの測定の各々は、カメラセンサによって捕捉された別個の位相サブフレーム画像をもたらし得る。センサピクセルの各々に対応する、場面内の点までの距離は、次いで、当技術分野において公知の数学的方程式を使用して、4つの位相サブフレームから計算されることができる。したがって深度情報の各完全フレーム(それから深度測定の組(ピクセルあたり1回)が決定され得る)は、画像データのいくつかのサブフレームから成る。
【0028】
変調された照明信号は、周期的であり、したがって、位相シフトの360°毎に、自動的に繰り返し現れる。したがって、いくつかのTOFカメラが、変調された照明信号に対する反射された光の位相シフトに基づいて、深度を測定するという事実は、測定された距離がエイリアシング効果を被るであろうことを意味する。これらのエイリアシング効果は、測定された距離における曖昧性をもたらし得る。エイリアシングが生じる距離(すなわち、曖昧性距離)は、TOFカメラが測定し得る最大の曖昧性のない距離でもある。最大測定可能距離は、照明光の変調周波数を低減させることによって拡張されることができるが、それは、低減された深度測定分解能を犠牲にして生じ得る。深度測定分解能を損なわせることなく、深度曖昧性を解決するために、TOFカメラは、異なる周波数(例えば、Fmod0およびFmod1)を有する2つ以上の別個の変調信号を使用して、照明光を変調することができる。深度測定は、複数の変調周波数の各々に対する反射された光の位相シフトを測定することによって実施される。各変調周波数は、異なるので、各々は、異なる曖昧性距離を有するであろう。場面内の所与の点までの実際の距離は、異なる変調周波数を使用して行われた測定が一致する距離である。
【0029】
TOFカメラでは、距離は、カメラセンサ内のピクセル毎に測定されることができる。これは、カメラの視野内の場面の深度マップをもたらす。深度マップは、3次元空間内の点の集合、すなわち、ボクセルであり、各ボクセルは、対応するセンサピクセルによって測定された距離に位置する。深度マップは、点の集合、すなわち、点群として、3次元空間内にレンダリングされることができる。3D点は、数学的に接続され、メッシュを形成することができる。メッシュは、場面をモデル化すること、オブジェクトを検出すること等のために使用されることができる。加えて、仮想コンテンツは、VR/AR/MRシステムによって、メッシュ上にマッピングされ、ユーザの実在の周囲と相互作用する、実物のような3D仮想コンテンツを提供することができる。
【0030】
種々のタイプの深度測定が、VR/AR/MRシステム80における異なる目的のために有利であり得る。例えば、近距離低フレームレート深度測定は、ユーザの手が深度センサ100の視野内に存在するとき、検出のために十分であり得る。ユーザの手が深度センサの視野内に存在するという事実が検出されると、近距離高フレームレート深度測定が、ユーザの手の移動を追跡し、それによって、行われている具体的ジェスチャを検出するためにより有用であり得る。一方、低いまたは高フレームレートにおける長距離深度測定は、ユーザの環境をマッピングするために有用であり得る。加えて、近距離から長距離までの高ダイナミックレンジ(HDR)深度測定も、有益であり得る。
【0031】
多くの異なるタイプの深度測定が、VR/AR/MRシステム80において有用であり得ることを所与として、深度センサ100は、これらの異なるタイプの深度測定の各々を収集するための複数の動作モードを含むことができる。各モードは、例えば、深度センサ100によって実施されるべき一連の動作から成り得る。モードに応じて、これらの動作の各々は、露光時間、照明光光度、照明変調周波数等の異なる設定またはパラメータを伴うことができる。以下の表は、いくつかの深度感知モードのための例示的動作一連および構成設定を図示する。
【0032】
表1は、短距離高フレームレート深度感知モードのための例示的一連の動作を図示する。いくつかの実施形態では、この動作モードは、約20Hzを上回るフレームレートを用いて、約2メートル未満(変調周波数および露光時間に応じて)の範囲における深度を感知するために使用される。この特定の実施形態では、フレームレートは、45Hzであり、それは、深度情報の1つの完全フレームが22.22ms(1/45s)毎に捕捉されることを意味する。この場合、深度情報の各完全フレームは、強度サブフレーム(照明源がオフにされている間の周囲赤外線光を測定するため)および4つの位相サブフレーム(照明源が変調されている間に捕捉される)に基づく。
【表1】
【0033】
短距離高フレームレート深度感知モードのための例示的一連の動作は、ステップ0から開始し、それは、強度サブフレームを取得する。次いで、ステップ1-4中、4つの位相サブフレームが、捕捉される。短距離測定のために、これらのサブフレームの各々のための露光時間(すなわち、画像センサが光を捕捉する間の時間)は、典型的には、約0.5ms未満である。各サブフレームは、捕捉された画像データを画像センサから転送するための関連付けられた読み取り時間を含む。読み取り時間は、典型的には、約1ms未満である。
【0034】
短距離高フレームレート動作モードは、随意に、動作一連のうちのステップ5として、比較的に短い遅延を含むことができる。この遅延は、例えば、動作一連の22.22ms期間とステップ0-4を完了するために要求される総時間との間の差異と等しくあることができる。言い換えると、ステップ5の随意の短遅延は、動作一連の期間中における、強度サブフレームおよび4つの位相サブフレームを捕捉し、読み取るために要求されない任意の追加の時間を占有することができる。表1は、この特定の深度感知モードのための動作ステップの具体的順序を列挙するが、動作ステップは、代替として、異なる順序において実施され得る。同じことは、本明細書に説明される他の動作モードに関しても当てはまる。
【0035】
表2は、短距離低フレームレート深度感知モードのための例示的一連の動作を図示する。この動作モードは、約20Hz未満のフレームレートを用いて、約2メートル未満(変調周波数および露光時間に応じて)の範囲における深度を感知するために使用され得る。この特定の実施形態では、フレームレートは、8Hzであり、それは、深度情報の1つの完全フレームが125ms毎に捕捉されることを意味する。前述の場合と同様に、深度情報の各完全フレームは、強度サブフレームおよび4つの位相サブフレームに基づく。短距離高フレームレートモードは、より良好な時間分解能を伴って深度測定を生産する利点を有するが、短距離低フレームレートモードは、より低い時間分解能が目前のタスクのために適正であるとき、算出上あまり集約的ではなく、それによって、システムが、低電力モードに入り、エネルギーを節約することを可能にすることに起因して、有益であり得る。
【表2】
【0036】
短距離低フレームレートモードのための例示的一連の動作は、ステップ0から開始し、それは、強度サブフレームを取得する。次いで、ステップ1-4中、4つの位相サブフレームが、捕捉される。再び、短距離測定に対して、これらのサブフレームの各々のための露光時間は、典型的には、約0.5ms未満であり、各サブフレームのための読み取り時間は、典型的には、約1ms未満である。表2におけるステップ0-4は、表1におけるステップ0-4と同一である。したがって、短距離低フレームレート動作モードおよび短距離高フレームレート動作モードは、これらの5つのステップを共通して有する。
【0037】
しかし、短距離低フレームレート動作モードは、動作一連のうちのステップ5として、比較的に長い遅延を含む。この遅延は、例えば、動作一連の125ms期間とステップ0-4を完了するために要求される総時間との間の差異と等しくあることができる。比較的に長い遅延のステップ5は、動作一連の期間中における、強度サブフレームおよび4つの位相サブフレームを捕捉し、読み取るために要求されない時間を占有する。したがって、表1および2に示される2つの短距離動作モード間の差異は、表2におけるステップ5の比較的に長い遅延と表1におけるステップ5の随意の比較的に短い遅延との間の差異に関連する。
【0038】
表3は、長距離高フレームレート深度感知モードのための例示的一連の動作を図示する。この動作モードは、約20Hzを上回るフレームレートを用いて、例えば、約2~4メートル(変調周波数および露光時間に応じて)の範囲における深度を感知するために使用されることができる。短距離深度データと同様に、長距離深度情報の各完全フレームは、画像データのいくつかのサブフレームに基づく。再び、照明源がオフである間の周囲赤外線光を測定するための強度サブフレームが、存在する。しかし、長距離深度データの場合、画像データの8つの位相サブフレーム、すなわち、2つの照明変調周波数Fmod1およびFmod2の各々のために4つの位相サブフレームが存在する。
【表3】
【0039】
長距離高フレームレート深度感知モードのための例示的一連の動作は、ステップ0から開始し、それは、強度サブフレームを取得する。次いで、ステップ1-4中、第1の変調周波数Fmod1のための4つの位相サブフレームが、捕捉される一方、ステップ5-8中、第2の変調周波数Fmod2のための4つのサブフレームが、捕捉される。長距離測定に対して、これらのサブフレームの各々のための露光時間(すなわち、画像センサが光を捕捉する間の時間)は、短距離測定より長く、典型的には、2-3msである。(長距離サブフレームのための他のパラメータまたは設定も、短距離サブフレームと異なり得る。)各サブフレームは、捕捉された画像データを画像センサから転送するための約1msの関連付けられた読み取り時間も含む。
【0040】
長距離高フレームレート動作モードは、随意に、動作一連のステップ9として、比較的に短い遅延を含むことができる。この遅延は、例えば、動作一連の期間とステップ0-8を完了するために要求される総時間との間の差異と等しくあることができる。言い換えると、ステップ9の随意の短遅延は、動作一連の期間中における、強度サブフレームおよび8つの位相サブフレームを捕捉し、読み取るために要求されない任意の追加の時間を占有することができる。
【0041】
表4は、長距離低フレームレート深度感知モードのための例示的一連の動作を図示する。この動作モードは、約20Hz未満のフレームレートを用いて、約2-4メートル(変調周波数および露光時間に応じて)の範囲における深度を感知するために使用されることができる。この特定の実施形態では、フレームレートは、5Hzであり、それは、深度情報の1つの完全フレームが200ms毎に捕捉されることを意味する。前述の場合と同様に、深度情報の各完全フレームは、強度サブフレームおよび8つの位相サブフレームに基づく。
【表4】
【0042】
長距離低フレームレートモードのための例示的一連の動作は、ステップ0から開始し、それは、強度サブフレームを取得する。次いで、ステップ1-8中、8つの位相サブフレームが、捕捉される。再び、長距離測定に対して、これらのサブフレームの各々のための露光時間は、典型的には、約2~3ms未満であり、各サブフレームは、捕捉された画像データを画像センサから転送するための関連付けられた読み取り時間も含む。読み取り時間は、典型的には、約1ms未満である。表4におけるステップ0-8は、表3におけるステップ0-8と同一である。長距離低フレームレート動作モードおよび長距離高フレームレート動作モードは、したがって、これらの9つのステップを共通して有する。
【0043】
しかし、長距離低フレームレート動作モードは、動作一連のうちのステップ9として、比較的に長い遅延を含む。この遅延は、例えば、動作一連の200ms期間とステップ0-9を完了するために要求される総時間との間の差異と等しくあることができる。言い換えると、ステップ9の長遅延は、動作一連の期間において、強度サブフレームおよび8つの位相サブフレームを捕捉し、読み取るために要求されない任意の追加の時間を占有することができる。表3および4に示される2つの動作モード間の差異は、したがって、表4におけるステップ9の比較的に長い遅延と表3におけるステップ9の随意の比較的に短い遅延との間の差異に関する。
【0044】
特定の深度感知モード(例えば、表1-4に示される深度感知モードのいずれか)で動作するために、深度センサ100は、適切な一連の動作ステップ(および関連付けられた設定)でプログラムされる必要がある。従来の深度センサは、典型的には、プログラミング命令を保持するための複数のメモリビンを有する。各ビンは、例えば、表1-4の動作一連に示される動作のうちの1つを保持することができる。したがって、TOFカメラを短距離高フレームレート深度感知モード(すなわち、表1に従う)で動作するようにプログラムするために、5つまたは6つのプログラミングビンが、典型的には、要求されるであろう。同様に、短距離低フレームレートモード(すなわち、表2に従う)は、典型的には、6つのプログラミングビンを要求するであろう。一方、長距離高フレームレート動作モード(すなわち、表3に従う)は、典型的には、9または10のプログラミングビンを要求するであろう一方、長距離低フレームレート動作モード(すなわち、表4に従う)は、典型的には、10のプログラミングビンを要求するであろう。したがって、従来の方法を使用すると、6+6+10+10=32のメモリビンが、深度センサ100をこれらの深度感知モードの全4つで動作することが可能なようにプログラムするために要求され得る。
【0045】
深度センサ100の各々は、それぞれの動作ステップ(および関連付けられた設定)をセンサのメモリビンの中にロードすることによって、表1-4に図示される深度感知モードならびにその他のいずれかで動作するようにプログラムされることができる。このプログラミングプロセスは、いくつかの実装では、例えば、約160msかかり得るが、特定の実装に応じて、より長いまたはより短い期間がかかり得る。したがって1つのみの動作ステップの組(1つの深度感知モードに対応する)が、一度に、深度センサのメモリビンの中にプログラムされる場合、動作モードを切り替えるように深度センサを再プログラムするために要求され得る、おそらく約160msのコストが存在する。深度センサが、あまり頻繁にモードを変更するように要求されない場合、この時間コストは、容認可能であり得る。しかしながら、VR/AR/MRシステム80では、比較的に頻繁に深度感知モード間で切り替える必要性が存在し得る。深度センサを再プログラムするために要求される時間は、したがって、顕著な遅れをシステムの応答性に導入し得るので、問題となり得る。この問題および他の問題は、本明細書に説明される深度感知技法によって解決される。
【0046】
図3は、例示的深度感知システム300を図示する。深度感知システム300は、状態機械320と、アービタ330と、深度センサ100自体とを含む。状態機械320およびアービタ330は、ハードウェア(例えば、汎用プロセッサを含む1つ以上のプロセッサ、フィールドプログラマブルゲートアレイ(FPGAS)、特定用途向け集積回路(ASIC)等)、および/またはソフトウェア(例えば、メモリに記憶されるコンピュータ読み取り可能な命令、非一過性媒体等)として実装されることができる。図3は、いくつかの複合現実(MR)アプリケーション310も示し、それらは、深度感知システム300と通信する。これらは、VR/AR/MRシステム80上で動作するアプリケーションである。これらのアプリケーション310のうちの1つは、例えば、ジェスチャ認識アプリケーションであり得る。別のものは、3-Dマッピングアプリケーションであり得る。別のものは、仮想コンテンツ投影アプリケーションであり得る。これらのアプリケーション310の各々は、異なる時間に種々の異なるタイプの深度情報の必要性を有し得る。異なるタイプの深度情報が、同じ瞬間、またはほぼ同じ瞬間において、異なるアプリケーション310によって必要とされることも稀ではないであろう。したがって、深度感知システム300は、可能な限り迅速かつ効率的に、深度感知モード間で切り替え、要求される深度情報を取得することが可能であることが有利である。複合現実アプリケーションのみが、図3に図示されるが、仮想現実および拡張現実アプリケーションも、深度感知システム300と通信し、深度情報を要求および受信することができることに留意されたい。
【0047】
各アプリケーション310は、必要に応じて、種々のタイプの深度情報に対して、深度感知システム300に要求を行うことができる。アービタ330は、深度情報に対する要求を受信することと、要求される深度情報を提供するであろう深度感知動作をスケジューリングすることとに関与する。いくつかの実施形態では、アービタ330は、より時間制約が厳しいアプリケーションに最初にサービス提供するように、深度測定に対する要求を優先順位付けする。例えば、いくつかの実施形態では、アービタ330は、深度感知要求を以下の順序で優先順位付けする(但し、他の優先順位化スキームも、使用されることができる):1)短距離高フレームレート深度測定、2)高ダイナミックレンジ深度測定(長距離低フレームレート深度測定でインターリーブされた短距離低フレームレート深度測定から成る)、3)短距離低フレームレート深度測定、4)長距離高フレームレート深度測定、5)長距離低フレームレート深度測定、および、6)アイドル状態。
【0048】
いくつかの実施形態では、深度測定要求が優先順位付けされる順序は、要求側アプリケーションの優先順位に基づく。例えば、VR/AR/MRシステムは、典型的には、ユーザ手のジェスチャに依拠して、制御入力を提供するので(そのようなシステムは、典型的には、タッチパネル、キーボード、または他の物理的入力デバイスを有していないので)、任意のユーザの手のジェスチャが、最高優先順位に割り当てられ得る。故に、いくつかの実施形態では、最高優先順位モードは、手のジェスチャを追跡するために使用される短距離高フレームレート深度測定であり得る。しかしながら、種々の深度感知モードは、異なる動作需要に適応するために、種々の方法で優先順位を割り当てられることができることを理解されたい。
【0049】
深度情報に対する要求が、アービタ330によって、優先順位付けおよびスケジューリングされると、状態機械320が、要求される測定を実際に行い、要求されるデータを返すように、深度センサ100ハードウェアを制御するために使用される。このタスクの一部として、状態機械320は、動作ステップ(および関連付けられた設定)を深度センサ100のメモリビン内に記憶することと、選択された深度感知モードを設定することと、アービタ330からの入力に基づいて、そのように行うことを要求されると、深度センサ100の深度感知モードを切り替えることとを含む種々のタスクを実施し得る。状態機械320の動作は、図4および5に関してより詳細に説明される。
【0050】
図4は、深度センサ100を複数の深度感知モードで効率的に動作させるための改良された方法400の例を図示する。方法400は、深度センサ100を構成するためのコマンドを用いて、ブロック410から開始する。このタイプのコマンドは、例えば、深度感知システム300の始動またはリセット時に発行され得る。
【0051】
ブロック420では、深度感知システム300は、第1の深度感知モードのための動作一連を深度センサのメモリビンの第1のグループの中にロードすることによって、深度センサ100の構成を開始する。例えば、第1の深度感知モードは、短距離高フレームレートモードであり得る。それが該当する場合、深度感知システム300は、表1からの一連の動作を深度センサのメモリビンの中にロードするであろう。従来の深度感知システムでは、深度センサ100は、次いで、第1の深度感知モードで動作することに進み、異なる深度感知モードが要求されるまで、深度測定を取得するであろう。しかしながら、本明細書に説明される深度感知システム300は、代わりに、ブロック430に進み、第2からN番目の深度感知モードのための動作一連を深度センサ100のメモリビンのグループの中にロードする。例えば、第2の深度感知モードは、長距離高フレームレートモードであり得る。それが該当する場合、深度感知システム300は、表3からの一連の動作を深度センサ100のメモリビンの中にロードするであろう。追加の深度感知モードも、利用可能なメモリビンが深度センサ100内に存在する限り、この構成一連の間、プログラムされ得る。さらに下で議論されるように、これらの構成ステップは、深度感知が開始する前に実施され、それによって、深度感知モード間で変更されるとき、構成遅延を回避することができる。
【0052】
ブロック440では、方法400は、深度情報の収集を開始するためのコマンドに進む。このコマンドは、アービタ330によってスケジューリングされた深度感知タスクに基づいて発行されることができる。ブロック450では、状態機械320が、使用されるべきプログラムされた深度感知動作モードを規定する。第1の深度感知動作モードが、ブロック450において規定される場合、方法400は、ブロック460に進む。ブロック460では、深度センサ100は、メモリビンの第1のグループ内に規定された動作一連を実行することによって、第1の深度感知モードで動作する。深度センサ100は、第1の深度感知モードにある間、深度情報の1つ以上のフレームを捕捉することに進む。この測定が完了すると、方法は、ブロック450に戻り、深度感知動作モードが、再び、規定されることができる。
【0053】
ブロック450に戻ると、深度感知動作モードが、変更される場合、方法400は、ブロック470に進む。ブロック470では、深度センサ100は、メモリビンの対応するグループ内に規定された動作一連を実行することによって、第2からN番目の深度感知モードのいずれかで動作することができる。第2からN番目の深度感知動作モードのいずれかに従って、1つ以上のフレームの深度情報を収集後、方法400は、ブロック450に戻り、アービタ330によってスケジューリングされた深度感知タスクに従って、反復的に繰り返す。
【0054】
図4に示される動作の方法は、要求される深度感知動作モードの変更に起因して、深度センサ100をプログラムするために費やされる時間量を低減させることによって、深度感知効率を改良することができるので、有利である。これは、複数の深度感知モードに対応する動作ステップを深度センサのメモリビンの中に同時にプログラムすることによって遂行される。例えば、深度センサの最初の6つのメモリビンは、表2の動作ステップを用いてプログラムされ得る一方、深度センサの次の10のメモリビンは、表4の動作ステップを用いてプログラムされ得る。このように、深度センサは、最初の6つのビン内に記憶される命令を実行することによって、短距離低フレームレートモード(表2に対応する)で動作し得る。または、深度センサは、次の10のビン内に記憶される命令を実行することによって、長距離低フレームレートモード(表4に対応する)で動作し得る。深度センサは、メモリビンを再プログラムするために要求される時間ペナルティを被らずに、これらのモード間で切り替わることができる。故に、深度情報の収集の効率および速度は、増加されることができる。
【0055】
いくつかの実施形態では、状態機械320は、メモリビンの再プログラムを要求せずに1つの深度感知モードから別の深度感知モードに深度センサ100に切り替えをさせる動作を実施する。状態機械320は、一連の動作ステップを深度センサ100内のメモリビンの異なるセット/サブセットから実行することによって、深度感知モード間で交互する能力を提供する。状態機械320は、それから深度センサ100が命令を実行するセット/サブセットおよび一連のメモリビンを外部から制御することができる。状態機械320を伴わない場合、深度センサ100は、単に、所望の深度感知モードを達成するために、実行すべきコマンドの特定のセット/サブセットを選択する能力を伴わずに、そのメモリビン内に記憶されるコマンドを通して巡回し得る。
【0056】
図5は、深度センサ100を複数の深度感知モードで効率的に動作させるための例示的状態略図500である。図5に示される状態は、アービタ330と協働する状態機械320によって実装されることができる。いくつかの実施形態では、深度感知システム300は、3つの状態を有する:1)「ホットスタンバイ」状態510、2)「オン」状態520、および、3)「保留ホットスタンバイ」状態530。図4におけるブロック410-430に従ってプログラムされた後、深度センサ100は、ホットスタンバイ状態510に設置されることができる。
【0057】
図4の方法のブロック440における深度情報の収集を開始するためのコマンドに基づいて、状態機械320は、深度センサ100をオン状態520に設置する。この状態変更は、例えば、最初に、フレームバッファを開放し、深度情報を受信することによって遂行されることができる。次に、状態機械320は、ホストVR/AR/MRシステム80が、ストリーミング深度情報を受け取るように設定することができる。状態機械320は、次いで、図4に示される方法のブロック450に従って、深度感知モードを設定することができる。本明細書に議論されるように、状態機械320は、実行するための深度センサ100のメモリビン内に記憶されたセット/サブセットおよび/または一連の動作ステップを規定することによって、深度感知モードを設定することができる。例えば、第1の深度感知モードは、深度センサ100をビンX-Y(Xは、任意の整数であり、Yは、Xを上回る任意の整数である)によって規定された動作一連のみを実行するように設定することによって、規定されることができる。最後に、状態機械320は、規定された深度感知モードに従って深度情報のストリーミングを開始するように深度センサ100を設定することができる。深度センサ100は、規定されたモードに従って、深度情報のフレームのストリーミングを継続する一方、保留ホットスタンバイ状態530への切り替えのための条件の各々が存在するまで、オン状態520にある。
【0058】
いくつかの実施形態では、状態機械320は、以下の条件が満たされると、深度センサをオン状態520から保留ホットスタンバイ状態530に切り替える:1)深度情報の完全フレームが受信されたとき、および、2)アービタ330が、モード切り替えが要求されることを示すとき。これらの条件が満たされると、状態機械320は、深度センサ100を保留ホットスタンバイ状態530に設置する。この状態では、状態機械320は、深度センサをストリーミングを中止するように設定する。
【0059】
保留ホットスタンバイ状態530にある間、状態機械320は、現在の深度感知モードのフレーム周期が維持されることを確実にする。これは、眼安全性理由から、規定された時間単位あたり深度センサ100によって出力されるエネルギーの量を限定するために行われる。例えば、特定の深度測定が、5Hzのフレームレートで行われるようにスケジューリングされる場合、その測定のためのフレーム周期は、200msである。典型的には、深度センサ100内の光源の電力は、そのフレーム周期に基づいて、安全レベルに設定される。したがって、いくつかの実施形態では、状態機械320は、その200msフレーム周期が経過するまで、深度感知モードが変更されることを可能にしない。何故なら、そうすることが新しい深度測定を直ちに開始し得、ひいては、新しい深度測定が、200ms周期中に追加の放射量が放出されるようにし、それによって、可能性として、眼安全性限界を超え得るからである。
【0060】
依然として保留ホットスタンバイ状態530にある間、状態機械320は、ホストVR/AR/MRシステム80をスタンバイ状態に設定し、深度情報を受信するために使用されるフレームバッファを閉鎖する。これらのアクションが完了すると、深度感知システム状態機械320は、深度センサ100をホットスタンバイ状態510に移行させる。アービタ330と協働する、状態機械320は、次いで、次の深度感知モードを規定し、プロセスは、繰り返されることができる。再び、次の深度感知モードが、実行されるために深度センサ100のメモリビン内に記憶されたセット/サブセットおよび/または一連の動作ステップを規定することによって設定される。また、深度感知モードをこのように変更させることは、次の深度感知モードのための動作ステップがメモリビン内にすでに記憶されているので、深度センサ100が再プログラムされることを要求しない。
【0061】
図4に示される方法400は、深度感知動作の効率を改良することができるが、深度センサ100によって提供される利用可能なメモリビンの数によって限定され得る。深度感知モードの所望の数およびタイプに応じて、要求される一連の動作命令に適応するために不十分なメモリビンが存在し得る。例えば、深度センサ100が、15のメモリビンのみを提供する場合、従来の技法に従うと、追加の深度感知モードはもちろんのこと、表1-4に説明される深度感知モードの全4つによって要求される動作一連を用いて深度センサを同時にプログラムすることは、不可能であろう。これは、それらの深度感知モードが、集合的に、15を上回る動作ステップを含むからである。したがって、図4に示される方法400が実装される場合でも、利用可能なメモリビンの数に応じて、深度センサ100は、表1-4に説明される深度感知モードの全てをもたらすために、依然として、周期的に再プログラムされる必要があるであろうことがあり得る。すでに議論されたように、それは、時間ペナルティをもたらし得、望ましくない。この問題は、深度センサに追加のメモリビンを提供することによって、軽減され得る。しかしながら、そのようにすることは、深度センサのサイズおよびコストを増加させるであろう。しかし、メモリビンの数が所望の深度感知モードの全てのための動作一連に適応するために不十分であり得るときでも、深度センサ100の効率をさらに改良するために使用され得る、図6-8に図示される別の技法が存在する。この技法は、共通ステップが、必ずしも、2回以上、深度センサ100の中にプログラムされる必要がないように、異なる深度感知モードがいくつかの動作ステップを共通して有し得るという事実を活用する。
【0062】
図6は、深度センサ100を複数の深度感知モードで効率的に動作させるための改良された方法600の別の例を図示する。方法600は、図3に示される同一深度感知システム300と、図5の状態略図500に示される同じ動作状態とを使用して、行われることができる。方法600は、深度センサ100を構成するためのコマンドを用いて、ブロック610から開始する。再び、このタイプのコマンドは、例えば、深度感知システム300の始動またはリセット時に発行され得る。いくつかの実施形態では、図6に示される改良された方法600は、深度センサ100の構成が、動作の各セッション中、1回のみ実施されることを可能にする。例えば、いくつかの実施形態では、最初にプログラムされた後、深度センサ100は、ホストが深度センサをリセットモードに設置するまで、または深度センサが再起動されるまで、再びプログラムされる必要がないこともある。
【0063】
ブロック620では、深度感知システム300は、2つ以上の深度感知モード間で共通する動作ステップを深度センサのメモリビンの中にロードすることによって、深度センサ100の構成を開始する。これらの共通動作ステップは、2つ以上の動作モードにおいて同一のものである。例えば、強度サブフレームおよび4つの位相サブフレームを捕捉するためのステップ(および関連付けられた設定)は、高フレームレート短距離深度測定と低フレームレート短距離深度測定との両方に対して同じである。表1および2を参照すると、これらの共通動作ステップは、ステップ0-4に対応する。同様に、強度サブフレームおよび8つの位相サブフレームを捕捉するためのステップ(および関連付けられた設定)は、高フレームレート長距離深度測定と低フレームレート長距離深度測定との両方に対して同じである。表3および4を参照すると、これらの共通動作ステップは、ステップ0-8に対応する。
【0064】
ブロック630では、深度感知システム300は、1つ以上のダミー動作ステップをメモリビンの中にロードすることによって、深度センサ100の構成を継続する。いくつかの実施形態では、ダミー動作ステップは、2つ以上の動作モード間の差異に関するものである。1つ以上のダミー動作ステップを2つの動作モードに対する一連の共通動作ステップと一緒に実行することによって、動作モードのうちの一方が、他方に効果的に変換されることができる。
【0065】
例えば、本明細書ですでに議論されたように、高フレームレート短距離深度感知モード(すなわち、表1)と低フレームレート短距離深度感知モード(すなわち、表2)との間の差異は、それぞれのフレーム周期間の差異、言い換えると、サブフレーム捕捉一連を繰り返す前に導入される遅延の量間の差異に関する。高フレームレート短距離深度測定の場合、比較的に短い遅延(または無遅延)が、使用される。低フレームレート短距離深度測定の場合、比較的に長い遅延が、フレームレートを低減させる(対応して、フレーム周期を増加させる)ように導入される。したがって、この対の深度測定(すなわち、高フレームレート短距離深度測定および低フレームレート短距離深度測定)に関して、ダミー動作ステップは、低フレームレート測定の比較的に長い遅延と高フレームレート測定の比較的に短い随意の遅延との間の差異を表す遅延として定義されることができる。言い換えると、この対の深度感知モードのためのダミー動作ステップは、表2のステップ5における比較的に長い遅延と表1のステップ5における比較的に短い随意の遅延との間の差異と等しい遅延であることができる。同様に、高フレームレート長距離測定と低フレームレート長距離測定とのためのダミー動作ステップは、表4のステップ5における比較的に長い遅延と表3のステップ5における比較的に短い随意の遅延との間の差異と等しい遅延であることができる。
【0066】
図7は、複数の深度感知モードのための共通動作ステップとダミー動作ステップとを示す例示的表700である。この例示的表700では、ステップ0は、対の長距離深度測定のためのダミー動作ステップである。このダミー動作ステップは、高フレームレート長距離測定モードを実行するために実施される一連の動作に追加されると、その一連の動作を低フレームレート長距離測定モードに変換する遅延である。このダミー動作ステップは、深度センサ100の第1のメモリビン内に記憶されることができる。
【0067】
一方、表700内のステップ1からステップmは、高フレームレート長距離測定モードと低フレームレート長距離測定モードとの間の共通動作ステップである。本明細書で議論される例示的TOFカメラに対して、長距離深度測定は、9つの総サブフレーム(1つの強度サブフレームおよび8つの位相サブフレーム)を要求する。したがって、表700内のインデックスmは、9と等しいであろう。故に、ステップ1-9は、長距離動作モードのための強度サブフレームおよび8つの位相サブフレームを捕捉するために使用されるであろう。これらの動作ステップは、ステップ0におけるダミー動作後、深度センサ100の次の9つのメモリビン内に記憶されることができる。次のステップは、眼安全性ダミー動作ステップであり、それは、表700内のステップm+1に提供される。このダミー動作ステップは、図9に関して議論される。
【0068】
図7における表700は、高フレームレート短距離測定モードと低フレームレート短距離測定モードとの間の共通動作ステップも示す。これらの共通動作は、ステップm+2からステップm+n+1によって、表700内に表される。本明細書で議論される例示的TOFカメラに対して、短距離測定は、5つの総サブフレーム(1つの強度サブフレームおよび4つの位相サブフレーム)を要求する。したがって、表700内のインデックスnは、5と等しいであろう(すぐ上で議論されたように、インデックスmは、9と等しいであろう)。故に、ステップ11-15は、短距離動作モードのための強度サブフレームおよび4つの位相サブフレームを捕捉するために使用されるであろう。これらの動作ステップは、深度センサ100の次の5つのメモリビン内に記憶されることができる。
【0069】
一方、表700内のステップm+n+2は、対の短距離深度測定のためのダミー動作ステップである。このダミー動作ステップは、高フレームレート短距離測定モードを実行するために実施される一連の動作に追加されると、その一連の動作を低フレームレート短距離測定モードに変換する遅延である。このダミー動作ステップは、深度センサ100の次のメモリビン内に記憶されることができる。
【0070】
図8に関してさらに議論されるように、表700内の動作ステップの種々の組み合わせは、種々の深度感知動作モードを達成するように、図示される順序で実行されることができる。
【0071】
深度センサ100が、ブロック610-630に従って、共通動作ステップおよびダミー動作ステップを用いてプログラムされた後、図6に示される方法600は、ブロック640において、深度情報の収集を開始するためのコマンドを用いて継続する。ブロック650では、深度感知システム300が、深度感知動作モードを規定する。これは、例えば、規定された深度感知動作モードを行うように実行するための図7における表700に示される動作ステップを規定することによって行われることができる。これは、図8に関して議論される。
【0072】
図8は、図7の共通動作ステップおよびダミー動作ステップが複数の深度感知モードで効率的に動作するために使用され得る方法を図示する、例示的表800である。図8に示されるように、高フレームレート長距離深度感知モード(表3に示されるように)は、図7に示される表700内のステップ1からステップmを実行することによって、行われることができる。これらのステップを実行することによって、深度センサ100は、ステップ1からステップm中、長距離強度サブフレームおよび8つの長距離位相サブフレームを収集するであろう。一方、深度感知システム300が、代わりに、低フレームレート長距離深度測定(表4に示されるように)を呼び出す場合、この動作モードは、代わりに、ステップ0からステップmを実行することによって遂行されることができる。ステップ0におけるダミーフレームは、高フレームレート長距離測定と低フレームレート長距離測定との間の差異を表すので、ステップ1からステップmに加え、そのステップを実行することは、動作モードを高フレームレート長距離測定モードから低フレームレート長距離測定モードに効果的に変換する。ステップ0におけるダミー動作は、ステップ1からステップm中、サブフレームの収集前に実行されるように表700に示されるが、他の実施形態では、サブフレームの収集後に実施され得、2つのサブフレームの収集の合間にさえも実施され得る。
【0073】
図8は、高フレームレート短距離測定深度感知モード(表1に示されるように)が、図7に示される表700内のステップm+2からステップm+n+1を実行することによって遂行されることができることも示す。これらのステップを実行することによって、深度センサ100は、短距離強度サブフレームおよび4つの短距離位相サブフレームを収集するであろう。一方、システムが、代わりに、低フレームレート短距離深度測定(表2に示されるように)を呼び出す場合、この動作モードは、代わりに、ステップm+2からステップm+n+2を実行することによって行われることができる。ステップm+n+2におけるダミーフレームは、高フレームレート短距離測定と低フレームレート短距離測定との間の差異を表すので、ステップm+2からステップm+n+1に加え、そのステップを実行することは、動作モードを高フレームレート短距離測定モードから低フレームレート短距離測定モードに効果的に変換する。
【0074】
図8における表800は、高ダイナミックレンジ深度感知モードも示し、それは、インターリーブされた低フレームレート短および長距離測定から成る。この深度感知モードは、図9に関して議論される。
【0075】
深度感知システム300が、ブロック650において、深度感知動作モードを規定した後、図6に示される方法600は、ブロック660またはブロック670に進む。深度センサ100は、ブロック660に示されるように、共通動作ステップのあるグループを実行することによって、第1の深度感知モードで動作することができる。共通動作ステップのグループは、例えば、図7に示される表700内のステップ1からステップmであり得る。これは、高フレームレート長距離深度感知モードにおける動作に対応するであろう。または、ブロック660において実行される共通動作ステップのグループは、図7に示される表700内のステップm+2からステップm+n+1であり得る。これは、高フレームレート短距離深度感知モードにおける動作に対応するであろう。
【0076】
代替として、深度センサ100は、ブロック670に示されるように、共通動作ステップのグループおよび1つ以上のダミー動作ステップを実行することによって、第2の深度感知モードで動作することができる。共通動作ステップのグループは、例えば、図7に示される表700内のステップ1からステップmであり得、ダミー動作ステップは、ステップ0であり得る。これは、低フレームレート長距離深度感知モードにおける動作に対応するであろう。または、ブロック660において実行される共通動作ステップのグループは、図7に示される表700内のステップm+2からステップm+n+1であり得、ダミー動作ステップは、ステップm+n+2であり得る。これは、低フレームレート短距離深度感知モードにおける動作に対応するであろう。
【0077】
深度感知システム300が、ブロック650からブロック660またはブロック670に進むかどうかにかかわらず、深度センサ100は、規定された深度感知モードにある間、深度情報の1つ以上のフレームを捕捉する。測定が完了すると、方法600は、ブロック650に戻り、深度感知動作モードは、再び、規定されることができる。
【0078】
図6に示される動作の方法600は、要求される深度感知動作モードの変更に応答して、深度センサ100をプログラムするために費やされる時間量を低減させることによって、深度感知効率を改良することができるので、有利である。方法600に従って、深度センサは、メモリビンを再プログラムするために要求される時間ペナルティを被らずに、複数の深度感知モード間で交互することができる。それは、従来の技法を使用して要求されるであろうものよりはるかに少ないメモリビンを深度センサ100内で使用して遂行されることができる。故に、深度情報の収集の効率および速度は、増加されることができる。加えて、より少ないメモリビンを伴うより低いコスト深度センサが、使用されることができる。
【0079】
図9は、高ダイナミックレンジ(HDR)深度感知モードで動作するための例示的タイミング図である。HDR深度感知モードは、一緒にインターリーブされた長距離および短距離測定から成る。表5は、HDR深度感知モードのための例示的一連の動作を図示する。いくつかの実施形態では、HDR深度測定のためのフレームレートは、5Hzである。HDR深度測定のための周期は、図9では、Tfpsとして標識される。このHDR深度感知モードは、図6の方法および図7に示される深度センサメモリビンプログラミングスキームを使用して、行われることができる。
【0080】
HDR深度感知一連は、ステップ0から開始し、長距離強度サブフレームが、捕捉される。次いで、ステップ1-4中、深度センサ100は、第1の変調周波数を使用して、4つの位相サブフレームを捕捉する。図9に示されるように、各位相サブフレームは、TLR-intの露光時間、すなわち、積分時間を有する。これらの露光の各々の後、捕捉された画像データをセンサから転送するための読み取り時間Treadoutが続く。次いで、ステップ5-8では、深度センサ100は、第2の変調周波数を使用して、4つの位相サブフレームを捕捉する。
【表5】
【0081】
長距離測定の後、ステップ9において、眼安全性遅延が続き、それは、図9では、Teye_safe_dummyとして標識される。この遅延は、深度センサの光源が測定の途中で遮断されないように、深度センサ100内の眼安全性回路をトリガすることを防止することができる。この遅延は、ダミー動作ステップの別の例であり、下でさらに議論される。図9に示されるように、遅延を構成するダミー動作ステップが、いくつかの実施形態では、強度サブフレーム(露光期間および読み取り期間を含む)として実装され、その後、アイドル期間が続き得る。ダミー動作ステップ中に捕捉された強度サブフレームは、典型的には、深度を計算するために使用されない。
【0082】
次に、表5におけるステップ10では、深度センサは、短距離強度サブフレームを捕捉する。この後、ステップ11-14において、4つの位相サブフレームが続く。図9に示されるように、これらのサブフレームの各々は、TSR_intの露光時間を有した後、読み取り期間が続く。ステップ10-14中に行われた短距離測定の後、ステップ15における随意の遅延が続くことができる。
【0083】
表5および図9に示されるHDR深度感知モードは、多くの動作ステップを有し、それは、本明細書で議論された他の深度感知モードと共通である。例えば、表5におけるステップ0-8は、高フレームレート長距離深度測定によって使用されるそれらと同一である。故に、HDR深度感知モードのこの部分は、図7に示されるプログラミングスキーム700におけるステップ1からステップmを実行することによって実装されることができる。同様に、表5におけるステップ10-14は、高フレームレート短距離深度測定によって使用されるものと同一である。したがって、それらは、図7に示されるプログラミングスキーム700におけるステップm+2からステップm+n+1を実行することによって実装されることができる。
【0084】
高フレームレート長距離モードおよび高フレームレート短距離モードと比較したHDR深度感知モード間の差異は、表5のステップ9における眼安全性期間およびステップ15における随意の遅延である。これらの差異は、本明細書に議論されるように、適切なダミー動作フレームによって実装されることができる。例えば、眼安全性期間は、図7に示されるプログラミングスキーム700におけるステップm+1に示される眼安全性ダミー動作ステップによって実装されることができる。表5のステップ15における随意の遅延は、図7に示されるプログラミングスキーム700のステップm+n+2におけるダミー動作を使用して実装されることができる。
【0085】
図8に示されるように、完全HDR深度感知モード(インターリーブされた長距離および短距離深度測定)は、図7に示されるプログラミングスキーム700のステップ1からステップm+n+2を実行することによって実装されることができるということになる。表5のHDR深度感知モードは、したがって、追加のモードが図7に示される共通およびダミー動作ステップから実装され得る方法の例である。
【0086】
前述の開示は、VR/AR/MRシステムにおいて使用するための種々の効率的深度感知技法を説明する。これらの技法は、深度センサに関して具体的に議論されるが、同一技法はまた、他のタイプのセンサに適用されることができ、深度センサに厳密に限定されない。
(例示的実施形態)
【0087】
いくつかの実施形態では、方法は、センサに、第1の動作モードを定義する第1の一連の動作ステップと第2の動作モードを定義する第2の一連の動作ステップとの両方に含まれる一連の共通動作ステップを提供することと、センサに、第1の動作モードと第2の動作モードとの間の差異に関する1つ以上のダミー動作ステップを提供することと、センサに少なくとも共通動作ステップを実行させることによって、センサを第1の動作モードで動作させることと、センサに共通動作ステップと少なくとも1つのダミー動作ステップとを実行させることによって、センサを第2の動作モードで動作させることとを含む。
【0088】
これらの実施形態のいずれかによると、第1の動作モードは、少なくとも共通動作ステップを第1のレートで実行することを含むことができ、第2の動作モードは、共通動作ステップと少なくとも1つのダミー動作ステップとを第1のレートより低速である第2のレートで実施することを含むことができる。
【0089】
これらの実施形態のいずれかによると、1つ以上のダミー動作ステップのうちの少なくとも1つは、遅延を含むことができる。
【0090】
これらの実施形態のいずれかによると、センサに、一連の共通動作ステップおよび1つ以上のダミー動作ステップを提供することは、それらの動作ステップをセンサメモリに記憶することを含むことができる。
【0091】
これらの実施形態のいずれかによると、センサを第1の動作モードと第2の動作モードとの間で切り替えることは、動作ステップをセンサメモリに記憶するための任意の追加の行為を要求しないこともある。
【0092】
これらの実施形態のいずれかによると、センサは、深度センサを備えていることができる。
【0093】
これらの実施形態のいずれかによると、深度センサは、飛行時間カメラを備えていることができる。
【0094】
これらの実施形態のいずれかによると、第1の動作モードは、第1のフレームレートを伴う深度感知モードを含むことができ、第2の動作モードは、第1のフレームレートより低速である第2のフレームレートを伴う深度感知モードを含むことができる。
【0095】
これらの実施形態のいずれかによると、方法は、深度情報を深度センサから仮想現実、拡張現実、または複合現実ディスプレイシステムに提供することをさらに含むことができる。
【0096】
いくつかの実施形態では、システムは、センサに、第1の動作モードを定義する第1の一連の動作ステップと第2の動作モードを定義する第2の一連の動作ステップとの両方に含まれる一連の共通動作ステップを提供することと、センサに、第1の動作モードと第2の動作モードとの間の差異に関する1つ以上のダミー動作ステップを提供することと、センサに少なくとも共通動作ステップを実行させることによって、センサを第1の動作モードで動作させることと、センサに共通動作ステップと少なくとも1つのダミー動作ステップとを実行させることによって、センサを第2の動作モードで動作させることとを含む方法を実行するように構成されたプロセッサを備えている。
【0097】
これらの実施形態のいずれかによると、第1の動作モードは、少なくとも共通動作ステップを第1のレートで実行することを含むことができ、第2の動作モードは、共通動作ステップと少なくとも1つのダミー動作ステップとを第1のレートより低速である第2のレートで実施することを含むことができる。
【0098】
これらの実施形態のいずれかによると、1つ以上のダミー動作ステップのうちの少なくとも1つは、遅延を含むことができる。
【0099】
これらの実施形態のいずれかによると、センサに、一連の共通動作ステップおよび1つ以上のダミー動作ステップを提供することは、それらの動作ステップをセンサメモリに記憶することを含むことができる。
【0100】
これらの実施形態のいずれかによると、センサを第1の動作モードと第2の動作モードとの間で切り替えることは、動作ステップをセンサメモリに記憶するための任意の追加の行為を要求しないこともある。
【0101】
これらの実施形態のいずれかによると、センサは、深度センサを備えていることができる。
【0102】
これらの実施形態のいずれかによると、深度センサは、飛行時間カメラを備えていることができる。
【0103】
これらの実施形態のいずれかによると、第1の動作モードは、第1のフレームレートを伴う深度感知モードを含むことができ、第2の動作モードは、第1のフレームレートより低速である第2のフレームレートを伴う深度感知モードを含むことができる。
【0104】
これらの実施形態のいずれかによると、システムは、仮想現実、拡張現実、または複合現実ディスプレイシステム内に統合されることができる。
【0105】
これらの実施形態のいずれかによると、プロセッサは、状態機械を備えていることができる。
【0106】
これらの実施形態のいずれかによると、システムは、センサを第1のモードまたは第2のモードで動作させるための要求を受信するためのアービタをさらに備えていることができ、アービタは、要求をスケジューリングおよび優先順位付けするように構成されることができる。
【0107】
これらの実施形態のいずれかによると、システムは、センサをさらに備えていることができる。
【0108】
いくつかの実施形態では、方法は、第1のタイプの深度測定のための第1の要求を受信することと、第2のタイプの深度測定のための第2の要求を受信することと、第1の優先順位を第1の要求に割り当てることと、第2の優先順位を第2の要求に割り当てることと、第1の優先順位が第2の優先順位より高い場合、深度センサに、最初に、第1のタイプの深度測定を取得させること、または第2の優先順位が第1の優先順位より高い場合、深度センサに、最初に、第2のタイプの深度測定を取得させることとを含む。
【0109】
これらの実施形態のいずれかによると、第1の優先順位は、第1のタイプの深度測定を要求する第1のアプリケーションの優先順位に基づいて割り当てられることができ、第2の優先順位は、第2のタイプの深度測定を要求する第2のアプリケーションの優先順位に基づいて割り当てられることができる。
【0110】
いくつかの実施形態では、システムは、第1のタイプの深度測定のための第1の要求と、第2のタイプの深度測定のための第2の要求とを受信するように構成されているアービタであって、アービタは、第1の優先順位を第1の要求に、第2の優先順位を第2の要求に割り当てるように構成されている、アービタと、第1の優先順位が第2の優先順位より高い場合、深度センサに、最初に、第1のタイプの深度測定を取得させること、または、第2の優先順位が第1の優先順位より高い場合、深度センサに、最初に、第2のタイプの深度測定を取得させることを行うように構成されているプロセッサとを備えている。
【0111】
これらの実施形態のいずれかによると、アービタは、第1のタイプの深度測定を要求する第1のアプリケーションの優先順位に基づいて、第1の優先順位を割り当て、第2のタイプの深度測定を要求する第2のアプリケーションの優先順位に基づいて、第2の優先順位を割り当てるように構成されることができる。
【0112】
これらの実施形態のいずれかによると、システムは、仮想、拡張、または複合現実ディスプレイシステム内に統合されることができる。
【0113】
いくつかの実施形態では、方法は、深度センサのための構成動作を実施することであって、構成動作は、第1の深度感知動作モードを定義する第1の一連の動作ステップを深度センサのメモリに記憶することと、第2の深度感知動作モードを定義する第2の一連の動作ステップを深度センサのメモリに記憶することとを含む、ことと、第1の深度感知動作モードに従った深度測定のための第1の要求を受信することと、第1の要求に応答して、深度センサに第1の一連の動作ステップを実行させることによって、深度センサを第1の動作モードで動作させることと、第2の深度感知動作モードに従った深度測定のための第2の要求を受信することと、第2の要求に応答して、追加の構成動作を実施することなく、深度センサに第2の一連の動作ステップを実行させることによって、深度センサを第2の動作モードで動作させることとを含む。
【0114】
これらの実施形態のいずれかによると、深度センサは、飛行時間カメラを備えていることができる。
【0115】
これらの実施形態のいずれかによると、第1の深度感知動作モードは、第1の測定距離範囲に対応することができ、第2の深度感知動作モードは、第1の測定距離範囲と異なる第2の測定距離範囲に対応することができる。
【0116】
これらの実施形態のいずれかによると、第1の深度感知動作モードは、第1のフレームレートに対応することができ、第2の深度感知動作モードは、第1のフレームレートより低速である第2のフレームレートに対応することができる。
【0117】
これらの実施形態のいずれかによると、方法は、深度情報を深度センサから仮想現実、拡張現実、または複合現実ディスプレイシステムに提供することをさらに含むことができる。
【0118】
いくつかの実施形態では、システムは、深度センサのための構成動作を実施することであって、構成動作は、第1の深度感知動作モードを定義する第1の一連の動作ステップを深度センサのメモリに記憶することと、第2の深度感知動作モードを定義する第2の一連の動作ステップを深度センサのメモリに記憶することとを含む、ことと、第1の深度感知動作モードに従った深度測定のための第1の要求を受信することと、第1の要求に応答して、深度センサに第1の一連の動作ステップを実行させることによって、深度センサを第1の動作モードで動作させることと、第2の深度感知動作モードに従った深度測定のための第2の要求を受信することと、第2の要求に応答して、追加の構成動作を実施することなく深度センサに第2の一連の動作ステップを実行させることによって、深度センサを第2の動作モードで動作させることとを含む方法を実行するように構成されたプロセッサを備えている。
【0119】
これらの実施形態のいずれかによると、深度センサは、飛行時間カメラを備えていることができる。
【0120】
これらの実施形態のいずれかによると、第1の深度感知動作モードは、第1の測定距離範囲に対応することができ、第2の深度感知動作モードは、第1の測定距離範囲と異なる第2の測定距離範囲に対応することができる。
【0121】
これらの実施形態のいずれかによると、第1の深度感知動作モードは、第1のフレームレートに対応することができ、第2の深度感知動作モードは、第1のフレームレートより低速である第2のフレームレートに対応することができる。
【0122】
これらの実施形態のいずれかによると、システムは、仮想、拡張、または複合現実ディスプレイシステム内に統合されることができる。
【0123】
いくつかの実施形態では、非一過性コンピュータ読み取り可能な媒体は、コンピューティングデバイスによって読み取られると、センサに、第1の動作モードを定義する第1の一連の動作ステップと第2の動作モードを定義する第2の一連の動作ステップとの両方に含まれる一連の共通動作ステップを提供することと、センサに、第1の動作モードと第2の動作モードとの間の差異に関する1つ以上のダミー動作ステップを提供することと、センサに少なくとも共通動作ステップを実行させることによって、センサを第1の動作モードで動作させることと、センサに共通動作ステップと少なくとも1つのダミー動作ステップとを実行させることによって、センサを第2の動作モードで動作させることとを含む方法をコンピューティングデバイスに実施させるコードを備えている。
【0124】
これらの実施形態のいずれかによると、第1の動作モードは、少なくとも共通動作ステップを第1のレートで実行することを含むことができ、第2の動作モードは、共通動作ステップと少なくとも1つのダミー動作ステップとを第1のレートより低速である第2のレートで実施することを含むことができる。
【0125】
これらの実施形態のいずれかによると、1つ以上のダミー動作ステップのうちの少なくとも1つは、遅延を含むことができる。
【0126】
これらの実施形態のいずれかによると、センサに、一連の共通動作ステップおよび1つ以上のダミー動作ステップを提供することは、それらの動作ステップをセンサメモリに記憶することを含むことができる。
【0127】
これらの実施形態のいずれかによると、センサを第1の動作モードと第2の動作モードとの間で切り替えることは、動作ステップをセンサメモリに記憶するための任意の追加の行為を要求しないこともある。
【0128】
これらの実施形態のいずれかによると、センサは、深度センサを備えていることができる。
【0129】
これらの実施形態のいずれかによると、深度センサは、飛行時間カメラを備えていることができる。
【0130】
これらの実施形態のいずれかによると、第1の動作モードは、第1のフレームレートを伴う深度感知モードを含むことができ、第2の動作モードは、第1のフレームレートより低速である第2のフレームレートを伴う深度感知モードを含むことができる。
【0131】
これらの実施形態のいずれかによると、コンピュータ読み取り可能な媒体は、コンピューティングデバイスに、深度情報を深度センサから仮想現実、拡張現実、または複合現実ディスプレイシステムに提供させるコードをさらに備えていることができる。
【0132】
いくつかの実施形態では、非一過性コンピュータ読み取り可能な媒体は、コンピューティングデバイスによって読み取られると、第1のタイプの深度測定のための第1の要求を受信することと、第2のタイプの深度測定のための第2の要求を受信することと、第1の優先順位を第1の要求に割り当てることと、第2の優先順位を第2の要求に割り当てることと、第1の優先順位が第2の優先順位より高い場合、深度センサに、最初に、第1のタイプの深度測定を取得させること、または第2の優先順位が第1の優先順位より高い場合、深度センサに、最初に、第2のタイプの深度測定を取得させることを含む方法をコンピューティングデバイスに実施させるコードを備えている。
【0133】
これらの実施形態のいずれかによると、第1の優先順位は、第1のタイプの深度測定を要求する第1のアプリケーションの優先順位に基づいて割り当てられることができ、第2の優先順位は、第2のタイプの深度測定を要求する第2のアプリケーションの優先順位に基づいて割り当てられることができる。
【0134】
いくつかの実施形態では、非一過性コンピュータ読み取り可能な媒体は、コードを備え、コードは、コンピューティングデバイスによって読み取られると、コンピューティングデバイスに深度センサを動作させる方法を実施させ、方法は、深度センサのための構成動作を実施することであって、構成動作は、第1の深度感知動作モードを定義する第1の一連の動作ステップを深度センサのメモリに記憶することと、第2の深度感知動作モードを定義する第2の一連の動作ステップを深度センサのメモリに記憶することとを含む、ことと、第1の深度感知動作モードに従った深度測定のための第1の要求を受信することと、第1の要求に応答して、深度センサに第1の一連の動作ステップを実行させることによって、深度センサを第1の動作モードで動作させることと、第2の深度感知動作モードに従った深度測定のための第2の要求を受信することと、第2の要求に応答して、追加の構成動作を実施することなく、深度センサに第2の一連の動作ステップを実行させることによって、深度センサを第2の動作モードで動作させることとを含む。
【0135】
これらの実施形態のいずれかによると、深度センサは、飛行時間カメラを備えていることができる。
【0136】
これらの実施形態のいずれかによると、第1の深度感知動作モードは、第1の測定距離範囲に対応することができ、第2の深度感知動作モードは、第1の測定距離範囲と異なる第2の測定距離範囲に対応することができる。
【0137】
これらの実施形態のいずれかによると、第1の深度感知動作モードは、第1のフレームレートに対応することができ、第2の深度感知動作モードは、第1のフレームレートより低速である第2のフレームレートに対応することができる。
【0138】
これらの実施形態のいずれかによると、コンピュータ読み取り可能な媒体は、コンピューティングデバイスに、深度情報を深度センサから仮想現実、拡張現実、または複合現実ディスプレイシステムに提供させるコードをさらに備えていることができる。
(追加の考慮点)
【0139】
本開示を要約する目的のために、本発明のある側面、利点、および特徴が、本明細書に説明されている。必ずしも全てのそのような利点が、本発明の任意の特定の実施形態に従って達成され得るわけではないことを理解されたい。したがって、本発明は、本明細書で教示または提案され得るような他の利点を必ずしも達成することなく、本明細書で教示されるような1つの利点もしくは利点群を達成または最適化する様式で、具現化もしくは実施され得る。
【0140】
実施形態は、付随の図面に関連して説明されている。しかしながら、図が一定の縮尺で描かれていないことを理解されたい。距離、角度等は、例証的にすぎず、必ずしも図示されるデバイスの実際の寸法およびレイアウトと正確な関係をもつわけではない。加えて、前述の実施形態は、当業者が本明細書に説明されるデバイス、システム、方法等を作製して使用することを可能にする詳細のレベルで説明されている。多種多様な変形例が、可能である。構成要素、要素、および/またはステップは、改変、追加、除去、もしくは再編成され得る。
【0141】
本明細書に説明されるデバイスおよび方法は、有利なこととして、例えば、コンピュータソフトウェア、ハードウェア、ファームウェア、またはソフトウェア、ハードウェア、およびファームウェアの任意の組み合わせを使用して、少なくとも部分的に実装されることができる。ソフトウェアモジュールは、本明細書に説明される機能を果たすために、コンピュータのメモリの中に記憶されたコンピュータ実行可能コードを備えていることができる。いくつかの実施形態では、コンピュータ実行可能コードは、1つ以上の汎用コンピュータによって実行される。しかしながら、当業者は、本開示に照らして、汎用コンピュータ上で実行されるソフトウェアを使用して実装され得る任意のモジュールも、ハードウェア、ソフトウェア、またはファームウェアの異なる組み合わせを使用して実装され得ることを理解するであろう。例えば、そのようなモジュールは、集積回路の組み合わせを使用して、完全にハードウェアで実装されることができる。代替として、または加えて、そのようなモジュールは、汎用コンピュータによってではなく、本明細書に説明される特定の機能を果たすように設計される特殊化コンピュータを使用して、完全もしくは部分的に実装されることができる。加えて、少なくとも部分的にコンピュータソフトウェアによって実施される場合、またはされ得る方法が説明される場合、そのような方法は、コンピュータもしくは他の処理デバイスによって読み取られたときに方法を実施させる非一過性のコンピュータ読み取り可能な媒体(例えば、CDもしくはDVD等の光ディスク、ハードディスクドライブ、フラッシュメモリ、ディスケット等)上に提供され得ることを理解されたい。
【0142】
ある実施形態が明示的に説明されているが、他の実施形態も、本開示に基づいて当業者に明白となるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】