(57)【要約】      （修正有）【課題】実オブジェクトの運動状態を直感的に把握できるように仮想オブジェクトを表示させることが可能な情報処理装置等を提供する。【解決手段】実オブジェクトの運動状態を撮像部により撮像された画像に基づき取得する、あるいは実オブジェクトに設けられているセンサによって検知されたセンサデータに基づき前記運動状態を取得する取得部と、実オブジェクトとの相対的な位置関係に応じて、前記実オブジェクトの前記運動状態を変化させる動作制御部と、取得した前記運動状態に応じて仮想オブジェクトを表示させる表示制御部と、を備える、情報処理装置。【選択図】図１
2014191688.tif 000002
【特許請求の範囲】
【請求項１】
実オブジェクトの運動状態を取得する取得部と、
取得した前記運動状態に応じて仮想オブジェクトを表示させる表示制御部と、
を備える、情報処理装置。
【請求項２】
前記取得部は、撮像部により撮像された画像に基づき前記運動状態を取得する、請求項１に記載の情報処理装置。
【請求項３】
前記取得部は、センサによって検知されたセンサデータに基づき前記運動状態を取得する、請求項１に記載の情報処理装置。
【請求項４】
前記センサは、前記実オブジェクトに設けられている、請求項３に記載の情報処理装置。
【請求項５】
撮像部と前記実オブジェクトとの相対的な位置関係に応じて、前記実オブジェクトの前記運動状態を変化させる動作制御部、
を備える、請求項１に記載の情報処理装置。
【請求項６】
前記動作制御部は、前記撮像部の光軸と前記実オブジェクトとの間の距離に応じて、前記運動状態を変化させる、請求項５に記載の情報処理装置。
【請求項７】
前記動作制御部は、前記仮想オブジェクトを表示させるための基準と前記撮像部との相対的な位置関係に応じて、前記運動状態を変化させる、請求項５に記載の情報処理装置。
【請求項８】
前記表示制御部は、取得した前記運動状態に基づき、前記運動状態の変化を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、請求項１に記載の情報処理装置。
【請求項９】
前記表示制御部は、取得した前記運動状態に基づき、前記実オブジェクトの位置の変化を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、請求項１に記載の情報処理装置。
【請求項１０】
前記取得部は、複数の前記実オブジェクトの運動状態を取得し、
前記表示制御部は、取得した複数の前記実オブジェクトの運動状態に応じて前記仮想オブジェクトを表示させる、請求項１に記載の情報処理装置。
【請求項１１】
前記表示制御部は、取得した複数の前記実オブジェクトの運動状態に応じて、前記複数の実オブジェクトの相対的な位置関係を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、請求項１０に記載の情報処理装置。
【請求項１２】
前記取得部は、前記運動状態として、前記実オブジェクトの運動の変化量を取得する、請求項１に記載の情報処理装置。
【請求項１３】
前記取得部は、前記運動状態として、前記実オブジェクトの運動方向の変化量を取得する、請求項１に記載の情報処理装置。
【請求項１４】
前記表示制御部は、撮像部により撮像された画像から認識された基準に応じた前記仮想オブジェクトを表示させる、請求項１に記載の情報処理装置。
【請求項１５】
実オブジェクトの運動状態を取得することと、
取得した前記運動状態に応じて仮想オブジェクトを表示させることと、
を含む、情報処理方法。
【請求項１６】
コンピュータに、
実オブジェクトの運動状態を取得することと、
取得した前記運動状態に応じて仮想オブジェクトを表示させることと、
を実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、及び、記憶媒体に関する。
【背景技術】
【０００２】
近年、画像認識技術が高度化しており、撮像装置からの入力画像に含まれる実オブジェクト（例えば、看板やビルなどの物体）の位置や姿勢を認識することが可能となっている。このような物体認識の応用例の一つとして、ＡＲ（Ａｕｇｍｅｎｔｅｄ
Ｒｅａｌｉｔｙ：拡張現実）と呼ばれる技術が知られている。
【０００３】
ＡＲ技術を利用することで、実空間画像に含まれる実オブジェクトに、実オブジェクトに対応付けられた仮想オブジェクト（例えば、広告情報、ナビゲーション情報、またはゲームのための情報）を付加することができる。このようなＡＲ技術の一例が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３８４１８０６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方で、実オブジェクトの運動状態に関わらず一定の仮想オブジェクトが表示させると、実オブジェクトの運動状態を直感的に把握しづらい場合がある。
【０００６】
そこで、実オブジェクトの運動状態を直感的に把握できるように仮想オブジェクトを表示させることが望まれている。
【課題を解決するための手段】
【０００７】
本開示によれば、実オブジェクトの運動状態を取得する取得部と、取得した前記運動状態に応じて仮想オブジェクトを表示させる表示制御部と、を備える、情報処理装置が提供される。
【０００８】
また、本開示によれば、実オブジェクトの運動状態を取得することと、取得した前記運動状態に応じて仮想オブジェクトを表示させることと、を含む、情報処理方法が提供される。
【０００９】
また、本開示によれば、コンピュータに、実オブジェクトの運動状態を取得することと、取得した前記運動状態に応じて仮想オブジェクトを表示させることと、を実行させるプログラムを記憶した記憶媒体が提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、実オブジェクトの運動状態を直感的に把握できるように仮想オブジェクトを表示させることが可能な情報処理装置、情報処理方法、及び、記憶媒体が提供される。
【図面の簡単な説明】
【００１１】
【図１】本開示の第１の実施形態に係る情報処理装置の概要を説明するための図である。
【図２】同実施形態に係る情報処理装置の画面の一例を示した図である。
【図３】同実施形態に係る情報処理装置の構成を示したブロック図である。
【図４】同実施形態に係る情報処理装置における運動状態の推測に係る処理について説明するための図である。
【図５】同実施形態に係る情報処理装置の画面の一例を示した図である。
【図６】同実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
【図７】同実施形態の変形例に係る情報処理装置の構成を示したブロック図である。
【図８】同実施形態の変形例に係るセンサユニットの構成を示したブロック図である。
【図９】本開示の第２の実施形態に係る情報処理装置の概要を説明するための図である。
【図１０】同実施形態に係る情報処理装置の画面の一例を示した図である。
【図１１】同実施形態に係る情報処理装置の構成を示したブロック図である。
【図１２】同実施形態において検出対象である実オブジェクトの構成を示したブロック図である。
【図１３】同実施形態に係る情報処理装置の他の一態様について説明するための図である。
【図１４】同実施形態に係る情報処理装置の他の一態様における画面の一例を示した図である。
【図１５】同実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
【図１６】同実施形態に係る情報処理装置の他の一態様における画面の一例を示した図である。
【図１７】本開示の第３の実施形態に係る情報処理装置の概要を説明するための図である。
【図１８】同実施形態に係る情報処理装置の画面の一例を示した図である。
【図１９】同実施形態に係る情報処理装置の構成を示したブロック図である。
【図２０】同実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
【図２１】同実施形態に係る情報処理装置の他の一態様について説明するための図である。
【図２２】同実施形態に係る情報処理装置の他の一態様における画面の一例を示した図である。
【図２３】ハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．第１の実施形態
１．１．概要
１．２．構成
１．３．処理
１．４．変形例
１．５．まとめ
２．第２の実施形態
２．１．概要
２．２．構成
２．３．処理
２．４．まとめ
３．第３の実施形態
３．１．概要
３．２．構成
３．３．処理
３．４．まとめ
【００１４】
＜１．第１の実施形態＞
［１．１．概要］
図１及び図２を参照して、本開示の第１の実施形態に係る情報処理装置１０の概要について説明する。まず、図１を参照する。図１は、本開示の第１の実施形態に係る情報処理装置１０の概要を説明するための図であり、情報処理装置１０をコマ回しのゲームに適用した場合の一例を示している。
【００１５】
図１に示すゲームの例では、複数のユーザそれぞれが、実オブジェクトであるコマ２０を実オブジェクトであるステージ９０上で回し、どのユーザのコマ２０がステージ９０上からはじき出されずにより長く回転するかを競う。各ユーザは、ステージ９０上で自身のコマ２０を回すと、撮像部１０１及び表示部１０９を備えた情報処理装置１０を介して、コマ２０の動作を観測する。情報処理装置１０の具体的な一例としてスマートフォン、携帯電話、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、携帯型ゲーム機器が挙げられる。
【００１６】
なお、以降では、コマ２０ａ及び情報処理装置１０ａは、ユーザＵａのコマ２０及び情報処理装置１０を示している。同様に、コマ２０ｂ及び情報処理装置１０ｂは、ユーザＵｂのコマ２０及び情報処理装置１０を示している。また、コマ２０ａ及び２０ｂを特に区別しない場合は、単に「コマ２０」と記載する。同様に、情報処理装置１０ａ及び１０ｂを特に区別しない場合は、単に「情報処理装置１０」と記載する。
【００１７】
情報処理装置１０は、撮像部１０１で撮像された画像（以降では「撮像画像」と呼ぶ）中から各コマ２０を検出するとともに、撮像画像を基に各コマ２０の運動状態を算出する。情報処理装置１０は、算出した各コマの運動状態に応じて撮像画像中の各コマ２０に仮想オブジェクトを重畳表示させる。なお、情報処理装置１０がステージ９０とコマ２０ａ及び２０ｂとのそれぞれを認識する仕組みについては、情報処理装置１０の構成とあわせて別途後述する。
【００１８】
ここで、図２を参照する。図２は、本実施形態に係る情報処理装置１０の画面の一例を示した図である。図２に示す例では、情報処理装置１０は、撮像画像中のコマ２０ａに、所定のキャラクターを模した仮想オブジェクトｖ２２ａを関連付けて表示させている。同様に、情報処理装置１０は、撮像画像中のコマ２０ｂに、所定のキャラクターを模した仮想オブジェクトｖ２２ｂを関連付けて表示させている。
【００１９】
また、情報処理装置１０は、コマ２０ａ及び２０ｂそれぞれの運動状態として回転速度を算出し、それぞれの回転速度を仮想オブジェクトｖ２２ａ及びｖ２２ｂそれぞれのライフポイントと見立てた仮想オブジェクトｖ２４ａ及びｖ２４ｂを表示させている。具体的には、情報処理装置１０は、コマ２０ａの回転速度が、空気抵抗やステージ９０との摩擦により低下すると、回転速度の低下に応じてライフポイントが低下するように仮想オブジェクトｖ２４ａを表示させる。このとき、情報処理装置１０は、コマ２０ａの回転速度の低下に応じて、仮想オブジェクトｖ２２ａとして示されたキャラクターが疲労していくように、仮想オブジェクトｖ２２ａの表示を制御してもよい。
【００２０】
また、情報処理装置１０は、コマ２０ａ及び２０ｂの運動状態に基づき、以降のコマ２０ａ及び２０ｂの動きを推測し、推測結果に応じて、コマ２０ａ及び２０ｂに関連付けられた仮想オブジェクトの表示を変更してもよい。具体的な一例として、情報処理装置１０は、コマ２０ａ及び２０ｂの近接又は衝突が推測される場合には、キャラクターを示す仮想オブジェクトｖ２４ａ及びｖ２４ｂのそれぞれが衝突に備えて身構えるように表示を制御してもよい。
【００２１】
このように、本実施形態に係る情報処理装置１０は、物理法則に従って変化する実オブジェクトの運動状態を取得し、取得した運動状態に応じて、仮想オブジェクトの表示を変化させる。これにより、ユーザは、実オブジェクトの運動状態を直感的に把握することが可能となる。以降では、本実施形態に係る情報処理装置１０の詳細について説明する。
【００２２】
［１．２．構成］
本実施形態に係る情報処理装置１０の構成について図３を参照しながら説明する。図３は、本実施形態に係る情報処理装置１０の構成の一例を示したブロック図である。なお、以降では、情報処理装置１０の各構成について、図１及び図２に示したコマ回しのゲームにおいて、撮像画像中から実オブジェクトであるコマ２０を検出し、検出されたコマ２０に仮想オブジェクトを重畳表示させる場合を例に説明する。
【００２３】
図３に示すように、本実施形態に係る情報処理装置１０は、撮像部１０１と、位置算出部１０２と、コンテンツ制御部１０３と、表示制御部１０４と、操作部１０５と、運動状態取得部１０６と、表示部１０９とを含む。
【００２４】
撮像部１０１は、所定のフレーム毎に画像を撮像する。撮像部１０１は、撮像画像を位置算出部１０２及び運動状態取得部１０６に逐次出力する。
【００２５】
位置算出部１０２は、撮像部１０１から撮像画像を逐次取得する。位置算出部１０２は、撮像部１０１から取得した撮像画像から実オブジェクトであるコマ２０を検出する。具体的には、コマ２０にはあらかじめマーカが付されており、位置算出部１０２は、コマ２０に付されたマーカを検出することで、コマ２０の位置及び姿勢を認識できる。なお、本明細書において、「マーカ」との用語は、一般に、既知のパターンを有する、実空間内に存在する何らかのオブジェクトを意味するものとする。すなわち、マーカは、例えば、実物体、実物体の一部、実物体の表面上に示される図形、記号、文字列若しくは絵柄、またはディスプレイにより表示される画像などを含み得る。狭義の意味において「マーカ」との用語は何らかのアプリケーションのために用意される特別なオブジェクトを指す場合があるが、本開示に係る技術はそのような事例には限定されない。以下に、位置算出部１０２がコマ２０を検出する方法の具体的な一例についてまとめる。
【００２６】
位置算出部１０２は、撮像部１０１から取得した撮像画像から決定される特徴量を、検出対象である実オブジェクトごとにあらかじめ記憶された特徴量と照合することにより、撮像画像に含まれるマーカを認識する。
【００２７】
より具体的には、位置算出部１０２は、ＳＩＦＴ法またはＲａｎｄｏｍ  Ｆｅｒｎｓ法などの特徴量決定法に従って撮像画像内の実オブジェクトの特徴量を決定し、決定した特徴量を実オブジェクトの特徴量と照合する。そして、位置算出部１０２は、撮像画像内の実オブジェクトの特徴量と最も適合する特徴量と関連付けられているマーカを識別するための情報（マーカコード）、撮像画像におけるマーカの位置および姿勢を認識する。
【００２８】
ここで、位置算出部１０２により、実オブジェクトの特徴量データと実オブジェクトを識別するための情報とが関連付けられてなる特徴量辞書が使用されるが、特徴量辞書は、位置算出部１０２が読み出し可能であれば記憶される位置は限定されない。実オブジェクトの特徴量データは、例えば、ＳＩＦＴ法またはＲａｎｄｏｍ  Ｆｅｒｎｓ法に従って実オブジェクトの学習用画像から決定された特徴量の集合であってもよい。
【００２９】
位置算出部１０２は、撮像画像中からあらかじめ決められた基準となるオブジェクト（以降では「基準オブジェクト」と呼ぶ）を特定し、特定した基準オブジェクトに対するコマ２０の相対的な位置（以降では「相対位置」と呼ぶ）を特定する。具体的な一例として、位置算出部１０２は、各コマ２０の検出結果に基づき、各コマ２０のうちのいずれかを基準オブジェクトとして、他のコマ２０の相対位置を特定してもよい。例えば、位置算出部１０２は、コマ２０ａ及びコマ２０ｂのうち、コマ２０ａを基準オブジェクトとすることで、コマ２０ａに対するコマ２０ｂの相対位置を特定することが可能である。
【００３０】
また、ステージ９０にマーカを付しておいてもよい。ステージ９０にマーカを付した場合には、位置算出部１０２は、撮像画像中に撮像されたステージ９０のマーカを検出することで、検出したマーカの位置に基づき、ステージ９０の位置を特定してもよい。このように、ステージ９０の位置を特定することで、位置算出部１０２は、例えば、ステージ９０を基準オブジェクトとして、コマ２０ａ及び２０ｂの位置を特定してもよい。
【００３１】
位置算出部１０２は、撮像部１０１から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を示す位置情報とをコンテンツ制御部１０３に逐次出力する。これにより、コンテンツ制御部１０３は、基準オブジェクトの位置情報を基準として、各コマ２０の間の相対的な位置関係を認識することが可能となる。
【００３２】
また、位置算出部１０２は、撮像画像中のサイズを実空間上におけるサイズに変換するための尺度を算出して、コンテンツ制御部１０３に通知してもよい。具体的な一例として、位置算出部１０２は、実空間上においてサイズが既知のオブジェクトを撮像画像中から特定し、特定したオブジェクトの撮像画像中におけるサイズを測定する。実空間上においてサイズが既知のオブジェクトとしては、例えば、コマ２０やステージ９０に付されたマーカ等が挙げられる。
【００３３】
位置算出部１０２は、サイズの測定結果に基づき、撮像画像中のサイズを実空間上におけるサイズに変換するための尺度を算出すればよい。このように、位置算出部１０２が尺度を算出してコンテンツ制御部１０３に通知することで、コンテンツ制御部１０３は、撮像画像中の各コマ２０間の距離と通知された尺度とに基づき、各コマ２０間の実空間上における距離を算出することが可能となる。
【００３４】
運動状態取得部１０６は、撮像部１０１から撮像画像を逐次取得する。運動状態取得部１０６は、取得した撮像画像から検出対象の実オブジェクトを検出する。なお、運動状態取得部１０６は、位置算出部１０２と同様の方法を用いて、撮像画像中から実オブジェクトを検出してもよいし、位置算出部１０２から検出結果を取得してもよい。
【００３５】
また、運動状態取得部１０６は、撮像部１０１から取得した撮像画像に画像解析を施すことで、コマ２０の運動状態を算出する。具体的な一例として、運動状態取得部１０６は、運動状態として、運動量、運動量の変化量、または運動方向の変化量を算出してもよい。
【００３６】
例えば、運動状態取得部１０６は、時系列に沿った複数枚（複数フレーム）の撮像画像に基づき、コマ２０の回転速度を算出してもよい。具体的には、コマ２０の回転方向の一部に回転速度を計算するためのマーカをあらかじめ付しておく。運動状態取得部１０６は、時系列に沿った複数枚の撮像画像に画像解析を施すことで、各撮像画像から回転速度を計算するためのマーカを検出する。運動状態取得部１０６は、複数の画像中から検出されたマーカの数をカウントし、撮像画像の枚数とカウントされたマーカの数との比に基づき、コマ２０の回転速度を算出すればよい。なお、上記は一例であり、撮像部１０１から取得した撮像画像に基づきコマ２０の回転速度が算出できれば、その方法は限定されない。
【００３７】
また、運動状態取得部１０６は、時系列に沿った複数枚（複数フレーム）の撮像画像に基づき、コマ２０の併進速度を算出してもよい。具体的には、運動状態取得部１０６は、時系列に沿った複数枚の撮像画像に画像解析を施して、撮像画像中におけるコマ２０の位置の変化量を測定する。運動状態取得部１０６は、測定したコマ２０の位置の変化量に基づき、コマ２０の併進速度を算出すればよい。このとき算出される併進速度は、必ずしも実空間上における絶対値としての速度である必要はない。例えば、運動状態取得部１０６は、撮像画像中のコマ２０のサイズを基準とした相対的な併進速度を算出してもよい。なお、運動状態取得部１０６は、コマ２０のように実空間上におけるサイズが既知のオブジェクトの撮像画像中におけるサイズに基づき、コマ２０の実空間上における絶対値として速度を算出してもよい。また、上記は一例であり、撮像部１０１から取得した撮像画像に基づきコマ２０の併進速度が算出できれば、その方法は限定されない。
【００３８】
また、運動状態取得部１０６は、時系列に沿った複数枚（複数フレーム）の撮像画像に基づき、コマ２０の運動方向を算出してよい。具体的には、運動状態取得部１０６は、時系列に沿った複数枚の撮像画像に画像解析を施して、撮像画像中におけるコマ２０の位置が変化する方向を特定すればよい。
【００３９】
運動状態取得部１０６は、所定のタイミングごとに（リアルタイムで）各コマ２０の運動状態を算出し、算出した各コマ２０の運動状態（例えば、回転速度、併進速度、運動方向）を示す情報をコンテンツ制御部１０３に通知する。
【００４０】
なお、上記に示した運動状態は一例であり、実オブジェクトの運動状態、即ち、運動量、運動量の変化量、または運動方向の変化量を算出できれば、その種別や算出方法は限定されない。また、図３に示す例では、位置算出部１０２と運動状態取得部１０６を別々の構成として説明しているが、位置算出部１０２及び運動状態取得部１０６を一つの構成としてまとめてもよい。
【００４１】
コンテンツ制御部１０３は、位置算出部１０２及び運動状態取得部１０６から通知される各コマ２０の位置及び運動状態に基づき、各コマ２０に関連付ける仮想オブジェクトを生成する。以下に、コンテンツ制御部１０３の詳細について説明する。
【００４２】
コンテンツ制御部１０３は、位置算出部１０２から、撮像部１０１で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を示す位置情報とを逐次取得する。具体的な一例として、コンテンツ制御部１０３は、各コマ２０のうちいずれかを基準オブジェクトとして、基準オブジェクトであるコマ２０を基準とした他のコマ２０の相対位置を示す位置情報を位置算出部１０２から取得する。また、他の一例として、コンテンツ制御部１０３は、ステージ９０のようにコマ２０以外の実オブジェクトに付されたマーカを基準オブジェクトとして、基準オブジェクトであるマーカを基準とした各コマ２０の相対位置を示す位置情報を位置算出部１０２から取得してもよい。
【００４３】
コンテンツ制御部１０３は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ２０位置や、各コマ２０間の相対的な位置関係（即ち、方向や距離）を特定する。
【００４４】
なお、コンテンツ制御部１０３は、位置算出部１０２から、撮像画像中のサイズを実空間上におけるサイズに変換するための尺度を示す情報を取得してもよい。この場合には、コンテンツ制御部１０３は、各コマ２０の相対位置を示す位置情報に基づき、撮像画像中における各コマ２０間の距離を取得した尺度に基づき、実空間上における距離に換算してもよい。
【００４５】
また、コンテンツ制御部１０３は、運動状態取得部１０６から、各コマ２０の運動状態（例えば、回転速度、併進速度、及び動作方向）を示す情報を取得する。
【００４６】
コンテンツ制御部１０３は、各コマ２０に対応する仮想オブジェクトを生成し、生成した各仮想オブジェクトの表示位置及び表示態様を、各コマ２０の位置や運動状態に基づき特定する。以下に、コンテンツ制御部１０３が、仮想オブジェクトの表示位置及び表示態様を特定する処理の一例について図２を参照しながら説明する。
【００４７】
例えば、コンテンツ制御部１０３は、撮像画像中におけるコマ２０ａ及びコマ２０ｂの位置に基づき、コマ２０ａ及びコマ２０ｂのそれぞれに対応する仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示位置を決定する。
【００４８】
また、コンテンツ制御部１０３は、コマ２０ａ及びコマ２０ｂの相対位置を示す位置情報に基づき、コマ２０ａに対するコマ２０ｂの方向を算出する。コンテンツ制御部１０３は、仮想オブジェクトｖ２２ａで示されたキャラクターが算出した方向、即ち、コマ２０ｂの方向を向くように、仮想オブジェクトｖ２２ａの向きを調整する。なお、仮想オブジェクトｖ２２ｂについても同様である。なお、上記は一例であり、仮想オブジェクトｖ２２ａの向きを特定するロジックは上記に限定されない。例えば、コマ２０ａ以外のコマ２０が２以上存在する場合には、コンテンツ制御部１０３は、コマ２０ａに最も近いコマ２０の方向を向くように、仮想オブジェクトｖ２２ａの向きを調整してもよい。
【００４９】
また、図２に示す例では、各コマ２０の回転速度をライフポイントに見立ててゲームを進行している。そのため、コンテンツ制御部１０３は、コマ２０ａの回転速度を基にライフポイントを計算し、計算結果に基づいて、ライフポイントを可視化した仮想オブジェクトｖ２４ａを生成する。同様に、コンテンツ制御部１０３は、コマ２０ｂの回転速度を基に、仮想オブジェクトｖ２４ｂを生成する。なお、コンテンツ制御部１０３は、生成した仮想オブジェクトｖ２４ａ及びｖ２４ｂの位置を、撮像画像中の所定位置に決定してもよいし、仮想オブジェクトｖ２２ａ及びｖ２２ｂの位置に基づき決定してもよい。
【００５０】
また、コンテンツ制御部１０３は、算出したライフポイントに応じて、仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示態様を変更してもよい。例えば、コンテンツ制御部１０３は、コマ２０ａの回転速度に基づき算出したライフポイントの減少に応じて、仮想オブジェクトｖ２２ａとして示されたキャラクターが疲労していくように、仮想オブジェクトｖ２２ａの表示を制御してもよい。
【００５１】
また、コンテンツ制御部１０３は、コマ２０ａとコマ２０ｂとの間の相対的な位置関係に応じて仮想オブジェクトの表示態様を変更してもよい。具体的な一例として、コンテンツ制御部１０３は、コマ２０ａとコマ２０ｂとの間の距離に応じて、仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示態様を変更してもよい。例えば、コマ２０ａとコマ２０ｂとの間の距離が閾値以下となった場合には、コンテンツ制御部１０３は、仮想オブジェクトｖ２２ａ及びｖ２２ｂで示されたキャラクターが身構えるように、仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示態様を変更してもよい。
【００５２】
また、コンテンツ制御部１０３は、各コマ２０の位置及び運動状態に基づき各コマ２０の動作を推測し、推測結果に基づいて仮想オブジェクトの表示を制御してもよい。例えば、図４は、コンテンツ制御部１０３による運動状態の推測に係る処理について説明するための図であり、コマ２０ａ及び２０ｂそれぞれが動作する軌道を推測し、推測結果に応じて仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示態様を変更する例を示している。
【００５３】
例えば、コンテンツ制御部１０３は、あるタイミングまでのコマ２０ａの位置、併進速度、及び運動方向を示す情報の変化に基づき、当該タイミングまでにコマ２０ａが動作した軌道ｒ２１ａを算出する。コンテンツ制御部１０３は、算出した軌道ｒ２１ａと当該タイミングにおけるコマ２０ａの位置、併進速度、及び運動方向とに基づき、以降のコマ２０ａの軌道ｒ２３ａを算出するとよい。具体的な一例として、コンテンツ制御部１０３は、コマ２０ａの位置、併進速度、及び運動方向に基づきコマ２０ａが円運動や直進する軌道を推測し、推測結果に基づき以降の軌道（即ち、軌道ｒ２３ａ）を算出すればよい。同様に、コンテンツ制御部１０３は、コマ２０ｂの位置、併進速度、及び運動方向を示す情報の変化に基づき、コマ２０ｂが動作した軌道ｒ２１ｂを算出する。コンテンツ制御部１０３は、算出した軌道ｒ２１ｂと当該タイミングにおけるコマ２０ｂの位置、併進速度、及び運動方向とに基づき、以降のコマ２０ｂの軌道ｒ２３ｂを算出するとよい。
【００５４】
コンテンツ制御部１０３は、算出した軌道ｒ２３ａ及びｒ２３ｂに基づき、コマ２０ａ及び２０ｂが衝突するか否かを推測する。コンテンツ制御部１０３は、コマ２０ａ及び２０ｂの衝突が推測された場合には、仮想オブジェクトｖ２２ａ及びｖ２２ｂで示されたキャラクターが攻撃の姿勢を取るように仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示態様を変更してもよい。また、コンテンツ制御部１０３は、結果としてコマ２０ａ及び２０ｂが衝突したか否かに応じて、仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示態様を変更してもよい。例えば、結果としてコマ２０ａ及び２０ｂが衝突しなかった場合に、コンテンツ制御部１０３は、仮想オブジェクトｖ２２ａ及びｖ２２ｂで示されたキャラクターが攻撃に失敗したことがわかるように仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示態様を変更してもよい。
【００５５】
以上のように、コンテンツ制御部１０３は、各コマ２０の位置及び運動状態に基づき、各コマ２０の未来の動きを推測し、推測結果に基づき仮想オブジェクトの表示を制御してもよい。
【００５６】
コンテンツ制御部１０３は、位置算出部１０２から取得した撮像画像と、生成した仮想オブジェクトの制御情報とを表示制御部１０４に出力する。なお、制御情報には、各仮想オブジェクトを撮像画像中に画像として表示させるため表示情報や、仮想オブジェクトを表示させる位置を示す情報が含まれる。
【００５７】
表示制御部１０４は、コンテンツ制御部１０３から、撮像画像と仮想オブジェクトの制御情報とを取得する。表示制御部１０４は、取得した制御情報に基づき撮像画像中に仮想オブジェクトを重畳表示させる。表示制御部１０４は、仮想オブジェクトが重畳表示された撮像画像を表示部１０９に表示させる。表示部１０９は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＯＬＥＤ（Ｏｒｇａｎｉｃ  ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）などにより構成される表示モジュールである。
【００５８】
操作部１０５は、情報処理装置１０を操作するための入力モジュールであり、タッチパネル、ボタンなどにより構成される。操作部１０５は、ユーザからの入力操作の内容を示す制御情報をコンテンツ制御部１０３に通知する。コンテンツ制御部１０３は、操作部１０５から通知される制御情報に基づき、ユーザからの入力操作の内容を認識する。これにより、コンテンツ制御部１０３は、例えば、仮想オブジェクトの生成及び表示の制御に係る処理の開始や終了を、操作部１０５からの制御情報に基づき切り替えてもよい。このような構成により、情報処理装置１０は、例えば、ゲームの開始及び終了を、操作部１０５に対する入力操作により制御することが可能となる。
【００５９】
なお、コンテンツ制御部１０３は、情報処理装置１０を操作するユーザの種別に応じて、撮像画像に重畳表示させる仮想コンテンツを適宜切り替えてもよい。具体的な一例として、コンテンツ制御部１０３は、情報処理装置１０を操作するユーザが、ゲームの参加者か否かに応じて撮像画像に重畳表示させる仮想コンテンツを適宜切り替えてもよい。この場合には、コンテンツ制御部１０３は、ユーザがゲームの参加者の場合には、そのユーザに対応する実オブジェクについては詳細な情報（例えば、運動状態を示す情報）を表示させ、他の実オブジェクトについては詳細な情報を表示させなくてもよい。また、コンテンツ制御部１０３は、ユーザがゲームの参加者以外の場合には、全ての実オブジェクトについて詳細な情報を表示させてもよい。なお、情報処理装置１０を操作するユーザがゲームの参加者か否かについては、例えば、ゲームの開始前に操作部１０５を介して指定できるようにしてもよい。
【００６０】
また、上記では、コマ回しのゲームを例に、コマの回転速度に基づき仮想オブジェクトの表示を制御する例について説明したが、実オブジェクトの運動状態に基づき仮想オブジェクトの表示を制御できれば、上記の例には限定されない。例えば、図５は、情報処理装置１０の画面の一例を示した図であり、ヨーヨー２０を実オブジェクトとした場合の一例を示している。
【００６１】
図５に示すように、本実施形態に係る情報処理装置１０をヨーヨーに適用した場合には、例えば、情報処理装置１０は、ヨーヨーの技を、実オブジェクトであるヨーヨー２０の動きのパターン、即ち、ヨーヨー２０の位置及び動作方向の変化として認識してもよい。情報処理装置１０は、ヨーヨーの技に応じて、ヨーヨー２０の軌跡を表示部１０９に仮想オブジェクトｖ２５として表示させてもよい。また、情報処理装置１０は、運動状態としてヨーヨー２０の位置や動作方向の変化を取得し、取得したヨーヨー２０の位置や動作方向の変化に応じて、ヨーヨー２０の動きを強調するような仮想オブジェクトｖ２７を重畳表示させてもよい。また、情報処理装置１０は、ヨーヨー２０の位置や動作方向の変化に基づき、あらかじめ決められたヨーヨーの技の実行に成功したか否かを判定し、判定結果に応じてその技が成功したか否かを識別可能に仮想オブジェクトｖ２９を表示させてもよい。
【００６２】
［１．３．処理］
本実施形態に係る情報処理装置の一連の動作について図６を参照しながら、図１及び図２に示したコマ回しのゲームを例に説明する。図６は、本実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
【００６３】
（ステップＳ１０３）
各ユーザが、実オブジェクトである各自のコマ２０をステージ９０上で回すと、実オブジェクトである各コマ２０が動作を開始する。
【００６４】
（ステップＳ１０５）
次いで、各ユーザが、撮像部１０１及び表示部１０９を備えた情報処理装置１０を介して各コマ２０及びステージ９０の観測を開始すると、位置算出部１０２は、撮像部１０１から撮像画像を取得する。位置算出部１０２は、撮像部１０１から取得した撮像画像からコマ２０に付されたマーカを検出することで、コマ２０の位置及び姿勢を認識する。
【００６５】
位置算出部１０２は、撮像画像中からあらかじめ決められた基準オブジェクトを特定し、特定した基準オブジェクトに対するコマ２０の相対位置を特定する。例えば、位置算出部１０２は、撮像画像中に撮像されたステージ９０のマーカを検出することで、検出したマーカの位置に基づき、ステージ９０の位置を特定する。位置算出部１０２は、特定したステージ９０を基準オブジェクトとして、各コマ２０の位置を特定する。
【００６６】
位置算出部１０２は、撮像部１０１から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を示す位置情報とをコンテンツ制御部１０３に逐次出力する。
【００６７】
（ステップＳ１０７）
コンテンツ制御部１０３は、位置算出部１０２から、撮像部１０１で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を示す位置情報とを取得する。
【００６８】
コンテンツ制御部１０３は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ２０位置や、各コマ２０間の相対的な位置関係（即ち、方向や距離）を特定する。
【００６９】
コンテンツ制御部１０３は、位置算出部１０２から取得した撮像画像と、生成した仮想オブジェクトの制御情報とを表示制御部１０４に出力する。
【００７０】
表示制御部１０４は、コンテンツ制御部１０３から、撮像画像と仮想オブジェクトの制御情報とを取得する。表示制御部１０４は、取得した制御情報に基づき撮像画像中に仮想オブジェクトを重畳表示させる。これにより、情報処理装置１０の表示部１０９に、実オブジェクトである各コマ２０と、各コマ２０に対応する仮想オブジェクトとが表示される。
【００７１】
（ステップＳ１０９）
以上のようにして、全ユーザの情報処理装置１０が、各コマ２０及びステージ９０のマーカの認識を行う（ステップＳ１０９、Ｎ）。
【００７２】
（ステップＳ１１１）
全ユーザの情報処理装置１０が各コマ２０及びステージ９０のマーカの認識を完了したら（ステップＳ１０９、Ｙ）、情報処理装置１０は、各コマ２０の運動状態の取得を開始する。
【００７３】
具体的には、撮像部１０１は、所定のフレーム毎に画像を撮像する。撮像部１０１は、撮像画像を位置算出部１０２及び運動状態取得部１０６に逐次出力する。
【００７４】
（ステップＳ１１３）
位置算出部１０２は、撮像部１０１から取得した撮像画像に基づき、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を逐次特定する。位置算出部１０２は、撮像画像と、特定した基準オブジェクトの位置情報、及び基準オブジェクトに対する各コマ２０の相対位置を示す位置情報をコンテンツ制御部１０３に逐次出力する。
【００７５】
運動状態取得部１０６は、撮像部１０１から撮像画像を逐次取得する。運動状態取得部１０６は、取得した撮像画像から検出対象の実オブジェクトを検出する。なお、運動状態取得部１０６は、位置算出部１０２と同様の方法を用いて、撮像画像中から実オブジェクトを検出してもよいし、位置算出部１０２から検出結果を取得してもよい。
【００７６】
また、運動状態取得部１０６は、撮像部１０１から取得した撮像画像に画像解析を施すことで、コマ２０の運動状態を算出する。
【００７７】
例えば、運動状態取得部１０６は、時系列に沿った複数枚（複数フレーム）の撮像画像に基づき、コマ２０の回転速度を算出してもよい。具体的には、運動状態取得部１０６は、時系列に沿った複数枚の撮像画像に画像解析を施すことで、各撮像画像から回転速度を計算するためのマーカを検出する。運動状態取得部１０６は、複数の画像中から検出されたマーカの数をカウントし、撮像画像の枚数とカウントされたマーカの数との比に基づき、コマ２０の回転速度を算出すればよい。
【００７８】
また、運動状態取得部１０６は、時系列に沿った複数枚（複数フレーム）の撮像画像に基づき、コマ２０の併進速度を算出してもよい。具体的には、運動状態取得部１０６は、時系列に沿った複数枚の撮像画像に画像解析を施して、撮像画像中におけるコマ２０の位置の変化量を測定する。運動状態取得部１０６は、測定したコマ２０の位置の変化量に基づき、コマ２０の併進速度を算出すればよい。
【００７９】
また、運動状態取得部１０６は、時系列に沿った複数枚（複数フレーム）の撮像画像に基づき、コマ２０の運動方向を算出してよい。具体的には、運動状態取得部１０６は、時系列に沿った複数枚の撮像画像に画像解析を施して、撮像画像中におけるコマ２０の位置が変化する方向を特定すればよい。
【００８０】
運動状態取得部１０６は、所定のタイミングごとに（リアルタイムで）各コマ２０の運動状態を算出し、算出した各コマ２０の運動状態（例えば、回転速度、併進速度、運動方向）を示す情報をコンテンツ制御部１０３に通知する。
【００８１】
（ステップＳ１１５）
コンテンツ制御部１０３は、位置算出部１０２から、撮像部１０１で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を示す位置情報とを逐次取得する。
【００８２】
コンテンツ制御部１０３は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ２０の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ２０位置や、各コマ２０間の相対的な位置関係（即ち、方向や距離）を特定する。
【００８３】
また、コンテンツ制御部１０３は、運動状態取得部１０６から、各コマ２０の運動状態（例えば、回転速度、併進速度、及び動作方向）を取得する。
【００８４】
コンテンツ制御部１０３は、各コマ２０ａの位置及び運動状態に基づき各コマ２０の動作を推測する。例えば、コンテンツ制御部１０３は、あるタイミングまでのコマ２０ａの位置、併進速度、及び運動方向を示す情報の変化に基づき、当該タイミングまでにコマ２０ａが動作した軌道ｒ２１ａを算出する。コンテンツ制御部１０３は、算出した軌道ｒ２１ａと当該タイミングにおけるコマ２０ａの位置、併進速度、及び運動方向とに基づき、以降のコマ２０ａの軌道ｒ２３ａを算出することができる。
【００８５】
（ステップＳ１１７）
コンテンツ制御部１０３は、各コマ２０に対応する仮想オブジェクトを生成し、生成した各仮想オブジェクトの表示位置及び表示態様を、各コマ２０の位置や運動状態に基づき特定する。ここで図２を参照する。
【００８６】
例えば、コンテンツ制御部１０３は、撮像画像中におけるコマ２０ａ及びコマ２０ｂの位置に基づき、コマ２０ａ及びコマ２０ｂのそれぞれに対応する仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示位置を決定する。
【００８７】
また、コンテンツ制御部１０３は、コマ２０ａ及びコマ２０ｂの相対位置を示す位置情報に基づき、コマ２０ａに対するコマ２０ｂの方向を算出し、仮想オブジェクトｖ２２ａ及びｖ２２ｂとして表示されたキャラクターの向きを調整してもよい。
【００８８】
コンテンツ制御部１０３は、コマ２０ａの回転速度を基にライフポイントを計算し、計算結果に基づいて、ライフポイントを可視化した仮想オブジェクトｖ２４ａ及びｖ２４ｂを生成してもよい。また、コンテンツ制御部１０３は、算出したライフポイントに応じて、仮想オブジェクトｖ２４ａ及びｖ２４ｂの表示態様を変更してもよい。
【００８９】
また、コンテンツ制御部１０３は、各コマ２０の動作の推測結果に基づき、仮想オブジェクトの表示を制御してもよい。例えば、コンテンツ制御部１０３は、コマ２０ａ及び２０ｂの衝突が推測された場合には、仮想オブジェクトｖ２２ａ及びｖ２２ｂで示されたキャラクターが攻撃の姿勢を取るように仮想オブジェクトｖ２２ａ及びｖ２２ｂの表示態様を変更してもよい。
【００９０】
（ステップＳ１１９）
情報処理装置１０は、ステップＳ１１３〜Ｓ１１７に示した一連の処理を、あらかじめ決められたゲームの終了条件が満たされるまで継続する（ステップＳ１１９、Ｎ）。
【００９１】
（ステップＳ１２１）
ゲームの終了条件が満たされた場合には（ステップＳ１１９、Ｙ）、情報処理装置１０は、各コマ２０の運動状態の取得を停止して一連の処理を終了する。
【００９２】
このように、本実施形態に係る情報処理装置１０は、撮像部１０１で撮像された撮像画像に基づき実オブジェクトであるコマ２０の運動状態を算出し、算出した運動状態に応じて仮想オブジェクトの表示を制御する。このような構成により、本実施形態に係る情報処理装置１０は、実オブジェクトの運動状態を直感的に把握できるように仮想オブジェクトを表示させることが可能となる。
【００９３】
［１．４．変形例］
次に、第１の実施形態の変形例に係る情報処理装置１０について説明する。上述した実施形態に係る情報処理装置１０では、撮像部１０１で撮像された撮像画像に基づき実オブジェクトの運動状態を算出する運動状態取得部１０６を備え、運動状態取得部１０６が算出した運動状態に応じて仮想オブジェクトの表示を制御していた。これに対して、変形例に係る情報処理装置１２では、センサを用いて検出対象である実オブジェクト２０の運動状態を取得し、センサから取得した運動状態に応じて仮想オブジェクトの表示を制御する。以下に、図７及び図８を参照しながら、変形例に係る情報処理装置１２の構成について、上述した実施形態とは異なる部分に着目して説明し、上述した実施形態と同様に動作する構成については詳細な説明は省略する。
【００９４】
まず、図７を参照する。図７は、変形例に係る情報処理装置１２の構成を示したブロック図である。図７に示すように、情報処理装置１２は、撮像画像に基づき運動状態を算出する運動状態取得部１０６に替えて、運動状態取得部１０８を備える点で、上述した情報処理装置１０と異なる。運動状態取得部１０８は、通信部１０７を介して後述するセンサユニット２２から実オブジェクト２０の運動状態を取得する。以降では、まずセンサユニット２２の構成を説明し、その後に運動状態取得部１０８の動作について説明することとする。
【００９５】
ここで、図８を参照する。図８は、実オブジェクト２０の運動状態を取得するセンサユニット２２の構成を示したブロック図である。センサユニット２２は、センサ２０１と、センサ情報解析部２０３と、通信部２０５とを含む。
【００９６】
センサ２０１は、実オブジェクト２０の運動状態を検知する。センサ２０１としては、検知対象の運動状態や、検知方法に応じて適宜選択し得る。センサ２０１の具体的な一例としては、加速度センサ、ジャイロセンサ（角速度センサ）、光センサ、磁気センサ等が挙げられる。
【００９７】
例えば、実オブジェクト２０の回転速度を検知する場合には、センサ２０１としてジャイロセンサを用いてもよい。また、実オブジェクト２０の併進速度や運動方向を検知する場合には、センサ２０１として加速度センサを用いてもよい。このように、ジャイロセンサや加速度センサを用いて実オブジェクト２０の回転速度、併進速度、または運動方向を検知する場合には、センサユニット２２を検知対象の実オブジェクト２０に設ければよい。
【００９８】
センサ情報解析部２０３は、センサ２０１から検出結果を取得し、取得した検出結果を解析することで、実オブジェクト２０の運動状態を算出する。センサ情報解析部２０３は、算出した実オブジェクト２０の運動状態を、その実オブジェクト２０を識別する識別情報とあわせて通信部２０５に出力する。
【００９９】
通信部２０５は、センサ情報解析部２０３から実オブジェクト２０の識別情報と運動状態を示す情報とを取得し、各情報処理装置１２に送信するための通信モジュールである。通信部２０５は、各情報処理装置１２との間であらかじめ通信を確立しておくことで、センサ情報解析部２０３から取得した情報を、通信が確立された各情報処理装置１２に逐次送信する。
【０１００】
ここで、再び図７を参照する。通信部１０７は、各センサユニット２２の通信部２０５と情報の送受信を行うための通信モジュールである。通信部２０５から送信された情報は、通信部１０７を介して運動状態取得部１０８に通知される。
【０１０１】
運動状態取得部１０８は、各センサユニット２２から各実オブジェクト２０の運動状態を示す情報を取得する。このとき、運動状態取得部１０８は、各センサユニット２２から運動状態を示す情報に関連付けて通知される識別情報に基づき、その運動状態の取得元である実オブジェクトを認識する。運動状態取得部１０８は、通信部１０７を介してセンサユニット２２から取得した運動状態を示す情報を、その運動状態の取得元である実オブジェクト２０の識別情報と関連付けてコンテンツ制御部１０３に出力する。
【０１０２】
以上のようにして、コンテンツ制御部１０３は、各実オブジェクト２０の運動状態を認識することが可能となる。なお、以降の処理については、前述の実施形態に係る情報処理装置１０と同様のため、詳細な説明は省略する。
【０１０３】
なお、上記に挙げたセンサ２０１は一例であり、センサ情報解析部２０３が、センサ２０１の検出結果に基づき実オブジェクト２０の運動状態を取得することが可能であれば、センサ２０１の種別は上記の例に限定されない。
【０１０４】
また、各実オブジェクト２０の運動状態が個々に検出できれば、センサユニット２２は、センサ２０１の種別に応じて、実オブジェクト２０に設けてもよいし、実オブジェクト２０とは異なる位置（例えば、ステージ９０）に設けてもよい。例えば、センサ２０１として、光センサや磁気センサを用いて実オブジェクト２０の併進速度や運動方向を検知してもよい。この場合には、例えば、センサユニット２２をステージ９０に設けてもよい。
【０１０５】
以上のように、変形例に係る情報処理装置１２は、各種センサを用いて実オブジェクト２０の運動状態を認識する。そのため、情報処理装置１２は、例えば、画像処理のみでは検知することが困難なより細かい運動状態を検知し、検知結果に応じて仮想オブジェクトを表示させることが可能となる。
【０１０６】
［１．５．まとめ］
本実施形態に係る情報処理装置１０は、検出対象である実オブジェクト（例えば、コマ２０）の運動状態を取得し、取得した運動状態に応じて仮想オブジェクトの表示を制御する。このような構成により、ユーザは、表示された仮想オブジェクトの表示態様に基づき、実オブジェクトの運動状態を直感的に把握することが可能となる。
【０１０７】
＜２．第２の実施形態＞
［２．１．概要］
次に、本開示の第２の実施形態に係る情報処理装置３０について説明する。第１の実施形態では、物理法則に従って変化する実オブジェクトの運動状態を可視化する例について説明した。第２の実施形態では、実オブジェクト２０の運動状態を制御するために、直感的な操作感を提供可能な情報処理装置３０について説明する。まず、本実施形態に係る情報処理装置３０について説明する前に、本実施形態における課題について整理する。
【０１０８】
近年では、多様な体感型ゲームが提案されている。このような体感型ゲームとして、例えば、操作端末の位置や姿勢を利用して、操作対象となる実オブジェクトの動きを直接的に操作するものが知られている。
【０１０９】
一方で、コマ回しのように、コマを回した後は空気抵抗や摩擦などの物理法則に従って進行していくゲームの場合には、実オブジェクトの動きを直接的に操作する操作体系は、本来のゲームの趣旨にそぐわない場合がある。
【０１１０】
そこで、第２の実施形態では、コマ回しのように物理法則に従って進行していくゲームにおいて、より直感的な操作感を提供可能な情報処理装置３０を提供することを目的とする。
【０１１１】
ここで、図９及び図１０を参照して、本実施形態に係る情報処理装置３０の概要について説明する。まず、図９を参照する。図９は、本開示の第２の実施形態に係る情報処理装置３０の概要を説明するための図であり、情報処理装置３０をコマ回しのゲームに適用した場合の一例を示している。
【０１１２】
図９に示すゲームの例では、複数のユーザそれぞれが、実オブジェクトであるコマ４０を実オブジェクトであるステージ９０上で回し、どのユーザのコマ４０がステージ９０上からはじき出されずにより長く回転するかを競う。
【０１１３】
なお、以降では、コマ４０ａ及び情報処理装置３０ａは、ユーザＵａのコマ４０及び情報処理装置３０を示している。同様に、コマ４０ｂ及び情報処理装置３０ｂは、ユーザＵｂのコマ４０及び情報処理装置３０を示している。また、コマ４０ａ及び４０ｂを特に区別しない場合は、単に「コマ４０」と記載する。同様に、情報処理装置３０ａ及び３０ｂを特に区別しない場合は、単に「情報処理装置３０」と記載する。
【０１１４】
コマ４０内には、コマ４０の動作（例えば回転速度）を変化させる駆動部４０９が備えられている。情報処理装置３０は、あらかじめ関連付けられたコマ４０と自身との間の相対的な位置関係に応じて、そのコマ４０の駆動部４０９を制御可能に構成されている。
【０１１５】
各ユーザは、ステージ９０上で自身のコマ４０を回すと、撮像部３０１及び表示部３０９を備えた情報処理装置３０を介してコマ４０の動作を観測しながら、情報処理装置３０を操作することでコマ４０の動きを制御する。
【０１１６】
このとき、情報処理装置３０は、制御対象となるコマ４０と自身との間の相対的な位置関係に応じて、コマ４０の駆動部４０９を制御する。具体的な一例として、ユーザは自身のコマ４０が画面の中心に表示されるように自身の情報処理装置３０を操作する。この場合には、情報処理装置３０は、例えば、撮像部３０１の光軸と制御対象となるコマ４０との間の距離Ｌ１が大きくなるほど、制御対象となるコマ４０の空気抵抗や摩擦係数が高くなり、長く回転を続けることが困難となるように駆動部４０９を制御する。特に、情報処理装置３０は、コマ４０が画面外に出た場合には、画面内にとらえられている場合よりも空気抵抗や摩擦係数が高くなるようにコマ４０の駆動部４０９を制御してもよい。これにより、情報処理装置３０は、ユーザが自身の操作する情報処理装置３０の画面の中央に自身のコマ４０をとらえ続けることで、ゲームを有利に進められるように演出することが可能となる。
【０１１７】
また、情報処理装置３０は、ステージ９０と自身との間の相対的な位置関係に応じて、コマ４０の駆動部４０９を制御してもよい。具体的な一例として、情報処理装置３０は、ステージ９０に対する撮像部３０１の光軸の仰角θ１に応じて、コマ４０の重心の位置が上下に変化するように駆動部４０９を制御してもよい。具体的な一例として、情報処理装置３０は、例えば、仰角θ１が小さくなるほど、コマ４０の重心が低くなるように駆動部４０９を制御してもよい。一方で、この場合には、仰角θ１が小さくなるほどコマ４０を認識するためのマーカを見失いやすいように、マーカの位置を調整しておくとよい。これにより、仰角θ１が小さくなるほど重心が低くなりゲームを有利に進められるようになる一方で、マーカを画面内にとらえにくくなり、画面からマーカが外れた場合にはユーザにとって不利に働くようにゲームを演出することが可能となる。
【０１１８】
また、情報処理装置３０は、タッチパネルのような操作部３０５を備え、操作部３０５から入力されたユーザ操作に基づき、コマ４０の運動状態を変化させてもよい。例えば、ユーザが情報処理装置３０の表示部３０９に表示された自身のコマ４０をタップした場合に、情報処理装置３０は、タップされたコマ４０の回転速度を変化させてもよい。
【０１１９】
また、情報処理装置３０は、第１の実施形態と同様に、コマ４０の運動状態を取得し、取得した運動状態を表示部３０９に可視化して表示させてもよい。なお、情報処理装置３０が、制御対象となるコマ４０を認識して動作を制御する仕組みについては、情報処理装置３０の構成とあわせて別途後述する。
【０１２０】
ここで、図１０を参照する。図１０は、本実施形態に係る情報処理装置３０の画面の一例を示した図である。図１０に示す例では、情報処理装置３０は、ゲームのルールや進行状況を説明するためのガイダンスとしての仮想オブジェクトｖ４５及びｖ４７を撮像部３０１で撮像された撮像画像に重畳表示させる。また、情報処理装置３０は、ユーザの操作を助けるために、ガイドとしての仮想オブジェクトｖ４３を撮像画像に重畳表示させてもよい。
【０１２１】
具体的な一例として、図１０に示す例では、ユーザが自身のコマ４０を自身の情報処理装置３０の表示部３０９の中心にとらえ続けることで、情報処理装置３０は、制御対象であるコマ４０がより長く回転し続けるようにコマ４０の駆動部４０９を制御する。この場合には、情報処理装置３０は、表示部３０９に表示された画面上に、ルールを説明するためのガイダンスｖ４５として「コマを画面の中心にとらえてください」というメッセージを表示させている。このとき、情報処理装置３０は、ユーザによるコマ４０の操作を助けるためのガイドｖ４３として、画面の中心を示すガイドとして仮想オブジェクトｖ４３を表示させている。
【０１２２】
また、情報処理装置３０は、制御対象であるコマ４０の状態に応じて、ガイダンスｖ４７を表示させてもよい。具体的な一例として、情報処理装置３０は、画面の中心（換言すると、撮像部３０１の光軸）からコマ４０が所定の距離以上離れた場合（または、画面内にとらえられなくなった場合）に、状況を通知するためのガイダンスとして仮想オブジェクトｖ４７を表示させてもよい。例えば、図１０の例では、情報処理装置３０は、仮想オブジェクトｖ４７として、「ＷＡＲＮＩＮＧ」というメッセージを表示させている。
【０１２３】
また、情報処理装置３０は、制御対象となるコマ４０と自身との間の相対的な位置関係や、ステージ９０と自身との間の相対的な位置関係を取得し、取得した位置関係を可視化した表示情報として仮想オブジェクトｖ４１ａを表示させてもよい。例えば、図１０に示す例では、情報処理装置３０は、撮像部３０１の光軸と制御対象となるコマ４０との間の距離Ｌ１や、ステージ９０に対する撮像部３０１の光軸の仰角θ１を、仮想オブジェクトｖ４１ａとして可視化して表示させている。また、情報処理装置３０は、距離Ｌ１及び仰角θ１に基づき算出した空気抵抗や摩擦力（摩擦係数）を仮想オブジェクトｖ４１ａとして可視化して表示させてもよい。また、情報処理装置３０は、制御対象以外のコマ４０については、各コマ４０の操作者を可視化した表示情報として仮想オブジェクトｖ４１ｂを表示させてもよい。
【０１２４】
このように、本実施形態に係る情報処理装置３０は、自身と、制御対象となるコマ４０と、ステージ９０との間の位置関係に応じて、コマ４０の動作を制御する。このような構成により、コマ回しのような物理法則に従って進行していくゲームにおいて、対象となる実オブジェクトを直接操作する場合に比べて、より直感的な操作感を提供することが可能となる。以降では、本実施形態に係る情報処理装置３０の詳細について説明する。
【０１２５】
［２．２．構成］
本実施形態に係る情報処理装置３０の構成について図１１及び図１２を参照しながら説明する。図１１は、本実施形態に係る情報処理装置３０の構成の一例を示したブロック図である。また、図１２は、本実施形態において制御対象である実オブジェクト４０（例えば、コマ４０）の構成を示したブロック図である。なお、以降では、本実施形態に係る情報処理装置３０について、図９及び図１０に示したコマ回しのゲームにおいて、実オブジェクトであるコマ４０を、情報処理装置３０により操作する場合を例に説明する。
【０１２６】
図１１に示すように、本実施形態に係る情報処理装置３０は、撮像部３０１と、位置算出部３０２と、コンテンツ制御部３０３と、表示制御部３０４と、操作部３０５と、通信部３０７と、表示部３０９とを含む。また、図１２に示すように、実オブジェクト４０は、通信部４０５と、制御部４０７と、駆動部４０９とを含む。
【０１２７】
なお、図１１における撮像部３０１と、位置算出部３０２とは、第１の実施形態の変形例における撮像部１０１と、位置算出部１０２とに相当する（図７参照）。そのため、以降では、本実施形態に係る情報処理装置３０について、第１の実施形態の変形例に係る情報処理装置１２と異なる部分に着目して説明することとし、情報処理装置１２と同様の構成については詳細な説明は省略するものとする。
【０１２８】
撮像部３０１は、所定のフレーム毎に画像を撮像し、撮像画像を位置算出部３０２に逐次出力する。
【０１２９】
位置算出部３０２は、撮像部３０１から撮像画像を逐次取得し、取得した撮像画像から実オブジェクトの一例であるコマ４０を検出する。なお、位置算出部３０２による撮像画像からコマ４０を検出する処理については、第１の実施形態の変形例に係る位置算出部１０２と同様である。
【０１３０】
位置算出部３０２は、撮像画像中からあらかじめ決められた基準となる基準オブジェクトを特定し、特定した基準オブジェクトに対するコマ４０の相対位置を特定する。
【０１３１】
位置算出部３０２は、撮像部３０１から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ４０の相対位置を示す位置情報とをコンテンツ制御部３０３に逐次出力する。これにより、コンテンツ制御部３０３は、基準オブジェクトの位置情報を基準として、各コマ４０の間の相対的な位置関係を認識することが可能となる。
【０１３２】
また、ステージ９０にマーカを付しておく。位置算出部３０２は、撮像画像中に撮像されたステージ９０のマーカを検出することで、検出したマーカの位置及び向きに基づき、撮像画像中におけるステージ９０の位置及び向きを特定してもよい。位置算出部３０２は、特定したステージ９０の位置情報（即ち、位置及び向き）をコンテンツ制御部３０３に逐次通知する。なお、位置算出部３０２は、特定したステージ９０の位置情報を、基準オブジェクトの位置としてコンテンツ制御部３０３に通知してもよい。
【０１３３】
操作部３０５は、タッチパネルのような操作デバイスを示している。操作部３０５は、ユーザからの入力操作を受けた場合に、ユーザからの入力内容を示す制御情報をコンテンツ制御部３０３に出力する。例えば、操作部３０５がタッチパネルの場合には、操作部３０５は、ユーザからの入力操作に基づき、タッチ位置やタッチの態様（例えば、タップやスライド）を示す制御情報をコンテンツ制御部３０３に出力する。
【０１３４】
コンテンツ制御部３０３は、位置算出部３０２から通知される各コマ４０の位置に基づき、情報処理装置３０と制御対象であるコマ４０との間の相対的な位置関係を特定する。同様に、コンテンツ制御部３０３は、位置算出部３０２から通知されるステージ９０の位置及び向きに基づき、情報処理装置３０とステージ９０との間の相対的な位置関係を特定する。以下に、コンテンツ制御部３０３の詳細について説明する。
【０１３５】
コンテンツ制御部３０３は、位置算出部３０２から、撮像部３０１で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ４０の相対位置を示す位置情報とを逐次取得する。また、コンテンツ制御部３０３からステージ９０の位置情報を逐次取得する。なお、コンテンツ制御部３０３は、ステージ９０の位置情報を基準オブジェクトの位置情報として取得してもよい。
【０１３６】
コンテンツ制御部３０３は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ４０の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ４０位置や、各コマ４０間の相対的な位置関係（即ち、方向や距離）を特定する。
【０１３７】
また、コンテンツ制御部３０３は、撮像画像中における各コマ４０の位置やステージ９０の位置及び向きに基づき、情報処理装置３０、制御対象であるコマ４０、及びステージ９０のうち少なくとも２つの間の相対位置を算出する。以下に、コンテンツ制御部３０３が、情報処理装置３０、制御対象であるコマ４０、及びステージ９０のうち少なくとも２つの間の相対位置を算出する処理の一例について図９を参照しながら説明する。
【０１３８】
例えば、コンテンツ制御部３０３は、制御対象であるコマ４０の撮像画像中の位置及びサイズに基づき、撮像部３０１の光軸と制御対象であるコマ４０との間の距離Ｌ１を算出してもよい。具体的には、コンテンツ制御部３０３は、撮像画像中におけるコマ４０のサイズに基づき撮像画像中の距離と実空間上の距離と間の尺度を算出することができる。コンテンツ制御部３０３は、撮像画像中における中心（即ち、光軸の位置）とコマ４０との間の距離を、算出した尺度に基づき、実空間上の距離に換算すればよい。
【０１３９】
また、コンテンツ制御部３０３は、ステージ９０の位置及び向きに基づき、ステージ９０に対して情報処理装置３０の撮像部３０１が向いている向き、即ち、撮像部３０１の光軸の仰角θ１を算出してもよい。また、別の一例として、情報処理装置３０にジャイロセンサを設けて、コンテンツ制御部３０３は、ジャイロセンサの検知結果に基づき、撮像部３０１の光軸の仰角θ１を算出してもよい。この場合には、仰角θ１は、実空間上の水平面に対する仰角となる。
【０１４０】
なお、上述した光軸との距離Ｌ１及び仰角θ１は一例であり、情報処理装置３０、制御対象であるコマ４０、及びステージ９０のうち少なくとも２つの間の相対位置を示す情報が算出可能であれば、情報の種別や算出方法は限定されない。なお、以降では、コンテンツ制御部３０３は、光軸との距離Ｌ１及び仰角θ１を算出したものとして説明する。
【０１４１】
コンテンツ制御部３０３は、算出した光軸との距離Ｌ１を基に、制御対象であるコマ４０に対して付与する空気抵抗や摩擦を算出する。なお、距離Ｌ１がどれだけ離れた場合に、どれくらいの空気抵抗や摩擦を付与するかについては、あらかじめ決めてコンテンツ制御部３０３に記憶させておけばよい。コンテンツ制御部３０３は、算出した空気抵抗や摩擦に基づき、後述する駆動部４０９の駆動量を算出する。なお、コマ４０に対して空気抵抗や摩擦を付与するために用いる駆動部４０９の種別や、駆動部４０９の制御方法の詳細については、駆動部４０９の説明とあわせて後述する。
【０１４２】
また、コンテンツ制御部３０３は、算出した仰角θ１を基に、制御対象であるコマ４０の重心の高さを算出する。なお、仰角θ１と重心の高さとの関係については、あらかじめ決めてコンテンツ制御部３０３に記憶させておけばよい。コンテンツ制御部３０３は、算出した重心の高さに基づき駆動部４０９の駆動量を算出する。
【０１４３】
また、コンテンツ制御部３０３は、操作部３０５に入力されたユーザ操作に基づき駆動部４０９の駆動量を変化させてもよい。例えば、コンテンツ制御部３０３は、ユーザ操作に応じて、コマ４０の回転速度を変化させてもよい。なお、ユーザ操作の内容と回転速度の変化量との関係については、あらかじめ決めてコンテンツ制御部３０３に記憶させておけばよい。コンテンツ制御部３０３は、算出した回転速度の変化量に基づき駆動部４０９の駆動量を算出する。
【０１４４】
コンテンツ制御部３０３は、駆動させる駆動部４０９の識別情報と、算出した駆動量とを、通信部３０７を介して、制御対象であるコマ４０に通知する。通信部３０７は、各実オブジェクト４０の通信部４０５と情報の送受信を行うための通信モジュールである。
【０１４５】
また、コンテンツ制御部３０３は、各コマ４０に対応する仮想オブジェクトを生成し、生成した各仮想オブジェクトの表示位置及び表示態様を、情報処理装置３０、各コマ４０、及びステージ９０の位置関係に基づき特定する。以下に、コンテンツ制御部３０３が、仮想オブジェクトの表示位置及び表示態様を特定する処理の一例について図１０を参照しながら説明する。
【０１４６】
例えば、コンテンツ制御部３０３は、情報処理装置３０、各コマ４０、及びステージ９０の位置関係を示す情報（例えば、光軸からの距離Ｌ１や仰角θ１）を可視化して、表示情報として仮想オブジェクトｖ４１ａを生成してもよい。この場合には、コンテンツ制御部３０３は、生成した仮想オブジェクトｖ４１ａの表示位置を、制御対象であるコマ４０の位置情報に基づき決定すればよい。また、コンテンツ制御部３０３は、各コマ４０の識別結果に基づき、各コマ４０を操作するユーザを特定し、特定したユーザを可視化して、表示情報として仮想オブジェクトｖ４１ｂを生成してもよい。この場合には、コンテンツ制御部３０３は、生成した仮想オブジェクトｖ４１ｂの表示位置を、対応するコマ４０の位置情報に基づき決定すればよい。
【０１４７】
また、コンテンツ制御部３０３は、ゲームの進行状態に応じて、ガイダンスとしての仮想オブジェクトｖ４５及びｖ４７を生成してもよい。また、コンテンツ制御部３０３は、ゲームが開始されたらガイドとしての仮想オブジェクトｖ４３を生成し、ゲームの継続中は仮想オブジェクトｖ４３が表示されている状態に維持するようにしてもよい。
【０１４８】
コンテンツ制御部３０３は、位置算出部３０２から取得した撮像画像と、生成した仮想オブジェクトの制御情報とを表示制御部３０４に出力する。なお、制御情報には、各仮想オブジェクトを撮像画像中に画像として表示させるため表示情報や、仮想オブジェクトを表示させる位置を示す情報が含まれる。なお、表示制御部３０４及び表示部３０９の動作は、第１の実施形態における表示制御部１０４及び表示部１０９と同様のため詳細な説明は省略する。
【０１４９】
次に、図１２を参照しながら実オブジェクト４０（例えば、コマ４０）の構成について説明する。
【０１５０】
通信部４０５は、通信部３０７を介してコンテンツ制御部３０３から送信された駆動させる駆動部４０９の識別情報と、算出した駆動量とを、情報処理装置３０から受けて制御部４０７に出力する。制御部４０７は、情報処理装置３０から取得した識別情報に基づき駆動させる駆動部４０９を特定し、特定した駆動部４０９を取得した駆動量に基づき駆動させることで、コマ４０の動作を制御する。以下に、コマ４０の動作と駆動部４０９の種別及び制御方法との関係についてまとめる。
【０１５１】
例えば、コマ４０の軸の接地面積が可変となるように駆動部４０９を設けてもよい。この場合には、制御部４０７は、軸の太さ変化させることで軸の接地面積を制御してもよい。軸の接地面積が広がれば、軸と接地面（例えばステージ９０）との間の摩擦力も増大する。即ち、制御部４０７は、軸の接地面積を制御することにより、摩擦の量を制御する。
【０１５２】
また、駆動部４０９として、コマ４０の回転方向に向かって空力ブレーキをかける可変翼を、コマ４０の回転方向に沿って設けてもよい。この場合には、制御部４０７は、可変翼の開閉量を制御することにより、空気抵抗の量を制御する。
【０１５３】
また、重心の高さの制御に関しては、例えば、コマ４０の軸方向に沿って位置を変更可能な錘を駆動部４０９として設ければよい。この場合には、制御部４０７は、この錘の位置を制御することで、コマ４０の重心の高さを制御することができる。
【０１５４】
また、駆動部４０９として、コマ４０の回転速度を増大または減衰させるようにモーターを設けてもよい。この場合には、制御部４０７は、モーターの回転量を制御することで、コマ４０の回転速度を制御することが可能となる。なお、このモーターによりコマ４０の回転速度を制御することで、空気抵抗や摩擦による影響を模擬してもよい。
【０１５５】
なお、上記では、コマ回しのゲームを例について説明したが、情報処理装置３０、実オブジェクト４０、及びステージ９０のうち少なくとも２つの間の相対位置に基づき、実オブジェクト４０の動作を制御できれば、上記の例には限定されない。例えば、図１３は、本実施形態に係る情報処理装置３０の他の一態様について説明するための図であり、レースゲームに情報処理装置３０を適用した場合を示している。この場合には、情報処理装置３０は、車体及びコースを、それぞれ実オブジェクト４０及びステージ９０として、撮像部３０１の光軸からの距離Ｌ１や仰角θ１を算出し、算出結果に基づいて車体４０の動作を制御すればよい。
【０１５６】
ここで、図１４を参照する。図１４は、実施形態に係る情報処理装置の他の一態様における画面の一例を示した図であり、図１３に示したレースゲームの操作画面の一例を示している。この場合には、情報処理装置３０は、撮像部３０１の光軸と制御対象となる車体４０との間の距離Ｌ１やステージ９０に対する撮像部３０１の光軸の仰角θ１を可視化した表示情報として仮想オブジェクトｖ４１ａを表示させてもよい。情報処理装置３０は、制御対象以外の車体４０については、各車体４０の操作者を可視化した表示情報として仮想オブジェクトｖ４１ｂを表示させてもよい。
【０１５７】
また、図１０に示したコマ回しのゲームの例と同様に、ガイダンスとしての仮想オブジェクトｖ４５及びｖ４７や、ガイドとしての仮想オブジェクトｖ４３を撮像画像に重畳表示させてもよい。
【０１５８】
［２．３．処理］
本実施形態に係る情報処理装置の一連の動作について図１５を参照しながら説明する。図１５は、本実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
【０１５９】
（ステップＳ２０１）
情報処理装置３０の通信部３０７は、制御対象であるコマ４０の通信部４０５との間で通信を確立する。以降は、確立された通信経路により、情報処理装置３０からの情報がコマ４０に送信される。
【０１６０】
（ステップＳ２０３）
各ユーザが、実オブジェクトである各自のコマ４０をステージ９０上で回すと、実オブジェクトである各コマ４０が動作を開始する。
【０１６１】
（ステップＳ２０５）
次いで、各ユーザが、撮像部３０１及び表示部３０９を備えた情報処理装置３０を介して各コマ４０及びステージ９０の観測を開始すると、位置算出部３０２は、撮像部３０１から撮像画像を取得する。位置算出部３０２は、撮像部３０１から取得した撮像画像からコマ４０に付されたマーカを検出することで、コマ４０の位置及び姿勢を認識する。
【０１６２】
位置算出部３０２は、撮像画像中からあらかじめ決められた基準オブジェクトを特定し、特定した基準オブジェクトに対するコマ４０の相対位置を特定する。例えば、位置算出部３０２は、撮像画像中に撮像されたステージ９０のマーカを検出することで、検出したマーカの位置に基づき、ステージ９０の位置を特定する。位置算出部３０２は、特定したステージ９０を基準オブジェクトとして、各コマ２０の位置を特定する。
【０１６３】
位置算出部３０２は、撮像部３０１から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ４０の相対位置を示す位置情報とをコンテンツ制御部３０３に逐次出力する。
【０１６４】
（ステップＳ２０９）
以上のようにして、全ユーザの情報処理装置３０が、各コマ４０及びステージ９０のマーカの認識を行う（ステップＳ２０９、Ｎ）。
【０１６５】
（ステップＳ２１１）
全ユーザの情報処理装置３０が各コマ４０及びステージ９０のマーカの認識を完了したら（ステップＳ２０９、Ｙ）、情報処理装置３０は、自身と、制御対象であるコマ４０、と、ステージ９０との間の相対的な位置関係の取得を開始する。
【０１６６】
（ステップＳ２１３）
位置算出部３０２は、撮像部３０１から撮像画像を逐次取得し、取得した撮像画像から実オブジェクトであるコマ４０を検出する。なお、位置算出部３０２による撮像画像からコマ４０を検出する処理については、第１の実施形態の変形例に係る位置算出部１０２と同様である。
【０１６７】
位置算出部３０２は、撮像画像中からあらかじめ決められた基準となる基準オブジェクトを特定し、特定した基準オブジェクトに対するコマ４０の相対位置を特定する。
【０１６８】
位置算出部３０２は、撮像部３０１から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ４０の相対位置を示す位置情報とをコンテンツ制御部３０３に逐次出力する。
【０１６９】
また、位置算出部３０２は、撮像画像中に撮像されたステージ９０のマーカを検出することで、検出したマーカの位置及び向きに基づき、撮像画像中におけるステージ９０の位置及び向きを特定してもよい。位置算出部３０２は、特定したステージ９０の位置情報（即ち、位置及び向き）をコンテンツ制御部３０３に逐次通知する。なお、位置算出部３０２は、特定したステージ９０の位置情報を、基準オブジェクトの位置としてコンテンツ制御部３０３に通知してもよい。
【０１７０】
（ステップＳ２１５）
コンテンツ制御部３０３は、位置算出部３０２から、撮像部３０１で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ４０の相対位置を示す位置情報とを逐次取得する。また、コンテンツ制御部３０３からステージ９０の位置情報を逐次取得する。なお、コンテンツ制御部３０３は、ステージ９０の位置情報を基準オブジェクトの位置情報として取得してもよい。
【０１７１】
コンテンツ制御部３０３は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ４０の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ４０位置や、各コマ４０間の相対的な位置関係（即ち、方向や距離）を特定する。
【０１７２】
また、コンテンツ制御部３０３は、撮像画像中における各コマ４０の位置やステージ９０の位置及び向きに基づき、コンテンツ制御部３０３が、情報処理装置３０、制御対象であるコマ４０、及びステージ９０のうち少なくとも２つの間の相対位置を算出する。
【０１７３】
例えば、コンテンツ制御部３０３は、制御対象であるコマ４０の撮像画像中の位置及びサイズに基づき、撮像部３０１の光軸と制御対象であるコマ４０との間の距離Ｌ１を算出してもよい。
【０１７４】
コンテンツ制御部３０３は、算出した光軸との距離Ｌ１を基に、制御対象であるコマ４０に対して付与する空気抵抗や摩擦を算出する。コンテンツ制御部３０３は、算出した空気抵抗や摩擦に基づき、後述する駆動部４０９の駆動量を算出する。
【０１７５】
また、コンテンツ制御部３０３は、ステージ９０の位置及び向きに基づき、ステージ９０に対して情報処理装置３０の撮像部３０１が向いている向き、即ち、撮像部３０１の光軸の仰角θ１を算出してもよい。
【０１７６】
コンテンツ制御部３０３は、算出した仰角θ１を基に、制御対象であるコマ４０の重心の高さを算出する。コンテンツ制御部３０３は、算出した重心の高さに基づき駆動部４０９の駆動量を算出する。
【０１７７】
また、コンテンツ制御部３０３は、操作部３０５に入力されたユーザ操作に基づき駆動部４０９の駆動量を変化させてもよい。例えば、コンテンツ制御部３０３は、ユーザ操作に応じて、コマ４０の回転速度を変化させてもよい。コンテンツ制御部３０３は、算出した回転速度の変化量に基づき駆動部４０９の駆動量を算出する。
【０１７８】
コンテンツ制御部３０３は、駆動させる駆動部４０９の識別情報と、算出した駆動量とを、通信部３０７を介して、制御対象であるコマ４０に通知する。
【０１７９】
通信部４０５は、通信部３０７を介してコンテンツ制御部３０３から送信された駆動させる駆動部４０９の識別情報と、算出した駆動量とを、情報処理装置３０から受けて制御部４０７に出力する。制御部４０７は、情報処理装置３０から取得した識別情報に基づき駆動させる駆動部４０９を特定し、特定した駆動部４０９を取得した駆動量に基づき駆動させることで、コマ５４０の動作を制御する。
【０１８０】
（ステップＳ２１９）
情報処理装置３０は、ステップＳ２１３〜Ｓ２１５に示した一連の処理を、あらかじめ決められたゲームの終了条件が満たされるまで継続する（ステップＳ２１９、Ｎ）。
【０１８１】
（ステップＳ２２１）
ゲームの終了条件が満たされた場合には（ステップＳ２１９、Ｙ）、情報処理装置３０は、自身と、制御対象であるコマ４０、と、ステージ９０との間の相対的な位置関係の取得を停止して一連の処理を終了する。
【０１８２】
このように、本実施形態に係る情報処理装置３０は、自身と、制御対象となるコマ４０と、ステージ９０との間の位置関係に応じて、コマ４０の駆動部４０９を制御することで、コマ４０に対する空気抵抗や摩擦力の増減を制御する。このような構成により、コマ回しのような物理法則に従って進行していくゲームにおいて、対象となる実オブジェクトを直接操作する場合に比べて、より直感的な操作感を提供することが可能となる。
【０１８３】
なお、上述した第２の実施形態に係る情報処理装置３０に、第１の実施形態に係る情報処理装置１０（または、第１の実施形態の変形例に係る情報処理装置１２）を組み合わせることで、情報処理装置３０の操作に応じて変化したコマ４０の運動状態に基づき仮想オブジェクトを表示させてもよい。例えば、図１６は、本実施形態に係る情報処理装置の他の一態様における画面の一例を示した図であり、図１０に示した表示画面に対して、各コマ４０の運動状態に応じた仮想オブジェクトを重畳表示させた場合の一例を示している。
【０１８４】
具体的には、第２の実施形態に係る情報処理装置３０に対して、第１の実施形態に係る運動状態取得部１０６を追加することで、撮像部３０１から撮像画像に基づき各コマ４０の運動状態を取得できるようにすればよい。また、他の一例として、第２の実施形態に係る情報処理装置３０に対して、第１の実施形態の変形例に係るセンサユニット２２及び運動状態取得部１０８を追加することで、センサ２０１の検知結果に基づき各コマ４０の運動状態を取得できるようにすればよい。
【０１８５】
コンテンツ制御部３０３は、取得した運動状態に基づきキャラクターを模した仮想オブジェクトｖ２２ａ及びｖ２２ｂを生成または制御してもよい。また、コンテンツ制御部３０３は、仮想オブジェクトｖ２２ａ及びｖ２２ｂそれぞれのライフポイントを示す仮想オブジェクトｖ２４ａ及びｖ２４ｂを生成または制御してもよい。また、他の一例として、コンテンツ制御部３０３は、取得した運動状態を可視化した表示情報として仮想オブジェクトを生成してもよい。
【０１８６】
上記のように、第１の実施形態及び第２の実施形態を組み合わせることで、情報処理装置３０は、情報処理装置３０に対する操作に応じて刻々と変化するコマ４０の運動状態を、仮想オブジェクトとして提示することが可能となる。このような構成により、ユーザは、情報処理装置３０を操作することで、制御対象であるコマ４０の動きを制御でき、かつ、制御により変化したコマ４０の運動状態を、表示された仮想オブジェクトの表示態様に基づき認識することが可能となる。
【０１８７】
［２．４．まとめ］
以上のように、本実施形態に係る情報処理装置３０は、自身と、制御対象となるコマ４０と、ステージ９０との間の位置関係に応じて、コマ４０の駆動部４０９を制御することで、コマ４０に対する空気抵抗や摩擦の影響を模擬する。このような構成により、コマ回しのような物理法則に従って進行していくゲームにおいて、対象となる実オブジェクトを直接操作する場合に比べて、より直感的な操作感を提供することが可能となる。
【０１８８】
＜３．第３の実施形態＞
［３．１．概要］
次に、本開示の第３の実施形態に係る情報処理装置５０について説明する。上述した第２の実施形態に係る情報処理装置３０では、実空間上における実オブジェクトと情報処理装置とステージとの間の相対的な位置関係に応じて、当該実オブジェクトの動作を制御していた。一方で、制御対象を実オブジェクトに替えて、仮想空間上における仮想オブジェクトとしてもよい。第３の実施形態では、仮想オブジェクトを制御対象とし、空気抵抗や摩擦力のような物理法則による仮想オブジェクトへ影響を模擬することで、仮想オブジェクトの動作を制御する例について説明する。
【０１８９】
以降では、図１７及び図１８を参照して、本開示の第３の実施形態に係る情報処理装置５０の概要について説明する。まず、図１７を参照する。図１７は、本開示の第３の実施形態に係る情報処理装置５０の概要を説明するための図であり、情報処理装置５０をコマ回しのゲームに適用した場合の一例を示している。
【０１９０】
図１７に示すゲームの例では、複数のユーザそれぞれが、仮想空間上の仮想オブジェクトであるステージｖ９０やコマｖ６０を、撮像部５０１と表示部５０９とを備えた情報処理装置５０を介して観測する。ユーザは、上述した第２の実施形態と同様に情報処理装置５０を操作することで、仮想空間上のコマｖ６０の動作を制御する。
【０１９１】
このとき、情報処理装置５０は、撮像部５０１で撮像された撮像画像中から基準となるマーカを検出し、撮像画像中のマーカの位置、向き、及びサイズに基づき、仮想空間上における、ステージｖ９０、コマｖ６０、及び情報処理装置５０の相対位置を算出する。情報処理装置５０は、算出した相対位置に基づき、第２の実施形態と同様に、仮想空間上における、撮像部５０１の光軸と制御対象となるコマｖ６０との間の距離Ｌ２や、ステージｖ９０に対する撮像部５０１の光軸の仰角θ２を算出する。そして、情報処理装置５０は、算出した光軸からの距離Ｌ２や仰角θ２に基づき、制御対象となるコマｖ６０の動作を算出し、算出した結果に応じて、仮想オブジェクトであるコマｖ６０の表示位置や表示態様を制御する。
【０１９２】
ここで、図１８を参照する。図１８は、本実施形態に係る情報処理装置５０の画面の一例を示した図である。情報処理装置５０は、各コマｖ６０間の位置関係や、算出した光軸からの距離Ｌ２や仰角θ２に基づき、各コマｖ６０の表示位置や表示態様を特定して、撮像画像に重畳表示させる。例えば、図１８に示す例では、情報処理装置５０は、コマｖ６０ａ及びｖ６０ｂを撮像画像に重畳表示させている。
【０１９３】
また、情報処理装置５０は、制御対象となるコマｖ６０と自身との間の相対的な位置関係や、ステージｖ９０と自身との間の相対的な位置関係を取得し、取得した位置関係を可視化した表示情報として仮想オブジェクトｖ４１ａを表示させてもよい。例えば、図１８に示す例では、情報処理装置５０は、撮像部５０１の光軸と制御対象となるコマｖ６０との間の距離Ｌ２や、ステージｖ９０に対する撮像部５０１の光軸の仰角θ２を、仮想オブジェクトｖ４１ａとして可視化して表示させている。また、情報処理装置５０は、制御対象以外のコマｖ６０については、各コマｖ６０の操作者を可視化した表示情報として仮想オブジェクトｖ４１ｂを表示させてもよい。
【０１９４】
このように、本実施形態に係る情報処理装置５０は、仮想空間上における情報処理装置５０と、各コマｖ６０と、ステージｖ９０との間の位置関係に応じて、コマｖ６０の動作を制御する。このような構成により、実オブジェクトであるコマ４０を仮想オブジェクトｖ６０として表現することで、第２の実施形態と同様のゲームを、実オブジェクトの一例であるコマ４０を用いることなく実現することが可能となる。以降では、本実施形態に係る情報処理装置５０の詳細について説明する。
【０１９５】
［３．２．構成］
本実施形態に係る情報処理装置５０の構成について図１９を参照しながら説明する。図１９は、本実施形態に係る情報処理装置５０の構成を示したブロック図である。なお、以降では、本実施形態に係る情報処理装置５０について、図１７及び図１８に示したコマ回しのゲームにおいて、仮想オブジェクトであるコマｖ６０を、情報処理装置５０により操作する場合を例に説明する。
【０１９６】
図１９に示すように、本実施形態に係る情報処理装置５０は、撮像部５０１と、位置算出部５０２と、コンテンツ制御部５０３と、表示制御部５０４と、操作部５０５と、表示部５０９とを含む。
【０１９７】
撮像部５０１は、所定のフレーム毎に画像を撮像し、撮像画像を位置算出部３０２に逐次出力する。
【０１９８】
位置算出部５０２は、撮像部５０１から撮像画像を逐次取得する。位置算出部５０２は、撮像部５０１から取得した撮像画像から、例えば、コマｖ６０のような仮想オブジェクトを生成するための基準となるマーカを検出する。なお、位置算出部５０２によるマーカの検出方法は、第１の実施形態に係る位置算出部１０２と同様である。
【０１９９】
位置算出部５０２は、撮像部５０１から取得した撮像画像と、検出したマーカの位置を示す位置情報とをコンテンツ制御部５０３に逐次出力する。
【０２００】
コンテンツ制御部５０３は、位置算出部５０２から、撮像部５０１で撮像された撮像画像と、検出されたマーカの位置を示す位置情報とを逐次取得する。
【０２０１】
コンテンツ制御部５０３は、取得した撮像画像中におけるマーカの位置、向き、及びサイズに基づき、マーカの位置を基準とした仮想空間上における情報処理装置５０の位置及び向きを特定する。
【０２０２】
また、コンテンツ制御部５０３は、仮想オブジェクトのコマｖ６０を、各ユーザが操作する情報処理装置５０ごとに生成し、各コマｖ６０をそれぞれ異なる情報処理装置５０に関連付ける。このとき、コンテンツ制御部５０３は、自身の制御対象となるコマｖ６０を特定する。また、コンテンツ制御部５０３は、仮想オブジェクトのステージｖ９０を生成する。
【０２０３】
コンテンツ制御部５０３は、生成した各コマｖ６０及びステージｖ９０の仮想空間上における位置を、マーカの位置を基準として特定する。
【０２０４】
また、コンテンツ制御部５０３は、例えば、操作部５０５から所定の操作を受けると、生成した各コマｖ６０の運動を開始させる。
【０２０５】
コンテンツ制御部５０３は、各コマｖ６０間の相対位置や、コマｖ６０とステージｖ９０との間の相対位置に基づき、各コマｖ６０の運動状態（例えば、運動方向、併進速度、及び回転速度）を算出し、各コマｖ６０の動作を制御する。
【０２０６】
具体的な一例として、コンテンツ制御部５０３は、各コマｖ６０間の相対位置に基づき、複数のコマｖ６０が接触したか否かを判定し、接触した場合には、各コマｖ６０の接触方向に応じて接触後の各コマｖ６０の運動方向を算出してもよい。また、コンテンツ制御部５０３は、接触前の各コマｖ６０の併進速度や回転速度に応じて、接触後の各コマｖ６０の併進速度や回転速度を算出してもよい。
【０２０７】
また、コンテンツ制御部５０３は、コマｖ６０とステージｖ９０との間の相対位置に基づき、例えば、ステージｖ９０の側壁にコマｖ６０が接触したか否かを判定してもよい。ステージｖ９０の側壁にコマｖ６０が接触した場合には、コンテンツ制御部５０３は、ステージｖ９０の側壁に対するコマｖ６０の接触方向に応じて接触後のコマｖ６０の運動方向を算出してもよい。また、コンテンツ制御部５０３は、接触前のコマｖ６０の併進速度や回転速度に応じて、接触後のコマｖ６０の併進速度や回転速度を算出してもよい。
【０２０８】
また、コンテンツ制御部５０３は、第２の実施形態に係る情報処理装置３０と同様に、情報処理装置５０、制御対象であるコマｖ６０、及びステージｖ９０のうち少なくとも２つの間の仮想空間上における相対位置を算出する。コンテンツ制御部５０３は、算出した相対位置に基づき、制御対象であるコマｖ６０の動作を制御する。
【０２０９】
具体的な一例として、コンテンツ制御部５０３は、仮想空間上における情報処理装置５０の位置及び向きと、制御対象であるコマｖ６０の位置とに基づき、撮像部５０１の光軸と制御対象であるコマｖ６０との間の距離Ｌ２を算出してもよい。
【０２１０】
また、コンテンツ制御部５０３は、仮想空間上における情報処理装置５０の位置及び向きと、ステージｖ９０の位置及び向きとに基づき、ステージｖ９０に対する撮像部５０１の光軸の仰角θ２を算出してもよい。また、情報処理装置５０にジャイロセンサを設けることで、コンテンツ制御部５０３は、ジャイロセンサの検知結果に基づき、撮像部５０１の光軸の仰角θ２算出してもよい。この場合には、仰角θ２は、実空間上の水平面に対する仰角となる。
【０２１１】
なお、上述した光軸との距離Ｌ２及び仰角θ２は一例であり、情報処理装置５０、制御対象であるコマｖ６０、及びステージｖ９０のうち少なくとも２つの間の相対位置を示す情報が算出可能であれば、情報の種別や算出方法は限定されない。なお、以降では、コンテンツ制御部５０３は、光軸との距離Ｌ２及び仰角θ２を算出したものとして説明する。
【０２１２】
コンテンツ制御部５０３は、情報処理装置５０、制御対象であるコマｖ６０、及びステージｖ９０の相対位置に基づき、コマｖ６０の運動状態を変化させるための物理量（例えば、摩擦や空気抵抗）を算出する。
【０２１３】
具体的な一例として、コンテンツ制御部５０３は、算出した光軸との距離Ｌ２を基に、制御対象であるコマｖ６０に対して付与する空気抵抗や摩擦を算出してもよい。コンテンツ制御部５０３は、算出した仰角θ２を基に、制御対象であるコマｖ６０の重心の高さを算出してもよい。また、コンテンツ制御部５０３は、操作部５０５を介したユーザ操作に応じて、コマｖ６０の回転速度の変化量を算出してもよい。なお、上述した摩擦、空気抵抗、及び回転速度の変化量を算出する方法としては、第２の実施形態に係る情報処理装置３０と同様の方法を用いればよい。
【０２１４】
コンテンツ制御部５０３は、算出した物理量に応じて、各コマｖ６０の運動状態を変化させる。
【０２１５】
上記のように、コンテンツ制御部５０３は、位置算出部５０２から逐次取得する撮像画像とマーカの位置情報とに基づき、仮想空間上における、情報処理装置５０、各コマｖ６０、及びステージｖ９０の間の相対位置を特定する。そして、コンテンツ制御部５０３は、特定した情報処理装置５０、各コマｖ６０、及びステージｖ９０の間の相対位置に基づき、各コマｖ６０の動作を制御する。コンテンツ制御部５０３は、上述した情報処理装置５０、各コマｖ６０、及びステージｖ９０の間の相対位置の特定と、各コマｖ６０の動作の制御とを逐次繰り返す。
【０２１６】
ここで、図１８を参照する。図１８に示すように、コンテンツ制御部５０３は、各コマｖ６０、及びステージｖ９０の位置関係を示す情報（例えば、光軸からの距離Ｌ１や仰角θ１）を可視化した仮想オブジェクトｖ４１ａを生成してもよい。また、コンテンツ制御部５０３は、各コマｖ６０を操作するユーザを可視化して、表示情報として仮想オブジェクトｖ４１ｂを生成してもよい。
【０２１７】
また、コンテンツ制御部５０３は、ゲームの進行状態に応じて、ガイダンスとしての仮想オブジェクトｖ４５及びｖ４７を生成してもよい。また、コンテンツ制御部５０３は、ゲームが開始されたらガイドとしての仮想オブジェクトｖ４３を生成し、ゲームの継続中は仮想オブジェクトｖ４３が表示されている状態に維持するようにしてもよい。なお、仮想オブジェクトｖ４３、ｖ４５、及びｖ４７を生成及び制御する方法としては、第２の実施形態に係るコンテンツ制御部３０３と同様の方法を用いればよい。
【０２１８】
コンテンツ制御部５０３は、逐次取得される撮像画像と、仮想空間上における情報処理装置５０の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とを表示制御部５０４に出力する。なお、制御情報には、各仮想オブジェクトを撮像画像中に画像として表示させるため表示情報や、仮想空間上における各仮想オブジェクトの位置や向きを示す情報が含まれる。
【０２１９】
表示制御部５０４は、コンテンツ制御部５０３から、撮像画像と、仮想空間上における情報処理装置５０の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とを取得する。表示制御部５０４は、仮想空間上における情報処理装置５０の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とに基づき、情報処理装置５０と各仮想オブジェクトとの間の相対位置を特定する。表示制御部５０４は、特定した相対位置に基づき、撮像画像中における各仮想オブジェクトの位置及び向きを特定し、特定した位置及び向きに基づき各仮想オブジェクトを撮像画像に重畳表示させる。表示制御部５０４は、仮想オブジェクトが重畳表示された撮像画像を表示部５０９に表示させる。
【０２２０】
なお、コンテンツ制御部５０３は、各コマｖ６０の運動状態を逐次認識している。そのため、コンテンツ制御部５０３は、各コマｖ６０の運動状態（例えば、回転速度、併進速度、または運動方向）を可視化した表示情報として仮想オブジェクトを生成してもよい。
【０２２１】
なお、各情報処理装置５０が、仮想空間上における各コマｖ６０の位置及び向きや、ステージｖ９０の位置及び向きを算出し、複数の情報処理装置５０間で算出した情報を送受信してもよい。また、別の一例として、複数の情報処理装置５０のうち、いずれかが各情報処理装置５０と、各コマｖ６０と、ステージｖ９０との間の相対的な位置関係を算出し、各コマｖ６０の動作を制御してもよい。また、別の一例として、各情報処理装置５０とは別にサーバを設け、当該サーバが、各情報処理装置５０から通知される撮像画像に基づき、各情報処理装置５０と、各コマｖ６０と、ステージｖ９０との間の相対的な位置関係を算出し、各コマｖ６０の動作を制御してもよい。なお、第１及び第２の実施形態に係る情報処理装置についても同様に上記のような構成とすることは可能である。即ち、第１の実施形態において、実オブジェクトの位置及び運動状態の算出に係る処理を、複数の情報処理端末が連携して実行してもよいし、いずれかの情報処理端末またはサーバが実行してもよい。また、第２の実施形態において、各実オブジェクトの動作の制御を、複数の情報処理端末が連携して実行してもよいし、いずれかの情報処理端末またはサーバが実行してもよい。
【０２２２】
また、上記では、コマ回しのゲームを例について説明したが、情報処理装置５０、仮想オブジェクトｖ６０、及びステージｖ９０のうち少なくとも２つの間の相対位置に基づき、仮想オブジェクトｖ６０の動作を制御できれば、上記の例には限定されない。例えば、図２０は、本実施形態に係る情報処理装置５０の他の一態様について説明するための図であり、レースゲームに情報処理装置５０を適用した場合を示している。この場合には、情報処理装置５０は、車体及びコースを、それぞれ仮想オブジェクトｖ６０及びステージｖ９０として、撮像部５０１の光軸からの距離Ｌ２や仰角θ２を算出し、算出結果に基づいて車体ｖ６０の動作を制御すればよい。
【０２２３】
ここで、図２１を参照する。図２１は、実施形態に係る情報処理装置の他の一態様における画面の一例を示した図であり、図２０に示したレースゲームの操作画面の一例を示している。この場合には、情報処理装置５０は、撮像部５０１の光軸と制御対象となる車体ｖ６０との間の距離Ｌ２やステージｖ９０に対する撮像部５０１の光軸の仰角θ２を可視化した表示情報として仮想オブジェクトｖ４１ａを表示させてもよい。情報処理装置５０は、制御対象以外の車体ｖ６０については、各車体ｖ６０の操作者を可視化した表示情報として仮想オブジェクトｖ４１ｂを表示させてもよい。
【０２２４】
また、図１８に示したコマ回しのゲームの例と同様に、ガイダンスとしての仮想オブジェクトｖ４５及びｖ４７や、ガイドとしての仮想オブジェクトｖ４３を撮像画像に重畳表示させてもよい。
【０２２５】
また、第３の実施形態に係る情報処理装置５０に、第１及び第２の実施形態に係る情報処理装置を組み合わせてもよい。具体的な一例として、コマ回しのゲームに適用した場合には、各情報処理端末は、ゲーム開始当初は実オブジェクトのコマを制御対象とし、実オブジェクトのコマが停止した場合には、次いで仮想オブジェクトのコマを制御対象とすればよい。この場合には、情報処理装置は、実オブジェクトのコマと仮想オブジェクトのコマとの相対位置に応じて、実オブジェクトのコマ及び仮想オブジェクトのコマの動きを制御すればよい。また、情報処理装置は、例えば、図２に示すようにキャラクターのライフポイント表示させる場合には、実オブジェクトと仮想オブジェクトでそれぞれライフポイントを別々に振り分けて（例えば、１／２ずつ割り当てて）表示を演出してもよい。
【０２２６】
［３．３．処理］
本実施形態に係る情報処理装置の一連の動作について図２０を参照しながら説明する。図２０は、本実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
【０２２７】
（ステップＳ３０５）
各ユーザが、撮像部５０１及び表示部５０９を備えた情報処理装置５０を介して基準となるマーカを撮像すると、位置算出部５０２は、撮像部５０１から取得した撮像画像から、仮想オブジェクトを生成するための基準となるマーカを検出する。
【０２２８】
位置算出部５０２は、撮像部５０１から取得した撮像画像と、検出したマーカの位置を示す位置情報とをコンテンツ制御部５０３に逐次出力する。
【０２２９】
（ステップＳ３０７）
コンテンツ制御部５０３は、位置算出部５０２から、撮像部５０１で撮像された撮像画像と、検出されたマーカの位置を示す位置情報とを逐次取得する。
【０２３０】
コンテンツ制御部５０３は、取得した撮像画像中におけるマーカの位置、向き、及びサイズに基づき、マーカの位置を基準とした仮想空間上における情報処理装置５０の位置及び向きを特定する。
【０２３１】
また、コンテンツ制御部５０３は、仮想オブジェクトのコマｖ６０を、各ユーザが操作する情報処理装置５０ごとに生成し、各コマｖ６０をそれぞれ異なる情報処理装置５０に関連付ける。このとき、コンテンツ制御部５０３は、自身の制御対象となるコマｖ６０を特定する。また、コンテンツ制御部５０３は、仮想オブジェクトのステージｖ９０を生成する。
【０２３２】
（ステップＳ３０９）
以上のようにして、全ユーザの情報処理装置５０が、仮想オブジェクトを生成するための基準となるマーカの認識を行う（ステップＳ３０９、Ｎ）。
【０２３３】
（ステップＳ３１１）
全ユーザの情報処理装置５０がマーカの認識を完了したら（ステップＳ３０９、Ｙ）、情報処理装置５０は、仮想オブジェクトの生成及び制御を開始する。具体的には、コンテンツ制御部５０３は、生成した各コマｖ６０及びステージｖ９０の仮想空間上における位置を、マーカの位置を基準として特定する。また、コンテンツ制御部５０３は、例えば、操作部５０５から所定の操作を受けると、生成した各コマｖ６０の運動を開始させる。
【０２３４】
（ステップＳ３１３）
例えば、コンテンツ制御部５０３は、仮想空間上における情報処理装置５０の位置及び向きと、制御対象であるコマｖ６０の位置とに基づき、撮像部５０１の光軸と制御対象であるコマｖ６０との間の距離Ｌ２を算出してもよい。
【０２３５】
また、コンテンツ制御部５０３は、仮想空間上における情報処理装置５０の位置及び向きと、ステージｖ９０の位置及び向きとに基づき、ステージｖ９０に対する撮像部５０１の光軸の仰角θ２を算出してもよい。また、情報処理装置５０にジャイロセンサを設けることで、コンテンツ制御部５０３は、ジャイロセンサの検知結果に基づき、撮像部５０１の光軸の仰角θ２算出してもよい。この場合には、仰角θ２は、実空間上の水平面に対する仰角となる。
【０２３６】
（ステップＳ３１５）
コンテンツ制御部５０３は、情報処理装置５０、制御対象であるコマｖ６０、及びステージｖ９０の相対位置に基づき、コマｖ６０の運動状態を変化させるための物理量（例えば、摩擦や空気抵抗）を算出する。
【０２３７】
具体的な一例として、コンテンツ制御部５０３は、算出した光軸との距離Ｌ２を基に、制御対象であるコマｖ６０に対して付与する空気抵抗や摩擦を算出してもよい。コンテンツ制御部５０３は、算出した仰角θ２を基に、制御対象であるコマｖ６０の重心の高さを算出してもよい。また、コンテンツ制御部５０３は、操作部５０５を介したユーザ操作に応じて、コマｖ６０の回転速度の変化量を算出してもよい。なお、上述した摩擦、空気抵抗、及び回転速度の変化量を算出する方法としては、第２の実施形態に係る情報処理装置３０と同様の方法を用いればよい。
【０２３８】
コンテンツ制御部５０３は、算出した物理量に応じて、各コマｖ６０の運動状態を変化させる。
【０２３９】
上記のように、コンテンツ制御部５０３は、位置算出部５０２から逐次取得する撮像画像とマーカの位置情報とに基づき、仮想空間上における、情報処理装置５０、各コマｖ６０、及びステージｖ９０の間の相対位置を特定する。そして、コンテンツ制御部５０３は、特定した情報処理装置５０、各コマｖ６０、及びステージｖ９０の間の相対位置に基づき、各コマｖ６０の動作を制御する。
【０２４０】
コンテンツ制御部５０３は、逐次取得される撮像画像と、仮想空間上における情報処理装置５０の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とを表示制御部５０４に出力する。なお、制御情報には、各仮想オブジェクトを撮像画像中に画像として表示させるため表示情報や、仮想空間上における各仮想オブジェクトの位置や向きを示す情報が含まれる。
【０２４１】
表示制御部５０４は、コンテンツ制御部５０３から、撮像画像と、仮想空間上における情報処理装置５０の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とを取得する。表示制御部５０４は、仮想空間上における情報処理装置５０の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とに基づき、情報処理装置５０と各仮想オブジェクトとの間の相対位置を特定する。表示制御部５０４は、特定した相対位置に基づき、撮像画像中における各仮想オブジェクトの位置及び向きを特定し、特定した位置及び向きに基づき各仮想オブジェクトを撮像画像に重畳表示させる。表示制御部５０４は、仮想オブジェクトが重畳表示された撮像画像を表示部５０９に表示させる。
【０２４２】
（ステップＳ３１９）
コンテンツ制御部５０３は、上述した情報処理装置５０、各コマｖ６０、及びステージｖ９０の間の相対位置の特定と、各コマｖ６０の動作の制御とを、あらかじめ決められたゲームの終了条件が満たされるまで逐次繰り返す（ステップＳ３１９、Ｎ）。
【０２４３】
（ステップＳ３２１）
ゲームの終了条件が満たされた場合には（ステップＳ３１９、Ｙ）、仮想オブジェクトの生成及び制御を停止して一連の処理を終了する。
【０２４４】
［３．４．まとめ］
以上のように、情報処理装置５０は、仮想空間上における情報処理装置５０と、各コマｖ６０と、ステージｖ９０との間の位置関係に応じて、コマｖ６０の動作を制御する。このような構成により、実オブジェクトであるコマ４０を仮想オブジェクトｖ６０として表現することで、第２の実施形態と同様のゲームを、実オブジェクトであるコマ４０を用いることなく実現することが可能となる。
【０２４５】
＜４．ハードウェア構成例＞
上述した本開示の第１〜第３の実施形態に係る情報処理装置１０、３０、及び５０による情報処理は、ソフトウェアと、情報処理装置１０、３０、及び５０として用いられる以下に説明するような情報処理装置８００のハードウェアとの協働により実現される。以下に、図２３を参照しながら、情報処理装置８００のハードウェア構成の一例について説明する。図２３は、情報処理装置８００のハードウェア構成例を示すブロック図である。
【０２４６】
情報処理装置８００は、例えば、ＧＰＳアンテナ８２１と、ＧＰＳ処理部８２３と、通信アンテナ８２５と、通信処理部８２７と、地磁気センサ８２９と、加速度センサ８３１と、ジャイロセンサ８３３と、気圧センサ８３５と、撮像部８３７と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８３９と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８４１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８４３と、操作部８４７と、表示部８４９と、デコーダ８５１と、スピーカ８５３と、エンコーダ８５５と、マイク８５７と、記憶部８５９とを有する。
【０２４７】
ＧＰＳアンテナ８２１は、測位衛星からの信号を受信するアンテナの一例である。ＧＰＳアンテナ８２１は、複数のＧＰＳ衛星からのＧＰＳ信号を受信することができ、受信したＧＰＳ信号をＧＰＳ処理部８２３に入力する。
【０２４８】
ＧＰＳ処理部８２３は、測位衛星から受信された信号に基づいて位置情報を算出する算出部の一例である。ＧＰＳ処理部８２３は、ＧＰＳアンテナ８２１から入力された複数のＧＰＳ信号に基づいて現在の位置情報を算出し、算出した位置情報を出力する。具体的には、ＧＰＳ処理部８２３は、ＧＰＳ衛星の軌道データからそれぞれのＧＰＳ衛星の位置を算出し、ＧＰＳ信号の送信時刻と受信時刻との差分時間に基づいて、各ＧＰＳ衛星から当該情報処理装置までの距離をそれぞれ算出する。そして、算出された各ＧＰＳ衛星の位置と、各ＧＰＳ衛星から当該情報処理装置までの距離とに基づいて、現在の３次元位置を算出することができる。なお、ここで用いられるＧＰＳ衛星の軌道データは、例えばＧＰＳ信号に含まれていてもよい。或いは、ＧＰＳ衛星の軌道データは、通信アンテナ８２５を介して外部のサーバから取得されてもよい。
【０２４９】
通信アンテナ８２５は、例えば携帯通信網や無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信網を介して通信信号を受信する機能を有するアンテナである。通信アンテナ８２５は、受信した信号を通信処理部８２７に供給することができる。
【０２５０】
通信処理部８２７は、通信アンテナ８２５から供給された信号に各種の信号処理を行う機能を有する。通信処理部８２７は、供給されたアナログ信号から生成したデジタル信号をＣＰＵ８３９に供給することができる。
【０２５１】
地磁気センサ８２９は、地磁気を電圧値として検出するセンサである。地磁気センサ８２９は、Ｘ軸方向、Ｙ軸方向、及びＺ軸方向の地磁気をそれぞれ検出する３軸地磁気センサであってよい。地磁気センサ８２９は、検出した地磁気データをＣＰＵ８３９に供給することができる。
【０２５２】
加速度センサ８３１は、加速度を電圧値として検出するセンサである。加速度センサ８３１は、Ｘ軸方向に沿った加速度、Ｙ軸方向に沿った加速度、及びＺ軸方向に沿った加速度をそれぞれ検出する３軸加速度センサであってよい。加速度センサ８３１は、検出した加速度データをＣＰＵ８３９に供給することができる。
【０２５３】
ジャイロセンサ８３３は、物体の角度や角速度を検出する計測器の一種である。このジャイロセンサ８３３は、Ｘ軸、Ｙ軸、及びＺ軸周りの回転角の変化する速度（角速度）を電圧値として検出する３軸ジャイロセンサであってよい。ジャイロセンサ８３３は、検出した角速度データをＣＰＵ８３９に供給することができる。
【０２５４】
気圧センサ８３５は、周囲の気圧を電圧値として検出するセンサである。気圧センサ８３５は、気圧を所定のサンプリング周波数で検出し、検出した気圧データをＣＰＵ８３９に供給することができる。
【０２５５】
撮像部８３７は、ＣＰＵ８３９の制御に従い、レンズを介して静止画像又は動画像を撮影する機能を有する。撮像部８３７は、撮影した画像を記憶部８５９に記憶させてもよい。
【０２５６】
ＣＰＵ８３９は、演算処理装置及び制御装置として機能し、各種プログラムに従って情報処理装置１０内の動作全般を制御する。またＣＰＵ８３９は、マイクロプロセッサであってもよい。このＣＰＵ８３９は、各種プログラムに従って様々な機能を実現することができる。
【０２５７】
ＲＯＭ８４１は、ＣＰＵ８３９が使用するプログラムや演算パラメータ等を記憶することができる。ＲＡＭ８４３は、ＣＰＵ８３９の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶することができる。
【０２５８】
操作部８４７は、ユーザが所望の操作をするための入力信号を生成する機能を有する。操作部８４７は、例えばタッチセンサ、マウス、キーボード、ボタン、マイク、スイッチ及びレバーなどユーザが情報を入力するための入力部と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ８３９に出力する入力制御回路などから構成されてよい。
【０２５９】
表示部８４９は、出力装置の一例であり、液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）装置、有機ＥＬ（ＯＬＥＤ：Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ディスプレイ装置などの表示装置であってよい。表示部８４９は、ユーザに対して画面を表示することにより情報を提供することができる。
【０２６０】
デコーダ８５１は、ＣＰＵ８３９の制御に従い、入力されたデータのデコード及びアナログ変換などを行う機能を有する。デコーダ８５１は、例えば通信アンテナ８２５及び通信処理部８２７を介して入力された音声データのデコード及びアナログ変換などを行い、音声信号をスピーカ８５３に出力する。スピーカ８５３は、デコーダ８５１から供給される音声信号に基づいて音声を出力することができる。
【０２６１】
エンコーダ８５５は、ＣＰＵ８３９の制御に従い、入力されたデータのデジタル変換及びエンコードなどを行う機能を有する。エンコーダ８５５は、マイク８５７から入力される音声信号のデジタル変換及びエンコードなどを行い、音声データを出力することができる。マイク８５７は、音声を集音し、音声信号として出力することができる。
【０２６２】
記憶部８５９は、データ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置、および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ここで記憶媒体としては、例えばフラッシュメモリ、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓ  
Ｍｅｍｏｒ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＲＡＭ（Ｐｈａｓｅ  ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、及びＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Only  Memory）などの不揮発性メモリや、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記録媒体などが用いられてよい。
【０２６３】
例えば、上記した表示部は、ＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔ  Ｄｉｓｐｌａｙ）であってもよい。例えば、不透過型のＨＭＤが表示部として用いられる場合には、必ずしも撮像画像は表示部に表示されなくてもよい。かかる場合には、表示部は、撮像画像ではなく実空間に仮想オブジェクトを重畳させてもよい。
【０２６４】
また、コンピュータに内蔵されるＣＰＵ、ＲＯＭ及びＲＡＭなどのハードウェアを、上記した情報処理装置が有する構成と同等の機能を発揮させるためのプログラムも作成可能である。また、当該プログラムを記録した、コンピュータに読み取り可能な記憶媒体も提供され得る。
【０２６５】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２６６】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
実オブジェクトの運動状態を取得する取得部と、
取得した前記運動状態に応じて仮想オブジェクトを表示させる表示制御部と、
を備える、情報処理装置。
（２）
前記取得部は、撮像部により撮像された画像に基づき前記運動状態を取得する、前記（１）に記載の情報処理装置。
（３）
前記取得部は、センサによって検知されたセンサデータに基づき前記運動状態を取得する、前記（１）に記載の情報処理装置。
（４）
前記センサは、前記実オブジェクトに設けられている、前記（３）に記載の情報処理装置。
（５）
撮像部と前記実オブジェクトとの相対的な位置関係に応じて、前記実オブジェクトの前記運動状態を変化させる動作制御部、
を備える、前記（１）〜（４）のいずれか一項に記載の情報処理装置。
（６）
前記動作制御部は、前記撮像部の光軸と前記実オブジェクトとの間の距離に応じて、前記運動状態を変化させる、前記（５）に記載の情報処理装置。
（７）
前記動作制御部は、前記仮想オブジェクトを表示させるための基準と前記撮像部との相対的な位置関係に応じて、前記運動状態を変化させる、前記（５）に記載の情報処理装置。」
（８）
前記表示制御部は、取得した前記運動状態に基づき、前記運動状態の変化を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、前記（１）〜（７）のいずれか一項に記載の情報処理装置。
（９）
前記表示制御部は、取得した前記運動状態に基づき、前記実オブジェクトの位置の変化を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、前記（１）〜（７）のいずれか一項に記載の情報処理装置。
（１０）
前記取得部は、複数の前記実オブジェクトの運動状態を取得し、
前記表示制御部は、取得した複数の前記実オブジェクトの運動状態に応じて前記仮想オブジェクトを表示させる、前記（１）〜（９）のいずれか一項に記載の情報処理装置。
（１１）
前記表示制御部は、取得した複数の前記実オブジェクトの運動状態に応じて、前記複数の実オブジェクトの相対的な位置関係を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、前記（１０）に記載の情報処理装置。
（１２）
前記取得部は、前記運動状態として、前記実オブジェクトの運動の変化量を取得する、前記（１）〜（１１）のいずれか一項に記載の情報処理装置。
（１３）
前記取得部は、前記運動状態として、前記実オブジェクトの運動方向の変化量を取得する、前記（１）〜（１１）のいずれか一項に記載の情報処理装置。
（１４）
前記表示制御部は、撮像部により撮像された画像から認識された基準に応じた前記仮想オブジェクトを表示させる、前記（１）〜（１３）のいずれか一項に記載の情報処理装置。
（１５）
実オブジェクトの運動状態を取得することと、
取得した前記運動状態に応じて仮想オブジェクトを表示させることと、
を含む、情報処理方法。
（１６）
コンピュータに、
実オブジェクトの運動状態を取得することと、
取得した前記運動状態に応じて仮想オブジェクトを表示させることと、
を実行させるプログラムを記憶した記憶媒体。
【符号の説明】
【０２６７】
１０、３０、５０  情報処理装置
２０、４０  実オブジェクト
２２  センサユニット
９０  ステージ
１０１、３０１、５０１  撮像部
１０２、３０２、５０２  位置算出部
１０３、３０３、５０３  コンテンツ制御部
１０４、３０４、５０４  表示制御部
１０５、３０５、５０５  操作部
１０６  運動状態取得部
１０７、３０７  通信部
１０８  運動状態取得部
１０９、３０９、５０９  表示部
２０１  センサ
２０３  センサ情報解析部
２０５  通信部
４０５  通信部
４０７  制御部
４０９  駆動部
５０１  撮像部
５０２  位置算出部
５０３  コンテンツ制御部
５０４  表示制御部
５０５  操作部
５０９  表示部
【図１】
2014191688.tif 000003
【図２】
2014191688.tif 000004
【図３】
2014191688.tif 000005
【図４】
2014191688.tif 000006
【図５】
2014191688.tif 000007
【図６】
2014191688.tif 000008
【図７】
2014191688.tif 000009
【図８】
2014191688.tif 000010
【図９】
2014191688.tif 000011
【図１０】
2014191688.tif 000012
【図１１】
2014191688.tif 000013
【図１２】
2014191688.tif 000014
【図１３】
2014191688.tif 000015
【図１４】
2014191688.tif 000016
【図１５】
2014191688.tif 000017
【図１６】
2014191688.tif 000018
【図１７】
2014191688.tif 000019
【図１８】
2014191688.tif 000020
【図１９】
2014191688.tif 000021
【図２０】
2014191688.tif 000022
【図２１】
2014191688.tif 000023
【図２２】
2014191688.tif 000024
【図２３】
2014191688.tif 000025