説明

入力装置、制御装置、制御システム及び制御方法

【課題】ポインティングと手書き入力を兼用するような入力装置で、装置の操作形態に適したフィードバックや操作性を実現する。
【解決手段】本装置では、加速度あるいは角速度から速度値を算出する(ST103)。さらにポインティング操作と手書き入力の操作とが切り替えられた否かを判定し(ST104)、切り替えられていれば手ぶれ補正用ゲインプロファイルを切り替える(ST106)。手書き入力操作形態では、例えばそれまでよりゲインが低い、手ぶれ補正が強い手ぶれ補正ゲインプロファイルにより画面上のポインタに対応する速度値が算出される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、GUI(Graphical User Interface)を操作するための入力装置、その入力装置から出力された情報に応じてGUIを制御する制御装置、これらの装置を含む制御システム及び制御方法に関する。
【背景技術】
【0002】
PC(Personal Computer)で普及しているGUIのコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。GUIは、従来のPCのHI(Human Interface)にとどまらず、例えばTVを画像媒体としてリビングルーム等で使用されるAV機器やゲーム機のインターフェースとして使用され始めている。このようなGUIのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている(例えば、特許文献1、2参照)。
【0003】
このようなポインティングデバイスは空間で操作されるので、手ぶれが問題となる。手ぶれを補正するため、ユーザの操作の動きを検出するセンサの出力信号について、その手ぶれに相当する周波数を帯域制限器で除去する、という手段がある(例えば、特許文献3参照)。特許文献3では、その帯域制限器により、例えば0.5〜15Hzの周波数が除去される例が記載されている。
【0004】
ポインティングデバイスの操作方法は他にもある。例えばユーザがペンを握るようにポインティングデバイス(ペン型入力装置)を握り、そのペン型入力装置を動かすことで、文字入力の操作を行う例が開示されている(例えば特許文献3参照。)。
【0005】
【特許文献1】特開2001−56743号公報
【特許文献2】特許第3748483号公報
【特許文献3】特許第3506878号公報(段落[0060]、[0062])
【発明の開示】
【発明が解決しようとする課題】
【0006】
このように、ポインティングデバイスの操作形態は様々である。したがって、それらの操作形態に応じて、ユーザが操作しやすいと感じる、ポインティングデバイスの速度と画面上のポインタの速度と関係があると考えられる。
【0007】
以上のような事情に鑑み、本発明の目的は、ポインティングデバイス等の入力装置の操作形態に合った、操作しやすい入力装置、制御装置、制御システム及び制御方法を提供することにある。
【0008】
本発明の別の目的は、複数のユーザが入力装置を使う場合に、各ユーザが満足するような操作感を得ることができる入力装置、制御装置、制御システム及び制御方法を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の一形態に係る入力装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを選択的に切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備する。
【0010】
演算手段は、第1の操作形態及び第2の操作形態の操作形態に応じた演算モードを用いて、対応移動値を算出するので、第1及び第2の操作形態に合致した操作感が得られる。
【0011】
対応移動値とは、ポインタを画面上で動かすための速度値、加速度値または移動量である。
【0012】
前記第1の操作形態は、ユーザが空間内で前記本体を動かすことで前記画面上の所定の位置をポインティングする操作形態であってもよい。
【0013】
第2の操作形態とは、例えばユーザが本体を動かすことによる手書き入力の操作形態である。手書き入力操作では、例えば文字、図形、記号、または符号等が入力される。
【0014】
前記演算手段は、前記本体の動きに対応した速度関連値を算出し、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定された第1のゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、前記第1の演算モードが用いられる場合及び前記第2の演算モードを用いられる場合に応じて前記第1のゲインプロファイルが異なってもよい。
【0015】
演算手段は、所定周波数の信号の出力値を減衰させるので、ゲインは1未満の値となる。所定の周波数範囲とは、手ぶれに相当する周波数の範囲である。本体に手ぶれ等の振動が発生しても、ユーザは画面上におけるポインタの精密なポインティング操作が可能となる。また、入力装置の動きに応じた適切なゲインに制御されるので、ユーザは、例えば減衰機能が持つ特性である位相遅れを感じることなく、入力装置を操作することができる。
【0016】
速度関連値とは、速度値または角速度値である。
【0017】
動き検出手段が、加速度センサ及び角速度センサのうち少なくとも一方を含んでいてもよい。動き検出手段が加速度センサを含む場合、その加速度センサにより得られる本体の加速度値に基づき、速度関連値としての速度値を算出してもよい。動き検出手段が角速度センサを含む場合、その角速度センサにより得られる本体の角速度値に基く演算により、または、角速度値及び速度値に関するルックアップテーブルにより、メモリ等に記憶された速度値を読み出せばよい。
【0018】
前記演算手段は、前記第1の演算モードでは、前記速度関連値が第1の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが徐々に減るように該ゲインを制御し、前記速度関連値が前記第1の閾値を超えて前記第1の閾値より大きい第2の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが徐々に増えるように該ゲインを制御してもよい。手ぶれが起こりやすい第1の閾値以下の速度関連値の範囲内において、速度関連値がゼロに近い値から第1の閾値までは、速度関連値が増えるほど手ぶれ量が多くなると考えられる。したがって、この範囲では、速度関連値が増えるほどゲインが徐々に減ることにより、ユーザの違和感をなくすことができる。また、第1の閾値を超えて速度関連値が増えるほど、手ぶれ量が少なくなると考えられる。したがって、速度関連値が第1の閾値を超えて第2の閾値に達するまでは、ゲインが徐々に増えることで、ユーザの違和感をなくすことができる。
【0019】
「徐々に」とは、「実質的に連続的に」、「段階的に」、またはこれらの組み合わせを含む意味である。
【0020】
前記演算手段は、時間的に連続する所定数の複数の前記速度関連値を記憶可能な記憶手段と、前記記憶された所定数の複数の速度関連値の符号が同じであるか否かを判定する判定手段とをさらに具備し、前記所定数の複数の速度関連値の符号が同じである場合、前記出力手段による減衰機能を停止させるか、または、弱めるように前記ゲインを制御してもよい。
【0021】
前記動き検出手段は、前記本体の動きに応じた加速度値を検出する加速度検出手段を有し、前記演算手段は、前記検出された加速度値に基き前記ゲインを制御してもよい。
【0022】
前記演算手段は、前記本体の動きに対応した速度関連値を算出し、前記第1の演算モードを用いる場合及び前記第2の演算モードを用いる場合の両方で、前記出力された速度関連値に、前記速度関連値に応じて設定された第2のゲインプロファイルのゲインを乗じることで前記対応移動値を算出し、前記第1の演算モードが用いられる場合及び前記第2の演算モードを用いられる場合に応じて前記第2のゲインプロファイルが異なっていてもよい。第2のゲインプロファイルは、速度関連値に応じて設定されている点は、第1のゲインプロファイルと同じであるが、第1のゲインプロファイルのように所定の周波数の出力値を対象とするものではない。
【0023】
前記演算手段は、前記第1の演算モードでは、前記出力された速度関連値のうち、第1の閾値から前記第1の閾値より大きい第2の閾値までの第1の範囲では、前記第2のゲインプロファイルのゲインを可変に制御し、前記出力された速度関連値が前記第2の閾値を超える第2の範囲では、前記第2のゲインプロファイルのゲインを一定に制御してもよい。第1の閾値は、ゼロに設定されてもよいし、ゼロより大きい値に設定されてもよい。
【0024】
前記演算手段は、前記第1の範囲では、前記速度関連値が増えるにしたがって、前記第2のゲインプロファイルのゲインが増えるように、該第2のゲインプロファイルのゲインを制御してもよい。
【0025】
前記演算手段は、前記算出された速度関連値がゼロから前記第1の閾値までの第3の範囲では、前記ゲインを一定に制御してもよい。これにより、本体の動き始め(本体が動き出す瞬間)の動作に応じて、ポインタの動きがリニアになるので、ポインタはスムーズに動き出す。
【0026】
前記操作形態検出手段は、前記本体に設けられたメカニカルスイッチであってもよい。あるいは、前記操作形態検出手段が制御装置に設けられる場合、当該操作形態検出手段は、第1の領域と第2の領域とを含む画面データを出力する手段と、前記ポインタが前記第1の領域内にあるとき前記本体が前記第1の操作形態で操作されると判定し、前記ポインタが前記第2の領域内にあるとき前記本体が前記第2の操作形態で操作されると判定する手段とを有していてもよい。
【0027】
前記演算手段は、前記画面上の第1の軸に沿う第1の対応移動値及び前記第1の軸とは異なる第2の軸に沿う第2の対応移動値を、前記対応移動値として算出し、前記動き検出手段は、前記第1の軸に対応する前記本体の第1の方向の第1の加速度値、及び、前記第2の軸に対応する、前記第1の方向とは異なる第2の方向の第2の加速度値を検出する加速度センサを有し、前記操作形態検出手段は、前記検出された前記第1の加速度値及び前記第2の加速度値の両方の絶対値が閾値以下となった場合、前記第1の操作形態から前記手書き入力操作の操作形態に切り替えられたことを検出してもよい。つまり、本体の姿勢変化により、第1の操作形態及び第2の操作形態が切り替えられる。
【0028】
閾値判定の対象となる値は、第1の加速度値及び第2の加速度値の両方の絶対値に限られない。例えば、それは第1の加速度値及び第2の加速度値の合成ベクトル量、その他の演算値であってもよい。
【0029】
前記演算手段は、前記画面上の第1の軸に沿う第1の対応移動値及び前記第1の軸とは異なる第2の軸に沿う第2の対応移動値を、前記対応移動値として算出し、前記動き検出手段は、前記第1の軸に対応する前記本体の第1の方向の第1の加速度値、前記第2の軸に対応する前記本体の前記第1の方向とは異なる第2の方向の第2の加速度値、及び、前記第1及び前記第2の方向の両方と異なる、前記本体の第3の方向の第3の加速度値を検出する加速度センサを有し、前記操作形態検出手段は、前記検出された第3の加速度値の絶対値が閾値を超えた場合に、前記第1の操作形態から前記第2の操作形態である手書き入力操作の操作形態に切り替えられたことを検出してもよい。
【0030】
前記本体は、エンターコードを入力するためにユーザに押されるエンターボタンを有し、前記操作形態検出手段は、前記エンターボタンが押されて前記エンターコードが入力された場合に、前記第1の操作形態から前記手書き入力操作の操作形態に切り替えられたことを検出してもよい。手書き入力操作は、ドラッグ操作により行われる場合が多い。したがって、ドラッグ操作があった場合に切り替えが検出されれば、切り替えの検出のための別途のハードウェア等を必要としない。
【0031】
本発明の一形態に係る制御装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値の情報に基づき、前記画面上の前記ポインタの動きを制御する。この場合、前記制御装置は、前記速度関連値の情報を受信する受信手段と、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記受信された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備する。
【0032】
特許請求の範囲において、「〜であって、」という前提部分は、本発明に係る形態の内容を明確化するために記載されたものであり、本発明者及び本出願人が当該前提部分について公知の技術を意識しているわけではない。以下、同様である。
【0033】
他の形態に係る制御装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記検出された検出値を出力する出力手段とを有する入力装置から出力された、前記検出値の情報に基づき、前記画面上の前記ポインタの動きを制御する。この場合、前記制御装置は、前記検出値の情報を受信する受信手段と、前記受信された検出値に基づき、前記本体の動きの速度に関連する速度関連値を算出し、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記算出された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備する。
【0034】
さらに別の形態に係る制御装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値の情報に基づき、前記画面上の前記ポインタの動きを制御する。この場合、前記制御装置は、前記速度関連値の情報を受信する受信手段と、前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記受信された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段とを具備する。
【0035】
本発明の一形態に係る制御システムは、入力装置と制御装置とを具備する。前記入力装置は、画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段と、前記算出された対応移動値の情報を出力する出力手段とを有する。前記制御装置は、前記出力された対応移動値の情報を受信する受信手段と、前記受信された対応移動値に応じて、前記画面上での前記ポインタの座標値を生成する座標値生成手段とを有する。
【0036】
本発明の一形態に係る制御方法は、入力装置の本体の動きを検出し、前記本体の、画面上のポインタを用いて前記画面上の所定の位置をユーザによりポインティングされる操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態のうち、前記本体の操作形態がいずれであるかを検出し、前記検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する。
【0037】
本発明の他の形態に係る入力装置は、本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段と、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させる減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力する出力手段と、複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶する記憶手段と、前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する出力制御手段とを具備する。
【0038】
これにより、複数のユーザが入力装置を使う場合に、各ユーザが満足するような操作感を得ることができる。
【0039】
前記記憶手段は、前記複数の識別情報のうち少なくとも1つの識別情報を、前記本体の動きであるジェスチャー動作の情報として記憶してもよい。
【0040】
さらに別の他の形態に係る制御装置は、本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値である出力値に基づき、画面上のポインタの動きを制御する。この場合、制御装置は、前記出力された出力値を受信する受信手段と、前記受信された前記速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力する出力手段と、複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶する記憶手段と、前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する出力制御手段とを具備する。
【0041】
他の形態に係る制御方法は、入力装置の本体の動きを検出し、前記検出された前記本体の動きの速度に関連する速度関連値を算出し、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力手段により出力し、複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶し、前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する。
【0042】
さらに別の形態に係る入力装置は、本体と、前記本体の動きを検出する動き検出手段と、ユーザにより操作される操作部と、前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンドを出力し、前記操作部が操作されることにより前記本体の動きによらない操作信号が入力され、前記入力された操作信号に応じた操作コマンドを出力する出力手段と、前記操作信号が入力されてから、または、前記操作信号の入力が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させる停止手段と、複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶する記憶手段と、前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記停止手段により前記ポインタの動きを停止させる時間を制御する時間制御手段とを具備する。
【0043】
さらに別の形態に係る制御装置は、本体と、前記本体の動きを検出する動き検出手段と、ユーザにより操作される操作部と、前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンド、前記操作部が操作されることにより前記本体の動きによらない操作信号が入力され、前記入力された操作信号に応じた操作コマンド、及び、前記操作信号を出力する出力手段とを有する入力装置から出力された、少なくとも前記移動コマンド及び前記操作信号に基づき、前記画面上の前記ポインタの動きを制御する。この場合、制御装置は、少なくとも前記移動コマンド及び前記操作信号を受信する受信手段と、前記受信された移動コマンドに応じて、前記画面上での前記ポインタの座標値を生成する座標値生成手段と、前記操作信号が受信されてから、または、前記操作信号の受信が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させる停止手段と、複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶する記憶手段と、前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記停止手段により前記ポインタの動きを停止させる時間を制御する時間制御手段とを具備する。
【0044】
さらに別の形態に係る制御方法は、入力装置の本体の動きを検出し、前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンドを前記入力装置により出力し、前記入力装置に設けられたユーザにより操作される操作部が操作されることにより前記本体の動きによらない操作信号が前記入力装置に入力された場合、前記入力された操作信号に応じた操作コマンドを前記入力装置により出力し、前記操作信号が入力されてから、または、前記操作信号の入力が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させ、複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶し、前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記ポインタの動きを停止させる時間を制御する。
【0045】
以上の説明において、「〜手段」と記載された要素は、ハードウェアで実現されてもよいし、ソフトウェア及びハードウェアの両方で実現されてもよい。ソフトウェア及びハードウェアの両方で実現される場合、そのハードウェアは、ソフトウェアのプログラムを格納する記憶デバイスを少なくとも含む。ハードウェアは、典型的には、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、NIC(Network Interface Card)、WNIC(Wireless NIC)、モデム、光ディスク、磁気ディスク、及び、フラッシュメモリのうち少なくとも1つが選択的に用いられることにより構成される。
【発明を実施するための最良の形態】
【0046】
以下、本発明の実施の形態を図面を参照しながら説明する。
【0047】
図1は、本発明の一実施の形態に係る制御システムを示す図である。制御システム100は、表示装置5、制御装置40及び入力装置1を含む。
【0048】
図2は、入力装置1を示す斜視図である。入力装置1は、ユーザが持つことができる程度の大きさとされている。入力装置1は、ペン形状とされており、ユーザがペンを握るように、入力装置1を握ることができる。
【0049】
入力装置1は、本体10、本体10の上部に設けられた例えば4つのボタン11、12、13、14等の操作部22を備えている。本体10の端部に設けられたボタン11は、いわゆるエンターボタンであり、例えばPCで用いられる入力デバイスとしてのマウスの左ボタンの機能を有する。本体10の中央に設けられたボタン12は、例えばそのマウスの右ボタンの機能を有する。
【0050】
例えば、ボタン11を長押して入力装置1を移動させることにより「ドラッグアンドドロップ」、ボタン11のダブルクリックによりファイルを開く操作等が行われるようにしてもよい。
【0051】
ボタン13は、画面3上に表示された画像を次の画像に進める、送りボタンとしての機能を有し、ボタン14は、画面3上に表示された画像を前の画像に戻す、戻りボタンとしての機能を有する。ボタン13及びボタン14の機能は、逆であっても構わない。ボタン13(及び14)の長押しにより、スクロール操作が行われてもよい。ボタン11〜14の配置、発行されるコマンドの内容等は、適宜変更可能である。
【0052】
図3は、入力装置1の内部の構成を模式的に示す図である。図4は、入力装置1の電気的な構成を示すブロック図である。
【0053】
入力装置1は、動き検出手段の概念に含まれるセンサユニット17、制御ユニット30、バッテリー23を備えている。
【0054】
図5(A)及び図5(B)は、センサユニット17を示す斜視図である。
【0055】
図5(A)に示すように、センサユニット17は、互いに異なる角度、例えば直交する2軸(X軸及びY軸)に沿った加速度を検出する加速度センサユニット16を有する。すなわち、加速度センサユニット16は、X軸方向の加速度センサ161、及び、Y軸方向の加速度センサ162の2つセンサを含む。
【0056】
また、センサユニット17は、図5(B)に示すように、その直交する2軸の周りの角加速度を検出する角速度センサユニット15を有する。すなわち、角速度センサユニット15は、ヨー方向の角速度センサ151、及び、ピッチ方向の角速度センサ152の2つのセンサを含む。
【0057】
これらの加速度センサユニット16及び角速度センサユニット15はパッケージングされ、回路基板25上の第1の面及びそれとは反対側の第2の面にそれぞれ搭載されている。このように、回路基板25の第1の面及び第2の面の両面に、加速度センサユニット16及び角速度センサユニット15がそれぞれ配置されることで、回路基板25の主面の面積を小さくすることができる。したがって、センサユニット17の小型化を実現することができる。これにより、センサユニット17が本体10に組み込まれやすくなる。
【0058】
ヨー及びピッチの角速度センサ151、152としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。X軸及びY軸の加速度センサ161、162としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。角速度センサ151または152としては、振動型ジャイロセンサに限られず、回転コマジャイロセンサ、レーザリングジャイロセンサ、あるいはガスレートジャイロセンサ等が用いられてもよい。
【0059】
図2、図4等の説明では、便宜上、本体10の長手方向をZ’方向とし、本体10の厚さ方向をY’方向とし、また、本体10の幅方向をX’方向とする。この場合、図4に示す用に、上記センサユニット17は、回路基板25の、加速度センサユニット16及び角速度センサユニット15を搭載する面がX’−Y’平面に実質的に平行となるように、本体10に内蔵される。これにより、上記したように、両センサユニット16、15はX’軸及びY’軸の2軸に関する物理量を検出する。
【0060】
説明の便宜上、以降では、入力装置1とともに動く座標系、つまり、入力装置1に固定された座標系をX’軸、Y’軸、Z’軸で表す。また、静止した地球上の座標系、つまり慣性座標系をX軸、Y軸、Z軸で表す。また、入力装置1の動きに関し、X’軸の周りの回転の方向をピッチ方向、Y’軸の周りの回転の方向をヨー方向といい、Z’軸(ロール軸)方向の周りの回転の方向をロール方向という場合もある。
【0061】
図3及び図4に示すように、制御ユニット30は、メイン基板18、メイン基板18上にマウントされたMPU19(あるいはCPU)、水晶発振器20、送信機21、スイッチ31〜34、メイン基板18上にプリントされた図示しないアンテナを含む。
【0062】
MPU19は、必要な揮発性及び不揮発性メモリを内蔵している。MPU19は、センサユニット17による検出信号、操作部22による操作信号等を入力し、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を行う。上記メモリは、MPU19とは別体で設けられていてもよい。MPU19の代わりに、DSP、FPGA等が用いられてもよい。
【0063】
典型的には、センサユニット17はアナログ信号を出力するものである。この場合、MPU19は、A/D(Analog/Digital)コンバータを含む。しかし、センサユニット17がA/Dコンバータを含むユニットであってもよい。
【0064】
送信機21は、MPU19で生成された制御信号をRF無線信号として、アンテナを介して制御装置40に送信する。
【0065】
水晶発振器20は、クロックを生成し、これをMPU19に供給する。バッテリー23としては、乾電池または充電式電池等が用いられる。
【0066】
スイッチ31、32、33、34は、ボタン11、12、13、14にそれぞれ対応し、これらのスイッチによりON/OFFの操作信号がMPU19に入力される。
【0067】
図1に示すように、制御装置40はコンピュータであり、MPU35(あるいはCPU)、RAM36、ROM37、表示制御部42、ビデオRAM41、アンテナ39及び受信機38等を含む。
【0068】
受信機38は、入力装置1から送信された制御信号を、アンテナ39を介して受信する。MPU35は、その制御信号を解析し、各種の演算処理を行う。表示制御部42は、MPU35の制御に応じて、主に、表示装置5の画面3上に表示するための画面データを生成する。ビデオRAM41は、表示制御部42の作業領域となり、生成された画面データを一時的に格納する。上記制御信号として、例えば後述するように、移動コマンド、操作コマンド、速度関連値の信号、加速度信号、あるいはその他の信号が、入力装置1から送信される。
【0069】
制御装置40は、入力装置1に専用の機器であってもよいが、PC等であってもよい。制御装置40は、PCに限られず、表示装置5と一体となったコンピュータであってもよいし、オーディオ/ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
【0070】
表示装置5は、例えば液晶ディスプレイ、EL(Electro-Luminescence)ディスプレイ等が挙げられるが、これらに限られない。あるいは、表示装置5は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよい。
【0071】
図6は、表示装置5に表示される画面3の例を示す図である。画面3上には、アイコン4やポインタ2等のUIが表示されている。アイコンとは、コンピュータ上のプログラムの機能、実行コマンド、またはファイルの内容等が画面3上で画像化されたものである。なお、画面3上の水平方向をX軸方向とし、垂直方向をY軸方向とする。
【0072】
次に、入力装置1の動かし方及びこれによる画面3上のポインタ2の動きの典型的な例を説明する。図7はその説明図である。
【0073】
図7(A)、(B)に示すように、ユーザが入力装置1を握った状態で、入力装置1のボタン11〜14が配置されている側を上に向け、本体10の、エンターボタン11が配置される端部を表示装置5側に向ける。この状態で、センサユニット17の回路基板25(図5(A)及び図5(B)参照)は、表示装置5の画面3に対して平行に近くなり、センサユニット17の検出軸である2軸が、画面3上の水平軸(X軸)(ピッチ軸)及び垂直軸(Y軸)(ヨー軸)に対応するようになる。以下、このような図7(A)、(B)に示す入力装置1の姿勢を基本姿勢という。
【0074】
図7(A)に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向、またはピッチ方向に振る。このとき、第2の加速度センサ162は、Y軸方向の加速度(第2の加速度)を検出し、第1の角速度センサ151は、角度関連値としてY軸の周りの角速度(第1の角速度)ωψを検出する。これらの検出値に基き、制御装置40は、ポインタ2がY軸方向に移動するようにそのポインタ2の表示を制御する。
【0075】
一方、図7(B)に示すように、基本姿勢の状態で、ユーザが手首や腕を左右方向、またはヨー方向に振る。このとき、第1の加速度センサ161は、X軸方向の加速度(第1の加速度)を検出し、第2の角速度センサ152は、角度関連値としてX軸の周りの角速度(第2の角速度)ωθを検出する。これらの検出値に基き、制御装置40は、ポインタ2がX軸方向に移動するようにそのポインタ2の表示を制御する。
【0076】
図8は、手書き入力による操作形態でユーザが入力装置1を操作する場合の、本体10の握り方を示す図である。ユーザは、本体10の、例えばセンサユニット17が配置される側の端部が下方側に向くように本体10を握り、手書き入力操作を行う。以下、図8に示した本体10の姿勢をペン姿勢という。
【0077】
入力装置1のMPU19は、所定の第1のクロックごとに取得する加速度値及び角速度値に基づき、典型的には、その第1のクロックごとにX軸方向の速度値及びY軸方向の速度値を算出し、これらを出力する。MPU19は、速度値の計算の方法によっては、第1のクロックよりも遅い第2のクロックごとにX軸及びY軸方向のそれぞれ速度値を出力する場合もある。
【0078】
制御装置40は、入力装置1の単位時間当りのX軸方向またはヨー方向の変位を、画面3上のX軸上でのポインタ2の変位量に変換する。また、制御装置40は、単位時間当りのY軸方向またはピッチ方向の変位を、画面3上のY軸上でのポインタ2の変位量に変換する。これによりポインタ2が移動する。典型的には、制御装置40のMPU35は、上記第1または第2のクロック数ごとに供給されてくる速度値について、(n−1)回目に供給された速度値に、n回目に供給された速度値を加算する。これにより、当該n回目に供給された速度値が、ポインタ2の変位量に相当し、ポインタ2の画面3上の座標情報が生成される。この場合、主として制御装置40のMPU19が、座標情報生成手段として機能する。
【0079】
本実施の形態に係る制御システム100は、ユーザの手ぶれによる入力装置1の本体10の振動に応じたポインタ2の動きを抑制するため、MPU19により算出された本体10の速度の出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる機能を有する。典型的には、入力装置1がその機能を有する。
【0080】
図9は、その機能を実現する入力装置1の構成を示すブロック図である。入力装置1は、速度算出部29、フィルタ27、制御部28及びメモリ26を備える。これら速度算出部29、フィルタ27、制御部28及びメモリ26は、主にMPU19が備える機能である。
【0081】
速度算出部29は、センサユニット17から出力された物理量、例えば加速度センサユニット16から出力されたX’軸及びY’軸方向の加速度値に基き、本体10の速度値をX’軸及びY’軸方向でそれぞれ算出する。
【0082】
フィルタ27は、速度算出部29で算出された速度値のうち、上記所定の周波数範囲の信号の速度値を、所定のゲインで減衰させる。所定の周波数範囲とは、手ぶれに相当する周波数の範囲である。その周波数範囲は、典型的には1〜20Hzであるが、この範囲に限られない。以下、所定の周波数を手ぶれ周波数という。フィルタ27は、デジタルフィルタで構成される。
【0083】
次に、以上のように構成された制御システム100の基本的な動作を説明する。図10は、その動作を示すフローチャートである。
【0084】
入力装置1に電源が投入される。例えば、ユーザが入力装置1または制御装置40に設けられた電源スイッチ等を入れることにより、入力装置1に電源が投入される。電源が投入されると、角速度センサユニット15から2軸の角速度信号が出力される。MPU19は、この2軸の角速度信号による第1の角速度値ωψ及び第2の角速度値ωθを取得する(ステップ101)。
【0085】
また、入力装置1に電源が投入されると、加速度センサユニット16から2軸の加速度信号が出力される。MPU19は、この2軸の加速度信号による第1の加速度値ax及び第2の加速度値ayを取得する(ステップ102)。この加速度値の信号は、電源が投入された時点での入力装置1の姿勢に対応する信号である。電源投入直後の本体10の姿勢は、図7に示した基本姿勢である場合もあるし、あるいは、図8に示したようにペン姿勢の場合もあるし、それら以外の姿勢もあり得る。
【0086】
なお、MPU19は、典型的にはステップ101及び102を所定のクロック周期ごとに同期して行う。
【0087】
速度算出部29は、加速度値(ax、ay)及び角速度値(ωψ、ωθ)に基いて、速度値(Vx、Vy)を算出する(ステップ103)。この速度算出部29による速度値の算出についての詳細は後述する。第1の速度値VxはX軸に沿う方向の速度値であり、第2の速度値VyはY軸に沿う方向の速度値である。
【0088】
速度値(Vx、Vy)の算出方法としては、速度算出部29が、例えば加速度値(ax、ay)を積分して速度値を求め、かつ、角速度値(ωψ、ωθ)をその積分演算の補助して用いる方法がある。逆に、速度算出部29が、角速度値(ωψ、ωθ)に対応する速度値を演算またはルックアップテーブルにより求め、加速度値を例えばその演算の補助して用いる方法がある。
【0089】
あるいは、MPU19は、加速度値(ax、ay)を、角速度値(ωψ、ωθ)の微分値(Δωψ、Δωθ)で割ることで本体10の動きの回転半径(Rψ、Rθ)を求める。その回転半径(R、R)に角速度値(ωψ、ωθ)が乗じられることにより速度値(Vx、Vy)が得られる。
【0090】
あるいは、動きセンサとして、角速度センサユニット15が設けられず、加速度センサユニット16が設けられ、加速度値(ax、ay)が単に積分されることで速度値(Vx、Vy)が算出されてもよい。逆に、動きセンサとして、加速度センサユニット16が設けられず、角速度センサユニット15が設けられ、角速度値(ωψ、ωθ)に対応する速度値(Vx、Vy)が演算またはルックアップテーブルにより算出されてもよい。
【0091】
MPU19は、ポインティング操作の操作形態と手書き入力の操作形態とが切り替えられた否かを判定する(ステップ104)。ポインティング操作形態とは、例えば図7(A)及び図7(B)に示すような本体10の握り方でポインタ2を用いて画面3上の所定の位置をポインティングするポインティング操作である。図8に示した手書き入力操作では、ユーザは、典型的には制御装置40が備えるアプリケーションソフトウェアを用いて、文字、数字、記号、絵等を入力する。手書き入力操作では、ユーザは、例えば、空間内で本体10を動かして、または、机、テーブル、床等の上で本体10を動かして手書き入力操作を行う。今現在の本体の操作形態が、ポインティング操作形態であるか、それとも手書き入力操作形態であるかの検出方法については後述する。
【0092】
操作形態が切り替えられない場合、MPU19は、上記フィルタ27による、後述する手ぶれ補正ゲインプロファイルを変更せずに、これまで用いていた手ぶれ補正ゲインプロファイルを用いて手ぶれ補正を実行する。これにより、画面3上のポインタ2の速度に対応するポインタ速度値(Vx’、Vy’)が算出される。典型的には、MPU19は、手ぶれ補正のため、ステップ103で算出された速度値である出力値のうち、手ぶれ周波数範囲にある出力値を減衰させるために、その出力値に所定のゲインを乗じる。
【0093】
図11は、その手ぶれ周波数の範囲にある代表的な周波数(例えば15Hz)におけるフィルタ27の特性(以下、手ぶれ補正ゲインプロファイルという。)の例を示すグラフである。グラフの横軸は、フィルタ27による補正前の入力装置1の速度値(以下、補正前速度値という。)を示し、縦軸は、フィルタ27による補正後の入力装置1の速度値(以下、補正後速度値という。)を示す。それぞれの速度値は、8ビット(±128)の絶対値で表している。
【0094】
グラフ中の破線は、フィルタ27のゲインが1である状態を示しており、すなわちフィルタ27による減衰機能が働いていない状態を示している。実際に1未満のゲインがかけられるときの線を、以降、補正線Aと呼ぶ。破線の値を分母とし、補正線Aの値を分子とした値が、ゲインになる。
【0095】
補正前速度値について、閾値Th1、Th2及びTh3が設定されている。この例では、
補正前速度値90〜95程度が閾値Th1、
補正前速度値70程度が閾値Th2、
補正前速度値1〜3程度が閾値Th3、
と設定されている。これらの閾値Th1〜Th3は、適宜変更可能である。
【0096】
また、この例におけるフィルタ27のゲインは、以下のように設定されている。
【0097】
補正前速度値0からTh3まで、及び、Th1以上については、ゲインは1に設定されている。すなわち、この範囲では、補正前速度値と補正後速度値とが同じになる。
Th3からTh2までは、補正前速度値が増えるにしたがってゲインが徐々に減るように設定されている。
Th2からTh1までは、補正前速度値が増えるにしたがってゲインが徐々に増えるように設定されている。
【0098】
図12(A)〜図12(D)は、図11に示した補正前速度値a〜dにそれぞれ対応する、フィルタ27の周波数特性の例を示すグラフである。図12(A)〜図12(D)から、補正前速度値が増えるにつれて、ゲインが減るように設定されているのが分かる。このようにゲインは周波数特性があるので、上記したように図11に示したグラフは、ある代表的な周波数における手ぶれ補正ゲインプロファイルである。したがって、例えば周波数ごとに異なる手ぶれ補正ゲインプロファイルの補正線A(例えば、閾値Th1、Th2等は同じで、ゲインが異なる補正線)が設定される。
【0099】
このように制御部28は、入力装置1の速度値に基き、フィルタ27のゲインを制御する。フィルタ27のゲインの周波数特性は、フィルタ27の設計時において、移動平均による、サンプリング周期、タップ数及び各速度値のゲイン値等が適宜設定されることにより設定される。
【0100】
ステップ104でYESの場合、MPU19は、手ぶれ補正ゲインプロファイルを変更する(ステップ106)。そうすると、MPU19は、変更された手ぶれ補正ゲインプロファイルによる手ぶれ補正を行い、ポインタ速度値(Vx’、Vy’)を算出する(ステップ107)。
【0101】
図13は、複数の手ぶれ補正ゲインプロファイルのパターンを示すグラフである。手ぶれの速度は個人差が大きいので、本発明者は、フィルタ27の設計時において、ユーザテストにより、手ぶれ速度の大きさの分散を求め、手ぶれ補正の対象となる速度範囲を決定した。その結果を示すグラフが図14のグラフである。手ぶれ速度の大きさは、例えば振動の最大速度とされた。
【0102】
この例では、3種類の手ぶれ補正ゲインプロファイルが示されている。
手ぶれ補正ゲインプロファイルaが、手ぶれ補正の対象となる速度範囲が狭い例を示し、2σに入るユーザ向けのプロファイルである。
【0103】
手ぶれ補正ゲインプロファイルbが、手ぶれ補正の対象となる速度範囲が広い例を示し、これは4σに入るユーザ向けのプロファイルである。
【0104】
手ぶれ補正ゲインプロファイルcが、補正前速度値とは無関係に、ゲインが一定であり、横軸に全近した1未満のプロファイルである。手ぶれ補正ゲインプロファイルcは、主に手書き入力操作形態で用いられるものである。手ぶれ補正ゲインプロファイルcは、減衰機能、つまり手ぶれ補正の度合いが、他の手ぶれ補正ゲインプロファイルa,bのそれより強いものとなる。
【0105】
なお、この例における手ぶれ補正ゲインプロファイルa及びbは、図11で示した速度プロファイルと同様に、Th1(Th1’)、Th2(Th2’)及びTh3が設定された例となっている。図14の手ぶれ補正ゲインプロファイルcよりもさらに低く、かつ一定のゲインが設定されてもよい。
【0106】
このような同じ周波数について、複数の手ぶれ補正ゲインプロファイルa〜cの情報が予めメモリ26等に記憶され、これらの手ぶれ補正ゲインプロファイルごとにTh1及びTh2、Th1’及びTh2’等がメモリ26等に記憶される。ステップ104において、例えば、ユーザがこれまでポインティング操作形態で本体10を操作していたが、手書き入力操作形態に、操作形態を切り替えるとする。そうすると、MPU19は、手書き入力用の手ぶれ補正ゲインプロファイルcを用いて、ポインタ速度値(Vx’、Vy’)を算出する。手書き入力の場合、ゲインが一定でかつ低い方がユーザは操作しやすい、つまり文字等を入力しやすいと感じる。
【0107】
図14(A)及び図14(B)は、本発明者が、一般的な文字入力ソフトを使って、日本語のひらがな(あ、い、う、え、お)をコンピュータに入力し、画面上に表示させた例を示している。図14(A)は、手ぶれ補正ゲインプロファイルcを用いた場合を示し、図14(B)は、フィルタの機能を停止させた場合を示す。これらの図から、手ぶれ補正ゲインプロファイルcが用いられることにより、文字入力等のときのユーザの細かな手ぶれによる影響を除去することができる。
【0108】
なお、手ぶれ補正ゲインプロファイルcのゲインとは異なる一定のゲインの手ぶれ補正ゲインプロファイルが、1つまたは複数設定されていもよい。
【0109】
次に、ステップ105及び107において、例えば図11で示した手ぶれ補正ゲインプロファイル及び図13で示した手ぶれ補正ゲインプロファイルaまたはbで、手ぶれ補正が行われる場合の処理を図15のフローチャートを用いて説明する。つまり、図15は、手ぶれ補正ゲインプロファイルのゲインが一定でないゲインで手ぶれ補正される場合の動作を示すフローチャートである。
【0110】
例えば図11を参照して、MPU19は、速度値(Vx、Vy)の絶対値(|Vx|、|Vy|)がTh1以下、または、Th3以上であるか否かを判定する(ステップ201)。ステップ201では、MPU19は、|Vx|及び|Vy|がそれぞれ独立してTh1以下であるか否かを判定すればよい。
【0111】
しかしこれに限られず、例えば速度値(|Vx|、|Vy|)のベクトル合成値([Vx2+Vy2]1/2)がTh1以下、または、Th3以上であるか否かが判定されてもよい。あるいは、|Vx|と|Vy|の大きい方が速度値の代表値とされ、その代表値がTh1以下、または、Th3以上であるか否かが判定されてもよい。これにより、MPU19の計算量が減り、消費電力が減る。
【0112】
ステップ201の条件が満たされない場合、MPU19の制御部28は、図11の手ぶれ補正ゲインプロファイルにより、ゲインを1として速度値を出力する。つまり、MPU19は、速度算出部29から出力された速度値(Vx、Vy)=(Vx’、Vy’)とし(ステップ202)、送信機21によりその速度値(Vx’、Vy’)を含む情報を、ポインタ2を画面3上で移動させるための移動コマンドとして制御装置40に送信する(ステップ108)。
【0113】
一方、ステップ201の条件が満たされる場合、制御部28は、図11に示すように、速度算出部29から出力された速度値の絶対値(|Vx|、|Vy|)に合わせたフィルタ27のゲインを設定する(ステップ203)。フィルタ27は、設定されたゲインで絶対値(|Vx|、|Vy|)を減衰させて(Vx’、Vy’)を出力し(ステップ204)、MPU19は、これを制御装置40に送信する(ステップ108)。
【0114】
以上のように、フィルタ27により速度値に応じて動的に手ぶれ周波数範囲の速度値が減衰されるので、本体10に手ぶれ等の振動が発生しても、ユーザは画面3上におけるポインタ2の精密なポインティング操作が可能となる。
【0115】
特に、速度値がTh1より大きい場合、ユーザは画面3上のある位置から比較的遠い別の位置までポインタ2を動かしている途中である。この場合、フィルタ27が機能すると、ユーザにとって位相遅れにより違和感を感じる場合があるので、ゲインが1に設定される。これにより、ユーザに位相遅れを感じさせない。
【0116】
また、速度値がTh3より小さい場合、つまり速度値が極めて小さい場合、ユーザは入力装置1をほぼ停止させているとき、入力装置1を停止させている状態から動かし始めた瞬間、または、動かしていた入力装置1を停止させる瞬間である。したがって、この場合も、位相遅れの発生を防止するため、ゲインが1に設定される。特に、ユーザが入力装置1を停止させている状態から動かし始めた瞬間には、ユーザは位相遅れによる違和感を感じやすくなる傾向にあるからである。
【0117】
また、制御部28は、図11に示したように、速度値がTh3を超えてTh2に達するまでの間はゲインが徐々に減るように、かつ、Th2を超えてTh1に達するまでの間はゲインが徐々に増えるようにゲインを制御する。手ぶれが起こるTh1以下の速度範囲内において、速度値がTh3を超えてTh2に達するまでは、速度値が増えるほど手ぶれ量が多くなると考えられる。したがって、この範囲では、速度値が増えるほどゲインが徐々に減ることにより、ユーザの違和感をなくすことができる。また、Th2を超えて速度値が増えるほど、手ぶれ量が少なくなると考えられる。したがって、速度値がTh2を超えてTh1に達するまでは、ゲインが徐々に増えることで、ユーザの違和感をなくすことができる。
【0118】
図10で示したフローチャートの説明に戻る。
【0119】
制御装置40のMPU35は、速度値(Vx’、Vy’)を受信機38により受信する(ステップ109)。MPU35は、下記の式(1)、(2)に示す、速度値Vx、Vyに応じた、ポインタ2の座標値X、Yを生成し(ステップ110)、画面3上のポインタ2が移動するように表示を制御する(ステップ111)。
【0120】
X(t) =X(t-1)+Vx’・・・(1)
Y(t) =Y(t-1)+Vy’・・・(2)。
【0121】
以上のように、操作形態が切り替えられたことに応じて、手ぶれ補正ゲインプロファイルが変更される。つまり、MPU19は、本体10の操作形態に応じて、第1の演算モードと第2の演算モードとを選択的に切り替えて、ポインタ速度値(Vx’、Vy’)を算出する。これにより、ポインティング操作形態及び手書き入力操作形態の両方に合致した操作感が得られる。
【0122】
また、上記したように、ユーザが机、テーブル、床等の上に本体10を接触させて文字等を入力する手書き入力操作の場合、本体10とその接触面との接触により本体10に振動が発生する場合があったとしても、手ぶれ補正ゲインプロファイルによりその振動をキャンセルすることができる。
【0123】
図16は、図15に示した動作とは別の実施の形態に係る、入力装置1の動作を示すフローチャートである。
【0124】
ステップ301では、MPU19は、ステップ103で得られた速度値(Vx、Vy)を微分演算することで、それぞれX’軸及びY’軸方向の加速度値(axi、ayi)を出力する。
【0125】
ステップ302〜304は、ステップ201〜203と同様の処理である。
【0126】
図17(A)は、この実施の形態で用いられるフィルタ27の特性である手ぶれ補正ゲインプロファイルを示すグラフである。このグラフも、手ぶれ周波数範囲にある代表的な周波数(例えば10Hz)におけるプロファイルである。このフィルタ27では、上記加速度値(axi、ayi)の絶対値(|axi|、|ayi|)に応じて、プロファイルが可変となっている。加速度値が大きいほど、ゲインが高く(1に近く)、加速度が小さいほどゲインが低く設定されている。
【0127】
あるいは、フィルタ27の手ぶれ補正ゲインプロファイルは、図17(B)のようなグラフであってもよい。図17(B)では、図17(A)に比べ、補正前速度値が0からTh2までのゲインの減少する割合が低くなっており、かつ、Th2からTh3までのゲインの増加する割合が低くなっている。
【0128】
図18(A)〜図18(E)は、図17(B)に示した各手ぶれ補正ゲインプロファイルa〜eに対応する、ゲインの周波数特性をそれぞれ示すグラフである。
【0129】
図16の説明に戻る。ステップ305では、MPU19の制御部28は、算出した加速度値の絶対値(|axi|、|ayi|)に応じて、つまり図17(A)または図17(B)の手ぶれ補正ゲインプロファイルにより、フィルタ27のゲインを動的に制御する。このゲインの制御は、典型的には加速度値に対して連続的に行われる。すなわち、その加速度値に基く所定の演算によりゲインが制御される。
【0130】
しかし、加速度値(または、加速度値の所定の範囲)ごとに対応する手ぶれ補正ゲインプロファイルの情報が予めメモリ26等に記憶されており、MPU19が加速度値に応じてそれを動的に読み出してもよい。この場合、手ぶれ補正ゲインプロファイルの数は、2つ以上であればよい。
【0131】
ステップ306は、ステップ204と同様の処理である。
【0132】
このように、図16に示す動作では、速度値及び加速度値の両方に基きゲインが制御されるので、ユーザの操作感が向上する。加速度値が大きいほど手ぶれ量は少ないと考えられる。つまり、加速度値も手ぶれ量と相関があるので、加速度値の監視によりユーザの操作感が向上する。
【0133】
図19は、さらに別の実施の形態に係る、入力装置1の動作を示すフローチャートである。
【0134】
ステップ401は、図16に示したステップ301と同様の処理である。
【0135】
ステップ402では、MPU19は、ステップ103で算出された時間的に連続する所定数の速度値(Vx、Vy)をサンプリングし、これらをメモリ26(図9参照)に記憶する。メモリ26に記憶される速度値のサンプル数は、適宜設定される。この場合、メモリ26としては、典型的にはリングバッファやFIFO(First In First Out)が用いられるが、これに限られない。
【0136】
MPU19は、記憶された所定数のサンプルされた速度値がすべて同じ符号であるか否かを判定する(判定手段)(ステップ404)。同じ符号の場合、MPU19は、ステップ405に進む。ステップ405は、ステップ303と同様の処理である。サンプルされた速度値がすべて同じ符号である場合は、その複数の速度値のサンプリングの期間中は、速度の向きが変わっていない。したがって、この場合、ユーザは画面上のある位置から比較的遠い別の位置までポインタを動かしている途中であると考えられる。この場合、フィルタ27が機能すると、ユーザにとって位相遅れにより違和感を感じる場合があるので、速度値を減衰させるための機能が停止させられるか、弱められればよい。
【0137】
メモリ26に記憶された所定数のサンプルされた速度値のうち、1つ以上の異なる符号のサンプルされた速度値がある場合、MPU19は、ステップ404以降の処理に進む。ステップ404、406〜408は、図14で示したステップ302、304〜306と同様の処理である。つまり、1つ以上の異なる符合のサンプルされた速度値が記憶されている場合、その複数の速度値のサンプリングの期間中に、速度の向きが変わっているので、手ぶれが起こっていると考えられる。したがって、ステップ406以降の処理が実行されることで、手ぶれによる影響を除去することができる。
【0138】
図19に示した動作において、図15に示した動作と同様に、加速度値が算出されないような処理であってもよい。すなわち、ステップ401、404及び407がない処理である。
【0139】
図10では、入力装置1が主要な演算を行ってポインタ速度値(Vx’、Vy’)を算出していた。図20に示す実施の形態では、制御装置40が主要な演算を行う。
【0140】
図20に示すように、入力装置1のMPU19は、ステップ504において、ステップ504で算出された速度値(Vx、Vy)の情報を制御装置40に送信する。制御装置40のMPU35は、その速度値(Vx、Vy)の情報を受信し(ステップ505)、ステップ104〜107と同様の処理を実行する(ステップ506〜509)。ステップ510及び511は、ステップ110及び111と同様の処理である。
【0141】
あるいは、図10において、ステップ104までの処理を入力装置1が実行し、ステップ105以降の処理を制御装置40が実行してもよい。
【0142】
あるいは、図20において、入力装置1のMPU19は、ステップ501及び502でそれぞれ算出された角速度値及び加速度値の情報を制御装置40に送信してもよい。制御装置40は、それらの情報を受信し、ステップ504のように速度値(Vx、Vy)を算出し、ステップ506以降の処理を実行すればよい。
【0143】
図15、図16及び図19で示した処理も、図20で示した処理と同様の趣旨で、制御装置40が主要な演算を実行してもよい。
【0144】
次に、図10に示したステップ104における操作形態の切り替えの検出方法、つまり本体の操作形態がポインティング操作形態であるか、手書き入力操作形態であるかの検出方法について、以下に、4つの検出方法を説明する。
【0145】
(第1の検出方法)
第1の検出方法として、入力装置1または制御装置40に設けられた、ディップスイッチ、ダイヤルスイッチ等の図示しないメカニカルなスイッチにより、ユーザが操作形態を切り替えるようにすればよい。そのスイッチが入力装置1に設けられる場合、例えば図10、図15、図16及び図19で示した処理が適用されればよい。一方、そのスイッチが制御装置40に設けられる場合、図20に示した処理が適用されればよい。
【0146】
(第2の検出方法)
第2の検出方法として、例えば図21に示すようなGUIによるボタンスイッチが用いられればよい。典型的には、制御装置40が、このGUIによるボタンスイッチを機能させるソフトウェアを記憶デバイスに記憶している。図21に示す例では、例えばポインティング操作形態によるボタンスイッチ43と、手書き入力操作形態によるボタンスイッチ44とが、画面3上に表示されている。
【0147】
図22は、GUIが用いられる場合の別の検出方法を説明するための図である。図22では、例えばユーザが手書き入力を行うための領域がGUIにより画面3上に表示された例を示す図である。画面3上の領域24が手書き入力が実行可能な領域である。領域24以外の領域は、ポインティング操作領域(第1の領域)である。ユーザが、本体10を動かすことで、ポインティング操作領域にあるポインタ2aを、手書き入力領域24内に移動させると、制御装置40のMPU35は、操作形態の切り替えを検出する。手書き入力領域24内にUI2b(ポインタ2b)がある状態で、ユーザがその手書き入力領域24内で文字等を描くことができる。手書き入力のための基本的なソフトウェアは、公知のものが用いられればよい。
【0148】
(第3の検出方法)
第3の検出方法として、ユーザによりエンターボタン11が押され、入力装置1がエンターコードを発生していることを、MPU19またはMPU35が検出したとき、それを操作形態の切り替え検出のタイミングとすればよい。既存の手書き入力のソフトウェアでは、ユーザは、マウスのエンターボタンを押しながらマウスを動かすことにより手書き入力を行う。本実施の形態においても、ユーザがエンターボタン11を押しながら動かす、つまり、ドラッグ操作の開始が、操作形態の切り替えのトリガーとなる。これにより、既存の手書き入力のソフトウェアをそのまま利用することができ、ユーザはそのような使い方に慣れているため、新たな習熟が必要とされないというメリットがある。また、この第3の検出方法は、操作形態の切り替えの検出のために別途のハードウェア等を必要としない。
【0149】
第3の検出方法では、手書き入力時ではなく、通常のポインティング操作時におけるドラッグ操作、例えば、ユーザがアイコン4をつまんで画面3上で移動させる操作においても、手書き入力操作形態に切り替えられる。したがって、通常のポインティング操作時におけるドラッグ操作時に、手ぶれ補正機能が働かなくなるので、精密なポインティング操作が困難になるおそれがある。しかし、ドラッグ操作しようとするとき、ユーザがアイコンをつまむ直前までは、エンターボタン11を押さないので、手ぶれ補正機能が働くので、精密ポインティングができなくても問題ない。エンターボタン11を押した後は、ドラッグ操作であるので、精密ポインティングが必要ない。
【0150】
また、第3の検出方法では、ユーザがエンターボタン11を押してエンターコードを発生させても、そのエンターコードが発生したときだけ手書き入力操作形態に切り替えられる。したがって、ユーザは、すぐにエンターボタン11を離せば、操作形態がポインティング操作形態に切り替えられるので、エンターコードが発生した瞬間に、ユーザは手書き入力操作形態であること認識できることはほとんどない。
【0151】
例えばエンターボタンによるスイッチが静電センサを備えた静電パッドによるスイッチでなっていてもよい。この場合、ユーザが指でその静電パッドに連続的に2回タッチして、2回目にタッチした指を静電パッドに接触させたままにしておくことで、ドラッグ操作が可能となるので、それを上記のように手書き入力操作及びその操作形態の判定に応用することができる。
【0152】
上記第1〜第3の検出方法において、今現在の操作形態が、ポインティング操作形態及び手書き入力操作形態のどちらにあるかをユーザが認識できるように、制御装置40は、画面3上に文字、図形、アイコンの形状の変更を表示させてもよい。
【0153】
(第4の検出方法)
第4の検出方法として、入力装置1の本体10の姿勢を検出する方法がある。例えば、図7(A)及び図7(B)に示すように、本体10が、基本姿勢またはそれに近い姿勢にあるときと、図8に示したペン姿勢とで、姿勢変化が大きい。この姿勢変化は、加速度センサユニット16によるX軸及びY軸のそれぞれの加速度値に基づいて、MPU19が認識することができる。
【0154】
図23は、第4の検出方法を示すフローチャートである。MPU19は、例えば、ステップ102で得られた加速度値(ax、ay)の両方の絶対値が閾値以下であるか否かを判定する(ステップ601)。
【0155】
本体10が基本姿勢にあるとき、加速度値(ax、ay)の両方の絶対値のうちいずれか一方が閾値を超える。これは、加速度センサユニット16の本体10内の配置より明らかである。本体10が、ペン姿勢にあるとき、加速度センサユニット16の検出面であるX’−Y’平面が水平面に近づく。したがってこの場合、加速度センサユニット16の加速度値(ax、ay)は、小さい値となり、加速度値(ax、ay)の両方の絶対値が閾値以下となったとき、本体10がペン姿勢にあると判定される。多くのユーザが本体10をペン姿勢で握るとき、本体10の長手方向が水平面に垂直の方向からやや傾くので、設計者はその傾きを考慮して閾値を適宜設定すればよい。
【0156】
ステップ601において、加速度値(ax、ay)の両方の絶対値が閾値以下である場合、MPU19は、例えば図13に示したプロファイルcを用いて、ポインタ速度値を算出する(ステップ603)。両方の絶対値のうちいずれか一方が閾値を超える場合、操作形態がポインティング操作形態であり、MPU19は、図13に示したプロファイルc以外のもの、例えばプロファイルa、b、あるいは、図17に示した可変のプロファイル等を用いて、手ぶれ補正処理を実行し、ポインタ速度値を算出する(ステップ602)。そして、MPU19は、ポインタ速度値を出力する(ステップ604)。ステップ602は、図10に示したステップ105(または107)に相当し、ステップ603は、図10に示したステップ107(または105)に相当する。
【0157】
図24は、第4の検出方法の他の実施形態を示すフローチャートである。
【0158】
図24に示した処理において、図23に示した処理と異なる点は、ステップ704である。図24で示した処理では、入力装置1のエンターボタン11の代わりに、2段スイッチ式のエンターボタンを有する本体を備える入力装置(図示せず)が用いられる。2段スイッチ式とは、以下のようなものである。
【0159】
ユーザが、ある深さ分、エンターボタンを押したときに初めてMPU19は、ポインタ2を移動させるための移動コマンドを出力する。そして、そのような移動コマンドを出力可能な状態から、ユーザがさらにある深さ分エンターボタンを押したとき(またはその押圧が解除されたとき)に初めて、MPU19は、エンターコマンドを出力する。したがって、ユーザは2段スイッチ式のエンターボタンの半押し状態を継続しながら、本体10を動かすことで、ポインタ2を移動させることができる。
【0160】
2段スイッチは、現在では典型的には、例えばデジタルカメラ等で応用されている。2段スイッチの1段目でいわゆる半押し状態が生成され、これによりオートフォーカス等の処理が実行されてから、2段目の全押し状態でエンターコマンドが生成される。
【0161】
2段スイッチとして、このように2段階とも電気接点式のスイッチを備えるものに限られない。例えば1段目は光センサによるスイッチが用いられ、その光センサにより、エンターボタン上にユーザの指の存在が認識され、2段目の電気接点式のスイッチによりエンターコマンドが出力されるような2段スイッチが用いられてもよい。
【0162】
図24の説明に戻り、ステップ704では、MPU19は、1段目のスイッチによる入力信号があるか否か、つまり、移動コマンドを出力できる状態にあるか否かを判定する。MPU19は、移動コマンドが出力可能であれば、ポインタ速度値を出力し、そうでなければ、図10に示したステップ101へ戻る。
【0163】
ステップ601及び701において、加速度値(ax、ay)の両方の絶対値が閾値以下にあるか否かの判定処理に限られない。例えば、それは加速度値(ax、ay)の合成ベクトル量が閾値以下であるか否かの判定処理であってもよい。
【0164】
図23及び図24では、ステップ601及び701において、加速度値(ax、ay)の両方の絶対値が閾値以下であるか否かが判定された。しかし、例えば入力装置が、図5(A)及び図5(B)に示した、Z’軸方向の第3の加速度値も検出可能な3軸の加速度センサユニット(図示せず)を備える場合に、その第3の加速度値が監視されることで、操作形態の判定が可能となる。
【0165】
典型的には、本体10がペン姿勢にあるとき、その3軸加速度センサユニットで検出されるZ’方向の加速度値は、基本姿勢時のそれと大きく変わる。したがって、その場合MPU19は、そのZ’方向の加速度値がある閾値を超えた場合に、手書き入力操作形態であると判定すればよい。この場合の閾値も設計者が適宜設定可能である。
【0166】
次に、手ぶれ補正ゲインプロファイルにより補正された速度値が、速度補正ゲインプロファイルによりさらに補正されることで、ポインタ速度値(Vx’’、Vy’’)が出力される実施形態について説明する。
【0167】
図25は、このような速度補正ゲインプロファイルを用いたポインタ速度値の算出方法を示すフローチャートである。
【0168】
ステップ801〜807は、ステップ101〜107と同様の処理である。
【0169】
ポインティング操作形態と手書き入力操作形態とが切り替えられない場合(ステップ804のNO)、MPU19は、ステップ807で以下のような処理を実行する。MPU19は、これまで用いられていた速度補正ゲインプロファイルにより、ステップ0805で得られた速度値(Vx’、Vy’)を補正し、ポインタ速度値(Vx’’、Vy’’)を算出する。MPU19は、このポインタ速度値(Vx’’、Vy’’)の情報を含む移動コマンドを制御装置40に送信する(ステップ811)。
【0170】
ポインティング操作形態と手書き入力操作形態とが切り替えられた場合(ステップ804のYES)、MPU19は、ステップ808で以下のような処理を実行する。MPU19は、ステップ806と同様に、速度補正ゲインプロファイルを変更し(ステップ808)、変更された速度補正ゲインプロファイルによりポインタ速度値(Vx’’、Vy’’)を算出する。MPU19は、このポインタ速度値(Vx’’、Vy’’)の情報を含む移動コマンドを制御装置40に送信する(ステップ811)。
【0171】
制御装置40のステップ812〜814の処理は、ステップ109〜111と同様の処理である。
【0172】
図25で示したフローチャートにおいても、図20で示した処理と同様の趣旨で、制御装置40が主要な計算を行うようにしてもよい。その場合、図25において、入力装置1がステップ801〜803を実行し、制御装置40がステップ804〜810、813、814を実行すればよい。
【0173】
図26は、ステップ807及び810での処理を示すフローチャートである。MPU19は、下記の式(3)、(4)に示すように、算出された速度値(Vx’、Vy’)に所定のゲイン値(Kx、Ky)をそれぞれ乗じることで、ポインタ速度値(Vx’’、Vy’’)を得る。
【0174】
Vx’’= Kx・Vx’・・・(3)
Vy’’= Ky・Vy’・・・(4)。
【0175】
図27(A)は、上記式(1)または(2)のゲイン値Kx及び/またはKyのゲインプロファイルを示すグラフであり、特に、ポインティング操作形態で用いられるゲインプロファイルである。
【0176】
図27(A)において、横軸が速度値Vx’及び/またはVy’であり、縦軸がゲイン値Kx及び/またはKyである。つまり、ゲイン値Kx及び/またはKyは、速度値Vx’及び/またはVy’のそれぞれの関数である。
【0177】
図27(A)に示す例では、MPU19は、入力装置1が低速度の範囲である閾値v1から閾値v2までの範囲(第1の範囲)では、ゲイン値Kを可変に制御し、閾値v2を超える範囲(第2の範囲)では、ゲイン値Kを一定に制御する制御手段として機能する。
【0178】
横軸の速度値の分解能を±128(8ビット)の絶対値で表した場合、閾値v1は、4〜12、あるいは6〜10とされ、典型的には8とされる。また、閾値v2は、10〜20、あるいは12〜16、典型的には14とされる。しかし、閾値v1及びv2は上記の範囲に限られず、適宜変更可能である。横軸の速度値の分解能は8ビット以下でもよいし、8ビットより大きくてもよい。
【0179】
閾値v2以下の速度は、実際の入力装置1の速度に換算すると、典型的には5cm/s以下となるが、10cm/s以下、3cm/s以下、あるいはその他の範囲(例えば、2〜4cm/s)等、適宜設定の変更が可能である。入力装置1が比較的高速な範囲としては、例えば10cm/sを超える場合、あるいは、20cm/sを超える場合等であるが、これも適宜設定の変更が可能である。
【0180】
図27(B)は、図27(A)に示したゲインプロファイルによって得られる、上記した速度補正ゲインプロファイルを示すグラフである。横軸は、図27(A)と同様に、速度値Vx’及び/またはVy’である。図27(A)のプロファイルを時間微分したグラフが、図27(B)の速度補正ゲインプロファイルのグラフになる。ゲインは、入力装置1の速度値Vx’またはVy’を入力とし、ポインタ速度値(Vx’’、Vy’’)を出力とした値である。
【0181】
図27(B)に示すように、入力装置1の速度値Vx’またはVy’が0のときのゲイン値K1は、例えば0.2〜0.4の間、つまり出力/入力が0.2〜0.4の間に設定されているが、この範囲に限られない。一定のゲイン値K2は、1とされるがこれ以外の値であってもよい。ゲイン値K2が一定値であれば、入力装置1の速度値とポインタ速度値とがリニアな対応になるからである。
【0182】
MPU19は、図27(A)に示したゲインプロファイルを表す関数及び図27(B)に示した速度補正ゲインプロファイルを表す関数をメモリに記憶し、その関数を用いて動的にポインタ速度値を算出すればよい。あるいは、入力装置1の速度値Vx’またはVy’と、ポインタ速度値との対応を示した、ゲインプロファイルに基き生成されたルックアップテーブルが、予めメモリに記憶されていてもよい。
【0183】
このように、入力装置1の速度値Vx’またはVy’が閾値v2以下の比較的低速な範囲ではゲイン値Kが可変に制御される。例えば、本実施の形態では、入力装置1の速度値v1〜v2の範囲において、入力装置1の速度値値Vx’またはVy’が増えるほど、ゲイン値Kが増えるように設定されている。したがって、ユーザは、入力装置1の動きが比較的低速な範囲では精密なポインティングが可能となる。また、入力装置1の速度値VxまたはVyが、閾値v2を超える比較的高速な範囲では、ゲイン値Kが一定に制御される。したがって、入力装置1の速度値VxまたはVyが比較的高速な範囲では、入力装置1とポインタ2の動きとがリニアに対応し、ユーザの操作感が向上する。
【0184】
逆に言うと、入力装置1の速度値VxまたはVyが比較的低速な範囲は、速度補正ゲインプロファイルがリニアでなくても、ユーザはそれがリニアであるか否かをほとんど判別することができない範囲である。つまり、その範囲は、上記したように、典型的には5cm/s以下である。
【0185】
また、MPU19は、入力装置1の速度値Vx’またはVy’が0から閾値v1までの範囲では、ゲインを一定に制御している。このように、入力装置1の動き始め(入力装置が動き出す瞬間)の動作に応じて、ポインタ2の動きがリニアになるので、ポインタ2はスムーズに動き出す。
【0186】
ここで、閾値v1〜v2におけるゲイン値Kの増え方について、図27(A)の典型例では、1次関数的に増えている。これに限られず、2次以上の多次関数で増える場合、ステップ状に増える場合、これらのうち少なくとも2つの組み合わせ、あるいは、その他様々な増え方が考えられる。2次以上の多次関数とは、もちろん下に凸には限られず、上に凸の関数、あるいはこれらの組み合わせであってもよい。以下、2次以上の多次関数といった場合、このような趣旨である。
【0187】
以上のように設定された速度補正ゲインプロファイルが、図25に示したステップ806において、操作形態の切り替えが検出されたことに応じて変更される。図28は、複数の速度補正ゲインプロファイルの例を示すグラフである。これら複数の速度補正ゲインプロファイルを表す関数式が予めメモリに記憶されているか、または、それら複数の速度補正ゲインプロファイルをルックアップテーブルが予めメモリに記憶されていればよい。
【0188】
ポインティング操作形態では、速度補正ゲインプロファイルaが用いられる。手書き入力操作形態では、リニアな速度補正ゲインプロファイルbまたはcが用いられる。これにより、各操作形態に適した速度補正ゲインプロファイルによりポインタ速度値が算出されるので、ユーザの操作感が向上する。
【0189】
図29(A)は、他の実施の形態に係るゲインプロファイルを示すグラフである。このゲインプロファイルでは、図27(A)で示した閾値v1が0に設定されている。このようなゲインプロファイルにより、図29(B)に示す速度補正ゲインプロファイルは、入力装置1の速度値0から滑らかに上昇する。これにより、ユーザは低速範囲においてストレスを感じることもない。
【0190】
また、図29(A)に示すこのゲインプロファイルでは、v1(=0)からv2までの関数が2次以上の多次関数となっている。しかし、図27(A)に示すように、この部分は直線であってもよい。
【0191】
図30(A)は、さらに別の実施の形態に係るゲインプロファイルを示すグラフである。図30(B)は、図30(A)に示したゲインプロファイルによって得られる速度プロファイルを示すグラフである。
【0192】
この例では、ゲインプロファイルは、その入力装置1の加速度値に基いて設定されており、閾値v1(=0)〜v2までの範囲では、入力装置の加速度値が増えるほど、最も下に位置する太線のゲインプロファイルから、ゲインプロファイルが離れて1(または1付近)に近づく。すなわち、加速度値が大きいほど、閾値v2が低速側にシフトしていく。
【0193】
閾値v1は0以外の値であってもよい。閾値v1(=0)からv2までの範囲におけるゲインが2次以上の多次関数となっているが、直線であってもよい。
【0194】
MPU19は、閾値v1〜v2の範囲において速度値(Vx、Vy)に応じて可変なゲイン値K(太線の基本ゲイン値)と、速度値Vx、Vyを微分演算することにより得られる加速度値(axi、ayi)の関数(f(axi)、f(ayi))とに基き得られる演算値を用いてゲインを制御する。閾値v1〜v2の範囲における太線の基本ゲイン値はメモリに予め記憶されていればよい。
【0195】
以降、加速度値axiまたはayiを、単に加速度値aiといい、関数f(axi)またはf(ayi)を、単にf(ai)という場合もある。
【0196】
関数f(ai)は、加速度値aiが増えるにしたがって増える関数である。その増え方は、1次関数、2次以上の多次関数、ステップ状、あるいはこれらのうち少なくとも2つの組み合わせ、その他様々な増え方が考えられる。関数f(ai)は、ユーザテストにより、例えば入力装置1の高加速時での操作のユーザが感じる違和感と、精密ポインティング操作の容易性とのバランスが図られながら設定されればよい。
【0197】
上記演算値とは、基本ゲイン値Kに、上記関数f(ai)を加算する、または、乗じることにより得られる値である。図30(A)では、演算値は、基本ゲイン値Kに、上記関数f(ai)を加算する場合を示した。これにより、図30(A)に示すようなゲインプロファイルが得られる。つまり、加速度値aiが大きいほど、太線で示したゲイン値から、ゲイン値Kが1(または1付近)に近づく。すなわち、加速度値aiが大きいほど、閾値v2が低速側にシフトしていく。
【0198】
図31(A)は、図27(B)で示した速度補正ゲインプロファイルを用いて、ユーザが入力装置1による手書き入力操作により描いた円を示す図である。図31(B)は、例えば図28に示した、リニアな速度補正ゲインプロファイルcを用いて描かれた円を示す図である。
【0199】
図27(B)で示した速度補正ゲインプロファイルでは、本体10の低速領域では、ポインタ速度値はさらに低速に変換される。したがって、X軸方向での本体10の速度が低い領域65a及び65bでは、見かけ上、Y軸方向のポインタ2の動きが促進されるようになる。また、Y軸方向での本体10の速度が低い領域66a及び66bでは、見かけ上、X軸方向のポインタ2の動きが促進されるようになる。したがって、このような歪みのある円になってしまう。これに対し、図31(B)では、リニアな速度補正ゲインプロファイルが用いられることで、きれいな円が描かれる。
【0200】
次に、複数のユーザが入力装置1を使用する場合の実施形態について説明する。
【0201】
図32は、複数のユーザが制御システム100を使用するときに、複数のユーザを認証するための画面の例を示す図である。
【0202】
画面3は、制御装置40の制御により表示装置5に表示される。画面3上には、認証用の認証ボタン45〜48の表示されている。各認証ボタン45〜48は、複数のユーザを識別するための識別情報と対応しており、制御装置40または入力装置1は、それらの識別情報と、その複数のユーザが好む、入力装置1の操作に関する設定とをそれぞれ対応付けて記憶している。図32の例では、各認証ボタン45〜48は、家族を構成する複数のユーザが好む設定に対応している。
【0203】
図33(A)は、入力装置1の操作に関する設定の調整パラメータの画面の例を示す図である。この図に示すように、例えば「ポインタの速度」、「操作のサポート」、「アイコンの触りやすさ」の調整の各項目が表示されている。
【0204】
例えば「ポインタの速度」の項目には、「ポインタの移動速度」、「スクロール速度」、「ズーム速度」等のパラメータが含まれる。
【0205】
例えば「ポインタの移動速度」の調整とは、図27、図28で示した速度補正ゲインプロファイルを変更することである。例えば、ゲインが一定範囲、つまり速度補正ゲインプロファイルの直線部分の傾きを変更すること、図27(A)に示した閾値v2及び/またはv1を変更すること等である。
【0206】
「操作のサポート」の項目には、例えば「アイコンへの吸い込み度」、「ポインタの移動の制限度」等のパラメータが含まれる。例えば「アイコンへの吸い込み度」の調整とは以下のようなものである。例えば、画面3上のアイコン4の周囲であって所定の領域について、アイコン4から遠く離れた位置より、上記速度補正ゲインプロファイルのゲインが高く設定されているとする。その場合、「アイコンへの吸い込み度」の調整とは、そのゲインの高さの調整、その所定の領域の面積の大きさの調整等である。
【0207】
「ポインタの移動の制限度」とは、例えば画面を所定の方向にスクロールするスクロールバー、その他のGUIからのポインタ2の外れにくさの度合いである。つまり、「ポインタの移動の制限度」が強いほど、ポインタ2がそのGUIから外れにくい。この「ポインタの移動の制限度」の調整の実現方法としては、「アイコンへの吸い込み度」と同様であってもよい。
【0208】
「アイコンの触りやすさ」の項目には、例えば「手ぶれ補正の強度」、「ポインタの停止時間」、「ポインタの大きさ」、「アイコンの大きさ」、「精密動作」等のパラメータが含まれる。
【0209】
「手ぶれ補正の強度」の調整とは、図13に示した手ぶれ補正ゲインプロファイルa〜cを変更すること、手ぶれ補正ゲインプロファイルcの傾きを変更すること、図11で示した閾値Th1、Th2及び/またはTh3を変更すること等である。あるいは、手ぶれ補正ゲインプロファイルの形状を変更すること等である。
【0210】
「ポインタの停止時間」とは、例えばユーザが入力装置1のエンターボタン11を押してその信号がMPU19に入力されてから、MPU19が本体10の速度値の情報を含む移動コマンドを出力するまで(あるいは送信機21から移動コマンドが送信されるまで)の時間である。及び/または、ユーザがそのエンターボタン11を押してその信号がMPU19に入力された後、エンターボタン11を離してその信号の入力が解除されてから、MPU19が移動コマンドを出力するまで(あるいは送信機21から移動コマンドが送信されるまで)の時間である。
【0211】
エンターボタン11を押して入力される操作信号は、本体10の動きによらない操作信号である。しかし、ユーザが入力装置1を空中で操作する場合、エンターボタン11を押したとき、あるいは、エンターボタン11を離すとき、本体10にもそのユーザの力が加わるので、本体10も動くおそれがある。すなわち、ユーザがエンターボタン11を押すたび及び離すたびに本体10が動くと、ユーザはドラッグ操作を意図していないのにドラッグ操作が実行されてしまう。このことを防止するために、制御システム100は、本体10の動きによらない操作信号が入力されてから、あるいはそれが解除されてから所定の時間は、ポインタ2の移動を停止するような制御を実行する。「ポインタの停止時間」は、その停止時間を調整するためのパラメータである。
【0212】
図34は、ポインタを所定の時間停止させる処理を実現するための入力装置1の動作を示すフローチャートである。
【0213】
図35は、図34に示す動作を実現するための入力装置1の機能的なブロック図である。分周器144は、水晶発振器20から供給されるパルスに基き所定の周波数のクロックパルスを生成する。カウンタ145は分周器144で生成されたクロックパルスをカウントする。カウント値設定部146では、例えば所定数のカウント値が設定されそのカウント値を記憶する。制御部147は、カウンタ145から供給されるカウント値とカウント値設定部146から供給されるカウント値とを比較し、比較の結果に基き後述する処理を実行する。
【0214】
分周器144、カウンタ145、カウント値設定部146、制御部147等のブロックは、例えばMPU19が有している。
【0215】
カウント値設定部146で設定されるカウント値としては、上記した2つの種類がある。1つは、ユーザによりエンターボタン11が押されてから、つまり操作信号の入力が開始されてからの時間であって、MPU19が画面3上でポインタ2を動かすための移動コマンドの生成または送信を停止している時間に相当するカウント値である。以下、このカウント値を第1のカウント値とする。
【0216】
もう1つは、ユーザにより押されたエンターボタン11が離されてから、つまり操作信号の入力が解除されてからの時間であって、MPU19が移動コマンドの生成または送信を停止している時間に相当するカウント値である。以下、このカウント値を第2のカウント値とする。
【0217】
第1のカウント値と第2のカウント値は同じであってもよいし、異なっていてもよい。典型的にはそれらは、0.2秒に相当するが、これに限られない。第1及び第2のカウント値のうち少なくとも一方は、ユーザによりカスタマイズできるようになっていてもよい。
【0218】
MPU19は、移動コマンドの生成または送信を停止する代わりに、画面3上でのポインタ2の変位量をゼロとする移動コマンド、すなわち速度値がゼロにリセットされた移動コマンドの信号を出力してもよい。
【0219】
なお、一般的にPCでは、マウスのボタンを介してユーザにより入力された操作信号の入力が解除されること、つまり押されたボタンが離されたことをトリガーとして、その操作のコマンドが実行されることが多い。
【0220】
図34に示すように、ユーザによりボタン11が押された場合(ステップ901のYES)、制御部147はタイマーをオンとし(ステップ902)、カウンタ145によるカウントアップを開始する。そうすると、MPU19は移動コマンドの出力を停止させる(ステップ903)。あるいは、MPU19は第1のカウント値に相当する時間内でポインタ2の変位量をゼロとする移動コマンドを出力し続けるようにする。
【0221】
制御部147は、カウント値設定部146で設定された第2のカウント値とカウンタ145から供給されるカウント値とを比較する(ステップ904)。つまり、両カウント値が一致すれば、制御部147はタイマーを終了する。両カウント値が異なれば制御部147はタイマーを作動し続け、次のステップ905に進む。ステップ905では、MPU19は、押されたボタン11が離されたか否か、つまり操作信号の入力が解除されたか否かを監視する。押されたボタン11が離されていない場合、MPU19は、カウント値を1インクリメントし(ステップ906)、ステップ903に戻る。
【0222】
このように、MPU19は、タイマーを作動し続けている間、つまりカウンタ145から供給されるカウント値が第1のカウント値が一致するまでは、移動コマンドの生成または送信を停止する。あるいは、上記したようにMPU19は画面3上でのポインタ2の変位量をゼロとする移動コマンドを第1のカウント値内で出力し続けるようにしてもよい。このような処理により、ユーザがボタン11を介して操作信号を入力したときに本体10が動いてセンサユニット17によりその動きが検出されても、画面3上でのポインタ2の動きが規制される。したがって、ユーザの意図しないポインタ2やアイコン4等の動作が発生することを防止できる。
【0223】
タイマーが終了した場合(ステップ904のYES)、MPU19は移動コマンドを生成または送信する(ステップ907)。この場合、ポインタ2は、入力装置1の動きに応じて画面3上で移動する。ステップ907では、操作信号の入力が未だ解除されていない状態であり、ユーザがボタン11を押した状態を保ったまま入力装置1を動かしている状態にある。
【0224】
タイマーが作動している間であっても、操作信号の入力が解除された場合(ステップ905のYES)、ステップ907と同様に、MPU19は移動コマンドを生成または送信する(ステップ908)。
【0225】
ステップ907の状態から、MPU19は、押されたボタン11が離されたか否かを監視、つまり操作信号の入力が解除されたか否かを監視する(ステップ909)。解除された場合、制御部47は再びタイマーをオンとし(ステップ310)、カウンタ145によるカウントアップを開始する。そうすると、MPU19は移動コマンドの出力を停止させる(ステップ311)。あるいは、MPU19は第2のカウント値に相当する時間内でポインタ2の変位量をゼロとする移動コマンドを出力し続けるようにする。
【0226】
制御部47は、カウント値設定部146で設定された第2のカウント値とカウンタ145から供給されるカウント値とが一致する場合(ステップ312のYES)、タイマーを終了する。タイマーが終了すると、MPU19は、移動コマンドを出力することで(ステップ908)、ポインタ2が移動する。このような処理により、ユーザがボタン11を押し、それを離すときに本体10が動いてセンサユニット17によりその動きが検出されても、画面3上でのポインタ2の動きが規制される。したがって、ユーザの意図しないポインタ2やアイコン4等の動作が発生することを防止することができる。
【0227】
タイマーが未だ終了しない場合(ステップ312のNO)、つまり両カウント値が異なる場合、MPU19はタイマーを作動し続け、次のステップ313に進む。ステップ313では、MPU19は、離されたボタン11が再び押されたか否か、つまり操作信号の入力が再び入力が開始されたか否かを監視する。ボタン11が押されていない場合、MPU19は、カウント値を1インクリメントし(ステップ314)、ステップ312に戻る。
【0228】
タイマーが作動している間であっても、操作信号の入力が開始された場合(ステップ313のYES)は、MPU19はステップ902へ戻りタイマーを開始する。これにより、ユーザが違和感なくポインタ2やアイコン4を制御することができる。
【0229】
ここで、図34において、ステップ905で操作信号の入力が解除された後、破線で示すように、制御部47はステップ904のタイマーをリセットすることで再びタイマーを開始し、ステップ310以降の処理に進んでもよい。これにより、ユーザが違和感なくポインタ2やアイコン4を制御することができる。
【0230】
図34に示した処理は、制御装置40が実行してもよい。この場合、制御装置40は、入力装置1から送信された加速度信号及び角速度信号を受信し、また、操作部22を介して入力された操作信号を受信する。そして、制御装置40は、それらの検出信号に応じた、ポインタ2の変位量に対応する第1の制御信号を生成し、操作部22を介してユーザにより入力された操作信号に応じた第2の制御信号を生成する。実際には、制御装置40が生成する第1の制御信号とは、上記ポインタ2の座標情報に基く制御信号となる。また、制御装置40が生成する第2の制御信号とは、その入力装置1の操作部22の操作信号に応じた各種所定の処理を実行するための制御信号である。
【0231】
図33の説明に戻る。図33(A)に示した設定のパラメータが多く、ユーザに負担になる場合、図33(B)及び図33(C)に示した簡易なパラメータの設定用の画面が表示されてもよい。例えば図33(C)において、「操作性」が「安定」になるほど、例えば図33(A)で示した「ポインタ移動速度」、「スクロール速度」等が遅く、また、「操作のサポート」の各パラメータの度合いが弱くなる。
【0232】
以上のように、制御装置40は、各認証ボタン45〜48に対応する識別情報と、図32に示した各設定情報とを対応付けて記憶し、各認証ボタン45〜48のうち、いずれか1つが選択されたときに、その設定を用いる(設定を変更する)プログラムを備える。入力装置1がこのプログラムを備えていてもよい。これにより、各ユーザの操作感覚にそれぞれ適したポインタ2の制御が実現される。
【0233】
一旦、設定情報が変更された後は、入力装置1がその設定を用いてポインタ2の動きを制御するか、または、制御装置40がその設定を用いてポインタ2の動きを制御する。
【0234】
図36は、入力装置の物理的な各操作ボタンに、上記各認証ボタン45〜48の機能が割り当てられた入力装置を示す模式図である。
【0235】
例えば、入力装置51の本体60には、エンターボタン61、複数のユーザの認証ボタン55〜58、その他の操作ボタン52が設けられている。本体60内には、図5(A)及び図5(B)で示したセンサユニット17が設けられている。入力装置51は、例えばTV、その他のAV機器等を操作するリモートコントローラとしても用いられるものである。複数の操作ボタン52は、例えばTVのチャンネルを選択するためのボタンである。例えば、複数の操作ボタン52のうち1つの操作ボタン52による入力、または2つ以上の操作ボタン52による入力の組合せにより、ユーザの認証が行われてもよい。
【0236】
認証ボタン55〜58の機能は、図32に示した認証ボタン45〜48と同様である。つまり、認証ボタン55〜58に複数のユーザの識別情報がそれぞれ割り当てられ、入力装置51が、選択された1つの識別情報に応じた設定を用いるプログラムを備えている。入力装置51がこのプログラムを備えていることにより、ユーザが普段使っている制御装置40とは別の制御装置であっても、そのユーザ自身に適した操作感覚でその別の制御装置を操作することができる。
【0237】
もちろん、当該プログラムは、制御装置40が備えていてもよい。その場合、認証ボタン55〜58のうちいずれか1つの認証ボタンが押されたときに、入力装置1は、例えばその1つの認証ボタンに対応する識別情報を制御装置40に送信すればよい。制御装置40は、これを受信し、設定情報を変更する。この場合、制御装置40は、例えば速度値(Vx、Vy)を受信し、図33に示した各種の調整パラメータによる調整処理を実行する。
【0238】
ユーザが認証された後は、制御装置は、認証されたユーザが好むメニュー画面、選択可能なアイテム等、そのユーザの識別情報に対応するコマンド群をGUIにより表示装置5に表示させてもよい。
【0239】
なお、図32、図36で示した例において、ユーザが認証ボタン45〜48(55〜58)のうち、1つの認証ボタンを選択して識別情報を入力する前の、入力装置1の操作に関する設定情報は、デフォルトの設定か、または、その入力前に選択された1つの識別情報に対応する設定になっていればよい。
【0240】
上記した認証ボタン45〜48、55〜58による認証方法のほか、次のような方法でユーザが認証されてもよい。例えば、一のユーザが入力装置1を用いて、そのユーザに特定のジェスチャーを行い、そのジェスチャーが予め入力装置1または制御装置40に記憶されたジェスチャー情報と一致または近い場合に、そのユーザは本人であると認証される。ジェスチャー情報とは、典型的には、例えばユーザが予め登録しておいた本体10の動きの情報である。入力装置1または制御装置40は、この本体10の動きの情報を、例えばセンサユニット17を用いて、そのユーザ設定の登録時に生成するためのソフトウェアを備えていればよい。ユーザが認証時に本体10を動かし、その動きが登録された本体10の動きと一致し、または類似する場合に認証される。その本体10の動きは、本体10を所定の回数振る動き、ユーザ本人のサインを書くときの動き、あるいは、その他の文字や図形等を描くときの動き等でよい。
【0241】
図37〜図46に、本発明のさらに別の実施の形態に係る入力装置(ポインティングデバイス、あるいはリモートコントローラ)を示した。
【0242】
本発明に係る実施の形態は、以上説明した実施の形態に限定されず、他の種々の実施形態が考えられる。
【0243】
図25に示したフローチャートでは、手ぶれ補正ゲインプロファイルを用いて速度値(Vx’、Vy’)が算出され、また、速度補正ゲインプロファイルを用いてポインタ速度値(Vx’’、Vy’’)が算出された。しかし、例えば、手ぶれ補正処理が行われず、速度補正処理が行われる処理も考えられる。その場合、図25において、ステップ805、806及び809を省略したフローで処理される。
【0244】
上記各実施の形態に係る入力装置1、51は、無線で入力情報を制御装置に送信する形態を示したが、有線により入力情報が送信されてもよい。
【0245】
上記各実施の形態では、入力装置1、51の動きに応じて画面上で動くポインタ2を、矢印の画像として表した。しかし、ポインタ2の画像は矢印に限られず、単純な円形、角形等でもよいし、キャラクタ画像、またはその他の画像であってもよい。
【0246】
センサユニット17の、角速度センサユニット15及び加速度センサユニット16の検出軸は、上述のX’軸及びY’軸のように必ずしも互いに直交していなくてもよい。その場合、三角関数を用いた計算によって、互いに直交する軸方向に投影されたそれぞれの加速度が得られる。また同様に、三角関数を用いた計算によって、互いに直交する軸の周りのそれぞれの角速度を得ることができる。
【0247】
上記角速度センサユニット15の代わりとして、角度センサあるいは角加速度センサが用いられてもよい。角度センサとしては、地磁気センサまたはイメージセンサ等が挙げられる。例えば3軸地磁気センサが用いられる場合、角度値の変化量が検出されるので、その場合、角度値が微分演算されることで角速度値が得られる。角加速度センサは、複数の加速度センサの組み合わせにより構成され、角加速度センサにより得られる角加速度値が積分演算されることで、角速度値が得られる。
【図面の簡単な説明】
【0248】
【図1】本発明の一実施の形態に係る制御システムを示す図である。
【図2】入力装置を示す斜視図である。
【図3】入力装置の内部の構成を模式的に示す図である。
【図4】入力装置の電気的な構成を示すブロック図である。
【図5】センサユニットを示す斜視図である。
【図6】表示装置に表示される画面の例を示す図である。
【図7】入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。
【図8】手書き入力による操作形態でユーザが入力装置1を操作する場合の、本体の握り方を示す図である。
【図9】手ぶれ補正機能を実現する入力装置の構成を示すブロック図である。
【図10】制御システムの基本的な動作を示すフローチャートである。
【図11】その手ぶれ周波数の範囲にある代表的な周波数(例えば15Hz)におけるフィルタの特性の例を示すグラフである。
【図12】(A)〜(D)は、図11に示した補正前速度値a〜dにそれぞれ対応する、フィルタの周波数特性の例を示すグラフである。
【図13】複数の手ぶれ補正ゲインプロファイルのパターンを示すグラフである。
【図14】(A)は、手ぶれ補正ゲインプロファイルcを用いた場合において手書き入力ソフトにより文字入力された画面の例を示す図である。(B)は、フィルタの機能を停止させた場合の、文字入力された画面の例を示す図である。
【図15】、手ぶれ補正ゲインプロファイルのゲインが一定でないゲインで手ぶれ補正される場合の動作を示すフローチャートである。
【図16】図15に示した動作とは別の実施の形態に係る、入力装置の動作を示すフローチャートである。
【図17】(A)は、この実施の形態で用いられるフィルタの特性である手ぶれ補正ゲインプロファイルを示すグラフである。(B)は、(A)に比べ、補正前速度値が0からTh2までのゲインの減少する割合が低くなっている例を示す。
【図18】(A)〜(E)は、図17(B)に示した各手ぶれ補正ゲインプロファイルa〜eに対応する、ゲインの周波数特性をそれぞれ示すグラフである。
【図19】さらに別の実施の形態に係る、入力装置の動作を示すフローチャートである。
【図20】制御装置40が主要な演算を行う場合の制御システムのフローチャートである。
【図21】操作形態の切り替え検出において、GUIが用いられる場合の画面の例を示す図である。
【図22】GUIが用いられる場合の、操作形態の別の検出方法を説明するための図である。
【図23】ポインティング操作形態及び手書き入力操作形態の切り替えの第4の検出方法を示すフローチャートである。
【図24】その第4の検出方法の他の実施形態を示すフローチャートである。
【図25】このような速度補正ゲインプロファイルを用いたポインタ速度値の算出方法を示すフローチャートである。
【図26】ステップ807及び810での処理を示すフローチャートである。
【図27】(A)は、ゲイン値Kx及び/またはKyのゲインプロファイルを示すグラフであり、特に、ポインティング操作形態で用いられるゲインプロファイルである。
【図28】複数の速度補正ゲインプロファイルの例を示すグラフである。
【図29】他の実施の形態に係るゲインプロファイルを示すグラフである。
【図30】(A)は、さらに別の実施の形態に係るゲインプロファイルを示すグラフである。(B)は、(A)に示したゲインプロファイルによって得られる速度プロファイルを示すグラフである。
【図31】(A)は、図27(B)で示した速度補正ゲインプロファイルを用いて、ユーザが入力装置1による手書き入力操作により描いた円を示す図である。
【図32】複数のユーザが制御システムを使用するときに、複数のユーザをするための画面の例を示す図である。
【図33】入力装置の操作に関する設定の調整パラメータの画面の例を示す図である。
【図34】ポインタを所定の時間停止させる処理を実現するための入力装置1の動作を示すフローチャートである。
【図35】図34に示す動作を実現するための入力装置1の機能的なブロック図である。
【図36】入力装置の物理的な各操作ボタンに、上記各認証ボタンの機能が割り当てられた入力装置を示す模式図である。
【図37】本発明のさらに別の実施の形態に係る入力装置(ポインティングデバイス)の正面図である。
【図38】図37に示す入力装置の背面図である。
【図39】図37に示す入力装置の右側面図である。
【図40】図37に示す入力装置の左側面図である。
【図41】図37に示す入力装置の平面図である。
【図42】図37に示す入力装置の底面図である。
【図43】図37に示す入力装置の上面及び正面を手前に表した斜視図(参考図)である。
【図44】図37に示す入力装置の上面及び背面を手前に表した斜視図(参考図)である。
【図45】図37に示す入力装置の底面及び正面を手前に表した斜視図(参考図)である。
【図46】図37に示す入力装置の底面及び背面を手前に表した斜視図(参考図)である。
【符号の説明】
【0249】
1、51…入力装置
2…ポインタ
3…画面
10、60…本体
11、61…エンターボタン
15…角速度センサユニット
16…加速度センサユニット
17…センサユニット
19、35…MPU
22…操作部
26…メモリ
27…フィルタ
28…制御部
29…速度算出部
40…制御装置
45〜48、55〜58…認証ボタン
100…制御システム

