説明

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

【課題】入力装置内の動きセンサの出力には動きセンサの特性に係る様々な要因の誤差成分が含まれる場合があり、操作者が意図する通りにポインタを操作できないことがある。
【解決手段】入力装置を撮像して入力装置の絶対座標系での位置を検出するためのイメージセンサを設ける。制御装置は、入力装置内で動きを検出する動きセンサの出力と、イメージセンサにより撮像された画像に基づく入力装置の位置と関係から動きセンサの出力を修正する。これにより動きセンサを用いた方式の有利点を活かしつつ、操作性の向上を図ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば画面上におけるポインタの移動を制御する操作入力システム、制御装置、ハンドヘルド装置及び操作入力システムに関する。
【背景技術】
【0002】
PC(Personal Computer)で普及しているGUI(Graphical User Interface)のコントローラとして、主にマウスやタッチパッド等のポインティングデバイスが用いられている。GUIは、従来のPCのHI(Human Interface)にとどまらず、例えばテレビを画像媒体としてリビングルーム等で使用されるAV機器やゲーム機のインターフェースとして使用され始めている。このようなGUIのコントローラとして、ユーザが空間で操作することができるポインティングデバイスが多種提案されている(例えば特許文献1、2参照)。
【0003】
例えば特許文献1には、画面に対する入力装置の相対的な動きを、内蔵された角速度センサ及び加速度センサの出力に基づいて検出する制御システムが記載されている。この制御システムは、入力装置から送信される上記各種センサの検出信号に基づいて、画面上のポインタの表示を制御するようにしている。
【0004】
また、特許文献2には、モニタの周辺に配置された2つのマーカ(赤色LED)を撮像するCMOSセンサあるいはCCD等の撮像素子を内蔵したコントローラを有する情報処理システムが記載されている。この情報処理システムは、コントローラから送信される上記マーカの撮像データに基づいて、コントローラの位置および姿勢に対応した操作信号を得るようにしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】WO2009/035005号(段落[0093]、[0094])
【特許文献2】特開2007−61489号公報(段落[0074])
【発明の概要】
【発明が解決しようとする課題】
【0006】
角速度センサや加速度センサの出力をもとに画面上のポインタの位置を演算する方式では、ポインタの現座標値に角速度センサや加速度センサの出力である速度値を積算して新たな座標値が生成される。このため、座標値の計算負荷が小さく高速化が容易である。
【0007】
しかしこのような利点をもつ反面、次のような問題がある。角速度センサや加速度センサはDC(Direct Current)オフセットと呼ばれる基準電位に対する電位の変動を検出信号として出力する。ここで、DCオフセットは、センサを構成する素子特性(温度ドリフト、振動モードの変化など)や、外的ストレス、アナログ回路の回路特性(温度特性、時定数、増幅器出力のSN比など)に応じて変動し、その変動の推移も一様でない。このため、角速度センサや加速度センサの検出信号をもとに積分によりポインタの座標を算出するシステムでは、DCオフセットの変動に起因した誤差が累積し、この結果、操作感が低下する場合があった。
【0008】
また、角速度センサにより検出されるものはあくまで角度の時間変化率であることから、検出される筐体の位置が必ずしも実際の操作と一致するとは限らず、操作に違和感が発生することがある。入力装置がロール方向に傾いた場合、操作方向がずれてしまうという問題点もあった。
【0009】
さらに、例えば表示画面にポインタを描画しようとすると、描画座標を得るために、角速度センサの場合は積分を、加速度センサの場合は2重積分を行う必要があり、その結果、積分誤差が蓄積されることで操作開始時の基準位置からやがて逸脱し、操作感が悪くなってしまうという問題点があった。
【0010】
さらに、操作入力を容易化するための諸施策(手振れ補正、速度ゲイン可変、ポインタ移動可否など)を施すと、これらも基準位置からの逸脱を助長してしまうという問題点があった。
【0011】
一方、イメージセンサを用いた場合は、計算負荷が大きいため反応が遅い、イメージセンサの画角外で(さらには画角内であっても遠すぎても近すぎても)は操作できない、画角が空間内のどこに位置するのかわかりにくい、操作の分解能が低い、などの問題点があった。
【0012】
以上のような事情に鑑み、本発明の目的は、動きセンサを用いた場合の有利点を活かしつつ、操作性の向上を図ることができる操作入力システム、制御装置、ハンドヘルド装置及び操作入力方法を提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明に係る操作入力システムは、筐体と、前記筐体内で前記筐体の動きを検出する動きセンサと有し、前記動きセンサの出力から所定空間内での前記筐体の位置を算出する操作入力システムであって、前記所定空間内での前記筐体の位置を直接的に検出する位置センサと、前記位置センサの出力を用いて前記動きセンサの出力を修正する修正手段とを具備する。
【0014】
本発明は、筐体内で筐体の動きを検出する動きセンサの出力から所定空間内での筐体の位置を算出する操作入力システムにおいて、修正手段は、所定空間内での筐体の位置を直接的に検出する位置センサの出力を用いて動きセンサの出力を修正する。これにより、動きセンサの出力に基づく所定空間内での筐体の位置の算出結果として、ユーザの直感により合致した結果が得られる。
【0015】
動きセンサとしては、例えば、角速度センサや加速度センサ等の慣性センサが用いられる。また、第2のセンサとしては、例えば、撮像素子を含むイメージセンサや、超音波センサやレーザ変位センサなどの測距センサを用いることができる。
【0016】
上記修正手段は、所定時間内での動きセンサの出力と所定時間内での位置センサの出力との関係をもとに動きセンサの出力を修正するための情報を算出する。ここで、動きセンサの出力を修正するための情報は、動きセンサの出力の修正がゼロであるときの情報も含む。算出された修正情報は、例えば、次のサイクル、あるいは、次以後のいずれかのサイクルに得られた動きセンサの出力に対して反映される。
【0017】
さらに、具体的には、本発明において、動きセンサは筐体の2次元以上の空間における動きを検出するものであり、位置センサは筐体の2次元以上の空間における位置を直接的に検出するものとされる。そして上記修正手段は、動きセンサの出力をもとに得られる筐体の動きと、位置センサにより検出された筐体の位置の変化との関係をもとに、動きセンサの出力を修正するための情報を算出するようにしてもよい。
【0018】
上記動きセンサは、設定された基準電位に対する電位の変動を検出信号として出力するものであり、上記修正手段は、基準電位の校正値を動きセンサの出力を修正するための情報として算出するものとする。この場合、上記修正手段は、例えば、動きセンサの出力の積分値と位置センサの出力の変位量との関係をもとに、動きセンサの出力を修正するための情報を算出することができる。これにより、動きセンサを構成する素子特性の変動に追従した、より適切な基準電位が得られ、動きセンサの出力に基づく所定空間内での筐体の位置の算出結果として、ユーザの直感により合致した結果が得られる。
【0019】
上記修正手段は、位置センサの出力の変位量が所定量以下になったとき、動きセンサの出力の積分値をもとに動きセンサの出力を修正するための情報を算出するようにしてもよい。すなわち、この発明では、上記位置センサの出力の変位量が所定値以下になったときを筐体が静止状態または略静止状態にあるときとし、このときの動きセンサの出力を動きセンサを構成する素子特性の変動成分とみなして修正情報を算出する。これにより、動きセンサを構成する素子特性の変動に追従した、より一層適切な基準電位が得られ、動きセンサの出力に基づく所定空間内での筐体の位置の算出結果として、より一層ユーザの直感により合致した結果が得られる。
【0020】
また、上記修正手段は、動きセンサの出力をもとに得られた筐体の動きの第1の軌跡と、位置センサにより検出された筐体の位置の変化の第2の軌跡との関係をもとに、動きセンサの出力を修正するための情報を算出するようにしてもよい。この場合、上記修正手段は、例えば、前記第1の軌跡と前記第2の軌跡との回転角度の差を前記動きセンサの出力を修正するための情報として算出することができる。これにより、筐体がロール方向に傾いた状態で操作された場合の、動きセンサの出力に含まれる傾きの成分を低減もしくは解消することができ、動きセンサの出力に基づく所定空間内での筐体の位置の算出結果として、ユーザの直感により合致した結果が得られる。
【0021】
さらに、上記修正手段は、前記動きセンサの出力をもとに算出された前記筐体の動きの第1の変位量と、前記位置センサにより検出された前記筐体の位置の第2の変位量との関係をもとに、前記動きセンサの出力を修正するための情報を算出するようにしてもよい。この場合、上記修正手段は、例えば、第1の変位量と第2の変位量との比率を動きセンサの出力を修正するための情報として算出することができる。これにより、筐体の操作の回転半径の違いによる、動きセンサの出力に基づく筐体の位置の算出結果への影響を低減もしくは解消することができ、ユーザの直感により合致した結果が得られる。
【0022】
さらに、上記修正手段は、動きセンサの出力をもとに得られた筐体の第1の位置と、位置センサにより検出された筐体の第2の位置との関係をもとに、動きセンサの出力を修正するための情報を算出するようにしてもよい。この場合、上記修正手段は、例えば、第1の位置と第2の位置との差記動きセンサの出力を修正するための情報として算出することができる。これにより、動きセンサの出力に基づく筐体の位置の算出結果に含まれる積分誤差を低減もしくは解消することができ、ユーザの直感により合致した結果が得られる。
【0023】
さらに、上記修正手段が、動きセンサの出力をもとに得られた筐体の第1の位置と、位置センサにより検出された筐体の第2の位置との関係をもとに、動きセンサの出力を修正するための情報を算出する操作入力システムは、動きセンサの出力のオンオフを切り替える切替手段と、切替手段による動きセンサの出力のオフ直前に算出された筐体の第1の位置と、切替手段による動きセンサの出力のオン直後に算出された筐体の第2の位置との差分により、位置センサの空間座標の基準もしくは動きセンサの空間座標の基準を変更する座標基準変更手段とをさらに具備するようにしてもよい。これにより、切替手段によって動きセンサの出力がオフされた時点とその後オンにされた時点での筐体の位置を一致させることができる。
【発明の効果】
【0024】
以上のように、本発明によれば、動きセンサを用いた場合の有利点を活かしつつ、操作性の向上を図ることができる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施の形態に係る操作入力システムの概略構成図である。
【図2】本発明の一実施の形態に係る入力装置を示す斜視図である。
【図3】上記入力装置の内部の構成を模式的に示す図である。
【図4】上記入力装置の電気的な構成を示すブロック図である。
【図5】上記操作入力システムにおける表示装置に表示される画面の例を示す図である。
【図6】上記入力装置をユーザが握った様子を示す図である。
【図7】上記入力装置の動かし方及びこれによる画面上のポインタの動きの典型的な例を説明するための図である。
【図8】本発明の第1の実施形態に係るDCオフセットの校正処理のフローチャートである。
【図9】DCオフセットに変動が場合の角速度値に基づく座標の軌跡と画像に基づく座標の軌跡の例を示す図である。
【図10】本発明の第1の実施形態の変形例2に係るDCオフセットの校正処理のフローチャートである。
【図11】入力装置がロール方向に傾いた状態で操作された場合の角速度値に基づく座標の軌跡と画像に基づく座標の軌跡の例を示す図である。
【図12】本発明の第2の実施形態に係るロール傾きの補正処理のフローチャートである。
【図13】本発明の第2の実施形態の変形例4に係る操作入力システムを示す概略構成図である。
【図14】本発明の第2の実施形態の変形例4に係るロール傾きの補正処理のフローチャートである。
【図15】本発明の第3の実施形態に係る角速度を擬似的な線速度に補正する処理の必要を説明するための図である。
【図16】本発明の第3の実施形態に係る角速度を擬似的な線速度に補正する処理を説明する図である。
【図17】本発明の第3の実施形態に係る角速度値を擬似的な線速度に補正する処理のフローチャートである。
【図18】本発明の第4の実施形態に係るポインタ座標の積分誤差を補正する処理のフローチャートである。
【図19】本発明の第4の実施形態に係る座標積分誤差の補正処理の画面上での具体的を示す図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施の形態を図面に基づき説明する。
【0027】
<第1の実施形態>
[操作入力システムの全体構成及び各部の構成]
図1は、本発明の第1実施形態に係る操作入力システムを示す図である。操作入力システム100は、表示装置5、制御装置40及び入力装置1を含む。
【0028】
表示装置5は、例えば、液晶ディスプレイ、EL(Electro-Luminescence)ディスプレイなどにより構成される。表示装置5は、テレビジョン放送等を受信できるディスプレイと一体となった装置でもよし、このようなディスプレイと制御装置40とが一体となった装置でもよい。表示装置5には、イメージセンサを内包するカメラ部51が設けられている。
【0029】
カメラ部51は、表示装置5の正面側に視野をもち、入力装置1の発光部29の発光点を含む画像を取り込むためのイメージセンサを有する。このイメージセンサにより撮像された画像は一定時間周期で制御装置50に転送される。イメージセンサとしては、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal-Oxide Semiconductor)などが用いられる。
【0030】
図3は、入力装置を示す斜視図である。図3に示すように、入力装置1は、筐体10を有し、この筐体10の上部には操作部9が設けられている。筐体10は、一方向に長い形状を有しており、ユーザの握った手に収まる程度の大きさとされる。
【0031】
操作部9は、筐体10の上部の先端部側に配置されたボタン11と、筐体10の上部の中央近傍に配置されたボタン12と、ボタン11及びボタン12の間に配置されたボタン13、14とを有する。
【0032】
ボタン11は、2段階的な切り替えが可能な操作部とされている。ボタン11は、内部に光センサ8を有しており、この光センサ8が一段目のスイッチとして機能する。また、ボタン11は、筐体10の内部に、ボタン11が押圧されたことを検出するスイッチ23a(図4参照)が内蔵されており、このスイッチ23aが2段目のスイッチとして機能する。
【0033】
ボタン11の一段目のスイッチには、ポインタ移動可否ボタンとしての機能、すなわち、ユーザが任意にポインタ2の移動の可否を切り替える機能が割り当てられる。また、ボタン11の2段目のスイッチには、決定ボタンとしての機能(例えば、平面操作型のマウスの左ボタンに相当する機能)が割り当てられる。
【0034】
ここで、ユーザの指がボタン11の上方に存在する場合に画面3上でポインタ2が移動可能となる形態と、ユーザの指がボタン11の上方に存在しない場合に画面3上でポインタ2が移動可能となる形態とが挙げられる。
【0035】
筐体10の中央近傍に設けられたボタン12には、マウスの右ボタンに相当する機能が割り当てられる。また、ボタン13、14には、音量の増減や、画面3上に表示される動画の早送り、巻き戻し、放送番組等のチャンネルのアップ、ダウンなどの機能が割り当てられる。
なお、ボタン11〜14の配置や、割り当てられる機能については、適宜変更可能である。
【0036】
さらに、入力装置1の筐体10の上部の先端には発光部29が設けられている。発光部29は、例えば、赤外線LED(Light Emitting Diode)などである。外乱光との分離しやすさの点から、この発光部29の明滅については、タイミングや周波数等によって変調がかけられることが好ましい。
【0037】
図3は、入力装置1の内部の構成を模式的に示す図である。図4は、入力装置1の電気的な構成を示すブロック図である。
【0038】
入力装置1は、センサユニット17、制御ユニット30、バッテリー24、発光部29を備えている。
【0039】
図5は、センサユニット17を示す斜視図である。
なお、本明細書中では、入力装置1とともに動く座標系、つまり、入力装置1に固定された座標系をX’軸、Y’軸、Z’軸で表す。一方、地球上で静止した座標系、つまり慣性座標系をX軸、Y軸、Z軸で表す。また、以降の説明では、入力装置1の動きに関し、X’軸周りの回転方向をピッチ方向、Y’軸周りの回転方向をヨー方向といい、Z’軸(ロール軸)周りの回転方向をロール方向と呼ぶ。
【0040】
センサユニット17は、互いに異なる角度、例えば、直交する2軸(X’軸及びY’軸)の周りの角速度を検出する角速度センサユニット15を有する。すなわち、角速度センサユニット15は、第1の角速度センサ151、及び第2の角速度センサ152を含む。
【0041】
また、センサユニット17は、互いに直交する2軸に沿った方向の加速度を検出する加速度センサユニット16を有する。すなわち、加速度センサユニット16は、第1の加速度センサ161、及び第2の加速度センサ162を含む。
【0042】
これらの角速度センサユニット15及び加速度センサユニット16はパッケージングされ、回路基板25上に搭載されている。
【0043】
図5では、角速度センサユニット15及び加速度センサユニット16が回路基板25の片側の面(前面)に搭載された場合が示されている。しかし、これに限られず、角速度センサユニット15及び加速度センサユニット16は、回路基板の両面にそれぞれ分けて搭載されてもよい。この場合、回路基板25のサイズを小さくすることができ、その結果、回路基板25の剛性を高めることができる。
【0044】
角速度センサ151、152としては、角速度に比例したコリオリ力を検出する振動型のジャイロセンサが用いられる。加速度センサ161、162としては、ピエゾ抵抗型、圧電型、静電容量型等、どのようなタイプのセンサであってもよい。角速度センサ151、152としては、振動型ジャイロセンサに限られず、回転コマジャイロセンサ、レーザリングジャイロセンサ、ガスレートジャイロセンサ、あるいは、地磁気型ジャイロセンサ等が用いられてもよい。
【0045】
図3において、筐体10の長手方向、幅方向、厚さ方向をそれぞれ、Z’軸方向、X’軸方向、Y’軸方向とする。この場合、上記センサユニット17は、回路基板25の、加速度センサユニット16及び角速度センサユニット15を搭載する面がX’−Y’平面に実質的に平行となるように、筐体10に内蔵される。これにより、両センサユニット15、16は、上記したように、X’軸及びY’軸に関する角速度及び加速度を検出する。
【0046】
図3及び図4を参照して、制御ユニット30は、メイン基板18、メイン基板18上にマウントされたMPU19(Micro Processing Unit)、(あるいはCPU)、水晶発振器20、送受信機21、メイン基板18上にプリントされたアンテナ22などを含む。また、制御ユニット30は、メイン基板18上に、上記各ボタン11〜14に対応して設けられたスイッチ23a〜23dを含む。
【0047】
メイン基板18とセンサ基板25とは、例えば、FFC(Flexible Flat Cable)等により構成されたフレキシブルな導線26により、電気的に接続されている。また、メイン基板18と光センサ8とは、例えば、FPC(Flexible Printed Circuit)により構成されたフレキシブル基板27により、電気的に接続される。
【0048】
MPU19は、揮発性メモリ及び不揮発性メモリを内蔵している。MPU19は、センサユニット17による検出信号、操作部による操作信号(光センサ8による受光信号を含む)等を入力し、これらの入力信号に応じた所定の制御信号を生成するため、各種の演算処理等を実行する。上記メモリは、MPU19とは別体で設けられていてもよい。
【0049】
典型的には、センサユニット17はアナログ信号を出力するものである。この場合、MPU19は、A/D(Analog/Digital)コンバータを含む。しかし、センサユニット17がA/Dコンバータを含むユニットであってもよい。
【0050】
送受信機21は、MPU19で生成された制御信号をRF無線信号として、アンテナ22を介して制御装置40に送信する。また、送受信機21は、制御装置40から送信された各種の信号を受信することも可能である。
【0051】
水晶発振器20は、クロックを生成し、これをMPU19に供給する。バッテリー24としては、乾電池または充電式電池等が用いられる。
【0052】
発光部29は、発光素子29aと、これを駆動する駆動部29bと、これを実装する基板29cを含む。基板29cは、例えば、FFC(Flexible Flat Cable)等により構成されたフレキシブル基板29dにより、メイン基板18と電気的に接続される。
【0053】
再び図1を参照して、制御装置40は、MPU35、ROM37、ビデオRAM41、表示制御部42、アンテナ39、送受信機38を含む。
【0054】
送受信機38は、入力装置1から送信された制御信号を、アンテナ39を介して受信する。また、送受信機38は、入力装置1へ所定の各種の信号を送信することも可能となっている。MPU35は、その制御信号をもとに各種の演算処理を実行する。表示制御部42は、MPU35の制御のもとで、主に、表示装置5の画面3上に表示する画面データを生成する。ビデオRAM41は、表示制御部42の作業領域となり、生成された画面データを一時的に格納する。
【0055】
制御装置40は、入力装置1に専用の機器であってもよいが、PC等であってもよい。制御装置40は、入力装置に専用の機器に限られず、表示装置5と一体となったコンピュータであってもよいし、オーディオ/ビジュアル機器、プロジェクタ、ゲーム機器、またはカーナビゲーション機器等であってもよい。
【0056】
次に、入力装置1の動かし方及びこれによるポインタ2の動きの典型的な例を説明する。図6はその説明図である。
【0057】
図6(A)、(B)に示すように、ユーザは、親指を上にした状態で、入力装置1を握り、入力装置1の先端側を表示装置5に向ける。この状態で、センサユニット17のセンサ基板25(図6参照)は、表示装置5の画面3に対して平行に近くなり、センサユニット17の検出軸である2軸が、画面3上の水平軸(X軸)及び垂直軸(Y軸)に対応するようになる。以下、このような図6(A)、(B)に示す入力装置1の姿勢を基本姿勢という。
【0058】
ユーザは、基本姿勢の状態で、ボタン11の上方に親指を載せ、ポインタ2を移動可能な状態とする。そして、図6(A)に示すように、基本姿勢の状態から、ユーザが手首や腕を左右方向、つまりヨー方向に振る。このとき、第1の加速度センサ161は、X’軸方向の加速度axを検出し、第1の角速度センサ151は、Y’軸の周りの角速度ωψを検出する。このように検出された検出値に基き、操作入力システム100は、ポインタ2が画面3上で水平軸方向に移動するようにそのポインタ2の表示を制御する。
【0059】
一方、図6(B)に示すように、基本姿勢の状態で、ユーザが手首や腕を上下方向、つまりピッチ方向に振る。このとき、第2の加速度センサ162は、Y’軸方向の加速度ayを検出し、第2の角速度センサ152は、X’軸の周りの角速度ωθを検出する。操作入力システム100は、これらの検出値に基き、ポインタ2が画面3上での垂直軸方向に移動するようにそのポインタ2の表示を制御する。
【0060】
次に、本実施の形態に係る操作入力システム100の動作を説明する。
[典型的な動作]
まず、操作入力システム100における典型的な動作を説明する。なお、ここでは、典型的な動作として、角速度センサユニット16の出力をもとにポインタ2の移動を制御する場合を説明する。
【0061】
例えばユーザによる電源スイッチ28の押圧により、入力装置1に電源が入力されると、角速度センサユニット16から2軸の角速度信号が出力され、MPU19は、この角速度信号を角速度値(ωψ、ωθ)として取得する。この後、MPU19は、角速度値(ωψ、ωθ)を送受信機21及びアンテナ22を介して制御装置40に送信する。制御装置40は、入力装置2より転送された角速度値(ωψ、ωθ)を送受信機38およびアンテナ39を介して受信する。制御装置40のMPU35は、受信した角速度値(ωψ、ωθ)から2軸の速度値(Vx、Vy)を算出する。ここで、速度値VxはX’軸に沿う方向の速度値であり、VyはY’軸に沿う方向の速度値である。
【0062】
制御装置40のMPU35は、速度値を受信すると、下の式(1)、(2)により、速度値を座標値に加算することで、新たな座標値(X(t)、Y(t))を生成する。MPU35は、生成された座標値にポインタ2が移動するように、画面の表示を制御する。
【0063】
X(t)=X(t−1)+Vx・・・(1)
Y(t)=Y(t−1)+Vy・・・(2)
【0064】
また、速度値(Vx、Vy)を計算するほかの方法としては次のようなものがある。MPU35は加速度値(ax、ay)を角加速度値(Δωψ、Δωθ)で割ることで、入力装置1の動きの回転半径(Rψ、Rθ)を求める。MPU35はこの回転半径(Rψ、Rθ)に角速度値(ωψ、ωθ)を乗じて速度値(Vx、Vy)を算出する。回転半径(Rψ、Rθ)は、加速度の変化率(Δax、Δay)を、角加速度の変化率(Δ(Δωψ)、Δ(Δωθ))で割ることで求められる。
【0065】
[センサ出力の検出]
本実施形態の入力装置1においては、直接変位を検出せず、角速度、加速度などの時間微分された変位のディメンジョンにて慣性量を検出する角速度センサ(角速度センサユニット15)や加速度センサ(加速度センサユニット16)を含むセンサモジュール17が使用されている。これらの慣性センサは、筺体10の動きに応じた、基準電位に対する電位の変動を検出信号として出力する。
【0066】
以下、角速度センサを例に挙げて角速度の検出方法の一例について説明する。
【0067】
図7(A)に角速度センサの出力の一例を示す。ここで、角速度センサの出力は上記の基準電位に相当するDCオフセットVrefを含んでいる。したがって、角速度センサの出力V(t0)からDCオフセットVrefを減じた値が角速度センサにより検出された角速度信号の実効値(角速度値)ω(t0)となる。
【0068】
DCオフセットは、センサを構成する素子特性(温度ドリフト、振動モードの変化など)や、外的ストレス、アナログ回路の回路特性(温度特性、時定数、増幅器出力のSN比など)に応じて変動し、その変動の推移も一様でない。図7(B)にDCオフセットVrefの変動の一例を示す。
【0069】
DCオフセットVrefが変動すると、角速度値ω(t0)の算出にずれが生じる。
例えば、図7(B)の例において、時刻t0のDCオフセットをVref(t0)とした場合、時刻t1でのDCオフセットVref(t1)はVref(t0)+ΔV1、時刻t2でのDCオフセットVref(t2)はVref(t0)−ΔV2であることから、時刻t1の角速度値ω(t1)と時刻t2の角速度値ω(t2)とではΔV1+ΔV2の誤差がある。この場合、入力装置1の操作感が低下することは勿論のこと、入力装置1を停止させているにもかかわらずポインタが画面上で移動するという事態を招く。
【0070】
[DCオフセットの校正処理]
そこで、本実施の形態においては、次のような処理によりDCオフセットの校正を行うこととしている。
【0071】
本実施形態に係るDCオフセットの校正処理は、要約すれば、次の通りである。制御装置40は、入力装置1の動きをカメラ部51で得た画像に基づき検出し、入力装置1の動きの変位量が所定値以下である場合、入力装置1が"静止"の状態であることを判断する。制御装置40は入力装置1が"静止"の状態であることを判断すると、入力装置1から与えられた角速度値の平均値でDCオフセットを校正する。
【0072】
図8は本実施形態に係るDCオフセットの校正処理のフローチャートである。以下このフローチャートに従って本実施形態に係るDCオフセットの校正処理の詳細を説明する。
【0073】
入力装置1のMPU19は、所定の周期で角速度センサユニット16より2軸の角速度信号(ωψ(t)、ωθ(t))を取得し(ステップ101)、送受信機21及びアンテナ22を介して制御装置40に送信する(ステップ102)。
【0074】
制御装置40は、入力装置1より2軸の角速度信号(ωψ(t)、ωθ(t))を受信する(ステップ103)。制御装置40のMPU35は、受信した2軸の角速度信号(ωψ(t)、ωθ(t))から、それぞれの軸方向のDCオフセット(ωψref、ωθref)を減じることで2軸の角速度値(ωψcor(t)、ωθcor(t))を得る(ステップ104)。
【0075】
次に、制御装置40のMPU35は、カメラ部51にて取得した画像からカメラ画角内での入力装置1の座標(Xi(t)、Yi(t))の検出を行い(ステップ105)、この検出結果と前回の周期で検出された座標(Xi(t−1)、Yi(t−1))との差分を、入力装置1の2軸方向の変位量(ΔXi、ΔYi)として求める(ステップ106)。
【0076】
次に、制御装置40のMPU35は、求めた変位量(ΔXi、ΔYi)の絶対値が予め決められた所定値より大きいかどうかを判定する(ステップ107)。ここで、変位量(ΔXi、ΔYi)の絶対値と所定値との比較は、ΔXiおよびΔYiのうち少なくとも一方が所定値より大きい場合に"大きい"と判定され、ΔXiおよびΔYiの両方とも所定値より大きくない場合には"小さい"と判定される。
【0077】
"小さい"と判定された場合、制御装置40のMPU35は、入力装置1が"静止"していると判定する。そしてMPU35は、今回の周期で得た角速度値(ωψcor(t)、ωθcor(t))を用いて回転角(ψ(t)、θ(t))を次式(3)、(4)により算出する。
ψ(t)=ψ(t−1)+ωψcor(t)・・・(3)
θ(t)=ψ(t−1)+ωθcor(t)・・・(4)
【0078】
回転角(ψ(t)、θ(t))の計算後、MPU35は、回転角(ψ(t)、θ(t))の計算回数を保持するカウンタをインクリメントする(ステップ108)。MPU35は、インクリメント後のカウンタの値が所定の値(n)に達しているかどうかを判定し(ステップ109)、達していない場合(ステップ109のNO)、角速度値(ωψcor(t)、ωθcor(t))から速度値(Vx(t)、Vy(t))を算出する。MPU35は、式(1)、(2)により、速度値(Vx(t)、Vy(t))を座標値(X(t−1)、Y(t−1))に加算することで新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ110)。
【0079】
また、MPU35は、インクリメント後のカウンタの値が所定の値(n)に達した、すなわち角速度値(ωψcor(t)、ωθcor(t))の積算回数が所定の値(n)に達したことを判定した場合(ステップ109のYES)、次のような処理を行う。MPU35は、現時点までに得られた回転角(ψ(t)、θ(t))を所定の値(n)で除算して角速度値(ωψcor(t)、ωθcor(t))の平均値を求め、この平均値でDCオフセット(ωψref、ωθref)を校正する(ステップ111)。この後、MPU35はカウンタをリセットするとともに、回転角(ψ(n)、θ(n))をリセットする(ステップ112)。そして、MPU35は角速度値(ωψcor(t)、ωθcor(t))から速度値(Vx(t)、Vy(t))を算出し、速度値(Vx(t)、Vy(t))を座標値(X(t−1)、Y(t−1))に加算することで新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ110)。
【0080】
以上は、ステップ107で、変位量(ΔXi、ΔYi)の絶対値が小さい、つまり"静止"の状態が所定回数(n回)連続して判定された場合の動作である。
【0081】
ステップ107で、変位量(ΔXi、ΔYi)の絶対値が所定値より大きいことが判定された場合には、MPU35は、入力装置1が"動作"の状態であるものとみなし、カウンタをリセットするとともに、回転角(ψ(t)、θ(t))をリセットする(ステップS113)。これにより、変位量(ΔXi、ΔYi)の小さい"静止"の状態が所定回数(n回)連続した場合のみ、DCオフセット(ωψref、ωθref)の校正が行われるこことなる。
【0082】
以上のように、本実施形態によれば、制御装置40のMPU35は、カメラ部51にて取得した画像に基づき検出された入力装置1の座標(Xi(t)、Yi(t))から入力装置1の変位量を求める。MPU35は、この変位量から入力装置1が"静止"の状態にあるかどうかを判定し、入力装置1が"静止"の状態にあるときの角速度値(ωψcor(t)、ωθcor(t))の平均値でDCオフセット(ωψref、ωθref)を校正する。これによりDCオフセットが変動しても良好な角速度値(ωψcor(t)、ωθcor(t))が得られ、操作者の感覚に合致したポインタ2の操作が可能になる。
【0083】
なお、図8のフローチャートに示す一連の処理は、すべて入力装置1にて行うようにしてもよい。
【0084】
<変形例1:DCオフセットの校正処理の変形例>
上記の実施形態では、"静止"の状態が所定期間連続した場合にDCオフセットを校正する場合について述べたが、DCオフセットを校正するのではなく、入力装置1の加速度センサユニット16内の角速度センサ151、152の感度を補正してもよい。
【0085】
<変形例2:DCオフセットの校正処理の変形例>
第1の実施形態に係るDCオフセットの校正処理によるDCオフセットの更新は、入力装置1が"静止"の状態であるときに行われるのに対し、本変形例2では、入力装置1が"静止"の状態であっても"動作"の状態であっても、定常的にDCオフセットの校正が行われる。
【0086】
図9はDCオフセットに変動が場合の角速度値に基づく座標の軌跡と画像に基づく座標の軌跡の例を示す図である。同図に示すように、角速度値に基づく座標と画像に基づく座標との間にはDCオフセットの変動に起因した差分が生じる。そこで本変形例2では、所定時間毎の角速度値に基づく座標の変位量と画像に基づく座標の変位量との差をもとにDCオフセットを校正する。
【0087】
図10は本変形例2に係るDCオフセットの校正処理のフローチャートである。以下このフローチャートに従って本変形例2に係るDCオフセットの校正処理の詳細を説明する。
【0088】
入力装置1のMPU19は、所定の周期で角速度センサユニット16より2軸の角速度信号(ωψ(t)、ωθ(t))を取得し(ステップ201)、送受信機21及びアンテナ22を介して制御装置40に送信する(ステップ202)。
【0089】
制御装置40は、入力装置1より2軸の角速度信号(ωψ(t)、ωθ(t))を受信する(ステップ203)。制御装置40のMPU35は、受信した2軸方向の角速度信号(ωψ(t)、ωθ(t))から2軸方向のDCオフセット(ωψref、ωθref)を減じることで2軸の角速度値(ωψcor(t)、ωθcor(t))を得る(ステップ204)。
【0090】
次に、制御装置40のMPU35は、画像からカメラ画角内での入力装置1の座標(Xi(t)、Yi(t))の検出を行い(ステップ205)、カウンタをインクリメントする(ステップ206)。次に、制御装置40のMPU35は、ステップ205で検出された座標(Xi(t)、Yi(t))と前回の周期で検出された座標(Xi(t−1)、Yi(t−1))との差分を、入力装置1の2軸方向の変位量(ΔXi、ΔYi)として求める(ステップ208)。
【0091】
次に、制御装置40のMPU35は、下式(5)、(6)により、変位量(ΔXi、ΔYi)を積算する。これにより画像に基づく座標の変位量の積算値(ΣXi(t)、ΣYi(t))が得られる。
【0092】
ΣXi(t)=ΣXi(t−1)+ωψcor(t)・・・(5)
ΣYi(t)=ΣYi(t−1)+ωθcor(t)・・・(6)
【0093】
次に、MPU35は、今回の周期で得た角速度値(ωψcor(t)、ωθcor(t))を用いて回転角(ψ(t)、θ(t))を次式(3)、(4)により算出する。回転角(ψ(t)、θ(t))の計算後、MPU35はカウンタを再度インクリメントする(ステップ209)。
【0094】
MPU35は、インクリメント後のカウンタの値が所定の値(n)に達しているかどうかを判定し(ステップ210)、達していない場合(ステップ210のNO)、角速度値(ωψcor(t)、ωθcor(t))から速度値(Vx(t)、Vy(t))を算出する。MPU35は、算出された速度値(Vx(t)、Vy(t))を、式(1)、(2)に従って座標値(X(t−1)、Y(t−1))に加算することで新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ211)。
【0095】
また、インクリメント後のカウンタの値が所定の上限値に達している場合(ステップ210のYES)、下の式(7)、(8)により、DCオフセット(ωψref、ωθref)を校正する(ステップ212)。
ωψref=(ψ(t)−Xin×C)/n・・・(7)
ωθref=(θ(t)−Yin×C)/n・・・(8)
ここでCは、画像に基づく座標の変位量の積算値(ΣXi(t)、ΣYi(t))を、回転角に相当する値に調整するために、予め決められた比例定数である。
【0096】
この後、MPU35はカウンタをリセットするとともに、回転角(ψ(n)、θ(n))をリセットする(ステップ213)。そして、MPU35は角速度値(ωψcor(t)、ωθcor(t))から速度値(Vx(t)、Vy(t))を算出し、速度値(Vx(t)、Vy(t))を座標値(X(t−1)、Y(t−1))に加算することで新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ211)。
【0097】
以上のように、本実施形態によれば、制御装置40のMPU35は、所定時間毎の角速度値に基づく座標の変位量と画像に基づく座標の変位量との差をもとにDCオフセットを校正する。これによりDCオフセットの校正を定常的に行うことができ、DCオフセットが変動しても良好な角速度値(ωψcor(t)、ωθcor(t))が得られ、操作者の感覚に合致したポインタ2の操作が可能になる。
【0098】
なお、図10のフローチャートに示す一連の処理は、すべて入力装置1にて行うようにしてもよい。
【0099】
<第2の実施形態>
[ロール傾きの補正]
図11は入力装置1がロール方向に傾いた状態で操作された場合の角速度値に基づく座標の軌跡と画像に基づく座標の軌跡の例を示す図である。同図に示すように、入力装置1がロール方向に傾いた状態で操作された際に角速度値に基づく座標の軌跡は、画像に基づく座標の軌跡に対してカメラ画角内でφの角度(ロール角)だけ回転した関係にある。
【0100】
そこで本第2の実施形態に係る制御装置40は、画像に基づく座標の軌跡と角速度値に基づく座標の軌跡を相対的に回転変換しながら比較し、最も相関が高くなった回転角度を入力装置1のロール角φとして判定し、このロール角φで角速度値を補正する。
【0101】
図12は本第2の実施形態に係るロール傾きの補正処理のフローチャートである。以下このフローチャートに従って本第2の実施形態に係るロール傾きの補正処理の詳細を説明する。
【0102】
ここで、ステップ301からステップ304までの動作は第1の実施形態に係るDCオフセットの校正処理のステップ101からステップ104までの動作と同じである。
【0103】
ステップ305で、制御装置40のMPU35は、今回得られた角速度値(ωψcor(t)、ωθcor(t))からn回以前に得られた角速度値(ωψcor(t−n)、ωθcor(t−n))までの座標の軌跡を求める(ステップ305)。
【0104】
次に、MPU35は、カメラ部51にて取得した画像からカメラ画角内での入力装置1の座標(Xi(t)、Yi(t))の検出を行う(ステップ306)。そしてMPU35は、今回得られた座標(Xi(t)、Yi(t))からn回以前に得られた座標(Xi(t−n)、Yi(t−n))の軌跡を求める(ステップ307)。
【0105】
次に、MPU35は、角加速度に基づく座標の軌跡と画像に基づく座標の軌跡とを相対的に回転変換しながら比較することを繰り返し、最も相関係数が高くなった回転角度を入力装置1のロール角φとして判定する(ステップ308−311)。
【0106】
続いて、MPU35は、角速度値(ωψcor(t)、ωθcor(t))をロール角φだけ回転変換し(ステップ312)、回転変換した角速度値から速度値(Vx(t)、Vy(t))を算出する。MPU35は、算出された速度値(Vx(t)、Vy(t))を用いて新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ313)。
【0107】
以上のように、本第2の実施形態に係る制御装置40のMPU35は、画像に基づく座標の軌跡と角速度値に基づく座標の軌跡とを相対的に回転変換しながら比較し、最も相関が高くなった回転角度を入力装置1のロール角φとして判定する。MPU35は、このロール角φで角速度値を回転変換する。これにより入力装置1のロール傾きの補正を良好に行うことができる。
【0108】
加速度センサによって検出された重力加速度から入力装置1のロール角φを求めて補正を行うことも可能である。しかし、加速度センサの出力には慣性加速度の成分が含まれており、この慣性加速度の成分を除くために非常な複雑な演算を要する。本第2の実施形態に係るロール傾きの補正処理によれば、加速度センサによって検出された重力加速度を用いた方式に比べ簡単な演算で済むという利点がある。
【0109】
ここで、ロール角φに基づく角速度値の回転変換は、下の式(9)のような回転行列を用いて行うことができる。
【0110】
【数1】

