明 細 書
入力支援装置
技術分野
[0001] 本発明は、ユーザの意思に応じた入力処理を被制御装置に実行させるためにその 被制御装置に対してユーザが入力を行うことを支援する技術に関するものであり、特 に、ユーザの使 、勝手を向上させる技術に関するものである。 背景技術
[0002] ユーザの意思に応じた入力処理を被制御装置に実行させるためにその被制御装 置に対してユーザが入力を行うことを支援する技術が既に存在する。その入力処理 は、座標入力とシンボル選択とのうちの少なくとも一方を含んで 、る。
[0003] この種の技術の一従来例が米国特許第 6614422号明細書に開示されている。こ の従来例によれば、ユーザがデジタルデータを、携帯情報端末 PDA、携帯電話機 等のようなコンパ-オンシステムすなわち付随装置または被制御装置に、キーボード の画像のような仮想入力装置を用いて入力することが可能となる。
発明の開示
[0004] し力しながら、この従来例を実施する場合には、キーボードの像が表示され、その 像に対してユーザが両手を使用することによってキーボードがバーチャルに操作され る。そのため、この従来例を実施する場合には、現実のキーボードが不要になるとい う利点は得られるものの、操作のために必要な空間の大きさはほとんど変わらないし 、ユーザが手を動かす空間の大きさもほとんど変わらない。
[0005] このような事情に鑑み、本発明は、ユーザの意思に応じた入力処理を被制御装置 に実行させるためにその被制御装置に対してユーザが入力を行うことを支援する技 術にぉ 、て、ユーザの使 、勝手を改善することを課題としてなされたものである。
[0006] 本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号 を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が 採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、 本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると
解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には 記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用すること は妨げられな 、と解釈すべきなのである。
[0007] さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記 載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げ ることを意味するわけではなぐ各項に記載の技術的特徴をその性質に応じて適宜 独立させることが可能であると解釈すべきである。
[0008] (1) ユーザの意思に応じた入力処理を被制御装置に実行させるためにその被制御 装置に対してユーザが入力を行うことを支援する入力支援装置であって、
前記ユーザによって動作させられる動作部位の位置と動作と形状とのうちの少なく とも一つである幾何学量を 3次元現実空間内において 3次元的に検出する検出部と その検出された幾何学量に基づき、前記被制御装置に実行させるべき入力処理を 決定し、その決定された入力処理を前記被制御装置に実行させるための制御信号 をその被制御装置に送信する決定部と
を含む入力支援装置。
[0009] この装置においては、ユーザによって動作させられる動作部位の位置と動作と形状 とのうちの少なくとも一つである幾何学量が 3次元現実空間内において 3次元的に検 出され、その検出された幾何学量に基づき、被制御装置に実行させるべき入力処理 が決定される。
[0010] したがって、この装置によれば、ユーザの動作部位の幾何学量を 2次元的にし力検 出し得な 、場合に比較し、ユーザが同じ情報量を被制御装置に伝達するために必 要なユーザの動作部位の作業空間の長さが短くて済む。よって、この装置によれば、 ユーザの使い勝手が向上する。さらに、この装置によれば、ユーザが入力を行う場所 の制約が緩和されるため、ユーザは、入力を行う場所を比較的自由に選択し得る。
[0011] 本項における「決定部」は、決定された入力処理を被制御装置に伝達するために、 その決定された入力処理を表す制御信号を被制御装置に無線で送信したり、有線 で送信することが可能である。
[0012] 本項における「動作部位」は、例えば、ユーザの身体のうちそのユーザによって動 作させられる動作部位である。この動作部位は、典型的には、人間の手であるが、他 の部位に変更することが可能である。例えば、人間の足にしたり、舌にすることが可 能である。
[0013] 本項における「動作部位」は、また、人間に装着された機械要素とすることが可能で ある。「動作部位」は、さらに、遠隔操作ロボット等に代表される機械的動作要素とす ることち可會である。
[0014] 本項における「入力処理」は、座標入力とシンボル選択とのうちの少なくとも一方を 含んでいる。「座標」は、仮想的な 2次元空間内または 3次元空間内におけるポインタ の位置や、その位置の時系列的な動きを意味する概念である。「シンボル」は、コマン ド、ファンクション、キャラクタ、コード、スィッチ等を含む上位の概念である。
[0015] したがって、同項に係る入力支援装置によれば、例えば、ポインティング入力とシン ボル入力との少なくとも一方が前記被制御装置において実行される。それらポインテ イング入力とシンボル入力との双方を実行可能である入力支援装置の従来例には、 クリックスィッチを備えたマウスや、ジョイスティックまたはパッドを備えた卓上キーボー ドがある。
[0016] 本項における「検出部」の一例は、前記動作部位に向力つて光 (例えば、パターン 光、スリット光等)を固定の投影方向または可変の投影方向(例えば、スキャン方向) に出射する投影部と、前記動作部位からの反射光を受光し、その受光された反射光 に基づ!/、て前記動作部位を 3次元的に撮像する撮像部と、その撮像された動作部位 の像を表す信号またはデータに基づき、前記動作部位につ!、て必要な幾何学量を 抽出する抽出部とを含むように構成される。
[0017] この例において「必要な幾何学量」の一例は、ユーザの親指の 3次元位置であり、 別の例は、その親指の 3次元移動であり、さらに別の例は、その親指の 3次元形状で ある。
[0018] その親指の 3次元移動を表すパラメータの一例は、その親指の 3次元移動量 (距離 )であり、別の例は、その親指の 3次元移動方向であり、さらに別の例は、その親指の 3次元移動速度である。
[0019] (2) 前記決定部は、前記入力処理を前記被制御装置に 2次元的に行わせるために 、前記検出された幾何学量から、ユーザが前記入力処理を特定するための前記動 作部位の 2次元動作と、ユーザによる前記動作部位の 1次元動作とを互いに区別し て抽出する第 1抽出部を含む(1)項に記載の入力支援装置。
[0020] この装置によれば、ユーザは、動作部位の 3次元動作を、その一部は入力処理を 特定する特定工程のために、別の一部は、その入力処理とは別の目的に行うことが 可能となる。
[0021] 例えば、その別の目的の一例は、ユーザが入力処理を特定するための動作部位の 2次元動作を行った後に、その 2次元動作を確認することである。この例においては、 ユーザは、動作部位の 3次元動作を、その一部は入力処理を特定する特定工程の ために、別の一部はその特定された入力処理を確認する確認工程のために行うこと が可能となる。したがって、この例によれば、その確認工程のために、別の動作部位 の操作を必要とせずに済み、それにより、ユーザの使い勝手が向上する。
[0022] (3) 前記 2次元動作は、ポインタを 2次元仮想平面上においてユーザの意思に応じ た移動方向および移動量のもとに移動させるための前記動作部位の動作を含む(2) 項に記載の入力支援装置。
[0023] この装置によれば、動作部位の 3次元動作により、 2次元マウス入力とその内容を確 認する操作とを行うことが可能となる。
[0024] (4) 前記 2次元動作は、前記動作部位が基準平面上を移動する平面動作であり、 前記 1次元動作は、前記動作部位が前記基準平面に対して交差する方向に移動 する交差動作であり、
前記平面動作は、前記動作部位が前記基準平面上において移動する移動方向お よび移動量によって定義され、
それら移動方向および移動量は、座標入力位置の移動方向および移動量にそれ ぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、相対的な座標入力である(3)項 に記載の入力支援装置。
[0025] (5) 前記 2次元動作は、バーチャルな 2次元キーボードにおける複数のキーのうち
ユーザの意思に応じたキーを選択するための前記動作部位の動作を含む(2)な 、し (4)項の 、ずれかに記載の入力支援装置。
[0026] この装置によれば、動作部位の 3次元動作により、 2次元キーボード入力とその内 容を確認する操作とを行うことが可能となる。
[0027] (6) 前記 2次元動作は、前記動作部位が基準平面上を移動する平面動作であり、 前記 1次元動作は、前記動作部位が前記基準平面に対して交差する方向に移動 する交差動作であり、
前記 2次元動作は、前記動作部位が前記基準平面上に位置し得る複数個の絶対 位置によって記述され、
それら複数個の絶対位置は、複数個の座標入力位置にそれぞれ直接に対応させ られており、
前記被制御装置によって実行される入力処理は、絶対的な座標入力である(5)項 に記載の入力支援装置。
[0028] (7) 前記決定部は、前記入力処理を前記被制御装置に 3次元的に行わせるために
、前記検出された幾何学量から、前記入力処理を特定するための 3次元動作を抽出 する第 2抽出部を含む( 1)な 、し (6)項の 、ずれかに記載の入力支援装置。
[0029] (8) 前記 3次元動作は、ポインタを 3次元仮想空間内においてユーザの意思に応じ た移動方向および移動量のもとに移動させるための前記動作部位の動作を含む(7) 項に記載の入力支援装置。
[0030] この装置によれば、動作部位の 3次元動作により、 3次元ポインタ入力を行うことが 可能となる。
[0031] (9) 前記 3次元動作は、前記動作部位が前記 3次元現実空間内を移動する移動方 向および移動量によって定義され、
それら移動方向および移動量は、座標入力位置の移動方向および移動量にそれ ぞれ直接に対応させられており、
前記被制御装置によって実行される入力処理は、相対的な座標入力である(8)項 に記載の入力支援装置。
[0032] この装置によれば、動作部位の 3次元動作により、 3次元相対座標入力を行うことが
可能となる。
[0033] (10) 前記 3次元動作は、前記動作部位が前記 3次元現実空間内に位置し得る複 数個の絶対位置によって記述され、
それら複数個の絶対位置は、複数個の座標入力位置にそれぞれ直接に対応させ られており、
前記被制御装置によって実行される入力処理は、絶対的な座標入力である(7)な いし (9)項の 、ずれかに記載の入力支援装置。
[0034] この装置によれば、動作部位の 3次元動作により、 3次元絶対座標入力を行うことが 可能となる。
[0035] (11) 前記 3次元動作は、バーチャルな 3次元キーボードにおける複数のキーのうち ユーザの意思に応じたキーを選択するための前記動作部位の動作を含む(7)な 、し (10)項のいずれかに記載の入力支援装置。
[0036] この装置によれば、動作部位の 3次元動作により、 3次元キーボード入力を行うこと が可能となる。
[0037] (12) 前記検出された幾何学量は、前記動作部位の 3次元形状を含み、
前記決定部は、その 3次元形状が、前記動作部位によるジェスチャーを表現し、か つ、そのジェスチャーが、予め定められたジェスチャーに合致する場合に、そのジェ スチヤーに予め割り付けられた入力処理を前記被制御装置に実行させるジエスチヤ 一判定部を含む( 1)ないし( 11)項の 、ずれかに記載の入力支援装置。
[0038] この装置によれば、動作部位の 3次元動作によって表現されるジェスチャーにより、 該当する種類の入力処理を被制御装置に指示することが可能となる。
[0039] 本項においては、「ジェスチャーに予め割り付けられた入力処理」は、通常、特定の シンボルである。よって、本項に係る装置によれば、動作部位によるジェスチャーによ つて所望のシンボルが選択される。
[0040] (13) 前記検出部は、前記被制御装置力 物理的に独立して可搬性を有する(1) な!、し( 12)項の 、ずれかに記載の入力支援装置。
[0041] この装置によれば、同じ場所に設置されて使用される場合より、当該装置の位置の 自由度が向上してユーザの使い勝手も向上する。
[0042] (14) 前記動作部位は、前記ユーザの片手における複数本の指のうちのいずれか である入力指であり、
当該入力支援装置は、さらに、前記検出部と前記決定部とを収容する筐体を含み その筐体の一部は、前記片手によって握られて使用されるグリップ部である(1)な いし( 13)項の 、ずれかに記載の入力支援装置。
[0043] この装置によれば、指の 3次元動作により、該当する入力処理が被制御装置に指 示されるため、同じ指示を手の全体的移動を伴う動作によって行わなければならない 場合に比較し、人間の動作領域が縮小する結果、ユーザの使い勝手が向上する。
[0044] (15) 前記グリップ部は、前記複数本の指のうち前記入力指に該当しないものが接 触させられる位置に対応する位置に、操作されると、予め割り付けられたシンボルが 選択される選択部を含む(14)項に記載の入力支援装置。
[0045] この装置によれば、同じ手の複数本の指を有効に利用することにより、該当する入 力処理を被制御装置に指示することが可能となる。
[0046] (16) 前記筐体は、さらに、前記動作部位が接触状態で移動させられる操作面を基 準平面として有する操作部を含む(14)または(15)項に記載の入力支援装置。
[0047] (17) 前記操作部は、前記操作面に設けられ、その操作面上における前記動作部 位の現在の接触位置を前記ユーザが前記操作面上において視覚的に確認すること を支援する形象を含む(16)項に記載の入力支援装置。
[0048] この装置によれば、当該装置に不慣れなユーザでも確実な操作を容易に行い得る
[0049] (18) 前記形象は、前記操作面上において前記動作部位の前記幾何学量に応じて 可変に表示される ( 17)項に記載の入力支援装置。
[0050] この装置によれば、形象が不変に操作面上に表示される場合より、同じ操作面によ つて表示可能な形象の種類が増加し、その結果、その操作面カゝらユーザに提供し得 る情報の種類および量が増加する。
[0051] 本項における「形象」は、例えば、図形、記号、形状等、一定の観念を連想させる視 覚的表示を意味する。
[0052] (19) 当該入力支援装置は、複数の入力モードのうちユーザによって選択されたも のに従ってユーザによる入力を許可し、
前記形象は、前記操作面上にお!、て前記入力モードの選択結果に応じて可変に 表示される(17)または(18)項に記載の入力支援装置。
[0053] (20) 前記操作部は、前記操作面に設けられ、その操作面上における前記動作部 位の現在の接触位置を前記ユーザに前記操作面上において触覚的に確認すること を支援する立体的形状を含む(16)ないし (19)項のいずれかに記載の入力支援装 置。
[0054] この装置によれば、当該装置に不慣れなユーザでも確実な操作を容易に行い得る 。さらに、その操作面上の立体的形状と入力指の位置の関係に慣れれば、ユーザは 、その操作面を見ずに入力のための操作を行うこと、すなわち、ブラインドタッチが可 能となる。
[0055] (21) 前記入力指は、前記片手の親指であり、
前記筐体は、ユーザが前記グリップ部を握って前記片手を概して水平に伸ばした 状態において前記操作面が水平面に対して前上がりに傾斜する姿勢となる形状を 有する(16)な 、し (20)項の 、ずれかに記載の入力支援装置。
[0056] 一般に、人間が腕を前方にかつ水平に伸ばそうとすると、手が自然に垂直面に沿 つて延びる姿勢を示す。このとき、親指を除く他の 4本の指は互いにほぼ水平に延び るのに対し、親指は、自然な状態においては、前上がりに傾斜している。この状態に おいて、人間は、親指を意識的に曲げてほぼ水平な姿勢にすることは可能であるが 、それは多少不自然な姿勢であるため、このような姿勢を長時間続けると手に疲労が 早期に発生する。
[0057] 手と筐体との幾何学的な関係を考察するに、親指の延びる方向は、筐体のうちの 操作部の操作面の方向に対応し、一方、 4本の指にほぼ直角な方向は、筐体のうち のグリップ部の長さ方向に対応する。ただし、正確には、グリップ部の長さ方向に対応 するのは、それら 4本の指のうちの小指と薬指と中指の各第 2関節を通過する一直線 の方向であって、この方向は、 4本の指にほぼ直角な方向に対し、前上がりに傾斜し ている。
[0058] したがって、グリップ部を握って 、る状態で自然に親指が操作面に接触するように するためには、操作面とグリップ部との成す角度を鈍角にすることが望ましい。さらに 、それら操作面とグリップとの成す角度は、ユーザがグリップ部を握って概して真直ぐ に片手を伸ばした状態において操作面が水平面に対して前上がりに傾斜する姿勢と なることが望ましい。
[0059] このような知見に基づき、本項に係る装置においては、筐体が、ユーザがグリップ部 を握って片手を概して水平に伸ばした状態において操作面が水平面に対して前上 がりに傾斜する姿勢となる形状を有するものとされている。
[0060] したがって、この装置によれば、ユーザは、筐体を自然に握る状態において操作を 行うことが可能となり、よって、操作に起因した疲労が軽減され、さらに、正確な操作 が容易となる。
図面の簡単な説明
[0061] [図 1]図 1は、本発明の第 1実施形態に従う入力支援装置 10を示す平面図および側 面図である。
[図 2]図 2は、図 1に示す入力支援装置 10のうちの電気的構成部を概念的に表すブ ロック図である。
[図 3]図 3は、図 1に示す入力支援装置 10を示す側面図およびその入力支援装置 1 0を使用状態において示す斜視図である。
[図 4]図 4は、図 1に示す入力支援装置 10の一使用例としてバーチャルなキーボード の操作を説明するための斜視図である。
[図 5]図 5は、図 2における 2次元マウス入力制御プログラムの実行によって実現され る 2次元マウス入力を説明するためのいくつかの斜視図である。
[図 6]図 6は、図 2における 2次元マウス入力制御プログラムを概念的に表すフローチ ヤートである。
[図 7]図 7は、図 2における親指位置検出プログラムを概念的に表すフローチャートで ある。
[図 8]図 8は、図 2における移動方向 ·移動量算出プログラムを概念的に表すフローチ ヤートである。
[図 9]図 9は、図 2における押下判定プログラムを概念的に表すフローチャートである
[図 10]図 10は、図 2におけるジェスチャー判定プログラムを概念的に表すフローチヤ ートである。
[図 11]図 11は、図 2における 2次元キーボード入力制御プログラムの実行によって実 現される 2次元キーボード入力を説明するためのいくつかの斜視図である。
[図 12]図 12は、図 2における 2次元キーボード入力制御プログラムを概念的に表すフ ローチャートである。
[図 13]図 13は、図 2における 3次元ポインタ入力制御プログラムの実行によって実現 される 3次元ポインタ入力を説明するためのいくつかの斜視図である。
[図 14]図 14は、図 2における 3次元ポインタ入力制御プログラムを概念的に表すフロ 一チャートである。
[図 15]図 15は、図 2における 3次元キーボード入力制御プログラムの実行によって実 現される 3次元キーボード入力を説明するためのいくつかの斜視図である。
[図 16]図 16は、図 2における 3次元キードード入力制御プログラムを概念的に表すフ ローチャートである。
[図 17]図 17は、本発明の第 2実施形態に従う入力支援装置 10のコンピュータ 50によ つて実行される 3次元ポインタ入力制御プログラムを概念的に表すフローチャートで ある。
[図 18]図 18は、本発明の第 3実施形態に従う入力支援装置 10のコンピュータ 50によ つて実行される 3次元キーボード入力制御プログラムを概念的に表すフローチャート である。
[図 19]図 19は、本発明の第 4実施形態に従う入力支援装置 10を示す側面図および その入力支援装置 10を使用状態において示す斜視図である。
発明を実施するための最良の形態
[0062] 以下、本発明のさらに具体的な実施の形態のいくつかを図面に基づいて詳細に説 明する。
[0063] 図 1には、本発明の第 1実施形態に従う入力支援装置 10の外観が平面図と側面図
とで示され、図 2には、この入力支援装置 10のうちの電気的構成部がブロック図で概 念的に表されている。
[0064] この入力支援装置 10は、ユーザの意思に応じた座標入力とシンボル選択とのうち の少なくとも一方を含む入力処理を被制御装置 12に実行させるためにその被制御 装置 12に対してユーザが入力を行うことを支援する。
[0065] 被制御装置 12は、入力支援装置 10から供給される情報 (座標値やシンボル)に基 づいて一定の入力処置を実行する装置である。この被制御装置 12は、典型的には、 例えば、コンピュータ本体、コンピュータ端末や携帯情報端末 PDAであるが、携帯電 話、 PHS等の移動電話とすることも可能である。
[0066] 図 1に示すように、この入力支援装置 10は、筐体 20を備えている。この筐体 20内 に入力支援装置 10の電気的構成部が収容されている。図 3 (a)には、その筐体 20が 側面図で示され、同図(b)には、その筐体 20が、ユーザに手(図に示す例において は右手)で握られて使用される使用状態において、斜視図で示されている。
[0067] 図 3 (a)に示すように、筐体 20は、 3個の部分すなわち先端部 22、操作部 24および グリップ部 26が同一平面上において互いに直列に連結されることによって構成され ている。いずれの部分 22, 24, 26も、側面視において概して直線的に延びている。 それら部分 22, 24, 26のうち互いに隣接する 2個の部分は、それらの間に鈍角が形 成されるように互いに連結されて 、る。
[0068] グリップ部 26は、筐体 20のうちユーザの手によって握られる部分である。入力支援 装置 10は、その使用中、操作部 24において概して水平である姿勢で使用される。こ の使用状態においては、グリップ部 26が、鉛直方向に対して少し前方に傾斜した方 向に延びる姿勢を示す。
[0069] 操作部 24の上面は、手の親指のための操作面 30 (これが前記(1)項における「基 準平面 RP」の一例である。)として使用される。ユーザは、親指でその操作面 30をこ するように筐体 20を操作したり、その操作面 30を叩くように筐体 20を操作することが 可能である。さらに、ユーザは、その操作面 30の上方位置において、親指によって 特定のジェスチャーを表現するように筐体 20を操作することも可能である。
[0070] 図 3 (a)および (b)に示すように、操作部 24の両側面のうち、その操作部 24が手に
よって握られている状態においてその手の 5本の指のうち親指を除く 4本の指に対向 する側面にスィッチ類 30が配置されている。このスィッチ類 30は、それら 4本の指と 同数のスィッチ 30a, 30b, 30c, 30dを備えている。それら 4個のスィッチ 30a, 30b, 30c, 30dは、対応する各指の先端位置に接触可能な位置にそれぞれ配置されてい る。
[0071] それらスィッチ 30a, 30b, 30c, 30dは、後述の入力モード(2次元マウス入力モー ド、 2次元キーボード入力モード、 3次元ポインタ入力モードおよび 3次元キーボード) を切り換えるためにユーザによって操作されるスィッチを含んでいる。また、それらス イッチは、表示画面のレイヤを切り換えるためにユーザによって操作されるスィッチを 含むようにすることが可能である。
[0072] 図 3 (b)に示すように、操作部 24の上方に、ユーザの手の親指が入力指として位置 決めされる。その親指の動作および形状を 3次元的にかつ光学的に検出するために 、先端部 22に投影部 34と撮像部 36とが装着されている。
[0073] 具体的には、図 1に示すように、操作部 24の上方であって先端部 22の後方である 空間が、入力を行うための入力領域 40に設定されている。投影部 34は、その入力領 域 40に沿って光 (例えば、空間コードィ匕法を実施するためのパターン光)を出射する 。したがって、その入力領域 40内に親指が位置すれば、その親指に光が照射される 。投影部 34には、入力領域 40を通過して前後方向に延びる光軸 42が設定されてお り、この光軸 42を基準にして、この投影部 34による投影が可能な投影範囲 44が決ま る。
[0074] その結果、その親指力 の反射光が生成され、その反射光の一部は撮像部 36に 入射光として入射する。その撮像部 36は、その入射光に基づいて親指を撮像する。 この撮像部 36には、入力領域 40を通過して前後方向に延びる光軸 46が設定されて おり、この光軸 46を基準にして、この撮像部 36による撮像が可能な撮像範囲 48が決 まる。
[0075] 図 4には、入力支援装置 10と、この入力支援装置 10と通信する被制御装置 12の ディスプレイとが斜視図で示されている。例えば、入力支援装置 10が、バーチャルな 2次元キーボード上の任意のキーをユーザの親指のアクションまたはジェスチャーに
応じて押下するように作動する場合には、その 2次元キーボードが、被制御装置 12 のディスプレイ上に、そのうちの特定のキーがユーザによって押下された様子と共に 、映像として表示される。
[0076] 被制御装置 12のディスプレイは、その被制御装置 12に一体的に装着されるものと したり、分離して装着されるものとすることができる。また、そのディスプレイは、デスク トップ型のディスプレイとしたり、図 13に示すように、ユーザの頭部に装着されて使用 されるヘッドマウント型のディスプレイとすることができる。また、そのディスプレイは、 ユーザに表示画像に奥行き感を感じさせる奥行き表示 (例えば、視差等を利用した 立体表示や、 3DCAD等の 2D画面での奥行き表示)を行うものとすることができる。
[0077] 図 2に示すように、入力支援装置 10の電気的構成部は、コンピュータ 50を備えて いる。コンピュータ 50は、よく知られているように、 CPU52と、 ROM54と、 RAM56と が複数のバス 58を介して接続されることによって構成されて ヽる。このコンピュータ 5 0は、バス 60を介して複数の装置やスィッチ類 30に接続されている。そのスィッチ類 30に前述の 4偶のスィッチ 30a, 30b, 30c, 30d力 S含まれる。
[0078] 図 2に示すように、それら複数の装置は、外部メモリ 64と、電源インタフェース 66と、 RFドライバ 68とを含んでいる。外部メモリ 64は、必要なデータを保存するために設け られ、電源インタフェース 66は、入力支援装置 10への電力供給のために設けられ、 RFドライバ 68は、必要な情報を被制御装置 12との間において無線で通信するため に設けられている。
[0079] 前記撮像部 36は、受光素子としての CCD72を主体として構成されており、その C CD72は CCDインタフェース 74および前記バス 60を順に介してコンピュータ 50に接 続されている。
[0080] 一方、前記投影部 34は、発光素子としての LEDアレイ 76を主体として構成されて おり、その LEDアレイ 76は光源ドライバ 78および前記バス 60を順に介してコンビュ ータ 50に接続されている。この投影部 34は、さらに、ユーザの親指に投光されるパタ ーン光のパターン (投光パターン)を変化させる投光パターン変化手段としての投影 LCD82を含んでいる。その投影 LCDは、投影 LCDドライバ 84および前記バス 60を 順に介してコンピュータ 50に接続されている。
[0081] 図 2に示すように、 ROM54には、装置制御プログラム、 3次元形状計測プログラム および空間コード化光投光制御プログラムが記憶されている。
[0082] それらプログラムを概略的に説明すれば、装置制御プログラムは、この入力支援装 置 10の全体を制御するためにコンピュータ 50によって実行される。 3次元形状計測 プログラムは、計測対象すなわちユーザの親指の 3次元形状を空間コードィ匕法によ つて計測するためにコンピュータ 50によって実行される。空間コード化光投光制御プ ログラムは、計測対象すなわちユーザの親指の 3次元計測のためにその親指に投影 されるパターン光のパターンを投影 LCD82を介して制御するためにコンピュータ 50 によって実行される。空間コード化法による 3次元形状計測は、既に広く知られている 技術であるため、更なる説明を省略する。
[0083] 図 2に示すように、 ROM54には、さらに、 2次元マウス入力制御プログラムと、 2次 元キーボード入力制御プログラムと、 3次元ポインタ入力制御プログラムと、 3次元キ 一ボード入力制御プログラムとが記憶されて 、る。それらの詳細は後述する。
[0084] 図 2に示すように、 ROM54には、さらに、それら制御プログラムによって呼び出され て実行されるサブルーチンとして、親指位置検出プログラムと、親指重心座標算出プ ログラム、押下判定プログラムと、移動方向'移動量算出プログラムと、ジェスチャー判 定プログラムとが記憶されている。それらの詳細は後述する。
[0085] これに対し、 RAM56には、図 2に示すように、撮像画像格納部 90と、コード光境界 座標格納部 92と、 3次元座標格納部 94と、親指位置座標格納部 96と、ワーキングェ リア 98とが割り当てられている。それらのうち少なくとも撮像画像格納部 90およびコー ド光境界座標格納部 92は、ユーザの親指の 3次元形状を空間コードィ匕法によって計 測するために使用される。
[0086] ここで、前記 2次元マウス入力制御プログラムを説明する。
[0087] この 2次元マウス入力制御プログラムは、 2次元マウス入力モードの実行時に、ユー ザの親指の動きおよびジェスチャーに応じて、 2次元的に移動可能なマウスをユーザ が操作することをバーチャルに実現することにより、座標入力およびシンボル選択を 行うためにコンピュータ 50によって実行される。
[0088] 図 5には、このバーチャルな 2次元マウス入力のためのユーザの親指の動きが示さ
れている。
[0089] 図 5 (a)に示すように、ユーザが親指で操作面 30を前後にこする力、または左右に こすれば、その親指の相対移動量に応じて、バーチャルなマウスのポインタ (被制御 装置 12のディスプレイ上に表示される。 )の相対移動量が被制御装置 12に入力され る。すなわち、操作面 30内の指の動きを検知することにより、マウスの動作が入力さ れるのである。
[0090] また、図 5 (b)に示すように、ユーザが親指で操作面 30を叩くと、バーチャルなマウ スがクリックされたことが被制御装置 12に入力される。すなわち、指の上下の動きを 検知することにより、クリックが入力されるのである。
[0091] 本実施形態においては、後に詳述する力 バーチャルなマウスのポインタを所望位 置まで移動させて停止させ、その停止位置にぉ 、てマウスをクリックするためにユー ザによって行われる親指の一連の動作が、次の複数の個別運動が複合されたものと して定義されている。
[0092] (1)所望の座標値を入力するためにユーザによって行われる親指の操作面 30上に おける平面運動
[0093] (2)その平面運動の終了後、ユーザによって能動的に行われる、親指を操作面 30か ら退避させる能動退避運動
[0094] (3)その能動退避運動の終了後、ユーザによって能動的に行われる、親指を操作面 30に接近させて接触させる接近運動
[0095] (4)その接近運動の終了後、親指が操作面 30に接触した反動で親指が操作面 30 力 受動的にすなわち無意識に退避する受動退避運動
[0096] 図 5 (c)および (d)に示すように、ユーザが親指によって特定のジェスチャーを操作 面 30の上方位置において表現すると、それに応じたシンボル選択が行われ、特定の 入力処理が被制御装置 12において実行される。すなわち、操作面 30内に指が位置 しない場合には、指によるジェスチャーによってシンボルが選択されるのである。
[0097] 例えば、図 5 (c)に示すように、ユーザが親指を立てた場合には、被制御装置 12の ディスプレイ上の情報のうち予め選択された部分をコピーするというコマンドが被制御 装置 12に入力される。また、図 5 (d)に示すように、ユーザが親指を第 1関節におい
てほぼ直角に折り曲げて親指の爪がほぼ水平となるようにした場合には、被制御装 置 12のディスプレイ上の情報のうち予めコピーされた部分を特定の位置に貼り付け るというコマンドが被制御装置 12に入力される。
[0098] 図 6には、前記 2次元マウス入力制御プログラムがフローチャートで概念的に表され ている。この 2次元マウス入力制御プログラムは、入力支援装置 10の起動後に、 2次 元マウス入力モードがユーザによって選択されて ヽることを条件に、繰り返し実行さ れる。
[0099] この 2次元マウス入力制御プログラムの実行時には、まず、ステップ S1 (以下、単に 「S1」で表す。他のステップについても同じとする。 )において、基準時刻 toにおける 親指の位置 (xO, yO, ζθ)が 3次元的に検出される。この S1においては、前記親指位 置検出プログラムが呼び出されて実行される。
[0100] 本実施形態にぉ ヽては、親指位置を記述するために xyz直交座標系が用いられる 。その xyz座標系は、それの X座標軸は操作面 30の左右方向に平行であり、 y座標 軸方向は操作面 30の前後方向に平行であり、 z座標軸方向は操作面 30に直角な方 向であるように、操作面 30および筐体 20に固定されている。
[0101] 図 7には、その親指位置検出プログラムがフローチャートで概念的に表されている。
この親指位置検出プログラムの実行時には、まず、 S101において、前記 3次元形状 計測プログラムが呼び出されて実行されることにより、親指の 3次元形状が計測される 。この計測のために、前述の投影部 34および撮像部 36が用いられるとともに、画像 処理手法として空間コード化法が実行される。その親指の 3次元形状の計測結果を 表すデータは RAM56の 3次元座標格納部 94に格納される。
[0102] 親指の 3次元形状を計測する具体的な手法の一例は、本出願人の特願 2004— 1 05426号明細書に詳細に開示されているため、それを参照によって合体させること により、本明細書においては詳細な説明を省略する。
[0103] 次に、 S102において、前記親指重心座標算出プログラムが呼び出されて実行され ることにより、その計測された 3次元形状を有する親指の重心座標が算出される。親 指の重心座標は、その計測された 3次元形状を表すデータに基づいて算出される。
[0104] 続いて、 S103において、その算出された重心座標が、基準時刻 tOにおける親指
位置の xyz座標 (χθ, yO, ζθ)として出力される。その出力された親指位置の xyz座 標 (xO, yO, ζθ)は RAM56の親指位置座標格納部 96に格納される。
[0105] 以上で、この親指位置検出プログラムの一回の実行が終了する。
[0106] その後、図 6の S2において、前記出力された親指位置の z座標値 ζθすなわち親指 の高さが基準値 Zより小さいか否かが判定され、それにより、親指が基準平面 RP (操 作面 30)内にある力否かが判定される。今回は、親指が前述の平面運動を行わせら れているために親指が基準平面 RP内にあると仮定すれば、 S2の判定が YESとなり 、 S 2aに移行する。
[0107] この S2aにお 、ては、基準時刻 tOから時間 n (秒)が経過するのが待たれる。時間 n
(秒)が経過した時刻を時刻 tlで表す。
[0108] 続いて、 S3において、前記親指位置検出プログラムが再度呼び出されて実行され ることにより、時刻 tlにおける親指位置 (xl , yl , zl)が、前述の場合と同様にして、 検出される。その検出された親指位置の xyz座標 (xl , yl , zl)は RAM56の親指位 置座標格納部 96に格納される。
[0109] 続いて、 S4において、 S2と同様〖こして、その検出された親指位置の z座標値 zlが 基準値 Zより小さいか否かが判定され、それにより、親指が依然として基準平面 RP ( 操作面 30)内にある力否かが判定される。今回も、親指が前述の平面運動を行わせ られているために親指が基準平面 RP内にあると仮定すれば、 S4の判定が YESとな り、 S5に移行する。
[0110] この S5においては、前記移動方向 ·移動量算出プログラムが呼び出されて実行さ れることにより、親指位置が基準時刻 tO力 現在時刻 tlまでの期間に移動した方向 と量とが算出される。
[0111] 図 8には、その移動方向 ·移動量算出プログラムがフローチャートで概念的に表さ れている。この移動方向 ·移動量算出プログラムの実行時には、まず、 S201におい て、基準時刻 tOにおける xy座標値 (xO, yO)と、現在時刻 tlにおける xy座標値 (xl , yl)とが RAM56の親指位置座標格納部 96から読み出されて入力される。
[0112] 次に、 S202において、 y座標軸方向における移動量(=yl— yO)が、 x座標軸方 向移動量(=xl— xO)で割り算され、その結果値の arctanとして、親指位置が基準
時刻 to力 現在時刻 tlまでに移動した移動方向(角度)が算出される。
[0113] この S202においては、さらに、 y座標軸方向における移動量(=yl— yO)と X座標 軸方向移動量(=xl— χθ)との二乗和の平方根として、親指位置が基準時刻 tOから 現在時刻 tlまでに移動した移動量が算出される。
[0114] 以上で、この移動方向 ·移動量算出プログラムの一回の実行が終了する。
[0115] その後、図 6の S6において、その算出された移動方向および移動量が被制御装置 12に対して出力される。具体的には、その算出された移動方向および移動量を表す 制御信号 (指令信号)が無線によって被制御装置 12に送信される。
[0116] その結果、その被制御装置 12は、その入力された移動方向および移動量に従い、 被制御装置 12のディスプレイ上にぉ ヽてポインタ(またはカーソル)を移動させて表 示する。そのポインタは、例えば図 4に示すキーボード映像を用いることにより、バー チャルなキーボード上においてポインタを移動させつつ表示することが可能である。
[0117] 続いて、 S7において、現在もなお、 2次元マウス入力モードが選択されている力否 かが判定される。今回は、 2次元マウス入力モードがすでに解除されていると仮定す れば、判定が NOとなり、直ちにこの 2次元マウス入力制御プログラムの一回の実行 が終了する。
[0118] これに対し、今回は、依然として 2次元マウス入力モードが選択されていると仮定す れば、、 S7の半 IJ定カ SYESとなり、 S1に戻る。
[0119] 以上、 S2の判定も S4の判定も YESである場合を説明した力 S2の判定は YESで あつたが親指が平面運動力 能動退避運動に転じたために S4の判定が NOであつ た場合には、 S8を経て S2bおよび S9に移行するのに対し、親指が能動退避運動を 行わせられたために S2の判定が NOであった場合には直ちに S2bおよび S9に移行 する。
[0120] いずれにしても、それら S2bおよび S9に移行する場合には、それに先立ち、親指 が操作面 30から退避する能動退避運動が行われる。 S2bにおいては、前回時刻か ら時間 n (秒)が経過するのが待たれる。時間 n (秒)が経過した時刻を時刻 tnで表す 。その後、 S9において、 S3と同様にして、その現在時刻 tnにおける親指位置 (x2, y 2, z2)が算出される。
[0121] ここに、前回時刻は、 S2の判定が NOであるために S9に移行した場合には、時刻 t 0に等しいが、 S4の判定が NOであるために S9に移行した場合には、時刻 tlに等し い。しカゝしながら、時刻 tlは、前回時刻である点で時刻 toと共通するため、説明の便 宜上、時刻 tlを時刻 tOとみなされ、それに伴い、時刻 tlにおける親指位置 (xl, yl , zl)が時刻 tOにおける親指位置 (χθ, yO, ζθ)として取り扱われる。
[0122] この取扱!/、が行われるようにするために、 S4の判定が NOである場合には、直ちに S9に移行するのではなぐ S8を経て S9に移行するようになっている。
[0123] S9力実行されると、 S10において、 S2と同様〖こして、その算出された親指位置の z 座標値 z2が前記基準値 Zより小さいか否か、すなわち、親指位置が基準平面 RP内 に位置する力否かが判定される。
[0124] 今回は、親指が前述の能動退避運動力 前述の接近運動に転じたために親指位 置が基準平面 RP内に位置すると仮定すれば、この S10の判定が YESとなり、 SlOa にお 、て、さらに時間 nが経過するのが待たれる。時間 nが経過した時刻を時刻 t3で 表す。続いて、 S11において、その時刻 t3における親指位置(x3, y3, z3)が、 SIと 同様にして算出される。
[0125] その後、 S12において、 S9と同様にして、その算出された親指位置の z座標値 z3が 前記基準値 Zより小さいか否か、すなわち、親指位置が基準平面 RP内に位置するか 否かが判定される。
[0126] 今回は、親指が前述の平面運動を行わせられているために親指位置が基準平面 R P内に位置すると仮定すれば、 S 12の判定力 YESとなり、その後、 S13において、後 続する S5以下のステップの実行に備えて変数変換が行われる。具体的には、親指 位置 (xO, yO, ζθ)の各値が親指位置 (x2, y2, z2)の各値と等しい値に置換され、 親指位置 (xl, yl, zl)の各値が親指位置 (x3, y3, z3)の各値と等しい値に置換さ れる。
[0127] その後、 S5に移行し、親指位置 (xO, yO, ζθ)の各最新値と親指位置 (xl, yl, zl )の各最新値とに基づき、前述のようにして、親指位置の最新の移動方向および移動 量が算出される。続いて、 S6以下のステップが前述のようにして実行される。
[0128] これに対し、今回は、親指が前述の接近運動から前述の受動退避運動に転じたた
めに親指位置が基準平面 RP内に位置しな 、と仮定すれば、 S 12の判定が NOとなり 、 S14において、前記押下判定プログラムが呼び出されて実行される。
[0129] 図 9には、この押下判定プログラムがフローチャートで概念的に表されている。この 押下判定プログラムの実行時には、まず、 S301において、時間 nずつ互いに隔てて 取得された最新の 3回分の親指位置、すなわち、前々回の親指位置 (xO, yO, ζθ)と 、前回の親指位置 (x2, y2, z2)と、最新の親指位置 (x3, y3, z3)とが RAM56から 読み出されて入力される。
[0130] 次に、 S302において、それら 3回分の親指位置力 z座標軸の方向において見た 場合において互いに実質的に一致する力否力 (例えば、それら 3回分の親指位置が 操作面 30に対する平面視にお 、て互 ヽに実質的に一致するか否か)が判定される
[0131] その判定は、 X座標値に関し、前々回の親指位置 χθと、前回の親指位置 x2と、最 新の親指位置 x3とが互いに実質的に一致し、かつ、 y座標値に関し、前々回の親指 位置 yOと、前回の親指位置 y2と、最新の親指位置 y3とが互いに実質的に一致する か否かの判定として行われる。
[0132] この判定は、例えば、 X座標値に関し、前々回の親指位置 χθと、前回の親指位置 X 2と、最新の親指位置 x3とから計算される複数の差分のうちの最大値がしきい値 (例 えば、 10分の数 mm)以下であり、かつ、 y座標値に関し、前々回の親指位置 yOと、 前回の親指位置 y2と、最新の親指位置 y3とから計算される複数の差分のうちの最大 値がしき!/、値 (例えば、 10分の数 mm)以下であるカゝ否かの判定として行われる。
[0133] 今回は、それら 3回分の親指位置が z座標軸の方向において見た場合において互 いに実質的に一致すると仮定すれば、 S302の判定力 SYESとなり、 S303において、 親指によって操作面 30が押下されたと判定されることが 2次元マウス入力制御プログ ラムに対して出力される。この押下判定は、ユーザによってバーチャルなマウスがタリ ックされたと判定されることに等しい。
[0134] これに対し、それら 3回分の親指位置が z座標軸の方向において見た場合において 互いに実質的に一致するわけではないと仮定すれば、 S302の判定力NOとなり、 S3 03がスキップされる。
[0135] いずれの場合にも、以上で、この押下判定プログラムの一回の実行が終了する。
[0136] その後、図 6の S15において、 S14において親指によって操作面 30が押下されたと 判定されたか否かが判定される。そうであればこの S 15の判定が YESとなり、 S16に おいて、親指によって操作面 30が押下されたと判定されたことが被制御装置 12に対 して出力される。その結果、その被制御装置 12は、例えば、ディスプレイ上のキーボ ード映像のうち、ポインタが指し示しているキーが選択されて押下された様子が動画 的に表示される。
[0137] 続いて、 S17において、現在もなお、 2次元マウス入力モードが選択されているか 否かが判定される。今回は、 2次元マウス入力モードがすでに解除されていると仮定 すれば、判定が NOとなり、直ちにこの 2次元マウス入力制御プログラムの一回の実 行が終了する。
[0138] これに対し、今回は、依然として 2次元マウス入力モードが選択されて 、ると仮定す れば、、 S17の半 IJ定カ SYESとなり、 S1に戻る。
[0139] 以上、 S10の判定が YESである場合、すなわち、親指が能動退避運動から接近運 動に転じたために親指が操作面 30に再び接触した場合を説明したが、親指が操作 面 30力も浮上した位置にあり続ける場合には、 S 10の判定が NOとなる。
[0140] この場合には、その後、 SlObにおいて、前回時刻から時間 nが経過するのが待た れる。時間 nが経過した時刻を時刻 tnで表す。続いて、 S18において、 S9と同様にし て、その現在時刻 tnにおける親指位置 (x4, y4, z4)が算出される。続いて、 S19に おいて、 S10と同様にして、その算出された親指位置の z座標値 z4が前記基準値 Zよ り小さいか否か、すなわち、親指位置が基準平面 RP内に位置するカゝ否かが判定さ れる。
[0141] 今回は、親指位置が基準平面 RP内に位置すると仮定すれば、 S19の判定が YES となり、その後、 S20において、後続する S11以下のステップ(特に S13および S14) の実行に備えて変数変換が行われる。具体的には、親指位置 (xO, yO, ζθ)の各値 が親指位置 (x2, y2, z2)の各値と等しい値に置換され、親指位置 (x2, y2, z2)の 各値が親指位置 (x4, y4, z4)の各値と等しい値に置換される。続いて、 S11に移行 する。
[0142] これに対し、今回は、親指が操作面 30から浮上し続けているために親指位置が基 準平面 RP内に位置しないと仮定すれば、 S19の判定が NOとなる。その後、 S21に ぉ 、て、前記ジェスチャー判定プログラムが呼び出されて実行される。
[0143] 図 10には、そのジェスチャー判定プログラムがフローチャートで概念的に表されて いる。このジェスチャー判定プログラムの実行時には、まず、 S401において、前記 3 次元形状計測プログラムの実行によって計測された親指の 3次元形状の計測結果を 表すデータが RAM56の 3次元座標格納部 94から読み出されて入力される。
[0144] 次に、 S402において、その入力されたデータによって表される 3次元形状 (親指に ついての計測形状) 1S 予定されたジェスチャーとして RAM56に登録されている 3次 元形状 (登録形状)と比較される。その登録形状は ROM54に予め記憶されている。 その比較の結果、計測形状が登録形状に合致すれば、親指の今回の形状はジエス チヤ一を表現して 、ると判定される。
[0145] 以上で、このジェスチャー判定プログラムの一回の実行が終了する。
[0146] その後、図 6の S22において、親指の今回の形状はジェスチャーを表現していると 判定されたか否かが判定される。そうであれば、判定が YESとなり、 S 23において、 その親指によるジェスチャーがそれ単独で完結するジェスチャー、すなわち、単独ジ エスチヤ一であるか、一連の複数の個別ジェスチャーが複合されて成る複合ジエスチ ヤーのうちのいずれかの個別ジヱスチヤ一であるかが判定される。
[0147] 今回は、親指によるジェスチャーが単独ジェスチャーであると仮定すれば、 S23の 判定が YESとなり、その後、 S24において、その単独ジェスチャーに予め割り付けら れたシンボルが被制御装置 12に対して出力される。その被制御装置 12は、そのシン ボルを受けると、そのシンボルに予め割り付けられた種類の入力処理を実行する。
[0148] 続いて、 S25において、現在もなお、 2次元マウス入力モードが選択されているか 否かが判定される。今回は、 2次元マウス入力モードがすでに解除されていると仮定 すれば、判定が NOとなり、直ちにこの 2次元マウス入力制御プログラムの一回の実 行が終了する。
[0149] これに対し、今回は、依然として 2次元マウス入力モードが選択されて 、ると仮定す れば、、 S25の半 IJ定カ SYESとなり、 S1に戻る。
[0150] また、親指の形状がジェスチャーを表現するものではない場合には、 S22の判定が NOとなり、 S23および S24力 Sスキップされて S25に移行する。
[0151] 以上、親指によるジェスチャーが単独ジェスチャーであるために S23の判定が YES である場合を説明したが、複合ジェスチャーである場合には、その判定が NOとなる。 その後、 S23aにおいて、前回時刻から時間 nが経過するのが待たれる。時間 nが経 過した時刻を時刻 tnで表す。続いて、 S26において、 S18と同様にして、その現在時 亥 Ijtnにおける親旨位置(x5, y5, z5)力 ^算出される。続いて、 S27において、 S19と 同様にして、その算出された親指位置の z座標値 z5が前記基準値 Zより小さいか否 力 すなわち、親指位置が基準平面 RP内に位置する力否かが判定される。すなわち 、この S27においては、親指によるジェスチャーが終了したために親指が浮上位置か ら平面位置に移動させられた力否かが判定されるのである。
[0152] 今回は、親指位置が基準平面 RP内に位置すると仮定すれば、 S27の判定が YES となり、その後、 S28において、後続する S10以下のステップ(特に S13および S14) の実行に備えて変数変換が行われる。具体的には、親指位置 (x2, y2, z2)の各値 が親指位置 (x5, y5, z5)の各値と等しい値に置換される。続いて、 S 10bに移行す る。
[0153] これに対し、今回は、親指が操作面 30から浮上し続けているために親指位置が基 準平面 RP内に位置しないと仮定すれば、 S27の判定が NOとなる。その後、 S29に おいて、再度、前記ジェスチャー判定プログラムが呼び出されて実行される。
[0154] 続いて、 S30において、親指の今回の形状はジェスチャーを表現していると判定さ れたか否かが判定される。そうであれば、判定が YESとなり、 S31において、その親 指によるジェスチャー、すなわち、今回は複合ジェスチャーであるものに予め割り付け られたシンボルが被制御装置 12に対して出力される。その被制御装置 12は、そのシ ンボルを受けると、そのシンボルに予め割り付けられた種類の入力処理を実行する。
[0155] 続いて、 S32において、現在もなお、 2次元マウス入力モードが選択されているか 否かが判定される。今回は、 2次元マウス入力モードがすでに解除されていると仮定 すれば、判定が NOとなり、直ちにこの 2次元マウス入力制御プログラムの一回の実 行が終了する。
[0156] これに対し、今回は、依然として 2次元マウス入力モードが選択されて 、ると仮定す れば、、 S32の半 IJ定カ SYESとなり、 S1に戻る。
[0157] また、親指の形状がジェスチャーを表現するものではない場合には、 S30の判定が NOとなり、 S31がスキップされて S32に移行する。
[0158] なお付言するに、この 2次元マウス入力制御プログラムにおいては、一定時間間隔 で親指の 3次元位置が逐次検出され、前回の検出位置と今回の検出位置との相対 的関係に基づいて親指の位置変化すなわち動作が検出される。
[0159] したがって、この 2次元マウス入力制御プログラムにおいては、親指の動作が、その 親指の位置の変化パターンとその変化速度との双方が考慮されて判定されることに なる。すなわち、親指の位置の変化パターンが同じでも、親指の位置変化の速度が 設定速度範囲より速すぎたり遅すぎたりすれば、そのときの動作が、検出すべき動作 力も除外されるようになって 、るのである。
[0160] 次に、図 2に示す前述の 2次元キーボード入力制御プログラムを説明する。
[0161] この 2次元キーボード入力制御プログラムは、 2次元キーボード入力モードの実行 時に、ユーザの親指の動きに応じて、 2次元的なキーボードをユーザが操作すること をバーチャルに実現することにより、座標入力およびシンボル選択を行うためにコン ピュータ 50によって実行される。
[0162] 図 11には、このバーチャルな 2次元キーボード入力のためのユーザの親指の動き が示されている。
[0163] 図 11 (a)〖こ示すように、この 2次元キーボード入力モードにおいては、バーチャルな 2次元キーボードが操作面 30上に常時または適時表示される。その 2次元キーボー ドの像は、可変表示であっても不動表示であってもよ 、。
[0164] いずれにしても、この 2次元キーボード入力モードにおいては、親指の操作面 30上 における絶対座標が検出される。図 11 (b)に示すように、親指位置を前後方向また は左右方向に移動させれば、その移動に親指位置の絶対座標が追従する。さらに、 バーチャルな 2次元キーボードにおける複数のキーのうち、その検出された絶対座標 に適合する絶対座標が予め割り付けられたキーが、ユーザによって選択されたキー であるとして、他のキーとは区別して表示される。
[0165] その 2次元キーボードのすべてのキーが一斉に操作面 30上に表示されるようにす ることは可能であるが、このようにすると、ユーザの操作性を確保するためにキー 1個 分の大きさをある程度確保することが必要であるために、操作面 30が大型化して筐 体 20も大型化してしまう可能性がある。
[0166] そこで、本実施形態においては、その 2次元キーボードにおける複数のキーが複数 のキーブロック、例えば、図 11 (a)に示すように、 5個のキーブロックに分割される。さ らに、それら複数のキーブロックのうち選択された 1個のキーブロックのみが操作面 3 0上においてアクティブにされる。選択的にアクティブにされるキーブロックも、親指の 動きによって選択し得る。
[0167] 図 11 (a)に示すように、本実施形態においては、それら複数のキーブロック力 一
中心点から延びる複数本の放射線に沿って配置されている。それら複数のキープ口 ックのうちの 、ずれかがアクティブにされて 、る状態にぉ 、て、親指がある方向に移 動させられると、これ力もアクティブにされるキーブロック力 現在アクティブにされて V、るキーブロックに対して親指の移動方向にずれて位置するものに決定される。
[0168] さらに、この 2次元キーボード入力モードにおいては、前述の 2次元マウス入力モー ドと同様に、図 5 (c)および (d)に示すように、親指によるジェスチャーによって所望の シンボルを選択することが可能となって 、る。
[0169] 図 12には、この 2次元キーボード入力制御プログラムがフローチャートで概念的に 表されている。この 2次元キーボード入力制御プログラムは、この入力支援装置 10の 起動後に、 2次元キーボード入力モードがユーザによって選択されていることを条件 に、繰り返し実行される。
[0170] 以下、この 2次元キーボード入力制御プログラムを図 12を参照して説明する力 図 6を参照して前述した 2次元マウス入力制御プログラムと共通するステップについては 、対応するステップの番号を参照して引用することにより、重複した説明を省略する。
[0171] この 2次元キーボード入力制御プログラムの実行時には、まず、 S501において、 S 1と同様にして、基準時刻 tOにおける親指の位置 (xO, yO, ζθ)が 3次元的に検出さ れる。
[0172] 次に、 S502〖こおいて、 S2と同様〖こして、その検出された親指位置の z座標値 ζθが
前記基準値 zより小さいか否かが判定される。今回は、親指が前述の平面運動を行 わせられているために親指が基準平面 RP内にあると仮定すれば、 S502の判定が Y ESとなり、 S502aに移行する。
[0173] この S502aにおいては、基準時刻 tOから時間 nが経過するのが待たれる。時間 nが 経過した時刻を時刻 tlで表す。続いて、 S503において、 S3と同様〖こして、その時刻 tlにおける親指位置 (xl, yl, zl)が検出される。その検出された親指位置の xyz座 標 (xl, yl, zl)は RAM56の親指位置座標格納部 96に格納される。
[0174] 続いて、 S504において、 S502と同様〖こして、その検出された親指位置の z座標値 zlが基準値 Zより小さいか否かが判定される。今回も、親指が前述の平面運動を行 わせられているために親指が基準平面 RP内にあると仮定すれば、 S504の判定が Y ESとなり、 S 505に移行する。
[0175] この S505においては、 S5と同様にして、親指位置が基準時刻 tOカゝら現在時刻 tl までの期間に移動した方向と量とが算出される。その後、 S506において、 5個のキー ブロックのうちこれからアクティブにされるもの力 現在アクティブにされているものに 対して、前記算出された移動方向と同じ方向にずれているものに決定される。
[0176] 続いて、 S507において、現在もなお、 2次元キーボード入力モードが選択されてい る力否かが判定される。今回は、 2次元キーボード入力モードがすでに解除されてい ると仮定すれば、判定が NOとなり、直ちにこの 2次元キーボード入力制御プログラム の一回の実行が終了する。
[0177] これに対し、今回は、依然として 2次元キーボード入力モードが選択されていると仮 定すれば、 S507の半 IJ定カYESとなり、 S501に戻る。
[0178] 以上、 S502の判定も S504の判定も YESである場合を説明した力 S502の判定 は YESであったが S504の判定が NOであった場合には、 S8と同様にして実行され る S508を経て S502bおよび S509に移行するのに対し、 S502の半 IJ定カΝΟであつ た場合には直ちに S502bおよび S509に移行する。
[0179] S502bにおいては、前回時刻から時間 nが経過するのが待たれる。時間 nが経過し た時刻を時刻 tnで表す。続いて、 S509において、 S9と同様にして、その現在時刻 t nにおける親指位置 (x2, y2, z2)が算出される。
[0180] この S509が実行されると、 S510において、 S10と同様にして、その算出された親 指位置の z座標値 z2が前記基準値 Zより小さいか否かが判定される。この S510の判 定が YESである場合には、 S511において、 S11と同様にして、さらに時間 n経過し た時刻 t3における親指位置 (x3, y3, z3)が算出される。
[0181] その後、 S512において、 S12と同様にして、その算出された親指位置の z座標値 z 3が前記基準値 Zより小さいか否かが判定される。この S512の判定が YESである場 合には、 S513において、 S13と同様にして、後続する S505以下のステップの実行 に備えて変数変換が行われる。
[0182] その後、 S505に移行し、親指位置 (xO, yO, ζθ)の各最新値と親指位置 (xl, yl, zl)の各最新値とに基づき、前述のようにして、親指位置の最新の移動方向および 移動量が算出される。続いて、 S506以下のステップが前述のようにして実行される。
[0183] これに対し、 S512の判定が NOである場合には、 S514において、 S14と同様にし て、親指によって操作面 30が押下された力否かが判定され、親指によって操作面 30 が押下されたと判定された場合には、そのことがこの 2次元キーボード入力制御プロ グラムに対して出力される。前述のように、この押下判定は、ユーザによってバーチヤ ルなマウスがクリックされたと判定されることに等しい。
[0184] その後、 S515において、 S15と同様にして、 S514において親指によって操作面 3 0が押下されたと判定された力否かが判定される。そうであればこの S515の判定が Y ESとなり、 S516〖こおいて、 S16と同様〖こして、親指によって操作面 30が押下された と判定されたことが被制御装置 12に対して出力される。その結果、その被制御装置 1 2は、例えば、ディスプレイ上のキーボード映像のうち、ポインタが指し示しているキー が選択されて押下された様子が動画的に表示される。
[0185] 続いて、 S517において、現在もなお、 2次元キーボード入力モードが選択されてい る力否かが判定される。今回は、 2次元キーボード入力モードがすでに解除されてい ると仮定すれば、判定が NOとなり、直ちにこの 2次元キーボード入力制御プログラム の一回の実行が終了する。
[0186] これに対し、今回は、依然として 2次元キーボード入力モードが選択されていると仮 定すれば、 S517の半 IJ定カYESとなり、 S501に戻る。
[0187] 以上、 S510の判定が YESである場合を説明した力 親指が操作面 30から浮上し た位置にあり続ける場合には、 S510の判定が NOとなる。
[0188] この場合には、その後、 S510bにおいて、前回時刻から時間 nが経過するのが待た れる。時間 nが経過した時刻を時刻 tnで表す。続いて、 S518において、 S18と同様 にして、その現在時刻 tnにおける親指位置 (x4, y4, z4)が算出される。続いて、 S5 19において、 S 19と同様にして、その算出された親指位置の z座標値 z4が前記基準 値 Zより小さいか否かが判定される。
[0189] 今回は、親指位置が基準平面 RP内に位置すると仮定すれば、 S519の判定が YE Sとなり、その後、 S520にお!/、て、 S20と同様にして、後続する S511以下のステップ (特に S513および S514)の実行に備えて変数変換が行われる。続いて、 S511に移 行する。
[0190] これに対し、今回は、親指が操作面 30から浮上し続けているために親指位置が基 準平面 RP内に位置しないと仮定すれば、 S519の判定が NOとなる。その後、 S521 において、 S21と同様〖こして、親指の今回の形状がジェスチャーを表現しているか否 かが判定される。
[0191] その後、 S522において、 S22と同様にして、親指の今回の形状はジェスチャーを 表現していると判定された力否かが判定される。そうであれば、判定力YESとなり、 S 523において、 S23と同様にして、その親指によるジェスチャーが単独ジェスチャー であるか否かが判定される。
[0192] 今回は、親指によるジェスチャーが単独ジェスチャーであると仮定すれば、 S523の 判定が YESとなり、その後、 S524〖こおいて、 S24と同様〖こして、その単独ジエスチヤ 一に予め割り付けられたシンボルが被制御装置 12に対して出力される。その被制御 装置 12は、そのシンボルを受けると、そのシンボルに予め割り付けられた種類の入力 処理を実行する。
[0193] 続いて、 S525において、現在もなお、 2次元キーボード入力モードが選択されてい る力否かが判定される。今回は、 2次元キーボード入力モードがすでに解除されてい ると仮定すれば、判定が NOとなり、直ちにこの 2次元キーボード入力制御プログラム の一回の実行が終了する。
[0194] これに対し、今回は、依然として 2次元キーボード入力モードが選択されていると仮 定すれば、、 S525の半 IJ定カ SYESとなり、 S501に戻る。
[0195] また、親指の形状がジェスチャーを表現するものではない場合には、 S522の判定 が NOとなり、 S523および S524力スキップされて S525に移行する。
[0196] 以上、親指によるジェスチャーが単独ジェスチャーであるために S523の判定が YE
Sである場合を説明した力 複合ジェスチャーである場合には、その判定が NOとなる
。その後、 S523aにおいて、前回時刻から時間 nが経過するのが待たれる。時間 nが 経過した時刻を時刻 tnで表す。
[0197] 続いて、 S526において、 S26と同様にして、その現在時刻 tnにおける親指位置(x
5, y5, z5)が算出される。続いて、 S527において、 S27と同様にして、その算出さ れた親指位置の z座標値 z5が前記基準値 Zより小さいか否かが判定される。
[0198] この S527の判定が YESである場合には、その後、 S528において、 S28と同様に して、後続する S510以下のステップ (特に S513および S514)の実行に備えて変数 変換が行われる。続いて、 S510bに移行する。
[0199] これに対し、 S527の判定が NOである場合には、その後、 S529において、 S29と 同様にして、再度、親指の今回の形状がジェスチャーを表現している力否かが判定さ れる。
[0200] 続いて、 S530において、親指の今回の形状はジェスチャーを表現していると判定 されたか否かが判定される。そうであれば、判定が YESとなり、 S531において、その 親指によるジェスチャー、すなわち、今回は複合ジェスチャーであるものに予め割り 付けられたシンボルが被制御装置 12に対して出力される。その被制御装置 12は、そ のシンボルを受けると、そのシンボルに予め割り付けられた種類の入力処理を実行 する。
[0201] 続いて、 S532において、現在もなお、 2次元キーボード入力モードが選択されてい る力否かが判定される。今回は、 2次元キーボード入力モードがすでに解除されてい ると仮定すれば、判定が NOとなり、直ちにこの 2次元キーボード入力制御プログラム の一回の実行が終了する。
[0202] これに対し、今回は、依然として 2次元キーボード入力モードが選択されて 、ると仮
定すれば、、 S532の半 IJ定カ SYESとなり、 S501に戻る。
[0203] また、親指の形状がジェスチャーを表現するものではない場合には、 S530の判定 が NOとなり、 S531力スキップされて S532に移行する。
[0204] 次に、図 2における 3次元ポインタ入力制御プログラムを説明する。
[0205] この 3次元ポインタ入力制御プログラムは、観察者でもあるユーザに表示画像に奥 行き感を感じさせる奥行き表示が実現可能な環境において、図 13 (a)に示すように、 3次元仮想空間 xyz内においてポインタを、ユーザによって入力された位置と方向と に関連付けて表示するためにコンピュータ 50によって実行される。その奥行き表示を 実現するため、入力支援装置 10は、図 13 (b)に示すヘッドマウントディスプレイ 110 (以下、「HMD」と略称する。)と共に使用される。この HMD110は、被制御装置 12 の指令に応じて作動させられる。
[0206] この 3次元ポインタ入力制御プログラムの実行中には、筐体 20を握る手の親指が操 作面 30上およびその操作面 30より上方の立体的な入力領域 40 (図 1参照)におい て、左右方向、前後方向および上下方向にそれぞれ動作させられると、各方向の動 作に連動してポインタの位置および方向が変化させられる。
[0207] 図 14には、この 3次元ポインタ入力制御プログラムがフローチャートで概念的に表さ れている。この 3次元ポインタ入力制御プログラムは、入力支援装置 10の起動後に、 3次元ポインタ入力モードがユーザによって選択されていることを条件に、繰り返し実 行される。
[0208] この 3次元ポインタ入力制御プログラムの実行時には、まず、 S601において、図 6 における S1と同様にして、親指の 3次元位置が位置 A (xO, yO, ζθ)として検出され る。次に、 S602において、時間 n (秒)が経過するのが待たれる。
[0209] 時間 nが経過したならば、 S603において、 S601と同様にして、親指の 3次元位置 が再度検出されるが、その検出結果は、位置 B (xl, yl, zl)とされる。
[0210] その後、 S604において、検出された位置 Aと位置 Bとが互いに実質的に一致する か否かが判定される。例えば、位置 Aと位置 Bと力 X座標値と y座標値と z座標値との それぞれに関し、差がしき!/ヽ値以下であるカゝ否かが判定される。
[0211] それら位置 Aと位置 Bとが互いに実質的に一致する場合には、 S604の判定が YE
Sとなり、 S601に戻るが、それら位置 Aと位置 Bとが互いに実質的に一致しない場合 には、 S604の半 IJ定カ ^ΝΟとなり、 S605に移行する。
[0212] この S605においては、それら検出された位置 Aと位置 Bとの各座標値ごとの差に 基づき、 S202と同様にして、ポインタを移動させるべき方向および量が算出される。 さらに、その算出されたポインタの移動量を、親指の移動時間すなわち n秒で割り算 することにより、ポインタを移動させるべき速度が算出される。
[0213] その後、 S606において、それら算出されたポインタの移動方向、移動量および移 動速度が被制御装置 12に対して出力される。その被制御装置 12は、その入力され たポインタの移動方向、移動量および移動速度に従い、 HMD110上においてポィ ンタを 3次元的に表示する。
[0214] 続いて、 S607において、現在もなお、 3次元ポインタ入力モードが選択されている か否かが判定される。今回は、 3次元ポインタ入力モードがすでに解除されていると 仮定すれば、 S607の判定力NOとなり、直ちにこの 3次元ポインタ入力制御プロダラ ムの一回の実行が終了する。
[0215] これに対し、今回は、依然として 3次元ポインタ入力モードが選択されて 、ると仮定 すれば、、 S607の半 IJ定カ SYESとなり、 S601に戻る。
[0216] 次に、図 2における 3次元キーボード入力制御プログラムを説明する。
[0217] この 3次元キーボード入力制御プログラムは、観察者でもあるユーザに表示画像に 奥行き感を感じさせる奥行き表示が実現可能な環境において、図 15 (a)に示すよう に、 3次元仮想空間 xyz内において 3次元キーボードを表示するとともに、その 3次元 キーボードのうちユーザによって選択されたキーを表示するためにコンピュータ 50に よって実行される。その 3次元キーボードにおいては、図 15 (a)に示すように、一平面 に沿って 2次元的に並ぶ複数のキーが 1個のキー群とされて、そのキー群が各平面 に直交する方向に複数並んで配置されて 、る。
[0218] 図 15 (b)に示すように、操作面 30の上方に、立体的な入力領域 40が設定されてい る。この入力領域 40内の各絶対位置力 3次元キーボード内の各絶対位置に 1対 1 の関係を有するように予め割り付けられている。したがって、その入力領域 40内にお いて親指位置が移動すれば、それにつれて、 3次元キーボードのうち選択されたキ
一の位置も移動する。
[0219] 図 16には、この 3次元キーボード入力制御プログラムがフローチャートで概念的に 表されている。この 3次元キーボード入力制御プログラムは、入力支援装置 10の起動 後に、 3次元キーボード入力モードがユーザによって選択されていることを条件に、 繰り返し実行される。
[0220] この 3次元キーボード入力制御プログラムの実行時には、まず、 S701において、図 6における S1と同様〖こして、親指の 3次元位置が検出される。次に、 S702において、 4個のスィッチのうち、選択キーを確定するためにユーザによって操作される確定スィ ツチがユーザによって押下された力否かが判定される。
[0221] 未だ確定スィッチが押下されない場合には、 S702の判定力 SNOとなり、 S701に戻 る力 確定スィッチが押下された場合には、 S702の判定力 SYESとなり、 S703に移行 する。
[0222] この S703においては、 3次元キーボードにおける複数のキー(またはシンボル)のう ち、今回の親指位置に対して予め割り付けられたものを表すデータが被制御装置 12 に対して出力される。その被制御装置 12は、その入力されたデータに従い、 HMD1 10上において、 3次元キーボードのうち選択されたキーを 3次元的に表示する。
[0223] その後、 S704おいて、現在もなお、 3次元キーボード入力モードが選択されている か否かが判定される。今回は、 3次元キーボード入力モードがすでに解除されている と仮定すれば、判定が NOとなり、直ちにこの 3次元キーボード入力制御プログラムの 一回の実行が終了する。
[0224] これに対し、今回は、依然として 3次元キーボード入力モードが選択されて 、ると仮 定すれば、 S704の半 IJ定カYESとなり、 S701に戻る。
[0225] なお付言するに、図 16に示す 3次元キーボード入力制御プログラムにおいては、 確定スィッチが押下されるまで、親指位置が繰返し検出され、その確定スィッチが押 下される直前に検出された親指位置に応じてキーまたはシンボルが選択される。
[0226] これに対し、確定スィッチが押下されるまでは、親指位置の検出を行わず、その確 定スィッチが押下された直後に、その時点における親指位置を検出する態様で本発 明を実施することが可能である。この態様によれば、コンピュータ 50の、親指位置の
検出に対する負担を軽減することが容易となる。
[0227] 以上の説明から明らかなように、本実施形態によれば、入力支援装置 10が可搬式 であるため、例えば、ユーザは、歩行中でも入力を行うことが可能となる。さらに、入 力支援装置 10は、ユーザによって片手で握られて使用されるものであるため、ユー ザは、別の片手で別の作業を並行的に遂行することが可能である。さらにまた、ユー ザは、入力支援装置 10の操作に慣れれば、入力支援装置 10を見ずに操作すること が可能となり、その結果、ブラインドタッチが可能になる。
[0228] 以上の説明から明らかなように、本実施形態においては、 2次元マウス入力、 2次元 キーボード入力、 3次元ポインタ入力および 3次元キーボード入力がそれぞれ前記(
1)項における「入力処理」の一例を構成し、親指が同項における「動作部位」の一例 を構成し、投影部 34および撮像部 36のうち少なくとも撮像部 36が同項における「検 出部」の一例を構成し、コンピュータ 50が同項における「決定部」の一例を構成して いるのである。
[0229] さらに、本実施形態においては、親指の左右方向および前後方向の動作が前記(
2)項における「2次元動作」の一例を構成し、親指の上下方向の動作が同項におけ る「1次元動作」の一例を構成し、コンピュータ 50のうち、例えば、図 6における S1な いし S4、 S9ないし S12、 S18、 S19等を実行する部分が同項における「第 1抽出部」 の一例を構成して 、るのである。
[0230] さらに、本実施形態においては、親指の左右方向および前後方向の動作が前記( 4)項における「平面動作」の一例を構成し、親指の上下方向の動作が同項における 「交差動作」の一例を構成して 、るのである。
[0231] さらに、本実施形態においては、コンピュータ 50のうち、例えば、図 14における S6 01および S603、図 16における S701等を実行する部分が前記(7)項における「第 2 抽出部」の一例を構成し、コンピュータ 50のうち、図 6における S21ないし S24、 S26 、 S27、 S29ないし S31等を実行する部分が前記(12)項における「ジェスチャー判 定部」の一例を構成して 、るのである。
[0232] さらに、本実施形態においては、親指が前記(13)項における「入力指」の一例を構 成し、 4個のスィッチ 30a, 30b, 30c, 30d力 S前記(15)項における「選択咅 の一 f列
を構成しているのである。
[0233] 次に、本発明の第 2実施形態を説明する。ただし、本実施形態は、第 1実施形態と 3次元ポインタ入力制御プログラムのみが異なり、他の要素については共通するため 、 3次元ポインタ入力制御プログラムのみを説明し、共通する要素については、同一 の符号または名称を使用して引用することにより、説明を省略する。
[0234] 図 17には、本実施形態に従う入力支援装置 10においてコンピュータ 50によって実 行される 3次元ポインタ入力制御プログラムがフローチャートで概念的に表されている 。以下、この 3次元ポインタ入力制御プログラムを説明する力 図 14に示す 3次元ポ インタ入力制御プログラムと共通するステップにつ 、ては、対応するステップの番号 を明示して引用することにより、詳細な説明を省略する。
[0235] この 3次元ポインタ入力制御プログラムは、入力支援装置 10の起動後に、 3次元ポ インタ入力モードがユーザによって選択されていることを条件に、繰り返し実行される
[0236] この 3次元ポインタ入力制御プログラムの実行時には、まず、 S621において、 S60 1と同様にして、親指の 3次元位置が検出される。次に、 S622において、親指が同じ 位置に時間 n (秒)停止させられるのが待たれる。すなわち、ユーザが、入力座標値を 確定する意思を表示するのが待たれるのである。
[0237] 親指が同じ位置に時間 n停止させられたならば、 S622の判定力YESとなり、 S623 において、 S603と同様にして、ポインタの方向が算出される。続いて、 S624におい て、 S604と同様にして、その算出されたポインタの方向が被制御装置 12に対して出 力される。
[0238] その後、 S625において、現在もなお、 3次元ポインタ入力モードが選択されている か否かが判定される。今回は、 3次元ポインタ入力モードがすでに解除されていると 仮定すれば、判定が NOとなり、直ちにこの 3次元ポインタ入力制御プログラムの一回 の実行が終了する。
[0239] これに対し、今回は、依然として 3次元ポインタ入力モードが選択されて 、ると仮定 すれば、、 S625の半 IJ定カ SYESとなり、 S621に戻る。
[0240] 次に、本発明の第 3実施形態を説明する。ただし、本実施形態は、第 1実施形態と
3次元キーボード入力制御プログラムのみが異なり、他の要素については共通するた め、 3次元キーボード入力制御プログラムのみを説明し、共通する要素については、 同一の符号または名称を使用して引用することにより、説明を省略する。
[0241] 図 18には、本実施形態に従う入力支援装置 10においてコンピュータ 50によって実 行される 3次元キーボード入力制御プログラムがフローチャートで概念的に表されて いる。以下、この 3次元キーボード入力制御プログラムを説明する力 図 16に示す 3 次元キーボード入力制御プログラムと共通するステップにつ 、ては、対応するステツ プの番号を明示して引用することにより、詳細な説明を省略する。
[0242] この 3次元キーボード入力制御プログラムは、入力支援装置 10の起動後に、 3次元 キーボード入力モードがユーザによって選択されていることを条件に、繰り返し実行 される。
[0243] この 3次元キーボード入力制御プログラムの実行時には、まず、 S721において、 S
701と同様にして、親指の 3次元位置が位置 Aとして検出される。次に、 S722におい て、時間 n (秒)が経過するのが待たれる。
[0244] 時間 nが経過したならば、 S723〖こおいて、 S703と同様〖こして、親指の 3次元位置 が再度検出されるが、その検出結果は、位置 B (xl, yl, zl)とされる。
[0245] その後、 S724において、検出された位置 Aと位置 Bとが互いに実質的に一致する か否かが判定される。例えば、位置 Aと位置 Bと力 X座標値と y座標値と z座標値との それぞれに関し、差がしき!/ヽ値以下であるカゝ否かが判定される。
[0246] それら位置 Aと位置 Bとが互いに実質的に一致しない場合には、 S724の判定が N
Oとなり、 S721に戻るが、それら位置 Aと位置 Bとが互いに実質的に一致する場合に は、 S724の半 IJ定カ ^YESとなり、 S725に移行する。
[0247] この S725においては、 3次元キーボードにおける複数のキー(またはシンボル)のう ち、今回の親指位置に対して予め割り付けられたものを表すデータが被制御装置 12 に対して出力される。
[0248] その後、 S726おいて、現在もなお、 3次元キーボード入力モードが選択されている か否かが判定される。今回は、 3次元キーボード入力モードがすでに解除されている と仮定すれば、この S726の判定力 SNOとなり、直ちにこの 3次元キーボード入力制御
プログラムの一回の実行が終了する。
[0249] これに対し、今回は、依然として 3次元キーボード入力モードが選択されて 、ると仮 定すれば、、 S726の半 IJ定カ SYESとなり、 S721に戻る。
[0250] 次に、本発明の第 4実施形態を説明する。ただし、本実施形態は、第 1実施形態と 筐体 20の形状のみが異なり、他の要素については共通するため、筐体 20の形状の みを説明し、共通する要素については、同一の符号または名称を使用して引用する ことにより、説明を省略する。
[0251] 図 1および図 5に示すように、第 1実施形態においては、ユーザが筐体 20を握る手 をほぼ水平に伸ばした状態において操作面 30がほぼ水平となるように、操作面 30と 、グリップ部 26の長手方向との成す角度の大きさが設定されている。
[0252] これに対し、本実施形態においては、図 19に示すように、ユーザが筐体 20を握る 手をほぼ水平に伸ばした状態において操作面 30が水平面に対して前上がりに傾斜 するように、操作面 30と、グリップ部 26の長手方向との成す角度 Θの大きさが設定さ れている。その角度 0は例えば、 130度であるが、 120度ないし 140度の範囲内の 別の値とすることが可能である。
[0253] 角度 Θがそのような値を有するように筐体 20の形状が設計されれば、ユーザが筐 体 20を手で握る状態においてその手の親指を操作面 30に接触させる動作が必要で ある場合に、親指を無理に大きく屈曲させずに済む。したがって、このような形状を有 するように筐体 20を設計すれば、筐体 20の操作性を向上させることが容易となる。
[0254] さらに、本実施形態においては、図 19に示すように、先端部 22とグリップ部 26とが 概して互いに平行に延びるとともに、それら先端部 22とグリップ部 26とに直角な仮想 平面に対して傾斜する向きに延びるように操作面 30が配置されている。
[0255] したがって、本実施形態によれば、操作面 30が、先端部 22とグリップ部 26とに直 角な仮想平面に平行に配置される場合に比較し、その操作面 30の面積を増加させ て操作性を向上させることが容易となる。すなわち、先端部 22とグリップ部 26との距 離であって筐体 20の主寸法の一つを支配するものの長さの割に大きな面積を有す るように操作面 30を設計することが容易となるのである。
[0256] なお付言するに、以上説明したいくつかの実施形態においてはいずれも、入力支
援装置 10が、他の物体力 物理的に独立するように構成されている力 そのようにし て本発明を実施することは不可欠ではない。
[0257] 例えば、自転車、オートバイ、自動車等、移動体であって人間による操作部の操作 によって操縦されるものにおいて、その操作部の一部としてこの入力支援装置 10を 組み込むことが可能である。そのような操作部は、自転車やオートバイにあっては、 ハンドルのうちのグリップ部であり、また、自動車にあっては、ステアリングホイールの うちのグリップ部である。
[0258] また、人間によって握られる部分を有して操縦される対象として、例えば、店舗内に おいて顧客によって使用されるショッピングカートや、ゴルフ場においてプレイヤによ つて使用されるゴルフカートがある。そのような対象においても、握られる部分にこの 入力支援装置 10を組み込むことが可能である。
[0259] また、人間によって握られて使用される対象として、例えば、ペン等、筆記具がある 。そのような対象においても、握られる部分にこの入力支援装置 10を組み込むことが 可能である。
[0260] さらに付言するに、以上説明したいくつかの実施形態においてはいずれも、人間の うちの動作部位の一例である手の親指の 3次元形状を入力するためにこの入力支援 装置 10が使用されるが、同様な構成を有する装置は、入力対象が人間のある部位 に限定されない 3次元形状入力装置として構成することが可能である。
[0261] この 3次元形状入力装置を実施する場合、それの操作面に関連して設定された入 力領域内に人間以外の対象物が位置決めされれば、その対象物の 3次元形状が入 力される。その対象物の一例は、フィギュアである。
[0262] この場合、例えば、その入力領域に位置決めされるフィギュア等、対象物の形状、 種類等、幾何学特性に基づき、その対象物に対応するシンボルが被制御装置 12に 入力されるようにすることが可能である。
[0263] さらに付言するに、本実施形態においては、図 11 (a)に示すように、操作面 30上に 2次元キーボードが画像として電気的に表示される。この電気的表示は、その操作面 30上における親指の現在の接触位置をユーザが操作面 30上において視覚的に確 認することを支援する形象の一例である。
[0264] これに対し、操作面 30上における親指の現在の接触位置をユーザに操作面 30上 において触覚的に確認することを支援する立体的形状が操作面 30に形成される態 様で本発明を実施することが可能である。そのような立体的形状の一具体例は、突 起状の複数個のドットを一定の方式で組み合わせた点字であり、または、操作面 30 上において一定のパターンで形成された複数個の凹部または凸部による識別子であ る。このような立体的な識別子を操作面 30上に形成すれば、ユーザは、被制御装置 12への入力に際し、入力支援装置 10に対するブラインドタッチが容易になり、その 結果、入力支援装置 10の操作性が向上する。
[0265] さらに付言するに、本実施形態においては、前記形象の一例である 2次元キーボ ードの画像力 その 2次元キーボードにおけるすべてのキーが常時一斉に表示され るのではなぐ一部のキーブロックのみがアクティブにされて操作面 30上に表示され る。アクティブにされるキーブロックは、親指の移動方向に応じて切り換わる。
[0266] すなわち、本実施形態においては、操作面 30に表示される形象がユーザの操作 に応じて変化させられるのである力 このような可変表示技術は、前述の複数の入力 モードのうちユーザによって選択されたものに応じた表示が操作面 30上において行 われるようにするためにも使用することが可能である。
[0267] 以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これ らは例示であり、前記 [発明の開示]の欄に記載の態様を始めとして、当業者の知識 に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能であ る。