説明

データ処理装置およびデータ処理システム

【課題】 ポインティングデバイスのぶれに起因する誤った選択を確実に防止する。
【解決手段】 データ処理システム(例えばメニュー選択システム)に使用されるデータ処理装置200は、カーソル位置検出部212と、カーソルを表示する表示制御部216と、スイッチ操作信号検出部214と、カーソル位置検出部212から出力されるカーソル位置情報を、所定の時間にわたって記憶するカーソル位置記憶部220と、操作スイッチSWのターンオンが検出される第1の時点に対応する第1のカーソル位置情報と、操作スイッチSWのターンオフが検出される第2の時点に対応する第2のカーソル位置情報とを比較し、第1のカーソル位置情報に基づく第1の選択結果と、第2のカーソル位置情報に基づく第2の選択結果とが同じであるか否かを検出するカーソル位置比較部254と、一致が検出された場合にのみ実行イベントを生成するイベント生成部224と、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置およびデータ処理システム等に関する。
【背景技術】
【0002】
近年、空間中における本体(筐体)の動き(本体の姿勢(回転、傾きを含む)、本体の移動(並進移動を含む)の少なくとも一つを含む)に応じた物理量信号を生成して出力する、ポインティングデバイス(3次元マウス等)を用いたシステムのニーズが高まっている。
【0003】
3次元の空間内で携帯型機器を動かすことにより、画像表示装置上でカーソルポインタを移動させ、ボタンにより操作を行う機器(3次元マウス)を用いた技術は、例えば、下記の特許文献1,特許文献2に記載されている。
【特許文献1】特開平7−284166
【特許文献2】特開2008−135075
【発明の開示】
【発明が解決しようとする課題】
【0004】
例えば、3次元の動きを検出するポインティングデバイスを用いたメニュー選択システムでは、例えば、ユーザは、ポインティングデバイスを空間中で動かし、これによってカーソルポインタ(以下、単にカーソルまたはポインタという場合がある)をメニュー画面上で移動させ、次に、操作スイッチを操作し、複数の選択肢の中から一つの選択肢を選択する。
【0005】
操作スイッチは、例えば押下型のスイッチ(突起状、平面状の双方を含み、圧力によりオンし、圧力の解除によってオフするタイプのスイッチであり、側面についているものも含む)である。操作スイッチの操作時には、指による圧力がスイッチに加わるため、本体(筐体)が空間中で微小に動いてしまう場合があり、これによって、カーソル位置が、所望の選択肢からずれてしまう場合がある。
【0006】
すなわち、操作スイッチのターンオン時点(例えば押下型スイッチの場合、スイッチが押されて接点がオンする時点)におけるカーソルの位置と、操作スイッチの操作が終了した時点(例えば、スイッチが解放されて接点がオフする時点)におけるカーソルの位置との間にずれが生じる場合があり、そのずれによって、誤った選択肢(誤ったメニュー)が選択されてしまう場合がる。このような事態が生じると、ポインティングデバイスの使い勝手が悪くなり、メニュー選択システムの信頼性も低下する。
【0007】
特に、カーソルによって選択された選択肢に対応するイベントの処理が、例えば、ハードディスクの全消去、記録媒体の初期化、といった重大な結果をもたらす処理である場合には、誤った処理が実行されることを確実に防止する必要があることから、十分な対策が求められる。
【0008】
この問題に対しては、例えば、メニュー画面の選択肢の一つ一つを大面積にしたり、操作力が少なくて済むスイッチを採用したり、操作ボタン等の配置や操作ボタン等の機能に工夫をする、というような対策が考えられるが、いずれも限界があり、誤選択の確実な防止の観点からは、十分とはいえない。
【0009】
本発明の少なくとも一つの態様によれば、例えば、ポインティングデバイスのぶれに起因する誤った選択を確実に防止することができ、例えば、信頼性の高いメニュー選択システム等のデータ処理システム(例えば、3次元入力装置(ポインティングデバイス)ならびにデータ処理装置を含む)を実現することができる。
【課題を解決するための手段】
【0010】
(1)本発明のデータ処理装置の一態様は、ポインティングデバイスの空間中における動きに応じて生成される物理量信号と、前記ポインティングデバイスに設けられている操作スイッチの操作によって発生するスイッチ操作信号と、を前記ポインティングデバイスからデータ処理装置に送信し、前記データ処理装置が、受信した前記物理量信号および前記スイッチ操作信号に基づくデータ処理によって、表示部に表示される複数の選択肢の中から選択された一つの選択肢に対応するイベントを生成し、生成された前記イベントを実行するデータ処理システムに使用される前記データ処理装置であって、前記物理量信号に基づいてカーソル位置を検出し、カーソル位置情報を出力するカーソル位置検出部と、前記複数の選択肢を有する画像を表示すると共に、前記カーソル位置検出部から出力される前記カーソル位置情報に基づいて、前記画像上にカーソルを表示する表示制御部と、前記スイッチ操作信号を検出するスイッチ操作信号検出部と、前記スイッチ操作信号検出部によって前記操作スイッチのターンオンが検出される第1の時点に対応する第1の選択情報と、前記スイッチ操作信号検出部によって前記操作スイッチのターンオフが検出される第2の時点に対応する第2の選択情報とを比較し、前記第1の選択情報に基づく第1の選択結果と、前記第2の選択情報に基づく第2の選択結果とが同じであるか否かを検出する選択情報比較部と、前記選択情報比較部によって前記第1の選択結果と第2の選択結果が一致している場合には、選択された選択肢に対応するイベントを実行イベントとして生成し、不一致である場合には、前記実行イベントを生成しないイベント実行部と、前記実行イベントを実行するイベント実行部と、を含む。
【0011】
データ処理システムにおいて、メニュー等の誤った選択が生じる原因の一つは、操作スイッチの操作に起因してポインティングデバイスの本体に不要な動きが生じ、カーソル位置がずれてしまうことである。カーソルの位置ずれが生じると、操作スイッチのターンオンが検出される時点(第1の時点)におけるカーソル位置と、操作スイッチのターンオフが検出される時点(第2の時点)におけるカーソル位置が異なる。位置ずれが生じたとしても、カーソルが同じ選択肢上にある場合にはメニューの誤選択は生じないが、各時点におけるカーソルの各々が異なる選択肢上にある場合には、メニュー等の誤選択が生じる可能性が高い。
【0012】
そこで、本態様では、選択情報比較部を設け、選択情報比較部が、第1の時点において得られる第1の選択情報と、第2の時点において得られる第2の選択情報とを比較し、第1の選択情報に基づく第1の選択結果と、第2の選択情報に基づく第2の選択結果とが同じであるか否かを検出する。
【0013】
ここで、「選択情報」とは、「ある時点において、操作スイッチが操作されたならば生じるであろう選択結果を予測する(あるいは特定する)ために使用可能な、選択処理に関係する基礎情報」のことであり、選択情報としては、例えば、「ある時点におけるカーソル位置情報」や「ある時点におけるカーソルによって指定される選択肢に対応づけられているイベントの情報」を利用することができる。すなわち、例えば、「カーソル位置情報」に基づいて、その時点でカーソルによって指定されている選択肢を特定することができ、したがって、その時点における選択結果(つまり、結果的にどのようなイベントが実行されるか)を予測する(特定する)ことが可能であり、「カーソル位置情報」は、選択情報として利用することができる。同様に、「ある時点におけるカーソルによって指定される選択肢に対応づけられているイベントの情報」が判明すれば、その時点における選択結果(実行されるイベント内容)を予測する(特定する)ことができ、「イベントの情報」も選択情報として利用することができる。
【0014】
選択情報比較部は、第1の時点において得られる第1の選択情報と、第2の時点において得られる第2の選択情報とを比較し、各選択情報によって予測される選択結果(すなわち、実行されるイベント)が一致するか否かを検出する。選択結果が同じであるということは、操作スイッチオン時点(第1の時点)におけるカーソルと、スイッチオフ時点(第2の時点)におけるカーソルとが同じ選択肢上にあるということであり、一方、選択結果が異なるということは、両時点におけるカーソルの各々が異なる選択肢上にあるということであり、カーソル位置が瞬時的に大きくずれたことを意味する。この状態でイベント実行が許可されると、位置が瞬時的に変動した後のカーソルによって、誤った選択肢が選択される可能性が極めて高い。
【0015】
そこで、イベント生成部は、選択情報比較部によって一致が検出された場合のみ、実行イベント(実行すべきイベント)を生成し、一致が検出されないときは、実行イベントを生成しない。実行イベントが生成されないため、イベント実行部によって、誤ったイベントが実行されることがない。このように、本態様によれば、カーソル位置が瞬時的に大きくずれた場合であっても、メニュー等の誤選択が確実に防止される。したがって、例えば、誤ってハードディスクの消去等が実行されることがなく、安心してデータ処理システム(例えばメニュー選択システム)を使用できるようになる。また、本態様の構成は、特別なハードウエアの追加が不要であり、ハードウエアコストの上昇を招くことがなく、また、実施が容易である。
【0016】
なお、上述の「操作スイッチ」は、例えば押しボタンスイッチやスライド式のスイッチ等である。これらのスイッチには、突起状スイッチ、平面状のスイッチの双方が含まれる。操作スイッチは、例えばユーザの指等による圧力によりオンし、圧力の解除によってオフするタイプのスイッチであり、筐体の主面に設けられているもの、筐体の側面に設けられているものを含む。また、上述の「イベント」とは、コンピュータプログラムの実行に際し、何らかのアクションが発生した際にプログラムに発信される情報(メッセージと呼ばれることもある)をいい、例えば、そのイベントによって、プログラムが実行すべき処理(処理内容)が特定される。また、「実行イベント」は、実際に実行される(あるいは実行すべき)イベントのことであり、より具体的には、例えば、プログラムが実行すべき処理を特定する情報をもつイベント(あるいはその処理内容)のことである。
【0017】
(2)本発明のデータ処理装置の他の態様では、前記カーソル位置情報を、少なくとも前記第1の時点から前記第2の時点までの時間にわたって記憶するカーソル位置記憶部を有し、前記選択情報比較部は、前記カーソル位置記憶部から、前記第1のカーソル位置情報および前記第2のカーソル位置情報を読み出し、前記第1のカーソル位置情報に基づいて特定される選択肢と、前記第2のカーソル位置情報によって特定される選択肢とが一致するか否かを検出し、これによって前記第1の選択結果と前記第2の選択結果の一致/不一致を検出する。
【0018】
本態様では、選択情報として、カーソル位置検出部から出力されるカーソル位置情報を使用する。カーソル位置記憶部は、所定の期間(例えば1秒間)分のカーソル位置情報を記憶する。カーソル位置記憶部は、例えば、一定時間毎(例えばテレビ画面のフレームレートと同期する1/60毎)にカーソル位置情報を記憶することができる。
【0019】
また、選択情報比較部は、例えば、第2の時点(操作スイッチのターンオフが検出された時点)において、第1の時点(操作スイッチのターンオンが検出された時点)および第2の時点の各々に対応する第1および第2のカーソル位置情報を、カーソル位置記憶部から読み出し、比較処理ならびに一致検出処理を実行する。選択情報比較部によるカーソル位置情報の読み出しタイミングは、種々、変形が可能である。例えば、選択情報比較部は、第1の時点で第1のカーソル位置情報を読み出し、第2の時点で第2のカーソル位置情報を読み出すこともできる。
【0020】
(3)本発明のデータ処理装置の他の態様では、前記カーソルにより特定される選択肢に対応するイベントを仮イベントとして、少なくとも前記第1の時点から前記第2の時点までの時間にわたって記憶する仮イベント記憶部を有し、前記選択情報比較部は、前記仮イベント記憶部から、前記第1の時点における第1の仮イベントおよび前記第2の時点における第2の仮イベントを読み出し、前記第1の仮イベントと前記第2の仮イベントとが一致するか否かを検出し、これによって前記第1の選択結果と前記第2の選択結果の一致/不一致を検出する。
【0021】
本態様では、選択情報として、「カーソルによって指定される選択肢に対応づけられているイベントの情報」を使用する。ある時点において、カーソルにより特定される選択肢に対応づけられているイベントは、選択の確定前において形式的に特定されるイベントであり、実際に選択されるか否かは不明であり、「実行イベント(実際に実行されるイベント)」とは区別する必要があるため、ここでは、「仮イベント」と表記する。
【0022】
仮イベント記憶部は、所定の期間(例えば1秒間)分の仮イベントを記憶する。仮イベント記憶部は、例えば、一定時間毎(例えばテレビ画面のフレームレートと同期する1/60毎)に仮イベントを記憶することができる。
【0023】
また、選択情報比較部は、例えば、第2の時点(操作スイッチのターンオフが検出された時点)において、第1の時点(操作スイッチのターンオンが検出された時点)および第2の時点の各々に対応する第1および第2の仮イベントを、仮イベント記憶部から読み出し、比較処理ならびに一致検出処理を実行する。選択情報比較部による仮イベントの読み出しタイミングは、種々、変形が可能である。例えば、選択情報比較部は、第1の時点で第1の仮イベントを読み出し、第2の時点で第2の仮イベントを読み出すこともできる。
【0024】
(4)本発明のデータ処理システムの一態様は、本体の空間中における動きに応じて生成される物理量信号と、前記本体に設けられている操作スイッチの操作によって発生するスイッチ操作信号と、をデータ処理装置に送信するポインティングデバイスと、上記いずれかのデータ処理装置と、を含む。
【0025】
これによって、ポインティングデバイスのぶれに起因する誤った選択を確実に防止することができる、信頼性の高いデータ処理システム(メニュー選択システム等)を実現することができる。
【0026】
このように、本発明の少なくとも一つの態様によれば、例えば、ポインティングデバイスのぶれに起因する誤った選択を確実に防止することができ、例えば、信頼性の高いメニュー選択システムや、画面上でカーソルを移動させる必要があるゲームシステム等のデータ処理システム(例えば、3次元入力装置(ポインティングデバイス)ならびにデータ処理装置を含む)を実現することができる。また、本発明の少なくとも一つの態様によれば、実施が容易でかつハードウエアコストの上昇を招くことなく、誤ったメニュー選択を確実に防止することができる。
【発明を実施するための最良の形態】
【0027】
次に、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成のすべてが、本発明の解決手段として必須であるとは限らない。
【0028】
(第1の実施形態)
本実施形態では、選択情報として、カーソル位置検出部から出力されるカーソル位置情報を使用し、カーソル位置情報の比較によって、操作スイッチのターンオン時ならびにターンオフ時における選択結果を予測(特定)し、両者の一致/不一致を検出し、一致が検出されないときは、実行イベントを生成しないことにより、誤ったメニュー等の選択を確実に防止する。
【0029】
ここで、「選択情報」とは、「ある時点において、操作スイッチが操作されたならば生じるであろう選択結果を予測する(あるいは特定する)ために使用可能な、選択処理に関係する基礎情報」のことであり、選択情報としては、例えば、「ある時点におけるカーソル位置情報」や「ある時点におけるカーソルによって指定される選択肢に対応づけられているイベントの情報」を利用することができる。すなわち、例えば、「カーソル位置情報」に基づいて、その時点でカーソルによって指定されている選択肢を特定することができ、したがって、その時点における選択結果(つまり、結果的にどのようなイベントが実行されるか)を予測する(特定する)ことが可能であり、「カーソル位置情報」は、選択情報として利用することができる。
【0030】
(データ処理システムの構成例と動作例)
図1は、データ処理システムの一例であるメニュー選択システムの構成の一例を示す図である。図1のメニュー選択システムは、3次元ポインティングデバイス100と、データ処理装置200と、を含む。3次元ポインティングデバイスは、空間中における動き(例えば、姿勢、回転、並進の少なくとも一つ)に応じた物理量信号を生成する機能をもつ入力装置であり、例えば3次元マウスである。「ポインティングデバイス」は、コンピュータシステム等における入力デバイスであり、最も広義に解釈するものとする(例えば、入力装置と同義に解釈する)。また、データ処理装置200は、例えば、コンピュータ本体であり、本実施形態では、ユーザによるメニュー選択を実現するための情報処理(メニュー表示処理やイベント実行等)を行う。
【0031】
3次元ポインティングデバイス100とデータ処理装置200とは、通信(有線通信、無線通信のいずれでもよく、無線通信としては、例えば赤外光を使用することができる)によって情報を送受信することができる。図1のメニュー選択システムでは、両者は、アンテナAN1,AN2を経由した無線通信によって相互に情報を交換することができる。
【0032】
3次元ポインティングデバイス100は、本体(筐体)の空間中における動きに応じた物理量信号と、操作スイッチの操作によって発生するスイッチ操作信号とをデータ処理装置200に向けて送信することができる。
【0033】
3次元ポインティングデバイス100は、3次元モーションセンサ110を有する。この3次元モーションセンサ110は、x軸についての角速度を検出する第1のジャイロセンサ(角速度センサ)MS1と、y軸についての角速度を検出する第2のジャイロセンサMS2と、z軸についての角速度を検出する第3のジャイロセンサMS3と、3軸(x軸,y軸,z軸)の各々についての加速度を検出する3軸加速度センサ(3次元加速度センサ)MS4と、を有する。
【0034】
また、3次元ポインティングデバイス100は、ユーザが操作する操作スイッチ(ここでは押下型スイッチ)SWと、A/D変換器112a〜112dと、CPU116を搭載する制御部114と、メモリ119と、電源121と、通信部(通信インタフェース)118と、アンテナAN1と、を有する。
【0035】
3次元モーションセンサ110は、角速度および加速度を検出し、検出された物理量に対応する物理量信号を出力する。A/D変換器112a〜112cの各々は、第1のジャイロセンサMS1〜第3のジャイロセンサMS3の各々から出力されるアナログ信号である角速度信号をデジタル信号に変換する。また、A/D変換器112dは、3軸加速度センサMS4から出力されるアナログ信号である加速度信号をデジタル信号に変換する。各A/D変換器112a〜112dは、デジタル信号である物理量信号PQ1〜PQ4(各物理量信号を総称して物理量信号PQという場合がある)を出力し、各物理量信号PQ1〜PQ4は、制御部114に供給される。
【0036】
また、押下型スイッチSWは、例えば押しボタンスイッチであり、突起状スイッチ、平面状のスイッチの双方が含まれる。例えばユーザの指等による圧力によりオンし、圧力の解除によってオフするタイプのスイッチであり、筐体の主面に設けられているもの、筐体の側面に設けられているものを含む。なお、「押下型スイッチ」は、操作スイッチの一例であり、これに限定されるものではない。操作スイッチの他の例としては、スライド式のスイッチがある。
【0037】
ユーザによって操作スイッチ(押下型スイッチSW)操作されるとき、指等によって圧力が加えられるため、その影響を受けて本体(筐体)が、空間中において微妙に動く場合があり、この不要な動きによってメニュー等の誤選択が生じる場合がある。そこで、本実施形態では、データ処理装置200におけるデータ処理方法を工夫することによって、3次元ポインティングデバイス100の不要な動きに起因するメニューの誤選択を確実に防止する。
【0038】
データ処理装置200は、受信した物理量信号およびスイッチ操作信号に基づくデータ処理によって、表示部に表示される複数の選択肢の中から選択された一つの選択肢に対応するイベントを生成し、生成されたイベントを実行する。なお、「イベント」とは、コンピュータプログラムの実行に際し、何らかのアクションが発生した際にプログラムに発信される情報(メッセージと呼ばれることもある)をいい、例えば、そのイベントによって、プログラムが実行すべき処理(処理内容)が特定される。また、「実行イベント」は、実際に実行されるイベントであり、具体的には、例えば、プログラムが実行すべき処理を特定する情報をもつイベント(あるいはその処理内容)のことである。
【0039】
データ処理装置200は、通信部(通信インタフェース)210と、受信した物理量信号に基づいて、カーソルCS1(CS2)の位置を検出し、カーソル位置情報を出力するカーソル位置検出部212と、表示パネル300上に、複数の選択肢INを有するメニュー画像を表示すると共に、カーソル位置検出部212から出力されるカーソル位置情報に基づいて、メニュー画像上にカーソルを表示する表示制御部216と、を含む。
【0040】
表示制御部216は、カーソル表示部217と、メニュー表示部219と、を含む。図1において、表示パネル300上には、複数の選択肢IN(図中、A〜H,1〜4と表記されている)と、カーソルCS1(CS2)が表示されている。カーソル表示部217は、カーソル表示が必要な場合、カーソル位置検出部212からカーソル位置情報を得て、カーソルCS1(CS2)を、表示パネル300上に表示する。
【0041】
複数の選択肢IN(A〜H,1〜4)の各々には、複数のイベントの各々が1:1に対応付けられている。例えば、現在表示されているメニューが、記憶媒体(例えば、CDROM)やコンピュータシステムのハードディスクに関する処理メニューであるとし、例えば、選択肢Eが「記憶媒体に蓄積されている情報のコピー(複製の作成)」であり、選択肢1が「ハードディスクの初期化」であるとする。この場合、選択肢Eには、「記憶媒体のコピー処理」というイベントが対応付けられており、選択肢1には、「ハードディスクの初期化処理」というイベントが対応付けられている。
【0042】
データ処理装置200は、さらに、受信したスイッチ操作信号を検出するスイッチ操作信号検出部214と、カーソル位置検出部212から出力されるカーソル位置情報を、所定の時間にわたって記憶するカーソル位置記憶部220と、選択情報比較部としてのカーソル位置比較部222と、メニュー情報MDを一時的に記憶するメモリ226と、イベント生成部224と、イベント実行部228と、を有する。
【0043】
カーソル位置記憶部220は、一定時間毎(例えばテレビ画面のフレームレートと同期する1/60毎)にカーソル位置検出部212から出力されるカーソル位置情報CDを一時的に記憶する。カーソル位置記憶部220は、例えば、シフトレジスタにより構成することができ、また、メモリ素子を用いたリングバッファにより構成することもできる。カーソル位置記憶部220は、1/60秒毎に入力されるカーソル位置情報(カーソル位置データ)CDを、例えば1秒間、記憶することができる。これにより、ある時刻(例えば、スイッチ操作信号検出部214からスイッチオン検出信号S1onが出力される時刻)を基準とし、直前の1秒間におけるカーソル位置情報の各々を、カーソル位置記憶部220から読み出すことが可能となる。
【0044】
スイッチ操作信号検出部214は、3次元ポインティングデバイス100の押下式スイッチSWが、第1状態(例えばオフ状態)から第2状態(例えばオン状態)に変化すると、そのことを検出して、第1のスイッチ操作信号であるスイッチオン検出信号S1onを出力する。また、押下式スイッチSWが、第2状態(オン状態)から第2状態(オフ状態)に変化すると、そのことを検出して、第2のスイッチ操作信号であるスイッチオフ検出信号S1offを出力する。スイッチオン検出信号S1onならびにスイッチオフ検出信号S1offは、カーソル位置比較部(選択情報比較部)222およびイベント生成部224の各々に供給される。
【0045】
上述のとおり、メニューの誤った選択が生じる原因は、押下型スイッチ(操作スイッチ)SWの操作に起因して3次元ポインティングデバイス100の本体に不要な動きが生じ、カーソル位置がずれてしまうことである。カーソルの位置ずれが生じると、押下型スイッチ(操作スイッチ)SWのターンオンが検出される時点(第1の時点:スイッチオン信号S1onが出力される時点)におけるカーソル位置と、ターンオフが検出される時点(第2の時点:スイッチオフ信号S1offが出力される時点)におけるカーソル位置が異なる。位置ずれが生じたとしても、カーソルが同じ選択肢上にある場合にはメニューの誤選択は生じないが、各時点におけるカーソルの各々が異なる選択肢上にある場合には、メニューの誤選択が生じる可能性が高い。
【0046】
そこで、選択情報比較部として機能するカーソル位置比較部222は、第1の時点に対応する第1のカーソル位置情報と、第2の時点に対応する第2の選択情報とを比較し、第1の選択情報に基づく第1の選択結果と、第2の選択情報に基づく第2の選択結果とが同じであるか否かを検出する。例えば、第1および第2の時点の各々において選択される選択肢が同じであるか否か、あるいは、選択される選択肢に対応付けられているイベントが同じであるか否かを検出する。
【0047】
選択結果(選択される選択肢やイベント)が同じであるということは、押下型スイッチSWのターンオン時点(第1の時点)におけるカーソルと、ターンオフ時点(第2の時点)におけるカーソルとが同じ選択肢上にあるということであり、一方、選択結果が異なるということは、両時点におけるカーソルの各々が異なる選択肢上にあるということであり、カーソル位置が瞬時的に大きくずれたことを意味する。この状態でイベント実行が許可されると、位置が瞬時的に変動した後のカーソルによって、誤った選択肢が選択される可能性が極めて高いため、このような状態では、イベントの実行ができないようにする。
【0048】
すなわち、カーソル位置比較部222は、選択結果の一致が検出されたときは、第1の時点または第2の時点におけるカーソル位置情報(CDxまたはCDy)、あるいは、各時点において選択される選択肢に対応づけられているイベント(すなわち仮イベントTEV)を、実行イベントを特定するための情報としてイベント生成部224に送る。一方、選択結果が不一致であったときは、実行イベントを特定するための情報を送らない。この場合、代わりに、イベント実行不可を示すフラグ等を送ることも可能である。
【0049】
イベント生成部224は、カーソル位置比較部222から実行イベントを特定するための情報が送られてきた場合のみ、すなわち、カーソル位置比較部222によって一致が検出された場合にのみ、実行イベント(実行すべきイベント)EVTを生成し、一致が検出されないときは、実行イベントEVTを生成しない。実行イベントEVTが生成されない場合は、イベント実行部228(例えば、アプリケーションプログラム)によってイベントが実行されないことから、誤ったイベントの実行が確実に防止される。
【0050】
なお、上述した各部は、例えば、ハードウエアの回路で構成することができる。但し、これに限定されるものではなく、各部は、例えば、CPUとソフトウエアによって実現される機能ブロックによって構成することも可能である。
【0051】
(スイッチの操作状態と3次元モーションセンサから出力される物理量信号のレベルとの関係についての考察)
図2は、押下式スイッチ(操作スイッチ)の操作状態と、3次元モーションセンサから出力される物理量信号のレベルとの関係を示す図である。図2において、横軸は経過時間(t)を示し、縦軸は、x軸周りの角速度信号(物理量信号)PQ1の信号レベルを示している。また、図中、P1〜P6の各々は、角速度信号(物理量信号)PQ1のピークを示している。
【0052】
また、図2において、期間T1(時刻t1〜t2)は、カーソル走査期間(ユーザが、メニュー選択のためにカーソルを走査(移動)している期間)である。期間T2(時刻t2〜t3)は、制動期間(所望の選択肢に到達した(あるいは近づいた)カーソルの移動を停止するために必要な期間)である。期間T3(時刻t3〜t4)は、スイッチオン期間(具体的には、機械式スイッチの接点がオンしている期間)である。
【0053】
カーソル走査期間T1においては、角速度信号(物理量信号)PQ1の信号レベルは、時間経過と共に大きく変化し、ピークP1〜P4が生じる。制動期間T2においては、角速度信号(物理量信号)PQ1の信号レベルの変化幅が小さくなり、信号レベルは安定化する。時刻t3に押下式スイッチ(操作スイッチ)SWがターンオンし、時刻t4にターンオフする。
【0054】
図2から明らかなように、押下式スイッチSWのターンオン時(時刻t3)の直後に、角速度信号(物理量信号)PQ1の信号レベルが瞬時的に大きく変化し、ピークP5が生じる。また、押下式スイッチSWのターンオフ時(時刻t4)の直後においても、角速度信号(物理量信号)PQ1の信号レベルが瞬時的に大きく変化し、ピークP6が生じる。ここで、問題となるのは、ピークP5である。角速度信号(物理量信号)PQ1の信号レベルが瞬時的に大きく変化すれば、これに対応して、カーソルの位置が瞬時的に大きく変化する。そして、瞬時的な位置変動が生じた後のカーソルによって選択肢が選択されると、誤った処理が実行されてしまう可能性が高い。
【0055】
時刻t4においてスイッチのオフが検出されるが、このタイミング(時刻t4)におけるカーソルの位置は、瞬時的な位置変動が生じた後のカーソル位置である。そこで、瞬時的な変動が生じる前と後とで、選択結果が異なるか否かを検出するために、スイッチオン時(時刻t3)におけるカーソル位置と、スイッチオフ時(時刻t4)におけるカーソル位置とをカーソル位置記憶部220から取り出して両者を比較し、選択結果(同一の選択肢が選択されるか否か、同一のイベントが生成されるか否か等)の一致/不一致を検出する。そして、上述のとおり、一致する場合にのみ、イベントを実行する。
【0056】
(具体的動作例)
図3(A),図3(B)は、図1に示されるデータ処理装置における、イベント生成のための具体的な動作例を示す図である。図3(A)に示されるように、表示パネル300上に表示されている選択肢(A,E,1)の各々には、イベント1,イベント2,イベント3の各々が1:1に対応付けられている。例えば、選択肢Eが「記憶媒体に蓄積されている情報のコピー(複製の作成)」というメニューであり、選択肢1が「ハードディスクの初期化」というメニューであるとする。この場合、選択肢Eには、「記憶媒体のコピー処理」というイベント2が対応付けられており、選択肢1には、「ハードディスクの初期化処理」というイベント3が対応付けられている。
【0057】
そして、図2の時刻t3(スイッチオン時:カーソルの位置変動が生じる前)におけるカーソルがCS1であり、時刻t4(スイッチオフ時:カーソルの位置変動が生じた後)におけるカーソルがCS2であるとする。この場合、ユーザは、イベント2の実行を希望しているにもかかわらず、実際には、意図しないイベント3が実行される可能性が高い。
【0058】
そこで、本実施形態では、図3(B)に示すように、瞬時的なカーソル位置の変動が生じる前と生じた後のカーソル位置を比較し、イベント実行の可否を判定する。すなわち、カーソル位置記憶部220には、少なくとも、上述のスイッチオン期間T3に対応する時間分のカーソル位置情報CDが記憶される。図中、CD1〜CDn+2の各々は、カーソル位置記憶部220に蓄積されている、1/60秒毎にサンプリングされたカーソル位置情報を示している。
【0059】
カーソル位置比較部222は、例えば、時刻t4において、スイッチ操作信号検出部214からスイッチオフ検出信号S1offが出力されると、そのタイミングで、スイッチオン時(時刻t3)に対応するカーソル位置情報CD3と、スイッチオフ時(時刻t4)に対応するカーソル位置情報CDn+1を、カーソル位置記憶部220から読み出し、両者を比較する。なお、カーソル位置情報の読み出しタイミングは、種々、変形が可能である。例えば、カーソル位置比較部222は、時刻t3で対応するカーソル位置情報CD3を読み出し、時刻t4で対応するカーソル位置情報CDn+1を読み出すこともできる。また、カーソル位置情報を、時刻t4以後に読み出すことも可能である。
【0060】
カーソル位置比較部222は、例えば、メニュー情報MDと、読み出したカーソル位置情報CD3,CDn+1とを照合(突き合わせ)して、各カーソル位置が、同一の選択肢上にあるか否かを判定する。各カーソル位置が同一の選択肢上にあると判断されたときは、選択結果の一致が検出されたことになり、各カーソル位置が異なる選択肢上にあると判断されるときは、選択結果の不一致が検出されたことになる。
【0061】
カーソル位置比較部222は、選択結果の一致が検出されたときは、時刻t3または時刻t4に対応するカーソル位置情報(CD3またはCDn+1)、あるいは、各時点において選択される選択肢Eに対応づけられているイベント2(すなわち仮イベントTEV)を、実行イベントを特定するための情報としてイベント生成部224に送る。一方、選択結果が不一致であったときは、実行イベントを特定するための情報を送らない。この場合、代わりに、イベント実行不可を示すフラグ等を送ることも可能である。
【0062】
イベント生成部224は、カーソル位置比較部222から実行イベントを特定するための情報が送られてきた場合のみ、すなわち、カーソル位置比較部222によって一致が検出された場合にのみ、実行イベント(実行すべきイベント)を生成し、一致が検出されないときは、実行イベントを生成しない。実行イベントが生成されない場合は、イベント実行部228(例えば、アプリケーションプログラム)によってイベントが実行されないことから、誤ったイベントの実行が確実に防止される。
【0063】
このように、本実施形態によれば、カーソル位置が瞬時的に大きくずれた場合であっても、メニューの誤選択が確実に防止される。したがって、例えば、誤ってハードディスクの消去等が実行されることがなく、安心してメニュー選択システムを使用できるようになる。また、本実施形態の構成は、特別なハードウエアの追加が不要であり、ハードウエアコストの上昇を招くことがなく、また、実施が容易である。
【0064】
(第2の実施形態)
本実施形態では、選択情報として、カーソルによって指定される選択肢に対応づけられているイベント情報(仮イベント)を使用し、仮イベントの比較によって、操作スイッチのターンオン時ならびにターンオフ時における選択結果を予測(特定)し、両者の一致/不一致を検出し、一致が検出されないときは、実行イベントを生成しないことにより、誤ったメニュー等の選択を確実に防止する。
【0065】
図4は、データ処理装置の一例であるメニュー選択システムの構成の他の例を示す図である。図4に示されるデータ処理装置100では、仮イベント生成部250が新たに設けられており、また、図1のカーソル位置記憶部220の代わりに仮イベント記憶部252が設けられ、また、選択情報比較部として、図1のカーソル位置比較部222の代わりに仮イベント比較部254が設けられている。
【0066】
仮イベント生成部250は、カーソル位置検出部212から出力されるカーソル位置情報CDと、メニュー表示部219から出力されるメニュー情報MDとを照合(付き合わせ)して、カーソルによって指定される選択肢を特定し、その選択肢に1:1に対応づけられている仮イベントを生成する。生成された仮イベントTEVは、仮イベント記憶部252に蓄積される。仮イベント記憶部252には、少なくともスイッチオン期間T3に相当する時間分の仮イベントTEVが蓄積される。例えば、約1秒間にわたって、1/60秒毎に仮イベントTEVを取得し、取得された仮イベントTEVを順次、仮イベント記憶部252に蓄積する。
【0067】
仮イベント比較部254は、例えば、スイッチオフ時である時刻t4おいてスイッチオフ検出信号S1offが出力されると、スイッチオン時である時刻t3ならびに時刻t4における仮イベント(TEVxおよびTEVy)を、仮イベント記憶部252から読み出して両者を比較し、両者が一致しているか否かを検出する。仮イベント比較部254は、一致が検出された場合には、一致が検出された仮イベントTEVx(=TEVy)をイベント生成部224に送る。
【0068】
イベント生成部224は、例えば、スイッチオフ検出信号S1offが入力されるタイミング(時刻t4)から所定の時間だけ遅れたタイミングにおいて、仮イベント比較部254から供給されている仮イベントTEVx(=TEVy)を、そのまま実行イベントEVTとして特定し、特定された実行イベントEVTをイベント実行部228に供給する。得られる効果は、前掲の実施形態と同様である。
【0069】
図5(A),図5(B)は、図4に示されるデータ処理装置における、イベント生成のための具体的な動作例を示す図である。図5(A)は、選択成功の場合(一致が検出される場合)の動作例を示し、図5(B)は、選択失敗の場合(一致が検出されない場合)の動作例を示す。
【0070】
図5(A)において、仮イベント記憶部252は、仮イベントTEV1〜TEVn+2が蓄積されている。時刻t4において、スイッチオン検出信号S1offが仮イベント比較部254に入力されると、時刻t3ならびに時刻t4の各々に対応する仮イベントTEV3、TEVn+1が、仮イベント比較部254によって読み出される。この仮イベントTEV3、TEVn+3は、例えば、図3(A)に示されるイベント2に相当する。図5(A)では、各仮イベントの一致が検出され、仮イベント比較部254は、イベント2をイベント生成部224に送る。イベント生成部224は、イベント2を実行イベントとし、そのイベント2をイベント実行部228に送る。
【0071】
一方、図5(B)では、各仮イベントの一致が検出されず、したがって、仮イベント比較部254は、仮イベント情報をイベント生成部224には送らない(無出力)。これにより、イベント生成部224は実行イベントEVTを生成することができず、したがって、イベント実行部228によって、誤ったイベントが実行されることがない。
【0072】
(第3の実施形態)
前掲の実施形態では、第1時点および第2時点に対応する選択結果の一致が検出されないと、選択失敗となり、イベントが実行されない。実際には、選択失敗が連続することも生じ得る。選択の失敗が続くと、若干、操作性が悪くなるのは否めないが、以下のような対策を実行すれば、実用上の不便を、ユーザにほとんど感じさせないようにすることができる。
【0073】
(失敗が連続することを抑制するための工夫)
(1)例えば、選択の失敗が生じた場合、選択肢の面積を拡大する。例えば、押下型スイッチを採用する場合、カーソルは縦方向にぶれる傾向がある。したがって、選択肢を縦長表示とすることによって、カーソルのブレが生じたとしても、位置変動後のカーソルが同じ選択肢上にとどまる確率を高めることができる。
(2)メニューの各選択肢は所定の有効選択領域を有しているが、表示パネルには、その中心部の所定面積のターゲットのみを表示しておく。選択の失敗前は、各選択肢のターゲットを第1のサイズで表示し、選択の失敗後は、第1のサイズよりも小さい第2のサイズの表示に切り換える。すなわち、ターゲットを小さくして、ユーザに、より正確なメニュー選択(カーソル移動)を促す。この場合、カーソルがターゲットから外れたとしても、カーソルが有効領域内にとどまる確率が高く、選択の失敗が連続する可能性が低下する。
【0074】
以上説明した本発明の実施形態によれば、例えば、以下の効果を得ることができる。但し、以下の効果は同時に得られるとは限らず、以下の効果の列挙が、本発明の技術的思想を不当に限定する根拠に用いられてはならない。
(1)ハードディスクの初期化のように、誤った選択が許されない場合でも、ポインティングデバイスのブレに起因する誤った選択がなされず、信頼性が高いメニュー選択システム等のデータ処理システムが得られる。
(2)副次的効果として、選択を誤ったとき、わざと、選択肢をブレさせれば(離したときに、わざと押したときの選択肢とは違う選択肢を指す)と、自動的に指定のキャンセルを行うことができるようになり、使い勝手が向上する。
(3)3次元入力デバイスを安心して利用できるようになる。
(4)現在、コンピュータ上で3次元CADやゲーム等で、3次元空間を扱うことが多くなり、それにともない3次元運動を入力できるデバイスの必要性が高まっている。本発明の実施形態の発明によれば、信頼性が高く、操作性に優れた小型の3次元ポインティングデバイスを用いたシステムを実現される。
【0075】
このように、本発明の少なくとも一つの実施形態によれば、例えば、実施が容易でかつハードウエアコストの上昇を招くことのない方法によって、ポインティングデバイスのぶれに起因する誤った選択を確実に防止することができ、例えば、信頼性の高いメニュー選択システムや、画面上でカーソル等を移動させる必要があるゲームシステム等のデータ処理システム(例えば3次元入力装置(ポインティングデバイス)ならびにデータ処理装置を含む)を実現することができる。
【0076】
なお、本発明の実施形態について詳述したが、本発明の新規事項および効果から逸脱しない範囲で、多くの変形が可能であることは、当業者には容易に理解できるであろう。したがって、このような変形例は、すべて本発明に含まれるものとする。例えば、上述の実施形態では、メニュー選択システムを例にとって説明したが、本発明は、3次元入力装置を用いたゲームシステムのゲーム操作や、カメラやロボットの遠隔操作システムにおける遠隔制御等に広く利用することができる。また、ポインティングデバイスという用語は、最も広義に解釈するものとし、空間的変位に対応する物理量信号とスイッチ操作信号とを入力できる入力装置を広く含むものとする。また、3次元モーションセンサの構成は、前掲の実施形態に限定されるものでではなく、その他の構成(例えば、ジャイロセンサと加速度センサに加えて、さらに磁気センサを有する構成)も採用することができる。また、空間的変位には、ポインティングデバイスの姿勢、回転が含まれ、また、並進も含まれる。また、1次元あるいは2次元の変位を検出するポインティングデバイスも含まれる。なお、ポインティングデバイスの並進(水平移動や垂直移動等)は、加速度センサの出力の変動を時間で積分することによって算出することができる。
【図面の簡単な説明】
【0077】
【図1】データ処理システムの一例であるメニュー選択システムの構成の一例を示す図
【図2】押下式スイッチ(操作スイッチ)の操作状態と、3次元モーションセンサから出力される物理量信号のレベルとの関係を示す図
【図3】図3(A),図3(B)は、図1に示されるデータ処理装置における、イベント生成のための具体的な動作例を示す図
【図4】データ処理システムの一例であるメニュー選択システムの構成の他の例を示す図
【図5】図5(A),図5(B)は、図4に示されるデータ処理装置における、イベント生成のための具体的な動作例を示す図
【符号の説明】
【0078】
100 3次元ポインティングデバイス、110 3次元モーションセンサ、
112a〜112d A/D変換器、114 制御部、116 CPU、
118 通信部(通信インタフェースまたは送信インタフェース)、119 メモリ、
121 電源、AN1,AN2 アンテナ、200 データ処理装置、
210 通信部、212 カーソル位置検出部、214 スイッチ操作信号検出部、
216 表示制御部、217 カーソル表示部、219 メニュー表示部、
220 カーソル位置記憶部、222 カーソル位置比較部(選択情報比較部)、
224 イベント生成部、226 メモリ、228 イベント実行部、
250 仮イベント生成部、 252 仮イベント記憶部、
254 仮イベント比較部(選択情報比較部)、 300 表示パネル、
IN 選択肢、 CS1,CS2 カーソルポインタ(カーソルポインタ位置)