【特許請求の範囲】
【請求項1】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、
前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、
前記本体の動きを検出する動き検出手段と、
前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを選択的に切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段と
を具備する入力装置。
【請求項2】
請求項1に記載の入力装置であって、
前記演算手段は、前記本体の動きに対応した速度関連値を算出し、前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定された第1のゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記対応移動値として算出し、
前記第1の演算モードが用いられる場合及び前記第2の演算モードを用いられる場合に応じて前記第1のゲインプロファイルが異なる入力装置。
【請求項3】
請求項2に記載の入力装置であって、
前記演算手段は、前記第1の演算モードでは、前記速度関連値が第1の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが徐々に減るように該ゲインを制御し、前記速度関連値が前記第1の閾値を超えて前記第1の閾値より大きい第2の閾値に達するまで、前記速度関連値が増えるにしたがって前記ゲインが徐々に増えるように該ゲインを制御する入力装置。
【請求項4】
請求項3に記載の入力装置であって、
前記演算手段は、時間的に連続する所定数の複数の前記速度関連値を記憶可能な記憶手段と、前記記憶された所定数の複数の速度関連値の符号が同じであるか否かを判定する判定手段とをさらに具備し、前記所定数の複数の速度関連値の符号が同じである場合、前記出力手段による減衰機能を停止させるか、または、弱めるように前記ゲインを制御する入力装置。
【請求項5】
請求項3に記載の入力装置であって、
前記動き検出手段は、前記本体の動きに応じた加速度値を検出する加速度検出手段を有し、
前記演算手段は、前記検出された加速度値に基き前記ゲインを制御する入力装置。
【請求項6】
請求項1に記載の入力装置であって、
前記第1の操作形態は、ユーザが空間内で前記本体を動かすことで前記画面上の所定の位置をポインティングする操作形態である入力装置。
【請求項7】
請求項1に記載の入力装置であって、
前記第2の操作形態は、手書き入力の操作形態である入力装置。
【請求項8】
請求項1に記載の入力装置であって、
前記演算手段は、前記本体の動きに対応した速度関連値を算出し、前記第1の演算モードを用いる場合及び前記第2の演算モードを用いる場合の両方で、前記出力された速度関連値に、前記速度関連値に応じて設定された第2のゲインプロファイルのゲインを乗じることで前記対応移動値を算出し、
前記第1の演算モードが用いられる場合及び前記第2の演算モードを用いられる場合に応じて前記第2のゲインプロファイルが異なる入力装置。
【請求項9】
請求項8に記載の入力装置であって、
前記演算手段は、前記第1の演算モードでは、前記出力された速度関連値のうち、第1の閾値から前記第1の閾値より大きい第2の閾値までの第1の範囲では、前記第2のゲインプロファイルのゲインを可変に制御し、前記出力された速度関連値が前記第2の閾値を超える第2の範囲では、前記第2のゲインプロファイルのゲインを一定に制御する入力装置。
【請求項10】
請求項9に記載の入力装置であって、
前記演算手段は、前記第1の範囲では、前記速度関連値が増えるにしたがって、前記第2のゲインプロファイルのゲインが増えるように、該第2のゲインプロファイルのゲインを制御する入力装置。
【請求項11】
請求項1に記載の入力装置であって、
前記操作形態検出手段は、前記本体に設けられたメカニカルスイッチである入力装置。
【請求項12】
請求項3に記載の入力装置であって、
前記演算手段は、前記画面上の第1の軸に沿う第1の対応移動値及び前記第1の軸とは異なる第2の軸に沿う第2の対応移動値を、前記対応移動値として算出し、
前記動き検出手段は、前記第1の軸に対応する前記本体の第1の方向の第1の加速度値、及び、前記第2の軸に対応する、前記第1の方向とは異なる第2の方向の第2の加速度値を検出する加速度センサを有し、
前記操作形態検出手段は、前記検出された前記第1の加速度値及び前記第2の加速度値の両方の絶対値が閾値以下となった場合、前記第1の操作形態から前記手書き入力操作の操作形態に切り替えられたことを検出する入力装置。
【請求項13】
請求項1に記載の入力装置であって、
前記演算手段は、前記画面上の第1の軸に沿う第1の対応移動値及び前記第1の軸とは異なる第2の軸に沿う第2の対応移動値を、前記対応移動値として算出し、
前記動き検出手段は、前記第1の軸に対応する前記本体の第1の方向の第1の加速度値、前記第2の軸に対応する前記本体の前記第1の方向とは異なる第2の方向の第2の加速度値、及び、前記第1及び前記第2の方向の両方と異なる、前記本体の第3の方向の第3の加速度値を検出する加速度センサを有し、
前記操作形態検出手段は、前記検出された第3の加速度値の絶対値が閾値を超えた場合に、前記第1の操作形態から前記第2の操作形態である手書き入力操作の操作形態に切り替えられたことを検出する入力装置。
【請求項14】
請求項3に記載の入力装置であって、
前記本体は、エンターコードを入力するためにユーザに押されるエンターボタンを有し、
前記操作形態検出手段は、前記エンターボタンが押されて前記エンターコードが入力された場合に、前記第1の操作形態から前記手書き入力操作の操作形態に切り替えられたことを検出する入力装置。
【請求項15】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値の情報に基づき、前記画面上の前記ポインタの動きを制御する制御装置であって、
前記速度関連値の情報を受信する受信手段と、
前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記受信された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段と
を具備する制御装置。
【請求項16】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、前記本体の動きを検出する動き検出手段と、前記検出された検出値を出力する出力手段とを有する入力装置から出力された、前記検出値の情報に基づき、前記画面上の前記ポインタの動きを制御する制御装置であって、
前記検出値の情報を受信する受信手段と、
前記受信された検出値に基づき、前記本体の動きの速度に関連する速度関連値を算出し、前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記算出された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段と
を具備する制御装置。
【請求項17】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値の情報に基づき、前記画面上の前記ポインタの動きを制御する制御装置であって、
前記速度関連値の情報を受信する受信手段と、
前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、
前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記受信された速度関連値の情報に基づき、前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段と
を具備する制御装置。
【請求項18】
請求項17に記載の制御装置であって、
前記操作形態検出手段は、
第1の領域と第2の領域とを含む画面データを出力する手段と、
前記ポインタが前記第1の領域内にあるとき前記本体が前記第1の操作形態で操作されると判定し、前記ポインタが前記第2の領域内にあるとき前記本体が前記第2の操作形態で操作されると判定する手段と
を有する制御装置。
【請求項19】
画面上のポインタを用いて前記画面上の所定の位置をポインティングする操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態でユーザにより操作される本体と、
前記本体の操作形態が、前記第1の操作形態及び前記第2の操作形態のいずれであるかを検出する操作形態検出手段と、
前記本体の動きを検出する動き検出手段と、
前記操作形態検出手段により検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する演算手段と、
前記算出された対応移動値の情報を出力する出力手段とを有する入力装置と、
前記出力された対応移動値の情報を受信する受信手段と、
前記受信された対応移動値に応じて、前記画面上での前記ポインタの座標値を生成する座標値生成手段とを有する制御装置と
を具備する制御システム。
【請求項20】
入力装置の本体の動きを検出し、
前記本体の、画面上のポインタを用いて前記画面上の所定の位置をユーザによりポインティングされる操作形態である第1の操作形態、及び、第1の操作形態とは異なる第2の操作形態のうち、前記本体の操作形態がいずれであるかを検出し、
前記検出された前記本体の操作形態に応じて、前記第1の操作形態に対応する前記第1の演算モードと前記第2の操作形態に対応する前記第2の演算モードとを切り替えて、前記検出された前記本体の動きに対応した、前記画面上の前記ポインタの動きに対応する対応移動値を算出する
制御方法。
【請求項21】
本体と、
前記本体の動きを検出する動き検出手段と、
前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段と、
前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力する出力手段と、
複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶する記憶手段と、
前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する出力制御手段と
を具備する入力装置。
【請求項22】
請求項21に記載の入力装置であって、
前記記憶手段は、前記複数の識別情報のうち少なくとも1つの識別情報を、前記本体の動きであるジェスチャー動作の情報として記憶する入力装置。
【請求項23】
本体と、前記本体の動きを検出する動き検出手段と、前記検出された前記本体の動きの速度に関連する速度関連値を算出する速度関連値算出手段とを有する入力装置から出力された、前記速度関連値である出力値に基づき、画面上のポインタの動きを制御する制御装置であって、
前記出力された出力値を受信する受信手段と、
前記受信された前記速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力する出力手段と、
複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶する記憶手段と、
前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する出力制御手段と
を具備する制御装置。
【請求項24】
入力装置の本体の動きを検出し、
前記検出された前記本体の動きの速度に関連する速度関連値を算出し、
前記算出された速度関連値である出力値のうち所定の周波数範囲の出力値を、前記速度関連値に応じて設定されたゲインプロファイルのゲインで減衰させ、前記減衰された出力値を、前記画面上の前記ポインタの動きに対応する対応移動値として出力手段により出力し、
複数のユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された複数の前記ゲインプロファイルの情報とを対応付けて記憶し、
前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数のゲインプロファイルの情報のうち前記選択された識別情報に対応する前記ゲインプロファイルの情報に基づき前記対応移動値を前記出力手段に出力させるように、前記出力手段を制御する
制御方法。
【請求項25】
本体と、
前記本体の動きを検出する動き検出手段と、
ユーザにより操作される操作部と、
前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンドを出力し、前記操作部が操作されることにより前記本体の動きによらない操作信号が入力され、前記入力された操作信号に応じた操作コマンドを出力する出力手段と、
前記操作信号が入力されてから、または、前記操作信号の入力が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させる停止手段と、
複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶する記憶手段と、
前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記停止手段により前記ポインタの動きを停止させる時間を制御する時間制御手段と
を具備する入力装置。
【請求項26】
本体と、前記本体の動きを検出する動き検出手段と、ユーザにより操作される操作部と、前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンド、前記操作部が操作されることにより前記本体の動きによらない操作信号が入力され、前記入力された操作信号に応じた操作コマンド、及び、前記操作信号を出力する出力手段とを有する入力装置から出力された、少なくとも前記移動コマンド及び前記操作信号に基づき、前記画面上の前記ポインタの動きを制御する制御装置であって、
少なくとも前記移動コマンド及び前記操作信号を受信する受信手段と、
前記受信された移動コマンドに応じて、前記画面上での前記ポインタの座標値を生成する座標値生成手段と、
前記操作信号が受信されてから、または、前記操作信号の受信が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させる停止手段と、
複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶する記憶手段と、
前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記停止手段により前記ポインタの動きを停止させる時間を制御する時間制御手段と
を具備する制御装置。
【請求項27】
入力装置の本体の動きを検出し、
前記検出された前記本体の動きに応じた、画面上でポインタを移動させるための移動コマンドを前記入力装置により出力し、
前記入力装置に設けられたユーザにより操作される操作部が操作されることにより前記本体の動きによらない操作信号が前記入力装置に入力された場合、前記入力された操作信号に応じた操作コマンドを前記入力装置により出力し、
前記操作信号が入力されてから、または、前記操作信号の入力が解除されてから、所定の停止時間以内は、前記画面上で前記ポインタの動きを停止させ、
複数の前記ユーザをそれぞれ識別する複数の識別情報と、前記複数の識別情報についてそれぞれ設定された前記停止時間の情報とをそれぞれ対応付けて記憶し、
前記複数の識別情報のうち1つの識別情報が前記複数のユーザのうち一のユーザにより選択された場合に、前記複数の停止時間の情報のうち前記選択された識別情報に対応する停止時間の情報に基づき、前記ポインタの動きを停止させる時間を制御する
制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate


【公開番号】特開2009−294690(P2009−294690A)
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願番号】特願2008−144576(P2008−144576)
【出願日】平成20年6月2日(2008.6.2)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】