(57)【要約】【課題】  ポインティングデバイスのぶれに起因する誤った選択を確実に防止する。【解決手段】  データ処理システム（例えばメニュー選択システム）に使用されるデータ処理装置２００は、カーソル位置検出部２１２と、カーソルを表示する表示制御部２１６と、スイッチ操作信号検出部２１４と、カーソル位置検出部２１２から出力されるカーソル位置情報を、所定の時間にわたって記憶するカーソル位置記憶部２２０と、操作スイッチＳＷのターンオンが検出される第１の時点に対応する第１のカーソル位置情報と、操作スイッチＳＷのターンオフが検出される第２の時点に対応する第２のカーソル位置情報とを比較し、第１のカーソル位置情報に基づく第１の選択結果と、第２のカーソル位置情報に基づく第２の選択結果とが同じであるか否かを検出するカーソル位置比較部２５４と、一致が検出された場合にのみ実行イベントを生成するイベント生成部２２４と、を含む。【選択図】  図１
2010134668.tif 000002
【特許請求の範囲】
【請求項１】
ポインティングデバイスの空間中における動きに応じて生成される物理量信号と、前記ポインティングデバイスに設けられている操作スイッチの操作によって発生するスイッチ操作信号と、を前記ポインティングデバイスからデータ処理装置に送信し、前記データ処理装置が、受信した前記物理量信号および前記スイッチ操作信号に基づくデータ処理によって、表示部に表示される複数の選択肢の中から選択された一つの選択肢に対応するイベントを生成し、生成された前記イベントを実行するデータ処理システムに使用される前記データ処理装置であって、
前記物理量信号に基づいてカーソル位置を検出し、カーソル位置情報を出力するカーソル位置検出部と、
前記複数の選択肢を有する画像を表示すると共に、前記カーソル位置検出部から出力される前記カーソル位置情報に基づいて、前記画像上にカーソルを表示する表示制御部と、
前記スイッチ操作信号を検出するスイッチ操作信号検出部と、
前記スイッチ操作信号検出部によって前記操作スイッチのターンオンが検出される第１の時点に対応する第１の選択情報と、前記スイッチ操作信号検出部によって前記操作スイッチのターンオフが検出される第２の時点に対応する第２の選択情報とを比較し、前記第１の選択情報に基づく第１の選択結果と、前記第２の選択情報に基づく第２の選択結果とが同じであるか否かを検出する選択情報比較部と、
前記選択情報比較部によって前記第１の選択結果と第２の選択結果が一致している場合には、選択された選択肢に対応するイベントを実行イベントとして生成し、不一致である場合には、前記実行イベントを生成しないイベント実行部と、
前記実行イベントを実行するイベント実行部と、
を含むことを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置であって、
前記カーソル位置情報を、少なくとも前記第１の時点から前記第２の時点までの時間にわたって記憶するカーソル位置記憶部を有し、
前記選択情報比較部は、前記カーソル位置記憶部から、前記第１のカーソル位置情報および前記第２のカーソル位置情報を読み出し、前記第１のカーソル位置情報に基づいて特定される選択肢と、前記第２のカーソル位置情報によって特定される選択肢とが一致するか否かを検出し、これによって前記第１の選択結果と前記第２の選択結果の一致／不一致を検出することを特徴とするデータ処理装置。
【請求項３】
請求項１載のデータ処理装置であって、
前記カーソルにより特定される選択肢に対応するイベントを仮イベントとして、少なくとも前記第１の時点から前記第２の時点までの時間にわたって記憶する仮イベント記憶部を有し、
前記選択情報比較部は、前記仮イベント記憶部から、前記第１の時点における第１の仮イベントおよび前記第２の時点における第２の仮イベントを読み出し、前記第１の仮イベントと前記第２の仮イベントとが一致するか否かを検出し、これによって前記第１の選択結果と前記第２の選択結果の一致／不一致を検出することを特徴とするデータ処理装置。
【請求項４】
本体の空間中における動きに応じて生成される物理量信号と、前記本体に設けられている操作スイッチの操作によって発生するスイッチ操作信号と、をデータ処理装置に送信するポインティングデバイスと、
請求項１〜請求項３のいずれかに記載のデータ処理装置と、
を含むことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置およびデータ処理システム等に関する。
【背景技術】
【０００２】
近年、空間中における本体（筐体）の動き（本体の姿勢（回転、傾きを含む）、本体の移動（並進移動を含む）の少なくとも一つを含む）に応じた物理量信号を生成して出力する、ポインティングデバイス（３次元マウス等）を用いたシステムのニーズが高まっている。
【０００３】
３次元の空間内で携帯型機器を動かすことにより、画像表示装置上でカーソルポインタを移動させ、ボタンにより操作を行う機器（３次元マウス）を用いた技術は、例えば、下記の特許文献１，特許文献２に記載されている。
【特許文献１】特開平７−２８４１６６
【特許文献２】特開２００８−１３５０７５
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、３次元の動きを検出するポインティングデバイスを用いたメニュー選択システムでは、例えば、ユーザは、ポインティングデバイスを空間中で動かし、これによってカーソルポインタ（以下、単にカーソルまたはポインタという場合がある）をメニュー画面上で移動させ、次に、操作スイッチを操作し、複数の選択肢の中から一つの選択肢を選択する。
【０００５】
操作スイッチは、例えば押下型のスイッチ（突起状、平面状の双方を含み、圧力によりオンし、圧力の解除によってオフするタイプのスイッチであり、側面についているものも含む）である。操作スイッチの操作時には、指による圧力がスイッチに加わるため、本体（筐体）が空間中で微小に動いてしまう場合があり、これによって、カーソル位置が、所望の選択肢からずれてしまう場合がある。
【０００６】
すなわち、操作スイッチのターンオン時点（例えば押下型スイッチの場合、スイッチが押されて接点がオンする時点）におけるカーソルの位置と、操作スイッチの操作が終了した時点（例えば、スイッチが解放されて接点がオフする時点）におけるカーソルの位置との間にずれが生じる場合があり、そのずれによって、誤った選択肢（誤ったメニュー）が選択されてしまう場合がる。このような事態が生じると、ポインティングデバイスの使い勝手が悪くなり、メニュー選択システムの信頼性も低下する。
【０００７】
特に、カーソルによって選択された選択肢に対応するイベントの処理が、例えば、ハードディスクの全消去、記録媒体の初期化、といった重大な結果をもたらす処理である場合には、誤った処理が実行されることを確実に防止する必要があることから、十分な対策が求められる。
【０００８】
この問題に対しては、例えば、メニュー画面の選択肢の一つ一つを大面積にしたり、操作力が少なくて済むスイッチを採用したり、操作ボタン等の配置や操作ボタン等の機能に工夫をする、というような対策が考えられるが、いずれも限界があり、誤選択の確実な防止の観点からは、十分とはいえない。
【０００９】
本発明の少なくとも一つの態様によれば、例えば、ポインティングデバイスのぶれに起因する誤った選択を確実に防止することができ、例えば、信頼性の高いメニュー選択システム等のデータ処理システム（例えば、３次元入力装置（ポインティングデバイス）ならびにデータ処理装置を含む）を実現することができる。
【課題を解決するための手段】
【００１０】
（１）本発明のデータ処理装置の一態様は、ポインティングデバイスの空間中における動きに応じて生成される物理量信号と、前記ポインティングデバイスに設けられている操作スイッチの操作によって発生するスイッチ操作信号と、を前記ポインティングデバイスからデータ処理装置に送信し、前記データ処理装置が、受信した前記物理量信号および前記スイッチ操作信号に基づくデータ処理によって、表示部に表示される複数の選択肢の中から選択された一つの選択肢に対応するイベントを生成し、生成された前記イベントを実行するデータ処理システムに使用される前記データ処理装置であって、前記物理量信号に基づいてカーソル位置を検出し、カーソル位置情報を出力するカーソル位置検出部と、前記複数の選択肢を有する画像を表示すると共に、前記カーソル位置検出部から出力される前記カーソル位置情報に基づいて、前記画像上にカーソルを表示する表示制御部と、前記スイッチ操作信号を検出するスイッチ操作信号検出部と、前記スイッチ操作信号検出部によって前記操作スイッチのターンオンが検出される第１の時点に対応する第１の選択情報と、前記スイッチ操作信号検出部によって前記操作スイッチのターンオフが検出される第２の時点に対応する第２の選択情報とを比較し、前記第１の選択情報に基づく第１の選択結果と、前記第２の選択情報に基づく第２の選択結果とが同じであるか否かを検出する選択情報比較部と、前記選択情報比較部によって前記第１の選択結果と第２の選択結果が一致している場合には、選択された選択肢に対応するイベントを実行イベントとして生成し、不一致である場合には、前記実行イベントを生成しないイベント実行部と、前記実行イベントを実行するイベント実行部と、を含む。
【００１１】
データ処理システムにおいて、メニュー等の誤った選択が生じる原因の一つは、操作スイッチの操作に起因してポインティングデバイスの本体に不要な動きが生じ、カーソル位置がずれてしまうことである。カーソルの位置ずれが生じると、操作スイッチのターンオンが検出される時点（第１の時点）におけるカーソル位置と、操作スイッチのターンオフが検出される時点（第２の時点）におけるカーソル位置が異なる。位置ずれが生じたとしても、カーソルが同じ選択肢上にある場合にはメニューの誤選択は生じないが、各時点におけるカーソルの各々が異なる選択肢上にある場合には、メニュー等の誤選択が生じる可能性が高い。
【００１２】
そこで、本態様では、選択情報比較部を設け、選択情報比較部が、第１の時点において得られる第１の選択情報と、第２の時点において得られる第２の選択情報とを比較し、第１の選択情報に基づく第１の選択結果と、第２の選択情報に基づく第２の選択結果とが同じであるか否かを検出する。
【００１３】
ここで、「選択情報」とは、「ある時点において、操作スイッチが操作されたならば生じるであろう選択結果を予測する（あるいは特定する）ために使用可能な、選択処理に関係する基礎情報」のことであり、選択情報としては、例えば、「ある時点におけるカーソル位置情報」や「ある時点におけるカーソルによって指定される選択肢に対応づけられているイベントの情報」を利用することができる。すなわち、例えば、「カーソル位置情報」に基づいて、その時点でカーソルによって指定されている選択肢を特定することができ、したがって、その時点における選択結果（つまり、結果的にどのようなイベントが実行されるか）を予測する（特定する）ことが可能であり、「カーソル位置情報」は、選択情報として利用することができる。同様に、「ある時点におけるカーソルによって指定される選択肢に対応づけられているイベントの情報」が判明すれば、その時点における選択結果（実行されるイベント内容）を予測する（特定する）ことができ、「イベントの情報」も選択情報として利用することができる。
【００１４】
選択情報比較部は、第１の時点において得られる第１の選択情報と、第２の時点において得られる第２の選択情報とを比較し、各選択情報によって予測される選択結果（すなわち、実行されるイベント）が一致するか否かを検出する。選択結果が同じであるということは、操作スイッチオン時点（第１の時点）におけるカーソルと、スイッチオフ時点（第２の時点）におけるカーソルとが同じ選択肢上にあるということであり、一方、選択結果が異なるということは、両時点におけるカーソルの各々が異なる選択肢上にあるということであり、カーソル位置が瞬時的に大きくずれたことを意味する。この状態でイベント実行が許可されると、位置が瞬時的に変動した後のカーソルによって、誤った選択肢が選択される可能性が極めて高い。
【００１５】
そこで、イベント生成部は、選択情報比較部によって一致が検出された場合のみ、実行イベント（実行すべきイベント）を生成し、一致が検出されないときは、実行イベントを生成しない。実行イベントが生成されないため、イベント実行部によって、誤ったイベントが実行されることがない。このように、本態様によれば、カーソル位置が瞬時的に大きくずれた場合であっても、メニュー等の誤選択が確実に防止される。したがって、例えば、誤ってハードディスクの消去等が実行されることがなく、安心してデータ処理システム（例えばメニュー選択システム）を使用できるようになる。また、本態様の構成は、特別なハードウエアの追加が不要であり、ハードウエアコストの上昇を招くことがなく、また、実施が容易である。
【００１６】
なお、上述の「操作スイッチ」は、例えば押しボタンスイッチやスライド式のスイッチ等である。これらのスイッチには、突起状スイッチ、平面状のスイッチの双方が含まれる。操作スイッチは、例えばユーザの指等による圧力によりオンし、圧力の解除によってオフするタイプのスイッチであり、筐体の主面に設けられているもの、筐体の側面に設けられているものを含む。また、上述の「イベント」とは、コンピュータプログラムの実行に際し、何らかのアクションが発生した際にプログラムに発信される情報（メッセージと呼ばれることもある）をいい、例えば、そのイベントによって、プログラムが実行すべき処理（処理内容）が特定される。また、「実行イベント」は、実際に実行される（あるいは実行すべき）イベントのことであり、より具体的には、例えば、プログラムが実行すべき処理を特定する情報をもつイベント（あるいはその処理内容）のことである。
【００１７】
（２）本発明のデータ処理装置の他の態様では、前記カーソル位置情報を、少なくとも前記第１の時点から前記第２の時点までの時間にわたって記憶するカーソル位置記憶部を有し、前記選択情報比較部は、前記カーソル位置記憶部から、前記第１のカーソル位置情報および前記第２のカーソル位置情報を読み出し、前記第１のカーソル位置情報に基づいて特定される選択肢と、前記第２のカーソル位置情報によって特定される選択肢とが一致するか否かを検出し、これによって前記第１の選択結果と前記第２の選択結果の一致／不一致を検出する。
【００１８】
本態様では、選択情報として、カーソル位置検出部から出力されるカーソル位置情報を使用する。カーソル位置記憶部は、所定の期間（例えば１秒間）分のカーソル位置情報を記憶する。カーソル位置記憶部は、例えば、一定時間毎（例えばテレビ画面のフレームレートと同期する１／６０毎）にカーソル位置情報を記憶することができる。
【００１９】
また、選択情報比較部は、例えば、第２の時点（操作スイッチのターンオフが検出された時点）において、第１の時点（操作スイッチのターンオンが検出された時点）および第２の時点の各々に対応する第１および第２のカーソル位置情報を、カーソル位置記憶部から読み出し、比較処理ならびに一致検出処理を実行する。選択情報比較部によるカーソル位置情報の読み出しタイミングは、種々、変形が可能である。例えば、選択情報比較部は、第１の時点で第１のカーソル位置情報を読み出し、第２の時点で第２のカーソル位置情報を読み出すこともできる。
【００２０】
（３）本発明のデータ処理装置の他の態様では、前記カーソルにより特定される選択肢に対応するイベントを仮イベントとして、少なくとも前記第１の時点から前記第２の時点までの時間にわたって記憶する仮イベント記憶部を有し、前記選択情報比較部は、前記仮イベント記憶部から、前記第１の時点における第１の仮イベントおよび前記第２の時点における第２の仮イベントを読み出し、前記第１の仮イベントと前記第２の仮イベントとが一致するか否かを検出し、これによって前記第１の選択結果と前記第２の選択結果の一致／不一致を検出する。
【００２１】
本態様では、選択情報として、「カーソルによって指定される選択肢に対応づけられているイベントの情報」を使用する。ある時点において、カーソルにより特定される選択肢に対応づけられているイベントは、選択の確定前において形式的に特定されるイベントであり、実際に選択されるか否かは不明であり、「実行イベント（実際に実行されるイベント）」とは区別する必要があるため、ここでは、「仮イベント」と表記する。
【００２２】
仮イベント記憶部は、所定の期間（例えば１秒間）分の仮イベントを記憶する。仮イベント記憶部は、例えば、一定時間毎（例えばテレビ画面のフレームレートと同期する１／６０毎）に仮イベントを記憶することができる。
【００２３】
また、選択情報比較部は、例えば、第２の時点（操作スイッチのターンオフが検出された時点）において、第１の時点（操作スイッチのターンオンが検出された時点）および第２の時点の各々に対応する第１および第２の仮イベントを、仮イベント記憶部から読み出し、比較処理ならびに一致検出処理を実行する。選択情報比較部による仮イベントの読み出しタイミングは、種々、変形が可能である。例えば、選択情報比較部は、第１の時点で第１の仮イベントを読み出し、第２の時点で第２の仮イベントを読み出すこともできる。
【００２４】
（４）本発明のデータ処理システムの一態様は、本体の空間中における動きに応じて生成される物理量信号と、前記本体に設けられている操作スイッチの操作によって発生するスイッチ操作信号と、をデータ処理装置に送信するポインティングデバイスと、上記いずれかのデータ処理装置と、を含む。
【００２５】
これによって、ポインティングデバイスのぶれに起因する誤った選択を確実に防止することができる、信頼性の高いデータ処理システム（メニュー選択システム等）を実現することができる。
【００２６】
このように、本発明の少なくとも一つの態様によれば、例えば、ポインティングデバイスのぶれに起因する誤った選択を確実に防止することができ、例えば、信頼性の高いメニュー選択システムや、画面上でカーソルを移動させる必要があるゲームシステム等のデータ処理システム（例えば、３次元入力装置（ポインティングデバイス）ならびにデータ処理装置を含む）を実現することができる。また、本発明の少なくとも一つの態様によれば、実施が容易でかつハードウエアコストの上昇を招くことなく、誤ったメニュー選択を確実に防止することができる。
【発明を実施するための最良の形態】
【００２７】
次に、本発明の実施形態について、図面を参照して説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成のすべてが、本発明の解決手段として必須であるとは限らない。
【００２８】
（第１の実施形態）
本実施形態では、選択情報として、カーソル位置検出部から出力されるカーソル位置情報を使用し、カーソル位置情報の比較によって、操作スイッチのターンオン時ならびにターンオフ時における選択結果を予測（特定）し、両者の一致／不一致を検出し、一致が検出されないときは、実行イベントを生成しないことにより、誤ったメニュー等の選択を確実に防止する。
【００２９】
ここで、「選択情報」とは、「ある時点において、操作スイッチが操作されたならば生じるであろう選択結果を予測する（あるいは特定する）ために使用可能な、選択処理に関係する基礎情報」のことであり、選択情報としては、例えば、「ある時点におけるカーソル位置情報」や「ある時点におけるカーソルによって指定される選択肢に対応づけられているイベントの情報」を利用することができる。すなわち、例えば、「カーソル位置情報」に基づいて、その時点でカーソルによって指定されている選択肢を特定することができ、したがって、その時点における選択結果（つまり、結果的にどのようなイベントが実行されるか）を予測する（特定する）ことが可能であり、「カーソル位置情報」は、選択情報として利用することができる。
【００３０】
（データ処理システムの構成例と動作例）
図１は、データ処理システムの一例であるメニュー選択システムの構成の一例を示す図である。図１のメニュー選択システムは、３次元ポインティングデバイス１００と、データ処理装置２００と、を含む。３次元ポインティングデバイスは、空間中における動き（例えば、姿勢、回転、並進の少なくとも一つ）に応じた物理量信号を生成する機能をもつ入力装置であり、例えば３次元マウスである。「ポインティングデバイス」は、コンピュータシステム等における入力デバイスであり、最も広義に解釈するものとする（例えば、入力装置と同義に解釈する）。また、データ処理装置２００は、例えば、コンピュータ本体であり、本実施形態では、ユーザによるメニュー選択を実現するための情報処理（メニュー表示処理やイベント実行等）を行う。
【００３１】
３次元ポインティングデバイス１００とデータ処理装置２００とは、通信（有線通信、無線通信のいずれでもよく、無線通信としては、例えば赤外光を使用することができる）によって情報を送受信することができる。図１のメニュー選択システムでは、両者は、アンテナＡＮ１，ＡＮ２を経由した無線通信によって相互に情報を交換することができる。
【００３２】
３次元ポインティングデバイス１００は、本体（筐体）の空間中における動きに応じた物理量信号と、操作スイッチの操作によって発生するスイッチ操作信号とをデータ処理装置２００に向けて送信することができる。
【００３３】
３次元ポインティングデバイス１００は、３次元モーションセンサ１１０を有する。この３次元モーションセンサ１１０は、ｘ軸についての角速度を検出する第１のジャイロセンサ（角速度センサ）ＭＳ１と、ｙ軸についての角速度を検出する第２のジャイロセンサＭＳ２と、ｚ軸についての角速度を検出する第３のジャイロセンサＭＳ３と、３軸（ｘ軸，ｙ軸，ｚ軸）の各々についての加速度を検出する３軸加速度センサ（３次元加速度センサ）ＭＳ４と、を有する。
【００３４】
また、３次元ポインティングデバイス１００は、ユーザが操作する操作スイッチ（ここでは押下型スイッチ）ＳＷと、Ａ／Ｄ変換器１１２ａ〜１１２ｄと、ＣＰＵ１１６を搭載する制御部１１４と、メモリ１１９と、電源１２１と、通信部（通信インタフェース）１１８と、アンテナＡＮ１と、を有する。
【００３５】
３次元モーションセンサ１１０は、角速度および加速度を検出し、検出された物理量に対応する物理量信号を出力する。Ａ／Ｄ変換器１１２ａ〜１１２ｃの各々は、第１のジャイロセンサＭＳ１〜第３のジャイロセンサＭＳ３の各々から出力されるアナログ信号である角速度信号をデジタル信号に変換する。また、Ａ／Ｄ変換器１１２ｄは、３軸加速度センサＭＳ４から出力されるアナログ信号である加速度信号をデジタル信号に変換する。各Ａ／Ｄ変換器１１２ａ〜１１２ｄは、デジタル信号である物理量信号ＰＱ１〜ＰＱ４（各物理量信号を総称して物理量信号ＰＱという場合がある）を出力し、各物理量信号ＰＱ１〜ＰＱ４は、制御部１１４に供給される。
【００３６】
また、押下型スイッチＳＷは、例えば押しボタンスイッチであり、突起状スイッチ、平面状のスイッチの双方が含まれる。例えばユーザの指等による圧力によりオンし、圧力の解除によってオフするタイプのスイッチであり、筐体の主面に設けられているもの、筐体の側面に設けられているものを含む。なお、「押下型スイッチ」は、操作スイッチの一例であり、これに限定されるものではない。操作スイッチの他の例としては、スライド式のスイッチがある。
【００３７】
ユーザによって操作スイッチ（押下型スイッチＳＷ）操作されるとき、指等によって圧力が加えられるため、その影響を受けて本体（筐体）が、空間中において微妙に動く場合があり、この不要な動きによってメニュー等の誤選択が生じる場合がある。そこで、本実施形態では、データ処理装置２００におけるデータ処理方法を工夫することによって、３次元ポインティングデバイス１００の不要な動きに起因するメニューの誤選択を確実に防止する。
【００３８】
データ処理装置２００は、受信した物理量信号およびスイッチ操作信号に基づくデータ処理によって、表示部に表示される複数の選択肢の中から選択された一つの選択肢に対応するイベントを生成し、生成されたイベントを実行する。なお、「イベント」とは、コンピュータプログラムの実行に際し、何らかのアクションが発生した際にプログラムに発信される情報（メッセージと呼ばれることもある）をいい、例えば、そのイベントによって、プログラムが実行すべき処理（処理内容）が特定される。また、「実行イベント」は、実際に実行されるイベントであり、具体的には、例えば、プログラムが実行すべき処理を特定する情報をもつイベント（あるいはその処理内容）のことである。
【００３９】
データ処理装置２００は、通信部（通信インタフェース）２１０と、受信した物理量信号に基づいて、カーソルＣＳ１（ＣＳ２）の位置を検出し、カーソル位置情報を出力するカーソル位置検出部２１２と、表示パネル３００上に、複数の選択肢ＩＮを有するメニュー画像を表示すると共に、カーソル位置検出部２１２から出力されるカーソル位置情報に基づいて、メニュー画像上にカーソルを表示する表示制御部２１６と、を含む。
【００４０】
表示制御部２１６は、カーソル表示部２１７と、メニュー表示部２１９と、を含む。図１において、表示パネル３００上には、複数の選択肢ＩＮ（図中、Ａ〜Ｈ,１〜４と表記されている）と、カーソルＣＳ１（ＣＳ２）が表示されている。カーソル表示部２１７は、カーソル表示が必要な場合、カーソル位置検出部２１２からカーソル位置情報を得て、カーソルＣＳ１（ＣＳ２）を、表示パネル３００上に表示する。
【００４１】
複数の選択肢ＩＮ（Ａ〜Ｈ,１〜４）の各々には、複数のイベントの各々が１：１に対応付けられている。例えば、現在表示されているメニューが、記憶媒体（例えば、ＣＤＲＯＭ）やコンピュータシステムのハードディスクに関する処理メニューであるとし、例えば、選択肢Ｅが「記憶媒体に蓄積されている情報のコピー（複製の作成）」であり、選択肢１が「ハードディスクの初期化」であるとする。この場合、選択肢Ｅには、「記憶媒体のコピー処理」というイベントが対応付けられており、選択肢１には、「ハードディスクの初期化処理」というイベントが対応付けられている。
【００４２】
データ処理装置２００は、さらに、受信したスイッチ操作信号を検出するスイッチ操作信号検出部２１４と、カーソル位置検出部２１２から出力されるカーソル位置情報を、所定の時間にわたって記憶するカーソル位置記憶部２２０と、選択情報比較部としてのカーソル位置比較部２２２と、メニュー情報ＭＤを一時的に記憶するメモリ２２６と、イベント生成部２２４と、イベント実行部２２８と、を有する。
【００４３】
カーソル位置記憶部２２０は、一定時間毎（例えばテレビ画面のフレームレートと同期する１／６０毎）にカーソル位置検出部２１２から出力されるカーソル位置情報ＣＤを一時的に記憶する。カーソル位置記憶部２２０は、例えば、シフトレジスタにより構成することができ、また、メモリ素子を用いたリングバッファにより構成することもできる。カーソル位置記憶部２２０は、１／６０秒毎に入力されるカーソル位置情報（カーソル位置データ）ＣＤを、例えば１秒間、記憶することができる。これにより、ある時刻（例えば、スイッチ操作信号検出部２１４からスイッチオン検出信号Ｓ１ｏｎが出力される時刻）を基準とし、直前の1秒間におけるカーソル位置情報の各々を、カーソル位置記憶部２２０から読み出すことが可能となる。
【００４４】
スイッチ操作信号検出部２１４は、３次元ポインティングデバイス１００の押下式スイッチＳＷが、第１状態（例えばオフ状態）から第２状態（例えばオン状態）に変化すると、そのことを検出して、第１のスイッチ操作信号であるスイッチオン検出信号Ｓ１ｏｎを出力する。また、押下式スイッチＳＷが、第２状態（オン状態）から第２状態（オフ状態）に変化すると、そのことを検出して、第２のスイッチ操作信号であるスイッチオフ検出信号Ｓ１ｏｆｆを出力する。スイッチオン検出信号Ｓ１ｏｎならびにスイッチオフ検出信号Ｓ１ｏｆｆは、カーソル位置比較部（選択情報比較部）２２２およびイベント生成部２２４の各々に供給される。
【００４５】
上述のとおり、メニューの誤った選択が生じる原因は、押下型スイッチ（操作スイッチ）ＳＷの操作に起因して３次元ポインティングデバイス１００の本体に不要な動きが生じ、カーソル位置がずれてしまうことである。カーソルの位置ずれが生じると、押下型スイッチ（操作スイッチ）ＳＷのターンオンが検出される時点（第１の時点：スイッチオン信号Ｓ１ｏｎが出力される時点）におけるカーソル位置と、ターンオフが検出される時点（第２の時点：スイッチオフ信号Ｓ１ｏｆｆが出力される時点）におけるカーソル位置が異なる。位置ずれが生じたとしても、カーソルが同じ選択肢上にある場合にはメニューの誤選択は生じないが、各時点におけるカーソルの各々が異なる選択肢上にある場合には、メニューの誤選択が生じる可能性が高い。
【００４６】
そこで、選択情報比較部として機能するカーソル位置比較部２２２は、第１の時点に対応する第１のカーソル位置情報と、第２の時点に対応する第２の選択情報とを比較し、第１の選択情報に基づく第１の選択結果と、第２の選択情報に基づく第２の選択結果とが同じであるか否かを検出する。例えば、第１および第２の時点の各々において選択される選択肢が同じであるか否か、あるいは、選択される選択肢に対応付けられているイベントが同じであるか否かを検出する。
【００４７】
選択結果（選択される選択肢やイベント）が同じであるということは、押下型スイッチＳＷのターンオン時点（第１の時点）におけるカーソルと、ターンオフ時点（第２の時点）におけるカーソルとが同じ選択肢上にあるということであり、一方、選択結果が異なるということは、両時点におけるカーソルの各々が異なる選択肢上にあるということであり、カーソル位置が瞬時的に大きくずれたことを意味する。この状態でイベント実行が許可されると、位置が瞬時的に変動した後のカーソルによって、誤った選択肢が選択される可能性が極めて高いため、このような状態では、イベントの実行ができないようにする。
【００４８】
すなわち、カーソル位置比較部２２２は、選択結果の一致が検出されたときは、第１の時点または第２の時点におけるカーソル位置情報（ＣＤｘまたはＣＤｙ）、あるいは、各時点において選択される選択肢に対応づけられているイベント（すなわち仮イベントＴＥＶ）を、実行イベントを特定するための情報としてイベント生成部２２４に送る。一方、選択結果が不一致であったときは、実行イベントを特定するための情報を送らない。この場合、代わりに、イベント実行不可を示すフラグ等を送ることも可能である。
【００４９】
イベント生成部２２４は、カーソル位置比較部２２２から実行イベントを特定するための情報が送られてきた場合のみ、すなわち、カーソル位置比較部２２２によって一致が検出された場合にのみ、実行イベント（実行すべきイベント）ＥＶＴを生成し、一致が検出されないときは、実行イベントＥＶＴを生成しない。実行イベントＥＶＴが生成されない場合は、イベント実行部２２８（例えば、アプリケーションプログラム）によってイベントが実行されないことから、誤ったイベントの実行が確実に防止される。
【００５０】
なお、上述した各部は、例えば、ハードウエアの回路で構成することができる。但し、これに限定されるものではなく、各部は、例えば、ＣＰＵとソフトウエアによって実現される機能ブロックによって構成することも可能である。
【００５１】
（スイッチの操作状態と３次元モーションセンサから出力される物理量信号のレベルとの関係についての考察）
図２は、押下式スイッチ（操作スイッチ）の操作状態と、３次元モーションセンサから出力される物理量信号のレベルとの関係を示す図である。図２において、横軸は経過時間（ｔ）を示し、縦軸は、ｘ軸周りの角速度信号（物理量信号）ＰＱ１の信号レベルを示している。また、図中、Ｐ１〜Ｐ６の各々は、角速度信号（物理量信号）ＰＱ１のピークを示している。
【００５２】
また、図２において、期間Ｔ１（時刻ｔ１〜ｔ２）は、カーソル走査期間（ユーザが、メニュー選択のためにカーソルを走査（移動）している期間）である。期間Ｔ２（時刻ｔ２〜ｔ３）は、制動期間（所望の選択肢に到達した（あるいは近づいた）カーソルの移動を停止するために必要な期間）である。期間Ｔ３（時刻ｔ３〜ｔ４）は、スイッチオン期間（具体的には、機械式スイッチの接点がオンしている期間）である。
【００５３】
カーソル走査期間Ｔ１においては、角速度信号（物理量信号）ＰＱ１の信号レベルは、時間経過と共に大きく変化し、ピークＰ１〜Ｐ４が生じる。制動期間Ｔ２においては、角速度信号（物理量信号）ＰＱ１の信号レベルの変化幅が小さくなり、信号レベルは安定化する。時刻ｔ３に押下式スイッチ（操作スイッチ）ＳＷがターンオンし、時刻ｔ４にターンオフする。
【００５４】
図２から明らかなように、押下式スイッチＳＷのターンオン時（時刻ｔ３）の直後に、角速度信号（物理量信号）ＰＱ１の信号レベルが瞬時的に大きく変化し、ピークＰ５が生じる。また、押下式スイッチＳＷのターンオフ時（時刻ｔ４）の直後においても、角速度信号（物理量信号）ＰＱ１の信号レベルが瞬時的に大きく変化し、ピークＰ６が生じる。ここで、問題となるのは、ピークＰ５である。角速度信号（物理量信号）ＰＱ１の信号レベルが瞬時的に大きく変化すれば、これに対応して、カーソルの位置が瞬時的に大きく変化する。そして、瞬時的な位置変動が生じた後のカーソルによって選択肢が選択されると、誤った処理が実行されてしまう可能性が高い。
【００５５】
時刻ｔ４においてスイッチのオフが検出されるが、このタイミング（時刻ｔ４）におけるカーソルの位置は、瞬時的な位置変動が生じた後のカーソル位置である。そこで、瞬時的な変動が生じる前と後とで、選択結果が異なるか否かを検出するために、スイッチオン時（時刻ｔ３）におけるカーソル位置と、スイッチオフ時（時刻ｔ４）におけるカーソル位置とをカーソル位置記憶部２２０から取り出して両者を比較し、選択結果（同一の選択肢が選択されるか否か、同一のイベントが生成されるか否か等）の一致／不一致を検出する。そして、上述のとおり、一致する場合にのみ、イベントを実行する。
【００５６】
（具体的動作例）
図３（Ａ），図３（Ｂ）は、図１に示されるデータ処理装置における、イベント生成のための具体的な動作例を示す図である。図３（Ａ）に示されるように、表示パネル３００上に表示されている選択肢（Ａ，Ｅ，１）の各々には、イベント１，イベント２，イベント３の各々が１：１に対応付けられている。例えば、選択肢Ｅが「記憶媒体に蓄積されている情報のコピー（複製の作成）」というメニューであり、選択肢１が「ハードディスクの初期化」というメニューであるとする。この場合、選択肢Ｅには、「記憶媒体のコピー処理」というイベント２が対応付けられており、選択肢１には、「ハードディスクの初期化処理」というイベント３が対応付けられている。
【００５７】
そして、図２の時刻ｔ３（スイッチオン時：カーソルの位置変動が生じる前）におけるカーソルがＣＳ１であり、時刻ｔ４（スイッチオフ時：カーソルの位置変動が生じた後）におけるカーソルがＣＳ２であるとする。この場合、ユーザは、イベント２の実行を希望しているにもかかわらず、実際には、意図しないイベント３が実行される可能性が高い。
【００５８】
そこで、本実施形態では、図３（Ｂ）に示すように、瞬時的なカーソル位置の変動が生じる前と生じた後のカーソル位置を比較し、イベント実行の可否を判定する。すなわち、カーソル位置記憶部２２０には、少なくとも、上述のスイッチオン期間Ｔ３に対応する時間分のカーソル位置情報ＣＤが記憶される。図中、ＣＤ１〜ＣＤｎ＋２の各々は、カーソル位置記憶部２２０に蓄積されている、１／６０秒毎にサンプリングされたカーソル位置情報を示している。
【００５９】
カーソル位置比較部２２２は、例えば、時刻ｔ４において、スイッチ操作信号検出部２１４からスイッチオフ検出信号Ｓ１ｏｆｆが出力されると、そのタイミングで、スイッチオン時（時刻ｔ３）に対応するカーソル位置情報ＣＤ３と、スイッチオフ時（時刻ｔ４）に対応するカーソル位置情報ＣＤｎ+１を、カーソル位置記憶部２２０から読み出し、両者を比較する。なお、カーソル位置情報の読み出しタイミングは、種々、変形が可能である。例えば、カーソル位置比較部２２２は、時刻ｔ３で対応するカーソル位置情報ＣＤ３を読み出し、時刻ｔ４で対応するカーソル位置情報ＣＤｎ+１を読み出すこともできる。また、カーソル位置情報を、時刻ｔ４以後に読み出すことも可能である。
【００６０】
カーソル位置比較部２２２は、例えば、メニュー情報ＭＤと、読み出したカーソル位置情報ＣＤ３，ＣＤｎ+１とを照合（突き合わせ）して、各カーソル位置が、同一の選択肢上にあるか否かを判定する。各カーソル位置が同一の選択肢上にあると判断されたときは、選択結果の一致が検出されたことになり、各カーソル位置が異なる選択肢上にあると判断されるときは、選択結果の不一致が検出されたことになる。
【００６１】
カーソル位置比較部２２２は、選択結果の一致が検出されたときは、時刻ｔ３または時刻ｔ４に対応するカーソル位置情報（ＣＤ３またはＣＤｎ+１）、あるいは、各時点において選択される選択肢Ｅに対応づけられているイベント２（すなわち仮イベントＴＥＶ）を、実行イベントを特定するための情報としてイベント生成部２２４に送る。一方、選択結果が不一致であったときは、実行イベントを特定するための情報を送らない。この場合、代わりに、イベント実行不可を示すフラグ等を送ることも可能である。
【００６２】
イベント生成部２２４は、カーソル位置比較部２２２から実行イベントを特定するための情報が送られてきた場合のみ、すなわち、カーソル位置比較部２２２によって一致が検出された場合にのみ、実行イベント（実行すべきイベント）を生成し、一致が検出されないときは、実行イベントを生成しない。実行イベントが生成されない場合は、イベント実行部２２８（例えば、アプリケーションプログラム）によってイベントが実行されないことから、誤ったイベントの実行が確実に防止される。
【００６３】
このように、本実施形態によれば、カーソル位置が瞬時的に大きくずれた場合であっても、メニューの誤選択が確実に防止される。したがって、例えば、誤ってハードディスクの消去等が実行されることがなく、安心してメニュー選択システムを使用できるようになる。また、本実施形態の構成は、特別なハードウエアの追加が不要であり、ハードウエアコストの上昇を招くことがなく、また、実施が容易である。
【００６４】
（第２の実施形態）
本実施形態では、選択情報として、カーソルによって指定される選択肢に対応づけられているイベント情報（仮イベント）を使用し、仮イベントの比較によって、操作スイッチのターンオン時ならびにターンオフ時における選択結果を予測（特定）し、両者の一致／不一致を検出し、一致が検出されないときは、実行イベントを生成しないことにより、誤ったメニュー等の選択を確実に防止する。
【００６５】
図４は、データ処理装置の一例であるメニュー選択システムの構成の他の例を示す図である。図４に示されるデータ処理装置１００では、仮イベント生成部２５０が新たに設けられており、また、図１のカーソル位置記憶部２２０の代わりに仮イベント記憶部２５２が設けられ、また、選択情報比較部として、図１のカーソル位置比較部２２２の代わりに仮イベント比較部２５４が設けられている。
【００６６】
仮イベント生成部２５０は、カーソル位置検出部２１２から出力されるカーソル位置情報ＣＤと、メニュー表示部２１９から出力されるメニュー情報ＭＤとを照合（付き合わせ）して、カーソルによって指定される選択肢を特定し、その選択肢に１：１に対応づけられている仮イベントを生成する。生成された仮イベントＴＥＶは、仮イベント記憶部２５２に蓄積される。仮イベント記憶部２５２には、少なくともスイッチオン期間Ｔ３に相当する時間分の仮イベントＴＥＶが蓄積される。例えば、約１秒間にわたって、１／６０秒毎に仮イベントＴＥＶを取得し、取得された仮イベントＴＥＶを順次、仮イベント記憶部２５２に蓄積する。
【００６７】
仮イベント比較部２５４は、例えば、スイッチオフ時である時刻ｔ４おいてスイッチオフ検出信号Ｓ１ｏｆｆが出力されると、スイッチオン時である時刻ｔ３ならびに時刻ｔ４における仮イベント（ＴＥＶｘおよびＴＥＶｙ）を、仮イベント記憶部２５２から読み出して両者を比較し、両者が一致しているか否かを検出する。仮イベント比較部２５４は、一致が検出された場合には、一致が検出された仮イベントＴＥＶｘ（＝ＴＥＶｙ）をイベント生成部２２４に送る。
【００６８】
イベント生成部２２４は、例えば、スイッチオフ検出信号Ｓ１ｏｆｆが入力されるタイミング（時刻ｔ４）から所定の時間だけ遅れたタイミングにおいて、仮イベント比較部２５４から供給されている仮イベントＴＥＶｘ（＝ＴＥＶｙ）を、そのまま実行イベントＥＶＴとして特定し、特定された実行イベントＥＶＴをイベント実行部２２８に供給する。得られる効果は、前掲の実施形態と同様である。
【００６９】
図５（Ａ），図５（Ｂ）は、図４に示されるデータ処理装置における、イベント生成のための具体的な動作例を示す図である。図５（Ａ）は、選択成功の場合（一致が検出される場合）の動作例を示し、図５（Ｂ）は、選択失敗の場合（一致が検出されない場合）の動作例を示す。
【００７０】
図５（Ａ）において、仮イベント記憶部２５２は、仮イベントＴＥＶ１〜ＴＥＶｎ＋２が蓄積されている。時刻ｔ４において、スイッチオン検出信号Ｓ１ｏｆｆが仮イベント比較部２５４に入力されると、時刻ｔ３ならびに時刻ｔ４の各々に対応する仮イベントＴＥＶ３、ＴＥＶｎ＋１が、仮イベント比較部２５４によって読み出される。この仮イベントＴＥＶ３、ＴＥＶｎ＋３は、例えば、図３（Ａ）に示されるイベント２に相当する。図５（Ａ）では、各仮イベントの一致が検出され、仮イベント比較部２５４は、イベント２をイベント生成部２２４に送る。イベント生成部２２４は、イベント２を実行イベントとし、そのイベント２をイベント実行部２２８に送る。
【００７１】
一方、図５（Ｂ）では、各仮イベントの一致が検出されず、したがって、仮イベント比較部２５４は、仮イベント情報をイベント生成部２２４には送らない（無出力）。これにより、イベント生成部２２４は実行イベントＥＶＴを生成することができず、したがって、イベント実行部２２８によって、誤ったイベントが実行されることがない。
【００７２】
（第３の実施形態）
前掲の実施形態では、第１時点および第２時点に対応する選択結果の一致が検出されないと、選択失敗となり、イベントが実行されない。実際には、選択失敗が連続することも生じ得る。選択の失敗が続くと、若干、操作性が悪くなるのは否めないが、以下のような対策を実行すれば、実用上の不便を、ユーザにほとんど感じさせないようにすることができる。
【００７３】
（失敗が連続することを抑制するための工夫）
（１）例えば、選択の失敗が生じた場合、選択肢の面積を拡大する。例えば、押下型スイッチを採用する場合、カーソルは縦方向にぶれる傾向がある。したがって、選択肢を縦長表示とすることによって、カーソルのブレが生じたとしても、位置変動後のカーソルが同じ選択肢上にとどまる確率を高めることができる。
（２）メニューの各選択肢は所定の有効選択領域を有しているが、表示パネルには、その中心部の所定面積のターゲットのみを表示しておく。選択の失敗前は、各選択肢のターゲットを第１のサイズで表示し、選択の失敗後は、第１のサイズよりも小さい第２のサイズの表示に切り換える。すなわち、ターゲットを小さくして、ユーザに、より正確なメニュー選択（カーソル移動）を促す。この場合、カーソルがターゲットから外れたとしても、カーソルが有効領域内にとどまる確率が高く、選択の失敗が連続する可能性が低下する。
【００７４】
以上説明した本発明の実施形態によれば、例えば、以下の効果を得ることができる。但し、以下の効果は同時に得られるとは限らず、以下の効果の列挙が、本発明の技術的思想を不当に限定する根拠に用いられてはならない。
（１）ハードディスクの初期化のように、誤った選択が許されない場合でも、ポインティングデバイスのブレに起因する誤った選択がなされず、信頼性が高いメニュー選択システム等のデータ処理システムが得られる。
（２）副次的効果として、選択を誤ったとき、わざと、選択肢をブレさせれば（離したときに、わざと押したときの選択肢とは違う選択肢を指す）と、自動的に指定のキャンセルを行うことができるようになり、使い勝手が向上する。
（３）３次元入力デバイスを安心して利用できるようになる。
（４）現在、コンピュータ上で3次元ＣＡＤやゲーム等で、３次元空間を扱うことが多くなり、それにともない３次元運動を入力できるデバイスの必要性が高まっている。本発明の実施形態の発明によれば、信頼性が高く、操作性に優れた小型の３次元ポインティングデバイスを用いたシステムを実現される。
【００７５】
このように、本発明の少なくとも一つの実施形態によれば、例えば、実施が容易でかつハードウエアコストの上昇を招くことのない方法によって、ポインティングデバイスのぶれに起因する誤った選択を確実に防止することができ、例えば、信頼性の高いメニュー選択システムや、画面上でカーソル等を移動させる必要があるゲームシステム等のデータ処理システム（例えば３次元入力装置（ポインティングデバイス）ならびにデータ処理装置を含む）を実現することができる。
【００７６】
なお、本発明の実施形態について詳述したが、本発明の新規事項および効果から逸脱しない範囲で、多くの変形が可能であることは、当業者には容易に理解できるであろう。したがって、このような変形例は、すべて本発明に含まれるものとする。例えば、上述の実施形態では、メニュー選択システムを例にとって説明したが、本発明は、３次元入力装置を用いたゲームシステムのゲーム操作や、カメラやロボットの遠隔操作システムにおける遠隔制御等に広く利用することができる。また、ポインティングデバイスという用語は、最も広義に解釈するものとし、空間的変位に対応する物理量信号とスイッチ操作信号とを入力できる入力装置を広く含むものとする。また、３次元モーションセンサの構成は、前掲の実施形態に限定されるものでではなく、その他の構成（例えば、ジャイロセンサと加速度センサに加えて、さらに磁気センサを有する構成）も採用することができる。また、空間的変位には、ポインティングデバイスの姿勢、回転が含まれ、また、並進も含まれる。また、１次元あるいは２次元の変位を検出するポインティングデバイスも含まれる。なお、ポインティングデバイスの並進（水平移動や垂直移動等）は、加速度センサの出力の変動を時間で積分することによって算出することができる。
【図面の簡単な説明】
【００７７】
【図１】データ処理システムの一例であるメニュー選択システムの構成の一例を示す図
【図２】押下式スイッチ（操作スイッチ）の操作状態と、３次元モーションセンサから出力される物理量信号のレベルとの関係を示す図
【図３】図３（Ａ），図３（Ｂ）は、図１に示されるデータ処理装置における、イベント生成のための具体的な動作例を示す図
【図４】データ処理システムの一例であるメニュー選択システムの構成の他の例を示す図
【図５】図５（Ａ），図５（Ｂ）は、図４に示されるデータ処理装置における、イベント生成のための具体的な動作例を示す図
【符号の説明】
【００７８】
１００  ３次元ポインティングデバイス、１１０  ３次元モーションセンサ、
１１２ａ〜１１２ｄ  Ａ／Ｄ変換器、１１４  制御部、１１６  ＣＰＵ、
１１８  通信部（通信インタフェースまたは送信インタフェース）、１１９  メモリ、
１２１  電源、ＡＮ１，ＡＮ２  アンテナ、２００  データ処理装置、
２１０  通信部、２１２  カーソル位置検出部、２１４  スイッチ操作信号検出部、
２１６  表示制御部、２１７  カーソル表示部、２１９  メニュー表示部、
２２０  カーソル位置記憶部、２２２  カーソル位置比較部（選択情報比較部）、
２２４  イベント生成部、２２６  メモリ、２２８  イベント実行部、
２５０  仮イベント生成部、  ２５２  仮イベント記憶部、
２５４  仮イベント比較部（選択情報比較部）、  ３００  表示パネル、
ＩＮ  選択肢、  ＣＳ１，ＣＳ２  カーソルポインタ（カーソルポインタ位置）
【図１】
2010134668.tif 000003
【図２】
2010134668.tif 000004
【図３】
2010134668.tif 000005
【図４】
2010134668.tif 000006
【図５】
2010134668.tif 000007