説明

入力装置、制御装置、制御システム、制御方法及びハンドヘルド装置

【課題】入力装置への手ぶれ入力があった場合に、その出力信号の補正を行うことができ、かつ、ユーザに位相遅れを感じさせない入力装置、制御装置、制御システム、制御方法及びハンドヘルド装置を提供すること。
【解決手段】入力装置は、画面上のポインタの動きを制御する入力装置であって、筐体と、前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する移動信号出力手段と、前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる減衰手段と、前記筐体の動きに応じた信号に基づき、前記ゲインを制御することで、前記筐体の動きに対応した前記画面上の前記ポインタの速度を制御する制御手段とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、GUI(Graphical User Interface)を操作するための空間操作型の入力装置、その入力装置から出力された情報に応じてGUIを制御する制御装置、これらの装置を含む制御システム及び制御方法に関する。
【背景技術】
【0002】
PC(Personal Computer)で普及しているGUIのコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。GUIは、従来のPCのHI(Human Interface)にとどまらず、例えばテレビを画像媒体としてリビングルーム等で使用されるAV機器やゲーム機のインターフェースとして使用され始めている。このようなGUIのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている(例えば、特許文献1、2参照)。
【0003】
特許文献1には、2軸の角速度ジャイロスコープ、つまり2つの角速度センサを備えた入力装置が開示されている。この角速度センサは、振動型の角速度センサである。例えば共振周波数で圧電振動する振動体に回転角速度が加えられると、振動体の振動方向に直交する方向にコリオリ力が生じる。このコリオリ力は、角速度に比例するので、コリオリ力が検出されることで、回転角速度が検出される。特許文献1の入力装置は、角速度センサにより直交する2軸の回りの角速度を検出し、その角速度に応じて、表示手段により表示されるカーソル等の位置情報としての信号を生成し、これを制御機器に送信する(段落[0030]、[0031]、図3参照)。
【0004】
特許文献2には、3つ(3軸)の加速度センサ及び3つ(3軸)の角速度センサ(ジャイロ)を備えたペン型入力装置が開示されている。このペン型入力装置は、それぞれ3つの加速度センサ及び角速度センサにより得られる信号に基づいて種々の演算を行い、ペン型入力装置の姿勢角を算出している(段落[0033]、[0041]、図1参照)。
【0005】
このようなポインティングデバイスは空間で操作されるので、手ぶれが問題となる。手ぶれを補正するため、ユーザの操作の動きを検出するセンサの出力信号について、その手ぶれに相当する周波数を帯域制限器で除去する、という手段がある(例えば、特許文献3参照)。特許文献3では、その帯域制限器により、例えば0.5〜15Hzの周波数が除去される例が記載されている(段落[0060]、[0062]参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2001−56743号公報
【特許文献2】特許第3748483号公報
【特許文献3】特開平07−28591号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、例えば手ぶれ周波数の領域では、帯域制限器は、ローパスフィルタの特性を有しているため、入力信号に対する出力信号の位相遅れ(応答遅れ)が発生する。位相遅れが発生すると、ポインティングデバイス等の入力装置の動きに遅れて画面上のポインタが動くようになり、ユーザにとっては違和感がある。
【0008】
また、ユーザが、ポインディングデバイスを速く動かす場合と、遅く動かす場合とで、手ぶれの大きさが異なる場合もある。
【0009】
以上のような事情に鑑み、本技術の目的は、入力装置への手ぶれ入力があった場合に、その出力信号の補正を行うことができ、かつ、ユーザに位相遅れを感じさせない入力装置、制御装置、制御システム、制御方法及びハンドヘルド装置を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本技術の一形態に係る入力装置は、画面上のポインタの動きを制御する入力装置であって、筐体と、移動信号出力手段と、減衰手段と、制御手段とを具備する。
前記移動信号出力手段は、前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する。
前記減衰手段は、前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる。
前記制御手段は、前記筐体の動きに応じた信号に基づき、前記ゲインを制御することで、前記筐体の動きに対応した前記画面上の前記ポインタの速度を制御する。
【0011】
「所定の周波数範囲」が例えばユーザの手ぶれに相当する範囲の周波数に設定されるとすると、所定の周波数範囲の信号の出力値とは、ユーザの手ぶれの大きさ(振幅や速さ)となる。その場合、前記筐体の動きに応じた信号のうち、手ぶれ周波数範囲の信号の出力値に基づいて、ゲインが制御されることにより、手ぶれの大きさに応じてゲインが可変に制御されるようになるので、ユーザに位相遅れを感じさせないようなポインタの動きを実現することができる。
【0012】
以上のように、筐体に手ぶれ等の振動が発生しても、ユーザは画面上におけるポインタの精密なポインティング操作が可能となる。また、入力装置の動きに応じた適切なゲインに制御されるので、ユーザは、例えば減衰手段が持つ特性である位相遅れを感じることなく、入力装置を操作することができる。
【0013】
手ぶれに相当する周波数範囲は、典型的には、実質的に1〜20Hzである。
【0014】
ゲインとは、所定の周波数範囲の信号の出力値を減衰させるために、その出力値に乗じられる要素であり、1未満の値となる。
【0015】
「筐体の動きに応じた信号」とは、例えば、筐体の動きに応じた速度値、加速度値、加速度の時間変化率、角速度値、角加速度値、または角加速度の時間変化率等である。
【0016】
前記制御手段は、前記所定の周波数範囲の信号の出力値が大きくなるにしたがって前記ゲインが小さくなるように、かつ、前記所定の周波数範囲の信号の出力値が小さくなるにしたがって前記ゲインが大きくなるように、前記ゲインを制御してもよい。
【0017】
ユーザによって手ぶれの大きさには差があり、手ぶれの大きいユーザの手ぶれを充分抑制できるようにゲインを決めてしまうと、手ぶれの小さいユーザの中には位相遅れに違和感を覚える者が出てくる。手ぶれの大きさに基づき、手ぶれが大きいときはゲインを小さく、手ぶれが小さいときはゲインを大きくすることで、手ぶれが気にならない範囲で、位相遅れを最小にする設定が可能となる。
【0018】
前記移動信号出力手段は、前記筐体の動きに応じた速度値または角速度値を前記出力値として出力し、前記制御手段は、前記速度値または角速度値に応じて前記ゲインを制御してもよい。
【0019】
速度値が比較的大きい場合、ユーザは画面上のある位置から比較的遠い別の位置までポインタを動かしている途中である。このような場合には、画面上の特定の位置などを狙って操作する場合と異なり、手ぶれはあまり気にならず、むしろ位相遅れによる追従性の方が重視される。一方、速度値が比較的小さい場合は、例えば画面上の特定のアイコンを狙って操作するような場合であり、追従性よりも手ぶれの抑制の方が重視される。このように速度と手ぶれ許容量とには相関があるので、速度値の監視によりユーザの操作感が向上する。
【0020】
制御手段がゲインを制御するとは、制御手段がゲインを段階的または連続的に切り替えるという意味である。段階的とは、2段階、つまり減衰手段を機能させるか否かの2段階の切り替えであってもよいし、3段階以上であってもよい。
【0021】
「速度値に応じて」とは、ゲインと速度値との関係が線形である場合に限られず、非線形である場合も含む意味である。
【0022】
速度値は、例えば加速度センサにより検出される加速度値の積分演算により算出されてもよい。この場合、後述するように、重力加速度の影響や積分誤差の影響を低減するための計算が行われてもよい。
【0023】
あるいは、加速度センサ及び角速度センサによりそれぞれ検出される加速度値及び角速度値から、ユーザが操作するときの入力装置の回転半径が求められ、その回転半径から速度値が算出されてもよい。
【0024】
速度値は、典型的には、第1の方向、及び、この第1の方向とは異なる第2の方向の速度値が出力される。これらの速度値は、これら2つの方向にそれぞれ対応する画面上の2つの方向でのポインタの速度にそれぞれ換算される。しかし、速度値は1方向のみの速度値が出力されてもよい。
【0025】
前記入力装置は、前記速度値または角速度値が第1の閾値以上であるか否かを判定する判定手段をさらに具備し、前記制御手段は、前記速度値または角速度値が第1の閾値以上である場合に、前記ゲインを実質的に1としてもよい。
【0026】
手ぶれが起こる第1の閾値以下の速度範囲内において、速度値(または角速度値)(以下同様)がゼロに近い値から第2の閾値までは、特定のアイコンを狙って操作するような場合であり、手ぶれの抑制が重要である。しかし、特に速度値がゼロに近いような場合は、ユーザが入力装置を停止状態から動かし始める瞬間や、動かしていたカーソルをアイコン上に停止させる瞬間である。この場合、位相遅れがあると違和感を感じやすく、操作性が悪化してしまう。したがって、この範囲では、速度値が増えるほどゲインが徐々に小さくなることにより、ユーザの違和感をなくすことができる。
【0027】
また、第2の閾値を超えて速度値が増えた場合には、画面上のある位置から遠い別の位置までポインタを動かす場合であり、この場合も手ぶれによる影響よりも位相遅れを無くすことが重視される傾向と考えられる。したがって、速度値が第2の閾値を超えて第1の閾値に達するまでは、ゲインが徐々に大きくなることで、ユーザの違和感をなくすことができる。
【0028】
「徐々に」とは、「実質的に連続的に」、「段階的に」、またはこれらの組み合わせを含む意味である。
【0029】
前記入力装置は、前記速度値または角速度値が前記第1の閾値より小さい第3の閾値以下であるか否かを判定する判定手段をさらに具備し、前記制御手段は、前記速度値または角速度値が前記第3の閾値以下である場合に、前記ゲインを実質的に1としてもよい。
【0030】
速度値が極めて小さい場合(第3の閾値より小さい場合)、ユーザは入力装置をほぼ停止させているとき、入力装置を停止させている状態から動かし始めた瞬間、または、動かしていた入力装置を停止させる瞬間である。このような場合、位相遅れよりも手ぶれによる影響を重視される傾向である。本技術によれば、入力装置の動かし始めでも位相遅れによる違和感をなくすことができる。
【0031】
なお、本技術では、「第3の閾値」が記載されており、「第1の閾値」及び「第2の閾値」の記載がない。「第1の閾値」及び「第2の閾値」は、上記した別の形態に出現するので、これと概念的に区別するために、「第3の閾値」と記載した。下記の形態の「第4の閾値」及び「第5の閾値」についても同様の趣旨である。例えば、上記第2の閾値と第3の閾値は典型的には異なる値であるが、同じ値であってもよい。
【0032】
あるいは、前記制御手段は、前記速度値または角速度値が前記第3の閾値より大きい第4の閾値に達するまで、前記速度値または角速度値が増えるにしたがって前記ゲインが徐々に減るように該ゲインを制御してもよい。また、制御手段は、前記速度値または角速度値が前記第4の閾値を超えて第5の閾値に達するまで、前記速度値または角速度値が増えるにしたがって前記ゲインが徐々に増えるように該ゲインを制御してもよい。
【0033】
「第4の閾値」及び「第5の閾値」は、概念的には上記形態における「第2の閾値」及び「第1の閾値」とそれぞれ同じになる(値はそれぞれ同じであってもよいし、異なっていてもよい。)。
【0034】
前記入力装置は、前記制御手段による前記速度値または角速度値に応じた前記ゲインの複数の制御パターンを記憶する記憶手段と、前記記憶された前記複数の制御パターンを切り替える切り替え手段とをさらに具備してもよい。
【0035】
ユーザは切り替え手段を用いて制御パターンを切り替えればよい。この場合、メカニカルなスイッチ(ボタンスイッチやディップスイッチ等)、フォトスイッチ、静電スイッチ、圧電スイッチ等(以下、同様)が入力装置に設けられていればよい。あるいは、入力装置が、切り替え手段としてGUIのソフトウェアを有していればよい。入力装置がGUIのソフトウェアを有している場合、入力装置と通信する制御装置へそのGUIの画像情報等を送信すればよい。あるいは、切り替え手段は、制御装置が表示を制御する画面のGUIのモードに応じて、制御パターンを切り替えるようにしてもよい。
【0036】
前記切り替え手段は、前記ゲインが一定でない第1の制御パターンと、手書き入力モードとして前記ゲインが一定の第2の制御パターンとを選択的に切り替えてもよい。
【0037】
前記移動信号出力手段は、前記筐体の動きに応じた加速度値をさらに出力してもよい。その場合、前記制御手段は、前記加速度値、及び、速度値または角速度値に基づき前記ゲインを制御してもよい。
【0038】
入力装置の加速度が大きいときは、ユーザがポインタを早く動かそうとしている場合と考えられ、速度値が大きい場合と同様に、ユーザが画面上のある位置から比較的遠い別の位置までポインタを動かしている途中と想定される。したがって、この場合も手ぶれによる影響よりも位相遅れによる追従性の方が重視される。すなわち加速度値と手ぶれ許容量も、速度と手ぶれ許容量の関係と同様に相関があるので、加速度の監視によりユーザの操作感が向上する。
【0039】
前記移動信号出力手段は、前記筐体の第1の方向の加速度値を検出する加速度センサと、前記第1の方向とは異なる第2の方向の軸回りの角速度値を検出する角速度センサと、前記加速度値及び前記角速度値のうち少なくとも一方に基づいて、前記第1の方向の速度値を算出する速度値算出手段とを有してもよい。
【0040】
前記移動信号出力手段は、前記筐体の第1の方向の動きに応じた第1の速度値、及び、前記筐体の、前記第1の方向とは異なる第2の方向の動きに応じた第2の速度値を、前記出力値として出力してもよい。その場合、前記減衰手段は、前記出力値のうち、所定の周波数範囲の信号の出力値を、前記第1及び前記第2の方向に対応した所定の第1及び第2のゲインでそれぞれ減衰させる。また、前記制御手段は、前記第1及び前記第2の速度値に基づき前記第1及び前記第2のゲインをそれぞれ制御する。
【0041】
前記制御手段は、前記第1及び前記第2の速度値の合成値、及び、前記第1及び前記第2の速度値の絶対値のうち大きい方の値、のうちいずれか一方の値に応じて、前記第1及び前記第2のゲインを制御してもよい。「合成値」とは、典型的にはベクトル合成値である。
【0042】
あるいは、前記移動信号出力手段は、前記筐体の、第1の方向とは異なる第2の方向の軸回りの動きに応じた第1の角速度値、及び、前記筐体の第1の方向の軸回りの動きに応じた第2の角速度値を、前記出力値として出力してもよい。その場合、前記減衰手段は、前記出力値のうち、所定の周波数範囲の信号の出力値を、前記第1及び前記第2の方向の各軸回りに対応した所定の第1及び第2のゲインでそれぞれ減衰させる。また、前記制御手段は、前記第1及び前記第2の角速度値に基づき前記第1及び前記第2のゲインを制御する。
【0043】
前記制御手段は、前記第1及び前記第2の角速度値の合成値、及び、前記第1及び前記第2の角速度値の絶対値のうち大きい方の値、のうちいずれか一方の値に応じて、前記第1及び前記第2のゲインを制御してもよい。
【0044】
前記入力装置は、時間的に連続する所定数の複数の前記速度値を記憶可能な速度値記憶手段と、前記記憶された所定数の複数の速度値の符号が同じであるか否かを判定する符号判定手段とをさらに具備してもよい。その場合、前記制御手段は、前記所定サンプリング数の速度値の符号が同じである場合、前記減衰手段の機能を停止させるか、または、弱めるように前記ゲインを制御する。所定数の複数の速度値の符号が同じである場合、その期間中は速度の向きが変わっていない。したがって、この場合、ユーザは画面上のある位置から比較的遠い別の位置までポインタを動かしている途中であると考えられる。この場合、減衰手段が機能すると、ユーザにとって位相遅れにより違和感を感じる場合があるので、速度値を減衰させるための機能が停止させられるか、弱められればよい。「速度値」が「角速度値」に置き換えられてもよい。
【0045】
本技術の一形態に係る制御装置は、筐体と、前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する移動信号出力手段と、前記出力された信号を入力情報として送信する送信手段とを有する入力装置から送信された前記入力情報に応じて、画面上のポインタの動きを制御する制御装置であって、受信手段と、減衰手段と、制御手段と、座標情報生成手段とを具備する。
前記受信手段は、前記入力情報を受信する。
前記減衰手段は、前記受信された入力情報の前記信号の出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる。
前記制御手段は、前記筐体の動きに応じた信号に基づき、前記ゲインを制御する。
前記座標情報生成手段は、前記制御手段の制御に応じた、前記筐体の動きに対応した前記画面上の前記ポインタの座標情報を生成する。
【0046】
本技術の一形態に係る制御システムは、画面上のポインタの動きを制御する制御システムであって、筐体と、移動信号出力手段と、減衰手段と、制御手段と、送信手段とを有する入力装置と、受信手段と、座標情報生成手段とを有する制御装置とを有する。
特に、前記制御手段は、前記筐体の動きに応じた信号に基づき、前記ゲインを制御することで、前記筐体の動きに対応した前記画面上の前記ポインタの速度を制御するための入力情報を生成する。
【0047】
本技術の他の形態に係る制御システムでは、筐体と、移動信号出力手段と、送信手段とを有する入力装置と、受信手段と、減衰手段と、制御手段と、座標情報生成手段とを有する制御装置とを具備する。
特に、前記制御手段は、前記筐体の動きに応じた信号に基づき、前記ゲインを制御する。
【0048】
本技術に一形態に係る制御方法は、入力装置の筐体の動きを検出する。
前記検出により筐体の動きに応じた信号が出力される。
前記出力された出力値のうち所定の周波数範囲の信号の出力値が、所定のゲインで減衰される。
前記筐体の動きに応じた信号に基づき前記ゲインが制御される。
前記ゲインの制御に応じた、前記筐体の動きに対応した画面上のポインタの座標情報が生成される。
【0049】
本技術の一形態に係るハンドヘルド装置は、筐体と、表示部と、移動信号出力手段と、減衰手段と、制御手段とを具備する。
前記移動信号出力手段は、前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する。
前記減衰手段は、前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる。
前記制御手段は、前記筐体の動きに応じた信号に基づき、前記ゲインを制御することで、前記筐体の動きに対応した前記表示部の画面上のポインタの速度を制御するための入力情報を生成する。
【0050】
本技術の他の形態に係る入力装置は、筐体と、移動信号出力手段と、減衰手段と、記憶手段と、切り替え手段とを具備する。
前記移動信号出力手段は、前記筐体の動きを検出し、前記画面上で前記ポインタを動かすために、該筐体の動きに応じた信号を出力する。
前記減衰手段は、前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を減衰させる。
前記記憶手段は、前記減衰手段のゲインを制御するための複数の制御パターンを記憶する。
前記切り替え手段は、前記複数の制御パターンを切り替える。
【0051】
本技術では、ユーザが切り替え手段を用いてゲインの制御パターンを切り替えればよい。この場合、切り替え手段としては、メカニカルなスイッチ(ボタンスイッチやディップスイッチ等)、フォトスイッチ、静電スイッチ、圧電スイッチ等が入力装置に設けられていればよい。あるいは、入力装置の切り替え手段によるゲインの制御パターン切り替えに合せて、切替情報がGUIのソフトウェアを有している制御装置に送信されてもよい。また前記切替情報を受信した制御装置が、画面のGUIのモードを切り替えてもよい。
【0052】
あるいは、別の形態として、制御装置が、減衰手段、記憶手段及び切り替え手段のうち少なくとも1つを備えていてもよい。この場合、例えば制御装置が、入力装置の移動信号出力手段から出力された出力値としての入力情報を受信し、制御装置は、減衰手段により所定の周波数範囲の信号の出力値を減衰させる。ユーザによりそのゲインの制御パターンが切り替えられる。切り替え手段としては、制御装置に設けられたメカニカルなスイッチ等、あるいは、制御装置が記憶するGUI等が挙げられる。
【0053】
本技術の他の形態に係るハンドヘルド装置は、筐体と、表示部と、移動信号出力手段と、減衰手段と、記憶手段と、切り替え手段とを具備する。
前記移動信号出力手段は、前記筐体の動きを検出し、前記表示部の画面上で前記ポインタを動かすために該筐体の動きに応じた信号を出力する。
前記減衰手段は、前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を減衰させる。
前記記憶手段は、前記減衰手段のゲインを制御するための複数の制御パターンを記憶する。
前記切り替え手段は、前記複数の制御パターンを切り替える。
前記ハンドヘルド装置が、GUIのソフトウェアを有している場合、前記制御パターンの切替に合せて、画面のGUIを切り替えてもよい。また逆にGUIが前記切り替え手段となって、画面のGUIの切替に合せて、前記制御パターンが切り替えられてもよい。
【発明の効果】
【0054】
以上のように、本技術によれば、入力装置への手ぶれ入力があった場合に、その出力信号の補正を行うことができ、かつ、ユーザに位相遅れを感じさせない。
【図面の簡単な説明】
【0055】
【図1】本技術の一実施の形態に係る制御システムを示す図である。
【図2】入力装置を示す斜視図である。
【図3】入力装置の内部の構成を模式的に示す図である。
【図4】入力装置の電気的な構成を示すブロック図である。
【図5】表示装置に表示される画面の例を示す図である。
【図6】ユーザが入力装置を握った様子を示す図である。
【図7】入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。
【図8】センサユニットを示す斜視図である。
【図9】ユーザの手ぶれによる入力装置の筐体の振動に応じたポインタの動きを抑制する機能を実現するための、入力装置の構成を示すブロック図である。
【図10】本技術の一実施の形態に係る制御システムの動作を示すフローチャートである。
【図11】手ぶれ周波数の範囲にある代表的な周波数におけるフィルタの特性(速度プロファイル)の例を示すグラフである。
【図12】図11に示した補正前速度値a〜dにそれぞれ対応する、フィルタの周波数特性の例を示すグラフである。
【図13】図11に示す速度プロファイルの他の実施の形態をそれぞれ示すグラフである。
【図14】図10に示した動作とは別の実施の形態に係る制御システムの動作を示すフローチャートである。
【図15】図14に示した実施の形態で用いられるフィルタの特性である速度プロファイルを示すグラフである。
【図16】図15(B)に示した各速度プロファイルa〜eに対応する、ゲインの周波数特性をそれぞれ示すグラフである。
【図17】本技術のさらに別の実施の形態に係る制御システムの動作を示すフローチャートである。
【図18】図10、図14及び図17で示したステップ103、203及び303における速度値の算出方法の一実施の形態に係る動作を示すフローチャートである。
【図19】図18の速度値の算出方法の基本的な考え方を説明するための図である。
【図20】加速度センサユニットへの重力の影響を説明するための図である。
【図21】加速度センサユニットへの重力の影響を説明するため他の図である。
【図22】図18で示した回転半径の算出方法についての他の実施の形態に係る動作を示すフローチャートである。
【図23】制御装置が主要な演算を行う場合の、図10に対応する制御システムの動作を示すフローチャートである。
【図24】それぞれ異なるゲインの周波数特性を示すグラフである。
【図25】さらに別の実施の形態に係るフィルタの特性としての速度プロファイルを示すグラフである。
【図26】入力装置の別の実施の形態として、文字入力等に適したペン型の入力装置を示す図である。
【図27】本技術者が、一般的な文字入力ソフトを使ってコンピュータに文字を入力し、画面上に表示させた例を示している。
【発明を実施するための形態】
【0056】
以下、本技術の実施の形態を図面を参照しながら説明する。
【0057】
図1は、本技術の一実施の形態に係る制御システムを示す図である。制御システム100は、表示装置5、制御装置40及び入力装置1を含む。
【0058】
図2は、入力装置1を示す斜視図である。入力装置1は、ユーザが持つことができる程度の大きさとされている。入力装置1は、筐体10、筐体10の上部に設けられた例えば2つのボタン11、12、回転式のホイールボタン13等の操作部を備えている。筐体10の上部の中央よりに設けられたボタン11は、例えばPCで用いられる入力デバイスとしてのマウスの左ボタンの機能を有し、ボタン11に隣接するボタン12は右ボタンの機能を有する。
【0059】
例えば、ボタン11を長押して入力装置1を移動させることにより「ドラッグアンドドロップ」、ボタン11のダブルクリックによりファイルを開く操作、ホイールボタン13により画面3のスクロール操作が行われるようにしてもよい。ボタン11、12、ホイールボタン13の配置、発行されるコマンドの内容等は、適宜変更可能である。
【0060】
図3は、入力装置1の内部の構成を模式的に示す図である。図4は、入力装置1の電気的な構成を示すブロック図である。
【0061】
入力装置1は、センサユニット17、制御ユニット30、バッテリー14を備えている。
【0062】
図8は、センサユニット17を示す斜視図である。センサユニット17は、互いに異なる角度、例えば直交する2軸(X軸及びY軸)に沿った加速度を検出する加速度センサユニット16を有する。すなわち、加速度センサユニット16は、第1の加速度センサ161及び第2の加速度センサ162の2つセンサを含む。また、センサユニット17は、その直交する2軸の回りの角加速度を検出する角速度センサユニット15を有する。すなわち、角速度センサユニット15は、第1の角速度センサ151及び第2の角速度センサ152の2つのセンサを含む。これらの加速度センサユニット16及び角速度センサユニット15はパッケージングされ、回路基板25上に搭載されている。
【0063】
第1、第2の角速度センサ151、152としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。第1、第2の加速度センサ161、162としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。
【0064】
図2及び図3の説明では、便宜上、筐体10の長手方向をZ’方向とし、筐体10の厚さ方向をX’方向とし、筐体10の幅方向をY’方向とする。この場合、上記センサユニット17は、回路基板25の、加速度センサユニット16及び角速度センサユニット15を搭載する面がX’−Y’平面に実質的に平行となるように、筐体10に内蔵され、上記したように、両センサユニット16、15はX軸及びY軸の2軸に関する物理量を検出する。X’軸及びY’軸を含む平面が加速度検出面、つまり回路基板25の主面に実質的に平行な面である。
【0065】
以降では、入力装置1とともに動く座標系、つまり、入力装置1に固定された座標系をX’軸、Y’軸、Z’軸で表す。一方、地球上で静止した座標系、つまり慣性座標系をX軸、Y軸、Z軸で表す。また、以降の説明では、入力装置1の動きに関し、X’軸の回りの回転の方向をピッチ方向、Y’軸の回りの回転の方向をヨー方向といい、Z’軸(ロール軸)の回りの回転の方向をロール方向という場合もある。
【0066】
制御ユニット30は、メイン基板18、メイン基板18上にマウントされたMPU19(Micro Processing Unit)(あるいはCPU)、水晶発振器20、送受信機21、メイン基板18上にプリントされたアンテナ22を含む。
【0067】
MPU19は、必要な揮発性及び不揮発性メモリを内蔵している。MPU19は、センサユニット17による検出信号、操作部による操作信号等を入力し、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を行う。
【0068】
送受信機21は、MPU19で生成された制御信号(入力情報)をRF無線信号として、アンテナ22を介して制御装置40に送信する。また、送受信機21は、制御装置40から送信された各種の信号を受信することも可能となっている。
【0069】
水晶発振器20は、クロックを生成し、これをMPU19に供給する。バッテリー14としては、乾電池または充電式電池等が用いられる。
【0070】
制御装置40はコンピュータであり、MPU35(あるいはCPU)、表示制御部42、RAM36、ROM37、ビデオRAM41、アンテナ39及び送受信機38等を含む。
【0071】
送受信機38は、入力装置1から送信された制御信号を、アンテナ39を介して受信する。また、送受信機38は、入力装置1へ各種の信号を送信することも可能となっている。MPU35は、その制御信号を解析し、各種の演算処理を行う。表示制御部42は、MPU35の制御に応じて、主に、表示装置5の画面3上に表示するための画面データを生成する。ビデオRAM41は、表示制御部42の作業領域となり、生成された画面データを一時的に格納する。
【0072】
制御装置40は、入力装置1に専用の機器であってもよいが、PC等であってもよい。制御装置40は、PCに限られず、表示装置5と一体となったコンピュータであってもよいし、オーディオ/ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
【0073】
表示装置5は、例えば液晶ディスプレイ、EL(Electro-Luminescence)ディスプレイ等が挙げられるが、これらに限られない。あるいは、表示装置5は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよい。
【0074】
図5は、表示装置5に表示される画面3の例を示す図である。画面3上には、アイコン4やポインタ2等が表示されている。アイコンとは、コンピュータ上のプログラムの機能、実行コマンド、またはファイルの内容等が画面3上で画像化されたものである。なお、画面3上の水平方向をX軸方向とし、垂直方向をY軸方向とする。
【0075】
図6は、ユーザが入力装置1を握った様子を示す図である。図6に示すように、入力装置1は、上記ボタン11、12、13のほか、例えばテレビ等を操作するリモートコントローラに設けられるような各種の操作ボタンや電源スイッチ等の操作部を備えていてもよい。このようにユーザが入力装置1を握った状態で、入力装置1を空中で移動させ、あるいは操作部を操作することにより、その入力情報が制御装置40に出力され、制御装置40によりポインタが制御される。
【0076】
次に、入力装置1の動かし方及びこれによる画面3上のポインタ2の動きの典型的な例を説明する。図7はその説明図である。
【0077】
図7(A)、(B)に示すように、ユーザが入力装置1を握った状態で、入力装置1のボタン11、12が配置されている側を表示装置5側に向ける。ユーザは、親指を上にし子指を下にした状態、いわば握手する状態で入力装置1を握る。この状態で、センサユニット17の回路基板25(図8参照)は、表示装置5の画面3に対して平行に近くなり、センサユニット17の検出軸である2軸が、画面3上の水平軸(X軸)及び垂直軸(Y軸)に対応するようになる。以下、このような図7(A)、(B)に示す入力装置1の姿勢を基本姿勢という。
【0078】
図7(A)に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向、つまりピッチ方向に振る。このとき、第2の加速度センサ162は、Y’軸方向の加速度を検出し、第2の角速度センサ152は、X’軸の回りの角速度を検出する。これらの検出値に基づき、制御装置40は、ポインタ2がY軸方向に移動するようにそのポインタ2の表示を制御する。
【0079】
一方、図7(B)に示すように、基本姿勢の状態で、ユーザが手首や腕を左右方向、つまりヨー方向に振る。このとき、第1の加速度センサ161は、X’軸方向の加速度(第1の加速度)を検出し、第1の角速度センサ151は、Y’軸の回りの角速度を検出する。これらの検出値に基づき、制御装置40は、ポインタ2がX軸方向に移動するようにそのポインタ2の表示を制御する。
【0080】
後で詳述するが、一実施の形態では、入力装置1のMPU19が、内部の不揮発性メモリに格納されたプログラムに従い、センサユニット17で検出された各検出値に基づきX’軸及びY’軸方向の速度値を算出する。この場合、主として入力装置1のMPU19が、移動信号出力手段として機能する。ここで、ポインタ2の移動の制御のためには、例えば加速度センサユニット16が検出する2軸の加速度値の積分値(速度)のディメンジョンが用いられる。そして、この速度のディメンジョンの入力情報が制御装置40に送られる。
【0081】
他の実施の形態では、入力装置1は、センサユニット17で検出された物理量が入力情報として制御装置40に送られる。この場合、制御装置40のMPU35は、ROM37に格納されたプログラムに従い、受信した入力情報に基づきX’軸及びY’軸方向の速度値を算出し、この速度値に応じてポインタ2を移動させるように表示する(図23参照)。
【0082】
制御装置40は、単位時間当りのX軸方向またはヨー方向の変位を、画面3上のX軸上でのポインタ2の変位量に変換し、単位時間当りのY軸方向またはピッチ方向の変位を、画面3上のY軸上でのポインタ2の変位量に変換することにより、ポインタ2を移動させる。典型的には、制御装置40のMPU35は、所定のクロック数ごとに供給されてくる速度値について、(n−1)回目に供給された速度値に、n回目に供給された速度値を加算する。これにより、当該n回目に供給された速度値が、ポインタ2の変位量に相当し、ポインタ2の画面3上の座標情報が生成される。この場合、主として制御装置40のMPU35が、座標情報生成手段として機能する。
【0083】
本実施の形態に係る制御システム100は、ユーザの手ぶれによる入力装置1の筐体10の振動に応じたポインタの動きを抑制するため、上記のように算出された速度の出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる機能を有する。典型的には、入力装置1がその機能を有する。
【0084】
図9は、その機能を実現する入力装置1の構成を示すブロック図である。入力装置1は、速度算出部29、フィルタ27、制御部28及びメモリ26を備える。
【0085】
速度算出部29は、センサユニット17から出力された物理量、例えば加速度センサユニット16から出力されたX’軸及びY’軸方向の加速度値に基づき、筐体10の速度値をX’軸及びY’軸方向でそれぞれ算出する。
【0086】
フィルタ27は、速度算出部29で算出された速度値のうち、上記所定の周波数範囲の信号の速度値を、所定のゲインで減衰させる。所定の周波数範囲とは、手ぶれに相当する周波数の範囲である。その周波数範囲は、典型的には1〜20Hzであるが、この範囲に限られない。以下、所定の周波数を手ぶれ周波数という。フィルタ27は、デジタルフィルタで構成される。
【0087】
56-112
制御部28は、速度算出部29及びフィルタ27でのデータの処理を制御する。メモリ26は、制御部28の処理の際に用いられる記憶領域である。
【0088】
速度算出部29、フィルタ27、制御部28及びメモリ26は、例えばMPU19が有する機能である。これらの機能は、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等により実現されてもよい。メモリ26は、MPUに内蔵されてもよいし、別であってもよい。メモリ26は、RAMやROMである。
【0089】
次に、以上のように構成された制御システムの動作を説明する。図10は、その動作を示すフローチャートである。
【0090】
入力装置1に電源が投入される。例えば、ユーザが入力装置1または制御装置40に設けられた電源スイッチ等を入れることにより、入力装置1に電源が投入される。電源が投入されると、MPU19は、角速度センサユニット15から出力される2軸の角速度信号(第2の角速度値ωx、第1の角速度値ωy)を、所定のクロックごとに取得する(ステップ101)。また、MPU19は、加速度センサユニット16から出力される2軸の加速度信号(第1の加速度値ax、第2の加速度値ay)を、所定のクロックごとに取得する。この加速度信号は、電源が投入された時点での入力装置1の姿勢(以下、初期姿勢という)に対応する信号である。図10に示すように角速度信号の取得後、加速度信号が取得されているが、MPU19は、典型的には、ステップ101、102については同期して実行する。あるいは、加速度信号の取得後、角速度信号が取得されてもよい。このように角速度信号及び加速度信号の取得の順序を問わないことは、図14、図17、図18、図22、図23についても同様である。
【0091】
初期姿勢は、上記基本姿勢になることも考えられる。しかし、X軸方向に重力加速度のすべての量が検出される姿勢、すなわち第1の加速度センサ161の出力が重力加速度分の加速度値を検出し、第2の加速度センサ162の出力が0である場合もある。そのほか、入力装置1がロール方向で傾いていることも考えられる。本実施の形態に係る制御システム100は、後に図18〜図22で説明する方法によって、加速度センサユニット16に働く重力加速度の影響を除去している。
【0092】
速度算出部29は、加速度値(ax、ay)に基づいて、積分演算により速度値(Vx、Vy)を算出する(ステップ103)。この速度算出部29による速度値の算出についての詳細は後述する。
【0093】
算出された速度値(Vx、Vy)がフィルタ27に入力される。図11は、手ぶれ周波数の範囲にある代表的な周波数(例えば15Hz)におけるフィルタ27の特性(以下、速度プロファイルという。)の例を示すグラフである。グラフの横軸は、フィルタ27による補正前の入力装置1の速度値(以下、補正前速度値という。)を示し、縦軸は、フィルタ27による補正後の入力装置1の速度値(以下、補正後速度値という。)を示す。それぞれの速度値は、8ビット(±128)の絶対値で表している。
【0094】
グラフ中の破線は、フィルタ27のゲインが1である状態を示しており、すなわちフィルタ27による減衰機能が働いていない状態を示している。実際に1未満のゲインがかけられるときの線を、以降、補正線Aと呼ぶ。破線の値を分母とし、補正線Aの値を分子とした値が、ゲインになる。
【0095】
補正前速度値について、第1の閾値(第5の閾値)Th1、第2の閾値(第4の閾値)Th2、及び第3の閾値Th3が設定されている。この例では、
補正前速度値90〜95程度が第1の閾値Th1(以下、単にTh1という。)、
補正前速度値70程度が第2の閾値Th2(以下、単にTh2という。)、
補正前速度値1〜3程度が第3の閾値Th3(以下、単に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】
図10のフローチャートに戻る。ステップ103の後、MPU19は、速度値(Vx、Vy)の絶対値(|Vx|、|Vy|)がTh1以下、または、Th3以上であるか否かを判定する(ステップ104)。ステップ104では、MPU19は、|Vx|及び|Vy|がそれぞれ独立してTh1以下であるか否かを判定すればよい。
【0101】
しかしこれに限られず、例えば速度値(|Vx|、|Vy|)のベクトル合成値([Vx2+Vy2]1/2)がTh1以下、または、Th3以上であるか否かが判定されてもよい。あるいは、|Vx|と|Vy|の大きい方が速度値の代表値とされ、その代表値がTh1以下、または、Th3以上であるか否かが判定されてもよい。これにより、MPU19の計算量が減り、消費電力が減る。
【0102】
ステップ104の条件が満たされない場合、MPU19の制御部28は、図11の速度プロファイルにより、ゲインを1として速度値を出力する。つまり、MPU19は、速度算出部29から出力された速度値(Vx、Vy)=(Vx’、Vy’)とし(ステップ105)、送受信機21によりその速度値(Vx’、Vy’)を制御装置40に送信する(ステップ108)。
【0103】
制御装置40のMPU35は、入力情報である速度値(Vx’、Vy’)を送受信機38により受信する(ステップ109)。MPU35は、下記の式(1)、(2)に示す、速度値Vx’、Vy’に応じた、ポインタ2の座標値X、Yを生成し(ステップ110)、画面3上のポインタ2が移動するように表示を制御する(ステップ111)。
【0104】
X(t) =X(t-1)+Vx’・・・(1)
Y(t) =Y(t-1)+Vy’・・・(2)。
【0105】
一方、ステップ104の条件が満たされる場合、制御部28は、図11に示すように、速度算出部29から出力された速度値の絶対値(|Vx|、|Vy|)に合わせたフィルタ27のゲインを設定する(ステップ106)。フィルタ27は、設定されたゲインで絶対値(|Vx|、|Vy|)を減衰させて(Vx’、Vy’)を出力し(ステップ107)、MPU19は、これを制御装置40に送信する(ステップ108)。
【0106】
以上のように、本実施の形態では、筐体10の動きに応じた信号に基づいてゲインが制御されることにより、例えば手ぶれの大きさ(振幅や速さ)に応じてゲインが可変に制御されるようになる。これにより、ユーザに位相遅れを感じさせないようなポインタの動きを実現することができる。
【0107】
ユーザによって手ぶれの大きさには差があり、手ぶれの大きいユーザの手ぶれを充分抑制できるようにゲインを決めてしまうと、手ぶれの小さいユーザの中には位相遅れに違和感を覚える者が出てくる。手ぶれの大きさに基づき、手ぶれが大きいときはゲインを小さく、手ぶれが小さいときはゲインを大きくすることで、手ぶれが気にならない範囲で、位相遅れを最小にする設定が可能となる。
【0108】
特に、筐体10の動きに応じた信号として、例えば速度値に応じて動的に手ぶれ周波数範囲の速度値がフィルタ27により減衰されるので、筐体10に手ぶれ等の振動が発生しても、ユーザは画面3上におけるポインタ2の精密なポインティング操作が可能となる。
【0109】
速度値が比較的大きい場合、ユーザは画面3上のある位置から比較的遠い別の位置までポインタ2を動かしている途中である。このような場合には、画面3上の特定の位置などを狙って操作する場合と異なり、手ぶれはあまり気にならず、むしろ位相遅れによる追従性の方が重視される。一方、速度値が比較的小さい場合は、例えば画面上の特定のアイコン4を狙って操作するような場合であり、追従性よりも手ぶれの抑制の方が重視される。このように速度と手ぶれ許容量とには相関があるので、速度値の監視によりユーザの操作感が向上する。
【0110】
具体的には、速度値がTh1より大きい場合、ユーザは画面3上のある位置から比較的遠い別の位置までポインタ2を動かしている途中である。この場合、フィルタ27が機能すると、ユーザにとって位相遅れにより違和感を感じる場合があるので、ゲインが1に設定される。これにより、ユーザに位相遅れを感じさせない。
【0111】
また、速度値がTh3より小さい場合、つまり速度値が極めて小さい場合、ユーザは入力装置1をほぼ停止させているとき、入力装置1を停止させている状態から動かし始めた瞬間、または、動かしていた入力装置1を停止させる瞬間である。したがって、この場合も、位相遅れの発生を防止するため、ゲインが1に設定される。特に、ユーザが入力装置1を停止させている状態から動かし始めた瞬間には、ユーザは位相遅れによる違和感を感じやすくなる傾向にある。
【0112】
また、制御部28は、図11に示したように、速度値がTh3を超えてTh2に達するまでの間はゲインが徐々に減るように、かつ、Th2を超えてTh1に達するまでの間はゲインが徐々に増えるようにゲインを制御する。手ぶれが起こるTh1以下の速度範囲内において、速度値がTh3を超えてTh2に達するまでは、速度値が増えるほど手ぶれ量が多くなると考えられる。したがって、この範囲では、速度値が増えるほどゲインが徐々に減ることにより、ユーザの違和感をなくすことができる。また、Th2を超えて速度値が増えるほど、手ぶれ量が少なくなると考えられる。したがって、速度値がTh2を超えてTh1に達するまでは、ゲインが徐々に増えることで、ユーザの違和感をなくすことができる。
【0113】
図13(A)〜(C)は、図11に示す速度プロファイルの他の実施の形態を示すグラフである。
【0114】
図13(A)は、Th3がなく、Th2及びTh1が設定されている例を示す。図13(B)は、Th3及びTh2がなく、Th1が設定されている例を示す。図13(C)は、Th3及びTh1が設定され、Th2がない例を示す。この場合も、図13(A)〜図13(C)のフィルタ27のそれぞれについて、図13で説明したように、周波数ごとに異なる速度プロファイルを有する。
【0115】
あるいは、図示しないが、閾値を4つ以上として、それが直線で結ばれた補正線を有する速度プロファイルが設定されてもよい。
【0116】
図14は、図10に示した動作とは別の実施の形態に係る制御システムの動作を示すフローチャートである。
【0117】
ステップ201〜203は、図10のステップ101〜103と同様の処理である。
【0118】
ステップ204では、MPU19は、ステップ203で得られた速度値(Vx、Vy)を微分演算することで、それぞれX’軸及びY’軸方向の加速度値(axi、ayi)を出力する。
【0119】
ステップ205〜207は、ステップ104〜106と同様の処理である。
【0120】
図15(A)は、この実施の形態で用いられるフィルタ27の特性である速度プロファイルを示すグラフである。このグラフも、手ぶれ周波数範囲にある代表的な周波数(例えば10Hz)におけるプロファイルである。このフィルタ27では、上記加速度値(axi、ayi)の絶対値(|axi|、|ayi|)に応じて、プロファイルが可変となっている。加速度値が大きいほど、ゲインが高く(1に近く)、加速度が小さいほどゲインが低く設定されている。
【0121】
あるいは、フィルタ27の速度プロファイルは、図15(B)のようなグラフであってもよい。図15(B)では、図15(A)に比べ、補正前速度値が0からTh2までのゲインの減少する割合が低くなっており、かつ、Th2からTh3までのゲインの増加する割合が低くなっている。
【0122】
図16(A)〜図16(E)は、図15(B)に示した各速度プロファイルa〜eに対応する、ゲインの周波数特性をそれぞれ示すグラフである。
【0123】
図14の説明に戻る。ステップ208では、MPU19の制御部28は、算出した加速度値の絶対値(|axi|、|ayi|)に応じて、つまり図15(A)または図15(B)の速度プロファイルにより、フィルタ27のゲインを動的に制御する。このゲインの制御は、典型的には加速度値に対して連続的に行われる。すなわち、その加速度値に基く所定の演算によりゲインが制御される。
【0124】
しかし、加速度値(または、加速度値の所定の範囲)ごとに対応する速度プロファイルの情報が予めメモリ26等に記憶されており、MPU19が加速度値に応じてそれを動的に読み出してもよい。この場合、速度プロファイルの数は、2つ以上であればよい。
【0125】
ステップ209〜213は、ステップ107〜111と同様の処理である。
【0126】
このように、図14に示す動作では、速度値及び加速度値の両方に基づきゲインが制御されるので、ユーザの操作感が向上する。加速度値が大きいほど手ぶれ量は少ないと考えられる。つまり、加速度値も手ぶれ量と相関があるので、加速度値の監視によりユーザの操作感が向上する。
【0127】
図17は、さらに別の実施の形態に係る制御システムの動作を示すフローチャートである。
【0128】
ステップ301〜304は、図14に示したステップ201〜204と同様の処理である。
【0129】
ステップ305では、MPU19は、ステップ303で算出された時間的に連続する所定数の速度値(サンプル速度値)(Vx、Vy)をメモリ26に記憶する(ステップ305)。メモリ26に記憶される速度値のサンプル数は、適宜設定される。この場合、メモリ26としては、典型的にはリングバッファやFIFO(First In First Out)が用いられるが、これに限られない。
【0130】
MPU19は、記憶された所定数のサンプル速度値がすべて同じ符号であるか否かを判定する(符号判定手段)(ステップ306)。同じ符号の場合、MPU19は、ステップ307に進む。ステップ307、312〜315は、図10で示したステップ105、108〜111と同様の処理である。つまり、サンプル速度値がすべて同じ符号である場合は、その複数の速度値のサンプリングの期間中は、速度の向きが変わっていない。したがって、この場合、ユーザは画面上のある位置から比較的遠い別の位置までポインタを動かしている途中であると考えられる。この場合、フィルタ27が機能すると、ユーザにとって位相遅れにより違和感を感じる場合があるので、速度値を減衰させるための機能が停止させられるか、弱められればよい。
【0131】
メモリ26に記憶された所定数のサンプル速度値のうち、1つ以上の異なる符号のサンプル速度値がある場合、MPU19は、ステップ308以降の処理に進む。ステップ308、309〜311は、図14で示したステップ205、207〜209と同様の処理である。つまり、1つ以上の異なる符合のサンプル速度値が記憶されている場合、その複数の速度値のサンプリングの期間中に、速度の向きが変わっているので、手ぶれが起こっていると考えられる。したがって、ステップ308以降の処理が実行されることで、手ぶれによる影響を除去することができる。
【0132】
図17に示した動作では、図14に示した動作と同様に、ステップ304で加速度値(axi、ayi)が算出され、ステップ310でその絶対値(|axi|、|ayi|)に応じてゲインが制御された。しかし、図17に示した動作において、図10に示した動作と同様に、加速度値が算出されないような処理であってもよい。すなわち、ステップ304及び310がない処理である。
【0133】
次に、図10、図14及び図17で示したステップ103、203及び303における速度値(Vx、Vy)の算出方法について説明する。図18は、その入力装置1の動作を示すフローチャートである。図19は、この速度値の算出方法の基本的な考え方を説明するための図である。
【0134】
図19では、入力装置1を例えば左右方向(ヨー方向)へ振って操作するユーザを上から見た図である。図19に示すように、ユーザが自然に入力装置1を操作する場合、手首(あるいは手指)の回転、肘の回転及び腕の付け根の回転のうち少なくとも1つによって操作する。したがって、入力装置1の動きと、この手首(あるいは手指)、肘及び腕の付け根の回転とを比較すると、以下に示す1.2.の関係があることが分かる。
【0135】
1.入力装置1のY’軸周りの角速度値ωyは、肩の回転による角速度、肘の回転による角速度、及び、手指(あるいは手首)の回転等による角速度の合成値である。
2.入力装置1のX’軸方向の速度値Vxは、肩、肘、及び手指等の角速度に、肩と入力装置1との距離、肘と入力装置1との距離、及び、手指と入力装置1との距離等をそれぞれ乗じた値の合成値である。
【0136】
ここで、微小時間での入力装置1の回転運動について、入力装置1は、Y’軸に平行であり、時間ごとに位置が変化する中心軸を中心に回転していると考えることができる。この時間ごとに位置が変化する中心軸と、入力装置1との距離を、Y’軸周りの回転半径Ry(t)とすると、入力装置1の速度値Vxと、角速度値ωyとの関係は、以下の式(3)で表される。すなわち、X’軸方向の速度値Vxは、Y’軸周りの角速度値ωyに、中心軸と入力装置1との距離Ry(t)を乗じた値となる。
【0137】
Vx=Ry(t)・ωy・・・(3)。
【0138】
式(3)に示すように、入力装置1の速度値と、角速度値との関係は、比例定数をR(t)とした比例関係、つまり、相関関係にある。
【0139】
上記式(3)を変形して式(4)を得る。
y(t)=Vxy・・・(4)。
【0140】
式(4)の右辺は、速度のディメンジョンである。この式(4)の右辺に表されている速度値と角速度値とがそれぞれ微分され、加速度、あるいは加速度の時間変化率のディメンジョンとされても相関関係は失われない。同様に、速度値と角速度値とがそれぞれ積分され、変位のディメンジョンとされても相関関係は失われない。
【0141】
したがって、式(4)の右辺に表されている速度及び角速度をそれぞれ変位、加速度、加速度の時間変化率のディメンジョンとして、以下の式(5)、(6)、(7)が得られる。
【0142】
y(t)=x/θy・・・(5)
y(t)=ax/Δωy・・・(6)
y(t)=Δax/Δ(Δωy)・・・(7)。
【0143】
上記式(4)、(5)、(6)、(7)のうち、例えば式(6)に注目すると、加速度値axと、角加速度値Δωyが既知であれば、回転半径Ry(t)が求められることが分かる。
【0144】
上述のように、第1の加速度センサ161は、X’軸方向の加速度値axを検出し、第1の角速度センサ151は、Y’軸の周りの角速度値ωyを検出する。したがって、Y’軸周りの角速度値ωyが微分され、Y’軸周りの角加速度値Δωyが算出されれば、Y’軸周りの回転半径Ry(t)が求められる。
【0145】
Y’軸周りの回転半径Ry(t)が既知であれば、この回転半径Ry(t)に、第1の角速度センサ151によって検出されたY’軸の周りの角速度値ωyを乗じることで、入力装置1のX’軸方向の速度値Vxが求められる(式(3)参照)。すなわち、ユーザの回転の操作量そのものがX’軸方向の線速度値に変換され、ユーザの直感に合致した速度値となる。
【0146】
この速度値の算出方法については、ユーザが入力装置1を上下方向(ピッチ方向)へ振って操作する場合にも適用することができる。
【0147】
図18では、式(7)が用いられる例について説明する。図18を参照して、入力装置1のMPU19は、取得した加速度値(ax、ay)の微分フィルタ等により微分演算を行う。これにより、加速度の時間変化率(Δax、Δay)が算出される(ステップ401)。同様に、MPU19は、取得した角速度値(ωx、ωy)の2階の微分演算を行うことで、角加速度の時間変化率(Δ(Δωx)、Δ(Δωy))を算出する(ステップ402)。
【0148】
角加速度の時間変化率が算出されると、MPU19は、Y’軸回りの角加速度の時間変化率の絶対値|Δ(Δωy)|が、閾値th-1を超えるか否かを判定する(ステップ403)。上記|Δ(Δωy)|が閾値th-1を超える場合には、MPU19は、X’軸方向の加速度の時間変化率Δaxを、Y’軸回りの角加速度の時間変化率Δ(Δωy)で除することで、Y’軸回りの回転半径Ry(t)を算出する(ステップ404)。すなわち、X’軸方向の加速度の時間変化率Δaxと、Y’軸回りの角加速度の時間変化率Δ(Δωy)との比を回転半径Ry(t)として算出する(式(7))。|Δ(Δωy)|の閾値th-1は適宜設定可能である。
【0149】
この回転半径Ry(t)の信号は、例えばローパスフィルタに通される(ステップ405)。ローパスフィルタで高周波数域のノイズが除去された回転半径Ry(t)の情報はメモリに記憶される(ステップ406)。このメモリには、回転半径Ry(t)の信号が所定のクロックごとに更新して記憶される。
【0150】
入力装置1のMPU19は、この回転半径Ry(t)に、Y’軸回りの角速度値ωyを乗じることで、X’軸方向の速度値Vxを算出する(ステップ408)。
【0151】
一方で、MPU19は、上記|Δ(Δωy)|が、閾値th-1以下である場合には、メモリに記憶された回転半径Ry(t)を読み出す(ステップ407)。この読み出された回転半径Ry(t)に、Y’軸回りの角速度値ωyを乗じることで、X’軸方向の速度値Vxを算出する(ステップ408)。
【0152】
上記ステップ401〜408の処理が行われる理由として、以下の2つの理由がある。
【0153】
1つは、上記式(7)の回転半径Ry(t)を求めて、ユーザの直感に合致した線速度を求めるためである。
【0154】
2つ目は、上記したように重力の影響を除去するためである。上述のように、入力装置1が基本姿勢から例えばロール方向、あるいはピッチ方向に回転して傾いた場合、重力の影響によって、入力装置1の実際の動きとは違った検出信号を出力してしまう。例えば、上記したように、初期姿勢がロール方向に傾いていた場合は、加速度センサユニット16の各加速度センサ161及び162からそれぞれ重力加速度の成分値が出力される。したがって、この重力加速度の各成分値の影響を除去しない場合には、ポインタ2の動きがユーザの感覚にそぐわない動きとなってしまう。
【0155】
このことをさらに分かりやすく説明する。図20及び図21は、その説明のための図である。図20は、入力装置1をZ方向で見た図であり、図21は、入力装置1をX方向で見た図である。
【0156】
図20(A)では、入力装置1が基本姿勢とされ、静止しているとする。このとき、第1の加速度センサ161の出力は実質的に0であり、第2の加速度センサ162の出力は、重力加速度G分の出力とされている。しかし、例えば図20(B)に示すように、入力装置1がロール方向に傾いた状態では、第1、第2の加速度センサ161、162は、重力加速度Gのそれぞれの傾き成分の加速度値を検出する。
【0157】
この場合、特に、入力装置1が実際にX’軸方向には動いていないにも関わらず、第1の加速度センサ161はX’軸方向の加速度を検出することになる。この図20(B)に示す状態は、図20(C)のように入力装置1が基本姿勢にあるときに、加速度センサユニット16が破線の矢印で示すような慣性力Ix、Iyを受けた状態と等価であり、加速度センサユニット16にとって区別が付かない。その結果、加速度センサユニット16は、矢印で示すような左に斜め下方向の加速度が入力装置1に加わったと判断し、入力装置1の実際の動きとは違った検出信号を出力する。しかも、重力加速度Gは常に加速度センサユニット16に作用するため、積分値は増大し、ポインタ2を斜め下方に変位させる量は加速度的に増大してしまう。図20(A)から図20(B)に状態が移行した場合、本来、画面3上のポインタ2が動かないようにすることが、ユーザの直感に合った操作と言える。
【0158】
例えば、図21(A)に示すような入力装置1の基本姿勢の状態から、図21(B)に示すような、入力装置1がピッチ方向で回転して傾いたときも、上記と同様のことが言える。このような場合、入力装置1が基本姿勢にあるときの第2の加速度センサ162が検出する重力加速度Gが減少するので、図21(C)に示すように、入力装置1は、上のピッチ方向の慣性力Iと区別が付かない。
【0159】
そこで、ユーザの操作による入力装置1の動きのみに着目した加速度値の時間変化率に比べ、その入力装置1の動きにより発生する重力加速度の成分値の時間変化率の方が小さいことを利用する。その重力加速度の成分値の時間変化率は、ユーザの操作による入力装置1の動きのみに着目した加速度値の時間変化率の1/10のオーダーである。加速度センサユニット16から出力される値は、その両者が合成された値である、すなわち、加速度センサユニット16から出力される信号は、ユーザの操作による入力装置1の動きのみに着目した加速度値の時間変化率に、重力加速度の成分値であるDC成分値が重畳された信号となる。
【0160】
したがって、ステップ401では、加速度値が微分演算されることで、加速度の時間変化率が求められ、これにより、重力加速度の成分値の時間変化率が除去される。これにより、入力装置1の傾きによる重力加速度の分力の変化が生じる場合であっても、適切に回転半径を求めることができ、この回転半径から適切な速度値を算出することができる。なお、上記DC成分値には、重力加速度の成分値のほか、例えば加速度センサユニット16の温度ドリフトによるDC成分も含まれる場合もある。
【0161】
また、本実施の形態では、式(7)が用いられるので、ステップ402では、角速度値ωyが2階微分され、高周波数域のノイズがその角速度の演算値に乗ってしまう。この|Δ(Δωy)|が大きい場合問題ないが、小さい場合S/N比が悪化する。S/N比の悪化した|Δ(Δωy)|が、ステップ404でのRy(t)の算出に用いられると、Ry(t)や速度値Vxの精度が劣化する。
【0162】
そこで、ステップ403では、ステップ402で算出されたY’軸回りの角加速度の時間変化率Δ(Δωy)が利用される。Δ(Δωy)が閾値th-1以下の場合、以前にメモリに記憶されたノイズの少ない回転半径Ry(t)が読み出され(ステップ407)、読み出された回転半径Ry(t)がステップ408における速度値Vxの算出に用いられる。
【0163】
ステップ409〜414では、以上のステップ403〜408までの処理と同様に、MPU19は、Y軸方向の速度値Vyを算出する。つまり、MPU19は、X’軸回りの角加速度の時間変化率の絶対値|Δ(Δωx)|が、閾値th-1を超えるか否かを判定し(ステップ409)、閾値th-1を超える場合には、この角速度の時間変化率を用いてX’軸回りの回転半径Rx(t)を算出する(ステップ410)。
【0164】
回転半径Rx(t)の信号は、ローパスフィルタに通され(ステップ411)、メモリに記憶される(ステップ412)。閾値th-1以下である場合には、メモリに記憶された回転半径Rx(t)が読み出され(ステップ413)、この回転半径Rx(t)に基づいてY’軸方向の速度値Vyが算出される(ステップ414)。
【0165】
なお、本実施の形態では、ヨー方向及びピッチ方向の両方向について閾値を同じ値th-1としたが、両方向で異なる閾値が用いられてもよい。
【0166】
ステップ403において、Δ(Δωy)に代えて、角加速度値(Δωy)が閾値に基づき判定されてもよい。ステップ409についても同様に、Δ(Δωx)に代えて、角加速度値(Δωx)が閾値に基づき判定されてもよい。図18に示したフローチャートでは、回転半径R(t)を算出するために式(7)が用いられたが、式(6)が用いられる場合、角加速度値(Δωx、Δωy)が算出されるので、角加速度値(Δωx、Δωy)が閾値に基づき判定されてもよい。
【0167】
次に、これまで説明した回転半径(Rx(t)、Ry(t))の算出方法についての他の実施の形態を説明する。図22は、そのときの入力装置1の動作を示すフローチャートである。
【0168】
本実施形態では、回帰直線の傾きを利用して、回転半径を算出する。上述のように、回転半径は、加速度変化率と角加速度変化率との比である。本実施形態は、この加速度変化率と角加速度変化率との比を算出するために、回帰直線の傾きを利用する。
【0169】
MPU19は、加速度値(ax、ay)及び角速度値(ωx、ωy)をそれぞれ、1階微分、2階微分し、加速度変化率(Δax、Δay)及び角加速度変化率(Δ(Δωx)、Δ(Δωy))を算出する(ステップ501、502)。この加速度変化率(Δax、Δay)、及び角加速度変化率(Δ(Δωx)、Δ(Δωy))のn回分の履歴が、例えばメモリに記憶され、以下の式(8)、(9)により、回帰直線の傾き(A、A)が算出される(ステップ503)。この回帰直線の傾きは、加速度変化率と角加速度変化率との比、つまり、回転半径(Rx(t)、Ry(t))である。なお、参考として、回帰直線の切片(B、B)の算出方法を式(10)、(11)に示す。
【0170】
=Rx(t)=[{Σ(Δ(Δωxj))・Σ(Δayj)}−{ΣΔ(Δωxj)・ΣΔ(Δωxj)・Δayj}]/[n・Σ(Δ(Δωxj))−{ΣΔ(Δωxj)}]・・・(8)
=Ry(t)=[{Σ(Δ(Δωyj))・Σ(Δaxj)}−{ΣΔ(Δωyj)・ΣΔ(Δωyj)・Δaxj}]/[n・Σ(Δ(Δωyj))−{ΣΔ(Δωyj)}]・・・(9)
=[{n・ΣΔ(Δωxj)・Δayj}−{ΣΔ(Δωxj)・ΣΔayj}]/[n・Σ(Δ(Δωxj))−{ΣΔ(Δωxj)}]・・・(10)
=[{n・ΣΔ(Δωyj)・Δaxj}−{ΣΔ(Δωyj)・ΣΔaxj}]/[n・Σ(Δ(Δωyj))−{ΣΔ(Δωyj)}]・・・(11)。
【0171】
上記式(8)〜(11)中のnは、加速度値(Δax、Δay)、及び角加速度変化率(Δ(Δωx)、Δ(Δωy))のサンプリング数を示す。このサンプリング数nは、演算誤差が最小となるように適宜設定される。
【0172】
回転半径が算出されると、図18のステップ408及び414と同様に、回転半径に基づいて速度値が算出される(ステップ504)。
【0173】
なお、回転半径の信号、または速度値の信号がローパスフィルタにかけられることで、高周波数のノイズによる影響を軽減してもよい。
【0174】
本実施形態では、回帰直線の傾きを回転半径として算出することで、より正確な回転半径及び速度値(Vx、Vy)を算出することができる。したがって、画面3上に表示されるポインタ2の動きを、ユーザの直感に合致した自然な動きとすることができる。
【0175】
以上の説明では、加速度変化率及び角加速度変化率のディメンジョンでの回帰直線の傾きの算出方法について説明した。しかし、これに限られず、変位及び角度、速度及び角速度、または、加速度及び角加速度のディメンジョンで、回帰直線の傾きが算出されてもよい。
【0176】
これまでは、入力装置1が主要な演算を行って速度値(Vx、Vx)を算出していた。図23に示す実施の形態では、制御装置40が主要な演算を行う。この図23に示す動作は、図10に対応する。
【0177】
入力装置1が、例えばセンサユニット17から出力された2軸の加速度値及び2軸の角速度値を入力情報として制御装置40に送信する(ステップ703)。制御装置40のMPU35は、この入力情報を受信し(ステップ704)、ステップ103〜107、110、111と同様の処理行う(ステップ705〜711)。ステップ705における速度値の算出方法は、図18〜図22で説明した方法が用いられてもよい。
【0178】
図23では、図10に対応する動作を例に挙げたが、これに限られず、制御装置40は図23の動作と同様の趣旨で、図14のステップ203以降の処理、または図17のステップ303以降の処理を実行してもよい。
【0179】
以上では、速度値に基づいてゲインが動的に制御される形態を説明した。次に、ゲインが静的に制御される実施の形態について説明する。
【0180】
図24(A)〜(C)は、それぞれ異なるゲインの周波数特性を示すグラフである。この例では、減衰される周波数範囲がそれぞれ異なり、また、図24(A)〜(C)に示すグラフのすべてにおいて、カットオフ周波数が1Hz近傍に設定されている。
【0181】
図24(A)では、15〜25Hzの周波数成分のゲインがほぼ0に設定されている。図24(B)のフィルタは、15Hz以下の周波数成分についてもゲインがほぼ0に設定されており、図24(A)のものより強いフィルタと言える。図24(C)のフィルタは、25Hz以上の周波数成分についてもゲインがほぼ0に設定されており、図24(B)のものより強いフィルタと言える。
【0182】
このような同じ周波数について複数のゲインの周波数特性(制御パターン)の情報が予めメモリ26等に記憶されていればよい。ユーザが適応的に切り替えることにより、MPU19の制御部は、その切り替えに応じて選択された周波数特性でフィルタのゲインを制御する。この場合、主にMPU19は、切り替え手段として機能する。
【0183】
ゲインの周波数特性は、図24(A)〜(C)に示したものに限られず、適宜変更可能である。
【0184】
これらの制御パターンの切り替えは、入力装置1または制御装置40に設けられたメカニカルなスイッチ等によりユーザが行うようにすればよい。あるいは、入力装置1または制御装置40が、切り替えのためのGUIのソフトウェアを記憶し、ユーザがそのGUIを用いて、それらの制御パターンを切り替えてもよい。
【0185】
図25は、さらに別の実施の形態に係るフィルタの特性としての速度プロファイルを示すグラフである。
【0186】
手ぶれの速度は個人差が大きいので、本技術者は、フィルタの設計時において、ユーザテストにより、手ぶれ速度の大きさの分散を求め、手ぶれ補正の対象となる速度範囲を決定した。その結果を示すグラフが図25のグラフである。手ぶれ速度の大きさは、例えば振動の最大速度とされた。
【0187】
この例では、3種類の速度プロファイルが示されている。
速度プロファイルaが、手ぶれ補正の対象となる速度範囲が狭い例を示し、2σに入るユーザ向けのプロファイルである。
【0188】
速度プロファイルbが、手ぶれ補正の対象となる速度範囲が広い例を示し、これは4σに入るユーザ向けのプロファイルである。
【0189】
速度プロファイルcが、補正前速度値とは無関係に、ゲインが一定のプロファイルである。
【0190】
なお、この例における速度プロファイルa及びbは、図11で示した速度プロファイルと同様に、Th1(Th1’)、Th2(Th2’)及びTh3が設定された例となっている。しかし、この図25に示した速度プロファイルa及びbは、図11、図13、または図15に示したような速度プロファイル、あるいは別の速度プロファイルに設定されてもよい。
【0191】
図25の速度プロファイルcよりも、ゲインがさらに低い速度プロファイル、つまりX軸に漸近した速度プロファイルが設定されてもよい。
【0192】
このような同じ周波数について、複数の速度プロファイルa〜c(制御パターン)の情報が予めメモリ26等に記憶され、制御パターンごとにTh1及びTh2、Th1’及びTh2’等がメモリ26等に記憶される。ユーザがこれらの速度プロファイルa〜cを適応的に切り替えることにより、MPU19の制御部は、その切り替えに応じて選択された速度プロファイルでフィルタのゲインを制御する。この場合、主にMPU19は、切り替え手段として機能する。
【0193】
この速度プロファイルa〜cの切り替えは、入力装置1または制御装置40に設けられたメカニカルなスイッチ等によりユーザが行うようにすればよい。あるいは、入力装置1または制御装置40が、切り替えのためのGUIのソフトウェアを記憶し、ユーザがそのGUIを用いて速度プロファイルa〜cを切り替えてもよい。
【0194】
次に、図25の速度プロファイルcについて説明する。
【0195】
この速度プロファイルcは、ゲインが低く一定であるので位相遅れが強められるが、例えばユーザの文字入力や絵の入力に適した速度プロファイル、つまり手書き入力モードの速度プロファイルである。ゲインが可変する速度プロファイルa及びbでは、つまり位相遅れが可変する速度プロファイルでは、絵や文字を入力することは難しいと感じるユーザもいる。
【0196】
図26は、入力装置1の別の実施の形態として、文字入力等に適したペン型の入力装置を示す図である。このペン型入力装置91の先端部付近にセンサユニット17が配置されている。センサユニット17は、図8で示したセンサユニット17と同様のものでよい。ペン型入力装置91の形状は、この形状に限られず、適宜変更可能である。
【0197】
ユーザがこのペン型入力装置91を用いる場合、筐体90をつかみ、その先端部を机、床、テーブル、または太もも等に当てて(または、当てなくてもよい。)、文字や絵を入力する感覚でペン型入力装置91を動かす。このペン型入力装置91のコンセプトとしては、一般的には、タブレット型PCで用いられるようなペン型の入力デバイスに近い。しかし、ペン型入力装置91では、姿勢を検出するセンサユニット17が用いられる点、及び、ペン型入力装置91の先端部が画面上に接触しなくてもよい点において、タブレットPCの入力デバイスとは異なる。
【0198】
図27(A)及び図27(B)は、本技術者が、一般的な文字入力ソフトを使って、日本語のひらがな(あ、い、う、え、お)をコンピュータに入力し、画面上に表示させた例を示している。図27(A)は、上記速度プロファイルcを用いた場合を示し、図27(B)は、フィルタの機能を停止させた場合を示す。これらの図から、速度プロファイルcが用いられることにより、文字入力等のときのユーザの細かな手ぶれによる影響を除去することができる。
【0199】
なお、速度プロファイルcのゲインとは異なる一定のゲインの速度プロファイルが、1つまたは複数設定されていもよい。
【0200】
あるいは、例えば同じ周波数について、図13(A)、(B)及び(C)で説明したそれぞれの速度プロファイルが、予めメモリに記憶され、ユーザが切り替えることができるようにしてもよい。そのメモリは、入力装置1(または上記ペン型入力装置91)が持っていてもよいし、制御装置40が持っていてもよい。
【0201】
あるいは、制御装置40は、例えばROM37や他の記憶デバイスに、複数のGUIのモードを記憶し、その複数のGUIモードにそれぞれ対応する複数の速度プロファイルを記憶しておいてもよい。制御装置40のMPU35は、それら複数のGUIのモードのうち、画面3上に表示するGUIのモードに応じて、速度プロファイルを切り替えればよい。
【0202】
複数のGUIのモードとは、例えば上記した文字入力等のアプリケーションソフトウェアごとに異なるモードである。例えば文字入力用のアプリケーションソフトウェアの場合、比較的ゲインが低く設定され、つまり比較的強いフィルタ設定とされる。それ以外のアプリケーションソフトウェアの場合、比較的ゲインが高く設定され、つまり比較的弱いフィルタ設定とされる。
【0203】
あるいは、文字が入力される対象となるGUIウィンドウ内は、比較的強いフィルタ(例えば速度プロファイルc)、そのGUIウィンドウの外部では、上記速度値に応じてゲインが可変(例えば速度プロファイルaまたはb)に設定されてもよい。
【0204】
あるいは、複数のGUIのモードとは、アイコン4の大きさごとに異なるモードであってもよい。アイコン4の大きさが比較的小さい場合、ユーザの精密なポインティングが必要とされるため、比較的強いフィルタ設定とされる。逆に、アイコンの大きさが比較的大きい場合、精密なポインティングはあまり必要ないので、弱いフィルタ設定とされる。
【0205】
本技術に係る実施の形態は、以上説明した実施の形態に限定されず、他の種々の実施形態が考えられる。
【0206】
上記実施の形態では、入力装置1が、加速度センサユニット16及び角速度センサユニット15を備える構成を説明した。しかし、角速度センサユニット15はなく、加速度センサユニット16のみが設けられていてもよい。この場合、ステップ103、203、303では、加速度センサユニット16で検出された加速度値が、単に積分演算されることで、速度値が算出されればよい。
【0207】
図10では、ステップ103において速度値が算出され、その速度値(Vx、Vx)に基づき、フィルタのゲインが制御される例を説明した。しかし、ステップ101で取得された角速度値(ωx、ωy)に基づき、ゲインが制御されてもよい。この場合、速度と角速度とは相関があるので、角速度プロファイルは、図11、13、15、16、または25等と同様なプロファイルが例として挙げられる。このことは、図14及び図18の動作でも同様である。
【0208】
あるいは、速度または角速度に限られず、加速度、加速度の時間変化率、角加速度または角加速度の時間変化率に基づき、フィルタのゲインが制御されてもよい。
【0209】
上記のように角速度値に基づきフィルタのゲインが制御される場合、加速度センサユニット16はなく、角速度センサユニット15のみが設けられていてもよい。この場合、角速度センサユニット15で検出された角速度値に基づき、制御装置40は、ヨー方向及びピッチ方向の筐体10の動きに対応する、ポインタ2の変位量を算出する。この場合、制御装置40は、角速度値に対応するポインタ2の変位量が予めメモリに記憶されていてもよいし、予め定められた角速度値から変位量への変換式を用いて変位量を算出してもよい。
【0210】
上記各実施の形態では、速度値(または角速度値)に基づき、連続的に演算によってゲインが制御される例を説明した。しかし、ゲインは段階的に制御されてもよい。段階的とは、2段階でもよいし、3段階以上でもよい。すなわち、例えば2段階の場合、速度値(または角速度値)が閾値以下となった場合、ゲインが1未満の一定値となるように制御される。
【0211】
図11、図13、図14、図15及び図25に示した速度プロファイルはほぼ直線で構成される例を説明したが、これらは、2次曲線、その他の曲線、または、直線と曲線でなる線であってもよい。
【0212】
図10及び図15では入力装置1が大部分の演算を実行し、図23では制御装置40が大部分の演算を実行した。しかし、入力装置1及び制御装置40が、適宜分担して演算を実行するようにしてもよい。
【0213】
本技術は、例えば、表示部を備えるハンドヘルド型の情報処理装置(ハンドヘルド装置)に適用されてもよい。すなわち、ハンドヘルド装置は、上記入力装置1と制御装置40とが一体となったような装置と考えることができる。この場合、ユーザは、ハンドヘルド装置の本体を動かすことで、その表示部に表示されたポインタが動く。ハンドヘルド装置として、例えば、PDA(Personal Digital Assistance)、携帯電話機、携帯音楽プレイヤー、デジタルカメラ等が挙げられる。
【0214】
上記各実施の形態では、入力装置の動きに応じて画面上で動くポインタ2を、矢印の画像として表した。しかし、ポインタ2の画像は矢印に限られず、単純な円形、角形等でもよいし、キャラクタ画像、またはその他の画像であってもよい。
【0215】
センサユニット17の、角速度センサユニット15及び加速度センサユニット16の検出軸は、上述のX’軸及びY’軸のように必ずしも互いに直交していなくてもよい。その場合、三角関数を用いた計算によって、互いに直交する軸方向に投影されたそれぞれの加速度が得られる。また同様に、三角関数を用いた計算によって、互いに直交する軸の回りのそれぞれの角速度を得ることができる。
【0216】
以上の各実施の形態で説明したセンサユニット17について、角速度センサユニット15のX’及びY’の検出軸と、加速度センサユニット16のX’及びY’軸の検出軸がそれぞれ一致している形態を説明した。しかし、それら各軸は、必ずしも一致していなくてもよい。例えば、角速度センサユニット15及び加速度センサユニット16が基板上に搭載される場合、角速度センサユニット15及び加速度センサユニット16の検出軸のそれぞれが一致しないように、角速度センサユニット15及び加速度センサユニット16がその基板の主面内で所定の回転角度だけずれて搭載されていてもよい。その場合、三角関数を用いた計算によって、各軸の加速度及び角速度を得ることができる。
【0217】
上記角速度センサユニット15の代わりとして、角度センサあるいは角加速度センサが用いられてもよい。角度センサとしては、地磁気センサまたはイメージセンサ等が挙げられる。例えば3軸地磁気センサが用いられる場合、角度値の変化量が検出されるので、その場合、角度値が微分演算されることで角速度値が得られる。角加速度センサは、複数の加速度センサの組み合わせにより構成され、角加速度センサにより得られる角加速度値が積分演算されることで、角速度値が得られる。
【0218】
図10において、速度値(Vx、Vy)の算出方法が示された。これらの方法に限られず、MPU19は、角速度センサユニット15により検出される角速度値に応じた速度値(Vx、Vy)を算出してもよい。例えば、角速度値に応じた速度値とは、所定の演算式(角速度値と速度値との関数)により算出される速度値、または、ルックアップテーブルを用いてメモリから読み出される速度値である。この場合、加速度センサユニット16により得られる加速度値(ax、ay)は使われなくてもよい。
【符号の説明】
【0219】
1、91…入力装置
2…ポインタ
3…画面
4…アイコン
10、90…筐体
15…角速度センサユニット
16…加速度センサユニット
17…センサユニット
18…メイン基板
19…入力装置のMPU
21…送受信機
26…メモリ
27…フィルタ
28…制御部
29…速度算出部
35…制御装置のMPU
37…ROM
38…送受信機
100…制御システム
151…第1の角速度センサ
152…第2の角速度センサ
161…第1の加速度センサ
162…第2の加速度センサ

【特許請求の範囲】
【請求項1】
画面上のポインタの動きを制御する入力装置であって、
筐体と、
前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する移動信号出力手段と、
前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる減衰手段と、
前記筐体の動きに応じた信号に基づき、前記ゲインを制御することで、前記筐体の動きに対応した前記画面上の前記ポインタの速度を制御する制御手段と
を具備する入力装置。
【請求項2】
請求項1に記載の入力装置であって、
前記制御手段は、前記筐体の動きに応じた信号のうち前記所定の周波数範囲の信号の出力値に基づき前記ゲインを制御する入力装置。
【請求項3】
請求項2に記載の入力装置であって、
前記制御手段は、前記所定の周波数範囲の信号の出力値が大きくなるにしたがって前記ゲインが小さくなるように前記ゲインを制御し、かつ、前記所定の周波数範囲の信号の出力値が小さくなるにしたがって前記ゲインが大きくなるように前記ゲインを制御する入力装置。
【請求項4】
請求項1に記載の入力装置であって、
前記移動信号出力手段は、前記筐体の動きに応じた速度値または角速度値を前記出力値として出力し、
前記制御手段は、前記速度値または角速度値に応じて前記ゲインを制御する入力装置。
【請求項5】
請求項4に記載の入力装置であって、
前記制御手段による前記速度値または角速度値に応じた前記ゲインの複数の制御パターンを記憶する記憶手段と、
前記記憶された前記複数の制御パターンを切り替える切り替え手段と
をさらに具備する入力装置。
【請求項6】
請求項4に記載の入力装置であって、
前記移動信号出力手段は、前記筐体の動きに応じた加速度値をさらに出力し、
前記制御手段は、前記加速度値、及び、速度値または角速度値に基づき前記ゲインを制御する入力装置。
【請求項7】
請求項4に記載の入力装置であって、
時間的に連続する所定数の複数の前記速度値を記憶可能な速度値記憶手段と、
前記記憶された所定数の複数の速度値の符号が同じであるか否かを判定する符号判定手段とをさらに具備し、
前記制御手段は、前記所定サンプリング数の速度値の符号が同じである場合、前記減衰手段の機能を停止させるか、または、弱めるように前記ゲインを制御する入力装置。
【請求項8】
請求項4に記載の入力装置であって、
時間的に連続する所定数の複数の前記角速度値を記憶可能な速度値記憶手段と、
前記記憶された所定数の複数の角速度値の符号が同じであるか否かを判定する符号判定手段とをさらに具備し、
前記制御手段は、前記所定サンプリング数の角速度値の符号が同じである場合、前記減衰手段の機能を停止させるか、または、弱めるように前記ゲインを制御する入力装置。
【請求項9】
請求項1に記載の入力装置であって、
前記所定の周波数範囲は、実質的に1〜20Hzの手ぶれに相当する範囲である入力装置。
【請求項10】
請求項9に記載の入力装置であって、
前記切り替え手段は、前記ゲインが一定でない第1の制御パターンと、前記ゲインが一定の第2の制御パターンとを選択的に切り替える入力装置。
【請求項11】
筐体と、前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する移動信号出力手段と、前記出力された信号を入力情報として送信する送信手段とを有する入力装置から送信された前記入力情報に応じて、画面上のポインタの動きを制御する制御装置であって、
前記入力情報を受信する受信手段と、
前記受信された入力情報の前記信号の出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる減衰手段と、
前記筐体の動きに応じた信号に基づき、前記ゲインを制御する制御手段と、
前記制御手段の制御に応じた、前記筐体の動きに対応した前記画面上の前記ポインタの座標情報を生成する座標情報生成手段と
を具備する制御装置。
【請求項12】
画面上のポインタの動きを制御する制御システムであって、
筐体と、
前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する移動信号出力手段と、
前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる減衰手段と、
前記筐体の動きに応じた信号に基づき、前記ゲインを制御することで、前記筐体の動きに対応した前記画面上の前記ポインタの速度を制御するための入力情報を生成する制御手段と、
前記生成された入力情報を送信する送信手段とを有する入力装置と、
前記送信された入力情報を受信する受信手段と、
前記受信された入力情報に基づき、前記画面上の前記ポインタの座標情報を生成する座標情報生成手段とを有する制御装置と
を具備する制御システム。
【請求項13】
画面上のポインタの動きを制御する制御システムであって、
筐体と、
前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する移動信号出力手段と、
前記出力された信号を入力情報として送信する送信手段とを有する入力装置と、
前記入力情報を受信する受信手段と、
前記受信された入力情報の前記信号の出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる減衰手段と、
前記筐体の動きに応じた信号に基づき、前記ゲインを制御する制御手段と、
前記制御手段の制御に応じた、前記筐体の動きに対応した前記画面上の前記ポインタの座標情報を生成する座標情報生成手段とを有する制御装置と
を具備する制御システム。
【請求項14】
入力装置の筐体の動きを検出し、
前記検出により筐体の動きに応じた信号を出力し、
前記出力された出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させ、
前記筐体の動きに応じた信号に基づき前記ゲインを制御し、
前記ゲインの制御に応じた、前記筐体の動きに対応した画面上のポインタの座標情報を生成する制御方法。
【請求項15】
筐体と、
表示部と、
前記筐体の動きを検出し、該筐体の動きに応じた信号を出力する移動信号出力手段と、
前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を、所定のゲインで減衰させる減衰手段と、
前記筐体の動きに応じた信号に基づき、前記ゲインを制御することで、前記筐体の動きに対応した前記表示部の画面上のポインタの速度を制御するための入力情報を生成する制御手段と
を具備するハンドヘルド装置。
【請求項16】
画面上のポインタの動きを制御する入力装置であって、
筐体と、
前記筐体の動きを検出し、前記画面上で前記ポインタを動かすために、該筐体の動きに応じた信号を出力する移動信号出力手段と、
前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を減衰させる減衰手段と、
前記減衰手段のゲインを制御するための複数の制御パターンを記憶する記憶手段と、
前記複数の制御パターンを切り替える切り替え手段と
を具備する入力装置。
【請求項17】
筐体と、
表示部と、
前記筐体の動きを検出し、前記表示部の画面上でポインタを動かすために該筐体の動きに応じた信号を出力する移動信号出力手段と、
前記移動信号出力手段からの出力された出力値のうち所定の周波数範囲の信号の出力値を減衰させる減衰手段と、
前記減衰手段のゲインを制御するための複数の制御パターンを記憶する記憶手段と、
前記複数の制御パターンを切り替える切り替え手段と
を具備するハンドヘルド装置。

【図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


【公開番号】特開2013−69349(P2013−69349A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2013−10137(P2013−10137)
【出願日】平成25年1月23日(2013.1.23)
【分割の表示】特願2009−532261(P2009−532261)の分割
【原出願日】平成20年9月16日(2008.9.16)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】