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

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

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

特許7526226複合現実ディスプレイにおける仮想コンテンツのための掩蔽カーソル
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-23
(45)【発行日】2024-07-31
(54)【発明の名称】複合現実ディスプレイにおける仮想コンテンツのための掩蔽カーソル
(51)【国際特許分類】
   G06F 3/04815 20220101AFI20240724BHJP
   G09G 5/00 20060101ALI20240724BHJP
   G09G 5/08 20060101ALI20240724BHJP
   G06T 19/00 20110101ALI20240724BHJP
   G06F 3/0346 20130101ALN20240724BHJP
   H04N 13/332 20180101ALN20240724BHJP
   H04N 13/344 20180101ALN20240724BHJP
【FI】
G06F3/04815
G09G5/00 510A
G09G5/00 550C
G09G5/00 530M
G09G5/08 D
G09G5/08 F
G09G5/08 M
G06T19/00 600
G06F3/0346 422
G06F3/0346 421
H04N13/332
H04N13/344
【請求項の数】 22
【外国語出願】
(21)【出願番号】P 2022090166
(22)【出願日】2022-06-02
(62)【分割の表示】P 2020539257の分割
【原出願日】2019-01-25
(65)【公開番号】P2022119960
(43)【公開日】2022-08-17
【審査請求日】2022-06-02
(31)【優先権主張番号】15/884,117
(32)【優先日】2018-01-30
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/920,830
(32)【優先日】2018-03-14
(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)【発明者】
【氏名】クリス ソレル
(72)【発明者】
【氏名】ジェイムズ エム. パウダーリー
(72)【発明者】
【氏名】サバンナ ナイルズ
(72)【発明者】
【氏名】リチャード セント クレア ベイリー
【審査官】田中 洋行
(56)【参考文献】
【文献】特開2014-191235(JP,A)
【文献】特開2015-222891(JP,A)
【文献】特開2009-080345(JP,A)
【文献】米国特許出願公開第2014/0047392(US,A1)
【文献】特開2006-179006(JP,A)
【文献】米国特許第09619105(US,B1)
【文献】特表2015-504616(JP,A)
【文献】米国特許出願公開第2017/0018031(US,A1)
【文献】米国特許出願公開第2015/0040040(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048-3/04895
G09G 5/00
G09G 5/377
G09G 5/08
G06T 19/00
G06F 3/0346
H04N 13/332
H04N 13/344
(57)【特許請求の範囲】
【請求項1】
ウェアラブルディスプレイシステムであって、前記ウェアラブルディスプレイシステムは、
ユーザの眼の前に位置付けられるように構成されたディスプレイであって、前記ディスプレイは、仮想コンテンツを投影するように構成されている、ディスプレイと、
ユーザ入力を受信するように構成されたユーザ入力デバイスと、
前記ユーザ入力デバイスおよび前記ディスプレイと通信しているハードウェアプロセッサと
を備えており、
前記ハードウェアプロセッサは、
複数の仮想オブジェクトをレンダリングするように前記ディスプレイに指示することと、
カーソル場所を識別することであって、前記カーソル場所は、少なくとも部分的に前記ユーザ入力に基づいて変化する、ことと、
前記カーソル場所および前記複数の仮想オブジェクトのそれぞれの場所を比較することにより、前記カーソル場所に最も近い仮想オブジェクトおよび前記カーソル場所に2番目に近い仮想オブジェクトを識別することと、
前記最も近い仮想オブジェクトに近接して第1の焦点インジケータと、
前記2番目に近い仮想オブジェクトに近接して第2の焦点インジケータと
を前記ディスプレイにレンダリングさせることと
を行うようにプログラムされている、ウェアラブルディスプレイシステム。
【請求項2】
前記最も近い仮想オブジェクトは、前記カーソル場所に重複する前記複数の仮想オブジェクトのうちの任意の仮想オブジェクトを含む、請求項1に記載のウェアラブルディスプレイシステム。
【請求項3】
前記第1の焦点インジケータは、前記第2の焦点インジケータが前記2番目に近い仮想オブジェクトを強調する態様とは異なるように、前記最も近い仮想オブジェクトを強調する、請求項1に記載のウェアラブルディスプレイシステム。
【請求項4】
前記ユーザ入力デバイスは、タッチセンサ式表面を備えているハンドヘルドトーテム、ユーザジェスチャを検出するように構成された外向きに面した結像システム、前記ユーザの眼姿勢を検出するように構成された内向きに面した結像システム、または、前記ユーザの頭部姿勢を検出するように構成された慣性測定ユニットのうちの少なくとも1つを備えている、請求項1に記載のウェアラブルディスプレイシステム。
【請求項5】
前記第1の焦点インジケータは、前記最も近い仮想オブジェクトを少なくとも部分的に包囲する光彩または後光のうちの少なくとも1つを含む、請求項1に記載のウェアラブルディスプレイシステム。
【請求項6】
前記第1の焦点インジケータは、前記最も近い仮想オブジェクトのサイズまたは深度変化のうちの少なくとも1つを含む、請求項1に記載のウェアラブルディスプレイシステム。
【請求項7】
前記ハードウェアプロセッサは、前記第1の焦点インジケータおよび前記第2の焦点インジケータのレンダリングを促進するために複数のレンダリング工程を実施するようにさらにプログラムされている、請求項1に記載のウェアラブルディスプレイシステム。
【請求項8】
ウェアラブルディスプレイシステムであって、
ユーザの眼の前に位置付けられように構成されたディスプレイであって、前記ディスプレイは、仮想コンテンツを投影するように構成されている、ディスプレイと、
ユーザ入力を受信するように構成されたユーザ入力デバイスと、
前記ユーザ入力デバイスおよび前記ディスプレイと通信しているハードウェアプロセッサと
を備えており、
前記ハードウェアプロセッサは、
複数の仮想オブジェクトをレンダリングするように前記ディスプレイに指示することと、
カーソル場所を識別することであって、前記カーソル場所は、少なくとも部分的に前記ユーザ入力に基づいて変化する、ことと、
前記カーソル場所および前記複数の仮想オブジェクトのそれぞれの場所を比較することにより、前記カーソル場所に最も近い仮想オブジェクトを識別することと、
複数のレンダリング工程を実施することにより、前記ディスプレイを介して、焦点インジケータが前記最も近い仮想オブジェクトに近接してレンダリングされるようにすることであって、前記複数のレンダリング工程は、カーソル光彩、形状マスク、および光彩マスクをレンダリングするための個々のレンダリング工程を含む、ことと
を行うようにプログラムされている、ウェアラブルディスプレイシステム。
【請求項9】
前記カーソル光彩は、前記焦点インジケータが現れ得る最大の表示空間エリアを定義する、請求項8に記載のウェアラブルディスプレイシステム。
【請求項10】
前記形状マスクは、前記最も近い仮想オブジェクトのシルエットまたは外側境界のうちの少なくとも1つを示す、請求項8に記載のウェアラブルディスプレイシステム。
【請求項11】
前記光彩マスクは、前記カーソル場所からの距離閾値内にある前記最も近い仮想オブジェクトの外側境界の部分を示す、請求項8に記載のウェアラブルディスプレイシステム。
【請求項12】
複合現実環境においてオブジェクトに対してカーソルをレンダリングする方法であって、前記方法は、
ディスプレイおよびハードウェアプロセッサを備えている複合現実ディスプレイデバイスの制御下で、
複数の仮想オブジェクトをレンダリングするように前記ディスプレイに指示することであって、前記ディスプレイは、ユーザの眼の前に位置付けられように、かつ、仮想コンテンツを投影するように構成されている、ことと、
カーソル場所を識別することであって、前記カーソル場所は、ユーザ入力デバイスで受信されたユーザ入力に少なくとも部分的に基づいて変化する、ことと、
前記カーソル場所および前記複数の仮想オブジェクトのそれぞれの場所を比較することにより、前記カーソル場所に最も近い仮想オブジェクトおよび前記カーソル場所に2番目に近い仮想オブジェクトを識別することと、
前記ディスプレイを介して、前記最も近い仮想オブジェクトに近接して第1の焦点インジケータがレンダリングされるようにすることと、
前記ディスプレイを介して、前記2番目に近い仮想オブジェクトに近接して第2の焦点インジケータがレンダリングされるようにすることと
を含む、方法。
【請求項13】
前記最も近い仮想オブジェクトの少なくとも一部は、前記カーソル場所に重複する、請求項12に記載の方法。
【請求項14】
前記第1の焦点インジケータは、前記第2の焦点インジケータが前記2番目に近い仮想オブジェクトを強調する態様とは異なるように、前記最も近い仮想オブジェクトを強調する、請求項12に記載の方法。
【請求項15】
複合現実環境においてオブジェクトに対してカーソルをレンダリングする方法であって、前記方法は、
ディスプレイおよびハードウェアプロセッサを備えている複合現実ディスプレイデバイスの制御下で、
複数の仮想オブジェクトをレンダリングするように前記ディスプレイに指示することであって、前記ディスプレイは、ユーザの眼の前に位置付けられように、かつ、仮想コンテンツを投影するように構成されている、ことと、
カーソル場所を識別することであって、前記カーソル場所は、ユーザ入力デバイスで受信されたユーザ入力に少なくとも部分的に基づいて変化する、ことと、
前記カーソル場所および前記複数の仮想オブジェクトのそれぞれの場所を比較することにより、前記カーソル場所に最も近い仮想オブジェクトを識別することと、
複数のレンダリング工程を実施することにより、前記ディスプレイを介して、焦点インジケータを前記最も近い仮想オブジェクトに近接してレンダリングすることであって、前記複数のレンダリング工程は、カーソル光彩、形状マスク、および光彩マスクをレンダリングするための個々のレンダリング工程を含む、ことと
を含む、方法。
【請求項16】
前記光彩マスクは、前記カーソル場所からの距離閾値内にある前記最も近い仮想オブジェクトの外側境界の部分を示す、請求項15に記載の方法。
【請求項17】
前記焦点インジケータは、前記最も近い仮想オブジェクトのサイズまたは深度変化のうちの少なくとも1つを含む、請求項15に記載の方法。
【請求項18】
前記ユーザ入力デバイスは、タッチセンサ式表面を備えているハンドヘルドトーテム、ユーザジェスチャを検出するように構成された外向きに面した結像システム、前記ユーザの眼姿勢を検出するように構成された内向きに面した結像システム、または、前記ユーザの頭部姿勢を検出するように構成された慣性測定ユニットのうちの少なくとも1つを備えている、請求項12に記載の方法。
【請求項19】
前記第1の焦点インジケータは、前記最も近い仮想オブジェクトを少なくとも部分的に包囲する光彩または後光のうちの少なくとも1つを含む、請求項12に記載の方法。
【請求項20】
前記第1の焦点インジケータは、前記最も近い仮想オブジェクトのサイズまたは深度変化のうちの少なくとも1つを含む、請求項12に記載の方法。
【請求項21】
前記ハードウェアプロセッサは、
複数のレンダリング工程を実施することにより、前記ディスプレイを介して前記第1の焦点インジケータがレンダリングされるようにする
ようにさらにプログラムされており、前記複数のレンダリング工程は、カーソル光彩、形状マスク、および光彩マスクをレンダリングするための個々のレンダリング工程を含む、請求項1に記載のウェアラブルディスプレイシステム。
【請求項22】
前記方法は、
複数のレンダリング工程を実施することにより、前記ディスプレイを介して前記第1の焦点インジケータをレンダリングすること
をさらに含み、前記複数のレンダリング工程は、カーソル光彩、形状マスク、および光彩マスクをレンダリングするための個々のレンダリング工程を含む、請求項12~14、18~20のうちのいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(著作権表示)
本特許文書の開示の一部分は、著作権保護を受けるべき資料を含む。本著作権所有者は、本特許文書または本特許開示を誰が複写しても、それが特許商標局の特許ファイルまたは記録に現れる通りである限りでは異議はないが、その他の場合、いかなる著作権も全て保有する。
(関連出願の相互参照)
【0002】
本願は、2018年3月14日に出願され、「ECLIPSE CURSOR FOR
VIRTUAL CONTENT IN MIXED REALITY DISPLAYS」と題された米国特許出願第15/920830号の継続出願であり、2018年1月30日に出願され、「ECLIPSE CURSOR FOR MIXED REALITY DISPLAYS」と題された米国特許出願第15/884,117号の部分継続出願であり、それらの各々は、その全体が参照により本明細書に組み込まれる。
(分野)
【0003】
本開示は、仮想、拡張、または複合現実結像および可視化システムに関し、より具体的に、焦点インジケータをユーザの視野内の1つ以上の実オブジェクトまたは仮想オブジェクトに割り当てることに関する。
【背景技術】
【0004】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」、「拡張現実」、または「複合現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える様式、またはそのように知覚され得る様式でユーザに提示される。仮想現実または「VR」シナリオは、典型的に、他の実際の実世界の視覚的入力に対する透過性を伴わずにデジタルまたは仮想画像情報の提示を伴う。拡張現実または「AR」シナリオは、典型的に、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。複合現実または「MR」は、物理的および仮想オブジェクトが、共存し、リアルタイムで相互作用する新しい環境を生成するための実世界と仮想世界の融合に関連する。結論から述べると、ヒトの視知覚系は、非常に複雑であり、他の仮想または実世界画像要素間における仮想画像要素の快適で、自然のような感覚で、かつ豊かな提示を促進する、VR、AR、またはMR技術の生成は、困難である。本明細書に開示されるシステムおよび方法は、VR、AR、およびMR技術に関連する種々の課題に対処する。
【発明の概要】
【課題を解決するための手段】
【0005】
ウェアラブルディスプレイデバイスによって、仮想、拡張、または複合現実環境内の実または仮想オブジェクトに関連付けられたカーソルおよび焦点インジケータを表示するための技法が、説明される。例えば、カーソルを環境内のオブジェクトの前にレンダリングすることは、オブジェクトを塞ぎ、視覚的階層において、相互作用されている標的オブジェクトではなく、カーソル自体により強調を置く傾向にある。故に、ウェアラブルシステムの実施形態は、標的オブジェクトの背後で移動させる(例えば、カーソルが標的オブジェクトによって「掩蔽」されるように)、掩蔽カーソルを利用することができ、それは、ユーザの視覚的階層において、カーソルではなく、標的オブジェクトに強調を保存する傾向にある。ユーザがカーソルを環境内のオブジェクト間でナビゲートすることを補助するために、システムは、焦点インジケータをカーソルの近くのオブジェクトの周囲にレンダリングすることができる。焦点インジケータは、後光、陰影、またはハイライトをカーソルの近くのオブジェクトの少なくとも一部の周囲に含み得る。焦点インジケータは、カーソルに近いほど(例えば、より明るく、異なる色または陰影で、またはより大きいサイズで)強調され得(かつカーソルから離れるほど強調解除される)、それは、カーソルを環境内のオブジェクト間でナビゲートし、標的オブジェクトを選択することにおいて視覚的キューをユーザに提供する。掩蔽カーソルおよび焦点インジケータは、ユーザに、より自然かつ没入型のユーザ体験を提供することができる。
【0006】
種々の実施形態において、ウェアラブルディスプレイシステムは、ユーザによって移動可能なカーソルと環境内の1つ以上の標的オブジェクトとの間の空間関係を決定することができる。例えば、ユーザは、ハンドヘルドユーザ入力デバイス(例えば、トーテム)を作動させることによって、カーソルを移動させ得る。ウェアラブルシステムは、カーソルの近くのオブジェクトの周囲にまたはそれに隣接して、焦点インジケータ(例えば、後光、陰影、またはハイライト)をレンダリングし得る。焦点インジケータは、カーソルにより近い方向に強調され、カーソルからより遠い方向に強調解除され得る。カーソルが、標的オブジェクトと重複すると、システムは、カーソルをオブジェクトの背後にレンダリングすることができ(またはカーソルを全くレンダリングしない)、したがって、オブジェクトは、カーソルによって塞がれない(例えば、オブジェクトがカーソルを掩蔽する)。カーソルおよび焦点インジケータは、ユーザに、位置フィードバックを提供し、ユーザが環境内のオブジェクト間でナビゲートすることに役立つことができる。
【0007】
種々の側面において、ウェアラブルディスプレイシステムは、1つ以上の深度に配置されるサムネイルの(規則的または不規則的)グリッドにおいて配列される複数の相互作用可能仮想アイテムをユーザに提示するユーザインターフェースを含むことができる。サムネイルは、そのコンテンツによって仮想アイテムを識別するために使用され得る仮想アイテムの小型表現(例えば、ドキュメントページまたは画像)を備えていることができる。いくつかの実装において、サムネイルを選択(例えば、クリックまたはダブルクリック)することは、仮想アイテムのコンテンツを開く(例えば、仮想コンテンツを起動、再生、閲覧、または編集するように構成されるアプリケーションを実行することによって)。サムネイルは、1つの深度(例えば、2Dサムネイルとして)または複数の深度で現れるように(例えば、3Dで現れるように)、レンダリングされることができる。カーソルがグリッド内のサムネイルのうちの1つの背後で移動することに応答して、そのアイテムのためのサムネイルは、以下の効果のうちの1つ以上のものとともにレンダリングされ得る:サイズにおいて拡張すること、焦点インジケータ(例えば、サムネイルの少なくとも一部を包囲する後光)を含むこと、異なる深度(例えば、ユーザのより近くに現れる深度)に移動すること、または、異なる仮想コンテンツ(例えば、より高い分解能画像、キャプション、音、グラフィックのビデオまたは動画の再生等)を有すること。サムネイルは、1つ以上のグループ化基準(例えば、アイテム名別にアルファベット順に、コンテンツタイプ、日付等)に従って、順序付けられ得る。サムネイルのグリッドは、ユーザによってスクロール可能であり得る(例えば、頭部、眼、または身体ジェスチャ、またはトーテムからのユーザ入力を使用して)。グリッドの縁を(例えば、スクロールの方向に)スクロールすることは、スクロール中、次に表示されるべき仮想コンテンツ(例えば、次に来るコンテンツ)の指示を動的に(例えば、随意に、グリッドの縁と異なる深度において、半透明サムネイルとして)表示し得る。
【0008】
種々の側面において、本開示は、アイコンまたは遷移(例えば、動画化された)グラフィカルユーザインターフェースを伴うディスプレイ画面またはその一部のための装飾的設計を提供する。拡張、複合、または仮想現実ディスプレイデバイスは、ディスプレイ画面またはその一部を構成することができる。
【0009】
本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本概要または以下の発明を実施するための形態のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
本発明は、例えば、以下を提供する。
(項目1)
ウェアラブルディスプレイシステムであって、前記ウェアラブルディスプレイシステムは、
ユーザの眼の前に位置付けられるように構成されたディスプレイであって、前記ディスプレイは、仮想コンテンツを前記ユーザの眼に向かってを投影するように構成されている、ディスプレイと、
仮想カーソルの移動に関連付けられたユーザ入力データを受信するように構成されたユーザ入力デバイスと、
前記ディスプレイおよび前記ユーザ入力デバイスと通信しているハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
前記ユーザの環境における前記仮想カーソルの場所を識別することと、
前記仮想カーソルと前記ユーザの環境におけるオブジェクトとの間の空間関係を決定することと、
少なくとも部分的に前記空間関係に基づいて、前記オブジェクトに関連付けられた焦点インジケータをレンダリングするように前記ディスプレイに指示することと
を行うようにプログラムされている、ウェアラブルディスプレイシステム。
(項目2)
前記ユーザ入力デバイスは、タッチセンサ式表面を備えているハンドヘルドトーテム、ユーザジェスチャを検出するように構成された外向きに面した結像システム、前記ユーザの眼姿勢を検出するように構成された内向きに面した結像システム、または、前記ユーザの頭部姿勢を検出するように構成された慣性測定ユニットのうちの1つ以上を備えている、項目1に記載のウェアラブルディスプレイシステム。
(項目3)
前記仮想カーソルと前記オブジェクトとの間の前記空間関係を決定するために、前記ハードウェアプロセッサは、
前記仮想カーソルの場所と前記オブジェクトの一部との間の距離を決定すること、または前記仮想カーソルと前記オブジェクトとの間の相対的な向きを決定することと、
少なくとも部分的に前記決定された距離または前記決定された向きに基づいて、前記焦点インジケータをレンダリングするように前記ディスプレイに指示することと
を行うようにプログラムされている、項目1に記載のウェアラブルディスプレイシステム。
(項目4)
前記焦点インジケータは、少なくとも部分的に前記オブジェクトを包囲する光彩または後光、前記オブジェクトのサイズまたは深度変化、または、グラフィカルハイライトのうちの1つ以上を備えている、項目1に記載のウェアラブルディスプレイシステム。
(項目5)
焦点インジケータをレンダリングするように前記ディスプレイに指示するために、前記ハードウェアプロセッサは、
第1のレンダリング工程を実施し、カーソル光彩を第1のバッファにレンダリングすることであって、前記カーソル光彩の場所は、少なくとも部分的に前記仮想カーソルの場所に基づく、ことと、
第2のレンダリング工程を実施し、前記オブジェクトの形状マスク表現を第2のバッファにレンダリングすることと、
第3のレンダリング工程を実施し、前記オブジェクトに関連付けられた光彩マスクを第3のバッファにレンダリングすることと、
第4のレンダリング工程を実施することと
を行うようにプログラムされ、
前記第4のレンダリング工程は、ユーザへの提示のために、少なくとも前記第1のバッファと、前記第2のバッファと、前記第3のバッファとを組み合わせるように構成されている、項目1に記載のウェアラブルディスプレイシステム。
(項目6)
前記第4のレンダリング工程を実施するために、前記ハードウェアプロセッサは、少なくとも前記第1のバッファ、前記第2のバッファ、および前記第3のバッファを仮想場面コンテンツを備えている第4のバッファと組み合わせるようにプログラムされている、項目5に記載のウェアラブルディスプレイシステム。
(項目7)
前記ハードウェアプロセッサは、
前記仮想カーソルの場所と前記オブジェクトとの間の距離を決定することと、
前記距離が閾値距離より小さい場合、前記仮想カーソルの場所を前記オブジェクトを表す場所であるように更新することと
を行うようにさらにプログラムされている、項目1に記載のウェアラブルディスプレイシステム。
(項目8)
前記ハードウェアプロセッサは、
前記仮想カーソルの場所と前記オブジェクトとの間の向きを決定することと、
前記焦点インジケータを前記仮想カーソルの前記向きに向かって優先的にレンダリングするように前記ディスプレイに指示することと
を行うようにプログラムされている、項目1に記載のウェアラブルディスプレイシステム。
(項目9)
前記ハードウェアプロセッサは、
少なくとも部分的に前記仮想カーソルのそれ以前の運動経路に基づいて、前記仮想カーソルの場所を更新するようにプログラムされている、項目1に記載のウェアラブルディスプレイシステム。
(項目10)
前記ハードウェアプロセッサは、前記ユーザ入力デバイスからのユーザ入力の中止に応答して、少なくとも部分的に前記それ以前の運動経路に基づいて、前記仮想カーソルの場所を更新するようにプログラムされている、項目9に記載のウェアラブルディスプレイシステム。
(項目11)
前記ハードウェアプロセッサは、
前記仮想カーソルの場所と前記オブジェクトの一部との間の距離を決定することと、
前記距離が閾値より小さいことの決定に応答して、前記オブジェクトを前記仮想カーソルの前にレンダリングすること、または前記仮想カーソルのレンダリングを中止することと
を行うようにプログラムされている、項目1に記載のウェアラブルディスプレイシステム。
(項目12)
カーソルを複合現実環境におけるオブジェクトに対してレンダリングする方法であって、前記方法は、
ディスプレイおよびハードウェアプロセッサを備えている複合現実ディスプレイデバイスの制御下で、
前記複合現実環境における前記カーソルの場所を決定することと、
前記オブジェクトに関連付けられた場所を決定することと、
前記オブジェクトと前記カーソルとの間で重複が生じるかどうかを決定することと、
前記重複が生じないことの決定に応答して、前記カーソルをレンダリングすることと、
前記重複が生じることの決定に応答して、前記オブジェクトを前記カーソルの前にレンダリングすること、または前記カーソルのレンダリングを中止することと
を含む、方法。
(項目13)
前記オブジェクトと前記カーソルとの間で重複が生じるかどうかを決定することは、前記カーソルの場所と前記オブジェクトの場所との間の距離が距離閾値より小さいかどうかを決定することを含む、項目12に記載の方法。
(項目14)
前記重複が生じることの決定に応答して、前記方法は、前記オブジェクトに関連付けられた焦点インジケータをレンダリングすることをさらに含む、項目12に記載の方法。
(項目15)
前記焦点インジケータは、少なくとも部分的に前記オブジェクトを包囲する光彩または後光、前記オブジェクトのサイズまたは深度変化、またはグラフィカルハイライトのうちの1つ以上を備えている、項目14に記載の方法。
(項目16)
前記カーソルと前記オブジェクトとの間の空間関係を決定することと、
少なくとも部分的に前記空間関係に基づいて、前記オブジェクトに関連付けられた焦点インジケータをレンダリングすることと
をさらに含む、項目12に記載の方法。
(項目17)
拡張現実ディスプレイシステムであって、前記拡張現実ディスプレイシステムは、
ユーザの環境におけるカーソルの位置に関連するユーザ入力を受信するように構成されたユーザ入力デバイスと、
ディスプレイであって、ユーザは、前記ディスプレイを通して前記ユーザの前記環境における仮想オブジェクトを知覚できる、ディスプレイと、
前記ユーザ入力デバイスおよび前記ディスプレイと通信しているハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
前記ディスプレイを介して仮想オブジェクトがレンダリングされるようにすることと、
少なくとも部分的に前記ユーザ入力に基づいて、前記環境における前記カーソルの位置を追跡することと、
前記仮想オブジェクトの位置を識別することと、
前記仮想オブジェクトと前記カーソルの位置との間の第1の距離が距離閾値を満たすかどうかを決定することと、
前記第1の距離が前記距離閾値を満たすことの決定に応答して、前記ディスプレイを介して前記オブジェクトに近接した焦点インジケータがレンダリングされるようにすることと
を行うようにプログラムされている、拡張現実ディスプレイシステム。
(項目18)
拡張現実ディスプレイシステムであって、前記拡張現実ディスプレイシステムは、
ユーザの環境におけるカーソルの位置に関連するユーザ入力を受信するように構成されたユーザ入力デバイスと、
ディスプレイであって、ユーザは、前記ディスプレイを介して前記ユーザの環境における仮想オブジェクトを知覚できる、ことと、
前記ユーザ入力デバイスおよび前記ディスプレイと通信しているハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
前記ディスプレイを介して複数の仮想オブジェクトがレンダリングされるようにすることと、
前記ディスプレイの視野内の前記カーソルの位置を追跡することと、
前記複数の仮想オブジェクトの位置を識別することと、
前記カーソルの位置と前記複数の仮想オブジェクトの位置とを比較し、前記カーソルの位置に最も近いオブジェクトを決定することと、
前記ディスプレイを介して焦点インジケータが前記最も近いオブジェクトに近接してレンダリングされるようにすることと
を行うようにプログラムされている、拡張現実ディスプレイシステム。
(項目19)
複合現実ディスプレイデバイスのためのグラフィカルユーザインターフェースをレンダリングする方法であって、前記方法は、
ディスプレイおよびハードウェアプロセッサを備えている複合現実ディスプレイデバイスの制御下で、
前記ディスプレイの視野内のカーソルの場所を決定することと、
前記ディスプレイの視野内のオブジェクトに関連付けられた焦点インジケータをレンダリングすることと、
前記オブジェクトに対する前記カーソルの移動を追跡することと、
少なくとも部分的に前記オブジェクトに対する前記カーソルの移動に基づいて、前記焦点インジケータのレンダリングを調節することと
を含む、方法。
(項目20)
ウェアラブルディスプレイシステムであって、前記ウェアラブルディスプレイシステムは、
ユーザの眼の前に位置付けられるように構成されたディスプレイであって、前記ディスプレイは、仮想コンテンツを前記ユーザの眼に向かって投影するように構成されている、ディスプレイと、
仮想環境における仮想カーソルの移動に関連付けられたユーザ入力データを受信するように構成されたユーザ入力デバイスと、
前記ディスプレイおよび前記ユーザ入力デバイスと通信しているハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
仮想環境における第1の深度において仮想アイコンをレンダリングするように前記ディスプレイに指示することと、
前記仮想環境内の第2の深度において仮想カーソルをレンダリングするように前記ディスプレイに指示することと、
前記仮想環境における前記仮想カーソルの移動を追跡することと、
前記仮想カーソルと前記仮想アイコンとの間で重複が生じるかどうかを決定することと、
前記重複の決定に応答して、前記第1の深度または前記第2の深度より前記ユーザに近い第3の深度において前記仮想アイコンをレンダリングするように前記ディスプレイに指示することと
を行うようにプログラムされている、ウェアラブルディスプレイシステム。
(項目21)
ウェアラブルディスプレイシステムであって、前記ウェアラブルディスプレイシステムは、
ユーザの眼の前に位置付けられるように構成されたディスプレイであって、前記ディスプレイは、仮想コンテンツを前記ユーザの眼に向かって投影するように構成されている、ディスプレイと、
仮想環境における仮想カーソルの移動に関連付けられたユーザ入力データを受信するように構成されたユーザ入力デバイスと、
前記ディスプレイおよび前記ユーザ入力デバイスと通信しているハードウェアプロセッサと
を備え、
前記ハードウェアプロセッサは、
複数の仮想アイコンの仮想レイアウトをレンダリングするように前記ディスプレイに指示することであって、前記仮想レイアウトにおける前記複数の仮想アイコンのうちの少なくともいくつかは、前記仮想環境における第1の深度においてレンダリングされる、ことと、
前記仮想レイアウトをスクロールするためのユーザ指示を受信することと、
前記仮想レイアウトをスクロールするための前記ユーザ指示の受信に応答して、仮想コンテンツパネルをレンダリングするように前記ディスプレイに指示することと
を行うようにプログラムされ、
前記仮想コンテンツパネルは、前記スクロールより前にレンダリングされていなかった仮想アイコンの表現を含み、前記仮想コンテンツパネルは、前記仮想環境における第2の深度においてレンダリングされる、ウェアラブルディスプレイシステム。
【図面の簡単な説明】
【0010】
図1図1は、人物によって視認されるある仮想現実オブジェクトおよびある物理的オブジェクトを伴う複合現実シナリオの例証を描写する。
【0011】
図2図2は、ウェアラブルシステムの例を図式的に図示する。
【0012】
図3図3は、複数の深度平面を使用した3次元画像をシミュレートするためのアプローチの側面を図式的に図示する。
【0013】
図4図4は、画像情報をユーザに出力するためのウェアラブルデバイスの導波管スタックの例を図式的に図示する。
【0014】
図5図5は、導波管によって出力され得る例示的出射ビームを示す。
【0015】
図6図6は、多焦点立体ディスプレイ、画像、または明視野の生成において使用される導波管装置と、光を導波管装置にまたはそれから光学的に結合するための光学結合器サブシステムと、制御サブシステムとを含む光学システムを示す概略図である。
【0016】
図7図7は、ウェアラブルシステムの例のブロック図である。
【0017】
図8図8は、認識されるオブジェクトに関連して仮想コンテンツをレンダリングする方法の例のプロセスフロー図である。
【0018】
図9図9は、ウェアラブルシステムの別の例のブロック図である。
【0019】
図10図10は、ウェアラブルシステムへのユーザ入力を決定する方法の例のプロセスフロー図である。
【0020】
図11図11は、仮想ユーザインターフェースと相互作用する方法の例のプロセスフロー図である。
【0021】
図12図12A-12Cは、ウェアラブルシステムを介してユーザによって知覚され得るオブジェクトおよびカーソルの種々の例を図示する。
【0022】
図13図13Aおよび13Bは、焦点インジケータおよびカーソルの非限定的実施形態を図示する。
【0023】
図14図14A-14Cは、ウェアラブルディスプレイシステムを介してユーザによって知覚可能な3D環境内のカーソルおよびオブジェクトの例を図示する。
【0024】
図15A図15Aおよび15Bは、環境内のオブジェクトの場所とのカーソルの近さに基づいて、種々の強度、位置、または空間範囲を有する複数の焦点インジケータの例示的実装を図示する。
図15B図15Aおよび15Bは、環境内のオブジェクトの場所とのカーソルの近さに基づいて、種々の強度、位置、または空間範囲を有する複数の焦点インジケータの例示的実装を図示する。
【0025】
図16A図16A-16Dは、焦点インジケータをレンダリングするプロセスの例を図示する。
図16B図16A-16Dは、焦点インジケータをレンダリングするプロセスの例を図示する。
図16C図16A-16Dは、焦点インジケータをレンダリングするプロセスの例を図示する。
図16D図16A-16Dは、焦点インジケータをレンダリングするプロセスの例を図示する。
【0026】
図17図17は、トーテム(タッチセンサ式表面を伴う)上のグリッドおよびユーザ入力の例を示す。
【0027】
図18図18A-18Cは、カーソルを焦点インジケータを有するオブジェクトに向かって移動させる例を図示する。
【0028】
図19図19-22は、システムによってレンダリングされ得る焦点インジケータの種々の例を図示する。
図20図19-22は、システムによってレンダリングされ得る焦点インジケータの種々の例を図示する。
図21図19-22は、システムによってレンダリングされ得る焦点インジケータの種々の例を図示する。
図22図19-22は、システムによってレンダリングされ得る焦点インジケータの種々の例を図示する。
【0029】
図23図23は、焦点インジケータを3D場面内にレンダリングするための例示的方法を図示するフローチャートである。
【0030】
図24図24-28は、アイコンを伴うディスプレイ画面またはその一部の実施形態の正面図である。
図25図24-28は、アイコンを伴うディスプレイ画面またはその一部の実施形態の正面図である。
図26図24-28は、アイコンを伴うディスプレイ画面またはその一部の実施形態の正面図である。
図27図24-28は、アイコンを伴うディスプレイ画面またはその一部の実施形態の正面図である。
図28図24-28は、アイコンを伴うディスプレイ画面またはその一部の実施形態の正面図である。
【0031】
図29A図29A-29Fは、ディスプレイ画面またはその一部上のグラフィカルユーザインターフェース(GUI)のための遷移の一続きの実施形態の正面図である。
図29B図29A-29Fは、ディスプレイ画面またはその一部上のグラフィカルユーザインターフェース(GUI)のための遷移の一続きの実施形態の正面図である。
図29C図29A-29Fは、ディスプレイ画面またはその一部上のグラフィカルユーザインターフェース(GUI)のための遷移の一続きの実施形態の正面図である。
図29D図29A-29Fは、ディスプレイ画面またはその一部上のグラフィカルユーザインターフェース(GUI)のための遷移の一続きの実施形態の正面図である。
図29E図29A-29Fは、ディスプレイ画面またはその一部上のグラフィカルユーザインターフェース(GUI)のための遷移の一続きの実施形態の正面図である。
図29F図29A-29Fは、ディスプレイ画面またはその一部上のグラフィカルユーザインターフェース(GUI)のための遷移の一続きの実施形態の正面図である。
【0032】
図30A図30A-30Fは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
図30B図30A-30Fは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
図30C図30A-30Fは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
図30D図30A-30Fは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
図30E図30A-30Fは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
図30F図30A-30Fは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
【0033】
図31A図31A-31Cは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
図31B図31A-31Cは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
図31C図31A-31Cは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。
【発明を実施するための形態】
【0034】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。加えて、本開示内の図は、例証目的のためのものであり、正確な縮尺で描かれていない。
(概要)
【0035】
ウェアラブルデバイスは、双方向VR/AR/MR環境を提示するためのディスプレイを含むことができる。VR/AR/MR環境は、例えば、頭部姿勢、眼視線、または身体姿勢等の種々の姿勢、またはユーザ入力デバイスを通したユーザ入力を通して、ユーザによって相互作用され得るデータ要素を含むことができる。ユーザに、VR/AR/MR環境内の実または仮想オブジェクトとのユーザの相互作用の正確な感覚を提供するために、システムは、画面上視覚補助をレンダリングし、ユーザが、環境内のオブジェクト間でナビゲートし、それを選択すること、またはそれと相互作用することを補助し得る。
【0036】
ある場合、画面上視覚補助は、仮想カーソル(時として、本明細書において、レチクルとも称される)を含むことができ、仮想カーソルは、ユーザ相互作用(例えば、ハンドヘルドトーテムを介したユーザ入力)に応答し、VR/AR/MR環境内のオブジェクトを選択するために、またはそれと相互作用するために使用され得る(ユーザに対する)移動可能なインジケータの位置を識別する。例えば、ユーザは、その親指をトーテムのタッチセンサ式部分上に移動させ、カーソルを3D VR/AR/MR環境内で移動させ得る。カーソルが、オブジェクトに十分に近い、またはその上をホバリングすると、ユーザは、オブジェクトを選択すること、またはそれと相互作用することが可能であり得(例えば、トーテムのタッチセンサ式部分を押すことによって)、それは、ウェアラブルデバイスによるさらなるコンテキスト依存機能性を開始し得る。例えば、ユーザは、映画を示している仮想ビデオディスプレイの近くにカーソルを移動させ、そのディスプレイを選択し、他の映画選択肢のメニュー、音量制御等を呼び出し得る。ある場合、カーソルは、ユーザが環境内のカーソルを容易に見つけ得るように、ユーザに表示される。これは、比較的に少ないオブジェクトが存在する比較的にまばらな環境において生じ得る。他の場合において、カーソルは、ユーザに表示されず、本明細書に説明される焦点インジケータ(例えば、オブジェクトの周囲の光彩)が、カーソルの場所に関する視覚的キューをユーザに提供するために使用される(例えば、カーソルは、最も明るい光彩を伴って、オブジェクトの近くに位置付けられる)。これは、比較的に多くのオブジェクトが存在し、カーソル自体の表示が、必要とされないこともあるか、または、それが注意を逸らし得る比較的に密な環境において生じ得る。
【0037】
しかしながら、従来のカーソルは、場面コンテンツを考慮せずにレンダリングされる。言い換えると、カーソルが、VR/AR/MR環境において移動させられると、カーソルは、環境内のオブジェクトの上に移動する(例えば、その前にレンダリングされる)。上記の例を継続すると、従来のカーソルは、仮想ビデオディスプレイの前に現れ得、それは、仮想ディスプレイを塞ぐのみならず、示されているコンテンツからユーザの注意を逸らす(例えば、ユーザは、映画よりカーソル自体により焦点を合わせる傾向があり、それは、注意を逸らし得る)。
【0038】
その結果、カーソルが、オブジェクトの上をホバリングするとき、またはオブジェクトを選択するために使用されるとき、カーソルは、事実上、オブジェクトの少なくとも一部を塞ぎ、または覆う。オブジェクトのこの遮られたビューは、環境内のユーザの体験に著しく影響を及ぼし得る。例えば、オブジェクトは、テキスト、画像等のコンテンツを含むことができ、ユーザは、オブジェクトのコンテンツも視認しながら、オブジェクトを選択することにおける困難を見出し得る。
【0039】
これらの問題は、2D環境内に存在するが、それらは、3D環境において悪化させられ得る。例えば、2D環境において、オブジェクトおよびカーソルは、深度を有していない。したがって、カーソルをオブジェクトの前にレンダリングすることは、カーソルおよびオブジェクトを同じ平面上にレンダリングすることから成る。対照的に、3D環境において、カーソルおよびオブジェクトは、ユーザに対して深度を有する。故に、所与の時間において、3D環境内のカーソルは、必ずしも、その環境内のオブジェクトと同じ深度にあるわけではない。例えば、カーソルは、オブジェクトに対してユーザのより近くまたはより遠くにあり得る。深度のこの差異に起因して、ユーザが、オブジェクトまたはカーソルのうちの一方に焦点を合わせる場合、他方は、相対的深度間の遠近調節不均衡に起因して、ユーザにぼけて見え得る。さらに、カーソルおよびオブジェクトが、ユーザに対して3D環境内で同じまたは類似した深度を有するインスタンスにおいてさえ、3D空間内のオブジェクトに「重なり合う」カーソルのために、システムは、カーソルの深度を変化させ、オブジェクトを通して移動するカーソルの出現を回避しなければならない。例えば、図12Aおよび12Bに図示されるように、システムは、カーソルがオブジェクトとユーザとの間に位置するかのように表示されるように、カーソルをユーザのより近くに移動させ得る。カーソルをユーザのより近くにレンダリングすることによって、システムは、事実上(かつ可能性として望ましくなく)、オブジェクトに対してカーソルを強調する。何故なら、人物の眼が、典型的に、視認者により近いオブジェクトに引き付けられ、カーソルがオブジェクトよりユーザの近くに現れるので、ユーザがカーソルに焦点を合わせる可能性がより高いからである。
【0040】
これらおよび他の問題に対処すために、システムの実施形態は、コンテンツを意識した画面上視覚補助をレンダリングすることができる。例えば、カーソルおよびオブジェクトが、重複するとき、システムは、カーソルをオブジェクトの背後に(その前ではなく)レンダリングすること、または、カーソルを全くレンダリングしないことができる(カーソルが、オブジェクトの背後にあり、ユーザに見えないので)。したがって、カーソルは、オブジェクトをユーザの視覚から遮断せず、システムは、カーソルをユーザのより近くにレンダリングすることによってカーソルを不注意に強調することはない。そのようなカーソル(またはレチクル)の実施形態は、時として、標的オブジェクトがカーソルを「掩蔽」するので、掩蔽カーソルまたは掩蔽レチクルとも称される。
【0041】
カーソルが、オブジェクトによって掩蔽されると、ユーザは、ユーザが場面内で向いている方向の正確な感覚またはカーソルが現在位置している場所の正確な感覚を得ることが困難であり得る。それは、カーソルが、少なくとも部分的にオブジェクトによって遮断されているからである。故に、環境内のカーソルの位置の正確な感覚をユーザに与え続けるために、システムは、カーソルがそのオブジェクトの背後に(またはその距離閾値内に)移動すると、別の(または代替)画面上視覚補助(例えば、焦点インジケータ)をレンダリングし、オブジェクトを強調することができる。
【0042】
焦点インジケータは、後光、色、知覚されるサイズまたは深度の変化(例えば、選択されると、オブジェクトをより近くにまたはより大きく現れさせる)、陰影、仮想光線、または、オブジェクトから発出する、またはそれに関連付けられたユーザの注意を引き付けやすい他のグラフィカルハイライトを含むことができる。例えば、焦点インジケータは、光輝く光源がオブジェクトの背後に据え付けられているかのように(オブジェクトが光源を「掩蔽」するように)、オブジェクトから外向きに照射するように見える光彩を含むことができる。光彩の強度は、オブジェクトの外側縁に近いほどより強く、オブジェクトの外側縁からより離れた距離にあるほどあまり強くないこともある。焦点インジケータは、オブジェクトを塞がないので(焦点インジケータは、典型的に、少なくとも部分的にオブジェクトを包囲するようにレンダリングされるので)、焦点インジケータは、代わりに、オブジェクトを強調し、有利に、カーソルのユーザフレンドリーな注意を逸らさない代替を提供し、現在相互作用されているオブジェクトをユーザに示す。
【0043】
ある場合、カーソルは、オブジェクトとのカーソルの近さが、焦点インジケータまたはカーソルの強度または位置付けに影響を及ぼすように、オブジェクトに対する誘引効果を有するように見えることができる。誘引効果は、カーソルおよびオブジェクト(または焦点インジケータ)が互いに磁気的または重力的に誘引されているかのように作用する傾向にあり得る。例えば、ある場合、各オブジェクトが、焦点インジケータ(例えば、外側光彩)を有し得、焦点インジケータの強度、サイズ、または場所は、オブジェクト(または焦点インジケータ)に対するカーソルの場所に基づいて、変動し得る。例えば、カーソルが、オブジェクトのより近くに移動するにつれて、そのオブジェクトの焦点インジケータは、より明るくなること、より強くなること、またはカーソルの方向に移動すること(例えば、それに向かって引き寄せられるかのように)ができる。カーソルが、オブジェクトのより近くに移動させられるにつれて、システムは、オブジェクトの背後に引き寄せられるかのように、カーソルをレンダリングする一方、同時に、焦点インジケータの強度を増加させ得る。この挙動は、カーソルが所望の標的オブジェクトに近づくにつれて、ユーザがカーソルを標的オブジェクト上に位置付けるために微調節を行う必要なく、カーソルが最も近いオブジェクトに向かって引き寄せられる(またはその上にスナップされる)ので、ユーザがオブジェクトをより自然かつ容易に選択することを可能にし得る。カーソルは、したがって、それが質量または慣性を有し(カーソルが最初に適用された方向に移動し続ける傾向にあるように)、誘引効果によって、すぐ近くのオブジェクトに向かって引き寄せられるかのように挙動し得る。環境内のカーソルの場所が、変化するにつれて、カーソルのすぐ近くのオブジェクトに関連付けられた焦点インジケータの強度も変化し得る。
【0044】
ある場合、システムは、焦点インジケータを2つ以上のオブジェクトに割り当てることができるか、または、焦点インジケータは、変動する強度または光彩を有することができ、例えば、環境内のカーソルの場所とのオブジェクトの近さに基づいて、フェーディングインまたはアウトし得る。故に、1つ以上の焦点インジケータは、例えば、変動する強度において、1つ以上のオブジェクトを強調することによって、位置フィードバックをユーザに与えることができる。変動する強度または光彩は、ユーザ入力がシフトするにつれて、位置をシフトさせ、持続的入力フィードバックおよびカーソル位置の正確な感覚を提供することができる。
【0045】
種々の側面において、システムは1つ以上の深度に配置され、サムネイルの(規則的または不規則的)グリッドにおいて配列された複数の相互作用可能仮想アイテムをユーザに提示するユーザインターフェースを含むことができる。カーソルがグリッド内のサムネイルのうちの1つの背後で移動することに応答して、そのアイテムのためのサムネイルは、以下の効果のうちの1つ以上によってレンダリングされ得る:サイズが拡張すること、焦点インジケータ(例えば、サムネイルの少なくとも一部を包囲する後光)を含むもと、異なる深度(例えば、ユーザのより近くに現れる深度)に移動すること、または、異なる仮想コンテンツ(例えば、より高い分解能画像、キャプション、音、グラフィックのビデオまたは動画の再生等)を有すること。サムネイルは、1つ以上のグループ化基準(例えば、アイテム名別にアルファベット順に、コンテンツタイプ、日付等)に従って、順序付けられ得る。サムネイルのグリッドは、ユーザによってスクロール可能であり得る(例えば、頭部、眼、または身体ジェスチャ、またはトーテムからのユーザ入力を使用して)。グリッドの縁を(例えば、スクロールの方向に)スクロールすることは、スクロール中、次に表示されるべき仮想コンテンツ(例えば、次に来るコンテンツ)の指示を動的に(例えば、半透明サムネイルとして、随意にグリッドの縁と異なる深度において)表示し得る。
(ウェアラブルシステムの3Dディスプレイの例)
【0046】
ウェアラブルシステム(本明細書において、拡張現実(AR)システムとも称される)は、2次元(2D)または3次元(3D)仮想画像をユーザに提示するために構成されることができる。画像は、組み合わせにおいて等、静止画像、ビデオのフレーム、またはビデオであり得る。ウェアラブルシステムは、ユーザ相互作用のために、単独で、または組み合わせて、VR、AR、またはMR環境を提示し得るウェアラブルデバイスを含むことができる。ウェアラブルデバイスは、頭部搭載型デバイス(HMD)であることができ、それは、ARデバイス(ARD)と同義的に使用される。
【0047】
図1は、人物によって視認される、ある仮想現実オブジェクトおよびある物理的オブジェクトを伴う複合現実シナリオの例証を描写する。図1において、MR場面100が、描写され、MR技術のユーザは、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする実世界公園状設定110を見ている。これらのアイテムに加え、MR技術のユーザは、実世界プラットフォーム120上に立っているロボット像130と、マルハナバチの擬人化のように見える飛んでいる漫画のようなアバタキャラクタ140とを「見ている」と知覚するが、これらの要素は、実世界には存在しない。
【0048】
3Dディスプレイが、真の深度感覚、より具体的に、表面深度のシミュレートされた感覚を生成するために、ディスプレイの視野内の各点のために、その仮想深度に対応する遠近調節応答を生成することが望ましくあり得る。ディスプレイ点に対する遠近調節応答が、収束および立体視の両眼深度キューによって決定されるようなその点の仮想深度に対応しない場合、ヒトの眼は、遠近調節衝突を体験し、不安定な結像、有害な眼精疲労、頭痛、および、遠近調節情報がない場合、表面深度のほぼ完全な不足をもたらし得る。
【0049】
VR、AR、およびMR体験は、複数の深度平面に対応する画像が視認者に提供されるディスプレイを有するディスプレイシステムによって提供されることができる。画像は、各深度平面のために異なり得(例えば、場面またはオブジェクトの若干異なる提示を提供する)、視認者の眼によって別個に焦点を合わせられ、それによって、異なる深度平面上に位置する場面に関する異なる画像特徴に焦点を合わせるために要求される眼の遠近調節に基づいて、または焦点からずれている異なる深度平面上の異なる画像特徴を観察することに基づいて、ユーザに深度キューを提供することに役立ち得る。本明細書のいずれかに議論されるように、そのような深度キューは、信用できる深度の知覚を提供する。
【0050】
図2は、ウェアラブルシステム200の例を図示する。ウェアラブルシステム200は、ディスプレイ220と、ディスプレイ220の機能をサポートするための種々の機械的および電子的モジュールおよびシステムとを含む。ディスプレイ220は、ユーザ、装着者、または視認者210によって装着可能であるフレーム230に結合され得る。ディスプレイ220は、ユーザ210の眼の前に位置付けられることができる。ディスプレイ220は、AR/VR/MRコンテンツをユーザに提示することができる。例えば、ディスプレイ220は、下で説明される掩蔽カーソルアイコンおよび焦点インジケータを具現化する(例えば、ユーザにレンダリングおよび提示する)ことができる。掩蔽カーソルアイコンおよび焦点インジケータのための装飾的設計の例は、図24-29Fに示される。ディスプレイ220は、ユーザの頭部に装着される頭部搭載型ディスプレイ(HMD)を含むことができる。いくつかの実施形態において、スピーカ240が、フレーム230に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態において、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音響制御を提供する)。
【0051】
ウェアラブルシステム200は、ユーザの周囲の環境内の世界を観察する外向きに面した結像システム464(図4に示される)を含むことができる。ウェアラブルシステム200は、ユーザの眼移動を追跡することができる内向きに面した結像システム462(図4に示される)も含むことができる。内向きに面した結像システムは、一方の眼の移動または両方の眼の移動のいずれかを追跡することができる。内向きに面した結像システム462は、フレーム230に取り付けられ得、内向きに面した結像システムによって入手された画像情報を処理し、例えば、ユーザ210の眼の瞳孔直径または向き、眼の移動、または眼姿勢を決定し得る処理モジュール260または270と電気通信し得る。
【0052】
例として、ウェアラブルシステム200は、外向きに面した結像システム464または内向きに面した結像システム462を使用して、ユーザの姿勢の画像を入手することができる。画像は、静止画像、ビデオのフレームまたはビデオ、その組み合わせ等であり得る。
【0053】
ディスプレイ220は、有線導線または無線接続等によって、フレーム230に固定して取り付けられる構成、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる構成、ヘッドホンに内蔵される構成、または別様にユーザ210に除去可能に取り付けられる構成(例えば、リュック式構成において、ベルト結合式構成において)等、種々の構成において搭載され得るローカルデータ処理モジュール260に動作可能に結合されることができる(250)。
【0054】
ローカル処理およびデータモジュール260は、ハードウェアプロセッサおよび不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備え得、それらの両方は、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、(a)画像捕捉デバイス(例えば、内向きに面した結像システムおよび/または外向きに面した結像システム内のカメラ)、マイクロホン、慣性測定ユニット(IMU)(例えば、加速度計、重力計、磁力計等)、コンパス、全地球測位システム(GPS)ユニット、無線デバイス、またはジャイロスコープ等の(例えば、フレーム230に動作可能に結合される、または別様にユーザ210に取り付けられ得る)センサから捕捉されるデータ、または、(b)おそらくそのような処理または読み出し後にディスプレイ220への通過のために、遠隔処理モジュール270および/または遠隔データリポジトリ280を使用して入手または処理されるデータを含み得る。ローカル処理およびデータモジュール260は、これらの遠隔モジュールがローカル処理およびデータモジュール260へのリソースとして利用可能であるように、有線または無線通信リンク等を介して、通信リンク262または264を遠隔処理モジュール270または遠隔データリポジトリ280に動作可能に結合され得る。加えて、遠隔処理モジュール280および遠隔データリポジトリ280は、互いに動作可能に結合され得る。
【0055】
いくつかの実施形態において、遠隔処理モジュール270は、データまたは画像情報を分析および処理するように構成される1つ以上のプロセッサを備え得る。いくつかの実施形態において、遠隔データリポジトリ280は、デジタルデータ記憶設備を備え得、それは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であり得る。いくつかの実施形態において、ローカル処理およびデータモジュールにおいて、全てのデータが記憶され、全ての算出が実施され、遠隔モジュールからの完全に自律的な使用を可能にする。
【0056】
ヒト視覚系は、複雑であり、深度の現実的知覚を提供することは、困難である。理論によって限定されるわけではないが、オブジェクトの視認者は、両眼離反運動移動と遠近調節の組み合わせに起因して、オブジェクトを3次元として知覚できると考えられる。互いに対する2つの眼の両眼離反運動移動(すなわち、眼の視線を収束させ、オブジェクトを固視するための互いに向かって、またはそれから離れるような瞳孔の回転運動)は、眼の水晶体の集束(または「遠近調節」)と密接に関連付けられる。通常条件下、焦点を1つのオブジェクトから異なる距離における別のオブジェクトに変化させるための眼のレンズの焦点の変化または眼の遠近調節は、「遠近調節-両眼離反運動反射」として知られる関係下、両眼離反運動の整合変化を自動的に同じ距離に生じさせるであろう。同様に、両眼離反運動の変化は、通常条件下、遠近調節の整合変化を誘起するであろう。遠近調節と両眼離反運動との間のより良好な整合を提供するディスプレイシステムは、3次元画像のより現実的かつ快適なシミュレーションを形成し得る。
【0057】
図3は、複数の深度平面を使用して3次元画像をシミュレートするためのアプローチの側面を図示する。図3を参照すると、z-軸上の眼302および304からの種々の距離におけるオブジェクトは、それらのオブジェクトが焦点が合うように、眼302および304によって遠近調節される。眼302および304は、特定の遠近調節された状態をとり、z-軸に沿った異なる距離におけるオブジェクトに焦点を合わせる。その結果、特定の遠近調節された状態は、関連付けられた焦点距離を有する深度平面306のうちの特定の1つに関連付けられていると言え得、特定の深度平面におけるオブジェクトまたはオブジェクトの一部は、眼がその深度平面に対して遠近調節された状態にあるとき、焦点が合う。いくつかの実施形態において、3次元画像は、眼302および304の各々のために、画像の異なる提示を提供することによってシミュレートされ得、深度平面の各々に対応する画像の異なる提示を提供することによってもシミュレートされ得る。例証を明確にするために、別個であるように示されるが、眼302および304の視野は、例えば、z-軸に沿った距離が増加するにつれて、重複し得ることを理解されたい。加えて、例証を容易にするために、平坦であるように示されるが、深度平面の等高線は、深度平面内の全ての特徴が特定の遠近調節された状態における眼によって焦点が合うように、物理的空間内で湾曲させられ得ることを理解されたい。深度平面306は、ディスプレイ(またはユーザの眼302、304)から固定距離に設定される必要はなく、動的に更新されることができる。例えば、ユーザが、ユーザの近距離における(例えば、約1~2m以内)仮想コンテンツを見る場合、図3に示される深度平面のアレイは、ユーザにより近いように調節され得、それは、近距離における深度分解能を増加させる。同様に、ユーザが、中距離(例えば、2m~5m)または遠距離(例えば、5m~無限遠)における仮想コンテンツを見る場合、深度平面は、主にそれらの距離内にあるように調節されることができる。深度平面は、例えば、図4-6を参照して説明される導波管スタックを調節することによって、調節されることができる。理論によって限定されるわけではないが、人間の眼は、典型的に、深度知覚を提供するために、有限数深度面を解釈し得ると考えられる。その結果、知覚される深度の高度に真実味のあるシミュレーションが、これらの限定された数の深度面の各々に対応する画像の異なる表現を眼に提供することによって達成され得る。
(導波管スタックアセンブリ)
【0058】
図4は、画像情報をユーザに出力するための導波管スタックの例を図示する。ウェアラブルシステム400は、複数の導波管432b、434b、436b、438b、4400bを使用して、3次元知覚を眼/脳に提供するために利用され得る導波管のスタックまたはスタックされた導波管アセンブリ480を含む。いくつかの実施形態において、ウェアラブルシステム400は、図2のウェアラブルシステム200に対応し得、図4は、そのウェアラブルシステム200のいくつかの部分をより詳細に図式的に示す。例えば、いくつかの実施形態において、導波管アセンブリ480は、図2のディスプレイ220の中に統合され得る。
【0059】
図4を継続して参照すると、導波管アセンブリ480は、複数の特徴458、456、454、452も導波管間に含み得る。いくつかの実施形態において、特徴458、456、454、452は、レンズであり得る。他の実施形態において、特徴458、456、454、452は、レンズではないこともある。むしろ、それらは、単に、スペーサであり得る(例えば、空気間隙を形成するためのクラッディング層または構造)。
【0060】
導波管432b、434b、436b、438b、440bまたは複数のレンズ458、456、454、452は、種々のレベルの波面曲率または光線発散を用いて、画像情報を眼に送信するように構成され得る。各導波管レベルは、特定の深度平面に関連付けられ得、その深度平面に対応する画像情報を出力するように構成され得る。画像投入デバイス420、422、424、426、428は、導波管440b、438b、436b、434b、432bの中に画像情報を投入するために利用され得、それらの各々は、眼410に向かって出力するために、各それぞれの導波管にわたって入射光を分配するように構成され得る。光は、画像投入デバイス420、422、424、426、428の出力表面から出射し、導波管440b、438b、436b、434b、432bの対応する入力縁の中に投入される。いくつかの実施形態において、光の単一ビーム(例えば、コリメートされたビーム)が、特定の導波管に関連付けられた深度平面に対応する特定の角度(および発散量)において眼410に向けられるクローン化されたコリメートビームの場全体を出力するために、各導波管の中に投入され得る。
【0061】
いくつかの実施形態において、画像投入デバイス420、422、424、426、428は、各々が、それぞれ、対応する導波管440b、438b、436b、434b、432bの中への投入のための画像情報を生成する別々のディスプレイである。いくつかの他の実施形態において、画像投入デバイス420、422、424、426、428は、例えば、画像情報を1つ以上の光学導管(光ファイバケーブル等)を介して、画像投入デバイス420、422、424、426、428の各々に送り得る単一の多重化されたディスプレイの出力端である。
【0062】
コントローラ460が、スタックされた導波管アセンブリ480および画像投入デバイス420、422、424、426、428の動作を制御する。コントローラ460は、導波管440b、438b、436b、434b、432bへの画像情報のタイミングおよび提供を調整するプログラミング(例えば、非一過性コンピュータ読み取り可能な媒体内の命令)を含む。いくつかの実施形態において、コントローラ460は、単一の一体型デバイス、または、有線または無線通信チャネルによって接続される分散型システムであり得る。コントローラ460は、いくつかの実施形態において、処理モジュール260または270(図2に図示される)の一部であり得る。
【0063】
導波管440b、438b、436b、434b、432bは、全内部反射(TIR)によって各それぞれの導波管内で光を伝搬するように構成され得る。導波管440b、438b、436b、434b、432bの各々は、主要な上部および底部表面と、それらの主要上部表面と底部表面との間に延びている縁とを伴う平面であるか、または、別の形状(例えば、湾曲)を有し得る。図示される構成において、導波管440b、438b、436b、434b、432bの各々は、光抽出光学要素440a、438a、436a、434a、432aを含み得、それらは、光を向け直し、各それぞれの導波管内で伝搬し、導波管から画像情報を眼410に出力することによって、光を導波管から抽出するように構成される。抽出された光は、外部結合光とも称され得、光抽出光学要素は、外部結合光学要素とも称され得る。抽出された光のビームは、導波管によって、導波管内を伝搬する光が光再指向要素に衝打する場所において出力される。光抽出光学要素(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は、その材料部品の表面上および/または内部に形成され得る。
【0064】
図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の焦点面から生じるように解釈するように、別の漸増量の波面曲率を生成するように構成され得る。
【0065】
他の導波管層(例えば、導波管438b、440b)およびレンズ(例えば、レンズ456、458)も同様に構成され、スタック内の最も高い導波管440bの場合、人物に最も近い焦点面を表す集約焦点力のために、その出力をそれと眼との間のレンズの全てを通して送出する。スタックされた導波管アセンブリ480の他の側の世界470から生じる光を視認/解釈するとき、レンズ458、456、454、452のスタックを補償するために、補償レンズ層430が、スタックの上部に配置され、下方のレンズスタック458、456、454、452の集約力を補償し得る。そのような構成は、利用可能な導波管/レンズ対と同じ数の知覚される焦点面を提供する。導波管の光抽出光学要素およびレンズの集束側面の両方は、静的であり得る(例えば、動的または電気活性ではない)。いくつかの代替実施形態において、一方または両方は、電気活性特徴を使用して動的であり得る。
【0066】
図4を継続して参照すると、光抽出光学要素440a、438a、436a、434a、432aは、導波管に関連付けられた特定の深度平面のために、光をそれらのそれぞれの導波管から外に向け直すことと、この光を適切な量の発散またはコリメーションを伴って出力することとの両方を行うように構成され得る。その結果、異なる関連付けられた深度平面を有する導波管は、関連付けられた深度平面に応じて、異なる量の発散を伴う光を出力する異なる構成の光抽出光学要素を有し得る。いくつかの実施形態において、本明細書に議論されるように、光抽出光学要素440a、438a、436a、434a、432aは、光を特定の角度で出力するように構成され得る立体または表面特徴であり得る。例えば、光抽出光学要素440a、438a、436a、434a、432aは、体積ホログラム、表面ホログラム、または回折格子であり得る。回折格子等の光抽出光学要素は、2015年6月25日に公開された米国特許公開第2015/0178939号(参照することによってその全体として本明細書に組み込まれる)に説明される。
【0067】
いくつかの実施形態において、光抽出光学要素440a、438a、436a、434a、432aは、回折パターンを形成する回折特徴または「回折光学要素」(本明細書において、「DOE」とも称される)である。好ましくは、DOEは、ビームの光の一部のみがDOEの各交差するごとに眼410に向かって偏向される一方、残りが、全内部反射を介して、導波管を通して移動し続けるように、比較的に低回折効率を有する。画像情報を搬送する光は、したがって、複数の場所において導波管から出射するいくつかの関連出射ビームに分割され、その結果は、導波管内で跳ね返るこの特定のコリメートされたビームに関して、眼304に向かう非常に均一なパターンの出射放出である。
【0068】
いくつかの実施形態において、1つ以上のDOEは、それらが能動的に回折する「オン」状態とそれらがあまり回折しない「オフ」状態との間で切り替え可能であり得る。例えば、切り替え可能なDOEは、ポリマー分散液晶の層を備え得、その中で微小液滴は、ホスト媒体中の回折パターンを備え、微小液滴の屈折率は、ホスト材料の屈折率に実質的に整合するように切り替えられることができるか(その場合、パターンは、入射光を著しく回折しない)、または、微小液滴は、ホスト媒体のそれに整合しない屈折率に切り替えられることができる(その場合、パターンは、入射光を能動的に回折させる)。
【0069】
いくつかの実施形態において、深度平面または被写界深度の数および分布は、視認者の眼の瞳孔サイズまたは向きに基づいて、動的に変動させられ得る。被写界深度は、視認者の瞳孔サイズと反対に変化し得る。その結果、視認者の眼の瞳孔のサイズが減少するにつれて、被写界深度は、その平面の場所が眼の焦点深度を越えるため判別不能である1つの平面が、判別可能となり、瞳孔サイズの低減および被写界深度の相当する増加に伴って、より焦点が合って見え得るように増加する。同様に、異なる画像を視認者に提示するために使用される間隔を置かれた深度平面の数は、減少させられた瞳孔サイズに伴って減少させられ得る。例えば、視認者は、一方の深度平面から他方の深度平面への眼の遠近調節を調節せずに、第1の深度平面および第2の深度平面の両方の詳細を1つの瞳孔サイズにおいて明確に知覚することが可能ではないこともある。しかしながら、これらの2つの深度平面は、遠近調節を変化させずに別の瞳孔サイズで、同時にユーザに十分に焦点が合い得る。
【0070】
いくつかの実施形態において、ディスプレイシステムは、瞳孔サイズおよび/または向きの決定に基づいて、または特定の瞳孔サイズ/または向きを示す電気信号の受信に応じて、画像情報を受信する導波管の数を変動させ得る。例えば、ユーザの眼が、2つの導波管に関連付けられた2つの深度平面間を区別不能である場合、コントローラ460は、これらの導波管のうちの1つへの画像情報の提供を停止するように構成またはプログラムされ得る。有利に、それは、システムへの処理負担を低減させ、それによって、システムの応答性を増加させ得る。導波管のためのDOEがオンおよびオフ状態間で切り替え可能である実施形態において、DOEは、導波管が画像情報を受信しているとき、オフ状態に切り替えられ得る。
【0071】
いくつかの実施形態において、視認者の眼の直径未満の直径を有するという条件を出射ビームに満足させることが望ましくあり得る。しかしながら、この条件を満たすことは、視認者の瞳孔のサイズの変動性に照らして、困難であり得る。いくつかの実施形態において、この条件は、視認者の瞳孔のサイズの決定に応答して出射ビームのサイズを変動させることによって、広範囲の瞳孔サイズにわたって満たされる。例えば、瞳孔サイズが減少するにつれて、出射ビームのサイズも、減少し得る。いくつかの実施形態において、出射ビームサイズは、可変開口を使用して変動させられ得る。
【0072】
ウェアラブルシステム400は、世界470の一部を結像する、外向きに面した結像システム464(例えば、デジタルカメラ)を含むことができる。世界470のこの部分は、世界カメラの視野(FOV)と称され得、結像システム464は、時として、FOVカメラとも称される。視認者による視認または結像のために利用可能な領域全体は、動眼視野(FOR)と称され得る。FORは、装着者が、その身体、頭部、または眼を移動させ、空間内の実質的に任意の方向を知覚するので、ウェアラブルシステム400を包囲する4πステラジアンの立体角を含み得る。他の状況において、装着者の移動は、より抑制され得、それに応じて、装着者のFORは、より小さい立体角に対し得る。外向きに面した結像システム464から得られた画像は、ユーザによって行われるジェスチャ(例えば、手または指のジェスチャ)を追跡し、ユーザの前における世界470内のオブジェクトを検出する等のために、使用されることができる。
【0073】
ウェアラブルシステム400は、眼移動および顔移動等のユーザの移動を観察する内向きに面した結像システム466(例えば、デジタルカメラ)も含むことができる。内向きに面した結像システム466は、眼410の画像を捕捉し、眼304の瞳孔のサイズまたは向きを決定するために使用され得る。内向きに面した結像システム466は、ユーザが見ている方向(例えば、眼姿勢)を決定することにおいて使用するために、または、ユーザのバイオメトリック識別のために(例えば、虹彩識別を介して)画像を得るために使用されることができる。いくつかの実施形態において、少なくとも1つのカメラが、各眼のために、独立して、各眼の瞳孔サイズまたは眼姿勢を別個に決定し、それによって、各眼への画像情報の提示がその眼に対して動的に調整されることを可能にするために利用され得る。いくつかの他の実施形態において、単一の眼410のみの瞳孔直径または向き(例えば、対の眼あたり単一カメラのみを使用して)が、決定され、ユーザの両眼に関して類似すると仮定される。内向きに面した結像システム466によって得られる画像は、ユーザに提示されるべきオーディオまたは視覚的コンテンツを決定するためにウェアラブルシステム400によって使用され得るユーザの眼姿勢または気分を決定するために分析され得る。ウェアラブルシステム400は、IMU、加速度計、ジャイロスコープ等のセンサを使用して、頭部姿勢(例えば、頭部位置または頭部向き)も決定し得る。
【0074】
ウェアラブルシステム400は、ユーザが、コマンドをコントローラ460に入力し、ウェアラブルシステム400と相互作用し得るユーザ入力デバイス466を含むことができる。例えば、ユーザ入力デバイス466は、トラックパッド、タッチスクリーン、ジョイスティック、マルチ自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触知デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。マルチDOFコントローラは、コントローラの一部または全部の可能な平行移動(例えば、左/右、前方/後方、または上/下)または回転(例えば、ヨー、ピッチ、またはロール)におけるユーザ入力を感知することができる。平行移動をサポートするマルチDOFコントローラは、3DOFと称され得る一方、平行移動および回転をサポートするマルチDOFコントローラは、6DOFと称され得る。ある場合、ユーザは、指(例えば、親指)を使用して、タッチセンサ式入力デバイスを押し、またはその上でスワイプし、入力をウェアラブルシステム400に提供し得る(例えば、ユーザ入力をウェアラブルシステム400によって提供されるユーザインターフェースに提供するために)。ユーザ入力デバイス466は、ウェアラブルシステム400の使用中、ユーザの手によって保持され得る。ユーザ入力デバイス466は、ウェアラブルシステム400と有線または無線通信することができる。
【0075】
図5は、導波管によって出力された出射ビームの例を示す。1つの導波管が、図示されるが、導波管アセンブリ480内の他の導波管も、同様に機能し得、導波管アセンブリ480は、複数の導波管を含むことを理解されたい。光520が、導波管432bの入力縁432cにおいて導波管432bの中に投入され、TIRによって導波管432b内を伝搬する。光520がDOE432aに衝突する点において、光の一部が、出射ビーム510として導波管から出射する。出射ビーム510は、実質的に平行として図示されるが、それらは、導波管432bに関連付けられた深度平面に応じたある角度で眼410に伝搬するように向け直され得る(例えば、発散出射ビームを形成する)。実質的に平行出射ビームは、光を外部結合し、眼410から長距離(例えば、光学無限遠)において深度平面上に設定されるように見える画像を形成する光抽出光学要素を伴う導波管を示し得ることを理解されたい。他の導波管または他の光抽出光学要素の組は、より発散する出射ビームパターンを出力し得、それは、眼410がより近い距離に遠近調節し、それを網膜に集中させることを要求し、光学無限遠より眼410に近い距離からの光として脳によって解釈されるであろう。
【0076】
図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の中に統合されることができる。
【0077】
中継され、射出瞳が拡張させられた光は、分配導波管装置から1つ以上の一次平面導波管632bの中に光学的に結合され得る。一次平面導波管632bは、好ましくは、第1の軸に直交する第2の軸(例えば、図6の図において、水平またはX-軸)に沿って、光を中継することができる。着目すべきこととして、第2の軸は、第1の軸に対して非直交軸であることができる。一次平面導波管632bは、その第2の軸(例えば、X-軸)に沿って、光の有効射出瞳を拡張させる。例えば、分配平面導波管622bは、光を垂直またはY-軸に沿って中継および拡張させ、光を水平またはX-軸に沿って中継および拡張させ得る一次平面導波管632bにその光を通すことができる。
【0078】
光学システムは、1つ以上の着色光源(例えば、赤色、緑色、および青色レーザ光)610を含み得、着色光は、単一モード光ファイバ640の近位端の中に光学的に結合され得る。光ファイバ640の遠位端は、圧電材料の中空管642に通され、または、それを通して受け取られ得る。遠位端は、固定されない可撓性カンチレバー644として、管642から突出する。圧電管642は、4つの象限電極(図示せず)に関連付けられることができる。電極は、例えば、管642の外側、外側表面または外周、または直径にメッキされ得る。コア電極(図示せず)も、管642のコア、中心、内周、または内径に位置し得る。
【0079】
例えば、ワイヤ660を介して電気的に結合される駆動電子機器650は、対向する対の電極を駆動し、圧電管642を独立して2つの軸において曲げる。光ファイバ644の突出する遠位先端は、機械的共鳴モードを有する。共鳴の周波数は、光ファイバ644の直径、長さ、および材料性質に依存し得る。圧電管642をファイバカンチレバー644の第1の機械的共鳴モードの近くで振動させることによって、ファイバカンチレバー644は、振動させられ、大きい振れを通して掃引し得る。
【0080】
2つの軸において共振振動を刺激することによって、ファイバカンチレバー644の先端は、2次元(2D)走査を充填するエリアにおいて2軸方向に走査される。光源610の強度をファイバカンチレバー644の走査と同期して変調することによって、ファイバカンチレバー644から発せられる光は、画像を形成することができる。そのような設定の説明は、米国特許公開第2014/0003762号(参照することによってその全体として本明細書に組み込まれる)に提供されている。
【0081】
光学結合器サブシステムのコンポーネントは、走査ファイバカンチレバー644から発せられる光をコリメートすることができる。コリメートされた光は、鏡付き表面648によって、少なくとも1つの回折光学要素(DOE)622aを含む狭い分配平面導波管622bの中に反射されることができる。コリメートされた光は、TIRによって分配平面導波管622bに沿って(図6の図に対して)垂直に伝搬し、そうすることによって、DOE622aと繰り返し交差することができる。DOE622aは、好ましくは、低回折効率を有する。これは、光の一部(例えば、10%)をDOE622aとの交差の各点においてより大きい一次平面導波管632bの縁に向かって回折させ、光の一部をTIRを介して分配平面導波管622bの長さを辿ってその元々の軌道上で継続させることができる。
【0082】
DOE622aとの交差の各点において、追加の光が、一次導波管632bの入口に向かって回折されることができる。入射光を複数の外部結合組に分割することによって、光の射出瞳は、分配平面導波管622b内のDOE4によって垂直に拡張させられることができる。分配平面導波管622bから外部結合されたこの垂直に拡張させられた光は、一次平面導波管632bの縁に進入することができる。
【0083】
一次導波管632bに進入する光は、TIRを介して、一次導波管632bに沿って(図6の図に対して)水平に伝搬することができる。光は、TIRを介して、それが一次導波管632bの長さの少なくとも一部に沿って水平に伝搬するにつれて、複数の点においてDOE632aと交差する。DOE632aは、有利に、線形回折パターンおよび放射対称回折パターンの総和である位相プロファイルを有し、光の偏向および集束の両方を生成するように設計または構成され得る。DOE632aは、有利に、ビームの光の一部のみが、DOE632aの各交差において視認者の眼に向かって偏向される一方、光の残りが、TIRを介して、一次導波管632bを通して伝搬し続けるように、低回折効率(例えば、10%)を有し得る。
【0084】
伝搬する光とDOE632aとの間の交差の各点において、光の一部は、一次導波管632bの隣接面に向かって回折され、光がTIRを逃れ、一次導波管632bの面から発せられることを可能にする。いくつかの実施形態において、DOE632aの放射対称回折パターンは、加えて、ある焦点レベルを回折された光に授け、個々のビームの光波面を成形することと(例えば、曲率を与える)、ビームを設計される焦点レベルに合致する角度に操向することとの両方を行う。
【0085】
故に、これらの異なる経路は、複数のDOE632aによって、異なる角度、焦点レベルで、光が一次平面導波管632bの外部で結合されるようにすること、または、射出瞳において異なる充填パターンをもたらすことができる。射出瞳における異なる充填パターンは、有利に、複数の深度平面を伴う明視野ディスプレイを生成するために使用されることができる。導波管アセンブリ内の各層またはスタック内の層の組(例えば、3層)が、それぞれの色(例えば、赤色、青色、緑色)を生成するために採用され得る。したがって、例えば、第1の3つの隣接する層の組が、それぞれ、赤色、青色、および緑色光を第1の焦点深度において生成するために採用され得る。第2の3つの隣接する層の組が、それぞれ、赤色、青色、および緑色光を第2の焦点深度において生成するために採用され得る。複数の組が、種々の焦点深度を伴うフル3Dまたは4Dカラー画像明視野を生成するために採用され得る。
【0086】
ウェアラブルシステムのある実施形態は、仮想オブジェクトを異なる深度平面上にレンダリングし得る(例えば、図3を参照して説明されるように)が、これは、例証であり、限定することを意図するものではない。他の光学技法も、それらがユーザから異なる深度に見えるように仮想オブジェクトをレンダリングするために使用されることができる。例えば、可変焦点要素(VFE)が、例えば、米国特許公開第2015/0346495号(参照することによってその全体として本明細書に組み込まれる)に説明されるように使用されることができる。ウェアラブルシステムの他の実施形態において、異なる仮想オブジェクトが、同じ深度平面上にレンダリングされるが、それにもかかわらず、異なる深度にあるかのようにユーザに見え得る。例えば、深度平面上にレンダリングされた仮想コンテンツの見掛け深度が、仮想コンテンツが異なる両眼離反運動場所(および異なる知覚される深度)を有するように、仮想コンテンツに関連付けられたピクセルのレンダリング場所を変化させることによって、変化させられることができる。したがって、2つの仮想オブジェクトは、同じ深度平面上にレンダリングされることができるが、(第1の仮想オブジェクトに対して)第2の仮想オブジェクトは、ピクセルレンダリング位置を修正し、(第1の仮想オブジェクトに対する)第2の仮想オブジェクトのための異なる両眼離反運動場所を作成することによって、ユーザのより近くに、ユーザから同じ深度、またはユーザからより遠くにあるように知覚されることができる。故に、異なる仮想コンテンツの知覚される深度は、異なる仮想コンテンツを同じ深度平面上にレンダリングするが、両眼離反運動を調節することによって達成されることができる。
(ウェアラブルシステムの他のコンポーネント)
【0087】
多くの実装において、ウェアラブルシステムは、上で説明されるウェアラブルシステムのコンポーネントに加えて、またはその代替として、他のコンポーネントを含み得る。ウェアラブルシステムは、例えば、1つ以上の触知デバイスまたはコンポーネントを含み得る。触知デバイスまたはコンポーネントは、触覚をユーザに提供するように動作可能であり得る。例えば、触知デバイスまたはコンポーネントは、仮想コンテンツ(例えば、仮想オブジェクト、仮想ツール、他の仮想構造)に触れると、圧力および/またはテクスチャの触覚を提供し得る。触覚は、仮想オブジェクトが表す物理的オブジェクトの感覚を再現し得るか、または、仮想コンテンツが表す想像上のオブジェクトまたはキャラクタ(例えば、ドラゴン)の感覚を再現し得る。いくつかの実装において、触知デバイスまたはコンポーネントは、ユーザによって装着され得る(例えば、ユーザウェアラブルグローブ)。いくつかの実装において、触知デバイスまたはコンポーネントは、ユーザによって保持され得る。
【0088】
ウェアラブルシステムは、例えば、ユーザによって操作可能であり、ウェアラブルシステムへの入力またはそれとの相互作用を可能にする1つ以上の物理的オブジェクトを含み得る。これらの物理的オブジェクトは、本明細書において、トーテムと称され得る。いくつかのトーテムは、例えば、金属またはプラスチック片、壁、テーブルの表面等、無生物オブジェクトの形態をとり得る。ある実装において、トーテムは、実際に、任意の物理的入力構造(例えば、キー、トリガ、ジョイスティック、トラックボール、ロッカスイッチ)を有していないこともある。代わりに、トーテムは、単に、物理的表面を提供し得、ウェアラブルシステムは、ユーザにトーテムの1つ以上の表面上にあるように見えるように、ユーザインターフェースをレンダリングし得る。例えば、ウェアラブルシステムは、トーテムの1つ以上の表面上に常駐するように見えるように、コンピュータキーボードおよびトラックパッドの画像をレンダリングし得る。例えば、ウェアラブルシステムは、トーテムとしての役割を果たすアルミニウムの薄い長方形プレートの表面上に見えるように、仮想コンピュータキーボードおよび仮想トラックパッドをレンダリングし得る。長方形プレート自体は、任意の物理的キーまたはトラックパッドまたはセンサを有していない。しかしながら、ウェアラブルシステムは、仮想キーボードまたは仮想トラックパッドを介して行われた選択または入力として、長方形プレートを用いたユーザ操作または相互作用またはタッチを検出し得る。ユーザ入力デバイス466(図4に示される)は、トラックパッド、タッチパッド、トリガ、ジョイスティック、トラックボール、ロッカまたは仮想スイッチ、マウス、キーボード、多自由度コントローラ、または別の物理的入力デバイスを含み得るトーテムの実施形態であり得る。ユーザは、単独で、または姿勢と組み合わせて、トーテムを使用し、ウェアラブルシステムおよび/または他のユーザと相互作用し得る。
【0089】
本開示のウェアラブルデバイス、HMD、およびディスプレイシステムと使用可能な触知デバイスおよびトーテムの例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明される。
(例示的ウェアラブルシステム、環境、およびインターフェース)
【0090】
ウェアラブルシステムは、高被写界深度をレンダリングされた明視野内で達成するために、種々のマッピング関連技法を採用し得る。仮想世界をマッピングすることにおいて、実世界内の全ての特徴および点を把握し、仮想オブジェクトを実世界に関連して正確に描くことが有利である。この目的を達成するために、ウェアラブルシステムのユーザから捕捉されたFOV画像が、実世界の種々の点および特徴についての情報を伝達する新しい写真を含むことによって、世界モデルに追加されることができる。例えば、ウェアラブルシステムは、マップ点(2D点または3D点等)の組を収集し、新しいマップ点を見出し、世界モデルのより正確なバージョンをレンダリングすることができる。第1のユーザの世界モデルは、第2のユーザが第1のユーザを包囲する世界を体験し得るように、(例えば、クラウドネットワーク等のネットワークを経由して)第2のユーザに通信されることができる。
【0091】
図7は、MR環境700の例のブロック図である。MR環境700は、入力(例えば、ユーザのウェアラブルシステムからの視覚的入力702、室内カメラ等の静止入力704、種々のセンサからの感覚入力706、ユーザ入力デバイス466からのジェスチャ、トーテム、眼追跡、ユーザ入力等)を1つ以上のユーザウェアラブルシステム(例えば、ウェアラブルシステム200またはディスプレイシステム220)または静止室内システム(例えば、室内カメラ等)から受信するように構成され得る。ウェアラブルシステムは、種々のセンサ(例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、GPSセンサ、内向きに面した結像システム、外向きに面した結像システム等)を使用して、ユーザの環境の場所および種々の他の属性を決定することができる。この情報は、異なる視点からの画像または種々のキューを提供し得る部屋内の静止カメラからの情報でさらに補完され得る。カメラ(室内カメラまたは外向きに面した結像システムのカメラ等)によって取得された画像データは、マッピング点の組にまとめられ得る。
【0092】
1つ以上のオブジェクト認識装置708が、受信されたデータ(例えば、点の集合)を通してクローリングし、点を認識またはマッピングし、画像をタグ付けし、マップデータベース710を用いて、意味情報をオブジェクトに添えることができる。マップデータベース710は、経時的に収集された種々の点およびその対応するオブジェクトを備え得る。種々のデバイスおよびマップデータベースは、ネットワーク(例えば、LAN、WAN等)を通して互いに接続され、クラウドにアクセスすることができる。
【0093】
この情報およびマップデータベース内の点の集合に基づいて、オブジェクト認識装置708a-708nは、環境内のオブジェクトを認識し得る。例えば、オブジェクト認識装置は、顔、人物、窓、壁、ユーザ入力デバイス、テレビ、ユーザの環境内の他のオブジェクト等を認識することができる。1つ以上のオブジェクト認識装置が、ある特性を伴うオブジェクトのために専門化され得る。例えば、オブジェクト認識装置708aは、顔を認識するために使用され得る一方、別のオブジェクト認識装置は、トーテムを認識するために使用され得る。
【0094】
オブジェクト認識は、種々のコンピュータビジョン技法を使用して実施され得る。例えば、ウェアラブルシステムは、外向きに面した結像システム464(図4に示される)によって入手された画像を分析し、場面再構成、イベント検出、ビデオ追跡、オブジェクト認識、オブジェクト姿勢推定、学習、インデックス化、運動推定、または画像復元等を実施することができる。1つ以上のコンピュータビジョンアルゴリズムが、これらのタスクを実施するために使用され得る。コンピュータビジョンアルゴリズムの非限定的例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、向きFASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
【0095】
オブジェクト認識は、加えて、または代替として、種々の機械学習アルゴリズムによって実施されることができる。訓練されると、機械学習アルゴリズムは、HMDによって記憶されることができる。機械学習アルゴリズムのいくつかの例は、教師ありまたは教師なし機械学習アルゴリズムを含むことができ、回帰アルゴリズム(例えば、通常の最小2乗回帰等)、インスタンスベースのアルゴリズム(例えば、学習ベクトル量子化等)、決定ツリーアルゴリズム(例えば、分類および回帰ツリー等)、ベイズアルゴリズム(例えば、単純ベイズ等)、クラスタリングアルゴリズム(例えば、k-平均クラスタリング等)、関連付けルール学習アルゴリズム(例えば、アプリオリアルゴリズム等)、人工ニューラルネットワークアルゴリズム(例えば、Perceptron等)、深層学習アルゴリズム(例えば、Deep Boltzmann Machine、すなわち、深層ニューラルネットワーク等)、次元削減アルゴリズム(例えば、主成分分析等)、アンサンブルアルゴリズム(例えば、Stacked Generalization等)、または他の機械学習アルゴリズムを含む。いくつかの実施形態において、個々のモデルは、個々のデータセットのためにカスタマイズされることができる。例えば、ウェアラブルデバイスは、ベースモデルを生成または記憶することができる。ベースモデルは、開始点として使用され、データタイプ(例えば、テレプレゼンスセッション内の特定のユーザ)、データセット(例えば、テレプレゼンスセッション内のユーザの取得される追加の画像の組)、条件付き状況、または他の変形例に特有の追加のモデルを生成し得る。いくつかの実施形態において、ウェアラブルHMDは、複数の技法を利用して、集約されたデータの分析のためのモデルを生成するように構成されることができる。他の技法は、事前に定義された閾値またはデータ値を使用することを含み得る。
【0096】
マップデータベース内のこの情報および点の集合に基づいて、オブジェクト認識装置708a-708nは、オブジェクトを認識し、オブジェクトを意味情報で補完し、命をオブジェクトに与え得る。例えば、オブジェクト認識装置が、点の組がドアであることを認識する場合、システムは、いくつかの意味情報を添え得る(例えば、ドアは、ヒンジを有し、ヒンジを中心として90度移動を有する)。オブジェクト認識装置が、点の組が鏡であることを認識する場合、システムは、鏡が、部屋内のオブジェクトの画像を反射し得る反射表面を有するという意味情報を添え得る。経時的に、マップデータベースは、システム(ローカルに常駐し得るか、または、無線ネットワークを通してアクセス可能であり得る)がより多くのデータを世界から蓄積するにつれて拡大する。オブジェクトが認識されると、情報は、1つ以上のウェアラブルシステムに伝送され得る。例えば、MR環境700は、Californiaで生成している場面についての情報を含み得る。環境700は、New Yorkにおける1人以上のユーザに伝送され得る。FOVカメラおよび他の入力から受信されたデータに基づいて、オブジェクト認識装置および他のソフトウェアコンポーネントは、場面が世界の異なる部分に存在し得る第2のユーザに正確に「パス」され得るように、種々の画像から収集された点をマッピングし、オブジェクトを認識すること等ができる。環境700は、場所特定目的のために、トポロジマップも使用し得る。
【0097】
オブジェクト認識装置は、3D環境内のオブジェクトを識別し得、オブジェクトを選択するために、または、それと相互作用するために使用されるカーソルの現在の位置のシステムの知識から、この情報は、本明細書に説明される掩蔽カーソル技法を実装するために使用され得る。例えば、カーソル場所が、オブジェクト認識装置によって識別された標的オブジェクトに近い場合、焦点インジケータが、標的オブジェクトの周囲に提供または強調され得る。オブジェクト認識装置は、オブジェクトの場所(例えば、中心)またはオブジェクトの縁または境界を決定し得、オブジェクトの中心または縁または境界に対するカーソルの場所(例えば、ユーザからカーソル位置に向かう光線)が、焦点インジケータをレンダリングすべきか否か、およびその方法、カーソルをオブジェクトに向かって加速させるべきか否か(例えば、本明細書に説明される誘引効果)等を決定するために使用され得る。
【0098】
図8は、認識されたオブジェクトに関連して仮想コンテンツをレンダリングする方法800の例のプロセスフロー図である。方法800は、仮想場面がウェアラブルシステムのユーザに表され得る方法を説明する。ユーザは、その場面から地理的に遠隔に存在し得る。例えば、ユーザは、New Yorkに存在し得るが、Californiaで現在起こっている場面を視認することを所望し得るか、または、Californiaに存在する友人と散歩に行くことを所望し得る。
【0099】
ブロック810において、ウェアラブルシステムは、ユーザの環境に関する入力をユーザおよび他のユーザから受信し得る。これは、種々の入力デバイスおよびマップデータベース内にすでに保有されている知識を通して達成され得る。ユーザのFOVカメラ、センサ、GPS、眼追跡等が、ブロック810において、情報をシステムに伝達する。システムは、ブロック820において、この情報に基づいて、まばらな点を決定し得る。まばらな点は、ユーザの周囲における種々のオブジェクトの向きおよび位置を表示および理解することにおいて使用され得る姿勢データ(例えば、頭部姿勢、眼姿勢、身体姿勢、または手のジェスチャ)を決定することにおいて使用され得る。オブジェクト認識装置708a、708nは、ブロック830において、これらの収集された点を通してクローリングし、マップデータベースを使用して、1つ以上のオブジェクトを認識し得る。この情報は、次いで、ブロック840において、ユーザの個々のウェアラブルシステムに伝達され得、所望の仮想場面が、ブロック850において、適宜、ユーザに表示され得る。例えば、所望の仮想場面(例えば、CAにおけるユーザ)が、New Yorkにおけるユーザの種々のオブジェクトおよび他の周囲に関連して、適切な向き、位置等において表示され得る。
【0100】
図9は、ウェアラブルシステムの別の例のブロック図である。この例において、ウェアラブルシステム900は、世界に関するマップデータを含み得るマップを備えている。マップは、ウェアラブルシステム上にローカルに部分的に常駐し得、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、クラウドシステム内)に部分的に常駐し得る。姿勢プロセス910が、ウェアラブルコンピューティングアーキテクチャ(例えば、処理モジュール260またはコントローラ460)上で実行され、ウェアラブルコンピューティングハードウェアまたはユーザの位置および向きを決定するために、マップからのデータを利用し得る。姿勢データは、ユーザがシステムを体験し、世界内で動作しているとき、リアルタイムで収集されたデータから計算され得る。データは、実または仮想環境内のオブジェクトに関する画像、センサ(加速度計、ジャイロスコープ、磁力計、またはそのようなコンポーネントの組み合わせを備え得る慣性測定ユニット(IMU)等)からのデータ、および表面情報を備え得る。
【0101】
まばらな点表現は、同時場所特定およびマッピング(SLAMまたはV-SLAM:入力が画像/視覚のみである構成を指す)プロセスの出力であり得る。システムは、世界内の種々のコンポーネントの場所のみならず、世界が構成されているものを見出すように構成されることができる。姿勢は、マップにデータを投入することおよびマップからのデータを使用することを含む多くの目標を達成する構築ブロックであり得る。
【0102】
一実施形態において、まばらな点位置は、それ自体では完全に適正でないこともあり、さらなる情報が、多焦点AR、VR、またはMR体験を生成するために必要とされ得る。概して、深度マップ情報を指す、密な表現が、少なくとも部分的にこの間隙を充填するために利用され得る。そのような情報は、立体視940と称されるプロセスから計算され得、深度情報は、三角測量または飛行時間感知等の技法を使用して決定される。画像情報およびアクティブパターン(アクティブプロジェクタを使用して生成される赤外線パターン等)が、立体視プロセス940への入力としての役割を果たし得る。かなりの量の深度マップ情報が一緒に融合され得、このうちのいくつかが、表面表現を用いて要約され得る。例えば、数学的に定義可能な表面は、ゲームエンジンのような他の処理デバイスへの効率的(例えば、大規模点群と比較して)かつ摘要可能な入力であり得る。したがって、立体視プロセス(例えば、深度マップ)940の出力は、融合プロセス930において組み合わせられ得る。姿勢は、この融合プロセス930への入力でもあり得、融合930の出力は、マッププロセス920にデータを投入するための入力となる。サブ表面が、トポグラフィマッピング等において互いに接続し、より大きい表面を形成し得、マップは、点および表面の大規模ハイブリッドとなる。
【0103】
複合現実プロセス960における種々の側面を解決するために、種々の入力が、利用され得る。例えば、図9に描写される実施形態において、ゲームパラメータは、システムのユーザが1匹以上のモンスタと種々の場所においてモンスタバトルゲームをプレーしていること、モンスタが死んでいること、種々の条件下で逃げていること(ユーザがモンスタを撃つ場合等)、種々の場所における壁または他のオブジェクト等を決定するための入力であり得る。世界マップは、複合現実に対する別の有用な入力となるそのようなオブジェクトが互いに対して存在する場所に関する情報を含み得る。世界に対する姿勢は、入力にもなり、ほぼあらゆる双方向システムに対して重要な役割を果たす。これら等のパラメータおよび入力は、複合現実プロセス960内の掩蔽カーソル機能性を提供するために使用されることができる。
【0104】
ユーザからの制御または入力は、ウェアラブルシステム900への別の入力である。本明細書に説明されるように、ユーザ入力は、視覚的入力、ジェスチャ、トーテム、オーディオ入力、感覚入力等を含むことができる。動き回るために、またはゲームをプレーするために、例えば、ユーザは、ウェアラブルシステム900に何をしたいかに関して命令する必要があり得る。空間内で自ら移動するのみならず、利用され得る種々の形態のユーザ制御が、存在する。一実施形態において、トーテム(例えば、ユーザ入力デバイス)、または玩具銃等のオブジェクトが、ユーザによって保持され、システムによって追跡され得る。システムは、好ましくは、ユーザがアイテムを保持していることを把握し、ユーザがアイテムと行っている相互作用の種類を理解するように構成されるであろう(例えば、トーテムまたはオブジェクトが銃である場合、システムは、場所および向きのみならず、ユーザが、IMU等のセンサと共に装備され得るトリガまたは他の感知ボタンまたは要素をクリックしているかどうかも理解するように構成され得、それは、そのようなアクティビティがカメラのいずれかの視野内にないときでも、何が起こっているかの決定を補助し得る。)
【0105】
手のジェスチャ追跡または認識も、入力情報を提供し得る。ウェアラブルシステム900は、ボタンの押し下げに関して、左または右、停止、握持、保持等をジェスチャすることに関して、手のジェスチャを追跡および解釈するように構成され得る。例えば、1つの構成において、ユーザは、非ゲーム環境において電子メールまたはカレンダを通してフリップすること、または別の人物またはプレーヤと「フィストバンプ」を行うことを欲し得る。ウェアラブルシステム900は、動的であることも、動的ではないこともある最小量の手のジェスチャを活用するように構成され得る。例えば、ジェスチャは、停止を示すために手を広げること、OKを示すために親指を上げること、OKではないことを示すために親指を下げること、または指向性コマンドを示すために左右または上下に手をフリップすること等、単純な静的ジェスチャであり得る。
【0106】
眼追跡は、別の入力である(例えば、ユーザが見ている場所を追跡し、ディスプレイ技術を制御し、特定の深度または範囲においてレンダリングする)。一実施形態において、眼の両眼離反運動が、三角測量を使用して決定され得、次いで、その特定の人物のために開発された両眼離反運動/遠近調節モデルを使用して、遠近調節が、決定され得る。
【0107】
カメラシステムに関して、図9に示される例示的ウェアラブルシステム900は、3つの対のカメラを含むことができる:ユーザの顔の両側に配列される相対的広FOVまたは受動SLAM対のカメラ、ユーザの前に向けられ、立体視結像プロセス940をハンドリングすること、ユーザの顔の前の手のジェスチャおよびトーテム/オブジェクトの軌道を捕捉することを行うための異なる対のカメラ。ステレオプロセス940のためのFOVカメラおよび対のカメラは、外向きに面した結像システム464(図4に示される)の一部であり得る。ウェアラブルシステム900は、眼ベクトルおよび他の情報を三角測量するために、ユーザの眼に向けられる眼追跡カメラ(図4に示される内向きに面した結像システム462の一部であり得る)を含むことができる。ウェアラブルシステム900は、1つ以上のテクスチャ化光プロジェクタ(赤外線(IR)プロジェクタ等)も備え、テクスチャを場面の中に投入し得る。
【0108】
図10は、ウェアラブルシステムへのユーザ入力を決定する方法1000の例のプロセスフロー図である。この例において、ユーザは、トーテムと相互作用し得る。ユーザは、複数のトーテムを有し得る。例えば、ユーザは、ソーシャルメディアアプリケーションのための指定される1つのトーテム、ゲームをプレーするための別のトーテム等を有し得る。ブロック1010において、ウェアラブルシステムは、トーテムの運動を検出し得る。トーテムの移動は、外向きに面したシステムを通して認識され得るか、または、センサ(例えば、触知グローブ、画像センサ、手追跡デバイス、眼追跡カメラ、頭部姿勢センサ等)を通して検出され得る。
【0109】
少なくとも部分的に検出されたジェスチャ、眼姿勢、頭部姿勢、またはトーテムを通した入力に基づいて、ウェアラブルシステムは、ブロック1020において、基準フレームに対するトーテム(またはユーザの眼または頭部またはジェスチャ)の位置、向き、または移動を検出する。基準フレームは、マップ点の組であり得、ウェアラブルシステムは、それに基づいてトーテム(またはユーザ)の移動をアクションまたはコマンドに変換する。ブロック1030において、トーテムとのユーザの相互作用が、マッピングされる。基準フレーム1020に対するユーザ相互作用のマッピングに基づいて、システムは、ブロック1040において、ユーザ入力を決定する。
【0110】
例えば、ユーザは、トーテムまたは物理的オブジェクトを前後に移動させ、仮想ページを捲ること、次のページに移動すること、または、1つのユーザインターフェース(UI)ディスプレイ画面から別のUI画面に移動することを示し得る。別の例として、ユーザは、ユーザのFOR内の異なる実または仮想オブジェクトを見るために、その頭部または眼を移動させ得る。特定の実または仮想オブジェクトにおけるユーザの注視が、閾値時間より長い場合、その実または仮想オブジェクトは、ユーザ入力として選択され得る。いくつかの実装において、ユーザの眼の両眼離反運動が、追跡されることができ、遠近調節/両眼離反運動モデルが、ユーザの眼の遠近調節状態を決定するために使用されることができ、それは、ユーザが焦点を合わせている深度平面に関する情報を提供する。いくつかの実装において、ウェアラブルシステムは、レイキャスティング技法を使用して、ユーザの頭部姿勢または眼姿勢の方向に沿っている実または仮想オブジェクトを決定することができる。種々の実装において、レイキャスティング技法は、実質的に殆ど横幅を伴わない細い光線束をキャスティングすること、または実質的横幅を伴う光線(例えば、円錐または円錐台)をキャスティングすることを含むことができる。
【0111】
ユーザインターフェースは、本明細書に説明されるようなディスプレイシステム(図2におけるディスプレイ220等)によって投影され得る。それは、1つ以上のプロジェクタ等の種々の他の技法を使用して表示されることもある。プロジェクタは、画像をキャンバスまたは球体等の物理的オブジェクト上に投影し得る。ユーザインターフェースとの相互作用は、システムの外部またはシステムの一部の1つ以上のカメラを使用して(例えば、内向きに面した結像システム462または外向きに面した結像システム464を使用して)追跡され得る。
【0112】
図11は、仮想ユーザインターフェースと相互作用する方法1100の例のプロセスフロー図である。方法1100は、本明細書に説明されるウェアラブルシステムによって行われ得る。
【0113】
ブロック1110において、ウェアラブルシステムは、特定のUIを識別し得る。UIのタイプは、ユーザによって事前決定され得る。ウェアラブルシステムは、特定のUIがユーザ入力(例えば、ジェスチャ、視覚的データ、オーディオデータ、感覚データ、直接コマンド等)に基づいてデータを投入される必要があることを識別し得る。ブロック1120において、ウェアラブルシステムは、仮想UIのためのデータを生成し得る。例えば、UIの境界、一般的構造、形状等に関連付けられたデータが、生成され得る。加えて、ウェアラブルシステムは、ウェアラブルシステムがユーザの物理的場所に関連してUIを表示し得るように、ユーザの物理的場所のマップ座標を決定し得る。例えば、UIが、身体中心である場合、ウェアラブルシステムは、リングUIがユーザの周囲に表示され得るか、または、平面UIが壁上またはユーザの前に表示され得るように、ユーザの物理的立ち位置、頭部姿勢、または眼姿勢の座標を決定し得る。UIが、手中心の場合、ユーザの手のマップ座標が、決定され得る。これらのマップ点は、FOVカメラ、感覚入力を通して受信されたデータ、または任意の他のタイプの収集されたデータを通して導出され得る。
【0114】
ブロック1130において、ウェアラブルシステムは、データをクラウドからディスプレイに送信し得るか、または、データは、ローカルデータベースからディスプレイコンポーネントに送信され得る。ブロック1140において、UIは、送信されたデータに基づいて、ユーザに表示される。例えば、明視野ディスプレイは、仮想UIをユーザの眼の一方または両方の中に投影することができる。仮想UIが生成されると、ウェアラブルシステムは、ブロック1150において、より多くの仮想コンテンツを仮想UI上に生成するためのユーザからのコマンドを単に待ち得る。例えば、UIは、ユーザの身体の周囲の身体中心リングであり得る。ウェアラブルシステムは、次いで、コマンド(ジェスチャ、頭部または眼移動、ユーザ入力デバイスからの入力等)を待ち得、認識される場合(ブロック1160)、コマンドに関連付けられた仮想コンテンツが、ユーザに表示され得る(ブロック1170)。例として、仮想コンテンツは、環境内のオブジェクトに関連付けられた仮想カーソル(またはレチクル)および焦点インジケータを含み得る。仮想カーソルおよび焦点インジケータは、図12A-24を参照して説明される掩蔽カーソル技術の側面を備え得る。
【0115】
ウェアラブルシステム、UI、およびユーザ体験(UX)の追加の例は、米国特許公開第2015/0016777号(参照することによってその全体として本明細書に組み込まれる)に説明される。
(視野(FOV)内の例示的オブジェクト)
【0116】
図12A-12Cは、ウェアラブルシステムを介してユーザによって知覚され得るオブジェクト1204およびカーソル1202の種々の例を図示する。図12Aは、2D環境の例を示し、図12B-12Cは、3D環境の例を示す。種々の実施形態において、ユーザの視野(FOV)内のオブジェクトは、仮想または物理的オブジェクトであり得る。例えば、1つ以上のオブジェクトは、椅子、木、ソファ、壁等の物理的オブジェクトを含み得る一方、仮想オブジェクトは、例えば、削除されたファイルのためのゴミ箱、コマンドを入力するための端末、ファイルまたはディレクトリにアクセスするためのファイルマネージャ、アイコン、メニュー、オーディオまたはビデオストリーミングのためのアプリケーション、オペレーティングシステムからの通知等のオペレーティングシステムオブジェクトを含み得る。仮想オブジェクトは、例えば、アバタ、ゲーム内の仮想オブジェクト、グラフィックまたは画像等、アプリケーション内のオブジェクトも含み得る。いくつかの仮想オブジェクトは、オペレーティングシステムオブジェクトおよびアプリケーション内のオブジェクトの両方であることができる。いくつかの実施形態において、ウェアラブルシステムは、仮想要素を既存の物理的オブジェクトに追加することができる。例えば、ウェアラブルシステムは、部屋内のテレビに関連付けられた仮想メニューを追加し得、仮想メニューは、ウェアラブルシステムを使用して、テレビをオンにすること、またはそのチャンネルを変更することを行うためのオプションをユーザに与え得る。
【0117】
仮想オブジェクトは、3次元(3D)、2次元(2D)、または1次元(1D)オブジェクトであり得る。例えば、仮想オブジェクトは、3Dコーヒーマグカップであり得る(物理的コーヒーメーカーのための仮想制御を表し得る)。仮想オブジェクトは、時計の2Dグラフィカル表現でもあり得る(現在の時間をユーザに表示する)。いくつかの実装において、1つ以上の仮想オブジェクトは、別の仮想オブジェクト内に表示され得る(またはそれに関連付けられる)。仮想コーヒーマグカップは、ユーザインターフェース平面の内側に示され得るが、仮想コーヒーマグカップは、この2D平面仮想空間内に3Dであるように見える。
(カーソルの利用)
【0118】
図12A-12Cを継続して参照すると、ウェアラブルシステムは、ユーザが環境内のオブジェクトを選択またはそれと相互作用するために利用し得る移動可能なインジケータであり得るカーソル1202を表示する。カーソルは、環境の限られた領域(例えば、FOV内の場所)内に表示されることができる。ある場合、カーソルは、実または仮想オブジェクトとのユーザ相互作用が生じ得る場所を表す。例えば、ユーザは、カーソル1202を利用して、オブジェクト1204等のオブジェクトを選択、視認、または指示することができる。カーソル1202の場所を変化させることによって、ユーザは、選択またはビューを改変すること、またはカーソル1202が指している場所を変化させることができる。種々の実装において、ユーザは、例えば、ハンドヘルドトーテムを平行移動または回転させること、指(例えば、親指)をトーテムまたは他のユーザ入力デバイスのタッチセンサ式部分を横断して移動させること、身体部分(例えば、指、手、または腕)を平行移動または回転させること、または、その頭部または眼を移動させることによって、カーソルの場所を変化させることができる。
【0119】
カーソル1202の外観は、種々の異なる色、輪郭、形状、シンボル、サイズ、画像、グラフィック、組み合わせ等のいずれかをとることができる。例えば、カーソル1202は、カーソル、幾何学的円錐、光のビーム、矢印、卵形、円形、多角形、または他の1D、2D、または3D形状等の種々の形状をとり得る。
【0120】
カーソル1202は、それが標的オブジェクト1204上をホバリングすること、その背後にホバリングすること、または別様に指示することを行うようにカーソル1202を移動させることによって、オブジェクト1204等のオブジェクトを選択、視認、または指示するために使用され得る。カーソル1202および標的オブジェクト1204が、十分に整列させられると、ユーザは、例えば、手のジェスチャを行うこと、トーテムのタッチセンサ式部分を作動させること等によって、カーソル1204がホバリングまたは指している標的オブジェクト1204を選択し、またはそれと相互作用し得る。
【0121】
ユーザは、その身体、頭部、または眼を移動させ、カーソル1202を移動させることができる。例えば、ユーザの姿勢(例えば、頭部姿勢、身体姿勢、または眼視線)の変化は、FOV内のカーソル1202の場所を改変し得る。同様に、カーソル1202は、図4のユーザ入力デバイス466等のユーザ入力デバイスを通して制御され得る。例えば、ユーザ入力デバイスは、トラックパッド、タッチスクリーン、ジョイスティック、マルチ自由度(DOF)コントローラ、容量感知デバイス、ゲームコントローラ、キーボード、マウス、指向性パッド(Dパッド)、ワンド、触覚デバイス、トーテム(例えば、仮想ユーザ入力デバイスとして機能する)等を含むことができる。例えば、ユーザが、その手をユーザ入力デバイス上に移動させるにつれて、カーソル1202は、第1の位置から第2の位置に移動し得る。
(コンテンツの不明瞭化)
【0122】
いくつかのシステムは、場面コンテンツを考慮せずにカーソルをレンダリングする。言い換えると、ユーザが、カーソルを場面の周囲で移動させるにつれて、カーソルが、場面内のオブジェクトの前にレンダリングされる。カーソルが、オブジェクトを標的化または選択するために使用されるとき、カーソルがオブジェクト上をホバリングするにつれて、カーソルが、オブジェクトを塞ぎまたは不明瞭にし得るということになる。これは、環境内のユーザの体験に影響を及ぼし得る。例えば、ユーザは、オブジェクトを見ることを所望し得るが、カーソルが、オブジェクトの前にレンダリングされ、それによって、オブジェクトのユーザのビューを遮断する。これらの問題は、オブジェクトが、テキスト、画像、またはユーザが視認することを望む他のコンテンツを含むとき、さらに悪化させられ得る。さらに、カーソルが、標的オブジェクトの前にレンダリングされると、カーソルは、ユーザの視覚的階層において標的オブジェクトより高く、それは、注意を逸らし得る。何故なら、ユーザは、カーソルではなく環境内の実または仮想オブジェクトと相互作用しようとしており、カーソルが、好ましくは、視覚的階層において最高またはより高いオブジェクトではなくツールとして機能すべきであるからである。
【0123】
図12Aは、2D環境内のカーソルに関連付けられた問題のうちのいくつかの例を図示する。示されるように、図12Aは、2D環境を動き回るにつれたカーソル1202の種々の場所を図示し、具体的に、カーソル1202が、位置1212(例えば、カーソル1202がオブジェクト1204の上方にある)から、位置1214(例えば、カーソル1202がオブジェクト1204の前にある)、位置1216(例えば、カーソル1202がオブジェクト1204の下方にある)に移動するにつれたカーソル1202の種々の場所を図示する。
【0124】
図12Aの2D環境において、カーソル1202およびオブジェクト1204は、深度を有していない。言い換えると、カーソル1202は、オブジェクト1204と同じ深度にレンダリングされ、カーソル1202およびオブジェクト1204が重複すると、カーソル1202が、オブジェクト1204の代わりに示される。例えば、カーソル1202が、位置1212から位置1214に移動するにつれて、カーソル1202は、カーソル1202が示され、カーソルの背後のオブジェクト1204の一部がユーザのビューから遮断されるように、オブジェクト1204の「上を転がっている」ように見える。
【0125】
図12Bは、カーソルによる塞ぎが3D環境内で悪化させられ得る様子の例を図示する。示されるように、図12Bは、3D環境で動き回るにつれたカーソル1202の種々の場所を図示し、具体的に、カーソル1202が、位置1222(例えば、カーソル1202が、オブジェクト1204の上方にあり、オブジェクト1204の中心に置かれている)から、経路1250aに沿った位置1224(例えば、カーソル1202がオブジェクト1204の前にある)、位置1226(例えば、カーソル1202が、オブジェクト1204の中心に置かれ、その下方にある)に移動するにつれたカーソル1202の種々の場所を図示する。
【0126】
図12Bの3D環境において、カーソル1202およびオブジェクト1204は、深度を有する。言い換えると、カーソル1202が、3D空間においてオブジェクトの「上を転がる」または「それの回りを転がる」ために、カーソル1202は、カーソル1202とオブジェクト1204とが重複しないように、ユーザからより近く、またはより遠くに移動しなければならない。例えば、「転がり」中、カーソル1202とオブジェクトとが、同じ深度に保たれる場合、カーソル1202は、オブジェクト1204を通過するように見え得、それは、現実性を破壊し、カーソル1202の一部またはオブジェクト1204の一部を不明瞭にし得るので、望ましくないこともある。図12Bにおいて、経路1250aに沿って移動させられる場合、カーソルは、オブジェクト1204の前にあり、かつオブジェクト1204とユーザとの間にあるように、ユーザのより近くに移動させられる(例えば、位置1224参照)。例えば、図12Bにおけるオブジェクト1204は、腕をその身体の前に伸ばしている人物である。最初、位置1222において、カーソル1202は、ユーザから人物1204とほぼ同じ距離にある。しかしながら、カーソル1202が経路1250aに沿って位置1222から位置1224に移動するとき、システムは、カーソル1202が人物1204の伸ばされた腕の前にあるために、カーソル1202をユーザのより近くに持って来なければならない。カーソル1202をユーザのより近くに持って来ることによって、システムは、ユーザが自身のより近くに見えるオブジェクトに焦点を合わせる可能性がより高いので、カーソル1202を人物1204に対して効果的に強調する。カーソルへの強調を低減させるために、システムは、カーソルのサイズを動的に調節し、カーソルの一貫した外観を維持し得る。しかしながら、カーソルの知覚される寸法は、ユーザからの距離に基づいて変化するであろうから、このタイプの知覚変化は、ユーザを混乱させるか、または、最低でもユーザに紛らわしい情報を提供し得る。故に、ユーザが、人物の前を通るカーソル1202を利用することによって、相互作用するように試みている人物1204を強調することが望ましいであろうが、システムは、望ましくないことに、カーソル1202を人物より強調する。
【0127】
カーソル1202とオブジェクト1204とが重複するとき、カーソル1202を強調する可能性を低減させるために、カーソルは、事実上、オブジェクト1204の背後に通る経路1250bに沿って、移動することができる(オブジェクト1204が、カーソルを「掩蔽」するように)。カーソル1202は、それによって、前景オブジェクト1204に対して強調解除される。カーソル1202が、オブジェクト1204(図12Bにおける人物等)の背後にあるとき、ウェアラブルシステムは、カーソルが、ユーザに見えない(例えば、オブジェクトが、不透明であり、カーソルを「掩蔽」する)ので、カーソルのレンダリングを停止し得る。いくつかの実施形態において、オブジェクト1204の背後にあるとき、カーソル1202は、ウェアラブルシステムによってレンダリングされ続けるが、オブジェクトに対して強調解除されたままであるか、または、オブジェクト1204がカーソル1202の前にレンダリングされる(例えば、オブジェクトがカーソルを掩蔽する)ように、低減させられた明度レベルにおいてレンダリングされ、それは、事実上、オブジェクトに対してカーソルの知覚能力を低減させ得る。下でさらに説明されるように、加えて、または代替として、カーソルが、オブジェクトの背後にあるとき、システムは、焦点インジケータ(例えば、光彩または後光)をオブジェクト1204の周囲にレンダリングし、カーソルの場所に関する視覚的指示をユーザに提供し得る。
【0128】
図12Cは、カーソルが3D環境内でオブジェクトの背後に移動すると、オブジェクトがサイズまたは形状または知覚される深度において変化し得る様子の例を図示する。示されるように、図12Cは、3D環境で動き回るときのカーソル1202の種々の場所を図示し、具体的に、カーソル1202が、位置1222(例えば、カーソル1202が、オブジェクト1204の上方にあり、オブジェクト1204の中心に置かれている)から位置1226(例えば、カーソル1202が、オブジェクト1204の中心に置かれ、その下方にある)に移動するにつれたカーソル1202の種々の場所を図示する。
【0129】
図12Cにおいて、カーソル1202をユーザのより近くに移動させる(例えば、図12Bの経路1250a)、またはカーソル1202をユーザからさらに離れて移動させる(例えば、図12Bの経路1250b)のではなく、システムは、カーソル1202を経路1250cに沿って移動させることができる。応答して、オブジェクト1204が、より大きくなることができるか、または、オブジェクト1204が、ユーザのより近くに移動し得るか、または、オブジェクトの前景が、拡張することができ(または任意のこれらの組み合わせ)、それによって、アイコン1204は、より近くにシフトするか、または、より大きくまたはユーザのより近くに見える。言い換えると、ユーザまたはオブジェクト1204に対してカーソル1202の深度を改変するのではなく、システムは、オブジェクト1204がカーソルよりユーザの近くに現れるように、カーソルを同じ深度に保ち、オブジェクト1204の相対的深度を調節することができる。いくつかの実施形態において、オブジェクト1204は、新しい深度(例えば、ユーザのより近い深度)にシフトし得る。いくつかの実施形態において、オブジェクト1204は、カーソルと同じ深度のままであり得るが、ユーザのより近くに見えるように、より近い両眼離反運動ディスプレイ入力を伴ってレンダリングされ得る。オブジェクト1204をユーザのより近くに持って来ることによって、システムは、有利に、ユーザが自身のより近くに見えるオブジェクトに焦点を合わせる可能性がより高いので、オブジェクト1204を強調する。さらに、図12bの経路1250bと同様に、オブジェクトがユーザに向かってシフトされるので、カーソル1202は、事実上、オブジェクト1204の背後に通る経路1250cに沿って移動することができる(オブジェクト1204がカーソルを「掩蔽」するように)。カーソル1202は、オブジェクト1204の背後にある間、レンダリングされないこともあるか、または、低減させられた明度または増加させられた透明度を伴ってレンダリングされ得る。カーソル1202は、それによって、前景オブジェクト1204に対して強調解除される。カーソル1202が、もはやオブジェクト1204の背後ではないと、ウェアラブルシステムは、オブジェクト1204をその元々の位置に戻るようにシフトさせ、オブジェクトをその元々のサイズに調節し、それによって、オブジェクト1204を強調解除し、再び、ユーザがカーソルおよびオブジェクトを視認し得るように、カーソル1202をレンダリングし得る(もはや掩蔽されない)。上で説明されるように、カーソル1202は、オブジェクト1204によって掩蔽されるが、システムは、焦点インジケータをオブジェクト1204の少なくとも一部の周囲にまたはそれに隣接してレンダリングすることができ、それは、カーソルに対して前景オブジェクトをさらに強調する。
【0130】
掩蔽カーソルの挙動の追加の例は、図18A-18Cおよび30A-30Fを参照して下で説明される。
(焦点インジケータの利用)
【0131】
ある場合、カーソル1202が、オブジェクト1204の背後に位置付けられていると、ユーザは、場面内のカーソルの場所の正確な感覚を得ることが困難であり得る。例えば、カーソル1202は、オブジェクト1204によって(少なくとも部分的に)遮断され、ユーザが将来においてカーソルを視覚的に再入手すること、または、選択されていたオブジェクトを思い出すことが困難であり得る。故に、環境内のカーソルの場所の正確な感覚をユーザに与えるために、ある場合、システムは、カーソル1202がそのオブジェクト1204の背後に移動するとき、オブジェクト1204を強調することができる。例えば、システムは、焦点インジケータ(例えば、ある形態の視覚的ハイライト)をオブジェクト1204に割り当てることができる。したがって、カーソル1202がオブジェクト1204の近く、または背後に移動すると、焦点インジケータがアクティブにされ、オブジェクト1204が強調される一方、ユーザは、依然として、場面内のカーソルの場所および選択されていたオブジェクトの正確な感覚を得る。
【0132】
図13Aおよび13Bは、焦点インジケータ1302およびカーソル1202の非限定的実施形態を図示する。焦点インジケータ1302の外観は、種々の異なる色、輪郭、形状、シンボル、サイズ、画像、グラフィック、その組み合わせ等のいずれかをとることができる。例えば、カーソル1202は、カーソル、幾何学的錐体、光のビーム、矢印、十字線、卵形、円形、多角形、または他の1D、2D、または3D形状等の種々の形状をとり得る。焦点インジケータ1302は、限定ではないが、後光、色、知覚されるサイズまたは深度変化(例えば、オブジェクトを選択されると、より近くにまたはより大きく現れさせる)、仮想光線、線、または弧、または、ユーザの注意をオブジェクトに引き付けるための他のグラフィカルハイライト(オブジェクトまたはその周辺の少なくとも一部から発出し、それを包囲し、またはそれに関連付けられた)を含むことができる。焦点インジケータ1302は、オブジェクトの背後から照射する光彩を含むことができ、光彩の強度は、カーソルの場所とオブジェクトの場所との間の空間関係に対応することができる。例えば、光彩の強度は、オブジェクトの縁の近くで最大であり、オブジェクトから離れる距離に伴って減少することができる。光彩の強度は、カーソルに最も近いオブジェクトの側で(例えば、オブジェクトとカーソルとの間の線に沿って)最大であることができ、強度は、カーソルから離れたオブジェクトの側でより低くある(またはゼロである)ことができる。図13Bに図示されるように、カーソルまたは焦点インジケータは、虹色の外観を有し得る。焦点インジケータ1302(またはカーソル1202)は、振動、リングトーン、ビープ音等の可聴または触知的効果も含むことができる。
【0133】
カーソル1202が、オブジェクトの背後に位置付けられているとき、カーソル1202が十分に大きくあり得るか、または、オブジェクトが十分に小さくあり得、それによって、カーソルの外側部分が、オブジェクトを包囲する焦点インジケータの外観を与える。ある場合、図13Aおよび13Bに図示されるように、焦点インジケータ1302は、カーソル1202のより大きいバージョンとして現れることができる。例えば、システムは、カーソル1202をレンダリングすることができ、カーソルがそれとオブジェクトとの間の閾値距離を下回っていることに応答して、カーソル1202は、オブジェクトの周囲に現れる焦点インジケータ1302のために、掩蔽されることができる(例えば、レンダリングされない)。さらに、カーソルがそれとオブジェクトとの間の閾値距離を上回っていることに応答して、カーソルは、再び、システムによってレンダリングされ、焦点インジケータは、強調解除されることができる。
(カーソルおよび焦点インジケータの例)
【0134】
図14Aおよび14Bは、カーソル1202およびオブジェクト1204を含む環境の例を図示する。この例において、オブジェクト1204は、テーブル上に置かれている立方体である。カーソル1202が、図14Aにおける位置1412から図14Bにおける位置1414に遷移すると、カーソル1202は、オブジェクト1204の上に(またはその前に)移動する。故に、カーソル1202が、位置1414に来ると、カーソル1202は、ユーザのビューからオブジェクト1204の一部を遮断し、それは、上で議論されるように、ユーザへの迷惑であり得る。
【0135】
図14Cは、掩蔽カーソル機能性の特徴を図式的に図示する環境の例を図示する。図14Bと対照的に、カーソル1414は、オブジェクト1204の背後に移動し、ユーザにレンダリングされない(図14Cにおいて、破線によって示される)。カーソル1414が、オブジェクト1204に接近し、その背後を通っているとき、焦点インジケータ1302が、ユーザにレンダリングされる。この例において、焦点インジケータ1302は、立方体を包囲する円形光彩であり、光彩の強度は、立方体の縁の近くで最高であり、立方体からの距離の増加に伴って規模において減少する。
(焦点インジケータ閾値)
【0136】
本明細書に説明されるように、焦点インジケータ1302は、有利に、カーソルがオブジェクトによって掩蔽されると、環境内のカーソルの場所の正確な感覚をユーザに提供することができる。例えば、図14Cから分かるように、カーソル1414は、ユーザに見えないが、オブジェクト1204を包囲する焦点インジケータ1302は、ユーザに対して、オブジェクトが選択されている(またはそれと相互作用されている)ことを識別し、さらに、カーソルがオブジェクト1204の背後にあることを示す。
【0137】
システムは、少なくとも部分的に環境内のカーソルの場所がオブジェクトに対する距離閾値を超えたことの決定に基づいて、焦点インジケータ1302をオブジェクトに割り当てることができる。言い換えると、焦点インジケータ1302は、環境内のカーソルの場所とオブジェクトの場所、サイズ、形状、向き等との間に決定された空間関係に基づいて、オブジェクトに割り当てられることができる。カーソルの場所は、レイキャスティングまたは円錐キャスティングを介して、決定されることができ、オブジェクトまでの距離が、光線(または円錐)とオブジェクトとの間の垂直距離として決定されることができる。
【0138】
焦点インジケータ1302は、環境内のカーソルの場所の正確な感覚をユーザに与えることができる。例えば、ユーザが環境内のカーソルの場所を変化させるにつれて、システムは、1つ以上の環境内のオブジェクトに関連付けられた焦点インジケータを割り当てること、割り当てないこと、または修正することができる。システムは、焦点インジケータ1302の強度、サイズ、形状、色、または他の特性を調節し、カーソルとオブジェクトとの間の相対的距離を示すことができる。例えば、環境内のカーソルの場所が、オブジェクトのより近くに移動するにつれて、そのオブジェクトに割り当てられる焦点インジケータは、より強く、またはより大きく示され得る(少なくともカーソルに向かう方向に)。環境内のカーソルの場所が、オブジェクトから離れるように移動するにつれて、オブジェクトに割り当てられる焦点インジケータは、あまり強くなくなり得るか、またはより小さくなり得るか、または、システムは、焦点インジケータのレンダリングを停止し得る。
【0139】
図14Aは、焦点インジケータをレンダリングする方法(またはレンダリングするかどうか)を決定するときのシステムの種々の距離閾値考慮点の例を図示する。システムは、カーソル1202の場所1412を監視することができ、少なくとも部分的にその場所に基づいて、システムは、焦点インジケータ1302を割り当てるべきかどうかと、焦点インジケータの特性とを決定することができる。例えば、システムは、カーソル1202の場所1412がオブジェクト1204に対応する距離閾値を下回る場合、焦点インジケータ1302をオブジェクト1204に割り当てること、またはそれを修正することができる。システムは、少なくとも部分的にカーソル1202の場所1412がオブジェクト1204に対応する距離閾値を上回ることの決定に基づいて、焦点インジケータ1302を割り当てないこと、またはそれを修正することができる。
【0140】
距離閾値は、実施形態にわたって変動することができ、限定ではないが、オブジェクトのサイズ、環境内のオブジェクトの数または密度、別のオブジェクトに対するオブジェクトの近さ等を含む種々の要因に基づくことができる。例えば、混み合った環境において、焦点インジケータがアクティブに(またはアクティブ解除)される距離閾値は、重複する焦点インジケータによって、または焦点インジケータをカーソルの近くのほぼ全てのオブジェクト上に有することによって引き起こされる視覚的混乱を回避するために、混み合っていない環境より小さくあり得る。種々の実施形態において、距離閾値は、ユーザの視野内のオブジェクト間のオブジェクトのサイズの割合または平均距離の割合(例えば、10%、20%、50%、100%等)であり得る。距離閾値は、動的であることができる。例えば、(第1の距離閾値に関連付けられた)オブジェクトが、環境のより混み合った領域の中に移動する場合、オブジェクトの距離閾値は、より近くのオブジェクトの存在に起因して、減少し得る。逆に言えば、オブジェクトが、あまり混み合っていない環境の中に移動する場合、オブジェクトの距離閾値は、増加し得る。
【0141】
図14Aを参照すると、ある場合、距離閾値は、環境内のカーソルの場所(例えば、場所1412)とオブジェクト1204の一部との間の距離に対応することができる。例えば、距離閾値は、カーソル1412の場所とオブジェクト1420の中心との間の距離1424に対応することができる。同様に、距離閾値は、カーソル1412の場所とオブジェクト1204の最も近い部分1422(例えば、オブジェクトの縁または境界)との間の距離1426に対応することができる。
【0142】
非限定的例として、図14Aは、カーソル1202を図示している。しかし、カーソル1202とオブジェクト1204との間の距離が距離閾値を下回っていないので、焦点インジケータは、オブジェクトのためにレンダリングされていない。例えば、システムは、カーソルの場所1412がオブジェクト1204の中心1420に十分に近接していないこと、または、カーソルの場所1412がオブジェクト1204の最も近い部分1422に十分に近接していないことを決定している。故に、システムは、カーソル1202をレンダリングしているが、焦点インジケータ1302をレンダリングしていない。
【0143】
対照的に、別の非限定的例として、図14Cは、カーソル場所が距離閾値を下回っている(かつこの例証において、オブジェクトの背後にある)、状況の例を図示する。カーソル1414は、もはやレンダリングされず、焦点インジケータ1302が、レンダリングされる。ユーザが、オブジェクトに対するその距離が、再び、距離閾値を超えるように、カーソルを移動させることになる場合、ユーザのビューは、図14Aにおける例証に戻り得、カーソル1202は、表示されるが、焦点インジケータは、表示されない。
(カーソルとオブジェクトとの間の誘引効果)
【0144】
ある場合、オブジェクトは、(例えば、カーソルがオブジェクトに十分に近いと)カーソルがオブジェクトに「スナップする」ように見えるように、オブジェクトが、粘着性、重力、または磁化効果をカーソル上に有するかのように作用することができる。例えば、システムは、ユーザの視野内のカーソルの場所を決定することができ、同様に、ユーザの動眼視野内の1つ以上のオブジェクトの場所を決定することができる。カーソルの場所と1つ以上のオブジェクトとの間の空間関係に基づいて、システムは、焦点インジケータを割り当てるべきオブジェクトまたは複数のオブジェクトを決定することができる(例えば、焦点インジケータは、カーソルにより近いオブジェクト上に表示され得る(またはより目立って表示される))。システムは、少なくとも1つの焦点インジケータをユーザの動眼視野内の少なくとも1つのオブジェクトに持続的に割り当てることができる。例えば、システムは、焦点インジケータをカーソルの場所の最も近くにあると決定されたオブジェクトに割り当てることができる。カーソルの場所が変化するにつれて、それに対して焦点インジケータが割り当てられるオブジェクトも、変化することができる。
【0145】
ユーザがカーソルを所望のオブジェクト上に移動させる(例えば、さらなる相互作用のために、そのオブジェクトを選択するため)ことを補助するために、システムは、オブジェクトとカーソルとの間の誘引力の効果をシミュレートし得る。誘引力は、重力、磁気、ばね状、またはオブジェクト間の他の誘引力を模倣し得る。例えば、誘引力は、オブジェクトとカーソルとの間の距離が増加するにつれて、減少し得る。したがって、ユーザが、カーソルを所望のオブジェクトのより近くに移動させるにつれて、誘引力は、増加し、カーソルを所望のオブジェクトに向かって引き寄せる傾向にあり得る。誘引効果は、ユーザが、カーソルを所望のオブジェクトの十分に近くに移動させることのみ必要であり、システムが、カーソルを所望のオブジェクト上に引き寄せる、またはスナップするであろうから、ユーザがオブジェクトを選択することをより容易にし得る。
【0146】
システム(またはユーザ)が、誤って、カーソルをオブジェクト上に移動させる(またはユーザがその考えを変える)場合、ユーザは、カーソルをオブジェクトから引き離すための十分なユーザ入力を適用することによって、カーソルをオブジェクトから取り外し得る。
【0147】
誘引力の量または誘引力の範囲は、異なるオブジェクトまたはオブジェクトのタイプに関して異なることができる。例えば、ユーザが相互作用することを所望し得るオブジェクト(例えば、仮想ディスプレイのための制御、仮想ゲーム内のオブジェクトまたはキャラクタ)は、ユーザの環境内でより受動的役割を果たすオブジェクト(例えば、机、壁上のグラフィック)より誘引力が強くあり得る。誘引力は、カーソルとオブジェクトとの間の距離の逆関数(例えば、重力に類似する逆二乗則または磁気双極子に類似する逆三乗則)としてモデル化され得る強度を有することができる。強度または範囲は、一部のユーザが、システムがカーソルをオブジェクト上により積極的に引き寄せる非常に強力な誘引効果を好み得る一方、他のユーザが、殆ど(または全く)誘引効果を好まないこともあるので、ユーザ選択可能であり得る。
【0148】
したがって、ウェアラブルシステムの実施形態は、カーソルが最も近いオブジェクトに誘引される(かつ「スナップする」)であろうから、カーソルとオブジェクトとの間の誘引の効果をシミュレートすることができる。この「誘引」は、持続的入力フィードバックをもたらし、ある場合、システムがカーソルを表示することを要求せずに(焦点インジケータがユーザにカーソルが引き寄せられた場所を知らせるため)、位置の正確な感覚をユーザに与えることができる。これは、特に、動眼視野が多くのオブジェクト(例えば、密なグリッドレイアウトにおけるオブジェクト)を含むとき、またはオブジェクトが互いに比較的に近いとき、有利であり得る。
【0149】
誘引力の例として、ユーザが、ユーザ入力デバイスのタッチパッドを解放する場合、カーソルは、最も近いオブジェクト(例えば、ボタン、アイコン等)またはその中の位置にスライドすることができる(例えば、重力によって引き寄せられるかのように)。種々の実施形態において、カーソルのこのスライドは、常時、発生すること、決して発生しないこと、または最も近いオブジェクトがカーソルに対するある距離許容差内にある場合、発生することができる。システムは、カーソルが、最も近いオブジェクト上の最も近い位置またはオブジェクトのXおよびY軸のいずれか/両方と整列する位置に移動するであろうかどうかを含む設定を提供することができる(例えば、長い隣接するオブジェクトの列が存在する場合、オブジェクトの垂直スタックの中心Yまたは中心Xにスナップされることが望ましくあり得る)。設定は、誘引力の使用が、ユーザ環境全体内に所望されるかどうか、または誘引力が、選択可能ボタン、アイコン等のリストまたはグリッドを含むディスプレイパネル内に適用されるかどうかも含むことができる。
【0150】
ある場合、オブジェクトに「取り付けられた」カーソルは、ユーザが、カーソルを以前に選択されたオブジェクトから取り外すことをシステムに示すために十分に入力デバイスを移動させない限り、直ちに、オブジェクトから「取り外された」状態にならないこともある。これは、システムが、ユーザがカーソルをオブジェクトから十分に引き離すまで、選択されたオブジェクトをカーソル上に保持しているかのように作用するように、カーソルとオブジェクトとの間の粘着力、重力、または磁力の効果も模倣する。
【0151】
さらに、ユーザ精度を補助するために、掩蔽オブジェクトを標的化するとき、システムは、アクティブユーザ入力が中止後、カーソルを最も近いオブジェクトに向かって引き付ける傾向となるであろう誘引効果を実装することができる。したがって、カーソルは、慣性を有するかのように作用し得、ユーザがトーテムまたは他の入力デバイスの作動を停止させる場合でも、オブジェクトに向かって移動し続け得る。誘引力の引き寄せは、比較的に最小限のユーザアクションを用いて、カーソルを自然な方法で所望のオブジェクト上に移動させる。これは、有利に、ユーザがオブジェクトを選択することをより容易にし、ユーザ疲労を低減または最小化することができる。
【0152】
カーソル慣性の例として、ユーザが、タッチパッド入力を提供しており、カーソル運動が、決定またはレンダリングされている場合、システムは、慣性の程度を模倣し得るカーソルの移動を関連付けることもできる。例えば、この移動は、アクティブユーザ入力がタッチパッド上で中止した(例えば、ユーザが、その指を持ち上げ、移動を停止させた)瞬間から適用されることができる。これは、減衰力が慣性をゼロに戻るまで低減させるまで、その運動経路に沿って、カーソルを継続させることができる。制御は、慣性が蓄積され得る量を限定し、かつ高速スワイプアクションの終了時にユーザがタッチパッドを解放する場合、(例えば、構成可能閾値に対応する)慣性増大が適用されることを可能にすることができる。慣性増大は、長い項目化されたリストを通した高速スワイプをサポートすることができる(例えば、1回の大きいスワイプが、ユーザが選定する場合、カーソルを上から下まで運ぶことを可能にする)。
【0153】
カーソルは、カーソルの近さが焦点インジケータの強度または位置付けに影響を及ぼすように、オブジェクトに関連付けられた焦点インジケータへの磁化効果を有することができる。例えば、ある場合、各オブジェクトが、焦点インジケータ(例えば、外側光彩)を有し得、焦点インジケータの強度、サイズ、および場所が、カーソルの場所に基づいて、変動し得る。例えば、カーソルが、オブジェクトのより近くに移動するにつれて、そのオブジェクトの焦点インジケータは、より明るくなる、より強くなる、またはカーソルの方向に移動する(例えば、それに向かって誘引される)ことができる。カーソルが、オブジェクトを選択すると、システムは、カーソルをオブジェクトの背後に移動させる一方、同時に、焦点インジケータの強度を増加させる。例えば、オブジェクトが、選択されると、焦点インジケータは、後光または光環の外観をオブジェクトの周囲に与えることができる。
(焦点インジケータの変動強度)
【0154】
ある場合、システムは、例えば、環境内のカーソルの場所との複数のオブジェクトの近さに基づいて、焦点インジケータを2つ以上のオブジェクトに割り当てることができる。各オブジェクトは、1つ以上の対応する距離閾値(例えば、近距離閾値、中距離閾値等)、または少なくとも部分的に環境要因(例えば、ユーザの視野FOV内のオブジェクトの密度)に基づく動的距離閾値を有することができる。環境内のカーソルの場所が、距離閾値を超える場合、システムは、対応するオブジェクトのための焦点インジケータをレンダリングすることができる。カーソルが環境内に位置する場所に関する追加の位置フィードバックをユーザに与えるために、種々のオブジェクトに割り当てられる焦点インジケータは、異なる属性(例えば、強度、色、サイズ等)を有することができる。例えば、カーソル近くのオブジェクトのための焦点インジケータは、カーソルからより遠く離れたオブジェクトのための焦点インジケータより明るくレンダリングされることができる。カーソルにより近いオブジェクトの側の焦点インジケータは、カーソルからより遠いオブジェクトの側の焦点インジケータより強調され得る。したがって、カーソルが、上側オブジェクトと下側オブジェクトとの間に位置付けられる場合、上側オブジェクトの底部部分および下側オブジェクトの上部部分のための焦点インジケータは、より離れた上側オブジェクトの上部部分および下側オブジェクトの底部部分のための焦点インジケータより目立ってレンダリングされ得る(焦点インジケータが、これらの部分のために少しでも使用される場合)。したがって、これらの焦点インジケータは、カーソルが上側オブジェクトと下側オブジェクトとの間に位置することの強力な視覚的キューをユーザに提供する。ユーザは、FOVを視覚的に掃引することにより、FOV内のオブジェクトに関連付けられた焦点インジケータのパターンを観察することによって、カーソルが位置する場所を容易に識別することができる。
【0155】
故に、焦点インジケータの強度または光彩(またはサイズまたは形状)は、環境内のカーソルの場所と近くのオブジェクトの場所、サイズ、または形状との間の空間関係(例えば、距離)に応じて、フェーディングインまたはアウトすることができる。
【0156】
図15Aおよび15Bは、視野内のカーソル1516の場所とのオブジェクトの近さに基づいて、種々の強度を有する複数の焦点インジケータの例示的実装を図示する。図示されるように、ユーザの視野1520は、複数のオブジェクト、すなわち、カップ1502、掛時計1504、電話1506、バスケットボール1508、およびカメラ1510を含む。さらに、図15Aおよび15Bは、掛時計1504(閾値1526、1528)およびバスケットボール(閾値1522、1524)に関する2つの距離閾値を示す。システムは、異なる距離閾値が超えられると、異なる機能性を提供することができる。例えば、カーソルが、大距離閾値(1524、1528)内に来ると、関連付けられたオブジェクトのための焦点インジケータが、ユーザに表示され得る。カーソルが、より小さい距離閾値(1522、1526)内に来ると、システムは、異なる機能性を実施し得、例えば、焦点インジケータの外観をさらに強調すること、またはその中にカーソルが関連付けられたオブジェクトに向かって引き寄せられ、それによって掩蔽される誘引効果(下で説明される)をアクティブにすることを実施し得る。距離閾値1522、1524、1526、1528は、図15Aおよび15Bにおいて、例証的目的のためだけに示され、システムによってレンダリングされる必要はない。加えて、図15Aおよび15Bは、オブジェクトに関する2つのみの閾値を図示するが、任意の数の閾値が、検討される(例えば、1、2、3、4、またはそれを上回る)。
【0157】
本明細書に説明されるように、ウェアラブルシステム400は、視野1520内のカーソル1516の場所を追跡、監視、または別様に決定することができる。ここにおいて、システムは、環境内のカーソルの場所が、掛時計1504とバスケットボール1508との間にある(かつバスケットボール1508より掛時計1504に近い)ことを決定している。さらに、システムは、環境内のカーソルの場所が、掛時計1504に対応するより小さい距離閾値1526を超えており、環境内のカーソルの場所が、バスケットボール1508に対応するより大きい距離閾値1524を超えている(但し、バスケットボールのより小さい閾値1522を超えていない)ことを決定している。故に、環境内のカーソルの場所が、掛時計1504およびバスケットボール1508の両方の閾値を超えるので、システムは、焦点インジケータを掛時計1504およびバスケットボール1508の各々にレンダリングする。しかしながら、環境内のカーソルの場所がバスケットボール1508より掛時計1504に近いことの理解をユーザに提供するために、システムは、掛時計1504に割り当てられる焦点インジケータ1512をシステムがバスケットボール1508に割り当てられる焦点インジケータ1514をレンダリングする場合と異なるようにレンダリングすることができる。例えば、システムは、より大きいまたはより明るい焦点インジケータ1512を掛時計1504(またはカーソル1516に最も近い掛時計の部分)に割り当てることができ、より小さい、またはあまり強くない焦点インジケータ1514をバスケットボール1508に割り当てることができる。
【0158】
カーソル1516は、カップ1502、電話1506、およびカメラ1510からそれらのそれぞれの距離閾値より遠く、したがって、システムは、この例において、焦点インジケータをこれらのオブジェクトの周囲にレンダリングしない(または、他の例において、掛時計およびバスケットボールのものよりあまり顕著ではない、焦点インジケータをレンダリングし得る)。
【0159】
ある場合、1つ以上の距離閾値が、事前に決定される一方、他の場合において、1つ以上の距離閾値は、動的であり、環境要因に応じて、システムによって調節される。例えば、システムは、少なくとも部分的にユーザの視野1520内のオブジェクトが互いに比較的に遠く離れていることの決定に基づいて、比較的に大きい距離閾値を決定することができる。対照的に、システムは、少なくとも部分的にユーザの視野1520内のオブジェクトが互いに比較的に近いか、または、視野1520内に比較的に大量のオブジェクトが存在することの決定に基づいて、比較的に小さい距離閾値を決定することができる。これは、有利に、多くのオブジェクトがグループ化され、または近接して一緒に位置付けられているにもかかわらず、ユーザがオブジェクトを自信を持って選択することを可能にし得る。
【0160】
焦点インジケータの強度(または明度)は、オブジェクトの周囲、またはそれに隣接する特定の領域内の光彩の存在も含むことができる。例えば、カーソルが、オブジェクトのより近くに移動するにつれて、そのオブジェクトの焦点インジケータは、オブジェクトの周囲のより大きい領域を充填し始める(またはその中に存在した状態になる)ことができる。例えば、図15Aに関して、カーソル1516が、距離閾値1526内にある場合、焦点インジケータ1512は、オブジェクト1504を包囲することができ、焦点インジケータ1512は、他のオブジェクト1504に対応する焦点インジケータより大きく、より明るく、またはより強くあることができる。
【0161】
さらに、図16A-16D、18A-18C、および29A-29Fをさらに参照して説明されるように、焦点インジケータは、カーソルにより近いまたは最も近いオブジェクトの側において、より視覚的に知覚可能であることができ、オブジェクトの反対側において、あまり知覚可能ではなく、それは、カーソルがオブジェクトのその特定の側により近い(かつオブジェクトの反対側からより遠い)ことの明確な知覚をユーザに提供する。例えば、図15Bに図示されるように、カーソル1516が、オブジェクト1504に接近するにつれて、焦点インジケータ1512は、オブジェクト1504の背後から外に移動し始め、カーソル1516に出合うことができる(また、図29A-29F参照)。これは、焦点インジケータ1512が、カーソル1516に向かって誘引される、またはカーソルによってオブジェクトから外に引き寄せられる外観を与える。オブジェクト1508は、オブジェクト1504よりカーソル1516から遠く(例えば、閾値1522、1524に対して)、図15Bにおいて、バスケットボールの周囲の焦点インジケータ1514は、掛時計の周囲の焦点インジケータ1512ほどカーソル1516に向かって外方に移動していない。故に、焦点インジケータの相対的明度、位置、空間範囲(例えば、オブジェクトの周りの円周方向範囲)、色、グラフィカル装飾物等の一部または全部は、カーソルの近くのオブジェクト(およびその近さまたは遠さ)、ユーザによって選択されたオブジェクト等、カーソルが位置する場所に関する強力な視覚的指示をユーザに提供することができる。
(掩蔽カーソルおよび焦点インジケータの実装)
【0162】
焦点インジケータは、本明細書に説明されるウェアラブルシステムに関連付けられたAR、MR、またはVR環境内のユーザ選択をハイライトまたは強調する方法を表す。相互作用可能コンテンツの上に移動させ、少なくとも部分的にそれを塞ぐようにカーソルを示す従来のアプローチではなく、システムは、実または仮想オブジェクトの背後に移動し、それによって掩蔽されるように、カーソルをレンダリングすることができる。焦点インジケータの使用は、例えば、環境内のオブジェクトの背後から外に照射する光彩または後光の相対的外観を介して、位置フィードバックをユーザに提供する。さらに、焦点インジケータをオブジェクトに割り当てた後にさえ、ユーザ入力(例えば、頭部姿勢、眼姿勢、身体姿勢、ユーザ入力デバイスからの入力等)を追跡または決定し続けることによって、システムは、環境オブジェクトの焦点インジケータを修正し、それによって、持続的入力フィードバック、没入型のユーザ体験、およびカーソル位置の正確な感覚をユーザに提供することができる。
【0163】
図16A-16Dは、焦点インジケータをレンダリングするプロセスの例を図示する。焦点インジケータおよび掩蔽カーソルの実装は、種々の方法において実施され得る。例えば、焦点インジケータの実装は、グラフィックプロセッサ(GPU)または少なくとも中程度のCPUパワーを有するコンピューティングデバイスの利用を含み得る。ある場合、GPUは、(i)フラグメントシェーダプログラムを起動すること、(ii)画面外レンダリングバッファをレンダリングすること、または、(iii)フル画面処理作業の数回の工程を実施することを行うように構成される。
【0164】
ユーザのFOV内のオブジェクトの近さを決定するために、システムは、環境内のカーソルの場所に対するオブジェクトの各々の場所を決定することができる。例えば、環境内のオブジェクトの多くは、3D世界選択平面上に置かれた2D形状によって表されることができる。システムは、光線をその3D世界選択平面に対してキャスティングし、任意の所与のオブジェクトに対する環境内のカーソルの場所の近さを決定することができる。システムはまた、オブジェクトの形状または向き等のオブジェクトの1つ以上の特徴を決定することもできる。ある場合、少なくとも部分的にオブジェクト形状、シルエット、向き、または環境内のカーソルの場所との近さに基づいて、システムは、環境内のカーソルの場所とオブジェクトの一部との間の空間関係を決定することができる。例えば、システムは、環境内のカーソルの場所が、オブジェクトと重複すること、または、オブジェクトの一部(例えば、オブジェクトの最も近い部分、オブジェクトの中心等)までの閾値距離を超えるときを決定することができる。ある場合、例えば、環境が複数のオブジェクトを含むとき、システムは、環境内のカーソルの場所に最も近いオブジェクトを決定することができる。ある場合、焦点インジケータの表示される特性は、少なくとも部分的に環境内のカーソルの場所に対するオブジェクトの近さに基づくことができる。
【0165】
図16A-16Dは、プロセスの例を図式的に図示し、それによって、ウェアラブルシステムは、掩蔽カーソルおよび焦点インジケータをレンダリングし得る。このプロセスは、図2を参照して説明されるウェアラブルディスプレイシステム200のローカル処理およびデータモジュール260によって実施されることができる。図16A-16Dを参照して説明される例示的レンダリングプロセスは、立体視的にレンダリングされたAR/MR/VR環境内の各眼を表すために、2回実施されることができる。
【0166】
図16Aは、焦点インジケータをレンダリングするための第1の画面外レンダリング工程を図示する。少なくとも部分的に環境内の決定されたカーソル場所に基づいて、システムは、カーソル光彩1610を画面外バッファ1600Aに(時として、「カーソルソースバッファ」とも称される)レンダリングする。カーソル光彩1610は、従来のカーソルであるかのように環境内に位置することができる。例えば、カーソル光彩1610の中心1630は、環境内のカーソルの場所に対応し得る。カーソル光彩1610は、最終的に、その中に焦点インジケータが見えるであろう最大の表示空間エリアを定義するマスクとしての機能を果たすであろう。カーソル光彩1610のサイズまたは形状は、所望の焦点インジケータサイズ、他のオブジェクトに対するオブジェクトの近さ、オブジェクトのサイズまたは形状、オブジェクトの数または密度等の種々の基準に基づくことができる。
【0167】
図16Bは、焦点インジケータをレンダリングするための第2の画面外レンダリング工程を図示する。第2の画面外レンダリング工程は、別の画面外バッファ1600B(時として、「形状マスクバッファ」とも称される)にレンダリングされることができ、オブジェクト1204のうちの1つ以上のもののマスク表現を含むことができる。マスク表現は、少なくとも部分的に3D空間内のオブジェクトの場所、向き、またはサイズに基づくことができる。例えば、図16Bに図示されるように、システムは、図16Aからのカーソル光彩1610の外側境界またはシルエット1620内にあるオブジェクトのためのマスクのみを作成し得る。ある場合、システムは、焦点インジケータを割り当てられるであろうオブジェクトのためのマスクのみを作成し得る。したがって、この例において、システムは、マスク1602、1604、および1606をレンダリングするが、カーソル光彩の外側境界1620を越えたオブジェクト1608のためのマスクをレンダリングしない。
【0168】
システムは、種々の方法において、オブジェクト1204の形状表現(例えば、マスク)を決定することができる。例えば、システムは、それらの形状の3Dカメラ変換を反映して、マスクをレンダリングすることができる。ある場合、オブジェクト1204は、オブジェクトの実際の形状に対応する2D球体、長方形、またはカプセル形形状によって表されることができる。同様に、オブジェクト(実世界オブジェクト等)は、オブジェクトのシルエットによって表されることができる。ある場合、各形状マスクを描くために、システムは、所与の形状を数式からアルゴリズム的にレンダリングするシェーダプログラムを利用する。ある場合、3Dオブジェクトに関して等、システムは、オブジェクトの平坦なカラー投影をレンダリングすることができる。ある場合、システムは、オブジェクトの形状のカメラ空間近似を使用する。
【0169】
図16Cは、焦点インジケータをレンダリングするための第3の画面外レンダリング工程を図示する。第3の画面外レンダリング工程は、別の画面外バッファ1600C(時として、「光彩マスクバッファ」とも称される)にレンダリングされることができ、形状マスクバッファ1600Bからのオブジェクトのマスク(例えば、マスク1602、1604、1606)を含むことができるが、オブジェクトのうちの1つ以上のもののための光彩マスク(例えば、下で説明される光彩マスク1622、1624、1626)も含むことができる。例えば、図16Bのマスクと同様、システムは、図16Aからのカーソル光彩1630の外側境界またはシルエット1620内にあるオブジェクトのための光彩マスクをレンダリングし得る。
【0170】
システムは、少なくとも部分的にマスク1602、1604、1606の周囲を照射する光彩マスク(例えば、縁光彩、後光、陰影、または他の視覚的インジケータ)をレンダリングし得る。例えば、図16Bのマスクと同様に、システムは、調整可能縁厚量によって、オブジェクト形状の縁の境界をぼかすように、オブジェクトの形状を描き得るシェーダプログラム(またはオブジェクトマスクのマルチタップぼかし)を利用することができる。シェーダプログラムは、カーソルの場所1630を使用することができ、カーソルの場所との近さを反映するように、光彩マスクの縁厚、光彩明度、色、または強度を変動させることができる。例えば、より強いまたはより明るい光彩マスクは、より近いオブジェクトに関連付けられ得る一方、あまり強くない、またはより暗い光彩マスクは、より遠く離れたオブジェクトに関連付けられ得る。例えば、図16Cに示される例において、光彩マスク1622は、光彩マスク1622に関連付けられたオブジェクト1632が、オブジェクト1636、1624よりカーソルの場所1630に近いので、光彩マスク1624または1626より明るい。この例において、光彩マスクは、カーソル光彩1610の中心1630からのその距離がカーソル光彩のサイズを超えているので、オブジェクト1608のために生成されない。光彩マスクの強度を変動させることは、有利に、システムが、カーソルの位置を示すために、画面上視覚補助(例えば、カーソル)をレンダリングしないときでも、精密な位置フィードバックを提供することができる。
【0171】
光彩マスクの縁厚、光彩明度、色、強度、または他の性質を修正するために、シェーダプログラムは、各レンダリングされたピクセルからカーソルまでのxおよびy表示空間距離を考慮することができ、適宜、境界ぼかしパラメータ(光彩マスクの縁厚または光彩強度等)を拡張または収縮させることができる。
【0172】
図16Dは、焦点インジケータをレンダリングするための第4のレンダリング工程を図示する。第4のレンダリング工程は、画面上にレンダリングされることができ、場面全体のためのレンダリング作業の後の(または最終)段階1600Dを表すことができる。このレンダリング工程に関して、システムは、カーソルソースバッファ1600A、形状マスクバッファ1600B、および光彩マスク1600Cバッファ、および(随意に)レンダリングアプリケーションによってレンダリングされた3D場面コンテンツを備えている、1つ以上の画面上または画面外バッファ(時として、「場面バッファ」とも称される)へのアクセスを有する。
【0173】
システムは、種々の技法を使用して、カーソルソースバッファ1600A、形状マスクバッファ1600B、および光彩マスク1600Cバッファ、および場面バッファを組み合わせることができる。例えば、シェーダプログラムは、種々のバッファを一緒に組み合わせ、場面1600Dを生成することができる。例えば、シェーダプログラムは、各非ゼロ形状マスク1600Bピクセルを場面バッファ色から減算することができる。加えて、シェーダプログラムは、場面バッファ色に、光彩マスク1600Cバッファから形状マスクバッファ1600Bを差し引き、カーソルソースバッファによって乗算されたものの組み合わせを加算することができる。
【0174】
図16Dの場面1600Dに図示されるように、オブジェクト1632、1634、および1636は、それぞれ、焦点インジケータ1202a、1202b、1202cを割り当てられている。焦点インジケータ1202a-1202cは、少なくとも部分的にそれぞれのオブジェクト1632、1634、1636の各々の周囲を照射する。この例において、焦点インジケータ1202が照射する部分は、カーソル光彩の外側境界またはシルエット1620内にあるオブジェクトの部分に対応する。境界1620の外側のオブジェクトの部分は、この例において、焦点インジケータでレンダリングされない。しかしながら、ある場合、オブジェクトの少なくとも一部が、カーソル光彩のシルエット1620内にある場合、オブジェクト全体が、オブジェクトの一部のみならず、焦点インジケータを割り当てられる。示されるように、オブジェクト1638のどの部分も、カーソル光彩1610のシルエット1620内にないので(カーソルの図示される場所1630に関して)、オブジェクト1638は、焦点インジケータを割り当てられない。
【0175】
故に、図16Dにおけるレンダリングされた場面を視認するユーザは、より強い焦点インジケータ1202a(インジケータ1202bおよび1202cと比較して)に起因して、かつ、焦点インジケータ1202b、1202cが、その関連付けられたオブジェクト1636、1634の周囲に部分的にのみ延びている一方、焦点インジケータ1202aが、オブジェクト1632の周囲のほぼ全体的に延びているという事実に起因して、カーソルがオブジェクト1632の背後にあることの強力な視覚的キューを提供されるであろう。
【0176】
十分なオブジェクトが存在する、または、それらが、比較的に密に充塞されている領域において、掩蔽カーソルおよび焦点インジケータは、カーソルの場所を示すことにおいて効果的であり得る。しかしながら、殆どまたは全くオブジェクトが存在しない領域において、システムは、グラフィカル要素(例えば、小光彩スプライト)をレンダリングし、カーソル位置をユーザに示すことができる。
【0177】
システムは、各選択可能オブジェクトのための調整可能パラメータを提供し得、調整可能パラメータは、選択されたとき、またはそれと相互作用されたとき、オブジェクトの縁が光り輝き得る強度を制御すること、または、それにカーソルが接近するにつれてオブジェクトが光り輝き得る範囲を増加または減少させることを可能にする。ある場合、形状マスクまたは光彩マスクをレンダリングするとき、システムは、数学的形状表現を使用して、アンチエイリアシングをソースレンダリングプロセスの中に組み込むことができる。
(実世界オブジェクト)
【0178】
図16A-16Dに図示される焦点インジケータ1202の実装は、仮想コンテンツに関連付けられた焦点インジケータを示すが、類似技法は、拡張または複合現実環境内の実世界オブジェクトに焦点インジケータハイライトを割り当てることにおいても適用可能である。例えば、システムは、オブジェクトの形状のカメラ空間近似を焦点インジケータを生成するために使用されるマルチタップぼかしと共に使用することができる。
(平面レイアウトにおける掩蔽カーソル)
【0179】
多くの選択可能オブジェクト、例えば、編成されたグリッドまたはリストを伴う環境に関して、システムは、むしろ焦点インジケータのように挙動するカーソルを表示し得る。図17は、グリッド1700およびトーテム1702(タッチセンサ式表面1704を伴う)上のユーザ入力の例を示す。タッチセンサ式表面1704上の軌道1706上のユーザのタッチは、カーソルを選択可能オブジェクトのグリッドレイアウト1700を横断して、実質的に同じ軌道1710に沿って移動させる。オブジェクトは、本明細書に説明される誘引効果を有し得、したがって、カーソルは、それが最も近いオブジェクトに誘引されるので、オブジェクト間で表示される必要がない。例えば、グリッド1700内のオブジェクトのうちの1つは、常時、焦点を有し得る(例えば、焦点インジケータによって強調される)。視覚的焦点インジケータおよび(随意に)トーテム1702上の触覚的イベントは、オブジェクト上をホバリングすること(またはその選択)を伴い得る。
【0180】
多くの選択可能なテキストを伴うブラウザまたはドキュメント等の粒度の細かい選択を伴う領域を含むより複雑なレイアウトの柔軟なナビゲーションのために、カーソルは、レイアウトがカーソルを塞ぐであろう掩蔽オブジェクトでいっぱいではないので、常時、可視化され得る。視覚的焦点インジケータおよび随意の触覚的イベントは、依然として、選択可能オブジェクト上をホバリングすることを伴うことができる。
(掩蔽カーソルおよび焦点インジケータの追加の例)
【0181】
図18A-18Cは、カーソル1202を焦点インジケータ1302を有するオブジェクト1204に向かって移動させる例を図示する。オブジェクト1204は、アプリケーションの実行を開始するために選択され得るアイコン等の選択可能オブジェクトであり得る。この例において、例証的目的のために、アイコンは、星をちりばめた背景内の地球および月として図示され、実行可能アプリケーションは、Space Explorerとして標識される。アイコン1202、焦点インジケータ1302、およびオブジェクト1204の周囲の破線は、これらのグラフィカル要素の各々が、異なるバッファにおいてディスプレイシステムによってレンダリングされ得、これらが、図16A-16Dを参照して説明されるように組み合わせられ得ることを示す。
【0182】
図18Aは、カーソルがオブジェクト1204から遠隔にあるときの例を図示する。この場合、カーソル1202は、比較的に明るく、ユーザに対する可視性を補助し、焦点インジケータ1302は、比較的に小さく、あまり強くない。システムは、焦点インジケータ1302をオブジェクト1202と概ね同じサイズでレンダリングし得(図18Aにおける破線によって示されるように)、オブジェクト1202を焦点インジケータ1302の上部にレンダリングするか、または、オブジェクト1202を焦点インジケータ1302の後にレンダリングし得る。したがって、カーソル1202が、オブジェクト1204から遠隔にあるとき、焦点インジケータ1302は、オブジェクト1204の背後に「隠された」ままであると言え、ユーザに視覚的に知覚不能またはほぼ知覚不能であり得る。
【0183】
図18Bは、カーソルがオブジェクトに接近するにつれた、カーソル、オブジェクト、および焦点インジケータ間の相互作用の例を図示する。図示されるように、図13Bにおける焦点インジケータ1302は、図18Aの焦点インジケータより大きいか、より明るいか、または、より強い。さらに、カーソル1202が、オブジェクト1204に接近するにつれて、焦点インジケータ1302は、オブジェクトの背後から外に移動し始め、カーソル1202に出合う。これは、焦点インジケータがカーソル1202に向かって誘引される外観を与える。加えて、図18Aおよび18Bは、カーソルとのオブジェクトの近さおよびカーソルに対する位置に応じて、焦点インジケータの強度がフェーディングインまたはアウトし得る様子を図示する。例えば、図18Bにおいて、焦点インジケータ1302は、カーソル1202に最も近いオブジェクト1204の側でより視覚的に知覚可能であり、オブジェクトの反対側ではあまり知覚可能ではなく、それは、カーソル1202がオブジェクト1204のその特定の側に近接していることの明確な知覚をユーザに提供する。
【0184】
図18Cは、カーソルがオブジェクトの背後に移動する(またはホバリングする)につれた、カーソル、オブジェクト、および焦点インジケータ間の相互作用の例を図示する。カーソル1202が、オブジェクト1204の背後に移動すると、オブジェクト1204がユーザのより近くまたはより大きく見えるように、オブジェクト1204は、(この例では)より大きくなり、オブジェクトの前景は、拡張する。加えて、焦点インジケータ1302は、より明るくなり、オブジェクトを実質的に包囲し、オブジェクト1204が選択されていることを示し得る。この例において、アイコン(図18Aおよび18Bにおいて、2Dで表されている)は、地球(および月)が星をちりばめた背景の前に(例えば、星をちりばめた背景の深度よりユーザに近い深度に)表示されるように、外へ拡張させられている。
(例示的焦点インジケータ)
【0185】
図19-22は、システムによってレンダリングされ得る焦点インジケータの種々の例を図示する。焦点インジケータ1302は、円形(例えば、図18、19、および21に示されるように)、長方形(例えば、図20に示されるように)、または他の形状であることができる。ある場合、焦点インジケータは、オブジェクト1302に隣接して(例えば、その上方、下方、または側方に)配置されたラベルを含むことができる。例えば、図19は、ラベル「検索」をオブジェクト1302の側方に示し、図20は、ラベル「ページを集める」をオブジェクト1302の上方に示す。ラベルは、オブジェクトが選択されると強調され(例えば、より明るくされ)、オブジェクトに関する視覚的キューをユーザに提供することができる。これらの例は、テキストラベルを示すが、ラベルは、任意のグラフィカル要素であることができる。図22は、ユーザが、ブラウザ、ソーシャルネットワーク等のアプリケーション間で選択することを可能にするアプリケーション選択アイコンがユーザによって選択されている例を示す。図22において、ユーザが、ブラウザアプリケーションを選択しており、システムは、焦点インジケータ1302をブラウザアイコンの周囲の後光としてレンダリングする。
(掩蔽カーソルの実装の例示的プロセス)
【0186】
図23は、3D場面内に焦点インジケータをレンダリングするための例示的方法のためのフローチャートを図示する。プロセス2300は、単独で、または組み合わせて、例えば、遠隔処理モジュール270、ローカル処理およびデータモジュール260、グラフィックプロセッサ(GPU)、または別のプロセッサ等のウェアラブルシステム200の1つ以上のコンポーネントによって実施され得る。ウェアラブルシステム200のディスプレイ220は、場面をユーザに提示することができ、システムは、内向きに面した結像システム462からの眼姿勢データ、または、IMU、加速度計、またはジャイロスコープからの頭部姿勢データ、または、ハンドヘルドトーテム1702等のユーザ入力デバイス466からのカーソルを移動させる、またはオブジェクトを選択するためのユーザ入力データ等、ユーザ入力データを取得することができる。
【0187】
ブロック2302において、ウェアラブルシステムは、ユーザの環境内のカーソルの場所を決定することができる。システムは、内向きに面した結像システム462からの眼姿勢データ、IMU、加速度計、またはジャイロスコープからの頭部姿勢データ、または図4のユーザ入力デバイス466または図17のトーテム1702等のユーザ入力デバイスからのデータ等のユーザ入力データを取得することができる。少なくとも部分的にユーザ入力データに基づいて、システムは、環境内のカーソルの場所を決定することができる。ある場合、環境内のカーソルの場所を決定することに加え、システムは、カーソル1202または環境内のカーソルの場所に対応する他の画面上視覚補助もレンダリングすることができる。
【0188】
ブロック2304において、システムは、環境内のカーソルの場所とユーザの視野(または動眼視野)内の1つ以上のオブジェクトとの間の空間関係を決定することができる。ある場合、システムは、1つ以上のオブジェクトの場所、形状、向き、またはサイズ等のオブジェクトの1つ以上の特徴を決定することができる。少なくとも部分的に1つ以上のオブジェクト特徴およびブロック2302において決定された環境内のカーソルの場所に基づいて、システムは、環境内のカーソルの場所とオブジェクトの任意の部分との間の空間関係を決定することができる。空間関係は、相対的場所情報、例えば、環境内のカーソルの場所からのオブジェクトの一部の距離、またはカーソルとオブジェクトの一部との間の相対的な向き(例えば、カーソルが、オブジェクトの上方、下方、左、右にあるかどうか)を含むことができる。システムは、環境内のカーソルの場所が、オブジェクトと重複するかどうか、またはオブジェクトの背後にあるかどうかを決定することができるか、または、環境内のカーソルの場所とオブジェクトの一部(例えば、オブジェクトの最も近い部分、オブジェクトの中心等)との間の距離を決定することができる。ある場合、システムは、環境内のカーソルの場所の最も近くにあるオブジェクトを決定することができる。
【0189】
いくつかの実装において、環境内の仮想オブジェクトは、3D世界選択平面上に置かれた2D形状によって表されることができる。システムは、光線をその3D世界選択平面に対してキャスティングし、任意の所与のオブジェクトに対する環境内のカーソルの場所の近さを決定することができる。空間関係は、カーソルとオブジェクト(またはオブジェクトの一部)との間の距離、およびカーソルとオブジェクトとの相対的な向きを含むことができる。
【0190】
ブロック2306において、システムは、少なくとも部分的に決定された空間関係に基づいて、焦点インジケータを1つ以上のオブジェクトの少なくとも一部に割り当てることができる。例えば、システムは、図16A-16Dを参照して説明される技法を使用して、焦点インジケータをレンダリングすることができる。図12Bおよび図18A-18Cを参照して説明されるように、決定された空間関係が、カーソルが、重複すること、または、オブジェクトの背後にあることを提供する場合、システムは、カーソルがオブジェクトを塞がないように、オブジェクトをカーソルの前にレンダリングすることもできる。
【0191】
プロセス2300は、例証的であり、限定することを意図するものではない。本明細書に説明される種々のブロックは、種々の順序で実装されることができ、ウェアラブルシステムは、並行して、ブロックのうちの1つ以上のものを実装すること、または、所望に応じて、順序を変更することができる。より少ない、より多い、または異なるブロックが、プロセス2300の一部として使用されることができる。例えば、プロセス2300は、カーソルを表示するためのブロック、または他のユーザインターフェースアクションを実施するためのブロックを含むことができる。
(アイコンまたはグラフィカルユーザインターフェースを伴うディスプレイの一部の例)
【0192】
図24-28は、アイコンを伴うディスプレイ画面の一部の例の正面図である。これらの例において、アイコンは、主に円形内にある頭部の様式化された表現を構成する。図24-28は、少なくとも部分的にアイコンを包囲する焦点インジケータの例を示す。焦点インジケータは、アイコンから外向きに照射するように見える短線として表される。アイコンに関するこれらの例において、焦点インジケータは、概して、下方(図24)にある実質的に包囲する(図25において、アイコンの下方により大きい範囲を伴う)、右側にある(図26)、左側にある(図27)、および上下にある(図28)。
【0193】
図29A-29Fは、ディスプレイ画面またはその一部のためのグラフィカルユーザインターフェースの実施形態の正面図である。グラフィカルユーザインターフェースの外観は、順次、図29A-29Fに示される画像間を遷移する。装飾的側面は、その中で1つの画像が別の画像に遷移するプロセスまたは周期に関連付けられていない。これらの例示的図において、仮想オブジェクト(例えば、アイコン)は、破線円形によって表され、他の実施形態において、長方形、多角形、または他の形状であり得る。図29Aにおいて、焦点インジケータは、アイコンを包囲する円形環として、グレースケールで示される。カーソルは、破線で示される。図29B-29Fにおいて継続する、遷移画像シーケンスにおいて、カーソルがアイコンから離れるように移動するにつれて、焦点インジケータは、外向きに、アイコンから離れるようにかつ図29Eにおいてアイコからン分離するまで、カーソルに向かって引き寄せられ、次いで、図29Fにおける円形形状に遷移する。図29Fにおいて、焦点インジケータは、グレースケール円形として表され、カーソルは、ディスプレイによってレンダリングされない。
【0194】
図24-29Fに示される設計は、頭部搭載型ディスプレイ等の拡張現実または複合現実ディスプレイによって具現化されることができる。例えば、ディスプレイは、図2を参照して説明されるウェアラブルシステム200のディスプレイ220、または図4を参照して説明されるウェアラブルシステム400のディスプレイ、または図6を参照して説明される光学ディスプレイシステム600のディスプレイを構成することができる。ディスプレイまたはその一部は、図24-29Fにおいて、外側長方形破線によって表される。ディスプレイまたはアイコン(または動画化されたグラフィカルユーザインターフェースの他のグラフィカル要素)のいずれも、図24-29Fに示されるスケールに限定されない。ディスプレイを示す鎖線は、設計の一部を形成しない。
【0195】
故に、種々の側面において、本開示は、図示および説明されるように、アイコンまたは遷移(または動画化された)グラフィカルユーザインターフェースを伴うディスプレイ画面またはその一部のための装飾的設計を提供する。
(アイコンまたはグラフィカルユーザインターフェースを伴うディスプレイの一部の例)
【0196】
図30A-30Fは、ディスプレイ画面またはその一部上のGUIのための遷移の一続きの実施形態を図示する。GUIは、例えば、図2、4、および6を参照して説明されるウェアラブルディスプレイシステム200、400、600等、本明細書に説明されるウェアラブルディスプレイのいずれかによってレンダリングされることができる。図30A-30Fは、破線によって示される例証的経路3001に沿って、点Aから点Fに連続的に遷移するカーソル1202を有するGUIを示す。図示されるように、GUIは、グリッドレイアウトで提示される複数のアイコン3002を含む。GUIは、本明細書に説明されるように、カーソル1202または焦点インジケータ1302を使用して、カーソルがアイコンの背後に移動する(またはホバリングする)ときのカーソル、アイコン、または焦点インジケータ間の相互作用を示す。グリッドレイアウト、アイコン形状(例えば、これらの図内の長方形)、およびカーソル経路は、例証的であり、限定することを意図するものではない。グリッドレイアウトにおけるアイコンは、単一の深度(例えば、2Dとして現れるため)または複数の深度(例えば、3Dとして現れるため)にレンダリングされることができる。アイコン3002は、サムネイルであることができる。グリッドレイアウトは、平面である必要はなく、湾曲面としてレンダリングされることもできる(例えば、レイアウトの一部が他の部分より近い深度にある)。
【0197】
図30Aは、カーソル1202が点Aに位置付けられたときのアイコン3002とカーソル1202との間の相互作用の例を図示する。アイコン3002は、ウェアラブルシステムのユーザの仮想環境内の任意のタイプの相互作用可能オブジェクトに対応し得る。相互作用可能オブジェクトは、限定ではないが、アプリケーション(例えば、アプリ)、コンテンツフォルダ、限定ではないが、静止画像、ビデオ、オーディオ、音楽、アルバム、ドキュメント等のデジタルメディアを含む。図示されるように、点Aにおいて、カーソル1202は、グリッドレイアウトにおけるアイコン3010、3012(B3およびD3)間にある。言い換えると、点Aにおいて、カーソル1202は、アイコン3002のいずれも選択していない。
【0198】
図30Bは、カーソル1202が点Bにおいてアイコン3010の背後に移動する(またはホバリングしている)ときのアイコン3010(B3)と焦点インジケータ1302との間の相互作用の例を図示する。この例に示されるように、カーソル1202が、アイコン3010の背後に移動すると、GUIは、アイコン3010を包囲する焦点インジケータ1302を割り当て、アイコン3010が、その下でカーソルによってホバリングされていることを示す。焦点インジケータ1302は、この例において、アイコンを実質的に包囲する湾曲形状として、グレースケールで示される。カーソル1202は、図30Bにおいて、アイコン3010によって掩蔽されている。カーソル1202は、破線で示されているが、破線は、レンダリングされたならばカーソル1202が存在するであろう位置を単に示す。
【0199】
ある場合、選択されたアイコン3010の視覚的外観は、変化し、アイコンがユーザによって選択されたことを示すことができる。例えば、ユーザは、ある期間にわたって(例えば、数秒以上)、カーソル1202をアイコン3010下にホバリングさせること、トーテムからのユーザ入力(例えば、クリックまたはダブルクリック等、タッチセンサ式表面を作動させる)、眼、頭部、または身体のジェスチャ等によって、アイコン3010を選択し得る。例えば、ウェアラブルシステムは、少なくとも部分的に眼視線に基づいて、アイコンのユーザ選択を検出し得、例えば、眼追跡カメラが、閾値時間より長い時間(例えば、1秒以上)にわたってユーザがアイコン3010を固視していることを検出する。
【0200】
レイアウトにおける他のアイコン(例えば、カーソルを掩蔽しないアイコン)の視覚的外観が、変化し、アイコン3010がその下でホバリングされていること、またはそれが選択されたことを示すことができる。アイコン3010または他のアイコンは、カーソル1202がアイコン3010の背後に移動すると、サイズまたは形状を変化させることができる。例えば、アイコン3010がユーザのより近くにまたはより大きく(例えば、背景の深度よりユーザに近い深度に)見えるように、アイコン3010が、より大きくなることができるか、または、アイコンの前景が、拡張することができる。同様に、アイコンがユーザのより遠くにまたはより小さく見えるように、選択されていないアイコンが、より小さくなることができるか、または、選択されていないアイコンの前景が、縮小することができる。アイコンのサイズ、形状、または視覚的外観の追加のまたは代替変化も、使用されることができる。例えば、アイコン3010の下にホバリングされているとき、または、それが選択されたとき、選択されたアイコン3010が、より小さくなることができるか、または、他のアイコン3002が、より大きくなることができる。
【0201】
選択されたアイコン3010または他のアイコンは、カーソル1202がアイコン3010の背後に移動すると、明確性(透明度を含む)、分解能等を変化させることができる。例えば、アイコンが、選択されていないとき(例えば、図30Aに図示されるように)、アイコン3002の各々は、第1の明確性または第1の分解能で提示され得る。カーソル1202が、アイコン3010の背後に移動すると、下でホバリングされている、または選択されたアイコンの明確性または分解能は、例えば、第2の明確性または第2の分解能に変化することができる。ある場合、第2の明確性は、第1の明確性より明確であり、ある場合、第2の分解能は、第1の分解能より高い分解能である。故に、アイコン3010が選択されると、アイコン3010は、事前に選択されていたアイコンより焦点が合い、より高い分解能、またはより高い品質となることができる。
【0202】
加えて、または代替として、カーソル1202が、アイコン3010の背後に移動すると、他のアイコン(例えば、選択されていないアイコン)の明確性または分解能は、例えば、第3の明確性または第3の分解能に変化することができる。ある場合、第3の明確性は、第1の明確性より明確でないことができるか、または、第3の分解能は、第1の分解能より低い分解能であることができる。故に、アイコン3010が、選択されると、他のアイコンは、ぼかされて、焦点がずれて、低分解能、または低品質で見えることができる。
【0203】
しかしながら、ある場合、選択されたアイコンの明確性または分解能は、選択されると、減少することができる。同様に、選択されていないアイコンの明確性または分解能は、アイコンが選択されると、増加することができる。明確性、分解能等の追加のまたは代替変化も、実装されることができる。
【0204】
ある場合、カーソル1202が、アイコン3010の背後に移動すると、追加の詳細が、選択されたアイコン3010のために示されることができる。例えば、追加詳細は、キャプション3014を含むことができ、それは、アプリまたはメディアに関するタイトルを含むことができる。同様に、追加の詳細は、サイズ(例えば、バイト単位)、作成された日付、修正された日付、場所、ファイルタイプ、分解能、ビデオ詳細(例えば、ビデオの長さ、製作者、俳優等)、または選択されたアイコン3010に対応する他の特性を含むことができる。
【0205】
ある場合、カーソル1202が、アイコン3010の背後に移動すると、選択されたアイコン3010の1つ以上の特徴が、アクティブになることができる。例えば、アイコン3010が、ビデオに対応する場合、アイコン3010の選択は、ビデオに再生することを始めさせることができる。同様に、アイコン3010の選択は、画像を繰り返し表示すること、アルバムを再生すること、GIFを再生すること等をGUIに行わせることができる。
【0206】
図30Cは、カーソル1202がアイコン3010の背後においてアイコン3010の中心の近くの点Cに遷移すると、アイコン3010と焦点インジケータ1302との間の相互作用の例を図示する。図示される実施形態において、カーソル1202が、アイコン3010の中心に向かって移動すると、アイコン3010は、アイコン3010がユーザのさらにより近くにまたはより大きく(例えば、より近い深度に)見えるように、より大きくなり続ける(例えば、図30Bと比較して)。例えば、アイコン3010は、アイコン3010の少なくとも一部が1つ以上の他のアイコンと重複するようにサイズにおいて拡大することができる。これら等の例において、重複されたアイコンは、より透明またはぼけた状態になることができるか、またはそれらは、選択されたアイコン3010によって部分的に覆われることができる。
【0207】
加えて、または代替として、カーソル1202が、アイコン3010の背後のより中心場所に遷移すると、焦点インジケータ1302の強度は、変化することができる。例えば、焦点インジケータ1302は、より明るく、またはより大きくなることができる。さらに、選択されたアイコン3010または他のアイコンの明確性、分解能等は、増加または減少し続けることができる。カーソルを追跡し続け(焦点インジケータを割り当てた後でさえ)、焦点インジケータの強度またはアイコンの特性を修正することによって、システムは、持続的入力フィードバックおよびカーソル位置の正確な感覚をユーザに提供することができる。
【0208】
図30Dは、カーソル1202が、経路に沿って、点C(アイコン3010下)から点D(アイコン3010と3012との間)に移動するときのアイコン3010および3012とカーソル1202との間の相互作用の例を図示する。図示されるように、アイコン3010が、もはや選択されなくなる(または下にホバリングされなくなる)と、アイコンは、図30Aに図示されるように、その元々のサイズ、形状、分解能、焦点、明確性等に戻ることができる。
【0209】
図30Eは、カーソル1202がアイコン3012の背後で点Eに移動する(またはホバリングする)ときのアイコン3012と焦点インジケータ1302との間の相互作用の例を図示する。図30Bに関して本明細書に説明されるように、カーソル1202が、アイコン3012の背後に移動すると、GUIは、アイコン3012を包囲する焦点インジケータ1302を割り当て、アイコン3010が選択されていることを示すことができる。焦点インジケータは、キャプション3016を含むことができる。
【0210】
図30Fは、カーソル1202が、アイコン3012の背後で点Fに遷移するときのアイコン3010と焦点インジケータ1302との間の相互作用の例を図示する。図30Cに関して本明細書に説明されるように、カーソル1202が、アイコン3012の中心に向かって移動すると、アイコン3012は、アイコン3012がユーザのさらにより近くまたはより大きく見えるように、より大きく(例えば、図30Eと比較して)なり続ける。例えば、アイコン3010は、アイコン3012の少なくとも一部が1つ以上の他のアイコンと重複するように、サイズにおいて拡大することができる。
【0211】
同様に、図30A-30Fを参照して説明されるように、GUIは、カーソルが、経路3001の延長に沿って、またはグリッドレイアウトにおけるアイコン間の異なる経路に沿って、移動し続けると、アイコン、カーソル、または焦点インジケータを動的に更新し続けることができる。
(グラフィカルユーザインターフェース内のデータのスクロールの例)
【0212】
図31A-31Cは、ディスプレイ画面またはその一部上のGUIのスクロールシーケンスの実施形態を図示する。GUIは、例えば、図2、4、および6を参照して説明されるウェアラブルディスプレイシステム200、400、600等、本明細書に説明されるウェアラブルディスプレイのいずれかによってレンダリングされることができる。GUIにおけるテキスト、グラフィック、または他のコンテンツのスクロールは、有利に、ユーザが、大きい距離を移動し、コンテンツをナビゲートすることを可能にする。図示される例において、GUIは、グリッドレイアウトに配列された複数のアイコン3102を含み、グリッドのアイコン3102のスクロールをさらに図示する。グリッドレイアウトおよびアイコン形状(例えば、これらの図において、概して、長方形または三角形)は、例証的であり、限定することを意図するものではない。グリッドレイアウトにおけるアイコンは、単一の深度または複数の深度にレンダリングされることができる。図31A-31Cに描写されるスクロールシーケンスおよび図30A-30Fに描写される掩蔽カーソル特徴は、別個に、または一緒に使用されることができる。例えば、スクロールが停止すると、ユーザは、カーソルをグリッドレイアウトにおけるアイコンのうちの1つに移動させることができ、GUIは、図30A-30Fを参照して説明されるように、このカーソル移動、およびアイコンをホバリングすること、またはそれを選択することを図示することができる。
【0213】
図31Aは、GUIにおける複数の配列されたアイコン3012を図示する。図30A-30Fに関して説明されるように、アイコン3102は、例えば、アプリまたはデジタルメディア等の仮想コンテンツに対応し得る。アイコン3102は、グリッドにおいて配列されるが、アイコン3012は、種々の方法において、GUI上に提示されることができる。例えば、アイコン3012の位置付けは、ユーザによって選択または制御されることができるか、または、アイコン3012は、1つ以上のグループ化基準(例えば、アイテム名別にアルファベット順に、コンテンツタイプ別、日付別、使用頻度別等)に従って、自動的に配列されることができる。グリッドレイアウトにおけるアイコンは、単一の深度(例えば、2Dとして見えるため)または複数の深度(例えば、3Dとして見えるため)にレンダリングされることができる。アイコン3002は、サムネイルであることができる。グリッドレイアウトは、平面である必要はなく、湾曲面としてレンダリングされることもできる(例えば、レイアウトの一部が他の部分より近い深度にある)。
【0214】
図31Bは、スクロールシーケンスがユーザによって開始された(例えば、トーテムを作動させること、レイアウトを横断してスワイプすること、カーソルをグリッドまたはディスプレイの縁の近くにホバリングさせること等によって)後のGUIの例を図示する。ユーザ開始は、スクロール方向またはスクロール速度を提供することができる。スクロールシーケンスは、スクロールの間、スクロールコンテンツが、ぼかされる、読み取り不能になる等であるように、スクロール速度を増加させる(静止から)スクロールコンテンツの推進力を模倣することができる。スクロールシーケンスは、スクロール速度が減速し、停止に至るように、抗力をシミュレートすることができる。ウェアラブルシステムは、スクロールを休止させるための追加のユーザ入力(例えば、トーテムのさらなる作動またはユーザの手による停止ジェスチャ)を受け取ることができる。
【0215】
スクロール中、アイコン3102は、より離れた深度に移動すること、そのサイズを変化させること(例えば、より小さくなる)、またはあまり明確ではなく(例えば、より透明度を伴って)またはより低い分解能を伴って表示されることができる。例えば、図3Bは、あまり鮮明ではないようなアイコン3102を図式的に描写する(図3Aまたは3Cと比較して)。アイコン3102がスクロールすると、次に来るアイコンが見えることにおいてユーザを補助するために、GUIは、スクロールアイコンに対応するコンテンツパネル3104を表示することができる。この例において、アイコン3102は、右に水平にスクロールし(破線矢印3200によって示されるように(これは、ユーザに表示され得るが、その必要はない))、それによって、新しいアイコンが、左から現れる(かつ右に見えなくなる)。したがって、コンテンツパネル3104は、新しいアイコンが現れる一般的な場所(例えば、この例において、ディスプレイの左側)に表示される。他の例において、アイコン3102は、任意の方向に(例えば、左から右、右から左、下から上、上から下、斜めに等)スクロールすることができる。ウェアラブルシステムは、コンテンツを複数の深度に表示することができるので、コンテンツは、前景(例えば、より近い深度)から背景(例えば、より離れた深度)、または背景から前景にスクロールすることができる。これらのスクロール技法の任意の組み合わせが、使用されることができる。
【0216】
コンテンツパネル3104は、スクロールコンテンツに関する情報を含むことができる。例えば、アイコン3102は、ライブラリの一部であることができ、コンテンツパネル3104は、お気に入りアイコン、最近使用されたアイコン、または最も使用されるアイコンをライブラリに含むことができる。ある場合、ライブラリは、作成された日付、修正される日付、名前、アイコンタイプ(例えば、画像、ビデオ、GIF、アルバム、アプリ、ドキュメント等)、サイズ等によって、グループ化基準によってグループ化またはソートされることができる。コンテンツがスクロールしているとき、コンテンツパネル3104は、コンテンツパネル3104の背後でスクロールしているコンテンツに対応する特定のグループまたはクラスに対応し得る。アイコン3102がスクロールし続けると、コンテンツパネル3104は、通過しつつあるコンテンツを表す新しい情報で周期的に更新されることができる。図31Bは、コンテンツパネル3104がアイコンB1-B4を備えている瞬間を示す。
【0217】
非限定的例として、アイコン3102は、日付別にソートされることができる。コンテンツがスクロールするにつれて、コンテンツパネル3104は、通過している日付を周期的に表す、新しい情報で更新される。例えば、スクロールアイコン3102が、10月の日付を含む場合、コンテンツパネルは、10月に関する情報を含むことができる。例えば、メッセージ3114は、略語「OCT」を含むことができ、コンテンツパネル3104は、10月からのお気に入りアイコン、10月からの最近使用されたアイコン、10月からの最も使用されたアイコン等を含むことができる。コンテンツが次の月(例えば、11月)にスクロールし続けるにつれて、コンテンツパネル3104は、11月を表す情報を含むように更新されることができる(例えば、略語は、「NOV」に変化することができ、パネルは、11月からのお気に入りアイコン、11月からの最近使用されたアイコン、11月からの最も使用されたアイコン等を示すことができる)。コンテンツパネル3104は、追加の日付が通過するにつれて、更新され続けることができる。
【0218】
コンテンツパネル3104は、コンテンツが画面外でスクロールする間、GUI上の場所に定着させられることができる(および同じコンテンツは、ユーザが逆にスクロールするときに戻ることができる)。図示される実施形態において、コンテンツパネル3104は、GUIの左側に定着させられる。しかしながら、コンテンツパネル3104は、中心、底部、上部、または右側等のGUIにおける任意の場所に位置することができる。ある場合、コンテンツパネル3104の場所は、ユーザによって構成可能である。
【0219】
コンテンツパネル3104は、種々の方法で提示されることができる。例えば、コンテンツバーのサイズは、例えば、少なくとも部分的にスクロール速度に基づいて変動することができる。より高速のスクロール速度は、コンテンツバーに第1のサイズで表示させることができる一方、より低速のスクロール速度は、コンテンツバーに第2のサイズ(例えば、第1のサイズより小さい)で表示させることができる。さらに、コンテンツパネル3104の形状も、変動することができる。図示される実施形態において、コンテンツパネル3104は、垂直リストを含む。しかしながら、リストは、垂直、水平、斜め、正方形等であることができる。加えて、または代替として、コンテンツパネル3104は、リストを含まないこともあり、代わりに、単一オブジェクト、アイコン、画像、テキスト等を含むことができる。コンテンツパネル3104は、グリッドレイアウトと異なる深度または複数の深度に表示されることができる。例えば、グリッドレイアウトの前(例えば、図31Bに示されるように)、レイアウトの背後等に表示され得る。ある場合、コンテンツパネル3104の特性は、ユーザによって構成可能である。
【0220】
コンテンツパネル3104は、コンテンツパネルに提示されるコンテンツに対応し得る詳細(例えば、メッセージ3114)を含むことができる。例えば、詳細は、スクロールコンテンツに対応するキャプション、タイトル、または他の特性を含むことができる。例えば、アイコンが日付別にソートされた例に戻って参照すると、メッセージ3114は、日付略語(例えば、「OCT」)を含み得る。
【0221】
スクロールシーケンスが終了すると、アイコン3102は、停止状態になることができ、コンテンツパネル3104は、なくなることができる。例えば、図31Cは、スクロールシーケンスが終了した後のアイコン3102の例を図示する。図31Bと対照的に、アイコン3102は、焦点が合っており、図31Aと比較して、若干シフトしているように図示される。類似技法も、垂直または斜めスクロール等の他のタイプのスクロールのために使用されることができる。
【0222】
いくつかの実装において、GUIは、ユーザがカーソルをグリッド(またはディスプレイ)の縁の近くにホバリングさせると、スクロールが開始する縁スクロールを利用することができる。GUIは、ユーザ挙動履歴データを維持することができ、それによって、ユーザが、次回、グリッドレイアウトを開くか、またはそれにアクセスすると、GUIは、レイアウトに追加された直近のアイコン(例えば、ユーザが追加した直近の音楽アルバムまたはビデオ)、または直近にアクセスされたアイコン上にカーソルを表示する。
(例示的ソフトウェアコード)
【0223】
付属Aは、本明細書に説明される掩蔽カーソル技術の実施形態を実施するために使用され得るC#プログラミング言語におけるコードの例を含む。プロセス2300の実施形態が、少なくとも部分的に付属A内の例示的コードによって実装されることができる。付属Aは、ソフトウェアコードの記述も含む。付属Aの開示は、掩蔽カーソル技術の種々の特徴の例示的実装を例証することを意図し、本技術の範囲を限定することを意図するものではない。付属Aは、本明細書の一部を形成するように、参照することによってその全体として本明細書に組み込まれる。
(追加の側面)
【0224】
第1の側面において、ウェアラブルディスプレイシステムは、ユーザの眼の前に位置付けられるように構成されたディスプレイであって、ディスプレイは、仮想コンテンツをユーザの眼に向かって投影するように構成されたディスプレイと、仮想カーソルの移動に関連付けられたユーザ入力データを受信するように構成されたユーザ入力デバイスと、ディスプレイおよびユーザ入力デバイスと通信しているハードウェアプロセッサとを備え、ハードウェアプロセッサは、ユーザの環境内の仮想カーソルの場所を識別することと、仮想カーソルとユーザの環境内のオブジェクトとの間の空間関係を決定することと、少なくとも部分的に空間関係に基づいて、オブジェクトに関連付けられた焦点インジケータをレンダリングするようにディスプレイに指示することとを行うようにプログラムされている。
【0225】
第2の側面において、ユーザ入力デバイスは、タッチセンサ式表面を備えているハンドヘルドトーテム、ユーザジェスチャを検出するように構成された外向きに面した結像システム、ユーザの眼姿勢を検出するように構成された内向きに面した結像システム、またはユーザの頭部姿勢を検出するように構成された慣性測定ユニットのうちの1つ以上を備えている、側面1に記載のウェアラブルディスプレイシステム。
【0226】
第3の側面において、仮想カーソルとオブジェクトとの間の空間関係を決定するために、ハードウェアプロセッサは、仮想カーソルの場所とオブジェクトの一部との間の距離を決定すること、または仮想カーソルとオブジェクトとの間の相対的な向きを決定することと、少なくとも部分的に決定された距離または決定された向きに基づいて、焦点インジケータをレンダリングするようにディスプレイに指示することとを行うようにプログラムされている、側面1または側面2に記載のウェアラブルディスプレイシステム。
【0227】
第4の側面において、焦点インジケータは、少なくとも部分的にオブジェクトを包囲する光彩または後光、オブジェクトのサイズまたは深度変化、またはグラフィカルハイライトのうちの1つ以上を備えている、側面1-3のいずれか1項に記載のウェアラブルディスプレイシステム。
【0228】
第5の側面において、焦点インジケータをレンダリングするようにディスプレイに指示するために、ハードウェアプロセッサは、第1のレンダリング工程を実施し、カーソル光彩を第1のバッファにレンダリングすることであって、カーソル光彩の場所は、少なくとも部分的に仮想カーソルの場所に基づく、ことと、第2のレンダリング工程を実施し、オブジェクトの形状マスク表現を第2のバッファにレンダリングすることと、第3のレンダリング工程を実施し、オブジェクトに関連付けられた光彩マスクを第3のバッファにレンダリングすることと、ユーザへの提示のために、少なくとも第1のバッファ、第2のバッファ、および第3のバッファを組み合わせるように構成された第4のレンダリング工程を実施することとを行うようにプログラムされている、側面1-4のいずれか1項に記載のウェアラブルディスプレイシステム。
【0229】
第6の側面において、第4のレンダリング工程を実施するために、ハードウェアプロセッサは、少なくとも第1のバッファ、第2のバッファ、および第3のバッファを仮想場面コンテンツを備えている第4のバッファと組み合わせるようにプログラムされている、側面5に記載のウェアラブルディスプレイシステム。
【0230】
第7の側面において、ハードウェアプロセッサは、仮想カーソルの場所とオブジェクトとの間の距離を決定し、距離が閾値距離より小さい場合、仮想カーソルの場所をオブジェクトを表す場所であるように更新するようにさらにプログラムされている、側面1-6のいずれか1項に記載のウェアラブルディスプレイシステム。
【0231】
第8の側面において、ハードウェアプロセッサは、仮想カーソルの場所とオブジェクトとの間の向きを決定し、焦点インジケータを仮想カーソルの向きに向かって優先的にレンダリングするようにディスプレイに指示するようにプログラムされている、側面1-7のいずれか1項に記載のウェアラブルディスプレイシステム。
【0232】
第9の側面において、ハードウェアプロセッサは、少なくとも部分的に仮想カーソルのそれ以前の運動経路に基づいて、仮想カーソルの場所を更新するようにプログラムされている、側面1-8のいずれか1項に記載のウェアラブルディスプレイシステム。
【0233】
第10の側面において、ハードウェアプロセッサは、ユーザ入力デバイスからのユーザ入力の中止に応答して、少なくとも部分的にそれ以前の運動経路に基づいて、仮想カーソルの場所を更新するようにプログラムされている、側面9に記載のウェアラブルディスプレイシステム。
【0234】
第11の側面において、ハードウェアプロセッサは、仮想カーソルの場所とオブジェクトの一部との間の距離を決定し、距離が閾値より小さいことの決定に応答して、オブジェクトを仮想カーソルの前にレンダリングすること、または仮想カーソルのレンダリングを中止することを行うようにプログラムされている、側面1-10のいずれか1項に記載のウェアラブルディスプレイシステム。
【0235】
第12の側面において、カーソルを複合現実環境におけるオブジェクトに対してレンダリングする方法であって、方法は、ディスプレイおよびハードウェアプロセッサを備えている複合現実ディスプレイデバイスの制御下で、複合現実環境内のカーソルの場所を決定することと、オブジェクトに関連付けられた場所を決定することと、重複がオブジェクトとカーソルとの間に生じるかどうかを決定することと、重複が生じないことの決定に応答して、カーソルをレンダリングすることと、重複が生じることの決定に応答して、オブジェクトをカーソルの前にレンダリングすること、またはカーソルのレンダリングを中止することとを含む、方法。
【0236】
第13の側面において、重複がオブジェクトとカーソルとの間に生じるかどうかを決定することは、カーソルの場所とオブジェクトの場所との間の距離が距離閾値より小さいかどうかを決定することを含む、側面12に記載の方法。
【0237】
第14の側面において、重複が生じることの決定に応答して、方法は、オブジェクトに関連付けられた焦点インジケータをレンダリングすることをさらに含む、側面12または側面13に記載の方法。
【0238】
第15の側面において、焦点インジケータは、少なくとも部分的にオブジェクトを包囲する光彩または後光、オブジェクトのサイズまたは深度変化、またはグラフィカルハイライトのうちの1つ以上を備えている、側面14に記載の方法。
【0239】
第16の側面において、カーソルとオブジェクトとの間の空間関係を決定することと、少なくとも部分的に空間関係に基づいて、オブジェクトに関連付けられた焦点インジケータをレンダリングすることとをさらに含む、側面12-15のいずれか1項に記載の方法。
【0240】
第17の側面において、拡張現実ディスプレイシステムであって、システムは、ユーザの環境におけるカーソルの位置に関連するユーザ入力を受信するように構成されたユーザ入力デバイスと、それを通してユーザがユーザの環境における仮想オブジェクトを知覚できるディスプレイと、ユーザ入力デバイスおよびディスプレイと通信しているハードウェアプロセッサとを備え、ハードウェアプロセッサは、ディスプレイを介して仮想オブジェクトがレンダリングされるようにすることと、少なくとも部分的にユーザ入力に基づいて、環境内のカーソルの位置を追跡することと、仮想オブジェクトの位置を識別することと、仮想オブジェクトとカーソルの位置との間の第1の距離が距離閾値を満たすかどうかを決定することと、第1の距離が距離閾値を満たすことの決定に応答して、ディスプレイを介して焦点インジケータがオブジェクトに近接してレンダリングされるようにすることとを行うようにプログラムされている、拡張現実ディスプレイシステム。
【0241】
第18の側面において、第1の距離が距離閾値を満たさないことの決定に応答して、ハードウェアプロセッサは、ディスプレイを介してカーソルの位置を示すレチクルがレンダリングされるようにするようにさらにプログラムされている、側面17に記載のシステム。
【0242】
第19の側面において、仮想オブジェクトは、選択可能オブジェクトを備え、それによって、オブジェクトを選択するユーザ入力に応答して、ハードウェアプロセッサは、選択可能オブジェクトに関連付けられたアクションを実施する、側面17または側面18に記載のシステム。
【0243】
第20の側面において、第1の距離は、カーソルの位置が仮想オブジェクトの少なくとも一部と重複する場合、距離閾値を満たす、側面17-19のいずれか1項に記載のシステム。
【0244】
第21の側面において、第1の距離は、カーソルの位置および仮想オブジェクトの少なくとも一部がディスプレイ上の同じピクセルにマッピングされるであろう場合、距離閾値を満たす、側面17-20のいずれか1項に記載のシステム。
【0245】
第22の側面において、第1の距離は、ディスプレイ上にレンダリングされたとき、カーソルの位置および仮想オブジェクトの少なくとも一部が共同設置されるであろう場合、距離閾値を満たす、側面17-21のいずれか1項に記載のシステム。
【0246】
第23の側面において、仮想オブジェクトは、第1のオブジェクトであり、焦点インジケータは、第1の焦点インジケータであり、ハードウェアプロセッサは、ディスプレイを介して第2の仮想オブジェクトがレンダリングされるようにすることと、第2のオブジェクトの位置を識別することと、第2のオブジェクトとカーソルの位置との間の距離が第2の距離閾値を満たすかどうかを決定することと、第2のオブジェクトとカーソルの位置との間の距離が第2の距離閾値を満たすことの決定に応答して、ディスプレイを介して第2の仮想オブジェクトに近接して第2の焦点インジケータがレンダリングされるようにすることとを行うようにさらにプログラムされている、側面17-22のいずれか1項に記載のシステム。
【0247】
第24の側面において、ハードウェアプロセッサは、第1の仮想オブジェクトとカーソルとの間の距離が第2の仮想オブジェクトとカーソルとの間の距離未より小さいことの決定に応答して、第1の焦点インジケータが第2の焦点インジケータより目立ってレンダリングされるようにするようにプログラムされている、側面23に記載のシステム。
【0248】
第25の側面において、第1の焦点インジケータが第2の焦点インジケータより目立ってレンダリングされるようにするために、ハードウェアプロセッサは、第1の焦点インジケータが第2の焦点インジケータより明るくレンダリングされるようにすること、第1の焦点インジケータが第2の焦点インジケータより大きくレンダリングされるようにすること、または、第1の焦点インジケータがカーソルから離れる方向よりカーソルに向かう方向に目立ってレンダリングされるようにすることのうちの1つ以上を実施するようにプログラムされている、側面24に記載のシステム。
【0249】
第26の側面において、ハードウェアプロセッサは、仮想オブジェクトの形状を識別することと、仮想オブジェクトに対するカーソルの向きを決定することと、少なくとも部分的に仮想オブジェクトの形状および仮想オブジェクトに対するカーソルの向きに基づいて、焦点インジケータがレンダリングされるようにすることとを行うようにプログラムされている、側面17-25のいずれか1項に記載のシステム。
【0250】
第27の側面において、ハードウェアプロセッサは、焦点インジケータがカーソルと仮想オブジェクトとの間の線に沿ってより目立ってレンダリングされるようにするようにプログラムされている、側面26に記載のシステム。
【0251】
第28の側面において、拡張現実ディスプレイシステムであって、ディスプレイシステムは、ユーザの環境におけるカーソルの位置に関連するユーザ入力を受信するように構成されたユーザ入力デバイスと、それを通してユーザがユーザの環境における仮想オブジェクトを知覚できるディスプレイと、ユーザ入力デバイスおよびディスプレイと通信しているハードウェアプロセッサとを備え、ハードウェアプロセッサは、ディスプレイを介して複数の仮想オブジェクトがレンダリングされるようにすることと、ディスプレイの視野内のカーソルの位置を追跡することと、複数の仮想オブジェクトの位置を識別することと、カーソルの位置と複数の仮想オブジェクトの位置を比較し、カーソルの位置に最も近いオブジェクトを決定することと、ディスプレイを介して焦点インジケータが最も近いオブジェクトに近接してレンダリングされるようにすることとを行うようにプログラムされている、拡張現実ディスプレイシステム。
【0252】
第29の側面において、ハードウェアプロセッサは、第2の焦点インジケータが最も近いオブジェクトではない少なくとも1つの他の仮想オブジェクトに近接してレンダリングされるようにするようにプログラムされ、第1の焦点インジケータは、第2の焦点インジケータより目立ってレンダリングされる、側面28に記載のシステム。
【0253】
第30の側面において、ハードウェアプロセッサは、カーソルの位置が最も近いオブジェクトと重複するかどうかを決定し、重複が生じないことの決定に応答して、カーソルをレンダリングし、重複が生じることの決定に応答して、最も近いオブジェクトをカーソルの前にレンダリングすること、またはカーソルのレンダリングを中止することを行うようにプログラムされている、側面28または側面29に記載のシステム。
【0254】
第31の側面において、ハードウェアプロセッサは、カーソルの位置を最も近いオブジェクトの位置に加速させるようにプログラムされている、側面28-30のいずれか1項に記載のシステム。
【0255】
第32の側面において、複合現実ディスプレイデバイスのためのグラフィカルユーザインターフェースをレンダリングする方法であって、方法は、ディスプレイおよびハードウェアプロセッサを備えている複合現実ディスプレイデバイスの制御下で、ディスプレイの視野内のカーソルの場所を決定することと、ディスプレイの視野内のオブジェクトに関連付けられた焦点インジケータをレンダリングすることと、オブジェクトに対するカーソルの移動を追跡することと、少なくとも部分的にオブジェクトに対するカーソルの移動に基づいて、焦点インジケータのレンダリングを調節することとを含む、方法。
【0256】
第33の側面において、焦点インジケータは、少なくとも部分的にオブジェクトを包囲する光彩または後光、オブジェクトのサイズまたは深度変化、またはグラフィカルハイライトのうちの1つ以上を備えている、側面32に記載の方法。
【0257】
第34の側面において、カーソルをレンダリングすることをさらに含む、側面32または側面33に記載の方法。
【0258】
第35の側面において、カーソルがオブジェクトの背後に位置する場合、カーソルをあまり目立ってレンダリングしないこと、または全くレンダリングしないことをさらに含む、側面34に記載の方法。
【0259】
第36の側面において、焦点インジケータをレンダリングすることは、焦点インジケータの少なくとも一部をカーソルから離れる方向によりカーソルに向かう方向に目立ってレンダリングすることを含む、側面32-35のいずれか1項に記載の方法。
【0260】
第37の側面において、焦点インジケータの少なくとも一部をより目立ってレンダリングすることは、一部をより明るくレンダリングすること、一部をより大きくレンダリングすること、一部を異なる色でレンダリングすること、または、一部を異なるグラフィカルスタイルでレンダリングすることのうちの1つ以上を含む、側面36に記載の方法。
【0261】
第38の側面において、焦点インジケータのレンダリングを調節することは、焦点インジケータとカーソルとの間の誘引の視覚的外観をシミュレートすることを含む、側面32-37のいずれか1項に記載の方法。
【0262】
第39の側面において、焦点インジケータのレンダリングを調節することは、カーソルからより遠い焦点インジケータの第2の部分の視覚的外観と比較して、カーソルにより近い焦点インジケータの第1の部分の視覚的外観を強調することを含む、側面32-38のいずれか1項に記載の方法。
【0263】
第40の側面において、焦点インジケータのレンダリングを調節することは、焦点インジケータの一部をオブジェクトからカーソルに向かって引き寄せるカーソルの視覚的外観をシミュレートすることを含む、側面32-39のいずれか1項に記載の方法。
【0264】
第41の側面において、ウェアラブルディスプレイシステムであって、システムは、ユーザの眼の前に位置付けられるように構成されたディスプレイであって、ディスプレイは、仮想コンテンツをユーザの眼に向かって投影するように構成されている、ディスプレイと、仮想環境における仮想カーソルの移動に関連付けられたユーザ入力データを受信するように構成されたユーザ入力デバイスと、ディスプレイおよびユーザ入力デバイスと通信しているハードウェアプロセッサとを備え、ハードウェアプロセッサは、仮想環境における第1の深度において仮想アイコンをレンダリングするようにディスプレイに指示し、仮想環境内の第2の深度において仮想カーソルをレンダリングするようにディスプレイに指示し、仮想環境における仮想カーソルの移動を追跡し、重複が仮想カーソルと仮想アイコンとの間に生じるかどうかを決定し、重複の決定に応答して、仮想アイコンを第1の深度または第2の深度よりユーザに近い第3の深度においてレンダリングするようにディスプレイに指示するようにプログラムされている、ウェアラブルディスプレイシステム。
【0265】
第42の側面において、ユーザ入力デバイスは、タッチセンサ式表面を備えているハンドヘルドトーテム、ユーザジェスチャを検出するように構成された外向きに面した結像システム、ユーザの眼姿勢を検出するように構成された内向きに面した結像システム、またはユーザの頭部姿勢を検出するように構成された慣性測定ユニットのうちの1つ以上を備えている、側面41に記載のウェアラブルディスプレイシステム。
【0266】
第43の側面において、第1の深度は、第2の深度と同じである、側面41または側面42に記載のウェアラブルディスプレイシステム。
【0267】
第44の側面において、重複の決定にさらに応答して、ハードウェアプロセッサは、仮想カーソルの視覚的外観と比較して、仮想アイコンの視覚的外観を強調するようにプログラムされている、側面41-43のいずれか1項に記載のウェアラブルディスプレイシステム。
【0268】
第45の側面において、仮想アイコンの視覚的外観を強調するために、ハードウェアプロセッサは、仮想アイコンを第1の深度においてレンダリングされるときより大きくレンダリングすること、または焦点インジケータを仮想アイコンの少なくとも一部の周囲にレンダリングすること、または仮想アイコンに関連付けられたキャプションをレンダリングすること、または仮想アイコンを第1の深度においてレンダリングされるときより追加の仮想コンテンツを伴ってレンダリングすること、または仮想アイコンを第1の深度においてレンダリングされるときより高い分解能またはより高い明度でレンダリングすること、または仮想カーソルのレンダリングを中止すること、または仮想カーソルを低減させられた明度または増加させられた透明度でレンダリングすることを行うようにディスプレイに指示するようにプログラムされている、側面44に記載のウェアラブルディスプレイシステム。
【0269】
第46の側面において、ハードウェアプロセッサは、仮想アイコンを選択するためのユーザ入力を受け取るようにさらにプログラムされている、側面41-45のいずれか1項に記載のウェアラブルディスプレイシステム。
【0270】
第47の側面において、ハードウェアプロセッサは、仮想環境内の仮想カーソルのさらなる移動を追跡し、仮想カーソルと仮想アイコンとの間の重複が生じなくなるかどうかを決定し、重複が生じなくなることの決定に応答して、ディスプレイに、仮想アイコンを第1の深度にレンダリングするように指示するようにさらにプログラムされている、側面41-46のいずれか1項に記載のウェアラブルディスプレイシステム。
【0271】
第48の側面において、ハードウェアプロセッサは、仮想アイコンを重複前の仮想アイコンの視覚的外観と同じである視覚的外観でレンダリングすること、または仮想カーソルを重複前の仮想アイコンの視覚的外観と同じである視覚的外観でレンダリングすることを行うようにプログラムされている、側面47に記載のウェアラブルディスプレイシステム。
【0272】
第49の側面において、ハードウェアプロセッサは、複数の仮想アイコンを備えている仮想レイアウトをレンダリングするようにプログラムされ、複数の仮想アイコンは、仮想アイコンを含む、側面41-48のいずれか1項に記載のウェアラブルディスプレイシステム。
【0273】
第50の側面において、ハードウェアプロセッサは、仮想レイアウトをスクロールするためのユーザ指示を受信するようにプログラムされている、側面49に記載のウェアラブルディスプレイシステム。
【0274】
第51の側面において、ユーザ指示は、スクロール方向またはスクロール速度を含む、側面50に記載のウェアラブルディスプレイシステム。
【0275】
第52の側面において、ユーザ指示は、仮想レイアウトの縁における仮想カーソルのホバリングを含む、側面50または側面51に記載のウェアラブルディスプレイシステム。
【0276】
第53の側面において、ハードウェアプロセッサは、仮想レイアウトをスクロールし、スクロールより前にレンダリングされていなかった仮想アイコンの表現を備えている仮想コンテンツパネルをレンダリングするようにディスプレイに指示するようにプログラムされている、側面50-52のいずれか1項に記載のウェアラブルディスプレイシステム。
【0277】
第54の側面において、仮想コンテンツパネルは、仮想レイアウトの少なくとも一部がレンダリングされた深度と異なる深度にレンダリングされる、側面53に記載のウェアラブルディスプレイシステム。
【0278】
第55の側面において、仮想レイアウトは、規則的グリッドまたは不規則的グリッドを備えている、側面49-54のいずれか1項に記載のウェアラブルディスプレイシステム。
【0279】
第56の側面において、仮想アイコンは、アプリケーションまたはメディアファイルのサムネイルを含む、側面41-55のいずれか1項に記載のウェアラブルディスプレイシステム。
【0280】
第57の側面において、メディアファイルは、ビデオファイル、オーディオファイル、またはドキュメントファイルを含む、側面56に記載のウェアラブルディスプレイシステム。
【0281】
第58の側面において、ウェアラブルディスプレイシステムであって、システムは、ユーザの眼の前に位置付けられるように構成されたディスプレイであって、ディスプレイは、仮想コンテンツをユーザの眼に向かって投影するように構成されている、ディスプレイと、仮想環境における仮想カーソルの移動に関連付けられたユーザ入力データを受信するように構成されたユーザ入力デバイスと、ディスプレイおよびユーザ入力デバイスと通信しているハードウェアプロセッサとを備え、ハードウェアプロセッサは、複数の仮想アイコンの仮想レイアウトをレンダリングするようにディスプレイに指示することであって、仮想レイアウトにおける複数の仮想アイコンのうちの少なくともいくつかは、仮想環境における第1の深度においてレンダリングされる、ことと、仮想レイアウトをスクロールするためのユーザ指示を受信することと、仮想レイアウトをスクロールするためのユーザ指示の受信に応答して、ディスプレイに、スクロールより前にレンダリングされていなかった仮想アイコンの表現を含む仮想コンテンツパネルをレンダリングすることをディスプレイに指示することとを行うようにプログラムされ、仮想コンテンツパネルは、仮想環境における第2の深度においてレンダリングされる、ウェアラブルディスプレイシステム。
【0282】
第59の側面において、第1の深度は、第2の深度と異なる、側面58に記載のウェアラブルディスプレイシステム。
【0283】
第60の側面において、ユーザ指示は、スクロール方向またはスクロール速度を含む、側面58または側面59に記載のウェアラブルディスプレイシステム。
【0284】
第61の側面において、ユーザ指示は、仮想レイアウトの縁における仮想カーソルのホバリングを含む、側面58-60のいずれか1項に記載のウェアラブルディスプレイシステム。
【0285】
第62の側面において、仮想コンテンツパネルは、スクロールされている複数のアイコンのコンテンツを示すメッセージを含む、側面58-61のいずれか1項に記載のウェアラブルディスプレイシステム。
【0286】
第63の側面において、仮想アイコンの表現は、サムネイルを含む、側面58-62のいずれか1項に記載のウェアラブルディスプレイシステム。
【0287】
第64の側面において、仮想レイアウトのスクロールは、推進力または抗力で実施される、側面58-63のいずれか1項に記載のウェアラブルディスプレイシステム。
【0288】
第65の側面において、ハードウェアプロセッサは、仮想レイアウトのスクロールを休止するためのユーザ指示を受信することと、仮想レイアウトのスクロールを休止するためのユーザ指示の受信に応答して、仮想レイアウトのスクロールを中止することと、仮想コンテンツパネルのレンダリングを中止することとを行うようにディスプレイに指示することとを行うようにさらにプログラムされている、側面58-64のいずれか1項に記載のウェアラブルディスプレイシステム。
(追加の考慮点)
【0289】
本明細書に説明される、または添付される図に描写されるプロセス、方法、およびアルゴリズムの各々は、具体的かつ特定のコンピュータ命令を実行するように構成された、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、または電子ハードウェアによって実行されるコードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令でプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる動的リンクライブラリにインストールされ得るか、または、解釈されるプログラミング言語において書き込まれ得る。いくつかの実装において、特定の動作および方法が、所与の機能に特定の回路によって実施され得る。
【0290】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるので、(適切な専門化された実行可能命令を利用する)特定用途向けハードウェアまたは1つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または、結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
【0291】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、それらの組み合わせ等を含む物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ読み取り可能な媒体上に記憶され得る。方法およびモジュール(またはデータ)は、無線ベースおよび有線/ケーブルベースの媒体を含む種々のコンピュータ読み取り可能な伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の別々のデジタルパケットまたはフレームとして)もとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得るか、または、コンピュータ読み取り可能な伝送媒体を介して通信され得る。
【0292】
本明細書に説明される、または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つ以上の実行可能命令を含むコードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的例から変更されることができる。いくつかの実施形態において、追加のまたは異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加され、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品において一緒に統合され、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【0293】
プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【0294】
本開示のシステムおよび方法の各々は、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与せず、またはそのために要求されない。上で説明される種々の特徴およびプロセスは、互いに独立して使用され得るか、または、種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【0295】
別個の実装の文脈において本明細書に説明されるある特徴は、単一の実装における組み合わせにおいても実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴も、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて機能するものとして上で説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合において、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
【0296】
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.,)」等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、またはステップが、1つ以上の実施形態に対していかようにも要求されること、または1つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「~を備えている」、「~を含む」、「~を有する」等は、同義語であり、非限定的方式で包括的に使用され、追加の要素、特徴、行為、動作等を除外しない。用語「または」は、その包括的意味においても使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味するように解釈されるべきである。
【0297】
本明細書で使用されるように、項目のリスト「のうちの少なくとも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つがそれぞれ存在するように要求することを示唆することを意図されない。
【0298】
同様に、動作は、特定の順序で図面に描写され得るが、それは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施され、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の追加の動作が、図示される動作のいずれかの前、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列され、または再順序付けられ得る。ある状況において、マルチタスクおよび並列処理が、有利であり得る。さらに、上で説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品において一緒に統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合において、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。

