(57)【特許請求の範囲】
【請求項１】
実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けるバッファ制御部と、
を備え、
前記表示制御部は、前記実オブジェクトの認識結果に応じた、当該実オブジェクトと視点との間の位置関係に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示位置を補正する、情報処理装置。
【請求項２】
前記バッファ制御部は、前記視点の位置を基点とした、実空間上における奥行き方向に沿った複数の領域それぞれに対して互いに異なる前記バッファを関連付け、
前記描画部は、前記複数の領域それぞれに位置するように提示する前記表示情報を、当該領域に関連付けられた前記バッファに描画し、
前記表示制御部は、前記複数のバッファのうち少なくともいずれかを対象として、当該対象とした前記バッファに関連付けられた前記領域に提示する前記表示情報の表示位置を、当該領域と前記視点との間の位置関係に応じて補正する、請求項１に記載の情報処理装置。
【請求項３】
前記複数の表示情報は、第１の仮想オブジェクトおよび第２の仮想オブジェクトを表す情報を含み、
前記複数のバッファは、前記視点から前記奥行き方向に沿って順に第１のバッファ、第２のバッファ、第３のバッファを含み、
前記描画部は、前記実オブジェクトの認識結果に基づくデプスマップを前記第２のバッファに描画するとともに、前記第１のバッファおよび前記第３のバッファに前記第１の仮想オブジェクトおよび前記第２の仮想オブジェクトをそれぞれ描画し、
前記表示制御部は、
前記視点の位置および向きの少なくとも一方の変化に応じて、前記第１の仮想オブジェクト、前記デプスマップおよび前記第２の仮想オブジェクトを補正し、
前記補正後に、前記実オブジェクトにより遮蔽された前記第２の仮想オブジェクトの少なくとも一部に無効色を設定する
請求項２に記載の情報処理装置。
【請求項４】
前記バッファ制御部は、前記複数の表示情報それぞれを、互いに異なる前記バッファに関連付け、
前記表示制御部は、前記複数のバッファのうち少なくともいずれかを対象として、当該対象とした前記バッファに関連付けられた前記表示情報の表示位置を、当該表示情報と前記視点との間の位置関係に応じて補正する、請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項５】
前記バッファ制御部は、所定の状態または状況に応じて、前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付ける、請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記バッファ制御部は、所定の状態または状況に応じて、前記バッファの枚数を制御する、請求項５に記載の情報処理装置。
【請求項７】
前記バッファ制御部は、所定の状態または状況に応じて、前記複数のバッファのうち少なくともいずれかのサイズを制御する、請求項５または６に記載の情報処理装置。
【請求項８】
実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けるバッファ制御部と、
を備え、
前記バッファ制御部は、所定の状態または状況に応じて、前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付け、所定の状態または状況に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、情報処理装置。
【請求項９】
前記バッファ制御部は、ユーザの視線が示す実空間上の位置に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、請求項８に記載の情報処理装置。
【請求項１０】
前記バッファ制御部は、ユーザの視線の変化の予測結果に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、請求項８に記載の情報処理装置。
【請求項１１】
前記バッファ制御部は、前記複数の表示情報のうち少なくともいずれかの表示情報の動きの予測結果に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、請求項８に記載の情報処理装置。
【請求項１２】
実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
を備え、
前記表示制御部は、前記複数のバッファ間に設定された優先度に基づき、前記複数のバッファそれぞれに描画された前記表示情報の前記出力部への提示を制御する、情報処理装置。
【請求項１３】
前記表示制御部は、前記複数のバッファのうち少なくともいずれかに描画された前記表示情報の表示を、当該バッファに設定された前記優先度に応じて補正する、請求項１２に記載の情報処理装置。
【請求項１４】
前記描画部は、前記複数のバッファのうち少なくともいずれかに対する前記表示情報の描画を、当該バッファに設定された前記優先度に応じて制限する、請求項１２または１３に記載の情報処理装置。
【請求項１５】
実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
を備え、
前記表示制御部は、前記複数のバッファのうち一部のバッファを、前記補正の対象から除外する、情報処理装置。
【請求項１６】
実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
を備え、
前記表示制御部は、前記バッファに対して前記表示情報が描画されたタイミングよりも後のタイミングで取得された前記実オブジェクトの認識結果に基づき、当該バッファに描画された当該表示情報の表示を補正する、情報処理装置。
【請求項１７】
コンピュータシステムが、
実空間上の実オブジェクトの認識結果に関する情報を取得することと、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、
前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けることと、
を含み、
前記実オブジェクトの認識結果に応じた、当該実オブジェクトと視点との間の位置関係に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示位置を補正する、情報処理方法。
【請求項１８】
コンピュータシステムに、
実空間上の実オブジェクトの認識結果に関する情報を取得することと、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、
前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けることと、
を実行させ、
前記実オブジェクトの認識結果に応じた、当該実オブジェクトと視点との間の位置関係に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示位置を補正する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像認識技術の高度化に伴い、撮像装置により撮像された画像に含まれる実オブジェクト（即ち、実空間上の物体）の位置及び姿勢を認識することが可能となっている。このような物体認識の応用例の一つとして、拡張現実（ＡＲ：Augmented  Reality）と呼ばれる技術が知られている。ＡＲ技術を利用することで、実空間の画像に撮像された実オブジェクトに対して、テキスト、アイコン、またはアニメーション等の様々な態様の仮想的なコンテンツ（以降では、「仮想オブジェクト」とも称する）を重畳してユーザに提示することが可能となる。例えば、特許文献１には、ＡＲ技術の一例が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−９２９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、仮想オブジェクトとして提示する表示情報によっては、当該仮想オブジェクトの描画の処理負荷が比較的高くなり、当該仮想オブジェクトの描画が開始されてから表示情報として出力されるまでの間に遅延が生じる場合がある。そのため、例えば、当該遅延に伴い、描画された仮想オブジェクトがユーザに提示されるまでの間に、当該ユーザの視点の位置に変化が生じると、当該視点の位置と、描画された仮想オブジェクトが重畳される位置との間の相対的な位置関係にずれが生じる。このようなずれは、例えば、当該仮想オブジェクトが重畳される空間上の位置のずれとしてユーザに認識される場合がある。これは、ＡＲに限らず、人工的に構築される仮想空間上に仮想オブジェクトを提示する、所謂仮想現実（ＶＲ：Virtual  Reality）においても同様である【０００５】
これに対して、例えばＶＲでは、仮想オブジェクトの描画に伴う遅延を考慮して、当該仮想オブジェクトの仮想空間上における表示位置を当該描画後に補正することで、描画に伴う遅延の影響を低減させる場合がある。一方で、ＡＲにおいては、実空間上に仮想オブジェクトを重畳させるという特性から、単に仮想オブジェクトの表示位置を補正した場合には、ユーザに視認される実空間の光学像と、仮想オブジェクトの表示との間にずれが生じる場合がある。【０００６】
そこで、本開示では、実空間上に仮想オブジェクトを重畳させる状況下において、より好適な態様で当該仮想オブジェクトの表示を補正することが可能な、情報処理装置、情報処理方法、及びプログラムを提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、を備える、情報処理装置が提供される。【０００８】
また、本開示によれば、コンピュータシステムが、実空間上の実オブジェクトの認識結果に関する情報を取得することと、複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、を含む、情報処理方法が提供される。【０００９】
また、本開示によれば、コンピュータシステムに、実空間上の実オブジェクトの認識結果に関する情報を取得することと、複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、を実行させる、プログラムが提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、実空間上に仮想オブジェクトを重畳させる状況下において、より好適な態様で当該仮想オブジェクトの表示を補正することが可能な、情報処理装置、情報処理方法、及びプログラムが提供される。【００１１】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明するための説明図である。
【図２】同実施形態に係る入出力装置の概略的な構成の一例について説明するための説明図である。
【図３】仮想オブジェクトの表示位置の補正に係る処理の一例について説明するための説明図である。
【図４】ＡＲにおける仮想オブジェクトの描画に伴う遅延の影響の一例について説明するための説明図である。
【図５】ＡＲにおける仮想オブジェクトの描画に伴う遅延の影響の一例について説明するための説明図である。
【図６】同実施形態に係る情報処理システムの動作の基本原理について説明するための説明図である。
【図７】同実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。
【図８】同実施形態に係る情報処理システム１の一連の処理の流れの一例を示したフローチャートである。
【図９】変形例１に係る情報処理システムの概要について説明するための説明図である。
【図１０】変形例２に係る情報処理システムの一態様について概要を説明するための説明図である。
【図１１】変形例２に係る情報処理システムの他の一態様について概要を説明するための説明図である。
【図１２】変形例２に係る情報処理システムの他の一態様について概要を説明するための説明図である。
【図１３】変形例３に係る情報処理システムの一態様について概要を説明するための説明図である。
【図１４】変形例３に係る情報処理システムの一態様について概要を説明するための説明図である。
【図１５】ハードウェア構成の一構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．概要
１．１．概略構成
１．２．入出力装置の構成
１．３．自己位置推定の原理
２．仮想オブジェクトの描画に伴う遅延に関する検討
３．技術的特徴
３．１．基本原理
３．２．機能構成
３．３．処理
４．変形例
４．１．変形例１：仮想オブジェクトとバッファとの間の関連付けの一例
４．２．変形例２：領域分割の一例
４．３．変形例３：バッファの制御例
４．４．変形例４：仮想オブジェクトの描画や出力に係る制御の一例
４．５．変形例５：インタラクションの制御の一例
５．ハードウェア構成
６．むすび
【００１５】
＜＜１．概要＞＞
＜１．１．概略構成＞
まず、図１を参照して、本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明する。図１は、本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明するための説明図である。図１において、参照符号Ｍ１１は、実空間上に位置する物体（即ち、実オブジェクト）を模式的に示している。また、参照符号Ｖ１３及びＶ１５は、実空間上に重畳するように提示される仮想的なコンテンツ（即ち、仮想オブジェクト）を模式的に示している。即ち、本実施形態に係る情報処理システム１は、所謂ＡＲ技術に基づき、例えば、実オブジェクトＭ１１等の実空間上の物体に対して、仮想オブジェクトを重畳してユーザに提示する。なお、図１では、本実施形態に係る情報処理システムの特徴をよりわかりやすくするために、実オブジェクトと仮想オブジェクトとの双方をあわせて提示している。
【００１６】
図１に示すように、本実施形態に係る情報処理システム１は、情報処理装置１０と、入出力装置２０とを含む。情報処理装置１０と入出力装置２０とは、所定のネットワークを介して互いに情報を送受信可能に構成されている。なお、情報処理装置１０と入出力装置２０とを接続するネットワークの種別は特に限定されない。具体的な一例として、当該ネットワークは、Ｗｉ−Ｆｉ（登録商標）規格に基づくネットワークのような、所謂無線のネットワークにより構成されていてもよい。また、他の一例として、当該ネットワークは、インターネット、専用線、ＬＡＮ（Local  Area  Network）、または、ＷＡＮ（Wide  Area  Network）等により構成されていてもよい。また、当該ネットワークは、複数のネットワークを含んでもよく、一部が有線のネットワークとして構成されていてもよい。
【００１７】
入出力装置２０は、各種入力情報の取得や、当該入出力装置２０を保持するユーザに対して各種出力情報を提示するための構成である。また、入出力装置２０による出力情報の提示は、情報処理装置１０により、当該入出力装置２０により取得された入力情報に基づき制御される。例えば、入出力装置２０は、実オブジェクトＭ１１を認識するための情報を入力情報として取得し、取得した情報を情報処理装置１０に出力する。情報処理装置１０は、入出力装置２０から取得した情報に基づき、実空間上における実オブジェクトＭ１１の位置を認識し、当該認識結果に基づき、入出力装置２０に仮想オブジェクトＶ１３及びＶ１５を提示させる。このような制御により、入出力装置２０は、所謂ＡＲ技術に基づき、実オブジェクトＭ１１に対して仮想オブジェクトＶ１３及びＶ１５が重畳するように、当該仮想オブジェクトＶ１３及びＶ１５をユーザに提示することが可能となる。なお、図１では、入出力装置２０と情報処理装置１０とが互いに異なる装置として示されているが、入出力装置２０及び情報処理装置１０は一体的に構成されていてもよい。また、入出力装置２０及び情報処理装置１０の構成及び処理の詳細については別途後述する。
【００１８】
以上、図１を参照して、本開示の一実施形態に係る情報処理システムの概略的な構成の一例について説明した。
【００１９】
＜１．２．入出力装置の構成＞
続いて、図２を参照して、図１に示した本実施形態に係る入出力装置２０の概略的な構成の一例について説明する。図２は、本実施形態に係る入出力装置の概略的な構成の一例について説明するための説明図である。
【００２０】
本実施形態に係る入出力装置２０は、ユーザが頭部の少なくとも一部に装着して使用する、所謂頭部装着型デバイスとして構成されている。例えば、図２に示す例では、入出力装置２０は、所謂アイウェア型（メガネ型）のデバイスとして構成されており、レンズ２９３ａ及び２９３ｂのうち少なくともいずれかが透過型のディスプレイ（出力部２１１）として構成されている。また、入出力装置２０は、第１撮像部２０１ａ及び２０１ｂと、第２撮像部２０３ａ及び２０３ｂと、操作部２０７と、メガネのフレームに相当する保持部２９１とを備える。保持部２９１は、入出力装置２０がユーザの頭部に装着されたときに、出力部２１１と、第１撮像部２０１ａ及び２０１ｂと、第２撮像部２０３ａ及び２０３ｂと、操作部２０７とを、当該ユーザの頭部に対して所定の位置関係となるように保持する。また、図２には図示していないが、入出力装置２０は、ユーザの音声を集音するための集音部を備えていてもよい。
【００２１】
ここで、入出力装置２０のより具体的な構成について説明する。例えば、図２に示す例では、レンズ２９３ａが、右眼側のレンズに相当し、レンズ２９３ｂが、左眼側のレンズに相当する。即ち、保持部２９１は、入出力装置２０が装着された場合に、出力部２１１（換言すると、レンズ２９３ａ及び２９３ｂ）がユーザの眼前に位置するように、当該出力部２１１を保持する。
【００２２】
第１撮像部２０１ａ及び２０１ｂは、所謂ステレオカメラとして構成されており、入出力装置２０がユーザの頭部に装着されたときに、当該ユーザの頭部が向いた方向（即ち、ユーザの前方）を向くように、保持部２９１によりそれぞれ保持される。このとき、第１撮像部２０１ａが、ユーザの右眼の近傍に保持され、第１撮像部２０１ｂが、当該ユーザの左眼の近傍に保持される。このような構成に基づき、第１撮像部２０１ａ及び２０１ｂは、入出力装置２０の前方に位置する被写体（換言すると、実空間に位置する実オブジェクト）を互いに異なる位置から撮像する。これにより、入出力装置２０は、ユーザの前方に位置する被写体の画像を取得するとともに、第１撮像部２０１ａ及び２０１ｂそれぞれにより撮像された画像間の視差に基づき、当該入出力装置２０から、当該被写体までの距離を算出することが可能となる。
【００２３】
なお、入出力装置２０と被写体との間の距離を測定可能であれば、その構成や方法は特に限定されない。具体的な一例として、マルチカメラステレオ、移動視差、ＴＯＦ（Time  Of  Flight）、Structured  Light等の方式に基づき、入出力装置２０と被写体との間の距離が測定されてもよい。ここで、ＴＯＦとは、被写体に対して赤外線等の光を投光し、投稿した光が当該被写体で反射して戻るまでの時間を画素ごとに測定することで、当該測定結果に基づき被写体までの距離（深度）を含めた画像（所謂距離画像）を得る方式である。また、Structured  Lightは、被写体に対して赤外線等の光によりパターンを照射しそれを撮像することで、撮像結果から得られる当該パターンの変化に基づき、被写体までの距離（深度）を含めた距離画像を得る方式である。また、移動視差とは、所謂単眼カメラにおいても、視差に基づき被写体までの距離を測定する方法である。具体的には、カメラを移動させることで、被写体を互いに異なる視点から撮像し、撮像された画像間の視差に基づき被写体までの距離を測定する。なお、このとき各種センサによりカメラの移動距離及び移動方向を認識することで、被写体までの距離をより精度良く測定することが可能となる。なお、距離の測定方法に応じて、撮像部の構成（例えば、単眼カメラ、ステレオカメラ等）を変更してもよい。
【００２４】
また、第２撮像部２０３ａ及び２０３ｂは、入出力装置２０がユーザの頭部に装着されたときに、それぞれの撮像範囲内に当該ユーザの眼球が位置するように、保持部２９１によりそれぞれ保持される。具体的な一例として、第２撮像部２０３ａは、撮像範囲内にユーザの右眼が位置するように保持される。このような構成に基づき、第２撮像部２０３ａにより撮像された右眼の眼球の画像と、当該第２撮像部２０３ａと当該右眼との間の位置関係と、に基づき、当該右眼の視線が向いている方向を認識することが可能となる。同様に、第２撮像部２０３ｂは、撮像範囲内に当該ユーザの左眼が位置するように保持される。即ち、第２撮像部２０３ｂにより撮像された左眼の眼球の画像と、当該第２撮像部２０３ｂと当該左眼との間の位置関係と、に基づき、当該左眼の視線が向いている方向を認識することが可能となる。なお、図２に示す例では、入出力装置２０が第２撮像部２０３ａ及び２０３ｂの双方を含む構成について示しているが、第２撮像部２０３ａ及び２０３ｂのうちいずれかのみが設けられていてもよい。
【００２５】
操作部２０７は、入出力装置２０に対するユーザからの操作を受け付けるための構成である。操作部２０７は、例えば、タッチパネルやボタン等のような入力デバイスにより構成されていてもよい。操作部２０７は、保持部２９１により、入出力装置２０の所定の位置に保持されている。例えば、図２に示す例では、操作部２０７は、メガネのテンプルに相当する位置に保持されている。
【００２６】
また、本実施形態に係る入出力装置２０は、例えば、加速度センサや、角速度センサ（ジャイロセンサ）が設けられ、当該入出力装置２０を装着したユーザの頭部の動き（換言すると、入出力装置２０自体の動き）を検出可能に構成されていてもよい。具体的な一例として、入出力装置２０は、ユーザの頭部の動きとして、ヨー（yaw）方向、ピッチ（pitch）方向、及びロール（roll）方向それぞれの成分を検出することで、当該ユーザの頭部の位置及び姿勢のうち少なくともいずれかの変化を認識してもよい。
【００２７】
以上のような構成に基づき、本実施形態に係る入出力装置２０は、ユーザの頭部の動きに応じた、実空間上における自身の位置や姿勢の変化を認識することが可能となる。また、このとき入出力装置２０は、所謂ＡＲ技術に基づき、実空間に位置する実オブジェクトに対して、仮想的なコンテンツ（即ち、仮想オブジェクト）が重畳するように、出力部２１１に当該コンテンツを提示することも可能となる。なお、入出力装置２０が、実空間上における自身の位置及び姿勢を推定するための方法（即ち、自己位置推定）の一例については、詳細を別途後述する。
【００２８】
なお、入出力装置２０として適用可能な頭部装着型の表示装置（ＨＭＤ：Head  Mounted  Display）の一例としては、例えば、シースルー型ＨＭＤ、ビデオシースルー型ＨＭＤ、及び網膜投射型ＨＭＤが挙げられる。
【００２９】
シースルー型ＨＭＤは、例えば、ハーフミラーや透明な導光板を用いて、透明な導光部等からなる虚像光学系をユーザの眼前に保持し、当該虚像光学系の内側に画像を表示させる。そのため、シースルー型ＨＭＤを装着したユーザは、虚像光学系の内側に表示された画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、シースルー型ＨＭＤは、例えば、ＡＲ技術に基づき、当該シースルー型ＨＭＤの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。なお、シースルー型ＨＭＤの具体的な一例として、メガネのレンズに相当する部分を虚像光学系として構成した、所謂メガネ型のウェアラブルデバイスが挙げられる。例えば、図２に示した入出力装置２０は、シースルー型ＨＭＤの一例に相当する。
【００３０】
ビデオシースルー型ＨＭＤは、ユーザの頭部または顔部に装着された場合に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。また、ビデオシースルー型ＨＭＤは、周囲の風景を撮像するための撮像部を有し、当該撮像部により撮像されたユーザの前方の風景の画像を表示部に表示させる。このような構成により、ビデオシースルー型ＨＭＤを装着したユーザは、外部の風景を直接視野に入れることは困難ではあるが、表示部に表示された画像により、外部の風景を確認することが可能となる。また、このときビデオシースルー型ＨＭＤは、例えば、ＡＲ技術に基づき、当該ビデオシースルー型ＨＭＤの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、外部の風景の画像に対して仮想オブジェクトを重畳させてもよい。
【００３１】
網膜投射型ＨＭＤは、ユーザの眼前に投影部が保持されており、当該投影部からユーザの眼に向けて、外部の風景に対して画像が重畳するように当該画像が投影される。より具体的には、網膜投射型ＨＭＤでは、ユーザの眼の網膜に対して、投影部から画像が直接投射され、当該画像が網膜上で結像する。このような構成により、近視や遠視のユーザの場合においても、より鮮明な映像を視聴することが可能となる。また、網膜投射型ＨＭＤを装着したユーザは、投影部から投影される画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、網膜投射型ＨＭＤは、例えば、ＡＲ技術に基づき、当該網膜投射型ＨＭＤの位置や姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。
【００３２】
なお、参考として、上記に説明した例以外にも、没入型ＨＭＤと呼ばれるＨＭＤが挙げられる。没入型ＨＭＤは、ビデオシースルー型ＨＭＤと同様に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。そのため、没入型ＨＭＤを装着したユーザは、外部の風景（即ち、現実世界の風景）を直接視野に入れることが困難であり、表示部に表示された映像のみが視界に入ることとなる。このような構成により、没入型ＨＭＤは、画像を視聴しているユーザに対して没入感を与えることが可能となる。
【００３３】
以上、図２を参照して、本開示の一実施形態に係る入出力装置の概略的な構成の一例について説明した。
【００３４】
＜１．３．自己位置推定の原理＞
次いで、入出力装置２０が、実オブジェクトに対して仮想オブジェクトを重畳させる際に、実空間上における自身の位置及び姿勢を推定するための手法（即ち、自己位置推定）の原理の一例について説明する。
【００３５】
自己位置推定の具体的な一例として、入出力装置２０は、実空間上の実オブジェクト上に提示されたサイズが既知のマーカ等を、自身に設けられたカメラ等の撮像部により撮像する。そして、入出力装置２０は、撮像された画像を解析することで、マーカ（ひいては、当該マーカが提示された実オブジェクト）に対する自身の相対的な位置及び姿勢のうち少なくともいずれかを推定する。なお、以降の説明では、入出力装置２０が自身の位置及び姿勢を推定する場合に着目して説明するが、当該入出力装置２０は、自身の位置及び姿勢のうちいずれかのみを推定してもよい。
【００３６】
具体的には、画像中に撮像されたマーカの向き（例えば、マーカの模様等の向き）に応じて、当該マーカに対する撮像部（ひいては、当該撮像部を備える入出力装置２０）の相対的な方向を推定することが可能である。また、マーカのサイズが既知の場合には、画像中におけるマーカのサイズに応じて、当該マーカと撮像部（即ち、当該撮像部を備える入出力装置２０）との間の距離を推定することが可能である。より具体的には、マーカをより遠くから撮像すると、当該マーカは、より小さく撮像されることとなる。また、このとき画像中に撮像される実空間上の範囲は、撮像部の画角に基づき推定することが可能である。以上の特性を利用することで、画像中に撮像されたマーカの大きさ（換言すると、画角内においてマーカが占める割合）に応じて、当該マーカと撮像部との間の距離を逆算することが可能である。以上のような構成により、入出力装置２０は、マーカに対する自身の相対的な位置及び姿勢を推定することが可能となる。
【００３７】
また、所謂ＳＬＡＭ（simultaneous  localization  and  mapping）と称される技術が、入出力装置２０の自己位置推定に利用されてもよい。ＳＬＡＭとは、カメラ等の撮像部、各種センサ、エンコーダ等を利用することにより、自己位置推定と環境地図の作成とを並行して行う技術である。より具体的な一例として、ＳＬＡＭ（特に、Ｖｉｓｕａｌ  ＳＬＡＭ）では、撮像部により撮像された動画像に基づき、撮像されたシーン（または、被写体）の３次元形状を逐次的に復元する。そして、撮像されたシーンの復元結果を、撮像部の位置及び姿勢の検出結果と関連付けることで、周囲の環境の地図の作成と、当該環境における撮像部（ひいては、入出力装置２０）の位置及び姿勢の推定とが行われる。なお、撮像部の位置及び姿勢については、例えば、入出力装置２０に加速度センサや角速度センサ等の各種センサを設けることで、当該センサの検出結果に基づき相対的な変化を示す情報として推定することが可能である。もちろん、撮像部の位置及び姿勢を推定可能であれば、その方法は、必ずしも加速度センサや角速度センサ等の各種センサの検知結果に基づく方法のみには限定されない。
【００３８】
以上のような構成のもとで、例えば、撮像部による既知のマーカの撮像結果に基づく、当該マーカに対する入出力装置２０の相対的な位置及び姿勢の推定結果が、上述したＳＬＡＭにおける初期化処理や位置補正に利用されてもよい。このような構成により、入出力装置２０は、マーカが撮像部の画角内に含まれない状況下においても、従前に実行された初期化や位置補正の結果を受けたＳＬＡＭに基づく自己位置推定により、当該マーカ（ひいては、当該マーカが提示された実オブジェクト）に対する自身の位置及び姿勢を推定することが可能となる。
【００３９】
以上、入出力装置２０が、実オブジェクトに対して仮想オブジェクトを重畳させる際に、実空間上における自身の位置及び姿勢を推定するための手法（即ち、自己位置推定）の原理の一例について説明した。なお、以降においては、例えば、上述した原理に基づき、実空間上の物体（実オブジェクト）に対する入出力装置２０の位置及び姿勢を推定することが可能であるものして説明する。
【００４０】
＜＜２．仮想オブジェクトの描画に伴う遅延に関する検討＞＞
続いて、仮想オブジェクトの描画に伴う遅延と、当該遅延による影響を緩和する仕組みの一例について説明したうえで、本実施形態に係る情報処理システムの課題について整理する。
【００４１】
仮想オブジェクトとして提示する表示情報によっては、当該仮想オブジェクトの描画の処理負荷が比較的高くなり、所謂ＡＲやＶＲに基づき当該仮想オブジェクトの描画が開始されてから表示情報として出力されるまでの間に遅延が生じる場合がある。そのため、例えば、当該遅延に伴い、描画された仮想オブジェクトがユーザに提示されるまでの間に、当該ユーザの視点の位置や向きに変化が生じると、当該視点の位置と、描画された仮想オブジェクトが重畳される位置との間の相対的な位置関係にずれが生じる。このようなずれは、例えば、当該仮想オブジェクトが重畳される空間上の位置のずれとしてユーザに認識される場合がある。
【００４２】
これに対して、例えば、ＶＲでは、仮想オブジェクトの描画に伴う遅延を考慮して、当該仮想オブジェクトの仮想空間上における表示位置を当該描画後に補正することで、描画に伴う遅延の影響を低減させる場合がある。例えば、図３は、仮想オブジェクトの描画に伴う遅延に応じた、当該仮想オブジェクトの表示位置の補正に係る処理の一例について説明するための説明図である。
【００４３】
図３では、仮想オブジェクトの描画と、視点の位置や向きの変化の検知結果に基づくセンサ入力と、描画された仮想オブジェクトの出力とのそれぞれの時系列に沿った処理タイミングを模式的に示している。図３において、参照符号ｔ２１〜ｔ２３は、仮想オブジェクトの描画の開始タイミングを示しており、参照符号ｔ２１’〜ｔ２３
’は、仮想オブジェクトの描画の終了タイミングを示している。また、参照符号Ｖ１２１〜Ｖ１２３は、タイミングｔ２１〜ｔ２３において描画される画像の一例を示しており、当該画像中に提示される仮想オブジェクトの形状や提示位置を模式的に示している。同様に、参照符号ｔ１１〜ｔ１４は、描画された仮想オブジェクトの出力タイミングを示している。また、参照符号Ｖ１１１〜Ｖ１１４は、タイミングｔ１１〜ｔ１４において出力される画像の一例を示しており、当該画像中に提示される仮想オブジェクトの形状や提示位置を模式的に示している。また、図３に示すように、センサ入力は、仮想オブジェクトが描画される周期（頻度）に比べてより早い周期（より高い頻度）で取得される。
【００４４】
例えば、タイミングｔ２１において、仮想オブジェクトｖ２１１が提示された画像Ｖ１２１の描画が開始され、当該描画は、タイミングｔ２１’において終了する。その後、画像の出力タイミングｔ１１が到来すると、当該タイミングｔ１１の直前に取得されたセンサ入力に基づき、画像Ｖ１２１に提示された仮想オブジェクトＶ２１１の表示位置が補正され、当該補正後の画像Ｖ１１１が出力される。次いで、画像の出力タイミングｔ１２が到来するが、このとき、新たな画像（例えば、画像Ｖ１２２）の描画がまだ完了していない。そのため、タイミングｔ１２の直前に取得されたセンサ入力に基づき、画像Ｖ１１１に提示された仮想オブジェクトＶ２１１の表示位置が補正され、当該補正後の画像Ｖ１１２が出力される。
【００４５】
また、タイミングｔ２２において、仮想オブジェクトｖ２１３が提示された画像Ｖ１２２の描画が開始され、当該描画は、タイミングｔ２２’において終了する。即ち、タイミングｔ２２’以降に到来する表示タイミグｔ１３及びｔ１４では、仮想オブジェクトｖ２１３が提示され、かつ、直前に取得されたセンサ入力に基づき当該仮想オブジェクトｖ２１３の表示位置が補正された画像Ｖ１１３及びＶ１１４がそれぞれ出力される。また、仮想オブジェクトｖ２１５が提示された画像Ｖ１２３については、タイミングｔ２３において描画が開始され、タイミングｔ２３’において当該描画が終了する。即ち、仮想オブジェクトｖ２１５が提示された画像は、タイミングｔ２３’以降に出力されることとなる。
【００４６】
以上のような制御により、仮想オブジェクトの描画が開始されてから表示情報として出力されるまでの間に遅延が生じたとしても、描画された仮想オブジェクトの表示位置を補正することで、当該遅延の影響を緩和することが可能となる。
【００４７】
一方で、ＡＲにおいては、実空間上に仮想オブジェクトを重畳させるという特性から、単に仮想オブジェクトの表示位置を補正した場合には、ユーザに視認される実空間の光学像と、仮想オブジェクトの表示との間にずれが生じる場合がある。例えば、図４及び図５は、ＡＲにおける仮想オブジェクトの描画に伴う遅延の影響の一例について説明するための説明図である。
【００４８】
まず、図４に示す例について説明する。図４に示す例は、仮想オブジェクトＶ２２１及びＶ２２３を実空間上に重畳するように提示した状態で、ユーザの視点Ｐ１１の位置を移動させた場合における、当該仮想オブジェクトＶ２２１及びＶ２２３の提示に係る制御の一例を示している。図４において、左側の各図は視点Ｐ１１の位置が移動する前の状態を示しており、右側の各図は視点Ｐ１１の位置が移動した後の状態を示している。
【００４９】
例えば、視点Ｐ１１と、仮想オブジェクトＶ２２１及びＶ２２３のそれぞれとが、図４の左上の図に示すような位置関係にある場合に、ユーザに視認される光学像は、「適用前の視野」として示した図のようになる。
【００５０】
その後、図４の右上の図に示すように視点Ｐ１１が素早く横方向に平行移動し、当該視点Ｐ１１の移動に伴い仮想オブジェクトＶ２２１及びＶ２２３の表示位置が補正されたものとする。この場合に、移動後の視点Ｐ１１と、仮想オブジェクトＶ２２１及びＶ２２３のそれぞれとの間の位置関係から、ユーザに視認される光学像は、「期待する視野」として示した図のように、仮想オブジェクトＶ２２３が仮想オブジェクトＶ２２１により遮蔽された状態となることが望ましい。これは、視点Ｐ１１の移動に伴う、ユーザの視野内における各光学像の移動量が、当該視点Ｐ１１を基準とした奥行き方向の位置に応じて異なることに起因する。より具体的には、ユーザのより近くに位置する物体の、視点Ｐ１１の移動に伴う当該ユーザの視野内における移動量は、当該ユーザに対してより遠くに位置する物体の当該視野内における移動量よりもより大きくなる。
【００５１】
一方で、「単純に補正を適用した視野」として示した図は、仮想オブジェクトＶ２２１及びＶ２２３それぞれに対して共通の補正量により同様に表示位置を補正した場合に、ユーザに視認される光学像の一例を示している。この場合には、仮想オブジェクトＶ２２１及びＶ２２３のうち、少なくともいずれかの表示位置の補正量が、右上の図に示した位置関係に応じた値とは異なるため、本来期待される光学像とは異なる光学像がユーザに視認されることとなる。なお、図４を参照して説明した現象は、ＶＲにおいても発生する可能性があるが、ＡＲでは実空間上に仮想オブジェクトを重畳させるため、実空間上の物体と仮想オブジェクトとの間の位置関係のずれにより、ユーザはより不自然さを感じやすい傾向にある。
【００５２】
次いで、図５に示す例について説明する。図５に示す例は、実オブジェクトＭ２２５が配置された実空間上に重畳するように仮想オブジェクトＶ２２７を提示した状態で、ユーザの視点Ｐ１１の位置を移動させた場合における、当該仮想オブジェクトＶ２２７の提示に係る制御の一例を示している。図５において、左側の各図は視点Ｐ１１の位置が移動する前の状態を示しており、右側の各図は視点Ｐ１１の位置が移動した後の状態を示している。
【００５３】
例えば、視点Ｐ１１と、実オブジェクトＭ２２５と、仮想オブジェクトＶ２２７とが、図５の左上の図に示すような位置関係にある場合に、ユーザに視認される光学像が、「適用前の視野」として示した図のようになる。即ち、実オブジェクトＶ２２５の後方に仮想オブジェクトＶ２２７が位置することとなり、実オブジェクトＶ２２５により仮想オブジェクトＶ２２７の一部が遮蔽され、仮想オブジェクトＶ２２７については上部のみがユーザに視認されることとなる。
【００５４】
その後、図５の右上の図に示すように視点Ｐ１１が素早く横方向に平行移動し、当該視点Ｐ１１の移動に伴い仮想オブジェクトＶ２２７の表示位置が補正されたものとする。この場合に、移動後の視点Ｐ１１と、実オブジェクトＭ２２５と、仮想オブジェクトＶ２２７との間の位置関係から、ユーザに視認される光学像が、「期待する視野」として示した図のようになることが望ましい。即ち、視点Ｐ１１の移動前に実オブジェクトＭ２２５に遮蔽されていた仮想オブジェクトＶ２２７の一部が、視点Ｐ１１の移動に伴い視認可能に提示された状態となることが望ましい
【００５５】
一方で、「単純に補正を適用した視野」として示した図は、「適用前の視野」として提示された仮想オブジェクトＶ２２７に対して、単に表示位置の補正を適用した場合に、ユーザに視認される光学像の一例を示している。この場合には、「適用前の視野」において、仮想オブジェクトＶ２２７のうち実オブジェクトＶ２２５に遮蔽された部分については描画の対象から除外されている。そのため、視点Ｐ１１の移動に伴い、単に仮想オブジェクトＶ２２７の表示位置のみを補正した場合には、当該視点Ｐ１１の移動前に実オブジェクトＶ２２５に遮蔽されていた部分は提示されず、結果として一部が欠落した仮想オブジェクトＶ２２７がユーザに視認されることとなる。
【００５６】
以上のような状況を鑑み、本開示では、実空間上に仮想オブジェクトを重畳させる状況下において、描画の遅延に伴う影響をより低減し、かつより好適な態様で仮想オブジェクトの表示の補正を可能とするための仕組みの一例について提案する。
【００５７】
＜＜３．技術的特徴＞＞
以下に、本実施形態に係る情報処理システム１の技術的特徴について説明する。
【００５８】
＜３．１．基本原理＞
まず、図６を参照して、本実施形態に係る情報処理システム１が、ＡＲ技術に基づき実空間上に仮想オブジェクトが重畳するように、当該仮想オブジェクトをユーザに提示するための動作の代表的な一例について基本原理を説明する。図６は、本実施形態に係る情報処理システムによる、ＡＲ技術に基づく仮想オブジェクトの提示に係る動作の基本原理について説明するための説明図である。
【００５９】
図６に示すように、本実施形態に係る情報処理システム１は、視点Ｐ１１を基点とした視野に相当する領域（即ち、実空間上の領域）を、奥行き方向に沿って複数の領域Ｒ１１１、Ｒ１１３、及びＲ１１５に分割し、分割された各領域に対して互いに異なるバッファを関連付けている。なお、視点Ｐ１１は、例えば、図１における入出力装置２０の位置に相当し、ひいては、ユーザの頭部等のように当該入出力装置２０が装着された所定の部位の位置に相当し得る。例えば、図６に示す例では、領域Ｒ１１１に対してバッファＢ１１１が関連付けられている。同様に、領域Ｒ１１３にはバッファＢ１１３が関連付けられ、領域Ｒ１１５にはバッファＢ１１５が関連付けられている。また、本実施形態に係る情報処理システム１には、実空間上に存在する実オブジェクトと視点Ｐ１１との間の距離（即ち、深度）を測定し、当該深度の測定結果を示す情報（以降では、「デプスマップ」とも称する）を描画するためのバッファＢ１０１が、バッファＢ１１１、Ｂ１１３、及びＢ１１５とは別に設けられている。
【００６０】
以上のような構成のもとで、情報処理システム１は、実空間上に重畳するように提示する仮想オブジェクトを、当該仮想オブジェクトが提示される実空間上の位置に応じたバッファに描画する。例えば、図６に示す例では、仮想オブジェクトＶ３１１は、領域Ｒ１１１に位置するように提示される。そのため、情報処理システム１は、仮想オブジェクトＶ３１１を、領域Ｒ１１１に関連付けられたバッファＢ１１１に描画する。同様に、情報処理システム１は、領域Ｒ１１３に位置するように提示する仮想オブジェクトＶ３１３を、当該領域Ｒ１１３に関連付けられたバッファＢ１１３に描画する。また、情報処理システム１は、領域Ｒ１１５に位置するように提示する仮想オブジェクトＶ３１５及びＶ３１７を、当該領域Ｒ１１５に関連付けられたバッファＢ１１５に描画する。また、前述したように、情報処理システム１は、実空間上に存在する実オブジェクトＭ３１９までの距離（深度）を測定し、当該測定結果をバッファＢ１０１に描画する。
【００６１】
次いで、情報処理システム１は、各バッファへの各仮想オブジェクトの描画後に視点Ｐ１１が移動した場合には、当該視点Ｐ１１の移動量に応じて、各バッファに描画された各仮想オブジェクトの表示位置を、当該バッファに関連付けられた領域に応じて補正する。また、情報処理システム１は、バッファＢ１０１に描画されたデプスマップに基づき、実オブジェクトＭ３１９の実空間上における位置（特に、奥行き方向の位置）を認識し、当該実オブジェクトＭ３１９と、各バッファに描画された各仮想オブジェクトとの間の位置関係（特に、奥行き方向に沿った位置関係）を比較する。そして、情報処理システム１は、当該比較結果に基づき、バッファＢ１１１〜Ｂ１１５それぞれに描画された各仮想オブジェクトについて、実オブジェクトＭ３１９や他の仮想オブジェクトにより遮蔽されない部分を、入出力装置２０を介してユーザに提示する。
【００６２】
以上のような構成に基づき、本実施形態に係る情報処理システム１は、各仮想オブジェクトの表示位置を、当該仮想オブジェクトが提示される実空間上の位置（特に、奥行き方向の位置）に応じて個別に補正する。また、本実施形態に係る情報処理システム１は、視点Ｐ１１と、実オブジェクトと、各仮想オブジェクトとの間の位置関係に応じて、当該仮想オブジェクトの出力を制御する。これにより、本実施形態に係る情報処理システム１は、描画の遅延に伴う影響を仮想オブジェクトが重畳される位置に応じて個々に補正し、かつ、各仮想オブジェクトの表示を実オブジェクトや他の仮想オブジェクトによる遮蔽を考慮して制御することが可能となる。
【００６３】
以上、図６を参照して、本実施形態に係る情報処理システム１が、ＡＲ技術に基づき実空間上に仮想オブジェクトが重畳するように、当該仮想オブジェクトをユーザに提示するための動作の基本原理について説明した。
【００６４】
＜３．２．機能構成＞
続いて、図７を参照して、本実施形態に係る情報処理システム１の機能構成の一例について、特に情報処理装置１０の構成に着目して説明する。図７は、本実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。
【００６５】
図７に示すように、本実施形態に係る情報処理システム１は、撮像部２０１と、検知部２５１と、出力部２１１と、情報処理装置１０とを含む。撮像部２０１、検知部２５１、出力部２１１は、図１及び図２を参照して説明した入出力装置２０の一部の構成に相当する。なお、出力部２１１は、図２における出力部２１１に対応している。
【００６６】
撮像部２０１は、図２においてステレオカメラとして構成された撮像部２０１ａ及び２０１ｂに相当する。即ち、撮像部２０１は、実空間上の物体（被写体）の画像を撮像し、撮像した当該画像を情報処理装置１０に出力する。
【００６７】
また、検知部２５１は、入出力装置２０の位置や姿勢の変化（ひいては、当該入出力装置２０を装着したユーザの頭部の動き）を検出するための情報の取得に係る部分を模式的に示している。具体的な一例として、検知部２５１は、加速度センサや角速度センサ等のような各種センサを含んでもよい。検知部２５１は、取得した情報を情報処理装置１０に出力する。これにより、情報処理装置１０は、入出力装置２０の位置や姿勢の変化を認識することが可能となる。
【００６８】
次いで、情報処理装置１０の構成について説明する。図７に示すように、情報処理装置１０は、認識部１０１と、描画部１０３と、複数のバッファ１０５と、表示制御部１０７と、一時バッファ１０９と、バッファ制御部１１１とを含む。
【００６９】
認識部１０１は、撮像部２０１から撮像された画像を取得し、取得した画像に対して解析処理を施すことで、当該画像に撮像された実空間上の物体（被写体）を認識する。具体的な一例として、認識部１０１は、ステレオカメラとして構成された撮像部２０１から、互いに異なる複数の視点から撮像された画像（以降では、「ステレオ画像」とも称する）を取得し、取得した画像間の視差に基づき、画像中に撮像された物体までの距離を、当該画像の画素ごとに測定する。これにより、認識部１０１は、当該画像が撮像されたタイミングにおける、撮像部２０１（ひいては、入出力装置２０）と、当該画像に撮像された各物体との間の、実空間上における相対的な位置関係（特に、奥行き方向の位置関係）を推定または認識することが可能となる。
【００７０】
また、認識部１０１は、ＳＬＡＭに基づき自己位置推定と環境地図の作成とを行うことで、入出力装置２０と、画像中に撮像された物体との間の、実空間上における位置関係を認識してもよい。この場合には、例えば、認識部１０１は、検知部２５１から入出力装置２０の位置及び姿勢の変化を示す情報を取得し、当該情報をＳＬＡＭに基づく自己位置推定に利用してもよい。
【００７１】
以上のようにして、認識部１０１は、画像中に撮像された各物体の実空間上における位置を認識し、認識結果を示す情報を描画部１０３に出力する。なお、本説明では、認識部１０１は、上述したように、画像中の画素ごとに測定された深度（物体までの距離）を示す情報（即ち、デプスマップ）を、描画部１０３に出力するものとして説明する。
【００７２】
なお、前述したように、被写体までの距離の測定方法は、上述したステレオ画像に基づく測定方法のみは限定されない。そのため、撮像部２０１に相当する構成を、距離の測定方法にあわせて適宜変更してもよい。具体的な一例として、ＴＯＦに基づき被写体までの距離を測定する場合には、撮像部２０１に替えて、赤外線を投光する光源と、当該光源から投光され被写体で反射した赤外線を検知するための受光素子とを設けてもよい。また、物体までの距離を測定する際に、複数の測定方法が利用されてもよい。この場合には、利用される測定方法に応じて、当該測定に利用する情報を取得するための構成が、入出力装置２０または情報処理装置１０に設けられていてもよい。もちろん、画像中に撮像された各物体の実空間上における位置の認識結果を示す情報（例えば、デプスマップ）の内容についても、適用される測定方法に応じて適宜変更されてもよいことは言うまでもない。
【００７３】
複数のバッファ１０５は、図６を参照して説明したバッファＢ１０１、Ｂ１１１〜Ｂ１１５それぞれに対応している。複数のバッファ１０５は、例えば、フラッシュメモリやＲＡＭ（Random  Access  Memory）等のような、各種データを一時的または恒久的に保持するための記憶装置の少なくとも一部の記憶領域に対して割り当てられる。なお、１つの記憶領域を、論理的に複数の領域に分割することで、分割された当該領域それぞれにバッファ１０５が割り当てられていてもよい。また、他の一例として、互いに異なる記憶装置の記憶領域それぞれに、互いに異なるバッファ１０５が割り当てられていてもよい。もちろん、記憶装置を複数設ける場合においても、バッファ１０５の数と、当該記憶装置の数とは必ずしも一致していなくてもよいことは言うまでもない。この場合には、例えば、複数の記憶装置それぞれの記憶領域を、仮想的に１つの記憶領域として規定し、当該仮想的な記憶領域を論理的に複数の領域に分割したうえで、当該領域それぞれにバッファ１０５を割り当ててもよい。
【００７４】
バッファ制御部１１１は、複数のバッファ１０５それぞれと、描画対象となる各仮想オブジェクトとの間の関連付けを、直接的または間接的に制御する。例えば、バッファ制御部１１１は、図６に示すように、視点Ｐ１１を基点とした視野に相当する領域が奥行き方向に沿って分割された複数の領域Ｒ１１１〜Ｒ１１５それぞれ、互いに異なるバッファ１０５に関連付けてもよい。これにより、領域Ｒ１１１〜Ｒ１１５それぞれに提示される仮想オブジェクトが、対応する当該領域に関連付けられたバッファ１０５に描画されることとなる。また、バッファ制御部１１１は、複数のバッファ１０５のうち少なくとも一部を、デプスマップを描画するためのバッファ（即ち、図６に示すバッファＢ１０１）として割り当ててもよい。
【００７５】
なお、バッファ制御部１１１は、複数のバッファ１０５それぞれと、描画対象となる各仮想オブジェクトとの間の関連付けを、各種状態や状況の変化に応じて動的に変更してもよい。また、バッファ制御部１１１は、複数のバッファ１０５として割り当てる記憶領域のサイズや、当該バッファ１０５の枚数を、各種状態や状況に応じて動的に変更してもよい。なお、これらの制御の一例については、変形例として別途後述する。
【００７６】
そして、バッファ制御部１１１は、複数のバッファ１０５それぞれと、描画対象（例えば、各仮想オブジェクトやデプスマップ）との間の関連付けを示す情報を、描画部１０３に通知する。これにより、描画部１０３は、描画対象となる各仮想オブジェクトと、デプスマップとのそれぞれの描画先となるバッファ１０５を認識することが可能となる。
【００７７】
なお、複数のバッファ１０５として割り当てる記憶領域の設定や、当該複数のバッファ１０５それぞれと描画対象との間の関連付けについては、あらかじめ固定的に設定されていてもよい。この場合には、当該設定を描画部１０３が認識可能に構成されていれば、バッファ制御部１１１は必ずしも設けられていなくてもよい。
【００７８】
描画部１０３は、バッファ制御部１１１から、複数のバッファ１０５それぞれと、描画対象との間の関連付けを示す情報の通知を受ける。これにより、描画部１０３は、描画部１０３は、描画対象となる各仮想オブジェクトと、デプスマップとのそれぞれの描画先となるバッファ１０５を認識する。
【００７９】
また、描画部１０３は、認識部１０１から、実空間上の物体（被写体）の認識結果に基づき生成されたデプスマップを取得する。描画部１０３は、取得したデプスマップを、複数のバッファ１０５のうち対応するバッファに描画する。
【００８０】
また、描画部１０３は、検知部２５１から、入出力装置２０の位置や姿勢の変化を示す情報を所定のタイミングごとに取得し、取得した情報に基づき視点の位置や向きの変化を認識する。次いで、描画部１０３は、当該視点の位置や向きの変化の認識結果に基づく、当該視点と各仮想オブジェクトとの間の位置関係に応じて、各仮想オブジェクトの提示位置や形状（例えば、提示する向きに応じた形状）等を特定する。そして、描画部１０３は、各仮想オブジェクトを、当該仮想オブジェクトが直接的または間接的に関連付けられたバッファ１０５に描画する。また、描画部１０３は、検知部２５１から取得した情報に基づく視点の位置や向きの変化の認識結果を示す情報を、後述する表示制御部１０７に逐次出力する。
【００８１】
表示制御部１０７は、描画部１０３から視点の位置や向きの変化の認識結果を示す情報を逐次取得する。これにより、表示制御部１０７は、視点の位置や向きの変化を認識することが可能となる。また、表示制御部１０７は、複数のバッファ１０５のうち少なくとも一部に描画されたデプスマップに基づき、視野内に位置する実オブジェクトの実空間上における位置を認識する。
【００８２】
また、表示制御部１０７は、描画部１０３による各バッファ１０５への各仮想オブジェクの描画が完了すると、当該バッファ１０５に描画された各仮想オブジェクトを読み出す。そして、表示制御部１０７は、各仮想オブジェクトの出力タイミングにおいて、当該出力タイミングにおける視点の位置や向きに応じて、各仮想オブジェクトの表示位置を、当該仮想オブジェクトが描画されたバッファ１０５ごとに補正する。また、表示制御部１０７は、出力タイミングにおける視点の位置や向きに応じて、所定のバッファ１０５に描画されたデプスマップ（即ち、実オブジェクトの位置や姿勢）を補正してもよい。
【００８３】
次いで、表示制御部１０７は、視点と、認識された実オブジェクトと、表示位置が補正された各仮想オブジェクトとの間の位置関係に応じて、当該仮想オブジェクトが提示された画像を合成する。これにより、提示対象となる各仮想オブジェクトのうち、実オブジェクトや他の仮想オブジェクトにより少なくとも一部が遮蔽された仮想オブジェクトの、当該遮蔽された部分の出力が、より自然な態様で制限される。なお、上記補正に係る処理や、上記合成に係る処理については、一連の処理の流れの一例の説明とあわせて詳細を別途後述する。
【００８４】
なお、表示制御部１０７は、上述した各仮想オブジェクトの表示位置の補正や、当該仮想オブジェクトが提示された画像の合成に係る処理を実行する際に、当該処理を実行するために要する一時データ等を、一時バッファ１０９に一時的に保持させてもよい。一時バッファ１０９は、例えば、フラッシュメモリやＲＡＭ等の記憶装置により構成され、各種データを一時的または恒久的に保持するための記憶領域である。
【００８５】
そして、表示制御部１０７は、各バッファ１０５に描画された各仮想オブジェクトを合成することで生成された画像（即ち、各仮想オブジェクトの画像）を、出力部２１１に表示させる。これにより、ユーザは、実空間上に重畳するように提示された各仮想オブジェクトを、出力部２１１を介して視認することが可能となる。
【００８６】
以上、図７を参照して、本実施形態に係る情報処理システム１の機能構成の一例について、特に情報処理装置１０の構成に着目して説明した。
【００８７】
＜３．３．処理＞
続いて、図８を参照して、本実施形態に係る情報処理システム１の一連の処理の流れの一例について、特に、仮想オブジェクトの描画と、描画された当該仮想オブジェクトの出力に係る処理に着目して説明する。図８は、本実施形態に係る情報処理システム１の一連の処理の流れの一例を示したフローチャートである。
【００８８】
まず、情報処理装置１０（認識部１０１）は、ステレオカメラとして構成された撮像部２０１から撮像されたステレオ画像を取得し、取得したステレオ画像に基づき、画像中に撮像された物体までの距離を当該画像の画素ごとに測定することで、デプスマップを生成する。そして、情報処理装置１０（描画部１０３）は、生成したデプスマップを、複数のバッファ１０５のうち対応するバッファに描画する（Ｓ１０１）。
【００８９】
また、情報処理装置１０（描画部１０３）は、検知部２５１から、入出力装置２０の位置や姿勢の変化を示す情報を所定のタイミングごとに取得し、取得した情報に基づき視点の位置や向きの変化を認識する。情報処理装置１０は、当該認識結果に基づく視点と各仮想オブジェクトとの間の位置関係に応じて、各仮想オブジェクトの提示位置や形状等を特定する。そして、情報処理装置１０は、各仮想オブジェクトを、複数のバッファ１０５のうちの対応するバッファ１０５に描画する（Ｓ１０３）。
【００９０】
また、情報処理装置１０（表示制御部１０７）は、視点の位置や向きの変化を、検知部２５１から取得した情報に基づき逐次認識する（Ｓ１０５）。
【００９１】
次いで、情報処理装置１０（表示制御部１０７）は、所定のバッファ１０５からデプスマップを一時バッファ１０９に読み出し、最新の視点の位置や向きに応じて、当該デプスマップ（即ち、実オブジェクトの位置や姿勢）を補正する（Ｓ１０７）。なお、このとき情報処理装置１０は、デプスマップを画面の走査ラインごとに一時バッファ１０９に読み出し、読み出した当該走査ラインごとに上記補正を行ってもよい。これにより、視点と実オブジェクトとの間の位置関係が、当該視点の最新の位置や向きに応じて補正される。
【００９２】
また、情報処理装置１０（表示制御部１０７）は、最新の視点の位置や向きに応じて、各バッファ１０５に描画された各仮想オブジェクトの表示位置を補正する。具体的には、情報処理装置１０は、各バッファ１０５に関連付けられた実空間上の領域（例えば、図６に示す領域Ｒ１１１〜Ｒ１１５）の深度（即ち、視点からの距離）と、最新の視点の位置や向きとに応じて、当該バッファ１０５に描画された仮想オブジェクトに対する表示位置の補正量を算出する。そして、情報処理装置１０は、例えば、バッファ１０５ごとに算出した補正量に応じて、当該バッファ１０５の読み出し位置を調整することで、当該バッファ１０５に描画された仮想オブジェクトの表示位置を補正する（Ｓ１０９）。
【００９３】
続いて、情報処理装置１０（表示制御部１０７）は、出力部２１１の各ピクセルを逐次対象として、当該ピクセルに出力する情報（例えば、色情報）を特定する。このとき、まず情報処理装置１０は、各バッファ１０５に関連付けられた実空間上の領域のうち、ユーザにより近い領域に関連付けられたバッファ１０５から対象となるピクセルを読み出す（Ｓ１１１）。
【００９４】
情報処理装置１０は、読み出したピクセルに情報（例えば、色情報）が描画されているか否かを判定する（Ｓ１１３）。読み出したピクセルに情報が描画されている場合には（Ｓ１１３、ＹＥＳ）、情報処理装置１０は、当該ピクセルの深度と、デプスマップ中の当該ピクセルに対応する位置の深度とを比較する（Ｓ１１５）。情報処理装置１０は、読み出したピクセルが、デプスマップが示す深度（即ち、実オブジェクトの奥行き方向の位置）を含めて、最も手前側に位置する場合には（Ｓ１１５、ＹＥＳ）、読み出した当該ピクセルに描画された情報を出力部２１１に出力させる（Ｓ１１７）。
【００９５】
また、情報処理装置１０は、読み出したピクセルが最も手前側に位置しない場合（Ｓ１１５、ＮＯ）や、読み出したピクセルに情報が描画されていない場合（Ｓ１１３、ＮＯ）には、全ての領域について上述した判定が完了しているか否かを確認する（Ｓ１１９）。まだ、判定の対象としていない領域が存在する場合には（Ｓ１１９、ＮＯ）、情報処理装置１０は、判定の対象としていない領域のうち、よりユーザに近い領域を新たな対象とする。この場合には、情報処理装置１０は、新たに対象とした領域に関連付けられたバッファ１０５から、対応するピクセルを読み出し（Ｓ１１１）、当該ピクセルに対して上述した一連の判定を行う（Ｓ１１３、Ｓ１１５）。
【００９６】
なお、全ての領域に対して上記判定が既に行われている場合には（Ｓ１１９、ＹＥＳ）、対象となるピクセルに対して情報が描画されていない状態か、または、実オブジェクトにより仮想オブジェクトが遮蔽されている状態となる。そのため、この場合には、情報処理装置１０は、対象となるピクセルに対応する情報として、出力部２１１に無効色を出力させる（Ｓ１２１）。
【００９７】
以上のようにして、情報処理装置１０は、全走査ラインそれぞれの一連のピクセルについて情報の出力が完了するまで（Ｓ１２３、ＮＯ）、上記に説明した当該ピクセルへの情報の出力に係る一連の処理を継続する。そして、全走査ラインそれぞれの一連のピクセルについて情報の出力が完了すると（Ｓ１２３、ＹＥＳ）、上述した仮想オブジェクトの描画と、描画された当該仮想オブジェクトの出力に係る一連の処理を終了する。
【００９８】
なお、図８を参照して上述した一連の処理の流れはあくまで一例であり、各処理の実行単位は必ずしも図８に示す例のみには限定されない。例えば、参照符号Ｓ１０１及びＳ１０３を付したデプスマップや仮想オブジェクトの描画に係る処理の実行後に、参照符号Ｓ１０５〜Ｓ１２３で示された情報の表示に係る一連の処理が複数セット実行されてもよい。
【００９９】
以上、図８を参照して、本実施形態に係る情報処理システム１の一連の処理の流れの一例について、特に、仮想オブジェクトの描画と、描画された当該仮想オブジェクトの出力に係る処理に着目して説明した。
【０１００】
＜＜４．変形例＞＞
続いて、本実施形態に係る情報処理システム１の変形例について説明する。
【０１０１】
＜４．１．変形例１：仮想オブジェクトとバッファとの間の関連付けの一例＞
上述した実施形態では、視点を基点とした視野に相当する領域を奥行き方向に沿って複数の領域に分割し、分割された各領域に対して互いに異なるバッファ１０５を関連付けることで、各仮想オブジェクトに対してバッファ１０５を間接的に関連付けていた。これに対して、変形例１に係る情報処理システムでは、提示対象となる仮想オブジェクトそれぞれに対して、互いに異なるバッファ１０５を直接的に関連付ける。
【０１０２】
例えば、図９は、変形例１に係る情報処理システムの概要について説明するための説明図であり、提示対象となる仮想オブジェクトとバッファとの間の関連付けの一例を示している。図９に示すように、変形例１に係る情報処理システムは、提示対象となる仮想オブジェクトＶ４１１、Ｖ４１３、及びＶ４１５それぞれに対して、互いに異なるバッファを関連付けている。より具体的には、仮想オブジェクトＶ４１１は、バッファＢ２１１に関連付けられている。そのため、情報処理システム１は、仮想オブジェクトＶ４１１を、バッファＢ２１１に描画することとなる。同様に、仮想オブジェクトＶ４１３は、バッファＢ２１３に関連付けられており、仮想オブジェクトＶ４１５は、バッファＢ２１５に関連付けられている。また、デプスマップについては、前述した実施形態と同様に、バッファＢ２１１、Ｂ２１３、及びＢ２１５とは別に設けられたバッファＢ１０１に描画される。
【０１０３】
以上のような構成に基づき、変形例１に係る情報処理システムは、視点Ｐ１１が移動した場合には、当該視点Ｐ１１の移動量に応じて、各バッファに描画された各仮想オブジェクトの表示位置を、視点Ｐ１１と当該仮想オブジェクトとの間の位置関係に応じて個別に補正する。また、当該情報処理システムは、バッファＢ１０１に描画されたデプスマップに基づき、実オブジェクトＭ４１７の実空間上における位置を認識し、当該実オブジェクトＭ４１７と、各バッファに描画された各仮想オブジェクトとの間の位置関係を比較する。そして、当該情報処理システムは、当該比較結果に基づき、バッファＢ２１１〜Ｂ２１５それぞれに描画された各仮想オブジェクトのうち、実オブジェクトＭ４１７や他の仮想オブジェクトにより遮蔽されない部分を、入出力装置２０を介してユーザに提示すればよい。
【０１０４】
以上のような構成から、変形例１に係る情報処理システムは、特に、提示対象となる仮想オブジェクトの数があらかじめ制限されている状況下においては、各仮想オブジェクトの表示をより精度よく補正することが可能となる。
【０１０５】
＜４．２．変形例２：領域分割の一例＞
続いて、変形例２として、実空間上の領域（即ち、視点を基点とした視野に相当する領域）を複数の領域に分割する方法の一例について説明する。
【０１０６】
例えば、図１０は、変形例２に係る情報処理システムの一態様について概要を説明するための説明図であり、視点Ｐ１１を基点とした視野に相当する領域を奥行き方向に沿って複数の領域に分割する方法の一例を示している。具体的には、図１０に示す例では、視点Ｐ１１を基点とした視野に相当する領域を奥行き方向に沿って複数の領域Ｒ２１１〜Ｒ２１５に分割する際に、より手前側に位置する領域ほど、奥行き方向に沿った幅がより狭くなるように分割されている。より具体的には、図１０に示す例では、より手前側に位置する領域Ｒ２１１の奥行き方向の幅が最も狭く、次いで、領域Ｒ２１３、Ｒ２１５、Ｒ２１７の順に奥行き方向の幅がより広くなる。このように、図１０に示す例では、情報処理システムは、ユーザの近傍をより細かい領域に分割し、分割された領域それぞれに対して互いに異なるバッファを関連付ける。
【０１０７】
このような構成により、図１０に示す例では、視点Ｐ１１が移動した場合に、視点Ｐ１１（即ち、ユーザ）のより近傍に重畳するように提示する仮想オブジェクトほど、表示位置をより細かく補正することが可能となる。特に、視点の移動に伴い表示位置を補正する場合には、当該視点により近くに位置する仮想オブジェクトほど表示位置の補正量がより大きくなり、より遠くに位置する仮想オブジェクトについては、表示位置の補正量がより小さくなる傾向にある。このような特性から、視点のより近傍では、奥行き方向の位置の違いに伴う当該補正量の差が、視点からより離間した位置に比べてより大きくなる傾向にある。また、各仮想オブジェクトの表示位置の補正は、上述したようにバッファ単位で行われる。以上のような特性から、ユーザの近傍をより細かい領域に分割し、分割された領域それぞれに対して互いに異なるバッファを関連付けることで、バッファを効率的に利用し、かつ、各仮想オブジェクトの表示位置の補正に係る精度を向上させることが可能となる。
【０１０８】
また、上記では、主に、視点Ｐ１１を基点とした視野に相当する領域をあらかじめ複数の領域に分割する（即ち、静的に分割する）場合の一例について説明したが、当該領域の分割が状況に応じて動的に行われてもよい。
【０１０９】
例えば、図１１は、変形例２に係る情報処理システムの他の一態様について概要を説明するための説明図であり、ユーザが注目している実空間上の位置の近傍をより細かい領域に分割する場合の一例を示している。
【０１１０】
例えば、図１１に示す例では、参照符号Ｍ４２１で示された実オブジェクトに対してユーザが視線を向けている場合を想定し、視点Ｐ１１を基点とした視野に相当する領域が奥行き方向に沿って複数の領域Ｒ３１１〜Ｒ３１９に分割されている。より具体的には、図１２に示す例では、ユーザが注目している位置（即ち、実オブジェクトＭ４２１が存在する位置）を含む領域Ｒ３１５と、当該領域Ｒ３１５に隣接する領域Ｒ３１３及びＲ３１７との奥行き方向の幅が、他の領域Ｒ３１１及びＲ３１９よりも狭くなるように設定されている。なお、領域Ｒ３１１〜Ｒ３１９のそれぞれには、互いに異なるバッファが関連付けられている。
【０１１１】
このような構成により、情報処理システムは、視点Ｐ１１が移動した場合に、ユーザが注目している位置のより近傍に提示される仮想オブジェクトほど、表示位置をより細かく補正することが可能となる。
【０１１２】
また、移動する仮想オブジェクトをユーザに提示するような状況下においては、仮想オブジェクトの動きの予測結果に応じて、視点Ｐ１１を基点とした視野に相当する領域が動的に複数の領域に分割されてもよい。例えば、図１２は、変形例２に係る情報処理システムの他の一態様について概要を説明するための説明図であり、仮想オブジェクトの動きの予測結果に応じて、実空間上の領域を複数の領域に分割する場合の一例を示している。
【０１１３】
例えば、図１２に示す例では、仮想オブジェクトＶ４３１の移動先として参照符号Ｖ４３３で示された位置が予測された場合を想定し、視点Ｐ１１を基点とした視野に相当する領域が奥行き方向に沿って複数の領域Ｒ３２１〜Ｒ３２９に分割されている。より具体的には、図１２に示す例では、仮想オブジェクトＶ４３１の移動先として予測された位置Ｖ４３３を含む領域Ｒ３２５と、当該領域Ｒ３２５に隣接する領域Ｒ３２３及びＲ３２７との奥行き方向の幅が、他の領域Ｒ３２１及びＲ３２９よりも狭くなるように設定されている。なお、領域Ｒ３２１〜Ｒ３２９のそれぞれには、互いに異なるバッファが関連付けられている。
【０１１４】
このような構成により、情報処理システムは、視点Ｐ１１が移動した場合に、仮想オブジェクトＶ４３１の移動に伴う、当該仮想オブジェクトＶ４３１と、他の実オブジェクトや仮想オブジェクトとの間の位置関係の変化を考慮し、より精度良く補正を行うことが可能となる。
【０１１５】
なお、予測結果を利用した補正は、図１２に示すように仮想オブジェクトの動きの予測結果を利用した方法のみには限定されない。具体的な一例として、情報処理システムは、ユーザの頭部の位置や姿勢の変化の検出結果に基づき視点の位置や向きの変化を予測することで、当該予測結果に基づき、実空間上の領域を複数の領域を複数の領域に分割してもよい。また、他の一例として、実オブジェクトが移動しているような状況下において、情報処理システムは、当該実オブジェクトの移動先を予測し、当該予測結果に基づき、実空間上の領域を複数の領域を複数の領域に分割してもよい。
【０１１６】
また、上述した例はあくまで一例であり、実空間上の領域を複数の領域に分割する方法は、必ずしも上述した例には限定されない。例えば、より優先して提示すべき対象（即ち、表示位置をより細かく補正する対象）に応じて、実空間上の領域が複数の領域に分割されるとよい。より具体的な一例として、情報処理システムのユースケースや利用シーンごとに優先して提示すべき対象を設定することで、当該ユースケースや利用シーンに応じて、実空間上の領域が複数の領域に分割されてもよい。
【０１１７】
以上、変形例２として、実空間上の領域（即ち、視点を基点とした視野に相当する領域）を複数の領域に分割する方法の一例について説明した。
【０１１８】
＜４．３．変形例３：バッファの制御例＞
続いて、変形例３として、バッファを制御の一例について説明する。
【０１１９】
例えば、情報処理システムは、仮想オブジェクトやデプスマップを描画するために割り当てるバッファの枚数を、各種状態や状況に応じて動的に制御してもよい。
【０１２０】
例えば、変形例２では、実空間上の領域を状況に応じて動的に複数の領域に分割する例について説明したが、このとき情報処理システムは、分割される領域の数を動的に変更してもよい。この場合には、分割された各領域に関連付けられるバッファの数も、分割された当該領域の数に応じて変動するため、情報処理システムは、分割された領域の数に応じて、仮想オブジェクトを描画するバッファの枚数を制御してもよい。
【０１２１】
また、他の一例として、変形例１に示すように仮想オブジェクトに対して直接バッファを関連付ける場合には、情報処理システムは、提示対象となる仮想オブジェクトの数に応じて、仮想オブジェクトを描画するバッファの枚数を制御してもよい。
【０１２２】
なお、情報処理システムは、実空間上の領域や仮想オブジェクトに対するバッファの関連付けを動的に変更した結果として、当該バッファの枚数が不足する場合には、所定の記憶領域から新たにバッファを割り当ててもよい。また、情報処理システムは、実空間上の領域や仮想オブジェクトに対するバッファの関連付けを動的に変更した結果として、一部のバッファが使用されない状況となった場合には、当該バッファが割り当てられた記憶領域を解放してもよい。
【０１２３】
また、実空間上の領域を複数の領域に分割した場合においても、必ずしも、分割された領域全てに対して仮想オブジェクトが重畳されるとは限らない。このような場合には、仮想オブジェクトが重畳されない領域に関連付けられたバッファには、仮想オブジェクトが描画されない場合がある。このような状況を鑑み、例えば、情報処理システムは、仮想オブジェクトが重畳されない領域については、バッファの関連付けを解除してもよい。この場合には、情報処理システムは、領域への関連付けが解除されたバッファが割り当てられた記憶領域を解放してもよい。
【０１２４】
また、情報処理システムが、状況に応じて仮想オブジェクトの表示を一時的に抑制する（即ち、非表示とする）場合も想定され得る。このような場合には、当該情報処理システムは、仮想オブジェクトの表示を抑制する期間中は、当該仮想オブジェクトが重畳されていた領域へのバッファの関連付けを解除することで当該仮想オブジェクトの描画自体を抑制してもよく、当該バッファが割り当てられた記憶領域を解放してもよい。なお、表示を抑制していた仮想オブジェクトを再度表示する場合には、情報処理システムは、当該仮想オブジェクトを提示する領域に対して改めてバッファを関連付ければよい。また、このとき情報処理システムは、当該領域に関連付けるバッファを再度割り当ててもよい。
【０１２５】
また、情報処理システムは、一部の仮想オブジェクトの描画を動的に制限することで、一部のバッファの使用を制限してもよい。具体的な一例として、情報処理システムは、各種状態や状況に応じて、より奥側に提示される仮想オブジェクトについてはユーザが注目していないものとして、当該仮想オブジェクトの描画を制限してもよい。また他の一例として、情報処理システムは、各種状態や状況に応じて、ユーザが注目している位置からより離間している仮想オブジェクトについてはユーザが注目していないものとして、当該仮想オブジェクトの描画を制限してもよい。なお、情報処理システムは、描画の制限に伴い使用が制限されたバッファについては、他の仮想オブジェクトの描画に用いる等のように、他の用途で使用してもよい。
【０１２６】
また、前述したように、仮想オブジェクトの表示位置の補正は、バッファ単位で実行される。そのため、例えば、一部の領域に対して複数の仮想オブジェクトが重畳される状況下においては、例えば、情報処理システムは、改めて当該領域をさらに細かく分割し、分割された各領域それぞれに対して個別にバッファを関連付けてもよい。このような制御により、情報処理システムは、当該複数の仮想オブジェクトそれぞれの表示位置を個別に補正することが可能となる。
【０１２７】
また、他の一例として、情報処理システムは、仮想オブジェクトやデプスマップを描画する各バッファのうち、少なくとも一部のバッファのサイズを制御してもよい。
【０１２８】
具体的な一例として、情報処理システムは、バッファ間に優先度を設定することで、当該優先度に応じたサイズで当該バッファを割り当ててもよい。例えば、図１３は、変形例３に係る情報処理システムの一態様について概要を説明するための説明図であり、バッファサイズの制御の一例について示している。
【０１２９】
一般的には、より遠方に位置する仮想オブジェクトはより小さく提示され、相対的に当該仮想オブジェクトの解像度も低くなる傾向にある。そのため、図１３に示す例では、情報処理システムは、視点Ｐ１１を基点とした視野に相当する領域が奥行き方向に沿って分割された複数の領域Ｒ３３１〜Ｒ３３７に関連付けるバッファのサイズを、当該領域の奥行き方向の位置に応じて設定している。具体的には、図１３に示す例では、情報処理システムは、より手前側に位置する領域Ｒ３３１及びＲ３３３の優先度を、より奥側に位置する領域Ｒ３３５及びＲ３３７の優先度よりも高く設定し、当該優先度に応じて関連付けるバッファのサイズを設定している。即ち、情報処理システムは、領域Ｒ３３５及びＲ３３７に関連付けられたバッファのサイズを、領域Ｒ３３１及びＲ３３３に関連付けられたバッファのサイズよりも小さく設定している。なお、情報処理システムは、サイズの小さいバッファに描画した仮想オブジェクトについては、他のバッファに描画された仮想オブジェクトと合成する際に、他のバッファに描画された仮想オブジェクトのサイズにあわせて拡大処理を施したうえで当該合成を行えばよい。
【０１３０】
上述したように、一部のバッファのサイズを制限することで、例えば、仮想オブジェクトの描画に係る処理負荷を軽減することも可能となる。なお、上述したバッファのサイズの制御は、各種状態や状況に応じて動的に行われてもよい。
【０１３１】
また、情報処理システムは、一部のバッファのサイズを制限するために、仮想オブジェクトの描画に係る動作や、当該仮想オブジェクトの出力に係る動作を切り替えてもよい。例えば、図１４は、変形例３に係る情報処理システムの一態様について概要を説明するための説明図であり、バッファのサイズを制限するための仕組みの一例について示している。
【０１３２】
具体的には、前述したように、より遠方に位置する仮想オブジェクトはより小さく提示され、相対的に解像度も低くなる傾向にあり、当該仮想オブジェクトの表示を細かく変化させたとしても、ユーザが、当該表示の変化を認識することが困難な場合がある。そこで、図１４に示す例では、情報処理システムは、より遠方に提示する仮想オブジェクトについては、視点との間の位置関係に応じて提示する画像をあらかじめ描画しておき、当該画像を切り替えることで、当該描画のためのバッファのサイズを制限している。
【０１３３】
具体的には、図１４に示す例では、提示対象となる仮想オブジェクトについて、互いに異なる方向から見た場合の当該仮想オブジェクトの画像Ｖ４４１ａ〜Ｖ４４１ｃがあらかじめ描画されている。即ち、画像Ｖ４４１ａは、仮想オブジェクトを正面から参照した場合の画像である。また、画像Ｖ４４１ｂは、仮想オブジェクトの正面に対して右側から参照した場合の画像であり、画像Ｖ４４１ｂは、仮想オブジェクトの正面に対して左側から参照した場合の画像である。そして、情報処理システムは、仮想オブジェクトを重畳する位置と視点との間の位置関係に応じて、画像Ｖ４４１ａ〜Ｖ４４１ｃのいずれかを、当該仮想オブジェクトの画像として提示する。このような構成とすることで、三次元的に提示された仮想オブジェクトを描画する場合に比べて、バッファのサイズを制限することが可能となり、さらに当該描画に係る処理負荷も軽減することも可能となる。
【０１３４】
また、情報処理システムは、バッファ間に優先度を設定し、当該優先度に応じて、一部のバッファに描画された仮想オブジェクトに対する表示位置の補正に関する処理を制限してもよい。例えば、情報処理システムは、ユーザが注目している位置のより近傍に位置する領域に関連付けられたバッファの優先度をより高く設定することで、ユーザの注目している位置から離間した位置に重畳される仮想オブジェクトについては、表示位置の補正に係る処理を制限してもよい。このような構成により、情報処理システムは、各バッファに描画された仮想オブジェクトを合成する際の処理負荷を軽減することが可能となる。
【０１３５】
また、情報処理システムがバッファの枚数やサイズを動的に制御するための条件については、例えば、情報処理システムのユースケースや利用シーンに応じて適宜設定すればよい。具体的な一例として、情報処理システムは、使用可能な電力量が制限されるような状況下（例えば、バッテリー駆動時等）においては、バッファの枚数やサイズを制限し、仮想オブジェクトの描画や合成に係る処理負荷を軽減することで、消費電力を抑えてもよい。
【０１３６】
以上、変形例３として、バッファを制御の一例について説明した。
【０１３７】
＜４．４．変形例４：仮想オブジェクトの描画や出力に係る制御の一例＞
続いて、変形例４として、各バッファへの仮想オブジェクトの描画や、当該仮想オブジェクトの出力に係る制御の一例について説明する。
【０１３８】
（遠景に提示する仮想オブジェクトの描画や出力の制御例）
まず、遠景に提示する仮想オブジェクトの描画や出力を制御する場合の一例について説明する。前述したように、より遠方に位置する仮想オブジェクトは、表示を細かく変化させたとしても、ユーザが、当該表示の変化を認識することが困難な場合がある。そこで、例えば、情報処理システムは、視点の位置からより離れた領域に提示する一連の仮想オブジェクトについては、個別に３次元的な描画を行わずに、２次元的な画像として描画することで、当該描画に係る処理負荷を軽減してもよい。この場合には、情報処理システムは、所謂キューブマップ（Cubemap）やパララックス等の技術に基づき、対象となる領域と視点との位置関係に応じて、当該領域に重畳される一連の仮想オブジェクトが描画された２次元的な画像の表示位置を制御すればよい。
【０１３９】
（表示位置を固定する場合の制御の一例）
次いで、所謂ＵＩ等のように表示位置が固定された情報の描画や出力を制御する場合の一例について説明する。ＵＩ等のように、実空間との関連付けが行われずに独立して提示される表示情報については、視点の位置や向きが変化した場合においても、常に同じ位置に提示されることが期待される。即ち、ＵＩ等の表示情報については、例えば、視点の位置や向きが変化した場合においても、表示位置の補正が不要となる場合がある。このような状況を鑑み、情報処理システムは、例えば、当該補正の対象から除外する一連の表示情報を描画するためのバッファを設けてもよい。
【０１４０】
（描画や合成に係る処理タイミングの制御）
次いで、描画や合成に係る処理タイミングを制御する場合の一例について説明する。仮想オブジェクトの描画に係る処理や、各バッファに描画された仮想オブジェクトの合成に係る処理は、処理負荷が比較的高い傾向にあり、当該処理負荷に伴い処理時間が長くなる場合がある。このような状況を鑑み、情報処理システムは、ユーザが仮想オブジェクトを視認していないタイミングを検出し、当該タイミングで上述した処理負荷の高い処理を実行してもよい。
【０１４１】
具体的な一例として、情報処理システムは、ユーザが瞬きをするタイミングを予測することで、当該予測結果に基づきユーザが眼を閉じるタイミングにあわせて処理負荷の高い制御を実行してもよい。また、このとき情報処理システムは、ユーザが眼を開くタイミングにあわせて、各バッファに描画された仮想オブジェクトの表示位置を補正し、当該仮想オブジェクトを合成するタイミングを制御してもよい。
【０１４２】
なお、ユーザが瞬きするタイミングを予測することが可能であれば、その方法については特に限定されない。具体的な一例として、情報処理システムは、ユーザの行動をモニタリングし、当該モニタリングの結果と当該ユーザの行動特性との比較結果に応じて、当該ユーザが瞬きをするタイミングを予測してもよい。
【０１４３】
以上、変形例４として、各バッファへの仮想オブジェクトの描画や、当該仮想オブジェクトの出力に係る制御の一例について説明した。
【０１４４】
＜４．５．変形例５：インタラクションの制御の一例＞
続いて、変形例５として、本実施形態に係る情報処理システムにおけるインタラクションの制御の一例について説明する。
【０１４５】
（他の出力情報との組み合わせ）
まず、仮想オブジェクトの提示と、他の出力情報の制御とを組み合わせることで、仮想オブジェクトの描画に伴う遅延の影響をより緩和するための制御の一例について説明する。例えば、仮想オブジェクトを提示する際に、当該仮想オブジェクトが提示された位置から音響が到来しているように、当該音響の出力を制御することで、当該仮想オブジェクトから音響が出力されている状況を模擬する場合がある。このような場合には、情報処理システムは、視点と、提示対象となる各仮想オブジェクトと、実空間上に位置する実オブジェクトとの間の位置関係に応じて音響の出力を制御することで、仮想オブジェクトの描画に伴う遅延の影響を緩和してもよい。
【０１４６】
より具体的な一例として、視点と、音響を出力している状態を模擬する仮想オブジェクトとの間に、他の仮想オブジェクトや実オブジェクトが介在している状況に着目する。このような状況では、情報処理システムは、例えば、当該音響の音量や音質を制御することで、仮想オブジェクトから出力された音響が、他の仮想オブジェクトや実オブジェクトにより遮蔽されている状況を模擬してもよい。このような制御により、仮想オブジェクトの表示位置の補正が不完全だった場合においても、当該不完全さを補間することが可能となる。
【０１４７】
（表示態様の制御例）
次いで、仮想オブジェクトの表示態様の制御と、当該制御により期待される効果との一例について説明する。例えば、情報処理システムは、ユーザが注目している仮想オブジェクトが重畳される領域以外の他の領域に重畳する他の仮想オブジェクトの透過度を上げる（例えば、半透明で提示する）ように、当該仮想オブジェクトの表示を制御してもよい。このような制御により、ユーザが注目している仮想オブジェクトがより強調され、他の仮想オブジェクトとの間の位置関係（特に、奥行き方向の位置関係）をよりわかりやすく提示することが可能となる。
【０１４８】
また、一部の仮想オブジェクトをより強調して提示することで、当該仮想オブジェクトによりユーザの視線を誘導することも可能である。このような制御を利用することで、情報処理システムは、例えば、ユーザの視線を誘導した位置の近傍で、仮想オブジェクトの表示位置をより細かく制御できるように、実空間上の領域の分割や、当該領域に対するバッファの関連付けを制御してもよい。
【０１４９】
以上、変形例５として、本実施形態に係る情報処理システムにおけるインタラクションの制御の一例について説明した。
【０１５０】
＜＜５．ハードウェア構成＞＞
次に、図１５を参照しながら、前述した情報処理装置１０及び入出力装置２０のように、本実施形態に係る情報処理システム１を構成する情報処理装置９００のハードウェア構成について、詳細に説明する。図１５は、本開示の一実施形態に係る情報処理システム１を構成する情報処理装置９００のハードウェア構成の一構成例を示す機能ブロック図である。
【０１５１】
本実施形態に係る情報処理システム１を構成する情報処理装置９００は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、情報処理装置９００は、更に、ホストバス９０７と、ブリッジ９０９と、外部バス９１１と、インターフェース９１３と、入力装置９１５と、出力装置９１７と、ストレージ装置９１９と、ドライブ９２１と、接続ポート９２３と、通信装置９２５とを備える。
【０１５２】
ＣＰＵ９０１は、演算処理装置及び制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９又はリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般又はその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるホストバス９０７により相互に接続されている。なお、図７を参照して前述した、認識部１０１、描画部１０３、表示制御部１０７、及びバッファ制御部１１１は、例えば、ＣＰＵ９０１により実現され得る。
【０１５３】
ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。また、外部バス９１１には、インターフェース９１３を介して、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３及び通信装置９２５が接続される。
【０１５４】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、情報処理装置９００の操作に対応した携帯電話やＰＤＡ等の外部接続機器９２９であってもよい。さらに、入力装置９１５は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置９００のユーザは、この入力装置９１５を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１５５】
出力装置９１７は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置９１７は、例えば、情報処理装置９００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置９００が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。なお、図７を参照して前述した出力部２１１は、例えば、出力装置９１７により実現され得る。
【０１５６】
ストレージ装置９１９は、情報処理装置９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ等を格納する。
【０１５７】
ドライブ９２１は、記録媒体用リーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体９２７に記録を書き込むことも可能である。リムーバブル記録媒体９２７は、例えば、ＤＶＤメディア、ＨＤ−ＤＶＤメディア又はＢｌｕ−ｒａｙ（登録商標）メディア等である。また、リムーバブル記録媒体９２７は、コンパクトフラッシュ（登録商標）（ＣＦ：ＣｏｍｐａｃｔＦｌａｓｈ）、フラッシュメモリ又はＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等であってもよい。また、リムーバブル記録媒体９２７は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）又は電子機器等であってもよい。なお、図７を参照して前述した、バッファ１０５及び一時バッファ１０９は、例えば、ＲＡＭ９０５及びストレージ装置９１９の少なくともいずれかにより実現され得る。
【０１５８】
接続ポート９２３は、情報処理装置９００に直接接続するためのポートである。接続ポート９２３の一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。接続ポート９２３の別の例として、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。この接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置９００は、外部接続機器９２９から直接各種のデータを取得したり、外部接続機器９２９に各種のデータを提供したりする。
【０１５９】
通信装置９２５は、例えば、通信網（ネットワーク）９３１に接続するための通信デバイス等で構成された通信インターフェースである。通信装置９２５は、例えば、有線若しくは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ又は各種通信用のモデム等であってもよい。この通信装置９２５は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９２５に接続される通信網９３１は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。
【０１６０】
以上、本開示の実施形態に係る情報処理システム１を構成する情報処理装置９００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図１５では図示しないが、本実施形態に係る情報処理システム１を構成する情報処理装置９００に対応する各種の構成を当然備える。
【０１６１】
なお、上述のような本実施形態に係る情報処理システム１を構成する情報処理装置９００の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ（例えば、複数のサーバ等）が互いに連携して実行してもよい。なお、単数のコンピュータ、または、複数のコンピュータが連携するものを、「コンピュータシステム」とも称する。
【０１６２】
＜＜６．むすび＞＞
以上説明したように、本実施形態に係る情報処理システムは、複数の表示情報（例えば、仮想オブジェクト）それぞれを、複数のバッファのうちのいずれかに対して直接的または間接的に関連付け、バッファごとに、当該バッファに関連付けられた表示情報を描画する。そして、情報処理システムは、実空間上の実オブジェクトの認識結果に基づき、複数のバッファそれぞれに描画された表示情報の表示を補正し、当該補正が施された表示情報それぞれを、実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる。このような構成より、本実施形態に係る情報処理システムは、視点と、各表示情報と、実オブジェクトとの間の位置関係に応じて、当該表示情報の表示を個別に補正することが可能となる。即ち、本実施形態に係る情報処理システムは、描画の遅延に伴う影響を表示情報が重畳される位置に応じて個々に補正し、かつ、実オブジェクトによる遮蔽を考慮して各表示情報の表示（例えば、表示位置）を制御することが可能となる。
【０１６３】
なお、上記では、主に入出力装置２０がＨＭＤとして構成されている場合に着目して説明したが、ＡＲを実現可能であれば、入出力装置２０の構成は必ずしもＨＭＤには限定されない。具体的な一例として、スマートフォン等のような情報処理装置が入出力装置２０として適用されてもよい。この場合には、例えば、ビデオシースルー型ＨＭＤと同様の仕組みに基づき、外部の風景の画像に対して仮想オブジェクトを重畳させればよい。
【０１６４】
また、入出力装置２０とは異なる外部装置として撮像部を別途設けてもよい。このように、別途撮像部を設けることで、実空間上の物体（被写体）を多様な方向から撮像することが可能となるため、生成されるデプスマップの精度をより向上させることが可能となる。
【０１６５】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１６６】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１６７】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
実空間上の実オブジェクトの認識結果に関する情報を取得する取得部と、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画する描画部と、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させる表示制御部と、
を備える、情報処理装置。
（２）
前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付けるバッファ制御部を備える、前記（１）に記載の情報処理装置。
（３）
前記表示制御部は、前記実オブジェクトの認識結果に応じた、当該実オブジェクトと視点との間の位置関係に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示位置を補正する、前記（２）に記載の情報処理装置。
（４）
前記バッファ制御部は、前記視点の位置を基点とした、実空間上における奥行き方向に沿った複数の領域それぞれに対して互いに異なる前記バッファを関連付け、
前記描画部は、前記複数の領域それぞれに位置するように提示する前記表示情報を、当該領域に関連付けられた前記バッファに描画し、
前記表示制御部は、前記複数のバッファのうち少なくともいずれかを対象として、当該対象とした前記バッファに関連付けられた前記領域に提示する前記表示情報の表示位置を、当該領域と前記視点との間の位置関係に応じて補正する、前記（３）に記載の情報処理装置。
（５）
前記バッファ制御部は、前記複数の表示情報それぞれを、互いに異なる前記バッファに関連付け、
前記表示制御部は、前記複数のバッファのうち少なくともいずれかを対象として、当該対象とした前記バッファに関連付けられた前記表示情報の表示位置を、当該表示情報と前記視点との間の位置関係に応じて補正する、前記（３）に記載の情報処理装置。
（６）
前記バッファ制御部は、所定の状態または状況に応じて、前記複数の表示情報のそれぞれを、前記複数のバッファのうちのいずれかに対して直接的または間接的に関連付ける、前記（２）〜（５）のいずれか一項に記載の情報処理装置。
（７）
前記バッファ制御部は、所定の状態または状況に応じて、前記バッファの枚数を制御する、前記（６）に記載の情報処理装置。
（８）
前記バッファ制御部は、所定の状態または状況に応じて、前記複数のバッファのうち少なくともいずれかのサイズを制御する、前記（６）または（７）に記載の情報処理装置。
（９）
前記バッファ制御部は、所定の状態または状況に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、前記（６）〜（８）のいずれか一項に記載の情報処理装置。
（１０）
前記バッファ制御部は、ユーザの視線が示す実空間上の位置に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、前記（９）に記載の情報処理装置。
（１１）
前記バッファ制御部は、ユーザの視線の変化の予測結果に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、前記（９）に記載の情報処理装置。
（１２）
前記バッファ制御部は、前記複数の表示情報のうち少なくともいずれかの表示情報の動きの予測結果に応じて、前記複数の表示情報と前記複数のバッファとの間の直接的または間接的な関連付けを制御する、前記（９）に記載の情報処理装置。
（１３）
前記表示制御部は、前記複数のバッファ間に設定された優先度に基づき、前記複数のバッファそれぞれに描画された前記表示情報の前記出力部への提示を制御する、前記（１）〜（１１）のいずれか一項に記載の情報処理装置。
（１４）
前記表示制御部は、前記複数のバッファのうち少なくともいずれかに描画された前記表示情報の表示を、当該バッファに設定された前記優先度に応じて補正する、前記（１３）に記載の情報処理装置。
（１５）
前記描画部は、前記複数のバッファのうち少なくともいずれかに対する前記表示情報の描画を、当該バッファに設定された前記優先度に応じて制限する、前記（１３）または（１４）に記載の情報処理装置。
（１６）
前記表示制御部は、前記複数のバッファのうち一部のバッファを、前記補正の対象から除外する、前記（１）〜（１５）のいずれか一項に記載の情報処理装置。
（１７）
前記表示制御部は、前記バッファに対して前記表示情報が描画されたタイミングよりも後のタイミングで取得された前記実オブジェクトの認識結果に基づき、当該バッファに描画された当該表示情報の表示を補正する、前記（１）〜（１６）のいずれか一項に記載の情報処理装置。
（１８）
コンピュータシステムが、
実空間上の実オブジェクトの認識結果に関する情報を取得することと、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、
を含む、情報処理方法。
（１９）
コンピュータシステムに、
実空間上の実オブジェクトの認識結果に関する情報を取得することと、
複数のバッファそれぞれに対して、複数の表示情報のうち当該バッファに直接的または間接的に関連付けられた前記表示情報を描画することと、
前記実オブジェクトの認識結果に基づき、前記複数のバッファそれぞれに描画された前記表示情報の表示を補正し、当該表示が補正された前記表示情報それぞれを、当該実オブジェクトとの間の位置関係に応じて所定の出力部に提示させることと、
を実行させる、プログラム。
【符号の説明】
【０１６８】
１      情報処理システム
１０    情報処理装置
１０１  認識部
１０３  描画部
１０５  バッファ
１０７  表示制御部
１０９  一時バッファ
１１１  バッファ制御部
２０    入出力装置
２０１  撮像部
２１１  出力部
２５１  検知部
【図１】
0006747504.tif 000002
【図２】
0006747504.tif 000003
【図３】
0006747504.tif 000004
【図４】
0006747504.tif 000005
【図５】
0006747504.tif 000006
【図６】
0006747504.tif 000007
【図７】
0006747504.tif 000008
【図８】
0006747504.tif 000009
【図９】
0006747504.tif 000010
【図１０】
0006747504.tif 000011
【図１１】
0006747504.tif 000012
【図１２】
0006747504.tif 000013
【図１３】
0006747504.tif 000014
【図１４】
0006747504.tif 000015
【図１５】
0006747504.tif 000016