WO2023002687A1 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
WO2023002687A1
WO2023002687A1 PCT/JP2022/011556 JP2022011556W WO2023002687A1 WO 2023002687 A1 WO2023002687 A1 WO 2023002687A1 JP 2022011556 W JP2022011556 W JP 2022011556W WO 2023002687 A1 WO2023002687 A1 WO 2023002687A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
rendering
unit
virtual space
level
Prior art date
Application number
PCT/JP2022/011556
Other languages
English (en)
French (fr)
Inventor
正行 井上
圭佑 中村
Original Assignee
ソニーグループ株式会社
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 ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2023002687A1 publication Critical patent/WO2023002687A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本開示に係る情報処理装置は、仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とに基づいて送信され、前記複数物体のうち、前記第2の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信する受信部と、前記第1の情報に基づいて、前記仮想空間の前記レンダリングを行う処理部と、を備える。

Description

情報処理装置及び情報処理方法
 本開示は、情報処理装置及び情報処理方法に関する。
 ユーザの端末に表示するゲーム等のコンテンツをリアルタイムにレンダリングを行うための技術が知られている。例えば、複数の機器のうち1つの機器が生成した第1の画面と、複数の機器のうち1つの機器以外の機器が生成した第2の画面とを合成して表示する画面を生成することにより、画面の描画処理を複数の機器で分担して実行する方法が提案されている(例えば特許文献1)。
特許第5977023号公報
 しかしながら、従来技術には改善の余地がある。例えば、従来技術では、複数の機器が分担して画像の描画処理、すなわちレンダリングを行なっており、複数の機器でレンダリングを行うことが要求される。このような従来技術では、レンダリングを行う複数の装置が必要となり、レンダリングを1つの装置で行う場合には対応できない。そのため、レンダリングに関連する処理の柔軟な実行を可能にすることが望まれている。
 そこで、本開示では、レンダリングに関連する処理の柔軟な実行を可能にすることができる情報処理装置及び情報処理方法を提案する。
 上記の課題を解決するために、本開示に係る一形態の情報処理装置は、仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とに基づいて送信され、前記複数物体のうち、前記第2の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信する受信部と、前記第1の情報に基づいて、前記仮想空間の前記レンダリングを行う処理部と、を備える。
本開示の実施形態に係る情報処理の一例を示す図である。 本開示の実施形態に係る情報処理システムの構成例を示す図である。 本開示の実施形態に係るサーバ装置の構成例を示す図である。 本開示の実施形態に係るクライアント端末の構成例を示す図である。 本開示の実施形態に係るサーバ装置の処理手順を示すフローチャートである。 本開示の実施形態に係るクライアント端末の処理手順を示すフローチャートである。 初期状態の一例を示す図である。 領域とASの関係の一例を示す図である。 複数のレベルのモデルの一例を示す図である。 アクセラレーションストラクチャの一例を示す概念図である。 動的物体のアクセラレーションストラクチャの一例を示す図である。 静的物体のアクセラレーションストラクチャの一例を示す図である。 アクセラレーションストラクチャのマージの一例を示す図である。 プレイヤの移動と領域の関係の一例を示す図である。 プレイヤの移動と領域の関係の他の一例を示す図である。 マルチプレイゲームへの適用の一例を示す図である。 情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、この実施形態により本願にかかる情報処理装置及び情報処理方法が限定されるものではない。また、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 以下に示す項目順序に従って本開示を説明する。
  1.実施形態
   1-1.本開示の実施形態に係る情報処理の概要
    1-1-1.効果等
   1-2.実施形態に係る情報処理システムの構成
   1-3.実施形態に係るサーバ装置の構成
   1-4.実施形態に係るクライアント端末の構成
   1-5.実施形態に係る情報処理の手順
   1-6.処理の流れ具体例
    1-6-1.プレイヤの移動
   1-7.応用例(マルチプレイゲーム)
   1-8.ネットワーク速度が低下したケース
    1-8-1.変形例
  2.その他の実施形態
   2-1.その他の構成例
   2-2.その他
  3.本開示に係る効果
  4.ハードウェア構成
[1.実施形態]
[1-1.本開示の実施形態に係る情報処理の概要]
 図1は、本開示の実施形態に係る情報処理の一例を示す図である。本開示の実施形態に係る情報処理は、サーバ装置100やクライアント端末10を含む情報処理システム1によって実現される。
 図1では、情報処理システム1における処理の流れの概要を説明する。以下では、クライアント端末10を利用するユーザU1へネットワークゲームのサービス(ゲームサービス)を提供する場合を一例として説明する。なお、ゲームサービスは一例に過ぎず、情報処理システム1が適用可能なサービスであれば、ゲームサービスに限らず、様々なサービスに適用されてもよい。
 図1は、ユーザU1がクライアント端末10を操作してゲームを行っている場合を示す。なお、図1でユーザU1が行っているゲームは、ユーザU1の操作に応じて仮想空間内を移動したりすること等に応じて、視点位置が変化(移動)するタイプのゲームであるものとする。以下では、プレイヤを示すキャラクタ(単に「プレイヤ」ともいう)が表示され、そのプレイヤの位置が視点位置である場合を一例として説明する。なお、ユーザの操作に応じて視点位置が変化すればどのようなタイプのゲームであってもよい。すなわち、情報処理システム1が適用されるゲームは、以下一例として説明するプレイヤが表示されるタイプのゲームに限らず、例えばファーストパーソン・シューティングゲームのようにプレイヤが表示されず、操作に応じて視点位置が変化(移動)するタイプのゲームであってもよい。
 図1では、クライアント端末10は、ゲームの進行に応じて、サーバ装置100からレンダリングに用いる情報を受信し、受信した情報を用いてレンダリングを実行する。以下では、レンダリングに用いる情報がアクセラレーションストラクチャ(以下「AS」ともいう)の一例であるBVH(Bounding Volume Hierarchy)である場合を説明する。なお、アクセラレーションストラクチャ(AS)は、BVHに限らず、例えばBVH以外の階層構造を有するデータ構造等、任意のデータ構造が採用可能である。また、レンダリングに用いる情報は、アクセラレーションストラクチャ(AS)に限らず、クライアント端末10が行うレンダリングに応じて、任意の情報が採用可能である。例えば、レンダリングに用いる情報は、3D(3次元)グラフィックのレンダリングに用いられる様々な情報等であってもよく、例えばパーティクル(粒子)等の任意の対象の物理演算結果であってもよい。
 ここから、図1に示す処理概要について説明する。ユーザU1は、クライアント端末10を操作してゲーム内の仮想空間におけるプレイヤを移動させる。クライアント端末10は、サーバ装置100にレンダリングに用いる情報の提供を要求する(ステップS11)。例えば、クライアント端末10は、仮想空間におけるプレイヤの位置を示す情報を送信することにより、サーバ装置100にレンダリングに用いる情報の提供を要求する。
 クライアント端末10からの要求に応じてサーバ装置100は、第1のASを構築する(ステップS12)。サーバ装置100は、仮想空間における物体のうち、静的な物体(「静的物体」と記載する場合がある)を対象として第1のASを生成する。なお、ここでいう静的な物体は、建築物等、ゲーム実行中に物体の形状が変わらない物体である。
 サーバ装置100は、仮想空間における静的な物体のうち、プレイヤの位置から所定の範囲内に位置する対象物体のレンダリングに用いる第1のASを構築する。例えば、サーバ装置100は、プレイヤの位置から所定の範囲内に位置する静的な物体のBVHを第1のASとして生成する。ここで、サーバ装置100は、詳細度が高い第1の詳細度で静的な物体の第1のASを生成する。例えば、サーバ装置100は、第2の詳細度よりも詳細度が高い第1の詳細度で静的な物体の第1のASを生成する。なお、第1の詳細度、第2の詳細度等の詳細度についての詳細は後述する。サーバ装置100は、構築した第1のASをクライアント端末10へ送信する(ステップS13)。例えば、サーバ装置100は、第1の詳細度の第1のASをクライアント端末10へ送信する。
 また、クライアント端末10は、自装置でもレンダリングに用いる情報を生成する(ステップS14)。クライアント端末10は、サーバ装置100の対象物体とは異なる物体のレンダリングに用いる第2のASを生成する。クライアント端末10は、仮想空間における物体のうち、動的な物体(「動的物体」と記載する場合がある)を対象として第2のASを生成する。なお、ここでいう動的な物体は、キャラクタ等、ゲーム中に物体の形状が変化する物体である。
 クライアント端末10は、仮想空間における動的な物体のうち、プレイヤの位置から所定の範囲内に位置する物体のレンダリングに用いる第2のASを構築する。例えば、クライアント端末10は、プレイヤの位置から所定の範囲内に位置する動的な物体のBVHを第2のASとして生成する。例えば、クライアント端末10は、第1の詳細度で動的な物体の第2のASを生成する。なお、ステップ番号は処理を説明するためのものであり、ステップS14はステップS11~S13と並行して行われてもよいし、ステップS11の前に開始されてもよい。
 そして、クライアント端末10は、サーバ装置100から受信した第1のASと、生成した第2のASとを用いてレンダリングを行う(ステップS15)。このように、クライアント端末10は、サーバから得た静的物体ASデータである第1のASと、クライアントで生成した動的物体ASデータである第2のASとを用いてレンダリングを行う。まず、クライアント端末10は、第1のASと第2のASとを結合する結合処理により1つのASデータ(「マージ後AS」ともいう)を生成する。
 そして、クライアント端末10は、生成したマージ後ASを用いて、レンダリングを行う。例えば、クライアント端末10は、プレイヤの位置とマージ後ASとを用いて、レイトレーシングに関する手法の一例であるパストレーシングをレンダリングとして実行する。なお、パストレーシングは、レンダリングの一例に過ぎず、パストレーシングに限らず、パストレーシング以外のレイトレーシングに関する手法、ラジオシティ、Zバッファ等の様々な手法が採用可能である。そして、クライアント端末10は、レンダリングにより生成した画面を表示する。
[1-1-1.効果等]
 上述のように、情報処理システム1では、サーバ装置100がクライアント端末10でのレンダリングに用いられる第1の情報としての第1のASを生成し、クライアント端末10が第2の情報としての第2のASを生成する。このように、情報処理システム1では、サーバ装置100とクライアント端末10とに分散してレンダリングの前処理が実行される。そして、クライアント端末10は、サーバ装置100が生成した第1のASと、自装置で生成した第2のASとを用いてレンダリングを実行する。このように、クライアント端末10は、他の装置で生成された情報をレンダリングに用いることで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 近年、3Dシーンをよりリアルにレンダリングを行うためにレイトレーシングやパストレーシング(以下併せて「レイトレーシング手法」ともする)が用いられることが増えてきている。レイトレーシング手法ではカメラから画角となる2次元方向の各画素に対してレイ(光線)を放ち、3Dシーン内にあるオブジェクトにレイが交差したら、交差点から再びレイを放つ処理を行い、レイのバウンドを繰り返しながら光の伝搬経路を計算していく。このレイとオブジェクトの交差判定を高速に行う事を目的に、上述のアクセラレーションストラクチャ(AS)と呼ばれるデータ構造を事前に生成してからレイの交差判定を行う事がレイトレーシング手法では一般的に行われている。
 ゲームに代表されるリアルタイムレンダリングにおいてはハードウェアの進化に伴い、年々シーン内のポリゴン数が増加しているが、ASの生成はシーン内のポリゴン数に比例して計算コストが増大し、それを毎フレーム行う必要があるため、ASの生成そのものに対しても大量の計算コストを必要となっている。
 そこで、上述のように、情報処理システム1では、ASの一部をサーバ装置100で生成し、生成した結果をクライアント端末10に配信することにより、クライアント端末10におけるASの生成コストの増大を抑制する。その結果として、情報処理システム1では、クライアント端末10単体でASの生成を行う場合に比べて、より高品位な画をレンダリングすることができる。これにより、情報処理システム1は、ゲーム等のリアルタイムレンダリング用途において、クライアント機器単体では実現できない高品位な画をレンダリングできる。
 このように、情報処理システム1では、リアルタイムレンダリングの為のAS生成を行うために、AS生成を複数の装置に分散して処理させる。例えば、情報処理システム1では、シーン内の物体(オブジェクト)を、地形や建築物等の静的な物体(オブジェクト)と、キャラクタ等の動的な物体(オブジェクト)に分類する。そして、静的な物体のASに関しては一旦生成してしまえば構造が変化することが無いため一度の生成のみでよい。
 そこで、情報処理システム1では、静的な物体のASをサーバ装置100側で生成してクライアント端末10に配信する。情報処理システム1では、ゲーム内のプレイヤ(キャラクタ)がシーンを移動した際、移動先の物体のASをサーバ装置100側で事前に生成しておき、プレイヤが実際に移動地点に到達する前に配信を開始し、プレイヤが目的地に到達する前に配信を完了させる。なお、この点については後述する。また、情報処理システム1では、動的な物体のASはクライアント端末10で毎フレーム行い、サーバ装置100から受信した静的な物体のASとマージ(結合)することによってリアルタイム性を確保することができる。
 全物体のアクセラレーションストラクチャ(AS)を単一クライアント上で構築する際に比べ、情報処理システム1では、クライアント側で静的物体のAS構築負荷を軽減可能である。その結果、情報処理システム1では、軽減した分の計算コストをリッチな画をレンダリングする為のパワーとして利用することができるようになるため、クライアント機器単体では実現できないような高品位な画をレンダリングすることが可能となる。
[1-2.実施形態に係る情報処理システムの構成]
 図2に示す情報処理システム1の構成図について説明する。図2は、本開示の実施形態に係る情報処理システムの構成例を示す図である。情報処理システム1は、大きくサーバ側とクライアント側の2つのブロックに分かれている。図2に示すように、情報処理システム1は、クライアント端末10と、サーバ装置100とが含まれる。
 なお、図2では1つのクライアント端末10のみを図示するが、情報処理システム1には、ユーザの数に対応する数のクライアント端末10が含まれる。例えば、ユーザが複数の場合、情報処理システム1には、複数のクライアント端末10が含まれる。情報処理システム1に含まれる各装置は、インターネット等の所定の通信網(ネットワークN)を介して、有線または無線により通信可能に接続される。なお、図2は一例に過ぎず、情報処理システム1には、複数のサーバ装置100が含まれてもよいし、クライアント端末10及びサーバ装置100以外の装置が含まれてもよい。
 クライアント端末10は、ユーザが利用する情報処理装置(コンピュータ)である。例えば、クライアント端末10は、ノート型PC(Personal Computer)や、デスクトップPCや、スマートフォンや、タブレット型端末や、携帯電話機や、PDA(Personal Digital Assistant)等の装置であってもよい。ユーザは、クライアント端末10を操作してゲームなどを行う。クライアント端末10は、サーバ装置100から受信した情報を用いてレンダリングを行う。
 クライアント端末10は、ネットワークNを介して、静的物体のASを要求するコマンド(静的物体AS要求コマンド)をサーバ装置100へ送信する。クライアント端末10は、ネットワークNを介して、サーバ装置100から静的物体ASデータを受信する。なお、図2中のコマンド送信部161等、クライアント端末10の各構成要素についての詳細は図4で説明する。
 サーバ装置100は、クライアント端末10を利用するユーザにサービスを提供するために用いられる情報処理装置(コンピュータ)である。例えば、サーバ装置100は、ユーザにゲームサービスを提供する。サーバ装置100は、各種情報をクライアント端末10から受信する。また、サーバ装置100は、各種情報をクライアント端末10に送信する。サーバ装置100は、クライアント端末10で行われるレンダリングに用いられる情報をクライアント端末10へ送信する。
 サーバ装置100は、ネットワークNを介して、クライアント端末10から静的物体AS要求コマンドを受信する。サーバ装置100は、ネットワークNを介して、要求に応じて生成した静的物体ASデータをクライアント端末10へ送信する。なお、図2中のコマンド受信部131等、サーバ装置100の各構成要素についての詳細は図3で説明する。
[1-3.実施形態に係るサーバ装置の構成]
 次に、実施形態に係る情報処理を実行する情報処理装置の一例であるサーバ装置100の構成について説明する。図3は、本開示の実施形態に係るサーバ装置の構成例を示す図である。
 図3に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、サーバ装置100は、サーバ装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
 通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークN(図2参照)と有線または無線で接続され、情報処理システム1に含まれる各装置との間で情報の送受信を行う。例えば、通信部110は、クライアント端末10等との間で情報の送受信を行う。
 記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、静的物体モデルデータ記憶部121と、静的物体シーンデータ記憶部122とを有する。なお、記憶部120は、静的物体モデルデータ記憶部121及び静的物体シーンデータ記憶部122に限らず、サービスを提供に必要な様々な情報を記憶する。例えば、記憶部120は、静的な物体の各々の仮想空間内における位置を示す情報を記憶する。記憶部120は、静的な物体の各々が仮想空間内のどの領域に含まれるかを示す情報を記憶する。
 実施形態に係る静的物体モデルデータ記憶部121は、静的物体のモデルに関するデータを記憶する。静的物体モデルデータ記憶部121は、建築物等、ゲーム実行中に物体の形状が変わらないモデルを記憶する。
 実施形態に係る静的物体シーンデータ記憶部122は、静的物体のシーンに関するデータを記憶する。静的物体シーンデータ記憶部122は、地形等のゲーム実行中に形状が変わらないシーンデータを記憶する。
 制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、サーバ装置100内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム等)がRAM等を作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
 図3に示すように、制御部130は、コマンド受信部131と、取得部132と、推定部133と、静的物体AS構築部134と、エンコード部135と、送信部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図3に示した接続関係に限られず、他の接続関係であってもよい。
 コマンド受信部131は、クライアント端末10等の外部の情報処理装置から各種情報を受け付ける。コマンド受信部131は、クライアント端末10に入力された情報をクライアント端末10から受信する。コマンド受信部131は、クライアント端末10に入力されたコマンドを示す情報をクライアント端末10から受信する。
 例えば、コマンド受信部131は、クライアントから静的物体のBVHを要求するコマンド(BVH要求コマンド)を、静的物体AS要求コマンドとして受け付け、静的物体AS構築部134に対してAS構築命令を発行する。コマンド受信部131は、広い世界(仮想空間)のどの領域のASを構築するべきかを知るために、プレイヤの位置情報を受信する。
 取得部132は、記憶部120から各種情報を取得する。取得部132は、コマンド受信部131が受信した情報を取得する。取得部132は、仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報を取得する。取得部132は、仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報を取得する。
 推定部133は、AS構築に関連する推定処理を実行する。推定部133は、第1の位置情報と第2の位置情報とに基づいて、複数物体のうち、第2の位置からの距離が所定範囲内となる近傍に位置する対象物体を推定する。例えば、推定部133は、プレイヤ等の位置(視点位置)から所定の範囲内に位置する領域を構築が必要な領域である対象領域として特定する。推定部133は、対象領域内に含まれる静的な物体を対象物体であると推定する。推定部133は、プレイヤの位置を示す情報と、静的な物体の各々の位置とに基づいて、複数の静的な物体のうち、プレイヤの位置からの距離が所定範囲内となる近傍に位置する静的な物体を対象物体として推定する。
 静的物体AS構築部134は、静的物体のASを構築する処理を実行する。静的物体AS構築部134は、コマンド受信部131からのAS構築命令を受け取ると、静的物体モデルデータ記憶部121と静的物体シーンデータ記憶部122からデータを読み込み、静的物体のASを構築する。例えば、静的物体AS構築部134は、静的物体を対象としてBVHを構築する。静的物体AS構築部134は、構築したASをエンコード部135に渡す。
 エンコード部135は、データのエンコードに関する処理を実行する。エンコード部135は、静的物体AS構築部134から受け取った静的物体ASデータを、ネットワークを通じて転送するためのデータにエンコードする。例えば、エンコード部135は、データ圧縮や、ネットワークのパケットを生成する。
 送信部136は、通信部110を介して、データを外部装置へ送信する。送信部136は、エンコード部135によりエンコードされたデータをクライアント端末10へ送信する。
 送信部136は、対象物体のレンダリングに用いる第1の詳細度の情報と、対象物体とは異なる他の物体のレンダリングに用い、第1の詳細度よりも詳細度が低い第2の詳細度の情報をクライアント端末10に送信する。送信部136は、所定範囲外の物体である他の物体のレンダリングに用いる第2の詳細度の情報をクライアント端末10に送信する。送信部136は、クライアント端末10との通信状況に応じて決定された詳細度の情報を、クライアント端末10に送信する。例えば、送信部136は、クライアント端末10との間の通信速度に応じて決定された詳細度の情報を、クライアント端末10に送信する。
 例えば、送信部136は、クライアント端末10との通信速度が所定の閾値以上である場合、第1の詳細度の情報を、クライアント端末10に送信する。例えば、送信部136は、クライアント端末10との通信速度が所定の閾値以上である場合、第1の詳細度の情報と第2の詳細度の情報とを、クライアント端末10に送信する。また、送信部136は、クライアント端末10との通信速度が所定の閾値未満である場合、第2の詳細度の情報を、クライアント端末10に送信する。
 送信部136は、第2の位置の移動により、第2の位置からの他の物体の距離が所定範囲内となる場合、他の物体のレンダリングに用いる第1の詳細度の情報をクライアント端末10に送信する。送信部136は、クライアント端末10とは異なる他のクライアント端末10がレンダリングに用いる情報にクライアント端末10がレンダリングに用いる情報が含まれる場合、他のクライアント端末10がレンダリングに用いる情報を、クライアント端末10がレンダリングに用いる情報としてクライアント端末10に送信する。