(付属A)
本付属の開示の一部は、著作権保護を受けるべき資料を含む。本著作権所有者は、本特許文書または本特許開示(本付属Aを含む)を誰が複写しても、それが特許商標局の特許ファイルまたは記録に現れる通りである限りでは異議はないが、その他の場合、いかなる著作権も全て保有する。
以下のコンピュータコードおよび説明は、掩蔽カーソル技術の種々の実施形態を例証するように意図されるが、掩蔽カーソル技術の範囲を限定することを意図するものではない。
I.掩蔽カーソル概要
掩蔽カーソルは、ポインティングデバイスを使用するときのユーザ選択をハイライトする方法を表す。選択可能コンテンツにわたって、またはその表面に移動する小ポインタ「スプライト」を示すための従来のアプローチではなく、掩蔽カーソルは、そのコンテンツの背後に移動し、選択されたアイテムの背後から外に照射する光彩の運動を介して、位置フィードバックをユーザに与える。選択されたアイテムをハイライトしている間も、ユーザ入力を正確に追跡し続けることによって、掩蔽光彩は、位置がシフトし、持続的入力フィードバックおよびカーソル位置の正確な感覚をユーザに与えるであろう。本付属に説明される例において、ユーザは、掩蔽カーソルを使用して、タッチ制御式カーソルまたは焦点インジケータを移動させることによって、平面ユーザインターフェース(UI)要素を標的化する。相対的カーソルの論理およびデータは、タッチパッド情報に基づき、それは、GripTotemスクリプトによって提供される。本書は、相対的掩蔽カーソル入力アルゴリズムの例を示す。
II.掩蔽カーソル特徴
カーソルは、慣性を有することができる。カーソル位置は、パネルにクリップされることができる。パネルは、入力エリアが、ある程度の角丸めを伴う丸形、カプセル形、または長方形であり得るように、丸め設定を有することができる。カーソルは、ユーザの指がタッチパッドから解放されると、要素上にスナップされる機能性を有することができる。
III.相対的力学
クラスCursorRelativeInputは、相対的カーソルを実装することができる。それは、ユーザ入力(例えば、トーテムタッチパッドフィードバック)に応答して、3D平面の限られた領域内に置かれたカーソルの位置を更新することができる。用語「相対的」は、カーソルのコア入力/運動応答を説明するために使用されることができる。すなわち、ユーザが、トーテムのタッチパッドを押すと、システムは、制御プレーン内の同等運動進行方向に沿って進むように見えるように、カーソルを更新するであろう。各運動ステップは、前の位置に対することができる。
(A. カーソルおよびパネル相互作用)
CursorRelativeInputのインスタンスは、EclipsePanelによってスポーンされる(いくつかのカーソル制御選択肢のうちの1つとして)。パネルは、activityscopeの概念をカーソルに提供することができる。すなわち、パネルが、Focusを有するとき、カーソルインスタンスは、更新されることができる。カーソル運動のboundsおよびそれを用いてカーソルが相互作用し得る要素の一次セット(例えば、その同じパネルインスタンスの子であるボタン)を定義することもできる。
EclipsePanelの例は、図22に示される。「Soccial」、「Application」、および「Store」の下の領域は、EclipsePanelである。
カーソル境界は、EclipsePanelのために規定された寸法に正確にマッピングされる、長方形領域として定義されることができるか、またはパネルによって提供されるカスタム境界の二次セットであり得る(例えば、制御領域が、単に、パネルによって占有される空間のサブセットを表す場合)。
パネルは、他の掩蔽要素と一致する「丸め」属性を保有することができる。これは、パネル(したがって、カーソル境界)が、真円またはカプセル形、鋭角正方形または長方形、またはそれらの間の任意の丸められた角形状であり得ることを意味し得る。相対的カーソルは、境界が適用され得るにつれて、パネルの丸め状態を重視し得る。
ある場合、アクティブな恣意的数のパネルが存在し得る。したがって、複数の相対的カーソルインスタンスが存在することができる。ある場合、1つのみのパネルが、InputFocusを有することができる。これは、そのカーソルを能動的に更新するであろう唯一のパネルであり得る。これは、中央EclipseUIクラスからのコールを介して、達成されることができ、この更新の結果は、ユーザ中心位置(例えば、頭部姿勢またはトーテム位置)からパネルの制御プレーン上の位置を通して投影するであろうカーソル光線であることができる。
そのホストパネルに属するボタンの検出に加えて、またはその代替として、カーソルは、焦点をアクティブ入力パネルと共有することを許可される他のパネルに属するボタンを検出し得る。
(B. カーソル衝突)
入力パネルのカーソル更新によって提供されるカーソル光線を使用して、EclipseUIは、アクティブ相互作用可能要素(例えば、現在Focusを有するパネルに属するボタン)に対してレイキャスティングを実施することができる。ここで実施される試験は、数学ベースのレイキャスティングを使用することができ、それは、衝突器の使用に優るいくつかの利点をもたらす。例えば、利点は、限定ではないが、以下を含むことができる。
・ 試験は、ボタンの丸形形状を反映することができる(例えば、最適一貫性のために、ボタンをレンダリングするために使用される同じ数学を使用して)。
・ システムは、ボタンがホバリングされているかどうかと、ボタンがカーソルに対して近接し得る程度との両方を決定することができる。これは、少なくとも2つの重要な機能を果たすことができる。第1に、システムは、カーソルに近いボタンを決定することができ、この決定に基づいて、システムは、それらのボタンに接近するにつれて、掩蔽光彩を示し始めることができる。第2に、ある場合、現在のカーソル位置の最も近いボタンを見出すことが望ましい(例えば、重力井戸サポートのため)。
・ 衝突器の必要性を回避するために、場面は、より鮮明に現れ得、システムは、衝突の正しいフィルタリングに固有の複雑性を避ける、または他のボタンまたは他の場面ベースの衝突器のいずれかによるボタンの偶発的塞ぎを回避することができる。
少なくとも部分的にレイキャスティングに基づいて、システムは、特定のボタンが「衝合」されていることを決定することができる。ある場合、この決定に応答して、システムは、二次衝突器ベースの試験を採用することができる。この試験は、ボタン位置と同じカーソル光線を投じることができる。しかしながら、ここにおいて、システムは、「UI」衝突層を保有する衝突器を試験する。ある場合、それは、所与のEclipsePanelが中実「バックプレーン」で構成されることを可能にする機構をもたらす。言い換えると、カーソル-レイキャスティングが、パネル内の間隙を通過し、その背後にあり得る相互作用可能物に衝合することを防止することができる。一例は、アクティブ検索結果の前に置かれたキーボードである。それらの結果がキーボードを通して双方向となることは、望ましくないこともある。代わりに、結果がキーボードに隣接するときのみ双方向であることが、望ましくあり得る。
(衝突実装:)
衝突は、フレーム(例えば、衝合されるべき第1のフレーム)あたり1つの相互作用可能物に対して位置合わせされることができる。しかしながら、システムは、その近接度光彩状態を更新するために、その他に対して試験し続けることができる。
いくつかの相互作用可能物が、優先順位試験を与えられることができる。例えば、前の更新からホバリングされた相互作用可能物を含んでいた各フレームは、そのフレームをその同じ相互作用可能物に対して試験することにおいて優先順位を与えられることができる。これは、安定衝突応答を確実にすることに役立ち得る。
ある場合、フレームが、衝合しない場合、システムは、再び、ホバリングされていなかった場合に占有していたであろう位置において試験するであろう。これは、そうでなければ、ホバリングされていることに応答して、ボタンが前進する場合に生じ得るヒステリシスの場合に対処するための手段である。その場合、カーソル位置は、不変のままであり、次のカーソル光線が、ボタンを逸失することにつながり、再び、後退し、ループさせ得る。
ユーザは、能動的にホバリングされたボタンのための衝突サイズスカラーを修正することが可能であり得る。これは、例えば、小ボタンが、ボタンをクリックするために、トラックパッド押下を使用するように試みる間、それらを偶発的に行過ぎる、またはそれらから離れるように移動させることをより困難にするために有用であり得る。例えば、ボタンのサイズは、ホバリングされている間、若干増加させられることができ、ホバリング解除されると、1対1スケールに戻ることができる。双方向要素が、カーソルによってホバリングされると、さらな相互作用(例えば、ボタン押下)は、特定のクラスによってハンドリングされることができる。これは、OnHover/DeHover、OnClick、OnClickStart/Endスタイルイベントを介した、標準的Eclipse
Event機構を介して生じ得る。
(C. カーソルレンダリング)
カーソルハンドリングの別の側面は、カーソルレンダリングであることができる。大部分の場合、1つのみのカーソルが、可視(例えば、Input Focusパネルから1つ)。このカーソルは、掩蔽レンダリング工程を介して示されることができる。
カーソルの位置が、掩蔽「後方光彩」の形態、より従来の位置ドット等で示されるかどうかは、少なくとも部分的に種々の要因に基づく。例えば、要因は、掩蔽要素が現在ホバリングされているかどうか、該当しない場合、「ドット」カーソルがアクティブパネルのために可視となることを可能にされるかどうかを含むことができる。ある場合、カーソルは、全体的に隠蔽されることができる。
IV.相対的カーソル更新実装
任意のカーソルモードに関して、システムは、ユーザまたはシステムが挙動をカスタマイズすることを可能にする設定構造(ある場合、パネルあたり構成可能である)を有する。例えば、相対的カーソルに関して、設定構造は、限定ではないが、以下を含むことができる。
・ 運動スカラー
o これは、カーソルの速度の制御を可能にする。例えば、タッチパッド入力に基づく、移動ステップのサイズの制御を可能にすることができる。
・ XまたはY入力の選定/スワイプの直交化
o これらのオプションは、別の軸より1つの軸に有利に働く、または基本運動方向を優先するように、入力ハンドリングをバイアスすることを可能にすることができる。例えば、オプションは、現在のタッチ入力のXまたはY成分のより大きいもの間の選択肢を可能にすることができる。バイアス要因は、追加の制御を追加することができる。
o スワイプの直交化は、ある軸における入力が閾値を超えると、運動が他の軸においてゼロになり得ることを意味し得る。これは、有用であり得、例えば、グリッドにおいて位置付けられる多くのボタンが存在するキーボードに関して、システムは、ユーザの意図が、多くの場合、カーソルを隣接する文字の列に沿って滑らかに移動させることであろうことを把握する。
・ 重力井戸サポート
o ユーザが、タッチパッドを解放すると、これらのオプションは、カーソルが最も近いボタン内の位置にスライドする(例えば、重力によって引き寄せられるかのように)ことを可能にする。ある場合、カーソルのこのスライドは、常時、発生する、決して発生しない、または最も近いボタンがある距離許容差内にある場合のみ発生することができる。設定は、カーソルが、最も近いボタン上の最も近い位置に、またはボタンのXおよびY軸の一方/両方と整列する位置に移動するであろうかどうかを含むことができる(例えば、長い隣接するボタンの列が存在する場合、より小さい円形ボタンの垂直スタックのために、中心Yに、またはおそらく、中心Xにスナップされることが望ましくあり得る)。設定はまた、重力井戸の使用がホストパネル内にのみ所望されるかどうか、または他の「焦点があっている」パネル上に存在する要素も検討され得るかどうかを含むことができる。
・ 縁プッシュ
o タッチパッド制御を使用して、ユーザは、入力焦点を1つのパネルから別のパネルに切り替えることができる。カーソルが、パネルの縁境界に出合うと、システムは、イベントをユーザに送信することができ、ユーザは、プッシュ方向に従ってパネル遷移を開始するためにこれを使用することができる。ある場合、システムは、ばね荷重縁を選定し得、それは、視覚的フィードバック(例えば、ホストパネルの運動)を生じさせ、縁プッシュが生じていることを伝達することに役立ち得る。この場合、あるプッシュ範囲を超えない場合、パネルは、縁プッシュイベントが送信されなかったその元々の位置に反跳することができる。ある場合、設定は、計時オプション(例えば、ある時間にわたる縁に対するプッシュ)およびダブルタップオプション(例えば、縁に対する衝突、入力を解放し、次いで、再び、同じ縁に対してスワイプする)を含む。
・ 慣性制御
o ユーザが、タッチパッド入力を提供し、カーソル運動が、決定またはレンダリングされる度、システムは、カーソルの移動も関連付けることができ、それは、「慣性」の程度を模倣することができる。例えば、この移動は、アクティブ入力が中止した瞬間から適用されることができる。それは、減衰力が「慣性」をゼロまで低減させるまで、カーソルをその運動経路に沿って継続させることができる。制御は、慣性が蓄積される量を限定し、かつ慣性増大が高速「スワイプ」アクションの終了時にタッチパッドを解放するユーザのイベント(例えば、構成可能閾値に対応する)に適用されることを可能にし得る。慣性増大は、長い項目化されたリストを通して高速スワイプをサポートするように意図される(例えば、ユーザが選定する場合、1回の大スワイプがカーソルを上から下に運ぶことを可能にするため)。
・ スクロールサポート
o パネルが、その利用可能な画面占有エリアを超えるコンテンツを有する場合、スクロールされ得る。相対的カーソルは、内蔵プッシュ-スクロールサポートを有することができる。構成可能パラメータは、プッシュ-スクロール運動ステップが適用されるであろうパネル縁からの距離を制御することができる。
相対的カーソルが構成される方法(例えば、構成可能設定を介して)に基づいて、相対的カーソル更新は、以下のステップのうちの1つ以上のものを含むことができる。
・ タッチパッドスワイプをチェックする
o 例えば、タッチパッドを横断した高速指運動が終了したばかりであるかどうかをチェックする。
o 潜在的に、慣性増大を適用する。
・ 規則的タッチ入力をチェックする
o 運動をカーソル位置に適用する
o 指向性慣性を蓄積する。
・ タッチパッド入力が存在しない場合
o 慣性ベースの運動をカーソル位置に適用する
o タッチパッド入力が終了したばかりである場合、最も近い重力井戸を探す
o 潜在的重力井戸処理を実施し、カーソル運動に適用する。
・ 注記:これは、その2つが一緒に動作し得るように、慣性の上位に層化されることができる。例えば、重力スナップは、慣性が十分に静まると開始することができる。
・ スクロールパネルタイプのためのプッシュ-スクロールをハンドリングする
o カーソル位置をプッシュ-スクロール境界に対してクリップし、「オーバーフロー」をスクロールオフセットに適用する
・ カーソル位置をパネルの境界にクリップする
o これは、カーソルが任意の湾曲角の周囲を滑らかにスライドし得ることを確実にするように実装されることができる。
・ 縁プッシュをチェックする
o 時間ベースの/ダブルタップ/ばね荷重縁プッシュを追跡する、またはイベントをユーザに送信する。
・ 慣性を減衰させる
V.入力言語
・ EclipseUI
Eclipse UIは、ボタンおよびカーソルのレンダリングをサポートするためのUnityクラスの組である。
(EclipsePanel)
EclipsePanelは、EclipseUI内のクラスである。パネルは、パネル毎カーソルレンダリングおよび設定をサポートする。CursorRelativeInput(および他の随意のカーソルタイプクラス)は、EclipsePanelインスタンスによって配分および更新される。パネルは、「Focus」(そのボタンは、クリックされることができる)および「Input Focus」(そのカーソルは、リフレッシュされ、アクティブシステムカーソルとしてレンダリングされるであろう)の概念を有する。「Focus」を有するパネルは、頭部姿勢がそれを標的化すると、設定されることができる。複数の「Focus」パネルが存在し得るが、1つのみが、「Input Focus」を伴う。
(CursorRelativeInput)
CursorRelativeInputクラスは、ICursorインターフェースによって実装される。このカーソルは、慣性、ボタンスナップ、および縁プッシュ特徴を有する。
・ Totem
(TouchPad)
Touch Padは、トーテム上でポインティングする(入力位置を制御する)ための円形表面(デバイス)である。
(A. GripTotem)
GripTotemは、シリアルポートからの未加工データを読み取る、クラスである。
VI.ECLIPSEPANEL
(A. [パラメータ])
【表1】
(B. [関数])
【表2】
VII.ICURSOR
【表3】
VIII.相対的カーソル
(A. [直列化可能クラス])
【表4】
(B. [パラメータ])
【表5】
(C. [関数])
【表6-1】
【表6-2】
【表6-3】
IX.カーソル位置をパネルにクリップする
【表7-1】
【表7-2】
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15A
図15B
図16A
図16B
図16C
図16D
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29A
図29B
図29C
図29D
図29E
図29F
図30A
図30B
図30C
図30D
図30E
図30F
図31A
図31B
図31C