JP2014191688A - 情報処理装置、情報処理方法、及び、記憶媒体 - Google Patents

情報処理装置、情報処理方法、及び、記憶媒体 Download PDF

Info

Publication number
JP2014191688A
JP2014191688A JP2013068038A JP2013068038A JP2014191688A JP 2014191688 A JP2014191688 A JP 2014191688A JP 2013068038 A JP2013068038 A JP 2013068038A JP 2013068038 A JP2013068038 A JP 2013068038A JP 2014191688 A JP2014191688 A JP 2014191688A
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
control unit
unit
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013068038A
Other languages
English (en)
Inventor
Shingo Tsurumi
辰吾 鶴見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2013068038A priority Critical patent/JP2014191688A/ja
Priority to US14/169,622 priority patent/US9552653B2/en
Priority to CN201410106817.7A priority patent/CN104076920B/zh
Publication of JP2014191688A publication Critical patent/JP2014191688A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】実オブジェクトの運動状態を直感的に把握できるように仮想オブジェクトを表示させることが可能な情報処理装置等を提供する。
【解決手段】実オブジェクトの運動状態を撮像部により撮像された画像に基づき取得する、あるいは実オブジェクトに設けられているセンサによって検知されたセンサデータに基づき前記運動状態を取得する取得部と、実オブジェクトとの相対的な位置関係に応じて、前記実オブジェクトの前記運動状態を変化させる動作制御部と、取得した前記運動状態に応じて仮想オブジェクトを表示させる表示制御部と、を備える、情報処理装置。
【選択図】図1

Description

本開示は、情報処理装置、情報処理方法、及び、記憶媒体に関する。
近年、画像認識技術が高度化しており、撮像装置からの入力画像に含まれる実オブジェクト(例えば、看板やビルなどの物体)の位置や姿勢を認識することが可能となっている。このような物体認識の応用例の一つとして、AR(Augmented
Reality:拡張現実)と呼ばれる技術が知られている。
AR技術を利用することで、実空間画像に含まれる実オブジェクトに、実オブジェクトに対応付けられた仮想オブジェクト(例えば、広告情報、ナビゲーション情報、またはゲームのための情報)を付加することができる。このようなAR技術の一例が特許文献1に開示されている。
特許第3841806号
一方で、実オブジェクトの運動状態に関わらず一定の仮想オブジェクトが表示させると、実オブジェクトの運動状態を直感的に把握しづらい場合がある。
そこで、実オブジェクトの運動状態を直感的に把握できるように仮想オブジェクトを表示させることが望まれている。
本開示によれば、実オブジェクトの運動状態を取得する取得部と、取得した前記運動状態に応じて仮想オブジェクトを表示させる表示制御部と、を備える、情報処理装置が提供される。
また、本開示によれば、実オブジェクトの運動状態を取得することと、取得した前記運動状態に応じて仮想オブジェクトを表示させることと、を含む、情報処理方法が提供される。
また、本開示によれば、コンピュータに、実オブジェクトの運動状態を取得することと、取得した前記運動状態に応じて仮想オブジェクトを表示させることと、を実行させるプログラムを記憶した記憶媒体が提供される。
以上説明したように本開示によれば、実オブジェクトの運動状態を直感的に把握できるように仮想オブジェクトを表示させることが可能な情報処理装置、情報処理方法、及び、記憶媒体が提供される。
本開示の第1の実施形態に係る情報処理装置の概要を説明するための図である。 同実施形態に係る情報処理装置の画面の一例を示した図である。 同実施形態に係る情報処理装置の構成を示したブロック図である。 同実施形態に係る情報処理装置における運動状態の推測に係る処理について説明するための図である。 同実施形態に係る情報処理装置の画面の一例を示した図である。 同実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。 同実施形態の変形例に係る情報処理装置の構成を示したブロック図である。 同実施形態の変形例に係るセンサユニットの構成を示したブロック図である。 本開示の第2の実施形態に係る情報処理装置の概要を説明するための図である。 同実施形態に係る情報処理装置の画面の一例を示した図である。 同実施形態に係る情報処理装置の構成を示したブロック図である。 同実施形態において検出対象である実オブジェクトの構成を示したブロック図である。 同実施形態に係る情報処理装置の他の一態様について説明するための図である。 同実施形態に係る情報処理装置の他の一態様における画面の一例を示した図である。 同実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。 同実施形態に係る情報処理装置の他の一態様における画面の一例を示した図である。 本開示の第3の実施形態に係る情報処理装置の概要を説明するための図である。 同実施形態に係る情報処理装置の画面の一例を示した図である。 同実施形態に係る情報処理装置の構成を示したブロック図である。 同実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。 同実施形態に係る情報処理装置の他の一態様について説明するための図である。 同実施形態に係る情報処理装置の他の一態様における画面の一例を示した図である。 ハードウェア構成例を示す説明図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.第1の実施形態
1.1.概要
1.2.構成
1.3.処理
1.4.変形例
1.5.まとめ
2.第2の実施形態
2.1.概要
2.2.構成
2.3.処理
2.4.まとめ
3.第3の実施形態
3.1.概要
3.2.構成
3.3.処理
3.4.まとめ
<1.第1の実施形態>
[1.1.概要]
図1及び図2を参照して、本開示の第1の実施形態に係る情報処理装置10の概要について説明する。まず、図1を参照する。図1は、本開示の第1の実施形態に係る情報処理装置10の概要を説明するための図であり、情報処理装置10をコマ回しのゲームに適用した場合の一例を示している。
図1に示すゲームの例では、複数のユーザそれぞれが、実オブジェクトであるコマ20を実オブジェクトであるステージ90上で回し、どのユーザのコマ20がステージ90上からはじき出されずにより長く回転するかを競う。各ユーザは、ステージ90上で自身のコマ20を回すと、撮像部101及び表示部109を備えた情報処理装置10を介して、コマ20の動作を観測する。情報処理装置10の具体的な一例としてスマートフォン、携帯電話、PDA(Personal Digital Assistants)、携帯型ゲーム機器が挙げられる。
なお、以降では、コマ20a及び情報処理装置10aは、ユーザUaのコマ20及び情報処理装置10を示している。同様に、コマ20b及び情報処理装置10bは、ユーザUbのコマ20及び情報処理装置10を示している。また、コマ20a及び20bを特に区別しない場合は、単に「コマ20」と記載する。同様に、情報処理装置10a及び10bを特に区別しない場合は、単に「情報処理装置10」と記載する。
情報処理装置10は、撮像部101で撮像された画像(以降では「撮像画像」と呼ぶ)中から各コマ20を検出するとともに、撮像画像を基に各コマ20の運動状態を算出する。情報処理装置10は、算出した各コマの運動状態に応じて撮像画像中の各コマ20に仮想オブジェクトを重畳表示させる。なお、情報処理装置10がステージ90とコマ20a及び20bとのそれぞれを認識する仕組みについては、情報処理装置10の構成とあわせて別途後述する。
ここで、図2を参照する。図2は、本実施形態に係る情報処理装置10の画面の一例を示した図である。図2に示す例では、情報処理装置10は、撮像画像中のコマ20aに、所定のキャラクターを模した仮想オブジェクトv22aを関連付けて表示させている。同様に、情報処理装置10は、撮像画像中のコマ20bに、所定のキャラクターを模した仮想オブジェクトv22bを関連付けて表示させている。
また、情報処理装置10は、コマ20a及び20bそれぞれの運動状態として回転速度を算出し、それぞれの回転速度を仮想オブジェクトv22a及びv22bそれぞれのライフポイントと見立てた仮想オブジェクトv24a及びv24bを表示させている。具体的には、情報処理装置10は、コマ20aの回転速度が、空気抵抗やステージ90との摩擦により低下すると、回転速度の低下に応じてライフポイントが低下するように仮想オブジェクトv24aを表示させる。このとき、情報処理装置10は、コマ20aの回転速度の低下に応じて、仮想オブジェクトv22aとして示されたキャラクターが疲労していくように、仮想オブジェクトv22aの表示を制御してもよい。
また、情報処理装置10は、コマ20a及び20bの運動状態に基づき、以降のコマ20a及び20bの動きを推測し、推測結果に応じて、コマ20a及び20bに関連付けられた仮想オブジェクトの表示を変更してもよい。具体的な一例として、情報処理装置10は、コマ20a及び20bの近接又は衝突が推測される場合には、キャラクターを示す仮想オブジェクトv24a及びv24bのそれぞれが衝突に備えて身構えるように表示を制御してもよい。
このように、本実施形態に係る情報処理装置10は、物理法則に従って変化する実オブジェクトの運動状態を取得し、取得した運動状態に応じて、仮想オブジェクトの表示を変化させる。これにより、ユーザは、実オブジェクトの運動状態を直感的に把握することが可能となる。以降では、本実施形態に係る情報処理装置10の詳細について説明する。
[1.2.構成]
本実施形態に係る情報処理装置10の構成について図3を参照しながら説明する。図3は、本実施形態に係る情報処理装置10の構成の一例を示したブロック図である。なお、以降では、情報処理装置10の各構成について、図1及び図2に示したコマ回しのゲームにおいて、撮像画像中から実オブジェクトであるコマ20を検出し、検出されたコマ20に仮想オブジェクトを重畳表示させる場合を例に説明する。
図3に示すように、本実施形態に係る情報処理装置10は、撮像部101と、位置算出部102と、コンテンツ制御部103と、表示制御部104と、操作部105と、運動状態取得部106と、表示部109とを含む。
撮像部101は、所定のフレーム毎に画像を撮像する。撮像部101は、撮像画像を位置算出部102及び運動状態取得部106に逐次出力する。
位置算出部102は、撮像部101から撮像画像を逐次取得する。位置算出部102は、撮像部101から取得した撮像画像から実オブジェクトであるコマ20を検出する。具体的には、コマ20にはあらかじめマーカが付されており、位置算出部102は、コマ20に付されたマーカを検出することで、コマ20の位置及び姿勢を認識できる。なお、本明細書において、「マーカ」との用語は、一般に、既知のパターンを有する、実空間内に存在する何らかのオブジェクトを意味するものとする。すなわち、マーカは、例えば、実物体、実物体の一部、実物体の表面上に示される図形、記号、文字列若しくは絵柄、またはディスプレイにより表示される画像などを含み得る。狭義の意味において「マーカ」との用語は何らかのアプリケーションのために用意される特別なオブジェクトを指す場合があるが、本開示に係る技術はそのような事例には限定されない。以下に、位置算出部102がコマ20を検出する方法の具体的な一例についてまとめる。
位置算出部102は、撮像部101から取得した撮像画像から決定される特徴量を、検出対象である実オブジェクトごとにあらかじめ記憶された特徴量と照合することにより、撮像画像に含まれるマーカを認識する。
より具体的には、位置算出部102は、SIFT法またはRandom Ferns法などの特徴量決定法に従って撮像画像内の実オブジェクトの特徴量を決定し、決定した特徴量を実オブジェクトの特徴量と照合する。そして、位置算出部102は、撮像画像内の実オブジェクトの特徴量と最も適合する特徴量と関連付けられているマーカを識別するための情報(マーカコード)、撮像画像におけるマーカの位置および姿勢を認識する。
ここで、位置算出部102により、実オブジェクトの特徴量データと実オブジェクトを識別するための情報とが関連付けられてなる特徴量辞書が使用されるが、特徴量辞書は、位置算出部102が読み出し可能であれば記憶される位置は限定されない。実オブジェクトの特徴量データは、例えば、SIFT法またはRandom Ferns法に従って実オブジェクトの学習用画像から決定された特徴量の集合であってもよい。
位置算出部102は、撮像画像中からあらかじめ決められた基準となるオブジェクト(以降では「基準オブジェクト」と呼ぶ)を特定し、特定した基準オブジェクトに対するコマ20の相対的な位置(以降では「相対位置」と呼ぶ)を特定する。具体的な一例として、位置算出部102は、各コマ20の検出結果に基づき、各コマ20のうちのいずれかを基準オブジェクトとして、他のコマ20の相対位置を特定してもよい。例えば、位置算出部102は、コマ20a及びコマ20bのうち、コマ20aを基準オブジェクトとすることで、コマ20aに対するコマ20bの相対位置を特定することが可能である。
また、ステージ90にマーカを付しておいてもよい。ステージ90にマーカを付した場合には、位置算出部102は、撮像画像中に撮像されたステージ90のマーカを検出することで、検出したマーカの位置に基づき、ステージ90の位置を特定してもよい。このように、ステージ90の位置を特定することで、位置算出部102は、例えば、ステージ90を基準オブジェクトとして、コマ20a及び20bの位置を特定してもよい。
位置算出部102は、撮像部101から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を示す位置情報とをコンテンツ制御部103に逐次出力する。これにより、コンテンツ制御部103は、基準オブジェクトの位置情報を基準として、各コマ20の間の相対的な位置関係を認識することが可能となる。
また、位置算出部102は、撮像画像中のサイズを実空間上におけるサイズに変換するための尺度を算出して、コンテンツ制御部103に通知してもよい。具体的な一例として、位置算出部102は、実空間上においてサイズが既知のオブジェクトを撮像画像中から特定し、特定したオブジェクトの撮像画像中におけるサイズを測定する。実空間上においてサイズが既知のオブジェクトとしては、例えば、コマ20やステージ90に付されたマーカ等が挙げられる。
位置算出部102は、サイズの測定結果に基づき、撮像画像中のサイズを実空間上におけるサイズに変換するための尺度を算出すればよい。このように、位置算出部102が尺度を算出してコンテンツ制御部103に通知することで、コンテンツ制御部103は、撮像画像中の各コマ20間の距離と通知された尺度とに基づき、各コマ20間の実空間上における距離を算出することが可能となる。
運動状態取得部106は、撮像部101から撮像画像を逐次取得する。運動状態取得部106は、取得した撮像画像から検出対象の実オブジェクトを検出する。なお、運動状態取得部106は、位置算出部102と同様の方法を用いて、撮像画像中から実オブジェクトを検出してもよいし、位置算出部102から検出結果を取得してもよい。
また、運動状態取得部106は、撮像部101から取得した撮像画像に画像解析を施すことで、コマ20の運動状態を算出する。具体的な一例として、運動状態取得部106は、運動状態として、運動量、運動量の変化量、または運動方向の変化量を算出してもよい。
例えば、運動状態取得部106は、時系列に沿った複数枚(複数フレーム)の撮像画像に基づき、コマ20の回転速度を算出してもよい。具体的には、コマ20の回転方向の一部に回転速度を計算するためのマーカをあらかじめ付しておく。運動状態取得部106は、時系列に沿った複数枚の撮像画像に画像解析を施すことで、各撮像画像から回転速度を計算するためのマーカを検出する。運動状態取得部106は、複数の画像中から検出されたマーカの数をカウントし、撮像画像の枚数とカウントされたマーカの数との比に基づき、コマ20の回転速度を算出すればよい。なお、上記は一例であり、撮像部101から取得した撮像画像に基づきコマ20の回転速度が算出できれば、その方法は限定されない。
また、運動状態取得部106は、時系列に沿った複数枚(複数フレーム)の撮像画像に基づき、コマ20の併進速度を算出してもよい。具体的には、運動状態取得部106は、時系列に沿った複数枚の撮像画像に画像解析を施して、撮像画像中におけるコマ20の位置の変化量を測定する。運動状態取得部106は、測定したコマ20の位置の変化量に基づき、コマ20の併進速度を算出すればよい。このとき算出される併進速度は、必ずしも実空間上における絶対値としての速度である必要はない。例えば、運動状態取得部106は、撮像画像中のコマ20のサイズを基準とした相対的な併進速度を算出してもよい。なお、運動状態取得部106は、コマ20のように実空間上におけるサイズが既知のオブジェクトの撮像画像中におけるサイズに基づき、コマ20の実空間上における絶対値として速度を算出してもよい。また、上記は一例であり、撮像部101から取得した撮像画像に基づきコマ20の併進速度が算出できれば、その方法は限定されない。
また、運動状態取得部106は、時系列に沿った複数枚(複数フレーム)の撮像画像に基づき、コマ20の運動方向を算出してよい。具体的には、運動状態取得部106は、時系列に沿った複数枚の撮像画像に画像解析を施して、撮像画像中におけるコマ20の位置が変化する方向を特定すればよい。
運動状態取得部106は、所定のタイミングごとに(リアルタイムで)各コマ20の運動状態を算出し、算出した各コマ20の運動状態(例えば、回転速度、併進速度、運動方向)を示す情報をコンテンツ制御部103に通知する。
なお、上記に示した運動状態は一例であり、実オブジェクトの運動状態、即ち、運動量、運動量の変化量、または運動方向の変化量を算出できれば、その種別や算出方法は限定されない。また、図3に示す例では、位置算出部102と運動状態取得部106を別々の構成として説明しているが、位置算出部102及び運動状態取得部106を一つの構成としてまとめてもよい。
コンテンツ制御部103は、位置算出部102及び運動状態取得部106から通知される各コマ20の位置及び運動状態に基づき、各コマ20に関連付ける仮想オブジェクトを生成する。以下に、コンテンツ制御部103の詳細について説明する。
コンテンツ制御部103は、位置算出部102から、撮像部101で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を示す位置情報とを逐次取得する。具体的な一例として、コンテンツ制御部103は、各コマ20のうちいずれかを基準オブジェクトとして、基準オブジェクトであるコマ20を基準とした他のコマ20の相対位置を示す位置情報を位置算出部102から取得する。また、他の一例として、コンテンツ制御部103は、ステージ90のようにコマ20以外の実オブジェクトに付されたマーカを基準オブジェクトとして、基準オブジェクトであるマーカを基準とした各コマ20の相対位置を示す位置情報を位置算出部102から取得してもよい。
コンテンツ制御部103は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ20位置や、各コマ20間の相対的な位置関係(即ち、方向や距離)を特定する。
なお、コンテンツ制御部103は、位置算出部102から、撮像画像中のサイズを実空間上におけるサイズに変換するための尺度を示す情報を取得してもよい。この場合には、コンテンツ制御部103は、各コマ20の相対位置を示す位置情報に基づき、撮像画像中における各コマ20間の距離を取得した尺度に基づき、実空間上における距離に換算してもよい。
また、コンテンツ制御部103は、運動状態取得部106から、各コマ20の運動状態(例えば、回転速度、併進速度、及び動作方向)を示す情報を取得する。
コンテンツ制御部103は、各コマ20に対応する仮想オブジェクトを生成し、生成した各仮想オブジェクトの表示位置及び表示態様を、各コマ20の位置や運動状態に基づき特定する。以下に、コンテンツ制御部103が、仮想オブジェクトの表示位置及び表示態様を特定する処理の一例について図2を参照しながら説明する。
例えば、コンテンツ制御部103は、撮像画像中におけるコマ20a及びコマ20bの位置に基づき、コマ20a及びコマ20bのそれぞれに対応する仮想オブジェクトv22a及びv22bの表示位置を決定する。
また、コンテンツ制御部103は、コマ20a及びコマ20bの相対位置を示す位置情報に基づき、コマ20aに対するコマ20bの方向を算出する。コンテンツ制御部103は、仮想オブジェクトv22aで示されたキャラクターが算出した方向、即ち、コマ20bの方向を向くように、仮想オブジェクトv22aの向きを調整する。なお、仮想オブジェクトv22bについても同様である。なお、上記は一例であり、仮想オブジェクトv22aの向きを特定するロジックは上記に限定されない。例えば、コマ20a以外のコマ20が2以上存在する場合には、コンテンツ制御部103は、コマ20aに最も近いコマ20の方向を向くように、仮想オブジェクトv22aの向きを調整してもよい。
また、図2に示す例では、各コマ20の回転速度をライフポイントに見立ててゲームを進行している。そのため、コンテンツ制御部103は、コマ20aの回転速度を基にライフポイントを計算し、計算結果に基づいて、ライフポイントを可視化した仮想オブジェクトv24aを生成する。同様に、コンテンツ制御部103は、コマ20bの回転速度を基に、仮想オブジェクトv24bを生成する。なお、コンテンツ制御部103は、生成した仮想オブジェクトv24a及びv24bの位置を、撮像画像中の所定位置に決定してもよいし、仮想オブジェクトv22a及びv22bの位置に基づき決定してもよい。
また、コンテンツ制御部103は、算出したライフポイントに応じて、仮想オブジェクトv22a及びv22bの表示態様を変更してもよい。例えば、コンテンツ制御部103は、コマ20aの回転速度に基づき算出したライフポイントの減少に応じて、仮想オブジェクトv22aとして示されたキャラクターが疲労していくように、仮想オブジェクトv22aの表示を制御してもよい。
また、コンテンツ制御部103は、コマ20aとコマ20bとの間の相対的な位置関係に応じて仮想オブジェクトの表示態様を変更してもよい。具体的な一例として、コンテンツ制御部103は、コマ20aとコマ20bとの間の距離に応じて、仮想オブジェクトv22a及びv22bの表示態様を変更してもよい。例えば、コマ20aとコマ20bとの間の距離が閾値以下となった場合には、コンテンツ制御部103は、仮想オブジェクトv22a及びv22bで示されたキャラクターが身構えるように、仮想オブジェクトv22a及びv22bの表示態様を変更してもよい。
また、コンテンツ制御部103は、各コマ20の位置及び運動状態に基づき各コマ20の動作を推測し、推測結果に基づいて仮想オブジェクトの表示を制御してもよい。例えば、図4は、コンテンツ制御部103による運動状態の推測に係る処理について説明するための図であり、コマ20a及び20bそれぞれが動作する軌道を推測し、推測結果に応じて仮想オブジェクトv22a及びv22bの表示態様を変更する例を示している。
例えば、コンテンツ制御部103は、あるタイミングまでのコマ20aの位置、併進速度、及び運動方向を示す情報の変化に基づき、当該タイミングまでにコマ20aが動作した軌道r21aを算出する。コンテンツ制御部103は、算出した軌道r21aと当該タイミングにおけるコマ20aの位置、併進速度、及び運動方向とに基づき、以降のコマ20aの軌道r23aを算出するとよい。具体的な一例として、コンテンツ制御部103は、コマ20aの位置、併進速度、及び運動方向に基づきコマ20aが円運動や直進する軌道を推測し、推測結果に基づき以降の軌道(即ち、軌道r23a)を算出すればよい。同様に、コンテンツ制御部103は、コマ20bの位置、併進速度、及び運動方向を示す情報の変化に基づき、コマ20bが動作した軌道r21bを算出する。コンテンツ制御部103は、算出した軌道r21bと当該タイミングにおけるコマ20bの位置、併進速度、及び運動方向とに基づき、以降のコマ20bの軌道r23bを算出するとよい。
コンテンツ制御部103は、算出した軌道r23a及びr23bに基づき、コマ20a及び20bが衝突するか否かを推測する。コンテンツ制御部103は、コマ20a及び20bの衝突が推測された場合には、仮想オブジェクトv22a及びv22bで示されたキャラクターが攻撃の姿勢を取るように仮想オブジェクトv22a及びv22bの表示態様を変更してもよい。また、コンテンツ制御部103は、結果としてコマ20a及び20bが衝突したか否かに応じて、仮想オブジェクトv22a及びv22bの表示態様を変更してもよい。例えば、結果としてコマ20a及び20bが衝突しなかった場合に、コンテンツ制御部103は、仮想オブジェクトv22a及びv22bで示されたキャラクターが攻撃に失敗したことがわかるように仮想オブジェクトv22a及びv22bの表示態様を変更してもよい。
以上のように、コンテンツ制御部103は、各コマ20の位置及び運動状態に基づき、各コマ20の未来の動きを推測し、推測結果に基づき仮想オブジェクトの表示を制御してもよい。
コンテンツ制御部103は、位置算出部102から取得した撮像画像と、生成した仮想オブジェクトの制御情報とを表示制御部104に出力する。なお、制御情報には、各仮想オブジェクトを撮像画像中に画像として表示させるため表示情報や、仮想オブジェクトを表示させる位置を示す情報が含まれる。
表示制御部104は、コンテンツ制御部103から、撮像画像と仮想オブジェクトの制御情報とを取得する。表示制御部104は、取得した制御情報に基づき撮像画像中に仮想オブジェクトを重畳表示させる。表示制御部104は、仮想オブジェクトが重畳表示された撮像画像を表示部109に表示させる。表示部109は、LCD(Liquid Crystal Display)、OLED(Organic light−Emitting Diode)などにより構成される表示モジュールである。
操作部105は、情報処理装置10を操作するための入力モジュールであり、タッチパネル、ボタンなどにより構成される。操作部105は、ユーザからの入力操作の内容を示す制御情報をコンテンツ制御部103に通知する。コンテンツ制御部103は、操作部105から通知される制御情報に基づき、ユーザからの入力操作の内容を認識する。これにより、コンテンツ制御部103は、例えば、仮想オブジェクトの生成及び表示の制御に係る処理の開始や終了を、操作部105からの制御情報に基づき切り替えてもよい。このような構成により、情報処理装置10は、例えば、ゲームの開始及び終了を、操作部105に対する入力操作により制御することが可能となる。
なお、コンテンツ制御部103は、情報処理装置10を操作するユーザの種別に応じて、撮像画像に重畳表示させる仮想コンテンツを適宜切り替えてもよい。具体的な一例として、コンテンツ制御部103は、情報処理装置10を操作するユーザが、ゲームの参加者か否かに応じて撮像画像に重畳表示させる仮想コンテンツを適宜切り替えてもよい。この場合には、コンテンツ制御部103は、ユーザがゲームの参加者の場合には、そのユーザに対応する実オブジェクについては詳細な情報(例えば、運動状態を示す情報)を表示させ、他の実オブジェクトについては詳細な情報を表示させなくてもよい。また、コンテンツ制御部103は、ユーザがゲームの参加者以外の場合には、全ての実オブジェクトについて詳細な情報を表示させてもよい。なお、情報処理装置10を操作するユーザがゲームの参加者か否かについては、例えば、ゲームの開始前に操作部105を介して指定できるようにしてもよい。
また、上記では、コマ回しのゲームを例に、コマの回転速度に基づき仮想オブジェクトの表示を制御する例について説明したが、実オブジェクトの運動状態に基づき仮想オブジェクトの表示を制御できれば、上記の例には限定されない。例えば、図5は、情報処理装置10の画面の一例を示した図であり、ヨーヨー20を実オブジェクトとした場合の一例を示している。
図5に示すように、本実施形態に係る情報処理装置10をヨーヨーに適用した場合には、例えば、情報処理装置10は、ヨーヨーの技を、実オブジェクトであるヨーヨー20の動きのパターン、即ち、ヨーヨー20の位置及び動作方向の変化として認識してもよい。情報処理装置10は、ヨーヨーの技に応じて、ヨーヨー20の軌跡を表示部109に仮想オブジェクトv25として表示させてもよい。また、情報処理装置10は、運動状態としてヨーヨー20の位置や動作方向の変化を取得し、取得したヨーヨー20の位置や動作方向の変化に応じて、ヨーヨー20の動きを強調するような仮想オブジェクトv27を重畳表示させてもよい。また、情報処理装置10は、ヨーヨー20の位置や動作方向の変化に基づき、あらかじめ決められたヨーヨーの技の実行に成功したか否かを判定し、判定結果に応じてその技が成功したか否かを識別可能に仮想オブジェクトv29を表示させてもよい。
[1.3.処理]
本実施形態に係る情報処理装置の一連の動作について図6を参照しながら、図1及び図2に示したコマ回しのゲームを例に説明する。図6は、本実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
(ステップS103)
各ユーザが、実オブジェクトである各自のコマ20をステージ90上で回すと、実オブジェクトである各コマ20が動作を開始する。
(ステップS105)
次いで、各ユーザが、撮像部101及び表示部109を備えた情報処理装置10を介して各コマ20及びステージ90の観測を開始すると、位置算出部102は、撮像部101から撮像画像を取得する。位置算出部102は、撮像部101から取得した撮像画像からコマ20に付されたマーカを検出することで、コマ20の位置及び姿勢を認識する。
位置算出部102は、撮像画像中からあらかじめ決められた基準オブジェクトを特定し、特定した基準オブジェクトに対するコマ20の相対位置を特定する。例えば、位置算出部102は、撮像画像中に撮像されたステージ90のマーカを検出することで、検出したマーカの位置に基づき、ステージ90の位置を特定する。位置算出部102は、特定したステージ90を基準オブジェクトとして、各コマ20の位置を特定する。
位置算出部102は、撮像部101から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を示す位置情報とをコンテンツ制御部103に逐次出力する。
(ステップS107)
コンテンツ制御部103は、位置算出部102から、撮像部101で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を示す位置情報とを取得する。
コンテンツ制御部103は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ20位置や、各コマ20間の相対的な位置関係(即ち、方向や距離)を特定する。
コンテンツ制御部103は、位置算出部102から取得した撮像画像と、生成した仮想オブジェクトの制御情報とを表示制御部104に出力する。
表示制御部104は、コンテンツ制御部103から、撮像画像と仮想オブジェクトの制御情報とを取得する。表示制御部104は、取得した制御情報に基づき撮像画像中に仮想オブジェクトを重畳表示させる。これにより、情報処理装置10の表示部109に、実オブジェクトである各コマ20と、各コマ20に対応する仮想オブジェクトとが表示される。
(ステップS109)
以上のようにして、全ユーザの情報処理装置10が、各コマ20及びステージ90のマーカの認識を行う(ステップS109、N)。
(ステップS111)
全ユーザの情報処理装置10が各コマ20及びステージ90のマーカの認識を完了したら(ステップS109、Y)、情報処理装置10は、各コマ20の運動状態の取得を開始する。
具体的には、撮像部101は、所定のフレーム毎に画像を撮像する。撮像部101は、撮像画像を位置算出部102及び運動状態取得部106に逐次出力する。
(ステップS113)
位置算出部102は、撮像部101から取得した撮像画像に基づき、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を逐次特定する。位置算出部102は、撮像画像と、特定した基準オブジェクトの位置情報、及び基準オブジェクトに対する各コマ20の相対位置を示す位置情報をコンテンツ制御部103に逐次出力する。
運動状態取得部106は、撮像部101から撮像画像を逐次取得する。運動状態取得部106は、取得した撮像画像から検出対象の実オブジェクトを検出する。なお、運動状態取得部106は、位置算出部102と同様の方法を用いて、撮像画像中から実オブジェクトを検出してもよいし、位置算出部102から検出結果を取得してもよい。
また、運動状態取得部106は、撮像部101から取得した撮像画像に画像解析を施すことで、コマ20の運動状態を算出する。
例えば、運動状態取得部106は、時系列に沿った複数枚(複数フレーム)の撮像画像に基づき、コマ20の回転速度を算出してもよい。具体的には、運動状態取得部106は、時系列に沿った複数枚の撮像画像に画像解析を施すことで、各撮像画像から回転速度を計算するためのマーカを検出する。運動状態取得部106は、複数の画像中から検出されたマーカの数をカウントし、撮像画像の枚数とカウントされたマーカの数との比に基づき、コマ20の回転速度を算出すればよい。
また、運動状態取得部106は、時系列に沿った複数枚(複数フレーム)の撮像画像に基づき、コマ20の併進速度を算出してもよい。具体的には、運動状態取得部106は、時系列に沿った複数枚の撮像画像に画像解析を施して、撮像画像中におけるコマ20の位置の変化量を測定する。運動状態取得部106は、測定したコマ20の位置の変化量に基づき、コマ20の併進速度を算出すればよい。
また、運動状態取得部106は、時系列に沿った複数枚(複数フレーム)の撮像画像に基づき、コマ20の運動方向を算出してよい。具体的には、運動状態取得部106は、時系列に沿った複数枚の撮像画像に画像解析を施して、撮像画像中におけるコマ20の位置が変化する方向を特定すればよい。
運動状態取得部106は、所定のタイミングごとに(リアルタイムで)各コマ20の運動状態を算出し、算出した各コマ20の運動状態(例えば、回転速度、併進速度、運動方向)を示す情報をコンテンツ制御部103に通知する。
(ステップS115)
コンテンツ制御部103は、位置算出部102から、撮像部101で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を示す位置情報とを逐次取得する。
コンテンツ制御部103は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ20の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ20位置や、各コマ20間の相対的な位置関係(即ち、方向や距離)を特定する。
また、コンテンツ制御部103は、運動状態取得部106から、各コマ20の運動状態(例えば、回転速度、併進速度、及び動作方向)を取得する。
コンテンツ制御部103は、各コマ20aの位置及び運動状態に基づき各コマ20の動作を推測する。例えば、コンテンツ制御部103は、あるタイミングまでのコマ20aの位置、併進速度、及び運動方向を示す情報の変化に基づき、当該タイミングまでにコマ20aが動作した軌道r21aを算出する。コンテンツ制御部103は、算出した軌道r21aと当該タイミングにおけるコマ20aの位置、併進速度、及び運動方向とに基づき、以降のコマ20aの軌道r23aを算出することができる。
(ステップS117)
コンテンツ制御部103は、各コマ20に対応する仮想オブジェクトを生成し、生成した各仮想オブジェクトの表示位置及び表示態様を、各コマ20の位置や運動状態に基づき特定する。ここで図2を参照する。
例えば、コンテンツ制御部103は、撮像画像中におけるコマ20a及びコマ20bの位置に基づき、コマ20a及びコマ20bのそれぞれに対応する仮想オブジェクトv22a及びv22bの表示位置を決定する。
また、コンテンツ制御部103は、コマ20a及びコマ20bの相対位置を示す位置情報に基づき、コマ20aに対するコマ20bの方向を算出し、仮想オブジェクトv22a及びv22bとして表示されたキャラクターの向きを調整してもよい。
コンテンツ制御部103は、コマ20aの回転速度を基にライフポイントを計算し、計算結果に基づいて、ライフポイントを可視化した仮想オブジェクトv24a及びv24bを生成してもよい。また、コンテンツ制御部103は、算出したライフポイントに応じて、仮想オブジェクトv24a及びv24bの表示態様を変更してもよい。
また、コンテンツ制御部103は、各コマ20の動作の推測結果に基づき、仮想オブジェクトの表示を制御してもよい。例えば、コンテンツ制御部103は、コマ20a及び20bの衝突が推測された場合には、仮想オブジェクトv22a及びv22bで示されたキャラクターが攻撃の姿勢を取るように仮想オブジェクトv22a及びv22bの表示態様を変更してもよい。
(ステップS119)
情報処理装置10は、ステップS113〜S117に示した一連の処理を、あらかじめ決められたゲームの終了条件が満たされるまで継続する(ステップS119、N)。
(ステップS121)
ゲームの終了条件が満たされた場合には(ステップS119、Y)、情報処理装置10は、各コマ20の運動状態の取得を停止して一連の処理を終了する。
このように、本実施形態に係る情報処理装置10は、撮像部101で撮像された撮像画像に基づき実オブジェクトであるコマ20の運動状態を算出し、算出した運動状態に応じて仮想オブジェクトの表示を制御する。このような構成により、本実施形態に係る情報処理装置10は、実オブジェクトの運動状態を直感的に把握できるように仮想オブジェクトを表示させることが可能となる。
[1.4.変形例]
次に、第1の実施形態の変形例に係る情報処理装置10について説明する。上述した実施形態に係る情報処理装置10では、撮像部101で撮像された撮像画像に基づき実オブジェクトの運動状態を算出する運動状態取得部106を備え、運動状態取得部106が算出した運動状態に応じて仮想オブジェクトの表示を制御していた。これに対して、変形例に係る情報処理装置12では、センサを用いて検出対象である実オブジェクト20の運動状態を取得し、センサから取得した運動状態に応じて仮想オブジェクトの表示を制御する。以下に、図7及び図8を参照しながら、変形例に係る情報処理装置12の構成について、上述した実施形態とは異なる部分に着目して説明し、上述した実施形態と同様に動作する構成については詳細な説明は省略する。
まず、図7を参照する。図7は、変形例に係る情報処理装置12の構成を示したブロック図である。図7に示すように、情報処理装置12は、撮像画像に基づき運動状態を算出する運動状態取得部106に替えて、運動状態取得部108を備える点で、上述した情報処理装置10と異なる。運動状態取得部108は、通信部107を介して後述するセンサユニット22から実オブジェクト20の運動状態を取得する。以降では、まずセンサユニット22の構成を説明し、その後に運動状態取得部108の動作について説明することとする。
ここで、図8を参照する。図8は、実オブジェクト20の運動状態を取得するセンサユニット22の構成を示したブロック図である。センサユニット22は、センサ201と、センサ情報解析部203と、通信部205とを含む。
センサ201は、実オブジェクト20の運動状態を検知する。センサ201としては、検知対象の運動状態や、検知方法に応じて適宜選択し得る。センサ201の具体的な一例としては、加速度センサ、ジャイロセンサ(角速度センサ)、光センサ、磁気センサ等が挙げられる。
例えば、実オブジェクト20の回転速度を検知する場合には、センサ201としてジャイロセンサを用いてもよい。また、実オブジェクト20の併進速度や運動方向を検知する場合には、センサ201として加速度センサを用いてもよい。このように、ジャイロセンサや加速度センサを用いて実オブジェクト20の回転速度、併進速度、または運動方向を検知する場合には、センサユニット22を検知対象の実オブジェクト20に設ければよい。
センサ情報解析部203は、センサ201から検出結果を取得し、取得した検出結果を解析することで、実オブジェクト20の運動状態を算出する。センサ情報解析部203は、算出した実オブジェクト20の運動状態を、その実オブジェクト20を識別する識別情報とあわせて通信部205に出力する。
通信部205は、センサ情報解析部203から実オブジェクト20の識別情報と運動状態を示す情報とを取得し、各情報処理装置12に送信するための通信モジュールである。通信部205は、各情報処理装置12との間であらかじめ通信を確立しておくことで、センサ情報解析部203から取得した情報を、通信が確立された各情報処理装置12に逐次送信する。
ここで、再び図7を参照する。通信部107は、各センサユニット22の通信部205と情報の送受信を行うための通信モジュールである。通信部205から送信された情報は、通信部107を介して運動状態取得部108に通知される。
運動状態取得部108は、各センサユニット22から各実オブジェクト20の運動状態を示す情報を取得する。このとき、運動状態取得部108は、各センサユニット22から運動状態を示す情報に関連付けて通知される識別情報に基づき、その運動状態の取得元である実オブジェクトを認識する。運動状態取得部108は、通信部107を介してセンサユニット22から取得した運動状態を示す情報を、その運動状態の取得元である実オブジェクト20の識別情報と関連付けてコンテンツ制御部103に出力する。
以上のようにして、コンテンツ制御部103は、各実オブジェクト20の運動状態を認識することが可能となる。なお、以降の処理については、前述の実施形態に係る情報処理装置10と同様のため、詳細な説明は省略する。
なお、上記に挙げたセンサ201は一例であり、センサ情報解析部203が、センサ201の検出結果に基づき実オブジェクト20の運動状態を取得することが可能であれば、センサ201の種別は上記の例に限定されない。
また、各実オブジェクト20の運動状態が個々に検出できれば、センサユニット22は、センサ201の種別に応じて、実オブジェクト20に設けてもよいし、実オブジェクト20とは異なる位置(例えば、ステージ90)に設けてもよい。例えば、センサ201として、光センサや磁気センサを用いて実オブジェクト20の併進速度や運動方向を検知してもよい。この場合には、例えば、センサユニット22をステージ90に設けてもよい。
以上のように、変形例に係る情報処理装置12は、各種センサを用いて実オブジェクト20の運動状態を認識する。そのため、情報処理装置12は、例えば、画像処理のみでは検知することが困難なより細かい運動状態を検知し、検知結果に応じて仮想オブジェクトを表示させることが可能となる。
[1.5.まとめ]
本実施形態に係る情報処理装置10は、検出対象である実オブジェクト(例えば、コマ20)の運動状態を取得し、取得した運動状態に応じて仮想オブジェクトの表示を制御する。このような構成により、ユーザは、表示された仮想オブジェクトの表示態様に基づき、実オブジェクトの運動状態を直感的に把握することが可能となる。
<2.第2の実施形態>
[2.1.概要]
次に、本開示の第2の実施形態に係る情報処理装置30について説明する。第1の実施形態では、物理法則に従って変化する実オブジェクトの運動状態を可視化する例について説明した。第2の実施形態では、実オブジェクト20の運動状態を制御するために、直感的な操作感を提供可能な情報処理装置30について説明する。まず、本実施形態に係る情報処理装置30について説明する前に、本実施形態における課題について整理する。
近年では、多様な体感型ゲームが提案されている。このような体感型ゲームとして、例えば、操作端末の位置や姿勢を利用して、操作対象となる実オブジェクトの動きを直接的に操作するものが知られている。
一方で、コマ回しのように、コマを回した後は空気抵抗や摩擦などの物理法則に従って進行していくゲームの場合には、実オブジェクトの動きを直接的に操作する操作体系は、本来のゲームの趣旨にそぐわない場合がある。
そこで、第2の実施形態では、コマ回しのように物理法則に従って進行していくゲームにおいて、より直感的な操作感を提供可能な情報処理装置30を提供することを目的とする。
ここで、図9及び図10を参照して、本実施形態に係る情報処理装置30の概要について説明する。まず、図9を参照する。図9は、本開示の第2の実施形態に係る情報処理装置30の概要を説明するための図であり、情報処理装置30をコマ回しのゲームに適用した場合の一例を示している。
図9に示すゲームの例では、複数のユーザそれぞれが、実オブジェクトであるコマ40を実オブジェクトであるステージ90上で回し、どのユーザのコマ40がステージ90上からはじき出されずにより長く回転するかを競う。
なお、以降では、コマ40a及び情報処理装置30aは、ユーザUaのコマ40及び情報処理装置30を示している。同様に、コマ40b及び情報処理装置30bは、ユーザUbのコマ40及び情報処理装置30を示している。また、コマ40a及び40bを特に区別しない場合は、単に「コマ40」と記載する。同様に、情報処理装置30a及び30bを特に区別しない場合は、単に「情報処理装置30」と記載する。
コマ40内には、コマ40の動作(例えば回転速度)を変化させる駆動部409が備えられている。情報処理装置30は、あらかじめ関連付けられたコマ40と自身との間の相対的な位置関係に応じて、そのコマ40の駆動部409を制御可能に構成されている。
各ユーザは、ステージ90上で自身のコマ40を回すと、撮像部301及び表示部309を備えた情報処理装置30を介してコマ40の動作を観測しながら、情報処理装置30を操作することでコマ40の動きを制御する。
このとき、情報処理装置30は、制御対象となるコマ40と自身との間の相対的な位置関係に応じて、コマ40の駆動部409を制御する。具体的な一例として、ユーザは自身のコマ40が画面の中心に表示されるように自身の情報処理装置30を操作する。この場合には、情報処理装置30は、例えば、撮像部301の光軸と制御対象となるコマ40との間の距離L1が大きくなるほど、制御対象となるコマ40の空気抵抗や摩擦係数が高くなり、長く回転を続けることが困難となるように駆動部409を制御する。特に、情報処理装置30は、コマ40が画面外に出た場合には、画面内にとらえられている場合よりも空気抵抗や摩擦係数が高くなるようにコマ40の駆動部409を制御してもよい。これにより、情報処理装置30は、ユーザが自身の操作する情報処理装置30の画面の中央に自身のコマ40をとらえ続けることで、ゲームを有利に進められるように演出することが可能となる。
また、情報処理装置30は、ステージ90と自身との間の相対的な位置関係に応じて、コマ40の駆動部409を制御してもよい。具体的な一例として、情報処理装置30は、ステージ90に対する撮像部301の光軸の仰角θ1に応じて、コマ40の重心の位置が上下に変化するように駆動部409を制御してもよい。具体的な一例として、情報処理装置30は、例えば、仰角θ1が小さくなるほど、コマ40の重心が低くなるように駆動部409を制御してもよい。一方で、この場合には、仰角θ1が小さくなるほどコマ40を認識するためのマーカを見失いやすいように、マーカの位置を調整しておくとよい。これにより、仰角θ1が小さくなるほど重心が低くなりゲームを有利に進められるようになる一方で、マーカを画面内にとらえにくくなり、画面からマーカが外れた場合にはユーザにとって不利に働くようにゲームを演出することが可能となる。
また、情報処理装置30は、タッチパネルのような操作部305を備え、操作部305から入力されたユーザ操作に基づき、コマ40の運動状態を変化させてもよい。例えば、ユーザが情報処理装置30の表示部309に表示された自身のコマ40をタップした場合に、情報処理装置30は、タップされたコマ40の回転速度を変化させてもよい。
また、情報処理装置30は、第1の実施形態と同様に、コマ40の運動状態を取得し、取得した運動状態を表示部309に可視化して表示させてもよい。なお、情報処理装置30が、制御対象となるコマ40を認識して動作を制御する仕組みについては、情報処理装置30の構成とあわせて別途後述する。
ここで、図10を参照する。図10は、本実施形態に係る情報処理装置30の画面の一例を示した図である。図10に示す例では、情報処理装置30は、ゲームのルールや進行状況を説明するためのガイダンスとしての仮想オブジェクトv45及びv47を撮像部301で撮像された撮像画像に重畳表示させる。また、情報処理装置30は、ユーザの操作を助けるために、ガイドとしての仮想オブジェクトv43を撮像画像に重畳表示させてもよい。
具体的な一例として、図10に示す例では、ユーザが自身のコマ40を自身の情報処理装置30の表示部309の中心にとらえ続けることで、情報処理装置30は、制御対象であるコマ40がより長く回転し続けるようにコマ40の駆動部409を制御する。この場合には、情報処理装置30は、表示部309に表示された画面上に、ルールを説明するためのガイダンスv45として「コマを画面の中心にとらえてください」というメッセージを表示させている。このとき、情報処理装置30は、ユーザによるコマ40の操作を助けるためのガイドv43として、画面の中心を示すガイドとして仮想オブジェクトv43を表示させている。
また、情報処理装置30は、制御対象であるコマ40の状態に応じて、ガイダンスv47を表示させてもよい。具体的な一例として、情報処理装置30は、画面の中心(換言すると、撮像部301の光軸)からコマ40が所定の距離以上離れた場合(または、画面内にとらえられなくなった場合)に、状況を通知するためのガイダンスとして仮想オブジェクトv47を表示させてもよい。例えば、図10の例では、情報処理装置30は、仮想オブジェクトv47として、「WARNING」というメッセージを表示させている。
また、情報処理装置30は、制御対象となるコマ40と自身との間の相対的な位置関係や、ステージ90と自身との間の相対的な位置関係を取得し、取得した位置関係を可視化した表示情報として仮想オブジェクトv41aを表示させてもよい。例えば、図10に示す例では、情報処理装置30は、撮像部301の光軸と制御対象となるコマ40との間の距離L1や、ステージ90に対する撮像部301の光軸の仰角θ1を、仮想オブジェクトv41aとして可視化して表示させている。また、情報処理装置30は、距離L1及び仰角θ1に基づき算出した空気抵抗や摩擦力(摩擦係数)を仮想オブジェクトv41aとして可視化して表示させてもよい。また、情報処理装置30は、制御対象以外のコマ40については、各コマ40の操作者を可視化した表示情報として仮想オブジェクトv41bを表示させてもよい。
このように、本実施形態に係る情報処理装置30は、自身と、制御対象となるコマ40と、ステージ90との間の位置関係に応じて、コマ40の動作を制御する。このような構成により、コマ回しのような物理法則に従って進行していくゲームにおいて、対象となる実オブジェクトを直接操作する場合に比べて、より直感的な操作感を提供することが可能となる。以降では、本実施形態に係る情報処理装置30の詳細について説明する。
[2.2.構成]
本実施形態に係る情報処理装置30の構成について図11及び図12を参照しながら説明する。図11は、本実施形態に係る情報処理装置30の構成の一例を示したブロック図である。また、図12は、本実施形態において制御対象である実オブジェクト40(例えば、コマ40)の構成を示したブロック図である。なお、以降では、本実施形態に係る情報処理装置30について、図9及び図10に示したコマ回しのゲームにおいて、実オブジェクトであるコマ40を、情報処理装置30により操作する場合を例に説明する。
図11に示すように、本実施形態に係る情報処理装置30は、撮像部301と、位置算出部302と、コンテンツ制御部303と、表示制御部304と、操作部305と、通信部307と、表示部309とを含む。また、図12に示すように、実オブジェクト40は、通信部405と、制御部407と、駆動部409とを含む。
なお、図11における撮像部301と、位置算出部302とは、第1の実施形態の変形例における撮像部101と、位置算出部102とに相当する(図7参照)。そのため、以降では、本実施形態に係る情報処理装置30について、第1の実施形態の変形例に係る情報処理装置12と異なる部分に着目して説明することとし、情報処理装置12と同様の構成については詳細な説明は省略するものとする。
撮像部301は、所定のフレーム毎に画像を撮像し、撮像画像を位置算出部302に逐次出力する。
位置算出部302は、撮像部301から撮像画像を逐次取得し、取得した撮像画像から実オブジェクトの一例であるコマ40を検出する。なお、位置算出部302による撮像画像からコマ40を検出する処理については、第1の実施形態の変形例に係る位置算出部102と同様である。
位置算出部302は、撮像画像中からあらかじめ決められた基準となる基準オブジェクトを特定し、特定した基準オブジェクトに対するコマ40の相対位置を特定する。
位置算出部302は、撮像部301から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ40の相対位置を示す位置情報とをコンテンツ制御部303に逐次出力する。これにより、コンテンツ制御部303は、基準オブジェクトの位置情報を基準として、各コマ40の間の相対的な位置関係を認識することが可能となる。
また、ステージ90にマーカを付しておく。位置算出部302は、撮像画像中に撮像されたステージ90のマーカを検出することで、検出したマーカの位置及び向きに基づき、撮像画像中におけるステージ90の位置及び向きを特定してもよい。位置算出部302は、特定したステージ90の位置情報(即ち、位置及び向き)をコンテンツ制御部303に逐次通知する。なお、位置算出部302は、特定したステージ90の位置情報を、基準オブジェクトの位置としてコンテンツ制御部303に通知してもよい。
操作部305は、タッチパネルのような操作デバイスを示している。操作部305は、ユーザからの入力操作を受けた場合に、ユーザからの入力内容を示す制御情報をコンテンツ制御部303に出力する。例えば、操作部305がタッチパネルの場合には、操作部305は、ユーザからの入力操作に基づき、タッチ位置やタッチの態様(例えば、タップやスライド)を示す制御情報をコンテンツ制御部303に出力する。
コンテンツ制御部303は、位置算出部302から通知される各コマ40の位置に基づき、情報処理装置30と制御対象であるコマ40との間の相対的な位置関係を特定する。同様に、コンテンツ制御部303は、位置算出部302から通知されるステージ90の位置及び向きに基づき、情報処理装置30とステージ90との間の相対的な位置関係を特定する。以下に、コンテンツ制御部303の詳細について説明する。
コンテンツ制御部303は、位置算出部302から、撮像部301で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ40の相対位置を示す位置情報とを逐次取得する。また、コンテンツ制御部303からステージ90の位置情報を逐次取得する。なお、コンテンツ制御部303は、ステージ90の位置情報を基準オブジェクトの位置情報として取得してもよい。
コンテンツ制御部303は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ40の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ40位置や、各コマ40間の相対的な位置関係(即ち、方向や距離)を特定する。
また、コンテンツ制御部303は、撮像画像中における各コマ40の位置やステージ90の位置及び向きに基づき、情報処理装置30、制御対象であるコマ40、及びステージ90のうち少なくとも2つの間の相対位置を算出する。以下に、コンテンツ制御部303が、情報処理装置30、制御対象であるコマ40、及びステージ90のうち少なくとも2つの間の相対位置を算出する処理の一例について図9を参照しながら説明する。
例えば、コンテンツ制御部303は、制御対象であるコマ40の撮像画像中の位置及びサイズに基づき、撮像部301の光軸と制御対象であるコマ40との間の距離L1を算出してもよい。具体的には、コンテンツ制御部303は、撮像画像中におけるコマ40のサイズに基づき撮像画像中の距離と実空間上の距離と間の尺度を算出することができる。コンテンツ制御部303は、撮像画像中における中心(即ち、光軸の位置)とコマ40との間の距離を、算出した尺度に基づき、実空間上の距離に換算すればよい。
また、コンテンツ制御部303は、ステージ90の位置及び向きに基づき、ステージ90に対して情報処理装置30の撮像部301が向いている向き、即ち、撮像部301の光軸の仰角θ1を算出してもよい。また、別の一例として、情報処理装置30にジャイロセンサを設けて、コンテンツ制御部303は、ジャイロセンサの検知結果に基づき、撮像部301の光軸の仰角θ1を算出してもよい。この場合には、仰角θ1は、実空間上の水平面に対する仰角となる。
なお、上述した光軸との距離L1及び仰角θ1は一例であり、情報処理装置30、制御対象であるコマ40、及びステージ90のうち少なくとも2つの間の相対位置を示す情報が算出可能であれば、情報の種別や算出方法は限定されない。なお、以降では、コンテンツ制御部303は、光軸との距離L1及び仰角θ1を算出したものとして説明する。
コンテンツ制御部303は、算出した光軸との距離L1を基に、制御対象であるコマ40に対して付与する空気抵抗や摩擦を算出する。なお、距離L1がどれだけ離れた場合に、どれくらいの空気抵抗や摩擦を付与するかについては、あらかじめ決めてコンテンツ制御部303に記憶させておけばよい。コンテンツ制御部303は、算出した空気抵抗や摩擦に基づき、後述する駆動部409の駆動量を算出する。なお、コマ40に対して空気抵抗や摩擦を付与するために用いる駆動部409の種別や、駆動部409の制御方法の詳細については、駆動部409の説明とあわせて後述する。
また、コンテンツ制御部303は、算出した仰角θ1を基に、制御対象であるコマ40の重心の高さを算出する。なお、仰角θ1と重心の高さとの関係については、あらかじめ決めてコンテンツ制御部303に記憶させておけばよい。コンテンツ制御部303は、算出した重心の高さに基づき駆動部409の駆動量を算出する。
また、コンテンツ制御部303は、操作部305に入力されたユーザ操作に基づき駆動部409の駆動量を変化させてもよい。例えば、コンテンツ制御部303は、ユーザ操作に応じて、コマ40の回転速度を変化させてもよい。なお、ユーザ操作の内容と回転速度の変化量との関係については、あらかじめ決めてコンテンツ制御部303に記憶させておけばよい。コンテンツ制御部303は、算出した回転速度の変化量に基づき駆動部409の駆動量を算出する。
コンテンツ制御部303は、駆動させる駆動部409の識別情報と、算出した駆動量とを、通信部307を介して、制御対象であるコマ40に通知する。通信部307は、各実オブジェクト40の通信部405と情報の送受信を行うための通信モジュールである。
また、コンテンツ制御部303は、各コマ40に対応する仮想オブジェクトを生成し、生成した各仮想オブジェクトの表示位置及び表示態様を、情報処理装置30、各コマ40、及びステージ90の位置関係に基づき特定する。以下に、コンテンツ制御部303が、仮想オブジェクトの表示位置及び表示態様を特定する処理の一例について図10を参照しながら説明する。
例えば、コンテンツ制御部303は、情報処理装置30、各コマ40、及びステージ90の位置関係を示す情報(例えば、光軸からの距離L1や仰角θ1)を可視化して、表示情報として仮想オブジェクトv41aを生成してもよい。この場合には、コンテンツ制御部303は、生成した仮想オブジェクトv41aの表示位置を、制御対象であるコマ40の位置情報に基づき決定すればよい。また、コンテンツ制御部303は、各コマ40の識別結果に基づき、各コマ40を操作するユーザを特定し、特定したユーザを可視化して、表示情報として仮想オブジェクトv41bを生成してもよい。この場合には、コンテンツ制御部303は、生成した仮想オブジェクトv41bの表示位置を、対応するコマ40の位置情報に基づき決定すればよい。
また、コンテンツ制御部303は、ゲームの進行状態に応じて、ガイダンスとしての仮想オブジェクトv45及びv47を生成してもよい。また、コンテンツ制御部303は、ゲームが開始されたらガイドとしての仮想オブジェクトv43を生成し、ゲームの継続中は仮想オブジェクトv43が表示されている状態に維持するようにしてもよい。
コンテンツ制御部303は、位置算出部302から取得した撮像画像と、生成した仮想オブジェクトの制御情報とを表示制御部304に出力する。なお、制御情報には、各仮想オブジェクトを撮像画像中に画像として表示させるため表示情報や、仮想オブジェクトを表示させる位置を示す情報が含まれる。なお、表示制御部304及び表示部309の動作は、第1の実施形態における表示制御部104及び表示部109と同様のため詳細な説明は省略する。
次に、図12を参照しながら実オブジェクト40(例えば、コマ40)の構成について説明する。
通信部405は、通信部307を介してコンテンツ制御部303から送信された駆動させる駆動部409の識別情報と、算出した駆動量とを、情報処理装置30から受けて制御部407に出力する。制御部407は、情報処理装置30から取得した識別情報に基づき駆動させる駆動部409を特定し、特定した駆動部409を取得した駆動量に基づき駆動させることで、コマ40の動作を制御する。以下に、コマ40の動作と駆動部409の種別及び制御方法との関係についてまとめる。
例えば、コマ40の軸の接地面積が可変となるように駆動部409を設けてもよい。この場合には、制御部407は、軸の太さ変化させることで軸の接地面積を制御してもよい。軸の接地面積が広がれば、軸と接地面(例えばステージ90)との間の摩擦力も増大する。即ち、制御部407は、軸の接地面積を制御することにより、摩擦の量を制御する。
また、駆動部409として、コマ40の回転方向に向かって空力ブレーキをかける可変翼を、コマ40の回転方向に沿って設けてもよい。この場合には、制御部407は、可変翼の開閉量を制御することにより、空気抵抗の量を制御する。
また、重心の高さの制御に関しては、例えば、コマ40の軸方向に沿って位置を変更可能な錘を駆動部409として設ければよい。この場合には、制御部407は、この錘の位置を制御することで、コマ40の重心の高さを制御することができる。
また、駆動部409として、コマ40の回転速度を増大または減衰させるようにモーターを設けてもよい。この場合には、制御部407は、モーターの回転量を制御することで、コマ40の回転速度を制御することが可能となる。なお、このモーターによりコマ40の回転速度を制御することで、空気抵抗や摩擦による影響を模擬してもよい。
なお、上記では、コマ回しのゲームを例について説明したが、情報処理装置30、実オブジェクト40、及びステージ90のうち少なくとも2つの間の相対位置に基づき、実オブジェクト40の動作を制御できれば、上記の例には限定されない。例えば、図13は、本実施形態に係る情報処理装置30の他の一態様について説明するための図であり、レースゲームに情報処理装置30を適用した場合を示している。この場合には、情報処理装置30は、車体及びコースを、それぞれ実オブジェクト40及びステージ90として、撮像部301の光軸からの距離L1や仰角θ1を算出し、算出結果に基づいて車体40の動作を制御すればよい。
ここで、図14を参照する。図14は、実施形態に係る情報処理装置の他の一態様における画面の一例を示した図であり、図13に示したレースゲームの操作画面の一例を示している。この場合には、情報処理装置30は、撮像部301の光軸と制御対象となる車体40との間の距離L1やステージ90に対する撮像部301の光軸の仰角θ1を可視化した表示情報として仮想オブジェクトv41aを表示させてもよい。情報処理装置30は、制御対象以外の車体40については、各車体40の操作者を可視化した表示情報として仮想オブジェクトv41bを表示させてもよい。
また、図10に示したコマ回しのゲームの例と同様に、ガイダンスとしての仮想オブジェクトv45及びv47や、ガイドとしての仮想オブジェクトv43を撮像画像に重畳表示させてもよい。
[2.3.処理]
本実施形態に係る情報処理装置の一連の動作について図15を参照しながら説明する。図15は、本実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
(ステップS201)
情報処理装置30の通信部307は、制御対象であるコマ40の通信部405との間で通信を確立する。以降は、確立された通信経路により、情報処理装置30からの情報がコマ40に送信される。
(ステップS203)
各ユーザが、実オブジェクトである各自のコマ40をステージ90上で回すと、実オブジェクトである各コマ40が動作を開始する。
(ステップS205)
次いで、各ユーザが、撮像部301及び表示部309を備えた情報処理装置30を介して各コマ40及びステージ90の観測を開始すると、位置算出部302は、撮像部301から撮像画像を取得する。位置算出部302は、撮像部301から取得した撮像画像からコマ40に付されたマーカを検出することで、コマ40の位置及び姿勢を認識する。
位置算出部302は、撮像画像中からあらかじめ決められた基準オブジェクトを特定し、特定した基準オブジェクトに対するコマ40の相対位置を特定する。例えば、位置算出部302は、撮像画像中に撮像されたステージ90のマーカを検出することで、検出したマーカの位置に基づき、ステージ90の位置を特定する。位置算出部302は、特定したステージ90を基準オブジェクトとして、各コマ20の位置を特定する。
位置算出部302は、撮像部301から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ40の相対位置を示す位置情報とをコンテンツ制御部303に逐次出力する。
(ステップS209)
以上のようにして、全ユーザの情報処理装置30が、各コマ40及びステージ90のマーカの認識を行う(ステップS209、N)。
(ステップS211)
全ユーザの情報処理装置30が各コマ40及びステージ90のマーカの認識を完了したら(ステップS209、Y)、情報処理装置30は、自身と、制御対象であるコマ40、と、ステージ90との間の相対的な位置関係の取得を開始する。
(ステップS213)
位置算出部302は、撮像部301から撮像画像を逐次取得し、取得した撮像画像から実オブジェクトであるコマ40を検出する。なお、位置算出部302による撮像画像からコマ40を検出する処理については、第1の実施形態の変形例に係る位置算出部102と同様である。
位置算出部302は、撮像画像中からあらかじめ決められた基準となる基準オブジェクトを特定し、特定した基準オブジェクトに対するコマ40の相対位置を特定する。
位置算出部302は、撮像部301から取得した撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ40の相対位置を示す位置情報とをコンテンツ制御部303に逐次出力する。
また、位置算出部302は、撮像画像中に撮像されたステージ90のマーカを検出することで、検出したマーカの位置及び向きに基づき、撮像画像中におけるステージ90の位置及び向きを特定してもよい。位置算出部302は、特定したステージ90の位置情報(即ち、位置及び向き)をコンテンツ制御部303に逐次通知する。なお、位置算出部302は、特定したステージ90の位置情報を、基準オブジェクトの位置としてコンテンツ制御部303に通知してもよい。
(ステップS215)
コンテンツ制御部303は、位置算出部302から、撮像部301で撮像された撮像画像と、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ40の相対位置を示す位置情報とを逐次取得する。また、コンテンツ制御部303からステージ90の位置情報を逐次取得する。なお、コンテンツ制御部303は、ステージ90の位置情報を基準オブジェクトの位置情報として取得してもよい。
コンテンツ制御部303は、基準オブジェクトの位置情報と、基準オブジェクトに対する各コマ40の相対位置を示す位置情報とに基づき、取得した撮像画像中における各コマ40位置や、各コマ40間の相対的な位置関係(即ち、方向や距離)を特定する。
また、コンテンツ制御部303は、撮像画像中における各コマ40の位置やステージ90の位置及び向きに基づき、コンテンツ制御部303が、情報処理装置30、制御対象であるコマ40、及びステージ90のうち少なくとも2つの間の相対位置を算出する。
例えば、コンテンツ制御部303は、制御対象であるコマ40の撮像画像中の位置及びサイズに基づき、撮像部301の光軸と制御対象であるコマ40との間の距離L1を算出してもよい。
コンテンツ制御部303は、算出した光軸との距離L1を基に、制御対象であるコマ40に対して付与する空気抵抗や摩擦を算出する。コンテンツ制御部303は、算出した空気抵抗や摩擦に基づき、後述する駆動部409の駆動量を算出する。
また、コンテンツ制御部303は、ステージ90の位置及び向きに基づき、ステージ90に対して情報処理装置30の撮像部301が向いている向き、即ち、撮像部301の光軸の仰角θ1を算出してもよい。
コンテンツ制御部303は、算出した仰角θ1を基に、制御対象であるコマ40の重心の高さを算出する。コンテンツ制御部303は、算出した重心の高さに基づき駆動部409の駆動量を算出する。
また、コンテンツ制御部303は、操作部305に入力されたユーザ操作に基づき駆動部409の駆動量を変化させてもよい。例えば、コンテンツ制御部303は、ユーザ操作に応じて、コマ40の回転速度を変化させてもよい。コンテンツ制御部303は、算出した回転速度の変化量に基づき駆動部409の駆動量を算出する。
コンテンツ制御部303は、駆動させる駆動部409の識別情報と、算出した駆動量とを、通信部307を介して、制御対象であるコマ40に通知する。
通信部405は、通信部307を介してコンテンツ制御部303から送信された駆動させる駆動部409の識別情報と、算出した駆動量とを、情報処理装置30から受けて制御部407に出力する。制御部407は、情報処理装置30から取得した識別情報に基づき駆動させる駆動部409を特定し、特定した駆動部409を取得した駆動量に基づき駆動させることで、コマ540の動作を制御する。
(ステップS219)
情報処理装置30は、ステップS213〜S215に示した一連の処理を、あらかじめ決められたゲームの終了条件が満たされるまで継続する(ステップS219、N)。
(ステップS221)
ゲームの終了条件が満たされた場合には(ステップS219、Y)、情報処理装置30は、自身と、制御対象であるコマ40、と、ステージ90との間の相対的な位置関係の取得を停止して一連の処理を終了する。
このように、本実施形態に係る情報処理装置30は、自身と、制御対象となるコマ40と、ステージ90との間の位置関係に応じて、コマ40の駆動部409を制御することで、コマ40に対する空気抵抗や摩擦力の増減を制御する。このような構成により、コマ回しのような物理法則に従って進行していくゲームにおいて、対象となる実オブジェクトを直接操作する場合に比べて、より直感的な操作感を提供することが可能となる。
なお、上述した第2の実施形態に係る情報処理装置30に、第1の実施形態に係る情報処理装置10(または、第1の実施形態の変形例に係る情報処理装置12)を組み合わせることで、情報処理装置30の操作に応じて変化したコマ40の運動状態に基づき仮想オブジェクトを表示させてもよい。例えば、図16は、本実施形態に係る情報処理装置の他の一態様における画面の一例を示した図であり、図10に示した表示画面に対して、各コマ40の運動状態に応じた仮想オブジェクトを重畳表示させた場合の一例を示している。
具体的には、第2の実施形態に係る情報処理装置30に対して、第1の実施形態に係る運動状態取得部106を追加することで、撮像部301から撮像画像に基づき各コマ40の運動状態を取得できるようにすればよい。また、他の一例として、第2の実施形態に係る情報処理装置30に対して、第1の実施形態の変形例に係るセンサユニット22及び運動状態取得部108を追加することで、センサ201の検知結果に基づき各コマ40の運動状態を取得できるようにすればよい。
コンテンツ制御部303は、取得した運動状態に基づきキャラクターを模した仮想オブジェクトv22a及びv22bを生成または制御してもよい。また、コンテンツ制御部303は、仮想オブジェクトv22a及びv22bそれぞれのライフポイントを示す仮想オブジェクトv24a及びv24bを生成または制御してもよい。また、他の一例として、コンテンツ制御部303は、取得した運動状態を可視化した表示情報として仮想オブジェクトを生成してもよい。
上記のように、第1の実施形態及び第2の実施形態を組み合わせることで、情報処理装置30は、情報処理装置30に対する操作に応じて刻々と変化するコマ40の運動状態を、仮想オブジェクトとして提示することが可能となる。このような構成により、ユーザは、情報処理装置30を操作することで、制御対象であるコマ40の動きを制御でき、かつ、制御により変化したコマ40の運動状態を、表示された仮想オブジェクトの表示態様に基づき認識することが可能となる。
[2.4.まとめ]
以上のように、本実施形態に係る情報処理装置30は、自身と、制御対象となるコマ40と、ステージ90との間の位置関係に応じて、コマ40の駆動部409を制御することで、コマ40に対する空気抵抗や摩擦の影響を模擬する。このような構成により、コマ回しのような物理法則に従って進行していくゲームにおいて、対象となる実オブジェクトを直接操作する場合に比べて、より直感的な操作感を提供することが可能となる。
<3.第3の実施形態>
[3.1.概要]
次に、本開示の第3の実施形態に係る情報処理装置50について説明する。上述した第2の実施形態に係る情報処理装置30では、実空間上における実オブジェクトと情報処理装置とステージとの間の相対的な位置関係に応じて、当該実オブジェクトの動作を制御していた。一方で、制御対象を実オブジェクトに替えて、仮想空間上における仮想オブジェクトとしてもよい。第3の実施形態では、仮想オブジェクトを制御対象とし、空気抵抗や摩擦力のような物理法則による仮想オブジェクトへ影響を模擬することで、仮想オブジェクトの動作を制御する例について説明する。
以降では、図17及び図18を参照して、本開示の第3の実施形態に係る情報処理装置50の概要について説明する。まず、図17を参照する。図17は、本開示の第3の実施形態に係る情報処理装置50の概要を説明するための図であり、情報処理装置50をコマ回しのゲームに適用した場合の一例を示している。
図17に示すゲームの例では、複数のユーザそれぞれが、仮想空間上の仮想オブジェクトであるステージv90やコマv60を、撮像部501と表示部509とを備えた情報処理装置50を介して観測する。ユーザは、上述した第2の実施形態と同様に情報処理装置50を操作することで、仮想空間上のコマv60の動作を制御する。
このとき、情報処理装置50は、撮像部501で撮像された撮像画像中から基準となるマーカを検出し、撮像画像中のマーカの位置、向き、及びサイズに基づき、仮想空間上における、ステージv90、コマv60、及び情報処理装置50の相対位置を算出する。情報処理装置50は、算出した相対位置に基づき、第2の実施形態と同様に、仮想空間上における、撮像部501の光軸と制御対象となるコマv60との間の距離L2や、ステージv90に対する撮像部501の光軸の仰角θ2を算出する。そして、情報処理装置50は、算出した光軸からの距離L2や仰角θ2に基づき、制御対象となるコマv60の動作を算出し、算出した結果に応じて、仮想オブジェクトであるコマv60の表示位置や表示態様を制御する。
ここで、図18を参照する。図18は、本実施形態に係る情報処理装置50の画面の一例を示した図である。情報処理装置50は、各コマv60間の位置関係や、算出した光軸からの距離L2や仰角θ2に基づき、各コマv60の表示位置や表示態様を特定して、撮像画像に重畳表示させる。例えば、図18に示す例では、情報処理装置50は、コマv60a及びv60bを撮像画像に重畳表示させている。
また、情報処理装置50は、制御対象となるコマv60と自身との間の相対的な位置関係や、ステージv90と自身との間の相対的な位置関係を取得し、取得した位置関係を可視化した表示情報として仮想オブジェクトv41aを表示させてもよい。例えば、図18に示す例では、情報処理装置50は、撮像部501の光軸と制御対象となるコマv60との間の距離L2や、ステージv90に対する撮像部501の光軸の仰角θ2を、仮想オブジェクトv41aとして可視化して表示させている。また、情報処理装置50は、制御対象以外のコマv60については、各コマv60の操作者を可視化した表示情報として仮想オブジェクトv41bを表示させてもよい。
このように、本実施形態に係る情報処理装置50は、仮想空間上における情報処理装置50と、各コマv60と、ステージv90との間の位置関係に応じて、コマv60の動作を制御する。このような構成により、実オブジェクトであるコマ40を仮想オブジェクトv60として表現することで、第2の実施形態と同様のゲームを、実オブジェクトの一例であるコマ40を用いることなく実現することが可能となる。以降では、本実施形態に係る情報処理装置50の詳細について説明する。
[3.2.構成]
本実施形態に係る情報処理装置50の構成について図19を参照しながら説明する。図19は、本実施形態に係る情報処理装置50の構成を示したブロック図である。なお、以降では、本実施形態に係る情報処理装置50について、図17及び図18に示したコマ回しのゲームにおいて、仮想オブジェクトであるコマv60を、情報処理装置50により操作する場合を例に説明する。
図19に示すように、本実施形態に係る情報処理装置50は、撮像部501と、位置算出部502と、コンテンツ制御部503と、表示制御部504と、操作部505と、表示部509とを含む。
撮像部501は、所定のフレーム毎に画像を撮像し、撮像画像を位置算出部302に逐次出力する。
位置算出部502は、撮像部501から撮像画像を逐次取得する。位置算出部502は、撮像部501から取得した撮像画像から、例えば、コマv60のような仮想オブジェクトを生成するための基準となるマーカを検出する。なお、位置算出部502によるマーカの検出方法は、第1の実施形態に係る位置算出部102と同様である。
位置算出部502は、撮像部501から取得した撮像画像と、検出したマーカの位置を示す位置情報とをコンテンツ制御部503に逐次出力する。
コンテンツ制御部503は、位置算出部502から、撮像部501で撮像された撮像画像と、検出されたマーカの位置を示す位置情報とを逐次取得する。
コンテンツ制御部503は、取得した撮像画像中におけるマーカの位置、向き、及びサイズに基づき、マーカの位置を基準とした仮想空間上における情報処理装置50の位置及び向きを特定する。
また、コンテンツ制御部503は、仮想オブジェクトのコマv60を、各ユーザが操作する情報処理装置50ごとに生成し、各コマv60をそれぞれ異なる情報処理装置50に関連付ける。このとき、コンテンツ制御部503は、自身の制御対象となるコマv60を特定する。また、コンテンツ制御部503は、仮想オブジェクトのステージv90を生成する。
コンテンツ制御部503は、生成した各コマv60及びステージv90の仮想空間上における位置を、マーカの位置を基準として特定する。
また、コンテンツ制御部503は、例えば、操作部505から所定の操作を受けると、生成した各コマv60の運動を開始させる。
コンテンツ制御部503は、各コマv60間の相対位置や、コマv60とステージv90との間の相対位置に基づき、各コマv60の運動状態(例えば、運動方向、併進速度、及び回転速度)を算出し、各コマv60の動作を制御する。
具体的な一例として、コンテンツ制御部503は、各コマv60間の相対位置に基づき、複数のコマv60が接触したか否かを判定し、接触した場合には、各コマv60の接触方向に応じて接触後の各コマv60の運動方向を算出してもよい。また、コンテンツ制御部503は、接触前の各コマv60の併進速度や回転速度に応じて、接触後の各コマv60の併進速度や回転速度を算出してもよい。
また、コンテンツ制御部503は、コマv60とステージv90との間の相対位置に基づき、例えば、ステージv90の側壁にコマv60が接触したか否かを判定してもよい。ステージv90の側壁にコマv60が接触した場合には、コンテンツ制御部503は、ステージv90の側壁に対するコマv60の接触方向に応じて接触後のコマv60の運動方向を算出してもよい。また、コンテンツ制御部503は、接触前のコマv60の併進速度や回転速度に応じて、接触後のコマv60の併進速度や回転速度を算出してもよい。
また、コンテンツ制御部503は、第2の実施形態に係る情報処理装置30と同様に、情報処理装置50、制御対象であるコマv60、及びステージv90のうち少なくとも2つの間の仮想空間上における相対位置を算出する。コンテンツ制御部503は、算出した相対位置に基づき、制御対象であるコマv60の動作を制御する。
具体的な一例として、コンテンツ制御部503は、仮想空間上における情報処理装置50の位置及び向きと、制御対象であるコマv60の位置とに基づき、撮像部501の光軸と制御対象であるコマv60との間の距離L2を算出してもよい。
また、コンテンツ制御部503は、仮想空間上における情報処理装置50の位置及び向きと、ステージv90の位置及び向きとに基づき、ステージv90に対する撮像部501の光軸の仰角θ2を算出してもよい。また、情報処理装置50にジャイロセンサを設けることで、コンテンツ制御部503は、ジャイロセンサの検知結果に基づき、撮像部501の光軸の仰角θ2算出してもよい。この場合には、仰角θ2は、実空間上の水平面に対する仰角となる。
なお、上述した光軸との距離L2及び仰角θ2は一例であり、情報処理装置50、制御対象であるコマv60、及びステージv90のうち少なくとも2つの間の相対位置を示す情報が算出可能であれば、情報の種別や算出方法は限定されない。なお、以降では、コンテンツ制御部503は、光軸との距離L2及び仰角θ2を算出したものとして説明する。
コンテンツ制御部503は、情報処理装置50、制御対象であるコマv60、及びステージv90の相対位置に基づき、コマv60の運動状態を変化させるための物理量(例えば、摩擦や空気抵抗)を算出する。
具体的な一例として、コンテンツ制御部503は、算出した光軸との距離L2を基に、制御対象であるコマv60に対して付与する空気抵抗や摩擦を算出してもよい。コンテンツ制御部503は、算出した仰角θ2を基に、制御対象であるコマv60の重心の高さを算出してもよい。また、コンテンツ制御部503は、操作部505を介したユーザ操作に応じて、コマv60の回転速度の変化量を算出してもよい。なお、上述した摩擦、空気抵抗、及び回転速度の変化量を算出する方法としては、第2の実施形態に係る情報処理装置30と同様の方法を用いればよい。
コンテンツ制御部503は、算出した物理量に応じて、各コマv60の運動状態を変化させる。
上記のように、コンテンツ制御部503は、位置算出部502から逐次取得する撮像画像とマーカの位置情報とに基づき、仮想空間上における、情報処理装置50、各コマv60、及びステージv90の間の相対位置を特定する。そして、コンテンツ制御部503は、特定した情報処理装置50、各コマv60、及びステージv90の間の相対位置に基づき、各コマv60の動作を制御する。コンテンツ制御部503は、上述した情報処理装置50、各コマv60、及びステージv90の間の相対位置の特定と、各コマv60の動作の制御とを逐次繰り返す。
ここで、図18を参照する。図18に示すように、コンテンツ制御部503は、各コマv60、及びステージv90の位置関係を示す情報(例えば、光軸からの距離L1や仰角θ1)を可視化した仮想オブジェクトv41aを生成してもよい。また、コンテンツ制御部503は、各コマv60を操作するユーザを可視化して、表示情報として仮想オブジェクトv41bを生成してもよい。
また、コンテンツ制御部503は、ゲームの進行状態に応じて、ガイダンスとしての仮想オブジェクトv45及びv47を生成してもよい。また、コンテンツ制御部503は、ゲームが開始されたらガイドとしての仮想オブジェクトv43を生成し、ゲームの継続中は仮想オブジェクトv43が表示されている状態に維持するようにしてもよい。なお、仮想オブジェクトv43、v45、及びv47を生成及び制御する方法としては、第2の実施形態に係るコンテンツ制御部303と同様の方法を用いればよい。
コンテンツ制御部503は、逐次取得される撮像画像と、仮想空間上における情報処理装置50の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とを表示制御部504に出力する。なお、制御情報には、各仮想オブジェクトを撮像画像中に画像として表示させるため表示情報や、仮想空間上における各仮想オブジェクトの位置や向きを示す情報が含まれる。
表示制御部504は、コンテンツ制御部503から、撮像画像と、仮想空間上における情報処理装置50の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とを取得する。表示制御部504は、仮想空間上における情報処理装置50の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とに基づき、情報処理装置50と各仮想オブジェクトとの間の相対位置を特定する。表示制御部504は、特定した相対位置に基づき、撮像画像中における各仮想オブジェクトの位置及び向きを特定し、特定した位置及び向きに基づき各仮想オブジェクトを撮像画像に重畳表示させる。表示制御部504は、仮想オブジェクトが重畳表示された撮像画像を表示部509に表示させる。
なお、コンテンツ制御部503は、各コマv60の運動状態を逐次認識している。そのため、コンテンツ制御部503は、各コマv60の運動状態(例えば、回転速度、併進速度、または運動方向)を可視化した表示情報として仮想オブジェクトを生成してもよい。
なお、各情報処理装置50が、仮想空間上における各コマv60の位置及び向きや、ステージv90の位置及び向きを算出し、複数の情報処理装置50間で算出した情報を送受信してもよい。また、別の一例として、複数の情報処理装置50のうち、いずれかが各情報処理装置50と、各コマv60と、ステージv90との間の相対的な位置関係を算出し、各コマv60の動作を制御してもよい。また、別の一例として、各情報処理装置50とは別にサーバを設け、当該サーバが、各情報処理装置50から通知される撮像画像に基づき、各情報処理装置50と、各コマv60と、ステージv90との間の相対的な位置関係を算出し、各コマv60の動作を制御してもよい。なお、第1及び第2の実施形態に係る情報処理装置についても同様に上記のような構成とすることは可能である。即ち、第1の実施形態において、実オブジェクトの位置及び運動状態の算出に係る処理を、複数の情報処理端末が連携して実行してもよいし、いずれかの情報処理端末またはサーバが実行してもよい。また、第2の実施形態において、各実オブジェクトの動作の制御を、複数の情報処理端末が連携して実行してもよいし、いずれかの情報処理端末またはサーバが実行してもよい。
また、上記では、コマ回しのゲームを例について説明したが、情報処理装置50、仮想オブジェクトv60、及びステージv90のうち少なくとも2つの間の相対位置に基づき、仮想オブジェクトv60の動作を制御できれば、上記の例には限定されない。例えば、図20は、本実施形態に係る情報処理装置50の他の一態様について説明するための図であり、レースゲームに情報処理装置50を適用した場合を示している。この場合には、情報処理装置50は、車体及びコースを、それぞれ仮想オブジェクトv60及びステージv90として、撮像部501の光軸からの距離L2や仰角θ2を算出し、算出結果に基づいて車体v60の動作を制御すればよい。
ここで、図21を参照する。図21は、実施形態に係る情報処理装置の他の一態様における画面の一例を示した図であり、図20に示したレースゲームの操作画面の一例を示している。この場合には、情報処理装置50は、撮像部501の光軸と制御対象となる車体v60との間の距離L2やステージv90に対する撮像部501の光軸の仰角θ2を可視化した表示情報として仮想オブジェクトv41aを表示させてもよい。情報処理装置50は、制御対象以外の車体v60については、各車体v60の操作者を可視化した表示情報として仮想オブジェクトv41bを表示させてもよい。
また、図18に示したコマ回しのゲームの例と同様に、ガイダンスとしての仮想オブジェクトv45及びv47や、ガイドとしての仮想オブジェクトv43を撮像画像に重畳表示させてもよい。
また、第3の実施形態に係る情報処理装置50に、第1及び第2の実施形態に係る情報処理装置を組み合わせてもよい。具体的な一例として、コマ回しのゲームに適用した場合には、各情報処理端末は、ゲーム開始当初は実オブジェクトのコマを制御対象とし、実オブジェクトのコマが停止した場合には、次いで仮想オブジェクトのコマを制御対象とすればよい。この場合には、情報処理装置は、実オブジェクトのコマと仮想オブジェクトのコマとの相対位置に応じて、実オブジェクトのコマ及び仮想オブジェクトのコマの動きを制御すればよい。また、情報処理装置は、例えば、図2に示すようにキャラクターのライフポイント表示させる場合には、実オブジェクトと仮想オブジェクトでそれぞれライフポイントを別々に振り分けて(例えば、1/2ずつ割り当てて)表示を演出してもよい。
[3.3.処理]
本実施形態に係る情報処理装置の一連の動作について図20を参照しながら説明する。図20は、本実施形態に係る情報処理装置の一連の動作の一例を示したフローチャートである。
(ステップS305)
各ユーザが、撮像部501及び表示部509を備えた情報処理装置50を介して基準となるマーカを撮像すると、位置算出部502は、撮像部501から取得した撮像画像から、仮想オブジェクトを生成するための基準となるマーカを検出する。
位置算出部502は、撮像部501から取得した撮像画像と、検出したマーカの位置を示す位置情報とをコンテンツ制御部503に逐次出力する。
(ステップS307)
コンテンツ制御部503は、位置算出部502から、撮像部501で撮像された撮像画像と、検出されたマーカの位置を示す位置情報とを逐次取得する。
コンテンツ制御部503は、取得した撮像画像中におけるマーカの位置、向き、及びサイズに基づき、マーカの位置を基準とした仮想空間上における情報処理装置50の位置及び向きを特定する。
また、コンテンツ制御部503は、仮想オブジェクトのコマv60を、各ユーザが操作する情報処理装置50ごとに生成し、各コマv60をそれぞれ異なる情報処理装置50に関連付ける。このとき、コンテンツ制御部503は、自身の制御対象となるコマv60を特定する。また、コンテンツ制御部503は、仮想オブジェクトのステージv90を生成する。
(ステップS309)
以上のようにして、全ユーザの情報処理装置50が、仮想オブジェクトを生成するための基準となるマーカの認識を行う(ステップS309、N)。
(ステップS311)
全ユーザの情報処理装置50がマーカの認識を完了したら(ステップS309、Y)、情報処理装置50は、仮想オブジェクトの生成及び制御を開始する。具体的には、コンテンツ制御部503は、生成した各コマv60及びステージv90の仮想空間上における位置を、マーカの位置を基準として特定する。また、コンテンツ制御部503は、例えば、操作部505から所定の操作を受けると、生成した各コマv60の運動を開始させる。
(ステップS313)
例えば、コンテンツ制御部503は、仮想空間上における情報処理装置50の位置及び向きと、制御対象であるコマv60の位置とに基づき、撮像部501の光軸と制御対象であるコマv60との間の距離L2を算出してもよい。
また、コンテンツ制御部503は、仮想空間上における情報処理装置50の位置及び向きと、ステージv90の位置及び向きとに基づき、ステージv90に対する撮像部501の光軸の仰角θ2を算出してもよい。また、情報処理装置50にジャイロセンサを設けることで、コンテンツ制御部503は、ジャイロセンサの検知結果に基づき、撮像部501の光軸の仰角θ2算出してもよい。この場合には、仰角θ2は、実空間上の水平面に対する仰角となる。
(ステップS315)
コンテンツ制御部503は、情報処理装置50、制御対象であるコマv60、及びステージv90の相対位置に基づき、コマv60の運動状態を変化させるための物理量(例えば、摩擦や空気抵抗)を算出する。
具体的な一例として、コンテンツ制御部503は、算出した光軸との距離L2を基に、制御対象であるコマv60に対して付与する空気抵抗や摩擦を算出してもよい。コンテンツ制御部503は、算出した仰角θ2を基に、制御対象であるコマv60の重心の高さを算出してもよい。また、コンテンツ制御部503は、操作部505を介したユーザ操作に応じて、コマv60の回転速度の変化量を算出してもよい。なお、上述した摩擦、空気抵抗、及び回転速度の変化量を算出する方法としては、第2の実施形態に係る情報処理装置30と同様の方法を用いればよい。
コンテンツ制御部503は、算出した物理量に応じて、各コマv60の運動状態を変化させる。
上記のように、コンテンツ制御部503は、位置算出部502から逐次取得する撮像画像とマーカの位置情報とに基づき、仮想空間上における、情報処理装置50、各コマv60、及びステージv90の間の相対位置を特定する。そして、コンテンツ制御部503は、特定した情報処理装置50、各コマv60、及びステージv90の間の相対位置に基づき、各コマv60の動作を制御する。
コンテンツ制御部503は、逐次取得される撮像画像と、仮想空間上における情報処理装置50の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とを表示制御部504に出力する。なお、制御情報には、各仮想オブジェクトを撮像画像中に画像として表示させるため表示情報や、仮想空間上における各仮想オブジェクトの位置や向きを示す情報が含まれる。
表示制御部504は、コンテンツ制御部503から、撮像画像と、仮想空間上における情報処理装置50の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とを取得する。表示制御部504は、仮想空間上における情報処理装置50の位置及び向きを示す情報と、各仮想オブジェクトの制御情報とに基づき、情報処理装置50と各仮想オブジェクトとの間の相対位置を特定する。表示制御部504は、特定した相対位置に基づき、撮像画像中における各仮想オブジェクトの位置及び向きを特定し、特定した位置及び向きに基づき各仮想オブジェクトを撮像画像に重畳表示させる。表示制御部504は、仮想オブジェクトが重畳表示された撮像画像を表示部509に表示させる。
(ステップS319)
コンテンツ制御部503は、上述した情報処理装置50、各コマv60、及びステージv90の間の相対位置の特定と、各コマv60の動作の制御とを、あらかじめ決められたゲームの終了条件が満たされるまで逐次繰り返す(ステップS319、N)。
(ステップS321)
ゲームの終了条件が満たされた場合には(ステップS319、Y)、仮想オブジェクトの生成及び制御を停止して一連の処理を終了する。
[3.4.まとめ]
以上のように、情報処理装置50は、仮想空間上における情報処理装置50と、各コマv60と、ステージv90との間の位置関係に応じて、コマv60の動作を制御する。このような構成により、実オブジェクトであるコマ40を仮想オブジェクトv60として表現することで、第2の実施形態と同様のゲームを、実オブジェクトであるコマ40を用いることなく実現することが可能となる。
<4.ハードウェア構成例>
上述した本開示の第1〜第3の実施形態に係る情報処理装置10、30、及び50による情報処理は、ソフトウェアと、情報処理装置10、30、及び50として用いられる以下に説明するような情報処理装置800のハードウェアとの協働により実現される。以下に、図23を参照しながら、情報処理装置800のハードウェア構成の一例について説明する。図23は、情報処理装置800のハードウェア構成例を示すブロック図である。
情報処理装置800は、例えば、GPSアンテナ821と、GPS処理部823と、通信アンテナ825と、通信処理部827と、地磁気センサ829と、加速度センサ831と、ジャイロセンサ833と、気圧センサ835と、撮像部837と、CPU(Central Processing Unit)839と、ROM(Read Only Memory)841と、RAM(Random Access Memory)843と、操作部847と、表示部849と、デコーダ851と、スピーカ853と、エンコーダ855と、マイク857と、記憶部859とを有する。
GPSアンテナ821は、測位衛星からの信号を受信するアンテナの一例である。GPSアンテナ821は、複数のGPS衛星からのGPS信号を受信することができ、受信したGPS信号をGPS処理部823に入力する。
GPS処理部823は、測位衛星から受信された信号に基づいて位置情報を算出する算出部の一例である。GPS処理部823は、GPSアンテナ821から入力された複数のGPS信号に基づいて現在の位置情報を算出し、算出した位置情報を出力する。具体的には、GPS処理部823は、GPS衛星の軌道データからそれぞれのGPS衛星の位置を算出し、GPS信号の送信時刻と受信時刻との差分時間に基づいて、各GPS衛星から当該情報処理装置までの距離をそれぞれ算出する。そして、算出された各GPS衛星の位置と、各GPS衛星から当該情報処理装置までの距離とに基づいて、現在の3次元位置を算出することができる。なお、ここで用いられるGPS衛星の軌道データは、例えばGPS信号に含まれていてもよい。或いは、GPS衛星の軌道データは、通信アンテナ825を介して外部のサーバから取得されてもよい。
通信アンテナ825は、例えば携帯通信網や無線LAN(Local Area Network)通信網を介して通信信号を受信する機能を有するアンテナである。通信アンテナ825は、受信した信号を通信処理部827に供給することができる。
通信処理部827は、通信アンテナ825から供給された信号に各種の信号処理を行う機能を有する。通信処理部827は、供給されたアナログ信号から生成したデジタル信号をCPU839に供給することができる。
地磁気センサ829は、地磁気を電圧値として検出するセンサである。地磁気センサ829は、X軸方向、Y軸方向、及びZ軸方向の地磁気をそれぞれ検出する3軸地磁気センサであってよい。地磁気センサ829は、検出した地磁気データをCPU839に供給することができる。
加速度センサ831は、加速度を電圧値として検出するセンサである。加速度センサ831は、X軸方向に沿った加速度、Y軸方向に沿った加速度、及びZ軸方向に沿った加速度をそれぞれ検出する3軸加速度センサであってよい。加速度センサ831は、検出した加速度データをCPU839に供給することができる。
ジャイロセンサ833は、物体の角度や角速度を検出する計測器の一種である。このジャイロセンサ833は、X軸、Y軸、及びZ軸周りの回転角の変化する速度(角速度)を電圧値として検出する3軸ジャイロセンサであってよい。ジャイロセンサ833は、検出した角速度データをCPU839に供給することができる。
気圧センサ835は、周囲の気圧を電圧値として検出するセンサである。気圧センサ835は、気圧を所定のサンプリング周波数で検出し、検出した気圧データをCPU839に供給することができる。
撮像部837は、CPU839の制御に従い、レンズを介して静止画像又は動画像を撮影する機能を有する。撮像部837は、撮影した画像を記憶部859に記憶させてもよい。
CPU839は、演算処理装置及び制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。またCPU839は、マイクロプロセッサであってもよい。このCPU839は、各種プログラムに従って様々な機能を実現することができる。
ROM841は、CPU839が使用するプログラムや演算パラメータ等を記憶することができる。RAM843は、CPU839の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶することができる。
操作部847は、ユーザが所望の操作をするための入力信号を生成する機能を有する。操作部847は、例えばタッチセンサ、マウス、キーボード、ボタン、マイク、スイッチ及びレバーなどユーザが情報を入力するための入力部と、ユーザによる入力に基づいて入力信号を生成し、CPU839に出力する入力制御回路などから構成されてよい。
表示部849は、出力装置の一例であり、液晶ディスプレイ(LCD:Liquid Crystal Display)装置、有機EL(OLED:Organic Light Emitting Diode)ディスプレイ装置などの表示装置であってよい。表示部849は、ユーザに対して画面を表示することにより情報を提供することができる。
デコーダ851は、CPU839の制御に従い、入力されたデータのデコード及びアナログ変換などを行う機能を有する。デコーダ851は、例えば通信アンテナ825及び通信処理部827を介して入力された音声データのデコード及びアナログ変換などを行い、音声信号をスピーカ853に出力する。スピーカ853は、デコーダ851から供給される音声信号に基づいて音声を出力することができる。
エンコーダ855は、CPU839の制御に従い、入力されたデータのデジタル変換及びエンコードなどを行う機能を有する。エンコーダ855は、マイク857から入力される音声信号のデジタル変換及びエンコードなどを行い、音声データを出力することができる。マイク857は、音声を集音し、音声信号として出力することができる。
記憶部859は、データ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置、および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ここで記憶媒体としては、例えばフラッシュメモリ、MRAM(Magnetoresistive Random Acces
Memor)、FeRAM(Ferroelectric Random Access Memory)、PRAM(Phase change Random Access Memory)、及びEEPROM(Electronically Erasable and Programmable Read Only Memory)などの不揮発性メモリや、HDD(Hard Disk Drive)などの磁気記録媒体などが用いられてよい。
例えば、上記した表示部は、HMD(Head Mount Display)であってもよい。例えば、不透過型のHMDが表示部として用いられる場合には、必ずしも撮像画像は表示部に表示されなくてもよい。かかる場合には、表示部は、撮像画像ではなく実空間に仮想オブジェクトを重畳させてもよい。
また、コンピュータに内蔵されるCPU、ROM及びRAMなどのハードウェアを、上記した情報処理装置が有する構成と同等の機能を発揮させるためのプログラムも作成可能である。また、当該プログラムを記録した、コンピュータに読み取り可能な記憶媒体も提供され得る。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
実オブジェクトの運動状態を取得する取得部と、
取得した前記運動状態に応じて仮想オブジェクトを表示させる表示制御部と、
を備える、情報処理装置。
(2)
前記取得部は、撮像部により撮像された画像に基づき前記運動状態を取得する、前記(1)に記載の情報処理装置。