【0111】
<変形例3:ロール傾きの補正の変形例>
画像に基づく座標の軌跡と角速度値に基づく座標の軌跡とを比較してロール角φを求める方法について述べたが、画像に基づく座標の軌跡と角速度値に基づく座標の軌跡それぞれの微分値を比較してロール角φを求めてもよい。
【0112】
<変形例4:ロール傾きの補正の変形例>
次に、入力装置1の側でロール傾きの補正を行う方式を説明する。
この変形例4では、図13に示すように、少なくとも、入力装置1に発光部29(図1参照)に代えてカメラ部52が設けられている点で上記の各実施形態と異なる。カメラ部52は、例えば表示装置5が画角内に入るように入力装置1の先端部に設けられている。
【0113】
本変形例4に係る入力装置1は、カメラ部52により捉えられた表示装置5などを含む画像から基準軸となる直線成分を抽出し、この基準軸に対する入力装置1のロール角φを求める。入力装置1はこのロール角φで角速度値を補正する。
【0114】
図14は本変形例4に係るロール傾きの補正処理のフローチャートである。以下このフローチャートに従って本変形例4に係るロール傾きの補正処理の詳細を説明する。
【0115】
入力装置1のMPU19は、所定の周期で角速度センサユニット16より2軸の角速度信号(ωψ(t)、ωθ(t))を取得する(ステップ401)。続いて、MPU19は、2軸の角速度信号(ωψ(t)、ωθ(t))から、それぞれの軸方向のDCオフセット(ωψref、ωθref)を減じることで2軸の角速度値(ωψcor(t)、ωθcor(t))を得る(ステップ402)。
【0116】
次に、入力装置1のMPU19はカメラ部52により画像を取り込むように制御を行う(ステップ403)。MPU19は、カメラ部52により取り込まれた画像から基準軸となる直線成分を認識し、カメラ画角内の当該基準軸の傾きを入力装置1のロール角φとして求める(ステップ404)。
【0117】
ここで、入力装置1のカメラ部52により撮像された画像中での基準軸となる直線部分としては、例えば、表示装置4の筐体や画面の外枠などが挙げられる。また、画像中の天井と壁との境、床と壁との境、窓枠なども、基準軸となる直線部分として認識の対象となり得る。これらの画像の認識には、ある程度の処理時間を必要とするが操作者の操作性を損う程度ではない。また、画像のサンプリングレートは数秒で構わない。画像認識の精度を向上させるための自動学習などを行うことは有効である。
【0118】
この後、入力装置1のMPU19は、角速度値(ωψcor(t)、ωθcor(t))をロール角φだけ回転変換し(ステップ405)、回転変換した角速度値から速度値(Vx(t)、Vy(t))を算出する。MPU35は、算出された速度値(Vx(t)、Vy(t))を用いて新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ406)。
【0119】
以上により、本変形例4によっても、入力装置1のロール傾きの補正を比較的簡単な演算で行うことができる。
【0120】
<変形例5:ロール傾きの補正の変形例>
第2の実施形態で説明したロール傾き補正処理では、カメラ部51にて取得した画像に基づく座標の軌跡と角速度値に基づく座標の軌跡とを相対的に回転変換しながら比較してロール角φを求めることとした。したがって、ロール傾き補正がかかりだすまでに、ある程度の時間がかかる。
【0121】
そこで入力装置1に、ロール角φによってカメラ画角内での形態が変化する特徴部分を設けることが有効である。制御装置40は、カメラ部51で捉えた画像から、その特徴部分の形態を認識することによって、入力装置1のロール角φを求めることができる。この方式によれば、第2の実施形態で説明したロール傾き補正処理に比べ、必要な演算量を大幅に低減でき、ロール傾き補正がかかりだすまでの時間が短縮される。ここで、入力装置1に設けられる上記の特徴部分は、例えば、複数の発光部あるいはアスペクト比の比較的大きい発光部などによって実現可能である。また、特徴部分は発光部に限られず、光反射部、色違い部など、画像認識によって抽出することが可能なものであればよい。また、入力装置1の外形を認識してロール角φを求めるようにしてもよい。
【0122】
<第3の実施形態>
[角速度を擬似的な線速度に補正]
画面上に表示されるポインタの移動量は、2つの角速度センサによって検出された角速度に依存する。したがって、操作者が入力装置に大きな角速度を与えれば、それに応じて画面上に表示されるポインタは高速で移動する。例えば、図15(A)に示すように、操作者が手指の回転を使って入力装置を操作する場合(操作の回転半径R(t)が小さい場合)、入力装置の実際の移動量が小さくてもポインタは高速で移動する。これに対し、操作者がわずかしか角速度を与えずに入力装置を操作する場合、たとえ入力装置の実際の移動量が大きかったとしても、画面上のポインタはわずかしか移動しない。例えば、図15(B)に示すように、操作者が肩を軸として腕全体を振って入力装置を操作した場合(操作の回転半径R(t)が大きい場合)、入力装置の実際の移動量に反してポインタはわずかしか移動しない。このようにポインタの動きが操作者の感覚にそぐわない動きとなる場合がある。
【0123】
そこで、本第3の実施形態に係る制御装置40は、図16に示すように、角速度値に基づく座標の軌跡に対して拡大率を乗じたものと画像に基づく座標の軌跡との比較を上記の拡大率を変更しながら繰り返し、最も相関が高くなった拡大率G(t)を判定する。制御装置40は、この拡大率G(t)を角速度値に乗じたものを擬似的な線速度として算出する。これにより、操作の回転半径R(t)の違いがポインタの移動量に大きく影響することを緩和できる。
【0124】
図17は本第3の実施形態に係る角速度値を擬似的な線速度に補正する処理のフローチャートである。以下このフローチャートに従って本第3の実施形態に係る角速度値を擬似的な線速度に補正する処理の詳細を説明する。
【0125】
ここで、ステップ501からステップ507まのでの動作は、第2の実施形態に係るロール傾きの補正処理のステップ301からステップ307までの動作と同じである。
【0126】
制御装置40のMPU35は、角加速度をもとに得た座標の軌跡に拡大率を乗じたものと画像に基づく座標の軌跡との比較を、上記の拡大率を変更しながら繰り返し、最も相関が高くなった拡大率G(t)を判定する(ステップ508−511)。
【0127】
続いて、MPU35は、角速度値(ωψcor(t)、ωθcor(t))を拡大率G(t)で拡大(縮小)し(ステップ512)、拡大(縮小)した角速度値から速度値(Vx(t)、Vy(t))を算出する。そしてMPU35は、算出された速度値(Vx(t)、Vy(t))を用いて新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ513)。
【0128】
ところで、拡大率G(t)は、入力装置1の操作の回転半径R(t)に定数Cを乗じた値となる。ここで、定数Cは、入力装置1とカメラ部51との距離によって変わる。すなわち、入力装置1とカメラ部51との距離が大きくなるほど定数Cは大きくなり、その分回転半径R(t)が小さくなって画面でのポインタの動き(線速度)が小さくなる。逆に距離が小さくなるほど定数Cは小さくなり、その分回転半径R(t)が大きくなって画面でのポインタの動き(線速度)が大きくなる。したがって、定数Cが分かれば、拡大率G(t)を定数Cを除算することで回転半径R(t)が得られ、この回転半径R(t)に角速度値(ωψcor(t)、ωθcor(t))を乗算すれば、入力装置1とカメラ部51との距離を加味した擬似的な線速度を得ることができる。
【0129】
定数Cを求める方法としては、例えば以下がある。
1.発光部の輝度は入力装置1とカメラ部51との距離の二乗に反比例する。そこで、制御装置40は、カメラ部51で捉えた画像中の発光点の輝度を求め、求めた輝度から上記の距離を求め、この距離から定数Cを算出する。
2.入力装置1に複数の発光部を設ける。制御装置40は、画像から複数の発光部同士の距離を求め、この距離から定数Cを算出する。
3.制御装置40は、テストモードにて操作者毎の使用時の回転半径R(t)、あるいは各操作者全体の使用時の回転半径R(t)の分布を求めておき、その分布に基づいて統計的に定数Cを推定する。
【0130】
なお、図17のフローチャートに示す一連の処理は、すべて入力装置1にて行うようにしてもよい。
【0131】
以上の各実施形態およびその変形例における補正は、仮に数秒遅延して実行されたとしても操作者に違和感を与える程度のものとならない。すなわち、ポインタの移動操作は数十ms程度の僅かな遅延でも操作者によって直接的に知覚され得るが、DCオフセットの校正、ロール傾きの補正、および線速度の補正による遅延は、操作者によって直接的に知覚され得るようなかたちでは現れないからである。
【0132】
<第4の実施形態>
[ポインタ座標の積分誤差の補正]
画面上のポインタの座標の計算は、角速度値から得た速度値をそれまでのポインタの座標値に次々と加算して行われることから、角速度値に含まれる諸々の要因による誤差の累積によって、ポインタが操作者の感覚にそぐわない座標に移動すること、つまり絶対座標から逸脱する場合がある。角速度値の誤差の要因としては、角速度センサの感度のばらつきや量子化誤差のほか、上記のロール傾きの補正、擬似的な線速度の算出も、その要因となり得る。さらに、ポインタの操作容易性に関連する演算処理、例えば、手振れ補正や、速度ゲインの可変制御(入力装置をゆっくり操作したときにはさらにゆっくりポインタを移動させる処理など)、さらには、ポインタ移動可否スイッチの操作によってポインタの座標を固定することも、絶対座標からの逸脱の要因となり得る。
【0133】
そこで、本第4の実施形態に係る制御装置40は、角速度値に基づく座標と画像に基づく座標との差分が小さくなるように、角速度値を増大または縮小することによって、ポインタ座標の積分誤差を補正する。
【0134】
図18は本第4の実施形態に係るポインタ座標の積分誤差を補正する処理のフローチャートである。以下このフローチャートに従って本第4の実施形態に係るポインタ座標の積分誤差を補正する処理の詳細を説明する。
【0135】
ここで、ステップ601からステップ604まのでの動作は、第1の実施形態に係るDCオフセットの校正処理のステップ101からステップ104までの動作と同じである。
【0136】
ステップ605で、制御装置40のMPU35は、角速度値(ωψcor(t)、ωθcor(t))から速度値(Vx(t)、Vy(t))を算出する(ステップ605)。MPU35は、算出された速度値(Vx(t)、Vy(t))を用いて新たな座標値(X(t)、Y(t))を生成する(ステップ606)。
【0137】
次に、MPU35は、カメラ部51にて取得した画像からカメラ画角内での入力装置1の座標(Xi(t)、Yi(t))の検出を行う(ステップ607)。この後、MPU35は、座標値(X(t)、Y(t))と座標(Xi(t)、Yi(t))との差分(ΔX、ΔY)を求める(ステップ608)。
【0138】
MPU35は、この差分(ΔX、ΔY)の絶対値が所定値以上であるかどうかを判断する(ステップ609)。差分(ΔX、ΔY)の絶対値が所定値以上である場合(ステップ609のYES)、MPU35は、その差分(ΔX、ΔY)の絶対値に応じて、差分(ΔX、ΔY)が小さくなるように、速度値(Vx(t)、Vy(t))を増大または減少する(ステップ611)。この後、MPU35は、増大または減少した速度値を用いて新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ610 )。また、差分(ΔX、ΔY)の絶対値が所定値未満である場合には(ステップ609のNO)、MPU35は、速度値(Vx(t)、Vy(t))を用いて新たな座標値(X(t)、Y(t))を生成し、この座標値(X(t)、Y(t))にポインタ2が移動するように画面3の表示を制御する(ステップ610)。
【0139】
差分(ΔX、ΔY)の絶対値に応じて、その差分(ΔX、ΔY)が小さくなるように速度値(Vx(t)、Vy(t))を増大または減少する際、ポインタを絶対座標へ一挙に移動させるのではなく、絶対座標に徐々に近付けるように移動させることが、操作者の違和感を招きにくいという点でより好ましい。
【0140】
図19は本第4の実施形態に係る座標積分誤差の補正処理の画面上での具体的を示す図である。図19(A)は角速度値に基づく座標(X(t)、Y(t))と画像に基づく座標(Xi(t)、Yi(t))の差分(ΔX、ΔY)を示している。図19(B)はポインタの座標(X(t)、Y(t))の補正処理の様子を示す図であり、実線は角速度値に基づく座標(X(t)、Y(t))の軌跡、点線は画像に基づく座標(Xi(t)、Yi(t))の軌跡を示している。
【0141】
ポインタ座標の補正処理は、ポインタが絶対座標に徐々に近付いて行くように、例えば、補正前の速度値(Vx(t)、Vy(t))に応じて計算された補正量を補正前の速度値(Vx(t)、Vy(t))に加えることによって行われる。例えば、図19(B)において、制御装置40は、時刻t0で、補正前の速度値(Vx(t0)、Vy(t0))に応じて計算された補正量により速度値(Vx(t0)、Vy(t0))の補正を行う。また、制御装置40は、時刻t1で、補正前の速度値(Vx(t1)、Vy(t1))に応じて計算された補正量により速度値(Vx(t1)、Vy(t1))の補正を行う。以降、時刻t2、t3でも同様に補正が行われる。
【0142】
より具体的には、補正前の速度値(Vx(t)、Vy(t))が小さいほど補正も小さく行われるように補正量の計算が行われる。また、補正前の速度値(Vx(t)、Vy(t))が"0"である場合の補正量は"0"であってもよい。これにより、入力装置1の操作によるポインタの動きに伴って徐々に補正が行われ、操作者から見て違和感のない補正が可能になる。
【0143】
なお、本実施形態では、補正時のポインタの動きの不自然さが生じないように複数回に分けて徐々に補正を行うこととしたが、場合によっては、1回の補正で差分が"0"になるように補正を一挙に行うようにしてもよい。
【0144】
ポインタの位置を一挙に補正することが有効な場合として、UI画面の切り替えタイミングがある。制御装置40は、UI画面の切り替わりの直前にポインタを一旦消去し、UI画面が切り替わったところで絶対座標にポインタを出現させる。このようにUI画面の切り替わり時は絶対座標にポインタを急に出現させても操作者の違和感はさほど大きくなく、ポインタ座標の積分誤差を補正する機会としては好適である。
【0145】
なお、図18のフローチャートに示す一連の処理は、すべて入力装置1にて行うようにしてもよい。
【0146】
<変形例6:絶対座標系のシフト処理>
入力装置1には、ポインタの移動の可否を切り替えるためのポインタ移動可否ボタン(図2参照(ボタン11))が設けられている。今、操作者によるポインタ移動可否ボタンの操作によってポインタの移動の可否が"可"→"不可"→"可"の順に切り替えたとする。この場合、操作者にとっては"不可"の状態に切り替えられる直前と"不可"の状態から"可"の状態に切り替えられた直後でポインタは同じ座標にあることが操作上自然である。
【0147】
しかし、"不可"の状態のときも制御装置40では画像に基づく座標の検出が行われているため、操作者によって"不可"から"可"の状態に切り替えたとき、操作者の意図しない座標にポインタが移動している状況が発生し得る。
【0148】
そこで、本変形例6に係る制御装置40は、入力装置1より"不可"の状態に切り替えられたことの通知を受けた時点でのポインタの座標を画像に基づき検出して記憶する。制御装置40は、その後、入力装置1より"可"の状態に切り替えられたことの通知を受けたとき、カメラ部51によって捉えられた画像に基づき入力装置1の座標を検出する。そして制御装置40は、記憶していた座標と新たに検出された座標の差分を求め、この差分で、画像に基づく座標を検出する際の絶対座標空間の基準点をシフトする。
【0149】
これにより、ポインタ移動が"不可"の状態に切り替えられる直前と"不可"の状態から"可"の状態に切り替えられた直後でポインタの座標を一致させることができる。
【0150】
上記では、入力装置1のポインタ移動可否ボタンの操作によるポインタ移動可否状態の切り替えに伴って絶対座標空間における基準点のシフトを行うこととしたが、入力装置1に座標変更スイッチを設けて同様の処理が行われることとしてもよい。この場合、制御装置40は、入力装置1の座標変更スイッチの操作による1回目の座標変更指示に応じて、その時点でのポインタの座標を画像に基づき検出して記憶する。制御装置40は、入力装置1の座標変更スイッチの操作による2回目の座標変更指示を受けると、その時点でのポインタの座標を画像に基づき検出する。そして制御装置40は、1回目と2回目の2つのポインタの座標の差分を求め、絶対座標空間における基準点を上記差分だけずらした位置を絶対座標空間における新たな基準点とする。
【0151】
また、上記では、画像に基づく座標を検出する際の絶対座標空間の基準点をシフトすることとしたが、角速度センサによって検出された角速度値に基づく座標を検出する際の座標空間の基準点をシフトするようにしてもよい。この場合も、ポインタ移動が"不可"の状態に切り替えられる直前と"不可"の状態から"可"の状態に切り替えられた直後でポインタの座標を一致させることができる。
【0152】
<変形例7>
上記各実施形態で用いたイメージセンサの画角(死角)や分解能の限界などにより、入力装置1の発光部29の座標が検出されない場合が考えられる。この場合、イメージセンサの出力で角速度センサの出力に対する補正がかけられないことになる。
【0153】
そこで、上記の各実施形態および変形例で補正のために算出された値について、制御装置が最後に得られた値を定常的に保持するようにし、カメラ部より十分な画像が得られないときは、最後に得られた値で補正を行うこととしてもよい。あるいは、過去に得られた値から統計的に求められた値を暫定的に用いてもよい。
【0154】
また、カメラ部により得られた画像に基づく座標が得られる期間は、その画像に基づく座標を画面上のポインタの座標とし、カメラ部より画像が得られない期間は、角速度センサの出力に基づく座標をポインタの座標とすることとしてもよい。
【0155】
上記実施形態で説明した入力装置は、無線で入力情報を制御装置に送信する形態を示したが、有線により入力情報が送信されてもよい。
【0156】
本発明は、例えば、表示部を備えるハンドヘルド型の電子機器あるいは情報処理装置(ハンドヘルド装置)に適用されてもよい。すなわち、ハンドヘルド装置は、上記入力装置1と制御装置40とが一体となったような装置と考えることができる。この場合、操作者がハンドヘルド装置の本体を動かすことで、その表示部に表示された画面上のポインタが移動制御されたり、画面がスクロール制御されたり、ズーム制御されたりする。ハンドヘルド装置として、例えば、PDA(Personal Digital Assistance)、携帯電話機、携帯音楽プレイヤー、デジタルカメラ等が挙げられる。
【0157】
センサユニット17の、角速度センサユニット15及び加速度センサユニット16の検出軸は、上述のX’軸及びY’軸のように必ずしも互いに直交していなくてもよい。その場合、三角関数を用いた計算によって、互いに直交する軸方向に投影されたそれぞれの加速度が得られる。また同様に、三角関数を用いた計算によって、互いに直交する軸の周りのそれぞれの角速度を得ることができる。
【0158】
以上の各実施の形態で説明したセンサユニット17について、角速度センサユニット15のX’及びY’の検出軸と、加速度センサユニット16のX’及びY’軸の検出軸がそれぞれ一致している形態を説明した。しかし、それら各軸は、必ずしも一致していなくてもよい。例えば、角速度センサユニット15及び加速度センサユニット16が基板上に搭載される場合、角速度センサユニット15及び加速度センサユニット16の検出軸のそれぞれが一致しないように、角速度センサユニット15及び加速度センサユニット16がその基板の主面内で所定の回転角度だけずれて搭載されていてもよい。その場合、三角関数を用いた計算によって、各軸の加速度及び角速度を得ることができる。
【0159】
上記角速度センサユニット15の代わりとして、角度センサあるいは角加速度センサが用いられてもよい。角度センサとしては、地磁気センサまたはイメージセンサ等が挙げられる。例えば3軸地磁気センサが用いられる場合、角度値の変化量が検出されるので、その場合、角度値が微分演算されることで角速度値が得られる。角加速度センサは、複数の加速度センサの組み合わせにより構成され、角加速度センサにより得られる角加速度値が積分演算されることで、角速度値が得られる。
【0160】
以上説明した実施形態および変形例は、適宜組み合わせて使用することが可能である。
【符号の説明】
【0161】
1…入力装置
2…ポインタ
3…画面
5…表示装置
10…筺体
11…ボタン(切替手段)
15…角速度センサユニット
16…加速度センサユニット
17…センサユニット(動きセンサ)
18…メイン基板
19…MPU
21…送受信機
29…発光部
35…MPU(修正手段、座標基準変更手段)
38…送受信機
40…制御装置
51…カメラ部(位置センサ)
100…操作入力システム

