(57)【要約】【課題】テーブル型ディスプレイを利用する際に、マウスの操作性方向を手動で設定する煩わしさをなくし、テーブルのどの周囲でも操作性を向上させることを可能とする情報処理システムを提供する。【解決手段】情報処理装置１と、情報処理装置１に対して入力を行うためのマウス３と、マウスによる情報処理装置に対する入力を行うためのマウスカーソルを表示するテーブル型のディスプレイ装置２と、から構成される情報処理システムにおいて、マウス３は、マウス３の回転量を検知する回転検知センサ４を備え、情報処理装置１は、回転検知センサ４により検知されたマウス３の回転量からマウス３の方向を算出し、マウス３の方向に従って、マウス３の移動に伴うディスプレイ装置２におけるマウスカーソルの移動位置を制御する制御手段を備えた。【選択図】図１
2009193472.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、該情報処理装置に対して入力を行うためのマウスと、該マウスによる前記情報処理装置に対する入力を行うためのマウスカーソルを表示するテーブル型のディスプレイ装置と、から構成される情報処理システムにおいて、
前記マウスは、当該マウスの回転量を検知する回転検知手段を備え、
前記情報処理装置は、前記回転検知手段により検知された前記マウスの回転量から前記マウスの方向を算出し、前記マウスの方向に従って、前記マウスの移動に伴う前記ディスプレイ装置における前記マウスカーソルの移動位置を制御する制御手段を備えたことを特徴とする情報処理システム。
【請求項２】
前記回転検知手段は、地磁気センサであって、検出した方位と初期値との差によって前記マウスの回転量を検知することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ディスプレイ装置に地磁気センサを更に備え、該ディスプレイ装置に備えた地磁気センサが検出した方位を前記マウスに備えた地磁気センサの初期値とすることを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記回転検知手段は、少なくとも二つの加速度センサから構成され、前記マウスが回転するときの各加速度センサが検知した移動量の差によって前記マウスの回転量を検知することを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記回転検知手段は、赤外線センサであって、前記ディスプレイ装置に備えた複数の発光器から発光される各赤外線に割り当てられた識別子と、該識別子に対応づけられた回転量に従って、前記マウスの回転量を検知することを特徴とる請求項１に記載の情報処理システム。
【請求項６】
前記回転検知手段は、超音波センサであることを特徴とする請求項１に記載の情報処理システム。
【請求項７】
前記回転検知手段は、ＲＦＩＤであることを特徴とする請求項１に記載の情報処理システム。
【請求項８】
前記情報処理装置は、前記回転検知手段を初期化するための初期化手段を前記テーブル型のディスプレイに表示することを特徴とする請求項２又は４に記載の情報処理システム。
【請求項９】
情報処理装置と、該情報処理装置に対して入力を行うためのマウスと、該マウスによる前記情報処理装置に対する入力を行うためのマウスカーソルを表示するテーブル型のディスプレイ装置と、により行う情報処理方法において、
回転検知手段が、前記マウスの回転量を検知するステップと、
前記情報処理装置は、前記マウスの方向の初期値と、前記回転検知手段により検知された前記マウスの回転量と、から前記マウスの方向を算出し、前記マウスの方向に従って、前記マウスの移動に伴う前記ディスプレイ装置における前記マウスカーソルの移動位置を制御するステップと、
から構成されることを特徴とする情報処理方法。
【請求項１０】
請求項９に記載の情報処理方法をコンピュータに実現させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブル型ディスプレイ、マウス、情報処理装置を備えてマウスの回転処理制御を行う情報処理システム、情報処理方法に関する。
【背景技術】
【０００２】
従来、テーブル型のディスプレイでマウスを使うには、ディスプレイに対して正方向のユーザ以外はマウスの動きと画面上のマウスカーソルの移動が一致せず、利用に負担がかかるという問題があった。
たとえば、ディスプレイの正方向に対して、反時計回りに９０度回転した位置にいるユーザがマウスを利用する場合、マウスを右に移動させるとカーソルはユーザに対して下の方へ移動し、マウスを上に動かすとカーソルはユーザに対して右へ移動してしまう。
この問題を解決するための技術として、特許文献１には、ディスプレイに表示されている画面の表示方向を変更させ、変更された表示方向に応じてポインティング手段の操作方向を制御するアプリケーションが開示されている。
また、特許文献２には、マウスの回転角度を算出してマウスが回転した角度だけ、ディスプレイのポインタが回転するようにすることが開示されている。
【特許文献１】特開２００３−２９６０３３公報
【特許文献２】特開２００４−７０８４３公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載された方法には、マウスの操作性方向を画面上に表示された設定画面上で設定することが開示されているものの、マウスの操作性方向を変更するためには、ユーザが画面上で設定する必要があった。
また、特許文献２に記載された方法では、ドラッグアンドドロップ編集を行っている際に、マウスに設けられた位置検出器でマウスの回転角度を算出し、算出された回転角度に応じて、マウスカーソル及びドラッグアンドドロップ編集の対象となっているオブジェクトを回転させて表示することが開示されているが、マウスの操作性方向そのものを変更することについては開示されていない。
本発明は、以上の事情を考慮してなされたものであり、テーブル型ディスプレイを利用する際に、マウスの操作性方向を手動で設定する煩わしさをなくし、テーブルのどの周囲でも操作性を向上させることを可能とする情報処理システムを提供するものである。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、請求項１に記載の発明は、情報処理装置と、該情報処理装置に対して入力を行うためのマウスと、該マウスによる前記情報処理装置に対する入力を行うためのマウスカーソルを表示するテーブル型のディスプレイ装置と、から構成される情報処理システムにおいて、前記マウスは、当該マウスの回転量を検知する回転検知手段を備え、前記情報処理装置は、前記回転検知手段により検知された前記マウスの回転量から前記マウスの方向を算出し、前記マウスの方向に従って、前記マウスの移動に伴う前記ディスプレイ装置における前記マウスカーソルの移動位置を制御する制御手段を備えたことを特徴とする。
また、請求項２に記載の発明は、前記回転検知手段は、地磁気センサであって、検出した方位と初期値との差によって前記マウスの回転量を検知する請求項１に記載の情報処理システムを特徴とする。
また、請求項３に記載の発明は、前記ディスプレイ装置に地磁気センサを更に備え、該ディスプレイ装置に備えた地磁気センサが検出した方位を前記マウスに備えた地磁気センサの初期値とする請求項２に記載の情報処理システムを特徴とする。
【０００５】
また、請求項４に記載の発明は、前記回転検知手段は、少なくとも二つの加速度センサから構成され、前記マウスが回転するときの各加速度センサが検知した移動量の差によって前記マウスの回転量を検知する請求項１に記載の情報処理システムを特徴とする。
また、請求項５に記載の発明は、前記回転検知手段は、赤外線センサであって、前記ディスプレイ装置に備えた複数の発光器から発光される各赤外線に割り当てられた識別子と、該識別子に対応づけられた回転量に従って、前記マウスの回転量を検知する請求項１に記載の情報処理システムを特徴とする。
また、請求項６に記載の発明は、前記回転検知手段は、超音波センサであることを特徴とする請求項１に記載の情報処理システムを特徴とする。
【０００６】
また、請求項７に記載の発明は、前記回転検知手段は、ＲＦＩＤである請求項１に記載の情報処理システムを特徴とする。
また、請求項８に記載の発明は、前記情報処理装置は、前記回転検知手段を初期化するための初期化手段を前記テーブル型のディスプレイに表示する請求項２又は４に記載の情報処理システムを特徴とする。
また、請求項９に記載の発明は、情報処理装置と、該情報処理装置に対して入力を行うためのマウスと、該マウスによる前記情報処理装置に対する入力を行うためのマウスカーソルを表示するテーブル型のディスプレイ装置と、により行う情報処理方法において、回転検知手段が、前記マウスの回転量を検知するステップと、前記情報処理装置は、前記マウスの方向の初期値と、前記回転検知手段により検知された前記マウスの回転量と、から前記マウスの方向を算出し、前記マウスの方向に従って、前記マウスの移動に伴う前記ディスプレイ装置における前記マウスカーソルの移動位置を制御するステップと、から構成されることを特徴とする。
【０００７】
また、請求項１０に記載の発明は、請求項９に記載の情報処理方法をコンピュータに実現させるためのプログラムを特徴とする。
また、請求項１１に記載の発明は、請求項１０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体を特徴とする。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
［第１の実施形態］
図１は、本発明のシステムの構成を示す概要図である。
図１に示すように、本発明のシステムは、主として情報処理装置１、テーブル型ディスプレイ２、マウス３から構成されている。
マウス３は、情報処理装置１に対する命令を入力するための入力手段であり、テーブル型ディスプレイ２には、情報処理装置１における処理結果が出力される。また、マウス３により命令を入力するためのマウスカーソルが表示される。
また、マウス３には、マウス３の回転量を検知するための回転検知センサ（回転検知手段）４を設けている。
テーブル型ディスプレイ２、マウス３及びマウス３に設けた回転検知センサ４はそれぞれ情報処理装置１に接続されている。接続の形態は、有線、無線であることを問わず、それぞれの信号がお互いに伝達できる形態であればよい。
また、回転検知センサ４は、マウスの回転量を検知できるものであれば種類を問わず利用可能である。例えば、後述する地磁気センサ、加速度センサ、赤外線センサ等が利用可能であるが、これらに限定されるものではない。
【０００９】
図２は、図１における情報処理装置１の構成を示す機能ブロック図である。
図２を用いて情報処理装置１の構成を詳細に説明する。
情報処理装置１は、ＣＰＵ（Central Processing Unit）１０、ＲＡＭ（Random Access Memory）１１、ＨＤＤ（Hard Disk Drive）１２、ディスプレイコントローラ１３、マウスコントローラ１４、センサコントローラ１５から構成されている。
ＣＰＵ１０は情報処理装置１全体を制御するものであり、ＲＡＭ１１に展開されたプログラムに従って動作する。ＲＡＭ１１は情報処理装置１の主記憶であり、各種プログラムおよび各種データを展開・保持する。ＨＤＤ１２は情報処理装置１の外部記憶であり、情報処理装置１を動作させるための各種プログラムおよび各種データを大量に格納する。ディスプレイコントローラ１３は図１に示したテーブル型ディスプレイ（以下、単にディスプレイとする）２に接続され、ＣＰＵ１０の動作結果として出力される画像データのディスプレイ２への表示を制御している。
また、マウスコントローラ１４はマウス３に接続され、マウス３から送られる信号を制御し、マウス操作による信号を受信してＣＰＵ１０に伝達する。
さらに、センサコントローラ１５は回転検知センサ４に接続され、回転検知センサ４から送られる信号を制御し、回転検知センサ４の動作によるマウスの回転動作（回転量）に係る信号を受信してＣＰＵ１０に伝達している。
【００１０】
図３は、情報処理装置１を動作させるためのソフトウェアの構成を示す図である。
ソフトウェアは基本ソフトの制御下に、マウスデバイスドライバ２１、センサデバイスドライバ２２、マウスコントロール２３、ディスプレイコントロールドライバ２４から構成され、これらは図２に示すＨＤＤ１２からＲＭＡ１１に展開されてＣＰＵ１０により実行されるものである。
マウスデバイスドライバ２１は、図２のマウスコントローラ１４を介してマウス３を制御するものであり、マウス操作信号（マウスの移動量等）を取得する。
センサデバイスドライバ２２は、回転検知センサ４を制御するものであり、回転検知センサ４の動作信号を取得し、所定の設定値を元に、マウスの回転量を示す回転検知センサ４の値とマウスデバイスドライバ２１から送られた移動量を示すマウス操作信号とを演算する。
マウスコントロール２３は、現在のマウスカーソル（以下、カーソルとする）の位置情報を保持し、また、センサデバイスドライバ２２から受け取った演算結果を元にカーソルを動かす方向を制御する。
【００１１】
ディスプレイコントロールドライバ２４は映像を生成し、図１のディスプレイコントローラを介してディスプレイ２への出力を制御する。
各種アプリケーション２５は、文書作成ソフトやインターネット閲覧ソフトなど、ユーザが任意に利用するアプリケーションである。
前述したように、本発明はテーブル型ディスプレイを囲んだ複数のユーザで１つのマウスを用いる場合、ディスプレイに対して正方向のユーザ以外はマウスの動きと画面上のカーソルの移動が一致しないという問題を解決するものである。テーブル型ディスプレイを囲んで複数のユーザでマウスを使う場合、一人のユーザから他のユーザにマウスを渡すことになるが、本発明においては、ユーザ間でマウスを渡す際のマウスの回転量を回転検知センサ４により取得して、得られた情報を基にマウスカーソルの移動方向を制御して上記問題を解決している。
【００１２】
本発明における処理を以下にさらに詳しく説明する。
図４は、ディスプレイ２と、それを囲むユーザＡ、Ｂ、Ｃ、Ｄ、及びマウス３との位置関係を示す図である。
図４において、ユーザＡは、ディスプレイ２に対して正方向に位置するユーザ、ユーザＢは、ディスプレイ２に対して反時計回りに９０度に位置するユーザ、ユーザＣは、反時計回りに１８０度に位置するユーザ、ユーザＤは、反時計回りに２７０度に位置するユーザである。
【００１３】
図５はディスプレイ２のスクリーンの詳細を説明する図である。
図５に示すように、ディスプレイ２は、解像度が例えばｘ軸方向へ１０２４ｐｉｘｅｌ、ｙ軸方向へ７６８ｐｉｘｅｌあるスクリーンを備えている。スクリーン座標はディスプレイを正方向で見たときに左上が原点（０，０）となり、ｘ軸方向右に行くに従いｘの値が増える。同じように、ｙ軸方向下に行くに従いｙの値が増えるようになっている。また、ディスプレイ２には、カーソル（ポインタ）Ｃｕｒが表示されている。
【００１４】
図４に戻って、正方向の位置（ユーザＡの位置）でマウスを使いやすい角度である方向を基準方向（０度）と呼ぶ。この「基準方向」は、ＲＡＭ１１に展開されている、マウスの方向や移動量、スクリーン上のポインタ座標を格納するためのテーブルに予め設定されているものとする。
まず、（１）ユーザＡからユーザＢにマウスが渡されたとする。マウスが渡されることで、マウスの回転検知センサ４がマウスの回転量の絶対値を検知する。なお、センサによっては相対値となるが、その場合は、上記したテーブルに元の方向を示す値の行を増やし、この値と相対値とを加算することで絶対値と同じ値を得ることができる。
図２に示すセンサデバイスドライバ２２は、検知された値を角度値に変換する。ここでマウス３の回転角度は９０度であるとする。
センサデバイスドライバ２２は、変換された回転角度からマウスの方向を取得し、テーブルの値を更新する。センサの回転角度は９０度であったので、回転角度９０度から基準方向０度を減算することでマウスの現在方向が９０度であると求められ、テーブルの「現在方向」の値が更新される。
【００１５】
次に、マウスカーソルＣｕｒの現在のスクリーン座標（ポインタ座標）（ｘ，ｙ）を取得し、前記テーブルの「現在ポインタ座標ｘ」と「現在ポインタ座標ｙ」の値を更新する。ここでは、例えば「現在ポインタ座標ｘ」が「２００」、「現在ポインタ座標ｙ」が「１００」であるとする。
次に、ユーザＢが受け取ったマウス３を動かして使用した時に、マウスデバイスドライバ２１がマウスの移動量を取得する。ここで移動量は、ｘ軸方向に２、ｙ軸方向に０であるとし、テーブルの「マウス移動量ｘ」と「マウス移動量ｙ」がそれぞれ更新される。
続いて、求められたマウスの現在方向と移動量に応じた、スクリーン上のカーソルＣｕｒの移動を実行する処理を行う。
まず、センサデバイスドライバ２２は、マウスの現在方向と移動量に応じたカーソルＣｕｒのスクリーン上のｘ軸、ｙ軸方向の移動量を以下の式１によって求める。
（式１）
Ｘ＝ｘ＊ｃｏｓθ−ｙ＊ｓｉｎθ
Ｙ＝ｘ＊ｓｉｎθ−ｙ＊ｃｏｓθ
ただし、Ｘは期待されるカーソルのｘ軸移動量
Ｙは期待されるカーソルのｙ軸移動量
ｘはマウス移動量のｘ軸の値
ｙはマウス移動量のｙ軸の値
θは（正方向に対するマウスの回転角度）＊π／１８０
である。
【００１６】
なお、式１はｙ軸の方向が反対のため、図５に示す本実施形態で用いるディスプレイ２のスクリーン座標に変換するために、マイナスをかけて加算する必要がある。
続いて、センサデバイスドライバ２２は、テーブルに格納されている現在ポインタ座標にカーソルＣｕｒの移動量を加算することで、移動先のスクリーン座標を求める。例えば、式１に、テーブルに保存されている「現在方向」と「マウス移動量ｘ」と「マウス移動量ｙ」の値を代入すると、カーソルＣｕｒの移動量は、ｘ方向に「０」、ｙ方向に「２」であることがわかる。そこで、テーブルの「現在ポインタ座標ｘ」の値と「現在ポインタ座標ｙ」の値にそれぞれ加算して得られた（２００，１０２）の座標を、カーソルＣｕｒを移動する座標とする。
そして、マウスコントロール２３が、カーソルＣｕｒを得られた座標位置に移動させる。
【００１７】
図６は、以上の処理により更新されたテーブルの値を示す図であり、基準方向、現在方向、現在ポインタ座標（ｘ，ｙ）、マウス移動量（ｘ，ｙ）は、図６に示す値に書き換えられている。
さらに、マウス３が別のユーザに渡された場合の処理について説明する。
この場合、再度回転検知センサ４によりマウス３の回転量を検知する処理を行う。例えば、今度は、（２）ユーザＢからユーザＤにマウスが渡されたとする（図４を参照）。マウス３が渡されることで、マウスの回転検知センサ４がマウス３の回転量を検知する。検知された回転量は、センサデバイスドライバ２２によって角度値に変換される。ここで回転角度は２７０度であるとする。
次に、変換した回転角度からマウス３の方向を取得する。センサの回転角度は２７０度であったので、回転量２７０度から基準方向０度を減算することで現在方向が２７０度であると求められ、図６に示したテーブルの「現在方向」の値が更に更新される。
次に、カーソルＣｕｒの現在の座標（ｘ，ｙ）を取得し、テーブルの「現在ポインタ座標ｘ」と「現在ポインタ座標ｙ」の値を更新する。ここでは、例えば「現在ポインタ座標ｘ」が「２００」、「現在ポインタ座標ｙ」が「１０２」であるとする。
さらに、マウス３を受け取ったユーザＤがマウスを動かして使用すると、マウスデバイスドライバ２１は、マウス３の移動量を取得する。ここで移動量は、ｘ軸方向に０、ｙ軸方向に２であるとする。この値で、テーブルの「マウス移動量ｘ」と「マウス移動量ｙ」がそれぞれ更新される。
【００１８】
ついで、センサデバイスドライバ２２は、取得されたマウスの現在方向と移動量の値を上述の式１に代入してカーソル移動量を算出する。例えば、テーブルに保存されている、「現在方向」と「マウス移動量ｘ」と「マウス移動量ｙ」の値を式１に代入すると、カーソルＣｕｒの移動量は、ｘ方向に「２」、ｙ方向に「０」であることがわかる。そこで、テーブルの「現在ポインタ座標ｘ」の値と「現在ポインタ座標ｙ」の値に、それぞれ加算する。
マウスコントロール２３は、その結果得られた、（２０２，１０２）の座標に、を使ってカーソルＣｕｒを移動させる。
このように、ディスプレイ２に対するユーザの位置を反映するマウスの回転量に基づいてカーソルＣｕｒの移動座標を演算することにより、正方向に位置しないユーザも不自由なくマウスを利用することが可能となる。
図７は、以上の処理によって更新されたテーブルを示す図であり、現在方向、現在ポインタ座標（ｘ，ｙ）、マウス移動量（ｘ，ｙ）は、図７に示すように書き換えられていることがわかる。
【００１９】
図８は、ディスプレイ２に対するユーザの位置と本発明の制御によるマウスカーソルの移動方向を説明する図である。
図８において、ユーザＡ、Ｂ、Ｃ、Ｄがテーブル型ディスプレイ２を囲んでいる。また、テーブル型ディスプレイ２上にはカーソルＣｕｒが表示されている。
図８に示すように、ユーザＡがマウス３を使用する場合、ユーザＡはディスプレイ２に対して正方向に位置するため、マウス３を自分からみて前に動かせばカーソルＣｕｒはディスプレイ２内を上に動くことが期待され、また、マウス３を右に動かせばカーソルＣｕｒはディスプレイ２内を右に動くことが期待され、マウス３を後ろに動かせばカーソルＣｕｒはディスプレイ２内を下に動くことが期待され、さらに、マウス３を左に動かせばカーソルＣｕｒはディスプレイ２内を左に動くことが期待される。
また、ユーザＢがマウスを使用する場合、ユーザＢがマウス３を自分からみて前に動かせばカーソルＣｕｒはディスプレイ２内を左に動くことが期待され、マウス３を右に動かせばカーソルＣｕｒはディスプレイ２内を上に動くことが期待され、マウス３を後ろに動かせばカーソルＣｕｒはディスプレイ２内を右に動くことが期待され、マウス３を左に動かせばカーソルＣｕｒはディスプレイ２内を下に動くことが期待される。
また、ユーザＣがマウス３を使用する場合、マウス３を自分からみて前に動かせばカーソルＣｕｒはディスプレイ２内を下に動くことが期待され、マウス３を右に動かせばカーソルＣｕｒはディスプレイ２内を左に動くことが期待され、マウスを後ろに動かせばカーソルはディスプレイ２内を上に動くことが期待され、マウスを左に動かせばカーソルはディスプレイ２内を右に動くことが期待される。
ユーザＤがマウス３を使用する場合、マウス３を自分からみて前に動かせばカーソルＣｕｒはディスプレイ２内を右に動くことが期待され、マウス３を右に動かせばカーソルＣｕｒはディスプレイ２内を下に動くことが期待され、マウス３を後ろに動かせばカーソルＣｕｒはディスプレイ２内を左に動くことが期待され、マウス３を左に動かせばカーソルＣｕｒはディスプレイ２内を上に動くことが期待される。
図９は、本発明におけるマウス制御の処理の流れを示すフローチャートである。
まず、センサデバイスドライバ２２により、マウス３の現在方向の取得とテーブルの更新を行う（Ｓ１）。次に、ポインタのスクリーン座標の取得とテーブルの更新を行う（Ｓ２）。続いて、マウスデバイスドライバ２１によりマウス３の移動量の検知とテーブルの更新を行う（Ｓ３）。これらの処理を行ったのち、センサデバイスドライバ２２によるマウス３の現在方向と移動量に応じた演算と、マウスコントロール２３によるカーソルの移動を行う（Ｓ４）。
【００２０】
［第２の実施形態］
次に、マウスの回転量を検知するために地磁気センサを利用する場合について説明する。なお、マウスの回転量を取得する以外の処理は、実施の形態１と変わらないため、説明を省略する。
図１０は、地磁気センサを備えたマウスの構成を示す図である。
本実施形態のマウス３０はケース３１内に、ボタン３３、ｘ軸とｙ軸の移動検知センサ３４を、ケース外には移動情報を情報処理装置１に伝えるための、信号ケーブル３２を一般的に備える。さらに、ケース３１内には、マウスの回転量を検知するための地磁気センサ３５を備えている。なお、図１０において信号ケーブル３２を備えているが、マウスと情報処理装置との接続は、有線である必要はなく、無線による、ケーブルを用いない方式でも良いことは言うまでもない。
図１１は、第２の実施形態における情報処理装置１の構成を示す図である。ここで、図２に示す第１の実施形態と同じ要素には同一の符号を付して説明を省略している。
図１１においては、第１の実施形態（図２）と異なり、センサコントローラ１５は地磁気センサ３５に接続されている。
地磁気は、よく知られているように、地球が持つ磁気であり、北極部にＳ極、南極部にＮ極に相当する磁極がある。この地磁気と地磁気センサの角度により地磁気センサ３５内部の抵抗値などが変化し、地磁気センサ３５の向いている方向を検知できる。検知した値は方位３６０度の整数値などで出力される。
また、本実施形態においては、情報処理装置１に備えたＲＡＭ１１には地磁気センサ３５の初期値とセンサの値から、ディスプレイ２の正方向に対して、地磁気センサ３５がどの方向を向いているか演算するための演算プログラムが保持されている。このプログラム４０はＨＤＤ１２に保持されており、必要に応じてＲＡＭ１１にロードされる。また、ＨＤＤ１２には、地磁気センサ３５の初期値を取得してＲＡＭ１１に格納するプログラム（初期化手段）４０を格納している。また、一度取得した初期値をＨＤＤ１２に格納して、必要に応じてＲＡＭ１１にロードするようにしてもよい。このようにすれば、その都度地磁気センサ３５の初期値を取得する必要はなくなる。
【００２１】
図１２は、地磁気センサ３５の初期値を取得するプログラム４０の外観を示す図である。
ディスプレイ２に対し、正方向でマウス３０を利用できる向きで、設定ボタン４１を押すことにより、地磁気センサ３５の初期値を取得できる。
図１３は、地磁気センサの初期値を取得する処理の流れを示すフローチャートである。
まず、プログラム４０をＲＡＭ１１へロードする（Ｓ１１）。プログラム４０の設定ボタン２６が押されると（Ｓ１２）、プログラムは４０はセンサコントローラ１５を通してセンサ値を取得する（Ｓ１３）。取得したセンサ値をＨＤＤ１２の所定の位置に保存する（Ｓ１４）。
図１４は、第２の実施形態における処理の流れを説明するフローチャートである。
まず、演算プログラムをＲＡＭへロードする（Ｓ２１）。次いで、演算プログラムは現在方向の取得とテーブルの更新を行う（Ｓ２２）。次に、ポインタのスクリーン座標の取得とテーブルの更新を行う（Ｓ２３）。続いて、マウスデバイスドライバ２１（図３）がマウスの移動量の検知とテーブルの更新を行う（Ｓ２４）。これらの処理を行ったのち、センサデバイスドライバ２２による現在方向とマウスの移動量に応じた式１の演算と、マウスコントロール２３によるカーソルの移動を行う（Ｓ２５）。
図１５は、図８のマウス３０の変形例を示す図である。
図１５おいて、マウス５０は地磁気センサ初期化ボタン３７とＲＡＭ３６をマウスに備えている。
初期化ボタン３７を押した時の地磁気センサ値をマウス内のＲＡＭ３６に保持し、補正値とする構成としても良い。
【００２２】
［第３の実施形態］
また、第２の実施形態における地磁気センサをテーブル型ディスプレイにも備えることで、初期化（地磁気センサの初期値の取得）を不要とすることが出来る。なお、地磁気センサの初期化以外については第２の実施形態と同一であるため説明を省略する。
図１６は、ディスプレイにも地磁気センサを備えるシステムの構成を示す図である。
図１６に示すように、本実施形態のテーブル型ディスプレイ６０には、地磁気センサ６１は設けられている。マウス３０は第２の実施形態と同様である。
図１７は、第３の実施形態の情報処理装置の構成を示す図である。
図１７において、第２の実施形態（図９）と異なる点は、センサコントローラ１５が、マウス３０側の地磁気センサ３５、ディスプレイ６０側の地磁気センサ６１の二つに接続されている点である。
ＲＡＭ１１には地磁気センサ３５と地磁気センサ６１の値から、ディスプレイ６０の正方向に対して、センサがどの方向を向いているか演算するためのプログラムが保持されている。このプログラムはＨＤＤ１２に保持されており、必要なときにＲＡＭ１１にロードされる。なお、第２の実施の形態と異なり、ＨＤＤ１２には、地磁気センサの初期値は保持されていない。
図１８は、第３の実施形態における処理の流れを説明するフローチャートである。
まず、演算プログラムをＲＡＭ１１へロードする（Ｓ３１）。演算プログラムはディスプレイ側の地磁気センサ６１からセンサ値を、センサコントローラ１５を通して取得する（Ｓ３２）。同じくセンサコントローラ１５を通してマウス側の地磁気センサ３５のセンサ値を取得する（Ｓ３３）。地磁気センサ３５のセンサ値と地磁気センサ６１のセンサ値を演算することで、マウス３０の回転値を取得する（Ｓ３４）。演算プログラムは現在方向の取得とテーブルの更新を行う（Ｓ３５）。次に、ポインタのスクリーン座標の取得とテーブルの更新をする（Ｓ３６）。続いて、マウスデバイスドライバ２１によるマウスの移動量の検知とテーブルの更新をする（Ｓ３７）。これらの処理を行ったのち、現在方向とマウスの移動量に応じた式１に基づく演算と、マウスコントロール２３によるカーソルの移動を行う（Ｓ３８）。
【００２３】
［第４の実施形態］
次に、マウスの回転量を検知するために加速度センサを用いる場合について説明する。
なお、回転量を取得する手段及びマウスの移動量を取得する手段以外は第１の実施形態と同じであるため説明を省略する。
図１９は加速度センサを備えたマウスの構成を示す図である。
図１９におけるマウス７０はケース３１内に、ボタン３３を、ケース３１外には移動情報を備えている。なお、図１９において信号ケーブル３２を備えているが、マウスと情報処理装置との接続は、有線である必要はなく、無線による、ケーブルを用いない方式でも良いことは言うまでもない。ケース内の加速度センサは７１（７１−Ａ、７１−Ｂ）は、それぞれ回転検知センサおよびマウスのｘ軸ｙ軸移動検知センサとして動作する。なお、加速度センサは２軸以上である。
図２０は加速度センサを備える情報処理装置の構成を示す図である。
図２の情報処理装置との違いは、センサコントローラ１５が加速度センサ７１に接続されていることである。加速度センサは、ばねに取り付けた重りが変位する量を測り、重りにかかる加速度を推定するセンサである。変位により、センサがどの程度移動したかを検知できる。
マウスコントローラはマウスに備えられているボタン３３のＯｎ／Ｏｆｆを制御している。ＲＡＭ１１には加速度センサ７１から値を取得し、マウス７０の移動量を推定するプログラムが保持されている。このプログラムはＨＤＤ１２に保持されており、必要なときにＲＡＭ１１にロードされる。また、マウス方向もＲＡＭに保持している。また、マウス方向をリセット（初期化）するプログラムもＨＤＤに保持しており、必要なときにＲＡＭにロードする。
図２１は加速度センサからマウスの回転量と移動量を求める方法を示す図であり、（ａ）は、マウスを横に平行移動させた場合を示す図、（ｂ）は、マウスを縦に平行移動させた場合を示す図、（ｃ）は、マウスを回転させつつ移動させた場合を示す図である。
（ａ）に示すように、マウスを横に平行移動させた場合には、加速度センサＡと加速度センサＢのｘ軸に対する移動量は同一である。また、（ｂ）に示すように、マウスを縦に平行移動させた場合には、加速度センサＡと加速度センサＢのｙ軸に対する移動量は同一である。他方、（ｃ）に示すように、回転を伴う移動の場合には、加速度センサＡと加速度センサＢのｘ軸およびｙ軸の移動量に変化が生じる。この差が回転量となる。
図２２は、第４の実施形態における処理の流れを説明するフローチャートである。
まず、演算プログラムをＲＡＭ１１へロードする（Ｓ４１）。演算プログラムはＲＡＭ１１からマウスの方向を取得する（Ｓ４２）。続いて、センサコントローラを１５を通して加速度センサ７１のセンサ値を取得し（Ｓ４３）、マウスの回転値と移動値を演算する（Ｓ４４）。また、回転値を、ＲＡＭ１１から読み出したマウス方向と演算する（Ｓ４５）。演算したマウス方向をＲＡＭ１１に保存する（Ｓ４６）。演算プログラムは現在方向の取得とテーブルの更新を行う（Ｓ４７）。次に、ポインタのスクリーン座標の取得とテーブルの更新をする（Ｓ４８）。続いて、マウスデバイスドライバによるマウスの移動量の検知とテーブルの更新をする（Ｓ４９）。
これらの処理を行ったのち、センサデバイスドライバ２２による現在方向とマウスの移動量に応じた式１に基づく演算とマウスコントロール２３によるカーソルの移動を行う（Ｓ５０）。
図２３はマウス方向をリセットするプログラムの外観を示す図である。ディスプレイに対し、正方向でマウスを利用できる向きで、設定ボタンを押すことにより、マウス方向をリセットする。
図２４はマウス方向をリセットする処理の流れを説明するフローチャートである。まず、マウス方向リセットプログラムをＲＡＭへロードする。マウス方向リセットプログラムの「設定」ボタンが押されると、マウス方向リセットプログラムはマウス方向を０度にする。
図２５は、加速度センサを備えるマウスの変形例を示す図である。
図２５に示すように、マウス９０内に、マウス方向リセットボタン９２、ＣＰＵ９１、ＲＡＭ９３を備え、マウス方向リセットボタン９２を押すと方向をリセットし、加速度センサ７１−Ａ、７１−Ｂからの値をマウス内のＣＰＵ９１で演算し、ＲＡＭ９３に保持したマウス方向とセンサ値からマウス方向を推定し、回転量、移動量をマウス内で処理し、情報処理装置１へ送る構成としても良い。
【００２４】
［第５の実施形態］
次に、マウスの回転量を検知するために指向性のある赤外線、ＲＦＩＤ、超音波を用いたセンサを利用する場合について説明する。
ここでは、赤外線センサを利用したセンサについて説明する。なお、マウスの回転量を取得する手段以外は第１の実施形態と変わらないため説明を省略する。
図２６は、赤外線センサを利用するシステム構成図を示す図である。図１と異なるのは、テーブル型ディスプレイの周囲に赤外線発光器１０１を備え、マウス１１０に赤外線受光器１１１を備えることである。これが、本実施の形態の特徴となっている。
図２７は赤外線センサを利用するマウスの構成図を示す図である。
マウスはケース３１内に、ボタン３３、ｘ軸とｙ軸の移動検知センサ３４を、ケース外には移動情報を情報処理装置１に伝えるための、信号ケーブル３２を一般的に備える。なお、図２７において信号ケーブル３２を備えているが、マウスと情報処理装置との接続は、有線である必要はなく、無線による、ケーブルを用いない方式でも良いことは言うまでもない。ケース内に回転検知用に赤外線受光器を備えるのが本実施形態の特徴である。
図２８は赤外線センサを備える情報処理装置の構成を示す図である。
図２の情報処理装置との違いは、センサコントローラ１５が赤外線センサ（赤外線受光器）１１１と接続されていることである。
赤外線発光器１０１は、それぞれが固有のＩＤに従ったタイミングで発光している。赤外線受光器１１１は、受光した赤外線の固有のタイミングから、ＩＤを割り出す。ＨＤＤ１２にマウス方向対応付け情報が保持されており、対応付けプログラムが適宜ＲＡＭ１１に読み出して利用する。対応付けプログラムはＨＤＤ１２に保持されており、必要に応じてロードする。
図２９は、マウス方向の対応付け情報を示す図であり、赤外線発光器１０１のＩＤとそれに対応するマウスの方向が記載されている。
図３０は、第５の実施形態の処理を説明するフローチャートである。
まず、対応付けプログラムをＲＡＭへロードする（Ｓ６１）。対応付けプログラムはＨＤＤ１２からマウス方向対応付け情報を取得する（Ｓ６２）。続いて、センサコントローラ１５を通してＩＤ情報を取得する（Ｓ６３）。ＩＤ情報を元に、マウス方向対応付け情報からマウス方向を読み出す（Ｓ６４）。演算プログラムは現在方向の取得とテーブルの更新を行う（Ｓ６５）。次に、ポインタのスクリーン座標の取得とテーブルの更新をする（Ｓ６６）。続いて、マウスデバイスドライバ２１によりマウスの移動量の検知とテーブルの更新をする（Ｓ６７）。これらの処理を行ったのち、センサデバイスドライバ２２による現在方向とマウスの移動量に応じた式１に基づく演算と、マウスコントロール２３によるカーソルの移動を行う（Ｓ６８）。
【図面の簡単な説明】
【００２５】
【図１】本発明のシステムの構成を示す概要図。
【図２】図１における情報処理装置の構成を示す機能ブロック図。
【図３】情報処理装置１を動作させるためのソフトウェアの構成を示す図。
【図４】ディスプレイと、それを囲むユーザ及びマウスとの位置関係を示す図。
【図５】ディスプレイのスクリーンの詳細を説明する図。
【図６】更新されたテーブルの値を示す図（その１）。
【図７】更新されたテーブルの値を示す図（その２）。
【図８】ディスプレイに対するユーザの位置と本発明の制御によるマウスカーソルの移動方向を説明する図。
【図９】本発明におけるマウス制御の処理の流れを示すフローチャート。
【図１０】地磁気センサを備えたマウスの構成を示す図。
【図１１】第２の実施形態における情報処理装置の構成を示す図。
【図１２】地磁気センサの初期値を取得するプログラムの外観を示す図。
【図１３】地磁気センサの初期値を取得する処理の流れを示すフローチャート。
【図１４】第２の実施形態における処理の流れを説明するフローチャート。
【図１５】図８のマウスの変形例を示す図。
【図１６】ディスプレイにも地磁気センサを備えるシステムの構成を示す図。
【図１７】第３の実施形態の情報処理装置の構成を示す図。
【図１８】第３の実施形態における処理の流れを説明するフローチャート。
【図１９】加速度センサを備えたマウスの構成を示す図。
【図２０】加速度センサを備える情報処理装置の構成を示す図。
【図２１】加速度センサから回転値と移動値を求める方法を示す図。
【図２２】第４の実施形態における処理の流れを説明するフローチャート。
【図２３】マウス方向をリセットするプログラムの外観を示す図。
【図２４】マウス方向をリセットする処理の流れを説明するフローチャート。
【図２５】加速度センサを備えるマウスの変形例を示す図。
【図２６】赤外線センサを利用するシステム構成図。
【図２７】赤外線センサを利用するマウスの構成図を示す図。
【図２８】赤外線センサを備える情報処理装置の構成を示す図。
【図２９】マウス方向の対応付け情報を示す図。
【図３０】第５の実施形態の処理を説明するフローチャート。
【符号の説明】
【００２６】
１  情報処理装置、２  テーブル型ディスプレイ、３  マウス、４  回転検知センサ、１０  ＣＰＵ、１１  ＲＡＭ、１２  ＨＤＤ、１３  ディスプレイコントローラ、１４  マウスコントローラ、１５  センサコントローラ、２１  マウスデバイスドライバ、２２  センサデバイスドライバ、２３  マウスコントロール、２４  ディスプレイコントロールドライバ、２５  各種アプリケーション、２６  設定ボタン、３０  マウス、３１  ケース、３２  信号ケーブル、３３  ボタン、３４  移動検知センサ、３５  地磁気センサ、３６  ＲＡＭ、３７  地磁気センサ初期化ボタン、４０  プログラム、５０  マウス、６０  テーブル型ディスプレイ、６１  地磁気センサ、７０  マウス、７１  加速度センサ、１０１  赤外線発光器、１１０  マウス、１１１  赤外線受光器
【図１】
2009193472.tif 000003
【図２】
2009193472.tif 000004
【図３】
2009193472.tif 000005
【図４】
2009193472.tif 000006
【図５】
2009193472.tif 000007
【図６】
2009193472.tif 000008
【図７】
2009193472.tif 000009
【図８】
2009193472.tif 000010
【図９】
2009193472.tif 000011
【図１０】
2009193472.tif 000012
【図１１】
2009193472.tif 000013
【図１２】
2009193472.tif 000014
【図１３】
2009193472.tif 000015
【図１４】
2009193472.tif 000016
【図１５】
2009193472.tif 000017
【図１６】
2009193472.tif 000018
【図１７】
2009193472.tif 000019
【図１８】
2009193472.tif 000020
【図１９】
2009193472.tif 000021
【図２０】
2009193472.tif 000022
【図２１】
2009193472.tif 000023
【図２２】
2009193472.tif 000024
【図２３】
2009193472.tif 000025
【図２４】
2009193472.tif 000026
【図２５】
2009193472.tif 000027
【図２６】
2009193472.tif 000028
【図２７】
2009193472.tif 000029
【図２８】
2009193472.tif 000030
【図２９】
2009193472.tif 000031
【図３０】
2009193472.tif 000032