JPWO2015181851A1 - 展開予測装置、展開予測方法、プログラム及び記録媒体 - Google Patents

展開予測装置、展開予測方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JPWO2015181851A1
JPWO2015181851A1 JP2016522978A JP2016522978A JPWO2015181851A1 JP WO2015181851 A1 JPWO2015181851 A1 JP WO2015181851A1 JP 2016522978 A JP2016522978 A JP 2016522978A JP 2016522978 A JP2016522978 A JP 2016522978A JP WO2015181851 A1 JPWO2015181851 A1 JP WO2015181851A1
Authority
JP
Japan
Prior art keywords
data
memory
prediction
expansion
expanded
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.)
Granted
Application number
JP2016522978A
Other languages
English (en)
Other versions
JP6333369B2 (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.)
Square Enix Holdings Co Ltd
Original Assignee
Square Enix Holdings Co Ltd
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 Square Enix Holdings Co Ltd filed Critical Square Enix Holdings Co Ltd
Publication of JPWO2015181851A1 publication Critical patent/JPWO2015181851A1/ja
Application granted granted Critical
Publication of JP6333369B2 publication Critical patent/JP6333369B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描画処理に使用されるデータを予測し、効率的なメモリ展開を行う。展開予測装置は、コンテンツの実行における第1の時点の画面描画処理に係り展開要求されたデータを取得し、第1の時点よりも前の画面描画処理に係りメモリに展開されたデータを時系列順に示す履歴情報と展開要求されたデータとに基づいて、少なくとも第1の時点よりも後の第2の時点の画面描画処理に際しメモリに展開するデータを予測する。

Description