(3)
前記取得部は、センサによって検知されたセンサデータに基づき前記運動状態を取得する、前記(1)に記載の情報処理装置。
(4)
前記センサは、前記実オブジェクトに設けられている、前記(3)に記載の情報処理装置。
(5)
撮像部と前記実オブジェクトとの相対的な位置関係に応じて、前記実オブジェクトの前記運動状態を変化させる動作制御部、
を備える、前記(1)〜(4)のいずれか一項に記載の情報処理装置。
(6)
前記動作制御部は、前記撮像部の光軸と前記実オブジェクトとの間の距離に応じて、前記運動状態を変化させる、前記(5)に記載の情報処理装置。
(7)
前記動作制御部は、前記仮想オブジェクトを表示させるための基準と前記撮像部との相対的な位置関係に応じて、前記運動状態を変化させる、前記(5)に記載の情報処理装置。」
(8)
前記表示制御部は、取得した前記運動状態に基づき、前記運動状態の変化を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、前記(1)〜(7)のいずれか一項に記載の情報処理装置。
(9)
前記表示制御部は、取得した前記運動状態に基づき、前記実オブジェクトの位置の変化を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、前記(1)〜(7)のいずれか一項に記載の情報処理装置。
(10)
前記取得部は、複数の前記実オブジェクトの運動状態を取得し、
前記表示制御部は、取得した複数の前記実オブジェクトの運動状態に応じて前記仮想オブジェクトを表示させる、前記(1)〜(9)のいずれか一項に記載の情報処理装置。
(11)
前記表示制御部は、取得した複数の前記実オブジェクトの運動状態に応じて、前記複数の実オブジェクトの相対的な位置関係を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、前記(10)に記載の情報処理装置。
(12)
前記取得部は、前記運動状態として、前記実オブジェクトの運動の変化量を取得する、前記(1)〜(11)のいずれか一項に記載の情報処理装置。
(13)
前記取得部は、前記運動状態として、前記実オブジェクトの運動方向の変化量を取得する、前記(1)〜(11)のいずれか一項に記載の情報処理装置。
(14)
前記表示制御部は、撮像部により撮像された画像から認識された基準に応じた前記仮想オブジェクトを表示させる、前記(1)〜(13)のいずれか一項に記載の情報処理装置。
(15)
実オブジェクトの運動状態を取得することと、
取得した前記運動状態に応じて仮想オブジェクトを表示させることと、
を含む、情報処理方法。
(16)
コンピュータに、
実オブジェクトの運動状態を取得することと、
取得した前記運動状態に応じて仮想オブジェクトを表示させることと、
を実行させるプログラムを記憶した記憶媒体。
10、30、50 情報処理装置
20、40 実オブジェクト
22 センサユニット
90 ステージ
101、301、501 撮像部
102、302、502 位置算出部
103、303、503 コンテンツ制御部
104、304、504 表示制御部
105、305、505 操作部
106 運動状態取得部
107、307 通信部
108 運動状態取得部
109、309、509 表示部
201 センサ
203 センサ情報解析部
205 通信部
405 通信部
407 制御部
409 駆動部
501 撮像部
502 位置算出部
503 コンテンツ制御部
504 表示制御部
505 操作部
509 表示部

Claims (16)

  1. 実オブジェクトの運動状態を取得する取得部と、
    取得した前記運動状態に応じて仮想オブジェクトを表示させる表示制御部と、
    を備える、情報処理装置。
  2. 前記取得部は、撮像部により撮像された画像に基づき前記運動状態を取得する、請求項1に記載の情報処理装置。
  3. 前記取得部は、センサによって検知されたセンサデータに基づき前記運動状態を取得する、請求項1に記載の情報処理装置。
  4. 前記センサは、前記実オブジェクトに設けられている、請求項3に記載の情報処理装置。
  5. 撮像部と前記実オブジェクトとの相対的な位置関係に応じて、前記実オブジェクトの前記運動状態を変化させる動作制御部、
    を備える、請求項1に記載の情報処理装置。
  6. 前記動作制御部は、前記撮像部の光軸と前記実オブジェクトとの間の距離に応じて、前記運動状態を変化させる、請求項5に記載の情報処理装置。
  7. 前記動作制御部は、前記仮想オブジェクトを表示させるための基準と前記撮像部との相対的な位置関係に応じて、前記運動状態を変化させる、請求項5に記載の情報処理装置。
  8. 前記表示制御部は、取得した前記運動状態に基づき、前記運動状態の変化を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、請求項1に記載の情報処理装置。
  9. 前記表示制御部は、取得した前記運動状態に基づき、前記実オブジェクトの位置の変化を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、請求項1に記載の情報処理装置。
  10. 前記取得部は、複数の前記実オブジェクトの運動状態を取得し、
    前記表示制御部は、取得した複数の前記実オブジェクトの運動状態に応じて前記仮想オブジェクトを表示させる、請求項1に記載の情報処理装置。
  11. 前記表示制御部は、取得した複数の前記実オブジェクトの運動状態に応じて、前記複数の実オブジェクトの相対的な位置関係を推測し、推測結果に基づき前記仮想オブジェクトを表示させる、請求項10に記載の情報処理装置。
  12. 前記取得部は、前記運動状態として、前記実オブジェクトの運動の変化量を取得する、請求項1に記載の情報処理装置。
  13. 前記取得部は、前記運動状態として、前記実オブジェクトの運動方向の変化量を取得する、請求項1に記載の情報処理装置。
  14. 前記表示制御部は、撮像部により撮像された画像から認識された基準に応じた前記仮想オブジェクトを表示させる、請求項1に記載の情報処理装置。
  15. 実オブジェクトの運動状態を取得することと、
    取得した前記運動状態に応じて仮想オブジェクトを表示させることと、
    を含む、情報処理方法。
  16. コンピュータに、
    実オブジェクトの運動状態を取得することと、
    取得した前記運動状態に応じて仮想オブジェクトを表示させることと、
    を実行させるプログラムを記憶した記憶媒体。

JP2013068038A 2013-03-28 2013-03-28 情報処理装置、情報処理方法、及び、記憶媒体 Pending JP2014191688A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013068038A JP2014191688A (ja) 2013-03-28 2013-03-28 情報処理装置、情報処理方法、及び、記憶媒体
US14/169,622 US9552653B2 (en) 2013-03-28 2014-01-31 Information processing apparatus, information processing method, and storage medium
CN201410106817.7A CN104076920B (zh) 2013-03-28 2014-03-21 信息处理设备、信息处理方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013068038A JP2014191688A (ja) 2013-03-28 2013-03-28 情報処理装置、情報処理方法、及び、記憶媒体

Publications (1)

Publication Number Publication Date
JP2014191688A true JP2014191688A (ja) 2014-10-06

Family

ID=51598232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013068038A Pending JP2014191688A (ja) 2013-03-28 2013-03-28 情報処理装置、情報処理方法、及び、記憶媒体

Country Status (3)

Country Link
US (1) US9552653B2 (ja)
JP (1) JP2014191688A (ja)
CN (1) CN104076920B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020074150A (ja) * 2020-01-10 2020-05-14 株式会社東芝 情報処理装置、情報処理方法及び情報処理プログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102206060B1 (ko) * 2013-11-19 2021-01-21 삼성전자주식회사 전자 장치의 효과 디스플레이 방법 및 그 전자 장치
US20230176807A1 (en) * 2014-02-11 2023-06-08 Mentor Acquisition One, Llc Spatial location presentation in head worn computing
JP5756581B1 (ja) * 2015-03-31 2015-07-29 株式会社タカラトミー 情報ロガー装置
JP2017054185A (ja) * 2015-09-07 2017-03-16 株式会社東芝 情報処理装置、情報処理方法及び情報処理プログラム
US11572653B2 (en) 2017-03-10 2023-02-07 Zyetric Augmented Reality Limited Interactive augmented reality
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US10347030B2 (en) * 2017-05-15 2019-07-09 Envisics Ltd Adjusting depth of augmented reality content on a heads up display
WO2019116689A1 (ja) * 2017-12-15 2019-06-20 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP6582205B2 (ja) * 2018-02-28 2019-10-02 株式会社コナミデジタルエンタテインメント 情報処理装置、情報処理装置のプログラム、ヘッドマウントディスプレイ、及び、情報処理システム
CN110569006B (zh) * 2018-06-05 2023-12-19 广东虚拟现实科技有限公司 显示方法、装置、终端设备及存储介质
CN110737414B (zh) * 2018-07-20 2021-05-11 广东虚拟现实科技有限公司 交互显示方法、装置、终端设备及存储介质
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
CN109847368B (zh) * 2019-03-25 2023-05-26 网易(杭州)网络有限公司 信息处理方法及装置、存储介质、电子设备
CN111857335A (zh) * 2020-07-09 2020-10-30 北京市商汤科技开发有限公司 虚拟对象的驱动方法、装置、显示设备和存储介质
GB2606165B (en) * 2021-04-27 2024-01-10 Sony Interactive Entertainment Inc Content generation system and method

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4068234B2 (ja) * 1998-10-05 2008-03-26 株式会社東芝 超音波診断装置
JP3642717B2 (ja) * 2000-05-30 2005-04-27 櫻護謨株式会社 自動走行機械の走行制限システム
US6596795B2 (en) * 2001-08-21 2003-07-22 Milliken & Company Low-color vanillin-based ultraviolet absorbers and methods of making thereof
US8797260B2 (en) * 2002-07-27 2014-08-05 Sony Computer Entertainment Inc. Inertially trackable hand-held controller
US7391409B2 (en) * 2002-07-27 2008-06-24 Sony Computer Entertainment America Inc. Method and system for applying gearing effects to multi-channel mixed input
US8562531B2 (en) * 2003-12-16 2013-10-22 Hitachi Medical Corporation Ultrasonic motion detecting device, and image producing device and ultrasonic therapeutic using the detecting device
CN100389846C (zh) * 2004-05-12 2008-05-28 深圳华强智能技术有限公司 虚拟碰撞娱乐***
US20060007308A1 (en) * 2004-07-12 2006-01-12 Ide Curtis E Environmentally aware, intelligent surveillance device
JP3841806B2 (ja) 2004-09-01 2006-11-08 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
US7991220B2 (en) * 2004-09-01 2011-08-02 Sony Computer Entertainment Inc. Augmented reality game system using identification information to display a virtual object in association with a position of a real object
JP4907129B2 (ja) * 2005-09-01 2012-03-28 任天堂株式会社 情報処理システムおよびプログラム
CN101438340B (zh) * 2006-05-04 2011-08-10 索尼电脑娱乐公司 用于三维输入控制的***、方法和设备
JP4979313B2 (ja) * 2006-09-13 2012-07-18 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP4569613B2 (ja) 2007-09-19 2010-10-27 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
JP2011008601A (ja) * 2009-06-26 2011-01-13 Sony Computer Entertainment Inc 情報処理装置および情報処理方法
JP5254906B2 (ja) * 2009-08-27 2013-08-07 京セラ株式会社 電子機器
CN101804813B (zh) * 2010-02-04 2013-04-24 南京航空航天大学 一种基于图像传感器的辅助驾驶装置及其工作方法
FR2957266B1 (fr) * 2010-03-11 2012-04-20 Parrot Procede et appareil de telecommande d'un drone, notamment d'un drone a voilure tournante.
EP2394710B1 (en) * 2010-06-11 2020-06-10 BANDAI NAMCO Entertainment Inc. Image generation system, image generation method, and information storage medium
TWI466065B (zh) * 2010-07-23 2014-12-21 Hon Hai Prec Ind Co Ltd 偵測裝置及偵測方法
CN102553232A (zh) * 2010-12-07 2012-07-11 鼎亿数码科技(上海)有限公司 人体姿态捕捉装置及其实现方法
CN102685382B (zh) * 2011-03-18 2016-01-20 安尼株式会社 图像处理装置和方法、及移动体防碰撞装置
JP5724543B2 (ja) * 2011-03-31 2015-05-27 ソニー株式会社 端末装置、オブジェクト制御方法及びプログラム
JP5741160B2 (ja) * 2011-04-08 2015-07-01 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
KR101923723B1 (ko) * 2012-09-17 2018-11-29 한국전자통신연구원 사용자 간 상호작용이 가능한 메타버스 공간을 제공하기 위한 메타버스 클라이언트 단말 및 방법
CN102999702A (zh) * 2012-11-28 2013-03-27 广州代代星电子科技有限公司 可用于体感游戏的平板电脑以及实现体感游戏的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020074150A (ja) * 2020-01-10 2020-05-14 株式会社東芝 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
CN104076920A (zh) 2014-10-01
US9552653B2 (en) 2017-01-24
US20140292810A1 (en) 2014-10-02
CN104076920B (zh) 2018-01-26

Similar Documents

Publication Publication Date Title
JP2014191688A (ja) 情報処理装置、情報処理方法、及び、記憶媒体
US10671842B2 (en) Methods of determining handedness for virtual controllers
US10768639B1 (en) Motion and image-based control system
US8655622B2 (en) Method and apparatus for interpreting orientation invariant motion
EP2699983B1 (en) Methods and apparatuses for facilitating gesture recognition
CN105929940B (zh) 基于细分特征值法的快速三维动态手势识别方法及***
US9134800B2 (en) Gesture input device and gesture input method
EP2901246B1 (en) Remote control with 3d pointing and gesture recognition capabilities
EP2661663B1 (en) Method and apparatus for tracking orientation of a user
EP4198694A1 (en) Positioning and tracking method and platform, head-mounted display system, and computer-readable storage medium
US9538147B2 (en) Method and system for determining proper positioning of an object
US20150070274A1 (en) Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
JP2012507802A (ja) 携帯端末上での運動処理を使用するコンテンツの制御およびアクセス
CN105723302A (zh) 布尔/浮点控制器和姿势识别***
EP3156110A1 (en) Information processing device provided with head-mounted display
JP6534011B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、情報処理方法
US20150185852A1 (en) Ring mobile device and operation method of the same
CN110140100B (zh) 三维增强现实对象用户界面功能
KR20150138831A (ko) 제스처를 통해 외부 장치를 제어하는 휴대용 장치 및 그 동작방법
US11918883B2 (en) Electronic device for providing feedback for specific movement using machine learning model and operating method thereof
JP6519075B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、情報処理方法
JPWO2015107737A1 (ja) 情報処理装置、情報処理方法、およびプログラム
CN110215685A (zh) 游戏中的虚拟对象控制方法及装置、设备、存储介质
Keir et al. Gesture-recognition with non-referenced tracking
CN108355347A (zh) 交互控制方法、装置、电子设备及存储介质