(57)【要約】      （修正有）【課題】ユーザが入力操作に対して持つ違和感を低減する。【解決手段】操作情報に基づいて、ポインタを表示画面内で移動させる制御部２５と、ポインタが表示画面端に移動した際に、ポインタの状態に基づいて、ポインタを表示画面の周囲に設定された仮想画面内に移動させるか否かを判定する判定部２６と、を備える情報処理装置２０が提供される。情報処理装置２０は、ポインタの仮想画面への移動に制限を設けることができるので、仮想画面へのポインタの移動を希望しないユーザは、ポインタを表示画面内に留めることができる。【選択図】図４
2015028690.tif 000002
【特許請求の範囲】
【請求項１】
操作情報に基づいて、ポインタを表示画面内で移動させる制御部と、
前記ポインタが前記表示画面端に移動した際に、前記ポインタの状態に基づいて、前記ポインタを前記表示画面の周囲に設定された仮想画面内に移動させるか否かを判定する判定部と、を備える情報処理装置。
【請求項２】
前記判定部は、前記ポインタの位置及び移動状態のうち、少なくとも一方に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、請求項１記載の情報処理装置。
【請求項３】
前記判定部は、前記ポインタが前記表示画面の角部に移動したか否かを判定し、判定結果に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、請求項２記載の情報処理装置。
【請求項４】
前記判定部は、前記ポインタの前記表示画面端への入射角に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、請求項２記載の情報処理装置。
【請求項５】
前記判定部は、前記ポインタの前記表示画面端への直線移動距離に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、請求項２記載の情報処理装置。
【請求項６】
前記判定部は、前記ポインタの前記表示画面端への移動速度に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、請求項２記載の情報処理装置。
【請求項７】
前記判定部は、前記ポインタの加速度に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、請求項２記載の情報処理装置。
【請求項８】
前記判定部は、前記ポインタから前記表示画面内のオブジェクトまでの距離に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、請求項２記載の情報処理装置。
【請求項９】
前記制御部は、前記判定部による判定結果を報知する制御を行う、請求項１記載の情報処理装置。
【請求項１０】
操作情報に基づいて、ポインタを表示画面内で移動させることと、
前記ポインタが前記表示画面端に移動した際に、前記ポインタの状態に基づいて、前記ポインタを前記表示画面の周囲に設定された仮想画面内に移動させるか否かを判定することと、を含む情報処理方法。
【請求項１１】
コンピュータに、
操作情報に基づいて、ポインタを表示画面内で移動させる制御機能と、
前記ポインタが前記表示画面端に移動した際に、前記ポインタの状態に基づいて、前記ポインタを前記表示画面の周囲に設定された仮想画面内に移動させるか否かを判定する判定機能と、を実現させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に開示された技術は、表示画面（実画面）の周囲に仮想画面を設定する。そして、この技術は、ユーザによるリモートコントローラ操作に基づいて、ポインタを表示画面及び仮想画面内で移動させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００９−０７２５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示された技術は、ユーザがポインタの仮想画面内への移動を望まない場合であっても、ポインタを仮想画面内に移動させていた。このため、特許文献１に開示された技術では、ユーザが入力操作に違和感を持つ場合があった。
【０００５】
そこで、ユーザが入力操作に対して持つ違和感を低減する技術が求められていた。
【課題を解決するための手段】
【０００６】
本開示によれば、操作情報に基づいて、ポインタを表示画面内で移動させる制御部と、ポインタが表示画面端に移動した際に、ポインタの状態に基づいて、ポインタを表示画面の周囲に設定された仮想画面内に移動させるか否かを判定する判定部と、を備える情報処理装置が提供される。
【０００７】
本開示によれば、操作情報に基づいて、ポインタを表示画面内で移動させることと、ポインタが表示画面端に移動した際に、ポインタの状態に基づいて、ポインタを表示画面の周囲に設定された仮想画面内に移動させるか否かを判定することと、を含む情報処理方法が提供される。
【０００８】
本開示によれば、コンピュータに、操作情報に基づいて、ポインタを表示画面内で移動させる制御機能と、ポインタが表示画面端に移動した際に、ポインタの状態に基づいて、ポインタを表示画面の周囲に設定された仮想画面内に移動させるか否かを判定する判定機能と、を実現させる、プログラムが提供される。
【０００９】
本開示によれば、ポインタの仮想画面への移動に制限を設けることができる。
【発明の効果】
【００１０】
以上説明したように本開示によれば、ポインタの仮想画面への移動に制限を設けることができる。したがって、仮想画面へのポインタの移動を希望しないユーザは、ポインタを表示画面内に留めることができる。これにより、ユーザが入力操作に対して持つ違和感が低減される。なお、本開示に係る技術による効果はここで記載された効果に限定されない。本開示に係る技術は、本明細書中に記載されたいずれかの効果、または他の効果を有するものであってもよい。
【図面の簡単な説明】
【００１１】
【図１】本開示の実施形態に係る情報処理システムの全体構成を示す外観図である。
【図２】同実施形態に係る入力装置の構成を示す機能ブロック図である。
【図３】入力装置のハードウエア構成図である。
【図４】情報処理装置の構成を示す機能ブロック図である。
【図５】情報処理装置のハードウエア構成図である。
【図６】表示画面及び仮想画面の一例を示す説明図である。
【図７】情報処理システムによる処理の手順を示すフローチャートである。
【図８】表示画面の角部の位置を示す説明図である。
【図９】ポインタの入射角等を示す説明図である。
【図１０】ポインタの直線移動距離を示す説明図である。
【図１１】ポインタからオブジェクトまでの距離を示す説明図である。
【図１２】ポインタを仮想画面内に移動させるか否かの判定結果を報知する態様の一例として、ポインタ画像の表示態様を変化させる例を示す説明図である。
【図１３】ポインタを仮想画面内に移動させるか否かの判定結果を報知する態様の一例として、ポインタ画像の表示態様を変化させる例を示す説明図である。
【図１４】ポインタを仮想画面内に移動させるか否かの判定結果を報知する態様の一例として、ポインタ画像の表示態様を変化させる例を示す説明図である。
【図１５】ポインタを仮想画面内に移動させるか否かの判定結果を報知する態様の一例として、表示画面内の画像を振動させる例を示す説明図である。
【図１６】ポインタを仮想画面内に移動させるか否かの判定結果を報知する態様の一例として、音声を出力する例を示す説明図である。
【図１７】ポインタを仮想画面内に移動させるか否かの判定結果を報知する態様の一例として、入力装置を振動させる例を示す説明図である。
【図１８】入力装置が指し示す位置とポインタの位置とのズレの一例を示す説明図である。
【図１９】入力装置が指し示す位置とポインタの位置とのズレの一例を示す説明図である。
【図２０】壁当て補正の手順を説明する説明図である。
【図２１】壁当て補正の手順を説明する説明図である。
【図２２】仮想画面を設定可能な情報処理装置による処理例を説明する説明図である。
【図２３】仮想画面を用いた壁当て補正の手順を説明する説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．背景技術の検討
２．情報処理システムの全体構成
３．入力装置の構成
４．情報処理装置の構成
５．情報処理システムによる処理の手順
【００１４】
＜１．背景技術の検討＞
本発明者は、本実施形態の背景技術を検討することで、本実施形態に係る情報処理システムに想到するに至った。そこで、まず、本実施形態の背景技術について説明する。
【００１５】
近年、表示画面に表示されたポインタを遠隔操作可能な情報処理システムが提案されている。この情報処理システムでは、ポインタを表示画面に表示する情報処理装置と、ポインタを遠隔操作する入力装置とを備える。このような入力装置として、モーションセンサリモートコントローラが提案されている。モーションセンサリモートコントローラには大きく分けて、リモートコントローラの向きを絶対的に検知できるものと、加速度センサ及びジャイロセンサ等が検知した値からリモートコントローラの向きを推定する（すなわち、リモートコントローラの向きを相対的に検出する）ものとが提案されている。
【００１６】
ここで、リモートコントローラの向きとは、例えば、リモートコントローラに予め設定された指向ベクトルの向きを意味する。指向ベクトルは、ジャイロコントローラに予め設定されたベクトルであり、ジャイロコントローラの長さ方向に伸びることが多い。後者のリモートコントローラ（以下、「ジャイロコントローラ」とも称する）は、加速度センサ及びジャイロセンサ等が検知した値に基づいて、指向ベクトルの移動方向及び移動量を検出し、当該移動方向及び移動量に関する操作情報を情報処理装置に送信する。情報処理装置は、当該操作情報に基づいて、表示画面内のポインタを移動させる。このように、情報処理装置は、ジャイロコントローラの絶対的な向きではなく、ジャイロコントローラの相対的な向き（すなわち、ジャイロコントローラの移動方向及び移動量）に基づいて、ポインタを移動させる。
【００１７】
このように、情報処理装置は、ジャイロコントローラの移動方向及び移動量に基づいて、ポインタを移動させるので、ポインタの位置とジャイロコントローラの指示位置（表示画面を含む平面と指向ベクトルとの交点）とは必ずしも一致しない。また、ジャイロコントローラの指示位置とポインタの位置とが一致している場合であっても、ジャイロコントローラの移動にともなって両者にズレが生じうる。このような位置ズレは、ジャイロセンサ等の精度が十分でない場合、ジャイロコントローラまたは情報処理装置内で操作情報の処理が遅延した場合、または、情報処理装置が操作情報をノイズと誤判断した場合等に発生しうる。以下、ジャイロコントローラの移動にともなって生じる位置ズレを「ドリフト」とも称する。ドリフトは、ユーザがジャイロコントローラを動かす毎に大きくなる傾向がある。
【００１８】
ドリフトの一例を図１８に示す。この例では、ユーザは、ジャイロコントローラ１００を動かすことで、表示画面２００に表示されたポインタＰ１００を操作する。情報処理装置は、ポインタＰ１００を矢印画像として表示する。ジャイロコントローラ１００には、指向ベクトル１００ａが設定されており、指向ベクトル１００ａと表示画面２００を含む平面との交点が指示位置１００ｂとなる。指示位置１００ｂとポインタＰ１００の位置との間にはドリフトＤ１が生じている。
【００１９】
また、ユーザは、ジャイロコントローラの指向ベクトルを表示画面の外に向ける場合がある。この場合、情報処理装置は、ポインタを表示画面端までしか移動させることができない。したがって、この場合にもジャイロコントローラの指示位置とポインタの位置との間にずれが生じる。以下、当該ズレを「首折れ」とも称する。
【００２０】
首折れの一例を図１９に示す。この例では、ユーザは、ジャイロコントローラ１００の指向ベクトル１００ｂを表示画面２００の外に向けている。これに対し、情報処理装置は、表示画面２００の端までしかポインタＰ１００を移動させることができない。したがって、首折れＤ２が生じる。
【００２１】
指示位置とポインタの位置とのズレを補正する方法として、いわゆる壁当て補正が提案されている。壁当て補正の方法を図２０〜図２３に基づいて説明する。なお、ここでは、図１９の首折れＤ２を補正する例について説明する。
【００２２】
まず、ユーザは、図２０に示すように、ジャイロコントローラ１００を右に振る。これにより、情報処理装置は、ポインタＰ１００を右方向に移動させる。ユーザは、ポインタＰ１００が表示画面２００の右端に達するまでジャイロコントローラ１００を右に振る。なお、首折れが発生した時点で、指示位置１００ｂはポインタＰ１００よりも左側に位置するので、指示位置１００ｂが表示画面２００の右端に達する前にポインタＰ１００が表示画面２００の右端に達する。
【００２３】
ついで、ユーザは、図２１に示すように、指示位置１００ｂがポインタＰ１００の位置に一致するように、ジャイロコントローラ１００をさらに右にふる。このとき、ポインタＰ１００は表示画面２００の右端に配置されているので、ユーザがジャイロコントローラ１００を右に振っても、ポインタＰ１００の位置は変わらない。したがって、ユーザは、指示位置１００ｂをポインタＰ１００の位置に合わせることができる。
【００２４】
一方、特許文献１に開示されているように、表示画面の周囲に仮想画面を設定する技術も提案されている。この技術では、情報処理装置は、表示画面の周囲に仮想画面を設定する。そして、情報処理装置は、ポインタを表示画面及び仮想画面内で移動させる。この技術によれば、首折れが低減される。以下、その理由を図２２に基づいて説明する。
【００２５】
図２２に示す例では、情報処理装置は、表示画面２００の周囲に仮想画面２００ａを設定している。そして、情報処理装置は、ユーザがジャイロコントローラ１００を動かした場合、指向ベクトル１００ａの移動方向及び移動量に基づいてポインタＰ１００を移動させる。ここで、情報処理装置は、ポインタＰ１００を表示画面及び仮想画面内で移動させる。したがって、情報処理装置は、指示位置１００ｂが表示画面２００の外に出た場合でも、ポインタＰ１００を仮想画面内に移動させることで、ポインタＰ１００の位置と指示位置１００ｂとを一致させることができる。すなわち、情報処理装置は、首折れを低減することができる。
【００２６】
ただし、情報処理装置が仮想画面を表示画面の周囲に設定したとしても、ドリフトは依然として発生する。また、情報処理装置は、仮想画面の外にポインタを移動させることはできないので、ユーザが仮想画面の外に指向ベクトルを向けた場合、首折れが発生する。ドリフトまたは首折れを補正する方法として、上述した壁当て補正を行うことが考えられる。
【００２７】
すなわち、図２３に示すように、情報処理装置は、ポインタＰ１００を仮想画面２００ａの外に移動させることはできない。したがって、ユーザは、理論的には、図２１に示した場合と同様に、ポインタＰ１００を仮想画面２００ａの端まで移動させ、その後、指示位置１００ｂをポインタＰ１００の位置に合わせることができる。
【００２８】
しかし、仮想画面は情報処理装置内部で設定された領域であり、実際に表示されるものではない。したがって、ユーザは、仮想画面の端がどこであるのかを把握することが困難なため、実際には上記の壁当て補正を行うことは容易ではない。このように、情報処理装置が仮想画面を表示画面の周囲に設定した場合、ユーザは、壁当て補正をやりにくくなってしまう。したがって、壁当て補正を行いたいユーザは、ポインタの仮想画面内への移動を望まない場合があった。しかし、特許文献１に開示された技術では、ユーザの希望にかかわらず、ポインタを仮想画面内に移動させていた。このため、ユーザは、入力操作に違和感を持ってしまう場合があった。
【００２９】
なお、指示位置とポインタの位置とのズレを補正する技術として、補正ボタンを利用する技術が提案されている。この技術では、ジャイロコントローラに補正ボタンが設けられる。そして、情報処理装置は、ユーザが補正ボタンを押した場合、ポインタを表示画面内の所定位置（例えば表示画面の中心）に強制的に移動させる。したがって、ユーザは、ジャイロコントローラの指示位置を上記所定位置に合わせた状態で補正ボタンを押すことで、指示位置とポインタの位置とのズレを補正することができる。しかし、この技術では、補正ボタンをジャイロコントローラに設ける必要があるので、ジャイロコントローラの製造等に手間がかかってしまう。また、ユーザにとっては、上記所定位置に指示位置を合わせるという手間がかかってしまう。
【００３０】
本実施形態に係る情報処理システムは、ポインタが表示画面端に移動した際に、ポインタの状態に基づいて、ポインタを仮想画面内に移動させるか否かを判定する。例えば、情報処理システムは、ユーザが壁当て補正を行いたいと推定される場合には、ポインタを表示画面内に留める。これにより、ユーザは、壁当て補正を行うことができる一方で、仮想画面を利用したポインタ操作も行うことができるので、入力操作に対する違和感を低減することができる。以下、本実施形態を詳細に説明する。
【００３１】
＜２．情報処理システムの全体構成＞
次に、図１にもとづいて、本実施形態に係る情報処理システム１の全体構成について説明する。情報処理システム１は、入力装置１０と、情報処理装置２０とを備える。情報処理装置２０は、表示画面２３ａを有し、表示画面２３ａに各種の画像を表示する。また、情報処理装置２０は、表示画面２３ａ内にポインタＰを表示し、ポインタＰを入力装置１０からの操作情報に基づいて移動させる。
【００３２】
ここで、本実施形態では、ポインタＰは、２次元の座標情報である。すなわち、ポインタＰは、表示画面２３ａを含むｘｙ平面上の座標点である。ここで、ｘｙ平面は、表示画面２３ａの他、後述する仮想画面２３ｂを含む平面である。ポインタＰは、表示画面２３ａ内を移動する際には、ポインタ画像Ｐ１として表示画面２３ａ内に表示される。ポインタ画像Ｐ１は、例えば混濁（すなわち、透明でない）かつ白色の矢印画像となる。
【００３３】
入力装置１０は例えばジャイロコントローラである。すなわち、入力装置１０には、指向ベクトル１０ａが設定される。指向ベクトル１０ａは、例えば入力装置１０の長さ方向に平行なベクトルである。もちろん、指向ベクトル１０ａは他の方向に伸びるベクトルであってもよい。また、指向ベクトル１０ａと表示画面２３ａを含む平面との交点が指示位置１０ｂとなる。したがって、本実施形態でも、上述した指示位置とポインタの位置とのズレが発生しうる。しかし、本実施形態によれば、ユーザは、仮想画面を利用しつつ、壁当て補正により指示位置１０ｂをポインタの位置に合わせることができる。
【００３４】
このように、本実施形態は、指向性があり、かつポインタを遠隔操作することができる入力装置、例えばジャイロコントローラに好適に適用されるが、入力装置１０は他の入力装置であってもよい。すなわち、入力装置１０は、ポインタを移動させるための入力操作を行うことができるものであれば、特に制限されない。例えば、入力装置１０は、マウス、キーボード、トラックボール等であってもよい。
【００３５】
＜３．入力装置の構成＞
次に、図２及び図３に基づいて、入力装置１０の構成について説明する。入力装置１０は、図２に示すように、記憶部１１と、動作検出部１２と、通信部１３と、フィードバック出力部１４と、制御部１５とを備える。
【００３６】
記憶部１１は、入力装置１０に、記憶部１１と、動作検出部１２と、通信部１３と、フィードバック出力部１４と、制御部１５とを実現させるためのプログラムや各種画像情報等を記憶する。
【００３７】
動作検出部１２は、指向ベクトル１０ａの移動量及び移動方向を検出するために必要な動作情報、例えば指向ベクトル１０ａの加速度、角速度等を検出し、制御部１５に出力する。通信部１３は、情報処理装置２０と通信を行い、当該通信で得られた情報を制御部１５に出力する。
【００３８】
フィードバック出力部１４は、ポインタＰが仮想画面２３ｂ（図６参照）内に移動したか否かの判定結果を報知（すなわちフィードバック）する。例えば、フィードバック出力部１４は、ポインタＰが表示画面２３ａの端にぶつかった（すなわち仮想画面２３ｂに入らなかった）場合に振動する。もちろん、フィードバックの方法はこれに限られない。詳細は後述する。
【００３９】
制御部１５は、入力装置１０全体を制御する他、例えば動作情報に基づいて指向ベクトル１０ａの移動量及び移動方向を検出する等の処理も行う。制御部１５は、指向ベクトル１０ａの移動量及び移動方向に関する操作情報を通信部１３に出力する。通信部１３は、操作情報を情報処理装置２０に出力する。
【００４０】
入力装置１０は、図３に示すハードウエア構成を有し、これらのハードウエア構成によって上記の記憶部１１と、動作検出部１２と、通信部１３と、フィードバック出力部１４と、制御部１５とが実現される。
【００４１】
すなわち、入力装置１０は、ハードウエア構成として、ＣＰＵ１０１と、不揮発性メモリ１０２と、ＲＡＭ１０３と、通信装置１０４と、スピーカ１０５と、アクチュエータ１０６と、各種センサ１０７とを備える。ＣＰＵ１０１は、不揮発性メモリ１０２に記憶されたプログラムを読みだして実行する。このプログラムには、入力装置１０に、記憶部１１と、動作検出部１２と、通信部１３と、フィードバック出力部１４と、制御部１５とを実現させるためのプログラムを含む。したがって、ＣＰＵ１０１が不揮発性メモリ１０２に記憶されたプログラムを読みだして実行することで、記憶部１１と、動作検出部１２と、通信部１３と、フィードバック出力部１４と、制御部１５とが実現される。すなわち、ＣＰＵ１０１は、入力装置１０の実質的な動作主体となりうるものである。
【００４２】
ＲＡＭ１０３は、ＣＰＵ１０１による作業領域となるものである。通信装置１０４は、情報処理装置２０と通信を行う。スピーカ１０５は、各種音声を出力する。アクチュエータ１０６は、入力装置１０を振動させる。各種センサ１０７には、加速度センサ、ジャイロセンサ等が含まれる。各種センサ１０７は、指向ベクトル１０ａの移動量及び移動方向を検出するために必要な動作情報、例えば指向ベクトル１０ａの加速度、角速度等を検出する。
【００４３】
＜４．情報処理装置の構成＞
次に、図４〜図６にもとづいて、情報処理装置２０の構成について説明する。情報処理装置２０は、図４に示すように、記憶部２１と、通信部２２と、表示部２３と、フィードバック出力部２４と、制御部２５と、判定部２６とを備える。
【００４４】
記憶部２１は、情報処理装置２０に、記憶部２１と、通信部２２と、表示部２３と、フィードバック出力部２４と、制御部２５と、判定部２６とを実現させるためのプログラムや各種画像情報等を記憶する。
【００４５】
通信部２２は、入力装置１０との間で通信を行い、当該通信で得られた情報を制御部２５に出力する。例えば、通信部２２は、入力装置１０から送信された操作情報を制御部２５に出力する。
【００４６】
表示部２３は、図６に示すように、表示画面２３ａを有し、制御部２５による制御により、表示画面２３ａに各種画像を表示する。例えば、表示部２３は、ポインタＰを表示画面２３ａに表示する。
【００４７】
フィードバック出力部２４は、ポインタＰが仮想画面２３ｂ内に移動したか否かの判定結果を報知（すなわちフィードバック）する。例えば、フィードバック出力部２４は、ポインタＰが表示画面２３ａの端にぶつかった（すなわち仮想画面に入らなかった）場合に、表示画面２３ａ内の画像を振動させる。これにより、フィードバック出力部２４は、ポインタＰが表示画面２３ａの端にぶつかったことを表現することができる。もちろん、フィードバックの方法はこれに限られない。詳細は後述する。
【００４８】
制御部２５は、情報処理装置２０全体を制御する他、例えば以下の処理を行う。すなわち、制御部２５は、図６に示すように、表示画面２３ａの周囲に仮想画面２３ｂを設定する。仮想画面２３ｂの大きさは特に問わない。なお、仮想画面２３ｂの大きさが大きいほど、首折れが発生しにくくなる。
【００４９】
また、制御部２５は、ポインタＰの位置を操作情報に基づいて決定する。そして、制御部２５は、ポインタＰを表示画面２３ａ及び仮想画面２３ｂのうち、当該決定された位置に移動させる。
【００５０】
ここで、制御部２５は、決定された位置が仮想画面２３ｂ内の位置である場合には、まず、ポインタＰを表示画面２３ａの端部まで移動させる。そして、制御部２５は、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定部２６に判定させる。この結果、制御部２５は、ポインタＰを仮想画面２３ｂ内に移動させると判定された場合に、ポインタＰを仮想画面２３ｂ内に移動させる。一方、制御部２６は、ポインタＰを表示画面２３ａ内に留めると判定された場合には、ポインタＰを現在の位置（表示画面２３ａの端）に留める。
【００５１】
判定部２６は、ポインタの状態に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。詳細な処理内容については後述する。
【００５２】
情報処理装置２０は、図５に示すハードウエア構成を有し、これらのハードウエア構成によって上記の記憶部２１と、通信部２２と、表示部２３と、フィードバック出力部２４と、制御部２５と、判定部２６とが実現される。
【００５３】
すなわち、情報処理装置２０は、ハードウエア構成として、ＣＰＵ２０１と、不揮発性メモリ２０２と、ＲＡＭ２０３と、ディスプレイ２０４と、スピーカ２０５と、通信装置２０６とを備える。ＣＰＵ２０１は、不揮発性メモリ２０２に記憶されたプログラムを読みだして実行する。このプログラムには、情報処理装置２０に、記憶部２１と、通信部２２と、表示部２３と、フィードバック出力部２４と、制御部２５と、判定部２６とを実現させるためのプログラムを含む。したがって、ＣＰＵ２０１が不揮発性メモリ２０２に記憶されたプログラムを読みだして実行することで、記憶部２１と、通信部２２と、表示部２３と、フィードバック出力部２４と、制御部２５と、判定部２６とが実現される。すなわち、ＣＰＵ２０１は、情報処理装置２０の実質的な動作主体となりうるものである。
【００５４】
ＲＡＭ２０３は、ＣＰＵ２０１による作業領域となるものである。ディスプレイ２０４は、表示画面２３ａに各種画像及びポインタＰを表示する。スピーカ２０５は、各種音声を出力する。通信装置２０６は、入力装置１０と通信を行う。
【００５５】
＜５．情報処理システムによる処理の手順＞
次に、情報処理システム１による処理の手順を図７に示すフローチャートに沿って説明する。なお、本処理を行う前提として、制御部２５は、表示画面２３ａの周囲に仮想画面２３ｂを設定し、表示画面２３ａ内にポインタＰを表示しているものとする。
【００５６】
ステップＳ１０において、ユーザは、入力装置１０を所望の方向に動かす。すなわち、ユーザは、入力装置１０を用いた入力操作を行う。これに応じて、入力装置１０の動作検出部１２は、加速度、及び角速度等の動作情報を検出し、制御部１５に出力する。制御部１５は、動作情報にもとづいて、指向ベクトル１０ａの移動量及び移動方向を検出する。そして、制御部１５は、指向ベクトル１０ａの移動量及び移動方向に関する操作情報を生成し、通信部１３に出力する。通信部１３は、操作情報を情報処理装置２０に送信する。
【００５７】
ついで、情報処理装置２０の通信部２２は、操作情報を受信して制御部２５に出力する。制御部２５は、操作情報に基づいて、ポインタＰを移動させる。具体的には、制御部２５は、操作情報に基づいてポインタＰの移動軌跡を決定し、当該決定された移動軌跡に沿ってポインタＰを移動させる。ここで、制御部２５は、移動軌跡が仮想画面２３ｂに出る場合、ポインタＰを表示画面２３ａの端まで移動させる。具体的には、制御部２５は、移動軌跡と表示画面２３ａの端線との交点までポインタＰを移動させる。
【００５８】
ステップＳ２０において、制御部２５は、ポインタＰの現在位置が表示画面２３ａの端か否かを判定する。制御部２５は、ポインタＰの現在位置が表示画面２３ａの端であると判定した場合には、ステップＳ３０に進む。制御部２５は、ポインタＰの現在位置が表示画面２３ａの端以外の位置であると判定した場合には、ステップＳ１０に戻る。
【００５９】
ステップＳ３０において、制御部２５は、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定部２６に判定させる。
【００６０】
判定部２６は、ポインタＰの状態に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。より具体的には、判定部２６は、ポインタＰの位置及び移動状態のうち、少なくとも一方に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。
【００６１】
より具体的には、判定部２６は、ポインタＰを表示画面２３ａ内に留めるための条件が満たされるか否かを判定する。判定部２６は、当該条件が満たされると判定した場合には、ポインタＰを表示画面２３ａ内に留めると判定し、当該条件が満たされないと判定した場合には、ポインタＰを仮想画面２３ｂ内に移動させると判定する。ここで、当該条件としては、例えば以下に説明する第１〜第７の条件が挙げられる。
【００６２】
第１の条件は、ポインタＰが角部に存在するという条件である。角部は、例えば、表示画面２３ａの頂点から所定範囲内の端部となる。角部の一例を図８に示す。この例では、表示画面２３ａの頂点から長辺の１／４及び短辺の１／４の範囲内が角部２３ｃとなる。もちろん、角部はこの例に限られない。所定範囲は、例えば表示画面２３ａから入力装置１０までの位置、及び表示画面２３ａの大きさ等とのバランスで決定される。
【００６３】
第１の条件を上記のように設定したのは以下の理由による。すなわち、ユーザは、壁当て補正を行う場合、ポインタＰを角部にぶつけることが多いと推定される。したがって、ポインタＰが角部に存在する場合、ユーザは、ポインタＰが表示画面２３ａ内に留まって欲しいと考えている可能性が高い。そこで、第１の条件を上記のように設定した。なお、判定部２６は、表示画面２３ａ内の角部のうち、いずれかの角部を壁当て補正用の角部としてもよい。この場合、判定部２６は、ポインタＰが壁当て補正用の角部に存在する場合に、第１の条件が満たされると判定してもよい。
【００６４】
第２の条件は、ポインタＰの入射角が所定値以上であるという条件である。ここで、入射角は、図９に示すように、ポインタＰの速度ベクトルＡと表示画面２３ａの端線２３ｅとのなす角Ｂ１である。ここで、両者のなす角としては角Ｂ２も想定されるが、本実施形態では、これらの角Ｂ１、Ｂ２のうち、より値の小さいものを採用する。両者が同じ場合（Ｂ１，Ｂ２＝９０°）となる場合、入射角は９０°となる。所定値は、９０°またはそれに近い値、例えば７０°以上となる。所定値は、例えば表示画面２３ａから入力装置１０までの位置、及び表示画面２３ａの大きさ等とのバランスで決定される。
【００６５】
第２の条件を上記のように設定したのは以下の理由による。すなわち、ユーザは、壁当て補正を行う場合、ポインタＰを表示画面２３ａの端部に対して垂直またはそれに近い角度でぶつけることが多いと推定される。したがって、ポインタＰの入射角が垂直またはそれに近い角度（すなわち上述した所定値以上の角度）となる場合、ユーザは、ポインタＰが表示画面２３ａ内に留まって欲しいと考えている可能性が高い。そこで、第２の条件を上記のように設定した。
【００６６】
第３の条件は、ポインタＰの突入速度（表示画面端への移動速度）が所定値以上であるという条件である。ここで、突入速度は、ポインタＰの速度ベクトルＡのうち、表示画面２３ａの端線に垂直な方向の成分である。また、突入速度は、表示画面２３ａから仮想画面２３ｂに向かう方向を正方向とする。突入速度は、ポインタＰの速度ベクトルＡの全成分であってもよい。所定値は、表示画面２３ａから入力装置１０までの位置、及び表示画面２３ａの大きさ等とのバランスで決定される。例えば、所定値は、４０インチディスプレイに対して３００ｍｍ／ｓとなる。所定値は、例えば表示画面２３ａが大きくなるほど高くなる。
【００６７】
第３の条件を上記のように設定したのは以下の理由による。すなわち、ユーザは、壁当て補正を行う場合、ポインタＰを表示画面２３ａの端部に対して勢い良くぶつけることが多いと推定される。したがって、ポインタＰの突入速度が大きい場合（すなわち、上述した所定値以上である場合）、ユーザは、ポインタＰが表示画面２３ａ内に留まって欲しいと考えている可能性が高い。そこで、第３の条件を上記のように設定した。
【００６８】
第４の条件は、ポインタＰの突入加速度が０以上であるという条件である。ここで、突入加速度は、ポインタＰの加速度（速度ベクトルＡの加速度）のうち、表示画面２３ａの端線に垂直な方向の成分である。突入加速度は、表示画面２３ａから仮想画面２３ｂに向かう方向を正方向とする。
【００６９】
第４の条件を上記のように設定したのは以下の理由による。すなわち、ユーザは、壁当て補正を行う場合、ポインタＰを表示画面２３ａの端部に対して加速度をつけてぶつけることが多いと推定される。したがって、ポインタＰの突入加速度が０以上である場合、ユーザは、ポインタＰが表示画面２３ａ内に留まって欲しいと考えている可能性が高い。そこで、第４の条件を上記のように設定した。
【００７０】
第５の条件は、ポインタＰが表示画面２３ａの端に達するまでの直線移動距離が所定値以上であるという条件である。直線移動距離は、例えば図１０の距離ｄ１で示される。ここで、直線移動距離の測定方法は問われないが、例えば以下の方法が挙げられる。
【００７１】
すなわち、判定部２６は、ポインタＰのｘ座標値を積算するｘ座標値積算カウンタと、ポインタＰのｙ座標値を積算するｙ座標値積算カウンタとを記憶部２１に設定する。判定部２６は、ポインタＰが直線以外の移動軌跡（例えば円弧、折れ線等）で移動した場合、または移動軌跡が１８０°転換した場合（それまでの移動方向と逆方向に移動した場合）に、これらのカウント値をリセットする。したがって、これらのカウント値は、ポインタＰが表示画面２３ａの端に達するまでの直線移動距離を示す。判定部２６は、これらのカウント値にもとづいて、ポインタＰが表示画面２３ａの端に達するまでの直線移動距離を算出する。
【００７２】
また、所定値は、例えば表示画面２３ａから入力装置１０までの位置、及び表示画面２３ａの大きさ等とのバランスで決定される。例えば、所定値は、４０インチディスプレイに対して３００ｍｍとなる。所定値は、例えば表示画面２３ａが大きくなるほど長くなる。
【００７３】
第５の条件を上記のように設定したのは以下の理由による。すなわち、ユーザは、壁当て補正を行う場合、ポインタＰを表示画面２３ａの端部から離れた位置から端部に向けてまっすぐ移動させることが多いと推定される。したがって、ポインタＰの突入加速度が０以上である場合、ユーザは、ポインタＰが表示画面２３ａ内に留まって欲しいと考えている可能性が高い。そこで、第５の条件を上記のように設定した。
【００７４】
第６の条件は、表示画面２３ａ内のオブジェクトからポインタＰまでの距離が所定値以上であるという条件である。表示画面２３ａ内のオブジェクトからポインタＰまでの距離は、例えばポインタ画像Ｐ１（矢印画像）の先端からオブジェクト内に設定された基準点までの距離となる。表示画面２３ａ内のオブジェクトからポインタＰまでの距離の一例を図１１に示す。図１１に示す距離ｄ２は、オブジェクト２３ｄとポインタＰとの距離を示す。なお、表示画面２３ａにオブジェクトが複数表示されている場合、もっともポインタＰに近いオブジェクトからポインタＰまでの距離が使用されてもよい。所定値は、例えば表示画面２３ａから入力装置１０までの位置、及び表示画面２３ａの大きさ等とのバランスで決定される。例えば、所定値は、４０インチディスプレイに対して５０．０〜１００．０ｍｍとなる。所定値は、例えば表示画面２３ａが大きくなるほど長くなる。
【００７５】
第６の条件を上記のように設定したのは以下の理由による。すなわち、ユーザは、オブジェクトを使用した作業を行なっている場合、ポインタＰをオブジェクトの近傍に配置させることが多いと推定される。逆に、ユーザは、壁当て補正を行う場合、ポインタＰをオブジェクトから離れた位置に配置させることが多いと推定される。したがって、ポインタＰがオブジェクトから離れている（すなわち、これらの距離が所定値以上である）場合、ユーザは、ポインタＰが表示画面２３ａ内に留まって欲しいと考えている可能性が高い。そこで、第６の条件を上記のように設定した。
【００７６】
第７の条件は、ポインタＰが表示画面２３ａ内のオブジェクトを通過した時点のうち、もっとも直近の時点から現時点までの時間が所定値以上であるという条件である。所定値は、例えば表示画面２３ａから入力装置１０までの位置、及び表示画面２３ａの大きさ等とのバランスで決定される。例えば、所定値は、４０インチディスプレイに対して１００ｍｓとなる。所定値は、例えば表示画面２３ａが大きくなるほど長くなる。
【００７７】
第７の条件を上記のように設定したのは以下の理由による。すなわち、ユーザは、オブジェクトを使用した作業を行なっている場合、ポインタＰをオブジェクトに頻繁に重ねると推定される。逆に、ユーザは、壁当て補正を行う場合、ポインタＰをオブジェクトに重ねることなく表示画面２３ａの端にぶつけることが多いと推定される。したがって、ポインタＰが表示画面２３ａ内のオブジェクトを通過してから長時間（すなわち所定値以上の時間）が経過している場合、ユーザは、ポインタＰが表示画面２３ａ内に留まって欲しいと考えている可能性が高い。そこで、第７の条件を上記のように設定した。
【００７８】
判定部２６は、第１〜第７の条件を複合的に判定し、その結果に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。例えば、判定部２６は、第１〜第７の条件に優先順位をつけてもよい。この場合、判定部２６は、優先順位の高い条件から順次判定し、いずれかの条件が満たされると判定した場合には、ポインタＰを表示画面２３ａ内に留めると判定してもよい。例えば、判定部２６は、第１の条件の優先順位を最も高くしてもよい。ユーザは、表示画面２３ａの角部を利用して壁当て補正を行うことが多いと推定されるからである。また、第３〜第５の条件の優先順位を他の条件よりも高くしてもよい。ユーザは、壁当て補正を行う場合、ポインタＰを表示画面２３ａの端から離れた位置から表示画面２３ａの端に向かって勢い良くまっすぐ移動させることが多いと推定されるからである。
【００７９】
また、判定部２６は、第１〜第７の条件のうち、所定数以上の条件が満たされる場合に、ポインタＰを表示画面２３ａ内に留めると判定してもよい。また、判定部２６は、第１〜第７の条件のうち、互いに関連性が高いものをグルーピングし、グループ内の条件が全て満たされる場合に、ポインタＰを表示画面２３ａ内に留めると判定してもよい。
【００８０】
例えば、上記のように、ユーザは、壁当て補正を行う場合、ポインタＰを表示画面２３ａの端から離れた位置から表示画面２３ａの端に向かって勢い良くまっすぐ移動させることが多いと推定される。したがって、判定部２６は、第３〜第５の条件をグルーピングし、第３〜第５の条件が全て満たされる場合に、ポインタＰを表示画面２３ａ内に留めると判定してもよい。
【００８１】
なお、判定部２６は、第１〜第７の条件のうち、少なくとも１つが満たされる場合に、ポインタＰを表示画面２３ａ内に留めると判定してもよい。以上述べてきたように、第１〜第７の条件は、ユーザが壁当て補正を希望しているか否かを示すものである。したがって、判定部２６は、第１〜第７の条件が満たされるか否かを判定することで、ユーザが壁当て補正を希望しているか否かを推定することができる。
【００８２】
判定部２６は、判定結果に関する判定結果情報を制御部２５に出力する。ついで、制御部２５は判定結果情報をフィードバック出力部２４に出力する。フィードバック出力部２４は、判定結果をユーザにフィードバックする。
【００８３】
具体的には、フィードバック出力部２４は、ポインタＰが仮想画面２３ｂ内に移動する場合と移動しない場合とで異なる態様でポインタＰを表示する。なお、ポインタＰが仮想画面２３ｂ内に移動した場合、ポインタＰは表示画面２３ａ内には存在しない。したがって、フィードバック出力部２４は、ポインタ画像を表示画面２３ａに表示させることはできない。そこで、フィードバック出力部２４は、ポインタＰが仮想画面２３ｂ内に移動した場合、表示画面２３ａ内にポインタＰのダミー画像を表示し、このダミー画像をポインタ画像と異なる態様で表示する。ダミー画像の表示位置は特に制限されないが、例えば、ポインタＰの位置から表示画面２３ａの端線に引いた垂線と表示画面２３ａの端線との交点をダミー画像の表示位置としてもよい。
【００８４】
例えば、フィードバック出力部２４は、ポインタＰが表示画面２３ａ内にとどまる場合に、ポインタ画像Ｐ１をデフォルトのまま（例えば白色のまま）としてもよい。また、フィードバック出力部２４は、ポインタＰが仮想画面２３ｂ内に移動する場合に、図１２に示すように、ダミー画像Ｐ２をデフォルト以外の色で表示してもよい。なお、図１２の例では、白色以外の色をハッチングで表現している。
【００８５】
もちろん、フィードバック出力部２４は、この逆の処理を行なってもよい。すなわち、フィードバック出力部２４は、ポインタＰが表示画面２３ａ内にとどまる場合に、ポインタ画像Ｐ１の色をデフォルト以外の色で表示し、ポインタＰが仮想画面２３ｂ内に移動する場合に、ダミー画像Ｐ２をデフォルトの色で表示してもよい。
【００８６】
また、フィードバック出力部２４は、ポインタＰが表示画面２３ａ内にとどまる場合に、ポインタ画像Ｐ１の透明度をデフォルトのまま（例えば混濁したまま）としてもよい。また、フィードバック出力部２４は、ポインタＰが仮想画面２３ｂ内に移動する場合に、図１３に示すように、ダミー画像Ｐ２を半透明で表示してもよい。なお、図１３の例では、透明度の違いを異なる線種で表現している。
【００８７】
もちろん、フィードバック出力部２４は、この逆の処理を行なってもよい。すなわち、フィードバック出力部２４は、ポインタＰが表示画面２３ａ内にとどまる場合に、ポインタ画像Ｐ１を半透明とし、ポインタＰが仮想画面２３ｂ内に移動する場合に、ダミー画像Ｐ２をデフォルトの透明度（例えば混濁の白色）で表示してもよい。
【００８８】
また、フィードバック出力部２４は、ポインタＰが表示画面２３ａ内にとどまる場合に、ポインタ画像Ｐ１の形状をデフォルトのまま（例えば矢印画像のまま）としてもよい。また、フィードバック出力部２４は、ポインタＰが仮想画面２３ｂ内に移動する場合に、図１３に示すように、ダミー画像Ｐ２の形状を丸型としてもよい。もちろん、フィードバック出力部２４は、ダミー画像Ｐ２の形状を丸型以外の形状としてもよい。
【００８９】
また、フィードバック出力部２４は、この逆の処理を行なってもよい。すなわち、フィードバック出力部２４は、ポインタＰが表示画面２３ａ内にとどまる場合に、ポインタ画像Ｐ１の形状を丸型とし、ポインタＰが仮想画面２３ｂ内に移動する場合に、ダミー画像Ｐ２をデフォルトの形状（例えば矢印）で表示してもよい。もちろん、フィードバック出力部２４は、ポインタ画像Ｐ１の形状を丸型以外の形状としてもよい。
【００９０】
また、フィードバック出力部２４は、図１５に示すように、ポインタＰが表示画面２３ａの端にとどまった（ぶつかった）場合に、表示画面２３ａ内の画像を振動させてもよい。これにより、フィードバック出力部２４は、ポインタＰが表示画面２３ａの端にぶつかったことを表現することができる。
【００９１】
また、フィードバック出力部２４は、ポインタＰが仮想画面２３ｂ内に移動する場合と移動しない場合とで異なる態様で表示画面２３ａ内の画像を振動させてもよい。また、フィードバック出力部２４は、ポインタＰが仮想画面２３ｂ内に移動する場合に、表示画面２３ａ内の画像を振動させてもよい。また、フィードバック出力部２４は、図１６に示すように、表示画面２３ａ内の画像を振動させる代わりに（または振動とともに）音声出力を行なってもよい。また、情報処理装置２０自体を振動させてもよい。
【００９２】
また、制御部２５は、入力装置１０にフィードバックを行わせてもよい。この場合、制御部２５は、判定結果情報を通信部２２に出力する。通信部２２は、判定結果情報を入力装置１０に送信する。入力装置１０の通信部１３は、判定結果情報を受信し、制御部１５に出力する。制御部１５は、判定結果情報をフィードバック出力部１４に出力する。
【００９３】
そして、フィードバック出力部１４は、ポインタＰが表示画面２３ａ内にとどまった（すなわち、表示画面２３ａの端にぶつかった）場合に振動する。フィードバック出力部１４は、ポインタＰが仮想画面２３ｂ内に移動する場合と移動しない場合とで異なる態様で振動してもよい。また、フィードバック出力部１４は、ポインタＰが仮想画面２３ｂに入った場合に振動してもよい。また、フィードバック出力部１４は、振動の代わりに（または振動とともに）音声出力を行なってもよい。
【００９４】
情報処理システム１は、フィードバックとして上記のいずれか１つを実行してもよく、複数のフィードバックを並行して実行してもよい。また、フィードバックの方法は上記に限られない。
【００９５】
制御部２５は、ポインタＰを仮想画面２３ｂ内に移動させると判定された場合には、ポインタＰを、仮想画面２３ｂ内に移動させる。その後、制御部２５は、ステップＳ４０に進む。一方、制御部２５は、ポインタＰを表示画面２３ａ内にとどめると判定された場合には、ステップＳ１０に戻る。
【００９６】
ステップＳ４０において、ユーザは、入力装置１０を所望の方向に動かす。すなわち、ユーザは、入力装置１０を用いた入力操作を行う。これに応じて、動作検出部１２は、入力装置１０の動作検出部１２は、加速度、及び角速度等の動作情報を検出し、制御部１５に出力する。制御部１５は、動作情報にもとづいて、指向ベクトル１０ａの移動量及び移動方向を検出する。そして、制御部１５は、指向ベクトル１０ａの移動量及び移動方向に関する操作情報を生成し、通信部１３に出力する。通信部１３は、操作情報を情報処理装置２０に送信する。
【００９７】
ついで、情報処理装置２０の通信部２２は、操作情報を受信して制御部２５に出力する。制御部２５は、操作情報に基づいて、ポインタＰの移動軌跡を決定する。そして、制御部２５は、決定された移動軌跡に沿ってポインタＰを移動させる。すなわち、制御部２５は、ポインタＰを仮想画面２３ｂ内で移動させる。ここで、制御部２５は、移動軌跡が表示画面２３ａに出る場合、ポインタＰを仮想画面２３ｂの端まで移動させる。具体的には、制御部２５は、移動軌跡と仮想画面２３ｂの端線との交点までポインタＰを移動させる。
【００９８】
ステップＳ５０において、制御部２５は、ポインタＰの現在位置が仮想画面２３ｂの端か否かを判定する。制御部２５は、ポインタＰの現在位置が仮想画面２３ｂの端であると判定した場合には、ポインタＰを、表示画面２３ａ内に移動させる。その後、制御部２５は、ステップＳ１０に戻る。制御部２５は、ポインタＰの現在位置が仮想画面２３ｂの端以外の位置であると判定した場合には、ステップＳ４０に戻る。情報処理システム１は、ユーザが入力操作を終了した場合には、本処理を終了する。
【００９９】
以上により、本実施形態による情報処理システム１は、ユーザが壁当て補正を意図せずにポインタＰを表示画面２３ａの端にぶつけた場合、ポインタＰを仮想画面２３ｂ内に移動させることができる。これにより、首折れの発生が低減される。一方、情報処理システム１は、ユーザが壁当て補正を行うためにポインタＰを表示画面２３ａの端にぶつけた場合、ポインタＰを表示画面２３ａ内にとどめることができる。したがって、ユーザは、壁当て補正を行うことができ、これにより、首折れまたはドリフトを補正することができる。
【０１００】
より詳細には、情報処理システム１は、ポインタＰが表示画面２３ａの端に移動した際に、ポインタＰの状態に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。したがって、情報処理システム１は、ポインタＰの仮想画面２３ｂへの移動に制限を設けることができる。これにより、仮想画面２３ｂへのポインタＰの移動を希望しないユーザ、例えば壁当て補正を行いたいユーザは、ポインタＰを表示画面２３ａ内に留めることができる。したがって、情報処理システム１は、ユーザが入力操作に対して持つ違和感を低減することができる。
【０１０１】
ここで、情報処理システム１は、ポインタＰの位置及び移動状態のうち、少なくとも一方に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。したがって、情報処理システム１は、ポインタＰを仮想画面２３ｂ内に移動させるか否かをより詳細に判定することができる。
【０１０２】
また、情報処理システム１は、ポインタＰが表示画面２３ａの角部に移動したか否かを判定し、判定結果に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。したがって、情報処理システム１は、ポインタＰを仮想画面２３ｂ内に移動させるか否かをより詳細に判定することができる。具体的には、情報処理システム１は、ユーザが壁当て補正を希望しているか否かを推定し、その結果に基づいてポインタＰを仮想画面２３ｂ内に移動させるか否かを判定することができる。
【０１０３】
また、情報処理システム１は、ポインタＰの表示画面２３ａの端への入射角に基づいて、ポインタを仮想画面内に移動させるか否かを判定する。したがって、情報処理システム１は、ポインタＰを仮想画面２３ｂ内に移動させるか否かをより詳細に判定することができる。
【０１０４】
また、情報処理システム１は、ポインタＰの表示画面２３ａ端への直線移動距離に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。したがって、情報処理システム１は、ポインタＰを仮想画面２３ｂ内に移動させるか否かをより詳細に判定することができる。
【０１０５】
また、情報処理システム１は、ポインタＰの表示画面２３ａ端への移動速度（より詳細には、突入速度）に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。したがって、情報処理システム１は、ポインタＰを仮想画面２３ｂ内に移動させるか否かをより詳細に判定することができる。
【０１０６】
また、情報処理システム１は、ポインタＰの加速度（より詳細には、突入加速度）に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。したがって、情報処理システム１は、ポインタＰを仮想画面２３ｂ内に移動させるか否かをより詳細に判定することができる。
【０１０７】
また、情報処理システム１は、ポインタＰから表示画面２３ａ内のオブジェクトまでの距離に基づいて、ポインタＰを仮想画面２３ｂ内に移動させるか否かを判定する。したがって、情報処理システム１は、ポインタＰを仮想画面２３ｂ内に移動させるか否かをより詳細に判定することができる。
【０１０８】
また、情報処理システム１は、判定結果を報知する制御を行うので、ユーザは、ポインタＰが仮想画面２３ｂ内に移動したか否かを容易に把握することができる。なお、本実施形態は、本明細書中に記載されたいずれかの効果、または他の効果を有するものであってもよい。
【０１０９】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１０】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
操作情報に基づいて、ポインタを表示画面内で移動させる制御部と、
前記ポインタが前記表示画面端に移動した際に、前記ポインタの状態に基づいて、前記ポインタを前記表示画面の周囲に設定された仮想画面内に移動させるか否かを判定する判定部と、を備える情報処理装置。
（２）
前記判定部は、前記ポインタの位置及び移動状態のうち、少なくとも一方に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、前記（１）記載の情報処理装置。
（３）
前記判定部は、前記ポインタが前記表示画面の角部に移動したか否かを判定し、判定結果に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、前記（２）記載の情報処理装置。
（４）
前記判定部は、前記ポインタの前記表示画面端への入射角に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、前記（２）または（３）記載の情報処理装置。
（５）
前記判定部は、前記ポインタの前記表示画面端への直線移動距離に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、前記（２）〜（４）のいずれか１項に記載の情報処理装置。
（６）
前記判定部は、前記ポインタの前記表示画面端への移動速度に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、前記（２）〜（５）のいずれか１項に記載の情報処理装置。
（７）
前記判定部は、前記ポインタの加速度に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、前記（２）〜（６）のいずれか１項に記載の情報処理装置。
（８）
前記判定部は、前記ポインタから前記表示画面内のオブジェクトまでの距離に基づいて、前記ポインタを前記仮想画面内に移動させるか否かを判定する、前記（２）〜（７）のいずれか１項に記載の情報処理装置。
（９）
前記制御部は、前記判定部による判定結果を報知する制御を行う、前記（１）〜（８）のいずれか１項に記載の情報処理装置。
（１０）
操作情報に基づいて、ポインタを表示画面内で移動させることと、
前記ポインタが前記表示画面端に移動した際に、前記ポインタの状態に基づいて、前記ポインタを前記表示画面の周囲に設定された仮想画面内に移動させるか否かを判定することと、を含む情報処理方法。
（１１）
コンピュータに、
操作情報に基づいて、ポインタを表示画面内で移動させる制御機能と、
前記ポインタが前記表示画面端に移動した際に、前記ポインタの状態に基づいて、前記ポインタを前記表示画面の周囲に設定された仮想画面内に移動させるか否かを判定する判定機能と、を実現させる、プログラム。
【符号の説明】
【０１１１】
１      情報処理システム
１０    入力装置
１１    記憶部
１２    動作検出部
１３    通信部
１４    フィードバック出力部
１５    制御部
２０    情報処理装置
２１    記憶部
２２    通信部
２３    表示部
２３ａ  表示画面
２３ｂ  仮想画面
２４    フィードバック出力部
２５    制御部
２６    判定部
Ｐ      ポインタ
【図１】
2015028690.tif 000003
【図２】
2015028690.tif 000004
【図３】
2015028690.tif 000005
【図４】
2015028690.tif 000006
【図５】
2015028690.tif 000007
【図６】
2015028690.tif 000008
【図７】
2015028690.tif 000009
【図８】
2015028690.tif 000010
【図９】
2015028690.tif 000011
【図１０】
2015028690.tif 000012
【図１１】
2015028690.tif 000013
【図１２】
2015028690.tif 000014
【図１３】
2015028690.tif 000015
【図１４】
2015028690.tif 000016
【図１５】
2015028690.tif 000017
【図１６】
2015028690.tif 000018
【図１７】
2015028690.tif 000019
【図１８】
2015028690.tif 000020
【図１９】
2015028690.tif 000021
【図２０】
2015028690.tif 000022
【図２１】
2015028690.tif 000023
【図２２】
2015028690.tif 000024
【図２３】
2015028690.tif 000025