【特許請求の範囲】
【請求項1】
ポインティングデバイスの空間中における動きに応じて生成される物理量信号と、前記ポインティングデバイスに設けられている操作スイッチの操作によって発生するスイッチ操作信号と、を前記ポインティングデバイスからデータ処理装置に送信し、前記データ処理装置が、受信した前記物理量信号および前記スイッチ操作信号に基づくデータ処理によって、表示部に表示される複数の選択肢の中から選択された一つの選択肢に対応するイベントを生成し、生成された前記イベントを実行するデータ処理システムに使用される前記データ処理装置であって、
前記物理量信号に基づいてカーソル位置を検出し、カーソル位置情報を出力するカーソル位置検出部と、
前記複数の選択肢を有する画像を表示すると共に、前記カーソル位置検出部から出力される前記カーソル位置情報に基づいて、前記画像上にカーソルを表示する表示制御部と、
前記スイッチ操作信号を検出するスイッチ操作信号検出部と、
前記スイッチ操作信号検出部によって前記操作スイッチのターンオンが検出される第1の時点に対応する第1の選択情報と、前記スイッチ操作信号検出部によって前記操作スイッチのターンオフが検出される第2の時点に対応する第2の選択情報とを比較し、前記第1の選択情報に基づく第1の選択結果と、前記第2の選択情報に基づく第2の選択結果とが同じであるか否かを検出する選択情報比較部と、
前記選択情報比較部によって前記第1の選択結果と第2の選択結果が一致している場合には、選択された選択肢に対応するイベントを実行イベントとして生成し、不一致である場合には、前記実行イベントを生成しないイベント実行部と、
前記実行イベントを実行するイベント実行部と、
を含むことを特徴とするデータ処理装置。
【請求項2】
請求項1記載のデータ処理装置であって、
前記カーソル位置情報を、少なくとも前記第1の時点から前記第2の時点までの時間にわたって記憶するカーソル位置記憶部を有し、
前記選択情報比較部は、前記カーソル位置記憶部から、前記第1のカーソル位置情報および前記第2のカーソル位置情報を読み出し、前記第1のカーソル位置情報に基づいて特定される選択肢と、前記第2のカーソル位置情報によって特定される選択肢とが一致するか否かを検出し、これによって前記第1の選択結果と前記第2の選択結果の一致/不一致を検出することを特徴とするデータ処理装置。
【請求項3】
請求項1載のデータ処理装置であって、
前記カーソルにより特定される選択肢に対応するイベントを仮イベントとして、少なくとも前記第1の時点から前記第2の時点までの時間にわたって記憶する仮イベント記憶部を有し、
前記選択情報比較部は、前記仮イベント記憶部から、前記第1の時点における第1の仮イベントおよび前記第2の時点における第2の仮イベントを読み出し、前記第1の仮イベントと前記第2の仮イベントとが一致するか否かを検出し、これによって前記第1の選択結果と前記第2の選択結果の一致/不一致を検出することを特徴とするデータ処理装置。
【請求項4】
本体の空間中における動きに応じて生成される物理量信号と、前記本体に設けられている操作スイッチの操作によって発生するスイッチ操作信号と、をデータ処理装置に送信するポインティングデバイスと、
請求項1〜請求項3のいずれかに記載のデータ処理装置と、
を含むことを特徴とするデータ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate