(57)【要約】  ユーザがオブジェクトを画面に向けることで画面上の入力位置を入力可能なユーザインタフェースにおける操作性を向上させる。情報処理装置（１０）の実指示位置取得手段（１０２）は、画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する。相対位置取得手段（１０３）は、実指示位置に対するユーザの相対位置を取得する。入力位置取得手段（１０４）は、オブジェクトの現在位置に対応する画面上の入力位置を取得する手段であって、ユーザがオブジェクトを動かした場合に、相対位置に基づいて、操作量に対する入力位置の移動量を抑制可能である。処理実行手段（１０５）は、入力位置取得手段（１０４）により取得された入力位置に基づいて、所定の処理を実行する。
2018042639.tif 000002
【特許請求の範囲】
【請求項１】
画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得手段と、
前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段と、
前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段と、
前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段と、
を含むことを特徴とする情報処理装置。
【請求項２】
前記入力位置取得手段は、
前記オブジェクトが前記画面を指し示していない非指示状態から前記画面を指し示す指示状態になった場合は、現在の前記実指示位置を、前記入力位置として取得し、
前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記入力位置の移動量を抑制可能である、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記入力位置取得手段は、
前記オブジェクトが前記非指示状態から前記指示状態になった場合の前記実指示位置を、基準位置として取得し、
前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、前記基準位置からの前記入力位置の移動量を抑制可能である、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記オブジェクトの位置を示す３次元座標と、前記ユーザの位置を示す３次元座標と、を取得する３次元座標取得手段を更に含み、
前記実指示位置取得手段は、前記オブジェクトの３次元座標に基づいて前記実指示位置を取得し、
前記相対位置取得手段は、前記ユーザの３次元座標に基づいて前記相対位置を取得し、
前記入力位置取得手段は、前記オブジェクトの３次元座標に基づいて、前記入力位置を取得する、
ことを特徴とする請求項１〜３の何れかに記載の情報処理装置。
【請求項５】
前記実指示位置は、前記ユーザの頭の位置から前記オブジェクトの位置に向けた方向によって定まる前記画面上の位置であり、
前記相対位置は、前記実指示位置に対する前記ユーザの頭の相対位置である、
ことを特徴とする請求項１〜４の何れかに記載の情報処理装置。
【請求項６】
前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合、前記ユーザに対する前記オブジェクトの相対位置の変化に基づいて、前記入力位置を取得する、
ことを特徴とする請求項１〜５の何れかに記載の情報処理装置。
【請求項７】
前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記ユーザに対して前記オブジェクトが動いた角度に基づいて、前記入力位置を取得する、
ことを特徴とする請求項１〜６の何れかに記載の情報処理装置。
【請求項８】
前記情報処理装置は、前記ユーザが移動したかを判定する移動判定手段を更に含み、
前記相対位置取得手段は、前記ユーザが移動したと判定された場合に、前記相対位置を取得し直し、
前記入力位置取得手段は、取得し直された前記相対位置に基づいて、前記入力位置を取得し直す、
ことを特徴とする請求項１〜７の何れかに記載の情報処理装置。
【請求項９】
前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置からの現在の前記実指示位置の移動量よりも、前記基準位置からの現在の前記入力位置の移動量が小さくなるように、前記入力位置を取得する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項１０】
前記入力位置取得手段は、
前記オブジェクトが前記指示状態になった後に、再び前記非指示状態になった場合に、前記入力位置を取得する処理を停止し、
前記オブジェクトが再び前記非指示状態になった後に、再び前記指示状態になった場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直す、
ことを特徴とする請求項３又は９に記載の情報処理装置。
【請求項１１】
前記入力位置取得手段は、前記オブジェクトが前記非指示状態から前記指示状態になり、かつ、前記指示状態のまま前記オブジェクトの位置が一定時間以上維持された場合に、現在の前記実指示位置を、前記入力位置及び前記基準位置として取得する、
ことを特徴とする請求項３、９、又は１０に記載の情報処理装置。
【請求項１２】
前記所定の処理は、前記画面において前記入力位置を識別可能にする画像処理である、
ことを特徴とする請求項１〜１１の何れかに記載の情報処理装置。
【請求項１３】
前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、所定の条件が満たされた場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直し、
前記情報処理装置は、前記ユーザが前記入力位置を注視しているかを判定する注視判定手段を更に含み、
前記入力位置取得手段は、
前記ユーザが前記入力位置を注視していると判定した場合は、前記所定の条件が満たされても、現在の実指示位置を入力位置及び基準位置とする処理は実行せず、
前記ユーザが前記入力位置を注視していないと判定され、かつ、前記所定の条件が満たされた場合に、現在の実指示位置を入力位置及び基準位置とする処理を実行する、
ことを特徴とする請求項３、９、１０、又は１１に記載の情報処理装置。
【請求項１４】
前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記オブジェクトの速度に基づいて、前記入力位置を取得する、
ことを特徴とする請求項１〜１３の何れかに記載の情報処理装置。
【請求項１５】
前記入力位置手段は、
前記オブジェクトが前記指示状態になり、かつ、所定の状態になった場合に、現在の前記実指示位置を前記入力位置及び前記基準位置として取得し、
前記オブジェクトが前記所定の状態を維持したまま、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置に基づいて前記入力位置を取得し、
前記オブジェクトの前記所定の状態が解除された場合に、前記入力位置を取得する処理を終了する、
ことを特徴とする請求項３、９、１０、１１、又は１３に記載の情報処理装置。
【請求項１６】
前記オブジェクトは、前記ユーザの手であり、
前記実指示位置は、前記ユーザの基準部位の位置から前記手の位置に向けた方向に基づいて定まる前記画面上の位置であり、
前記相対位置は、前記実指示位置に対する前記基準部位の相対位置である、
ことを特徴とする請求項１〜１５の何れかに記載の情報処理装置。
【請求項１７】
画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得ステップと、
前記実指示位置に対するユーザの相対位置を取得する相対位置取得ステップと、
前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得ステップと、
前記入力位置取得ステップにより取得された入力位置に基づいて、所定の処理を実行する処理実行ステップと、
を含むことを特徴とする情報処理方法。
【請求項１８】
画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得手段、
前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段、
前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段、
前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザが手やコントローラなどのオブジェクトを画面に向けることによって、画面上の入力位置を入力可能なユーザインタフェースに関する技術が知られている。例えば、特許文献１には、ユーザの体の位置と手の位置を検出し、ユーザが手を画面にかざした場合に、体から手に向けた線と画面との交点を入力位置とする装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００４−５２２２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、ユーザの操作量（手の移動量）に対する入力位置の移動量は、入力位置に対するユーザの相対位置によって決まるので、当該相対位置によってユーザの操作感が大きく変わる。例えば、ユーザが画面に向かって左側に立っていたとすると、ユーザが正面付近に手をかざしている場合は、入力位置に対するユーザの位置の角度的な関係により、操作量に対する入力位置の移動量は小さいので、入力位置の微調整が可能である。一方、ユーザが右斜め前に手をかざした後で更に右に手を動かす場合は、入力位置に対するユーザの位置の角度的な関係により、操作量に対する入力位置の移動量は大きいので、入力位置の微調整が難しい。このため、特許文献１の技術では、入力位置に対するユーザの相対位置次第では、入力位置の微調整が難しくなるので、ユーザの操作性を充分に向上させることができない。【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、ユーザがオブジェクトを画面に向けることで画面上の入力位置を入力可能なユーザインタフェースにおける操作性を向上させることである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置は、画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得手段と、前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段と、前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段と、前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段と、を含むことを特徴とする。【０００７】
本発明に係る情報処理方法は、画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得ステップと、前記実指示位置に対するユーザの相対位置を取得する相対位置取得ステップと、前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得ステップと、前記入力位置取得ステップにより取得された入力位置に基づいて、所定の処理を実行する処理実行ステップと、を含むことを特徴とする。【０００８】
本発明に係るプログラムは、画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面を含む平面上にある実指示位置を取得する実指示位置取得手段、前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段、前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段、前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段、としてコンピュータを機能させる。【０００９】
また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。【００１０】
また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記画面を指し示していない非指示状態から前記画面を指し示す指示状態になった場合は、現在の前記実指示位置を、前記入力位置として取得し、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記入力位置の移動量を抑制可能である、ことを特徴とする。【００１１】
また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記非指示状態から前記指示状態になった場合の前記実指示位置を、基準位置として取得し、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、前記基準位置からの前記入力位置の移動量を抑制可能である。【００１２】
また、本発明の一態様では、前記情報処理装置は、前記オブジェクトの位置を示す３次元座標と、前記ユーザの位置を示す３次元座標と、を取得する３次元座標取得手段を更に含み、前記実指示位置取得手段は、前記オブジェクトの３次元座標に基づいて前記実指示位置を取得し、前記相対位置取得手段は、前記ユーザの３次元座標に基づいて前記相対位置を取得し、前記入力位置取得手段は、前記オブジェクトの３次元座標に基づいて、前記入力位置を取得する、ことを特徴とする。【００１３】
また、本発明の一態様では、前記実指示位置は、前記ユーザの頭の位置から前記オブジェクトの位置に向けた方向によって定まる前記画面上の位置であり、前記相対位置は、前記実指示位置に対する前記ユーザの頭の相対位置である、ことを特徴とする。【００１４】
また、本発明の一態様では、前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合、前記ユーザに対する前記オブジェクトの相対位置の変化に基づいて、前記入力位置を取得する、ことを特徴とする。【００１５】
また、本発明の一態様では、前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記ユーザに対して前記オブジェクトが動いた角度に基づいて、前記入力位置を取得する、ことを特徴とする。【００１６】
また、本発明の一態様では、前記情報処理装置は、前記ユーザが移動したかを判定する移動判定手段を更に含み、前記相対位置取得手段は、前記ユーザが移動したと判定された場合に、前記相対位置を取得し直し、前記入力位置取得手段は、取得し直された前記相対位置に基づいて、前記入力位置を取得し直す、ことを特徴とする。【００１７】
また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置からの現在の前記実指示位置の移動量よりも、前記基準位置からの現在の前記入力位置の移動量が小さくなるように、前記入力位置を取得する、ことを特徴とする。【００１８】
また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、再び前記非指示状態になった場合に、前記入力位置を取得する処理を停止し、前記オブジェクトが再び前記非指示状態になった後に、再び前記指示状態になった場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直す、ことを特徴とする。【００１９】
また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記非指示状態から前記指示状態になり、かつ、前記指示状態のまま前記オブジェクトの位置が一定時間以上維持された場合に、現在の前記実指示位置を、前記入力位置及び前記基準位置として取得する。【００２０】
また、本発明の一態様では、前記所定の処理は、前記画面において前記入力位置を識別可能にする画像処理である、ことを特徴とする。【００２１】
また、本発明の一態様では、前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、所定の条件が満たされた場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直し、前記情報処理装置は、前記ユーザが前記入力位置を注視しているかを判定する注視判定手段を更に含み、前記入力位置取得手段は、前記ユーザが前記入力位置を注視していると判定した場合は、前記所定の条件が満たされても、現在の実指示位置を入力位置及び基準位置とする処理は実行せず、前記ユーザが前記入力位置を注視していないと判定され、かつ、前記所定の条件が満たされた場合に、現在の実指示位置を入力位置及び基準位置とする処理を実行する、ことを特徴とする。【００２２】
また、本発明の一態様では、前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記オブジェクトの速度に基づいて、前記入力位置を取得する、ことを特徴とする。【００２３】
また、本発明の一態様では、前記入力位置手段は、前記オブジェクトが前記指示状態になり、かつ、所定の状態になった場合に、現在の前記実指示位置を前記入力位置及び前記基準位置として取得し、前記オブジェクトが前記所定の状態を維持したまま、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置に基づいて前記入力位置を取得し、前記オブジェクトの前記所定の状態が解除された場合に、前記入力位置を取得する処理を終了する、ことを特徴とする。【００２４】
また、本発明の一態様では、前記オブジェクトは、前記ユーザの手であり、前記実指示位置は、前記ユーザの基準部位の位置から前記手の位置に向けた方向に基づいて定まる前記画面上の位置であり、前記相対位置は、前記実指示位置に対する前記基準部位の相対位置である、ことを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ユーザがオブジェクトを画面に向けることで画面上の入力位置を入力可能なユーザインタフェースにおける操作性を向上させることが可能になる。
【図面の簡単な説明】
【００２６】
【図１】情報処理システムの全体構成を示す図である。
【図２】情報処理システムが利用される場面を示す図である。
【図３】従来技術の課題の一例をより詳しく説明するための図である。
【図４】従来技術の課題の一例をより詳しく説明するための図である。
【図５】情報処理装置が実行する処理の概要を説明するための図である。
【図６】情報処理装置が実行する処理の概要を説明するための図である。
【図７】情報処理システムで実現される機能の一例を示す機能ブロック図である。
【図８】情報処理装置において実行される処理の一例を示すフロー図である。
【図９】変形例における機能ブロック図である。
【図１０】変形例（２）における関係データのデータ格納例を示す図である。
【図１１】変形例（４）における入力位置の取得方法を示す図である。
【発明を実施するための形態】
【００２７】
［１．情報処理システムのハードウェア構成］
以下、本発明に関わる情報処理装置を含む情報処理システムの実施形態の例を説明する。図１は、情報処理システムの全体構成を示す図である。図１に示すように、情報処理システム１は、情報処理装置１０、位置検出装置２０、及び大型ディスプレイ３０を含む。情報処理装置１０、位置検出装置２０、及び大型ディスプレイ３０は、それぞれ有線又は無線によりネットワークを介して通信可能に接続されるようにしてよい。
【００２８】
情報処理装置１０は、情報処理が可能なコンピュータであり、例えば、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末（タブレット型コンピュータを含む）、又は携帯電話機（スマートフォンを含む）等である。情報処理装置１０は、制御部１１、記憶部１２、通信部１３、操作部１４、及び表示部１５を含む。
【００２９】
制御部１１は、例えば、少なくとも１つのマイクロプロセッサを含む。制御部１１は、記憶部１２に記憶されたプログラムやデータに従って処理を実行する。記憶部１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部１３は、有線通信又は無線通信用の通信インタフェースを含み、例えば、ネットワークを介してデータ通信を行う。操作部１４は、プレイヤが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部１４は、プレイヤによる操作内容を制御部１１に伝達する。表示部１５は、例えば、液晶表示部又は有機ＥＬ表示部等である。表示部１５は、制御部１１の指示に従って画面を表示する。
【００３０】
なお、記憶部１２に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してこれらに供給されるようにしてもよい。また、情報処理装置１０のハードウェア構成は、上記の例に限られず、種々のコンピュータのハードウェアを適用可能である。例えば、情報処理装置１０は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器と直接的に接続するための入出力部（例えば、ＵＳＢポートや映像入出力端子）を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して、情報処理装置１０に供給されるようにしてもよい。
【００３１】
位置検出装置２０は、空間に配置された物体の位置を検出する機器である。本実施形態では、位置検出装置２０が３次元的（立体的）な位置を検出する場合を説明するが、２次元的（平面的）な位置のみを検出可能でもよい。例えば、位置検出装置２０は、入力位置を入力するためのオブジェクトの位置を検出する。入力位置は、情報処理装置１０に対して入力される画面上の位置（即ち、ユーザが指示した位置）であり、情報処理装置１０が認識する画面上の位置といえる。入力位置は、一般的なポインティングデバイスで入力される位置と同様の意味である。
【００３２】
オブジェクトは、位置検出装置２０で位置を検出可能な物体であり、ユーザがその位置及び向きの少なくとも一方を変更可能な物体であればよい。別の言い方をすれば、オブジェクトは、ユーザが画面に向けるものであり、画面を指し示すものであればよい。オブジェクトは、ユーザ自身であってもよいし、ユーザ以外の指示部材であってもよい。オブジェクトがユーザ自身である場合には、ユーザの所定部位がオブジェクトに相当し、例えば、手、指、手首、腕、又は足などであってよい。なお、ユーザの部位とは、人体の一部分のことであり、四肢、胴体、及び頭だけでなく、身体の内側の関節や骨も含む意味である。オブジェクトがユーザ以外の指示部材である場合、ユーザが把持する部材がオブジェクトに相当してもよいし、ユーザの四肢の何れかに固定された部材がオブジェクトに相当してもよく、例えば、棒、ペン、又は入力デバイスなどであってよい。入力デバイスは、一般的なポインティングデバイスであってもよく、入力デバイスの変位や姿勢を検出可能なジャイロセンサや加速度センサを内蔵していてもよい。
【００３３】
本実施形態では、ユーザの手がオブジェクトに相当する場合を説明する。このため、ユーザは、自分の手を使って入力位置を入力可能であり、手を動かすことで入力位置を移動可能である。なお、位置検出装置２０は、オブジェクトである手以外の部位の位置も検出可能であってよい。例えば、位置検出装置２０は、ユーザの複数の部位の各々の位置を検出可能な位置検出センサを含み、各部位の位置の３次元座標を生成可能であってよい。位置検出センサは、ＣＣＤイメージセンサ又はＣＭＯＳイメージセンサなどの撮像素子、赤外線センサなどの深度センサ、又は、これらを兼ね備えたＲＧＢＤカメラなどであってよく、例えば、ユーザの骨格の３次元座標を検出可能なＫｉｎｅｃｔ（登録商標）センサであってもよい。
【００３４】
なお、被写体の３次元座標を検出する方法自体は、公知の種々の手法を適用可能であり、例えば、赤外線パターンのゆがみを利用するライトコーディング方式を利用してもよいし、赤外線の飛行時間を利用する飛行時間方式を利用してもよい。ここでは、被写体がユーザ（即ち、人間）であるので、位置検出装置２０は、ユーザ表面の水平方向の位置及び奥行を示す深度画像に基づいて、ユーザの各部位の３次元座標を取得する。位置検出装置２０が３次元座標を検出する部位は、公知の骨格抽出方法により抽出可能な部位であればよく、例えば、頭や手などであってよい。
【００３５】
また、位置検出装置２０は、有線通信又は無線通信用の通信インタフェースを含み、ユーザの各部位の３次元座標を示す部位情報を情報処理装置１０に対して出力可能となっている。例えば、位置検出装置２０は、所定のフレームレート（例えば、３０ｆｐｓ）のもとで部位情報を生成する。別の言い方をすれば、情報処理装置１０は、一定時間（例えば、１／３０秒）ごとに、位置検出装置２０が生成した最新の部位情報を取得可能である。なお、特にフレームレートが設定されておらず、位置検出装置２０は、情報処理装置１０の要求に応じて不定期的に部位情報を生成するようにしてよい。
【００３６】
大型ディスプレイ３０は、少なくとも１つの液晶表示装置又は有機ＥＬ表示装置である。大型ディスプレイ３０の画面サイズ及びアスペクト比は任意であってよいが、ここでは、横幅が数メートル〜数十メートル程度の大きさであるものとする。なお、大型ディスプレイ３０は、単体の表示装置のみから構成されるようにしてもよいし、複数の表示装置を並べて配置したマルチディスプレイ方式のものであってもよい。大型ディスプレイ３０は、有線通信又は無線通信用の通信インタフェースを含み、情報処理装置１０又は他のコンピュータから受信した画像を表示可能である。例えば、大型ディスプレイ３０は、情報処理装置１０の表示部１５に表示された画像と同じ画像を表示可能であってよい。
【００３７】
［２．情報処理装置が実行する処理の概要］
次に、情報処理装置１０が実行する処理の概要を説明する。図２は、情報処理システム１が利用される場面を示す図である。図２に示すように、例えば、大型ディスプレイ３０の上面中央付近に位置検出装置２０が配置され、ユーザは、情報処理装置１０を操作し、大型ディスプレイ３０に資料を映し出してプレゼンテーションをする。なお、本実施形態では、位置検出装置２０を原点Ｏｗとするワールド座標系（あるいはビュー座標系）の座標軸であるＸｗ軸−Ｙｗ軸−Ｚｗ軸と、大型ディスプレイ３０の画面左上を原点Ｏｓとするスクリーン座標系の座標軸であるＸｓ軸−Ｙｓ軸と、が設定されるものとする。また、位置検出装置２０と大型ディスプレイ３０は、事前に伽リブレーションされており、位置検出装置２０の画角におけるユーザ及び画面の関係を把握可能となっている。
【００３８】
情報処理装置１０は、位置検出装置２０から取得した部位情報を参照し、ユーザの手が画面に向いたことを検知すると、画面上にポインタ４０を表示させる。ユーザは、ポインタ４０を利用して、資料のうち説明中の部分を示すことができる。先述したように、ユーザの体から手に向けて伸ばした線と画面との交点を入力位置としてポインタ４０を表示させると、入力位置に対するユーザの相対位置次第では、角度的な問題からポインタ４０の表示位置の微調整が難しくなり、操作性を向上させることができない。
【００３９】
図３及び図４は、従来技術の課題の一例をより詳しく説明するための図である。図３は、ユーザがいる空間を上から見た様子を示している。また、ここでは、入力位置を決める際の基準となる体の位置を、ユーザの頭とする。図３に示すように、ユーザの手の位置をＦｐ１とし、ユーザの頭の位置をＨｐとすると、従来技術では、入力位置Ｐ１は、頭Ｈｐから手Ｆｐ１に向けて伸ばした線Ｌ１と、大型ディスプレイ３０の画面と、の交点となる。その後、ユーザが右方向に角度Δθだけ手を移動させた場合の手の位置をＦｐ２とすると、その場合の入力位置Ｐ２は、頭Ｈｐから手ＦＰ２に向けて伸ばした線Ｌ２と、大型ディスプレイ３０の画面と、の交点となる。この場合の入力位置の移動量（即ち、入力位置Ｐ１とＰ２の距離）は、図３のｘ１２で示される。
【００４０】
なお、本実施形態では、入力位置Ｐ１に対するユーザの相対位置を示す角度をθとする。頭Ｈｐから画面に下ろした垂線の足の位置をＳとすると、相対位置θは、∠ＳＨｐＰ１（＝∠ＳＨｐＦｐ１）となる。また、頭Ｈｐと垂線の足Ｓとの距離をａとし、垂線の足Ｓと入力位置Ｐ１との距離をｂとすると、移動量ｘ１２、相対位置θ、及びユーザの操作量であるΔθとの関係は、下記の式により表すことができる。
【００４１】
【数１】
2018042639.tif 000003
【００４２】
【数２】
2018042639.tif 000004
【００４３】
【数３】
2018042639.tif 000005
【００４４】
【数４】
2018042639.tif 000006
【００４５】
【数５】
2018042639.tif 000007
【００４６】
例えば、操作量Δθが１°（以降、単位操作量という。）である場合の入力位置の移動量をΔｘ（以降、単位移動量という。）とすると、上記の数式５により、相対位置θと単位移動量Δｘとの関係は、図４のように表すことができる。図４に示すように、従来技術では、角度θが大きくなると、単位移動量Δｘは飛躍的に大きくなるので、入力位置の微調整が難しくなる。このため、本実施形態の情報処理装置１０は、角度θが大きくなった場合の単位移動量Δｘを抑制している。
【００４７】
図５及び図６は、情報処理装置１０が実行する処理の概要を説明するための図である。図５は、図３と同様に、ユーザがいる空間を上から見た様子を示す。図５に示すように、ユーザが手を画面に向けたばかりのときは、従来と同様に、頭Ｈｐから手Ｆｐ３に向けて伸ばした線Ｌ３と、大型ディスプレイ３０の画面と、の交点を入力位置Ｐ３としてよい。ただし、その後にユーザが手を動かした場合は、入力位置が従来とは異なる。例えば、ユーザが右方向に角度Δθだけ手を移動させた場合の手の位置をＦｐ４とすると、頭Ｈｐから手Ｆｐ４に向けて伸ばした線Ｌ４と、大型ディスプレイ３０の画面と、の交点の位置Ｐ４よりも、入力位置Ｐ５は、ユーザから見て手前側となる。この場合の入力位置の移動量ｘ３５（即ち、入力位置Ｐ３とＰ５の距離）は、従来技術の移動量ｘ１２よりも小さくなるように抑制されている。
【００４８】
本実施形態では、入力位置の移動量を抑制するために、角度θと単位移動量Δｘとの関係は、図６の実線ように定義されている。この関係は、例えば、数式５のθを「ｎ×θ」（ｎは、１より大きな任意の数であり、例えば、１．１〜２．０程度であってもよい。）とすることで定義してよい。なお、図６では、対比のために、従来技術における関係（即ち、図４の実線）を破線で示している。図６に示すように、本実施形態では、相対位置θの角度が大きい場合の単位移動量Δｘを小さくし、角度θが大きくなったとしても入力位置の微調整を可能にすることによって、操作性を向上させている。以降、この技術の詳細を説明する。
【００４９】
［３．本実施形態において実現される機能］
図７は、情報処理システム１で実現される機能の一例を示す機能ブロック図である。図７に示すように、本実施形態では、データ記憶部１００、３次元座標取得部１０１、実指示位置取得部１０２、相対位置取得部１０３、入力位置取得部１０４、処理実行部１０５、及び移動判定部１０６が、情報処理装置１０で実現される。なお、以降では、特に図面を参照する必要のないときは、頭Ｈｐや相対位置θなどの符号を省略する。
【００５０】
［３−１．データ記憶部］
データ記憶部１００は、記憶部１２を主として実現される。データ記憶部１００は、入力位置の移動量を抑制するために必要なデータを記憶する。ここでは、そのデータの一例として、相対位置θと単位移動量Δｘとの関係（図６）を示す関係データを説明する。関係データは、数式形式（例えば、数式５）であってもよいし、テーブル形式であってもよいし、プログラムコードの一部として記述されていてもよい。関係データがプログラムコードの一部である場合には、相対位置θを引数として入力すると、それに対応する単位移動量Δｘを戻り値として返す関数であってよい。
【００５１】
なお、データ記憶部１００に記憶されるデータは上記の例に限られない。例えば、データ記憶部１００は、位置検出装置２０が生成した部位情報の履歴を記憶してもよい。また例えば、データ記憶部１００は、ワールド座標系の空間における大型ディスプレイ３０の画面の位置（例えば、画面の４隅の座標）を定義した座標データを記憶してもよい。また例えば、データ記憶部１００は、ポインタ４０の画像データを記憶してもよい。
【００５２】
［３−２．３次元座標取得部］
３次元座標取得部１０１は、制御部１１を主として実現される。３次元座標取得部１０１は、位置検出装置２０から、ユーザの各部位の３次元座標を示す部位情報を取得する。部位情報は、ユーザの手の位置を示す３次元座標を含むので、３次元座標取得部１０１は、ユーザの手の位置を示す３次元座標を取得することになる。
【００５３】
部位情報は、ユーザの手だけでなく、ユーザの位置の３次元座標を含むので、３次元座標取得部１０１は、ユーザの位置を示す３次元座標も取得する。ここでのユーザの位置とは、手以外の部位であり、相対位置又は入力位置を決めるために参照される位置である。本実施形態では、当該部位を基準部位という。本実施形態のようにユーザの手がオブジェクトに相当する場合、ユーザが指し示す方向は、手の位置だけでは特定できないので、この方向を特定するために基準部位を利用する。
【００５４】
基準部位は、手以外の任意の部位であればよいが、例えば、手と連動しない部位であってよく、頭、首、胸、背骨、又は腰などであってよい。本実施形態では、ユーザの頭が基準部位である場合を説明する。このため、３次元座標取得部１０１は、ユーザの手の位置を示す３次元座標と、ユーザの頭の位置を示す３次元座標と、を取得することになる。
【００５５】
［３−３．実指示位置取得部］
実指示位置取得部１０２は、制御部１１を主として実現される。実指示位置取得部１０２は、ユーザにより画面に向けられた手が実際に指し示す実指示位置であって、画面を含む平面上にある実指示位置を取得する。実指示位置は、空間において、ユーザによって画面が物理的に指し示されている位置であり、例えば、ユーザの手の位置から指し示す方向に向けて伸ばした線と画面との交点である。実指示位置は、ワールド座標系の３次元座標で示されてもよいし、スクリーン座標系の２次元座標で示されてもよい。本実施形態では、実指示位置は、３次元座標で示されるものとする。また、実指示位置は、必ずしも画面上にある必要はなく、画面を含む平面上にあればよい。画面を含む平面は、画面と一致していてもよいし、画面とその周囲を含む平面であってもよい。即ち、実指示位置は、画面の内側と外側の何れにあってもよく、例えば、実指示位置取得部１０２は、ユーザが画面の外を指し示したとしても、画面の外の実指示位置を取得可能であってよい。
【００５６】
実指示位置取得部１０２は、ユーザの手の位置に基づいて実指示位置を取得する。本実施形態では、手の３次元座標を取得可能なので、実指示位置取得部１０２は、ユーザの手の３次元座標に基づいて実指示位置を取得する。また、ユーザの頭が基準部位に相当するので、実指示位置取得部１０２は、ユーザの手の３次元座標と、ユーザの頭の位置の３次元座標と、に基づいて実指示位置を取得することになる。このため、例えば、実指示位置は、ユーザの頭の位置から手の位置に向けた方向によって定まる画面上の位置であってよい。なお、本実施形態では、図５に示すユーザの頭Ｈｐから手Ｆｐに向けて伸ばした線Ｌと画面との交点をそのまま実指示位置とするが、当該交点から所定距離以内の点を実指示位置としてもよい。即ち、実指示位置は、当該交点と一致しなくてもよい。
【００５７】
［３−４．相対位置取得部］
相対位置取得部１０３は、制御部１１を主として実現される。相対位置取得部１０３は、実指示位置に対するユーザの相対位置を取得する。相対位置は、実指示位置とユーザとの位置関係であり、ユーザがどこから画面を指し示しているかである。別の言い方をすれば、相対位置は、実指示位置から伸びる画面上の垂線とユーザとのずれ具合であり、画面に対するユーザの位置ともいえる。相対位置は、実指示位置から見た場合のユーザの位置を特定可能な情報で表されるようにすればよく、ベクトルや座標値で表現されてもよいが、ここでは、角度（例えば、図５のθ）が用いられるものとする。相対位置取得部１０３は、実指示位置に対するユーザの任意の部位の相対位置を取得すればよく、ここでは、実指示位置に対するユーザの頭の相対位置を取得する。
【００５８】
例えば、相対位置取得部１０３は、ユーザの３次元座標に基づいて相対位置を取得する。本実施形態では、ユーザの頭が基準部位であるので、相対位置取得部１０３は、ユーザの頭の３次元座標に基づいて相対位置を取得することになる。例えば、相対位置取得部１０３は、３次元座標取得部１０１が取得したユーザの頭の３次元座標から、大型ディスプレイ３０の画面（ここでは、Ｘｗ−Ｙｗ平面とする。）に下ろした垂線の足Ｓ（図５）の３次元座標を取得する。そして、相対位置取得部１０３は、垂線の足Ｓの３次元座標と、ユーザの頭Ｈｐの３次元座標と、実指示位置又は手Ｆｐの３次元座標と、のなす角度θを、相対位置として取得する。
【００５９】
［３−５．入力位置取得部］
入力位置取得部１０４は、制御部１１を主として実現される。入力位置取得部１０４は、ユーザの手の現在位置に対応する画面上の入力位置を取得する。入力位置取得部１０４は、ユーザの手の現在位置に基づいて入力位置を取得し、ユーザの手が動いた場合に入力位置を移動させる。
【００６０】
本実施形態では、手の３次元座標を取得可能なので、入力位置取得部１０４は、ユーザの手の３次元座標に基づいて、入力位置を取得する。入力位置は、ワールド座標系の３次元座標で示されてもよいし、スクリーン座標系の２次元座標で示されてもよい。本実施形態では、入力位置は、３次元座標で示されるものとする。なお、入力位置取得部１０４は、定期的に入力位置を取得してもよいし、不定期的に入力位置を取得してもよい。
【００６１】
本実施形態では、入力位置取得部１０４は、ユーザの手が画面を指し示していない非指示状態から画面を指し示す指示状態になった場合は、現在の実指示位置を、入力位置Ｐ３（図５）として取得する。非指示状態は、ユーザの手が画面に向いていない状態であり、実指示位置が画面内にない状態である。指示状態は、ユーザの手が画面に向いた状態であり、実指示位置が画面内にある状態である。
【００６２】
例えば、入力位置取得部１０４は、ユーザの手の現在位置に基づいて、非指示状態であるか指示状態であるかを判定する。例えば、指示状態になった場合に実指示位置が取得可能になるので、入力位置取得部１０４は、実指示位置が取得されない場合は非指示状態であると判定し、実指示位置が取得される場合は指示状態であると判定するようにしてよい。
【００６３】
入力位置取得部１０４は、ユーザが手を動かした場合に、相対位置に基づいて、操作量に対する入力位置の移動量を抑制可能である。先述したように、本実施形態では、非指示状態から指示状態になったばかりの時点では、実指示位置がそのまま入力位置となるので、入力位置取得部１０４は、ユーザの手が指示状態になった後に、ユーザが手を動かした場合に、入力位置の移動量を抑制可能である。
【００６４】
操作量は、オブジェクトの一例である手の移動量（位置的な変位量）又は回転量（角度的な変位量）である。入力位置の移動量は、オブジェクトの一例である手が移動する前の入力位置と、手が移動した後の入力位置と、の距離である。抑制とは、オブジェクトの一例である手が移動した場合に、実指示位置の移動量よりも入力位置の移動量を小さくすることである。別の言い方をすれば、抑制とは、ユーザから見て実指示位置よりも手前側の位置を入力位置とすることである。
【００６５】
本実施形態では、入力位置取得部１０４は、ユーザの手が非指示状態から指示状態になった場合の実指示位置（図５ではＰ３）を、基準位置として取得する。ここでは、非指示状態から指示状態になった場合の入力位置は実指示位置と同じなので、基準位置も、この時点の入力位置と同じとなる。このため、基準位置は、初期入力位置ということもでき、入力位置の移動の起点となる位置ということもできる。基準位置は、データ記憶部１００に保持される。
【００６６】
例えば、入力位置取得部１０４は、ユーザの手が指示状態になった後に、ユーザが手を動かした場合に、相対位置に基づいて、基準位置からの入力位置の移動量を抑制可能である。具体的には、まず、入力位置取得部１０４は、関係データに基づいて、現在の相対位置θに対応する単位移動量Δｘを取得する。次いで、入力位置取得部１０４は、ユーザの手の位置変化に基づいて操作量Δθを取得し、操作量Δθと単位移動量Δｘとに基づいて、基準位置からの入力位置の移動量ｘを決定する。
【００６７】
先述したように関係データには、実指示位置の移動量よりも入力位置の移動量ｘの方が小さくなるように（即ち、移動量ｘが抑制されるように）単位移動量Δｘが定義されているので、入力位置取得部１０４は、上記のように入力位置を計算することで、移動量ｘを抑制可能となる。例えば、入力位置取得部１０４は、相対位置θが小さいほど抑制具合を小さくし、相対位置θが大きいほど抑制具合を大きくしてよい。即ち、入力位置取得部１０４は、ユーザが実指示位置に対して正面に近いほど抑制具合を小さくし、実指示位置が当該正面から遠いほど抑制具合を大きくする。なお、入力位置の移動方向は、ユーザの手の位置が変化した方向又は実指示位置が変化した方向に基づいて決定されるようにすればよい。
【００６８】
上記のように、本実施形態では、ユーザの手が頭に対して動いた操作量Δθに基づいて入力位置が決まるので、入力位置取得部１０４は、ユーザが手を動かした場合、ユーザに対する手の相対位置の変化に基づいて、入力位置を取得することになる。ユーザに対する手の相対位置とは、ユーザと手との位置関係であり、ユーザから見て手がどこにあるかである。相対位置は、ユーザから見た場合の手の位置を特定可能な情報で表されるようにすればよく、ベクトルや座標値で表現されてもよいが、上記のように、ここでは、角度であるΔθが用いられるものとする。即ち、入力位置取得部１０４は、ユーザが手を動かした場合に、ユーザに対して手が動いた角度Δθに基づいて、入力位置を取得することになる。入力位置取得部１０４は、ユーザの任意の部位に対する手の相対位置を取得すればよく、ここでは、先述したように、ユーザの頭に対する手の相対位置を取得することになる。
【００６９】
また、入力位置取得部１０４は、ユーザの手が指示状態になった後に、ユーザが手を動かした場合に、基準位置（図５のＰ３）からの現在の実指示位置（図５のＰ４）の移動量よりも、基準位置からの現在の入力位置（図５のＰ５）の移動量が小さくなるように、入力位置を取得することになる。移動量をどれだけ小さくするかは、任意であってよいが、ここでは、角度θが大きくなるほど、実指示位置の移動量と入力位置の移動量との差が大きくなり、入力位置の移動量の抑制具合が大きくなる。
【００７０】
なお、入力位置取得部１０４は、ユーザの手が指示状態になった後に、再び非指示状態になった場合に、入力位置を取得する処理を停止するようにしてもよい。そして、入力位置取得部１０４は、ユーザの手が再び非指示状態になった後に、再び指示状態になった場合に、現在の実指示位置を、新たな入力位置及び基準位置として取得し直すようにしてもよい。指示状態及び非指示状態を判定する方法は、先述した通りである。入力位置取得部１０４は、ユーザの手が指示状態から非指示状態になったと判定された場合は、入力位置を取得する処理を実行せず、その後再び指示状態になったと判定された場合に、入力位置を取得する処理を再開することになる。
【００７１】
なお、ユーザが手を下ろした状態から手を上げて画面を指し示す場合、手が下から徐々に上に移動するので、ユーザが指し示したい位置に到達する前に、手が画面の下端部付近を指し示すことになる。このため、厳密には、指示状態が開始する位置は、必ず画面の端部となってしまうので、入力位置取得部１０４は、ユーザの手が非指示状態から指示状態になり、かつ、指示状態のまま手の位置が一定時間以上維持された場合に、現在の実指示位置を、入力位置及び基準位置として取得するようにしてもよい。
【００７２】
手の位置が維持されるとは、手の位置が全く変わらないこと又は手の位置が略変わらないことを意味する。手の位置が略変わらないとは、手の位置の移動量が閾値未満であり、一定範囲内に手が留まることを意味する。一定時間は、予め定められた任意の時間（例えば、１秒）であればよく、固定値であってもよいし、可変値であってもよい。入力位置取得部１０４は、手の位置変化に基づいて、手の位置が維持されたかを判定し、維持されたと判定された場合に計時を開始して、一定時間が経過したかを判定する。入力位置取得部１０４は、計時中においても手の位置が維持されたかを判定し、手の位置が位置されていると判定されている間は計時を続け、手の位置が維持されないと判定された場合は計時を中止する。入力位置取得部１０４は、一定時間が経過したと判定された場合に、現在の実指示位置を入力位置及び基準位置として取得することになる。
【００７３】
［３−６．処理実行部］
処理実行部１０５は、制御部１１を主として実現される。処理実行部１０５は、入力位置取得部１０４により取得された入力位置に基づいて、所定の処理を実行する。本実施系形態では、所定の処理は、画面において入力位置を識別可能にする画像処理である。この画像処理は、例えば、入力位置又はその所定距離以内に画像を表示させる処理、入力位置又はその所定距離以内の色、輝度、若しくは透明度を変化させる処理、又は入力位置又はその所定距離以内に点滅などのエフェクトを施す処理である。本実施形態では、入力位置にポインタ４０を表示させることが所定の処理に相当する。
【００７４】
なお、所定の処理は、予め定められた任意の処理であればよく、上記画像処理以外の処理であってもよい。例えば、所定の処理は、画面に表示された画像（例えば、入力フォームやボタン）を選択する選択処理であってもよいし、仮想空間内の移動物体（例えば、３Ｄモデル）又は画面内の画像を移動させる移動制御処理であってもよい。また例えば、所定の処理は、ソフトウェアキーボードに対する入力処理であってもよいし、グラフィックソフトで絵を描く描画処理であってもよい。なお、画面上の複数の位置の各々と、複数の処理内容の各々と、を予め関連付けておき、入力位置に関連付けられた処理が所定の処理として実行されるようにしてもよい。
【００７５】
［３−７．移動判定部］
移動判定部１０６は、制御部１１を主として実現される。移動判定部１０６は、ユーザが移動したかを判定する。移動判定部１０６による判定対象となるユーザの部位は、任意の部位であってよく、ここでは、基準部位である頭とする。本実施形態では、移動判定部１０６は、部位情報の変化に基づいてユーザが移動したかを判定する。例えば、移動判定部１０６は、ユーザの頭の移動量が閾値以上である場合はユーザが移動したと判定し、ユーザの頭の移動量が閾値未満である場合はユーザが移動していないと判定する。頭の移動量は、ある一定期間（例えば、１秒間）における頭の位置変化を利用すればよい。
【００７６】
相対位置取得部１０３は、移動判定部１０６によりユーザが移動したと判定された場合に、相対位置を取得し直す。相対位置取得部１０３は、現在の部位情報に基づいて、最新の相対位置を取得することになる。入力位置取得部１０４は、取得し直された相対位置に基づいて、入力位置を取得し直す。入力位置取得部１０４は、最新の相対位置に基づいて、入力位置を再び取得する。相対位置及び入力位置の取得方法は、先述した通りである。
【００７７】
［４．本実施形態において実行される処理］
図８は、情報処理装置１０において実行される処理の一例を示すフロー図である。図８に示す処理は、図７に示す機能ブロックにより実行される処理の一例であり、制御部１１が、記憶部１２に記憶されたプログラムに従って動作することによって実行される。図８に示す処理は、位置検出装置２０のフレームレートに基づいて定まる一定時間（即ち、処理単位であるフレーム）ごとに実行されるものとする。なお、情報処理装置１０のフレームと、位置検出装置２０のフレームと、は同期されているものとする。
【００７８】
図８に示すように、まず、制御部１１は、通信部１３を介して、位置検出装置２０が生成した部位情報を取得する（Ｓ１）。Ｓ１においては、制御部１１は、取得した部位情報を記憶部１２に記録し、部位情報の履歴を記憶部１２に保持する。
【００７９】
制御部１１は、ユーザの手が大型ディスプレイ３０の画面を指し示しているかを識別するための状態フラグの値を参照する（Ｓ２）。状態フラグは、記憶部１２に記憶されており、例えば、状態フラグが「０」であることは、ユーザの手が画面を指し示していないことを意味し、状態フラグが「１」であることは、ユーザの手が画面を指し示していることを意味する。なお、状態フラグの初期値は「０」とする。このため１つ目のフレームでは、状態フラグは「０」となっている。２つ目以降のフレームでは、状態フラグの値は、直近のフレームにおける手の状態を示すので、Ｓ２では、制御部１１は、直近のフレームにおいて、ユーザの手が画面を指し示していたかを判定することになる。
【００８０】
状態フラグが「０」である場合（Ｓ２；状態フラグが０）、制御部１１は、Ｓ１で取得した部位情報に基づいて、大型ディスプレイ３０の画面が指し示されたかを判定する（Ｓ３）。Ｓ３においては、制御部１１は、部位情報が示すユーザの頭と手の３次元座標を参照し、頭から手に向けて伸ばした線が、大型ディスプレイ３０の画面と交差するかを判定する。先述したように、大型ディスプレイ３０の画面に対応するＸｗ−Ｙｗ平面上の領域は、予め記憶部１２に記憶されており、制御部１１は、頭から手に向けて伸ばした線が、当該領域と交差するかを判定することになる。
【００８１】
画面が指し示されたと判定された場合（Ｓ３；Ｙ）、制御部１１は、ユーザの手の位置が一定時間以上維持されたかを判定する（Ｓ４）。Ｓ４においては、制御部１１は、部位情報の履歴を参照し、ユーザの手の移動量が閾値以内である状態が一定時間以上継続されているかを判定することになる。なお、画面が指し示されたと判定されない場合（Ｓ３；Ｎ）、又は、ユーザの手の位置が一定時間以上維持されたと判定されない場合（Ｓ４；Ｎ）、本処理は終了し、次のフレームが訪れた場合に再びＳ１の処理から実行される。
【００８２】
ユーザの手の位置が一定時間以上維持されたと判定された場合（Ｓ４；Ｙ）、制御部１１は、状態フラグの値を「１」にし（Ｓ５）、Ｓ１で取得した部位情報に基づいて、実指示位置を計算して入力位置として取得する（Ｓ６）。Ｓ６においては、制御部１１は、頭から手に向けて伸ばした線と、大型ディスプレイ３０の画面と、の交点の３次元座標を計算する。本実施形態では、実指示位置が３次元座標で表されるので、制御部１１は、交点の３次元座標をそのまま実指示位置とするが、実指示位置が２次元座標で表される場合は、交点の３次元座標をスクリーン座標系の２次元座標に変換すればよい。なお、ワールド座標系とスクリーン座標系の座標変換は、所定の行列式を用いればよい。
【００８３】
制御部１１は、Ｓ６で取得した入力位置に基づいてポインタ４０を表示させる（Ｓ７）。なお、ポインタ４０の画像データは、記憶部１２に予め記憶されており、制御部１１は、当該画像データに基づいて、入力位置にポインタ４０を表示させる。
【００８４】
制御部１１は、Ｓ６で計算した実指示位置を、基準位置として記憶部１２に一時的に保持する（Ｓ８）。保持された基準位置は、次のフレーム以降において入力位置を決定する際に参照される。
【００８５】
制御部１１は、Ｓ１で取得した部位情報に基づいて、相対位置θを取得する（Ｓ９）。Ｓ９においては、まず、制御部１１は、ユーザの頭の３次元座標を参照し、画面上に下ろした垂線の足の３次元座標を取得する。そして、制御部１１は、垂線の足の３次元座標と、ユーザの頭の３次元座標と、実指示位置又は手の３次元座標と、のなす角度θを、相対位置として取得する。
【００８６】
制御部１１は、記憶部１２に記憶された関係データを参照し、Ｓ９で取得した相対位置θに対応する単位移動量Δｘを取得して記憶部１２に一時的に保持し（Ｓ１０）、本処理は終了する。保持された単位移動量Δｘは、次のフレーム以降において入力位置を決定する際に参照される。
【００８７】
一方、Ｓ２において、状態フラグが「１」である場合（Ｓ２；状態フラグが１）、直近のフレームにおいてユーザの手が画面に向いており、ポインタ４０が表示されていたことを意味する。この場合、制御部１１は、Ｓ１で取得した部位情報に基づいて、ユーザの手が画面に向いたままであるかを判定する（Ｓ１１）。Ｓ１１の判定方法は、Ｓ３と同様である。
【００８８】
ユーザの手が画面に向いたままであると判定された場合（Ｓ１１；Ｙ）、制御部１１は、Ｓ１で取得した部位情報に基づいて、ユーザが動いたかを判定する（Ｓ１２）。Ｓ１２においては、制御部１１は、部位情報の履歴に基づいて、ユーザの頭の３次元座標の移動量を取得し、当該移動量が閾値以上であるかを判定する。制御部１１は、移動量が閾値以上である場合にユーザが動いたと判定し、移動量が閾値未満である場合にユーザが動いていないと判定する。なお、閾値は、予め定められた固定値であってもよいし、可変値であってもよい。
【００８９】
ユーザが動いたと判定された場合（Ｓ１２；Ｙ）、Ｓ６の処理に移行する。この場合、制御部１１は、Ｓ６において現在の実指示位置を入力位置として取得し、Ｓ７において当該入力位置にポインタ４０を表示させる。ポインタの表示位置（即ち、入力位置）は、この時点で変わることになる。そして、制御部１１は、Ｓ８において現在の実指示位置を基準位置として保持し直し、Ｓ９において角度θを計算してＳ１０において単位移動量Δｘを保持し直す。これら保持された基準位置及び単位移動量Δｘは、次のフレーム以降において参照される。
【００９０】
一方、ユーザが動いたと判定されない場合（Ｓ１２；Ｎ）、制御部１１は、Ｓ１で取得した部位情報に基づいて、ユーザの操作量Δθを取得する（Ｓ１３）。制御部１１は、基準位置の３次元座標と、ユーザの頭の３次元座標と、現在の実指示位置又は手の３次元座標と、のなす角度を、操作量Δθとして取得する。
【００９１】
制御部１１は、記憶部１２に保持された基準位置及び単位移動量Δｘと、Ｓ１３で取得した操作量Δθと、に基づいて、入力位置を取得する（Ｓ１４）。Ｓ１４においては、まず、制御部１１は、操作量Δθと単位移動量Δｘとを乗算することで移動量ｘを計算する。先述したように、この移動量ｘは、実指示位置の移動量よりも小さい抑止された移動量となっている。そして、制御部１１は、現在の実指示位置又は手の３次元座標に基づいて、移動方向を取得する。制御部１１は、基準位置から、移動方向に対して移動量ｘだけ離れた位置を入力位置として取得する。
【００９２】
制御部１１は、Ｓ１４で取得した入力位置にポインタ４０を表示させ（Ｓ１５）、本処理は終了する。Ｓ１５の処理は、Ｓ６の処理と同様であるが、ポインタ４０はもともと表示されていたので、制御部１１は、ポインタ４０を移動させることになる。一方、Ｓ１１において、ユーザの手が画面に向いたままでないと判定された場合（Ｓ１１；Ｎ）、指示状態から非指示状態になったことを意味する。この場合、制御部１１は、状態フラグの値を「０」にし（Ｓ１６）、ポインタ４０を消去する（Ｓ１７）。その後、本処理は終了し、次のフレームが訪れた場合に再びＳ１の処理から実行される。
【００９３】
以上説明した情報処理システム１によれば、ユーザが手を動かした場合の入力位置の移動量が相対位置θに基づいて抑制されるので、相対位置θが示す角度が大きくなったとしても、入力位置の微調整が可能となる。このため、ユーザが手を画面に向けることで画面上の入力位置を入力可能なユーザインタフェースにおける操作性を向上させることができる。即ち、ユーザが指し示した位置が移動した方向に入力位置が移動するという直感的な操作を保ちつつ、相対位置θが高くなった場合の入力位置の急激な移動を回避することで、操作性を向上させることができる。
【００９４】
また、ユーザが画面を指し示したばかりのときは、実際に指し示した位置を入力位置にしたいと考えることが多いため、非指示状態から指示状態になった場合に、実指示位置ではない位置を入力位置にすると、ユーザは違和感を覚える可能性がある。この点、情報処理システム１では、非指示状態から指示状態になったばかりのときは実指示位置をそのまま入力位置とするので、ユーザが指示したいと思う位置を入力位置とすることができ、ユーザが違和感を覚えないようにすることができる。
【００９５】
また、ユーザの手が指示状態になった後に動いた場合は、基準位置から見た入力位置の移動量が、相対位置θに基づいて抑制されるので、ユーザは、指示状態になった場合の手の位置からどのくらい手を動かせば、基準位置からどのくらい入力位置が移動するかを判断することができる。例えば、基準位置からの単位移動量Δｘが相対位置θによって決まる場合には、指示状態になった後は、入力位置の移動量を操作量に比例させることができるので、より直観的な操作が可能になる。
【００９６】
また、情報処理装置１０は、ユーザの手の位置を示す３次元座標と、ユーザの基準部位を示す３次元座標と、を含む部位情報を取得するため、ユーザの手の位置をより正確に取得することができる。その結果、ユーザが手を動かす操作を、実指示位置、相対位置、及び入力位置をより正確に反映させることができる。
【００９７】
また、実指示位置及び相対位置は、ユーザの目がある頭を基準にして決まるので、より直観的な操作を提供することができる。
【００９８】
また、ユーザに対する手の相対位置の変化に基づいて入力位置が取得されユーザの手がユーザ自身に対してどれだけ動いたかを入力位置の移動に反映させることができるので、より直感的な操作が可能になる。
【００９９】
また、ユーザに対して手が動いた角度に基づいて入力位置が取得され、手が動いた角度は、ユーザが感覚的に操作量を把握しやすい指標なので、より直感的な操作が可能になる。
【０１００】
また、ユーザ自身が移動した場合は、実指示位置に対するユーザの相対位置が変わってしまうので、その場合に相対位置を取得し直し、当該相対位置に基づいて入力位置も取得し直すことにより、現在のユーザの位置に応じた操作を提供することができる。例えば、ユーザが移動しても相対位置を更新せず基準移動量Δｘが変化しない場合には、ユーザが実指示位置の正面付近の入力位置の微調整が可能な位置に移動したとしても、基準移動量Δｘが変わらないので、ユーザは違和感を覚えてしまうが、相対位置を取得し直すことでこのような違和感を回避することができる。
【０１０１】
また、基準位置からの実指示位置の移動量よりも、基準位置からの現在の入力位置の移動量が小さくなるように入力位置が取得されるので、基準位置から入力位置が移動する場合の移動量を抑制することができる。
【０１０２】
また、ユーザの手が指示状態になった後に非指示状態になった場合は、ユーザが手で画面を指し示していないので、入力位置を取得する処理を停止することにより、必要のない処理を実行することがなくなり、情報処理装置１０の処理負荷を軽減することができる。その後、再び指示状態になった場合に新たな入力位置及び基準位置が取得されることにより、再びポインタ４０を表示させることができる。
【０１０３】
また、指示状態になり、ユーザの手の位置が一定時間以上維持された場合に、現在の実指示位置を入力位置及び基準位置として取得することにより、ユーザが指し示したい位置を指し示す位置に手が移動する前に入力位置や基準位置が取得されてしまうことを防止し、ユーザが指し示したい位置に移動した後に入力位置や基準位置が取得されるので、ユーザの意図した入力位置とすることができ、ユーザの思い通りの操作を提供することができる。
【０１０４】
また、所定の処理として、入力位置を識別可能にする画像処理とすることで、ユーザに対して入力位置を識別させることができ、入力位置を識別可能にする情報処理装置１０の操作性を向上させることができる。
【０１０５】
また、オブジェクトをユーザの手とすることで、より直観的な操作を提供することができ、入力デバイスを用意する必要もなくなる。
【０１０６】
［５．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１０７】
図９は、変形例における機能ブロック図である。図９に示すように変形例では、実施形態で説明した機能の他に、注視判定部１０７が実現される。注視判定部１０７は、制御部１１を主として実現される。
【０１０８】
（１）例えば、実施形態では、ユーザが移動すると、現在の実指示位置を新たな入力位置及び基準位置とする処理（以降、リセット処理という。）が実行される場合を説明したが、ユーザの移動以外の他の条件のもとで、リセット処理が実行されるようにしてもよい。この条件は、予め定められた条件であればよく、例えば、一定時間が経過することであってもよいし、ユーザが所定の操作をすることであってもよい。この場合、指示状態において当該条件が満たされたことに応じてリセット処理が実行され、ポインタ４０の位置が更新されるようにしてよい。更に、ユーザがポインタ４０付近を注視している場合は、ユーザ及び聴衆者がポインタ４０付近に注目しているため、リセット処理によってポインタ４０が移動しないように、リセット処理の実行をしないようにしてもよい。
【０１０９】
本変形例の入力位置取得部１０４は、ユーザの手が指示状態になった後に、所定の条件が満たされた場合に、現在の実指示位置を、新たな入力位置及び基準位置として取得し直す。例えば、所定の条件が実施形態で説明したユーザの移動であれば、入力位置取得部１０４は、実施形態で説明したように、移動判定部１０６の判定結果に基づいて、入力位置及び基準位置を取得し直す処理を実行することになる。
【０１１０】
また例えば、一定時間が経過することが所定の条件に相当する場合は、入力位置取得部１０４は、リアルタイムクロックなどを利用して、直近で基準位置を取得した時点から一定時間が経過したかを判定すればよい。なお、一定時間は、秒数で示されてもよいし、フレーム数で示されてもよい。また、一定時間は、固定値であってもよいし、可変値であってもよい。また例えば、ユーザが所定の操作をすることが所定の条件に相当する場合は、入力位置取得部１０４は、操作部１４又は部位情報に基づいて、ユーザが所定の操作をしたかを判定すればよい。部位情報を利用する場合は、ユーザが所定のジェスチャをすることが所定の操作をすることに相当してよい。この場合、公知のジェスチャ判定を利用すればよい。
【０１１１】
本変形例の情報処理装置は、注視判定部１０７を含む。注視判定部１０７は、ユーザが入力位置を注視しているかを判定する。この判定は、公知の視線検出方法を利用してもよいし、部位情報から推定される視線方向を利用してもよい。公知の視線検出方法を利用する場合には、例えば、カメラでユーザの目を撮影することによって視線方向が検出されるようにしてよい。部位情報から視線方向を推定する場合には、注視判定部１０７は、部位情報が示す骨格の位置関係から頭の向きを取得し、当該頭の向きを視線方向としてもよい。
【０１１２】
注視判定部１０７は、ユーザの視線方向に基づいて判定処理を実行する。例えば、注視判定部１０７は、部位情報とユーザの視線方向とに基づいて、画面上の注視点を取得する。注視点は、ユーザの頭の位置から視線方向に向けた線と画面の交点としてよい。例えば、注視判定部１０７は、注視点と入力位置との距離が閾値未満であるかを判定する。注視判定部１０７は、当該距離が閾値未満である場合はユーザが入力位置を注視していると判定し、当該距離が閾値以上である場合は、ユーザが入力位置を注視していないと判定する。
【０１１３】
入力位置取得部１０４は、ユーザが入力位置を注視していると判定された場合は、所定の条件が満たされても、現在の実指示位置を入力位置及び基準位置とするリセット処理は実行しない。この場合、入力位置取得部１０４は、現在の基準位置をそのまま利用して、実施形態で説明した方法と同様に、ユーザの手の現在位置に基づいて、入力位置を取得する。このため、ユーザが手を動かさなければポインタ４０は現在の位置で固定される。
【０１１４】
一方、入力位置取得部１０４は、ユーザが入力位置を注視していないと判定され、かつ、所定の条件が満たされた場合に、現在の実指示位置を入力位置及び基準位置とするリセット処理を実行する。この場合は、入力位置及び基準位置がリセットされ、ポインタ４０の位置が変更されることになる。
【０１１５】
変形例（１）によれば、ユーザが入力位置を注視している場合は、リセット処理を実行しないので、ユーザが手を動かさずに入力位置を見ているにもかかわらず、入力位置が勝手に変わってしまうことを防止することができる。
【０１１６】
（２）また例えば、入力位置取得部１０４は、ユーザが手を動かした場合に、手の速度に基づいて、入力位置を取得するようにしてもよい。例えば、入力位置取得部１０４は、ユーザの手の速度に基づいて入力位置の移動量を決定する。手の速度と入力位置の移動量との関係は、予めデータ記憶部に記憶させておくようにしてよい。この関係には、手の速度が速いほど入力位置の移動量が大きくなり、手の速度が遅いほど入力位置の移動量が小さくなるように定められていてよい。ここでは、入力位置取得部１０４は、ユーザの手の速度に基づいて、単位移動量Δｘを変更する。
【０１１７】
図１０は、変形例（２）における関係データのデータ格納例を示す図である。図１０に示すように、ユーザの手の速度によって、入力位置取得部１０４が参照する関係データが変わるようにしてよい。図１０では、ユーザの手の速度が遅い場合の関係データを実線で示し、ユーザの手の速度が速い場合の関係データを一点鎖線で示している。例えば、入力位置取得部１０４は、ユーザが指示状態のまま手を速く動かした場合には、入力位置の微調整をそれほど行わなくてよいものとして、単位移動量Δｘを大きくしてよい。一方、入力位置取得部１０４は、ユーザが指示状態のまま手を遅く動かした場合には、入力位置の微調整が必要であるものとして、単位移動量Δｘを小さくしてよい。単位移動量Δｘに基づいて入力位置を取得する方法自体は、実施形態で説明した方法と同様である。
【０１１８】
変形例（２）によれば、ユーザの手を動かした場合の速度に基づいて入力位置が取得されるので、より直観的な操作が可能となり、操作性を更に向上させることができる。
【０１１９】
（３）また例えば、実施形態では、指示状態のままユーザの手の位置が一定時間以上維持された場合に入力位置の取得が開始される場合を説明したが、他の条件のもとで入力位置の取得が開始されてもよい。例えば、入力位置の取得を開始するための合図（別の言い方をすれば、ポインタ４０を表示させるための合図）となるジェスチャを定めておき、ユーザがそのジェスチャをした場合に、入力位置の取得が開始されてもよい。
【０１２０】
本変形例の入力位置取得部１０４は、ユーザの手が指示状態になり、かつ、所定の状態になった場合に、現在の実指示位置を入力位置及び基準位置として取得する。所定の状態とは、ユーザの意志により実現可能な状態であればよく、例えば、ユーザが手で所定のジェスチャをすることである。ここでは、手がオブジェクトに相当するので、所定のジェスチャは、手を握ること、手を開くこと、又は所定の指だけを立てることであってよい。入力位置取得部１０４は、ユーザの手が指示状態になったとしても、所定の状態になるまでは、入力位置及び基準位置の取得を待機する。
【０１２１】
例えば、入力位置取得部１０４は、部位情報に基づいて、ユーザの手が所定の状態になったかを判定する。この場合、入力位置取得部は、部位情報が示す手の位置変化が所定の変化をしたかを判定する。また例えば、位置検出装置２０が撮影した画像に基づいて、所定の状態になったかを判定してもよい。この場合、所定の状態を示すテンプレート画像を用意しておき、入力位置取得部１０４は、テンプレートマッチングにより、ユーザの手が所定の状態になったかを判定してもよいし、画像の時系列的な変化に基づいて、ユーザの手が所定の状態になったかを判定してもよい。
【０１２２】
入力位置取得部１０４は、ユーザの手が所定の状態を維持したまま、ユーザが手を動かした場合に、基準位置に基づいて入力位置を取得する。即ち、入力位置取得部は、入力位置及び基準位置が取得された後も、ユーザの手が所定の状態になったかを判定し続けるようにしてよい。入力位置の取得方法は、実施形態で説明した通りである。入力位置取得部は、ユーザの手の所定の状態が解除された場合に、入力位置を取得する処理を終了するようにしてよい。
【０１２３】
変形例（３）によれば、ユーザの手が指示状態になった後に所定の状態になった場合に、現在の実指示位置が入力位置及び基準位置として取得されるので、ユーザ自身が入力位置の取得開始の合図をすることができる。その結果、ユーザが意図した位置を入力位置とすることができる蓋然性を高めることができる。
【０１２４】
（４）また例えば、実施形態では、ユーザの手が指示状態になった場合の実指示位置を基準位置とし、基準位置からの相対的な移動量ｘに基づいて、移動量が抑制されるように入力位置を取得する場合を説明したが、入力位置の取得方法は、これに限られない。入力位置は、過去の実指示位置に基づいて相対的に取得されなくてもよく、現在の実指示位置に基づいて絶対的に取得されてもよい。
【０１２５】
図１１は、変形例（４）における入力位置の取得方法を示す図である。図１１に示すように、入力位置取得部１０４は、現在の実指示位置をユーザ側にずらすことによって、入力位置の移動量を抑制してもよい。例えば、ユーザの手の位置がＦｐ１０である場合の実指示位置をＰ１０とすると、実指示位置Ｐ１０を、現在の相対位置θ１０に対応する距離ｙ１０だけ移動させた位置Ｐ１１を入力位置としてよい。その後、ユーザが手を右に動かした場合の手の位置をＦｐ１１とし、その場合の実指示位置をＰ１２とすると、実指示位置Ｐ１２を、現在の相対位置θ１１に対応する距離ｙ１１だけ移動させた位置Ｐ１３を入力位置としてよい。なお、距離ｙ１１は、距離ｙ１０よりも長くてよい。相対位置θと距離ｙとの関係を示すデータは、データ記憶部１００に予め記憶させておけばよい。実指示位置取得部１０２は、現在の相対位置θに関連付けられた距離ｙだけ、実指示位置をユーザ側に移動させることになる。このようにすることでも、操作量に対する入力位置の移動量を抑制可能である。
【０１２６】
（５）また例えば、位置検出装置２０が大型ディスプレイ３０の上面に配置される場合を説明したが、位置検出装置２０は、オブジェクトの一例である手を検出可能な位置に配置されるようにすればよく、上面以外の任意の位置に配置されていてよい。例えば、位置検出装置２０は、大型ディスプレイの左、右、又は下に配置されていてよい。更に、位置検出装置２０は、ユーザが身に着けていてもよい。例えば、眼鏡に位置検出装置２０を備え付けていてもよい。即ち、位置検出装置２０は、ウェアラブルであってよい。
【０１２７】
位置検出装置２０がウェアラブルである場合、情報処理装置１０は、位置検出装置２０が検出した画面のサイズ及びゆがみ具合に基づいて、画面に対するユーザの位置を推定してよい。例えば、画面に対するユーザの位置と、その位置から画面を見たときの画面のサイズ及びゆがみ具合と、の関係を示すデータは、事前にデータ記憶部１００に登録されているものとする。このデータは、数式形式であってもよいし、数式以外のデータであってもよい。情報処理装置１０は、位置検出装置２０が検出した画面と、当該データと、を比較して、マッチング度が最も高いデータの位置を、ユーザの現在の位置として推定してよい。情報処理装置１０は、画面に対するユーザの位置を推定できれば、位置検出装置２０から見たユーザの手の位置を取得可能なので、空間における画面、ユーザ、及び手の位置関係を特定可能となる。以降の処理は、実施形態及び上記変形例で説明した処理と同様であってよい。
【０１２８】
また例えば、実施形態では、ユーザの手が非指示状態から指示状態になった場合は、現在の実指示位置を入力位置とする場合を説明したが、指示状態になったばかりの入力位置は、実指示位置でなくてもよい。この場合、実指示位置から所定距離だけずらした位置を入力位置としてもよいし、実指示位置を含む領域内の任意の位置を入力位置としてもよい。また例えば、ユーザの各部位の３次元座標を示す部位情報に基づいて実指示位置などが特定される場合を説明したが、ユーザの手などの位置を識別可能な情報を利用すればよく、必ずしも３次元座標を利用する必要はない。例えば、ユーザの各部位の位置は、２次元座標を示してもよいし、位置検出装置２０から見たときのベクトル情報で示してもよい。
【０１２９】
また例えば、実施形態では、相対位置の基準となるユーザの位置が頭である場合を説明したが、当該位置は他の部位であってもよい。例えば、相対位置取得部１０３は、ユーザの首、胸、背骨、又は腰などの胴体の何れかの部位を基準にして相対位置を取得してもよい。また例えば、相対位置取得部１０３は、胴体以外にも、ひじ又は肩などの手以外の部位を基準にして相対位置を取得してもよい。また例えば、実施形態では、ユーザに対する手の相対位置の変化に基づいて入力位置が取得される場合を説明したが、オブジェクトが手以外であり、特に相対位置を利用しなくてもユーザが指し示したい方向を特定可能な場合には、相対位置は利用しなくてもよい。例えば、ジャイロセンサ又は加速度センサが内蔵されたコントローラがオブジェクトに相当する場合には、オブジェクトの向き（姿勢）を検出可能なので、このような場合には、相対位置を利用しなくてもよい。このため、実施形態では、相対位置の一例として説明した角度も特に利用しなくてもよい。
【０１３０】
また例えば、実施形態では、ユーザが移動した場合に相対位置を取得し直す場合を説明したが、特にこの処理は省略し、ユーザが移動しても指示状態になったときの相対位置をそのまま利用して入力位置が取得されるようにしてもよい。また例えば、実施形態では、基準位置からの入力位置の移動量が、基準位置からの実指示位置の移動量よりも小さくなるように、入力位置が決定される場合を説明したが、特に基準位置を設定しない場合には、基準位置からの移動量を考慮せずに入力位置が決定されるようにしてよい。この場合、実指示位置よりもユーザ側の位置を入力位置とすることで、入力位置の移動量が抑制されるようにしてよい。
【０１３１】
また例えば、ユーザの手が非指示状態になった場合に入力位置を取得する処理が停止される場合を説明したが、非指示状態になったとしても、この処理は実行されたままでもよい。ただし、非指示状態なので、入力位置として取得された位置は、画面の外側の位置となるため、ポインタ４０は画面に表示されないことになる。また例えば、ユーザの手の位置が一定時間以上維持された場合に実指示位置を入力位置及び基準位置としたが、特に手の位置の維持を判定しなくてもよい。この場合、変形例（３）で説明したように、ユーザの手が所定の状態となった場合の実指示位置を入力位置及び基準位置としてもよいし、その他の操作が行われた場合の実指示位置を入力位置及び基準位置としてもよい。また例えば、実施形態では、実指示位置を取得するための基準部位が頭である場合を説明したが、基準部位は他の部位であってもよい。例えば、基準部位は、ユーザの首、胸、背骨、又は腰などの胴体の何れかの部位であってもよいし、胴体以外にもひじ又は肩などの手以外の部位であってもよい。
【０１３２】
また例えば、オブジェクトの一例としてユーザの手を説明したが、先述したように、オブジェクトは、手以外の部位であってもよいし、ユーザの部位以外の操作部材であってもよい。実施形態及び上記変形例で手と記載した箇所は、オブジェクトと読み替えることができる。例えば、オブジェクトがユーザの指である場合は、ユーザが指の向きを変えることによって、入力位置を入力可能であってもよい。また、オブジェクトの位置が変わらなくても、その場で回転することによって、指し示す位置が変わるようにしてもよい。また例えば、画面の一例として大型ディスプレイ３０を説明したが、画面は、画像が表示される面であればよく、プロジェクトの光が投影される平面（例えば、スクリーン又は壁）であってもよい。
【０１３３】
また例えば、位置検出装置２０は、深度センサを含んでいなくてもよく、カメラで撮影した画像の被写体のサイズから深度を推定してもよい。この場合、ユーザの標準的なサイズを登録しておき、位置検出装置２０は、標準的なサイズと、画像に撮影されたユーザのサイズと、を比較して深度を推定してもよい。更に、位置検出装置２０がウェアラブルである場合には、画面の標準的なサイズを登録しておき、位置検出装置２０は、標準的なサイズの画面と、画面に撮影された画面のサイズ及びゆがみ具合と、を比較して深度を推定してもよい。
【０１３４】
また例えば、情報処理装置１０は、位置検出装置２０と一体であってもよい。同様に、情報処理装置１０は、大型ディスプレイ３０と一体であってもよい。更に、位置検出装置２０がプロセッサやメモリを含む場合には、情報処理装置１０が実行するものとして説明した処理が位置検出装置２０において実行されるようにしてもよい。この場合、位置検出装置２０が本発明に係る情報処理装置に相当する。同様に、大型ディスプレイ３０がプロセッサやメモリを含む場合には、情報処理装置１０が実行するものとして説明した処理が大型ディスプレイ３０において実行されるようにしてもよい。この場合、大型ディスプレイ３０が本発明に係る情報処理装置に相当する。更に、情報処理装置１０は、サーバコンピュータで実現されてもよい。
【図１】
2018042639.tif 000008
【図２】
2018042639.tif 000009
【図３】
2018042639.tif 000010
【図４】
2018042639.tif 000011
【図５】
2018042639.tif 000012
【図６】
2018042639.tif 000013
【図７】
2018042639.tif 000014
【図８】
2018042639.tif 000015
【図９】
2018042639.tif 000016
【図１０】
2018042639.tif 000017
【図１１】
2018042639.tif 000018
【手続補正書】
【提出日】平成30年6月6日(2018.6.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面内の一部の位置である実指示位置を取得する実指示位置取得手段と、
前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段と、
前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段と、
前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段と、
を含むことを特徴とする情報処理装置。
【請求項２】
前記相対位置取得手段は、前記オブジェクトが指し示す方向の前記画面に対する角度に関する情報を、前記相対位置として取得する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記入力位置取得手段は、
前記オブジェクトが前記画面を指し示していない非指示状態から前記画面を指し示す指示状態になった場合は、現在の前記実指示位置を、前記入力位置として取得し、
前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記入力位置の移動量を抑制可能である、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記入力位置取得手段は、
前記オブジェクトが前記非指示状態から前記指示状態になった場合の前記実指示位置を、基準位置として取得し、
前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、前記基準位置からの前記入力位置の移動量を抑制可能である、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、前記オブジェクトの位置を示す３次元座標と、前記ユーザの位置を示す３次元座標と、を取得する３次元座標取得手段を更に含み、
前記実指示位置取得手段は、前記オブジェクトの３次元座標に基づいて前記実指示位置を取得し、
前記相対位置取得手段は、前記ユーザの３次元座標に基づいて前記相対位置を取得し、
前記入力位置取得手段は、前記オブジェクトの３次元座標に基づいて、前記入力位置を取得する、
ことを特徴とする請求項１〜４の何れかに記載の情報処理装置。
【請求項６】
前記実指示位置は、前記ユーザの頭の位置から前記オブジェクトの位置に向けた方向によって定まる前記画面上の位置であり、
前記相対位置は、前記実指示位置に対する前記ユーザの頭の相対位置である、
ことを特徴とする請求項１〜５の何れかに記載の情報処理装置。
【請求項７】
前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合、前記ユーザに対する前記オブジェクトの相対位置の変化に基づいて、前記入力位置を取得する、
ことを特徴とする請求項１〜６の何れかに記載の情報処理装置。
【請求項８】
前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記ユーザに対して前記オブジェクトが動いた角度に基づいて、前記入力位置を取得する、
ことを特徴とする請求項１〜７の何れかに記載の情報処理装置。
【請求項９】
前記情報処理装置は、前記ユーザが移動したかを判定する移動判定手段を更に含み、
前記相対位置取得手段は、前記ユーザが移動したと判定された場合に、前記相対位置を取得し直し、
前記入力位置取得手段は、取得し直された前記相対位置に基づいて、前記入力位置を取得し直す、
ことを特徴とする請求項１〜８の何れかに記載の情報処理装置。
【請求項１０】
前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置からの現在の前記実指示位置の移動量よりも、前記基準位置からの現在の前記入力位置の移動量が小さくなるように、前記入力位置を取得する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項１１】
前記入力位置取得手段は、
前記オブジェクトが前記指示状態になった後に、再び前記非指示状態になった場合に、前記入力位置を取得する処理を停止し、
前記オブジェクトが再び前記非指示状態になった後に、再び前記指示状態になった場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直す、
ことを特徴とする請求項４又は１０に記載の情報処理装置。
【請求項１２】
前記入力位置取得手段は、前記オブジェクトが前記非指示状態から前記指示状態になり、かつ、前記指示状態のまま前記オブジェクトの位置が一定時間以上維持された場合に、現在の前記実指示位置を、前記入力位置及び前記基準位置として取得する、
ことを特徴とする請求項４、１０、又は１１に記載の情報処理装置。
【請求項１３】
前記所定の処理は、前記画面において前記入力位置を識別可能にする画像処理である、
ことを特徴とする請求項１〜１２の何れかに記載の情報処理装置。
【請求項１４】
前記入力位置取得手段は、前記オブジェクトが前記指示状態になった後に、所定の条件が満たされた場合に、現在の前記実指示位置を、新たな前記入力位置及び前記基準位置として取得し直し、
前記情報処理装置は、前記ユーザが前記入力位置を注視しているかを判定する注視判定手段を更に含み、
前記入力位置取得手段は、
前記ユーザが前記入力位置を注視していると判定した場合は、前記所定の条件が満たされても、現在の実指示位置を入力位置及び基準位置とする処理は実行せず、
前記ユーザが前記入力位置を注視していないと判定され、かつ、前記所定の条件が満たされた場合に、現在の実指示位置を入力位置及び基準位置とする処理を実行する、
ことを特徴とする請求項４、１０、１１、又は１２に記載の情報処理装置。
【請求項１５】
前記入力位置取得手段は、前記ユーザが前記オブジェクトを動かした場合に、前記オブジェクトの速度に基づいて、前記入力位置を取得する、
ことを特徴とする請求項１〜１４の何れかに記載の情報処理装置。
【請求項１６】
前記入力位置手段は、
前記オブジェクトが前記指示状態になり、かつ、所定の状態になった場合に、現在の前記実指示位置を前記入力位置及び前記基準位置として取得し、
前記オブジェクトが前記所定の状態を維持したまま、前記ユーザが前記オブジェクトを動かした場合に、前記基準位置に基づいて前記入力位置を取得し、
前記オブジェクトの前記所定の状態が解除された場合に、前記入力位置を取得する処理を終了する、
ことを特徴とする請求項４、１０、１１、１２、又は１４に記載の情報処理装置。
【請求項１７】
前記オブジェクトは、前記ユーザの手であり、
前記実指示位置は、前記ユーザの基準部位の位置から前記手の位置に向けた方向に基づいて定まる前記画面上の位置であり、
前記相対位置は、前記実指示位置に対する前記基準部位の相対位置である、
ことを特徴とする請求項１〜１６の何れかに記載の情報処理装置。
【請求項１８】
画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面内の一部の位置である実指示位置を取得する実指示位置取得ステップと、
前記実指示位置に対するユーザの相対位置を取得する相対位置取得ステップと、
前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得ステップと、
前記入力位置取得ステップにより取得された入力位置に基づいて、所定の処理を実行する処理実行ステップと、
を含むことを特徴とする情報処理方法。
【請求項１９】
画面に向けられたオブジェクトが実際に指し示す実指示位置であって、前記画面内の一部の位置である実指示位置を取得する実指示位置取得手段、
前記実指示位置に対するユーザの相対位置を取得する相対位置取得手段、
前記オブジェクトの現在位置に対応する前記画面上の入力位置を取得する手段であって、前記ユーザが前記オブジェクトを動かした場合に、前記相対位置に基づいて、操作量に対する前記入力位置の移動量を抑制可能な入力位置取得手段、
前記入力位置取得手段により取得された入力位置に基づいて、所定の処理を実行する処理実行手段、
としてコンピュータを機能させるためのプログラム。
【国際調査報告】
2018042639.tif 000019
2018042639.tif 000020
2018042639.tif 000021
2018042639.tif 000022