(57)【特許請求の範囲】
【請求項１】
筐体と、前記筐体内で前記筐体の動きを検出する動きセンサと有し、前記動きセンサの出力から所定空間内での前記筐体の位置を算出する操作入力システムであって、
前記所定空間内での前記筐体の位置を直接的に検出する位置センサと、
前記位置センサの出力を用いて前記動きセンサの出力を修正する修正手段と
前記動きセンサの出力のオンオフを切り替える切替手段と、
前記切替手段による前記動きセンサの出力のオフ直前に算出された前記筐体の第１の位置と、前記切替手段による前記動きセンサの出力のオン直後に算出された前記筐体の第２の位置との差分により、前記位置センサの空間座標の基準もしくは前記動きセンサの空間座標の基準を変更する座標基準変更手段と
を具備する操作入力システム。
【請求項２】
筐体と、前記筐体内で前記筐体の動きを検出する動きセンサと有する入力装置と、
前記所定空間内での前記筐体の位置を直接的に検出する位置センサと、
前記動きセンサの出力から前記所定空間内での前記筐体の位置を算出する制御装置とを具備し、
前記制御装置は、
前記位置センサの出力を用いて前記動きセンサの出力を修正する修正手段と、
前記動きセンサの出力のオンオフを切り替える切替手段と、
前記切替手段による前記動きセンサの出力のオフ直前に算出された前記筐体の第１の位置と、前記切替手段による前記動きセンサの出力のオン直後に算出された前記筐体の第２の位置との差分により、前記位置センサの空間座標の基準もしくは前記動きセンサの空間座標の基準を変更する座標基準変更手段と
を具備する操作入力システム。
【請求項３】
筐体と、前記筐体の動きを検出する動きセンサとを有する入力装置から送信される、前記動きセンサの出力から所定空間内での前記筐体の位置を算出する制御装置であって、
前記所定空間内での前記筐体の位置を直接的に検出する位置センサの出力を用いて前記動きセンサの出力を修正する修正手段と、
前記動きセンサの出力のオンオフを切り替える切替手段と、
前記切替手段による前記動きセンサの出力のオフ直前に算出された前記筐体の第１の位置と、前記切替手段による前記動きセンサの出力のオン直後に算出された前記筐体の第２の位置との差分により、前記位置センサの空間座標の基準もしくは前記動きセンサの空間座標の基準を変更する座標基準変更手段と
を具備する
制御装置。
【請求項４】
筐体と、
操作画面を表示する表示部と、
前記筐体の動きを検出する動きセンサと、
前記動きセンサの出力から所定空間内での前記筐体の位置を算出する算出手段と
前記所定空間内での前記筐体の位置を直接的に検出する位置センサと、
前記位置センサの出力を用いて前記動きセンサの出力を修正する修正手段と、
前記動きセンサの出力のオンオフを切り替える切替手段と、
前記切替手段による前記動きセンサの出力のオフ直前に算出された前記筐体の第１の位置と、前記切替手段による前記動きセンサの出力のオン直後に算出された前記筐体の第２の位置との差分により、前記位置センサの空間座標の基準もしくは前記動きセンサの空間座標の基準を変更する座標基準変更手段と
を具備するハンドヘルド装置。
【請求項５】
入力装置に内蔵された動きセンサにより前記入力装置の動きを検出し、
位置センサにより、所定空間内での前記入力装置の位置を直接的に検出し、
前記位置センサの出力を用いて前記動きセンサの出力を修正し、
前記動きセンサの出力から所定空間内での前記入力装置の位置を算出し、
前記動きセンサの出力のオンオフを切り替え、
前記動きセンサの出力のオフ直前に算出された前記入力装置の第１の位置と、前記動きセンサの出力のオン直後に算出された前記入力装置の第２の位置との差分により、前記位置センサの空間座標の基準もしくは前記動きセンサの空間座標の基準を変更する
操作入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば画面上におけるポインタの移動を制御する操作入力システム、制御装置、ハンドヘルド装置及び操作入力システムに関する。
【背景技術】
【０００２】
ＰＣ(Personal Computer)で普及しているＧＵＩ(Graphical User Interface)のコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。ＧＵＩは、従来のＰＣのＨＩ(Human Interface)にとどまらず、例えばテレビを画像媒体としてリビングルーム等で使用されるＡＶ機器やゲーム機のインターフェースとして使用され始めている。このようなＧＵＩのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている（例えば特許文献１、２参照）。
【０００３】
例えば特許文献１には、画面に対する入力装置の相対的な動きを、内蔵された角速度センサ及び加速度センサの出力に基づいて検出する制御システムが記載されている。この制御システムは、入力装置から送信される上記各種センサの検出信号に基づいて、画面上のポインタの表示を制御するようにしている。
【０００４】
また、特許文献２には、モニタの周辺に配置された２つのマーカ（赤色ＬＥＤ）を撮像するＣＭＯＳセンサあるいはＣＣＤ等の撮像素子を内蔵したコントローラを有する情報処理システムが記載されている。この情報処理システムは、コントローラから送信される上記マーカの撮像データに基づいて、コントローラの位置および姿勢に対応した操作信号を得るようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ＷＯ２００９／０３５００５号（段落［００９３］、［００９４］）
【特許文献２】特開２００７−６１４８９号公報（段落[００７４]）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
角速度センサや加速度センサの出力をもとに画面上のポインタの位置を演算する方式では、ポインタの現座標値に角速度センサや加速度センサの出力である速度値を積算して新たな座標値が生成される。このため、座標値の計算負荷が小さく高速化が容易である。
【０００７】
しかしこのような利点をもつ反面、次のような問題がある。角速度センサや加速度センサはＤＣ（Direct Current）オフセットと呼ばれる基準電位に対する電位の変動を検出信号として出力する。ここで、ＤＣオフセットは、センサを構成する素子特性（温度ドリフト、振動モードの変化など）や、外的ストレス、アナログ回路の回路特性（温度特性、時定数、増幅器出力のＳＮ比など）に応じて変動し、その変動の推移も一様でない。このため、角速度センサや加速度センサの検出信号をもとに積分によりポインタの座標を算出するシステムでは、ＤＣオフセットの変動に起因した誤差が累積し、この結果、操作感が低下する場合があった。
【０００８】
また、角速度センサにより検出されるものはあくまで角度の時間変化率であることから、検出される筐体の位置が必ずしも実際の操作と一致するとは限らず、操作に違和感が発生することがある。入力装置がロール方向に傾いた場合、操作方向がずれてしまうという問題点もあった。
【０００９】
さらに、例えば表示画面にポインタを描画しようとすると、描画座標を得るために、角速度センサの場合は積分を、加速度センサの場合は２重積分を行う必要があり、その結果、積分誤差が蓄積されることで操作開始時の基準位置からやがて逸脱し、操作感が悪くなってしまうという問題点があった。
【００１０】
さらに、操作入力を容易化するための諸施策（手振れ補正、速度ゲイン可変、ポインタ移動可否など）を施すと、これらも基準位置からの逸脱を助長してしまうという問題点があった。
【００１１】
一方、イメージセンサを用いた場合は、計算負荷が大きいため反応が遅い、イメージセンサの画角外で（さらには画角内であっても遠すぎても近すぎても）は操作できない、画角が空間内のどこに位置するのかわかりにくい、操作の分解能が低い、などの問題点があった。
【００１２】
以上のような事情に鑑み、本発明の目的は、動きセンサを用いた場合の有利点を活かしつつ、操作性の向上を図ることができる操作入力システム、制御装置、ハンドヘルド装置及び操作入力方法を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明に係る操作入力システムは、筐体と、前記筐体内で前記筐体の動きを検出する動きセンサと有し、前記動きセンサの出力から所定空間内での前記筐体の位置を算出する操作入力システムであって、前記所定空間内での前記筐体の位置を直接的に検出する位置センサと、前記位置センサの出力を用いて前記動きセンサの出力を修正する修正手段とを具備する。
【００１４】
本発明は、筐体内で筐体の動きを検出する動きセンサの出力から所定空間内での筐体の位置を算出する操作入力システムにおいて、修正手段は、所定空間内での筐体の位置を直接的に検出する位置センサの出力を用いて動きセンサの出力を修正する。これにより、動きセンサの出力に基づく所定空間内での筐体の位置の算出結果として、ユーザの直感により合致した結果が得られる。
【００１５】
動きセンサとしては、例えば、角速度センサや加速度センサ等の慣性センサが用いられる。また、第２のセンサとしては、例えば、撮像素子を含むイメージセンサや、超音波センサやレーザ変位センサなどの測距センサを用いることができる。
【００１６】
上記修正手段は、所定時間内での動きセンサの出力と所定時間内での位置センサの出力との関係をもとに動きセンサの出力を修正するための情報を算出する。ここで、動きセンサの出力を修正するための情報は、動きセンサの出力の修正がゼロであるときの情報も含む。算出された修正情報は、例えば、次のサイクル、あるいは、次以後のいずれかのサイクルに得られた動きセンサの出力に対して反映される。
【００１７】
さらに、具体的には、本発明において、動きセンサは筐体の２次元以上の空間における動きを検出するものであり、位置センサは筐体の２次元以上の空間における位置を直接的に検出するものとされる。そして上記修正手段は、動きセンサの出力をもとに得られる筐体の動きと、位置センサにより検出された筐体の位置の変化との関係をもとに、動きセンサの出力を修正するための情報を算出するようにしてもよい。
【００１８】
上記動きセンサは、設定された基準電位に対する電位の変動を検出信号として出力するものであり、上記修正手段は、基準電位の校正値を動きセンサの出力を修正するための情報として算出するものとする。この場合、上記修正手段は、例えば、動きセンサの出力の積分値と位置センサの出力の変位量との関係をもとに、動きセンサの出力を修正するための情報を算出することができる。これにより、動きセンサを構成する素子特性の変動に追従した、より適切な基準電位が得られ、動きセンサの出力に基づく所定空間内での筐体の位置の算出結果として、ユーザの直感により合致した結果が得られる。
【００１９】
上記修正手段は、位置センサの出力の変位量が所定量以下になったとき、動きセンサの出力の積分値をもとに動きセンサの出力を修正するための情報を算出するようにしてもよい。すなわち、この発明では、上記位置センサの出力の変位量が所定値以下になったときを筐体が静止状態または略静止状態にあるときとし、このときの動きセンサの出力を動きセンサを構成する素子特性の変動成分とみなして修正情報を算出する。これにより、動きセンサを構成する素子特性の変動に追従した、より一層適切な基準電位が得られ、動きセンサの出力に基づく所定空間内での筐体の位置の算出結果として、より一層ユーザの直感により合致した結果が得られる。
【００２０】
また、上記修正手段は、動きセンサの出力をもとに得られた筐体の動きの第１の軌跡と、位置センサにより検出された筐体の位置の変化の第２の軌跡との関係をもとに、動きセンサの出力を修正するための情報を算出するようにしてもよい。この場合、上記修正手段は、例えば、前記第１の軌跡と前記第２の軌跡との回転角度の差を前記動きセンサの出力を修正するための情報として算出することができる。これにより、筐体がロール方向に傾いた状態で操作された場合の、動きセンサの出力に含まれる傾きの成分を低減もしくは解消することができ、動きセンサの出力に基づく所定空間内での筐体の位置の算出結果として、ユーザの直感により合致した結果が得られる。
【００２１】
さらに、上記修正手段は、前記動きセンサの出力をもとに算出された前記筐体の動きの第１の変位量と、前記位置センサにより検出された前記筐体の位置の第２の変位量との関係をもとに、前記動きセンサの出力を修正するための情報を算出するようにしてもよい。この場合、上記修正手段は、例えば、第１の変位量と第２の変位量との比率を動きセンサの出力を修正するための情報として算出することができる。これにより、筐体の操作の回転半径の違いによる、動きセンサの出力に基づく筐体の位置の算出結果への影響を低減もしくは解消することができ、ユーザの直感により合致した結果が得られる。
【００２２】
さらに、上記修正手段は、動きセンサの出力をもとに得られた筐体の第１の位置と、位置センサにより検出された筐体の第２の位置との関係をもとに、動きセンサの出力を修正するための情報を算出するようにしてもよい。この場合、上記修正手段は、例えば、第１の位置と第２の位置との差記動きセンサの出力を修正するための情報として算出することができる。これにより、動きセンサの出力に基づく筐体の位置の算出結果に含まれる積分誤差を低減もしくは解消することができ、ユーザの直感により合致した結果が得られる。
【００２３】
さらに、上記修正手段が、動きセンサの出力をもとに得られた筐体の第１の位置と、位置センサにより検出された筐体の第２の位置との関係をもとに、動きセンサの出力を修正するための情報を算出する操作入力システムは、動きセンサの出力のオンオフを切り替える切替手段と、切替手段による動きセンサの出力のオフ直前に算出された筐体の第１の位置と、切替手段による動きセンサの出力のオン直後に算出された筐体の第２の位置との差分により、位置センサの空間座標の基準もしくは動きセンサの空間座標の基準を変更する座標基準変更手段とをさらに具備するようにしてもよい。これにより、切替手段によって動きセンサの出力がオフされた時点とその後オンにされた時点での筐体の位置を一致させることができる。
【発明の効果】
【００２４】
以上のように、本発明によれば、動きセンサを用いた場合の有利点を活かしつつ、操作性の向上を図ることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施の形態に係る操作入力システムの概略構成図である。
【図２】本発明の一実施の形態に係る入力装置を示す斜視図である。
【図３】上記入力装置の内部の構成を模式的に示す図である。
【図４】上記入力装置の電気的な構成を示すブロック図である。
【図５】上記操作入力システムにおける表示装置に表示される画面の例を示す図である。
【図６】上記入力装置をユーザが握った様子を示す図である。
【図７】上記入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。
【図８】本発明の第１の実施形態に係るＤＣオフセットの校正処理のフローチャートである。
【図９】ＤＣオフセットに変動が場合の角速度値に基づく座標の軌跡と画像に基づく座標の軌跡の例を示す図である。
【図１０】本発明の第１の実施形態の変形例２に係るＤＣオフセットの校正処理のフローチャートである。
【図１１】入力装置がロール方向に傾いた状態で操作された場合の角速度値に基づく座標の軌跡と画像に基づく座標の軌跡の例を示す図である。
【図１２】本発明の第２の実施形態に係るロール傾きの補正処理のフローチャートである。
【図１３】本発明の第２の実施形態の変形例４に係る操作入力システムを示す概略構成図である。
【図１４】本発明の第２の実施形態の変形例４に係るロール傾きの補正処理のフローチャートである。
【図１５】本発明の第３の実施形態に係る角速度を擬似的な線速度に補正する処理の必要を説明するための図である。
【図１６】本発明の第３の実施形態に係る角速度を擬似的な線速度に補正する処理を説明する図である。
【図１７】本発明の第３の実施形態に係る角速度値を擬似的な線速度に補正する処理のフローチャートである。
【図１８】本発明の第４の実施形態に係るポインタ座標の積分誤差を補正する処理のフローチャートである。
【図１９】本発明の第４の実施形態に係る座標積分誤差の補正処理の画面上での具体的を示す図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態を図面に基づき説明する。
【００２７】
＜第１の実施形態＞
［操作入力システムの全体構成及び各部の構成］
図１は、本発明の第１実施形態に係る操作入力システムを示す図である。操作入力システム１００は、表示装置５、制御装置４０及び入力装置１を含む。
【００２８】
表示装置５は、例えば、液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイなどにより構成される。表示装置５は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよし、このようなディスプレイと制御装置４０とが一体となった装置でもよい。表示装置５には、イメージセンサを内包するカメラ部５１が設けられている。
【００２９】
カメラ部５１は、表示装置５の正面側に視野をもち、入力装置１の発光部２９の発光点を含む画像を取り込むためのイメージセンサを有する。このイメージセンサにより撮像された画像は一定時間周期で制御装置５０に転送される。イメージセンサとしては、例えば、ＣＣＤ（Charge Coupled Device）、ＣＭＯＳ（Complementary Metal-Oxide Semiconductor）などが用いられる。
【００３０】
図３は、入力装置を示す斜視図である。図３に示すように、入力装置１は、筐体１０を有し、この筐体１０の上部には操作部９が設けられている。筐体１０は、一方向に長い形状を有しており、ユーザの握った手に収まる程度の大きさとされる。
【００３１】
操作部９は、筐体１０の上部の先端部側に配置されたボタン１１と、筐体１０の上部の中央近傍に配置されたボタン１２と、ボタン１１及びボタン１２の間に配置されたボタン１３、１４とを有する。
【００３２】
ボタン１１は、２段階的な切り替えが可能な操作部とされている。ボタン１１は、内部に光センサ８を有しており、この光センサ８が一段目のスイッチとして機能する。また、ボタン１１は、筐体１０の内部に、ボタン１１が押圧されたことを検出するスイッチ２３ａ（図４参照）が内蔵されており、このスイッチ２３ａが２段目のスイッチとして機能する。
【００３３】
ボタン１１の一段目のスイッチには、ポインタ移動可否ボタンとしての機能、すなわち、ユーザが任意にポインタ２の移動の可否を切り替える機能が割り当てられる。また、ボタン１１の２段目のスイッチには、決定ボタンとしての機能（例えば、平面操作型のマウスの左ボタンに相当する機能）が割り当てられる。
【００３４】
ここで、ユーザの指がボタン１１の上方に存在する場合に画面３上でポインタ２が移動可能となる形態と、ユーザの指がボタン１１の上方に存在しない場合に画面３上でポインタ２が移動可能となる形態とが挙げられる。
【００３５】
筐体１０の中央近傍に設けられたボタン１２には、マウスの右ボタンに相当する機能が割り当てられる。また、ボタン１３、１４には、音量の増減や、画面３上に表示される動画の早送り、巻き戻し、放送番組等のチャンネルのアップ、ダウンなどの機能が割り当てられる。
なお、ボタン１１〜１４の配置や、割り当てられる機能については、適宜変更可能である。
【００３６】
さらに、入力装置１の筐体１０の上部の先端には発光部２９が設けられている。発光部２９は、例えば、赤外線ＬＥＤ（Light Emitting Diode）などである。外乱光との分離しやすさの点から、この発光部２９の明滅については、タイミングや周波数等によって変調がかけられることが好ましい。
【００３７】
図３は、入力装置１の内部の構成を模式的に示す図である。図４は、入力装置１の電気的な構成を示すブロック図である。
【００３８】
入力装置１は、センサユニット１７、制御ユニット３０、バッテリー２４、発光部２９を備えている。
【００３９】
図５は、センサユニット１７を示す斜視図である。
なお、本明細書中では、入力装置１とともに動く座標系、つまり、入力装置１に固定された座標系をＸ’軸、Ｙ’軸、Ｚ’軸で表す。一方、地球上で静止した座標系、つまり慣性座標系をＸ軸、Ｙ軸、Ｚ軸で表す。また、以降の説明では、入力装置１の動きに関し、Ｘ’軸周りの回転方向をピッチ方向、Ｙ’軸周りの回転方向をヨー方向といい、Ｚ’軸（ロール軸）周りの回転方向をロール方向と呼ぶ。
【００４０】
センサユニット１７は、互いに異なる角度、例えば、直交する２軸（Ｘ’軸及びＹ’軸）の周りの角速度を検出する角速度センサユニット１５を有する。すなわち、角速度センサユニット１５は、第１の角速度センサ１５１、及び第２の角速度センサ１５２を含む。
【００４１】
また、センサユニット１７は、互いに直交する２軸に沿った方向の加速度を検出する加速度センサユニット１６を有する。すなわち、加速度センサユニット１６は、第１の加速度センサ１６１、及び第２の加速度センサ１６２を含む。
【００４２】
これらの角速度センサユニット１５及び加速度センサユニット１６はパッケージングされ、回路基板２５上に搭載されている。
【００４３】
図５では、角速度センサユニット１５及び加速度センサユニット１６が回路基板２５の片側の面（前面）に搭載された場合が示されている。しかし、これに限られず、角速度センサユニット１５及び加速度センサユニット１６は、回路基板の両面にそれぞれ分けて搭載されてもよい。この場合、回路基板２５のサイズを小さくすることができ、その結果、回路基板２５の剛性を高めることができる。
【００４４】
角速度センサ１５１、１５２としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。加速度センサ１６１、１６２としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。角速度センサ１５１、１５２としては、振動型ジャイロセンサに限られず、回転コマジャイロセンサ、レーザリングジャイロセンサ、ガスレートジャイロセンサ、あるいは、地磁気型ジャイロセンサ等が用いられてもよい。
【００４５】
図３において、筐体１０の長手方向、幅方向、厚さ方向をそれぞれ、Ｚ’軸方向、Ｘ’軸方向、Ｙ’軸方向とする。この場合、上記センサユニット１７は、回路基板２５の、加速度センサユニット１６及び角速度センサユニット１５を搭載する面がＸ’−Ｙ’平面に実質的に平行となるように、筐体１０に内蔵される。これにより、両センサユニット１５、１６は、上記したように、Ｘ’軸及びＹ’軸に関する角速度及び加速度を検出する。
【００４６】
図３及び図４を参照して、制御ユニット３０は、メイン基板１８、メイン基板１８上にマウントされたＭＰＵ１９（Micro Processing Unit）、（あるいはＣＰＵ）、水晶発振器２０、送受信機２１、メイン基板１８上にプリントされたアンテナ２２などを含む。また、制御ユニット３０は、メイン基板１８上に、上記各ボタン１１〜１４に対応して設けられたスイッチ２３ａ〜２３ｄを含む。
【００４７】
メイン基板１８とセンサ基板２５とは、例えば、ＦＦＣ（Flexible Flat Cable）等により構成されたフレキシブルな導線２６により、電気的に接続されている。また、メイン基板１８と光センサ８とは、例えば、ＦＰＣ（Flexible Printed Circuit）により構成されたフレキシブル基板２７により、電気的に接続される。
【００４８】
ＭＰＵ１９は、揮発性メモリ及び不揮発性メモリを内蔵している。ＭＰＵ１９は、センサユニット１７による検出信号、操作部による操作信号（光センサ８による受光信号を含む）等を入力し、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を実行する。上記メモリは、ＭＰＵ１９とは別体で設けられていてもよい。
【００４９】
典型的には、センサユニット１７はアナログ信号を出力するものである。この場合、ＭＰＵ１９は、Ａ／Ｄ（Analog/Digital）コンバータを含む。しかし、センサユニット１７がＡ／Ｄコンバータを含むユニットであってもよい。
【００５０】
送受信機２１は、ＭＰＵ１９で生成された制御信号をＲＦ無線信号として、アンテナ２２を介して制御装置４０に送信する。また、送受信機２１は、制御装置４０から送信された各種の信号を受信することも可能である。
【００５１】
水晶発振器２０は、クロックを生成し、これをＭＰＵ１９に供給する。バッテリー２４としては、乾電池または充電式電池等が用いられる。
【００５２】
発光部２９は、発光素子２９ａと、これを駆動する駆動部２９ｂと、これを実装する基板２９ｃを含む。基板２９ｃは、例えば、ＦＦＣ（Flexible Flat Cable）等により構成されたフレキシブル基板２９ｄにより、メイン基板１８と電気的に接続される。
【００５３】
再び図１を参照して、制御装置４０は、ＭＰＵ３５、ＲＯＭ３７、ビデオＲＡＭ４１、表示制御部４２、アンテナ３９、送受信機３８を含む。
【００５４】
送受信機３８は、入力装置１から送信された制御信号を、アンテナ３９を介して受信する。また、送受信機３８は、入力装置１へ所定の各種の信号を送信することも可能となっている。ＭＰＵ３５は、その制御信号をもとに各種の演算処理を実行する。表示制御部４２は、ＭＰＵ３５の制御のもとで、主に、表示装置５の画面３上に表示する画面データを生成する。ビデオＲＡＭ４１は、表示制御部４２の作業領域となり、生成された画面データを一時的に格納する。
【００５５】
制御装置４０は、入力装置１に専用の機器であってもよいが、ＰＣ等であってもよい。制御装置４０は、入力装置に専用の機器に限られず、表示装置５と一体となったコンピュータであってもよいし、オーディオ／ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
【００５６】
次に、入力装置１の動かし方及びこれによるポインタ２の動きの典型的な例を説明する。図６はその説明図である。
【００５７】
図６（Ａ）、（Ｂ）に示すように、ユーザは、親指を上にした状態で、入力装置１を握り、入力装置１の先端側を表示装置５に向ける。この状態で、センサユニット１７のセンサ基板２５（図６参照）は、表示装置５の画面３に対して平行に近くなり、センサユニット１７の検出軸である２軸が、画面３上の水平軸（Ｘ軸）及び垂直軸（Ｙ軸）に対応するようになる。以下、このような図６（Ａ）、（Ｂ）に示す入力装置１の姿勢を基本姿勢という。
【００５８】
ユーザは、基本姿勢の状態で、ボタン１１の上方に親指を載せ、ポインタ２を移動可能な状態とする。そして、図６（Ａ）に示すように、基本姿勢の状態から、ユーザが手首や腕を左右方向、つまりヨー方向に振る。このとき、第１の加速度センサ１６１は、Ｘ’軸方向の加速度ａｘを検出し、第１の角速度センサ１５１は、Ｙ’軸の周りの角速度ωψを検出する。このように検出された検出値に基き、操作入力システム１００は、ポインタ２が画面３上で水平軸方向に移動するようにそのポインタ２の表示を制御する。
【００５９】
一方、図６（Ｂ）に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向、つまりピッチ方向に振る。このとき、第２の加速度センサ１６２は、Ｙ’軸方向の加速度ａｙを検出し、第２の角速度センサ１５２は、Ｘ’軸の周りの角速度ωθを検出する。操作入力システム１００は、これらの検出値に基き、ポインタ２が画面３上での垂直軸方向に移動するようにそのポインタ２の表示を制御する。
【００６０】
次に、本実施の形態に係る操作入力システム１００の動作を説明する。
［典型的な動作］
まず、操作入力システム１００における典型的な動作を説明する。なお、ここでは、典型的な動作として、角速度センサユニット１６の出力をもとにポインタ２の移動を制御する場合を説明する。
【００６１】
例えばユーザによる電源スイッチ２８の押圧により、入力装置１に電源が入力されると、角速度センサユニット１６から２軸の角速度信号が出力され、ＭＰＵ１９は、この角速度信号を角速度値（ωψ、ωθ）として取得する。この後、ＭＰＵ１９は、角速度値（ωψ、ωθ）を送受信機２１及びアンテナ２２を介して制御装置４０に送信する。制御装置４０は、入力装置２より転送された角速度値（ωψ、ωθ）を送受信機３８およびアンテナ３９を介して受信する。制御装置４０のＭＰＵ３５は、受信した角速度値（ωψ、ωθ）から２軸の速度値（Ｖｘ、Ｖｙ）を算出する。ここで、速度値ＶｘはＸ’軸に沿う方向の速度値であり、ＶｙはＹ’軸に沿う方向の速度値である。
【００６２】
制御装置４０のＭＰＵ３５は、速度値を受信すると、下の式（１）、（２）により、速度値を座標値に加算することで、新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成する。ＭＰＵ３５は、生成された座標値にポインタ２が移動するように、画面の表示を制御する。
【００６３】
Ｘ（ｔ）＝Ｘ（ｔ−１）＋Ｖｘ・・・（１）
Ｙ（ｔ）＝Ｙ（ｔ−１）＋Ｖｙ・・・（２）
【００６４】
また、速度値（Ｖｘ、Ｖｙ）を計算するほかの方法としては次のようなものがある。ＭＰＵ３５は加速度値（ａｘ、ａｙ）を角加速度値（Δωψ、Δωθ）で割ることで、入力装置１の動きの回転半径（Ｒψ、Ｒθ）を求める。ＭＰＵ３５はこの回転半径（Ｒψ、Ｒθ）に角速度値（ωψ、ωθ）を乗じて速度値（Ｖｘ、Ｖｙ）を算出する。回転半径（Ｒψ、Ｒθ）は、加速度の変化率（Δａｘ、Δａｙ）を、角加速度の変化率（Δ（Δωψ）、Δ（Δωθ））で割ることで求められる。
【００６５】
［センサ出力の検出］
本実施形態の入力装置１においては、直接変位を検出せず、角速度、加速度などの時間微分された変位のディメンジョンにて慣性量を検出する角速度センサ（角速度センサユニット１５）や加速度センサ（加速度センサユニット１６）を含むセンサモジュール１７が使用されている。これらの慣性センサは、筺体１０の動きに応じた、基準電位に対する電位の変動を検出信号として出力する。
【００６６】
以下、角速度センサを例に挙げて角速度の検出方法の一例について説明する。
【００６７】
図７（Ａ）に角速度センサの出力の一例を示す。ここで、角速度センサの出力は上記の基準電位に相当するＤＣオフセットＶｒｅｆを含んでいる。したがって、角速度センサの出力Ｖ（ｔ０）からＤＣオフセットＶｒｅｆを減じた値が角速度センサにより検出された角速度信号の実効値（角速度値）ω（ｔ０）となる。
【００６８】
ＤＣオフセットは、センサを構成する素子特性（温度ドリフト、振動モードの変化など）や、外的ストレス、アナログ回路の回路特性（温度特性、時定数、増幅器出力のＳＮ比など）に応じて変動し、その変動の推移も一様でない。図７（Ｂ）にＤＣオフセットＶｒｅｆの変動の一例を示す。
【００６９】
ＤＣオフセットＶｒｅｆが変動すると、角速度値ω（ｔ０）の算出にずれが生じる。
例えば、図７（Ｂ）の例において、時刻ｔ０のＤＣオフセットをＶｒｅｆ（ｔ０）とした場合、時刻ｔ１でのＤＣオフセットＶｒｅｆ（ｔ１）はＶｒｅｆ（ｔ０）＋ΔＶ１、時刻ｔ２でのＤＣオフセットＶｒｅｆ（ｔ２）はＶｒｅｆ（ｔ０）−ΔＶ２であることから、時刻ｔ１の角速度値ω（ｔ１）と時刻ｔ２の角速度値ω（ｔ２）とではΔＶ１＋ΔＶ２の誤差がある。この場合、入力装置１の操作感が低下することは勿論のこと、入力装置１を停止させているにもかかわらずポインタが画面上で移動するという事態を招く。
【００７０】
［ＤＣオフセットの校正処理］
そこで、本実施の形態においては、次のような処理によりＤＣオフセットの校正を行うこととしている。
【００７１】
本実施形態に係るＤＣオフセットの校正処理は、要約すれば、次の通りである。制御装置４０は、入力装置１の動きをカメラ部５１で得た画像に基づき検出し、入力装置１の動きの変位量が所定値以下である場合、入力装置１が"静止"の状態であることを判断する。制御装置４０は入力装置１が"静止"の状態であることを判断すると、入力装置１から与えられた角速度値の平均値でＤＣオフセットを校正する。
【００７２】
図８は本実施形態に係るＤＣオフセットの校正処理のフローチャートである。以下このフローチャートに従って本実施形態に係るＤＣオフセットの校正処理の詳細を説明する。
【００７３】
入力装置１のＭＰＵ１９は、所定の周期で角速度センサユニット１６より２軸の角速度信号（ωψ（ｔ）、ωθ（ｔ））を取得し（ステップ１０１）、送受信機２１及びアンテナ２２を介して制御装置４０に送信する（ステップ１０２）。
【００７４】
制御装置４０は、入力装置１より２軸の角速度信号（ωψ（ｔ）、ωθ（ｔ））を受信する（ステップ１０３）。制御装置４０のＭＰＵ３５は、受信した２軸の角速度信号（ωψ（ｔ）、ωθ（ｔ））から、それぞれの軸方向のＤＣオフセット（ωψｒｅｆ、ωθｒｅｆ）を減じることで２軸の角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））を得る（ステップ１０４）。
【００７５】
次に、制御装置４０のＭＰＵ３５は、カメラ部５１にて取得した画像からカメラ画角内での入力装置１の座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））の検出を行い（ステップ１０５）、この検出結果と前回の周期で検出された座標（Ｘｉ（ｔ−１）、Ｙｉ（ｔ−１））との差分を、入力装置１の２軸方向の変位量（ΔＸｉ、ΔＹｉ）として求める（ステップ１０６）。
【００７６】
次に、制御装置４０のＭＰＵ３５は、求めた変位量（ΔＸｉ、ΔＹｉ）の絶対値が予め決められた所定値より大きいかどうかを判定する（ステップ１０７）。ここで、変位量（ΔＸｉ、ΔＹｉ）の絶対値と所定値との比較は、ΔＸｉおよびΔＹｉのうち少なくとも一方が所定値より大きい場合に"大きい"と判定され、ΔＸｉおよびΔＹｉの両方とも所定値より大きくない場合には"小さい"と判定される。
【００７７】
"小さい"と判定された場合、制御装置４０のＭＰＵ３５は、入力装置１が"静止"していると判定する。そしてＭＰＵ３５は、今回の周期で得た角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））を用いて回転角（ψ（ｔ）、θ（ｔ））を次式（３）、（４）により算出する。
ψ（ｔ）＝ψ（ｔ−１）＋ωψｃｏｒ（ｔ）・・・（３）
θ（ｔ）＝ψ（ｔ−１）＋ωθｃｏｒ（ｔ）・・・（４）
【００７８】
回転角（ψ（ｔ）、θ（ｔ））の計算後、ＭＰＵ３５は、回転角（ψ（ｔ）、θ（ｔ））の計算回数を保持するカウンタをインクリメントする（ステップ１０８）。ＭＰＵ３５は、インクリメント後のカウンタの値が所定の値（ｎ）に達しているかどうかを判定し（ステップ１０９）、達していない場合（ステップ１０９のＮＯ）、角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））から速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を算出する。ＭＰＵ３５は、式（１）、（２）により、速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を座標値（Ｘ（ｔ−１）、Ｙ（ｔ−１））に加算することで新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ１１０）。
【００７９】
また、ＭＰＵ３５は、インクリメント後のカウンタの値が所定の値（ｎ）に達した、すなわち角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））の積算回数が所定の値（ｎ）に達したことを判定した場合（ステップ１０９のＹＥＳ）、次のような処理を行う。ＭＰＵ３５は、現時点までに得られた回転角（ψ（ｔ）、θ（ｔ））を所定の値（ｎ）で除算して角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））の平均値を求め、この平均値でＤＣオフセット（ωψｒｅｆ、ωθｒｅｆ）を校正する（ステップ１１１）。この後、ＭＰＵ３５はカウンタをリセットするとともに、回転角（ψ（ｎ）、θ（ｎ））をリセットする（ステップ１１２）。そして、ＭＰＵ３５は角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））から速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を算出し、速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を座標値（Ｘ（ｔ−１）、Ｙ（ｔ−１））に加算することで新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ１１０）。
【００８０】
以上は、ステップ１０７で、変位量（ΔＸｉ、ΔＹｉ）の絶対値が小さい、つまり"静止"の状態が所定回数（ｎ回）連続して判定された場合の動作である。
【００８１】
ステップ１０７で、変位量（ΔＸｉ、ΔＹｉ）の絶対値が所定値より大きいことが判定された場合には、ＭＰＵ３５は、入力装置１が"動作"の状態であるものとみなし、カウンタをリセットするとともに、回転角（ψ（ｔ）、θ（ｔ））をリセットする（ステップＳ１１３）。これにより、変位量（ΔＸｉ、ΔＹｉ）の小さい"静止"の状態が所定回数（ｎ回）連続した場合のみ、ＤＣオフセット（ωψｒｅｆ、ωθｒｅｆ）の校正が行われるこことなる。
【００８２】
以上のように、本実施形態によれば、制御装置４０のＭＰＵ３５は、カメラ部５１にて取得した画像に基づき検出された入力装置１の座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））から入力装置１の変位量を求める。ＭＰＵ３５は、この変位量から入力装置１が"静止"の状態にあるかどうかを判定し、入力装置１が"静止"の状態にあるときの角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））の平均値でＤＣオフセット（ωψｒｅｆ、ωθｒｅｆ）を校正する。これによりＤＣオフセットが変動しても良好な角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））が得られ、操作者の感覚に合致したポインタ２の操作が可能になる。
【００８３】
なお、図８のフローチャートに示す一連の処理は、すべて入力装置１にて行うようにしてもよい。
【００８４】
＜変形例１：ＤＣオフセットの校正処理の変形例＞
上記の実施形態では、"静止"の状態が所定期間連続した場合にＤＣオフセットを校正する場合について述べたが、ＤＣオフセットを校正するのではなく、入力装置１の加速度センサユニット１６内の角速度センサ１５１、１５２の感度を補正してもよい。
【００８５】
＜変形例２：ＤＣオフセットの校正処理の変形例＞
第１の実施形態に係るＤＣオフセットの校正処理によるＤＣオフセットの更新は、入力装置１が"静止"の状態であるときに行われるのに対し、本変形例２では、入力装置１が"静止"の状態であっても"動作"の状態であっても、定常的にＤＣオフセットの校正が行われる。
【００８６】
図９はＤＣオフセットに変動が場合の角速度値に基づく座標の軌跡と画像に基づく座標の軌跡の例を示す図である。同図に示すように、角速度値に基づく座標と画像に基づく座標との間にはＤＣオフセットの変動に起因した差分が生じる。そこで本変形例２では、所定時間毎の角速度値に基づく座標の変位量と画像に基づく座標の変位量との差をもとにＤＣオフセットを校正する。
【００８７】
図１０は本変形例２に係るＤＣオフセットの校正処理のフローチャートである。以下このフローチャートに従って本変形例２に係るＤＣオフセットの校正処理の詳細を説明する。
【００８８】
入力装置１のＭＰＵ１９は、所定の周期で角速度センサユニット１６より２軸の角速度信号（ωψ（ｔ）、ωθ（ｔ））を取得し（ステップ２０１）、送受信機２１及びアンテナ２２を介して制御装置４０に送信する（ステップ２０２）。
【００８９】
制御装置４０は、入力装置１より２軸の角速度信号（ωψ（ｔ）、ωθ（ｔ））を受信する（ステップ２０３）。制御装置４０のＭＰＵ３５は、受信した２軸方向の角速度信号（ωψ（ｔ）、ωθ（ｔ））から２軸方向のＤＣオフセット（ωψｒｅｆ、ωθｒｅｆ）を減じることで２軸の角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））を得る（ステップ２０４）。
【００９０】
次に、制御装置４０のＭＰＵ３５は、画像からカメラ画角内での入力装置１の座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））の検出を行い（ステップ２０５）、カウンタをインクリメントする（ステップ２０６）。次に、制御装置４０のＭＰＵ３５は、ステップ２０５で検出された座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））と前回の周期で検出された座標（Ｘｉ（ｔ−１）、Ｙｉ（ｔ−１））との差分を、入力装置１の２軸方向の変位量（ΔＸｉ、ΔＹｉ）として求める（ステップ２０８）。
【００９１】
次に、制御装置４０のＭＰＵ３５は、下式（５）、（６）により、変位量（ΔＸｉ、ΔＹｉ）を積算する。これにより画像に基づく座標の変位量の積算値（ΣＸｉ（ｔ）、ΣＹｉ（ｔ））が得られる。
【００９２】
ΣＸｉ（ｔ）＝ΣＸｉ（ｔ−１）＋ωψｃｏｒ（ｔ）・・・（５）
ΣＹｉ（ｔ）＝ΣＹｉ（ｔ−１）＋ωθｃｏｒ（ｔ）・・・（６）
【００９３】
次に、ＭＰＵ３５は、今回の周期で得た角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））を用いて回転角（ψ（ｔ）、θ（ｔ））を次式（３）、（４）により算出する。回転角（ψ（ｔ）、θ（ｔ））の計算後、ＭＰＵ３５はカウンタを再度インクリメントする（ステップ２０９）。
【００９４】
ＭＰＵ３５は、インクリメント後のカウンタの値が所定の値（ｎ）に達しているかどうかを判定し（ステップ２１０）、達していない場合（ステップ２１０のＮＯ）、角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））から速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を算出する。ＭＰＵ３５は、算出された速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を、式（１）、（２）に従って座標値（Ｘ（ｔ−１）、Ｙ（ｔ−１））に加算することで新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ２１１）。
【００９５】
また、インクリメント後のカウンタの値が所定の上限値に達している場合（ステップ２１０のＹＥＳ）、下の式（７）、（８）により、ＤＣオフセット（ωψｒｅｆ、ωθｒｅｆ）を校正する（ステップ２１２）。
ωψｒｅｆ＝（ψ（ｔ）−Ｘｉｎ×Ｃ）／ｎ・・・（７）
ωθｒｅｆ＝（θ（ｔ）−Ｙｉｎ×Ｃ）／ｎ・・・（８）
ここでＣは、画像に基づく座標の変位量の積算値（ΣＸｉ（ｔ）、ΣＹｉ（ｔ））を、回転角に相当する値に調整するために、予め決められた比例定数である。
【００９６】
この後、ＭＰＵ３５はカウンタをリセットするとともに、回転角（ψ（ｎ）、θ（ｎ））をリセットする（ステップ２１３）。そして、ＭＰＵ３５は角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））から速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を算出し、速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を座標値（Ｘ（ｔ−１）、Ｙ（ｔ−１））に加算することで新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ２１１）。
【００９７】
以上のように、本実施形態によれば、制御装置４０のＭＰＵ３５は、所定時間毎の角速度値に基づく座標の変位量と画像に基づく座標の変位量との差をもとにＤＣオフセットを校正する。これによりＤＣオフセットの校正を定常的に行うことができ、ＤＣオフセットが変動しても良好な角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））が得られ、操作者の感覚に合致したポインタ２の操作が可能になる。
【００９８】
なお、図１０のフローチャートに示す一連の処理は、すべて入力装置１にて行うようにしてもよい。
【００９９】
＜第２の実施形態＞
［ロール傾きの補正］
図１１は入力装置１がロール方向に傾いた状態で操作された場合の角速度値に基づく座標の軌跡と画像に基づく座標の軌跡の例を示す図である。同図に示すように、入力装置１がロール方向に傾いた状態で操作された際に角速度値に基づく座標の軌跡は、画像に基づく座標の軌跡に対してカメラ画角内でφの角度（ロール角）だけ回転した関係にある。
【０１００】
そこで本第２の実施形態に係る制御装置４０は、画像に基づく座標の軌跡と角速度値に基づく座標の軌跡を相対的に回転変換しながら比較し、最も相関が高くなった回転角度を入力装置１のロール角φとして判定し、このロール角φで角速度値を補正する。
【０１０１】
図１２は本第２の実施形態に係るロール傾きの補正処理のフローチャートである。以下このフローチャートに従って本第２の実施形態に係るロール傾きの補正処理の詳細を説明する。
【０１０２】
ここで、ステップ３０１からステップ３０４までの動作は第１の実施形態に係るＤＣオフセットの校正処理のステップ１０１からステップ１０４までの動作と同じである。
【０１０３】
ステップ３０５で、制御装置４０のＭＰＵ３５は、今回得られた角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））からｎ回以前に得られた角速度値（ωψｃｏｒ（ｔ−ｎ）、ωθｃｏｒ（ｔ−ｎ））までの座標の軌跡を求める（ステップ３０５）。
【０１０４】
次に、ＭＰＵ３５は、カメラ部５１にて取得した画像からカメラ画角内での入力装置１の座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））の検出を行う（ステップ３０６）。そしてＭＰＵ３５は、今回得られた座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））からｎ回以前に得られた座標（Ｘｉ（ｔ−ｎ）、Ｙｉ（ｔ−ｎ））の軌跡を求める（ステップ３０７）。
【０１０５】
次に、ＭＰＵ３５は、角加速度に基づく座標の軌跡と画像に基づく座標の軌跡とを相対的に回転変換しながら比較することを繰り返し、最も相関係数が高くなった回転角度を入力装置１のロール角φとして判定する（ステップ３０８−３１１）。
【０１０６】
続いて、ＭＰＵ３５は、角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））をロール角φだけ回転変換し（ステップ３１２）、回転変換した角速度値から速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を算出する。ＭＰＵ３５は、算出された速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を用いて新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ３１３）。
【０１０７】
以上のように、本第２の実施形態に係る制御装置４０のＭＰＵ３５は、画像に基づく座標の軌跡と角速度値に基づく座標の軌跡とを相対的に回転変換しながら比較し、最も相関が高くなった回転角度を入力装置１のロール角φとして判定する。ＭＰＵ３５は、このロール角φで角速度値を回転変換する。これにより入力装置１のロール傾きの補正を良好に行うことができる。
【０１０８】
加速度センサによって検出された重力加速度から入力装置１のロール角φを求めて補正を行うことも可能である。しかし、加速度センサの出力には慣性加速度の成分が含まれており、この慣性加速度の成分を除くために非常な複雑な演算を要する。本第２の実施形態に係るロール傾きの補正処理によれば、加速度センサによって検出された重力加速度を用いた方式に比べ簡単な演算で済むという利点がある。
【０１０９】
ここで、ロール角φに基づく角速度値の回転変換は、下の式（９）のような回転行列を用いて行うことができる。
【０１１０】
【数１】
0005463790.tif 000002
【０１１１】
＜変形例３：ロール傾きの補正の変形例＞
画像に基づく座標の軌跡と角速度値に基づく座標の軌跡とを比較してロール角φを求める方法について述べたが、画像に基づく座標の軌跡と角速度値に基づく座標の軌跡それぞれの微分値を比較してロール角φを求めてもよい。
【０１１２】
＜変形例４：ロール傾きの補正の変形例＞
次に、入力装置１の側でロール傾きの補正を行う方式を説明する。
この変形例４では、図１３に示すように、少なくとも、入力装置１に発光部２９（図１参照）に代えてカメラ部５２が設けられている点で上記の各実施形態と異なる。カメラ部５２は、例えば表示装置５が画角内に入るように入力装置１の先端部に設けられている。
【０１１３】
本変形例４に係る入力装置１は、カメラ部５２により捉えられた表示装置５などを含む画像から基準軸となる直線成分を抽出し、この基準軸に対する入力装置１のロール角φを求める。入力装置１はこのロール角φで角速度値を補正する。
【０１１４】
図１４は本変形例４に係るロール傾きの補正処理のフローチャートである。以下このフローチャートに従って本変形例４に係るロール傾きの補正処理の詳細を説明する。
【０１１５】
入力装置１のＭＰＵ１９は、所定の周期で角速度センサユニット１６より２軸の角速度信号（ωψ（ｔ）、ωθ（ｔ））を取得する（ステップ４０１）。続いて、ＭＰＵ１９は、２軸の角速度信号（ωψ（ｔ）、ωθ（ｔ））から、それぞれの軸方向のＤＣオフセット（ωψｒｅｆ、ωθｒｅｆ）を減じることで２軸の角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））を得る（ステップ４０２）。
【０１１６】
次に、入力装置１のＭＰＵ１９はカメラ部５２により画像を取り込むように制御を行う（ステップ４０３）。ＭＰＵ１９は、カメラ部５２により取り込まれた画像から基準軸となる直線成分を認識し、カメラ画角内の当該基準軸の傾きを入力装置１のロール角φとして求める（ステップ４０４）。
【０１１７】
ここで、入力装置１のカメラ部５２により撮像された画像中での基準軸となる直線部分としては、例えば、表示装置４の筐体や画面の外枠などが挙げられる。また、画像中の天井と壁との境、床と壁との境、窓枠なども、基準軸となる直線部分として認識の対象となり得る。これらの画像の認識には、ある程度の処理時間を必要とするが操作者の操作性を損う程度ではない。また、画像のサンプリングレートは数秒で構わない。画像認識の精度を向上させるための自動学習などを行うことは有効である。
【０１１８】
この後、入力装置１のＭＰＵ１９は、角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））をロール角φだけ回転変換し（ステップ４０５）、回転変換した角速度値から速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を算出する。ＭＰＵ３５は、算出された速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を用いて新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ４０６）。
【０１１９】
以上により、本変形例４によっても、入力装置１のロール傾きの補正を比較的簡単な演算で行うことができる。
【０１２０】
＜変形例５：ロール傾きの補正の変形例＞
第２の実施形態で説明したロール傾き補正処理では、カメラ部５１にて取得した画像に基づく座標の軌跡と角速度値に基づく座標の軌跡とを相対的に回転変換しながら比較してロール角φを求めることとした。したがって、ロール傾き補正がかかりだすまでに、ある程度の時間がかかる。
【０１２１】
そこで入力装置１に、ロール角φによってカメラ画角内での形態が変化する特徴部分を設けることが有効である。制御装置４０は、カメラ部５１で捉えた画像から、その特徴部分の形態を認識することによって、入力装置１のロール角φを求めることができる。この方式によれば、第２の実施形態で説明したロール傾き補正処理に比べ、必要な演算量を大幅に低減でき、ロール傾き補正がかかりだすまでの時間が短縮される。ここで、入力装置１に設けられる上記の特徴部分は、例えば、複数の発光部あるいはアスペクト比の比較的大きい発光部などによって実現可能である。また、特徴部分は発光部に限られず、光反射部、色違い部など、画像認識によって抽出することが可能なものであればよい。また、入力装置１の外形を認識してロール角φを求めるようにしてもよい。
【０１２２】
＜第３の実施形態＞
［角速度を擬似的な線速度に補正］
画面上に表示されるポインタの移動量は、２つの角速度センサによって検出された角速度に依存する。したがって、操作者が入力装置に大きな角速度を与えれば、それに応じて画面上に表示されるポインタは高速で移動する。例えば、図１５（Ａ）に示すように、操作者が手指の回転を使って入力装置を操作する場合（操作の回転半径Ｒ（ｔ）が小さい場合）、入力装置の実際の移動量が小さくてもポインタは高速で移動する。これに対し、操作者がわずかしか角速度を与えずに入力装置を操作する場合、たとえ入力装置の実際の移動量が大きかったとしても、画面上のポインタはわずかしか移動しない。例えば、図１５（Ｂ）に示すように、操作者が肩を軸として腕全体を振って入力装置を操作した場合（操作の回転半径Ｒ（ｔ）が大きい場合）、入力装置の実際の移動量に反してポインタはわずかしか移動しない。このようにポインタの動きが操作者の感覚にそぐわない動きとなる場合がある。
【０１２３】
そこで、本第３の実施形態に係る制御装置４０は、図１６に示すように、角速度値に基づく座標の軌跡に対して拡大率を乗じたものと画像に基づく座標の軌跡との比較を上記の拡大率を変更しながら繰り返し、最も相関が高くなった拡大率Ｇ（ｔ）を判定する。制御装置４０は、この拡大率Ｇ（ｔ）を角速度値に乗じたものを擬似的な線速度として算出する。これにより、操作の回転半径Ｒ（ｔ）の違いがポインタの移動量に大きく影響することを緩和できる。
【０１２４】
図１７は本第３の実施形態に係る角速度値を擬似的な線速度に補正する処理のフローチャートである。以下このフローチャートに従って本第３の実施形態に係る角速度値を擬似的な線速度に補正する処理の詳細を説明する。
【０１２５】
ここで、ステップ５０１からステップ５０７まのでの動作は、第２の実施形態に係るロール傾きの補正処理のステップ３０１からステップ３０７までの動作と同じである。
【０１２６】
制御装置４０のＭＰＵ３５は、角加速度をもとに得た座標の軌跡に拡大率を乗じたものと画像に基づく座標の軌跡との比較を、上記の拡大率を変更しながら繰り返し、最も相関が高くなった拡大率Ｇ（ｔ）を判定する（ステップ５０８−５１１）。
【０１２７】
続いて、ＭＰＵ３５は、角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））を拡大率Ｇ（ｔ）で拡大（縮小）し（ステップ５１２）、拡大（縮小）した角速度値から速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を算出する。そしてＭＰＵ３５は、算出された速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を用いて新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ５１３）。
【０１２８】
ところで、拡大率Ｇ（ｔ）は、入力装置１の操作の回転半径Ｒ（ｔ）に定数Ｃを乗じた値となる。ここで、定数Ｃは、入力装置１とカメラ部５１との距離によって変わる。すなわち、入力装置１とカメラ部５１との距離が大きくなるほど定数Ｃは大きくなり、その分回転半径Ｒ（ｔ）が小さくなって画面でのポインタの動き（線速度）が小さくなる。逆に距離が小さくなるほど定数Ｃは小さくなり、その分回転半径Ｒ（ｔ）が大きくなって画面でのポインタの動き（線速度）が大きくなる。したがって、定数Ｃが分かれば、拡大率Ｇ（ｔ）を定数Ｃを除算することで回転半径Ｒ（ｔ）が得られ、この回転半径Ｒ（ｔ）に角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））を乗算すれば、入力装置１とカメラ部５１との距離を加味した擬似的な線速度を得ることができる。
【０１２９】
定数Ｃを求める方法としては、例えば以下がある。
１．発光部の輝度は入力装置１とカメラ部５１との距離の二乗に反比例する。そこで、制御装置４０は、カメラ部５１で捉えた画像中の発光点の輝度を求め、求めた輝度から上記の距離を求め、この距離から定数Ｃを算出する。
２．入力装置１に複数の発光部を設ける。制御装置４０は、画像から複数の発光部同士の距離を求め、この距離から定数Ｃを算出する。
３．制御装置４０は、テストモードにて操作者毎の使用時の回転半径Ｒ（ｔ）、あるいは各操作者全体の使用時の回転半径Ｒ（ｔ）の分布を求めておき、その分布に基づいて統計的に定数Ｃを推定する。
【０１３０】
なお、図１７のフローチャートに示す一連の処理は、すべて入力装置１にて行うようにしてもよい。
【０１３１】
以上の各実施形態およびその変形例における補正は、仮に数秒遅延して実行されたとしても操作者に違和感を与える程度のものとならない。すなわち、ポインタの移動操作は数十ｍｓ程度の僅かな遅延でも操作者によって直接的に知覚され得るが、ＤＣオフセットの校正、ロール傾きの補正、および線速度の補正による遅延は、操作者によって直接的に知覚され得るようなかたちでは現れないからである。
【０１３２】
＜第４の実施形態＞
［ポインタ座標の積分誤差の補正］
画面上のポインタの座標の計算は、角速度値から得た速度値をそれまでのポインタの座標値に次々と加算して行われることから、角速度値に含まれる諸々の要因による誤差の累積によって、ポインタが操作者の感覚にそぐわない座標に移動すること、つまり絶対座標から逸脱する場合がある。角速度値の誤差の要因としては、角速度センサの感度のばらつきや量子化誤差のほか、上記のロール傾きの補正、擬似的な線速度の算出も、その要因となり得る。さらに、ポインタの操作容易性に関連する演算処理、例えば、手振れ補正や、速度ゲインの可変制御（入力装置をゆっくり操作したときにはさらにゆっくりポインタを移動させる処理など）、さらには、ポインタ移動可否スイッチの操作によってポインタの座標を固定することも、絶対座標からの逸脱の要因となり得る。
【０１３３】
そこで、本第４の実施形態に係る制御装置４０は、角速度値に基づく座標と画像に基づく座標との差分が小さくなるように、角速度値を増大または縮小することによって、ポインタ座標の積分誤差を補正する。
【０１３４】
図１８は本第４の実施形態に係るポインタ座標の積分誤差を補正する処理のフローチャートである。以下このフローチャートに従って本第４の実施形態に係るポインタ座標の積分誤差を補正する処理の詳細を説明する。
【０１３５】
ここで、ステップ６０１からステップ６０４まのでの動作は、第１の実施形態に係るＤＣオフセットの校正処理のステップ１０１からステップ１０４までの動作と同じである。
【０１３６】
ステップ６０５で、制御装置４０のＭＰＵ３５は、角速度値（ωψｃｏｒ（ｔ）、ωθｃｏｒ（ｔ））から速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を算出する（ステップ６０５）。ＭＰＵ３５は、算出された速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を用いて新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成する（ステップ６０６）。
【０１３７】
次に、ＭＰＵ３５は、カメラ部５１にて取得した画像からカメラ画角内での入力装置１の座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））の検出を行う（ステップ６０７）。この後、ＭＰＵ３５は、座標値（Ｘ（ｔ）、Ｙ（ｔ））と座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））との差分（ΔＸ、ΔＹ）を求める（ステップ６０８）。
【０１３８】
ＭＰＵ３５は、この差分（ΔＸ、ΔＹ）の絶対値が所定値以上であるかどうかを判断する（ステップ６０９）。差分（ΔＸ、ΔＹ）の絶対値が所定値以上である場合（ステップ６０９のＹＥＳ）、ＭＰＵ３５は、その差分（ΔＸ、ΔＹ）の絶対値に応じて、差分（ΔＸ、ΔＹ）が小さくなるように、速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を増大または減少する（ステップ６１１）。この後、ＭＰＵ３５は、増大または減少した速度値を用いて新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ６１０    ）。また、差分（ΔＸ、ΔＹ）の絶対値が所定値未満である場合には（ステップ６０９のＮＯ）、ＭＰＵ３５は、速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を用いて新たな座標値（Ｘ（ｔ）、Ｙ（ｔ））を生成し、この座標値（Ｘ（ｔ）、Ｙ（ｔ））にポインタ２が移動するように画面３の表示を制御する（ステップ６１０）。
【０１３９】
差分（ΔＸ、ΔＹ）の絶対値に応じて、その差分（ΔＸ、ΔＹ）が小さくなるように速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））を増大または減少する際、ポインタを絶対座標へ一挙に移動させるのではなく、絶対座標に徐々に近付けるように移動させることが、操作者の違和感を招きにくいという点でより好ましい。
【０１４０】
図１９は本第４の実施形態に係る座標積分誤差の補正処理の画面上での具体的を示す図である。図１９（Ａ）は角速度値に基づく座標（Ｘ（ｔ）、Ｙ（ｔ））と画像に基づく座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））の差分（ΔＸ、ΔＹ）を示している。図１９（Ｂ）はポインタの座標（Ｘ（ｔ）、Ｙ（ｔ））の補正処理の様子を示す図であり、実線は角速度値に基づく座標（Ｘ（ｔ）、Ｙ（ｔ））の軌跡、点線は画像に基づく座標（Ｘｉ（ｔ）、Ｙｉ（ｔ））の軌跡を示している。
【０１４１】
ポインタ座標の補正処理は、ポインタが絶対座標に徐々に近付いて行くように、例えば、補正前の速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））に応じて計算された補正量を補正前の速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））に加えることによって行われる。例えば、図１９（Ｂ）において、制御装置４０は、時刻ｔ０で、補正前の速度値（Ｖｘ（ｔ０）、Ｖｙ（ｔ０））に応じて計算された補正量により速度値（Ｖｘ（ｔ０）、Ｖｙ（ｔ０））の補正を行う。また、制御装置４０は、時刻ｔ１で、補正前の速度値（Ｖｘ（ｔ１）、Ｖｙ（ｔ１））に応じて計算された補正量により速度値（Ｖｘ（ｔ１）、Ｖｙ（ｔ１））の補正を行う。以降、時刻ｔ２、ｔ３でも同様に補正が行われる。
【０１４２】
より具体的には、補正前の速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））が小さいほど補正も小さく行われるように補正量の計算が行われる。また、補正前の速度値（Ｖｘ（ｔ）、Ｖｙ（ｔ））が"０"である場合の補正量は"０"であってもよい。これにより、入力装置１の操作によるポインタの動きに伴って徐々に補正が行われ、操作者から見て違和感のない補正が可能になる。
【０１４３】
なお、本実施形態では、補正時のポインタの動きの不自然さが生じないように複数回に分けて徐々に補正を行うこととしたが、場合によっては、１回の補正で差分が"０"になるように補正を一挙に行うようにしてもよい。
【０１４４】
ポインタの位置を一挙に補正することが有効な場合として、ＵＩ画面の切り替えタイミングがある。制御装置４０は、ＵＩ画面の切り替わりの直前にポインタを一旦消去し、ＵＩ画面が切り替わったところで絶対座標にポインタを出現させる。このようにＵＩ画面の切り替わり時は絶対座標にポインタを急に出現させても操作者の違和感はさほど大きくなく、ポインタ座標の積分誤差を補正する機会としては好適である。
【０１４５】
なお、図１８のフローチャートに示す一連の処理は、すべて入力装置１にて行うようにしてもよい。
【０１４６】
＜変形例６：絶対座標系のシフト処理＞
入力装置１には、ポインタの移動の可否を切り替えるためのポインタ移動可否ボタン（図２参照（ボタン１１））が設けられている。今、操作者によるポインタ移動可否ボタンの操作によってポインタの移動の可否が"可"→"不可"→"可"の順に切り替えたとする。この場合、操作者にとっては"不可"の状態に切り替えられる直前と"不可"の状態から"可"の状態に切り替えられた直後でポインタは同じ座標にあることが操作上自然である。
【０１４７】
しかし、"不可"の状態のときも制御装置４０では画像に基づく座標の検出が行われているため、操作者によって"不可"から"可"の状態に切り替えたとき、操作者の意図しない座標にポインタが移動している状況が発生し得る。
【０１４８】
そこで、本変形例６に係る制御装置４０は、入力装置１より"不可"の状態に切り替えられたことの通知を受けた時点でのポインタの座標を画像に基づき検出して記憶する。制御装置４０は、その後、入力装置１より"可"の状態に切り替えられたことの通知を受けたとき、カメラ部５１によって捉えられた画像に基づき入力装置１の座標を検出する。そして制御装置４０は、記憶していた座標と新たに検出された座標の差分を求め、この差分で、画像に基づく座標を検出する際の絶対座標空間の基準点をシフトする。
【０１４９】
これにより、ポインタ移動が"不可"の状態に切り替えられる直前と"不可"の状態から"可"の状態に切り替えられた直後でポインタの座標を一致させることができる。
【０１５０】
上記では、入力装置１のポインタ移動可否ボタンの操作によるポインタ移動可否状態の切り替えに伴って絶対座標空間における基準点のシフトを行うこととしたが、入力装置１に座標変更スイッチを設けて同様の処理が行われることとしてもよい。この場合、制御装置４０は、入力装置１の座標変更スイッチの操作による１回目の座標変更指示に応じて、その時点でのポインタの座標を画像に基づき検出して記憶する。制御装置４０は、入力装置１の座標変更スイッチの操作による２回目の座標変更指示を受けると、その時点でのポインタの座標を画像に基づき検出する。そして制御装置４０は、１回目と２回目の２つのポインタの座標の差分を求め、絶対座標空間における基準点を上記差分だけずらした位置を絶対座標空間における新たな基準点とする。
【０１５１】
また、上記では、画像に基づく座標を検出する際の絶対座標空間の基準点をシフトすることとしたが、角速度センサによって検出された角速度値に基づく座標を検出する際の座標空間の基準点をシフトするようにしてもよい。この場合も、ポインタ移動が"不可"の状態に切り替えられる直前と"不可"の状態から"可"の状態に切り替えられた直後でポインタの座標を一致させることができる。
【０１５２】
＜変形例７＞
上記各実施形態で用いたイメージセンサの画角（死角）や分解能の限界などにより、入力装置１の発光部２９の座標が検出されない場合が考えられる。この場合、イメージセンサの出力で角速度センサの出力に対する補正がかけられないことになる。
【０１５３】
そこで、上記の各実施形態および変形例で補正のために算出された値について、制御装置が最後に得られた値を定常的に保持するようにし、カメラ部より十分な画像が得られないときは、最後に得られた値で補正を行うこととしてもよい。あるいは、過去に得られた値から統計的に求められた値を暫定的に用いてもよい。
【０１５４】
また、カメラ部により得られた画像に基づく座標が得られる期間は、その画像に基づく座標を画面上のポインタの座標とし、カメラ部より画像が得られない期間は、角速度センサの出力に基づく座標をポインタの座標とすることとしてもよい。
【０１５５】
上記実施形態で説明した入力装置は、無線で入力情報を制御装置に送信する形態を示したが、有線により入力情報が送信されてもよい。
【０１５６】
本発明は、例えば、表示部を備えるハンドヘルド型の電子機器あるいは情報処理装置（ハンドヘルド装置）に適用されてもよい。すなわち、ハンドヘルド装置は、上記入力装置１と制御装置４０とが一体となったような装置と考えることができる。この場合、操作者がハンドヘルド装置の本体を動かすことで、その表示部に表示された画面上のポインタが移動制御されたり、画面がスクロール制御されたり、ズーム制御されたりする。ハンドヘルド装置として、例えば、ＰＤＡ（Personal Digital Assistance）、携帯電話機、携帯音楽プレイヤー、デジタルカメラ等が挙げられる。
【０１５７】
センサユニット１７の、角速度センサユニット１５及び加速度センサユニット１６の検出軸は、上述のＸ’軸及びＹ’軸のように必ずしも互いに直交していなくてもよい。その場合、三角関数を用いた計算によって、互いに直交する軸方向に投影されたそれぞれの加速度が得られる。また同様に、三角関数を用いた計算によって、互いに直交する軸の周りのそれぞれの角速度を得ることができる。
【０１５８】
以上の各実施の形態で説明したセンサユニット１７について、角速度センサユニット１５のＸ’及びＹ’の検出軸と、加速度センサユニット１６のＸ’及びＹ’軸の検出軸がそれぞれ一致している形態を説明した。しかし、それら各軸は、必ずしも一致していなくてもよい。例えば、角速度センサユニット１５及び加速度センサユニット１６が基板上に搭載される場合、角速度センサユニット１５及び加速度センサユニット１６の検出軸のそれぞれが一致しないように、角速度センサユニット１５及び加速度センサユニット１６がその基板の主面内で所定の回転角度だけずれて搭載されていてもよい。その場合、三角関数を用いた計算によって、各軸の加速度及び角速度を得ることができる。
【０１５９】
上記角速度センサユニット１５の代わりとして、角度センサあるいは角加速度センサが用いられてもよい。角度センサとしては、地磁気センサまたはイメージセンサ等が挙げられる。例えば３軸地磁気センサが用いられる場合、角度値の変化量が検出されるので、その場合、角度値が微分演算されることで角速度値が得られる。角加速度センサは、複数の加速度センサの組み合わせにより構成され、角加速度センサにより得られる角加速度値が積分演算されることで、角速度値が得られる。
【０１６０】
以上説明した実施形態および変形例は、適宜組み合わせて使用することが可能である。
【符号の説明】
【０１６１】
１…入力装置
２…ポインタ
３…画面
５…表示装置
１０…筺体
１１…ボタン（切替手段）
１５…角速度センサユニット
１６…加速度センサユニット
１７…センサユニット（動きセンサ）
１８…メイン基板
１９…ＭＰＵ
２１…送受信機
２９…発光部
３５…ＭＰＵ（修正手段、座標基準変更手段）
３８…送受信機
４０…制御装置
５１…カメラ部（位置センサ）
１００…操作入力システム
【図１】
0005463790.tif 000003
【図２】
0005463790.tif 000004
【図３】
0005463790.tif 000005
【図４】
0005463790.tif 000006
【図５】
0005463790.tif 000007
【図６】
0005463790.tif 000008
【図７】
0005463790.tif 000009
【図８】
0005463790.tif 000010
【図９】
0005463790.tif 000011
【図１０】
0005463790.tif 000012
【図１１】
0005463790.tif 000013
【図１２】
0005463790.tif 000014
【図１３】
0005463790.tif 000015
【図１４】
0005463790.tif 000016
【図１５】
0005463790.tif 000017
【図１６】
0005463790.tif 000018
【図１７】
0005463790.tif 000019
【図１８】
0005463790.tif 000020
【図１９】
0005463790.tif 000021