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

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

▶ アシーア インコーポレイテッドの特許一覧

特開2024-133567面限定制御用に自由空間入力を適用する方法および装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024133567
(43)【公開日】2024-10-02
(54)【発明の名称】面限定制御用に自由空間入力を適用する方法および装置
(51)【国際特許分類】
   G06F 3/01 20060101AFI20240925BHJP
【FI】
G06F3/01 570
【審査請求】有
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2024107149
(22)【出願日】2024-07-03
(62)【分割の表示】P 2022180924の分割
【原出願日】2016-05-16
(31)【優先権主張番号】14/713,971
(32)【優先日】2015-05-15
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.アンドロイド
2.WINDOWS
3.BLACKBERRY
4.iOS
(71)【出願人】
【識別番号】516385295
【氏名又は名称】アシーア インコーポレイテッド
【氏名又は名称原語表記】Atheer, Inc.
【住所又は居所原語表記】2350 Mission College Blvd,Suite 1200,Santa Clara,CA 95054(US)
(74)【代理人】
【識別番号】100180781
【弁理士】
【氏名又は名称】安達 友和
(72)【発明者】
【氏名】カンダダイ,シャシュワット
(72)【発明者】
【氏名】アバクロンビー,ネイサン
(72)【発明者】
【氏名】チェン,ユ‐シアン
(72)【発明者】
【氏名】アイタニ,スレイマン
(57)【要約】      (修正有)
【課題】面限定制御用に自由空間入力を適用する方法および装置を提供する。
【解決手段】自由空間入力基準がプロセッサにインスタンス化される。自由空間入力が感知され、プロセッサに通知される。自由空間入力が自由空間入力基準を満たす場合、タッチスクリーン入力反応がオペレーティングシステムに呼び出される。自由空間入力は、連続暗黙的、離散暗黙的、能動明示的、または受動明示的アプローチを用いて感知することができる。タッチスクリーン入力反応は、オペレーティングシステムへの、またはオペレーティングシステム内での仮想タッチスクリーン入力、仮想入力事象、または仮想コマンドの送信を通じて呼び出すことができる。このようにして、自由空間ジェスチャは、既存のタッチスクリーンインタフェースおよびデバイスを直接変更することなく、自由空間ジェスチャを受け入れるように該インタフェースとデバイスを制御することができる。
【選択図】図10
【特許請求の範囲】
【請求項1】
プロセッサによって、物理的タッチスクリーン入力をシュミレートするように構成された無制限の3次元空間における手の動作についての第1の基準を含む自由空間入力基準を受け付けることと、
センサによって、自由空間入力を感知することと、
前記プロセッサによって、ヘッドマウントデバイスを装着したユーザの手による前記自由空間入力を示す第1のデータセットを受信することと、を備え、
前記ヘッドマウントデバイスは、拡張現実デバイス又は仮想現実デバイスであり、
前記自由空間入力が前記自由空間入力基準を満たす場合、
前記プロセッサによって、前記自由空間入力から仮想面限定入力を生成し、前記仮想面限定入力は、タッチスクリーン入力を受け付けるように構成されたコンピュータプログラムにおいてタッチスクリーンコマンドを実行するように構成された面限定入力に対応する面限定入力基準に従い、前記面限定入力は、
物理的タッチスクリーンから受け付けられたコンピュータ命令入力を表すデータと、
物理的タッチスクリーンから物理的タッチスクリーン命令事象を表すデータと、
物理的タッチスクリーン入力に応じて実行されるコマンドを表すデータと、
のいずれか一つを含み、そして、
前記面限定入力を、データエンティティに送られたタッチスクリーン入力への反応を呼び出すように構成されたデータエンティティに通知し、前記データエンティティが面限定入力に対応する反応を実行する、方法。
【請求項2】
前記データエンティティがオペレーティングシステムを含む、請求項1に記載の方法。
【請求項3】
前記データエンティティが前記プロセッサにインスタンス化される、請求項1に記載の方法。
【請求項4】
前記自由空間入力が3次元入力を含む、請求項1に記載の方法。
【請求項5】
前記自由空間入力が手のポーズと手のジェスチャのうち少なくとも1つを含む、請求項1に記載の方法。
【請求項6】
前記仮想面限定入力を前記データエンティティに通知することが、仮想面限定入力リンクを設定することと、前記データエンティティへの前記仮想面限定入力リンクを実際の面限定入力源として特定することと、を備える、請求項1に記載の方法。
【請求項7】
前記仮想面限定入力が仮想タッチスクリーン入力を含む、請求項1に記載の方法。
【請求項8】
前記仮想面限定入力が仮想タッチダウン入力を含む、請求項1に記載の方法。
【請求項9】
前記仮想面限定入力が仮想タッチダウンおよびスワイプ入力を含む、請求項1に記載の方法。
【請求項10】
前記仮想面限定入力が、タッチスクリーン上のタッチダウンおよびスワイプに略対応する、ある期間にわたるxおよびy座標と圧力とを含む、請求項1に記載の方法。
【請求項11】
前記自由空間入力を考慮して前記仮想面限定入力を生成することを備える、請求項1の方法。
【請求項12】
前記仮想面限定入力が、前記自由空間入力を対応する面限定形式に変換することを備える、請求項11に記載の方法。
【請求項13】
前記反応で装置を制御することを備える、請求項1に記載の方法。
【請求項14】
ヘッドマウントディスプレイのプロセッサによって、物理的タッチスクリーン入力をシュミレートするように構成された自由空間における手のジェスチャの速さ、速度、方向、加速度、関節角度、指区切り、指拡張、指選択のうちの少なくとも1つに関する基準を備える自由空間入力基準を受け付けることと、
前記ヘッドマウントディスプレイの深度撮像装置によって、ある期間にわたって、前記手のジェスチャの自由空間入力の複数の深度画像を感知することと、
前記プロセッサによって、ヘッドマウントディスプレイを装着したユーザの手による前記自由空間入力を示す第1のデータセットを受信することと、を備え、
前記ヘッドマウントディスプレイは、拡張現実デバイス又は仮想現実デバイスであり、
前記自由空間入力が前記自由空間入力基準を満たす場合、
前記プロセッサによって、仮想タッチスクリーンタッチダウンおよびスワイプ入力である仮想面限定入力を生成し、前記仮想面限定入力は、タッチスクリーン入力を受け付けるように構成されたコンピュータプログラムにおいてタッチスクリーンコマンドを実行するように構成された面限定入力に対応する面限定入力基準に従い、前記面限定入力は、
物理的タッチスクリーンから受け付けられたコンピュータ命令入力を表すデータと、
物理的タッチスクリーンから物理的タッチスクリーン命令事象を表すデータと、
物理的タッチスクリーン入力に応じて実行されるコマンドを表すデータと、
のいずれか一つを含み、
前記プロセッサによって、前記仮想面限定入力を、オペレーティングシステムに送られたタッチスクリーン入力への反応を呼び出すように構成されたオペレーティングシステムに通知して、前記オペレーティングシステムがそれに対する反応を実行し、そして、
前記プロセッサによって、前記反応を用いて前記ヘッドマウントディスプレイを制御する、方法。
【請求項15】
装置であって、
プロセッサに、物理的タッチスクリーン入力をシュミレートするように構成された3次元空間における手の動作についての第1の基準を含む自由空間入力基準を設定する手段と、
自由空間入力を感知する手段と、
前記自由空間入力が前記自由空間入力基準を満たすか否かを判定し、前記プロセッサに仮想面限定入力を生成し、前記仮想面限定通信をデータエンティティに通知し、前記データエンティティが前記仮想面限定通信に対応する反応を実行する手段と、を備え、
前記仮想面限定入力は、タッチスクリーン入力を受け付けるように構成されたコンピュータプログラムにおいてタッチスクリーンコマンドを実行するように構成された面限定入力に対応する面限定入力基準に従い、
前記面限定入力は、
物理的タッチスクリーンから受け付けられたコンピュータ命令入力を表すデータと、
物理的タッチスクリーンから物理的タッチスクリーン命令事象を表すデータと、
物理的タッチスクリーン入力に応じて実行されるコマンドを表すデータと、
のいずれか一つを含み、
前記仮想面限定通知を、前記データエンティティに送られたタッチスクリーン入力への反応を呼び出すように構成されたデータエンティティに通知して、前記データエンティティが前記仮想面限定通信に対応する反応を実行する、装置。
【請求項16】
装置であって、
プロセッサと、
前記プロセッサと通信するセンサと、
前記プロセッサにインスタンス化される自由空間入力基準であって、物理的タッチスクリーン入力をシュミレートするように構成された無制限の3次元空間における手の動作についての第1の基準を含む自由空間入力基準と、
前記プロセッサにインスタンス化され、自由空間入力と前記自由空間入力基準とを比較するように構成される自由空間入力比較手段と、
前記プロセッサにインスタンス化され、仮想面限定入力を生成するように構成される仮想面限定通信生成手段と、
を備え、前記仮想面限定入力は、タッチスクリーン入力を受け付けるように構成されたコンピュータプログラムにおいてタッチスクリーンコマンドを実行するように構成された面限定入力に対応する面限定入力基準に従い、
前記面限定入力は、
物理的タッチスクリーンから受け付けられたコンピュータ命令入力を表すデータと、
物理的タッチスクリーンから物理的タッチスクリーン命令事象を表すデータと、
物理的タッチスクリーン入力に応じて実行されるコマンドを表すデータと、
のいずれか一つを含み、
前記プロセッサにインスタンス化され、前記面限定入力を、データエンティティに送られたタッチスクリーン入力への反応を呼び出すように構成されたデータエンティティに通信し、前記データエンティティが面限定入力に対応する反応を実行する通信手段を更に備える、装置。
【請求項17】
前記プロセッサと前記センサがヘッドマウントディスプレイに配置される、請求項16に記載の装置。
【請求項18】
前記センサが深度撮像装置を備える、請求項16に記載の装置。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2015年5月15日に提出された米国特許第14/713,971号に優先権を主張し、言及によりその全内容を本明細書に組み込む。
【0002】
本開示は、ポーズおよび/またはジェスチャを用いて電子デバイスを制御することに関する。特に、本開示は、自由空間(たとえば、略無制限および/または3次元)ポーズ、ジェスチャ、および/またはその他の入力を用いて、面限定入力機能を呼び出し、それに反応するように構成されるデバイスを制御することに関する。
【背景技術】
【0003】
入力は、面に限定される操作によって、たとえば、いわゆる「タッチスクリーン」インタフェースの使用によって行うことができる。タッチスクリーンは、ビジュアルディスプレイにかぶせる接触感知面を組み込む。このような構成により、ユーザは、物理的接触、たとえば、指先端でタッチスクリーンにタッチし、指先端をタッチスクリーンに接触させたまま移動させることによって入力を行うことができる、
【0004】
タッチスクリーンとの様々な個々の接触またはセットの接触は、タッチスクリーンと通信するデバイスまたはシステムの特定の機能に対応するように割り当てることができる。たとえば、指先端でスクリーンにタッチし、指先端をタッチスクリーンに接触させたまま右方にスライドさせ、指先端をタッチスクリーンの面から離して持ち上げることは、まとめて「右方スワイプ」と称することができ、たとえば「スクリーンのコンテンツを右に移動させる」といった機能と関連付けられる。
【0005】
しかしながら、物理的接触入力および/または面限定入力は、すべての状況で望ましいわけではない。たとえば、少なくとも特定の事例では、タッチスクリーンの汚染や損傷の可能性、入力を行いながら物理的スクリーンを保持する困難さなどの懸念が存在するかもしれない。また、タッチスクリーンは通常、有限の2次元面で行うことができる入力のみを受けることに限定される。
【発明の概要】
【0006】
実施形態は、面限定制御用に自由空間入力を適用する様々なシステム、装置、方法、パラダイムに関する。
【0007】
一実施形態では、該方法は、プロセッサに自由空間入力基準を設定することと、センサを用いて自由空間入力を感知することと、自由空間入力をプロセッサに通知することとを含む方法が提供される。自由空間入力が自由空間入力基準を満たす場合、面限定入力の面限定入力反応がプロセッサに呼び出される。
【0008】
自由空間入力基準は3次元入力基準とすることができる。自由空間入力基準はジェスチャ基準および/またはポーズ基準とすることができる。自由空間入力基準は、自由空間でのエンドエフェクタの動作基準を含むことができる。
【0009】
面限定入力はタッチスクリーン入力、タッチダウン、および/またはタッチダウンおよびスワイプを含むことができる。
【0010】
自由空間入力を感知することは、前記自由空間入力を撮像、ステレオ撮像、ビデオ撮像、深度撮像することを含み、ある期間にわたり評価することを含み、ある期間にわたり時間間隔で複数の画像を評価することを含むことができる。
装置は面限定入力反応を用いて制御することができる。
【0011】
自由空間入力基準は、自由空間入力に関するエンドエフェクタに対してまとめて検討される少なくとも1つのエンドエフェクタの複数のエンドエフェクタ基準を含むことができる。自由空間入力基準は、たとえば、速さ、速度、位置、配向、方向、加速度、関節角度、エンドエフェクタの分離、伸長、および/または選択に関する各種基準を含むことができる。
【0012】
自由空間入力基準は、ある期間にわたる経路形状、速度、加速、関節位置を考慮に入れた、伸ばした指による側方スワイプのプロファイルを含むことができる。自由空間入力基準は、各種基準、たとえば、速さ、速度、位置、配向、方向、加速度、関節角度、エンドエフェクタの分離、伸長、および/または選択に関する基準を含むことができる。
【0013】
自由空間入力基準は、少なくとも第1および第2の副基準に関して連続的に検討されるエンドエフェクタの複数のエンドエフェクタ動作基準を含むことができ、第1の副基準は面限定入力の第1の部分に対応し、第2の副基準は面限定入力の第2の部分に対応し、第1および第2の部分は自由空間入力に関して連続的に検討される。
【0014】
自由空間入力基準は境界領域に接触するエフェクタに関する基準を含むことができ、境界領域に接触するエンドエフェクタは面限定入力の限定面との接触に相当する。
【0015】
境界領域は、球状外殻、平坦面、および/または直線状立体を含むことができる。境界領域は、物理的対象の面と少なくとも略整合させることができる。自由空間入力基準は、エンドエフェクタの速さ、速度、位置、配向、方向、加速、関節角度、分離、拡張、および/または選択に関する基準を含むことができる。
【0016】
自由空間入力基準は、エンドエフェクタとエンドエフェクタの動作と略同時である表示とに関する複数のエンドエフェクタ動作基準を含むことができる。表示は、手のポーズ、手のジェスチャ、目のポーズ、目のジェスチャ、および/または音声コマンドを含むことができる。自由空間入力基準は、エンドエフェクタの速さ、速度、位置、配向、方向、加速、関節角度、分離、拡張、および/または選択に関する基準を含むことができる。
【0017】
自由空間入力基準は複数の状態基準を含むことができる。状態基準は組み合わされて複数の自由空間入力基準を形成するように構成することができ、各自由空間入力基準が1つの自由空間入力に対応する。各状態基準はエンドエフェクタの動作基準を含むことができる。
【0018】
別の実施形態では、プロセッサに自由空間入力基準を設定する手段と、センサを用いて自由空間入力を感知する手段と、自由空間入力をプロセッサに通知する手段とを含む装置が提供される。装置は、自由空間入力が自由空間入力基準を満たす場合、面限定入力に対する面限定入力反応をプロセッサに呼び出す手段をさらに含む。
【0019】
別の実施形態では、実行可能な命令を実行するように構成されるプロセッサと、プロセッサと通信するセンサとを含む装置が提供される。該装置は、プロセッサにインスタンス化される自由空間入力基準と、プロセッサにインスタンス化され、自由空間入力と自由空間入力基準を比較する自由空間入力比較手段とを含む。該装置は、プロセッサにインスタンス化され、面限定入力に対する面限定入力反応をプロセッサに呼び出すように構成される面限定入力反応呼出し手段をさらに含む。
【0020】
プロセッサとセンサはヘッドマウントディスプレイに配置することができる。
【0021】
別の実施形態では、プロセッサに自由空間入力基準を設定することと、センサを用いて自由空間入力を感知することと、自由空間入力をプロセッサに通知することとを含む方法が提供される。該方法は、プロセッサに面限定通信を生成することと、面限定通信をデータエンティティに通知することとを含み、自由空間入力が自由空間入力基準を満たす場合、データエンティティは面限定入力と対応する反応を実行する。
【0022】
データエンティティはオペレーティングシステムを含むことができる、および/または、プロセッサにインスタンス化することができる。
【0023】
自由空間入力は3次元入力を含むことができる、および/または手のポーズおよび/または手のジェスチャを含むことができる。
【0024】
該方法は、プロセッサに仮想面限定入力を生成することと、仮想面限定入力をデータエンティティに通知することとを含むことができ、自由空間入力が自由空間入力基準を満たす場合、データエンティティは仮想面限定入力を面限定入力として受け入れ、面限定入力に対応する反応を実行する。仮想面限定入力をデータエンティティに通知することは、仮想面限定入力リンクを設定することと、データエンティティへの仮想面限定入力リンクを実際の面限定入力源として特定することとを含むことができる。
【0025】
仮想面限定入力は仮想タッチスクリーン入力を含むことができる。仮想面限定入力は仮想タッチダウン入力を含むことができる。仮想面限定入力は仮想タッチダウンおよびスワイプ入力を含むことができる。仮想面限定入力は、ある期間にわたる、タッチスクリーン上のタッチダウンおよびスワイプと略対応する少なくともxおよびy座標と圧力とを含むことができる。
【0026】
該方法は、前記自由空間入力を考慮して仮想面限定入力を生成することを含むことができる。仮想面限定入力は、自由空間入力を対応する面限定形式に変換することを含むことができる。該方法は、自由空間入力を除いて仮想面限定入力を生成することを含むことができる。
【0027】
該方法は、プロセッサにデータエンティティに関する仮想面限定入力事象を生成することと、仮想面限定入力事象をデータエンティティに通知することとを含むことができ、自由空間入力が自由空間入力基準を満たす場合、データエンティティは仮想面限定入力事象を面限定入力事象として受け入れ、面限定入力事象に対応する反応を実行する。仮想面限定入力事象をデータエンティティに通知することは、仮想事象リンクを設定することと、データエンティティへの仮想事象リンクを実際の事象源として特定することとを含むことができる。
【0028】
仮想面限定入力事象は、仮想タッチスクリーン入力事象、仮想タッチダウン入力事象、および/または仮想タッチダウンおよびスワイプ入力事象を含むことができる。
【0029】
該方法は、プロセッサにデータエンティティに対する仮想コマンドを生成することと、仮想コマンドをデータエンティティに通知することとを含むことができ、自由空間入力が自由空間入力基準を満たす場合、データエンティティが仮想コマンドをコマンドとして受け入れ、コマンドに対応する反応を実行する。仮想コマンドを前記データエンティティに通知することが、仮想コマンドリンクを設定することと、データエンティティへの仮想コマンドリンクを実際のコマンド源として特定することとを含むことができる。
【0030】
仮想コマンドは仮想タッチスクリーンコマンド、仮想タッチダウンコマンド、および/または仮想タッチダウンおよびスワイプコマンドを含むことができる。
【0031】
該方法は、反応を用いて装置を制御することを含むことができる。
【0032】
別の実施形態では、ヘッドマウントディスプレイのプロセッサに、自由空間における手ジェスチャの速さ、速度、方向、加速、関節角度、指区切り、指拡張、および/または指選択に関する基準を含む自由空間入力基準を設定することを含む方法が提供される。該方法は、ヘッドマウントディスプレイの深度撮像装置を用いて、ある期間にわたる手のジェスチャの自由空間入力の複数の深度画像を感知することと、自由空間入力をプロセッサに通知することとを含む。自由空間入力が前記自由空間入力基準を満たす場合、プロセッサに仮想タッチスクリーンタッチダウンおよびスワイプ入力が生成され、仮想タッチスクリーンタッチダウンおよびスワイプ入力がオペレーティングシステムに通知されて、オペレーティングシステムがそれに対する反応を実行し、その反応でヘッドマウントディスプレイを制御する。
【0033】
別の実施形態では、プロセッサに自由空間入力基準を設定する手段と、自由空間入力を感知する手段と、自由空間入力をプロセッサに通知する手段とを含む装置が提供される。該装置は、自由空間入力が自由空間入力基準を満たす場合、仮想面限定通信をプロセッサに生成し、面限定通信をデータエンティティに通知して、データエンティティが通信に対応する反応を実行することをさらに含む。
【0034】
別の実施形態では、プロセッサと、プロセッサと通信するセンサとを含む装置が提供される。該装置は、プロセッサにインスタンス化される自由空間入力基準と、プロセッサにインスタンス化され、自由空間入力と自由空間入力基準を比較するように構成される自由空間入力比較手段とを含む。該装置は、プロセッサにインスタンス化され、面限定通信を生成するように構成される仮想面限定通信生成手段と、プロセッサにインスタンス化され、面限定通信をデータエンティティに通知するように構成されてデータエンティティが面限定入力に対応する反応右を実行する通信手段とをさらに含む。
【0035】
プロセッサとセンサはヘッドマウントディスプレイに配置することができる。センサは深度撮像装置を含むことができる。
【図面の簡単な説明】
【0036】
全図面を通じて類似の参照符号は概して対応する構成要素を表す。
【0037】
図1A図1Aは、右方スワイプの形式のタッチスクリーン入力の例を示す上面図である。
図1B図1Bは、右方スワイプの形式のタッチスクリーン入力の例を示す斜視図である。
【0038】
図2A図2Aは、タッチスクリーン入力における個々の事象を示す斜視図である。
図2B図2Bは、タッチスクリーン入力における個々の事象を示す斜視図である。
図2C図2Cは、タッチスクリーン入力における個々の事象を示す斜視図である。
図2D図2Dは、タッチスクリーン入力における個々の事象を示す斜視図である。
【0039】
図3図3は、自由空間入力に関する例示の構成を示す上面図である。
【0040】
図4A図4Aは、自由空間入力に関する別の例示の構成を示す前面斜視図である。
図4B図4Bは、自由空間入力に関する別の例示の構成を示す後面斜視図である。
【0041】
図5図5は、自由空間入力に関する例示の最初の手の位置を示す斜視図である。
【0042】
図6図6は、連続暗黙的形式で面限定入力を呼び出す自由空間入力の例示の構成を示す図である。
【0043】
図7図7は、基準において検討することができる除外現象の1例を示す自由空間入力に関する例示の構成を示す図である。
【0044】
図8図8は、基準において検討することができる除外現象の別の例を示す自由空間入力に関する別の例示の構成を示す図である。
【0045】
図9図9は、離散暗黙的形式で面限定入力を呼び出す自由空間入力の例示の構成を示す図である。
【0046】
図10図10は、受動明示的形式で面限定入力を呼び出し、境界面を組み込む自由空間入力の構成を示す図である。
【0047】
図11A図11Aは、受動明示的形式で面限定入力を呼び出し、境界立体を組み込む自由空間入力の構成を示す図である。
図11B図11Bは、受動明示的形式で面限定入力を呼び出し、境界立体を組み込む自由空間入力の構成を示す図である。
図11C図11Cは、受動明示的形式で面限定入力を呼び出し、境界立体を組み込む自由空間入力の構成を示す図である。
図11D図11Dは、受動明示的形式で面限定入力を呼び出し、境界立体を組み込む自由空間入力の構成を示す図である。
【0048】
図12A図12Aは、能動明示的形式で面限定入力を呼び出す自由空間入力の構成を示す図である。
図12B図12Bは、能動明示的形式で面限定入力を呼び出す自由空間入力の構成を示す図である。
図12C図12Cは、能動明示的形式で面限定入力を呼び出す自由空間入力の構成を示す図である。
図12D図12Dは、能動明示的形式で面限定入力を呼び出す自由空間入力の構成を示す図である。
【0049】
図13図13は、面限定制御に自由空間入力を適用する例示の方法を示すフローチャートである。
【0050】
図14図14は、連続暗黙的アプローチを用いて面限定制御に自由空間入力を適用する別の例示の方法を示すフローチャートである。
【0051】
図15A図15Aは、離散暗黙的アプローチを用いて面限定制御に自由空間入力を適用する別の例示の方法を示すフローチャートである。
図15B図15Bは、離散暗黙的アプローチを用いて面限定制御に自由空間入力を適用する別の例示の方法を示すフローチャートである。
【0052】
図16図16は、連続暗黙的アプローチを用いて自由空間入力を感知する例示の構成を示す斜視図である。
【0053】
図17図17は、離散暗黙的アプローチを用いて自由空間入力を感知する別の例示の構成を示す斜視図である。
【0054】
図18図18は、受動明示的アプローチを用いて面限定制御に自由空間入力を適用する別の例示の方法を示すフローチャートである。
【0055】
図19図19は、能動明示的アプローチを用いて面限定制御に自由空間入力を適用する別の例示の方法を示すフローチャートである。
【0056】
図20図20は、面限定制御に自由空間入力を適用し、仮想入力を通じて反応を延びだす例示の方法を示すフローチャートである。
【0057】
図21図21は、面限定制御に自由空間入力を適用し、ヘッドマウントディスプレイへの仮想入力を通じて反応を呼び出す例示の方法を示すフローチャートである。
【0058】
図22図22は、面限定制御に自由空間入力を適用し、ヘッドマウントディスプレイへの仮想事象を通じて反応を呼び出す例示の方法を示すフローチャートである。
【0059】
図23図23は、面限定制御に自由空間入力を適用し、ヘッドマウントディスプレイへの仮想コマンドを通じて反応を呼び出す例示の方法を示すフローチャートである。
【0060】
図24A図24Aは、離散暗黙的アプローチを用いて面限定制御に自由空間入力を適用し、ヘッドマウントディスプレイへの仮想コマンドを通じて反応を呼び出す例示の方法を示すフローチャートである。
図24B図24Bは、離散暗黙的アプローチを用いて面限定制御に自由空間入力を適用し、ヘッドマウントディスプレイへの仮想コマンドを通じて反応を呼び出す例示の方法を示すフローチャートである。
【0061】
図25図25は、装置の例示の実施形態を示す概略図である。
【0062】
図26図26は、追加の構成要素を備えた装置の別の例示の実施形態を示す概略図である。
【0063】
図27図27は、装置の例示の実施形態を示す概略図である。
【0064】
図28図28は、操作を実行することができる処理システムのブロック図である。
【発明を実施するための形態】
【0065】
本開示の各種実施形態は、自由空間入力を使用して、面限定入力を呼び出すこと、たとえば、空間での3次元ジェスチャを使用して、タッチスクリーン入力に対応付けられるコマンドを何らかの形で実行させることに対処する。したがって、たとえばタッチスクリーンの「右方スワイプ」入力を用いて、面限定入力の具体的な特性を考えることが鍵となるであろう。特定のタッチスクリーンおよび/またはタッチスクリーンによって制御されるデバイス(スマートフォン、タブレットコンピュータなど)への入力として適用される右方スワイプは、たとえば、表示されるコンテンツを右に移動させる、電子ブックの「ページをフリップする」、あるいは他の機能を実行することができる。
【0066】
図1Aは、右方スワイプの形式でタッチスクリーンを通じて提供される入力の上面図である。図示されるように、右方スワイプの場合、手104Aは動作矢印106A(明瞭化のために図示するが、実際には必ずしも可視とは限らない)によって示されるように左から右へ移動し、その間、手104Aはタッチスクリーン102Aと接触している。図1Aの構成に示すように、タッチスクリーン102Aはタブレットコンピュータの一部であるが、これは単に1例である。
【0067】
次に、図1Bも類似の右方スワイプを示し、これはタッチスクリーン102Bのわずか上方前方から見た斜視図である。ここでも、図示されるように、手104Bはタッチスクリーン102Bに接触しており(より具体的には、伸ばした人差し指の先端がタッチスクリーン102Bに接触している)、動作矢印106Bによって示されるように左から右へ移動する(閲覧者から見て左から右、斜視図では右から左)。
【0068】
純粋に動作として考えると、右方スワイプは左から右の動作で性質上シンプルに見える。しかしながら、実際には、タッチスクリーンインタフェースを介して提供される入力は必ずしも単なる動作とは限らない。通常、オペレーティングシステムとその他のプログラムまたはタッチスクリーンをサポートする実行可能な命令は、タッチスクリーン入力をいくつかの別個の事象として対処する。図2A図2Dは、右方スワイプとして存在し得る特定事象の例示の内訳を示す。しかしながら、図2A図2Dに示す事象は必ずしも網羅的ではなく、特定のタッチスクリーンインタフェースに対する追加のおよび/または異なる事象も検討することができると理解すべきである。さらに、右方スワイプは多くの起こり得る入力のうちの1つにすぎず、他の入力も他の事象を検討することができる。
【0069】
次に、図2Aはタッチスクリーン202Aの別の斜視図である。図2Aの構成は、右方スワイプがタッチスクリーンに入力される前の初期状態を表し、手204Aはタッチスクリーン202Aの上方にとどまり、図示される時点では、手204Aとタッチスクリーン202Aとは接触していない。
【0070】
引き続き図2Bを参照すると、図2Aとの比較から分かるように、手204Bはタッチスクリーン202Bの方に下降して、タッチスクリーン202Bに接触している。また、下方動作は動作矢印206Bからも分かる。また、図2Bは、手204Bとタッチスクリーン202Bとの接触点を表す接触マーカ208Bも示す。今の時点では、手204Bによるタッチスクリーン202Bの面を横断する左から右への動作は行われていない。
【0071】
接触マーカ208Bは、手204Bとタッチスクリーン202Bとの間に実際に接触が存在することを強調するために示される(接触マーカ208Bは例であり、実際には見えない場合もある)。通常、接触は、タッチスクリーン202Bの面を横断する動作を追跡する方法というだけでなく、それ自体入力事象としてタッチスクリーン入力では非常に重要である。この重要性については、図2の残りを参照してより詳細に扱う。
【0072】
次に、図2Cを参照すると、図2Bとの比較から分かるように、手204Cは、タッチスクリーン202Cの面に接触しながら、面を(閲覧者から見て)左から右に横断して移動する。左から右への動作は動作矢印206Cからも分かる。図示され接触マーカ208Cで強調されるように、手204Cはタッチスクリーン202Cと接触したままであり、動作矢印206Cに示す動作中、タッチスクリーン202Cとの接触を維持する。
【0073】
引き続き図2Dを参照すると、図2Cとの比較から分かるように、手204Dはタッチスクリーン202Dの面から上方に移動したため、もはやタッチスクリーン202Dに接触していない。上方動作は動作矢印206Dからも分かる。手204Dとタッチスクリーン202Dとの最後の接触点を示す接触マーカ208Dを例示のために示すが、上記接触はもはや継続していない。
【0074】
「右方スワイプ」という文言は右方動作を明示するが、実際上、右方スワイプは複数の事象から成る場合がある。たとえば、図2A図2Dにまとめて示すように、右方スワイプは、たとえば、図2Bに示すように接触点208Bでタッチスクリーン202Bと接触する手204Bを表すタッチダウン事象と、図2Cに示すように接触マーカ208Cでタッチスクリーン202Cとの接触を維持しつつ、手204Cがタッチスクリーン202Cを横断して移動するスワイプ動作を表すスワイプ事象と、手204Dが前の接触点208Dからタッチスクリーン202Dとの接触を離れるリフトオフ事象とを組み込むものとして概念化することができる。
【0075】
図2A図2Dに示す構成は単なる例であるが、通常、タッチスクリーンは入力を受け取る際に同様の複数の事象構成を実際に利用することができる。すなわち、タッチスクリーンは、タッチダウン事象とスワイプ事象(および/またはリフトオフ事象など)の両方を必要とすることがある。上記事象は個々に感知し、プロセッサ(および/またはオペレーティングシステムまたはオペレーティングシステム上でインスタンス化されるその他のプログラム)によって別々に処理することができるため、タッチダウン事象、リフトオフ事象、またはその両方が存在しない場合(あるいは、何らかの形でスワイプに適切に関連付けられない場合)、スワイプ事象のみではスワイプ入力として認識されないことがある。
【0076】
よって、たとえスワイプ動作自体が会話の観点でスワイプと「定義する」ようにみなされるとしても、実行の観点からは、スワイプ入力はタッチダウンおよび/またはリフトオフ事象などの1以上の追加の事象を必要とすることがある。通常、これは実際上の検討事項とすることができ、他の入力やノイズなどからスワイプを確実に区別するためには、スワイプの明確な開始(タッチダウン)および/または明確な終了(リフトオフ)を必要とすることが有効であり得る。
【0077】
上述したように、各種実施形態は、自由空間入力を用いて面限定入力を呼び出すことに対処する。引き続き図2A図2Dの例を参照すると、3次元手スワイプジェスチャを用いて、プロセッサ、プロセッサ制御デバイス、システムなどに、プロセッサによってタッチスクリーンへのスワイプ入力と関連付けられる機能を実行させることを含むことができる。
【0078】
上記構成の少なくとも特定の利点は、タッチスクリーンおよびその他の面限定入力インタフェースに関する既存のハードウェア、ソフトウェア、ノウハウなどを、新たなデバイス、インタフェース、入力および制御方法などに適用することができることに関連する。
【0079】
たとえば、タッチスクリーンからの入力を受け入れるように既に構成されたスマートフォンなどの電子デバイスについて検討する。このようなデバイスは、プロセッサにインスタンス化されるアンドロイドOSなどのオペレーティングシステムを少なくとも部分的に通じて動作させることができる。具体的な例としてアンドロイドの場合、スワイプなどのタッチスクリーン入力を認識し、ジェスチャを構成する事象(たとえば、上述の右方スワイプの場合はタッチダウン、スワイプなど)を感知し、上記タッチスクリーン入力に反応してアンドロイドを実行する装置内の各種コマンドおよび/またはその他の機能を実行するためのサポートが既に存在している。
【0080】
同様に、タッチスクリーンからの入力を受け入れるように構成される電子デバイスの存在を前提とすると、オペレーティングシステム以外の追加のプログラム、プラグイン、データファイルなどの実体も、上記デバイスと共に利用可能である。ここでもアンドロイドを具体例として考えると、メディアプレーヤ、ゲーム、メッセージアプリケーション、ビデオ会議プログラムなどを含むことができる。
【0081】
通常、タッチスクリーン入力を受け入れるデバイスまたはシステムと共に利用可能に構成されるオペレーティングシステムおよび/またはその他のプログラムは、上記タッチスクリーン入力を認識し、受信し、それに反応する機能を含むことができる。しかしながら、通常、上記オペレーティングシステムおよび/またはその他のプログラムは、新たなアプローチを使用して、自由空間内のジェスチャなどの入力を受け入れるように構成することができない。
【0082】
日常的には、既存のスマートフォンは手のジェスチャに反応することができない。たとえスマートフォンが原則的に、手のジェスチャ入力を感知するカメラなどの適切なセンサを有していたとしても、このことは当てはまる。上記センサを有していたとしても、スマートフォン(またはその他のデバイスまたはシステム)は、たとえば上記ジェスチャを明確な入力として識別する機能、および/または仮に認識されても上記ジェスチャに反応する適切な命令を欠いている。
【0083】
各種実施形態は、自由空間ジェスチャを識別することと、入力として使用できるように上記ジェスチャを通知することの少なくとも2つの課題に対処する機能をサポートしている。これらが必ずしも唯一の機能または利点を表すとは限らないが、以下詳述する例では両方の課題が対処される。
【0084】
タッチスクリーン入力デバイスおよびシステムが自由空間ジェスチャを受け入れることができるように上記の問題に対処するうえで、さまざまな利点がもたらされる。たとえば、自由空間ジェスチャ入力を受け入れる電子デバイス用の新たなオペレーティングシステムを書き込むこと、および/または自由空間ジェスチャ入力を可能にするようにオペレーティングシステムを変更することは、重大な問題を呈する場合がある。通常、オペレーティングシステムを作成する、および/またはオペレーティングシステムに大きな変更を加えることは、費用と時間がかかり、バグを伴う可能性があることが周知である。同様に、自由空間入力を受け入れるように個々のプログラムを書く、あるいは改作することも問題をはらんでいる。各種実施形態によると、自由空間入力を伴って既存のコード、オペレーティングシステム、プログラム、ライブラリ、プラグインならびに既存のハードウェアを使用することができる。これにより、時間、手間、費用などが節減され、既存のソフトウェアの大半の継続的使用も簡易化される(すなわち、「旧バージョン互換性」)。
【0085】
さらに、なじみのタッチスクリーン入力と類似する、あるいはその他の形で対応する自由空間ジェスチャが何らかの方法で使用される場合、ユーザはより容易に、自由空間ジェスチャの使用に順応することができる。より具体的な例として、自由空間における左から右へのスワイプジェスチャが類似または同等の物理的動作および/またはそれに対する類似または同等のシステムの反応で、タッチスクリーン上の左から右へのスワイプを表すようにされる場合、ユーザはより容易に入力としての自由空間ジェスチャに順応することができる。ユーザの観点からは、ユーザは「同じことをして」(少なくともユーザに関する限り)、タッチスクリーン入力でデバイスまたはシステムを制御するように、自由空間ジェスチャでデバイスまたはシステムを制御することができる。実際、入力を扱う方法は、タッチスクリーン入力と自由空間ジェスチャとでは全く異なっているが、ユーザに関する限り、明白な類似性がある場合、ユーザは自由空間ジェスチャ入力を採用することへの障壁を低減させることができる。
【0086】
上述したように、各種実施形態は、自由空間ジェスチャを識別可能にすることと、ジェスチャに反応して既存の機能を呼び出すこととを含むが、それらに限定されない機能を提供する。前者の機能を以下説明し、後者の機能は後でより詳細に説明する。
【0087】
図2A図2Dを参照して上述したように、通常、タッチスクリーンなどの面限定入力アプローチは、指と物理的タッチパッド面との実際の接触に対応する事象の感知に頼ることができる。よって、右方スワイプの認識は、タッチダウン事象と、面との接触動作とを記録することを含むことができる(リフトオフなどのその他の事象を記録することも含むことができる)。一般的には、手のポーズやジェスチャなどの自由空間入力の場合、物理面は存在しない。よって、特定の事象、特に物理的接触を含む事象は自由空間ジェスチャでは発生しないし、通常は発生し得ないため、自由空間右方スワイプジェスチャを、タッチスクリーン右方スワイプジェスチャに対応する入力として認識することは困難である。
【0088】
より口語的には、この問題は、人はタッチスクリーンにタッチしないとき、タッチスクリーンスワイプを、明白に類似する自由空間スワイプで置き換えるだろうかという問いとして考えることができる。
【0089】
タッチスクリーン入力と同様な機能を果たすことができるように自由空間ジェスチャ入力を識別するアプローチのいくつかの例を、以下例示し説明する。なお、これらは単に例である。ここまで1例として使用した右方スワイプ入力をここでも同様に例として提示するが、入力は右方スワイプ、スワイプ、またはその他の任意の特定のジェスチャまたは入力に限定されない。また、本明細書で例示し説明するアプローチ以外のアプローチも同等に適切な場合がある。さらに、少なくともいくつかの例では、面限定入力との視覚的類似性を備える自由空間ジェスチャ(たとえば、タッチスクリーンスワイプに類似する自由空間スワイプジェスチャ)を使用することが有効かもしれないが、必須ではない。自由空間ジェスチャは、必ずしも面限定入力と同一である、あるいは類似する必要すらない。
【0090】
次に、図3を参照すると、タッチスクリーンおよびその他の面限定入力は、自由空間ジェスチャのための入力をサポートする剛体形状に依存することができるが、必ずしもこのような形状が存在しなくてもよい。たとえば、図3の構成では、動作矢印306で示すように左から右への動作を実行した手304が存在する。タッチスクリーンが面との物理的接触を通じて動作を感知する場合、図3は手304の少なくとも1部とその動作306を包含する視野312を有する撮像装置310も示す。
【0091】
図4Aを参照すると、図3はやや抽象的であるとみなすことができ(たとえば、単純な分断されたカメラの輪郭を示す)、図4Aは眼鏡に似たヘッドマウントディスプレイの形状の装置414Aの構成を示す斜視図である。図示されるように、装置414Aは、たとえば手404Aとその動作を感知する2つの撮像装置410Aを含む(しかしながら、通常、使用時には、人物、頭、顔などに着用することができるヘッドマウントディスプレイ414Aは必ずしもジェスチャ入力に直接関与する必要がなく、ジェスチャ入力の感知、コマンドの処理と実行などは簡略化のために省略する。なお、図4Aに手404Aが示され、明瞭化のため他の場所でも手が図示され言及されているが、手も全体としてユーザも必ずしもそれ自体実施形態の1部とみなすべきではない)。
【0092】
図4B図4Aの構成と類似する構成を示しており、閲覧者の視点により近づくように異なる視野から見た図である。すなわち、撮像装置410Bが手404Bおよび/またはその動作を感知することができるように撮像装置410Bを配置した装置414Bが後ろから図示されている。
【0093】
図5は自由空間における手504を示す。図5の構成は、以下例示し説明する特定の自由空間ジェスチャ入力の開始位置を表すとみなすことができる。また、図5に示す構成は、既に記載した問題点を例示していると考えることもできる。すなわち、自由空間ジェスチャの場合、タッチスクリーンなどとの物理的接触を利用して事象および/または入力を認識することは、このような面が存在しないとき問題となる。
【0094】
図6図10Dはまとめて、面限定入力に匹敵する自由空間ジェスチャ入力に関するいくつかの構成を示す。特段明示しない限り、図6図10Dに示すジェスチャは、ジェスチャ後またはジェスチャ中の構造を示すとみなすことができ、ジェスチャは図5に示す構造と類似する構造で開始される。
【0095】
図6を参照すると、動作マーカ606で示すように手604がジェスチャを行っている。動作マーカ606から分かるように、手604は(図5の構成に類似する最初の構成から)最初に下方へ、(動作を行う人から見て)左から右へ動き、次に水平に左から右へ動き、次に左から右へ移動しながら上方へ動いている。図6は単独の連続動作マーカ606から分かるように、略単独の連続動作として手604の動作を示す。
【0096】
なお、図6に示す構成は、各種実施形態が対処する問題点の1つ、すなわち、面限定入力で利用可能な具体的な物理的接触事象(たとえば、タッチダウン)と異なり、自由空間ジェスチャで明確な「目印」が欠けていることを反映する。各種実施形態は、いくつかの点でタッチスクリーン入力に少なくとも幾分匹敵する自由空間ジェスチャを使用することによって、入力を可能にしつつ上記欠如に対処することができる。
【0097】
各種自由空間入力の特徴付け、解釈、識別などに関するいくつかの変形を本明細書で説明する。特定する目的上、図6に示す構成は「連続暗黙的」アプローチを表すとみなすことができる。すなわち、自由空間ジェスチャ(またはその他の入力)が識別され、自由空間ジェスチャが他の入力ジェスチャと区別される特徴は、動作を(後述するように部分に分かれてではなく)連続エンティティとしてみなすことである。「暗黙的」に関しては、自由空間ジェスチャが面限定入力に類似させられる構成では、面限定入力に関連付けられる特定の事象、たとえば、タッチスクリーンの面へのタッチダウン、面に沿ったスワイプ、面からのリフトオフなどの存在は、ある意味では暗黙的である。すなわち、それらの事象は(たとえば、タッチする面がないために)実際の形状では存在せず、明白な代替物が存在しない場合がある。図6に示す構成の場合、たとえば、タッチなどを特定して表すように実行または感知される類似物が必ずしも存在しなくても、動作自体のパラメータおよび/または類似の要素のために動作をスワイプとして認識することができる。動作自体がスワイプを定義するため、ある意味では、タッチダウンなどの事象は暗黙的であるとみなすことができる。しかしながら、これは単に記述上かつ説明上の例であり、「連続暗黙的」という文言は限定として解釈すべきではない。
【0098】
自由空間ジェスチャが単独の略連続動作として表される図6の構成の場合、その動作がタッチスクリーンスワイプに類似する入力とみなされるべきか否かを判定する基準は、動作自体の特性によって定義することができる。たとえば、自由空間動作は、左右の動作が略連続的である、たとえば、休止なしの左右動作である場合のみスワイプジェスチャを表すとみなすことができる。最初の下方動作に関する必要条件、最後の上方動作に関する必要条件、および/または動作の中間で垂直動作が実質上存在しないという必要条件を設けることができる。加速度範囲も特定することができる。上記に定義される必要条件のいずれかまたはすべてを、図6の構成を1例とみなす基準の一部とすることができる。
【0099】
実施形態は、ジェスチャ、ポーズ、および/またはその他の入力を識別する際に、自由空間の操作のどんな特徴が必要である、除外される、および/またはそれ以外の方法で検討されるかに関して特に限定されない。比較的単純な特徴(速度、方向、加速度など)を上述したが、他のおよび/またはより複雑な要素を検討することができる。
【0100】
たとえば、人の動作は通常、特定の円弧およびその他の経路内に優先的に収まる、および場合によっては、特定の円弧およびその他の経路に具体的に限定される。これは、関節構造などのいくつかの要因から生じる場合がある。簡単な例として、左右スワイプをさらに検討すると、手首で手を動かすことによって実行されるジェスチャは、肘で腕を動かすことによって実行されるジェスチャとは経路、速度、動作範囲などが異なることがある。このような差異に基づいてジェスチャを区別し、ジェスチャが偶発動作と全く異なり意図的に行われているか否かを判定することができる。自由空間入力基準は上記の要素を検討することができる(しかしながら、これは単なる例であり、必須ではない)。
【0101】
また、基準は否定要素だけでなく肯定要素、すなわち、除外条件と必要条件を含むことができる。たとえば、特定の動作を特定の自由空間ジェスチャ入力として解釈されることから除外する要素も、基準の1部とすることができる。より具体的な例として、スワイプとタップの2つのジェスチャを検討する。
【0102】
図6は上述したように、自由空間スワイプジェスチャの例を示す。次に、図7は自由空間タップジェスチャの例を示す。特定の場合、タップは略垂直動作、たとえば、急停止および/または急逆方向動作を伴う下方動作とみなすことができる。しかしながら、図7に示すタップでは、手704は動作矢印706に示すように(閲覧者から見て)左から右へ移動したことが分かる。
【0103】
なお、実際には、自由空間ジェスチャは、動作が「ドリフト」しがちな場合がある。すなわち、自由空間においてジェスチャを実行する人は、タッチスクリーンに提供される入力と同等の精度、制御、再現性などを実行できない。このようなドリフトは、少なくとも部分的にはユーザが相互作用する明確な物理的対象が存在しないために生じると推測できる。タッチスクリーンなどの物理的インタフェースデバイスは、触覚フィードバック(たとえば、タップする面)や、相互作用する具体的な可視目標などを提供することができる。こうした焦点の欠如は、ジェスチャ入力を提供する際の特定の「雑さ」とみなされる原因となることがある。図7に示す構成はこの1例であり、ユーザはタップ入力を行うつもりだが、そうする間の手704の左右動作を制限していない。
【0104】
原因に関係なく、上記のドリフトや雑さなどはジェスチャ入力を不明瞭にする役目を果たす。図6図7の比較から、両者の例では、手604および704が最初の下方動作および最後の上方動作と組み合わされた左右動作を実行していることが分かる。左右、上方、下方動作の連続に基づく自由空間入力の基準は、図6のスワイプと図7のタップとを区別できない場合がある。
【0105】
しかしながら、上述したように、自由空間入力の基準は、除外条件だけでなく肯定の必要条件も組み込むことができる。たとえば、タップは通常、「反発」、急停止、および/または下方動作から上方動作への反転を含むことができる。スワイプの基準は、たとえば、垂直動作の急停止、垂直速度の急反転、過剰な垂直加速(急反転に相当する)、またはその他の検討事項を除外することによって、上記反発を除外するように定義することができる。
【0106】
同様に、図8は自由空間タップ入力の別の形式の例を示す側面図である。同図では、手804の伸ばした人差し指が動作矢印806で示すように下方円弧に沿って移動している。図8に示すような動作は、特定のタップの典型であるが、通常はスワイプと関連付けられない。よって、自由空間スワイプ入力の基準は、人差し指の第1関節のある程度の動作を除外する、および/または制限することができる。よって、図8に示すような動作が存在する場合、動作はスワイプではないとみなすことができる(逆に、上記動作は、自由空間タップジェスチャを定義する基準にとって必須または任意の特徴とみなすこともできる)。
【0107】
より広範には、(たとえば各種関節の)絶対的動作および/または位置(および/または速度、加速度などの特徴)や解剖学的動作および/または位置などは、基準により存在が必須である肯定要素および/または基準により欠如が必須である否定要素のいずれかとみなすことができる。
【0108】
さらに、動作またはその多の要素がどこで、いつ、および/またはどのように呈示されるかという事項も自由空間入力の基準の1部を成すことができる。1例として、人間工学的な理由により、スワイプジェスチャは通常、ユーザの身体の内側に向けて指す指ではなく、ユーザの身体の外側に向けて指す指で実行することができる。よって、自由空間スワイプ基準は、少なくとも特定の実施形態では、指が内側を指す構成を除外することができ、たとえば、そのような動作をエラーまたは「ノイズ」、別の人物による無関係なジェスチャ、意図的な介入などとみなすことができる。
【0109】
さらにノイズに関しては、基準は各種要素の度合いを検討することもできる。たとえば、たとえ自由空間スワイプ基準が(たとえば、雑なタップジェスチャをスワイプと誤解釈するのを避けるため)中間部の垂直動作を除外するとしても、その除外は何らかの度合いの許容可能な垂直動作を含むことができる。すなわち、特定量の垂直動作が、ジェスチャを行う人の不完全なモータ制御、手の不完全な位置感知(たとえば、センサまたはプロセッサに導入されるエラーまたは変動)などのために偶発的に存在すると予期することができる。よって、垂直動作は自由空間スワイプ基準(またはその1部に沿った)から名目的に除外することができるが、この除外は必ずしも絶対的である必要はない。口語的には、基準は肯定および/または否定要素に対する「解釈の幅」を含むことができる。
【0110】
次に図9を参照すると、上述するように、基準は所与の入力の異なる部分にそれぞれ異なる必要条件および/または除外条件を適用することができる。たとえば、スワイプジェスチャは、中間ではなく最初と最後の垂直動作を許容することができる。このようにある期間や距離にわたる基準の変動を導入しやすくするため、少なくとも特定の実施形態では、基準を分割し、入力の検討事項を個々のブロックに分解するのが有効な場合がある。図9はそのような構成を示す。図9では、手904は動作矢印906A、906B、906Cで示される一連の動作を実行している。図6との比較から分かるように、図9の動作矢印906A、906B、906Cで表される動作の組み合わせは、図6で動作マーカ606によって示される動作と少なくとも幾分類似する。
【0111】
しかしながら、図9の構成では、動作全体が(ユーザから見て)下方と右方への動作906A、水平を保ちながら右方への連続動作906B、上方と右方への別の連続動作906Cにさらに分割されている。図9の例では、動作はたとえば、906Aの垂直下方動作、906Bの垂直動作の欠如、906Cの垂直上方動作という具体的な特徴に分類することができる。
【0112】
上記分類は各種実施形態の範囲内に含まれる。基準は2つ以上の副基準に細分することができ、たとえば、図9の構成の場合、1つの副基準がそれぞれ動作矢印906A、906B、906Cによって表される。副基準は独立した自己充足エンティティとみなすこともできる。たとえば、特定の実施形態では、動作矢印906A、906B、906Cがそれぞれ単独の「状態」、たとえば、特定のパラメータを有する下方動作、別のパラメータを有する水平動作、さらに別のパラメータを有する上方動作を表すことができる。
【0113】
このように自由空間入力を状態に細分化することは場合によっては単に論理的または分析的アプローチであるかもしれないが、状態に関して自由空間ジェスチャ動作を定義する少なくとも特定の実施形態では、発明自体を実施する上での特徴とすることができる。たとえば、状態の集合や状態の配置規則などは、プログラミング規則の1形式として実施することができる。よって、特定の自由空間ジェスチャの基準は一連の状態であってもよく、たとえば、状態が大文字によって識別される場合、ジェスチャはA、B、C状態から成る特定の4つの状態の連続を示すACBAで表すことができる(たとえば、複数の指のジェスチャ、両手のジェスチャなど並列して実行される状態に関しては、別の規則が利用される)。
【0114】
より具体的な例として、状態Aが下方動作、状態Bが急反転、状態Cが上方動作である場合、タップジェスチャはABC、ダブルタップはABCABCとすることができる。なお、状態は必ずしも1つのジェスチャに固有である必要はなく、タップ/ダブルタップの例(下方および上方動作)の状態AおよびCはスワイプジェスチャ、たとえば、ADCの1部として利用することもできる。ただし、Dは水平動作(左から右、右から左など)である。
【0115】
実際に、1群の状態は、特定の実施形態では、「言語」と類似することがある。各状態が(図9に示すように)個別に定義される動作、構造、および/またはその他の入力要素(動作なしの休止、音声入力、指を鳴らす、または指が面と接触するノイズ、打鍵など)を表す場合、比較的小さな状態群を使用して、極めて大きなジェスチャ群を定義することができる。たとえば、1セット25個の状態が3状態ジェスチャで配列されるとすると、15000超のジェスチャが数学的には可能である。所与の数の状態の場合、ジェスチャ毎の状態の数が増加するにつれ(たとえば、上記の例の3状態から4状態へ)、数学的に可能なジェスチャの数も増加する。ジェスチャ毎の状態の数が固定されない場合(たとえば、ジェスチャが少なくとも1~6状態を含む)もジェスチャの数を増加させることができる。
【0116】
実際上、上記のジェスチャがすべてユーザにとって簡便であるわけではなく、利用可能なセンサなどによって容易に区別されるわけではなく、所与のセットの状態の場合に数学的に可能なすべてのジェスチャが使用できるわけではない(状態言語を必須ではないが実際に利用する実施形態の場合ですら、すべての可能なジェスチャを使用する必要があるわけではない)。しかしながら、上記の例の約15000のジェスチャのわずか1%であっても約150のジェスチャを表す。よって、比較的少数の状態でも、広範なおよび/または多様なジェスチャ入力群をサポートすることができる。
【0117】
このように状態を使用してジェスチャ言語を構築することは、たとえば効率の点で特定の利点をもたらすことができる。上記の例では、150の一意のジェスチャをわずか25状態から組み立てることができる。よって、150の様々なジェスチャを定義し、コーディングし、デバッグする代わりに、25の状態を定義し、コーディングし、デバッグする方が適切であろう。ジェスチャよりも状態を少数とすることで、少なくとも特定の場合、リソースのコストが低減される。また、複数の状態から成るジェスチャは通常、ジェスチャを構成する個々の状態よりも長い、および/または複雑である。よって、個々の状態の定義、コーディング、デバッギングは完全な各ジェスチャの定義、コーディング、デバッギングよりもリソース集約的であり、リソース(たとえば、時間、費用、処理パワー、メモリなど)をさらに節減することができる。
【0118】
しかしながら、状態および/またはその他の個別のジェスチャ要素の使用などの状態言語の使用は単なる1例であり、必須ではない。他の構成も同等に適切な場合がある。
【0119】
図2A図2Dを参照して上述したように、タッチスクリーン入力は、特定の場合、タッチダウン、スワイプ、リフトオフなどの一連の事象として解釈することができる。図9に示す構成は図2A図2Dの3つのタッチスクリーン事象と一対一対応する3つの自由空間状態を表すと解釈することができるが、これは単なる例である。タッチスクリーン事象との一対一対応は必須ではなく、タッチスクリーン事象(使用される場合)は自由空間基準を設定する際に必ずしも検討されない(ただし、このような検討事項と一対一対応は除外されない)。
【0120】
たとえば、比較のために「連続暗黙的」アプローチとして記載される図6に示す構成と対照的に、図9の構成は「離散暗黙的」アプローチと称することができる。図9に示す自由空間スワイプジェスチャは単独の連続動作ではなく3つの状態に分割される、および/または3つの状態とみなされており、図9により面限定反応を呼び出す自由空間ジェスチャは、面へのタッチダウンなどの事象の明確な等価物を含んでいない。このような要素はたとえば動作906A、906B、906Cから類推されると説明することができる。
【0121】
次に図10を参照すると、いくつかの実施形態は、自由空間ジェスチャの境界を定めることを含むことができる。図10に示す構成では、手1004は、動作矢印1006A、1006B、1006Cで示す動作(動作全体を構成する個々の状態を必ずしもではないが表すことができる)で自由空間スワイプ入力を行っている。また、図10では、境界1016は(見やすくするために網目を入れた)矩形平面状に示している。
【0122】
図10の例では、境界1016は、タッチパッドなどの物理的面の代替としての役目を果たす。境界1016が画定され、境界1016との接触も画定することができる。たとえば、タッチダウン相当物(図10ではマーカ1008Aで示す)は、手1004が境界1016にタッチする、境界1016を通過する、境界1016から最小距離内に近づくときなどに発生するとみなすことができる。同様に、リフトオフ相当物(図10ではマーカ1008Bで示す)は、手1004が境界1016と不連続に接触する、境界1016を出る、境界1016から離れるときなどに発生するとみなすことができ、手1004と境界1016との連続的接触や近接度などは面に沿った動作とみなすことができる。
【0123】
図10に示すような境界を含めることは少なくとも特定の実施形態では有効であり得る。たとえば、面またはその他の幾何学的形状-物理的実体を持たない幾何学的形状でさえ-を画定することによって、ある一定の定義を向上させる、および/またはより簡便にすることができる。境界面1016の存在によって、自由空間スワイプ基準は、ユーザの手1004が境界面1016と接触しなければならないと定義することができ、たとえば、手1004と境界面1016との適切な接触を含まない動作はすべて、自由空間スワイプを構成しないものとして無視することができる。これは、たとえば、入力ジェスチャとノイズを識別したり、類似のジェスチャ同士を区別したりするのに役立てることができる。
【0124】
また、境界1016がユーザにとって可視である、たとえばヘッドマウントディスプレイ上に拡張された現実エンティティとして表示される場合、境界1016はジェスチャがどこでおよび/またはどのようにして実行されるべきかに関する視覚ガイドとして機能し、ユーザが自由空間ジェスチャを行うのを助けることができる。
【0125】
次に、図11Aは、各種実施形態により自由空間スワイプジェスチャを識別する別の例示の構成の第1の部分を示す。ここでも境界1116Aが組み込まれ、手1104Aが境界1116Aの上方の初期位置にある。しかしながら、図示するように、図11Aの境界1116Aは図10のように平面状ではなく立体を包含する。境界は立体的に(すなわち、立体全体が境界である)、あるいは包含面として定義することができる。本明細書での説明の目的上、図11Aに関してはいずれの解釈もとることができる。
【0126】
図11Bに示すように、手1104Bは、動作矢印1106Bで示すとおり境界1116B内へ下降している。接触マーカ1108Bも、手1104Bの人差し指が境界1116Bの面と交差している様子を示す。図示される構成は1例である。他の実施形態の場合、境界1116B内の手1104B全部が境界と接触している(接触が点ではない)、接触点が手1104Bの人差し指の先端(またはその他の特徴)に位置し共に移動する、などと考えることができ、その他の構成も同等に適切な場合がある。
【0127】
引き続き図11Cを参照すると、動作矢印1106Cから分かるように、手1104Cは境界1116Cとの接触点1108Cを維持しながら(閲覧者から見て)右方に動いている。同様に、図11Dでは、動作矢印1106Dから分かるように、手1104Dは右方と上方に移動して、接触マーカ1108Dで境界1116Dとの接触から離れている。
【0128】
よって、図10および図11A図11Dから分かるように、境界は1つの特定の形状に限定されない。2つの形状を示しているが、他の実施形態は大きく異なる場合があり、湾曲面または立体、複数の面、その他の構成などを含むがそれらに限定されない境界を組み込むことができる。
【0129】
また、特定の実施形態の場合、テーブル、デスク、窓、クリップボードなどの物理的対象の一部または全部と少なくともほぼ整合するように境界を配置することが有効な場合がある。たとえば、境界と物理的デスクトップとを整合させることで触覚フィードバックを提供することができる。すなわち、たとえ物理的タッチパッドが存在していなくても、ユーザは指先とタッチパッドとの接触に少なくとも幾分類似する指先とデスクトップとの物理的接触を感じることができる。なお、境界と物理的対象との間の整合度は、完全または略完全ですらある必要がない。たとえば、引き続きデスクトップと整合される境界の例を考えると、数ミリメートルまたは1センチメートル以上の整合不良でも、「タッチスクリーンを使用している」というユーザの触覚的解釈(たとえ物理的タッチスクリーンが存在しなくても)を促進することができる。ユーザが整合度に気づくか否かは、整合度を必ずしも制限しない。たとえ整合不良がユーザに検知可能であっても、触覚フィードバックまたはその他の利点が得られる。機能が維持される限り、各種実施形態では、厳密に測定される数学的または論理的整合限度が課せられることはない。
【0130】
事実、少なくともいくつかの実施形態の場合、整合不良(意図的でも偶発的でも)はそれ自体有効となり得る。引き続き上記の例では、境界がデスクトップの上方にいくらか離れる程度の整合不良が存在しても、ユーザは「ホバー」行為(たとえば、コンピュータマウスの場合「マウスオーバ」に類似する)を実行するようにデスクトップ上方に指先を保持することができる。しかしながら、これらは単なる例であり、他の構成も同等に適切な場合がある。
【0131】
図10図11Dに示す構成は「受動明示的」と称することができる。すなわち、たとえば、境界を画定し、境界との接触がタッチダウンを表すとみなすことによって、タッチダウン事象および類似事象に近い明示的相当物を提供することができる。このような構成は、ユーザ自身が必ずしも接触またはその等価物を示すために「何かを実行する」必要がないために受動的であるとみなすことができる。むしろ、ユーザは単に自由空間入力を実行し、境界と接触する(あるいは接触しない)だけである。
【0132】
次に、図12A図12Dを参照すると、自由空間基準は、(たとえば)手の動作をジェスチャとして特定する何らかの表示を含むことができる。図示する例では、表示は追加の明示的な手のポーズ、具体的には伸ばした小指である。
【0133】
図12Aでは、自由空間スワイプジェスチャを実行する前の手1204Aが可視である。なお、人差し指が伸ばされているが、小指は伸ばされていない。図12Bに進むと、手1204Bがまだ初期位置で示されているが、小指が伸ばされている。本例では、小指がジェスチャ入力の表示1218Bとして伸ばされている。すなわち、伸ばした小指は、実行された動作が、何らかの特性を有する、たとえば、スワイプ、別のジェスチャ、1群のジェスチャのうちの1つ(ただし、図示される例では、動作はスワイプを表す)と解釈されるべきであることを(たとえば、センサデータを評価するプロセッサに対して)知らせる。
【0134】
図12Cでは、手1204Cは動作矢印1206Cで示されるように(手1204Cを制御する人から見て)左から右へ移動しており、小指はまだ表示1218Cとして伸ばされている。図12Dでは、動作が完了し、小指は丸まっている。
【0135】
よって、図12A図12Dの構成では、伸ばした小指が入力基準に関連する表示としての役割を果たすことができる。表示の正確な意味は図示される例の中でも変動する場合があり、表示は具体的にはスワイプ入力、より一般的には仮想面のタッチとして解釈すべき入力、特定のプログラムまたは特定の状況下などでのみ検討される入力を指すことができる。同様に、図12A図12Dは伸ばした小指を示すが、他の表示が同等に適切な場合もある。たとえば、スワイプ入力とタップ入力との区別を簡易化するため、スワイプジェスチャ基準では人差し指を伸ばすことが要求され、タップジェスチャ基準では人差し指と中指の両方を伸ばすことが要求される。表示は手または指の位置に限定されず、各種実施形態の範囲内で可能な表示の範囲は非常に大きい。
【0136】
通常、必須ではないが、表示は、ジェスチャをまとめて表すように動作と少なくとも略同時に行うことができる。引き続き図12A図12Dに示す例では、伸ばした小指の表示は、入力用のジェスチャとして手動作を特定するように、手動作全体を通じて存在する(すなわち、指が伸びている)。よって、図12A図12Dの表示は動作と同時であると言うことができる。
【0137】
しかしながら、図12Aおよび図12Dから分かるように、手が移動していないときも表示(伸ばした小指)は存在する。図12Aおよび図12Dから分かるように、表示は動作(またはその他の入力)と完全に同時である必要はない。すなわち、表示は動作に先行するおよび/または後続することができる、および/または動作は表示に先行するおよび/または後続することができる。よって、小指が伸ばされた後に丸められる構成は、まだ表示としての役目を果たすことができる、たとえば、次の手の動作はジェスチャ入力とみなすべきである。また、少なくともいくつかの実施形態の場合、動作と部分的または完全に同時である表示を利用することが簡便であるが、これは単なる例であり、他の構成も同等に適切な場合がある。
【0138】
図12A図12Dに示す構成は「能動明示的」と称することができる。ここでも、たとえば手のポーズなどの表示の形式でタッチダウン事象および類似の事象の明示的相当物を提供することができる。その表示は、ユーザが指を伸ばす、それ以外の方法で手のポーズを変更するなどによって能動的に提供される。
【0139】
面限定制御用の自由空間入力をサポートするように、各種実施形態による4つの広範なアプローチのカテゴリについて説明した。やや口語的には、これら4つのアプローチ、すなわち、連続暗黙的、離散暗黙的、受動明示的、能動明示的アプローチは、自由空間入力と面限定入力との間の差を扱うツールとしての役割を果たす。よって、各種実施形態による1以上の上記アプローチの使用を通じて、タッチスクリーン入力の等価物を識別および区別するのに十分な情報を自由空間入力から取得することができ、自由空間ジェスチャは少なくとも特定の目的で、タッチスクリーン入力と置き換える、あるいは「代役を果たす」ことができる。上記構成は、自由空間ジェスチャを使用してタッチスクリーン入力を認識するデバイスやシステムなどの制御を可能にする、あるいは少なくとも制御に寄与する。
【0140】
上記4つの例示のアプローチについて説明したが、アプローチは必ずしもこれら4つに限定されず、面限定入力を呼び出すことができるように自由空間入力を識別および/または区別するその他の構成も同等に適切な場合がある。また、例示のアプローチは必ずしも排他的ではない。たとえば、連続暗黙的アプローチを用いて対処できる自由空間ジェスチャもあれば、(同じデバイス、システムなどの場合でも)離散暗黙的アプローチを用いて対処できる自由空間ジェスチャもある。同様に、特定の自由空間ジェスチャは、2以上のアプローチの一方または両方を用いて対処することができる。たとえば、所与の実施形態の場合、平面状境界を交差する、あるいは手のポーズを実行することのいずれかが容認可能である。
【0141】
なお、本明細書に提示される少なくとも特定の例では、右方スワイプジェスチャなどの各自由空間入力は、面限定入力および/またはその反応に一対一で対応すると言及することができる。しかしながら、これは簡略化のためである。実施形態は自由空間入力、面限定入力、および/または反応間の一対一対応を必要としない。たとえば、2以上の自由空間ジェスチャが単独の面限定入力反応を呼び出すことができ、他の構成も同等に適切な場合がある。
【0142】
次に、図13は、面限定制御に自由空間入力を適用する例示の方法を示す。上述したように、各種実施形態は、自由空間ジェスチャの区別および/または識別を可能にすることと、上記ジェスチャを入力として利用可能となるように伝えることをサポートする。両者とも図13に概略的に示す。前者は既に詳細に説明したが、追加情報を後述する。後者についてもより詳細に後述する。
【0143】
図13では、自由空間入力基準がプロセッサに設定される(1332)。上述したように、自由空間入力基準は、所与の実施形態の場合、何が特定の自由空間入力を構成するか、および/または構成しないかを定義する。たとえば、自由空間スワイプジェスチャは、特定の構成(たとえば、人差し指が伸びていて、他の指が丸まっている)における特定範囲の速度および加速度内での特定の経路に沿った手またはその他のエンドエフェクタの動作を、人差し指の第1関節の動作などのその他の要素を除外しつつ含むことができる。自由空間入力基準は、必須とする、除外する、あるいはそれ以外の方法で指定することのできる基準に関して限定されない。
【0144】
通常、必須ではないが、自由空間入力基準は、タッチスクリーン入力などの面限定入力に少なくともある程度対応させることができる。たとえば、自由空間スワイプは、タッチスクリーンスワイプと類似の動作を有する、視覚的に似ている、タッチスクリーンスワイプを誘起することができる。
【0145】
なお、何かを「設定する」ことは、詳細に応じて、新しいことを生み出すこと(たとえば、新たな事業を起こす場合は事業を設立すること)と、既に存在している状態を判定すること(たとえば、既にその場にいる人の位置が別のソースから発見または受信される場合、人の所在を確かめること)の一方または両方を指す。同様に、自由空間入力基準を設定することは、以下を含むがそれらに限定されないいくつかの可能なアプローチを包含することができる。
【0146】
プロセッサに自由空間入力基準を設定することは、有線または無線モデムなどの通信手段を通じて、何らかのソース、たとえばハードドライブまたはソリッドステートドライブなどのデータ格納装置からプロセッサに自由空間入力基準をインスタンス化することを含むことができる。また、自由空間入力基準を設定することは、実行可能な命令を使用して計算的に、プロセッサ内に自由空間入力基準を作成することを含むことができる。実施形態は、どのように自由空間入力基準を設定するかに関して限定されない。唯一必須であるのは、機能的である自由空間入力基準が何らかの方法で利用可能とされることである。記載される構成以外の構成も同等に適切な場合がある。また、本明細書内の他のステップで使用される場合も、設定することは同様に広範な意味で使用されるべきである。
【0147】
同様に、実施形態は、自由空間入力基準の性質に関して限定されない。通常、自由空間入力基準は、ファイル、プログラム、それらの一部など、プロセッサにインスタンス化されるデータおよび/または実行可能な命令の集合であってもよい。しかしながら、これは単なる例であり、他の構成も同等に適切な場合がある。
【0148】
また、実施形態は、自由空間入力基準が設定されるプロセッサに関して限定されない。様々な汎用、特定用途、内蔵システムがプロセッサとしての使用に適することができる。さらに、プロセッサは2つ以上の物理的または論理的プロセッサおよび/またはプロセッサコンポーネントを含む、あるいは「仮想」プロセッサであることも同等に適切な場合がある。他の構成も同等に適切な場合がある。
【0149】
自由空間ジェスチャを識別および/または区別できる上述の機能は、ある意味では、ステップ1332に要約されるとみなすことができる。特定の現象(ジェスチャ、ポーズなど)が自由空間入力を表すか否か、すなわち、自由空間入力基準が満たされるか否の判定は図13では連続的に対処されるが、入力はある意味ではステップ1332で定義または生成することができる。よって、図5図12Dを参照した具体的な説明は、ステップ1332に特に関連すると考えることができる。
【0150】
引き続き図13を参照すると、自由空間入力がセンサを用いて感知される(1334)。実施形態は、自由空間入力を感知する(1334)ためにどのようなセンサが利用されるかに関しても、いかにして自由空間入力を感知する(1334)ことができるかに関しても限定されない。通常、必須ではないが、カメラ、深度カメラなどの何らかの形状の撮像装置を利用して、1以上の画像および/または映像セグメントを捕捉することで、自由空間入力を示す位置や動作などを判定することができる。CMOSおよびCCDカメラを含むがそれらに限定されないカメラの使用は特定の実施形態にとって適切であるが、他の構成も同等に適切な場合がある。さらに、ステップ1334は単独のセンサに言及しているが、個々にまたは協調して動作する、類似または異なる複数のセンサ(撮像装置のステレオ対など)の使用も同等に適切な場合がある。
【0151】
自由空間入力がプロセッサに通知される(1336)。実施形態は、通信の内容および/または形式、たとえば、画像、映像、数値データなどに関して限定されない。また、実施形態は、どのように自由空間入力が通知されるかに関しても限定されない。通常、必須ではないが、センサはプロセッサと同じデバイスまたはシステムに配置することができ、通信は有線リンクを介して行うことができる。しかしながら、無線通信を含むがそれに限定されない他の構成(センサとプロセッサが同じデバイスまたはシステムに配置される、あるいは近傍または遠隔に配置されるかにかかわらず)も同等に適切な場合がある。
【0152】
プロセッサでは、(ステップ1334で感知され、ステップ1336でプロセッサに通知される)自由空間入力が(ステップ1332で設定される)基準を満たすか否かが判定される(1338)。通常、必須ではないが、この判定は、プロセッサにインスタンス化される実行可能な命令によって実行される比較の形式を有することができるが、他の構成も同等に適切な場合がある。
【0153】
判定1338が肯定である、すなわち、自由空間入力が基準を満たす場合、該方法はステップ1340に進む。判定1338が否定である、すなわち、自由空間入力が基準を満たさない場合、ステップ1340がスキップされる。
【0154】
引き続きステップ1340では、面限定入力反応が呼び出される。すなわち、通常、タッチスクリーン入力などの面限定入力と対応付けることのできる何らかの機能や動作が実行させられる。これはある意味では、面限定入力として利用可能となるように自由空間ジェスチャを通知および/または解釈する上述の機能を表すとみなすことができる。そのためのアプローチは本明細書でさらに詳細に後述する。しかしながら、実施形態は、どのようにして面限定入力反応を呼び出すことができるかに関して限定されない。適切なアプローチは、「スプーフィング」すなわち現実のタッチスクリーン入力を表す仮想または「疑似」信号を生成すること、タッチスクリーン入力が受信されたことを確認する仮想信号を生成すること、タッチスクリーン入力に関連付けられるコマンドを直接起動する、または実行することを含むがそれらに限定されない。
【0155】
図13は簡略化のために方法がステップ1340後に完了するとものと示しているが、実際には、該方法は反復させることができる、たとえば、自由空間入力を継続的に感知するようにループ状でステップ1334に戻る。
【0156】
さらに、図14は、面限定制御に自由空間入力を適用する別の例示の方法を示す。図14に示す構成は、(先に図示し説明した)連続暗黙的アプローチを用いる例をより具体的に扱う。
【0157】
図14では、自由空間入力基準は、たとえば、ソリッドステートドライブなどのデータ格納装置からプロセッサに自由空間入力基準をロードすることによって、プロセッサにインスタンス化される(1432)。上記インスタンス化は、図13などを参照して上述した基準を設定する例とみなすことができる。
【0158】
自由空間基準をインスタンス化すること(1432)は、いくつかのサブステップとして、および/または図14で1432A~1432Fとして特定されるいくつかの特徴を示すとみなすことができる。詳細は単なる例であり、より具体的には、連続暗黙的アプローチ、すなわち、自由空間入力がタッチダウンなどのタッチスクリーン入力(またはその他の面限定入力)に関連付けることができる特徴の明示的「代用物」を必ずしも含まずに、単独の略連続動作として定義される(および/またはその後、単独の略連続動作として扱われる)アプローチの例を提示する。
【0159】
例示のため、図14(同様に、図15図17図18)でプロセッサにインスタンス化される(1432)自由空間入力基準は、自由空間において右方スワイプ動作として表され、たとえば、本明細書で既に説明し例示した特定の他の自由空間入力に類似する。実施形態は右方スワイプに限定されず、その他の構成も適切な場合がある。
【0160】
図14の構成の例では、プロセッサにインスタンス化される(1432)自由空間入力基準は、自由空間入力を提供するために伸ばした人差し指がエンドエフェクタとしての役割を果たす必要があること(1432A)を含むことができる。よって、図14の具体的な例の場合、スタイラスまたはその他のエンドエフェクタの使用は自由空間入力基準を満たすと認識されないため、たとえ自由空間入力基準を他の点で満たしていても、伸ばした人差し指で提供されない入力は受け入れられない。
【0161】
実施形態は、自由空間入力が、入力をエンドエフェクタである伸ばした人差し指で提供される入力のみに制限するように定義されることに限定されない。少なくとも特定の実施形態の場合、1以上の画像または映像クリップを取得し、画像認識によって伸ばした人差し指の存在(または不在)を特定することが有効であり得る。指および/または手や手のモデル(たとえば、「関節」や剛直な「骨」などの連接モデル)などの輪郭は、画像認識の一環として、および/または独立して利用することができる。複数の画像および/または映像を通じたエンドエフェクタの動作軌跡も検討することができる。ステレオ感知、飛行時間感知、焦点深度感知、および/または深度および/または距離を3次元として組み込むその他のアプローチも検討することができる。これらは単なる例であり、他の構成も同等に適切な場合がある。多数のアプローチを利用して、人差し指またはその他の特定のエンドエフェクタによって自由空間入力が提供されたか否かを判定することができるが、実施形態はどんなアプローチを利用できるかに関して限定されない。
【0162】
より広範には、サブシステム1432Aは様々な方法で実施することができるが、実施形態はステップ1432Aがどのように実行されるかに限定されない。同様に、図14のステップ1432B~1432Fおよびその他のステップが例として提示されるが、特段明記されない限り、実施形態を特定の実行および/または実施方法に限定するものとみなすべきではない。
【0163】
引き続き図14を参照すると、プロセッサに自由空間入力基準をインスタンス化すること(1432)は、他の指の伸長を除外すること(1432B)を含むことができる。すなわち、人差し指以外の指が伸びている場合、自由空間入力基準を満たすことができないため、他の点で自由空間入力基準を満たしていても、人差し指以外の伸ばした指で提供される入力は受け入れられない。
【0164】
まとめると、1432Aおよび1432Bは、人差し指のみを伸ばして自由空間入力を行い、自由空間入力基準を満たすことが必要であると理解することができる。上述したように、図14の例は右方スワイプ自由空間入力に関する。1432Aおよび1432Bはまとめて、たとえば、(たとえば、伸ばした人差し指で実行することによる)自由空間入力として手の動作を特定する際、および/または右方スワイプ入力を他の自由空間入力(たとえば、他のジェスチャが2本の指で提供される)および/または偶発動作と区別する際に役立てることができる。
【0165】
自由空間入力基準は左右変位範囲も規定する(1432C)。すなわち、左から右への人差し指の変位の全変動が特定範囲内に収まる、たとえば、最大変位未満および最小変位超でなければならない。右方スワイプは少なくとも特定の状況では、左右動作全体に関して最小および/または最大「サイズ」を呈すると推定できるため、このような範囲は、右方スワイプを定義する、および/または右方スワイプと他の入力および/または偶発動作とを区別するのに役立てることができる。
【0166】
自由空間入力基準は、(たとえば、伸ばした人差し指の)動作が特定範囲内(たとえば、最小および最大動作内、特定の経路形状の範囲内など)の連続的な下方動作、左右動作、上方動作を呈することをさらに規定する(1432D)。上記規定(1432D)は、たとえば、予期される特徴的な動作によって、特定の動作、図14の例では右方スワイプを区別する際に役立てることができる。
【0167】
さらに図14を参照すると、自由空間入力基準は反発加速を制限する(1432E)。上述したように、タップなどの特定の自由空間入力は少なくとも何らかの状況下で、右方スワイプと類似する場合がある。より広範には、自由空間入力は、それらの入力が理想的な形から外れる、および/または変形する場合(たとえば、ユーザが入力を提供する際に「雑に」なる場合)は特に相互に似通うことがある。上述したように、少なくとも特定の状況では、個々の特徴、本例では反発加速を利用して、いくらかの変形があっても類似して現れる自由空間入力を区別することができる。たとえば、タップは反発(上方動作から急速に反転する下方動作)と称することのできる加速プロファイルを含む一方、スワイプはこのような加速を含まない。よって、反発加速を最大までに制限すること(1432E)によって、タップ(右方スワイプに類似する左右動作を含む変形タップを含むがそれに限定されない)を除外することができる。言い換えると、加速を検討することによって、スワイプと非スワイプ入力および/または偶発動作を区別することができる。
【0168】
なお、特定の実施形態の場合、反発加速、またはその他の起こり得る特徴的な動作、加速度、その他の特徴などを完全に除外することが有効な場合がある。しかしながら、このような絶対的除外は禁じられていないが、少なくともいくつかの実施形態では、特定の形状のノイズを受け入れる程度に、少なくともある程度の特徴的な特徴を許容することが有益である。たとえば、場合によっては、人の手の動作は不完全である(たとえば、震え、風、衣服の拘束や怪我による動作の変動など)、センサによる動作の感知が不完全である、センサ入力に基づくプロセッサによる動作の解釈が不完全である。
【0169】
上記の限定は、特定の実施形態では、動作の「低域フィルタ」の1形式とみなすことができる(および、該形式を備えて実施することができる)。たとえば、特定の速度未満、特定の変位、および/または特定の加速度未満の動作を検討から除外することができる。上記構成は、指先端の小さな「揺れ」またはその他の偶発動作を除外することができる。低域フィルタ(もしあれば)はセンサやプロセッサ内で実行することができ、極めて厳密には、自由空間入力基準自体の一部を成すことはできない。しかしながら、機能的には、動作に低域フィルタを施して指先先端の偶発的な揺れを排除することや、(上述の例のように)加速に低域フィルタを施してタップジェスチャの一部を表すには低すぎる加速を排除することは、動作への制限および/または反発加速(および/またはその他の特徴)を含むことと同様に機能することができる。
【0170】
引き続き図14では、自由空間入力基準は指関節の動作範囲を制限する(1432F)。上述したように、右方スワイプ以外の特定の入力および/または偶発動作は、指関節の動作を含むことがある。たとえば、タップまたはタッチは、近位指関節で人差し指を移動させることによって実行できる。上記の反発加速の制限(1432E)と同様に、指関節動作を制限すること(1432F)も、たとえば、スワイプ入力を識別する、および/または他の入力および/または非入力動作を除外する際に役立てることができる。
【0171】
1432A~1432Fはまとめて、プロセッサにインスタンス化される(1432)自由空間入力基準を表すとみなすことができる。自由空間入力基準は図14では様々な種類(必要条件、範囲、除外条件など)の複数の独立要素(たとえば、1432A~1432F)を含むように示されているが、実施形態はこのように自由空間入力を定義することにも、図示される各種例示の要素1432A~1432Fにも限定されない。
【0172】
たとえば、間に休止を挟む2つの連続ジェスチャと1つの長いジェスチャとの混同を避けるため、ジェスチャ中に動作の停止および/または休止が存在しないという必要条件が適切な場合がある。同様に、動作が解剖学的および/または挙動的に好適な動作円弧内に収まるという必要条件が適切な場合もある。人の動作は通常、人の関節の物理的構造、動作の文化的嗜好、個人の癖などの要因により、特定の円弧および/またはその他の経路をたどることがある。上記パラメータに続く入力のみを検討し、非入力動作はジェスチャとしての検討から除外することができる。
【0173】
また、簡略化のため、サブステップ1432A~1432Fで言及される各種要素は固定的に記載されているが、実施形態は固定される自由空間入力基準(またはその一部)に限定されない。基準はユーザの選択に基づき変更可能であり、状況の変動および/またはジェスチャの変化に対応する、および/または状況の変動および/またはジェスチャの変化に合わせて調節することができる、および/またはその他の形で変更することができる。
【0174】
その他の構成も同等に適切な場合がある。
【0175】
さらに図14を参照すると、自由空間入力がセンサを用いて感知される(1434)。自由空間入力がプロセッサに通知される(1436)。プロセッサでは、自由空間入力が基準を満たすか否かが判定される(1438)。判定1438が肯定である(すなわち、自由空間入力が基準を満たす)場合、該方法はステップ1440に進む。判定1438が否定である(すなわち、自由空間入力が基準を満たさない)場合、ステップ1440がスキップされる。引き続きステップ1440では、面限定入力反応が呼び出される。
【0176】
次に、図15Aおよび図15Bは、面限定制御に自由空間入力を適用する別の例示の方法を示す。図15および図15Bに示す構成は、(本明細書に例示および記載する)離散暗黙的アプローチの例をより具体的に扱う。
【0177】
図15Aでは、たとえば、ソリッドステートドライブなどのデータ格納装置からプロセッサに自由空間入力基準をロードすることによって、自由空間入力基準がプロセッサにインスタンス化される(1532)。上記インスタンス化は、本明細書で上述した基準を設定する例とみなすことができる。
【0178】
上述したように、図15Aの構成は、離散暗黙的アプローチ、すなわち、2つ以上の別々の部分で検討されるアプローチについて扱う。例示のため、図15Aでは、自由空間スワイプ入力はタッチダウン、スワイプ、リフトオフの3つの部分で検討される。同様に、自由空間入力基準も3つの部分で検討され、プロセッサに自由空間基準をインスタンス化すること1532は、3つの別個の(ただし少なくとも相互に関連する)サブステップとみなすことができる。例示のため、図15Aでは、それら3つのサブステップは、プロセッサに自由空間タッチダウン状態副基準をインスタンス化すること(1532A)と、プロセッサに自由空間スワイプ状態副基準をインスタンス化すること(1532B)と、プロセッサに自由空間リフトオフ状態副基準をインスタンス化すること(1532C)として言及される。
【0179】
次いで、ステップ1532A、1532B、1532Cでプロセッサにインスタンス化される副基準はそれぞれいくつかのサブステップとみなすことができる。
【0180】
サブシステム1532Aを参照すると、プロセッサに自由空間タッチダウン状態副基準をインスタンス化することは、伸ばした人差し指が自由空間入力を提供するエンドエフェクタとしての役割を果たすことを必要とすること1532A1と、その他の指の伸長を除外すること1532A2とを含む。
【0181】
自由空間タッチダウン状態副基準は、ある範囲内の下方動作(たとえば、伸ばした人差し指の場合、下方動作の最小および/または最大距離)も規定する(1532A3)。
【0182】
さらに図15Aを参照すると、自由空間タッチダウン状態副基準は反発加速を制限し(1532A4)、指関節の動作範囲も制限する(1532A5)。
【0183】
まとめて、1532A1~1532A5は、プロセッサにインスタンス化される1532A自由空間状態副基準(特に、タッチダウン状態)を表すとみなすことができる。上述したように、自由空間タッチ状態副基準は図15Aでは様々な種類(必要条件、範囲、除外条件など)の複数の独立要素(たとえば、1532A1~1532A5)を含むように示されているが、実施形態はこのように自由空間入力を定義することにも、図示される各種例示の要素1532A1~1532A5にも限定されない。その他の構成も同等に適切である場合がある。
【0184】
ここで、図14の構成と図15Aの構成との対照を指摘することが有益であろう。図14の構成は左右動作全範囲(1432C)を規定し、下方、左右、上方動作の連続を単独の連続入力とみなしているが、図15Aの構成は3つの動作(下方、左右、上方)をそれぞれ個々の状態として扱っている。よって、1532A(同様に後述の1532Bおよび1532C)のサブステップはやや異なるが、動作全体と入力は類似する。ユーザが入力(スワイプ動作)を生成する動作全体が図14および図15Aに示す構成で類似する、あるいは同一である場合でも、それらの動作の解釈の仕方が実施形態毎に異なることがある。図14および図5Aをより具体的に参照すると、図14の構成は連続動作の観点で自由空間入力基準を検討する一方、図15Aの構成は3つの異なる状態の観点で自由空間入力基準を検討している。
【0185】
引き続き図15A(さらにステップ1532)とサブステップ1532Bを参照すると、プロセッサに自由空間タッチダウン状態副基準をインスタンス化することは、伸ばした人差し指が自由空間入力を提供するエンドエフェクタとしての役割を果たす必要があること(1532B1)と、その他の指の伸長を除外すること(1532B2)とを含む。
【0186】
自由空間タッチダウン状態副基準はある範囲内の左右動作を規定し(1532B3)、反発加速を制限し(1532B4)、指関節の動作範囲も制限する(1532B5)。
【0187】
図15Aのステップ1532とサブステップ1532Cをさらに参照すると、プロセッサに自由空間タッチダウン状態副基準をインスタンス化することは、伸ばした人差し指が自由空間入力を提供するエンドエフェクタとしての役割を果たす必要があること(1532C1)と、その他の指の伸長を除外すること(1532C2)とを含む。自由空間タッチダウン状態副基準はある範囲の上方動作を規定し(1532C3)、反発加速を制限し(1532C4)、指関節の動作範囲も制限する(1532C5)。
【0188】
よって、図15Aに示すように、自由空間入力基準をインスタンス化すること(1532)は、3つの別個の状態に関する3つの自由空間状態副基準1532A、1532B、1532Cをインスタンス化することとみなすことができる。
【0189】
また、図15Aに示すように、インスタンス化された副基準1532A、1532B、1532Cは少なくともいくらかの類似性を備える。たとえば、1532A、1532B、1532Cはすべて伸ばした人差し指を要求し、反発加速を制限する。このことは、少なくとも特定の実施形態の場合、たとえば入力の一貫性の点で有効であり得る。しかしながら、これは単なる例であり、異なる状態(またはその他の入力基準および/または入力の個々の部分)は並列するサブステップを含む、あるいはその他の形で相互に類似する必要はなく、他の構成も同等に適切な場合がある。
【0190】
次に、図15Bを参照すると、自由空間入力がセンサを用いて感知される(1534)。自由空間入力がプロセッサに通知される(1536)。プロセッサでは、自由空間入力が基準を満たすか否かに関して判定される(1538)。判定1538が肯定であれば、該方法はステップ1540に進み、判定1538が否定であれば、ステップ1540はスキップされる。引き続きステップ1540では、面限定入力反応が呼び出される。
【0191】
図14および図15を参照して図16に移ると、自由空間入力基準とその特徴および状態副基準とその特徴が示される。図14および図15の例では、伸ばした人差し指、特定の動作および/または動作範囲、加速の制限などの特徴に言及した。図16は、どのようにして入力を感知できるか、および/またはどのようにして上記特徴が満たされるか否かを判定できるか(たとえば、図15Bのステップ1534および1538)についての例を示す。
【0192】
図16は、動作方向を表示する動作矢印1606と共に手のシーケンス1605を示す。図16の構成は手が空間を移動する際の手(またはその他のエンドエフェクタ)の位置と構造、および/またはある期間にわたる構造の変化を示しており、シーケンス1605における個々の手は期間中の瞬間毎の手を表す(簡略化のため、図16では手の構造、たとえば、手に対する指の位置は変化しない。実際には変化が発生する場合があり、実施形態は構造が変化しない構成に限定されない)。
【0193】
図16に示すようなシーケンス1605は、ある期間にわたる一連の画像を捕捉することによって様々な方法で取得することができ、シーケンス1605における各手は個々の画像内の手の位置および/または構造を表し、各画像は期間中の瞬間を表す。通常、必須ではないが、このようなシーケンス1605はRGBカメラ、深度カメラ、またはその他のセンサを用いて取得することができ、画像および/または画像から得られるデータはプロセッサに伝達される、および/またはプロセッサで評価される。しかしながら、なお、図16の構成は単なる1例である。このような視覚的構成は、特定の実施形態で任意の点を表しても表さなくてもよい。画像は図16に示すように配列されずに個々に検討することができる。もしくは、画像に加えて、または画像の代わりに、ワイヤーフレーム、スケルトン、関節モデル、または(おそらくは、必須ではないが画像から得られる)その他の構造を利用することができる。さらに別の選択肢として、グラフィカルではなく、その代わりに数字やその他の形式で検討することができる。
【0194】
このようなシーケンス1605がどのように取得される、および/または検討されるかに関係なく、図16に示すようなシーケンス1605を評価することで、位置、動作範囲、速度、加速度、関節位置の変動など、たとえば、図14のステップ1432および図15の1532に関連して上述した特徴(ただし、これらの特徴に限定されない)を判定できると理解することができる。
【0195】
図16に示す構成では、表示される動作は、(単独の動作矢印1606で示すように)、たとえば連続暗黙的アプローチを用いて単独の入力としてまとめて検討される。しかしながら、次に図17を参照すると、動作矢印1706A、1706B、1706Cで示すように、シーケンス1706は複数の動作、入力、状態などとみなすことができる。図17に示すような構成の場合、動作矢印170Aはシーケンス1705の一部または全部によって表示されるタッチダウン状態を表し、動作矢印1706Bはシーケンス1705の一部または全部によって表示されるスワイプ状態を表し、動作矢印1706Cはシーケンス1705の一部または全部によって表示されるリフトオフ状態を表すことができる。よって、図17の構成は離散暗黙的アプローチを表すとみなすことができる。
【0196】
なお、シーケンス1705は、シーケンス1705の一部のみを表すことができる状態を識別するため、必ずしもそれ自体細分化させる必要はない。すなわち、各状態(タッチダウン、スワイプ、リフトオフ)を識別するときにシーケンス1705全体を評価することができる、あるいは、状態毎に一部のみ(たとえば、タッチダウンの場合、ページの右側の約3分の1)を評価することができる。
【0197】
図16および図17から、同様の構成が受動明示的、能動明示的、および/またはその他のアプローチに適用可能であると理解される。受動明示的構成は図16および/または図17に示す構成と類似させることができるが(境界は仮想または情報構造としてのみ存在し得るため可視にできない)、能動明示的構成は(既に図12A図12Dに示すように)たとえば小指の伸長またはその他の表示をさらに含むことができる。
【0198】
次に、図18は、(本明細書で既に図示し説明した)受動明示的アプローチを用いて面限定制御に自由空間入力を適用する別の例示の方法を示す。
【0199】
図18では、自由空間入力基準がプロセッサにインスタンス化される(1832)。
【0200】
プロセッサに自由空間基準をインスタンス化すること(1832)は、いくつかのサブステップとみなすことができる。有限の平面状境界が画定される(1832A)。境界はタッチスクリーンまたはその他の限定面の場合の明示的「代用物」としての役割を果たすため、ユーザはこのような限定面を使用せずに、および上記入力を能動的に変更せずに(よって「受動的」)、自由空間で入力を行うことができる。通常、境界は、必須ではないが、自由空間入力を提供する人物に対して表示することができる、仮想現実構造や拡張現実構造などの(プロセッサによって)空間に画定される架空の構造とすることができる。しかしながら、境界は表示される必要はなく、空間に画定される不可視の構造(たとえば、視覚的に出力されず、プロセッサ内に数学的に空間に定義される領域)が同等に適切な場合がある。
【0201】
図18の目的上、境界は、図10に示す境界のように矩形の平面である(すなわち、略2次元である)。上記境界は、たとえば、ユーザがなじみのある物理的タッチスクリーンと類似するために簡便である。しかしながら、矩形平面状の境界は単なる例であり、他の構成も同等に適切な場合がある。図10および図11A図11Dを参照して上述したように、境界は、平面または平坦面、矩形の固体の面および/または立体、球またはその一部、その他の湾曲面、任意の面または立体を含むがそれらに限定されない様々な形状をとることができる。
【0202】
引き続き図18では、プロセッサに自由空間入力基準をインスタンス化することは、伸ばした人差し指と境界との間のタッチダウンを必要とすること(1832B)を含む。すなわち、伸ばした人差し指は、境界と接触する必要がある(あるいは実体のない境界の場合、境界と一致する、および/または境界を通過する必要がある)。これは、タッチスクリーンタッチ事象の明示的自由空間の相当物と理解することができる。
【0203】
プロセッサに自由空間入力基準をインスタンス化することは、境界と接触しながら人差し指の左右動作を行う必要があること(1832C)と、人差し指と境界との接触を終了させるリフトオフを必要とすること(1832D)とをさらに含む。同様に、これらはそれぞれタッチスクリーンスワイプ事象とタッチスクリーンリフトオフ事象の明示的自由空間の相当物と理解することができる。
【0204】
図18を参照すると、自由空間入力がセンサを用いて感知される(1834)。なお、センサは動作や位置などを感知することができるが、センサは境界を感知してもしなくてもよい。たとえば、境界がプロセッサ内の構築物として部分的または完全に存在する場合、境界をプロセッサによって既に「既知である」位置や範囲などとして感知する必要すらない。にもかかわらず、通常、境界に対する手またはその他のエンドエフェクタの位置、動作、構成を含むがそれらに限定されない何らかの種類の感知情報をセンサによって感知することができる(1834)。
【0205】
自由空間入力がプロセッサに通知される(1836)。プロセッサで、自由空間入力が基準を満たすか否かが判定される(1838)。判定1838が肯定であれば、該方法はステップ1840に進み、判定1838が否定であれば、ステップ1840がスキップされる。引き続きステップ1840では、面限定入力反応が呼び出される。
【0206】
次に、図19は、(本明細書で既に例示し説明した)能動明示的アプローチを用いて面限定制御に自由空間入力を適用する別の例示の方法を示す。
【0207】
図19では、自由空間入力基準がプロセッサにインスタンス化される(1932)。
【0208】
プロセッサに自由空間基準をインスタンス化すること(1932)は、いくつかのサブステップとみなすことができる。表示が定義される(1932A)。表示は、自由空間入力とその他の自由空間入力および/または偶発的なジェスチャなどの非入力とを区別する役目を果たす。図19の例示の構成では、表示は、伸ばした小指を含むとして定義される(1932A)。表示自体は必ずしも入力(ジェスチャなど)を提供しなくてもよいが、入力を可能にするとみなすことができる。すなわち、自由空間入力は 伸ばした人差し指で提供されるジェスチャとすることができ、人差し指はジェスチャについて監視することができる(たとえば、位置、動作、加速度などを感知する)が、表示が存在しない限り(あるいは、少なくとも特定の入力として受け入れられない。たとえば、スワイプとして受け入れられないがタップとして受け入れられる可能性がある)、ジェスチャは入力として受け入れることができない。よって、入力と表示は区別することができる(ただし、これはすべての実施形態で必須とは限らない)。
【0209】
プロセッサに自由空間基準をインスタンス化すること(1932)は、伸ばした人差し指の左右変位範囲を規定すること(1932B)をさらに含む。たとえば、伸ばした人差し指は、最大距離を超えて左から右に移動することなく少なくとも最小距離、左から右に移動する必要がある。また、上述するように、図19の例の入力(この場合、スワイプジェスチャ)は、伸ばした小指の形の表示によって可能にされる場合でも、人差し指を用いて提供することができる。
【0210】
プロセッサに自由空間基準をインスタンス化すること(1932)は、伸ばした人差し指の左右変位範囲を規定すること(1932B)も含む。たとえば、伸ばした人差し指は、最大距離を超えて左から右に移動することなく少なくとも最小距離、左から右に移動する必要がある。また、上述するように、図19の例では、入力(この場合、スワイプジェスチャ)は、伸ばした小指の形の表示によって可能にされる場合でも、人差し指を用いて提供することができる。
【0211】
プロセッサに自由空間基準をインスタンス化すること(1932)は、下方、左右、上方動作の連続を規定すること(1932C)をさらに含む。他の例を参照して上述したように、これらの動作は変位、速度、方向、ある期間にわたる位置の包絡線または範囲の観点で規定することができ、その他の構成も同等に適切な場合がある。
【0212】
自由空間入力がセンサを用いて感知される(1934)。自由空間入力がプロセッサに通知される(1936)。プロセッサでは、自由空間入力が基準を満たすか否かが判定される(1938)。判定1938が肯定である場合、該方法はステップ1940に進み、判定1938が否定である場合、ステップ1940がスキップされる。引き続きステップ1940では、面限定入力反応が呼び出される。
【0213】
図14図15A図15B図18図19をまとめて参照すると、4つのアプローチが示されているが、実施形態はこれらのアプローチに限定されない。たとえば、離散/連続の区別は図14図15A図15Bに示す暗黙的アプローチでのみ詳細に説明しているが、離散および/または連続アプローチの概念は、たとえば図18および図19に示すような明示的アプローチにも適用することができる。受動/能動、明示的/暗黙的、および/または連続/離散構成並びにその他の構成の任意の組み合わせが、各種実施形態での使用に適する場合がある。
【0214】
これまで、たとえば、タッチスクリーンへの既存のジェスチャを自由空間ジェスチャ入力としての使用に簡便に適合させるように自由空間入力および/または基準を定義する際、自由空間ジェスチャを識別することに注目してきた。本明細書で上述したように、自由空間ジェスチャの識別を通じた上記適合を可能にすることが、各種実施形態の特徴の1つである。
【0215】
しかしながら、上述したように、実施形態はその特徴に限定されない。他の特徴の1つ(ただし必ずしも1つに限定されない)は、自由空間入力がタッチスクリーンまたはその他の面限定入力用に構成されるシステムで利用可能となるように、ジェスチャおよび/またはその他の自由空間入力を通知することを含むことができる。言い換えると、タッチスクリーン反応がタッチスクリーン入力用に既に構成されたシステムで呼び出される場合、どのようにして自由空間ジェスチャで反応を呼び出すことができるかを示す。この特徴は以下より詳細に説明する。
【0216】
図20は、面限定制御に自由空間入力を適用する別の例示の方法を示しており、仮想または「疑似」入力を提供することによって反応を呼び出すアプローチが利用されている。
【0217】
図20の例示の構成では、データエンティティがプロセッサにインスタンス化される(2030)。データエンティティは、提供される入力への反応を呼び出すように構成される。たとえば、携帯電子デバイスの場合、データエンティティはオペレーティングシステムとすることができる。このようなデバイスの場合、データエンティティは面限定入力システムから入力を受け取り、それに応答して何らかの反応を実行する。より具体的な例としては、スマートフォンまたはヘッドマウントディスプレイはアンドロイドなどのオペレーティングシステムをインスタンス化させることができ、オペレーティングシステムはタッチスクリーン入力を受け入れ、タッチスクリーン入力がデバイスに提供されるときに反応を実行するように構成される。
【0218】
しかしながら、タッチスクリーンも別の面限定入力システムも必須ではない。タッチスクリーンからのタッチを認識する機能はデータエンティティに存在させることができるが、実際のタッチスクリーンは存在していてもいなくてもよい。実際、各種実施形態の有益な特徴の1つ(ただし必須ではない)は、自由空間入力を提供しつつ面限定入力を認識する機能を利用できることである。
【0219】
実施形態は、データエンティティの性質に関して限定されない。通常、必須ではないが、データエンティティは、コンピュータプログラムなどのプロセッサにインスタンス化されるデータおよび/または実行可能な命令の集合体とすることができる。本明細書のいくつかの箇所で、オペレーティングシステムがデータエンティティの1例として提示されているが、他の構成も同等に適切な場合がある。
【0220】
また、データエンティティを設定するステップ2030は少なくとも特定の実施形態では任意であり、方法の一部とみなしてもみなさなくてもよい。完全性のため図20はデータエンティティを設定すること(2030)を示すが、通常、適切なデータエンティティは、オペレーティングシステムの上述の例のように携帯電子デバイスのプロセッサに既にインスタンス化させておくことができる。より口語的には、オペレーティングシステム(またはその他のデータエンティティ)は「先在」しており、設定する必要がない場合がある。
【0221】
本明細書で上述したように、各種実施形態の利点は、タッチスクリーンおよび/またはその他の面限定入力を受け入れるように既に構成された既存のインフラ(デバイス、オペレーティングシステム、ソフトウェアなど)をジェスチャなどの自由空間入力に適合させることができる点である。既存のインフラの使用を可能にすることによって、新たなデバイス、システムなどは旧版と互換可能になり、新たなデバイス、オペレーティングシステム、ソフトウェアなどを作成する必要がなくなる。より具体的な例では、ヘッドマウントディスプレイは、スマートフォンプロセッサ、アンドロイドまたは別のモバイルデバイスオペレーティングシステムを利用し、スマートフォンプロセッサおよび/またはアンドロイドまたは別のモバイルデバイスオペレーティングシステムを利用するように書かれたプログラムを実行し、同様に書かれたライブラリを利用しつつ、自由空間ジェスチャを用いて制御することができる。場合によっては、各種実施形態は、それ自体自由空間ジェスチャ入力に適合されていないハードウェア、ソフトウェアなどに加えて実装することができる。
【0222】
図20をさらに参照すると、自由空間入力基準がプロセッサに設定される(2032)。自由空間入力がセンサを用いて感知される(2034)。
【0223】
自由空間入力がプロセッサに通知される(2036)。なお、データエンティティはプロセッサに設定される(2030)が、自由空間入力は必ずしもデータエンティティに通知されない(通常は通知されないが、その他の構成も適切な場合がある)。理解されるように、様々なデータエンティティ、実行可能な命令、プログラムなどは必ずしも相互に通信することなく単独のプロセッサに配置することができる。
【0224】
プロセッサでは、自由空間入力が基準を満たすか否かが判定される(2038)。判定2038が肯定である場合、該方法はステップ2040に進み、判定2038が否定である場合、ステップ2040がスキップされる。
【0225】
引き続きステップ2040では、面限定入力反応が呼び出される。すなわち、通常は面限定入力の後に続く反応が、自由空間入力基準を満たすことから発生する。より具体的な例として、タッチスクリーン入力への反応である動作は、自由空間入力に対する反応中に発生させられる。
【0226】
実施形態はどのようにして面限定入力を呼び出すことができるか(2040)に限定されない。本明細書の上述の例は、この問題に詳細に対応しておらず、様々なアプローチが同等に適切な場合がある。しかしながら、面限定入力反応を呼び出すいくつかのアプローチ例を示すことが啓蒙的であるかもしれない。これについて図21図22図23により詳細に示す。
【0227】
たとえば、図20の例に示すように、面限定入力反応は、データエンティティ内でおよび/またはデータエンティティに対処することによって呼び出すことができる(2040)。上述したように、データエンティティはたとえばオペレーティングシステムであってもよい。タッチスクリーンを有する携帯電子デバイスのオペレーティングシステムは、たとえば、タッチスクリーン入力を認識し、それに対する適切な反応を実行するように構成される実行可能な命令、データ、および/またはその他の「機構」と共に、様々なタッチスクリーン入力に対応する各種反応を含むことができる。
【0228】
上記構成では、図20に示すように、データエンティティに面限定入力反応を呼び出すステップ2040が、プロセッサからデータエンティティへの仮想面限定入力リンクを設定すること(2040A)を含むことができる。すなわち、何らかの構成がデータエンティティと通信し、たとえ通信が仮想面限定入力であっても、データエンティティが通信を面限定入力として認識することができる。より口語的には、入力システムおよび/または仮想入力システム自体に対応する仮想または「疑似」接続が、データエンティティとの通信時に行われる。
【0229】
なお、厳密に言えば、データエンティティは既にプロセッサに存在するため(ステップ2030で設定される)、プロセッサからデータエンティティへのリンク2040Aはプロセッサからプロセッサへのリンクとみなすことができる。リンクは必ずしも物理的接続を表すとは限らない。むしろ、リンクは通信プロトコル、データフォーマット、データエンティティと共に既に存在するポートまたは通信路の起動などの形をとることができる。各種実施形態は必ずしも新たな物理的接続の生成を必要としない(ただし、このような生成は禁止されない)。むしろ、リンクは、上記データエンティティ(またはその他のデータエンティティ)内の既存の実行可能な命令を利用して、プロセッサ内の既存の物理的通信路に沿って設定することができる(2040A)。
【0230】
さらに図20を参照すると、仮想面限定入力が自由空間入力に基づきプロセッサに生成される(2040B)。すなわち、図20の例では、実際の面限定入力を模倣する仮想入力が生成される。より具体的な例では、実際のタッチスクリーンから生成および/または提供することができる入力に少なくとも幾分類似する仮想右方スワイプジェスチャがプロセッサで生成される。
【0231】
仮想面限定入力が自由空間入力から生成され(2040B)、少なくとも生成される仮想面限定入力は自由空間入力基準によって定義される自由空間入力で呼び出すことができる反応に対応する。すなわち、自由空間入力基準が(どんな詳細にもかかわらず)右方スワイプを定義する場合、仮想面限定入力がデータエンティティによって右方スワイプとして受け入れられるように生成され、データエンティティは面限定入力システムを介して右方スワイプ入力に対応する反応を実行する。
【0232】
通常、必須ではないが、仮想面限定入力は、実際の面限定入力と少なくとも幾分類似する形式および/または内容を有することができる。たとえば、実際的なタッチスクリーンは、一定の期間にわたり1以上の指がタッチスクリーンと接触する点を表す一連のxおよびy座標を有するタッチスクリーンデータを生成することができる。実際的なタッチスクリーンは、加えられる圧力などのその他のデータも生成することができる。よって、実際のタッチスクリーンから生成される一定の期間にわたるxおよびy座標と圧力の構成は、右方スワイプまたはその他のジェスチャ入力を表すことができる。同様に、仮想タッチスクリーン入力も、タッチダウンおよびスワイプに関する実際的なタッチスクリーンデータと似通った一定の期間にわたるxおよびy座標を含むように生成することができる(しかし、仮想タッチスクリーン入力の場合、タッチダウンおよびスワイプは実際には発生しない)。
【0233】
言い換えると、一定期間にわたる仮想xおよびy座標と圧力値は、タッチダウンおよびスワイプ中に実際のタッチスクリーンによって生成される一定期間にわたる仮想xおよびy座標と圧力値と少なくともほぼ一致させることができる。正確な一致は必要ではなく、一致度も必ずしも高くなくてもよい。仮想タッチスクリーン入力が受け入れられる限り、対応は十分である。受け入れられる仮想タッチスクリーン入力に関して低い一致度で足る場合(すなわち、仮想データの形式が粗い、内容を欠く、あるいは「実際の物」とさほど似ていない場合)、低い一致度でも十分な場合がある。
【0234】
しかしながら、特定の実施形態では、仮想面限定入力は、自由空間入力とのある程度の正確さおよび/または可変性を備えて生成することができる(2040B)。たとえば、広範または高速の自由空間スワイプは、広範または高速の仮想面限定スワイプを生成することができる(2040B)。上記構成の場合、各仮想面限定入力は一意である、および/または仮想面限定入力を生成する(2040B)自由空間入力の細部と一致させることができる。
【0235】
しかしながら、他の実施形態では、仮想面限定入力は、予め決定される、および/または固定されるように生成することができる(2040B)。すなわち、基準を満たす自由空間スワイプジェスチャ(ステップ2038)はいずれも、自由空間スワイプジェスチャの詳細に関係なく、結果的に単独の基準仮想面限定スワイプジェスチャを生成する。このような場合、高速の自由空間スワイプは、低速の自由空間スワイプと同じ面限定スワイプを生成することになる。口語的には、仮想面限定入力はすべてのスワイプ入力に対して「予め用意される」、すなわち同一であるとみなすことができる。
【0236】
ハイブリッドアプローチを含むがそれに限定されない他のオプションも同等に適切な場合がある。たとえば、仮想面限定入力は、制約は課せられるが、様々な方法で自由空間入力から生成することができる(2040B)。たとえば、動作は圧縮したり、端を切り捨てたりすることができるため、スワイプジェスチャがたとえばスマートフォンタッチスクリーンなどで物理的に可能とされるよりも広い場合、「エラー」反応を回避するために仮想スワイプ入力の大きさを低減させることができる。
【0237】
さらに、少なくとも特定の実施形態では、自由空間入力から仮想面限定入力を生成すること(2040B)は、特定のその他のステップを不要にするほど十分な場合がある。たとえば、生成された仮想面限定入力が十分にリアルである、および/またはデータエンティティに対して「説得力がある」場合、上述の判定2038を省略することができる。すなわち、仮想タッチスクリーンジェスチャが十分正確に生成される場合(2040B)、データエンティティ自体が、入力が行われたか否かの問題に十分に対処することができ、仮想タッチスクリーン入力は(たとえば、実際のタッチスクリーン入力を評価する既存の手段を用いて)必ずしも実際の自由空間入力を評価する必要なくデータエンティティによって評価することができる。
【0238】
同様に、判定2038が省略できる場合、プロセッサに自由空間スワイプ基準をインスタンス化すること(2032)も省略することができる。基準に照らして判定が行われない場合、基準自体を不要とすることができる。
【0239】
引き続き図20を参照すると、仮想面限定入力が、仮想面限定入力リンクによってデータエンティティに通知される(2040C)。
【0240】
よって、面限定入力への反応が呼び出される(2040)。少なくともいくつかの実施形態の場合、反応を実行する少なくともいくつかの部分はデータエンティティで行われると考えることができる。たとえば、データエンティティが携帯電子デバイスのオペレーティングシステムである場合、そのオペレーティングシステムは(上述したように)右方スワイプ、タップ、ピンチなどの反応を実行する「機構」を適所に既に備えている。なお、各種実施形態はこうして実行されるデータエンティティの機能を呼び出すようにデータエンティティと通信することができるが、データエンティティ(オペレーティングシステム、プログラム、その他のデータエンティティなど)は必ずしも各種実施形態の一部を成すとは限らない(ただし、データエンティティが実施形態の一部を成す構成も除外されない)。
【0241】
なお、反応を呼び出す際、システム、ハードウェアなどを制御する各種実施形態を提供することもできる。いくつかの実施形態では、たとえば、自由空間ジェスチャを感知する、および/または自由空間ジェスチャに反応する既存の機能を備えていないオペレーティングシステムおよびプログラムを実行するタッチスクリーン付きスマートフォンを、自由空間ジェスチャによって制御することができる。
【0242】
次に、図21は、面限定制御に自由空間入力を適用する別の例示の方法を示す。ここでも仮想または「疑似」入力を提供することによって反応を呼び出すアプローチが利用される。図21の構成は、図20を参照して先に例示し説明した構成と少なくとも幾分類似する。しかしながら、明瞭化のため、図21の構成は、携帯電子デバイス、特にモバイルオペレーティングシステム(OS)を走らせるヘッドマウントディスプレイ(HMD)、たとえば、アンドロイド、iOS、Windowsフォンなどに言及して、より具体的な例を示す
【0243】
図21の例示の構成では、モバイルオペレーティングシステムがヘッドマウントディスプレイのプロセッサにインスタンス化される(2130)。モバイルオペレーティングシステムは、提供されたタッチスクリーン入力に対する反応を呼び出すように構成される。実際のタッチスクリーンシステムはヘッドマウントディスプレイに存在してもしなくてもよい。モバイルオペレーティングシステムがタッチスクリーン入力を受け入れる、および/または認識する限り、タッチスクリーンが容認されるが必須ではない。
【0244】
図20を参照して上述したように、ヘッドマウントディスプレイのプロセッサにモバイルオペレーティングシステムをインスタンス化するステップ2130は、少なくとも特定の実施形態では任意であり、方法の一部とみなしてもみなさなくてもよい。
【0245】
引き続き図21を参照すると、インタープリタがヘッドマウントディスプレイのプロセッサにインスタンス化される(2132)。インタープリタは、自由空間スワイプ基準、すなわち、自由空間スワイプジェスチャが行われたか否かを判定する基準を含む。
【0246】
インタープリタは、特定のステップを実行する実現可能だが必須ではないアプローチを示す。特定のケースでは、1以上の自由空間入力の基準や、入力が上記基準を満たすか否かを判定し、オペレーティングシステムと通信する実行可能な命令などを略一体化されたアセンブリに組み込むことが都合の良い場合がある。より口語的には、自由空間ジェスチャを通じてデバイスを制御できるように、各種実施形態の一部または全部の機能を、ヘッドマウントディスプレイまたはその他の携帯電子デバイスのプロセッサに簡便にロードすることができるプログラムに組み込むことができる。上記プログラムは、新たな「入力言語」(自由空間ジェスチャ)を解釈し、完全にまたは部分的に既に存在する入力言語の作用を実現する(タッチスクリーン入力機能付きのモバイルオペレーティングシステム)ものとみなすことができる。したがって、上記プログラムは本明細書ではインタープリタと称する。
【0247】
例示のため、図21に示す方法は上記インタープリタを含む(特定の以下の図面も同様に、インタープリタのコンセプトに言及することができる)。しかしながら、インタープリタの使用もインタープリタに関して図示される構成も単なる例であり、他の構成も同等に適切な場合がある。
【0248】
さらに図21を参照すると、自由空間スワイプがヘッドマウントディスプレイのセンサを用いて感知される(2134)。通常、必須ではないが、センサはカメラ、深度カメラ、または類似のカメラとすることができるが、他の構成も同等に適切な場合がある。
【0249】
自由空間スワイプ入力がセンサからインタープリタに通知される(2136)。インタープリタでは、自由空間スワイプが基準を満たすか否かが判定される(2138)。判定2138が肯定である場合、該方法はステップ2140に進み、判定2138が否定である場合、ステップ2140がスキップされる。
【0250】
引き続きステップ2140では、タッチスクリーンスワイプ反応がモバイルオペレーティングシステムに呼び出される。図21に示す構成では、仮想タッチスクリーンリンクがインタープリタからモバイルオペレーティングシステムに接続される(2140A)。通常、必須ではないが、モバイルオペレーティングシステムは、特定し物理的タッチスクリーンと通信するプロトコルを含むことができる。インタープリタからモバイルオペレーティングシステムまで仮想タッチスクリーンリンクを接続する際、このモバイルオペレーティングシステムのプロトコルは、モバイルオペレーティングシステムがインタープリタ(またはその一部)を物理的タッチスクリーンとして認識し、インタープリタから送信される少なくとも何らかの情報を物理的タッチスクリーンからのタッチスクリーン入力として認識するように対処させることができる。より口語的には、インタープリタは「私はタッチスクリーンです」とモバイルオペレーティングシステムに伝え、タッチスクリーンデータをモバイルオペレーティングシステムに送信するように手配する。しかしながら、インタープリタは通常、実際のタッチスクリーンではなく、その仮想バージョン(および対応する仮想データ)を表す。
【0251】
言い換えると、ある意味では、インタープリタは、疑似(すなわち、仮想)タッチスクリーンを、疑似(すなわち、仮想)タッチスクリーン入力を感知するモバイルオペレーティングシステムに接続することによってモバイルオペレーティングシステムを「欺いている」と考えることができる。
【0252】
さらに図21を参照すると、仮想面タッチスクリーンスワイプは、自由空間スワイプに基づき、インタープリタで生成される(2140B)。すなわち、実際のタッチスクリーンからの実際のスワイプを模倣する仮想入力が生成される(2140B)。図20を参照して上述したように、仮想タッチスクリーンスワイプは、各自由空間スワイプにとって一意となるように生成し(2140B)、すべての自由空間スワイプやそのハイブリッドなどに対して基準化することができる。
【0253】
仮想タッチスクリーンスワイプが、仮想タッチスクリーンリンクによってモバイルオペレーティングシステムに通知される(2140C)。図21では、該方法は2140C後に終了するが(この時点でタッチスクリーンスワイプ反応は既にモバイルOS内で呼び出されている(2140))、関連反応を実行する際にモバイルオペレーティングシステムやヘッドマウントディスプレイなどによって実行される行為は、不定期間継続する場合がある。たとえば、図21に示すように、該方法はいったんタッチスクリーンスワイプ反応が呼び出されれば(2140)完了するが、たとえば、表示内容を左から右に移動させる、メニューを呼び出す、またはその他の機能(ヘッドマウントディスプレイおよび/またはその他のハードウェアおよび/または通信するシステムへの物理的応を含むことができるが必須ではない)などを通じた、何らかの形でのヘッドマウントディスプレイの制御などの呼出し作用は実行させることができる、および/または図21に示すステップが名目上完了した後も継続させることができる。
【0254】
特にステップ2140Bを参照すると、なお、特定のオペレーティングシステム、プログラム、および/または他のデータエンティティでは、「糖衣構文」と称されるアプローチを利用することができる。糖衣構文は、特定の入力および/またはその他のデータを基準に沿って定義することができる、および/または上記特徴が入力の認識、入力の通知、入力への反応などの特徴を基準化することができる構成を表す。より具体的な例として、タッチスクリーン入力を受け取るように構成されるモバイルオペレーティングシステムでは、右方スワイプとして受け入れられる入力の必要条件、右方スワイプである、あるいは右方スワイプと疑われる入力の処理、右方スワイプ入力を受け取るときに実行されるコマンドまたはその他の反応は、データおよび/または実行可能な命令の集合体として組み込むことができる。より口語的には、コードの「構成単位」(上述の糖衣構文とも称される)が右方スワイプにも存在し、右方スワイプに反応するためのプログラムを作成する際、コードの構成単位を単に追加することができる。糖衣構文の使用は、作業節減アプローチであるとみなすことができる。スワイプを定義し、個々のプログラムに関してスワイプを検出および特定するコードを書く必要性を無くすことができる。プログラムをコーディングする基準も簡易化することができる。
【0255】
このようなやり方での糖衣構文の使用は、少なくともいくつかの実施形態では、実行を簡易化することができる。
【0256】
たとえば、アンドロイド、iOS、Windowsフォンなどの電子デバイス用のモバイルオペレーティングシステムについて考える。上記オペレーティングシステムは部分的には、携帯電子デバイス内のプロセッサ状で動作する各種プログラムやライブラリなどの使用を軽減しサポートするように機能することができる。オペレーティングシステムが対処することのできるプログラムおよびその他のソフトウェアの範囲はおそらく非常に広く、同様に、所与のオペレーティングシステムを様々な異なる電子デバイスで使用することができる。簡略化のため、(中でも特に)タッチスクリーンジェスチャ入力などの少なくとも特定の機能を基準化して、ジェスチャ入力に各種プログラムおよび/またはデバイス全体にわたって一貫性持たせることが有益であろう。より口語的には、すべてではないが少なくとも一部のプログラムやデバイスなどに関して「右方スワイプが右方スワイプである」ことが有益である。
【0257】
糖衣構文は、上記基準化を遂行するのに役立てることができる。たとえば、タッチスクリーン右方スワイプブロックがオペレーティングシステムに含まれ、および/または利用可能とされる場合、タッチスクリーン入力として右方スワイプを使用することで、最初から入力基準のコーディング、意志決定、コマンド呼出しなどではなく単にブロックを利用することができる。
【0258】
糖衣構文および/またはその他の基準化アプローチが存在する場合、少なくとも特定の実施形態で利用することができる。引き続き上記の例を考えると、一貫したタッチスクリーン右方スワイプがオペレーティングシステムを動作させる一部または全部の電子デバイス、および/または電子デバイス上で動作する一部または全部のプログラムで実行される場合、一貫した実行に基づき仮想タッチスクリーンスワイプを生成する(2140B)実行可能な命令(および/またはその他のアプローチ)を構成することが有益であろう。広範囲のデバイスおよび/またはソフトウェアが同じようにタッチスクリーン入力を扱う場合、同一または類似のコード(すなわち、糖衣構文)を使用する程度でさえ、タッチスクリーン入力を呼び出すプロセスを簡略化することができる。
【0259】
よって、糖衣構文は、実際的および/または効率的に実行を簡易化する機会を表すことができる。仮想タッチスクリーンスワイプを生成する(2140B)ように構成される1セットの実行可能な命令は、タッチスクリーン右方スワイプの場合の糖衣構文に対応するように書くことができ、それによって提供される仮想タッチスクリーンスワイプは、様々なオペレーティングシステム、プログラム、電子デバイスなどによって確実に実際のタッチスクリーンスワイプとして受け入れられると予測できるため、対応する反応も確実に実行することができる。
【0260】
なお、糖衣構文は必ずしも各種実施形態の一部を成すと限らず、糖衣構文も、オペレーティングシステムおよび/または電子デバイスの入力および/またはその他の機能を基準化するその他のアプローチも必ずしも、各種実施形態によって実行されない、各種実施形態によって動機付けされない、あるいは各種実施形態に必須ではない。むしろ、上記基準化は、少なくとも特定のオペレーティングシステム、プログラム、電子デバイスなどにおいて既に存在している場合があり、各種実施形態は特定の機能を実行するためにその基準化を利用することができる。
【0261】
しかしながら、たとえ糖衣構文がオペレーティングシステム、電子デバイス、ソフトウェアなどで使用されなくても、実施形態はオペレーティングシステム、電子デバイス、ソフトウェアなどと共に利用することができる。糖衣構文および/またはその他の基準化が存在しない場合、より精密な実行可能な命令のセット(またはその他のアプローチ)を利用して、たとえば、様々なプログラムや電子デバイスなどの基準を満たすのに十分リアルな仮想タッチスクリーンスワイプを提供するように、実際のタッチスクリーンスワイプとして受け入れられる仮想タッチスクリーンスワイプを生成すること(2140B)ができる。
【0262】
特定の実施形態において糖衣構文を検討することは、ある意味では、タッチスクリーンデバイス内での実際のタッチスクリーンとプロセッサとの間の基準通信プロトコルを検討することと類似する。上記基準通信プロトコルは、たとえば、各種タッチスクリーンと各種デバイスとの間の互換性を促進するために存在する場合がある。上記タッチスクリーン通信基準は、各種実施形態で作成されていなくても、あるいは含まれていなくてもよく、各種実施形態の一部を成していなくてもよく、すべての実施形態に存在する必要はない。しかしながら、各種実施形態はたとえば、仮想タッチスクリーンリンクを接続する(2140A)、および/または仮想タッチスクリーンスワイプを通知する(2140C)際に上記通信基準を利用することができる。
【0263】
同様に、糖衣構文も、各種実施形態で作成されていなくても、あるいは含まれていなくてもよく、各種実施形態の一部を成していなくてもよく、すべての実施形態に存在する必要はない。しかしながら、各種実施形態は、仮想タッチスクリーンスワイプ(および同様にその他の仮想入力)を生成する(2140B)際、糖衣構文を利用することができる。糖衣構文の使用可能性を本明細書では特定の機能を実際にはどのように実行するかに関する特定の例として言及したが、実施形態はこれに限定されない。
【0264】
図21とステップ2140を参照すると、例示の構成は、実質上、モバイルオペレーティングシステムに提供される疑似タッチスクリーン入力によってタッチスクリーンスワイプ反応を呼び出す(2140)。このような構成は、少なくとも特定の実施形態の場合、たとえば、タッチスクリーンデバイスで利用されるように構成されるモバイルオペレーティングシステムは既にタッチスクリーン入力を受け入れることができるために有益である。すなわち、タッチスクリーン入力を構成するプロトコルがモバイルオペレーティングシステムに存在することができ、同様に、タッチスクリーン入力を通知する経路も存在することができ、モバイルオペレーティングシステムは上記タッチスクリーン入力を「予測」することができる(その結果、アンチウィルスソフトウェアやエラートラッピングルーチンなどは、仮想タッチスクリーン入力を偽装データや攻撃などとみなす可能性が低い)。口語的には、タッチスクリーンデバイスはタッチスクリーン入力を受け取るように設定することができるため、疑似(仮想)タッチスクリーン入力の送信を簡易化することができる。
【0265】
しかしながら、実施形態は仮想タッチスクリーン入力を用いて反応を呼び出すことのみに限定されず、他の構成も同等に適切な場合がある。
【0266】
図22は、面限定制御に自由空間入力を適用する別の例示の方法を示す。しかしながら、図21の構成は仮想タッチスクリーン入力を用いて反応を呼び出し、図22の例は仮想タッチスクリーン事象を用いて反応を呼び出す。
【0267】
図22の例示の構成では、モバイルオペレーティングシステムがヘッドマウントディスプレイのプロセッサにインスタンス化される(2230)。モバイルオペレーティングシステムは、提供されるタッチスクリーン入力に対する反応を呼び出すように構成される。
【0268】
インタープリタがヘッドマウントディスプレイのプロセッサにインスタンス化される(2232)。インタープリタは自由空間スワイプ基準、すなわち、自由空間スワイプジェスチャが提供されたか否かを判定する基準を含む。
【0269】
自由空間スワイプがヘッドマウントディスプレイのセンサを用いて感知される(2234)。自由空間スワイプ入力がセンサからインタープリタに通知される(2236)。インタープリタでは、自由空間スワイプが基準を満たすか否かが判定される(2238)。判定2238が肯定である場合、該方法はステップ2240に続き、判定2238が否定である場合、ステップ2240がスキップされる。
【0270】
引き続きステップ2240では、タッチスクリーンスワイプ反応がモバイルオペレーティングシステムに呼び出される。
【0271】
2240で使用される「事象」という文言に関しては、通常、必須ではないが、モバイルオペレーティングシステムは、タッチスクリーン入力に関連付けられる事象などの事象を追跡する内部構成を含むことができる。タッチスクリーン入力がモバイルオペレーティングシステムで受け取られ、(たとえば)スワイプを表すと判定される場合、タッチスクリーン入力自体(タッチがどこでいつ発生したかに関する詳細情報、スワイプ中の接触経路、動作速度など)はオペレーティングシステム内で転送することができない。むしろ、事象がオペレーティングシステム内で発生し、その後、転送することができる。たとえば、タッチスクリーンスワイプ入力がオペレーティングシステムにおいてタッチスクリーンから受け取られる場合、フラグを設定することができ、スワイプ入力が受け取られたという表示として、「スワイプ=真」といった何らかの形式の論理状態を設定することができる。
【0272】
図22に示す構成では、仮想事象リンクがインタープリタからモバイルオペレーティングシステムに接続される(2240A)。これは、たとえば、事象が記録される(もしあれば)オペレーティングシステムの一部や、事象が発生したと判定されるか否かを制御するオペレーティングシステム内の実行可能な命令などを特定することを表すことができる。
【0273】
さらに図22を参照すると、仮想タッチスクリーンスワイプ事象は、実際の仮想タッチスクリーンスワイプがオペレーティングシステムによって提供され、受け入れられた場合、インタープリタにおいて、オペレーティングシステム内で発生し得る事象に対応して生成される(2240B)。すなわち、モバイルオペレーティングシステム内で発生する実際の事象を模倣する仮想事象が、インタープリタにおいて生成される(2240B)。
【0274】
仮想タッチスクリーンスワイプ事象が仮想事象リンクによってモバイルオペレーティングシステムに通知される(2240C)。この時点で、モバイルオペレーティングシステムに関する限り、タッチスクリーンスワイプは既に行われており、対応する反応をモバイルオペレーティングシステムによって実行することができる。
【0275】
ある意味では、図22に示すアプローチは、タッチスクリーンシステムを迂回する「回避策」と考えることができる。タッチスクリーン入力データは現実か仮想かにかかわらず、オペレーティングシステムに送信されてもされなくてもよい。タッチスクリーンデータの受信および/または検討は現実か仮想かにかかわらず無関係である。むしろ、タッチスクリーンスワイプが発生したか否かを「把握している」あるいは「判定する」オペレーティングシステムの部分は、タッチスクリーンスワイプが実際に発生したと受け入れさせる。タッチスクリーン入力が、試合のスコアを記載する人の記録であると考えられる場合、事象は受け取る得点と類似する。図21の構成が記録されたプレーの疑似類似物を生成する場合、図22の構成はスコアを直接変更する。
【0276】
図22に示すような構成が、少なくとも特定の実施形態に有効である場合がある。たとえば、タッチスクリーン入力は比較的複雑であり、複数のおそらくは高度な基準によって評価することができる。よって、モバイルオペレーティングシステムを「欺く」のに十分な仮想タッチスクリーン入力を生成することは困難であるかもしれない。システムがたとえば上述したように糖衣構文で基準化されない場合、仮想タッチスクリーン入力が満たさなければならない特定の基準はデバイス、オペレーティングシステム、および/またはプログラム毎に変化する場合があり、ここでも適切な仮想タッチスクリーン入力を生成するためのより高度な偽装が必要となる。
【0277】
対照的に、通常、入力は、たとえば、「発生した」あるいは「発生しなかった」などの比較的シンプルデータであり、可能性としては1ビットのデータのことすらある。仮想事象を生成すること(2240B)は少なくとも特定の実施形態の場合、比較的簡易であり得る。一方、仮想事象リンクを接続すること(2240A)、および/または仮想タッチスクリーンスワイプ事象を通知すること(2240C)は難題となり得る。たとえば、タッチスクリーンとインタフェースをとるように設計されるモバイルオペレーティングシステムはタッチスクリーン入力を容易に受け入れるように構成され、提供される入力用の明確な経路を設けることができるが、このようなモバイルオペレーティングシステムは、事象が通常はモバイルオペレーティングシステム内で生成される場合には、外部源からの事象を容易に受け入れるように構成されているとは限らない。
【0278】
各種実施形態を実行するのに適したアプローチは、所与の実施形態の詳細に応じて変動し得ると理解すべきである。図21に示すような構成が適切な場合もあれば、図22に示すような構成が適切な場合もあり、その他の構成が適切な場合もある。
【0279】
次に、図23は、面限定制御に自由空間入力を適用する別の例示の方法を示す。図23の例は、コマンドをモバイルオペレーティングシステムに送ることによって反応を呼び出す。
【0280】
図23の例示の構成では、モバイルオペレーティングシステムがヘッドマウントディスプレイのプロセッサでインスタンス化される(2330)。モバイルオペレーティングシステムは、該システムに提供されるタッチスクリーン入力への反応を呼び出すように構成される。インタープリタがヘッドマウントディスプレイのプロセッサにインスタンス化される(2332)。インタープリタは自由空間スワイプ基準を含む。自由空間スワイプは、ヘッドマウントディスプレイのセンサを用いて感知される(2334)。自由空間スワイプ入力が、センサからインタープリタに通知される(2336)。インタープリタでは、自由空間スワイプが基準を満たすか否かが判定される(2338)。判定2338が肯定である場合、該方法はステップ2340に進み、判定2338が否定である場合、ステップ2340がスキップされる。
【0281】
引き続きステップ2340では、タッチスクリーンスワイプ反応がモバイルオペレーティングシステムに呼び出される。
【0282】
図23に示す構成では、仮想コマンドリンクがインタープリタからモバイルオペレーティングシステムに接続される(2340A)。これは、たとえば、タッチスクリーン入力に反応してコマンドを生成するオペレーティングシステムの部分や、コマンドを目的地に通信するオペレーティングシステムの部分などを特定することを表すことができる。図21の構成では仮想タッチスクリーン入力を提供し、図22の構成では仮想事象を挿入し、図23の構成では仮想コマンドをオペレーティングシステムに送信する。
【0283】
実際の仮想タッチスクリーンスワイプがオペレーティングシステムに提供され受け入れられた場合に生成することができるコマンドに対応する仮想オペレーティングシステムコマンドが、インタープリタに生成される(2340B)。すなわち、モバイルオペレーティングシステムへの実際のコマンドを模倣する仮想コマンドが、インタープリタに生成される(2340B)。通常、必須ではないが、仮想コマンドは、オペレーティングシステムが呼び出される反応を実行するコマンド、および/またはオペレーティングシステムが呼び出される反応を実行するように他のエンティティ(アプリケーション、ビデオドライバなど)に命令するコマンドであってもよい。
【0284】
仮想オペレーティングシステムコマンドが、仮想事象リンクによってモバイルオペレーティングシステムに通知される(2340C)。この時点で、仮想コマンドが与えられると、対応する反応をモバイルオペレーティングシステムによって実行することができる。
【0285】
図22に示すアプローチがタッチスクリーンシステムを迂回する「回避策」であるとみなすことができないとき、図23に示すアプローチを入力の大半または全部およびタッチスクリーン入力に対するオペレーティングシステムの評価機能を迂回する「回避策」とみなすことができる。タッチスクリーン入力データやそれに関連する事象などは、実際か仮想かにかかわらず送信してもしなくてもよい。むしろ、図23の構成では、適切なコマンドを、上記コマンドを生成する際にオペレーティングシステムによって使用される通常プロセスに従わずに直接オペレーティングシステムに送信することができる。タッチスクリーン入力が試合のスコアの記録に相当し、事象が得られた得点に相当すると考えられる場合、コマンドは勝利(または敗北)の宣言に相当する。図23の構成は、オペレーティングシステムに送信される疑似コマンドによって何らかの機能を実行するようにオペレーティングシステムに直接命令する。
【0286】
図23に示すような構成は少なくとも特定の実施形態にとって有効であり得る。たとえば、コマンドの送信は、仮想データが生成されず、仮想事象が記録されないという点で、非常に直接的なアプローチとみなすことができる。実際上、オペレーティングシステム自体の機能は、少なくともある程度、このような命令が出されるべきだと判定する動作を生じさせるのではなく、単に命令を出すことによって果たすことができる。しかしながら、図22を参照して上述したように、モバイルオペレーティングシステムは必ずしも、外部源からの内部コマンドを容易に受け入れるように構成されていない。事実、上記の機能はオペレーティングシステムの破壊とみなされ、オペレーティングシステムを防御する手段(アンチウィルスソフトウェアなど)を通じて回避される場合がある。
【0287】
図21図23は各種実施形態を実施するために使用可能なアプローチの3つの例を示すが、実施形態はそれに限定されず、他のアプローチが同等に適切な場合がある。たとえば、特定の実施形態の場合、コマンドはインタープリタで生成し、モバイルオペレーティングシステムを完全に省いてヘッドマウントディスプレイまたはその他のデバイス内のアプリケーションやドライバなどに通信することができる。また、複数のアプローチが組み合わされるハイブリッド構成が適切な場合もある。図示される例示のアプローチは必ずしも排他的ではない。
【0288】
さらに、図21図23に示す例は明瞭化のため、単独のケース、すなわち、インタープリタとプロセッサにインスタンス化されるモバイルオペレーティングシステムとを備えるヘッドマウントディスプレイに言及しているが、実施形態はこのような構成に限定されない。その他のデバイス、システム、アプローチなども同等に適切な場合がある。
【0289】
上述したように、少なくとも2つの明白な特徴、すなわち、面限定入力の相当物として自由空間入力を適合させることと、面限定入力を受け入れるように構成されるシステムにおいて自由空間入力への反応を呼び出すこととに関する例を本明細書では提示した。簡略化のため、これらの2つの特徴は別々に説明したが、各種実施形態内でこれらの特徴の組み合わせが適切な場合もある。1例を図24Aおよび図24Bに示す。しかしながら、これら2つの特徴を本明細書で詳細に説明したが、実施形態は例示の特徴に限定されないことを強調しておく。
【0290】
図24Aを参照すると、モバイルオペレーティングシステムがヘッドマウントディスプレイのプロセッサにインスタンス化される(2430)。モバイルオペレーティングシステムは、提供されるタッチスクリーン入力に対する反応を呼び出すように構成される。インタープリタがヘッドマウントディスプレイのプロセッサにインスタンス化される(2432)。インタープリタは自由空間スワイプ基準を含む。
【0291】
インタープリタをインスタンス化する(2432)、具体的には自由空間入力基準をインスタンス化することに関して、図24Aの例では、離散暗黙的アプローチ(図15Aを参照して例示し説明したアプローチに少なくとも幾分類似する)が提示される。タッチダウン、スワイプ、リフトオフ状態に関する3つの副基準がそれぞれステップ2432A、2432B、2432Cでプロセッサにインスタンス化される。
【0292】
サブシステム2432Aを参照すると、プロセッサに自由空間タッチダウン状態副基準をインスタンス化することは、自由空間入力を提供するために伸ばした人差し指がエンドエフェクタとしての役目を果たすことを必要条件とすること(2432A1)と、他の指の伸長を除外すること(2432A2)とを含む。自由空間タッチダウン状態副基準はある範囲内の下方動作を規定し(2432A3)、反発加速を制限し(2432A4)、指関節の動作範囲も制限する(2432A5)。
【0293】
引き続き図24A(およびステップ2432)とサブシステム2432Bを参照すると、プロセッサに自由空間タッチダウン状態副基準をインスタンス化することは、自由空間入力を提供するために伸ばした人差し指がエンドエフェクタとしての役目を果たすことを必要条件とすること(2432B1)と、他の指の伸長を除外すること(2432B2)とを含む。自由空間タッチ状態副基準はある範囲内の左右動作を規定し(2432B3)、反発加速を制限し(2432B4)、指関節の動作範囲も制限する(2432B5)。
【0294】
サブシステム2432Cに関して、プロセッサに自由空間タッチダウン状態副基準をインスタンス化することは、自由空間入力を提供するために伸ばした人差し指がエンドエフェクタとしての役目を果たすことを必要条件とすること(2432C1)と、他の指の伸長を除外すること(2432C2)とを含む。自由空間タッチ状態副基準はある範囲内の上方動作を規定し(2432C3)、反発加速を制限し(2432C4)、指関節の動作範囲も制限する(2432C5)。
【0295】
次に、図24Bを参照すると、自由空間スワイプが、ヘッドマウントディスプレイのセンサを用いて感知される(2434)。自由空間スワイプ入力はセンサからインタープリタに通知される(2436)。インタープリタでは、自由空間スワイプが基準を満たすか否かが判定される(2438)。判定2438が肯定である場合、該方法はステップ2440に進み、判定2438が否定である場合、ステップ2440がスキップされる。
【0296】
引き続きステップ2440では、タッチスクリーンスワイプ反応がモバイルオペレーティングシステムに呼び出される。仮想タッチスクリーンリンクが、インタープリタからモバイルオペレーティングシステムに接続される(2440A)。仮想面タッチスクリーンスワイプが、自由空間スワイプに基づきインタープリタに生成される(2440B)。仮想タッチスクリーンスワイプが、仮想タッチスクリーンリンクによってモバイルオペレーティングシステムに通知される(2140C)。
【0297】
図25は装置の例示の実施形態を示す概略図である。
【0298】
図25の例示の構成では、装置2560はプロセッサ2562と、プロセッサと通信するセンサ2564とを含む。プロセッサはインタープリタ2568をさらに含む。また、図25の構成は、プロセッサ2560に配置されるデータエンティティ2566を示す。上述したように、データエンティティ(オペレーティングシステムなど)は必ずしも各種実施形態の一部である必要はないが、存在して各種実施形態と通信することができる。この点を強調するため、データエンティティ2566は破線で示している。
【0299】
プロセッサ2562は、インスタンス化される実行可能な命令を実行するように構成される。本発明は、プロセッサ2562の選択に関して限定されない。適切なプロセッサ2562はデジタル電子マイクロプロセッサを含むがそれに限定されない。明瞭化のため、プロセッサ2562は本明細書の少なくともいくつかの箇所で独立した物理的デバイスと称されているが、これは必須ではなく、その他の構成も適切な場合がある。たとえば、プロセッサ2562は、協働する2つ以上の物理的プロセッサ、明確な物理的形状を持たないネットワーク内の処理機能などを構成することができる。
【0300】
センサ2564は自由空間入力を感知するように構成される。図25に示すように、センサ2564はカラーデジタルカメラ、深度カメラなどの撮像装置である。しかしながら、これらは単なる例であり、実施形態は、どんなセンサを利用することができるかに関して限定されない。適切なセンサは、デジタルおよび/またはアナログカメラ(無彩色および/またはカラーで動作するか、可視光、赤外光、熱放射、および/または紫外光を感知するか)、深度カメラ、構造化光センサ、飛行時間センサ、超音波センサを含むことができるが、それらに限定されない。
【0301】
図示するように、センサ2564はプロセッサ2562に直接接続される。しかしながら、これは単なる1例である。センサ2564が装置2560の一部ではない、および/またはセンサ2564が装置2560から物理的に離れている構成を含むがそれらに限定されない他の構成も同等に適切な場合がある。また、実施形態は、どのようにしてプロセッサ2562とセンサ2564が相互に通信することができるかに関して限定されない。ハードワイヤードリンクが適切であると図25に示されているが、無線通信を含むがそれに限定されない他の構成が同等に適切な場合もある。
【0302】
データエンティティ2566は、上述したように、少なくとも特定の実施形態の場合、任意の特徴とすることができ、存在する場合には、(破線で示すように)装置2560自体の一部であってもなくてもよい。存在する場合、データエンティティ2566は、各種実施形態によって呼び出されたとき、面限定入力反応などの何らかの機能を実行する、あるいは少なくともその機能の実行を命令するように構成することができる。実施形態は、もしあればどんなデータエンティティ2566が存在できるか、および/またはデータエンティティ2566が存在するか否かに関して限定されない。また、図25の構成はプロセッサ2562にデータエンティティ2566が配置され、同じプロセッサ2562にインタープリタ2568が配置されているが、これは単なる1例である。
【0303】
存在する場合、データエンティティ2566は別のプロセッサに存在することができる。たとえば、装置2560は、別のプロセッサと通信するインタープリタ2568を備えたプロセッサ2562を有することができる。より具体的な例では、装置2560は、追加機能を提供するように、別のデバイスに接続可能に構成される「プラグイン」デバイスとして存在することができる。上記の例では、プラグインデバイスは、他のデバイスに存在することができる任意のプロセッサとは別にプロセッサ2560を有することができる。同様に、装置2560の一部として図示されるセンサ2564は、各種実施形態の目的で利用されているセンサ2564の機能を備えた他のデバイス上のセンサであってもよい。
【0304】
次に、図25を参照すると、上述したように、インタープリタ2568がプロセッサ2562に配置される。上述したように、インタープリタ2568は、自由空間入力が基準を満たすか否かを判定するために自由空間入力基準と比較手段などの2つ以上の機能の実施形態を含む、および/または表すことができる。しかしながら、インタープリタ2568の使用は単なる例であり、自由空間入力基準と比較手段が個別にプロセッサ2562に配置される構成を含むがそれに限定されない他の構成も同等に適切な場合がある。
【0305】
図26は装置の別の例示の実施形態を示す概略図である。
【0306】
図26の例示の構成では、装置2660は、図25を参照して説明したプロセッサに少なくとも類似するプロセッサ2662を含む。装置2660は装置と通信するセンサ2664Aおよび2664Bをさらに含む。センサ2664Aおよび2664Bは、図25を参照して説明したセンサと少なくとも類似するセンサであってもよい。しかしながら、図示されるように、実施形態は単独のセンサに限定されない。同様に、その他の構成要素も複製する、組み合わせる、分割することができる。
【0307】
図26に示す装置2660は、プロセッサ2662と通信する通信手段2682をさらに含み、プロセッサと他のエンティティとの間で通信するように構成される。通信手段2682が存在する場合、実施形態は通信手段2682に関して限定されない。通常、必須ではないが、通信手段2682はWi-FiやBluetooth(登録商標)などの無線通信手段とすることができるが、他の構成が同等に適切な場合もある。
【0308】
装置2660は、プロセッサ2662と通信するディスプレイ2684を含む。本明細書の他の箇所で上述したように、各種実施形態は、たとえば、ヘッドマウントディスプレイを含むがそれに限定されない携帯電子デバイスに適用することができる。実施形態は必ずしもディスプレイ2684を必要とせず、本明細書の特定の実施形態に存在するようなディスプレイ2684は1例である。図26に示すように、ディスプレイ2684は、閲覧者の左目と右目への出力に適合される左と右の画面を有するステレオディスプレイである。しかしながら、これは単なる1例である。実施形態は、ディスプレイ2684の種類に関して特に限定されない。通常、必須ではないが、ディスプレイ2684はビジュアルディスプレイとすることができる。存在する場合、様々なデバイスは、発光ダイオード(LED)、有機発光ダイオード(OLED)、プラズマスクリーンパネル(PDP)、液晶ディスプレイ(LCD)などを含むがそれらに限定されないディスプレイ2684として使用するのに適する。同様に、視聴面が他の場所で生成された後に投射またはその他の方法で伝送される画像のための受動画面である投射または伝送ディスプレイの使用が適切な場合もある。また、画像を直接ユーザの目に表示するシステムを含むがそれに限定されないその他の構成も同等に適切な場合がある。デジタルまたはアナログディスプレイ技術のいずれかが適切な場合がある。さらに、実施形態は、ディスプレイ2684としてビジュアルディスプレイを使用することに限定されない。
【0309】
図26をさらに参照すると、図示される装置2660は、プロセッサ2662と通信するハードドライブやソリッドステートドライブなどのデータ格納装置2686を含む。データ格納装置2686もその機能も必ずしもすべての実施形態で必須ではない。しかしながら、方法および装置に関する本明細書内の上述の例およびコメントは、自由空間入力基準のプロセッサへのインスタンス化を容易にするとしてデータ格納装置および/またはその他のデバイス/システムの言及も含む。より具体的な例では、図26に示すデータ格納装置2686は上記の設定に関連する情報を記憶することができ、その情報はプロセッサ2662によってアクセスされる、および/またはプロセッサ2662にインスタンス化される。実施形態は、データ格納装置2686などの構成要素を含むこと、および/または接続することに関して限定されない。必ずしも必須ではないが、データ格納装置2686(または通信手段、ディスプレイなど)などの構成要素は禁じられない。また、実施形態はどんなデータ格納装置2686が適切であるかに関して限定されない。データ格納装置2686は図26ではハードドライブとして示されるが、これは単なる例であり、他の構成も同等に適切な場合がある。
【0310】
プロセッサ2662は、インスタンス化されるインタープリタ2668を含む。通常、必須ではないが、インタープリタ2668および/またはその構成要素は実行可能な命令やデータなどを含むことができる。
【0311】
図示するように、インタープリタ2668は自由空間入力基準2670を含み、自由空間入力基準2670は状態基準である状態A基準2670A、状態B基準2670B、状態C基準2670C、状態D基準2670Dを含む。状態基準2670A~2670Dの使用は本明細書で既に扱ったが、これは単なる例である。本明細書で詳細に説明した構成を含むがそれらに限定されない他の構成も同等に適切な場合がある。
【0312】
インタープリタ2668は境界基準2672を含む。境界基準については本明細書で既に説明している。なお、上述の例は、状態基準(たとえば、2670A~2670D)と境界基準2672との組み合わせでなくてもよい。同様に、状態基準2670A~2670Dを含むすべての実施形態が必ずしも境界基準2672を含む必要はなく、その逆も言える。本明細書では例として両基準を一緒に示している(両方を含む実施形態は除外されない)。
【0313】
インタープリタ2668は、(たとえば、センサ2664Aおよび/または2664Bから受け取る)自由空間入力と自由空間入力基準2670および/または状態基準2670A~2670Dとを比較するように構成される入力比較手段2674を含む。
【0314】
インタープリタ2668は、タッチスクリーン入力反応を呼び出すように構成される呼出し手段2676をさらに含む。図26に示すように、呼出し手段2676は仮想タッチスクリーンリンク2678Aと仮想入力生成手段2680A、仮想タッチ入力事象リンク2678Bと仮想事象生成手段2680B、仮想オペレーティングシステムコマンドリンク2678Cと仮想コマンド生成手段2680Cを含む。上述したように、上記の対はそれぞれ、異なる方法でタッチスクリーン入力反応を呼び出すように構成することができる。通常、必須ではないが、所与の実施形態は、上記対のうちの1つのみ、つまり、仮想タッチスクリーンリンク2678Aと仮想入力生成手段2680A(それぞれ仮想タッチスクリーン入力を通知する、および生成するように構成される)、または仮想タッチ入力事象リンク2678Bと仮想事象生成手段2680B(それぞれ仮想事象を通知する、および生成するように構成される)、または仮想オペレーティングシステムコマンドリンク2678Cと仮想コマンド生成手段2680C(それぞれ仮想コマンドを通知する、および生成するように構成される)を含むことができる。網羅性のために3つすべての対を図26に示したが、通常、1対のみが存在するだけでよい(ただし、2対以上を有する実施形態は除外されない)。
【0315】
図25を参照して上述したように、装置2660の特定の構成要素がインタープリタ2668である、および/またはインタープリタ2668の一部であると示されているが、インタープリタ2668を必ずしも利用せずに、同様の構成要素および/または同様の機能を装置の各種実施形態に組み込むことができる。
【0316】
装置2660は、プロセッサ2662にインスタンス化され、モバイルオペレーティングシステムを含むがそれに限定されないオペレーティングシステム2666を含むことができる、および/または該オペレーティングシステムを必ずしも含まずに対処することができる。
【0317】
次に、図27を参照すると、実施形態は形状に関して特に限定されない。適切な構成は図27に示す例を含むがそれに限定されず、ここでは、眼鏡に似たヘッドマウントディスプレイの形状で構成される装置を例示する。
【0318】
図27に示すように、装置2760の例示の実施形態は、眼鏡に似た形状を有し、眼鏡のように装着されるように構成される本体2788を含む。実行可能な命令を実行するように構成されるプロセッサ2762が本体2788に配置される。別々のエンティティとして可視ではないが、プロセッサ2762は、図25に示すようなインタープリタおよびデータエンティティ、図26に示すようなインタープリタ(自由空間入力基準および/または状態基準、境界基準、入力比較手段、仮想タッチスクリーンリンクと仮想入力生成手段、仮想入力事象リンクと仮想事象生成手段、または仮想オペレーティングシステムコマンドリンクと仮想コマンド生成手段を含む呼出し手段を含む)およびオペレーティングシステム、および/または実行可能な命令および/またはデータのその他の構成をサポートすることができる。
【0319】
図27の装置2760は通信手段2782とデータ格納装置2786を含み、両方とも本体2788に配置される。装置2760は、本体2788に配置され、ステレオ構造で撮像装置として図27に示されるセンサ2764Aおよび2764Bをさらに含むが、これらは単に例である。装置2760は、本体2788に配置され、ステレオ構造で左右ビジュアルディスプレイとして示されるディスプレイ2784Aおよび2784Bをさらに含む。
【0320】
なお、図示する構成では、本体2788が構成され、センサ2764Aおよび2764Bが本体に配置されて、閲覧者が本体2788を装着したとき、ディスプレイ動作センサ2764Aおよび2764Bの視野は閲覧者の視線とほぼ整合し、ディスプレイ動作センサ2764Aおよび2764Bが閲覧者とある程度同様の視野を発揮すると仮定すると、閲覧者の視野に少なくとも幾分匹敵する視野を含むことができる。同様に、図示される構成では、本体2788が構成され、ディスプレイ2784Aおよび2784Bが本体に配置されて、閲覧者が本体2788を装着したとき、ディスプレイ2784Aと2784Bは閲覧者の目のほぼ前方に近接する。
【0321】
しかしながら、図27の構成は単なる1例であり、他のヘッドマウントディスプレイ、およびヘッドマウントディスプレイ以外のデバイスとシステムなどを含むが、それらに限定されない他の構成も同等に適切な場合があることを強調しておく。
【0322】
図28は、開示される手法の1実施形態により、各種操作を実行し、その操作によって生成および/または使用される様々な情報を保管することのできる装置のブロック図である。該装置は、本明細書に記載されるコンピュータまたは処理システムを表すことができる。処理システム2890は、図1図27の例に示される他のエンティティ、コンポーネント、またはサービス(および本明細書に記載されるその他の任意のコンポーネント)を実装することのできるハードウェアデバイスである。処理システム2890は、インターコネクト2893に連結される1以上のプロセッサ2891とメモリ2892とを含む。インターコネクト2893は、1以上の別個の物理的バス、2地点間接続、または適切なブリッジ、アダプタ、またはコントローラによって接続される両者を抽象的に表すように図28に示される。したがって、インターコネクト2893は、たとえば、システムバス、ペリフェラルコンポーネントインターコネクト(PCI)バスまたはPCIエクスプレスバス、ハイパートランスポートまたは業界基準アーキテクチャ(ISA)バス、スモールコンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、IIC(I2C)バス、または「ファイアワイア」とも称される米国電子電気学会(IEEE)規格1394バスを含むことができる。
【0323】
プロセッサ2891は処理システム2890の中央処理部であるため、処理システム2890の全体動作を制御する。特定の実施形態では、プロセッサ2891は、メモリ2892に記憶されるソフトウェアまたはファームウェアを実行することによってこれを達成する。プロセッサ2891は1以上のプログラマブル汎用または特定用途マイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、プログラマブルコントローラ、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、トラステッドプラットフォームモジュール(TPM)など、または上記デバイスの組み合わせとする、またはそれらを含むことができる。
【0324】
メモリ2892は処理システム2890の主メモリである、あるいは主メモリを含む。メモリ2892は任意の形状のランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、フラッシュメモリなど、またはそれらのデバイスの組み合わせを表す。使用時、メモリ2892はコードを含むことができる。1実施形態では、コードはコンピュータバスインタフェースを介して受け取る汎用プログラムを認識し、プロセッサで実行するための汎用プログラムを作成するように構成される一般的なプログラミングモジュールを含む。別の実施形態では、汎用プログラミングモジュールは、ASIC、PLD、またはフィイールドプログラマブルゲートアレイ(FPGA)などのハードウェア回路を用いて実行することができる。
【0325】
ネットワークアダプタ2894、記憶装置2895、I/Oデバイス2896もインターコネクト2893を通じてプロセッサ2891に接続される。ネットワークアダプタ2894はネットワークを介して遠隔デバイスと通信する機能を備えた処理システム2890を設け、たとえば、イーサネット(登録商標)アダプタまたはファイバチャネルアダプタとすることができる。ネットワークアダプタ2894は、クラスタ内の他のコンピュータと通信する機能を備えた処理システム2890を設けることもできる。いくつかの実施形態では、処理システム2890は、クラスタ内と外の通信にそれぞれ対処する2つ以上のネットワークアダプタを使用することができる。
【0326】
I/Oデバイス2896は、たとえば、キーボード、マウスまたはその他のポインティングデバイス、ディスクドライブ、プリンタ、スキャナ、ディスプレイデバイスなどのその他の入力および/または出力デバイスを含むことができる。I/Oデバイス2896は、たとえば、カメラおよび/またはポーズおよび/またはジェスチャを含むが、それらに限定されない視覚的入力を受け入れるように構成されるその他の撮像装置をさらに含むことができる。ディスプレイデバイスは、たとえば、陰極線管(CRT)、液晶ディスプレイ(LCD)、またはその他の適用可能なまたは簡便なディスプレイデバイスを含むことができる。ディスプレイデバイスは、ヘッドマウントディスプレイまたはその他の着用型デバイスなどの目近傍用途で使用するのに適したステレオディスプレイを含むが、それらに限定されない様々な形状をとることができる。
【0327】
メモリ2892に記憶されるコードは、ソフトウェアおよび/またはファームウェアとして実行されてプロセッサ2891をプログラムし、本明細書に記載される動作を実行することができる。特定の実施形態では、上記ソフトウェアまたはファームウェアはまず、(たとえば、ネットワークアダプタ2894を介して)処理システム2890を通じて遠隔システムからダウンロードすることによって処理システム2890に提供することができる。
【0328】
本明細書に記載される技術は、たとえば、ソフトウェアおよび/またはファームウェアでプログラムされるプログラマブル回路(たとえば、1以上のマイクロプロセッサ)、完全に特定用途向け配線(非プログラマブル)回路、またはこれらの形状の組み合わせによって実行することができる。特別用途向け配線回路は、たとえば1以上のAISC、PLD、FPGAなどの形状をとることができる。
【0329】
本明細書で紹介される手法を実行するのに使用されるソフトウェアまたはファームウェアは、マシン読取り可能記憶媒体に記憶し、1以上の汎用または特定用途プログラマブルマイクロプロセッサによって実行することができる。本明細書で使用される際、「マシン読取り可能記憶媒体」という文言は、マシンによってアクセス可能な形式で情報を記憶することができる機構を含む。
【0330】
マシンは、サーバコンピュータ、クライエントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、ラップトップコンピュータ、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、iPhone(登録商標)、Blackberry、プロセッサ、電話、ウェブ機器、ネットワークルータ、スイッチ、またはブリッジ、あるいは、マシンが行う行為を特定する(連続的またはそれ以外の)1セットの命令を実行することができる任意のマシンとすることができる。
【0331】
マシンアクセス可能な記憶媒体または記憶装置2895は、たとえば、記憶/非記憶媒体(たとえば、ROM;RAM;磁気ディスク記憶媒体;光記憶媒体;フラッシュメモリデバイス;など)など、またはそれらの組み合わせを含む。通常、記憶媒体は非一時的デバイスである、あるいは非一時的デバイスを含むことができる。この文脈で、非一時的記憶媒体は、有形のデバイス、すなわち、具体的な物理的形状を有するデバイスとすることができるが、デバイスは物理的状態を変更することもできる。よって、たとえば、非一時的とは、状態の変化にもかかわらず有形を保つデバイスを指す。
【0332】
「ロジック」という文言は、本明細書で使用されるとき、たとえば、特定のソフトウェアおよび/またはファームウェアでプログラムされるプログラマブル回路、特定用途向け配線回路、またはそれらの組み合わせを含むことができる。
【0333】
上記の説明、例、データは、本発明の製造と構造に関する完全な説明を提供する。本発明の多くの実施形態は本発明の精神と範囲を逸脱せずに実施することができるため、本発明は添付の請求項に存在する。

図1A
図1B
図2A
図2B
図2C
図2D
図3
図4A
図4B
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図11D
図12A
図12B
図12C
図12D
図13
図14
図15A
図15B
図16
図17
図18
図19
図20
図21
図22
図23
図24A
図24B
図25
図26
図27
図28