(57)【要約】【課題】  物理的なキーを持たずにキー入力を実現し、かつ操作性、実装容易性の向上を実現する。【解決手段】  利用者の各指にそれぞれ異なる信号を発光する発光部を装着し、発光部より発光された光を光の照度に比例した電圧に変換し、発光された光の信号を解析する機能をもつ受光部を経由し、指の移動方向、移動距離を算出することによりキー検出を行い、前記キーをディスプレイに表示する。また、ディスプレイの一部に表示するキーボード画像と指画像をもつことにより、利用者が現在のキー入力位置、キーの移動方向、キーの移動距離を確認できるようにする。【選択図】図１
2006031493.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータやワードプロセッサ等の情報処理装置の入力装置であって、
利用者の各指に装着し、各指はそれぞれ異なる信号を発光し、机上などと接したときに発光を停止する発光部と、
各発光部からの光を照度に比例した電圧に変換して発光信号を解析する機能をもつ複数の受光部と、
各受光部ごとに得られた電圧値情報により、指の移動方向、移動距離を算出し、キー入力初期位置の設定、キー検出を行う制御部と、
前記制御部の処理を行うために必要なバーチャルキーボードの指位置情報と、受光した各指の発光信号を制御情報として保持する記憶部と、
検出したキーコードをディスプレイに表示する表示制御部と、
を備えることを特徴とするバーチャルキーボードシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータやワードプロセッサ等の情報処理装置の入力装置に関し、物理的なキーを持たずにキー入力を実現するバーチャルキーボード装置及びキー入力制御方法を主としたシステムに関する。
【背景技術】
【０００２】
従来、コンピュータやワードプロセッサ等の情報処理装置の入力装置においては、２次元キー配列を施した物理的なキーボードが用いられるのが一般的であった。しかし、情報処理装置自身のポータブル化、小型化に伴い、物理的なキーボードの占有容量、重量がポータブル化、小型化のネックになっている。
【０００３】
上記の問題を解決するために、物理的なキーを持たずにキー入力を実現するバーチャルキーボード装置が提案されている。例えば、特許文献１に開示されているバーチャルキーボード装置及びキー入力制御方法のように、利用者の指先に指先位置入力グローブを装着し、指先位置を検出する方法や、特許文献２に開示されているキーボードターミナルのように、利用者の指先に何も装着せずに、信号の指からの反射を検出する方法などが提案されている。
【０００４】
【特許文献１】特開平９−５４６４６号公報
【特許文献２】特開２０００−６６８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、これらの方法は、物理的なキーボードを持たない為、ポータブル化、小型化の問題は大きく解決されたものの、バーチャルキーボードの操作性、実装容易性に問題があった。
【０００６】
例えば、特許文献１による方法では、指先の位置を三次元座標により求め、その変化により指先位置の移動を検出するため、ハードウェアが複雑になり実装が容易ではない。また、特許文献２による方法では、キー入力の完了を示すイベントがないため、利用者の操作ミスの回数が増えることが考えられる為、操作性に問題があった。
【０００７】
本発明の主な目的は、物理的なキーを持たずにキー入力を実現し、かつ操作性、実装容易性の向上を実現するための装置及びシステムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明では、コンピュータやワードプロセッサ等の情報処理装置の入力装置は、利用者の各指に装着し、各指はそれぞれ異なる信号を発光し、電源ＯＮしてからは指が机上などと接していない限り光を発光し、机上などと接したときに光の発光を停止する発光部と、各発光部より発光された光を光の照度に比例した電圧に変換し、発光された光の信号を解析する機能をもつ受光部と、各受光部ごとに得られた電圧値情報により、指の移動方向、移動距離を算出し、キー入力初期位置の設定、キー検出を行う制御部と、制御部の処理を行うために必要な、各キーごとに８方向（上、下、右、左、右上、右下、左上、左下）にそれぞれ一つ進んだ場合のキー値と現在の指位置を表現する「指位置テーブル」と、各発光部が各受光部ごとに受光した光の照度に比例する電圧値と、最大活性値（最大電圧値）をもつ受光部とディスプレイとの距離を表現する「活性化情報テーブル」と、移動中の指に対する発光部が各受光部ごとに受光した光の照度に比例する電圧値と、最大活性値（最大電圧値）をもつ受光部とディスプレイとの距離を表現する「活性化情報テーブル（一時）」を保持する記憶部と、検出したキーコードをディスプレイに表示する表示制御部と、を備える構成とした。
【発明の効果】
【０００９】
本発明によれば、物理的なキーを持たずにキー入力を実現し、かつ操作性、実装容易性の向上を実現することができる。
【発明を実施するための最良の形態】
【００１０】
本発明は、利用者の指より光を発光する発光部、利用者の指より発光された光を受光し、光の照度に比例した電圧に変換する受光部、得られた電圧よりキーを検出し表示情報を送信する制御部、キー検出を行うための各種テーブルを記憶する記憶部、キーを表示させる表示部より構成される。
【００１１】
発光部は、利用者の各指に装着し、各指から発光する光はそれぞれ異なる信号を発光する機能を持つ。また、電源ONしてからは指が机上などと接していない限り常時光が発光されており、机上などと接したときに、光の発光を停止する機能をもつ。これにより、キーの入力イベントを利用者が指定することができる。
【００１２】
受光部は、発光部より発光された光を光の照度に比例した電圧に変換する機能をもつ。また、発光部より発光された信号を解析する機能をもつ。これにより、利用者のどの指が移動しているかを知ることができる。
【００１３】
制御部は、各受光部ごとに得られた電圧値情報により指の移動方向、移動距離を算出する。具体的には、指がどのキーに位置しているかを保持する「指位置テーブル」、各指が各受光部にどれだけ活性化しているかを表す「活性化情報テーブル」、現在移動中の指が各受光部にどれだけ活性化しているかを表す「活性化情報テーブル（一時）」を作成し、現在移動中の指における「活性化情報テーブル（一時）」と「活性化情報テーブル」の活性値（電圧値）を比較し、最大活性値（最大電圧値）とその値をもつ受光部との関係により前記指の移動方向を算出する。この算出計算は一定期間ごとに行う。
【００１４】
次に前記指の移動距離を求める。まず前記指とディスプレイとの距離を求める。光の照度(E)と光源から受光面までの距離(r)との関係が下記となることを利用する。光源の光度をIとすると、
E = I／ｒ／ｒ    （数１）
ここで、光源の光度Iは、ある方向の光の強さより、光源と受光面との角度が一定である場合、光源の光度は無視できることを意味する。
【００１５】
本発明では、受光部を複数設置することを前提としているため、前記指とディスプレイとの距離は、前記指が発光する光とディスプレイとが垂直の関係に限りなく近い受光部を選択することにより、光源の光度を無視することができる。上記の場合、光の照度(E)は光源から受光面までの距離(r)の２乗に反比例することを意味する。
【００１６】
また、受光部より算出される電圧値(V)は光の照度に比例していることにより、下記が成立する。
【００１７】
V = k／ｒ／ｒ(kは定数)    （数２）
ここで、kは受光部の素子により決定される定数である。この数値は利用者が本発明を利用する前に事前に最適な値を決めておくことが必要である。
【００１８】
以上により前記指とディスプレイとの距離が求まる。
【００１９】
上述で前記指の移動方向を求めたが、前記指の移動方向と前記指とディスプレイとの距離(D)との関係より前記指の移動距離を算出することができる。
前記指が上、下、右、左に移動した場合：前記指の移動距離 = D
前記指が右上、右下、左上、左下に移動した場合：前記指の移動距離＝（ルート2倍）D  
以上により前記指の移動距離が求まる。
【００２０】
ここで求めた前記指の移動距離と前記指の移動方向にキー一つ分進むための距離を比較し、前記指の移動距離が大きければ指位置テーブルを更新する。
【００２１】
記憶部は、制御部で作成した「指位置テーブル」「活性化情報テーブル」「活性化情報テーブル（一時）」を保持している。これらのテーブルは制御部より読み書きされる。
【００２２】
表示部は、制御部で検出されたキーコードをディスプレイに表示する。また、キーボード画像と左右の手の画像をディスプレイの一部に表示し、利用者の指の移動を模倣することにより、利用者に指の位置を確認させる機能をもつ。
【００２３】
以上の説明したように本発明ではコンピュータやワードプロセッサ等の情報処理装置の入力装置において、利用者の各指に装着し、各指はそれぞれ異なる信号を発光し、電源ＯＮしてからは指が机上などと接していない限り光を発光し、机上などと接したときに光の発光を停止する発光部と、各発光部より発光された光を光の照度に比例した電圧に変換し、発光された光の信号を解析する機能をもつ受光部と、各受光部ごとに得られた電圧値情報により、指の移動方向、移動距離を算出し、キー入力初期位置の設定、キー検出を行う制御部と、制御部の処理を行うために必要な、各キーごとに８方向（上、下、右、左、右上、右下、左上、左下）にそれぞれ一つ進んだ場合のキー値と現在の指位置を表現する「指位置テーブル」と、各発光部が各受光部ごとに受光した光の照度に比例する電圧値と、最大活性値（最大電圧値）をもつ受光部とディスプレイとの距離を表現する「活性化情報テーブル」と、移動中の指に対する発光部が各受光部ごとに受光した光の照度に比例する電圧値と、最大活性値（最大電圧値）をもつ受光部とディスプレイとの距離を表現する「活性化情報テーブル（一時）」を保持する記憶部と、制御部で検出したキーコードをディスプレイに表示できるバーチャルキーボードを提供する。
【００２４】
これにより、物理的なキーを持たずにキー入力を実現し、かつ操作性、実装容易性の向上を実現することができる。
【実施例１】
【００２５】
以下、発明の一実施例を図１から図８で説明する。ここでは、光として赤外線を用いた例を示す。
【００２６】
図１は、本発明の特徴を最も良く表しているバーチャルキーボードシステムの概略図、図２は、利用者の各指に装着する発光部の発光、停止のタイミングを表す図、図３は、本
発明のバーチャルキーボード装置のブロック図、図４は、キーの入力初期位置、キー検出時に用いる「活性化テーブル」の例、図５は、指位置情報を格納している「指位置テーブル」の例、図６は、キー検出時に用いる「活性化情報テーブル（一時）」の例、図７は、指移動方向と受光部、光の照度に比例する電圧値との関連図を示している。
【００２７】
１は発光部、２は発光部から発光する赤外線、３は発光部１より発光された赤外線２を受光する受光部、４はキー入力結果やキーボード画像５を表示するディスプレイ、５はキーボード画像、６は指画像、７は利用者の指、７−１、７−２、７−３は指の移動を示している。８は制御部、９は記憶部、１０は表示部、１１は受光部３により光の照度から変換された電圧値、１２は移動指情報、１３は赤外線が有効な状態にあるかを示す赤外線有効ビット、１４は各種テーブル情報、１５は移動指とディスプレイとの距離、１６はキーコード、１７は指の移動方向、１８は指の移動距離を示している。
【００２８】
図１において、バーチャルキーボードシステムは、利用者の指７より赤外線２を発光する発光部１、利用者の指７より発行された赤外線２を受光し、赤外線２の照度に比例した電圧値１１に変換する受光部３、得られた電圧値１１よりキーを検出し表示情報を送信する制御部８、キー検出を行うための各種テーブルを記憶する記憶部９、キーを表示させる表示部１０より構成される。
【００２９】
まず、利用者がキー入力する初期位置を設定する。利用者がキー入力する初期位置を設定するには、各指７ごとに発光する赤外線２の照度を受光部３が記憶することにより行われる。具体的には、各指７ごと（図では１つのみ図示）に装着されている発光部１は、図２のように電源ＯＮしてからは指７が机上などと接していない限り常時赤外線２が発光されており、机上などと接したときに、赤外線２の発光を停止する機能を持つ。例えば、キー「Ｑ」からキー「Ｚ」への指７の移動は、指７が机上などと接していない状態（７−１）で、徐々にキー「Ｚ」方向に指７を移動させ（７−２）、指７が机上などと接したとき（７−３）、赤外線２の発光を停止し、受光部３はキーが押下されたことを認識する。その時、当該指７の赤外線２の照度が確定する。これを全ての指７について行うことにより、利用者がキー入力する初期位置が確定する。赤外線２の照度は受光部３により赤外線２の照度に比例する電圧値１１に変換される。
【００３０】
次に、利用者がある指７を移動させた時、受光部３で赤外線２の照度を電圧値１１に変換し、前記指７から発光された赤外線２の信号を解析する。制御部８は、記憶部９に格納されている移動前の前記指７の電圧値を含む各種テーブル情報１４と移動後の前記指の電圧値を含む各種テーブル情報１４により前記指７の移動方向１７、移動距離１８を算出する。
【００３１】
最終的にディスプレイ４にキーボード画像５上に表示されている指画像６の移動を行う。利用者の指７が机上などと接したときには、キーが確定し、キー入力が行われる。
【００３２】
図３において、まず受光部３はn個（nは整数）より構成される。nの値は大きいほど、指７の移動方向、移動距離の精度が高まるため、大きいほうが望ましい。少なくとも10個以上が望ましい。ここではnを10とする。受光部３は10個の赤外線２の照度を電圧値１１に変換し、移動指情報１２を解析し制御部８に送信する。また、利用者の指７が机上などと接したときに、赤外線有効ビット１３を無効にする。
【００３３】
制御部８では、キー入力初期位置の設定、キー検出、ディスプレイ４上での指７の追跡を行う。キー入力初期位置の設定は、各受光部３ごとに得られた電圧値１１を各発光部１ごとに図４に示す「活性化情報テーブル」に格納する。「活性化情報テーブル」は、発光部１、受光部３、電圧値１１、ディスプレイとの距離１５から構成され、キー入力初期位置の設定時に、各発光部１ごとに各受光部３ごとの電圧値１１が格納される。各発光部１で一番電圧値１１が高い（最大活性値）受光部３に対して、前記で述べた（数２）を用いてディスプレイとの距離１５を求める。
【００３４】
また、キー入力初期位置での各指７のキー位置を図５に示す「指位置テーブル」に保持しておく。「指位置テーブル」は、各キーごとに８方向（上、下、右、左、右上、右下、左上、左下）にキー一つ分移動した後のキーが事前に設定されており、キー検出の際に利用する。現在の指７の位置を該当キーの行に設定し、赤外線有効ビット１３が無効になったときに、指位置を更新する。
【００３５】
キー検出は、利用者の指７が移動すると、利用者の指７から赤外線２が発光され、各受光部３より得られた電圧値１１を図６に示す「活性化情報テーブル（一時）」に格納する。「活性化情報テーブル（一時）」は「活性化情報テーブル」と構成はほぼ同じであるが、「活性化情報テーブル（一時）」は利用者の移動指の発光部の情報のみ格納されている点が「活性化情報テーブル」と異なる。キー検出は一定期間ごとに行う。
【００３６】
「活性化情報テーブル」「活性化情報テーブル（一時）」により、移動前の前記指７の最大活性値（最大電圧値）をもつ受光部３、ディスプレイとの距離１５、移動後の前記指７の最大活性値（最大電圧値）をもつ受光部３、ディスプレイとの距離１５が求まり、それにより前記指７の移動方向１６、移動距離１７を算出する。
【００３７】
例えば、「活性化情報テーブル」「活性化情報テーブル（一時）」がそれぞれ図４、図６であるとすると、図６のNo.5より、移動指はE1、E1の最大活性値（最大電圧値）をもつ受光部３はR4、最大活性値（最大電圧値）は3.9 V、ディスプレイ４との距離は47 mmと分かる。それに対して、図４のNo.14より、移動指E1の移動前の最大活性値（最大電圧値）をもつ受光部３はR3、移動前の最大活性値（最大電圧値）は3.5 V、移動前のディスプレイ４との距離は55 mmと分かる。図７に示すように、指７の移動はX軸方向つまり、キーボードの左右方向に移動するとき、前記指の最大活性値（最大電圧値）をもつ受光部３の移動に相当し、Y軸方向つまり、キーボードの上下方向に移動するとき、前記指７の最大活性値（最大電圧値）に相当する。よって、図４、図６の場合、移動指はR3からR4へ3.5から3.9Vつまり、右上方向に移動したと判別することができる。
【００３８】
ここで、移動指の移動方向は、移動指における移動前の受光部の電圧値と移動後の受光部の電圧値との関係により、８方向（上、下、右、左、右上、右下、左上、左下）の識別が可能である。
【００３９】
移動前の指におけるある受光部をR_current(t)、移動後の前記受光部をR_current(t+1)、移動後の前記受光部の右隣の受光部をR_r(t+1)、移動後の前記受光部の左隣の受光部をR_l(t+1)とすると、前記指の移動方向は下記のように表現することができる。
【００４０】
上：V(R_current(t))、V(R_current(t+1))が共に最大活性値（最大電圧値）であり、かつV(R_current(t+1)) > V(R_current(t))のとき、
下：V(R_current(t))、V(R_current(t+1))が共に最大活性値（最大電圧値）であり、かつV(R_current(t+1)) < V(R_current(t))のとき、
右：V(R_current(t))、V(R_r(t+1))が共に最大活性値（最大電圧値）であり、かつ|V(R_r(t+1)) - V(R_current(t))| <= αのとき、
左：V(R_current(t))、V(R_l(t+1))が共に最大活性値（最大電圧値）であり、かつ｜V(R_l(t+1)) - V(R_current(t))| <= αのとき、
右上：V(R_current(t))、V(R_r(t+1))が共に最大活性値（最大電圧値）であり、かつV(R_r(t+1)) - V(R_current(t)) > αのとき、
右下：V(R_current(t))、V(R_r(t+1))が共に最大活性値（最大電圧値）であり、かつV(R_current(t)) - V(R_r(t+1)) > αのとき、
左上：V(R_current(t))、V(R_l(t+1))が共に最大活性値（最大電圧値）であり、かつV(R_l(t+1)) - V(R_current(t)) > αのとき、
左下：V(R_current(t))、V(R_l(t+1))が共に最大活性値（最大電圧値）であり、かつV(R_current(t)) - V(R_l(t+1)) > αのとき、
ここでαは左右の移動か上下の移動かを判定するための定数である。この数値は本発明を利用する前に事前に最適な値を決めておくことが必要である。
【００４１】
ディスプレイ４上での指７の追跡は、上記で求めた、移動指の移動方向１６、移動距離１７を、ディスプレイ４の一部に表示されているキーボード画像５のサイズに比例した大きさに変換し、指画像６の前記指７を移動させることにより行う。
【００４２】
図８は、本発明の制御部８で行うキー検出アルゴリズムのフローチャートを示している。
ステップＳ０１は、前記発光部１(E_x)における各発光部１ごとの電圧値１１を図６のような「活性化情報テーブル（一時）」(T_activation(temp))に格納する処理を示している。
【００４３】
ステップＳ０２は、E_xにおける今回の最大電圧値をもつ受光部３(R_x(new))とそのディスプレイ１５との距離(D_x(new))を算出する処理を示している。ステップＳ０３は、D_x(new)をT_activation(temp)に格納する処理を示している。ステップＳ０４は、T_activation(temp)上のR_x(new)、D_x(new)と図４のような「活性化情報テーブル」(T_activation)上のR_x(old)、D_x(old)より、移動方向１７、移動距離１８(D_x)を算出する処理を示している。ステップＳ０５は、ステップＳ０４で求めた移動方向１７により、現在の位置より移動方向に１つ進むための距離(r_x)を算出する処理を示している。
ステップＳ０６は、D_x > rのとき、前記指７の位置を「指位置テーブル」(T_finger)に更新し（ステップＳ０７）、そうでないなら、何もしない処理を示している。ステップＳ０８は、キーボード画像５上の前記指７を移動する処理を示している。以上のステップを赤外線有効ビット１３が無効になるまで、一定期間繰り返す。
【００４４】
ステップＳ０９は、赤外線有効ビット１３が無効になったとき、T_activation(temp)をT_activationに更新する処理を示している（ステップＳ１０）。ステップＳ１１は、T_finger上の前記位置を読み込む処理を示している。以上により、利用者により押下されたキーが確定する。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施例のバーチャルキーボードの概略図である。
【図２】利用者の各指に装着する発光部の発光、停止のタイミングを表す図である。
【図３】本発明のバーチャルキーボード装置のブロック図である。
【図４】キーの入力初期位置、キー検出時に用いる「活性化テーブル」を説明する図である。
【図５】指位置情報を格納している「指位置テーブル」を説明する図である。
【図６】キー検出時に用いる「活性化情報テーブル（一時）」を説明する図である。
【図７】指移動方向と受光部、光の照度に比例する電圧値との関連図である。
【図８】本発明のキー検出アルゴリズムのフローチャートである。
【符号の説明】
【００４６】
１・・・発光部、２・・・光、３・・・受光部、４・・・ディスプレイ、５・・・キーボード画像、
６・・・指画像、７・・・指、７−１・・・指の移動１、７−２・・・指の移動２、
７−３・・・指の移動３、８・・・制御部、９・・・記憶部、１０・・・表示部、
１１・・・電圧値、１２・・・移動指情報、１３・・・赤外線有効ビット、
１４・・・各種テーブル情報、１５・・・ディスプレイとの距離、１６・・・キーコード、
１７・・・指の移動方向、１８・・・指の移動距離
【図１】
2006031493.tif 000003
【図２】
2006031493.tif 000004
【図３】
2006031493.tif 000005
【図４】
2006031493.tif 000006
【図５】
2006031493.tif 000007
【図６】
2006031493.tif 000008
【図７】
2006031493.tif 000009
【図８】
2006031493.tif 000010