[1-4.実施形態に係るクライアント端末の構成]
 次に、実施形態に係る情報処理を実行する情報処理装置の一例であるクライアント端末10の構成について説明する。図4は、本開示の実施形態に係るクライアント端末の構成例を示す図である。
 図4に示すように、クライアント端末10は、通信部11と、入力処理部12と、表示部13と、音声出力部14と、記憶部15と、制御部16とを有する。
 通信部11は、例えば、NICや通信回路等によって実現される。そして、通信部11は、ネットワークN(図2参照)と有線または無線で接続され、情報処理システム1に含まれる各装置との間で情報の送受信を行う。例えば、通信部11は、サーバ装置100等との間で情報の送受信を行う。
 入力処理部12は、ユーザの各種操作による入力を受け付ける。入力処理部12は、ゲームコントローラ等の入力インターフェイスを通じてユーザの操作内容を受け取り、ゲームの処理を行う。
 例えば、入力処理部12は、タッチパネル機能により表示面(例えば表示部13)を介してユーザからの各種操作を受け付けてもよい。また、入力処理部12は、クライアント端末10に設けられたボタンや、クライアント端末10に接続されたキーボードやマウスからの各種操作を受け付けてもよい。入力処理部12は、マイク等を介して音声によるユーザの入力を受け付けてもよい。入力処理部12は、ユーザの発話による各種操作を受け付ける。
 表示部13は、情報を表示する。表示部13は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現されるタブレット端末等の表示画面であり、各種情報を表示するための表示装置である。
 表示部13は、各種のコンテンツの映像を表示する。表示部13は、ゲームの映像を表示する。表示部13は、ゲームサービスを提供するアプリケーション(ゲームアプリケーション)を介して情報を表示する。例えば、クライアント端末10は、ゲームアプリケーションを起動し、起動したゲームアプリケーションにより映像を表示する。
 音声出力部14は、音声を出力するスピーカーによって実現され、各種情報を音声として出力するための出力装置である。音声出力部14は、各種コンテンツの音声を音声出力する。音声出力部14は、ゲームの音声を音声出力する。例えば、音声出力部14は、表示部13に表示される情報に対応する音声を出力する。
 記憶部15は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部15は、図4に示すように、動的物体モデルデータ記憶部151と、動的物体シーンデータ記憶部152と、マテリアルデータ記憶部153と、フレームバッファ154とを有する。なお、記憶部15は、動的物体モデルデータ記憶部151、動的物体シーンデータ記憶部152、マテリアルデータ記憶部153に限らず、サービスを提供に必要な様々な情報を記憶する。例えば、記憶部15は、動的な物体の各々の仮想空間内における位置を示す情報を記憶する。記憶部15は、動的な物体の各々が仮想空間内のどの領域に含まれるかを示す情報を記憶する。
 実施形態に係る動的物体モデルデータ記憶部151は、動的物体のモデルに関するデータを記憶する。動的物体モデルデータ記憶部151は、キャラクタ等、ゲーム中に物体の形状が変化するモデルデータを記憶する。
 実施形態に係る動的物体シーンデータ記憶部152は、動的物体のシーンに関するデータを記憶する。動的物体シーンデータ記憶部152は、風によってたなびく草木等、地形に配置されているシーン内で動きのある物体を記憶する。
 実施形態に係るマテリアルデータ記憶部153は、マテリアルに関するデータを記憶する。マテリアルデータ記憶部153は、各モデルで利用されているテクスチャ情報や物体の色情報等を記憶する。
 実施形態に係るフレームバッファ154は、ディスプレイ(表示部13)に対して画を表示するために最終出力画を保持する記憶領域である。
 また、記憶部15は、例えば、クライアント端末10にインストールされているアプリケーションに関する情報、例えばプログラム等を記憶する。例えば、記憶部15は、ゲームサービスの提供を実現する各種のアプリケーション(プログラム)の情報を記憶する。
 制御部16は、コントローラ(controller)であり、例えば、CPUやMPU等によって、クライアント端末10内部の記憶部15などの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、情報処理を行うアプリケーション(例えばゲームアプリケーション)のプログラムが含まれる。また、制御部16は、コントローラ(controller)であり、例えば、ASICやFPGA等の集積回路により実現される。
 図4に示すように、制御部16は、コマンド送信部161と、受信部162と、処理部163とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部16の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部16が有する各処理部の接続関係は、図4に示した接続関係に限られず、他の接続関係であってもよい。
 コマンド送信部161は、通信部11を介して、外部の情報処理装置へ種々の情報を送信する。コマンド送信部161は、サーバ装置100へ各種情報を送信する。コマンド送信部161は、入力処理部12により受け付けられたユーザの操作に基づく情報をサーバ装置100へ送信する。
 コマンド送信部161は、サーバ装置100に対して静的物体ASを要求する。コマンド送信部161は、サーバ装置100に対して静的物体ASの提供を要求する要求情報として、静的物体AS要求コマンドをサーバ装置100に送信する。
 受信部162は、通信部11を介して、サーバ装置100から情報を受信する。受信部162は、仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とに基づいて送信され、複数物体のうち、第2の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信する。受信部162は、対象物体に含まれない複数物体のレンダリングに用いる、第1の情報よりも詳細度の低い第2の情報を受信する。
 受信部162は、対象物体のレイトレーシングに用いる第1の情報を受信する。受信部162は、対象物体に関するアクセラレーションストラクチャを示す情報を、第1の情報として受信する。受信部162は、階層構造を有する第1の情報を受信する。受信部162は、対象物体に関するBVHを示す情報を、第1の情報として受信する。
 受信部162は、仮想空間におけるユーザの操作によって決定される視点位置である第2の位置の近傍に位置する対象物体のレンダリングに用いる第1の情報を受信する。受信部162は、第2の位置からの距離が所定の範囲内となる対象物体のレンダリングに用いる第1の情報を受信する。
 受信部162は、第2の位置を含む領域内に位置する対象物体のレンダリングに用いる第1の情報を受信する。受信部162は、第2の位置を含む領域との位置関係が所定の条件を満たす他の領域内に位置する対象物体のレンダリングに用いる第1の情報を受信する。受信部162は、仮想空間における静的な物体である対象物体のレンダリングに用いる第1の情報を受信する。
 処理部163は、レンダリングに関する各種処理を実行する。処理部163は、第1の情報に基づいて、仮想空間のレンダリングを行う。処理部163は、第1の情報に基づいて、仮想空間のレイトレーシングを行う。処理部163は、対象物体に関するアクセラレーションストラクチャを示す情報に基づいて、仮想空間のレイトレーシングを行う。処理部163は、階層構造に基づいて、仮想空間のレイトレーシングを行う。処理部163は、対象物体に関するBVHを示す情報に基づいて、仮想空間のレイトレーシングを行う。
 処理部163は、第1の情報と、自装置内に保有する第2の情報とに基づいて、仮想空間のレンダリングを行う。処理部163は、第1の情報と、仮想空間における対象物体とは異なる他の物体のレンダリングに用いる第2の情報とに基づいて、仮想空間のレンダリングを行う。処理部163は、第1の情報と、動的な物体である他の物体のレンダリングに用いる第2の情報とに基づいて、仮想空間のレンダリングを行う。処理部163は、第1の情報と、第2の位置の近傍に位置する他の物体のレンダリングに用いる第2の情報とに基づいて、仮想空間のレンダリングを行う。
 処理部163は、データ管理部164と、デコード部165と、動的物体AS構築部166と、AS結合部167と、パストレーシング実行部168とを含む。
 データ管理部164は、データ管理に関する各種処理を実行する。データ管理部164は、カメラに関するデータを管理するカメラデータ管理部、及びシーンに関するデータを管理するシーンデータ管理部として機能する。例えば、データ管理部164は、入力処理部12によって計算された結果、カメラ(視点位置)がシーン内のどこに移動したかを管理する。
 データ管理部164は、ユーザの入力の結果、ゲーム内のキャラクタがシーン内のどこに移動したかを管理する。データ管理部164は、動的物体のASを構築する際に、プレイヤの位置の近傍のシーンデータのASを構築するため、シーン内のどの領域がAS構築対象になるかを、動的物体AS構築部166に伝える。
 デコード部165は、データのデコードに関する各種処理を実行する。デコード部165は、サーバ装置100から受け取った静的物体ASデータをデコードし、クライアントで利用できる形にデコードする。デコード部165は、圧縮されたデータの解凍等を行う。
 動的物体AS構築部166は、動的物体のASを構築する処理を実行する。動的物体AS構築部166は、動的物体モデルデータ記憶部151と動的物体シーンデータ記憶部152からデータを読み込み、動的物体ASを構築する。例えば、動的物体AS構築部166は、動的物体を対象としてBVHを構築する。
 AS結合部167は、複数のASを結合する結合処理を実行する。AS結合部167は、サーバ装置100から得た静的物体ASデータと、自装置で生成した動的物体ASデータを結合して一つのASデータにする。AS結合部167は、静的物体ASデータと、動的物体ASデータとをマージすることにより、マージ後ASを生成する。例えば、AS結合部167は、静的物体を対象としてBVHと、動的物体を対象としてBVHを結合することにより、マージ後BVHを生成する。
 パストレーシング実行部168は、パストレーシングに関する処理を実行する。パストレーシング実行部168は、パストレーシングを実行する。パストレーシング実行部168は、マージ後ASを用いて、パストレーシングを実行する。パストレーシング実行部168は、マージ後ASを用いて、各物体に当たった光線の反射をシミュレーションし、その結果を基に画面に出す色を決定する。
 パストレーシング実行部168は、AS結合部167から受け取ったAS(マージ後AS)を利用してパストレーシングを実行し、最終的な画像を生成する。パストレーシング実行部168は、生成した画像をフレームバッファに書き込む処理を行う。パストレーシング実行部168は、視点位置(カメラ)から放った光線(レイ)が物体に衝突した際に、衝突した物体の色情報をマテリアルデータ記憶部153から得る。
 また、処理部163は、上記以外にも各種の処理を実行する。処理部163は、表示部13を介して各種情報を表示する。例えば、処理部163は、表示部13の表示を制御する。処理部163は、音声出力部14を介して各種情報を音声出力する。例えば、処理部163は、音声出力部14の音声出力を制御する。
 処理部163は、受信部162が受信した情報を出力する。処理部163は、コンテンツの映像を出力する。処理部163は、受信部162が受信した映像を、表示部13に表示させたり、音声出力部14により音声出力させたりする。処理部163は、表示部13を介して映像を表示する。処理部163は、音声出力部14を介して映像の音声を音声出力する。
 なお、上述した制御部16による各処理は、例えば、JavaScript(登録商標)などにより実現されてもよい。また、上述した制御部16による情報処理等の処理は、所定のアプリケーションにより行われる場合、制御部16の各部は、例えば、所定のアプリケーションにより実現されてもよい。例えば、制御部16による情報処理等の処理は、外部の情報処理装置から受信した制御情報により実現されてもよい。例えば、上述した表示処理が所定のアプリケーション(例えばゲームアプリケーション等)により行われる場合、制御部16は、例えば、所定のアプリや専用アプリを制御するアプリ制御部を有してもよい。
[1-5.実施形態に係る情報処理の手順]
 次に、図5及び図6を用いて、実施形態に係る各種情報処理の手順について説明する。
 まず、図5を用いて、本開示の実施形態に係るサーバ装置に係る処理の流れについて説明する。図5は、本開示の実施形態に係るサーバ装置の処理手順を示すフローチャートである。
 図5に示すように、サーバ装置100は、仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報を取得する(ステップS101)。また、サーバ装置100は、仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報を取得する(ステップS102)。そして、サーバ装置100は、第1の位置情報と前2の位置情報とに基づいて、複数物体のうち、第2の位置からの距離が所定範囲内となる近傍に位置する対象物体を推定する(ステップS103)。そして、サーバ装置100は、対象物体のレンダリングに用いる第1の詳細度の情報と、対象物体とは異なる他の物体のレンダリングに用い、第1の詳細度よりも詳細度が低い第2の詳細度の情報を外部端末に送信する(ステップS104)。例えば、サーバ装置100は、対象物体のレンダリングに用いる第1の詳細度の情報と、他の物体のレンダリングに用いる第2の詳細度の情報をクライアント端末10に送信する。
 次に、図6について説明する。図6は、本開示の実施形態に係るクライアント端末の処理手順を示すフローチャートである。
 図6に示すように、クライアント端末10は、仮想空間における複数物体のうち、仮想空間におけるユーザの操作によって決定される第2の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信する(ステップS201)。クライアント端末10は、第1の情報に基づいて、仮想空間のレンダリングを行う(ステップS202)。例えば、クライアント端末10は、サーバ装置100から受信した第1の情報と、自装置内で生成した第2の情報とに基づいて、仮想空間のレンダリングを行う。