本発明は、展開予測装置、展開予測方法、プログラム及び記録媒体に関するものであり、特に描画に必要なオブジェクトのメモリ展開技術に関する。
近年、十分な描画性能を有さない電子機器であっても、描画性能を有する機器と同等の品質のゲームを体験させることが可能なクラウドゲーミングシステムが提案されてきている(特許文献1)。クラウドゲーミングシステムでは、ゲームに係る処理や画面の描画処理はサーバ側で行われる。電子機器等のクライアント機器はネットワークを介してゲームに係る操作入力をサーバに送信することで、該操作入力が反映されたゲーム画面を、サーバからストリーミング方式の動画データとして受信することができる。このようなシステムは、ゲームアプリケーションに限らず、シミュレータや機械設計アプリケーション等、操作入力に応じた画面を描画して提示するアプリケーションにも応用することができる。
ところで、提示する画面の描画処理では、画面に描画されるオブジェクト(以下、描画オブジェクト)に係る様々なデータが、処理を高速化するために、高速にアクセス可能なメモリに展開されて使用される。例えば1つの描画オブジェクトには、モデルデータ、テクスチャデータ、シェーダ等の描画用プログラム、その他の必要な情報が関連付けられている。描画オブジェクトを描画する際は、HDD等の記録媒体からこれらのデータが読み出され、DRAM等のメモリに展開されている必要がある。通常の家庭用ゲームコンソールでは、このような画面の描画処理で必要となるデータのメモリ展開は、操作しているキャラクタが現在存在するフィールドやステージ等、プレイ中のゲームの進行状況に応じて行われる。この場合、例えば進行状況に応じて必要とされうる全ての描画オブジェクトのデータが記録媒体から読み出されて展開される。
国際公開第2009/138878号
一方で、クラウドゲーミングシステムでは接続している複数のクライアント機器の各々について画面の生成が並行して行われるため、サーバ側に用意された展開領域は、これらの機器について分配して使用される。即ち、1つのクライアント機器に提供する画面の生成に割り当てられるメモリ量は制限される。上述したように進行状況に応じて必要とされうる全てのデータ群をメモリに展開する方法を使用する場合は、サーバ側に膨大な容量のメモリが必要となってしまい、サーバ導入コストの増大につながる。家庭用ゲームコンソールのように必要とされうる全ての描画オブジェクトのデータを展開する場合は、該データには実際には描画に使用されないデータも含まれている。従って、例えば決定された画面描画に係る視点に応じて画面に描画される範囲(描画範囲)に含まれる描画オブジェクトを特定し、該描画オブジェクトに係るデータのみをメモリ展開するように制御することで、サーバの導入コストを低減することはできる。
しかしながら、クライアント機器においてなされた操作入力に応じて画面の描画内容が随時更新される場合、視点の決定後に描画範囲の描画オブジェクトを特定してメモリに展開する方式では、ユーザが入力した時点から描画処理が完了するまでの時間に遅延が発生しうる。特にクラウドゲーミングシステムのようにクライアント機器とサーバとの間に通信が必要となる場合、通信遅延も相まって、より遅延量が増大しうる。
本発明は、このような描画処理に係るデータのメモリ展開の問題点に鑑み、描画処理に使用されるデータを予測し、効率的なメモリ展開を行う展開予測装置、展開予測方法、プログラム及び記録媒体を提供することを目的とする。
前述の目的を達成するために、本発明の少なくとも1つの実施形態に係る展開予測装置は、コンテンツの実行における第1の時点の画面描画処理に係り展開要求されたデータを取得する取得手段と、第1の時点よりも前の画面描画処理に係りメモリに展開されたデータを時系列順に示す履歴情報と展開要求されたデータとに基づいて、少なくとも第1の時点よりも後の第2の時点の画面描画処理に際しメモリに展開するデータを予測する予測手段と、を有する。
このような構成により本発明の少なくとも1つの実施形態によれば、描画処理に使用されるデータを予測し、効率的なメモリ展開を行うことが可能となる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態1に係るクラウドゲーミングシステムのシステム構成を示した図 本発明の実施形態1に係る描画サーバ100の機能構成を示したブロック図 本発明の実施形態に係る予測部105において管理される履歴情報のデータ構造を例示した図 本発明の実施形態1に係る描画サーバ100で実行される描画処理を例示したフローチャート 本発明の実施形態1に係る描画処理において実行されるデータの予測及び読み出しに係る処理を例示したフローチャート 本発明の実施形態2に係るクラウドゲーミングシステムのシステム構成を示した図 本発明の実施形態2に係る描画サーバ100の機能構成を示したブロック図 本発明の実施形態2に係る描画サーバ100で実行される展開処理を例示したフローチャート
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、展開予測装置の一例としての、クライアント機器に送信する画面の描画に際してメモリへの展開が必要となるデータを、データ展開の履歴に基づいて予測することが可能な描画サーバに、本発明を適用した例を説明する。しかし、本発明は、メモリへのデータ展開の履歴に基づいて、少なくとも展開要求されたデータ以降に展開が必要となりうるデータを予測することが可能な任意の機器に適用可能である。
《システム構成》
図1は、本発明の実施形態に係るクライアント機器400への、ゲームコンテンツに係るゲーム画面の提供を行うクラウドゲーミングシステムのシステム構成を示した図である。
図1に示されるように、本実施形態のクラウドゲーミングシステムでは、サービス提供を受けるプレイヤが使用するクライアント機器400は、ネットワーク300を介して描画サーバ100またはCPUサーバ200に接続される。本実施形態ではクライアント機器400においてなされた操作入力や経時変化に応じてゲームに係るパラメータ等を変更する処理やゲーム進行に係る種々の処理はCPUサーバ200において行われる。CPUサーバ200は、ゲーム画面を提供するフレームごとに、該画面を描画するための描画命令をゲームに係るパラメータに基づいて生成し、描画サーバ100に対して送信する。描画サーバ100は、受信した該描画命令に基づいてゲーム画面に係る描画処理を実行し、生成されたゲーム画面を対応するクライアント機器400に対して送信する。
なお、本実施形態では簡単のため描画サーバ100とCPUサーバ200とが、各々異なる機器であるものとして説明するが、本発明の実施はこれに限られるものではない。描画サーバ100とCPUサーバ200とは一体となって構成されるものであってもよい。また図1の例では、描画サーバ100とCPUサーバ200とは、クライアント機器400も含まれるネットワーク300を介して接続されるものとしているが、描画サーバ100とCPUサーバ200との接続はネットワーク300を介さずに直接接続される構成であってもよいことは言うまでもない。
〈描画サーバ100の構成〉
以下、図2を用いて本実施形態のクラウドゲーミングシステムにおける描画サーバ100の機能構成を説明する。
制御部101は、例えばCPUであり、描画サーバ100が有する各ブロックの動作を制御する。制御部101は、記憶媒体102に記憶されている各ブロックの動作プログラムを読み出し、メモリ103に展開して実行することにより各ブロックの動作を制御する。
記憶媒体102は、例えば不揮発性メモリやHDD等の記録装置である。記憶媒体102は、描画サーバ100が有する各ブロックの動作プログラムに限らず、後述する描画処理においてゲーム画面の生成に必要となる描画オブジェクトに係る各種データを記憶する。メモリ103は、例えばRAM等の揮発性メモリである。メモリ103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作により出力された中間データ等を一時的に記憶する格納領域としても用いられる。本実施形態ではメモリ103は、描画処理において必要となる描画オブジェクトに係る各種データの展開領域としても用いられる。
描画部104は、例えばGPU等のクライアント機器400に送信するゲーム画面を描画する。描画部104は、CPUサーバ200から受信した描画命令に基づいてゲーム画面の描画処理を行う。描画部104は、描画処理において、メモリ103に展開された描画オブジェクトに係る各種データを使用し、該データに対して並進、回転、シェーディングやその他の処理を適用し、例えば不図示のVRAM等にゲーム画面を生成する。生成したゲーム画面はそのままクライアント機器400に送信されてもよいが、本実施形態ではストリーミング形式の符号化動画データとして送信される。動画データの生成に係る符号化処理は、本実施形態では簡単のため描画部104が実行するものとして説明する。
予測部105は、CPUサーバ200から受信した描画命令に基づいて、少なくとも該描画命令よりも後に受信する描画命令に基づく描画処理においてメモリ103への展開が要求されるデータ、即ち展開することが好適と思われるデータを予測する。本実施形態では予測部105は、過去に受信した描画命令に基づいてメモリ103に展開されたデータを時系列順に示した履歴情報を管理する。予測部105は、履歴情報と新たに受信した描画命令により展開要求がなされるデータとに基づいて、該新たに受信した描画命令よりも後に受信する描画命令に係り描画サーバ100で実行される描画処理に必要となるデータを予測する。
履歴情報は、例えば各階層のデータが1つのフレームに係る描画処理においてメモリ103に展開されるデータセットを示す、時系列順に複数の階層が接続された図3のようなツリー形式のデータ構造で構成されてよい。履歴情報ではツリーで接続された階層に示されるデータセットは、連続するフレームに係る描画命令についてメモリ103に展開されたデータセットを示している。履歴情報において1つのデータセットから派生している分岐は、同一とみなされるデータセットの展開が必要な描画命令がなされた後、後続する描画命令において異なるデータセットの展開がなされた複数の描画シーケンスがなされたことを示している。本実施形態の予測部105は、CPUサーバ200から描画サーバ100に対してなされたデータの展開を必要とする描画命令に基づいて順次履歴情報を更新し、図3に示されるような履歴情報を生成する。なお、本実施形態では履歴情報の各階層のデータは、1つのフレームに係る描画処理においてメモリ103に展開されるデータセットであるものとして説明するが、履歴情報の構成はこれに限られるものではない。例えば1フレームについて所定の単位の描画命令が複数発行される構成である場合は、履歴情報は該描画命令の各単位に係り展開されるデータセットを1つの階層のデータとする構成であってもよい。この場合、ツリーで接続された階層に示されるデータセットは、1フレームに係る連続する描画命令についてメモリ103に展開されたデータセットを示すものであってよい。
本実施形態では履歴情報は、ゲームコンテンツごとに、該ゲームコンテンツを利用する複数のプレイヤの各々について実行された処理でなされた描画命令に基づいて生成されるものとして説明する。しかしながら、本発明の実施はこれに限られる必要はなく、例えば基準となる1人のプレイヤまたは開発者について実行された処理でなされた描画命令、あるいはプレイヤごとに実行された処理でなされた描画命令に基づいて履歴情報は生成されるものであってもよい。また履歴情報は、1つのゲームコンテンツに係る描画命令に基づいてのみ生成されるものである必要はなく、同一のデータを使用し得る異なるゲームコンテンツに係る描画命令に基づいて生成されるものであってもよい。あるいは、履歴情報の内部でコンテンツごとにツリーが分かれて構成されるのであれば、1つの履歴情報に含められるコンテンツが同一のデータを使用し得るゲームコンテンツに限られる必要はない。
展開部106は、後述の描画処理においてゲーム画面の描画に必要となるデータを記憶媒体102から読み出し、メモリ103に展開する。展開部106は、受信した描画命令に基づいてメモリ103への展開が必要となるデータ、あるいは予測部105による予測結果に基づいて展開を行うデータを記憶媒体102から読み出してメモリ103に展開する。
通信部107は、描画サーバ100が有する通信インタフェースである。本実施形態では描画サーバ100は、通信部107を介してネットワーク300に接続し、CPUサーバ200及びクライアント機器400との間でデータの送受信を行う。データの送受信は予め定められた通信方式で行われてよく、通信部107が該通信方式へのデータ変換等を行ってもよい。
《描画処理》
このような構成をもつ本実施形態の描画サーバ100において行われる描画処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えば記憶媒体102に記憶されている対応する処理プログラムを読み出し、メモリ103に展開して実行することにより実現することができる。なお、本描画処理は、例えばCPUサーバ200から1つのクライアント機器400に提供するゲーム画面に係る描画命令を受信した際に開始されるものとして説明する。
S401で、制御部101は、受信した描画命令に基づくゲーム画面の描画にあたり、メモリ103への展開が必要となるデータセットを特定する。制御部101は、特定したデータセットの情報をメモリ103に格納する。
本実施形態の描画処理では、ゲーム画面の描画に係る処理(S403以降)と、描画対象である現在のフレーム以降に展開するデータの予測及び読み出しに係る処理(S402)とを並行して行うものとして説明する。
〈データの予測及び読み出しに係る処理〉
以下、S402で行われる、データの予測及び読み出しに係る処理について、図5のフローチャートを用いて説明する。
S501で、予測部105は、特定されたデータセットに対応するデータセット(対応データセット)を示す情報が、履歴情報に存在するか否かを判断する。対応データセットは、データセットに含まれるデータの組み合わせが特定されたデータセットと完全同一であるデータセットであってもよいし、例えばプレイヤごとにカスタマイズが可能なキャラクタテクスチャ等が存在する場合、所定のデータを除いた他のデータが同一、即ちデータセットに含まれる一部のデータの組み合わせが特定されたデータセットと同一であるデータセットであってもよい。予測部105は、対応データセットを示す情報が履歴情報に存在すると判断した場合は処理をS502に移し、存在しないと判断した場合は処理をS504に移す。
S502で、予測部105は、対応データセットに後続してメモリ103に展開されたデータセットを示す情報を履歴情報から取得し、該情報で示されるデータ群を予測読み出しデータとして設定する。本実施形態では予測読み出しデータに設定されるデータは、履歴情報において対応データセットに接続する全ての分岐階層に示されるデータセットに含まれるデータ群が設定される。例えば対応データセットが図3に示されるデータセット301である場合、データセット302、303及び304の3つのデータセットに含まれるデータが予測読み出しデータに含められる。予測読み出しデータに設定されるデータは、対応データセットの直下の階層のデータセットに限られるものではなく、例えば予め定められた数の下位の階層までのデータセット等が含められてよい。
S503で、展開部106は、設定された予測読み出しデータの情報に基づいて、記憶媒体102から対応するデータを読み出し、メモリ103に展開する処理を開始する。該展開する処理は、履歴情報において対応データセットの直下の階層のデータセットに含まれるデータから順に行われることが好ましい。
S504で、予測部105は、履歴情報に含まれる直近の描画命令に基づいて展開されたデータセットを示す情報の直下の階層に対応データセットを示す情報を関連付ける処理を行い、履歴情報を更新する。また、対応データセットと特定されたデータセットとが一部のデータが同一の関係にある場合、特定されたデータセットを示す情報を新たなデータセットとして該直下の階層に関連付けて履歴情報を更新してもよい。制御部101は、履歴情報の更新が完了した後、本フローチャートに係る処理を完了する。
〈ゲーム画面の描画に係る処理〉
次に、該データの予測及び読み出しに係る処理に並行して実行される描画に係る処理について以下に説明する。
S403で、制御部101は、特定されたデータセットにまだメモリ103に展開されていないデータが含まれているか否かを判断する。制御部101は、特定されたデータセットにまだ展開されていないデータが含まれていると判断した場合、S404で展開部106に該データをメモリ103に展開させる。また制御部101は、特定されたデータセットに含まれるすべてのデータが既に展開されていると判断した場合、処理をS405に移す。
S405で、描画部104は、メモリ103に展開されたデータを使用して、受信した描画命令に基づく描画処理を行いゲーム画面を生成する。制御部101は、ゲーム画面の生成が完了した後、本描画処理を完了する。
このように、本実施形態の描画処理では、ゲーム画面の描画命令に基づいて、描画処理においてメモリ103に展開されるデータを履歴情報として蓄積し、かつ該履歴情報に基づいて後続する描画命令により展開要求がなされうるデータを予測してメモリ103に展開しておくことができる。即ち、実際に発行された描画命令に基づいて履歴情報が構成されるため、よりゲームプレイに準じた予測読み出しにより、ゲーム画面の描画処理を高速化することができる。
なお、本実施形態では対応データセットに後続して展開されたデータセットに含まれるデータを予測読み出しデータとして設定するものとして説明したが、本発明の実施はこれに限られるものではない。即ち、例えば描画命令に係り展開された一部のデータの情報を取得した時点で、履歴情報から対応データセットが予測可能である場合は、予測部105は対応データセットも含めて予測読み出しデータとして設定してもよい。また本実施形態では、描画命令に基づくゲーム画面の描画に必要なデータセットが、履歴情報の各階層のデータを構成するものとして説明したが、該描画命令よりも前に発行された描画命令により展開されたデータが継続してメモリ103に保持される場合は、保持されているデータを除外したデータセットが履歴情報の各階層のデータを構成するものとしてもよい。この場合、例えば対応データセットに後続するデータセットに含まれるデータのみでは描画処理に必要な一部のデータが展開されない可能性があるため、予測部105は対応データセット及び対応データセットよりも上位の階層のデータセットに含まれるデータを含めて予測読み出しデータを設定してもよい。
また本実施形態では、対応データセットに後続するデータセットが複数種類ある場合、即ち履歴情報にいて対応データセットの下位の階層に分岐が存在する場合は、全ての分岐に係るデータセットを予測読み出しデータに設定するものとして説明したが、本発明の実施はこれに限られるものではない。例えば、予測部105は予測読み出しデータに設定したデータが実際に描画処理に使用されたか否かに基づき履歴情報の各分岐について統計をとり、該統計に基づいて予測読み出しデータに設定する分岐を取捨選択するようにしてもよい。この場合、統計はプレイヤごとにとられる構成であってもよいし、プレイヤの出身国やアクセス地域ごと等、所定の統計基準の対象についてとられる構成であってもよい。
以上説明したように、本実施形態の展開予測装置は、描画処理に使用されるデータを予測し、効率的なメモリ展開を行うことができる。課題の解決に際し、展開予測装置は、コンテンツの実行における第1の時点の画面描画処理に係り展開要求されたデータを取得し、第1の時点よりも前の画面描画処理に係りメモリに展開されたデータを時系列順に示す履歴情報と展開要求されたデータとに基づいて、少なくとも第1の時点よりも後の第2の時点の画面描画処理に際しメモリに展開するデータを予測する。
[実施形態2]
上述した実施形態1では、1つのCPUサーバ200に接続された描画サーバ100が1つであり、ゲーム画面の描画に必要なデータが描画サーバ100の記憶媒体102に記憶されているものとして説明した。本実施形態のクラウドゲーミングシステムでは、図6に示されるように、1つのCPUサーバ200に対して複数の描画サーバ100が接続しており、各クライアント機器400についてCPUサーバ200により選択されたいずれか1つの描画サーバ100が該クライアント機器400に送信するゲーム画面の描画を行う。描画処理を行う描画サーバ100の選択は、例えばクライアント機器400に最も近い地域に設置されているサーバや、接続数の最も少ないサーバ等、所定の基準に基づいて行われてよい。このようなシステム構成の場合、全ての描画サーバ100の記憶媒体102に同一のデータを記憶させておくことは、例えば描画サーバ100が設置される地域において好まれるコンテンツの傾向や、データ更新時における作業容易性やメンテナンス性を考慮すると、一概に好ましいとは言えない可能性がある。従って、本実施形態のクラウドゲーミングシステムでは、図6に示されるように描画サーバ100の外部に設けられた記録装置600が描画オブジェクトに係る各種データを保持しているものとする。
《描画サーバ100の構成》
本実施形態の描画サーバ100は、記憶媒体102が描画オブジェクトに係る各種データを記憶しないことに加え、図7に示されるように監視部110を有する。
監視部110は、通信部107を介してネットワーク上の通信状況を監視し、通信状況が予測に基づくデータ取得を行う所定の条件を満たした場合に制御部101にデータ取得が可能であることを通知する。ネットワーク上の通信状況は、例えば描画サーバ100やCPUサーバ200が接続されているネットワークにおけるトラヒック量であってよく、この場合、監視部110は該トラヒック量がデータ取得を行うものとして予め定められた値以下になった際に、制御部101に通知を行うものとする。また例えば、ネットワーク上の通信状況は記録装置600と外部の機器(例えば、描画サーバ100やメモリ103)との通信に係るトラヒック量であってもよく、この場合、監視部110は該トラヒック量がデータ取得を行うものとして予め定められた値以下になった際に、制御部101に通知を行うものとする。また例えば、ネットワーク上の通信状況は記録装置600と描画サーバ100との通信における伝送遅延量であってもよく、監視部110は該遅延量がデータ取得を行うものとして予め定められた値以下になった場合に制御部101に通信を行ってよい。また例えば、ネットワーク上の通信状況は描画サーバ100に接続しているクライアント機器400の数、あるいは接続しているクライアント機器400へのゲーム画面の送信に係るトラヒック量であってもよく、この場合、監視部110は接続数あるいは該トラヒック量がデータ取得を行うものとして予め定められた値以下になった際に、制御部101に通知を行うものとする。
《展開処理》
以下、本実施形態の描画サーバ100において実行される展開処理について、図8のフローチャートを用いて詳細を説明する。本実施形態の描画サーバ100では、メモリ103への描画オブジェクトに係る各種データの読み出しには記録装置600との通信を要するため、履歴情報を用いた予測及び読み出しに係る処理は監視部110により監視される通信状況に応じて実行が制御される。これは、データ取得に係る記録装置600との通信が通信遅延や処理遅延等を引き起こし、最終的にネットワーク全体あるいはゲームコンテンツの提供品質に影響を及ぼし得るためである。従って、本実施形態では描画サーバ100は、監視部110によりネットワーク上の通信状況が所定の条件を満たす場合にのみ、予測に基づくデータの事前取得を行うものとする。
なお、本展開処理において実施形態1のデータの予測及び読み出しに係る処理と同様の処理を行うステップについては、図5に示したフローチャートと同一の参照番号を付して説明を省略するものとする。
S801で、監視部110は、ネットワーク上の通信状況が予測に基づくデータ取得を行う所定の条件を満たしたか否かを判断する。監視部110は、通信状況が所定の条件を満たしたと判断した場合は処理をS802に移し、満たしていないと判断した場合は本ステップの処理を繰り返す。
S802で、監視部110は、データ読み出しが可能であることを制御部101に通知する。
S803で、制御部101は、現在受信している描画命令に基づくゲーム画面の描画にあたり、メモリ103への展開が必要となるデータセットを特定する。制御部101は、特定したデータセットの情報をメモリ103に格納し、処理をS501に移す。
またS502において予測読み出しデータが設定された後、制御部101はS804で、通信部107を介して記録装置600に予測読み出しデータに設定されたデータを要求し、該データの受信を開始する。
S805で、制御部101は、予測読み出しデータに設定されたデータが受信されたか否かを判断する。制御部101は、データが受信されたと判断した場合は処理をS806に移し、通信部107に該データをメモリ103に展開させる。また制御部101は、データが受信されていないと判断した場合は本ステップの処理を繰り返す。
S807で、制御部101は、予測読み出しデータに設定された全てのデータが受信されたか否かを判断する。制御部101は、全てのデータが受信されたと判断した場合は処理をS504に移し、未受信のデータが存在すると判断した場合は処理をS805に戻す。
このようにすることで、本実施形態の描画サーバ100は、予測に基づく記録装置600からのデータ取得を、通信状況を考慮して行うことができる。即ち、予測に基づく1つの描画命令に係り展開されるデータ量よりも大きなデータ量のデータ取得を行う予測読み出しを、例えばトラヒック量に余裕があり、通信遅延によるサービス品質が低下するような要因を回避可能なタイミングで行うことができる。つまり、本態様の描画サーバ100は、外部機器との通信状況等を把握し、データの受信が効率的に行えるタイミングで展開が予測されるデータを予め取得することができる。
なお、本実施形態の展開処理では予測に基づいて取得したデータは、全てメモリ103に展開されるものとして説明したが、本発明の実施はこれに限られるものでなくてよい。取得したデータは、例えば記憶媒体102やメモリ103に未展開の状態で記憶しておき、対応する展開状況に推移しうると予測する場合に展開部106によりメモリ103に展開されるように構成してもよい。
また、実施形態1及び2では、履歴情報はデータ読み出しの予測にのみ用いられるものとして説明したが、本発明の実施はこれに限られるものではない。例えば履歴情報は、メモリ103に展開されたデータのメモリ103からの好適な解放タイミングを予測するために用いられてもよい。上述したように、1つの描画命令に基づいてメモリ103に展開されたデータは、該描画命令よりも後に発行される描画命令に係る描画処理において使用される可能性がある。従って、予測部105は、現在のフレームの描画命令に基づき展開したデータが所定数のフレームが経過する前に再度展開される可能性があるかを履歴情報に基づき判断し、例えば展開部106が該判断に基づいてメモリ103からのデータ解放のタイミングを制御してもよい。またこのように各データの解放タイミングを履歴情報に基づいて都度判断するのではなく、例えば一度判断した解放タイミングの情報を履歴情報に含めておき、予測読み出しデータの設定の際に履歴情報に基づいて解放タイミングの情報も併せて予測する構成としてもよい。また、予測に基づいて展開された、履歴の分岐に係るデータのうち、実際に発行された描画命令に対応しなかった分岐に係るデータは、所定のタイミングで解放されてよい。
また実施形態1及び2では、受信した描画命令や現在受信している描画命令に基づいて予測読み出しデータの設定が行われるものとして説明したが、本発明の実施はこれに限られるものではない。即ち、予測読み出しの基準となる描画命令は任意のタイミングでなされる描画命令であってよく、該命令により展開要求がなされるデータに基づいて、予測読み出しデータの設定が行われてよい。例えば、ゲーム開始時にはスタート地点に係る描画命令は予測可能であるため、ゲームコンテンツがプレイヤにより選択された時点で予測読み出しに係る処理は実行可能である。
また実施形態1及び2では、履歴情報はメモリ103に展開されたデータセットを管理するものとして説明したが、本発明の実施はこれに限られるものではない。例えば描画命令とともにゲームコンテンツにおける所定のステータスを受信する場合、履歴情報は該ステータスと展開されたデータセットとを関連付けた情報を管理するものであってもよい。この場合、例えばゲームコンテンツに係る3Dシーンにおけるカメラ位置等のパラメータや使用キャラクタの各種パラメータ等に基づいた複合的なデータ読み出しの予測が可能であるため、履歴情報の蓄積により、プレイヤの行動により準じた効率的なデータ読み出しが可能となる。
[変形例]
上述した実施形態1及び2では、描画サーバ100それ自体が展開予測装置を兼ね備える態様について説明したが、本発明の実施はこれに限られるものではない。即ち、展開予測装置は、画面描画処理に係り展開要求されたデータを示す情報と、画面描画処理に係りメモリに展開されたデータを時系列順に示す履歴情報とに基づいて、メモリ展開すべきデータを予測するものであればよく、描画サーバ100内の別モジュールとして存在する、あるいは描画サーバ100が展開予測装置として機能する構成である必要はない。つまり、描画サーバ100に接続する装置であって、描画サーバ100のメモリ103に展開されたデータを示す情報及び展開要求されたデータを示す情報を取得し、履歴情報に基づく予測結果を描画サーバ100に伝送可能な装置であれば、本発明は実施可能である。描画サーバ100に接続する装置は、例えばCPUサーバ200であってもよい。また展開予測装置は、予測結果を伝送する際に予測したデータの展開命令を描画サーバ200に伝送してもよい。
なお、このように展開予測装置が描画サーバ100の外部の装置として構成される場合、描画サーバ100と記録装置600との通信における伝送遅延量の情報は、例えば描画サーバ100から展開予測装置に所定の間隔で送出されればよい。そして展開予測装置は、予測結果であるメモリに展開すべきデータを示す情報だけでなく、描画サーバ100に記録装置600からメモリに展開すべきデータを取得させる命令を通信状況に基づいて判断して送信すればよい。
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る展開予測装置は、1以上のコンピュータを展開予測装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。

