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

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

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

特許7186913姿勢および複数のDOFコントローラを用いた3D仮想オブジェクトとの相互作用
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-01
(45)【発行日】2022-12-09
(54)【発明の名称】姿勢および複数のDOFコントローラを用いた3D仮想オブジェクトとの相互作用
(51)【国際特許分類】
   G06F 3/04815 20220101AFI20221202BHJP
   G06F 3/01 20060101ALI20221202BHJP
   G06T 19/00 20110101ALI20221202BHJP
   H04N 13/344 20180101ALI20221202BHJP
   H04N 13/383 20180101ALI20221202BHJP
   H04N 13/395 20180101ALI20221202BHJP
   G02B 27/02 20060101ALI20221202BHJP
   G09G 5/00 20060101ALI20221202BHJP
   G09G 5/36 20060101ALI20221202BHJP
   G09G 5/38 20060101ALI20221202BHJP
   G09G 5/14 20060101ALI20221202BHJP
   G09G 5/377 20060101ALI20221202BHJP
【FI】
G06F3/04815
G06F3/01 510
G06T19/00 600
H04N13/344
H04N13/383
H04N13/395
G02B27/02 Z
G09G5/00 510A
G09G5/36 510V
G09G5/36 520P
G09G5/00 550C
G09G5/00 555D
G09G5/00 510H
G09G5/38 A
G09G5/00 530M
G09G5/14 A
G09G5/36 520L
G09G5/36 530Y
【請求項の数】 23
【外国語出願】
(21)【出願番号】P 2022128859
(22)【出願日】2022-08-12
(62)【分割の表示】P 2021083134の分割
【原出願日】2017-03-29
(65)【公開番号】P2022159417
(43)【公開日】2022-10-17
【審査請求日】2022-08-12
(31)【優先権主張番号】62/316,030
(32)【優先日】2016-03-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/325,679
(32)【優先日】2016-04-21
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】フランク ハミルトン
(72)【発明者】
【氏名】マーシャル エー. フォンテイン
(72)【発明者】
【氏名】ポール アーミステッド フーバー
【審査官】星野 裕
(56)【参考文献】
【文献】米国特許出願公開第2020/0013236(US,A1)
【文献】特表2017-526030(JP,A)
【文献】特表2001-522498(JP,A)
【文献】特開2002-170131(JP,A)
【文献】米国特許出願公開第2015/0061992(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048
G06F 3/01
G06T 19/00
H04N 13/344
H04N 13/383
H04N 13/395
G02B 27/02
G09G 5/00
G09G 5/36
G09G 5/38
G09G 5/14
G09G 5/377
(57)【特許請求の範囲】
【請求項1】
システムであって、前記システムは、
ウェアラブルデバイスのディスプレイシステムであって、前記ウェアラブルデバイスは、3次元(3D)ビューをユーザに提示することと、ユーザの動眼視野(FOR)内のオブジェクトとのユーザ相互作用を可能にするように構成されており、前記FORは、前記ディスプレイシステムを介して前記ユーザによって知覚可能な前記ユーザの周囲の環境の一部を含む、ディスプレイシステムと、
前記ユーザの姿勢に関連付けられているデータを入手するように構成されているセンサと、
前記センサおよび前記ディスプレイシステムと通信するハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
円錐投射を開始することであって、前記円錐投射は、動的に調整可能な開口を伴う仮想円錐の投射を含む、ことと、
前記環境内の1つ以上のコンテキスト特徴を識別することと、
前記1つ以上のコンテキスト特徴に少なくとも部分的に基づいて、前記仮想円錐の前記開口を動的にサイズ変更することと、
前記ユーザの姿勢に関連付けられているデータに基づいて、前記仮想円錐を移動させることと、
前記仮想円錐と前記環境内の1つ以上のオブジェクトとの間の衝突を走査することと、
前記衝突に応答して、衝突されたオブジェクトを識別することと、
前記衝突されたオブジェクトに関連付けられているユーザ相互作用を実行することと
を行うようにプログラムされている、システム。
【請求項2】
前記コンテキスト特徴は、前記ユーザの視野(FOV)内のオブジェクトのタイプ、レイアウト、場所、サイズ、距離、または、密度のうちの少なくとも1つを含み、前記FOVは、前記ディスプレイシステムを介して前記ユーザによって所与の時間に知覚可能な前記FORの一部を含む、請求項1に記載のシステム。
【請求項3】
前記ユーザの前記FOV内の前記オブジェクトの密度を計算するために、前記ハードウェアプロセッサは、
前記FOV内のオブジェクトの数を計算すること、
前記オブジェクトによって被覆されている前記FOVの一部を計算すること、または、
前記オブジェクトに関する等高線マップを計算すること
を行うようにプログラムされている、請求項2に記載のシステム。
【請求項4】
前記コンテキスト特徴は、ユーザの選好、ユーザに関連付けられている物理的条件、または、前記環境に関連付けられている情報のうちの少なくとも1つを含む、請求項1に記載のシステム。
【請求項5】
前記仮想円錐の前記開口を動的にサイズ変更するために、前記ハードウェアプロセッサは、最小サイズと最大サイズとの間で前記開口をサイズ変更するようにプログラムされている、請求項1に記載のシステム。
【請求項6】
前記最小サイズは、ゼロである、請求項5に記載のシステム。
【請求項7】
前記ハードウェアプロセッサは、前記仮想円錐の可視化をレンダリングするようにさらにプログラムされている、請求項1に記載のシステム。
【請求項8】
前記ハードウェアプロセッサは、前記衝突されたオブジェクトに関連付けられている焦点インジケータをレンダリングするようにさらにプログラムされている、請求項1に記載のシステム。
【請求項9】
前記衝突されたオブジェクトを識別するために、前記ハードウェアプロセッサは、前記衝突されたオブジェクトが前記仮想円錐の仮想表面と交差することを決定する、または、前記衝突されたオブジェクトが前記仮想円錐内にあることを決定するようにプログラムされている、請求項1に記載のシステム。
【請求項10】
前記衝突されたオブジェクトは、複数の衝突されたオブジェクトを含み、前記ハードウェアプロセッサは、遮蔽曖昧性解消技法を前記複数の衝突されたオブジェクトに適用することにより、遮蔽されたオブジェクトを識別する、または、遮蔽されたオブジェクト間の深度順序または位置を判定するようにプログラムされている、請求項1に記載のシステム。
【請求項11】
前記衝突されたオブジェクトは、複数の衝突されたオブジェクトを含み、前記ハードウェアプロセッサは、ユーザインターフェース要素を提示することにより、前記複数の衝突されたオブジェクトのうちの1つ以上を選択するようにプログラムされている、請求項1に記載のシステム。
【請求項12】
前記仮想円錐は、中心光線を備え、前記開口は、前記中心光線を横断し、前記中心光線の方向は、前記ユーザの姿勢に基づく、請求項1に記載のシステム。
【請求項13】
前記仮想円錐は、近位端を備え、前記ハードウェアプロセッサは、前記ユーザの眼間の場所、ユーザの腕の一部上の場所、または、ユーザ入力デバイス上の場所のうちの少なくとも1つの場所に前記近位端をアンカリングするようにプログラムされている、請求項1に記載のシステム。
【請求項14】
前記仮想円錐は、遠位端を備え、前記ハードウェアプロセッサは、前記仮想円錐の遠位端内で1つ以上のオブジェクトとの衝突を走査するようにプログラムされている、請求項1に記載のシステム。
【請求項15】
前記仮想円錐は、近位端、遠位端、または、深度を備え、前記ハードウェアプロセッサは、前記コンテキスト特徴、ユーザ入力、身体ジェスチャ、身体姿勢、注視の方向、または、音声コマンドに基づいて、前記仮想円錐の前記近位端、前記遠位端、または、前記深度をアンカリングするようにプログラムされている、請求項1に記載のシステム。
【請求項16】
前記衝突されたオブジェクトとのユーザ相互作用は、
前記衝突されたオブジェクトの選択、
前記衝突されたオブジェクトの移動、
前記衝突されたオブジェクトに関連付けられているメニューまたはツールバーの表示、または、
ゲーム内の仮想アバタに対するゲーム動作
のうちの1つ以上を含む、請求項1に記載のシステム。
【請求項17】
前記ユーザの姿勢に関連付けられているデータに基づいて、前記仮想円錐を移動させるために、前記ハードウェアプロセッサは、前記ユーザの姿勢に乗数を適用するようにプログラムされている、請求項1に記載のシステム。
【請求項18】
前記乗数は、前記ユーザからの距離に伴って増加する、請求項17に記載のシステム。
【請求項19】
前記仮想円錐の前記開口を動的にサイズ変更するために、前記ハードウェアプロセッサは、前記仮想円錐の遠位端で前記開口のサイズを増加させるようにプログラムされている、請求項1に記載のシステム。
【請求項20】
前記円錐投射を開始するために、前記ハードウェアプロセッサは、前記仮想円錐の遠位端が終端閾値に到達するまで前記仮想円錐の前記遠位端を延長するようにプログラムされている、請求項1に記載のシステム。
【請求項21】
前記終端閾値は、閾値距離または前記環境の境界を含む、請求項20に記載のシステム。
【請求項22】
前記仮想円錐は、深度を有し、前記ハードウェアプロセッサは、前記仮想円錐の前記深度内の衝突を走査するようにプログラムされている、請求項1に記載のシステム。
【請求項23】
前記オブジェクトは、仮想オブジェクトを含む、請求項1に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、米国仮出願第62/316,030号、出願日2016年3月31日、発明の名称“CONE CASTING WITH DYNAMICALLY UPDATED APERTURE”および第62/325,679号、出願日2016年4月21日、発明の名称“DYNAMIC MAPPING OF USER INPUT DEVICE”に対する35 U.S.C.§119(e)のもとでの優先権の利益を主張するものであり、これらの両方は、全体が参照により本明細書中に援用される。
【0002】
本開示は、仮想現実および拡張現実イメージングおよび可視化システムに関し、より具体的には、コンテキスト情報に基づいた仮想オブジェクトとの相互作用に関する。
【背景技術】
【0003】
現代のコンピューティングおよびディスプレイ技術は、デジタル的に再現された画像またはその一部が、本物であるように見える、またはそのように知覚され得る様式でユーザに提示される、いわゆる「仮想現実」、「拡張現実」、または「複合現実」体験のためのシステムの開発を促進している。仮想現実または「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。拡張現実または「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。複合現実または「MR」は、物理的および仮想オブジェクトが、共存し、リアルタイムで相互作用する、新しい環境を生成するための実世界と仮想世界の融合に関連する。結論から述べると、ヒトの視知覚系は、非常に複雑であって、他の仮想または実世界画像要素の中で仮想画像要素の快適かつ自然のような感覚で豊かな提示を促進する、VR、AR、またはMR技術の生成は、困難である。本明細書に開示されるシステムおよび方法は、VR、AR、およびMR技術に関連する種々の課題に対処する。
【発明の概要】
【課題を解決するための手段】
【0004】
一実施形態では、ウェアラブルデバイスのためのオブジェクトと相互作用するためのシステムが、開示される。本システムは、3次元(3D)ビューをユーザに提示し、ユーザの動眼視野(FOR)内のオブジェクトとのユーザ相互作用を可能にするように構成される、ウェアラブルデバイスのディスプレイシステムを備える。FORは、ディスプレイシステムを介してユーザによって知覚可能なユーザの周囲の環境の一部を含むことができる。本システムはまた、ユーザの姿勢と関連付けられたデータを入手するように構成される、センサと、センサおよびディスプレイシステムと通信する、ハードウェアプロセッサとを備えることができる。ハードウェアプロセッサは、センサによって入手されたデータに基づいて、ユーザの姿勢を判定することと、FOR内のオブジェクトのグループ対する円錐投射を開始することであって、円錐投射は、少なくとも部分的にユーザの姿勢に基づく方向に開口を伴う仮想円錐を投射することを含む、ことと、ユーザの環境と関連付けられたコンテキスト情報を分析することと、少なくとも部分的にコンテキスト情報に基づいて、仮想円錐の開口を更新することと、円錐投射のための仮想円錐の視覚的表現をレンダリングすることとを行うようにプログラムされる。
【0005】
別の実施形態では、ウェアラブルデバイスのためのオブジェクトと相互作用するための方法が、開示される。本方法は、3次元(3D)空間内の第1の位置においてユーザに表示される標的仮想オブジェクトの選択を受信することと、標的仮想オブジェクトに関する移動のインジケーションを受信することと、標的仮想オブジェクトと関連付けられたコンテキスト情報を分析することと、少なくとも部分的にコンテキスト情報に基づいて、標的仮想オブジェクトの移動に適用されるための乗数を計算することと、標的仮想オブジェクトに関する移動量を計算することであって、移動量は、少なくとも部分的に移動のインジケーションおよび乗数に基づく、ことと、ユーザに、第2の位置において標的仮想オブジェクトを表示することであって、第2の位置は、少なくとも部分的に第1の位置および移動量に基づく、こととを含む。
【0006】
さらに別の実施形態では、ウェアラブルデバイスのためのオブジェクトと相互作用するためのシステムが、開示される。本システムは、3次元(3D)ビューをユーザに提示するように構成される、ウェアラブルデバイスのディスプレイシステムを備え、3Dビューは、標的仮想オブジェクトを備える。本システムはまた、ディスプレイシステムと通信する、ハードウェアプロセッサを備えることができる。ハードウェアプロセッサは、標的仮想オブジェクトに関する移動のインジケーションを受信することと、標的仮想オブジェクトと関連付けられたコンテキスト情報を分析することと、少なくとも部分的にコンテキスト情報に基づいて、標的仮想オブジェクトの移動に適用される乗数を計算することと、標的仮想オブジェクトに関する移動量を計算することであって、移動量は、少なくとも部分的に移動のインジケーションおよび乗数に基づく、ことと、ディスプレイシステムによって、標的仮想オブジェクトを第2の位置に表示することであって、第2の位置は、少なくとも部分的に、第1の位置および移動量に基づく、こととを行うようにプログラムされる。
【0007】
本明細書に説明される主題の1つまたはそれを上回る実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本概要または以下の発明を実施するための形態のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
本発明は、例えば、以下を提供する。
(項目1)
ウェアラブルデバイスのためのオブジェクトと相互作用するためのシステムであって、前記システムは、
3次元(3D)ビューをユーザに提示し、ユーザの動眼視野(FOR)内のオブジェクトとのユーザ相互作用を可能にするように構成される、ウェアラブルデバイスのディスプレイシステムであって、前記FORは、前記ディスプレイシステムを介して前記ユーザによって知覚可能な前記ユーザの周囲の環境の一部を含む、ウェアラブルデバイスのディスプレイシステムと、
前記ユーザの姿勢と関連付けられたデータを入手するように構成されるセンサと、
前記センサおよび前記ディスプレイシステムと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記センサによって入手されたデータに基づいて、前記ユーザの姿勢を判定することと、
前記FOR内のオブジェクトのグループ上への円錐投射を開始することであって、前記円錐投射は、少なくとも部分的に前記ユーザの姿勢に基づく方向に開口を伴う仮想円錐を投射することを含む、ことと、
前記ユーザの環境と関連付けられたコンテキスト情報を分析することと、
少なくとも部分的に前記コンテキスト情報に基づいて、前記仮想円錐の開口を更新することと、
前記円錐投射のための前記仮想円錐の視覚的表現をレンダリングすることと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、システム。
(項目2)
前記コンテキスト情報は、前記ユーザの視野(FOV)内のオブジェクトのサブグループのタイプ、レイアウト、場所、サイズ、または密度のうちの少なくとも1つを備え、前記FOVは、前記ディスプレイシステムを介して前記ユーザによって所与の時間に知覚可能な前記FORの一部を含む、項目1に記載のシステム。
(項目3)
前記ユーザのFOV内の前記オブジェクトのサブグループの密度は、
前記オブジェクトのサブグループ内のオブジェクトの数を計算すること、
前記オブジェクトのサブグループによって被覆される前記FOVのパーセンテージを計算すること、または
前記オブジェクトのサブグループ内のオブジェクトに関する等高線マップを計算すること
のうちの少なくとも1つによって計算される、項目2に記載のシステム。
(項目4)
前記ハードウェアプロセッサはさらに、前記仮想円錐と前記FOR内のオブジェクトのグループの中の1つまたはそれを上回るオブジェクトとの間の衝突を検出するようにプログラムされ、前記衝突の検出に応答して、前記ハードウェアプロセッサはさらに、焦点インジケータを前記1つまたはそれを上回るオブジェクトに提示するようにプログラムされる、項目1-3のいずれか1項に記載のシステム。
(項目5)
前記ハードウェアプロセッサは、遮蔽曖昧性解消技法を前記仮想円錐と衝突する1つまたはそれを上回るオブジェクトに適用し、遮蔽されたオブジェクトを識別するようにプログラムされる、項目4に記載のシステム。
(項目6)
前記円錐は、中心光線を備え、前記開口は、前記中心光線を横断する、項目1-5のいずれか1項に記載のシステム。
(項目7)
前記仮想円錐は、近位端を備え、前記近位端は、前記ユーザの眼間の場所、ユーザの腕の一部上の場所、ユーザ入力デバイス上の場所、または前記ユーザの環境内の任意の他の場所のうちの少なくとも1つの場所にアンカリングされる、項目1-6のいずれか1項に記載のシステム。
(項目8)
前記ハードウェアプロセッサはさらに、ユーザ入力デバイスから、前記仮想円錐の深度を深度平面にアンカリングするインジケーションを受信するようにプログラムされ、円錐投射は、前記深度平面内の前記オブジェクトのグループ上に実施される、項目1-7のいずれか1項に記載のシステム。
(項目9)
ウェアラブルデバイスのためのオブジェクトと相互作用するための方法であって、前記方法は、3次元(3D)空間内の第1の位置においてユーザに表示される標的仮想オブジェクトの選択を受信することと、
前記標的仮想オブジェクトに関する移動のインジケーションを受信することと、
前記標的仮想オブジェクトと関連付けられたコンテキスト情報を分析することと、
少なくとも部分的に前記コンテキスト情報に基づいて、前記標的仮想オブジェクトの移動に適用されるための乗数を計算することと、
前記標的仮想オブジェクトに関する移動量を計算することであって、前記移動量は、少なくとも部分的に前記移動のインジケーションおよび前記乗数に基づく、ことと、
前記ユーザに、第2の位置において前記標的仮想オブジェクトを表示することであって、前記第2の位置は、少なくとも部分的に前記第1の位置および前記移動量に基づく、ことと
を含む、方法。
(項目10)
前記コンテキスト情報は、前記ユーザから前記標的仮想オブジェクトまでの距離を含む、項目9に記載の方法。
(項目11)
前記乗数は、前記距離の増加に伴って比例して増加する、項目10に記載の方法。
(項目12)
前記移動は、位置変化、速度、または加速のうちの1つまたはそれを上回るものを含む、項目9-11のいずれか1項に記載の方法。
(項目13)
前記移動のインジケーションは、前記ウェアラブルデバイスと関連付けられたユーザ入力デバイスの作動または前記ユーザの姿勢の変化のうちの少なくとも1つを含む、項目9-12のいずれか1項に記載の方法。
(項目14)
前記姿勢は、頭部姿勢、眼姿勢、または身体姿勢のうちの1つまたはそれを上回るものを含む、項目13に記載の方法。
(項目15)
ウェアラブルデバイスのためのオブジェクトと相互作用するためのシステムであって、前記システムは、
3次元(3D)ビューをユーザに提示するように構成される、ウェアラブルデバイスのディスプレイシステムであって、前記3Dビューは、標的仮想オブジェクトを備える、ウェアラブルデバイスのディスプレイシステムと、
前記ディスプレイシステムと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、
前記標的仮想オブジェクトに関する移動のインジケーションを受信することと、
前記標的仮想オブジェクトと関連付けられたコンテキスト情報を分析することと、
少なくとも部分的に前記コンテキスト情報に基づいて、前記標的仮想オブジェクトの移動に適用されるための乗数を計算することと、
前記標的仮想オブジェクトに関する移動量を計算することであって、前記移動量は、少なくとも部分的に前記移動のインジケーションおよび前記乗数に基づく、ことと、
前記ディスプレイシステムによって、第2の位置において前記標的仮想オブジェクトを表示すことであって、前記第2の位置は、少なくとも部分的に、前記第1の位置および前記移動量に基づく、ことと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、システム。
(項目16)
前記標的仮想オブジェクトの移動のインジケーションは、前記ウェアラブルデバイスのユーザの姿勢の変化または前記ウェアラブルデバイスと関連付けられたユーザ入力デバイスから受信された入力を含む、項目15に記載のシステム。
(項目17)
前記コンテキスト情報は、前記ユーザから前記標的仮想オブジェクトまでの距離を含む、項目15-16のいずれか1項に記載のシステム。
(項目18)
前記乗数は、前記距離が閾値距離未満であるとき、1に等しく、前記閾値距離は、前記ユーザの手が届く範囲と等しい、項目17に記載のシステム。
(項目19)
前記乗数は、前記距離の増加に伴って比例して増加する、項目17-18のいずれか1項に記載のシステム。
(項目20)
前記移動は、位置変化、速度、または加速のうちの1つまたはそれを上回るものを含む、項目15-19のいずれか1項に記載のシステム。
【図面の簡単な説明】
【0008】
図1図1は、人物によって視認されるある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。
【0009】
図2図2は、ウェアラブルシステムの実施例を図式的に図示する。
【0010】
図3図3は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図式的に図示する。
【0011】
図4図4は、画像情報をユーザに出力するための導波管スタックの実施例を図式的に図示する。
【0012】
図5図5は、導波管によって出力され得る、例示的出射ビームを示す。
【0013】
図6図6は、導波管装置と、光を導波管装置へまたはそこから光学的に結合するための光学結合器サブシステムと、多焦点立体ディスプレイ、画像、またはライトフィールドの生成において使用される、制御サブシステムとを含む、光学システムを示す、概略図である。
【0014】
図7図7は、ウェアラブルシステムの実施例のブロック図である。
【0015】
図8図8は、認識されるオブジェクトに関連して仮想コンテンツをレンダリングする方法の実施例のプロセスフロー図である。
【0016】
図9図9は、ウェアラブルシステムの別の実施例のブロック図である。
【0017】
図10図10は、ウェアラブルシステムへのユーザ入力を判定するための方法の実施例のプロセスフロー図である。
【0018】
図11図11は、仮想ユーザインターフェースと相互作用するための方法の実施例のプロセスフロー図である。
【0019】
図12A図12Aは、無視不可能な開口を伴う円錐投射の実施例を図示する。
【0020】
図12B図12Bおよび12Cは、異なる動的に調節された開口を伴う円錐投射を使用して仮想オブジェクトを選択する実施例である。
図12C図12Bおよび12Cは、異なる動的に調節された開口を伴う円錐投射を使用して仮想オブジェクトを選択する実施例である。
【0021】
図12D図12D、12E、12F、12Gは、オブジェクトの密度に基づいて開口を動的に調節する実施例を説明する。
図12E図12D、12E、12F、12Gは、オブジェクトの密度に基づいて開口を動的に調節する実施例を説明する。
図12F図12D、12E、12F、12Gは、オブジェクトの密度に基づいて開口を動的に調節する実施例を説明する。
図12G図12D、12E、12F、12Gは、オブジェクトの密度に基づいて開口を動的に調節する実施例を説明する。
【0022】
図13図13、14、および15は、動的に調節可能な開口を伴う円錐投射を使用して相互作用可能オブジェクトを選択するための例示的プロセスのフローチャートである。
図14図13、14、および15は、動的に調節可能な開口を伴う円錐投射を使用して相互作用可能オブジェクトを選択するための例示的プロセスのフローチャートである。
図15図13、14、および15は、動的に調節可能な開口を伴う円錐投射を使用して相互作用可能オブジェクトを選択するための例示的プロセスのフローチャートである。
【0023】
図16図16は、ユーザ入力デバイスを使用して仮想オブジェクトを移動させる実施例を図式的に図示する。
【0024】
図17図17は、距離の関数としての乗数の実施例を図式的に図示する。
【0025】
図18図18は、ユーザ入力デバイスの移動に応答して仮想オブジェクトを移動させるための例示的プロセスのフローチャートを図示する。
【0026】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。
【発明を実施するための形態】
【0027】
概要
ウェアラブルシステムは、仮想コンテンツをAR/VR/MR環境内に表示するように構成されることができる。ウェアラブルシステムは、ユーザが、ユーザの環境内の物理的または仮想オブジェクトと相互作用することを可能にすることができる。ユーザは、例えば、オブジェクトを選択および移動させることによって、姿勢を使用することによって、またはユーザ入力デバイスを作動させることによって、オブジェクトと相互作用することができる。例えば、ユーザは、ユーザ入力デバイスをある距離にわたって移動させてもよく、仮想オブジェクトは、ユーザ入力デバイスに追従し、同一距離量だけ移動するであろう。同様に、ウェアラブルシステムは、円錐投射を使用して、ユーザが、仮想オブジェクトを姿勢に伴って選択または標的化することを可能にしてもよい。ユーザがその手を移動させるにつれて、ウェアラブルシステムは、それに従って、異なる仮想オブジェクトをユーザの視野内で標的化および選択することができる。
【0028】
これらのアプローチは、オブジェクトが比較的に遠くに離間されている場合、ユーザを疲労させ得る。これは、仮想オブジェクトを所望の場所に移動させる、または所望のオブジェクトに到達するために、ユーザが、同様に長い距離にわたって、ユーザ入力デバイスを移動させる、または身体の移動量を増加させる(例えば、腕または頭部の移動量を増加させる)必要があるためである。加えて、遠距離のオブジェクトのための精密な位置付けは、遠く離れた場所における微量の調節を確認することが困難であり得るため、困難であり得る。一方、オブジェクトがともにより近いとき、ユーザは、所望のオブジェクトと正確に相互作用するために、より精密な位置付けを好み得る。
【0029】
ユーザの疲労を低減させ、ウェアラブルシステムとの動的ユーザ相互作用を提供するために、ウェアラブルシステムは、コンテキスト情報に基づいて、ユーザインターフェース動作を自動的に調節することができる。
【0030】
コンテキスト情報に基づいて動的ユーザ相互作用を提供する実施例として、ウェアラブルシステムは、コンテキスト係数に基づいて、円錐投射内の円錐の開口を自動的に更新することができる。例えば、ユーザが、その頭部をオブジェクトの高密度を伴う方向に向かって方向転換する場合、ウェアラブルシステムは、円錐内に仮想選択可能オブジェクトが殆ど存在しないように、円錐開口を自動的に減少させてもよい。同様に、ユーザが、その頭部をオブジェクトの低密度を伴う方向に方向転換する場合、ウェアラブルシステムは、円錐開口を自動的に増加させ、より多くのオブジェクトを円錐内に含むか、または仮想オブジェクトと円錐開口を重複させるために必要な移動量を減少させるかのいずれかを行ってもよい。
【0031】
別の実施例として、ウェアラブルシステムは、ユーザ入力デバイス(および/またはユーザの移動)の移動量を仮想オブジェクトのより大きな移動量に変換し得る乗数(multiplier)を提供することができる。その結果、ユーザは、オブジェクトが離れて位置するとき、長い距離を物理的に移動し、仮想オブジェクトを所望の場所に移動させる必要はない。しかしながら、乗数は、仮想オブジェクトがユーザに近いとき(例えば、ユーザの手の届く範囲内)、1に設定されてもよい。故に、ウェアラブルシステムは、ユーザ移動と仮想オブジェクト移動との間の1対1の操作を提供することができる。これは、ユーザが、精度増加を伴って、近傍仮想オブジェクトと相互作用することを可能にし得る。コンテキスト情報に基づくユーザ相互作用の実施例は、以下に詳細に説明される。
【0032】
ウェアラブルシステムの3Dディスプレイの実施例
ウェアラブルシステム(本明細書では、拡張現実(AR)システムとも称される)は、2Dまたは3D仮想画像をユーザに提示するために構成されることができる。画像は、組み合わせまたは同等物における、静止画像、ビデオのフレーム、またはビデオであってもよい。ウェアラブルシステムは、ユーザ相互作用のために、単独で、または組み合わせて、VR、AR、またはMR環境を提示し得る、ウェアラブルデバイスを含むことができる。ウェアラブルデバイスは、頭部搭載型デバイス(HMD)であることができる。
【0033】
図1は、人物によって視認される、ある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、複合現実シナリオの例証を描写する。図1では、MR場面100が、描写され、MR技術のユーザには、人々、木々、背景内の建物、およびコンクリートプラットフォーム120を特徴とする、実世界公園状設定110が見える。これらのアイテムに加え、MR技術のユーザはまた、実世界プラットフォーム120上に立っているロボット像130と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ140とが「見える」と知覚するが、これらの要素は、実世界には存在しない。
【0034】
3Dディスプレイが、真の深度感覚、より具体的には、表面深度のシミュレートされた感覚を生成するために、ディスプレイの視野内の点毎に、その仮想深度に対応する遠近調節応答を生成することが望ましくあり得る。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって判定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定なイメージング、有害な眼精疲労、頭痛、および遠近調節情報の不在下では、表面深度のほぼ完全な欠如をもたらし得る。
【0035】
VR、AR、およびMR体験は、複数の深度平面に対応する画像が視認者に提供されるディスプレイを有する、ディスプレイシステムによって提供されることができる。画像は、深度平面毎に異なってもよく(例えば、場面またはオブジェクトの若干異なる提示を提供する)、視認者の眼によって別個に集束され、それによって、異なる深度平面上に位置する場面に関する異なる画像特徴に合焦させるために要求される眼の遠近調節に基づいて、または合焦からずれている異なる深度平面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供する。
【0036】
図2は、ウェアラブルシステム200の実施例を図示する。ウェアラブルシステム200は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ220は、ユーザ、装着者、または視認者210によってウェアラブルである、フレーム230に結合されてもよい。ディスプレイ220は、ユーザ210の眼の正面に位置付けられることができる。ディスプレイ220は、AR/VR/MRコンテンツをユーザに提示するができる。ディスプレイ220は、ユーザの頭部上に装着される、頭部搭載型ディスプレイ(HMD)を備えることができる。いくつかの実施形態では、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音響制御を提供する)。
【0037】
ウェアラブルシステム200は、ユーザの周囲の環境内の世界を観察する、外向きに面したイメージングシステム464(図4に示される)を含むことができる。ウェアラブルシステム200はまた、ユーザの眼移動を追跡することができる、内向きに面したイメージングシステム462(図4に示される)を含むことができる。内向きに面したイメージングシステムは、一方の眼の移動または両方の眼の移動のいずれかを追跡することができる。内向きに面したイメージングシステム462は、フレーム230に取り付けられてもよく、内向きに面したイメージングシステムによって取得された画像情報を処理し、例えば、ユーザ210の眼、眼の移動、または眼姿勢の瞳孔直径または配向を判定し得る、処理モジュール260または270と電気通信してもよい。
【0038】
実施例として、ウェアラブルシステム200は、外向きに面したイメージングシステム464または内向きに面したイメージングシステム462を使用して、ユーザの姿勢の画像を取得することができる。画像は、静止画像、ビデオのフレームまたはビデオ、その組み合わせ、または同等物であってもよい。
【0039】
ディスプレイ220は、有線導線または無線接続等によって、フレーム230に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様にユーザ210に(例えば、バックパック式構成において、ベルト結合式構成において)可撤式に取り付けられる等、種々の構成において搭載され得る、ローカルデータ処理モジュール260に動作可能に結合される(250)。
【0040】
ローカル処理およびデータモジュール260は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備えてもよく、その両方とも、データの処理、キャッシング、および記憶を補助するために利用され得る。データは、(a)画像捕捉デバイス(例えば、内向きに面したイメージングシステムおよび/または外向きに面したイメージングシステム内のカメラ)、マイクロホン、慣性測定ユニット(IMU)、加速度計、コンパス、全地球測位システム(GPS)ユニット、無線デバイス、またはジャイロスコープ等の(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)センサから捕捉されるデータ、または、(b)場合によってはそのような処理または読出後にディスプレイ220への伝達のために、遠隔処理モジュール270または遠隔データリポジトリ280を使用して取得または処理されるデータを含んでもよい。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンクを介して等、通信リンク262または264によって遠隔処理モジュール270または遠隔データリポジトリ280に動作可能に結合されてもよい。加えて、遠隔処理モジュール280および遠隔データリポジトリ280は、相互に動作可能に結合されてもよい。
【0041】
いくつかの実施形態では、遠隔処理モジュール270は、データおよび/または画像情報を分析および処理するように構成される、1つまたはそれを上回るプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ280は、デジタルデータ記憶設備を備え得、これは、「クラウド」リソース構成におけるインターネットまたは他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュールにおいて実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
【0042】
ヒト視覚系は、複雑であって、深度の現実的知覚を提供することは、困難である。理論によって限定されるわけではないが、オブジェクトの視認者は、輻輳・開散運動(vergence)および遠近調節(accommodation)の組み合わせに起因して、オブジェクトを3次元として知覚し得ると考えられる。相互に対する2つの眼の輻輳・開散運動(すなわち、眼の注視を収束させ、オブジェクト上に固定させるための相互に向かって、またはそこから離れるような瞳孔の転動運動)は、眼の水晶体の集束(または「遠近調節」)と密接に関連付けられる。通常条件下では、眼の水晶体の焦点を変更する、または眼を遠近調節し、1つのオブジェクトから異なる距離における別のオブジェクトに焦点を変更することは、「遠近調節-輻輳・開散運動反射」として知られる関係下、自動的に、輻輳・開散運動における整合する変化を同一距離に生じさせるであろう。同様に、輻輳・開散運動における変化は、通常条件下、遠近調節における整合する変化を誘起するであろう。遠近調節と輻輳・開散運動との間のより良好な整合を提供するディスプレイシステムは、3次元画像のより現実的かつ快適なシミュレーションを形成し得る。
【0043】
図3は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。図3を参照すると、z-軸上の眼302および304からの種々の距離におけるオブジェクトは、それらのオブジェクトが合焦するように、眼302および304によって遠近調節される。眼302および304は、特定の遠近調節された状態をとり、オブジェクトをz-軸に沿った異なる距離に合焦させる。その結果、特定の遠近調節された状態は、特定の深度平面におけるオブジェクトまたはオブジェクトの一部が、眼がその深度平面に対して遠近調節された状態にあるとき、合焦するように、関連付けられた焦点距離を有する、深度平面306のうちの特定の1つと関連付けられると言え得る。いくつかの実施形態では、3次元画像は、眼302および304毎に、画像の異なる提示を提供することによって、また、深度平面のそれぞれに対応する画像の異なる提示を提供することによって、シミュレートされてもよい。例証を明確にするために、別個であるように示されるが、眼302および304の視野は、例えば、z-軸に沿った距離が増加するにつれて、重複し得ることを理解されたい。加えて、例証を容易にするために、平坦であるように示されるが、深度平面の外形は、深度平面内の全ての特徴が特定の遠近調節された状態における眼と合焦するように、物理的空間内で湾曲され得ることを理解されたい。理論によって限定されるわけではないが、ヒトの眼は、有限数深度平面を解釈し、典型的には、深度知覚を提供することができると考えられる。その結果、知覚された深度の高度に真実味のあるシミュレーションが、眼にこれらの限定数の深度平面のそれぞれに対応する画像の異なる提示を提供することによって達成され得る。
【0044】
導波管スタックアセンブリ
図4は、画像情報をユーザに出力するための導波管スタックの実施例を図示する。ウェアラブルシステム400は、複数の導波管432b、434b、436b、438b、4400bを使用して、3次元知覚を眼/脳に提供するために利用され得る、導波管のスタックまたはスタックされた導波管アセンブリ480を含む。いくつかの実施形態では、ウェアラブルシステム400は、図2のウェアラブルシステム200に対応してもよく、図4は、ウェアラブルシステム200のいくつかの部分をより詳細に概略的に示す。例えば、いくつかの実施形態では、導波管アセンブリ480は、図2のディスプレイ220の中に統合されてもよい。
【0045】
図4を継続して参照すると、導波管アセンブリ480はまた、複数の特徴458、456、454、452を導波管間に含んでもよい。いくつかの実施形態では、特徴458、456、454、452は、レンズであってもよい。他の実施形態では、特徴458、456、454、452は、レンズではなくてもよい。むしろ、それらは、単に、スペーサであってもよい(例えば、空気間隙を形成するためのクラッディング層または構造)。
【0046】
導波管432b、434b、436b、438b、440bまたは複数のレンズ458、456、454、452は、種々のレベルの波面曲率または光線発散を用いて、画像情報を眼に送信するように構成されてもよい。各導波管レベルは、特定の深度平面と関連付けられてもよく、その深度平面に対応する画像情報を出力するように構成されてもよい。画像投入デバイス420、422、424、426、428は、それぞれ、眼410に向かって出力するために、各個別の導波管を横断して入射光を分散させるように構成され得る、導波管440b、438b、436b、434b、432bの中に画像情報を投入するために利用されてもよい。光は、画像投入デバイス420、422、424、426、428の出力表面から出射し、導波管440b、438b、436b、434b、432bの対応する入力縁の中に投入される。いくつかの実施形態では、光の単一ビーム(例えば、コリメートされたビーム)が、各導波管の中に投入され、特定の導波管と関連付けられた深度平面に対応する特定の角度(および発散量)において眼410に向かって指向される、クローン化されたコリメートビームの場全体を出力してもよい。
【0047】
いくつかの実施形態では、画像投入デバイス420、422、424、426、428は、それぞれ、それぞれの対応する導波管440b、438b、436b、434b、432bの中への投入のための画像情報を生成する、離散ディスプレイである。いくつかの他の実施形態では、画像投入デバイス420、422、424、426、428は、例えば、画像情報を1つまたはそれを上回る光学導管(光ファイバケーブル等)を介して、画像投入デバイス420、422、424、426、428のそれぞれに送り得る、単一の多重化されたディスプレイの出力端である。
【0048】
コントローラ460が、スタックされた導波管アセンブリ480および画像投入デバイス420、422、424、426、428の動作を制御する。コントローラ460は、導波管440b、438b、436b、434b、432bへの画像情報のタイミングおよび提供を調整する、プログラミング(例えば、非一過性コンピュータ可読媒体内の命令)を含む。いくつかの実施形態では、コントローラ460は、単一の一体型デバイスまたは有線または無線通信チャネルによって接続される分散型システムであってもよい。コントローラ460は、いくつかの実施形態では、処理モジュール260または270(図2に図示される)の一部であってもよい。
【0049】
導波管440b、438b、436b、434b、432bは、全内部反射(TIR)によって各個別の導波管内で光を伝搬するように構成されてもよい。導波管440b、438b、436b、434b、432bはそれぞれ、主要な上部および底部表面およびそれらの主要上部表面と底部表面との間に延在する縁を伴う、平面である、または別の形状(例えば、湾曲)を有してもよい。図示される構成では、導波管440b、438b、436b、434b、432bはそれぞれ、光を再指向させ、各個別の導波管内で伝搬させ、導波管から、画像情報を眼410に出力することによって、光を導波管から抽出するように構成される、光抽出光学要素440a、438a、436a、434a、432aを含んでもよい。抽出された光はまた、外部結合光と称され得、光抽出光学要素はまた、外部結合光学要素と称され得る。抽出された光のビームは、導波管によって、導波管内を伝搬する光が光再指向要素に衝打する場所に出力される。光抽出光学要素(440a、438a、436a、434a、432a)は、例えば、反射または回折光学特徴であってもよい。説明の容易性、図面の明確性のために、導波管440b、438b、436b、434b、432bの底部主要表面に配置されて図示されるが、いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、上部または底部主要表面に配置されてもよい、または導波管440b、438b、436b、434b、432bの容積内に直接配置されてもよい。いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、透明基板に取り付けられ、導波管440b、438b、436b、434b、432bを形成する、材料の層内に形成されてもよい。いくつかの他の実施形態では、導波管440b、438b、436b、434b、432bは、材料のモノリシック部品であってもよく、光抽出光学要素440a、438a、436a、434a、432aは、材料のその部品の表面上および/またはその内部に形成されてもよい。
【0050】
図4を継続して参照すると、本明細書に議論されるように、各導波管440b、438b、436b、434b、432bは、光を出力し、特定の深度平面に対応する画像を形成するように構成される。例えば、眼の最近傍の導波管432bは、そのような導波管432bの中に投入されるにつれて、コリメートされた光を眼410に送達するように構成されてもよい。コリメートされた光は、光学無限遠焦点面を表し得る。次の導波管434bは、眼410に到達し得る前に、第1のレンズ452(例えば、負のレンズ)を通して通過する、コリメートされた光を送出するように構成されてもよい。第1のレンズ452は、眼/脳が、その次の上方の導波管434bから生じる光を光学無限遠から眼410に向かって内向きにより近い第1の焦点面から生じるように解釈するように、若干の凸面波面曲率を生成するように構成されてもよい。同様に、第3の上方の導波管436bは、眼410に到達する前に、その出力光を第1のレンズ452および第2のレンズ454の両方を通して通過させる。第1および第2のレンズ452および454の組み合わせられた屈折力は、眼/脳が、第3の導波管436bから生じる光が次の上方の導波管434bからの光であったよりも光学無限遠から人物に向かって内向きにさらにより近い第2の焦点面から生じるように解釈するように、別の漸増量の波面曲率を生成するように構成されてもよい。
【0051】
他の導波管層(例えば、導波管438b、440b)およびレンズ(例えば、レンズ456、458)も同様に構成され、スタック内の最高導波管440bを用いて、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ480の他側の世界470から生じる光を視認/解釈するとき、レンズ458、456、454、452のスタックを補償するために、補償レンズ層430が、スタックの上部に配置され、下方のレンズスタック458、456、454、452の集約力を補償してもよい。そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光抽出光学要素およびレンズの集束側面は両方とも、静的であってもよい(例えば、動的または電気活性ではない)。いくつかの代替実施形態では、一方または両方とも、電気活性特徴を使用して動的であってもよい。
【0052】
図4を継続して参照すると、光抽出光学要素440a、438a、436a、434a、432aは、光をその個別の導波管から再指向し、かつ導波管と関連付けられた特定の深度平面のための適切な発散またはコリメーション量を用いて本光を出力するように構成されてもよい。その結果、異なる関連付けられた深度平面を有する導波管は、関連付けられた深度平面に応じて、異なる量の発散を伴う光を出力する、異なる構成の光抽出光学要素を有してもよい。いくつかの実施形態では、本明細書に議論されるように、光抽出光学要素440a、438a、436a、434a、432aは、具体的角度において光を出力するように構成され得る、立体または表面特徴であってもよい。例えば、光抽出光学要素440a、438a、436a、434a、432aは、体積ホログラム、表面ホログラム、および/または回折格子であってもよい。回折格子等の光抽出光学要素は、2015年6月25日に公開された米国特許公開第2015/0178939号(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0053】
いくつかの実施形態では、光抽出光学要素440a、438a、436a、434a、432aは、回折パターンを形成する回折特徴、すなわち、「回折光学要素」(本明細書では、「DOE」とも称される)である。好ましくは、DOEは、ビームの光の一部のみが、DOEの各交差点を用いて、眼410に向かって偏向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を搬送する光は、したがって、複数の場所において導波管から出射する、いくつかの関連出射ビームに分割され、その結果、導波管内でバウンスする本特定のコリメートされたビームに関して、眼304に向かって非常に均一なパターンの出射放出となることができる。
【0054】
いくつかの実施形態では、1つまたはそれを上回るDOEは、能動的に回折する「オン」状態と有意に回折しない「オフ」状態との間で切替可能であってもよい。例えば、切替可能なDOEは、ポリマー分散液晶の層を備えてもよく、その中で微小液滴は、ホスト媒体中に回折パターンを備え、微小液滴の屈折率は、ホスト材料の屈折率に実質的に整合するように切り替えられることができる(その場合、パターンは、入射光を著しく回折させない)、または微小液滴は、ホスト媒体のものに整合しない屈折率に切り替えられることができる(その場合、パターンは、入射光を能動的に回折させる)。
【0055】
いくつかの実施形態では、深度平面または被写界深度の数および分布は、視認者の眼の瞳孔サイズまたは配向に基づいて、動的に変動されてもよい。被写界深度は、視認者の瞳孔サイズと反比例して変化してもよい。その結果、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、その平面の場所が眼の焦点深度を越えるため判別不能である1つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より合焦して現れ得るように増加する。同様に、異なる画像を視認者に提示するために使用される、離間される深度平面の数は、減少された瞳孔サイズに伴って減少されてもよい。例えば、視認者は、一方の深度平面から他方の深度平面への眼の遠近調節を調節せずに、第1の深度平面および第2の深度平面の両方の詳細を1つの瞳孔サイズにおいて明確に知覚することが可能ではない場合がある。しかしながら、これらの2つの深度平面は、同時に、遠近調節を変化させずに、別の瞳孔サイズにおいてユーザに合焦するには十分であり得る。
【0056】
いくつかの実施形態では、ディスプレイシステムは、瞳孔サイズおよび/または配向の判定に基づいて、または特定の瞳孔サイズ/または配向を示す電気信号の受信に応じて、画像情報を受信する導波管の数を変動させてもよい。例えば、ユーザの眼が、2つの導波管と関連付けられた2つの深度平面間を区別不能である場合、コントローラ460は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされてもよい。有利には、これは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切替可能である実施形態では、DOEは、導波管が画像情報を受信するとき、オフ状態に切り替えられてもよい。
【0057】
いくつかの実施形態では、出射ビームに視認者の眼の直径未満の直径を有するという条件を満たさせることが望ましくあり得る。しかしながら、本条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態では、本条件は、視認者の瞳孔のサイズの判定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズもまた、減少し得る。いくつかの実施形態では、出射ビームサイズは、可変開口を使用して変動されてもよい。
【0058】
ウェアラブルシステム400は、世界470の一部分をイメージングする、外向きに面したイメージングシステム464(例えば、デジタルカメラ)を含むことができる。世界470のこの一部分は、視野(FOV)と称され得、イメージングシステム464は、時として、FOVカメラとも称される。視認者による視認またはイメージングのために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚するため、ウェアラブルシステム400を囲繞する4πステラジアンの立体角を含んでもよい。他の状況では、装着者の移動は、より抑制されてもよく、それに応じて、装着者のFORは、より小さい立体角に対応し得る。外向きに面したイメージングシステム464から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの正面における世界470内のオブジェクトを検出する等のために、使用されることができる。
【0059】
ウェアラブルシステム400はまた、眼移動および顔移動等のユーザの移動を観察する、内向きに面したイメージングシステム466(例えば、デジタルカメラ)を含むことができる。内向きに面したイメージングシステム466は、眼410の画像を捕捉し、眼304の瞳孔のサイズまたは配向を判定するために使用されてもよい。内向きに面したイメージングシステム466は、ユーザが見ている方向(例えば、眼姿勢)を判定する際に使用するため、またはユーザのバイオメトリック識別のため(例えば、虹彩識別を介して)、画像を得るために使用されることができる。いくつかの実施形態では、少なくとも1つのカメラが、眼毎に、独立して、各眼の瞳孔サイズまたは眼姿勢を別個に判定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用されてもよい。いくつかの他の実施形態では、単一眼410のみの瞳孔直径または配向(例えば、対の眼あたり単一カメラのみを使用して)が、判定され、ユーザの両眼に関して類似すると仮定される。内向きに面したイメージングシステム466によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム400によって使用され得る、ユーザの眼姿勢または気分を判定するために分析されてもよい。ウェアラブルシステム400はまた、IMU、加速度計、ジャイロスコープ等のセンサを使用して、頭部姿勢(例えば、頭部位置または頭部配向)を判定してもよい。
【0060】
ウェアラブルシステム400は、ユーザが、コマンドをコントローラ460に入力し、ウェアラブルシステム400と相互作用し得る、ユーザ入力デバイス466を含むことができる。例えば、ユーザ入力デバイス466は、トラックパッド、タッチスクリーン、ジョイスティック、多自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触知デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。マルチDOFコントローラは、コントローラの一部または全部の可能性として考えられる平行移動(例えば、左/右、前方/後方、または上/下)または回転(例えば、ヨー、ピッチ、またはロール)におけるユーザ入力を感知することができる。平行移動をサポートする、マルチDOFコントローラは、3DOFと称され得る一方、平行移動および回転をサポートする、マルチDOFコントローラは、6DOFと称され得る。ある場合には、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押下またはその上でスワイプし、入力をウェアラブルシステム400に提供してもよい(例えば、ユーザ入力をウェアラブルシステム400によって提供されるユーザインターフェースに提供するために)。ユーザ入力デバイス466は、ウェアラブルシステム400の使用の間、ユーザの手によって保持されてもよい。ユーザ入力デバイス466は、ウェアラブルシステム400と有線または無線通信することができる。
【0061】
図5は、導波管によって出力された出射ビームの実施例を示す。1つの導波管が、図示されるが、導波管アセンブリ480内の他の導波管も、同様に機能してもよく、導波管アセンブリ480は、複数の導波管を含むことを理解されたい。光520が、導波管432bの入力縁432cにおいて導波管432bの中に投入され、TIRによって導波管432b内を伝搬する。光520がDOE432aに衝突する点において、光の一部が、出射ビーム510として導波管から出射する。出射ビーム510は、略平行として図示されるが、それらはまた、導波管432bと関連付けられた深度平面に応じて、ある角度で眼410に伝搬するように再指向されてもよい(例えば、発散出射ビームを形成する)。略平行出射ビームは、光を外部結合し、眼410から長距離(例えば、光学無限遠)における深度平面に設定されるように現れる画像を形成する光抽出光学要素を伴う、導波管を示し得ることを理解されたい。他の導波管または他の光抽出光学要素のセットは、より発散する、出射ビームパターンを出力してもよく、これは、眼410がより近い距離に遠近調節し、網膜に合焦させることを要求し、光学無限遠より眼410に近い距離からの光として脳によって解釈されるであろう。
【0062】
図6は、導波管装置と、光を導波管装置へまたはそこから光学的に結合するための光学結合器サブシステムと、多焦点立体ディスプレイ、画像、またはライトフィールドの生成において使用される制御サブシステムとを含む、光学システムを示す、概略図である。光学システムは、導波管装置と、光を導波管装置にまたはそこから光学的に結合するための光学結合器サブシステムと、制御サブシステムとを含むことができる。光学システムは、多焦点立体、画像、またはライトフィールドを生成するために使用されることができる。光学システムは、1つまたはそれを上回る一次平面導波管632a(1つのみのが図6に示される)と、一次導波管632aの少なくともいくつかのそれぞれと関連付けられた1つまたはそれを上回るDOE632bとを含むことができる。平面導波管632bは、図4を参照して議論される導波管432b、434b、436b、438b、440bに類似することができる。光学システムは、分散導波管装置を採用し、光を第1の軸(図6の図では、垂直またはY-軸)に沿って中継し、第1の軸(例えば、Y-軸)に沿って光の有効射出瞳を拡張させてもよい。分散導波管装置は、例えば、分散平面導波管622bと、分散平面導波管622bと関連付けられた少なくとも1つのDOE622a(二重破線によって図示される)とを含んでもよい。分散平面導波管622bは、少なくともいくつかの点において、それと異なる配向を有する一次平面導波管632bと類似または同じであってもよい。同様に、少なくとも1つのDOE622aは、少なくともいくつかの点において、DOE632aと類似または同じであってもよい。例えば、分散平面導波管622bまたはDOE622aは、それぞれ、一次平面導波管632bまたはDOE632aと同一材料から成ってもよい。図6に示される光学ディスプレイシステム600の実施形態は、図2に示されるウェアラブルシステム200の中に統合されることができる。
【0063】
中継され、射出瞳が拡張された光は、分散導波管装置から1つまたはそれを上回る一次平面導波管632bの中に光学的に結合され得る。一次平面導波管632bは、好ましくは、第1の軸に直交する、第2の軸(例えば、図6の図では、水平またはX-軸)に沿って、光を中継することができる。着目すべきこととして、第2の軸は、第1の軸に対して非直交軸であることができる。一次平面導波管632bは、その第2の軸(例えば、X-軸)に沿って、光の有効射出瞳を拡張させる。例えば、分散平面導波管622bは、光を垂直またはY-軸に沿って中継および拡張させ、光を水平またはX-軸に沿って中継および拡張させ得る、一次平面導波管632bにその光を通過させることができる。
【0064】
光学システムは、単一モード光ファイバ640の近位端の中に光学的に結合され得る、1つまたはそれを上回る有色光源(例えば、赤色、緑色、および青色レーザ光)610を含んでもよい。光ファイバ640の遠位端は、圧電材料の中空管642を通して螺合または受容されてもよい。遠位端は、固定されない可撓性カンチレバー644として、管642から突出する。圧電管642は、4つの象限電極(図示せず)と関連付けられることができる。電極は、例えば、管642の外側、外側表面または外側周縁、または直径に鍍着されてもよい。コア電極(図示せず)もまた、管642のコア、中心、内側周縁、または内径に位置してもよい。
【0065】
例えば、ワイヤ660を介して電気的に結合される、駆動電子機器650は、対向する対の電極を駆動し、圧電管642を独立して2つの軸において屈曲させる。光ファイバ644の突出する遠位先端は、機械的共鳴モードを有する。共鳴の周波数は、光ファイバ644の直径、長さ、および材料性質に依存し得る。圧電管642をファイバカンチレバー644の第1の機械的共鳴モードの近傍で振動させることによって、ファイバカンチレバー644は、振動させられ、大偏向を通して掃引し得る。
【0066】
2つの軸において共振振動を刺激することによって、ファイバカンチレバー644の先端は、2次元(2-D)走査を充填する面積内において2軸方向に走査される。光源610の強度をファイバカンチレバー644の走査と同期して変調させることによって、ファイバカンチレバー644から発せられる光は、画像を形成することができる。そのような設定の説明は、米国特許公開第2014/0003762号(参照することによってその全体として本明細書に組み込まれる)に提供されている。
【0067】
光学結合器サブシステムのコンポーネントは、走査ファイバカンチレバー644から発せられる光をコリメートすることができる。コリメートされた光は、鏡付き表面648によって、少なくとも1つの回折光学要素(DOE)622aを含有する、狭分散平面導波管622bの中に反射されることができる。コリメートされた光は、TIRによって分散平面導波管622bに沿って(図6の図に対して)垂直に伝搬し、そうすることによって、DOE622aと繰り返し交差することができる。DOE622aは、好ましくは、低回折効率を有する。これは、光の一部(例えば、10%)をDOE622aとの交差点の各点においてより大きい一次平面導波管632bの縁に向かって回折させ、光の一部をTIRを介して分散平面導波管622bの長さを辿ってそのオリジナル軌道上で継続させることができる。
【0068】
DOE622aとの交差点の各点において、付加的光が、一次導波管632bの入口に向かって回折されることができる。入射光を複数の外部結合セットに分割することによって、光の射出瞳は、分散平面導波管622b内のDOE4によって垂直に拡張されることができる。分散平面導波管622bから外部結合された本垂直に拡張された光は、一次平面導波管632bの縁に進入することができる。
【0069】
一次導波管632bに進入する光は、TIRを介して、一次導波管632bに沿って(図6の図に対して)水平に伝搬することができる。光は、複数の点においてDOE632aと交差するにつれて、TIRを介して、一次導波管632bの長さの少なくとも一部に沿って水平に伝搬する。DOE632aは、有利には、線形回折パターンおよび半径方向対称回折パターンの総和である、位相プロファイルを有し、光の偏向および集束の両方を生成するように設計または構成され得る。DOE632aは、有利には、ビームの光の一部のみが、DOE632aの各交差点において視認者の眼に向かって偏向される一方、光の残りが、TIRを介して、一次導波管632bを通して伝搬し続けるように、低回折効率(例えば、10%)を有し得る。
【0070】
伝搬する光とDOE632aとの間の交差点の各点において、光の一部は、一次導波管632bの隣接面に向かって回折され、光がTIRから逃散し、一次導波管632bの面から発せられることを可能にする。いくつかの実施形態では、DOE632aの半径方向対称回折パターンは、加えて、ある焦点レベルを回折された光に付与し、個々のビームの光波面を成形(例えば、曲率を付与する)し、かつビームを設計される焦点レベルに整合する角度に操向することの両方を行う。
【0071】
故に、これらの異なる経路は、異なる角度におけるDOE632aの多重度、焦点レベル、および/または射出瞳において異なる充填パターンをもたらすことによって、光を一次平面導波管632bの外部で結合させることができる。射出瞳における異なる充填パターンは、有利には、複数の深度平面を伴うライトフィールドディスプレイを生成するために使用されることができる。導波管アセンブリ内の各層またはスタック内の層のセット(例えば、3層)が、個別の色(例えば、赤色、青色、緑色)を生成するために採用されてもよい。したがって、例えば、第1の3つの隣接する層のセットが、それぞれ、赤色、青色および緑色光を第1の焦点深度において生成するために採用されてもよい。第2の3つの隣接する層のセットが、それぞれ、赤色、青色、および緑色光を第2の焦点深度において生成するために採用されてもよい。複数のセットが、種々の焦点深度を伴うフル3Dまたは4Dカラー画像ライトフィールドを生成するために採用されてもよい。
【0072】
(ウェアラブルシステムの他のコンポーネント)
多くの実装では、ウェアラブルシステムは、上記に説明されるウェアラブルシステムのコンポーネントに加えて、またはその代替として、他のコンポーネントを含んでもよい。ウェアラブルシステムは、例えば、1つまたはそれを上回る触知デバイスまたはコンポーネントを含んでもよい。触知デバイスまたはコンポーネントは、触覚をユーザに提供するように動作可能であってもよい。例えば、触知デバイスまたはコンポーネントは、仮想コンテンツ(例えば、仮想オブジェクト、仮想ツール、他の仮想構造)に触れると、圧力および/またはテクスチャの感覚を提供してもよい。触覚は、仮想オブジェクトが表す物理的オブジェクトの感覚を再現してもよい、または仮想コンテンツが表す想像上のオブジェクトまたはキャラクタ(例えば、ドラゴン)の感覚を再現してもよい。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって装着されてもよい(例えば、ユーザウェアラブルグローブ)。いくつかの実装では、触知デバイスまたはコンポーネントは、ユーザによって保持されてもよい。
【0073】
ウェアラブルシステムは、例えば、ユーザによって操作可能であって、ウェアラブルシステムへの入力またはそれとの相互作用を可能にする、1つまたはそれを上回る物理的オブジェクトを含んでもよい。これらの物理的オブジェクトは、本明細書では、トーテムと称され得る。いくつかのトーテムは、例えば、金属またはプラスチック片、壁、テーブルの表面等、無生物オブジェクトの形態をとってもよい。ある実装では、トーテムは、実際には、任意の物理的入力構造(例えば、キー、トリガ、ジョイスティック、トラックボール、ロッカスイッチ)を有していなくてもよい。代わりに、トーテムは、単に、物理的表面を提供してもよく、ウェアラブルシステムは、ユーザにトーテムの1つまたはそれを上回る表面上にあるように見えるように、ユーザインターフェースをレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムの1つまたはそれを上回る表面上に常駐するように見えるように、コンピュータキーボードおよびトラックパッドの画像をレンダリングしてもよい。例えば、ウェアラブルシステムは、トーテムとしての役割を果たす、アルミニウムの薄い長方形プレートの表面上に見えるように、仮想コンピュータキーボードおよび仮想トラックパッドをレンダリングしてもよい。長方形プレート自体は、任意の物理的キーまたはトラックパッドまたはセンサを有していない。しかしながら、ウェアラブルシステムは、仮想キーボードまたは仮想トラックパッドを介して行われた選択または入力として、長方形プレートを用いたユーザ操作または相互作用またはタッチを検出し得る。ユーザ入力デバイス466(図4に示される)は、トラックパッド、タッチパッド、トリガ、ジョイスティック、トラックボール、ロッカまたは仮想スイッチ、マウス、キーボード、多自由度コントローラ、または別の物理的入力デバイスを含み得る、トーテムの実施形態であってもよい。ユーザは、単独で、または姿勢と組み合わせて、トーテムを使用し、ウェアラブルシステムおよび/または他のユーザと相互作用してもよい。
【0074】
本開示のウェアラブルデバイス、HMD、およびディスプレイシステムと使用可能な触知デバイスおよびトーテムの実施例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明されている。
【0075】
(例示的ウェアラブルシステム、環境、およびインターフェース)
ウェアラブルシステムは、高被写界深度をレンダリングされたライトフィールド内で達成するために、種々のマッピング関連技法を採用してもよい。仮想世界をマッピングする際、実世界内の全ての特徴および点を把握し、仮想オブジェクトを実世界に関連して正確に描くことが有利である。この目的を達成するために、ウェアラブルシステムのユーザから捕捉されたFOV画像が、実世界の種々の点および特徴についての情報を伝達する新しい写真を含むことによって、世界モデルに追加されることができる。例えば、ウェアラブルシステムは、マップ点(2D点または3D点等)のセットを収集し、新しいマップ点を見出し、世界モデルのより正確なバージョンをレンダリングすることができる。第1のユーザの世界モデルは、第2のユーザが第1のユーザを囲繞する世界を体験し得るように、(例えば、クラウドネットワーク等のネットワークを経由して)第2のユーザに通信されることができる。
【0076】
図7は、MR環境700の実施例のブロック図である。MR環境700は、入力(例えば、ユーザのウェアラブルシステムからの視覚的入力702、室内カメラ等の定常入力704、種々のセンサからのセンサ入力706、ユーザ入力デバイス466からのジェスチャ、トーテム、眼追跡、ユーザ入力等)を1またはそれを上回るユーザのウェアラブルシステム(例えば、ウェアラブルシステム200またはディスプレイシステム220)または定常室内システム(例えば、室内カメラ等)から受信するように構成されてもよい。ウェアラブルシステムは、種々のセンサ(例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、GPSセンサ、内向きに面したイメージングシステム、外向きに面したイメージングシステム等)を使用して、ユーザの環境の場所および種々の他の属性を判定することができる。本情報はさらに、異なる視点からの画像または種々のキューを提供し得る、部屋内の定常カメラからの情報で補完されてもよい。カメラ(室内カメラまたは外向きに面したイメージングシステムのカメラ等)によって取得された画像データは、マッピング点のセットに低減されてもよい。
【0077】
1つまたはそれを上回るオブジェクト認識装置708が、受信されたデータ(例えば、点の集合)を通してクローリングし、点を認識またはマッピングし、画像をタグ付けし、マップデータベース710を用いて、意味論情報をオブジェクトに結び付けることができる。マップデータベース710は、経時的に収集された種々の点およびその対応するオブジェクトを備えてもよい。種々のデバイスおよびマップデータベースは、ネットワーク(例えば、LAN、WAN等)を通して相互に接続され、クラウドにアクセスすることができる。
【0078】
本情報およびマップデータベース内の点集合に基づいて、オブジェクト認識装置708a-708nは、環境内のオブジェクトを認識してもよい。例えば、オブジェクト認識装置は、顔、人物、窓、壁、ユーザ入力デバイス、テレビ、ユーザの環境内の他のオブジェクト等を認識することができる。1つまたはそれを上回るオブジェクト認識装置が、ある特性を伴うオブジェクトのために特殊化されてもよい。例えば、オブジェクト認識装置708aは、顔を認識するために使用されてもよい一方、別のオブジェクト認識装置は、トーテムを認識するために使用されてもよい。
【0079】
オブジェクト認識は、種々のコンピュータビジョン技法を使用して実施されてもよい。例えば、ウェアラブルシステムは、外向きに面したイメージングシステム464(図4に示される)によって入手された画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識、オブジェクト姿勢推定、学習、インデックス化、運動推定、または画像復元等を実施することができる。1つまたはそれを上回るコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用されてもよい。コンピュータビジョンアルゴリズムの非限定的実施例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、配向FASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク等(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
【0080】
オブジェクト認識は、加えて、または代替として、種々の機械学習アルゴリズムによって実施されることができる。いったん訓練されると、機械学習アルゴリズムは、HMDによって記憶されることができる。機械学習アルゴリズムのいくつかの実施例は、教師ありまたは教師なし機械学習アルゴリズムを含むことができ、回帰アルゴリズム(例えば、通常の最小2乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイズアルゴリズム(例えば、単純ベイズ等)、クラスタリングアルゴリズム(例えば、k-平均クラスタリング等)、関連付けルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、Perceptron等)、深層学習アルゴリズム(例えば、Deep Boltzmann Machine、すなわち、深層ニューラルネットワーク等)、次元削減アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、Stacked Generalization等)、および/または他の機械学習アルゴリズムを含む。いくつかの実施形態では、個々のモデルは、個々のデータセットのためにカスタマイズされることができる。例えば、ウェアラブルデバイスは、ベースモデルを生成または記憶することができる。ベースモデルは、開始点として使用され、データタイプ(例えば、テレプレゼンスセッション内の特定のユーザ)、データセット(例えば、テレプレゼンスセッション内のユーザの取得される付加的画像のセット)、条件付き状況、または他の変形例に特有の付加的モデルを生成してもよい。いくつかの実施形態では、ウェアラブルHMDは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用することを含んでもよい。
【0081】
マップデータベース内の本情報および点の集合に基づいて、オブジェクト認識装置708a-708nは、オブジェクトを認識し、オブジェクトを意味論情報で補完し、命をオブジェクトに与えてもよい。例えば、オブジェクト認識装置が、点のセットがドアであることを認識する場合、システムは、いくつかの意味論情報を結び付けてもよい(例えば、ドアは、ヒンジを有し、ヒンジを中心として90度移動を有する)。オブジェクト認識装置が、点のセットが鏡であることを認識する場合、システムは、鏡が、部屋内のオブジェクトの画像を反射させ得る、反射表面を有するという意味論情報を結び付けてもよい。経時的に、マップデータベースは、システム(ローカルに常駐し得る、または無線ネットワークを通してアクセス可能であり得る)がより多くのデータを世界から蓄積するにつれて成長する。いったんオブジェクトが認識されると、情報は、1つまたはそれを上回るウェアラブルシステムに伝送されてもよい。例えば、MR環境700は、Californiaで生成している場面についての情報を含んでもよい。環境700は、New Yorkにおける1人またはそれを上回るユーザに伝送されてもよい。FOVカメラおよび他の入力から受信されたデータに基づいて、オブジェクト認識装置および他のソフトウェアコンポーネントは、場面が世界の異なる部分に存在し得る第2のユーザに正確に「パス」され得るように、種々の画像から収集された点をマッピングし、オブジェクトを認識すること等ができる。環境700はまた、場所特定目的のために、トポロジマップを使用してもよい。
【0082】
図8は、認識されたオブジェクトに関連して仮想コンテンツをレンダリングする方法800の実施例のプロセスフロー図である。方法800は、仮想場面がウェアラブルシステムのユーザに表され得る方法を説明する。ユーザは、その場面から地理的に遠隔に存在してもよい。例えば、ユーザは、New Yorkに存在し得るが、Californiaで現在起こっている場面を視認することを所望し得る、またはCaliforniaに存在する友人と散歩に行くことを所望し得る。
【0083】
ブロック810では、ウェアラブルシステムは、ユーザの環境に関する入力をユーザおよび他のユーザから受信してもよい。これは、種々の入力デバイスおよびマップデータベース内にすでに保有されている知識を通して達成されてもよい。ユーザのFOVカメラ、センサ、GPS、眼追跡等が、ブロック810において、情報をシステムに伝達する。システムは、ブロック820において、本情報に基づいて、スパース点(sparse point)を判定してもよい。スパース点は、ユーザの周囲における種々のオブジェクトの配向および位置を表示および理解する際に使用され得る、姿勢データ(例えば、頭部姿勢、眼姿勢、身体姿勢、または手のジェスチャ)を判定する際に使用されてもよい。オブジェクト認識装置708a~708nは、ブロック830において、これらの収集された点を通してクローリングし、マップデータベースを使用して、1つまたはそれを上回るオブジェクトを認識してもよい。本情報は、次いで、ブロック840において、ユーザの個々のウェアラブルシステムに伝達されてもよく、所望の仮想場面が、ブロック850において、適宜、ユーザに表示されてもよい。例えば、所望の仮想場面(例えば、CAにおけるユーザ)が、New Yorkにおけるユーザの種々のオブジェクトおよび他の周囲に関連して、適切な配向、位置等において表示されてもよい。
【0084】
図9は、ウェアラブルシステムの別の実施例のブロック図である。本実施例では、ウェアラブルシステム900は、世界に関するマップデータを含み得る、マップを備える。マップは、部分的に、ウェアラブルシステム上にローカルに常駐してもよく、部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、クラウドシステム内)に常駐してもよい。姿勢プロセス910が、ウェアラブルコンピューティングアーキテクチャ(例えば、処理モジュール260またはコントローラ460)上で実行され、ウェアラブルコンピューティングハードウェアまたはユーザの位置および配向を判定するために、マップからのデータを利用してもよい。姿勢データは、ユーザが、システムを体験し、その世界内で動作するにつれて、オンザフライで収集されたデータから算出されてもよい。データは、実または仮想環境内のオブジェクトに関する画像、センサ(概して、加速度計およびジャイロスコープコンポーネントを備える、慣性測定ユニット等)からのデータ、および表面情報を備えてもよい。
【0085】
スパース点表現は、同時場所特定およびマッピング(入力が画像/視覚のみである構成を指す、SLAMまたはV-SLAM)プロセスの出力であってもよい。システムは、世界内の種々のコンポーネントの場所だけではなく、世界が成っているものを見出すように構成されることができる。姿勢は、マップを埋めることおよびマップからのデータを使用することを含め、多くの目標を達成する、構築ブロックであってもよい。
【0086】
一実施形態では、スパース点位置は、それ自体では完全に適正であり得ず、さらなる情報が、多焦点AR、VR、またはMR体験を生成するために必要とされ得る。概して、深度マップ情報を指す、稠密表現が、少なくとも部分的に、本間隙を充填するために利用されてもよい。そのような情報は、立体視940と称されるプロセスから算出されてもよく、深度情報は、三角測量または飛行時間感知等の技法を使用して判定される。画像情報およびアクティブパターン(アクティブプロジェクタを使用して生成される赤外線パターン等)が、立体視プロセス940への入力としての役割を果たし得る。有意な量の深度マップ情報が、ともに融合されてもよく、このうちのいくつかは、表面表現を用いて要約されてもよい。例えば、数学的に定義可能な表面は、ゲームエンジンのような他の処理デバイスへの効率的(例えば、大規模点クラウドと比較して)かつ摘要可能な入力であってもよい。したがって、立体視プロセス(例えば、深度マップ)940の出力は、融合プロセス930において組み合わせられてもよい。姿勢は、同様に、本融合プロセス930への入力であってもよく、融合930の出力は、マッププロセス920を埋めるための入力となる。サブ表面が、トポグラフィマッピング等において相互に接続し、より大きい表面を形成してもよく、マップは、点および表面の大規模ハイブリッドとなる。
【0087】
複合現実プロセス960における種々の側面を解決するために、種々の入力が、利用されてもよい。例えば、図9に描写される実施形態では、ゲームパラメータは、システムのユーザが1匹またはそれを上回るモンスタと種々の場所においてモンスタバトルゲームをプレーしていること、種々の条件(ユーザがモンスタを撃つ場合等)下でモンスタが死んでいるかまたは逃げていること、種々の場所における壁または他のオブジェクト、および同等物を判定するための入力であってもよい。世界マップは、複合現実に対する別の有用な入力となる、そのようなオブジェクトが相互に対して存在する場所に関する情報を含んでもよい。世界に対する姿勢は、同様に、入力となり、ほぼあらゆる双方向システムに対して重要な役割を果たす。
【0088】
ユーザからの制御または入力は、ウェアラブルシステム900への別の入力である。本明細書に説明されるように、ユーザ入力は、視覚的入力、ジェスチャ、トーテム、オーディオ入力、センサ入力等を含むことができる。動き回るまたはゲームをプレーするために、例えば、ユーザは、ウェアラブルシステム900に、何をしたいかに関して命令する必要があり得る。空間内で自ら移動するだけではなく、利用され得る種々の形態のユーザ制御が、存在する。一実施形態では、トーテム(例えば、ユーザ入力デバイス)、または玩具銃等のオブジェクトが、ユーザによって保持され、システムによって追跡されてもよい。システムは、好ましくは、ユーザがアイテムを保持していることを把握し、ユーザがアイテムと行っている相互作用の種類を理解するように構成されるであろう(例えば、トーテムまたはオブジェクトが、銃である場合、システムは、場所および配向だけではなく、ユーザが、そのようなアクティビティがカメラのいずれかの視野内にないときでも何が起こっているかを判定することを補助し得るセンサ(IMU等)を装備し得るトリガまたは他の感知ボタンまたは要素をクリックしているかどうかも理解するように構成されてもよい。)
【0089】
手のジェスチャ追跡または認識もまた、入力情報を提供してもよい。ウェアラブルシステム900は、ボタン押下のため、左または右、停止、握持、保持等をジェスチャするために、手のジェスチャを追跡および解釈するように構成されてもよい。例えば、1つの構成では、ユーザは、非ゲーム環境において電子メールまたはカレンダを通してフリップする、または別の人物または演奏者と「フィストバンプ」を行うことを所望し得る。ウェアラブルシステム900は、動的であり得る、またはそうではない場合がある、最小量の手のジェスチャを活用するように構成されてもよい。例えば、ジェスチャは、停止を示すために手を広げる、OKを示すために親指を上げる、OKではないことを示すために親指を下げる、または指向性コマンドを示すために左右または上下に手をフリップする等、単純な静的ジェスチャであってもよい。
【0090】
眼追跡は、別の入力である(例えば、ユーザが見ている場所を追跡し、ディスプレイ技術を制御し、具体的深度または範囲においてレンダリングする)。一実施形態では、眼の輻輳・開散運動が、三角測量を使用して判定されてもよく、次いで、その特定の人物のために開発された輻輳・開散運動/遠近調節モデルを使用して、遠近調節が、判定されてもよい。
【0091】
カメラシステムに関して、図9に示される例示的ウェアラブルシステム900は、3つの対のカメラ、すなわち、ユーザの顔の両側に配列される相対的広FOVまたは受動SLAM対のカメラと、ユーザの正面に配向され、立体視イメージングプロセス940をハンドリングし、また、ユーザの顔の正面の手のジェスチャおよびトーテム/オブジェクトの軌道を捕捉するための異なる対のカメラとを含むことができる。ステレオプロセス940に対するFOVカメラおよび対のカメラは、外向きに面したイメージングシステム464(図4に示される)の一部であってもよい。ウェアラブルシステム900は、眼ベクトルおよび他の情報を三角測量するために、ユーザの眼に向かって配向される眼追跡カメラ(図4に示される内向きに面したイメージングシステム462の一部であってもよい)を含むことができる。ウェアラブルシステム900はまた、1つまたはそれを上回るテクスチャ化光プロジェクタ(赤外線(IR)プロジェクタ等)を備え、テクスチャを場面の中に投入してもよい。
【0092】
図10は、ウェアラブルシステムへのユーザ入力を判定するための方法1000の実施例のプロセスフロー図である。本実施例では、ユーザは、トーテムと相互作用してもよい。ユーザは、複数のトーテムを有してもよい。例えば、ユーザは、ソーシャルメディアアプリケーションのための指定される1つのトーテム、ゲームをプレーするための別のトーテム等を有してもよい。ブロック1010では、ウェアラブルシステムは、トーテムの運動を検出してもよい。トーテムの移動は、外向きに面したシステムを通して認識されてもよい、またはセンサ(例えば、触知グローブ、画像センサ、手追跡デバイス、眼追跡カメラ、頭部姿勢センサ等)を通して検出されてもよい。
【0093】
少なくとも部分的に、検出されたジェスチャ、眼姿勢、頭部姿勢、またはトーテムを通した入力に基づいて、ウェアラブルシステムは、ブロック1020において、基準フレームに対するトーテム(またはユーザの眼または頭部またはジェスチャ)の位置、配向、および/または移動を検出する。基準フレームは、それに基づいてウェアラブルシステムがトーテム(またはユーザ)の移動をアクションまたはコマンドに変換する、マップ点のセットであってもよい。ブロック1030では、トーテムとのユーザの相互作用が、マッピングされる。基準フレーム1020に対するユーザ相互作用のマッピングに基づいて、システムは、ブロック1040において、ユーザ入力を判定する。
【0094】
例えば、ユーザは、トーテムまたは物理的オブジェクトを前後に移動させ、仮想ページを捲り、次のページに移動する、または1つのユーザインターフェース(UI)ディスプレイ画面から別のUI画面に移動することを示してもよい。別の実施例として、ユーザは、ユーザのFOR内の異なる実または仮想オブジェクトを見るために、その頭部または眼を移動させてもよい。特定の実または仮想オブジェクトにおけるユーザの注視が、閾値時間より長い場合、その実または仮想オブジェクトは、ユーザ入力として選択されてもよい。いくつかの実装では、ユーザの眼の輻輳・開散運動が、追跡されることができ、遠近調節/輻輳・開散運動モデルが、ユーザが合焦している深度平面に関する情報を提供する、ユーザの眼の遠近調節状態を判定するために使用されることができる。いくつかの実装では、ウェアラブルシステムは、レイキャスティング技法を使用して、ユーザの頭部姿勢または眼姿勢の方向に沿っている実または仮想オブジェクトを判定することができる。種々の実装では、レイキャスティング技法は、実質的に殆ど横幅を伴わない細い光線束を投じる、または実質的横幅を伴う光線(例えば、円錐または円錐台)を投じることを含むことができる。
【0095】
ユーザインターフェースは、本明細書に説明されるようなディスプレイシステム(図2におけるディスプレイ220等)によって投影されてもよい。また、それは、1つまたはそれを上回るプロジェクタ等の種々の他の技法を使用して表示されてもよい。プロジェクタは、画像をキャンバスまたは球体等の物理的オブジェクト上に投影してもよい。ユーザインターフェースとの相互作用は、システムの外部またはシステムの一部の1つまたはそれを上回るカメラを使用して(例えば、内向きに面したイメージングシステム462または外向きに面したイメージングシステム464を使用して)追跡されてもよい。
【0096】
図11は、仮想ユーザインターフェースと相互作用するための方法1100の実施例のプロセスフロー図である。方法1100は、本明細書に説明されるウェアラブルシステムによって行われてもよい。
【0097】
ブロック1110では、ウェアラブルシステムは、特定のUIを識別してもよい。UIのタイプは、ユーザによって与えられてもよい。ウェアラブルシステムは、特定のUIがユーザ入力(例えば、ジェスチャ、視覚的データ、オーディオデータ、感覚データ、直接コマンド等)に基づいてポピュレートされる必要があることを識別してもよい。ブロック1120では、ウェアラブルシステムは、仮想UIのためのデータを生成してもよい。例えば、UIの境界、一般的構造、形状等と関連付けられたデータが、生成されてもよい。加えて、ウェアラブルシステムは、ウェアラブルシステムがユーザの物理的場所に関連してUIを表示し得るように、ユーザの物理的場所のマップ座標を判定してもよい。例えば、UIが、身体中心である場合、ウェアラブルシステムは、リングUIがユーザの周囲に表示され得る、または平面UIが壁上またはユーザの正面に表示され得るように、ユーザの物理的立ち位置、頭部姿勢、または眼姿勢の座標を判定してもよい。UIが、手中心の場合、ユーザの手のマップ座標が、判定されてもよい。これらのマップ点は、FOVカメラ、センサ入力を通して受信されたデータ、または任意の他のタイプの収集されたデータを通して導出されてもよい。
【0098】
ブロック1130では、ウェアラブルシステムは、データをクラウドからディスプレイに送信してもよい、またはデータは、ローカルデータベースからディスプレイコンポーネントに送信されてもよい。ブロック1140では、UIは、送信されたデータに基づいて、ユーザに表示される。例えば、ライトフィールドディスプレイは、仮想UIをユーザの眼の一方または両方の中に投影することができる。いったん仮想UIが生成されると、ウェアラブルシステムは、ブロック1150において、単に、ユーザからのコマンドを待機し、より多くの仮想コンテンツを仮想UI上に生成してもよい。例えば、UIは、ユーザの身体の周囲の身体中心リングであってもよい。ウェアラブルシステムは、次いで、コマンド(ジェスチャ、頭部または眼移動、ユーザ入力デバイスからの入力等)を待機してもよく、認識される場合(ブロック1160)、コマンドと関連付けられた仮想コンテンツが、ユーザに表示されてもよい(ブロック1170)。実施例として、ウェアラブルシステムは、複数のステムトラックをミックスする前に、ユーザの手のジェスチャを待機してもよい。
【0099】
ウェアラブルシステム、UI、およびユーザ体験(UX)の付加的実施例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明されている。
【0100】
(コンテキスト情報に基づくユーザ相互作用の概要)
ウェアラブルシステムは、コンテキスト情報に基づいて、FOR内のオブジェクトとの種々のユーザ相互作用をサポートすることができる。例えば、ウェアラブルシステムは、ユーザが円錐投射を使用してオブジェクトと相互作用することに伴って、円錐投射の開口のサイズを調節することができる。別の実施例として、ウェアラブルシステムは、コンテキスト情報に基づいて、ユーザ入力デバイスの作動と関連付けられた仮想オブジェクトの移動量を調節することができる。これらの相互作用の詳細な実施例は、以下に提供される。
【0101】
(例示的オブジェクト)
ユーザのFORは、ウェアラブルシステムを介して、ユーザによって知覚され得る、オブジェクトのグループを含有することができる。ユーザのFOR1200内のオブジェクトは、仮想および/または物理的オブジェクトであってもよい。仮想オブジェクトは、例えば、削除されたファイルのためのゴミ箱、コマンドを入力するための端末、ファイルまたはディレクトリにアクセスするためのファイルマネージャ、アイコン、メニュー、オーディオまたはビデオストリーミングのためのアプリケーション、オペレーティングシステムからの通知等のオペレーティングシステムオブジェクトを含んでもよい。仮想オブジェクトはまた、例えば、アバタ、ゲーム内の仮想オブジェクト、グラフィックまたは画像等、アプリケーション内のオブジェクトを含んでもよい。いくつかの仮想オブジェクトは、オペレーティングシステムオブジェクトおよびアプリケーション内のオブジェクトの両方であることができる。いくつかの実施形態では、ウェアラブルシステムは、仮想要素を既存の物理的オブジェクトに追加することができる。例えば、ウェアラブルシステムは、部屋内のテレビと関連付けられた仮想メニューを追加してもよく、仮想メニューは、ユーザに、ウェアラブルシステムを使用して、テレビをオンにする、またはチャンネルを変更するためのオプションを与えてもよい。
【0102】
ユーザのFOR内のオブジェクトは、図9を参照して説明されるような世界マップの一部であることができる。オブジェクトと関連付けられたデータ(例えば、場所、意味情報、性質等)が、例えば、アレイ、リスト、ツリー、ハッシュ、グラフ等の種々のデータ構造内に記憶されることができる。各記憶されたオブジェクトのインデックスは、適用可能である場合、例えば、オブジェクトの場所によって判定されてもよい。例えば、データ構造は、基準位置からのオブジェクトの距離等の単一座標によって、オブジェクトをインデックス化してもよい(例えば、基準位置の左(または右)までの距離、基準位置の上部(または底部)からの距離、または基準位置からの深度)。いくつかの実装では、ウェアラブルシステムは、ユーザに対して仮想オブジェクトを異なる深度平面に表示可能なライトフィールドディスプレイを備える。相互作用可能オブジェクトは、異なる固定深度平面に位置する複数のアレイの中に編成されることができる。
【0103】
ユーザは、ユーザのFOR内のオブジェクトのサブセットと相互作用することができる。本オブジェクトのサブセットは、時として、相互作用可能オブジェクトと称され得る。ユーザは、例えば、オブジェクトを選択することによって、オブジェクトを移動させることによって、オブジェクトと関連付けられたメニューまたはツールバーを開くことによって、または相互作用可能オブジェクトの新しいセットを選定することによって等、種々の技法を使用してオブジェクトと相互作用することができる。ユーザは、例えば、マウスをクリックする、タッチパッドをタップする、タッチスクリーンをスワイプする、容量ボタンに手をかざす、またはそれをタッチする、キーボードまたはゲームコントローラ(例えば、5方向d-パッド)上のキーを押下する、ジョイスティック、ワンド、またはトーテムをオブジェクトに向かって向ける、遠隔制御上のボタンを押下する、またはユーザ入力デバイス等との他の相互作用等、手のジェスチャを使用して、ユーザ入力デバイス(例えば、図4におけるユーザ入力デバイス466参照)を作動させることによって、相互作用可能オブジェクトと相互作用してもよい。ユーザはまた、例えば、ある時間期間にわたってオブジェクトを注視する、または指し示す等、頭部、眼、または身体姿勢を使用して、相互作用可能オブジェクトと相互作用してもよい。これらの手のジェスチャおよびユーザの姿勢は、ウェアラブルシステムに、選択イベントを開始させることができ、例えば、ユーザインターフェース動作が実施される(標的相互作用可能オブジェクトと関連付けられたメニューが表示される、ゲーム内のアバタ上でゲーム動作が実施される等)。
【0104】
(円錐投射の実施例)
本明細書に説明されるように、ユーザは、姿勢を使用して、その環境内のオブジェクトと相互作用することができる。例えば、ユーザが、部屋を見渡すと、テーブル、椅子、壁、および壁のうちの1つ上の仮想テレビディスプレイが見え得る。ユーザが見ているオブジェクトを判定するために、ウェアラブルシステムは、円錐投射技法を使用してもよく、これは、概して説明すると、不可視の円錐をユーザが見ている方向に投影し、円錐と交差する任意のオブジェクトを識別するものである。円錐投射は、(ウェアラブルシステムの)HMDから物理的または仮想オブジェクトに向かって、側方厚さを有していない、単一光線を投射することを伴い得る。単一光線を伴う円錐投射はまた、光線投射とも称され得る。
【0105】
光線投射は、衝突検出エージェントを使用して、光線に沿ってトレースし、任意のオブジェクトが光線と交差するかどうかと、その場所を識別することができる。ウェアラブルシステムは、慣性測定ユニット(例えば、加速度計)、眼追跡カメラ等を使用して、ユーザの姿勢(例えば、身体、頭部、または眼方向)を追跡し、ユーザが見ている方向を判定することができる。ウェアラブルシステムは、ユーザの姿勢を使用して、光線を投射すべき方向を判定することができる。光線投射技法はまた、ハンドヘルド多自由度(DOF)入力デバイス等のユーザ入力デバイス466と併用されることができる。例えば、ユーザは、マルチDOF入力デバイスを作動させ、ユーザが動き回る間、光線のサイズおよび/または長さをアンカリングすることができる。別の実施例として、光線をHMDから投射するのではなく、ウェアラブルシステムは、光線をユーザ入力デバイスから投射することができる。
【0106】
ある実施形態では、無視可能厚を伴う光線を投射するのではなく、ウェアラブルシステムは、無視不可能開口(中心光線1224を横断する)を有する円錐を投射することができる。図12Aは、無視不可能開口を伴う円錐投射の実施例を図示する。円錐投射は、調節可能開口を伴う円錐形(または他の形状)の体積1220を投射することができる。円錐1220は、幾何学的円錐であることができ、これは、近位端1228aと、遠位端1228bとを有する。開口のサイズは、円錐の遠位端1228bのサイズに対応することができる。例えば、大開口は、円錐の遠位端1228b(例えば、HMD、ユーザ、またはユーザ入力デバイスから離れた端部)における大表面積に対応してもよい。別の実施例として、大開口は、円錐1220の遠位端1228b上の大きな直径1226に対応することができる一方、小開口は、円錐1220の遠位端1228b上の小さな直径1226に対応することができる。図12Aをさらに参照して説明されるように、円錐1220の近位端1228aは、その原点を種々の位置、例えば、ユーザのARDの中心(例えば、ユーザの眼間)、ユーザの四肢(例えば、手の指等の手)のうちの1つ上の点、ユーザによって保持または操作されるユーザ入力デバイスまたはトーテム(例えば、玩具の武器)を有することができる。
【0107】
中心光線1224は、円錐の方向を表すことができる。円錐の方向は、ユーザの身体姿勢(頭部姿勢、手のジェスチャ等)またはユーザの注視方向(眼姿勢とも称される)に対応することができる。図12Aにおける実施例1206は、姿勢を伴う円錐投射を図示し、ウェアラブルシステムは、ユーザの頭部姿勢または眼姿勢を使用して、円錐の方向1224を判定することができる。本実施例はまた、頭部姿勢のための座標系を図示する。頭部1250は、多自由度を有してもよい。頭部1250が異なる方向に向かって移動するにつれて、頭部姿勢は、自然静止方向1260に対して変化するであろう。図12Aにおける座標系は、頭部姿勢を頭部の自然静止状態1260に対して測定するために使用され得る、3つの角度自由度(例えば、ヨー、ピッチ、およびロール)を示す。図12Aに図示されるように、頭部1250は、前後に傾斜する(例えば、ピッチ)、左右に方向転換する(例えば、ヨー)、および横方向に傾斜する(例えば、ロール)ことができる。他の実装では、頭部姿勢を測定するための他の技法または角度表現、例えば、任意の他のタイプのオイラー角系も、使用されることができる。ウェアラブルシステムは、IMUを使用して、ユーザの頭部姿勢を判定してもよい。内向きに面したイメージングシステム462(図4に示される)は、ユーザの眼姿勢を判定するために使用されることができる。
【0108】
実施例1204は、姿勢を伴う円錐投射の別の実施例を示し、ウェアラブルシステムは、ユーザの手のジェスチャに基づいて、円錐の方向1224を判定することができる。本実施例では、円錐1220の近位端1228aは、ユーザの指1214の先端にある。ユーザが、その指を別の場所に向けるにつれて、円錐1220(および中心光線1224)の位置は、それに応じて移動されることができる。
【0109】
円錐の方向はまた、ユーザ入力デバイスの位置または配向またはユーザ入力デバイスの作動に対応することができる。例えば、円錐の方向は、ユーザ入力デバイスのタッチ表面上のユーザ描写軌道に基づいてもよい。ユーザは、その指をタッチ表面上で前方に移動させ、円錐の方向が前方であることを示すことができる。実施例1202は、ユーザ入力デバイスを用いた別の円錐投射を図示する。本実施例では、近位端1228aは、武器形状のユーザ入力デバイス1212の先端に位置する。ユーザ入力デバイス1212が、移動されるにつれて、円錐1220および中心光線1224もまた、ユーザ入力デバイス1212とともに移動することができる。
【0110】
円錐の方向はさらに、HMDの位置または配向に基づくことができる。例えば、円錐は、HMDが傾斜されているとき、第1の方向に、HMDが傾斜されていないとき、第2の方向に投射されてもよい。
【0111】
(円錐投射の開始)
ウェアラブルシステムは、ユーザ1210が、例えば、マウスをクリックする、タッチパッドをタップする、タッチスクリーンをスワイプする、容量ボタンに手をかざす、またはタッチする、キーボードまたはゲームコントローラ(例えば、5方向d-パッド)上のキーを押下する、ジョイスティック、ワンド、またはトーテムをオブジェクトに向かって向ける、遠隔制御上のボタンを押下する、またはユーザ入力デバイス等との他の相互作用によって、ユーザ入力デバイス466を作動させると、円錐投射を開始することができる。
【0112】
ウェアラブルシステムはまた、例えば、1つの方向に向かっての長時間の注視または手のジェスチャ(例えば、外向きに面したイメージングシステム464の正面で手を振る)等、ユーザの姿勢1210に基づいて、円錐投射を開始してもよい。いくつかの実装では、ウェアラブルシステムは、コンテキスト情報に基づいて、円錐投射イベントを自動的に開始することができる。例えば、ウェアラブルシステムは、ユーザが、ARディスプレイのメインページに居るとき、円錐投射を自動的に開始してもよい。別の実施例では、ウェアラブルシステムは、ユーザの注視方向におけるオブジェクトの相対的位置を判定することができる。ウェアラブルシステムが、オブジェクトが相互から比較的に離れて位置することを判定する場合、ウェアラブルシステムは、円錐投射を自動的に開始してもよく、したがって、ユーザは、疎らに位置するオブジェクトのグループ内のオブジェクトを選択するために、精度を伴って移動する必要はない。
【0113】
(円錐の例示的性質)
円錐1220は、例えば、サイズ、形状、または色等の種々の性質を有してもよい。これらの性質は、円錐がユーザに知覚可能であるように、ユーザに表示されてもよい。ある場合には、円錐1220の一部が、表示されてもよい(例えば、円錐の端部、円錐の表面、円錐の中心光線等)。他の実施形態では、円錐1220は、直方体、多面体、角錐、円錐台等であってもよい。円錐の遠位端1228bは、任意の断面、例えば、円形、卵形、多角形、または不規則形を有することができる。
【0114】
図12A、12B、および12Cでは、円錐1220は、近位端1228aと、遠位端1228bとを有することができる。近位端1228a(中心光線1224のゼロ点とも称される)は、円錐投射が生じる場所と関連付けられることができる。近位端1228aは、仮想円錐がその場所から放出されるように現れる、3D空間内の場所にアンカリングされてもよい。場所は、ユーザの頭部上の位置(ユーザの眼間等)、ポインタとして機能するユーザ入力デバイス(例えば、6DOFハンドヘルドコントローラまたは3DOFハンドヘルドコントローラ等)、指先(ジェスチャ認識によって検出されることができる)等であってもよい。ハンドヘルドコントローラに関して、近位端1228aがアンカリングされる場所は、デバイスの形状因子に依存してもよい。例えば、武器形状のコントローラ1212(シューティングゲームにおいて使用するため)では、近位端1228aは、コントローラ1212の銃口の先端にあってもよい。本実施例では、円錐の近位端1228aは、銃身の中心から生じ、円錐1220または(円錐1220の中心光線1224)は、円錐投射の中心が武器形状のコントローラ1212の銃身と同心となるであろうように、前方に投影することができる。円錐の近位端1228aは、種々の実施形態では、ユーザの環境内の任意の場所にアンカリングされることができる。
【0115】
いったん円錐1220の近位端1228aが、ある場所にアンカリングされると、円錐1220の方向および移動は、その場所と関連付けられたオブジェクトの移動に基づいてもよい。例えば、実施例1206を参照して説明されるように、円錐がユーザの頭部にアンカリングされると、円錐1220は、ユーザの頭部姿勢に基づいて移動することができる。別の実施例として、実施例1202では、円錐1220がユーザ入力デバイスにアンカリングされると、円錐1220は、ユーザ入力デバイスの作動に基づいて、例えば、ユーザ入力デバイスの位置または配向の変化に基づいて、移動されることができる。
【0116】
円錐の遠位端1228bは、終端閾値に到達するまで延在することができる。終端閾値は、円錐と環境内の仮想または物理的オブジェクト(例えば、壁)との間の衝突を伴ってもよい。終端閾値はまた、閾値距離に基づいてもよい。例えば、遠位端1228bは、円錐がオブジェクトと衝突するまで、または遠位端1228bと近位端1228aとの間の距離が閾値距離(例えば、20センチメートル、1メートル、2メートル、10メートル等)に到達するまで、近位端1228aから離れて延在し続けることができる。いくつかの実施形態では、円錐は、衝突が円錐とオブジェクトとの間に生じ得る場合でも、オブジェクトを越えて延在することができる。例えば、遠位端1228bは、実世界オブジェクト(テーブル、椅子、壁等)を通して延在し、終端閾値に到達すると終端することができる。終端閾値が、ユーザの現在の部屋の外側に位置する仮想部屋の壁であると仮定すると、ウェアラブルシステムは、仮想部屋の表面に到達するまで、円錐を現在の部屋を越えて延在させることができる。ある実施形態では、世界メッシュが、1つまたはそれを上回る部屋の広がりを定義するために使用されることができる。ウェアラブルシステムは、仮想円錐が世界メッシュの一部と交差しているかどうかを判定することによって、終端閾値の存在を検出することができる。有利には、いくつかの実施形態では、円錐が実世界オブジェクトを通して延在するとき、ユーザは、仮想オブジェクトを容易に標的化することができる。実施例として、HMDは、仮想穴を物理的壁上に提示することができ、ユーザが物理的に他の部屋内に存在しない場合でも、それを通してユーザは、他の部屋内の仮想コンテンツと遠隔で相互作用することができる。HMDは、図9に説明される世界マップに基づいて、他の部屋内のオブジェクトを判定することができる。
【0117】
円錐1220は、深度を有することができる。円錐1220の深度は、円錐1220の近位端1228aと遠位端1228bとの間の距離によって表されてもよい。円錐の深度は、ウェアラブルシステム、ユーザ、またはそれらの組み合わせによって、自動的に調節されることができる。例えば、ウェアラブルシステムが、オブジェクトがユーザから離れて位置することを判定すると、ウェアラブルシステムは、円錐の深度を増加させてもよい。いくつかの実装では、円錐の深度は、ある深度平面にアンカリングされてもよい。例えば、ユーザは、円錐の深度をユーザの1メートル以内の深度平面にアンカリングするように選定してもよい。その結果、円錐投射の間、ウェアラブルシステムは、1メートル境界の外側にあるオブジェクトを捕捉しないであろう。ある実施形態では、円錐の深度が、ある深度平面にアンカリングされる場合、円錐投射は、その深度平面におけるオブジェクトのみを捕捉するであろう。故に、円錐投射は、アンカリングされた深度平面よりユーザに近いまたはユーザから離れたオブジェクトを捕捉しないであろう。円錐1220の深度の設定に加え、またはその代替として、ウェアラブルシステムは、円錐投射が深度平面または深度平面未満におけるオブジェクトとのユーザ相互作用を可能にし得るように、遠位端1228bを深度平面に設定することができる。
【0118】
ウェアラブルシステムは、ある手のジェスチャ、身体姿勢、注視方向、ユーザ入力デバイスの作動、音声コマンド、または他の技法の検出に応じて、円錐の深度、近位端1228a、または遠位端1228bをアンカリングすることができる。本明細書に説明される実施例に加え、またはその代替として、近位端1228a、遠位端1228bのアンカリング場所、またはアンカリングされた深度は、例えば、ユーザ相互作用のタイプ、円錐がアンカリングされるオブジェクトの機能等のコンテキスト情報に基づくことができる。例えば、近位端1228aは、ユーザ有用性および操作感に起因して、ユーザの頭部の中心にアンカリングされることができる。別の実施例として、ユーザが、手のジェスチャまたはユーザ入力デバイスを使用して、オブジェクトを指し示すとき、近位端1228aは、ユーザの指先またはユーザ入力デバイスの先端にアンカリングされ、ユーザが指し示す方向の正確度を増加させることができる。
【0119】
円錐1220は、色を有することができる。円錐1220の色は、ユーザの選好、ユーザの環境(仮想または物理的)等に依存してもよい。例えば、ユーザが、緑色の葉が生い茂った木々の集合である、仮想ジャングル内に居るとき、ウェアラブルシステムは、ユーザが円錐の場所に関するより良好な可視性を有し得るように、濃灰色円錐を提供し、円錐とユーザの環境内のオブジェクトとの間のコントラストを増加させてもよい。
【0120】
ウェアラブルシステムは、ユーザへの表示のために、円錐の少なくとも一部の視覚的表現を生成することができる。円錐1220の性質は、円錐1220の視覚的表現内に反映されてもよい。円錐1220の視覚的表現は、円錐の開口、円錐の表面、中心光線等、円錐の少なくとも一部に対応することができる。例えば、仮想円錐が、幾何学的円錐である場合、仮想円錐の視覚的表現は、ユーザの眼間の位置から延在する、灰色幾何学的円錐を含んでもよい。別の実施例として、視覚的表現は、実または仮想コンテンツと相互作用する、円錐の部分を含んでもよい。仮想円錐が幾何学的円錐であると仮定すると、視覚的表現は、幾何学的円錐の底辺が仮想オブジェクトを標的化および選択するために使用され得るため、幾何学的円錐の底辺を表す円形パターンを含んでもよい。ある実施形態では、視覚的表現は、ユーザインターフェース動作に基づいてトリガされる。実施例として、視覚的表現は、オブジェクトの状態と関連付けられてもよい。ウェアラブルシステムは、オブジェクトが静止状態またはホバリング状態(オブジェクトが移動または選択されることができる)から変化すると、視覚的表現を提示することができる。ウェアラブルシステムはさらに、オブジェクトがホバリング状態から選択された状態に変化すると、視覚的表現を隠蔽することができる。いくつかの実装では、オブジェクトがホバリング状態にあるとき、ウェアラブルシステムは、入力をユーザ入力デバイスから受信することができ(円錐投射に加え、またはその代替として)、オブジェクトがホバリング状態にあるとき、ユーザがユーザ入力デバイスを使用して仮想オブジェクトを選択することを可能にすることができる。
【0121】
ある実施形態では、円錐1220は、ユーザに不可視であってもよい。ウェアラブルシステムは、焦点インジケータを1つまたはそれを上回るオブジェクトに割り当て、円錐の方向および/または場所を示してもよい。例えば、ウェアラブルシステムは、焦点インジケータを、ユーザの正面にあって、ユーザの注視方向と交差する、オブジェクトに割り当ててもよい。焦点インジケータは、後光、色、知覚されたサイズまたは深度変化(例えば、選択されると、標的オブジェクトをより近くにおよび/またはより大きく現せさせる)、カーソルスプライトグラフィックの形状変化(例えば、カーソルは、円形から矢印に変化される)、またはユーザの注意を引く他の可聴、触知、または視覚的効果を備えることができる。
【0122】
円錐1220は、中心光線1224を横断する開口を有することができる。いくつかの実施形態では、中心光線1224は、ユーザ1210に不可視である。開口のサイズは、円錐の遠位端1228bのサイズに対応することができる。例えば、大開口は、円錐1220の遠位端1228b上の大きな直径1226に対応することができる一方、小開口は、円錐1220の遠位端1228b上の小さな直径1226に対応することができる。
【0123】
図12Bおよび12Cを参照してさらに説明されるように、開口は、ユーザ、ウェアラブルシステム、またはそれらの組み合わせによって調節されることができる。例えば、ユーザは、ARディスプレイ上に示される開口のオプションの選択等、ユーザインターフェース動作を通して開口を調節してもよい。ユーザはまた、ユーザ入力デバイスを作動させることによって、例えば、ユーザ入力デバイスをスクロールすることによって、またはボタンを押下し、開口のサイズをアンカリングすることによって、開口を調節してもよい。ユーザからの入力に加えて、またはその代替として、ウェアラブルシステムは、以下に説明される1つまたはそれを上回るコンテキスト係数に基づいて、開口のサイズを更新することができる。
【0124】
(動的に更新される開口を伴う円錐投射の実施例)
円錐投射は、ユーザの環境内のオブジェクトと相互作用するとき、特に、それらのオブジェクトが、ユーザからの少量の移動が光線の大移動に変換され得る距離に位置するとき、精度を増加させるために使用されることができる。円錐投射はまた、円錐を1つまたはそれを上回る仮想オブジェクトに重複させるために、ユーザからの必要な移動量を減少させるためにも使用され得る。いくつかの実装では、ユーザは、例えば、多くのオブジェクトが存在するとき、より狭い円錐を使用し、より少ないオブジェクトが存在するとき、より広い円錐を使用することによって、円錐の開口を手動で更新し、標的オブジェクトを選択する速度および精度を改良することができる。他の実装では、ウェアラブルシステムは、手動更新に加えて、または代替として、ユーザの環境内のオブジェクトと関連付けられたコンテキスト係数を判定し、自動円錐更新を可能にすることができ、これは、ユーザ入力が殆ど必要とされないため、有利には、ユーザが環境内のオブジェクトと相互作用することをより容易にすることができる。
【0125】
図12Bおよび12Cは、ユーザのFOR1200内のオブジェクト(例えば、1230a、1230b、1230c、1230d、1230e)のグループ1230(これらのオブジェクトの少なくともいくつかは、ユーザのFOV内にある)上への円錐投射の実施例を提供する。オブジェクトは、仮想および/または物理的オブジェクトであってもよい。円錐投射の間、ウェアラブルシステムは、円錐(ユーザに可視または不可視)1220をある方向に投射し、円錐1220と交差する任意のオブジェクトを識別することができる。例えば、図12Bでは、オブジェクト1230a(太線で示される)が、円錐1220と交差する。図12Cでは、オブジェクト1230dおよび1230e(太線で示される)が、円錐1220と交差する。オブジェクト1230b、1230c(灰色で示される)は、円錐1220の外側にあって、円錐1220と交差しない。
【0126】
ウェアラブルシステムは、コンテキスト情報に基づいて、開口を自動的に更新することができる。コンテキスト情報は、ユーザの環境に関連する情報(例えば、ユーザの仮想または物理的環境の光条件)、ユーザの選好、ユーザの物理的条件(例えば、ユーザが近視であるかどうか)、ユーザの環境内のオブジェクトのタイプ(例えば、物理的または仮想的)等のユーザの環境内のオブジェクトと関連付けられた情報、またはオブジェクトのレイアウト(例えば、オブジェクトの密度、オブジェクトの場所およびサイズ等)、ユーザが相互作用するオブジェクトの特性(例えば、オブジェクトの機能、オブジェクトによってサポートされるユーザインターフェース動作のタイプ等)、それらの組み合わせ、または同等物を含んでもよい。密度は、例えば、投影された面積あたりのオブジェクトの数、立体角あたりのオブジェクトの数等、種々の方法において測定されることができる。密度は、例えば、近隣オブジェクト間の間隔(より小さい間隔は、密度増加を反映する)等の他の方法で表されてもよい。ウェアラブルシステムは、オブジェクトの場所情報を使用して、領域内のオブジェクトのレイアウトおよび密度を判定することができる。図12Bに示されるように、ウェアラブルシステムは、オブジェクトのグループ1230の密度が高いことを判定してもよい。ウェアラブルシステムは、故に、より小さい開口を伴う円錐1220を使用してもよい。図12Cでは、オブジェクト1230dおよび1230cは、相互から比較的に離れて位置するため、ウェアラブルシステムは、より大きい開口を伴う円錐1220(図12Bにおける円錐と比較して)を使用してもよい。オブジェクトの密度の計算および密度に基づく開口サイズの調節に関する付加的詳細はさらに、図12D-12Gに説明される。
【0127】
ウェアラブルシステムは、ユーザの姿勢に基づいて、開口(例えば、サイズまたは形状)を動的に更新することができる。例えば、ユーザは、最初に、図12Bにおけるオブジェクトのグループ1230を見ている場合があるが、ユーザがその頭部を方向転換するにつれて、ユーザは、図12Cにおけるオブジェクトのグループを見ることになり得る(オブジェクトは、相互に対して疎らに位置する)。その結果、ウェアラブルシステムは、開口のサイズを増加させてもよい(例えば、図12B図12Cとの間の円錐の開口の変化によって示されるように)。同様に、ユーザが、その頭部を戻し、図12Bにおけるオブジェクトのグループ1230を見る場合、ウェアラブルシステムは、開口のサイズを減少させてもよい。
【0128】
加えて、または代替として、ウェアラブルシステムは、ユーザの選好に基づいて、開口サイズを更新することができる。例えば、ユーザが、アイテムの大グループを同時に選択することを好む場合、ウェアラブルシステムは、開口のサイズを増加させてもよい。
【0129】
コンテキスト情報に基づいて開口を動的に更新する別の実施例として、ユーザが暗環境内に居る、またはユーザが近視である場合、ウェアラブルシステムは、ユーザがオブジェクトを捕捉することをより容易にするように、開口のサイズを増加させてもよい。ある実装では、第1の円錐投射は、複数のオブジェクトを捕捉することができる。ウェアラブルシステムは、第2の円錐投射を実施し、捕捉されたオブジェクト間の標的オブジェクトをさらに選択することができる。ウェアラブルシステムはまた、ユーザが、身体姿勢またはユーザ入力デバイスを使用して、標的オブジェクトを捕捉されたオブジェクトから選択することを可能にすることができる。オブジェクト選択プロセスは、再帰的プロセスであることができ、1回、2回、3回、またはそれを上回る円錐投射が、実施され、標的オブジェクトを選択してもよい。
【0130】
(オブジェクトの密度に基づく開口の動的更新の実施例)
図12Bおよび12Cを参照して説明されるように、円錐の開口は、ユーザのFOR内のオブジェクトの密度に基づいて、円錐投射の間、動的に更新されることができる。図12D、12E、12F、12Gは、オブジェクトの密度に基づいて、開口を動的に調節する実施例を説明する。図12Dは、ユーザのFOR1208内のオブジェクトの密度と関連付けられた等高線マップを図示する。仮想オブジェクト1271は、小テクスチャ化ドットによって表される。仮想オブジェクトの密度は、所与の領域内の等高線線の量によって反映される。例えば、等高線は、領域1272内で相互に近接し、領域1272内のオブジェクトの密度が高いことを表す。別の実施例として、領域1278内の等高線線は、比較的に疎らである。故に、領域1278内のオブジェクトの密度は、低い。
【0131】
開口1270の視覚的提示は、図12Dでは、陰影円形に図示される。本実施例における視覚的表現は、仮想円錐1220の遠位端1228bに対応することができる。開口サイズは、所与の領域内のオブジェクトの密度に基づいて変化することができる。例えば、開口サイズは、円形の中心がある、オブジェクトの密度に依存することができる。図12Dに図示されるように、開口が領域1272内にあるとき、開口1270のサイズは、減少することができる(開口円形の比較的に小サイズによって示されるように)。しかしながら、ユーザが、FOR1208内の領域1276から開始するとき、開口1270のサイズは、領域1272においてサイズが若干大きくなる。ユーザが、その頭部姿勢をさらに変化させ、領域1274を見ると、開口のサイズは、領域1274におけるオブジェクトの密度が領域1276のものより低いため、領域1276におけるサイズより大きくなる。さらに別の実施例として、領域1278では、開口1270のサイズは、FOR1208の領域1278内に任意のオブジェクトが殆ど存在しないため、増加するであろう。密度は、これらの実施例では、等高線マップを用いて図示されるが、密度はまた、ヒートマップ、表面プロット、または他のグラフィカルまたは数値表現を使用して判定されることもできる。一般に、用語「等高線マップ」は、これらの他のタイプの密度表現(1D、2D、または3Dにおいて)も含む。さらに、等高線マップは、概して、ユーザに提示されないが、ARDプロセッサによって計算および使用され、円錐の性質を動的に判定してもよい。等高線マップは、物理的または仮想オブジェクトがユーザのFOVまたはFOR内で移動するにつれて、動的に更新されてもよい。
【0132】
種々の技法が、オブジェクトの密度を計算するために採用されることができる。一実施例として、密度は、ユーザのFOV内の仮想オブジェクトの全てをカウントすることによって計算されることができる。仮想オブジェクトの数は、FOV内の仮想オブジェクトの数に基づいて開口のサイズを規定する、関数への入力として使用されてもよい。図12Eにおける画像1282aは、円形、楕円形、および三角形によって表される、3つの仮想オブジェクトと、テクスチャ化円形を使用して図示される、開口1280の仮想表現とを伴う、FOVを示す。しかしながら、仮想オブジェクトの数が、3つ(画像1282a内)から2つ(画像1282b内)に減少すると、開口1280のサイズは、それに応じて増加することができる。ウェアラブルシステムは、図12Fにおける関数1288を使用して、増加量を計算することができる。本図では、開口のサイズは、y-軸1286bによって表される一方、FOV内の仮想オブジェクトの数(または密度)は、x-軸1286aによって表される。図示されるように、仮想オブジェクトの数が、増加する(例えば、密度が増加する)と、開口のサイズは、関数1288に従って減少する。ある実施形態では、最小開口サイズは、ゼロであって、これは、円錐を単一光線に低減させる。関数1288は、線形関数として図示されるが、1つまたはそれを上回る冪乗則関数等の任意の他のタイプの関数もまた、使用されてもよい。いくつかの実施形態では、関数1288は、1つまたはそれを上回る閾値条件を含んでもよい。例えば、オブジェクトの密度が、ある低閾値に到達すると、開口1280のサイズは、オブジェクトの密度がさらに減少し得る場合でも、もはや増加しないであろう。一方、オブジェクトの密度が、ある高閾値に到達すると、開口1280のサイズは、オブジェクトの密度がさらに増加し得る場合でも、もはや減少しないであろう。しかしながら、密度が、低閾値と高閾値との間にあるとき、開口サイズは、例えば、指数関数に従って減少し得る。
【0133】
図12Gは、密度を計算するための別の例示的技法を図示する。例えば、FOV内の仮想オブジェクトの数を計算することに加え、またはその代替として、ウェアラブルシステムは、仮想オブジェクトによって被覆されるFOVのパーセンテージを計算することができる。画像1292aおよび1292bは、FOV内のオブジェクトの数に基づく開口サイズの調節を図示する。本実施例で図示されるように、仮想画像によって被覆されるFOVのパーセンテージは、画像1292aと1292bとの間で異なるが(画像1292a内のオブジェクトは、より疎らに位置付けられる)、開口1280のサイズは、オブジェクトの数(例えば、3つの仮想オブジェクト)が画像1292aおよび1292bにわたって同一であるため、これらの2つの画像において変化しない。対照的に、画像1294aおよび1294bは、仮想オブジェクトによって被覆されるFOVのパーセンテージに基づく開口サイズの調節を図示する。画像1294aに示されるように、開口1280は、より低いパーセンテージのFOVが仮想オブジェクトによって被覆されるため、サイズを増加させるであろう(画像1292a内の残りの同一のものとは対照的に)。
【0134】
(衝突の実施例)
ウェアラブルシステムは、1つまたはそれを上回るオブジェクトが、円錐投射の間、円錐と衝突するかどうかを判定することができる。ウェアラブルシステムは、衝突検出エージェントを使用して、衝突を検出してもよい。例えば、衝突検出エージェントは、円錐の表面と交差するオブジェクトを識別し、および/または円錐の内側にあるオブジェクトを識別することができる。ウェアラブルシステムは、円錐の体積および場所およびオブジェクトの場所情報(図9を参照して説明される世界マップ内に記憶されるように)に基づいて、そのような識別を行うことができる。ユーザの環境内のオブジェクトは、メッシュ(世界メッシュとも称される)と関連付けられてもよい。衝突検出エージェントは、円錐に関する部分がオブジェクトのメッシュと重複するかどうかを判定し、衝突を検出することができる。ある実装では、ウェアラブルシステムは、円錐とある深度平面上のオブジェクトとの間の衝突のみを検出するように構成されてもよい。
【0135】
ウェアラブルシステムは、焦点インジケータを円錐と衝突するオブジェクトに提供してもよい。例えば、図12Bおよび12Cでは、焦点インジケータは、オブジェクトの全部または一部の周囲の赤色ハイライトであってもよい。故に、図12Bでは、ウェアラブルシステムが、オブジェクト1230aが円錐1220と交差することを判定すると、ウェアラブルシステムは、オブジェクト1230aの周囲の赤色ハイライトをユーザ1210に表示することができる。同様に、図12Cでは、ウェアラブルシステムは、オブジェクト1230eおよび1230dを円錐1220と交差するオブジェクトとして識別する。ウェアラブルシステムは、赤色ハイライトをオブジェクト1230dおよびオブジェクト1230eの周囲に提供することができる。
【0136】
衝突が、複数のオブジェクトを伴うとき、ウェアラブルシステムは、1つまたはそれを上回るオブジェクトを複数のオブジェクトの中から選択するために、ユーザインターフェース要素を提示してもよい。例えば、ウェアラブルシステムは、焦点インジケータを提供することができ、これは、ユーザが現在相互作用している標的オブジェクトを示すことができる。ユーザは、手のジェスチャを使用して、ユーザ入力デバイスを作動させ、焦点インジケータを別の標的オブジェクトに移動させることができる。
【0137】
いくつかの実施形態では、オブジェクトは、ユーザの3D環境内の別のオブジェクトの背後にあり得る(例えば、近くのオブジェクトは、少なくとも部分的に、より遠距離のオブジェクトを遮蔽する)。有利には、ウェアラブルシステムは、円錐投射の間、曖昧性解消技法を適用し(例えば、遮蔽されたオブジェクトを判定する、遮蔽されたオブジェクト間の深度順序または位置を判定する等のために)、正面におけるオブジェクトおよび背面におけるオブジェクトの両方を捕捉してもよい。例えば、紙シュレッダが、ユーザの部屋内のコンピュータの背後にあり得る。ユーザは、シュレッダが見えない場合があるが(コンピュータによって遮断されるため)、ウェアラブルシステムは、円錐をコンピュータの方向に投射し、シュレッダおよびコンピュータの両方に関する衝突を検出することができる(シュレッダおよびコンピュータは両方とも、ウェアラブルシステムの世界マップ内にあるため)。ウェアラブルシステムは、ポップアップメニューを表示し、ユーザがシュレッダまたはコンピュータのいずれかを選択する選択肢を提供することができる、またはウェアラブルシステムは、コンテキスト情報を使用して、選択すべきオブジェクトを判定してもよい(例えば、ユーザが、文書の削除を試みようとする場合、システムは、紙シュレッダを選択してもよい)。ある実装では、ウェアラブルシステムは、正面におけるオブジェクトのみを捕捉するように構成されてもよい。本実施例では、ウェアラブルシステムは、円錐とシュレッダとの間の衝突のみを検出するであろう。
【0138】
衝突の検出に応じて、ウェアラブルシステムは、例えば、オブジェクトを選択する、オブジェクトを移動させる、オブジェクトと関連付けられたメニューまたはツールバーを開く、またはゲーム内のアバタ上でゲーム動作を実施する等、種々の方法において、ユーザが相互作用可能オブジェクトと相互作用することを可能にしてもよい。ユーザは、姿勢(例えば、頭部、身体姿勢)、手のジェスチャ、ユーザ入力デバイスからの入力、それらの組み合わせ、または同等物を通して、相互作用可能オブジェクトと相互作用してもよい。例えば、円錐が複数の相互作用可能オブジェクトと衝突するとき、ユーザは、ユーザ入力デバイスを作動させ、複数の相互作用可能オブジェクトの中から選択してもよい。
【0139】
(開口を動的に更新する例示的プロセス)
図13は、動的に調節可能な開口を伴う円錐投射を使用してオブジェクトを選択するための例示的プロセスのフローチャートである。本プロセス1300は、ウェアラブルシステム(図2および4に示される)によって実施されることができる。
【0140】
ブロック1310では、ウェアラブルシステムは、円錐投射を開始することができる。円錐投射は、ユーザの姿勢またはユーザ入力デバイス上の手のジェスチャによってトリガされることができる。例えば、円錐投射は、ユーザ入力デバイス上のクリックによって、および/またはユーザが長時間にわたってある方向を見ることによって、トリガされてもよい。ブロック1320に示されるように、ウェアラブルシステムは、例えば、オブジェクトのタイプ、オブジェクト(物理的または仮想)のレイアウト、オブジェクトの場所、オブジェクトのサイズ、オブジェクトの密度、オブジェクトとユーザとの間の距離等、ユーザの環境の顕著な特徴を分析することができる。例えば、ウェアラブルシステムは、ユーザの正面におけるオブジェクトの数およびオブジェクトのサイズを判定することによって、ユーザの注視方向におけるオブジェクトの密度を計算することができる。環境の顕著な特徴は、本明細書に説明されるコンテキスト情報の一部であってもよい。
【0141】
ブロック1330では、ウェアラブルシステムは、コンテキスト情報に基づいて、開口のサイズを調節することができる。図12Bおよび12Cを参照して議論されるように、ウェアラブルシステムは、オブジェクが疎らに位置するとき、および/または障害物が存在しないとき、開口サイズを増加させることができる。大開口サイズは、円錐1220の遠位端1228b上の大きな直径1226に対応することができる。ユーザが動き回る、および/または環境を変化させるにつれて、ウェアラブルシステムは、コンテキスト情報に基づいて、開口のサイズを更新してもよい。コンテキスト情報は、ユーザの選好、ユーザの姿勢、円錐の特性(例えば、深度、色、場所等)等の他の情報と組み合わせられ、開口を判定および更新することができる。
【0142】
ウェアラブルシステムは、ブロック1340において、円錐投射可視化をレンダリングすることができる。円錐投射可視化は、無視不可能開口を伴う円錐を含むことができる。図12A、12B、および12Cを参照して説明されるように、円錐は、種々のサイズ、形状、または色を有してもよい。
【0143】
ブロック1350では、ウェアラブルシステムは、円錐投射を変換し、衝突を走査することができる。例えば、ウェアラブルシステムは、図16-18を参照して説明される技法を使用して、円錐の移動量を変換することができる。ウェアラブルシステムはまた、円錐の位置をユーザの環境内のオブジェクトの位置に対して計算することによって、円錐が1つまたはそれを上回るオブジェクトと衝突しているかどうかを判定することができる。図12A、12B、および12Cを参照して議論されるように、1つまたはそれを上回るオブジェクトが、円錐の表面と交差する、または円錐内にあることができる。
【0144】
ウェアラブルシステムが、衝突を検出しない場合、ブロック1360では、ウェアラブルシステムは、ブロック1320を繰り返し、ウェアラブルシステムは、ユーザの環境を分析し、ユーザの環境に基づいて、開口を更新することができる(ブロック1330に示されるように)。ウェアラブルシステムが、衝突を検出する場合、ウェアラブルシステムは、例えば、焦点インジケータを衝突されたオブジェクト上に設置することによって、衝突を示すことができる。円錐が、複数の相互作用可能オブジェクトと衝突すると、ウェアラブルシステムは、曖昧性解消技法を使用して、1つまたはそれを上回る遮蔽されたオブジェクトを捕捉することができる。
【0145】
ブロック1380では、ユーザは、随意に、図12A、12B、および12Cを参照して説明されるように、種々の方法において、衝突されたオブジェクトと相互作用することができる。例えば、ユーザは、オブジェクトを選択する、オブジェクトと関連付けられたメニューを開く、またはオブジェクト等を移動させることができる。
【0146】
図14は、動的に調節可能な開口を伴う円錐投射を使用して、オブジェクトを選択するための例示的プロセスの別のフローチャートである。本プロセス1400は、ウェアラブルシステム(図2および4に示される)によって実施されることができる。ブロック1410では、ウェアラブルシステムは、ユーザのFOR内のオブジェクトのグループを判定する。
【0147】
ブロック1420では、ウェアラブルシステムは、ユーザのFOR内のオブジェクトのグループ上への円錐投射を開始することができる。ウェアラブルシステムは、ユーザ入力デバイスからの入力(例えば、ワンドのスイング)または姿勢(例えば、ある手のジェスチャ)に基づいて、円錐投射を開始することができる。ウェアラブルシステムはまた、ある条件に基づいて、円錐投射を自動的にトリガすることができる。例えば、ウェアラブルシステムは、ユーザがウェアラブルシステムのメインディスプレイに居るとき、円錐投射を自動的に開始してもよい。円錐投射は、仮想円錐を使用してもよく、これは、中心光線と、中心光線を横断する開口とを有してもよい。中心光線は、ユーザの注視方向に基づいてもよい。
【0148】
ブロック1430では、ウェアラブルシステムは、ユーザの姿勢を判定することができる。ユーザの姿勢は、単独で、または組み合わせて、頭部、眼、または身体姿勢であってもよい。ウェアラブルシステムは、ユーザの姿勢に基づいて、ユーザのFOVを判定することができる。FOVは、ユーザによって所与の時間に知覚されるFORの一部を含むことができる。
【0149】
ユーザのFOVに基づいて、ブロック1440では、ウェアラブルシステムは、ユーザのFOV内にあるオブジェクトのサブグループを判定することができる。ユーザのFOVが変化するにつれて、ユーザのFOV内のオブジェクトもまた、変化し得る。ウェアラブルシステムは、ユーザのFOV内のオブジェクトのコンテキスト情報を分析するように構成されることができる。例えば、ウェアラブルシステムは、FOV内のオブジェクトのサイズおよび場所に基づいて、オブジェクトの密度を判定してもよい。
【0150】
ブロック1450では、ウェアラブルシステムは、円錐投射イベントに関する開口のサイズを判定することができる。開口のサイズは、コンテキスト情報に基づいて判定されてもよい。例えば、ウェアラブルシステムが、オブジェクトの密度が高いことを判定すると、ウェアラブルシステムは、小開口を伴う円錐を使用して、ユーザ相互作用の精度を増加させてもよい。いくつかの実施形態では、ウェアラブルシステムはまた、円錐の深度を調節することができる。例えば、ウェアラブルシステムが、オブジェクトの全てがユーザから離れて位置することを判定すると、ウェアラブルシステムは、円錐をこれらのオブジェクトを有する深度平面まで延在させてもよい。同様に、ウェアラブルシステムが、オブジェクトがユーザに近接して位置することを判定する場合、ウェアラブルシステムは、円錐の深度を収縮させてもよい。
【0151】
ウェアラブルシステムは、ブロック1460において円錐投射の視覚的表現を生成することができる。円錐投射の視覚的表現は、図12Bおよび12Cを参照して説明されるように、円錐の性質を組み込むことができる。例えば、ウェアラブルシステムは、色、形状、および深度を伴う、仮想円錐を表示することができる。仮想円錐の場所は、ユーザの頭部姿勢、身体姿勢、または注視方向と関連付けられてもよい。円錐は、幾何学的円錐、直方体、多面体、角錐、円錐台、または規則的形状である場合もある、またはそうではない場合もある、他の3次元形状であってもよい。
【0152】
ユーザが動き回るにつれて、円錐はまた、ユーザとともに移動することができる。図15-18を参照してさらに説明されるように、ユーザが動き回るにつれて、ユーザの移動に対応する円錐の移動量もまた、コンテキスト情報に基づいて、計算されることができる。例えば、FOV内のオブジェクトの密度が低い場合、ユーザの若干の移動は、円錐の大移動をもたらすことができる。一方、密度が高い場合、その同一移動は、円錐のより小さい移動をもたらし得、それによって、オブジェクトとのより精緻化された相互作用を可能にする。
【0153】
図15は、動的に調節可能な開口を伴う円錐投射のための例示的プロセス1500である。図15におけるプロセス1500は、ウェアラブルシステム(図2および4に示される)によって実施されることができる。ブロック1510では、ウェアラブルシステムは、ユーザの環境内のコンテキスト情報を判定することができる。コンテキスト情報は、オブジェクトのレイアウト、オブジェクトの密度、オブジェクトとユーザとの間の距離等、ユーザの環境の情報および/またはオブジェクトと関連付けられた情報を含んでもよい。
【0154】
ブロック1520では、ウェアラブルシステムは、コンテキスト情報に基づいて、動的に調節可能な開口を伴う円錐を投射することができる。例えば、オブジェクトの密度が低いとき、開口は、大きくてもよい。
【0155】
ブロック1530では、ウェアラブルシステムは、オブジェクトと円錐との間の衝突を検出することができる。いくつかの実施形態では、ウェアラブルシステムは、オブジェクトの場所および円錐の場所に基づいて、衝突を検出することができる。オブジェクトの少なくとも一部が円錐と重複する場合、衝突が、検出される。いくつかの実施形態では、円錐は、複数のオブジェクトと衝突してもよい。ウェアラブルシステムは、曖昧性解消技法を適用し、1つまたはそれを上回る遮蔽されたオブジェクトを捕捉することができる。その結果、ウェアラブルシステムは、円錐と遮蔽されたオブジェクトとの間の衝突を検出することができる。
【0156】
衝突の検出に応じて、ウェアラブルシステムは、焦点インジケータを円錐と衝突するオブジェクトに割り当ててもよい。ウェアラブルシステムはまた、オブジェクトを衝突されたオブジェクトから選択する等のユーザインターフェースオプションを提供することができる。ブロック1540では、ウェアラブルシステムは、衝突されたオブジェクトとのユーザ相互作用を受信するように構成されることができる。例えば、ユーザは、オブジェクトを移動させる、オブジェクトと関連付けられたメニューを開く、オブジェクトを選択する等を行ってもよい。
【0157】
(コンテキスト情報に基づく移動の変換の概要)
円錐投射の間、円錐の開口を調節することに加え、またはその代替として、コンテキスト情報もまた、ユーザ入力デバイスまたはユーザの身体の一部(例えば、ユーザの姿勢の変化)と関連付けられた移動を、例えば、仮想オブジェクトを移動させる等のユーザインターフェース動作に変換するために使用されることができる。
【0158】
ユーザは、ユーザ入力デバイスを作動させることによって、および/または頭部、眼、または身体姿勢等の姿勢を使用することによって、仮想オブジェクトを移動させる、または焦点インジケータを移送することができる。AR/VR/MR世界において明白であるように、仮想オブジェクトの移動は、仮想オブジェクトがコンピュータ生成された画像であって、物理的オブジェクトではないため、仮想オブジェクトの実際の物理的移動を指すわけではない。仮想オブジェクトの移動は、ARまたはVRシステムによってユーザに表示されるような仮想オブジェクトの見掛け移動を指す。
【0159】
図16は、ユーザ入力デバイスを使用して仮想オブジェクトを移動させる実施例を図式的に図示する。例えば、ユーザは、ユーザ入力デバイスを使用して仮想オブジェクトを選択することによって、仮想オブジェクトを保持および移動させ、ユーザ入力デバイス466を物理的に移動させることによって、仮想オブジェクトを移動させてもよい。ユーザ入力デバイス466は、最初に、第1の位置1610aにあってもよい。ユーザ1210は、ユーザ入力デバイス466を作動させることによって(例えば、デバイス上のタッチセンサ式パッドを作動させることによって)、第1の位置1610bに位置する標的仮想オブジェクト1640を選択してもよい。標的仮想オブジェクト1640は、ウェアラブルシステムによって表示および移動され得る、任意のタイプの仮想オブジェクトであることができる。例えば、仮想オブジェクトは、アバタ、ユーザインターフェース要素(例えば、仮想ディスプレイ)、またはウェアラブルシステムによって表示される任意のタイプのグラフィカル要素(例えば、焦点インジケータ等)であってもよい。ユーザ1210は、ユーザ入力デバイス466を軌道1650bに沿って移動させることによって、標的仮想オブジェクトを第1の位置1610bから第2の位置1620bに移動させることができる。しかしながら、標的仮想オブジェクトは、ユーザから離れている場合があるため、ユーザは、標的仮想オブジェクトがその所望の場所に到達する前に、ユーザ入力デバイスを長距離移動させる必要があり得、これは、ユーザに、大きな手および腕の移動を使用させ、最終的には、ユーザの疲労につながり得る。
【0160】
ウェアラブルシステムの実施形態は、コントローラの移動に基づく量と、仮想オブジェクトまでの距離に伴って増加する傾向にある乗数とによって、仮想オブジェクトを移動させることによって、遠距離仮想オブジェクトを急速かつ効率的に移動させるための技法を提供し得る。そのような実施形態は、有利には、ユーザが、より短い手および腕の移動を使用して、遠距離仮想オブジェクトを移動させることを可能にし、それによって、ユーザの疲労を軽減させ得る。
【0161】
ウェアラブルシステムは、ユーザ入力デバイスの移動を標的仮想オブジェクトの移動にマッピングするための乗数を計算することができる。標的仮想オブジェクトの移動は、入力コントローラの移動と、乗数とに基づいてもよい。例えば、標的仮想オブジェクトの移動量は、乗数によって乗算される入力コントローラの移動量と等しくてもよい。これは、標的仮想オブジェクトが所望の場所に到達する前にユーザが移動させる必要がある量を低減させ得る。例えば、図16に示されるように、ウェアラブルシステムは、ユーザが、仮想オブジェクトを位置1620bから位置1610bまで移動させるために、ユーザ入力デバイスを軌道1650a(軌道1650bより短い)に沿って移動させることを可能にする、乗数を判定してもよい。
【0162】
加えて、または代替として、ユーザ1210は、頭部姿勢を使用して、仮想オブジェクトを移動させることができる。例えば、図16に示されるように、頭部は、多自由度を有し得る。頭部が異なる方向に向かって移動するにつれて、頭部姿勢は、自然静止方向1260に対して変化するであろう。図16における例示的座標系は、頭部姿勢を頭部の自然静止状態1260に対して測定するために使用され得る、3つの角度自由度(例えば、ヨー、ピッチ、およびロール)を示す。図16に図示されるように、頭部は、前後に傾斜する(例えば、ピッチ)、左右に方向転換する(例えば、ヨー)、および横方向に傾斜する(例えば、ロール)ことができる。他の実装では、頭部姿勢を測定するための他の技法または角度表現、例えば、任意の他のタイプのオイラー角系も、使用されることができる。ウェアラブルシステム(例えば、図2におけるウェアラブルシステム200および図4におけるウェアラブルシステム400参照)は、本明細書に議論されるように、例えば、加速度計、慣性測定ユニット等を使用して、ユーザの頭部姿勢を判定するために使用されてもよい。ウェアラブルシステムはまた、眼姿勢(例えば、眼追跡カメラによって測定されるように)および頭部姿勢に基づいて、仮想オブジェクトを移動させてもよい。例えば、ユーザは、長時間にわたってオブジェクトを注視することによって仮想オブジェクトを選択し、頭部姿勢を使用して選択されたオブジェクトを移動させてもよい。本明細書に説明されるユーザ入力デバイスの移動をマッピングするための技法はまた、ユーザの頭部、眼、および/または身体姿勢の変化にも適用されることができる、すなわち、仮想オブジェクトの移動量は、乗数×ユーザの身体(例えば、眼、頭部、手等)の物理的移動量である。
【0163】
(距離に基づく乗数の実施例)
上記に説明されるように、ウェアラブルシステムは、ユーザ入力デバイスの移動を標的仮想オブジェクトの移動にマッピングするための乗数を計算することができる。乗数は、例えば、ユーザと標的仮想オブジェクトとの間の距離等のコンテキスト情報に基づいて計算されてもよい。例えば、図16に示されるように、乗数は、ユーザ1210の頭部の位置と仮想オブジェクト1640の位置との間の距離を使用して計算されてもよい。
【0164】
図17は、距離の関数としての乗数の実施例を図式的に図示する。図17に示されるように、軸1704は、乗数の大きさを示す。軸1702は、2つの端点間の種々の距離(例えば、フィートまたはメートル単位)を図示する。端点は、種々の方法において判定されてもよい。例えば、一方の端点は、ユーザの位置(例えば、ユーザのARDから測定される)またはユーザ入力デバイスの場所であってもよい。他方の端点は、標的仮想オブジェクトの位置であってもよい。
【0165】
ユーザと仮想オブジェクトとの間の距離は、距離を計算するための端点が変化するにつれて変化し得る。例えば、ユーザおよび/または仮想オブジェクトは、動き回り得る。ユーザ1210は、ユーザ入力デバイスを作動させ、仮想オブジェクトをより近くに引き寄せてもよい。本プロセスの間、乗数は、本明細書に説明される種々の係数に基づいて変化し得る。例えば、乗数は、仮想オブジェクトがユーザにより近づくについて減少する、または仮想オブジェクトがユーザからより離れるにつれて増加してもよい。
【0166】
曲線1710、1720、および1730は、乗数と距離との間の関係の実施例を図示する。曲線1710によって示されるように、乗数は、距離が閾値1752未満であるとき、1に等しくあり得る。曲線1710は、距離と閾値1752および閾値1754の間の乗数との間の線形関係を示す。図16を参照して説明されるように、本比例線形関係は、ウェアラブルシステムに、ユーザ入力デバイスの位置の小変化をより離れて位置するオブジェクトに関する位置の大変化(閾値1754まで)にマッピングさせ得る。曲線1710は、閾値1754においてその最大値に到達し、したがって、任意のさらなる距離の増加は、乗数の大きさを変化させないであろう。これは、非常に遠距離の仮想オブジェクトがユーザ入力デバイスの小移動に応答して非常に大距離を移動することを防止し得る。
【0167】
曲線1710における乗数の閾値化は、随意である(閾値1752、1754のいずれかまたは両方において)。ウェアラブルシステムは、閾値複数の閾値を使用せずに乗数を生成してもよい。
【0168】
より精密な1対1操作を可能にするために、一例示的閾値は、ユーザの手が届く範囲であってもよい。ユーザの手が届く範囲は、ユーザまたはHMDによって設定され得る、調節可能パラメータであってもよい(異なる手が届く範囲を伴うユーザを考慮するため)。ユーザの手が届く範囲は、種々の実装では、約10cm~約1.5mの範囲内であってもよい。図16を参照すると、例えば、標的仮想オブジェクトが、手が届く範囲内である場合、ユーザ1210がユーザ入力デバイス466を軌道1650aに沿って位置1610aから位置1620aに移動させるにつれて、標的仮想オブジェクトもまた、軌道1650aに沿って移動し得る。標的仮想オブジェクト1640が、手が届く範囲より離れる場合、乗数は、増加してもよい。例えば、図16では、標的仮想オブジェクト1640が、最初に、位置1610bにある場合、ユーザ入力デバイス466が、位置1610aから位置1620aに移動するにつれて、標的仮想オブジェクト1640は、位置1610bから位置1620bに移動し、それによって、ユーザ入力デバイス466のものを上回る距離量を移動することができる。
【0169】
距離と乗数との間の関係は、線形関係に限定されない。むしろ、種々のアルゴリズムおよび/または係数に基づいて判定されてもよい。例えば、図17に示されるように、曲線1720は、距離と乗数との間の1つまたはそれを上回る冪乗則関数を使用して生成されてもよく、例えば、乗数は、距離のある累乗に比例する。累乗は、0.5、1.5、2であってもよい。同様に、曲線1730は、ユーザ選好に基づいて生成されてもよく、乗数は、オブジェクトがユーザ調節可能閾値距離内にあるとき、1と等しい。
【0170】
実施例として、仮想オブジェクトの移動(例えば、角度移動)は、変数delta_objectによって表されてもよく、ユーザ入力デバイスの移動は、変数delta_inputによって表されてもよい。デルタは、乗数によって関連付けられる。
【化1】
【0171】
ユーザ入力デバイス内のセンサまたはARDの外向きに面したカメラが、delta_inputを測定するために使用されてもよい。距離dの関数としての乗数は、ルックアップテーブル、関数形態(例えば、冪乗則)、または曲線(例えば、図17における実施例参照)から判定されることができる。いくつかの実装では、距離は、ユーザから入力デバイスまでの距離によって正規化されてもよい。例えば、距離dは、以下のように判定されてもよい。
【化2】


