(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-13
(54)【発明の名称】ウェアラブルシステムのための手のジェスチャ入力
(51)【国際特許分類】
G06F 3/01 20060101AFI20230406BHJP
G06T 19/00 20110101ALI20230406BHJP
G06V 40/20 20220101ALI20230406BHJP
G06T 7/20 20170101ALI20230406BHJP
【FI】
G06F3/01 570
G06F3/01 510
G06T19/00 600
G06V40/20
G06T7/20 300A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022550931
(86)(22)【出願日】2021-02-25
(85)【翻訳文提出日】2022-10-21
(86)【国際出願番号】 US2021019677
(87)【国際公開番号】W WO2021173839
(87)【国際公開日】2021-09-02
(32)【優先日】2020-02-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-05-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】レイシー, ポール
【テーマコード(参考)】
5B050
5E555
5L096
【Fターム(参考)】
5B050AA03
5B050BA09
5B050BA12
5B050BA13
5B050CA07
5B050DA05
5B050DA07
5B050EA04
5B050EA26
5B050FA02
5B050FA05
5B050FA13
5B050FA14
5E555AA63
5E555AA64
5E555AA76
5E555BA38
5E555BB38
5E555BC01
5E555BE17
5E555CA42
5E555CB66
5E555DA08
5E555DB06
5E555DB53
5E555DD06
5E555EA07
5E555EA09
5E555EA19
5E555EA22
5E555FA00
5L096CA04
5L096FA09
5L096FA12
5L096FA67
5L096FA69
5L096HA02
(57)【要約】
ユーザの手が仮想オブジェクトと相互作用することを可能にするための技法が、開示される。少なくとも一方の手の画像は、画像捕捉デバイスから受信され得る。少なくとも一方の手と関連付けられる、複数の特徴点が、検出され得る。手が特定のジェスチャを行っている、または行うように遷移しつつあることの決定に応答して、複数の特徴点のサブセットが、選択され得る。相互作用点が、特定のジェスチャに基づいて、複数の特徴点のサブセットに対する特定の場所に位置合わせされ得る。近位点が、ユーザの身体に沿った場所に位置合わせされ得る。光線が、近位点から、相互作用点を通して、投射され得る。仮想オブジェクトと相互作用するための多DOFコントローラが、光線に基づいて形成され得る。
【特許請求の範囲】
【請求項1】
仮想オブジェクトと相互作用する方法であって、前記方法は、
ユーザの手の画像をウェアラブルシステムの1つまたはそれを上回る画像捕捉デバイスから受信することと、
前記画像を分析し、前記ユーザの手と関連付けられる複数の特徴点を検出することと、
前記画像を分析することに基づいて、前記ユーザの手が、複数のジェスチャから、特定のジェスチャを行っているかまたは行うように遷移しつつあるかどうかを決定することと、
前記ユーザの手が、特定のジェスチャを行っているかまたは行うように遷移しつつあることの決定に応答して、
前記特定のジェスチャに対応する前記複数の特徴点のサブセットを選択することと、
前記複数の特徴点のサブセットに対する特定の場所を決定することであって、前記特定の場所は、前記複数の特徴点のサブセットおよび前記特定のジェスチャに基づいて決定される、ことと、
相互作用点を前記特定の場所に位置合わせすることと、
近位点を前記ユーザの身体に沿った場所に位置合わせすることと、
光線を、前記近位点から、前記相互作用点を通して投射することと、
前記光線に基づいて、前記仮想オブジェクトと相互作用するための多DOFコントローラを形成することと
を含む、方法。
【請求項2】
前記複数のジェスチャは、握持ジェスチャ、ポイントジェスチャ、またはピンチジェスチャのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記複数の特徴点のサブセットは、前記複数の特徴点の複数のサブセットから選択され、前記複数の特徴点の複数のサブセットのそれぞれは、前記複数のジェスチャからの異なるジェスチャに対応する、請求項1に記載の方法。
【請求項4】
前記多DOFコントローラのグラフィカル表現を表示することをさらに含む、請求項1に記載の方法。
【請求項5】
前記近位点が位置合わせされる場所は、前記ユーザの肩の推定される場所、前記ユーザの肘の推定される場所、または前記ユーザの肩の推定される場所と前記ユーザの肘の推定される場所との間にある、請求項1に記載の方法。
【請求項6】
前記1つまたはそれを上回る画像捕捉デバイスの画像捕捉デバイスによって、前記ユーザの手の画像を捕捉することをさらに含む、請求項1に記載の方法。
【請求項7】
前記画像捕捉デバイスは、ウェアラブルシステムのヘッドセットに搭載される、請求項6に記載の方法。
【請求項8】
システムであって、
1つまたはそれを上回るプロセッサと、
機械可読媒体であって、前記機械可読媒体は、命令を備え、前記命令は、前記1つまたはそれを上回るプロセッサによって実行されると、前記1つまたはそれを上回るプロセッサに、
ユーザの手の画像をウェアラブルシステムの1つまたはそれを上回る画像捕捉デバイスから受信することと、
前記画像を分析し、前記ユーザの手と関連付けられる複数の特徴点を検出することと、
前記画像を分析することに基づいて、前記ユーザの手が、複数のジェスチャから、特定のジェスチャを行っているかまたは行うように遷移しつつあるかどうかを決定することと、
前記ユーザの手が、特定のジェスチャを行っているかまたは行うように遷移しつつあることの決定に応答して、
前記特定のジェスチャに対応する前記複数の特徴点のサブセットを選択することと、
前記複数の特徴点のサブセットに対する特定の場所を決定することであって、前記特定の場所は、前記複数の特徴点のサブセットおよび前記特定のジェスチャに基づいて決定される、ことと、
相互作用点を前記特定の場所に位置合わせすることと、
近位点を前記ユーザの身体に沿った場所に位置合わせすることと、
光線を、前記近位点から、前記相互作用点を通して投射することと、
前記光線に基づいて、仮想オブジェクトと相互作用するための多DOFコントローラを形成することと
を含む動作を実施させる、機械可読媒体と
を備える、システム。
【請求項9】
前記複数のジェスチャは、握持ジェスチャ、ポイントジェスチャ、またはピンチジェスチャのうちの少なくとも1つを含む、請求項8に記載のシステム。
【請求項10】
前記複数の特徴点のサブセットは、前記複数の特徴点の複数のサブセットから選択され、前記複数の特徴点の複数のサブセットのそれぞれは、前記複数のジェスチャからの異なるジェスチャに対応する、請求項8に記載のシステム。
【請求項11】
前記動作はさらに、前記多DOFコントローラのグラフィカル表現を表示することを含む、請求項8に記載のシステム。
【請求項12】
前記近位点が位置合わせされる場所は、前記ユーザの肩の推定される場所、前記ユーザの肘の推定される場所、または前記ユーザの肩の推定される場所と前記ユーザの肘の推定される場所との間にある、請求項8に記載のシステム。
【請求項13】
前記動作はさらに、前記1つまたはそれを上回る画像捕捉デバイスの画像捕捉デバイスによって、前記ユーザの手の画像を捕捉することを含む、請求項8に記載のシステム。
【請求項14】
前記画像捕捉デバイスは、ウェアラブルシステムのヘッドセットに搭載される、請求項13に記載のシステム。
【請求項15】
非一過性機械可読媒体であって、前記非一過性機械可読媒体は、命令を備え、前記命令は、1つまたはそれを上回るプロセッサによって実行されると、前記1つまたはそれを上回るプロセッサに、
ユーザの手の画像をウェアラブルシステムの1つまたはそれを上回る画像捕捉デバイスから受信することと、
前記画像を分析し、前記ユーザの手と関連付けられる複数の特徴点を検出することと、
前記画像を分析することに基づいて、前記ユーザの手が、複数のジェスチャから、特定のジェスチャを行っているかまたは行うように遷移しつつあるかどうかを決定することと、
前記ユーザの手が、特定のジェスチャを行っているかまたは行うように遷移しつつあることの決定に応答して、
前記特定のジェスチャに対応する前記複数の特徴点のサブセットを選択することと、
前記複数の特徴点のサブセットに対する特定の場所を決定することであって、前記特定の場所は、前記複数の特徴点のサブセットおよび前記特定のジェスチャに基づいて決定される、ことと、
相互作用点を前記特定の場所に位置合わせすることと、
近位点を前記ユーザの身体に沿った場所に位置合わせすることと、
光線を、前記近位点から、前記相互作用点を通して投射することと、
前記光線に基づいて、仮想オブジェクトと相互作用するための多DOFコントローラを形成することと
を含む動作を実施させる、非一過性機械可読媒体。
【請求項16】
前記複数のジェスチャは、握持ジェスチャ、ポイントジェスチャ、またはピンチジェスチャのうちの少なくとも1つを含む、請求項15に記載の非一過性機械可読媒体。
【請求項17】
前記複数の特徴点のサブセットは、前記複数の特徴点の複数のサブセットから選択され、前記複数の特徴点の複数のサブセットのそれぞれは、前記複数のジェスチャからの異なるジェスチャに対応する、請求項15に記載の非一過性機械可読媒体。
【請求項18】
前記動作はさらに、前記多DOFコントローラのグラフィカル表現を表示することを含む、請求項15に記載の非一過性機械可読媒体。
【請求項19】
前記近位点が位置合わせされる場所は、前記ユーザの肩の推定される場所、前記ユーザの肘の推定される場所、または前記ユーザの肩の推定される場所と前記ユーザの肘の推定される場所との間にある、請求項15に記載の非一過性機械可読媒体。
【請求項20】
前記動作はさらに、前記1つまたはそれを上回る画像捕捉デバイスの画像捕捉デバイスによって、前記ユーザの手の画像を捕捉することを含む、請求項15に記載の非一過性機械可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
(関連出願の相互参照)
本願は、その全内容が、あらゆる目的のために、参照することによって本明細書に組み込まれる、2020年2月26日に出願され、「HAND GESTURE INPUT FOR WEARABLE SYSTEM」と題された、米国仮特許出願第62/981,934号、および2020年5月19日に出願され、「HAND GESTURE INPUT FOR WEARABLE SYSTEM」と題された、米国仮特許出願第63/027,272号の優先権の利益を主張する。
【0002】
現代のコンピューティングおよびディスプレイ技術は、いわゆる、「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部は、現実であるように見える、またはそのように知覚され得る様式で、ユーザに提示される。仮想現実、すなわち、「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実、すなわち、「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
【0003】
これらのディスプレイ技術において成された進展にもかかわらず、当技術分野において、拡張現実システム、特に、ディスプレイシステムに関連する、改良された方法、システム、およびデバイスの必要性が、存在する。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、概して、光学システムの性能およびユーザ体験を改良するための技法に関する。より具体的には、本開示の実施形態は、その中でユーザの手のジェスチャが仮想環境内で相互作用するために使用される、拡張現実(AR)、仮想現実(VR)、または複合現実(MR)ウェアラブルシステムを動作させるための方法を提供する。
【0005】
本発明の種々の実施形態の説明が、実施例の一覧として、下記に提供される。下記に使用されるように、一連の実施例への任意の言及は、それらの実施例のそれぞれへの離接的な言及として理解されるものである(例えば、「実施例1-4」は、「実施例1、2、3、または4」として理解されるものである)。
【0006】
実施例1は、仮想オブジェクトと相互作用する方法であって、ユーザの手の画像を受信するステップと、画像を分析し、ユーザの手と関連付けられる、複数の特徴点を検出するステップと、画像を分析するステップに基づいて、ユーザの手が、複数のジェスチャからのジェスチャを行っている、または行うように遷移しつつあるかどうかを決定するステップと、ユーザの手が、ジェスチャを行っている、または行うように遷移しつつあることの決定に応答して、複数の特徴点に対する特定の場所を決定するステップであって、特定の場所は、複数の特徴点およびジェスチャに基づいて決定される、ステップと、相互作用点を特定の場所に位置合わせするステップと、相互作用点に基づいて、仮想オブジェクトと相互作用するための多DOFコントローラを形成するステップとを含む、方法である。
【0007】
実施例2は、実施例1に記載の方法を実施するように構成される、システムである。
【0008】
実施例3は、1つまたはそれを上回るプロセッサによって実行されると、1つまたはそれを上回るプロセッサに、実施例1に記載の方法を実施させる、命令を備える、非一過性機械可読媒体である。
【0009】
実施例4は、仮想オブジェクトと相互作用する方法であって、ユーザの手の画像をウェアラブルシステムの1つまたはそれを上回る画像捕捉デバイスから受信するステップと、画像を分析し、ユーザの手と関連付けられる、複数の特徴点を検出するステップと、画像を分析するステップに基づいて、ユーザの手が、複数のジェスチャから、特定のジェスチャを行っている、または行うように遷移しつつあるかどうかを決定するステップと、ユーザの手が、特定のジェスチャを行っている、または行うように遷移しつつあることの決定に応答して、特定のジェスチャに対応する、複数の特徴点のサブセットを選択するステップと、複数の特徴点のサブセットに対する特定の場所を決定するステップであって、特定の場所は、複数の特徴点のサブセットおよび特定のジェスチャに基づいて決定される、ステップと、相互作用点を特定の場所に位置合わせするステップと、近位点をユーザの身体に沿った場所に位置合わせするステップと、光線を、近位点から、相互作用点を通して、投射するステップと、光線に基づいて、仮想オブジェクトと相互作用するための多DOFコントローラを形成するステップとを含む、方法である。
【0010】
実施例5は、複数のジェスチャは、握持ジェスチャ、ポイントジェスチャ、またはピンチジェスチャのうちの少なくとも1つを含む、実施例4に記載の方法である。
【0011】
実施例6は、複数の特徴点のサブセットは、複数の特徴点の複数のサブセットから選択され、複数の特徴点の複数のサブセットはそれぞれ、複数のジェスチャからの異なるジェスチャに対応する、実施例4に記載の方法である。
【0012】
実施例7は、多DOFコントローラのグラフィカル表現を表示するステップをさらに含む、実施例4に記載の方法である。
【0013】
実施例8は、近位点が位置合わせされる、場所は、ユーザの肩の推定される場所、ユーザの肘の推定される場所、またはユーザの肩の推定される場所とユーザの肘の推定される場所との間にある、実施例4に記載の方法である。
【0014】
実施例9は、画像捕捉デバイスによって、ユーザの手の画像を捕捉するステップをさらに含む、実施例4に記載の方法である。
【0015】
実施例10は、画像捕捉デバイスは、ウェアラブルシステムの要素である、実施例9に記載の方法である。
【0016】
実施例11は、画像捕捉デバイスは、ウェアラブルシステムのヘッドセットに搭載される、実施例9に記載の方法である。
【0017】
実施例12は、画像を分析するステップに基づいて、ユーザの手がアクションイベントを実施しているかどうかを決定するステップをさらに含む、実施例4に記載の方法である。
【0018】
実施例13は、ユーザの手がアクションイベントを実施していることの決定に応答して、多DOFコントローラおよびアクションイベントに基づいて、仮想オブジェクトを修正するステップをさらに含む、実施例12に記載の方法である。
【0019】
実施例14は、ユーザの手は、特定のジェスチャに基づいて、アクションイベントを実施していると決定される、実施例13に記載の方法である。
【0020】
実施例15は、ユーザの手は、複数の特徴点に基づいて、特定のジェスチャを行っている、または行うように遷移しつつあると決定される、実施例4に記載の方法である。
【0021】
実施例16は、ユーザの手は、複数の特徴点を使用したニューラルネットワーク推定に基づいて、特定のジェスチャを行っている、または行うように遷移しつつあると決定される、実施例15に記載の方法である。
【0022】
実施例17は、ユーザの手は、画像を使用したニューラルネットワーク推定に基づいて、特定のジェスチャを行っている、または行うように遷移しつつあると決定される、実施例4に記載の方法である。
【0023】
実施例18は、複数の特徴点は、ユーザの手上にある、実施例4に記載の方法である。
【0024】
実施例19は、多DOFコントローラは、6-DOFコントローラである、実施例4に記載の方法である。
【0025】
実施例20は、実施例4-19のいずれかに記載の方法を実施するように構成される、システムである。
【0026】
実施例21は、1つまたはそれを上回るプロセッサによって実行されると、1つまたはそれを上回るプロセッサに、実施例4-19のいずれかに記載の方法を実施させる、命令を備える、非一過性機械可読媒体である。
【0027】
実施例22は、方法であって、ユーザの手の画像のシーケンスを受信するステップと、画像のシーケンス内の各画像を分析し、ユーザの手上の複数の特徴点を検出するステップと、画像のシーケンス内の1つまたはそれを上回る画像を分析するステップに基づいて、ユーザの手が、複数の異なるジェスチャのいずれかを行っている、または行うように遷移しつつあるかどうかを決定するステップと、ユーザの手が、複数の異なるジェスチャのうちの特定の1つを行っている、または行うように遷移しつつあることの決定に応答して、それぞれ、複数の異なるジェスチャに対応する、複数の特徴点に対する複数の場所の中から、特定のジェスチャに対応する、複数の特徴点に対する特定の場所を選択するステップと、それぞれ、複数の異なるジェスチャに対応する、複数の異なる複数の特徴点のサブセットの中から、特定のジェスチャに対応する、特定の複数の特徴点のサブセットを選択するステップと、ユーザの手が、特定のジェスチャを行っている、または行うように遷移しつつあると決定される間、相互作用点を複数の特徴点に対するユーザの手上の特定の場所に位置合わせするステップと、近位点をユーザの肩の推定される場所、ユーザの肘の推定される場所、またはユーザの肩の推定される場所とユーザの肘の推定される場所との間のユーザの上腕に沿った場所に位置合わせするステップと、光線を、近位点から、相互作用点を通して、投射するステップと、光線に対応する、多DOFコントローラのグラフィカル表現を表示するステップと、相互作用点、近位点、および特定の複数の特徴点のサブセットの場所に基づいて、多DOFコントローラを再位置付けおよび/または再配向するステップとを含む、方法である。
【0028】
実施例23は、画像のシーケンスは、ヘッドセット上の1つまたはそれを上回る外向きに向いたカメラから受信される、実施例22に記載の方法である。
【0029】
実施例24は、複数の異なるジェスチャは、握持ジェスチャ、ポイントジェスチャ、またはピンチジェスチャのうちの少なくとも1つを含む、実施例22に記載の方法である。
【0030】
実施例25は、ユーザの手が、握持ジェスチャを行っていると決定される間、相互作用点をユーザの人差し指に沿った特徴点に位置合わせするステップと、少なくとも部分的に、相互作用点の特定の場所、ユーザの手以外のユーザの身体の少なくとも一部の位置、および/または特徴点Im、Tm、Mm、およびHのうちの3つまたはそれを上回るものを含む、複数の特徴点のサブセットの相対的位置に基づいて、光線の配向または方向を決定するステップとをさらに含む、実施例22に記載の方法である。
【0031】
実施例26は、ユーザの手が、ポイントジェスチャを行っていると決定される間、相互作用点をユーザの人差し指の先端における特徴点に位置合わせするステップと、少なくとも部分的に、相互作用点の特定の場所、ユーザの手以外のユーザの身体の少なくとも一部の位置、および/または特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHのうちの3つまたはそれを上回るものを含む、複数の特徴点のサブセットの相対的位置に基づいて、光線の配向または方向を決定するステップと、少なくとも部分的に、
【化1】
の間で測定された角度θ
【化2】
【化3】
に基づいて、アクションイベントを検出するステップとをさらに含む、実施例22に記載の方法である。
【0032】
実施例27は、θが、所定の閾値を上回ると決定される場合、ホバリングアクションイベントが、検出される、実施例26に記載の方法である。
【0033】
実施例28は、θが、所定の閾値未満であると決定される場合、タッチアクションイベントが、検出される、実施例26に記載の方法である。
【0034】
実施例29は、ユーザの手が、ピンチジェスチャを行っていると決定される間、相互作用点を
【化4】
に沿った場所に位置合わせするステップと、少なくとも部分的に、相互作用点の特定の場所、ユーザの手以外のユーザの身体の少なくとも一部の位置、および/または特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHのうちの3つまたはそれを上回るものを含む、複数の特徴点のサブセットの相対的位置に基づいて、光線の配向または方向を決定するステップと、少なくとも部分的に、
【化5】
の間で測定された角度θ
【化6】
【化7】
に基づいて、アクションイベントを検出するステップとをさらに含む、実施例22に記載の方法である。
【0035】
実施例30は、θが、所定の閾値を上回ると決定される場合、ホバリングアクションイベントが、検出される、実施例29に記載の方法である。
【0036】
実施例31は、θが、所定の閾値未満であると決定される場合、タッチアクションイベントが、検出される、実施例29に記載の方法である。
【0037】
実施例32は、それにわたってθが所定の閾値未満であると決定される、時間の持続時間に基づいて、タップアクションイベントが、検出される、実施例29に記載の方法である。
【0038】
実施例33は、それにわたってθが所定の閾値未満であると決定される、時間の持続時間に基づいて、保持アクションイベントが、検出される、実施例29に記載の方法である。
【0039】
実施例34は、ユーザの手が、握持ジェスチャの実施とポイントジェスチャの実施との間で遷移しつつあると決定される間、相互作用点を
【化8】
に沿った場所に位置合わせするステップと、ポイントジェスチャのための行われるものと同一方法において、光線の配向または方向を決定するステップと、少なくとも部分的に、相互作用点の特定の場所、ユーザの手以外のユーザの身体の少なくとも一部の位置、および/または特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHのうちの3つまたはそれを上回るものを含む、複数の特徴点のサブセットの相対的位置に基づいて、光線の配向または方向を決定するステップとをさらに含む、実施例22に記載の方法である。
【0040】
実施例35は、ユーザの人差し指が、部分的に、外向きに延在される一方、ユーザの手の他の指が、内向きに丸められるとき、ユーザの手は、握持ジェスチャの実施とポイントジェスチャの実施との間で遷移しつつあると決定される、実施例34に記載の方法である。
【0041】
実施例36は、ユーザの手が、ポイントジェスチャの実施とピンチジェスチャの実施との間で遷移しつつあると決定される間、相互作用点を
【化9】
に沿った場所に位置合わせするステップと、ポイントジェスチャおよび/またはピンチジェスチャのための行われるものと同一方法において、光線の配向または方向を決定するステップと、少なくとも部分的に、相互作用点の特定の場所、ユーザの手以外のユーザの身体の少なくとも一部の位置、および/または特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHのうちの3つまたはそれを上回るものを含む、複数の特徴点のサブセットの相対的位置に基づいて、光線の配向または方向を決定するステップとをさらに含む、実施例22に記載の方法である。
【0042】
実施例37は、ユーザの親指および人差し指が、少なくとも部分的に、外向きに延在され、少なくとも部分的に、相互に向かって丸められると、ユーザの手は、ポイントジェスチャの実施とピンチジェスチャの実施との間で遷移しつつあると決定される、実施例36に記載の方法である。
【0043】
実施例38は、ユーザの手が、ピンチジェスチャの実施と握持ジェスチャの実施との間で遷移しつつあると決定される間、相互作用点を
【化10】
に沿った場所に位置合わせするステップと、ピンチジェスチャのために行われるものと同一方法において、光線の配向または方向を決定するステップと、少なくとも部分的に、相互作用点の特定の場所、ユーザの手以外のユーザの身体の少なくとも一部の位置、および/または特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHのうちの3つまたはそれを上回るものを含む、複数の特徴点のサブセットの相対的位置に基づいて、光線の配向または方向を決定するステップとをさらに含む、実施例22に記載の方法である。
【0044】
実施例39は、ユーザの親指および人差し指が、少なくとも部分的に、外向きに延在され、少なくとも部分的に、相互に向かって丸められると、ユーザの手は、ピンチジェスチャの実施と握持ジェスチャの実施との間で遷移しつつあると決定される、実施例38に記載の方法である。
【0045】
実施例40は、実施例22-39のいずれかに記載の方法を実施するように構成される、システムである。
【0046】
実施例41は、1つまたはそれを上回るプロセッサによって実行されると、1つまたはそれを上回るプロセッサに、実施例22-39のいずれかに記載の方法を実施させる、命令を備える、非一過性機械可読媒体である。
【0047】
実施例42は、仮想オブジェクトと相互作用する方法であって、ユーザの第1の手および第2の手の1つまたはそれを上回る画像を受信するステップと、1つまたはそれを上回る画像を分析し、第1の手および第2の手のそれぞれと関連付けられる、複数の特徴点を検出するステップと、第1の手および第2の手のそれぞれと関連付けられる、複数の特徴点に基づいて、第1の手および第2の手毎に、相互作用点を決定するステップと、第1の手および第2の手毎に、相互作用点に基づいて、1つまたはそれを上回る両手デルタを生成するステップと、1つまたはそれを上回る両手デルタを使用して、仮想オブジェクトと相互作用するステップとを含む、方法である。
【0048】
実施例43は、第1の手および第2の手毎に、相互作用点に基づいて、両手相互作用点を決定するステップをさらに含む、実施例42に記載の方法である。
【0049】
実施例44は、第1の手に関する相互作用点は、第1の手と関連付けられる、複数の特徴点に基づいて決定され、第2の手に関する相互作用点は、第2の手と関連付けられる、複数の特徴点に基づいて決定される、実施例42に記載の方法である。
【0050】
実施例45は、第1の手および第2の手毎に、相互作用点を決定するステップは、1つまたはそれを上回る画像を分析するステップに基づいて、第1の手は、複数のジェスチャからの第1の特定のジェスチャを行っている、または行うように遷移しつつあるかどうかを決定するステップと、第1の手が、第1の特定のジェスチャを行っている、または行うように遷移しつつあることの決定に応答して、第1の特定のジェスチャに対応する、第1の手と関連付けられる、複数の特徴点のサブセットを選択するステップと、第1の手と関連付けられる、複数の特徴点のサブセットに対する第1の特定の場所を決定するステップであって、第1の特定の場所は、第1の手と関連付けられる複数の特徴点のサブセットおよび第1の特定のジェスチャに基づいて決定される、ステップと、第1の手に関する相互作用点を第1の特定の場所に位置合わせするステップとを含む、実施例42に記載の方法である。
【0051】
実施例46は、第1の手および第2の手毎に、相互作用点を決定するステップはさらに、1つまたはそれを上回る画像を分析するステップに基づいて、第2の手が、複数のジェスチャからの第2の特定のジェスチャを行っている、または行うように遷移しつつあるかどうかを決定するステップと、第2の手が、第2の特定のジェスチャを行っている、または行うように遷移しつつあることの決定に応答して、第2の特定のジェスチャに対応する、第2の手と関連付けられる、複数の特徴点のサブセットを選択するステップと、第2の手と関連付けられる、第2の複数の特徴点のサブセットに対する特定の場所を決定するステップであって、第2の特定の場所は、第2の手と関連付けられる複数の特徴点のサブセットおよび第2の特定のジェスチャに基づいて決定される、ステップと、第2の手に関する相互作用点を第2の特定の場所に位置合わせするステップとを含む、実施例45に記載の方法である。
【0052】
実施例47は、複数のジェスチャは、握持ジェスチャ、ポイントジェスチャ、またはピンチジェスチャのうちの少なくとも1つを含む、実施例46に記載の方法である。
【0053】
実施例48は、1つまたはそれを上回る画像は、第1の手の第1の画像と、第2の手の第2の画像とを含む、実施例42に記載の方法である。
【0054】
実施例49は、1つまたはそれを上回る画像は、第1の手および第2の手の単一画像を含む、実施例42に記載の方法である。
【0055】
実施例50は、1つまたはそれを上回る画像は、一連の時系列画像を含む、実施例42に記載の方法である。
【0056】
実施例51は、1つまたはそれを上回る両手デルタは、第1の手および第2の手毎の相互作用点のフレーム間移動に基づいて決定される、実施例42に記載の方法である。
【0057】
実施例52は、1つまたはそれを上回る両手デルタは、第1の手および第2の手毎の相互作用点のフレーム間平行移動に対応する、平行移動デルタを含む、実施例51に記載の方法である。
【0058】
実施例53は、1つまたはそれを上回る両手デルタは、第1の手および第2の手毎の相互作用点のフレーム間回転移動に対応する、回転デルタを含む、実施例51に記載の方法である。
【0059】
実施例54は、1つまたはそれを上回る両手デルタは、第1の手および第2の手毎の相互作用点のフレーム間分離移動に対応する、摺動デルタを含む、実施例51に記載の方法である。
【0060】
実施例55は、実施例42-54のいずれかに記載の方法を実施するように構成される、システムである。
【0061】
実施例56は、1つまたはそれを上回るプロセッサによって実行されると、1つまたはそれを上回るプロセッサに、実施例42-54のいずれかに記載の方法を実施させる、命令を備える、非一過性機械可読媒体である。
【図面の簡単な説明】
【0062】
本開示のさらなる理解を提供するために含まれる、付随の図面は、本明細書に組み込まれ、その一部を成し、本開示の実施形態を図示し、詳細な説明とともに、本開示の原理を解説する役割を果たす。本開示の基本的な理解およびこれが実践され得る種々の方法に関して必要であり得るよりも詳細に、本開示の構造的詳細を示す試みは、行われない。
【0063】
【
図1】
図1は、仮想オブジェクトと相互作用するための手のジェスチャ入力を提供する、ウェアラブルシステムの例示的動作を図示する。
【0064】
【
図2】
図2は、例示的AR/VR/MRウェアラブルシステムの概略図を図示する。
【0065】
【
図3】
図3は、仮想ユーザインターフェースと相互作用するための例示的方法を図示する。
【0066】
【0067】
【
図4B】
図4Bは、オブジェクトの群上への円錐投射の実施例を図示する。
【0068】
【
図5】
図5は、ウェアラブルシステムによって検出または追跡され得る、種々の特徴点の実施例を図示する。
【0069】
【
図6-1】
図6A-6Fは、ウェアラブルシステムによって識別されるジェスチャに基づいて選択され得る、特徴点の可能性として考えられるサブセットの実施例を図示する。
【
図6-2】
図6A-6Fは、ウェアラブルシステムによって識別されるジェスチャに基づいて選択され得る、特徴点の可能性として考えられるサブセットの実施例を図示する。
【
図6-3】
図6A-6Fは、ウェアラブルシステムによって識別されるジェスチャに基づいて選択され得る、特徴点の可能性として考えられるサブセットの実施例を図示する。
【0070】
【
図7】
図7A-7Cは、ユーザの腕が外向きに延在されている間の種々のジェスチャのための光線投射の実施例を図示する。
【0071】
【
図8】
図8A-8Cは、ユーザの腕が内向きに後退されている間の種々のジェスチャのための光線投射の実施例を図示する。
【0072】
【
図9】
図9は、特徴点を使用してアクションイベントが検出され得る方法の実施例を図示する。
【0073】
【
図10】
図10A-10Cは、光線を使用した仮想オブジェクトとの例示的相互作用を図示する。
【0074】
【
図11】
図11は、ポイントジェスチャを管理するための例示的スキームを図示する。
【0075】
【
図12】
図12は、ピンチジェスチャを管理するための例示的スキームを図示する。
【0076】
【
図13】
図13は、ユーザの手が握持ジェスチャを行っている間の、アクションイベントを検出するための例示的スキームを図示する。
【0077】
【
図14】
図14は、ユーザの手がポイントジェスチャを行っている間の、アクションイベントを検出するための例示的スキームを図示する。
【0078】
【
図15】
図15は、ユーザの手がピンチジェスチャを行っている間の、アクションイベントを検出するための例示的スキームを図示する。
【0079】
【
図16】
図16は、ユーザの手がピンチジェスチャを行っている間の、アクションイベントを検出するための例示的実験データを図示する。
【0080】
【
図17】
図17A-17Dは、ユーザの手がピンチジェスチャを行っている間の、アクションイベントを検出するための例示的実験データを図示する。
【0081】
【
図18】
図18は、ユーザの手がピンチジェスチャを行っている間の、アクションイベントを検出するための例示的スキームを図示する。
【0082】
【
図19】
図19A-19Dは、ユーザの手がピンチジェスチャを行っている間の、アクションイベントを検出するための例示的雑音実験データを図示する。
【0083】
【
図20】
図20A-20Cは、握持ジェスチャを管理するための例示的スキームを図示する。
【0084】
【
図21】
図21A-21Cは、ポイントジェスチャを管理するための例示的スキームを図示する。
【0085】
【
図22】
図22A-22Cは、ピンチジェスチャを管理するための例示的スキームを図示する。
【0086】
【
図23】
図23は、ポイントおよびピンチジェスチャのための種々のアクティブ化タイプを図示する。
【0087】
【
図24】
図24は、種々のジェスチャおよびジェスチャ間の遷移を図示する。
【0088】
【0089】
【0090】
【
図27】
図27は、協働的両手相互作用の種々の実施例を図示する。
【0091】
【
図28】
図28は、管理された両手相互作用の実施例を図示する。
【0092】
【
図29】
図29は、例示的片手相互作用場および両手相互作用場を図示する。
【0093】
【
図30】
図30は、ユーザが仮想オブジェクトと相互作用することを可能にするために、ユーザの手と関連付けられる多DOFコントローラを形成する方法を図示する。
【0094】
【
図31】
図31は、ユーザが仮想オブジェクトと相互作用することを可能にするために、ユーザの手と関連付けられる多DOFコントローラを形成する方法を図示する。
【0095】
【
図32】
図32は、両手入力を使用して仮想オブジェクトと相互作用する方法を図示する。
【0096】
【
図33】
図33は、簡略化されたコンピュータシステムを図示する。
【発明を実施するための形態】
【0097】
具体的実施形態の詳細な説明
ウェアラブルシステムは、その中で仮想データ要素が、種々の入力を通してユーザによって相互作用される、双方向拡張現実(AR)、仮想現実(VR)、および/または複合現実(MR)環境を提示することができる。多くの現代のコンピューティングシステムは、AR/VR/MR環境等のデータが豊富でかつ動的な相互作用環境において、単一直接入力に基づいて、所与の出力を生成するように工学設計されるが(例えば、コンピュータマウスは、ユーザの直接操作に応答して、カーソルを誘導することができる等)、高度な特異性が、特定のタスクを遂行するために望ましくあり得る。そうでなければ、精密な入力の不在下、コンピューティングシステムは、高エラー率に悩まされ得、実施されるべき正しくないコンピュータ動作を生じさせ得る。例えば、ユーザが、タッチパッドを使用して、オブジェクトを3次元(3D)空間内で移動させることを意図するとき、コンピューティングシステムは、本質的に2次元(2D)入力空間を伴うデバイスを使用して、所望の3D移動を解釈することが困難であり得る。
【0098】
AR/VR/MR環境内の入力としての手のジェスチャの使用は、いくつかの魅力的特徴を有する。第1に、その中で仮想コンテンツが実世界上にオーバーレイされる、AR環境では、手のジェスチャは、両方の世界をつなぐ、直感的相互作用方法を提供する。第2に、潜在的に種々の入力コマンドにマッピングされ得る、広範囲の表現的手のジェスチャが存在する。例えば、手のジェスチャは、手形状(例えば、手がとり得る、明確に異なる構成)、配向(例えば、明確に異なる相対的手の回転度)、場所、および移動等のいくつかの明確に異なるパラメータを同時に呈することができる。第3に、結像デバイスおよび処理ユニットにおける最近のハードウェア改良に伴って、手のジェスチャ入力は、システムの複雑性が、電磁追跡エミッタ/受信機等の種々のセンサを採用する、ハンドヘルドコントローラ等の他の入力と比べて低減され得るように、十分な正確度をもたらす。
【0099】
手のジェスチャを認識するための1つのアプローチは、ユーザの片手または両手上の種々の特徴点の位置を追跡することである。1つの実装では、手追跡システムが、各手上の20個超の特徴点の3D位置を識別してもよい。次に、手と関連付けられる、ジェスチャが、特徴点を分析することによって、認識されてもよい。例えば、異なる特徴点間の距離は、ユーザの手が拳状である(例えば、短平均距離)、または開放し、弛緩している(例えば、長平均距離)かどうかを示し得る。別の実施例として、3つまたはそれを上回る特徴点によって形成される、種々の角度(例えば、ユーザの人差し指に沿って、少なくとも1つの特徴点を含む)は、ユーザの手がポイントまたはピンチしているかどうかを示し得る。
【0100】
いったんジェスチャが、認識されると、それを通してユーザが仮想オブジェクトと相互作用し得る、相互作用点が、決定されることができる。相互作用点は、特徴点のうちの1つまたは特徴点間の場所に位置合わせされてもよく、各ジェスチャは、相互作用点を決定するための一意のアルゴリズムを有する。例えば、ポイントジェスチャを行っているとき、相互作用点は、ユーザの人差し指の先端における特徴点に位置合わせされてもよい。別の実施例として、開放ピンチジェスチャを行っているとき、相互作用点は、ユーザの人差し指の先端とユーザの親指の先端との間の中点に位置合わせされてもよい。あるジェスチャはさらに、相互作用点と関連付けられる半径が決定されることを可能にし得る。実施例として、ピンチジェスチャに関して、半径は、ユーザの人差し指の先端およびユーザの親指の先端との間の距離に関連し得る。
【0101】
ジェスチャが認識された後、および/または相互作用点が決定された後、特徴点のネットワーク全体を追跡し続けることは、算出上負担であり得る。したがって、本開示のいくつかの実施形態では、特徴点の総数のサブセットが、いったんジェスチャが認識されると、追跡され続けることができる。本特徴点のサブセットは、特徴点の総数を使用する場合に当てはまるであろうものよりもさらなる管理可能な算出負担において、周期的に、相互作用点を更新するために使用されることができる。いくつかの実施例では、本特徴点のサブセットは、下記にさらに詳細に説明されるように、比較的に高算出効率度を伴って、周期的に、仮想多DOFコントローラ(例えば、相互作用点と関連付けられる、仮想カーソルまたはポインタ)の配向を更新するために使用されることができる。さらに、特徴点のサブセットは、分析され、ユーザの手が、もはやジェスチャを行っていない、または、例えば、第1のジェスチャから第2のジェスチャを行うことに遷移している、または第1のジェスチャから非認識ジェスチャに遷移しているかどうかを決定することができる。
【0102】
相互作用点を決定するステップに加え、ユーザの身体に沿った(または空間内の)近位点が、制御光線(または単に、「光線」)が延在する2つの点間に形成され得るように、決定されることができる。光線(またはその一部)は、3D空間内の仮想コンテンツと相互作用するためのカーソルまたはポインタ(例えば、多DOFコントローラの一部として)としての役割を果たし得る。いくつかのインスタンスでは、近位点は、ユーザの肩に、ユーザの肘に、またはユーザの腕に沿って(例えば、ユーザの肩と肘との間)、位置合わせされてもよい。近位点は、代替として、指関節、手、手首、前腕、肘、腕(例えば、上腕)、肩、肩甲骨、頸部、頭部、眼、顔(例えば、頬)、胸部、胴体(例えば、臍領域)、またはそれらの組み合わせ等、ユーザの身体の表面内またはそれに沿った、1つまたはそれを上回る他の場所に位置合わせされてもよい。光線は、次いで、近位点から、相互作用点を通して、特定の距離に延在してもよい。相互作用点、近位点、および光線はそれぞれ、応答性かつ快適なユーザ体験を提供するために動的に更新されてもよい。
【0103】
本明細書の実施形態は、片手相互作用と称される、単一の手の相互作用、および両手相互作用と称される、2つの手の相互作用の両方に関する。片手姿勢を追跡するステップは、単一の手の相互作用点(例えば、その位置、配向、および半径)、随意に、その対応する近位点および光線、および手が行っている任意のジェスチャを追跡するステップを含んでもよい。両手相互作用に関して、ユーザの手毎の相互作用点(例えば、位置、配向、および半径)、随意に、対応する近位点、光線、およびジェスチャが、追跡されてもよい。両手相互作用はさらに、2つの手の間の両手相互作用点を追跡するステップを伴ってもよく、これは、位置(例えば、位置の平均)、配向(例えば、配向の平均)、および半径(例えば、半径の平均)を有してもよい。両手相互作用点のフレーム間移動は、両手デルタを通して捕捉されることができ、これは、下記に説明されるように、2つの手に関するデルタに基づいて計算されてもよい。
【0104】
両手デルタは、平行移動デルタと称される、平行移動成分と、回転デルタと称される、回転成分とを含んでもよい。平行移動デルタは、2つの手に関する平行移動デルタに基づいて決定されてもよい。例えば、平行移動デルタは、ユーザの左手のフレーム間平行移動の移動に対応する、左平行移動デルタ(例えば、その平均)と、ユーザの右手のフレーム間平行移動の移動に対応する、右平行移動デルタとに基づいて決定されてもよい。同様に、回転デルタは、2つの手に関する回転デルタに基づいて決定されてもよい。例えば、回転デルタは、ユーザの左手のフレーム間回転移動に対応する、左回転デルタ(例えば、その平均)と、ユーザの右手のフレーム間回転移動に対応する、右回転デルタとに基づいて決定されてもよい。
【0105】
代替として、または加えて、回転デルタは、相互作用点の位置間に形成される、線の回転移動に基づいて決定されてもよい。例えば、ユーザは、デジタル立方体の2つの角をピンチし、2つの手の相互作用点の位置を回転させることによって、立方体を回転させてもよい。本回転は、各手の相互作用点が独自に回転しているかどうかから独立して生じてもよい、またはいくつかの実施形態では、立方体の回転はさらに、相互作用点の回転によって促進されてもよい。いくつかのインスタンスでは、両手デルタは、分離デルタ(またはスケーリングデルタ)と称される、分離成分等の他の成分を含んでもよく、これは、相互作用点の位置間の距離に基づいて決定され、正の分離デルタは、離れるように移動する手に対応し、負の分離デルタは、ともに近づくように移動する手に対応する。
【0106】
種々のタイプの両手相互作用は、3つのカテゴリのうちの1つに該当し得る。第1のカテゴリは、独立両手相互作用であって、その中で各手は、独立して、仮想オブジェクトと相互作用する(例えば、ユーザが、仮想キーボード上でタイプしており、各手の構成が、他方から独立する)。第2のカテゴリは、協働的両手相互作用であって、その中で両方の手が、協働して仮想オブジェクトと相互作用する(例えば、両方の手を用いて、対向角をピンチすることによって、仮想立方体をサイズ変更する、回転させる、および/または平行移動させる)。第3のカテゴリは、管理された両手相互作用であって、その中で一方の手が、他方の手が解釈される方法を管理する(例えば、右手は、カーソルである一方、左手は、カーソルをペンと消しゴムとの間で切り替える、修飾子である)。
【0107】
以下の説明において、種々の実施例が、説明されるであろう。解説の目的のために、具体的な構成および詳細が、実施例の徹底的な理解を提供するために記載される。しかしながら、実施例が、具体的な詳細を伴わずに実践され得ることもまた、当業者に明白になるであろう。さらに、周知の特徴が、説明されている実施形態を不明瞭にしないために省略または簡略化されてもよい。
【0108】
図1は、本開示のいくつかの実施形態による、仮想オブジェクト108と相互作用するための手のジェスチャ入力を提供する、ウェアラブルシステムの例示的動作を図示する。ウェアラブルシステムは、ユーザによって装着され、ユーザの手106をその視野(FOV)内に含む、少なくとも1つの前向きに向いたカメラ104を含む、ウェアラブルデバイス102(例えば、ヘッドセット)を含んでもよい。故に、カメラ104から捕捉された画像は、手106を含み、画像の後続処理が、ウェアラブルシステムによって実施されることを可能にし、例えば、手106と関連付けられる、特徴点を検出してもよい。いくつかの実施形態では、
図1を参照して説明されるウェアラブルシステムおよびウェアラブルデバイス102は、それぞれ、
図2を参照して下記にさらに詳細に説明されるような、ウェアラブルシステム200およびウェアラブルデバイス201に対応し得る。
【0109】
ウェアラブルシステムは、基準フレームを維持してもよく、その中でAR/VR/MR環境内の要素の位置および配向が、決定されてもよい。いくつかの実施形態では、ウェアラブルシステムは、基準フレームに対して(XWP、YWP、ZWP)として定義される、ウェアラブルデバイス102の位置(「ウェアラブル位置」)と、基準フレームに対して(XWO、YWO、ZWO)として定義される、配向(「ウェアラブル配向」)とを決定してもよい。ウェアラブルデバイス102の位置は、可能性の中でもとりわけ、X、Y、およびZデカルト値、または経度、緯度、および高度値で表されてもよい。ウェアラブルデバイス102の配向は、可能性の中でもとりわけ、X、Y、およびZデカルト値、またはピッチ角、ヨー角、およびロール角値で表されてもよい。位置および配向毎の基準フレームは、世界基準フレームであってもよい、または代替として、または加えて、ウェアラブルデバイス102の位置および配向は、例えば、ウェアラブルデバイス102の位置が、(0、0、0)として設定され得、ウェアラブルデバイス102の配向が、(0°、0°、0°)として設定され得るように、基準フレームとして使用されてもよい。
【0110】
ウェアラブルシステムは、カメラ104によって捕捉された画像を使用して、1つまたはそれを上回る処理ステップ110を実施してもよい。いくつかの実施例では、1つまたはそれを上回る処理ステップ110は、1つまたはそれを上回るプロセッサによって実施されてもよく、少なくとも部分的に、ウェアラブルシステムの1つまたはそれを上回るプロセッサ、ウェアラブルシステムに通信可能に結合される、1つまたはそれを上回るプロセッサ、またはそれらの組み合わせによって行われてもよい。ステップ110-1では、複数の特徴点(例えば、9つまたはそれを上回る特徴点)が、捕捉された画像に基づいて、検出または追跡される。ステップ110-2では、追跡された特徴点は、手106が、所定のジェスチャのセットのうちの1つを行っている、または行うように遷移しつつあるかどうかを決定するために使用される。図示される実施例では、手106は、ピンチジェスチャを行っていると決定される。代替として、または加えて、ジェスチャは、特徴点を検出する中間ステップを伴わずに、直接、画像から予測され得る。故に、ステップ110-1および110-2は、並行して、またはいずれかの順序において、順次、実施されてもよい。ユーザの手が、特定のジェスチャ(例えば、ピンチジェスチャ)を行っている、または行うように遷移しつつあることの決定に応答して、特定のジェスチャと関連付けられる、複数の特徴点のサブセット(例えば、8つのまたはより少ない特徴点)が、選択および追跡されてもよい。
【0111】
ステップ110-3では、相互作用点112が、ステップ110-2から予測されるジェスチャ(または予測されるジェスチャ遷移)に基づいて、相互作用点112を選択された特徴点のサブセットに対する特定の場所に位置合わせすることによって決定される。また、ステップ110-3では、近位点114が、少なくとも部分的に、種々の要因のうちの1つまたはそれを上回るものに基づいて、近位点114をユーザの身体に沿った場所に位置合わせすることによって決定される。さらにステップ110-3では、光線116が、近位点114から、相互作用点112を通して、投射される。ステップ110-4では、手106によって実施されるアクションイベントが、特徴点に基づいて(例えば、特徴点の経時的移動に基づいて)予測される。図示される実施例では、手106が、標的化アクションを実施していると決定され、これは、ユーザが動的開放ピンチジェスチャを実施するとき、ウェアラブルシステムによって認識され得る。
【0112】
図2は、本開示のいくつかの実施形態による、例示的AR/VR/MRウェアラブルシステム200の概略図を図示する。ウェアラブルシステム200は、ウェアラブルデバイス201と、ウェアラブルデバイス201から遠隔にある(例えば、別個のハードウェアであるが、通信可能に結合される)、少なくとも1つの遠隔デバイス203とを含んでもよい。上記に述べられたように、いくつかの実施形態では、ウェアラブルシステム200およびウェアラブルデバイス201は、
図2を参照して説明されるように、それぞれ、
図1を参照して上記に説明されるような、ウェアラブルシステムおよびウェアラブルデバイス102に対応し得る。ウェアラブルデバイス201は、ユーザによって装着される(概して、ヘッドセットとして)が、遠隔デバイス203は、ユーザによって保持される(例えば、ハンドヘルドコントローラとして)、またはフレームに固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様に、ユーザに除去可能に取り付けられる(例えば、リュック式構成、ベルト結合式構成等において)等、種々の構成において搭載されてもよい。
【0113】
ウェアラブルデバイス201は、並置構成において配列される、左接眼レンズ202Aおよび左レンズアセンブリ205Aと、同様に並置構成において配列される、右接眼レンズ202Bおよび右レンズアセンブリ205Bとを含んでもよい。いくつかの実施形態では、ウェアラブルデバイス201は、限定ではないが、左接眼レンズ202Aに直接またはその近くに取り付けられる、左正面に向いた世界カメラ206Aと、右接眼レンズ202Bに直接またはその近くに取り付けられる、右正面に向いた世界カメラ206Bと、左接眼レンズ202Aに直接またはその近くに取り付けられる、左側に向いた世界カメラ206Cと、右接眼レンズ202Bに直接またはその近くに取り付けられる、右側に向いた世界カメラ206Dとを含む、1つまたはそれを上回るセンサを含む。ウェアラブルデバイス201は、左接眼レンズ202Aに光学的にリンクされる、左プロジェクタ214A、および右接眼レンズ202Bに光学的にリンクされる、右プロジェクタ214B等の1つまたはそれを上回る画像投影デバイスを含んでもよい。
【0114】
ウェアラブルシステム200は、本システム内でデータを収集する、処理する、および/または制御するための処理モジュール250を含んでもよい。処理モジュール250のコンポーネントは、ウェアラブルデバイス201と遠隔デバイス203との間に分散されてもよい。例えば、処理モジュール250は、ウェアラブルシステム200のウェアラブル部分上のローカル処理モジュール252と、ローカル処理モジュール252と物理的に別個であって、それに通信可能にリンクされる、遠隔処理モジュール256とを含んでもよい。ローカル処理モジュール252および遠隔処理モジュール256はそれぞれ、1つまたはそれを上回る処理ユニット(例えば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)等)と、不揮発性メモリ(例えば、フラッシュメモリ)等の1つまたはそれを上回る記憶デバイスとを含んでもよい。
【0115】
処理モジュール250は、カメラ206、深度センサ228、遠隔センサ230、周囲光センサ、眼追跡器、マイクロホン、慣性測定ユニット(IMU)、加速度計、コンパス、全世界測位衛星システム(GNSS)ユニット、無線デバイス、および/またはジャイロスコープ等のウェアラブルシステム200の種々のセンサによって捕捉されたデータを収集してもよい。例えば、処理モジュール250は、画像220をカメラ206から受信してもよい。具体的には、処理モジュール250は、左正面画像220Aを左正面に向いた世界カメラ206Aから、右正面画像220Bを右正面に向いた世界カメラ206Bから、左側画像220Cを左側に向いた世界カメラ206Cから、および右側画像220Dを右側に向いた世界カメラ206Dから受信してもよい。いくつかの実施形態では、画像220は、単一画像、一対の画像、画像のストリームを備える、ビデオ、対合された画像のストリームを備える、ビデオ、および同等物を含んでもよい。画像220は、ウェアラブルシステム200が電源投入されている間、周期的に、生成され、処理モジュール250に送信されてもよい、または処理モジュール250によってカメラのうちの1つまたはそれを上回るものに送信される命令に応答して、生成されてもよい。
【0116】
カメラ206は、ユーザの周囲の画像を捕捉するように、ウェアラブルデバイス201の外面に沿って、種々の位置および配向において構成されてもよい。いくつかのインスタンスでは、カメラ206A、206Bは、それぞれ、ユーザの左および右眼のFOVと実質的に重複する、画像を捕捉するように位置付けられてもよい。故に、カメラ206の設置は、ユーザの眼の近くであるが、ユーザのFOVを不明瞭にするほど近くないようなものであってもよい。代替として、または加えて、カメラ206A、206Bは、それぞれ、仮想画像光222A、222Bの内部結合場所と整合するように位置付けられてもよい。カメラ206C、206Dは、ユーザの側面、例えば、ユーザの周辺視覚内またはユーザの周辺視覚の外側の画像を捕捉するように位置付けられてもよい。カメラ206C、206Dを使用して捕捉された画像220C、220Dは、必ずしも、カメラ206A、206Bを使用して捕捉された画像220A、220Bと重複する必要はない。
【0117】
種々の実施形態では、処理モジュール250は、周囲光情報を周囲光センサから受信してもよい。周囲光情報は、明度値または空間的に分解される明度値の範囲を示してもよい。深度センサ228は、ウェアラブルデバイス201の正面に向いた方向において、深度画像232を捕捉してもよい。深度画像232の各値は、深度センサ228と特定の方向における最も近くの検出されたオブジェクトとの間の距離に対応し得る。別の実施例として、処理モジュール250は、視線情報を1つまたはそれを上回る眼追跡器から受信してもよい。別の実施例として、処理モジュール250は、投影された画像明度値をプロジェクタ214の一方または両方から受信してもよい。遠隔デバイス203内に位置する、遠隔センサ230は、類似機能性を伴う、上記に説明されるセンサのいずれかを含んでもよい。
【0118】
仮想コンテンツは、主に、プロジェクタ214および接眼レンズ202を使用して、ウェアラブルシステム200のユーザに送達される。例えば、接眼レンズ202A、202Bは、それぞれ、プロジェクタ214A、214Bによって生成された光を指向および外部結合するように構成される、透明または半透明導波管を備えてもよい。具体的には、処理モジュール250は、左プロジェクタ214Aに、左仮想画像光222Aを左接眼レンズ202A上に出力させてもよく、右プロジェクタ214Bに、右仮想画像光222Bを右接眼レンズ202B上に出力させてもよい。いくつかの実施形態では、接眼レンズ202A、202Bはそれぞれ、異なる色に対応する、複数の導波管を備えてもよい。いくつかの実施形態では、レンズアセンブリ205A、205Bが、接眼レンズ202A、202Bに結合され、および/またはそれと統合されてもよい。例えば、レンズアセンブリ205A、205Bは、多層接眼レンズの中に組み込まれてもよく、接眼レンズ202A、202Bのうちの1つを構成する、1つまたはそれを上回る層を形成してもよい。
【0119】
動作の間、ウェアラブルシステム200は、コンテキスト情報に基づいて、動眼視野(FOR)(すなわち、視認または結像するために利用可能な領域全体)内のオブジェクトとの種々のユーザ相互作用をサポートすることができる。例えば、ウェアラブルシステム200は、それを用いてユーザが、円錐投射を使用して、オブジェクトと相互作用する、円錐の開口のサイズを調節することができる。別の実施例として、ウェアラブルシステム200は、コンテキスト情報に基づいて、ユーザ入力デバイスの作動と関連付けられる、仮想オブジェクトの移動の量を調節することができる。これらの相互作用の詳細な実施例は、下記に提供される。
【0120】
ユーザのFORは、オブジェクトの群を含有することができ、これは、ウェアラブルシステム200を介して、ユーザによって知覚されることができる。ユーザのFOR内のオブジェクトは、仮想および/または物理的オブジェクトであってもよい。仮想オブジェクトは、例えば、削除されたファイルのためのごみ箱、コマンドを入力するための端末、ファイルまたはディレクトリにアクセスするためのファイルマネージャ、アイコン、メニュー、オーディオまたはビデオストリーミングのためのアプリケーション、オペレーティングシステムからの通知等のオペレーティングシステムオブジェクトを含んでもよい。仮想オブジェクトはまた、例えば、アバタ、ゲーム内の仮想オブジェクト、グラフィック、または画像等のアプリケーション内のオブジェクトを含んでもよい。いくつかの仮想オブジェクトは、オペレーティングシステムオブジェクトおよびアプリケーション内のオブジェクトの両方であることができる。いくつかの実施形態では、ウェアラブルシステム200は、仮想要素を既存の物理的オブジェクトに追加することができる。例えば、ウェアラブルシステム200は、部屋内のテレビと関連付けられる、仮想メニューを追加してもよく、仮想メニューは、ユーザに、ウェアラブルシステム200を使用して、テレビをオンにする、そのチャンネルを変更するためのオプションを与えてもよい。
【0121】
ユーザのFOR内のオブジェクトは、世界マップの一部であることができる。オブジェクトと関連付けられる、データ(例えば、場所、意味論情報、性質等)は、例えば、アレイ、リスト、ツリー、ハッシュ、グラフ等の種々のデータ構造内に記憶されることができる。各記憶されたオブジェクトのインデックスが、適用可能である場合、例えば、オブジェクトの場所によって、決定されてもよい。例えば、データ構造は、基点位置からオブジェクトまでの距離(例えば、基点位置の左(または右)までの距離、基点位置の上部(または底部)からの距離、または基点位置からの深度毎の距離)等の単一座標によって、オブジェクトをインデックス化してもよい。いくつかの実装では、ウェアラブルシステム200は、相互作用可能オブジェクトが、異なる固定深度面に位置するように、複数のアレイに編成され得るように、仮想オブジェクトをユーザに対して異なる深度面に表示することが可能である。
【0122】
ユーザは、ユーザのFOR内のオブジェクトのサブセットと相互作用することができる。本オブジェクトのサブセットは、時として、相互作用可能オブジェクトと称され得る。ユーザは、例えば、オブジェクトを選択することによって、オブジェクトを移動させることによって、オブジェクトと関連付けられるメニューまたはツールバーを開くことによって、または新しい相互作用可能オブジェクトのセットを選定することによって等、種々の技法を使用して、オブジェクトと相互作用することができる。ユーザは、例えば、マウス上でクリックする、タッチパッド上でタップする、タッチスクリーン上でスワイプする、容量ボタン上でホバリングする、またはそれにタッチする、キーボードまたはゲームコントローラ(例えば、5方向Dパッド)上のキーを押下する、ジョイスティック、ワンド、またはトーテムをオブジェクトに向かってポイントする、遠隔制御装置上のボタンを押下する、または入力デバイスとの他のユーザ相互作用等、手のジェスチャまたは姿勢を使用して、ユーザ入力デバイスを作動させることによって、相互作用可能オブジェクトと相互作用してもよい。ユーザはまた、例えば、ある時間周期にわたって、オブジェクトを注視またはポイントする等、頭部、眼、または身体姿勢を使用して、相互作用可能オブジェクトと相互作用してもよい。ユーザのこれらの手のジェスチャおよび姿勢は、ウェアラブルシステム200に、その中で、例えば、ユーザインターフェース動作が実施される(標的相互作用可能オブジェクトと関連付けられる、メニューが、表示される、ゲーム用動作がゲーム内のアバタ上で実施される等)、選択イベントを開始させることができる。
【0123】
図3は、本開示のいくつかの実施形態による、仮想ユーザインターフェースと相互作用するための例示的方法300を図示する。ステップ302では、ウェアラブルシステムは、特定のユーザインターフェース(UI)を識別してもよい。UIのタイプは、ユーザによって事前決定されてもよい。ウェアラブルシステムは、ユーザ入力(例えば、ジェスチャ、視覚的データ、オーディオデータ、感覚データ、直接コマンド等)に基づいて、特定のUIが取り込まれる必要があることを識別してもよい。ステップ304では、ウェアラブルシステムは、仮想UIのためのデータを生成してもよい。例えば、UIの境界、一般的構造、形状等と関連付けられる、データが、生成されてもよい。加えて、ウェアラブルシステムは、ウェアラブルシステムがUIをユーザの物理的場所に関連して表示し得るように、ユーザの物理的場所のマップ座標を決定してもよい。例えば、UIが、身体中心である場合、ウェアラブルシステムは、リングUIが、ユーザの周囲に表示され得る、または平面UIが、壁上またはユーザの正面に表示され得るように、ユーザの物理的立ち位置、頭部姿勢、または眼姿勢の座標を決定してもよい。UIが、手中心である場合、ユーザの手のマップ座標が、決定されてもよい。これらのマップ点は、FOVカメラ、感覚入力を通して受信されたデータ、または任意の他のタイプの収集されたデータを通して導出されてもよい。
【0124】
ステップ306では、ウェアラブルシステムは、データをクラウドからディスプレイに送信してもよい、またはデータは、ローカルデータベースからディスプレイコンポーネントに送信されてもよい。ステップ308では、UIは、送信されるデータに基づいて、ユーザに表示される。例えば、ライトフィールドディスプレイが、仮想UIをユーザの眼の一方または両方の中に投影することができる。いったん仮想UIが、作成されると、ウェアラブルシステムは、ステップ310において、単に、さらなる仮想コンテンツを仮想UI上に生成するためのコマンドをユーザから待機してもよい。例えば、UIは、ユーザの身体の周囲の身体中心リングであってもよい。ウェアラブルシステムは、次いで、コマンド(ジェスチャ、頭部または眼移動、ユーザ入力デバイスからの入力等)を待機してもよく、それが認識される場合(ステップ312)、コマンドと関連付けられる仮想コンテンツがユーザに表示されてもよい(ステップ314)。実施例として、ウェアラブルシステムは、複数のステムトラックを混合する前に、ユーザの手のジェスチャを待機してもよい。
【0125】
本明細書に説明されるように、ユーザは、手のジェスチャまたは姿勢を使用して、その環境内のオブジェクトと相互作用することができる。例えば、ユーザが、部屋の中を見回すと、テーブル、椅子、壁、および壁のうちの1つ上の仮想テレビディスプレイが見え得る。ユーザが見ているオブジェクトを決定するために、ウェアラブルシステム200は、概して、円錐を、それに向かってユーザが見ている方向に投影し、円錐と交差する、任意のオブジェクトを識別すると説明される、円錐投射技法を使用してもよい。円錐投射は、側方厚を有していない、単一光線を、(ウェアラブルシステム200の)ヘッドセットから、物理的または仮想オブジェクトに向かって投射するステップを伴うことができる。単一光線を伴う円錐投射は、光線投射とも称され得る。
【0126】
光線投射は、衝突検出エージェントを使用して、光線に沿ってトレースし、任意のオブジェクトが光線と交差するかどうかと、その場所とを識別することができる。ウェアラブルシステム200は、IMU(例えば、加速度計)、眼追跡カメラ等を使用して、ユーザの姿勢(例えば、身体、頭部、または眼方向)を追跡し、それに向かってユーザが見ている方向を決定することができる。ウェアラブルシステム200は、ユーザの姿勢を使用して、光線を投射すべき方向を決定することができる。光線投射技法はまた、ハンドヘルド、多自由度(DOF)入力デバイス等のユーザ入力デバイスと併用されることができる。例えば、ユーザは、多DOF入力デバイスを作動させ、ユーザが動き回る間、光線のサイズおよび/または長さをアンカすることができる。別の実施例として、光線をヘッドセットから投射するのではなく、ウェアラブルシステム200は、光線をユーザ入力デバイスから投射することもできる。ある実施形態では、無視可能な厚さを伴う光線を投射するのではなく、ウェアラブルシステムは、非無視可能な開口(中心光線に対して横方向に)を有する、円錐を投射することもできる。
【0127】
図4Aは、本開示のいくつかの実施形態による、光線および円錐投射の実施例を図示する。円錐投射は、調節可能開口を伴う、円錐(または他の形状)の体積420を投射することができる。円錐420は、相互作用点428と、表面432とを有する、幾何学的円錐であることができる。開口のサイズは、円錐の表面432のサイズに対応し得る。例えば、大開口は、表面432の大表面積に対応し得る。別の実施例として、大開口は、表面432の大径426に対応し得る一方、小開口は、表面432の小径426に対応し得る。
図4Aに図示されるように、円錐420の相互作用点428は、その原点を、種々の位置、例えば、ユーザのARD(例えば、ユーザの眼間)の中心、ユーザの四肢(例えば、手の指等の手)、ユーザ入力デバイス、またはユーザによって保持または動作されているトーテム(例えば、玩具武器)のうちの1つ上の点に有することができる。相互作用点428は、本明細書に説明されるシステムおよび技法のうちの1つまたはそれを上回るものを使用して生成され得る、相互作用点の一実施例を表し、他の相互作用点配列も、可能性として考えられ、本発明の範囲内であることを理解されたい。
【0128】
中心光線424は、円錐の方向を表すことができる。円錐の方向は、ユーザの身体姿勢(頭部姿勢、手のジェスチャ等)またはユーザの視線方向(眼姿勢とも称される)に対応し得る。
図4Aにおける実施例406は、姿勢を伴う円錐投射を図示し、ウェアラブルシステムは、ユーザの頭部姿勢または眼姿勢を使用して、円錐の方向424を決定することができる。本実施例はまた、頭部姿勢に関する座標系を図示する。頭部450は、多自由度を有してもよい。頭部450が、異なる方向に向かって移動するにつれて、頭部姿勢は、自然静置方向460に対して変化するであろう。
図4Aにおける座標系は、頭部の自然静置状態460に対する頭部姿勢を測定するために使用され得る、3つの角度自由度(例えば、ヨー、ピッチ、およびロール)を示す。
図4Aに図示されるように、頭部450は、前方および後方に傾斜し(例えば、ピッチ)、左および右に旋回し(例えば、ヨー)、横方向に傾斜する(例えば、ロール)ことができる。他の実装では、頭部姿勢を測定するための他の技法または角度表現、例えば、任意の他のタイプのオイラー角法が、使用されることができる。ウェアラブルシステムは、IMUを使用して、ユーザの頭部姿勢を決定してもよい。
【0129】
実施例404は、姿勢を伴う円錐投射の別の実施例を示し、ウェアラブルシステムは、ユーザの手のジェスチャに基づいて、円錐の方向424を決定することができる。本実施例では、円錐420の相互作用点428は、ユーザの手414の指先にある。ユーザが、その指を別の場所にポイントするにつれて、円錐420(および中心光線424)の位置は、適宜、移動されることができる。
【0130】
円錐の方向もまた、ユーザ入力デバイスの位置または配向またはユーザ入力デバイスの作動に対応することができる。例えば、円錐の方向は、ユーザ入力デバイスのタッチ表面上にユーザによって描かれる軌道に基づいてもよい。ユーザは、その指をタッチ表面上で前方に移動させ、円錐の方向が前方であることを示すことができる。実施例402は、ユーザ入力デバイスを用いた別の円錐投射を図示する。本実施例では、相互作用点428は、武器形状のユーザ入力デバイス412の先端に位置する。ユーザ入力デバイス412が、周囲で移動されるにつれて、円錐420および中心光線424もまた、ユーザ入力デバイス412とともに移動することができる。
【0131】
ウェアラブルシステムは、例えば、マウス上でクリックする、タッチパッド上でタップする、タッチスクリーン上でスワイプする、容量ボタン上でホバリングする、またはそれにタッチする、キーボードまたはゲームコントローラ(例えば、5方向Dパッド)上のキーを押下する、ジョイスティック、ワンド、またはトーテムをオブジェクトに向かってポイントする、遠隔制御装置上のボタンを押下すること、またはユーザ入力デバイス466との他の相互作用によって、ユーザがユーザ入力デバイス466を作動させると、円錐投射を開始することができる。
【0132】
ウェアラブルシステムはまた、例えば、1つの方向に向かった長時間周期の視線または手のジェスチャ(例えば、外向きに向いた結像システムの正面で手を振る)等のユーザの姿勢に基づいて、円錐投射を開始してもよい。いくつかの実装では、ウェアラブルシステムは、自動的に、コンテキスト情報に基づいて、円錐投射イベントを開始することができる。例えば、ウェアラブルシステムは、ユーザがARディスプレイの主要なページに対しているとき、自動的に、円錐投射を開始することができる。別の実施例では、ウェアラブルシステムは、ユーザの視線方向におけるオブジェクトの相対的位置を決定することができる。ウェアラブルシステムが、オブジェクトが相互から比較的に離れて位置することを決定する場合、ウェアラブルシステムは、自動的に、円錐投射を開始することができ、したがって、ユーザは、疎らに位置するオブジェクトの群内のオブジェクトを選択するために、高精度を伴って、移動させる必要はない。
【0133】
円錐の方向はさらに、ヘッドセットの位置または配向に基づくことができる。例えば、円錐は、ヘッドセットが傾斜されるとき、第1の方向に、ヘッドセットが傾斜されないとき、第2の方向に投射されてもよい。
【0134】
円錐420は、例えば、サイズ、形状、または色等の種々の性質を有してもよい。これらの性質は、円錐がユーザに知覚可能であるように、ユーザに表示されてもよい。ある場合には、円錐420の一部が、表示されてもよい(例えば、円錐の端部、円錐の表面、円錐の中心光線等)。他の実施形態では、円錐420は、直方体、多面体、角錐、錐台等であってもよい。円錐の遠位端は、任意の断面、例えば、円形、卵形、多角形、または不規則形を有することができる。
【0135】
図4Aおよび4Bでは、円錐420は、相互作用点428に位置付けられる、頂点と、平面432に形成される、遠位端とを有することができる。相互作用点428(中心光線424のゼロ点とも称される)は、そこから円錐投射が生じる、設置場所と関連付けられることができる。相互作用点428は、仮想円錐がその場所から放出されるように現れるように、3D空間内の場所にアンカされてもよい。場所は、ユーザの頭部(ユーザの眼間等)、ポインタとして機能する、ユーザ入力デバイス(例えば、6DOFハンドヘルドコントローラまたは3DOFハンドヘルドコントローラ等)、指の先端(ジェスチャ認識によって検出され得る)等上の位置であってもよい。ハンドヘルドコントローラに関して、それに対して相互作用点428がアンカされる、場所は、デバイスの形状因子に依存し得る。例えば、(シューティングゲームにおいて使用するための)武器形状のコントローラ412では、相互作用点428は、コントローラ412の銃口の先端にあってもよい。本実施例では、円錐の相互作用点428は、銃身の中心に生じ得、円錐420の円錐420(または中心光線424)は、円錐投射の中心が武器形状のコントローラ412の銃身と同心となるであろうように、前方に投影することができる。円錐の相互作用点428は、種々の実施形態では、ユーザの環境内の任意の場所にアンカされることができる。
【0136】
いったん円錐420の相互作用点428が、ある場所にアンカされると、円錐420の方向および移動は、その場所と関連付けられる、オブジェクトの移動に基づいてもよい。例えば、実施例406を参照して説明されるように、円錐が、ユーザの頭部にアンカされると、円錐420は、ユーザの頭部姿勢に基づいて、移動することができる。別の実施例として、実施例402では、円錐420が、ユーザ入力デバイスにアンカされると、円錐420は、ユーザ入力デバイスの作動に基づいて、例えば、ユーザ入力デバイスの位置または配向の変化等に基づいて、移動されることができる。別の実施例として、実施例404では、円錐420が、ユーザの手にアンカされると、円錐420は、ユーザの手の移動に基づいて、移動されることができる。
【0137】
円錐の表面432は、終了閾値に到達するまで、延在することができる。終了閾値は、円錐と環境内の仮想または物理的オブジェクト(例えば、壁)との間の衝突を伴ってもよい。終了閾値はまた、閾値距離に基づいてもよい。例えば、表面432は、円錐がオブジェクトと衝突するまで、または表面432と相互作用点428との間の距離が閾値距離(例えば、20センチメートル、1メートル、2メートル、10メートル等)に到達するまで、相互作用点428から離れるように延在し続けることができる。いくつかの実施形態では、円錐は、衝突が円錐とオブジェクトとの間で起こり得る場合でも、オブジェクトを越えて延在することができる。例えば、表面432は、実世界オブジェクト(テーブル、椅子、壁等)を通して延在し、終了閾値に衝打すると、終了することができる。終了閾値が、ユーザの現在の部屋の外側に位置する、仮想部屋の壁であると仮定すると、ウェアラブルシステムは、仮想部屋の表面に到達するまで、現在の部屋を越えて円錐を延在させることができる。ある実施形態では、世界メッシュが、1つまたはそれを上回る部屋の範囲を定義するために使用されることができる。ウェアラブルシステムは、仮想円錐が世界メッシュの一部と交差しているかどうかを決定することによって、終了閾値の存在を検出することができる。いくつかの実施形態では、ユーザは、円錐が実世界オブジェクトを通して延在すると、仮想オブジェクトを容易に標的化することができる。実施例として、ヘッドセットは、仮想穴を物理的壁上に提示することができ、それを通してユーザは、ユーザが他の部屋内に物理的に存在しない場合でも、他の部屋内の仮想コンテンツと遠隔で相互作用することができる。
【0138】
円錐420は、深度を有することができる。円錐420の深度は、相互作用点428と表面432との間の距離によって表されてもよい。円錐の深度は、ウェアラブルシステムによって自動的に、ユーザによって、または組み合わせて、調節されることができる。例えば、ウェアラブルシステムが、オブジェクトがユーザから離れて位置することを決定すると、ウェアラブルシステムは、円錐の深度を増加させ得る。いくつかの実装では、円錐の深度は、ある深度面にアンカされてもよい。例えば、ユーザは、円錐の深度をユーザの1メートル以内の深度面にアンカするように選定してもよい。結果として、円錐投射の間、ウェアラブルシステムは、1メートル境界の外側のオブジェクトを捕捉しないであろう。ある実施形態では、円錐の深度が、ある深度面にアンカされる場合、円錐投射は、その深度面におけるオブジェクトのみを捕捉するであろう。故に、円錐投射は、アンカされた深度面よりユーザに近い、またはユーザから遠く離れた、オブジェクトを捕捉しないであろう。円錐420の深度を設定することに加え、またはその代替として、ウェアラブルシステムは、円錐投射が深度面または深度面未満におけるオブジェクトとのユーザ相互作用を可能にし得るように、表面432をある深度面に設定することができる。
【0139】
ウェアラブルシステムは、ある手のジェスチャ、身体姿勢、視線方向、ユーザ入力デバイスの作動、音声コマンド、または他の技法の検出に応じて、深度、相互作用点428、または円錐の表面432をアンカすることができる。本明細書に説明される実施例に加え、またはその代替として、相互作用点428、表面432のアンカ場所、またはアンカされる深度は、例えば、ユーザ相互作用のタイプ、それに対して円錐がアンカされる、オブジェクトの機能等のコンテキスト情報に基づくことができる。例えば、相互作用点428は、ユーザ可用性および感覚に起因して、ユーザの頭部の中心にアンカされることができる。別の実施例として、ユーザが、手のジェスチャまたはユーザ入力デバイスを使用して、オブジェクトをポイントすると、相互作用点428は、ユーザの指の先端またはユーザ入力デバイスの先端にアンカされ、ユーザがポイントする方向の正確度を増加させることができる。
【0140】
ウェアラブルシステムは、ユーザへの表示のために、円錐420または光線424の少なくとも一部の視覚的表現を生成することができる。円錐420または光線424の性質が、円錐420または光線424の視覚的表現内に反映されてもよい。円錐420の視覚的表現は、円錐の開口、円錐の表面、中心光線等の円錐の少なくとも一部に対応し得る。例えば、仮想円錐が、幾何学的円錐である場合、仮想円錐の視覚的表現は、ユーザの眼の間の位置から延在する、灰色幾何学的円錐を含んでもよい。別の実施例として、視覚的表現は、実または仮想コンテンツと相互作用する、円錐の一部を含んでもよい。仮想円錐が幾何学的円錐であると仮定すると、幾何学的円錐の底辺が、仮想オブジェクトを標的化および選択するために使用され得るため、視覚的表現は、幾何学的円錐の底辺を表す、円形パターンを含んでもよい。ある実施形態では、視覚的表現は、ユーザインターフェース動作に基づいて、トリガされる。実施例として、視覚的表現は、オブジェクトの状態と関連付けられ得る。ウェアラブルシステムは、オブジェクトが静置状態またはホバリング状態から変化する(オブジェクトが移動または選択され得る)と、視覚的表現を提示することができる。ウェアラブルシステムはさらに、オブジェクトがホバリング状態から選択された状態に変化すると、視覚的表現を隠蔽することができる。いくつかの実装では、オブジェクトが、ホバリング状態にあるとき、ウェアラブルシステムは、ユーザ入力デバイスからの入力を受信することができ(円錐投射に加え、またはその代替として)、オブジェクトがホバリング状態にあるとき、ユーザが、ユーザ入力デバイスを使用して、仮想オブジェクトを選択することを可能にすることができる。
【0141】
ある実施形態では、円錐420、光線424、またはその一部は、ユーザに不可視であってもよい(例えば、ユーザのために表示されなくてもよい)。ウェアラブルシステムは、円錐の方向および/または場所を示す、焦点インジケータを1つまたはそれを上回るオブジェクトに割り当ててもよい。例えば、ウェアラブルシステムは、焦点インジケータを、ユーザの正面にあって、ユーザの視線方向と交差する、オブジェクトに割り当ててもよい。焦点インジケータは、後光、色、知覚されるサイズまたは深度の変化(例えば、標的オブジェクトを、選択されると、より近くおよび/またはより大きくに現れさせる)、カーソルスプライトグラフィックの形状の変化(例えば、カーソルが、円形から矢印に変化される)、またはユーザの注意を引き付ける、他の可聴、触覚、または視覚的効果を備えることができる。円錐420は、光線424に対して横方向に開口を有することができる。開口のサイズは、円錐の表面432のサイズに対応し得る。例えば、大開口は、表面432上の大径426に対応し得る一方、小開口は、表面432上の小径426に対応し得る。
【0142】
図4Bを参照してさらに説明されるように、開口は、ユーザ、ウェアラブルシステムによって、または組み合わせて、調節されることができる。例えば、ユーザが、ARディスプレイ上に示される開口のオプションを選択する等、ユーザインターフェース動作を通して、開口を調節してもよい。ユーザはまた、ユーザ入力デバイスを作動させることによって、例えば、ユーザ入力デバイスをスクロールすることによって、またはボタンを押下し、開口のサイズをアンカすることによって、開口を調節してもよい。ユーザからの入力に加えて、または代替として、ウェアラブルシステムは、1つまたはそれを上回るコンテキスト要因に基づいて、開口のサイズを更新することができる。
【0143】
円錐投射は、ユーザの環境内のオブジェクトと相互作用するとき、特に、それらのオブジェクトが、ユーザからの小量の移動が光線の大移動に変換され得る、距離に位置するとき、精度を増加させるために使用されることができる。円錐投射はまた、円錐を1つまたはそれを上回る仮想オブジェクトに重複させるために、ユーザから必要な移動の量を減少させるために使用され得る。いくつかの実装では、ユーザは、例えば、多くのオブジェクトが存在するとき、より狭い円錐を、より少ないオブジェクトが存在するとき、より広い円錐を使用することによって、手動で、円錐の開口を更新し、標的オブジェクトを選択する速度および精度を改良することができる。他の実装では、ウェアラブルシステムは、手動更新に加えて、または代替として、ユーザの環境内のオブジェクトと関連付けられる、コンテキスト要因を決定し、自動円錐更新を許可することができ、これは、有利なこととして、より少ないユーザ入力が必要とされるため、ユーザが、環境内のオブジェクトと相互作用することをより容易にすることができる。
【0144】
図4Bは、ユーザのFOR400内のオブジェクトの群430(例えば、オブジェクト430A、430B)上に投射される、円錐または光線の実施例を図示する。オブジェクトは、仮想および/または物理的オブジェクトであってもよい。円錐または光線投射の間、ウェアラブルシステムは、円錐420または光線424(ユーザに可視または不可視)をある方向に投射し、円錐420または光線424と交差する、任意のオブジェクトを識別することができる。例えば、オブジェクト430A(太字で示される)は、円錐420と交差する。オブジェクト430Bは、円錐420の外側にあって、円錐420と交差しない。
【0145】
ウェアラブルシステムは、コンテキスト情報に基づいて、開口を自動的に更新することができる。コンテキスト情報は、ユーザの環境に関連する情報(例えば、ユーザの仮想または物理的環境の光条件)、ユーザの選好、ユーザの物理的条件(例えば、ユーザが近視であるかどうか)、ユーザの環境内のオブジェクトのタイプ(例えば、物理的または仮想)またはオブジェクトのレイアウト(例えば、オブジェクトの密度、オブジェクトの場所およびサイズ等)等のユーザの環境内のオブジェクトと関連付けられる情報、ユーザが相互作用しているオブジェクトの特性(例えば、オブジェクトの機能、オブジェクトによってサポートされるユーザインターフェース動作のタイプ等)、それらの組み合わせ、または同等物を含んでもよい。密度は、例えば、投影されたエリアあたりのオブジェクトの数、立体角あたりのオブジェクトの数等、種々の方法で測定されることができる。密度は、例えば、近傍のオブジェクト間の間隔(より小さい間隔は、増加された密度を反映させる)等、他の方法でも表され得る。ウェアラブルシステムは、オブジェクトの場所情報を使用して、領域内のオブジェクトのレイアウトおよび密度を決定することができる。
図4Bに示されるように、ウェアラブルシステムは、オブジェクト430の群の密度が、高いことを決定し得る。ウェアラブルシステムは、故に、より小さい開口を伴う、円錐420を使用してもよい。
【0146】
ウェアラブルシステムは、ユーザの姿勢に基づいて、開口(例えば、サイズまたは形状)を動的に更新することができる。例えば、ユーザは、最初に、
図4Bにおけるオブジェクトの群430に向かってポイントし得るが、ユーザがその手を移動させるにつれて、ユーザは、今度は、相互に対して疎らに位置する、オブジェクトの群を指し得る。結果として、ウェアラブルシステムは、開口のサイズを増加させ得る。同様に、ユーザが、その手をオブジェクトの群430に向かって戻るように移動させる場合、ウェアラブルシステムは、開口のサイズを減少させてもよい。
【0147】
加えて、または代替として、ウェアラブルシステムは、ユーザの選好に基づいて、開口サイズを更新することができる。例えば、ユーザが、同時に、アイテムの大群を選択することを好む場合、ウェアラブルシステムは、開口のサイズを増加させてもよい。
【0148】
コンテキスト情報に基づいて、開口を動的に更新する別の実施例として、ユーザが、暗い環境内に存在する場合、またはユーザが、近視である場合、ウェアラブルシステムは、ユーザがオブジェクトをより容易に捕捉するように、開口のサイズを増加させてもよい。ある実装では、第1の円錐投射は、複数のオブジェクトを捕捉することができる。ウェアラブルシステムは、第2の円錐投射を実施し、捕捉されたオブジェクトの中の標的オブジェクトをさらに選択することができる。ウェアラブルシステムはまた、ユーザが、身体姿勢またはユーザ入力デバイスを使用して、標的オブジェクトを捕捉されたオブジェクトから選択することを可能にすることができる。オブジェクト選択プロセスは、回帰的プロセスであることができ、1つ、2つ、3つ、またはそれを上回る円錐投射が、標的オブジェクトを選択するために実施されてもよい。
【0149】
図5は、本開示のいくつかの実施形態による、ウェアラブルシステムによって検出または追跡され得る、ユーザの手と関連付けられる、種々の特徴点500の実施例を図示する。特徴点毎に、大文字は、以下のように、手の領域に対応する。すなわち、「T」は、親指に対応し、「I」は、人差し指に対応し、「M」は、中指に対応し、「R」は、薬指に対応し、「P」は、小指に対応し、「H」は、手に対応し、「F」は、前腕に対応する。小文字は、以下のように、手の各領域内のより具体的場所に対応する。すなわち、「t」は、先端(例えば、指先)に対応し、「i」は、指骨間関節(「IP関節」)に対応し、「d」は、遠位指骨間関節(「DIP関節」)に対応し、「p」は、近位指骨間関節(「PIP関節」)に対応し、「m」は、中手指節関節(「MCP関節」)に対応し、「c」は、手根中手関節(「CMC関節」)に対応する。
【0150】
図6A-6Fは、本開示のいくつかの実施形態による、ウェアラブルシステムによって識別されるジェスチャに基づいて選択され得る、特徴点500の可能性として考えられるサブセットの実施例を図示する。実施例のそれぞれでは、選択されたサブセット内に含まれる、特徴点は、太字で概略され、選択されたサブセット内に含まれない、特徴点は、破線で概略され、後続決定において促進するために選択され得る、随意の特徴点は、実線で概略される。実施例のそれぞれでは、特徴点のサブセットを選択することに応じて、サブセット内の特徴点はそれぞれ、相互作用点、仮想多DOFコントローラ(例えば、相互作用点と関連付けられる、仮想カーソルまたはポインタ)の配向、または両方を決定するために使用されてもよい。
【0151】
図6Aは、ユーザの手は、握持ジェスチャ(例えば、ユーザの指が全て、内向きに丸められる)を行っている、または行うように遷移しつつあることが決定されるとき、選択され得る、特徴点のサブセットの実施例を図示する。図示される実施例では、特徴点I
m、T
m、M
m、およびHが、サブセット内に含まれ、それに対して相互作用点602Aが位置合わせされる、特定の場所を決定するために使用されてもよい。例えば、相互作用点602Aは、特徴点I
mに位置合わせされてもよい。いくつかの実施例では、特徴点のサブセットはまた、少なくとも部分的に、相互作用点602Aと関連付けられる、仮想多DOFコントローラの配向を決定するために使用されてもよい。いくつかの実装では、握持ジェスチャと関連付けられる、特徴点のサブセットは、特徴点I
m、T
m、M
m、およびHのうちの3つまたはそれを上回るものを含んでもよい。いくつかの実施形態では、それに対して相互作用点602Aが位置合わせされることになる特定の場所および/または仮想多DOFコントローラの配向は、握持ジェスチャと関連付けられる、特徴点のサブセットから除外される、いくつかまたは全ての特徴点に関係なく決定され得る。
【0152】
図6Bは、ユーザの手が、ポイントジェスチャ(例えば、ユーザの人差し指が、完全に外向きに延在される一方、ユーザの手の他の指が、内向きに丸められる)を行っている、または行うように遷移しつつあることが決定されるとき、選択され得る、特徴点のサブセットの実施例を図示する。図示される実施例では、特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHが、サブセット内に含まれ、それに対して相互作用点602Bが位置合わせされる、特定の場所を決定するために使用されてもよい。例えば、相互作用点602Bは、特徴点I
tに位置合わせされてもよい。いくつかの実施例では、特徴点のサブセットはまた、少なくとも部分的に、相互作用点602Bと関連付けられる、仮想多DOFコントローラの配向を決定するために使用されてもよい。いくつかの実装では、ポイントジェスチャと関連付けられる、特徴点のサブセットは、特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHのうちの3つまたはそれを上回るものを含んでもよい。
図6Bにおける特徴点の輪郭によって示されるように、いくつかの実施形態では、特徴点I
d、M
m、およびHのうちの1つまたはそれを上回るものは、ポイントジェスチャと関連付けられる、特徴点のサブセットから除外されてもよい。いくつかの実施形態では、それに対して相互作用点602Bが位置合わせされることになる特定の場所および/または仮想多DOFコントローラの配向は、ポイントジェスチャと関連付けられる、特徴点のサブセットから除外される、いくつかまたは全ての特徴点に関係なく決定され得る。
【0153】
図6Cは、ユーザの手が、ピンチジェスチャ(例えば、ユーザの親指および人差し指が、少なくとも部分的に、外向きに延在され、相互に近接近する)を行っている、または行うように遷移しつつあることが決定されるとき、選択され得る、特徴点のサブセットの実施例を図示する。図示される実施例では、特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHが、サブセット内に含まれ、それに対して相互作用点602Cが位置合わせされる、特定の場所を決定するために使用されてもよい。例えば、相互作用点602Cは、
【化11】
に沿った場所、例えば、
【化12】
の中点(「α」)に位置合わせされてもよい。代替として、相互作用点は、
【化13】
に沿った場所、例えば、
【化14】
の中点(「β」)、または
【化15】
に沿った場所、例えば、
【化16】
の中点(「γ」)に位置合わせされてもよい。代替として、相互作用点は、
【化17】
に沿った場所、例えば、
【化18】
の中点、または
【化19】
に沿った場所、例えば、
【化20】
の中点に位置合わせされてもよい。いくつかの実施例では、特徴点のサブセットはまた、少なくとも部分的に、相互作用点602Cと関連付けられる、仮想多DOFコントローラの配向を決定するために使用されてもよい。いくつかの実装では、ピンチジェスチャと関連付けられる、特徴点のサブセットは、特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHのうちの3つまたはそれを上回るものを含んでもよい。
図6Cにおける特徴点の輪郭によって示されるように、いくつかの実施形態では、特徴点I
d、M
m、およびHのうちの1つまたはそれを上回るものは、ピンチジェスチャと関連付けられる、特徴点のサブセットから除外されてもよい。いくつかの実施形態では、それに対して相互作用点602Cが位置合わせされることになる特定の場所および/または仮想多DOFコントローラの配向は、ピンチジェスチャと関連付けられる、特徴点のサブセットから除外される、いくつかまたは全ての特徴点に関係なく決定され得る。
【0154】
図6Dは、ユーザの手が、握持ジェスチャの実施とポイントジェスチャの実施(例えば、ユーザの人差し指が、部分的に、外向きに延在される一方、ユーザの手の他の指が、内向きに丸められる)との間で遷移しつつあることが決定されるとき、選択され得る、特徴点のサブセットの実施例を図示する。図示される実施例では、特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHが、サブセット内に含まれ、それに対して相互作用点602Dが位置合わせされる、特定の場所を決定するために使用されてもよい。例えば、相互作用点602Dは、
【化21】
に沿った場所に位置合わせされてもよい。加えて、または代替として、相互作用点は、
【化22】
に沿った場所に位置合わせされてもよい。いくつかの実施形態では、それに対して相互作用点602Dがユーザの手に対して位置合わせされる、場所は、ユーザが握持ジェスチャとポイントジェスチャとの間で遷移するにつれて、
【化23】
に沿って(または
【化24】
に沿って)進行し得、ユーザのために表示される、相互作用点602Dの視覚的表現(例えば、光線)は、それを反映させてもよい。すなわち、これらの実施形態では、それに対して相互作用点602Dがユーザの手に対して位置合わせされる、場所は、ユーザが握持ジェスチャとポイントジェスチャとの間で遷移するとき、特徴点I
mとI
tとの間で急移行するのではなく、むしろ、より平滑かつより直感的ユーザ体験を提供するように、そのような特徴点間の1つまたはそれを上回る経路に沿って滑動し得る。
【0155】
いくつかの実施例では、ユーザが握持ジェスチャとポイントジェスチャとの間で遷移するとき、相互作用点602Dの視覚的表現がユーザの手に対して表示される、場所は、所与の時点における特徴点のサブセットの現在の位置に従って、実際の相互作用点602Dのものを意図的に辿り得る。例えば、ユーザが握持ジェスチャとポイントジェスチャとの間で遷移するとき、n番目のフレーム内の相互作用点602Dの視覚的表現がユーザのために表示される、場所は、(n-m)番目のフレーム内の特徴点のサブセットの位置に従った実際の相互作用点602Dの場所に対応し得、mは、所定の数のフレーム(例えば、固定された時間遅延)である。別の実施例では、ユーザが握持ジェスチャとポイントジェスチャとの間で遷移するとき、相互作用点602Dの視覚的表現は、所与の時点における特徴点のサブセットの現在の位置に従った実際の相互作用点602Dの速度のある割合(例えば、所定のパーセンテージ)で移動するように構成され得るように、ユーザのために表示される。いくつかの実施形態では、1つまたはそれを上回るフィルタまたはフィルタリング技法が、これらの挙動のうちの1つまたはそれを上回るものを達成するために採用されてもよい。いくつかの実装では、ユーザが、ジェスチャ間で遷移しない、または別様に、特定のジェスチャを維持するとき、相互作用点602Dの視覚的表現がユーザの手に対して表示される場所、および任意の所与の時点における特徴点のサブセットの現在の位置に従った実際の相互作用点602Dの場所における差異は、殆どまたは全く存在し得ない。他の構成も、可能性として考えられる。
【0156】
図6Eは、ユーザの手が、ポイントジェスチャの実施とピンチジェスチャ(例えば、ユーザの親指および人差し指が、少なくとも部分的に、外向きに延在され、少なくとも部分的に、相互に向かって丸められる)の実施との間で遷移しつつあることが決定されるとき、選択され得る、特徴点のサブセットの実施例を図示する。図示される実施例では、特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHが、サブセット内に含まれ、それに対して相互作用点602Eが位置合わせされる、特定の場所を決定するために使用されてもよい。例えば、相互作用点602Eは、
【化25】
に沿った場所に位置合わせされてもよい。いくつかの実施形態では、ユーザがポイントジェスチャとピンチジェスチャとの間で遷移するとき、相互作用点602Eの視覚的表現が、ユーザのために表示されてもよく(例えば、光線)、および/または所与の時点における特徴点のサブセットの現在の位置に従った実際の相互作用点602Eは、
図6Dを参照して上記に説明されているものに類似または匹敵するように挙動し得、これは、ユーザ体験を向上させる役割を果たし得る。
【0157】
図6Fは、ユーザの手が、ピンチジェスチャの実施と握持ジェスチャ(例えば、ユーザの親指および人差し指が、少なくとも部分的に、外向きに延在され、少なくとも部分的に、相互に向かって丸められる)の実施との間で遷移しつつあることが決定されるとき、選択され得る、特徴点のサブセットの実施例を図示する。図示される実施例では、特徴点I
t、I
d、I
p、I
m、T
t、T
i、T
m、M
m、およびHが、サブセット内に含まれ、それに対して相互作用点602Fが位置合わせされる、特定の場所を決定するために使用されてもよい。例えば、相互作用点602Fは、
【化26】
に沿った場所に沿った場所に位置合わせされてもよい。いくつかの実施形態では、ユーザがピンチジェスチャと握持ジェスチャとの間で遷移するとき、相互作用点602Fの視覚的表現が、ユーザのために表示されてもよく(例えば、光線)、および/または所与の時点における特徴点のサブセットの現在の位置に従った実際の相互作用点602Fは、
図6D-6Eを参照して上記に説明されているものに類似または匹敵するように挙動し得、これは、ユーザ体験を向上させる役割を果たし得る。
【0158】
図7A-7Cは、本開示のいくつかの実施形態による、ユーザの腕が外向きに延在されている間の、種々のジェスチャのための光線投射の実施例を図示する。
図7Aは、その腕が外向きに延在されている間、握持ジェスチャを行っている、ユーザを図示する。相互作用点702Aが、特徴点I
mに位置合わせされ(
図6Aを参照して説明されるように)、近位点704Aが、ユーザの肩(「S」と標識される)における場所に位置合わせされる。光線706Aが、近位点704Aから、相互作用点702Aを通して、投射されてもよい。
【0159】
図7Bは、その腕が外向きに延在されている間、ポイントジェスチャを行っている、ユーザを図示する。相互作用点702Bが、特徴点I
tに位置合わせされ(
図6Bを参照して説明されるように)、近位点704Bが、ユーザの肩(「S」と標識される)における場所に位置合わせされる。光線706Bが、近位点704Bから、相互作用点702Bを通して、投射されてもよい。
図7Cは、その腕が外向きに延在されている間、ピンチジェスチャを行っている、ユーザを図示する。相互作用点702Cが、場所αに位置合わせされ(
図6Cを参照して説明されるように)、近位点704Cが、ユーザの肩(「S」と標識される)における場所に位置合わせされる。光線706Cが、近位点704Cから、相互作用点702Cを通して、投射されてもよい。ユーザが、
図7Aおよび7Bのジェスチャと、
図7Bおよび7Cのジェスチャと、
図7Aおよび7Cのジェスチャとの間で遷移するにつれて、それに対して相互作用点が位置合わせされ得る、場所の範囲は、
図6D、
図6E、および
図6Fを参照して上記にさらに詳細に説明される。
【0160】
図8A-8Cは、本開示のいくつかの実施形態による、ユーザの腕が内向きに後退されている間の、種々のジェスチャのための光線投射の実施例を図示する。
図8Aは、その腕が内向きに後退されている間、握持ジェスチャを行っている、ユーザを図示する。相互作用点802Aが、特徴点I
mに位置合わせされ(
図6Aを参照して説明されるように)、近位点804Aが、ユーザの肘(「E」と標識される)における場所に位置合わせされる。光線806Aが、近位点804Aから、相互作用点802Aを通して、投射されてもよい。
【0161】
図8Bは、その腕が内向きに後退されている間、ポイントジェスチャを行っている、ユーザを図示する。相互作用点802Bが、特徴点I
tに位置合わせされ(
図6Bを参照して説明されるように)、近位点804Bが、ユーザの肘(「E」と標識される)における場所に位置合わせされる。光線806Bが、近位点804Bから、相互作用点802Bを通して、投射されてもよい。
図8Cは、その腕が内向きに後退されている間、ピンチジェスチャを行っている、ユーザを図示する。相互作用点802Cが、場所αに位置合わせされ(
図6Cを参照して説明されるように)、近位点804Cが、ユーザの肘(「E」と標識される)における場所に位置合わせされる。光線806Cが、近位点804Cから、相互作用点802Cを通して、投射されてもよい。ユーザが、
図8Aおよび8Bのジェスチャと、
図8Bおよび8Cのジェスチャと、
図8Aおよび8Cのジェスチャとの間で遷移するにつれて、それに対して相互作用点が位置合わせされ得る、場所の範囲もまた、それぞれ、
図6D、
図6E、および
図6Fを参照して上記にさらに詳細に説明される。
【0162】
そこに
図7A-7Cの近位点704A-704Cがユーザの身体に対して位置合わせされる、場所は、そこに
図8A-8Cの近位点804A-804Cがユーザの身体に対して位置合わせされる、場所と異なることが分かる。そのような場所における差異は、とりわけ、
図7A-7Cにおけるユーザの腕の1つまたはそれを上回る部分の位置および/または配向(例えば、ユーザの腕は、外向きに延在される)と、
図8A-8Cにおけるユーザの腕の1つまたはそれを上回る部分の位置および/または配向(例えば、ユーザの腕は、内向きに後退される)との間の差異の結果であり得る。したがって、
図7A-7Cにおけるユーザの腕の1つまたはそれを上回る部分の位置および/または配向と、
図8A-8Cにおけるユーザの腕の1つまたはそれを上回る部分の位置および/または配向との間で遷移しつつある際、近位点が位置合わせされる、場所は、ユーザの肩(「S」)における場所とユーザの肘(「E」)における場所との間で遷移し得る。いくつかの実施形態では、ユーザの腕の1つまたはそれを上回る部分の位置および/または配向が、
図7A-7Cのものと
図8A-8Cのものとの間で遷移するとき、近位点およびそれと関連付けられる1つまたはそれを上回る視覚的表現は、
図6D-6Fを参照して上記に説明されているものに類似または匹敵するように挙動し得、これは、ユーザ体験を向上させる役割を果たし得る。
【0163】
いくつかの実施形態では、本システムは、近位点をユーザの指関節、手、手首、前腕、肘、腕(例えば、上腕)、肩、肩甲骨、頸部、頭部、眼、顔(例えば、頬)、胸部、胴体(例えば、臍領域)、またはそれらの組み合わせの表面内またはそれに沿った1つまたはそれを上回る推定される場所に位置合わせしてもよい。これらの実施形態のうちの少なくともいくつかでは、本システムは、それに対して近位点が位置合わせされる、場所を、種々の異なる要因のうちの少なくとも1つに基づいて、そのような1つまたはそれを上回る推定される場所間で動的に偏移させ得る。例えば、本システムは、(a)ユーザの手が、行っている、または行うように遷移しつつあると決定される、ジェスチャ(例えば、握持、ポイント、ピンチ等)、(b)ユーザの手が、行っている、または行うように遷移しつつあると決定される、ジェスチャと関連付けられる、特徴点のサブセットの位置および/または配向、(c)相互作用点の位置、(d)ユーザの手の推定される位置および/または配向(例えば、ピッチ、ヨー、および/またはロール)、(e)手首屈曲および/または伸展の1つまたはそれを上回る測定値、(f)手首内転および/または外転の1つまたはそれを上回る測定値、(g)ユーザの前腕の推定される位置および/または配向(例えば、ピッチ、ヨー、および/またはロール)、(h)前腕回外および/または回内の1つまたはそれを上回る測定値、(i)肘屈曲および/または伸展の1つまたはそれを上回る測定値、(j)ユーザの腕(例えば、上腕)の推定される位置および/または配向(例えば、ピッチ、ヨー、および/またはロール)、(k)肩内旋および/または外旋の1つまたはそれを上回る測定値、(l)肩屈曲および/または伸展の1つまたはそれを上回る測定値、(m)肩内転および/または外転の1つまたはそれを上回る測定値、(n)ユーザの頭部の推定される位置および/または配向、(o)ウェアラブルデバイスの推定される位置および/または配向、(p)ユーザの手または相互作用点とユーザの頭部またはウェアラブルデバイスとの間の推定される距離、(q)ユーザの腕全体(例えば、肩から指先)またはその少なくとも1つの部分の推定される長さまたは径間、(r)ユーザの視覚的に協調される注意の1つまたはそれを上回る測定値、または(s)それらの組み合わせを含む、種々の異なる要因のうちの少なくとも1つに基づいて、それに対して近位点が位置合わせされることになる、場所を決定してもよい。
【0164】
いくつかの実施形態では、本システムは、少なくとも部分的に、1つまたはそれを上回る外向きに向いたカメラから受信されたデータ、1つまたはそれを上回る内向きに向いたカメラから受信されたデータ、本システムの1つまたはそれを上回る他のセンサから受信されたデータ、ユーザ入力として受信されたデータ、またはそれらの組み合わせに基づいて、前述の要因のうちの1つまたはそれを上回るものを決定または別様に評価してもよい。いくつかの実施形態では、上記に述べられた要因のうちの1つまたはそれを上回るものが、変動すると、近位点およびそれと関連付けられる1つまたはそれを上回る視覚的表現は、
図6D-8Cを参照して上記に説明されているものに類似または匹敵するように挙動し得、これは、ユーザ体験を向上させる役割を果たし得る。
【0165】
いくつかの実施形態では、本システムは、(i)手首内転が、それに対して近位点がユーザの腕に沿って位置合わせされると決定される、場所を、ユーザの指関節に向かって付勢する役割を果たし得る一方、手首外転が、それに対して近位点がユーザの腕に沿って位置合わせされると決定される、場所を、ユーザの肩、頸部、またはユーザの身体の中心により近い他の場所に向かって付勢する役割を果たし得る、(ii)肘屈曲が、近位点が位置合わせされる、場所を、ユーザの身体の臍領域に向かって下向きに付勢する役割を果たし得る一方、肘伸展が、近位点が位置合わせされる、場所を、ユーザの頭部、肩、またはユーザの身体の上側部分における他の場所に向かって下向きに付勢する役割を果たし得る、(iii)肩内旋が、それに対して近位点が位置合わせされると決定される、場所を、ユーザの腕に沿って、ユーザの肘、手、または指関節に向かって付勢する役割を果たし得る一方、肩外旋が、それに対して近位点が位置合わせされると決定される、場所を、ユーザの肩、頸部、またはユーザの身体の中心により近い他の場所に向かって付勢する役割を果たし得る、(iv)肩内転が、それに対して近位点が位置合わせされると決定される、場所を、ユーザの頭部、頸部、胸部、またはユーザの身体の中心により近い他の場所に向かって付勢する役割を果たし得る一方、肩外転が、それに対して近位点が位置合わせされると決定される、場所を、ユーザの肩、腕、または他の場所に向かって、ユーザの腕に沿って、さらにユーザの身体の中心から付勢する役割を果たし得る、または(v)それらの組み合わせとなるように構成されてもよい。したがって、これらの実施形態では、それに対して近位点がシステムによって位置合わせされると決定された場所は、ユーザが、その手、前腕、および腕のうちの1つまたはそれを上回るものを再位置付けおよび/または再配向するにつれて、経時的に動的に変化し得る。いくつかの実施例では、本システムは、異なる加重を異なる要因に割り当て、1つまたはそれを上回るそのような要因およびその割り当てられた加重に基づいて、それに対して近位点が位置合わせされることになる、場所を決定してもよい。例えば、本システムは、他の前述の要因のいくつかまたは全てに対してより多くの加重をユーザの視覚的に協調される注意の1つまたはそれを上回る測定値に与えるように構成されてもよい。他の構成も、可能性として考えられる。
【0166】
その中でシステムが、それに対して近位点が位置合わせされる、場所を、少なくとも部分的に、ユーザの視覚的に協調される注意の1つまたはそれを上回る測定値に基づいて、そのような1つまたはそれを上回る推定される場所間で動的に偏移させるように構成される、実施例に関して、そのような1つまたはそれを上回る測定値は、少なくとも部分的に、ユーザの眼視線、ユーザに提示されている仮想コンテンツの1つまたはそれを上回る特性、手位置および/または配向、1つまたはそれを上回る様態横断収束および/または発散、またはそれらの組み合わせに基づいて、システムによって決定されてもよい。様態横断収束および発散、およびそのような様態横断収束および発散の発生を検出し、それに応答するためのシステムおよび技法の実施例は、米国特許公開第2019/0362557号(参照することによってその全体として本明細書に組み込まれる)に提供される。いくつかの実施形態では、本システムは、前述の特許出願に説明されるシステムおよび/または技法のうちの1つまたはそれを上回るものを活用し、1つまたはそれを上回る様態横断収束および/または発散の発生を検出してもよく、さらに、少なくとも部分的に、1つまたはそれを上回る様態横断収束および/または発散の検出された発生に基づいて、近位点の場所を決定してもよい。他の構成も、可能性として考えられる。
【0167】
図9は、本開示のいくつかの実施形態による、アクションイベント(例えば、ホバリング、タッチ、タップ、保持等)が特徴点を使用して検出され得る方法の実施例を図示する。いくつかの実施形態では、アクションイベントは、少なくとも部分的に、
【化27】
の間で測定された角度θ
【化28】
に基づいて、検出されてもよく、γは、
【化29】
の中点を表す。例えば、θが、所定の閾値を上回ると決定される場合、「ホバリング」アクションイベントが、検出され得る一方、θが、所定の閾値未満であると決定される場合、「タッチ」アクションイベントが、検出され得る。別の実施例として、「タップ」および「保持」アクションイベントが、それにわたってθが所定の閾値未満であると決定される、時間の持続時間に基づいて検出され得る。図示される実施例では、I
tおよびT
tは、ユーザが、特定のジェスチャ(例えば、ピンチジェスチャ)を行っている、または行うように遷移しつつあることの決定に応答して選択された、特徴点のサブセット内に含まれる、特徴点を表し得る。
【0168】
図10A-10Cは、本開示のいくつかの実施形態による、光線を使用した仮想オブジェクトとの例示的相互作用を図示する。
図10A-10Cは、上記に記載のパラダイムのうちのいくつかが、トーテムなし相互作用(例えば、物理的ハンドヘルドコントローラを使用しない相互作用)のために、ウェアラブルシステム内で採用され、ユーザによって活用され得る方法を実証する。
図10A-10Cはそれぞれ、その手を使用して、仮想オブジェクト1002と相互作用する間、ウェアラブルシステムのユーザに種々の時点で見え得るもののレンダリングを含む。本実施例では、ユーザは、(1)仮想6DoF光線1004を生み出すように、その手でピンチジェスチャを行ない、(2)仮想6DoF光線が仮想オブジェクトと交差するように、その手を位置付け、(3)角度θの値が、仮想6DoF光線が仮想オブジェクトと交差している間、閾値を上回る値から該閾値未満の値に遷移するように、その手の位置を維持しながら、その親指の先端およびその人差し指の先端をともにより近づけ、(4)角度θを閾値を下回る値に維持するように、その親指および人差し指をともに近づけてピンチされたまま保ちながら、その手を新しい場所に誘導することによって、仮想オブジェクトの位置を操作することが可能である。
【0169】
図10Aは、ユーザの手が、ピンチジェスチャを行っていると決定される間、α場所に位置合わせされる、相互作用点1006を図示する。α場所は、ユーザが、ピンチジェスチャを行っている、または行うように遷移しつつあることの決定に応答して選択された、ピンチジェスチャと関連付けられる、特徴点(例えば、I
t、I
p、I
m、T
t、T
i、およびT
m)のサブセットの位置に基づいて決定されてもよい。本選択された特徴点のサブセットは、追跡され、それに対して相互作用点1006を位置合わせすることになる、場所(例えば、α場所)を決定するために利用され、さらに、
図9を参照して上記に説明されているものに類似または匹敵する、角度θを決定するために利用されてもよい。
【0170】
図10Aの図示される実施例では、光線1004は、相互作用点を通して、ユーザの右肩または上腕の近傍における場所から、投射されている。相互作用点から前方への光線の一部のグラフィカル表現が、ヘッドセットを通して表示され、それを用いて仮想オブジェクト1002と相互作用する、ある種のポインタまたはカーソルとして、ユーザによって活用される。
図10Aでは、ユーザは、仮想6DoF光線が仮想オブジェクトと交差するように、その手を位置付けている。ここでは、角度θは、おそらく、ユーザが、仮想6DoF光線を用いて、単に、仮想オブジェクトにわたって「ホバリング」させていると見なされるように、閾値を上回る。したがって、本システムは、角度θと1つまたはそれを上回る閾値を比較してもよく、比較に基づいて、ユーザが、仮想コンテンツにタッチしている、それを握持している、または別様に選択していると見なされるかどうかを決定してもよい。図示される実施例では、本システムは、角度θが1つまたはそれを上回る閾値を上回ることを決定し、したがって、ユーザが、仮想コンテンツにタッチしている、それを握持している、または別様に選択していると見なされないことを決定し得る。
【0171】
図10Bは、仮想6DoF光線が、仮想オブジェクトと交差しており、依然としてピンチジェスチャを行っているように、依然として位置付けられる、ユーザの手を図示する(相互作用点は、依然として、α場所に位置合わせされることに留意されたい)。しかしながら、
図10Bでは、ユーザは、その親指の先端およびその人差し指の先端をともにより近づけている。したがって、
図10Bでは、角度θは、おそらく、ユーザが、ここでは、仮想6DoF光線を用いて、仮想コンテンツにタッチしている、それを握持している、または別様に選択していると見なされるように、1つまたはそれを上回る閾値より低い。
【0172】
図10Cは、依然として、前の画像におけるものと同一ピンチジェスチャを行っている、ユーザを図示し、したがって、角度θは、おそらく、閾値より低い。しかしながら、
図10Cでは、ユーザは、事実上、仮想オブジェクトを新しい場所にドラッグするように、その親指および人差し指をともに近づけてピンチさせて保ちながら、その腕を移動させている。相互作用点は、α場所に位置合わせされることによって、ユーザの手とともに進行していることに留意されたい。
図10A-10Cには図示されないが、仮想オブジェクトを「保持」しながら、ヘッドセットに対して相互作用点の位置を調節することによって、仮想オブジェクトの位置を調節する代わりに、またはそれに加え、ユーザはまた、仮想オブジェクトを「保持」しながら、ヘッドセットに対するピンチジェスチャと関連付けられる特徴点のシステムの配向(例えば、それぞれ、選択された特徴点のサブセット内に含まれる少なくとも2つおよび/または少なくとも3つの特徴点によって定義された、少なくとも1つのベクトルおよび/または少なくとも1つの平面のヨー、ピッチ、および/またはロール)を調節することによって、仮想オブジェクトの配向(例えば、仮想オブジェクトのヨー、ピッチ、および/またはロール)を調節することが可能であり得る。
図10A-10Cには図示されないが、仮想オブジェクトの位置および/または配向を操作後、ユーザは、その親指および人差し指を分離することによって、仮想オブジェクトを「解放」してもよい。そのような実施例では、本システムは、角度θが、再び、1つまたはそれを上回る閾値を上回ることを決定し、したがって、ユーザが、再び、仮想コンテンツにタッチしている、それを握持している、または別様に選択していると見なされないことを決定し得る。
【0173】
図11は、本開示のいくつかの実施形態による、ポイントジェスチャを管理するための例示的スキームを図示する。相互作用点1102は、好ましくは、人差し指先端特徴点(例えば、I
t特徴点)に位置合わせされる。人差し指先端が、利用不可能である(例えば、オクルードされる、または臨界信頼度レベルを下回る)とき、相互作用点1102は、次の最近傍の人差し指PIP特徴点(例えば、I
p特徴点)に移動される。人差し指PIPが、利用不可能である(例えば、オクルードされる、または臨界信頼度レベルを下回る)とき、相互作用点1102は、人差し指MCP特徴点(例えば、I
m特徴点)に移動される。いくつかの実施形態では、フィルタが、異なる可能性として考えられる特徴点間の遷移を平滑化するために適用される。
【0174】
図12は、本開示のいくつかの実施形態による、ピンチジェスチャを管理するための例示的スキームを図示する。相互作用点1202は、好ましくは、人差し指先端特徴点と親指先端特徴点との間の中点(例えば、
図6Cを参照して上記に説明される、α場所)に位置合わせされる。人差し指先端特徴点が、利用不可能である(例えば、オクルードされる、または臨界信頼度レベルを下回る)場合、相互作用点1202は、人差し指PIP特徴点と親指先端特徴点との間の中点に移動される。親指指先特徴点が、利用不可能である(例えば、オクルードされる、または臨界信頼度レベルを下回る)場合、相互作用点1202は、人差し指先端特徴点と親指IP特徴点との間の中点に移動される。
【0175】
人差し指先端特徴点および親指先端特徴点の両方が、利用不可能である場合、相互作用点1202は、人差し指PIP特徴点と親指IP特徴点との間の中点(例えば、
図6Cを参照して上記に説明される、β場所)に移動される。人差し指PIP特徴点が、利用不可能である(例えば、オクルードされる、または臨界信頼度レベルを下回る)場合、相互作用点1202は、人差し指MCP特徴点と親指IP特徴点との間の中点に移動される。親指指IP特徴点が、利用不可能である(例えば、オクルードされる、または臨界信頼度レベルを下回る)場合、相互作用点1202は、人差し指PIP特徴点と親指MCP特徴点との間の中点に移動される。人差し指PIP特徴点および親指IP特徴点の両方が、利用不可能である場合、相互作用点1202は、人差し指MCP特徴点と親指MCP特徴点との間の中点(例えば、
図6Cを参照して上記に説明される、γ場所)に移動される。
【0176】
図13は、本開示のいくつかの実施形態による、ユーザの手が、握持ジェスチャを行っている間の、アクションイベントを検出するための例示的スキームを図示する。相対的角距離および相対的角速度が、人差し指ベクトルと親指ベクトルとの間の角度に基づいて、追跡されてもよい。人差し指先端特徴点が、利用不可能である場合、人差し指PIP特徴点が、角度を形成するために使用されてもよい。親指先端特徴点が、利用不可能である場合、親指IP特徴点が、角度を形成するために使用されてもよい。ユーザが
図13の握持ジェスチャを行っていると決定される間に選択的に追跡され得る、特徴点のサブセットに関する付加的説明は、上記の
図6Aを参照して提供される。
【0177】
1302では、第1の相対的最大角距離(そのタイムスタンプを伴う)が、検出されてもよい。1304では、相対的最小角距離(そのタイムスタンプを伴う)が、検出されてもよい。1306では、第2の相対的最大角距離(そのタイムスタンプを伴う)が、検出されてもよい。1302、1304、および1306において検出されたデータ間の角距離における差異および時間における差異に基づいて、アクションイベントが実施されていることが決定され得る。
【0178】
例えば、第1の相対的最大角距離と相対的最小角距離との間の差異は、1つまたはそれを上回る第1の閾値(例えば、上閾値および下閾値)と比較されてもよく、相対的最小角距離と第2の相対的最大角距離との間の差異は、1つまたはそれを上回る第2の閾値(例えば、上閾値および下閾値)と比較されてもよく、第1の相対的最大角距離および相対的最小角距離のタイムスタンプ間の差異は、1つまたはそれを上回る第3の閾値(例えば、上閾値および下閾値)と比較されてもよく、相対的最小角距離および第2の相対的最大角距離のタイムスタンプ間の差異は、1つまたはそれを上回る第4の閾値(例えば、上閾値および下閾値)と比較されてもよい。
【0179】
図14は、本開示のいくつかの実施形態による、ユーザの手が、ポイントジェスチャを行っている間の、アクションイベントを検出するための例示的スキームを図示する。相対的角距離が、人差し指ベクトルと親指ベクトルとの間の角度に基づいて、追跡されてもよい。1402では、第1の相対的最大角距離(そのタイムスタンプを伴う)が、検出されてもよい。1404では、相対的最小角距離(そのタイムスタンプを伴う)が、検出されてもよい。1406では、第2の相対的最大角距離(そのタイムスタンプを伴う)が、検出されてもよい。1402、1404、および1406において検出されたデータ間の角距離における差異および時間における差異に基づいて、アクションイベントが実施されていることが決定され得る。いくつかの実施例では、そのような角距離は、少なくとも、
図9および10A-10Cを参照して上記に説明される、角度θに類似してもよい。ユーザが
図14のポイントジェスチャを行っていると決定される間に選択的に追跡され得る、特徴点のサブセットに関する付加的説明は、上記の
図6Bを参照して提供される。
【0180】
例えば、第1の相対的最大角距離と相対的最小角距離との間の差異は、1つまたはそれを上回る第1の閾値(例えば、上閾値および下閾値)と比較されてもよく、相対的最小角距離と第2の相対的最大角距離との間の差異は、1つまたはそれを上回る第2の閾値(例えば、上閾値および下閾値)と比較されてもよく、第1の相対的最大角距離および相対的最小角距離のタイムスタンプ間の差異は、1つまたはそれを上回る第3の閾値(例えば、上閾値および下閾値)と比較されてもよく、相対的最小角距離および第2の相対的最大角距離のタイムスタンプ間の差異は、1つまたはそれを上回る第4の閾値(例えば、上閾値および下閾値)と比較されてもよい。
【0181】
図15は、本開示のいくつかの実施形態による、ユーザの手が、ピンチジェスチャを行っている間の、アクションイベントを検出するための例示的スキームを図示する。相対的角距離が、人差し指ベクトルと親指ベクトルとの間の角度に基づいて、追跡されてもよい。1502では、第1の相対的最大角距離(そのタイムスタンプを伴う)が、検出されてもよい。1504では、相対的最小角距離(そのタイムスタンプを伴う)が、検出されてもよい。1506では、第2の相対的最大角距離(そのタイムスタンプを伴う)が、検出されてもよい。1502、1504、および1506において検出されたデータ間の角距離における差異および時間における差異に基づいて、アクションイベントが実施されていることが決定され得る。いくつかの実施例では、そのような角距離は、少なくとも、
図9および10A-10Cを参照して上記に説明される、角度θに類似してもよい。ユーザが
図15のピンチジェスチャを行っていると決定される間に選択的に追跡され得る、特徴点のサブセットに関する付加的説明は、上記の
図6Cを参照して提供される。
【0182】
例えば、第1の相対的最大角距離と相対的最小角距離との間の差異は、1つまたはそれを上回る第1の閾値(例えば、上閾値および下閾値)と比較されてもよく、相対的最小角距離と第2の相対的最大角距離との間の差異は、1つまたはそれを上回る第2の閾値(例えば、上閾値および下閾値)と比較されてもよく、第1の相対的最大角距離および相対的最小角距離のタイムスタンプ間の差異は、1つまたはそれを上回る第3の閾値(例えば、上閾値および下閾値)と比較されてもよく、相対的最小角距離および第2の相対的最大角距離のタイムスタンプ間の差異は、1つまたはそれを上回る第4の閾値(例えば、上閾値および下閾値)と比較されてもよい。
【0183】
図16は、本開示のいくつかの実施形態による、ユーザの手が、ピンチジェスチャを行っている間の、アクションイベントを検出するための例示的実験データを図示する。
図16に図示される実験データは、
図15におけるユーザの手の描写される移動に対応し得る。
図16では、ユーザの手の移動は、親指と人差し指との間の平滑化された距離によって特徴付けられる。雑音が、残りの信号が対合される指特徴間の正規化された相対的分離の変曲を示すように、短待ち時間平滑化の間に除去される。極小値、その後、極大値が続き、次いで、直後に、極小値が続くことによって見られるような変曲は、タップアクションを認識するために使用されることができる。加えて、同一変曲パターンは、特徴姿勢状態にも見られ得る。特徴姿勢A、その後、特徴姿勢Bが続き、次いで、その後、Aが続くこともまた、タップアクションを認識するために使用されることができる。手特徴点が低信頼度を有する場合、特徴姿勢変曲は、ロバストであり得る。特徴姿勢が低信頼度を有する場合、相対的距離変曲が、使用されることができる。信頼度が両方の特徴変化に関して高い場合、両方の変曲が、タップアクションを認識するために使用されることができる。
【0184】
図17A-17Dは、本開示のいくつかの実施形態によるユーザの手が、ピンチジェスチャを行っている間の、アクションイベントを検出するための例示的実験データを図示する。
図17A-17Dに図示される実験データは、ユーザの手が
図15に示される移動を繰り返し行っていることに対応し得る。
図17Aは、ユーザの手が繰り返し標的コンテンツに接近するにつれた、ユーザの人差し指の先端と標的コンテンツとの間の距離を示す。
図17Bは、ユーザの人差し指の先端とユーザの親指の先端との間の角距離を示す。
図17Cは、ユーザの人差し指の先端およびユーザの親指の先端を使用して形成される角度に対応する、角速度を示す。
図17Dは、種々のデータに基づいて決定される、特徴姿勢変化を示し、これは、随意に、
図17A-17Cに示されるデータを含んでもよい。
図17A-17Dに示される実験データは、タップアクションを識別するために使用されてもよい。いくつかの実施形態では、全ての特徴変曲が、並行して、または同時に、誤検出認識率を低減させるために利用されることができる。
【0185】
図18は、本開示のいくつかの実施形態による、ユーザの手が、ピンチジェスチャを行っている間の、アクションイベントを検出するための例示的スキームを図示する。
図18は、ユーザの中指、薬指、および小指指が、内向きに丸められるという点で、
図15と異なる。
【0186】
図19A-19Dは、本開示のいくつかの実施形態による、ユーザの手が、ピンチジェスチャを行っている間の、アクションイベントを検出するための例示的雑音実験データを図示する。
図19A-19Dに図示される実験データは、ユーザの手が
図18に示される移動を繰り返し行っていることに対応し得る。
図19Aは、ユーザの人差し指の先端と標的コンテンツとの間の距離を示す。
図19Bは、ユーザの人差し指の先端とユーザの親指の先端との間の角距離を示す。
図19Cは、ユーザの人差し指の先端およびユーザの親指の先端を使用して形成される角度に対応する、角速度を示す。
図19Dは、種々のデータに基づいて決定される、特徴姿勢変化を示し、これは、随意に、
図19A-19Cに示されるデータを含んでもよい。
図19A-19Dに示される雑音実験データは、タップアクションを識別するために使用されてもよく、これは、ウィンドウ1902内で生じると決定される。これは、認識されたタップアクションとして条件を付けるために、変曲の全てにおいて、少なくとも中信頼度の決定を利用する、エッジケースシナリオを表す。
【0187】
図20A-20Cは、本開示のいくつかの実施形態による、握持ジェスチャを管理するための例示的スキームを図示する。光線2006が、本明細書に説明されるように、近位点2004(ユーザの肩上の場所に位置合わせされる)から、相互作用点2002(ユーザの手上の場所に位置合わせされる)を通して、投射される。
図20Aは、一括ポイントする機械的アクションを有効にする、握持ジェスチャを示す。これは、ロバストな遠視野標的化のために使用されることができる。
図20Bは、指先特徴間の相対的距離によって特徴付けられるような計算された手半径に対して相対的である、相互作用点のサイズを示す。
図20Cは、手が、開放特徴姿勢から拳特徴姿勢に変化するにつれて、手半径が、減少し、したがって、相互作用点のサイズが、比例して減少することを図示する。
【0188】
図21A-21Cは、本開示のいくつかの実施形態による、ポイントジェスチャを管理するための例示的スキームを図示する。光線2106が、本明細書に説明されるように、近位点2104(ユーザの肩上の場所に位置合わせされる)から、相互作用点2102(ユーザの手上の場所に位置合わせされる)を通して、投射される。
図21Aは、精緻化された中視野標的化のために、指関節運動を活用する、ポイントおよび選択の機械的アクションを示す。
図21Bは、弛緩(開放)ポイント手姿勢を示す。相互作用点は、人差し指先端に設置される。親指先端と人差し指先端との間の相対的距離は、最大値にあって、相互作用点のサイズを比例して大きくする。
図21Cは、親指が人差し指下に丸められている、(閉鎖)ポイント手姿勢を示す。親指先端と人差し指先端との間の相対的距離は、最小値にあって、比例して小相互作用点サイズをもたらすが、依然として、人差し指先端に設置される。
【0189】
図22A-22Cは、本開示のいくつかの実施形態による、ピンチジェスチャを管理するための例示的スキームを図示する。光線2206が、本明細書に説明されるように、近位点2204(ユーザの肩上の場所に位置合わせされる)から、相互作用点2202(ユーザの手上の場所に位置合わせされる)を通して、投射される。
図22Aは、精緻化された中視野を標的化するための指関節運動を活用する、ポイントおよび選択の機械的アクションを示す。
図22Bは、開放ピンチ(OK)姿勢を示す。相互作用点は、管理されたピンチ姿勢によって有効にされる複数のピンチスタイルのうちの1つとして、人差し指先端と親指との間の中点に設置される。親指先端と人差し指先端との間の相対的距離は、最大値にあって、相互作用点のサイズを比例して大きくする。
図22Cは、中指、薬指、および小指が、内向きに丸められ、人差し指および親指指先が触れている、(閉鎖)ピンチ手姿勢を示す。親指先端と人差し指先端との間の相対的距離は、最小値にあって、比例して小相互作用点サイズをもたらすが、依然として、指先間の中点に設置される。
【0190】
図23は、本開示のいくつかの実施形態による、ポイントおよびピンチジェスチャのための種々のアクティブ化タイプを図示する。ポイントジェスチャに関して、アクティブ化タイプは、タッチ(閉鎖)、ホバリング(開放)、タップ、および保持を含む。ピンチジェスチャに関して、アクティブ化タイプは、タッチ(閉鎖)、ホバリング(開放)、タップ、および保持を含む。
【0191】
図24は、本開示のいくつかの実施形態による、種々のジェスチャおよびジェスチャ間の遷移を図示する。図示される実施例では、ジェスチャのセットは、握持ジェスチャ、ポイントジェスチャ、およびピンチジェスチャを、それぞれの遷移状態ととともに含む。ジェスチャはそれぞれまた、それに決定されたジェスチャがさらにウェアラブルシステムによって規定され得る、サブジェスチャ(またはサブ姿勢)を含む。握持ジェスチャは、可能性の中でもとりわけ、拳サブ姿勢、制御サブ姿勢、およびスタイラスサブ姿勢を含んでもよい。ポイントジェスチャは、可能性の中でもとりわけ、単一指サブ姿勢および「L」形状サブ姿勢を含んでもよい。ピンチジェスチャは、可能性の中でもとりわけ、開放サブ姿勢、閉鎖サブ姿勢、および「OK」サブ姿勢を含んでもよい。
【0192】
図25は、本開示のいくつかの実施形態による、その中でユーザの手の両方が、仮想オブジェクトと相互作用するために使用される、両手相互作用の実施例を図示する。図示される実施例のそれぞれでは、ユーザの手はそれぞれ、各個別の手の特徴点に基づいて、ポイントジェスチャを行っていると決定される。ユーザの手の両方に関する相互作用点2510および2512は、個別の手の特徴点および決定されたジェスチャに基づいて決定される。相互作用点2510および2512は、両手相互作用点2514を決定するために使用され、これは、両手相互作用のために、仮想オブジェクトを選択および標的化することを促進し得る。両手相互作用点2514は、相互作用点2510と2512との間に形成される、線(例えば、中点)に沿った場所に位置合わせされてもよい。
【0193】
図示される実施例のそれぞれでは、デルタ2516が、相互作用点2510および2512移動の一方または両方に基づいて生成される。2502では、デルタ2516は、相互作用点2510および2512の一方または両方のフレーム間平行移動に対応する、平行移動デルタである。2504では、デルタ2516は、相互作用点2510および2512の一方または両方のフレーム間分離移動に対応する、スケーリングデルタである。2506では、デルタ2516は、相互作用点2510および2512の一方または両方のフレーム間回転移動に対応する、回転デルタである。
【0194】
図26は、ユーザの手がそれぞれ、各個別の手の特徴点に基づいて、ピンチジェスチャを行っていると決定されるという点で、
図26と異なる、両手相互作用の実施例を図示する。ユーザの手の両方に関する相互作用点2610および2612が、個別の手の特徴点および決定されたジェスチャに基づいて決定される。相互作用点2610および2612は、両手相互作用点2614を決定するために使用され、これは、両手相互作用のために、仮想オブジェクトを選択および標的化することを促進し得る。両手相互作用点2614は、相互作用点2610と2612との間に形成される、線(例えば、中点)に沿った場所に位置合わせされてもよい。
【0195】
図示される実施例のそれぞれでは、デルタ2616が、相互作用点2610および2612移動の一方または両方に基づいて生成される。2602では、デルタ2616は、相互作用点2610および2612の一方または両方のフレーム間平行移動に対応する、平行移動デルタである。2604では、デルタ2616は、相互作用点2610および2612の一方または両方のフレーム間分離移動に対応する、スケーリングデルタである。2606では、デルタ2616は、相互作用点2610および2612の一方または両方のフレーム間回転移動に対応する、回転デルタである。
【0196】
図27は、本開示のいくつかの実施形態による、その中で両方の手が協働して仮想オブジェクトと相互作用する、協働的両手相互作用の種々の実施例を図示する。図示される実施例は、ピンチ操作、ポイント操作、平坦操作、フック操作、拳操作、およびトリガ操作を含む。
【0197】
図28は、本開示のいくつかの実施形態による、その中で一方の手が他方の手が解釈され得る方法を管理する、管理された両手相互作用の実施例を図示する。図示される実施例は、人差し指-親指-ピンチ+人差し指-ポイント、中指-親指-ピンチ+人差し指-ポイント、人差し指-中指-ポイント+人差し指-ポイント、人差し指-トリガ+人差し指-ポイントを含む。
【0198】
図29は、本開示のいくつかの実施形態による、例示的片手相互作用場2902および両手相互作用場2904を図示する。相互作用場2902および2904はそれぞれ、周辺空間、延在作業空間、作業空間、およびタスク空間を含む。ウェアラブルシステムのカメラは、システムが片手または両手相互作用をサポートするかどうかに基づいて、種々の空間内で動作する間、ユーザの手の一方または両方を捕捉するように配向されてもよい。
【0199】
図30は、本開示のいくつかの実施形態による、ユーザが仮想オブジェクトと相互作用することを可能にするために、ユーザの手と関連付けられる多DOFコントローラを形成する方法3000を図示する。方法3000の1つまたはそれを上回るステップは、方法3000の実施の間、省略されてもよく、方法3000のステップは、示される順序で実施される必要はない。方法3000の1つまたはそれを上回るステップは、ウェアラブルシステム200の処理モジュール250内に含まれるもの等のウェアラブルシステムの1つまたはそれを上回るプロセッサによって実施されてもよい。方法3000は、プログラムが、1つまたはそれを上回るコンピュータによって実行されると、1つまたはそれを上回るコンピュータに、方法3000のステップを行わせる、命令を備える、コンピュータ可読媒体またはコンピュータプログラム製品として実装されてもよい。そのようなコンピュータプログラム製品は、有線または無線ネットワークを経由して、コンピュータプログラム製品を搬送するデータキャリア信号内で伝送されることができる。
【0200】
ステップ3002では、ユーザの手の画像が、受信される。画像は、画像捕捉デバイスによって捕捉されてもよく、これは、ウェアラブルデバイスに搭載されてもよい。画像捕捉デバイスは、可能性の中でもとりわけ、カメラ(例えば、広角レンズカメラ、魚眼レンズカメラ、赤外線(IR)カメラ)、または深度センサであってもよい。
【0201】
ステップ3004では、画像が、分析され、ユーザの手と関連付けられる、複数の特徴点を検出する。複数の特徴点は、ユーザの手上またはその近く(ユーザの手の閾値距離内)にあってもよい。
【0202】
ステップ3006では、画像を分析するステップに基づいて、ユーザの手が、複数のジェスチャからの任意のジェスチャを行っている、または行うように遷移しつつあるかどうかが決定される。複数のジェスチャは、可能性の中でもとりわけ、握持ジェスチャ、ポイントジェスチャ、および/またはピンチジェスチャを含んでもよい。ユーザの手が、任意のジェスチャを行っている、または行うように遷移しつつあることが決定される場合、方法3000は、ステップ3008に進む。そうでなければ、方法3000は、ステップ3002に戻る。
【0203】
ステップ3008では、複数の特徴点に対する特定の場所が、決定される。特定の場所は、複数の特徴点およびジェスチャに基づいて決定されてもよい。実施例として、特定の場所は、ユーザの手が、複数のジェスチャのうちの第1のジェスチャを行っていると決定される場合、複数の特徴点のうちの第1の特徴点の場所に設定されてもよく、特定の場所は、ユーザの手が、複数のジェスチャのうちの第2のジェスチャを行っていると決定される場合、複数の特徴点のうちの第2の特徴点の場所に設定されてもよい。上記の実施例を継続すると、特定の場所は、ユーザの手が、複数のジェスチャのうちの第3のジェスチャを行っていると決定される場合、第1の特徴点と第2の特徴点との間の中点に設定されてもよい。代替として、または加えて、特定の場所は、ユーザの手が、第3のジェスチャを行っていると決定される場合、第3の特徴点と第4の特徴点との間の中点に設定されてもよい。
【0204】
ステップ3010では、相互作用点が、特定の場所に位置合わせされる。相互作用点を特定の場所に位置合わせするステップは、相互作用点を特定の場所に設定および/または移動させるステップを含んでもよい。相互作用点(および同様に、特定の場所)は、3D値であってもよい。
【0205】
ステップ3012では、仮想オブジェクトと相互作用するための多DOFコントローラが、相互作用点に基づいて形成される。多DOFコントローラは、相互作用点を通して、近位点から投射される、光線に対応し得る。光線は、標的化、選択、握持、スクロール、抽出、ホバリング、タッチ、タップ、および保持等の種々のアクションを実施するために使用されてもよい。
【0206】
図31は、本開示のいくつかの実施形態による、ユーザが仮想オブジェクトと相互作用することを可能にするために、ユーザの手と関連付けられる多DOFコントローラを形成する方法3100を図示する。方法3100の1つまたはそれを上回るステップは、方法3100の実施の間、省略されてもよく、方法3100のステップは、示される順序で実施される必要はない。方法3100の1つまたはそれを上回るステップは、ウェアラブルシステム200の処理モジュール250内に含まれるもの等のウェアラブルシステムの1つまたはそれを上回るプロセッサによって実施されてもよい。方法3100は、プログラムが、1つまたはそれを上回るコンピュータによって実行されると、1つまたはそれを上回るコンピュータに、方法3000のステップを行わせる、命令を備える、コンピュータ可読媒体またはコンピュータプログラム製品として実装されてもよい。そのようなコンピュータプログラム製品は、有線または無線ネットワークを経由して、コンピュータプログラム製品を搬送するデータキャリア信号内で伝送されることができる。
【0207】
ステップ3102では、ユーザの手の画像が、受信される。ステップ3102は、
図30を参照して説明されるステップ3002に類似し得る。
【0208】
ステップ3104では、画像が、分析され、ユーザの手と関連付けられる、複数の特徴点を検出する。ステップ3104は、
図30を参照して説明されるステップ3004に類似し得る。
【0209】
ステップ3106では、画像を分析するステップに基づいて、ユーザの手が、複数のジェスチャからの任意のジェスチャを行っている、または行うように遷移しつつあるかどうかが決定される。ステップ3106は、
図30を参照して説明されるステップ3006に類似し得る。ユーザの手が、任意のジェスチャを行っている、または行うように遷移しつつあることが決定される場合、方法3100は、ステップ3108に進む。そうでなければ、方法3100は、ステップ3102に戻る。
【0210】
ステップ3108では、特定のジェスチャに対応する、複数の特徴点のサブセットが、選択される。例えば、第1の特徴点のサブセットは、複数のジェスチャのうちの第1のジェスチャに対応し得、第2の特徴点のサブセットは、複数のジェスチャのうちの第2のジェスチャに対応し得る。上記の実施例を継続すると、ユーザの手が、第1のジェスチャを行っていることが決定される場合、第1の特徴点のサブセットが、選択されてもよい、またはユーザの手が、第2のジェスチャを行っていることが決定される場合、第2の特徴点のサブセットが、選択されてもよい。
【0211】
ステップ3110では、複数の特徴点のサブセットに対する特定の場所が、決定される。特定の場所は、複数の特徴点のサブセットおよびジェスチャに基づいて決定されてもよい。実施例として、特定の場所は、ユーザの手が、複数のジェスチャのうちの第1のジェスチャを行っていると決定される場合、複数の特徴点の第1のサブセットの第1の特徴点の場所に設定されてもよい。別の実施例として、特定の場所は、ユーザの手が、複数のジェスチャのうちの第2のジェスチャを行っていると決定される場合、複数の特徴点の第2のサブセットの第2の特徴点の場所に設定されてもよい。
【0212】
ステップ3112では、相互作用点が、特定の場所に位置合わせされる。ステップ3112は、
図30を参照して説明されるステップ3010に類似し得る。
【0213】
ステップ3114では、近位点が、ユーザの身体に沿った場所に位置合わせされる。近位点が位置合わせされる、場所は、ユーザの肩の推定される場所、ユーザの肘の推定される場所、またはユーザの肩の推定される場所とユーザの肘の推定される場所との間であってもよい。
【0214】
ステップ3116では、光線が、近位点から、相互作用点を通して、投射される。
【0215】
ステップ3118では、仮想オブジェクトと相互作用するための多DOFコントローラが、光線に基づいて形成される。多DOFコントローラは、相互作用点を通して、近位点から投射される、光線に対応し得る。光線は、標的化、選択、握持、スクロール、抽出、ホバリング、タッチ、タップ、および保持等の種々のアクションを実施するために使用されてもよい。
【0216】
ステップ3120では、多DOFコントローラのグラフィカル表現が、ウェアラブルシステムによって表示される。
【0217】
図32は、本開示のいくつかの実施形態による、両手入力を使用して仮想オブジェクトと相互作用する方法3200を図示する。方法3200の1つまたはそれを上回るステップは、方法3200の実施の間、省略されてもよく、方法3200のステップは、示される順序で実施される必要はない。方法3200の1つまたはそれを上回るステップは、ウェアラブルシステム200の処理モジュール250内に含まれるもの等のウェアラブルシステムの1つまたはそれを上回るプロセッサによって実施されてもよい。方法3200は、プログラムが、1つまたはそれを上回るコンピュータによって実行されると、1つまたはそれを上回るコンピュータに、方法3200のステップを行わせる、命令を備える、コンピュータ可読媒体またはコンピュータプログラム製品として実装されてもよい。そのようなコンピュータプログラム製品は、有線または無線ネットワークを経由して、コンピュータプログラム製品を搬送するデータキャリア信号内で伝送されることができる。
【0218】
ステップ3202では、ユーザの第1の手および第2の手の1つまたはそれを上回る画像が、受信される。1つまたはそれを上回る画像のうちのいくつかは、第1の手および第2の手の両方を含んでもよく、いくつかは、手の片方のみを含んでもよい。1つまたはそれを上回る画像は、一連の時系列画像を含んでもよい。1つまたはそれを上回る画像は、画像捕捉デバイスによって捕捉されてもよく、これは、ウェアラブルデバイスに搭載されてもよい。画像捕捉デバイスは、可能性の中でもとりわけ、カメラ(例えば、広角レンズカメラ、魚眼レンズカメラ、赤外線(IR)カメラ)、または深度センサであってもよい。
【0219】
ステップ3204では、1つまたはそれを上回る画像が、分析され、第1の手および第2の手のそれぞれと関連付けられる、複数の特徴点を検出する。例えば、1つまたはそれを上回る画像が、分析され、2つの別個の特徴点のセット、すなわち、第1の手と関連付けられる、複数の特徴点と、第2の手と関連付けられる、複数の特徴点とを検出してもよい。各複数の特徴点は、個別の手上またはその近く(個別の手の閾値距離内)にあってもよい。いくつかの実施形態では、異なる複数の特徴点が、時系列画像または画像フレーム毎に検出されてもよい。
【0220】
ステップ3206では、相互作用点が、第1の手および第2の手毎に、第1の手および第2の手のそれぞれと関連付けられる、複数の特徴点に基づいて決定される。例えば、第1の手に関する相互作用点は、第1の手と関連付けられる、複数の特徴点に基づいて決定されてもよく、第2の手に関する相互作用点は、第2の手と関連付けられる、複数の特徴点に基づいて決定されてもよい。いくつかの実施形態では、第1の手および第2の手が、複数のジェスチャからの特定のジェスチャを行っている(または行うように遷移しつつある)かどうかが決定されてもよい。特定のジェスチャに基づいて、手毎に、手毎の相互作用点が、本明細書に説明されるように、特定の場所に位置合わせされてもよい。
【0221】
ステップ3208では、両手相互作用点が、第1の手および第2の手に関する相互作用点に基づいて決定される。いくつかの実施形態では、両手相互作用点は、相互作用点の平均位置であってもよい。例えば、線が、相互作用点間に形成されてもよく、両手相互作用点が、線に沿った点(例えば、中点)に位置合わせされてもよい。それに対して両手相互作用点が位置合わせされる、場所もまた、各手が行っている(または行うように遷移しつつある)、ジェスチャに基づいて決定されてもよい。例えば、一方の手が、ポイントジェスチャを行っており、他方の手が、握持ジェスチャまたはピンチジェスチャを行っている場合、両手相互作用点が、どちらの手がポイントジェスチャを行っているかどうかにかかわらず、その手に位置合わせされてもよい。別の実施例として、両方の手が、同一ジェスチャ(例えば、ピンチジェスチャ)を行っている場合、両手相互作用点は、相互作用点間の中点に位置合わせされてもよい。
【0222】
ステップ3210では、1つまたはそれを上回る両手デルタが、第1の手および第2の手毎に、相互作用点に基づいて生成されてもよい。いくつかの実施形態では、1つまたはそれを上回る両手デルタが、相互作用点の移動(例えば、フレーム間移動)に基づいて生成されてもよい。例えば、1つまたはそれを上回る両手デルタは、平行移動デルタ、回転デルタ、および/またはスケーリングデルタを含んでもよい。平行移動デルタは、相互作用点の一方または両方の平行移動に対応し得、回転デルタは、相互作用点の一方または両方の回転移動に対応し得、スケーリングデルタは、相互作用点の一方または両方の分離移動に対応し得る。
【0223】
一実施例では、時系列画像のセットが、分析され、第1の手および第2の手に関する相互作用点がともにより近くに移動していることを決定してもよい。それに応答して、スケーリングデルタが、相互作用点がともにより近くに移動していることを示すために、負の値を伴って生成されてもよい。別の実施例では、時系列画像のセットが、分析され、相互作用点がより離れるように移動していることを決定してもよく、スケーリングデルタは、相互作用点がより離れるように移動していることを示すために、正の値を伴って生成されてもよい。
【0224】
別の実施例では、時系列画像のセットが、分析され、第1の手および第2の手に関する相互作用点が両方とも、正のx方向に移動していることを決定してもよい。それに応答して、平行移動デルタが、相互作用点が正のx方向に移動していることを示すために生成されてもよい。別の実施例では、時系列画像のセットが、分析され、第1の手および第2の手に関する相互作用点が、相互に対して回転している(例えば、相互作用点間に形成される線が回転している)ことを決定してもよい。それに応答して、回転デルタが、相互作用点が相互に対して回転していることを示すために生成されてもよい。
【0225】
いくつかの実施形態では、両手デルタが、相互作用点および確立される平面のうちの1つに基づいて生成されてもよい。例えば、平面は、可能性の中でもとりわけ、ユーザの手、頭部姿勢、ユーザの腰部、実世界オブジェクト、仮想オブジェクトに基づいて確立されてもよい。平面を確立することに応じて、平行移動デルタが、平面上の相互作用点の投影に基づいて生成されてもよく、回転デルタが、平面に対する相互作用点の回転に基づいて生成されてもよく、スケーリングデルタは、相互作用点と平面との間の距離に基づいて生成されてもよい。いくつかの実施例では、これらのデルタは、平面デルタと称され得る。
【0226】
両手デルタの上記に説明される実施例は、同一時系列画像のセットに関して生成されてもよい。例えば、平行移動デルタ、回転デルタ、およびスケーリングデルタを含む、両手デルタは、単一時系列画像のセットに関して生成されてもよい。いくつかの実施例では、具体的タイプの両手デルタのみが、特定の用途の要件に基づいて生成されてもよい。例えば、ユーザは、仮想オブジェクトの位置および配向を固定して保ちながら、スケーリング動作を開始してもよい。それに応答して、スケーリングデルタのみが、生成されてもよい一方、平行移動および回転デルタは、生成されなくてもよい。別の実施例として、ユーザは、仮想オブジェクトのサイズを固定して保ちながら、平行移動動作および回転動作を開始してもよい。それに応答して、平行移動および回転デルタのみが、生成されてもよい一方、スケーリングデルタは、生成されなくてもよい。他の可能性も、検討される。
【0227】
ステップ3212では、仮想オブジェクトは、1つまたはそれを上回る両手デルタを使用して、相互作用される。仮想オブジェクトは、1つまたはそれを上回る両手デルタを仮想オブジェクトに適用することによって、例えば、1つまたはそれを上回る両手デルタを使用して、仮想オブジェクトを移動させることによって、相互作用されてもよい。例えば、平行移動デルタを仮想オブジェクトに適用するステップは、平行移動デルタによって示される特定の量だけ、仮想オブジェクトを平行移動させ得、回転デルタを仮想オブジェクトに適用するステップは、回転デルタによって示される特定の量だけ、仮想オブジェクトを回転させ得、スケーリングデルタを仮想オブジェクトに適用するステップは、スケーリングデルタによって示される特定の量だけ、仮想オブジェクトをスケーリング/サイズ変更させ得る。
【0228】
いくつかの実施形態では、仮想オブジェクトと相互作用することに先立って、仮想オブジェクトが標的化されているかどうかが決定されてもよい。いくつかのインスタンスでは、両手相互作用点が、仮想オブジェクトと重複する、またはその閾値距離内にあるかどうかが決定されてもよい。いくつかの実施形態では、仮想オブジェクトが、現在選択されている、または、例えば、本明細書に説明されるように、片手相互作用を使用することによって以前に選択されたかどうかが決定されてもよい。一実施例では、仮想オブジェクトは、最初に、片手相互作用を使用して選択され、続いて、両手相互作用を使用して相互作用されてもよい。
【0229】
図33は、本開示のいくつかの実施形態による、簡略化されたコンピュータシステム3300を図示する。
図33に図示されるようなコンピュータシステム3300は、本明細書に説明されるようなデバイスの中に組み込まれてもよい。
図33は、種々の実施形態によって提供される方法のステップの一部または全部を実施し得る、コンピュータシステム3300の一実施形態の概略化された例証を提供する。
図33は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用されてもよいことに留意されたい。
図33は、したがって、広義には、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る状況を図示する。
【0230】
コンピュータシステム3300は、バス3305を介して電気的に結合されることができる、または必要に応じて別様に通信し得る、ハードウェア要素を含むように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ、および/または同等物等の、1つまたはそれを上回る汎用プロセッサおよび/または1つまたはそれを上回る特殊目的プロセッサを含む、1つまたはそれを上回るプロセッサ3310と、限定ではないが、マウス、キーボード、カメラ、および/または同等物を含むことができる、1つまたはそれを上回る入力デバイス3315と、限定ではないが、ディスプレイデバイス、プリンタ、および/または同等物を含むことができる、1つまたはそれを上回る出力デバイス3320とを含んでもよい。
【0231】
コンピュータシステム3300はさらに、限定ではないが、ローカルおよび/またはネットワークアクセス可能記憶装置を含むことができ、および/または、限定ではないが、プログラム可能である、フラッシュ更新可能である、および/または同等物であることができる、ディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ(「RAM」)等のソリッドステート記憶デバイス、および/または読取専用メモリ(「ROM」)を含むことができる、1つまたはそれを上回る非一過性記憶デバイス3325を含む、および/またはそれと通信してもよい。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造、および/または同等物を含む、任意の適切なデータ記憶を実装するように構成されてもよい。
【0232】
コンピュータシステム3300はまた、限定ではないが、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備等、および/または同等物等のモデム、ネットワークカード(無線または有線)、赤外線通信デバイス、無線通信デバイス、および/またはチップセットを含むことができる、通信サブシステム3319を含み得る。通信サブシステム3319は、1つまたはそれを上回る入力および/または出力通信インターフェースを含み、データが、一実施例として挙げるために以下に説明されるネットワーク、すなわち、他のコンピュータシステム、テレビ、および/または本明細書に説明される任意の他のデバイス等のネットワークと交換されることを可能にしてもよい。所望の機能性および/または他の実装懸念に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム3319を介して、画像および/または他の情報を通信してもよい。他の実施形態では、ポータブル電子デバイス、例えば、第1の電子デバイスは、コンピュータシステム3300、例えば、電子デバイスの中に入力デバイス3315として組み込まれてもよい。いくつかの実施形態では、コンピュータシステム3300はさらに、作業メモリ3335を含み、これは、上記に説明されるようなRAMまたはROMデバイスを含むであろう。
【0233】
コンピュータシステム3300はまた、種々の実施形態によって提供されるコンピュータプログラムを含み得る、および/または本明細書に説明されるような他の実施形態によって提供される方法を実装し、および/またはシステムを構成するように設計され得る、1つまたはそれを上回るアプリケーションプログラム3345等のオペレーティングシステム3340、デバイスドライバ、実行可能ライブラリ、および/または他のコードを含む、作業メモリ3335内に現在位置するものとして示される、ソフトウェア要素を含むことができる。単に、一例として、上記に議論される方法に関して説明される1つまたはそれを上回るプロシージャは、コンピュータまたはコンピュータ内のプロセッサによって実行可能なコードおよび/または命令として実装され得、ある側面では、次いで、そのようなコードおよび/または命令は、説明される方法に従って1つまたはそれを上回る動作を実施するように汎用コンピュータまたは他のデバイスを構成および/または適合するために使用されることができる。
【0234】
これらの命令および/またはコードのセットは、上記に説明される記憶デバイス3325等の非一過性コンピュータ可読記憶媒体上に記憶されてもよい。ある場合には、記憶媒体は、コンピュータシステム3300等のコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、コンピュータシステムと別個である、例えば、コンパクトディスク等の可撤性媒体である、および/または記憶媒体が、汎用コンピュータをその上に記憶される命令/コードを用いてプログラム、構成、および/または適合するために使用され得るように、インストールパッケージ内に提供され得る。これらの命令は、コンピュータシステム3300によって実行可能である、実行可能コードの形態をとり得る、および/または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等のいずれかを使用したコンピュータシステム3300上へのコンパイルおよび/またはインストールに応じて、次いで、実行可能コードの形態をとる、ソースおよび/またはインストール可能コードの形態をとり得る。
【0235】
実質的な変形例が、具体的要件に従って構成されてもよいことが、当業者に明白となるであろう。例えば、カスタマイズされたハードウェアもまた、使用され得る、および/または特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含む、ソフトウェア、または両方内に実装され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続も、採用されてもよい。
【0236】
上記に述べられたように、一側面では、いくつかの実施形態は、コンピュータシステム3300等のコンピュータシステムを採用し、本技術の種々の実施形態による方法を実施してもよい。一式の実施形態によると、そのような方法のプロシージャの一部または全部は、プロセッサ3310が、オペレーティングシステム3340の中に組み込まれ得る、1つまたはそれを上回る命令の1つまたはそれを上回るシーケンス、および/または作業メモリ3335内に含有される、アプリケーションプログラム3345等の他のコードを実行することに応答して、コンピュータシステム3300によって実施される。そのような命令は、記憶デバイス3325のうちの1つまたはそれを上回るもの等の別のコンピュータ可読媒体から作業メモリ3335の中に読み取られてもよい。単に、一例として、作業メモリ3335内に含有される命令のシーケンスの実行は、プロセッサ3310に、本明細書に説明される方法の1つまたはそれを上回るプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行されてもよい。
【0237】
用語「機械可読媒体」および「コンピュータ可読媒体」は、本明細書で使用されるとき、機械を具体的方式で動作させるデータを提供することに関わる、任意の媒体を指す。コンピュータシステム3300を使用して実装される、ある実施形態では、種々のコンピュータ可読媒体は、実行のための命令/コードをプロセッサ3310に提供する際に関わり得る、および/またはそのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装では、コンピュータ可読媒体は、物理的および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス3325等の光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ3335等の動的メモリを含む。
【0238】
一般的形態の物理的および/または有形コンピュータ可読媒体は、例えば、フロッピー(登録商標)ディスク、可撓性ディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、またはコンピュータが命令および/またはコードを読み取ることができる、任意の他の媒体を含む。
【0239】
種々の形態のコンピュータ可読媒体が、実行のための1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスをプロセッサ3310に搬送する際に関わってもよい。単に、一例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび/または光学ディスク上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム3300によって受信および/または実行される伝送媒体を経由して、命令を信号として送信し得る。
【0240】
通信サブシステム3319および/またはそのコンポーネントは、概して、信号を受信し、バス3305が、次いで、信号および/または信号によって搬送されるデータ、命令等を作業メモリ3335に搬送し得、そこから、プロセッサ3310が、命令を読み出し、実行する。作業メモリ3335によって受信された命令は、随意に、プロセッサ3310による実行前または後のいずれかにおいて、非一過性記憶デバイス3325上に記憶されてもよい。
【0241】
上記に議論される方法、システム、およびデバイスは、実施例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加してもよい。例えば、代替構成では、本方法は、説明されるものと異なる順序で実施されてもよく、および/または種々の段階は、追加される、省略される、および/または組み合わせられてもよい。また、ある構成に関して説明される特徴は、種々の他の構成において組み合わせられてもよい。構成の異なる側面および要素は、類似様式で組み合わせられてもよい。また、技術は、進歩するものであって、したがって、要素の多くは、実施例であって、本開示の範囲または請求項を限定するものではない。
【0242】
具体的詳細が、実装を含む、例示的構成の完全な理解を提供するために説明に与えられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践されてもよい。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、可用性、または構成を限定するものではない。むしろ、構成の前述の説明は、当業者に説明される技法を実装するための有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われてもよい。
【0243】
また、構成は、概略フローチャートまたはブロック図として描写される、プロセスとして説明され得る。それぞれ、シーケンシャルプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施されることができる。加えて、動作の順序は、再配列されてもよい。プロセスは、図内に含まれない付加的ステップを有してもよい。さらに、本方法の実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ可読媒体内に記憶されてもよい。プロセッサは、説明されるタスクを実施してもよい。
【0244】
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用されてもよい。例えば、前述の要素は、より大きいシステムのコンポーネントであってもよく、他のルールが、本技術の用途に優先する、または別様にそれを修正してもよい。また、いくつかのステップは、前述の要素が検討される前、間、または後に行われてもよい。故に、前述の説明は、請求項の範囲を束縛するものではない。
【0245】
本明細書および添付の請求項で使用されるように、単数形「a」、「an」、および「the」は、文脈によって明確に別様に示されない限り、複数参照を含む。したがって、例えば、「ユーザ」の言及は、1人またはそれを上回るそのようなユーザを含み、「プロセッサ」の言及は、1つまたはそれを上回るプロセッサおよび当業者に公知のその均等物等の言及を含む。
【0246】
また、単語「comprise(~を備える)」、「comprising(~を備える)」、「contains(~を含有する)」、「containing(~を含有する)」、「include(~を含む)」、「including(~を含む)」、および「includes(~を含む)」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定するために意図されるが、それらは、1つまたはそれを上回る他の特徴、整数、コンポーネント、ステップ、行為、または群の存在または追加を除外するものではない。
【0247】
また、本明細書に説明される実施例および実施形態は、例証目的のみのためのものであって、それに照らして、種々の修正または変更が、当業者に示唆され、本願の精神および権限および添付の請求項の範囲内に含まれることを理解されたい。
【国際調査報告】