説明

ジェスチャベースの制御システムのためのシステムおよび方法

【課題】従来型の入力装置を使わないで表示画面の要素を操作する。
【解決手段】表示画面上に視覚的に提示された様々な要素へのジェスチャインタフェースを提供する。ジェスチャ語彙は、1つまたは両方の手で適切な「ポーズ」を形成することによって即時の一度限りの動作がもたらされる「瞬間」コマンドと、オペレータが、リテラル「ポインティング」ジェスチャによって画面上の要素を直接参照するか、相対または「オフセット」ジェスチャによってナビゲーション操作を実施する「空間」コマンドとを含む。このシステムは、特定の表示がそれ上に備えられた1つまたは複数のグローブ、あるいはユーザの手または体の部分に認識可能な表示を設けるための任意の適切な手段の形でユーザの手を識別できる能力を企図している。カメラのシステムは、ユーザの手の位置、向きおよび動きを検出し、その情報を実行可能コマンドに変換することができる。

【発明の詳細な説明】
【技術分野】
【0001】
この特許出願は、参照によりその全体が本明細書に組み込まれている、2005年2月8日に出願された米国仮特許出願第60/651290号、「ジェスチャベースの制御システム」の優先権を主張するものである。
【0002】
本発明は、一般には、コンピュータシステムの分野に関し、より詳細には、ジェスチャベースの制御システムのためのシステムおよび方法に関する。
【背景技術】
【0003】
ユーザは、マウス、キーボード、ジョイスティック、十字キーなどの入力デバイスを使用して、ディスプレイ上のウィンドウ内のデータまたは画像を操作し、あるいはウィンドウに関連するメニューまたは関連するプログラムから操作を選択することによってコマンドを入力し、コンピュータシステムと対話し得る。こうした入力装置は、カーソルなどのグラフィカルなオンスクリーンポインタを置くために使用され得る、位置変換装置として動作することもできる。カーソルは、たとえば、修正される文字を示し、あるいはデータが入力され、または操作が実施される位置を示すように機能する。何らかの形または外観のカーソルが一般に、コンピュータディスプレイ上に存在する。ユーザによる入力装置の操作は、カーソルの対応する動きをもたらす。したがって、たとえばマウスまたは他の入力装置が動くと、カーソルが同じ方向に動くことになる。
【0004】
カーソルは、その機能およびコンピュータシステムの状態により異なる外観を有し得る。たとえば、コンピュータディスプレイ上のテキストのフィールド内に置かれるとき、カーソルは、「Iビーム」、またはブリンクする縦線の外観を有し得る。テキストフィールドのカーソルの位置は、ユーザによって一般にはキーボードを介して入力される次の文字の位置を示す。カーソルは、その機能に応じた他の外観を有し得る。描画またはペインティングのプログラムでは、カーソルは、ペイントブラシ、鉛筆、消しゴム、バケツまたは他の図形として表され得る。
【0005】
カーソルは、ユーザ選択可能な操作の上に置かれ、またはウィンドウなどのグラフィック要素を選択するために使用されるときに、矢印またはポインタの形をとることもできる。カーソルで所望の操作を選択し、アクティブにするために、それは、操作のグラフィックまたはテキスト表現の上に置かれ得る。操作を行うために、マウス入力装置上に位置するボタンが押下されかつ/または解放され得る。ユーザは、視覚的なフィードバックによって、通常はコンピュータのディスプレイの画像の何らかの変化の形で、実行操作の受入れについての通知を受ける。使用中のプログラムのうちの1つまたは複数が一般に、この視覚的な応答を生成する。これらのプログラムは、選択された操作に応答して、表示画像を更新させる描画コマンドを生成する。
【0006】
従来技術のシステムの欠点は、入力装置がしばしば、ただ単に、装置であるということである。ユーザは、有線または無線のマウス、あるいは他の入力装置を有し、選択、位置変換、アクティブ化および他の入力機能を管理するためにその装置を使用することを求められる。これらの物理装置の使用はしばしば、自然または直覚的ではない。別の欠点は、それぞれ異なる機能が実施され得るように、入力装置のコンテキストを変更するために特定のステップを経る必要性である。
【0007】
非常に大きいディスプレイが普及するにつれて、従来技術の入力装置およびシステムのさらなる欠点が明らかになる。マウスを使用して、たとえば大きいディスプレイにわたり
カーソルの位置を変換しようとする場合、ユーザはしばしば、大きいディスプレイの一部であってもユーザがカーソルをドラッグできるようにするには、マウスを持ち上げ、それをマウス表面に置かなければならない。これは、無駄な、不自然な運動である。
【0008】
これらの問題への解決策を提供しようといくつかの従来技術の試みが行われてきた。従来技術の1つの解決策は、ユーザの手にグローブを使用することである。これらのグローブは、ユーザの1つまた複数の手を入力装置にすることを意図している。一実施形態では、入力グローブは、コンピュータシステムに、配線接続される。この解決策には、事実上ユーザをその場所に縛り付け、コンピュータシステムの近くにあること、および動き範囲の制約を要するという欠点がある。他の場合では、グローブは無線である。しかし、こうした無線の実装は、グローブ用の独立した電源を必要とする。電源の充電が必要であるとき、グローブは使用され得ない。
【発明の開示】
【発明が解決しようとする課題】
【0009】
このシステムは、表示画面または画面上に提示された、視覚的に提示された様々な要素へのジェスチャインタフェースを提供する。
【課題を解決するための手段】
【0010】
このシステムのオペレータは、一実施形態では、オペレータの手を使用して、「ジェスチャコマンド」の連続した流れを出すことによって、これらの要素をナビゲーションし操作する。他の実施形態では、ナビゲーションおよび制御を提供するために、ユーザの頭、足、腕、脚またはユーザの全身が使用され得る。ジェスチャ語彙は、片手または両手で適切な「ポーズ」を形成することによって即座の一度限りの動作がもたらされる「瞬間」コマンドと、オペレータが、リテラル「ポインティング」(literal pointing)ジェスチャによって画面上の要素を直接参照し、相対または「オフセット」ジェスチャによってナビゲーション操作を実施する「空間」コマンドとを含む。全体的または直接の空間ジェスチャのために使用されるポインティングジェスチャに加えて、本発明は、XYZ空間の相対的な空間ナビゲーションジェスチャの別のカテゴリを認識することもできる。この動作カテゴリは、XYZ技術と呼ばれることがある。高いフレームレートを維持し、オペレータのジェスチャの解釈においてほぼ感知不可能な遅れを保証し、注意深く設計された空間メタファと、容易に明らかな「直接操作」機構の両方を使用することによってこのシステムは、オペレータと、表される情報&プロセスとの間の鮮明な「認知結合」を提供する。このシステムは、ユーザの手を識別する能力について企図している。この識別システムは、グローブ、またはその上に特定の表示が備えられたグローブの形であってもよく、あるいはユーザの手の上に認識可能な表示を設けるための任意の適切な手段であってもよい。カメラのシステムは、ユーザの手の位置、向きおよび動きを検出し、その情報を実行可能なコマンドに変換することができる。
【発明を実施するための最良の形態】
【0011】
ジェスチャベースの制御システムのためのシステムおよび方法について述べられる。以下の説明では、本発明についてのより完全な理解を提供するために、複数の特徴について詳細に述べられる。本発明は、これらの具体的な詳細なしに実施され得ることが明らかである。他の場合では、よく知られている特徴については、詳細には述べられていない。
【0012】
システム
本発明の一実施形態のブロック図が、図1に示されている。ユーザは、並んだカメラ104A〜104Dの視野内で、彼の手101および102を見つける。カメラは、指ならびに手101および102の位置、向きおよび動きを検出し、プリプロセッサ105への出力信号を生成する。プリプロセッサ105は、カメラ出力をジェスチャ信号に変換し、
このジェスチャ信号は、システムのコンピュータ処理装置107に供給される。コンピュータ107は、入力情報を使用して、画面上の1つまたは複数のカーソルを制御させるコマンドを生成し、ビデオ出力をディスプレイ103に供給する。
【0013】
このシステムは、入力として単一ユーザの手を含んで示されているが、本発明は、複数のユーザを使用して実施されることもできる。さらに、このシステムは、手ではなく、または手に加えて、頭、足、脚、腕、肘、膝などを含めて、ユーザの体の1つまたは複数の任意の部分をも追跡し得る。
【0014】
示された実施形態では、ユーザの手101および102の位置、向きおよび動きを検出するために、4台のカメラが使用されている。本発明は、本発明の範囲または精神から逸脱せずに、より多くのまたは少ないカメラと共に使用され得ることを理解されたい。さらに、カメラは、この例示的な実施形態では対称的に配置されているが、本発明では、こうした対称性の要件はない。本発明では、ユーザの手の位置、向きおよび動きを可能にする任意の数のカメラ、またはカメラの位置決定が使用され得る。
【0015】
本発明の一実施形態では、使用されるカメラは、グレースケール画像をキャプチャすることができるモーション・キャプチャ・カメラである。一実施形態では、使用されるカメラは、Vicon MX40カメラなど、Vicon社製のものである。このカメラは、カメラ上の処理を含み、1000フレーム/秒で画像をキャプチャすることができる。モーション・キャプチャ・カメラは、マーカを検出し、マーカの位置を突き止めることができる。
【0016】
述べられた実施形態では、カメラは、光検出のために使用される。他の実施形態では、カメラまたは他の検出器は、電磁気、静磁気、RFIDまたは他の任意の適切なタイプの検出のために使用され得る。
【0017】
プリプロセッサ105は、3次元空間点の再構成および骨格点(skeletal point)のラベル付けを生成するために使用される。ジェスチャ変換器106は、3D空間的情報およびマーカ動き情報をコマンド言語に変換するために使用され、このコマンド言語は、ディスプレイ上のカーソルの位置、形状および動作を更新するためにコンピュータプロセッサによって解釈されることができる。本発明の代替の一実施形態では、プリプロセッサ105とジェスチャ変換器106は、単一の装置へと組み合わされることができる。
【0018】
コンピュータ107は、Apple社、Dell社、または他の任意の適切なメーカによって製造されたものなど、任意の汎用コンピュータであり得る。コンピュータ107は、アプリケーションを実行し、ディスプレイ出力を供給する。さもなければマウスまたは他の従来技術の入力装置から来るカーソル情報は、ここではジェスチャシステムから来ている。
【0019】
マーカ・タグ
本発明は、システムがユーザの手を見つけ、それが左手を見ているか、それとも右手を見ているか、またどの指が見えるかを識別できるように、ユーザの1つまたは複数の指の上のマーカ・タグを使用することを企図している。これは、システムがユーザの手の位置、向きおよび動きを検出することを可能にする。この情報は、複数のジェスチャがシステムによって認識され、ユーザによってコマンドとして使用されることを可能にする。
【0020】
一実施形態のマーカ・タグは、(この実施形態では、人間の手の上の様々な位置に付けるのに適している)基板と、基板の表面上に一意の識別パターンで配列された個別のマー
カとを含む物理タグである。
【0021】
マーカおよび関連する外部感知システムは、その3空間位置の正確で、精密で、迅速で、連続した取得を可能にする任意の領域(光学、電磁気、静磁気など)で動作し得る。マーカ自体は、(たとえば構造化された電磁パルスの放射によって)能動的に動作することも、あるいは(たとえばこの実施形態の場合のように光学的再帰反射型であることよって)受動的に動作することもある。
【0022】
それぞれの取得フレームで、検出システムは、(カメラまたは他の検出器の視野内の)機器を備えた作業領域ボリューム内に現在あるタグからのすべてのマーカを含む、回復された3空間位置の集合体の「クラウド」(aggregate cloud)を受信する。各タグ上のマーカは、十分な数があり、検出システムが以下のタスクを実施することができるように一意のパターンで配列される。(1)回復された各マーカ位置が、単一のタグを形成する点の唯一の下位集合に割り当てられるセグメント化、(2)点のセグメント化された各下位集合が特定のタグとして識別されるラベル付け、(3)識別されたタグの3空間位置が回復される位置決め、および(4)識別されたタグの3空間の向きが回復される向き決定。タスク(1)および(2)は、下記に述べられ、また図2の一実施形態で示されるように、マーカパターンの特定の性質によって可能となる。
【0023】
一実施形態のタグ上のマーカは、通常のグリッド位置のサブセットに付けられる。この実施形態の場合のように、基礎をなすこのグリッドは、従来のデカルト式の種類のものであってもよく、あるいは、そうではなく、他の何らかの通常の面モザイク(たとえば三角形/六角形/タイル配列)のものであってもよい。グリッドの目盛りおよび間隔は、隣接したグリッド位置が混同される可能性が低くなるように、マーカ感知システムの既知の空間分解能に関して確立される。すべてのタグについてのマーカパターンの選択が、以下の制約を満たすべきである:タグのパターンが、回転、変換またはミラーリングのいずれかの組合せによって、他のいずれかのタグのパターンのそれと一致するものではない。マーカの多様性および配列はさらに、指定されたいくらかの数の構成要素マーカの損失(または閉塞)が許容されるように選択され得る。いずれかの任意の変換の後、損なわれたモジュールを他のいずれかのモジュールと混同する可能性は依然として低くあるべきである。
【0024】
次に図2を参照すると、複数のタグ201A〜201E(左手側)および202A−202E(右手)が示されている。それぞれのタグは長方形であり、この実施形態では、5×7グリッド配列からなる。長方形の形状は、タグの向きを決定するのに役立つように、またミラー複製の可能性を減少させるように選択される。示された実施形態では、それぞれの手の各指についてタグがある。一部の実施形態では、1つの手につき1つ、2つ、3つまたは4つのタグを使用するので十分であり得る。それぞれのタグは、異なるグレースケールまたは色の濃淡の境界線を有する。この境界内には、3×5グリッド配列がある。マーカ(図2の黒点によって表される)は、情報を提供するために、グリッド配列内の特定の点に配置される。
【0025】
資格情報(qualifying information)は、それぞれのパターンを「共通の」かつ「一意の」サブパターンにセグメント化することによって、タグのマーカパターンで符号化され得る。たとえば、この実施形態は、2つの可能な「境界パターン」、長方形境界についてのマーカの分布を指定する。タグの「ファミリー」がこのように確立され、したがって、左手用のタグは、タグ201A〜201Eに示されるように、同じ境界パターンを使用し、右手の指に付けられたものには、タグ202A〜202Eに示されるように、異なるパターンが割り当てられ得る。このサブパターンは、タグのすべての向きにおいて、左パターンが右パターンと区別され得るように選択される。示された例では、左手パターンは、各隅、および隅のグリッド位置から2番目のマーカ上にマーカを
含む。右手パターンは、2つの隅だけにマーカを有しており、また隅でないグリッド位置に2つのマーカを有している。パターンの検査によって、4つのマーカのうちのいずれか3つのマーカが目に見える限り、左手パターンは、左手パターンから明確に区別できることが明らかになる。一実施形態では、境界の色または濃淡が、利き手の指標として使用されることもできる。
【0026】
それぞれのタグは、もちろん、一意の内部のパターンを依然として使用しなければならず、マーカは、そのファミリーの共通の境界内に分散される。示された実施形態では、内部グリッド配列内の2つのマーカが、指の回転または向きによる重複なしに10個の指のそれぞれを一意に識別するのに十分であることが分かっている。マーカのうちの1つが閉塞されても、パターンの組合せ、およびタグの利き手によって一意の識別子がもたらされる。
【0027】
この実施形態では、グリッド位置は、その意図された位置で個々の再帰反射マーカを付ける(手動の)作業に役立つように、硬い基板上に視覚的に存在する。これらのグリッドおよび意図されたマーカ位置は、基板上にカラーインクジェットプリンタによって文字通り印刷され、この基板はこの場合、(最初は)柔軟な「シュリンクフィルム」のシートである。それぞれのモジュールは、シートから切り取られ、次いで炉で焼かれ、その熱処理の間、それぞれのモジュールは、正確で反復可能な収縮を経る。この手順の後に続く短い間隔の間、冷却タグは、たとえば指の縦の曲線をたどるようにわずかに形作られてもよく、その後、基板は、適切に硬くなり、マーカが、示されたグリッド点に付けられ得る。
【0028】
一実施形態では、マーカ自体は、粘着性または他の何らかの適切な手段によって基板に付けられた小さい反射球体など、3次元のものである。マーカの3次元性は、2次元マーカに比べて、検出および位置決めに役立ち得る。しかし、本発明の精神および範囲から逸脱せずに、いずれもが使用され得る。
【0029】
現在、タグは、ベルクロまたは他の適切な手段によって、オペレータが着用するグローブに付けられ、または柔らかい両面テープを使用してオペレータの指に交互に直接付けられる。第3の実施形態では、硬い基板をすべて不要にし、オペレータの指および手の上に個々のマーカを直接付け、または「塗る」ことが可能である。
【0030】
ジェスチャ語彙
本発明は、手のポーズ、向き、手の組合せ、および向きの混合からなるジェスチャ語彙を企図している。表記言語もまた、本発明のジェスチャ語彙でポーズおよびジェスチャを設計し伝達するために実装される。ジェスチャ語彙は、運動学的な結合の瞬間的な「ポーズ状態」を簡潔なテキストの形で表すための体系である。当該の結合は、生物学的(たとえば人間の手、または人間の体全体、またはバッタの脚、またはキツネザルの多関節の背骨)であることも、あるいはそうではなく、非生物学(たとえばロボットアーム)であることもある。いずれの場合も、結合は、単純であっても(背骨)、分岐していてもよい(手)。本発明のジェスチャ語彙体系は、任意の特定の結合について、一定の長さの列を確立し、次いで、列の「文字位置」を占有する特定のASCII文字の集合体は、その結合の瞬間的状態または「ポーズ」についての一意の描写である。
【0031】
手のポーズ
図3は、本発明を使用するジェスチャ語彙の一実施形態の手のポーズを示している。本発明では、手の5つの指のそれぞれが使用されると仮定する。これらの指は、p−小指、r−薬指、m−中指、i−人差し指およびt−親指としてのコードである。指および親指についての複数のポーズが、図3に定義され、示されている。ジェスチャ語彙列は、結合(この場合では指)の表現可能な各自由度について単一の文字位置を確立する。さらに、
こうした各自由度は、その完全な動き範囲が、その文字列位置で有限数の標準ASCII文字のうちの1つを割り当てることによって表現され得るように離散化される(または「量子化される」)と理解される。これらの自由度は、体に特有の原点、および座標系(手の甲、バッタの体の中心、ロボットアームのベースなど)に関して表現される。したがって、結合の位置および向きを、よりグローバルな座標系で「全体として」表現するために、少数の追加のジェスチャ語彙文字位置が使用される。
【0032】
やはり図3を参照すると、複数のポーズが、ASCII文字を使用して定義され、識別されている。ポーズのうちのいくつかは、親指と非親指の間で分割される。本発明は、この実施形態では、ASCII文字自体がポーズを暗示するような符号化を使用する。しかし、暗示的かどうかに関係なく、ポーズを表すために任意の文字が使用され得る。さらに、本発明では、表記列用にASCII文字を使用する要件はない。任意の適切なシンボル、数字または他の表現が、本発明の範囲および精神から逸脱せずに使用され得る。たとえば、表記は、所望であれば、1つの指ごとに2ビットを使用してもよく、あるいは要望に応じて、他の任意の数のビットを使用してもよい。
【0033】
丸めた指は文字「^」によって表され、丸めた親指は、「>」によって表される。まっすぐな指または上を向いた親指は「1」で示され、傾いたものは「\」または「/」で示される。「−」は、まっすぐ横を向いた親指を表し、「x」は、面に向いた親指を表す。
【0034】
これらの個々の指および親指の描写を使用して、相当な数(robust number)の手のポーズが定義され、本発明の方式を使用して書かれることができる。それぞれのポーズは、上述されたように、p−r−m−i−tの順序の5つの文字によって表される。図3は、複数のポーズを示しており、ここでは図示および例示のため、いくつかのポーズについて述べられている。平らに、また地面に対して平行に保たれた手は、「11111」で表される。こぶしは、「^^^^>」で表される。「OK」サインは、「111^>」で表される。
【0035】
文字列は、示唆的な文字を使用する場合、簡単明瞭に「人間が読むことができる」機会を提供する。それぞれの自由度を示す可能な文字列のセットは、迅速な認識および明らかな類似を考慮して一般に選択され得る。たとえば、縦線(「|」)は恐らく、結合要素が「まっすぐ」であることを意味し、L字(「L」)は、90度の曲げを意味することがあり、山記号("^")は、急な曲げを示し得る。上述されたように、任意の文字または符号化が、要望に応じて使用され得る。
【0036】
本明細書で述べられるようなジェスチャ語彙例を使用するどんなシステムもが、列の比較の高い計算効率の利益を享受し、指定されたいずれかのポーズの識別または探索は事実上、所望のポーズ列と瞬間的な実際の列との間の「列の比較」(たとえばUNIX(登録商標)の「strcmp()」関数)になる。さらに、「ワイルドカード文字」の使用は、プログラマまたはシステム設計者に、追加の、よく知られている効率および効力を提供し、その瞬間的な状態が一致には無関係である自由度は、疑問符(「?」)として指定されることができ、追加のワイルドカードの意味が割り当てられ得る。
【0037】
向き
指および親指のポーズに加えて、手の向きは、情報を表すことができる。グローバル空間の向きを表す文字が、透過的に選択されることもでき、文字「<」、「>」、「^」および「v」は、向きの文字の位置で生じるとき、左、右、上および下の考えを示すために使用され得る。図4は、手の向きの記述子、およびポーズと向きを組み合わせる符号化の例を示している。本発明の一実施形態では、2つの文字位置は、まず手のひらの方向を、次いで(指の実際の曲げに関係なく、それらがまっすぐであれば)指の方向を示している
。これらの2つの位置について可能な文字は、向きの「体中心の」概念を表現し、「−」、「+」、「x」、「*」、「^」および「v」は、内側、横方、前方(体から離れて前方に)、後方(体から離れて後方に)、頭方(上向き)および尾方である(下向き)を表現する。
【0038】
本発明の表記方式およびその実施形態では、文字を示す5つの指のポーズの後に、コロン、次いで完全なコマンドポーズを定義するための2つの向きの文字が続く。一実施形態では、開始位置は、「xyz」ポーズと呼ばれ、このポーズでは、親指がまっすぐ上を指し、人差し指が前方を指し、中指が人差し指に垂直で、ポーズが右手で行われるときは左を指す。これは、列「^^xl−:−x」で表される。
【0039】
「XYZの手」は、視覚的に提示された3次元構造の完全な6自由度のナビゲーションを可能にするために人間の手の幾何学を利用するための技術である。この技術は、オペレータの手の大量の変換および回転だけに依存し、したがってその指は原則として、所望の任意のポーズで保持され得るが、この実施形態では、人指し指が体から離れて指し、親指が天井の方を指し、中指が左右を指す、静的な構成が好まれる。したがって、3つの指は、(大まかにではあるが、全く明らかな目的により)3空間座標系、したがって「XYZの手」の互いに直交する軸を示す。
【0040】
次いで、XYZの手のナビゲーションは、所定の「中立位置」にオペレータの体の前で保持された、上述のポーズの手、指に進む。3空間オブジェクト(またはカメラ)の3つの変換および3つの回転自由度へのアクセスは、以下の自然なやり方で行われる。(体の自然な座標系に関する)手の左右の動きが、計算のコンテキストのX軸に沿った動きをもたらし、手の上下の動きは、制御されたコンテキストのY軸に沿った動きをもたらし、(オペレータの体に向かう/そこから離れる)前後の手の動きは、コンテキスト内のz軸の動きをもたらす。同様に、人差し指のまわりのオペレータの手の回転は、計算コンテキストの向きの「回転」変更につながり、「ピッチ」および「偏揺れ」の変化は、それぞれ中指および親指のまわりのオペレータの手の回転によって同じように行われる。
【0041】
本明細書では「計算コンテキスト」は、XYZ手の方法によって制御されるエンティティに言及するために使用されており、合成3空間オブジェクトまたはカメラのいずれかを示唆しているように見えるが、この技術は、実環境のオブジェクト、様々な自由度の制御、たとえば適切な回転アクチュエータを備えたビデオまたは動画カメラのパン/チルト/回転の制御に等しく有用であることを理解されたい。さらに、XYZ手のポーズによって与えられた物理自由度はいくらか、仮想領域内でも、それほど文字通りにはマッピングされないことがある。この実施形態では、XYZ手は、大きいパノラマディスプレイ画像へのナビゲーションアクセスを提供するためにも使用され、その結果、オペレータの手の左右および上下の動きは、画像のまわりの予想された左右または上下の「パニング」をもたらすが、オペレータの手の前後ろの動きは、「ズーミング」制御にマッピングする。
【0042】
あらゆる場合において、手の動きと、引き起こされた計算上の変換/回転との間の結合は、直接的である(すなわち、オペレータの手の位置または回転オフセットが、何らかの線形または非線形関数を介して、計算コンテキストにおいてオブジェクトまたはカメラの位置または回転オフセットに1対1にマッピングする)ことも、または間接的である(すなわち、オペレータの手の位置または回転オフセットが、何らかの線形または非線形関数を介して、計算コンテキストにおいて位置/向きの第1のまたはより高次の派生物に1対1にマッピングする)こともあり、次いで、進行中の統合は、計算コンテキストの実際のゼロ次位置/向きの非静的な変化を生じさせる。この後者の制御手段は、自動車の「アクセスペダル」の使用に類似するものであり、このアクセスペダルでは、ペダルの一定のオフセットによって、多かれ少なかれ、一定の車両速度がもたらされる。
【0043】
実環境のXYZ手のローカル6自由度座標の原点の働きをする「中立位置」は、(1)(たとえば囲んでいる部屋に対して)空間内の絶対位置および向きとして、(2)オペレータの全体的位置および「方向」に関係なく、オペレータ自身に対して固定の位置および向きとして(たとえば、体の前の20.32cm(8インチ)、あごの下の25.4cm(10インチ)、および肩の面に沿って横方向になど)、または(3)(たとえば、XYZ手の現在位置および向きがこれ以降、変換および回転の原点として使用されるべきであることを示す、オペレータの「もう一方」の手によって実行されるジェスチャコマンドを使用して)オペレータの故意の2次動作を介して相互作用的に確立され得る。
【0044】
XYZ手の中立位置に関する「移動止め」領域(または「デッドゾーン」)を、このボリューム内の動きが、制御されたコンテキスト内の動きにマッピングされないように提供することはさらに好都合である。
【0045】
他のポーズには、以下が含まれる。
[|||||:VX]は、手のひらが下に向き、指が前に向いた平手(親指が指に平行)である。
[|||||:X^]は、手のひらが前に向き、指が天井を向いた平手である。
[|||||:−X]は、手のひらを体中心(左手の場合は右、右手の場合は左)に向き、指が前に向いた平手である。
[^^^^−:−X]は、単一の手による立てた親指である(親指が天井を指している)。
[^^^|−:−X]は、前に向けた銃の手振りである。
【0046】
両手の組合せ
本発明は、単一の手のコマンド、ポーズ、ならびに両手を用いたコマンドおよびポーズを企図している。図5は、本発明の一実施形態の両手の組合せの例、および関連する表記を示している。第1の例の表記をよく見ると、「完全な停止」は、それが閉じた2つのこぶしを含むことを明らかにしている。「スナップショット」の例では、それぞれの手の親指および人差し指が伸びており、親指が互いの方を向き、ゴールポストの形のフレームを定義している。「ラダーおよびスロットルの開始位置」は、指および親指が上を向き、手のひらが画面に面している。
【0047】
向きの混合
図6は、本発明の一実施形態の向き混合の一例を示している。示された例では、混合は、指ポーズの列の後に、向き表記の対を括弧内に囲むことにより表されている。たとえば、第1のコマンドは、すべてがまっすぐ向いた指位置を示している。向きコマンドの第1の対によって、手のひらがディスプレイに向かって平らとなり、第2の対は、画面に向かって45度のピッチに回転する手を有する。この例では、混合の対が示されているが、本発明では、任意の数の混合が企図されている。
【0048】
例示的なコマンド
図8は、本発明で使用され得る複数の可能なコマンドを示している。ここでの議論の一部は、ディスプレイ上のカーソル制御に関してであったが、本発明は、その活動に限定されない。実際、本発明は、画面上のありとあらゆるデータ、およびデータの一部、ならびにディスプレイの状態を操作することにおいて大きい応用性を有する。たとえば、コマンドは、ビデオメディアの再生中にビデオコントロールに取って代わるために使用され得る。コマンドは、休止、早送り、巻戻しなどのために使用され得る。さらに、コマンドは、画像のズームインおよびズームアウト、画像の向きの変更、任意の方向へのパニングなどのために実施され得る。本発明は、開く、閉じる、保存するなどのメニューコマンドの代
わりに使用されることもできる。換言すると、想像され得るどんなコマンドまたは活動もが、手ジェスチャと共に実施されることができる。
【0049】
操作
図7は、一実施形態の本発明の操作を示すフローチャートである。ステップ701で、検出システムは、マーカおよびタグを検出する。判断ブロック702で、タグおよびマーカが検出されたかどうか判断される。そうでない場合は、システムは、ステップ701に戻る。ステップ702でタグおよびマーカが検出される場合は、システムは、ステップ703に進む。ステップ703で、システムは、検出されたタグおよびマーカから、手、指およびポーズを識別する。ステップ704で、システムは、ポーズの向きを識別する。ステップ705で、システムは、検出された1つまたは複数の手の3次元空間位置を識別する。(ステップ703、704および705のいずれかまたはすべてが、単一のステップとして組み合わされ得ることに留意されたい。)
ステップ706で、情報は、上述のジェスチャ表記に変換される。判断ブロック707で、ポーズが有効であるかどうか判断される。これは、生成された表記列を使用して、単純な列の比較によって遂行され得る。ポーズが有効ではない場合は、このシステムは、ステップ701に戻る。ポーズが有効な場合は、このシステムは、ステップ708で、表記および位置情報データをコンピュータに送信する。ステップ709で、コンピュータは、ジェスチャに応答して適切な措置を決定し、ステップ710で、それに従ってディスプレイを更新する。
【0050】
本発明の一実施形態では、ステップ701〜705は、カメラ上のプロセッサによって遂行される。他の実施形態では、処理は、所望であれば、システムコンピュータによって遂行されることができる。
【0051】
解析および変換
このシステムは、基礎をなすシステムによって回復された低レベルのジェスチャの流れを「解析し」、「変換し」、解析され変換されたそれらのジェスチャを、幅広いコンピュータアプリケーションおよびシステムの制御のために使用されることができるコマンドの流れまたはイベントデータに変え得る。これらの技術およびアルゴリズムは、これらの技術を実装するエンジンと、エンジンの能力を利用するコンピュータアプリケーションを構築するためのプラットフォームを提供するコンピュータコードからなるシステムで実施され得る。
【0052】
一実施形態は、コンピュータインタフェースにおいて人間の手の豊富なジェスチャの使用を可能にすることに焦点が当てられているが、(それだけに限らないが、腕、胴、脚および頭を含めて)体の他の部分、ならびにそれだけに限らないがカリパス、コンパス、柔軟な曲線近似器(approximator)および様々な形のポインティングデバイスを含めて、様々な種類の、静的と有節の(articulating)両方の、手によらない物理的ツールによって行われるジェスチャを認識することもできる。マーカおよびタグは、要望に応じてオペレータによって運ばれ使用され得るアイテムおよびツールに適用されてもよい。
【0053】
本明細書で述べられるシステムは、認識され、作用を受け得る幅広いジェスチャの範囲が豊富であるジェスチャシステムを構築し、それと同時にアプリケーションへの容易な統合をすることを可能にする複数の革新を組み込む。
【0054】
一実施形態のジェスチャ解析および変換システムは、以下からなる。
1)複数の異なる集合体レベルのジェスチャ、すなわち
a.単一の手の「ポーズ」(互いに関連のある手の部分の構成および向き)、単一の手の
向きおよび3次元空間内の位置、
b.ポーズ、位置または両方を考慮に入れるいずれかの手についての両手使いの組合せ、c.複数の人の組合せ;このシステムは、3つ以上の手を追跡することができ、したがって、複数の人が協力して(またはゲームアプリケーションの場合には競合して)ターゲットシステムをコントロールすることができる、
d.ポーズが連続して組み合わされる連続したジェスチャ;これらは「アニメーション化」ジェスチャを呼ばれる、
e.オペレータが空間の形状を追跡する「書記素」ジェスチャ、
を指定する(コンピュータプログラムで使用するために符号化する)ための簡潔で効率的なやり方。
2)所与のアプリケーションコンテキストに関連する上述の各カテゴリからの特定のジェスチャを登録するためのプログラマチック技術。
3)登録されたジェスチャが識別されることができ、それらのジェスチャをカプセル化するイベントが適切なアプリケーションコンテキストに引き渡されることができるように、ジェスチャストリームを解析するためのアルゴリズム。
【0055】
構成要素(1a)から(1f)を備えた指定システム(1)は、本明細書で述べられたシステムのジェスチャ解析および変換能力を利用するための基礎を提供する。
単一の手の「ポーズ」は、
i)指と手の甲の間の相対的向きの列として表され、
ii)少数の個別の状態へと量子化される。
【0056】
相対的な結合の向きを使用することによって、本明細書で述べられたシステムは、様々な手のサイズおよび幾何学的形状に付随する問題を回避することができる。このシステムでは、「オペレータ較正」は必要でない。さらに、ポーズを相対的な向きの列または群として指定することによって、より複雑なジェスチャ指定が、ポーズ表現をさらなるフィルタおよび指定と組み合わせることによって容易に作成されることができる。
【0057】
ポーズ指定について少数の個別の状態を使用すると、ポーズの簡潔な指定、ならびに基礎となる様々な追跡技術(たとえばカメラを使用する受動光追跡、点灯ドットおよびカメラを使用する能動光追跡、電磁界追跡など)を使用する正確なポーズ認識の保証が可能となる。
【0058】
あらゆるカテゴリ(1a)から(1f)内のジェスチャは、非重大なデータが無視されるように、部分的(または最小限に)指定され得る。たとえば、2つの指の位置が決定的であり、他の指の位置が重要でないジェスチャは、単一の指定によって表されることができ、この単一指定では、関連する2つの指の操作位置が示され、同じ列内に、「ワイルドカード」または総括的な「これらを無視する」の表示が、他の指についてリストされる。
【0059】
それだけに限らないが、多層の指定技術、相対的向きの使用、データ量子化、およびあらゆるレベルの部分または最小の指定に対する許容を含めて、ジェスチャ認識について本明細書で述べられた革新はすべて、手のジェスチャの仕様を超えて、体の他の部分および「製造された」ツールおよびオブジェクトを使用するジェスチャの指定にまで一般化されるものである。
【0060】
「ジェスチャ登録」のためのプログラマチック技術(2)は、定義された1組のアプリケーションプログラミングインターフェース呼出しからなり、この呼出しによって、プログラマは、実行されているシステムの他の部分に対してエンジンがどのジェスチャを使用可能にすべきかを定義することができる。
【0061】
これらのAPIルーチンは、アプリケーションのセットアップ時に使用され、実行アプリケーションの寿命の間を通じて使用される静的なインターフェース定義を作成し得る。それらは、実行の間に使用され、インターフェース特性が進行中に変化することを可能にすることもできる。インターフェースのこのリアルタイム変更は、
i)コンテキスト上の、条件付きの複雑な制御状態を構築すること、
ii)制御環境にヒステリシスを動的に追加すること、および
iii)ユーザが実行システム自体のインターフェース語彙を変更しまたは拡張することができるアプリケーションを作成することを可能にする。
【0062】
ジェスチャの流れを解析するためのアルゴリズム(3)は、(1)にあるように指定され、(2)にあるように登録されたジェスチャを、入ってくる低レベルのジェスチャデータと比較する。登録されたジェスチャについて一致が認識される場合、一致したジェスチャを表すイベント情報は、スタックを上へと実行アプリケーションに引き渡される。
【0063】
このシステムの設計では、効率的なリアルタイムのマッチングが望まれ、指定されたジェスチャが、できるだけ迅速に処理される可能性の木として扱われる。
さらに、指定されたジェスチャを認識するために内部で使用される原始的な比較演算子もまた、アプリケーションプログラマーが使用するために公開され、その結果、さらなる比較(たとえば複雑なまたは複合のジェスチャにおける柔軟な状態の検査)が、アプリケーションコンテキストの内部からでさえ生じ得る。
【0064】
認識「ロッキング」の意味論は、本明細書で述べられたシステムの革新である。これらの意味論は、登録API(2)によって示唆される(またそれほどではないにせよ、指定語彙(1)内に埋め込まれる)。登録API呼出しには、
i)「エントリ」状態通知子(notifier)、および「継続」状態通知子と、
ii)ジェスチャ優先度指定子と、が含まれる。
【0065】
−ジェスチャが認識されている場合、その「継続」条件は、同じまたはより低い優先度のジェスチャについてのすべての「エントリ」条件に優先する。エントリと継続状態の区別によって、知覚されるシステム有用性が著しく増す。
【0066】
本明細書で述べられたシステムは、実環境データエラーおよび不確実なことに直面しても堅牢に動作するためのアルゴリズムを含む。低レベルの追跡システムからのデータは、(光追跡におけるマーカの閉塞、ネットワークの脱落または処理遅れなどを含めて様々な理由により)不完全なことがある。
【0067】
欠落データは、解析システムによってマーク付けされ、欠落データの量およびコンテキストに応じて、「最後に知られる」または「最も可能性の高い」状態へと補間される。
特定のジェスチャ構成要素(たとえば特定の接合箇所の向き)に関するデータが欠落しているが、その特定の構成要素の「最後に知られる」状態が、物理的に可能と解析され得る場合、このシステムはリアルタイムマッチングにおいて、この最後に知られる状態を使用する。
【0068】
それとは異なり、「最後に知られる」状態が、物理的に不可能と解析される場合、このシステムは、その構成要素について「最良の推測範囲」に戻り、リアルタイムマッチングにおいてこの合成データを使用する。
【0069】
本明細書で述べられた指定および解析システムは、複数の手によるジェスチャについて、いずれかの手がポーズ要件を満たすことが許されるように、「利き手不可知論」をサポートするように注意深く設計されている。
【0070】
一致する仮想/表示および物理空間
このシステムは、1つまたは複数の表示装置(「画面」)上に示された仮想空間が、システムの1つまたは複数のオペレータが存在する物理空間と一致するものとして扱われる環境を提供することができる。こうした環境の一実施形態について、ここで述べられる。この現在の実施形態は、固定位置にある、プロジェクタで駆動される3つの画面を含んでおり、単一のデスクトップコンピュータによって駆動され、本明細書で述べられたジェスチャ語彙およびインターフェースシステムを使用して制御される。しかし、任意の数の画面が、述べられる技術によってサポートされ、それらの画面が(固定されているのではなく)移動するものとすることができ、画面が、多くの独立したコンピュータによって同時に駆動されることができ、システム全体は、任意の入力装置または技術によって制御され得ることに留意されたい。
【0071】
本開示で述べられたインターフェースシステムは、物理空間内の画面の寸法、向きおよび位置を決定する手段を有するべきである。この情報が与えられると、システムは、投影として、これらの画面が位置する(またシステムのオペレータが存在する)物理空間を、システム上で実行されるコンピュータアプリケーションの仮想空間への動的にマッピングすることができる。この自動マッピングの一環として、このシステムは、システムによってホストされるアプリケーションの必要性に応じて、2つの空間の尺度、角度、奥行き、次元および他の空間特性をも様々なやり方で変換する。
【0072】
物理と仮想空間の間のこの連続的な変換によって、既存アプリケーションプラットフォーム上で達成するのが難しく、あるいは既存プラットフォーム上で実行される各アプリケーションについて断片的に実施されなければならない複数のインターフェース技術の一貫した浸透的な使用が可能となる。これらの技術は、(それだけに限定されないが)以下を含む。
1)浸透的で自然なインターフェース技術として、ジェスチャインタフェース環境内で手を使用し、あるいは物理ポインティングツールまたはデバイスを使用する、リテラルポインティングの使用。
2)画面の動きまたは再位置決めのための自動補償。
3)たとえば奥行き知覚の向上のために視差シフトをシミュレートする、オペレータの位置によって変化するグラフィックスレンダリング。
4)実環境の位置、向き、状態などを考慮に入れた、画面表示内の物理オブジェクトの包含。たとえば、大きい半透明の画面の前に立つオペレータは、アプリケーショングラフィックスと、画面の背後のスケールモデルの真の位置の表現の両方を見ることがある(また恐らく移動し、または向きを変更している)。
【0073】
リテラルポインティングが、マウスベースのウィンドウ処理インターフェースおよび他のほとんどの同時代のシステム内で使用される抽象ポインティングとは異なることに留意されたい。それらのシステムでは、オペレータは、仮想ポインタと物理ポインティングデバイスとの間の変換を管理することを学ばなければならず、認識してこの2つの間でマッピングしなければならない。
【0074】
それとは異なり、本開示で述べられたシステムでは、アプリケーションまたはユーザの観点から、(仮想空間が数学的な操作により適していることを除いて)仮想空間と物理空間の差はなく、したがって、オペレータに認識の変換が求められない。
【0075】
ここで述べられた実施形態によって提供されたリテラルポインティングの最も近い類似物は、(たとえば多くのATMマシンで見られるような)タッチセンシティブ画面である。タッチセンシティブ画面は、画面上の2次元の表示空間と、画面表面の2次元入力空間
との間の1対1のマッピングを提供する。類似したやり方で、ここで述べられたシステムは、1つまたは複数の画面に表示された仮想空間と、オペレータが存在する物理空間との間の(必ずしもではないが、恐らくは1対1の)柔軟なマッピングを提供する。この類似物は有用であるが、この「マッピング手法」を3次元、任意に大きいアーキテクチュア環境、および複数画面に拡張することが重要であることは、理解するに値する。
【0076】
ここに述べられた構成要素に加えて、このシステムは、環境の物理空間と各画面上の表示空間の間の連続したシステムレベルのマッピング(恐らく回転、変換、スケーリングまたは他の幾何学的変換によって修正される)を実施するアルゴリズムを実装することもできる。
【0077】
計算オブジェクトおよびマッピングを取り、仮想空間のグラフィック表現を出力するレンダリングスタック。
制御システムからイベントデータ(現在の実施形態では、システムおよびマウス入力からのジェスチャデータとポインティングデータの両方)を取り、入力イベントからの空間データを、仮想空間内の座標にマッピングする入力イベント処理スタック。次いで、変換されたイベントは、実行アプリケーションに引き渡される。
【0078】
ローカルエリアネットワーク上で複数のコンピュータにわたって実行されるアプリケーションをシステムがホストすることを可能にする「接着層」。
このように、ジェスチャベースの制御システムについて述べられた。
【図面の簡単な説明】
【0079】
【図1】本発明のシステムの一実施形態を示す図である。
【図2】本発明のマーキングタグの一実施形態を示す図である。
【図3】本発明の一実施形態のジェスチャ語彙のポーズを示す図である。
【図4】本発明の一実施形態のジェスチャ語彙の向きを示す図である。
【図5】本発明の一実施形態のジェスチャ語彙の両手の組合せを示す図である。
【図6】本発明の一実施形態のジェスチャ語彙の向きの混合を示す図である。
【図7】本発明のシステムの一実施形態の操作を示すフローチャートである。
【図8】本発明の一実施形態のコマンド例を示す図である。