[1-6.処理の流れ具体例]
 ここから、処理の流れの具体例について説明する。なお、上述した内容と同様の点については適宜説明を省略する。以下では、ユーザがプレイしているゲームの仮想空間(ゲームシーン)を、ゲームシーンVS1~VS5として説明するが、区別せずに説明する場合、「ゲームシーンVS」と記載する場合がある。
 まず、図7を用いて、以下の説明の前提となる点等について説明する。図7に示すようにゲームシーンVSは、7×7の領域(「グリッド」ともいう)、すなわち49個の領域に分割された場合を示す。以下では、各領域を区別して説明するための便宜上、ゲームシーンVS中の各領域を領域AR11~AR77と符号を付して説明する場合がある。例えば、ゲームシーンVSのうち、左上の領域が領域AR11であり、各領域の符号は右に行くほどAR12、AR13…AR17と一桁目の数字が1増加する。また、下に行くほどAR21、AR31…AR71と二桁目の数字が1増加し、左上の領域AR11の対角に位置する右下の領域がAR77となる。なお、上記AR11~AR77の符号のうち一部を図7に図示し、その他の図では図示を省略する。以下では、AR11~AR77を区別せずに説明する場合、「領域AR」と記載する場合がある。
 また、ゲームシーンVSの各領域AR中に示す数字はその領域について生成されるASの詳細度を示す。例えば、領域AR中の数字が「0」である場合、その領域ARがAS生成の対象となっておらず、その領域ARに対応するASが生成されていないことを示す。また、例えば、領域AR中の数字が「1」である場合、その領域ARは現在のシーンをレンダリングするためにASが必要な領域であることを示す。また、例えば、領域AR中の数字が「2」である場合、その領域ARはプレイヤの移動に伴い将来ASが必要になる可能性のある領域であることを示す。各図では、領域AR内に数字を配置するとともに、数字に応じて異なるハッチングを付すことで、各数字に対応する領域ARを識別可能に示す。
 上記前提を基に、以下処理の流れの具体例を説明する。図7の例では、プレイヤP1は、ゲームシーンVSの中央の領域AR44に位置する場合を示す。図7は、ゲームの初期状態を示しており、全領域ARの数字が「0」であり、ASが全く生成されていない状態を示す。図7は、ゲームシーンVSの中央付近にプレイヤP1が存在している状態である。
 ユーザは、この状態ではまだゲームを開始することはできない。クライアント端末10は、サーバ装置100に対してプレイヤP1の位置情報とともに静的物体ASの生成要求を送信する。サーバ装置100は、静的物体のASの構築が完了すると、構築が完了したASをクライアント端末10へ送信する。
 図8に示すように、サーバ装置100は、プレイヤP1の位置と、各領域ARの位置関係を基にASの構築が必要な領域ARを特定する。図8は、領域とASの関係の一例を示す図である。例えば、サーバ装置100は、プレイヤP1の位置から所定の範囲内に位置する領域ARを構築が必要な領域である対象領域として特定する。そして、サーバ装置100は、対象領域内に位置する静的な物体を対象物体であると推定する。
 図8の例では、サーバ装置100は、ゲームシーンVS2で数字が「1」である領域ARを対象領域として特定する。具体的には、サーバ装置100は、ゲームシーンVSの領域AR33~AR35、AR43~AR45、AR53~AR55の9個の領域ARを対象領域として特定する。このように、サーバ装置100は、プレイヤP1の位置(視点位置)を含む領域AR44と、その周辺の領域AR33~AR35、AR43、AR45、AR53~AR55を対象領域として特定する。そして、サーバ装置100は、領域AR33~AR35、AR43~AR45、AR53~AR55内に位置する静的な物体を対象物体であると推定する。
 サーバ装置100は、対象領域に位置する静的な物体(対象物体)について第1の詳細度でASを生成する。例えば、サーバ装置100は、図9に示すオリジナルモデルであるモデルMD1に対するASを構築する。図9は、複数のレベルのモデルの一例を示す図である。図9に示すモデルMD1~MD3の3つのモデルは、詳細度に応じた複数のレベルのモデルを示す。図9に示すモデルMD1~MD3の3つのモデルは、ゲームで一般的に利用されている手法の複数のレベルのモデル(LOD(Level of Detail)モデル)の一例を示す。
 モデルMD1は、第1のレベルのモデルを示す。モデルMD1は、モデルMD1~MD3のうち、最もレベル(詳細度)が高い第1のレベルのモデル(オリジナルモデル)である。例えば、モデルMD1は、第1の詳細度のASを生成する際に用いられる。
 モデルMD2は、第1のレベルよりもレベル(詳細度)が低い第2のレベルのモデルを示す。モデルMD2は、モデルMD1~MD3のうち、モデルMD1の次に詳細度が高いモデルである。例えば、モデルMD3は、第2のレベルよりもレベル(詳細度)が低い第3のレベルのモデルを示す。モデルMD3は、モデルMD1~MD3のうち、最も詳細度が低いモデルである。例えば、モデルMD2やモデルMD3は、第1の詳細度よりも詳細度が低い第2の詳細度のASを生成する際に用いられる。
 ここで、ASの生成の一例を、図10を用いて説明する。図10は、アクセラレーションストラクチャの一例を示す概念図である。図10では、モデルMD2の一例として説明する。図10の中央の図は、モデルMD2の外形を囲むバウンディングボックスを配置した状態を示す。図10の右側の図は、モデルMD2を外形に沿って、複数の領域に分割した状態を示す。
 領域への分割が詳細である程、詳細度が高いASが生成される。例えば、第1のレベルのモデルMD1の場合、図10に示す第2のレベルのモデルMD2よりもより細かい領域に分割されることとなり、モデルMD2の場合よりも詳細度が高いASが生成される。また、第3のレベルのモデルMD3の場合、図10に示す第2のレベルのモデルMD2よりもより粗い領域に分割されることとなり、モデルMD3の場合よりも詳細度が低いASが生成される。このように、詳細度は、情報の生成に用いられるモデルの領域の分割の細かさに対応し、分割が細かい程高くなり、分割が粗い程低くなる。例えば、詳細度は、情報の細かさに対応し、詳細度が高いとは、情報の生成に用いられるモデルのレベルが所定値以上であり、詳細度が低いとは、情報の生成に用いられるモデルのレベルが所定値未満である。例えば、詳細度の高い情報とは、第1のレベル以上のモデルを用いて生成されたAS等の情報であり、詳細度の低い情報とは、第1のレベル未満のモデルを用いて生成されたAS等の情報である。なお、上記は一例に過ぎず、ASの生成に関する点については、任意の手法により行われればよく、詳細な説明は省略する。
 また、サーバ装置100は、特定した対象領域の周囲に位置する領域ARを、将来ASが必要になる可能性のある領域(「周辺領域」ともいう)として特定する。図8の例では、サーバ装置100は、ゲームシーンVS2で数字が「2」である領域ARを周辺領域として特定する。そして、サーバ装置100は、周辺領域内に位置する物体を所定範囲外の物体(周辺物体)として推定する。具体的には、サーバ装置100は、ゲームシーンVSの領域AR22~AR26、AR32、AR36、AR42、AR46、AR52、AR56、AR62~AR66の16個の領域ARを周辺領域として特定する。そして、サーバ装置100は、領域AR22~AR26、AR32、AR36、AR42、AR46、AR52、AR56、AR62~AR66内に位置する物体を周辺物体として推定する。
 周辺領域のASに関してはネットワークを流れるデータ量を削減するため、サーバ装置100は、オリジナルモデルに対するASではなく、詳細度が低いモデルを用いて詳細度の低いASを生成し、クライアント端末10に配信する。例えば、サーバ装置100は、周辺領域については、第1の詳細度のASではなく、第2の詳細度のASを生成し、クライアント端末10に配信する。すなわち、サーバ装置100は、周辺領域に位置する静的な物体(周辺物体)について第2の詳細度でASを生成する。例えば、サーバ装置100は、図9に示すモデルMD1よりも詳細度が低いモデルMD2またはモデルMD3を用いてASを構築する。
 サーバ装置100は、対象領域に位置する静的な物体について生成した第1の詳細度の静的物体ASと、周辺領域に位置する静的な物体について生成した第2の詳細度の静的物体ASとを、クライアント端末10に送信する。
 クライアント端末10は、動的物体のASを生成する。例えば、クライアント端末10は、プレイヤP1の位置と、各領域ARの位置関係を基にASの構築が必要な対象領域を特定する。そして、サーバ装置100は、対象領域内に位置する動的な物体を推定する。例えば、クライアント端末10は、対象領域に位置する動的な物体について動的物体ASを生成する。例えば、クライアント端末10は、対象領域に位置する動的な物体について、第1のレベルのモデルM1を用いて第1の詳細度の動的物体ASを生成する。なお、クライアント端末10は、周辺領域に位置する動的な物体について動的物体ASを生成してもよい。この場合、クライアント端末10は、プレイヤP1の位置と、各領域ARの位置関係を基に周辺領域を特定する。例えば、クライアント端末10は、周辺領域に位置する動的な物体について、第2のレベルのモデルM2を用いて第2の詳細度の動的物体ASを生成する。
 クライアント端末10は、生成した動的物体ASと、サーバ装置100から受信した静的物体ASとをマージすることによりゲームシーンVS全体に対応するAS(マージ後AS)を構築する。この点について図11~図13を用いて説明する。図11は、動的物体のアクセラレーションストラクチャの一例を示す図である。図12は、静的物体のアクセラレーションストラクチャの一例を示す図である。図13は、アクセラレーションストラクチャのマージの一例を示す図である。
 図11は、クライアント端末10で生成した動的物体ASの一例であるBVHを概念的に示す。ASはモデル単位で構築される。図11では、r1、r2、r3の各々がモデルに対応する。また、r1の下に続く木構造がr1に対応するモデル(物体)を分割した領域に対応する。すなわち、r1、r2、r3の各々の配下の木構造については、どのレベルを用いたかに応じて、ノードの数等が異なり詳細度が変動することとなる。
 図12は、サーバ装置100で生成した静的物体のASの一例であるBVHを概念的に示す。動的物体と同様にASはモデル単位で構築される。図11では、R1、R2、R3の各々がモデルに対応する。また、R1の下に続く木(ツリー)構造がR1に対応するモデル(物体)を分割した領域に対応する。すなわち、R1、R2、R3の各々の配下の木構造については、どのレベルを用いたかに応じて、ノードの数等が異なり詳細度が変動することとなる。
 図13に示すように、クライアント端末10は、サーバ装置100から受け取った静的物体ASと自身で生成した動的モデルASをマージする。図13では、クライアント端末10が図11に示す動的物体ASと、図12に示す静的物体ASとをマージしたマージ後ASを生成した場合を示す。
 ASの特徴として、近い場所に存在するオブジェクト同士をASの木構造的にも近い場所に配置する事によってレイの交差判定時に効率的に計算を行う事が可能になるというASの一般的な特徴がある。そのため、クライアント端末10は、図7で説明したグリッド(領域AR)の単位でノードを新たに用意し、各グリッド(領域AR)に存在する静的モデル(静的物体)のAS及び動的モデル(動的物体)のASを各グリッド(領域AR)用のノードにぶら下げる。
 例えば、図13に示すGrid1、Grid2、…Grid n等は、各々図7に示す領域AR(グリッド)の各々に対応する。例えば、Grid1が領域AR11に対応する場合、図13に示すマージ後AS中のGrid1には領域AR11に位置する動的物体のASや静的物体のASが接続される。
 また、クライアント端末10は、各グリッド(領域AR)のノードを統括するためのRootノードを追加し、Rootノードの下にグリッド(領域AR)単位のノードを下げる。これにより、クライアント端末10は、ゲームシーンVS全体で一つのASを構築してレイトレーシング手法での交差判定処理に用いる。なお、図13では簡単化のために、各グリッド(領域AR)に存在する静的物体AS及び動的物体ASが各々1個ずつしか記載をしていないが、各グリッド(領域AR)に対応するGrid1、Grid2、…Grid n等には、静的物体AS及び動的物体ASの各々について複数個のASがノードにぶら下がってよい。
 上記のように、地形や建築物等のシーン内の静的物体のASをサーバ装置100で生成し、キャラクタ等の動的物体のASをクライアント端末10で生成する。例えば、静的物体のASに関しては一旦生成してしまえば構造が変化することがないため一度の生成のみでよく、ネットワークを通じてある程度の時間をかけて転送してもよい。一方で、動的物体に関しては、例えば60fps(frames per second)等のリアルタイム性が求められるため、クライアント端末10側で生成を行う。
[1-6-1.プレイヤの移動]
 次にプレイヤの移動に伴う処理について、図14及び図15を用いて説明する。図14は、プレイヤの移動と領域の関係の一例を示す図である。図15は、プレイヤの移動と領域の関係の他の一例を示す図である。なお、上述した内容と同様の点については適宜説明を省略する。また、図15中の説明用情報INF1は、図14及び図15でのハッチングの意味などを示すものであり、図15のみに図示するが、図14及び図15に共通の内容である。
 まず、図14を用いて説明する。図14では、ゲームシーンVS3中の移動方向D1に示すように、プレイヤP1が領域AR44から領域AR46へ移動する場合を示す。クライアント端末10は、プレイヤP1の移動先で必要なASをサーバ装置100から取得する。上述したように、数字が「2」である領域については既に粗い(第2の詳細度の)モデルのASを取得済みであるが、クライアント端末10は、ゲームシーンVS3で数字が「2´」である領域AR(「移動先領域」ともいう)について、詳細度の高い第1のレベルのモデルを基に生成された第1の詳細度のASをサーバから取得する。図14では、クライアント端末10は、移動先領域である領域AR36、AR46、AR56について、詳細度の高い第1のレベルのモデルを基に生成された第1の詳細度のASをサーバから取得する。
 なお、移動先領域の特定については、サーバ装置100が行ってもよいし、クライアント端末10が特定し、移動先領域を指定してサーバ装置100へ要求してもよい。例えば、クライアント端末10がプレイヤP1の移動先となる領域を推定(予測)し、プレイヤP1の移動よりも前に推定した領域の情報をサーバ装置100へ要求してもよい。例えば、クライアント端末10は、プレイヤP1の移動方向と移動速度に基づいて、移動により、所定時間経過後にプレイヤP1が領域AR46に位置すると推定してもよい。
 また、サーバ装置100ではプレイヤP1の移動に伴い、さらに広い領域に対してのASを先回りして生成してもよい。この点について、図15を用いて説明する。サーバ装置100は、ゲームシーンVS4で数字が「3」である領域AR(「先回り領域」ともいう)について、クライアント端末10から要求される前にASの生成を開始する。図15では、サーバ装置100は、先回り領域である領域AR27、AR37、AR47、AR57、AR67について、クライアント端末10から要求される前にASの生成を開始する。
