(57)【特許請求の範囲】
【請求項１】
作業空間を示すデータを発生する少なくとも１つのセンサ、及びプロセッサを備え、前記プロセッサは、
前記少なくとも１つのセンサにより発生されたデータに基づいてユーザの手の複数の解剖学的ランドマークを識別し、前記作業空間内の前記ランドマークの位置を決定するユーザプロファイルモジュール、
前記少なくとも１つのセンサにより時間とともに発生されたデータを比較して前記ランドマークの変化を示す一組の値を発生する動き検出モジュール、
前記ランドマークの変化をユーザ入力情報と関連付ける分類モジュール、及び
前記作業空間内に存在する前記ランドマークの数が所定の閾値よりも少なくなる場合に、動作中の前記ユーザの行動を連続的に又は間欠的に監視して、現在のユーザが依然として正規のユーザであることを確認するセキュリティモジュールを備える、
ディジタルデータ処理システムのための入力装置。
【請求項２】
前記プロセッサにより発生される前記ユーザ入力情報は、キーボード入力情報、ポインティング装置入力情報、及び数字パッド入力情報のうちの少なくとも１を含む、請求項１記載の入力装置。
【請求項３】
前記少なくとも１つのセンサは、前記ユーザの手の３次元位置及び向きを示すデータを発生するように構成された単一のセンサを含む、請求項１記載の入力装置。
【請求項４】
前記センサは、少なくとも１つの撮像センサ、構造光センサ、構造赤外光センサ、飛行時間センサ、又はその組み合わせを含む、請求項３記載の入力装置。
【請求項５】
前記少なくとも１つのセンサは、第１のパースペクティブから前記作業空間を観察する第１のセンサ及び前記第１のセンサから間隔を置いて配置され、前記第１のパースペクティブと異なる第２のパースペクティブから前記作業空間を観察する第２のセンサを含む、
請求項１記載の入力装置。
【請求項６】
前記プロセッサで検出されるランドマークは、指、指部分、指形状、指関節、指爪、皮膚表面輪郭、及び手の表面のうちの少なくとも１つを含み、前記ユーザの手の１つ以上のパラメータは、前記ユーザの手のサイズ、前記ユーザの手の色、前記ユーザの手の表面テクスチャ、前記ユーザの手の位置、及び前記ユーザの手の向きを含む、請求項１記載の入力装置。
【請求項７】
前記作業空間は前記少なくとも１つのセンサの視野内の３次元空間を含み、必要に応じて、前記作業空間は、前記入力装置が位置する表面を含む、請求項１記載の入力装置。
【請求項８】
前記少なくとも１つのセンサは、前記作業空間の周囲に置かれた複数のセンサを備え、
前記作業空間は前記複数のセンサにより囲まれた領域を含む、請求項１記載の入力装置。
【請求項９】
各ユーザの手は複数の指を含み、前記入力装置は複数の動作モードで動作することができ、前記プロセッサは現在の動作モードを、前記１つ以上の手の位置、前記１つ以上の手が実行したジェスチャー、及び前記１つ以上の手の配置のうちの少なくとも１つに少なくとも部分的に基づいて設定するように構成されている、請求項１記載の入力装置。
【請求項１０】
前記複数の動作モードは、キーボード入力モード、ポインティング装置入力モード、数字パッド入力モード、テンプレートベース入力モード、及びカスタムパッド入力モードを含む、請求項９記載の入力装置。
【請求項１１】
前記プロセッサは、前記ユーザの手の複数の指の１つのみが伸ばされるとき、現在の動作モードを前記ポインティング装置入力モードに設定し、前記プロセッサは、前記作業空間内に限界数の指を検出するとき、現在の動作モードを前記キーボード入力モードに設定し、及び前記プロセッサは、前記１つ以上の手の１つのホーム位置から横にずれた位置への移動を検出するとき、又は前記１つ以上の手の１つのみが作業空間に存在することを検出するとき、現在の動作モードを前記数字パッド入力モードに設定する、請求項１０記載の入力装置。
【請求項１２】
特定のジェスチャーが検出されたとき、前記プロセッサが特定のユーザ入力情報を発生するように、前記特定のユーザ入力情報を前記特定のジェスチャーに割り当てる設定モジュールを更に備える、請求項１記載の入力装置。
【請求項１３】
前記設定モジュールは、前記特定のジェスチャーを確実に検出できる程度に基づいてジェスチャー強度インジケータを表示する、請求項１２記載の入力装置。
【請求項１４】
前記動き検出モジュールが、出発位置に対する前記ランドマークの距離の変化、前記ランドマークの速度の変化及び前記ランドマークの加速度の変化、少なくとも２つのランドマークの角度関係の変化、１つの頂点と少なくとも２つのランドマークとで決まる角度の角度変位、１つの頂点と少なくとも２つのランドマークとで決まる角度の角速度及び１つの頂点と少なくとも２つのランドマークとで決まる角度の角加速度のうちの少なくとも１つを測定し、前記分類モジュールがこのような測定値をユーザ入力情報と関連付ける、請求項１記載の入力装置。
【請求項１５】
前記動き検出モジュールが、特定のランドマークの移動距離、速度及び加速度の少なくとも１つを少なくとも１つの他のランドマークの移動距離、速度及び加速度の少なくとも１つと比較し、前記分類モジュールが前記比較に基づいてユーザ入力情報を発生する、請求項１記載の入力装置。
【請求項１６】
前記作業空間内にテンプレートの存在を決定するテンプレート識別モジュールを更に備え、及び前記分類モジュールは前記テンプレートに対するランドマークの変化を前記テンプレートと関連するユーザ入力情報と関連付ける、請求項１記載の入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１２年２月２４日に出願された米国特許仮出願第６１／６０２，７０４号の優先権を主張するものであり、該仮出願は参照することによりその全内容が本明細書に組み込まれる。
【背景技術】
【０００２】
本発明は、ジェスチャー認識に関し、特にディジタルデータ処理システムのためのジェスチャー認識入力装置及び関連方法に関する。
【０００３】
従来、ディジタル処理システム（例えば、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバコンピュータ、携帯電話、ＰＤＡ、ゲームシステム、テレビション、セットトップボックス、携帯ミュージックプレーヤなど）とのヒューマンインタフェースは、キーボード又はマウスなどの１つ以上の入力装置の物理的操作を必要としていた。これらのシステムは、ユーザが装置の固定の構成配置に順応しなければならないため、いくつかの人間工学的問題を示す。例えば、従来の入力装置は固定又は限定されたボタンサイズを有し、特に大きい手又は小さい手を持つユーザにとってこれらの装置との相互作用を難しく且つ又間違いやすいものとしている。また、従来の入力装置はディジタルデータ処理システムの高さ及びサイズを増大し得るため、ユーザの携帯性及び利便性が減少している。更に、物理的入力は格好が悪いとともに、装置間（例えば、キーボード、数字パッド及びマウス間）の頻繁な移動がユーザを物理的にリセットするのみならず、ユーザの思考過程及び集中を意識的に又は無意識的に乱す心理的作業もなし得る。
【０００４】
更に、従来の入力装置は複数のセキュリティチャレンジを与え得る。第１に、システムが（アクセス前に入力しなければならないパスワードによって）安全でない限り、無許可のユーザは関連する入力装置を用いて関連するディジタルデータ処理システムにアクセスすることはできない。更に、信号がパスワードで保護されていても、従来の入力装置はパスワード入力時にキーストロークを容易に観察し得る悪意の第３者に攻撃されやすい。最後に、従来の入力装置は、本質的には、ほとんどの場合、例えばパスワードの入力時又はユーザがシステムに連続的にアクセスしている時に、真に正規のシステムユーザと偽者とを区別するために（例えばパスワードを認識する機能とは別の）独立のワンタイムゲート機能を提供する受動装置である。
【０００５】
様々な「仮想キーボード」入力装置が提案されているが、これらの入力装置もいくつかの欠点を有する。例えば、これらのシステムは、「キー」が打たれたことを決定するために、主として、ユーザの指の先端のみを検出し、指先端の速度を計算することに頼っている。これらのシステムは、また、一般に、仮想のキーが作業空間内の固定の位置に割り当てられた静的モデルに頼っている。従って、これらのシステムはユーザの指先端と作業空間を規定する表面との間の衝突点を重視している。しかしながら、実際には、固定の仮想位置における指先端の速度に関するデータは、ユーザが必要とする及び/又は入力装置に期待する精度を達成するには不十分である。更に、これらのシステムは、例えば上述した従来の機械的キーボードと同様の人間工学的問題が課される。更に、これらのシステムは一般にキーボードモードでのみ機能し、利用可能な入力モードを切り替える便利で混乱を生じない使用法に欠けている。模範的な仮想キーボード入力装置は、「Method and apparatus for entering data using a virtual input device」と題するRafii他の米国特許第６，６４１，４２２号明細書に開示されており、該特許明細書は参照することによりその全内容が本明細書に組み込まれる。
【０００６】
以上を考慮すると、ディジタルデータ処理システムのための改良された入力装置が必要とされている。
【発明の概要】
【０００７】
本発明教示は、概して、ディジタルデータ処理装置で用いるユーザ入力情報を発生するためにユーザによるジェスチャーを検出し解釈する装置及び方法に関する。本明細書で与えられる模範的な方法及び装置は、観察作業空間内においてユーザの手の特徴及び/又はユーザの手の様々な動き特性を検出することによって、ユーザの様々なジェスチャーをディジタルデータ処理システムのための入力（例えば、キーボード入力、マウス入力など）として確実に解釈することができる。観察された特徴は、例えば正規のユーザをユーザの手の解剖学的特性及び/又はジェスチャー中にユーザにより提示される行動学的特性により識別することによって、セキュリティプロトコルを実装するために使用することもできる。追加のオブジェクト及び/又は所定のパターンを識別し、装置との相互作用のための追加の情報及びオプションを提供することもできる。
【０００８】
本発明教示の一つの態様では、ディジタルデータ処理システムのための入力装置が提供され、本入力装置は、作業空間を観察し、作業空間内の入力エージェントの１つ以上のパラメータを示すデータを発生する少なくともセンサ、及び前記センサにより発生されたデータから前記エージェントにより実行されたジェスチャーを識別し、前記識別したジェスチャーに基づいてユーザ入力情報を発生するプロセッサを含む。前記プロセッサにより発生されたユーザ入力情報は、非限定例として、キーボード入力情報、ポインティング装置入力情報、及び数字パッド入力情報のどの様々なタイプの情報の１つ以上を表すことができる。
【０００９】
本発明教示に従って使用するセンサは様々な構成を有し得る。非限定的な例として、１つ以上のセンサは、作業空間を観察するために、光学撮像（例えば、画像処理）、赤外光、構造光及び飛行時間検出を利用することができる。例えば、飛行時間信号及び/又は構造光（例えば赤外光及び赤外センサ、ＲＧＢカメラ）を用いて、例えば単一のセンサで作業空間内の入力エージェントの距離及び/又は向きを表すデータを３次元で表すことができる。更に、模範的なシステムは併用される複数のセンサ及び/又は複数のタイプのセンサを備えることができる。例えば、第１のセンサが第１のパースペクティブから作業空間を観察し、第１のセンサから間隔を置いて配置された同じ又は異なるモダリティの第２のセンサが第１のパースペクティブと異なる第２のパースペクティブから作業空間を観察するようにできる。いくつかの態様では、第１のセンサは構造光センサを備え、第２のセンサはカメラを備え、第１及び第２のセンサにより発生されたデータを合成して作業空間の及びそれと入力エージェントとの相互作用のよりロバストな表現を発生することができる。いくつかの態様では、第１及び第２のセンサの様々なパースペクティブが相まって作業空間の３次元の立体視的な理解を発生し得る。様々な態様では、プロセッサは、入力装置との物理的なユーザ接触を必要とすることなくユーザ入力情報を発生するように構成することができる。
【００１０】
いくつかの態様では、プロセッサは作業空間のスコープ内のエージェントのランドマーク（例えば特定の特徴、パターン）を検出することができる。例えば、エージェントはユーザの手とすることができ、プロセッサにより検出されるランドマークは指、指部分、指形状、指関節、指爪、皮膚表面輪郭、及び手の表面のうちの少なくとも１つとすることができる。いくつかの態様では、エージェントの１つ以上のパラメータは、エージェントのサイズ、エージェントの色、エージェントの表面テクスチャ、エージェントの位置、及びエージェントの向き（例えば、ユーザの手の１つ以上の部分の向き）を含む。様々な態様では、プロセッサはエージェントのパラメータの少なくとも１つの変化を計算することができる。
【００１１】
本発明教示の様々な態様では、作業空間は入力装置に隣接する表面及び/又は少なくとも１つのセンサの視野内の３次元空間を含む。例えば、作業空間は、入力装置が位置する表面及び/又は入力装置から広がる前方１８０度の円弧域を含むことができる。本発明教示のいくつかの態様では、１つ以上のセンサで観察し得る作業空間はセンサの位置及び数に基づくものとし得る。一例では、前記少なくとも１つのセンサは作業空間の周囲に置かれた複数のセンサを備え、作業空間は複数のセンサにより囲まれた領域を含むものとし得る。いくつかの実施形態では、例えば、センサは、３６０度の球状作業空間を生成するように作業空間の中心に外向きに位置させることができる。
【００１２】
本発明教示のいくつかの態様では、プロセッサはエージェントにより実行されたジェスチャーを１つ以上の入力候補、非限定例として、例えば英数字、句読点、記号又は機能要素などに関連付けることができる。入力装置のプロセッサがキーボード入力情報を表す実施形態では、例えば、入力候補は概してＣＴＲＬ，ＡＬＴ、ページアップ及びページダウンなどの特殊キー又は機能キーなどと関連する機能を提供することができる。
【００１３】
様々な実施形態では、エージェントは１つ以上の手を含み、各手は複数の指を含むものとし得る。このような模範的な実施形態では、入力装置は複数の動作モードで動作することができ、プロセッサは現在の動作モードを、１つ以上の手の位置、１つ以上の手が実行したジェスチャー、及び１つ以上の手の配置のうちの少なくとも１つに少なくとも部分的に基づいて設定するように構成することができる。一例として、複数の動作モードは、キーボード入力モード、ポインティング装置入力モード、数字パッド入力モード、テンプレートベース入力モード、及びカスタムパッド入力モードを含むことができる。いくつかの態様では、複数の指の１つが伸ばされるとき、プロセッサは現在の動作モードをポインティング装置入力モードに設定することができる。また、例えば、プロセッサが作業空間内に限界数の指を検出するとき、プロセッサは現在の動作モードをキーボード入力モードに設定することができる。いくつかの態様では、プロセッサが１つ以上の手の１つのホーム位置から横にずれた位置への移動を検出するとき、又はプロセッサが１つ以上の手の１つのみが作業空間に提示されていることを検出するとき、プロセッサは現在の動作モードを数字パッド入力モードに設定することができる。いくつかの態様では、プロセッサが１つ以上の手の１つのホーム位置から横にずれた位置への移動を検出するとき、又はプロセッサが１つ以上の手の１つのみが作業空間に提示されていることを検出するとき、プロセッサは現在の動作モードをカスタムパッド入力モードに設定することができる。いくつかの態様では、プロセッサは作業空間内のテンプレート及び/又はオブジェクト（例えばツール、スタイラスなど）の識別に少なくとも部分的に基づいてテンプレートベース入力モードを設定するように構成することができる。
【００１４】
いくつかの態様では、入力装置は、特定のジェスチャーが検出されたとき、プロセッサが特定のユーザ入力情報を発生するように、特定のユーザ入力情報を特定のジェスチャーに割り当てる設定モジュールを含むことができる。一例として、人差し指と親指を合わせたり離したりするつまみ動作のようなユーザの特定のジェスチャーはズームイン又はズームアウトなどの特定の操作と関連付けることができる。このような関連付けはユーザが予め決定又は指定することができる。様々な態様では、設定モジュールは、特定のジェスチャーを確実に検出できる程度に基づいてジェスチャー強度インジケータを表示する。
【００１５】
本発明教示の様々な態様によれば、作業空間を示すデータを発生する少なくとも１つのセンサ及びプロセッサを含むディジタルデータ処理システムのための入力装置が提供される。プロセッサは、センサにより発生されたデータに基づいてユーザの手の複数の解剖学的ランドマークを識別し、作業空間内のランドマークの位置を決定するユーザプロファイルモジュール、センサにより時間とともに発生されたデータを比較して前記ランドマークの変化を示す一組の値を発生する動き検出モジュール、及び前記ランドマークの変化をユーザ入力情報と関連付ける分類モジュールを更に含む。
【００１６】
動き検出モジュールは、様々なデータを比較してランドマークの変化を示す値を発生することができる。一例として、動き検出モジュールは、特定のランドマークの移動距離、速度及び加速度の１つ以上を少なくとも１つの他のランドマークの移動距離、速度及び加速度と比較し、分類モジュールが前記比較に基づいてユーザ入力情報を発生し得るようにする。いくつかの態様では、例えば、動き検出モジュールは出発点に対するランドマークの距離の変化を測定し、その結果分類モジュールがこのような測定結果をユーザ入力情報と関連付けることができるようにする。代わりに又は加えて、動き検出モジュールはランドマークの速度及び/又は加速度の変化を測定することができる。いくつかの態様では、動き検出モジュールは、例えば、少なくとも２つのランドマークの角度関係の変化を測定することができる。いくつかの実施形態では、例えば、動き検出モジュールは頂点と少なくとも２つのランドマークとで決まる角度の角変位を測定することができる。代わりに又は加えて、動き検出モジュールは頂点と少なくとも２つのランドマークとで決まる角度の角速度及び/又は角加速度を測定することができる。
【００１７】
いくつかの態様では、プロセッサは作業空間内のユーザの手の位置を示すコア値を、例えばユーザの手の様々な解剖学的ランドマークの観察位置及び/又は向きに基づいて決定する向きモジュールを含むことできる。
【００１８】
いくつかの態様では、本発明教示によるシステム及び方法は、更に、観察される作業空間内に置かれた物理的テンプレートを利用し、ユーザがこのテンプレートと物理的に相互作用及び/又は操作し得るようにする。関連の態様では、入力装置は更に、作業空間内のオブジェクト又はテンプレートの存在及び位置を少なくとも１つのセンサにより発生されるデータに基づいて決定し、オブジェクト又はテンプレートを識別するテンプレート識別モジュールを含むことができる。従って、分類モジュールは、１つ以上のランドマークの相互変化の関連付けの代わりに又は加えて、テンプレートに対するランドマークの変化をユーザ入力情報と関連付けることができる。
【００１９】
本発明教示の一つの態様では、互いに間隔を置いて配置され、作業空間を観察し、少なくとも第１及び第２のパースペクティブからの作業空間を示すデータを発生する少なくとも２つのセンサを含む、ディジタルデータ処理システムのための入力装置が提供される。本入力装置は更に、作業空間内のランドマークの位置を決定するために少なくとも２つのセンサから発生されるデータで示されるユーザの手の複数の解剖学的ランドマークを識別するユーザプロファイルモジュールを含むことができる。更に、プロセッサは作業空間内のユーザの手のコアの位置を示すコア値を計算する向き計算モジュール、及び時間とともに複数のセンサにより発生されるデータを比較して前記ランドマークの移動距離、速度及び加速度を示す第１組の値を発生する動き計算モジュールを含むことができる。プロセッサは、作業空間内のユーザの手で実行されたジェスチャーを第１組の値に基づいてユーザ入力情報と関連付ける分類モジュールも含むことができる。
【００２０】
一例として、互いに間隔を置いて配置され、それぞれ第１及び第２のパースペクティブから作業空間の２次元画像をキャプチャする第１及び第２のカメラ、及びプロセッサを含む、ディジタルデータ処理システムのための入力装置を提供することができる。プロセッサは、画像内のユーザの手の複数の解剖学的ランドマークを（例えば画像処理を用いて）識別し、作業空間内の前記ランドマークの位置を決定するユーザプロファイルモジュールを含むことができる。異なるパースペクティブで様々なカメラにより発生されるデータに基づいて、向き計算モジュールはユーザの手のコア値を計算することができ、動き計算モジュールは前記ランドマークの２次元移動距離、速度及び加速度を示す第１組の値を発生することができる。更に、動き計算モジュールは、第１組の値を前記ランドマークの３次元移動距離、速度及び加速度を示す第２組の値に変換することができる。第２組の値に基づいて、計算モジュールは作業空間内のユーザの手で実行されたジェスチャーをユーザ入力情報と関連付けることができる。
【００２１】
いくつかの実施形態では、動き計算モジュールは更に、（例えば頂点と、頂点から複数のランドマークの第１のランドマークに達する第１の光線及び頂点から複数のランドマークの第２のランドマークに達する第２の光線とで決まる角度の）角変位、角速度及び角加速度を示す第３組の値を発生することができる。いくつかの態様では、分類モジュールは更に、この第３組の値を用いて作業空間内のユーザの手で実行されたジェスチャーをユーザ入力情報と関連付けることができる。
【００２２】
本発明教示の一つの態様では、ディジタルデータ処理システムのユーザを認証する方法が提供され、本方法は、少なくとも１つのセンサを用いて作業空間内のユーザの１つ以上のパラメータを示すデータを発生させるステップ、前記データに基づいて作業空間内のユーザにより実行されたジェスチャーを示すジェスチャー情報を決定するステップ、前記ジェスチャー情報をユーザの固有の既知のジェスチャー情報（例えば所定のジェスチャー情報）と比較してユーザがディジタルデータ処理システムの正規のユーザであるかどうかを決定するステップを含む。様々な態様では、作業空間は、入力装置が位置する表面、入力装置から広がる前方１８０度の円弧域、及び/又はディジタルデータ処理システムが置かれる表面を含むことができる。
【００２３】
様々な態様では、ジェスチャー情報は、コードの入力（例えば英数字コード又は数字列の入力）中のユーザの手の配置の変化を含むことができる。一例として、ジェスチャー情報はコード入力中のユーザの手の動きの速度、リズム又はスタイルを含むことができる。更に、様々な態様では、本方法は、手が作業空間に入る度に前記検出及び比較ステップを繰り返して、その手がディジタルデータ処理システムの正規のユーザのものであるかどうかを決定するステップを含むことができる。代わりに又は加えて、プロセッサは、手が正規のユーザのものであることを保証するために観察されたジェスチャー情報をユーザに固有の既知のジェスチャー情報と連続的に又は間欠的に比較することができる。
【００２４】
いくつかの態様では、ディジタルデータ処理システムのユーザを認証する方法は、更に、ユーザの１つ以上のパラメータを前記データに基づいて決定するステップ、及び決定されたパラメータを所定の値と比較してユーザが正規のユーザであるであることを決定するステップを含むことができる。様々な態様では、前記パラメータはユーザの一部分（例えば手の一部分）の解剖学的形状、該部分の色及び該部分の表面テクスチャの少なくとも１つとすることができる。更に、ユーザが作業空間に入る度に検出及び比較ステップを繰り返して、ユーザが引き続きディジタルデータ処理システムの正規のユーザであるかどうかを決定することができる。代わりに又は加えて、プロセッサは、手が正規のユーザのものであることを保証するために前記パラメータを所定の値と連続的に又は間欠的に比較することができる。
【００２５】
本発明教示のいくつかの態様によれば、ユーザがディジタルデータ処理システムの正規のユーザであるかどうかを決定するシステムが提供され、本システムは、作業空間内でユーザにより実行されたジェスチャーを検出し、検出したジェスチャーを示すジェスチャー情報を発生する１つ以上のセンサ、及び発生されたジェスチャー情報を記憶媒体に記憶された所定のジェスチャー情報と比較し、発生されたジェスチャー情報が所定のジェスチャー情報に一致する程度に基づいてユーザが正規のユーザであるかどうかを決定するプロセスを含む。
【００２６】
別に述べるように、センサは様々な構成のものとし得る。例えば、いくつかの態様では、前記１つ以上のセンサは、センサとの物理的のユーザ接触を必要とすることなく、ユーザにより実行されたジェスチャーを検出するように構成することができる。一例として、いくつかの実施形態では、前記１つ以上のセンサは第１及び第２のカメラとし、発生されるジェスチャー情報は第１及び第２のカメラでキャプチャされる作業空間の画像とすることができる。関連の実施形態では、プロセッサは作業空間の画像内のユーザのランドマークを検出することができる。模範的なランドマークは、指、指部分、指形状、指関節、指爪、皮膚表面輪郭、及び手表面を含む。
【００２７】
本発明教示のいくつかの態様によれば、ディジタルデータ処理システムの正規のユーザを認識するシステムが提供され、本システムは、入力エージェントの手の少なくとも１つの物理的特徴を検出する少なくとも１つのセンサ、及び検出した物理的特徴を記憶媒体に記憶された所定の特徴情報と比較し、検出した物理的特徴が所定の特徴情報と一致する程度に基づいてユーザが正規のユーザであるかどうかを決定するプロセッサを含む。
【００２８】
様々な態様では、前記少なくとも１つのセンサは、ユーザの手の少なくとも１つの物理的特徴を検出するために、光学撮像、ＲＧＢ、赤外光、構造光、及び飛行時間検出を利用することができる。一例として、前記少なくとも１つのセンサは第１及び第２のカメラとし、前記物理的特徴は第１及び第２のカメラでキャプチャされたエージェントの手が位置する作業空間の画像から検出することができる。
【００２９】
本発明は更に請求項に記載された装置、システム及び方法を提供する。
【００３０】
本発明は、添付図面と関連する以下の詳細の説明からより完全に理解される。
【図面の簡単な説明】
【００３１】
【図１】図１Ａは、表面上に置かれたジェスチャー認識入力装置の一つの模範的な実施形態の概略上面図である。図１Ｂは、図１Ａのジェスチャー認識入力装置の側面図である。図１Ｃは、２つの構造光センサを有するジェスチャー認識入力装置の一つの模範的な実施形態の側面図である。図１Ｄは、１つの構造光センサを有するジェスチャー認識入力装置の別の模範的な実施形態の側面図である。図１Ｅは、１つのカメラと１つの構造光センサを有するジェスチャー認識入力装置の別の模範的な実施形態の側面図である。図１Ｆは、１つのカメラと２つの構造光センサを有するジェスチャー認識入力装置の別の模範的な実施形態の側面図である。図１Ｇは、図１Ａのジェスチャー認識入力装置の回路図である。図１Ｈは、図１Ａのジェスチャー認識入力装置のセンサのパースペクティブから得られるアクティブゾーン及び関心ゾーンの概略図である。図１Ｉは、入力装置が作業空間を構成するジェスチャー認識入力装置の別の模範的な実施形態の概略図である。
【図２】図１Ａに示すジェスチャー認識入力装置とともに使用する制御ユニットの概略図である。
【図３】図２の制御ユニットに含めることができる模範的なモジュールの概略図である。
【図４】図４Ａは、ジェスチャー認識入力装置とともに使用するキャリブレーションテンプレートの一つの模範的な実施形態を示す。図４Ｂは、キャリブレーションプロシージャの一つの模範的な実施中における「スタンド位置」に置かれたユーザの手を示す。図４Ｃは、キャリブレーションプロシージャの一つの模範的な実施中における「スプレッドスタンド位置」に置かれたユーザの手を示す。図４Ｄは、キャリブレーションプロシージャの一つの模範的な実施中における「レディー位置」に置かれたユーザの手を示す。
【図５】図５Ａは、１つ以上の人間の手の各部を指定するために使用可能な座標系の概略図である。図５Ｂは、一つの指に適用した図５Ａの座標系の概略図である。図５Ｃは、図１Ａの装置のセンサのパースペクティブから見た２つの手の概略図で、装置で識別できる模範的なランドマークを示す。図５Ｄは、図１Ａの装置のセンサのパースペクティブから見た２つの手の概略図で、図１Ａの装置で計算できる模範的なコア位置及び図１Ａの装置で測定できる模範的な角度を示す。図５Ｅは、図１Ａの装置のセンサのパースペクティブから見た左手の概略図である。
【図６】図６Ａは、ジェスチャー認識入力装置と、入力装置の作業空間内にキーボード入力モード位置に置かれた２つの人間の手を示す上面図である。図６Ｂは、ユーザの手が図６Ａに示すように置かれたとき、ジェスチャー認識入力装置のセンサでキャプチャされる模範的な画像を概略的に示し、画像内には様々な解剖学的ランドマークが識別されている。
【図７】図７Ａは、ジェスチャー認識入力装置と、入力装置の作業空間内に数字パッド入力モード位置に置かれた２つの人間の手を示す上面図である。図７Ｂは、ユーザの手が図７Ａに示すように置かれたとき、ジェスチャー認識入力装置のセンサでキャプチャされる模範的な画像を概略的に示し、画像内には様々な解剖学的ランドマークが識別されている。
【図８】図８Ａは、ジェスチャー認識入力装置と、入力装置の作業空間内にマウス入力モード位置に置かれた２つの人間の手を示す上面図である。図８Ｂは、ユーザの手が図８Ａに示すように置かれたとき、ジェスチャー認識入力装置のセンサでキャプチャされる模範的な画像を概略的に示し、画像内には様々な解剖学的ランドマークが識別されている。  図８Ｃは、本教示の様々な態様による模範的なキーボードテンプレートを示す。図８Ｄは、本教示の様々な態様による、上部にパターンが配置された模範的な特殊機能キーボードのテンプレートを示す。図８Ｅは、模範的なセンサに対して図８Ｄの向きと異なる向きに配置された図８Ｄの模範的なキーボードテンプレートを示す。図８Ｆは、プロセッサで識別及び/又は追跡し得る模範的なパターンを有する、作業空間内で用いる模範的なオブジェクトを示す。図８Ｇは、図８Ｆのオブジェクト上に配置された別の模範的なパターンを示す。図８Ｈは、第１の位置にあるユーザの手の上に投影された構造光の模範的な表示を示す。図８Ｉは、第２の位置にあるユーザの手の上に投影された構造光の模範的な表示を示す。
【図９】図９Ａは、ジェスチャー認識入力装置のセンサでキャプチャされた、キーストライクジェスチャーを実行するユーザの右手の模範的な画像を概略的に示す。図９Ｂは、ジェスチャー認識入力装置のセンサでキャプチャされた、キーストライクジェスチャーを実行するユーザの右手の模範的な画像を概略的に示す。図９Ｃは、ジェスチャー認識入力装置のセンサでキャプチャされた、キーストライクジェスチャーを実行するユーザの右手の模範的な画像を概略的に示す。
【図１０】図１０Ａは、キーストライクの模範的な順序に対する角加速度を時間の関数として示すグラフである。図１０Ｂは、図１０Ａのキーストライクの順序に対する角速度を時間の関数として示すグラフである。図１０Ｃは、図１０Ａのキーストライクの順序に対する角変位を時間の関数として示すグラフである。図１０Ｄは、図１０Ａのキーストライクの順序に対する線速度を時間の関数として示すグラフである。図１０Ｅは、図１０Ａのキーストライクの順序に対する線加速度を時間の関数として示すグラフである。図１０Ｆは、図１０Ａのキーストライクの順序に対する水平距離を時間の関数として示すグラフである。図１０Ｇは、図１０Ａのキーストライクの順序に対する水平速度を時間の関数として示すグラフである。図１０Ｈは、図１０Ａのキーストライクの順序に対する水平加速度を時間の関数として示すグラフである。図１０Ｉは、図１０Ａのキーストライクの順序に対する垂直距離を時間の関数として示すグラフである。図１０Ｊは、図１０Ａのキーストライクの順序に対する垂直速度を時間の関数として示すグラフである。図１０Ｋは、図１０Ａのキーストライクの順序に対する垂直加速度を時間の関数として示すグラフである。
【図１１】ジェスチャー入力装置を動作させる一つの模範的な方法のフローチャートである。
【発明を実施するための形態】
【００３２】
本明細書に開示する構造、機能、製造の原理、及び方法、システム及び装置の使用方法の全体的な理解を与えるために、いくつかの模範的な実施形態が以下に記載される。これらの実施形態の１つ以上の例が添付図面に示される。当業者は、本明細書に具体的に記載され且つ添付図面に示される方法、システム及び装置は非限定的な模範的実施形態であり、本発明の範囲は請求項によってのみ特定されることは理解されよう。一つの模範的な実施形態と関連して図示され説明される特徴は他の実施形態の特徴と組み合わせることができる。このような修正及び変更は本発明の範囲に含まれることを意図している。
【００３３】
本明細書に組み込まれる参考文献の記載事項のいずれかが本願の開示とコンフリクトする範囲内においては、本願の開示が優先する。
【００３４】
概して、ユーザにより実行されたジェスチャーを検出し解釈して、ディジタルデータ処理システムで使用するユーザ入力情報を発生させる装置及び関連方法が本明細書に開示される。様々な実施形態では、模範的な装置は、ユーザがジェスチャーを実行する作業空間を観察する１つ以上のセンサ、及びセンサにより発生されたデータを様々なユーザ入力として解釈するプロセッサを含む。様々な態様では、ユーザのジェスチャー、例えばユーザの手の配置を用いて様々な入力モードに装置を設定することができ、様々な入力モードはセンサにより発生されたデータを解釈する態様に影響を与えることができる。一例として、装置は、例えばユーザの手の配置（例えばユーザの利き手及び利き手でない手の存在及び/又はそれらの相対的位置）に基づいて、キーボード入力モード、数字パッド入力モード、マウス入力モード、又は他のカスタマイズ可能な入力モードに設定することができる。従って、ユーザにより実行されるその後のジェスチャーは、ユーザの手の観察される特徴及びユーザの手の様々な動き特性を用いて、キーボード入力、数字パッド入力、マウス入力などとして解釈することができる。これらの観察される特徴は、例えばユーザの手の解剖学的特性及び/又はジェスチャー中（例えばパスワードのタイピング中又は連続的又は間欠的な使用中）にユーザにより提示される行動特性を用いて正規のユーザを識別することによってセキュリティプロトコルを実装するために使用することもできる。
【００３５】
更に、本発明教示の様々な態様による入力装置は、新たな物理的装置の設置及び習得をユーザに要求しない独自の移行を与えることによって、ユーザがキーボード、数字パッド及びマウスなどの従来の入力装置を切り替える必要がないので、精神的集中を中断する機会を低減することができる。更に、本発明教示の様々な態様による入力装置は、ユーザの手の様々な部分に基づくコア計算を用いて、ユーザの手の位置を相互の関連で及び入力装置との関連で確定することができる位置確定コンポーネントを含むことができる。いくつかの態様では、このコア計算は観察されたデータに基づいて単一変数を提供し、この単一変数はユーザの意図を確実に正確に反映させるために必要な他の計算の多くを微調整するために使用することができる。更に、本発明教示によるシステム及び方法は、ユーザの手の位置を調整する大きな自由をユーザに許すこともでき、従って疲れ、反復性ストレス損傷、及び他の人間工学的懸念の防止に役立つ。例えば、本明細書に開示する模範的な入力装置はユーザに無制限の経験をユーザに提供し、ユーザは固定入力装置の厳しい制限から解放され、ユーザの指部分、指関節、及び指爪のいくつか又はすべてを明確に測定して、それらの解剖学的ランドマークの各々のＸ，Ｙ及びＺ座標のロバストな位置計算を生成することができる。様々な態様では、特定のユーザの動きのこのような正確な測定は、特定のユーザが実行しようとする作業を識別するのに有用であるのみならず、特定のアクションのためのユーザの広範囲に亘る典型的なパターンを含むデータウェアハウスの作成にも有用である。本発明教示による入力装置は、速度のみに頼るのではなく、非限定例として、例えば垂直距離、垂直速度、垂直加速度、水平距離、水平速度、水平加速度、角変位、角速度、角加速度などを含む複数の動き変数を考量することができる。既存のシステムより優れた精度を有する入力装置を提供するためにこれらの特徴のいくつか又はすべてを組み合わせることができる。
【００３６】
［システム概説］
図１Ａ−１Ｉは本発明教示の様々な態様を含むジェスチャー認識入力装置１００の模範的の実施形態示す。
【００３７】
［センサ］
本発明教示の様々な態様によるジェスチャー認識入力装置は概して、作業空間を観察し、作業空間内に存在するオブジェクト又は入力エージェント（一般にユーザの手、テンプレートなど）の１つ以上のパラメータを示すデータを発生する１つ以上のセンサを含み、一般に入力エージェントと入力装置との物理的接触は必要ない。非限定的な例として、センサは、作業空間内のオブジェクトの位置、速度、加速度度、角変位などを示すデータを発生することができ、このデータは、以下で詳述するように、作業空間内のオブジェクトの部分の距離及び/又は向きを計算するために使用することができる。実際には、センサは様々な構成配置及び方向を有し、様々な検出モダリティの下で動作し得る。
【００３８】
図１Ａ及び１Ｂに示すように、例えば、装置１００は作業空間１０６内のオブジェクト（例えば、ユーザの手）の存在を検出する第１及び第２のセンサ１０２，１０４を含み、このようなオブジェクトの動きを検出することができる。図示の実施形態では２つのセンサ１０２，１０４が示されているが、装置１００は１つだけのセンサを含むことができ、また３以上のセンサを含むこともできる。例えば、図１Ｄに示す模範的な装置１００は、単一のセンサ１０４だけを含む。他方、図１Ｆに示す模範的な装置１００は３つのセンサ１０２，１０３，１０４を含む。
【００３９】
本発明教示に従って使用するセンサは、作業空間を観察するために、当該技術分野で知られている様々なセンサ技術又はこれらのセンサ技術の組み合わせ又は本発明教示とともに今後開発及び変更されるセンサ技術、例えば光学撮像（例えば、可視光カメラ）、赤外検出、構造光検出、及び飛行時間検出などを使用することができる。実際には、模範的なシステムは複数のセンサ及び/又は複数のタイプのセンサを含むことができる。例えば、個別に２次元画像を発生する複数のセンサ（例えば、ＲＧＢセンサ，ＣＣＤカメラ）により発生されるデータを組み合わせることによって、作業空間の立体３次元「画像」を得ることができる。３次元モダリティを使用することもできる。例えば、赤外光を用いて作業空間上に既知のパターン（例えば、ライン、バー、ドット、形状）を投影することによって、ＩＲセンサはパターン光又は「構造」光がオブジェクトへの投影時に成形及び/又は屈曲される状態に基づいた３次元画像をキャプチャすることができる。投影光の構造又はパターンの変化に基づいて、オブジェクトの３次元理解が得られる。投影光は位相シフト光又は可視光の既知のパターン（例えば、着色光のパターン）を含むこともでき、これらのパターンを作業空間内に投影し、本発明教示によるセンサで検出することができる。例えば、図１Ｄは単一の構造赤外光センサ１０４（並びに構造赤外光源１０５）を有する装置１００を示す。また、２つの離間したＣＣＤカメラについて上述したように、（例えばオクルージョンが発生する場合には）キャプチャされるオブジェクトのより正確な表現を提供するために、複数のＩＲセンサを、図１Ｃに示すように互いに間隔を置いて配置することができる。更に、様々な実施形態では、作業空間内のオブジェクトに関する追加のデータを提供するために様々なモダリティの複数のセンサを単一の装置に組み込むことができる。
【００４０】
例えば、図１Ａ及び１Ｂに示す実施形態では、第１及び第２センサ１０２，１０４はともに視野からの像をキャプチャするそれぞれの光学系を有するカメラ（例えば、ＣＣＤ撮像装置）の形態であるが、図１Ｃ，１Ｅ及び１Ｆに示す模範的な装置は付加的に又は代替的に少なくとも１つの構造赤外光センサ１０５及び１つ以上の赤外センサを使用する。例えば、図１Ｃに示す模範的な装置１００は、赤外光源１０５により発生された構造光と作業空間内の１つ以上のオブジェクトとの相互作用を検出するように構成された２つの構造赤外センサ１０２，１０４を含む。また、図１Ｅ及び１Ｆに示す模範的な装置は複数のセンサタイプを含む。例えば、図１Ｅは１つのカメラ（例えばＣＣＤベースの撮像装置）１０２及び１つの構造赤外光センサ１０４（並びに構造赤外光源１０５）を有する装置１００を示す。他方、図１Ｆは１つのカメラ（例えばＣＣＤベースの画像センサ）１０３及び２つの構造赤外光センサ１０２，１０４（並びに構造赤外光源１０５）を有する装置１００を示し、これらは作業空間及び/又はユーザに面する装置１００の表面に取り付けられる。
【００４１】
再び図１Ａ及び１Ｂにつき説明すると、センサ１０２，１０４は、センサ１０２，１０４がユーザの方向に向けられるように、装置１００が置かれたテーブル、机又は他の作業表面１０８からほぼ垂直に延在する装置１００の表面に取り付けられる。この構成配置では、２つのセンサ１０２，１０４の集合視野は、各センサから装置１００の外側に約１２０度の円弧に広がる作業空間を規定する。いくつかの実施形態では、作業空間１０６はもと広い又は狭い円弧、例えば９０度、１６０度、１８０度などの円弧に広がるものとし得る。作業空間１０６は３次元であり、装置１００が置かれた表面から垂直に上方にも広がる。従って、作業空間１０６は、例えば図１Ｈに示すように、複数のゾーンに論理的に分割することができる。「アクティブ」ゾーン１３０は、ユーザが装置１００の設置表面１０８（又は装置１００が表面に置かれてない場合には装置から延びる平面）と相互作用する領域と定義することができる。更に、「関心ゾーン」１３２はアクティブゾーン１３０より上の領域（例えば、装置１００の設置表面１０８からアクティブゾーン１３０より更に離れた領域）と定義することができる。以下に述べるように、関心ゾーン１３２はユーザのジェスチャー、アクション又は動作の分類を助けるために監視される。いくつかの実施形態では、アクティブゾーン１３０は装置１００及びセンサ１０２，１０４に対して固定されたままであるが、関心ゾーン１３２はユーザの手１３４，１３６とともに移動し得る（例えば追従する）。言い換えれば、ユーザの手１３４，１３６の一方又は両方が移動し、センサ１０２，１０４に対して斜めになると、関心ゾーン１３２の左部分及び/又は右部分も同様に移動する。従って、表面とのユーザ相互作用においても、（表面より上の）空間内のユーザ相互作用においても、ユーザのジェスチャーを追跡するセンサ１０２，１０４の能力はユーザの疲れを軽減し、ユーザは手を最も快適な位置にシフトさせることが可能になり且つ装置１００は様々な環境で使用ことが可能になることにより有用性が増大する。一例として、様々なモバイル環境においては、安定な相互作用を可能とする表面をユーザに提供できないことがある。それにもかかわらず、別に述べるように、センサは作業空間内のユーザのジェスチャーを追跡し、ユーザのジェスチャーを識別してユーザ入力情報を発生することができる。他方、適切な表面がユーザに提供され、ユーザが傾いた場合でも、疲れを低減するために、表面より上のユーザのジェスチャー及び/又は表面とのユーザの相互作用を観察する能力を妨げることなく、ユーザは体の一部分（たとえば手首）を表面の上に乗せることができる。
【００４２】
センサの量、及び/又はセンサ位置及び向きは様々なサイズ及び形状の作業空間を提供するように選択することができることは理解されよう。例えば、作業空間１０６の円弧は最低１度〜最大３６０度（例えば、センサを装置１００の両側に配置することにより）にすることができる。いくつかの実施形態では、装置１００はセンサ１０２，１０４間の距離を知覚する（即ち、センサ間の距離は「知る」ことができるため、センサにより発生されるデータは後続の処理のために合成することができる。
【００４３】
作業空間１０６内の物理的作業表面１０８の存在が本明細書で一般に企図されるが、装置１００は任意の空間内で使用することもでき、例えば作業空間１０６は如何なる表面も含まないものとすることができる。更に、本明細書で使用する表面という語は物理的表面又は仮想表面（例えば、仮想平面）を意味する。また、前方センサパースペクティブが本明細書で記載されるが、装置１００は他のセンサパースペクティブを有することもできる。例えば、図１Ｉに示すように、装置１００’は、センサ１０２’が例えばホワイトボード、デスクトップ、テーブルトップ、ディスプレイ、壁などの矩形空間１０６’を囲むように構成することができ、それによって作業空間１０６’内でユーザにより操作されるユーザの手又は他のオブジェクトが複数の側から観察することを可能にすることができる。更に、本発明教示によれば、作業空間は作業空間内のオブジェクトを検出するためにセンサの能力に基づいて任意の形状にすることができることは理解されよう。一例として、センサを包囲する３６０度の球形作業空間を生成するように１つ以上のセンサを作業空間の中心に外向きに配置することができる。
【００４４】
［光源］
上述したように、センシングモダリティ自体は作業空間への光の投影を必要とする。一例として、図１Ｃ−１Ｆに示す装置１００の各々は、例えば赤外光の既知のパターン（例えば水平又は垂直のライン、バー、ドット、形状）を発生させるために赤外光源１０５、又はカラーバーのパターンを発生させるために可視光源を使用するので、１つ以上のセンサはオブジェクトへの投影時にパターン化された光が成形及び/又は屈曲される状態をキャプチャすることができる。光源１０５は作業空間を照明するために様々な構成を有し得る。例えば、構造赤外光源１０５はＩＲセンサに隣接して配置することができ、またそれから離して配置することもできる。
【００４５】
図１Ｂ，１Ｅ及び１Ｆにつき説明すると、装置１００は、加えて又は代わりに、作業空間１０６の少なくとも一部分を照明するための光源１１２を含むことができる。これは、１つ以上の可視光カメラをセンサとして使用するとき、及び装置１００を低い周囲光レベルで特徴づけられる環境内で使用するときに特に有利である。様々な光源、例えばＬＥＤ又は白熱電球を使用することができる。センサ（例えば、図１Ｂのセンサ１０２，１０４）でキャプチャされるデータを処理して装置１００の使用中の照明状態を決定し、光源１１２を使用するかどうか及び光源１１２の強度を制御することができることは理解されよう。
【００４６】
本発明教示に照らせば、様々な実施形態では、光源はユーザに見える表示を表面上に投影するように構成できることも理解されよう。このような投影は、（例えば、別に述べるように、ユーザに表面と特殊の方法で相互作用を行なわせることによって）装置１００のキャリブレーションに役立てることができ、且つ又例えば、キーボードの視覚表示を表面上に表示することによって初心者又は未熟なタイピストを助けることができる。同様に、様々な態様では、投影光は作業空間の特定部分を特定の所望のユーザ入力に対応するものとして示される色又は形により識別することができる。例えば、後に詳述するように、ユーザはこれらの投影光パターンに関連する様々なジェスチャーに、カスタマイズされた意味を割り当てることができる。
【００４７】
［パワースイッチ］
装置１００はパワーオン／オフスイッチ１１４も含むことができ、このスイッチは装置１００の外部に取り付けられたソフトウェアスイッチ又はハードウェアスイッチとすることができる。いくつかの実施形態では、パワースイッチ１１４を長時間（例えば３秒間）押すと、装置１００をパワーオン又はオフすることができ、パワースイッチ１１４を短時間（例えば１秒以下）押すと、エスケープ又はリセット処理をトリガすることができる。パワースイッチ１１４は装置をスタンバイ、スリープ、ハイバネート、ウェイクアップなどの１つ以上の動作モードに入れたり出したりするために使用することもできる。
【００４８】
［制御ユニット］
装置１００は、装置１００の種々の要素を制御し、装置１００への入力を処理し、装置１００の出力を発生させる制御ユニット１１６（一般的に「プロセッサ」と称することもできる）も含むことができる。図２は制御ユニット１１６の一つの模範的な構成を示す。模範的な制御ユニット１１６が本明細書に示され、記載されるが、これは一般性及び便宜のためであることは理解されよう。他の実施形態では、制御ユニットは構成及び処理がここに示され記載されたものと異なるものとし得る。
【００４９】
図示の制御ユニット１１６はプロセッサ１１８を含み、このプロセッサは、例えばオペレーティングシステム（ＯＳ）、デバイスドライバ、アプリケーションプログラムなどを実行させることによって装置１００の動作を制御する。プロセッサ１１８は任意のタイプのマイクロプロセッサ又は中央処理装置（ＣＰＵ）、例えばプログラマブル汎用又は専用マイクロプロセッサ及び/又は様々な独自の又は市販のシングル又はマルチプロセッサシステムのうちの１つを含むことができる。制御ユニット１１６はメモリ１２０も含むことができ、このメモリはプロセッサ１１８で実行されるコード又はプロセッサ１１８で処理されるデータのための一時的又は永久的記憶を提供する。メモリ１２０は、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、１つ以上の様々なランダムアクセスメモリ（ＲＡＭ）、及び/又はメモリ技術の組み合わせを含むことができる。制御ユニット１１６の様々な要素はバスシステム１２１に接続される。図示のバスシステム１２１は、１つ以上の別個の物理的バス、通信線／インタフェース、及び/又は適切なブリッジ、アダプタ及び/又はコントローラで制御されるマルチドロップ又はポイントツーポイント接続を抽象的に示している。
【００５０】
模範的な制御ユニット１１６は、ネットワークインタフェース１２２、入力／出力（Ｉ／Ｏ）インタフェース１２４、記憶装置１２６、及びディスプレイコントローラ１２８も含む。ネットワークインタフェース１２２は、制御ユニット１１６がネットワークを介してリモート装置（ディジタルデータ処理システム）と通信することを可能にする。Ｉ／Ｏインタフェース１２４は、１つ以上の入力装置（センサ、テンプレート、ＧＰＳ又は他の位置識別装置、ユーザコマンドボタン）、１つ以上の出力装置（例えば、光源１１２、コンピュータスクリーン、テレビション、ユーザの携帯電話又はタブレット、仮想キーボードグラフィックディスプレイなど）、及び制御ユニット１１６の様々な他のコンポーネントとの間の通信を容易にする。例えば、第１及び第２のセンサ１０２，１０４はＩ／Ｏインタフェース１２４に接続し、プロセッサ１１８によりセンサ信号を受信し処理することができる。記憶装置１２６はデータを不揮発的に及び/又は非一時的に記憶する任意の通常の記憶媒体とすることができる。従って、記憶装置１２６はデータ及び/又は命令を持続状態（即ち、制御ユニット１１６への電力が中断しても値が維持される）で保持することができる。記憶装置１２６は、１つ以上のハードディスクドライブ、フラッシュドライブ、ＵＳＢドライブ、光ドライブ、様々なメディアディスク又はカード、及び/又はそれらの組み合わせを含むことができ、制御ユニット１１６の他のコンポーネントに直接接続することができ、また、例えばネットワークを介してリモート接続することができる。ディスプレイコントローラ１２８はビデオプロセッサ及びビデオメモリを含み、プロセッサ１１８から受信される命令に従って画像を生成し１つ以上のディスプレイに表示させる。
【００５１】
装置１００により実行される様々な機能は、制御ユニット１１６の１つ以上のモジュールにより実行されるものとして論理的に記載することができる。このようなモジュールはハードウェア、ソフトウェア又はその組み合わせで実装することができることは理解されよう。更に、ソフトウェアで実装する際、これらのモジュールは単一のプログラムの一部分又は１つ以上の個別のプログラムとし、様々なコンテキストで（例えば、オペレーティングシステムの一部分、デバイスドライバ、スタンドアロンアプリケーション、及び/又はその組み合わせとして）実装することができる。更に、１つ以上のモジュールを具現するソフトウェアは１つ以上の非一時的コンピュータ可読記憶媒体に実行可能なプログラムとして記憶することができる。特定のモジュールで実行される本明細書に開示する機能は任意の他のモジュール又はそれらの組み合わせで実行することもできる。
【００５２】
使用中、装置１００は作業空間１０６内でユーザにより実行される物理的ジェスチャーを検出し及び/又は解釈し、装置１００が結合される１つ以上のディジタルデータ処理システム（例えば、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバコンピュータ、携帯電話、ＰＤＡ、ゲームシステム、テレビション、セットトップボックス、ラジオ、携帯ミュージックプレーヤなど）で使用する対応するユーザ入力情報を発生することができる。装置１００は、例えばＵＳＢ又は他の通信インタフェースを用いてディジタルデータ処理システムに動作可能に結合されるスタンドアロン又は外部アクセサリとすることもできる。また、装置１００の１つ以上のコンポーネントをディジタルデータ処理システムと一体に形成することもできる。例えば、装置１００は携帯電話に組み込み、携帯電話がテーブル上に上向きに置かれたとき、携帯電話の底面に位置する第１及び第２のセンサ１０２，１０４がテーブルに着席したユーザに向けられるようにすることができる。
【００５３】
図３はジェスチャー認識入力装置１００の一つの模範的な実施形態の模範的な制御ユニットのモジュールの概略図である。
【００５４】
［キャリブレーションモジュール］
様々な実施形態では、装置１００は装置１００を特定のユーザに初期キャリブレーションを行うキャリブレーションモジュール３００を含むことができる。キャリブレーションモジュール３００はユーザの指及び手の各部分、関節、爪などの寸法及び特性を計算するとともに、ユーザがキャリブレーションルーチンを実行しているとき動き変数を計算することができる。模範的なキャリブレーション変数は、無制限に、垂直距離、垂直速度、垂直加速度、水平距離、水平速度、水平加速度、角変位、角速度、角加速度などを含む。
【００５５】
キャリブレーションモジュール３００は、例えば様々なキャリブレーションジェスチャーを実行するようユーザに命令する可視又は可聴キューを用いてユーザをキャリブレーションプロトコルに従わせることができる。一実施形態では、装置１００はキャリブレーションプロシージャを支援するためにキャリブレーションテンプレートを同胞することができる。図４はキャリブレーションテンプレート００の一つの模範的な実施形態を示し、これは紙又は厚紙の２０×２４シートの形態とすることができる。テンプレート４００はデバイス輪郭４０２とＱＷＥＲＴＹ配列のキーボードの表示４０４を含む。キーボード４０４のホームキー４０６の輪郭が描かれ、“Ｓ”及び“Ｌ”キー４０８，４０９が強調表示されている。２つの水平線４１４，４１６と一緒にジグザグ線４１２もテンプレート４００上に付与されている。
【００５６】
模範的なキャリブレーションルーチンにおいて、テンプレート４００は平面１０８の上に置かれ、装置１００はマークされた装置輪郭４０２内に置かれる。次に、ユーザは手を、例えば図４Ｂに示すように、ユーザの指が完全に真っすぐに揃えられ、左手の中指の先端が強調表示された”Ｓ”キー４０８の上に置かれ、右手の中指の先端が強調表示された”Ｌ”キー４０８の上に置かれる「スタンド」位置に置くように命令されるため、ユーザの指及び手はテンプレート４００から上方に垂直に延在する。次に、ユーザは、例えば図４Ｃに示すように、ユーザの指を互いに広げる以外は「スタンド」位置と同じである「スプレッドスタンド」位置に移行するように命令される。これらのステップ中に、装置１００は指、手及びそれらの種々の部分の絶対長さ及び幅をテンプレートの装置輪郭４０２とテンプレートのキーボード表示４０４との間の既知の距離Ｄに基づいて測定することができる。一実施形態では、この既知の距離Ｄは１８とすることができる。装置１００の次の動作中に、センサ１０２，１０４で検出された指又は指部分のサイズをキャリブレーションフェーズ中に既知の距離Ｄで得られたサイズデータと比較することができる。これにより装置１００は指又は指部分とセンサ１０２，１０４との間の現在距離を推定することが可能になる。
【００５７】
次に、ユーザは、例えば図４Ｄに示すように、ユーザの指の先端がテンプレートのホームキー４０６の上に置かれるとともに、ユーザの手のひらがテンプレート平面４００に向かって下向きになるように折り曲げられる「レディー」位置に手を置くように命令される。キャリブレーションルーチンのこの段階中に、装置１００は先に測定された解剖学的寸法を確かめ、向きモジュール３０４に関連して以下で述べるように向き計算の実行を開始することができる。
【００５８】
次に、ユーザはテンプレート４００のキーボード表示４０４上で所定のテキスト文字列又は文章をタイプするよう促される。ユーザがテキスト文字列をタイプし終わると、装置１００は、以下で述べるように、向き及び長さ計算を実行し、強度評価を計算し、動き及び動きプロファイルを構築することができる。
【００５９】
キャリブレーションルーチンは、（例えば、利き手又はユーザがマウス操作に使いたい手の指ｄ２，ｄ３，ｄ４を下に曲げ、人差し指を伸ばす）「マウスハンド位置」を取るように命令することもできる。次に、ユーザは伸ばした人差し指の先端でジグザグ線４１２をトレースするように命令される。キャリブレーションルーチンのこのフェーズ中に、装置１００は３次元計算を実行し、フレームのＺ方向の基準を設定できる（例えば、この方向はセンサ１０２，１０４が取り付けられた装置表面１００に垂直であるとともにテンプレート平面４００に平行で、ユーザの手はこの方向に沿ってセンサ１０２，１０４に近づく方へ又は離れる方へ移動し得る）。次に、「マウスハンド位置」を維持しながら、ユーザは伸ばした差し指の先端で２つの水平線４１４，４１６をトレースするように命令される。キャリブレーションルーチンのこのフェーズ中に、装置１００はフレームのＸ方向の基準（この方向はＺ方向に直角であるとともにテンプレート平面４００に平行で、ユーザの手はこの方向に沿ってセンサ１０２，１０４に対して左右に移動し得る）及びフレームのＹ方向の基準（この方向はテンプレート平面４００に直角で、ユーザの手はこの方向に沿ってセンサ１０２，１０４に対して上下に移動し得る）を設定することができる。このフェーズは装置１００のフレームのＺ方向の基準を精密にすることもできる。
【００６０】
［ユーザプロファイルモジュール］
様々な態様では、本発明教示によるシステムは特定のユーザに関連する情報（特定のユーザに固有のデータのライブラリ）を取得及び/又は記憶する。一例として、キャリブレーションルーチンが終了すると、ユーザプロファイルモジュール３０２はキャリブレーションルーチンを終了した特定のユーザに固有のユーザプロファイル情報を記憶することができる。これにより、ユーザはキャリブレーションプロシージャを繰り返すことなく、本質的には各ユーザに対してキャリブレーションプロシージャを１回実行するだけで、装置１００を再び後続のセッションに使用することが可能になる。加えて又は代わりに、（例えば、キャリブレーションルーチンが実行されてない場合には）、ユーザプロファイルモジュールはシステムとのユーザの相互作用によりユーザに固有の情報を取得及び/又は記憶することができる。このような記憶情報は、例えばユーザの解剖学的特徴及び/又は良く使われるジェスチャー、アクション又は行動パターンに関連する。ユーザプロファイルモジュールは特定のユーザに固有であるとして論ずるが、様々な実施形態では、特定のユーザプロファイルと関連するデータは、例えば許可された二次ユーザ又は様々なユーザにまたがる分類モジュールの人々に対して共用することができる。
【００６１】
様々な態様では、ユーザプロファイル情報は、以下に述べるように、装置のユーザを認証するために使用することができる。例えば、ここで図５Ａ−５Ｂを参照すると、システムはユーザの手の各部分は手（左なたは右）、指（Ｄ１−Ｄ５）及び部分（Ｓ１−Ｓ４）で指定される座標系にマップすることができる。従って、ユーザの右人差し指の先端は右Ｄ１Ｓ１と呼び、ユーザの左小指の基部は左Ｄ４Ｓ３と呼ぶことができる。システムはユーザの手の各関節も手（左又は右）、指（Ｄ１−Ｄ５）及び関節（Ｊ１−Ｊ３）で指定される座標系にマップすることができる。
【００６２】
図示の実施形態では、末節骨はＳ１にマップされ、遠位指節間関節（ＤＩＰ）はＪＩにマップされ、中節骨はＳ２にマップされ、近位指節間関節（ＰＩＰ）はＪ２にマップされ、基節骨はＳ３にマップされ、中手指節関節（ＭＰ）はＪ３にマップされ、中手骨はＳ４にマップされる。より精密には、これらの解剖学的特徴の各々の背側面を覆う皮膚は指示基準座標にマップされる。
【００６３】
システムはユーザの手の各指爪を手（左または右）及び指爪（Ｎ１−Ｎ５）により指定される座標系にマップされる。各指爪は概してキューティクル、半月及び爪甲を備え、それらの各々が装置１００で検出されることは理解されよう。
【００６４】
ユーザプロファイル情報は、ユーザの手の様々な特性、例えば図５Ａ−５Ｂに示す様々な要素の各々のサイズ及び形状及びそれらの相対位置のどれかを含むことができる。ユーザプロファイル情報は、ユーザの爪、手首、入れ墨、しわなどを含むこともできる。ユーザの皮膚の色及び/又はテクスチャを示す情報もユーザプロファイル情報として記憶することもできる。
【００６５】
上述したユーザの手の物理的特性に加えて、ユーザプロファイルモジュール３０２は、特定のアクションを特定の態様（例えば、パターン、リズム、速さ、タイピングスタイルなど）で行うユーザの傾向に関連するユーザプロファイル情報を記憶するように構成することもできる。従って、ユーザプロファイルは、通常使用中又はキャリブレーションプロシージャ中に得られるよく使われるジェスチャー、アクション又は行動パターンに関するデータを含むことができる。例えば、図５Ｃに示すように、時間とともに発生されるデータは、どのデータポイント（例えば、ユーザの構成要素）が作業空間内で検出可能かを決定し、画像内の前記データポイントの位置を決定するために処理することができる。一例として、１つ以上のセンサがイメージセンサを含む場合には、例えば、Rothganger他、「3D object modeling and recognition using local affine-invariant image descriptors and multi-view spatial constraints」,International Journal of Computer Vision 66(3), 231-259に記載されているように、このような処理を実行するために、当技術分野で知られている様々な画像処理技術を使用することができ、この文献の全内容は参照することにより本明細書に組み込まれる。このような処理から取得されるデータは異なる時点に得られたデータと比較して、例えば各特定のデータポイントの様々な動き特性、例えば垂直距離、垂直速度、垂直加速度、水平距離、水平速度、水平加速度、角変位、角速度角加速度など、を計算し、任意の行動パターンを決定し、ユーザプロファイルモジュール３０２に記憶することができる。
【００６６】
［向き計算モジュール］
様々な態様では、装置１００は向き計算モジュール３０４も含み、このモジュールはキャリブレーションプロトコル中にキャリブレーションモジュール３００により取得された情報及び/又は使用中システムとのユーザの相互作用により得られたユーザ（例えば、非キャリブレーションユーザ）に固有の情報用いてユーザの両手の互いに対する及び装置１００に対する位置及び向きの関係を決定する。向き計算モジュール３０４は、解剖学的パラメータ、特定のユーザ寸法、角度、動き及び他の様々なデータを用いて後の計算で使用する１つ以上の値を導出する。一例として、向き計算モジュールは手の甲の中心を表す「コア」値を計算することができ、このコア値は手の回転を決定するため及び/又は移動する手全体と伸ばした又は縮めた手の指とを区別するために使用することができる。例えば、図５Ｄ−５Ｅにおいて、右手のコア位置ＣＲ及び左手のコア位置ＣＬが陰影付き三角で示されている。コア値は、ユーザにより導入される振動（例えば、手の震え）を、ユーザ及び装置１００の共通環境（例えば、両方ともでこぼこ道路を走行する車両内にある環境）により導入される振動と区別するのを助けることもできる。いくつかの態様では、コア値は、例えばＸ，Ｙ及びＺデータを微調整することによって、後述する動き計算モジュール３２４により実行される動き計算にも寄与することができる。コア値は後述する分類モジュール３２６により実行される分類決定にも寄与することができる。コア値は、ユーザが連続使用中に手の位置を変えることができるように、装置１００の動作中に連続的に再計算し調整することができ、それによってユーザの手を長期間同じ状態に維持することを強いられることによって生じ得る疲れや繰り返しストレスなどの健康上の問題が軽減もしくは除去され、ユーザの快適性が向上する。
【００６７】
一実施形態では、コア値はユーザの手の様々な要素間の角度の測定を用いて計算することができる。例えば、図５Ｄに示すように、向き計算モジュール３０４は様々な角度Ａ１−Ａ９のいずれかを測定することができる。図示の角度Ａ１−Ａ９は単なる一例であり、左手コア位置ＣＬ及び右手コア位置ＣＲを計算するためにユーザの手及び指の任意の関節又は部分間の角度を測定することができる。
【００６８】
図５Ｄ〜５Ｅに示すように、ユーザの手のコア位置ＣＬ，ＣＲとユーザの手の任意の２つの部分、関節又は爪とがなす角は装置１００に対する手の向きを決定するために使用することができる。向き計算は後述する動き及び分類処理に含め、装置１００を広範囲の手の向きにおいて使用可能にするとともに手の向きの変化にリアルタイムに適応させることができる。従って、装置１００は従来の固定配置の機械的キーボード及び固定配置の仮想キーボードと関連する制約及び人間工学的問題に悩まされることはない。
【００６９】
［解剖学的パラメータモジュール］
装置１００は解剖学的パラメータモジュール３０６も含むことができ、このモジュールは人間の手の骨格構造、筋肉及び関節などの物理的制約に基づく１つ以上の規則を記憶する。この情報は、計算の基礎を提供するとともに、例えば物理的に不可能な手の位置を示すセンサ信号をスプリアスとして調整又は廃棄することによって装置の精度を高めるために使用することができる。更に、作業空間全体のセンサビューが、例えばユーザの手の様々な部分により遮られるとき、解剖学的パラメータモジュール３０６が１つ以上の観察可能なデータポイントに基づくジェスチャーの決定を支援するために情報を提供することができる。
【００７０】
［モード選択モジュール］
装置１００は複数の動作モードの間で装置１００を切り替えるモード選択モジュール３０８も含むことができる。模範的な動作モードは、キーボード入力モード、数字パッド入力モード及びマウス入力モードを含む。モード選択モジュール３０８は様々なパラメータのうちのいずれか、例えばユーザの手の位置、を評価することによって動作モードを決定することができる。
【００７１】
図６Ａは、指の先端が作業空間１０６内の表面１０８の上に置かれ、ユーザの手のひらが表面１０８に向かって下向きになるように指が曲げられた模範的な「キーボード入力モード位置」に置かれたユーザの手を示す。言い換えれば、ユーザは通常の物理的キーボードでタイプするときのように、手をレディー位置に置く。図６Ｂは、ユーザがキーボード入力モード位置を取るとき、センサ１０２，１０４の１つでキャプチャされる模範的な画像を示す。図に示すように、キーボード入力モード位置では概して両手の指Ｄ１−Ｄ４の指爪Ｎ１−Ｎ４及び関節Ｊ１−Ｊ３が見える。図６Ｂは、上述したように計算されるコア位置ＣＬ，ＣＲも示している。モード選択モジュール３０８がユーザの手はキーボード入力モード位置に位置していることを検出すると、現在の動作モードはキーボード入力モードに切り替えられる。
【００７２】
図７Ａは模範的な「数字パッド入力モード位置」に置かれたユーザの手を示す。この位置は、ユーザの利き手７０８、又はユーザが数字パッド入力に使いたい手が「ホーム」キーボードジェスチャー位置から前方へ移動し且つ又外側へ少なくとも僅かに離れる以外はキーボード入力モード位置と同様である。図７Ｂは、ユーザが数字パッド入力モード位置を取るとき、センサ１０２，１０４の１つでキャプチャされる模範的な画像を示す。図に示すように、数字パッド入力モード位置でも、両手の指Ｄ１−Ｄ４の指爪Ｎ１−Ｎ４及び関節Ｊ１−Ｊ３は依然として見えるが、利き手７０８がセンサに近いために、利き手でない手７１０の方が利き手７０８よりも小さく見える。このサイズの差はキーボード入力モード位置と数字パッド入力モード位置とを区別するのに役立つ。サイズの差に加えて、手の位置の変化（例えば、各手のコア位置ＣＲ，ＣＬによって又はユーザの手の１つ以上の構成要素のＸ，Ｙ及びＺ座標によって示される）もモード変化の発生時の検出のために使用することができる。例えば、ユーザが手全体を持ち上げ、作業空間内の別の位置へ動かすときに生じるコア変化は数字パッド入力モードへの移行の意思表示と解釈できる。計算されたコア位置ＣＲ，ＣＬは図７Ｂにも示されている。
【００７３】
別の模範的な数字パッド入力モード位置は、ユーザの利き手でない手７１０又はユーザが数字パッド入力に使いたくない手は作業空間１０６から退却される以外はキーボード入力モード位置と同様である。従って、数字パッド入力モードはいくつかの方法で活性化することができる。両手７０８，７１０が既に作業空間１０６内にある場合、ユーザは利き手でない手７１０を除去し、利き手７０８を持続することができる。更に、ユーザは両手７０８，７１０を作業空間内に維持し、利き手７０８だけを前に移動させることができる。また、手が作業空間内に存在しない場合には、ユーザは１つの手だけを作業空間に入れることによって数字パッド入力モードに入ることができる。キーボード入力モードに戻るには、ユーザは利き手７０８をキーボード入力モード位置のもとの深さに戻し、タイピングに戻ることができる。また、ユーザはキーボード入力モードを再開するために利き手でない手７１０を作業空間１０６に再び入れることができる。モード選択モジュール３０８はユーザの手が数字パッド入力モード位置にあることを検出するとき、現在の動作モードは数字パッド入力モードに切り替えられる。
【００７４】
図８Ａは、模範的な「マウス入力モード位置」に置かれたユーザの手を示す。この位置は、ユーザの利き手８０８又はユーザがマウス入力に使いたい手の人差し指Ｄ１を装置１００に向かってＺ方向に前に伸ばす以外はキーボード入力モード位置と同様である。図８Ｂは、ユーザがマウス入力モード位置を取るとき、センサ１０２，１０４の１つでキャプチャされる模範的な画像を示す。図に示すように、利き手の指Ｄ１は伸ばされているが、指Ｄ２，Ｄ３及びＤ４は引込められたままである。この位置では指Ｄ１の爪Ｎ１は見えるが、指Ｄ２，Ｄ３及びＤ４の爪は見えない。一般に、この手の位置への移行は指Ｄ２，Ｄ３及びＤ４の爪Ｎ２，Ｎ３及びＮ４が徐々に見えなくなることにより表される。更に、指Ｄ１の３つの関節Ｊ１，Ｊ２及びＪ３の全てが見えるが、指Ｄ２，Ｄ３及びＤ４は２つの関節Ｊ２，Ｊ３しか見えない。更に、指が引き込まれているときは関節Ｊ３が突き出る。言い換えれば、指を引込められると、関節Ｊ３は左右方向に又はＸ方向にほぼ平らに位置するように見える代わりに、関節Ｊ３間に谷が現れる。この情報はマウス入力モード位置を他の位置から区別するために使用できる。マウス入力モード位置では、ユーザがボタンを実際にクリックしないで、物理的マウスを使用するのと同様のジェスチャーを使ってクリック及びドラッグを実行することができる。モード選択モジュール３０８がユーザの手がマウス入力モード位置に置かれていることを検出すると、現在の動作モードはマウス入力モードに切り替えられる。図８Ａ−８Ｂには非ポインティングハンドを示しているが、作業空間１０６内にポインティングハンドのみを提示することによってマウス入力モードに入ることもできる。
【００７５】
上で述べたように、どの動作モードをユーザが望むかに関する決定は、上述した様々なセンサから出力されるデータにアクセスすることによって行うことができる。例えば、指が引込められているとき爪は一般的にセンサに見えないので、１つ以上の指が伸ばされているかどうかを決定するには、センサでキャプチャされたデータに存在する指爪の数を利用することができる。センサデータ内の指爪を識別するには指爪の独自の品質を利用することができる。これらの品質は爪の形状、爪の反射率及び爪の位置（爪は指の先端にあると仮定される）を含むことができる。モード決定は、センサ出力から解釈される他のデータ、例えば指が引込められているときと反対に指が伸ばされているときに観察されるユーザの関節間の距離の変化によって強化することができる。
【００７６】
動作モード間の移行のトリガとして様々なユーザアクションを利用できることは理解されよう。例えば、両手が作業空間内にあり、１つの手の指Ｄ２−Ｄ４は引込められ、指Ｄ１は伸ばされているとき、マウス入力モードに入ることができる。また、１つの手が作業空間内にあり、その指Ｄ１が伸ばされているとき、又は１つの手のみが作業空間に入り、その手の指Ｄ１が伸ばされているときにもマウス入力モードに入ることができる。マウス入力モードへの移行は、数字パッド入力モード、キーボード入力モード、カスタムパッド入力モードなどから起こり得る。更なる一例として、２つの手が作業空間に入るとき、又は１つの手が作業空間に入るが別の手が作業空間内に既に存在しているとき、キーボード入力モードに入ることができる。キーボード入力モードへの移行は、数字パッド入力モード、マウス入力モード、カスタムパッド入力モードなどから起こり得る。更なる一例として、キーボード入力モードにある間に利き手が前に移動するとき、１つの手だけが作業空間に入るとき、又は１つの手だけを作業空間に残して１つの手を作業空間から出すとき、数字パッド入力モードに入ることができる。数字パッド入力モードへの移行はマウス入力モード、キーボード入力モード、カスタムパッド入力モードなどから起こり得る。上述した様々な入力モードは作業空間内に存在するテンプレートと関連して又は独立に機能させることができることは理解されよう。
【００７７】
［ジェスチャーライブラリモジュール］
本装置はジェスチャーライブラリモジュール３１０も含むことができ、このモジュールによりユーザはここに記載する様々な入力モード（例えば、キーボード入力、数字パッド入力及び/又はマウス入力モード）で使用するカスタムジェスチャーを定義することができる。言い換えれば、ジェスチャーライブラリモジュール３１０は特定の入力ジェスチャーを特定の出力行動と関連付ける規則を記憶する。例えば、キーボード入力モード中に実行される延長キーストライク時間は大文字が望ましいことを示すカスタムジェスチャーとして解釈することができる。同様に、Ｄ１及びＤ２の同時キーストライク（即ち、２指のタップ）はバックスペース又は取り消し操作が望ましいことを示すカスタムジェスチャーと解釈することができる。長時間の２指タップは複数文字のバックスペース又はデリート操作を示すカスタムジェスチャーと解釈することができる。そして、例えば、テキストの全体部分を削除するには、ユーザはマウス入力モードに移行し、テキストを強調表示し、２指タップを実行することができる。一つの模範的な実施形態では、作業空間内のユーザのつまみ運動における人差し指を親指から離すジェスチャー又は人差し指と親指を合わせるジェスチャーはズームイン又はズームアウトのような特定の操作と関連させることができる。
【００７８】
ユーザにより定義されたジェスチャーは、装置１００によって評価され、それらがどのように正確に決定され、強度評価を割り当てられるかは強度評価モジュール３２８に関して以下に記載される。強度評価情報は、特定のジェスチャーは弱いこと、又はもっと強いかもしれない代替ジェスチャーを提案することをユーザに知らせることができる。
【００７９】
ジェスチャーライブラリモジュール３１０も、テンプレート識別モジュールに関して以下に記載するように、「テンプレート」の存在に依存する入力モードを含むことができる。
【００８０】
［出力モジュール］
様々な態様では、出力モジュール３１２は、ユーザ入力に応答して、現在動作モードに依存して発生される可能な出力の母集団を定義することができる。例えば、キーボード入力モードの可能な出力は、大文字及び小文字Ａ−Ｚ、リターン／エンター、スペースバー、大文字、バックスペース、タブ、ファンクションキーなどを含むことができる。数字パッド入力モードの可能な出力は数字０−９を含むことができる。マウス入力モードの可能な出力は、ポイント、ダブルクリック、選択、ドラッグ解放、右クリックなどを含むことができる。例えば、一実施形態では、右クリックは、人差し指を右へ少し移動させ１回タップすることにより指示することができる。更に可能な出力は、マクロ、シンボル、句読点、特殊文字、及び他の機能を含むことができる。例えば、キーボード入力モードでは、ユーザの利き手でない手はＣＴＲＬ、ＡＬＴ、ページアップ及びページダウンなどの特殊キー又は機能キーを入力するためのジェスチャーを実行することができる。
【００８１】
［セキュリティモジュール］
装置１００は、装置１００又は装置１００が結合されるディジタルデータ処理システムの特定のユーザを認証するように構成されたセキュリティモジュール３１４も含むことができる。記憶されたユーザプロファイル情報を利用すれば、ユーザ固有の手の寸法を単独で又は他のセキュリティ手段（例えば所定のパスワード又はジェスチャー）と合同で、ゲート機能として（例えば、作業空間内への最初の侵入時におけるパスワードの入力時に）及び/又はユーザが認証されたままであることを保証するためにシステムにアクセスし続ける間、予想ユーザが正規のユーザであるかどうかを決定するために使用することができる。
【００８２】
セキュリティモジュール３１４は、パスワード入力時にユーザは同じパターン、リズム、速度、タイピングスタイルなどを模倣又は反復する傾向があるという知識に基づく行動要素を含むこともできる。これらの行動要素を各正規ユーザに対するユーザプロファイルの一部分として記憶し、予想ユーザの行動と比較して予想ユーザが正規であるかどうかを決定することができる。極端な例では、これにより同じ物理的指構造及び特徴を有する一卵性双生児を区別することができる。このプロトコルは、行動及び/又は外観に影響を与え得るユーザの手の傷や他の予測不能の変化を吸収する能力も有する。セキュリティモジュール３１４は動作中ユーザのタイピングスタイル又は他の行動を連続的に又は間欠的に監視して、現在のユーザが依然として正規のユーザであることを確認することができる。例えば、いくつかの実施形態では、装置１００は、作業空間内に存在するランドマーク数が所定の閾値より少なくなるとき、ユーザ認証が必要であると決定できる。言い換えれば、ユーザが手を作業空間から取り出すと、装置１００はロックされ、次に作業空間に侵入するユーザを、例えばそのユーザの行動又は物理的属性を１つ以上の所定の正規のユーザのデータと比較することによって認証することが要求される。従って、これにより装置１００は、ワイタイムパスワードプロンプトと異なり、許可されたユーザが装置をアンロックし、その後装置１００を無人のまま放置するとき、無許可のユーザによるアクセスを防止することができる。セキュリティモジュール３１４は、行動情報を維持及び補強して経時的な行動の変化に適応させ精度を向上させることができる。
【００８３】
装置１００により提供される別のセキュリティの利点は、パスワード、ソーシャルセキュリティ番号、クレジットカード番号又は任意の他の秘密データを、可視キーボードを使わずにディジタルデータ処理システムに入力する能力である。これは、許可されてない第３者が、ユーザがどのキーを打つかをユーザの肩越しに覗き見て秘密情報を盗む危険を除去することができる。
【００８４】
［テンプレート識別モジュール］
本装置は、装置１００をユーザの手以外のオブジェクト、例えば「作業空間内の作業空間」として作用し得る「テンプレート」とともに使用することを容易にするために、テンプレート識別モジュール３１６も含むことができる。テンプレートは様々な構成を有し得るが、様々な実施形態では、ユーザが物理的に相互作用及び/又は操作し得る選択された入力モードの物理的表示とすることができる。一例として、テンプレートは、キーボード、数字パッド、特殊機能キーパッド、ミュージック入力（例えばピアノキーボード）、描画具／筆記具などの物理的表示とすることができる。いくつかの実施形態では、テンプレートは固定のキー表示（例えば、英数字キー、いくつかの所定の機能と関連するキー、ピアノキー）を備えた表面を有するプレート又はカードとすることができ、固定のキー表示は相対的に固定であるが、センサ又は作業空間に対しては必ずしも固定でない位置を意味する。これは特定の工業環境に対して利用でき、特定の工業環境においてはテンプレート関連する特定のコマンドはより制限的な空間（例えば所領内又は工場内）で実装することが重要である。テンプレートのユーザにより提供される標準化されたキー表示も２本指タイピストなどの異なるタイピングスタイルに対して有益とすることができる。
【００８５】
テンプレートは文字、記号、画像、パターンなどでコード化し、テンプレートが作業空間に入るとき、センサで発生されるデータに基づいてテンプレート識別モジュールで識別し得るようにすることができる。一例として、テンプレート識別モジュールは、特定の機能又は寸法のテンプレートを指示するように、産業分野（例えば医療分野）で使用されるパターン、例えばバーコード又はクイックレスポンス（ＱＲ）コードを認識するように構成することができる。例えば、図８Ｃを参照すると、模範的なキーボードテンプレートは、パターン（例えば、形、十字のアレイ）でコード化され、テンプレート識別モジュール３１６で識別できる約１／１６インチのセンサ対面エッジを有し、作業空間内の特定の位置に置かれた特定のキーを有するキーボードを表している。また、例えば、図８Ｄ及び８Ｅに示すように、テンプレートは、所定の特性、マクロなどの特定の特殊機能と関連付けることができる特定のエリア、又はユーザが特定の機能（例えばＦ２ボタン、保存、マクロ１）を割り当てることができるエリアを定義することができる。様々な態様では、テンプレート識別モジュール３１６は、テンプレートの位置及び/又はその識別子をパターンの検出に基づいて決定することができる。一例として、図８Ｄ及び８Ｅを参照すると、テンプレートのセンサに面するエッジ上の十字のパターンは装置１００に対するテンプレートの向きに基づいて変化する。例えば、テンプレートが装置１００（図８Ｄ）に対して傾くと、観察されるパターンは装置１００に対して直角を成すテンプレート（図８Ｅ）上の同じパターンに対して細く且つ小さくなる。このとき装置はこの検出パターンを利用して、特定の入力を表現するよう定義されたテンプレート上の１つ以上のエリアを表す座標を決定することができる。例えば、テンプレートが識別され、作業空間内のその位置がそのコードに基づいて決定されると、装置１００はユーザのジェスチャーをテンプレート上に定義された特定の機能又は入力と同等とみなすことができる。いくつかの実施形態では、装置１００は手又はテンプレートのみに応答するように構成して、作業空間内の他のオブジェクトの運き（例えば書き込み命令）又は背景の変化を無視できるようにすることができる。
【００８６】
テンプレート識別モジュール３１６は、作業空間内でユーザにより操作され、センサで検出され得る様々なオブジェクトを検出するように構成することもできる。例えば、テンプレート識別モジュールは、スタイラス（例えば、ペン、鉛筆）などの典型的なツール又は他のユーザ手持ち道具をその大きさ、形、色又は他の識別特性に基づいて識別するように構成することができる。更に、いくつかの態様では、ツールにコード（例えばバーコード，ＱＲコード）及び/又はパターンを含め、テンプレート識別モジュールが作業空間内のツールを識別し及び/又はその位置を決定することができるようにすることができる。更に、別に述べるように、プロセッサが作業空間内のコード及び/又はパターンを追跡して位置及び動きデータを提供し、このデータから追加の入力情報を決定できるようにすることもできる。一例として、パターンの検出を通したスタイラスの向き（例えば、傾き）及び速度を用いて、スタイラスでユーザにより指示される線の太さ、幅、又は強さを計算することもできる。
【００８７】
例えば、図８Ｆ及び８Ｇを参照すると、テンプレート識別モジュール３１６は、ツール（例えば、描画ツール）及び/又はツールにより表現された所望の入力の特性（例えば、描画ツールで生成された色、線の太さ、パターン）をツール（例えば、スタイラス８００）上に配置されたパターンの識別に基づいて決定することができる。例えば、図８Ｆの典型的なスタイラス８００上に配置された同心円のパターンはテンプレート識別モジュール３１６により、例えばハイライタを表すものと識別することができるが、図８Ｇに示す十字のパターンは特別の色及び/又は太さの線を生成するペンを識別する。例えば、いくつかの態様では、ペンを表すスタイラスはスタイラスの動きで示される線の太さを増大するように傾けることができる。更に、別に述べるように、プロセッサは、描画ツールの位置及び向きを追跡しユーザ入力を決定するために、ユーザが作業空間内のスタイラス８００をパターンの移動を操作するにつれて追跡することができる。これにより、装置１００を作業空間１０６がホワイトボード、デスクトップ、テーブルトップ、ディスプレイ、壁などの表面を含むように配置し、装置１００でツールの動きを検出し、その動きを様々なユーザ入力として解釈することが可能となる。例えば、いくつかの実施形態では、複数の筆記具を設け、各筆記具は特定のタイプの入力情報又は入力属性（例えば、入力の色、入力の線太さなど）と関連するユニークな特性、マーキング及び/又はパターンを有するものとすることができる。更に、図８Ｆ及び８Ｇでは、スタイラス８００はユーザがオブジェクト（例えば、紙又はホワイトボード）上に実際に書くことを可能にするとともにスタイラスの移動も装置１００で検出されるように物理的な先端８０２（例えば、ドライイレースチップ）を有するものとして示されているが、先端はツールの入力特性（例えば、色、線の太さなど）をユーザに視覚的に示すだけとすることができる。更に、いくつかの実施形態では、ツールはユーザが所望の入力を選択し得るメカニズムを含むことができる。一例として、ユーザは図８Ｆに示すスタイラス８００により表示されるパターンが図８Ｇに示すパターンに切り替えられるようにスタイラス８００上の機械的ボタンを押すことができる。例えば、いくつかの実施形態では、テンプレートは、ユーザが直接コマンドをプロセッサに送ることを許可する１つ以上の制御を更に含むことができる。例えば。様々な実施形態では、ユーザは、前ジェスチャーを取り消すために入力情報を（例えば、無線又はＩＲ信号で）プロセッサに送信することができる。従って、このように、テンプレート識別モジュール３１６はスタイラスの動きと関連して所望の入力特性を指示することができる。
【００８８】
［エラー処理モジュール］
装置１００は、装置１００の全体的な精度を向上させるためのエラー処理モジュールも含むことができる。例えば、エラー処理モジュール３１８は単語推定器を含むことができる。この単語推定器は、複数の可能性のある「キー」のどれが打たれたかに関するクローズコールを１つ以上の前入力を辞書又は他の参照データソースと比較することによって解決するように構成される。
【００８９】
［クロックモジュール］
装置１００は、（ユーザが付与しようとしている特定の入力の決定を支援するために使用できる）ユーザジェスチャーのアクセスを速くするため、又は装置１００を電池寿命の回復のために休止モードにする適期を決定するために、クロックモジュール３２０を含むこともできる。例えば、ユーザ入力なしで所定の時間が経過すると、装置は自動的に休止モードに入り、セキュリティ１０２，１０４のサンプルレートが低減され、光源１１２がターンオフされる。
【００９０】
［フィードバックモジュール］
装置１００による作業空間内のユーザのジェスチャーの検出に起因してディジタルデータ処理システムにより発生される出力の代わりに又は加えて、装置１００は可視又は可聴フィードバックをユーザに提供するように構成されたフィールドモジュール３２２を含むこともできる。一実施形態では、フィードバックモジュール３２２は、ディスプレイ装置にポップアップキーボード又は他のグラフィックテンプレートを表示するように構成することができる。キーストライク又は他のユーザジェスチャーが検出されると、打たれたキーをポップアップ表示で強調表示することができる。ポップアップの表示は、ユーザが手をレディー位置に所定の期間そのまま動かさずに置くことによってトリガすることができ、ポップアップを完全に表示することができる。この特徴は、ユーザが最初に装置１００の操作に慣れるためにキーの位置を示す視覚的ガイドを必要とするとき有用である。参照スクリーン又はテンプレートはジェスチャーライブラリモジュール３１０により記憶し得る所定のジェスチャーに応答して表示することもできる。参照スクリーンはモード固有にし、キーボード入力モードのときはキーボードが表示され、数字パッド入力モードのときは数字パッドが表示されるようにすることができる。例えばキーストライクの検出時にクリック音又は他の音を発生させることによって、他のタイプのフィードバックをフィードバックモジュール３２２で提供することもできる。
【００９１】
［動き計算モジュール］
装置１００は作業空間１０６内のユーザの動きにアクセスするための動き計算モジュール３２４を含むこともできる。上述したように、時間とともにセンサで発生されるデータは、ユーザの手の１つ以上の構成要素の垂直距離、垂直速度、垂直加速度、水平距離、水平速度、水平加速度、角変位、角速度、角加速度、サイズの変化などを導出するために処理することができる。例えば、図８Ｈ及び８Ｉを参照すると、構造光（例えば、可視光，ＩＲ）の模範的な表現が投影されているユーザの手が、第１の位置（図８Ｈ）から第２の位置（図８Ｉ）へ動くものとして示されている。ユーザの手の動きにつれて構造光センサにより発生される、構造光の各円のパターン、サイズ、及び形に関するデータは、ユーザの手の瞬間的な３次元位置並びに円の位置、サイズ及び形の変化に基づいて経時的動きを決定するためにプロセッサ（例えば動き計算モジュール）で使用することができる。図示の実施形態の構造光は複数の円を例示しているが、構造光の様々なパターン（例えば、水平線、垂直線、着色光バーなど）を使用することができることは理解されよう。構造光は赤外線とし、人間の眼に見えないようすることもできることは理解されよう。
【００９２】
更に、模範的な動き計算モジュール３２４は、例えば、上述したように単一の３次元撮像モダリティ（例えば構造光センサ）から導出されたデータに基づいて作業空間内のオブジェクトの３次元位置決め及び/又は動きを導出することができるが、プロセッサは、作業空間のユーザの相互作用のよりロバストな表現を発生するために、更に同じ又は異なるモダリティの１つ以上の追加のセンサにより発生されるデータを受信することができる。例えば、いくつかの実施形態では、動き計算の一部分として、一組の「アクティブ動き変数」に関する値のストリームを、様々なモジュールによる処理を微調整するために、別の構造光センサ又はイメージセンサから受信されるデータに基づいて向き計算モジュール３０４により実行されるコア計算に基づいて調整することができる。一例として、動き変数は様々なセンサと比較することができる。一実施形態では、モード選択モジュール３０８により決定される現在の動作モードはどのアクティブ動き変数が動き計算に適切であるかを決定するために使用することができる。
【００９３】
３次元変数は、それぞれ作業空間の異なる見晴らしの良い地点を有する複数のセンサの出力を比較することによって計算することもできる。例えば、２つのイメージセンサ１０２，１０４を用いることによって、ユーザの手の特定の部分がセンサ１０２，１０４に対してどのくらい近いか遠いかを決定するための奥行き計算を得るために、三角測量法又は視差アルゴリズムを使用することができる。特定のオブジェクトの奥行きを決定する模範的な技術は、Su et al、”Towards an EMG-controlled prosthetic hand using a 3-D electromagnetic positioning system”, IEEE Transactions on Instrumentation and measurement, Vol. 56. No. 1, February 2007; Jain et al, “Machine vision”, Chapter 11, pages 289-308, 1995; Hartley et al, “Multiple view geometry in computer vision, first edition”, Chapter 8, pages219-243, 2000; Sibley et al, “Stereo observation models”, University of Southern California, June 16, 2003, 及びPrince et al, “Pattern recognition and machine vision: stereo vision and depth recognition”, University College London-Computer Science Department, 2006に開示されており、これらの各文献の全内容は参照することにより本明細書に組み込まれる。同様に、データが空間的に分離された３次元センサ（例えば、２つの構造光センサと１つ以上の光源）により異なる見晴らしの良い点から又は３次元センサ及び空間的に分離されたイメージセンサから得られるいくつかの模範的な実施形態では、例えばプロセッサは作業空間とのユーザの相互作用のよりロバストな表現を発生することができる。一例として、イメージセンサ（例えばカメラ）は、位置、動き、色、形などの追加のデータを示すことができ、本明細書に記載する１つ以上のモジュールに有用である。例えば、いくつかの態様では、様々なセンサにより発生されるデータは、センサの１つから遮蔽された作業空間の一部分に関する情報も依然として提供することができる。
【００９４】
［分類モジュール］
様々な態様において、本教示によるシステム及び方法は、作業空間内のユーザジェスチャーに基づいて発生されたデータをユーザ入力情報と関連付けるように構成された分類モジュールを含むことができる。一例として、動き計算モジュールが解剖学的ランドマーク（例えば指節、指関節、指爪）間の位置、速度、加速度又は角度の経時変化を決定すると、分類モジュールは、これらの測定値を特定のユーザ入力と関連付けることができる。一例として、例えばキーボード入力モードで動作しているときは、分類モジュールは、ユーザの手のいくつかの部分の位置、向き及び/又は速度の観察された変化に基づいて、ユーザのアクションを特定のキーのキーストライクと分類する。このような決定は、例えば観察された動きをライブラリの参照動きと比較することによって行うことができる。
【００９５】
例えば、様々な態様では、装置１００は動き計算モジュール３２４により発生されたアクティブ動き変数のストリームを特定のユーザジェスチャー又はアクションと解釈することができる。言い換えれば、分類モジュール３２６はどの指がキーストライクしようとしているか、どこでキーストライクが起こるか、そのキーストライクは本当にキーストライクであるかを決定することができる。
【００９６】
どの指がキーストライクしようとしているかを決定するためには、分類モジュール３２６は必要に応じ多数の指、好ましくは各手の少なくとも４本の指を追跡することができる。分類モジュール３２６は、ユーザの解剖学的ランドマークの様々な属性、例えばあるランドマークと装置が置かれた表面１０８との間の垂直距離の変化、そのランドマークの速度、そのランドマークの加速度、又は１つ以上の他のランドマークに対するそのランドマークの距離、速度、又は加速度の何れかを評価することができる。従って、分類モジュール３２６は各指又は指部分が他の指又は指部分に対してどのくらい移動するかを評価することができる。これは、ユーザが「コンサートムーバ」であるとき（即ち、ユーザのタイピングスタイルが単一のキーストロークをするのに複数の指を動かすとき）又はユーザが高速タイピストであるとき（即ち、ユーザのタイピングスタイルが別の指が前のキーストロークを実行し終わる前につぎのキーストロークのための指を動かし始めるとき）の精度を向上するのに役立つ。いくつかの実施形態では、分類モジュール３２６は「高速ムーバ」（例えば、最も高い加速度、最も劇的な速度変化又は最も意図的な方向角度変化を有する指）を決定することができる。このような実施形態では、「高速ムーバ」は現在キーストライク中の指として分離することができる。分類モジュール３２６は、有力なキーストライク候補であるユーザの動きに、その動きが生じたゾーン又はその動きが開始したゾーンに応じて異なる重みを割り当てることもできる。例えば、有力なキーストライク候補である動きに、その動きが関心ゾーン内で開始又は実行されるとき、低い重みを割り当てるが、アクティブゾーン内で開始または実行される同様の動きには高い重みを割あてることができる。割り当てられる重みはキーストライク候補を最終的にキーストライクと分類するかどうかを決定するために使用することができる。
【００９７】
キーストライクが生じるかどうかを決定するためには、分類モジュール３２６は動き計算モジュール３２４により発生されたＸ，Ｙ及びＺ位置データを向き計算モジュール３０４により発生された向き情報と関連して解釈することができる。垂直速度、垂直加速度、水平速度、水平加速度、角変位、角速度、角加速度などの他の動き特性も考慮することができる。
【００９８】
キーストライクが起こったかどうかを決定するためには、分類モジュール３２６は広範囲のデータを解釈することができる。例えば、分類モジュール３２６は、ユーザの通常のタイプ速度又は他の行動データを、ユーザプロファイルモジュール３０２に記憶されたユーザプロファイルデータと参照することによって考慮することができる。分類モジュール３２６は、減少する垂直距離（指先端が作業空間内で表面に近づくことを示す）、垂直速度シグネチャ、線速度シグネチャ、加速度シグネチャ、角速度シグネチャ及び角変位シグネチャなどのいくつかの指標に関して動き変数を検査することもできる。この情報を用いて、分類モジュール３２６は、意図したキーストライク（例えば、高い加速度に続く加速度の急激な低下で一般に特徴づけられる動き）と、ユーザが単に指を表面１０８に乗せる状態（例えば、急激な変化のない低い加速度で一般に特徴づけられる動き）とを区別することができる。分類モジュール３２６は、ユーザの動きが作業空間１０６内のアクティブゾーン、関心ゾーン又は他のエリアのうちのどこで起こるかを決定することによってストライクがどこで起こったかを決定することもできる。
【００９９】
分類モジュール３２６は、指の前状態を考慮し、誤りを低減することもできる。例えば、分類モジュール３２６は、「浮動」位置から「レディー」位置へ移動する指と「浮動」位置から「キーストライク」位置へ移動する指とを区別することができる。
【０１００】
図９Ａ−９Ｃは、ユーザが文字“Ｍ”を装置１００が結合されたディジタルデータ処理システムに入力する意図をもってキーストライクを実行するときにセンサ１０２，１０４の１つにより発生されるデータを示す。図９Ａに示すように、ユーザの右ＤＩＳＩはホーム位置（例えば”Ｊ”位置）からＹ方向に、アクティブゾーンから相互作用ゾーン内へ持ち上がる。図９Ｂに示すように、ユーザの右ＤＩＳＩは次に、Ｚ方向にセンサから離れるとともにＸ方向にＤ２Ｓ１の方へと移動し、“Ｍ”位置の上方に到達する。図９Ｃに示すように、ユーザの右Ｄ１Ｓ１は次にＹ方向に不活性ゾーンから活性ゾーンへ下がりストライク動作し、キーストライクを完了する。
【０１０１】
ユーザがタイプしている間に装置１００で監視／計算できる模範的な動き変数が図１０Ａ−１０Ｋに示されている。各グラフには、ユーザが装置１００を使って文字列“ＪＵＪＹＪＨＪＮＪＭＪＪ”をタイプする期間に亘って模範的な値が示されている。言い換えれば、各グラフは同じタイピング事象を表す。これらのグラフは単一センサから発生された２次元データを示す。グラフから理解されるように、この２次元データにおける注目すべき事象と実際のキーストロークの間に僅かな時間の不一致が存在し得る。しかしながら、この不一致は、本明細書に記載するように、複数のセンサからの２次元センサデータを集計して３次元データを生成し、前記データをコア計算からの向きデータで増補することによって除去することができる。
【０１０２】
図１０Ａにおいて、ユーザの右手のコアＣＲを頂点としてコアからＤ１Ｓ１へ延びる第１の直線とコアからＤ１Ｓ２へ延びる直線がなす角度に関する角加速度が示されている。角加速度（度／秒／秒単位で表されている）は時間の関数としてプロットされ、画像フレーム数で表されている。各キーストロークはグラフ内に円で示されている。図に示すように、角加速度の鋭い正方向スパイクは各キーが打たれるタイミングで生じる。
【０１０３】
図１０Ｂにおいて、前記角度に関して図１０Ａに示す角加速度を生じる角速度が示されている。角速度（度／秒単位で表される）は時間の関数としてプロットされ、画像フレーム数で表されている。各キーストロークはグラフ内に円で示されている。図に示すように、各キーが打たれるタイミングは隣接する負及び正速度スパイク間の中点又は屈曲点にほぼ対応する。角速度の正スパイクは各キーが打たれるタイミングの後まで生じない。
【０１０４】
図１０Ｃにおいて、前記角度に関して図１０Ａ−１０Ｂに示す角加速度及び角速度を生じる角変位が示されている。角変位（度単位で表される）は時間の関数としてプロットされ、画像フレーム数で表されている。各キーストロークはグラフ内に円で示されている。図に示すように、角変位の鋭い下降スパイクは各キーが打たれるタイミングで生じる。言い換えれば、角変位はキーが打たれたとき急に反転する。
【０１０５】
図１０Ｄにおいて、ユーザの右手のコア、ユーザの右手のＤＩＳＩ及びユーザの右手のＤＩＳ２の各々に関する線速度が示されている。これらの構成要素の各々の線速度（フィート／秒単位で表される）は時間の関数としてプロットされ、画像フレーム数で表される。各キーストロークはグラフ内に垂直線で示されている。図に示すように、各キーストロークは線速度の負ピークを伴う。また、グラフはその意味を特定の解剖学的ランドマークの動きを１つ以上の他の解剖学的ランドマークの動きと比較して強調している。例えば、Ｊ−Ｙ順序の間はＤ１Ｓ１の速度が一般にＤ１Ｓ２よりはるかに高いが、Ｊ−Ｍ順序の間は一般に反対になる。これは「後退」運動のため（例えば、ユーザはＪ位置からＭ位置へ指をＺ方向にセンサから離れるように動かすため）である。Ｄ１Ｓ２は一般にＤ１Ｓ１よりより速く高くＹ方向に持ち上がる。他方、「前進」運動（ユーザはＪ位置からＹ位置へ指をＺ方向にセンサの方へ動かす）に対しては、ＤＩＳ２は一般にＤＩＳＩより大きく下がるが、Ｄ１Ｓ１の方が大きな速度を有する。
【０１０６】
図１０Ｅにおいて、ユーザの右手のコア、ユーザの右手のＤＩＳＩ及びユーザの右手のＤＩＳ２の各々に関する線加速度が示されている。これらの構成要素の各々の線加速度（フィート／秒／秒単位で表される）は時間の関数としてプロットされ、画像フレーム数で表される。各キーストロークはグラフ内に垂直線で示されている。図に示すように、各キーが打たれるタイミングは隣接する負及び正の加速度スパイク間の中点又は屈曲点にほぼ対応する。線加速度の正スパイクは各キーが打たれるタイミングの後まで生じない。
【０１０７】
図１０Ｆにおいて、ユーザの右手のコア、ユーザの右手のＤＩＳＩ及びユーザの右手のＤＩＳ２の各々に関する水平距離が示されている。これらの構成要素の各々の水平距離（フィート単位で表される）は時間の関数としてプロットされ、画像フレーム数で表される。各キーストロークはグラフ内に垂直線で示されている。図に示すように、Ｊ−Ｙ順序の間又はＪ−Ｈ順序の間の移動距離はＪ−Ｎ順序又はＪ−Ｍ順序の後退運動よりはるかに大きく且つ異なることが観察し得るので、水平距離変数は他の測定値への付加値とすることができる。これらの２つの模範的なランドマーク（Ｄ１Ｓ１及びＤ１Ｓ２）間の関係は前進リーチ運動と持ち上がり後退運動との差を証明している。グラフにも示されるように、Ｊ−Ｊ順序は、ユーザが同じ位置を打つので、予想通り殆ど水平距離の変化を記録しない。
【０１０８】
図１０Ｇにおいて、ユーザの右手のコア、ユーザの右手のＤＩＳＩ及びユーザの右手のＤＩＳ２の各々に関する水平速度が示されている。これらの構成要素の各々の水平速度（フィート／秒単位で表される）は時間の関数としてプロットされ、画像フレーム数で表される。各キーストロークはグラフ内に垂直線で示されている。図に示すように、水平速度は各キーストライクの瞬時にほぼゼロである傾向がある。
【０１０９】
図１０Ｈにおいて、ユーザの右手のコア、ユーザの右手のＤＩＳＩ及びユーザの右手のＤＩＳ２の各々に関する水平加速度が示されている。これらの構成要素の各々の水平加速度（フィート／秒／秒単位で表される）は時間の関数としてプロットされ、画像フレーム数で表される。各キーストロークはグラフ内に垂直線で示されている。水平加速度変数はユーザの意図を解釈するのに特に有用である。例えば、Ｄ１Ｓ１とＤ１Ｓ２との間の水平加速度の不一致は特に興味深い。例えば、Ｊ−Ｙ順序の間、グラフは前進上昇リーチを確かめるシグネチャを示す。これは、例えばＪ−Ｍ順序と対照的で、そのシグネチャは上昇後退運動を示す。図１０Ｉにおいて、ユーザの右手のコア、ユーザの右手のＤＩＳＩ及びユーザの右手のＤＩＳ２の各々に関する垂直距離が示されている。これらの構成要素の各々の垂直距離（フィート単位で表される）は時間の関数としてプロットされ、画像フレーム数で表される。各キーストロークはグラフ内に垂直線で示されている。図に示すように、前記文字列のタイプ中、コアの垂直距離は比較的に一定であるが、部分ＤＩＳ１及びＤ１Ｓ２は各キーストライク前に垂直方向に上昇し、実際のストライク中に垂直方向に低下する。このグラフ中のＤ１Ｓ１とＤ１Ｓ２との不一致は、またも、Ｊ−Ｍ順序ではＤ１Ｓ２変数がスパイクを示すのに対して、Ｊ−Ｙ順序では前方左運動を示すことにある。
【０１１０】
図１０Ｊにおいて、ユーザの右手のコア、ユーザの右手のＤＩＳＩ及びユーザの右手のＤＩＳ２の各々に関する垂直速度が示されている。これらの構成要素の各々の垂直速度（フィート／秒単位で表される）は時間の関数としてプロットされ、画像フレーム数で表される。各キーストロークはグラフ内に垂直線で示されている。図に示すように、Ｄ１Ｓ１とＤ１Ｓ２の関係はキー毎にユニークである。例えば、Ｊ−Ｙ順序の間はＤＩＳ１がＤ１Ｓ２より大きな垂直速度になるが、Ｊ−Ｍ順序の間は反対になる。同様に、Ｊ−Ｊ順序の間はＤ１Ｓ１とＤ１Ｓ２との間に非常に密接な鏡映運動を生じる。
【０１１１】
図１０Ｋにおいて、ユーザの右手のコア、ユーザの右手のＤＩＳＩ及びユーザの右手のＤＩＳ２の各々に関する垂直加速度が示されている。これらの構成要素の各々の垂直加速度（フィート／秒／秒単位で表される）は時間の関数としてプロットされ、画像フレーム数で表される。各キーストロークはグラフ内に垂直線で示されている。図に示すように、コアの垂直加速度は前記文字列をタイプしている間比較的に一定であるが、Ｄ１Ｓ１及びＤ１Ｓ２の垂直加速度は、各キーが打たれるタイミングでスパイクを生じる。
【０１１２】
上記のグラフは単一センサの２Ｄパースペクティブを示す。この２Ｄ動きデータと等価な３Ｄデータは、例えば参照することにより本明細書に組み込まれる参考文献に開示されている既知のアルゴリズムを用いて計算することができる。
【０１１３】
装置１００は、いつどこでキーストライクが起こるかを決定するために、上記の１つ以上の動き変数及び／又は他の種々の情報を用いることができる。いくつかの実施形態では、装置１００は、現在のストライク実行指を次のストライクを開始する他の指から分離するために、最速移動指（例えば、最大の加速度及び／又は速度を有する指）を決定することができる。どのキーが打たれたか決定するために現在のストライク実行指の先端の対コア位置を計算することができる。例えば、ユーザの右手Ｄ１が現在のストライク実行指として分離される場合、どのキーがストライクされたかを決定するためにユーザの右手ＤＩＳ１の対コア位置を決定することができる。右手Ｄ１Ｓ１が“Ｊ”位置からコア位置により近い位置にＺ方向に、且つＤ１Ｓ２に向かってＸ方向に移動する場合、そのジェスチャーは“Ｍ”ストライクと解釈することができる。他の例として、右手Ｄ１Ｓ１が“Ｊ”位置から、コアからＺ方向に同じ距離にあるがＤ１Ｓ２からＸ方向に離れる位置へ移動する場合、そのジェスチャーは“Ｈ”ストライクと解釈することができる。
【０１１４】
代わりに又は加えて、１つの手構成要素と別の手構成要素の相対的動きもストライクを分類するために分析することができる。例えば、いくつかの実施形態では、ストライク実行指の関節Ｊ２は、その指がＺ方向に前方に移動するとき、Ｙ方向に下がり、その指がＺ方向に後方に移動するとき、Ｙ方向に上昇する。これらの方法の各々はいくらかの固有のエラーを有するため、冗長性により殆どのエラーが除去されるようにシステムは両方の技術を使用することができる。
【０１１５】
このシステム全体を通して、誤ストライク（例えばユーザが「コンサートムーバ（concert mover）」であるときに生じ得る）を除去するために確率ベースアルゴリズムを利用することができる。
【０１１６】
ストライクが起こるときを決定するために速度のみを監視する従来のシステムと異なり、装置１００はもっと正確なストライク検出を得ることができる多変量アプローチを使用できる。特に、装置１００におけるストライクの分類は、ユーザの手の様々な構成要素の加速度、様々なタイピングスタイル間で比較的一貫したシグネチャを有する傾向がある運動パラメータ、及び手のサイズ又は形に少なくとも部分的に基づいて決定することができる。いくつかの実施形態では、分類モジュールは、どのキーがストライクされるかを角変位、加速度、線形速度及び垂直距離に基づいて決定することができる。
【０１１７】
本教示による１つ以上の装置で発生されるデータは、同じ又は異なる分類モジュールとともに分類システムを生成するために使用することができる。一例として、ユーザの特定の動作に基づいて特定のユーザの予定の入力を単に識別するのではなく、本分類システムは、一般的なユーザ入力のデータウェアハウスを生成し、特定の行動の汎用パターンを認識する機能を連続的に向上し、本明細書において別に述べたように解剖学的規則を決定し精密化し、及び／又は校正されてないユーザの分類を向上することができるようにする。一例として、本分類システムは、未知のユーザの意図するユーザ入力を確実に分類するために、広範囲のユーザに亘って現れる典型的なキーストロークに基づく情報で満たすことができる。
【０１１８】
［強度評価モジュール］
装置１００は取得したセンサデータの品質を連続的に又は間欠的に監視する強度評価モジュールも含むことができる。強度評価モジュールが、検出する強度が十分に弱いことを検出するとき（例えば、ユーザの手が、いくつかの指又は部分が他の指又は部分で覆い隠されるように、又はセンサ１０２，１０４の範囲を超えるように位置するとき）警報を発し、ユーザに手を置きなおす又は装置１００に近づけるように催促することができる。
【０１１９】
強度評価モジュール３２８は、上で述べたようにユーザにより定義されたカスタムジェスチャーの信頼度を評価するために使用することもできる。強度評価モジュール３２８はカスタムジェスチャーを他の記憶ジェスチャーと比較して各カスタムジェスチャーが十分にユニークであることを確かめ、追加のエラーの可能性を回避することもできる。計算された強度評価は顧客サービス環境において装置１００のトラブルシュートのため又は装置１００を使用するのが難しいユーザの支援のために使用することもできる。計算された強度評価のこの設定での使用は、代表的な顧客サービスのために他のより機密な情報、例えば固有の手の寸法又はセキュリティモジュール３１４で使用する他の特性を暴露する必要を不要にし得る。
【０１２０】
［アダプタビリティモジュール］
装置１００はアダプタビリティモジュール３３０も含むことができる。アダプタビリティモジュール３３０は装置１００の機能を基本キーボード入力モード、数字パッド入力モード及びマウス入力モードを超えて拡張することができる。例えば、アダプタビリティモジュール３３０はカスタマイズした意味を様々なジェスチャー、テンプレート、又はカスタムパッドに指定することをユーザに可能にし、カスタマイズした意味の各々は上述したように強度評価モジュール３２８により評価し且つ又ジェスチャーライブラリ３１０により記憶することができる。言い換えれば、アダプタビリティモジュール３３０は標準入力モードの代わりに又は加えて、カスタムモード（例えば、ＱＷＥＲＴＹ配列でないキーボード、外国語ベースのキーボード）を定義することをユーザに可能にする。これによりユーザはカスタムキーボード、例えば記号、機能、キー、マクロ又は文字を異なる言語で定義することができる。カスタムパッドはカスタムパッド入力モードを入力することにより評価することができ、カスタム入力モードはいくつかの実施形態では数字パッド入力モードと反対のジェスチャーで示すことができる。例えば、利き手の前方及び/又は僅かに外側への移動が数字パッド入力モードへの移行に有効である場合、利き手でない手の前方及び/又は僅かに外側への移動はカスタムパッド入力モードに有効とすることができる。アダプタビリティモジュール３３０はまた、ユーザがテンプレート上に定義されたキー又はボタンに、又は標準入力モードから逸脱しない範囲で実行可能な固有のジェスチャーにカスタムな意味を指定することを可能にする。従って、ユーザはテンプレートが１つ以上の汎用文字を含むように、又は例えば図８Ｄに示すように、特定の入力又は機能をカスタムジェスチャー又は入力パッドに指定するようにテンプレートをカスタマイズすることができる。例えば、プログラム可能な固定キーを有するテンプレートは特定の機能（例えば、ピアノキーボードの所定の音符、ページアップ、汎用作業機能など）を指定することができる。テンプレートはテンプレート上のユーザ定義域によりそれらの機能に関する書き込み済み又は印刷済みリファレンスのみでカスタマイズすることもできる。
【０１２１】
様々な態様では、アダプタビリティモジュール３３０は、分類モジュールによる装置の機能及び/又は様々なジェスチャーの解釈を、例えば装置が動作する環境などの様々なパターンに基づいて変化させることができる。いくつかの実施形態では、アダプタビリティモジュール３３０は、ユーザが特定の環境又は場所で一般に使用する機能のタイプをプロセッサに知らせるタグを識別することができる。一例として、（例えば、ディジタルデータ処理システムが既知の又は安全な無線ネットワークを検出することができないことにより）装置の現在地が公共の場であると識別される場合には、アダプタビリティモジュール３３０はプロセッサにセキュリティ設定を変更するように知らせるタグを発生する。例えば、装置が公共の場にあると識別される場合には、アダプタビリティモジュール３３０は、ユーザの識別子を、例えば作業空間内のジェスチャーによるユーザの行動及び/又は解剖学的特徴に基づいて連続的に監視することを指示することができる。同様に、データ処理システムにより操作される特定のオブジェクト又はドキュメントが特に機密である場合には、アダプタビリティモジュール３３０はセキュリティモジュールによる監視を増強するように構成することができる。
【０１２２】
更に、特定の環境で使用される一般的な機能及び/又はジェスチャーの識別を支援するためにタグを使用することができる。一例として、装置の現在地が（例えば、「ホーム」無線ネットワークの識別又は特定の位置を識別するシステムの検出により）ユーザ宅又は特定の位置にあると識別される場合には、ユーザの特定の動きはユーザがオフィスにいると識別される場合とは相違して解釈され得ることを指示するためにユーザ又は管理者が規則を作ることができる。例えば、オフィスの会計係は、左手の所定のジェスチャーは汎用機能キーと関連するという規則をもつことができるが、自宅での同じ動きは異なる機能と解釈されるようにセットすることができる。例えば、キッチンでの会計係の左手のジェスチャーは代わりにレシピのリストを持ってくると解釈することができる。
【０１２３】
［方法］
装置１００を動作させる一つの模範的な方法が図１１のフローチャートに概略的に示されている。本明細書に開示する様々な方法がフローチャートに関連して示されているが、このようなフローチャート又はその説明により暗示される方法のステップの順序はこれらのステップをその順序で実行する方法を限定するものと解釈されるべきではない。むしろ、本発明明細書に開示する方法の各々の様々なステップは様々な順序で実行することができる。更に、図示のフローチャートは単なる模範的な実施形態であり、追加のステップを含む又は図示のものより少ないステップを含む他の方法も本発明の範囲に含まれる。
【０１２４】
図に示すように、本方法はステップＳ１０００における装置のパワーオンから始まり、その後に初期化ステップＳ１００２が続く。初期化ステップ１００２中に、ユーザは手を作業空間内に置き、この時点で装置はユーザの様々な属性、例えばユーザの手、指、指関節、指節、指爪などのサイズ、位置、及び/又は角度、を測定する。この情報に基づいて、ユーザプロファイルモジュール３０２によりプロファイルが生成され、必要に応じ記憶される。
【０１２５】
次に、動作はステップＳ１００４に進み、ここでユーザを認証するために初期化ステップＳ１００２中に生成されたプロファイル情報が使用される。このステップ中に、セキュリティモジュール３１４が取得したプロファイル情報を正規のユーザと関連する一組以上の記憶プロファイル情報と比較する。取得したプロファイル情報が正規のユーザのプロファイル情報と一致する場合、動作はステップＳ１００６に進む。そうでなければ、装置１００は無許可ユーザによる使用を防止するためにロックされる。上述したように、セキュリティのために比較されたプロファイル情報はユーザの行動特性のみならずユーザの手の物理的属性も含むことができる。セキュリティパラメータの機密性はユーザ又は管理者が調整することができる。
【０１２６】
ステップＳ１００６において、向き計算モジュール３０４が装置１００のセンサ１０２，１０４に見える各手のコア位置を計算し始める。コア位置及びコア位置とユーザの手の様々な構成要素とのなす角度を用いて、向き計算モジュール３０４は互いに対する及び装置１００に対する手の位置及び向きを決定する。
【０１２７】
ステップＳ１００８において、動き計算モジュール３２４が第１のセンサ１０２からのデータと第２のセンサ１０４からのデータを比較することによって作業空間内の各指についてより信頼できるＸ，Ｙ及びＺ値を決定する。
【０１２８】
ステップＳ１０１０において、動き計算モジュール３２４がセンサデータの連続する画像フレーム又はスナップショットを比較することによって作業空間１０６内の１つ以上の手、指又は部分についてＸ，Ｙ及びＺ方向の動きを示すデータストリームを発生する。模範的な動きデータは垂直距離、垂直速度、垂直加速度、水平距離、水平速度、水平加速度、角変位、角速度、角加速度などを含む。
【０１２９】
ステップＳ１０１２において、モード選択モジュール３０８はユーザがどの動作モードを望むか決定し、それに応じて可能な出力の母集団を設定する。
【０１３０】
ステップＳ１０１４において、分類モジュール３２６がステップＳ１００６〜Ｓ１０１２で発生されたデータを取り込んでユーザジェスチャーを「キー」ストローク、マウス移動、数字パッド入力などとして解釈する。ジェスチャーが分類されると、対応する出力がステップＳ１０１６において発生され、装置１００が結合された１つ以上のディジタルデータ処理システムに供給される。
【０１３１】
ステップＳ１００６〜Ｓ１０１６はユーザジェスチャー用の作業空間を監視するために連続的に又は間欠的に実行し（必ずしも同じ速度又は同じ順序である必要ない）、ディジタルデータ処理システム用の対応する出力を生成する。
【０１３２】
以上から見て、本明細書に開示する方法及び装置はユーザを従来の入力装置の制約から解放し得ることが理解されよう。ユーザは本技術を苦も無く直感的に快適に効率的に操作できる。本明細書に開示する方法及び装置は様々な健康上の利点も提供する。「動き回っている」ユーザは余分な機器を持ち歩く必要がなくなり、開示の方法及び装置で許される手の向きの自由はいくつかの人間工学的な利益をもたらすことができる。
【０１３３】
以上から見て、本明細書に開示する方法及び装置はセキュアシステムへのアクセスを許可する前の初期ゲート機能を提供するのみならず、セキュリティ機能をデータと直接結合し、保護されたデータが操作されるとき、ユーザの正当性を繰り返し、間欠的に又は連続的に確かめることによって安全を保とうとするユニークなセキュリティ上の利益をもたらすこともできる。セキュリティ機能は連続的に提供することができ、適切な場合に、同時レベルのセキュリティを提供することができる。
【０１３４】
本発明は特定の実施形態を参照して記載したが、記載した発明の概念の精神及び範囲内において多くの変更が可能である。従って、本発明は記載した実施形態に限定されず、以下の請求項の言葉で特定される全範囲を包含するものである。
[１７]ディジタルデータ処理システムのユーザを認証する方法であって、
少なくとも１つのセンサを用いて作業空間内のユーザの１つ以上のパラメータを示すデータを発生させるステップ、
前記データに基づいて前記作業空間内の前記ユーザにより実行されたジェスチャーを示すジェスチャー情報を決定するステップ、及び
前記ユーザが前記ディジタルデータ処理システムの正規のユーザであるかどうかを決定するために前記ジェスチャー情報を所定のジェスチャー情報と比較するステップ、を含む
方法。
[１８]前記ジェスチャー情報は、コードの入力中の前記ユーザの手の配置の変化を含む、[１７]に記載の方法。
[１９]前記ジェスチャー情報は、コード入力中の前記ユーザの手の動きの速度、リズム又はスタイルを含む、[１７]に記載の方法。
[２０]手が前記作業空間に入る度に、その手が前記ディジタルデータ処理システムの正規のユーザのものであるかを決定するために、前記決定及び比較ステップを繰り返すステップを更に含む、[１７]に記載の方法。
[２１]前記ユーザが前記ディジタルデータ処理システムで保護されたデータの操作中正規のユーザであるかどうかを決定するために、前記決定及び比較ステップを繰り返すステップを更に含む、[１７]に記載の方法。
[２２]前記少なくとも１つのセンサからのデータに基づいてユーザのパラメータを決定するステップ、及び前記ユーザが前記ディジタルデータ処理システムの正規のユーザであるかどうかを決定するために前記決定したパラメータを所定の値と比較するステップ、を更に備える、[１７]に記載の方法。
[２３]前記パラメータは、前記ユーザの一部分の解剖学的形状、前記ユーザの一部分の色、及び前記ユーザの表面テクスチャの少なくとも１つを含む、[２２]に記載の方法。
[２４]ユーザがディジタルデータ処理システムの正規のユーザであるかどうかを決定するシステムであって、作業空間内でユーザにより実行されたジェスチャーを検出し、検出したジェスチャーを示すジェスチャー情報を発生する少なくとも１つのセンサ、及び前記発生されたジェスチャー情報を記憶媒体に記憶された所定のジェスチャー情報と比較し、前記発生されたジェスチャー情報が前記所定のジェスチャー情報と一致する程度に基づいて前記ユーザを正規のユーザであるかどうかを決定するプロセッサ、を備える、システム。
[２５]前記プロセッサはユーザの手のランドマークを検出し、該ユーザの手のランドマークは、指、指部分、指形状、指関節、指爪、皮膚表面輪郭及び手表面のうちの少なくとも１つを含む、[２４]に記載のシステム。
[２６]前記複数のセンサは、前記ユーザにより実行されるジェスチャーを、前記複数のセンサとの物理的なユーザ接触を必要とすることなく検出するように構成されている、[２４]に記載のシステム。
[２７]前記プロセッサは、更に、前記ユーザの物理的特徴を検出し、検出した物理的特徴を前記記憶媒体に記憶された所定の特徴情報と比較する、[２４]に記載のシステム。
[２８]前記プロセッサは、前記ディジタルデータ処理システムで保護されたデータへのアクセスを付与する前に前記ユーザが正規のユーザであるかどうかを決定する、[２４]に記載のシステム。
[２９]前記プロセッサは、更に、前記ディジタルデータ処理システムで保護されたデータの操作中に前記ユーザが正規のユーザであるかどうかを決定するように構成されている、[２４]に記載のシステム。
【図１Ａ】
0006271444.tif 000002
【図１Ｂ】
0006271444.tif 000003
【図１Ｃ】
0006271444.tif 000004
【図１Ｄ】
0006271444.tif 000005
【図１Ｅ】
0006271444.tif 000006
【図１Ｆ】
0006271444.tif 000007
【図１Ｇ】
0006271444.tif 000008
【図１Ｈ】
0006271444.tif 000009
【図１Ｉ】
0006271444.tif 000010
【図２】
0006271444.tif 000011
【図３】
0006271444.tif 000012
【図４Ａ】
0006271444.tif 000013
【図４Ｂ】
0006271444.tif 000014
【図４Ｃ】
0006271444.tif 000015
【図４Ｄ】
0006271444.tif 000016
【図５Ａ】
0006271444.tif 000017
【図５Ｂ】
0006271444.tif 000018
【図５Ｃ】
0006271444.tif 000019
【図５Ｄ】
0006271444.tif 000020
【図５Ｅ】
0006271444.tif 000021
【図６Ａ】
0006271444.tif 000022
【図６Ｂ】
0006271444.tif 000023
【図７Ａ】
0006271444.tif 000024
【図７Ｂ】
0006271444.tif 000025
【図８Ａ】
0006271444.tif 000026
【図８Ｂ】
0006271444.tif 000027
【図８Ｃ】
0006271444.tif 000028
【図８Ｄ】
0006271444.tif 000029
【図８Ｅ】
0006271444.tif 000030
【図８Ｆ】
0006271444.tif 000031
【図８Ｇ】
0006271444.tif 000032
【図８Ｈ】
0006271444.tif 000033
【図８Ｉ】
0006271444.tif 000034
【図９Ａ】
0006271444.tif 000035
【図９Ｂ】
0006271444.tif 000036
【図９Ｃ】
0006271444.tif 000037
【図１０Ａ】
0006271444.tif 000038
【図１０Ｂ】
0006271444.tif 000039
【図１０Ｃ】
0006271444.tif 000040
【図１０Ｄ】
0006271444.tif 000041
【図１０Ｅ】
0006271444.tif 000042
【図１０Ｆ】
0006271444.tif 000043
【図１０Ｇ】
0006271444.tif 000044
【図１０Ｈ】
0006271444.tif 000045
【図１０Ｉ】
0006271444.tif 000046
【図１０Ｊ】
0006271444.tif 000047
【図１０Ｋ】
0006271444.tif 000048
【図１１】
0006271444.tif 000049