【特許請求の範囲】
【請求項1】
光学的検出器を介して受信したジェスチャ・データから身体のジェスチャを自動的に検出するステップであって、前記ジェスチャ・データが、時間及び空間の点での前記身体の瞬間的な状態についての絶対位置データであり、該位置データが3次元空間のデータであり、前記ジェスチャ・データを集約し、前記ジェスチャ・データのみを用いて前記ジェスチャを識別することを含むステップと、
前記ジェスチャを、ジェスチャ信号に変換するステップと、
前記ジェスチャ信号に応答して、コンピュータに結合されたコンポーネントを制御するステップと、
を含む方法。
【請求項2】
前記検出するステップが、前記身体の位置を検出することを含む、請求項1に記載の方法。
【請求項3】
前記検出するステップが、前記身体の向きを検出することを含む、請求項1に記載の方法。
【請求項4】
前記検出するステップが、前記身体の動きを検出することを含む、請求項1に記載の方法。
【請求項5】
前記検出するステップが、前記ジェスチャを識別することを含み、該識別することが、前記身体の一部についてのポーズ及び向きを識別することを含む、請求項1に記載の方法。
【請求項6】
前記検出するステップが、前記身体が有する第1のセットの付属器官及び第2のセットの付属器官のうち少なくとも一方を検出することを含む、請求項1に記載の方法。
【請求項7】
前記身体は人間のものであり、前記第1セットの付属器官が、少なくとも1つの手を含み、前記第2セットの付属器官が、前記少なくとも1つの手の少なくとも1つの指を含む、請求項6に記載の方法。
【請求項8】
前記検出するステップが、前記身体の動きを光学的に検出することを含む、請求項1に記載の方法。
【請求項9】
前記検出するステップが、少なくとも1つのタグの位置を動的に検出することを含む、請求項1に記載の方法。
【請求項10】
前記検出するステップが、前記身体の一部に結合されるタグのセットの位置を検出することを含む、請求項9に記載の方法。
【請求項11】
前記タグ・セットにおける各タグは、パターンを含み、前記タグ・セットの各タグにおける各パターンが、複数の前記タグのうち残りの任意のタグにおける任意のパターンとは異なる、請求項10に記載の方法。
【請求項12】
各タグは第1のパターン及び第2のパターンを含み、前記第1パターンが、前記タグ・セットのどのタグにも共通であり、前記第2パターンが、前記タグ・セットの少なくとも2つのタグ間で異なる、請求項11に記載の方法。
【請求項13】
前記タグ・セットが、前記身体において複数のパターンを形成する、請求項10に記載の方法。
【請求項14】
前記検出するステップが、前記付属器官のそれぞれに結合されるタグ・セットを用いて、前記身体の複数の付属器官の位置を検出することを含む、請求項9に記載の方法。
【請求項15】
第1のタグ・セットは第2の付属器官に結合されており、該第1タグ・セットが、第1の複数のタグを含み、各タグが、前記第1の複数のタグにおいて該タグに共通の第1のパターンと、前記第1の複数のタグにおいて各タグに一意の第2のパターンとを含む、請求項14に記載の方法。
【請求項16】
第2のタグ・セットは第2の付属器官に結合されており、該第2タグ・セットが、第2の複数のタグを含み、各タグが、前記第2の複数のタグにおいて該タグに共通の第3のパターンと、前記第2の複数のタグにおいて各タグに一意の第4のパターンとを含む、請求項15に記載の方法。
【請求項17】
前記少なくとも1つのタグがタグ・セットを含み、該タグ・セットが、能動的タグ及び受動的タグからなるグループから選択された少なくとも1つのタグ・タイプを備える、請求項9に記載の方法。
【請求項18】
前記検出するステップが、各タグの位置を、単一のタグを形成する点のサブセットに割り当てる請求項9に記載の方法。
【請求項19】
前記検出するステップが、特定のタグとして前記点のサブセットを識別し、前記特定のタグとして前記位置のサブセットをラベル付けする、請求項18に記載の方法。
【請求項20】
前記検出するステップが、前記特定のタグの3次元空間の位置をリカバリーすることを含む請求項19に記載の方法。
【請求項21】
前記検出するステップが、前記特定のタグの3次元空間の向きをリカバリーすることを含む請求項20に記載の方法。
【請求項22】
前記検出するステップが、電磁気検出、静磁気検出及び無線周波数識別情報の検出からなるグループから選択される検出方法を用いて、前記身体の動きを検出することを含む、請求項1に記載の方法。
【請求項23】
前記検出するステップが、前記身体におけるマーカを動的に検出し位置決めすることを含む、請求項1に記載の方法。
【請求項24】
前記検出するステップが、前記身体の一部に結合されたマーカ・セットの位置を検出することを含む、請求項23に記載の方法。
【請求項25】
前記マーカ・セットが、前記身体において複数のパターンを形成する、請求項23に記載の方法。
【請求項26】
前記検出するステップが、各前記付属器官に結合されるマーカ・セットを用いて、前記身体の複数の付属器官の位置を検出することを含む、請求項23に記載の方法。
【請求項27】
第1のマーカ・セットは、第1の付属器官に結合され、該第1マーカ・セットが、前記第1付属器官の複数のコンポーネントに共通する第1のパターンと、前記第1付属器官の各前記コンポーネントに一意である第2のパターンとを形成する、請求項26に記載の方法。
【請求項28】
第2のマーカ・セットは、第2の付属器官に結合され、前記第2マーカ・セットが、前記第2付属器官の複数のコンポーネントに共通する第3のパターンと、前記第2付属器官の各前記コンポーネントに一意である第4のパターンとを形成する、請求項26に記載の方法。
【請求項29】
前記検出するステップが、各マーカの位置を、タグを形成するマーカのサブセットに割り当てることを含む、請求項23に記載の方法。
【請求項30】
前記検出するステップが、特定のタグとしてマーカのサブセットを識別し、該特定のタグとして前記マーカのサブセットをラベル付けする、請求項29に記載の方法。
【請求項31】
前記検出するステップが、前記特定のタグの3次元空間の位置をリカバリーすることを含む、請求項30に記載の方法。
【請求項32】
前記検出するステップが、前記特定のタグの3次元空間の向きをリカバリーすることを含む、請求項31に記載の方法。
【請求項33】
前記検出するステップが、前記身体的ジェスチャを表わす3次元空間点のデータを生成すること、及び該空間点のデータをラベル付けすることを含む、請求項1に記載の方法。
【請求項34】
前記変換するステップが、前記空間点のデータを、前記コンピュータの構成に適当なコマンドに変換することを含む、請求項33に記載の方法。
【請求項35】
前記変換するステップが、前記ジェスチャの情報をジェスチャ表記に変換することを含む、請求項1に記載の方法。
【請求項36】
前記ジェスチャ表記が、ジェスチャ語彙を表わし、前記ジェスチャ信号が前記ジェスチャ語彙の伝達を含む、請求項35に記載の方法。
【請求項37】
前記ジェスチャ語彙が、テキスト形式で前記身体の運動学的な結合の瞬間的なポーズ状態を表現する、請求項36に記載の方法。
【請求項38】
前記ジェスチャ語彙が、テキスト形式で前記身体の運動学的な結合の向きを表現する、請求項36に記載の方法。
【請求項39】
前記ジェスチャ語彙が、テキスト形式で前記身体の運動学的な結合の向きの組合せを表現する、請求項36に記載の方法。
【請求項40】
前記ジェスチャ語彙が、前記身体の運動学的な結合の状態を表現する文字ストリングを含む、請求項36に記載の方法。
【請求項41】
前記運動学的な結合が、前記身体の少なくとも1つの最初の付属器官である、請求項40に記載の方法。
【請求項42】
前記ストリングの各位置を第2の付属器官に割り当てるステップを含み、該第2付属器官が前記第1付属器官に結合される、請求項41に記載の方法。
【請求項43】
複数の文字において文字を前記第2付属器官の複数の各位置に割り当てる、請求項42に記載の方法。
【請求項44】
前記複数の位置が、座標原点に対して定められる、請求項43に記載の方法。
【請求項45】
空間における絶対的な位置及び向きからなるグループから選択される位置を用いて座標原点を定めるステップを備え、前記身体に対する固定の位置及び向きは、前記身体の全体位置及び方向に関係がなく、前記身体の動作に相互作用して応じる、請求項44に記載の方法。
【請求項46】
前記複数の文字において文字を、前記第1付属器官の複数の各向きに割り当てるステップを含む、請求項43に記載の方法。
【請求項47】
前記コンポーネントを制御するステップが、前記第1付属器官のジェスチャを前記3次元空間オブジェクトにマッピングすることにより、同時に、6自由度における3次元空間オブジェクトを制御することを含む、請求項41に記載の方法。
【請求項48】
前記コンポーネントを制御するステップが、3つの変換自由度及び3つの回転自由度を通じて3次元空間オブジェクトを制御することを含む、請求項41に記載の方法。
【請求項49】
前記制御することが、前記第1付属器官の動きと前記3次元空間オブジェクトとの間を直接結合することを含む、請求項48に記載の方法。
【請求項50】
前記制御することが、前記第1付属器官の動きと前記3次元空間オブジェクトとの間を間接的に結合することを含む、請求項48に記載の方法。
【請求項51】
前記3次元空間オブジェクトが、前記コンピュータに結合されるディスプレイ装置上に提示される、請求項48に記載の方法。
【請求項52】
前記3次元空間オブジェクトが、前記コンピュータに結合される、請求項48に記載の方法。
【請求項53】
前記第1付属器官の複数のジェスチャを前記3次元空間オブジェクトの複数のオブジェクト変換にマッピングすることにより、前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項54】
前記マッピングすることが、前記複数のジェスチャと前記複数のオブジェクト変換との間を直接マッピングすることを含む、請求項53に記載の方法。
【請求項55】
前記マッピングすることが、前記複数のジェスチャと前記複数のオブジェクト変換との間の間接マッピングを含む、請求項53に記載の方法。
【請求項56】
前記マッピングすることが、前記複数のジェスチャの位置オフセットを、前記3次元空間オブジェクトにおける前記オブジェクト変換の位置オフセットに関連付けることを含む、請求項53に記載の方法。
【請求項57】
前記マッピングすることが、前記第1付属器官の位置オフセットを、前記3次元空間オブジェクトにおける前記オブジェクト変換の変換速度に関連付けることを含む、請求項53に記載の方法。
【請求項58】
前記第1付属器官の線形のジェスチャを前記3次元空間オブジェクトの線形の変換にマッピングすることにより、前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項59】
前記第1付属器官の回転のジェスチャを前記3次元空間オブジェクトの回転の変換にマッピングすることにより、前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項60】
前記第1付属器官の線形のジェスチャを前記3次元空間オブジェクトの回転の変換にマッピングすることにより、前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項61】
前記第1付属器官の回転のジェスチャを前記3次元空間オブジェクトの線形の変換にマッピングすることにより、前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項62】
前記第1付属器官の左右の動きを用いて、x軸に沿って前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項63】
前記第1付属器官の上下の動きを用いて、y軸に沿って前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項64】
前記第1付属器官の前後の動きを用いて、z軸に沿って前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項65】
前記第1付属器官の左右の動きと上下の動きとの第1の組合せを用いて、x軸及びy軸に沿って同時に前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項66】
前記第1付属器官の左右の動きと前後の動きとの第2の組合せを用いて、x軸及びz軸に沿って同時に前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項67】
前記第1付属器官の上下の動と前後の動きとの第3の組合せを用いて、y軸及びz軸に沿って同時に前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項68】
前記第1付属器官の左右の動きと上下の動きと前後の動きとの第4の組合せを用いて、x軸、y軸及びz軸に沿って同時に前記3次元空間オブジェクトの動きを制御するステップを含む、請求項48に記載の方法。
【請求項69】
前記第1付属器官の回転の動きを用いて、第1の軸の周りの前記3次元空間オブジェクトの回転を制御するステップを含む、請求項48に記載の方法。
【請求項70】
前記第2付属器官のうち一番目について、前記第1付属器官の回転の動きを用いて、第2の軸の周りの前記3次元空間オブジェクトの回転を制御するステップを含む、請求項48に記載の方法。
【請求項71】
前記第2付属器官のうち二番目について、前記第1付属器官の回転の動きを用いて、第3の軸の周りの前記3次元空間オブジェクトの回転を制御するステップを含む、請求項48に記載の方法。
【請求項72】
前記検出するステップが、前記オブジェクトの推定位置が仮想空間に交わる時を検出することを含み、前記仮想空間が、前記コンピュータに結合されたディスプレイ装置上に描かれた空間を備える、請求項48に記載の方法。
【請求項73】
前記コンポーネントを制御するステップが、前記推定位置が仮想オブジェクトと交わる時に、前記仮想空間において前記仮想オブジェクトを制御することを含む、請求項72に記載の方法。
【請求項74】
前記コンポーネントを制御するステップが、前記仮想空間における前記推定位置に応じて、前記仮想空間において前記仮想オブジェクトの位置を制御することを含む、請求項73に記載の方法。
【請求項75】
前記コンポーネントを制御するステップが、前記ジェスチャに応じて、前記仮想空間において前記仮想オブジェクトの姿勢を制御することを含む、請求項73に記載の方法。
【請求項76】
複数のレベルで前記ジェスチャを特定するステップを含む、請求項1に記載の方法。
【請求項77】
前記ジェスチャの情報の一部を用いて、前記ジェスチャを部分的に特定するステップを含む、請求項76に記載の方法。
【請求項78】
前記複数のレベルが、前記身体の第1の付属器官のポーズを含む第1のレベルを備える、請求項76に記載の方法。
【請求項79】
前記身体における少なくとも1つの第2の付属器官と第1の付属器官の後部との間の相対的な向きのストリングとして前記ポーズを表現するステップを含み、前記第2付属器官が前記第1付属器官に結合される、請求項78に記載の方法。
【請求項80】
前記相対的な向きのストリングを、少なくとも1つの不連続状態に量子化するステップを含む、請求項79に記載の方法。
【請求項81】
前記複数のレベルが、ポーズの組合せを備える第2のレベルを含んでおり、該ポーズの組合せが、前記身体における第1の付属器官の第1のポーズと第2の付属器官の第2のポーズとを備える、請求項76に記載の方法。
【請求項82】
前記第2レベルが、位置の組合せを含み、該位置の組合せが、前記第1付属器官の第1の位置と前記第2付属器官の第2の位置とを備える、請求項81に記載の方法。
【請求項83】
前記複数のレベルが、ポーズと位置との組合せを備える第3のレベルを含んでおり、該ポーズと位置との組合せが、前記身体の少なくとも1つの付属器官の第3のポーズと、第2の身体の少なくとも1つの付属器官の第4のポーズとを含む、請求項76に記載の方法。
【請求項84】
前記第3レベルが、位置の組合せを含み、該位置の組合せが、前記身体の前記少なくとも1つの付属器官の第3の位置と前記第2の身体の前記少なくとも1つの付属器官の第4の位置とを含む、請求項83に記載の方法。
【請求項85】
前記複数のレベルが、少なくとも1つの一連のジェスチャを備える第4のレベルを含む、請求項76に記載の方法。
【請求項86】
前記複数のレベルが、書記素ジェスチャを備える第5のレベルを含み、該書記素ジェスチャが、フリーな空間の形状を追跡することを含む、請求項76に記載の方法。
【請求項87】
少なくとも1つのアプリケーションに関連するものとしてジェスチャを登録することにより、登録ジェスチャを生成するステップを含む、請求項76に記載の方法。
【請求項88】
前記登録ジェスチャを解析するステップと、
前記登録ジェスチャを識別するステップと、
前記登録ジェスチャに対応するイベントを、前記少なくとも1つのアプリケーションに転送するステップと、
を含む、請求項87に記載の方法。
【請求項89】
前記登録ジェスチャの優先度を決めるステップを含む、請求項88に記載の方法。
【請求項90】
状態を前記登録ジェスチャに割り当てるステップを含む、請求項89に記載の方法。
【請求項91】
前記状態が、エントリ状態及び継続状態からなるグループから選択され、前記継続状態の優先度が、前記エントリ状態の優先度よりも高い、請求項90に記載の方法。
【請求項92】
前記解析するステップが、
前記ジェスチャの欠落データ・コンポーネントをマーク付けすること、及び
前記欠落データ・コンポーネントを、最後に知られる状態及び最も可能性の高い状態のうち少なくとも1つに補完すること
を含み、該補完することが、前記欠落データの量及びコンテキストに応じるものである、請求項88に記載の方法。
【請求項93】
前記識別するステップが、前記最後に知られる状態が分析のために利用可能であるときに、前記識別するステップのために、前記欠落データ・コンポーネントについての前記最後に知られる状態を用いることを含む、請求項92に記載の方法。
【請求項94】
前記識別するステップが、前記最後に知られる状態が分析のために利用不可能であるときに、前記識別するステップのために、前記欠落データ・コンポーネントについての最良の推測を用いることを含む、請求項92に記載の方法。
【請求項95】
仮想空間と物理空間との間の一致を生じさせるために、前記検出するステップと前記制御するステップとのスケーリングを制御するステップであって、前記仮想空間が、前記コンピュータに結合された表示デバイス上に描かれる空間を含み、前記物理空間が、前記身体が存在する空間を含むステップを含む、請求項1に記載の方法。
【請求項96】
前記ディスプレイ装置の前記物理空間における寸法、向き及び位置を決定するステップを含む、請求項95に記載の方法。
【請求項97】
前記ディスプレイ装置が位置する前記物理空間を、前記コンピュータに結合された少なくとも一つのアプリケーションで前記仮想空間に投影として動的にマッピングするステップを含む、請求項96に記載の方法。
【請求項98】
前記仮想空間と前記物理空間との間の尺度、角度、奥行き及び次元を、前記コンピュータに結合された少なくとも1つのアプリケーションの必要性に応じて変換するステップを含む、請求項95に記載の方法。
【請求項99】
前記物理空間における少なくとも1つの物理オブジェクトの動きに応じて、前記仮想空間における少なくとも1つの仮想オブジェクトを制御するステップを含む、請求項95に記載の方法。
【請求項100】
前記ディスプレイ装置の動きに対し、自動補償するステップを備える、請求項95に記載の方法。
【請求項101】
前記ディスプレイ装置の位置に対する物理空間における前記身体の位置に応じて、前記ディスプレイ装置でのグラフィックス・レンダリングを制御するステップを含む、請求項95に記載の方法。
【請求項102】
前記物理空間に存在する物理オブジェクトの仮想バージョンを含む表示を前記ディスプレイ装置上に生成するステップであって、前記物理オブジェクトの仮想バージョンの仮想位置と前記物理空間における前記物理オブジェクトの位置との間での一致を生じることを含む、請求項95に記載の方法。
【請求項103】
前記ジェスチャが有効であることを判定するステップを含む、請求項1に記載の方法。
【請求項104】
前記制御するステップが、前記コンピュータ上でホストされるアプリケーションの機能を制御することを含む、請求項1に記載の方法。
【請求項105】
前記制御するステップが、前記コンピュータ上に表示されるコンポーネントを制御することを含む、請求項1に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−47978(P2013−47978A)
【公開日】平成25年3月7日(2013.3.7)
【国際特許分類】
【出願番号】特願2012−242791(P2012−242791)
【出願日】平成24年11月2日(2012.11.2)
【分割の表示】特願2007−554346(P2007−554346)の分割
【原出願日】平成18年2月8日(2006.2.8)
【出願人】(507266336)オブロング・インダストリーズ・インコーポレーテッド (2)
【Fターム(参考)】