JP6747504B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP6747504B2
JP6747504B2 JP2018513058A JP2018513058A JP6747504B2 JP 6747504 B2 JP6747504 B2 JP 6747504B2 JP 2018513058 A JP2018513058 A JP 2018513058A JP 2018513058 A JP2018513058 A JP 2018513058A JP 6747504 B2 JP6747504 B2 JP 6747504B2
Authority
JP
Japan
Prior art keywords
display
buffers
buffer
information
information processing
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.)
Active
Application number
JP2018513058A
Other languages
English (en)
Other versions
JPWO2017183346A1 (ja
Inventor
敦 石原
敦 石原
広幸 安賀
広幸 安賀
浩一 川崎
浩一 川崎
満 西部
満 西部
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
Publication of JPWO2017183346A1 publication Critical patent/JPWO2017183346A1/ja
Application granted granted Critical
Publication of JP6747504B2 publication Critical patent/JP6747504B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/20Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional [3D] objects

Landscapes

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

Description

本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
近年、画像認識技術の高度化に伴い、撮像装置により撮像された画像に含まれる実オブジェクト(即ち、実空間上の物体)の位置及び姿勢を認識することが可能となっている。このような物体認識の応用例の一つとして、拡張現実(AR:Augmented Reality)と呼ばれる技術が知られている。AR技術を利用することで、実空間の画像に撮像された実オブジェクトに対して、テキスト、アイコン、またはアニメーション等の様々な態様の仮想的なコンテンツ(以降では、「仮想オブジェクト」とも称する)を重畳してユーザに提示することが可能となる。例えば、特許文献1には、AR技術の一例が開示されている。
特開2013−92964号公報
ところで、仮想オブジェクトとして提示する表示情報によっては、当該仮想オブジェクトの描画の処理負荷が比較的高くなり、当該仮想オブジェクトの描画が開始されてから表示情報として出力されるまでの間に遅延が生じる場合がある。そのため、例えば、当該遅延に伴い、描画された仮想オブジェクトがユーザに提示されるまでの間に、当該ユーザの視点の位置に変化が生じると、当該視点の位置と、描画された仮想オブジェクトが重畳される位置との間の相対的な位置関係にずれが生じる。このようなずれは、例えば、当該仮想オブジェクトが重畳される空間上の位置のずれとしてユーザに認識される場合がある。これは、ARに限らず、人工的に構築される仮想空間上に仮想オブジェクトを提示する、所謂仮想現実(VR:Virtual Reality)においても同様である
これに対して、例えばVRでは、仮想オブジェクトの描画に伴う遅延を考慮して、当該仮想オブジェクトの仮想空間上における表示位置を当該描画後に補正することで、描画に伴う遅延の影響を低減させる場合がある。一方で、ARにおいては、実空間上に仮想オブジェクトを重畳させるという特性から、単に仮想オブジェクトの表示位置を補正した場合には、ユーザに視認される実空間の光学像と、仮想オブジェクトの表示との間にずれが生じる場合がある。
そこで、本開示では、実空間上に仮想オブジェクトを重畳させる状況下において、より好適な態様で当該仮想オブジェクトの表示を補正することが可能な、情報処理装置、情報処理方法、及びプログラムを提案する。
本開示によれば、実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、を備える、情報処理装置が提供される。
また、本開示によれば、コンピュータシステムが、実空間上の実オブジェクトの認識結果に関する情報を取得することと、複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、を含む、情報処理方法が提供される。
また、本開示によれば、コンピュータシステムに、実空間上の実オブジェクトの認識結果に関する情報を取得することと、複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、を実行させる、プログラムが提供される。
以上説明したように本開示によれば、実空間上に仮想オブジェクトを重畳させる状況下において、より好適な態様で当該仮想オブジェクトの表示を補正することが可能な、情報処理装置、情報処理方法、及びプログラムが提供される。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明するための説明図である。 同実施形態に係る入出力装置の概略的な構成の一例について説明するための説明図である。 仮想オブジェクトの表示位置の補正に係る処理の一例について説明するための説明図である。 ARにおける仮想オブジェクトの描画に伴う遅延の影響の一例について説明するための説明図である。 ARにおける仮想オブジェクトの描画に伴う遅延の影響の一例について説明するための説明図である。 同実施形態に係る情報処理システムの動作の基本原理について説明するための説明図である。 同実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。 同実施形態に係る情報処理システム1の一連の処理の流れの一例を示したフローチャートである。 変形例1に係る情報処理システムの概要について説明するための説明図である。 変形例2に係る情報処理システムの一態様について概要を説明するための説明図である。 変形例2に係る情報処理システムの他の一態様について概要を説明するための説明図である。 変形例2に係る情報処理システムの他の一態様について概要を説明するための説明図である。 変形例3に係る情報処理システムの一態様について概要を説明するための説明図である。 変形例3に係る情報処理システムの一態様について概要を説明するための説明図である。 ハードウェア構成の一構成例を示す機能ブロック図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.概要
1.1.概略構成
1.2.入出力装置の構成
1.3.自己位置推定の原理
2.仮想オブジェクトの描画に伴う遅延に関する検討
3.技術的特徴
3.1.基本原理
3.2.機能構成
3.3.処理
4.変形例
4.1.変形例1:仮想オブジェクトとバッファとの間の関連付けの一例
4.2.変形例2:領域分割の一例
4.3.変形例3:バッファの制御例
4.4.変形例4:仮想オブジェクトの描画や出力に係る制御の一例
4.5.変形例5:インタラクションの制御の一例
5.ハードウェア構成
6.むすび
<<1.概要>>
<1.1.概略構成>
まず、図1を参照して、本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明する。図1は、本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明するための説明図である。図1において、参照符号M11は、実空間上に位置する物体(即ち、実オブジェクト)を模式的に示している。また、参照符号V13及びV15は、実空間上に重畳するように提示される仮想的なコンテンツ(即ち、仮想オブジェクト)を模式的に示している。即ち、本実施形態に係る情報処理システム1は、所謂AR技術に基づき、例えば、実オブジェクトM11等の実空間上の物体に対して、仮想オブジェクトを重畳してユーザに提示する。なお、図1では、本実施形態に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
図1に示すように、本実施形態に係る情報処理システム1は、情報処理装置10と、入出力装置20とを含む。情報処理装置10と入出力装置20とは、所定のネットワークを介して互いに情報を送受信可能に構成されている。なお、情報処理装置10と入出力装置20とを接続するネットワークの種別は特に限定されない。具体的な一例として、当該ネットワークは、Wi−Fi(登録商標)規格に基づくネットワークのような、所謂無線のネットワークにより構成されていてもよい。また、他の一例として、当該ネットワークは、インターネット、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成されていてもよい。また、当該ネットワークは、複数のネットワークを含んでもよく、一部が有線のネットワークとして構成されていてもよい。
入出力装置20は、各種入力情報の取得や、当該入出力装置20を保持するユーザに対して各種出力情報を提示するための構成である。また、入出力装置20による出力情報の提示は、情報処理装置10により、当該入出力装置20により取得された入力情報に基づき制御される。例えば、入出力装置20は、実オブジェクトM11を認識するための情報を入力情報として取得し、取得した情報を情報処理装置10に出力する。情報処理装置10は、入出力装置20から取得した情報に基づき、実空間上における実オブジェクトM11の位置を認識し、当該認識結果に基づき、入出力装置20に仮想オブジェクトV13及びV15を提示させる。このような制御により、入出力装置20は、所謂AR技術に基づき、実オブジェクトM11に対して仮想オブジェクトV13及びV15が重畳するように、当該仮想オブジェクトV13及びV15をユーザに提示することが可能となる。なお、図1では、入出力装置20と情報処理装置10とが互いに異なる装置として示されているが、入出力装置20及び情報処理装置10は一体的に構成されていてもよい。また、入出力装置20及び情報処理装置10の構成及び処理の詳細については別途後述する。
以上、図1を参照して、本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明した。
<1.2.入出力装置の構成>
続いて、図2を参照して、図1に示した本実施形態に係る入出力装置20の概略的な構成の一例について説明する。図2は、本実施形態に係る入出力装置の概略的な構成の一例について説明するための説明図である。
本実施形態に係る入出力装置20は、ユーザが頭部の少なくとも一部に装着して使用する、所謂頭部装着型デバイスとして構成されている。例えば、図2に示す例では、入出力装置20は、所謂アイウェア型(メガネ型)のデバイスとして構成されており、レンズ293a及び293bのうち少なくともいずれかが透過型のディスプレイ(出力部211)として構成されている。また、入出力装置20は、第1撮像部201a及び201bと、第2撮像部203a及び203bと、操作部207と、メガネのフレームに相当する保持部291とを備える。保持部291は、入出力装置20がユーザの頭部に装着されたときに、出力部211と、第1撮像部201a及び201bと、第2撮像部203a及び203bと、操作部207とを、当該ユーザの頭部に対して所定の位置関係となるように保持する。また、図2には図示していないが、入出力装置20は、ユーザの音声を集音するための集音部を備えていてもよい。
ここで、入出力装置20のより具体的な構成について説明する。例えば、図2に示す例では、レンズ293aが、右眼側のレンズに相当し、レンズ293bが、左眼側のレンズに相当する。即ち、保持部291は、入出力装置20が装着された場合に、出力部211(換言すると、レンズ293a及び293b)がユーザの眼前に位置するように、当該出力部211を保持する。
第1撮像部201a及び201bは、所謂ステレオカメラとして構成されており、入出力装置20がユーザの頭部に装着されたときに、当該ユーザの頭部が向いた方向(即ち、ユーザの前方)を向くように、保持部291によりそれぞれ保持される。このとき、第1撮像部201aが、ユーザの右眼の近傍に保持され、第1撮像部201bが、当該ユーザの左眼の近傍に保持される。このような構成に基づき、第1撮像部201a及び201bは、入出力装置20の前方に位置する被写体(換言すると、実空間に位置する実オブジェクト)を互いに異なる位置から撮像する。これにより、入出力装置20は、ユーザの前方に位置する被写体の画像を取得するとともに、第1撮像部201a及び201bそれぞれにより撮像された画像間の視差に基づき、当該入出力装置20から、当該被写体までの距離を算出することが可能となる。
なお、入出力装置20と被写体との間の距離を測定可能であれば、その構成や方法は特に限定されない。具体的な一例として、マルチカメラステレオ、移動視差、TOF(Time Of Flight)、Structured Light等の方式に基づき、入出力装置20と被写体との間の距離が測定されてもよい。ここで、TOFとは、被写体に対して赤外線等の光を投光し、投稿した光が当該被写体で反射して戻るまでの時間を画素ごとに測定することで、当該測定結果に基づき被写体までの距離(深度)を含めた画像(所謂距離画像)を得る方式である。また、Structured Lightは、被写体に対して赤外線等の光によりパターンを照射しそれを撮像することで、撮像結果から得られる当該パターンの変化に基づき、被写体までの距離(深度)を含めた距離画像を得る方式である。また、移動視差とは、所謂単眼カメラにおいても、視差に基づき被写体までの距離を測定する方法である。具体的には、カメラを移動させることで、被写体を互いに異なる視点から撮像し、撮像された画像間の視差に基づき被写体までの距離を測定する。なお、このとき各種センサによりカメラの移動距離及び移動方向を認識することで、被写体までの距離をより精度良く測定することが可能となる。なお、距離の測定方法に応じて、撮像部の構成(例えば、単眼カメラ、ステレオカメラ等)を変更してもよい。
また、第2撮像部203a及び203bは、入出力装置20がユーザの頭部に装着されたときに、それぞれの撮像範囲内に当該ユーザの眼球が位置するように、保持部291によりそれぞれ保持される。具体的な一例として、第2撮像部203aは、撮像範囲内にユーザの右眼が位置するように保持される。このような構成に基づき、第2撮像部203aにより撮像された右眼の眼球の画像と、当該第2撮像部203aと当該右眼との間の位置関係と、に基づき、当該右眼の視線が向いている方向を認識することが可能となる。同様に、第2撮像部203bは、撮像範囲内に当該ユーザの左眼が位置するように保持される。即ち、第2撮像部203bにより撮像された左眼の眼球の画像と、当該第2撮像部203bと当該左眼との間の位置関係と、に基づき、当該左眼の視線が向いている方向を認識することが可能となる。なお、図2に示す例では、入出力装置20が第2撮像部203a及び203bの双方を含む構成について示しているが、第2撮像部203a及び203bのうちいずれかのみが設けられていてもよい。
操作部207は、入出力装置20に対するユーザからの操作を受け付けるための構成である。操作部207は、例えば、タッチパネルやボタン等のような入力デバイスにより構成されていてもよい。操作部207は、保持部291により、入出力装置20の所定の位置に保持されている。例えば、図2に示す例では、操作部207は、メガネのテンプルに相当する位置に保持されている。
また、本実施形態に係る入出力装置20は、例えば、加速度センサや、角速度センサ(ジャイロセンサ)が設けられ、当該入出力装置20を装着したユーザの頭部の動き(換言すると、入出力装置20自体の動き)を検出可能に構成されていてもよい。具体的な一例として、入出力装置20は、ユーザの頭部の動きとして、ヨー(yaw)方向、ピッチ(pitch)方向、及びロール(roll)方向それぞれの成分を検出することで、当該ユーザの頭部の位置及び姿勢のうち少なくともいずれかの変化を認識してもよい。
以上のような構成に基づき、本実施形態に係る入出力装置20は、ユーザの頭部の動きに応じた、実空間上における自身の位置や姿勢の変化を認識することが可能となる。また、このとき入出力装置20は、所謂AR技術に基づき、実空間に位置する実オブジェクトに対して、仮想的なコンテンツ(即ち、仮想オブジェクト)が重畳するように、出力部211に当該コンテンツを提示することも可能となる。なお、入出力装置20が、実空間上における自身の位置及び姿勢を推定するための方法(即ち、自己位置推定)の一例については、詳細を別途後述する。
なお、入出力装置20として適用可能な頭部装着型の表示装置(HMD:Head Mounted Display)の一例としては、例えば、シースルー型HMD、ビデオシースルー型HMD、及び網膜投射型HMDが挙げられる。
シースルー型HMDは、例えば、ハーフミラーや透明な導光板を用いて、透明な導光部等からなる虚像光学系をユーザの眼前に保持し、当該虚像光学系の内側に画像を表示させる。そのため、シースルー型HMDを装着したユーザは、虚像光学系の内側に表示された画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、シースルー型HMDは、例えば、AR技術に基づき、当該シースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。なお、シースルー型HMDの具体的な一例として、メガネのレンズに相当する部分を虚像光学系として構成した、所謂メガネ型のウェアラブルデバイスが挙げられる。例えば、図2に示した入出力装置20は、シースルー型HMDの一例に相当する。
ビデオシースルー型HMDは、ユーザの頭部または顔部に装着された場合に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。また、ビデオシースルー型HMDは、周囲の風景を撮像するための撮像部を有し、当該撮像部により撮像されたユーザの前方の風景の画像を表示部に表示させる。このような構成により、ビデオシースルー型HMDを装着したユーザは、外部の風景を直接視野に入れることは困難ではあるが、表示部に表示された画像により、外部の風景を確認することが可能となる。また、このときビデオシースルー型HMDは、例えば、AR技術に基づき、当該ビデオシースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、外部の風景の画像に対して仮想オブジェクトを重畳させてもよい。
網膜投射型HMDは、ユーザの眼前に投影部が保持されており、当該投影部からユーザの眼に向けて、外部の風景に対して画像が重畳するように当該画像が投影される。より具体的には、網膜投射型HMDでは、ユーザの眼の網膜に対して、投影部から画像が直接投射され、当該画像が網膜上で結像する。このような構成により、近視や遠視のユーザの場合においても、より鮮明な映像を視聴することが可能となる。また、網膜投射型HMDを装着したユーザは、投影部から投影される画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、網膜投射型HMDは、例えば、AR技術に基づき、当該網膜投射型HMDの位置や姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。
なお、参考として、上記に説明した例以外にも、没入型HMDと呼ばれるHMDが挙げられる。没入型HMDは、ビデオシースルー型HMDと同様に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。そのため、没入型HMDを装着したユーザは、外部の風景(即ち、現実世界の風景)を直接視野に入れることが困難であり、表示部に表示された映像のみが視界に入ることとなる。このような構成により、没入型HMDは、画像を視聴しているユーザに対して没入感を与えることが可能となる。
以上、図2を参照して、本開示の一実施形態に係る入出力装置の概略的な構成の一例について説明した。
<1.3.自己位置推定の原理>
次いで、入出力装置20が、実オブジェクトに対して仮想オブジェクトを重畳させる際に、実空間上における自身の位置及び姿勢を推定するための手法(即ち、自己位置推定)の原理の一例について説明する。
自己位置推定の具体的な一例として、入出力装置20は、実空間上の実オブジェクト上に提示されたサイズが既知のマーカ等を、自身に設けられたカメラ等の撮像部により撮像する。そして、入出力装置20は、撮像された画像を解析することで、マーカ(ひいては、当該マーカが提示された実オブジェクト)に対する自身の相対的な位置及び姿勢のうち少なくともいずれかを推定する。なお、以降の説明では、入出力装置20が自身の位置及び姿勢を推定する場合に着目して説明するが、当該入出力装置20は、自身の位置及び姿勢のうちいずれかのみを推定してもよい。
具体的には、画像中に撮像されたマーカの向き(例えば、マーカの模様等の向き)に応じて、当該マーカに対する撮像部(ひいては、当該撮像部を備える入出力装置20)の相対的な方向を推定することが可能である。また、マーカのサイズが既知の場合には、画像中におけるマーカのサイズに応じて、当該マーカと撮像部(即ち、当該撮像部を備える入出力装置20)との間の距離を推定することが可能である。より具体的には、マーカをより遠くから撮像すると、当該マーカは、より小さく撮像されることとなる。また、このとき画像中に撮像される実空間上の範囲は、撮像部の画角に基づき推定することが可能である。以上の特性を利用することで、画像中に撮像されたマーカの大きさ(換言すると、画角内においてマーカが占める割合)に応じて、当該マーカと撮像部との間の距離を逆算することが可能である。以上のような構成により、入出力装置20は、マーカに対する自身の相対的な位置及び姿勢を推定することが可能となる。
また、所謂SLAM(simultaneous localization and mapping)と称される技術が、入出力装置20の自己位置推定に利用されてもよい。SLAMとは、カメラ等の撮像部、各種センサ、エンコーダ等を利用することにより、自己位置推定と環境地図の作成とを並行して行う技術である。より具体的な一例として、SLAM(特に、Visual SLAM)では、撮像部により撮像された動画像に基づき、撮像されたシーン(または、被写体)の3次元形状を逐次的に復元する。そして、撮像されたシーンの復元結果を、撮像部の位置及び姿勢の検出結果と関連付けることで、周囲の環境の地図の作成と、当該環境における撮像部(ひいては、入出力装置20)の位置及び姿勢の推定とが行われる。なお、撮像部の位置及び姿勢については、例えば、入出力装置20に加速度センサや角速度センサ等の各種センサを設けることで、当該センサの検出結果に基づき相対的な変化を示す情報として推定することが可能である。もちろん、撮像部の位置及び姿勢を推定可能であれば、その方法は、必ずしも加速度センサや角速度センサ等の各種センサの検知結果に基づく方法のみには限定されない。
以上のような構成のもとで、例えば、撮像部による既知のマーカの撮像結果に基づく、当該マーカに対する入出力装置20の相対的な位置及び姿勢の推定結果が、上述したSLAMにおける初期化処理や位置補正に利用されてもよい。このような構成により、入出力装置20は、マーカが撮像部の画角内に含まれない状況下においても、従前に実行された初期化や位置補正の結果を受けたSLAMに基づく自己位置推定により、当該マーカ(ひいては、当該マーカが提示された実オブジェクト)に対する自身の位置及び姿勢を推定することが可能となる。
以上、入出力装置20が、実オブジェクトに対して仮想オブジェクトを重畳させる際に、実空間上における自身の位置及び姿勢を推定するための手法(即ち、自己位置推定)の原理の一例について説明した。なお、以降においては、例えば、上述した原理に基づき、実空間上の物体(実オブジェクト)に対する入出力装置20の位置及び姿勢を推定することが可能であるものして説明する。
<<2.仮想オブジェクトの描画に伴う遅延に関する検討>>
続いて、仮想オブジェクトの描画に伴う遅延と、当該遅延による影響を緩和する仕組みの一例について説明したうえで、本実施形態に係る情報処理システムの課題について整理する。
仮想オブジェクトとして提示する表示情報によっては、当該仮想オブジェクトの描画の処理負荷が比較的高くなり、所謂ARやVRに基づき当該仮想オブジェクトの描画が開始されてから表示情報として出力されるまでの間に遅延が生じる場合がある。そのため、例えば、当該遅延に伴い、描画された仮想オブジェクトがユーザに提示されるまでの間に、当該ユーザの視点の位置や向きに変化が生じると、当該視点の位置と、描画された仮想オブジェクトが重畳される位置との間の相対的な位置関係にずれが生じる。このようなずれは、例えば、当該仮想オブジェクトが重畳される空間上の位置のずれとしてユーザに認識される場合がある。
これに対して、例えば、VRでは、仮想オブジェクトの描画に伴う遅延を考慮して、当該仮想オブジェクトの仮想空間上における表示位置を当該描画後に補正することで、描画に伴う遅延の影響を低減させる場合がある。例えば、図3は、仮想オブジェクトの描画に伴う遅延に応じた、当該仮想オブジェクトの表示位置の補正に係る処理の一例について説明するための説明図である。
図3では、仮想オブジェクトの描画と、視点の位置や向きの変化の検知結果に基づくセンサ入力と、描画された仮想オブジェクトの出力とのそれぞれの時系列に沿った処理タイミングを模式的に示している。図3において、参照符号t21〜t23は、仮想オブジェクトの描画の開始タイミングを示しており、参照符号t21’〜t23
’は、仮想オブジェクトの描画の終了タイミングを示している。また、参照符号V121〜V123は、タイミングt21〜t23において描画される画像の一例を示しており、当該画像中に提示される仮想オブジェクトの形状や提示位置を模式的に示している。同様に、参照符号t11〜t14は、描画された仮想オブジェクトの出力タイミングを示している。また、参照符号V111〜V114は、タイミングt11〜t14において出力される画像の一例を示しており、当該画像中に提示される仮想オブジェクトの形状や提示位置を模式的に示している。また、図3に示すように、センサ入力は、仮想オブジェクトが描画される周期(頻度)に比べてより早い周期(より高い頻度)で取得される。
例えば、タイミングt21において、仮想オブジェクトv211が提示された画像V121の描画が開始され、当該描画は、タイミングt21’において終了する。その後、画像の出力タイミングt11が到来すると、当該タイミングt11の直前に取得されたセンサ入力に基づき、画像V121に提示された仮想オブジェクトV211の表示位置が補正され、当該補正後の画像V111が出力される。次いで、画像の出力タイミングt12が到来するが、このとき、新たな画像(例えば、画像V122)の描画がまだ完了していない。そのため、タイミングt12の直前に取得されたセンサ入力に基づき、画像V111に提示された仮想オブジェクトV211の表示位置が補正され、当該補正後の画像V112が出力される。
また、タイミングt22において、仮想オブジェクトv213が提示された画像V122の描画が開始され、当該描画は、タイミングt22’において終了する。即ち、タイミングt22’以降に到来する表示タイミグt13及びt14では、仮想オブジェクトv213が提示され、かつ、直前に取得されたセンサ入力に基づき当該仮想オブジェクトv213の表示位置が補正された画像V113及びV114がそれぞれ出力される。また、仮想オブジェクトv215が提示された画像V123については、タイミングt23において描画が開始され、タイミングt23’において当該描画が終了する。即ち、仮想オブジェクトv215が提示された画像は、タイミングt23’以降に出力されることとなる。
以上のような制御により、仮想オブジェクトの描画が開始されてから表示情報として出力されるまでの間に遅延が生じたとしても、描画された仮想オブジェクトの表示位置を補正することで、当該遅延の影響を緩和することが可能となる。
一方で、ARにおいては、実空間上に仮想オブジェクトを重畳させるという特性から、単に仮想オブジェクトの表示位置を補正した場合には、ユーザに視認される実空間の光学像と、仮想オブジェクトの表示との間にずれが生じる場合がある。例えば、図4及び図5は、ARにおける仮想オブジェクトの描画に伴う遅延の影響の一例について説明するための説明図である。
まず、図4に示す例について説明する。図4に示す例は、仮想オブジェクトV221及びV223を実空間上に重畳するように提示した状態で、ユーザの視点P11の位置を移動させた場合における、当該仮想オブジェクトV221及びV223の提示に係る制御の一例を示している。図4において、左側の各図は視点P11の位置が移動する前の状態を示しており、右側の各図は視点P11の位置が移動した後の状態を示している。
例えば、視点P11と、仮想オブジェクトV221及びV223のそれぞれとが、図4の左上の図に示すような位置関係にある場合に、ユーザに視認される光学像は、「適用前の視野」として示した図のようになる。
その後、図4の右上の図に示すように視点P11が素早く横方向に平行移動し、当該視点P11の移動に伴い仮想オブジェクトV221及びV223の表示位置が補正されたものとする。この場合に、移動後の視点P11と、仮想オブジェクトV221及びV223のそれぞれとの間の位置関係から、ユーザに視認される光学像は、「期待する視野」として示した図のように、仮想オブジェクトV223が仮想オブジェクトV221により遮蔽された状態となることが望ましい。これは、視点P11の移動に伴う、ユーザの視野内における各光学像の移動量が、当該視点P11を基準とした奥行き方向の位置に応じて異なることに起因する。より具体的には、ユーザのより近くに位置する物体の、視点P11の移動に伴う当該ユーザの視野内における移動量は、当該ユーザに対してより遠くに位置する物体の当該視野内における移動量よりもより大きくなる。
一方で、「単純に補正を適用した視野」として示した図は、仮想オブジェクトV221及びV223それぞれに対して共通の補正量により同様に表示位置を補正した場合に、ユーザに視認される光学像の一例を示している。この場合には、仮想オブジェクトV221及びV223のうち、少なくともいずれかの表示位置の補正量が、右上の図に示した位置関係に応じた値とは異なるため、本来期待される光学像とは異なる光学像がユーザに視認されることとなる。なお、図4を参照して説明した現象は、VRにおいても発生する可能性があるが、ARでは実空間上に仮想オブジェクトを重畳させるため、実空間上の物体と仮想オブジェクトとの間の位置関係のずれにより、ユーザはより不自然さを感じやすい傾向にある。
次いで、図5に示す例について説明する。図5に示す例は、実オブジェクトM225が配置された実空間上に重畳するように仮想オブジェクトV227を提示した状態で、ユーザの視点P11の位置を移動させた場合における、当該仮想オブジェクトV227の提示に係る制御の一例を示している。図5において、左側の各図は視点P11の位置が移動する前の状態を示しており、右側の各図は視点P11の位置が移動した後の状態を示している。
例えば、視点P11と、実オブジェクトM225と、仮想オブジェクトV227とが、図5の左上の図に示すような位置関係にある場合に、ユーザに視認される光学像が、「適用前の視野」として示した図のようになる。即ち、実オブジェクトV225の後方に仮想オブジェクトV227が位置することとなり、実オブジェクトV225により仮想オブジェクトV227の一部が遮蔽され、仮想オブジェクトV227については上部のみがユーザに視認されることとなる。
その後、図5の右上の図に示すように視点P11が素早く横方向に平行移動し、当該視点P11の移動に伴い仮想オブジェクトV227の表示位置が補正されたものとする。この場合に、移動後の視点P11と、実オブジェクトM225と、仮想オブジェクトV227との間の位置関係から、ユーザに視認される光学像が、「期待する視野」として示した図のようになることが望ましい。即ち、視点P11の移動前に実オブジェクトM225に遮蔽されていた仮想オブジェクトV227の一部が、視点P11の移動に伴い視認可能に提示された状態となることが望ましい
一方で、「単純に補正を適用した視野」として示した図は、「適用前の視野」として提示された仮想オブジェクトV227に対して、単に表示位置の補正を適用した場合に、ユーザに視認される光学像の一例を示している。この場合には、「適用前の視野」において、仮想オブジェクトV227のうち実オブジェクトV225に遮蔽された部分については描画の対象から除外されている。そのため、視点P11の移動に伴い、単に仮想オブジェクトV227の表示位置のみを補正した場合には、当該視点P11の移動前に実オブジェクトV225に遮蔽されていた部分は提示されず、結果として一部が欠落した仮想オブジェクトV227がユーザに視認されることとなる。
以上のような状況を鑑み、本開示では、実空間上に仮想オブジェクトを重畳させる状況下において、描画の遅延に伴う影響をより低減し、かつより好適な態様で仮想オブジェクトの表示の補正を可能とするための仕組みの一例について提案する。
<<3.技術的特徴>>
以下に、本実施形態に係る情報処理システム1の技術的特徴について説明する。
<3.1.基本原理>
まず、図6を参照して、本実施形態に係る情報処理システム1が、AR技術に基づき実空間上に仮想オブジェクトが重畳するように、当該仮想オブジェクトをユーザに提示するための動作の代表的な一例について基本原理を説明する。図6は、本実施形態に係る情報処理システムによる、AR技術に基づく仮想オブジェクトの提示に係る動作の基本原理について説明するための説明図である。
図6に示すように、本実施形態に係る情報処理システム1は、視点P11を基点とした視野に相当する領域(即ち、実空間上の領域)を、奥行き方向に沿って複数の領域R111、R113、及びR115に分割し、分割された各領域に対して互いに異なるバッファを関連付けている。なお、視点P11は、例えば、図1における入出力装置20の位置に相当し、ひいては、ユーザの頭部等のように当該入出力装置20が装着された所定の部位の位置に相当し得る。例えば、図6に示す例では、領域R111に対してバッファB111が関連付けられている。同様に、領域R113にはバッファB113が関連付けられ、領域R115にはバッファB115が関連付けられている。また、本実施形態に係る情報処理システム1には、実空間上に存在する実オブジェクトと視点P11との間の距離(即ち、深度)を測定し、当該深度の測定結果を示す情報(以降では、「デプスマップ」とも称する)を描画するためのバッファB101が、バッファB111、B113、及びB115とは別に設けられている。
以上のような構成のもとで、情報処理システム1は、実空間上に重畳するように提示する仮想オブジェクトを、当該仮想オブジェクトが提示される実空間上の位置に応じたバッファに描画する。例えば、図6に示す例では、仮想オブジェクトV311は、領域R111に位置するように提示される。そのため、情報処理システム1は、仮想オブジェクトV311を、領域R111に関連付けられたバッファB111に描画する。同様に、情報処理システム1は、領域R113に位置するように提示する仮想オブジェクトV313を、当該領域R113に関連付けられたバッファB113に描画する。また、情報処理システム1は、領域R115に位置するように提示する仮想オブジェクトV315及びV317を、当該領域R115に関連付けられたバッファB115に描画する。また、前述したように、情報処理システム1は、実空間上に存在する実オブジェクトM319までの距離(深度)を測定し、当該測定結果をバッファB101に描画する。
次いで、情報処理システム1は、各バッファへの各仮想オブジェクトの描画後に視点P11が移動した場合には、当該視点P11の移動量に応じて、各バッファに描画された各仮想オブジェクトの表示位置を、当該バッファに関連付けられた領域に応じて補正する。また、情報処理システム1は、バッファB101に描画されたデプスマップに基づき、実オブジェクトM319の実空間上における位置(特に、奥行き方向の位置)を認識し、当該実オブジェクトM319と、各バッファに描画された各仮想オブジェクトとの間の位置関係(特に、奥行き方向に沿った位置関係)を比較する。そして、情報処理システム1は、当該比較結果に基づき、バッファB111〜B115それぞれに描画された各仮想オブジェクトについて、実オブジェクトM319や他の仮想オブジェクトにより遮蔽されない部分を、入出力装置20を介してユーザに提示する。
以上のような構成に基づき、本実施形態に係る情報処理システム1は、各仮想オブジェクトの表示位置を、当該仮想オブジェクトが提示される実空間上の位置(特に、奥行き方向の位置)に応じて個別に補正する。また、本実施形態に係る情報処理システム1は、視点P11と、実オブジェクトと、各仮想オブジェクトとの間の位置関係に応じて、当該仮想オブジェクトの出力を制御する。これにより、本実施形態に係る情報処理システム1は、描画の遅延に伴う影響を仮想オブジェクトが重畳される位置に応じて個々に補正し、かつ、各仮想オブジェクトの表示を実オブジェクトや他の仮想オブジェクトによる遮蔽を考慮して制御することが可能となる。
以上、図6を参照して、本実施形態に係る情報処理システム1が、AR技術に基づき実空間上に仮想オブジェクトが重畳するように、当該仮想オブジェクトをユーザに提示するための動作の基本原理について説明した。
<3.2.機能構成>
続いて、図7を参照して、本実施形態に係る情報処理システム1の機能構成の一例について、特に情報処理装置10の構成に着目して説明する。図7は、本実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。
図7に示すように、本実施形態に係る情報処理システム1は、撮像部201と、検知部251と、出力部211と、情報処理装置10とを含む。撮像部201、検知部251、出力部211は、図1及び図2を参照して説明した入出力装置20の一部の構成に相当する。なお、出力部211は、図2における出力部211に対応している。
撮像部201は、図2においてステレオカメラとして構成された撮像部201a及び201bに相当する。即ち、撮像部201は、実空間上の物体(被写体)の画像を撮像し、撮像した当該画像を情報処理装置10に出力する。
また、検知部251は、入出力装置20の位置や姿勢の変化(ひいては、当該入出力装置20を装着したユーザの頭部の動き)を検出するための情報の取得に係る部分を模式的に示している。具体的な一例として、検知部251は、加速度センサや角速度センサ等のような各種センサを含んでもよい。検知部251は、取得した情報を情報処理装置10に出力する。これにより、情報処理装置10は、入出力装置20の位置や姿勢の変化を認識することが可能となる。
次いで、情報処理装置10の構成について説明する。図7に示すように、情報処理装置10は、認識部101と、描画部103と、複数のバッファ105と、表示制御部107と、一時バッファ109と、バッファ制御部111とを含む。
認識部101は、撮像部201から撮像された画像を取得し、取得した画像に対して解析処理を施すことで、当該画像に撮像された実空間上の物体(被写体)を認識する。具体的な一例として、認識部101は、ステレオカメラとして構成された撮像部201から、互いに異なる複数の視点から撮像された画像(以降では、「ステレオ画像」とも称する)を取得し、取得した画像間の視差に基づき、画像中に撮像された物体までの距離を、当該画像の画素ごとに測定する。これにより、認識部101は、当該画像が撮像されたタイミングにおける、撮像部201(ひいては、入出力装置20)と、当該画像に撮像された各物体との間の、実空間上における相対的な位置関係(特に、奥行き方向の位置関係)を推定または認識することが可能となる。
また、認識部101は、SLAMに基づき自己位置推定と環境地図の作成とを行うことで、入出力装置20と、画像中に撮像された物体との間の、実空間上における位置関係を認識してもよい。この場合には、例えば、認識部101は、検知部251から入出力装置20の位置及び姿勢の変化を示す情報を取得し、当該情報をSLAMに基づく自己位置推定に利用してもよい。
以上のようにして、認識部101は、画像中に撮像された各物体の実空間上における位置を認識し、認識結果を示す情報を描画部103に出力する。なお、本説明では、認識部101は、上述したように、画像中の画素ごとに測定された深度(物体までの距離)を示す情報(即ち、デプスマップ)を、描画部103に出力するものとして説明する。
なお、前述したように、被写体までの距離の測定方法は、上述したステレオ画像に基づく測定方法のみは限定されない。そのため、撮像部201に相当する構成を、距離の測定方法にあわせて適宜変更してもよい。具体的な一例として、TOFに基づき被写体までの距離を測定する場合には、撮像部201に替えて、赤外線を投光する光源と、当該光源から投光され被写体で反射した赤外線を検知するための受光素子とを設けてもよい。また、物体までの距離を測定する際に、複数の測定方法が利用されてもよい。この場合には、利用される測定方法に応じて、当該測定に利用する情報を取得するための構成が、入出力装置20または情報処理装置10に設けられていてもよい。もちろん、画像中に撮像された各物体の実空間上における位置の認識結果を示す情報(例えば、デプスマップ)の内容についても、適用される測定方法に応じて適宜変更されてもよいことは言うまでもない。
複数のバッファ105は、図6を参照して説明したバッファB101、B111〜B115それぞれに対応している。複数のバッファ105は、例えば、フラッシュメモリやRAM(Random Access Memory)等のような、各種データを一時的または恒久的に保持するための記憶装置の少なくとも一部の記憶領域に対して割り当てられる。なお、1つの記憶領域を、論理的に複数の領域に分割することで、分割された当該領域それぞれにバッファ105が割り当てられていてもよい。また、他の一例として、互いに異なる記憶装置の記憶領域それぞれに、互いに異なるバッファ105が割り当てられていてもよい。もちろん、記憶装置を複数設ける場合においても、バッファ105の数と、当該記憶装置の数とは必ずしも一致していなくてもよいことは言うまでもない。この場合には、例えば、複数の記憶装置それぞれの記憶領域を、仮想的に1つの記憶領域として規定し、当該仮想的な記憶領域を論理的に複数の領域に分割したうえで、当該領域それぞれにバッファ105を割り当ててもよい。
バッファ制御部111は、複数のバッファ105それぞれと、描画対象となる各仮想オブジェクトとの間の関連付けを、直接的または間接的に制御する。例えば、バッファ制御部111は、図6に示すように、視点P11を基点とした視野に相当する領域が奥行き方向に沿って分割された複数の領域R111〜R115それぞれ、互いに異なるバッファ105に関連付けてもよい。これにより、領域R111〜R115それぞれに提示される仮想オブジェクトが、対応する当該領域に関連付けられたバッファ105に描画されることとなる。また、バッファ制御部111は、複数のバッファ105のうち少なくとも一部を、デプスマップを描画するためのバッファ(即ち、図6に示すバッファB101)として割り当ててもよい。
なお、バッファ制御部111は、複数のバッファ105それぞれと、描画対象となる各仮想オブジェクトとの間の関連付けを、各種状態や状況の変化に応じて動的に変更してもよい。また、バッファ制御部111は、複数のバッファ105として割り当てる記憶領域のサイズや、当該バッファ105の枚数を、各種状態や状況に応じて動的に変更してもよい。なお、これらの制御の一例については、変形例として別途後述する。
そして、バッファ制御部111は、複数のバッファ105それぞれと、描画対象(例えば、各仮想オブジェクトやデプスマップ)との間の関連付けを示す情報を、描画部103に通知する。これにより、描画部103は、描画対象となる各仮想オブジェクトと、デプスマップとのそれぞれの描画先となるバッファ105を認識することが可能となる。
なお、複数のバッファ105として割り当てる記憶領域の設定や、当該複数のバッファ105それぞれと描画対象との間の関連付けについては、あらかじめ固定的に設定されていてもよい。この場合には、当該設定を描画部103が認識可能に構成されていれば、バッファ制御部111は必ずしも設けられていなくてもよい。
描画部103は、バッファ制御部111から、複数のバッファ105それぞれと、描画対象との間の関連付けを示す情報の通知を受ける。これにより、描画部103は、描画部103は、描画対象となる各仮想オブジェクトと、デプスマップとのそれぞれの描画先となるバッファ105を認識する。
また、描画部103は、認識部101から、実空間上の物体(被写体)の認識結果に基づき生成されたデプスマップを取得する。描画部103は、取得したデプスマップを、複数のバッファ105のうち対応するバッファに描画する。
また、描画部103は、検知部251から、入出力装置20の位置や姿勢の変化を示す情報を所定のタイミングごとに取得し、取得した情報に基づき視点の位置や向きの変化を認識する。次いで、描画部103は、当該視点の位置や向きの変化の認識結果に基づく、当該視点と各仮想オブジェクトとの間の位置関係に応じて、各仮想オブジェクトの提示位置や形状(例えば、提示する向きに応じた形状)等を特定する。そして、描画部103は、各仮想オブジェクトを、当該仮想オブジェクトが直接的または間接的に関連付けられたバッファ105に描画する。また、描画部103は、検知部251から取得した情報に基づく視点の位置や向きの変化の認識結果を示す情報を、後述する表示制御部107に逐次出力する。
表示制御部107は、描画部103から視点の位置や向きの変化の認識結果を示す情報を逐次取得する。これにより、表示制御部107は、視点の位置や向きの変化を認識することが可能となる。また、表示制御部107は、複数のバッファ105のうち少なくとも一部に描画されたデプスマップに基づき、視野内に位置する実オブジェクトの実空間上における位置を認識する。
また、表示制御部107は、描画部103による各バッファ105への各仮想オブジェクの描画が完了すると、当該バッファ105に描画された各仮想オブジェクトを読み出す。そして、表示制御部107は、各仮想オブジェクトの出力タイミングにおいて、当該出力タイミングにおける視点の位置や向きに応じて、各仮想オブジェクトの表示位置を、当該仮想オブジェクトが描画されたバッファ105ごとに補正する。また、表示制御部107は、出力タイミングにおける視点の位置や向きに応じて、所定のバッファ105に描画されたデプスマップ(即ち、実オブジェクトの位置や姿勢)を補正してもよい。
次いで、表示制御部107は、視点と、認識された実オブジェクトと、表示位置が補正された各仮想オブジェクトとの間の位置関係に応じて、当該仮想オブジェクトが提示された画像を合成する。これにより、提示対象となる各仮想オブジェクトのうち、実オブジェクトや他の仮想オブジェクトにより少なくとも一部が遮蔽された仮想オブジェクトの、当該遮蔽された部分の出力が、より自然な態様で制限される。なお、上記補正に係る処理や、上記合成に係る処理については、一連の処理の流れの一例の説明とあわせて詳細を別途後述する。
なお、表示制御部107は、上述した各仮想オブジェクトの表示位置の補正や、当該仮想オブジェクトが提示された画像の合成に係る処理を実行する際に、当該処理を実行するために要する一時データ等を、一時バッファ109に一時的に保持させてもよい。一時バッファ109は、例えば、フラッシュメモリやRAM等の記憶装置により構成され、各種データを一時的または恒久的に保持するための記憶領域である。
そして、表示制御部107は、各バッファ105に描画された各仮想オブジェクトを合成することで生成された画像(即ち、各仮想オブジェクトの画像)を、出力部211に表示させる。これにより、ユーザは、実空間上に重畳するように提示された各仮想オブジェクトを、出力部211を介して視認することが可能となる。
以上、図7を参照して、本実施形態に係る情報処理システム1の機能構成の一例について、特に情報処理装置10の構成に着目して説明した。
<3.3.処理>
続いて、図8を参照して、本実施形態に係る情報処理システム1の一連の処理の流れの一例について、特に、仮想オブジェクトの描画と、描画された当該仮想オブジェクトの出力に係る処理に着目して説明する。図8は、本実施形態に係る情報処理システム1の一連の処理の流れの一例を示したフローチャートである。
まず、情報処理装置10(認識部101)は、ステレオカメラとして構成された撮像部201から撮像されたステレオ画像を取得し、取得したステレオ画像に基づき、画像中に撮像された物体までの距離を当該画像の画素ごとに測定することで、デプスマップを生成する。そして、情報処理装置10(描画部103)は、生成したデプスマップを、複数のバッファ105のうち対応するバッファに描画する(S101)。
また、情報処理装置10(描画部103)は、検知部251から、入出力装置20の位置や姿勢の変化を示す情報を所定のタイミングごとに取得し、取得した情報に基づき視点の位置や向きの変化を認識する。情報処理装置10は、当該認識結果に基づく視点と各仮想オブジェクトとの間の位置関係に応じて、各仮想オブジェクトの提示位置や形状等を特定する。そして、情報処理装置10は、各仮想オブジェクトを、複数のバッファ105のうちの対応するバッファ105に描画する(S103)。
また、情報処理装置10(表示制御部107)は、視点の位置や向きの変化を、検知部251から取得した情報に基づき逐次認識する(S105)。
次いで、情報処理装置10(表示制御部107)は、所定のバッファ105からデプスマップを一時バッファ109に読み出し、最新の視点の位置や向きに応じて、当該デプスマップ(即ち、実オブジェクトの位置や姿勢)を補正する(S107)。なお、このとき情報処理装置10は、デプスマップを画面の走査ラインごとに一時バッファ109に読み出し、読み出した当該走査ラインごとに上記補正を行ってもよい。これにより、視点と実オブジェクトとの間の位置関係が、当該視点の最新の位置や向きに応じて補正される。
また、情報処理装置10(表示制御部107)は、最新の視点の位置や向きに応じて、各バッファ105に描画された各仮想オブジェクトの表示位置を補正する。具体的には、情報処理装置10は、各バッファ105に関連付けられた実空間上の領域(例えば、図6に示す領域R111〜R115)の深度(即ち、視点からの距離)と、最新の視点の位置や向きとに応じて、当該バッファ105に描画された仮想オブジェクトに対する表示位置の補正量を算出する。そして、情報処理装置10は、例えば、バッファ105ごとに算出した補正量に応じて、当該バッファ105の読み出し位置を調整することで、当該バッファ105に描画された仮想オブジェクトの表示位置を補正する(S109)。
続いて、情報処理装置10(表示制御部107)は、出力部211の各ピクセルを逐次対象として、当該ピクセルに出力する情報(例えば、色情報)を特定する。このとき、まず情報処理装置10は、各バッファ105に関連付けられた実空間上の領域のうち、ユーザにより近い領域に関連付けられたバッファ105から対象となるピクセルを読み出す(S111)。
情報処理装置10は、読み出したピクセルに情報(例えば、色情報)が描画されているか否かを判定する(S113)。読み出したピクセルに情報が描画されている場合には(S113、YES)、情報処理装置10は、当該ピクセルの深度と、デプスマップ中の当該ピクセルに対応する位置の深度とを比較する(S115)。情報処理装置10は、読み出したピクセルが、デプスマップが示す深度(即ち、実オブジェクトの奥行き方向の位置)を含めて、最も手前側に位置する場合には(S115、YES)、読み出した当該ピクセルに描画された情報を出力部211に出力させる(S117)。
また、情報処理装置10は、読み出したピクセルが最も手前側に位置しない場合(S115、NO)や、読み出したピクセルに情報が描画されていない場合(S113、NO)には、全ての領域について上述した判定が完了しているか否かを確認する(S119)。まだ、判定の対象としていない領域が存在する場合には(S119、NO)、情報処理装置10は、判定の対象としていない領域のうち、よりユーザに近い領域を新たな対象とする。この場合には、情報処理装置10は、新たに対象とした領域に関連付けられたバッファ105から、対応するピクセルを読み出し(S111)、当該ピクセルに対して上述した一連の判定を行う(S113、S115)。
なお、全ての領域に対して上記判定が既に行われている場合には(S119、YES)、対象となるピクセルに対して情報が描画されていない状態か、または、実オブジェクトにより仮想オブジェクトが遮蔽されている状態となる。そのため、この場合には、情報処理装置10は、対象となるピクセルに対応する情報として、出力部211に無効色を出力させる(S121)。
以上のようにして、情報処理装置10は、全走査ラインそれぞれの一連のピクセルについて情報の出力が完了するまで(S123、NO)、上記に説明した当該ピクセルへの情報の出力に係る一連の処理を継続する。そして、全走査ラインそれぞれの一連のピクセルについて情報の出力が完了すると(S123、YES)、上述した仮想オブジェクトの描画と、描画された当該仮想オブジェクトの出力に係る一連の処理を終了する。
なお、図8を参照して上述した一連の処理の流れはあくまで一例であり、各処理の実行単位は必ずしも図8に示す例のみには限定されない。例えば、参照符号S101及びS103を付したデプスマップや仮想オブジェクトの描画に係る処理の実行後に、参照符号S105〜S123で示された情報の表示に係る一連の処理が複数セット実行されてもよい。
以上、図8を参照して、本実施形態に係る情報処理システム1の一連の処理の流れの一例について、特に、仮想オブジェクトの描画と、描画された当該仮想オブジェクトの出力に係る処理に着目して説明した。
<<4.変形例>>
続いて、本実施形態に係る情報処理システム1の変形例について説明する。
<4.1.変形例1:仮想オブジェクトとバッファとの間の関連付けの一例>
上述した実施形態では、視点を基点とした視野に相当する領域を奥行き方向に沿って複数の領域に分割し、分割された各領域に対して互いに異なるバッファ105を関連付けることで、各仮想オブジェクトに対してバッファ105を間接的に関連付けていた。これに対して、変形例1に係る情報処理システムでは、提示対象となる仮想オブジェクトそれぞれに対して、互いに異なるバッファ105を直接的に関連付ける。
例えば、図9は、変形例1に係る情報処理システムの概要について説明するための説明図であり、提示対象となる仮想オブジェクトとバッファとの間の関連付けの一例を示している。図9に示すように、変形例1に係る情報処理システムは、提示対象となる仮想オブジェクトV411、V413、及びV415それぞれに対して、互いに異なるバッファを関連付けている。より具体的には、仮想オブジェクトV411は、バッファB211に関連付けられている。そのため、情報処理システム1は、仮想オブジェクトV411を、バッファB211に描画することとなる。同様に、仮想オブジェクトV413は、バッファB213に関連付けられており、仮想オブジェクトV415は、バッファB215に関連付けられている。また、デプスマップについては、前述した実施形態と同様に、バッファB211、B213、及びB215とは別に設けられたバッファB101に描画される。
以上のような構成に基づき、変形例1に係る情報処理システムは、視点P11が移動した場合には、当該視点P11の移動量に応じて、各バッファに描画された各仮想オブジェクトの表示位置を、視点P11と当該仮想オブジェクトとの間の位置関係に応じて個別に補正する。また、当該情報処理システムは、バッファB101に描画されたデプスマップに基づき、実オブジェクトM417の実空間上における位置を認識し、当該実オブジェクトM417と、各バッファに描画された各仮想オブジェクトとの間の位置関係を比較する。そして、当該情報処理システムは、当該比較結果に基づき、バッファB211〜B215それぞれに描画された各仮想オブジェクトのうち、実オブジェクトM417や他の仮想オブジェクトにより遮蔽されない部分を、入出力装置20を介してユーザに提示すればよい。
以上のような構成から、変形例1に係る情報処理システムは、特に、提示対象となる仮想オブジェクトの数があらかじめ制限されている状況下においては、各仮想オブジェクトの表示をより精度よく補正することが可能となる。
<4.2.変形例2:領域分割の一例>
続いて、変形例2として、実空間上の領域(即ち、視点を基点とした視野に相当する領域)を複数の領域に分割する方法の一例について説明する。
例えば、図10は、変形例2に係る情報処理システムの一態様について概要を説明するための説明図であり、視点P11を基点とした視野に相当する領域を奥行き方向に沿って複数の領域に分割する方法の一例を示している。具体的には、図10に示す例では、視点P11を基点とした視野に相当する領域を奥行き方向に沿って複数の領域R211〜R215に分割する際に、より手前側に位置する領域ほど、奥行き方向に沿った幅がより狭くなるように分割されている。より具体的には、図10に示す例では、より手前側に位置する領域R211の奥行き方向の幅が最も狭く、次いで、領域R213、R215、R217の順に奥行き方向の幅がより広くなる。このように、図10に示す例では、情報処理システムは、ユーザの近傍をより細かい領域に分割し、分割された領域それぞれに対して互いに異なるバッファを関連付ける。
このような構成により、図10に示す例では、視点P11が移動した場合に、視点P11(即ち、ユーザ)のより近傍に重畳するように提示する仮想オブジェクトほど、表示位置をより細かく補正することが可能となる。特に、視点の移動に伴い表示位置を補正する場合には、当該視点により近くに位置する仮想オブジェクトほど表示位置の補正量がより大きくなり、より遠くに位置する仮想オブジェクトについては、表示位置の補正量がより小さくなる傾向にある。このような特性から、視点のより近傍では、奥行き方向の位置の違いに伴う当該補正量の差が、視点からより離間した位置に比べてより大きくなる傾向にある。また、各仮想オブジェクトの表示位置の補正は、上述したようにバッファ単位で行われる。以上のような特性から、ユーザの近傍をより細かい領域に分割し、分割された領域それぞれに対して互いに異なるバッファを関連付けることで、バッファを効率的に利用し、かつ、各仮想オブジェクトの表示位置の補正に係る精度を向上させることが可能となる。
また、上記では、主に、視点P11を基点とした視野に相当する領域をあらかじめ複数の領域に分割する(即ち、静的に分割する)場合の一例について説明したが、当該領域の分割が状況に応じて動的に行われてもよい。
例えば、図11は、変形例2に係る情報処理システムの他の一態様について概要を説明するための説明図であり、ユーザが注目している実空間上の位置の近傍をより細かい領域に分割する場合の一例を示している。
例えば、図11に示す例では、参照符号M421で示された実オブジェクトに対してユーザが視線を向けている場合を想定し、視点P11を基点とした視野に相当する領域が奥行き方向に沿って複数の領域R311〜R319に分割されている。より具体的には、図12に示す例では、ユーザが注目している位置(即ち、実オブジェクトM421が存在する位置)を含む領域R315と、当該領域R315に隣接する領域R313及びR317との奥行き方向の幅が、他の領域R311及びR319よりも狭くなるように設定されている。なお、領域R311〜R319のそれぞれには、互いに異なるバッファが関連付けられている。
このような構成により、情報処理システムは、視点P11が移動した場合に、ユーザが注目している位置のより近傍に提示される仮想オブジェクトほど、表示位置をより細かく補正することが可能となる。
また、移動する仮想オブジェクトをユーザに提示するような状況下においては、仮想オブジェクトの動きの予測結果に応じて、視点P11を基点とした視野に相当する領域が動的に複数の領域に分割されてもよい。例えば、図12は、変形例2に係る情報処理システムの他の一態様について概要を説明するための説明図であり、仮想オブジェクトの動きの予測結果に応じて、実空間上の領域を複数の領域に分割する場合の一例を示している。
例えば、図12に示す例では、仮想オブジェクトV431の移動先として参照符号V433で示された位置が予測された場合を想定し、視点P11を基点とした視野に相当する領域が奥行き方向に沿って複数の領域R321〜R329に分割されている。より具体的には、図12に示す例では、仮想オブジェクトV431の移動先として予測された位置V433を含む領域R325と、当該領域R325に隣接する領域R323及びR327との奥行き方向の幅が、他の領域R321及びR329よりも狭くなるように設定されている。なお、領域R321〜R329のそれぞれには、互いに異なるバッファが関連付けられている。
このような構成により、情報処理システムは、視点P11が移動した場合に、仮想オブジェクトV431の移動に伴う、当該仮想オブジェクトV431と、他の実オブジェクトや仮想オブジェクトとの間の位置関係の変化を考慮し、より精度良く補正を行うことが可能となる。
なお、予測結果を利用した補正は、図12に示すように仮想オブジェクトの動きの予測結果を利用した方法のみには限定されない。具体的な一例として、情報処理システムは、ユーザの頭部の位置や姿勢の変化の検出結果に基づき視点の位置や向きの変化を予測することで、当該予測結果に基づき、実空間上の領域を複数の領域を複数の領域に分割してもよい。また、他の一例として、実オブジェクトが移動しているような状況下において、情報処理システムは、当該実オブジェクトの移動先を予測し、当該予測結果に基づき、実空間上の領域を複数の領域を複数の領域に分割してもよい。
また、上述した例はあくまで一例であり、実空間上の領域を複数の領域に分割する方法は、必ずしも上述した例には限定されない。例えば、より優先して提示すべき対象(即ち、表示位置をより細かく補正する対象)に応じて、実空間上の領域が複数の領域に分割されるとよい。より具体的な一例として、情報処理システムのユースケースや利用シーンごとに優先して提示すべき対象を設定することで、当該ユースケースや利用シーンに応じて、実空間上の領域が複数の領域に分割されてもよい。
以上、変形例2として、実空間上の領域(即ち、視点を基点とした視野に相当する領域)を複数の領域に分割する方法の一例について説明した。
<4.3.変形例3:バッファの制御例>
続いて、変形例3として、バッファを制御の一例について説明する。
例えば、情報処理システムは、仮想オブジェクトやデプスマップを描画するために割り当てるバッファの枚数を、各種状態や状況に応じて動的に制御してもよい。
例えば、変形例2では、実空間上の領域を状況に応じて動的に複数の領域に分割する例について説明したが、このとき情報処理システムは、分割される領域の数を動的に変更してもよい。この場合には、分割された各領域に関連付けられるバッファの数も、分割された当該領域の数に応じて変動するため、情報処理システムは、分割された領域の数に応じて、仮想オブジェクトを描画するバッファの枚数を制御してもよい。
また、他の一例として、変形例1に示すように仮想オブジェクトに対して直接バッファを関連付ける場合には、情報処理システムは、提示対象となる仮想オブジェクトの数に応じて、仮想オブジェクトを描画するバッファの枚数を制御してもよい。
なお、情報処理システムは、実空間上の領域や仮想オブジェクトに対するバッファの関連付けを動的に変更した結果として、当該バッファの枚数が不足する場合には、所定の記憶領域から新たにバッファを割り当ててもよい。また、情報処理システムは、実空間上の領域や仮想オブジェクトに対するバッファの関連付けを動的に変更した結果として、一部のバッファが使用されない状況となった場合には、当該バッファが割り当てられた記憶領域を解放してもよい。
また、実空間上の領域を複数の領域に分割した場合においても、必ずしも、分割された領域全てに対して仮想オブジェクトが重畳されるとは限らない。このような場合には、仮想オブジェクトが重畳されない領域に関連付けられたバッファには、仮想オブジェクトが描画されない場合がある。このような状況を鑑み、例えば、情報処理システムは、仮想オブジェクトが重畳されない領域については、バッファの関連付けを解除してもよい。この場合には、情報処理システムは、領域への関連付けが解除されたバッファが割り当てられた記憶領域を解放してもよい。
また、情報処理システムが、状況に応じて仮想オブジェクトの表示を一時的に抑制する(即ち、非表示とする)場合も想定され得る。このような場合には、当該情報処理システムは、仮想オブジェクトの表示を抑制する期間中は、当該仮想オブジェクトが重畳されていた領域へのバッファの関連付けを解除することで当該仮想オブジェクトの描画自体を抑制してもよく、当該バッファが割り当てられた記憶領域を解放してもよい。なお、表示を抑制していた仮想オブジェクトを再度表示する場合には、情報処理システムは、当該仮想オブジェクトを提示する領域に対して改めてバッファを関連付ければよい。また、このとき情報処理システムは、当該領域に関連付けるバッファを再度割り当ててもよい。
また、情報処理システムは、一部の仮想オブジェクトの描画を動的に制限することで、一部のバッファの使用を制限してもよい。具体的な一例として、情報処理システムは、各種状態や状況に応じて、より奥側に提示される仮想オブジェクトについてはユーザが注目していないものとして、当該仮想オブジェクトの描画を制限してもよい。また他の一例として、情報処理システムは、各種状態や状況に応じて、ユーザが注目している位置からより離間している仮想オブジェクトについてはユーザが注目していないものとして、当該仮想オブジェクトの描画を制限してもよい。なお、情報処理システムは、描画の制限に伴い使用が制限されたバッファについては、他の仮想オブジェクトの描画に用いる等のように、他の用途で使用してもよい。
また、前述したように、仮想オブジェクトの表示位置の補正は、バッファ単位で実行される。そのため、例えば、一部の領域に対して複数の仮想オブジェクトが重畳される状況下においては、例えば、情報処理システムは、改めて当該領域をさらに細かく分割し、分割された各領域それぞれに対して個別にバッファを関連付けてもよい。このような制御により、情報処理システムは、当該複数の仮想オブジェクトそれぞれの表示位置を個別に補正することが可能となる。
また、他の一例として、情報処理システムは、仮想オブジェクトやデプスマップを描画する各バッファのうち、少なくとも一部のバッファのサイズを制御してもよい。
具体的な一例として、情報処理システムは、バッファ間に優先度を設定することで、当該優先度に応じたサイズで当該バッファを割り当ててもよい。例えば、図13は、変形例3に係る情報処理システムの一態様について概要を説明するための説明図であり、バッファサイズの制御の一例について示している。
一般的には、より遠方に位置する仮想オブジェクトはより小さく提示され、相対的に当該仮想オブジェクトの解像度も低くなる傾向にある。そのため、図13に示す例では、情報処理システムは、視点P11を基点とした視野に相当する領域が奥行き方向に沿って分割された複数の領域R331〜R337に関連付けるバッファのサイズを、当該領域の奥行き方向の位置に応じて設定している。具体的には、図13に示す例では、情報処理システムは、より手前側に位置する領域R331及びR333の優先度を、より奥側に位置する領域R335及びR337の優先度よりも高く設定し、当該優先度に応じて関連付けるバッファのサイズを設定している。即ち、情報処理システムは、領域R335及びR337に関連付けられたバッファのサイズを、領域R331及びR333に関連付けられたバッファのサイズよりも小さく設定している。なお、情報処理システムは、サイズの小さいバッファに描画した仮想オブジェクトについては、他のバッファに描画された仮想オブジェクトと合成する際に、他のバッファに描画された仮想オブジェクトのサイズにあわせて拡大処理を施したうえで当該合成を行えばよい。
上述したように、一部のバッファのサイズを制限することで、例えば、仮想オブジェクトの描画に係る処理負荷を軽減することも可能となる。なお、上述したバッファのサイズの制御は、各種状態や状況に応じて動的に行われてもよい。
また、情報処理システムは、一部のバッファのサイズを制限するために、仮想オブジェクトの描画に係る動作や、当該仮想オブジェクトの出力に係る動作を切り替えてもよい。例えば、図14は、変形例3に係る情報処理システムの一態様について概要を説明するための説明図であり、バッファのサイズを制限するための仕組みの一例について示している。
具体的には、前述したように、より遠方に位置する仮想オブジェクトはより小さく提示され、相対的に解像度も低くなる傾向にあり、当該仮想オブジェクトの表示を細かく変化させたとしても、ユーザが、当該表示の変化を認識することが困難な場合がある。そこで、図14に示す例では、情報処理システムは、より遠方に提示する仮想オブジェクトについては、視点との間の位置関係に応じて提示する画像をあらかじめ描画しておき、当該画像を切り替えることで、当該描画のためのバッファのサイズを制限している。
具体的には、図14に示す例では、提示対象となる仮想オブジェクトについて、互いに異なる方向から見た場合の当該仮想オブジェクトの画像V441a〜V441cがあらかじめ描画されている。即ち、画像V441aは、仮想オブジェクトを正面から参照した場合の画像である。また、画像V441bは、仮想オブジェクトの正面に対して右側から参照した場合の画像であり、画像V441bは、仮想オブジェクトの正面に対して左側から参照した場合の画像である。そして、情報処理システムは、仮想オブジェクトを重畳する位置と視点との間の位置関係に応じて、画像V441a〜V441cのいずれかを、当該仮想オブジェクトの画像として提示する。このような構成とすることで、三次元的に提示された仮想オブジェクトを描画する場合に比べて、バッファのサイズを制限することが可能となり、さらに当該描画に係る処理負荷も軽減することも可能となる。
また、情報処理システムは、バッファ間に優先度を設定し、当該優先度に応じて、一部のバッファに描画された仮想オブジェクトに対する表示位置の補正に関する処理を制限してもよい。例えば、情報処理システムは、ユーザが注目している位置のより近傍に位置する領域に関連付けられたバッファの優先度をより高く設定することで、ユーザの注目している位置から離間した位置に重畳される仮想オブジェクトについては、表示位置の補正に係る処理を制限してもよい。このような構成により、情報処理システムは、各バッファに描画された仮想オブジェクトを合成する際の処理負荷を軽減することが可能となる。
また、情報処理システムがバッファの枚数やサイズを動的に制御するための条件については、例えば、情報処理システムのユースケースや利用シーンに応じて適宜設定すればよい。具体的な一例として、情報処理システムは、使用可能な電力量が制限されるような状況下(例えば、バッテリー駆動時等)においては、バッファの枚数やサイズを制限し、仮想オブジェクトの描画や合成に係る処理負荷を軽減することで、消費電力を抑えてもよい。
以上、変形例3として、バッファを制御の一例について説明した。
<4.4.変形例4:仮想オブジェクトの描画や出力に係る制御の一例>
続いて、変形例4として、各バッファへの仮想オブジェクトの描画や、当該仮想オブジェクトの出力に係る制御の一例について説明する。
(遠景に提示する仮想オブジェクトの描画や出力の制御例)
まず、遠景に提示する仮想オブジェクトの描画や出力を制御する場合の一例について説明する。前述したように、より遠方に位置する仮想オブジェクトは、表示を細かく変化させたとしても、ユーザが、当該表示の変化を認識することが困難な場合がある。そこで、例えば、情報処理システムは、視点の位置からより離れた領域に提示する一連の仮想オブジェクトについては、個別に3次元的な描画を行わずに、2次元的な画像として描画することで、当該描画に係る処理負荷を軽減してもよい。この場合には、情報処理システムは、所謂キューブマップ(Cubemap)やパララックス等の技術に基づき、対象となる領域と視点との位置関係に応じて、当該領域に重畳される一連の仮想オブジェクトが描画された2次元的な画像の表示位置を制御すればよい。
(表示位置を固定する場合の制御の一例)
次いで、所謂UI等のように表示位置が固定された情報の描画や出力を制御する場合の一例について説明する。UI等のように、実空間との関連付けが行われずに独立して提示される表示情報については、視点の位置や向きが変化した場合においても、常に同じ位置に提示されることが期待される。即ち、UI等の表示情報については、例えば、視点の位置や向きが変化した場合においても、表示位置の補正が不要となる場合がある。このような状況を鑑み、情報処理システムは、例えば、当該補正の対象から除外する一連の表示情報を描画するためのバッファを設けてもよい。
(描画や合成に係る処理タイミングの制御)
次いで、描画や合成に係る処理タイミングを制御する場合の一例について説明する。仮想オブジェクトの描画に係る処理や、各バッファに描画された仮想オブジェクトの合成に係る処理は、処理負荷が比較的高い傾向にあり、当該処理負荷に伴い処理時間が長くなる場合がある。このような状況を鑑み、情報処理システムは、ユーザが仮想オブジェクトを視認していないタイミングを検出し、当該タイミングで上述した処理負荷の高い処理を実行してもよい。
具体的な一例として、情報処理システムは、ユーザが瞬きをするタイミングを予測することで、当該予測結果に基づきユーザが眼を閉じるタイミングにあわせて処理負荷の高い制御を実行してもよい。また、このとき情報処理システムは、ユーザが眼を開くタイミングにあわせて、各バッファに描画された仮想オブジェクトの表示位置を補正し、当該仮想オブジェクトを合成するタイミングを制御してもよい。
なお、ユーザが瞬きするタイミングを予測することが可能であれば、その方法については特に限定されない。具体的な一例として、情報処理システムは、ユーザの行動をモニタリングし、当該モニタリングの結果と当該ユーザの行動特性との比較結果に応じて、当該ユーザが瞬きをするタイミングを予測してもよい。
以上、変形例4として、各バッファへの仮想オブジェクトの描画や、当該仮想オブジェクトの出力に係る制御の一例について説明した。
<4.5.変形例5:インタラクションの制御の一例>
続いて、変形例5として、本実施形態に係る情報処理システムにおけるインタラクションの制御の一例について説明する。
(他の出力情報との組み合わせ)
まず、仮想オブジェクトの提示と、他の出力情報の制御とを組み合わせることで、仮想オブジェクトの描画に伴う遅延の影響をより緩和するための制御の一例について説明する。例えば、仮想オブジェクトを提示する際に、当該仮想オブジェクトが提示された位置から音響が到来しているように、当該音響の出力を制御することで、当該仮想オブジェクトから音響が出力されている状況を模擬する場合がある。このような場合には、情報処理システムは、視点と、提示対象となる各仮想オブジェクトと、実空間上に位置する実オブジェクトとの間の位置関係に応じて音響の出力を制御することで、仮想オブジェクトの描画に伴う遅延の影響を緩和してもよい。
より具体的な一例として、視点と、音響を出力している状態を模擬する仮想オブジェクトとの間に、他の仮想オブジェクトや実オブジェクトが介在している状況に着目する。このような状況では、情報処理システムは、例えば、当該音響の音量や音質を制御することで、仮想オブジェクトから出力された音響が、他の仮想オブジェクトや実オブジェクトにより遮蔽されている状況を模擬してもよい。このような制御により、仮想オブジェクトの表示位置の補正が不完全だった場合においても、当該不完全さを補間することが可能となる。
(表示態様の制御例)
次いで、仮想オブジェクトの表示態様の制御と、当該制御により期待される効果との一例について説明する。例えば、情報処理システムは、ユーザが注目している仮想オブジェクトが重畳される領域以外の他の領域に重畳する他の仮想オブジェクトの透過度を上げる(例えば、半透明で提示する)ように、当該仮想オブジェクトの表示を制御してもよい。このような制御により、ユーザが注目している仮想オブジェクトがより強調され、他の仮想オブジェクトとの間の位置関係(特に、奥行き方向の位置関係)をよりわかりやすく提示することが可能となる。
また、一部の仮想オブジェクトをより強調して提示することで、当該仮想オブジェクトによりユーザの視線を誘導することも可能である。このような制御を利用することで、情報処理システムは、例えば、ユーザの視線を誘導した位置の近傍で、仮想オブジェクトの表示位置をより細かく制御できるように、実空間上の領域の分割や、当該領域に対するバッファの関連付けを制御してもよい。
以上、変形例5として、本実施形態に係る情報処理システムにおけるインタラクションの制御の一例について説明した。
<<5.ハードウェア構成>>
次に、図15を参照しながら、前述した情報処理装置10及び入出力装置20のように、本実施形態に係る情報処理システム1を構成する情報処理装置900のハードウェア構成について、詳細に説明する。図15は、本開示の一実施形態に係る情報処理システム1を構成する情報処理装置900のハードウェア構成の一構成例を示す機能ブロック図である。
本実施形態に係る情報処理システム1を構成する情報処理装置900は、主に、CPU901と、ROM903と、RAM905と、を備える。また、情報処理装置900は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
CPU901は、演算処理装置及び制御装置として機能し、ROM903、RAM905、ストレージ装置919又はリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般又はその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。なお、図7を参照して前述した、認識部101、描画部103、表示制御部107、及びバッファ制御部111は、例えば、CPU901により実現され得る。
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。また、外部バス911には、インターフェース913を介して、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923及び通信装置925が接続される。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置900のユーザは、この入力装置915を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置917は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置917は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。なお、図7を参照して前述した出力部211は、例えば、出力装置917により実現され得る。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ等を格納する。
ドライブ921は、記録媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア又はBlu−ray(登録商標)メディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。なお、図7を参照して前述した、バッファ105及び一時バッファ109は、例えば、RAM905及びストレージ装置919の少なくともいずれかにより実現され得る。
接続ポート923は、情報処理装置900に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(登録商標)(High−Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置900は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
通信装置925は、例えば、通信網(ネットワーク)931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線若しくは無線LAN(Local Area Network)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。
以上、本開示の実施形態に係る情報処理システム1を構成する情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図15では図示しないが、本実施形態に係る情報処理システム1を構成する情報処理装置900に対応する各種の構成を当然備える。
なお、上述のような本実施形態に係る情報処理システム1を構成する情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ(例えば、複数のサーバ等)が互いに連携して実行してもよい。なお、単数のコンピュータ、または、複数のコンピュータが連携するものを、「コンピュータシステム」とも称する。
<<6.むすび>>
以上説明したように、本実施形態に係る情報処理システムは、複数の表示情報(例えば、仮想オブジェクト)それぞれを、複数のバッファのうちのいずれかに対して直接的または間接的に関連付け、バッファごとに、当該バッファに関連付けられた表示情報を描画する。そして、情報処理システムは、実空間上の実オブジェクトの認識結果に基づき、複数のバッファそれぞれに描画された表示情報の表示を補正し、当該補正が施された表示情報それぞれを、実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる。このような構成より、本実施形態に係る情報処理システムは、視点と、各表示情報と、実オブジェクトとの間の位置関係に応じて、当該表示情報の表示を個別に補正することが可能となる。即ち、本実施形態に係る情報処理システムは、描画の遅延に伴う影響を表示情報が重畳される位置に応じて個々に補正し、かつ、実オブジェクトによる遮蔽を考慮して各表示情報の表示(例えば、表示位置)を制御することが可能となる。
なお、上記では、主に入出力装置20がHMDとして構成されている場合に着目して説明したが、ARを実現可能であれば、入出力装置20の構成は必ずしもHMDには限定されない。具体的な一例として、スマートフォン等のような情報処理装置が入出力装置20として適用されてもよい。この場合には、例えば、ビデオシースルー型HMDと同様の仕組みに基づき、外部の風景の画像に対して仮想オブジェクトを重畳させればよい。
また、入出力装置20とは異なる外部装置として撮像部を別途設けてもよい。このように、別途撮像部を設けることで、実空間上の物体(被写体)を多様な方向から撮像することが可能となるため、生成されるデプスマップの精度をより向上させることが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
を備える、情報処理装置。
(2)
前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けるバッファ制御部を備える、前記(1)に記載の情報処理装置。
(3)
前記表示制御部は、前記実オブジェクトの認識結果に応じた、当該実オブジェクトと視点との間の位置関係に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示位置を補正する、前記(2)に記載の情報処理装置。
(4)
前記バッファ制御部は、前記視点の位置を基点とした、実空間上における奥行き方向に沿った複数の領域それぞれに対して互いに異なる前記バッファを関連付け、
前記描画部は、前記複数の領域それぞれに位置するように提示する前記表示情報を、当該領域に関連付けられた前記バッファに描画し、
前記表示制御部は、前記複数のバッファのうち少なくともいずれかを対象として、当該対象とした前記バッファに関連付けられた前記領域に提示する前記表示情報の表示位置を、当該領域と前記視点との間の位置関係に応じて補正する、前記(3)に記載の情報処理装置。
(5)
前記バッファ制御部は、前記複数の表示情報それぞれを、互いに異なる前記バッファに関連付け、
前記表示制御部は、前記複数のバッファのうち少なくともいずれかを対象として、当該対象とした前記バッファに関連付けられた前記表示情報の表示位置を、当該表示情報と前記視点との間の位置関係に応じて補正する、前記(3)に記載の情報処理装置。
(6)
前記バッファ制御部は、所定の状態または状況に応じて、前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付ける、前記(2)〜(5)のいずれか一項に記載の情報処理装置。
(7)
前記バッファ制御部は、所定の状態または状況に応じて、前記バッファの枚数を制御する、前記(6)に記載の情報処理装置。
(8)
前記バッファ制御部は、所定の状態または状況に応じて、前記複数のバッファのうち少なくともいずれかのサイズを制御する、前記(6)または(7)に記載の情報処理装置。
(9)
前記バッファ制御部は、所定の状態または状況に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、前記(6)〜(8)のいずれか一項に記載の情報処理装置。
(10)
前記バッファ制御部は、ユーザの視線が示す実空間上の位置に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、前記(9)に記載の情報処理装置。
(11)
前記バッファ制御部は、ユーザの視線の変化の予測結果に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、前記(9)に記載の情報処理装置。
(12)
前記バッファ制御部は、前記複数の表示情報のうち少なくともいずれかの表示情報の動きの予測結果に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、前記(9)に記載の情報処理装置。
(13)
前記表示制御部は、前記複数のバッファ間に設定された優先度に基づき、前記複数のバッファそれぞれに描画された前記表示情報の前記出力部への提示を制御する、前記(1)〜(11)のいずれか一項に記載の情報処理装置。
(14)
前記表示制御部は、前記複数のバッファのうち少なくともいずれかに描画された前記表示情報の表示を、当該バッファに設定された前記優先度に応じて補正する、前記(13)に記載の情報処理装置。
(15)
前記描画部は、前記複数のバッファのうち少なくともいずれかに対する前記表示情報の描画を、当該バッファに設定された前記優先度に応じて制限する、前記(13)または(14)に記載の情報処理装置。
(16)
前記表示制御部は、前記複数のバッファのうち一部のバッファを、前記補正の対象から除外する、前記(1)〜(15)のいずれか一項に記載の情報処理装置。
(17)
前記表示制御部は、前記バッファに対して前記表示情報が描画されたタイミングよりも後のタイミングで取得された前記実オブジェクトの認識結果に基づき、当該バッファに描画された当該表示情報の表示を補正する、前記(1)〜(16)のいずれか一項に記載の情報処理装置。
(18)
コンピュータシステムが、
実空間上の実オブジェクトの認識結果に関する情報を取得することと、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、
を含む、情報処理方法。
(19)
コンピュータシステムに、
実空間上の実オブジェクトの認識結果に関する情報を取得することと、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、
を実行させる、プログラム。
1 情報処理システム
10 情報処理装置
101 認識部
103 描画部
105 バッファ
107 表示制御部
109 一時バッファ
111 バッファ制御部
20 入出力装置
201 撮像部
211 出力部
251 検知部

Claims (18)

  1. 実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
    複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
    前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
    前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けるバッファ制御部と、
    を備え
    前記表示制御部は、前記実オブジェクトの認識結果に応じた、当該実オブジェクトと視点との間の位置関係に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示位置を補正する、情報処理装置。
  2. 前記バッファ制御部は、前記視点の位置を基点とした、実空間上における奥行き方向に沿った複数の領域それぞれに対して互いに異なる前記バッファを関連付け、
    前記描画部は、前記複数の領域それぞれに位置するように提示する前記表示情報を、当該領域に関連付けられた前記バッファに描画し、
    前記表示制御部は、前記複数のバッファのうち少なくともいずれかを対象として、当該対象とした前記バッファに関連付けられた前記領域に提示する前記表示情報の表示位置を、当該領域と前記視点との間の位置関係に応じて補正する、請求項に記載の情報処理装置。
  3. 前記複数の表示情報は、第1の仮想オブジェクトおよび第2の仮想オブジェクトを表す情報を含み、
    前記複数のバッファは、前記視点から前記奥行き方向に沿って順に第1のバッファ、第2のバッファ、第3のバッファを含み、
    前記描画部は、前記実オブジェクトの認識結果に基づくデプスマップを前記第2のバッファに描画するとともに、前記第1のバッファおよび前記第3のバッファに前記第1の仮想オブジェクトおよび前記第2の仮想オブジェクトをそれぞれ描画し、
    前記表示制御部は、
    前記視点の位置および向きの少なくとも一方の変化に応じて、前記第1の仮想オブジェクト、前記デプスマップおよび前記第2の仮想オブジェクトを補正し、
    前記補正後に、前記実オブジェクトにより遮蔽された前記第2の仮想オブジェクトの少なくとも一部に無効色を設定する
    請求項2に記載の情報処理装置。
  4. 前記バッファ制御部は、前記複数の表示情報それぞれを、互いに異なる前記バッファに関連付け、
    前記表示制御部は、前記複数のバッファのうち少なくともいずれかを対象として、当該対象とした前記バッファに関連付けられた前記表示情報の表示位置を、当該表示情報と前記視点との間の位置関係に応じて補正する、請求項1〜のいずれか一項に記載の情報処理装置。
  5. 前記バッファ制御部は、所定の状態または状況に応じて、前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付ける、請求項のいずれか一項に記載の情報処理装置。
  6. 前記バッファ制御部は、所定の状態または状況に応じて、前記バッファの枚数を制御する、請求項に記載の情報処理装置。
  7. 前記バッファ制御部は、所定の状態または状況に応じて、前記複数のバッファのうち少なくともいずれかのサイズを制御する、請求項またはに記載の情報処理装置。
  8. 実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
    複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
    前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
    前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けるバッファ制御部と、
    を備え、
    前記バッファ制御部は、所定の状態または状況に応じて、前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付け、所定の状態または状況に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、情報処理装置。
  9. 前記バッファ制御部は、ユーザの視線が示す実空間上の位置に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、請求項に記載の情報処理装置。
  10. 前記バッファ制御部は、ユーザの視線の変化の予測結果に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、請求項に記載の情報処理装置。
  11. 前記バッファ制御部は、前記複数の表示情報のうち少なくともいずれかの表示情報の動きの予測結果に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、請求項に記載の情報処理装置。
  12. 実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
    複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
    前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
    を備え、
    前記表示制御部は、前記複数のバッファ間に設定された優先度に基づき、前記複数のバッファそれぞれに描画された前記表示情報の前記出力部への提示を制御する、情報処理装置。
  13. 前記表示制御部は、前記複数のバッファのうち少なくともいずれかに描画された前記表示情報の表示を、当該バッファに設定された前記優先度に応じて補正する、請求項12に記載の情報処理装置。
  14. 前記描画部は、前記複数のバッファのうち少なくともいずれかに対する前記表示情報の描画を、当該バッファに設定された前記優先度に応じて制限する、請求項12または13に記載の情報処理装置。
  15. 実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
    複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
    前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
    を備え、
    前記表示制御部は、前記複数のバッファのうち一部のバッファを、前記補正の対象から除外する、情報処理装置。
  16. 実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
    複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
    前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
    を備え、
    前記表示制御部は、前記バッファに対して前記表示情報が描画されたタイミングよりも後のタイミングで取得された前記実オブジェクトの認識結果に基づき、当該バッファに描画された当該表示情報の表示を補正する、情報処理装置。
  17. コンピュータシステムが、
    実空間上の実オブジェクトの認識結果に関する情報を取得することと、
    複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、
    前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、
    前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けることと、
    を含み、
    前記実オブジェクトの認識結果に応じた、当該実オブジェクトと視点との間の位置関係に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示位置を補正する、情報処理方法。
  18. コンピュータシステムに、
    実空間上の実オブジェクトの認識結果に関する情報を取得することと、
    複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、
    前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、
    前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けることと、
    を実行させ
    前記実オブジェクトの認識結果に応じた、当該実オブジェクトと視点との間の位置関係に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示位置を補正する、プログラム。
JP2018513058A 2016-04-18 2017-03-08 情報処理装置、情報処理方法、及びプログラム Active JP6747504B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016082983 2016-04-18
JP2016082983 2016-04-18
PCT/JP2017/009261 WO2017183346A1 (ja) 2016-04-18 2017-03-08 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2017183346A1 JPWO2017183346A1 (ja) 2019-02-21
JP6747504B2 true JP6747504B2 (ja) 2020-08-26

Family

ID=60115844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018513058A Active JP6747504B2 (ja) 2016-04-18 2017-03-08 情報処理装置、情報処理方法、及びプログラム

Country Status (6)

Country Link
US (1) US10943409B2 (ja)
EP (1) EP3447735B1 (ja)
JP (1) JP6747504B2 (ja)
KR (1) KR102298378B1 (ja)
CN (1) CN109074681B (ja)
WO (1) WO2017183346A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024076058A1 (ko) * 2022-10-07 2024-04-11 삼성전자 주식회사 센서를 포함하는 웨어러블 전자 장치 및 이의 동작 방법

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019087513A1 (ja) * 2017-10-31 2019-05-09 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP6770208B2 (ja) * 2018-01-30 2020-10-14 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
JP7252965B2 (ja) * 2018-02-15 2023-04-05 マジック リープ, インコーポレイテッド 複合現実のための二重聴取者位置
CN108398787B (zh) * 2018-03-20 2023-05-16 京东方科技集团股份有限公司 增强现实显示设备、方法和增强现实眼镜
WO2020023383A1 (en) * 2018-07-23 2020-01-30 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
JP7367689B2 (ja) * 2018-10-04 2023-10-24 ソニーグループ株式会社 情報処理装置、情報処理方法、及び記録媒体
US11122383B2 (en) 2018-10-05 2021-09-14 Magic Leap, Inc. Near-field audio rendering
WO2020080177A1 (ja) * 2018-10-16 2020-04-23 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
WO2020090316A1 (ja) 2018-11-02 2020-05-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP7204511B2 (ja) * 2019-02-12 2023-01-16 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム
US11217011B2 (en) * 2019-04-19 2022-01-04 Facebook Technologies, Llc. Providing semantic-augmented artificial-reality experience
US10867220B2 (en) * 2019-05-16 2020-12-15 Rpx Corporation Systems and methods for generating composite sets of data from different sensors
US20220319105A1 (en) * 2019-07-10 2022-10-06 Sony Interactive Entertainment Inc. Image display apparatus, image display system, and image display method
JP7377014B2 (ja) * 2019-07-10 2023-11-09 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7217206B2 (ja) * 2019-07-10 2023-02-02 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7320400B2 (ja) * 2019-08-06 2023-08-03 日本放送協会 映像演出処理装置及びそのプログラム
JP7690883B2 (ja) * 2019-08-30 2025-06-11 ソニーグループ株式会社 情報処理装置、情報処理方法
WO2021075317A1 (ja) * 2019-10-18 2021-04-22 株式会社Nttドコモ Arシステム及び端末
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
JP2021100222A (ja) 2019-12-23 2021-07-01 ソニーグループ株式会社 端末装置、アプリケーションサーバ、受信方法及び送信方法
EP4111368A4 (en) 2020-02-26 2023-08-16 Magic Leap, Inc. Cross reality system with buffering for localization accuracy
US20230130815A1 (en) * 2020-04-21 2023-04-27 Sony Group Corporation Image processing apparatus, image processing method, and program
US12526391B2 (en) 2021-05-19 2026-01-13 Sony Interactive Entertainment Inc. Image data generation device, display device, image display system, image data generation method, image display method, and data structure of image data
CN113409424B (zh) * 2021-06-25 2024-11-26 深圳市商汤科技有限公司 校验方法及装置、电子设备和存储介质
JP2023105524A (ja) * 2022-01-19 2023-07-31 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置、ヘッドマウントディスプレイ、および表示制御方法
US12361661B1 (en) 2022-12-21 2025-07-15 Meta Platforms Technologies, Llc Artificial reality (XR) location-based displays and interactions
WO2024177293A1 (ko) * 2023-02-21 2024-08-29 삼성전자주식회사 디스플레이를 통해 표시되는 가상 공간 상에 외부 공간에 대응하는 이미지를 표시하기 위한 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체
EP4603954A4 (en) 2023-02-21 2026-02-25 Samsung Electronics Co Ltd COMPUTER-READABLE ELECTRONIC DEVICE, METHOD AND STORAGE MEDIA FOR DISPLAYING AN IMAGE CORRESPONDING TO AN EXTERNAL SPACE IN A VIRTUAL SPACE DISPLAY

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005009437A1 (de) * 2005-03-02 2006-09-07 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Einblenden von AR-Objekten
JP5123747B2 (ja) * 2008-06-18 2013-01-23 キヤノン株式会社 画像表示装置およびその制御方法
JP5156571B2 (ja) * 2008-10-10 2013-03-06 キヤノン株式会社 画像処理装置、画像処理方法
KR20110136035A (ko) 2010-06-14 2011-12-21 주식회사 비즈모델라인 실제현실 적응형 증강현실 장치
US9354718B2 (en) * 2010-12-22 2016-05-31 Zspace, Inc. Tightly coupled interactive stereo display
CN102509342A (zh) * 2011-09-22 2012-06-20 北京航空航天大学 一种共享增强现实场景中协同式虚实遮挡处理方法
JP5821526B2 (ja) 2011-10-27 2015-11-24 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP6040564B2 (ja) 2012-05-08 2016-12-07 ソニー株式会社 画像処理装置、投影制御方法及びプログラム
US9595083B1 (en) * 2013-04-16 2017-03-14 Lockheed Martin Corporation Method and apparatus for image producing with predictions of future positions
JP2015119373A (ja) * 2013-12-19 2015-06-25 ソニー株式会社 画像処理装置および方法、並びにプログラム
US20150379772A1 (en) * 2014-06-30 2015-12-31 Samsung Display Co., Ltd. Tracking accelerator for virtual and augmented reality displays
US9659410B2 (en) * 2014-10-21 2017-05-23 Honeywell International Inc. Low latency augmented reality display
CN104768018B (zh) * 2015-02-04 2016-09-21 浙江工商大学 一种基于深度图的快速视点预测方法
US10129523B2 (en) * 2016-06-22 2018-11-13 Microsoft Technology Licensing, Llc Depth-aware reprojection
CN117453038A (zh) * 2016-08-26 2024-01-26 奇跃公司 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024076058A1 (ko) * 2022-10-07 2024-04-11 삼성전자 주식회사 센서를 포함하는 웨어러블 전자 장치 및 이의 동작 방법
US12506859B2 (en) 2022-10-07 2025-12-23 Samsung Electronics Co., Ltd. Wearable electronic device comprising sensor and operation method thereof

Also Published As

Publication number Publication date
EP3447735A1 (en) 2019-02-27
EP3447735A4 (en) 2019-04-10
WO2017183346A1 (ja) 2017-10-26
US10943409B2 (en) 2021-03-09
CN109074681B (zh) 2023-03-21
JPWO2017183346A1 (ja) 2019-02-21
KR102298378B1 (ko) 2021-09-07
US20190102956A1 (en) 2019-04-04
EP3447735B1 (en) 2020-04-29
CN109074681A (zh) 2018-12-21
KR20180136445A (ko) 2018-12-24

Similar Documents

Publication Publication Date Title
JP6747504B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US12010288B2 (en) Information processing device, information processing method, and program
US20200341284A1 (en) Information processing apparatus, information processing method, and recording medium
US11244145B2 (en) Information processing apparatus, information processing method, and recording medium
US11749141B2 (en) Information processing apparatus, information processing method, and recording medium
KR20170031733A (ko) 디스플레이를 위한 캡처된 이미지의 시각을 조정하는 기술들
US20210368152A1 (en) Information processing apparatus, information processing method, and program
US20220012922A1 (en) Information processing apparatus, information processing method, and computer readable medium
JP2018511098A (ja) 複合現実システム
CN110895433B (zh) 用于增强现实中用户交互的方法和装置
US20250104183A1 (en) Camera-based Transparent Display
JP6250025B2 (ja) 入出力装置、入出力プログラム、および入出力方法
WO2014128751A1 (ja) ヘッドマウントディスプレイ装置、ヘッドマウントディスプレイ用プログラム、およびヘッドマウントディスプレイ方法
JP7690883B2 (ja) 情報処理装置、情報処理方法
US11615767B2 (en) Information processing apparatus, information processing method, and recording medium
JP2017107359A (ja) 眼鏡状の光学シースルー型の両眼のディスプレイにオブジェクトを表示する画像表示装置、プログラム及び方法
US11443719B2 (en) Information processing apparatus and information processing method
US20190369807A1 (en) Information processing device, information processing method, and program
JP2018063567A (ja) 画像処理装置、画像処理方法およびプログラム
WO2019044123A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
US20250069209A1 (en) Image processing device
US20230376109A1 (en) Image processing apparatus, image processing method, and storage device
JP2026017147A (ja) 情報処理装置、情報処理装置の制御方法、および、プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190208

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190214

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190222

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190515

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200616

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200720

R151 Written notification of patent or utility model registration

Ref document number: 6747504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151