(57)【要約】【課題】ユーザの意思に応じた入力処理を被制御装置に実行させるためにその被制御装置に対してユーザが入力を行うことを支援する入力支援装置において、ユーザの使い勝手を改善する。【解決手段】入力支援装置１０において、ユーザの手の親指の位置と動作と形状とのうちの少なくとも一つである幾何学量を３次元現実空間内において３次元的に検出し、その検出された幾何学量に基づき、被制御装置１２に実行させるべき入力処理を決定し、その決定された入力処理を被制御装置に実行させるための制御信号をその被制御装置に送信する。【選択図】図４
2006163747.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの意思に応じた入力処理を被制御装置に実行させるためにその被制御装置に対してユーザが入力を行うことを支援する入力支援装置であって、
前記ユーザによって動作させられる動作部位の位置と動作と形状とのうちの少なくとも一つである幾何学量を３次元現実空間内において３次元的に検出する検出部と、
その検出された幾何学量に基づき、前記被制御装置に実行させるべき入力処理を決定し、その決定された入力処理を前記被制御装置に実行させるための制御信号をその被制御装置に送信する決定部と
を含む入力支援装置。
【請求項２】
前記決定部は、前記入力処理を前記被制御装置に２次元的に行わせるために、前記検出された幾何学量から、ユーザが前記入力処理を特定するための前記動作部位の２次元動作と、ユーザによる前記動作部位の１次元動作とを互いに区別して抽出する第１抽出部を含む請求項１に記載の入力支援装置。
【請求項３】
前記２次元動作は、ポインタを２次元仮想平面上においてユーザの意思に応じた移動方向および移動量のもとに移動させるための前記動作部位の動作を含む請求項２に記載の入力支援装置。
【請求項４】
前記２次元動作は、前記動作部位が基準平面上を移動する平面動作であり、
前記１次元動作は、前記動作部位が前記基準平面に対して交差する方向に移動する交差動作であり、
前記平面動作は、前記動作部位が前記基準平面上において移動する移動方向および移動量によって定義され、
それら移動方向および移動量は、座標入力位置の移動方向および移動量にそれぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、相対的な座標入力である請求項３に記載の入力支援装置。
【請求項５】
前記２次元動作は、バーチャルな２次元キーボードにおける複数のキーのうちユーザの意思に応じたキーを選択するための前記動作部位の動作を含む請求項２ないし４のいずれかに記載の入力支援装置。
【請求項６】
前記２次元動作は、前記動作部位が基準平面上を移動する平面動作であり、
前記１次元動作は、前記動作部位が前記基準平面に対して交差する方向に移動する交差動作であり、
前記２次元動作は、前記動作部位が前記基準平面上に位置し得る複数個の絶対位置によって記述され、
それら複数個の絶対位置は、複数個の座標入力位置にそれぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、絶対的な座標入力である請求項５に記載の入力支援装置。
【請求項７】
前記決定部は、前記入力処理を前記被制御装置に３次元的に行わせるために、前記検出された幾何学量から、前記入力処理を特定するための３次元動作を抽出する第２抽出部を含む請求項１ないし６のいずれかに記載の入力支援装置。
【請求項８】
前記３次元動作は、ポインタを３次元仮想空間内においてユーザの意思に応じた移動方向および移動量のもとに移動させるための前記動作部位の動作を含む請求項７に記載の入力支援装置。
【請求項９】
前記３次元動作は、前記動作部位が前記３次元現実空間内を移動する移動方向および移動量によって定義され、
それら移動方向および移動量は、座標入力位置の移動方向および移動量にそれぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、相対的な座標入力である請求項８に記載の入力支援装置。
【請求項１０】
前記３次元動作は、前記動作部位が前記３次元現実空間内に位置し得る複数個の絶対位置によって記述され、
それら複数個の絶対位置は、複数個の座標入力位置にそれぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、絶対的な座標入力である請求項７ないし９のいずれかに記載の入力支援装置。
【請求項１１】
前記３次元動作は、バーチャルな３次元キーボードにおける複数のキーのうちユーザの意思に応じたキーを選択するための前記動作部位の動作を含む請求項７ないし１０のいずれかに記載の入力支援装置。
【請求項１２】
前記検出された幾何学量は、前記動作部位の３次元形状を含み、
前記決定部は、その３次元形状が、前記動作部位によるジェスチャーを表現し、かつ、そのジェスチャーが、予め定められたジェスチャーに合致する場合に、そのジェスチャーに予め割り付けられた入力処理を前記被制御装置に実行させるジェスチャー判定部を含む請求項１ないし１１のいずれかに記載の入力支援装置。
【請求項１３】
前記検出部は、前記被制御装置から物理的に独立して可搬性を有する請求項１ないし１２のいずれかに記載の入力支援装置。
【請求項１４】
前記動作部位は、前記ユーザの片手における複数本の指のうちのいずれかである入力指であり、
当該入力支援装置は、さらに、前記検出部と前記決定部とを収容する筐体を含み、
その筐体の一部は、前記片手によって握られて使用されるグリップ部である請求項１ないし１３のいずれかに記載の入力支援装置。
【請求項１５】
前記グリップ部は、前記複数本の指のうち前記入力指に該当しないものが接触させられる位置に対応する位置に、操作されると、予め割り付けられたシンボルが選択される選択部を含む請求項１４に記載の入力支援装置。
【請求項１６】
前記筐体は、さらに、前記動作部位が接触状態で移動させられる操作面を基準平面として有する操作部を含む請求項１４または１５に記載の入力支援装置。
【請求項１７】
前記操作部は、前記操作面に設けられ、その操作面上における前記動作部位の現在の接触位置を前記ユーザが前記操作面上において視覚的に確認することを支援する形象を含む請求項１６に記載の入力支援装置。
【請求項１８】
前記形象は、前記操作面上において前記動作部位の前記幾何学量に応じて可変に表示される請求項１７に記載の入力支援装置。
【請求項１９】
当該入力支援装置は、複数の入力モードのうちユーザによって選択されたものに従ってユーザによる入力を許可し、
前記形象は、前記操作面上において前記入力モードの選択結果に応じて可変に表示される請求項１７または１８に記載の入力支援装置。
【請求項２０】
前記操作部は、前記操作面に設けられ、その操作面上における前記動作部位の現在の接触位置を前記ユーザに前記操作面上において触覚的に確認することを支援する立体的形状を含む請求項１６ないし１９のいずれかに記載の入力支援装置。
【請求項２１】
前記入力指は、前記片手の親指であり、
前記筐体は、ユーザが前記グリップ部を握って前記片手を概して水平に伸ばした状態において前記操作面が水平面に対して前上がりに傾斜する姿勢となる形状を有する請求項１６ないし２０のいずれかに記載の入力支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの意思に応じた入力処理を被制御装置に実行させるためにその被制御装置に対してユーザが入力を行うことを支援する技術に関するものであり、特に、ユーザの使い勝手を向上させる技術に関するものである。
【背景技術】
【０００２】
ユーザの意思に応じた入力処理を被制御装置に実行させるためにその被制御装置に対してユーザが入力を行うことを支援する技術が既に存在する。その入力処理は、座標入力とシンボル選択とのうちの少なくとも一方を含んでいる。
【０００３】
この種の技術の一従来例が特許文献１に開示されている。この従来例によれば、ユーザがデジタルデータを、ＰＤＡ、携帯電話機等のようなコンパニオンシステムすなわち付随装置または被制御装置に、キーボードの画像のような仮想入力装置を用いて入力することが可能となる。
【特許文献１】米国特許第６６１４４２２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、この従来例を実施する場合には、キーボードの像が表示され、その像に対してユーザが両手を使用することによってキーボードがバーチャルに操作される。そのため、この従来例を実施する場合には、現実のキーボードが不要になるという利点は得られるものの、操作のために必要な空間の大きさはほとんど変わらないし、ユーザが手を動かす空間の大きさもほとんど変わらない。
【０００５】
このような事情に鑑み、本発明は、ユーザの意思に応じた入力処理を被制御装置に実行させるためにその被制御装置に対してユーザが入力を行うことを支援する技術において、ユーザの使い勝手を改善することを課題としてなされたものである。
【課題を解決するための手段】
【０００６】
本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。
【０００７】
さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈すべきである。
【０００８】
（１）  ユーザの意思に応じた入力処理を被制御装置に実行させるためにその被制御装置に対してユーザが入力を行うことを支援する入力支援装置であって、
前記ユーザによって動作させられる動作部位の位置と動作と形状とのうちの少なくとも一つである幾何学量を３次元現実空間内において３次元的に検出する検出部と、
その検出された幾何学量に基づき、前記被制御装置に実行させるべき入力処理を決定し、その決定された入力処理を前記被制御装置に実行させるための制御信号をその被制御装置に送信する決定部と
を含む入力支援装置。
【０００９】
この装置においては、ユーザによって動作させられる動作部位の位置と動作と形状とのうちの少なくとも一つである幾何学量が３次元現実空間内において３次元的に検出され、その検出された幾何学量に基づき、被制御装置に実行させるべき入力処理が決定される。
【００１０】
したがって、この装置によれば、ユーザの動作部位の幾何学量を２次元的にしか検出し得ない場合に比較し、ユーザが同じ情報量を被制御装置に伝達するために必要なユーザの動作部位の作業空間の長さが短くて済む。よって、この装置によれば、ユーザの使い勝手が向上する。さらに、この装置によれば、ユーザが入力を行う場所の制約が緩和されるため、ユーザは、入力を行う場所を比較的自由に選択し得る。
【００１１】
本項における「決定部」は、決定された入力処理を被制御装置に伝達するために、その決定された入力処理を表す制御信号を被制御装置に無線で送信したり、有線で送信することが可能である。
【００１２】
本項における「動作部位」は、例えば、ユーザの身体のうちそのユーザによって動作させられる動作部位である。この動作部位は、典型的には、人間の手であるが、他の部位に変更することが可能である。例えば、人間の足にしたり、舌にすることが可能である。
【００１３】
本項における「動作部位」は、また、人間に装着された機械要素とすることが可能である。「動作部位」は、さらに、遠隔操作ロボット等に代表される機械的動作要素とすることも可能である。
【００１４】
本項における「入力処理」は、座標入力とシンボル選択とのうちの少なくとも一方を含んでいる。「座標」は、仮想的な２次元空間内または３次元空間内におけるポインタの位置や、その位置の時系列的な動きを意味する概念である。「シンボル」は、コマンド、ファンクション、キャラクタ、コード、スイッチ等を含む上位の概念である。
【００１５】
したがって、同項に係る入力支援装置によれば、例えば、ポインティング入力とシンボル入力との少なくとも一方が前記被制御装置において実行される。それらポインティング入力とシンボル入力との双方を実行可能である入力支援装置の従来例には、クリックスイッチを備えたマウスや、ジョイスティックまたはパッドを備えた卓上キーボードがある。
【００１６】
（２）  前記決定部は、前記入力処理を前記被制御装置に２次元的に行わせるために、前記検出された幾何学量から、ユーザが前記入力処理を特定するための前記動作部位の２次元動作と、ユーザによる前記動作部位の１次元動作とを互いに区別して抽出する第１抽出部を含む（１）項に記載の入力支援装置。
【００１７】
この装置によれば、ユーザは、動作部位の３次元動作を、その一部は入力処理を特定する特定工程のために、別の一部は、その入力処理とは別の目的に行うことが可能となる。
【００１８】
例えば、その別の目的の一例は、ユーザが入力処理を特定するための動作部位の２次元動作を行った後に、その２次元動作を確認することである。この例においては、ユーザは、動作部位の３次元動作を、その一部は入力処理を特定する特定工程のために、別の一部はその特定された入力処理を確認する確認工程のために行うことが可能となる。したがって、この例によれば、その確認工程のために、別の動作部位の操作を必要とせずに済み、それにより、ユーザの使い勝手が向上する。
【００１９】
（３）  前記２次元動作は、ポインタを２次元仮想平面上においてユーザの意思に応じた移動方向および移動量のもとに移動させるための前記動作部位の動作を含む（２）項に記載の入力支援装置。
【００２０】
この装置によれば、動作部位の３次元動作により、２次元マウス入力とその内容を確認する操作とを行うことが可能となる。
【００２１】
（４）  前記２次元動作は、前記動作部位が基準平面上を移動する平面動作であり、
前記１次元動作は、前記動作部位が前記基準平面に対して交差する方向に移動する交差動作であり、
前記平面動作は、前記動作部位が前記基準平面上において移動する移動方向および移動量によって定義され、
それら移動方向および移動量は、座標入力位置の移動方向および移動量にそれぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、相対的な座標入力である（３）項に記載の入力支援装置。
【００２２】
（５）  前記２次元動作は、バーチャルな２次元キーボードにおける複数のキーのうちユーザの意思に応じたキーを選択するための前記動作部位の動作を含む（２）ないし（４）項のいずれかに記載の入力支援装置。
【００２３】
この装置によれば、動作部位の３次元動作により、２次元キーボード入力とその内容を確認する操作とを行うことが可能となる。
【００２４】
（６）  前記２次元動作は、前記動作部位が基準平面上を移動する平面動作であり、
前記１次元動作は、前記動作部位が前記基準平面に対して交差する方向に移動する交差動作であり、
前記２次元動作は、前記動作部位が前記基準平面上に位置し得る複数個の絶対位置によって記述され、
それら複数個の絶対位置は、複数個の座標入力位置にそれぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、絶対的な座標入力である（５）項に記載の入力支援装置。
【００２５】
（７）  前記決定部は、前記入力処理を前記被制御装置に３次元的に行わせるために、前記検出された幾何学量から、前記入力処理を特定するための３次元動作を抽出する第２抽出部を含む（１）ないし（６）項のいずれかに記載の入力支援装置。
【００２６】
（８）  前記３次元動作は、ポインタを３次元仮想空間内においてユーザの意思に応じた移動方向および移動量のもとに移動させるための前記動作部位の動作を含む（７）項に記載の入力支援装置。
【００２７】
この装置によれば、動作部位の３次元動作により、３次元ポインタ入力を行うことが可能となる。
【００２８】
（９）  前記３次元動作は、前記動作部位が前記３次元現実空間内を移動する移動方向および移動量によって定義され、
それら移動方向および移動量は、座標入力位置の移動方向および移動量にそれぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、相対的な座標入力である（８）項に記載の入力支援装置。
【００２９】
この装置によれば、動作部位の３次元動作により、３次元相対座標入力を行うことが可能となる。
【００３０】
（１０）  前記３次元動作は、前記動作部位が前記３次元現実空間内に位置し得る複数個の絶対位置によって記述され、
それら複数個の絶対位置は、複数個の座標入力位置にそれぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、絶対的な座標入力である（７）ないし（９）項のいずれかに記載の入力支援装置。
【００３１】
この装置によれば、動作部位の３次元動作により、３次元絶対座標入力を行うことが可能となる。
【００３２】
（１１）  前記３次元動作は、バーチャルな３次元キーボードにおける複数のキーのうちユーザの意思に応じたキーを選択するための前記動作部位の動作を含む（７）ないし（１０）項のいずれかに記載の入力支援装置。
【００３３】
この装置によれば、動作部位の３次元動作により、３次元キーボード入力を行うことが可能となる。
【００３４】
（１２）  前記検出された幾何学量は、前記動作部位の３次元形状を含み、
前記決定部は、その３次元形状が、前記動作部位によるジェスチャーを表現し、かつ、そのジェスチャーが、予め定められたジェスチャーに合致する場合に、そのジェスチャーに予め割り付けられた入力処理を前記被制御装置に実行させるジェスチャー判定部を含む（１）ないし（１１）項のいずれかに記載の入力支援装置。
【００３５】
この装置によれば、動作部位の３次元動作によって表現されるジェスチャーにより、該当する種類の入力処理を被制御装置に指示することが可能となる。
【００３６】
本項においては、「ジェスチャーに予め割り付けられた入力処理」は、通常、特定のシンボルである。よって、本項に係る装置によれば、動作部位によるジェスチャーによって所望のシンボルが選択される。
【００３７】
（１３）  前記検出部は、前記被制御装置から物理的に独立して可搬性を有する（１）ないし（１２）項のいずれかに記載の入力支援装置。
【００３８】
この装置によれば、同じ場所に設置されて使用される場合より、当該装置の位置の自由度が向上してユーザの使い勝手も向上する。
【００３９】
（１４）  前記動作部位は、前記ユーザの片手における複数本の指のうちのいずれかである入力指であり、
当該入力支援装置は、さらに、前記検出部と前記決定部とを収容する筐体を含み、
その筐体の一部は、前記片手によって握られて使用されるグリップ部である（１）ないし（１３）項のいずれかに記載の入力支援装置。
【００４０】
この装置によれば、指の３次元動作により、該当する入力処理が被制御装置に指示されるため、同じ指示を手の全体的移動を伴う動作によって行わなければならない場合に比較し、人間の動作領域が縮小する結果、ユーザの使い勝手が向上する。
【００４１】
（１５）  前記グリップ部は、前記複数本の指のうち前記入力指に該当しないものが接触させられる位置に対応する位置に、操作されると、予め割り付けられたシンボルが選択される選択部を含む（１４）項に記載の入力支援装置。
【００４２】
この装置によれば、同じ手の複数本の指を有効に利用することにより、該当する入力処理を被制御装置に指示することが可能となる。
【００４３】
（１６）  前記筐体は、さらに、前記動作部位が接触状態で移動させられる操作面を基準平面として有する操作部を含む（１４）または（１５）項に記載の入力支援装置。
【００４４】
（１７）  前記操作部は、前記操作面に設けられ、その操作面上における前記動作部位の現在の接触位置を前記ユーザが前記操作面上において視覚的に確認することを支援する形象を含む（１６）項に記載の入力支援装置。
【００４５】
この装置によれば、当該装置に不慣れなユーザでも確実な操作を容易に行い得る。
【００４６】
（１８）  前記形象は、前記操作面上において前記動作部位の前記幾何学量に応じて可変に表示される（１７）項に記載の入力支援装置。
【００４７】
この装置によれば、形象が不変に操作面上に表示される場合より、同じ操作面によって表示可能な形象の種類が増加し、その結果、その操作面からユーザに提供し得る情報の種類および量が増加する。
【００４８】
本項における「形象」は、例えば、図形、記号、形状等、一定の観念を連想させる視覚的表示を意味する。
【００４９】
（１９）  当該入力支援装置は、複数の入力モードのうちユーザによって選択されたものに従ってユーザによる入力を許可し、
前記形象は、前記操作面上において前記入力モードの選択結果に応じて可変に表示される（１７）または（１８）項に記載の入力支援装置。
【００５０】
（２０）  前記操作部は、前記操作面に設けられ、その操作面上における前記動作部位の現在の接触位置を前記ユーザに前記操作面上において触覚的に確認することを支援する立体的形状を含む（１６）ないし（１９）項のいずれかに記載の入力支援装置。
【００５１】
この装置によれば、当該装置に不慣れなユーザでも確実な操作を容易に行い得る。さらに、その操作面上の立体的形状と入力指の位置の関係に慣れれば、ユーザは、その操作面を見ずに入力のための操作を行うこと、すなわち、ブラインドタッチが可能となる。
【００５２】
（２１）  前記入力指は、前記片手の親指であり、
前記筐体は、ユーザが前記グリップ部を握って前記片手を概して水平に伸ばした状態において前記操作面が水平面に対して前上がりに傾斜する姿勢となる形状を有する（１６）ないし（２０）項のいずれかに記載の入力支援装置。
【００５３】
一般に、人間が腕を前方にかつ水平に伸ばそうとすると、手が自然に垂直面に沿って延びる姿勢を示す。このとき、親指を除く他の４本の指は互いにほぼ水平に延びるのに対し、親指は、自然な状態においては、前上がりに傾斜している。この状態において、人間は、親指を意識的に曲げてほぼ水平な姿勢にすることは可能であるが、それは多少不自然な姿勢であるため、このような姿勢を長時間続けると手に疲労が早期に発生する。
【００５４】
手と筐体との幾何学的な関係を考察するに、親指の延びる方向は、筐体のうちの操作部の操作面の方向に対応し、一方、４本の指にほぼ直角な方向は、筐体のうちのグリップ部の長さ方向に対応する。ただし、正確には、グリップ部の長さ方向に対応するのは、それら４本の指のうちの小指と薬指と中指の各第２関節を通過する一直線の方向であって、この方向は、４本の指にほぼ直角な方向に対し、前上がりに傾斜している。
【００５５】
したがって、グリップ部を握っている状態で自然に親指が操作面に接触するようにするためには、操作面とグリップ部との成す角度を鈍角にすることが望ましい。さらに、それら操作面とグリップとの成す角度は、ユーザがグリップ部を握って概して真直ぐに片手を伸ばした状態において操作面が水平面に対して前上がりに傾斜する姿勢となることが望ましい。
【００５６】
このような知見に基づき、本項に係る装置においては、筐体が、ユーザがグリップ部を握って片手を概して水平に伸ばした状態において操作面が水平面に対して前上がりに傾斜する姿勢となる形状を有するものとされている。
【００５７】
したがって、この装置によれば、ユーザは、筐体を自然に握る状態において操作を行うことが可能となり、よって、操作に起因した疲労が軽減され、さらに、正確な操作が容易となる。
【発明を実施するための最良の形態】
【００５８】
以下、本発明のさらに具体的な実施の形態のいくつかを図面に基づいて詳細に説明する。
【００５９】
図１には、本発明の第１実施形態に従う入力支援装置１０の外観が平面図と側面図とで示され、図２には、この入力支援装置１０のうちの電気的構成部がブロック図で概念的に表されている。
【００６０】
この入力支援装置１０は、ユーザの意思に応じた座標入力とシンボル選択とのうちの少なくとも一方を含む入力処理を被制御装置１２に実行させるためにその被制御装置１２に対してユーザが入力を行うことを支援する。
【００６１】
被制御装置１２は、入力支援装置１０から供給される情報（座標値やシンボル）に基づいて一定の入力処置を実行する装置である。この被制御装置１２は、典型的には、例えば、コンピュータ本体、コンピュータ端末や携帯情報端末ＰＤＡであるが、携帯電話、ＰＨＳ等の移動電話とすることも可能である。
【００６２】
図１に示すように、この入力支援装置１０は、筐体２０を備えている。この筐体２０内に入力支援装置１０の電気的構成部が収容されている。図３（ａ）には、その筐体２０が側面図で示され、同図（ｂ）には、その筐体２０が、ユーザに手（図に示す例においては右手）で握られて使用される使用状態において、斜視図で示されている。
【００６３】
図３（ａ）に示すように、筐体２０は、３個の部分すなわち先端部２２、操作部２４およびグリップ部２６が同一平面上において互いに直列に連結されることによって構成されている。いずれの部分２２，２４，２６も、側面視において概して直線的に延びている。それら部分２２，２４，２６のうち互いに隣接する２個の部分は、それらの間に鈍角が形成されるように互いに連結されている。
【００６４】
グリップ部２６は、筐体２０のうちユーザの手によって握られる部分である。入力支援装置１０は、その使用中、操作部２４において概して水平である姿勢で使用される。この使用状態においては、グリップ部２６が、鉛直方向に対して少し前方に傾斜した方向に延びる姿勢を示す。
【００６５】
操作部２４の上面は、手の親指のための操作面３０（これが前記（１）項における「基準平面ＲＰ」の一例である。）として使用される。ユーザは、親指でその操作面３０をこするように筐体２０を操作したり、その操作面３０を叩くように筐体２０を操作することが可能である。さらに、ユーザは、その操作面３０の上方位置において、親指によって特定のジェスチャーを表現するように筐体２０を操作することも可能である。
【００６６】
図３（ａ）および（ｂ）に示すように、操作部２４の両側面のうち、その操作部２４が手によって握られている状態においてその手の５本の指のうち親指を除く４本の指に対向する側面にスイッチ類３０が配置されている。このスイッチ類３０は、それら４本の指と同数のスイッチ３０ａ，３０ｂ，３０ｃ，３０ｄを備えている。それら４個のスイッチ３０ａ，３０ｂ，３０ｃ，３０ｄは、対応する各指の先端位置に接触可能な位置にそれぞれ配置されている。
【００６７】
それらスイッチ３０ａ，３０ｂ，３０ｃ，３０ｄは、後述の入力モード（２次元マウス入力モード、２次元キーボード入力モード、３次元ポインタ入力モードおよび３次元キーボード）を切り換えるためにユーザによって操作されるスイッチを含んでいる。また、それらスイッチは、表示画面のレイヤを切り換えるためにユーザによって操作されるスイッチを含むようにすることが可能である。
【００６８】
図３（ｂ）に示すように、操作部２４の上方に、ユーザの手の親指が入力指として位置決めされる。その親指の動作および形状を３次元的にかつ光学的に検出するために、先端部２２に投影部３４と撮像部３６とが装着されている。
【００６９】
具体的には、図１に示すように、操作部２４の上方であって先端部２２の後方である空間が、入力を行うための入力領域４０に設定されている。投影部３４は、その入力領域４０に沿って光（例えば、空間コード化法を実施するためのパターン光）を出射する。したがって、その入力領域４０内に親指が位置すれば、その親指に光が照射される。投影部３４には、入力領域４０を通過して前後方向に延びる光軸４２が設定されており、この光軸４２を基準にして、この投影部３４による投影が可能な投影範囲４４が決まる。
【００７０】
その結果、その親指からの反射光が生成され、その反射光の一部は撮像部３６に入射光として入射する。その撮像部３６は、その入射光に基づいて親指を撮像する。この撮像部３６には、入力領域４０を通過して前後方向に延びる光軸４６が設定されており、この光軸４６を基準にして、この撮像部３６による撮像が可能な撮像範囲４８が決まる。
【００７１】
図４には、入力支援装置１０と、この入力支援装置１０と通信する被制御装置１２のディスプレイとが斜視図で示されている。例えば、入力支援装置１０が、バーチャルな２次元キーボード上の任意のキーをユーザの親指のアクションまたはジェスチャーに応じて押下するように作動する場合には、その２次元キーボードが、被制御装置１２のディスプレイ上に、そのうちの特定のキーがユーザによって押下された様子と共に、映像として表示される。
【００７２】
被制御装置１２のディスプレイは、その被制御装置１２に一体的に装着されるものとしたり、分離して装着されるものとすることができる。また、そのディスプレイは、デスクトップ型のディスプレイとしたり、図１３に示すように、ユーザの頭部に装着されて使用されるヘッドマウント型のディスプレイとすることができる。また、そのディスプレイは、ユーザに表示画像に奥行き感を感じさせる奥行き表示（例えば、視差等を利用した立体表示や、３ＤＣＡＤ等の２Ｄ画面での奥行き表示）を行うものとすることができる。
【００７３】
図２に示すように、入力支援装置１０の電気的構成部は、コンピュータ５０を備えている。コンピュータ５０は、よく知られているように、ＣＰＵ５２と、ＲＯＭ５４と、ＲＡＭ５６とが複数のバス５８を介して接続されることによって構成されている。このコンピュータ５０は、バス６０を介して複数の装置やスイッチ類３０に接続されている。そのスイッチ類３０に前述の４個のスイッチ３０ａ，３０ｂ，３０ｃ，３０ｄが含まれる。
【００７４】
図２に示すように、それら複数の装置は、外部メモリ６４と、電源インタフェース６６と、ＲＦドライバ６８とを含んでいる。外部メモリ６４は、必要なデータを保存するために設けられ、電源インタフェース６６は、入力支援装置１０への電力供給のために設けられ、ＲＦドライバ６８は、必要な情報を被制御装置１２との間において無線で通信するために設けられている。
【００７５】
前記撮像部３６は、受光素子としてのＣＣＤ７２を主体として構成されており、そのＣＣＤ７２はＣＣＤインタフェース７４および前記バス６０を順に介してコンピュータ５０に接続されている。
【００７６】
一方、前記投影部３４は、発光素子としてのＬＥＤアレイ７６を主体として構成されており、そのＬＥＤアレイ７６は光源ドライバ７８および前記バス６０を順に介してコンピュータ５０に接続されている。この投影部３４は、さらに、ユーザの親指に投光されるパターン光のパターン（投光パターン）を変化させる投光パターン変化手段としての投影ＬＣＤ８２を含んでいる。その投影ＬＣＤは、投影ＬＣＤドライバ８４および前記バス６０を順に介してコンピュータ５０に接続されている。
【００７７】
図２に示すように、ＲＯＭ５４には、装置制御プログラム、３次元形状計測プログラムおよび空間コード化光投光制御プログラムが記憶されている。
【００７８】
それらプログラムを概略的に説明すれば、装置制御プログラムは、この入力支援装置１０の全体を制御するためにコンピュータ５０によって実行される。３次元形状計測プログラムは、計測対象すなわちユーザの親指の３次元形状を空間コード化法によって計測するためにコンピュータ５０によって実行される。空間コード化光投光制御プログラムは、計測対象すなわちユーザの親指の３次元計測のためにその親指に投影されるパターン光のパターンを投影ＬＣＤ８２を介して制御するためにコンピュータ５０によって実行される。空間コード化法による３次元形状計測は、既に広く知られている技術であるため、更なる説明を省略する。
【００７９】
図２に示すように、ＲＯＭ５４には、さらに、２次元マウス入力制御プログラムと、２次元キーボード入力制御プログラムと、３次元ポインタ入力制御プログラムと、３次元キーボード入力制御プログラムとが記憶されている。それらの詳細は後述する。
【００８０】
図２に示すように、ＲＯＭ５４には、さらに、それら制御プログラムによって呼び出されて実行されるサブルーチンとして、親指位置検出プログラムと、親指重心座標算出プログラム、押下判定プログラムと、移動方向・移動量算出プログラムと、ジェスチャー判定プログラムとが記憶されている。それらの詳細は後述する。
【００８１】
これに対し、ＲＡＭ５６には、図２に示すように、撮像画像格納部９０と、コード光境界座標格納部９２と、３次元座標格納部９４と、親指位置座標格納部９６と、ワーキングエリア９８とが割り当てられている。それらのうち少なくとも撮像画像格納部９０およびコード光境界座標格納部９２は、ユーザの親指の３次元形状を空間コード化法によって計測するために使用される。
【００８２】
ここで、前記２次元マウス入力制御プログラムを説明する。
【００８３】
この２次元マウス入力制御プログラムは、２次元マウス入力モードの実行時に、ユーザの親指の動きおよびジェスチャに応じて、２次元的に移動可能なマウスをユーザが操作することをバーチャルに実現することにより、座標入力およびシンボル選択を行うためにコンピュータ５０によって実行される。
【００８４】
図５には、このバーチャルな２次元マウス入力のためのユーザの親指の動きが示されている。
【００８５】
図５（ａ）に示すように、ユーザが親指で操作面３０を前後にこするか、または左右にこすれば、その親指の相対移動量に応じて、バーチャルなマウスのポインタ（被制御装置１２のディスプレイ上に表示される。）の相対移動量が被制御装置１２に入力される。すなわち、操作面３０内の指の動きを検知することにより、マウスの動作が入力されるのである。
【００８６】
また、図５（ｂ）に示すように、ユーザが親指で操作面３０を叩くと、バーチャルなマウスがクリックされたことが被制御装置１２に入力される。すなわち、指の上下の動きを検知することにより、クリックが入力されるのである。
【００８７】
本実施形態においては、後に詳述するが、バーチャルなマウスのポインタを所望位置まで移動させて停止させ、その停止位置においてマウスをクリックするためにユーザによって行われる親指の一連の動作が、次の複数の個別運動が複合されたものとして定義されている。
【００８８】
（１）所望の座標値を入力するためにユーザによって行われる親指の操作面３０上における平面運動
【００８９】
（２）その平面運動の終了後、ユーザによって能動的に行われる、親指を操作面３０から退避させる能動退避運動
【００９０】
（３）その能動退避運動の終了後、ユーザによって能動的に行われる、親指を操作面３０に接近させて接触させる接近運動
【００９１】
（４）その接近運動の終了後、親指が操作面３０に接触した反動で親指が操作面３０から受動的にすなわち無意識に退避する受動退避運動
【００９２】
図５（ｃ）および（ｄ）に示すように、ユーザが親指によって特定のジェスチャーを操作面３０の上方位置において表現すると、それに応じたシンボル選択が行われ、特定の入力処理が被制御装置１２において実行される。すなわち、操作面３０内に指が位置しない場合には、指によるジェスチャーによってシンボルが選択されるのである。
【００９３】
例えば、図５（ｃ）に示すように、ユーザが親指を立てた場合には、被制御装置１２のディスプレイ上の情報のうち予め選択された部分をコピーするというコマンドが被制御装置１２に入力される。また、図５（ｄ）に示すように、ユーザが親指を第１関節においてほぼ直角に折り曲げて親指の爪がほぼ水平となるようにした場合には、被制御装置１２のディスプレイ上の情報のうち予めコピーされた部分を特定の位置に貼り付けるというコマンドが被制御装置１２に入力される。
【００９４】
図６には、前記２次元マウス入力制御プログラムがフローチャートで概念的に表されている。この２次元マウス入力制御プログラムは、入力支援装置１０の起動後に、２次元マウス入力モードがユーザによって選択されていることを条件に、繰り返し実行される。
【００９５】
この２次元マウス入力制御プログラムの実行時には、まず、ステップＳ１（以下、単に「Ｓ１」で表す。他のステップについても同じとする。）において、基準時刻ｔ０における親指の位置（ｘ０，ｙ０，ｚ０）が３次元的に検出される。このＳ１においては、前記親指位置検出プログラムが呼び出されて実行される。
【００９６】
本実施形態においては、親指位置を記述するためにｘｙｚ直交座標系が用いられる。そのｘｙｚ座標系は、それのｘ座標軸は操作面３０の左右方向に平行であり、ｙ座標軸方向は操作面３０の前後方向に平行であり、ｚ座標軸方向は操作面３０に直角な方向であるように、操作面３０および筐体２０に固定されている。
【００９７】
図７には、その親指位置検出プログラムがフローチャートで概念的に表されている。この親指位置検出プログラムの実行時には、まず、Ｓ１０１において、前記３次元形状計測プログラムが呼び出されて実行されることにより、親指の３次元形状が計測される。この計測のために、前述の投影部３４および撮像部３６が用いられるとともに、画像処理手法として空間コード化法が実行される。その親指の３次元形状の計測結果を表すデータはＲＡＭ５６の３次元座標格納部９４に格納される。
【００９８】
親指の３次元形状を計測する具体的な手法の一例は、本出願人の特願２００４−１０５４２６号明細書に詳細に開示されているため、それを参照することによって引用することにより、本明細書においては詳細な説明を省略する。
【００９９】
次に、Ｓ１０２において、前記親指重心座標算出プログラムが呼び出されて実行されることにより、その計測された３次元形状を有する親指の重心座標が算出される。親指の重心座標は、その計測された３次元形状を表すデータに基づいて算出される。
【０１００】
続いて、Ｓ１０３において、その算出された重心座標が、基準時刻ｔ０における親指位置のｘｙｚ座標（ｘ０，ｙ０，ｚ０）として出力される。その出力された親指位置のｘｙｚ座標（ｘ０，ｙ０，ｚ０）はＲＡＭ５６の親指位置座標格納部９６に格納される。
【０１０１】
以上で、この親指位置検出プログラムの一回の実行が終了する。
【０１０２】
その後、図６のＳ２において、前記出力された親指位置のｚ座標値ｚ０すなわち親指の高さが基準値Ｚより小さいか否かが判定され、それにより、親指が基準平面ＲＰ（操作面３０）内にあるか否かが判定される。今回は、親指が前述の平面運動を行わせられているために親指が基準平面ＲＰ内にあると仮定すれば、Ｓ２の判定がＹＥＳとなり、Ｓ２ａに移行する。
【０１０３】
このＳ２ａにおいては、基準時刻ｔ０から時間ｎ（秒）が経過するのが待たれる。時間ｎ（秒）が経過した時刻を時刻ｔ１で表す。
【０１０４】
続いて、Ｓ３において、前記親指位置検出プログラムが再度呼び出されて実行されることにより、時刻ｔ１における親指位置（ｘ１，ｙ１，ｚ１）が、前述の場合と同様にして、検出される。その検出された親指位置のｘｙｚ座標（ｘ１，ｙ１，ｚ１）はＲＡＭ５６の親指位置座標格納部９６に格納される。
【０１０５】
続いて、Ｓ４において、Ｓ２と同様にして、その検出された親指位置のｚ座標値ｚ１が基準値Ｚより小さいか否かが判定され、それにより、親指が依然として基準平面ＲＰ（操作面３０）内にあるか否かが判定される。今回も、親指が前述の平面運動を行わせられているために親指が基準平面ＲＰ内にあると仮定すれば、Ｓ４の判定がＹＥＳとなり、Ｓ５に移行する。
【０１０６】
このＳ５においては、前記移動方向・移動量算出プログラムが呼び出されて実行されることにより、親指位置が基準時刻ｔ０から現在時刻ｔ１までの期間に移動した方向と量とが算出される。
【０１０７】
図８には、その移動方向・移動量算出プログラムがフローチャートで概念的に表されている。この移動方向・移動量算出プログラムの実行時には、まず、Ｓ２０１において、基準時刻ｔ０におけるｘｙ座標値（ｘ０，ｙ０）と、現在時刻ｔ１におけるｘｙ座標値（ｘ１，ｙ１）とがＲＡＭ５６の親指位置座標格納部９６から読み出されて入力される。
【０１０８】
次に、Ｓ２０２において、ｙ座標軸方向における移動量（＝ｙ１−ｙ０）が、ｘ座標軸方向移動量（＝ｘ１−ｘ０）で割り算され、その結果値のａｒｃｔａｎとして、親指位置が基準時刻ｔ０から現在時刻ｔ１までに移動した移動方向（角度）が算出される。
【０１０９】
このＳ２０２においては、さらに、ｙ座標軸方向における移動量（＝ｙ１−ｙ０）とｘ座標軸方向移動量（＝ｘ１−ｘ０）との二乗和の平方根として、親指位置が基準時刻ｔ０から現在時刻ｔ１までに移動した移動量が算出される。
【０１１０】
以上で、この移動方向・移動量算出プログラムの一回の実行が終了する。
【０１１１】
その後、図６のＳ６において、その算出された移動方向および移動量が被制御装置１２に対して出力される。具体的には、その算出された移動方向および移動量を表す制御信号（指令信号）が無線によって被制御装置１２に送信される。
【０１１２】
その結果、その被制御装置１２は、その入力された移動方向および移動量に従い、被制御装置１２のディスプレイ上においてポインタ（またはカーソル）を移動させて表示する。そのポインタは、例えば図４に示すキーボード映像を用いることにより、バーチャルなキーボード上においてポインタを移動させつつ表示することが可能である。
【０１１３】
続いて、Ｓ７において、現在もなお、２次元マウス入力モードが選択されているか否かが判定される。今回は、２次元マウス入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの２次元マウス入力制御プログラムの一回の実行が終了する。
【０１１４】
これに対し、今回は、依然として２次元マウス入力モードが選択されていると仮定すれば、Ｓ７の判定がＹＥＳとなり、Ｓ１に戻る。
【０１１５】
以上、Ｓ２の判定もＳ４の判定もＹＥＳである場合を説明したが、Ｓ２の判定はＹＥＳであったが親指が平面運動から能動退避運動に転じたためにＳ４の判定がＮＯであった場合には、Ｓ８を経てＳ２ｂおよびＳ９に移行するのに対し、親指が能動退避運動を行わせられたためにＳ２の判定がＮＯであった場合には直ちにＳ２ｂおよびＳ９に移行する。
【０１１６】
いずれにしても、それらＳ２ｂおよびＳ９に移行する場合には、それに先立ち、親指が操作面３０から退避する能動退避運動が行われる。Ｓ２ｂにおいては、前回時刻から時間ｎ（秒）が経過するのが待たれる。時間ｎ（秒）が経過した時刻を時刻ｔｎで表す。その後、Ｓ９において、Ｓ３と同様にして、その現在時刻ｔｎにおける親指位置（ｘ２，ｙ２，ｚ２）が算出される。
【０１１７】
ここに、前回時刻は、Ｓ２の判定がＮＯであるためにＳ９に移行した場合には、時刻ｔ０に等しいが、Ｓ４の判定がＮＯであるためにＳ９に移行した場合には、時刻ｔ１に等しい。しかしながら、時刻ｔ１は、前回時刻である点で時刻ｔ０と共通するため、説明の便宜上、時刻ｔ１を時刻ｔ０とみなされ、それに伴い、時刻ｔ１における親指位置（ｘ１，ｙ１，ｚ１）が時刻ｔ０における親指位置（ｘ０，ｙ０，ｚ０）として取り扱われる。
【０１１８】
この取扱いが行われるようにするために、Ｓ４の判定がＮＯである場合には、直ちにＳ９に移行するのではなく、Ｓ８を経てＳ９に移行するようになっている。
【０１１９】
Ｓ９が実行されると、Ｓ１０において、Ｓ２と同様にして、その算出された親指位置のｚ座標値ｚ２が前記基準値Ｚより小さいか否か、すなわち、親指位置が基準平面ＲＰ内に位置するか否かが判定される。
【０１２０】
今回は、親指が前述の能動退避運動から前述の接近運動に転じたために親指位置が基準平面ＲＰ内に位置すると仮定すれば、このＳ１０の判定がＹＥＳとなり、Ｓ１０ａにおいて、さらに時間ｎが経過するのが待たれる。時間ｎが経過した時刻を時刻ｔ３で表す。続いて、Ｓ１１において、その時刻ｔ３における親指位置（ｘ３、ｙ３，ｚ３）が、Ｓ１と同様にして算出される。
【０１２１】
その後、Ｓ１２において、Ｓ９と同様にして、その算出された親指位置のｚ座標値ｚ３が前記基準値Ｚより小さいか否か、すなわち、親指位置が基準平面ＲＰ内に位置するか否かが判定される。
【０１２２】
今回は、親指が前述の平面運動を行わせられているために親指位置が基準平面ＲＰ内に位置すると仮定すれば、Ｓ１２の判定がＹＥＳとなり、その後、Ｓ１３において、後続するＳ５以下のステップの実行に備えて変数変換が行われる。具体的には、親指位置（ｘ０，ｙ０，ｚ０）の各値が親指位置（ｘ２，ｙ２，ｚ２）の各値と等しい値に置換され、親指位置（ｘ１，ｙ１，ｚ１）の各値が親指位置（ｘ３，ｙ３，ｚ３）の各値と等しい値に置換される。
【０１２３】
その後、Ｓ５に移行し、親指位置（ｘ０，ｙ０，ｚ０）の各最新値と親指位置（ｘ１，ｙ１，ｚ１）の各最新値とに基づき、前述のようにして、親指位置の最新の移動方向および移動量が算出される。続いて、Ｓ６以下のステップが前述のようにして実行される。
【０１２４】
これに対し、今回は、親指が前述の接近運動から前述の受動退避運動に転じたために親指位置が基準平面ＲＰ内に位置しないと仮定すれば、Ｓ１２の判定がＮＯとなり、Ｓ１４において、前記押下判定プログラムが呼び出されて実行される。
【０１２５】
図９には、この押下判定プログラムがフローチャートで概念的に表されている。この押下判定プログラムの実行時には、まず、Ｓ３０１において、時間ｎずつ互いに隔てて取得された最新の３回分の親指位置、すなわち、前々回の親指位置（ｘ０，ｙ０，ｚ０）と、前回の親指位置（ｘ２，ｙ２，ｚ２）と、最新の親指位置（ｘ３，ｙ３，ｚ３）とがＲＡＭ５６から読み出されて入力される。
【０１２６】
次に、Ｓ３０２において、それら３回分の親指位置が、ｚ座標軸の方向において見た場合において互いに実質的に一致するか否か（例えば、それら３回分の親指位置が操作面３０に対する平面視において互いに実質的に一致するか否か）が判定される。
【０１２７】
その判定は、ｘ座標値に関し、前々回の親指位置ｘ０と、前回の親指位置ｘ２と、最新の親指位置ｘ３とが互いに実質的に一致し、かつ、ｙ座標値に関し、前々回の親指位置ｙ０と、前回の親指位置ｙ２と、最新の親指位置ｙ３とが互いに実質的に一致するか否かの判定として行われる。
【０１２８】
この判定は、例えば、ｘ座標値に関し、前々回の親指位置ｘ０と、前回の親指位置ｘ２と、最新の親指位置ｘ３とから計算される複数の差分のうちの最大値がしきい値（例えば、１０分の数ｍｍ）以下であり、かつ、ｙ座標値に関し、前々回の親指位置ｙ０と、前回の親指位置ｙ２と、最新の親指位置ｙ３とから計算される複数の差分のうちの最大値がしきい値（例えば、１０分の数ｍｍ）以下であるか否かの判定として行われる。
【０１２９】
今回は、それら３回分の親指位置がｚ座標軸の方向において見た場合において互いに実質的に一致すると仮定すれば、Ｓ３０２の判定がＹＥＳとなり、Ｓ３０３において、親指によって操作面３０が押下されたと判定されることが２次元マウス入力制御プログラムに対して出力される。この押下判定は、ユーザによってバーチャルなマウスがクリックされたと判定されることに等しい。
【０１３０】
これに対し、それら３回分の親指位置がｚ座標軸の方向において見た場合において互いに実質的に一致するわけではないと仮定すれば、Ｓ３０２の判定がＮＯとなり、Ｓ３０３がスキップされる。
【０１３１】
いずれの場合にも、以上で、この押下判定プログラムの一回の実行が終了する。
【０１３２】
その後、図６のＳ１５において、Ｓ１４において親指によって操作面３０が押下されたと判定されたか否かが判定される。そうであればこのＳ１５の判定がＹＥＳとなり、Ｓ１６において、親指によって操作面３０が押下されたと判定されたことが被制御装置１２に対して出力される。その結果、その被制御装置１２は、例えば、ディスプレイ上のキーボード映像のうち、ポインタが指し示しているキーが選択されて押下された様子が動画的に表示される。
【０１３３】
続いて、Ｓ１７において、現在もなお、２次元マウス入力モードが選択されているか否かが判定される。今回は、２次元マウス入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの２次元マウス入力制御プログラムの一回の実行が終了する。
【０１３４】
これに対し、今回は、依然として２次元マウス入力モードが選択されていると仮定すれば、Ｓ１７の判定がＹＥＳとなり、Ｓ１に戻る。
【０１３５】
以上、Ｓ１０の判定がＹＥＳである場合、すなわち、親指が能動退避運動から接近運動に転じたために親指が操作面３０に再び接触した場合を説明したが、親指が操作面３０から浮上した位置にあり続ける場合には、Ｓ１０の判定がＮＯとなる。
【０１３６】
この場合には、その後、Ｓ１０ｂにおいて、前回時刻から時間ｎが経過するのが待たれる。時間ｎが経過した時刻を時刻ｔｎで表す。続いて、Ｓ１８において、Ｓ９と同様にして、その現在時刻ｔｎにおける親指位置（ｘ４，ｙ４，ｚ４）が算出される。続いて、Ｓ１９において、Ｓ１０と同様にして、その算出された親指位置のｚ座標値ｚ４が前記基準値Ｚより小さいか否か、すなわち、親指位置が基準平面ＲＰ内に位置するか否かが判定される。
【０１３７】
今回は、親指位置が基準平面ＲＰ内に位置すると仮定すれば、Ｓ１９の判定がＹＥＳとなり、その後、Ｓ２０において、後続するＳ１１以下のステップ（特にＳ１３およびＳ１４）の実行に備えて変数変換が行われる。具体的には、親指位置（ｘ０，ｙ０，ｚ０）の各値が親指位置（ｘ２，ｙ２，ｚ２）の各値と等しい値に置換され、親指位置（ｘ２，ｙ２，ｚ２）の各値が親指位置（ｘ４，ｙ４，ｚ４）の各値と等しい値に置換される。続いて、Ｓ１１に移行する。
【０１３８】
これに対し、今回は、親指が操作面３０から浮上し続けているために親指位置が基準平面ＲＰ内に位置しないと仮定すれば、Ｓ１９の判定がＮＯとなる。その後、Ｓ２１において、前記ジェスチャー判定プログラムが呼び出されて実行される。
【０１３９】
図１０には、そのジェスチャー判定プログラムがフローチャートで概念的に表されている。このジェスチャー判定プログラムの実行時には、まず、Ｓ４０１において、前記３次元形状計測プログラムの実行によって計測された親指の３次元形状の計測結果を表すデータがＲＡＭ５６の３次元座標格納部９４から読み出されて入力される。
【０１４０】
次に、Ｓ４０２において、その入力されたデータによって表される３次元形状（親指についての計測形状）が、予定されたジェスチャーとしてＲＡＭ５６に登録されている３次元形状（登録形状）と比較される。その登録形状はＲＯＭ５４に予め記憶されている。その比較の結果、計測形状が登録形状に合致すれば、親指の今回の形状はジェスチャーを表現していると判定される。
【０１４１】
以上で、このジェスチャー判定プログラムの一回の実行が終了する。
【０１４２】
その後、図６のＳ２２において、親指の今回の形状はジェスチャーを表現していると判定されたか否かが判定される。そうであれば、判定がＹＥＳとなり、Ｓ２３において、その親指によるジェスチャーがそれ単独で完結するジェスチャー、すなわち、単独ジェスチャーであるか、一連の複数の個別ジェスチャーが複合されて成る複合ジェスチャーのうちのいずれかの個別ジェスチャーであるかが判定される。
【０１４３】
今回は、親指によるジェスチャーが単独ジェスチャーであると仮定すれば、Ｓ２３の判定がＹＥＳとなり、その後、Ｓ２４において、その単独ジェスチャーに予め割り付けられたシンボルが被制御装置１２に対して出力される。その被制御装置１２は、そのシンボルを受けると、そのシンボルに予め割り付けられた種類の入力処理を実行する。
【０１４４】
続いて、Ｓ２５において、現在もなお、２次元マウス入力モードが選択されているか否かが判定される。今回は、２次元マウス入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの２次元マウス入力制御プログラムの一回の実行が終了する。
【０１４５】
これに対し、今回は、依然として２次元マウス入力モードが選択されていると仮定すれば、Ｓ２５の判定がＹＥＳとなり、Ｓ１に戻る。
【０１４６】
また、親指の形状がジェスチャーを表現するものではない場合には、Ｓ２２の判定がＮＯとなり、Ｓ２３およびＳ２４がスキップされてＳ２５に移行する。
【０１４７】
以上、親指によるジェスチャーが単独ジェスチャーであるためにＳ２３の判定がＹＥＳである場合を説明したが、複合ジェスチャーである場合には、その判定がＮＯとなる。その後、Ｓ２３ａにおいて、前回時刻から時間ｎが経過するのが待たれる。時間ｎが経過した時刻を時刻ｔｎで表す。続いて、Ｓ２６において、Ｓ１８と同様にして、その現在時刻ｔｎにおける親指位置（ｘ５，ｙ５，ｚ５）が算出される。続いて、Ｓ２７において、Ｓ１９と同様にして、その算出された親指位置のｚ座標値ｚ５が前記基準値Ｚより小さいか否か、すなわち、親指位置が基準平面ＲＰ内に位置するか否かが判定される。すなわち、このＳ２７においては、親指によるジェスチャーが終了したために親指が浮上位置から平面位置に移動させられたか否かが判定されるのである。
【０１４８】
今回は、親指位置が基準平面ＲＰ内に位置すると仮定すれば、Ｓ２７の判定がＹＥＳとなり、その後、Ｓ２８において、後続するＳ１０以下のステップ（特にＳ１３およびＳ１４）の実行に備えて変数変換が行われる。具体的には、親指位置（ｘ２，ｙ２，ｚ２）の各値が親指位置（ｘ５，ｙ５，ｚ５）の各値と等しい値に置換される。続いて、Ｓ１０に移行する。
【０１４９】
これに対し、今回は、親指が操作面３０から浮上し続けているために親指位置が基準平面ＲＰ内に位置しないと仮定すれば、Ｓ２７の判定がＮＯとなる。その後、Ｓ２９において、再度、前記ジェスチャー判定プログラムが呼び出されて実行される。
【０１５０】
続いて、Ｓ３０において、親指の今回の形状はジェスチャーを表現していると判定されたか否かが判定される。そうであれば、判定がＹＥＳとなり、Ｓ３１において、その親指によるジェスチャー、すなわち、今回は複合ジェスチャーであるものに予め割り付けられたシンボルが被制御装置１２に対して出力される。その被制御装置１２は、そのシンボルを受けると、そのシンボルに予め割り付けられた種類の入力処理を実行する。
【０１５１】
続いて、Ｓ３２において、現在もなお、２次元マウス入力モードが選択されているか否かが判定される。今回は、２次元マウス入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの２次元マウス入力制御プログラムの一回の実行が終了する。
【０１５２】
これに対し、今回は、依然として２次元マウス入力モードが選択されていると仮定すれば、Ｓ３２の判定がＹＥＳとなり、Ｓ１に戻る。
【０１５３】
また、親指の形状がジェスチャーを表現するものではない場合には、Ｓ３０の判定がＮＯとなり、Ｓ３１がスキップされてＳ３２に移行する。
【０１５４】
なお付言するに、この２次元マウス入力制御プログラムにおいては、一定時間間隔で親指の３次元位置が逐次検出され、前回の検出位置と今回の検出位置との相対的関係に基づいて親指の位置変化すなわち動作が検出される。
【０１５５】
したがって、この２次元マウス入力制御プログラムにおいては、親指の動作が、その親指の位置の変化パターンとその変化速度との双方が考慮されて判定されることになる。すなわち、親指の位置の変化パターンが同じでも、親指の位置変化の速度が設定速度範囲より速すぎたり遅すぎたりすれば、そのときの動作が、検出すべき動作から除外されるようになっているのである。
【０１５６】
次に、図２に示す前述の２次元キーボード入力制御プログラムを説明する。
【０１５７】
この２次元キーボード入力制御プログラムは、２次元キーボード入力モードの実行時に、ユーザの親指の動きに応じて、２次元的なキーボードをユーザが操作することをバーチャルに実現することにより、座標入力およびシンボル選択を行うためにコンピュータ５０によって実行される。
【０１５８】
図１１には、このバーチャルな２次元キーボード入力のためのユーザの親指の動きが示されている。
【０１５９】
図１１（ａ）に示すように、この２次元キーボード入力モードにおいては、バーチャルな２次元キーボードが操作面３０上に常時または適時表示される。その２次元キーボードの像は、可変表示であっても不動表示であってもよい。
【０１６０】
いずれにしても、この２次元キーボード入力モードにおいては、親指の操作面３０上における絶対座標が検出される。図１１（ｂ）に示すように、親指位置を前後方向または左右方向に移動させれば、その移動に親指位置の絶対座標が追従する。さらに、バーチャルな２次元キーボードにおける複数のキーのうち、その検出された絶対座標に適合する絶対座標が予め割り付けられたキーが、ユーザによって選択されたキーであるとして、他のキーとは区別して表示される。
【０１６１】
その２次元キーボードのすべてのキーが一斉に操作面３０上に表示されるようにすることは可能であるが、このようにすると、ユーザの操作性を確保するためにキー１個分の大きさをある程度確保することが必要であるために、操作面３０が大型化して筐体２０も大型化してしまう可能性がある。
【０１６２】
そこで、本実施形態においては、その２次元キーボードにおける複数のキーが複数のキーブロック、例えば、図１１（ａ）に示すように、５個のキーブロックに分割される。さらに、それら複数のキーブロックのうち選択された１個のキーブロックのみが操作面３０上においてアクティブにされる。選択的にアクティブにされるキーブロックも、親指の動きによって選択し得る。
【０１６３】
図１１（ａ）に示すように、本実施形態においては、それら複数のキーブロックが、一中心点から延びる複数本の放射線に沿って配置されている。それら複数のキーブロックのうちのいずれかがアクティブにされている状態において、親指がある方向に移動させられると、これからアクティブにされるキーブロックが、現在アクティブにされているキーブロックに対して親指の移動方向にずれて位置するものに決定される。
【０１６４】
さらに、この２次元キーボード入力モードにおいては、前述の２次元マウス入力モードと同様に、図５（ｃ）および（ｄ）に示すように、親指によるジェスチャーによって所望のシンボルを選択することが可能となっている。
【０１６５】
図１２には、この２次元キーボード入力制御プログラムがフローチャートで概念的に表されている。この２次元キーボード入力制御プログラムは、この入力支援装置１０の起動後に、２次元キーボード入力モードがユーザによって選択されていることを条件に、繰り返し実行される。
【０１６６】
以下、この２次元キーボード入力制御プログラムを図１２を参照して説明するが、図６を参照して前述した２次元マウス入力制御プログラムと共通するステップについては、対応するステップの番号を参照して引用することにより、重複した説明を省略する。
【０１６７】
この２次元キーボード入力制御プログラムの実行時には、まず、Ｓ５０１において、Ｓ１と同様にして、基準時刻ｔ０における親指の位置（ｘ０，ｙ０，ｚ０）が３次元的に検出される。
【０１６８】
次に、Ｓ５０２において、Ｓ２と同様にして、その検出された親指位置のｚ座標値ｚ０が前記基準値Ｚより小さいか否かが判定される。今回は、親指が前述の平面運動を行わせられているために親指が基準平面ＲＰ内にあると仮定すれば、Ｓ５０２の判定がＹＥＳとなり、Ｓ５０２ａに移行する。
【０１６９】
このＳ５０２ａにおいては、基準時刻ｔ０から時間ｎが経過するのが待たれる。時間ｎが経過した時刻を時刻ｔ１で表す。続いて、Ｓ５０３において、Ｓ３と同様にして、その時刻ｔ１における親指位置（ｘ１，ｙ１，ｚ１）が検出される。その検出された親指位置のｘｙｚ座標（ｘ１，ｙ１，ｚ１）はＲＡＭ５６の親指位置座標格納部９６に格納される。
【０１７０】
続いて、Ｓ５０４において、Ｓ５０２と同様にして、その検出された親指位置のｚ座標値ｚ１が基準値Ｚより小さいか否かが判定される。今回も、親指が前述の平面運動を行わせられているために親指が基準平面ＲＰ内にあると仮定すれば、Ｓ５０４の判定がＹＥＳとなり、Ｓ５０５に移行する。
【０１７１】
このＳ５０５においては、Ｓ５と同様にして、親指位置が基準時刻ｔ０から現在時刻ｔ１までの期間に移動した方向と量とが算出される。その後、Ｓ５０６において、５個のキーブロックのうちこれからアクティブにされるものが、現在アクティブにされているものに対して、前記算出された移動方向と同じ方向にずれているものに決定される。
【０１７２】
続いて、Ｓ５０７において、現在もなお、２次元キーボード入力モードが選択されているか否かが判定される。今回は、２次元キーボード入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの２次元キーボード入力制御プログラムの一回の実行が終了する。
【０１７３】
これに対し、今回は、依然として２次元キーボード入力モードが選択されていると仮定すれば、Ｓ５０７の判定がＹＥＳとなり、Ｓ５０１に戻る。
【０１７４】
以上、Ｓ５０２の判定もＳ５０４の判定もＹＥＳである場合を説明したが、Ｓ５０２の判定はＹＥＳであったがＳ５０４の判定がＮＯであった場合には、Ｓ８と同様にして実行されるＳ５０８を経てＳ５０２ｂおよびＳ５０９に移行するのに対し、Ｓ５０２の判定がＮＯであった場合には直ちにＳ５０２ｂおよびＳ５０９に移行する。
【０１７５】
Ｓ５０２ｂにおいては、前回時刻から時間ｎが経過するのが待たれる。時間ｎが経過した時刻を時刻ｔｎで表す。続いて、Ｓ５０９において、Ｓ９と同様にして、その現在時刻ｔｎにおける親指位置（ｘ２，ｙ２，ｚ２）が算出される。
【０１７６】
このＳ５０９が実行されると、Ｓ５１０において、Ｓ１０と同様にして、その算出された親指位置のｚ座標値ｚ２が前記基準値Ｚより小さいか否かが判定される。このＳ５１０の判定がＹＥＳである場合には、Ｓ５１１において、Ｓ１１と同様にして、さらに時間ｎ経過した時刻ｔ３における親指位置（ｘ３，ｙ３，ｚ３）が算出される。
【０１７７】
その後、Ｓ５１２において、Ｓ１２と同様にして、その算出された親指位置のｚ座標値ｚ３が前記基準値Ｚより小さいか否かが判定される。このＳ５１２の判定がＹＥＳである場合には、Ｓ５１３において、Ｓ１３と同様にして、後続するＳ５０５以下のステップの実行に備えて変数変換が行われる。
【０１７８】
その後、Ｓ５０５に移行し、親指位置（ｘ０，ｙ０，ｚ０）の各最新値と親指位置（ｘ１，ｙ１，ｚ１）の各最新値とに基づき、前述のようにして、親指位置の最新の移動方向および移動量が算出される。続いて、Ｓ５０６以下のステップが前述のようにして実行される。
【０１７９】
これに対し、Ｓ５１２の判定がＮＯである場合には、Ｓ５１４において、Ｓ１４と同様にして、親指によって操作面３０が押下されたか否かが判定され、親指によって操作面３０が押下されたと判定された場合には、そのことがこの２次元キーボード入力制御プログラムに対して出力される。前述のように、この押下判定は、ユーザによってバーチャルなマウスがクリックされたと判定されることに等しい。
【０１８０】
その後、Ｓ５１５において、Ｓ１５と同様にして、Ｓ５１４において親指によって操作面３０が押下されたと判定されたか否かが判定される。そうであればこのＳ５１５の判定がＹＥＳとなり、Ｓ５１６において、Ｓ１６と同様にして、親指によって操作面３０が押下されたと判定されたことが被制御装置１２に対して出力される。その結果、その被制御装置１２は、例えば、ディスプレイ上のキーボード映像のうち、ポインタが指し示しているキーが選択されて押下された様子が動画的に表示される。
【０１８１】
続いて、Ｓ５１７において、現在もなお、２次元キーボード入力モードが選択されているか否かが判定される。今回は、２次元キーボード入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの２次元キーボード入力制御プログラムの一回の実行が終了する。
【０１８２】
これに対し、今回は、依然として２次元キーボード入力モードが選択されていると仮定すれば、Ｓ５１７の判定がＹＥＳとなり、Ｓ５０１に戻る。
【０１８３】
以上、Ｓ５１０の判定がＹＥＳである場合を説明したが、親指が操作面３０から浮上した位置にあり続ける場合には、Ｓ５１０の判定がＮＯとなる。
【０１８４】
この場合には、その後、Ｓ５１０ｂにおいて、前回時刻から時間ｎが経過するのが待たれる。時間ｎが経過した時刻を時刻ｔｎで表す。続いて、Ｓ５１８において、Ｓ１８と同様にして、その現在時刻ｔｎにおける親指位置（ｘ４，ｙ４，ｚ４）が算出される。続いて、Ｓ５１９において、Ｓ１９と同様にして、その算出された親指位置のｚ座標値ｚ４が前記基準値Ｚより小さいか否かが判定される。
【０１８５】
今回は、親指位置が基準平面ＲＰ内に位置すると仮定すれば、Ｓ５１９の判定がＹＥＳとなり、その後、Ｓ５２０において、Ｓ２０と同様にして、後続するＳ５１１以下のステップ（特にＳ５１３およびＳ５１４）の実行に備えて変数変換が行われる。続いて、Ｓ５１１に移行する。
【０１８６】
これに対し、今回は、親指が操作面３０から浮上し続けているために親指位置が基準平面ＲＰ内に位置しないと仮定すれば、Ｓ５１９の判定がＮＯとなる。その後、Ｓ５２１において、Ｓ２１と同様にして、親指の今回の形状がジェスチャーを表現しているか否かが判定される。
【０１８７】
その後、Ｓ５２２において、Ｓ２２と同様にして、親指の今回の形状はジェスチャーを表現していると判定されたか否かが判定される。そうであれば、判定がＹＥＳとなり、Ｓ５２３において、Ｓ２３と同様にして、その親指によるジェスチャーが単独ジェスチャーであるか否かが判定される。
【０１８８】
今回は、親指によるジェスチャーが単独ジェスチャーであると仮定すれば、Ｓ５２３の判定がＹＥＳとなり、その後、Ｓ５２４において、Ｓ２４と同様にして、その単独ジェスチャーに予め割り付けられたシンボルが被制御装置１２に対して出力される。その被制御装置１２は、そのシンボルを受けると、そのシンボルに予め割り付けられた種類の入力処理を実行する。
【０１８９】
続いて、Ｓ５２５において、現在もなお、２次元キーボード入力モードが選択されているか否かが判定される。今回は、２次元キーボード入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの２次元キーボード入力制御プログラムの一回の実行が終了する。
【０１９０】
これに対し、今回は、依然として２次元キーボード入力モードが選択されていると仮定すれば、Ｓ５２５の判定がＹＥＳとなり、Ｓ５０１に戻る。
【０１９１】
また、親指の形状がジェスチャーを表現するものではない場合には、Ｓ５２２の判定がＮＯとなり、Ｓ５２３およびＳ５２４がスキップされてＳ５２５に移行する。
【０１９２】
以上、親指によるジェスチャーが単独ジェスチャーであるためにＳ５２３の判定がＹＥＳである場合を説明したが、複合ジェスチャーである場合には、その判定がＮＯとなる。その後、Ｓ５２３ａにおいて、前回時刻から時間ｎが経過するのが待たれる。時間ｎが経過した時刻を時刻ｔｎで表す。
【０１９３】
続いて、Ｓ５２６において、Ｓ２６と同様にして、その現在時刻ｔｎにおける親指位置（ｘ５，ｙ５，ｚ５）が算出される。続いて、Ｓ５２７において、Ｓ２７と同様にして、その算出された親指位置のｚ座標値ｚ５が前記基準値Ｚより小さいか否かが判定される。
【０１９４】
このＳ５２７の判定がＹＥＳである場合には、その後、Ｓ５２８において、Ｓ２８と同様にして、後続するＳ５１０以下のステップ（特にＳ５１３およびＳ５１４）の実行に備えて変数変換が行われる。続いて、Ｓ５１０に移行する。
【０１９５】
これに対し、Ｓ５２７の判定がＮＯである場合には、その後、Ｓ５２９において、Ｓ２９と同様にして、再度、親指の今回の形状がジェスチャーを表現しているか否かが判定される。
【０１９６】
続いて、Ｓ５３０において、親指の今回の形状はジェスチャーを表現していると判定されたか否かが判定される。そうであれば、判定がＹＥＳとなり、Ｓ５３１において、その親指によるジェスチャー、すなわち、今回は複合ジェスチャーであるものに予め割り付けられたシンボルが被制御装置１２に対して出力される。その被制御装置１２は、そのシンボルを受けると、そのシンボルに予め割り付けられた種類の入力処理を実行する。
【０１９７】
続いて、Ｓ５３２において、現在もなお、２次元キーボード入力モードが選択されているか否かが判定される。今回は、２次元キーボード入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの２次元キーボード入力制御プログラムの一回の実行が終了する。
【０１９８】
これに対し、今回は、依然として２次元キーボード入力モードが選択されていると仮定すれば、Ｓ５３２の判定がＹＥＳとなり、Ｓ５０１に戻る。
【０１９９】
また、親指の形状がジェスチャーを表現するものではない場合には、Ｓ５３０の判定がＮＯとなり、Ｓ５３１がスキップされてＳ５３２に移行する。
【０２００】
次に、図２における３次元ポインタ入力制御プログラムを説明する。
【０２０１】
この３次元ポインタ入力制御プログラムは、観察者でもあるユーザに表示画像に奥行き感を感じさせる奥行き表示が実現可能な環境において、図１３（ａ）に示すように、３次元仮想空間ｘｙｚ内においてポインタを、ユーザによって入力された位置と方向とに関連付けて表示するためにコンピュータ５０によって実行される。その奥行き表示を実現するため、入力支援装置１０は、図１３（ｂ）に示すヘッドマウントディスプレイ１１０（以下、「ＨＭＤ」と略称する。）と共に使用される。このＨＭＤ１１０は、被制御装置１２の指令に応じて作動させられる。
【０２０２】
この３次元ポインタ入力制御プログラムの実行中には、筐体２０を握る手の親指が操作面３０上およびその操作面３０より上方の立体的な入力領域４０（図１参照）において、左右方向、前後方向および上下方向にそれぞれ動作させられると、各方向の動作に連動してポインタの位置および方向が変化させられる。
【０２０３】
図１４には、この３次元ポインタ入力制御プログラムがフローチャートで概念的に表されている。この３次元ポインタ入力制御プログラムは、入力支援装置１０の起動後に、３次元ポインタ入力モードがユーザによって選択されていることを条件に、繰り返し実行される。
【０２０４】
この３次元ポインタ入力制御プログラムの実行時には、まず、Ｓ６０１において、図６におけるＳ１と同様にして、親指の３次元位置が位置Ａ（ｘ０，ｙ０，ｚ０）として検出される。次に、Ｓ６０２において、時間ｎ（秒）が経過するのが待たれる。
【０２０５】
時間ｎが経過したならば、Ｓ６０３において、Ｓ６０１と同様にして、親指の３次元位置が再度検出されるが、その検出結果は、位置Ｂ（ｘ１，ｙ１，ｚ１）とされる。
【０２０６】
その後、Ｓ６０４において、検出された位置Ａと位置Ｂとが互いに実質的に一致するか否かが判定される。例えば、位置Ａと位置Ｂとが、ｘ座標値とｙ座標値とｚ座標値とのそれぞれに関し、差がしきい値以下であるか否かが判定される。
【０２０７】
それら位置Ａと位置Ｂとが互いに実質的に一致する場合には、Ｓ６０４の判定がＹＥＳとなり、Ｓ６０１に戻るが、それら位置Ａと位置Ｂとが互いに実質的に一致しない場合には、Ｓ６０４の判定がＮＯとなり、Ｓ６０５に移行する。
【０２０８】
このＳ６０５においては、それら検出された位置Ａと位置Ｂとの各座標値ごとの差に基づき、Ｓ２０２と同様にして、ポインタを移動させるべき方向および量が算出される。さらに、その算出されたポインタの移動量を、親指の移動時間すなわちｎ秒で割り算することにより、ポインタを移動させるべき速度が算出される。
【０２０９】
その後、Ｓ６０６において、それら算出されたポインタの移動方向、移動量および移動速度が被制御装置１２に対して出力される。その被制御装置１２は、その入力されたポインタの移動方向、移動量および移動速度に従い、ＨＭＤ１１０上においてポインタを３次元的に表示する。
【０２１０】
続いて、Ｓ６０７において、現在もなお、３次元ポインタ入力モードが選択されているか否かが判定される。今回は、３次元ポインタ入力モードがすでに解除されていると仮定すれば、Ｓ６０７の判定がＮＯとなり、直ちにこの３次元ポインタ入力制御プログラムの一回の実行が終了する。
【０２１１】
これに対し、今回は、依然として３次元ポインタ入力モードが選択されていると仮定すれば、Ｓ６０７の判定がＹＥＳとなり、Ｓ６０１に戻る。
【０２１２】
次に、図２における３次元キーボード入力制御プログラムを説明する。
【０２１３】
この３次元キーボード入力制御プログラムは、観察者でもあるユーザに表示画像に奥行き感を感じさせる奥行き表示が実現可能な環境において、図１５（ａ）に示すように、３次元仮想空間ｘｙｚ内において３次元キーボードを表示するとともに、その３次元キーボードのうちユーザによって選択されたキーを表示するためにコンピュータ５０によって実行される。その３次元キーボードにおいては、図１５（ａ）に示すように、一平面に沿って２次元的に並ぶ複数のキーが１個のキー群とされて、そのキー群が各平面に直交する方向に複数並んで配置されている。
【０２１４】
図１５（ｂ）に示すように、操作面３０の上方に、立体的な入力領域４０が設定されている。この入力領域４０内の各絶対位置が、３次元キーボード内の各絶対位置に１対１の関係を有するように予め割り付けられている。したがって、その入力領域４０内において親指位置が移動すれば、それにつれて、３次元キーボードのうち選択されたキーの位置も移動する。
【０２１５】
図１６には、この３次元キーボード入力制御プログラムがフローチャートで概念的に表されている。この３次元キーボード入力制御プログラムは、入力支援装置１０の起動後に、３次元キーボード入力モードがユーザによって選択されていることを条件に、繰り返し実行される。
【０２１６】
この３次元キーボード入力制御プログラムの実行時には、まず、Ｓ７０１において、図６におけるＳ１と同様にして、親指の３次元位置が検出される。次に、Ｓ７０２において、４個のスイッチのうち、選択キーを確定するためにユーザによって操作される確定スイッチがユーザによって押下されたか否かが判定される。
【０２１７】
未だ確定スイッチが押下されない場合には、Ｓ７０２の判定がＮＯとなり、Ｓ７０１に戻るが、確定スイッチが押下された場合には、Ｓ７０２の判定がＹＥＳとなり、Ｓ７０３に移行する。
【０２１８】
このＳ７０３においては、３次元キーボードにおける複数のキー（またはシンボル）のうち、今回の親指位置に対して予め割り付けられたものを表すデータが被制御装置１２に対して出力される。その被制御装置１２は、その入力されたデータに従い、ＨＭＤ１１０上において、３次元キーボードのうち選択されたキーを３次元的に表示する。
【０２１９】
その後、Ｓ７０４おいて、現在もなお、３次元キーボード入力モードが選択されているか否かが判定される。今回は、３次元キーボード入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの３次元キーボード入力制御プログラムの一回の実行が終了する。
【０２２０】
これに対し、今回は、依然として３次元キーボード入力モードが選択されていると仮定すれば、Ｓ７０４の判定がＹＥＳとなり、Ｓ７０１に戻る。
【０２２１】
なお付言するに、図１６に示す３次元キーボード入力制御プログラムにおいては、確定スイッチが押下されるまで、親指位置が繰返し検出され、その確定スイッチが押下される直前に検出された親指位置に応じてキーまたはシンボルが選択される。
【０２２２】
これに対し、確定スイッチが押下されるまでは、親指位置の検出を行わず、その確定スイッチが押下された直後に、その時点における親指位置を検出する態様で本発明を実施することが可能である。この態様によれば、コンピュータ５０の、親指位置の検出に対する負担を軽減することが容易となる。
【０２２３】
以上の説明から明らかなように、本実施形態によれば、入力支援装置１０が可搬式であるため、例えば、ユーザは、歩行中でも入力を行うことが可能となる。さらに、入力支援装置１０は、ユーザによって片手で握られて使用されるものであるため、ユーザは、別の片手で別の作業を並行的に遂行することが可能である。さらにまた、ユーザは、入力支援装置１０の操作に慣れれば、入力支援装置１０を見ずに操作することが可能となり、その結果、ブラインドタッチが可能になる。
【０２２４】
以上の説明から明らかなように、本実施形態においては、２次元マウス入力、２次元キーボード入力、３次元ポインタ入力および３次元キーボード入力がそれぞれ前記（１）項における「入力処理」の一例を構成し、親指が同項における「動作部位」の一例を構成し、投影部３４および撮像部３６のうち少なくとも撮像部３６が同項における「検出部」の一例を構成し、コンピュータ５０が同項における「決定部」の一例を構成しているのである。
【０２２５】
さらに、本実施形態においては、親指の左右方向および前後方向の動作が前記（２）項における「２次元動作」の一例を構成し、親指の上下方向の動作が同項における「１次元動作」の一例を構成し、コンピュータ５０のうち、例えば、図６におけるＳ１ないしＳ４、Ｓ９ないしＳ１２、Ｓ１８、Ｓ１９等を実行する部分が同項における「第１抽出部」の一例を構成しているのである。
【０２２６】
さらに、本実施形態においては、親指の左右方向および前後方向の動作が前記（４）項における「平面動作」の一例を構成し、親指の上下方向の動作が同項における「交差動作」の一例を構成しているのである。
【０２２７】
さらに、本実施形態においては、コンピュータ５０のうち、例えば、図１４におけるＳ６０１およびＳ６０３、図１６におけるＳ７０１等を実行する部分が前記（７）項における「第２抽出部」の一例を構成し、コンピュータ５０のうち、図６におけるＳ２１ないしＳ２４、Ｓ２６、Ｓ２７、Ｓ２９ないしＳ３１等を実行する部分が前記（１２）項における「ジェスチャー判定部」の一例を構成しているのである。
【０２２８】
さらに、本実施形態においては、親指が前記（１３）項における「入力指」の一例を構成し、４個のスイッチ３０ａ，３０ｂ，３０ｃ，３０ｄが前記（１５）項における「選択部」の一例を構成しているのである。
【０２２９】
次に、本発明の第２実施形態を説明する。ただし、本実施形態は、第１実施形態と３次元ポインタ入力制御プログラムのみが異なり、他の要素については共通するため、３次元ポインタ入力制御プログラムのみを説明し、共通する要素については、同一の符号または名称を使用して引用することにより、説明を省略する。
【０２３０】
図１７には、本実施形態に従う入力支援装置１０においてコンピュータ５０によって実行される３次元ポインタ入力制御プログラムがフローチャートで概念的に表されている。以下、この３次元ポインタ入力制御プログラムを説明するが、図１４に示す３次元ポインタ入力制御プログラムと共通するステップについては、対応するステップの番号を明示して引用することにより、詳細な説明を省略する。
【０２３１】
この３次元ポインタ入力制御プログラムは、入力支援装置１０の起動後に、３次元ポインタ入力モードがユーザによって選択されていることを条件に、繰り返し実行される。
【０２３２】
この３次元ポインタ入力制御プログラムの実行時には、まず、Ｓ６２１において、Ｓ６０１と同様にして、親指の３次元位置が検出される。次に、Ｓ６２２において、親指が同じ位置に時間ｎ（秒）停止させられるのが待たれる。すなわち、ユーザが、入力座標値を確定する意思を表示するのが待たれるのである。
【０２３３】
親指が同じ位置に時間ｎ停止させられたならば、Ｓ６２２の判定がＹＥＳとなり、Ｓ６２３において、Ｓ６０３と同様にして、ポインタの方向が算出される。続いて、Ｓ６２４において、Ｓ６０４と同様にして、その算出されたポインタの方向が被制御装置１２に対して出力される。
【０２３４】
その後、Ｓ６２５において、現在もなお、３次元ポインタ入力モードが選択されているか否かが判定される。今回は、３次元ポインタ入力モードがすでに解除されていると仮定すれば、判定がＮＯとなり、直ちにこの３次元ポインタ入力制御プログラムの一回の実行が終了する。
【０２３５】
これに対し、今回は、依然として３次元ポインタ入力モードが選択されていると仮定すれば、Ｓ６２５の判定がＹＥＳとなり、Ｓ６２１に戻る。
【０２３６】
次に、本発明の第３実施形態を説明する。ただし、本実施形態は、第１実施形態と３次元キーボード入力制御プログラムのみが異なり、他の要素については共通するため、３次元キーボード入力制御プログラムのみを説明し、共通する要素については、同一の符号または名称を使用して引用することにより、説明を省略する。
【０２３７】
図１８には、本実施形態に従う入力支援装置１０においてコンピュータ５０によって実行される３次元キーボード入力制御プログラムがフローチャートで概念的に表されている。以下、この３次元キーボード入力制御プログラムを説明するが、図１６に示す３次元キーボード入力制御プログラムと共通するステップについては、対応するステップの番号を明示して引用することにより、詳細な説明を省略する。
【０２３８】
この３次元キーボード入力制御プログラムは、入力支援装置１０の起動後に、３次元キーボード入力モードがユーザによって選択されていることを条件に、繰り返し実行される。
【０２３９】
この３次元キーボード入力制御プログラムの実行時には、まず、Ｓ７２１において、Ｓ７０１と同様にして、親指の３次元位置が位置Ａとして検出される。次に、Ｓ７２２において、時間ｎ（秒）が経過するのが待たれる。
【０２４０】
時間ｎが経過したならば、Ｓ７２３において、Ｓ７０３と同様にして、親指の３次元位置が再度検出されるが、その検出結果は、位置Ｂ（ｘ１，ｙ１，ｚ１）とされる。
【０２４１】
その後、Ｓ７２４において、検出された位置Ａと位置Ｂとが互いに実質的に一致するか否かが判定される。例えば、位置Ａと位置Ｂとが、ｘ座標値とｙ座標値とｚ座標値とのそれぞれに関し、差がしきい値以下であるか否かが判定される。
【０２４２】
それら位置Ａと位置Ｂとが互いに実質的に一致しない場合には、Ｓ７２４の判定がＮＯとなり、Ｓ７２１に戻るが、それら位置Ａと位置Ｂとが互いに実質的に一致する場合には、Ｓ７２４の判定がＹＥＳとなり、Ｓ７２５に移行する。
【０２４３】
このＳ７２５においては、３次元キーボードにおける複数のキー（またはシンボル）のうち、今回の親指位置に対して予め割り付けられたものを表すデータが被制御装置１２に対して出力される。
【０２４４】
その後、Ｓ７２６おいて、現在もなお、３次元キーボード入力モードが選択されているか否かが判定される。今回は、３次元キーボード入力モードがすでに解除されていると仮定すれば、このＳ７２６の判定がＮＯとなり、直ちにこの３次元キーボード入力制御プログラムの一回の実行が終了する。
【０２４５】
これに対し、今回は、依然として３次元キーボード入力モードが選択されていると仮定すれば、Ｓ７２６の判定がＹＥＳとなり、Ｓ７２１に戻る。
【０２４６】
次に、本発明の第４実施形態を説明する。ただし、本実施形態は、第１実施形態と筐体２０の形状のみが異なり、他の要素については共通するため、筐体２０の形状のみを説明し、共通する要素については、同一の符号または名称を使用して引用することにより、説明を省略する。
【０２４７】
図１および図５に示すように、第１実施形態においては、ユーザが筐体２０を握る手をほぼ水平に伸ばした状態において操作面３０がほぼ水平となるように、操作面３０と、グリップ部２６の長手方向との成す角度の大きさが設定されている。
【０２４８】
これに対し、本実施形態においては、図１９に示すように、ユーザが筐体２０を握る手をほぼ水平に伸ばした状態において操作面３０が水平面に対して前上がりに傾斜するように、操作面３０と、グリップ部２６の長手方向との成す角度θの大きさが設定されている。その角度θは例えば、１３０度であるが、１２０度ないし１４０度の範囲内の別の値とすることが可能である。
【０２４９】
角度θがそのような値を有するように筐体２０の形状が設計されれば、ユーザが筐体２０を手で握る状態においてその手の親指を操作面３０に接触させる動作が必要である場合に、親指を無理に大きく屈曲させずに済む。したがって、このような形状を有するように筐体２０を設計すれば、筐体２０の操作性を向上させることが容易となる。
【０２５０】
さらに、本実施形態においては、図１９に示すように、先端部２２とグリップ部２６とが概して互いに平行に延びるとともに、それら先端部２２とグリップ部２６とに直角な仮想平面に対して傾斜する向きに延びるように操作面３０が配置されている。
【０２５１】
したがって、本実施形態によれば、操作面３０が、先端部２２とグリップ部２６とに直角な仮想平面に平行に配置される場合に比較し、その操作面３０の面積を増加させて操作性を向上させることが容易となる。すなわち、先端部２２とグリップ部２６との距離であって筐体２０の主寸法の一つを支配するものの長さの割に大きな面積を有するように操作面３０を設計することが容易となるのである。
【０２５２】
なお付言するに、以上説明したいくつかの実施形態においてはいずれも、入力支援装置１０が、他の物体から物理的に独立するように構成されているが、そのようにして本発明を実施することは不可欠ではない。
【０２５３】
例えば、自転車、オートバイ、自動車等、移動体であって人間による操作部の操作によって操縦されるものにおいて、その操作部の一部としてこの入力支援装置１０を組み込むことが可能である。そのような操作部は、自転車やオートバイにあっては、ハンドルのうちのグリップ部であり、また、自動車にあっては、ステアリングホイールのうちのグリップ部である。
【０２５４】
また、人間によって握られる部分を有して操縦される対象として、例えば、店舗内において顧客によって使用されるショッピングカートや、ゴルフ場においてプレイヤによって使用されるゴルフカートがある。そのような対象においても、握られる部分にこの入力支援装置１０を組み込むことが可能である。
【０２５５】
また、人間によって握られて使用される対象として、例えば、ペン等、筆記具がある。そのような対象においても、握られる部分にこの入力支援装置１０を組み込むことが可能である。
【０２５６】
さらに付言するに、以上説明したいくつかの実施形態においてはいずれも、人間のうちの動作部位の一例である手の親指の３次元形状を入力するためにこの入力支援装置１０が使用されるが、同様な構成を有する装置は、入力対象が人間のある部位に限定されない３次元形状入力装置として構成することが可能である。
【０２５７】
この３次元形状入力装置を実施する場合、それの操作面に関連して設定された入力領域内に人間以外の対象物が位置決めされれば、その対象物の３次元形状が入力される。その対象物の一例は、フィギュアである。
【０２５８】
この場合、例えば、その入力領域に位置決めされるフィギュア等、対象物の形状、種類等、幾何学特性に基づき、その対象物に対応するシンボルが被制御装置１２に入力されるようにすることが可能である。
【０２５９】
さらに付言するに、本実施形態においては、図１１（ａ）に示すように、操作面３０上に２次元キーボードが画像として電気的に表示される。この電気的表示は、その操作面３０上における親指の現在の接触位置をユーザが操作面３０上において視覚的に確認することを支援する形象の一例である。
【０２６０】
これに対し、操作面３０上における親指の現在の接触位置をユーザに操作面３０上において触覚的に確認することを支援する立体的形状が操作面３０に形成される態様で本発明を実施することが可能である。そのような立体的形状の一具体例は、突起状の複数個のドットを一定の方式で組み合わせた点字であり、または、操作面３０上において一定のパターンで形成された複数個の凹部または凸部による識別子である。このような立体的な識別子を操作面３０上に形成すれば、ユーザは、被制御装置１２への入力に際し、入力支援装置１０に対するブラインドタッチが容易になり、その結果、入力支援装置１０の操作性が向上する。
【０２６１】
さらに付言するに、本実施形態においては、前記形象の一例である２次元キーボードの画像が、その２次元キーボードにおけるすべてのキーが常時一斉に表示されるのではなく、一部のキーブロックのみがアクティブにされて操作面３０上に表示される。アクティブにされるキーブロックは、親指の移動方向に応じて切り換わる。
【０２６２】
すなわち、本実施形態においては、操作面３０に表示される形象がユーザの操作に応じて変化させられるのであるが、このような可変表示技術は、前述の複数の入力モードのうちユーザによって選択されたものに応じた表示が操作面３０上において行われるようにするためにも使用することが可能である。
【０２６３】
以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記［発明の開示］の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【図面の簡単な説明】
【０２６４】
【図１】本発明の第１実施形態に従う入力支援装置１０を示す平面図および側面図である。
【図２】図１に示す入力支援装置１０のうちの電気的構成部を概念的に表すブロック図である。
【図３】図１に示す入力支援装置１０を示す側面図およびその入力支援装置１０を使用状態において示す斜視図である。
【図４】図１に示す入力支援装置１０の一使用例としてバーチャルなキーボードの操作を説明するための斜視図である。
【図５】図２における２次元マウス入力制御プログラムの実行によって実現される２次元マウス入力を説明するためのいくつかの斜視図である。
【図６】図２における２次元マウス入力制御プログラムを概念的に表すフローチャートである。
【図７】図２における親指位置検出プログラムを概念的に表すフローチャートである。
【図８】図２における移動方向・移動量算出プログラムを概念的に表すフローチャートである。
【図９】図２における押下判定プログラムを概念的に表すフローチャートである。
【図１０】図２におけるジェスチャー判定プログラムを概念的に表すフローチャートである。
【図１１】図２における２次元キーボード入力制御プログラムの実行によって実現される２次元キーボード入力を説明するためのいくつかの斜視図である。
【図１２】図２における２次元キーボード入力制御プログラムを概念的に表すフローチャートである。
【図１３】図２における３次元ポインタ入力制御プログラムの実行によって実現される３次元ポインタ入力を説明するためのいくつかの斜視図である。
【図１４】図２における３次元ポインタ入力制御プログラムを概念的に表すフローチャートである。
【図１５】図２における３次元キーボード入力制御プログラムの実行によって実現される３次元キーボード入力を説明するためのいくつかの斜視図である。
【図１６】図２における３次元キードード入力制御プログラムを概念的に表すフローチャートである。
【図１７】本発明の第２実施形態に従う入力支援装置１０のコンピュータ５０によって実行される３次元ポインタ入力制御プログラムを概念的に表すフローチャートである。
【図１８】本発明の第３実施形態に従う入力支援装置１０のコンピュータ５０によって実行される３次元キーボード入力制御プログラムを概念的に表すフローチャートである。
【図１９】本発明の第４実施形態に従う入力支援装置１０を示す側面図およびその入力支援装置１０を使用状態において示す斜視図である。
【符号の説明】
【０２６５】
１０  入力支援装置
１２  被制御装置
２０  筐体
２４  操作部
２６  グリップ部
３０  スイッチ類
３４  投影部
３６  撮像部
５０  コンピュータ
【図１】
2006163747.tif 000003
【図２】
2006163747.tif 000004
【図３】
2006163747.tif 000005
【図４】
2006163747.tif 000006
【図５】
2006163747.tif 000007
【図６】
2006163747.tif 000008
【図７】
2006163747.tif 000009
【図８】
2006163747.tif 000010
【図９】
2006163747.tif 000011
【図１０】
2006163747.tif 000012
【図１１】
2006163747.tif 000013
【図１２】
2006163747.tif 000014
【図１３】
2006163747.tif 000015
【図１４】
2006163747.tif 000016
【図１５】
2006163747.tif 000017
【図１６】
2006163747.tif 000018
【図１７】
2006163747.tif 000019
【図１８】
2006163747.tif 000020
【図１９】
2006163747.tif 000021