JP6215933B2 - 入力装置及び動作要求を入力する方法 - Google Patents
入力装置及び動作要求を入力する方法 Download PDFInfo
- Publication number
- JP6215933B2 JP6215933B2 JP2015522504A JP2015522504A JP6215933B2 JP 6215933 B2 JP6215933 B2 JP 6215933B2 JP 2015522504 A JP2015522504 A JP 2015522504A JP 2015522504 A JP2015522504 A JP 2015522504A JP 6215933 B2 JP6215933 B2 JP 6215933B2
- Authority
- JP
- Japan
- Prior art keywords
- feedback
- command
- data
- operation command
- input device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 51
- 230000033001 locomotion Effects 0.000 claims description 150
- 230000009471 action Effects 0.000 claims description 51
- 238000001514 detection method Methods 0.000 claims description 31
- 238000012790 confirmation Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 17
- 239000000284 extract Substances 0.000 claims description 10
- 238000010438 heat treatment Methods 0.000 description 70
- 230000006870 function Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 24
- 238000004590 computer program Methods 0.000 description 21
- 210000003811 finger Anatomy 0.000 description 20
- 230000008859 change Effects 0.000 description 17
- 238000010411 cooking Methods 0.000 description 15
- ADTDNFFHPRZSOT-PVFUSPOPSA-N ram-330 Chemical compound C([C@H]1N(CC2)C)C3=CC=C(OC)C(OC)=C3[C@]32[C@@]1(O)CC[C@@H](OC(=O)OCC)C3 ADTDNFFHPRZSOT-PVFUSPOPSA-N 0.000 description 13
- 210000000707 wrist Anatomy 0.000 description 8
- 210000003813 thumb Anatomy 0.000 description 6
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 210000005224 forefinger Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Description
本発明は、入力装置及び動作要求を入力するために用いられる方法に関する。
様々な装置に動作要求を入力するための様々な技術が存在する。装置は、動作要求に応じて動作する。
操作者は、入力ノブを接触式に操作し、装置に動作要求を入力することもある。例えば、操作者は、ラジオ装置のノブを回し、音量を調整する。
操作者は、リモートコントローラを操作し、装置を無線制御することもある。例えば、操作者は、リモートコントローラを用いて、所望のテレビ番組をテレビ装置に入力する。
操作者は、機械的なコンピュータマウス、光学的なコンピュータマウス、ペンやスタイラスといった他のポインタ装置を含むマウス装置を用いて、装置に動作要求を入力することもある。例えば、操作者は、光学的なコンピュータマウスを用いて、コンピュータスクリーン上の「セーブ」のシンボルを選択し、編集された書類をセーブする。
操作者は、タッチスクリーン装置に触れ、動作要求を装置に入力することもある。例えば、操作者は、タッチスクリーン装置に表示された矢印に触れ、タッチスクリーンの輝度を調整する。
操作者は、物に接触することなしに、動作要求を装置に入力することを望むこともある。例えば、手が汚れているときに、操作者が空中でジェスチャをし、動作要求を入力するならば、操作者にとって非常に便利である。
特許文献1は、空中でのジェスチャを用いて、動作要求を入力することを可能にする技術を開示する。
特許文献1の技術は、操作者に、選択されたメニュが実行されるか否かを確認することを可能にするフィードバック動作を教示する。しかしながら、フィードバック動作は、常に必要とされるわけではない。例えば、操作者が、装置の操作に慣れるならば、操作者は、フィードバック動作を必要としないこともある。時には、フィードバック動作は、装置への円滑な入力動作の妨げになることもある。
特許文献2に開示される技術は、機械的なコンピュータマウス、光学的なコンピュータマウスやペン、スタイラス及びタッチスクリーン装置といった他のポインタ装置を含む様々な種類のマウス装置を通じて、操作者が、ジェスチャにより動作要求を入力することを可能にする。
特許文献2の技術は、ジェスチャ動作に熟練していない操作者にジェスチャ動作を適切に完了させるように案内するための技術を教示する。特許文献2において、操作者が、設定された時間内にジェスチャ動作を終了できないならば、案内用のフィードバックが実行される。加えて、特許文献2の技術は、操作者に決定された動作コマンドを知らせるだけのフィードバック動作も教示する。
しかしながら、現状において入力されたジェスチャの状態を映し出す表示ディスプレイが存在せず、且つ、操作者が、視認可能なフィードバックなしで、空中でのジェスチャを最初から最後まで実行しなければならない条件下での空中でのジェスチャ動作にとっては、特に、ジェスチャ認識におけるエラーは起きやすい。加えて、ジェスチャの検出するセンサの制限も、ジェスチャ認識におけるエラーを引き起こす。これらの制限として、制限された視野、制限された検出範囲及び検出距離、空気媒体内での検出信号の歪みやノイズが例示される。ジェスチャ認識におけるエラーは、システムの不安定性及び操作者の不便の一因となる。
本発明は、操作者に装置の状態を通知するためのフィードバック動作を選択的に実行する技術を提供することを目的とする。
本発明の一局面に係る入力装置は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成するセンサと、前記移動データから動作コマンドを生成する動作コマンド生成部と、前記移動のスピードを表すスピードデータを前記移動データから生成するスピードデータ生成部と、前記操作者が前記動作コマンドを確認することを可能にするためのフィードバック動作が必要であるか否かを前記スピードデータに基づいて決定するフィードバック決定ブロックと、を含む処理部と、前記フィードバック決定ブロックが、前記フィードバック動作が必要であることを決定するならば前記フィードバック動作を実行するフィードバック動作装置を含む動作部と、を備える。
本発明の他の局面に係る方法は、動作要求を入力するために利用される。当該方法は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成する段階と、前記移動データから、所定の動作を定義する動作コマンドと、前記移動のスピードを表すスピードデータと、を生成する段階と、前記スピードデータに基づいて、前記操作者が前記動作コマンドを確認することを可能にするフィードバック動作が必要であるか否かを決定する段階と、前記フィードバック動作が必要とされるならば、前記フィードバック動作を実行する段階と、を備える。
本発明の技術は、操作者に装置の状態を通知するためのフィードバック動作を選択的に生じさせることができる。
添付の図面を参照して、入力技術に関する様々な実施形態が以下に説明される。入力技術の原理は、以下の説明によって、明確に理解可能である。「上」、「下」、「左」や「右」といった方向を表す用語は、単に、説明の明瞭化を目的とする。したがって、これらの用語は、限定的に解釈されるべきものではない。
<第1実施形態>
図1は、例示的な入力装置100の概略的なブロック図である。図1を参照して、入力装置100が説明される。
図1は、例示的な入力装置100の概略的なブロック図である。図1を参照して、入力装置100が説明される。
入力装置100は、センサ200と、処理ユニット300と、複数の動作装置400と、を備える。操作者は、例えば、センサ200の前で、手でジェスチャを作り出す。センサ200は、手の動きを検出し、手の動きを表す移動データを生成する。本実施形態において、操作者の手は、身体部位として例示される。代替的に、センサ200は、操作者の他の身体部位の動作を検出してもよい。
移動データは、センサ200から処理ユニット300へ伝達される。移動データは、手の移動を表す画像データであってもよい。代替的に、操作者の身体部位の移動を表す他の種類のデータが、移動データとして利用されてもよい。画像データが移動データとして利用されるならば、センサ200は、撮像装置や手の移動を撮像することができる他の装置であってもよい。
処理ユニット300は、動作コマンドを生成するためのコマンド生成機能、手の移動スピードを表すスピードデータを生成するためのデータ生成機能及びフィードバック動作が必要であるか否かを判断するための判断機能といった複数の機能を有する。動作装置400のうち少なくとも1つは、動作コマンドに応じて所定の動作を実行する。例えば、動作装置400のうち1つがヒータであり、且つ、処理ユニット300が加熱レベルの増大を指示する動作コマンドを生成するならば、ヒータは、加熱レベルを増加させる。本実施形態において、図1に示される動作装置400のグループは、動作部として例示される。動作装置400のうち少なくとも1つは、コマンド実行装置として例示される。
処理ユニット300が、フィードバック動作が必要であると判断するならば、動作装置400のうち少なくとも他のもう1つは、フィードバック動作を実行する。動作装置400のうち1つが、加熱レベルの増加を操作者に通知するランプであるならば、処理ユニット300が、加熱レベルの増大を指示する動作コマンドに対して、フィードバック動作が要求されると判断すると、ランプは点滅してもよい。したがって、操作者は、点滅するランプを視認し、入力装置100が組み込まれた装置の加熱機能がアクティブになるとの動作コマンドの内容を確認することができる。本実施形態において、動作装置400のうち少なくとも1つは、フィードバック動作装置として例示される。
フィードバック動作が必要とされるか否かは、処理ユニット300によって生成されるスピードデータに依存してもよい。操作者が、入力装置100に対する空中でのジェスチャに慣れていないならば、操作者は、手をゆっくり移動させがちである。この場合、操作者は、動作要求が入力装置100に適切に入力されているか否かを確認することを必要とする或いは欲することが多い。操作者が手で空中においてジェスチャを作り出したときに上述のランプが点滅しないならば、操作者は、空中でのジェスチャが、入力装置100によって適切に受け取られていないことを知ることができ、その後、操作者は、空中でのジェスチャを再度作り出すことができる。したがって、処理ユニット300は、操作者が閾値よりも低いスピードで手を移動させるならば、フィードバックが必要であると判断してもよい。操作者が、入力装置100に対する空中でのジェスチャに非常に慣れているならば、操作者は、フィードバック動作の補助なしに、入力装置100へ動作要求を適切且つ素早く入力することができる。したがって、処理ユニット300は、操作者が、手を、閾値を超えるスピードで動かすならば、フィードバック動作は必要とされていないと判断してもよい。本実施形態において、処理ユニット300は、処理部として例示される。
図2は、入力装置100の例示的なハードウェア構成を表す概略的なブロック図である。図1及び図2を参照して、入力装置100が更に説明される。
入力装置100は、操作者から動作要求を受け取る。動作要求は、処理ユニット300によって処理され、その後、家庭用の電化製品、オーディオビデオ装置、タブレット端末や携帯通信端末といった動作装置400のうち少なくとも1つに伝達される。入力装置100は、当該少なくとも1つの動作装置400に組み込まれてもよいし、或いは、当該少なくとも1つの動作装置400とは別個のものであってもよい。図2において、家庭用の電化製品、オーディオビデオ装置、タブレット端末や携帯通信端末等として機能する動作装置400は、実行装置410として示されている。
処理ユニット300は、CPU310(Central Processing Unit)、ROM320(Read Only Memory)、RAM330(Random Access Memory)、HDD340(Hard Disk Drive)、バス350及びインターフェース361,362,363,364,365(図2において、「I/F」と表記)を備える。ROM320は、実行装置410の動作を定義するコンピュータプログラム及びデータを固定式に保持する。実行装置410が、ナビゲーションシステムであるならば、HDD340内のコンテンツデータは、マップデータであってもよい。実行装置410が、音楽プレーヤであるならば、HDD340内のコンテンツデータは、音楽データであってもよい。代替的に、RAM330が不揮発性であるならば、様々な用途(例えば、ナビゲーション用途或いは音楽プレーヤの用途)用のコンテンツデータは、RAM330に格納されてもよい。
ROM320及び/又はHDD340内に格納されたコンピュータプログラムのうちいくつかは、上述の様々な機能(コマンド生成機能、データ生成機能及び判断機能)を実現してもよい。本実施形態において、コマンド生成機能を実現するコンピュータプログラムは、動作コマンド生成部として例示される。データ生成機能を実現するコンピュータプログラムは、スピードデータ生成部として例示される。判断機能を実現するコンピュータプログラムは、フィードバック決定ブロックとして例示される。
CPU310、ROM320及びRAM330は、バス350に接続される。HDD340は、インターフェース365を通じてバス350に接続される。実行装置410は、インターフェース362を通じてバス350に接続される。CPU310は、バス350を通じて、ROM320及びHDD340からコンピュータプログラム及びデータを読み込み、動作コマンドを生成する。動作コマンドは、CPU310から実行装置410へバス350及びインターフェース362を通じて送られる。実行装置410は、動作コマンドに応じて様々な動作を実行してもよい。RAM330は、動作コマンドの生成及びCPU310の他の処理の間、コンピュータプログラム及びデータを一時的に格納してもよい。ROM320及びRAM330は、フラッシュメモリ、書込可能な不揮発性メモリ或いは読み取り可能な媒体であってもよい。本実施形態において、CPU310は、単一のCPUである。代替的に、複数のCPUが入力装置100に利用されてもよい。
センサ200は、インターフェース363を通じて、バス350に接続される。センサ200は、図1を参照して説明された如く、移動データを生成する。移動データは、センサ200からRAM330へインターフェース363及びバス350を通じて送られてもよい。コマンド生成機能、データ生成機能及び判断機能用のコンピュータプログラムを実行するCPU310は、RAM330から移動データを読み取る。CPU310が、コマンド生成機能用のコンピュータプログラムを実行しているとき、CPU310は、移動データから動作コマンドを生成する。動作コマンドは、CPU310から実行装置410へ、バス350及びインターフェース362を通じて出力される。CPU310が、データ生成機能用のコンピュータプログラムを実行しているとき、CPU310は、移動データからスピードデータを生成する。CPU310は、判断機能用のコンピュータプログラムを実行しているとき、スピードデータに基づいて、フィードバック動作が必要であるか否かを判断する。本実施形態において、実行装置410は、コマンド実行装置として例示される。
図1に示される動作装置400のうち1つは、図2の表示装置420に対応してもよい。図2に示される如く、表示装置420は、インターフェース361を通じて、バス350に接続される。表示装置420は、操作者との意思伝達を行うための情報を表示する。表示装置420は、LCD(液晶ディスプレイ)や伝達情報を表示する他の装置であってもよい。本実施形態において、表示装置420は、フィードバック動作装置として例示される。
CPU310が、フィードバック動作が必要であると判断するならば、CPU310は、フィードバック要求コマンドを生成する。フィードバック要求コマンドは、CPU310から表示装置420へ、バス350及びインターフェース361を通じて出力される。フィードバック要求コマンドを受け取った表示装置420は、動作コマンドに応じた実行装置410の動作に関する情報を表示してもよい。したがって、操作者は、入力装置100が、操作者から、動作要求を適切に受け取ったか否かを知ることができる。表示装置420がタッチパネルとして形成されるならば、操作者は、タッチパネルを操作し、動作要求をキャンセルしてもよい。本実施形態において、表示装置420の表示動作は、通知動作として例示される。
入力装置100は、編集装置510及び携帯型の記録媒体520を更に備えてもよい。編集装置510は、インターフェース364を通じて、バス350に接続される。携帯型の記録媒体520は、コンテンツデータ及びコンピュータプログラムを格納してもよい。携帯型の記録媒体520は、SD、CD、BD、メモリカード又はコンテンツデータ及び/又はコンピュータプログラムを保持することができる他の記憶装置であってもよい。編集装置510は、携帯型の記録媒体520からコンテンツデータを読み取る。コンテンツデータは、その後、編集装置510からRAM330及び/又はHDD340へ出力されてもよい。CPU310は、様々なデータ処理にコンテンツデータを利用してもよい。必要に応じて、表示装置420は、編集メニュとして、コンテンツデータを表示してもよい。操作者は、表示装置420上の編集メニュを視認し、コンテンツデータを書き換えてもよい。
コンテンツデータは、判断機能用の判断基準情報を含んでもよい。判断機能用のコンピュータプログラムを実行するCPU310は、判断基準情報を参照し、フィードバック動作が必要であるか否かを判断してもよい。操作者は、携帯型の記録媒体520内のコンテンツデータを編集し、判断機能の判断基準を変更してもよい。編集装置510は、編集されたコンテンツデータを携帯型の記録媒体520へ上書きしてもよい。
<第2実施形態>
操作者の身体部位の移動データを取得するセンサは、入力装置と他のシステムとによって共有されてもよい。第2実施形態において、入力装置は、様々な家庭用の電化製品を制御するための住宅制御システムの一部としてのセンサを利用する。
操作者の身体部位の移動データを取得するセンサは、入力装置と他のシステムとによって共有されてもよい。第2実施形態において、入力装置は、様々な家庭用の電化製品を制御するための住宅制御システムの一部としてのセンサを利用する。
図3は、入力装置100の他の例示的なハードウェア構成を示す概略的なブロック図である。入力装置100のハードウェア構成は、図1及び図3を参照して説明される。図2及び図3の間で共通して用いられる符号は、当該共通の符号が付された要素が、第1実施形態と同一の機能を有することを意味する。したがって、第1実施形態の説明は、これらの要素に援用される。
第1実施形態と同様に、入力装置100は、センサ200、処理ユニット300、表示装置420、実行装置410、編集装置510及び携帯型の記録媒体520を備える。入力装置100は、エアコンディショナ、テレビ装置、調理器具といった様々な家庭用電化製品を制御するための制御ネットワーク900と通信する。センサ200は、入力装置100と制御ネットワーク900とによって共有される。センサ200によって生成された移動データは、入力装置100だけでなく制御ネットワーク900によっても利用されてもよい。センサ200は、制御ネットワーク900に接続される。制御ネットワーク900は、処理ユニット300のインターフェース363に接続される。移動データは、制御ネットワーク900、インターフェース363及びバス350を通じて、センサ200からRAM330へ送られる。
制御ネットワーク900は、CPU310にコンピュータプログラムを供給するために用いられてもよい。コンピュータプログラムは、インターフェース363及びバス350を通じて、制御ネットワーク900からRAM330及び/又はHDD340に送られてもよい。CPU310は、RAM330及び/又はHDD340に格納されたコンピュータプログラムを読み出し、実行してもよい。制御ネットワーク900から入力装置100へのデータ伝送は、有線方式であってもよく、或いは、無線方式であってもよい。
<第3実施形態>
図4は、入力装置100の例示的な機能的ブロック図である。機能的ブロック図は、第1実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置100の機能が、図1、図2及び図4を参照して、第3実施形態に関連して説明される。
図4は、入力装置100の例示的な機能的ブロック図である。機能的ブロック図は、第1実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置100の機能が、図1、図2及び図4を参照して、第3実施形態に関連して説明される。
入力装置100は、動作検出部210、ジェスチャ認識ブロック311、コマンド決定ブロック312、スピード取得ブロック313、フィードバック決定ブロック314、動作コマンド実行部411及びフィードバック動作実行部421を備える。動作検出部210は、操作者の身体部位の移動を検出する。動作検出部210は、その後、身体部位の移動を表す画像データを、移動データとして生成する。動作検出部210は、第1実施形態に関連して説明されたセンサ200に対応する。
画像データは、動作検出部210からジェスチャ認識ブロック311へ出力される。ジェスチャ認識ブロック311は、画像データの一部を、身体部位の動作の特徴を表すジェスチャデータとして認識する。ジェスチャ認識ブロック311は、既知の画像認識技術を用いてジェスチャデータを認識してもよい。ジェスチャ認識ブロック311は、画像データ内の特定の像を認識するように設計されたコンピュータプログラムを実行するCPU310に対応する。本実施形態において、ジェスチャ認識ブロック311は、認識部として例示される。
ジェスチャ認識ブロック311は、その後、画像データからジェスチャデータを抽出する。ジェスチャデータは、ジェスチャ認識ブロック311からコマンド決定ブロック312及びスピード取得ブロック313へベクトルデータとして出力される。
コマンド決定ブロック312は、ベクトルデータから移動パターンを見極める。ベクトルデータが身体部位の真っ直ぐな軌跡を表すならば、コマンド決定ブロック312は、真っ直ぐな軌跡に対応する特定の動作コマンド(例えば、加熱レベルの増加を指示する動作コマンド)を決定してもよい。ベクトルデータが身体部位の渦巻き状の軌跡を示すならば、コマンド決定ブロック312は、渦巻き状の軌跡に対応する他の特定の動作コマンド(例えば、加熱レベルの低減を指示する動作コマンド)を決定してもよい。コマンド決定ブロック312は、第1実施形態に関連して説明されたコマンド生成機能用のコンピュータプログラムを実行するCPU310に対応する。これらの動作コマンドは、コマンド決定ブロック312からスピード取得ブロック313へ出力される。本実施形態において、コマンド決定ブロック312は、動作コマンド生成部として例示される。
スピード取得ブロック313が、コマンド決定ブロック312から動作コマンドを受け取ると、スピード取得ブロック313は、ベクトルデータからスピードデータを生成する。ベクトルデータは、身体部位が移動を開始する開始点から身体部位が移動を止める終了点までの時間長さを表す時間データを含んでもよい。スピード取得ブロック313は、ベクトルデータによって表されるベクトルの全体的な長さを測定してもよい。スピード取得ブロック313は、時間長さと全体的なベクトル長さからスピードデータを取得してもよい。スピードデータと動作コマンドとの組は、その後、スピード取得ブロック313からフィードバック決定ブロック314へ出力される。スピード取得ブロック313は、第1実施形態に関連して説明されたデータ生成機能用のコンピュータプログラムを実行するCPU310に対応する。本実施形態において、スピード取得ブロック313は、スピードデータ生成部として例示される。
フィードバック決定ブロック314は、要求コマンド生成部315、出力制御部316及び一時格納部331を備える。スピードデータ及び動作コマンドは、要求コマンド生成部315に入力される。要求コマンド生成部315は、スピードデータ及び動作コマンドに基づき、フィードバック動作が必要であるか否かを決定する。動作コマンドが、フィードバック動作を必要とする動作を表し、且つ、要求コマンド生成部315が、スピードデータと閾値との比較の結果、スピードデータが閾値よりも低いスピードを示すことを見極めるならば、要求コマンド生成部315は、フィードバック動作の必要性を示すフィードバック要求コマンドを生成する。要求コマンド生成部315は、フィードバックコマンド及び動作コマンドを出力制御部316へ出力する。要求コマンド生成部315は、その後、出力制御部316に、動作コマンドを一時格納部331へ送らせ、且つ、フィードバック要求コマンドをフィードバック動作実行部421へ送らせる。動作コマンドが、フィードバック動作を要求しない他の動作を示すならば、又は、スピードデータが閾値以上のスピードを示すならば、要求コマンド生成部315は、動作コマンドを出力制御部316に出力する。その後、要求コマンド生成部315は、出力制御部316に、動作コマンドを動作コマンド実行部411へ出力させる。要求コマンド生成部315は、第1実施形態に関連して説明された判断機能用のコンピュータプログラムを実行するCPU310に対応する。一時格納部331は、RAM330及び/又はHDD340に対応する。本実施形態において、フィードバック決定ブロック314は、フィードバック決定部として例示される。
フィードバック動作実行部421がフィードバック要求コマンドを受け取ると、フィードバック動作実行部421は、フィードバック動作を実行する。フィードバック動作実行部421は、図1の動作装置400のうち1つ(例えば、図2の表示装置420)に対応する。フィードバック動作実行部421は、操作者の入力を受け付けるように設計されてもよい。操作者が、入力装置100が操作者の動作要求を適切に受け取ったことを確認すると、操作者は、更なる処理を求めて、フィードバック動作実行部421を操作してもよい。他の場合には、操作者は、フィードバック動作実行部421を操作し、更なる処理を停止或いはキャンセルしてもよい。フィードバック動作実行部421は、操作者からの入力に応じて、確認結果を生成する。確認結果は、フィードバック動作実行部421から要求コマンド生成部315へ出力される。本実施形態において、フィードバック動作実行部421は、フィードバック動作装置として例示される。
要求コマンド生成部315がフィードバック動作実行部421から確認結果を受け取り、且つ、確認結果が更なる処理の要求を示しているならば、要求コマンド生成部315は、出力制御部316に、動作コマンドを一時格納部331から読み取らせる。動作コマンドは、その後、出力制御部316から動作コマンド実行部411へ出力される。確認結果が、更なる処理の要求を示していないならば、入力装置100は、データ処理を中断し、動作検出部210による身体部位の新たな移動の検出を待つ。
動作コマンドが、フィードバック動作を要求する動作を示し、且つ、スピードデータが閾値よりも低いスピードを示しているならば、動作コマンド実行部411は、フィードバック動作の後に動作コマンドによって定義される動作を実行する。動作コマンドが、フィードバック動作を要求しない動作を示しているならば、或いは、スピードデータが閾値よりも低いスピードを示していないならば、動作コマンド実行部411は、フィードバック動作を待つことなく、動作コマンドによって定義される動作を実行する。動作コマンド実行部411は、図1の動作装置400のうち1つ(例えば、図2の実行装置410)に対応してもよい。本実施形態において、動作コマンド実行部411は、コマンド実行装置として例示される。
図5は、入力装置100の処理の概略的なフローチャートである。フローチャートは、図4を参照して説明された構造に基づいて設計されている。入力装置100の処理が、図4及び図5を参照して説明される。図5のフローチャートは例示的なものにすぎない。したがって、入力装置100は、図5に示される処理工程に加えて、様々な副次的な処理を実行してもよい。
(ステップS110)
ステップS110において、動作検出部210は、操作者の身体部位の移動を検出する。動作検出部210は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部210からジェスチャ認識ブロック311に出力される。その後、ステップS120が実行される。
ステップS110において、動作検出部210は、操作者の身体部位の移動を検出する。動作検出部210は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部210からジェスチャ認識ブロック311に出力される。その後、ステップS120が実行される。
(ステップS120)
ステップS120において、ジェスチャ認識ブロック311は、データの一部を身体部位のデータとして認識し、認識されたデータ部分からベクトルデータを生成する。ベクトルデータは、ジェスチャ認識ブロック311からコマンド決定ブロック312及びスピード取得ブロック313へ送られる。その後、ステップS130が実行される。
ステップS120において、ジェスチャ認識ブロック311は、データの一部を身体部位のデータとして認識し、認識されたデータ部分からベクトルデータを生成する。ベクトルデータは、ジェスチャ認識ブロック311からコマンド決定ブロック312及びスピード取得ブロック313へ送られる。その後、ステップS130が実行される。
(ステップS130)
ステップS130において、コマンド決定ブロック312は、ベクトルデータに基づいて、動作コマンドを決定する。コマンド決定ブロック312によって生成された動作コマンドは、その後、スピード取得ブロック313へ出力される。この後、ステップS140が実行される。
ステップS130において、コマンド決定ブロック312は、ベクトルデータに基づいて、動作コマンドを決定する。コマンド決定ブロック312によって生成された動作コマンドは、その後、スピード取得ブロック313へ出力される。この後、ステップS140が実行される。
(ステップS140)
ステップS140において、スピード取得ブロック313は、ベクトルデータから身体部位のスピードを表すスピードデータを生成する。スピード取得ブロック313は、スピードデータ及び動作コマンドを要求コマンド生成部315へ出力する。その後、ステップS150が実行される。
ステップS140において、スピード取得ブロック313は、ベクトルデータから身体部位のスピードを表すスピードデータを生成する。スピード取得ブロック313は、スピードデータ及び動作コマンドを要求コマンド生成部315へ出力する。その後、ステップS150が実行される。
(ステップS150)
ステップS150において、要求コマンド生成部315は、動作コマンドを参照し、動作コマンドが定義する動作がフィードバック動作を要するか否かを判断する。当該動作が、フィードバック動作を要するならば、ステップS160が実行される。他の場合には、ステップS190が実行される。
ステップS150において、要求コマンド生成部315は、動作コマンドを参照し、動作コマンドが定義する動作がフィードバック動作を要するか否かを判断する。当該動作が、フィードバック動作を要するならば、ステップS160が実行される。他の場合には、ステップS190が実行される。
(ステップS160)
ステップS160において、要求コマンド生成部315は、スピードデータによって表されるスピードを閾値と比較する。当該スピードが閾値よりも低いならば、要求コマンド生成部315は、フィードバック動作が必要であると判断する。要求コマンド生成部315は、その後、フィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部315からフィードバック動作実行部421へ、出力制御部316を通じて出力される。動作コマンドは、要求コマンド生成部315から一時格納部331へ、出力制御部316を通じて出力される。その後、ステップS170が実行される。スピードが閾値よりも低くないならば、要求コマンド生成部315は、フィードバック動作は必要とされていないと判断する。要求コマンド生成部315は、動作コマンドを動作コマンド実行部411へ、出力制御部316を通じて出力する。その後、ステップS190が実行される。
ステップS160において、要求コマンド生成部315は、スピードデータによって表されるスピードを閾値と比較する。当該スピードが閾値よりも低いならば、要求コマンド生成部315は、フィードバック動作が必要であると判断する。要求コマンド生成部315は、その後、フィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部315からフィードバック動作実行部421へ、出力制御部316を通じて出力される。動作コマンドは、要求コマンド生成部315から一時格納部331へ、出力制御部316を通じて出力される。その後、ステップS170が実行される。スピードが閾値よりも低くないならば、要求コマンド生成部315は、フィードバック動作は必要とされていないと判断する。要求コマンド生成部315は、動作コマンドを動作コマンド実行部411へ、出力制御部316を通じて出力する。その後、ステップS190が実行される。
(ステップS170)
ステップS170において、フィードバック動作実行部421は、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置100が操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップS180が実行される。
ステップS170において、フィードバック動作実行部421は、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置100が操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップS180が実行される。
(ステップS180)
ステップS180において、要求コマンド生成部315は、操作者からのフィードバック入力を待つ。操作者がフィードバック動作実行部421を操作し、更なる処理を要求するならば、ステップS190が実行される。操作者が、フィードバック動作実行部421を操作し、処理をキャンセルするならば、入力装置100は、処理を停止する。
ステップS180において、要求コマンド生成部315は、操作者からのフィードバック入力を待つ。操作者がフィードバック動作実行部421を操作し、更なる処理を要求するならば、ステップS190が実行される。操作者が、フィードバック動作実行部421を操作し、処理をキャンセルするならば、入力装置100は、処理を停止する。
(ステップS190)
ステップS190において、動作コマンド実行部411は、動作コマンドに応じて、所定の動作を実行する。
ステップS190において、動作コマンド実行部411は、動作コマンドに応じて、所定の動作を実行する。
(ジェスチャ認識)
図6は、動作検出部210によって生成された例示的な画像データである。ステップS110のジェスチャ認識が、図4乃至図6を参照して説明される。
図6は、動作検出部210によって生成された例示的な画像データである。ステップS110のジェスチャ認識が、図4乃至図6を参照して説明される。
図6の画像データは、操作者の手と、背景としての家具と、を示している。ジェスチャ認識ブロック311は、動作要求に関する入力情報を与えるためのジェスチャを作る身体部位として、手を認識する。
図7Aは、図6に示される画像データによって表される一連の画像を表す。図7Bは、ジェスチャ認識ブロック311によって認識されるデータを示す。ステップS110におけるジェスチャ認識が、図4乃至図7Bを参照して更に説明される。
図7Aに示される如く、操作者が手を水平に移動させている間、動作検出部210は、水平移動を表す画像データを生成する。ジェスチャ認識ブロック311は、画像データから手を表すデータ部分を抽出する。したがって、ジェスチャ認識ブロック311は、図7Bに示される如く、左から右へ移動する手を認識する。
認識されたデータ中の手の状態が、静止状態から移動状態に変わると、ジェスチャ認識ブロック311は、状態変化があった手の位置を開始点として認識する。認識されたデータ中の手の状態が、移動状態から新たな静止状態に変化すると、ジェスチャ認識ブロック311は、状態変化があった手の位置を終了点として認識する。
ジェスチャ認識ブロック311は、開始点から終了点まで水平に延びるベクトルを表すベクトルデータを生成する。ジェスチャ認識ブロック311は、手が、開始点から終了点まで移動するのに要した時間に関する時間情報をベクトルデータに組み込んでもよい。
図8Aは、手の他の移動を表す一連の画像を示す。ステップS110のジェスチャ認識が、図4、図5及び図8Aを参照して、更に説明される。
操作者が、渦巻き状の軌跡を描くように手を移動させるならば、ジェスチャ認識ブロック311は、図8Aの点線で描かれた曲線で示される渦巻き状のベクトルを表すベクトルデータを生成する。
図8Bは、仮想的なノブを回す操作者の手の例示的な移動を示す。動作コマンド及びスピードデータの生成が、図4、図7A乃至図8Bを参照して、例示的に説明される。
ベクトルデータのベクトルによって描かれる形状は、図7A乃至図8Aを参照して説明された手の移動に依存する。操作者が手を真っすぐに移動させるならば、ベクトルデータは、真っ直ぐなベクトルを表す。操作者が手を旋回させるならば、ベクトルデータは円状の軌跡の長さを表す。操作者が、手を回すならば、ベクトルデータは、角度的な変化を表す。コマンド決定ブロック312は、第1動作(例えば、動作コマンド実行部411として用いられるヒータをオフにすること)の実行を動作コマンド実行部411に指示する第1動作コマンドを生成する。コマンド決定ブロック312は、第2動作(例えば、動作コマンド実行部411として用いられるヒータの加熱レベルを調整すること)の実行を動作コマンド実行部411に指示する第2動作コマンドを生成する。操作者は、図8Bに示される如く、仮想的なノブを操作するジェスチャを作ってもよい。
図7Bを参照して説明された如く、ジェスチャ認識ブロック311は、時間情報をベクトルデータに組み入れてもよい。図7Bに示される如く、操作者が、手を水平に移動させるならば、スピード取得ブロック313は、開始点から終了点までの距離(即ち、開始点から終了点までのベクトル長さ)を測定する。スピード取得ブロック313は、測定された距離と時間情報とを用いて、移動速度(直線速度)を表すスピードデータを生成してもよい。図8Aに示される如く、操作者が手を旋回させるならば、スピード取得ブロック313は、開始点から終了点までの円形軌跡の全長を測定してもよい。スピード取得ブロック313は、測定された全長と時間情報とを用いて、スピードデータを生成してもよい。図8Bに示される如く、使用者が、手を回すならば、スピード取得ブロック313は、開始点から終了点までの角度変化を測定してもよい。スピード取得ブロック313は、測定された全角度変化と時間情報とを用いて、角速度を表すスピードデータを生成してもよい。
要求コマンド生成部315は、スピードデータを用いて、フィードバック動作が必要であるか否かを判断する。スピードデータが閾値よりも低い直線速度又は角速度を表すならば、フィードバック動作実行部421は、フィードバック動作を実行する。他の場合には、動作コマンド実行部411は、動作コマンドによって定義された動作を実行する。
スピード取得ブロック313は、デカルト座標系、極座標系、円筒座標系、球座標系や他の適切な座標系といった座標系を設定し、スピードデータを生成してもよい。スピード取得ブロック313は、コマンド決定ブロック312から受け取った動作コマンドに応じて異なる座標系を用いてもよい。
図9は、ジェスチャ認識ブロック311によって生成されたベクトルデータの例示的なデータ構造を示す。ベクトルデータのデータ構造が、図4及び図9を参照して説明される。
データ構造は、ヘッダセクション、ジェスチャパターンコードセクション、位置変化セクション、角変化セクション、半径変化セクション、経過時間セクション、ベクトル終了セクション及び他の必要なデータセクションを含んでもよい。ヘッダセクションは、コマンド決定ブロック312及びスピード取得ブロック313がベクトルデータを読み取るために用いられる情報を含んでもよい。ジェスチャパターンコードセクションは、コマンド決定ブロック312及びスピード取得ブロック313に、手の移動パターン(例えば、真っ直ぐな移動や角度的な移動等)を識別させるための情報を含んでもよい。位置変化セクションは、開始点及び終了点における手の座標値を含んでもよい。角変化セクションは、操作者が手を回しているときの手の位置の角変化の情報を含んでもよい。半径変化セクションは、手の渦巻き状の軌跡の半径に関する情報を含んでもよい。経過時間セクションは、開始点から終了点までの時間長さに関する情報を含んでもよい。ベクトル終了セクションは、コマンド決定ブロック312及びスピード取得ブロック313が、ベクトルデータの終了を見極めるために利用される情報を含んでもよい。図9に示される例示的なデータ構造は、手或いは他の身体部位の様々な移動パターンを表してもよい。コマンド決定ブロック312は、これらのデータセクションのうち1つ又はいくつかを参照し、動作コマンドを決定並びに生成してもよい。スピード取得ブロック313は、これらのデータセクションのうち1つ又はいくつかを参照し、スピードデータを決定並びに生成してもよい。
<第4実施形態>
操作者は、フィードバック動作に応じて、入力装置にフィードバック情報を入力してもよい。第3実施形態において、操作者は、フィードバック動作実行部を操作し、フィードバック情報を入力することができる。しかしながら、操作者は、他の装置を操作し、フィードバック情報を与えてもよい。第4実施形態において、入力装置は、操作者が他の装置を用いてフィードバック情報を入力することを可能にする。
操作者は、フィードバック動作に応じて、入力装置にフィードバック情報を入力してもよい。第3実施形態において、操作者は、フィードバック動作実行部を操作し、フィードバック情報を入力することができる。しかしながら、操作者は、他の装置を操作し、フィードバック情報を与えてもよい。第4実施形態において、入力装置は、操作者が他の装置を用いてフィードバック情報を入力することを可能にする。
図10は、入力装置100の他の例示的な機能的ブロック図である。機能的ブロック図は、第1実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置100の機能が、図10を参照して、第4実施形態に関連して説明される。図4と図10との間で共通して用いられる符号は、当該共通の符号が付された要素が第3実施形態と同一の機能を有していることを意味する。したがって、第3実施形態の説明は、これらの要素に援用される。
第3実施形態と同様に、入力装置100は、動作検出部210、ジェスチャ認識ブロック311、コマンド決定ブロック312、スピード取得ブロック313、フィードバック決定ブロック314及び動作コマンド実行部411を備える。入力装置100は、フィードバック動作実行部421A及びフィードバックインターフェース422を更に備える。第3実施形態と同様に、フィードバック動作実行部421Aは、フィードバック決定ブロック314からのフィードバック要求コマンドに応じて、フィードバック動作を実行する。一方、フィードバック動作実行部421Aは、第3実施形態とは異なり、確認結果を出力しない。代わりに、操作者がフィードバックインターフェース422を操作するならば、フィードバックインターフェース422が、確認結果を出力する。確認結果は、フィードバックインターフェース422から要求コマンド生成部315に出力される。操作者が更なる処理を求めるならば、要求コマンド生成部315はその後、出力制御部316に一時格納部331から動作コマンドを読み取らせる。最終的に、動作コマンド実行部411は、出力制御部316から出力された動作コマンドに応じて所定の動作を実行する。
例えば、フィードバックインターフェース422は、音声認識機能を有し、操作者の声を認識してもよい。フィードバックインターフェース422は、フィードバック決定ブロック314に更なる処理を実行させる或いはキャンセルさせる確認結果を出力してもよい。
<第5実施形態>
操作者は、フィードバック動作に応じて、入力装置にフィードバック情報を入力してもよい。第4実施形態において、操作者は、専用のフィードバックインターフェースを操作し、フィードバック情報を入力することができる。しかしながら、操作者は、動作検出部を操作し、フィードバック情報を与えてもよい。第5実施形態において、入力装置は、使用者が動作検出部を用いてフィードバック情報を入力することを可能にする。
操作者は、フィードバック動作に応じて、入力装置にフィードバック情報を入力してもよい。第4実施形態において、操作者は、専用のフィードバックインターフェースを操作し、フィードバック情報を入力することができる。しかしながら、操作者は、動作検出部を操作し、フィードバック情報を与えてもよい。第5実施形態において、入力装置は、使用者が動作検出部を用いてフィードバック情報を入力することを可能にする。
図11は、入力装置100の他の例示的な機能的ブロック図である。機能的ブロック図は、第1実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置100の機能が、第5実施形態に関連して、図11を参照して説明される。尚、図10と図11との間で共通に用いられる符号は、当該共通の符号が付された要素が第4実施形態と同一の機能を有することを意味する。したがって、第4実施形態の説明は、これらの要素に援用される。
第4実施形態と同様に、入力装置100は、動作検出部210、コマンド決定ブロック312、スピード取得ブロック313、フィードバック決定ブロック314、動作コマンド実行部411及びフィードバック動作実行部421Aを備える。入力装置100は、ジェスチャ認識ブロック311Bを更に備える。ジェスチャ認識ブロック311Bは、第4実施形態と同一の機能を有し、ベクトルデータを生成する。加えて、ジェスチャ認識ブロック311Bは、確認結果を生成するためのデータとして、移動データ内の特定のジェスチャを認識する機能を有する。
操作者が確認結果を生じさせるための特定のジェスチャを作るならば、ジェスチャ認識ブロック311Bは、フィードバック決定ブロック314に更なる処理を実行させる又はキャンセルさせることを指示する確認結果を生成する。確認結果は、ベクトルデータとは異なり、ジェスチャ認識ブロック311Bから要求コマンド生成部315へ直接的に出力される。操作者が更なる処理を望むならば、要求コマンド生成部315は、その後、出力制御部316に動作コマンドを一時格納部331から読み取らせる。最終的に、動作コマンド実行部411は、出力制御部316から出力された動作コマンドに応じて、所定の動作を実行する。
<第6実施形態>
第3実施形態によれば、全ての動作コマンドは、フィードバック決定ブロックを通過する。しかしながら、全ての動作コマンドは、フィードバック決定ブロックの処理を受ける必要はない。動作コマンドのうちいくつかは、フィードバック動作実行部のフィードバック動作なしに実行されてもよい。第6実施形態に関連して、動作コマンドを振り分ける技術が説明される。
第3実施形態によれば、全ての動作コマンドは、フィードバック決定ブロックを通過する。しかしながら、全ての動作コマンドは、フィードバック決定ブロックの処理を受ける必要はない。動作コマンドのうちいくつかは、フィードバック動作実行部のフィードバック動作なしに実行されてもよい。第6実施形態に関連して、動作コマンドを振り分ける技術が説明される。
図12は、入力装置100の例示的な機能的ブロック図である。機能的ブロック図は、第1実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置100の機能は、第6実施形態に関連して、図1、図2及び図12を参照して説明される。図4及び図12の間で共通して用いられる符号は、当該共通の符号が付された要素が第3実施形態と同一の機能を有することを意味する。したがって、第3実施形態の説明は、これらの要素に援用される。
第3実施形態と同様に、入力装置100は、動作検出部210、動作コマンド実行部411及びフィードバック動作実行部421を備える。入力装置100は、ジェスチャ認識ブロック311C、コマンド決定ブロック312C、スピード取得ブロック313C、フィードバック決定ブロック314C、第1格納部321、編集部511及び第2格納部521を備える。
動作検出部210は、第3実施形態と同様に、移動データを生成する。移動データは、ジェスチャ認識ブロック311Cに出力される。
第1格納部321は、様々なジェスチャパターンに関するジェスチャグループデータを格納する。各ジェスチャパターンは、複数のジェスチャの組み合わせであってもよい。ジェスチャ認識ブロック311Cは、第1格納部321からジェスチャグループデータを読み取る。ジェスチャ認識ブロック311Cは、その後、ジェスチャグループデータを移動データと比較し、移動データによって表されるジェスチャパターンに一致するジェスチャパターンを示すグループデータの部分を見極める。ジェスチャ認識ブロック311Cは、見極められたデータ部分をパターンデータに変換する。パターンデータは、ジェスチャ認識ブロック311Cからコマンド決定ブロック312C及びスピード取得ブロック313Cへ出力される。第1格納部321は、図2を参照して説明されたROM320又はHDD340であってもよい。
第2格納部521は、いくつかの動作コマンドに関するコマンドグループデータと、コマンドグループデータの動作コマンドを高優先度又は低優先度に分類する優先度データと、を格納する。コマンドグループデータ内の動作コマンドそれぞれは、ジェスチャグループデータ内のジェスチャパターンそれぞれに関連づけられてもよい。
コマンド決定ブロック312Cが、ジェスチャ認識ブロック311Cからパターンデータを受け取ると、コマンド決定ブロック312Cは、第2格納部521からコマンドグループデータを読み取る。コマンド決定ブロック312Cは、その後、コマンドグループデータをパターンデータと比較し、パターンデータによって定義されたジェスチャパターンに対応する動作コマンドを見極める。尚、見極められた動作コマンドは、上述の如く、優先度データによって、高優先度及び低優先度のうち一方を用いて標識化されている。本実施形態において、見極められた動作コマンドが低優先度の標識化を受けているならば、動作コマンドは、フィードバック動作の要否の決定の後に実行される。他の場合には、動作コマンドは、フィードバック動作なしで実行される。優先度データは、フィードバック動作が必要とされるか否かを表す識別子として例示される。
コマンド決定ブロック312Cは、見極められた動作コマンドに付された優先度データを参照し、動作コマンドの出力経路を決定してもよい。
本実施形態において、図12に示される如く、コマンド決定ブロック312Cからの動作コマンドに対して、2つの経路が用意されている。一方の経路は、コマンド決定ブロック312Cからスピード取得ブロック313Cへ延びる。他方の経路は、コマンド決定ブロック312Cから動作コマンド実行部411へ直接的に延びる。低優先度が付された動作コマンドは、コマンド決定ブロック312Cからスピード取得ブロック313Cへ出力され、スピード取得ブロック313C及びフィードバック決定ブロック314Cの様々な処理を受ける。最終的に、低優先度が付された動作コマンドは、動作コマンド実行部411によって実行される。高優先度が付された動作コマンドは、スピード取得ブロック313C及びフィードバック決定ブロック314Cを通過することなしに、コマンド決定ブロック312Cから動作コマンド実行部411へ直接的に出力される。動作コマンド実行部411が、高優先度が付された動作コマンドを受け取ると、動作コマンド実行部411は、フィードバック動作を待つことなしに、高優先度が付された動作コマンドを実行する。
操作者は、編集部511を用いて、優先度データを変更してもよい。操作者が、特定のジェスチャを高い頻度で作るならば、操作者は、フィードバック動作を必要としないこともある。この場合、操作者は、編集部511を用いて、「高優先度」のラベルを、当該特定のジェスチャに対応する動作コマンドに付してもよい。代替的に、編集部511は、動作コマンドの使用頻度に基づいて、優先度データを自動的に更新してもよい。本実施形態において、第2格納部521は、図2を参照して説明された携帯型の記録媒体520に対応する。編集部511は、図2を参照して説明された編集装置510に対応する。
上述の如く、パターンデータは、ジェスチャ認識ブロック311Cから、コマンド決定ブロック312Cだけでなく、スピード取得ブロック313Cにも出力される。パターングループデータによって表されるジェスチャパターンそれぞれは、開始点を定義する開始ジェスチャと、終了点を定義する終了ジェスチャと、を含んでもよい。操作者が、動作要求の入力を開始するとき、操作者は、開始ジェスチャとして特定のジェスチャを作ってもよい。同様に、操作者は、動作要求の入力を終えるとき、終了ジェスチャとして、他のもう1つの特定のジェスチャを作ってもよい。パターンデータは、開始ジェスチャによって定義される開始点から終了ジェスチャによって定義される終了点までの時間長さを表す時間データを含んでもよい。スピード取得ブロック313Cは、スピードデータとしてパターンデータの時間データを用いてもよい。スピードデータは、スピード取得ブロック313Cからフィードバック決定ブロック314Cへ出力される。低優先度が付された動作コマンドも、スピード取得ブロック313Cからフィードバック決定ブロック314Cへ出力される。
第3実施形態と同様に、フィードバック決定ブロック314Cは、出力制御部316と一時格納部331とを含む。フィードバック決定ブロック314Cは、要求コマンド生成部315Cと、第3格納部323と、を更に含む。要求コマンド生成部315Cは、スピードデータ及び低優先度が付された動作コマンドを受け取る。第3格納部323は、様々なフィードバック動作を表す候補データを格納する。候補データによって表されるフィードバック動作それぞれは、低優先度が付された動作コマンドそれぞれに関連づけられてもよい。本実施形態において、第3格納部323は、フィードバック候補格納部として例示される。
要求コマンド生成部315Cは、第3格納部323から候補データを読み取る。要求コマンド生成部315Cは、スピード取得ブロック313Cから受け取った動作コマンドを候補データと比較する。候補データによって表されるフィードバック動作のうち1つが、動作コマンドに対応するならば、要求コマンド生成部315Cは、スピードデータが閾値よりも低いスピードを表しているか否かを検証する。スピードデータが閾値よりも低いスピードを表しているならば、要求コマンド生成部315Cは、第3実施形態と同様に、対応するフィードバック動作を表すフィードバック要求コマンドを生成する。フィードバック要求コマンドは、出力制御部316を通じて、フィードバック動作実行部421へ出力される。フィードバック動作実行部421は、フィードバック要求コマンドによって定義されたフィードバック動作を実行する。操作者が、動作要求が入力装置100に適切に入力されていることを表すフィードバック動作を確認した後、要求コマンド生成部315Cは、動作コマンドを、出力制御部316を通じて、動作コマンド実行部411へ出力させる。動作コマンド実行部411は、動作コマンドによって定められた動作を実行する。本実施形態において、要求コマンド生成部315Cは、フィードバック決定部として例示される。
図13は、入力装置100の処理の概略的なフローチャートである。フローチャートは、図12を参照して説明された構造に基づいて設計されている。入力装置100の処理が、図12及び図13を参照して説明される。尚、図13のフローチャートは例示的なものにすぎない。したがって、入力装置100は、図13の工程に加えて、様々な副次的な処理を実行してもよい。
(ステップS210)
ステップS210において、動作検出部210は、操作者の身体部位の移動を検出する。動作検出部210は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部210からジェスチャ認識ブロック311Cへ出力される。その後、ステップS220が実行される。
ステップS210において、動作検出部210は、操作者の身体部位の移動を検出する。動作検出部210は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部210からジェスチャ認識ブロック311Cへ出力される。その後、ステップS220が実行される。
(ステップS220)
ステップS220において、ジェスチャ認識ブロック311Cは、第1格納部321からジェスチャグループデータを読み取る。ジェスチャ認識ブロック311Cは、ジェスチャグループデータを画像データと比較し、画像データによって表されるジェスチャに対応するジェスチャパターンを見極める。ジェスチャ認識ブロック311Cは、対応するジェスチャパターンを表すパターンデータを生成する。パターンデータは、ジェスチャ認識ブロック311Cから、コマンド決定ブロック312C及びスピード取得ブロック313Cへ送られる。その後、ステップS230が実行される。
ステップS220において、ジェスチャ認識ブロック311Cは、第1格納部321からジェスチャグループデータを読み取る。ジェスチャ認識ブロック311Cは、ジェスチャグループデータを画像データと比較し、画像データによって表されるジェスチャに対応するジェスチャパターンを見極める。ジェスチャ認識ブロック311Cは、対応するジェスチャパターンを表すパターンデータを生成する。パターンデータは、ジェスチャ認識ブロック311Cから、コマンド決定ブロック312C及びスピード取得ブロック313Cへ送られる。その後、ステップS230が実行される。
(ステップS230)
ステップS230において、コマンド決定ブロック312Cは、第2格納部521からコマンドグループデータを読み取る。コマンド決定ブロック312Cは、コマンドグループデータをパターンデータと比較し、パターンデータによって表されるパターンデータに対応する動作コマンドを見極める。コマンド決定ブロック312Cは、対応する動作コマンドを生成する。その後、ステップS235が実行される。
ステップS230において、コマンド決定ブロック312Cは、第2格納部521からコマンドグループデータを読み取る。コマンド決定ブロック312Cは、コマンドグループデータをパターンデータと比較し、パターンデータによって表されるパターンデータに対応する動作コマンドを見極める。コマンド決定ブロック312Cは、対応する動作コマンドを生成する。その後、ステップS235が実行される。
(ステップS235)
ステップS235において、コマンド決定ブロック312Cは、動作コマンドに付された優先度データを参照する。優先度データが低優先度を示しているならば、動作コマンドは、コマンド決定ブロック312Cからスピード取得ブロック313Cへ出力される。他の場合には、動作コマンドは、コマンド決定ブロック312Cから動作コマンド実行部411へ出力される。動作コマンドが、スピード取得ブロック313Cに出力されるならば、ステップS240が実行される。動作コマンドが、動作コマンド実行部411へ出力されるならば、ステップS290が実行される。
ステップS235において、コマンド決定ブロック312Cは、動作コマンドに付された優先度データを参照する。優先度データが低優先度を示しているならば、動作コマンドは、コマンド決定ブロック312Cからスピード取得ブロック313Cへ出力される。他の場合には、動作コマンドは、コマンド決定ブロック312Cから動作コマンド実行部411へ出力される。動作コマンドが、スピード取得ブロック313Cに出力されるならば、ステップS240が実行される。動作コマンドが、動作コマンド実行部411へ出力されるならば、ステップS290が実行される。
(ステップS240)
ステップS240において、スピード取得ブロック313Cは、パターンデータに含まれる時間データを参照する。時間データは、上述の如く、開始ジェスチャ及び終了ジェスチャによって定義される時間長さを表す。スピード取得ブロック313Cは、時間データを用いて、スピードデータを生成する。スピードデータは、スピード取得ブロック313Cから要求コマンド生成部315Cへ出力される。この間、低優先度が付された動作コマンドもスピード取得ブロック313Cから要求コマンド生成部315Cへ出力される。その後、ステップS250が実行される。
ステップS240において、スピード取得ブロック313Cは、パターンデータに含まれる時間データを参照する。時間データは、上述の如く、開始ジェスチャ及び終了ジェスチャによって定義される時間長さを表す。スピード取得ブロック313Cは、時間データを用いて、スピードデータを生成する。スピードデータは、スピード取得ブロック313Cから要求コマンド生成部315Cへ出力される。この間、低優先度が付された動作コマンドもスピード取得ブロック313Cから要求コマンド生成部315Cへ出力される。その後、ステップS250が実行される。
(ステップS250)
ステップS250において、要求コマンド生成部315Cは、第3格納部323から候補データを読み取る。要求コマンド生成部315Cは、候補データを、低優先度が付された動作コマンドと比較し、動作コマンドに対応するフィードバック動作を見極める。候補データによって表されたフィードバック動作のうち1つが、受け取った動作コマンドに関連づけられているならば、ステップS260が実行される。候補データによって表されたフィードバック動作のいずれもが、受け取った動作コマンドに関連づけられていないならば、ステップS290が実行される。
ステップS250において、要求コマンド生成部315Cは、第3格納部323から候補データを読み取る。要求コマンド生成部315Cは、候補データを、低優先度が付された動作コマンドと比較し、動作コマンドに対応するフィードバック動作を見極める。候補データによって表されたフィードバック動作のうち1つが、受け取った動作コマンドに関連づけられているならば、ステップS260が実行される。候補データによって表されたフィードバック動作のいずれもが、受け取った動作コマンドに関連づけられていないならば、ステップS290が実行される。
(ステップS260)
ステップS260において、要求コマンド生成部315Cは、スピードデータによって表されるスピードと閾値とを比較する。スピードが、閾値よりも低いならば、要求コマンド生成部315Cは、フィードバック動作が必要であると判断する。要求コマンド生成部315Cは、その後、フィードバック動作実行部421にステップS250において決定されたフィードバック動作の実行を指示するために用いられるフィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部315Cからフィードバック動作実行部421へ、出力制御部316を通じて出力される。その後、ステップS270が実行される。スピードが、閾値よりも低くないならば、要求コマンド生成部315Cは、フィードバック動作が不要であると判断する。要求コマンド生成部315Cは、出力制御部316を通じて、動作コマンドを動作コマンド実行部411へ出力する。その後、ステップS290が実行される。
ステップS260において、要求コマンド生成部315Cは、スピードデータによって表されるスピードと閾値とを比較する。スピードが、閾値よりも低いならば、要求コマンド生成部315Cは、フィードバック動作が必要であると判断する。要求コマンド生成部315Cは、その後、フィードバック動作実行部421にステップS250において決定されたフィードバック動作の実行を指示するために用いられるフィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部315Cからフィードバック動作実行部421へ、出力制御部316を通じて出力される。その後、ステップS270が実行される。スピードが、閾値よりも低くないならば、要求コマンド生成部315Cは、フィードバック動作が不要であると判断する。要求コマンド生成部315Cは、出力制御部316を通じて、動作コマンドを動作コマンド実行部411へ出力する。その後、ステップS290が実行される。
(ステップS270)
ステップS270において、フィードバック動作実行部421は、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置100が、操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップS280が実行される。
ステップS270において、フィードバック動作実行部421は、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置100が、操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップS280が実行される。
(ステップS280)
ステップS280において、要求コマンド生成部315Cは、操作者からのフィードバック入力を待つ。操作者がフィードバック動作実行部421を操作し、更なる処理を要求するならば、ステップS290が実行される。操作者がフィードバック動作実行部421を操作し、処理をキャンセルするならば、入力装置100は処理を停止する。
ステップS280において、要求コマンド生成部315Cは、操作者からのフィードバック入力を待つ。操作者がフィードバック動作実行部421を操作し、更なる処理を要求するならば、ステップS290が実行される。操作者がフィードバック動作実行部421を操作し、処理をキャンセルするならば、入力装置100は処理を停止する。
(ステップS290)
ステップS290において、動作コマンド実行部411は、動作コマンドに応じて、所定の処理を実行する。
ステップS290において、動作コマンド実行部411は、動作コマンドに応じて、所定の処理を実行する。
図14は、入力装置100の処理の概略的な他のフローチャートである。フローチャートは、図12を参照して説明された構造に基づいて設計されている。入力装置100の処理が、図12乃至図14を参照して説明される。尚、図14に示されるフローチャートは、例示的なものにすぎない。したがって、入力装置100は、図14に示される工程に加えて、様々な副次的な処理を実行してもよい。
ステップS210からステップS240までの一連の処理は、図13を参照して説明されたものと同一である。入力装置100は、ステップS250に代えて、ステップS350を実行する。
(ステップS350)
ステップS350において、候補データによって表されるフィードバック動作のうち1つが、動作コマンドに関連づけられているならば、ステップS260からステップS290までの一連の処理が、図13に示されるフローチャートと同様に実行される。候補データによって表されるフィードバック動作のいずれもが、動作コマンドに関連づけられていないならば、要求コマンド生成部315Cは、操作者に警告情報を与えることをフィードバック動作実行部421に指示するフィードバック要求コマンドを生成する。警告情報に関するフィードバック要求コマンドは、出力制御部316を通じて、フィードバック動作実行部421に出力される。その後、ステップS355が実行される。
ステップS350において、候補データによって表されるフィードバック動作のうち1つが、動作コマンドに関連づけられているならば、ステップS260からステップS290までの一連の処理が、図13に示されるフローチャートと同様に実行される。候補データによって表されるフィードバック動作のいずれもが、動作コマンドに関連づけられていないならば、要求コマンド生成部315Cは、操作者に警告情報を与えることをフィードバック動作実行部421に指示するフィードバック要求コマンドを生成する。警告情報に関するフィードバック要求コマンドは、出力制御部316を通じて、フィードバック動作実行部421に出力される。その後、ステップS355が実行される。
(ステップS355)
ステップS355において、フィードバック動作実行部421は、警告情報を与え、入力装置100は処理を停止する。操作者は、入力装置100への動作要求の入力を再度実行してもよい。入力装置100は、その後、ステップS210を再開する。
ステップS355において、フィードバック動作実行部421は、警告情報を与え、入力装置100は処理を停止する。操作者は、入力装置100への動作要求の入力を再度実行してもよい。入力装置100は、その後、ステップS210を再開する。
図15Aは、例示的なジェスチャパターンを示す。図15Bは、他の例示的なジェスチャパターンを示す。ジェスチャパターンが、図6、図12、図15A及び図15Bを参照して説明される。
操作者は、まず、手で、3次元座標系を定義してもよい。図15A及び図15Bにおいて、操作者は、人差し指、中指及び親指を互いに異なる方向に伸ばし、3次元座標系を定義している。人差し指は、x軸を定義している。中指は、y軸を定義している。親指は、z軸を定義している。本実施形態において、xyz軸のうち1つは、第1軸として例示される。これらの座標軸のうち他のもう1つは、第2軸として例示される。残りの座標軸は、第3軸として例示される。
図6を参照して説明された画像認識技術と同様に、ジェスチャ認識ブロック311Cは、操作者の手を表すデータを抽出する。手が3次元座標系を定義しているとき、ジェスチャ認識ブロック311Cは、3次元座標系を定義している手のジェスチャを開始ジェスチャとして認識する。
操作者は、ジェスチャパターンの終了時に、手を閉じてもよい。ジェスチャ認識ブロック311Cは、閉じた手のジェスチャを終了ジェスチャとして認識する。
操作者は、開始ジェスチャと終了ジェスチャとの間で様々なジェスチャを作ってもよい。図15Aにおいて、操作者は、手を、中指によって定義されたy軸に沿って移動させている。図15Bにおいて、親指及び人差し指を、中指によって定義されたy軸周りに円状に移動させている。ジェスチャ認識ブロック311Cは、操作者が如何なる動作要求を入力したかを、開始ジェスチャと終了ジェスチャとの間のジェスチャをジェスチャグループデータと比較することによって見極めることができる。
図16は、パターンデータの生成の概念図である。図12、図15A乃至図16を参照して、パターンデータの生成が説明される。
ジェスチャ認識ブロック311Cが、開始ジェスチャと終了ジェスチャとの間において、図15Aに示される手のジェスチャを見極めるならば、ジェスチャ認識ブロック311Cは、「パターンコードA」をパターンデータに組み込む。ジェスチャ認識ブロック311Cが、開始ジェスチャと終了ジェスチャとの間において、図15Aに示される手のジェスチャを見極めるならば、ジェスチャ認識ブロック311Cは、「パターンコードB」をパターンデータに組み込む。尚、パターンコードBは、パターンコードAとは相違する。上述の如く、パターンデータは、コマンド決定ブロック312Cへ出力される。
図17は、第2格納部521に格納されたコマンドグループデータのデータ構造の概念図である。コマンドグループデータのデータ構造が、図12、図16及び図17を参照して説明される。
コマンドグループデータは、ジェスチャ認識ブロック311Cがパターンデータに組み込み得る様々なパターンコードに関するデータを含む。コマンドグループデータは、様々な動作コマンドに関するデータを含む。図17に示される如く、コマンドグループデータは、各動作コマンドを、各パターンコードに関連づける。コマンド決定ブロック312Cは、第2格納部521からコマンドグループデータを読み取る。コマンド決定ブロック312Cは、図17の「パターンコード」の欄を参照し、パターンデータに対応する動作コマンドを見極める。パターンデータがパターンコードAを含んでいるならば、コマンド決定ブロック312Cは、動作コマンドAを選択並びに生成する。パターンデータがパターンコードBを含んでいるならば、コマンド決定ブロック312Cは、動作コマンドBを選択並びに生成する。パターンデータがパターンコードCを含んでいるならば、コマンド決定ブロック312Cは、動作コマンドCを選択並びに生成する。尚、動作コマンドA、B、Cそれぞれによって定義される動作は、互いに相違している。本実施形態において、動作コマンドAによって定義される動作は、第1動作として例示される。動作コマンドCによって定義される動作は、第2動作として例示される。
コマンドグループデータは、優先度データを更に含む。コマンドグループデータは、動作コマンドそれぞれを、高優先度又は低優先度に関連づける。図17において、動作コマンドAには、低優先度が付されている。動作コマンドBには、高優先度が付されている。動作コマンドCには、低優先度が付されている。
コマンド決定ブロック312Cは、選択された動作コマンドに付された優先度データを参照する。コマンド決定ブロック312Cが動作コマンドA又は動作コマンドCを選択するならば、コマンド決定ブロック312Cは、低優先度のラベルを見出す。コマンド決定ブロック312Cが、動作コマンドBを選択するならば、コマンド決定ブロック312Cは、高優先度のラベルを見出す。
コマンド決定ブロック312Cは、優先度データに基づき、動作コマンドの出力経路を決定する。コマンド決定ブロック312Cが動作コマンドA又は動作コマンドCを選択するならば、低優先度のラベルがあるので、動作コマンドA又は動作コマンドCを、スピード取得ブロック313Cへ出力する。コマンド決定ブロック312Cが動作コマンドBを選択するならば、高優先度のラベルがあるので、コマンド決定ブロック312Cは、動作コマンドBを動作コマンド実行部411へ出力する。
図18は、パターンデータに組み込まれた時間データの概念図である。時間データが、図12、図17及び図18を参照して説明される。
ジェスチャ認識ブロック311Cは、開始ジェスチャから終了ジェスチャまでの時間長さに関するデータをパターンデータに組み込む。スピード取得ブロック313Cは、時間長さに関するデータを抽出する。抽出されたデータは、スピード取得ブロック313Cから要求コマンド生成部315Cへ、低優先度が付された動作コマンド(動作コマンドA又は動作コマンドC)とともに出力される。
図19は、第3格納部323に格納された候補データのデータ構造の概念図である。候補データのデータ構造が、図12及び図19を参照して説明される。
候補データは、低優先度が付された様々な動作コマンドに関するデータを含む。候補データは、様々なフィードバック要求コマンドに関するデータを更に含む。候補データ内で挙げられたフィードバック要求コマンドによって定義されたフィードバック動作は、互いに相違してもよい。候補データは、動作コマンドそれぞれを、フィードバック要求コマンドそれぞれに関連づける。要求コマンド生成部315Cが動作コマンドAを受け取るならば、時間データが閾値より低いスピードを示すと、要求コマンド生成部315Cは、フィードバック要求コマンドAを生成する。要求コマンド生成部315Cが動作コマンドCを受け取るならば、時間データが閾値より低いスピードを示すと、要求コマンド生成部315Cは、フィードバック要求コマンドCを生成する。本実施形態において、フィードバック要求コマンドAによって定義されるフィードバック動作は、第1フィードバック動作として例示される。フィードバック要求コマンドCによって定義されるフィードバック動作は、第2フィードバック動作として例示される。
図20Aは、開始ジェスチャを作る手のジェスチャの概略的な斜視図である。図20Bは、3次元座標系を示す。開始ジェスチャが、図12、図20A及び図20Bを参照して説明される。
操作者は、人差し指、中指及び親指を互いに異なる方向に伸ばし、図20Aに示される如く、開始ジェスチャを作ってもよい。人差し指は、x軸の方向を定義する。中指は、y軸の方向を定義する。親指は、z軸の方向を定義する。3次元座標系は、図20Bに示される如く、これらの指によって定義される。
図20Bは、x軸とy軸との間で定義される角度Aと、x軸とz軸との間で定義される角度Bと、y軸とz軸との間で定義される角度Cと、を示す。これらの角度A、B、Cそれぞれは、70°から120°の範囲にある。操作者は、意図せず、これらの角度を作りにくい。したがって、ジェスチャ認識ブロック311Cが、図20Aに示される手のジェスチャを認識するならば、動作コマンド実行部411に、動作的なエラーは生じにくくなる。
図21は、開始ジェスチャを作る他の手のジェスチャの概略的な斜視図である。開始ジェスチャが、図12、図20A乃至図21を参照して説明される。
図20Aを参照して説明された手のジェスチャとは異なり、操作者は、中指だけでなく、薬指及び小指を伸ばして、z軸を定義してもよい。ジェスチャ認識ブロック311Cは、図21に示される手のジェスチャから、図20Bに示される3次元座標系を認識してもよい。
<第7実施形態>
第3実施形態乃至第6実施形態によれば、フィードバック動作が必要とされるならば、入力装置は、確認結果に応じて、動作コマンドを出力する。しかしながら、操作者が、フィードバック動作を確認し、必要な動作を行うのに十分に長い遅延時間があるならば、確認結果は必要とされない。第7実施形態において、例示的な遅延機能が説明される。
第3実施形態乃至第6実施形態によれば、フィードバック動作が必要とされるならば、入力装置は、確認結果に応じて、動作コマンドを出力する。しかしながら、操作者が、フィードバック動作を確認し、必要な動作を行うのに十分に長い遅延時間があるならば、確認結果は必要とされない。第7実施形態において、例示的な遅延機能が説明される。
図22は、入力装置100の例示的な機能的ブロック図である。機能的ブロック図は、第3実施形態に関連して説明された技術的概念に基づいて、設計並びに簡素化されている。入力装置100が、図22を参照して説明される。尚、図4と図22との間で共通して用いられる符号は、当該共通の符号が付された要素が、第3実施形態と同一の機能を有することを意味する。したがって、第3実施形態の説明は、これらの要素に援用される。
第3実施形態と同様に、入力装置100は、動作検出部210と、コマンド決定ブロック312と、スピード取得ブロック313と、動作コマンド実行部411と、を備える。入力装置100は、フィードバック決定ブロック314Dと、フィードバック動作実行部421Dと、を更に備える。
第3実施形態と同様に、フィードバック決定ブロック314Dは、一時格納部331を含む。フィードバック決定ブロック314Dは、要求コマンド生成部315Dと、出力制御部316Dと、を更に含む。
第3実施形態と同様に、要求コマンド生成部315Dは、スピードデータと、動作コマンドと、を受け取る。スピードデータが閾値よりも低いスピードを示すならば、要求コマンド生成部315Dは、動作コマンドだけでなくフィードバック要求コマンドをも出力制御部316Dへ出力する。他の場合には、要求コマンド生成部315Dは、動作コマンドのみを出力制御部316Dへ出力する。第3実施形態とは異なり、要求コマンド生成部315Dは、確認結果を受け取らない。
出力制御部316Dが、動作コマンド及びフィードバック要求コマンドの両方を受け取るならば、出力制御部316Dは、動作コマンドを一時格納部331に出力し、且つ、フィードバック要求コマンドをフィードバック動作実行部421Dへ出力する。出力制御部316Dが動作コマンドのみを受け取るならば、出力制御部316Dは、動作コマンドを、動作コマンド実行部411へ出力する。第3実施形態とは異なり、出力制御部316Dは、遅延機能を有する。
フィードバック動作実行部421Dが、フィードバック要求コマンドを受け取ると、フィードバック動作実行部421Dは、受け取ったフィードバック要求コマンドによって定義されるフィードバック動作を実行する。第3実施形態とは異なり、フィードバック動作実行部421Dは、フィードバック動作の後、確認結果を出力しない。
図23は、図22を参照して説明された出力制御部316Dの処理の概略的なフローチャートである。出力制御部316Dの処理が、図22及び図23を参照して説明される。尚、図23のフローチャートは、例示的なものにすぎない。したがって、出力制御部316Dは、図23に示される工程に加えて、様々な副次的な処理を実行してもよい。
(ステップS410)
ステップS410において、出力制御部316Dは、要求コマンド生成部315Dから動作コマンドを受け取る。その後、ステップS420が実行される。
ステップS410において、出力制御部316Dは、要求コマンド生成部315Dから動作コマンドを受け取る。その後、ステップS420が実行される。
(ステップS420)
ステップS420において、出力制御部316Dは、要求コマンド生成部315Dからフィードバック要求コマンドを出力制御部316Dが受け取っているか否かを判断する。出力制御部316Dが、フィードバック要求コマンドを受け取っているならば、ステップS430が実行される。他の場合には、ステップS470が実行される。
ステップS420において、出力制御部316Dは、要求コマンド生成部315Dからフィードバック要求コマンドを出力制御部316Dが受け取っているか否かを判断する。出力制御部316Dが、フィードバック要求コマンドを受け取っているならば、ステップS430が実行される。他の場合には、ステップS470が実行される。
(ステップS430)
ステップS430において、出力制御部316Dは、計時を開始する。その後、ステップS440が実行される。
ステップS430において、出力制御部316Dは、計時を開始する。その後、ステップS440が実行される。
(ステップS440)
ステップS440において、出力制御部316Dは、動作コマンドを一時格納部331へ出力し、且つ、フィードバック要求コマンドをフィードバック動作実行部421Dへ出力する。ステップS450は、その後、実行される。
ステップS440において、出力制御部316Dは、動作コマンドを一時格納部331へ出力し、且つ、フィードバック要求コマンドをフィードバック動作実行部421Dへ出力する。ステップS450は、その後、実行される。
(ステップS450)
ステップS450において、出力制御部316Dは、ステップS430から計測された時間の時間長さが閾値を超えるまで、時間長さと閾値とを比較する。操作者が、フィードバック動作実行部421Dのフィードバック動作を確認し、動作要求のキャンセルや他の行為といった必要な動作を実行することができるように、時間長さに対する閾値は設定される。時間長さが閾値を超えた後、ステップS460が実行される。
ステップS450において、出力制御部316Dは、ステップS430から計測された時間の時間長さが閾値を超えるまで、時間長さと閾値とを比較する。操作者が、フィードバック動作実行部421Dのフィードバック動作を確認し、動作要求のキャンセルや他の行為といった必要な動作を実行することができるように、時間長さに対する閾値は設定される。時間長さが閾値を超えた後、ステップS460が実行される。
(ステップS460)
ステップS460において、出力制御部316Dは、一時格納部331から動作コマンドを読み取る。ステップS470がその後実行される。
ステップS460において、出力制御部316Dは、一時格納部331から動作コマンドを読み取る。ステップS470がその後実行される。
(ステップS470)
ステップS470において、出力制御部316Dは、動作コマンドを動作コマンド実行部411へ出力する。
ステップS470において、出力制御部316Dは、動作コマンドを動作コマンド実行部411へ出力する。
<第8実施形態>
第1実施形態乃至第7実施形態に関連して説明された様々な技術は、操作者の動作要求の下で動作するように設計された様々な装置に組み込まれてもよい。第8実施形態に関連して、このような装置として、加熱調理器が説明される。
第1実施形態乃至第7実施形態に関連して説明された様々な技術は、操作者の動作要求の下で動作するように設計された様々な装置に組み込まれてもよい。第8実施形態に関連して、このような装置として、加熱調理器が説明される。
図24Aは、加熱調理器600の概略的な斜視図である。図24Bは、加熱調理器600を用いて、タマゴを加熱する操作者を示す。加熱調理器600が、図1、図24A及び図24Bを参照して説明される。
加熱調理器600は、直方体状の筐体610を備える。直方体状の筐体610は、前壁611と天壁612とを含む。左加熱領域621及び右加熱領域622が、天壁612上に形成される。操作者は、左加熱領域621を用いて、タマゴを加熱している。操作者は、左手を用いて、フライパンを保持している。操作者は、右手を用いて、様々なジェスチャを作ることができる。
図1を参照して説明されたセンサ200は、天壁612に搭載されている。センサ200は、図1を参照して説明された処理ユニット300に接続されている。処理ユニット300は、筐体610内に収容されている。操作者は、センサ200の前で様々な手のジェスチャを作ることができる。
加熱調理器600は、左発光部631と右発光部632とを更に備える。左発光部631及び右発光部632は、天壁612上に据え付けられている。左発光部631は、図1を参照して説明された動作装置400のうちの1つに対応する。右発光部632は、図1を参照して説明された動作装置400のうち他のもう1つに対応する。
左発光部631は、左加熱領域621が加熱されているときに発光してもよい。右発光部632は、右加熱領域622が加熱されているときに発光してもよい。左発光部631及び右発光部632は、処理ユニット300の制御下で、操作者によって作られたジェスチャに応じて、発光パターンを変更してもよい。操作者は、発光パターンを視認し、動作要求が、加熱調理器600に適切に入力されたか否かを確認することができる。
加熱調理器600は、前壁611上に配置された左インディケータ641と右インディケータ642とを更に備える。左インディケータ641は、左加熱領域621の加熱レベルを指し示す。右インディケータ642は、右加熱領域622の加熱レベルを指し示す。左インディケータ641及び右インディケータ642それぞれは、光が発光される複数の表示窓を含む。図24A及び図24Bにおいて、黒の表示窓は、光を出射している。白の表示窓は、発光していない。黒の表示窓の数は、加熱レベルを表す。
左加熱領域621及び右加熱領域622がそれぞれ実際に加熱される前において、左インディケータ641及び右インディケータ642は、処理ユニット300の制御下で、操作者が作り出す手のジェスチャに応じて、光を発する表示窓の数を変更してもよい。この場合、操作者は、左インディケータ641及び右インディケータ642を視認し、手のジェスチャによる調整量を確認することができる。左インディケータ641は、図1を参照して説明された動作装置400のうち1つに対応する。右インディケータ642は、図1を参照して説明された動作装置400のうち他のもう1つに対応する。
加熱調理器600は、処理ユニット300の制御下で動作するスピーカ650を更に備える。操作者が、加熱レベルを増大させるための手のジェスチャを作り出すならば、「加熱レベルの増大」との音声が、スピーカ650から流れてもよい。操作者が、加熱レベルを低減させるための手のジェスチャを作り出すならば、「加熱レベルの低減」との音声が、スピーカ650から流れてもよい。操作者は、スピーカ650からの音声を聴いて、動作要求が、加熱調理器600に適切に入力されたか否かを確認してもよい。スピーカ650は、図1を参照して説明された動作装置400のうち1つに対応する。
加熱調理器600は、前壁611上に、左増大ボタン661、左低減ボタン662、右増大ボタン663及び右低減ボタン664を更に備える。操作者は、左増大ボタン661を押圧し、左加熱領域621の加熱レベルを増大させてもよい。操作者は、左低減ボタン662を押圧し、左加熱領域621の加熱レベルを低減させてもよい。操作者は、右増大ボタン663を押圧し、右加熱領域622の加熱レベルを増大させてもよい。操作者は、右低減ボタン664を押圧し、右加熱領域622の加熱レベルを低減させてもよい。
図25Aは、加熱レベルを増大させるための例示的なジェスチャパターンを示す。図25Bは、加熱レベルを低減させるための例示的なジェスチャパターンを示す。加熱レベルを調整するためのジェスチャパターンが、図24A乃至図25Bを参照して説明される。
操作者は、まず、3次元座標系を定義するための手のジェスチャを作ってもよい。センサ200に向けて真っ直ぐに伸びる人差し指は、x軸を定義する。左方に向けて真っ直ぐに伸びる中指は、y軸を規定する。上に向けて真っ直ぐに伸びる親指は、z軸を定義する。処理ユニット300は、操作者の右手によって定義された3次元座標系を認識する。処理ユニット300が、左方に伸びるy軸及び/又は上方に伸びるz軸を認識するならば、処理ユニット300は、センサ200からの画像データ内で描かれる手のジェスチャを介しジェスチャとして処理する。
操作者が手首を約90°だけ時計回りにひねるならば、操作者の右手によって定義された3次元座標系は、x軸周りに約90°だけ時計回りに回転する。操作者が手首を約90°だけ反時計回りにひねるならば、操作者の右手によって定義された3次元座標系は、x軸周りに約90°だけ反時計回りに回転する。処理ユニット300は、3次元座標系の回転運動を認識する。
処理ユニット300は、センサ200から出力された画像データから3次元座標系の回転方向を見極める。認識された3次元座標系が時計回りに回転するならば、処理ユニット300は、加熱レベルを増大するための制御を開始してもよい。認識された3次元座標系が反時計回りに回転するならば、処理ユニット300は、加熱レベルを低減するための制御を開始してもよい。
処理ユニット300は、3次元座標系がどのくらい回転したかを見極める。3次元座標系が小さな角度で回転するならば、処理ユニット300は、加熱レベルをわずかに変化させる。3次元座標系が大きな角度で回転するならば、処理ユニット300は、加熱レベルを大幅に変化させる。
加熱レベルの変化量は、現状の加熱レベル(操作者が開始ジェスチャを作り出したとき)と最大又は最小の加熱レベルとの間の差異に依存してもよい。図25A及び図25Bに示される如く、操作者が開始ジェスチャを作ったとき、左インディケータ641は、6つの表示窓のうち3つから光を出射している。使用者が時計回りに手首を約90°だけひねるならば、処理ユニット300は、加熱レベルを最大レベルまで増大させる。この場合、左インディケータ641は、全ての表示窓から光を出射する。使用者が反時計回りに手首を約90°だけひねるならば、処理ユニット300は、加熱レベルを最小レベルまで低減させる、或いは、左加熱領域621用のヒータをオフにする。この場合、光を出射する表示窓は存在しなくなる。使用者が時計回りに手首を約60°だけひねるならば、左インディケータ641が6つの表示窓のうち5つから光を発するように、処理ユニット300は、加熱レベルを増大させる。使用者が反時計回りに手首を約60°だけひねるならば、左インディケータ641が6つの表示窓のうち1つから光を発するように、処理ユニット300は、加熱レベルを低減させる。使用者が時計回りに手首を約30°だけひねるならば、左インディケータ641が6つの表示窓のうち4つから光を発するように、処理ユニット300は、加熱レベルを増大させる。使用者が反時計回りに手首を約30°だけひねるならば、左インディケータ641が6つの表示窓のうち2つから光を発するように、処理ユニット300は、加熱レベルを低減させる。
加熱レベルに対する適切な調整の後、操作者は、手を閉じ、ジェスチャパターンを完了してもよい。操作者が手を閉じるならば、処理ユニット300は、センサ200が出力する画像データから3次元座標系を認識しない。3次元座標系が認識されなくなったとき、処理ユニット300は、操作者の入力動作が終了したと判断し、その後、左加熱領域621に対する加熱処理といった次の処理を開始する。
<第9実施形態>
第4実施形態において、フィードバック動作の間に決定された動作コマンドがキャンセルされると、全体のプロセスは終了する。入力装置100を動作するために、操作者は、入力プロセスの始めから、要求される正しい動作のためのジェスチャを再度入力する必要がある。したがって、要求される操作或いは作業は、円滑に行われないこともある。当該課題を解消するために、第9実施形態は、最初に決定された動作コマンドがキャンセルされた後、代替的な動作コマンドを生成する。代替的な動作コマンドは、キャンセルされた動作コマンドに関連してもよい。
第4実施形態において、フィードバック動作の間に決定された動作コマンドがキャンセルされると、全体のプロセスは終了する。入力装置100を動作するために、操作者は、入力プロセスの始めから、要求される正しい動作のためのジェスチャを再度入力する必要がある。したがって、要求される操作或いは作業は、円滑に行われないこともある。当該課題を解消するために、第9実施形態は、最初に決定された動作コマンドがキャンセルされた後、代替的な動作コマンドを生成する。代替的な動作コマンドは、キャンセルされた動作コマンドに関連してもよい。
図26は、入力装置100の他の例示的な機能的ブロック図である。機能的ブロック図は、第1実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置100の機能が、図26を参照して、第9実施形態に関連して説明される。図10と図26との間で共通して用いられる符号は、当該共通の符号が付された要素が第4実施形態と同一の機能を有していることを意味する。したがって、第4実施形態の説明は、これらの要素に援用される。
第4実施形態と同様に、入力装置100は、動作検出部210と、ジェスチャ認識ブロック311と、出力制御部316と、一時格納部331と、動作コマンド実行部411と、フィードバック動作実行部421Aと、フィードバックインターフェース422と、を含む。入力装置100は、コマンド決定ブロック312Eと、スピード取得ブロック313Eと、要求コマンド生成部315Eと、を更に含む。
第4実施形態と同様に、コマンド決定ブロック312Eは、ジェスチャ認識ブロック311から受け取ったベクトルデータによる特定の動作コマンドを決定する。一方、要求コマンド生成部315Eから代替的なコマンド要求があると、コマンド決定ブロック312Eは、代替的な動作コマンドを決定する。代替的な動作コマンドは、最初に決定された動作コマンドとの関係性に基づいて決定されてもよい。
第4実施形態と同様に、スピード取得ブロック313Eは、ベクトルデータからスピードデータを生成する。一方、コマンド決定ブロック312Eから送られた動作コマンドが、代替的な動作コマンドであるとき、スピード取得ブロック313Eは、スピードデータを生成しない。スピード取得ブロック313Eは、要求コマンド生成部314Eへの代替的な動作コマンドの通過を許容するのみである。
第4実施形態と同様に、要求コマンド生成部315Eは、スピードデータと動作コマンドとに基づいて、フィードバック動作が必要であるか否かを決定する。一方、最初に決定された動作コマンドがキャンセルされると、要求コマンド生成部315Eは、コマンド決定ブロック312Eへの代替的なコマンド要求を生成する。加えて、要求コマンド生成部315Eに入力された動作コマンドが、代替的な動作コマンドであるとき、代替的な動作コマンドは、予測されたコマンドであり、且つ、実行前に操作者によって確認される必要があるので、要求コマンド生成部315Eは、フィードバック動作を実行する。
図27は、入力装置100の処理の概略的なフローチャートである。フローチャートは、図26を参照して説明された構造に基づいて設計されている。入力装置100の処理が、図26及び図27を参照して説明される。図27のフローチャートは例示的なものにすぎない。したがって、入力装置100は、図27に示される処理工程に加えて、様々な副次的な処理を実行してもよい。
(ステップS110)
ステップS110において、動作検出部210は、操作者の身体部位の移動を検出する。動作検出部210は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部210からジェスチャ認識ブロック311に出力される。その後、ステップS120が実行される。
ステップS110において、動作検出部210は、操作者の身体部位の移動を検出する。動作検出部210は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部210からジェスチャ認識ブロック311に出力される。その後、ステップS120が実行される。
(ステップS120)
ステップS120において、ジェスチャ認識ブロック311は、データの一部を身体部位のデータとして認識し、認識されたデータ部分からベクトルデータを生成する。ベクトルデータは、ジェスチャ認識ブロック311からコマンド決定ブロック312E及びスピード取得ブロック313Eへ送られる。その後、ステップS130が実行される。
ステップS120において、ジェスチャ認識ブロック311は、データの一部を身体部位のデータとして認識し、認識されたデータ部分からベクトルデータを生成する。ベクトルデータは、ジェスチャ認識ブロック311からコマンド決定ブロック312E及びスピード取得ブロック313Eへ送られる。その後、ステップS130が実行される。
(ステップS130)
ステップS130において、コマンド決定ブロック312Eは、ベクトルデータに基づいて、動作コマンドを決定する。コマンド決定ブロック312Eによって生成された動作コマンドは、その後、スピード取得ブロック313Eへ出力される。この後、ステップS140が実行される。
ステップS130において、コマンド決定ブロック312Eは、ベクトルデータに基づいて、動作コマンドを決定する。コマンド決定ブロック312Eによって生成された動作コマンドは、その後、スピード取得ブロック313Eへ出力される。この後、ステップS140が実行される。
(ステップS140)
ステップS140において、スピード取得ブロック313Eは、ベクトルデータから身体部位のスピードを表すスピードデータを生成する。スピード取得ブロック313Eは、スピードデータ及び動作コマンドを要求コマンド生成部315Eへ出力する。その後、ステップS150が実行される。
ステップS140において、スピード取得ブロック313Eは、ベクトルデータから身体部位のスピードを表すスピードデータを生成する。スピード取得ブロック313Eは、スピードデータ及び動作コマンドを要求コマンド生成部315Eへ出力する。その後、ステップS150が実行される。
(ステップS150)
ステップS150において、要求コマンド生成部315Eは、動作コマンドを参照し、動作コマンドが定義する動作がフィードバック動作を要するか否かを判断する。当該動作が、フィードバック動作を要するならば、ステップS160が実行される。他の場合には、ステップS190が実行される。
ステップS150において、要求コマンド生成部315Eは、動作コマンドを参照し、動作コマンドが定義する動作がフィードバック動作を要するか否かを判断する。当該動作が、フィードバック動作を要するならば、ステップS160が実行される。他の場合には、ステップS190が実行される。
(ステップS160)
ステップS160において、要求コマンド生成部315Eは、スピードデータによって表されるスピードを閾値と比較する。当該スピードが閾値よりも低いならば、要求コマンド生成部315Eは、フィードバック動作が必要であると判断する。要求コマンド生成部315Eは、その後、フィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部315Eからフィードバック動作実行部421Aへ、出力制御部316を通じて出力される。動作コマンドは、要求コマンド生成部315Eから一時格納部331へ、出力制御部316を通じて出力される。その後、ステップS170が実行される。スピードが閾値よりも低くないならば、要求コマンド生成部315Eは、フィードバック動作は必要とされていないと判断する。要求コマンド生成部315Eは、動作コマンドを動作コマンド実行部411へ、出力制御部316を通じて出力する。その後、ステップS190が実行される。
ステップS160において、要求コマンド生成部315Eは、スピードデータによって表されるスピードを閾値と比較する。当該スピードが閾値よりも低いならば、要求コマンド生成部315Eは、フィードバック動作が必要であると判断する。要求コマンド生成部315Eは、その後、フィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部315Eからフィードバック動作実行部421Aへ、出力制御部316を通じて出力される。動作コマンドは、要求コマンド生成部315Eから一時格納部331へ、出力制御部316を通じて出力される。その後、ステップS170が実行される。スピードが閾値よりも低くないならば、要求コマンド生成部315Eは、フィードバック動作は必要とされていないと判断する。要求コマンド生成部315Eは、動作コマンドを動作コマンド実行部411へ、出力制御部316を通じて出力する。その後、ステップS190が実行される。
(ステップS170)
ステップS170において、フィードバック動作実行部421Aは、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置100が操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップS180Aが実行される。
ステップS170において、フィードバック動作実行部421Aは、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置100が操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップS180Aが実行される。
(ステップS180A)
ステップS180Aにおいて、要求コマンド生成部315Eは、操作者からのフィードバック入力を待つ。操作者がフィードバックインターフェース422を操作し、更なる処理を要求するならば、ステップS190が実行される。操作者が、フィードバックインターフェース422を操作し、処理をキャンセルするならば、ステップS191が実行される。
ステップS180Aにおいて、要求コマンド生成部315Eは、操作者からのフィードバック入力を待つ。操作者がフィードバックインターフェース422を操作し、更なる処理を要求するならば、ステップS190が実行される。操作者が、フィードバックインターフェース422を操作し、処理をキャンセルするならば、ステップS191が実行される。
(ステップS190)
ステップS190において、動作コマンド実行部411は、動作コマンドに応じて、所定の動作を実行する。
ステップS190において、動作コマンド実行部411は、動作コマンドに応じて、所定の動作を実行する。
(ステップS191)
ステップS191において、要求コマンド生成部315Eは、代替的なコマンド要求を生成し、コマンド決定ブロック312Eへ要求を出力する。その後、コマンド決定ブロック312Eは、最初に決定され、且つ、操作者によってキャンセルされた動作コマンドに基づいて、代替的な動作コマンドを決定する。代替的な動作コマンドは、その後、スピード取得ブロック313Eへ出力される。スピード取得ブロック313Eは、要求コマンド生成部315Eへ代替的な動作コマンドを通過させる。代替的な動作コマンドを受け取った後、要求コマンド生成部315Eは、代替的な動作コマンド用のフィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部315Eからフィードバック動作実行部421Aへ、出力制御部316を通じて出力される。代替的な動作コマンドは、要求コマンド生成部315Eから一時格納部331へ、出力制御部316を通じて出力される。その後、ステップS192が実行される。
ステップS191において、要求コマンド生成部315Eは、代替的なコマンド要求を生成し、コマンド決定ブロック312Eへ要求を出力する。その後、コマンド決定ブロック312Eは、最初に決定され、且つ、操作者によってキャンセルされた動作コマンドに基づいて、代替的な動作コマンドを決定する。代替的な動作コマンドは、その後、スピード取得ブロック313Eへ出力される。スピード取得ブロック313Eは、要求コマンド生成部315Eへ代替的な動作コマンドを通過させる。代替的な動作コマンドを受け取った後、要求コマンド生成部315Eは、代替的な動作コマンド用のフィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部315Eからフィードバック動作実行部421Aへ、出力制御部316を通じて出力される。代替的な動作コマンドは、要求コマンド生成部315Eから一時格納部331へ、出力制御部316を通じて出力される。その後、ステップS192が実行される。
(ステップS192)
ステップS192において、フィードバック動作実行部421Aは、代替的な動作コマンド用のフィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置100が、代替的な動作コマンドを適切に予測したか否かを確認することができる。その後、ステップS193が実行される。
ステップS192において、フィードバック動作実行部421Aは、代替的な動作コマンド用のフィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置100が、代替的な動作コマンドを適切に予測したか否かを確認することができる。その後、ステップS193が実行される。
(ステップS193)
ステップS193において、要求コマンド生成部315Eは、操作者からのフィードバック入力を待つ。操作者がフィードバックインターフェース422を操作し、更なる処理を要求するならば、ステップS194が実行される。操作者が、フィードバックインターフェース422を操作し、処理をキャンセルするならば、入力装置100は処理を止める。
ステップS193において、要求コマンド生成部315Eは、操作者からのフィードバック入力を待つ。操作者がフィードバックインターフェース422を操作し、更なる処理を要求するならば、ステップS194が実行される。操作者が、フィードバックインターフェース422を操作し、処理をキャンセルするならば、入力装置100は処理を止める。
(ステップS194)
ステップS194において、動作コマンド実行部411は、代替的な動作コマンドに応じて、所定の動作を実行する。
ステップS194において、動作コマンド実行部411は、代替的な動作コマンドに応じて、所定の動作を実行する。
第9実施形態の例示的な使用は、IH加熱調理器の使用によって説明されてもよい。IH加熱調理器は、空中でのジェスチャによって、操作者から命令を受けることができる。操作者が、IH加熱調理器の加熱レベルの低減を欲し、且つ、操作者が、間違ったジェスチャを作り、加熱レベルを増大させる動作コマンドが入力されることがある。この場合、操作者は、加熱レベルを増大させる動作コマンドをキャンセルする。キャンセルの後、IH加熱調理器の処理ユニットは、加熱レベルの増大用のキャンセルされた動作コマンドに関連する代替的な動作コマンドを予測する。代替的な動作コマンドを予測するアルゴリズムが、キャンセルされた動作コマンドとは反対のコマンドを選択するように設計されているならば、IH加熱調理器の処理ユニットは、加熱レベルを低減する代替的な動作コマンドを予測することができる。操作者は、実行に際して、代替的な動作コマンドを確認してもよい。この結果、操作者は、最初からジェスチャを再度入力し始める必要はない。したがって、加熱処理は、円滑に継続される。
代替的な動作コマンドの予測において、様々なアルゴリズム(反対のコマンド(増大/低減)を選択するアルゴリズム、最も近いジェスチャを有するコマンドを選択するアルゴリズム及び現状のシステム状態において最も利用されるコマンドを選択するアルゴリズム)が利用可能である。
<第10実施形態>
第9実施形態において、最初に決定された動作コマンドがキャンセルされると、最初に決定された動作コマンドとの関係性に応じて、スピードデータを用いることなしに、代替的な動作コマンドが予測される。しかしながら、予測は、スピードデータからの情報を含むことによって改善されてもよい。
第9実施形態において、最初に決定された動作コマンドがキャンセルされると、最初に決定された動作コマンドとの関係性に応じて、スピードデータを用いることなしに、代替的な動作コマンドが予測される。しかしながら、予測は、スピードデータからの情報を含むことによって改善されてもよい。
図28は、入力装置100の他の例示的な機能的ブロック図である。機能的ブロック図は、第1実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置100の機能が、図28を参照して、第10実施形態に関連して説明される。図26と図28との間で共通して用いられる符号は、当該共通の符号が付された要素が第9実施形態と同一の機能を有していることを意味する。したがって、第9実施形態の説明は、これらの要素に援用される。
第9実施形態と同様に、入力装置100は、動作検出部210と、ジェスチャ認識ブロック311と、フィードバック決定ブロック314Eと、動作コマンド実行部411と、フィードバック動作実行部421Aと、フィードバックインターフェース422と、を含む。入力装置100は、コマンド決定ブロック312Fと、スピード取得ブロック313Fと、を更に含む。
第9実施形態と同様に、コマンド決定ブロック312Fは、ジェスチャ認識ブロック311から受け取ったベクトルデータによる特定の動作コマンドを決定する。また、コマンド決定ブロック312Fは、要求コマンド生成部315Eから代替的なコマンド要求があるとき、代替的な動作コマンドを決定する。一方、代替的なコマンド要求が、コマンド決定ブロック312Fに入力されたとき、コマンド決定ブロック312Fは、スピード取得ブロック313Fからスピードデータを受け取ってもよい。代替的な動作コマンドは、最初に決定された動作コマンド、ベクトルデータ及びスピードデータによって決定されてもよい。
第9実施形態と同様に、スピード取得ブロック313Fは、ベクトルデータからスピードデータを生成する。一方、コマンド決定ブロック312Fが、代替的な動作コマンドを予測すると、スピード取得ブロック313Fは、スピードデータを、コマンド決定ブロック312Fへ出力してもよい。
上述の構成は、代替的な動作コマンドの予測を改善するための様々な装置に組み込まれてもよい。第10実施形態において、IH加熱調理器が、上述の構成を利用した例示的な装置として説明される。以下の説明は、図24A、図25、図29及び図30を参照する。
図24Aは、加熱調理器600の概略的な斜視図である。尚、加熱調理器600の詳細は、第8実施形態の説明中で説明されている。
図29は、加熱調理器600の加熱領域を起動するための例示的なジェスチャパターンを示す。
加熱調理器600の操作者は、加熱調理器600内の加熱領域621,622の両方を起動させることを期待して、図29に示されるジェスチャパターンをゆっくりと作成する。当該パターンは、「開始」、「起動」、「加熱領域の選択」及び「終了」の4つのステップに分けられる。しかしながら、作成されたジェスチャパターンが、左加熱領域621のみを作動させるためのコマンドに合致している。したがって、操作者は、最初に決定された動作コマンドをキャンセルする。図28の構成によれば、加熱調理器600内の処理ユニットは、スピードデータを利用して、代替的な動作コマンドを予測する。代替的な動作コマンドの予測に置いて、ジェスチャパターンの欠くステップのスピードデータが利用される。図29に示されるスピードデータによれば、ジェスチャパターンの第3ステップがゆっくりと実行されていることが分かる。したがって、第3ステップが、間違ったジェスチャである可能性が高いことが予測される。処理ユニットは、その後、代替的なパターンを検討する。第3ステップが間違っていると仮定されているので、代替的なパターンは、実行されたジェスチャパターンと第1ステップ、第2ステップ及び第4ステップにおいて共通するパターンであると考えられてもよい。
上述の例示的な使用形態によれば、実行されたジェスチャパターン内の各ステップのスピードデータを利用することは、選択された代替的な動作コマンドが操作者の期待に合致する可能性を増大させる。
尚、可能性のある代替的なジェスチャパターン及びコマンドの他の選択方法は、上述の例示的な使用形態に限定されない。例えば、「起動/停止」や「レベルの調整」といった異なる動作態様の様々な可能なジェスチャパターンが存在するとき、最初に決定されたコマンドは、可能性のあるジェスチャパターンを精度よく選択するために用いられてもよい。
第9実施形態及び第10実施形態に関連して説明された技術は、前回決定されたコマンドが、フィードバックプロセスの間に操作者によってキャンセルされると、前回決定されたコマンドに関連する代替的な動作コマンドを提供することができる。
第9実施形態及び第10実施形態に関連して説明された入力装置は、操作者がジェスチャをゆっくりと作ったときに、実行前に動作コマンドを操作者に確認するためのフィードバックを提供する。入力装置は、次の手順に進む前に、操作者からの実行確認又は動作コマンドのキャンセルを待つ。
したがって、ゆっくりとした動作で作り出されたジェスチャによる動作コマンドは、実行前に確認される。この結果、第9実施形態及び第10実施形態に関連して説明された技術を利用するシステムは、空中でのジェスチャによる動作の実行において高い安定性を有することができる。
第9実施形態及び第10実施形態に関連して説明された入力装置は、最初に決定された動作コマンドが、コマンド確認プロセス中に操作者によってキャンセルされた後に、代替的な動作を提供する。代替的な動作コマンドは、最初に決定された動作コマンドに関連する又は近いコマンドの組から選択されてもよい。例えば、ジェスチャ動作に不慣れな操作者は、空中でのジェスチャをゆっくりと行う。したがって、入力装置は、確認フィードバックが要求されていると判断する。フィードバックプロセスの間、操作者は、最初に決定された動作コマンドが間違っているので、当該動作コマンドをキャンセルする。例えば、操作者は、音量を低減することを望む一方で、最初に決定された動作コマンドは、ラジオの音量を大きくするためのものであることもある。この場合、入力装置は、音量増大コマンドに関連するコマンドの組から代替的なコマンドを予測する。その後、入力装置は、操作者に代替的な動作コマンドを与える。予測アルゴリズムが、最初に決定された動作コマンドとは反対の動作コマンドを見つけるように設計されているならば、ラジオの音量を低減するための動作コマンドが、代替的な動作コマンドとして選択される。
第9実施形態及び第10実施形態に関連して説明された技術によれば、操作者が、誤ったジェスチャを作成したとき、操作者は、最初から再度正しいジェスチャを入力しなくともよい。したがって、動作は、円滑に実行される。
上述の様々な実施形態の原理は、タッチパッドやタッチスクリーンといった接触検知型装置上でのジェスチャ認識に適用されてもよい。したがって、上述の様々な実施形態の原理は、様々な入力装置に適用可能である。
上述の様々な実施形態に関連して説明された例示的な動作要求の入力に関する技術は、以下の特徴を主に備える。
上述の様々な実施形態の一局面に係る入力装置は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成するセンサと、前記移動データから動作コマンドを生成する動作コマンド生成部と、前記移動のスピードを表すスピードデータを前記移動データから生成するスピードデータ生成部と、前記操作者が前記動作コマンドを確認することを可能にするためのフィードバック動作が必要であるか否かを前記スピードデータに基づいて決定するフィードバック決定ブロックと、を含む処理部と、前記フィードバック決定ブロックが、前記フィードバック動作が必要であることを決定するならば前記フィードバック動作を実行するフィードバック動作装置を含む動作部と、を備える。
上記構成によれば、フィードバック決定ブロックは、スピードデータに基づいて、フィードバック動作が必要であるか否かを判定する。スピードデータは、操作者の身体部位の移動スピードを表すので、フィードバック決定ブロックの決定は、操作者の身体部位の移動スピードに依存することになる。したがって、操作者は、身体部位のスピードを変更し、フィードバック動作装置がフィードバック動作を実行するか否かを選択することができる。
上記構成において、前記センサは、前記移動データとして、前記移動の画像データを生成してもよい。前記処理部は、前記画像データからジェスチャデータを認識並びに抽出する認識部を含んでもよい。前記ジェスチャデータは前記動作コマンド及び前記スピードデータの生成に利用されてもよい。
上記構成によれば、ジェスチャデータは、動作コマンド及びスピードデータの生成に利用されるので、操作者は、身体部位を移動し、ジェスチャを作ることによって、入力装置に指示を与えることができる。この間、操作者は、身体部位のスピードを変更し、フィードバック動作装置がフィードバック動作を実行するか否かを選択することができる。
上記構成において、前記動作部は、前記動作コマンドに応じて、所定の動作を実行するコマンド実行装置を含んでもよい。前記フィードバック動作装置は、前記操作者に、前記動作コマンドによって定義づけられた前記所定の動作に関する動作情報を与えるための通知動作を実行してもよい。
上記構成によれば、コマンド実行装置が所定の動作を実行するように身体部位を移動させてもよい。この間、操作者は、身体部位のスピードを変更することによって、フィードバック動作装置がフィードバック動作を実行するか否かを選択することができる。
上記構成において、前記フィードバック決定ブロックは、前記スピードデータを閾値と比較することによって、前記フィードバック動作が必要であるか否かを決定してもよい。前記スピードデータが前記閾値よりも低いスピードを表すならば、前記動作部は、前記フィードバック動作を実行してもよい。前記スピードデータが前記閾値よりも低いスピードを表さないならば、前記動作部は、前記フィードバック動作を実行することなく前記動作コマンドに応じて所定の動作を実行してもよい。
上記構成によれば、操作者が、閾値よりも低い速度で身体部位を移動させるならば、動作部は、フィードバック動作を実行する。他の場合には、動作部は、フィードバック動作を実行することなしに、動作コマンドに応じて、所定の動作を実行する。したがって、入力装置は、フィードバック動作を選択的に実行することができる。
上記構成において、前記フィードバック決定ブロックは、前記フィードバック動作に関するフィードバック候補データを格納するフィードバック候補格納部を含んでもよい。前記フィードバック候補データは、前記動作コマンドに関連づけられてもよい。
上記構成によれば、フィードバック候補格納部に格納されたフィードバック候補データは、動作コマンドに関連づけられるので、入力装置は、フィードバック候補データと動作コマンドとの間の関係に基づいて、多様に及び/又は正確に制御される。
上記構成において、前記動作コマンドが、第1動作を定義するならば、前記フィードバック決定ブロックは、第1フィードバック動作を前記フィードバック候補データから選択してもよい。前記動作コマンドが、前記第1動作とは異なる第2動作を定義するならば、前記フィードバック決定ブロックは、前記第1フィードバック動作とは異なる第2フィードバック動作を前記フィードバック候補データから選択してもよい。
上記構成によれば、フィードバック動作装置は、動作コマンドに応じて、第1フィードバック動作又は第2フィードバック動作を選択的に実行することができる。
上記構成において、前記動作コマンドが前記フィードバック候補データに関連づけられないならば、前記動作部は、前記フィードバック動作を実行することなく、前記動作コマンドに応じて所定の動作を実行してもよい。
上記構成によれば、動作コマンドがフィードバック候補データに関連づけられないならば、動作部は、フィードバック動作を実行することなく、所定の動作を実行するので、操作者は、フィードバック動作装置のフィードバック動作を待つことなく、動作部に所定の動作を実行させることができる。
上記構成において、前記識別子は、前記フィードバック動作が必要であるか否かを表してもよい。前記識別子が、フィードバック動作が必要であることを表すならば、前記動作部は、前記フィードバック動作を実行してもよい。前記識別子が、フィードバック動作が不要であることを表すならば、前記動作部は、前記フィードバック動作を実行することなく、前記動作コマンドに応じて、所定の動作を実行してもよい。
上記構成によれば、スピードデータに加えて、識別子は、フィードバック動作が必要であるか否かを決定するために利用されるので、入力装置は正確に制御される。
上記構成において、前記識別子が、フィードバック動作が必要であることを表すならば、前記動作コマンドは、前記フィードバック決定ブロックに送られてもよい。前記フィードバック決定ブロックは、前記動作コマンドの受信に応じて、前記スピードデータに基づいて、前記フィードバック動作が必要であるか否かを決定してもよい。
上記構成によれば、スピードデータに加えて、識別子は、フィードバック動作が必要であるか否かを決定するために利用されるので、入力装置は正確に制御される。
上記構成において、前記識別子が、前記フィードバック動作が不要であることを表すならば、前記動作コマンドは、前記フィードバック決定ブロックを通過することなく、前記動作部へ送られてもよい。
上記構成によれば、識別子が、フィードバック動作が不要であることを表すならば、動作コマンドは、フィードバック決定ブロックを通過することなく、動作部へ送られるので、動作部は、動作コマンドに対する不必要な処理なしで、所定の動作を実行することができる。
上記構成において、前記動作コマンド生成部は、前記識別子が、前記フィードバック動作が必要であることを表すか、前記識別子が、前記フィードバック動作が不要であることを表すかを、前記移動データに基づいて決定してもよい。
上記構成によれば、識別子が、フィードバック動作が必要であることを表すか、識別子が、フィードバック動作が不要であることを表すかは、身体部位の移動に依存するので、入力装置は、フィードバック動作を選択的に実行することができる。
上記構成において、前記識別子は、変更可能であってもよい。
上記構成によれば、識別子は、変更可能であるので、入力装置は、使用環境に応じて、適切に調整される。
上記構成において、前記操作者の手が3次元座標系を定義するならば、前記認識部は、前記手を表すデータを前記ジェスチャデータとして抽出してもよい。
上記構成によれば、動作コマンド生成部は、手によって定義された3次元座標系を用いて、動作コマンドを生成してもよい。スピードデータ生成部も、手によって定義された3次元座標系を用いて、スピードデータを生成してもよい。3次元座標系は、動作コマンド及びスピードデータの生成に共有されるので、身体部位の移動は、動作コマンド及びスピードデータに適切に反映されることになる。
上記構成において、前記3次元座標系は、前記手の真っ直ぐな指によって定義される第1軸と、前記手の他のもう1つの真っ直ぐな指によって定義される第2軸と、残りの指のうち真っ直ぐに伸ばされた少なくとも1つの指によって定義された第3軸と、を含んでもよい。前記第1軸と前記第2軸との間の角度、前記第2軸と前記第3軸との間の角度及び前記第3軸と前記第1軸との間の角度は、70°から120°の範囲にあってもよい。
上記構成によれば、第1軸と第2軸との間の角度、第2軸と第3軸との間の角度及び第3軸と第1軸との間の角度は、70°から120°の範囲であるので、操作者が3次元座標系を意図的に手で形成しないならば、認識部は、ジェスチャデータを認識することはほとんどない。したがって、入力装置は、動作コマンド及び/又はスピードデータを誤って生成することはほとんどない。
上記構成において、前記フィードバック動作装置は、前記操作者に、前記動作コマンドによって定義づけられた前記所定の動作に関する動作情報を与えるための通知動作を実行してもよい。
上記構成によれば、操作者は、通知動作を実行するフィードバック動作装置から動作情報を受け取ると入力装置に情報が正しく入力されたか否かを知ることができる。
上記構成において、前記コマンド実行装置は、前記フィードバック動作装置が前記動作情報を与えてから所定の遅延期間後に、前記所定の動作を実行してもよい。
上記構成によれば、フィードバック動作装置が動作情報を与えた後の遅延期間が存在するので、コマンド実行装置が所定の動作を開始する前に、遅延期間の間に入力デバイスに入力された要求を取り消すことができる。
上記構成において、前記センサは、前記身体部位の接触に応じて、前記移動データを生成する接触検知型装置を含んでもよい。前記処理部は、前記移動データからジェスチャデータを認識並びに抽出する認識部を含んでもよい。前記ジェスチャデータは前記動作コマンド及び前記スピードデータの生成に利用されてもよい。
上記構成によれば、使用者は、様々な接触検知型装置を利用して、動作要求を入力することができる。
上記構成において、前記動作部は、前記操作者からの前記フィードバック動作の確認結果を受け取るフィードバックインターフェース装置を含んでもよい。前記確認結果は、前記動作コマンドの実行又は前記動作コマンドのキャンセルの確認を表してもよい。
上記構成において、使用者は、動作要求を精度よく入力することができる。
上記構成において、前記確認結果が、前記動作コマンドの実行を指示するならば、前記動作部は、前記動作コマンドに応じて、所定の動作を実行してもよい。
上記構成によれば、動作部は、使用者の動作要求に応じて適切に動作することができる。
上記構成において、前記確認結果が、前記動作コマンドのキャンセルを指示するならば、前記動作部は、前記センサから新たな移動データを受けることなしに、代替的な動作コマンドを生成してもよい。
上記構成によれば、動作部は、センサから新たな移動データを受けることなしに、代替的な動作コマンドを生成するので、使用者は、動作要求を円滑に入力することができる。
上記構成において、前記フィードバック決定部は、前記代替的な動作コマンドに応じたフィードバック動作が必要であることを判定してもよい。前記動作部は、前記代替的な動作コマンドに応じて、前記フィードバック動作を実行してもよい。
上記構成によれば、動作部は、代替的な動作コマンドに応じて、フィードバック動作を実行するので、使用者は、代替的な動作コマンドが適切か否かを判断することができる。
上記構成において、前記スピードデータは、前記動作コマンド生成部によって、前記代替的な動作コマンドを生成するために用いられもよい。
上記構成によれば、スピードデータは、動作コマンド生成部によって、代替的な動作コマンドを生成するために用いられるので、動作部は、代替的な動作コマンドを精度よく生成することができる。
上記構成において、前記動作コマンド生成部は、前記動作コマンドのキャンセルの後、1回に限り、前記代替的な動作コマンドを生成してもよい。
上記構成によれば、動作コマンド生成部は、動作コマンドのキャンセルの後、1回に限り、代替的な動作コマンドを生成するので、使用者は、動作要求を円滑に入力することができる。
上記構成において、前記動作コマンド生成部は、前記動作コマンドのキャンセル及び前回の代替的な動作コマンドのキャンセルそれぞれの後、2回に限り、前記代替的な動作コマンドを生成してもよい。
上記構成によれば、動作コマンド生成部は、動作コマンドのキャンセル及び前回の代替的な動作コマンドのキャンセルそれぞれの後、2回に限り、代替的な動作コマンドを生成するので、使用者は、動作要求を円滑に入力することができる。
上述の様々な実施形態の他の局面に係る方法は、動作要求を入力するために利用される。当該方法は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成する段階と、前記移動データから、所定の動作を定義する動作コマンドと、前記移動のスピードを表すスピードデータと、を生成する段階と、前記スピードデータに基づいて、前記操作者が前記動作コマンドを確認することを可能にするフィードバック動作が必要であるか否かを決定する段階と、前記フィードバック動作が必要とされるならば、前記フィードバック動作を実行する段階と、を備える。
上記構成によれば、フィードバック動作が必要であるか否かは、スピードデータに基づいて決定される。スピードデータは、操作者の身体部位の移動スピードを表すので、当該決定は、操作者の身体部位の移動スピードに依存することになる。したがって、操作者は、身体部位のスピードを変更し、フィードバック動作装置がフィードバック動作を実行するか否かを選択することができる。
上記構成において、方法は、前記動作コマンドに応じて、前記所定の動作を実行する段階を更に備えてもよい。
上記構成によれば、所定の動作が得られるように、操作者は、身体部位を移動させてもよい。この間、操作者は、身体部位のスピードを変更することによって、フィードバック動作が実行されるか否かを選択することができる。
上述の様々な実施形態の原理は、操作者からの動作要求に応じて動作するように設計された様々な装置に利用されてもよい。
Claims (22)
- 操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成するセンサと、
前記移動データから動作コマンドを生成する動作コマンド生成部と、前記移動のスピードを表すスピードデータを前記移動データから生成するスピードデータ生成部と、前記操作者が前記動作コマンドを確認することを可能にするためのフィードバック動作が必要であるか否かを前記スピードデータに基づいて決定するフィードバック決定部と、を含む処理部と、
前記フィードバック決定部が、前記フィードバック動作が必要であることを決定するならば前記フィードバック動作を実行するフィードバック動作装置を含む動作部と、を備えることを特徴とする入力装置。 - 前記センサは、前記移動データとして、前記移動の画像データを生成し、
前記処理部は、前記画像データからジェスチャデータを認識並びに抽出する認識部を含み、
前記ジェスチャデータは前記動作コマンド及び前記スピードデータの生成に利用されることを特徴とする請求項1に記載の入力装置。 - 前記センサは、前記身体部位の接触に応じて、前記移動データを生成する接触検知型装置を含み、
前記処理部は、前記移動データからジェスチャデータを認識並びに抽出する認識部を含み、
前記ジェスチャデータは前記動作コマンド及び前記スピードデータの生成に利用されることを特徴とする請求項1に記載の入力装置。 - 前記動作部は、前記動作コマンドに応じて、所定の動作を実行するコマンド実行装置を含み、
前記フィードバック動作装置は、前記操作者に、前記動作コマンドによって定義づけられた前記所定の動作に関する動作情報を与えるための通知動作を実行することを特徴とすることを特徴とする請求項1乃至3のいずれか1項に記載の入力装置。 - 前記フィードバック決定部は、前記スピードデータを閾値と比較することによって、前記フィードバック動作が必要であるか否かを決定し、
前記スピードデータが前記閾値よりも低いスピードを表すならば、前記動作部は、前記フィードバック動作を実行し、
前記スピードデータが前記閾値よりも低いスピードを表さないならば、前記動作部は、前記フィードバック動作を実行することなく前記動作コマンドに応じて所定の動作を実行することを特徴とする請求項1乃至3のいずれか1項に記載の入力装置。 - 前記フィードバック決定部は、前記フィードバック動作に関するフィードバック候補データを格納するフィードバック候補格納部を含み、
前記フィードバック候補データは、前記動作コマンドに関連づけられることを特徴とする請求項1乃至3のいずれか1項に記載の入力装置。 - 前記動作コマンドが、第1動作を定義するならば、前記フィードバック決定部は、第1フィードバック動作を前記フィードバック候補データから選択し、
前記動作コマンドが、前記第1動作とは異なる第2動作を定義するならば、前記フィードバック決定部は、前記第1フィードバック動作とは異なる第2フィードバック動作を前記フィードバック候補データから選択することを特徴とする請求項6に記載の入力装置。 - 前記動作コマンドが前記フィードバック候補データに関連づけられないならば、前記動作部は、前記フィードバック動作を実行することなく、前記動作コマンドに応じて所定の動作を実行することを特徴とする請求項6又は7に記載の入力装置。
- 前記動作コマンドは、前記フィードバック動作が必要であるか否かを表す識別子を含み、
前記識別子が、前記フィードバック動作が必要であることを表すならば、前記動作部は、前記フィードバック動作を実行し、
前記識別子が、前記フィードバック動作が不要であることを表すならば、前記動作部は、前記フィードバック動作を実行することなく、前記動作コマンドに応じて、所定の動作を実行することを特徴とする請求項1乃至3のいずれか1項に記載の入力装置。 - 前記識別子が、前記フィードバック動作が必要であることを表すならば、前記動作コマンドは、前記フィードバック決定部に送られ、
前記フィードバック決定部は、前記動作コマンドの受信に応じて、前記スピードデータに基づいて、前記フィードバック動作が必要であるか否かを決定することを特徴とする請求項9に記載の入力装置。 - 前記識別子が、前記フィードバック動作が不要であることを表すならば、前記動作コマンドは、前記フィードバック決定部を通過することなく、前記動作部へ送られることを特徴とする請求項9に記載の入力装置。
- 前記動作コマンド生成部は、前記識別子が、前記フィードバック動作が必要であることを表すか、前記識別子が、前記フィードバック動作が不要であることを表すかを、前記移動データに基づいて決定することを特徴とする請求項9に記載の入力装置。
- 前記識別子は、変更可能であることを特徴とする請求項9乃至12のいずれか1項に記載の入力装置。
- 前記操作者の手が3次元座標系を定義するならば、前記認識部は、前記手を表すデータを前記ジェスチャデータとして抽出することを特徴とする請求項2に記載の入力装置。
- 前記動作部は、前記操作者からの前記フィードバック動作の確認結果を受け取るフィードバックインターフェース装置を含み、
前記確認結果は、前記動作コマンドの実行又は前記動作コマンドのキャンセルの確認を表すことを特徴とする請求項1乃至4のいずれか1項に記載の入力装置。 - 前記確認結果が、前記動作コマンドの実行を指示するならば、前記動作部は、前記動作コマンドに応じて、所定の動作を実行することを特徴とする請求項15に記載の入力装置。
- 前記確認結果が、前記動作コマンドのキャンセルを指示するならば、前記動作部は、前記センサから新たな移動データを受けることなしに、代替的な動作コマンドを生成することを特徴とする請求項15に記載の入力装置。
- 前記フィードバック決定部は、前記代替的な動作コマンドに応じたフィードバック動作が必要であることを判定し、
前記動作部は、前記代替的な動作コマンドに応じて、前記フィードバック動作を実行することを特徴とする請求項17に記載の入力装置。 - 前記スピードデータは、前記動作コマンド生成部によって、前記代替的な動作コマンドを生成するために用いられることを特徴とする請求項17に記載の入力装置。
- 前記動作コマンド生成部は、前記動作コマンドのキャンセルの後、1回に限り、前記代替的な動作コマンドを生成することを特徴とする請求項17に記載の入力装置。
- 前記動作コマンド生成部は、前記動作コマンドのキャンセル及び前回の代替的な動作コマンドのキャンセルそれぞれの後、2回に限り、前記代替的な動作コマンドを生成することを特徴とする請求項17に記載の入力装置。
- 動作要求を入力するための方法であって、
操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成する段階と、
前記移動データから、所定の動作を定義する動作コマンドと、前記移動のスピードを表すスピードデータと、を生成する段階と、
前記スピードデータに基づいて、前記操作者が前記動作コマンドを確認することを可能にするフィードバック動作が必要であるか否かを決定する段階と、
前記フィードバック動作が必要とされるならば、前記フィードバック動作を実行する段階と、を備えることを特徴とする方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013127384 | 2013-06-18 | ||
JP2013127384 | 2013-06-18 | ||
PCT/JP2014/002766 WO2014203459A1 (ja) | 2013-06-18 | 2014-05-26 | 入力装置及び動作要求を入力する方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014203459A1 JPWO2014203459A1 (ja) | 2017-02-23 |
JP6215933B2 true JP6215933B2 (ja) | 2017-10-18 |
Family
ID=52104212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015522504A Expired - Fee Related JP6215933B2 (ja) | 2013-06-18 | 2014-05-26 | 入力装置及び動作要求を入力する方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160077597A1 (ja) |
JP (1) | JP6215933B2 (ja) |
CN (1) | CN105264465B (ja) |
WO (1) | WO2014203459A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168402A1 (en) | 2007-01-07 | 2008-07-10 | Christopher Blumenberg | Application Programming Interfaces for Gesture Operations |
US20080168478A1 (en) | 2007-01-07 | 2008-07-10 | Andrew Platzer | Application Programming Interfaces for Scrolling |
US8645827B2 (en) | 2008-03-04 | 2014-02-04 | Apple Inc. | Touch event model |
US8566045B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US9684521B2 (en) * | 2010-01-26 | 2017-06-20 | Apple Inc. | Systems having discrete and continuous gesture recognizers |
US9733716B2 (en) | 2013-06-09 | 2017-08-15 | Apple Inc. | Proxy gesture recognizer |
CN105786375A (zh) | 2014-12-25 | 2016-07-20 | 阿里巴巴集团控股有限公司 | 在移动终端操作表单的方法及装置 |
JP6727921B2 (ja) * | 2016-05-18 | 2020-07-22 | ソニーモバイルコミュニケーションズ株式会社 | 情報処理装置、情報処理システム、情報処理方法 |
CN107077219A (zh) * | 2017-01-22 | 2017-08-18 | 深圳华盛昌机械实业有限公司 | 一种基于运动手势识别的测量仪控制方法及测量仪 |
JP6956333B2 (ja) * | 2017-02-10 | 2021-11-02 | パナソニックIpマネジメント株式会社 | 車両用入力装置 |
US12130965B2 (en) * | 2022-07-07 | 2024-10-29 | Plume Design, Inc. | Ring enabling its wearer to enter control commands |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL137478A (en) * | 1998-01-26 | 2005-11-20 | Westerman Wayne | Method and apparatus for integrating manual input |
JP2001216069A (ja) * | 2000-02-01 | 2001-08-10 | Toshiba Corp | 操作入力装置および方向検出方法 |
JP2002311936A (ja) * | 2001-04-18 | 2002-10-25 | Toshiba Tec Corp | 電子機器 |
JP2007102426A (ja) * | 2005-10-03 | 2007-04-19 | Sharp Corp | 電子機器の操作案内装置および電子機器の操作案内方法 |
US7338075B2 (en) * | 2006-07-14 | 2008-03-04 | Honda Motor Co., Ltd. | Knee bolster |
US8564544B2 (en) * | 2006-09-06 | 2013-10-22 | Apple Inc. | Touch screen device, method, and graphical user interface for customizing display of content category icons |
JP5207513B2 (ja) * | 2007-08-02 | 2013-06-12 | 公立大学法人首都大学東京 | 制御機器操作ジェスチャ認識装置、制御機器操作ジェスチャ認識システムおよび制御機器操作ジェスチャ認識プログラム |
JP2011081469A (ja) * | 2009-10-05 | 2011-04-21 | Hitachi Consumer Electronics Co Ltd | 入力装置 |
JP2012088851A (ja) * | 2010-10-18 | 2012-05-10 | Fujitsu Ten Ltd | 表示システム及び表示方法 |
FR2969654B1 (fr) * | 2010-12-22 | 2013-02-08 | Rhodia Operations | Composition d'additif carburant a base d'une dispersion de particules de fer et d'un detergent |
JP2012198626A (ja) * | 2011-03-18 | 2012-10-18 | Panasonic Corp | 情報端末、表示画面切り替えのための方法、及びそのプログラム |
US20130006674A1 (en) * | 2011-06-29 | 2013-01-03 | State Farm Insurance | Systems and Methods Using a Mobile Device to Collect Data for Insurance Premiums |
US20130006742A1 (en) * | 2011-06-30 | 2013-01-03 | Signature Systems Llc | Method and system for generating a dynamic purchase incentive |
US8788979B2 (en) * | 2011-09-10 | 2014-07-22 | Microsoft Corporation | Secondary actions on a notification |
US8999769B2 (en) * | 2012-07-18 | 2015-04-07 | Globalfoundries Singapore Pte. Ltd. | Integration of high voltage trench transistor with low voltage CMOS transistor |
US9223761B2 (en) * | 2011-11-04 | 2015-12-29 | Microsoft Technology Licensing, Llc | Real time visual feedback during move, resize and/or rotate actions in an electronic document |
CN102591587A (zh) * | 2012-02-06 | 2012-07-18 | 广西佳微电子科技有限公司 | 一种非接触式投影机翻动系统及方法 |
US9414779B2 (en) * | 2012-09-12 | 2016-08-16 | International Business Machines Corporation | Electronic communication warning and modification |
US9971495B2 (en) * | 2013-01-28 | 2018-05-15 | Nook Digital, Llc | Context based gesture delineation for user interaction in eyes-free mode |
-
2014
- 2014-05-26 WO PCT/JP2014/002766 patent/WO2014203459A1/ja active Application Filing
- 2014-05-26 US US14/891,048 patent/US20160077597A1/en not_active Abandoned
- 2014-05-26 JP JP2015522504A patent/JP6215933B2/ja not_active Expired - Fee Related
- 2014-05-26 CN CN201480029957.7A patent/CN105264465B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2014203459A1 (ja) | 2014-12-24 |
CN105264465A (zh) | 2016-01-20 |
CN105264465B (zh) | 2018-11-09 |
JPWO2014203459A1 (ja) | 2017-02-23 |
US20160077597A1 (en) | 2016-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6215933B2 (ja) | 入力装置及び動作要求を入力する方法 | |
KR102269035B1 (ko) | 서버 및 서버의 그룹 액션 제어방법 | |
US10635184B2 (en) | Information processing device, information processing method, and program | |
JP6392896B2 (ja) | レーダベースのジェスチャ感知およびデータ伝送 | |
JP2019520626A (ja) | 動作−音声の多重モード命令に基づいた最適制御方法およびこれを適用した電子装置 | |
US20140351768A1 (en) | Method for processing input and electronic device thereof | |
JP2012502393A (ja) | 相対的ジェスチャー認識モードを有する携帯用電子デバイス | |
KR102318920B1 (ko) | 전자 장치 및 전자 장치의 제어 방법 | |
KR20160114634A (ko) | 디바이스 상의 롤링 제스처들을 식별하기 위한 기술들 | |
US20210398402A1 (en) | Haptic feedback generation | |
JP2010244480A (ja) | ジェスチャ認識に基づく制御装置及び制御方法 | |
JP2023534589A (ja) | 操作体をガイドして非接触操作を行う方法及び装置 | |
US20200167064A1 (en) | Method, device, and system for providing an interface based on an interaction with a terminal | |
KR20230022898A (ko) | 제스처를 인식하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 | |
JP7306386B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2018073281A (ja) | 入力装置、入力方法及び操作パネル | |
US9851801B1 (en) | Dual touchpad system | |
JP2015132906A (ja) | 入力装置、マルチタッチ操作の入力検出方法及び入力検出プログラム | |
WO2016035621A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
KR101561770B1 (ko) | 전자기기 제어를 위한 반지형 사용자 인터페이스 장치 | |
WO2020092398A2 (en) | Method, device, and system for providing an interface based on an interaction with a terminal | |
CN117616724A (zh) | 用于在物联网(iot)环境中控制远程设备的方法和装置 | |
JP2018041354A (ja) | ポインタ制御システムおよびポインタ制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161212 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6215933 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |