(57)【要約】【課題】ユーザの自然な身体の動きによって所望の操作指示を取得する。【解決手段】情報処理装置１００は、ユーザＵの身体の特定部分Ｐ１の動きに基づく操作ベクトルＶ１を取得する取得部１１０と、取得された操作ベクトルＶ１の方向を補正する補正部１２０と、補正された操作ベクトルＶ２に従って処理を実行する処理部１３０と、を備える。このような構成によれば、ユーザＵの自然な身体の動きから、情報処理装置１００によって提供される機能においてユーザＵが所望する方向の操作指示を取得することができ、ユーザＵは身体の動きを意識的に調整することなく、情報処理装置１００を思い通りに制御することができる。【選択図】図３
2012043194.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの身体の特定部分の動きに基づく操作ベクトルを取得する取得部と、
前記取得された操作ベクトルの方向を補正する補正部と、
前記補正された操作ベクトルに従って処理を実行する処理部と、
を備える情報処理装置。
【請求項２】
前記補正部は、前記取得された操作ベクトルの方向を、前記処理のために定められた１または複数の方向のうちのいずれかの方向に補正する、
請求項１に記載の情報処理装置。
【請求項３】
前記補正部は、前記取得された操作ベクトルの方向と前記処理のために定められた１または複数の方向のうちのいずれかの方向とのなす角度が、第１の閾値よりも小さい角度をなす場合に、前記操作ベクトルの方向を補正する、
請求項２に記載の情報処理装置。
【請求項４】
前記取得部は、前記取得部が処理の単位とする単位時間における、前記身体の特定部分の移動の始点から終点に向かうベクトルとして前記操作ベクトルを取得する、
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記補正部は、前記取得された操作ベクトルの大きさが、第２の閾値よりも大きい場合に、前記取得された操作ベクトルの方向を補正する、
請求項４に記載の情報処理装置。
【請求項６】
前記取得部は、前記ユーザの身体の中心部分の位置を取得し、
前記補正部は、前記身体の中心部分の位置からの距離が第３の閾値よりも大きい領域における前記身体の特定部分の動きについて、前記取得された操作ベクトルの方向を補正する、
請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記取得された操作ベクトルは、前記ユーザが位置する３次元空間における幅、高さ、および奥行きのそれぞれの方向の成分を含みうる３次元ベクトルである、
請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
仮想的な３次元空間においてオブジェクトを表示させる表示制御部をさらに備え、
前記処理部は、前記補正された操作ベクトルに従って、前記表示制御部が表示させる前記オブジェクトを移動させる、
請求項７に記載の情報処理装置。
【請求項９】
前記補正部は、前記取得された操作ベクトルの方向を、前記仮想的な３次元空間における幅、高さ、および奥行きのうちのいずれかの方向に補正する、
請求項８に記載の情報処理装置。
【請求項１０】
前記補正部は、前記取得された操作ベクトルの方向が、前記仮想的な３次元空間における幅、高さ、および奥行きのそれぞれの方向のうちのいずれかと、第４の閾値よりも小さい角度をなす場合に、前記操作ベクトルの方向を補正する、
請求項９に記載の情報処理装置。
【請求項１１】
ユーザの身体の特定部分の動きに基づく操作ベクトルを取得するステップと、
前記取得された操作ベクトルの方向を補正するステップと、
前記補正された操作ベクトルに従って処理を実行するステップと、
を含む情報処理方法。
【請求項１２】
ユーザの身体の特定部分の動きに基づく操作ベクトルを取得する取得部と、
前記取得された操作ベクトルの方向を補正する補正部と、
前記補正された操作ベクトルに従って処理を実行する処理部と、
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関し、特に、ユーザの身体の動きに基づく操作指示を取得する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ユーザの身体の動きに基づいて、ＰＣ（Personal  Computer）などの情報処理装置に対する操作指示を取得する技術が開発されている。ユーザの身体の動きは、例えば、装着されたマーカ、把持されたコントローラ、またはスペックルパターンを用いた画像解析などによってユーザの手などの身体の部分を認識し、さらに、三角測量、またはＴＯＦ（Time  Of  Flight）などの三次元計測手法によって、認識された身体の部分の位置を特定することによって取得される。
【０００３】
このような技術の例として、特許文献１には、スペックルパターンを用いた画像解析によって識別されたユーザのジェスチャーを、コンピュータアプリケーションに対する入力として用いる技術が記載されている。また、特許文献２には、ユーザが存在する物理空間をシステム上の仮想空間にマッピングし、物理空間において取得したユーザの動きを、仮想空間におけるカーソルの制御に反映させる技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−５２８５１４号公報
【特許文献２】特開２００８−５３０６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、例えば、腕を水平に伸ばした状態で、手を左右方向に移動させようとすると、その手の軌跡が肩の関節を中心とした略円弧状になるように、ユーザの身体の自然な動きは、必ずしも直線的ではない。これに対して、ＰＣなどのアプリケーションでは、例えば幅方向、高さ方向、奥行き方向などへの直線的な動きが想定されていることが多い。
【０００６】
そのため、例えば特許文献１および２に記載のように、ユーザの身体の動きを情報処理装置に対する操作指示として用いる場合、ユーザが直線的な動きを意図しているにもかかわらず、実際の身体の動きは直線的ではなく、ユーザが意図した通りの操作指示を取得することが難しいという問題があった。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ユーザの自然な身体の動きによって所望の操作指示を取得することが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、ユーザの身体の特定部分の動きに基づく操作ベクトルを取得する取得部と、上記取得された操作ベクトルの方向を補正する補正部と、上記補正された操作ベクトルに従って処理を実行する処理部と、を備える情報処理装置が提供される。
【０００９】
このような構成によれば、ユーザの自然な身体の動きから、情報処理装置によって提供される機能においてユーザが所望する方向の操作指示を取得することができ、ユーザは身体の動きを意識的に調整することなく、情報処理装置を思い通りに制御することができる。
【００１０】
上記補正部は、上記取得された操作ベクトルの方向を、上記処理のために定められた１または複数の方向のうちのいずれかの方向に補正してもよい。
【００１１】
上記補正部は、上記取得された操作ベクトルの方向と上記処理のために定められた１または複数の方向のうちのいずれかの方向とのなす角度が、第１の閾値よりも小さい場合に、上記操作ベクトルの方向を補正してもよい。
【００１２】
上記取得部は、上記取得部が処理の単位とする単位時間における、上記身体の特定部分の移動の始点から終点に向かうベクトルとして上記操作ベクトルを取得してもよい。
【００１３】
上記補正部は、上記取得された操作ベクトルの大きさが、第２の閾値よりも大きい場合に、上記取得された操作ベクトルの方向を補正してもよい。
【００１４】
上記取得部は、上記ユーザの身体の中心部分の位置を取得し、上記補正部は、上記身体の中心部分の位置からの距離が第３の閾値よりも大きい領域における上記身体の特定部分の動きについて、上記取得された操作ベクトルの方向を補正してもよい。
【００１５】
上記取得された操作ベクトルは、上記ユーザが位置する３次元空間における幅、高さ、および奥行きのそれぞれの方向の成分を含みうる３次元ベクトルであってもよい。
【００１６】
上記情報処理装置は、仮想的な３次元空間においてオブジェクトを表示させる表示制御部をさらに備え、上記処理部は、上記補正された操作ベクトルに従って、上記表示制御部が表示させる上記オブジェクトを移動させてもよい。
【００１７】
上記補正部は、上記取得された操作ベクトルの方向を、上記仮想的な３次元空間における幅、高さ、および奥行きのうちのいずれかの方向に補正してもよい。
【００１８】
上記補正部は、上記取得された操作ベクトルの方向が、上記仮想的な３次元空間における幅、高さ、および奥行きのそれぞれの方向のうちのいずれかと、第４の閾値よりも小さい角度をなす場合に、上記操作ベクトルの方向を補正してもよい。
【００１９】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの身体の特定部分の動きに基づく操作ベクトルを取得するステップと、上記取得された操作ベクトルの方向を補正するステップと、上記補正された操作ベクトルに従って処理を実行するステップと、を含む情報処理方法が提供される。
【００２０】
また、上記課題を解決するために、本発明のさらに別の観点によれば、ユーザの身体の特定部分の動きに基づく操作ベクトルを取得する取得部と、上記取得された操作ベクトルの方向を補正する補正部と、上記補正された操作ベクトルに従って処理を実行する処理部と、としてコンピュータを機能させるプログラムが提供される。
【発明の効果】
【００２１】
以上説明したように本発明によれば、ユーザの自然な身体の動きによって所望の操作指示を取得することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る情報処理装置を含むシステムの概略的な構成を示す図である。
【図２】本発明の一実施形態に係る情報処理装置の機能構成を示すブロック図である。
【図３】本発明の一実施形態に係る操作ベクトルの補正を概略的に説明するための図である。
【図４】図３に示される場合における、操作ベクトルの方向による補正の有無の判定について説明するための図である。
【図５】図３に示される場合における、操作ベクトルの大きさによる補正の有無の判定について説明するための図である。
【図６】図３に示される場合における、ユーザの位置による補正の有無の判定について説明するための図である。
【図７】本発明の一実施形態に係る操作ベクトルの補正における、複数の方向の間での判定処理について説明するための図である。
【図８】図７に示される場合における、複数の方向の間での判定処理を示すフローチャートである。
【図９】本発明の一実施形態における、操作ベクトルの方向の補正パターンの変形例を示す図である。
【図１０】本発明の一実施形態における、操作ベクトルの方向の補正パターンの別の変形例を示す図である。
【発明を実施するための形態】
【００２３】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２４】
なお、説明は以下の順序で行うものとする。
１．装置構成
２．操作ベクトルの補正
２−１．方向による判定
２−２．大きさによる判定
２−３．位置による判定
２−４．複数の方向の間での判定
３．変形例
３−１．補正パターンの変形例（１）
３−２．補正パターンの変形例（２）
４．まとめ
【００２５】
＜１．装置構成＞
まず、図１および図２を参照して、本発明の一実施形態に係る装置構成について説明する。
【００２６】
図１は、本発明の一実施形態に係る情報処理装置１００を含むシステムの概略的な構成を示す図である。図１を参照すると、情報処理装置１００は、３次元空間Ｓｒに位置するユーザＵによって操作される。ユーザＵには、情報処理装置１００によって制御される表示画面２００が提示される。表示画面２００では、仮想的な３次元空間Ｓｖにおいてオブジェクト２１０が表示される。ユーザＵは、オブジェクト２１０を移動させるための情報処理装置１００に対する操作として、身体の特定部分Ｐ１を移動させる。情報処理装置１００の取得部１１０は、この身体の特定部分Ｐ１の動きに基づく操作ベクトルＶ１を取得する。
【００２７】
（システムの構成例）
情報処理装置１００は、例えばＰＣ、テレビなどでありうる。情報処理装置１００は、取得部１１０および表示画面２００と一体になった筐体として図示されているが、これには限られず、例えば、取得部１１０および表示画面２００と、その他の部分とが互いに別体であって、ケーブル等で接続されていてもよい。また、ユーザＵと同じ場所には取得部１１０および表示画面２００だけがあり、その他の部分は別の場所にあって、ネットワークを介して取得部１１０および表示画面２００と接続されていてもよい。
【００２８】
ユーザＵは、情報処理装置１００を操作するユーザである。ユーザＵは、３次元空間Ｓｒに位置している。３次元空間Ｓｒでは、取得部１１０に対向するユーザＵからみた幅方向がｘ軸方向、高さ方向がｙ軸方向、奥行き方向がｚ軸方向として定義される。ユーザＵは、３次元空間Ｓｒにおいて、身体の特定部分Ｐ１を移動させる。ここでは、身体の特定部分Ｐ１は、ユーザＵの右手である。
【００２９】
なお、ユーザＵは、必ずしも１人でなくてもよく、複数であってもよい。身体の特定部分Ｐ１は、ユーザＵの身体の他の部分、例えば、左手、足、膝、肘、頭、顔などであってもよく、１人のユーザＵに対して、例えば右手と左手のように複数認識されてもよい。複数のユーザＵの身体の特定部分Ｐ１が認識される、または、単一のユーザＵの複数の身体の特定部分Ｐ１が認識される場合、情報処理装置１００は、複数の身体の特定部分Ｐ１のそれぞれから操作ベクトルＶ１を取得してもよいし、複数の身体の特定部分Ｐ１の全体から単一の操作ベクトルＶ１を取得してもよい。
【００３０】
操作ベクトルＶ１は、身体の特定部分Ｐ１の動きに基づくベクトルである。操作ベクトルＶ１は、ある時間における身体の特定部分Ｐ１の移動の始点から終点に向かうベクトルとして取得される。ある時間とは、例えば、情報処理装置１００の取得部１１０が処理の単位とする単位時間でありうる。
【００３１】
また、操作ベクトルＶ１は、３次元空間Ｓｒにおける３次元ベクトルである。従って、操作ベクトルＶ１は、ｘ軸方向、ｙ軸方向、およびｚ軸方向のそれぞれの方向の成分を含みうる。操作ベクトルＶ１は、必ずしも３次元ベクトルでなくてもよく、例えば３次元空間Ｓｒにおける３次元ベクトルが次元圧縮された２次元ベクトル、つまりｘ軸およびｙ軸の方向の成分だけを含むベクトルであってもよい。
【００３２】
表示画面２００は、例えばＬＣＤ（Liquid  Crystal  Display）、ＰＤＰ（Plasma  Display  Panel）、または有機ＥＬ（Electro-Luminescence）パネルなどでありうる。表示画面２００では、仮想的な３次元空間Ｓｖにおいてオブジェクト２１０が表示される。仮想的な３次元空間Ｓｖは、ユーザＵが位置する３次元空間Ｓｒに対応する座標系を有する。具体的には、表示画面２００に対する幅方向がｘ軸、高さ方向がｙ軸、奥行き方向がｚ軸として定義される。表示画面２００に表示されるのは、必ずしも仮想的な３次元空間Ｓｖでなくてもよく、例えば２次元平面であって、３次元ベクトルとして取得された操作ベクトルＶ１が次元圧縮されて２次元ベクトルとして処理に用いられてもよい。
【００３３】
なお、表示画面２００は、情報処理装置１００の一部として図示されているが、これには限られず、例えば、独立した筐体を有して、ケーブル等で情報処理装置１００に接続されてもよい。また、後述のように情報処理装置１００が表示画面２００を制御しない場合、表示画面２００は、システムに含まれなくてもよい。
【００３４】
（システムの動作例）
上記のようなシステムにおいて、例えば、情報処理装置１００は、ユーザＵに、動画または音楽などのコンテンツの再生機能を提供する。コンテンツの再生機能において、オブジェクト２１０は、例えば、コンテンツ、コンテンツを選択するためのポインタ、およびコンテンツに対する操作を示すボタンとして、仮想的な３次元空間Ｓｖに表示される。コンテンツを表すオブジェクト２１０は、仮想的な３次元空間Ｓｖにおいて、ｘ軸方向、ｙ軸方向、およびｚ軸方向に配列される。
【００３５】
まず、ユーザＵは、ポインタを表すオブジェクト２１０を、身体の特定部分Ｐ１の動きを用いた操作によって移動させる。情報処理装置１００の取得部１１０は、３次元空間Ｓｒにおける身体の特定部分Ｐ１の動きに基づいて操作ベクトルＶ１を取得する。
【００３６】
次に、ユーザＵは、ポインタを表すオブジェクト２１０を、所望のコンテンツを表すオブジェクト２１０に重複させ、オブジェクト２１０の選択動作をする。例えば、情報処理装置１００の取得部１１０は、身体の特定部分Ｐ１の位置に加えて、身体の特定部分Ｐ１の動作を認識し、例えば手を握るなどの特定の動作をオブジェクト２１０の選択動作として取得する。
【００３７】
さらに、ユーザＵは、ポインタおよび選択されたコンテンツを表すオブジェクト２１０を、所望の操作、例えば再生操作を示すボタンを表すオブジェクト２１０に重複させ、オブジェクト２１０の選択動作を解除する。以上の操作によって、情報処理装置１００が提供するコンテンツの再生機能において、ユーザＵが所望するコンテンツが再生される。
【００３８】
なお、情報処理装置１００は、必ずしも表示画面２００を制御する必要はない。例えば、情報処理装置１００は、表示画面２００を用いない機能、例えば音楽コンテンツの再生機能だけを提供し、身体の特定部分Ｐ１の動きに応じて、出力する音声の音量または音質などを調整してもよい。上述のように、このような場合、表示画面２００はシステムに含まれなくてもよい。
【００３９】
図２は、本発明の一実施形態に係る情報処理装置１００の機能構成を示すブロック図である。図２を参照すると、情報処理装置１００は、取得部１１０、補正部１２０、処理部１３０、記憶部１４０、および表示制御部１５０を有する。補正部１２０および処理部１３０などの機能は、ＣＰＵ（Central  Processing  Unit）１６０によって実現されうる。
【００４０】
取得部１１０は、ユーザＵの身体の特定部分Ｐ１の動きに基づく操作ベクトルＶ１を取得する。取得部１１０は、例えば、身体の特定部分Ｐ１に装着されたマーカ、身体の特定部分Ｐ１に把持されたコントローラ、または身体の特定部分Ｐ１のスペックルパターンを用いた画像解析などによって、身体の特定部分Ｐ１を認識し、さらに、三角測量、またはＴＯＦなどの三次元計測手法によって、身体の特定部分Ｐ１の位置を特定する。取得部１１０は、後述するように、ユーザＵの身体の中心部分Ｐ２（図示せず）の位置を取得しうる。取得部１１０は、上記の機能を実現するために、例えば、カメラ、または赤外線の発光部および受光部などを含みうる。また、取得部１１０は、解析および計測のためのプロセッサを含んでもよい。プロセッサの機能は、ＣＰＵ１６０を用いて実現されてもよい。
【００４１】
補正部１２０は、取得された操作ベクトルＶ１の方向を補正する。補正部１２０によって補正された操作ベクトルを、操作ベクトルＶ２とする。補正部１２０は、取得部１１０によって取得された操作ベクトルＶ１の方向を、後述する処理部１３０が実行する処理のために定められた１または複数の方向のうちのいずれかに補正して、操作ベクトルＶ２とする。具体的な補正の処理については後述する。補正部１２０の機能は、ＣＰＵ１６０を用いて実現されてもよく、また、専用の回路構成によって実現されてもよい。
【００４２】
ここで、上記の定められた方向とは、ｘ軸方向、ｙ軸方向、およびｚ軸方向である。補正部１２０は、後述する判定処理によって、取得された操作ベクトルＶ１の方向を、上記の定められた方向のうちのいずれの方向に補正するかを判定する。また、補正部１２０は、後述する判定処理によって、取得された操作ベクトルＶ１の方向を補正せず、そのままベクトルＶ２としてもよい。なお、本明細書においては、取得された操作ベクトルＶ１の方向が補正されなかった場合でも、補正部１２０による判定処理を経たベクトルを、補正された操作ベクトルＶ２として扱う。
【００４３】
処理部１３０は、補正された操作ベクトルＶ２に従って処理を実行する。処理部１３０は、表示制御部１５０が表示画面２００に表示させる仮想的な３次元空間Ｓｖにおいて、補正された操作ベクトルＶ２に従ってオブジェクト２１０を移動させる。処理部１３０が実行する処理はこれには限られず、情報処理装置１００が提供する機能に関するいかなる処理であってもよい。例えば、処理部１３０は、情報処理装置１００が提供する音楽コンテンツの再生機能において、補正された操作ベクトルＶ２に従って音量または音質を調整してもよい。処理部１３０の機能は、ＣＰＵ１６０を用いて実現されてもよく、また、専用の回路構成によって実現されてもよい。
【００４４】
また、処理部１３０は、情報処理装置１００が提供する機能に応じて、複数の種類の処理を実行してもよい。例えば、処理部１３０は、情報処理装置１００が動画コンテンツの再生機能を提供する場合には、表示制御部１５０を介してオブジェクト２１０を移動させる処理を実行し、音楽コンテンツの再生機能を提供する場合には、音量または音質を調整する処理を実行してもよい。つまり、例えば、情報処理装置１００がＰＣである場合、処理部１３０は、ＰＣが提供するアプリケーションごとに異なった処理を実行してもよい。上述のように、補正部１２０が操作ベクトルＶ１の方向を補正する方向は、処理部１３０が実行する処理のために定められるため、処理部１３０が複数の種類の処理を実行する場合、補正部１２０が操作ベクトルＶ１の方向を補正する方向も、処理ごとに異なりうる。
【００４５】
記憶部１４０には、情報処理装置１００における処理に必要なデータが格納される。記憶部１４０は、例えばＲＡＭ（Random  Access  Memory）、またはＲＯＭ（Read  Only  Memory）などの記憶装置でありうる。また、記憶部１４０は、光ディスク、磁気ディスク、または半導体メモリなどのリムーバブル記憶媒体であってもよく、記憶装置とリムーバブル記憶媒体を組み合わせたものであってもよい。
【００４６】
表示制御部１５０は、図１において示された表示画面２００を用いて、仮想的な３次元空間Ｓｖにおいてオブジェクト２１０を表示させる。表示制御部１５０は、例えば表示のための演算処理を実行するプロセッサを含む。プロセッサの機能は、例えばＧＰＵ（Graphical  Processing  Unit）によって実現されてもよく、またＣＰＵ１６０を用いて実現されてもよい。
【００４７】
ＣＰＵ１６０は、記憶部１４０に格納されたプログラムを実行することによって、情報処理装置１００の各部の機能をソフトウェアとして実現する。記憶部１４０に格納されたプログラムは、リムーバブル記憶媒体に格納されて提供されるものであってもよく、また通信部（図示せず）を介してネットワーク上からダウンロードされるものであってもよい。
【００４８】
なお、上記の情報処理装置１００のそれぞれの構成要素は、必ずしも１つの筐体に含まれなくてもよく、例えばネットワーク上の異なる場所に配置されていて、ネットワークを介して協働して情報処理装置１００の機能を提供するものであってもよい。
【００４９】
＜２．操作ベクトルの補正＞
次に、図３〜図８を参照して、本発明の一実施形態における操作ベクトルの補正について説明する。
【００５０】
図３は、本発明の一実施形態に係る操作ベクトルＶ１の補正を概略的に説明するための図である。図３を参照すると、身体の特定部分Ｐ１の軌跡上の点を結ぶベクトルとして取得された操作ベクトルＶ１ａ〜Ｖ１ｄの方向が補正されて、操作ベクトルＶ２ａ〜Ｖ２ｄになる。なお、ここでは、簡単のために、情報処理装置１００の処理部１３０が実行する処理のために定められた方向のうち、ｘ軸を例として説明するが、ｙ軸方向、およびｚ軸方向についても同様である。また、ここでは、簡単のために、操作ベクトルＶ１がｘ−ｚ平面上にある場合について説明するが、ｙ軸方向の成分が含まれる場合についても同様である。
【００５１】
ユーザＵは、例えばオブジェクト２１０をｘ軸方向に移動させるために、３次元空間Ｓｖにおいて、ｘ軸方向の直線的な動きを意図して、身体の特定部分Ｐ１を移動させる。操作ベクトルＶ１ａ〜Ｖ１ｄは、そのときの身体の特定部分Ｐ１の動きを、取得部１１０が処理の単位とする単位時間のフレームによって分割し、それぞれのフレームにおける身体の特定部分Ｐ１の移動の始点から終点に向かうベクトルを操作ベクトルＶ１として取得したものである。ユーザＵの身体の自然な動きは、必ずしも直線的ではないため、ユーザＵがｘ軸方向の直線的な動きを意図しても、実際の身体の特定部分Ｐ１の動きは曲線的になり、操作ベクトルＶ１ａ〜Ｖ１ｄは、例えば図示されているように、曲線上の点を結ぶベクトルとして取得されることが多いと考えられる。
【００５２】
そこで、補正部１２０は、取得された操作ベクトルＶ１ａ〜Ｖ１ｄの方向を、すべてｘ軸方向になるように補正して、補正された操作ベクトルＶ２ａ〜Ｖ２ｄにする。補正された操作ベクトルＶ２ａ〜Ｖ２ｄを結合すると、取得された操作ベクトルＶ１ａ〜Ｖ１ｄに対応するｘ軸方向の直線的な動きが得られる。補正された操作ベクトルＶ２ａ〜Ｖ２ｄに従って処理部１３０が処理を実行することで、ユーザＵは、意図した通りに情報処理装置１００を操作することができる。
【００５３】
［２−１．方向による判定］
図４は、図３に示される場合における、操作ベクトルＶ１の方向による補正の有無の判定について説明するための図である。図４を参照すると、取得された操作ベクトルＶ１ｅ〜Ｖ１ｈについて、操作ベクトルＶ１の方向がｘ軸方向となす角度θと、第１の閾値θＴとの比較によって、操作ベクトルＶ１の方向が補正されるか否かが判定される。
【００５４】
情報処理装置１００の処理部１３０が実行する処理のために定められた方向がｘ軸方向、ｙ軸方向、およびｚ軸方向であっても、ユーザがそれ以外の方向にオブジェクト２１０を移動させることを意図する場合がある。以下、図４、図５および図６を参照して、ｘ軸方向について、ユーザＵがｘ軸方向以外の方向にオブジェクト２１０を移動させることを意図した場合に、オブジェクト２１０を移動させるための操作ベクトルＶ１がｘ軸方向に補正されないように、補正部１２０が、取得された操作ベクトルＶ１の方向をｘ軸方向に補正するか否かについて判定する処理について説明する。
【００５５】
上記の判定に用いられる第１の閾値θＴは、例えば、情報処理装置１００が提供する機能に応じて予め設定されていてもよく、また、取得部１１０による身体の特定部分Ｐ１の実際の動きの取得結果を用いて調整可能であってもよい。取得された操作ベクトルＶ１の方向がｘ軸方向となす角度θが、第１の閾値θＴよりも小さい場合、すなわち、操作ベクトルＶ１の方向が、ｘ軸方向とあまりずれていない場合、補正部１２０は、ユーザＵがｘ軸方向の動きを意図して身体の特定部分Ｐ１を移動させていると判断し、取得された操作ベクトルＶ１の方向をｘ軸方向に補正して、操作ベクトルＶ２とする。一方、取得された操作ベクトルＶ１の方向がｘ軸方向となる角度θが、角度θよりも小さくない場合、すなわち、操作ベクトルＶ１の方向が、ｘ軸とある程度以上ずれている場合、補正部１２０は、ユーザＵがｘ軸方向以外の方向の動きを意図して身体の特定部分Ｐ１を移動させていると判断し、取得された操作ベクトルＶ１の方向を補正せず、そのまま操作ベクトルＶ２とする。
【００５６】
図示されている例において、取得された操作ベクトルＶ１ｅの方向がｘ軸となす角度θｅは、第１の閾値θＴよりも小さい。よって、補正部１２０は、操作ベクトルＶ１ｅの方向をｘ軸方向に補正して、補正された操作ベクトルＶ２ｅにする。一方、取得された操作ベクトルＶ１ｆの方向がｘ軸方向となす角度θｆは、第１の閾値θＴよりも大きい。よって、補正部１２０は、操作ベクトルＶ１ｆの方向を補正せず、そのまま補正された操作ベクトルＶ２ｆにする。さらに、取得された操作ベクトルＶ１ｇの方向がｘ軸方向となす角度θｇは、第１の閾値θＴよりも小さい。よって、補正部１２０は、操作ベクトルＶ１ｇの方向をｘ軸方向に補正して、補正された操作ベクトルＶ２ｇにする。また、取得された操作ベクトルＶ１ｈの方向がｘ軸方向となす角度θｈは、第１の閾値θＴよりも小さい。よって、補正部１２０は、操作ベクトルＶ１ｈの方向をｘ軸方向に補正して、補正された操作ベクトルＶ２ｈにする。
【００５７】
以上のような、角度θを用いた判定によって、取得された操作ベクトルＶ１ｅ〜Ｖ１ｈは、方向がｘ軸方向に補正される操作ベクトルＶ１ｅ、Ｖ１ｇ、およびＶ１ｈと、方向が補正されない操作ベクトルＶ１ｆとに分けられる。補正部１２０は、操作ベクトルＶ１ｅ、Ｖ１ｇ、Ｖ１ｈのそれぞれの方向をｘ軸方向に補正し、操作ベクトルＶ１ｆの方向を補正しない。これによって、ユーザＵは、例えば「だいたいｘ軸方向」を意図した場合には正確にｘ軸方向にオブジェクト２１０を移動させることができ、「ｘ軸とは明らかに違う方向」を意図した場合には、ｘ軸方向とは異なる意図した方向にオブジェクト２１０を移動させることができる。
【００５８】
［２−２．大きさによる判定］
図５は、図３に示される場合における、操作ベクトルＶ１の大きさによる補正の有無の判定について説明するための図である。図５を参照すると、取得された操作ベクトルＶ１ｉ〜Ｖ１ｍについて、操作ベクトルＶ１の大きさｒと、第２の閾値ｒＴとの比較によって、操作ベクトルＶ１の方向が補正されるか否かが判定される。
【００５９】
上記の判定に用いられる第２の閾値ｒＴは、例えば、情報処理装置１００が提供する機能に応じて予め設定されていてもよく、また、取得部１１０による身体の特定部分Ｐ１の実際の動きの取得結果を用いて調整可能であってもよい。取得された操作ベクトルＶ１の大きさｒが、第２の閾値ｒＴよりも大きい場合、すなわち、身体の特定部分Ｐ１がある程度速く移動した場合、補正部１２０は、ユーザＵが大まかな動きを意図して身体の特定部分Ｐ１を移動させていると判断し、取得された操作ベクトルＶ１の方向をｘ軸方向に補正して、操作ベクトルＶ２とする。一方、取得された操作ベクトルＶ１の大きさｒが、第２の閾値ｒＴよりも大きくない場合、すなわち、身体の特定部分Ｐ１がゆっくり移動した場合、補正部１２０は、ユーザＵが細かい動きを意図して身体の特定部分Ｐ１を移動させていると判断し、取得された操作ベクトルＶ１の方向を補正せず、そのまま操作ベクトルＶ２とする。
【００６０】
図示されている例において、取得された操作ベクトルＶ１ｉの大きさｒｉは、第２の閾値ｒＴよりも小さい。よって、補正部１２０は、操作ベクトルＶ１ｉの方向を補正せず、そのまま操作ベクトルＶ２ｉにする。一方、取得された操作ベクトルＶ１ｊの大きさｒｊは、第２の閾値ｒＴよりも大きい。よって、補正部１２０は、操作ベクトルＶ１ｊの方向をｘ軸方向に補正して、補正された操作ベクトルＶ２ｊにする。さらに、取得された操作ベクトルＶ１ｋの大きさｒｋは、第２の閾値ｒＴよりも小さい。よって、補正部１２０は、操作ベクトルＶ１ｋの方向を補正せず、そのまま操作ベクトルＶ２ｋにする。また、取得された操作ベクトルＶ１ｍの大きさｒｍは、ベクトルの大きさｒｍよりも小さい。よって、補正部１２０は、操作ベクトルＶ１ｍの方向を補正せず、そのまま操作ベクトルＶ２ｍにする。
【００６１】
以上のような、操作ベクトルの大きさｒによる判定によって、取得された操作ベクトルＶ１ｉ〜Ｖ１ｍは、方向がｘ軸方向に補正される操作ベクトルＶ１ｊと、方向が補正されない操作ベクトルＶ１ｉ、Ｖ１ｋ、およびＶ１ｍとに分けられる。補正部１２０は、操作ベクトルＶ１ｊの方向をｘ軸方向に補正し、操作ベクトルＶ１ｉ、Ｖ１ｋ、およびＶ１ｍの方向を補正しない。これによって、ユーザＵは、例えば「大雑把な移動」を意図した場合には、特に意識しなくても自動的にｘ軸方向にオブジェクトを移動させることができ、「細かい調整」を意図した場合には、意図したそのままの方向にオブジェクトを移動させることができる。
【００６２】
なお、第２の閾値ｒＴを用いた判定は、第１の閾値θＴを用いた判定と組み合わせることができる。例えば、操作ベクトルＶ１の大きさが第２の閾値ｒＴより大きく、かつ、操作ベクトルの方向とｘ軸とがなす角度θが、第１の閾値θＴよりも小さい場合に、操作ベクトルＶ１の方向をｘ軸方向に補正してもよい。また、操作ベクトルＶ１の大きさが、第２の閾値ｒＴよりも大きい場合と、そうでない場合との間で、第１の閾値θＴの値が変化してもよい。具体的には、操作ベクトルＶ１の大きさが第２の閾値ｒＴよりも大きい場合の第１の閾値θＴの値が、そうでない場合の第１の閾値θＴの値よりも大きく設定されてもよい。
【００６３】
［２−３．位置による判定］
図６は、図３に示される場合における、ユーザＵの位置による補正の有無の判定について説明するための図である。図６を参照すると、ユーザＵの身体の中心部分Ｐ２からの距離が第３の閾値である距離ｄＴよりも大きい領域Ｄ１と、それ以外の領域Ｄ２とが設定されることによって、操作ベクトルＶ１の方向が補正されるか否かが判定される。
【００６４】
図示されている場合において、情報処理装置１００の取得部１１０は、例えばユーザＵの身体の特定部分Ｐ１の位置を取得したのと同様の手法によって、身体の中心部分Ｐ２の位置を取得する。補正部１２０は、３次元空間Ｓｒにおいて、身体の中心部分Ｐ２からの距離が第３の閾値である距離ｄＴよりも大きい領域Ｄ１と、それ以外の領域Ｄ２とを設定する。距離ｄＴは、例えば、情報処理装置１００が提供する機能に応じて予め設定されていてもよく、また、身体の特定部分Ｐ１の実際の動きの取得結果を用いて調整可能であってもよい。
【００６５】
ここで、身体の中心部分Ｐ２に近い領域Ｄ２は、ユーザＵが身体の特定部分Ｐ１を身体の正面近くで移動させており、ｘ軸方向へ直線的に身体の特定部分Ｐ１を移動させることが比較的容易であると推定される領域である。一方、身体の中心部分Ｐ２から遠い領域Ｄ１は、ユーザＵが身体の特定部分Ｐ１を身体の正面から遠いところで移動させており、例えば関節の構造のために、ｘ軸方向へ直線的に身体の特定部分Ｐ１を移動させることが困難であると推定される領域である。
【００６６】
従って、図示された例において、身体の特定部分Ｐ１が領域Ｄ１において移動した場合、すなわち、身体の特定部分Ｐ１が、ユーザＵの身体の中心部分Ｐ２からある程度遠い領域で移動した場合、補正部１２０は、取得された操作ベクトルＶ１の方向を処理のために定められた方向に補正して操作ベクトルＶ２にする。一方、身体の特定部分Ｐ１が領域Ｄ２において移動した場合、すなわち、身体の特定部分Ｐ１が、ユーザＵの身体の中心部分Ｐ２に近い領域で移動した場合、補正部１２０は、取得された操作ベクトルＶ１の方向を補正せず、そのまま操作ベクトルＶ２にする。
【００６７】
以上のように、補正部１２０は、領域Ｄ１および領域Ｄ２を設定して、取得された操作ベクトルＶ１の方向を補正するか否かを判定する。これによって、ユーザＵは、身体の特定部分Ｐ１をｘ軸方向に直線状に移動させることが比較的容易な領域Ｄ２においては、身体の特定部分Ｐ１の動きをそのままオブジェクト２１０の移動に反映させることができ、身体の特定部分Ｐ１をｘ軸方向に直線状に移動させることが比較的難しい領域Ｄ１においては、身体の特定部分Ｐ１の移動の方向がｘ軸方向からいくらかずれたとしても、オブジェクト２１０の移動の方向をｘ軸方向にする補正を受けることができる。
【００６８】
［２−４．複数の方向の間での判定］
図７は、本発明の一実施形態に係る操作ベクトルの補正における、複数の方向の間での判定処理について説明するための図である。図７を参照すると、取得された操作ベクトルＶ１の方向は、ｘ軸方向と角度θｘをなし、ｙ軸方向と角度θｙをなし、ｚ軸方向と角度θｚをなす。なお、ｘ軸方向、ｙ軸方向、およびｚ軸方向は、いずれも、情報処理装置１００の処理部１３０が実行する処理のために定められた方向である。また、操作ベクトルＶ１の方向の補正についての判定のための第１の閾値として、第１の閾値θＴが定められている。
【００６９】
図示された例において、補正部１２０は、取得された操作ベクトルＶ１の方向を、ｘ軸方向、ｙ軸方向、およびｚ軸方向のうちのいずれの方向に補正するか、または、補正しないかを判定する。第１の閾値θＴを用いたこの判定の処理について、以下で図８を参照して説明する。
【００７０】
図８は、図７に示される場合における、複数の方向の間での判定処理を示すフローチャートである。図８を参照すると、取得された操作ベクトルＶ１の方向がｘ軸方向、ｙ軸方向、およびｚ軸方向となす角度である角度θｘ、角度θｙ、および角度θｚを、それぞれ第１の閾値θＴと比較することによって、操作ベクトルＶ１の方向をどの方向に補正するか、または補正しないかが判定される。
【００７１】
まず、補正部１２０は、取得された操作ベクトルＶ１の方向とｘ軸方向とのなす角度θｘが、第１の閾値θＴよりも小さいか否かを判定する（ステップＳ１０１）。ここで、角度θｘが第１の閾値θＴよりも小さい場合、補正部１２０は、操作ベクトルＶ１のｙ軸方向およびｚ軸方向の成分を０にする（ステップＳ１０３）。すなわち、補正部１２０は、操作ベクトルＶ１の方向をｘ軸方向に補正する。
【００７２】
一方、ステップＳ１０１において、角度θｘが第１の閾値θＴよりも小さくない場合、補正部１２０は、取得された操作ベクトルＶ１の方向とｙ軸方向とのなす角度θｙが、第１の閾値θＴよりも小さいか否かを判定する（ステップＳ１０５）。ここで、角度θｙが第１の閾値θＴよりも小さい場合、補正部１２０は、操作ベクトルＶ１のｚ軸方向およびｘ軸方向の成分を０にする（ステップＳ１０７）。すなわち、補正部１２０は、操作ベクトルＶ１の方向をｙ軸方向に補正する。
【００７３】
一方、ステップＳ１０５において、角度θｙが第１の閾値θＴよりも小さくない場合、補正部１２０は、取得された操作ベクトルＶ１の方向とｚ軸方向とのなす角度θｚが、第１の閾値θＴよりも小さいか否かを判定する（ステップＳ１０９）。ここで、角度θｚが第１の閾値θＴよりも小さい場合、補正部１２０は、操作ベクトルＶ１のｚ軸方向およびｙ軸方向の成分を０にする（ステップＳ１１１）。すなわち、補正部１２０は、操作ベクトルＶ１の方向をｚ軸方向に補正する。
【００７４】
一方、ステップＳ１０９において、角度θｚが第１の閾値θＴよりも小さくない場合、補正部１２０は、取得された操作ベクトルＶ１の方向を補正せずに、処理を終了する。
【００７５】
以上の処理によって、取得された操作ベクトルＶ１の方向がｘ軸方向、ｙ軸方向、およびｚ軸方向となす角度である角度θｘ、角度θｙ、および角度θｚのうち、第１の閾値θＴよりも小さいものがあれば、操作ベクトルＶ１の方向はその角度に対応する方向に補正される。操作ベクトルＶ１の方向がｘ軸方向、ｙ軸方向、およびｚ軸方向のそれぞれに補正される範囲が重複しないために、第１の閾値θＴは、４５°（＝それぞれの軸が互いになす角度の半分）以下の値とすることが望ましい。
【００７６】
なお、上記の例において、角度θｘ、角度θｙ、および角度θｚは、取得された操作ベクトルＶ１と、ｘ軸方向、ｙ軸方向、またはｚ軸方向とがなす角度の絶対値としたが、これには限られない。角度θｘ、角度θｙ、および角度θｚは、正負を有する値として取得されてもよい。例えば、角度θｘについて、操作ベクトルＶ１のｚ軸成分が正である場合には正、操作ベクトルＶ１のｚ軸成分である場合には負の値としてもよい。この場合、第１の閾値θＴとの比較の代わりに、角度θｘが所定の角度の範囲（例えば、−３０°よりも大きく、＋１０°よりも小さい範囲）にあるか否かによって、操作ベクトルＶ１の方向をｘ軸方向に補正するか否かを判定してもよい。補正部１２０は、角度θｙ、および角度θｚについても、同様の判定をしてもよい。
【００７７】
＜３．変形例＞
次に、図９および図１０を参照して、本発明の一実施形態における、操作ベクトルの方向の補正パターンの２つの変形例について説明する。
【００７８】
［３−１．補正パターンの変形例（１）］
図９は、本発明の一実施形態における、操作ベクトルＶ１の方向の補正パターンの変形例を示す図である。図９を参照すると、オブジェクト２１０ａは、ｘ軸方向、ｙ軸方向、およびｚ軸方向の辺によって構成された略立方体である。本変形例に係る補正パターンは、ｘ軸方向、ｙ軸方向、およびｚ軸方向に加えて、オブジェクト２１０ａの中心からオブジェクト２１０ａのそれぞれの頂点に向かう方向、すなわち略立方体の中心から各頂点に向かう方向ｍ１〜ｍ８を含む。この場合、情報処理装置１００の処理部１３０が実行する処理のために定められた方向は上記の１１の方向である。
【００７９】
本変形例に係る補正パターンが有効な場合は、例えば、オブジェクト２１０ａの斜め方向の動きが多用されるような場合である。この場合、ユーザＵは、ｘ軸方向、ｙ軸方向、およびｚ軸方向にオブジェクト２１０ａを移動させるのに加えて、方向ｍ１〜ｍ８にオブジェクト２１０ａを移動させる場合も多いため、これらの方向についても、身体の特定部分Ｐ１の曲線的な動きが直線的な動きに補正されることが有効である。
【００８０】
［３−１．補正パターンの変形例（２）］
図１０は、本発明の一実施形態における、操作ベクトルＶ１の方向の補正パターンの別の変形例を示す図である。図１０を参照すると、オブジェクト２１０ｂは、ｘ−ｚ平面に配列された略六角形のセル上に配置されるオブジェクトである。本変形例に係る補正パターンは、オブジェクト２１０が配置されるセルの中心から各辺に向かう方向ｍ１１〜ｍ１６を含む。この場合、情報処理装置１００の処理部１３０が実行する処理のために定められた方向は、上記の６の方向である。
【００８１】
本変形例に係る補正パターンが有効な場合は、例えば、ゲームなどにおいて、略六角形のセルがｘ−ｚ平面上に配列され、ユーザＵがその上で他のオブジェクト２１０ｃを移動させるような場合である。この場合、ユーザＵは、他のセルが隣接するセルの辺の方向にオブジェクト２１０ｃを動かすことが多いため、ユーザの動きは方向ｍ１１〜ｍ１６のうちのいずれかに補正されることが有効である。
【００８２】
＜４．まとめ＞
本発明の一実施形態において、情報処理装置１００の補正部１２０は、取得された操作ベクトルＶ１の方向を、処理部１３０が実行する処理のために定められた１または複数の方向のうちのいずれかの方向に補正しうる。このような構成によれば、処理部１３０が実行する処理に応じて、取得された操作ベクトルＶ１が補正される方向を定めることができる。定められる方向は、１つの方向には限られず、処理においてユーザＵが多く用いる複数の方向とすることができる。また、情報処理装置１００が複数の機能を提供する場合には、それぞれの機能に応じて操作ベクトルＶ１が補正される方向が定められるため、ユーザＵは、利用する機能ごとに最適な操作ベクトルＶ１の補正を利用することができる。
【００８３】
また、補正部１２０は、取得された操作ベクトルＶ１の方向と、処理部１３０が実行する処理のために定められた１または複数の方向のうちのいずれかの方向とのなす角度θが、第１の閾値θＴよりも小さい場合に、操作ベクトルＶ１の方向を補正しうる。このような構成によれば、上記の定められた方向からの角度のずれを用いて、ユーザＵが上記の定められた方向のいずれかの方向を意図して身体の特定部分Ｐ１を移動させている場合と、上記の定められた方向とは異なる方向を意図して身体の特定部分Ｐ１を移動させている場合とを識別することができる。よって、ユーザＵの必要に応じて、操作ベクトルＶ１の方向を補正するか否かを切り替えることができる。
【００８４】
また、取得部１１０は、取得部１１０が処理の単位とする単位時間における、身体の特定部分Ｐ１の移動の始点から終点に向かうベクトルとして操作ベクトルＶ１を取得しうる。このような構成によれば、操作ベクトルＶ１の大きさｒから、身体の特定部分Ｐ１の移動の速さを推定することができる。
【００８５】
また、補正部１２０は、取得された操作ベクトルＶ１の大きさが、第２の閾値ｒＴよりも大きい場合に、取得された操作ベクトルＶ１の方向を補正しうる。このような構成によれば、身体の特定部分Ｐ１の移動の速さを用いて、ユーザＵが大雑把な移動を意図して身体の特定部分Ｐ１を移動させている場合と、細かい調整を意図して身体の特定部分Ｐ１を移動させている場合とを識別することができる。よって、ユーザＵの必要に応じて、操作ベクトルＶ１の方向を補正するか否かを切り替えることができる。
【００８６】
また、取得部１１０は、ユーザＵの身体の中心部分Ｐ２の位置を取得し、補正部１２０は、身体の中心部分Ｐ２の位置からの距離が第３の閾値である距離ｄＴよりも大きい領域Ｄ１における身体の特定部分Ｐ１の動きについて、取得された操作ベクトルＶ１の方向を補正しうる。このような構成によれば、ユーザＵの身体の中心部分Ｐ２から身体の特定部分Ｐ１までの距離を用いて、ユーザＵが身体の特定部分Ｐ１を直線的に動かすことが比較的易しい領域で身体の特定部分Ｐ１を移動させているのか、身体の特定部分Ｐ１を直線的に動かすことが比較的難しい領域で身体の特定部分Ｐ１を移動させているのかを識別することができる。よって、ユーザＵの必要に応じて、操作ベクトルＶ１の方向を補正するか否かを切り替えることができる。
【００８７】
また、取得された操作ベクトルＶ１は、ユーザＵが位置する３次元空間Ｓｒにおける幅であるｘ軸、高さであるｙ軸、および奥行きであるｚ軸のそれぞれの方向の成分を含みうる３次元ベクトルでありうる。このような構成によれば、身体の特定部分Ｐ１を直線的に動かすことが特に難しい、奥行きであるｚ軸方向の成分を含むような操作ベクトルＶ１について、方向を補正して直線的な動きを取得することができる。
【００８８】
また、情報処理装置１００は、仮想的な３次元空間Ｓｖにおいてオブジェクト２１０を表示させる表示制御部１５０をさらに備え、処理部１３０は、補正された操作ベクトルＶ２に従って、表示制御部１５０が表示させるオブジェクト２１０を移動させうる。このような構成によれば、ユーザＵが方向を視覚的に認識するオブジェクト２１０の移動処理において、ユーザＵが意図したオブジェクト２１０の直線的な動きを実現することができ、ユーザＵによるオブジェクト２１０の操作の快適性を向上させることができる。
【００８９】
また、補正部１２０は、取得された操作ベクトルＶ１の方向を、仮想的な３次元空間Ｓｖにおける幅であるｘ軸、高さであるｙ軸、および奥行きであるｚ軸のうちのいずれかの方向に補正しうる。このような構成によれば、仮想的な３次元空間Ｓｖにおいて、ユーザＵが特に認識しやすい幅、高さ、および奥行きの方向について、意図したとおりの直線的な動きが実現されることによって、ユーザＵによるオブジェクト２１０の操作の快適性を向上させることができる。
【００９０】
また、補正部１２０は、取得された操作ベクトルＶ１の方向が、仮想的な３次元空間Ｓｖにおける幅であるｘ軸、高さであるｙ軸、および奥行きであるｚ軸のそれぞれの方向のうちのいずれかと、第４の閾値である角度θＴよりも小さい角度をなす場合に、上記操作ベクトルの方向を補正しうる。このような構成によれば、仮想的な３次元空間Ｓｖにおいて、ユーザＵが特に認識しやすい幅、高さ、および奥行きの方向について、ユーザＵの必要に応じて、操作ベクトルＶ１の方向を補正するか否かを切り替えることができる。
【００９１】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００９２】
１００    情報処理装置
１１０    取得部
１２０    補正部
１３０    処理部
１５０    表示制御部
２１０    オブジェクト
Ｓｒ      ３次元空間
Ｓｖ      仮想的な３次元空間
Ｕ        ユーザ
Ｐ１      身体の特定部分
Ｐ２      身体の中心部分
Ｖ１      取得された操作ベクトル
Ｖ２      補正された操作ベクトル
【図１】
2012043194.tif 000003
【図２】
2012043194.tif 000004
【図３】
2012043194.tif 000005
【図４】
2012043194.tif 000006
【図５】
2012043194.tif 000007
【図６】
2012043194.tif 000008
【図７】
2012043194.tif 000009
【図８】
2012043194.tif 000010
【図９】
2012043194.tif 000011
【図１０】
2012043194.tif 000012