【特許請求の範囲】
【請求項1】
筐体と、前記筐体内で前記筐体の動きを検出する動きセンサと有し、前記動きセンサの出力から所定空間内での前記筐体の位置を算出する操作入力システムであって、
前記所定空間内での前記筐体の位置を直接的に検出する位置センサと、
前記位置センサの出力を用いて前記動きセンサの出力を修正する修正手段と
を具備する操作入力システム。
【請求項2】
請求項1に記載の操作入力システムであって、
前記修正手段は、所定時間内での前記動きセンサの出力と前記所定時間内での前記位置センサの出力との関係をもとに前記動きセンサの出力を修正するための情報を算出する
操作入力システム。
【請求項3】
請求項2に記載の操作入力システムであって、
前記動きセンサは前記筐体の2次元以上の空間における動きを検出するものであり、
前記位置センサは前記筐体の2次元以上の空間における位置を直接的に検出するものであり、
前記修正手段は、前記動きセンサの出力をもとに得られる前記筐体の動きと、前記位置センサにより検出された前記筐体の位置の変化との関係をもとに、前記動きセンサの出力を修正するための情報を算出する
操作入力システム。
【請求項4】
請求項3に記載の操作入力システムであって、
前記動きセンサは、設定された基準電位に対する電位の変動を検出信号として出力するものであり、
前記修正手段は、前記基準電位の校正値を前記動きセンサの出力を修正するための情報として算出する
操作入力システム。
【請求項5】
請求項4に記載の操作入力システムであって、
前記修正手段は、前記動きセンサの出力の積分値と前記位置センサの出力の変位量との関係をもとに前記動きセンサの出力を修正するための情報を算出する
操作入力システム。
【請求項6】
請求項5に記載の操作入力システムであって、
前記修正手段は、前記位置センサの出力の変位量が所定値以下になったとき、前記動きセンサの出力の積分値をもとに前記動きセンサの出力を修正するための情報を算出する
操作入力システム。
【請求項7】
請求項6に記載の操作入力システムであって、
前記動きセンサは角速度センサであり、
前記位置センサはイメージセンサである
操作入力システム。
【請求項8】
請求項2に記載の操作入力システムであって、
前記動きセンサは前記筐体の2次元以上の空間における動きを検出するものであり、
前記位置センサは前記筐体の2次元以上の空間における位置を直接的に検出するものであり、
前記修正手段は、前記動きセンサの出力をもとに得られた前記筐体の動きの第1の軌跡と、前記位置センサにより検出された前記筐体の位置の変化の第2の軌跡との関係をもとに、前記動きセンサの出力を修正するための情報を算出する
操作入力システム。
【請求項9】
請求項8に記載の操作入力システムであって、
前記修正手段は、前記第1の軌跡と前記第2の軌跡との回転角度の差を前記動きセンサの出力を修正するための情報として算出する
操作入力システム。
【請求項10】
請求項2に記載の操作入力システムであって、
前記動きセンサは前記筐体の2次元以上の空間における動きを検出するものであり、
前記位置センサは前記筐体の2次元以上の空間における位置を直接的に検出するものであり、
前記修正手段は、前記動きセンサの出力をもとに算出された前記筐体の動きの第1の変位量と、前記位置センサにより検出された前記筐体の位置の第2の変位量との関係をもとに、前記動きセンサの出力を修正するための情報を算出する
操作入力システム。
【請求項11】
請求項10に記載の操作入力システムであって、
前記修正手段は、前記第1の変位量と前記第2の変位量との比率を前記動きセンサの出力を修正するための情報として算出する
操作入力システム。
【請求項12】
請求項2に記載の操作入力システムであって、
前記修正手段は、前記動きセンサの出力をもとに得られた前記筐体の第1の位置と、前記位置センサにより検出された前記筐体の第2の位置との関係をもとに、前記動きセンサの出力を修正するための情報を算出する
操作入力システム。
【請求項13】
請求項12に記載の操作入力システムであって、
前記修正手段は、前記第1の位置と前記第2の位置との差を前記動きセンサの出力を修正するための情報として算出する
操作入力システム。
【請求項14】
請求項13に記載の操作入力システムであって、
前記動きセンサの出力のオンオフを切り替える切替手段と、
前記切替手段による前記動きセンサの出力のオフ直前に算出された前記筐体の第1の位置と、前記切替手段による前記動きセンサの出力のオン直後に算出された前記筐体の第2の位置との差分により、前記位置センサの空間座標の基準もしくは前記動きセンサの空間座標の基準を変更する座標基準変更手段とをさらに具備する
操作入力システム。
【請求項15】
筐体と、前記筐体内で前記筐体の動きを検出する動きセンサと有する入力装置と、
前記所定空間内での前記筐体の位置を直接的に検出する位置センサと、
前記動きセンサの出力から前記所定空間内での前記筐体の位置を算出する制御装置とを具備し、
前記制御装置は、
前記位置センサの出力を用いて前記動きセンサの出力を修正する修正手段と
を具備する操作入力システム。
【請求項16】
筐体と、前記筐体の動きを検出する動きセンサとを有する入力装置から送信される、前記動きセンサの出力から所定空間内での前記筐体の位置を算出する制御装置であって、
前記所定空間内での前記筐体の位置を直接的に検出する位置センサの出力を用いて前記動きセンサの出力を修正する修正手段を具備する
制御装置。
【請求項17】
筐体と、
操作画面を表示する表示部と、
前記筐体の動きを検出する動きセンサと、
前記動きセンサの出力から所定空間内での前記筐体の位置を算出する算出手段と
前記所定空間内での前記筐体の位置を直接的に検出する位置センサと、
前記位置センサの出力を用いて前記動きセンサの出力を修正する修正手段と
を具備するハンドヘルド装置。
【請求項18】
入力装置に内蔵された動きセンサにより前記入力装置の動きを検出し、
位置センサにより、所定空間内での前記筐体の位置を直接的に検出し、
前記位置センサの出力を用いて前記動きセンサの出力を修正し、
前記動きセンサの出力から所定空間内での前記筐体の位置を算出する
操作入力方法。

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


【公開番号】特開2011−40003(P2011−40003A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−189486(P2009−189486)
【出願日】平成21年8月18日(2009.8.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】