Claims (26)

  1. コンテンツの実行における第1の時点の画面描画処理に係り展開要求されたデータを示す情報を取得する取得手段と、
    前記第1の時点よりも前の画面描画処理に係りメモリに展開されたデータを時系列順に示す履歴情報と前記展開要求されたデータを示す情報とに基づいて、少なくとも前記第1の時点よりも後の第2の時点の画面描画処理に際し前記メモリに展開するデータを予測する予測手段と、
    を有する展開予測装置。
  2. 前記予測手段は、前記展開要求されたデータと同一であるものと判断する第3の時点の画面描画処理に係り前記メモリに展開されたデータを示す情報が前記履歴情報に含まれる場合に、少なくとも該第3の時点よりも後の第4の時点の画面描画処理に係り前記メモリに展開されたデータを、前記メモリに展開するデータとして予測する請求項1に記載の展開予測装置。
  3. 前記予測手段により予測された前記メモリに展開するデータを記録装置から取得して前記メモリに展開させる展開手段をさらに有する請求項1または2に記載の展開予測装置。
  4. 前記メモリに展開するデータを前記記録装置に要求し、前記記録装置から該データを受信する通信手段と、
    ネットワーク上の通信状況を監視する監視手段と、をさらに有し、
    前記通信手段は、前記通信状況が所定の条件を満たす場合に、前記メモリに展開するデータを前記記録装置から受信する請求項3に記載の展開予測装置。
  5. 前記監視手段は、前記通信状況として前記ネットワークにおけるトラヒック量を監視し、
    前記通信手段は、前記ネットワークにおけるトラヒック量に応じて、前記メモリに展開するデータを前記記録装置から受信する請求項4に記載の展開予測装置。
  6. 前記監視手段は、前記通信状況として前記記録装置と外部機器との通信に係るトラヒック量を監視し、
    前記通信手段は、前記記録装置と前記外部機器との通信に係るトラヒック量に応じて、前記メモリに展開するデータを前記記録装置から受信する請求項4または5に記載の展開予測装置。
  7. 前記監視手段は、前記通信状況として前記記録装置との通信における伝送遅延量を監視し、
    前記通信手段は、前記記録装置との通信における伝送遅延量に応じて、前記メモリに展開するデータを前記記録装置から受信する請求項4乃至6のいずれか1項に記載の展開予測装置。
  8. 前記展開手段により展開されたデータを使用して、前記コンテンツに係る画面を描画する描画手段と、
    前記描画手段により描画された画面を、接続しているクライアント機器に送信する送信手段と、をさらに有し、
    前記監視手段は、前記通信状況として前記接続しているクライアント機器の数あるいは前記接続しているクライアント機器への画面送信に係るトラヒック量を監視し、
    前記通信手段は、前記接続しているクライアント機器の数あるいは前記接続しているクライアント機器への画面送信に係るトラヒック量に応じて、前記メモリに展開するデータを前記記録装置から受信する請求項4乃至7のいずれか1項に記載の展開予測装置。
  9. 前記メモリに展開されているデータを前記メモリから解放するか否かを制御する解放手段をさらに有し、
    前記履歴情報はさらに、前記第1の時点よりも前の画面描画処理に係り前記メモリに展開されたデータとともに前記メモリから解放されたデータを時系列順に示し、
    前記予測手段は、前記第2の時点の画面描画処理に際し前記メモリに展開するデータとともに前記メモリから解放するデータを予測し、
    前記解放手段は、前記予測手段による予測に基づいて、前記メモリに展開されているデータを前記メモリから解放するか否かを制御する請求項1乃至8のいずれか1項に記載の展開予測装置。
  10. 前記予測手段による予測に基づいて、前記メモリに展開されているデータを前記メモリから解放するか否かを制御する解放手段をさらに有する請求項1乃至8のいずれか1項に記載の展開予測装置。
  11. 前記第1の時点は、前記コンテンツの実行における現在のフレームを示し、
    前記解放手段は、前記メモリに展開されているデータが、現在のフレームから所定数のフレームの経過前に前記メモリに展開するものとして前記予測手段により予測される場合に、該データを解放しない請求項10に記載の展開予測装置。
  12. 前記予測手段により予測された前記メモリに展開するデータ示す情報と、該データを記録装置から取得して前記メモリに展開させる命令とを、前記メモリを有する展開装置に送信する送信手段をさらに有する請求項1または2に記載の展開予測装置。
  13. 前記記録装置は、前記展開装置と通信接続可能な装置であり、
    前記展開予測装置は、ネットワーク上の通信状況を監視する監視手段をさらに有し、
    前記送信手段は、前記通信状況が所定の条件を満たす場合に、前記展開装置に前記記録装置から前記メモリに展開するデータを受信させる請求項12に記載の展開予測装置。
  14. 前記監視手段は、前記通信状況として前記ネットワークにおけるトラヒック量を監視し、
    前記送信手段は、前記ネットワークにおけるトラヒック量に応じて、前記展開装置に前記記録装置から前記メモリに展開するデータを受信させる請求項13に記載の展開予測装置。
  15. 前記監視手段は、前記通信状況として前記記録装置と外部機器との通信に係るトラヒック量を監視し、
    前記送信手段は、前記記録装置と前記外部機器との通信に係るトラヒック量に応じて、前記展開装置に前記記録装置から前記メモリに展開するデータを受信させる請求項13または14に記載の展開予測装置。
  16. 前記監視手段は、前記通信状況として前記記録装置と前記展開装置との通信における伝送遅延量を監視し、
    前記送信手段は、前記記録装置と前記展開装置との通信における伝送遅延量に応じて、前記展開装置に前記記録装置から前記メモリに展開するデータを受信する請求項13乃至15のいずれか1項に記載の展開予測装置。
  17. 前記展開装置は、前記メモリに展開されたデータを使用して、前記コンテンツに係る画面を描画して、前記展開装置に接続しているクライアント機器に送信し、
    前記監視手段は、前記通信状況として前記接続しているクライアント機器の数、あるいは前記展開装置の前記接続しているクライアント機器への画面送信に係るトラヒック量を監視し、
    前記送信手段は、前記接続しているクライアント機器の数あるいは前記展開装置の前記接続しているクライアント機器への画面送信に係るトラヒック量に応じて、前記展開装置に前記記録装置から前記メモリに展開するデータを受信させる請求項13乃至16のいずれか1項に記載の展開予測装置。
  18. 前記履歴情報はさらに、前記第1の時点よりも前の画面描画処理に係り前記メモリに展開されたデータとともに前記メモリから解放されたデータを時系列順に示し、
    前記予測手段は、前記第2の時点の画面描画処理に際し前記メモリに展開するデータとともに前記メモリから解放するデータを予測し、
    前記送信手段は、前記予測手段による予測に基づいて、前記メモリに展開されているデータを前記メモリから解放するか否かを示す命令を前記展開装置に送信する請求項12乃至17のいずれか1項に記載の展開予測装置。
  19. 前記第1の時点は、前記コンテンツの実行における現在のフレームを示し、
    前記送信手段は、前記メモリに展開されているデータが、現在のフレームから所定数のフレームの経過前に前記メモリに展開するものとして前記予測手段により予測される場合に、該データを解放しないことを示す命令を前記展開装置に送信する請求項18に記載の展開予測装置。
  20. 前記履歴情報は、各階層が1つの時点の画面描画処理に係り前記メモリに展開されたデータを示し、時系列順に複数の階層が接続されたツリー形式で構成される情報であり、
    前記予測手段は、前記履歴情報において分岐が含まれる場合に、前記展開要求されたデータに対応するデータから派生した複数の分岐に係る階層で示されるデータを、前記メモリに展開するデータとして予測する請求項1乃至19のいずれか1項に記載の展開予測装置。
  21. 前記取得手段により前記展開要求されたデータを示す情報が取得された際に、前記履歴情報を更新する更新手段をさらに有する請求項1乃至20のいずれか1項に記載の展開予測装置。
  22. 前記更新手段は、前記履歴情報のうちの前記第1の時点の直前の第5の時点の画面描画処理に係り展開要求されたデータを示す情報に、前記第1の時点の画面描画処理に係り前記展開要求されたデータを示す情報を関連付けて前記履歴情報を更新する請求項21に記載の展開予測装置。
  23. 前記予測手段により予測された前記メモリに展開するデータが、前記第2の時点の画面描画処理に使用されたか否かの統計を取る統計手段をさらに有する請求項1乃至22のいずれか1項に記載の展開予測装置。
  24. コンテンツの実行における第1の時点の画面描画処理に係り展開要求されたデータを取得する取得工程と、
    前記第1の時点よりも前の画面描画処理に係りメモリに展開されたデータを時系列順に示す履歴情報と前記展開要求されたデータとに基づいて、少なくとも前記第1の時点よりも後の第2の時点の画面描画処理に際し前記メモリに展開するデータを予測する予測工程と、
    を有する展開予測方法。
  25. 1以上のコンピュータを、請求項1乃至23のいずれか1項に記載の各手段として機能させるプログラム。
  26. 請求項25に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
JP2016522978A 2014-05-28 2014-05-28 展開予測装置、展開予測方法、プログラム及び記録媒体 Active JP6333369B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/002821 WO2015181851A1 (ja) 2014-05-28 2014-05-28 展開予測装置、展開予測方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2015181851A1 true JPWO2015181851A1 (ja) 2017-04-20
JP6333369B2 JP6333369B2 (ja) 2018-05-30

Family

ID=54698242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016522978A Active JP6333369B2 (ja) 2014-05-28 2014-05-28 展開予測装置、展開予測方法、プログラム及び記録媒体

Country Status (2)

Country Link
JP (1) JP6333369B2 (ja)
WO (1) WO2015181851A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019098145A (ja) * 2018-08-15 2019-06-24 グリー株式会社 制御プログラム、制御方法及びコンピュータ
JP2019097767A (ja) * 2017-11-30 2019-06-24 グリー株式会社 制御プログラム、制御方法及びコンピュータ

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003077003A (ja) * 2001-08-31 2003-03-14 Konami Co Ltd ゲーム進行制御プログラム、ゲーム進行制御方法及びビデオゲーム装置
JP2009295162A (ja) * 2008-06-04 2009-12-17 Arm Ltd グラフィックス処理システム
JP2013513858A (ja) * 2009-12-09 2013-04-22 株式会社ソニー・コンピュータエンタテインメント サーバサイドレンダリング
JP5544632B1 (ja) * 2013-11-01 2014-07-09 俊介 山内 先行画像生成プログラムおよびコンピュータ可読記憶媒体
JP2015042220A (ja) * 2013-08-26 2015-03-05 株式会社バンダイナムコゲームス ゲームコンテンツおよびサーバシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003077003A (ja) * 2001-08-31 2003-03-14 Konami Co Ltd ゲーム進行制御プログラム、ゲーム進行制御方法及びビデオゲーム装置
JP2009295162A (ja) * 2008-06-04 2009-12-17 Arm Ltd グラフィックス処理システム
JP2013513858A (ja) * 2009-12-09 2013-04-22 株式会社ソニー・コンピュータエンタテインメント サーバサイドレンダリング
JP2015042220A (ja) * 2013-08-26 2015-03-05 株式会社バンダイナムコゲームス ゲームコンテンツおよびサーバシステム
JP5544632B1 (ja) * 2013-11-01 2014-07-09 俊介 山内 先行画像生成プログラムおよびコンピュータ可読記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019097767A (ja) * 2017-11-30 2019-06-24 グリー株式会社 制御プログラム、制御方法及びコンピュータ
JP2019098145A (ja) * 2018-08-15 2019-06-24 グリー株式会社 制御プログラム、制御方法及びコンピュータ

Also Published As

Publication number Publication date
WO2015181851A1 (ja) 2015-12-03
JP6333369B2 (ja) 2018-05-30

Similar Documents

Publication Publication Date Title
JP2022122875A (ja) ゲームレンダリングにおけるメモリ管理
CN102202050B (zh) 预期响应预高速缓存
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
CN107231815B (zh) 用于图形渲染的系统和方法
CN109460297B (zh) 一种边缘云游戏缓存和资源调度方法
JP5559445B1 (ja) 描画システム、制御方法、プログラム、及び記録媒体
CN112822503B (zh) 直播视频流的播放方法、装置、设备及存储介质
CN109936473B (zh) 基于深度学习预测的分布计算系统及其运行方法
GB2528672A (en) Push-based transmission of resources and correlated network quality estimation
KR20120066116A (ko) 웹 서비스 정보 처리 방법과 이를 이용한 웹 서비스 조합 방법 및 장치
US20140243083A1 (en) Apparatus and method of providing cloud service using game platform based on streaming
CN114972594B (zh) 一种用于元宇宙的数据处理方法、装置、设备及介质
CN107544298B (zh) 一种摄像头调用方法和装置
CN115794139B (zh) 镜像数据处理方法、装置、设备以及介质
JP6333369B2 (ja) 展開予測装置、展開予測方法、プログラム及び記録媒体
US11848842B2 (en) Network storage game allocation based on artificial intelligence
CN112148202B (zh) 训练样本读取方法及装置
JP2009157437A (ja) 分散記憶システム
CN111177160B (zh) 服务更新方法、装置、服务器及介质
JP2015515651A (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP6265337B2 (ja) プログラム、記録媒体及び描画装置決定方法
US20150271440A1 (en) Information processing apparatus, information processing method, program, and information processing system
CN109831467A (zh) 数据传输方法、设备及系统
CN113230661A (zh) 数据同步方法、装置、计算机可读介质及电子设备
EP3886451A1 (en) Method for playing on a player of a client device a content streamed in a network

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170529

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: 20180413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180424

R150 Certificate of patent or registration of utility model

Ref document number: 6333369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250