方程式(2)では、正規化された距離は、無次元であって、オブジェクトが入力デバイスの距離にある場合、1と等しい。前述のように、乗数は、手が届く範囲内(例えば、カメラから入力デバイス間での距離内)のオブジェクトに関して1に設定されてもよい。故に、方程式(2)は、ウェアラブルシステムが、ユーザが入力デバイスを保持する場所に基づいて、手の長さ距離を動的に調節することを可能にする。例示的冪乗則乗数は、以下となり得る。
【化3】


式中、累乗pは、例えば、1(線形)、2(二次)、または任意の他の整数または実数である。
【0172】
(他の例示的乗数)
乗数はまた、ユーザの物理的および/または仮想環境についてのコンテキスト情報等の他の係数を使用して計算されることができる。例えば、仮想オブジェクトが、オブジェクトの高密度クラスタ内に位置する場合、ウェアラブルシステムは、より小さい乗数を使用して、オブジェクトを設置する精度を増加させてもよい。コンテキスト情報はまた、仮想オブジェクトの性質を含んでもよい。例えば、ドライビングゲームでは、ウェアラブルシステムは、優れた車には大きい乗数を、平凡な車には小さい乗数を提供してもよい。
【0173】
乗数は、移動方向に依存してもよい。例えば、図6に示されるx-y-z座標では、x-軸に関する乗数は、z-軸に関する乗数と異なり得る。図16を参照すると、仮想オブジェクト1640を1610bから1620bに移動させる代わりに、ユーザ1210は、仮想オブジェクト1640を自身により近くに引き寄せることを所望し得る。本状況では、ウェアラブルシステムは、仮想オブジェクト1640を1610bから1620bに移動させる乗数より小さい乗数を使用してもよい。このように、仮想オブジェクト1640は、ユーザに非常に近接して突然現れることはなくなり得る。
【0174】
ウェアラブルシステムは、ユーザが、乗数を構成することを可能にすることができる。例えば、ウェアラブルシステムは、ユーザに、乗数を選定するためのいくつかのオプションを与えてもよい。低速移動を好むユーザは、小さい大きさを伴う乗数を選定することができる。ユーザはまた、ウェアラブルシステムが乗数を自動的に判定するために使用するであろう、ある係数および/または係数の重要性を提供してもよい。例えば、ユーザは、距離の加重を仮想オブジェクトの性質と関連付けられた加重より高く設定することができる。故に、距離は、仮想オブジェクトの性質より乗数の大きさに大きい影響を及ぼすであろう。さらに、図17を参照して説明されるように、乗数は、1つまたはそれを上回る閾値を有してもよい。閾値のうちの1つまたはそれを上回るものは、係数(コンテキスト情報から判定された係数等)のセットの値に基づいて計算されてもよい。ある実施形態では、1つの閾値は、係数の1つのセットに基づいて計算されてもよい一方、別の閾値は、係数の別のセット(係数の第1のセットと重複しなくてもよい)に基づいて計算されてもよい。
【0175】
(乗数の例示的適用)
図16および17を参照して説明されるように、ウェアラブルシステムは、ユーザ入力デバイスの移動を仮想オブジェクトの移動にマッピングするための乗数を適用することができる。移動は、速度、加速、または位置変化(回転、1つの場所から他の場所への移動等)を含んでもよい。例えば、ウェアラブルシステムは、仮想オブジェクトがより離れて位置するとき、仮想オブジェクトをより高速で移動させるように構成されてもよい。
【0176】
別の実施例として、乗数はまた、仮想オブジェクトの加速を判定するために使用されてもよい。仮想オブジェクトが、ユーザから離れているとき、仮想オブジェクトは、ユーザがユーザ入力デバイスを作動させ、仮想オブジェクトを移動させる際、大初期加速を有してもよい。いくつかの実施形態では、加速のための乗数は、ある閾値後、ピークに達する、または減少してもよい。例えば、オブジェクトを過度に高速で移動させることを回避するために、ウェアラブルシステムは、仮想オブジェクトが軌道の中間点に到達すると、または仮想オブジェクトの速度が閾値に到達すると、加速のための乗数を減少させてもよい。
【0177】
いくつかの実装では、ウェアラブルシステムは、焦点インジケータを使用して、ユーザ入力デバイスおよび/またはユーザの姿勢(例えば、頭部、身体、眼姿勢)の現在の位置を示してもよい。乗数は、焦点インジケータの位置変化を示すように適用されてもよい。例えば、ウェアラブルシステムは、円錐投射の間、仮想円錐を示してもよい(図12-15における円錐投射の説明参照)。円錐の深度が、遠距離場所に設定されると、ウェアラブルシステムは、大きな乗数を適用してもよい。故に、ユーザが動き回るにつれて、仮想円錐は、長い距離量を移動し得る。
【0178】
加えて、または代替として、ウェアラブルシステムは、ユーザ入力デバイスの移動を複数の仮想オブジェクトの移動にマッピングすることができる。例えば、仮想ゲームでは、プレーヤは、ユーザ入力デバイスを作動させることによって、仮想兵士のグループをともに移動させることができる。ウェアラブルシステムは、乗数を仮想兵士のグループにともに適用することによって、および/または乗数をグループ内の仮想兵士のそれぞれに適用することによって、ユーザ入力デバイスの移動を仮想兵士のグループの移動に変換することができる。
【0179】
(仮想オブジェクトを移動させる例示的プロセス)
図18は、ユーザ入力デバイスの移動に応答して、仮想オブジェクトを移動させるための例示的プロセスのフローチャートを図示する。プロセス1800は、図2および4に示されるウェアラブルシステムによって実施されることができる。
【0180】
ブロック1810では、ウェアラブルシステムは、標的仮想オブジェクトの選択を受信する。仮想オブジェクトは、3D空間内の第1の位置において、ウェアラブルシステムによって表示されてもよい。ユーザは、ユーザ入力デバイスを作動させることによって、標的仮想オブジェクトを選択することができる。加えて、または代替として、ウェアラブルシステムは、ユーザが、種々の身体、頭部、または眼姿勢を使用して、標的仮想オブジェクトを移動させることをサポートするように構成されることができる。例えば、ユーザは、その指を標的仮想オブジェクトに向けることによって、標的仮想オブジェクトを選択してもよく、その腕を移動させることによって、標的仮想オブジェクトを移動させてもよい。
【0181】
ブロック1820では、ウェアラブルシステムは、標的仮想オブジェクトに関する移動のインジケーションを受信することができる。ウェアラブルシステムは、そのようなインジケーションをユーザ入力デバイスから受信してもよい。ウェアラブルシステムはまた、そのようなインジケーションをセンサ(例えば、外向きに面したイメージングシステム464等)から受信してもよく、これは、ユーザの姿勢の変化を判定することができる。インジケーションは、移動の軌道またはユーザの身体またはユーザ入力デバイスの一部の位置における変化であることができる。
【0182】
ブロック1830では、ウェアラブルシステムは、本明細書に説明されるコンテキスト情報に基づいて適用されるであろう、乗数の値を判定する。例えば、ウェアラブルシステムは、オブジェクトとユーザ入力デバイスとの間の距離に基づいて、乗数を計算してもよく、乗数は、標的仮想オブジェクトの距離増加に伴って増加することができる(少なくともユーザ入力デバイスからある範囲の距離にわたって;例えば、方程式(3)における実施例参照)。いくつかの実施形態では、乗数は、オブジェクトとユーザ入力デバイスとの間の距離の非減少関数である。
【0183】
ブロック1840に示されるように、本乗数は、標的仮想オブジェクトに関する移動量を計算するために使用されてもよい。例えば、乗数が、オブジェクトとユーザ入力デバイスとの間の距離を使用して計算される場合、乗数は、離れた標的仮想オブジェクトに関して大きくなり得る。ウェアラブルシステムは、方程式(3)を使用して、入力デバイスの移動量および乗数を関連させ、標的仮想オブジェクトの移動量を求めてもよい。標的仮想オブジェクトの移動の軌道は、乗数とともに他の係数を使用して計算されてもよい。例えば、ウェアラブルシステムは、ユーザの環境に基づいて、軌道を計算してもよい。別のオブジェクトが標的仮想オブジェクトの経路に沿って存在するとき、ウェアラブルシステムは、その他のオブジェクトとの衝突を避けるように、標的仮想オブジェクトを移動させるように構成されてもよい。
【0184】
ブロック1850では、ウェアラブルシステムは、計算された軌道または乗数に基づいて、標的仮想オブジェクトの移動を表示することができる。例えば、ウェアラブルシステムは、ブロック1840において計算された移動量に基づいて、3D空間内の第2の位置を計算することができる。ウェアラブルシステムは、故に、標的仮想オブジェクトを第2の位置において表示することができる。図16を参照して議論されるように、ウェアラブルシステムはまた、乗数を使用して、可視焦点インジケータの移動を表示するように構成されてもよい。
【0185】
(付加的実施形態)
第1の側面では、3次元(3D)空間内に位置する仮想オブジェクトを選択するための方法であって、前記方法は、コンピュータハードウェアを備える拡張現実(AR)システムの制御下で行われ、ARシステムは、ユーザの動眼視野(FOR)内のオブジェクトとのユーザ相互作用を可能にするように構成され、FORは、ARシステムを介してユーザによって知覚可能なユーザの周囲の環境の一部を備え、ユーザのFOR内のオブジェクトのグループを判定することと、ユーザの姿勢を判定することと、オブジェクトのグループ上への円錐投射を開始することであって、円錐投射は、少なくとも部分的にユーザの姿勢に基づく方向に開口を伴う仮想円錐を投射することを含む、ことと、オブジェクトのグループ内のオブジェクトのサブグループと関連付けられたコンテキスト情報を分析することと、少なくとも部分的にコンテキスト情報に基づいて、円錐投射イベントに関する開口を更新することと、円錐投射の視覚的表現をレンダリングすることとを含む、方法。
【0186】
第2の側面では、オブジェクトのサブグループは、ユーザの視野(FOV)内にあって、FOVは、ARシステムを介してユーザによって所与の時間に知覚可能なFORの一部を含む、側面1に記載の方法。
【0187】
第3の側面では、コンテキスト情報は、オブジェクトのサブグループ内の1つまたはそれを上回るオブジェクトのタイプ、レイアウト、場所、サイズ、または密度のうちの1つまたはそれを上回るものを含む、側面1または2に記載の方法。
【0188】
第4の側面では、コンテキスト情報はさらに、ユーザの選好を含む、側面3に記載の方法。
【0189】
第5の側面では、円錐と1つまたはそれを上回るオブジェクトとの間の衝突を検出することをさらに含む、側面1-4のいずれか1項に記載の方法。
【0190】
第6の側面では、1つまたはそれを上回るオブジェクトは、相互作用可能オブジェクトを含む、側面5に記載の方法。
【0191】
第7の側面では、相互作用可能オブジェクトとの衝突を検出することに応答して、本方法はさらに、相互作用可能オブジェクトにアクションを実施することを含む、側面6に記載の方法。
【0192】
第8の側面では、アクションは、相互作用可能オブジェクトを選択すること、相互作用可能オブジェクトを移動させること、または相互作用可能オブジェクトと関連付けられたメニューを開くことのうちの1つまたはそれを上回るものを含む、側面7に記載の方法。
【0193】
第9の側面では、遮蔽曖昧性解消技法を円錐と衝突された1つまたはそれを上回るオブジェクトに適用することをさらに含む、側面5または6に記載の方法。
【0194】
第10の側面では、少なくとも部分的にユーザの姿勢の変化に基づいて、円錐の開口を更新することをさらに含む、側面1-9のいずれか1項に記載の方法。
【0195】
第11の側面では、円錐は、ある形状を有する、側面1-10のいずれか1項に記載の方法。
【0196】
第12の側面では、形状は、幾何学的円錐投射、直方体、多面体、角錐、または円錐台のうちの1つまたはそれを上回るものを含む、側面11に記載の方法。
【0197】
第13の側面では、円錐は、中心光線を有する、側面1-12のいずれか1項に記載の方法。
【0198】
第14の側面では、中心光線は、少なくとも部分的にユーザの姿勢に基づいて判定される、側面13に記載の方法。
【0199】
第15の側面では、開口は、中心光線を横断する、側面13または14に記載の方法。
【0200】
第16の側面では、円錐と衝突するオブジェクトの曖昧性を解消することをさらに含む、側面1-15のいずれか1項に記載の方法。
【0201】
第17の側面では、側面1-16のいずれか1項に記載の方法を実施するように構成される、拡張現実システム。
【0202】
第18の側面では、3次元(3D)空間内に位置する仮想オブジェクトを変換するための方法であって、前記方法は、コンピュータハードウェアおよびユーザ入力デバイスを備える拡張現実(AR)システムの制御下で行われ、ARシステムは、ユーザの動眼視野(FOR)内の仮想オブジェクトとのユーザ相互作用を可能にするように構成され、FORは、ARシステムを介してユーザによって知覚可能なユーザの周囲の環境の一部を含み、仮想オブジェクトは、ユーザへの表示のために、ARシステムを介して提示され、ユーザのFOR内の仮想オブジェクトのグループを判定することと、ユーザのFOR内の仮想オブジェクトのグループ内の標的仮想オブジェクトの選択を受信することと、標的仮想オブジェクトまでの距離を計算することと、少なくとも部分的に標的仮想オブジェクトまでの距離に基づいて、乗数を判定することと、ユーザ入力デバイスの第1の移動を受信することと、標的仮想オブジェクトの第2の移動を計算することであって、第2の移動は、少なくとも部分的に第1の移動および乗数に基づく、ことと、少なくとも部分的に第2の移動に基づく量だけ標的仮想オブジェクトを移動させることとを含む、方法。
【0203】
第19の側面では、仮想オブジェクトまでの距離を計算することは、仮想オブジェクトとユーザ入力デバイスとの間の距離、仮想オブジェクトとARシステム上のセンサとの間の距離、またはユーザ入力デバイスとARシステム上のセンサとの間の距離を計算することを含む、側面18に記載の方法。
【0204】
第20の側面では、第2の移動は、乗数によって乗算される第1の移動と等しい、側面18に記載の方法。
【0205】
第21の側面では、乗数は、第1の距離範囲にわたる距離増加に伴って増加する、側面18に記載の方法。
【0206】
第22の側面では、乗数は、第1の範囲にわたる距離増加に伴って線形に増加する、側面21に記載の方法。
【0207】
第23の側面では、乗数は、第1の範囲にわたる距離の累乗として増加する、側面21に記載の方法。
【0208】
第24の側面では、乗数は、距離が第1の距離未満であるとき、第1の閾値と等しい、側面18に記載の方法。
【0209】
第25の側面では、第1の距離は、ユーザの手が届く範囲と等しい、側面24に記載の方法。
【0210】
第26の側面では、第1の閾値は、1と等しい、側面24に記載の方法。
【0211】
第27の側面では、第1の移動または第2の移動は、それぞれ、第1の速度または第2の速度を含む、側面18-26のいずれか1項に記載の方法。
【0212】
第28の側面では、第1の移動および第2の移動は、それぞれ、第1の加速および第2の加速を含む、側面18-26のいずれか1項に記載の方法。
【0213】
第29の側面では、ARシステムは、頭部搭載型ディスプレイを備える、側面18-28のいずれか1項に記載の方法。
【0214】
第30の側面では、標的仮想オブジェクトは、相互作用可能である、側面18-29のいずれか1項に記載の方法。
【0215】
第31の側面では、3次元(3D)空間内に位置する仮想オブジェクトを移動させるための方法であって、前記方法は、コンピュータハードウェアおよびユーザ入力デバイスを備える拡張現実(AR)システムの制御下で行われ、ARシステムは、ユーザへの表示のために、仮想オブジェクトを3D空間内に提示するように構成され、3D空間内の第1の位置においてユーザに表示される標的仮想オブジェクトの選択を受信することと、標的仮想オブジェクトに関する移動のインジケーションを受信することと、標的仮想オブジェクトの移動に適用されるための乗数を判定することと、標的仮想オブジェクトに関する移動量を計算することであって、移動量は、少なくとも部分的に移動のインジケーションおよび乗数に基づく、ことと、ユーザに、第2の位置において標的仮想オブジェクトを表示することであって、第2の位置は、少なくとも部分的に第1の位置および移動量に基づく、こととを含む、方法。
【0216】
第32の側面では、標的仮想オブジェクトの移動に適用されるための乗数を判定することは、標的仮想オブジェクトまでの距離を計算することを含む、側面31に記載の方法。
【0217】
第33の側面では、距離は、標的仮想オブジェクトとユーザ入力デバイスとの間、標的仮想オブジェクトとARシステム上のセンサとの間、またはユーザ入力デバイスとARシステム上のセンサとの間である、側面32に記載の方法。
【0218】
第34の側面では、乗数は、距離が増加すると増加する、側面32に記載の方法。
【0219】
第35の側面では、乗数は、少なくとも部分的にユーザの選好に基づく、側面31-34のいずれか1項に記載の方法。
【0220】
第36の側面では、移動は、位置変化、速度、または加速のうちの1つまたはそれを上回るものを含む、側面31-35のいずれか1項に記載の方法。
【0221】
第37の側面では、標的仮想オブジェクトは、仮想オブジェクトのグループを含む、側面31-36のいずれか1項に記載の方法。
【0222】
第38の側面では、標的仮想オブジェクトは、相互作用可能である、側面31-37のいずれか1項に記載の方法。
【0223】
第39の側面では、移動のインジケーションを受信することは、移動のインジケーションをユーザ入力デバイスから受信することを含む、側面31-38のいずれか1項に記載の方法。
【0224】
第40の側面では、移動のインジケーションを受信することは、ユーザの姿勢の変化のインジケーションを受信することを含む、側面31-38のいずれか1項に記載の方法。
【0225】
第41の側面では、ユーザの姿勢は、頭部姿勢、眼姿勢、または身体姿勢のうちの1つまたはそれを上回るものを含む、側面40に記載の方法。
【0226】
第42の側面では、3次元(3D)空間内に位置する仮想オブジェクトを変換するための拡張現実システム(AR)であって、前記システムは、システムディスプレイシステムと、ユーザ入力デバイスと、コンピュータプロセッサであって、前記コンピュータプロセッサは、ディスプレイシステムおよびユーザ入力デバイスと通信し、ユーザのFOR内の仮想オブジェクトのグループを判定することと、ユーザのFOR内の仮想オブジェクトのグループ内の標的仮想オブジェクトの選択を受信することと、標的仮想オブジェクトまでの距離を計算することと、少なくとも部分的に標的仮想オブジェクトまでの距離に基づいて、乗数を判定することと、ユーザ入力デバイスの第1の移動を受信することと、標的仮想オブジェクトの第2の移動を計算することであって、第2の移動は、少なくとも部分的に第1の移動および乗数に基づく、ことと、少なくとも部分的に第2の移動に基づく量だけ標的仮想オブジェクトを移動させることとを行うように構成される、コンピュータプロセッサとを備える、システム。
【0227】
第43の側面では、標的仮想オブジェクトまでの距離を計算することは、標的仮想オブジェクトとユーザ入力デバイスとの間の距離、仮想オブジェクトとARシステム上のセンサとの間の距離、またはユーザ入力デバイスとARシステム上のセンサとの間の距離を計算することを含む、側面42に記載のシステム。
【0228】
第44の側面では、第2の移動は、乗数によって乗算される第1の移動と等しい、側面42に記載のシステム。
【0229】
第45の側面では、乗数は、第1の距離範囲にわたる距離増加に伴って増加する、側面42に記載のシステム。
【0230】
第46の側面では、乗数は、第1の範囲にわたる距離増加に伴って線形に増加する、側面45に記載のシステム。
【0231】
第47の側面では、乗数は、第1の範囲にわたる距離の累乗として増加する、側面45に記載のシステム。
【0232】
第48の側面では、乗数は、距離が第1の距離未満であるとき、第1の閾値と等しい、側面42に記載のシステム。
【0233】
第49の側面では、第1の距離は、ユーザの手の届く範囲と等しい、側面48に記載のシステム。
【0234】
第50の側面では、第1の閾値は、1と等しい、側面48に記載のシステム。
【0235】
第51の側面では、第1の移動または第2の移動は、それぞれ、第1の速度または第2の速度を含む、側面42-50のうちのいずれか1項に記載のシステム。
【0236】
第52の側面では、第1の移動および第2の移動は、それぞれ、第1の加速および第2の加速を含む、側面42-50のうちのいずれか1項に記載のシステム。
【0237】
第53の側面では、ARシステムは、頭部搭載型ディスプレイを備える、側面42-52のうちのいずれか1項に記載のシステム。
【0238】
第54の側面では、標的仮想オブジェクトは、相互作用可能である、側面42-53のうちのいずれか1項に記載のシステム。
【0239】
第55の側面では、3次元(3D)空間内に位置する仮想オブジェクトを移動させるための拡張現実システム(AR)であって、前記システムは、システムディスプレイシステムと、ユーザ入力デバイスと、コンピュータプロセッサであって、前記コンピュータプロセッサは、ディスプレイシステムおよびユーザ入力デバイスと通信し、3D空間内の第1の位置においてユーザに表示される標的仮想オブジェクトの選択を受信することと、標的仮想オブジェクトに関する移動のインジケーションを受信することと、標的仮想オブジェクトの移動に適用される乗数を判定することと、標的仮想オブジェクトに関する移動量を計算することであって、移動量は、少なくとも部分的に移動のインジケーションおよび乗数に基づく、ことと、ユーザに、標的仮想オブジェクトを第2の位置において表示することであって、第2の位置は、少なくとも部分的に、第1の位置および移動量に基づく、こととを行うように構成される、コンピュータプロセッサとを備える、システム。
【0240】
第56の側面では、標的仮想オブジェクトの移動に適用されるための乗数を判定することは、標的仮想オブジェクトまでの距離を計算することを含む、側面55に記載のシステム。
【0241】
第57の側面では、距離は、仮想オブジェクトとユーザ入力デバイスとの間、仮想オブジェクトとARシステム上のセンサとの間、またはユーザ入力デバイスとARシステム上のセンサとの間である、側面56に記載のシステム。
【0242】
第58の側面では、乗数は、距離が増加すると増加する、側面56に記載のシステム。
【0243】
第59の側面では、乗数は、少なくとも部分的にユーザの選好に基づく、側面55-58のうちのいずれか1項に記載のシステム。
【0244】
第60の側面では、移動は、位置変化、速度、または加速のうちの1つまたはそれを上回るものを含む、側面55-59のうちのいずれか1項に記載のシステム。
【0245】
第61の側面では、標的仮想オブジェクトは、仮想オブジェクトのグループを含む、側面55-60のうちのいずれか1項に記載のシステム。
【0246】
第62の側面では、標的仮想オブジェクトは、相互作用可能である、側面55-61のうちのいずれか1項に記載のシステム。
【0247】
第63の側面では、移動のインジケーションを受信することは、移動のインジケーションをユーザ入力デバイスから受信することを含む、側面55-62のうちのいずれか1項に記載のシステム。
【0248】
第64の側面では、移動のインジケーションを受信することは、ユーザの姿勢の変化のインジケーションを受信することを含む、側面55-63のうちのいずれか1項に記載のシステム。
【0249】
第65の側面では、ユーザの姿勢は、頭部姿勢、眼姿勢、または身体姿勢のうちの1つまたはそれを上回るものを含む、側面64に記載のシステム。
【0250】
第66の側面では、ウェアラブルデバイスのためのオブジェクトと相互作用するためのシステムであって、前記システムは、3次元(3D)ビューをユーザに提示し、ユーザの動眼視野(FOR)内のオブジェクトとのユーザ相互作用を可能にするように構成される、ウェアラブルデバイスのディスプレイシステムであって、FORは、ディスプレイシステムを介してユーザによって知覚可能なユーザの周囲の環境の一部を含み、ウェアラブルデバイスのディスプレイシステムと、ユーザの姿勢と関連付けられたデータを入手するように構成されるセンサと、センサおよびディスプレイシステムと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、センサによって入手されたデータに基づいて、ユーザの姿勢を判定することと、FOR内のオブジェクトのグループ上への円錐投射を開始することであって、円錐投射は、少なくとも部分的にユーザの姿勢に基づく方向に開口を伴う仮想円錐を投射することを含む、ことと、ユーザの環境と関連付けられたコンテキスト情報を分析することと、少なくとも部分的にコンテキスト情報に基づいて、仮想円錐の開口を更新することと、円錐投射のための仮想円錐の視覚的表現をレンダリングすることとを行うようにプログラムされる、ハードウェアプロセッサとを備える、システム。
【0251】
第67の側面では、コンテキスト情報は、ユーザの視野(FOV)内のオブジェクトのサブグループのタイプ、レイアウト、場所、サイズ、または密度のうちの少なくとも1つを含み、FOVは、ディスプレイシステムを介してユーザによって所与の時間に知覚可能なFORの一部を含む、側面66に記載のシステム。
【0252】
第68の側面では、ユーザのFOV内のオブジェクトのサブグループの密度は、オブジェクトのサブグループ内のオブジェクトの数を計算すること、オブジェクトのサブグループによって被覆されるFOVのパーセンテージを計算すること、またはオブジェクトのサブグループ内のオブジェクトに関する等高線マップを計算することのうちの少なくとも1つによって計算される、側面67に記載のシステム。
【0253】
第69の側面では、ハードウェアプロセッサはさらに、仮想円錐とFOR内のオブジェクトのグループの中の1つまたはそれを上回るオブジェクトとの間の衝突を検出するようにプログラムされ、衝突の検出に応答して、ハードウェアプロセッサはさらに、焦点インジケータを1つまたはそれを上回るオブジェクトに提示するようにプログラムされる、側面66-68のうちのいずれか1項に記載のシステム。
【0254】
第70の側面では、ハードウェアプロセッサは、遮蔽曖昧性解消技法を仮想円錐と衝突する1つまたはそれを上回るオブジェクトに適用し、遮蔽されたオブジェクトを識別するようにプログラムされる、側面69に記載のシステム。
【0255】
第71の側面では、円錐は、中心光線を備え、開口は、中心光線を横断する、側面66-70のうちのいずれか1項に記載のシステム。
【0256】
第72の側面では、仮想円錐は、近位端を備え、近位端は、ユーザの眼間の場所、ユーザの腕の一部上の場所、ユーザ入力デバイス上の場所、またはユーザの環境内の任意の他の場所のうちの少なくとも1つの場所にアンカリングされる、側面66-71のうちのいずれか1項に記載のシステム。
【0257】
第73の側面では、ハードウェアプロセッサはさらに、ユーザ入力デバイスから、仮想円錐の深度を深度平面にアンカリングするインジケーションを受信するようにプログラムされ、円錐投射は、深度平面内のオブジェクトのグループ上に実施される、側面66-72のうちのいずれか1項に記載のシステム。
【0258】
第74の側面では、センサは、慣性測定ユニットまたは外向きに面したイメージングシステムのうちの少なくとも1つを備える、側面66-73のうちのいずれか1項に記載のシステム。
【0259】
第75の側面では、仮想円錐は、幾何学的円錐投射、直方体、多面体、角錐、または円錐台のうちの少なくとも1つを備える、側面66-74のうちのいずれか1項に記載のシステム。
【0260】
第76の側面では、ウェアラブルデバイスのためのオブジェクトと相互作用するための方法であって、前記方法は、3次元(3D)空間内の第1の位置においてユーザに表示される標的仮想オブジェクトの選択を受信することと、標的仮想オブジェクトに関する移動のインジケーションを受信することと、標的仮想オブジェクトと関連付けられたコンテキスト情報を分析することと、少なくとも部分的にコンテキスト情報に基づいて、標的仮想オブジェクトの移動に適用されるための乗数を計算することと、標的仮想オブジェクトに関する移動量を計算することであって、移動量は、少なくとも部分的に移動のインジケーションおよび乗数に基づく、ことと、ユーザに、第2の位置において標的仮想オブジェクトを表示することであって、第2の位置は、少なくとも部分的に第1の位置および移動量に基づく、こととを含む、方法。
【0261】
第77の側面では、コンテキスト情報は、ユーザから標的仮想オブジェクトまでの距離を含む、側面76に記載の方法。
【0262】
第78の側面では、乗数は、距離の増加に伴って比例して増加する、側面77に記載の方法。
【0263】
第79の側面では、移動は、位置変化、速度、または加速のうちの1つまたはそれを上回るものを含む、側面76-78のいずれか1項に記載の方法。
【0264】
第80の側面では、移動のインジケーションは、ウェアラブルデバイスと関連付けられたユーザ入力デバイスの作動またはユーザの姿勢の変化のうちの少なくとも1つを含む、側面76-79のいずれか1項に記載の方法。
【0265】
第81の側面では、姿勢は、頭部姿勢、眼姿勢、または身体姿勢のうちの1つまたはそれを上回るものを含む、側面80に記載の方法。
【0266】
第82の側面では、ウェアラブルデバイスのためのオブジェクトと相互作用するためのシステムであって、前記システムは、3次元(3D)ビューをユーザに提示するように構成されるウェアラブルデバイスのディスプレイシステムであって、3Dビューは、標的仮想オブジェクトを備える、ウェアラブルデバイスのディスプレイシステムと、ディスプレイシステムと通信するハードウェアプロセッサであって、前記ハードウェアプロセッサは、標的仮想オブジェクトに関する移動のインジケーションを受信することと、標的仮想オブジェクトと関連付けられたコンテキスト情報を分析することと、少なくとも部分的にコンテキスト情報に基づいて、標的仮想オブジェクトの移動に適用されるための乗数を計算することと、標的仮想オブジェクトに関する移動量を計算することであって、移動量は、少なくとも部分的に移動のインジケーションおよび乗数に基づく、ことと、ディスプレイシステムによって、第2の位置において標的仮想オブジェクトを表示することであって、第2の位置は、少なくとも部分的に、第1の位置および移動量に基づく、こととを行うようにプログラムされる、ハードウェアプロセッサとを備える、システム。
【0267】
第83の側面では、標的仮想オブジェクトの移動のインジケーションは、ウェアラブルデバイスのユーザの姿勢の変化またはウェアラブルデバイスと関連付けられたユーザ入力デバイスから受信された入力を含む、側面82に記載のシステム。
【0268】
第84の側面では、コンテキスト情報は、ユーザから標的仮想オブジェクトまでの距離を含む、側面82-83のうちのいずれか1項に記載のシステム。
【0269】
第85の側面では、乗数は、距離が閾値距離未満であるとき、1に等しく、閾値距離は、ユーザの手が届く範囲と等しい、側面84に記載のシステム。
【0270】
第86の側面では、乗数は、距離の増加に伴って比例して増加する、側面84-85のうちのいずれか1項に記載のシステム。
【0271】
第87の側面では、移動は、位置変化、速度、または加速のうちの1つまたはそれを上回るものを含む、側面82-86のうちのいずれか1項に記載のシステム。
【0272】
(結論)
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つまたはそれを上回る物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、または解釈されるプログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【0273】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つまたはそれを上回る物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
【0274】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【0275】
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つまたはそれを上回る実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行に、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【0276】
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【0277】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【0278】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいてアクションするものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つまたはそれを上回る特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
【0279】
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.,)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つまたはそれを上回る実施形態に対していかようにも要求されること、または1つまたはそれを上回る実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「~を備える」、「~を含む」、「~を有する」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つまたはそれを上回る」または「少なくとも1つ」を意味するように解釈されるべきである。
【0280】
本明細書で使用されるように、項目のリスト「のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、およびA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図されない。
【0281】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つまたはそれを上回る例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つまたはそれを上回る付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12A
図12B
図12C
図12D
図12E
図12F
図12G
図13
図14
図15
図16
図17
図18