(57)【特許請求の範囲】
【請求項１】
仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された前記第１の実オブジェクトの位置及び姿勢を示す情報を含む第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された前記第２の実オブジェクトの位置及び姿勢を示す情報を含む第２の操作情報とを記憶部に記憶させる記憶制御部と、
前記記憶制御部により前記記憶部から取得された過去の情報に基づいて前記仮想空間の表示を行うための表示制御情報を生成する生成部、
を備える情報処理装置。 
【請求項２】
前記生成部は、前記第１の実オブジェクトにプロジェクションマッピングするための前記表示制御情報を生成する、請求項１に記載の情報処理装置。 
【請求項３】
前記生成部は、前記第１の実オブジェクトの立体形状の認識結果に基づいて、プロジェクタから投影される画像を制御するための前記表示制御情報を生成する、請求項２に記載の情報処理装置。 
【請求項４】
前記生成部は、前記第１の実オブジェクトにプロジェクションマッピングされたテクスチャに応じた表示を行うための前記表示制御情報を生成する、請求項２又は３に記載の情報処理装置。 
【請求項５】
前記生成部は、前記仮想的な道具の作用に関するパラメータを反映させた前記表示制御情報を生成する、請求項１〜４のいずれか一項に記載の情報処理装置。 
【請求項６】
前記生成部は、前記仮想的な道具の作用に関するパラメータを前記第２の実オブジェクトに関連する場所に表示するための前記表示制御情報を生成する、請求項５に記載の情報処理装置。 
【請求項７】
前記生成部は、前記仮想オブジェクトへの前記仮想的な道具の使用を反映させた表示を行うための前記表示制御情報を生成する、請求項１〜６のいずれか一項に記載の情報処理装置。 
【請求項８】
前記仮想的な道具は、ライトである、請求項７に記載の情報処理装置。 
【請求項９】
前記道具の作用に関するパラメータは、ライトの種類、ライトの色、強度、コーンアングル、周縁部の角度、ドロップオフ、シャドウの色、及びエフェクトの内いずれか一つを含む、請求項５に記載の情報処理装置。 
【請求項１０】
前記仮想的な道具は、カメラである、請求項７に記載の情報処理装置。 
【請求項１１】
前記道具の作用に関するパラメータは、カメラの種類、カメラの画角、カメラの焦点距離、カメラの被写界深度、ズーム、およびカメラの重さのうちいずれか一つを含む、請求項１０に記載の情報処理装置。 
【請求項１２】
前記仮想的な道具は、パーティクル放出器具である、請求項７に記載の情報処理装置。
【請求項１３】
前記道具の作用に関するパラメータは、パーティクル放出器具の種類、パーティクルの形状、サイズ、放出数、放出方向、放出角度、放出速度、放出レート、重力、及び粘性のうちいずれか一つを含む
請求項１２に記載の情報処理装置。 
【請求項１４】
前記生成部は、前記仮想空間における前記仮想オブジェクトと前記仮想的な道具との相対的な位置及び姿勢に、前記第１の実オブジェクトと前記第２の実オブジェクトとの相対的な位置及び姿勢の関係性を反映させる、請求項１〜１３のいずれか一項に記載の情報処理装置。
【請求項１５】
前記生成部は、前記仮想空間における前記仮想オブジェクトの位置及び姿勢に前記第１の実オブジェクトの位置及び姿勢を反映させ、前記仮想空間における前記仮想的な道具の位置及び姿勢に前記第２の実オブジェクトの位置及び姿勢を反映させる、請求項１〜１４のいずれか一項に記載の情報処理装置。 
【請求項１６】
前記生成部は、複数の前記第２の実オブジェクトについて検出された複数の前記第２の操作情報の各々に基づいて前記表示制御情報を生成する、請求項１〜１５のいずれか一項に記載の情報処理装置。 
【請求項１７】
仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された前記第１の実オブジェクトの位置及び姿勢を示す情報を含む第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された前記第２の実オブジェクトの位置及び姿勢を示す情報を含む第２の操作情報とを記憶部に記憶し、
前記記憶部から取得した過去の情報に基づいて前記仮想空間の表示を行うための表示制御情報を生成すること、
を含むプロセッサにより実行される情報処理方法。 
【請求項１８】
コンピュータを、
仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された前記第１の実オブジェクトの位置及び姿勢を示す情報を含む第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された前記第２の実オブジェクトの位置及び姿勢を示す情報を含む第２の操作情報とを記憶部に記憶させる記憶制御部と、
前記記憶制御部により前記記憶部から取得された過去の情報に基づいて前記仮想空間の表示を行うための表示制御情報を生成する生成部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、３次元コンピュータグラフィックス（３ＤＣＧ）が様々な分野で活用されている。ユーザは、３ＤＣＧアプリケーションを操作することで、仮想空間内に３ＤＣＧを生成したり、仮想空間を任意の視点から鑑賞したりすることができる。その際、ユーザは、仮想空間における位置をＸ座標、Ｙ座標及びＺ座標の３つの座標で特定したり、様々なパラメータを指定したりする等、複雑な操作を要されていた。このため、３ＤＣＧアプリケーションの操作環境をより良くするための技術が開発されている。【０００３】
例えば、下記特許文献１では、実空間における機器の姿勢に応じて、仮想空間内に定義された視点の位置を決定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０９８０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１では、実空間における機器の姿勢により、仮想空間における視点が操作可能になるに留まっていた。仮想空間では、視点などのユーザの操作対象となる作用点の他に、仮想オブジェクトが存在する。この仮想オブジェクトも、実空間における直感的な操作により操作可能になることが望ましい。そこで、本開示では、より直感的な３ＤＣＧアプリケーションの操作環境を提供することが可能な、新規かつ改良された情報処理装置、情報処理方法及びプログラムを提案する。
【課題を解決するための手段】
【０００６】
本開示によれば、仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された第２の操作情報とに基づいて、前記仮想空間の表示を行うための表示制御情報を生成する生成部、を備える情報処理装置が提供される。【０００７】
また、本開示によれば、仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された第２の操作情報とに基づいて、前記仮想空間の表示を行うための表示制御情報を生成すること、を含むプロセッサにより実行される情報処理方法が提供される。【０００８】
また、本開示によれば、コンピュータを、仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された第２の操作情報とに基づいて、前記仮想空間の表示を行うための表示制御情報を生成する生成部、として機能させるためのプログラムが提供される。
【発明の効果】
【０００９】
以上説明したように本開示によれば、より直感的な３ＤＣＧアプリケーションの操作環境を提供することが可能である。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１０】
【図１】３ＤＣＧアプリケーションにおける操作環境を説明するための図である。
【図２】３ＤＣＧアプリケーションにおける操作環境を説明するための図である。
【図３】本実施形態に係る情報処理システムの外観構成の一例を示す図である。
【図４】本実施形態に係る操作用ペンの外観構成の一例を示す図である。
【図５】本実施形態に係る情報処理装置の論理的な構成の一例を示すブロック図である。
【図６】本実施形態に係る情報処理装置の概要を説明するための図である。
【図７】本実施形態に係る情報処理装置において実行される表示処理の流れの一例を示すフローチャートである。
【図８】本実施形態に係る情報処理装置の概要を説明するための図である。
【図９】本実施形態に係る情報処理装置の概要を説明するための図である。
【図１０】本実施形態に係る情報処理装置において実行される表示処理の流れの一例を示すフローチャートである。
【図１１】本実施形態に係る情報処理装置において実行される表示処理の流れの一例を示すフローチャートである。
【図１２】本実施形態に係る情報処理装置の概要を説明するための図である。
【図１３】本実施形態に係る情報処理装置の概要を説明するための図である。
【図１４】本実施形態に係る情報処理装置において実行される表示処理の流れの一例を示すフローチャートである。
【図１５】本実施形態に係る情報処理装置において実行される表示処理の流れの一例を示すフローチャートである。
【図１６】本実施形態に係る情報処理装置の概要を説明するための図である。
【図１７】本実施形態に係る手振れ補正機能の一例を説明するための図である。
【図１８】本実施形態に係る手振れ補正機能の一例を説明するための図である。
【図１９】本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１２】
また、本明細書及び図面において、実質的に同一の機能構成を有する要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。例えば、実質的に同一の機能構成を有する複数の要素を、必要に応じて情報処理装置１００Ａ、１００Ｂ及び１００Ｃのように区別する。ただし、実質的に同一の機能構成を有する複数の要素の各々を特に区別する必要がない場合、同一符号のみを付する。例えば、情報処理装置１００Ａ、１００Ｂ及び１００Ｃを特に区別する必要が無い場合には、単に情報処理装置１００と称する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．概要
１．１．はじめに
１．２．技術的課題
２．構成例
２．１．外観構成例
２．２．機能構成例
３．第１の実施形態
３．１．技術的特徴
３．２．動作処理例
４．第２の実施形態
４．１．技術的特徴
４．２．動作処理例
５．第３の実施形態
５．１．技術的特徴
５．２．動作処理例
６．第４の実施形態
７．第５の実施形態
８．ハードウェア構成例
９．まとめ
【００１４】
＜＜１．概要＞＞
＜１．１．はじめに＞
まず、図１及び図２を参照して、３ＤＣＧアプリケーションにおける操作環境について説明する。図１及び図２は、３ＤＣＧアプリケーションにおける操作環境を説明するための図である。
【００１５】
図１では、３ＤＣＧアプリケーションの仮想空間の一例を示している。ユーザは、マニピュレーター１０を操作することで、多様な作用を仮想空間に与えることができる。マニピュレーター１０は、方向性を有し、マニピュレーター１０の向く方向へ作用を与えることができる。また、マニピュレーター１０は、仮想的な道具として機能し得る。例えば、図１に示した例では、マニピュレーター１０は、ライトとして機能するライト用マニピュレーターであり、マニピュレーター１０の位置から仮想オブジェクト２０に向けてスポットライトを照射することが可能である。ユーザは、ライト用マニピュレーターの他、移動用、変形用又は着色用のマニピュレーターといった、多様な種類のマニピュレーターを用いて、仮想オブジェクト２０の移動、変形又は着色といった多様な作用を仮想空間に与えることができる。
【００１６】
図２に示すように、マニピュレーター１０の方向１３は、原点１１及び注視点１２によって特定される。そのため、ユーザは、マニピュレーター１０の方向１３を操作するために、原点１１及び注視点１２の座標（Ｘ座標、Ｙ座標及びＺ座標）をそれぞれ指定していた。
【００１７】
＜１．２．技術的課題＞
ここで、ユーザがマウス又はキーボード等で操作する場合、原点１１及び注視点１２を同時に操作することは困難であった。また、原点１１及び注視点１２を操作するためには、Ｘ座標、Ｙ座標及びＺ座標の３つの座標をそれぞれ指定することが要される。このため、マニピュレーター１０の方向１３を制御するための操作は煩雑であった。
【００１８】
また、仮想オブジェクト２０に関しては、ユーザは、例えば移動用マニピュレーターを介して仮想オブジェクト２０を移動させる等の操作を行っていた。このため、仮想オブジェクト２０を操作することも、マニピュレーター１０と同様に煩雑になり得る。さらに、マニピュレーター１０をライト等の仮想的な道具として機能させて、ライトの位置及び向きを操作しながら仮想オブジェクト２０の位置及び向きを操作するような、マニピュレーター１０及び仮想オブジェクト２０を別々且つ同時に操作することは困難であった。
【００１９】
そこで、上記事情を一着眼点として、本開示の一実施形態に係る情報処理システムを創作するに至った。本実施形態に係る情報処理システムは、より直感的な３ＤＣＧアプリケーションの操作環境を提供することが可能である。
【００２０】
＜＜２．構成例＞＞
以下では、図３〜図５を参照して、各実施形態に共通する情報処理システムの構成例を説明する。
【００２１】
＜２．１．外観構成例＞
図３は、本実施形態に係る情報処理システム１の外観構成の一例を示す図である。図３に示すように、情報処理装置１００及び操作用ペン２００を含む。
【００２２】
情報処理装置１００は、可動式のアーム１６０をひとつ以上有する。アーム１６０Ａ及び１６０Ｂは、それぞれセンサ部１１０Ａ及び１１０Ｂ、並びに表示部１２０Ａ及び１２０Ｂを有する。センサ部１１０Ａ及び１１０Ｂは、画像（静止画像／動画像）を撮像可能な画像センサ、及び深度情報（奥行き方向の距離）を取得可能な深度センサを含み、テーブル１８０上の認識範囲１９０の様子を検出可能である。画像センサは、例えばＲＧＢカメラにより実現されてもよく、深度センサは、例えばＩＲ（infrared）ステレオカメラにより実現されてもよい。
【００２３】
表示部１２０Ａ及び１２０Ｂは、例えばプロジェクタにより実現され、投影面１７０に画像を投影する。投影される画像は、例えば３ＤＣＧアプリケーションの操作画面である。投影面１７０は、タッチパネルとしての機能を有していてもよく、操作用ペン２００による接触を感知してもよい。プロジェクタ１２０Ａ及び１２０Ｂは、同じ画像を互いに投影位置を合わせて投影面１７０に投影する。異なる位置から複数の投影光が照射されるので、投影面１７０の上に存在するユーザの手等の障害物があっても、投影面１７０の上に存在するユーザの手等の障害物によって出来る影が薄くなるため、影の位置にある投影面上の画像の視認性を向上させることが出来る。
【００２４】
情報処理装置１００は、表示部１２０Ｃをさらに有していてもよい。表示部１２０Ｃは、例えばディスプレイにより実現され、画像を表示する。表示される画像は、例えば３ＤＣＧアプリケーションの操作画面である。プロジェクタ１２０Ａ及び１２０Ｂとディスプレイ１２０Ｃとは、それぞれ異なる画像を表示してもよいし、同一の画像を表示してもよい。例えば、図３に示した例では、プロジェクタ１２０Ａ及び１２０Ｂとディスプレイ１２０Ｃとは、車の仮想オブジェクト２０を異なる角度から見た様子を表示している。
【００２５】
操作用ペン２００は、ユーザにより操作される装置である。操作用ペン２００は、図３に示したようにユーザの手で持たれてもよいし、投影面１７０上に置かれてもよいし、三脚等の任意の支持器により支持されてもよい。以下、図４を参照して、操作用ペン２００の外観構成例を詳しく説明する。
【００２６】
図４は、本実施形態に係る操作用ペン２００の外観構成の一例を示す図である。図４に示すように、操作用ペン２００には、複数の入力部２１０及び複数の発光部２２０が設けられている。
【００２７】
入力部２１０は、ユーザ入力を受け付ける機能を有する。図４に示した例では、入力部２１０はボタンである。例えば、ボタン２１０Ａは、マウスの左クリックに相当する。ボタン２１０Ｂは、マウスの右クリックに相当する。ボタン２１０Ｃは、任意の機能が割り当てられる汎用ボタンである。他にも、入力部２１０は、タッチセンサやトグル、スライダー等により実現されてもよい。
【００２８】
発光部２２０は、発光する機能を有する。例えば、発光部２２０は、ＬＥＤ（light  emitting  diode）又はＩＲ  ＬＥＤ等により実現される。発光部２２０が発光することで、発光しない場合と比較して、センサ部１１０による操作用ペン２００の姿勢の検出が容易になる。なお、操作用ペン２００の姿勢の検出が容易にするために、発光部２２０に代えて、又は併せて、バーコード等のパッシブマーカーが操作用ペン２００に付されていてもよい。
【００２９】
操作用ペン２００は、他にも、加速度センサ及びジャイロセンサ等の慣性センサ、速度センサ、振動センサ、生体センサ等を有していてもよい。また、操作用ペン２００は、無線ＬＡＮ（Local  Area  Network）、Ｗｉ−Ｆｉ（登録商標）又はＢｌｕｅｔｏｏｔｈ（登録商標）等の任意の通信方式を用いて無線通信可能な通信部を有してもよく、情報処理装置１００と各種データの送受信を行ってもよい。
【００３０】
ユーザは、投影面１７０に投影された、又は表示部１２０に表示された３ＤＣＧアプリケーションの操作画面を操作用ペン２００でタッチしたり、タッチしながら動かしたりすることで、直感的に３ＤＣＧアプリケーションの操作を行うことができる。さらに、ユーザは、認識範囲１９０内で操作用ペン２００を操作することで、操作用ペン２００の位置及び姿勢に応じた直感的な３ＤＣＧアプリケーションの操作を行うことができる。
【００３１】
以上、操作用ペン２００の外観構成例を説明した。続いて、図５を参照して、情報処理装置１００の機能構成例を説明する。
【００３２】
＜２．２．機能構成例＞
図５は、本実施形態に係る情報処理装置１００の論理的な構成の一例を示すブロック図である。図５に示すように、情報処理装置１００は、センサ部１１０、表示部１２０、通信部１３０、記憶部１４０及び制御部１５０を含む。
【００３３】
センサ部１１０は、認識範囲１９０の状態を検出する機能を有する。上述したように、センサ部１１０は、例えば画像センサ及び深度センサを含み、認識範囲１９０内に存在する操作用ペン２００等の実オブジェクトに関する画像情報及び深度情報を検出する。センサ部１１０は、検出した情報を制御部１５０へ出力する。
【００３４】
表示部１２０は、情報を表示する機能を有する。上述したように、表示部１２０は、プロジェクタ及びディスプレイにより実現され得る。表示部１２０は、制御部１５０による制御に基づき、３ＤＣＧアプリケーションの操作画面等を出力する。
【００３５】
通信部１３０は、有線／無線により外部機器との間でデータの送受信を行うための通信モジュールである。通信部１３０は、無線ＬＡＮ、Ｗｉ−Ｆｉ又はＢｌｕｅｔｏｏｔｈ等の任意の通信方式を用いて操作用ペン２００と通信する。例えば、通信部１３０は、入力部２１０への入力情報や、操作用ペン２００に内蔵された慣性センサにより検出された情報を受信し得る。通信部１３０は、受信した情報を制御部１５０へ出力する。
【００３６】
記憶部１４０は、所定の記録媒体に対してデータの記録再生を行う部位である。例えば、記憶部１４０は、ユーザにからの記憶指示に基づいて、操作内容を示す情報を記憶する。
【００３７】
制御部１５０は、演算処理装置及び制御装置として機能し、各種プログラムに従って情報処理装置１００内の動作全般を制御する。図５に示すように、制御部１５０は、取得部１５１、記憶制御部１５３、生成部１５５及び表示制御部１５７として機能する。取得部１５１は、ユーザによる操作の内容を示す操作情報を取得する機能を有する。記憶制御部１５３は、記憶部１４０に情報を記憶したり、記憶部１４０に記憶された情報を読み出したりする機能を有する。生成部１５５は、表示部１２０に表示させる内容を規定した表示制御情報を生成する機能を有する。なお、表示制御情報は、ＲＧＢ信号又はＨＤＭＩ（登録商標）信号等の画像表示のための信号であってもよいし、ＨＴＭＬファイル等であってもよい。表示制御部１５７は、生成部１５５により生成された表示制御情報に基づく表示を行うよう表示部１２０を制御する機能を有する。
【００３８】
なお、情報処理装置１００は、３ＤＣＧアプリケーションから座標を取得して、取得した座標に基づいて各種情報処理を行う。制御部１５０と３ＤＣＧアプリケーションとの間で行われる座標の入力及び出力等の通信は、３ＤＣＧアプリケーションのＡＰＩ又はプラグイン等により行われ得る。
【００３９】
以上、本実施形態に係る情報処理装置１００の機能構成例を説明した。続いて、各実施形態について詳細に説明する。
【００４０】
＜＜３．第１の実施形態＞＞
まず、図６を参照して、本実施形態に係る情報処理装置１００の概要を説明する。
【００４１】
図６は、本実施形態に係る情報処理装置１００の概要を説明するための図である。図６に示すように、ユーザは、認識範囲１９０内で操作用ペン２００を操作する。また、ディスプレイ１２０Ｃには、車の仮想オブジェクト２０を側面後方から見た様子が表示され、投影面１７０には車の仮想オブジェクト２０を上から見た様子が表示されている。本実施形態は、認識範囲１９０における操作用ペン２００の位置及び姿勢が、マニピュレーター１０の位置及び姿勢に反映される形態である。
【００４２】
以下、本実施形態に係る情報処理装置１００が有する技術的特徴を説明する。
【００４３】
＜３．１．技術的特徴＞
（操作情報取得機能）
情報処理装置１００（例えば、取得部１５１）は、ユーザによる操作の内容を示す操作情報を取得する機能を有する。本実施形態における操作情報は、操作用ペン２００等のユーザにより操作される実オブジェクトの実空間における位置及び姿勢を示す情報を含む。
【００４４】
例えば、取得部１５１は、センサ部１１０により検出された画像情報から操作用ペン２００を画像認識したり、センサ部１１０により検出された深度情報から操作用ペン２００の高さを認識したりすることで、操作用ペン２００の位置及び姿勢を取得してもよい。その際、取得部１５１は、操作用ペン２００の両端（発光部２２０Ａ及び２２０Ｂ）の座標を特定することで、操作用ペン２００の位置及び姿勢を取得してもよい。
【００４５】
また、取得部１５１は、通信部１３０により受信された、操作用ペン２００が内蔵するセンサにより検出された情報から、操作用ペン２００の姿勢を取得してもよい。例えば、取得部１５１は、重力加速度の検出結果から操作用ペン２００の姿勢を取得する。
【００４６】
他にも、取得部１５１は、通信部１３０により受信された、操作用ペン２００の入力部２１０への入力情報や、操作用ペン２００に内蔵されたセンサにより検出された加速度や速度等の情報を、操作情報として取得し得る。
【００４７】
また、例えばユーザの指等の他の実オブジェクトが、操作用ペン２００として機能してもよい。その場合、操作情報は、ユーザの指及び姿勢を示す情報となる。取得部１５１は、ユーザの指の付け根と先端の座標を、操作用ペン２００の両端と同様に特定することで、操作情報を取得し得る。
【００４８】
（座標変換機能）
情報処理装置１００（例えば、生成部１５５）は、実空間における座標を、仮想空間における座標に変換する機能を有する。
【００４９】
例えば、生成部１５５は、実空間における操作用ペン２００の両端の座標を、仮想空間におけるマニピュレーター１０の原点１１及び注視点１２の座標に変換する。より詳しくは、生成部１５５は、マニピュレーター１０の位置及び姿勢（原点１１及び注視点１２の座標）に、操作用ペン２００の位置及び姿勢（発光部２２０Ａ及び２２０Ｂの座標）を反映させる。例えば、生成部１５５は、実空間における操作用ペン２００の発光部２２０Ｂの座標をマニピュレーター１０の原点１１の座標に変換して、発光部２２０Ａの座標をマニピュレーター１０の注視点１２の座標に変換する。これにより、ユーザは、操作用ペン２００を手に持って認識範囲１９０内で動かすことで、あたかもマニピュレーター１０を手に持って仮想空間内で動かすかのように操作することが可能となる。
【００５０】
なお、変換先の座標は、特に言及しない限りグローバル座標であるものとする。なお、グローバル座標とは、仮想空間における絶対的な位置を示す座標である。これに対し、ローカル座標とは、仮想空間における任意の位置（単なる座標、又は仮想オブジェクト）を基準とした相対的な位置を示す座標である。
【００５１】
生成部１５５は、仮想空間の表示の拡大又は縮小に合わせた座標変換を行ってもよい。例えば、生成部１５５は、認識範囲１９０内における操作用ペン２００の移動距離を、仮想空間の縮尺に合わせた仮想空間内の移動距離に変換する。例えば、仮想空間を拡大して仮想オブジェクト２０の一部を表示している場合、マニピュレーター１０の可動域はその一部に限定され、仮想空間を縮小して仮想オブジェクト２０の全体を表示している場合、マニピュレーター１０の可動域はその全体に渡る。
【００５２】
（仮想空間表示機能）
情報処理装置１００（例えば、生成部１５５及び表示制御部１５７）は、仮想空間の表示を行う機能を有する。以下では、生成部１５５が表示制御情報を生成して、表示制御部１５７が表示制御情報に基づく表示を行うよう表示部１２０を制御することを、単に表示を行う、とも称する。
【００５３】
例えば、生成部１５５は、操作用ペン２００（第２の実オブジェクト）について検出された操作情報（第２の操作情報）に基づいて、仮想空間の表示を行うための表示制御情報を生成する機能を有する。具体的には、生成部１５５は、座標変換機能により操作用ペン２００の位置及び姿勢をマニピュレーター１０に反映させた表示を行うための表示制御情報を生成する。これにより、ユーザは、操作用ペン２００を手に持って認識範囲１９０内で動かすことで、あたかもマニピュレーター１０を手に持って仮想空間内で動かしたかのような表示を、情報処理装置１００にさせることができる。なお、操作用ペン２００のペン軸方向の回転は、マニピュレーター１０に反映されてもよいし反映されなくてもよい。反映されるか否かは、ユーザにより設定されてもよい。また、操作用ペン２００の所定の軸（方向）に対しての移動（変化）をマニピュレーター１０の移動に変換される割合を、小さくする、大きくする又はゼロにする（動かさない）といった調整が任意になされてもよい。
【００５４】
さらに、生成部１５５は、操作用ペン２００を仮想空間における仮想的な道具に対応させてもよい。具体的には、生成部１５５は、マニピュレーター１０に仮想的な道具としての機能をもたせてもよい。そして、生成部１５５は、仮想オブジェクト２０への仮想的な道具の使用を反映させた表示を行うための表示制御情報を生成してもよい。仮想的な道具は多様に考えられる。
【００５５】
例えば、仮想的な道具は、ライトであってもよい。例えば、情報処理装置１００は、マニピュレーター１０にライトとしての機能を持たせて、マニピュレーター１０の原点１１及び注視点１２をライトの原点及び注視点に設定する。これにより、実空間における操作用ペン２００の位置（発光部２２０Ｂの位置）に対応する仮想空間の位置（原点１１）から、実空間における操作用ペン２００の姿勢（発光部２２０Ａの位置）に対応する仮想空間の方向（注視点１２）へ、ライトが照らされる。例えば、情報処理装置１００は、この仮想的なライトにより仮想オブジェクト２０が照らされた様子を表示することができる。例えば、図６に示した例では、マニピュレーター１０がライトとして機能し、車の仮想オブジェクト２０の後部を照らす光（符号２１）が表示されている。
【００５６】
例えば、仮想的な道具は、カメラであってもよい。例えば、情報処理装置１００は、マニピュレーター１０にカメラとしての機能を持たせて、マニピュレーター１０の原点１１及び注視点１２をカメラの原点及び注視点に設定する。これにより、実空間における操作用ペン２００の位置（発光部２２０Ｂの位置）に対応する仮想空間の位置（原点１１）から、実空間における操作用ペン２００の姿勢（発光部２２０Ａの位置）に対応する仮想空間の方向（注視点１２）へ、カメラが向けられる。例えば、情報処理装置１００は、この仮想的なカメラにより撮像された仮想オブジェクト２０を表示することができる。
【００５７】
例えば、仮想的な道具は、パーティクル放出器具であってもよい。パーティクル放出器具としては、例えばペイント塗料を噴射するエアブラシや、炎又は煙を放出する火炎放射器、タバコ、及び花火等が挙げられる。例えば、情報処理装置１００は、マニピュレーター１０にエアブラシとしての機能を持たせて、マニピュレーター１０の原点１１及び注視点１２をエアブラシの原点及び注視点に設定する。これにより、実空間における操作用ペン２００の位置（発光部２２０Ｂの位置）に対応する仮想空間の位置（原点１１）から、実空間における操作用ペン２００の姿勢（発光部２２０Ａの位置）に対応する仮想空間の方向（注視点１２）へ、エアブラシが向けられる。例えば、情報処理装置１００は、この仮想的なエアブラシによりペイントされた仮想オブジェクト２０を表示することができる。また、操作用ペン２００の位置や姿勢の他、加速度等が反映されてもよく、仮想空間において物理演算が行われてもよい。例えば、ユーザが操作用ペン２００を振ると、その加速度に応じてマニピュレーター１０の注視点１２から塗料が飛んでもよい。また、塗料が仮想空間における重力に従って落下して仮想オブジェクト２０に飛散してもよい。
【００５８】
なお、生成部１５５は、マニピュレーター１０に仮想的な道具としての機能を複数もたせてもよい。例えば、マニピュレーター１０がライトとして機能しつつ、カメラとして機能してもよい。その場合、カメラの撮影範囲がライトで照らされたカメラ画像の表示が行われ得る。
【００５９】
生成部１５５は、仮想的な道具の作用に関するパラメータを反映させた表示を行うための表示制御情報を生成してもよい。これにより、情報処理装置１００は、仮想的な道具の作用を制御することができる。このパラメータは、ユーザにより指定され得る。また、パラメータは多様に考えられる。
【００６０】
ライトに関するパラメータとしては、例えばライトの種類、ライトの色、強度、コーンアングル、周縁部の角度、ドロップオフ、シャドウの色、及びエフェクト等が挙げられる。なお、コーンアングルとは、スポットライトの傘の角度である。周縁部の角度とは、ライトのエッジ周辺でぼける光の角度である。ドロップオフとは、ライトの中心から外側に向かう減衰率である。エフェクトには、グロー、レンズフレア等の種類がある。
【００６１】
カメラに関するパラメータとしては、例えばカメラの種類、カメラの画角、焦点距離、被写界深度、及びズーム等が挙げられる。また、他のパラメータとして、カメラの重さが挙げられる。例えば、生成部１５５は、カメラの重さ、操作用ペン２００の速度及び加速度等に応じて、カメラに遠心力が掛かって一度目標物を通り過ぎた後にまた戻るカメラワークを再現してもよい。このようなカメラワークは、リアルタイムに再現されてもよいし、後からカメラの重さ等のパラメータが調整されて、戻る量や手振れ量が調整されてもよい。
【００６２】
パーティクル放出器具に関するパラメータとしては、例えばパーティクル放出器具の種類が挙げられる。また、例えばエアブラシに関するパラメータとしては、パーティクルの形状、サイズ、放出数、放出方向、放出角度、放出速度、放出レート、重力、及び粘性等が挙げられる。炎又は煙に関するパラメータとしては、火の量、明るさ、拡散角度、放出直後の半径、消滅直前の半径、火の移動方向、火の移動速度、煙の不透明度、及び乱気流等が挙げられる。
【００６３】
なお、マニピュレーター１０の原点及び注視点の座標も、パラメータとして捉えてもよい。
【００６４】
また、操作用ペン２００にスライダー等が設けられてもよく、例えばライトの強度やコーンアングル等のパラメータがスライダーの位置に応じて動的に設定されてもよい。
【００６５】
（記憶／再現機能）
情報処理装置１００（例えば、記憶制御部１５３及び記憶部１４０）は、操作用ペン２００により操作された仮想空間の状況を記憶し、再現する機能を有する。
【００６６】
例えば、記憶制御部１５３は、マニピュレーター１０の位置及び姿勢を示す情報を記憶部１４０に記憶させる。そして、生成部１５５は、記憶制御部１５３により記憶部１４０から取得された過去のマニピュレーター１０の位置及び姿勢を示す情報に基づいて、表示制御情報を生成する。これにより、ユーザは、例えば気に入ったライトの当て方を記憶しておき、後から参照することが可能となる。
【００６７】
マニピュレーター１０の位置及び姿勢を示す情報は、連続的に記憶されてもよいし、離散的に記憶されてもよい。例えば、記憶制御部１５３は、操作用ペン２００のボタン２１０Ｃが押下された期間はマニピュレーター１０の座標を連続的に記憶してもよく、ボタン２１０Ｃが離散的に押下されたタイミングでマニピュレーター１０の座標を記憶してもよい。例えば、連続的に記憶される場合、生成部１５５は、連続的に記憶された位置及び姿勢を示す情報に従って、マニピュレーター１０の位置及び姿勢をそのまま再現し得る。一方で、離散的に記憶される場合、生成部１５５は、離散的に記憶された位置及び姿勢を示す情報を時間軸に沿って繋ぐことで、マニピュレーター１０の位置及び姿勢を再現し得る。
【００６８】
以上、本実施形態に係る情報処理装置１００の技術的特徴を説明した。続いて、図７を参照して、本実施形態に係る情報処理装置１００の動作処理例を説明する。
【００６９】
＜３．２．動作処理例＞
図７は、本実施形態に係る情報処理装置１００において実行される表示処理の流れの一例を示すフローチャートである。本フローは、マニピュレーター１０が仮想的なライトとして機能する場合の処理例である。
【００７０】
図７に示すように、まず、ステップＳ１０２で、情報処理装置１００は、ライト制御モードに遷移する。例えば、ユーザは、ボタン２１０Ｂを押下して動作モード選択画面を投影面１７０上に表示させ、ライト制御モードを選択する。動作モードには、例えばマニピュレーター１０を仮想的な描画具として機能させるドローイングモードや、仮想的なカメラとして機能させるカメラ制御モード等が含まれ得る。取得部１５１は、このようにしてユーザによりライト制御モードが選択されたことを示す情報を取得する。これに従い、生成部１５５は、マニピュレーター１０を仮想的なライトとして機能させる。
【００７１】
次いで、ステップＳ１０４で、情報処理装置１００は、仮想空間の表示をデフォルトに戻す。例えば、生成部１５５及び表示制御部１５７は、回転又は拡縮等されていた仮想空間を元に戻した表示を行う。
【００７２】
次に、ステップＳ１０６で、情報処理装置１００は、仮想的なライトを生成する。例えば、ユーザは、ライトの種類の選択画面を投影面１７０上に表示させ、ディレクショナルライト、アンビエントライト、スポットライト、ポイントライト等の中から、使用したい種類のライトを選択する。ユーザは、複数のライトを同時に使用可能である。また、ユーザは、パラメータを自身で指定して新しい種類のライトを作成可能である。ユーザによる選択の他、デフォルトのライトが選択されてもよい。取得部１５１は、このようにして指定されたパラメータを示す情報を取得する。これに従い、生成部１５５は、仮想的なライトの作用を決定する。
【００７３】
次いで、ステップＳ１０８で、情報処理装置１００は、操作用ペン２００の位置及び姿勢を取得する。例えば、取得部１５１は、操作情報取得機能により、操作用ペン２００の位置及び姿勢を取得する。
【００７４】
次に、ステップＳ１１０で、情報処理装置１００は、操作用ペン２００の位置及び姿勢を仮想空間の座標系に変換する。例えば、生成部１５５は、座標変換機能により、実空間における操作用ペン２００の発光部２２０Ａ及び２２０Ｂの座標を、仮想空間の座標系における座標に変換する。
【００７５】
次いで、ステップＳ１１２で、情報処理装置１００は、操作用ペン２００の両端を仮想的なライトの原点及び注視点に設定する。例えば、生成部１５５は、マニピュレーター１０の原点１１の座標を、仮想空間の座標系に変換した発光部２２０Ｂの座標に設定する。また、生成部１５５は、マニピュレーター１０の注視点１２の座標を、仮想空間の座標系に変換した発光部２２０Ａの座標に設定する。そして、生成部１５５は、仮想空間表示機能により、マニピュレーター１０の原点１１及び注視点１２をライトの原点及び注視点に設定する。
【００７６】
次に、ステップＳ１１４で、情報処理装置１００は、仮想空間に仮想的なライトによる光を反映させる。例えば、情報処理装置１００は、仮想空間表示機能により、原点１１から注視点１２の方向へライトを照らした様子を表示する。
【００７７】
次いで、ステップＳ１１６で、記憶制御部１５３は、記憶するか否かを判定する。例えば、ボタン２１０Ｃが押下されたことを示す情報が取得された場合、記憶制御部１５３は記憶すると判定し（ステップＳ１１６／ＹＥＳ）、処理はステップＳ１１８へ進む。一方で、ボタン２１０Ｃが押下されたことを示す情報が取得されない場合、記憶制御部１５３は記憶しないと判定し、処理はステップＳ１２０へ進む（ステップＳ１１６／ＮＯ）。
【００７８】
ステップＳ１１８では、情報処理装置１００は、仮想的なライトの情報を記憶する。例えば、記憶制御部１５３は、ライトのパラメータ、位置及び姿勢を示す情報を記憶する。
【００７９】
次に、ステップＳ１２０で、情報処理装置１００は、ライト制御モードを終了するか否かを判定する。例えば、ユーザは、投影面１７０上に表示されたメニューからライト制御モードを終了させる。ユーザによるライト制御モードの終了指示が取得された場合（Ｓ１２０／ＹＥＳ）、生成部１５５は、ライト制御モードを終了して仮想的なライトを切る。一方で、ユーザによるライト制御モードの終了指示が取得されない場合（Ｓ１２０／ＮＯ）、処理は再度ステップＳ１０８へ戻る。
【００８０】
以上、第１の実施形態について説明した。
【００８１】
＜＜４．第２の実施形態＞＞
まず、図８及び図９を参照して、本実施形態に係る情報処理装置１００の概要を説明する。
【００８２】
図８及び図９は、本実施形態に係る情報処理装置１００の概要を説明するための図である。図８に示すように、ユーザは、認識範囲１９０内で操作用ペン２００及び操作用キューブ３００を操作する。また、ディスプレイ１２０Ｃには、車の仮想オブジェクト２０を側面後方から見た様子が表示され、投影面１７０には車の仮想オブジェクト２０を上から見た様子が表示されている。本実施形態は、認識範囲１９０における操作用ペン２００及び操作用キューブ３００の位置及び姿勢が、マニピュレーター１０及び仮想オブジェクト２０の位置及び姿勢に反映される形態である。例えば、ユーザは、図９に示すように、操作用キューブ３００に上から操作用ペン２００を向けたり、下から操作用ペン２００を向けたりする操作が可能となる。これにより、例えば、仮想空間において、仮想オブジェクト２０に上からライトが照らされたり、下からライトが照らされたりする。例えば、図８に示した例では、操作用キューブ３００の後ろから操作用ペン２００が向けられているので、車の仮想オブジェクト２０の後部を照らす光（符号２１）が表示されている。
【００８３】
操作用キューブ３００は、ユーザにより操作される実オブジェクトである。操作用キューブ３００は、図８に示したように投影面１７０上に置かれてもよいし、ユーザの手で持たれてもよいし、三脚等の任意の支持器により支持されてもよい。操作用キューブ３００は、姿勢を検出可能になるよう、各面を識別するためのバーコード等のパッシブマーカーやＡＲ（Augmented  Reality）マーカー等が各面に付されていてもよい。
【００８４】
操作用キューブ３００は、他にも、加速度センサ及びジャイロセンサ等の慣性センサ、速度センサ、振動センサ、生体センサ等を有していてもよい。また、操作用キューブ３００は、無線ＬＡＮ、Ｗｉ−Ｆｉ又はＢｌｕｅｔｏｏｔｈ等の任意の通信方式を用いて無線通信可能な通信部を有してもよく、情報処理装置１００と各種データの送受信を行ってもよい。
【００８５】
以下、本実施形態に係る情報処理装置１００が有する技術的特徴を説明する。なお、本実施形態に係る情報処理装置１００は、上述した実施形態において説明した技術的特徴を有しているものとする。
【００８６】
＜４．１．技術的特徴＞
（操作情報取得機能）
本実施形態における操作情報は、操作用ペン２００及び操作用キューブ３００の実空間における位置及び姿勢を示す情報を含む。操作用ペン２００に関しては上記説明した通りであるので、以下では操作用キューブ３００について説明する。
【００８７】
例えば、取得部１５１は、センサ部１１０により検出された画像情報から操作用キューブ３００を画像認識したり、センサ部１１０により検出された深度情報から操作用キューブ３００の高さを認識したりすることで、操作用キューブ３００の位置及び姿勢を取得してもよい。その際、取得部１５１は、操作用キューブ３００の各面に付された識別情報を認識したり、操作用キューブ３００の頂点位置を認識したり、ＡＲアルゴリズムを用いてＡＲマーカーの姿勢を推定することで、操作用キューブ３００の位置及び姿勢を取得してもよい。
【００８８】
また、取得部１５１は、通信部１３０により受信された、操作用キューブ３００が内蔵するセンサにより検出された情報から、操作用キューブ３００の姿勢を取得してもよい。例えば、取得部１５１は、重力加速度の検出結果から操作用キューブ３００の姿勢を取得する。
【００８９】
他にも、取得部１５１は、通信部１３０により受信された、操作用キューブ３００に内蔵されたセンサにより検出された加速度や速度等の情報を、操作情報として取得し得る。
【００９０】
（座標変換機能）
情報処理装置１００（例えば、生成部１５５）は、実空間における操作用ペン２００及び操作用キューブ３００の座標を、仮想空間における座標に変換する機能を有する。生成部１５５は、操作用ペン２００及び操作用キューブ３００の絶対的な位置を用いて座標変換してもよいし、相対的な位置を用いて座標変換してもよい。
【００９１】
・絶対的な位置を使用する場合
例えば、生成部１５５は、仮想空間における仮想オブジェクト２０の位置及び姿勢に操作用キューブ３００の位置及び姿勢を反映させ、仮想空間におけるマニピュレーター１０の位置及び姿勢に操作用ペン２００の位置及び姿勢を反映させてもよい。例えば、生成部１５５は、実空間における操作用キューブ３００の各頂点の座標を仮想オブジェクト２０の対応する点のグローバル座標に変換する。また、生成部１５５は、実空間における操作用ペン２００の発光部２２０Ｂの座標をマニピュレーター１０の原点１１のグローバル座標に変換して、発光部２２０Ａの座標をマニピュレーター１０の注視点１２のグローバル座標に変換する。これにより、ユーザは、操作用ペン２００及び操作用キューブ３００を手に持って認識範囲１９０内で動かすことで、あたかもマニピュレーター１０及び仮想オブジェクト２０を手に持って仮想空間内で動かすかのように操作することが可能となる。
【００９２】
・相対的な位置を使用する場合
例えば、生成部１５５は、仮想空間における仮想オブジェクト２０とマニピュレーター１０との相対的な位置及び姿勢に、操作用キューブ３００と操作用ペン２００との相対的な位置及び姿勢の関係性を反映させてもよい。例えば、生成部１５５は、実空間における操作用キューブ３００を基準とした操作用ペン２００の発光部２２０Ｂ及び２２０Ａの相対的な座標を、仮想オブジェクト２０のグローバル座標に加算することで、マニピュレーター１０の原点１１及び注視点１２のグローバル座標を算出する。もちろん、生成部１５５は、実空間における操作用ペン２００を基準とした操作用キューブ３００の相対的な座標を操作用ペン２００のグローバル座標に加算することで、仮想オブジェクト２０のグローバル座標を算出してもよい。これにより、ユーザは、操作用ペン２００及び操作用キューブ３００の相対的な位置及び姿勢の関係を、マニピュレーター１０及び仮想オブジェクト２０の相対的な位置及び姿勢の関係に反映させることができる。
【００９３】
（仮想空間表示機能）
操作用ペン２００に関しては上記説明した通りであるので、以下では操作用キューブ３００について説明する。
【００９４】
本実施形態では、生成部１５５は、操作用キューブ３００（第１の実オブジェクト）について検出された操作情報（第１の操作情報）に基づいて、仮想空間の表示を行うための表示制御情報を生成する機能を有する。具体的には、生成部１５５は、座標変換機能により操作用キューブ３００の位置及び姿勢を仮想オブジェクト２０に反映させた表示を行うための表示制御情報を生成する。これにより、ユーザは、操作用キューブ３００を手に持って認識範囲１９０内で動かすことで、あたかも仮想オブジェクト２０を手に持って仮想空間内で動かしたかのような表示を、情報処理装置１００にさせることができる。
【００９５】
（記憶／再現機能）
操作用ペン２００に関しては上記説明した通りであるので、以下では操作用キューブ３００について説明する。
【００９６】
情報処理装置１００（例えば、記憶制御部１５３及び記憶部１４０）は、操作用ペン２００及び操作用キューブ３００により操作された仮想空間の状況を記憶し、再現する機能を有する。
【００９７】
例えば、記憶制御部１５３は、仮想オブジェクト２０の位置及び姿勢を示す情報を記憶部１４０に記憶する。そして、生成部１５５は、記憶制御部１５３により記憶部１４０から取得された過去の仮想オブジェクト２０の位置及び姿勢を示す情報に基づいて、表示制御情報を生成する。これにより、ユーザは、例えば気に入った仮想オブジェクト２０の動かし方を記憶しておき、後から参照することが可能となる。
【００９８】
以上、本実施形態に係る情報処理装置１００の技術的特徴を説明した。続いて、図１０及び図１１を参照して、本実施形態に係る情報処理装置１００の動作処理例を説明する。
【００９９】
＜４．２．動作処理例＞
まず、図１０を参照して、座標変換機能において絶対的な位置が使用される場合の処理例を説明する。
【０１００】
図１０は、本実施形態に係る情報処理装置１００において実行される表示処理の流れの一例を示すフローチャートである。本フローは、マニピュレーター１０が仮想的なライトとして機能する場合の処理例である。
【０１０１】
図１０に示すように、まず、ステップＳ２０２で、情報処理装置１００は、表示された仮想オブジェクト２０の上に置かれた操作用キューブ３００に、仮想空間における仮想オブジェクト２０のグローバル座標を紐付ける。例えば、ユーザは、投影面１７０に投影された仮想オブジェクト２０の上に、操作用キューブ３００を置く。生成部１５５は、取得部１５１により取得された画像情報及び深度情報から仮想オブジェクト２０の上に操作用キューブ３００が置かれたことを認識し、仮想オブジェクト２０と操作用キューブ３００とを対応付ける。
【０１０２】
次いで、ステップＳ２０４で、情報処理装置１００は、ライト制御モードに遷移する。例えば、情報処理装置１００は、ユーザによる選択に従ってライト制御モードに遷移してもよいし、操作用キューブ３００に付されたマーカーの認識結果に従ってライト制御モードに移行してもよい。
【０１０３】
次に、ステップＳ２０６で、情報処理装置１００は、仮想的なライトを生成する。
【０１０４】
次いで、ステップＳ２０８で、情報処理装置１００は、操作用ペン２００及び操作用キューブ３００の位置及び姿勢を取得する。例えば、取得部１５１は、操作情報取得機能により、操作用ペン２００及び操作用キューブ３００の位置及び姿勢を取得する。
【０１０５】
次に、ステップＳ２１０で、情報処理装置１００は、操作用ペン２００及び操作用キューブ３００の位置及び姿勢を仮想空間のグローバル座標系に変換する。例えば、生成部１５５は、座標変換機能により、実空間における操作用ペン２００及び操作用キューブ３００の座標を、仮想空間の座標系におけるグローバル座標に変換する。
【０１０６】
次いで、ステップＳ２１２で、情報処理装置１００は、操作用キューブ３００の位置及び姿勢を仮想オブジェクト２０の位置及び姿勢に反映させる。例えば、生成部１５５は、仮想空間の座標系に変換した操作用キューブ３００のグローバル座標に、紐付けた仮想オブジェクト２０のグローバル座標を移動させ、操作用キューブ３００の姿勢（回転）を仮想オブジェクト２０の姿勢に反映させる。
【０１０７】
次に、ステップＳ２１４で、情報処理装置１００は、操作用ペン２００の両端を仮想的なライトの原点及び注視点に設定する。
【０１０８】
次いで、ステップＳ２１６で、情報処理装置１００は、仮想空間に仮想的なライトによる光を反映させる。
【０１０９】
次いで、ステップＳ２１８で、記憶制御部１５３は、記憶するか否かを判定する。記憶すると判定された場合（ステップＳ２１８／ＹＥＳ）、処理はステップＳ２２０へ進み、記憶しないと判定された場合、処理はステップＳ２２２へ進む（ステップＳ２１８／ＮＯ）。
【０１１０】
ステップＳ２２０では、情報処理装置１００は、仮想的なライト及び仮想オブジェクト２０の情報を記憶する。例えば、記憶制御部１５３は、ライトのパラメータ、位置及び姿勢を示す情報、並びに仮想オブジェクト２０の位置及び姿勢を示す情報を記憶する。
【０１１１】
次に、ステップＳ２２２で、情報処理装置１００は、ライト制御モードを終了するか否かを判定する。例えば、ユーザによるライト制御モードの終了指示が取得された場合（Ｓ２２２／ＹＥＳ）、生成部１５５は、ライト制御モードを終了して仮想的なライトを切る。一方で、ユーザによるライト制御モードの終了指示が取得されない場合（Ｓ２２２／ＮＯ）、処理は再度ステップＳ２０８へ戻る。
【０１１２】
以上、座標変換機能において絶対的な位置が使用される場合の処理例を説明した。続いて、図１１を参照して、座標変換機能において相対的な位置が使用される場合の処理例を説明する。
【０１１３】
図１１は、本実施形態に係る情報処理装置１００において実行される表示処理の流れの一例を示すフローチャートである。本フローは、マニピュレーター１０が仮想的なライトとして機能する場合の処理例である。
【０１１４】
図１１に示すように、まず、ステップＳ３０２〜Ｓ３０８で、図１０を参照して上記説明したステップＳ２０２〜Ｓ２０８における処理と同様の処理が行われる。
【０１１５】
その後、ステップＳ３１０で、情報処理装置１００は、操作用ペン２００の操作用キューブ３００に対する相対的な位置及び姿勢を算出する。例えば、生成部１５５は、実空間における操作用キューブ３００を基準とした操作用ペン２００の発光部２２０Ｂ及び２２０Ａの相対的な座標を算出する。
【０１１６】
次いで、ステップＳ３１２で、情報処理装置１００は、算出した相対的な位置及び姿勢を、仮想空間のグローバル座標系に変換する。例えば、生成部１５５は、上記ステップＳ３１０において算出した相対的な座標を、仮想オブジェクト２０のグローバル座標に加算することで、マニピュレーター１０のグローバル座標を特定する。
【０１１７】
その後、ステップＳ３１４〜Ｓ３２２で、図１０を参照して上記説明したステップＳ２１４〜Ｓ２２２における処理と同様の処理が行われる。
【０１１８】
以上、第２の実施形態について説明した。
【０１１９】
＜＜５．第３の実施形態＞＞
まず、図１２及び図１３を参照して、本実施形態に係る情報処理装置１００の概要を説明する。
【０１２０】
図１２は、本実施形態に係る情報処理装置１００の概要を説明するための図である。図１２に示すように、ユーザは、認識範囲１９０内にモデル物体４００を置き、操作用ペン２００を操作する。モデル物体４００は、上述した操作用キューブ３００として機能する実オブジェクトである。図１２に示すように、モデル物体４００は車の形状をしており、車のテクスチャ（模様や色等）がプロジェクションマッピングされる。図１２に示した例は、マニピュレーター１０がカメラとして機能する例である。図１２に示すように、モデル物体４００の正面に操作用ペン２００が向けられているので、ディスプレイ１２０Ｃには、仮想オブジェクト２０を正面から見たカメラ画像が表示されている。
【０１２１】
図１３は、本実施形態に係る情報処理装置１００の概要を説明するための図である。図１３に示すように、モデル物体４００は車の形状をしており、車のテクスチャがプロジェクションマッピングされる。本図に示した例は、マニピュレーター１０がライトとして機能する例である。図１３に示すように、モデル物体４００の正面に操作用ペン２００が向けられているので、ディスプレイ１２０Ｃには、仮想オブジェクト２０の正面を照らす光（符号２１）が表示されている。また、モデル物体４００には、正面に当てられた光（符号４０１）がプロジェクションマッピングされている。
【０１２２】
以下、本実施形態に係る情報処理装置１００が有する技術的特徴を説明する。なお、本実施形態に係る情報処理装置１００は、上述した実施形態において説明した技術的特徴を有しているものとする。
【０１２３】
＜５．１．技術的特徴＞
（プロジェクションマッピング機能）
本実施形態に係る情報処理装置１００（例えば、生成部１５５）は、プロジェクションマッピングするための表示制御情報を生成する機能を有する。プロジェクションマッピングの対象となる実オブジェクトは多様に考えられる。例えば、認識範囲１９０に存在する、ユーザの手、操作用ペン２００、操作用キューブ３００又はモデル物体４００等の任意の実オブジェクトにプロジェクションマッピングされてもよい。ここで、プロジェクションマッピングとは、立体的な形状を有する実オブジェクトに画像を投影することを指すものとする。例えば、生成部１５５は、まず、モデル物体４００等の実オブジェクトの立体形状を、画像情報及び深度情報等を用いて認識する。次いで、生成部１５５は、立体形状の認識結果に基づいて、プロジェクタ１２０から投影される画像を制御するための表示制御情報を生成する。そして、表示制御部１５７は、生成された表示制御情報に基づく投影を行うようプロジェクタ１２０を制御する。このようにして、実オブジェクトへのプロジェクションマッピングが実現される。
【０１２４】
情報処理装置１００は、仮想オブジェクト２０に対応する実オブジェクトにプロジェクションマッピングしてもよい。そのような実オブジェクトとしては、図１２及び図１３に示したモデル物体４００の他、操作用キューブ３００等が挙げられる。これにより、ユーザは、実オブジェクトに対応する仮想オブジェクトの内容（例えば、車であること）を、より直感的に把握することが可能となる。なお、プロジェクションマッピングは、３ＤＣＧアプリケーション側で行われてもよい。
【０１２５】
（仮想空間表示機能）
本実施形態に係る情報処理装置１００（例えば、生成部１５５）は、仮想オブジェクト２０に対応する実オブジェクトにプロジェクションマッピングされたテクスチャに応じた表示を行ってもよい。図１２に示した例では、モデル物体４００に車のテクスチャがプロジェクションマッピングされている。そのため、生成部１５５は、プロジェクションマッピングされたテクスチャが表面に描画された仮想オブジェクト２０を表示するための表示制御情報を生成してもよい。その場合、図１２に示した例では、ディスプレイ１２０Ｃには、プロジェクションマッピングされたテクスチャが表面に描画された仮想オブジェクト２０を正面から見たカメラ画像が表示されることとなる。ライト等に関しても同様である。これにより、情報処理装置１００は、実空間の様子と仮想空間の様子との差を縮めることができる。
【０１２６】
なお、生成部１５５は、どのようなテクスチャがプロジェクションマッピングされているかを、プロジェクションマッピングを行う主体（例えば、表示制御部１５７又は３ＤＣＧアプリケーション）から取得してもよいし、画像認識結果から取得してもよい。
【０１２７】
（パラメータ表示機能）
情報処理装置１００（例えば、生成部１５５及び表示制御部１５７）は、上述した仮想的な道具のパラメータを表示する機能を有していてもよい。
【０１２８】
例えば、生成部１５５は、パラメータを操作用ペン２００に関連する場所に表示するための前記表示制御情報を生成してもよい。パラメータを操作用ペン２００に関連する場所としては、例えば操作用ペン２００自身、操作用ペン２００を持つユーザの手が挙げられる。例えば、プロジェクタ１２０は、操作用ペン２００を持つユーザの手に、パラメータをプロジェクションマッピングする。これにより、ユーザは、マニピュレーター１０の座標情報やライトの強度等を、操作用ペン２００を操作しながら容易に把握することができる。
【０１２９】
以上、本実施形態に係る情報処理装置１００の技術的特徴を説明した。続いて、図１４及び図１５を参照して、本実施形態に係る情報処理装置１００の動作処理例を説明する。
【０１３０】
＜５．２．動作処理例＞
図１４は、本実施形態に係る情報処理装置１００において実行される表示処理の流れの一例を示すフローチャートである。本フローは、マニピュレーター１０が仮想的なカメラとして機能する場合の処理例である。
【０１３１】
図１４に示すように、まず、ステップＳ４０２で、情報処理装置１００は、カメラ制御モードに遷移する。例えば、情報処理装置１００は、ユーザによる選択に従ってカメラ制御モードに遷移してもよい。
【０１３２】
次いで、ステップＳ４０４で、情報処理装置１００は、仮想的なカメラを生成する。例えば、ユーザは、カメラの焦点距離等のパラメータを投影面１７０に表示させ、パラメータを指定する。ユーザによる指定の他、デフォルトのパラメータが用いられてもよい。取得部１５１は、指定されたパラメータを示す情報を取得する。これに従い、生成部１５５は、仮想的なカメラの作用を決定する。
【０１３３】
次に、ステップＳ４０６で、情報処理装置１００は、テーブル１８０上に置かれたモデル物体４００の位置及び姿勢を取得する。例えば、取得部１５１は、操作情報取得機能により、モデル物体４００の位置及び姿勢を取得する。
【０１３４】
次いで、ステップＳ４０８で、情報処理装置１００は、モデル物体４００に仮想オブジェクトをマッピングする。その際、情報処理装置１００は、モデル物体４００に任意のテクスチャをプロジェクションマッピングしてもよい。また、マッピングされるテクスチャは、例えばＧＵＩメニューからユーザにより選択されてもよい。
【０１３５】
次に、ステップＳ４１０で、情報処理装置１００は、操作用ペン２００の位置及び姿勢を取得する。
【０１３６】
次いで、ステップＳ４１２で、情報処理装置１００は、操作用ペン２００とモデル物体４００との位置及び姿勢の関係を仮想空間の座標系に変換する。このとき、情報処理装置１００は、操作用ペン２００及びモデル物体４００の絶対的な位置を使用して座標変換してもよいし、相対的な位置を使用して座標変換してもよい。
【０１３７】
次に、ステップＳ４１４で、情報処理装置１００は、操作用ペン２００の両端を仮想的なカメラの原点及び注視点に設定する。例えば、生成部１５５は、仮想空間表示機能により、マニピュレーター１０の原点１１及び注視点１２をカメラの原点及び注視点に設定する。
【０１３８】
次いで、ステップＳ４１６で、情報処理装置１００は、仮想空間のカメラビューに反映させる。例えば、生成部１５５は、仮想空間表示機能により、原点１１から注視点１２の方向へ向けた仮想的なカメラにより撮像された仮想空間の様子を表示する。
【０１３９】
次いで、ステップＳ４１８で、記憶制御部１５３は、記憶するか否かを判定する。記憶すると判定された場合（ステップＳ４１８／ＹＥＳ）、処理はステップＳ４２０へ進み、記憶しないと判定された場合、処理はステップＳ４２２へ進む（ステップＳ４１８／ＮＯ）。
【０１４０】
ステップＳ４２０では、情報処理装置１００は、仮想的なカメラ及び仮想オブジェクト２０の情報を記憶する。例えば、記憶制御部１５３は、カメラのパラメータ、位置及び姿勢を示す情報、並びに仮想オブジェクト２０の位置及び姿勢を示す情報を記憶する。
【０１４１】
次に、ステップＳ４２２で、情報処理装置１００は、カメラ制御モードを終了するか否かを判定する。例えば、ユーザによるカメラ制御モードの終了指示が取得された場合（Ｓ４２２／ＹＥＳ）、生成部１５５は、カメラ制御モードを終了して仮想的なカメラを切る。一方で、ユーザによるカメラ制御モードの終了指示が取得されない場合（Ｓ４２２／ＮＯ）、処理は再度ステップＳ４１０へ戻る。
【０１４２】
以上、マニピュレーター１０が仮想的なカメラとして機能する場合の処理例を説明した。続いて、図１５を参照して、マニピュレーター１０が仮想的なライトとして機能する場合の処理例を説明する。
【０１４３】
図１５は、本実施形態に係る情報処理装置１００において実行される表示処理の流れの一例を示すフローチャートである。
【０１４４】
図１５に示すように、まず、ステップＳ５０２で、情報処理装置１００は、ライト制御モードに遷移する。次いで、ステップＳ５０４で、情報処理装置１００は、仮想的なライトを生成する
【０１４５】
その後、ステップＳ５０６〜Ｓ５１２で、図１４を参照して上記説明したステップＳ４０６〜Ｓ４１２における処理と同様の処理が行われる。
【０１４６】
次に、ステップＳ５１４で、情報処理装置１００は、操作用ペン２００の両端を仮想的なライトの原点及び注視点に設定する。
【０１４７】
次いで、ステップＳ５１６で、情報処理装置１００は、仮想空間に仮想的なライトによる光を反映させる。
【０１４８】
その後、ステップＳ５１８〜Ｓ５２２で、図１４を参照して上記説明したステップＳ４１８〜Ｓ４２２における処理と同様の処理が行われる。
【０１４９】
以上、第３の実施形態について説明した。
【０１５０】
＜＜６．第４の実施形態＞＞
まず、図１６を参照して、本実施形態に係る情報処理装置１００の概要を説明する。
【０１５１】
図１６は、本実施形態に係る情報処理装置１００の概要を説明するための図である。図１６に示すように、ユーザは、認識範囲１９０内で操作用ペン２００Ａ及び２００Ｂを操作する。図１６に示した例は、操作用ペン２００Ａに対応するマニピュレーター１０がカメラとして機能し、操作用ペン２００Ｂに対応するマニピュレーター１０がライトとして機能する例である。図１６に示すように、投影面１７０に表示された仮想オブジェクト２０の側面後方に操作用ペン２００Ａが向けられているので、ディスプレイ１２０Ｃには、仮想オブジェクト２０を側面後方から見たカメラ画像が表示されている。また、投影面１７０に表示された仮想オブジェクト２０へ後ろから操作用ペン２００が向けられているので、仮想オブジェクト２０の後部を照らす光（符号２１）が表示されている。
【０１５２】
本実施形態に係る生成部１５５は、複数の操作用ペン２００について検出された複数の操作情報の各々に基づいて表示制御情報を生成する。これにより、図１６に示したように、複数の操作用ペン２００を用いた操作を反映した仮想空間の表示が可能となる。図１６に示した例では、複数のマニピュレーター１０が異なる仮想的な道具として機能したが、本技術はかかる例に限定されない。複数のマニピュレーター１０が、同一の仮想的な道具として機能してもよい。
【０１５３】
＜＜７．第５の実施形態＞＞
本実施形態は、手振れ補正を行う形態である。
【０１５４】
上述したように、情報処理装置１００は、記憶／再現機能を有し、記憶部１４０に記憶した仮想空間の状況を示す情報（例えば、仮想的なライトやカメラ、仮想オブジェクト２０の情報）を参照して、仮想空間の状況を再現することができる。本実施形態に係る情報処理装置１００は、手振れ補正機能により、仮想空間の状況を滑らかに記憶し又は再現することができる。
【０１５５】
まず、図１７を参照して、記憶時の手振れ補正機能について説明する。図１７は、本実施形態に係る手振れ補正機能の一例を説明するための図である。図１７に示すように、ユーザは、操作用ペン２００を指で握っている。情報処理装置１００が、例えば図４に示した操作用ペン２００のボタン２１０Ｂが押下された場合にマニピュレーター１０の座標を記憶する場合、ユーザがボタン２１０Ｂを押下する際に操作用ペン２００が揺れて記憶する座標に影響が生じ得る。そのため、記憶制御部１５３は、ユーザが操作用ペン２００に沿えていた指を離したタイミングでマニピュレーター１０の座標を記憶してもよい。図１７に示すように、操作用ペン２００は、タッチセンサ２１０Ｄを有していてもよく、指が接しているか離れたかを検出することが可能であるものとする。これにより、操作用ペン２００の揺れが軽減され、手振れが軽減される。記憶制御部１５３は、３ＤＣＧアプリケーションの座標空間のグリッドに沿うように、座標を補正して記憶してもよい。その場合、さらに手振れ補正機能が向上する。
【０１５６】
続いて、図１８を参照して、再生時の手振れ補正機能について説明する。図１８は、本実施形態に係る手振れ補正機能の一例を説明するための図である。図１８に示すように、離散した座標４０１〜４０４の情報が記憶部１４０に記憶されているものとする。例えば、情報処理装置１００は、実際の手の動きが軌道４１０を通っていた場合に、各座標の間をスプライン曲線等で補間することで、再現時の軌道４２０を生成し得る。そして、情報処理装置１００は、この軌道４２０に従って、仮想空間の様子を再現してもよい。
【０１５７】
情報処理装置１００は、記憶／再生機能の他、操作情報取得機能に関する手振れ補正機能を有していてもよい。
【０１５８】
例えば、情報処理装置１００（例えば、生成部１５５）は、操作用ペン２００の現在位置と１ステップ前の状態をもとに、カルマンフィルターで動き予測を行い、手振れを補正してもよい。また、情報処理装置１００は、手振れ補正機能による補正度合を、仮想空間の縮尺に合わせて動的に制御してもよい。
【０１５９】
例えば、情報処理装置１００は、操作用ペン２００の高さに合わせて１０段階等の効果音を鳴らしたり、操作用キューブ３００に操作用ペン２００又は操作用キューブ３００の位置を示す情報をプロジェクションマッピングしたりしてもよい。これにより、ユーザは、水平に動かす等の座標を意識した操作を、直感的かつ細やかに行うことが可能となる。
【０１６０】
なお、これらの手振れ補正機能のＯＮ／ＯＦＦ、及び補正度合等は、ユーザにより任意に設定されてもよい。
【０１６１】
＜＜８．ハードウェア構成例＞＞
最後に、図１９を参照して、本実施形態に係る情報処理装置のハードウェア構成について説明する。図１９は、本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図１９に示す情報処理装置９００は、例えば、図５に示した情報処理装置１００を実現し得る。本実施形態に係る情報処理装置１００による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
【０１６２】
図１９に示すように、情報処理装置９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３及びホストバス９０４ａを備える。また、情報処理装置９００は、ブリッジ９０４、外部バス９０４ｂ、インタフェース９０５、入力装置９０６、出力装置９０７、ストレージ装置９０８、ドライブ９０９、接続ポート９１１及び通信装置９１３を備える。情報処理装置９００は、ＣＰＵ９０１に代えて、又はこれとともに、ＤＳＰ若しくはＡＳＩＣ等の処理回路を有してもよい。
【０１６３】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置９００内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。ＣＰＵ９０１は、例えば、図５に示す制御部１５０を形成し得る。
【０１６４】
ＣＰＵ９０１、ＲＯＭ９０２及びＲＡＭ９０３は、ＣＰＵバスなどを含むホストバス９０４ａにより相互に接続されている。ホストバス９０４ａは、ブリッジ９０４を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９０４ｂに接続されている。なお、必ずしもホストバス９０４ａ、ブリッジ９０４および外部バス９０４ｂを分離構成する必要はなく、１つのバスにこれらの機能を実装してもよい。
【０１６５】
入力装置９０６は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置９０６は、画像を撮像可能な画像センサ、及び深度情報を取得可能な深度センサ等の、センシング範囲におけるユーザ又は実オブジェクトの動作を検出する装置であってもよい。また、入力装置９０６は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話やＰＤＡ等の外部接続機器であってもよい。さらに、入力装置９０６は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などを含んでいてもよい。情報処理装置９００のユーザは、この入力装置９０６を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。入力装置９０６は、例えば、図５に示すセンサ部１１０を形成し得る。
【０１６６】
出力装置９０７は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、レーザープロジェクタ、ＬＥＤプロジェクタ、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置９０７は、例えば、情報処理装置９００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置９００が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。上記表示装置は、例えば、図５に示す表示部１２０を形成し得る。
【０１６７】
ストレージ装置９０８は、情報処理装置９００の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置９０８は、例えば、ＨＤＤ等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置９０８は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置９０８は、ＣＰＵ９０１が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。ストレージ装置９０８は、例えば、図５に示す記憶部１４０を形成し得る。
【０１６８】
ドライブ９０９は、記憶媒体用リーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９０９は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、ＲＡＭ９０３に出力する。また、ドライブ９０９は、リムーバブル記憶媒体に情報を書き込むこともできる。
【０１６９】
接続ポート９１１は、外部機器と接続されるインタフェースであって、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などによりデータ伝送可能な外部機器との接続口である。
【０１７０】
通信装置９１３は、例えば、ネットワーク９２０に接続するための通信デバイス等で形成された通信インタフェースである。通信装置９１３は、例えば、有線若しくは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９１３は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ又は各種通信用のモデム等であってもよい。この通信装置９１３は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。通信装置９１３は、例えば、図５に示す通信部１３０を形成し得る。
【０１７１】
なお、ネットワーク９２０は、ネットワーク９２０に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク９２０は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワーク９２０は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。
【０１７２】
以上、本実施形態に係る情報処理装置９００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０１７３】
なお、上述のような本実施形態に係る情報処理装置９００の各機能を実現するためのコンピュータプログラムを作製し、ＰＣ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【０１７４】
＜＜９．まとめ＞＞
以上、図１〜図１９を参照して、本開示の一実施形態について詳細に説明した。上記説明したように、本実施形態に係る情報処理装置１００は、仮想空間における仮想オブジェクトに対応する実オブジェクト（例えば、操作用キューブ３００又はモデル物体４００）について検出された操作情報と、仮想空間における仮想的な道具に対応する実オブジェクト（例えば、操作用ペン２００）について検出された第２の操作情報に基づいて、仮想空間の表示を行う。これにより、ユーザは、例えば操作用キューブ３００と操作用ペン２００との位置関係を用いて、仮想空間における仮想オブジェクト２０及びマニピュレーター１０を直感的且つ容易に操作することが可能となる。また、ユーザは、操作用ペン２００を操作してライトの位置及び向きを変えながら、操作用キューブ３００を操作して仮想オブジェクト２０の位置及び向きを変えるといった、マニピュレーター１０及び仮想オブジェクト２０を別々且つ同時に操作することが可能となる。
【０１７５】
また、本実施形態に係る情報処理装置１００は、実オブジェクトにプロジェクションマッピングしてもよい。さらに、情報処理装置１００は、プロジェクションマッピングされたテクスチャに応じた表示を行ってもよい。これにより、ユーザは、テクスチャがマッピングされたモデル物体４００を用いた、より直感的な操作環境で３ＤＣＧアプリケーションを使用することが可能となる。
【０１７６】
また、本実施形態に係る情報処理装置１００は、仮想オブジェクトへの仮想的な道具の使用を反映させた表示を行ってもよい。例えば、ユーザは、操作用ペン２００に対応するマニピュレーター１０をライトとして機能させたりカメラとして機能させたりすることができる。そのため、本技術は、例えば建築模型の中で人の目線からの見え方を確認するなど、視点確認が容易となり、制作用途の他、クライアントへのプレゼンテーション用途にも使用可能である。また、本技術は、例えば体腔内での内視鏡からの見え方を確認する等、医療用途にも使用可能である。また、本技術は、マニピュレーター１０をドラムスティックとして機能させることで、例えば楽器の試奏用途にも使用可能である。
【０１７７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１７８】
なお、本明細書において説明した各装置は、単独の装置として実現されてもよく、一部または全部が別々の装置として実現されても良い。例えば、図５に示した情報処理装置１００の機能構成例のうち、記憶部１４０及び制御部１５０が、センサ部１１０、表示部１２０及び通信部１３０とネットワーク等で接続されたサーバ等の装置に備えられていても良い。
【０１７９】
また、本明細書においてフローチャート及びシーケンス図を用いて説明した処理は、必ずしも図示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
【０１８０】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１８１】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された第２の操作情報とに基づいて、前記仮想空間の表示を行うための表示制御情報を生成する生成部、
を備える情報処理装置。
（２）
前記第１の操作情報は前記第１の実オブジェクトの位置及び姿勢を示す情報を含み、前記第２の操作情報は前記第２の実オブジェクトの位置及び姿勢を示す情報を含む、前記（１）に記載の情報処理装置。
（３）
前記生成部は、前記第１の実オブジェクトにプロジェクションマッピングするための前記表示制御情報を生成する、前記（２）に記載の情報処理装置。
（４）
前記生成部は、前記第１の実オブジェクトの立体形状の認識結果に基づいて、プロジェクタから投影される画像を制御するための前記表示制御情報を生成する、前記（３）に記載の情報処理装置。
（５）
前記生成部は、前記第１の実オブジェクトにプロジェクションマッピングされたテクスチャに応じた表示を行うための前記表示制御情報を生成する、前記（３）又は（４）に記載の情報処理装置。
（６）
前記生成部は、前記仮想的な道具の作用に関するパラメータを反映させた前記表示制御情報を生成する、前記（２）〜（５）のいずれか一項に記載の情報処理装置。
（７）
前記生成部は、前記パラメータを前記第２の実オブジェクトに関連する場所に表示するための前記表示制御情報を生成する、前記（６）に記載の情報処理装置。
（８）
前記生成部は、前記仮想オブジェクトへの前記仮想的な道具の使用を反映させた表示を行うための前記表示制御情報を生成する、前記（２）〜（７）のいずれか一項に記載の情報処理装置。
（９）
前記仮想的な道具は、ライトである、前記（８）に記載の情報処理装置。
（１０）
前記道具の作用に関するパラメータは、ライトの種類、ライトの色、強度、コーンアングル、周縁部の角度、ドロップオフ、シャドウの色、及びエフェクトの内いずれか一つを含む、前記（９）に記載の情報処理装置。
（１１）
前記仮想的な道具は、カメラである、前記（８）に記載の情報処理装置。
（１２）
前記道具の作用に関するパラメータは、カメラの種類、カメラの画角、カメラの焦点距離、カメラの被写界深度、ズーム、およびカメラの重さのうちいずれか一つを含む、前記（１１）に記載の情報処理装置。
（１３）
前記仮想的な道具は、パーティクル放出器具である、前記（８）に記載の情報処理装置。
（１４）
前記道具の作用に関するパラメータは、パーティクル放出器具の種類、パーティクルの形状、サイズ、放出数、放出方向、放出角度、放出速度、放出レート、重力、及び粘性のうちいずれか一つを含む
前記（１３）に記載の情報処理装置。
（１５）
前記生成部は、前記仮想空間における前記仮想オブジェクトと前記仮想的な道具との相対的な位置及び姿勢に、前記第１の実オブジェクトと前記第２の実オブジェクトとの相対的な位置及び姿勢の関係性を反映させる、前記（２）〜（１４）のいずれか一項に記載の情報処理装置。
（１６）
前記生成部は、前記仮想空間における前記仮想オブジェクトの位置及び姿勢に前記第１の実オブジェクトの位置及び姿勢を反映させ、前記仮想空間における前記仮想的な道具の位置及び姿勢に前記第２の実オブジェクトの位置及び姿勢を反映させる、前記（２）〜（１５）のいずれか一項に記載の情報処理装置。
（１７）
前記情報処理装置は、前記仮想オブジェクト及び前記仮想的な道具の位置及び姿勢を示す情報を記憶部に記憶させる記憶制御部をさらに備え、
前記生成部は、前記記憶制御部により前記記憶部から取得された過去の情報に基づいて前記表示制御情報を生成する、前記（２）〜（１６）のいずれか一項に記載の情報処理装置。
（１８）
前記生成部は、複数の前記第２の実オブジェクトについて検出された複数の前記第２の操作情報の各々に基づいて前記表示制御情報を生成する、前記（２）〜（１７）のいずれか一項に記載の情報処理装置。
（１９）
仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された第２の操作情報とに基づいて、前記仮想空間の表示を行うための表示制御情報を生成すること、
を含むプロセッサにより実行される情報処理方法。
（２０）
コンピュータを、
仮想空間における仮想オブジェクトに対応する第１の実オブジェクトについて検出された第１の操作情報と、前記仮想空間における仮想的な道具に対応する第２の実オブジェクトについて検出された第２の操作情報とに基づいて、前記仮想空間の表示を行うための表示制御情報を生成する生成部、
として機能させるためのプログラム。
【符号の説明】
【０１８２】
１    情報処理システム
１０    マニピュレーター
１１    原点
１２    注視点
１３    方向
２０    仮想オブジェクト
１００    情報処理装置
１１０    センサ部
１２０    表示部
１３０    通信部
１４０    記憶部
１５０    制御部
１５１    取得部
１５３    記憶制御部
１５５    生成部
１５７    表示制御部
１６０    アーム
１７０    投影面
１８０    テーブル
１９０    認識範囲
２００    操作用ペン
２１０    ボタン
２２０    発光部
３００    操作用キューブ
４００    モデル物体
【図１】
0006569726.tif 000002
【図２】
0006569726.tif 000003
【図３】
0006569726.tif 000004
【図４】
0006569726.tif 000005
【図５】
0006569726.tif 000006
【図６】
0006569726.tif 000007
【図７】
0006569726.tif 000008
【図８】
0006569726.tif 000009
【図９】
0006569726.tif 000010
【図１０】
0006569726.tif 000011
【図１１】
0006569726.tif 000012
【図１２】
0006569726.tif 000013
【図１３】
0006569726.tif 000014
【図１４】
0006569726.tif 000015
【図１５】
0006569726.tif 000016
【図１６】
0006569726.tif 000017
【図１７】
0006569726.tif 000018
【図１８】
0006569726.tif 000019
【図１９】
0006569726.tif 000020