JP2011113437A - 入力装置、入力方法及び入力プログラム - Google Patents

入力装置、入力方法及び入力プログラム Download PDF

Info

Publication number
JP2011113437A
JP2011113437A JP2009271205A JP2009271205A JP2011113437A JP 2011113437 A JP2011113437 A JP 2011113437A JP 2009271205 A JP2009271205 A JP 2009271205A JP 2009271205 A JP2009271205 A JP 2009271205A JP 2011113437 A JP2011113437 A JP 2011113437A
Authority
JP
Japan
Prior art keywords
input
data
timing
detection data
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009271205A
Other languages
English (en)
Inventor
Takuya Nakamura
琢也 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009271205A priority Critical patent/JP2011113437A/ja
Publication of JP2011113437A publication Critical patent/JP2011113437A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ユーザの手の動きに基づき入力データを決定する処理に使用する学習データの取得期間を適切に設定する機能を有する入力装置、入力方法及び入力プログラムを提供すること。
【解決手段】ユーザの手の動きに応じた入力データを決定する入力装置において、センサによって発生された電気信号を含むデータが検出データとして出力される。検出データに基づき、入力タイミングが検出される(S140)。検出データに基づき、収束タイミングが検出される(S150)。入力タイミングと、収束タイミングとに基づき、入力タイミングを含む期間が、検出データの取得期間として設定される(S165又はS170)。取得期間の検出データが取得される(S175)。S175で取得された検出データと、入力データとが対応付けられて、学習データとして記憶手段に記憶される(S185)。
【選択図】図7

Description