[1-7.応用例(マルチプレイゲーム)]
 次に、応用例として、マルチプレイゲームにおける処理例について、図16を用いて説明する。図16は、マルチプレイゲームへの適用の一例を示す図である。図16では、3人のユーザがマルチプレイゲームを行っている場合を示す。なお、上述した内容と同様の点について適宜説明を省略する。
 一般的なビデオストリーミング型のネットワークゲームにおいては、一人のユーザに対してサーバ側で一つのコンソール機器と同等なコンピューティングパワーを必要とする。そのため、ユーザとサーバとがN:N(ユーザ:サーバ)の関係になっており経済効率性には改善の余地がある。ここで、マルチプレイゲームというユースケースにおいては、サーバ側で複数ユーザの情報を集約して持つことが可能となるため、情報処理システム1による処理をマルチプレイゲームに対しても適用する。
 例えば、プレイヤ同士が近接して静的物体のASのグリッド(領域AR)が重なるような状況においては、サーバ装置100は、それぞれのプレイヤに対して静的物体のASの計算を行うのではなく、全プレイヤで共通の静的物体のASの計算を行う。これにより、情報処理システム1は、サーバ側の計算コストの最適化を行う。
 例えば、図16のゲームシーンVS5のような状況の場合に、プレイヤP1のASの領域UA1とプレイヤP2のASの領域UA2とは、重複する部分がある。具体的には、領域UA1と領域UA2とは、重畳領域OA1に示すように、領域AR32、AR33、AR42、AR43の4個の領域AR(グリッド)が重なる状況になっている。そのため、情報処理システム1では、重畳領域OA1の領域AR32、AR33、AR42、AR43に関してはプレイヤ毎にASの計算を行うのではなく、サーバ装置100で一回のみ計算を行って、プレイヤP1及びプレイヤP2の両方のプレイヤに対してASを配信する。例えば、サーバ装置100は、領域AR32、AR33、AR42、AR43に対応する静的物体のASを生成し、プレイヤP1に対応するユーザのクライアント端末10に送信する。そして、サーバ装置100は、プレイヤP1に対応するユーザのクライアント端末10に送信するために生成した領域AR32、AR33、AR42、AR43に対応する静的物体のASを、プレイヤP2に対応するユーザのクライアント端末10に対しても送信する。なお、プレイヤP1のASの領域UA1とプレイヤP3のASの領域UA3とは、重畳領域OA2に示すように、領域AR44が重なる状況になっているため、情報処理システム1では、重畳領域OA1と同様の処理が行われる。例えば、サーバ装置100は、領域AR44に対応する静的物体のASを生成し、プレイヤP1に対応するユーザのクライアント端末10に送信する。そして、サーバ装置100は、プレイヤP1に対応するユーザのクライアント端末10に送信するために生成した領域AR44に対応する静的物体のASを、プレイヤP3に対応するユーザのクライアント端末10に対しても送信する。
 これにより、情報処理システム1では、トータルの計算コストをN:M(ユーザ:サーバ)(N>M)の関係にでき、経済効率性を上げることができる。上述した処理により、情報処理システム1は、マルチプレイゲームにおけるサーバ計算コストを削減することができる。このように、情報処理システム1は、マルチプレイゲームにおけるサーバ計算コストの効率化することができる。
 上記のように、多人数マルチプレイゲームにおいては複数のプレイヤが同じような場所に存在する事がある。そのため、情報処理システム1では、同じ場所や地形のオブジェクトのASは複数プレイヤ対して一回のみ行い、その計算結果をマルチユーザに配信する事によりサーバ側のAS計算コストを抑えることができる。情報処理システム1では、複数クライアントに対して静的物体のAS(アクセラレーションストラクチャ)を配信することで、利用者全体の処理コストの軽減を見込むことが出来、スケールメリットを生かすことが可能である。
[1-8.ネットワーク速度が低下したケース]
 次に、ネットワーク速度が低下したケースについて説明する。以下に示す処理は、不安定なネットワーク回線に対する施策としては有用である。例えば、プレイヤの移動に伴い、移動先のASをサーバから取得する際、ユーザのネットワーク速度(環境)が一時的に低速になるエラーケースが発生しうる。ネットワークが低速になってサーバ装置100からのASの取得が間に合わなかった際には、詳細度の高いモデルのASでレンダリングするのではなく、詳細度の低いモデルとそのASを利用してレンダリングを行う。例えば、サーバ装置100は、ネットワークの速度が所定の閾値未満になった場合、第2の詳細度のASを生成し、クライアント端末10に送信する。この場合、レンダリングの品質も低下することになるが、そのうちに詳細度の高いモデルのASの取得が完了すれば、クライアント端末10は、詳細度の高いモデルのASに切り替えて品質の高いレンダリングを行う。
 上記のように、ユーザ環境によっては一時的にネットワーク回線が不安定になりASの配信が間に合わなくなるケースもある。そのため、情報処理システム1では、同じオブジェクトに対して複数の詳細度のASの生成を行い、詳細度が低くデータサイズの小さなAS(例えば第2の詳細度のAS)を先に配信しておく。例えばASは詳細度が高い程、データサイズも大きくなる。情報処理システム1では、実際にネットワーク回線が一時的に低速になってしまった場合、詳細度の低いASを一時的に用いる。このように、情報処理システム1では、通信環境に応じて粗い(詳細度の低い)ASを生成し、送信する等、通信環境に応じて詳細度の異なるASを生成したり、送ったりする。これにより、情報処理システム1は、通信環境に応じて適切にレンダリングを行うことができる。
 上述した例では、図7の数字が「2」である領域は粗いモデル(第2の詳細度)の静的物体のASをサーバ装置100が生成し、配信する。そして、ネットワークの速度が一時的に低速になる等により、詳細なモデルに対する静的物体のASのダウンロードが間に合わなかった際に、その粗いモデル(第2の詳細度)の静的物体のASを一時的に利用する場合を説明した。以下ではその変形例について説明する。
[1-8-1.変形例]
 変形例における情報処理システム1では、ネットワークの速度が低下して詳細なモデルのASのダウンロードが間に合わなくなった際には、クライアント端末10側で粗いモデル(第2の詳細度)の静的物体のASを生成して利用する。この場合、クライアント端末10は、静的物体モデルデータ記憶部121及び静的物体シーンデータ記憶部122のデータを保有する。ここで、サーバ装置100側で静的物体のASを生成する目的はASの生成そのものが処理負荷のかかるもので、その処理負荷の一部(静的物体のAS)をサーバ装置100側で肩代わりすることにより、クライアント端末10単体では実現できないような高品位なレンダリングを行うことである。一方で、一時しのぎを目的とした粗いモデル(第2の詳細度)のASの生成であれば、そこまでコンピューティングパワーを必要とはしない。そのため、変形例における情報処理システム1では、ネットワーク速度が一時的に低速になってしまった際には、クライアント端末10側で静的物体の粗いモデル(第2の詳細度)のASを構築する。
[2.その他の実施形態]
 上述した各実施形態に係る処理は、上記各実施形態や変形例以外にも種々の異なる形態(変形例)にて実施されてよい。
[2-1.その他の構成例]
 上記の情報処理システム1の装置構成は一例に過ぎず、情報処理システム1は上述した映像配信、按分処理等が実行可能であれば任意の装置構成が採用可能である。
[2-2.その他]
 また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
 また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
