(57)【特許請求の範囲】
【請求項１】
ユーザの指に着用されて、ユーザの指動きを感知する指装置により感知された指動きにより、情報入力を行う空間型情報入力装置を構成する方法において、
前記指装置の動きを感知する信号を獲得し、獲得した信号から所定個数以上のエッジが検出されるかを判断し、前記判断結果を用いて、着用位置を認識するステップと、
前記認識された着用位置情報を用いて前記ユーザの指に着用された指装置から出力される信号に応じて情報入力を行うアルゴリズムを構成することによって、前記空間型情報入力装置を適応的に構成するステップと、
を含むことを特徴とする空間型情報入力装置の構成方法。
【請求項２】
前記適応的構成ステップは、
前記認識された着用の如何情報及び着用位置情報によって、前記着用された指装置により感知された動き信号を処理する信号処理部を適応的に構成するステップと、
前記認識された着用の如何情報、着用位置情報及び情報入力のための基本設定情報を利用して、前記空間型情報入力装置のデバイスドライバを適応的に構成するステップと、
を含むことを特徴とする請求項１に記載の空間型情報入力装置の構成方法。
【請求項３】
前記基本設定情報は、
情報入力に使われる言語、指動きによって選択される情報項目の配列を表す入力シナリオ情報を含むことを特徴とする請求項２に記載の空間型情報入力装置の構成方法。
【請求項４】
前記デバイスドライバから前記認識された着用の如何情報、着用位置情報及び前記基本設定情報を受信したアプリケーションが、前記認識情報及び前記基本設定情報によってソフトキーボードを構成するステップを更に含むことを特徴とする請求項２に記載の空間型情報入力装置の構成方法。
【請求項５】
前記アプリケーションは、前記構成されたソフトキーボードを出力装置に出力するステップを更に含むことを特徴とする請求項４に記載の空間型情報入力装置の構成方法。
【請求項６】
前記ソフトキーボードは、指動きによって選択される情報項目の配列上に指装置の位置を表示することを特徴とする請求項５に記載の空間型情報入力装置の構成方法。
【請求項７】
ユーザの指に着用されて、ユーザの指動きを感知する指装置により感知された指動きにより、情報入力を行う空間型情報入力装置を再構成する方法において、
ユーザインターフェースを通じて、ユーザから空間型情報入力装置の再構成のための再設定情報を受信するステップと、
前記受信された再設定情報によって、前記空間型情報入力装置のデバイスドライバを再構成するステップと、
を含み、前記再設定情報は、
特定指装置の使用許可／取消に関する情報、指動きによって選択される情報項目の配列を表す入力シナリオ選択情報、及び使用言語選択情報を含むことを特徴とする空間型情報入力装置の再構成方法。
【請求項８】
前記ユーザインターフェースは、ウィンドウシステムの制御盤を利用することを特徴とする請求項７に記載の空間型情報入力装置の再構成方法。
【請求項９】
ユーザの指動きを感知するセンサーが取り付けられた指装置を備え、前記センサーにより感知された指動き信号により情報入力を行う空間型情報入力装置の着用を認識する方法において、
ａ）指装置の動きを感知するセンサー信号を獲得するステップと、
ｂ）前記獲得されたセンサー信号から所定個数以上のエッジが検出されるか否かを判断するステップと、
ｃ）前記判断結果を利用して前記空間型情報入力装置の着用を認識するステップと、
を含むことを特徴とする空間型情報入力装置の着用認識方法。
【請求項１０】
前記ａ）ステップは、
ａ１）現在時点のセンサー信号値と以前時点のセンサー信号値との間に変化のあるセンサーについての情報、及び前記変化のある時点でのタイマー値を保存するステップを含むことを特徴とする請求項９に記載の空間型情報入力装置の着用認識方法。
【請求項１１】
前記ｂ）ステップは、
前記タイマー値が所定個数以上検出されるか否かを判断することを特徴とする請求項１０に記載の空間型情報入力装置の着用認識方法。
【請求項１２】
前記ｃ）ステップは、
前記タイマー値が所定個数以上検出される場合に、獲得された信号を出力する該当センサーが取り付けられた指装置を着用状態と認識し、
前記タイマー値が所定個数以上検出されていない場合に、獲得された信号を出力する該当センサーが取り付けられた指装置を着用していない状態と認識することを特徴とする請求項１１に記載の空間型情報入力装置の着用認識方法。
【請求項１３】
ｄ）指装置が着用していない状態と認識された場合には、エラー値を表示する情報を出力するステップと、
ｅ）指装置が着用された状態と認識された場合には、前記タイマー値を利用してデューティ比を計算し、前記計算されたデューティ比値を所定大きさでスケーリングして、前記スケーリングされた値を出力するステップと、
を更に含むことを特徴とする請求項１２に記載の空間型情報入力装置の着用認識方法。
【請求項１４】
ユーザの指に着用されて、ユーザの指動きを感知する指装置により感知された指動きにより情報入力を行い、適応的に構成できる空間型情報入力装置であって、
指装置の動きを感知する信号を獲得し、獲得した信号から所定個数以上のエッジが検出されるかを判断し、前記判断結果を用いて着用位置を認識する前処理部と、
前記前処理部により認識された着用認識情報を利用して、前記着用された指装置から出力される信号に応じて情報入力を行うアルゴリズムを処理するように適応的に構成される信号処理部と、
を備えることを特徴とする適応的に構成できる空間型情報入力装置。
【請求項１５】
前記着用認識情報及び情報入力のための基本設定情報を利用して、前記信号処理部から出力された動き信号を処理するように、適応的に構成されるデバイスドライバを更に備えることを特徴とする請求項１４に記載の適応的に構成できる空間型情報入力装置。
【請求項１６】
前記基本設定情報は、
情報入力に使われる言語情報及び指動きによって選択される情報項目の配列を表す入力シナリオ情報を含むことを特徴とする請求項１５に記載の適応的に構成できる空間型情報入力装置。
【請求項１７】
前記デバイスドライバから受信した前記着用認識情報及び基本設定情報によって、指動きによって選択される情報項目の配列上に着用された指装置の位置を表示するソフトキーボードを構成するアプリケーション機能部を更に備えることを特徴とする請求項１６に記載の空間型情報入力装置。
【請求項１８】
ユーザの指動きを感知する指装置により感知された指動きにより、情報入力を行う空間型情報入力装置を再構成する装置において、
ユーザインターフェースを通じて、ユーザから空間型情報入力装置の再構成のための再設定情報を受信するアプリケーション機能部と、
前記アプリケーション機能部から受信された再設定情報によって再構成される前記空間型情報入力装置のデバイスドライバと、
を備え、前記再設定情報は、特定指装置の使用許可／取消に関する情報、指動きによって選択される情報項目の配列を表す入力シナリオ選択情報、及び使用言語選択情報を含むことを特徴とする空間型情報入力装置再構成装置。
【請求項１９】
ユーザの指動きを感知するセンサーが付着された指装置を備え、前記センサーにより感知された指動きにより情報入力を行う空間型情報入力装置の着用を認識する装置において、
指装置の動きを感知するセンサー信号を獲得する信号獲得部と、
前記獲得されたセンサー信号から所定個数以上のエッジが検出されるか否かを判断するポート変化認識部と、
前記判断結果を利用して、前記指装置の着用を認識する指装置認識部と、
を備えることを特徴とする空間型情報入力装置の着用認識装置。
【請求項２０】
前記信号獲得部は、
現在時点のセンサー信号値と直前時点のセンサー信号値との間に変化のあるセンサーについての情報を保存するポート状態保存部と、前記変化のある時点のタイマー値を保存するイベントタイム保存部とを備えることを特徴とする請求項１９に記載の空間型情報入力装置の着用認識装置。
【請求項２１】
前記ポート変化認識部は、
前記イベントタイム保存部に保存されたタイマー値が、所定個数以上検出されるか否かを判断することを特徴とする請求項２０に記載の空間型情報入力装置の着用認識装置。
【請求項２２】
前記指装置認識部は、
前記タイマー値が所定個数以上検出される場合に、該当センサーが取り付けられた指装置を着用状態と認識し、
前記タイマー値が所定個数以上検出されていない場合に、該当センサーが取り付けられた指装置を着用していない状態と認識することを特徴とする請求項２１に記載の空間型情報入力装置の着用認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間型情報入力装置を構成する方法、空間型情報入力装置を再構成する方法、空間型情報入力装置の着用を認識する方法及びその装置に関する。
【背景技術】
【０００２】
特許文献１には、指にデジタルセンサー及び３次元センサーを備えて指同士の接触状態、手の位置及び回転状態を示すデジタルデータを提供するグローブ、グローブから伝送されるデジタルデータによって指同士の接触状態を検出し、手の位置及び回転状態を検出して、ホストコンピュータに提供するためのプロセッサを備えるデジタルデータ入力用のグローブインターフェース装置を開示している。
【０００３】
特許文献２は、指部分に位置して、ユーザー操作による折り曲げ操作信号を感知するセンサーブロックと、このようなセンサー出力により指折り曲げ情報を検出し、検出された折り曲げ情報によって動作制御信号を発生させる制御ブロックとを備えるデジタルグローブ入力装置を開示している。
また、特許文献３は、指の各部分の伸縮感知センサーと、センサーの信号を同時に入力する構造と入力信号パターン群とを連結して、処理時結果を総合して命令を判断する動作認識部とを介する手袋命令発信装置を開示している。
【０００４】
そのように、手や指などを利用してコンピュータに情報を入力する装置が数々研究及び開発され、その一部は商用化されているのが実情である。
一方、一般的なキーボードの場合、入力技術のレベルと方法とは、ユーザーによって多様である。クワティー（ＱＷＥＲＴＹ）キーボードの場合、ユーザーによって、両手の人差し指２本のみを使用して情報を入力してもよく、中央の２本または３本の指のみを使用して情報を入力してもよく、クワティーキーボードに熟練したユーザーの場合には、１０本の指を何れも利用して情報を入力することも可能である。
【０００５】
同様に、空間上での情報入力のための手装着型の情報入力装置を使用するにあっても、入力技術のレベルと方法とは、ユーザーによって異なる。すなわち、１０本の指に何れも着用される指装置が提供された情報入力装置でも、ユーザーによっては、２本または３本の指装置のみを利用することを所望する場合もあり、または、何れかの指装置の故障により、しかたなく残りの指装置のみをもって利用せねばならない状況も発生しうる。
【０００６】
しかし、これまで利用する指装置の構成を適応的に自動構成する空間型情報入力装置は開示されておらず、したがって、ユーザーがいくつかの指装置のみを使用することを所望する場合、または何れかの指装置が故障した場合に、指装置の構成を適応的に自動構成してユーザー便利性を向上させうる空間型情報入力装置が要求される。
また、一旦、空間型情報入力装置を使用している途中でも、例えば、ある指装置を着用しているが、まるで着用していないような感じで使用したい場合や、現在使用中のキーボードクワティーを変えたい場合や、使用言語を変更したい場合がある。したがって、このような状況で、空間型情報入力装置の構成を再構成できる空間型情報入力装置が要求される。
【０００７】
一方、現在までは、指装置の着用如何及び着用位置を自動的に認識できる技術は開示されていない。例えば、図２０に示すように、指装置に取り付けられたセンサーＸ１、Ｘ２、Ｘ３、Ｘ４のうち、Ｘ１センサーで故障がおきてエッジ信号が作動しない状況で、指装置の認識部が各センサーを順次に認識するように設計されたならば、センサーＸ１から認識できなくなって、認識部はループを回り続けて、結局、指装置が着用されているか否かを認識できず、また、どの位置に着用されていないかも認識出来ない。したがって、このような場合に、１つの指装置のみが故障しても、全体空間型情報入力装置を使用できないという問題が発生することもある。
【特許文献１】韓国特許出願公開１９９８−３６０７９号明細書
【特許文献２】韓国特許出願公開１９９８−３６０７７号明細書
【特許文献３】特開平８−２７２５２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前記問題点を解決するための本発明の１つの目的は、ユーザーの使用上便利性を向上させるように、空間型情報入力装置を自動的に構成できる空間型情報入力装置の構成方法、再構成方法及び装置を提供するところにある。
また、本発明の他の目的は、空間型情報入力装置の着用の如何及び着用位置を自動的に認識できる空間型情報入力装置の着用認識方法及び装置を提供するところにある。
【課題を解決するための手段】
【０００９】
前記課題を解決するための本発明の１つの特徴は、ユーザーの指に着用されて、ユーザーの指動きを感知する指装置により感知された指動きにより、情報入力を行う空間型情報入力装置を構成する方法において、前記指装置の着用如何及び着用位置を認識するステップと、前記認識された着用如何情報及び着用位置情報によって、前記空間型情報入力装置を適応的に構成するステップとを含むことである。
【００１０】
本発明の他の特徴は、ユーザーの指に着用されて、ユーザーの指動きを感知する指装置により感知された指動きにより、情報入力を行う空間型情報入力装置を再構成する方法において、ユーザーインターフェースを通じて、ユーザーから空間型情報入力装置の再構成のための再設定情報を受信するステップと、前記受信された再設定情報によって前記空間型情報入力装置のデバイスドライバを再構成するステップとを含むことである。
【００１１】
本発明の更に他の特徴は、ユーザーの指動きを感知するセンサーが取り付けられた指装置を備え、前記センサーにより感知された指動き信号により、情報入力を行う空間型情報入力装置の着用を認識する方法において、ａ）指装置の動きを感知するセンサー信号を獲得するステップと、ｂ）前記獲得したセンサー信号から所定個数以上のエッジが検出されるか否かを判断するステップと、ｃ）前記判断結果を利用して、前記空間型情報入力装置の着用を認識するステップとを含むことである。
【００１２】
本発明の更に他の特徴は、ユーザーの指に着用されて、ユーザーの指動きを感知する指装置により感知された指動きにより、情報入力を行う空間型情報入力装置であって、適応的に構成できる空間型情報入力装置において、指装置の着用の如何及び着用位置を認識する前処理部と、前記前処理部により認識された着用認識情報を利用して、前記着用された指装置でからの動き信号を処理するように、適応的に構成される信号処理部とを備えることである。
【００１３】
本発明の更に他の特徴は、ユーザーの指動きを感知する指装置により感知された指動きにより、情報入力を行う空間型情報入力装置を再構成する装置において、ユーザーインターフェースを通じて、ユーザーから空間型情報入力装置の再構成のための再設定情報を受信するアプリケーション機能部と、前記アプリケーション機能部から受信された再設定情報によって再構成される前記空間型情報入力装置のデバイスドライバとを備えることである。
【００１４】
本発明の更に他の特徴は、ユーザーの指動きを感知するセンサーが取り付けられた指装置を備え、前記センサーにより感知された指動きにより、情報入力を行う空間型情報入力装置の着用を認識する装置において、指装置の動きを感知するセンサー信号を獲得する信号獲得部と、前記獲得されたセンサー信号から所定個数以上のエッジが検出されるか否かを判断するポート変化認識部と、前記判断結果を利用して前記指装置の着用を認識する指装置認識部とを備えることである。
【発明の効果】
【００１５】
このような本発明の構成によれば、空間型情報入力装置の構成を自動設定、または手動設定により適応的に構成でき、更にユーザーにやさしい空間型情報入力装置を実現できる。
【発明を実施するための最良の形態】
【００１６】
以下、添付された図面を参照して本発明を詳細に説明する。
図１Ａには、本発明に係る空間型情報入力装置の一例が図示されている。
空間型情報入力装置１００は、情報入力指装置１１０（以下、指装置と称する）と、信号処理処置１２０と、コンピュータ１５０とを備える。図１に示す空間型情報入力装置１００は、実際情報入力のための構成を何れも表示しているが、以下では、本発明の初期化動作、すなわち、適応的に構成する動作や再構成動作と関連する構成の側面で説明する。
【００１７】
指装置１１０は、指動きを感知するためのセンシング手段として、第１センサーＸ１ １１１、第２センサーＸ２ １１２、第３センサーＸ３ １１３、及び第４センサーＸ４ １１４を備え、指装置１１０の末端には、信号処理処置１２０との連結部１１５が存在する。
例えば、各センサー１１１、１１２、１１３、１１４は、図１Ｂに示すように、加速度センサー１１６と角度センサー１１７とを備え得るが、加速度センサー１１６から出力される信号は、指動きの加速度を感知したものであって、クリック信号、すなわち、情報入力のための信号として使われ、角度センサー１１７から出力される信号は、指の第１節と第２節との間の角度を測定したものであって、情報選択のための信号として使われうる。
【００１８】
しかし、本発明がこれに制限されるものではなく、指動きを感知して、情報入力や情報選択のための信号を出力できるものであれば、いかなる種類のセンサーでも利用できる。例えば、慣性センサーのようにデジタル信号を出力するセンサーと、ポテンショメーター、ＧＭＲ（Ｇｒａｎｔ Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ）センサー、光センサー、オン／オフスイッチ、圧力センサーなどのアナログ信号を出力するセンサーとの両方を利用できる。
【００１９】
信号処理処置１２０は、指装置１１０のセンサー１１１、１１２、１１３、１１４からセンシングされた信号を受信して信号処理を行い、このような信号処理処置は、例えば、ユーザーの手の甲に設置されてもよい。図１Ａに示す信号処理処置１２０は、前処理部１３０と信号処理部１４０とを備えるが、前処理部１３０は、指装置１１０から出力された信号を、連結部１１５を通じて有線または無線の方式で受信して、着用された指装置１１０を認識する。そして、信号処理部１４０は、前処理部１３０から出力される指装置の認識情報を受信して、信号処理部１４０を自動構成し、自動構成されたアルゴリズムによってセンサー１１１、１１２、１１３、１１４から出力された動き情報を処理して、動き特徴情報を抽出し、そのように処理された情報をＵＳＢなどを通じてコンピュータの空間型情報入力装置専用のデバイスドライバ１６０に伝送する。ここで、信号処理部を自動構成するということは、信号処理部を構成するファームウェア（アルゴリズム）を自動構成するということを意味し、例えば、着用された指装置の認識情報が３本の指着用に対するものであれば、３つのセンサーから出た３つの信号値を処理するアルゴリズムで信号処理部１４０を構成することをいう。
【００２０】
コンピュータ１５０は、デバイスドライバ１６０とアプリケーション１７０とを備える。デバイスドライバ１６０は、基本設定情報及び信号処理部１４０から受信した認識情報を利用して、デバイスドライバ１６０を自動構成し、以後にアプリケーション１７０から受信した再設定情報を利用して、デバイスドライバ１６０を再構成する。ここで、基本設定情報とは、使用言語、キーボードクワティー配置などの入力シナリオ情報などをいう。アプリケーション１７０は、デバイスドライバ１６０から基本設定情報と動き特徴情報とを受信し、受信した基本設定情報を利用して、ソフトキーボードを出力装置に出力し、受信した動き特徴情報を解釈した後、解釈された動き特徴情報による入力情報項目を出力装置または他のアプリケーションに出力する。また、アプリケーション１７０は、ユーザーインターフェースを通じて、ユーザーが空間型情報入力装置の構成を再構成できるようにする。
【００２１】
図２は、本発明に係る空間型情報入力装置の構成を初期化する過程のフローチャート２００を示す。
まず、ユーザーが指装置１１０を着用する（Ｓ２１０）。それにより、着用された指装置１１０に設けられたセンサー１１１、１１２、１１３、１１４からセンサー信号が出力され、前処理部１３０は、このようなセンサー信号を受信する（Ｓ２２０）。
【００２２】
前処理部１３０は、受信したセンサー信号を利用して、指装置１１０の着用の如何及び着用された位置を自動認識し（Ｓ２３０）、このような自動認識情報と共に、センサー１１１、１１２、１１３、１１４から出力された動き情報を信号処理部１４０に伝送する。
信号処理部１４０は、自動認識情報によってファームウェアを自動構成して（Ｓ２４０）動き情報を処理し、その結果である動き特徴情報をデバイスドライバ１６０に伝送する。
【００２３】
それにより、デバイスドライバ１６０は、受信した動き特徴情報及び基本設定情報によってデバイスドライバを自動構成する（Ｓ２５０）。
そして、アプリケーション１７０は、デバイスドライバ１６０の構成情報によって、出力装置（図示せず）にソフトキーボード上に指位置を表示して出力し（Ｓ２６０）、指装置１１０の動き特徴情報を解釈して情報入力を行う（Ｓ２７０）。
【００２４】
以下では、図３Ａないし図９を参照して、図１Ａに示す各構成要素及び各構成要素での構成初期化動作を具体的に説明する。
図３Ａは、図１Ａに示す前処理１３０の構成の細部のブロック図であり、図３Ｂは、図３Ａに示す前処理部で、空間型情報入力装置の構成を初期化するための動作過程を説明するフローチャートである。図３Ａ及び図３Ｂを参照して、信号処理処置１２０の前処理部１３０での構成及び動作を説明する。
【００２５】
図３Ａに示す前処理部１３０は、指装置１１０からのセンシング情報を受信して捕捉する第１ポート１３１、第２ポート１３２、第３ポート１３３及び第４ポート１３４と、前記ポートで直前時点及び現在時点での変化を認識して保存するポート変化認識及び保存部１３５と、ポート変化認識及び保存部１３５により保存された値を利用して出力値を計算する出力値計算部１３６と、計算された出力値を信号処理部１４０に伝送する出力値伝送部１３７を備える。
【００２６】
前処理部１３０は、前処理部のハードウェア及びソフトウェアを初期化する（Ｓ３１０）。
その後、指装置１１０の第１センサー１１１、第２センサー１１２、第３センサー１１３及び第４センサー１１４からセンサー信号を受信する（Ｓ３２０）。各センサー信号は、第１ポート１３１、第２ポート１３２、第３ポート１３３及び第４ポート１３４でそれぞれ検知される。センサー信号は、情報項目選択のための信号と情報項目入力のための信号とを含む。ここで、情報項目選択とは、複数の情報項目、例えば、複数の文字キーから何れかの文字キーを選択することを意味し、情報入力とは、選択した文字キーをクリックする動作を意味する。
【００２７】
そして、受信されたセンサー信号を利用して、情報入力指装置１１０の着用の如何及び着用位置を認識する（Ｓ３３０）。ここで、指装置１１０の認識に使用できるセンサー信号は、情報項目選択のための信号や情報入力のための信号のうち、いかなる信号を使用してもよいが、以下での説明は、情報入力のための信号である加速度センサー１１６から出力される信号を利用する。また、認識情報とは、どのセンサーが指に着用されているかと、該当センサーが着用された指の位置情報とを言う。このような動作は、ポート変化認識、保存部１３５、及び出力値計算部１３６により行うことができ、それについての具体的な説明は後述する。
【００２８】
次いで、出力値伝送部１３７は、認識情報及びセンサー信号を信号処理部に伝送する（Ｓ３４０）。認識情報とは、前処理部で自動認識された情報を言い、センサー信号は、結局、情報入力指装置１１０の動き情報を意味する。
図４Ａは、図１Ａに示す信号処理部の構成の細部的なブロック図であり、図４Ｂは、図４Ａに示す前処理部で、空間型情報入力装置の構成を初期化するための動作過程を説明するフローチャートである。図４Ａ及び図４Ｂを参照して、信号処理処置の信号処理部での構成及び動作を説明する。
【００２９】
図４Ａに示す信号処理部１４０は、前処理部１３０から動き情報と自動認識情報とを受信し、受信された自動認識情報を利用して、着用された指装置を自動構成する指装置自動構成部１４１と、自動構成されたアルゴリズムによって受信された動き情報を処理して、動き特徴情報を抽出する動き情報処理部１４２とを備える。
以下、図４Ｂを参照して信号処理部１４０での動作を説明する。
【００３０】
まず、信号処理部１４０は、自身のハードウェア及びソフトウェアを初期化する（Ｓ４１０）。次いで、前処理部１３０から指装置の認識情報及びセンサー出力信号を受信すれば（Ｓ４２０）、受信した認識情報を利用して、着用していないセンサーに対するアルゴリズムを閉鎖し、それによりファームウェアを自動構成する（Ｓ４３０）。例えば、指装置の認識情報として第２、３及び４センサー１１２、１１３、１１４が着用されたという信号を受信すれば、第２、３及び４センサー１１２、１１３、１１４から受信した信号を処理する信号処理アルゴリズムをセットし、残りのアルゴリズムは動作できないように閉鎖する。
【００３１】
次いで、自動構成されたファームウェアを利用して、着用された指装置に対する信号処理アルゴリズムを行う（Ｓ４４０）。すなわち、セットされた第２、３及び４センサー１１２、１１３、１１４の信号処理アルゴリズムに、受信したセンサー出力信号を入力して、指装置による選択情報を計算するか、または入力動作に該当するかを判断する。例えば、指が何なる情報項目を選択するかを判断するために、指の位置を計算し、その計算された指の位置が何なるキーに該当するかを判断し、または情報入力のための信号値が所定の臨界値を超えるかを判断して、情報入力動作として見なしうるか否かなどを判断する。このように、選択情報の計算結果と入力動作如何の判断結果とが動き特徴情報となる。
【００３２】
それにより、処理結果として出た動き特徴情報と、直前に前処理部１３０で受信した自動認識情報とをデバイスドライバ１６０に伝送する（Ｓ４５０）。信号処理部１４０で、デバイスドライバ１６０に動き特徴情報を伝送する時には、例えば、ＵＳＢなどを通信手段として利用できる。
図５Ａは、図１Ａに示すデバイスドライバ１６０の構成の細部的なブロック図であり、図５Ｂは、図５Ａに示すデバイスドライバ１６０で、空間型情報入力装置の構成を初期化するための動作過程を説明するフローチャートである。図５Ａ及び図５Ｂを参照して、デバイスドライバ１６０での構成及び動作を説明する。
【００３３】
図５Ａに示すデバイスドライバ１６０は、信号処理部１４０から自動認識情報と動き特徴情報とを受信し、受信された自動認識情報及び基本設定情報を利用して、デバイスドライバ１６０を自動構成するデバイスドライバの自動構成／再構成部１６１と、デバイスドライバの自動構成／再構成部１６１とにより設定された設定情報、及び信号処理部１４０から受信した動き特徴情報をアプリケーション１７０に伝達する設定情報、及び動き特徴情報伝達部１６２を備える。
【００３４】
以下、図５Ｂを参照して、図５Ａに示すデバイスドライバ１６０での動作を説明する。
まず、デバイスドライバ１６０は、デバイスドライバ１６０及びアプリケーション１７０を初期化する（Ｓ５１０）。
その後、信号処理処置１２０から指装置の認識情報と動き特徴情報とを受信する（Ｓ５２０）。次いで、受信した指装置の認識情報を利用してデバイスドライバ１６０を自動構成する（Ｓ５３０）。この時、指装置の認識情報以外の他の選択情報は、設定されたデフォルト値として、デバイスドライバ１６０を自動構成する。例えば、他の選択情報とは、キーボードクワティーをどれにするかに関する入力シナリオの選択、ユーザー言語をどれにするかの選択情報などをいう。
【００３５】
次いで、信号処理処置１２０からの呼び出しがあれば（Ｓ５４０）、デバイスドライバの自動構成／再構成部１６１は、信号処理処置１２０から認識情報を獲得し（Ｓ５５０）、獲得した認識情報を利用してデバイスドライバ１６０を自動再構成する。例えば、初期においてユーザーが４本の指にセンサーをそれぞれ着用しているが、途中で１つのセンサーを指から取り外した場合に、新たに認識された指装置についての認識情報を信号処理処置１２０から受信して、それにより、デバイスドライバ１６０を自動再構成する。
【００３６】
アプリケーション１７０からの呼び出しがあれば（Ｓ５６０）、デバイスドライバの自動構成／再構成部１６１は、アプリケーション１７０から設定情報を獲得し（Ｓ５７０）、獲得した設定情報を利用してデバイスドライバ１６０を自動再構成する。最初にデバイスドライバ１６０を自動構成する場合には、入力シナリオやユーザー言語はデフォルト値に設定するが、以後にユーザーは、アプリケーション１７０が提供するユーザーインターフェース（図示せず）を通じて入力シナリオやユーザー言語を変更でき、そのような場合に、デバイスドライバの自動構成／再構成部１６１は、アプリケーション１７０から設定情報を獲得してデバイスドライバ１６０を自動再構成できる。
【００３７】
設定情報及び動き特徴情報伝達部１６２は、受信した動き特徴情報と設定情報とをアプリケーションに伝達する（Ｓ５８０）。
図６Ａは、図１Ａに示すアプリケーション１７０の構成の細部を示すブロック図であり、図６Ｂは、図６Ａに示すアプリケーション１７０で、空間型情報入力装置の構成を初期化するための動作過程を説明するフローチャートである。図６Ａ及び図６Ｂを参照して、アプリケーション１７０での構成及び動作を説明する。
【００３８】
図６Ａに示すアプリケーション１７０は、デバイスドライバ１６０から動き特徴情報と設定情報とを受信して、受信した設定情報によってソフトキーボードを出力装置１８０に表示するソフトキーボード表示部１７１と、受信した動き特徴情報を解釈する動き特徴情報解釈部１７２と、動き特徴情報解釈部１７２により解釈された情報によって情報を入力する情報入力部１７３と、ユーザーが空間型情報入力装置の構成を再構成できるようにするユーザー設定部１７４とを備える。
【００３９】
以下、図６Ｂを参照してアプリケーション１７０での動作を説明する。
まず、アプリケーション１７０は、デバイスドライバ１６０から設定情報及び動き特徴情報を受信する（Ｓ６１０）。
次いで、受信した設定情報によって、ソフトキーボード上に指位置を表示して出力装置１８０に伝送する（Ｓ６２０）。出力装置１８０に表示されるソフトキーボードの一例を図８に図示する。使われた言語は英語であり、入力シナリオは携帯電話タイプであり、３つのセンサーが連結されたことが分かる。
【００４０】
そして、受信した動き特徴情報を解釈する（Ｓ６３０）。前述したように、動き特徴情報は、選択情報の計算結果と入力動作の如何の判断結果とを含む。動き特徴情報解釈部１７２は、選択情報の計算結果を解釈して、選択された情報が何なるキーに該当するか、そして、入力動作如何の判断結果を解釈して入力として処理するか否かを解釈する。
次いで、情報入力部１７３は、解釈された結果による情報を入力として受け入れる（Ｓ６４０）。
【００４１】
図７は、既に構成された空間型情報入力装置の構成を再構成（再設定）する過程を説明するフローチャート７００である。このような再構成動作は、アプリケーションのユーザー設定部１７４により行われ得る。
まず、アプリケーション１７０は、ユーザーから空間型情報入力装置の手動設定要求を受信する（Ｓ７１０）。このようなユーザーによる手動設定は、図９に示すようなユーザーインターフェースを利用して行われ得る。すなわち、マイクロソフトウィンドウ等で提供される制御盤９００に、一般キーボード登録情報と同様に空間型キーボード登録情報９１０を提供する。
【００４２】
次いで、ユーザーが手動設定メニューのうち、特定センサーの使用許可及び取消を設定するか（Ｓ７２０）、入力シナリオを選択するか（Ｓ７３０）、使用言語を選択するか（Ｓ７４０）して設定を変更する要請を行う。すなわち、図９に示すように、ユーザーは、ユーザーインターフェースを利用してキーボードタイプを選択でき、キー配列を選択でき、使用する指を選択でき、また使用言語を選択できる。
【００４３】
このようなユーザーからの変更要請を受信したアプリケーション１７０は、デバイスドライバ１６０に設定情報を伝送し（Ｓ７５０）、デバイスドライバ１６０は、受信した設定情報を利用して自動再構成する（Ｓ７６０）。
以上の説明では、空間型情報入力装置の指装置１１０を自動認識して、その自動認識情報によって空間型情報入力装置を自動構成する、すなわち、装置構成を初期化するための空間型情報入力装置の各構成要素及び動作について説明した。以下では、このような空間型情報入力装置で指装置１１０を自動認識する役割を行う前処理部での具体的な動作を説明する。
【００４４】
図１０は、図１Ａに示す前処理部１３０での概略的な動作を表すフローチャート１０００である。
まず、前処理部１３０は、システムを初期化し（Ｓ１０１０）、指装置１１０からセンサー信号を獲得する（Ｓ１０２０）。このようなセンサー信号の獲得過程の具体的な動作は、図１１を参照して詳細に説明する。
【００４５】
次いで、獲得したセンサー信号のデューティ比を計算する（Ｓ１０３０）。そして、また、獲得したセンサー信号を利用して指装置１１０の着用の如何を認識する（Ｓ１０４０）。このようなデューティ比計算と指装置１１０の着用如何認識との過程の具体的な動作は、図１２を参照して詳細に説明する。
その後、認識情報が保存された識別因子及びデューティ比が計算された信号値を伝送する（Ｓ１０５０）。このような信号値伝送過程の具体的な動作は、図１３を参照して詳細に説明する。
【００４６】
以下、図１１を参照して、図１０に示す前処理部１３０での動作中にセンサー信号を獲得する過程を説明する。センサー信号の個数ほどポート値が存在でき、以下では、センサー信号とポート値とを状況によって混用して使用する。
指装置１１０の各センサー１１１、１１２、１１３、１１４から出力される現在時点のポート値を受信する（Ｓ１１１０）。このような現在時点のポート値は、所定時点が過ぎた後には、以前時点のポート値に保存される。
【００４７】
次いで、現在時点のポート値と直前時点のポート値とに変化があるかを判断する（Ｓ１１２０）。ポート値に変化があるというのは、その該当ポート信号でエッジが発生することを表す。
その後、ポート状態変数に、現在時点のポート値及び判断結果に変化のあるポートについての情報を保存する（Ｓ１１３０）。
【００４８】
そして、ポート状態変数に、前述のような情報を保存した現在時点のタイマー値をイベントタイム変数に保存する（Ｓ１１４０）。すなわち、このような現在時点のタイマー値は、エッジが発生した時間を表す。
このようなステップを所定回数繰り返して、所定個数のポート状態変数を獲得する。
図１２は、図１０に示す前処理部での動作中に獲得したセンサー信号のデューティ比を計算し、着用の如何を認識する過程を表すフローチャートである。
【００４９】
まず、各センサー別にエッジが生じた時間を３つずつ抽出できるかを判断する（Ｓ１２１０）。すなわち、各センサー別にエッジが生じた時間は、イベントタイム変数に保存されるため、各センサー別に３つイベントタイム変数が得られる場合には、このイベントタイム変数の値をｔｉｍｅ［０］、ｔｉｍｅ［１］、ｔｉｍｅ［２］に保存する。
判断の結果、３つずつ抽出できなければ、出力変数にエラー値を保存する（Ｓ１２４０）。
【００５０】
すなわち、エッジが生じた時間を３つずつ抽出できないということは、所定時間にエッジが発生した回数が３回未満であるということであり、これからセンサーが正常に動作しないと判断できる。したがって、エッジが生じた時間を３つ抽出できなければ、出力変数にエラー値を保存する。
そして、判断の結果、３つずつ抽出できれば、各センサー別に初期エッジ状態を保存する（Ｓ１２２０）。
【００５１】
次いで、イベントタイム変数を利用してスケール値を計算し、計算されたスケール値を出力変数に保存する（Ｓ１２３０）。
そして、出力変数に保存された値が最小閾値より小さければ、出力変数に最小閾値を保存し（Ｓ１２５０）、出力変数に保存された値が最大閾値より大きければ、出力変数に最大閾値を保存する（Ｓ１２６０）。
【００５２】
図１３は、図１０に示す前処理部１３０での動作中に信号値を伝送する過程を表すフローチャートである。
まず、エラー値が保存された出力変数をチェックして、信号なし変数に保存する（Ｓ１３１０）。このような信号なし変数は、センサー信号が正常に出力されないセンサーを表示する情報を有する。
【００５３】
その後、出力変数及び信号なし変数にある値を信号伝送する（Ｓ１３２０）。
図１４ないし図２０は、前処理部１３０で指装置１１０の着用の如何及び着用位置を認識する過程の具体的なアルゴリズムの一例である。
図１４を参照すれば、まず、システムを初期化する（Ｓ１４０１）。そして、インタラプトが発生すれば、Ａに進む（Ｓ１４０２）。
【００５４】
図１５Ａを参照すれば、まず、変数を初期化する（Ｓ１５０１）。すなわち、Ｔｒａｎｓｉｔｉｏｎ＿ＣｏｕｎｔｅｒとＩｎｐｕｔ＿Ｃｏｕｎｔｅｒとの値を０に初期化する。
次いで、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔに現在時点のポート値を入力し、Ｌａｓｔ＿Ｉｎｐｕｔに直前時点のポート値を入力する（Ｓ１５０２）。すなわち、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔに現在時点で、Ｎ（指に取り付けられたセンサーの個数、すなわち、クリックを発生させる信号の個数であり、本例で、Ｎは４であると仮定する）個のポートで捕捉された値を順に整列して保存するが、例えば、図１５Ｂに示すように、第１センサーＸ１、第２センサーＸ２、第３センサーＸ３、第４センサーＸ４からのポート値が、それぞれ１、０、１、０であれば、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔに００００ ０１０１を保存する。そして、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔの値をＬａｓｔ＿Ｉｎｐｕｔにそのまま移動させる。そして、タイマーを初期化する。
【００５５】
次いで、Ｔｒａｎｓｉｔｉｏｎ＿Ｃｏｕｎｔｅｒ値が閾値Ｎｔｃより小さいかを判断する（Ｓ１５０３）。Ｎｔｃは、例えば、６０に設定でき、これは、Ｓ１５０４ないしＳ１５１０のステップを６０回まで繰り返すことを意味する。Ｔｒａｎｓｉｔｉｏｎ＿Ｃｏｕｎｔｅｒ値が閾値Ｎｔｃより小さい場合には、Ｓ１５０４に進みつづけ、Ｔｒａｎｓｉｔｉｏｎ＿Ｃｏｕｎｔｅｒ値が閾値Ｎｔｃを超える場合には、Ｂに進む。
【００５６】
次いで、現在時点のポート値を捕捉してＣｕｒｒｅｎｔ＿Ｉｎｐｕｔに保存する（Ｓ１５０４）。
その後、現在時点の値と直前時点の値との変化有無を測定するために、信号組合わせを行う（Ｓ１５０５）。すなわち、図１５Ｃに示すように、Ｃｕｒｒｅｎｔ＿ＩｎｐｕｔとＬａｓｔ＿ＩｎｐｕｔとのＸＯＲ演算を行った値をＶＸＯＲ変数に保存する。例えば、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔに００００ ０１１１が保存されており、Ｌａｓｔ＿Ｉｎｐｕｔに００００ ０１０１が保存されている場合に、ＸＯＲ演算を行ってビットの変化がなければ、０に、ビットの変化があれば、１に演算結果を出力するため、第２センサーを表すビットに変化があることが分かり、したがって、ＶＸＯＲに増えた００００ ００１０が保存される。
【００５７】
次いで、ＶＸＯＲの値が０であるかどうかを判断する（Ｓ１５０６）。
ＶＸＯＲが０である場合には、現在時点のポート値と直前時点のポート値との比較結果、変化がないということであるため、どのようなセンサー信号でも（ライジングエッジでもフォーリングエッジでも関係なく）エッジが発生しなかったということであり、したがって、Ｓ１５１０に進んで、単に、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔの値をＬａｓｔ＿Ｉｎｐｕｔに移動させた後、Ｓ１５０３に進む。
【００５８】
ＶＸＯＲが０でない場合には変数を操作するが、Ｔｒａｎｓｉｔｉｏｎ＿Ｃｏｕｎｔｅｒは、１増加させ、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔ値をＮ回ビットレフトシフトさせた値にＶＸＯＲ値を足して、Ｐｏｒｔ＿Ｓｔａｔｕｓ［Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒ］に保存する（Ｓ１５０７）。すなわち、図１５Ｄに示すように、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔが００００ ０１１１であれば、これをＮ＝４回レフトシフトさせれば、０１１１ ００００になり、ここにＶＸＯＲ値００００ ００１０を足せば、Ｐｏｒｔ＿Ｓｔａｔｕｓ［Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒ］には０１１１ ００１０が保存される。８ビットから構成されたＰｏｒｔ＿Ｓｔａｔｕｓで、前の４ビットは、センサーの現在入力値を表し、後の４ビットは、エッジが発生したセンサーを表示する。すなわち、図１５ＤでＰｏｒｔ＿Ｓｔａｔｕｓは、現在時点のセンサー値［Ｘ１ Ｘ２ Ｘ３ Ｘ４］が１１１０であり、現在状態でエッジが発生したセンサーがＸ２ということを表示する。
【００５９】
そして、Ｅｖｅｎｔ＿Ｔｉｍｅ［Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒ］に現在時点のタイマー値を保存する。
次いで、Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒを１増加する（Ｓ１５０８）。
その後、Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒ値を閾値Ｎｉｃと比較して、閾値Ｎｉｃより大きいか否かを判別する（Ｓ１５０９）。例えば、Ｎｉｃは、２３に設定されうる。
【００６０】
Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒ値がＮｉｃより大きい場合には、Ｂに進み、Ｉｎｐｕｔ＿ＣｏｕｎｔｅｒがＮｉｃより大きくない場合には、Ｃｕｒｒｅｎｔ＿Ｉｎｐｕｔ値をＬａｓｔ＿Ｉｎｐｕｔに保存し（Ｓ１５１０）、Ｓ１５０３に進む。
そのように、図１５Ａの動作により、図１５Ｅに示すようなデータテーブルが得られる。すなわち、Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒ、現在時点のポート値を保存するＣｕｒｒｅｎｔ＿Ｉｎｐｕｔ、直前時点のポート値を保存するＬａｓｔ＿Ｉｎｐｕｔ、現在時点のポート値と直前時点のポート値との変化を表示するＶＸＯＲ、Ｔｒａｎｓｉｔｉｏｎ＿Ｃｏｕｎｔｅｒ、現在時点のポート値と変化のある（エッジが発生した）ポートについての情報とを表示するＰｏｒｔ＿Ｓｔａｔｕｓ、エッジが発生した時点での時間を保存するＥｖｅｎｔ＿Ｔｉｍｅデータを得る。例えば、Ｔｒａｎｓｉｔｉｏｎ＿Ｃｏｕｎｔｅｒが１２である現在時点で、ポート値は、１０１０であり、変化のあるセンサーは、第３センサーであり、その時のタイマー値は、４５０であることが分かる。
【００６１】
以下、図１６Ａを参照して、Ｂに進んで行われる動作過程を説明する。
Ｂから始まる動作は、Ａ過程により得られたデータ、すなわち、図１５Ｅに表示されたようなデータを利用して、正常動作していないセンサーを認識し、正常動作するセンサーに対しては、エッジが発生した時間、すなわち、タイマー値を所定個数獲得する。
まず、Ｂｉｔ＿Ｍａｓｋは、００００ ０００１に設定し、ｃｏｕｎｔは、０に設定する（Ｓ１６０１）。
【００６２】
次いで、ｃｏｕｎｔがＮより小さいかを判断する（Ｓ１６０２）。これは、以下のループが指に取り付けられた全てのセンサーの個数に対応して行われたかを判断する。
ｃｏｕｎｔ値がＮより小さい場合には、Ｓ１６０３に進み、ｃｏｕｎｔ値がＮより小さくない場合には、Ｆに進む。
次いで、Ｅｄｇｅ＿Ｃｏｕｎｔｅｒ値を０に設定し（Ｓ１６０３）、Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒ値を０に設定する（Ｓ１６０４）。
【００６３】
次いで、Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒ値がＩｎｐｕｔ＿Ｃｏｕｎｔｅｒ＋１値より小いかを判断し（Ｓ１６０５）、小さくない場合には、Ｄに進む。Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒは、Ｓ１６１２で１ずつ順次増加し、Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒには、例えば、２３が保存されている場合があるが、Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒ値がＩｎｐｕｔ＿Ｃｏｕｎｔｅｒ＋１値より小さくないということは、Ｓ１６１１でＥｄｇｅ＿Ｃｏｕｎｔｅｒが２を超えずに、Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒ値のみが増加し続けて、Ｉｎｐｕｔ＿Ｃｏｕｎｔｅｒ値を超えたということを意味し、これは、言い換えれば、所定時間内にエッジが２つ以上得られなかったということを意味する。したがって、これは、一定の時間以上、あるセンサーの信号によるエッジが発生していないということを意味するため、そのセンサーが正常動作を行っていないということを意味する。したがって、このような場合には、Ｄに進んで出力変数にエラー値を保存する。
【００６４】
そして、Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒ値がＩｎｐｕｔ＿Ｃｏｕｎｔｅｒ＋１値より小さい場合には、Ｐｏｒｔ＿Ｓｔａｔｕｓ［Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒ］とＢｉｔ＿ＭａｓｋとをＡＮＤ−ｂｉｔ演算した値が０であるかを判断する（Ｓ１６０６）。ここで、ＡＮＤ＿ｂｉｔは、ビット演算のためのＡＮＤを表現したものであって、図１６Ｂを参照すれば、１１１０ ０００１値を有するＰｏｒｔ＿Ｓｔａｔｕｓ［３］（図１５Ｅに表示されたデータを参照）と、００００ ０００１値を有するＢｉｔ＿ＭａｓｋとをＡＮＤ＿ｂｉｔすれば、結果１が出る。したがって、結果が０ではないため、Ｓ１６０７に進む。
【００６５】
次いで、Ｔｉｍｅ［Ｅｄｇｅ＿Ｃｏｕｎｔｅｒ］にＥｖｅｎｔ＿Ｔｉｍｅ［Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒ］値を保存し（Ｓ１６０７）、Ｅｄｇｅ＿Ｃｏｕｎｔｅｒ値が０であるかを判断する（Ｓ１６０８）。
Ｅｄｇｅ＿Ｃｏｕｎｔｅｒ値が０でがなければ、Ｅｄｇｅ＿Ｃｏｕｎｔｅｒを１増加させ（Ｓ１６１０）、Ｅｄｇｅ＿Ｃｏｕｎｔｅｒ値が０であれば、Ｉｎｉｔ＿Ｅｄｇｅ＿ＳｔａｔｕｓにＰｏｒｔ＿Ｓｔａｔｕｓ［Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒ］とＢｉｔ＿ＭａｓｋとをＮ回ビットレフトシフトした値を、ＡＮＤ＿ｂｉｔした結果を保存する（Ｓ１６０９）。例えば、図１６Ｃに示すように、１１１０ ｘｘｘｘ値を有するＰｏｒｔ＿Ｓｔａｔｕｓと、０００１ ００００値を有するＮビットレフトシフトＢｉｔ＿ＭａｓｋとをＡＮＤ＿ｂｉｔすれば、結果０が出て、この結果０をＩｎｉｔ＿Ｅｄｇｅ＿Ｓｔａｔｕｓに保存する。
【００６６】
次いで、Ｅｄｇｅ＿Ｃｏｕｎｔｅｒを１増加させる（Ｓ１６１０）。
その後、Ｅｄｇｅ＿Ｃｏｕｎｔｅｒが２より大きいかを判断する（Ｓ１６１１）。Ｅｄｇｅ＿Ｃｏｕｎｔｅｒ値を２を基準とすることは、センサー信号のデューティ比を計算するためであり、Ｅｄｇｅ＿Ｃｏｕｎｔｅｒ値が２になれば、デューティ比を計算できる数が満足されるため、Ｃに進んでデューティ比計算過程に入るためである。
【００６７】
Ｅｄｇｅ＿Ｃｏｕｎｔｅｒ値が２より大きい場合には、Ｃに進み、２より大きくない場合には、Ｐｏｒｔ＿Ｓｔａｔｕｓ＿Ｃｏｕｎｔｅｒを１増加させてから（Ｓ１６１２）、Ｓ１６０５に進む。
図１６Ａに示すような動作により、図１５Ｅに表示されたデータテーブルを利用して計算すれば、図１６Ｄに示すようなデータが得られる。すなわち、各センサーごとに、Ｉｎｉｔ＿Ｅｄｇｅ＿ＳｔａｔｕｓとＴｉｍｅ［０］、Ｔｉｍｅ［１］、Ｔｉｍｅ［２］とが得られる。第１センサーＸ１の１つのみを例に挙げれば、図１５Ｅで、Ｐｏｒｔ＿Ｓｔａｔｕｓで第１センサーについてのポート値が１になったのは、Ｔｒａｎｓｉｔｉｏｎ＿Ｃｏｕｎｔｅｒが３、７、１１である場合であり、この時、それぞれＥｖｅｎｔ＿Ｔｉｍｅ値は、１３０、２８０、４３０である。そして、第１センサーの初期エッジ状態は、Ｐｏｒｔ＿Ｓｔａｔｕｓ［３］の現在時点のセンサー値を見れば、０であることが分かる。このような情報が図１６Ｄに表示された。もちろん、これは、あらゆるセンサーが正常動作をすると仮定した場合である。
【００６８】
次いで、図１７を参照して、Ｃに進んで行われる動作を説明する。
まず、Ｉｎｉｔ＿Ｅｄｇｅ＿Ｓｔａｔｕｓが０であるかを判断した（Ｓ１７０１）後、センサー信号のデューティ比を計算する。すなわち、判断結果、０ではなければ、出力変数Ｏｕｔｐｕｔ［ｃｏｕｎｔ］にＳｃａｌｅ＿Ｆａｃｔｏｒ＊（Ｔｉｍｅ［１］−Ｔｉｍｅ［０］／Ｔｉｍｅ［２］−Ｔｉｍｅ［０］）を保存し（Ｓ１７０２）、判断結果、０であれば、出力変数Ｏｕｔｐｕｔ［ｃｏｕｎｔ］にＳｃａｌｅ＿Ｆａｃｔｏｒ＊（Ｔｉｍｅ［２］−Ｔｉｍｅ［１］／Ｔｉｍｅ［２］−Ｔｉｍｅ［０］）を保存する（Ｓ１７０３）。Ｓｃａｌｅ＿Ｆａｃｔｏｒは、信号伝送のためのものであって、例えば、計算された出力値を８ビット信号に伝送する場合に、出力変数の値は０〜２５５の値を有しうる。したがって、例えば、Ｓｃａｌｅ＿Ｆａｃｔｏｒは、２５５の値を有しうる。
【００６９】
その後、Ｏｕｔｐｕｔ［ｃｏｕｎｔ］がＭｉｎ＿Ｖａｌｕｅ（例えば、１）より小さいかを判断し（Ｓ１７０４）、小さい場合には、Ｏｕｔｐｕｔ［ｃｏｕｎｔ］にＭｉｎ＿Ｖａｌｕｅを保存し（Ｓ１７０５）、Ｓ１７０９に進む。
小さくない場合には、Ｓ１７０６に進んで、Ｏｕｔｐｕｔ［ｃｏｕｎｔ］がＭａｘ＿Ｖａｌｕｅ（例えば、２５５）より大きいかを判断し（Ｓ１７０６）、大きい場合には、Ｏｕｔｐｕｔ［ｃｏｕｎｔ］にＭａｘ＿Ｖａｌｕｅを保存し（Ｓ１７０７）、Ｓ１７０９に進む。
【００７０】
そして、Ｄでは、Ｏｕｔｐｕｔ［ｃｏｕｎｔ］にＶａｌｕｅ＿Ｓｏｍｅｔｈｉｎｇ＿Ｗｒｏｎｇを保存し（Ｓ１７０８）、Ｓ１７０９に進む。前述したようにデューティ比計算された出力変数の値を、最小値１から最大値２５５にするため、例えば、Ｖａｌｕｅ＿Ｓｏｍｅｔｈｉｎｇ＿Ｗｒｏｎｇは、使われていない値である０にすることができる。
Ｓ１７０９では、Ｂｉｔ＿Ｍａｓｋの値を１ビットレフトシフトしてＢｉｔ＿Ｍａｓｋに保存する。
【００７１】
その後、ｃｏｕｎｔを１増加させ（Ｓ１７１０）、Ｅに進む。
次いで、図１８Ａを参照して、Ｆに進んで行われる動作を説明する。
まず、Ｂｉｔ＿Ｍａｓｋを００００ ０００１に設定し、ｃｏｕｎｔを０に設定し、Ｎｏ＿Ｅｘｉｔ＿Ｓｉｇｎａｌｓを００００ ００００に設定する（Ｓ１８０１）。
次いで、ＣｏｕｎｔがＮより小さいかを判断する（Ｓ１８０２）。Ｎより大きい場合には、あらゆる処理が終了することを表すため、Ｓ１８０７に進む。
【００７２】
Ｎより小さい場合には、ｏｕｔｐｕｔ［ｃｏｕｎｔ］がＶａｌｕｅ＿Ｓｏｍｅｔｈｉｎｇ＿Ｗｒｏｎｇ値を有しているかを判断する（Ｓ１８０３）。
ｏｕｔｐｕｔ［ｃｏｕｎｔ］がＶａｌｕｅ＿Ｓｏｍｅｔｈｉｎｇ＿Ｗｒｏｎｇ値を有していない場合には、Ｓ１８０５に進んでｃｏｕｎｔを１増加させる。
そして、ｏｕｔｐｕｔ［ｃｏｕｎｔ］がＶａｌｕｅ＿Ｓｏｍｅｔｈｉｎｇ＿Ｗｒｏｎｇ値を有している場合には、Ｎｏ＿Ｅｘｉｓｔ＿Ｓｉｇｎａｌｓ（存在する信号の個数を表す変数）に、Ｎｏ＿Ｅｘｉｓｔ＿ＳｉｇｎａｌｓとＢｉｔ＿Ｍａｓｋ値とを足した値を保存する（Ｓ１８０４）。例えば、図１８Ｂに示すように、、００００ ００００値を有するＮｏ＿Ｅｘｉｓｔ＿Ｓｉｇｎａｌｓに、００００ ０００１値を有するＢｉｔ＿Ｍａｓｋ値を足せば、Ｎｏ＿Ｅｘｉｓｔ＿Ｓｉｇｎａｌｓには００００ ０００１が保存される。これは、第１センサーが故障または着用されていないことを表す。
【００７３】
次いで、Ｂｉｔ＿Ｍａｓｋを１ビットレフトシフトした後（Ｓ１８０６）、Ｓ１８０２に進む。
Ｓ１８０７では、ｏｕｔｐｕｔ［１］、・・・ｏｕｔｐｕｔ［Ｎ］、Ｎｏ＿Ｅｘｉｓｔ＿Ｓｉｇｎａｌｓの信号を信号処理部１４０に伝送する。例えば、ｏｕｔｐｕｔ［１］、ｏｕｔｐｕｔ［２］、Ｎｏ＿Ｅｘｉｓｔ＿Ｓｉｇｎａｌｓ＝［００００ １１００］を出力すれば、第１センサーと第２センサーとは着用されていないことを表し、第３センサーと第４センサーとは着用されたことを表す。
【００７４】
このようなアルゴリズム過程により、前処理部では着用されていないセンサー、着用されたセンサーの位置を認識できる。
このような本発明の構成によれば、空間型情報入力装置の構成を自動設定、または手動設定により適応的に構成でき、更にユーザーにやさしい空間型情報入力装置を実現できる。
【図面の簡単な説明】
【００７５】
【図１Ａ】本発明に係る空間型情報入力装置の一例の概略的なブロック図である。
【図１Ｂ】図１Ａに示す指装置に付着されたセンシング部の一例を図示する図面である。
【図２】本発明によって空間型情報入力装置の構成を初期化する全体的な過程を示すフローチャートである。
【図３Ａ】図１Ａに示す前処理部の構成の細部的なブロック図である。
【図３Ｂ】図３Ａに示す前処理部で。空間型情報入力装置の構成を初期化するための動作過程を説明するフローチャートである。
【図４Ａ】図１Ａに示す信号処理部の構成の細部的なブロック図である。
【図４Ｂ】図４Ａに示す信号処理部で、空間型情報入力装置の構成を初期化するための動作過程を説明するフローチャートである。
【図５Ａ】図１Ａに示すデバイスドライバの構成の細部的なブロック図である。
【図５Ｂ】図５Ａに示すデバイスドライバで、空間型情報入力装置の構成を初期化するための動作過程を説明するフローチャートである。
【図６Ａ】図１Ａに示すアプリケーションの構成の細部的なブロック図である。
【図６Ｂ】図６Ａに示すアプリケーションで、空間型情報入力装置の構成を初期化するための動作過程を説明するフローチャートである。
【図７】図６Ａに示すアプリケーションで、空間型情報入力装置を再構成するための過程を説明するためのフローチャートである。
【図８】図６Ａに示すアプリケーションで、出力部にするソフトキーボードの一例を示す図面である。
【図９】図６Ａに示すアプリケーションで、空間型情報入力装置を再構成するためのユーザーインターフェースの一例を示す図面である。
【図１０】図３Ａに示す前処理部で行われる前処理過程の細部的なフローチャートである。
【図１１】図１０に示すセンサー信号獲得過程の細部的なフローチャートである。
【図１２】図１０に示すデューティ比を計算し、着用の如何を認識する過程の細部的なフローチャートである。
【図１３】図１０に示す信号値伝送過程の細部的なフローチャートである。
【図１４】図１０に示す前処理過程の具体的なアルゴリズムの初期過程の細部的なフローチャートである。
【図１５Ａ】図１１に示すセンサー信号獲得過程の具体的なアルゴリズムの細部的なフローチャートである。
【図１５Ｂ】図１５ＡでＣｕｒｒｅｎｔ＿ＩｎｐｕｔとＬａｓｔ＿Ｉｎｐｕｔ値を得る過程を説明するための概念図である。
【図１５Ｃ】図１５Ａで、現在時点の値と以前時点の値との変化有無を示すＶＸＯＲを得る過程を説明するための概念図である。
【図１５Ｄ】図１５Ａで、Ｐｏｒｔ＿Ｓｔａｔｕｓを得る過程を説明するための概念図である。
【図１５Ｅ】図１５Ａで、センサー信号を獲得してから得られるデータテーブルを示す図面である。
【図１６Ａ】図１２に示す着用如何を認識する過程の具体的なアルゴリズムの細部的なフローチャートである。
【図１６Ｂ】図１６Ａで、Ｐｏｒｔ＿ＳｔａｔｕｓとＢｉｔ＿ＭａｓｋとをＡｎｄ−Ｂｉｔ演算する過程を説明するための概念図である。
【図１６Ｃ】図１６Ａで、Ｉｎｉｔ＿Ｅｄｇｅ＿Ｓｔａｔｕｓを得る過程を説明するための概念図である。
【図１６Ｄ】図１６Ａで、Ｉｎｉｔ＿Ｅｄｇｅ＿ＳｔａｔｕｓとＴｉｍｅ［］とを獲得してから得られるデータテーブルを示す図面である。
【図１７】図１２に示すデューティ比を計算する過程の具体的なアルゴリズムの細部的なフローチャートである。
【図１８Ａ】図１３に示す信号値伝送過程の具体的なアルゴリズムの細部的なフローチャートである。
【図１８Ｂ】図１８Ａで、Ｎｏ＿Ｅｘｉｓｔ＿Ｓｉｇｎａｌｓを得る過程を説明するための概念図である。
【図１９】指装置に取り付けられたセンサーＸ１、Ｘ２、Ｘ３、Ｘ４が何れも正常動作する時のセンサー出力信号を示す図面である。
【図２０】指装置に取り付けられたセンサーＸ１が正常動作しない時のセンサー出力信号を示す図面である。
【図１Ａ】
0004638242.tif 000002
【図１Ｂ】
0004638242.tif 000003
【図２】
0004638242.tif 000004
【図３Ａ】
0004638242.tif 000005
【図３Ｂ】
0004638242.tif 000006
【図４Ａ】
0004638242.tif 000007
【図４Ｂ】
0004638242.tif 000008
【図５Ａ】
0004638242.tif 000009
【図５Ｂ】
0004638242.tif 000010
【図６Ａ】
0004638242.tif 000011
【図６Ｂ】
0004638242.tif 000012
【図７】
0004638242.tif 000013
【図８】
0004638242.tif 000014
【図９】
0004638242.tif 000015
【図１０】
0004638242.tif 000016
【図１１】
0004638242.tif 000017
【図１２】
0004638242.tif 000018
【図１３】
0004638242.tif 000019
【図１４】
0004638242.tif 000020
【図１５Ａ】
0004638242.tif 000021
【図１５Ｂ】
0004638242.tif 000022
【図１５Ｃ】
0004638242.tif 000023
【図１５Ｄ】
0004638242.tif 000024
【図１５Ｅ】
0004638242.tif 000025
【図１６Ａ】
0004638242.tif 000026
【図１６Ｂ】
0004638242.tif 000027
【図１６Ｃ】
0004638242.tif 000028
【図１６Ｄ】
0004638242.tif 000029
【図１７】
0004638242.tif 000030
【図１８Ａ】
0004638242.tif 000031
【図１８Ｂ】
0004638242.tif 000032
【図１９】
0004638242.tif 000033
【図２０】
0004638242.tif 000034