本発明は、ユーザの手の動きを示す検出データに基づいて、入力データを決定する入力装置、入力方法及び入力プログラムに関する。
従来、ユーザがキーボードを使用せずにデータを入力するための入力装置が知られている。例えば特許文献1には、手の仕草によって情報を入力することが可能なデータ入力デバイス(入力装置)が提案されている。従来の入力装置では、ユーザの指に取り付けられたセンサから取得期間内に出力された検出データが、予め登録された学習データと比較され、指の動きに応じた入力データが決定される。取得期間は、ユーザがキーを押下した場合に相当する検出データの極大値を中心として所定の長さTの期間が定められていた。
特表2006−503350号公報
しかしながら、特許文献1には、学習データの作成に用いる検出データの取得期間の設定方法、特に所定の長さTの期間の設定方法については、具体的な開示がなかった。このため、学習データの作成に用いる検出データの取得期間が適切に設定されない場合があった。
本発明は上述の問題点を解決するためになされたものであり、ユーザの手の動きに基づき入力データを決定する処理に使用する学習データの取得期間を適切に設定する機能を有する入力装置、入力方法及び入力プログラムを提供することを目的とする。
上記課題を解決するために、第1態様の入力装置は、ユーザの手の動きに応じた入力データを決定する入力装置であって、前記手に取り付けられ、当該手の動きに応じた電気信号を発生するセンサと、前記センサによって発生された前記電気信号を含むデータを検出データとして出力する出力手段と、前記出力手段によって出力された前記検出データに基づき、前記手が入力時の動きをしたタイミングである入力タイミングを検出する入力検出手段と、前記出力手段によって出力された前記検出データに基づき、前記入力検出手段によって検出された前記入力タイミング後の前記検出データの変化が収束するタイミングである収束タイミングを検出する収束検出手段と、前記入力検出手段によって検出された前記入力タイミングと、前記収束検出手段によって検出された前記収束タイミングとに基づき、前記入力タイミングを含む期間を、前記入力データの決定に用いる前記検出データの取得期間として設定する期間設定手段と、前記出力手段によって出力された前記検出データの中から、前記期間設定手段によって設定された前記取得期間内の前記検出データを取得する取得手段と、前記取得手段によって取得された前記検出データと、前記手の動きに対応する前記入力データとを対応付けたデータを学習データとして記憶手段に記憶させる記憶制御手段とを備えている。
一般に、入力時の手の動き(以下、単に「入力動作」という。)に対応する検出データは、入力タイミング近傍において最も大きく変化する。また、入力動作が行われた場合、収束タイミング以降に出力される検出データには、その入力動作に起因する検出データの変化はほとんど含まれない。第1態様の入力装置において設定される取得期間には、入力タイミングが含まれるので、取得期間内の検出データには、入力動作時の特徴的な変化を表す検出データが含まれる。さらに、第1態様の入力装置は、収束タイミングを考慮して取得期間を設定するため、特徴的な変化が含まれる期間が優先的に取得期間に含まれるように、取得期間を適切に設定することができる。したがって、学習データと、検出データとの比較結果に基づき、入力データを決定する処理(以下、単に「決定処理」という。)が実行された場合には、第1態様の入力装置は、従来の入力装置に比べ、入力データの決定精度が高い。
入力タイミングから取得期間の終わりまでの期間が長すぎる場合には、入力動作が実行されてから入力データが決定されるまでのタイムラグが長くなるという問題が生じる。また、入力タイミングから取得期間の終わりまでの期間が長すぎる場合には、取得期間内の検出データに次の入力動作に対応する変化を表す検出データが含まれてしまい、入力データの決定精度が低下する可能性がある。これに対し、第1態様の入力装置において、前記期間設定手段は、前記入力タイミングから、入力間隔の最小値に基づき定められた所定時間経過した閾値タイミングよりも、前記収束タイミングが早く出現する場合に、前記収束タイミングを前記取得期間の終わりとし、前記収束タイミングが前記閾値タイミングよりも遅く出現する場合には前記閾値タイミングを前記取得期間の終わりとする、前記所定時間の2倍の長さの期間を前記取得期間として設定してもよい。
この場合の入力装置は、所定時間が適宜定められることによって、入力タイミングから取得期間の終わりまでの期間が長くなりすぎることを確実に回避することができる。収束タイミングが、閾値タイミングよりも早く出現する場合には、入力装置は、取得期間の終わりに閾値タイミングが設定される場合に比べ、決定処理においてタイムラグを短縮することができる。さらに、この場合の入力装置は、取得期間の終わりが収束タイミングであるか、又は、閾値タイミングであるかによらず、取得期間の長さが一定であるので、入力データの決定精度を考慮した一定数の検出データに基づき学習データを作成することができる。また、この場合の入力装置は、取得期間の長さが一定でない場合に比べ、同じ取得期間の長さが設定される点で、学習データを作成する処理及び決定処理を簡単にすることができる。
第1態様の入力装置において、前記期間設定手段は、前記入力検出手段によって検出された前記入力タイミングよりも、入力間隔の最小値に基づき定められた所定時間前のタイミングを始まりとし、前記入力タイミングから、前記所定時間が経過した閾値タイミング及び前記収束タイミングのうちの早く出現するタイミングを終わりとする、前記始まりから前記終わりまでの期間を前記取得期間として設定してもよい。
この場合の入力装置は、所定時間が適宜定められることによって、入力タイミングから取得期間の終わりまでの期間が長くなりすぎることを確実に回避することができる。収束タイミングが、閾値タイミングよりも早く出現する場合には、入力装置は、取得期間の終わりに閾値タイミングが設定される場合に比べ、決定処理においてタイムラグを短縮することができる。さらに、この場合の入力装置は、取得期間の長さが一定の場合に比べ、取得期間を短い期間とすることができる。したがって、この場合の入力装置は、決定処理が実行された場合に、取得期間の長さが一定の場合に比べ、短い取得期間内の検出データを用いて入力データを決定することができる点で、決定処理を簡単化することができる。また入力装置は、取得期間内の検出データに前の入力動作の検出データの変化が入ってしまい、決定処理が実行された場合に、決定処理において入力データの決定精度が低下することを、所定時間が適宜定められることによって、確実に回避することができる。
同じ入力動作が実行された場合であっても、入力タイミングが検出されてから収束タイミングが検出されるまでの時間(以下、「収束時間」という。)は、ユーザ毎に異なる。これに対し、第1態様の入力装置において、前記期間設定手段は、前記ユーザ毎に前記取得期間を設定してもよい。この場合の入力装置は、入力動作実行時のユーザ毎の検出データの経時変化の違いを考慮して取得期間を設定しているため、異なるユーザ間で同じ取得期間が設定される場合に比べ、取得期間を適切に設定することができる。したがって、入力装置は、決定処理が実行された場合に、異なるユーザ間で同一の取得期間が設定される場合に比べ、入力データの決定精度を高めることができる。
同じユーザによって入力動作が実行された場合であっても、入力動作を実行する指が異なれば、入力タイミングが検出されてから収束タイミングが検出されるまでの時間が異なる場合がある。これに対し、第1態様の入力装置において、前記センサは、前記手の各指に装着され、前記期間設定手段は、前記入力時の動きをしたときに最も動いた指の前記検出データに基づき、当該最も動いた指毎に前記取得期間を決定し、前記取得手段は、前記出力手段によって出力された前記検出データの中から、前記入力時の動きをしたときに最も動いた指に対応する前記取得期間の前記検出データを取得してもよい。この場合の入力装置は、収束時間の差を考慮して、指毎に取得期間を設定することができる。したがって、入力装置は、決定処理が実行された場合に、全ての指に同じ取得期間が設定された場合に比べ、入力データの決定精度を高めることができる。
第1態様の入力装置において、前記センサは、前記手の各指に装着され、前記収束検出手段は、少なくとも、前記出力手段によって出力された前記検出データのうち、前記入力時の動きをしたときに最も動いた指に対応する前記検出データ及び当該最も動いた指の隣の指に対応する前記検出データの少なくともいずれかに基づき、前記収束タイミングを検出してもよい。
ユーザが特定の指を動かす場合、特定の指以外の指も少なからず動かされることになる。例えば、左手の小指で「A」が押下される場合、左手の小指以外の指も動かされることになる。したがって、ユーザが特定の指を動かした場合、特定の指の検出データに加え、特定の指以外の指の検出データも変化する。各指の動きを示す検出データの内、特定の指に対応する検出データは、最も大きく変化し、特定の指の隣の指の検出データは、2番目に大きく変化する。このため、最も動いた指の検出データ及び最も動いた指の隣の指の検出データの少なくともいずれかの変化が収束していれば、他の指の検出データの変化も収束すると推定できる。したがって、この場合の入力装置は、収束タイミングを的確に検出することができる。入力装置は、全ての指の検出データに基づき収束タイミングが検出される場合に比べ、収束タイミングの検出に要する処理を簡単にすることができる。さらに、ある指の検出データの変化が収束していても、他の指の検出データの変化が収束していない場合がある。これに対し、複数の指に対応する検出データに基づき収束タイミングが検出された場合には、1つの指に対応する検出データに基づき収束タイミングが検出される場合に比べ、収束タイミングを的確に定めることができる。この場合の複数の指としては、例えば、最も動いた指と、最も動いた指の隣の指との双方に対応する検出データと、最も動いた指の両隣の指とが挙げられる。
第1態様の入力装置において、前記出力手段によって出力された前記検出データと、前記記憶手段に記憶された前記学習データとを比較して、当該検出データに対応する前記入力データを決定する決定手段を備えてもよい。この場合の入力装置は、従来の入力装置に比べ、入力データの決定精度が高い。また、決定処理が実行された場合の上記効果が得られる。
第2態様の入力方法は、手の動きに応じた入力データをコンピュータが決定する入力方法であって、前記手に取り付けられ、当該手の動きに応じた電気信号を発生するセンサによって発生された前記電気信号を含むデータを検出データとして出力する出力工程と、前記出力工程において出力された前記検出データに基づき、前記手が入力時の動きをしたタイミングである入力タイミングを検出する入力検出工程と、前記出力工程によって出力された前記検出データに基づき、前記入力検出工程によって検出された前記入力タイミング後の前記検出データの変化が収束するタイミングである収束タイミングを検出する収束検出工程と、前記入力検出工程において検出された前記入力タイミングと、前記収束検出工程において検出された前記収束タイミングとに基づき、前記入力タイミングを含む期間を、前記入力データの決定に用いる前記検出データの取得期間として設定する期間設定工程と、前記出力工程において出力された前記検出データの中から、前記期間設定工程において設定された前記取得期間内の前記検出データを取得する取得工程と、前記取得工程において取得した前記検出データと、前記手の動きに対応する前記入力データとを対応付けたデータを学習データとして記憶手段に記憶させる記憶制御工程とを備えてもよい。第2態様の入力方法によれば、第1態様の入力装置と同様な効果が得られる。
第3態様の入力プログラムは、上記第1態様の入力装置の各種処理手段としてコンピュータを機能させる。第3態様の入力プログラムは、コンピュータによって実行されることにより、第1態様の入力装置の各種処理手段としての作用効果を奏することができる。
入力装置1の物理的構成を示す模式図である。 データ収集装置2の電気的構成を示すブロック図である。 データ決定装置4の電気的構成を示すブロック図である 学習データ記憶エリア383の説明図である。 検出処理のフローチャートである。 第1の実施形態のメイン処理のフローチャートである。 図6のメイン処理において実行される学習モード処理のフローチャートである。 入力時の動きが実行された場合の検出データの経時変化を示すデータ101から105に設定される入力判断ウィンドウ400及び識別ウィンドウ132の説明図である。 入力時の動きが実行された場合の検出データの経時変化を示すデータ101から105に設定される入力判断ウィンドウ400及び識別ウィンドウ232,332の説明図である。 第4の実施形態のメイン処理のフローチャートである。 図10のメイン処理において実行される学習モード処理のフローチャートである。
以下、本発明を具現化した第1から第4の実施形態の入力装置1について、図面を参照して順に説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
まず、図1を参照して、入力装置1の物理的構成について説明する。第1から第4の実施形態の入力装置1は、同様の物理的構成を有する。入力装置1は、仮想的な入力装置を操作するユーザの手の動きを検出して、入力データを決定する。本実施形態の入力装置1は、特に、仮想的なキーボードのキーを操作する手(指)の動作を検出し、その動作に対応するキーに基づき入力データを決定する。図1のように、入力装置1は、データ収集装置2と、データ収集装置3と、データ決定装置4とを備える。データ収集装置2は、ユーザの右手に取り付けられる。データ収集装置3は、ユーザの左手に取り付けられる。データ収集装置2と、データ収集装置3とはそれぞれ、データ決定装置4に検出データを送信する。データ決定装置4は、ユーザが確認可能な位置に配置され、データ収集装置2と、データ収集装置3とから送信された検出データに基づき、入力データを決定する。
まず、データ収集装置2と、データ収集装置3との物理的構成を説明する。データ収集装置2と、データ収集装置3との物理的構成は、基本的に同様である。データ収集装置2を例に、データ収集装置2と、データ収集装置3との物理的構成を説明する。図1のように、データ収集装置2は、手袋部23(データ収集装置3では、手袋部33)と、センサ21と、筐体22と、ハーネス24とを備える。以下、データ収集装置2が備える各部材について説明する。
手袋部23は、ユーザの右手に装着される右手用の手袋である。センサ21は、データ収集装置2が取り付けられた手の各指に対応して5つ設けられ、センサ21が取り付けられた指の動作を検出する。各センサ21は、手袋部23の甲側の表面のうち、指先部分に取り付けられている。センサ21は、手、特に指の動作を検出する機能を備えていればよく、例えば、加速度センサと、ジャイロセンサとのいずれかが用いられる。第1から第4の実施形態のセンサ21は、加速度センサである。センサ21は、データ収集装置2の電源がONにされた場合に、検出方向(軸)毎にセンサ21が取り付けられた指の加速度(G)を示す電気信号を常時、後述する制御部25(図2参照)に対して出力する。本実施形態では検出方向(軸)として、直交座標系におけるx軸方向(x軸)と、y軸方向(y軸)と、z軸方向(z軸)との3方向(3軸)が設定されている。
筐体22は、直方体の形状を有し、手袋部23の甲側の表面の手首部分に取り付けられている。筐体22は、制御部25(図2参照)を収容する。ハーネス24は、センサ21と制御部25とを電気的に接続する。センサ21から出力された信号は、ハーネス24を介して制御部25に伝送される。
次に、データ決定装置4の物理的構成について説明する。第1から第4の実施形態の入力装置1は、基本的に同様の物理的構成を有する。図1のように、データ決定装置4は、筐体36と、表示部39と、入力部40とを備える。筐体36は、直方体の形状を有し、後述する制御部37(図3参照)を収容する。表示部39は、平面視矩形の液晶ディスプレイである。表示部39には、入力装置1の動作モードと、入力データと、指示とを含む各種情報が表示される。入力部40は、ユーザが入力装置1の動作モードを設定したり、各種指示を入力したりする際に用いられるボタンである。
次に、入力装置1の電気的構成について説明する。データ収集装置2と、データ収集装置3との電気的構成は、同様である。データ収集装置2を例に、データ収集装置2と、データ収集装置3との電気的構成を説明する。
図2のように、データ収集装置2は、制御部25と、センサ21とを備える。制御部25は、CPU41と、ROM42と、RAM43と、A/Dコンバータ45と、RFモジュール46と、アンテナ47と、バス44とを備える。CPU41は、ROM42と、RAM43とのそれぞれとバス44を介して接続されている。以下、制御部25が備える各構成について説明する。
CPU41は、データ収集装置2の主制御を司り、ROM42のプログラム記憶エリア(図示せず)に記憶された各種プログラムに従って、入力データの決定に関わる各種演算及び処理を実行する。なお、プログラムはフレキシブルディスク等の外部記憶装置に記憶されていてもよい。
ROM42は、図示しないが、プログラム記憶エリアと、設定記憶エリアを含む複数の記憶エリアを備える。プログラム記憶エリアには、検出プログラムを含む各種プログラムが記憶される。検出プログラムは、後述する検出処理を実行させるためのプログラムである。設定記憶エリアには、データ収集装置2の初期設定と、パラメータとが記憶される。RAM43は、任意に読み書き可能な記憶装置であり、CPU41の演算結果等を記憶する。
A/Dコンバータ45は、センサ21から出力される電気信号(アナログ信号)をデジタル信号に変換する。A/Dコンバータ45は、センサ21と、CPU41とに接続されている。アンテナ47は、データ収集装置2と外部装置との間でデータを送受信する。アンテナ47は、例えば、検出データを無線でデータ決定装置4に送信する。RFモジュール46は、アンテナ47とCPU41との間に接続され、変調制御を司る。
次に、データ決定装置4の電気的構成を説明する。図3のように、データ決定装置4の制御部37は、CPU401と、ROM402と、RAM403と、フラッシュメモリ38と、RFモジュール405と、アンテナ406と、表示部39と、入力部40とを備える。CPU401は、ROM402と、RAM403と、フラッシュメモリ38とのそれぞれと、バス404を介して接続されている。以下、データ決定装置4が備える各構成について説明する。
CPU401は、データ決定装置4の主制御を司り、ROM402のプログラム記憶エリア(図示せず)に記憶された各種プログラムに従って、入力データの決定に関わる各種演算及び処理を実行する。なお、プログラムはフレキシブルディスク等の外部記憶装置に記憶されていてもよい。
ROM402は、図示しないが、プログラム記憶エリアを含む複数の記憶エリアを備える。プログラム記憶エリアには、メインプログラム及び取得プログラムを含む各種プログラムが記憶される。メインプログラムは、データ収集装置2及びデータ収集装置3から出力された検出データに基づき、入力データを決定するメイン処理を実行させるためのプログラムである。取得プログラムは、後述する取得処理を実行するためのプログラムである。RAM403は、CPU41が演算処理した演算結果等を記憶する。
フラッシュメモリ38は、検出データ記憶エリア381と、動作モード記憶エリア382と、学習データ記憶エリア383と、条件記憶エリア384と、その他の情報記憶エリア385とを含む複数の記憶エリアを備える。検出データ記憶エリア381には、センサ21から出力された電気信号と、その電気信号に対して付与されたタイムスタンプとが、検出データとして記憶される。検出データに含まれるタイムスタンプは、センサ21から出力された電気信号が制御部25において取得された際の、タイムスタンプクロック値を示す。検出データは、センサ21が取り付けられている手及び指の種類と、検出方向(軸)とを組み合わせた検出条件毎に記憶される。手の種類には、右手と左手とが含まれる。指の種類には、親指と、人差し指と、中指と、薬指と、小指とが含まれる。動作モード記憶エリア382には、入力装置1の動作モードが記憶されている。動作モードには、学習モードと、入力モードとのいずれかが設定可能である。動作モードに学習モードが設定されている場合、データ決定装置4は、学習データ記憶エリア383を更新する処理を実行する。動作モードに入力モードが設定されている場合、データ決定装置4は、検出データに基づき入力データを決定する処理を実行する。
学習データ記憶エリア383には、学習データが記憶されている。学習データは、入力動作に対応する入力データと、取得期間内の検出データの特徴量とが対応付けられたデータである。図4のように、学習データは検出条件毎に記憶されている。条件記憶エリア384には、CPU401が各種プログラムを実行するための各種設定値が記憶されている。条件記憶エリア384には、例えば、後述するメイン処理において、決定処理で設定されるウィンドウの条件が記憶されている。ウィンドウは、検出データの取得期間を規定する。後述するメイン処理において、入力判断ウィンドウと、識別ウィンドウと、収束判断ウィンドウとの3種類のウィンドウが設定される。入力判断ウィンドウは、入力タイミングを検出する処理に用いられる検出データの取得期間を規定する。識別ウィンドウは、入力データを決定する処理に用いられる検出データの取得期間を規定する。収束判断ウィンドウは、収束タイミングを検出する処理に用いられる検出データの取得期間を規定する。その他の情報記憶エリア385には、その他の情報が記憶されている。
アンテナ406は、データ決定装置4と外部装置との間で、無線でデータの送受信を行う。外部装置には、データ収集装置2と、データ収集装置3と、入力データの出力先となるPC等の外部装置とが含まれる。RFモジュール405は、CPU401とアンテナ406とに接続され、変復調制御を司る。表示部39は、CPU401と接続され、CPU401によって制御される。入力部40は、CPU401と接続される。
次に、第1の実施形態の入力装置1で実行される処理について説明する。まず、データ収集装置2と、データ収集装置3とで実行される処理について説明する。データ収集装置2と、データ収集装置3とで実行される処理は、基本的に同様である。データ収集装置2とデータ収集装置3とでは、電源がONにされた場合に、データ決定装置4に開始指示が送信されるとともに、出力処理と、検出処理とを含む複数の処理が実行される。出力処理と、検出処理とは、それぞれ、図2のROM42に記憶されたプログラムに従って、CPU41によって実行される。
出力処理では、データ収集装置2の電源がONにされている期間、センサ21から3種類の検出方向(x軸方向、y軸方向、z軸方向)の加速度(mg)を示す電気信号が制御部25に常時出力される。検出処理では、出力処理において出力された電気信号が、制御部25が備えるCPU41(図2参照)によって所定期間毎に検出される。図5を参照して、検出処理について説明する。図5のように、検出処理ではまず、図示外のクロックが参照され、検出時間か否かが判断される(S5)。S5では、前回の検出時から所定期間(例えば、5msec)経過している場合に、検出時間であると判断される。所定期間は、その他の情報記憶エリア385に記憶されている。
検出時間ではない場合(S5:No)、検出時間に達するまで待機される。検出時間である場合(S5:Yes)、センサ21から出力されている電気信号が取得され、取得された電気信号にタイムスタンプが付与される(S10)。S10で取得される電気信号は、指の種類5種類と、検出方向3種類とを組み合わせた15種類の電気信号である。各電気信号に付与されるタイムスタンプは、電気信号が取得された順序が特定可能であればよく、例えば、電気信号が取得された際の、タイムスタンプクロック値である。次に、アンテナ47を介して、S10で取得された電気信号と、電気信号に対して付与されたタイムスタンプとが検出データとして、データ決定装置4に出力される(S15)。S15で送信される検出データは、検出条件を示す情報を含む。次に、データ収集装置2の電源がONの場合は(S20:No)、処理はS5に戻り、電源がOFFの場合は(S20:Yes)、検出処理は終了する。
次に、データ決定装置4で実行される処理について説明する。データ決定装置4は、データ収集装置2又はデータ収集装置3から送信された開始指示を取得した場合に起動する。データ決定装置4は、起動後、取得処理と、メイン処理とを含む複数の処理を開始させる。取得処理と、メイン処理とは、それぞれ、図3のROM402に記憶されたプログラムに従って、CPU401によって実行される。なお、データ決定装置4では、電源がOFFにされた場合には、各種処理を終了させる処理が、上記処理とは別途実行される。取得処理では、データ収集装置2又はデータ収集装置3から出力された検出データが受信され、受信された検出データが検出データ記憶エリア381に記憶される。データ決定装置4は、図4のように検出条件毎に検出データを記憶させる。
メイン処理では、入力装置1の動作モードに応じた処理が実行される。図6から図8を参照して、メイン処理を説明する。まずメイン処理の概要について説明する。入力装置1は、メイン処理において、データ収集装置2及びデータ収集装置3から送信された検出データに基づき、入力データを決定する。入力データは、例えば、仮想的なキーボードのキー種別を表す文字又は記号である。以下の説明において、期間の始まりは、時系列上、期間内の最も古いタイミングを指し、期間の終わりは、期間内の最も新しいタイミングを指す。
図6のように、メイン処理では、まず、初期化処理が実行される(S105)。S105では、例えば、メイン処理を実行するための各種設定値がROM402又はフラッシュメモリ38から読み出される。読み出された設定値は、RAM403に記憶される。次に、動作モードに入力モードが設定され、設定された動作モードは動作モード記憶エリア382に記憶される(S110)。
次に、入力装置1の動作モードが学習モードであるか否かが判断される(S115)。学習モードでは、学習データ記憶エリア383の学習データに含まれる特徴量を更新する処理が実行される。ユーザが入力部40を操作して指示を入力した場合に、動作モードに学習モードが設定される。動作モードが学習モードではない場合(S115:No)の処理は後述する。動作モードが学習モードである場合(S115:Yes)、学習モード処理が実行される(S120)。
学習モード処理の詳細を、図7及び図8を参照して説明する。具体例として、左手中指で仮想的なキーボードの「E」が打鍵される入力動作が実行された場合の検出データが、図8のように取得される場合を想定する。図8において、データ101は左手・親指・z軸の検出データであり、データ102は左手・人差し指・z軸の検出データであり、データ103は左手・中指・z軸の検出データであり、データ104は左手・薬指・z軸の検出データであり、データ105は左手・小指・z軸の検出データである。
学習モード処理では、図7のように、まず、各ウィンドウの幅が設定され、設定された幅はRAM403に記憶される(S125)。各ウィンドウの幅は、フラッシュメモリ38の条件記憶エリア384に記憶されている。識別ウィンドウの幅Lは、入力間隔の最小値を考慮して予め定められた値であり、予め定められた複数のユーザに共通する値であってもよいし、ユーザ毎に設定される値であってもよい。入力間隔は、入力動作が連続して実行される場合の、各入力動作の入力タイミングの間隔である。識別ウィンドウの幅Lは、例えば、400msecである。入力判断ウィンドウの幅は、例えば、50msecである。収束判断ウィンドウの幅は、例えば、50msecである。次に、キー種別が表示部39に表示される(S130)。S130では、仮想的なキーボードのキー種別(例えば、「E」)が表示される。ユーザは、表示部39を確認した後、表示部39に示された「E」を打鍵する場合の入力動作を行う。次に、取得順序が新しい順に所定個の検出データが取得され、取得された検出データはRAM403に記憶される(S135)。取得順序は、検出データに含まれるタイムスタンプに基づき特定される。S135は、検出データに入力判断ウィンドウを設定する処理である。S135における検出データの取得数は、入力判断ウィンドウの幅と、取得処理における検出データの取得頻度Jとに応じて決定される。図8の具体例では、入力判断ウィンドウ400の幅が50msecであり、取得頻度Jが5msecであるので、検出データの取得数は、10である。
次に、S135で取得された検出データに基づき、入力動作が実行されたか否かが判断される(S140)。S140では、いずれかの検出条件の検出データについて、入力判断ウィンドウ内の検出データの最大値と、最小値との差が閾値以上であった場合に、入力動作が実行されたと判断される。入力判断ウィンドウ内の検出データの最大値と、最小値との差が閾値以上となった場合の入力判断ウィンドウの終わりを、入力タイミングとする。図8の具体例では、T1が入力タイミングとされる。入力動作が実行された場合の各検出条件の検出データの最大値と、最小値との差を比較すると、一般に、入力動作をした指のz軸方向の検出データの最大値と、最小値との差が最も大きい。したがって、S140では、入力動作をした指(図8では、データ103)の検出データに基づき、入力タイミングが検出されることになる。閾値は、入力動作が実行された場合の検出データの経時変化と、入力動作が実行されていない場合の検出データの変化とを考慮して適宜定められ、フラッシュメモリ38に記憶されている。閾値は、例えば、600mgである。入力動作が実行されていない場合(S140:No)、処理はS135に戻る。図8のように、入力判断ウィンドウ400は、S135が繰り返し実行されることによって、図中左側から右側に向かって順にシフトする。
S140で、入力動作が実行された場合(S140:Yes)、次に、取得順序が新しい順に所定個の検出データが取得され、取得された検出データはRAM403に記憶される(S145)。S145は、検出データに収束判断ウィンドウを設定する処理である。S145における検出データの取得数は、収束判断ウィンドウの幅と、取得処理における検出データの取得頻度Jとに応じて決定される。収束判断ウィンドウの幅が50msec,取得頻度Jが5msecである場合、検出データの取得数は、10となる。
次に、S145で取得された検出データに基づき、S145で検出された入力タイミング以降の検出データの変化が収束したか否かが判断される(S150)。S150では、入力動作が実行された手のすべての指の検出データについて、収束判断ウィンドウ内の同一検出条件の検出データの最大値と、最小値との差が閾値以下であった場合に、検出データが収束したと判断される。入力動作が実行された手は、検出データに基づき特定される。収束判断ウィンドウ内の検出データの最大値と、最小値との差が閾値以下であった場合の収束判断ウィンドウの始まりを収束タイミングとする。したがって、S150では入力動作が実行された手の検出データに基づき、収束タイミングが検出されることになる。S150の閾値は、入力動作が実行されていない場合の手の震え等を考慮し、手が動いていないと判断される許容値が設定されることが好ましい。閾値は、例えば、300mgであり、図8の具体例ではT2が収束タイミングとされる。検出データの変化が収束していない場合(S150:No)、処理はS145に戻る。
検出データの変化が収束した場合(S150:Yes)、収束時間が所定値よりも小さいか否かが判断される(S160)。収束時間は、S140で検出された入力タイミングから、S150で検出された入力タイミングまでの時間である。図8では、収束時間は、入力タイミングT1から収束タイミングT2までの期間122で示される。所定値は、入力間隔の最小値を考慮して定められた値であり、例えば、識別ウィンドウの幅T(図8では矢印121で図示)の半分の値200msecが設定される。収束時間が所定値よりも小さい場合とは、入力タイミングからT/2だけ経過した閾値タイミングよりも、収束タイミングが早く出現する場合である。図8では、T3が閾値タイミングとされる。
収束時間が所定値よりも小さい場合には(S160:Yes)、取得期間の終わりに収束タイミングが設定される(S165)。取得期間は、識別ウィンドウを設定する処理に用いられる。より具体的には、S165では、収束タイミングを取得期間の終わりとする、長さTの期間が取得期間の設定条件として設定される。収束時間が所定値以上である場合には(S160:No)、取得期間の終わりに閾値タイミングが設定される(S170)。より具体的には、S170では、閾値タイミングを終わりとする長さTの期間が取得期間の設定条件として設定される。S165又はS170の次に、S165又はS170で設定された取得期間に従って検出データが取得され、取得された検出データはRAM403に記憶される(S175)。S165で取得期間が設定された場合、S175では、タイミングT4からS150で検出された収束タイミングT2までの長さTの期間内の検出データが取得される。この場合、図8の具体例では、識別ウィンドウ132内の検出データが取得される。S170で取得期間が設定された場合、S175では、タイミングT0から閾値タイミングT3までの長さTの取得期間が設定される。この場合、図8の具体例では、識別ウィンドウ131内の検出データが取得される。入力タイミングT1は識別ウィンドウ131の中央にある。
次に、S175で取得された検出データの特徴量が算出され、算出された特徴量はRAM403に記憶される(S180)。検出データの特徴量は、S175で取得された識別ウィンドウ内の検出データに基づき、以下の手順で算出された5つの平均値である。まず、識別ウィンドウの期間が、5つの期間に等分割される。次に分割された期間毎に、検出データの平均値が算出される。次に、S180で加工された検出データの特徴量と、S130で表示されたキー種別とが対応付けられ、対応付けられたデータは、学習データとして学習データ記憶エリア383に記憶される(S185)。次に、動作モード記憶エリア382が参照され、動作モードに入力モードが設定されているか否かが判断される(S190)。学習モード中に、ユーザが入力部40を操作して指示を入力した場合に、動作モードが学習モードから入力モードに変更される。また、全てのキー種別について学習データが記憶された場合に、学習モードに入力モードが設定される。動作モードに入力モードが設定されていない場合(S190:No)、処理はS130に戻り、次のキー種別が表示される(S130)。動作モードに入力モードが設定されている場合(S190:Yes)、学習モード処理は終了し、処理はメイン処理に戻る。
S115において、動作モードに学習モードが設定されていない場合(S115:No)、入力モード時の処理が実行される。入力モード時の処理では、まず、取得順序が新しい順に所定個の検出データが取得される(S200)。S200の処理はS135と同様の処理である。次にS200で取得された検出データに基づき、入力動作が実行されたか否かが判断される(S205)。S205の処理はS140と同様の処理であり、入力動作が実行されていない場合には(S205:No)、処理はS200に戻る。入力動作が実行された場合には(S205:Yes)、取得順序が新しい順に所定個の検出データが取得され、取得された検出データはRAM403に記憶される(S210)。S210における検出データの取得数は、S175と同様である。
次に、S210で取得された検出データの特徴量が算出され、算出された特徴量はRAM403に記憶される(S215)。S215の処理はS180と同様であり、S210で取得された識別ウィンドウ内の検出データに基づき5つの平均値が算出される。次に、S215で算出された特徴量に対応する学習データが、学習データ記憶エリア383に記憶されているか否かが判断される(S220)。学習データ記憶エリア383に記憶されているいずれかの学習データと、S215で加工された検出データとの差が所定値未満である場合に、S215で算出された特徴量に対応する学習データが学習データ記憶エリア383に記憶されていると判断される。S215で算出された特徴量に対応する学習データが記憶されていない場合(S220:No)、S205で入力タイミングが検出されてから所定時間が経過したか否かが判断される(S225)。所定時間は、S160の所定値と同様である。S205で入力タイミングが検出されてから所定時間が経過していない場合(S225:No)、処理はS210に戻る。S205で入力タイミングが検出されてから所定時間が経過した場合(S225:Yes)、S205で検出された入力動作に対応する入力データを決定する処理は実行されず、後述するS240の処理が実行される。
S220において、S215で算出された特徴量に対応する学習データが記憶されている場合(S220:Yes)、S205で検出された入力動作に対応する入力データが決定され、決定された入力データはRAM403に記憶される(S230)。S230で決定される入力データは、S215で算出された特徴量に対応する学習データに対応付けられた入力データである。次に、S230で決定された入力データが、アンテナ406を介して、PC等の外部装置(図示せず)に送信される(S235)。S120と、S235と、S225とのいずれかの次に、電源がOFFにされたか否かが判断され(S240)、データ決定装置4の電源がOFFではない場合には(S240:No)、処理はS115に戻る。データ決定装置4の電源がOFFの場合には(S240:Yes)、メイン処理は終了する。
以上のように、第1の実施形態の入力装置1の処理が実行される。図5のS15は、本発明の出力工程に相当し、S15で検出データを出力するCPU41は、本発明の出力手段として機能する。図6のS205及び図7のS140は、本発明の入力検出工程に相当し、S205及びS140において、検出データに基づき入力タイミングを検出するCPU401は、本発明の入力検出手段として機能する。S150は本発明の収束検出工程に相当し、S150で収束タイミングを検出するCPU401は、本発明の収束検出手段として機能する。S165又はS170は、本発明の期間設定工程に相当し、S165又はS170で取得期間を設定するCPU401は、本発明の期間設定手段として機能する。S175は本発明の取得工程に相当し、S175で取得期間の検出データを取得するCPU401は、本発明の取得手段として機能する。S185は本発明の記憶制御工程に相当し、S185で学習データを学習データ記憶エリア383に記憶させるCPU401は、本発明の記憶制御手段として機能する。
第1の実施形態の入力装置1のS165又はS170において設定される取得期間には、入力タイミングが含まれるので、取得期間内の検出データには、入力動作時の特徴的な変化を表す検出データが含まれる。さらに、第1の実施形態の入力装置1は、収束タイミングを考慮して、取得期間の終わりを収束タイミング又は閾値タイミングとするため、特徴的な変化が含まれる期間が取得期間に含まれるように、取得期間を適切に設定することができる。したがって、入力装置1は、従来の入力装置に比べ、入力データの決定精度を高めることができる。
入力装置1は、取得期間の終わりを閾値タイミング以前としているので、S160の所定値が適宜定められることによって、入力タイミングから取得期間の終わりまでの期間が長くなりすぎることを確実に回避することができる。図8の具体例では、S165で設定される取得期間では、S170で設定される取得期間に比べ、期間123(30msec)だけ取得期間の終わりが早く出現する。したがって、S165で取得期間が設定された場合には、S170で取得期間が設定される場合に比べ、期間123だけ決定処理におけるタイムラグを短縮することができる。さらに、入力装置1は、取得期間の終わりが収束タイミングT2であるか、又は、閾値タイミングT3であるかによらず、取得期間の長さが一定(矢印121で図示する長さ)である。したがって、入力装置1は、入力データの決定精度を考慮した一定数の検出データに基づき、入力データを決定することができる。
なお、第1の実施形態において、S150の収束タイミングの検出方法は適宜変更可能である。例えば、第2及び第3の実施形態の方法で収束タイミングが検出されてもよい。第2の実施形態の入力装置1は、図7の学習モード処理において、最も動いた指を特定し、特定した最も動いた指の検出データに基づき収束タイミングを設定する(S150)。最も動いた指は、次のように決定されればよい。例えば、検出データの経時変化が検出条件毎に比較され、最も変化の大きい検出条件の指が最も動いた指であると特定されてもよい。検出データの変化の大きさは、例えば、検出データの分散値と、振幅と、最大値と最小値との差とのいずれかに基づき比較されればよい。より具体的には、例えば、S140において入力判断ウィンドウ内の検出データの最大値と最小値との差が検出条件毎に比較され、最大値と最小値との差が最も大きい指が最も動いた指であると特定されてもよい。また例えば、S130で表示されたキー種別に予め対応付けられた指が、最も動いた指と特定されてもよい。
例えば、図8と同様のデータ101から105について、図9のように、最も動いた中指の検出データ(データ103)に基づき収束タイミングT5が設定され、識別ウィンドウ332が設定される。この場合の収束期間は、入力タイミングT1から収束タイミングT5までの期間322で表される62msecである。したがって、この場合のS165で設定された取得期間では、S170で設定された取得期間に比べ、期間323(138msec)だけ早く取得期間の終わりが出現する。第2の実施形態の入力装置1は、S170で取得期間が設定される場合に比べ、決定処理におけるタイムラグを短縮させることができる。
第3の実施形態の入力装置1は、図7の学習モード処理において、第2の実施形態と同様に最も動いた指が特定し、特定した最も動いた指の検出データと、最も動いた指の隣の指の検出データとに基づき収束タイミングを設定する(S150)。この場合、例えば、図8と同様のデータ101から105について、図9のように、最も動いた中指の検出データ(データ103)と、中指の隣の人差し指の検出データ(データ102)とに基づき収束タイミングT6が設定され、識別ウィンドウ232が設定される。この場合の収束期間は、入力タイミングT1から収束タイミングT6までの期間222で表される67msecである。したがって、この場合のS165で設定された取得期間では、S170で設定された取得期間に比べ、期間223(133msec)だけ早く取得期間の終わりが出現する。第3の実施形態の入力装置1は、S170で取得期間が設定される場合に比べ、決定処理におけるタイムラグを短縮させることができる。
図9のように、第2の実施形態で検出される収束タイミングT5は、第3の実施形態で検出される収束タイミングT6よりも、5msec早く出現する。すなわち、収束タイミングT5では、中指の検出データは収束しているが、人差し指の検出データは収束していない。第1から第3の実施形態のように、複数の指の検出データに基づき入力データが決定される場合には、第1及び第3の実施形態のように、複数の指に対応する検出データに基づき収束タイミングが検出されることが好ましい。このようにすれば、入力装置1は、入力動作が実行された場合の特徴的な変化を含む検出データを用いて、決定処理を実行することができる。第3の実施形態のように、最も動いた指以外の指の検出データの変化も考慮して入力データが決定される場合には、検出データの特徴的な変化がより確実に取得期間に入るため、入力データの決定精度を向上させることができる。第2の実施形態及び第3の実施形態の学習モード処理において、最も動いた指を特定するCPU401は、第2特定手段として機能する。
ところで、第1から第3の実施形態では、入力データ毎に取得期間が設定されていたが、第4の実施形態のように、取得期間は手の種類と指の種類とを組み合わせた条件毎に設定されてもよい。以下、図10及び図11を参照して、第4の実施形態の入力装置1を説明する。
まず、第4の実施形態の入力装置1の物理的構成と電気的構成とについて説明する。第4の実施形態の入力装置1の物理的構成と電気的構成とは、基本的に第1の実施形態と同様である。第4の実施形態の入力装置1では、フラッシュメモリ38に、順序テーブルが記憶されている。順序テーブルには、手の種類と指の種類とを組み合わせた条件(以下、「組合せ条件」と言う。)と、各組合せ条件に割り当てられたキー種別とが対応付けられて記憶されている。例えば、左手の小指には、キー種別として、1と、Qと、Aと、Zとが対応付けられている。順序テーブルは、図11の学習モード処理において読み出される。
次に、図10及び図11を参照して第4の実施形態の入力装置1において実行されるメイン処理について説明する。図10では、図6の第1の実施形態のメイン処理の処理と同様な処理には、同じステップ番号が付与されている、図11では、図7の第1の実施形態の学習モード処理の処理と同様な処理には、同じステップ番号が付与されている。図10の第4の実施形態のメイン処理は、S120に代えてS121が実行される点と、S206及びS207が実行される点と、S225の処理が省略される点とにおいて、図6の第1の実施形態のメイン処理と異なる。第1の実施形態と同様な処理については説明を省略し、以下第1の実施形態と異なる処理について説明する。
まず、図10のメイン処理のS121で実行される学習モード処理の詳細を、図11を参照して説明する。なお、以下の説明では、図7の第1の実施形態の学習モード処理と同様な処理については説明を省略又は簡略化する。図11のように、学習モード処理では、まず、幅が設定される(S125)。次に、フラッシュメモリ38に記憶されている順序テーブルが読み出され、読み出された順序テーブルはRAM403に記憶される(S126)。次に、S126で読み出した順序テーブルから組合せ条件が順に「現在の指」に設定され、設定された組合せ条件と、その組合せ条件に対応するキー種別とはRAM403に記憶される(S127)。S127では、例えば、現在の指に左手の小指が設定される。
次に、第1の実施形態と同様のS135からS150の処理が実行される。収束タイミングが検出された場合(S150:Yes)、S140で入力タイミングが検出されてから、S150で収束タイミングが検出されるまでの収束時間が算出され、算出された収束時間はRAM403に記憶される(S151)。またS151では、S140で検出された入力タイミングを期間の終わりとする長さTの期間の検出データと、入力タイミングから閾値タイミングまでの期間の検出データとが、S130で表示されたキーと対応付けられてRAM403に記憶される。次に、S127で読み出された組合せ条件に対応付けられた全てのキー種別がS130で表示部39に表示されたか否かが判断される(S152)。表示されていないキー種別がある場合(S152:No)、処理はS130に戻り、次のキー種別が表示部39に表示される(S130)。全てのキー種別が表示部39に表示された場合(S152:Yes)、収束時間の特徴量が算出され、算出された特徴量はRAM403に記憶される(S153)。収束時間の特徴量は、S151で記憶された収束時間に基づき算出される。収束時間の特徴量は、S127で設定された組合せ条件の指で入力動作が実行される場合の、収束時間の特徴を表す。特徴量は、例えば、S151で記憶された収束時間の最大値と、最小値と、平均値とのいずれかがである。
次に、S153で算出された特徴量が所定値よりも小さいか否かが判断される(S161)。特徴量が所定値よりも小さい場合(S161:Yes)、取得期間の終わりに入力タイミングから特徴量だけ経過したタイミングが設定される(S166)。入力タイミングから特徴量だけ経過したタイミングは、S127で設定された組合せ条件に共通して設定される収束タイミングである。特徴量が所定値以上である場合には(S161:No)、取得期間の終わりに閾値タイミングが設定される(S171)。S166又はS171の処理により、組合せ条件毎に取得期間が設定される。
次に、S151で記憶されたキー種別とキー種別に対応付けられた検出データとが読み出される(S176)。S176ではさらに、読み出された検出データには、S166又はS171で設定された識別ウィンドウが設定され、識別ウィンドウ内の検出データと、キー種別とはRAM403に記憶される。次に、S176で設定された識別ウィンドウ内の検出データが、第1の実施形態と同様に加工され(S180)、加工された検出データと、S176で読み出された検出データと対応付けられたキー種別とが、学習データとして学習データ記憶エリア383に記憶される(S185)。
次に、S153で記憶された全ての検出データがS176で読み出されたか否かが判断される(S186)。読み出されていないキー種別の検出データがある場合(S186:No)、処理はS176に戻り、次のキー種別と対応付けられた検出データが読み出される(S176)。全ての検出データが読み出された場合(S186:Yes)、学習終了か否かが判断される(S187)。動作モードに入力モードが設定された場合、又は、S127で全ての組合せ条件が設定された場合には、学習終了であると判断される。学習終了ではない場合(S187:No)、処理はS127に戻り、次の組合せ条件が設定される(S127)。学習終了である場合(S187:Yes)、学習モード処理は終了し、処理はメイン処理に戻る。
次に、図10を参照して、メイン処理において実行される入力モード時の処理の内、S206及びS207の処理を説明する。S206では、S200で取得された検出データに基づき、S205で検出された入力動作を行った指が特定される。第4の実施形態の入力装置1は、S200で取得された検出データの内、検出データの変化が最も大きい指を、入力動作を実行した指とする。S207では、S206で特定された指に対応する取得期間が設定され、設定された取得期間はRAM403に記憶される(S207)。第4の実施形態では、入力タイミング及び入力動作が実行された指が特定されると、取得期間の終わりが定まるので、S220において、対応がない場合には(S220:No)、S205で検出された入力動作に対応する入力データは決定されず、S240の処理が実行される。
以上のように第4の実施形態のメイン処理が実行される。なお、S161又はS171で組合せ条件毎に取得期間を設定するCPU401は、本発明の期間設定手段として機能する。S140又はS206の処理を実行するCPU401は、第1特定手段として機能する。第4の実施形態の入力装置1によれば、収束時間の差を考慮して、指毎に取得期間を設定することができる。したがって、入力装置1は、決定処理が実行された場合に、従来に比べ、入力データの決定精度を高めることができる。第1から第3の実施形態では、入力モード時の処理において、入力タイミングが検出された時点では、取得期間の終わりを定めることができない。このため第1から第3の実施形態では、図6のS210からS225までの処理を、対応する学習データが記憶されている場合となるまで(S220:Yes)、又は閾値タイミングとなるまで(S225:Yes)、繰り返す必要がある。これに対し、第4の実施形態の入力装置1は、入力タイミングが検出されると、S206で特定された指に基づき、取得期間を決定できる。このため、第4の実施形態の入力装置1は、第1から第3の実施形態の入力装置1に比べ、決定処理を簡単にすることができる。
なお、本発明は上記の実施の形態に限定されるものではなく、種々の変更が可能である。例えば、次の(a)から(c)の変形を適宜加えてもよい。
(a)入力装置1の構成は適宜変更可能である。例えば、入力装置1が備えるセンサの種類と、センサの取り付け位置と、センサの個数とは適宜変更可能である。より具体的には、入力装置は、センサとして、加速度センサを、各指の指先と、各指の第3関節とに設置してもよい。また例えば、入力装置1は、データ収集装置2と、データ収集装置3と、データ決定装置4とは別体であったが、これに限定されない。例えば、データ収集装置2と、データ収集装置3との少なくともいずれかが、データ決定装置4としての機能を有していてもよい。また例えば、データ収集装置2及びデータ収集装置3と、データ決定装置4とは、無線で接続されていたが、有線で接続されていてもよい。
(b)上記実施形態では、仮想的な入力装置として、仮想キーボードが想定されていたが、他の仮想的な入力装置が想定されてもよい。他の仮想的な入力装置としては、例えば、マウス等のポインティングデバイスと、ジョイスティックコントローラと、タッチパネルとが挙げられる。
(c)入力装置で実行される各種処理は、適宜変更可能である。例えば、次の(c−1)から(c−6)の変形が加えられてもよい。
(c−1)例えば、図6又は図10の入力モード時の処理において、次のような手順で入力データが決定されてもよい。S210で所定の長さの期間の検出データが取得される。S215で、S210で取得された検出データの、特徴量が算出される。特徴量としては、例えば、分散値と、振幅とがあげられる。S220では、S215で算出された特徴量と学習データとが比較されて、検出データに対応する入力データが決定される。この場合の学習データは、予め割当データと対応付けられた特徴量である。また例えば、S210で取得された検出データと学習データとが比較されて、検出データに対応する入力データが決定されてもよい。
(c−2)取得期間はユーザ毎に設定されても良い。この場合、例えば、図11のS153で算出された組合せ条件毎の特徴量から、さらにユーザ毎の特徴量が算出されてもよい。ユーザ毎の特徴量としては、例えば、最大値と、最小値と、平均値とが上げられる。この場合の入力装置は、入力動作実行時のユーザ毎の検出データの経時変化の違いを考慮して取得期間を設定しているため、異なるユーザ間で同じ取得期間が設定される場合に比べ、取得期間を適切に設定することができる。したがって、入力装置は、入力モード時の処理において、異なるユーザ間で同一の取得期間が設定される場合に比べ、入力データの決定精度を高めることができる。
(c−3)取得期間の長さは適宜変更してもよい。例えば、取得期間の始まりは、入力タイミングよりも所定時間前とされてもよい。所定時間としては、例えば、T/2が設定される。この場合、例えば、図7のS165では、T0からT2の期間が取得期間とされる。図7のS170では、T0からT3の期間が取得期間とされる。この場合の入力装置は、取得期間の長さが一定の場合に比べ、取得期間を短い期間とすることができる。したがって、この場合の入力装置は、決定処理が実行された場合に、取得期間の長さが一定の場合に比べ、短い取得期間内の検出データを用いて入力データを決定することができる点で、決定処理を簡単化することができる。また入力装置は、所定時間が適宜定められることによって、取得期間内の検出データに前の入力動作の検出データの変化が入ってしまい、決定処理において入力データの決定精度が低下することを確実に回避することができる。
(c−4)入力タイミングを検出する処理に用いる検出データは、入力動作が検出されるデータであればよく、適宜変更可能である。例えば、入力動作をした指を含む側の手の検出データに基づき、入力タイミングが検出されてもよい。この場合、例えば、入力動作を実行した指は、検出データの経時変化に基づき特定されればよい。また例えば、全検出条件の検出データに基づき、入力タイミングが検出されてもよい。一般に、入力動作を行った指の検出データが最も変化するため、入力動作を行った指を含む検出データが、入力タイミングを検出する処理に用いる検出データとして用いられることが好ましい。また例えば、センサとして、加速度センサ以外のセンサが用いられる場合には、センサから得られたデータに基づき算出された加速度を用いて入力タイミングが検出されてもよい。
(c−5)入力タイミングの検出基準及び検出基準における閾値は適宜変更可能である。例えば、検出データが所定値(例えば、1500mg)以上になったタイミングが入力タイミングとされてもよい。この場合の所定値は、入力動作が実行された場合の検出データの値と、入力動作が実行されていない場合の検出データの値とを考慮された値であることが好ましい。また例えば、極大値が検出されたタイミングが入力タイミングとされてもよい。極大値は公知の方法で検出されればよい。また例えば、入力装置は、入力判断ウィンドウ内の期間を所定個(例えば5個)に等分割し、各期間の平均値の最大値と最小値とを比較して、入力タイミングが検出されてもよい。この場合、入力装置は、検出データに含まれるノイズの影響を緩和することができる。
(c−6)収束タイミングの検出基準及び検出基準における閾値は適宜変更可能である。例えば、収束判断ウィンドウ内の検出データの振幅と、分散値と、平均値とのいずれかが所定値未満になったタイミングを収束タイミングとしてもよい。検出基準として、分散値が用いられる場合の一例としては100が設定される。検出基準として、平均値が用いられる場合の一例としては重力加速度に近い値である900から1100mgの範囲内の値が設定される。また、第2の実施形態及び第3の実施形態の収束タイミングの検出方法は、第4の実施形態に適用されてもよい。
(c−7)入力モード時の処理では、入力タイミングが検出されたか否かによらず、検出データ(特徴量)と、学習データとが比較され、検出データに対応する入力データが決定されてもよい。
(c−8)図10のS206では、検出データの経時変化が検出条件毎に比較され、最も変化の大きい検出条件の指が最も動いた指であると特定されてもよい。検出データの変化の大きさは、例えば、検出データの分散値と、振幅と、最大値と最小値との差とのいずれかに基づき比較されればよい。
(c−9)入力装置の使用環境と、入力装置の使用継続時間とを含む条件が異なると、同じユーザが同じ入力動作を行った場合であっても、収束時間が異なる場合がある。これに対し、入力装置は、取得期間を設定する処理を、入力モード時に実行してもよい。具体的には、例えば、以下の処理によって取得期間が更新されればよい。入力装置は、学習モード処理において、学習データを記憶する処理とは別に、入力タイミングを含む所定期間の検出データを入力データと対応付けたデータを、元データとして記憶する。所定期間は、取得期間が設定されうる期間に基づき予め設定される。入力装置は、入力モード処理において、収束時間を算出する処理を実行する。検出データに基づき決定された入力データに対応する取得期間を、算出された収束時間に基づき更新する。また入力装置は、元データと、更新された取得期間とに基づき、学習データを更新する。このようにすれば、入力装置は、収束時間がメイン処理実行毎に異なる場合であっても、随時収束時間を修正して、取得期間を適切に設定することができる。
1 入力装置
2,3 データ収集装置
4 データ決定装置
21 センサ
22 制御部
38 フラッシュメモリ
41,101 CPU
42,102 ROM
43,103 RAM
45 A/Dコンバータ
47,106 アンテナ
383 学習データ記憶エリア

Claims (9)

  1. ユーザの手の動きに応じた入力データを決定する入力装置であって、
    前記手に取り付けられ、当該手の動きに応じた電気信号を発生するセンサと、
    前記センサによって発生された前記電気信号を含むデータを検出データとして出力する出力手段と、
    前記出力手段によって出力された前記検出データに基づき、前記手が入力時の動きをしたタイミングである入力タイミングを検出する入力検出手段と、
    前記出力手段によって出力された前記検出データに基づき、前記入力検出手段によって検出された前記入力タイミング後の前記検出データの変化が収束するタイミングである収束タイミングを検出する収束検出手段と、
    前記入力検出手段によって検出された前記入力タイミングと、前記収束検出手段によって検出された前記収束タイミングとに基づき、前記入力タイミングを含む期間を、前記入力データの決定に用いる前記検出データの取得期間として設定する期間設定手段と、
    前記出力手段によって出力された前記検出データの中から、前記期間設定手段によって設定された前記取得期間内の前記検出データを取得する取得手段と、
    前記取得手段によって取得された前記検出データと、前記手の動きに対応する前記入力データとを対応付けたデータを学習データとして記憶手段に記憶させる記憶制御手段と
    を備えたことを特徴とする入力装置。
  2. 前記期間設定手段は、前記入力タイミングから、入力間隔の最小値に基づき定められた所定時間経過した閾値タイミングよりも、前記収束タイミングが早く出現する場合に、前記収束タイミングを前記取得期間の終わりとし、前記収束タイミングが前記閾値タイミングよりも遅く出現する場合には前記閾値タイミングを前記取得期間の終わりとする、前記所定時間の2倍の長さの期間を前記取得期間として設定することを特徴とする請求項1に記載の入力装置。
  3. 前記期間設定手段は、前記入力検出手段によって検出された前記入力タイミングよりも、入力間隔の最小値に基づき定められた所定時間前のタイミングを始まりとし、前記入力タイミングから、前記所定時間が経過した閾値タイミング及び前記収束タイミングのうちの早く出現するタイミングを終わりとする、前記始まりから前記終わりまでの期間を前記取得期間として設定することを特徴とする請求項1に記載の入力装置。
  4. 前記期間設定手段は、前記ユーザ毎に前記取得期間を設定することを特徴とする請求項1から3のいずれかに記載の入力装置。
  5. 前記センサは、前記手の各指に装着され、
    前記期間設定手段は、前記入力時の動きをしたときに最も動いた指の前記検出データに基づき、当該最も動いた指毎に前記取得期間を決定し、
    前記取得手段は、前記出力手段によって出力された前記検出データの中から、前記入力時の動きをしたときに最も動いた指に対応する前記取得期間の前記検出データを取得する
  6. 前記センサは、前記手の各指に装着され、
    前記収束検出手段は、少なくとも、前記出力手段によって出力された前記検出データのうち、前記入力時の動きをしたときに最も動いた指に対応する前記検出データ及び当該最も動いた指の隣の指に対応する前記検出データの少なくともいずれかに基づき、前記収束タイミングを検出することを特徴とする請求項1から5のいずれかに記載の入力装置。
  7. 前記出力手段によって出力された前記検出データと、前記記憶手段に記憶された前記学習データとを比較して、当該検出データに対応する前記入力データを決定する決定手段を備えることを特徴とする請求項1から6のいずれかに記載の入力装置。
  8. 手の動きに応じた入力データをコンピュータが決定する入力方法であって、
    前記手に取り付けられ、当該手の動きに応じた電気信号を発生するセンサによって発生された前記電気信号を含むデータを検出データとして出力する出力工程と、
    前記出力工程において出力された前記検出データに基づき、前記手が入力時の動きをしたタイミングである入力タイミングを検出する入力検出工程と、
    前記出力工程によって出力された前記検出データに基づき、前記入力検出工程によって検出された前記入力タイミング後の前記検出データの変化が収束するタイミングである収束タイミングを検出する収束検出工程と、
    前記入力検出工程において検出された前記入力タイミングと、前記収束検出工程において検出された前記収束タイミングとに基づき、前記入力タイミングを含む期間を、前記入力データの決定に用いる前記検出データの取得期間として設定する期間設定工程と、
    前記出力工程において出力された前記検出データの中から、前記期間設定工程において設定された前記取得期間内の前記検出データを取得する取得工程と、
    前記取得工程において取得した前記検出データと、前記手の動きに対応する前記入力データとを対応付けたデータを学習データとして記憶手段に記憶させる記憶制御工程と
    を備えたことを特徴とする入力方法。
  9. 請求項1から7のいずれかに記載の入力装置の各種処理手段としてコンピュータを機能させるための入力プログラム。