[3.本開示に係る効果]
 上述のように、本開示に係る情報処理装置(実施形態ではクライアント端末10)は、受信部(実施形態では受信部162)と、処理部(実施形態では処理部163)とを備える。受信部は、仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とに基づいて送信され、複数物体のうち、第2の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信する。処理部は、第1の情報に基づいて、仮想空間のレンダリングを行う。
 このように、本開示に係る情報処理装置は、仮想空間における複数物体のうちユーザの操作によって決定される位置の近傍の対象物体のレンダリングに用いる第1の情報を受信し、受信した第1の情報を用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、受信部は、対象物体のレイトレーシングに用いる第1の情報を受信する。処理部は、第1の情報に基づいて、仮想空間のレイトレーシングを行う。このように、情報処理装置は、受信した第1の情報を用いてレイトレーシングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、受信部は、対象物体に関するアクセラレーションストラクチャを示す情報を、第1の情報として受信する。処理部は、対象物体に関するアクセラレーションストラクチャを示す情報に基づいて、仮想空間のレイトレーシングを行う。このように、情報処理装置は、受信したアクセラレーションストラクチャを示す情報を用いてレイトレーシングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、受信部は、階層構造を有する第1の情報を受信する。処理部は、階層構造に基づいて、仮想空間のレイトレーシングを行う。このように、情報処理装置は、第1の情報の階層構造に基づいてレイトレーシングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、受信部は、対象物体に関するBVHを示す情報を、第1の情報として受信する。処理部は、対象物体に関するBVHを示す情報に基づいて、仮想空間のレイトレーシングを行う。このように、情報処理装置は、受信した対象物体に関するBVHを示す情報を用いてレイトレーシングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、受信部は、対象物体に含まれない複数物体のレンダリングに用いる、第1の情報よりも詳細度の低い第2の情報を受信する。このように、本開示に係る情報処理装置は、対象物体に含まれない複数物体のレンダリングに用いる第2の情報を受信し、受信した第2の情報を用いて複数物体に関するレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、受信部は、第2の位置からの距離が所定の範囲内となる対象物体のレンダリングに用いる第1の情報を受信する。このように、本開示に係る情報処理装置は、第2の位置からの距離が所定の範囲内に位置する対象物体のレンダリングに用いる第1の情報を受信し、受信した第1の情報を用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、受信部は、第2の位置を含む領域内に位置する対象物体のレンダリングに用いる第1の情報を受信する。このように、本開示に係る情報処理装置は、第2の位置を含む領域内に位置する対象物体のレンダリングに用いる第1の情報を受信し、受信した第1の情報を用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、詳細度は、領域の分割の細かさに対応し、詳細度が高いとは、前記情報の生成に用いられるモデルのレベルが所定値以上であり、詳細度が低いとは、前記情報の生成に用いられる前記モデルのレベルが所定値未満である。このように、本開示に係る情報処理装置は、情報の細かさに対応する詳細度の情報を受信し、受信した情報を用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、受信部は、仮想空間における静的な物体である対象物体のレンダリングに用いる第1の情報を受信する。このように、本開示に係る情報処理装置は、静的な物体のレンダリングに用いる第1の情報を受信し、受信した第1の情報を用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、処理部は、第1の情報と、自装置内に保有する第2の情報とに基づいて、仮想空間のレンダリングを行う。このように、本開示に係る情報処理装置は、自装置が保有する第2の情報と、他の装置から受信した第1の情報とを用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、処理部は、第1の情報と、仮想空間における対象物体とは異なる他の物体のレンダリングに用いる第2の情報とに基づいて、仮想空間のレンダリングを行う。このように、本開示に係る情報処理装置は、第1の情報が対象とする物体とは異なる物体を対象とする第2の情報と、第1の情報とを用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、処理部は、第1の情報と、動的な物体である他の物体のレンダリングに用いる第2の情報とに基づいて、仮想空間のレンダリングを行う。このように、本開示に係る情報処理装置は、動的な物体を対象とする第2の情報と、第1の情報とを用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、処理部は、第1の情報と、第2の位置の近傍に位置する他の物体のレンダリングに用いる第2の情報とに基づいて、仮想空間のレンダリングを行う。このように、本開示に係る情報処理装置は、第2の位置の近傍に位置する他の物体のレンダリングに用いる第2の情報と、第1の情報とを用いてレンダリングの処理を行うことで、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 上述のように、本開示に係る情報処理装置(実施形態ではサーバ装置100)は、取得部(実施形態では取得部132)と、推定部(実施形態では推定部133)と、送信部(実施形態では送信部136)とを備える。取得部は、仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とを取得する。推定部は、第1の位置情報と第2の位置情報とに基づいて、複数物体のうち、第2の位置からの距離が所定範囲内となる近傍に位置する対象物体を推定する。送信部は、対象物体のレンダリングに用いる第1の詳細度の情報と、対象物体とは異なる他の物体のレンダリングに用い、第1の詳細度よりも詳細度が低い第2の詳細度の情報を外部端末に送信する。
 このように、本開示に係る情報処理装置は、ユーザの操作によって決定される第2の位置との位置関係に応じて詳細度が異なるレンダリングに用いる情報を外部装置に提供することにより、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、送信部は、所定範囲外の物体である他の物体のレンダリングに用いる第2の詳細度の情報を外部端末に送信する。このように、本開示に係る情報処理装置は、所定範囲外の物体については詳細度が低い情報を提供することで、物体の位置に応じて、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、送信部は、外部端末との通信状況に応じて決定された詳細度の情報を、外部端末に送信する。このように、本開示に係る情報処理装置は、通信状況に応じた詳細度の情報を提供することで、通信状況に応じてレンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、送信部は、第2の位置の移動により、第2の位置からの他の物体の距離が所定範囲内となる場合、他の物体のレンダリングに用いる第1の詳細度の情報を外部端末に送信する。このように、本開示に係る情報処理装置は、第2の位置の移動に応じて情報を提供することで、物体の位置に応じて、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
 また、送信部は、外部端末とは異なる他の外部端末がレンダリングに用いる情報に外部端末がレンダリングに用いる情報が含まれる場合、他の外部端末がレンダリングに用いる情報を、外部端末がレンダリングに用いる情報として外部端末に送信する。このように、本開示に係る情報処理装置は、他の装置に提供した情報が再利用可能である場合、その情報を提供することで、処理負荷を抑制しつつ、レンダリングに関連する処理の柔軟な実行を可能にすることができる。
[4.ハードウェア構成]
 上述してきた各実施形態に係るサーバ装置100やクライアント端末10等の情報処理装置(情報機器)は、例えば図17に示すような構成のコンピュータ1000によって実現される。図17は、情報処理装置の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。以下、実施形態に係るサーバ装置100を例に挙げて説明する。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が実施形態に係るサーバ装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、制御部130等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部120内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とに基づいて送信され、前記複数物体のうち、前記第2の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信する受信部と、
 前記第1の情報に基づいて、前記仮想空間の前記レンダリングを行う処理部と、
 を備える情報処理装置。
(2)
 前記受信部は、
 前記対象物体のレイトレーシングに用いる前記第1の情報を受信し、
 前記処理部は、
 前記第1の情報に基づいて、前記仮想空間のレイトレーシングを行う
 (1)に記載の情報処理装置。
(3)
 前記受信部は、
 前記対象物体に関するアクセラレーションストラクチャを示す情報を、前記第1の情報として受信し、
 前記処理部は、
 前記対象物体に関するアクセラレーションストラクチャを示す情報に基づいて、前記仮想空間のレイトレーシングを行う
 (2)に記載の情報処理装置。
(4)
 前記受信部は、
 階層構造を有する前記第1の情報を受信し、
 前記処理部は、
 前記階層構造に基づいて、前記仮想空間のレイトレーシングを行う
 (3)に記載の情報処理装置。
(5)
 前記受信部は、
 前記対象物体に関するBVH(Bounding Volume Hierarchy)を示す情報を、前記第1の情報として受信し、
 前記処理部は、
 前記対象物体に関するBVHを示す情報に基づいて、前記仮想空間のレイトレーシングを行う
 (4)に記載の情報処理装置。
(6)
 前記受信部は、
 前記対象物体に含まれない複数物体のレンダリングに用いる、前記第1の情報よりも詳細度の低い第2の情報を受信する
 (1)~(5)のいずれか1つに記載の情報処理装置。
(7)
 前記受信部は、
 前記第2の位置からの距離が所定の範囲内となる前記対象物体のレンダリングに用いる前記第1の情報を受信する
 (1)~(6)のいずれか1つに記載の情報処理装置。
(8)
 前記受信部は、
 前記第2の位置を含む領域内に位置する前記対象物体のレンダリングに用いる前記第1の情報を受信する
 (7)に記載の情報処理装置。
(9)
 詳細度は、情報の細かさに対応し、詳細度が高いとは、前記情報の生成に用いられるモデルのレベルが所定値以上であり、詳細度が低いとは、前記情報の生成に用いられる前記モデルのレベルが所定値未満である
 (1)~(8)のいずれか1つに記載の情報処理装置。
(10)
 前記受信部は、
 前記仮想空間における静的な物体である前記対象物体のレンダリングに用いる前記第1の情報を受信する
 (1)~(9)のいずれか1つに記載の情報処理装置。
(11)
 前記処理部は、
 前記第1の情報と、自装置内に保有する第2の情報とに基づいて、前記仮想空間のレンダリングを行う
 (1)~(10)のいずれか1つに記載の情報処理装置。
(12)
 前記処理部は、
 前記第1の情報と、前記仮想空間における前記対象物体とは異なる他の物体のレンダリングに用いる前記第2の情報とに基づいて、前記仮想空間のレンダリングを行う
 (11)に記載の情報処理装置。
(13)
 前記処理部は、
 前記第1の情報と、動的な物体である前記他の物体のレンダリングに用いる第2の情報とに基づいて、前記仮想空間のレンダリングを行う
 (12)に記載の情報処理装置。
(14)
 前記処理部は、
 前記第1の情報と、前記第2の位置の近傍に位置する前記他の物体のレンダリングに用いる第2の情報とに基づいて、前記仮想空間のレンダリングを行う
 (12)または(13)に記載の情報処理装置。
(15)
 コンピュータが実行する情報処理方法であって、
 仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とに基づいて送信され、前記複数物体のうち、前記第2の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信し、
 前記第1の情報に基づいて、前記仮想空間の前記レンダリングを行う、
 処理を実行する情報処理方法。
(16)
 仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とを取得する取得部と、
 前記第1の位置情報と前記第2の位置情報とに基づいて、前記複数物体のうち、前記第2の位置からの距離が所定範囲内となる近傍に位置する対象物体を推定する推定部と、
 前記対象物体のレンダリングに用いる第1の詳細度の情報と、前記対象物体とは異なる他の物体のレンダリングに用い、前記第1の詳細度よりも詳細度が低い第2の詳細度の情報を外部端末に送信する送信部と、
を備える情報処理装置。
(17)
 前記送信部は、
 前記所定範囲外の物体である前記他の物体のレンダリングに用いる前記第2の詳細度の情報を前記外部端末に送信する
 (16)に記載の情報処理装置。
(18)
 前記送信部は、
 前記外部端末との通信状況に応じて決定された詳細度の情報を、前記外部端末に送信する
 (16)または(17)に記載の情報処理装置。
(19)
 前記送信部は
 前記第2の位置の移動により、前記第2の位置からの前記他の物体の距離が前記所定範囲内となる場合、前記他の物体のレンダリングに用いる前記第1の詳細度の情報を前記外部端末に送信する
 (16)~(18)のいずれか1つに記載の情報処理装置。
(20)
 前記送信部は
 前記外部端末とは異なる他の外部端末がレンダリングに用いる情報に前記外部端末がレンダリングに用いる情報が含まれる場合、前記他の外部端末がレンダリングに用いる情報を、前記外部端末がレンダリングに用いる情報として前記外部端末に送信する
 (16)~(19)のいずれか1つに記載の情報処理装置。
