(57)【特許請求の範囲】
【請求項１】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、
前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、
前記本体の動きを検出する動き検出手段と、
前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する第１の演算モードと前記第２の操作形態に対応する第２の演算モードとを選択的に切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備し、
前記演算手段は、前記本体の動きに対応した速度関連値を算出し、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定された第１のゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、
前記第１の演算モードが用いられる場合及び前記第２の演算モードを用いられる場合に応じて前記第１のゲインプロファイルが異なり、
前記演算手段は、前記第１の演算モードでは、前記速度関連値が第１の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが減るように該ゲインを制御し、前記速度関連値が前記第１の閾値を超えて前記第１の閾値より大きい第２の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが増えるように該ゲインを制御する
入力装置。
【請求項２】
請求項１に記載の入力装置であって、
前記速度関連値が０以上で前記第１の閾値より小さい第３の閾値以下の範囲にある場合、前記演算手段は、前記ゲインによる減衰機能を停止させる
入力装置。
【請求項３】
請求項１または２に記載の入力装置であって、
前記演算手段は、時間的に連続する所定数の複数の前記速度関連値を記憶可能な記憶手段と、前記記憶された所定数の複数の速度関連値の符号が同じであるか否かを判定する判定手段とをさらに具備し、前記所定数の複数の速度関連値の符号が同じである場合、前記ゲインによる減衰機能を停止させるか、または、弱めるように前記ゲインを制御する
入力装置。
【請求項４】
請求項１に記載の入力装置であって、
前記動き検出手段は、前記本体の動きに応じた加速度値を検出する加速度検出手段を有し、
前記演算手段は、前記検出された加速度値に基き前記ゲインを制御する
入力装置。
【請求項５】
請求項４に記載の入力装置であって、
前記演算手段は、前記加速度値が増えるにしたがって前記ゲインが増えるように、また、前記加速度値が減るにしたがって前記ゲインが減るように、当該ゲインを制御する
入力装置。
【請求項６】
請求項１に記載の入力装置であって、
前記第１の操作形態は、ユーザが空間内で前記本体を動かすことで前記画面上の所定の位置をポインティングする操作形態である
入力装置。
【請求項７】
請求項１に記載の入力装置であって、
前記第２の操作形態は、手書き入力の操作形態である
入力装置。
【請求項８】
請求項１に記載の入力装置であって、
前記演算手段は、前記第１の演算モードを用いる場合及び前記第２の演算モードを用いる場合の両方で、前記算出された速度関連値に、前記速度関連値に応じて設定された第２のゲインプロファイルのゲインを乗じることで前記対応移動値を算出する
入力装置。
【請求項９】
請求項８に記載の入力装置であって、
前記演算手段は、前記第１の演算モードでは、前記算出された速度関連値のうち、第３の閾値から前記第３の閾値より大きい第４の閾値までの第１の範囲では、前記第２のゲインプロファイルのゲインを可変に制御し、前記算出された速度関連値が前記第４の閾値を超える第２の範囲では、前記第２のゲインプロファイルのゲインを一定に制御する
入力装置。
【請求項１０】
請求項９に記載の入力装置であって、
前記演算手段は、前記第１の範囲では、前記速度関連値が増えるにしたがって、前記第２のゲインプロファイルのゲインが増えるように、該第２のゲインプロファイルのゲインを制御する
入力装置。
【請求項１１】
請求項１に記載の入力装置であって、
前記操作形態検出手段は、前記本体に設けられたメカニカルスイッチである
入力装置。
【請求項１２】
請求項７に記載の入力装置であって、
前記演算手段は、前記画面上の第１の軸に沿う第１の対応移動値及び前記第１の軸とは異なる第２の軸に沿う第２の対応移動値を、前記対応移動値として算出し、
前記動き検出手段は、前記第１の軸に対応する前記本体の第１の方向の第１の加速度値、及び、前記第２の軸に対応する、前記第１の方向とは異なる第２の方向の第２の加速度値を検出する加速度センサを有し、
前記操作形態検出手段は、前記検出された前記第１の加速度値及び前記第２の加速度値の両方の絶対値が閾値以下となった場合、前記第１の操作形態から前記手書き入力操作の操作形態に切り替えられたことを検出する
入力装置。
【請求項１３】
請求項７に記載の入力装置であって、
前記演算手段は、前記画面上の第１の軸に沿う第１の対応移動値及び前記第１の軸とは異なる第２の軸に沿う第２の対応移動値を、前記対応移動値として算出し、
前記動き検出手段は、前記第１の軸に対応する前記本体の第１の方向の第１の加速度値、前記第２の軸に対応する前記本体の前記第１の方向とは異なる第２の方向の第２の加速度値、及び、前記第１及び前記第２の方向の両方と異なる、前記本体の第３の方向の第３の加速度値を検出する加速度センサを有し、
前記操作形態検出手段は、前記検出された第３の加速度値の絶対値が閾値を超えた場合に、前記第１の操作形態から前記手書き入力操作の操作形態に切り替えられたことを検出する
入力装置。
【請求項１４】
請求項１に記載の入力装置であって、
前記本体は、エンターコードを入力するためにユーザに押されるエンターボタンを有し、
前記操作形態検出手段は、前記エンターボタンが押されて前記エンターコードが入力された場合に、前記第１の操作形態から前記第２の操作形態である手書き入力操作の操作形態に切り替えられたことを検出する
入力装置。
【請求項１５】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きに対応した速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値の情報に基づき、前記画面上の前記ポインタの動きを制御する制御装置であって、
前記速度関連値の情報を受信する受信手段と、
前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する第１の演算モードと前記第２の操作形態に対応する第２の演算モードとを切り替えて、前記受信された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備し、
前記演算手段は、前記受信された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、
前記第１の演算モードが用いられる場合及び前記第２の演算モードを用いられる場合に応じて前記ゲインプロファイルが異なり、
前記演算手段は、前記第１の演算モードでは、前記速度関連値が第１の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが減るように該ゲインを制御し、前記速度関連値が前記第１の閾値を超えて前記第１の閾値より大きい第２の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが増えるように該ゲインを制御する
制御装置。
【請求項１６】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記検出された検出値を出力する出力手段とを有する入力装置から出力された、前記検出値の情報に基づき、前記画面上の前記ポインタの動きを制御する制御装置であって、
前記検出値の情報を受信する受信手段と、
前記受信された検出値に基づき、前記本体の動きに対応した速度関連値を算出し、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する第１の演算モードと前記第２の操作形態に対応する第２の演算モードとを切り替えて、前記算出された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備し、
前記演算手段は、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、
前記第１の演算モードが用いられる場合及び前記第２の演算モードを用いられる場合に応じて前記ゲインプロファイルが異なり、
前記演算手段は、前記第１の演算モードでは、前記速度関連値が第１の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが減るように該ゲインを制御し、前記速度関連値が前記第１の閾値を超えて前記第１の閾値より大きい第２の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが増えるように該ゲインを制御する
制御装置。
【請求項１７】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きに対応した速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値の情報に基づき、前記画面上の前記ポインタの動きを制御する制御装置であって、
前記速度関連値の情報を受信する受信手段と、
前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、
前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する前記第１の演算モードと前記第２の操作形態に対応する前記第２の演算モードとを切り替えて、前記受信された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備し、
前記演算手段は、前記受信された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、
前記第１の演算モードが用いられる場合及び前記第２の演算モードを用いられる場合に応じて前記ゲインプロファイルが異なり、
前記演算手段は、前記第１の演算モードでは、前記速度関連値が第１の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが減るように該ゲインを制御し、前記速度関連値が前記第１の閾値を超えて前記第１の閾値より大きい第２の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが増えるように該ゲインを制御する
制御装置。
【請求項１８】
請求項１５から１７のうちいずれか１項に記載の制御装置であって、
前記速度関連値が０以上で前記第１の閾値より小さい第３の閾値以下の範囲にある場合、前記演算手段は、前記ゲインによる減衰機能を停止させる
制御装置。
【請求項１９】
請求項１５から１８のうちいずれか１項に記載の制御装置であって、
前記演算手段は、時間的に連続する所定数の複数の前記速度関連値を記憶可能な記憶手段と、前記記憶された所定数の複数の速度関連値の符号が同じであるか否かを判定する判定手段とをさらに具備し、前記所定数の複数の速度関連値の符号が同じである場合、前記ゲインによる減衰機能を停止させるか、または、弱めるように前記ゲインを制御する
制御装置。
【請求項２０】
入力装置と、制御装置とを具備する制御システムであって、
前記入力装置は、
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、
前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、
前記本体の動きを検出する動き検出手段と、
前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する第１の演算モードと前記第２の操作形態に対応する第２の演算モードとを切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段と、
前記算出された対応移動値の情報を出力する出力手段とを有し、
前記演算手段は、前記本体の動きに対応した速度関連値を算出し、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、
前記第１の演算モードが用いられる場合及び前記第２の演算モードを用いられる場合に応じて前記ゲインプロファイルが異なり、
前記演算手段は、前記第１の演算モードでは、前記速度関連値が第１の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが減るように該ゲインを制御し、前記速度関連値が前記第１の閾値を超えて前記第１の閾値より大きい第２の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが増えるように該ゲインを制御し、
前記制御装置は、
前記出力された対応移動値の情報を受信する受信手段と、
前記受信された対応移動値に応じて、前記画面上での前記ポインタの座標値を生成する座標値生成手段とを有する
制御システム。
【請求項２１】
入力装置と制御装置とを具備する制御システムにおける前記入力装置が行う制御方法であって、
前記入力装置の本体の動きを検出するステップと、
前記本体の画面上のポインタを用いて前記画面上の所定の位置をユーザによりポインティングされる操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態のうち、前記本体の操作形態がいずれであるかを検出するステップと、
前記検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する第１の演算モードと前記第２の操作形態に対応する第２の演算モードとを切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出するステップとを具備し、
前記対応移動値を算出するステップでは、前記本体の動きに対応した速度関連値を算出し、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、
前記第１の演算モードが用いられる場合及び前記第２の演算モードを用いられる場合に応じて前記ゲインプロファイルが異なり、
前記第１の演算モードでは、前記速度関連値が第１の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが減るように該ゲインを制御し、前記速度関連値が前記第１の閾値を超えて前記第１の閾値より大きい第２の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが増えるように該ゲインを制御する
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩ（Graphical User Interface）を操作するための入力装置、その入力装置から出力された情報に応じてＧＵＩを制御する制御装置、これらの装置を含む制御システム及び制御方法に関する。
【背景技術】
【０００２】
ＰＣ（Personal Computer）で普及しているＧＵＩのコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。ＧＵＩは、従来のＰＣのＨＩ（Human Interface）にとどまらず、例えばＴＶを画像媒体としてリビングルーム等で使用されるＡＶ機器やゲーム機のインターフェースとして使用され始めている。このようなＧＵＩのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている（例えば、特許文献１、２参照）。
【０００３】
このようなポインティングデバイスは空間で操作されるので、手ぶれが問題となる。手ぶれを補正するため、ユーザの操作の動きを検出するセンサの出力信号について、その手ぶれに相当する周波数を帯域制限器で除去する、という手段がある（例えば、特許文献３参照）。特許文献３では、その帯域制限器により、例えば０．５〜１５Ｈｚの周波数が除去される例が記載されている。
【０００４】
ポインティングデバイスの操作方法は他にもある。例えばユーザがペンを握るようにポインティングデバイス（ペン型入力装置）を握り、そのペン型入力装置を動かすことで、文字入力の操作を行う例が開示されている（例えば特許文献３参照。）。
【０００５】
【特許文献１】特開２００１−５６７４３号公報
【特許文献２】特許第３７４８４８３号公報
【特許文献３】特許第３５０６８７８号公報（段落[００６０]、[００６２]）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このように、ポインティングデバイスの操作形態は様々である。したがって、それらの操作形態に応じて、ユーザが操作しやすいと感じる、ポインティングデバイスの速度と画面上のポインタの速度と関係があると考えられる。
【０００７】
以上のような事情に鑑み、本発明の目的は、ポインティングデバイス等の入力装置の操作形態に合った、操作しやすい入力装置、制御装置、制御システム及び制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一形態に係る入力装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する前記第１の演算モードと前記第２の操作形態に対応する前記第２の演算モードとを選択的に切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備する。
【００１０】
演算手段は、第１の操作形態及び第２の操作形態の操作形態に応じた演算モードを用いて、対応移動値を算出するので、第１及び第２の操作形態に合致した操作感が得られる。
【００１１】
対応移動値とは、ポインタを画面上で動かすための速度値、加速度値または移動量である。
【００１２】
前記第１の操作形態は、ユーザが空間内で前記本体を動かすことで前記画面上の所定の位置をポインティングする操作形態であってもよい。
【００１３】
第２の操作形態とは、例えばユーザが本体を動かすことによる手書き入力の操作形態である。手書き入力操作では、例えば文字、図形、記号、または符号等が入力される。
【００１４】
前記演算手段は、前記本体の動きに対応した速度関連値を算出し、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定された第１のゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、前記第１の演算モードが用いられる場合及び前記第２の演算モードを用いられる場合に応じて前記第１のゲインプロファイルが異なってもよい。
【００１５】
演算手段は、所定周波数の信号の出力値を減衰させるので、ゲインは１未満の値となる。所定の周波数範囲とは、手ぶれに相当する周波数の範囲である。本体に手ぶれ等の振動が発生しても、ユーザは画面上におけるポインタの精密なポインティング操作が可能となる。また、入力装置の動きに応じた適切なゲインに制御されるので、ユーザは、例えば減衰機能が持つ特性である位相遅れを感じることなく、入力装置を操作することができる。
【００１６】
速度関連値とは、速度値または角速度値である。
【００１７】
動き検出手段が、加速度センサ及び角速度センサのうち少なくとも一方を含んでいてもよい。動き検出手段が加速度センサを含む場合、その加速度センサにより得られる本体の加速度値に基づき、速度関連値としての速度値を算出してもよい。動き検出手段が角速度センサを含む場合、その角速度センサにより得られる本体の角速度値に基く演算により、または、角速度値及び速度値に関するルックアップテーブルにより、メモリ等に記憶された速度値を読み出せばよい。
【００１８】
前記演算手段は、前記第１の演算モードでは、前記速度関連値が第１の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが徐々に減るように該ゲインを制御し、前記速度関連値が前記第１の閾値を超えて前記第１の閾値より大きい第２の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが徐々に増えるように該ゲインを制御してもよい。手ぶれが起こりやすい第１の閾値以下の速度関連値の範囲内において、速度関連値がゼロに近い値から第１の閾値までは、速度関連値が増えるほど手ぶれ量が多くなると考えられる。したがって、この範囲では、速度関連値が増えるほどゲインが徐々に減ることにより、ユーザの違和感をなくすことができる。また、第１の閾値を超えて速度関連値が増えるほど、手ぶれ量が少なくなると考えられる。したがって、速度関連値が第１の閾値を超えて第２の閾値に達するまでは、ゲインが徐々に増えることで、ユーザの違和感をなくすことができる。
【００１９】
「徐々に」とは、「実質的に連続的に」、「段階的に」、またはこれらの組み合わせを含む意味である。
【００２０】
前記演算手段は、時間的に連続する所定数の複数の前記速度関連値を記憶可能な記憶手段と、前記記憶された所定数の複数の速度関連値の符号が同じであるか否かを判定する判定手段とをさらに具備し、前記所定数の複数の速度関連値の符号が同じである場合、前記出力手段による減衰機能を停止させるか、または、弱めるように前記ゲインを制御してもよい。
【００２１】
前記動き検出手段は、前記本体の動きに応じた加速度値を検出する加速度検出手段を有し、前記演算手段は、前記検出された加速度値に基き前記ゲインを制御してもよい。
【００２２】
前記演算手段は、前記本体の動きに対応した速度関連値を算出し、前記第１の演算モードを用いる場合及び前記第２の演算モードを用いる場合の両方で、前記出力された速度関連値に、前記速度関連値に応じて設定された第２のゲインプロファイルのゲインを乗じることで前記対応移動値を算出し、前記第１の演算モードが用いられる場合及び前記第２の演算モードを用いられる場合に応じて前記第２のゲインプロファイルが異なっていてもよい。第２のゲインプロファイルは、速度関連値に応じて設定されている点は、第１のゲインプロファイルと同じであるが、第１のゲインプロファイルのように所定の周波数の出力値を対象とするものではない。
【００２３】
前記演算手段は、前記第１の演算モードでは、前記出力された速度関連値のうち、第１の閾値から前記第１の閾値より大きい第２の閾値までの第１の範囲では、前記第２のゲインプロファイルのゲインを可変に制御し、前記出力された速度関連値が前記第２の閾値を超える第２の範囲では、前記第２のゲインプロファイルのゲインを一定に制御してもよい。第１の閾値は、ゼロに設定されてもよいし、ゼロより大きい値に設定されてもよい。
【００２４】
前記演算手段は、前記第１の範囲では、前記速度関連値が増えるにしたがって、前記第２のゲインプロファイルのゲインが増えるように、該第２のゲインプロファイルのゲインを制御してもよい。
【００２５】
前記演算手段は、前記算出された速度関連値がゼロから前記第１の閾値までの第３の範囲では、前記ゲインを一定に制御してもよい。これにより、本体の動き始め（本体が動き出す瞬間）の動作に応じて、ポインタの動きがリニアになるので、ポインタはスムーズに動き出す。
【００２６】
前記操作形態検出手段は、前記本体に設けられたメカニカルスイッチであってもよい。あるいは、前記操作形態検出手段が制御装置に設けられる場合、当該操作形態検出手段は、第１の領域と第２の領域とを含む画面データを出力する手段と、前記ポインタが前記第１の領域内にあるとき前記本体が前記第１の操作形態で操作されると判定し、前記ポインタが前記第２の領域内にあるとき前記本体が前記第２の操作形態で操作されると判定する手段とを有していてもよい。
【００２７】
前記演算手段は、前記画面上の第１の軸に沿う第１の対応移動値及び前記第１の軸とは異なる第２の軸に沿う第２の対応移動値を、前記対応移動値として算出し、前記動き検出手段は、前記第１の軸に対応する前記本体の第１の方向の第１の加速度値、及び、前記第２の軸に対応する、前記第１の方向とは異なる第２の方向の第２の加速度値を検出する加速度センサを有し、前記操作形態検出手段は、前記検出された前記第１の加速度値及び前記第２の加速度値の両方の絶対値が閾値以下となった場合、前記第１の操作形態から前記手書き入力操作の操作形態に切り替えられたことを検出してもよい。つまり、本体の姿勢変化により、第１の操作形態及び第２の操作形態が切り替えられる。
【００２８】
閾値判定の対象となる値は、第１の加速度値及び第２の加速度値の両方の絶対値に限られない。例えば、それは第１の加速度値及び第２の加速度値の合成ベクトル量、その他の演算値であってもよい。
【００２９】
前記演算手段は、前記画面上の第１の軸に沿う第１の対応移動値及び前記第１の軸とは異なる第２の軸に沿う第２の対応移動値を、前記対応移動値として算出し、前記動き検出手段は、前記第１の軸に対応する前記本体の第１の方向の第１の加速度値、前記第２の軸に対応する前記本体の前記第１の方向とは異なる第２の方向の第２の加速度値、及び、前記第１及び前記第２の方向の両方と異なる、前記本体の第３の方向の第３の加速度値を検出する加速度センサを有し、前記操作形態検出手段は、前記検出された第３の加速度値の絶対値が閾値を超えた場合に、前記第１の操作形態から前記第２の操作形態である手書き入力操作の操作形態に切り替えられたことを検出してもよい。
【００３０】
前記本体は、エンターコードを入力するためにユーザに押されるエンターボタンを有し、前記操作形態検出手段は、前記エンターボタンが押されて前記エンターコードが入力された場合に、前記第１の操作形態から前記手書き入力操作の操作形態に切り替えられたことを検出してもよい。手書き入力操作は、ドラッグ操作により行われる場合が多い。したがって、ドラッグ操作があった場合に切り替えが検出されれば、切り替えの検出のための別途のハードウェア等を必要としない。
【００３１】
本発明の一形態に係る制御装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値の情報に基づき、前記画面上の前記ポインタの動きを制御する。この場合、前記制御装置は、前記速度関連値の情報を受信する受信手段と、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する前記第１の演算モードと前記第２の操作形態に対応する前記第２の演算モードとを切り替えて、前記受信された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備する。
【００３２】
特許請求の範囲において、「〜であって、」という前提部分は、本発明に係る形態の内容を明確化するために記載されたものであり、本発明者及び本出願人が当該前提部分について公知の技術を意識しているわけではない。以下、同様である。
【００３３】
他の形態に係る制御装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記検出された検出値を出力する出力手段とを有する入力装置から出力された、前記検出値の情報に基づき、前記画面上の前記ポインタの動きを制御する。この場合、前記制御装置は、前記検出値の情報を受信する受信手段と、前記受信された検出値に基づき、前記本体の動きの速度に関連する速度関連値を算出し、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する前記第１の演算モードと前記第２の操作形態に対応する前記第２の演算モードとを切り替えて、前記算出された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備する。
【００３４】
さらに別の形態に係る制御装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値の情報に基づき、前記画面上の前記ポインタの動きを制御する。この場合、前記制御装置は、前記速度関連値の情報を受信する受信手段と、前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する前記第１の演算モードと前記第２の操作形態に対応する前記第２の演算モードとを切り替えて、前記受信された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備する。
【００３５】
本発明の一形態に係る制御システムは、入力装置と制御装置とを具備する。前記入力装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第１の操作形態及び前記第２の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する前記第１の演算モードと前記第２の操作形態に対応する前記第２の演算モードとを切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段と、前記算出された対応移動値の情報を出力する出力手段とを有する。前記制御装置は、前記出力された対応移動値の情報を受信する受信手段と、前記受信された対応移動値に応じて、前記画面上での前記ポインタの座標値を生成する座標値生成手段とを有する。
【００３６】
本発明の一形態に係る制御方法は、入力装置の本体の動きを検出し、前記本体の、画面上のポインタを用いて前記画面上の所定の位置をユーザによりポインティングされる操作形態である第１の操作形態、及び、第１の操作形態とは異なる第２の操作形態のうち、前記本体の操作形態がいずれであるかを検出し、前記検出された前記本体の操作形態に応じて、前記第１の操作形態に対応する前記第１の演算モードと前記第２の操作形態に対応する前記第２の演算モードとを切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する。
【００３７】
本発明の他の形態に係る入力装置は、本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段と、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させる減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力する出力手段と、複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶する記憶手段と、前記複数の識別情報のうち１つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する出力制御手段とを具備する。
【００３８】
これにより、複数のユーザが入力装置を使う場合に、各ユーザが満足するような操作感を得ることができる。
【００３９】
前記記憶手段は、前記複数の識別情報のうち少なくとも１つの識別情報を、前記本体の動きであるジェスチャー動作の情報として記憶してもよい。
【００４０】
さらに別の他の形態に係る制御装置は、本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値である出力値に基づき、画面上のポインタの動きを制御する。この場合、制御装置は、前記出力された出力値を受信する受信手段と、前記受信された前記速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力する出力手段と、複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶する記憶手段と、前記複数の識別情報のうち１つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する出力制御手段とを具備する。
【００４１】
他の形態に係る制御方法は、入力装置の本体の動きを検出し、前記検出された前記本体の動きの速度に関連する速度関連値を算出し、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力手段により出力し、複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶し、前記複数の識別情報のうち１つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する。
【００４２】
さらに別の形態に係る入力装置は、本体と、前記本体の動きを検出する動き検出手段と、ユーザにより操作される操作部と、前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンドを出力し、前記操作部が操作されることにより前記本体の動きによらない操作信号が入力され、前記入力された操作信号に応じた操作コマンドを出力する出力手段と、前記操作信号が入力されてから、または、前記操作信号の入力が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させる停止手段と、複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶する記憶手段と、前記複数の識別情報のうち１つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記停止手段により前記ポインタの動きを停止させる時間を制御する時間制御手段とを具備する。
【００４３】
さらに別の形態に係る制御装置は、本体と、前記本体の動きを検出する動き検出手段と、ユーザにより操作される操作部と、前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンド、前記操作部が操作されることにより前記本体の動きによらない操作信号が入力され、前記入力された操作信号に応じた操作コマンド、及び、前記操作信号を出力する出力手段とを有する入力装置から出力された、少なくとも前記移動コマンド及び前記操作信号に基づき、前記画面上の前記ポインタの動きを制御する。この場合、制御装置は、少なくとも前記移動コマンド及び前記操作信号を受信する受信手段と、前記受信された移動コマンドに応じて、前記画面上での前記ポインタの座標値を生成する座標値生成手段と、前記操作信号が受信されてから、または、前記操作信号の受信が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させる停止手段と、複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶する記憶手段と、前記複数の識別情報のうち１つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記停止手段により前記ポインタの動きを停止させる時間を制御する時間制御手段とを具備する。
【００４４】
さらに別の形態に係る制御方法は、入力装置の本体の動きを検出し、前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンドを前記入力装置により出力し、前記入力装置に設けられたユーザにより操作される操作部が操作されることにより前記本体の動きによらない操作信号が前記入力装置に入力された場合、前記入力された操作信号に応じた操作コマンドを前記入力装置により出力し、前記操作信号が入力されてから、または、前記操作信号の入力が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させ、複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶し、前記複数の識別情報のうち１つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記ポインタの動きを停止させる時間を制御する。
【００４５】
以上の説明において、「〜手段」と記載された要素は、ハードウェアで実現されてもよいし、ソフトウェア及びハードウェアの両方で実現されてもよい。ソフトウェア及びハードウェアの両方で実現される場合、そのハードウェアは、ソフトウェアのプログラムを格納する記憶デバイスを少なくとも含む。ハードウェアは、典型的には、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＮＩＣ（Network Interface Card）、ＷＮＩＣ（Wireless NIC）、モデム、光ディスク、磁気ディスク、及び、フラッシュメモリのうち少なくとも１つが選択的に用いられることにより構成される。
【発明を実施するための最良の形態】
【００４６】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００４７】
図１は、本発明の一実施の形態に係る制御システムを示す図である。制御システム１００は、表示装置５、制御装置４０及び入力装置１を含む。
【００４８】
図２は、入力装置１を示す斜視図である。入力装置１は、ユーザが持つことができる程度の大きさとされている。入力装置１は、ペン形状とされており、ユーザがペンを握るように、入力装置１を握ることができる。
【００４９】
入力装置１は、本体１０、本体１０の上部に設けられた例えば４つのボタン１１、１２、１３、１４等の操作部２２を備えている。本体１０の端部に設けられたボタン１１は、いわゆるエンターボタンであり、例えばＰＣで用いられる入力デバイスとしてのマウスの左ボタンの機能を有する。本体１０の中央に設けられたボタン１２は、例えばそのマウスの右ボタンの機能を有する。
【００５０】
例えば、ボタン１１を長押して入力装置１を移動させることにより「ドラッグアンドドロップ」、ボタン１１のダブルクリックによりファイルを開く操作等が行われるようにしてもよい。
【００５１】
ボタン１３は、画面３上に表示された画像を次の画像に進める、送りボタンとしての機能を有し、ボタン１４は、画面３上に表示された画像を前の画像に戻す、戻りボタンとしての機能を有する。ボタン１３及びボタン１４の機能は、逆であっても構わない。ボタン１３（及び１４）の長押しにより、スクロール操作が行われてもよい。ボタン１１〜１４の配置、発行されるコマンドの内容等は、適宜変更可能である。
【００５２】
図３は、入力装置１の内部の構成を模式的に示す図である。図４は、入力装置１の電気的な構成を示すブロック図である。
【００５３】
入力装置１は、動き検出手段の概念に含まれるセンサユニット１７、制御ユニット３０、バッテリー２３を備えている。
【００５４】
図５（Ａ）及び図５（Ｂ）は、センサユニット１７を示す斜視図である。
【００５５】
図５（Ａ）に示すように、センサユニット１７は、互いに異なる角度、例えば直交する２軸（Ｘ軸及びＹ軸）に沿った加速度を検出する加速度センサユニット１６を有する。すなわち、加速度センサユニット１６は、Ｘ軸方向の加速度センサ１６１、及び、Ｙ軸方向の加速度センサ１６２の２つセンサを含む。
【００５６】
また、センサユニット１７は、図５（Ｂ）に示すように、その直交する２軸の周りの角加速度を検出する角速度センサユニット１５を有する。すなわち、角速度センサユニット１５は、ヨー方向の角速度センサ１５１、及び、ピッチ方向の角速度センサ１５２の２つのセンサを含む。
【００５７】
これらの加速度センサユニット１６及び角速度センサユニット１５はパッケージングされ、回路基板２５上の第１の面及びそれとは反対側の第２の面にそれぞれ搭載されている。このように、回路基板２５の第１の面及び第２の面の両面に、加速度センサユニット１６及び角速度センサユニット１５がそれぞれ配置されることで、回路基板２５の主面の面積を小さくすることができる。したがって、センサユニット１７の小型化を実現することができる。これにより、センサユニット１７が本体１０に組み込まれやすくなる。
【００５８】
ヨー及びピッチの角速度センサ１５１、１５２としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。Ｘ軸及びＹ軸の加速度センサ１６１、１６２としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。角速度センサ１５１または１５２としては、振動型ジャイロセンサに限られず、回転コマジャイロセンサ、レーザリングジャイロセンサ、あるいはガスレートジャイロセンサ等が用いられてもよい。
【００５９】
図２、図４等の説明では、便宜上、本体１０の長手方向をＺ’方向とし、本体１０の厚さ方向をＹ’方向とし、また、本体１０の幅方向をＸ’方向とする。この場合、図４に示す用に、上記センサユニット１７は、回路基板２５の、加速度センサユニット１６及び角速度センサユニット１５を搭載する面がＸ’−Ｙ’平面に実質的に平行となるように、本体１０に内蔵される。これにより、上記したように、両センサユニット１６、１５はＸ’軸及びＹ’軸の２軸に関する物理量を検出する。
【００６０】
説明の便宜上、以降では、入力装置１とともに動く座標系、つまり、入力装置１に固定された座標系をＸ’軸、Ｙ’軸、Ｚ’軸で表す。また、静止した地球上の座標系、つまり慣性座標系をＸ軸、Ｙ軸、Ｚ軸で表す。また、入力装置１の動きに関し、Ｘ’軸の周りの回転の方向をピッチ方向、Ｙ’軸の周りの回転の方向をヨー方向といい、Ｚ’軸（ロール軸）方向の周りの回転の方向をロール方向という場合もある。
【００６１】
図３及び図４に示すように、制御ユニット３０は、メイン基板１８、メイン基板１８上にマウントされたＭＰＵ１９（あるいはＣＰＵ）、水晶発振器２０、送信機２１、スイッチ３１〜３４、メイン基板１８上にプリントされた図示しないアンテナを含む。
【００６２】
ＭＰＵ１９は、必要な揮発性及び不揮発性メモリを内蔵している。ＭＰＵ１９は、センサユニット１７による検出信号、操作部２２による操作信号等を入力し、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を行う。上記メモリは、ＭＰＵ１９とは別体で設けられていてもよい。ＭＰＵ１９の代わりに、ＤＳＰ、ＦＰＧＡ等が用いられてもよい。
【００６３】
典型的には、センサユニット１７はアナログ信号を出力するものである。この場合、ＭＰＵ１９は、Ａ／Ｄ（Analog/Digital）コンバータを含む。しかし、センサユニット１７がＡ／Ｄコンバータを含むユニットであってもよい。
【００６４】
送信機２１は、ＭＰＵ１９で生成された制御信号をＲＦ無線信号として、アンテナを介して制御装置４０に送信する。
【００６５】
水晶発振器２０は、クロックを生成し、これをＭＰＵ１９に供給する。バッテリー２３としては、乾電池または充電式電池等が用いられる。
【００６６】
スイッチ３１、３２、３３、３４は、ボタン１１、１２、１３、１４にそれぞれ対応し、これらのスイッチによりＯＮ／ＯＦＦの操作信号がＭＰＵ１９に入力される。
【００６７】
図１に示すように、制御装置４０はコンピュータであり、ＭＰＵ３５（あるいはＣＰＵ）、ＲＡＭ３６、ＲＯＭ３７、表示制御部４２、ビデオＲＡＭ４１、アンテナ３９及び受信機３８等を含む。
【００６８】
受信機３８は、入力装置１から送信された制御信号を、アンテナ３９を介して受信する。ＭＰＵ３５は、その制御信号を解析し、各種の演算処理を行う。表示制御部４２は、ＭＰＵ３５の制御に応じて、主に、表示装置５の画面３上に表示するための画面データを生成する。ビデオＲＡＭ４１は、表示制御部４２の作業領域となり、生成された画面データを一時的に格納する。上記制御信号として、例えば後述するように、移動コマンド、操作コマンド、速度関連値の信号、加速度信号、あるいはその他の信号が、入力装置１から送信される。
【００６９】
制御装置４０は、入力装置１に専用の機器であってもよいが、ＰＣ等であってもよい。制御装置４０は、ＰＣに限られず、表示装置５と一体となったコンピュータであってもよいし、オーディオ／ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
【００７０】
表示装置５は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ等が挙げられるが、これらに限られない。あるいは、表示装置５は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよい。
【００７１】
図６は、表示装置５に表示される画面３の例を示す図である。画面３上には、アイコン４やポインタ２等のＵＩが表示されている。アイコンとは、コンピュータ上のプログラムの機能、実行コマンド、またはファイルの内容等が画面３上で画像化されたものである。なお、画面３上の水平方向をＸ軸方向とし、垂直方向をＹ軸方向とする。
【００７２】
次に、入力装置１の動かし方及びこれによる画面３上のポインタ２の動きの典型的な例を説明する。図７はその説明図である。
【００７３】
図７（Ａ）、（Ｂ）に示すように、ユーザが入力装置１を握った状態で、入力装置１のボタン１１〜１４が配置されている側を上に向け、本体１０の、エンターボタン１１が配置される端部を表示装置５側に向ける。この状態で、センサユニット１７の回路基板２５（図５（Ａ）及び図５（Ｂ）参照）は、表示装置５の画面３に対して平行に近くなり、センサユニット１７の検出軸である２軸が、画面３上の水平軸（Ｘ軸）（ピッチ軸）及び垂直軸（Ｙ軸）（ヨー軸）に対応するようになる。以下、このような図７（Ａ）、（Ｂ）に示す入力装置１の姿勢を基本姿勢という。
【００７４】
図７（Ａ）に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向、またはピッチ方向に振る。このとき、第２の加速度センサ１６２は、Ｙ軸方向の加速度（第２の加速度）を検出し、第１の角速度センサ１５１は、角度関連値としてＹ軸の周りの角速度（第１の角速度）ωψを検出する。これらの検出値に基き、制御装置４０は、ポインタ２がＹ軸方向に移動するようにそのポインタ２の表示を制御する。
【００７５】
一方、図７（Ｂ）に示すように、基本姿勢の状態で、ユーザが手首や腕を左右方向、またはヨー方向に振る。このとき、第１の加速度センサ１６１は、Ｘ軸方向の加速度（第１の加速度）を検出し、第２の角速度センサ１５２は、角度関連値としてＸ軸の周りの角速度（第２の角速度）ωθを検出する。これらの検出値に基き、制御装置４０は、ポインタ２がＸ軸方向に移動するようにそのポインタ２の表示を制御する。
【００７６】
図８は、手書き入力による操作形態でユーザが入力装置１を操作する場合の、本体１０の握り方を示す図である。ユーザは、本体１０の、例えばセンサユニット１７が配置される側の端部が下方側に向くように本体１０を握り、手書き入力操作を行う。以下、図８に示した本体１０の姿勢をペン姿勢という。
【００７７】
入力装置１のＭＰＵ１９は、所定の第１のクロックごとに取得する加速度値及び角速度値に基づき、典型的には、その第１のクロックごとにＸ軸方向の速度値及びＹ軸方向の速度値を算出し、これらを出力する。ＭＰＵ１９は、速度値の計算の方法によっては、第１のクロックよりも遅い第２のクロックごとにＸ軸及びＹ軸方向のそれぞれ速度値を出力する場合もある。
【００７８】
制御装置４０は、入力装置１の単位時間当りのＸ軸方向またはヨー方向の変位を、画面３上のＸ軸上でのポインタ２の変位量に変換する。また、制御装置４０は、単位時間当りのＹ軸方向またはピッチ方向の変位を、画面３上のＹ軸上でのポインタ２の変位量に変換する。これによりポインタ２が移動する。典型的には、制御装置４０のＭＰＵ３５は、上記第１または第２のクロック数ごとに供給されてくる速度値について、（ｎ−１）回目に供給された速度値に、ｎ回目に供給された速度値を加算する。これにより、当該ｎ回目に供給された速度値が、ポインタ２の変位量に相当し、ポインタ２の画面３上の座標情報が生成される。この場合、主として制御装置４０のＭＰＵ１９が、座標情報生成手段として機能する。
【００７９】
本実施の形態に係る制御システム１００は、ユーザの手ぶれによる入力装置１の本体１０の振動に応じたポインタ２の動きを抑制するため、ＭＰＵ１９により算出された本体１０の速度の出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる機能を有する。典型的には、入力装置１がその機能を有する。
【００８０】
図９は、その機能を実現する入力装置１の構成を示すブロック図である。入力装置１は、速度算出部２９、フィルタ２７、制御部２８及びメモリ２６を備える。これら速度算出部２９、フィルタ２７、制御部２８及びメモリ２６は、主にＭＰＵ１９が備える機能である。
【００８１】
速度算出部２９は、センサユニット１７から出力された物理量、例えば加速度センサユニット１６から出力されたＸ’軸及びＹ’軸方向の加速度値に基き、本体１０の速度値をＸ’軸及びＹ’軸方向でそれぞれ算出する。
【００８２】
フィルタ２７は、速度算出部２９で算出された速度値のうち、上記所定の周波数範囲の信号の速度値を、所定のゲインで減衰させる。所定の周波数範囲とは、手ぶれに相当する周波数の範囲である。その周波数範囲は、典型的には１〜２０Ｈｚであるが、この範囲に限られない。以下、所定の周波数を手ぶれ周波数という。フィルタ２７は、デジタルフィルタで構成される。
【００８３】
次に、以上のように構成された制御システム１００の基本的な動作を説明する。図１０は、その動作を示すフローチャートである。
【００８４】
入力装置１に電源が投入される。例えば、ユーザが入力装置１または制御装置４０に設けられた電源スイッチ等を入れることにより、入力装置１に電源が投入される。電源が投入されると、角速度センサユニット１５から２軸の角速度信号が出力される。ＭＰＵ１９は、この２軸の角速度信号による第１の角速度値ωψ及び第２の角速度値ωθを取得する（ステップ１０１）。
【００８５】
また、入力装置１に電源が投入されると、加速度センサユニット１６から２軸の加速度信号が出力される。ＭＰＵ１９は、この２軸の加速度信号による第１の加速度値ax及び第２の加速度値ayを取得する（ステップ１０２）。この加速度値の信号は、電源が投入された時点での入力装置１の姿勢に対応する信号である。電源投入直後の本体１０の姿勢は、図７に示した基本姿勢である場合もあるし、あるいは、図８に示したようにペン姿勢の場合もあるし、それら以外の姿勢もあり得る。
【００８６】
なお、ＭＰＵ１９は、典型的にはステップ１０１及び１０２を所定のクロック周期ごとに同期して行う。
【００８７】
速度算出部２９は、加速度値（ax、ay）及び角速度値（ωψ、ωθ）に基いて、速度値（Vx、Vy）を算出する（ステップ１０３）。この速度算出部２９による速度値の算出についての詳細は後述する。第１の速度値VxはＸ軸に沿う方向の速度値であり、第２の速度値VyはＹ軸に沿う方向の速度値である。
【００８８】
速度値（Vx、Vy）の算出方法としては、速度算出部２９が、例えば加速度値（ax、ay）を積分して速度値を求め、かつ、角速度値（ωψ、ωθ）をその積分演算の補助して用いる方法がある。逆に、速度算出部２９が、角速度値（ωψ、ωθ）に対応する速度値を演算またはルックアップテーブルにより求め、加速度値を例えばその演算の補助して用いる方法がある。
【００８９】
あるいは、ＭＰＵ１９は、加速度値（ax、ay）を、角速度値（ωψ、ωθ）の微分値（Δωψ、Δωθ）で割ることで本体１０の動きの回転半径（Ｒψ、Ｒθ）を求める。その回転半径（Ｒ、Ｒ）に角速度値（ωψ、ωθ）が乗じられることにより速度値（Vx、Vy）が得られる。
【００９０】
あるいは、動きセンサとして、角速度センサユニット１５が設けられず、加速度センサユニット１６が設けられ、加速度値（ax、ay）が単に積分されることで速度値（Vx、Vy）が算出されてもよい。逆に、動きセンサとして、加速度センサユニット１６が設けられず、角速度センサユニット１５が設けられ、角速度値（ωψ、ωθ）に対応する速度値（Vx、Vy）が演算またはルックアップテーブルにより算出されてもよい。
【００９１】
ＭＰＵ１９は、ポインティング操作の操作形態と手書き入力の操作形態とが切り替えられた否かを判定する（ステップ１０４）。ポインティング操作形態とは、例えば図７（Ａ）及び図７（Ｂ）に示すような本体１０の握り方でポインタ２を用いて画面３上の所定の位置をポインティングするポインティング操作である。図８に示した手書き入力操作では、ユーザは、典型的には制御装置４０が備えるアプリケーションソフトウェアを用いて、文字、数字、記号、絵等を入力する。手書き入力操作では、ユーザは、例えば、空間内で本体１０を動かして、または、机、テーブル、床等の上で本体１０を動かして手書き入力操作を行う。今現在の本体の操作形態が、ポインティング操作形態であるか、それとも手書き入力操作形態であるかの検出方法については後述する。
【００９２】
操作形態が切り替えられない場合、ＭＰＵ１９は、上記フィルタ２７による、後述する手ぶれ補正ゲインプロファイルを変更せずに、これまで用いていた手ぶれ補正ゲインプロファイルを用いて手ぶれ補正を実行する。これにより、画面３上のポインタ２の速度に対応するポインタ速度値（Vx’、Vy’）が算出される。典型的には、ＭＰＵ１９は、手ぶれ補正のため、ステップ１０３で算出された速度値である出力値のうち、手ぶれ周波数範囲にある出力値を減衰させるために、その出力値に所定のゲインを乗じる。
【００９３】
図１１は、その手ぶれ周波数の範囲にある代表的な周波数（例えば１５Ｈｚ）におけるフィルタ２７の特性（以下、手ぶれ補正ゲインプロファイルという。）の例を示すグラフである。グラフの横軸は、フィルタ２７による補正前の入力装置１の速度値（以下、補正前速度値という。）を示し、縦軸は、フィルタ２７による補正後の入力装置１の速度値（以下、補正後速度値という。）を示す。それぞれの速度値は、８ビット（±１２８）の絶対値で表している。
【００９４】
グラフ中の破線は、フィルタ２７のゲインが１である状態を示しており、すなわちフィルタ２７による減衰機能が働いていない状態を示している。実際に１未満のゲインがかけられるときの線を、以降、補正線Ａと呼ぶ。破線の値を分母とし、補正線Ａの値を分子とした値が、ゲインになる。
【００９５】
補正前速度値について、閾値Th1、Th2及びTh3が設定されている。この例では、
補正前速度値９０〜９５程度が閾値Th1、
補正前速度値７０程度が閾値Th2、
補正前速度値１〜３程度が閾値Th3、
と設定されている。これらの閾値Th1〜Th3は、適宜変更可能である。
【００９６】
また、この例におけるフィルタ２７のゲインは、以下のように設定されている。
【００９７】
補正前速度値０からTh3まで、及び、Th1以上については、ゲインは１に設定されている。すなわち、この範囲では、補正前速度値と補正後速度値とが同じになる。  
Th3からTh2までは、補正前速度値が増えるにしたがってゲインが徐々に減るように設定されている。  
Th2からTh1までは、補正前速度値が増えるにしたがってゲインが徐々に増えるように設定されている。
【００９８】
図１２（Ａ）〜図１２（Ｄ）は、図１１に示した補正前速度値ａ〜ｄにそれぞれ対応する、フィルタ２７の周波数特性の例を示すグラフである。図１２（Ａ）〜図１２（Ｄ）から、補正前速度値が増えるにつれて、ゲインが減るように設定されているのが分かる。このようにゲインは周波数特性があるので、上記したように図１１に示したグラフは、ある代表的な周波数における手ぶれ補正ゲインプロファイルである。したがって、例えば周波数ごとに異なる手ぶれ補正ゲインプロファイルの補正線Ａ（例えば、閾値Th1、Th2等は同じで、ゲインが異なる補正線）が設定される。
【００９９】
このように制御部２８は、入力装置１の速度値に基き、フィルタ２７のゲインを制御する。フィルタ２７のゲインの周波数特性は、フィルタ２７の設計時において、移動平均による、サンプリング周期、タップ数及び各速度値のゲイン値等が適宜設定されることにより設定される。
【０１００】
ステップ１０４でＹＥＳの場合、ＭＰＵ１９は、手ぶれ補正ゲインプロファイルを変更する（ステップ１０６）。そうすると、ＭＰＵ１９は、変更された手ぶれ補正ゲインプロファイルによる手ぶれ補正を行い、ポインタ速度値（Vx’、Vy’）を算出する（ステップ１０７）。
【０１０１】
図１３は、複数の手ぶれ補正ゲインプロファイルのパターンを示すグラフである。手ぶれの速度は個人差が大きいので、本発明者は、フィルタ２７の設計時において、ユーザテストにより、手ぶれ速度の大きさの分散を求め、手ぶれ補正の対象となる速度範囲を決定した。その結果を示すグラフが図１３のグラフである。手ぶれ速度の大きさは、例えば振動の最大速度とされた。
【０１０２】
この例では、３種類の手ぶれ補正ゲインプロファイルが示されている。  
手ぶれ補正ゲインプロファイルａが、手ぶれ補正の対象となる速度範囲が狭い例を示し、２σに入るユーザ向けのプロファイルである。
【０１０３】
手ぶれ補正ゲインプロファイルｂが、手ぶれ補正の対象となる速度範囲が広い例を示し、これは４σに入るユーザ向けのプロファイルである。
【０１０４】
手ぶれ補正ゲインプロファイルｃが、補正前速度値とは無関係に、ゲインが一定であり、横軸に全近した１未満のプロファイルである。手ぶれ補正ゲインプロファイルｃは、主に手書き入力操作形態で用いられるものである。手ぶれ補正ゲインプロファイルｃは、減衰機能、つまり手ぶれ補正の度合いが、他の手ぶれ補正ゲインプロファイルａ，ｂのそれより強いものとなる。
【０１０５】
なお、この例における手ぶれ補正ゲインプロファイルａ及びｂは、図１１で示した速度プロファイルと同様に、Th1（Th1’）、Th2（Th2’）及びTh3が設定された例となっている。図１３の手ぶれ補正ゲインプロファイルｃよりもさらに低く、かつ一定のゲインが設定されてもよい。
【０１０６】
このような同じ周波数について、複数の手ぶれ補正ゲインプロファイルａ〜ｃの情報が予めメモリ２６等に記憶され、これらの手ぶれ補正ゲインプロファイルごとにTh1及びTh2、Th1’及びTh2’等がメモリ２６等に記憶される。ステップ１０４において、例えば、ユーザがこれまでポインティング操作形態で本体１０を操作していたが、手書き入力操作形態に、操作形態を切り替えるとする。そうすると、ＭＰＵ１９は、手書き入力用の手ぶれ補正ゲインプロファイルｃを用いて、ポインタ速度値（Vx’、Vy’）を算出する。手書き入力の場合、ゲインが一定でかつ低い方がユーザは操作しやすい、つまり文字等を入力しやすいと感じる。
【０１０７】
図１４（Ａ）及び図１４（Ｂ）は、本発明者が、一般的な文字入力ソフトを使って、日本語のひらがな（あ、い、う、え、お）をコンピュータに入力し、画面上に表示させた例を示している。図１４（Ａ）は、手ぶれ補正ゲインプロファイルｃを用いた場合を示し、図１４（Ｂ）は、フィルタの機能を停止させた場合を示す。これらの図から、手ぶれ補正ゲインプロファイルｃが用いられることにより、文字入力等のときのユーザの細かな手ぶれによる影響を除去することができる。
【０１０８】
なお、手ぶれ補正ゲインプロファイルｃのゲインとは異なる一定のゲインの手ぶれ補正ゲインプロファイルが、１つまたは複数設定されていもよい。
【０１０９】
次に、ステップ１０５及び１０７において、例えば図１１で示した手ぶれ補正ゲインプロファイル及び図１３で示した手ぶれ補正ゲインプロファイルａまたはｂで、手ぶれ補正が行われる場合の処理を図１５のフローチャートを用いて説明する。つまり、図１５は、手ぶれ補正ゲインプロファイルのゲインが一定でないゲインで手ぶれ補正される場合の動作を示すフローチャートである。
【０１１０】
例えば図１１を参照して、ＭＰＵ１９は、速度値（Vx、Vy）の絶対値（|Vx|、|Vy|）がTh1以下、または、Th3以上であるか否かを判定する（ステップ２０１）。ステップ２０１では、ＭＰＵ１９は、|Vx|及び|Vy|がそれぞれ独立してTh1以下であるか否かを判定すればよい。
【０１１１】
しかしこれに限られず、例えば速度値（|Vx|、|Vy|）のベクトル合成値（[Vx2+Vy2]1/2）がTh1以下、または、Th3以上であるか否かが判定されてもよい。あるいは、|Vx|と|Vy|の大きい方が速度値の代表値とされ、その代表値がTh1以下、または、Th3以上であるか否かが判定されてもよい。これにより、ＭＰＵ１９の計算量が減り、消費電力が減る。
【０１１２】
ステップ２０１の条件が満たされない場合、ＭＰＵ１９の制御部２８は、図１１の手ぶれ補正ゲインプロファイルにより、ゲインを１として速度値を出力する。つまり、ＭＰＵ１９は、速度算出部２９から出力された速度値（Vx、Vy）＝（Vx’、Vy’）とし（ステップ２０２）、送信機２１によりその速度値（Vx’、Vy’）を含む情報を、ポインタ２を画面３上で移動させるための移動コマンドとして制御装置４０に送信する（ステップ１０８）。
【０１１３】
一方、ステップ２０１の条件が満たされる場合、制御部２８は、図１１に示すように、速度算出部２９から出力された速度値の絶対値（|Vx|、|Vy|）に合わせたフィルタ２７のゲインを設定する（ステップ２０３）。フィルタ２７は、設定されたゲインで絶対値（|Vx|、|Vy|）を減衰させて（Vx’、Vy’）を出力し（ステップ２０４）、ＭＰＵ１９は、これを制御装置４０に送信する（ステップ１０８）。
【０１１４】
以上のように、フィルタ２７により速度値に応じて動的に手ぶれ周波数範囲の速度値が減衰されるので、本体１０に手ぶれ等の振動が発生しても、ユーザは画面３上におけるポインタ２の精密なポインティング操作が可能となる。
【０１１５】
特に、速度値がTh1より大きい場合、ユーザは画面３上のある位置から比較的遠い別の位置までポインタ２を動かしている途中である。この場合、フィルタ２７が機能すると、ユーザにとって位相遅れにより違和感を感じる場合があるので、ゲインが１に設定される。これにより、ユーザに位相遅れを感じさせない。
【０１１６】
また、速度値がTh3より小さい場合、つまり速度値が極めて小さい場合、ユーザは入力装置１をほぼ停止させているとき、入力装置１を停止させている状態から動かし始めた瞬間、または、動かしていた入力装置１を停止させる瞬間である。したがって、この場合も、位相遅れの発生を防止するため、ゲインが１に設定される。特に、ユーザが入力装置１を停止させている状態から動かし始めた瞬間には、ユーザは位相遅れによる違和感を感じやすくなる傾向にあるからである。
【０１１７】
また、制御部２８は、図１１に示したように、速度値がTh3を超えてTh2に達するまでの間はゲインが徐々に減るように、かつ、Th2を超えてTh1に達するまでの間はゲインが徐々に増えるようにゲインを制御する。手ぶれが起こるTh1以下の速度範囲内において、速度値がTh3を超えてTh2に達するまでは、速度値が増えるほど手ぶれ量が多くなると考えられる。したがって、この範囲では、速度値が増えるほどゲインが徐々に減ることにより、ユーザの違和感をなくすことができる。また、Th2を超えて速度値が増えるほど、手ぶれ量が少なくなると考えられる。したがって、速度値がTh2を超えてTh1に達するまでは、ゲインが徐々に増えることで、ユーザの違和感をなくすことができる。
【０１１８】
図１０で示したフローチャートの説明に戻る。
【０１１９】
制御装置４０のＭＰＵ３５は、速度値（Vx’、Vy’）を受信機３８により受信する（ステップ１０９）。ＭＰＵ３５は、下記の式（１）、（２）に示す、速度値Vx、Vyに応じた、ポインタ２の座標値X、Yを生成し（ステップ１１０）、画面３上のポインタ２が移動するように表示を制御する（ステップ１１１）。
【０１２０】
X(t) =X(t-1)＋Vx’・・・（１）
Y(t) =Y(t-1)＋Vy’・・・（２）。
【０１２１】
以上のように、操作形態が切り替えられたことに応じて、手ぶれ補正ゲインプロファイルが変更される。つまり、ＭＰＵ１９は、本体１０の操作形態に応じて、第１の演算モードと第２の演算モードとを選択的に切り替えて、ポインタ速度値（Vx’、Vy’）を算出する。これにより、ポインティング操作形態及び手書き入力操作形態の両方に合致した操作感が得られる。
【０１２２】
また、上記したように、ユーザが机、テーブル、床等の上に本体１０を接触させて文字等を入力する手書き入力操作の場合、本体１０とその接触面との接触により本体１０に振動が発生する場合があったとしても、手ぶれ補正ゲインプロファイルによりその振動をキャンセルすることができる。
【０１２３】
図１６は、図１５に示した動作とは別の実施の形態に係る、入力装置１の動作を示すフローチャートである。
【０１２４】
ステップ３０１では、ＭＰＵ１９は、ステップ１０３で得られた速度値（Vx、Vy）を微分演算することで、それぞれＸ’軸及びＹ’軸方向の加速度値（axi、ayi）を出力する。
【０１２５】
ステップ３０２〜３０４は、ステップ２０１〜２０３と同様の処理である。
【０１２６】
図１７（Ａ）は、この実施の形態で用いられるフィルタ２７の特性である手ぶれ補正ゲインプロファイルを示すグラフである。このグラフも、手ぶれ周波数範囲にある代表的な周波数（例えば１０Ｈｚ）におけるプロファイルである。このフィルタ２７では、上記加速度値（axi、ayi）の絶対値（|axi|、|ayi|）に応じて、プロファイルが可変となっている。加速度値が大きいほど、ゲインが高く（１に近く）、加速度が小さいほどゲインが低く設定されている。
【０１２７】
あるいは、フィルタ２７の手ぶれ補正ゲインプロファイルは、図１７（Ｂ）のようなグラフであってもよい。図１７（Ｂ）では、図１７（Ａ）に比べ、補正前速度値が０からTh2までのゲインの減少する割合が低くなっており、かつ、Th2からTh3までのゲインの増加する割合が低くなっている。
【０１２８】
図１８（Ａ）〜図１８（Ｅ）は、図１７（Ｂ）に示した各手ぶれ補正ゲインプロファイルａ〜ｅに対応する、ゲインの周波数特性をそれぞれ示すグラフである。
【０１２９】
図１６の説明に戻る。ステップ３０５では、ＭＰＵ１９の制御部２８は、算出した加速度値の絶対値（|axi|、|ayi|）に応じて、つまり図１７（Ａ）または図１７（Ｂ）の手ぶれ補正ゲインプロファイルにより、フィルタ２７のゲインを動的に制御する。このゲインの制御は、典型的には加速度値に対して連続的に行われる。すなわち、その加速度値に基く所定の演算によりゲインが制御される。
【０１３０】
しかし、加速度値（または、加速度値の所定の範囲）ごとに対応する手ぶれ補正ゲインプロファイルの情報が予めメモリ２６等に記憶されており、ＭＰＵ１９が加速度値に応じてそれを動的に読み出してもよい。この場合、手ぶれ補正ゲインプロファイルの数は、２つ以上であればよい。
【０１３１】
ステップ３０６は、ステップ２０４と同様の処理である。
【０１３２】
このように、図１６に示す動作では、速度値及び加速度値の両方に基きゲインが制御されるので、ユーザの操作感が向上する。加速度値が大きいほど手ぶれ量は少ないと考えられる。つまり、加速度値も手ぶれ量と相関があるので、加速度値の監視によりユーザの操作感が向上する。
【０１３３】
図１９は、さらに別の実施の形態に係る、入力装置１の動作を示すフローチャートである。
【０１３４】
ステップ４０１は、図１６に示したステップ３０１と同様の処理である。
【０１３５】
ステップ４０２では、ＭＰＵ１９は、ステップ１０３で算出された時間的に連続する所定数の速度値（Vx、Vy）をサンプリングし、これらをメモリ２６（図９参照）に記憶する。メモリ２６に記憶される速度値のサンプル数は、適宜設定される。この場合、メモリ２６としては、典型的にはリングバッファやＦＩＦＯ（First In First Out）が用いられるが、これに限られない。
【０１３６】
ＭＰＵ１９は、記憶された所定数のサンプルされた速度値がすべて同じ符号であるか否かを判定する（判定手段）（ステップ４０４）。同じ符号の場合、ＭＰＵ１９は、ステップ４０５に進む。ステップ４０５は、ステップ３０３と同様の処理である。サンプルされた速度値がすべて同じ符号である場合は、その複数の速度値のサンプリングの期間中は、速度の向きが変わっていない。したがって、この場合、ユーザは画面上のある位置から比較的遠い別の位置までポインタを動かしている途中であると考えられる。この場合、フィルタ２７が機能すると、ユーザにとって位相遅れにより違和感を感じる場合があるので、速度値を減衰させるための機能が停止させられるか、弱められればよい。
【０１３７】
メモリ２６に記憶された所定数のサンプルされた速度値のうち、１つ以上の異なる符号のサンプルされた速度値がある場合、ＭＰＵ１９は、ステップ４０４以降の処理に進む。ステップ４０４、４０６〜４０８は、図１４で示したステップ３０２、３０４〜３０６と同様の処理である。つまり、１つ以上の異なる符合のサンプルされた速度値が記憶されている場合、その複数の速度値のサンプリングの期間中に、速度の向きが変わっているので、手ぶれが起こっていると考えられる。したがって、ステップ４０６以降の処理が実行されることで、手ぶれによる影響を除去することができる。
【０１３８】
図１９に示した動作において、図１５に示した動作と同様に、加速度値が算出されないような処理であってもよい。すなわち、ステップ４０１、４０４及び４０７がない処理である。
【０１３９】
図１０では、入力装置１が主要な演算を行ってポインタ速度値（Vx’、Vy’）を算出していた。図２０に示す実施の形態では、制御装置４０が主要な演算を行う。
【０１４０】
図２０に示すように、入力装置１のＭＰＵ１９は、ステップ５０４において、ステップ５０４で算出された速度値（Vx、Vy）の情報を制御装置４０に送信する。制御装置４０のＭＰＵ３５は、その速度値（Vx、Vy）の情報を受信し（ステップ５０５）、ステップ１０４〜１０７と同様の処理を実行する（ステップ５０６〜５０９）。ステップ５１０及び５１１は、ステップ１１０及び１１１と同様の処理である。
【０１４１】
あるいは、図１０において、ステップ１０４までの処理を入力装置１が実行し、ステップ１０５以降の処理を制御装置４０が実行してもよい。
【０１４２】
あるいは、図２０において、入力装置１のＭＰＵ１９は、ステップ５０１及び５０２でそれぞれ算出された角速度値及び加速度値の情報を制御装置４０に送信してもよい。制御装置４０は、それらの情報を受信し、ステップ５０４のように速度値（Vx、Vy）を算出し、ステップ５０６以降の処理を実行すればよい。
【０１４３】
図１５、図１６及び図１９で示した処理も、図２０で示した処理と同様の趣旨で、制御装置４０が主要な演算を実行してもよい。
【０１４４】
次に、図１０に示したステップ１０４における操作形態の切り替えの検出方法、つまり本体の操作形態がポインティング操作形態であるか、手書き入力操作形態であるかの検出方法について、以下に、４つの検出方法を説明する。
【０１４５】
（第１の検出方法）
第１の検出方法として、入力装置１または制御装置４０に設けられた、ディップスイッチ、ダイヤルスイッチ等の図示しないメカニカルなスイッチにより、ユーザが操作形態を切り替えるようにすればよい。そのスイッチが入力装置１に設けられる場合、例えば図１０、図１５、図１６及び図１９で示した処理が適用されればよい。一方、そのスイッチが制御装置４０に設けられる場合、図２０に示した処理が適用されればよい。
【０１４６】
（第２の検出方法）
第２の検出方法として、例えば図２１に示すようなＧＵＩによるボタンスイッチが用いられればよい。典型的には、制御装置４０が、このＧＵＩによるボタンスイッチを機能させるソフトウェアを記憶デバイスに記憶している。図２１に示す例では、例えばポインティング操作形態によるボタンスイッチ４３と、手書き入力操作形態によるボタンスイッチ４４とが、画面３上に表示されている。
【０１４７】
図２２は、ＧＵＩが用いられる場合の別の検出方法を説明するための図である。図２２では、例えばユーザが手書き入力を行うための領域がＧＵＩにより画面３上に表示された例を示す図である。画面３上の領域２４が手書き入力が実行可能な領域である。領域２４以外の領域は、ポインティング操作領域（第１の領域）である。ユーザが、本体１０を動かすことで、ポインティング操作領域にあるポインタ２ａを、手書き入力領域２４内に移動させると、制御装置４０のＭＰＵ３５は、操作形態の切り替えを検出する。手書き入力領域２４内にＵＩ２ｂ（ポインタ２ｂ）がある状態で、ユーザがその手書き入力領域２４内で文字等を描くことができる。手書き入力のための基本的なソフトウェアは、公知のものが用いられればよい。
【０１４８】
（第３の検出方法）
第３の検出方法として、ユーザによりエンターボタン１１が押され、入力装置１がエンターコードを発生していることを、ＭＰＵ１９またはＭＰＵ３５が検出したとき、それを操作形態の切り替え検出のタイミングとすればよい。既存の手書き入力のソフトウェアでは、ユーザは、マウスのエンターボタンを押しながらマウスを動かすことにより手書き入力を行う。本実施の形態においても、ユーザがエンターボタン１１を押しながら動かす、つまり、ドラッグ操作の開始が、操作形態の切り替えのトリガーとなる。これにより、既存の手書き入力のソフトウェアをそのまま利用することができ、ユーザはそのような使い方に慣れているため、新たな習熟が必要とされないというメリットがある。また、この第３の検出方法は、操作形態の切り替えの検出のために別途のハードウェア等を必要としない。
【０１４９】
第３の検出方法では、手書き入力時ではなく、通常のポインティング操作時におけるドラッグ操作、例えば、ユーザがアイコン４をつまんで画面３上で移動させる操作においても、手書き入力操作形態に切り替えられる。したがって、通常のポインティング操作時におけるドラッグ操作時に、手ぶれ補正機能が働かなくなるので、精密なポインティング操作が困難になるおそれがある。しかし、ドラッグ操作しようとするとき、ユーザがアイコンをつまむ直前までは、エンターボタン１１を押さないので、手ぶれ補正機能が働くので、精密ポインティングができなくても問題ない。エンターボタン１１を押した後は、ドラッグ操作であるので、精密ポインティングが必要ない。
【０１５０】
また、第３の検出方法では、ユーザがエンターボタン１１を押してエンターコードを発生させても、そのエンターコードが発生したときだけ手書き入力操作形態に切り替えられる。したがって、ユーザは、すぐにエンターボタン１１を離せば、操作形態がポインティング操作形態に切り替えられるので、エンターコードが発生した瞬間に、ユーザは手書き入力操作形態であること認識できることはほとんどない。
【０１５１】
例えばエンターボタンによるスイッチが静電センサを備えた静電パッドによるスイッチでなっていてもよい。この場合、ユーザが指でその静電パッドに連続的に２回タッチして、２回目にタッチした指を静電パッドに接触させたままにしておくことで、ドラッグ操作が可能となるので、それを上記のように手書き入力操作及びその操作形態の判定に応用することができる。
【０１５２】
上記第１〜第３の検出方法において、今現在の操作形態が、ポインティング操作形態及び手書き入力操作形態のどちらにあるかをユーザが認識できるように、制御装置４０は、画面３上に文字、図形、アイコンの形状の変更を表示させてもよい。
【０１５３】
（第４の検出方法）
第４の検出方法として、入力装置１の本体１０の姿勢を検出する方法がある。例えば、図７（Ａ）及び図７（Ｂ）に示すように、本体１０が、基本姿勢またはそれに近い姿勢にあるときと、図８に示したペン姿勢とで、姿勢変化が大きい。この姿勢変化は、加速度センサユニット１６によるＸ軸及びＹ軸のそれぞれの加速度値に基づいて、ＭＰＵ１９が認識することができる。
【０１５４】
図２３は、第４の検出方法を示すフローチャートである。ＭＰＵ１９は、例えば、ステップ１０２で得られた加速度値（ax、ay）の両方の絶対値が閾値以下であるか否かを判定する（ステップ６０１）。
【０１５５】
本体１０が基本姿勢にあるとき、加速度値（ax、ay）の両方の絶対値のうちいずれか一方が閾値を超える。これは、加速度センサユニット１６の本体１０内の配置より明らかである。本体１０が、ペン姿勢にあるとき、加速度センサユニット１６の検出面であるＸ’−Ｙ’平面が水平面に近づく。したがってこの場合、加速度センサユニット１６の加速度値（ax、ay）は、小さい値となり、加速度値（ax、ay）の両方の絶対値が閾値以下となったとき、本体１０がペン姿勢にあると判定される。多くのユーザが本体１０をペン姿勢で握るとき、本体１０の長手方向が水平面に垂直の方向からやや傾くので、設計者はその傾きを考慮して閾値を適宜設定すればよい。
【０１５６】
ステップ６０１において、加速度値（ax、ay）の両方の絶対値が閾値以下である場合、ＭＰＵ１９は、例えば図１３に示したプロファイルｃを用いて、ポインタ速度値を算出する（ステップ６０３）。両方の絶対値のうちいずれか一方が閾値を超える場合、操作形態がポインティング操作形態であり、ＭＰＵ１９は、図１３に示したプロファイルｃ以外のもの、例えばプロファイルａ、ｂ、あるいは、図１７に示した可変のプロファイル等を用いて、手ぶれ補正処理を実行し、ポインタ速度値を算出する（ステップ６０２）。そして、ＭＰＵ１９は、ポインタ速度値を出力する（ステップ６０４）。ステップ６０２は、図１０に示したステップ１０５（または１０７）に相当し、ステップ６０３は、図１０に示したステップ１０７（または１０５）に相当する。
【０１５７】
図２４は、第４の検出方法の他の実施形態を示すフローチャートである。
【０１５８】
図２４に示した処理において、図２３に示した処理と異なる点は、ステップ７０４である。図２４で示した処理では、入力装置１のエンターボタン１１の代わりに、２段スイッチ式のエンターボタンを有する本体を備える入力装置（図示せず）が用いられる。２段スイッチ式とは、以下のようなものである。
【０１５９】
ユーザが、ある深さ分、エンターボタンを押したときに初めてＭＰＵ１９は、ポインタ２を移動させるための移動コマンドを出力する。そして、そのような移動コマンドを出力可能な状態から、ユーザがさらにある深さ分エンターボタンを押したとき（またはその押圧が解除されたとき）に初めて、ＭＰＵ１９は、エンターコマンドを出力する。したがって、ユーザは２段スイッチ式のエンターボタンの半押し状態を継続しながら、本体１０を動かすことで、ポインタ２を移動させることができる。
【０１６０】
２段スイッチは、現在では典型的には、例えばデジタルカメラ等で応用されている。２段スイッチの１段目でいわゆる半押し状態が生成され、これによりオートフォーカス等の処理が実行されてから、２段目の全押し状態でエンターコマンドが生成される。
【０１６１】
２段スイッチとして、このように２段階とも電気接点式のスイッチを備えるものに限られない。例えば１段目は光センサによるスイッチが用いられ、その光センサにより、エンターボタン上にユーザの指の存在が認識され、２段目の電気接点式のスイッチによりエンターコマンドが出力されるような２段スイッチが用いられてもよい。
【０１６２】
図２４の説明に戻り、ステップ７０４では、ＭＰＵ１９は、１段目のスイッチによる入力信号があるか否か、つまり、移動コマンドを出力できる状態にあるか否かを判定する。ＭＰＵ１９は、移動コマンドが出力可能であれば、ポインタ速度値を出力し、そうでなければ、図１０に示したステップ１０１へ戻る。
【０１６３】
ステップ６０１及び７０１において、加速度値（ax、ay）の両方の絶対値が閾値以下にあるか否かの判定処理に限られない。例えば、それは加速度値（ax、ay）の合成ベクトル量が閾値以下であるか否かの判定処理であってもよい。
【０１６４】
図２３及び図２４では、ステップ６０１及び７０１において、加速度値（ax、ay）の両方の絶対値が閾値以下であるか否かが判定された。しかし、例えば入力装置が、図５（Ａ）及び図５（Ｂ）に示した、Ｚ’軸方向の第３の加速度値も検出可能な３軸の加速度センサユニット（図示せず）を備える場合に、その第３の加速度値が監視されることで、操作形態の判定が可能となる。
【０１６５】
典型的には、本体１０がペン姿勢にあるとき、その３軸加速度センサユニットで検出されるＺ’方向の加速度値は、基本姿勢時のそれと大きく変わる。したがって、その場合ＭＰＵ１９は、そのＺ’方向の加速度値がある閾値を超えた場合に、手書き入力操作形態であると判定すればよい。この場合の閾値も設計者が適宜設定可能である。
【０１６６】
次に、手ぶれ補正ゲインプロファイルにより補正された速度値が、速度補正ゲインプロファイルによりさらに補正されることで、ポインタ速度値（Vx’’、Vy’’）が出力される実施形態について説明する。
【０１６７】
図２５は、このような速度補正ゲインプロファイルを用いたポインタ速度値の算出方法を示すフローチャートである。
【０１６８】
ステップ８０１〜８０６は、ステップ１０１〜１０６と同様の処理である。
【０１６９】
ポインティング操作形態と手書き入力操作形態とが切り替えられない場合（ステップ８０４のＮＯ）、ＭＰＵ１９は、ステップ８０７で以下のような処理を実行する。ＭＰＵ１９は、これまで用いられていた速度補正ゲインプロファイルにより、ステップ０８０５で得られた速度値（Vx’、Vy’）を補正し、ポインタ速度値（Vx’’、Vy’’）を算出する。ＭＰＵ１９は、このポインタ速度値（Vx’’、Vy’’）の情報を含む移動コマンドを制御装置４０に送信する（ステップ８１１）。
【０１７０】
ポインティング操作形態と手書き入力操作形態とが切り替えられた場合（ステップ８０４のＹＥＳ）、ＭＰＵ１９は、ステップ８０８で以下のような処理を実行する。ＭＰＵ１９は、ステップ８０６と同様に、速度補正ゲインプロファイルを変更し（ステップ８０８）、変更された速度補正ゲインプロファイルによりポインタ速度値（Vx’’、Vy’’）を算出する。ＭＰＵ１９は、このポインタ速度値（Vx’’、Vy’’）の情報を含む移動コマンドを制御装置４０に送信する（ステップ８１１）。
【０１７１】
制御装置４０のステップ８１２〜８１４の処理は、ステップ１０９〜１１１と同様の処理である。
【０１７２】
図２５で示したフローチャートにおいても、図２０で示した処理と同様の趣旨で、制御装置４０が主要な計算を行うようにしてもよい。その場合、図２５において、入力装置１がステップ８０１〜８０３を実行し、制御装置４０がステップ８０４〜８１０、８１３、８１４を実行すればよい。
【０１７３】
図２６は、ステップ８０７及び８１０での処理を示すフローチャートである。ＭＰＵ１９は、下記の式（３）、（４）に示すように、算出された速度値（Vx’、Vy’）に所定のゲイン値（Kx、Ky）をそれぞれ乗じることで、ポインタ速度値（Vx’’、Vy’’）を得る。
【０１７４】
Vx’’= Kx・Vx’・・・（３）
Vy’’= Ky・Vy’・・・（４）。
【０１７５】
図２７（Ａ）は、上記式（１）または（２）のゲイン値Kx及び／またはKyのゲインプロファイルを示すグラフであり、特に、ポインティング操作形態で用いられるゲインプロファイルである。
【０１７６】
図２７（Ａ）において、横軸が速度値Vx’及び／またはVy’であり、縦軸がゲイン値Kx及び／またはKyである。つまり、ゲイン値Kx及び／またはKyは、速度値Vx’及び／またはVy’のそれぞれの関数である。
【０１７７】
図２７（Ａ）に示す例では、ＭＰＵ１９は、入力装置１が低速度の範囲である閾値v1から閾値v2までの範囲（第１の範囲）では、ゲイン値Kを可変に制御し、閾値v2を超える範囲（第２の範囲）では、ゲイン値Kを一定に制御する制御手段として機能する。
【０１７８】
横軸の速度値の分解能を±１２８（８ビット）の絶対値で表した場合、閾値v1は、４〜１２、あるいは６〜１０とされ、典型的には８とされる。また、閾値v2は、１０〜２０、あるいは１２〜１６、典型的には１４とされる。しかし、閾値v1及びv2は上記の範囲に限られず、適宜変更可能である。横軸の速度値の分解能は８ビット以下でもよいし、８ビットより大きくてもよい。
【０１７９】
閾値v2以下の速度は、実際の入力装置１の速度に換算すると、典型的には５cm/s以下となるが、１０cm/s以下、３cm/s以下、あるいはその他の範囲（例えば、２〜４cm/s）等、適宜設定の変更が可能である。入力装置１が比較的高速な範囲としては、例えば１０cm/sを超える場合、あるいは、２０cm/sを超える場合等であるが、これも適宜設定の変更が可能である。
【０１８０】
図２７（Ｂ）は、図２７（Ａ）に示したゲインプロファイルによって得られる、上記した速度補正ゲインプロファイルを示すグラフである。横軸は、図２７（Ａ）と同様に、速度値Vx’及び／またはVy’である。図２７（Ａ）のプロファイルを時間微分したグラフが、図２７（Ｂ）の速度補正ゲインプロファイルのグラフになる。ゲインは、入力装置１の速度値Vx’またはVy’を入力とし、ポインタ速度値（Vx’’、Vy’’）を出力とした値である。
【０１８１】
図２７（Ｂ）に示すように、入力装置１の速度値Vx’またはVy’が０のときのゲイン値K1は、例えば０．２〜０．４の間、つまり出力／入力が０．２〜０．４の間に設定されているが、この範囲に限られない。一定のゲイン値K2は、１とされるがこれ以外の値であってもよい。ゲイン値K2が一定値であれば、入力装置１の速度値とポインタ速度値とがリニアな対応になるからである。
【０１８２】
ＭＰＵ１９は、図２７（Ａ）に示したゲインプロファイルを表す関数及び図２７（Ｂ）に示した速度補正ゲインプロファイルを表す関数をメモリに記憶し、その関数を用いて動的にポインタ速度値を算出すればよい。あるいは、入力装置１の速度値Vx’またはVy’と、ポインタ速度値との対応を示した、ゲインプロファイルに基き生成されたルックアップテーブルが、予めメモリに記憶されていてもよい。
【０１８３】
このように、入力装置１の速度値Vx’またはVy’が閾値v2以下の比較的低速な範囲ではゲイン値Kが可変に制御される。例えば、本実施の形態では、入力装置１の速度値v1〜v2の範囲において、入力装置１の速度値値Vx’またはVy’が増えるほど、ゲイン値Kが増えるように設定されている。したがって、ユーザは、入力装置１の動きが比較的低速な範囲では精密なポインティングが可能となる。また、入力装置１の速度値VxまたはVyが、閾値v2を超える比較的高速な範囲では、ゲイン値Kが一定に制御される。したがって、入力装置１の速度値VxまたはVyが比較的高速な範囲では、入力装置１とポインタ２の動きとがリニアに対応し、ユーザの操作感が向上する。
【０１８４】
逆に言うと、入力装置１の速度値VxまたはVyが比較的低速な範囲は、速度補正ゲインプロファイルがリニアでなくても、ユーザはそれがリニアであるか否かをほとんど判別することができない範囲である。つまり、その範囲は、上記したように、典型的には５cm/s以下である。
【０１８５】
また、ＭＰＵ１９は、入力装置１の速度値Vx’またはVy’が０から閾値v1までの範囲では、ゲインを一定に制御している。このように、入力装置１の動き始め（入力装置が動き出す瞬間）の動作に応じて、ポインタ２の動きがリニアになるので、ポインタ２はスムーズに動き出す。
【０１８６】
ここで、閾値v1〜v2におけるゲイン値Kの増え方について、図２７（Ａ）の典型例では、１次関数的に増えている。これに限られず、２次以上の多次関数で増える場合、ステップ状に増える場合、これらのうち少なくとも２つの組み合わせ、あるいは、その他様々な増え方が考えられる。２次以上の多次関数とは、もちろん下に凸には限られず、上に凸の関数、あるいはこれらの組み合わせであってもよい。以下、２次以上の多次関数といった場合、このような趣旨である。
【０１８７】
以上のように設定された速度補正ゲインプロファイルが、図２５に示したステップ８０６において、操作形態の切り替えが検出されたことに応じて変更される。図２８は、複数の速度補正ゲインプロファイルの例を示すグラフである。これら複数の速度補正ゲインプロファイルを表す関数式が予めメモリに記憶されているか、または、それら複数の速度補正ゲインプロファイルをルックアップテーブルが予めメモリに記憶されていればよい。
【０１８８】
ポインティング操作形態では、速度補正ゲインプロファイルａが用いられる。手書き入力操作形態では、リニアな速度補正ゲインプロファイルｂまたはｃが用いられる。これにより、各操作形態に適した速度補正ゲインプロファイルによりポインタ速度値が算出されるので、ユーザの操作感が向上する。
【０１８９】
図２９（Ａ）は、他の実施の形態に係るゲインプロファイルを示すグラフである。このゲインプロファイルでは、図２７（Ａ）で示した閾値v1が０に設定されている。このようなゲインプロファイルにより、図２９（Ｂ）に示す速度補正ゲインプロファイルは、入力装置１の速度値０から滑らかに上昇する。これにより、ユーザは低速範囲においてストレスを感じることもない。
【０１９０】
また、図２９（Ａ）に示すこのゲインプロファイルでは、v1（＝０）からv2までの関数が２次以上の多次関数となっている。しかし、図２７（Ａ）に示すように、この部分は直線であってもよい。
【０１９１】
図３０（Ａ）は、さらに別の実施の形態に係るゲインプロファイルを示すグラフである。図３０（Ｂ）は、図３０（Ａ）に示したゲインプロファイルによって得られる速度プロファイルを示すグラフである。
【０１９２】
この例では、ゲインプロファイルは、その入力装置１の加速度値に基いて設定されており、閾値v1（＝０）〜v2までの範囲では、入力装置の加速度値が増えるほど、最も下に位置する太線のゲインプロファイルから、ゲインプロファイルが離れて１（または１付近）に近づく。すなわち、加速度値が大きいほど、閾値v2が低速側にシフトしていく。
【０１９３】
閾値v1は０以外の値であってもよい。閾値v1（＝０）からv2までの範囲におけるゲインが２次以上の多次関数となっているが、直線であってもよい。
【０１９４】
ＭＰＵ１９は、閾値v1〜v2の範囲において速度値（Vx、Vy）に応じて可変なゲイン値K（太線の基本ゲイン値）と、速度値Vx、Vyを微分演算することにより得られる加速度値（axi、ayi）の関数（f(axi)、f(ayi)）とに基き得られる演算値を用いてゲインを制御する。閾値v1〜v2の範囲における太線の基本ゲイン値はメモリに予め記憶されていればよい。
【０１９５】
以降、加速度値axiまたはayiを、単に加速度値aiといい、関数f(axi)またはf(ayi)を、単にf(ai)という場合もある。
【０１９６】
関数f(ai)は、加速度値aiが増えるにしたがって増える関数である。その増え方は、１次関数、２次以上の多次関数、ステップ状、あるいはこれらのうち少なくとも２つの組み合わせ、その他様々な増え方が考えられる。関数f(ai)は、ユーザテストにより、例えば入力装置１の高加速時での操作のユーザが感じる違和感と、精密ポインティング操作の容易性とのバランスが図られながら設定されればよい。
【０１９７】
上記演算値とは、基本ゲイン値Kに、上記関数f(ai)を加算する、または、乗じることにより得られる値である。図３０（Ａ）では、演算値は、基本ゲイン値Kに、上記関数f(ai)を加算する場合を示した。これにより、図３０（Ａ）に示すようなゲインプロファイルが得られる。つまり、加速度値aiが大きいほど、太線で示したゲイン値から、ゲイン値Kが１（または１付近）に近づく。すなわち、加速度値aiが大きいほど、閾値v2が低速側にシフトしていく。
【０１９８】
図３１（Ａ）は、図２７（Ｂ）で示した速度補正ゲインプロファイルを用いて、ユーザが入力装置１による手書き入力操作により描いた円を示す図である。図３１（Ｂ）は、例えば図２８に示した、リニアな速度補正ゲインプロファイルｃを用いて描かれた円を示す図である。
【０１９９】
図２７（Ｂ）で示した速度補正ゲインプロファイルでは、本体１０の低速領域では、ポインタ速度値はさらに低速に変換される。したがって、Ｘ軸方向での本体１０の速度が低い領域６５ａ及び６５ｂでは、見かけ上、Ｙ軸方向のポインタ２の動きが促進されるようになる。また、Ｙ軸方向での本体１０の速度が低い領域６６ａ及び６６ｂでは、見かけ上、Ｘ軸方向のポインタ２の動きが促進されるようになる。したがって、このような歪みのある円になってしまう。これに対し、図３１（Ｂ）では、リニアな速度補正ゲインプロファイルが用いられることで、きれいな円が描かれる。
【０２００】
次に、複数のユーザが入力装置１を使用する場合の実施形態について説明する。
【０２０１】
図３２は、複数のユーザが制御システム１００を使用するときに、複数のユーザを認証するための画面の例を示す図である。
【０２０２】
画面３は、制御装置４０の制御により表示装置５に表示される。画面３上には、認証用の認証ボタン４５〜４８の表示されている。各認証ボタン４５〜４８は、複数のユーザを識別するための識別情報と対応しており、制御装置４０または入力装置１は、それらの識別情報と、その複数のユーザが好む、入力装置１の操作に関する設定とをそれぞれ対応付けて記憶している。図３２の例では、各認証ボタン４５〜４８は、家族を構成する複数のユーザが好む設定に対応している。
【０２０３】
図３３（Ａ）は、入力装置１の操作に関する設定の調整パラメータの画面の例を示す図である。この図に示すように、例えば「ポインタの速度」、「操作のサポート」、「アイコンの触りやすさ」の調整の各項目が表示されている。
【０２０４】
例えば「ポインタの速度」の項目には、「ポインタの移動速度」、「スクロール速度」、「ズーム速度」等のパラメータが含まれる。
【０２０５】
例えば「ポインタの移動速度」の調整とは、図２７、図２８で示した速度補正ゲインプロファイルを変更することである。例えば、ゲインが一定範囲、つまり速度補正ゲインプロファイルの直線部分の傾きを変更すること、図２７（Ａ）に示した閾値v2及び／またはv1を変更すること等である。
【０２０６】
「操作のサポート」の項目には、例えば「アイコンへの吸い込み度」、「ポインタの移動の制限度」等のパラメータが含まれる。例えば「アイコンへの吸い込み度」の調整とは以下のようなものである。例えば、画面３上のアイコン４の周囲であって所定の領域について、アイコン４から遠く離れた位置より、上記速度補正ゲインプロファイルのゲインが高く設定されているとする。その場合、「アイコンへの吸い込み度」の調整とは、そのゲインの高さの調整、その所定の領域の面積の大きさの調整等である。
【０２０７】
「ポインタの移動の制限度」とは、例えば画面を所定の方向にスクロールするスクロールバー、その他のＧＵＩからのポインタ２の外れにくさの度合いである。つまり、「ポインタの移動の制限度」が強いほど、ポインタ２がそのＧＵＩから外れにくい。この「ポインタの移動の制限度」の調整の実現方法としては、「アイコンへの吸い込み度」と同様であってもよい。
【０２０８】
「アイコンの触りやすさ」の項目には、例えば「手ぶれ補正の強度」、「ポインタの停止時間」、「ポインタの大きさ」、「アイコンの大きさ」、「精密動作」等のパラメータが含まれる。
【０２０９】
「手ぶれ補正の強度」の調整とは、図１３に示した手ぶれ補正ゲインプロファイルａ〜ｃを変更すること、手ぶれ補正ゲインプロファイルｃの傾きを変更すること、図１１で示した閾値Th1、Th2及び／またはTh3を変更すること等である。あるいは、手ぶれ補正ゲインプロファイルの形状を変更すること等である。
【０２１０】
「ポインタの停止時間」とは、例えばユーザが入力装置１のエンターボタン１１を押してその信号がＭＰＵ１９に入力されてから、ＭＰＵ１９が本体１０の速度値の情報を含む移動コマンドを出力するまで（あるいは送信機２１から移動コマンドが送信されるまで）の時間である。及び／または、ユーザがそのエンターボタン１１を押してその信号がＭＰＵ１９に入力された後、エンターボタン１１を離してその信号の入力が解除されてから、ＭＰＵ１９が移動コマンドを出力するまで（あるいは送信機２１から移動コマンドが送信されるまで）の時間である。
【０２１１】
エンターボタン１１を押して入力される操作信号は、本体１０の動きによらない操作信号である。しかし、ユーザが入力装置１を空中で操作する場合、エンターボタン１１を押したとき、あるいは、エンターボタン１１を離すとき、本体１０にもそのユーザの力が加わるので、本体１０も動くおそれがある。すなわち、ユーザがエンターボタン１１を押すたび及び離すたびに本体１０が動くと、ユーザはドラッグ操作を意図していないのにドラッグ操作が実行されてしまう。このことを防止するために、制御システム１００は、本体１０の動きによらない操作信号が入力されてから、あるいはそれが解除されてから所定の時間は、ポインタ２の移動を停止するような制御を実行する。「ポインタの停止時間」は、その停止時間を調整するためのパラメータである。
【０２１２】
図３４は、ポインタを所定の時間停止させる処理を実現するための入力装置１の動作を示すフローチャートである。
【０２１３】
図３５は、図３４に示す動作を実現するための入力装置１の機能的なブロック図である。分周器１４４は、水晶発振器２０から供給されるパルスに基き所定の周波数のクロックパルスを生成する。カウンタ１４５は分周器１４４で生成されたクロックパルスをカウントする。カウント値設定部１４６では、例えば所定数のカウント値が設定されそのカウント値を記憶する。制御部１４７は、カウンタ１４５から供給されるカウント値とカウント値設定部１４６から供給されるカウント値とを比較し、比較の結果に基き後述する処理を実行する。
【０２１４】
分周器１４４、カウンタ１４５、カウント値設定部１４６、制御部１４７等のブロックは、例えばＭＰＵ１９が有している。
【０２１５】
カウント値設定部１４６で設定されるカウント値としては、上記した２つの種類がある。１つは、ユーザによりエンターボタン１１が押されてから、つまり操作信号の入力が開始されてからの時間であって、ＭＰＵ１９が画面３上でポインタ２を動かすための移動コマンドの生成または送信を停止している時間に相当するカウント値である。以下、このカウント値を第１のカウント値とする。
【０２１６】
もう１つは、ユーザにより押されたエンターボタン１１が離されてから、つまり操作信号の入力が解除されてからの時間であって、ＭＰＵ１９が移動コマンドの生成または送信を停止している時間に相当するカウント値である。以下、このカウント値を第２のカウント値とする。
【０２１７】
第１のカウント値と第２のカウント値は同じであってもよいし、異なっていてもよい。典型的にはそれらは、０．２秒に相当するが、これに限られない。第１及び第２のカウント値のうち少なくとも一方は、ユーザによりカスタマイズできるようになっていてもよい。
【０２１８】
ＭＰＵ１９は、移動コマンドの生成または送信を停止する代わりに、画面３上でのポインタ２の変位量をゼロとする移動コマンド、すなわち速度値がゼロにリセットされた移動コマンドの信号を出力してもよい。
【０２１９】
なお、一般的にＰＣでは、マウスのボタンを介してユーザにより入力された操作信号の入力が解除されること、つまり押されたボタンが離されたことをトリガーとして、その操作のコマンドが実行されることが多い。
【０２２０】
図３４に示すように、ユーザによりボタン１１が押された場合（ステップ９０１のＹＥＳ）、制御部１４７はタイマーをオンとし（ステップ９０２）、カウンタ１４５によるカウントアップを開始する。そうすると、ＭＰＵ１９は移動コマンドの出力を停止させる（ステップ９０３）。あるいは、ＭＰＵ１９は第１のカウント値に相当する時間内でポインタ２の変位量をゼロとする移動コマンドを出力し続けるようにする。
【０２２１】
制御部１４７は、カウント値設定部１４６で設定された第２のカウント値とカウンタ１４５から供給されるカウント値とを比較する（ステップ９０４）。つまり、両カウント値が一致すれば、制御部１４７はタイマーを終了する。両カウント値が異なれば制御部１４７はタイマーを作動し続け、次のステップ９０５に進む。ステップ９０５では、ＭＰＵ１９は、押されたボタン１１が離されたか否か、つまり操作信号の入力が解除されたか否かを監視する。押されたボタン１１が離されていない場合、ＭＰＵ１９は、カウント値を１インクリメントし（ステップ９０６）、ステップ９０３に戻る。
【０２２２】
このように、ＭＰＵ１９は、タイマーを作動し続けている間、つまりカウンタ１４５から供給されるカウント値が第１のカウント値が一致するまでは、移動コマンドの生成または送信を停止する。あるいは、上記したようにＭＰＵ１９は画面３上でのポインタ２の変位量をゼロとする移動コマンドを第１のカウント値内で出力し続けるようにしてもよい。このような処理により、ユーザがボタン１１を介して操作信号を入力したときに本体１０が動いてセンサユニット１７によりその動きが検出されても、画面３上でのポインタ２の動きが規制される。したがって、ユーザの意図しないポインタ２やアイコン４等の動作が発生することを防止できる。
【０２２３】
タイマーが終了した場合（ステップ９０４のＹＥＳ）、ＭＰＵ１９は移動コマンドを生成または送信する（ステップ９０７）。この場合、ポインタ２は、入力装置１の動きに応じて画面３上で移動する。ステップ９０７では、操作信号の入力が未だ解除されていない状態であり、ユーザがボタン１１を押した状態を保ったまま入力装置１を動かしている状態にある。
【０２２４】
タイマーが作動している間であっても、操作信号の入力が解除された場合（ステップ９０５のＹＥＳ）、ステップ９０７と同様に、ＭＰＵ１９は移動コマンドを生成または送信する（ステップ９０８）。
【０２２５】
ステップ９０７の状態から、ＭＰＵ１９は、押されたボタン１１が離されたか否かを監視、つまり操作信号の入力が解除されたか否かを監視する（ステップ９０９）。解除された場合、制御部４７は再びタイマーをオンとし（ステップ３１０）、カウンタ１４５によるカウントアップを開始する。そうすると、ＭＰＵ１９は移動コマンドの出力を停止させる（ステップ３１１）。あるいは、ＭＰＵ１９は第２のカウント値に相当する時間内でポインタ２の変位量をゼロとする移動コマンドを出力し続けるようにする。
【０２２６】
制御部４７は、カウント値設定部１４６で設定された第２のカウント値とカウンタ１４５から供給されるカウント値とが一致する場合（ステップ３１２のＹＥＳ）、タイマーを終了する。タイマーが終了すると、ＭＰＵ１９は、移動コマンドを出力することで（ステップ９０８）、ポインタ２が移動する。このような処理により、ユーザがボタン１１を押し、それを離すときに本体１０が動いてセンサユニット１７によりその動きが検出されても、画面３上でのポインタ２の動きが規制される。したがって、ユーザの意図しないポインタ２やアイコン４等の動作が発生することを防止することができる。
【０２２７】
タイマーが未だ終了しない場合（ステップ３１２のＮＯ）、つまり両カウント値が異なる場合、ＭＰＵ１９はタイマーを作動し続け、次のステップ３１３に進む。ステップ３１３では、ＭＰＵ１９は、離されたボタン１１が再び押されたか否か、つまり操作信号の入力が再び入力が開始されたか否かを監視する。ボタン１１が押されていない場合、ＭＰＵ１９は、カウント値を１インクリメントし（ステップ３１４）、ステップ３１２に戻る。
【０２２８】
タイマーが作動している間であっても、操作信号の入力が開始された場合（ステップ３１３のＹＥＳ）は、ＭＰＵ１９はステップ９０２へ戻りタイマーを開始する。これにより、ユーザが違和感なくポインタ２やアイコン４を制御することができる。
【０２２９】
ここで、図３４において、ステップ９０５で操作信号の入力が解除された後、破線で示すように、制御部４７はステップ９０４のタイマーをリセットすることで再びタイマーを開始し、ステップ３１０以降の処理に進んでもよい。これにより、ユーザが違和感なくポインタ２やアイコン４を制御することができる。
【０２３０】
図３４に示した処理は、制御装置４０が実行してもよい。この場合、制御装置４０は、入力装置１から送信された加速度信号及び角速度信号を受信し、また、操作部２２を介して入力された操作信号を受信する。そして、制御装置４０は、それらの検出信号に応じた、ポインタ２の変位量に対応する第１の制御信号を生成し、操作部２２を介してユーザにより入力された操作信号に応じた第２の制御信号を生成する。実際には、制御装置４０が生成する第１の制御信号とは、上記ポインタ２の座標情報に基く制御信号となる。また、制御装置４０が生成する第２の制御信号とは、その入力装置１の操作部２２の操作信号に応じた各種所定の処理を実行するための制御信号である。
【０２３１】
図３３の説明に戻る。図３３（Ａ）に示した設定のパラメータが多く、ユーザに負担になる場合、図３３（Ｂ）及び図３３（Ｃ）に示した簡易なパラメータの設定用の画面が表示されてもよい。例えば図３３（Ｃ）において、「操作性」が「安定」になるほど、例えば図３３（Ａ）で示した「ポインタ移動速度」、「スクロール速度」等が遅く、また、「操作のサポート」の各パラメータの度合いが弱くなる。
【０２３２】
以上のように、制御装置４０は、各認証ボタン４５〜４８に対応する識別情報と、図３２に示した各設定情報とを対応付けて記憶し、各認証ボタン４５〜４８のうち、いずれか１つが選択されたときに、その設定を用いる（設定を変更する）プログラムを備える。入力装置１がこのプログラムを備えていてもよい。これにより、各ユーザの操作感覚にそれぞれ適したポインタ２の制御が実現される。
【０２３３】
一旦、設定情報が変更された後は、入力装置１がその設定を用いてポインタ２の動きを制御するか、または、制御装置４０がその設定を用いてポインタ２の動きを制御する。
【０２３４】
図３６は、入力装置の物理的な各操作ボタンに、上記各認証ボタン４５〜４８の機能が割り当てられた入力装置を示す模式図である。
【０２３５】
例えば、入力装置５１の本体６０には、エンターボタン６１、複数のユーザの認証ボタン５５〜５８、その他の操作ボタン５２が設けられている。本体６０内には、図５（Ａ）及び図５（Ｂ）で示したセンサユニット１７が設けられている。入力装置５１は、例えばＴＶ、その他のＡＶ機器等を操作するリモートコントローラとしても用いられるものである。複数の操作ボタン５２は、例えばＴＶのチャンネルを選択するためのボタンである。例えば、複数の操作ボタン５２のうち１つの操作ボタン５２による入力、または２つ以上の操作ボタン５２による入力の組合せにより、ユーザの認証が行われてもよい。
【０２３６】
認証ボタン５５〜５８の機能は、図３２に示した認証ボタン４５〜４８と同様である。つまり、認証ボタン５５〜５８に複数のユーザの識別情報がそれぞれ割り当てられ、入力装置５１が、選択された１つの識別情報に応じた設定を用いるプログラムを備えている。入力装置５１がこのプログラムを備えていることにより、ユーザが普段使っている制御装置４０とは別の制御装置であっても、そのユーザ自身に適した操作感覚でその別の制御装置を操作することができる。
【０２３７】
もちろん、当該プログラムは、制御装置４０が備えていてもよい。その場合、認証ボタン５５〜５８のうちいずれか１つの認証ボタンが押されたときに、入力装置１は、例えばその１つの認証ボタンに対応する識別情報を制御装置４０に送信すればよい。制御装置４０は、これを受信し、設定情報を変更する。この場合、制御装置４０は、例えば速度値（Vx、Vy）を受信し、図３３に示した各種の調整パラメータによる調整処理を実行する。
【０２３８】
ユーザが認証された後は、制御装置は、認証されたユーザが好むメニュー画面、選択可能なアイテム等、そのユーザの識別情報に対応するコマンド群をＧＵＩにより表示装置５に表示させてもよい。
【０２３９】
なお、図３２、図３６で示した例において、ユーザが認証ボタン４５〜４８（５５〜５８）のうち、１つの認証ボタンを選択して識別情報を入力する前の、入力装置１の操作に関する設定情報は、デフォルトの設定か、または、その入力前に選択された１つの識別情報に対応する設定になっていればよい。
【０２４０】
上記した認証ボタン４５〜４８、５５〜５８による認証方法のほか、次のような方法でユーザが認証されてもよい。例えば、一のユーザが入力装置１を用いて、そのユーザに特定のジェスチャーを行い、そのジェスチャーが予め入力装置１または制御装置４０に記憶されたジェスチャー情報と一致または近い場合に、そのユーザは本人であると認証される。ジェスチャー情報とは、典型的には、例えばユーザが予め登録しておいた本体１０の動きの情報である。入力装置１または制御装置４０は、この本体１０の動きの情報を、例えばセンサユニット１７を用いて、そのユーザ設定の登録時に生成するためのソフトウェアを備えていればよい。ユーザが認証時に本体１０を動かし、その動きが登録された本体１０の動きと一致し、または類似する場合に認証される。その本体１０の動きは、本体１０を所定の回数振る動き、ユーザ本人のサインを書くときの動き、あるいは、その他の文字や図形等を描くときの動き等でよい。
【０２４１】
図３７〜図４６に、本発明のさらに別の実施の形態に係る入力装置（ポインティングデバイス、あるいはリモートコントローラ）を示した。
【０２４２】
本発明に係る実施の形態は、以上説明した実施の形態に限定されず、他の種々の実施形態が考えられる。
【０２４３】
図２５に示したフローチャートでは、手ぶれ補正ゲインプロファイルを用いて速度値（Vx’、Vy’）が算出され、また、速度補正ゲインプロファイルを用いてポインタ速度値（Vx’’、Vy’’）が算出された。しかし、例えば、手ぶれ補正処理が行われず、速度補正処理が行われる処理も考えられる。その場合、図２５において、ステップ８０５、８０６及び８０９を省略したフローで処理される。
【０２４４】
上記各実施の形態に係る入力装置１、５１は、無線で入力情報を制御装置に送信する形態を示したが、有線により入力情報が送信されてもよい。
【０２４５】
上記各実施の形態では、入力装置１、５１の動きに応じて画面上で動くポインタ２を、矢印の画像として表した。しかし、ポインタ２の画像は矢印に限られず、単純な円形、角形等でもよいし、キャラクタ画像、またはその他の画像であってもよい。
【０２４６】
センサユニット１７の、角速度センサユニット１５及び加速度センサユニット１６の検出軸は、上述のＸ’軸及びＹ’軸のように必ずしも互いに直交していなくてもよい。その場合、三角関数を用いた計算によって、互いに直交する軸方向に投影されたそれぞれの加速度が得られる。また同様に、三角関数を用いた計算によって、互いに直交する軸の周りのそれぞれの角速度を得ることができる。
【０２４７】
上記角速度センサユニット１５の代わりとして、角度センサあるいは角加速度センサが用いられてもよい。角度センサとしては、地磁気センサまたはイメージセンサ等が挙げられる。例えば３軸地磁気センサが用いられる場合、角度値の変化量が検出されるので、その場合、角度値が微分演算されることで角速度値が得られる。角加速度センサは、複数の加速度センサの組み合わせにより構成され、角加速度センサにより得られる角加速度値が積分演算されることで、角速度値が得られる。
【図面の簡単な説明】
【０２４８】
【図１】本発明の一実施の形態に係る制御システムを示す図である。
【図２】入力装置を示す斜視図である。
【図３】入力装置の内部の構成を模式的に示す図である。
【図４】入力装置の電気的な構成を示すブロック図である。
【図５】センサユニットを示す斜視図である。
【図６】表示装置に表示される画面の例を示す図である。
【図７】入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。
【図８】手書き入力による操作形態でユーザが入力装置１を操作する場合の、本体の握り方を示す図である。
【図９】手ぶれ補正機能を実現する入力装置の構成を示すブロック図である。
【図１０】制御システムの基本的な動作を示すフローチャートである。
【図１１】その手ぶれ周波数の範囲にある代表的な周波数（例えば１５Ｈｚ）におけるフィルタの特性の例を示すグラフである。
【図１２】（Ａ）〜（Ｄ）は、図１１に示した補正前速度値ａ〜ｄにそれぞれ対応する、フィルタの周波数特性の例を示すグラフである。
【図１３】複数の手ぶれ補正ゲインプロファイルのパターンを示すグラフである。
【図１４】（Ａ）は、手ぶれ補正ゲインプロファイルｃを用いた場合において手書き入力ソフトにより文字入力された画面の例を示す図である。（Ｂ）は、フィルタの機能を停止させた場合の、文字入力された画面の例を示す図である。
【図１５】、手ぶれ補正ゲインプロファイルのゲインが一定でないゲインで手ぶれ補正される場合の動作を示すフローチャートである。
【図１６】図１５に示した動作とは別の実施の形態に係る、入力装置の動作を示すフローチャートである。
【図１７】（Ａ）は、この実施の形態で用いられるフィルタの特性である手ぶれ補正ゲインプロファイルを示すグラフである。（Ｂ）は、（Ａ）に比べ、補正前速度値が０からTh2までのゲインの減少する割合が低くなっている例を示す。
【図１８】（Ａ）〜（Ｅ）は、図１７（Ｂ）に示した各手ぶれ補正ゲインプロファイルａ〜ｅに対応する、ゲインの周波数特性をそれぞれ示すグラフである。
【図１９】さらに別の実施の形態に係る、入力装置の動作を示すフローチャートである。
【図２０】制御装置４０が主要な演算を行う場合の制御システムのフローチャートである。
【図２１】操作形態の切り替え検出において、ＧＵＩが用いられる場合の画面の例を示す図である。
【図２２】ＧＵＩが用いられる場合の、操作形態の別の検出方法を説明するための図である。
【図２３】ポインティング操作形態及び手書き入力操作形態の切り替えの第４の検出方法を示すフローチャートである。
【図２４】その第４の検出方法の他の実施形態を示すフローチャートである。
【図２５】このような速度補正ゲインプロファイルを用いたポインタ速度値の算出方法を示すフローチャートである。
【図２６】ステップ８０７及び８１０での処理を示すフローチャートである。
【図２７】（Ａ）は、ゲイン値Kx及び／またはKyのゲインプロファイルを示すグラフであり、特に、ポインティング操作形態で用いられるゲインプロファイルである。
【図２８】複数の速度補正ゲインプロファイルの例を示すグラフである。
【図２９】他の実施の形態に係るゲインプロファイルを示すグラフである。
【図３０】（Ａ）は、さらに別の実施の形態に係るゲインプロファイルを示すグラフである。（Ｂ）は、（Ａ）に示したゲインプロファイルによって得られる速度プロファイルを示すグラフである。
【図３１】（Ａ）は、図２７（Ｂ）で示した速度補正ゲインプロファイルを用いて、ユーザが入力装置１による手書き入力操作により描いた円を示す図である。
【図３２】複数のユーザが制御システムを使用するときに、複数のユーザをするための画面の例を示す図である。
【図３３】入力装置の操作に関する設定の調整パラメータの画面の例を示す図である。
【図３４】ポインタを所定の時間停止させる処理を実現するための入力装置１の動作を示すフローチャートである。
【図３５】図３４に示す動作を実現するための入力装置１の機能的なブロック図である。
【図３６】入力装置の物理的な各操作ボタンに、上記各認証ボタンの機能が割り当てられた入力装置を示す模式図である。
【図３７】本発明のさらに別の実施の形態に係る入力装置（ポインティングデバイス）の正面図である。
【図３８】図３７に示す入力装置の背面図である。
【図３９】図３７に示す入力装置の右側面図である。
【図４０】図３７に示す入力装置の左側面図である。
【図４１】図３７に示す入力装置の平面図である。
【図４２】図３７に示す入力装置の底面図である。
【図４３】図３７に示す入力装置の上面及び正面を手前に表した斜視図（参考図）である。
【図４４】図３７に示す入力装置の上面及び背面を手前に表した斜視図（参考図）である。
【図４５】図３７に示す入力装置の底面及び正面を手前に表した斜視図（参考図）である。
【図４６】図３７に示す入力装置の底面及び背面を手前に表した斜視図（参考図）である。
【符号の説明】
【０２４９】
１、５１…入力装置
２…ポインタ
３…画面
１０、６０…本体
１１、６１…エンターボタン
１５…角速度センサユニット
１６…加速度センサユニット
１７…センサユニット
１９、３５…ＭＰＵ
２２…操作部
２６…メモリ
２７…フィルタ
２８…制御部
２９…速度算出部
４０…制御装置
４５〜４８、５５〜５８…認証ボタン
１００…制御システム
【図１】
0005163291.tif 000002
【図２】
0005163291.tif 000003
【図３】
0005163291.tif 000004
【図４】
0005163291.tif 000005
【図５】
0005163291.tif 000006
【図６】
0005163291.tif 000007
【図７】
0005163291.tif 000008
【図８】
0005163291.tif 000009
【図９】
0005163291.tif 000010
【図１０】
0005163291.tif 000011
【図１１】
0005163291.tif 000012
【図１２】
0005163291.tif 000013
【図１３】
0005163291.tif 000014
【図１４】
0005163291.tif 000015
【図１５】
0005163291.tif 000016
【図１６】
0005163291.tif 000017
【図１７】
0005163291.tif 000018
【図１８】
0005163291.tif 000019
【図１９】
0005163291.tif 000020
【図２０】
0005163291.tif 000021
【図２１】
0005163291.tif 000022
【図２２】
0005163291.tif 000023
【図２３】
0005163291.tif 000024
【図２４】
0005163291.tif 000025
【図２５】
0005163291.tif 000026
【図２６】
0005163291.tif 000027
【図２７】
0005163291.tif 000028
【図２８】
0005163291.tif 000029
【図２９】
0005163291.tif 000030
【図３０】
0005163291.tif 000031
【図３１】
0005163291.tif 000032
【図３２】
0005163291.tif 000033
【図３３】
0005163291.tif 000034
【図３４】
0005163291.tif 000035
【図３５】
0005163291.tif 000036
【図３６】
0005163291.tif 000037
【図３７】
0005163291.tif 000038
【図３８】
0005163291.tif 000039
【図３９】
0005163291.tif 000040
【図４０】
0005163291.tif 000041
【図４１】
0005163291.tif 000042
【図４２】
0005163291.tif 000043
【図４３】
0005163291.tif 000044
【図４４】
0005163291.tif 000045
【図４５】
0005163291.tif 000046
【図４６】
0005163291.tif 000047