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

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

▶ 株式会社NTTドコモの特許一覧

特許7560591ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体
<>
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図1
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図2A
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図2B
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図3A
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図3B
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図4
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図5A
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図5B
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図5C
  • 特許-ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】ユーザインターフェースを制御するための方法、コンピューティングシステム、およびコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
   G06F 3/04815 20220101AFI20240925BHJP
   G06F 3/01 20060101ALI20240925BHJP
   G06F 3/0485 20220101ALI20240925BHJP
   G06F 3/0488 20220101ALI20240925BHJP
【FI】
G06F3/04815
G06F3/01 514
G06F3/0485
G06F3/0488
【請求項の数】 12
【外国語出願】
(21)【出願番号】P 2023042856
(22)【出願日】2023-03-17
(65)【公開番号】P2024018908
(43)【公開日】2024-02-08
【審査請求日】2023-03-17
(31)【優先権主張番号】63/393,178
(32)【優先日】2022-07-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/119,715
(32)【優先日】2023-03-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(74)【代理人】
【識別番号】100123995
【弁理士】
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】劉 永哲
(72)【発明者】
【氏名】田中 佑弥
(72)【発明者】
【氏名】大迫 陽二
【審査官】遠藤 孝徳
(56)【参考文献】
【文献】米国特許出願公開第2016/0054791(US,A1)
【文献】特開2020-160856(JP,A)
【文献】米国特許出願公開第2017/0269792(US,A1)
【文献】米国特許第11200869(US,B1)
【文献】米国特許出願公開第2014/0285520(US,A1)
【文献】特許第6684559(JP,B2)
【文献】米国特許出願公開第2016/0117141(US,A1)
【文献】特表2018-534643(JP,A)
【文献】米国特許出願公開第2019/0146219(US,A1)
【文献】米国特許出願公開第2020/0026352(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048 - 3/04895
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
エクステンドリアリティ(XR)デバイスによってウェアラブルデバイスを検知するステップと、
前記XRデバイスを前記ウェアラブルデバイスに通信可能に接続するステップと、
ユーザインターフェースを備えた仮想環境を前記XRデバイスのディスプレイに表示するステップと、
前記ウェアラブルデバイスの上ではなく前記ウェアラブルデバイスの隣および近くに現れるように前記ユーザインターフェース内に仮想ショートカットインターフェースを表示するステップであって、前記ウェアラブルデバイスのディスプレイ上の追跡マーカを使用して決定された前記ウェアラブルデバイスの位置に基づいて前記仮想ショートカットインターフェースを配置することを含み、
前記仮想ショートカットインターフェースは、ユーザが選択可能な仮想ボタンを含み、
前記ユーザが選択可能な前記仮想ボタンは、
前記ユーザがホーム画面またはメインメニューに進むことを可能にするホームボタン、
ブラウザを開くためのボタン、
前記ユーザが前記ユーザインターフェース内で以前に表示されたページにナビゲートすることを可能にする戻るボタン、
前記ユーザが現在表示されているページの後に最初に表示されたページであって前記ユーザインターフェース内で以前に表示された当該ページにナビゲートすることを可能にする進むボタン、並びに、
開いているアプリケーションをチェックするためのボタン、以前に表示されたボタンのセット内の1つ以上のボタンを含む仮想ボタンの別のセットを前記仮想ショートカットインターフェース内に表示させるためのボタン、および、前記ユーザがカスタマイズ可能なボタン、を含んだグループのうちの1つ以上のボタン、
を含む、当該仮想ショートカットインターフェースを表示するステップと、
前記仮想ボタンのうちの1つの仮想ボタンに対して前記ユーザにより行われた1つ以上の指の動きを取り込むステップと、
前記1つの仮想ボタンの選択として、前記指の動きを認識するステップと、
前記指の動きを認識したことに応答して、前記1つの仮想ボタンに関連付けられた機能を起動するステップであって、当該機能は、前記ユーザインターフェース内の前記ブラウザによりアプリケーションウィンドウを開く機能を含む、当該起動するステップと、
前記ウェアラブルデバイスを用いて前記仮想環境内の前記ユーザインターフェースを操作するステップであって、当該ユーザインターフェースを操作するステップは、
前記ウェアラブルデバイス上でユーザにより行われ検出された動きであって前記XRデバイスに送信される当該検出された動きに基づいて、前記アプリケーションウィンドウに表示されているカーソルを移動させること、または、前記ユーザインターフェース上に表示されている前記アプリケーションウィンドウをスクロールすること、を含み、
前記検出された動きは、前記ウェアラブルデバイスの表示面を横切る前記ユーザの1つ以上の指の動き、を含み、前記ユーザの1つ以上の指を見ることなく前記ユーザに物理的フィードバックを提供する、当該ユーザインターフェースを操作するステップと、
を含む、方法。
【請求項2】
前記ユーザインターフェースを操作するステップが、
前記XRデバイスへ送信される、前記ウェアラブルデバイス上でユーザによって行われた検知された動作に基づいて、前記ユーザインターフェース上に表示されているオブジェクトを選択すること、
を含み、
前記検知された動作が、前記ウェアラブルデバイスのディスプレイ表面上での前記ユーザによるタップである、請求項1に記載の方法。
【請求項3】
前記ウェアラブルデバイスの一部分が、前記ウェアラブルデバイスのディスプレイを含む、請求項に記載の方法。
【請求項4】
前記ユーザによって選択可能なGUI要素が仮想ボタンである、請求項に記載の方法。
【請求項5】
仮想のGUI要素は、前記仮想のGUI要素のそれぞれに別々の機能を関連付けるようにカスタマイズ可能である、請求項1に記載の方法。
【請求項6】
前記方法は、
カメラを使用して、前記ウェアラブルデバイス上のマーカを識別するステップと、
前記マーカを使用して前記ウェアラブルデバイスの位置を検知するステップと、
をさらに含み、
前記ユーザインターフェースの前記仮想環境における前記ウェアラブルデバイスの表示位置の近くに仮想インターフェースを表示するステップが、前記ウェアラブルデバイスの前記表示位置に基づいて前記仮想インターフェースを表示することを含む、請求項1に記載の方法。
【請求項7】
前記マーカを使用して前記ウェアラブルデバイスの位置を検知するステップが、
前記マーカを使用して前記ウェアラブルデバイスのディスプレイの位置を検知するステップ、
を含む、請求項に記載の方法。
【請求項8】
仮想インターフェースが、前記ユーザインターフェースの前記仮想環境における前記ウェアラブルデバイスの表示位置の周りに表示され、前記ウェアラブルデバイスが、スマートウォッチデバイスを含む、請求項1に記載の方法。
【請求項9】
ユーザインターフェースを制御するためのコンピューティングシステムであって、
1つ又は複数のプロセッサと、
命令を格納した1つ又は複数のメモリと、
を備え、
前記命令は、前記1つ又は複数のプロセッサによって実行されたときに、
エクステンドリアリティ(XR)デバイスによってウェアラブルデバイスを検知するステップと、
前記XRデバイスを前記ウェアラブルデバイスに通信可能に接続するステップと、
ユーザインターフェースを備えた仮想環境を前記XRデバイスのディスプレイに表示するステップと、
前記ウェアラブルデバイスの上ではなく前記ウェアラブルデバイスの隣および近くに現れるように前記ユーザインターフェース内に仮想ショートカットインターフェースを表示するステップであって、前記ウェアラブルデバイスのディスプレイ上の追跡マーカを使用して決定された前記ウェアラブルデバイスの位置に基づいて前記仮想ショートカットインターフェースを配置することを含み、
前記仮想ショートカットインターフェースは、ユーザが選択可能な仮想ボタンを含み、
前記ユーザが選択可能な前記仮想ボタンは、
前記ユーザがホーム画面またはメインメニューに進むことを可能にするホームボタン、
ブラウザを開くためのボタン、
前記ユーザが前記ユーザインターフェース内で以前に表示されたページにナビゲートすることを可能にする戻るボタン、
前記ユーザが現在表示されているページの後に最初に表示されたページであって前記ユーザインターフェース内で以前に表示された当該ページにナビゲートすることを可能にする進むボタン、並びに、
開いているアプリケーションをチェックするためのボタン、以前に表示されたボタンのセット内の1つ以上のボタンを含む仮想ボタンの別のセットを前記仮想ショートカットインターフェース内に表示させるためのボタン、および、前記ユーザがカスタマイズ可能なボタン、を含んだグループのうちの1つ以上のボタン、
を含む、当該仮想ショートカットインターフェースを表示するステップと、
前記仮想ボタンのうちの1つの仮想ボタンに対して前記ユーザにより行われた1つ以上の指の動きを取り込むステップと、
前記1つの仮想ボタンの選択として、前記指の動きを認識するステップと、
前記指の動きを認識したことに応答して、前記1つの仮想ボタンに関連付けられた機能を起動するステップであって、当該機能は、前記ユーザインターフェース内の前記ブラウザによりアプリケーションウィンドウを開く機能を含む、当該起動するステップと、
前記ウェアラブルデバイスを用いて前記仮想環境内の前記ユーザインターフェースを操作するステップであって、当該ユーザインターフェースを操作するステップは、
前記ウェアラブルデバイス上でユーザにより行われ検出された動きであって前記XRデバイスに送信される当該検出された動きに基づいて、前記アプリケーションウィンドウに表示されているカーソルを移動させること、または、前記ユーザインターフェース上に表示されている前記アプリケーションウィンドウをスクロールすること、を含み、
前記検出された動きは、前記ウェアラブルデバイスの表示面を横切る前記ユーザの1つ以上の指の動き、を含み、前記ユーザの1つ以上の指を見ることなく前記ユーザに物理的フィードバックを提供する、当該ユーザインターフェースを操作するステップと、
を含むプロセスを、前記コンピューティングシステムに実行させる、コンピューティングシステム。
【請求項10】
前記ユーザインターフェースを操作するステップが、
前記XRデバイスへ送信される、前記ウェアラブルデバイス上でユーザによって行われた検知された動作に基づいて、前記ユーザインターフェース上に表示されているオブジェクトを選択すること、
を含み、
前記検知された動作が、前記ウェアラブルデバイスのディスプレイ表面上での前記ユーザによるタップである、請求項に記載のコンピューティングシステム。
【請求項11】
前記ユーザによって選択可能なGUI要素が仮想ボタンである、請求項に記載のコンピューティングシステム。
【請求項12】
命令を格納した1つ又は複数のコンピュータ読み取り可能な記憶媒体であって、
前記命令は、少なくともプロセッサとメモリとを内部に有しているシステムによって実行されたときに、
エクステンドリアリティ(XR)デバイスによってウェアラブルデバイスを検知するステップと、
前記XRデバイスを前記ウェアラブルデバイスに通信可能に接続するステップと、
ユーザインターフェースを備えた仮想環境を前記XRデバイスのディスプレイに表示するステップと、
前記ウェアラブルデバイスの上ではなく前記ウェアラブルデバイスの隣および近くに現れるように前記ユーザインターフェース内に仮想ショートカットインターフェースを表示するステップであって、前記ウェアラブルデバイスのディスプレイ上の追跡マーカを使用して決定された前記ウェアラブルデバイスの位置に基づいて前記仮想ショートカットインターフェースを配置することを含み、
前記仮想ショートカットインターフェースは、ユーザが選択可能な仮想ボタンを含み、
前記ユーザが選択可能な前記仮想ボタンは、
前記ユーザがホーム画面またはメインメニューに進むことを可能にするホームボタン、
ブラウザを開くためのボタン、
前記ユーザが前記ユーザインターフェース内で以前に表示されたページにナビゲートすることを可能にする戻るボタン、
前記ユーザが現在表示されているページの後に最初に表示されたページであって前記ユーザインターフェース内で以前に表示された当該ページにナビゲートすることを可能にする進むボタン、並びに、
開いているアプリケーションをチェックするためのボタン、以前に表示されたボタンのセット内の1つ以上のボタンを含む仮想ボタンの別のセットを前記仮想ショートカットインターフェース内に表示させるためのボタン、および、前記ユーザがカスタマイズ可能なボタン、を含んだグループのうちの1つ以上のボタン、
を含む、当該仮想ショートカットインターフェースを表示するステップと、
前記仮想ボタンのうちの1つの仮想ボタンに対して前記ユーザにより行われた1つ以上の指の動きを取り込むステップと、
前記1つの仮想ボタンの選択として、前記指の動きを認識するステップと、
前記指の動きを認識したことに応答して、前記1つの仮想ボタンに関連付けられた機能を起動するステップであって、当該機能は、前記ユーザインターフェース内の前記ブラウザによりアプリケーションウィンドウを開く機能を含む、当該起動するステップと、
前記ウェアラブルデバイスを用いて前記仮想環境内の前記ユーザインターフェースを操作するステップであって、当該ユーザインターフェースを操作するステップは、
前記ウェアラブルデバイス上でユーザにより行われ検出された動きであって前記XRデバイスに送信される当該検出された動きに基づいて、前記アプリケーションウィンドウに表示されているカーソルを移動させること、または、前記ユーザインターフェース上に表示されている前記アプリケーションウィンドウをスクロールすること、を含み、
前記検出された動きは、前記ウェアラブルデバイスの表示面を横切る前記ユーザの1つ以上の指の動き、を含み、前記ユーザの1つ以上の指を見ることなく前記ユーザに物理的フィードバックを提供する、当該ユーザインターフェースを操作するステップと、
を含むオペレーションを、前記システムに実行させる、
1つ又は複数のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本出願は、2022年7月28日に出願された「CONTROLLING A USER INTERFACE WITH A TRACKPAD AND A SMART WATCH」と題されている米国特許仮出願第63/393,178号、及び2022年7月28日に出願された「CONTROLLING A USER INTERFACE WITH AN XR SHORTCUT FEATURE AND A SMART WATCH」と題されている米国特許仮出願第63/393,181号の利益を主張するものであり、これらの両方は、その全体が参照によって組み込まれている。
【背景技術】
【0002】
[0002]人工現実、エクステンデッドリアリティ、又はエクストラリアリティ(総称して「XR」)は、ユーザへの提示の前に何らかの様式で調整されている一種の現実であり、その現実は、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、又はそれらの何らかの組合せ及び/若しくは派生物を含み得る。さまざまなXR環境が存在しており、ユーザたちの表象が動き回って互いと話すことを可能にしている。しかしながら、ユーザインターフェース(UI)及びユーザ体験(UX)には限界がある。たとえば、ユーザインターフェースは、ハンドトラッキングに依存している場合が多く、このハンドトラッキングは、常に効果的に機能するとは限らず、ユーザにとって不快である場合さえある。すなわち、XRデバイスによって使用されている現在の既存のUI/UXにおいては、XRデバイスのユーザインターフェースにおいて表示されるオブジェクトを制御することは、XRデバイスによって取り込まれた手のジェスチャを介して実行される。これらの手のジェスチャは、正確ではない。
【発明の概要】
【0003】
[0003]本開示は、実質的に、図のうちの少なくとも1つにおいて示されているように、及び/又は図のうちの少なくとも1つに関連して記述されているように、特許請求の範囲においてさらに完全に記載されているように、たとえばスマートウォッチなど、ウェアラブルデバイスを用いてユーザインターフェースを制御することを対象としている。
【0004】
[0004]本開示は、以降で与えられている詳細な記述から、及びさまざまな実施形態の添付の図面からさらに完全に理解されるであろうが、それらの図面は、本明細書において記述及び例示されている実施形態を限定するものと取られるべきではなく、説明及び理解のためのものにすぎない。
【図面の簡単な説明】
【0005】
図1】開示されている本テクノロジーのいくつかの実施態様が機能することが可能であるデバイスの概観を示すブロック図である。
図2A】いくつかの実施形態によるヘッドマウントディスプレイ(HMD)の配線図である。
図2B】複合現実HMDとコア処理コンポーネントとを含む複合現実HMDシステムの配線図である。
図3A】スマートウォッチのディスプレイ表面をトラックパッドとして使用して、そのトラックパッドを用いてカーソルを制御することを示す図である。
図3B】スマートウォッチのディスプレイ表面をトラックパッドとして使用して、そのトラックパッドを用いてカーソルを制御することを示す図である。
図4】スマートウォッチとともにトラックパッドを使用してエクステンデッドリアリティ(XR)デバイスにおけるユーザインターフェースを制御するためのプロセスのいくつかの実施形態の流れ図である。
図5A】XRデバイスによって生成された仮想環境におけるユーザインターフェースを制御するための、スマートウォッチの周りの仮想ボタンを有する仮想ショートカットメニューのいくつかの実施形態を示す図である。
図5B】XRデバイスによって生成された仮想環境におけるユーザインターフェースを制御するための、スマートウォッチの周りの仮想ボタンを有する仮想ショートカットメニューのいくつかの実施形態を示す図である。
図5C】スマートウォッチのディスプレイ表面のいくつかの実施形態を示す図である。
図6】スマートウォッチ又はその他のウェアラブルデバイスとともにXRショートカットインターフェースを使用してXRデバイスにおけるユーザインターフェースを制御するためのプロセスのいくつかの実施形態の流れ図である。
【発明を実施するための形態】
【0006】
[0013]以降の記述においては、本開示のさらに徹底的な説明を提供するために、多くの詳細が記載されている。しかしながら、本開示は、これらの具体的な詳細を伴わずに実践されることが可能であるということは、当業者にとって明らかであろう。その他の例においては、よく知られている構造及びデバイスが、本開示をわかりにくくすることを避けるために、詳細にではなくブロック図の形態で示されている。
【0007】
[0014]たとえばスマートウォッチなど、ウェアラブルデバイスを用いてユーザインターフェースを制御するための方法及び装置が開示されている。いくつかの実施形態においては、この方法は、エクステンドリアリティ(XR)デバイスによってウェアラブルデバイスを検知するステップと、XRデバイスをウェアラブルデバイスに通信可能に接続するステップと、ウェアラブルデバイスを用いて、XRデバイスにおけるディスプレイ上に表示されている仮想環境におけるユーザインターフェースを操作するステップとを含む。操作は、ユーザがウェアラブルデバイスのディスプレイタッチ表面を横切って、1つ又は複数の指を用いた動きなどの動きを実行することに基づくことが可能である。操作は、仮想環境においてウェアラブルデバイスの近くにXRデバイスによって表示されている1つ又は複数の仮想グラフィカルユーザ要素(GUI)とともにウェアラブルデバイスに関連して行われる指又は手の動きに基づくことも可能である。XRデバイスは、ヘッドマウントディスプレイ(HMD)システムとして実装されることが可能であり、その例が以降で記述されている。
【0008】
[0015]開示されている本テクノロジーの実施形態は、人工現実、エクステンデッドリアリティ、又はエクストラリアリティ(総称して「XR」)を含むこと、又はその現実と組み合わせて実施されることが可能であり、その現実は、ユーザへの提示の前に何らかの様式で調整されている一種の現実であり、その現実は、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、又はそれらの何らかの組合せ及び/若しくは派生物を含み得る。エクステンデッドリアリティコンテンツは、完全に生成されたコンテンツ、又は、取り込まれたコンテンツ(たとえば、現実世界の写真)と組み合わされた生成されたコンテンツを含み得る。加えて、いくつかの実施形態においては、エクステンデッドリアリティは、たとえば、人工現実においてアクティビティーを実行するために使用されるアプリケーション、製品、付属品、サービス、又はそれらの何らかの組合せに関連付けられることが可能である。エクステンデッドリアリティコンテンツを提供するエクステンデッドリアリティシステムは、ホストコンピュータシステムに接続されているヘッドマウントディスプレイ(HMD)、スタンドアロンのHMD、モバイルデバイス若しくはコンピューティングシステム、「ケーブ」環境若しくはその他のプロジェクションシステム、又は、1人若しくは複数の視聴者に人工現実コンテンツを提供することが可能な任意のその他のハードウェアプラットフォームを含むさまざまなプラットフォーム上で実施されることが可能である。
【0009】
[0016]「仮想現実」又は「VR」は、本明細書において使用される際には、ユーザの視覚入力がコンピューティングシステムによって制御される没入型体験を指す。「拡張現実」又は「AR」は、ユーザが現実世界の画像を、それらの画像がコンピューティングシステムを通過した後に見るシステムを指す。たとえば、背面にカメラを備えたタブレットが、現実世界の画像を取り込み、次いでカメラとは反対側にあるタブレットのスクリーン上にそれらの画像を表示することが可能である。タブレットは、画像がシステムを通過する際に、仮想オブジェクトを付加することによってなどで、それらの画像を処理及び調整又は「拡張」することが可能である。「複合現実」又は「MR」は、ユーザの目に入る光の一部が、コンピューティングシステムによって生成され、一部が、現実世界におけるオブジェクトから反射された光からなるシステムを指す。たとえば、MRヘッドセットが、パススルーディスプレイを備えたメガネとして成形されることが可能であり、パススルーディスプレイは、現実世界からの光が導波管を通過することを可能にし、導波管は同時に、MRヘッドセットにおけるプロジェクタからの光を放射して、ユーザが見ることができる現実のオブジェクトと混合された仮想オブジェクトをMRヘッドセットが提示することを可能にする。「人工現実」、「エクストラリアリティ」、又は「XR」は、本明細書において使用される際には、VR、AR、MR、又はそれらの任意の組合せ若しくはハイブリッドのうちのいずれかを指す。
【0010】
[0017]いくつかの実施態様が、以降で図を参照してさらに詳細に論じられている。図1は、開示されている本テクノロジーのいくつかの実施態様が機能することが可能であるデバイスの概観を示すブロック図である。それらのデバイスは、XR環境のための対話モードを作成、管理、及び提供することが可能であるコンピューティングシステム100のハードウェアコンポーネントを備えることが可能である。さまざまな実施態様においては、コンピューティングシステム100は、単一のコンピューティングデバイス103又は複数のコンピューティングデバイス(たとえば、コンピューティングデバイス101、コンピューティングデバイス102、及びコンピューティングデバイス103)を含むことが可能であり、それらの複数のコンピューティングデバイスは、有線又はワイヤレスチャネルを介して通信して、処理を分散し、入力データを共有する。いくつかの実施態様においては、コンピューティングシステム100は、外部の処理又はセンサに対する必要性を伴わずに、コンピュータで作成又は拡張された体験をユーザに提供することが可能なスタンドアロンのヘッドセットを含むことが可能である。その他の実施態様においては、コンピューティングシステム100は、ヘッドセット及びコア処理コンポーネント(コンソール、モバイルデバイス、又はサーバシステム等)などの複数のコンピューティングデバイスを含むことが可能であり、この場合、いくつかの処理オペレーションは、ヘッドセット上で実行され、その他の処理オペレーションは、コア処理コンポーネントへオフロードされる。例示的なヘッドセットが、以降で図2A及び図2Bに関連して記述されている。いくつかの実施態様においては、位置及び環境データが、ヘッドセットデバイスに組み込まれているセンサによってのみ取り集められることが可能であり、その一方でその他の実施態様においては、ヘッドセットではないコンピューティングデバイスのうちの1つ又は複数が、センサコンポーネントを含むことが可能であり、それらのセンサコンポーネントが、環境又は位置データを追跡することが可能である。
【0011】
[0018]コンピューティングシステム100は、1つ又は複数のプロセッサ110(たとえば、中央処理装置(CPU)、グラフィック処理装置(GPU)、ホログラフィック処理装置(HPU)など)を含むことが可能である。プロセッサ110は、単一の処理装置、若しくは1つのデバイスにおける複数の処理装置であること、又は複数のデバイスにわたって分散されること(たとえば、コンピューティングデバイス101~103のうちの2つ以上にわたって分散されること)が可能である。
【0012】
[0019]コンピューティングシステム100は、1つ又は複数の入力デバイス120を含むことが可能であり、それらの入力デバイス120は、プロセッサ110に入力を提供して、それらのプロセッサ110にアクションを知らせる。それらのアクションは、ハードウェアコントローラによって仲介されることが可能であり、そのハードウェアコントローラは、入力デバイスから受け取られた信号を解釈し、通信プロトコルを使用してプロセッサ110へ情報を通信する。それぞれの入力デバイス120は、たとえば、マウス、キーボード、タッチスクリーン、タッチパッド、ウェアラブル入力デバイス(たとえば、触覚グローブ、ブレスレット、指輪、イヤリング、ネックレス、腕時計など)、カメラ(若しくはその他の光ベースの入力デバイス、たとえば、赤外線センサ)、マイクロフォン、又はその他のユーザ入力デバイスを含むことが可能である。
【0013】
[0020]プロセッサ110は、たとえば、PCIバス、SCSIバス、又はワイヤレス接続など、内部又は外部バスを使用して、その他のハードウェアデバイスに結合されることが可能である。プロセッサ110は、ディスプレイ130用のなど、デバイス用のハードウェアコントローラと通信することが可能である。ディスプレイ130は、テキスト及びグラフィックスを表示するために使用されることが可能である。いくつかの実施態様においては、ディスプレイ130は、入力デバイスがタッチスクリーンであるか、又は目若しくは頭の方向をモニタするシステムを備えている場合などには、入力デバイスをディスプレイの一部として含む。いくつかの実施態様においては、ディスプレイは、入力デバイスから分離している。ディスプレイデバイスの例は、LCDディスプレイスクリーン、LEDディスプレイスクリーン、投影型、ホログラフィック、又は拡張現実ディスプレイ(ヘッドアップディスプレイデバイス又はヘッドマウントデバイス等)などである。ネットワークチップ又はカード、ビデオチップ又はカード、オーディオチップ又はカード、USB、Firewire(登録商標)又はその他の外部デバイス、カメラ、プリンタ、スピーカー、CD-ROMドライブ、DVDドライブ、ディスクドライブ等など、その他のI/Oデバイス140がプロセッサに結合されることも可能である。
【0014】
[0021]コンピューティングシステム100は、その他のローカルコンピューティングデバイス又はネットワークノードとワイヤレスに又は有線ベースで通信することが可能な通信デバイスを含むことが可能である。通信デバイスは、たとえばTCP/IPプロトコルを使用して、ネットワークを通じて別のデバイス又はサーバと通信することが可能である。コンピューティングシステム100は、通信デバイスを利用して、複数のネットワークデバイスにわたってオペレーションを分散することが可能である。
【0015】
[0022]プロセッサ110は、メモリ150にアクセスすることが可能であり、メモリ150は、コンピューティングシステム100のコンピューティングデバイスのうちの1つに含まれることが可能であり、又はコンピューティングシステム100の複数のコンピューティングデバイス若しくはその他の外部デバイスどうしにわたって分散されることが可能である。メモリは、揮発性又は不揮発性の格納のための1つ又は複数のハードウェアデバイスを含み、読み取り専用メモリ及び書き込み可能メモリの両方を含むことが可能である。たとえば、メモリは、ランダムアクセスメモリ(RAM)、さまざまなキャッシュ、CPUレジスタ、読み取り専用メモリ(ROM)、及び書き込み可能な不揮発性メモリ、たとえば、フラッシュメモリ、ハードドライブ、フロッピーディスク(登録商標)、CD、DVD、磁気ストレージデバイス、テープドライブなどのうちの1つ又は複数を含むことが可能である。メモリは、基礎をなすハードウェアから分離された伝搬信号ではなく、それゆえにメモリは非一時的である。メモリ150は、オペレーティングシステム162、XR作業システム164、及びその他のアプリケーションプログラム166など、プログラム及びソフトウェアを格納するプログラムメモリ160を含むことが可能である。メモリ150は、データメモリ170を含むことも可能であり、データメモリ170は、プログラムメモリ160又はコンピューティングシステム100の任意の要素に提供されることになる情報を含むことが可能である。
【0016】
[0023]いくつかの実施態様は、多くのその他のコンピューティングシステム環境又は構成とともに運用可能であり得る。本テクノロジーとともに使用するのに適していると言えるコンピューティングシステム、環境、及び/又は構成の例は、XRヘッドセット、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、セルラー電話、ウェアラブルエレクトロニクス、ゲーミングコンソール、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスのうちのいずれかを含む分散コンピューティング環境などを含むが、それらに限定されない。
【0017】
[0024]図2Aは、いくつかの実施形態によるヘッドマウントディスプレイ(HMD)200の配線図である。HMD200は、前部剛体205及びバンド210を含む。前部剛体205は、電子ディスプレイ245の1つ又は複数の電子ディスプレイ要素、慣性運動ユニット(IMU)215、1つ又は複数の位置センサ220、ロケータ225、及び1つ又は複数の計算ユニット230を含む。位置センサ220、IMU215、及び計算ユニット230は、HMD200の内部にあることが可能であり、ユーザには見えなくてもよい。さまざまな実施態様においては、IMU215、位置センサ220、及びロケータ225は、現実世界における、及び仮想環境におけるHMD200の動き及び場所を3自由度(3DoF)又は6自由度(6DoF)で追跡することが可能である。たとえば、ロケータ225は、赤外光ビームを放射することが可能であり、それらの赤外光ビームは、HMD200の周囲の現実のオブジェクト上に光点を生成する。別の例として、IMU215は、たとえば、1つ又は複数の加速度計、ジャイロスコープ、磁力計、その他の非カメラベースの位置、力、若しくは方位センサ、又はそれらの組合せを含むことが可能である。HMD200と統合されている1つ又は複数のカメラ(図示せず)が、光点を検知することが可能である。HMD200における計算ユニット230は、検知された光点を使用して、HMD200の位置及び動きを推定すること、並びにHMD200を取り巻く現実のオブジェクトの形状及び位置を識別することが可能である。
【0018】
[0025]電子ディスプレイ245は、前部剛体205と統合されることが可能であり、計算ユニット230によって指示されたとおりにユーザに画像光を提供することが可能である。さまざまな実施形態においては、電子ディスプレイ245は、単一の電子ディスプレイ又は複数の電子ディスプレイ(たとえば、ユーザのそれぞれの目のためのディスプレイ)であることが可能である。電子ディスプレイ245の例は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリックス有機発光ダイオードディスプレイ(AMOLED)、1つ若しくは複数の量子ドット発光ダイオード(QOLED)サブピクセルを含むディスプレイ、プロジェクタユニット(たとえば、マイクロLED、レーザーなど)、何らかのその他のディスプレイ、又はそれらの何らかの組合せを含む。
【0019】
[0026]いくつかの実施態様においては、HMD200は、パーソナルコンピュータ(PC)(図示せず)及び/又は1つ若しくは複数の外部センサ(図示せず)などのコア処理コンポーネントに結合されることが可能である。外部センサは、HMD200を(たとえば、HMD200から放射された光を介して)モニタすることが可能であり、これをPCが、IMU215及び位置センサ220からの出力と組み合わせて使用して、HMD200の場所及び動きを特定することが可能である。
【0020】
[0027]図2Bは、複合現実HMD252とコア処理コンポーネント254とを含む複合現実HMDシステム250の配線図である。複合現実HMD252及びコア処理コンポーネント254は、リンク256によって示されているようにワイヤレス接続(たとえば、60GHzリンク)を介して通信することが可能である。その他の実施態様においては、複合現実システム250は、外部計算デバイスを伴わずにヘッドセットのみを含むか、又は複合現実HMD252とコア処理コンポーネント254との間にその他の有線若しくはワイヤレス接続を含む。複合現実HMD252は、パススルーディスプレイ258及びフレーム260を含む。フレーム260は、ライトプロジェクタ(たとえば、レーザー、LEDなど)、カメラ、アイトラッキングセンサ、MEMSコンポーネント、ネットワーキングコンポーネント等などのさまざまな電子コンポーネント(図示せず)を収容することが可能である。
【0021】
[0028]プロジェクタは、たとえば、光学素子を介してパススルーディスプレイ258に結合されて、ユーザに対してメディアを表示することが可能である。光学素子は、プロジェクタからの光をユーザの目へ向けるために、1つ又は複数の導波管アセンブリ、反射器、レンズ、ミラー、コリメータ、回折格子などを含むことが可能である。画像データは、コア処理コンポーネント254からリンク256を介してHMD252へ伝送されることが可能である。HMD252におけるコントローラが、画像データをプロジェクタからの光パルスへと変換することが可能であり、それらの光パルスは、光学素子を介して出力光としてユーザの目へ伝送されることが可能である。出力光は、ディスプレイ258を通過する光と混ざることが可能であり、これは、あたかも現実世界に存在するかのように見える仮想オブジェクトを出力光が提示することを可能にする。
【0022】
[0029]HMD200と同様に、HMDシステム250は、動き及び位置追跡ユニット、カメラ、光源などを含むことも可能であり、これらは、HMDシステム250が、たとえば、3DoF又は6DoFで自身を追跡し、ユーザの部分(たとえば、手、足、頭、又はその他の身体部分)を追跡し、仮想オブジェクトを、HMD252が移動する際に静止しているように見えるようにマッピングし、仮想オブジェクトをジェスチャ及びその他の現実世界のオブジェクトに反応させることを可能にする。
【0023】
[0030]さまざまな実施態様においては、HMD200又は250は、ユーザの対話及び意図の徴候をモニタするために、アイトラッキングユニット、ヘッドトラッキングユニット、オーディオシステム、さまざまなネットワークコンポーネント等など、追加のサブシステムを含むことも可能である。たとえば、いくつかの実施態様においては、コントローラの代わりに、又はコントローラに加えて、HMD200若しくは250に含まれている、又は外部カメラからの1つ又は複数のカメラが、ユーザの手の位置及びポーズをモニタして、ジェスチャ並びにその他の手及び身体の動きを特定することが可能である。
【0024】
スマートウォッチとともにトラックパッドを介したユーザインターフェース制御
[0031]いくつかの実施形態においては、ユーザは、ラップトップコンピュータシステムのトラックパッドを使用するのと同様の様式で、たとえばスマートウォッチなど、ウェアラブルデバイスを使用して、XRデバイスによって生成された仮想環境において表示されているユーザインターフェース(UI)を制御することが可能である。いくつかの実施形態においては、XRデバイスは、ユーザがスマートウォッチ又はその他のウェアラブルデバイスを使用してカーソルを制御すること、及び/又はXRデバイスによって生成された仮想環境のユーザインターフェースにおけるグラフィカルユーザインターフェース(GUI)要素の選択を行うことを可能にする。これが有利である点として、ユーザは、自分の手を見ることなくスマートウォッチ上でカーソルを制御することが可能であり、その一方でまた、物理的なフィードバックがユーザに提供される。それゆえにユーザは、たとえ仮想環境において対話していても、カーソルを制御することからタッチの感覚を得ることが可能である。さらに有益な点として、この技術は非常に正確であり、なぜなら、トラックパッドがスマートウォッチのデバイスディスプレイタッチセンサにリンクされているからである。
【0025】
[0032]いくつかの実施形態においては、スマートウォッチは、XRデバイスに通信可能に接続されている。いくつかの実施形態においては、接続は、たとえば、ペアリングの結果としてのBluetooth(登録商標)接続を通じてなど、ワイヤレス接続である。いくつかのその他の実施形態においては、たとえば、ZigBee(登録商標)、UWB、赤外線等など、その他の近距離ワイヤレス通信が、スマートウォッチ(ウェアラブルデバイス)とXRデバイスとの間において使用される。スマートウォッチとXRデバイスとの間におけるリンクは、スマートウォッチのディスプレイ表面のディスプレイタッチセンサ間のリンクを含むことが可能である。
【0026】
[0033]使用中に、ユーザがスマートウォッチのディスプレイ表面を操作したこと(たとえば、1つ又は複数の指を動かしたこと、タップしたことなど)に応答して、スマートウォッチデバイスのタッチセンサから入手されたタッチデータが、XRデバイスへ送信され、1つ又は複数のコマンドへと変換され、それらのコマンドをXRデバイスが実行する。それゆえに、スマートウォッチデバイスのタッチ機能を使用して、XRデバイスによって仮想環境において表示されているユーザインターフェース及びオブジェクトが操作されることが可能である。いくつかの実施形態においては、操作は、カーソル又はその他のGUI要素を移動及び/又は制御すること、ウィンドウ(たとえば、ブラウザウィンドウ)をスクロールすること、XRデバイスのユーザインターフェースにおいて1つ又は複数のオブジェクトを選択すること、オブジェクトを回転すること、オブジェクトを拡大縮小すること、オブジェクトを移動することなどを含む。それゆえに、スマートウォッチ(又は電話)デバイスのタッチパッドインターフェースに対するユーザの動作を検知することによって、ユーザは、XRデバイスを制御してユーザインターフェースを操作することが可能である。
【0027】
[0034]図3A及び図3Bは、スマートウォッチのディスプレイ表面をトラックパッドとして使用して、そのトラックパッドを用いてカーソルを制御することを示している。図3Aを参照すると、ディスプレイ表面311を有するスマートウォッチ310が、仮想環境300におけるユーザインターフェースウィンドウ301とともに示されている。カーソル320が、ウィンドウ301上に示されている。スマートウォッチ310のトラックパッド311のディスプレイ表面上で又はディスプレイ表面を横切って1つ又は複数の指を動かすことによって、ユーザは、ディスプレイ表面311を用いてカーソル320を制御することが可能である。たとえば、ユーザは、ユーザインターフェースウィンドウ301において表示されている1つ又は複数のオブジェクト上へカーソルを移動し、指350などの1つ又は複数の指を用いてスマートウォッチ310のディスプレイ表面311をタップすることによって、それらのオブジェクトを選択することが可能である。ユーザは、指350などの指を用いてスマートウォッチ310のディスプレイ表面311を横切って指350をスライドして、カーソル320をウィンドウ301内で移動させることが可能である。カーソル320の移動の例が、矢印321によって表されている。カーソル320は、単に矢印321によって表されている方向だけでなく、すべてではないにしても、多くの方向に移動されることが可能であるということに留意されたい。図3Bにおいては、ユーザは、たとえば人差し指及び中指351を用いてなど、複数の(たとえば、2つ以上の)指を用いて、それらの指をスマートウォッチ310のディスプレイ表面311に沿って動かすことによって、仮想環境460におけるウィンドウ461などのウィンドウをスクロールすることが可能であり、それによって、スマートウォッチ310のディスプレイ表面311は、トラックパッドとしての役割を果たす。
【0028】
[0035]ユーザが、たとえば、1つ又は複数の指を用いてディスプレイ表面311と対話したときには、ディスプレイ表面311のタッチセンサは、指の動きからタッチデータを取り込み、そのタッチをXRデバイスへ送信するということに留意されたい。いくつかの実施形態においては、タッチデータは、位置、向き、速度、方向、距離などのうちの1つ又は複数を示す。それに応答して、XRデバイスは、データをコマンド(たとえば、カーソル制御コマンド、ウィンドウ制御コマンド、オブジェクト/GUI要素選択コマンド)へと変換又はその他の方法で転換し、それらのコマンドをXRデバイスが仮想環境に対して実行する。
【0029】
[0036]図4は、スマートウォッチとともにトラックパッドを使用してエクステンデッドリアリティ(XR)デバイスにおけるユーザインターフェースを制御するためのプロセスのいくつかの実施形態の流れ図である。いくつかの実施形態においては、このプロセスは、少なくとも部分的に、ハードウェア(たとえば、回路網、専用ロジックなど)、ソフトウェア(たとえば、チップ上で稼働するソフトウェア、汎用コンピュータシステム若しくは専用マシン上で稼働されるソフトウェアなど)、ファームウェア、又はそれら3つの組合せを備える処理ロジックによって実行される。
【0030】
[0037]図4を参照すると、このプロセスは、処理ロジックが、ユーザによって装着されているウェアラブルデバイス(たとえば、ウェアラブルデバイス)を検知することによって始まる(処理ブロック401)。いくつかの実施形態においては、検知は、XRデバイスによって実行される。いくつかの実施形態においては、ユーザによって装着されるデバイスは、腕時計を含む。いくつかの実施形態においては、スマートウォッチを含む腕時計。いくつかのその他の実施形態においては、そのデバイスは、その他のウェアラブルデバイスであることが可能である。
【0031】
[0038]スマートウォッチの存在を検知した後に、処理ロジックは、XRデバイスをスマートウォッチデバイスに通信可能に接続する(処理ブロック402)。いくつかの実施形態においては、XRデバイスとスマートウォッチとの間における通信は、ワイヤレスに実行される。いくつかの実施形態においては、この接続は、Bluetooth又は近距離ワイヤレス通信を含む。
【0032】
[0039]XRデバイス及びスマートウォッチが互いと通信状態になると、処理ロジックは、生成されてXRデバイスにおけるディスプレイ上に表示されているユーザインターフェースを、スマートウォッチを使用して操作する(処理ブロック403)。いくつかの実施形態においては、ユーザインターフェースを操作することは、スマートウォッチ上でユーザによって行われた検知された動作に基づいて、ユーザインターフェースにおいてカーソルを移動することを含む。検知された動作は、ユーザがスマートウォッチのディスプレイ表面を横切って1つ又は複数の指を動かすことを含むことが可能である。この検知された動作は、スマートウォッチのタッチセンサによって取り込まれ、タッチデータが、スマートウォッチによってXRデバイスへ送信される。そしてXRデバイスは、タッチデータをコマンド又はアクションへと変換し、そのコマンド又はアクションをXRデバイスが、XRデバイスのユーザインターフェースにおいて表示されているオブジェクト又はその他のGUI要素に対して実行する。
【0033】
[0040]いくつかのその他の実施形態においては、ユーザインターフェースを操作することは、スマートウォッチ上でこのユーザによって行われた検知された動作に基づいて、XRデバイスによって生成された仮想環境におけるユーザインターフェース上に表示されているオブジェクトを選択することを含む。いくつかの実施形態においては、この検知された動作は、ユーザが、たとえば、自分の指でスマートウォッチのディスプレイをタップすることを含むことが可能である。この動作は、スマートウォッチによってタッチデータの形式で取り込まれ、そのタッチデータは、スマートウォッチによってXRデバイスへ送信され、XRデバイスは、そのタッチデータを、XRデバイスのユーザインターフェースにおいて表示されているオブジェクト上でXRデバイスによって実行されるコマンド又はアクションへと変換する。
【0034】
[0041]いくつかのその他の実施形態においては、ユーザインターフェースを操作することは、スマートウォッチ上でユーザによって行われた検知された動作に基づいて、ユーザインターフェース上に表示されているウィンドウをスクロールすることを含む。いくつかの実施形態においては、検知された動作は、スマートウォッチのディスプレイを横切る1つ又は複数の指の動きを含む。やはり、この動作は、スマートウォッチのディスプレイ表面のタッチセンサによって取り込まれ、結果として生じるタッチデータが、XRデバイスへ送信され、XRデバイスは、そのタッチデータを、XRデバイスのユーザインターフェースにおいて表示されているオブジェクト上でXRデバイスによって実行されるコマンド又はアクションへと変換する。このケースにおいては、そのコマンド/アクションは、XRデバイスによって生成された仮想環境におけるユーザインターフェースにおけるウィンドウのスクロールである。
【0035】
XRショートカット機能とスマートウォッチとを用いたユーザインターフェース制御
[0042]現在のXRシステムにおいては、特定の秒数にわたってピンチすること、特定のボタンを押すこと、又はその他のそのような機能を実行することによって、特定のアクションが実行されることが可能である。しかしながら、現在のXRデバイスは、XRデバイスによって仮想環境において表示されているユーザインターフェースに対してユーザが作成したかったショートカットを示すためにスマートウォッチ(又はその他のウェアラブルデバイス)の近くの仮想ショートカットボタンを使用していない。
【0036】
[0043]いくつかの実施形態においては、XRデバイスは、スマートウォッチの周りに現れるXRデバイスによって生成されたユーザインターフェースにおける1つ又は複数のショートカット仮想ボタンのセットを有する仮想ショートカットメニューを表示する。いくつかの実施形態においては、ショートカットメニューの位置は、スマートウォッチ上の1つ又は複数の画像追跡マーカに従って特定又は算出される。いくつかの実施形態においては、1つ又は複数の画像追跡マーカは、スマートウォッチのディスプレイ表面に現れる。この技術を使用すると、ユーザは、スマートウォッチデバイスを見て、たとえば、仮想ボタンのうちのいずれか1つへの1つ又は複数の指を用いたボタンを押すジェスチャなどのジェスチャを実行するだけで、仮想ショートカットボタンメニューを使用することが可能である。いくつかの実施形態においては、仮想ボタンは、拡大縮小可能であり、1つ又は複数の画像追跡マーカに起因して時計デバイスの位置に従う。
【0037】
[0044]仮想ボタンを使用すると、XRデバイスによって生成され表示される仮想環境におけるユーザインターフェースにおいて生じることになるアクション及び/又はイベントをユーザが選択することが容易になる。いくつかの実施形態においては、XRデバイスは、ハンドトラッキングを使用して手のジェスチャを認識して選択を実行する。すなわち、ユーザは、指を用いて仮想ボタンのうちの1つをタップすることなど、自分の手を用いてジェスチャを実行し、XRデバイスの画像カメラが、ユーザの動きに関連付けられているデータを取り込む。XRデバイスは、位置、向き、速度、方向、距離などのうちの1つ又は複数を含むことが可能である動きに対応するデータに基づいてジェスチャを特定する。識別されたジェスチャに基づいて、XRデバイスは、ユーザが仮想ボタンのうちのどれを選択していて、かつその仮想ボタンに関連付けられているアクション及び/又はコマンドを呼び出して実行したいのかを特定する。それゆえに、この様式においては、ユーザは、自分のスマートウォッチの使用を通じて、仮想ショートカットインターフェースを見て、XRデバイスによって生成され表示される仮想環境におけるユーザインターフェースを制御することが可能である。
【0038】
[0045]図5A及び図5Bは、XRデバイスによって生成された仮想環境におけるユーザインターフェースを制御するための、スマートウォッチの周りの仮想ボタンを有する仮想ショートカットメニューのいくつかの実施形態を示している。図5Aを参照すると、仮想ショートカットメニュー501が、仮想環境におけるユーザインターフェースの一部としてXRデバイスによってスマートウォッチ502の近くに表示されている。ある実施形態においては、XRデバイスは、スマートウォッチ502上の画像追跡マーカ503を使用して、スマートウォッチ502の位置を検知する。スマートウォッチ502の位置に基づいて、XRデバイスは、仮想ショートカットメニュー501をスマートウォッチ502の近くに配置することが可能である。いくつかの実施形態においては、XRデバイスは、スマートウォッチ502の一部分の周りに仮想ショートカットメニュー501を配置する。仮想ショートカットメニュー501及び/又はその仮想ボタンは、スマートウォッチ502の1つの、複数の、又はすべての側面に配置されることが可能であるということに留意されたい。
【0039】
[0046]いくつかの実施形態においては、仮想ショートカットインターフェース501は、たとえば、1つ又は複数の機能又はアクションの実行などの特定の機能へユーザがジャンプすることを可能にするためにユーザによって選択されることが可能である複数の仮想ボタンを含む。ユーザは、自分が使用したいボタンを押して、仮想ボタンのうちのそれぞれに関連付けられている機能を呼び出すことが可能である。
【0040】
[0047]図5A及び図5Bにおいては、仮想ショートカットインターフェース501は、5つの仮想ボタンを含むが、本明細書において開示されている技術は、5つよりも多い又は少ない仮想ボタンを有することが可能である。いくつかの実施形態においては、仮想ショートカットインターフェース501は、ホームボタン510、ブラウザ(又はその他のウィンドウ)を開くためのボタン511、開いているアプリケーションをチェックするためのボタン512、戻るボタン513、及び進むボタン514を含む。ホームボタン510は、選択されたときに、ユーザが仮想環境のユーザインターフェースにおけるホーム画面へ行くことを可能にし、そのホーム画面は、スタート画面又はメインメニュー(たとえば、仮想ショートカットインターフェース501の再表示)であることが可能である。戻るボタン513は、選択されたときに、ユーザインターフェースにおける以前に閲覧されたページ(たとえば、ウェブページなど)へエンドユーザが進むことを可能にする。進むボタン514は、選択されたときに、もともとは現在のページの後に閲覧されたユーザインターフェースにおける以前に閲覧されたページ(たとえば、ウェブページなど)へエンドユーザが進むことを可能にする。いくつかの実施形態においては、仮想ショートカットインターフェース501の仮想ボタンのうちの1つが、選択されたときに、仮想ボタンの別のセットを表示することを仮想ショートカットインターフェース501に行わせる。仮想ボタンの新たなセットは、仮想ショートカットインターフェース501におけるボタンの以前に表示されたセットにおける1つ又は複数のボタンを含むことが可能である。いくつかの実施形態においては、仮想ショートカットインターフェース501は、カスタマイズ可能であり、ユーザ(又は複数のユーザ)が含めたいボタンの任意のセットを有することが可能である。
【0041】
[0048]いくつかの実施形態においては、仮想ショートカットインターフェース501における仮想ボタンは、ユーザによって構成可能である。この方法においては、ユーザは、仮想ショートカットインターフェース501を使用して、XRデバイスによって生成され表示される仮想環境におけるユーザインターフェースと対話することが可能である。
【0042】
[0049][0050]より具体的には、XRデバイスによって実行されるハンドトラッキング及び画像認識の使用を通じて、XRデバイスは、ユーザがスマートウォッチ502を見ていると特定し、次いでその特定に応答して仮想ショートカットインターフェース503を表示することが可能である。すなわち、いくつかの実施形態においては、実際のスマートウォッチの画面は、502において示されているように変更される(その一方でスマートウォッチは、ユーザがXRデバイスを装着していない場合には、通常の画面を示す)。この時点で、ユーザは、手のジェスチャを行って、仮想ボタンのうちの1つ又は複数を選択することが可能である。
【0043】
[0051]図5Bは、仮想ショートカットメニューインターフェースのいくつかの実施形態において仮想ショートカットボタン510~514のうちの1つを選択して、その仮想ボタンに関連付けられている機能がXRデバイスによって呼び出されるようにすることを示している。図5Bを参照すると、ユーザは、指570を動かし、仮想ボタン511に対して押す(押し込む)ジェスチャを実行する。いくつかの実施形態においては、仮想ボタン510~514のうちの1つに対して行われたいずれの押すジェスチャも、XRデバイスにおける1つ又は複数のカメラを用いたハンドトラッキングを使用してXRデバイスによって認識される。これらの機能は、ホームボタンへ行くこと、以前に閲覧された複数のディスプレイウィンドウの中を進むこと又は戻ることを含むことが可能である。
【0044】
[0052]いくつかの実施形態においては、仮想ショートカットインターフェースの使用を通じることによって選択可能な機能のうちの1つ又は複数を選択するためにスマートウォッチのディスプレイ表面が使用されることが可能である。そのようなケースにおいては、スマートウォッチのディスプレイ表面は、上述されているようにトラックパッドとして使用され、ディスプレイ表面にタッチすることによって機能が呼び出されることが可能である。いくつかの実施形態においては、ディスプレイ表面の事前に特定されたセクションが、1つ又は複数の呼び出し可能な機能に関連付けられ、それによって、それらの事前に特定されたセクションのそれぞれをユーザがタップ又はその他の方法でタッチしたときには、次いでその関連付けられている(1つ又は複数の)機能が呼び出されることが可能である。図5Cは、スマートウォッチのディスプレイ表面のいくつかの実施形態を示している。図5Cを参照すると、ディスプレイ表面要素590が、ホームボタン510に関連付けられることが可能であり、ユーザは、ディスプレイ表面要素590をタップして、ホームボタン510の機能を呼び出すことが可能である。同様に、ディスプレイ表面要素591が、進むボタン514に関連付けられることが可能であり、ユーザは、ディスプレイ表面要素591をタップして、ホームボタン514の機能を呼び出すことが可能である。これらは例にすぎず、その他のものが実施されることも可能である。
【0045】
[0053]図6は、スマートウォッチ又はその他のウェアラブルデバイスとともにXRショートカットインターフェースを使用してXRデバイスにおけるユーザインターフェースを制御するためのプロセスのいくつかの実施形態の流れ図である。いくつかの実施形態においては、このプロセスは、少なくとも部分的に、ハードウェア(たとえば、回路網、専用ロジックなど)、ソフトウェア(たとえば、チップ上で稼働するソフトウェア、汎用コンピュータシステム若しくは専用マシン上で稼働されるソフトウェアなど)、ファームウェア、又はそれら3つの組合せを備える処理ロジックによって実行される。
【0046】
[0054]図6を参照すると、このプロセスは、XRデバイス処理ロジックがスマートウォッチ(又はその他のウェアラブルデバイス)を検知するという処理ロジックを開始する(処理ブロック601)。次に処理ロジックは、カメラを使用してスマートウォッチ上の(1つ又は複数の)マーカを識別し(処理ブロック602)、処理ロジックは、それらの(1つ又は複数の)マーカを使用してウェアラブルデバイスの位置を検知する(処理ブロック603)。いくつかの実施形態においては、マーカを使用してウェアラブルデバイスの位置を検知することは、スマートウォッチのディスプレイ上のマーカの位置を検知することを含む。
【0047】
[0055]スマートウォッチを検知したことに応答して、処理ロジックは、XRデバイスのディスプレイにおいてXRデバイスによって表示されているユーザインターフェースにおいて仮想インターフェースを表示する(処理ブロック604)。いくつかの実施形態においては、仮想インターフェースは、ウェアラブルデバイスの近くに表示され、ユーザによって選択可能なグラフィカルユーザインターフェース(GUI)要素を含む。いくつかの実施形態においては、仮想インターフェースをスマートウォッチの周りに(たとえば、ウェアラブルデバイスのディスプレイの周りなどに)表示することによって、仮想インターフェースは、スマートウォッチの近くに表示される。いくつかの実施形態においては、GUI要素はボタンを含むが、その他のタイプのGUI要素が仮想インターフェースにおいて使用されることも可能である。
【0048】
[0056]その後に、仮想インターフェースが表示されている状態で、処理ロジックは、GUI要素のうちの1つに対して行われたユーザの手のジェスチャを記録し(処理ブロック605)、その手のジェスチャを1つのGUI要素の選択として認識する(処理ブロック606)。いくつかの実施形態においては、ユーザの手の動き(たとえば、指の動き)に関連した画像データが、XRデバイスのカメラによって取り込まれ、XRデバイスによって分析されて、GUI要素のうちの1つの選択を示すためにジェスチャが実行されたと特定される。この認識に応答して、処理ロジックは、1つのGUI要素に関連付けられている機能を呼び出す(処理ブロック607)。すなわち、XRデバイスは、選択された仮想ボタンに関連付けられているアクション及び/又は機能を実行するためのコマンドを実行する。
【0049】
[0057]図3A図4において上述されている仮想トラックパッドは、図5A図6において上述されている仮想ショートカットメニューインターフェースとともに使用されることが可能であるということに留意されたい。たとえば、スマートウォッチの仮想トラックパッドを使用して、仮想ショートカットメニューが現れるようにすることが可能である。その点から、ユーザは、スマートウォッチの周りの仮想ボタンを使用して、及び/又はスマートウォッチのディスプレイ表面を使用して機能を呼び出すことが可能である。これら2つの技術を組み合わせたその他の使用は、当業者によって認識されるであろう。
【0050】
[0058]本明細書において記述されているいくつかの例示的な実施形態がある。
【0051】
[0059]例1は、エクステンドリアリティ(XR)デバイスによってウェアラブルデバイスを検知するステップと、XRデバイスをウェアラブルデバイスに通信可能に接続するステップと、ウェアラブルデバイスを用いて、XRデバイスにおけるディスプレイ上に表示されている仮想環境におけるユーザインターフェースを操作するステップとを含む方法である。
【0052】
[0060]例2は、ユーザインターフェースを操作するステップが、XRデバイスへ送信される、ウェアラブルデバイス上でユーザによって行われた検知された動作に基づいて、ユーザインターフェースに対してカーソルを移動することを含み、検知された動作が、ウェアラブルデバイスのディスプレイ表面を横切ってユーザの1つ又は複数の指を動かすことであるということを任意選択で含むことが可能である例1の方法である。
【0053】
[0061]例3は、ユーザインターフェースを操作するステップが、XRデバイスへ送信される、ウェアラブルデバイス上でユーザによって行われた検知された動作に基づいて、ユーザインターフェース上に表示されているオブジェクトを選択することを含み、検知された動作が、ウェアラブルデバイスのディスプレイ表面上でのユーザによるタップであるということを任意選択で含むことが可能である例1の方法である。
【0054】
[0062]例4は、ユーザインターフェースを操作するステップが、XRデバイスへ送信される、ウェアラブルデバイス上でユーザによって行われた検知された動作に基づいて、ユーザインターフェース上に表示されているウィンドウをスクロールすることを含み、検知された動作が、ユーザによるウェアラブルデバイスの一部分を横切る1つ又は複数の指の動きであるということを任意選択で含むことが可能である例1の方法である。
【0055】
[0063]例5は、少なくとも1つの指が、2つの指を含み、ウェアラブルデバイスの部分が、ウェアラブルデバイスのディスプレイを含むということを任意選択で含むことが可能である例4の方法である。
【0056】
[0064]例6は、ユーザインターフェースにおいてウェアラブルデバイスの近くに仮想インターフェースを表示して、ユーザによって選択可能なグラフィカルユーザインターフェース(GUI)要素を含めるステップを任意選択で含むことが可能である例1の方法である。
【0057】
[0065]例7は、ユーザによって選択可能なGUI要素が仮想ボタンであるということを任意選択で含むことが可能である例6の方法である。
【0058】
[0066]例8は、GUI要素のうちの1つに関連してユーザによって行われた1つ又は複数の指の動きを取り込むステップと、動きを1つのGUI要素の選択として認識するステップと、動きを認識したことに応答して、1つのGUI要素に関連付けられている機能を呼び出すステップとを任意選択で含むことが可能である例6の方法である。
【0059】
[0067]例9は、仮想GUI要素が、別々の機能を仮想GUI要素のうちのそれぞれに関連付けるようにカスタマイズ可能であるということを任意選択で含むことが可能である例1の方法である。
【0060】
[0068]例10は、カメラを使用して、ウェアラブルデバイス上のマーカを識別するステップと、マーカを使用してウェアラブルデバイスの位置を検知するステップとを任意選択で含むことが可能であり、ユーザインターフェースにおいてウェアラブルデバイスの近くに仮想インターフェースを表示するステップが、ウェアラブルデバイスの位置に基づいて仮想インターフェースを表示することを含む例1の方法である。
【0061】
[0069]例11は、マーカを使用してウェアラブルデバイスの位置を検知するステップが、マーカを使用してウェアラブルデバイスのディスプレイの位置を検知するステップを含むということを任意選択で含むことが可能である例10の方法である。
【0062】
[0070]例12は、仮想インターフェースが、ウェアラブルデバイスの周りに表示され、ウェアラブルデバイスが、スマートウォッチデバイスを含むということを任意選択で含むことが可能である例1の方法である。
【0063】
[0071]例13は、ユーザインターフェースを制御するためのコンピューティングシステムであり、このコンピューティングシステムは、1つ又は複数のプロセッサと、命令を格納している1つ又は複数のメモリとを備え、それらの命令は、1つ又は複数のプロセッサによって実行されたときに、エクステンドリアリティ(XR)デバイスによってウェアラブルデバイスを検知することと、XRデバイスをウェアラブルデバイスに通信可能に接続することと、ウェアラブルデバイスを用いて、XRデバイスにおけるディスプレイ上に表示されている仮想環境におけるユーザインターフェースを操作することとを含むプロセスをコンピューティングシステムに実行させる。
【0064】
[0072]例14は、ユーザインターフェースを操作することが、XRデバイスへ送信される、ウェアラブルデバイス上でユーザによって行われた検知された動作に基づいて、ユーザインターフェースに対してカーソルを移動することを含み、検知された動作が、ウェアラブルデバイスのディスプレイ表面を横切ってユーザの1つ又は複数の指を動かすことであるということを任意選択で含むことが可能である例13のコンピューティングシステムである。
【0065】
[0073]例15は、ユーザインターフェースを操作することが、XRデバイスへ送信される、ウェアラブルデバイス上でユーザによって行われた検知された動作に基づいて、ユーザインターフェース上に表示されているオブジェクトを選択することを含み、検知された動作が、ウェアラブルデバイスのディスプレイ表面上でのユーザによるタップであるということを任意選択で含むことが可能である例13のコンピューティングシステムである。
【0066】
[0074]例16は、ユーザインターフェースを操作することが、XRデバイスへ送信される、ウェアラブルデバイス上でユーザによって行われた検知された動作に基づいて、ユーザインターフェース上に表示されているウィンドウをスクロールすることを含み、検知された動作が、ユーザによるウェアラブルデバイスの一部分を横切る1つ又は複数の指の動きであるということを任意選択で含むことが可能である例13のコンピューティングシステムである。
【0067】
[0075]例17は、プロセスが、ユーザインターフェースにおいてウェアラブルデバイスの近くに仮想インターフェースを表示して、ユーザによって選択可能なグラフィカルユーザインターフェース(GUI)要素を含めることをさらに含むということを任意選択で含むことが可能である例13のコンピューティングシステムである。
【0068】
[0076]例18は、ユーザによって選択可能なGUI要素が仮想ボタンであるということを任意選択で含むことが可能である例17のコンピューティングシステムである。
【0069】
[0077]例19は、プロセスが、GUI要素のうちの1つに関連してユーザによって行われた1つ又は複数の指の動きを取り込むことと、動きを1つのGUI要素の選択として認識することと、動きを認識したことに応答して、1つのGUI要素に関連付けられている機能を呼び出すこととをさらに含むということを任意選択で含むことが可能である例17のコンピューティングシステムである。
【0070】
[0078]例20は、命令を格納されている1つ又は複数の非一時的なコンピュータ可読ストレージメディアであり、それらの命令は、少なくともプロセッサとメモリとを内部に有しているシステムによって実行されたときに、エクステンドリアリティ(XR)デバイスによってウェアラブルデバイスを検知することと、XRデバイスをウェアラブルデバイスに通信可能に接続することと、ウェアラブルデバイスを用いて、XRデバイスにおけるディスプレイ上に表示されている仮想環境におけるユーザインターフェースを操作することと、を含むオペレーションをシステムに実行させる。
【0071】
[0079]上記の詳細な記述のいくつかの部分は、コンピュータメモリ内のデータビット上でのオペレーションのアルゴリズム及びシンボル表現という点から提示されている。これらのアルゴリズム的な記述及び表現は、データ処理技術分野におけるスキルを有する者たちによって、彼らの作業の実体を、その技術分野におけるスキルを有する他者たちへ最も効果的に伝達するために使用される手段である。アルゴリズムとは、ここでは、及び一般には、所望の結果につながるステップどうしの自己矛盾のないシーケンスであると考えられる。それらのステップは、物理的な量の物理的な操作を必要とするステップである。通常、必須ではないが、これらの量は、格納されること、転送されること、結合されること、比較されること、及びその他の方法で操作されることが可能な電気信号又は磁気信号の形態を取る。これらの信号をビット、値、要素、シンボル、文字、語、数などとして指すことが、主として共通の使用という理由から、時として好都合であることがわかっている。
【0072】
[0080]しかしながら、これら及び類似の語のすべては、適切な物理的な量に関連付けられるものであり、これらの量に適用される便宜上のラベルにすぎないということを念頭に置いていただきたい。特に別段の記載がない限り、以降の論考から明らかなように、この記述の全体を通じて、「処理する」、又は「計算する」、又は「算出する」、又は「特定する」、又は「表示する」等などの語を利用している論考は、コンピュータシステムのレジスタ及びメモリ内の物理的な(電子的な)量として表されているデータを操作して、同様にコンピュータシステムのメモリ若しくはレジスタ、又はその他のそのような情報格納、伝送、若しくは表示デバイス内の物理的な量として表されるその他のデータへと変換する、コンピュータシステム又は類似の電子コンピューティングデバイスのアクション及びプロセスを指すということがわかる。
【0073】
[0081]本開示はまた、本明細書におけるオペレーションを実行するための装置に関連している。この装置は、求められている目的のために特別に構築されることが可能であり、又は、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブ化若しくは再構成される汎用コンピュータを備えることが可能である。そのようなコンピュータプログラムは、コンピュータ可読ストレージメディアに格納されることが可能であり、そのコンピュータ可読ストレージメディアは、フロッピーディスク(登録商標)、光ディスク、CD-ROM、及び光磁気ディスクを含む任意のタイプのディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気若しくは光カード、又は電子命令を格納するのに適している任意のタイプのメディアなどであるが、それらに限定されず、それぞれはコンピュータシステムバスに結合されている。
【0074】
[0082]本明細書において提示されているアルゴリズム及び表示は、いずれかの特定のコンピュータ又はその他の装置に固有に関連しているものではない。さまざまな汎用システムが、本明細書における教示によるプログラムとともに使用されることが可能であり、又は必要とされている方法ステップを実行するためのさらに専門化された装置を構築することが好都合であると判明する場合もある。さまざまなこれらのシステムにとっての必要とされる構造は、以降の記述から明らかになるであろう。加えて、本開示は、いずれかの特定のプログラミング言語に関連して記述されているものではない。本明細書において記述されているように本開示の教示を実施するためにさまざまなプログラミング言語が使用されることが可能であるということがわかるであろう。
【0075】
[0083]マシン可読メディアは、マシン(たとえば、コンピュータ)によって読み取り可能な形態で情報を格納又は伝送するための任意のメカニズムを含む。たとえば、マシン可読メディアは、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスクストレージメディア、光ストレージメディア、フラッシュメモリデバイス、電気伝搬信号、光伝搬信号、音響伝搬信号、又はその他の形態の伝搬信号(たとえば、搬送波、赤外線信号、デジタル信号等)などを含む。
【0076】
[0084]当技術分野における普通のスキルを有する者にとっては、前述の記述を読んだ後には、本開示の多くの変更及び修正が疑いなく明らかになるであろうが、例示として示され記述されているいずれの特定の実施形態も、限定的とみなされることを意図されているものでは決してないということを理解されたい。そのため、さまざまな実施形態の詳細への言及は、本開示にとって不可欠とみなされる特徴のみを本来列挙する特許請求の範囲の範疇を限定することを意図されているものではない。
図1
図2A
図2B
図3A
図3B
図4
図5A
図5B
図5C
図6