(21)
 コンピュータが実行する情報処理方法であって、
 仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とを取得し、
 前記第1の位置情報と前記第2の位置情報とに基づいて、前記複数物体のうち、前記第2の位置からの距離が所定範囲内となる近傍に位置する対象物体を推定し、
 前記対象物体のレンダリングに用いる第1の詳細度の情報と、前記対象物体とは異なる他の物体のレンダリングに用い、前記第1の詳細度よりも詳細度が低い第2の詳細度の情報を外部端末に送信する、
 処理を実行する情報処理方法。
 1 情報処理システム
 100 サーバ装置(情報処理装置)
 110 通信部
 120 記憶部
 121 静的物体モデルデータ記憶部
 122 静的物体シーンデータ記憶部
 130 制御部
 131 コマンド受信部
 132 取得部
 133 推定部
 134 静的物体AS構築部
 135 エンコード部
 136 送信部
 10 クライアント端末(情報処理装置)
 11 通信部
 12 入力処理部
 13 表示部
 14 音声出力部
 15 記憶部
 151 動的物体モデルデータ記憶部
 152 動的物体シーンデータ記憶部
 153 マテリアルデータ記憶部
 154 フレームバッファ
 16 制御部
 161 コマンド送信部
 162 受信部
 163 処理部
 164 データ管理部
 165 デコード部
 166 動的物体AS構築部
 167 AS結合部
 168 パストレーシング実行部

Claims (20)

  1.  仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とに基づいて送信され、前記複数物体のうち、前記第1の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信する受信部と、
     前記第1の情報に基づいて、前記仮想空間の前記レンダリングを行う処理部と、
     を備える情報処理装置。
  2.  前記受信部は、
     前記対象物体のレイトレーシングに用いる前記第1の情報を受信し、
     前記処理部は、
     前記第1の情報に基づいて、前記仮想空間のレイトレーシングを行う
     請求項1に記載の情報処理装置。
  3.  前記受信部は、
     前記対象物体に関するアクセラレーションストラクチャを示す情報を、前記第1の情報として受信し、
     前記処理部は、
     前記対象物体に関するアクセラレーションストラクチャを示す情報に基づいて、前記仮想空間のレイトレーシングを行う
     請求項2に記載の情報処理装置。
  4.  前記受信部は、
     階層構造を有する前記第1の情報を受信し、
     前記処理部は、
     前記階層構造に基づいて、前記仮想空間のレイトレーシングを行う
     請求項3に記載の情報処理装置。
  5.  前記受信部は、
     前記対象物体に関するBVH(Bounding Volume Hierarchy)を示す情報を、前記第1の情報として受信し、
     前記処理部は、
     前記対象物体に関するBVHを示す情報に基づいて、前記仮想空間のレイトレーシングを行う
     請求項4に記載の情報処理装置。
  6.  前記受信部は、
     前記対象物体に含まれない複数物体のレンダリングに用いる、前記第1の情報よりも詳細度の低い第2の情報を受信する
     請求項1に記載の情報処理装置。
  7.  前記受信部は、
     前記第2の位置からの距離が所定の範囲内となる前記対象物体のレンダリングに用いる前記第1の情報を受信する
     請求項1に記載の情報処理装置。
  8.  前記受信部は、
     前記第2の位置を含む領域内に位置する前記対象物体のレンダリングに用いる前記第1の情報を受信する
     請求項7に記載の情報処理装置。
  9.  詳細度は、情報の細かさに対応し、詳細度が高いとは、前記情報の生成に用いられるモデルのレベルが所定値以上であり、詳細度が低いとは、前記情報の生成に用いられる前記モデルのレベルが所定値未満である
     請求項1に記載の情報処理装置。
  10.  前記受信部は、
     前記仮想空間における静的な物体である前記対象物体のレンダリングに用いる前記第1の情報を受信する
     請求項1に記載の情報処理装置。
  11.  前記処理部は、
     前記第1の情報と、自装置内に保有する第2の情報とに基づいて、前記仮想空間のレンダリングを行う
     請求項1に記載の情報処理装置。
  12.  前記処理部は、
     前記第1の情報と、前記仮想空間における前記対象物体とは異なる他の物体のレンダリングに用いる前記第2の情報とに基づいて、前記仮想空間のレンダリングを行う
     請求項11に記載の情報処理装置。
  13.  前記処理部は、
     前記第1の情報と、動的な物体である前記他の物体のレンダリングに用いる第2の情報とに基づいて、前記仮想空間のレンダリングを行う
     請求項12に記載の情報処理装置。
  14.  前記処理部は、
     前記第1の情報と、前記第2の位置の近傍に位置する前記他の物体のレンダリングに用いる第2の情報とに基づいて、前記仮想空間のレンダリングを行う
     請求項12に記載の情報処理装置。
  15.  コンピュータが実行する情報処理方法であって、
     仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とに基づいて送信され、前記複数物体のうち、前記第2の位置の近傍に位置する対象物体のレンダリングに用いる詳細度の高い第1の情報を受信し、
     前記第1の情報に基づいて、前記仮想空間の前記レンダリングを行う、
     処理を実行する情報処理方法。
  16.  仮想空間における複数物体の各々に対応する複数の第1の位置を示す第1の位置情報と、前記仮想空間におけるユーザの操作によって決定される第2の位置を示す第2の位置情報とを取得する取得部と、
     前記第1の位置情報と前記第2の位置情報とに基づいて、前記複数物体のうち、前記第2の位置からの距離が所定範囲内となる近傍に位置する対象物体を推定する推定部と、
     前記対象物体のレンダリングに用いる第1の詳細度の情報と、前記対象物体とは異なる他の物体のレンダリングに用い、前記第1の詳細度よりも詳細度が低い第2の詳細度の情報を外部端末に送信する送信部と、
    を備える情報処理装置。
  17.  前記送信部は、
     前記所定範囲外の物体である前記他の物体のレンダリングに用いる前記第2の詳細度の情報を前記外部端末に送信する
     請求項16に記載の情報処理装置。
  18.  前記送信部は、
     前記外部端末との通信状況に応じて決定された詳細度の情報を、前記外部端末に送信する
     請求項16に記載の情報処理装置。
  19.  前記送信部は
     前記第2の位置の移動により、前記第2の位置からの前記他の物体の距離が前記所定範囲内となる場合、前記他の物体のレンダリングに用いる前記第1の詳細度の情報を前記外部端末に送信する
     請求項16に記載の情報処理装置。
  20.  前記送信部は
     前記外部端末とは異なる他の外部端末がレンダリングに用いる情報に前記外部端末がレンダリングに用いる情報が含まれる場合、前記他の外部端末がレンダリングに用いる情報を、前記外部端末がレンダリングに用いる情報として前記外部端末に送信する
     請求項16に記載の情報処理装置。
PCT/JP2022/011556 2021-07-19 2022-03-15 情報処理装置及び情報処理方法 WO2023002687A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-118824 2021-07-19
JP2021118824 2021-07-19

Publications (1)

Publication Number Publication Date
WO2023002687A1 true WO2023002687A1 (ja) 2023-01-26

Family

ID=84979893

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/011556 WO2023002687A1 (ja) 2021-07-19 2022-03-15 情報処理装置及び情報処理方法

Country Status (1)

Country Link
WO (1) WO2023002687A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002279449A (ja) * 2001-03-19 2002-09-27 Mitsubishi Electric Corp 3次元空間データ送信表示装置、3次元空間データ送信方法、3次元空間データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2009230344A (ja) * 2008-03-21 2009-10-08 Internatl Business Mach Corp <Ibm> 画像描画システム、画像描画サーバ、画像描画方法およびコンピュータ・プログラム
JP2012528376A (ja) * 2009-05-29 2012-11-12 シリコンアーツ インコーポレイテッド レイトレーシング装置及び方法
JP2013099494A (ja) * 2011-11-07 2013-05-23 Square Enix Holdings Co Ltd 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002279449A (ja) * 2001-03-19 2002-09-27 Mitsubishi Electric Corp 3次元空間データ送信表示装置、3次元空間データ送信方法、3次元空間データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2009230344A (ja) * 2008-03-21 2009-10-08 Internatl Business Mach Corp <Ibm> 画像描画システム、画像描画サーバ、画像描画方法およびコンピュータ・プログラム
JP2012528376A (ja) * 2009-05-29 2012-11-12 シリコンアーツ インコーポレイテッド レイトレーシング装置及び方法
JP2013099494A (ja) * 2011-11-07 2013-05-23 Square Enix Holdings Co Ltd 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体

Similar Documents

Publication Publication Date Title
US11617947B2 (en) Video game overlay
US8171408B2 (en) Dynamic location generation within a virtual world
KR101577507B1 (ko) 다수의 클라이언트에 걸친 gpu 자원의 할당
US9937423B2 (en) Voice overlay
JP5792773B2 (ja) プログラム、情報処理装置及び制御方法
JP6181917B2 (ja) 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体
JP6126221B2 (ja) 画面提供装置、画面提供システム、制御方法、プログラム、及び記録媒体
US8221237B2 (en) Game sound output device, game sound control method, information recording medium, and program
KR20140098772A (ko) 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체
JP7425196B2 (ja) ハイブリッドストリーミング
US20140100839A1 (en) Method for controlling properties of simulated environments
US20100134485A1 (en) Rendering avatar details
US20230290043A1 (en) Picture generation method and apparatus, device, and medium
US8910043B2 (en) Modifying spaces in virtual universes
Zhang et al. Educational tool based on virtual construction site visit game
WO2023002687A1 (ja) 情報処理装置及び情報処理方法
KR100469820B1 (ko) 화면 갱신 방법 및 그 시스템
JP7039294B2 (ja) プログラム、画像処理方法、及び画像処理装置
JP2012155731A (ja) 検索システム
Zhang et al. Game-based active learning for built environment students
Li REAL–TIME PERFORMANCE COMPARISON OF ENVIRONMENTS CREATED USING TRADITIONAL GEOMETRY RENDERING VERSUS UNREAL NANITE TECHNOLOGY IN VIRTUAL REALITY
JP2022188633A (ja) 情報処理装置、プログラム、及びゲーム画像生成方法
KR20060000732A (ko) 화면 갱신 방법 및 그 시스템
JP2009140294A (ja) 画像生成プログラム、情報記憶媒体、及び画像生成システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22845627

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE