(57)【要約】  本出願は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成するセンサと、前記移動データから動作コマンドを生成する動作コマンド生成部と、前記移動のスピードを表すスピードデータを前記移動データから生成するスピードデータ生成部と、前記操作者が前記動作コマンドを確認することを可能にするためのフィードバック動作が必要であるか否かを前記スピードデータに基づいて決定するフィードバック決定部と、を含む処理部と、前記フィードバック決定部が、前記フィードバック動作が必要であることを決定するならば前記フィードバック動作を実行するフィードバック動作装置を含む動作部と、を備える入力装置を開示する。
2014203459.tif 000002
【特許請求の範囲】
【請求項１】
操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成するセンサと、
前記移動データから動作コマンドを生成する動作コマンド生成部と、前記移動のスピードを表すスピードデータを前記移動データから生成するスピードデータ生成部と、前記操作者が前記動作コマンドを確認することを可能にするためのフィードバック動作が必要であるか否かを前記スピードデータに基づいて決定するフィードバック決定部と、を含む処理部と、
前記フィードバック決定部が、前記フィードバック動作が必要であることを決定するならば前記フィードバック動作を実行するフィードバック動作装置を含む動作部と、を備えることを特徴とする入力装置。
【請求項２】
前記センサは、前記移動データとして、前記移動の画像データを生成し、
前記処理部は、前記画像データからジェスチャデータを認識並びに抽出する認識部を含み、
前記ジェスチャデータは前記動作コマンド及び前記スピードデータの生成に利用されることを特徴とする請求項１に記載の入力装置。
【請求項３】
前記センサは、前記身体部位の接触に応じて、前記移動データを生成する接触検知型装置を含み、
前記処理部は、前記移動データからジェスチャデータを認識並びに抽出する認識部を含み、
前記ジェスチャデータは前記動作コマンド及び前記スピードデータの生成に利用されることを特徴とする請求項１に記載の入力装置。
【請求項４】
前記動作部は、前記動作コマンドに応じて、所定の動作を実行するコマンド実行装置を含み、
前記フィードバック動作装置は、前記操作者に、前記動作コマンドによって定義づけられた前記所定の動作に関する動作情報を与えるための通知動作を実行することを特徴とすることを特徴とする請求項１乃至３のいずれか１項に記載の入力装置。
【請求項５】
前記フィードバック決定部は、前記スピードデータを閾値と比較することによって、前記フィードバック動作が必要であるか否かを決定し、
前記スピードデータが前記閾値よりも低いスピードを表すならば、前記動作部は、前記フィードバック動作を実行し、
前記スピードデータが前記閾値よりも低いスピードを表さないならば、前記動作部は、前記フィードバック動作を実行することなく前記動作コマンドに応じて所定の動作を実行することを特徴とする請求項１乃至３のいずれか１項に記載の入力装置。
【請求項６】
前記フィードバック決定部は、前記フィードバック動作に関するフィードバック候補データを格納するフィードバック候補格納部を含み、
前記フィードバック候補データは、前記動作コマンドに関連づけられることを特徴とする請求項１乃至３のいずれか１項に記載の入力装置。
【請求項７】
前記動作コマンドが、第１動作を定義するならば、前記フィードバック決定部は、第１フィードバック動作を前記フィードバック候補データから選択し、
前記動作コマンドが、前記第１動作とは異なる第２動作を定義するならば、前記フィードバック決定部は、前記第１フィードバック動作とは異なる第２フィードバック動作を前記フィードバック候補データから選択することを特徴とする請求項６に記載の入力装置。
【請求項８】
前記動作コマンドが前記フィードバック候補データに関連づけられないならば、前記動作部は、前記フィードバック動作を実行することなく、前記動作コマンドに応じて所定の動作を実行することを特徴とする請求項６又は７に記載の入力装置。
【請求項９】
前記動作コマンドは、前記フィードバック動作が必要であるか否かを表す識別子を含み、
前記識別子が、前記フィードバック動作が必要であることを表すならば、前記動作部は、前記フィードバック動作を実行し、
前記識別子が、前記フィードバック動作が不要であることを表すならば、前記動作部は、前記フィードバック動作を実行することなく、前記動作コマンドに応じて、所定の動作を実行することを特徴とする請求項１乃至３のいずれか１項に記載の入力装置。
【請求項１０】
前記識別子が、前記フィードバック動作が必要であることを表すならば、前記動作コマンドは、前記フィードバック決定部に送られ、
前記フィードバック決定部は、前記動作コマンドの受信に応じて、前記スピードデータに基づいて、前記フィードバック動作が必要であるか否かを決定することを特徴とする請求項９に記載の入力装置。
【請求項１１】
前記識別子が、前記フィードバック動作が不要であることを表すならば、前記動作コマンドは、前記フィードバック決定部を通過することなく、前記動作部へ送られることを特徴とする請求項９に記載の入力装置。
【請求項１２】
前記動作コマンド生成部は、前記識別子が、前記フィードバック動作が必要であることを表すか、前記識別子が、前記フィードバック動作が不要であることを表すかを、前記移動データに基づいて決定することを特徴とする請求項９に記載の入力装置。
【請求項１３】
前記識別子は、変更可能であることを特徴とする請求項９乃至１２のいずれか１項に記載の入力装置。
【請求項１４】
前記操作者の手が３次元座標系を定義するならば、前記認識部は、前記手を表すデータを前記ジェスチャデータとして抽出することを特徴とする請求項２に記載の入力装置。
【請求項１５】
前記動作部は、前記操作者からの前記フィードバック動作の確認結果を受け取るフィードバックインターフェース装置を含み、
前記確認結果は、前記動作コマンドの実行又は前記動作コマンドのキャンセルの確認を表すことを特徴とする請求項１乃至４のいずれか１項に記載の入力装置。
【請求項１６】
前記確認結果が、前記動作コマンドの実行を指示するならば、前記動作部は、前記動作コマンドに応じて、所定の動作を実行することを特徴とする請求項１５に記載の入力装置。
【請求項１７】
前記確認結果が、前記動作コマンドのキャンセルを指示するならば、前記動作部は、前記センサから新たな移動データを受けることなしに、代替的な動作コマンドを生成することを特徴とする請求項１５に記載の入力装置。
【請求項１８】
前記フィードバック決定部は、前記代替的な動作コマンドに応じたフィードバック動作が必要であることを判定し、
前記動作部は、前記代替的な動作コマンドに応じて、前記フィードバック動作を実行することを特徴とする請求項１７に記載の入力装置。
【請求項１９】
前記スピードデータは、前記動作コマンド生成部によって、前記代替的な動作コマンドを生成するために用いられることを特徴とする請求項１７に記載の入力装置。
【請求項２０】
前記動作コマンド生成部は、前記動作コマンドのキャンセルの後、１回に限り、前記代替的な動作コマンドを生成することを特徴とする請求項１７に記載の入力装置。
【請求項２１】
前記動作コマンド生成部は、前記動作コマンドのキャンセル及び前回の代替的な動作コマンドのキャンセルそれぞれの後、２回に限り、前記代替的な動作コマンドを生成することを特徴とする請求項１７に記載の入力装置。
【請求項２２】
動作要求を入力するための方法であって、
操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成する段階と、
前記移動データから、所定の動作を定義する動作コマンドと、前記移動のスピードを表すスピードデータと、を生成する段階と、
前記スピードデータに基づいて、前記操作者が前記動作コマンドを確認することを可能にするフィードバック動作が必要であるか否かを決定する段階と、
前記フィードバック動作が必要とされるならば、前記フィードバック動作を実行する段階と、を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置及び動作要求を入力するために用いられる方法に関する。
【背景技術】
【０００２】
様々な装置に動作要求を入力するための様々な技術が存在する。装置は、動作要求に応じて動作する。【０００３】
操作者は、入力ノブを接触式に操作し、装置に動作要求を入力することもある。例えば、操作者は、ラジオ装置のノブを回し、音量を調整する。【０００４】
操作者は、リモートコントローラを操作し、装置を無線制御することもある。例えば、操作者は、リモートコントローラを用いて、所望のテレビ番組をテレビ装置に入力する。【０００５】
操作者は、機械的なコンピュータマウス、光学的なコンピュータマウス、ペンやスタイラスといった他のポインタ装置を含むマウス装置を用いて、装置に動作要求を入力することもある。例えば、操作者は、光学的なコンピュータマウスを用いて、コンピュータスクリーン上の「セーブ」のシンボルを選択し、編集された書類をセーブする。【０００６】
操作者は、タッチスクリーン装置に触れ、動作要求を装置に入力することもある。例えば、操作者は、タッチスクリーン装置に表示された矢印に触れ、タッチスクリーンの輝度を調整する。【０００７】
操作者は、物に接触することなしに、動作要求を装置に入力することを望むこともある。例えば、手が汚れているときに、操作者が空中でジェスチャをし、動作要求を入力するならば、操作者にとって非常に便利である。【０００８】
特許文献１は、空中でのジェスチャを用いて、動作要求を入力することを可能にする技術を開示する。【０００９】
特許文献１の技術は、操作者に、選択されたメニュが実行されるか否かを確認することを可能にするフィードバック動作を教示する。しかしながら、フィードバック動作は、常に必要とされるわけではない。例えば、操作者が、装置の操作に慣れるならば、操作者は、フィードバック動作を必要としないこともある。時には、フィードバック動作は、装置への円滑な入力動作の妨げになることもある。【００１０】
特許文献２に開示される技術は、機械的なコンピュータマウス、光学的なコンピュータマウスやペン、スタイラス及びタッチスクリーン装置といった他のポインタ装置を含む様々な種類のマウス装置を通じて、操作者が、ジェスチャにより動作要求を入力することを可能にする。【００１１】
特許文献２の技術は、ジェスチャ動作に熟練していない操作者にジェスチャ動作を適切に完了させるように案内するための技術を教示する。特許文献２において、操作者が、設定された時間内にジェスチャ動作を終了できないならば、案内用のフィードバックが実行される。加えて、特許文献２の技術は、操作者に決定された動作コマンドを知らせるだけのフィードバック動作も教示する。【００１２】
しかしながら、現状において入力されたジェスチャの状態を映し出す表示ディスプレイが存在せず、且つ、操作者が、視認可能なフィードバックなしで、空中でのジェスチャを最初から最後まで実行しなければならない条件下での空中でのジェスチャ動作にとっては、特に、ジェスチャ認識におけるエラーは起きやすい。加えて、ジェスチャの検出するセンサの制限も、ジェスチャ認識におけるエラーを引き起こす。これらの制限として、制限された視野、制限された検出範囲及び検出距離、空気媒体内での検出信号の歪みやノイズが例示される。ジェスチャ認識におけるエラーは、システムの不安定性及び操作者の不便の一因となる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平７−３３４２９９号公報
【特許文献２】米国特許公開第２０１２／０１２４４７２号公報
【発明の概要】
【００１４】
本発明は、操作者に装置の状態を通知するためのフィードバック動作を選択的に実行する技術を提供することを目的とする。
【００１５】
本発明の一局面に係る入力装置は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成するセンサと、前記移動データから動作コマンドを生成する動作コマンド生成部と、前記移動のスピードを表すスピードデータを前記移動データから生成するスピードデータ生成部と、前記操作者が前記動作コマンドを確認することを可能にするためのフィードバック動作が必要であるか否かを前記スピードデータに基づいて決定するフィードバック決定ブロックと、を含む処理部と、前記フィードバック決定ブロックが、前記フィードバック動作が必要であることを決定するならば前記フィードバック動作を実行するフィードバック動作装置を含む動作部と、を備える。
【００１６】
本発明の他の局面に係る方法は、動作要求を入力するために利用される。当該方法は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成する段階と、前記移動データから、所定の動作を定義する動作コマンドと、前記移動のスピードを表すスピードデータと、を生成する段階と、前記スピードデータに基づいて、前記操作者が前記動作コマンドを確認することを可能にするフィードバック動作が必要であるか否かを決定する段階と、前記フィードバック動作が必要とされるならば、前記フィードバック動作を実行する段階と、を備える。
【００１７】
本発明の技術は、操作者に装置の状態を通知するためのフィードバック動作を選択的に生じさせることができる。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態に従う入力装置の概略的なブロック図である。
【図２】図１に示される入力装置の入力装置の例示的なハードウェア構成を示す概略的なブロック図である。
【図３】第２実施形態に従う入力装置の例示的なハードウェア構成を表す概略的なブロック図である。
【図４】第３実施形態に従う入力装置の例示的な機能的ブロック図である。
【図５】図４に示される入力装置の処理を表す概略的なフローチャートである。
【図６】図４に示される入力装置の動作検出部によって生成される例示的な画像データを示す。
【図７Ａ】図６に示されるイメージデータによって表される一連の画像を示す。
【図７Ｂ】図４に示される入力装置のジェスチャ認識ブロックによって認識されるデータを示す。
【図８Ａ】手の他の動きを表す一連の画像を示す。
【図８Ｂ】仮想的なノブを回す手の例示的な動きを表す。
【図９】ジェスチャ認識ブロックによって生成されるベクトルデータの例示的なデータ構造を示す。
【図１０】第４実施形態に従う入力装置の例示的な機能的ブロック図である。
【図１１】第５実施形態に従う入力装置の例示的な機能的ブロック図である。
【図１２】第６実施形態に従う入力装置の例示的な機能的ブロック図である。
【図１３】図１２に示される入力装置の処理を表す概略的なフローチャートである。
【図１４】図１２に示される入力装置の処理を表す他のもう１つの概略的なフローチャートである。
【図１５Ａ】例示的なジェスチャパターンを表す。
【図１５Ｂ】他のもう１つの例示的なジェスチャパターンを表す。
【図１６】パターンデータの生成の概念図である。
【図１７】図１２に示される入力装置の第２格納部に格納されたコマンドグループデータのデータ構造の概念図である。
【図１８】パターンデータに組み込まれる時間データの概念図である。
【図１９】図１２に示される入力装置の第３格納部に格納された候補データのデータ構造の概念図である。
【図２０Ａ】開始ジェスチャを作り出すハンドジェスチャの概略的な斜視図である。
【図２０Ｂ】３次元座標系を表す。
【図２１】開始ジェスチャを作り出す他のハンドジェスチャの概略的な斜視図である。
【図２２】第７実施形態に従う入力装置の例示的な機能的ブロック図である。
【図２３】図２２に示される入力装置の出力制御部の処理の概略的なフローチャートである。
【図２４Ａ】第８実施形態に従う加熱調理器の概略的な斜視図である。
【図２４Ｂ】図２４Ａに示される加熱調理器を利用する操作者を示す。
【図２５Ａ】加熱レベルを増大させるための例示的なジェスチャパターンを示す。
【図２５Ｂ】加熱レベルを低減させるための例示的なジェスチャパターンを示す。
【図２６】第９実施形態に従う入力装置の例示的な機能的ブロック図である。
【図２７】図２６に示される入力装置の処理を表す概略的なフローチャートである。
【図２８】第１０実施形態に従う入力装置の例示的な機能的ブロック図である。
【図２９】異なるスピードにおいて行われた４つのステップを含む例示的なジェスチャパターンを示す図である。
【図３０】実行されたジェスチャパターンと、代替的な動作コマンドの予測において得られた代替的なジェスチャパターンと、を含む例示的なジェスチャパターンを示す図である。
【発明を実施するための形態】
【００１９】
添付の図面を参照して、入力技術に関する様々な実施形態が以下に説明される。入力技術の原理は、以下の説明によって、明確に理解可能である。「上」、「下」、「左」や「右」といった方向を表す用語は、単に、説明の明瞭化を目的とする。したがって、これらの用語は、限定的に解釈されるべきものではない。
【００２０】
＜第１実施形態＞
図１は、例示的な入力装置１００の概略的なブロック図である。図１を参照して、入力装置１００が説明される。
【００２１】
入力装置１００は、センサ２００と、処理ユニット３００と、複数の動作装置４００と、を備える。操作者は、例えば、センサ２００の前で、手でジェスチャを作り出す。センサ２００は、手の動きを検出し、手の動きを表す移動データを生成する。本実施形態において、操作者の手は、身体部位として例示される。代替的に、センサ２００は、操作者の他の身体部位の動作を検出してもよい。
【００２２】
移動データは、センサ２００から処理ユニット３００へ伝達される。移動データは、手の移動を表す画像データであってもよい。代替的に、操作者の身体部位の移動を表す他の種類のデータが、移動データとして利用されてもよい。画像データが移動データとして利用されるならば、センサ２００は、撮像装置や手の移動を撮像することができる他の装置であってもよい。
【００２３】
処理ユニット３００は、動作コマンドを生成するためのコマンド生成機能、手の移動スピードを表すスピードデータを生成するためのデータ生成機能及びフィードバック動作が必要であるか否かを判断するための判断機能といった複数の機能を有する。動作装置４００のうち少なくとも１つは、動作コマンドに応じて所定の動作を実行する。例えば、動作装置４００のうち１つがヒータであり、且つ、処理ユニット３００が加熱レベルの増大を指示する動作コマンドを生成するならば、ヒータは、加熱レベルを増加させる。本実施形態において、図１に示される動作装置４００のグループは、動作部として例示される。動作装置４００のうち少なくとも１つは、コマンド実行装置として例示される。
【００２４】
処理ユニット３００が、フィードバック動作が必要であると判断するならば、動作装置４００のうち少なくとも他のもう１つは、フィードバック動作を実行する。動作装置４００のうち１つが、加熱レベルの増加を操作者に通知するランプであるならば、処理ユニット３００が、加熱レベルの増大を指示する動作コマンドに対して、フィードバック動作が要求されると判断すると、ランプは点滅してもよい。したがって、操作者は、点滅するランプを視認し、入力装置１００が組み込まれた装置の加熱機能がアクティブになるとの動作コマンドの内容を確認することができる。本実施形態において、動作装置４００のうち少なくとも１つは、フィードバック動作装置として例示される。
【００２５】
フィードバック動作が必要とされるか否かは、処理ユニット３００によって生成されるスピードデータに依存してもよい。操作者が、入力装置１００に対する空中でのジェスチャに慣れていないならば、操作者は、手をゆっくり移動させがちである。この場合、操作者は、動作要求が入力装置１００に適切に入力されているか否かを確認することを必要とする或いは欲することが多い。操作者が手で空中においてジェスチャを作り出したときに上述のランプが点滅しないならば、操作者は、空中でのジェスチャが、入力装置１００によって適切に受け取られていないことを知ることができ、その後、操作者は、空中でのジェスチャを再度作り出すことができる。したがって、処理ユニット３００は、操作者が閾値よりも低いスピードで手を移動させるならば、フィードバックが必要であると判断してもよい。操作者が、入力装置１００に対する空中でのジェスチャに非常に慣れているならば、操作者は、フィードバック動作の補助なしに、入力装置１００へ動作要求を適切且つ素早く入力することができる。したがって、処理ユニット３００は、操作者が、手を、閾値を超えるスピードで動かすならば、フィードバック動作は必要とされていないと判断してもよい。本実施形態において、処理ユニット３００は、処理部として例示される。
【００２６】
図２は、入力装置１００の例示的なハードウェア構成を表す概略的なブロック図である。図１及び図２を参照して、入力装置１００が更に説明される。
【００２７】
入力装置１００は、操作者から動作要求を受け取る。動作要求は、処理ユニット３００によって処理され、その後、家庭用の電化製品、オーディオビデオ装置、タブレット端末や携帯通信端末といった動作装置４００のうち少なくとも１つに伝達される。入力装置１００は、当該少なくとも１つの動作装置４００に組み込まれてもよいし、或いは、当該少なくとも１つの動作装置４００とは別個のものであってもよい。図２において、家庭用の電化製品、オーディオビデオ装置、タブレット端末や携帯通信端末等として機能する動作装置４００は、実行装置４１０として示されている。
【００２８】
処理ユニット３００は、ＣＰＵ３１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ３２０（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ３３０（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ３４０（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、バス３５０及びインターフェース３６１，３６２，３６３，３６４，３６５（図２において、「Ｉ／Ｆ」と表記）を備える。ＲＯＭ３２０は、実行装置４１０の動作を定義するコンピュータプログラム及びデータを固定式に保持する。実行装置４１０が、ナビゲーションシステムであるならば、ＨＤＤ３４０内のコンテンツデータは、マップデータであってもよい。実行装置４１０が、音楽プレーヤであるならば、ＨＤＤ３４０内のコンテンツデータは、音楽データであってもよい。代替的に、ＲＡＭ３３０が不揮発性であるならば、様々な用途（例えば、ナビゲーション用途或いは音楽プレーヤの用途）用のコンテンツデータは、ＲＡＭ３３０に格納されてもよい。
【００２９】
ＲＯＭ３２０及び／又はＨＤＤ３４０内に格納されたコンピュータプログラムのうちいくつかは、上述の様々な機能（コマンド生成機能、データ生成機能及び判断機能）を実現してもよい。本実施形態において、コマンド生成機能を実現するコンピュータプログラムは、動作コマンド生成部として例示される。データ生成機能を実現するコンピュータプログラムは、スピードデータ生成部として例示される。判断機能を実現するコンピュータプログラムは、フィードバック決定ブロックとして例示される。
【００３０】
ＣＰＵ３１０、ＲＯＭ３２０及びＲＡＭ３３０は、バス３５０に接続される。ＨＤＤ３４０は、インターフェース３６５を通じてバス３５０に接続される。実行装置４１０は、インターフェース３６２を通じてバス３５０に接続される。ＣＰＵ３１０は、バス３５０を通じて、ＲＯＭ３２０及びＨＤＤ３４０からコンピュータプログラム及びデータを読み込み、動作コマンドを生成する。動作コマンドは、ＣＰＵ３１０から実行装置４１０へバス３５０及びインターフェース３６２を通じて送られる。実行装置４１０は、動作コマンドに応じて様々な動作を実行してもよい。ＲＡＭ３３０は、動作コマンドの生成及びＣＰＵ３１０の他の処理の間、コンピュータプログラム及びデータを一時的に格納してもよい。ＲＯＭ３２０及びＲＡＭ３３０は、フラッシュメモリ、書込可能な不揮発性メモリ或いは読み取り可能な媒体であってもよい。本実施形態において、ＣＰＵ３１０は、単一のＣＰＵである。代替的に、複数のＣＰＵが入力装置１００に利用されてもよい。
【００３１】
センサ２００は、インターフェース３６３を通じて、バス３５０に接続される。センサ２００は、図１を参照して説明された如く、移動データを生成する。移動データは、センサ２００からＲＡＭ３３０へインターフェース３６３及びバス３５０を通じて送られてもよい。コマンド生成機能、データ生成機能及び判断機能用のコンピュータプログラムを実行するＣＰＵ３１０は、ＲＡＭ３３０から移動データを読み取る。ＣＰＵ３１０が、コマンド生成機能用のコンピュータプログラムを実行しているとき、ＣＰＵ３１０は、移動データから動作コマンドを生成する。動作コマンドは、ＣＰＵ３１０から実行装置４１０へ、バス３５０及びインターフェース３６２を通じて出力される。ＣＰＵ３１０が、データ生成機能用のコンピュータプログラムを実行しているとき、ＣＰＵ３１０は、移動データからスピードデータを生成する。ＣＰＵ３１０は、判断機能用のコンピュータプログラムを実行しているとき、スピードデータに基づいて、フィードバック動作が必要であるか否かを判断する。本実施形態において、実行装置４１０は、コマンド実行装置として例示される。
【００３２】
図１に示される動作装置４００のうち１つは、図２の表示装置４２０に対応してもよい。図２に示される如く、表示装置４２０は、インターフェース３６１を通じて、バス３５０に接続される。表示装置４２０は、操作者との意思伝達を行うための情報を表示する。表示装置４２０は、ＬＣＤ（液晶ディスプレイ）や伝達情報を表示する他の装置であってもよい。本実施形態において、表示装置４２０は、フィードバック動作装置として例示される。
【００３３】
ＣＰＵ３１０が、フィードバック動作が必要であると判断するならば、ＣＰＵ３１０は、フィードバック要求コマンドを生成する。フィードバック要求コマンドは、ＣＰＵ３１０から表示装置４２０へ、バス３５０及びインターフェース３６１を通じて出力される。フィードバック要求コマンドを受け取った表示装置４２０は、動作コマンドに応じた実行装置４１０の動作に関する情報を表示してもよい。したがって、操作者は、入力装置１００が、操作者から、動作要求を適切に受け取ったか否かを知ることができる。表示装置４２０がタッチパネルとして形成されるならば、操作者は、タッチパネルを操作し、動作要求をキャンセルしてもよい。本実施形態において、表示装置４２０の表示動作は、通知動作として例示される。
【００３４】
入力装置１００は、編集装置５１０及び携帯型の記録媒体５２０を更に備えてもよい。編集装置５１０は、インターフェース３６４を通じて、バス３５０に接続される。携帯型の記録媒体５２０は、コンテンツデータ及びコンピュータプログラムを格納してもよい。携帯型の記録媒体５２０は、ＳＤ、ＣＤ、ＢＤ、メモリカード又はコンテンツデータ及び／又はコンピュータプログラムを保持することができる他の記憶装置であってもよい。編集装置５１０は、携帯型の記録媒体５２０からコンテンツデータを読み取る。コンテンツデータは、その後、編集装置５１０からＲＡＭ３３０及び／又はＨＤＤ３４０へ出力されてもよい。ＣＰＵ３１０は、様々なデータ処理にコンテンツデータを利用してもよい。必要に応じて、表示装置４２０は、編集メニュとして、コンテンツデータを表示してもよい。操作者は、表示装置４２０上の編集メニュを視認し、コンテンツデータを書き換えてもよい。
【００３５】
コンテンツデータは、判断機能用の判断基準情報を含んでもよい。判断機能用のコンピュータプログラムを実行するＣＰＵ３１０は、判断基準情報を参照し、フィードバック動作が必要であるか否かを判断してもよい。操作者は、携帯型の記録媒体５２０内のコンテンツデータを編集し、判断機能の判断基準を変更してもよい。編集装置５１０は、編集されたコンテンツデータを携帯型の記録媒体５２０へ上書きしてもよい。
【００３６】
＜第２実施形態＞
操作者の身体部位の移動データを取得するセンサは、入力装置と他のシステムとによって共有されてもよい。第２実施形態において、入力装置は、様々な家庭用の電化製品を制御するための住宅制御システムの一部としてのセンサを利用する。
【００３７】
図３は、入力装置１００の他の例示的なハードウェア構成を示す概略的なブロック図である。入力装置１００のハードウェア構成は、図１及び図３を参照して説明される。図２及び図３の間で共通して用いられる符号は、当該共通の符号が付された要素が、第１実施形態と同一の機能を有することを意味する。したがって、第１実施形態の説明は、これらの要素に援用される。
【００３８】
第１実施形態と同様に、入力装置１００は、センサ２００、処理ユニット３００、表示装置４２０、実行装置４１０、編集装置５１０及び携帯型の記録媒体５２０を備える。入力装置１００は、エアコンディショナ、テレビ装置、調理器具といった様々な家庭用電化製品を制御するための制御ネットワーク９００と通信する。センサ２００は、入力装置１００と制御ネットワーク９００とによって共有される。センサ２００によって生成された移動データは、入力装置１００だけでなく制御ネットワーク９００によっても利用されてもよい。センサ２００は、制御ネットワーク９００に接続される。制御ネットワーク９００は、処理ユニット３００のインターフェース３６３に接続される。移動データは、制御ネットワーク９００、インターフェース３６３及びバス３５０を通じて、センサ２００からＲＡＭ３３０へ送られる。
【００３９】
制御ネットワーク９００は、ＣＰＵ３１０にコンピュータプログラムを供給するために用いられてもよい。コンピュータプログラムは、インターフェース３６３及びバス３５０を通じて、制御ネットワーク９００からＲＡＭ３３０及び／又はＨＤＤ３４０に送られてもよい。ＣＰＵ３１０は、ＲＡＭ３３０及び／又はＨＤＤ３４０に格納されたコンピュータプログラムを読み出し、実行してもよい。制御ネットワーク９００から入力装置１００へのデータ伝送は、有線方式であってもよく、或いは、無線方式であってもよい。
【００４０】
＜第３実施形態＞
図４は、入力装置１００の例示的な機能的ブロック図である。機能的ブロック図は、第１実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置１００の機能が、図１、図２及び図４を参照して、第３実施形態に関連して説明される。
【００４１】
入力装置１００は、動作検出部２１０、ジェスチャ認識ブロック３１１、コマンド決定ブロック３１２、スピード取得ブロック３１３、フィードバック決定ブロック３１４、動作コマンド実行部４１１及びフィードバック動作実行部４２１を備える。動作検出部２１０は、操作者の身体部位の移動を検出する。動作検出部２１０は、その後、身体部位の移動を表す画像データを、移動データとして生成する。動作検出部２１０は、第１実施形態に関連して説明されたセンサ２００に対応する。
【００４２】
画像データは、動作検出部２１０からジェスチャ認識ブロック３１１へ出力される。ジェスチャ認識ブロック３１１は、画像データの一部を、身体部位の動作の特徴を表すジェスチャデータとして認識する。ジェスチャ認識ブロック３１１は、既知の画像認識技術を用いてジェスチャデータを認識してもよい。ジェスチャ認識ブロック３１１は、画像データ内の特定の像を認識するように設計されたコンピュータプログラムを実行するＣＰＵ３１０に対応する。本実施形態において、ジェスチャ認識ブロック３１１は、認識部として例示される。
【００４３】
ジェスチャ認識ブロック３１１は、その後、画像データからジェスチャデータを抽出する。ジェスチャデータは、ジェスチャ認識ブロック３１１からコマンド決定ブロック３１２及びスピード取得ブロック３１３へベクトルデータとして出力される。
【００４４】
コマンド決定ブロック３１２は、ベクトルデータから移動パターンを見極める。ベクトルデータが身体部位の真っ直ぐな軌跡を表すならば、コマンド決定ブロック３１２は、真っ直ぐな軌跡に対応する特定の動作コマンド（例えば、加熱レベルの増加を指示する動作コマンド）を決定してもよい。ベクトルデータが身体部位の渦巻き状の軌跡を示すならば、コマンド決定ブロック３１２は、渦巻き状の軌跡に対応する他の特定の動作コマンド（例えば、加熱レベルの低減を指示する動作コマンド）を決定してもよい。コマンド決定ブロック３１２は、第１実施形態に関連して説明されたコマンド生成機能用のコンピュータプログラムを実行するＣＰＵ３１０に対応する。これらの動作コマンドは、コマンド決定ブロック３１２からスピード取得ブロック３１３へ出力される。本実施形態において、コマンド決定ブロック３１２は、動作コマンド生成部として例示される。
【００４５】
スピード取得ブロック３１３が、コマンド決定ブロック３１２から動作コマンドを受け取ると、スピード取得ブロック３１３は、ベクトルデータからスピードデータを生成する。ベクトルデータは、身体部位が移動を開始する開始点から身体部位が移動を止める終了点までの時間長さを表す時間データを含んでもよい。スピード取得ブロック３１３は、ベクトルデータによって表されるベクトルの全体的な長さを測定してもよい。スピード取得ブロック３１３は、時間長さと全体的なベクトル長さからスピードデータを取得してもよい。スピードデータと動作コマンドとの組は、その後、スピード取得ブロック３１３からフィードバック決定ブロック３１４へ出力される。スピード取得ブロック３１３は、第１実施形態に関連して説明されたデータ生成機能用のコンピュータプログラムを実行するＣＰＵ３１０に対応する。本実施形態において、スピード取得ブロック３１３は、スピードデータ生成部として例示される。
【００４６】
フィードバック決定ブロック３１４は、要求コマンド生成部３１５、出力制御部３１６及び一時格納部３３１を備える。スピードデータ及び動作コマンドは、要求コマンド生成部３１５に入力される。要求コマンド生成部３１５は、スピードデータ及び動作コマンドに基づき、フィードバック動作が必要であるか否かを決定する。動作コマンドが、フィードバック動作を必要とする動作を表し、且つ、要求コマンド生成部３１５が、スピードデータと閾値との比較の結果、スピードデータが閾値よりも低いスピードを示すことを見極めるならば、要求コマンド生成部３１５は、フィードバック動作の必要性を示すフィードバック要求コマンドを生成する。要求コマンド生成部３１５は、フィードバックコマンド及び動作コマンドを出力制御部３１６へ出力する。要求コマンド生成部３１５は、その後、出力制御部３１６に、動作コマンドを一時格納部３３１へ送らせ、且つ、フィードバック要求コマンドをフィードバック動作実行部４２１へ送らせる。動作コマンドが、フィードバック動作を要求しない他の動作を示すならば、又は、スピードデータが閾値以上のスピードを示すならば、要求コマンド生成部３１５は、動作コマンドを出力制御部３１６に出力する。その後、要求コマンド生成部３１５は、出力制御部３１６に、動作コマンドを動作コマンド実行部４１１へ出力させる。要求コマンド生成部３１５は、第１実施形態に関連して説明された判断機能用のコンピュータプログラムを実行するＣＰＵ３１０に対応する。一時格納部３３１は、ＲＡＭ３３０及び／又はＨＤＤ３４０に対応する。本実施形態において、フィードバック決定ブロック３１４は、フィードバック決定部として例示される。
【００４７】
フィードバック動作実行部４２１がフィードバック要求コマンドを受け取ると、フィードバック動作実行部４２１は、フィードバック動作を実行する。フィードバック動作実行部４２１は、図１の動作装置４００のうち１つ（例えば、図２の表示装置４２０）に対応する。フィードバック動作実行部４２１は、操作者の入力を受け付けるように設計されてもよい。操作者が、入力装置１００が操作者の動作要求を適切に受け取ったことを確認すると、操作者は、更なる処理を求めて、フィードバック動作実行部４２１を操作してもよい。他の場合には、操作者は、フィードバック動作実行部４２１を操作し、更なる処理を停止或いはキャンセルしてもよい。フィードバック動作実行部４２１は、操作者からの入力に応じて、確認結果を生成する。確認結果は、フィードバック動作実行部４２１から要求コマンド生成部３１５へ出力される。本実施形態において、フィードバック動作実行部４２１は、フィードバック動作装置として例示される。
【００４８】
要求コマンド生成部３１５がフィードバック動作実行部４２１から確認結果を受け取り、且つ、確認結果が更なる処理の要求を示しているならば、要求コマンド生成部３１５は、出力制御部３１６に、動作コマンドを一時格納部３３１から読み取らせる。動作コマンドは、その後、出力制御部３１６から動作コマンド実行部４１１へ出力される。確認結果が、更なる処理の要求を示していないならば、入力装置１００は、データ処理を中断し、動作検出部２１０による身体部位の新たな移動の検出を待つ。
【００４９】
動作コマンドが、フィードバック動作を要求する動作を示し、且つ、スピードデータが閾値よりも低いスピードを示しているならば、動作コマンド実行部４１１は、フィードバック動作の後に動作コマンドによって定義される動作を実行する。動作コマンドが、フィードバック動作を要求しない動作を示しているならば、或いは、スピードデータが閾値よりも低いスピードを示していないならば、動作コマンド実行部４１１は、フィードバック動作を待つことなく、動作コマンドによって定義される動作を実行する。動作コマンド実行部４１１は、図１の動作装置４００のうち１つ（例えば、図２の実行装置４１０）に対応してもよい。本実施形態において、動作コマンド実行部４１１は、コマンド実行装置として例示される。
【００５０】
図５は、入力装置１００の処理の概略的なフローチャートである。フローチャートは、図４を参照して説明された構造に基づいて設計されている。入力装置１００の処理が、図４及び図５を参照して説明される。図５のフローチャートは例示的なものにすぎない。したがって、入力装置１００は、図５に示される処理工程に加えて、様々な副次的な処理を実行してもよい。
【００５１】
（ステップＳ１１０）
ステップＳ１１０において、動作検出部２１０は、操作者の身体部位の移動を検出する。動作検出部２１０は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部２１０からジェスチャ認識ブロック３１１に出力される。その後、ステップＳ１２０が実行される。
【００５２】
（ステップＳ１２０）
ステップＳ１２０において、ジェスチャ認識ブロック３１１は、データの一部を身体部位のデータとして認識し、認識されたデータ部分からベクトルデータを生成する。ベクトルデータは、ジェスチャ認識ブロック３１１からコマンド決定ブロック３１２及びスピード取得ブロック３１３へ送られる。その後、ステップＳ１３０が実行される。
【００５３】
（ステップＳ１３０）
ステップＳ１３０において、コマンド決定ブロック３１２は、ベクトルデータに基づいて、動作コマンドを決定する。コマンド決定ブロック３１２によって生成された動作コマンドは、その後、スピード取得ブロック３１３へ出力される。この後、ステップＳ１４０が実行される。
【００５４】
（ステップＳ１４０）
ステップＳ１４０において、スピード取得ブロック３１３は、ベクトルデータから身体部位のスピードを表すスピードデータを生成する。スピード取得ブロック３１３は、スピードデータ及び動作コマンドを要求コマンド生成部３１５へ出力する。その後、ステップＳ１５０が実行される。
【００５５】
（ステップＳ１５０）
ステップＳ１５０において、要求コマンド生成部３１５は、動作コマンドを参照し、動作コマンドが定義する動作がフィードバック動作を要するか否かを判断する。当該動作が、フィードバック動作を要するならば、ステップＳ１６０が実行される。他の場合には、ステップＳ１９０が実行される。
【００５６】
（ステップＳ１６０）
ステップＳ１６０において、要求コマンド生成部３１５は、スピードデータによって表されるスピードを閾値と比較する。当該スピードが閾値よりも低いならば、要求コマンド生成部３１５は、フィードバック動作が必要であると判断する。要求コマンド生成部３１５は、その後、フィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部３１５からフィードバック動作実行部４２１へ、出力制御部３１６を通じて出力される。動作コマンドは、要求コマンド生成部３１５から一時格納部３３１へ、出力制御部３１６を通じて出力される。その後、ステップＳ１７０が実行される。スピードが閾値よりも低くないならば、要求コマンド生成部３１５は、フィードバック動作は必要とされていないと判断する。要求コマンド生成部３１５は、動作コマンドを動作コマンド実行部４１１へ、出力制御部３１６を通じて出力する。その後、ステップＳ１９０が実行される。
【００５７】
（ステップＳ１７０）
ステップＳ１７０において、フィードバック動作実行部４２１は、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置１００が操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップＳ１８０が実行される。
【００５８】
（ステップＳ１８０）
ステップＳ１８０において、要求コマンド生成部３１５は、操作者からのフィードバック入力を待つ。操作者がフィードバック動作実行部４２１を操作し、更なる処理を要求するならば、ステップＳ１９０が実行される。操作者が、フィードバック動作実行部４２１を操作し、処理をキャンセルするならば、入力装置１００は、処理を停止する。
【００５９】
（ステップＳ１９０）
ステップＳ１９０において、動作コマンド実行部４１１は、動作コマンドに応じて、所定の動作を実行する。
【００６０】
（ジェスチャ認識）
図６は、動作検出部２１０によって生成された例示的な画像データである。ステップＳ１１０のジェスチャ認識が、図４乃至図６を参照して説明される。
【００６１】
図６の画像データは、操作者の手と、背景としての家具と、を示している。ジェスチャ認識ブロック３１１は、動作要求に関する入力情報を与えるためのジェスチャを作る身体部位として、手を認識する。
【００６２】
図７Ａは、図６に示される画像データによって表される一連の画像を表す。図７Ｂは、ジェスチャ認識ブロック３１１によって認識されるデータを示す。ステップＳ１１０におけるジェスチャ認識が、図４乃至図７Ｂを参照して更に説明される。
【００６３】
図７Ａに示される如く、操作者が手を水平に移動させている間、動作検出部２１０は、水平移動を表す画像データを生成する。ジェスチャ認識ブロック３１１は、画像データから手を表すデータ部分を抽出する。したがって、ジェスチャ認識ブロック３１１は、図７Ｂに示される如く、左から右へ移動する手を認識する。
【００６４】
認識されたデータ中の手の状態が、静止状態から移動状態に変わると、ジェスチャ認識ブロック３１１は、状態変化があった手の位置を開始点として認識する。認識されたデータ中の手の状態が、移動状態から新たな静止状態に変化すると、ジェスチャ認識ブロック３１１は、状態変化があった手の位置を終了点として認識する。
【００６５】
ジェスチャ認識ブロック３１１は、開始点から終了点まで水平に延びるベクトルを表すベクトルデータを生成する。ジェスチャ認識ブロック３１１は、手が、開始点から終了点まで移動するのに要した時間に関する時間情報をベクトルデータに組み込んでもよい。
【００６６】
図８Ａは、手の他の移動を表す一連の画像を示す。ステップＳ１１０のジェスチャ認識が、図４、図５及び図８Ａを参照して、更に説明される。
【００６７】
操作者が、渦巻き状の軌跡を描くように手を移動させるならば、ジェスチャ認識ブロック３１１は、図８Ａの点線で描かれた曲線で示される渦巻き状のベクトルを表すベクトルデータを生成する。
【００６８】
図８Ｂは、仮想的なノブを回す操作者の手の例示的な移動を示す。動作コマンド及びスピードデータの生成が、図４、図７Ａ乃至図８Ｂを参照して、例示的に説明される。
【００６９】
ベクトルデータのベクトルによって描かれる形状は、図７Ａ乃至図８Ａを参照して説明された手の移動に依存する。操作者が手を真っすぐに移動させるならば、ベクトルデータは、真っ直ぐなベクトルを表す。操作者が手を旋回させるならば、ベクトルデータは円状の軌跡の長さを表す。操作者が、手を回すならば、ベクトルデータは、角度的な変化を表す。コマンド決定ブロック３１２は、第１動作（例えば、動作コマンド実行部４１１として用いられるヒータをオフにすること）の実行を動作コマンド実行部４１１に指示する第１動作コマンドを生成する。コマンド決定ブロック３１２は、第２動作（例えば、動作コマンド実行部４１１として用いられるヒータの加熱レベルを調整すること）の実行を動作コマンド実行部４１１に指示する第２動作コマンドを生成する。操作者は、図８Ｂに示される如く、仮想的なノブを操作するジェスチャを作ってもよい。
【００７０】
図７Ｂを参照して説明された如く、ジェスチャ認識ブロック３１１は、時間情報をベクトルデータに組み入れてもよい。図７Ｂに示される如く、操作者が、手を水平に移動させるならば、スピード取得ブロック３１３は、開始点から終了点までの距離（即ち、開始点から終了点までのベクトル長さ）を測定する。スピード取得ブロック３１３は、測定された距離と時間情報とを用いて、移動速度（直線速度）を表すスピードデータを生成してもよい。図８Ａに示される如く、操作者が手を旋回させるならば、スピード取得ブロック３１３は、開始点から終了点までの円形軌跡の全長を測定してもよい。スピード取得ブロック３１３は、測定された全長と時間情報とを用いて、スピードデータを生成してもよい。図８Ｂに示される如く、使用者が、手を回すならば、スピード取得ブロック３１３は、開始点から終了点までの角度変化を測定してもよい。スピード取得ブロック３１３は、測定された全角度変化と時間情報とを用いて、角速度を表すスピードデータを生成してもよい。
【００７１】
要求コマンド生成部３１５は、スピードデータを用いて、フィードバック動作が必要であるか否かを判断する。スピードデータが閾値よりも低い直線速度又は角速度を表すならば、フィードバック動作実行部４２１は、フィードバック動作を実行する。他の場合には、動作コマンド実行部４１１は、動作コマンドによって定義された動作を実行する。
【００７２】
スピード取得ブロック３１３は、デカルト座標系、極座標系、円筒座標系、球座標系や他の適切な座標系といった座標系を設定し、スピードデータを生成してもよい。スピード取得ブロック３１３は、コマンド決定ブロック３１２から受け取った動作コマンドに応じて異なる座標系を用いてもよい。
【００７３】
図９は、ジェスチャ認識ブロック３１１によって生成されたベクトルデータの例示的なデータ構造を示す。ベクトルデータのデータ構造が、図４及び図９を参照して説明される。
【００７４】
データ構造は、ヘッダセクション、ジェスチャパターンコードセクション、位置変化セクション、角変化セクション、半径変化セクション、経過時間セクション、ベクトル終了セクション及び他の必要なデータセクションを含んでもよい。ヘッダセクションは、コマンド決定ブロック３１２及びスピード取得ブロック３１３がベクトルデータを読み取るために用いられる情報を含んでもよい。ジェスチャパターンコードセクションは、コマンド決定ブロック３１２及びスピード取得ブロック３１３に、手の移動パターン（例えば、真っ直ぐな移動や角度的な移動等）を識別させるための情報を含んでもよい。位置変化セクションは、開始点及び終了点における手の座標値を含んでもよい。角変化セクションは、操作者が手を回しているときの手の位置の角変化の情報を含んでもよい。半径変化セクションは、手の渦巻き状の軌跡の半径に関する情報を含んでもよい。経過時間セクションは、開始点から終了点までの時間長さに関する情報を含んでもよい。ベクトル終了セクションは、コマンド決定ブロック３１２及びスピード取得ブロック３１３が、ベクトルデータの終了を見極めるために利用される情報を含んでもよい。図９に示される例示的なデータ構造は、手或いは他の身体部位の様々な移動パターンを表してもよい。コマンド決定ブロック３１２は、これらのデータセクションのうち１つ又はいくつかを参照し、動作コマンドを決定並びに生成してもよい。スピード取得ブロック３１３は、これらのデータセクションのうち１つ又はいくつかを参照し、スピードデータを決定並びに生成してもよい。
【００７５】
＜第４実施形態＞
操作者は、フィードバック動作に応じて、入力装置にフィードバック情報を入力してもよい。第３実施形態において、操作者は、フィードバック動作実行部を操作し、フィードバック情報を入力することができる。しかしながら、操作者は、他の装置を操作し、フィードバック情報を与えてもよい。第４実施形態において、入力装置は、操作者が他の装置を用いてフィードバック情報を入力することを可能にする。
【００７６】
図１０は、入力装置１００の他の例示的な機能的ブロック図である。機能的ブロック図は、第１実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置１００の機能が、図１０を参照して、第４実施形態に関連して説明される。図４と図１０との間で共通して用いられる符号は、当該共通の符号が付された要素が第３実施形態と同一の機能を有していることを意味する。したがって、第３実施形態の説明は、これらの要素に援用される。
【００７７】
第３実施形態と同様に、入力装置１００は、動作検出部２１０、ジェスチャ認識ブロック３１１、コマンド決定ブロック３１２、スピード取得ブロック３１３、フィードバック決定ブロック３１４及び動作コマンド実行部４１１を備える。入力装置１００は、フィードバック動作実行部４２１Ａ及びフィードバックインターフェース４２２を更に備える。第３実施形態と同様に、フィードバック動作実行部４２１Ａは、フィードバック決定ブロック３１４からのフィードバック要求コマンドに応じて、フィードバック動作を実行する。一方、フィードバック動作実行部４２１Ａは、第３実施形態とは異なり、確認結果を出力しない。代わりに、操作者がフィードバックインターフェース４２２を操作するならば、フィードバックインターフェース４２２が、確認結果を出力する。確認結果は、フィードバックインターフェース４２２から要求コマンド生成部３１５に出力される。操作者が更なる処理を求めるならば、要求コマンド生成部３１５はその後、出力制御部３１６に一時格納部３３１から動作コマンドを読み取らせる。最終的に、動作コマンド実行部４１１は、出力制御部３１６から出力された動作コマンドに応じて所定の動作を実行する。
【００７８】
例えば、フィードバックインターフェース４２２は、音声認識機能を有し、操作者の声を認識してもよい。フィードバックインターフェース４２２は、フィードバック決定ブロック３１４に更なる処理を実行させる或いはキャンセルさせる確認結果を出力してもよい。
【００７９】
＜第５実施形態＞
操作者は、フィードバック動作に応じて、入力装置にフィードバック情報を入力してもよい。第４実施形態において、操作者は、専用のフィードバックインターフェースを操作し、フィードバック情報を入力することができる。しかしながら、操作者は、動作検出部を操作し、フィードバック情報を与えてもよい。第５実施形態において、入力装置は、使用者が動作検出部を用いてフィードバック情報を入力することを可能にする。
【００８０】
図１１は、入力装置１００の他の例示的な機能的ブロック図である。機能的ブロック図は、第１実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置１００の機能が、第５実施形態に関連して、図１１を参照して説明される。尚、図１０と図１１との間で共通に用いられる符号は、当該共通の符号が付された要素が第４実施形態と同一の機能を有することを意味する。したがって、第４実施形態の説明は、これらの要素に援用される。
【００８１】
第４実施形態と同様に、入力装置１００は、動作検出部２１０、コマンド決定ブロック３１２、スピード取得ブロック３１３、フィードバック決定ブロック３１４、動作コマンド実行部４１１及びフィードバック動作実行部４２１Ａを備える。入力装置１００は、ジェスチャ認識ブロック３１１Ｂを更に備える。ジェスチャ認識ブロック３１１Ｂは、第４実施形態と同一の機能を有し、ベクトルデータを生成する。加えて、ジェスチャ認識ブロック３１１Ｂは、確認結果を生成するためのデータとして、移動データ内の特定のジェスチャを認識する機能を有する。
【００８２】
操作者が確認結果を生じさせるための特定のジェスチャを作るならば、ジェスチャ認識ブロック３１１Ｂは、フィードバック決定ブロック３１４に更なる処理を実行させる又はキャンセルさせることを指示する確認結果を生成する。確認結果は、ベクトルデータとは異なり、ジェスチャ認識ブロック３１１Ｂから要求コマンド生成部３１５へ直接的に出力される。操作者が更なる処理を望むならば、要求コマンド生成部３１５は、その後、出力制御部３１６に動作コマンドを一時格納部３３１から読み取らせる。最終的に、動作コマンド実行部４１１は、出力制御部３１６から出力された動作コマンドに応じて、所定の動作を実行する。
【００８３】
＜第６実施形態＞
第３実施形態によれば、全ての動作コマンドは、フィードバック決定ブロックを通過する。しかしながら、全ての動作コマンドは、フィードバック決定ブロックの処理を受ける必要はない。動作コマンドのうちいくつかは、フィードバック動作実行部のフィードバック動作なしに実行されてもよい。第６実施形態に関連して、動作コマンドを振り分ける技術が説明される。
【００８４】
図１２は、入力装置１００の例示的な機能的ブロック図である。機能的ブロック図は、第１実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置１００の機能は、第６実施形態に関連して、図１、図２及び図１２を参照して説明される。図４及び図１２の間で共通して用いられる符号は、当該共通の符号が付された要素が第３実施形態と同一の機能を有することを意味する。したがって、第３実施形態の説明は、これらの要素に援用される。
【００８５】
第３実施形態と同様に、入力装置１００は、動作検出部２１０、動作コマンド実行部４１１及びフィードバック動作実行部４２１を備える。入力装置１００は、ジェスチャ認識ブロック３１１Ｃ、コマンド決定ブロック３１２Ｃ、スピード取得ブロック３１３Ｃ、フィードバック決定ブロック３１４Ｃ、第１格納部３２１、編集部５１１及び第２格納部５２１を備える。
【００８６】
動作検出部２１０は、第３実施形態と同様に、移動データを生成する。移動データは、ジェスチャ認識ブロック３１１Ｃに出力される。
【００８７】
第１格納部３２１は、様々なジェスチャパターンに関するジェスチャグループデータを格納する。各ジェスチャパターンは、複数のジェスチャの組み合わせであってもよい。ジェスチャ認識ブロック３１１Ｃは、第１格納部３２１からジェスチャグループデータを読み取る。ジェスチャ認識ブロック３１１Ｃは、その後、ジェスチャグループデータを移動データと比較し、移動データによって表されるジェスチャパターンに一致するジェスチャパターンを示すグループデータの部分を見極める。ジェスチャ認識ブロック３１１Ｃは、見極められたデータ部分をパターンデータに変換する。パターンデータは、ジェスチャ認識ブロック３１１Ｃからコマンド決定ブロック３１２Ｃ及びスピード取得ブロック３１３Ｃへ出力される。第１格納部３２１は、図２を参照して説明されたＲＯＭ３２０又はＨＤＤ３４０であってもよい。
【００８８】
第２格納部５２１は、いくつかの動作コマンドに関するコマンドグループデータと、コマンドグループデータの動作コマンドを高優先度又は低優先度に分類する優先度データと、を格納する。コマンドグループデータ内の動作コマンドそれぞれは、ジェスチャグループデータ内のジェスチャパターンそれぞれに関連づけられてもよい。
【００８９】
コマンド決定ブロック３１２Ｃが、ジェスチャ認識ブロック３１１Ｃからパターンデータを受け取ると、コマンド決定ブロック３１２Ｃは、第２格納部５２１からコマンドグループデータを読み取る。コマンド決定ブロック３１２Ｃは、その後、コマンドグループデータをパターンデータと比較し、パターンデータによって定義されたジェスチャパターンに対応する動作コマンドを見極める。尚、見極められた動作コマンドは、上述の如く、優先度データによって、高優先度及び低優先度のうち一方を用いて標識化されている。本実施形態において、見極められた動作コマンドが低優先度の標識化を受けているならば、動作コマンドは、フィードバック動作の要否の決定の後に実行される。他の場合には、動作コマンドは、フィードバック動作なしで実行される。優先度データは、フィードバック動作が必要とされるか否かを表す識別子として例示される。
【００９０】
コマンド決定ブロック３１２Ｃは、見極められた動作コマンドに付された優先度データを参照し、動作コマンドの出力経路を決定してもよい。
【００９１】
本実施形態において、図１２に示される如く、コマンド決定ブロック３１２Ｃからの動作コマンドに対して、２つの経路が用意されている。一方の経路は、コマンド決定ブロック３１２Ｃからスピード取得ブロック３１３Ｃへ延びる。他方の経路は、コマンド決定ブロック３１２Ｃから動作コマンド実行部４１１へ直接的に延びる。低優先度が付された動作コマンドは、コマンド決定ブロック３１２Ｃからスピード取得ブロック３１３Ｃへ出力され、スピード取得ブロック３１３Ｃ及びフィードバック決定ブロック３１４Ｃの様々な処理を受ける。最終的に、低優先度が付された動作コマンドは、動作コマンド実行部４１１によって実行される。高優先度が付された動作コマンドは、スピード取得ブロック３１３Ｃ及びフィードバック決定ブロック３１４Ｃを通過することなしに、コマンド決定ブロック３１２Ｃから動作コマンド実行部４１１へ直接的に出力される。動作コマンド実行部４１１が、高優先度が付された動作コマンドを受け取ると、動作コマンド実行部４１１は、フィードバック動作を待つことなしに、高優先度が付された動作コマンドを実行する。
【００９２】
操作者は、編集部５１１を用いて、優先度データを変更してもよい。操作者が、特定のジェスチャを高い頻度で作るならば、操作者は、フィードバック動作を必要としないこともある。この場合、操作者は、編集部５１１を用いて、「高優先度」のラベルを、当該特定のジェスチャに対応する動作コマンドに付してもよい。代替的に、編集部５１１は、動作コマンドの使用頻度に基づいて、優先度データを自動的に更新してもよい。本実施形態において、第２格納部５２１は、図２を参照して説明された携帯型の記録媒体５２０に対応する。編集部５１１は、図２を参照して説明された編集装置５１０に対応する。
【００９３】
上述の如く、パターンデータは、ジェスチャ認識ブロック３１１Ｃから、コマンド決定ブロック３１２Ｃだけでなく、スピード取得ブロック３１３Ｃにも出力される。パターングループデータによって表されるジェスチャパターンそれぞれは、開始点を定義する開始ジェスチャと、終了点を定義する終了ジェスチャと、を含んでもよい。操作者が、動作要求の入力を開始するとき、操作者は、開始ジェスチャとして特定のジェスチャを作ってもよい。同様に、操作者は、動作要求の入力を終えるとき、終了ジェスチャとして、他のもう１つの特定のジェスチャを作ってもよい。パターンデータは、開始ジェスチャによって定義される開始点から終了ジェスチャによって定義される終了点までの時間長さを表す時間データを含んでもよい。スピード取得ブロック３１３Ｃは、スピードデータとしてパターンデータの時間データを用いてもよい。スピードデータは、スピード取得ブロック３１３Ｃからフィードバック決定ブロック３１４Ｃへ出力される。低優先度が付された動作コマンドも、スピード取得ブロック３１３Ｃからフィードバック決定ブロック３１４Ｃへ出力される。
【００９４】
第３実施形態と同様に、フィードバック決定ブロック３１４Ｃは、出力制御部３１６と一時格納部３３１とを含む。フィードバック決定ブロック３１４Ｃは、要求コマンド生成部３１５Ｃと、第３格納部３２３と、を更に含む。要求コマンド生成部３１５Ｃは、スピードデータ及び低優先度が付された動作コマンドを受け取る。第３格納部３２３は、様々なフィードバック動作を表す候補データを格納する。候補データによって表されるフィードバック動作それぞれは、低優先度が付された動作コマンドそれぞれに関連づけられてもよい。本実施形態において、第３格納部３２３は、フィードバック候補格納部として例示される。
【００９５】
要求コマンド生成部３１５Ｃは、第３格納部３２３から候補データを読み取る。要求コマンド生成部３１５Ｃは、スピード取得ブロック３１３Ｃから受け取った動作コマンドを候補データと比較する。候補データによって表されるフィードバック動作のうち１つが、動作コマンドに対応するならば、要求コマンド生成部３１５Ｃは、スピードデータが閾値よりも低いスピードを表しているか否かを検証する。スピードデータが閾値よりも低いスピードを表しているならば、要求コマンド生成部３１５Ｃは、第３実施形態と同様に、対応するフィードバック動作を表すフィードバック要求コマンドを生成する。フィードバック要求コマンドは、出力制御部３１６を通じて、フィードバック動作実行部４２１へ出力される。フィードバック動作実行部４２１は、フィードバック要求コマンドによって定義されたフィードバック動作を実行する。操作者が、動作要求が入力装置１００に適切に入力されていることを表すフィードバック動作を確認した後、要求コマンド生成部３１５Ｃは、動作コマンドを、出力制御部３１６を通じて、動作コマンド実行部４１１へ出力させる。動作コマンド実行部４１１は、動作コマンドによって定められた動作を実行する。本実施形態において、要求コマンド生成部３１５Ｃは、フィードバック決定部として例示される。
【００９６】
図１３は、入力装置１００の処理の概略的なフローチャートである。フローチャートは、図１２を参照して説明された構造に基づいて設計されている。入力装置１００の処理が、図１２及び図１３を参照して説明される。尚、図１３のフローチャートは例示的なものにすぎない。したがって、入力装置１００は、図１３の工程に加えて、様々な副次的な処理を実行してもよい。
【００９７】
（ステップＳ２１０）
ステップＳ２１０において、動作検出部２１０は、操作者の身体部位の移動を検出する。動作検出部２１０は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部２１０からジェスチャ認識ブロック３１１Ｃへ出力される。その後、ステップＳ２２０が実行される。
【００９８】
（ステップＳ２２０）
ステップＳ２２０において、ジェスチャ認識ブロック３１１Ｃは、第１格納部３２１からジェスチャグループデータを読み取る。ジェスチャ認識ブロック３１１Ｃは、ジェスチャグループデータを画像データと比較し、画像データによって表されるジェスチャに対応するジェスチャパターンを見極める。ジェスチャ認識ブロック３１１Ｃは、対応するジェスチャパターンを表すパターンデータを生成する。パターンデータは、ジェスチャ認識ブロック３１１Ｃから、コマンド決定ブロック３１２Ｃ及びスピード取得ブロック３１３Ｃへ送られる。その後、ステップＳ２３０が実行される。
【００９９】
（ステップＳ２３０）
ステップＳ２３０において、コマンド決定ブロック３１２Ｃは、第２格納部５２１からコマンドグループデータを読み取る。コマンド決定ブロック３１２Ｃは、コマンドグループデータをパターンデータと比較し、パターンデータによって表されるパターンデータに対応する動作コマンドを見極める。コマンド決定ブロック３１２Ｃは、対応する動作コマンドを生成する。その後、ステップＳ２３５が実行される。
【０１００】
（ステップＳ２３５）
ステップＳ２３５において、コマンド決定ブロック３１２Ｃは、動作コマンドに付された優先度データを参照する。優先度データが低優先度を示しているならば、動作コマンドは、コマンド決定ブロック３１２Ｃからスピード取得ブロック３１３Ｃへ出力される。他の場合には、動作コマンドは、コマンド決定ブロック３１２Ｃから動作コマンド実行部４１１へ出力される。動作コマンドが、スピード取得ブロック３１３Ｃに出力されるならば、ステップＳ２４０が実行される。動作コマンドが、動作コマンド実行部４１１へ出力されるならば、ステップＳ２９０が実行される。
【０１０１】
（ステップＳ２４０）
ステップＳ２４０において、スピード取得ブロック３１３Ｃは、パターンデータに含まれる時間データを参照する。時間データは、上述の如く、開始ジェスチャ及び終了ジェスチャによって定義される時間長さを表す。スピード取得ブロック３１３Ｃは、時間データを用いて、スピードデータを生成する。スピードデータは、スピード取得ブロック３１３Ｃから要求コマンド生成部３１５Ｃへ出力される。この間、低優先度が付された動作コマンドもスピード取得ブロック３１３Ｃから要求コマンド生成部３１５Ｃへ出力される。その後、ステップＳ２５０が実行される。
【０１０２】
（ステップＳ２５０）
ステップＳ２５０において、要求コマンド生成部３１５Ｃは、第３格納部３２３から候補データを読み取る。要求コマンド生成部３１５Ｃは、候補データを、低優先度が付された動作コマンドと比較し、動作コマンドに対応するフィードバック動作を見極める。候補データによって表されたフィードバック動作のうち１つが、受け取った動作コマンドに関連づけられているならば、ステップＳ２６０が実行される。候補データによって表されたフィードバック動作のいずれもが、受け取った動作コマンドに関連づけられていないならば、ステップＳ２９０が実行される。
【０１０３】
（ステップＳ２６０）
ステップＳ２６０において、要求コマンド生成部３１５Ｃは、スピードデータによって表されるスピードと閾値とを比較する。スピードが、閾値よりも低いならば、要求コマンド生成部３１５Ｃは、フィードバック動作が必要であると判断する。要求コマンド生成部３１５Ｃは、その後、フィードバック動作実行部４２１にステップＳ２５０において決定されたフィードバック動作の実行を指示するために用いられるフィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部３１５Ｃからフィードバック動作実行部４２１へ、出力制御部３１６を通じて出力される。その後、ステップＳ２７０が実行される。スピードが、閾値よりも低くないならば、要求コマンド生成部３１５Ｃは、フィードバック動作が不要であると判断する。要求コマンド生成部３１５Ｃは、出力制御部３１６を通じて、動作コマンドを動作コマンド実行部４１１へ出力する。その後、ステップＳ２９０が実行される。
【０１０４】
（ステップＳ２７０）
ステップＳ２７０において、フィードバック動作実行部４２１は、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置１００が、操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップＳ２８０が実行される。
【０１０５】
（ステップＳ２８０）
ステップＳ２８０において、要求コマンド生成部３１５Ｃは、操作者からのフィードバック入力を待つ。操作者がフィードバック動作実行部４２１を操作し、更なる処理を要求するならば、ステップＳ２９０が実行される。操作者がフィードバック動作実行部４２１を操作し、処理をキャンセルするならば、入力装置１００は処理を停止する。
【０１０６】
（ステップＳ２９０）
ステップＳ２９０において、動作コマンド実行部４１１は、動作コマンドに応じて、所定の処理を実行する。
【０１０７】
図１４は、入力装置１００の処理の概略的な他のフローチャートである。フローチャートは、図１２を参照して説明された構造に基づいて設計されている。入力装置１００の処理が、図１２乃至図１４を参照して説明される。尚、図１４に示されるフローチャートは、例示的なものにすぎない。したがって、入力装置１００は、図１４に示される工程に加えて、様々な副次的な処理を実行してもよい。
【０１０８】
ステップＳ２１０からステップＳ２４０までの一連の処理は、図１３を参照して説明されたものと同一である。入力装置１００は、ステップＳ２５０に代えて、ステップＳ３５０を実行する。
【０１０９】
（ステップＳ３５０）
ステップＳ３５０において、候補データによって表されるフィードバック動作のうち１つが、動作コマンドに関連づけられているならば、ステップＳ２６０からステップＳ２９０までの一連の処理が、図１３に示されるフローチャートと同様に実行される。候補データによって表されるフィードバック動作のいずれもが、動作コマンドに関連づけられていないならば、要求コマンド生成部３１５Ｃは、操作者に警告情報を与えることをフィードバック動作実行部４２１に指示するフィードバック要求コマンドを生成する。警告情報に関するフィードバック要求コマンドは、出力制御部３１６を通じて、フィードバック動作実行部４２１に出力される。その後、ステップＳ３５５が実行される。
【０１１０】
（ステップＳ３５５）
ステップＳ３５５において、フィードバック動作実行部４２１は、警告情報を与え、入力装置１００は処理を停止する。操作者は、入力装置１００への動作要求の入力を再度実行してもよい。入力装置１００は、その後、ステップＳ２１０を再開する。
【０１１１】
図１５Ａは、例示的なジェスチャパターンを示す。図１５Ｂは、他の例示的なジェスチャパターンを示す。ジェスチャパターンが、図６、図１２、図１５Ａ及び図１５Ｂを参照して説明される。
【０１１２】
操作者は、まず、手で、３次元座標系を定義してもよい。図１５Ａ及び図１５Ｂにおいて、操作者は、人差し指、中指及び親指を互いに異なる方向に伸ばし、３次元座標系を定義している。人差し指は、ｘ軸を定義している。中指は、ｙ軸を定義している。親指は、ｚ軸を定義している。本実施形態において、ｘｙｚ軸のうち１つは、第１軸として例示される。これらの座標軸のうち他のもう１つは、第２軸として例示される。残りの座標軸は、第３軸として例示される。
【０１１３】
図６を参照して説明された画像認識技術と同様に、ジェスチャ認識ブロック３１１Ｃは、操作者の手を表すデータを抽出する。手が３次元座標系を定義しているとき、ジェスチャ認識ブロック３１１Ｃは、３次元座標系を定義している手のジェスチャを開始ジェスチャとして認識する。
【０１１４】
操作者は、ジェスチャパターンの終了時に、手を閉じてもよい。ジェスチャ認識ブロック３１１Ｃは、閉じた手のジェスチャを終了ジェスチャとして認識する。
【０１１５】
操作者は、開始ジェスチャと終了ジェスチャとの間で様々なジェスチャを作ってもよい。図１５Ａにおいて、操作者は、手を、中指によって定義されたｙ軸に沿って移動させている。図１５Ｂにおいて、親指及び人差し指を、中指によって定義されたｙ軸周りに円状に移動させている。ジェスチャ認識ブロック３１１Ｃは、操作者が如何なる動作要求を入力したかを、開始ジェスチャと終了ジェスチャとの間のジェスチャをジェスチャグループデータと比較することによって見極めることができる。
【０１１６】
図１６は、パターンデータの生成の概念図である。図１２、図１５Ａ乃至図１６を参照して、パターンデータの生成が説明される。
【０１１７】
ジェスチャ認識ブロック３１１Ｃが、開始ジェスチャと終了ジェスチャとの間において、図１５Ａに示される手のジェスチャを見極めるならば、ジェスチャ認識ブロック３１１Ｃは、「パターンコードＡ」をパターンデータに組み込む。ジェスチャ認識ブロック３１１Ｃが、開始ジェスチャと終了ジェスチャとの間において、図１５Ａに示される手のジェスチャを見極めるならば、ジェスチャ認識ブロック３１１Ｃは、「パターンコードＢ」をパターンデータに組み込む。尚、パターンコードＢは、パターンコードＡとは相違する。上述の如く、パターンデータは、コマンド決定ブロック３１２Ｃへ出力される。
【０１１８】
図１７は、第２格納部５２１に格納されたコマンドグループデータのデータ構造の概念図である。コマンドグループデータのデータ構造が、図１２、図１６及び図１７を参照して説明される。
【０１１９】
コマンドグループデータは、ジェスチャ認識ブロック３１１Ｃがパターンデータに組み込み得る様々なパターンコードに関するデータを含む。コマンドグループデータは、様々な動作コマンドに関するデータを含む。図１７に示される如く、コマンドグループデータは、各動作コマンドを、各パターンコードに関連づける。コマンド決定ブロック３１２Ｃは、第２格納部５２１からコマンドグループデータを読み取る。コマンド決定ブロック３１２Ｃは、図１７の「パターンコード」の欄を参照し、パターンデータに対応する動作コマンドを見極める。パターンデータがパターンコードＡを含んでいるならば、コマンド決定ブロック３１２Ｃは、動作コマンドＡを選択並びに生成する。パターンデータがパターンコードＢを含んでいるならば、コマンド決定ブロック３１２Ｃは、動作コマンドＢを選択並びに生成する。パターンデータがパターンコードＣを含んでいるならば、コマンド決定ブロック３１２Ｃは、動作コマンドＣを選択並びに生成する。尚、動作コマンドＡ、Ｂ、Ｃそれぞれによって定義される動作は、互いに相違している。本実施形態において、動作コマンドＡによって定義される動作は、第１動作として例示される。動作コマンドＣによって定義される動作は、第２動作として例示される。
【０１２０】
コマンドグループデータは、優先度データを更に含む。コマンドグループデータは、動作コマンドそれぞれを、高優先度又は低優先度に関連づける。図１７において、動作コマンドＡには、低優先度が付されている。動作コマンドＢには、高優先度が付されている。動作コマンドＣには、低優先度が付されている。
【０１２１】
コマンド決定ブロック３１２Ｃは、選択された動作コマンドに付された優先度データを参照する。コマンド決定ブロック３１２Ｃが動作コマンドＡ又は動作コマンドＣを選択するならば、コマンド決定ブロック３１２Ｃは、低優先度のラベルを見出す。コマンド決定ブロック３１２Ｃが、動作コマンドＢを選択するならば、コマンド決定ブロック３１２Ｃは、高優先度のラベルを見出す。
【０１２２】
コマンド決定ブロック３１２Ｃは、優先度データに基づき、動作コマンドの出力経路を決定する。コマンド決定ブロック３１２Ｃが動作コマンドＡ又は動作コマンドＣを選択するならば、低優先度のラベルがあるので、動作コマンドＡ又は動作コマンドＣを、スピード取得ブロック３１３Ｃへ出力する。コマンド決定ブロック３１２Ｃが動作コマンドＢを選択するならば、高優先度のラベルがあるので、コマンド決定ブロック３１２Ｃは、動作コマンドＢを動作コマンド実行部４１１へ出力する。
【０１２３】
図１８は、パターンデータに組み込まれた時間データの概念図である。時間データが、図１２、図１７及び図１８を参照して説明される。
【０１２４】
ジェスチャ認識ブロック３１１Ｃは、開始ジェスチャから終了ジェスチャまでの時間長さに関するデータをパターンデータに組み込む。スピード取得ブロック３１３Ｃは、時間長さに関するデータを抽出する。抽出されたデータは、スピード取得ブロック３１３Ｃから要求コマンド生成部３１５Ｃへ、低優先度が付された動作コマンド（動作コマンドＡ又は動作コマンドＣ）とともに出力される。
【０１２５】
図１９は、第３格納部３２３に格納された候補データのデータ構造の概念図である。候補データのデータ構造が、図１２及び図１９を参照して説明される。
【０１２６】
候補データは、低優先度が付された様々な動作コマンドに関するデータを含む。候補データは、様々なフィードバック要求コマンドに関するデータを更に含む。候補データ内で挙げられたフィードバック要求コマンドによって定義されたフィードバック動作は、互いに相違してもよい。候補データは、動作コマンドそれぞれを、フィードバック要求コマンドそれぞれに関連づける。要求コマンド生成部３１５Ｃが動作コマンドＡを受け取るならば、時間データが閾値より低いスピードを示すと、要求コマンド生成部３１５Ｃは、フィードバック要求コマンドＡを生成する。要求コマンド生成部３１５Ｃが動作コマンドＣを受け取るならば、時間データが閾値より低いスピードを示すと、要求コマンド生成部３１５Ｃは、フィードバック要求コマンドＣを生成する。本実施形態において、フィードバック要求コマンドＡによって定義されるフィードバック動作は、第１フィードバック動作として例示される。フィードバック要求コマンドＣによって定義されるフィードバック動作は、第２フィードバック動作として例示される。
【０１２７】
図２０Ａは、開始ジェスチャを作る手のジェスチャの概略的な斜視図である。図２０Ｂは、３次元座標系を示す。開始ジェスチャが、図１２、図２０Ａ及び図２０Ｂを参照して説明される。
【０１２８】
操作者は、人差し指、中指及び親指を互いに異なる方向に伸ばし、図２０Ａに示される如く、開始ジェスチャを作ってもよい。人差し指は、ｘ軸の方向を定義する。中指は、ｙ軸の方向を定義する。親指は、ｚ軸の方向を定義する。３次元座標系は、図２０Ｂに示される如く、これらの指によって定義される。
【０１２９】
図２０Ｂは、ｘ軸とｙ軸との間で定義される角度Ａと、ｘ軸とｚ軸との間で定義される角度Ｂと、ｙ軸とｚ軸との間で定義される角度Ｃと、を示す。これらの角度Ａ、Ｂ、Ｃそれぞれは、７０°から１２０°の範囲にある。操作者は、意図せず、これらの角度を作りにくい。したがって、ジェスチャ認識ブロック３１１Ｃが、図２０Ａに示される手のジェスチャを認識するならば、動作コマンド実行部４１１に、動作的なエラーは生じにくくなる。
【０１３０】
図２１は、開始ジェスチャを作る他の手のジェスチャの概略的な斜視図である。開始ジェスチャが、図１２、図２０Ａ乃至図２１を参照して説明される。
【０１３１】
図２０Ａを参照して説明された手のジェスチャとは異なり、操作者は、中指だけでなく、薬指及び小指を伸ばして、ｚ軸を定義してもよい。ジェスチャ認識ブロック３１１Ｃは、図２１に示される手のジェスチャから、図２０Ｂに示される３次元座標系を認識してもよい。
【０１３２】
＜第７実施形態＞
第３実施形態乃至第６実施形態によれば、フィードバック動作が必要とされるならば、入力装置は、確認結果に応じて、動作コマンドを出力する。しかしながら、操作者が、フィードバック動作を確認し、必要な動作を行うのに十分に長い遅延時間があるならば、確認結果は必要とされない。第７実施形態において、例示的な遅延機能が説明される。
【０１３３】
図２２は、入力装置１００の例示的な機能的ブロック図である。機能的ブロック図は、第３実施形態に関連して説明された技術的概念に基づいて、設計並びに簡素化されている。入力装置１００が、図２２を参照して説明される。尚、図４と図２２との間で共通して用いられる符号は、当該共通の符号が付された要素が、第３実施形態と同一の機能を有することを意味する。したがって、第３実施形態の説明は、これらの要素に援用される。
【０１３４】
第３実施形態と同様に、入力装置１００は、動作検出部２１０と、コマンド決定ブロック３１２と、スピード取得ブロック３１３と、動作コマンド実行部４１１と、を備える。入力装置１００は、フィードバック決定ブロック３１４Ｄと、フィードバック動作実行部４２１Ｄと、を更に備える。
【０１３５】
第３実施形態と同様に、フィードバック決定ブロック３１４Ｄは、一時格納部３３１を含む。フィードバック決定ブロック３１４Ｄは、要求コマンド生成部３１５Ｄと、出力制御部３１６Ｄと、を更に含む。
【０１３６】
第３実施形態と同様に、要求コマンド生成部３１５Ｄは、スピードデータと、動作コマンドと、を受け取る。スピードデータが閾値よりも低いスピードを示すならば、要求コマンド生成部３１５Ｄは、動作コマンドだけでなくフィードバック要求コマンドをも出力制御部３１６Ｄへ出力する。他の場合には、要求コマンド生成部３１５Ｄは、動作コマンドのみを出力制御部３１６Ｄへ出力する。第３実施形態とは異なり、要求コマンド生成部３１５Ｄは、確認結果を受け取らない。
【０１３７】
出力制御部３１６Ｄが、動作コマンド及びフィードバック要求コマンドの両方を受け取るならば、出力制御部３１６Ｄは、動作コマンドを一時格納部３３１に出力し、且つ、フィードバック要求コマンドをフィードバック動作実行部４２１Ｄへ出力する。出力制御部３１６Ｄが動作コマンドのみを受け取るならば、出力制御部３１６Ｄは、動作コマンドを、動作コマンド実行部４１１へ出力する。第３実施形態とは異なり、出力制御部３１６Ｄは、遅延機能を有する。
【０１３８】
フィードバック動作実行部４２１Ｄが、フィードバック要求コマンドを受け取ると、フィードバック動作実行部４２１Ｄは、受け取ったフィードバック要求コマンドによって定義されるフィードバック動作を実行する。第３実施形態とは異なり、フィードバック動作実行部４２１Ｄは、フィードバック動作の後、確認結果を出力しない。
【０１３９】
図２３は、図２２を参照して説明された出力制御部３１６Ｄの処理の概略的なフローチャートである。出力制御部３１６Ｄの処理が、図２２及び図２３を参照して説明される。尚、図２３のフローチャートは、例示的なものにすぎない。したがって、出力制御部３１６Ｄは、図２３に示される工程に加えて、様々な副次的な処理を実行してもよい。
【０１４０】
（ステップＳ４１０）
ステップＳ４１０において、出力制御部３１６Ｄは、要求コマンド生成部３１５Ｄから動作コマンドを受け取る。その後、ステップＳ４２０が実行される。
【０１４１】
（ステップＳ４２０）
ステップＳ４２０において、出力制御部３１６Ｄは、要求コマンド生成部３１５Ｄからフィードバック要求コマンドを出力制御部３１６Ｄが受け取っているか否かを判断する。出力制御部３１６Ｄが、フィードバック要求コマンドを受け取っているならば、ステップＳ４３０が実行される。他の場合には、ステップＳ４７０が実行される。
【０１４２】
（ステップＳ４３０）
ステップＳ４３０において、出力制御部３１６Ｄは、計時を開始する。その後、ステップＳ４４０が実行される。
【０１４３】
（ステップＳ４４０）
ステップＳ４４０において、出力制御部３１６Ｄは、動作コマンドを一時格納部３３１へ出力し、且つ、フィードバック要求コマンドをフィードバック動作実行部４２１Ｄへ出力する。ステップＳ４５０は、その後、実行される。
【０１４４】
（ステップＳ４５０）
ステップＳ４５０において、出力制御部３１６Ｄは、ステップＳ４３０から計測された時間の時間長さが閾値を超えるまで、時間長さと閾値とを比較する。操作者が、フィードバック動作実行部４２１Ｄのフィードバック動作を確認し、動作要求のキャンセルや他の行為といった必要な動作を実行することができるように、時間長さに対する閾値は設定される。時間長さが閾値を超えた後、ステップＳ４６０が実行される。
【０１４５】
（ステップＳ４６０）
ステップＳ４６０において、出力制御部３１６Ｄは、一時格納部３３１から動作コマンドを読み取る。ステップＳ４７０がその後実行される。
【０１４６】
（ステップＳ４７０）
ステップＳ４７０において、出力制御部３１６Ｄは、動作コマンドを動作コマンド実行部４１１へ出力する。
【０１４７】
＜第８実施形態＞
第１実施形態乃至第７実施形態に関連して説明された様々な技術は、操作者の動作要求の下で動作するように設計された様々な装置に組み込まれてもよい。第８実施形態に関連して、このような装置として、加熱調理器が説明される。
【０１４８】
図２４Ａは、加熱調理器６００の概略的な斜視図である。図２４Ｂは、加熱調理器６００を用いて、タマゴを加熱する操作者を示す。加熱調理器６００が、図１、図２４Ａ及び図２４Ｂを参照して説明される。
【０１４９】
加熱調理器６００は、直方体状の筐体６１０を備える。直方体状の筐体６１０は、前壁６１１と天壁６１２とを含む。左加熱領域６２１及び右加熱領域６２２が、天壁６１２上に形成される。操作者は、左加熱領域６２１を用いて、タマゴを加熱している。操作者は、左手を用いて、フライパンを保持している。操作者は、右手を用いて、様々なジェスチャを作ることができる。
【０１５０】
図１を参照して説明されたセンサ２００は、天壁６１２に搭載されている。センサ２００は、図１を参照して説明された処理ユニット３００に接続されている。処理ユニット３００は、筐体６１０内に収容されている。操作者は、センサ２００の前で様々な手のジェスチャを作ることができる。
【０１５１】
加熱調理器６００は、左発光部６３１と右発光部６３２とを更に備える。左発光部６３１及び右発光部６３２は、天壁６１２上に据え付けられている。左発光部６３１は、図１を参照して説明された動作装置４００のうちの１つに対応する。右発光部６３２は、図１を参照して説明された動作装置４００のうち他のもう１つに対応する。
【０１５２】
左発光部６３１は、左加熱領域６２１が加熱されているときに発光してもよい。右発光部６３２は、右加熱領域６２２が加熱されているときに発光してもよい。左発光部６３１及び右発光部６３２は、処理ユニット３００の制御下で、操作者によって作られたジェスチャに応じて、発光パターンを変更してもよい。操作者は、発光パターンを視認し、動作要求が、加熱調理器６００に適切に入力されたか否かを確認することができる。
【０１５３】
加熱調理器６００は、前壁６１１上に配置された左インディケータ６４１と右インディケータ６４２とを更に備える。左インディケータ６４１は、左加熱領域６２１の加熱レベルを指し示す。右インディケータ６４２は、右加熱領域６２２の加熱レベルを指し示す。左インディケータ６４１及び右インディケータ６４２それぞれは、光が発光される複数の表示窓を含む。図２４Ａ及び図２４Ｂにおいて、黒の表示窓は、光を出射している。白の表示窓は、発光していない。黒の表示窓の数は、加熱レベルを表す。
【０１５４】
左加熱領域６２１及び右加熱領域６２２がそれぞれ実際に加熱される前において、左インディケータ６４１及び右インディケータ６４２は、処理ユニット３００の制御下で、操作者が作り出す手のジェスチャに応じて、光を発する表示窓の数を変更してもよい。この場合、操作者は、左インディケータ６４１及び右インディケータ６４２を視認し、手のジェスチャによる調整量を確認することができる。左インディケータ６４１は、図１を参照して説明された動作装置４００のうち１つに対応する。右インディケータ６４２は、図１を参照して説明された動作装置４００のうち他のもう１つに対応する。
【０１５５】
加熱調理器６００は、処理ユニット３００の制御下で動作するスピーカ６５０を更に備える。操作者が、加熱レベルを増大させるための手のジェスチャを作り出すならば、「加熱レベルの増大」との音声が、スピーカ６５０から流れてもよい。操作者が、加熱レベルを低減させるための手のジェスチャを作り出すならば、「加熱レベルの低減」との音声が、スピーカ６５０から流れてもよい。操作者は、スピーカ６５０からの音声を聴いて、動作要求が、加熱調理器６００に適切に入力されたか否かを確認してもよい。スピーカ６５０は、図１を参照して説明された動作装置４００のうち１つに対応する。
【０１５６】
加熱調理器６００は、前壁６１１上に、左増大ボタン６６１、左低減ボタン６６２、右増大ボタン６６３及び右低減ボタン６６４を更に備える。操作者は、左増大ボタン６６１を押圧し、左加熱領域６２１の加熱レベルを増大させてもよい。操作者は、左低減ボタン６６２を押圧し、左加熱領域６２１の加熱レベルを低減させてもよい。操作者は、右増大ボタン６６３を押圧し、右加熱領域６２２の加熱レベルを増大させてもよい。操作者は、右低減ボタン６６４を押圧し、右加熱領域６２２の加熱レベルを低減させてもよい。
【０１５７】
図２５Ａは、加熱レベルを増大させるための例示的なジェスチャパターンを示す。図２５Ｂは、加熱レベルを低減させるための例示的なジェスチャパターンを示す。加熱レベルを調整するためのジェスチャパターンが、図２４Ａ乃至図２５Ｂを参照して説明される。
【０１５８】
操作者は、まず、３次元座標系を定義するための手のジェスチャを作ってもよい。センサ２００に向けて真っ直ぐに伸びる人差し指は、ｘ軸を定義する。左方に向けて真っ直ぐに伸びる中指は、ｙ軸を規定する。上に向けて真っ直ぐに伸びる親指は、ｚ軸を定義する。処理ユニット３００は、操作者の右手によって定義された３次元座標系を認識する。処理ユニット３００が、左方に伸びるｙ軸及び／又は上方に伸びるｚ軸を認識するならば、処理ユニット３００は、センサ２００からの画像データ内で描かれる手のジェスチャを介しジェスチャとして処理する。
【０１５９】
操作者が手首を約９０°だけ時計回りにひねるならば、操作者の右手によって定義された３次元座標系は、ｘ軸周りに約９０°だけ時計回りに回転する。操作者が手首を約９０°だけ反時計回りにひねるならば、操作者の右手によって定義された３次元座標系は、ｘ軸周りに約９０°だけ反時計回りに回転する。処理ユニット３００は、３次元座標系の回転運動を認識する。
【０１６０】
処理ユニット３００は、センサ２００から出力された画像データから３次元座標系の回転方向を見極める。認識された３次元座標系が時計回りに回転するならば、処理ユニット３００は、加熱レベルを増大するための制御を開始してもよい。認識された３次元座標系が反時計回りに回転するならば、処理ユニット３００は、加熱レベルを低減するための制御を開始してもよい。
【０１６１】
処理ユニット３００は、３次元座標系がどのくらい回転したかを見極める。３次元座標系が小さな角度で回転するならば、処理ユニット３００は、加熱レベルをわずかに変化させる。３次元座標系が大きな角度で回転するならば、処理ユニット３００は、加熱レベルを大幅に変化させる。
【０１６２】
加熱レベルの変化量は、現状の加熱レベル（操作者が開始ジェスチャを作り出したとき）と最大又は最小の加熱レベルとの間の差異に依存してもよい。図２５Ａ及び図２５Ｂに示される如く、操作者が開始ジェスチャを作ったとき、左インディケータ６４１は、６つの表示窓のうち３つから光を出射している。使用者が時計回りに手首を約９０°だけひねるならば、処理ユニット３００は、加熱レベルを最大レベルまで増大させる。この場合、左インディケータ６４１は、全ての表示窓から光を出射する。使用者が反時計回りに手首を約９０°だけひねるならば、処理ユニット３００は、加熱レベルを最小レベルまで低減させる、或いは、左加熱領域６２１用のヒータをオフにする。この場合、光を出射する表示窓は存在しなくなる。使用者が時計回りに手首を約６０°だけひねるならば、左インディケータ６４１が６つの表示窓のうち５つから光を発するように、処理ユニット３００は、加熱レベルを増大させる。使用者が反時計回りに手首を約６０°だけひねるならば、左インディケータ６４１が６つの表示窓のうち１つから光を発するように、処理ユニット３００は、加熱レベルを低減させる。使用者が時計回りに手首を約３０°だけひねるならば、左インディケータ６４１が６つの表示窓のうち４つから光を発するように、処理ユニット３００は、加熱レベルを増大させる。使用者が反時計回りに手首を約３０°だけひねるならば、左インディケータ６４１が６つの表示窓のうち２つから光を発するように、処理ユニット３００は、加熱レベルを低減させる。
【０１６３】
加熱レベルに対する適切な調整の後、操作者は、手を閉じ、ジェスチャパターンを完了してもよい。操作者が手を閉じるならば、処理ユニット３００は、センサ２００が出力する画像データから３次元座標系を認識しない。３次元座標系が認識されなくなったとき、処理ユニット３００は、操作者の入力動作が終了したと判断し、その後、左加熱領域６２１に対する加熱処理といった次の処理を開始する。
【０１６４】
＜第９実施形態＞
第４実施形態において、フィードバック動作の間に決定された動作コマンドがキャンセルされると、全体のプロセスは終了する。入力装置１００を動作するために、操作者は、入力プロセスの始めから、要求される正しい動作のためのジェスチャを再度入力する必要がある。したがって、要求される操作或いは作業は、円滑に行われないこともある。当該課題を解消するために、第９実施形態は、最初に決定された動作コマンドがキャンセルされた後、代替的な動作コマンドを生成する。代替的な動作コマンドは、キャンセルされた動作コマンドに関連してもよい。
【０１６５】
図２６は、入力装置１００の他の例示的な機能的ブロック図である。機能的ブロック図は、第１実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置１００の機能が、図２６を参照して、第９実施形態に関連して説明される。図１０と図２６との間で共通して用いられる符号は、当該共通の符号が付された要素が第４実施形態と同一の機能を有していることを意味する。したがって、第４実施形態の説明は、これらの要素に援用される。
【０１６６】
第４実施形態と同様に、入力装置１００は、動作検出部２１０と、ジェスチャ認識ブロック３１１と、出力制御部３１６と、一時格納部３３１と、動作コマンド実行部４１１と、フィードバック動作実行部４２１Ａと、フィードバックインターフェース４２２と、を含む。入力装置１００は、コマンド決定ブロック３１２Ｅと、スピード取得ブロック３１３Ｅと、要求コマンド生成部３１５Ｅと、を更に含む。
【０１６７】
第４実施形態と同様に、コマンド決定ブロック３１２Ｅは、ジェスチャ認識ブロック３１１から受け取ったベクトルデータによる特定の動作コマンドを決定する。一方、要求コマンド生成部３１５Ｅから代替的なコマンド要求があると、コマンド決定ブロック３１２Ｅは、代替的な動作コマンドを決定する。代替的な動作コマンドは、最初に決定された動作コマンドとの関係性に基づいて決定されてもよい。
【０１６８】
第４実施形態と同様に、スピード取得ブロック３１３Ｅは、ベクトルデータからスピードデータを生成する。一方、コマンド決定ブロック３１２Ｅから送られた動作コマンドが、代替的な動作コマンドであるとき、スピード取得ブロック３１３Ｅは、スピードデータを生成しない。スピード取得ブロック３１３Ｅは、要求コマンド生成部３１４Ｅへの代替的な動作コマンドの通過を許容するのみである。
【０１６９】
第４実施形態と同様に、要求コマンド生成部３１５Ｅは、スピードデータと動作コマンドとに基づいて、フィードバック動作が必要であるか否かを決定する。一方、最初に決定された動作コマンドがキャンセルされると、要求コマンド生成部３１５Ｅは、コマンド決定ブロック３１２Ｅへの代替的なコマンド要求を生成する。加えて、要求コマンド生成部３１５Ｅに入力された動作コマンドが、代替的な動作コマンドであるとき、代替的な動作コマンドは、予測されたコマンドであり、且つ、実行前に操作者によって確認される必要があるので、要求コマンド生成部３１５Ｅは、フィードバック動作を実行する。
【０１７０】
図２７は、入力装置１００の処理の概略的なフローチャートである。フローチャートは、図２６を参照して説明された構造に基づいて設計されている。入力装置１００の処理が、図２６及び図２７を参照して説明される。図２７のフローチャートは例示的なものにすぎない。したがって、入力装置１００は、図２７に示される処理工程に加えて、様々な副次的な処理を実行してもよい。
【０１７１】
（ステップＳ１１０）
ステップＳ１１０において、動作検出部２１０は、操作者の身体部位の移動を検出する。動作検出部２１０は、その後、操作者の動作を表す移動データとして、画像データを生成する。画像データは、動作検出部２１０からジェスチャ認識ブロック３１１に出力される。その後、ステップＳ１２０が実行される。
【０１７２】
（ステップＳ１２０）
ステップＳ１２０において、ジェスチャ認識ブロック３１１は、データの一部を身体部位のデータとして認識し、認識されたデータ部分からベクトルデータを生成する。ベクトルデータは、ジェスチャ認識ブロック３１１からコマンド決定ブロック３１２Ｅ及びスピード取得ブロック３１３Ｅへ送られる。その後、ステップＳ１３０が実行される。
【０１７３】
（ステップＳ１３０）
ステップＳ１３０において、コマンド決定ブロック３１２Ｅは、ベクトルデータに基づいて、動作コマンドを決定する。コマンド決定ブロック３１２Ｅによって生成された動作コマンドは、その後、スピード取得ブロック３１３Ｅへ出力される。この後、ステップＳ１４０が実行される。
【０１７４】
（ステップＳ１４０）
ステップＳ１４０において、スピード取得ブロック３１３Ｅは、ベクトルデータから身体部位のスピードを表すスピードデータを生成する。スピード取得ブロック３１３Ｅは、スピードデータ及び動作コマンドを要求コマンド生成部３１５Ｅへ出力する。その後、ステップＳ１５０が実行される。
【０１７５】
（ステップＳ１５０）
ステップＳ１５０において、要求コマンド生成部３１５Ｅは、動作コマンドを参照し、動作コマンドが定義する動作がフィードバック動作を要するか否かを判断する。当該動作が、フィードバック動作を要するならば、ステップＳ１６０が実行される。他の場合には、ステップＳ１９０が実行される。
【０１７６】
（ステップＳ１６０）
ステップＳ１６０において、要求コマンド生成部３１５Ｅは、スピードデータによって表されるスピードを閾値と比較する。当該スピードが閾値よりも低いならば、要求コマンド生成部３１５Ｅは、フィードバック動作が必要であると判断する。要求コマンド生成部３１５Ｅは、その後、フィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部３１５Ｅからフィードバック動作実行部４２１Ａへ、出力制御部３１６を通じて出力される。動作コマンドは、要求コマンド生成部３１５Ｅから一時格納部３３１へ、出力制御部３１６を通じて出力される。その後、ステップＳ１７０が実行される。スピードが閾値よりも低くないならば、要求コマンド生成部３１５Ｅは、フィードバック動作は必要とされていないと判断する。要求コマンド生成部３１５Ｅは、動作コマンドを動作コマンド実行部４１１へ、出力制御部３１６を通じて出力する。その後、ステップＳ１９０が実行される。
【０１７７】
（ステップＳ１７０）
ステップＳ１７０において、フィードバック動作実行部４２１Ａは、フィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置１００が操作者からの動作要求を適切に受け取ったか否かを確認することができる。その後、ステップＳ１８０Ａが実行される。
【０１７８】
（ステップＳ１８０Ａ）
ステップＳ１８０Ａにおいて、要求コマンド生成部３１５Ｅは、操作者からのフィードバック入力を待つ。操作者がフィードバックインターフェース４２２を操作し、更なる処理を要求するならば、ステップＳ１９０が実行される。操作者が、フィードバックインターフェース４２２を操作し、処理をキャンセルするならば、ステップＳ１９１が実行される。
【０１７９】
（ステップＳ１９０）
ステップＳ１９０において、動作コマンド実行部４１１は、動作コマンドに応じて、所定の動作を実行する。
【０１８０】
（ステップＳ１９１）
ステップＳ１９１において、要求コマンド生成部３１５Ｅは、代替的なコマンド要求を生成し、コマンド決定ブロック３１２Ｅへ要求を出力する。その後、コマンド決定ブロック３１２Ｅは、最初に決定され、且つ、操作者によってキャンセルされた動作コマンドに基づいて、代替的な動作コマンドを決定する。代替的な動作コマンドは、その後、スピード取得ブロック３１３Ｅへ出力される。スピード取得ブロック３１３Ｅは、要求コマンド生成部３１５Ｅへ代替的な動作コマンドを通過させる。代替的な動作コマンドを受け取った後、要求コマンド生成部３１５Ｅは、代替的な動作コマンド用のフィードバック要求コマンドを生成する。フィードバック要求コマンドは、要求コマンド生成部３１５Ｅからフィードバック動作実行部４２１Ａへ、出力制御部３１６を通じて出力される。代替的な動作コマンドは、要求コマンド生成部３１５Ｅから一時格納部３３１へ、出力制御部３１６を通じて出力される。その後、ステップＳ１９２が実行される。
【０１８１】
（ステップＳ１９２）
ステップＳ１９２において、フィードバック動作実行部４２１Ａは、代替的な動作コマンド用のフィードバック要求コマンドに応じて、フィードバック動作を実行する。したがって、操作者は、入力装置１００が、代替的な動作コマンドを適切に予測したか否かを確認することができる。その後、ステップＳ１９３が実行される。
【０１８２】
（ステップＳ１９３）
ステップＳ１９３において、要求コマンド生成部３１５Ｅは、操作者からのフィードバック入力を待つ。操作者がフィードバックインターフェース４２２を操作し、更なる処理を要求するならば、ステップＳ１９４が実行される。操作者が、フィードバックインターフェース４２２を操作し、処理をキャンセルするならば、入力装置１００は処理を止める。
【０１８３】
（ステップＳ１９４）
ステップＳ１９４において、動作コマンド実行部４１１は、代替的な動作コマンドに応じて、所定の動作を実行する。
【０１８４】
第９実施形態の例示的な使用は、ＩＨ加熱調理器の使用によって説明されてもよい。ＩＨ加熱調理器は、空中でのジェスチャによって、操作者から命令を受けることができる。操作者が、ＩＨ加熱調理器の加熱レベルの低減を欲し、且つ、操作者が、間違ったジェスチャを作り、加熱レベルを増大させる動作コマンドが入力されることがある。この場合、操作者は、加熱レベルを増大させる動作コマンドをキャンセルする。キャンセルの後、ＩＨ加熱調理器の処理ユニットは、加熱レベルの増大用のキャンセルされた動作コマンドに関連する代替的な動作コマンドを予測する。代替的な動作コマンドを予測するアルゴリズムが、キャンセルされた動作コマンドとは反対のコマンドを選択するように設計されているならば、ＩＨ加熱調理器の処理ユニットは、加熱レベルを低減する代替的な動作コマンドを予測することができる。操作者は、実行に際して、代替的な動作コマンドを確認してもよい。この結果、操作者は、最初からジェスチャを再度入力し始める必要はない。したがって、加熱処理は、円滑に継続される。
【０１８５】
代替的な動作コマンドの予測において、様々なアルゴリズム（反対のコマンド（増大／低減）を選択するアルゴリズム、最も近いジェスチャを有するコマンドを選択するアルゴリズム及び現状のシステム状態において最も利用されるコマンドを選択するアルゴリズム）が利用可能である。
【０１８６】
＜第１０実施形態＞
第９実施形態において、最初に決定された動作コマンドがキャンセルされると、最初に決定された動作コマンドとの関係性に応じて、スピードデータを用いることなしに、代替的な動作コマンドが予測される。しかしながら、予測は、スピードデータからの情報を含むことによって改善されてもよい。
【０１８７】
図２８は、入力装置１００の他の例示的な機能的ブロック図である。機能的ブロック図は、第１実施形態に関連して説明された技術的概念に基づいて設計されている。入力装置１００の機能が、図２８を参照して、第１０実施形態に関連して説明される。図２６と図２８との間で共通して用いられる符号は、当該共通の符号が付された要素が第９実施形態と同一の機能を有していることを意味する。したがって、第９実施形態の説明は、これらの要素に援用される。
【０１８８】
第９実施形態と同様に、入力装置１００は、動作検出部２１０と、ジェスチャ認識ブロック３１１と、フィードバック決定ブロック３１４Ｅと、動作コマンド実行部４１１と、フィードバック動作実行部４２１Ａと、フィードバックインターフェース４２２と、を含む。入力装置１００は、コマンド決定ブロック３１２Ｆと、スピード取得ブロック３１３Ｆと、を更に含む。
【０１８９】
第９実施形態と同様に、コマンド決定ブロック３１２Ｆは、ジェスチャ認識ブロック３１１から受け取ったベクトルデータによる特定の動作コマンドを決定する。また、コマンド決定ブロック３１２Ｆは、要求コマンド生成部３１５Ｅから代替的なコマンド要求があるとき、代替的な動作コマンドを決定する。一方、代替的なコマンド要求が、コマンド決定ブロック３１２Ｆに入力されたとき、コマンド決定ブロック３１２Ｆは、スピード取得ブロック３１３Ｆからスピードデータを受け取ってもよい。代替的な動作コマンドは、最初に決定された動作コマンド、ベクトルデータ及びスピードデータによって決定されてもよい。
【０１９０】
第９実施形態と同様に、スピード取得ブロック３１３Ｆは、ベクトルデータからスピードデータを生成する。一方、コマンド決定ブロック３１２Ｆが、代替的な動作コマンドを予測すると、スピード取得ブロック３１３Ｆは、スピードデータを、コマンド決定ブロック３１２Ｆへ出力してもよい。
【０１９１】
上述の構成は、代替的な動作コマンドの予測を改善するための様々な装置に組み込まれてもよい。第１０実施形態において、ＩＨ加熱調理器が、上述の構成を利用した例示的な装置として説明される。以下の説明は、図２４Ａ、図２５、図２９及び図３０を参照する。
【０１９２】
図２４Ａは、加熱調理器６００の概略的な斜視図である。尚、加熱調理器６００の詳細は、第８実施形態の説明中で説明されている。
【０１９３】
図２９は、加熱調理器６００の加熱領域を起動するための例示的なジェスチャパターンを示す。
【０１９４】
加熱調理器６００の操作者は、加熱調理器６００内の加熱領域６２１，６２２の両方を起動させることを期待して、図２９に示されるジェスチャパターンをゆっくりと作成する。当該パターンは、「開始」、「起動」、「加熱領域の選択」及び「終了」の４つのステップに分けられる。しかしながら、作成されたジェスチャパターンが、左加熱領域６２１のみを作動させるためのコマンドに合致している。したがって、操作者は、最初に決定された動作コマンドをキャンセルする。図２８の構成によれば、加熱調理器６００内の処理ユニットは、スピードデータを利用して、代替的な動作コマンドを予測する。代替的な動作コマンドの予測に置いて、ジェスチャパターンの欠くステップのスピードデータが利用される。図２９に示されるスピードデータによれば、ジェスチャパターンの第３ステップがゆっくりと実行されていることが分かる。したがって、第３ステップが、間違ったジェスチャである可能性が高いことが予測される。処理ユニットは、その後、代替的なパターンを検討する。第３ステップが間違っていると仮定されているので、代替的なパターンは、実行されたジェスチャパターンと第１ステップ、第２ステップ及び第４ステップにおいて共通するパターンであると考えられてもよい。
【０１９５】
上述の例示的な使用形態によれば、実行されたジェスチャパターン内の各ステップのスピードデータを利用することは、選択された代替的な動作コマンドが操作者の期待に合致する可能性を増大させる。
【０１９６】
尚、可能性のある代替的なジェスチャパターン及びコマンドの他の選択方法は、上述の例示的な使用形態に限定されない。例えば、「起動／停止」や「レベルの調整」といった異なる動作態様の様々な可能なジェスチャパターンが存在するとき、最初に決定されたコマンドは、可能性のあるジェスチャパターンを精度よく選択するために用いられてもよい。
【０１９７】
第９実施形態及び第１０実施形態に関連して説明された技術は、前回決定されたコマンドが、フィードバックプロセスの間に操作者によってキャンセルされると、前回決定されたコマンドに関連する代替的な動作コマンドを提供することができる。
【０１９８】
第９実施形態及び第１０実施形態に関連して説明された入力装置は、操作者がジェスチャをゆっくりと作ったときに、実行前に動作コマンドを操作者に確認するためのフィードバックを提供する。入力装置は、次の手順に進む前に、操作者からの実行確認又は動作コマンドのキャンセルを待つ。
【０１９９】
したがって、ゆっくりとした動作で作り出されたジェスチャによる動作コマンドは、実行前に確認される。この結果、第９実施形態及び第１０実施形態に関連して説明された技術を利用するシステムは、空中でのジェスチャによる動作の実行において高い安定性を有することができる。
【０２００】
第９実施形態及び第１０実施形態に関連して説明された入力装置は、最初に決定された動作コマンドが、コマンド確認プロセス中に操作者によってキャンセルされた後に、代替的な動作を提供する。代替的な動作コマンドは、最初に決定された動作コマンドに関連する又は近いコマンドの組から選択されてもよい。例えば、ジェスチャ動作に不慣れな操作者は、空中でのジェスチャをゆっくりと行う。したがって、入力装置は、確認フィードバックが要求されていると判断する。フィードバックプロセスの間、操作者は、最初に決定された動作コマンドが間違っているので、当該動作コマンドをキャンセルする。例えば、操作者は、音量を低減することを望む一方で、最初に決定された動作コマンドは、ラジオの音量を大きくするためのものであることもある。この場合、入力装置は、音量増大コマンドに関連するコマンドの組から代替的なコマンドを予測する。その後、入力装置は、操作者に代替的な動作コマンドを与える。予測アルゴリズムが、最初に決定された動作コマンドとは反対の動作コマンドを見つけるように設計されているならば、ラジオの音量を低減するための動作コマンドが、代替的な動作コマンドとして選択される。
【０２０１】
第９実施形態及び第１０実施形態に関連して説明された技術によれば、操作者が、誤ったジェスチャを作成したとき、操作者は、最初から再度正しいジェスチャを入力しなくともよい。したがって、動作は、円滑に実行される。
【０２０２】
上述の様々な実施形態の原理は、タッチパッドやタッチスクリーンといった接触検知型装置上でのジェスチャ認識に適用されてもよい。したがって、上述の様々な実施形態の原理は、様々な入力装置に適用可能である。
【０２０３】
上述の様々な実施形態に関連して説明された例示的な動作要求の入力に関する技術は、以下の特徴を主に備える。
【０２０４】
上述の様々な実施形態の一局面に係る入力装置は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成するセンサと、前記移動データから動作コマンドを生成する動作コマンド生成部と、前記移動のスピードを表すスピードデータを前記移動データから生成するスピードデータ生成部と、前記操作者が前記動作コマンドを確認することを可能にするためのフィードバック動作が必要であるか否かを前記スピードデータに基づいて決定するフィードバック決定ブロックと、を含む処理部と、前記フィードバック決定ブロックが、前記フィードバック動作が必要であることを決定するならば前記フィードバック動作を実行するフィードバック動作装置を含む動作部と、を備える。
【０２０５】
上記構成によれば、フィードバック決定ブロックは、スピードデータに基づいて、フィードバック動作が必要であるか否かを判定する。スピードデータは、操作者の身体部位の移動スピードを表すので、フィードバック決定ブロックの決定は、操作者の身体部位の移動スピードに依存することになる。したがって、操作者は、身体部位のスピードを変更し、フィードバック動作装置がフィードバック動作を実行するか否かを選択することができる。
【０２０６】
上記構成において、前記センサは、前記移動データとして、前記移動の画像データを生成してもよい。前記処理部は、前記画像データからジェスチャデータを認識並びに抽出する認識部を含んでもよい。前記ジェスチャデータは前記動作コマンド及び前記スピードデータの生成に利用されてもよい。
【０２０７】
上記構成によれば、ジェスチャデータは、動作コマンド及びスピードデータの生成に利用されるので、操作者は、身体部位を移動し、ジェスチャを作ることによって、入力装置に指示を与えることができる。この間、操作者は、身体部位のスピードを変更し、フィードバック動作装置がフィードバック動作を実行するか否かを選択することができる。
【０２０８】
上記構成において、前記動作部は、前記動作コマンドに応じて、所定の動作を実行するコマンド実行装置を含んでもよい。前記フィードバック動作装置は、前記操作者に、前記動作コマンドによって定義づけられた前記所定の動作に関する動作情報を与えるための通知動作を実行してもよい。
【０２０９】
上記構成によれば、コマンド実行装置が所定の動作を実行するように身体部位を移動させてもよい。この間、操作者は、身体部位のスピードを変更することによって、フィードバック動作装置がフィードバック動作を実行するか否かを選択することができる。
【０２１０】
上記構成において、前記フィードバック決定ブロックは、前記スピードデータを閾値と比較することによって、前記フィードバック動作が必要であるか否かを決定してもよい。前記スピードデータが前記閾値よりも低いスピードを表すならば、前記動作部は、前記フィードバック動作を実行してもよい。前記スピードデータが前記閾値よりも低いスピードを表さないならば、前記動作部は、前記フィードバック動作を実行することなく前記動作コマンドに応じて所定の動作を実行してもよい。
【０２１１】
上記構成によれば、操作者が、閾値よりも低い速度で身体部位を移動させるならば、動作部は、フィードバック動作を実行する。他の場合には、動作部は、フィードバック動作を実行することなしに、動作コマンドに応じて、所定の動作を実行する。したがって、入力装置は、フィードバック動作を選択的に実行することができる。
【０２１２】
上記構成において、前記フィードバック決定ブロックは、前記フィードバック動作に関するフィードバック候補データを格納するフィードバック候補格納部を含んでもよい。前記フィードバック候補データは、前記動作コマンドに関連づけられてもよい。
【０２１３】
上記構成によれば、フィードバック候補格納部に格納されたフィードバック候補データは、動作コマンドに関連づけられるので、入力装置は、フィードバック候補データと動作コマンドとの間の関係に基づいて、多様に及び／又は正確に制御される。
【０２１４】
上記構成において、前記動作コマンドが、第１動作を定義するならば、前記フィードバック決定ブロックは、第１フィードバック動作を前記フィードバック候補データから選択してもよい。前記動作コマンドが、前記第１動作とは異なる第２動作を定義するならば、前記フィードバック決定ブロックは、前記第１フィードバック動作とは異なる第２フィードバック動作を前記フィードバック候補データから選択してもよい。
【０２１５】
上記構成によれば、フィードバック動作装置は、動作コマンドに応じて、第１フィードバック動作又は第２フィードバック動作を選択的に実行することができる。
【０２１６】
上記構成において、前記動作コマンドが前記フィードバック候補データに関連づけられないならば、前記動作部は、前記フィードバック動作を実行することなく、前記動作コマンドに応じて所定の動作を実行してもよい。
【０２１７】
上記構成によれば、動作コマンドがフィードバック候補データに関連づけられないならば、動作部は、フィードバック動作を実行することなく、所定の動作を実行するので、操作者は、フィードバック動作装置のフィードバック動作を待つことなく、動作部に所定の動作を実行させることができる。
【０２１８】
上記構成において、前記識別子は、前記フィードバック動作が必要であるか否かを表してもよい。前記識別子が、フィードバック動作が必要であることを表すならば、前記動作部は、前記フィードバック動作を実行してもよい。前記識別子が、フィードバック動作が不要であることを表すならば、前記動作部は、前記フィードバック動作を実行することなく、前記動作コマンドに応じて、所定の動作を実行してもよい。
【０２１９】
上記構成によれば、スピードデータに加えて、識別子は、フィードバック動作が必要であるか否かを決定するために利用されるので、入力装置は正確に制御される。
【０２２０】
上記構成において、前記識別子が、フィードバック動作が必要であることを表すならば、前記動作コマンドは、前記フィードバック決定ブロックに送られてもよい。前記フィードバック決定ブロックは、前記動作コマンドの受信に応じて、前記スピードデータに基づいて、前記フィードバック動作が必要であるか否かを決定してもよい。
【０２２１】
上記構成によれば、スピードデータに加えて、識別子は、フィードバック動作が必要であるか否かを決定するために利用されるので、入力装置は正確に制御される。
【０２２２】
上記構成において、前記識別子が、前記フィードバック動作が不要であることを表すならば、前記動作コマンドは、前記フィードバック決定ブロックを通過することなく、前記動作部へ送られてもよい。
【０２２３】
上記構成によれば、識別子が、フィードバック動作が不要であることを表すならば、動作コマンドは、フィードバック決定ブロックを通過することなく、動作部へ送られるので、動作部は、動作コマンドに対する不必要な処理なしで、所定の動作を実行することができる。
【０２２４】
上記構成において、前記動作コマンド生成部は、前記識別子が、前記フィードバック動作が必要であることを表すか、前記識別子が、前記フィードバック動作が不要であることを表すかを、前記移動データに基づいて決定してもよい。
【０２２５】
上記構成によれば、識別子が、フィードバック動作が必要であることを表すか、識別子が、フィードバック動作が不要であることを表すかは、身体部位の移動に依存するので、入力装置は、フィードバック動作を選択的に実行することができる。
【０２２６】
上記構成において、前記識別子は、変更可能であってもよい。
【０２２７】
上記構成によれば、識別子は、変更可能であるので、入力装置は、使用環境に応じて、適切に調整される。
【０２２８】
上記構成において、前記操作者の手が３次元座標系を定義するならば、前記認識部は、前記手を表すデータを前記ジェスチャデータとして抽出してもよい。
【０２２９】
上記構成によれば、動作コマンド生成部は、手によって定義された３次元座標系を用いて、動作コマンドを生成してもよい。スピードデータ生成部も、手によって定義された３次元座標系を用いて、スピードデータを生成してもよい。３次元座標系は、動作コマンド及びスピードデータの生成に共有されるので、身体部位の移動は、動作コマンド及びスピードデータに適切に反映されることになる。
【０２３０】
上記構成において、前記３次元座標系は、前記手の真っ直ぐな指によって定義される第１軸と、前記手の他のもう１つの真っ直ぐな指によって定義される第２軸と、残りの指のうち真っ直ぐに伸ばされた少なくとも１つの指によって定義された第３軸と、を含んでもよい。前記第１軸と前記第２軸との間の角度、前記第２軸と前記第３軸との間の角度及び前記第３軸と前記第１軸との間の角度は、７０°から１２０°の範囲にあってもよい。
【０２３１】
上記構成によれば、第１軸と第２軸との間の角度、第２軸と第３軸との間の角度及び第３軸と第１軸との間の角度は、７０°から１２０°の範囲であるので、操作者が３次元座標系を意図的に手で形成しないならば、認識部は、ジェスチャデータを認識することはほとんどない。したがって、入力装置は、動作コマンド及び／又はスピードデータを誤って生成することはほとんどない。
【０２３２】
上記構成において、前記フィードバック動作装置は、前記操作者に、前記動作コマンドによって定義づけられた前記所定の動作に関する動作情報を与えるための通知動作を実行してもよい。
【０２３３】
上記構成によれば、操作者は、通知動作を実行するフィードバック動作装置から動作情報を受け取ると入力装置に情報が正しく入力されたか否かを知ることができる。
【０２３４】
上記構成において、前記コマンド実行装置は、前記フィードバック動作装置が前記動作情報を与えてから所定の遅延期間後に、前記所定の動作を実行してもよい。
【０２３５】
上記構成によれば、フィードバック動作装置が動作情報を与えた後の遅延期間が存在するので、コマンド実行装置が所定の動作を開始する前に、遅延期間の間に入力デバイスに入力された要求を取り消すことができる。
【０２３６】
上記構成において、前記センサは、前記身体部位の接触に応じて、前記移動データを生成する接触検知型装置を含んでもよい。前記処理部は、前記移動データからジェスチャデータを認識並びに抽出する認識部を含んでもよい。前記ジェスチャデータは前記動作コマンド及び前記スピードデータの生成に利用されてもよい。
【０２３７】
上記構成によれば、使用者は、様々な接触検知型装置を利用して、動作要求を入力することができる。
【０２３８】
上記構成において、前記動作部は、前記操作者からの前記フィードバック動作の確認結果を受け取るフィードバックインターフェース装置を含んでもよい。前記確認結果は、前記動作コマンドの実行又は前記動作コマンドのキャンセルの確認を表してもよい。
【０２３９】
上記構成において、使用者は、動作要求を精度よく入力することができる。
【０２４０】
上記構成において、前記確認結果が、前記動作コマンドの実行を指示するならば、前記動作部は、前記動作コマンドに応じて、所定の動作を実行してもよい。
【０２４１】
上記構成によれば、動作部は、使用者の動作要求に応じて適切に動作することができる。
【０２４２】
上記構成において、前記確認結果が、前記動作コマンドのキャンセルを指示するならば、前記動作部は、前記センサから新たな移動データを受けることなしに、代替的な動作コマンドを生成してもよい。
【０２４３】
上記構成によれば、動作部は、センサから新たな移動データを受けることなしに、代替的な動作コマンドを生成するので、使用者は、動作要求を円滑に入力することができる。
【０２４４】
上記構成において、前記フィードバック決定部は、前記代替的な動作コマンドに応じたフィードバック動作が必要であることを判定してもよい。前記動作部は、前記代替的な動作コマンドに応じて、前記フィードバック動作を実行してもよい。
【０２４５】
上記構成によれば、動作部は、代替的な動作コマンドに応じて、フィードバック動作を実行するので、使用者は、代替的な動作コマンドが適切か否かを判断することができる。
【０２４６】
上記構成において、前記スピードデータは、前記動作コマンド生成部によって、前記代替的な動作コマンドを生成するために用いられもよい。
【０２４７】
上記構成によれば、スピードデータは、動作コマンド生成部によって、代替的な動作コマンドを生成するために用いられるので、動作部は、代替的な動作コマンドを精度よく生成することができる。
【０２４８】
上記構成において、前記動作コマンド生成部は、前記動作コマンドのキャンセルの後、１回に限り、前記代替的な動作コマンドを生成してもよい。
【０２４９】
上記構成によれば、動作コマンド生成部は、動作コマンドのキャンセルの後、１回に限り、代替的な動作コマンドを生成するので、使用者は、動作要求を円滑に入力することができる。
【０２５０】
上記構成において、前記動作コマンド生成部は、前記動作コマンドのキャンセル及び前回の代替的な動作コマンドのキャンセルそれぞれの後、２回に限り、前記代替的な動作コマンドを生成してもよい。
【０２５１】
上記構成によれば、動作コマンド生成部は、動作コマンドのキャンセル及び前回の代替的な動作コマンドのキャンセルそれぞれの後、２回に限り、代替的な動作コマンドを生成するので、使用者は、動作要求を円滑に入力することができる。
【０２５２】
上述の様々な実施形態の他の局面に係る方法は、動作要求を入力するために利用される。当該方法は、操作者の身体部位の移動を検出し、前記身体部位の前記移動に関する移動データを生成する段階と、前記移動データから、所定の動作を定義する動作コマンドと、前記移動のスピードを表すスピードデータと、を生成する段階と、前記スピードデータに基づいて、前記操作者が前記動作コマンドを確認することを可能にするフィードバック動作が必要であるか否かを決定する段階と、前記フィードバック動作が必要とされるならば、前記フィードバック動作を実行する段階と、を備える。
【０２５３】
上記構成によれば、フィードバック動作が必要であるか否かは、スピードデータに基づいて決定される。スピードデータは、操作者の身体部位の移動スピードを表すので、当該決定は、操作者の身体部位の移動スピードに依存することになる。したがって、操作者は、身体部位のスピードを変更し、フィードバック動作装置がフィードバック動作を実行するか否かを選択することができる。
【０２５４】
上記構成において、方法は、前記動作コマンドに応じて、前記所定の動作を実行する段階を更に備えてもよい。
【０２５５】
上記構成によれば、所定の動作が得られるように、操作者は、身体部位を移動させてもよい。この間、操作者は、身体部位のスピードを変更することによって、フィードバック動作が実行されるか否かを選択することができる。
【産業上の利用可能性】
【０２５６】
上述の様々な実施形態の原理は、操作者からの動作要求に応じて動作するように設計された様々な装置に利用されてもよい。
【図１】
2014203459.tif 000003
【図２】
2014203459.tif 000004
【図３】
2014203459.tif 000005
【図４】
2014203459.tif 000006
【図５】
2014203459.tif 000007
【図６】
2014203459.tif 000008
【図７Ａ】
2014203459.tif 000009
【図７Ｂ】
2014203459.tif 000010
【図８Ａ】
2014203459.tif 000011
【図８Ｂ】
2014203459.tif 000012
【図９】
2014203459.tif 000013
【図１０】
2014203459.tif 000014
【図１１】
2014203459.tif 000015
【図１２】
2014203459.tif 000016
【図１３】
2014203459.tif 000017
【図１４】
2014203459.tif 000018
【図１５Ａ】
2014203459.tif 000019
【図１５Ｂ】
2014203459.tif 000020
【図１６】
2014203459.tif 000021
【図１７】
2014203459.tif 000022
【図１８】
2014203459.tif 000023
【図１９】
2014203459.tif 000024
【図２０Ａ】
2014203459.tif 000025
【図２０Ｂ】
2014203459.tif 000026
【図２１】
2014203459.tif 000027
【図２２】
2014203459.tif 000028
【図２３】
2014203459.tif 000029
【図２４Ａ】
2014203459.tif 000030
【図２４Ｂ】
2014203459.tif 000031
【図２５Ａ】
2014203459.tif 000032
【図２５Ｂ】
2014203459.tif 000033
【図２６】
2014203459.tif 000034
【図２７】
2014203459.tif 000035
【図２８】
2014203459.tif 000036
【図２９】
2014203459.tif 000037
【図３０】
2014203459.tif 000038
【国際調査報告】
2014203459.tif 000039
2014203459.tif 000040