(57)【要約】【課題】ユーザの手の動きに基づき入力データを決定する処理に使用する学習データの取得期間を適切に設定する機能を有する入力装置、入力方法及び入力プログラムを提供すること。【解決手段】ユーザの手の動きに応じた入力データを決定する入力装置において、センサによって発生された電気信号を含むデータが検出データとして出力される。検出データに基づき、入力タイミングが検出される（Ｓ１４０）。検出データに基づき、収束タイミングが検出される（Ｓ１５０）。入力タイミングと、収束タイミングとに基づき、入力タイミングを含む期間が、検出データの取得期間として設定される（Ｓ１６５又はＳ１７０）。取得期間の検出データが取得される（Ｓ１７５）。Ｓ１７５で取得された検出データと、入力データとが対応付けられて、学習データとして記憶手段に記憶される（Ｓ１８５）。【選択図】図７
2011113437.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの手の動きに応じた入力データを決定する入力装置であって、
前記手に取り付けられ、当該手の動きに応じた電気信号を発生するセンサと、
前記センサによって発生された前記電気信号を含むデータを検出データとして出力する出力手段と、
前記出力手段によって出力された前記検出データに基づき、前記手が入力時の動きをしたタイミングである入力タイミングを検出する入力検出手段と、
前記出力手段によって出力された前記検出データに基づき、前記入力検出手段によって検出された前記入力タイミング後の前記検出データの変化が収束するタイミングである収束タイミングを検出する収束検出手段と、
前記入力検出手段によって検出された前記入力タイミングと、前記収束検出手段によって検出された前記収束タイミングとに基づき、前記入力タイミングを含む期間を、前記入力データの決定に用いる前記検出データの取得期間として設定する期間設定手段と、
前記出力手段によって出力された前記検出データの中から、前記期間設定手段によって設定された前記取得期間内の前記検出データを取得する取得手段と、
前記取得手段によって取得された前記検出データと、前記手の動きに対応する前記入力データとを対応付けたデータを学習データとして記憶手段に記憶させる記憶制御手段と
を備えたことを特徴とする入力装置。
【請求項２】
前記期間設定手段は、前記入力タイミングから、入力間隔の最小値に基づき定められた所定時間経過した閾値タイミングよりも、前記収束タイミングが早く出現する場合に、前記収束タイミングを前記取得期間の終わりとし、前記収束タイミングが前記閾値タイミングよりも遅く出現する場合には前記閾値タイミングを前記取得期間の終わりとする、前記所定時間の２倍の長さの期間を前記取得期間として設定することを特徴とする請求項１に記載の入力装置。
【請求項３】
前記期間設定手段は、前記入力検出手段によって検出された前記入力タイミングよりも、入力間隔の最小値に基づき定められた所定時間前のタイミングを始まりとし、前記入力タイミングから、前記所定時間が経過した閾値タイミング及び前記収束タイミングのうちの早く出現するタイミングを終わりとする、前記始まりから前記終わりまでの期間を前記取得期間として設定することを特徴とする請求項１に記載の入力装置。
【請求項４】
前記期間設定手段は、前記ユーザ毎に前記取得期間を設定することを特徴とする請求項１から３のいずれかに記載の入力装置。
【請求項５】
前記センサは、前記手の各指に装着され、
前記期間設定手段は、前記入力時の動きをしたときに最も動いた指の前記検出データに基づき、当該最も動いた指毎に前記取得期間を決定し、
前記取得手段は、前記出力手段によって出力された前記検出データの中から、前記入力時の動きをしたときに最も動いた指に対応する前記取得期間の前記検出データを取得する
【請求項６】
前記センサは、前記手の各指に装着され、
前記収束検出手段は、少なくとも、前記出力手段によって出力された前記検出データのうち、前記入力時の動きをしたときに最も動いた指に対応する前記検出データ及び当該最も動いた指の隣の指に対応する前記検出データの少なくともいずれかに基づき、前記収束タイミングを検出することを特徴とする請求項１から５のいずれかに記載の入力装置。
【請求項７】
前記出力手段によって出力された前記検出データと、前記記憶手段に記憶された前記学習データとを比較して、当該検出データに対応する前記入力データを決定する決定手段を備えることを特徴とする請求項１から６のいずれかに記載の入力装置。
【請求項８】
手の動きに応じた入力データをコンピュータが決定する入力方法であって、
前記手に取り付けられ、当該手の動きに応じた電気信号を発生するセンサによって発生された前記電気信号を含むデータを検出データとして出力する出力工程と、
前記出力工程において出力された前記検出データに基づき、前記手が入力時の動きをしたタイミングである入力タイミングを検出する入力検出工程と、
前記出力工程によって出力された前記検出データに基づき、前記入力検出工程によって検出された前記入力タイミング後の前記検出データの変化が収束するタイミングである収束タイミングを検出する収束検出工程と、
前記入力検出工程において検出された前記入力タイミングと、前記収束検出工程において検出された前記収束タイミングとに基づき、前記入力タイミングを含む期間を、前記入力データの決定に用いる前記検出データの取得期間として設定する期間設定工程と、
前記出力工程において出力された前記検出データの中から、前記期間設定工程において設定された前記取得期間内の前記検出データを取得する取得工程と、
前記取得工程において取得した前記検出データと、前記手の動きに対応する前記入力データとを対応付けたデータを学習データとして記憶手段に記憶させる記憶制御工程と
を備えたことを特徴とする入力方法。
【請求項９】
請求項１から７のいずれかに記載の入力装置の各種処理手段としてコンピュータを機能させるための入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの手の動きを示す検出データに基づいて、入力データを決定する入力装置、入力方法及び入力プログラムに関する。
【背景技術】
【０００２】
従来、ユーザがキーボードを使用せずにデータを入力するための入力装置が知られている。例えば特許文献１には、手の仕草によって情報を入力することが可能なデータ入力デバイス（入力装置）が提案されている。従来の入力装置では、ユーザの指に取り付けられたセンサから取得期間内に出力された検出データが、予め登録された学習データと比較され、指の動きに応じた入力データが決定される。取得期間は、ユーザがキーを押下した場合に相当する検出データの極大値を中心として所定の長さＴの期間が定められていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００６−５０３３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１には、学習データの作成に用いる検出データの取得期間の設定方法、特に所定の長さＴの期間の設定方法については、具体的な開示がなかった。このため、学習データの作成に用いる検出データの取得期間が適切に設定されない場合があった。
【０００５】
本発明は上述の問題点を解決するためになされたものであり、ユーザの手の動きに基づき入力データを決定する処理に使用する学習データの取得期間を適切に設定する機能を有する入力装置、入力方法及び入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、第１態様の入力装置は、ユーザの手の動きに応じた入力データを決定する入力装置であって、前記手に取り付けられ、当該手の動きに応じた電気信号を発生するセンサと、前記センサによって発生された前記電気信号を含むデータを検出データとして出力する出力手段と、前記出力手段によって出力された前記検出データに基づき、前記手が入力時の動きをしたタイミングである入力タイミングを検出する入力検出手段と、前記出力手段によって出力された前記検出データに基づき、前記入力検出手段によって検出された前記入力タイミング後の前記検出データの変化が収束するタイミングである収束タイミングを検出する収束検出手段と、前記入力検出手段によって検出された前記入力タイミングと、前記収束検出手段によって検出された前記収束タイミングとに基づき、前記入力タイミングを含む期間を、前記入力データの決定に用いる前記検出データの取得期間として設定する期間設定手段と、前記出力手段によって出力された前記検出データの中から、前記期間設定手段によって設定された前記取得期間内の前記検出データを取得する取得手段と、前記取得手段によって取得された前記検出データと、前記手の動きに対応する前記入力データとを対応付けたデータを学習データとして記憶手段に記憶させる記憶制御手段とを備えている。
【０００７】
一般に、入力時の手の動き（以下、単に「入力動作」という。）に対応する検出データは、入力タイミング近傍において最も大きく変化する。また、入力動作が行われた場合、収束タイミング以降に出力される検出データには、その入力動作に起因する検出データの変化はほとんど含まれない。第１態様の入力装置において設定される取得期間には、入力タイミングが含まれるので、取得期間内の検出データには、入力動作時の特徴的な変化を表す検出データが含まれる。さらに、第１態様の入力装置は、収束タイミングを考慮して取得期間を設定するため、特徴的な変化が含まれる期間が優先的に取得期間に含まれるように、取得期間を適切に設定することができる。したがって、学習データと、検出データとの比較結果に基づき、入力データを決定する処理（以下、単に「決定処理」という。）が実行された場合には、第１態様の入力装置は、従来の入力装置に比べ、入力データの決定精度が高い。
【０００８】
入力タイミングから取得期間の終わりまでの期間が長すぎる場合には、入力動作が実行されてから入力データが決定されるまでのタイムラグが長くなるという問題が生じる。また、入力タイミングから取得期間の終わりまでの期間が長すぎる場合には、取得期間内の検出データに次の入力動作に対応する変化を表す検出データが含まれてしまい、入力データの決定精度が低下する可能性がある。これに対し、第１態様の入力装置において、前記期間設定手段は、前記入力タイミングから、入力間隔の最小値に基づき定められた所定時間経過した閾値タイミングよりも、前記収束タイミングが早く出現する場合に、前記収束タイミングを前記取得期間の終わりとし、前記収束タイミングが前記閾値タイミングよりも遅く出現する場合には前記閾値タイミングを前記取得期間の終わりとする、前記所定時間の２倍の長さの期間を前記取得期間として設定してもよい。
【０００９】
この場合の入力装置は、所定時間が適宜定められることによって、入力タイミングから取得期間の終わりまでの期間が長くなりすぎることを確実に回避することができる。収束タイミングが、閾値タイミングよりも早く出現する場合には、入力装置は、取得期間の終わりに閾値タイミングが設定される場合に比べ、決定処理においてタイムラグを短縮することができる。さらに、この場合の入力装置は、取得期間の終わりが収束タイミングであるか、又は、閾値タイミングであるかによらず、取得期間の長さが一定であるので、入力データの決定精度を考慮した一定数の検出データに基づき学習データを作成することができる。また、この場合の入力装置は、取得期間の長さが一定でない場合に比べ、同じ取得期間の長さが設定される点で、学習データを作成する処理及び決定処理を簡単にすることができる。
【００１０】
第１態様の入力装置において、前記期間設定手段は、前記入力検出手段によって検出された前記入力タイミングよりも、入力間隔の最小値に基づき定められた所定時間前のタイミングを始まりとし、前記入力タイミングから、前記所定時間が経過した閾値タイミング及び前記収束タイミングのうちの早く出現するタイミングを終わりとする、前記始まりから前記終わりまでの期間を前記取得期間として設定してもよい。
【００１１】
この場合の入力装置は、所定時間が適宜定められることによって、入力タイミングから取得期間の終わりまでの期間が長くなりすぎることを確実に回避することができる。収束タイミングが、閾値タイミングよりも早く出現する場合には、入力装置は、取得期間の終わりに閾値タイミングが設定される場合に比べ、決定処理においてタイムラグを短縮することができる。さらに、この場合の入力装置は、取得期間の長さが一定の場合に比べ、取得期間を短い期間とすることができる。したがって、この場合の入力装置は、決定処理が実行された場合に、取得期間の長さが一定の場合に比べ、短い取得期間内の検出データを用いて入力データを決定することができる点で、決定処理を簡単化することができる。また入力装置は、取得期間内の検出データに前の入力動作の検出データの変化が入ってしまい、決定処理が実行された場合に、決定処理において入力データの決定精度が低下することを、所定時間が適宜定められることによって、確実に回避することができる。
【００１２】
同じ入力動作が実行された場合であっても、入力タイミングが検出されてから収束タイミングが検出されるまでの時間（以下、「収束時間」という。）は、ユーザ毎に異なる。これに対し、第１態様の入力装置において、前記期間設定手段は、前記ユーザ毎に前記取得期間を設定してもよい。この場合の入力装置は、入力動作実行時のユーザ毎の検出データの経時変化の違いを考慮して取得期間を設定しているため、異なるユーザ間で同じ取得期間が設定される場合に比べ、取得期間を適切に設定することができる。したがって、入力装置は、決定処理が実行された場合に、異なるユーザ間で同一の取得期間が設定される場合に比べ、入力データの決定精度を高めることができる。
【００１３】
同じユーザによって入力動作が実行された場合であっても、入力動作を実行する指が異なれば、入力タイミングが検出されてから収束タイミングが検出されるまでの時間が異なる場合がある。これに対し、第１態様の入力装置において、前記センサは、前記手の各指に装着され、前記期間設定手段は、前記入力時の動きをしたときに最も動いた指の前記検出データに基づき、当該最も動いた指毎に前記取得期間を決定し、前記取得手段は、前記出力手段によって出力された前記検出データの中から、前記入力時の動きをしたときに最も動いた指に対応する前記取得期間の前記検出データを取得してもよい。この場合の入力装置は、収束時間の差を考慮して、指毎に取得期間を設定することができる。したがって、入力装置は、決定処理が実行された場合に、全ての指に同じ取得期間が設定された場合に比べ、入力データの決定精度を高めることができる。
【００１４】
第１態様の入力装置において、前記センサは、前記手の各指に装着され、前記収束検出手段は、少なくとも、前記出力手段によって出力された前記検出データのうち、前記入力時の動きをしたときに最も動いた指に対応する前記検出データ及び当該最も動いた指の隣の指に対応する前記検出データの少なくともいずれかに基づき、前記収束タイミングを検出してもよい。
【００１５】
ユーザが特定の指を動かす場合、特定の指以外の指も少なからず動かされることになる。例えば、左手の小指で「Ａ」が押下される場合、左手の小指以外の指も動かされることになる。したがって、ユーザが特定の指を動かした場合、特定の指の検出データに加え、特定の指以外の指の検出データも変化する。各指の動きを示す検出データの内、特定の指に対応する検出データは、最も大きく変化し、特定の指の隣の指の検出データは、２番目に大きく変化する。このため、最も動いた指の検出データ及び最も動いた指の隣の指の検出データの少なくともいずれかの変化が収束していれば、他の指の検出データの変化も収束すると推定できる。したがって、この場合の入力装置は、収束タイミングを的確に検出することができる。入力装置は、全ての指の検出データに基づき収束タイミングが検出される場合に比べ、収束タイミングの検出に要する処理を簡単にすることができる。さらに、ある指の検出データの変化が収束していても、他の指の検出データの変化が収束していない場合がある。これに対し、複数の指に対応する検出データに基づき収束タイミングが検出された場合には、１つの指に対応する検出データに基づき収束タイミングが検出される場合に比べ、収束タイミングを的確に定めることができる。この場合の複数の指としては、例えば、最も動いた指と、最も動いた指の隣の指との双方に対応する検出データと、最も動いた指の両隣の指とが挙げられる。
【００１６】
第１態様の入力装置において、前記出力手段によって出力された前記検出データと、前記記憶手段に記憶された前記学習データとを比較して、当該検出データに対応する前記入力データを決定する決定手段を備えてもよい。この場合の入力装置は、従来の入力装置に比べ、入力データの決定精度が高い。また、決定処理が実行された場合の上記効果が得られる。
【００１７】
第２態様の入力方法は、手の動きに応じた入力データをコンピュータが決定する入力方法であって、前記手に取り付けられ、当該手の動きに応じた電気信号を発生するセンサによって発生された前記電気信号を含むデータを検出データとして出力する出力工程と、前記出力工程において出力された前記検出データに基づき、前記手が入力時の動きをしたタイミングである入力タイミングを検出する入力検出工程と、前記出力工程によって出力された前記検出データに基づき、前記入力検出工程によって検出された前記入力タイミング後の前記検出データの変化が収束するタイミングである収束タイミングを検出する収束検出工程と、前記入力検出工程において検出された前記入力タイミングと、前記収束検出工程において検出された前記収束タイミングとに基づき、前記入力タイミングを含む期間を、前記入力データの決定に用いる前記検出データの取得期間として設定する期間設定工程と、前記出力工程において出力された前記検出データの中から、前記期間設定工程において設定された前記取得期間内の前記検出データを取得する取得工程と、前記取得工程において取得した前記検出データと、前記手の動きに対応する前記入力データとを対応付けたデータを学習データとして記憶手段に記憶させる記憶制御工程とを備えてもよい。第２態様の入力方法によれば、第１態様の入力装置と同様な効果が得られる。
【００１８】
第３態様の入力プログラムは、上記第１態様の入力装置の各種処理手段としてコンピュータを機能させる。第３態様の入力プログラムは、コンピュータによって実行されることにより、第１態様の入力装置の各種処理手段としての作用効果を奏することができる。
【図面の簡単な説明】
【００１９】
【図１】入力装置１の物理的構成を示す模式図である。
【図２】データ収集装置２の電気的構成を示すブロック図である。
【図３】データ決定装置４の電気的構成を示すブロック図である
【図４】学習データ記憶エリア３８３の説明図である。
【図５】検出処理のフローチャートである。
【図６】第１の実施形態のメイン処理のフローチャートである。
【図７】図６のメイン処理において実行される学習モード処理のフローチャートである。
【図８】入力時の動きが実行された場合の検出データの経時変化を示すデータ１０１から１０５に設定される入力判断ウィンドウ４００及び識別ウィンドウ１３２の説明図である。
【図９】入力時の動きが実行された場合の検出データの経時変化を示すデータ１０１から１０５に設定される入力判断ウィンドウ４００及び識別ウィンドウ２３２，３３２の説明図である。
【図１０】第４の実施形態のメイン処理のフローチャートである。
【図１１】図１０のメイン処理において実行される学習モード処理のフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明を具現化した第１から第４の実施形態の入力装置１について、図面を参照して順に説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【００２１】
まず、図１を参照して、入力装置１の物理的構成について説明する。第１から第４の実施形態の入力装置１は、同様の物理的構成を有する。入力装置１は、仮想的な入力装置を操作するユーザの手の動きを検出して、入力データを決定する。本実施形態の入力装置１は、特に、仮想的なキーボードのキーを操作する手（指）の動作を検出し、その動作に対応するキーに基づき入力データを決定する。図１のように、入力装置１は、データ収集装置２と、データ収集装置３と、データ決定装置４とを備える。データ収集装置２は、ユーザの右手に取り付けられる。データ収集装置３は、ユーザの左手に取り付けられる。データ収集装置２と、データ収集装置３とはそれぞれ、データ決定装置４に検出データを送信する。データ決定装置４は、ユーザが確認可能な位置に配置され、データ収集装置２と、データ収集装置３とから送信された検出データに基づき、入力データを決定する。
【００２２】
まず、データ収集装置２と、データ収集装置３との物理的構成を説明する。データ収集装置２と、データ収集装置３との物理的構成は、基本的に同様である。データ収集装置２を例に、データ収集装置２と、データ収集装置３との物理的構成を説明する。図１のように、データ収集装置２は、手袋部２３（データ収集装置３では、手袋部３３）と、センサ２１と、筐体２２と、ハーネス２４とを備える。以下、データ収集装置２が備える各部材について説明する。
【００２３】
手袋部２３は、ユーザの右手に装着される右手用の手袋である。センサ２１は、データ収集装置２が取り付けられた手の各指に対応して５つ設けられ、センサ２１が取り付けられた指の動作を検出する。各センサ２１は、手袋部２３の甲側の表面のうち、指先部分に取り付けられている。センサ２１は、手、特に指の動作を検出する機能を備えていればよく、例えば、加速度センサと、ジャイロセンサとのいずれかが用いられる。第１から第４の実施形態のセンサ２１は、加速度センサである。センサ２１は、データ収集装置２の電源がＯＮにされた場合に、検出方向（軸）毎にセンサ２１が取り付けられた指の加速度（Ｇ）を示す電気信号を常時、後述する制御部２５（図２参照）に対して出力する。本実施形態では検出方向（軸）として、直交座標系におけるｘ軸方向（ｘ軸）と、ｙ軸方向（ｙ軸）と、ｚ軸方向（ｚ軸）との３方向（３軸）が設定されている。
【００２４】
筐体２２は、直方体の形状を有し、手袋部２３の甲側の表面の手首部分に取り付けられている。筐体２２は、制御部２５（図２参照）を収容する。ハーネス２４は、センサ２１と制御部２５とを電気的に接続する。センサ２１から出力された信号は、ハーネス２４を介して制御部２５に伝送される。
【００２５】
次に、データ決定装置４の物理的構成について説明する。第１から第４の実施形態の入力装置１は、基本的に同様の物理的構成を有する。図１のように、データ決定装置４は、筐体３６と、表示部３９と、入力部４０とを備える。筐体３６は、直方体の形状を有し、後述する制御部３７（図３参照）を収容する。表示部３９は、平面視矩形の液晶ディスプレイである。表示部３９には、入力装置１の動作モードと、入力データと、指示とを含む各種情報が表示される。入力部４０は、ユーザが入力装置１の動作モードを設定したり、各種指示を入力したりする際に用いられるボタンである。
【００２６】
次に、入力装置１の電気的構成について説明する。データ収集装置２と、データ収集装置３との電気的構成は、同様である。データ収集装置２を例に、データ収集装置２と、データ収集装置３との電気的構成を説明する。
【００２７】
図２のように、データ収集装置２は、制御部２５と、センサ２１とを備える。制御部２５は、ＣＰＵ４１と、ＲＯＭ４２と、ＲＡＭ４３と、Ａ／Ｄコンバータ４５と、ＲＦモジュール４６と、アンテナ４７と、バス４４とを備える。ＣＰＵ４１は、ＲＯＭ４２と、ＲＡＭ４３とのそれぞれとバス４４を介して接続されている。以下、制御部２５が備える各構成について説明する。
【００２８】
ＣＰＵ４１は、データ収集装置２の主制御を司り、ＲＯＭ４２のプログラム記憶エリア（図示せず）に記憶された各種プログラムに従って、入力データの決定に関わる各種演算及び処理を実行する。なお、プログラムはフレキシブルディスク等の外部記憶装置に記憶されていてもよい。
【００２９】
ＲＯＭ４２は、図示しないが、プログラム記憶エリアと、設定記憶エリアを含む複数の記憶エリアを備える。プログラム記憶エリアには、検出プログラムを含む各種プログラムが記憶される。検出プログラムは、後述する検出処理を実行させるためのプログラムである。設定記憶エリアには、データ収集装置２の初期設定と、パラメータとが記憶される。ＲＡＭ４３は、任意に読み書き可能な記憶装置であり、ＣＰＵ４１の演算結果等を記憶する。
【００３０】
Ａ／Ｄコンバータ４５は、センサ２１から出力される電気信号（アナログ信号）をデジタル信号に変換する。Ａ／Ｄコンバータ４５は、センサ２１と、ＣＰＵ４１とに接続されている。アンテナ４７は、データ収集装置２と外部装置との間でデータを送受信する。アンテナ４７は、例えば、検出データを無線でデータ決定装置４に送信する。ＲＦモジュール４６は、アンテナ４７とＣＰＵ４１との間に接続され、変調制御を司る。
【００３１】
次に、データ決定装置４の電気的構成を説明する。図３のように、データ決定装置４の制御部３７は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、フラッシュメモリ３８と、ＲＦモジュール４０５と、アンテナ４０６と、表示部３９と、入力部４０とを備える。ＣＰＵ４０１は、ＲＯＭ４０２と、ＲＡＭ４０３と、フラッシュメモリ３８とのそれぞれと、バス４０４を介して接続されている。以下、データ決定装置４が備える各構成について説明する。
【００３２】
ＣＰＵ４０１は、データ決定装置４の主制御を司り、ＲＯＭ４０２のプログラム記憶エリア（図示せず）に記憶された各種プログラムに従って、入力データの決定に関わる各種演算及び処理を実行する。なお、プログラムはフレキシブルディスク等の外部記憶装置に記憶されていてもよい。
【００３３】
ＲＯＭ４０２は、図示しないが、プログラム記憶エリアを含む複数の記憶エリアを備える。プログラム記憶エリアには、メインプログラム及び取得プログラムを含む各種プログラムが記憶される。メインプログラムは、データ収集装置２及びデータ収集装置３から出力された検出データに基づき、入力データを決定するメイン処理を実行させるためのプログラムである。取得プログラムは、後述する取得処理を実行するためのプログラムである。ＲＡＭ４０３は、ＣＰＵ４１が演算処理した演算結果等を記憶する。
【００３４】
フラッシュメモリ３８は、検出データ記憶エリア３８１と、動作モード記憶エリア３８２と、学習データ記憶エリア３８３と、条件記憶エリア３８４と、その他の情報記憶エリア３８５とを含む複数の記憶エリアを備える。検出データ記憶エリア３８１には、センサ２１から出力された電気信号と、その電気信号に対して付与されたタイムスタンプとが、検出データとして記憶される。検出データに含まれるタイムスタンプは、センサ２１から出力された電気信号が制御部２５において取得された際の、タイムスタンプクロック値を示す。検出データは、センサ２１が取り付けられている手及び指の種類と、検出方向（軸）とを組み合わせた検出条件毎に記憶される。手の種類には、右手と左手とが含まれる。指の種類には、親指と、人差し指と、中指と、薬指と、小指とが含まれる。動作モード記憶エリア３８２には、入力装置１の動作モードが記憶されている。動作モードには、学習モードと、入力モードとのいずれかが設定可能である。動作モードに学習モードが設定されている場合、データ決定装置４は、学習データ記憶エリア３８３を更新する処理を実行する。動作モードに入力モードが設定されている場合、データ決定装置４は、検出データに基づき入力データを決定する処理を実行する。
【００３５】
学習データ記憶エリア３８３には、学習データが記憶されている。学習データは、入力動作に対応する入力データと、取得期間内の検出データの特徴量とが対応付けられたデータである。図４のように、学習データは検出条件毎に記憶されている。条件記憶エリア３８４には、ＣＰＵ４０１が各種プログラムを実行するための各種設定値が記憶されている。条件記憶エリア３８４には、例えば、後述するメイン処理において、決定処理で設定されるウィンドウの条件が記憶されている。ウィンドウは、検出データの取得期間を規定する。後述するメイン処理において、入力判断ウィンドウと、識別ウィンドウと、収束判断ウィンドウとの３種類のウィンドウが設定される。入力判断ウィンドウは、入力タイミングを検出する処理に用いられる検出データの取得期間を規定する。識別ウィンドウは、入力データを決定する処理に用いられる検出データの取得期間を規定する。収束判断ウィンドウは、収束タイミングを検出する処理に用いられる検出データの取得期間を規定する。その他の情報記憶エリア３８５には、その他の情報が記憶されている。
【００３６】
アンテナ４０６は、データ決定装置４と外部装置との間で、無線でデータの送受信を行う。外部装置には、データ収集装置２と、データ収集装置３と、入力データの出力先となるＰＣ等の外部装置とが含まれる。ＲＦモジュール４０５は、ＣＰＵ４０１とアンテナ４０６とに接続され、変復調制御を司る。表示部３９は、ＣＰＵ４０１と接続され、ＣＰＵ４０１によって制御される。入力部４０は、ＣＰＵ４０１と接続される。
【００３７】
次に、第１の実施形態の入力装置１で実行される処理について説明する。まず、データ収集装置２と、データ収集装置３とで実行される処理について説明する。データ収集装置２と、データ収集装置３とで実行される処理は、基本的に同様である。データ収集装置２とデータ収集装置３とでは、電源がＯＮにされた場合に、データ決定装置４に開始指示が送信されるとともに、出力処理と、検出処理とを含む複数の処理が実行される。出力処理と、検出処理とは、それぞれ、図２のＲＯＭ４２に記憶されたプログラムに従って、ＣＰＵ４１によって実行される。
【００３８】
出力処理では、データ収集装置２の電源がＯＮにされている期間、センサ２１から３種類の検出方向（ｘ軸方向、ｙ軸方向、ｚ軸方向）の加速度（ｍｇ）を示す電気信号が制御部２５に常時出力される。検出処理では、出力処理において出力された電気信号が、制御部２５が備えるＣＰＵ４１（図２参照）によって所定期間毎に検出される。図５を参照して、検出処理について説明する。図５のように、検出処理ではまず、図示外のクロックが参照され、検出時間か否かが判断される（Ｓ５）。Ｓ５では、前回の検出時から所定期間（例えば、５ｍｓｅｃ）経過している場合に、検出時間であると判断される。所定期間は、その他の情報記憶エリア３８５に記憶されている。
【００３９】
検出時間ではない場合（Ｓ５：Ｎｏ）、検出時間に達するまで待機される。検出時間である場合（Ｓ５：Ｙｅｓ）、センサ２１から出力されている電気信号が取得され、取得された電気信号にタイムスタンプが付与される（Ｓ１０）。Ｓ１０で取得される電気信号は、指の種類５種類と、検出方向３種類とを組み合わせた１５種類の電気信号である。各電気信号に付与されるタイムスタンプは、電気信号が取得された順序が特定可能であればよく、例えば、電気信号が取得された際の、タイムスタンプクロック値である。次に、アンテナ４７を介して、Ｓ１０で取得された電気信号と、電気信号に対して付与されたタイムスタンプとが検出データとして、データ決定装置４に出力される（Ｓ１５）。Ｓ１５で送信される検出データは、検出条件を示す情報を含む。次に、データ収集装置２の電源がＯＮの場合は（Ｓ２０：Ｎｏ）、処理はＳ５に戻り、電源がＯＦＦの場合は（Ｓ２０：Ｙｅｓ）、検出処理は終了する。
【００４０】
次に、データ決定装置４で実行される処理について説明する。データ決定装置４は、データ収集装置２又はデータ収集装置３から送信された開始指示を取得した場合に起動する。データ決定装置４は、起動後、取得処理と、メイン処理とを含む複数の処理を開始させる。取得処理と、メイン処理とは、それぞれ、図３のＲＯＭ４０２に記憶されたプログラムに従って、ＣＰＵ４０１によって実行される。なお、データ決定装置４では、電源がＯＦＦにされた場合には、各種処理を終了させる処理が、上記処理とは別途実行される。取得処理では、データ収集装置２又はデータ収集装置３から出力された検出データが受信され、受信された検出データが検出データ記憶エリア３８１に記憶される。データ決定装置４は、図４のように検出条件毎に検出データを記憶させる。
【００４１】
メイン処理では、入力装置１の動作モードに応じた処理が実行される。図６から図８を参照して、メイン処理を説明する。まずメイン処理の概要について説明する。入力装置１は、メイン処理において、データ収集装置２及びデータ収集装置３から送信された検出データに基づき、入力データを決定する。入力データは、例えば、仮想的なキーボードのキー種別を表す文字又は記号である。以下の説明において、期間の始まりは、時系列上、期間内の最も古いタイミングを指し、期間の終わりは、期間内の最も新しいタイミングを指す。
【００４２】
図６のように、メイン処理では、まず、初期化処理が実行される（Ｓ１０５）。Ｓ１０５では、例えば、メイン処理を実行するための各種設定値がＲＯＭ４０２又はフラッシュメモリ３８から読み出される。読み出された設定値は、ＲＡＭ４０３に記憶される。次に、動作モードに入力モードが設定され、設定された動作モードは動作モード記憶エリア３８２に記憶される（Ｓ１１０）。
【００４３】
次に、入力装置１の動作モードが学習モードであるか否かが判断される（Ｓ１１５）。学習モードでは、学習データ記憶エリア３８３の学習データに含まれる特徴量を更新する処理が実行される。ユーザが入力部４０を操作して指示を入力した場合に、動作モードに学習モードが設定される。動作モードが学習モードではない場合（Ｓ１１５：Ｎｏ）の処理は後述する。動作モードが学習モードである場合（Ｓ１１５：Ｙｅｓ）、学習モード処理が実行される（Ｓ１２０）。
【００４４】
学習モード処理の詳細を、図７及び図８を参照して説明する。具体例として、左手中指で仮想的なキーボードの「Ｅ」が打鍵される入力動作が実行された場合の検出データが、図８のように取得される場合を想定する。図８において、データ１０１は左手・親指・ｚ軸の検出データであり、データ１０２は左手・人差し指・ｚ軸の検出データであり、データ１０３は左手・中指・ｚ軸の検出データであり、データ１０４は左手・薬指・ｚ軸の検出データであり、データ１０５は左手・小指・ｚ軸の検出データである。
【００４５】
学習モード処理では、図７のように、まず、各ウィンドウの幅が設定され、設定された幅はＲＡＭ４０３に記憶される（Ｓ１２５）。各ウィンドウの幅は、フラッシュメモリ３８の条件記憶エリア３８４に記憶されている。識別ウィンドウの幅Ｌは、入力間隔の最小値を考慮して予め定められた値であり、予め定められた複数のユーザに共通する値であってもよいし、ユーザ毎に設定される値であってもよい。入力間隔は、入力動作が連続して実行される場合の、各入力動作の入力タイミングの間隔である。識別ウィンドウの幅Ｌは、例えば、４００ｍｓｅｃである。入力判断ウィンドウの幅は、例えば、５０ｍｓｅｃである。収束判断ウィンドウの幅は、例えば、５０ｍｓｅｃである。次に、キー種別が表示部３９に表示される（Ｓ１３０）。Ｓ１３０では、仮想的なキーボードのキー種別（例えば、「Ｅ」）が表示される。ユーザは、表示部３９を確認した後、表示部３９に示された「Ｅ」を打鍵する場合の入力動作を行う。次に、取得順序が新しい順に所定個の検出データが取得され、取得された検出データはＲＡＭ４０３に記憶される（Ｓ１３５）。取得順序は、検出データに含まれるタイムスタンプに基づき特定される。Ｓ１３５は、検出データに入力判断ウィンドウを設定する処理である。Ｓ１３５における検出データの取得数は、入力判断ウィンドウの幅と、取得処理における検出データの取得頻度Ｊとに応じて決定される。図８の具体例では、入力判断ウィンドウ４００の幅が５０ｍｓｅｃであり、取得頻度Ｊが５ｍｓｅｃであるので、検出データの取得数は、１０である。
【００４６】
次に、Ｓ１３５で取得された検出データに基づき、入力動作が実行されたか否かが判断される（Ｓ１４０）。Ｓ１４０では、いずれかの検出条件の検出データについて、入力判断ウィンドウ内の検出データの最大値と、最小値との差が閾値以上であった場合に、入力動作が実行されたと判断される。入力判断ウィンドウ内の検出データの最大値と、最小値との差が閾値以上となった場合の入力判断ウィンドウの終わりを、入力タイミングとする。図８の具体例では、Ｔ１が入力タイミングとされる。入力動作が実行された場合の各検出条件の検出データの最大値と、最小値との差を比較すると、一般に、入力動作をした指のｚ軸方向の検出データの最大値と、最小値との差が最も大きい。したがって、Ｓ１４０では、入力動作をした指（図８では、データ１０３）の検出データに基づき、入力タイミングが検出されることになる。閾値は、入力動作が実行された場合の検出データの経時変化と、入力動作が実行されていない場合の検出データの変化とを考慮して適宜定められ、フラッシュメモリ３８に記憶されている。閾値は、例えば、６００ｍｇである。入力動作が実行されていない場合（Ｓ１４０：Ｎｏ）、処理はＳ１３５に戻る。図８のように、入力判断ウィンドウ４００は、Ｓ１３５が繰り返し実行されることによって、図中左側から右側に向かって順にシフトする。
【００４７】
Ｓ１４０で、入力動作が実行された場合（Ｓ１４０：Ｙｅｓ）、次に、取得順序が新しい順に所定個の検出データが取得され、取得された検出データはＲＡＭ４０３に記憶される（Ｓ１４５）。Ｓ１４５は、検出データに収束判断ウィンドウを設定する処理である。Ｓ１４５における検出データの取得数は、収束判断ウィンドウの幅と、取得処理における検出データの取得頻度Ｊとに応じて決定される。収束判断ウィンドウの幅が５０ｍｓｅｃ，取得頻度Ｊが５ｍｓｅｃである場合、検出データの取得数は、１０となる。
【００４８】
次に、Ｓ１４５で取得された検出データに基づき、Ｓ１４５で検出された入力タイミング以降の検出データの変化が収束したか否かが判断される（Ｓ１５０）。Ｓ１５０では、入力動作が実行された手のすべての指の検出データについて、収束判断ウィンドウ内の同一検出条件の検出データの最大値と、最小値との差が閾値以下であった場合に、検出データが収束したと判断される。入力動作が実行された手は、検出データに基づき特定される。収束判断ウィンドウ内の検出データの最大値と、最小値との差が閾値以下であった場合の収束判断ウィンドウの始まりを収束タイミングとする。したがって、Ｓ１５０では入力動作が実行された手の検出データに基づき、収束タイミングが検出されることになる。Ｓ１５０の閾値は、入力動作が実行されていない場合の手の震え等を考慮し、手が動いていないと判断される許容値が設定されることが好ましい。閾値は、例えば、３００ｍｇであり、図８の具体例ではＴ２が収束タイミングとされる。検出データの変化が収束していない場合（Ｓ１５０：Ｎｏ）、処理はＳ１４５に戻る。
【００４９】
検出データの変化が収束した場合（Ｓ１５０：Ｙｅｓ）、収束時間が所定値よりも小さいか否かが判断される（Ｓ１６０）。収束時間は、Ｓ１４０で検出された入力タイミングから、Ｓ１５０で検出された入力タイミングまでの時間である。図８では、収束時間は、入力タイミングＴ１から収束タイミングＴ２までの期間１２２で示される。所定値は、入力間隔の最小値を考慮して定められた値であり、例えば、識別ウィンドウの幅Ｔ（図８では矢印１２１で図示）の半分の値２００ｍｓｅｃが設定される。収束時間が所定値よりも小さい場合とは、入力タイミングからＴ／２だけ経過した閾値タイミングよりも、収束タイミングが早く出現する場合である。図８では、Ｔ３が閾値タイミングとされる。
【００５０】
収束時間が所定値よりも小さい場合には（Ｓ１６０：Ｙｅｓ）、取得期間の終わりに収束タイミングが設定される（Ｓ１６５）。取得期間は、識別ウィンドウを設定する処理に用いられる。より具体的には、Ｓ１６５では、収束タイミングを取得期間の終わりとする、長さＴの期間が取得期間の設定条件として設定される。収束時間が所定値以上である場合には（Ｓ１６０：Ｎｏ）、取得期間の終わりに閾値タイミングが設定される（Ｓ１７０）。より具体的には、Ｓ１７０では、閾値タイミングを終わりとする長さＴの期間が取得期間の設定条件として設定される。Ｓ１６５又はＳ１７０の次に、Ｓ１６５又はＳ１７０で設定された取得期間に従って検出データが取得され、取得された検出データはＲＡＭ４０３に記憶される（Ｓ１７５）。Ｓ１６５で取得期間が設定された場合、Ｓ１７５では、タイミングＴ４からＳ１５０で検出された収束タイミングＴ２までの長さＴの期間内の検出データが取得される。この場合、図８の具体例では、識別ウィンドウ１３２内の検出データが取得される。Ｓ１７０で取得期間が設定された場合、Ｓ１７５では、タイミングＴ０から閾値タイミングＴ３までの長さＴの取得期間が設定される。この場合、図８の具体例では、識別ウィンドウ１３１内の検出データが取得される。入力タイミングＴ１は識別ウィンドウ１３１の中央にある。
【００５１】
次に、Ｓ１７５で取得された検出データの特徴量が算出され、算出された特徴量はＲＡＭ４０３に記憶される（Ｓ１８０）。検出データの特徴量は、Ｓ１７５で取得された識別ウィンドウ内の検出データに基づき、以下の手順で算出された５つの平均値である。まず、識別ウィンドウの期間が、５つの期間に等分割される。次に分割された期間毎に、検出データの平均値が算出される。次に、Ｓ１８０で加工された検出データの特徴量と、Ｓ１３０で表示されたキー種別とが対応付けられ、対応付けられたデータは、学習データとして学習データ記憶エリア３８３に記憶される（Ｓ１８５）。次に、動作モード記憶エリア３８２が参照され、動作モードに入力モードが設定されているか否かが判断される（Ｓ１９０）。学習モード中に、ユーザが入力部４０を操作して指示を入力した場合に、動作モードが学習モードから入力モードに変更される。また、全てのキー種別について学習データが記憶された場合に、学習モードに入力モードが設定される。動作モードに入力モードが設定されていない場合（Ｓ１９０：Ｎｏ）、処理はＳ１３０に戻り、次のキー種別が表示される（Ｓ１３０）。動作モードに入力モードが設定されている場合（Ｓ１９０：Ｙｅｓ）、学習モード処理は終了し、処理はメイン処理に戻る。
【００５２】
Ｓ１１５において、動作モードに学習モードが設定されていない場合（Ｓ１１５：Ｎｏ）、入力モード時の処理が実行される。入力モード時の処理では、まず、取得順序が新しい順に所定個の検出データが取得される（Ｓ２００）。Ｓ２００の処理はＳ１３５と同様の処理である。次にＳ２００で取得された検出データに基づき、入力動作が実行されたか否かが判断される（Ｓ２０５）。Ｓ２０５の処理はＳ１４０と同様の処理であり、入力動作が実行されていない場合には（Ｓ２０５：Ｎｏ）、処理はＳ２００に戻る。入力動作が実行された場合には（Ｓ２０５：Ｙｅｓ）、取得順序が新しい順に所定個の検出データが取得され、取得された検出データはＲＡＭ４０３に記憶される（Ｓ２１０）。Ｓ２１０における検出データの取得数は、Ｓ１７５と同様である。
【００５３】
次に、Ｓ２１０で取得された検出データの特徴量が算出され、算出された特徴量はＲＡＭ４０３に記憶される（Ｓ２１５）。Ｓ２１５の処理はＳ１８０と同様であり、Ｓ２１０で取得された識別ウィンドウ内の検出データに基づき５つの平均値が算出される。次に、Ｓ２１５で算出された特徴量に対応する学習データが、学習データ記憶エリア３８３に記憶されているか否かが判断される（Ｓ２２０）。学習データ記憶エリア３８３に記憶されているいずれかの学習データと、Ｓ２１５で加工された検出データとの差が所定値未満である場合に、Ｓ２１５で算出された特徴量に対応する学習データが学習データ記憶エリア３８３に記憶されていると判断される。Ｓ２１５で算出された特徴量に対応する学習データが記憶されていない場合（Ｓ２２０：Ｎｏ）、Ｓ２０５で入力タイミングが検出されてから所定時間が経過したか否かが判断される（Ｓ２２５）。所定時間は、Ｓ１６０の所定値と同様である。Ｓ２０５で入力タイミングが検出されてから所定時間が経過していない場合（Ｓ２２５：Ｎｏ）、処理はＳ２１０に戻る。Ｓ２０５で入力タイミングが検出されてから所定時間が経過した場合（Ｓ２２５：Ｙｅｓ）、Ｓ２０５で検出された入力動作に対応する入力データを決定する処理は実行されず、後述するＳ２４０の処理が実行される。
【００５４】
Ｓ２２０において、Ｓ２１５で算出された特徴量に対応する学習データが記憶されている場合（Ｓ２２０：Ｙｅｓ）、Ｓ２０５で検出された入力動作に対応する入力データが決定され、決定された入力データはＲＡＭ４０３に記憶される（Ｓ２３０）。Ｓ２３０で決定される入力データは、Ｓ２１５で算出された特徴量に対応する学習データに対応付けられた入力データである。次に、Ｓ２３０で決定された入力データが、アンテナ４０６を介して、ＰＣ等の外部装置（図示せず）に送信される（Ｓ２３５）。Ｓ１２０と、Ｓ２３５と、Ｓ２２５とのいずれかの次に、電源がＯＦＦにされたか否かが判断され（Ｓ２４０）、データ決定装置４の電源がＯＦＦではない場合には（Ｓ２４０：Ｎｏ）、処理はＳ１１５に戻る。データ決定装置４の電源がＯＦＦの場合には（Ｓ２４０：Ｙｅｓ）、メイン処理は終了する。
【００５５】
以上のように、第１の実施形態の入力装置１の処理が実行される。図５のＳ１５は、本発明の出力工程に相当し、Ｓ１５で検出データを出力するＣＰＵ４１は、本発明の出力手段として機能する。図６のＳ２０５及び図７のＳ１４０は、本発明の入力検出工程に相当し、Ｓ２０５及びＳ１４０において、検出データに基づき入力タイミングを検出するＣＰＵ４０１は、本発明の入力検出手段として機能する。Ｓ１５０は本発明の収束検出工程に相当し、Ｓ１５０で収束タイミングを検出するＣＰＵ４０１は、本発明の収束検出手段として機能する。Ｓ１６５又はＳ１７０は、本発明の期間設定工程に相当し、Ｓ１６５又はＳ１７０で取得期間を設定するＣＰＵ４０１は、本発明の期間設定手段として機能する。Ｓ１７５は本発明の取得工程に相当し、Ｓ１７５で取得期間の検出データを取得するＣＰＵ４０１は、本発明の取得手段として機能する。Ｓ１８５は本発明の記憶制御工程に相当し、Ｓ１８５で学習データを学習データ記憶エリア３８３に記憶させるＣＰＵ４０１は、本発明の記憶制御手段として機能する。
【００５６】
第１の実施形態の入力装置１のＳ１６５又はＳ１７０において設定される取得期間には、入力タイミングが含まれるので、取得期間内の検出データには、入力動作時の特徴的な変化を表す検出データが含まれる。さらに、第１の実施形態の入力装置１は、収束タイミングを考慮して、取得期間の終わりを収束タイミング又は閾値タイミングとするため、特徴的な変化が含まれる期間が取得期間に含まれるように、取得期間を適切に設定することができる。したがって、入力装置１は、従来の入力装置に比べ、入力データの決定精度を高めることができる。
【００５７】
入力装置１は、取得期間の終わりを閾値タイミング以前としているので、Ｓ１６０の所定値が適宜定められることによって、入力タイミングから取得期間の終わりまでの期間が長くなりすぎることを確実に回避することができる。図８の具体例では、Ｓ１６５で設定される取得期間では、Ｓ１７０で設定される取得期間に比べ、期間１２３（３０ｍｓｅｃ）だけ取得期間の終わりが早く出現する。したがって、Ｓ１６５で取得期間が設定された場合には、Ｓ１７０で取得期間が設定される場合に比べ、期間１２３だけ決定処理におけるタイムラグを短縮することができる。さらに、入力装置１は、取得期間の終わりが収束タイミングＴ２であるか、又は、閾値タイミングＴ３であるかによらず、取得期間の長さが一定（矢印１２１で図示する長さ）である。したがって、入力装置１は、入力データの決定精度を考慮した一定数の検出データに基づき、入力データを決定することができる。
【００５８】
なお、第１の実施形態において、Ｓ１５０の収束タイミングの検出方法は適宜変更可能である。例えば、第２及び第３の実施形態の方法で収束タイミングが検出されてもよい。第２の実施形態の入力装置１は、図７の学習モード処理において、最も動いた指を特定し、特定した最も動いた指の検出データに基づき収束タイミングを設定する（Ｓ１５０）。最も動いた指は、次のように決定されればよい。例えば、検出データの経時変化が検出条件毎に比較され、最も変化の大きい検出条件の指が最も動いた指であると特定されてもよい。検出データの変化の大きさは、例えば、検出データの分散値と、振幅と、最大値と最小値との差とのいずれかに基づき比較されればよい。より具体的には、例えば、Ｓ１４０において入力判断ウィンドウ内の検出データの最大値と最小値との差が検出条件毎に比較され、最大値と最小値との差が最も大きい指が最も動いた指であると特定されてもよい。また例えば、Ｓ１３０で表示されたキー種別に予め対応付けられた指が、最も動いた指と特定されてもよい。
【００５９】
例えば、図８と同様のデータ１０１から１０５について、図９のように、最も動いた中指の検出データ（データ１０３）に基づき収束タイミングＴ５が設定され、識別ウィンドウ３３２が設定される。この場合の収束期間は、入力タイミングＴ１から収束タイミングＴ５までの期間３２２で表される６２ｍｓｅｃである。したがって、この場合のＳ１６５で設定された取得期間では、Ｓ１７０で設定された取得期間に比べ、期間３２３（１３８ｍｓｅｃ）だけ早く取得期間の終わりが出現する。第２の実施形態の入力装置１は、Ｓ１７０で取得期間が設定される場合に比べ、決定処理におけるタイムラグを短縮させることができる。
【００６０】
第３の実施形態の入力装置１は、図７の学習モード処理において、第２の実施形態と同様に最も動いた指が特定し、特定した最も動いた指の検出データと、最も動いた指の隣の指の検出データとに基づき収束タイミングを設定する（Ｓ１５０）。この場合、例えば、図８と同様のデータ１０１から１０５について、図９のように、最も動いた中指の検出データ（データ１０３）と、中指の隣の人差し指の検出データ（データ１０２）とに基づき収束タイミングＴ６が設定され、識別ウィンドウ２３２が設定される。この場合の収束期間は、入力タイミングＴ１から収束タイミングＴ６までの期間２２２で表される６７ｍｓｅｃである。したがって、この場合のＳ１６５で設定された取得期間では、Ｓ１７０で設定された取得期間に比べ、期間２２３（１３３ｍｓｅｃ）だけ早く取得期間の終わりが出現する。第３の実施形態の入力装置１は、Ｓ１７０で取得期間が設定される場合に比べ、決定処理におけるタイムラグを短縮させることができる。
【００６１】
図９のように、第２の実施形態で検出される収束タイミングＴ５は、第３の実施形態で検出される収束タイミングＴ６よりも、５ｍｓｅｃ早く出現する。すなわち、収束タイミングＴ５では、中指の検出データは収束しているが、人差し指の検出データは収束していない。第１から第３の実施形態のように、複数の指の検出データに基づき入力データが決定される場合には、第１及び第３の実施形態のように、複数の指に対応する検出データに基づき収束タイミングが検出されることが好ましい。このようにすれば、入力装置１は、入力動作が実行された場合の特徴的な変化を含む検出データを用いて、決定処理を実行することができる。第３の実施形態のように、最も動いた指以外の指の検出データの変化も考慮して入力データが決定される場合には、検出データの特徴的な変化がより確実に取得期間に入るため、入力データの決定精度を向上させることができる。第２の実施形態及び第３の実施形態の学習モード処理において、最も動いた指を特定するＣＰＵ４０１は、第２特定手段として機能する。
【００６２】
ところで、第１から第３の実施形態では、入力データ毎に取得期間が設定されていたが、第４の実施形態のように、取得期間は手の種類と指の種類とを組み合わせた条件毎に設定されてもよい。以下、図１０及び図１１を参照して、第４の実施形態の入力装置１を説明する。
【００６３】
まず、第４の実施形態の入力装置１の物理的構成と電気的構成とについて説明する。第４の実施形態の入力装置１の物理的構成と電気的構成とは、基本的に第１の実施形態と同様である。第４の実施形態の入力装置１では、フラッシュメモリ３８に、順序テーブルが記憶されている。順序テーブルには、手の種類と指の種類とを組み合わせた条件（以下、「組合せ条件」と言う。）と、各組合せ条件に割り当てられたキー種別とが対応付けられて記憶されている。例えば、左手の小指には、キー種別として、１と、Ｑと、Ａと、Ｚとが対応付けられている。順序テーブルは、図１１の学習モード処理において読み出される。
【００６４】
次に、図１０及び図１１を参照して第４の実施形態の入力装置１において実行されるメイン処理について説明する。図１０では、図６の第１の実施形態のメイン処理の処理と同様な処理には、同じステップ番号が付与されている、図１１では、図７の第１の実施形態の学習モード処理の処理と同様な処理には、同じステップ番号が付与されている。図１０の第４の実施形態のメイン処理は、Ｓ１２０に代えてＳ１２１が実行される点と、Ｓ２０６及びＳ２０７が実行される点と、Ｓ２２５の処理が省略される点とにおいて、図６の第１の実施形態のメイン処理と異なる。第１の実施形態と同様な処理については説明を省略し、以下第１の実施形態と異なる処理について説明する。
【００６５】
まず、図１０のメイン処理のＳ１２１で実行される学習モード処理の詳細を、図１１を参照して説明する。なお、以下の説明では、図７の第１の実施形態の学習モード処理と同様な処理については説明を省略又は簡略化する。図１１のように、学習モード処理では、まず、幅が設定される（Ｓ１２５）。次に、フラッシュメモリ３８に記憶されている順序テーブルが読み出され、読み出された順序テーブルはＲＡＭ４０３に記憶される（Ｓ１２６）。次に、Ｓ１２６で読み出した順序テーブルから組合せ条件が順に「現在の指」に設定され、設定された組合せ条件と、その組合せ条件に対応するキー種別とはＲＡＭ４０３に記憶される（Ｓ１２７）。Ｓ１２７では、例えば、現在の指に左手の小指が設定される。
【００６６】
次に、第１の実施形態と同様のＳ１３５からＳ１５０の処理が実行される。収束タイミングが検出された場合（Ｓ１５０：Ｙｅｓ）、Ｓ１４０で入力タイミングが検出されてから、Ｓ１５０で収束タイミングが検出されるまでの収束時間が算出され、算出された収束時間はＲＡＭ４０３に記憶される（Ｓ１５１）。またＳ１５１では、Ｓ１４０で検出された入力タイミングを期間の終わりとする長さＴの期間の検出データと、入力タイミングから閾値タイミングまでの期間の検出データとが、Ｓ１３０で表示されたキーと対応付けられてＲＡＭ４０３に記憶される。次に、Ｓ１２７で読み出された組合せ条件に対応付けられた全てのキー種別がＳ１３０で表示部３９に表示されたか否かが判断される（Ｓ１５２）。表示されていないキー種別がある場合（Ｓ１５２：Ｎｏ）、処理はＳ１３０に戻り、次のキー種別が表示部３９に表示される（Ｓ１３０）。全てのキー種別が表示部３９に表示された場合（Ｓ１５２：Ｙｅｓ）、収束時間の特徴量が算出され、算出された特徴量はＲＡＭ４０３に記憶される（Ｓ１５３）。収束時間の特徴量は、Ｓ１５１で記憶された収束時間に基づき算出される。収束時間の特徴量は、Ｓ１２７で設定された組合せ条件の指で入力動作が実行される場合の、収束時間の特徴を表す。特徴量は、例えば、Ｓ１５１で記憶された収束時間の最大値と、最小値と、平均値とのいずれかがである。
【００６７】
次に、Ｓ１５３で算出された特徴量が所定値よりも小さいか否かが判断される（Ｓ１６１）。特徴量が所定値よりも小さい場合（Ｓ１６１：Ｙｅｓ）、取得期間の終わりに入力タイミングから特徴量だけ経過したタイミングが設定される（Ｓ１６６）。入力タイミングから特徴量だけ経過したタイミングは、Ｓ１２７で設定された組合せ条件に共通して設定される収束タイミングである。特徴量が所定値以上である場合には（Ｓ１６１：Ｎｏ）、取得期間の終わりに閾値タイミングが設定される（Ｓ１７１）。Ｓ１６６又はＳ１７１の処理により、組合せ条件毎に取得期間が設定される。
【００６８】
次に、Ｓ１５１で記憶されたキー種別とキー種別に対応付けられた検出データとが読み出される（Ｓ１７６）。Ｓ１７６ではさらに、読み出された検出データには、Ｓ１６６又はＳ１７１で設定された識別ウィンドウが設定され、識別ウィンドウ内の検出データと、キー種別とはＲＡＭ４０３に記憶される。次に、Ｓ１７６で設定された識別ウィンドウ内の検出データが、第１の実施形態と同様に加工され（Ｓ１８０）、加工された検出データと、Ｓ１７６で読み出された検出データと対応付けられたキー種別とが、学習データとして学習データ記憶エリア３８３に記憶される（Ｓ１８５）。
【００６９】
次に、Ｓ１５３で記憶された全ての検出データがＳ１７６で読み出されたか否かが判断される（Ｓ１８６）。読み出されていないキー種別の検出データがある場合（Ｓ１８６：Ｎｏ）、処理はＳ１７６に戻り、次のキー種別と対応付けられた検出データが読み出される（Ｓ１７６）。全ての検出データが読み出された場合（Ｓ１８６：Ｙｅｓ）、学習終了か否かが判断される（Ｓ１８７）。動作モードに入力モードが設定された場合、又は、Ｓ１２７で全ての組合せ条件が設定された場合には、学習終了であると判断される。学習終了ではない場合（Ｓ１８７：Ｎｏ）、処理はＳ１２７に戻り、次の組合せ条件が設定される（Ｓ１２７）。学習終了である場合（Ｓ１８７：Ｙｅｓ）、学習モード処理は終了し、処理はメイン処理に戻る。
【００７０】
次に、図１０を参照して、メイン処理において実行される入力モード時の処理の内、Ｓ２０６及びＳ２０７の処理を説明する。Ｓ２０６では、Ｓ２００で取得された検出データに基づき、Ｓ２０５で検出された入力動作を行った指が特定される。第４の実施形態の入力装置１は、Ｓ２００で取得された検出データの内、検出データの変化が最も大きい指を、入力動作を実行した指とする。Ｓ２０７では、Ｓ２０６で特定された指に対応する取得期間が設定され、設定された取得期間はＲＡＭ４０３に記憶される（Ｓ２０７）。第４の実施形態では、入力タイミング及び入力動作が実行された指が特定されると、取得期間の終わりが定まるので、Ｓ２２０において、対応がない場合には（Ｓ２２０：Ｎｏ）、Ｓ２０５で検出された入力動作に対応する入力データは決定されず、Ｓ２４０の処理が実行される。
【００７１】
以上のように第４の実施形態のメイン処理が実行される。なお、Ｓ１６１又はＳ１７１で組合せ条件毎に取得期間を設定するＣＰＵ４０１は、本発明の期間設定手段として機能する。Ｓ１４０又はＳ２０６の処理を実行するＣＰＵ４０１は、第１特定手段として機能する。第４の実施形態の入力装置１によれば、収束時間の差を考慮して、指毎に取得期間を設定することができる。したがって、入力装置１は、決定処理が実行された場合に、従来に比べ、入力データの決定精度を高めることができる。第１から第３の実施形態では、入力モード時の処理において、入力タイミングが検出された時点では、取得期間の終わりを定めることができない。このため第１から第３の実施形態では、図６のＳ２１０からＳ２２５までの処理を、対応する学習データが記憶されている場合となるまで（Ｓ２２０：Ｙｅｓ）、又は閾値タイミングとなるまで（Ｓ２２５：Ｙｅｓ）、繰り返す必要がある。これに対し、第４の実施形態の入力装置１は、入力タイミングが検出されると、Ｓ２０６で特定された指に基づき、取得期間を決定できる。このため、第４の実施形態の入力装置１は、第１から第３の実施形態の入力装置１に比べ、決定処理を簡単にすることができる。
【００７２】
なお、本発明は上記の実施の形態に限定されるものではなく、種々の変更が可能である。例えば、次の（ａ）から（ｃ）の変形を適宜加えてもよい。
【００７３】
（ａ）入力装置１の構成は適宜変更可能である。例えば、入力装置１が備えるセンサの種類と、センサの取り付け位置と、センサの個数とは適宜変更可能である。より具体的には、入力装置は、センサとして、加速度センサを、各指の指先と、各指の第３関節とに設置してもよい。また例えば、入力装置１は、データ収集装置２と、データ収集装置３と、データ決定装置４とは別体であったが、これに限定されない。例えば、データ収集装置２と、データ収集装置３との少なくともいずれかが、データ決定装置４としての機能を有していてもよい。また例えば、データ収集装置２及びデータ収集装置３と、データ決定装置４とは、無線で接続されていたが、有線で接続されていてもよい。
【００７４】
（ｂ）上記実施形態では、仮想的な入力装置として、仮想キーボードが想定されていたが、他の仮想的な入力装置が想定されてもよい。他の仮想的な入力装置としては、例えば、マウス等のポインティングデバイスと、ジョイスティックコントローラと、タッチパネルとが挙げられる。
【００７５】
（ｃ）入力装置で実行される各種処理は、適宜変更可能である。例えば、次の（ｃ−１）から（ｃ−６）の変形が加えられてもよい。
【００７６】
（ｃ−１）例えば、図６又は図１０の入力モード時の処理において、次のような手順で入力データが決定されてもよい。Ｓ２１０で所定の長さの期間の検出データが取得される。Ｓ２１５で、Ｓ２１０で取得された検出データの、特徴量が算出される。特徴量としては、例えば、分散値と、振幅とがあげられる。Ｓ２２０では、Ｓ２１５で算出された特徴量と学習データとが比較されて、検出データに対応する入力データが決定される。この場合の学習データは、予め割当データと対応付けられた特徴量である。また例えば、Ｓ２１０で取得された検出データと学習データとが比較されて、検出データに対応する入力データが決定されてもよい。
【００７７】
（ｃ−２）取得期間はユーザ毎に設定されても良い。この場合、例えば、図１１のＳ１５３で算出された組合せ条件毎の特徴量から、さらにユーザ毎の特徴量が算出されてもよい。ユーザ毎の特徴量としては、例えば、最大値と、最小値と、平均値とが上げられる。この場合の入力装置は、入力動作実行時のユーザ毎の検出データの経時変化の違いを考慮して取得期間を設定しているため、異なるユーザ間で同じ取得期間が設定される場合に比べ、取得期間を適切に設定することができる。したがって、入力装置は、入力モード時の処理において、異なるユーザ間で同一の取得期間が設定される場合に比べ、入力データの決定精度を高めることができる。
【００７８】
（ｃ−３）取得期間の長さは適宜変更してもよい。例えば、取得期間の始まりは、入力タイミングよりも所定時間前とされてもよい。所定時間としては、例えば、Ｔ／２が設定される。この場合、例えば、図７のＳ１６５では、Ｔ０からＴ２の期間が取得期間とされる。図７のＳ１７０では、Ｔ０からＴ３の期間が取得期間とされる。この場合の入力装置は、取得期間の長さが一定の場合に比べ、取得期間を短い期間とすることができる。したがって、この場合の入力装置は、決定処理が実行された場合に、取得期間の長さが一定の場合に比べ、短い取得期間内の検出データを用いて入力データを決定することができる点で、決定処理を簡単化することができる。また入力装置は、所定時間が適宜定められることによって、取得期間内の検出データに前の入力動作の検出データの変化が入ってしまい、決定処理において入力データの決定精度が低下することを確実に回避することができる。
【００７９】
（ｃ−４）入力タイミングを検出する処理に用いる検出データは、入力動作が検出されるデータであればよく、適宜変更可能である。例えば、入力動作をした指を含む側の手の検出データに基づき、入力タイミングが検出されてもよい。この場合、例えば、入力動作を実行した指は、検出データの経時変化に基づき特定されればよい。また例えば、全検出条件の検出データに基づき、入力タイミングが検出されてもよい。一般に、入力動作を行った指の検出データが最も変化するため、入力動作を行った指を含む検出データが、入力タイミングを検出する処理に用いる検出データとして用いられることが好ましい。また例えば、センサとして、加速度センサ以外のセンサが用いられる場合には、センサから得られたデータに基づき算出された加速度を用いて入力タイミングが検出されてもよい。
【００８０】
（ｃ−５）入力タイミングの検出基準及び検出基準における閾値は適宜変更可能である。例えば、検出データが所定値（例えば、１５００ｍｇ）以上になったタイミングが入力タイミングとされてもよい。この場合の所定値は、入力動作が実行された場合の検出データの値と、入力動作が実行されていない場合の検出データの値とを考慮された値であることが好ましい。また例えば、極大値が検出されたタイミングが入力タイミングとされてもよい。極大値は公知の方法で検出されればよい。また例えば、入力装置は、入力判断ウィンドウ内の期間を所定個（例えば５個）に等分割し、各期間の平均値の最大値と最小値とを比較して、入力タイミングが検出されてもよい。この場合、入力装置は、検出データに含まれるノイズの影響を緩和することができる。
【００８１】
（ｃ−６）収束タイミングの検出基準及び検出基準における閾値は適宜変更可能である。例えば、収束判断ウィンドウ内の検出データの振幅と、分散値と、平均値とのいずれかが所定値未満になったタイミングを収束タイミングとしてもよい。検出基準として、分散値が用いられる場合の一例としては１００が設定される。検出基準として、平均値が用いられる場合の一例としては重力加速度に近い値である９００から１１００ｍｇの範囲内の値が設定される。また、第２の実施形態及び第３の実施形態の収束タイミングの検出方法は、第４の実施形態に適用されてもよい。
【００８２】
（ｃ−７）入力モード時の処理では、入力タイミングが検出されたか否かによらず、検出データ（特徴量）と、学習データとが比較され、検出データに対応する入力データが決定されてもよい。
【００８３】
（ｃ−８）図１０のＳ２０６では、検出データの経時変化が検出条件毎に比較され、最も変化の大きい検出条件の指が最も動いた指であると特定されてもよい。検出データの変化の大きさは、例えば、検出データの分散値と、振幅と、最大値と最小値との差とのいずれかに基づき比較されればよい。
【００８４】
（ｃ−９）入力装置の使用環境と、入力装置の使用継続時間とを含む条件が異なると、同じユーザが同じ入力動作を行った場合であっても、収束時間が異なる場合がある。これに対し、入力装置は、取得期間を設定する処理を、入力モード時に実行してもよい。具体的には、例えば、以下の処理によって取得期間が更新されればよい。入力装置は、学習モード処理において、学習データを記憶する処理とは別に、入力タイミングを含む所定期間の検出データを入力データと対応付けたデータを、元データとして記憶する。所定期間は、取得期間が設定されうる期間に基づき予め設定される。入力装置は、入力モード処理において、収束時間を算出する処理を実行する。検出データに基づき決定された入力データに対応する取得期間を、算出された収束時間に基づき更新する。また入力装置は、元データと、更新された取得期間とに基づき、学習データを更新する。このようにすれば、入力装置は、収束時間がメイン処理実行毎に異なる場合であっても、随時収束時間を修正して、取得期間を適切に設定することができる。
【符号の説明】
【００８５】
１      入力装置
２，３  データ収集装置
４      データ決定装置
２１    センサ
２２    制御部
３８    フラッシュメモリ
４１，１０１    ＣＰＵ
４２，１０２    ＲＯＭ
４３，１０３    ＲＡＭ
４５    Ａ／Ｄコンバータ
４７，１０６    アンテナ
３８３    学習データ記憶エリア
【図１】
2011113437.tif 000003
【図２】
2011113437.tif 000004
【図３】
2011113437.tif 000005
【図４】
2011113437.tif 000006
【図５】
2011113437.tif 000007
【図６】
2011113437.tif 000008
【図７】
2011113437.tif 000009
【図８】
2011113437.tif 000010
【図９】
2011113437.tif 000011
【図１０】
2011113437.tif 000012
【図１１】
2011113437.tif 000013