(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024125265
(43)【公開日】2024-09-18
(54)【発明の名称】人工現実環境におけるユーザインターフェースインタラクションの容易化
(51)【国際特許分類】
G06F 3/01 20060101AFI20240910BHJP
G06T 19/00 20110101ALI20240910BHJP
G09G 5/00 20060101ALI20240910BHJP
G09G 5/10 20060101ALI20240910BHJP
G09G 5/37 20060101ALI20240910BHJP
【FI】
G06F3/01 510
G06F3/01 570
G06T19/00 C
G09G5/00 510G
G09G5/10 B
G09G5/37 600
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024015549
(22)【出願日】2024-02-05
(31)【優先権主張番号】18/166,282
(32)【優先日】2023-02-08
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】ジョンソン, アンドリュー シー
(72)【発明者】
【氏名】インスリー, マシュー アラン
(72)【発明者】
【氏名】レヴァティチ, サミュエル マシュー
(72)【発明者】
【氏名】シオン, チー
(72)【発明者】
【氏名】クレン, マテウス
(72)【発明者】
【氏名】フルトワングラー, ブランドン
(72)【発明者】
【氏名】エデルブラット, ジェレミー
(72)【発明者】
【氏名】ジトコフ, ジョン ニコラス
(72)【発明者】
【氏名】モロー, ジェニファー
(57)【要約】 (修正有)
【課題】XR環境におけるユーザインターフェースインタラクションを容易にするためのコンピュータ実装方法の提供
【解決手段】方法は、ユーザの手の位置を追跡することを含み、ユーザの手の位置がUI要素の第1の閾値距離内にあることに基づいてUI要素を修正する第1のフィードバックを生成することによって、またはユーザの手の位置が縁部の第2の閾値距離内にあることに基づいてシステムUIの縁部を強調する第2のフィードバックを生成することによって、インタラクション機会を表明することをさらに含み、ユーザの手の位置を更新することを含み、ユーザの手がUI要素とインタラクトしたときに、ユーザの手の表現の場所を修正することによってUI要素とのインタラクションを表明すること、または縁部を掴んでいる表現の部分を強調する第3のフィードバックを生成することによって、縁部とのインタラクションを表明することをさらに含む。
【選択図】
図2A
【特許請求の範囲】
【請求項1】
人工現実(XR)環境におけるユーザインターフェース(UI)インタラクションを容易にするためのコンピュータ実装方法であって、
前記XR環境において、UI要素のセットを含むシステムUIをレンダリングすることと、
前記システムUIおよび/または前記UI要素のセットに対するユーザの手の位置を追跡することと、
前記システムUIまたは前記UI要素のセットのうちのあるUI要素とのインタラクション機会を、
前記ユーザの手の前記位置が前記UI要素の第1の閾値距離内にあるという決定に応答して、前記UI要素のアクティブ化の前に、前記UI要素を前記システムUIの表面の上方に拡張することによって前記UI要素を修正する第1のフィードバックを生成すること、または
前記ユーザの手の前記位置が前記システムUIの縁部の第2の閾値距離内にあるという決定に応答して、前記システムUIの前記縁部の少なくとも一部を強調する第2のフィードバックを生成すること
によって表明することと、
前記システムUIおよび/または前記UI要素のセットに対する前記ユーザの手の前記位置を更新することと、
前記システムUIまたは前記UI要素とのインタラクションを、
前記ユーザの手の前記位置が前記UI要素とインタラクトしたという決定に応答して、前記ユーザの手の表現の場所を、前記ユーザの手の現実世界での場所を直接追跡することから、前記ユーザの手の前記現実世界での場所および前記UI要素の場所の両方に基づく位置に修正させること、または
前記ユーザの手の前記位置が前記システムUIの前記縁部を掴むジェスチャを含んでいるという決定に応答して、前記システムUIを掴んでいる前記ユーザの手の前記表現の少なくとも一部を強調する第3のフィードバックを生成すること
によって表明することと
を含む、
コンピュータ実装方法。
【請求項2】
前記インタラクション機会を表明することが、前記第1のフィードバックを生成することを含み、かつ
前記第1のフィードバックが、前記UI要素のセットのうちの前記UI要素によってカバーされる前記システムUIの前記表面の量を増加させることをさらに含む、
請求項1に記載のコンピュータ実装方法。
【請求項3】
前記インタラクションを表明することが、前記ユーザの手の前記表現の前記場所を修正させることを含み、かつ
前記ユーザの手の前記表現の前記場所を修正させることが、前記ユーザの手の前記表現が前記システムUIの前記表面を越えて前記UI要素を押しているという決定に応答して、前記UI要素が前記システムUIの前記表面の下に拡張するのを防止することを含む、
請求項1に記載のコンピュータ実装方法。
【請求項4】
前記インタラクションを表明することが、前記ユーザの手の前記表現の前記場所を修正させることを含み、かつ
前記ユーザの手の前記位置が前記UI要素とインタラクトしたという前記決定に応答して、前記UI要素のカラーリングまたは陰影を変更することによって前記UI要素をさらに強調する、
請求項1に記載のコンピュータ実装方法。
【請求項5】
前記UI要素がボタンUI要素であり、
前記インタラクションを表明することが前記ユーザの手の前記表現の場所を修正させることを含み、
前記方法が、前記ユーザの手が、A)前記ボタンUI要素を第1の押下閾値を超えて押下して前記ボタンUI要素とインタラクトし、B)次いで、前記ボタンUI要素を第2の押下閾値を超えて解放して前記ボタンUI要素とインタラクトした、という決定に応答して、前記ボタンUI要素のアクティブ化を引き起こすことをさらに含み、かつ
前記第1の押下閾値が、前記第2の押下閾値よりも前記システムUIの前記表面に近い、
請求項1に記載のコンピュータ実装方法。
【請求項6】
前記ボタンUI要素の前記アクティブ化を引き起こすことが、オーディオキューを出力することを含む、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記インタラクションを表明することが、前記第3のフィードバックを生成することを含み、
前記ユーザの手の前記表現の前記少なくとも一部を強調する前記第3のフィードバックが、前記システムUIを掴んでいる前記ユーザの手の前記表現の少なくとも親指および1本または複数本の指を強調する、
請求項1に記載のコンピュータ実装方法。
【請求項8】
人工現実(XR)環境においてシステムユーザインターフェース(UI)とインタラクトするためのコンピューティングシステムであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングシステムにプロセスを実施させる命令を格納する1つまたは複数のメモリと
を備え、前記プロセスが、
前記XR環境において、UI要素のセットを含む前記システムUIをレンダリングすることと、
前記システムUIおよび/または前記UI要素のセットに対するユーザの手の位置を追跡することと、
前記システムUIまたは前記UI要素のセットのうちのあるUI要素とのインタラクション機会を、
前記ユーザの手の前記位置が前記UI要素の第1の閾値距離内にあるという決定に応答して、前記UI要素のアクティブ化の前に、前記UI要素を前記システムUIの表面の上方に拡張することによって前記UI要素を修正する第1のフィードバックを生成すること、または
前記ユーザの手の前記位置が前記システムUIの縁部の第2の閾値距離内にあるという決定に応答して、前記システムUIの前記縁部の少なくとも一部を強調する第2のフィードバックを生成すること
によって表明することと、
前記システムUIおよび/または前記UI要素のセットに対する前記ユーザの手の前記位置を更新することと、
前記システムUIまたは前記UI要素とのインタラクションを、
前記ユーザの手の前記位置が前記UI要素とインタラクトしたという決定に応答して、前記ユーザの手の表現の場所を、前記ユーザの手の現実世界での場所を直接追跡することから、前記ユーザの手の前記現実世界での場所および前記UI要素の場所の両方に基づく位置に修正させること、または
前記ユーザの手の前記位置が前記システムUIの前記縁部を掴むジェスチャを含んでいるという決定に応答して、前記システムUIを掴んでいる前記ユーザの手の前記表現の少なくとも一部を強調する第3のフィードバックを生成すること
によって表明することと
を含む、
コンピューティングシステム。
【請求項9】
前記システムUIまたは前記UI要素との前記インタラクションを表明することが、前記ユーザの手の前記表現の前記少なくとも一部が前記システムUIを掴んでいるときに前記システムUIの前記縁部を強調することにより前記第3のフィードバックを生成することを含む、請求項8に記載のコンピューティングシステム。
【請求項10】
前記システムUIの前記縁部の前記一部を強調することが、A)前記ユーザの手の前記表現が前記システムUIの前記縁部の閾値距離内にあったときに始まり、B)前記ユーザの手の前記表現の前記一部と前記システムUIの前記縁部の前記一部との間の距離が減少するにつれて、強調された前記縁部の量が増加する、請求項9に記載のコンピューティングシステム。
【請求項11】
前記インタラクション機会を表明することが、前記第2のフィードバックを生成することを含み、かつ
前記第2のフィードバックが、前記ユーザの手の前記表現の前記一部と前記システムUIとの間の前記距離の決定された減少に基づいて、前記ユーザの手の前記表現上の少なくとも親指および1本または複数本の指を含む前記ユーザの手の前記表現の一部を強調することをさらに含む、請求項8に記載のコンピューティングシステム。
【請求項12】
前記システムUIおよび/または前記UI要素のセットに対する前記ユーザの手の前記位置を追跡することが、リアルタイムで前記ユーザの手のジェスチャを検出する1つもしくは複数のセンサ、または前記XRデバイスに関連付けられた1つもしくは複数のコントローラのうちの少なくとも1つに基づいており、かつ
前記ユーザの手の前記表現の前記場所が、現実世界環境における前記ユーザの手の前記場所に対応する、
請求項8に記載のコンピューティングシステム。
【請求項13】
前記インタラクション機会を表明することが、前記第1のフィードバックを生成することを含み、かつ
前記第1のフィードバックが、前記UI要素のセットのうちの前記UI要素によってカバーされる前記システムUIの前記表面の量を増加させることをさらに含む、
請求項8に記載のコンピューティングシステム。
【請求項14】
前記インタラクションを表明することが、前記ユーザの手の前記表現の前記場所を修正させることを含み、かつ
前記ユーザの手の前記表現の前記場所を修正させることが、前記ユーザの手の前記表現が前記システムUIの前記表面を越えて前記UI要素を押しているという決定に応答して、前記UI要素が前記システムUIの前記表面の下に拡張するのを防止することを含む、
請求項8に記載のコンピューティングシステム。
【請求項15】
前記インタラクションを表明することが、前記ユーザの手の前記表現の前記場所を修正させることを含み、かつ
前記ユーザの手の前記位置が前記UI要素とインタラクトしたという前記決定に応答して、前記UI要素のカラーリングまたは陰影を変更することによって前記UI要素をさらに強調する、
請求項8に記載のコンピューティングシステム。
【請求項16】
前記UI要素がボタンUI要素であり、
前記インタラクションを表明することが前記ユーザの手の前記表現の場所を修正させることを含み、
前記プロセスが、前記ユーザの手が、A)前記ボタンUI要素を第1の押下閾値を超えて押下して前記ボタンUI要素とインタラクトし、B)次いで、前記ボタンUI要素を第2の押下閾値を超えて解放して前記ボタンUI要素とインタラクトしたという決定に応答して、前記ボタンUI要素のアクティブ化を引き起こすことをさらに含み、かつ
前記第1の押下閾値が、前記第2の押下閾値よりも前記システムUIの前記表面に近い、
請求項8に記載のコンピューティングシステム。
【請求項17】
前記ボタンUI要素の前記アクティブ化を引き起こすことが、オーディオキューを出力することを含む、請求項16に記載のコンピューティングシステム。
【請求項18】
前記インタラクションを表明することが、前記第3のフィードバックを生成することを含み、
前記ユーザの手の前記表現の前記少なくとも一部を強調する前記第3のフィードバックが、前記システムUIを掴んでいる前記ユーザの手の前記表現の少なくとも親指および1本または複数本の指を強調する、
請求項8に記載のコンピューティングシステム。
【請求項19】
コンピューティングシステムによって実行されると、前記コンピューティングシステムに、人工現実(XR)環境においてシステムユーザインターフェース(UI)とインタラクトするためのプロセスを実施させる命令を格納するコンピュータ可読記憶媒体であって、前記プロセスが、
前記XR環境において、UI要素のセットを含む前記システムUIをレンダリングすることと、
前記システムUIおよび/または前記UI要素のセットに対するユーザの手の位置を追跡することと、
前記システムUIまたは前記UI要素のセットのうちのあるUI要素とのインタラクション機会を、
前記ユーザの手の前記位置が前記UI要素の第1の閾値距離内にあるという決定に応答して、前記UI要素のアクティブ化の前に、前記UI要素を前記システムUIの表面の上方に拡張することによって前記UI要素を修正する第1のフィードバックを生成すること、または
前記ユーザの手の前記位置が前記システムUIの縁部の第2の閾値距離内にあるという決定に応答して、前記システムUIの前記縁部の少なくとも一部を強調する第2のフィードバックを生成すること
によって表明することと、
前記システムUIおよび/または前記UI要素のセットに対する前記ユーザの手の前記位置を更新することと、
前記システムUIまたは前記UI要素とのインタラクションを、
前記ユーザの手の前記位置が前記UI要素とインタラクトしたという決定に応答して、前記ユーザの手の表現の場所を、前記ユーザの手の現実世界での場所を直接追跡することから、前記ユーザの手の前記現実世界での場所および前記UI要素の場所の両方に基づく位置に修正させること、または
前記ユーザの手の前記位置が前記システムUIの前記縁部を掴むジェスチャを含んでいるという決定に応答して、前記システムUIを掴んでいる前記ユーザの手の前記表現の少なくとも一部を強調する第3のフィードバックを生成すること
によって表明することと
を含む、
コンピュータ可読記憶媒体。
【請求項20】
前記インタラクションを表明することが、前記第3のフィードバックを生成することを含み、
前記ユーザの手の前記表現の前記少なくとも一部を強調する前記第3のフィードバックが、前記システムUIを掴んでいる前記ユーザの手の前記表現の少なくとも親指および1本または複数本の指を強調する、
請求項19に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【発明の概要】
【0001】
関連出願の相互参照
本出願は、2023年2月8日に出願された「Facilitating System User Interface(UI)Interactions in an Artificial Reality(XR)Environment」と題する米国特許出願第18/166,144号(代理人整理番号3589-0232US01)、2023年2月8日に出願された「Facilitating System User Interface(UI)Interactions in an Artificial Reality(XR)Environment」と題する米国特許出願第18/166,282号(代理人整理番号3589-0232US02)、および2023年2月8日に出願された「Intent-Based User Interface Modifications in an Artificial Reality Environment」と題する米国特許出願第号(代理人整理番号3589-0260US01)に関連し、これらの全ては、参照によりその全体が本明細書に組み込まれる。
【0002】
技術分野
本開示は、人工現実(XR)環境におけるユーザのインタラクションの容易化に関する。より詳細には、本開示は、XR環境においてレンダリングされるシステムユーザインターフェース(UI)を取り扱い、使用し、または操作するためのシステムおよび方法に関する。
【0003】
背景技術
人工現実(XR)技術の分野における最近の進歩は、例えばユーザ支援および娯楽のための様々な人工現実プラットフォームの開発につながっている。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組み合わせを含むことができ、それらのいずれも単一のチャネルまたは複数のチャネルで提示することができる。人工現実は、ユーザが3次元環境で友人と仮想的につながり、空間および時間を移動し、完全に新しい方法でゲームをプレイすることなどができ得る社会的つながりを提供することができる。
【0004】
従来、既存のXR環境は、ユーザが仮想オブジェクト(例えば、スクリーン)を介してなど、様々な形態でコンテンツを視聴することを可能にする。しかしながら、XR環境内のスクリーンなどの仮想オブジェクトとのインタラクションは、ユーザにとって複雑なタスクである場合がある。例えば、ユーザは、現実世界において仮想オブジェクトに物理的に触れることができない場合があるため、仮想オブジェクトとインタラクトすることが困難であると感じる場合がある。したがって、従来のXR環境における仮想オブジェクトを使用する体験は、ユーザにとって満足のいくものではなく、困難である場合がある。
【図面の簡単な説明】
【0005】
【
図1】本技術のいくつかの実装形態が動作可能であるデバイスの全体像を示すブロック図である。
【
図2A】本技術のいくつかの実装形態において使用可能である仮想現実ヘッドセットを示す配線図である。
【
図2B】本技術のいくつかの実装形態において使用可能である複合現実ヘッドセットを示す配線図である。
【
図2C】いくつかの実装形態における、ユーザが人工現実環境とインタラクトするために片手または両手で保持することができるコントローラを示す配線図である。
【
図3】本技術のいくつかの実装形態が動作可能である環境の全体像を示すブロック図である。
【
図4】いくつかの実装形態において、開示された技術を用いるシステムで使用可能である構成要素を示すブロック図である。
【
図5A】人工現実(XR)環境におけるユーザとシステムユーザインターフェース(UI)とのインタラクションを容易にするための例示的な環境を示す概念図である。
【
図5B】XR環境におけるユーザインターフェースインタラクションを容易にするためのUI要素に対応する第1のフィードバックを示す概念図である。
【
図5C】システムUIの縁部の一部の強調に対応する第2のフィードバックを表す概念図である。
【
図6】ユーザの手とシステムUIのUI要素とのインタラクションを示す概念図である。
【
図7A】システムUIのUI要素のアクティブ化の一例を集合的に示す概念図である。
【
図7B】システムUIのUI要素のアクティブ化の一例を集合的に示す概念図である。
【
図8A】ユーザの手の位置の近接度に基づくシステムUIの縁部の一部の強調を示す概念図である。
【
図8B】縁部の強調を完全に表し、縁部が掴まれていることに基づくユーザの手の表現を表す概念図である。
【
図9A】XR環境におけるユーザとUI要素とのインタラクションのために本技術のいくつかの実装形態において使用される方法を示すフロー図である。
【
図9B】XR環境におけるユーザとシステムUIとのインタラクションのために本技術のいくつかの実装形態において使用される方法を示すフロー図である。
【発明を実施するための形態】
【0006】
ここで導入された技法は、同様の参照番号が同一のまたは機能的に同様の要素を指示する添付の図面と併せて以下の「発明を実施するための形態」を参照することによって、より良く理解され得る。
【0007】
本開示の態様は、人工現実(XR)環境におけるユーザインターフェースインタラクションを容易にすることに関する。インタラクション容易化システムは、XR環境におけるユーザインターフェースインタラクションを容易にするために提供されてもよい。XR環境におけるインタラクションを容易にするために、XR環境においてシステムユーザインターフェース(UI)をレンダリングしてもよい。インタラクション容易化システムは、物理環境におけるユーザとデバイスとのインタラクションと同様に、XR環境におけるユーザとシステムUIとの効果的な没入型インタラクションを容易にすることができる。ユーザの没入型体験のために、システムUIまたはシステムUIのUI要素は、XR環境におけるユーザとシステムUIとの間のインタラクションに基づいて修正されてもよい。
【0008】
例示的なシナリオでは、ユーザは、広範囲のアプリケーション、例えば、娯楽、ヘルスケア、自動車、教育、社会的および関係のつながりなどのためにXR環境を利用してもよい。例えば、システムUIは、XR環境におけるコンテンツの視聴、インターネットのブラウジング、他のユーザとの接続、システム制御へのアクセスなどの様々なアプリケーションにアクセスするための媒体として利用されてもよい。インタラクション容易化システムは、システムUIを開くために、XRデバイスを介してユーザから入力を受信してもよい。インタラクション容易化システムは、受信した入力に基づいてXR環境においてシステムUIをレンダリングすることができる。さらに、インタラクション容易化システムは、システムUIおよび/またはシステムUIのUI要素のセットのうちのUI要素に対するユーザの手の位置を追跡することができる。追跡は、物理世界におけるユーザの手の実際の位置および/またはジェスチャを決定するために実施されてもよい。
【0009】
一実施形態では、ユーザは、手をUI要素に近づけるジェスチャを実施してもよい。追跡されたユーザの手の位置がUI要素の第1の閾値距離内にあるという決定に基づいて、インタラクション容易化システムは、UI要素のアクティブ化の前に、UI要素を修正する第1のフィードバックを生成することができる。第1のフィードバックは、システムUIの表面の上にUI要素を拡張することを含む。そのような第1のフィードバックは、ユーザとUI要素とのインタラクション機会を表明してもよい。別の実施形態では、ユーザは、(例えば、システムUIを掴むために)手をシステムUIの縁部に近づけるジェスチャを実施してもよい。追跡されたユーザの手の位置がシステムUIの縁部の第2の閾値距離内にあるという決定に基づいて、コンピューティングシステムは、システムUIの縁部の少なくとも一部を強調する第2のフィードバックを生成してもよい。そのような第2のフィードバックは、ユーザとシステムUIとのインタラクション機会を表明してもよい。したがって、コンピューティングシステムは、没入型かつ効果的なユーザ体験のために、ユーザがシステムUIおよびシステムUIのUI要素とのインタラクション機会を容易に識別することを可能にする。
【0010】
さらに、コンピューティングシステムは、システムUIおよび/またはUI要素のセットに対するユーザの手の位置を更新することができる。ユーザの手の位置がUI要素とインタラクトしたという決定に応答して、コンピューティングシステムは、ユーザの手の表現(XR環境でレンダリングされる)の場所を、ユーザの手の現実世界での場所を直接追跡することから、ユーザの手の現実世界での場所およびUI要素の場所の両方に基づく位置に修正させる。例えば、インタラクション容易化システムは、最初に、ユーザの手の表現をユーザの手の現実世界の位置に一致させる(システムが可能な限り近くする)ことができる。次いで、ユーザの手の位置がUI要素とインタラクトしたという決定に続いて、ユーザの現実世界の手がUI要素から閾値量だけ離れて移動してもユーザの手の表現がUI要素から離れないように、ユーザの手の表現がUI要素に取り付けられる。さらに、ユーザの手の位置がUI要素とインタラクトして(例えば、UI要素を押下することによって)UI要素がアクティブ化されたとき、インタラクション容易化システムは、オーディオキューをさらに提供することができる。そのような修正は、ユーザに対するUI要素のアクティブ化を表明する。
【0011】
さらに、ユーザの手の位置がシステムUIの縁部を掴むジェスチャを含む、すなわち、システムUIがユーザによって掴まれているという決定に応答して、インタラクション容易化システムは、システムUIを掴んでいるユーザの手の表現の少なくとも一部を強調する第3のフィードバックを生成することができる。さらに、インタラクション容易化システムは、ユーザによって掴まれたときにシステムUIの完全な縁部を強調することができる。そのような第3のフィードバックは、システムUIとユーザとのインタラクションを表明してもよい。したがって、インタラクション容易化システムは、選択されたUI要素、すなわちアクティブ化されたUI要素を明確に区別する、システムUIおよびUI要素に対応する視覚および/または音声フィードバックの生成を可能にし、ユーザが物理世界でデバイスを掴むのと同様にシステムUIを掴むことを可能にし、それにより、ユーザフレンドリで強化された双方向体験を提供する。
【0012】
開示された技術の実施形態は、人工現実システムを含むことができる、または人工現実システムと併せて実装され得る。人工現実またはextra reality(XR)は、ユーザに提示する前に何らかの様式で調節されている現実の形態であり、これは例えば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、またはこれらの何らかの組み合わせおよび/もしくは派生物を含んでもよい。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされたコンテンツ(例えば、現実世界の写真)と組み合わせられた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらの何らかの組み合わせを含み得、それらのいずれも、単一のチャネルまたは複数のチャネルにおいて提示され得る(観察者に3次元効果をもたらすステレオビデオなど)。さらに、いくつかの実施形態では、人工現実は、例えば、人工現実におけるコンテンツを作り出すために使用される、および/または人工現実において使用される(例えば、人工現実におけるアクティビティを実施する)アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組み合わせに関連付けられ得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続される頭部装着型ディスプレイ(HMD)、独立型HMD、モバイルデバイスもしくはコンピューティングシステム、「洞穴」式環境もしくは他の投影システム、または、1または複数の視聴者に人工現実コンテンツを提供することが可能な任意の他のハードウェアプラットフォームを含む様々なプラットフォーム上に実装されてよい。
【0013】
本明細書で使用される「仮想現実」または「VR」は、ユーザの視覚的入力がコンピューティングシステムによって制御される没入型体験を指す。「拡張現実」または「AR」は、ユーザが現実世界の画像を見る前にこれらの画像がコンピューティングシステムを通過しているシステムを指す。例えば、裏にカメラがあるタブレットは、現実世界の画像をキャプチャした後、カメラからタブレットの反対側の画面上にその画像を表示することができる。タブレットは、仮想オブジェクトを追加することなどによって、画像がシステムを通過する際にこの画像を処理し、かつ調節または「拡張」することができる。「複合現実」または「MR」は、ユーザの眼に入る光がコンピューティングシステムによって部分的に生成され、かつ現実世界におけるオブジェクトに反射した光を部分的に構成するシステムを指す。例えば、MRヘッドセットは、パススルーディスプレイを有する眼鏡のように成形可能であり、これによって、現実世界からの光がMRヘッドセットにおけるプロジェクタから同時に光を発する導波路を通過することができることで、MRヘッドセットはユーザが見ることができる実物体と混合させた仮想オブジェクトを提示することができる。本明細書で使用される「人工現実」、「extra reality」、または「XR」は、VR、AR、MRのいずれか、またはこれらの任意の組み合わせもしくは混成物を指す。
【0014】
本明細書で使用される「強調」という用語は、仮想オブジェクトをXR環境において目立たせる、仮想オブジェクトの特徴および/または品質の強調表示などの修正を指すことができる。例えば、本開示では、システムUIの縁部、UI要素、またはXR環境におけるユーザの手の表現の一部の強調は、UI要素のサイズ、陰影、カラーリング、位置などを変更してもよい。これにより、例えば、システムUIの縁部、UI要素、またはユーザの手の表現の一部の外観における視覚的修正とのインタラクションまたは潜在的なインタラクションを表明することができる。例えば、視覚的修正は、縁部およびUI要素をユーザにとってより目立たせることができる。さらに、ユーザの手の表現の一部の視覚的修正は、強調表示された部分が仮想オブジェクトとインタラクトしていることを示してもよく、または強調表示された部分は、XR環境において仮想オブジェクトの近くにあってもよい。
【0015】
本明細書で使用される「システムユーザインターフェース(UI)」という用語は、ユーザが物理空間または仮想空間内の仮想オブジェクト、環境、または情報とインタラクトすることを可能にする仮想ユーザインターフェース(UI)を指してもよい。システムUIは、特定の特徴を描写するために使用され得るUI要素のセットまたは特徴要素を含んでもよい。例えば、システムUIは、人工現実デバイスのためのシステム制御、システム通知、XRナビゲーション制御、ブラウザまたはメッセージングインターフェースなどのフラットパネルアプリケーション、ソーシャルメディアインターフェースなどを提供してもよい。システムUIは、ユーザに対してXR環境内のある位置から別の位置に移動できるように、移動型(migrating)UI(例えば、物理世界における電子タブレットと同様である)であってもよい。システムUIは、2次元(2D)UIまたは3次元(3D)UIであってもよい。
【0016】
従来のXRシステムは、ユーザがXR環境において、例えば仮想オブジェクトとインタラクトすることを可能にする。しかしながら、XR環境におけるシステムユーザインターフェース(UI)などの仮想オブジェクトとのインタラクションは、ユーザにとって複雑なタスクである場合がある。例えば、ユーザは、XR環境内のシステムUIとインタラクトすることが困難であると感じる場合があり、その理由は、触覚フィードバックが限定されている場合がある、ターゲットするには制御部が小さいか、もしくは制御部をターゲットすることが困難である場合がある、またはユーザが、どのようなアクションを取ることができるか、もしくはシステムUIのどの部分とインタラクトすることができるかを判断することが困難であると感じる場合があるためである。したがって、従来のシステムを使用した、システムUIなどの仮想オブジェクトとのインタラクションのユーザ体験は、満足のいくものではなくなる。インタラクションを従来のシステムよりも没入的にするために、本開示のインタラクション容易化システムは、XR環境におけるシステムUIとのインタラクションのために、ユーザに没入型関与を提供する。インタラクション容易化システムは、ユーザとシステムUIおよび/またはシステムUIの1つもしくは複数の構成要素(例えば、システムUIの縁部およびシステムUIのUI要素)との間のインタラクションに関する様々なフィードバックを出力することができる。例えば、インタラクション容易化システムは、システムUIとのインタラクションが可能であることをユーザに理解させることができるシステムUIの縁部の強調を含むフィードバックを出力することができる。さらに、インタラクション容易化システムは、XR環境においてシステムUIを掴むユーザの手の表現の強調を可能にすることができ、現実世界もしくは物理世界のものとしてシステムUIを保持する、または掴む感覚を提供することができる。さらに、インタラクション容易化システムは、ユーザがインタラクトしているUI要素の強調および/または上昇を可能にし、選択されたUI要素をユーザに明確に可視化し、インタラクションが利用可能であることをさらに表明することができる。したがって、本開示のインタラクション容易化システムは、満足のいくユーザフレンドリなXR環境インタラクション体験をユーザに提供する。
【0017】
いくつかの実装形態について、図を参照してより詳細に以下に論じる。
図1は、開示された技術のいくつかの実装形態が動作可能であるデバイスの全体像を示すブロック図である。デバイスは、人工現実環境のユーザインターフェースインタラクションを容易にし得るコンピューティングシステム100のハードウェア構成要素を備えることができる。様々な実装形態では、コンピューティングシステム100は、処理を分散し、かつ入力データを共有するために有線または無線チャネル上で通信する単一のコンピューティングデバイス103または複数のコンピューティングデバイス(例えば、コンピューティングデバイス101、コンピューティングデバイス102、およびコンピューティングデバイス103)を含むことができる。いくつかの実装形態では、コンピューティングシステム100は、外部の処理またはセンサを必要とせずにユーザにコンピュータ作成または拡張体験を提供することが可能な独立型ヘッドセットを含むことができる。他の実装形態では、コンピューティングシステム100は、いくつかの処理動作がヘッドセット上で行われ、他の処理動作がコア処理構成要素にオフロードされる、ヘッドセットおよびコア処理構成要素(コンソール、モバイルデバイス、またはサーバシステムなど)などの複数のコンピューティングデバイスを含むことができる。例示のヘッドセットについて、
図2Aおよび
図2Bに関して後述する。いくつかの実装形態では、位置および環境データは、ヘッドセットに組み込まれたセンサによってのみ収集可能であるが、他の実装形態では、ヘッドセット無しのコンピューティングデバイスの1つまたは複数は、環境または位置データを追跡可能であるセンサ構成要素を含むことができる。
【0018】
コンピューティングシステム100は、1つまたは複数のプロセッサ110(例えば、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、ホログラフィック処理ユニット(HPU)など)を含み得る。プロセッサ110は、デバイスにおける単一の処理ユニットまたは複数の処理ユニットとすることができる、または複数のデバイスにわたって分散させる(例えば、コンピューティングデバイス101~103の2つ以上にわたって分散させる)ことができる。
【0019】
コンピューティングシステム100は、プロセッサ110に入力をもたらしてこれらに動きを通知する1つまたは複数の入力デバイス120を含むことができる。動きは、入力デバイスから受信される信号を解釈し、かつ通信プロトコルを使用して情報をプロセッサ110に通信するハードウェアコントローラによって仲介される。それぞれの入力デバイス120は、例えば、マウス、キーボード、タッチスクリーン、タッチパッド、ウェアラブル入力デバイス(例えば、触覚グローブ、ブレスレット、指輪、イヤリング、ネックレス、腕時計など)、カメラ(または、他の光ベースの入力デバイス、例えば、赤外線センサ)、マイクロホン、または、他のユーザ入力デバイスを含むことができる。
【0020】
プロセッサ110は、例えば、PCIバス、SCSIバス、または無線接続などの内部または外部バスを用いて他のハードウェアデバイスに結合可能である。プロセッサ110は、ディスプレイ130などのデバイスに対するハードウェアコントローラと通信可能である。ディスプレイ130は、テキストおよびグラフィックを表示するために使用可能である。いくつかの実装形態では、ディスプレイ130は、入力デバイスがタッチスクリーンである、または視線方向監視システムを備える時など、ディスプレイの一部としての入力デバイスを含む。いくつかの実装形態では、ディスプレイは入力デバイスから分離している。表示装置の例には、LCDディスプレイスクリーン、LEDディスプレイスクリーン、投影、ホログラフィック、または拡張現実ディスプレイ(ヘッドアップ表示装置または頭部装着型デバイスなど)などがある。ネットワークチップまたはカード、ビデオチップまたはカード、オーディオチップまたはカード、USB、ファイヤーワイヤーまたは他の外部デバイス、カメラ、プリンタ、スピーカ、CD-ROMドライブ、DVDドライブ、ディスクドライブなどの他のI/Oデバイス140も、プロセッサに結合可能である。
【0021】
いくつかの実装形態では、カメラ、深度センサ、IMUセンサ、GPSユニット、LiDARまたは他の飛行時間型センサなどのI/Oデバイス140からの入力をコンピューティングシステム100によって使用して、その環境内のユーザの場所を追跡しながらユーザの物理環境を識別およびマッピングすることができる。この同時位置特定およびマッピング(SLAM)システムは、ある領域(部屋、建物、屋外空間などであってもよい)のマップ(例えば、トポロジー、グリッド(gird)など)を生成し、および/またはその領域をマッピングしたコンピューティングシステム100もしくは別のコンピューティングシステムによって以前に生成されたマップを取得することができる。SLAMシステムは、GPSデータ、識別されたオブジェクトおよび構造をマッピングされたオブジェクトおよび構造と一致させること、加速度および他の位置変化を監視することなどの要因に基づいて、領域内のユーザを追跡することができる。
【0022】
コンピューティングシステム100は、他のローカルコンピューティングデバイスまたはネットワークノードと無線でまたは有線ベースで通信することが可能な通信デバイスを含むことができる。通信デバイスは、例えば、TCP/IPプロトコルを使用するネットワークを通して別のデバイスまたはサーバと通信できる。コンピューティングシステム100は、複数のネットワークデバイスにわたって動作を分散するために通信デバイスを利用できる。
【0023】
コンピューティングシステム100のコンピューティングデバイスのうちの1つにおいて含まれ得る、またはコンピューティングシステム100の複数のコンピューティングデバイスまたは他の外部デバイスにわたって分散可能であるプロセッサ110は、メモリ150にアクセス可能である。メモリは、揮発性または不揮発性ストレージに対する1つまたは複数のハードウェアデバイスを含み、かつ読み出し専用メモリおよび書き込み可能メモリ両方を含むことができる。例えば、メモリは、ランダムアクセスメモリ(RAM)、様々なキャッシュ、CPUレジスタ、読み出し専用メモリ(ROM)、および書き込み可能な不揮発性メモリ、例えば、フラッシュメモリ、ハードドライブ、フロッピーディスク、CD、DVD、磁気記憶装置、およびテープドライブなどのうちの1つまたは複数を含むことができる。メモリは、基盤となるハードウェアから切り離されて伝播する信号ではないため、メモリは非一時的なものである。メモリ150は、プログラムおよびソフトウェア、例えば、オペレーティングシステム162、インタラクション容易化モジュール164、および他のアプリケーションプログラム166を格納するプログラムメモリ160を含むことができる。メモリ150はまた、例えば、システムUIの位置データ、ユーザの手の位置データ、インタラクション入力データ、構成データ、設定、ユーザオプションまたは好みなどを含むことができるデータメモリ170を含むことができ、これらはプログラムメモリ160またはコンピューティングシステム100の任意の要素に提供することができる。
【0024】
インタラクション容易化モジュール164は、ユーザとXR環境内のシステムUIおよび/またはUI要素との間のインタラクションを容易にするように構成されてもよい。システムUIおよび/またはUI要素との間のインタラクションを容易にするために、インタラクション容易化モジュール164は、XR環境においてシステムUIをレンダリングすること、ユーザの手の位置を追跡すること、システムUIまたはUI要素とのインタラクション機会を表明すること、システムUIに対するユーザの手の位置を更新すること、およびシステムUIまたはUI要素とのインタラクションを表明することなどの様々な機能を実施してもよい。
【0025】
UI要素とのいくつかのインタラクション機会を表明するために、インタラクション容易化モジュール164は、ユーザの手の位置に基づいて、UI要素のアクティブ化の前にUI要素を修正する第1のフィードバックを生成してもよい。システムUIとの他のインタラクション機会を表明するために、インタラクション容易化モジュール164は、システムUIの縁部の少なくとも一部を強調する第2のフィードバックをさらに生成してもよい。
【0026】
UI要素とのインタラクションを表明するために、インタラクション容易化モジュール164は、ユーザの手の位置がUI要素とインタラクトしたという決定に基づいて、ユーザの手の表現の場所を修正させてもよい。システムUIとのインタラクションを表明するために、インタラクション容易化モジュール164は、ユーザの手がシステムUIを掴んでいるという決定に基づいて、ユーザの手の表現の一部を強調する第3のフィードバックを生成してもよい。
【0027】
いくつかの実装形態は、多数の他のコンピューティングシステム環境または構成で動作可能とすることができる。当該技術で使用するのに適し得るコンピューティングシステム、環境、および/または構成の例は、XRヘッドセット、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、携帯電話、ウェアラブル電子機器、ゲーム機、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能家庭電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、または上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などを含むが、これらに限定されない。
【0028】
図2Aは、いくつかの実装形態による仮想現実頭部装着型ディスプレイ(HMD)200の配線図である。HMD200は前部剛体205およびバンド210を含む。前部剛体205は、電子ディスプレイ245の1つまたは複数の電子ディスプレイ要素、慣性運動装置(IMU)215、1つまたは複数の位置センサ220、ロケータ225、および1つまたは複数の算出部230を含む。位置センサ220、IMU215、および算出部230は、HMD200に内蔵されてよくユーザには不可視である場合がある。様々な実装形態では、IMU215、位置センサ220、およびロケータ225は、3自由度(3DoF)または6自由度(6DoF)での現実世界および人工現実環境におけるHMD200の移動および場所を追跡可能である。例えば、ロケータ225は、HMD200の周りの実物体上の光点を生じさせる赤外光ビームを発することができる。別の例として、IMU215は、例えば、1つまたは複数の加速度計、ジャイロスコープ、磁力計、他の非カメラベースの位置、力、もしくは向きセンサ、またはそれらの組み合わせを含むことができる。HMD200と一体化された1つまたは複数のカメラ(図示せず)は光点を検出できる。HMD200における算出部230は、HMD200の位置および移動を推定するために、およびHMD200を取り囲む実物体の形状および位置を識別するために、検出された光点を使用することができる。
【0029】
電子ディスプレイ245は、前部剛体205と一体化可能であり、かつ算出部230によって命令されるとユーザに画像光を提供可能である。様々な実施形態では、電子ディスプレイ245は単一の電子ディスプレイまたは複数の電子ディスプレイ(例えば、それぞれのユーザの眼に対するディスプレイ)であり得る。電子ディスプレイ245の例として、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリックス式有機発光ダイオードディスプレイ(AMOLED)、1つもしくは複数の量子ドット発光ダイオード(QOLED)サブピクセル、投射器(例えば、マイクロLED、レーザなど)、その他のディスプレイ、またはこれらの何らかの組み合わせが挙げられる。
【0030】
いくつかの実装形態では、HMD200は、パーソナルコンピュータ(PC)(図示せず)などのコア処理構成要素および/または1つもしくは複数の外部センサ(図示せず)に結合可能である。PCが、HMD200の場所および移動を判断するためにIMU215および位置センサ220からの出力と組み合わせて使用することができる外部センサは、(例えば、HMD200から発した光によって)HMD200を監視することができる。
【0031】
図2Bは、複合現実HMD252およびコア処理構成要素254を含む複合現実HMDシステム250の配線図である。複合現実HMD252およびコア処理構成要素254は、リンク256によって指示されるように無線接続(例えば、60GHzのリンク)を介して通信可能である。他の実装形態では、複合現実システム250は、外部の計算装置はなくヘッドセットのみを含む、または複合現実HMD252とコア処理構成要素254との間の他の有線または無線接続を含む。複合現実HMD252はパススルーディスプレイ258およびフレーム260を含む。フレーム260は、様々な電子コンポーネント(図示せず)、例えば、光プロジェクタ(例えば、LASER、LED等)、カメラ、目追跡センサ、MEMSコンポーネント、ネットワーキングコンポーネント等を格納することができる。
【0032】
プロジェクタは、ユーザに媒体を表示するために、例えば、光学素子を介して、パススルーディスプレイ258に結合可能である。光学素子は、プロジェクタからユーザの眼に光を導くための、1つまたは複数の導波路アセンブリ、反射器、レンズ、鏡、コリメータ、格子などを含むことができる。画像データは、コア処理構成要素254からリンク256を介してHMD252に送信可能である。HMD252におけるコントローラは、プロジェクタから画像データを光パルスに変換可能であり、これは光学素子を介して出力光としてユーザの眼に送信可能である。出力光は、ディスプレイ258を通過する光と混合させることができることで、出力光によって現実世界に存在するかのように現れる仮想オブジェクトを提示することができる。
【0033】
HMD200と同様に、HMDシステム250は、HMDシステム250が、例えば、これ自体を3DoFまたは6DoFで追跡すること、ユーザの一部分(例えば、手、脚、頭部、または他の体の一部)を追跡すること、HMD252が移動すると静止しているように現れるように仮想オブジェクトをマッピングすること、および、ジェスチャおよび他の現実世界のオブジェクトに対して仮想オブジェクトを反応させることを可能にする、運動および位置追跡装置、カメラ、光源なども含むことができる。
【0034】
図2Cは、コントローラ270(コントローラ276Aおよび276Bを含む)を示し、いくつかの実装形態では、ユーザは、HMD200および/またはHMD250によって提示される人工現実環境とインタラクトするために片手または両手で保持することができる。コントローラ270は、直接または外部デバイス(例えば、コア処理構成要素254)を介してHMDと通信することができる。コントローラは、これ自体のIMU装置、位置センサを有することができる、および/またはさらなる光点を発することができる。HMD200もしくは250、外部センサ、またはコントローラ内のセンサは、これらのコントローラ光点を追跡して、コントローラの位置および/または向きを決定することができる(例えば、3DoFまたは6DoFでコントローラを追跡するために)。HMD200における算出部230またはコア処理構成要素254は、ユーザの手の位置および運動を監視するために、IMUおよび位置出力と組み合わせてこの追跡を使用することができる。コントローラはまた、ユーザが入力を提供し、オブジェクトとインタラクトするために作動することができる様々なボタン(例えば、ボタン272A~F)および/またはジョイスティック(例えば、ジョイスティック274A~B)を含むことができる。
【0035】
様々な実装形態では、HMD200または250はまた、ユーザのインタラクションおよび意図の指示を監視するために、視線追跡ユニット、オーディオシステム、様々なネットワーク構成要素などの追加のサブシステムを含むことができる。例えば、いくつかの実装形態では、コントローラの代わりに、またはコントローラに加えて、HMD200もしくは250に含まれる、または外部カメラからの1つまたは複数のカメラは、ジェスチャならびに他の手および身体の運動を決定するためにユーザの手の位置および姿勢を監視することができる。別の例として、1つまたは複数の光源はユーザの眼のいずれかまたは両方を照らすことができ、HMD200または250は、眼に面するカメラを使用してこの光の反射を捕捉して眼の位置を決定し(例えば、ユーザの角膜の周りの反射のセットに基づく)、ユーザの眼をモデル化して視線方向を決定することができる。
【0036】
図3は、開示された技術のいくつかの実装形態が動作可能である環境300の全体像を示すブロック図である。環境300は、1つまたは複数のクライアントコンピューティングデバイス305A~Dを含むことができ、これらの例として、コンピューティングシステム100を挙げることができる。いくつかの実装形態では、クライアントコンピューティングデバイスのいくつか(例えば、クライアントコンピューティングデバイス305B)は、HMD200またはHMDシステム250とすることができる。クライアントコンピューティングデバイス305は、ネットワーク330を通した、サーバコンピューティングデバイスなどの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作可能である。
【0037】
いくつかの実装形態では、サーバ310は、サーバ320A~Cなどの他のサーバを通してクライアント要求を受信し、かつこれらの要求の達成を調整するエッジサーバとすることができる。サーバコンピューティングデバイス310および320は、コンピューティングシステム100などのコンピューティングシステムを含むことができる。それぞれのサーバコンピューティングデバイス310および320は単一のサーバとして論理的に表示されるが、サーバコンピューティングデバイスはそれぞれ、同じまたは地理的に異なる物理的場所に位置する複数のコンピューティングデバイスを包含する分散コンピューティング環境とすることができる。
【0038】
クライアントコンピューティングデバイス305ならびにサーバコンピューティングデバイス310および320はそれぞれ、他のサーバ/クライアントデバイスに対するサーバまたはクライアントの機能を果たすことができる。サーバ310はデータベース315に接続することができる。サーバ320A~Cはそれぞれ、対応するデータベース325A~Cに接続できる。上で論じられるように、それぞれのサーバ310または320はサーバのグループに対応することができ、これらのサーバのそれぞれは、データベースを共有できるまたはこれら自体のデータベースを有することができる。データベース315および325は単一のユニットとして論理的に表示されるが、データベース315および325はそれぞれ、複数のコンピューティングデバイスを包含する分散コンピューティング環境とすることができる、これらの対応するサーバ内に位置することができる、または同じまたは地理的に異なる物理的場所に位置することができる。
【0039】
ネットワーク330は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メッシュネットワーク、ハイブリッドネットワーク、または他の有線もしくは無線ネットワークとすることができる。ネットワーク330は、インターネット、またはいくつかの他のパブリックもしくはプライベートネットワークであり得る。クライアントコンピューティングデバイス305は、有線または無線通信などによって、ネットワークインターフェースを通してネットワーク330に接続可能である。サーバ310とサーバ320との間の接続は別個の接続として示されるが、これらの接続は、ネットワーク330または別個のパブリックもしくはプライベートネットワークを含む、任意の種類のローカル、広域、有線、または無線ネットワークとすることができる。
【0040】
図4は、いくつかの実装形態において、開示された技術を用いるシステムで使用可能である構成要素400を示すブロック図である。構成要素400は、コンピューティングシステム100の1つのデバイスに含まれ得る、またはコンピューティングシステム100のデバイスの複数にわたって分散され得る。構成要素400は、ハードウェア410、メディエータ420、および専用構成要素430を含む。上で論じられるように、開示された技術を実装するシステムは、処理ユニット412、ワーキングメモリ414、入力および出力デバイス416(例えば、カメラ、ディスプレイ、IMU装置、ネットワーク接続など)、およびデータ記憶用メモリ418を含む様々なハードウェアを使用できる。様々な実装形態では、データ記憶用メモリ418は、ローカルデバイス、リモート記憶デバイスへのインターフェース、またはこれらの組み合わせの1つまたは複数とすることができる。例えば、データ記憶用メモリ418は、システムバスを通してアクセス可能な1つまたは複数のハードドライブもしくはフラッシュドライブとすることができる、または(ストレージ315または325などにおける)クラウドストレージプロバイダ、または1つまたは複数の通信ネットワークを介してアクセス可能な他のネットワークストレージとすることができる。様々な実装形態では、構成要素400は、クライアントコンピューティングデバイス305などのクライアントコンピューティングデバイスにおいて、またはサーバコンピューティングデバイス310または320などのサーバコンピューティングデバイス上に実装可能である。
【0041】
メディエータ420は、ハードウェア410と専用構成要素430との間のリソースを仲介する構成要素を含むことができる。例えば、メディエータ420は、オペレーティングシステム、サービス、ドライブ、基本入出力システム(BIOS)、コントローラ回路、または他のハードウェアもしくはソフトウェアシステムを含むことができる。
【0042】
専用構成要素430は、XR環境におけるユーザインターフェースインタラクションを容易にするための動作を実施するように構成されたソフトウェアまたはハードウェアを含むことができる。専用構成要素430は、システムUIレンダリングモジュール434と、位置追跡モジュール436と、インタラクション機会表明モジュール438と、位置更新モジュール440と、インタラクション表明モジュール442と、ユーザインターフェースの提供、データの転送、および専用構成要素の制御に使用することができる構成要素およびAPI、例えばインターフェース432とを含むことができる。いくつかの実装形態では、構成要素400は、複数のコンピューティングデバイスにわたって分散されるコンピューティングシステムにある可能性がある、または専用構成要素430の1つまたは複数を実行するサーバベースアプリケーションに対するインターフェースである可能性がある。別個の構成要素として描写されているが、専用構成要素430は、機能の論理的もしくは他の非物理的な区別であってもよく、および/または1つもしくは複数のアプリケーションのサブモジュールもしくはコードブロックであってもよい。
【0043】
システムUIレンダリングモジュール434は、システムUIをXR環境においてレンダリングするように構成されてもよい。システムUIは、システムUIがユーザの眼の高さにあるように、XR環境においてレンダリングされてもよい。さらに、システムUIはまた、XR環境においてシステムUIがユーザにとって容易にアクセス可能であるように、ユーザから距離を置いてレンダリングされてもよい。XR環境におけるシステムUIのレンダリングの詳細は、例えば
図5Aにさらに提供される。
【0044】
位置追跡モジュール436は、システムUIおよび/またはシステムUIのUI要素のセットに対するユーザの手の位置を追跡するように構成されてもよい。位置の追跡は、現実世界環境におけるユーザの手の実際の位置および/またはジェスチャを決定するために実施される。例えば、位置の追跡は、XRデバイス(例えば、HMD200または250)および/またはリストバンドもしくはグローブなどのユーザによって装着されたデバイス上の1つまたは複数のセンサ(例えば、カメラ)を使用して受信された入力データに基づいて実施されてもよい。さらに、位置追跡モジュール436はまた、XRデバイスに関連付けられたコントローラ270に基づいて入力データを受信してもよい。ユーザの手の位置の追跡の詳細は、例えば
図5Aにさらに提供される。
【0045】
インタラクション機会表明モジュール438は、ユーザの手の位置とシステムUIおよび/またはUI要素のセットのうちのUI要素との間のインタラクション機会を表明するように構成されてもよい。例えば、システムUIを掴むインタラクション機会は、ユーザの手の位置がシステムUIの縁部から閾値距離内にあることに基づいて示されてもよい。別の例では、UI要素を選択するインタラクション機会は、ユーザの手の位置がUI要素のセットのうちのUI要素から閾値距離内にあることに基づいて示されてもよい。システムUIまたはUI要素とのインタラクション機会の表明の詳細は、例えば
図5Bおよび
図5Cにさらに提供される。
【0046】
位置更新モジュール440は、XR環境におけるシステムUIおよび/またはUI要素のセットに対するユーザの手の位置関連情報を更新するように構成されてもよい。例えば、ユーザの手の表現の位置は、現実世界環境におけるユーザの手の追跡された位置データに基づいて更新されてもよい。ユーザの手の位置データは、位置追跡モジュール436を使用して、例えば、XRデバイス上の1つもしくは複数のセンサ(例えば、HMD200または250)、ウェアラブル機器、またはXRデバイスに関連付けられたコントローラ270に基づいて追跡されてもよい。ユーザの手の位置の更新の詳細は、例えば
図6にさらに提供される。
【0047】
インタラクション表明モジュール442は、ユーザの手の位置とシステムUIおよび/またはUI要素との間のインタラクションを表明するように構成されてもよい。例えば、UI要素とユーザの手との間のインタラクションは、ユーザの手の表現の場所を、ユーザの手の現実世界での場所を直接追跡することから、ユーザの手の現実世界での場所およびUI要素の場所の両方に基づく位置に修正することに基づいて表明されてもよい。別の例では、システムUIとユーザの手との間のインタラクションは、ユーザの手がシステムUIを掴んでいるという決定に基づいてユーザの手の表現の一部を強調する第3のフィードバックの生成に基づいて表明されてもよい。システムUIまたはUI要素とのインタラクションを表明する詳細は、例えば
図6にさらに提供される。
【0048】
上述される
図1~
図4においておよび以下に論じられるフロー図のそれぞれにおいて示される構成要素が様々なやり方で変えられる場合があることを、当業者は理解するであろう。例えば、論理の順序は再配置構成され得る、サブステップは並列に遂行され得る、例解される論理は省略され得る、他の論理が含まれ得る、その他である。一部の実現形態において、上記で説明された構成要素のうちの1つまたは複数は、下記で説明されるプロセスのうちの1つまたは複数を実行することができる。
【0049】
図5Aは、XR環境におけるユーザとシステムユーザインターフェース(UI)とのインタラクションを容易にするための例示的な環境500Aを示す概念図である。環境500Aは、XRデバイス508を装着し得るユーザ504を含み得る現実世界環境502を含んでもよい。さらに、環境500Aは、XR環境502AにおいてレンダリングされるシステムUI510を含むXR環境502Aを含んでもよい。システムUI510は、UI要素512のセットのうちのUI要素512AおよびシステムUI510の縁部514を含んでもよい。さらに、XR環境502Aはまた、ユーザの手506の表現516を含んでもよい。現実世界環境502およびXR環境502Aは、同じ物理空間を占めてもよく、すなわち、現実世界環境502におけるユーザの動きは、XR環境502Aにおけるユーザの視点などの対応する変化を引き起こす場合がある。例えば、システムUI510のオーバーレイ表現510Aも現実世界環境502に描写されており、現実世界環境502に対してシステムUI510の位置がどのように存在するかを示している。場合によっては、XR環境502Aは、現実世界502と併せてレンダリングされたシステムUI510のオーバーレイ表現510Aをユーザが見ることができる複合現実または拡張現実環境であってもよい。例えば、ユーザ504は、ユーザが現実世界環境502を見ることができるのと同時に、XR環境502Aにおいてレンダリングされ得るシステムUIのオーバーレイ表現510Aを、XRデバイス508を介して見ることができてもよい。他の場合には、XR環境は、ユーザが見るものが完全にコンピュータ生成される仮想環境とすることができる。したがって、システムUI510のオーバーレイ表現510Aは、現実世界環境502と併せて見ることができないが、代わりに、ユーザが現実世界内も移動しているのと同時に移動している仮想空間内にレンダリングされる。
【0050】
XRデバイス508は、XR環境502AにおいてシステムUI504とインタラクトするためにユーザ504(例えば、XRデバイス508を着用している人)によって使用され得るウェアラブルデバイスであってもよい。XRデバイス508は、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスもしくはコンピューティングシステム、または人工現実コンテンツを提供することができる任意の他のハードウェアプラットフォームを含むような物理デバイスであってもよい。例えば、XRデバイス508は、例えば
図2Aで説明したような仮想現実ヘッドマウントディスプレイ(HMD)200および/または例えば
図2Bで説明したような複合現実HMDシステム250であってもよい。XRデバイス508は、ユーザの手506の位置を追跡することができ、かつ/またはユーザの手506のジェスチャをリアルタイムで検出することもできる1つまたは複数のセンサを有してもよい。例えば、ユーザの手506の表現516の位置は、現実世界502におけるユーザの手506の位置の追跡に基づいて、XR環境502Aにおいて更新されてもよい。さらに、ユーザの手506の位置の追跡はまた、例えば、
図2Cに説明されるXRデバイス508に関連付けられたコントローラ270(例えば、ハンドコントローラ)を使用して実施されてもよく、またはコントローラは、HMD200もしくは250のものと同様の自己追跡機能を含んでもよく、またはHMD200もしくは250によるコントローラの追跡を可能にする設計、発光、または他の信号を有し得るウェアラブルデバイスであってもよい。
【0051】
一実装形態では、システムUI510は、XR環境502Aにおいてレンダリングされてもよい。システムUI510は、XR環境502Aにおいてユーザ504の正面にレンダリングされる2Dユーザインターフェース(UI)または3D UIであってもよい。システムUI510は、仮想オブジェクト、環境、または物理世界および/もしくは仮想世界に関する情報とインタラクトするために使用されてもよい。より具体的には、システムUI510は、ユーザとXR環境502Aとの間のインタラクションが発生し得る任意のUIであってもよい。システムUI510は、XRデバイス508を介してユーザ504からの1つまたは複数の入力を受信し、ユーザ504から受信した入力に基づいて出力を提供してもよい。システムUI510は、例えば、複合ユーザインターフェース(CUI)および/またはマルチメディアユーザインターフェース(MUI)などの1つであってもよい。
【0052】
一実装形態では、システムUI510は、UI要素512のセットのうちのUI要素512Aを含んでもよい。UI要素512のセットは、システムUI510上で見ることができる視覚的要素であってもよい。例えば、UI要素のセットは、アイコン、ボタン、メニュー、テキストフィールド、進捗バー、画像、図面、アニメーションなどであってもよい。UI要素のセットは、例えばウェブサイトのブラウジングまたはアプリケーションへのアクセスなどの様々な目的のためのユーザによるシステムUI510の利用を可能にする。UI要素のセットは、任意の形状およびサイズであってもよい。
【0053】
さらに、縁部514は、システムUI510の周囲を描写してもよい。縁部514は、システムUI510からのユーザの手506の位置の近接度に基づいて現れたり消えたりしてもよい。例えば、縁部514は、ユーザの手514の位置の近接度が閾値距離内にあることに基づいて強調を開始してもよく、すなわち、縁部514の一部は、ユーザの手506の表現516がシステムUI510の縁部514から第2の閾値距離内にあるときに強調してもよい。さらに、縁部514の強調部分は、ユーザの手506の表現516がシステムUI510の縁部514に近づくにつれて増加する。縁部514の強調の詳細は、例えば
図5Cでさらに説明される。
【0054】
図5Bは、XR環境502Aにおけるユーザインターフェースインタラクションを容易にするためのUI要素512Aに対応する第1のフィードバックを示す概念
図500Bである。XR環境502Aは、システムUI510を含んでもよい。システムUI510は、UI要素512Aを含んでもよい。XR環境502Aは、ユーザの手506の表現516をさらに含んでもよい。
【0055】
コンピューティングシステムは、現実世界502におけるユーザの手506の位置を決定するように構成されてもよい。一例では、ユーザの手506の位置(XR環境502Aではユーザの手506の表現516として描写される)は、UI要素512Aの第1の閾値距離520内にある。ユーザの手506の位置がUI要素512Aの第1の閾値距離520内にあるという決定に応答して、コンピューティングシステムは、UI要素512Aのアクティブ化の前にUI要素512Aを修正し得る第1のフィードバックを生成してもよい。例えば、第1のフィードバックは、ユーザの手506に向かってシステムUI510の表面の上方に第1の高さ518だけUI要素512Aを拡張することを含んでもよい。そのような第1のフィードバックは、ユーザ504とUI要素512Aとのインタラクション機会を表明してもよい。そのような場合、UI要素512Aとユーザの手506の位置との間の実際のインタラクションは実施されない。例えば、第1の閾値高さ518は、ユーザの手506の少なくとも1本の指がUI要素512Aに近く、要素512Aを押すなどのユーザインタラクションによってUI要素512Aが選択され得ることを描写するために、UI要素512AがシステムUI510の平面の上方に上昇し得る高さである。UI要素512Aのそのような拡張は、UI要素のセットのうちのUI要素512Aが選択され得るという指示としてユーザ504によって理解されてもよい。例示的なシナリオでは、第1の閾値高さ518は「0.01」メートルであってもよく、すなわち、UI要素512AはシステムUI510の表面から「0.01」メートル上方まで拡張してもよい。
【0056】
いくつかの実施形態では、第1のフィードバックは、UI要素のセットのうちのUI要素512Aによってカバーされ得るシステムUI510の表面の量を増加させることをさらに含んでもよい。例えば、表面を増加させることは、表面の増加後、UI要素512AがUI要素のセットの他のUI要素から視覚的に区別され得るように、UI要素512Aの元のサイズをUI要素512Aの元のサイズよりも大きくてもよいサイズに拡大することに対応してもよい。そのような第1のフィードバックは、ユーザ504とUI要素512Aとのインタラクション機会を表明してもよい。そのような場合、UI要素512Aとユーザの手506の位置との間の実際のインタラクションは実施されない。
【0057】
図5Cは、システムUI510の縁部514の一部の強調に対応する第2のフィードバックを表す概念
図500Cである。概念
図500Cは、XR環境502Aを含んでもよい。XR環境502Aは、システムUI510およびユーザの手506の表現516を含んでもよい。
【0058】
コンピューティングシステムは、現実世界502におけるユーザの手506の位置を決定するように構成されてもよい。一例では、ユーザの手506の位置(XR環境502Aではユーザの手506の表現516として描写される)は、システムUI510の縁部514の第2の閾値距離522内にある。ユーザの手506の位置がシステムUI510の縁部514の第2の閾値距離522内にあるという決定に応答して、コンピューティングシステムは第2のフィードバックを生成してもよい。例えば、第2のフィードバックは、システムUI510の縁部514の少なくとも一部を強調することを含んでもよい。例えば、強調は、カラーリング、陰影、サイズ、不透明度などを変更することを含むことができる。そのような第2のフィードバックは、ユーザ504とシステムUI510の縁部514とのインタラクション機会を表明してもよい。そのような場合、システムUI510の縁部514とユーザの手506の位置との間の実際のインタラクションは実施されない。
【0059】
いくつかの実施形態では、縁部514の部分の強調は、任意のサイズであってもよい。さらに、強調部分のサイズは、ユーザの手506の位置とシステムUI510の縁部514との近接度が第2の閾値距離522内であることに基づいて増加および/または減少させてもよい。縁部514の強調部分の詳細は、例えば
図8Aにさらに提供される。
【0060】
第2のフィードバックは、ユーザの手506の表現516の一部を強調することをさらに含んでもよい。例えば、強調は、カラーリング、陰影、サイズ、不透明度などを変更することを含んでもよい。部分は、ユーザの手506の表現516の親指または1本もしくは複数本の指の少なくとも一方を含んでもよい。さらに、第2のフィードバックは、ユーザの手の表現516の一部とシステムUI510との間の距離の減少に基づいて、ユーザの手506の表現516の親指または1本もしくは複数本の指の少なくとも一方の強調部分の量を増加させることをさらに含んでもよい。例えば、ユーザの手506の表現516の部分(親指および1本もしくは複数本の指の指先など)は、ユーザの手506の位置が第2の閾値距離522内にあることに基づいて徐々に強調を開始してもよく、ユーザの手506がシステムUI510に近づくにつれて、ユーザの手506の表現516の強調部分または強調の強度は増加を開始してもよい。さらに、ユーザの手506の表現516の部分516Aの強調は、グラブジェスチャに含まれる表現516の部分に依存してもよい。例えば、ユーザ504は、親指および人差し指を使用してシステムUI510の縁部514を掴んでもよい。そのような場合、システムUI510の縁部514と接触しているユーザの手506の表現516における親指および人差し指に対応する部分516Aが強調されてもよい。別の例では、ユーザ504は、親指および4本全ての指を使用してシステムUI510の縁部514を掴んでもよい。そのような場合、システムUI510の縁部514と接触しているユーザの手506の表現516における親指および4本全ての指に対応する部分516Aが強調されてもよい。
【0061】
図6は、ユーザの手506とシステムUI510のUI要素512Aとのインタラクションを示す概念
図600である。概念
図600は、XR環境502Aを含んでもよい。XR環境502Aは、システムUI510およびユーザの手506の表現516を含んでもよい。XR環境502Aは、XR環境502Aにおけるユーザの手506の表現516の位置と比較した、現実世界環境502におけるユーザの手506の位置をさらに示す。
【0062】
コンピューティングシステムは、システムUI510および/またはUI要素512Aのセットに対するユーザの手506の位置を更新するように構成されてもよい。ユーザの手506の位置は、現実世界502におけるユーザの手506の位置の追跡に基づいて、XR環境502Aにおいて更新されてもよい。ユーザの手506の更新された位置は、ユーザの手506の表現516として描写されてもよい。
【0063】
コンピューティングシステムは、ユーザの手506の更新された位置に基づいて、ユーザの手506の位置がUI要素512Aとインタラクトしたことを決定するようにさらに構成されてもよい。ユーザの手506の位置がUI要素512Aとインタラクトしたという決定に応答して、コンピューティングシステムは、ユーザの手506の表現516の場所および/または位置を修正させてもよい。ユーザの手506の表現516の場所は、ユーザの手506の現実世界での場所を直接追跡することから、ユーザの手506の現実世界での場所(現実世界環境502内の場所など)およびXR環境502A内のUI要素512Aの場所の両方に基づく位置に修正されてもよい。例えば、コンピューティングシステムは、最初に、ユーザの手506の表現516をユーザの手506の現実世界の位置と近くなるように一致させる。ユーザの手506の位置がUI要素512Aとインタラクトしたという決定に基づいて、ユーザの手506の表現516がUI要素512Aに取り付けられる(または貼り付けられる)。貼り付けは、ユーザの手506が現実世界においてUI要素512Aから閾値量だけ離れて移動するときに、ユーザの手506の表現516がUI要素512Aから離れないようなものである。
【0064】
一実装形態では、UI要素512Aとインタラクトするために、ユーザ504は、UI要素512Aを押すことを必要とする場合がある。コンピューティングシステムは、ユーザの手506の表現516がシステムUI510の表面を越えてUI要素512Aを押していると決定するようにさらに構成されてもよい。ユーザの手506の表現516がシステムUI510の表面を越えてUI要素512Aを押しているという決定に応答して、コンピューティングシステムは、UI要素512AがシステムUI510の表面の下に拡張するのを防止してもよい。例えば、ユーザ504がシステムUI510の表面を越えて第1の高さ518だけ拡張されたUI要素512Aを押そうとする状況(例えば
図5Bで説明したもの)において、コンピューティングシステムは、システムUI510の表面および/または平面の下でのUI要素512Aの移動を防止してもよい。場合によっては、ユーザの手の表現もシステムUI510の表面を通過しないように、ユーザの手の表現の位置は、ユーザの手の現実世界での場所を正確に追跡しないように修正されてもよい。
【0065】
さらに、別の実装形態では、ユーザの手506の位置(XR環境502A内では表現516として描写される)がUI要素512Aとインタラクトした可能性があるという決定に応答して、コンピューティングシステムはUI要素512Aを強調してもよい。例えば、UI要素512Aの強調は、UI要素512Aのカラーリング、陰影サイズ、不透明度などを変更することを含んでもよい。さらに、UI要素512Aと接触しているユーザの手506の表現516の1つまたは複数の部分はまた、色、陰影、サイズ、不透明度などの変化で強調されてもよい。
【0066】
図7Aおよび
図7Bは、システムUI510のUI要素512Aのアクティブ化を集合的に示す概念図である。
図7Aは、UI要素512Aのアクティブ化の第1のステップを含む
図700Aを描写する。
図700Aは、XR環境502Aを含んでもよい。XR環境502Aは、システムUI510と、ユーザの手506の表現516とを含む。
【0067】
一実装形態では、UI要素512Aは、アクティブ化され得るボタンUI要素(例えば
図5Aで説明したもの)であってもよい。アクティブ化は、ユーザの手506(XR環境502A内では表現516として描写される)が、第1のステップとして第1の押下閾値を超えてUI要素512Aを押下し、第2のステップとして第2の押下閾値を超えてUI要素512Aを解放することによってUI要素512Aとインタラクトしたという決定に応答して、コンピューティングシステムによって実施されてもよい。第2のステップが
図7Bに描写されている。
【0068】
図7Bは、UI要素512Aのアクティブ化の第2のステップを含む
図700Bを描写する。
図700Bは、XR環境502Aを含んでもよい。XR環境502Aは、システムUI510と、ユーザの手506の表現516とを含む。UI要素512Aは、UI要素512Aとのインタラクション後に第2の押下閾値702を超えて解放されてもよい。
【0069】
例示的なシナリオでは、コンピューティングシステムは、ユーザの手506の位置が第1の閾値距離520内にあると決定された後に、UI要素512Aを0.01メートル拡張してもよい。そのような場合、UI要素512Aをアクティブ化するために、ユーザは、UI要素512AがシステムUI510の表面と同一平面上またはほぼ同一平面上になるようにUI要素512Aを第1の押下閾値だけ押し、UI要素512Aが第2の押下閾値702(例えば、0.002メートル)を超えて上昇し得るようにUI要素512Aを解放してもよい。さらに、第1の押下閾値は、第2の押下閾値702よりもシステムUI510の表面に近い。例えば、UI要素512Aが第1の押下閾値を超えて押下されると、UI要素512AはシステムUI510の表面と同一平面またはほぼ同一平面になり、UI要素512Aが第2の押下閾値702を超えて解放されると、UI要素512Aは上昇する。第2の押下閾値702を超えてUI要素512Aを解放した後、コンピューティングシステムはUI要素512Aをアクティブ化してもよい。
【0070】
別の実装形態では、コンピューティングシステムは、UI要素512Aのアクティブ化に応答してオーディオキューを出力してもよい。例えば、オーディオキューは、UI要素512Aが第2の押下閾値702を超えて解放された後に出力されてもよい。オーディオキューは、XRデバイス508を介して出力されてもよい。例えば、オーディオキューは、UI要素512Aのアクティブ化を示すクリック音であってもよい。いくつかの実施形態では、オーディオキューのための音は、ユーザ504によって選択されてもよい。
【0071】
別の実装形態では、コンピューティングシステムは、UI要素512Aのアクティブ化に応答して1つまたは複数のフィードバックを出力してもよい。例えば、フィードバックはオーディオまたは視覚フィードバックを含んでもよく、例えば、アクティブ化されたUI要素512Aを強調しても(アクティブ化を示すために別の色で強調表示しても)よく、および/またはUI要素512Aのアクティブ化を示すためにオーディオキューを出力してもよいなどである。
【0072】
コンピューティングシステムは、システムUI510の縁部514をさらに強調してもよい。縁部514は、ユーザの手506の位置がシステムUI510の縁部514に近接している、または縁部514がユーザの手506によって掴まれているという決定に基づいて強調されてもよい。ユーザの手506の位置の近接度およびシステムUI510の縁部514が掴まれていることに基づくシステムUI510の縁部514の強調は、
図8Aおよび
図8Bにさらに記載される。
【0073】
図8Aは、ユーザの手506の位置の近接度に基づくシステムUI510の縁部514の部分の強調を示す概念
図800Aである。概念
図800Aは、XR環境502Aを含んでもよい。XR環境502Aは、システムUI510を含んでもよい。システムUI510は、縁部514をさらに含んでもよい。XR環境502Aは、ユーザの手506の表現516をさらに含んでもよい。
【0074】
一実装形態では、システムUI510の縁部514の強調は、ユーザの手506の位置の近接度に依存する。例えば、縁部514の部分は、ユーザの手506がシステムUI510の縁部514の部分から第2の閾値距離522に達すると、強調を開始してもよい。ユーザの手506の位置がシステムUI510の縁部514の第2の閾値距離522内にあるという決定に応答して、コンピューティングシステムは、システムUI510の縁部514の少なくとも一部を強調する第2のフィードバックを生成してもよい。さらに、ユーザの手506が第2の閾値距離522内でシステムUI510の縁部514に近づくにつれて、縁部514の強調部分のサイズはそれに応じて増加してもよい。そのような第2のフィードバックは、ユーザ504とシステムUI510の縁部514とのインタラクション機会を表明してもよい。そのような場合、システムUI510の縁部514とユーザの手506の位置との間の実際のインタラクションは実施されない。
【0075】
一例では、ユーザの手506の位置が縁部514の右側から5センチメートル(cm)の距離にあり得る場合、縁部514の右側の2cmの部分が強調されてもよい。さらに、ユーザの手506の位置が縁部514の右側から1cmの距離にある場合、縁部514の右側の6cmの部分が強調されてもよい。したがって、縁部514の部分の強調は、ユーザの手506の表現の部分とシステムUI510の縁部514の部分との間の距離が減少するにつれて、縁部514の周りで増加する。
【0076】
いくつかの実装形態では、ユーザの手506の表現516の一部はまた、ユーザの手506の位置と縁部514との近接度が第2の閾値距離522内であることに基づいて強調されてもよい。さらに、第2のフィードバックは、ユーザの手506の表現516の一部とシステムUI506の縁部514との間の距離の減少に基づいて、ユーザの手506の表現516の親指または1本もしくは複数本の指の少なくとも一方の強調部分516Aの量を増加させることをさらに含んでもよい。例えば、強調量を増加させることは、強調の強度を増加させる(例えば、色または陰影の強度を増加させる)こと、またはユーザの手506の表現516の親指または1本もしくは複数本の指の強調部分の面積を増加させることを含んでもよい。さらに、ユーザの手506の表現516の部分516Aの強調は、グラブジェスチャに含まれる表現516の部分に依存してもよい。例えば、ユーザ504は、親指および人差し指を使用してシステムUI510の縁部514を掴んでもよい。そのような場合、システムUI510の縁部514と接触しているユーザの手506の表現516における親指および人差し指に対応する部分516Aが強調されてもよい(
図8Aに示す)。別の例では、ユーザ504は、親指および4本全ての指を使用してシステムUI510の縁部514を掴んでもよい。そのような場合、システムUI510の縁部514と接触しているユーザの手506の表現516における親指および4本全ての指に対応する部分516Aが強調されてもよい。
【0077】
図8Bは、縁部514が掴まれていることに基づいた、縁部514およびユーザの手506の表現516Aのより広範な強調を表す概念
図800Bである。概念
図800Bは、XR環境502Aを含んでもよい。XR環境502Aは、システムUI510を含んでもよい。システムUI510は、システムUI510の縁部514を含んでもよい。XR環境502Aは、ユーザの手506の表現516をさらに含んでもよい。
【0078】
コンピューティングシステムは、ユーザの手506の位置がシステムUI510(システムUI510の縁部514など)を掴むジェスチャを含んでいる可能性があると決定するように構成されてもよい。一例では、ユーザの手506(XR環境502Aではユーザの手506の表現516として描写される)の位置は、システムUI510の縁部514の位置と接触している。ユーザの手506の位置がシステムUI510を掴むジェスチャを含んでいるという決定に応答して、コンピューティングシステムは第3のフィードバックを生成してもよい。例えば、ジェスチャは、少なくともユーザの手506の親指および1本もしくは複数本の指を使用して縁部514を掴むまたは保持することを含んでもよい。第3のフィードバックは、システムUI510を掴んでいるユーザの手506の表現516Aの少なくとも一部516Aを強調することを含んでもよい。そのような第3のフィードバックは、ユーザ504とシステムUI510の縁部514とのインタラクションを表明してもよい。そのような場合、システムUI510の縁部514とユーザの手506の位置との間の実際のインタラクションが実施される。
【0079】
一実装形態では、ユーザの手506の位置とシステムUI510の縁部514との間の距離が減少するにつれて、(
図8Aで説明したように)ユーザの手506の少なくとも親指および1本もしくは複数本の指の強調が増加する。ユーザの手506の表現516の少なくとも親指または1本もしくは複数本の指の強調量は、システムUI510がユーザの手506の表現516の親指または1本もしくは複数本の指の少なくとも一方によって掴まれているという決定に基づいて所定のレベルに達する。換言すれば、ユーザの手506の表現516の少なくとも親指または1本もしくは複数本の指の強調量は、ユーザの手506がシステムUI510の縁部514を掴んだときに最大となってもよい。
【0080】
一実装形態では、第3のフィードバックは、ユーザの手506の表現516の少なくとも一部がシステムUI510を掴んでいるときにシステムUI510の縁部514をより広範に強調することをさらに含んでもよい。例えば、システムUI510の縁部514の強調部分のサイズは、ユーザの手506がシステムUI510に近づくにつれて増加する(例えば、
図8Aに説明されている)。システムUI510の縁部514は、ユーザの手506がシステムUI510の縁部514を掴んでいるという決定に基づいてさらに強調されてもよい。そのような第3のフィードバックは、システムUI510がXR環境502Aにおいてユーザ506によって保持されているという指示としてユーザ504によって利用されてもよい。
【0081】
図9Aは、XR環境502Aにおけるユーザ504とUI要素512Aとのインタラクションのために本技術のいくつかの実装形態において使用される方法900Aのフロー図を示す。
【0082】
一実装形態では、方法900Aは、コンピューティングシステムおよびXRデバイス508がネットワーク330を介して接続されたときにトリガされてもよい。XRデバイスがユーザ504によって起動されると、コンピューティングシステムは、XRデバイス508上にXR環境502Aを表示してもよい。さらに、コンピューティングシステムは、ユーザ504から入力を受信して、XR環境502AにおいてシステムUI510をレンダリングしてもよい。
【0083】
ブロック902Aにおいて、システムUI510は、XR環境502Aにおいてレンダリングされる。例えば、システムUI510は、ユーザ504の眼の高さの前にあるXR環境内の位置に、ユーザの手があると決定された場所の近くに、別のUI要素またはユーザ部分に取り付けられて、システムUIが最後に示された位置などにレンダリングされてもよい。レンダリングされたシステムUI510の位置は、XRデバイス508に組み込まれたプリセットのデフォルト位置および/またはユーザ504によって規定された位置に設定することができる。システムUI510の位置は、ユーザ504が到達可能であり、システムUI510が常にユーザ504の眼の高さの前に位置するように設定される。
【0084】
ブロック904Aにおいて、システムUI510に対するユーザの手506の位置の追跡を実施してもよい。ユーザの手506の位置の追跡は、XRデバイス508上に存在する複数のセンサを使用して取得された位置データに基づいて実施されてもよい。例えば、複数のセンサは、カメラなどの撮像デバイス、慣性運動ユニット(IMU)センサ、発光(例えば、赤外線)内外追跡要素などを含んでもよい。ユーザの手506の表現516の位置は、ユーザの手506の追跡に基づいて更新される。例えば、ユーザ504が意図的に手を動かしてUI要素512Aに触れている可能性がある状況では、ユーザの手506の表現516の位置はまた、XRデバイス508によるユーザの手506の位置の追跡に基づいて移動してもよい。
【0085】
ブロック906Aにおいて、ユーザの手506の表現516の位置とUI要素512Aとの間のインタラクション機会が表明される。ここで、コンピューティングシステムは、ユーザの手506の表現516の位置がUI要素512Aの第1の閾値距離内にあるという決定に応答して第1のフィードバックを生成してもよい。生成された第1のフィードバックは、例えば、UI要素512Aのアクティブ化の前にシステムUI510の表面の上にUI要素512Aを拡張することによって、UI要素512Aを修正する。
【0086】
ブロック908Aにおいて、システムUI510および/またはUI要素512Aに対するユーザの手506の位置が更新される。ユーザの手506の表現516の位置は、ユーザの手506の位置データに基づいて更新される。ユーザの手の位置は、ユーザの手506の表現516とシステムUI510またはUI要素512Aおよび/またはUI要素512のセットとの間のインタラクションを表明するように更新される。
【0087】
ブロック910Aにおいて、ユーザの手の位置がUI要素512AとインタラクトしてUI要素512Aとのインタラクションが表明されたという決定に応答して、コンピューティングシステムは、ユーザの手506の表現516の場所を、ユーザの手506の現実世界での場所506aを直接追跡することから、ユーザの手506の現実世界での場所506aおよびUI要素512Aの場所の両方に基づく位置に修正させる。例えば、ユーザの手506の位置とUI要素512Aとの間のインタラクションを表明するために、ユーザの手506の表現516の場所は、XR環境502A内のUI要素512Aの場所と同じであってもよい。例えば、コンピューティングシステムは、最初に、ユーザの手506の表現516をユーザの手506の現実世界の位置と近くなるように一致させる。ユーザの手506の位置がUI要素512Aとインタラクトしたという決定に基づいて、ユーザの手506の表現516がUI要素512Aに取り付けられる。取り付けは、ユーザの手506が現実世界においてUI要素512Aから閾値量だけ離れて移動するとき、コンピューティングシステムがユーザの手506の表現516をUI要素512Aから離さないようにするものである。
【0088】
図9Bは、XR環境502Aにおけるユーザ504とシステムUI510とのインタラクションのために本技術のいくつかの実装形態において使用される方法900Bのフロー図を示す。
【0089】
一実装形態では、方法900Bは、コンピューティングシステムおよびXRデバイス508がネットワーク330を介して接続されたときにトリガされてもよい。XRデバイスがユーザ504によって起動されると、コンピューティングシステムは、XRデバイス508上にXR環境502Aを表示してもよい。さらに、コンピューティングシステムは、ユーザ504から入力を受信して、XR環境502AにおいてシステムUI510をレンダリングしてもよい。
【0090】
ブロック902Bにおいて、システムUI510は、XR環境502Aにおいてレンダリングされる。例えば、システムUI510は、ユーザ504の眼の高さの前にあるXR環境内の位置にレンダリングされてもよい。さらに、ブロック902Bは、
図9Aのブロック902Aと同様に実施されてもよい。
【0091】
ブロック904Bにおいて、システムUI510に対するユーザの手506の位置の追跡を実施してもよい。ユーザの手506の位置の追跡は、XRデバイス508上に存在する複数のセンサを使用して取得された位置データに基づいて実施されてもよい。さらに、ブロック904Bは、
図9Aのブロック904Aと同様に実施されてもよい。
【0092】
ブロック906Bにおいて、ユーザの手506の表現516の位置とシステムUI510の縁部514との間のインタラクション機会が表明される。ここで、コンピューティングシステムは、ユーザの手506の表現516の位置がシステムUI510の縁部514の第2の閾値距離522内にあるという決定に応答して第2のフィードバックを生成してもよい。生成された第2のフィードバックは、システムUI510の縁部514の少なくとも一部の強調を含んでもよい。さらに、一実施形態では、システムUI510の縁部514の強調部分は、ユーザの手506の表現516とシステム508の縁部514との間の距離が減少するにつれて増加してもよい。
【0093】
ブロック908Bにおいて、システムUI510および/またはUI要素512Aに対するユーザの手506の位置が更新される。例えば、より詳細にはブロック908Bにおいて、ユーザの手の位置は、ユーザの手506の表現516とシステムUI510との間のインタラクションを表明するように更新される。さらに、ブロック908Bは、
図9Aのブロック908Aと同様に実施されてもよい。
【0094】
ブロック910Bにおいて、ユーザの手506の位置が、システムUIとのインタラクションを表明するためのシステムUI510の縁部514を掴むジェスチャを含んでいるという決定に応答して、コンピューティングシステムは、システムUI510を掴んでいるユーザの手514aの表現の少なくとも一部を強調する第3のフィードバックを生成してもよい。例えば、掴まれたときに、システムUI510に接触している可能性があり、特定のグラブジェスチャ(例えば、ピンチする、手を握るなど)を行っていると決定され、かつ/またはシステムUI510から閾値距離内にあるユーザの手506の表現516の部分が強調されてもよい。
【0095】
いくつかの実装形態では、ブロック906Aおよびブロック906Bは、一緒に実施されてもよい(例えば、図には描写されていないが、ブロック906の一部として)。さらに、ブロック906Aおよびブロック906Bは、例えば、システムUI510またはUI要素512のセットのうちのUI要素512Aとのインタラクション機会を表明するために、集合的に実施されてもよい。システムUI510またはUI要素512Aとのインタラクション機会は、ユーザの手506の表現516の位置がシステムUI510および/またはUI要素512Aから閾値距離内にある状況に対応してもよい。
【0096】
いくつかの実装形態では、ブロック910Aおよびブロック910Bは、一緒に実施されてもよい(例えば、図には描写されていないが、ブロック910の一部として)。さらに、ブロック910Aおよびブロック910Bは、例えば、システムUI510またはUI要素512のセットのうちのUI要素512Aとのインタラクションを表明するために、集合的に実施されてもよい。システムUI510またはUI要素512Aとのインタラクションは、ユーザの手506の表現516がシステムUI510および/またはUI要素512Aとインタラクトしているときの状況に対応してもよい。
【0097】
本明細書における、「実装形態」(例えば、「いくつかの実装形態」、「様々な実装形態」、「1つの実装形態」、「一実装形態」など)への言及は、実装形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実装形態に含まれることを意味する。本明細書における様々な場所にこれらの語句が現れることは、全てが必ずしも同じ実装形態に言及しているわけでもないし、他の実装形態を相互に除外する別個のまたは代替的な実装形態であるわけでもない。さらに、一部の実装形態によって示されるが他の実装形態によって示されない場合がある様々な特徴が記載される。同様に、一部の実装形態にとっては必要条件であるが、他の実装形態にとってはそうでない様々な必要条件が記載される。
【0098】
本明細書で使用される際、閾値を上回ることは、比較中の項目に対する値が指定された他の値を上回ること、比較中の項目がある特定の指定された数の項目の中で最も大きい値を有すること、または比較中の項目が指定された最高のパーセンテージ値内の値を有することを意味する。本明細書で使用される際、閾値を下回ることは、比較中の項目に対する値が指定された他の値を下回ること、比較中の項目がある特定の指定された数の項目の中で最も小さい値を有すること、または比較中の項目が指定された最低のパーセンテージ値内の値を有することを意味する。本明細書で使用される際に、閾値内であることは、比較中の項目に対する値が2つの指定された他の値の間にあること、比較中の項目が指定された数の項目の中間にあること、または比較中の項目が中間の指定されたパーセンテージ範囲内の値を有することを意味する。高いまたは重要ではないなどの相対的な用語は、別段定義されない時、値を割り当て、かつその値が確立された閾値とどのように比較されるかを判断するものと理解可能である。例えば、語句「速い接続を選択すること」は、その接続速度に対応して割り当てられた値を有し、その割り当てられた値が閾値を超える接続を選択することを意味するように理解可能である。
【0099】
本明細書で使用される際、「または」という語は、一連の項目の任意の可能な置換を指す。例えば、「A、BまたはC」という語句は、A、B、C、AおよびB、AおよびC、BおよびC、A、B、およびC、またはAおよびA、B、B、およびC、A、A、B、C、およびCなどの複数の任意の項目のいずれかなど、A、B、Cの少なくとも1つ、またはこれらの任意の組み合わせを指す。
【0100】
構造上の特徴および/または方法論的動作に特有の言語で主題について説明してきたが、添付の特許請求の範囲で定義される主題が必ずしも上述される具体的な特徴または動作に限定されないことは理解されたい。具体的な実施形態および実装形態が例示の目的で本明細書に説明されているが、実施形態および実装形態の範囲から逸脱することなく、様々な修正がなされ得る。上述される具体的な特徴および動作は、以下に続く特許請求の範囲を満たす例示の形態として開示される。それ故に、実施形態および実装形態は、添付の特許請求の範囲によって限定される場合を除いて限定されない。
【0101】
上で述べられるいずれの特許、特許出願、および他の参考文献も、参照により本明細書に組み込まれる。必要に応じて、上述される様々な参考文献のシステム、機能、および概念を用いてさらなる実装形態を提供するために態様が修正され得る。参照により組み込まれる文献の記述または主題が本出願の記述または主題と矛盾する場合、本出願が優先されるものとする。
【外国語明細書】