JP2009271205A 2009-11-30 2009-11-30 入力装置、入力方法及び入力プログラム Pending JP2011113437A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009271205A JP2011113437A (ja) 2009-11-30 2009-11-30 入力装置、入力方法及び入力プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009271205A JP2011113437A (ja) 2009-11-30 2009-11-30 入力装置、入力方法及び入力プログラム

Publications (1)

Publication Number Publication Date
JP2011113437A true JP2011113437A (ja) 2011-06-09

Family

ID=44235698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009271205A Pending JP2011113437A (ja) 2009-11-30 2009-11-30 入力装置、入力方法及び入力プログラム

Country Status (1)

Country Link
JP (1) JP2011113437A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020077271A (ja) * 2018-11-09 2020-05-21 セイコーエプソン株式会社 表示装置、学習装置、及び、表示装置の制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020077271A (ja) * 2018-11-09 2020-05-21 セイコーエプソン株式会社 表示装置、学習装置、及び、表示装置の制御方法
JP7271909B2 (ja) 2018-11-09 2023-05-12 セイコーエプソン株式会社 表示装置、及び、表示装置の制御方法

Similar Documents

Publication Publication Date Title
US11009950B2 (en) Arbitrary surface and finger position keyboard
KR101875350B1 (ko) 터치 상호작용을 처리하기 위한 방법, 디바이스 및 시스템
CN106774818B (zh) 姿势识别方法、姿势识别设备和可穿戴装置
JP5261554B2 (ja) 指先ポインティング、ジェスチャに基づく車両用ヒューマンマシンインタフェース
US20150323998A1 (en) Enhanced user interface for a wearable electronic device
EP1845432B1 (en) Portable electronic apparatus, user interface controlling method, and program
JP2018504682A5 (ja)
WO2013167028A2 (zh) 一种在触屏终端界面实现悬浮式全局按钮的方法及系统
JP5640486B2 (ja) 情報表示装置
JP5250135B1 (ja) タッチパネルシステム、電子情報機器及び指示体位置検出方法
EP1548549A3 (en) Input control apparatus and method for responding to input
JP2014062962A (ja) 情報処理装置、筆記具、情報処理方法およびプログラム
JP2012247936A (ja) 情報処理装置、表示制御方法及びプログラム
KR20150021298A (ko) 착용형 생체신호 인터페이스 및 착용형 생체신호 인터페이스의 동작 방법
CN108874284A (zh) 手势触发方法
CN105808129B (zh) 一种利用手势快速开启软件功能的方法和装置
CN105426091A (zh) 一种控制黑屏手势处理的方法及终端
JPWO2012111227A1 (ja) タッチ式入力装置、電子機器および入力方法
US10955935B2 (en) Tap device with multi-tap feature for expanded character set
JP2011113437A (ja) 入力装置、入力方法及び入力プログラム
CN112740146A (zh) 姿势识别系统
CN103809846A (zh) 一种功能调用方法及电子设备
JP2016115310A (ja) 電子機器
US11009968B1 (en) Bi-directional tap communication device
JP2014056460A (ja) 入力装置