JP5977023B2 - 描画システム、プログラム、及び記録媒体 - Google Patents

描画システム、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP5977023B2
JP5977023B2 JP2011276107A JP2011276107A JP5977023B2 JP 5977023 B2 JP5977023 B2 JP 5977023B2 JP 2011276107 A JP2011276107 A JP 2011276107A JP 2011276107 A JP2011276107 A JP 2011276107A JP 5977023 B2 JP5977023 B2 JP 5977023B2
Authority
JP
Japan
Prior art keywords
screen
displayed
server
information
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011276107A
Other languages
English (en)
Other versions
JP2013099494A (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
Priority to KR1020147015303A priority Critical patent/KR101589396B1/ko
Priority to PCT/JP2012/076560 priority patent/WO2013069409A1/en
Priority to CN201280054305.XA priority patent/CN103918012A/zh
Priority to EP12848674.3A priority patent/EP2777023A4/en
Priority to US14/356,225 priority patent/US9665334B2/en
Priority to CA2853212A priority patent/CA2853212C/en
Publication of JP2013099494A publication Critical patent/JP2013099494A/ja
Application granted granted Critical
Publication of JP5977023B2 publication Critical patent/JP5977023B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/126The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Description

本発明は、描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体に関し、特にネットワーク接続された複数の機器間で描画処理を分担して1つの画面を生成する技術に関する。
ネットワーク接続可能なパーソナルコンピュータ(PC)等のクライアント機器が普及している。このような機器の普及により、インターネットにおけるネットワーク人口は増加している。近年では、ネットワークユーザに対する、インターネットを利用した様々なサービスが展開されており、ゲーム等のエンターテインメントサービスも提供されている。
ネットワークユーザに対するサービスの1つとして、MMORPG(Massively Multiplayer Online Role-Playing Game)等の多人数同時参加型のネットワークゲームがある。多人数同時参加型のネットワークゲームでは、ユーザは使用するクライアント機器を、ゲームを提供するサーバ機器に接続することで、該サーバ機器に接続されているクライアント機器を使用するユーザとの対戦プレイや協力プレイを行うことができる。
一般的な多人数参加型のネットワークゲームでは、クライアント機器はサーバ機器との間でゲームの描画に必要なデータの送受信を行う。クライアント機器は、受信した描画に必要なデータを用いて描画処理を実行し、生成したゲーム画面をクライアント機器に接続された表示装置に提示することで、ユーザにゲーム画面を提供する。また、ユーザが入力インタフェースを操作することで入力された情報はサーバ機器に送信され、サーバ機器における演算処理に使用されたり、サーバ機器に接続された他のクライアント機器に伝送されたりする。
しかしながら、このようなクライアント機器で描画処理を行うネットワークゲームの中には、十分な描画性能を行うPCや専用のゲーム機をユーザが使用すること必要となるものがある。このため、ネットワークゲーム(1コンテンツ)のユーザ数は、コンテンツに要求される性能を満足する機器の所有ユーザの数に依存してしまう。即ち、例えば美麗なグラフィックを提供するゲーム等の高い描画性能が要求されるゲームでは、ユーザ数を増加させることが困難である。
これに対し、近年ではクライアント機器の描画性能等の処理能力に依存せずに、ユーザがプレイ可能なゲームも提供されている。特許文献1のようなゲームでは、サーバ機器はクライアント機器においてなされた操作の情報を取得し、該情報を用いて描画処理を実行して得られたゲーム画面を、クライアント機器に対して提供している。
国際公開第2009/138878号パンフレット
上述した特許文献1のようなゲームでは、サーバ機器がクライアント機器に対して提供するゲーム画面を描画して転送することについて記載されている。即ち、クライアント機器は、サーバ機器において実行された描画処理により生成されたゲーム画面を受信し、再生することでゲーム画面の表示を行うことができる。しかしながら、描画処理を複数の機器間で分担する具体的な方法についてはこれまで開示されていなかった。
本発明は、上述の問題点に鑑みてなされたものであり、1つの画面についての描画処理を、複数の機器間で分担して効率的に実行する描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体を提供することを目的とする。
前述の目的を達成するために、本発明の1つの態様の描画システムは、以下の構成を備える。
表示手段に表示する画面の描画処理を、複数の機器に分担して実行する描画システムであって、複数の機器のうちの1つの機器は、表示する画面の描画内容を決定するための情報を複数の機器のうちの1つの機器を除く機器の各々に送信する送信手段と、描画内容を決定するための情報に応じて、表示する画面の描画処理のうち、第1の処理を含む一部の処理を実行して第1の画面を生成する第1の描画手段と、1つの機器を除く機器の各々が生成した、描画内容に対応する第2の画面を受信する画面受信手段と、第1の描画手段により生成された第1の画面と、画面受信手段により受信された第2の画面とを合成して表示する画面を生成する合成手段と、を有し、1つの機器を除く機器の各々は、1つの機器から描画内容を決定するための情報を受信する受信手段と、受信手段により受信された描画内容を決定するための情報に応じて、第1の画面に描画される描画オブジェクトについて、表示する画面の描画処理のうち、第1の処理を含まず、第1の処理とは異なる第2の処理を含む一部の処理を実行して第2の画面を生成する第2の描画手段と、第2の描画手段により生成された第2の画面を1つの機器に送信する画面送信手段と、を有することを特徴とする。
前述の目的を達成するために、本発明の別の態様の描画システムは、以下の構成を備える。
表示手段に表示する画面の描画処理を、第1の機器と第2の機器とに分担して実行する描画システムであって、第1の機器は、第2の機器から表示する画面の描画内容を決定するための情報を受信する受信手段と、受信手段により受信された描画内容を決定するための情報に応じて、表示する画面の描画処理のうち、第1の処理を含む一部の処理を実行して第1の画面を生成する第1の描画手段と、第2の機器が生成した、描画内容に対応する第2の画面を受信する画面受信手段と、第1の描画手段により生成された第1の画面と、画面受信手段により受信された第2の画面とを合成して表示する画面を生成する合成手段と、を有し、第2の機器は、描画内容を決定するための情報を第1の機器に送信する送信手段と、描画内容を決定するための情報に応じて、第1の画面に描画される描画オブジェクトについて、表示する画面の描画処理のうち、第1の処理を含まず、第1の処理とは異なる第2の処理を含む一部の処理を実行して第2の画面を生成する第2の描画手段と、第2の描画手段により生成された第2の画面を第1の機器に送信する画面送信手段と、を有することを特徴とする。
このような構成により本発明によれば、1つの画面についての描画処理を、複数の機器間で分担して効率的に実行することが可能となる。
本発明の実施形態に係る描画システムのシステム構成を示した図 本発明の実施形態に係るPC100の機能構成を示したブロック図 本発明の実施形態に係る描画サーバ200の機能構成を示したブロック図 本発明の実施形態1に係るゲーム処理を例示したフローチャート 本発明の実施形態1に係るクライアント側描画処理を例示したフローチャート 本発明の実施形態1に係るサーバ側描画処理を例示したフローチャート 本発明の実施形態2に係るクライアント側描画処理を例示したフローチャート
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、描画システムの一例としての、PC100において実行されるゲームプログラムに係る画面の描画処理について、予め定められた一部の処理を実行した画面をPC100に提供する描画サーバ200とに、本発明を適用した例を説明する。しかし、本発明は、1つの画面に係る描画処理を、複数の機器間で分担して実行可能な任意の機器及びシステムに適用可能である。
<描画システムの構成>
図1は、本発明の実施形態に係る描画システムのシステム構成を示す図である。
図示されるように、PC100と描画サーバ200とはインターネット等のネットワーク300を介して接続されている。本実施形態では描画サーバ200で実行されるゲームプログラムにおいて、ゲームプログラムに係る画面(ゲーム画面)についての描画処理をPC100と描画サーバ200とで分担して処理する。
具体的には1つの画面について、PC100は該画面に含まれる描画オブジェクトに対して、グローバルイルミネーションの適用をせずに、テクスチャマッピング(テクスチャリング処理)と基本的な照明モデルを利用した第1の画面の生成を行う。また描画サーバ200は、ネットワーク300を介してPC100から、画面の描画内容を決定するための情報を受信すると、該描画オブジェクトに対して、テクスチャリング処理を適用せずに、グローバルイルミネーションを適用した第2の画面の生成を行う。描画サーバ200は、ネットワーク300を介してPC100に生成した第2の画面を送信し、PC100は、受信した第2の画面と生成した第1の画面とを合成して表示するゲーム画面を生成する。そしてPC100は、該表示する画面を接続されている表示装置に出力する。
このように本実施形態の描画システムでは、2つの機器(PC100及び描画サーバ200)で1つの画面の描画処理を分担し、分担された各処理について別々に画面を生成して合成することで、最終的に描画処理に係る全ての処理が実行された画面を生成する。
なお、グローバルイルミネーションとは、マテリアルに応じた間接的な光の反射や拡散等の振る舞い等を物理学的に正確に再現するレンダリングアルゴリズムである。グローバルイルミネーションは、リアリティのある写実的な画像を描画する場合に適している。グローバルイルミネーションに係る処理は、様々なアルゴリズムにより高速化も図られてはいるが、一般的に計算量が多く、ゲームのように所定の更新フレームレートが求められる場合には、時間内に該計算を完了する能力がハードウェアに要求される。即ち、例えばゲーム等のコンテンツに係るプログラムを実行するコンピュータにおいてグローバルイルミネーションを適用するためには、コンピュータに対して求められる描画性能あるいは計算性能が非常に高く、コンテンツの利用者を制限することになる。
また、本実施形態では描画サーバ200に接続するクライアント機器として、PC100を用いて説明するが、本発明の実施はこれに限られるものではない。例えば描画サーバ200と接続するクライアント機器は、家庭用ゲーム機、携帯ゲーム機、携帯電話、PDA、タブレット等の、第1の画面を描画する描画能力を有する機器であってよい。
<PC100の構成>
図2は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
CPU101は、PC100が有する各ブロックの動作を制御する。具体的にはCPU101は、例えばROM102や記録媒体106に記録されているゲーム処理やクライアント側描画処理の動作プログラムを読み出し、RAM103に展開して実行することにより、各ブロックの動作を制御する。
ROM102は、例えば書き換え可能な不揮発性メモリである。ROM102は、ゲーム処理等の動作プログラムに加え、PC100が有する各ブロックの動作に必要な定数等の情報を記憶する。
RAM103は、揮発性メモリである。RAM103は、動作プログラムの展開領域としてだけでなく、PC100が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
GPU104は、後述する表示部108に表示するゲーム画面の生成を行う。GPU104は、ゲーム画面の描画領域としてビデオメモリ(VRAM)105が接続されている。またGPU104は不図示のGPUメモリを有する。GPU104は、CPU101より描画命令を受信すると、該描画命令に係る描画オブジェクトを受信してGPUメモリに格納する。そしてGPU104は、描画命令に応じて描画オブジェクトを、接続されたVRAM105に描画する。本実施形態ではGPU104は、描画処理に含まれる処理のうち、グローバルイルミネーションの適用をせずに、テクスチャリング処理と基本的な照明モデルを利用した第1の画面の生成を行う。
記録媒体106は、例えばHDDやSSD等のPC100に着脱可能に接続された記録装置である。本実施形態では、記録媒体106にはゲーム処理等の動作プログラムに加えて、ゲーム画面に描画される描画オブジェクトについてのモデルデータ(あるいは頂点データ及び結線データ)、テクスチャデータ、設定パラメータ等が記録されているものとする。
通信部107は、PC100が有する通信インタフェースである。通信部107は、ネットワーク300を介して接続した、描画サーバ200等の他の機器との間におけるデータ送受信を行う。データ送信時には通信部107は、ネットワーク300あるいは送信先の機器との間で定められたデータ伝送形式にデータを変換し、送信先の機器へのデータ送信を行う。またデータ受信時には通信部107は、ネットワーク300を介して受信したデータを、PC100において読み取り可能な任意のデータ形式に変換し、例えばRAM103に記憶させる。
なお、本実施形態ではPC100と描画サーバ200とは、ネットワーク300を介して接続されるものとして説明するが、例えばPC100と描画サーバ200とが直接ケーブルにより接続される形態であってもよいことは容易に想像されよう。また、PC100と描画サーバ200とは、それ以外の他の機器を介して接続される形態であってもよい。
表示部108は、例えばLCDモニタ等のPC100に接続された表示装置である。表示部108は、入力されたゲーム画面を表示領域に表示する表示制御を行う。なお、表示部108は、ラップトップPCのようにPC100に内蔵される表示装置であってもよいし、ケーブルを用いてPC100に外部接続された表示装置であってもよい。
操作入力部109は、例えばマウス、キーボード、ゲームパッド等のPC100が有するユーザインタフェースである。操作入力部109は、ユーザによりユーザインタフェースの操作がなされたことを検出すると、該操作に対応する制御信号をCPU101に対して出力する。
<描画サーバ200の構成>
図3は、本発明の実施形態に係る描画サーバ200の機能構成を示すブロック図である。
サーバCPU201は、描画サーバ200が有する各ブロックの動作を制御する。具体的にはサーバCPU201は、例えばサーバROM202やサーバ記録媒体206に記憶されているサーバ側描画処理の動作プログラムを読み出し、サーバRAM203に展開して実行することにより、各ブロックの動作を制御する。
サーバROM202は、例えば書き換え可能な不揮発性メモリである。サーバROM202は、サーバ側描画処理等の動作プログラムに加え、描画サーバ200が有する各ブロックの動作において必要となる定数等の情報を記憶する。
サーバRAM203は、揮発性メモリである。サーバRAM203は、動作プログラムの展開領域としてだけでなく、描画サーバ200が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
サーバGPU204は、PC100の表示部108に表示するゲーム画面について、描画処理のうちの、テクスチャリング処理を含まない予め定められた一部の処理を適用した画面(第2の画面)の生成を行う。サーバGPU204には、サーバVRAM205が接続されている。サーバGPU204は、サーバCPU201より描画命令を受信すると、該描画命令に係る描画オブジェクトを受信してGPUメモリに格納する。サーバGPU204は、接続されたサーバVRAM205に対して描画を行う場合、描画オブジェクトのキャッシュメモリへの展開を行なった後、該展開後の描画オブジェクトをVRAM105書き込む。
本実施形態ではサーバGPU204は、ゲーム画面についての描画処理のうち、予め定められた一部の処理として、グローバルイルミネーションを適用する処理を担当する。サーバGPU204は、ゲーム画面の描画内容を決定するための情報として受信した、ゲーム画面に対応するカメラ(視点)の位置及び方向の情報に従って、画面の生成を行う。このときサーバGPU204は、ゲーム画面に含まれる描画オブジェクトについて、テクスチャリング処理を適用せずに、グローバルイルミネーションを適用した第2の画面をサーバVRAM205に生成する。
サーバ記録媒体206は、例えばHDD等の、描画サーバ200に着脱可能に接続される記録装置である。本実施形態ではサーバ記録媒体206には、描画処理において画面の生成に用いるモデルデータや光源情報等が記録されているものとする。なお、サーバ記録媒体206に記録されるモデルデータは、PC100の記録媒体106に記録されているものと同一である。
また本実施形態では、描画サーバ200は上述したように描画内容を決定するための情報としてゲーム画面に対応するカメラの位置及び方向を示す情報を、PC100から受信する。つまり、サーバGPU204はカメラの位置及び方向の情報に基づいて、ゲーム画面に含まれる描画オブジェクトを特定する必要がある。このためサーバ記録媒体206には、ゲーム画面に含まれる描画オブジェクトとして、PC100におけるゲーム処理と同一の描画オブジェクトを特定する処理プログラムが記録される。該処理プログラムは、ゲーム処理と同一であってもよいし、ゲーム処理とは異なるが、カメラの位置及び方向の情報からゲーム画面に含まれる描画オブジェクト及びその位置・回転情報等のパラメータを特定するプログラムであってよい。
サーバ通信部207は、描画サーバ200が有する通信インタフェースである。本実施形態ではサーバ通信部207は、ネットワーク300を介して接続したPC100等の、他の機器との間におけるデータ送受信を行う。なお、サーバ通信部207は通信部107と同様に、通信仕様に従ったデータ形式の変換を行う。
<ゲーム処理>
このような構成をもつ本実施形態の描画システムのPC100において実行される、基本的なゲーム処理について、図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、CPU101が、例えば記録媒体106に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本ゲーム処理は、例えばPC100においてゲーム処理に対応するアプリケーションの実行指示がなされた際に開始され、ゲームの1フレームごとに繰り返し実行されるものとして説明する。
なお、本実施形態では説明を簡単にするため、PC100において実行されるゲームコンテンツは、操作対象のキャラクタの一人称視点がゲーム画面として提供される、所謂FPS(First Person Shooter)等のゲームであるものとする。また、ゲーム画面に含まれるキャラクタ等の描画オブジェクトの移動やアクションは、発生しない、あるいは時間等の一意に決定される変数に応じて定義できるものとする。即ち、本実施形態のPC100において実行されるゲームコンテンツは、ゲーム画面に対応するカメラの位置及び方向を示す情報のみで、ゲーム画面に含まれる描画オブジェクトを特定可能である。つまり、PC100のゲーム処理により規定されたゲーム画面は、カメラの位置及び方向を示す情報のみで描画サーバ200においても同様の画面を規定することができる。
しかしながら、本発明の実施はこのようなFPSゲーム等の一人称視点のゲーム画面を提供するものに限られず、描画処理により得られた画面を提供する他のコンテンツについても適用可能である。例えば、画面内にユーザからの操作入力に応じて、あるいはランダムイベントにより、ゲーム画面内に含まれる描画オブジェクトの移動やアクションが発生する場合は、フレームにおける各描画オブジェクトの移動やアクションを定義するパラメータが、カメラの位置及び方向とは別に描画内容を決定するための情報として描画サーバ200に送信されればよい。またユーザからの操作入力が直接描画サーバ200に送信されてもよい。
S401で、CPU101は、ゲーム画面を規定する、カメラの位置及び方向を変更する操作入力がユーザによりなされたか否かを判断する。具体的にはCPU101は、カメラの位置及び方向を変更する操作入力に対応する制御信号を、操作入力部109から受信したか否かを判断することにより、該操作入力がなされたか否かを判断する。CPU101は、ゲームについての操作入力がなされたと判断した場合は処理をS402に移し、なされていないと判断した場合は処理をS403に移す。
S402で、CPU101は、カメラの位置及び方向を変更する操作入力に応じて、例えばRAM103に格納されているカメラの位置及び方向を示す情報(描画カメラパラメータ)を更新する。
S403で、CPU101は、RAM103に格納されている描画カメラパラメータを描画内容を決定するための情報として描画サーバ200に送信する。具体的にはCPU101は、RAM103から描画カメラパラメータを読み出し、通信部107に伝送して描画サーバ200に送信させる。
S404で、CPU101は、RAM103に格納されている描画カメラパラメータに従って、ゲーム画面に係る第1の画面の描画を行うクライアント側描画処理を実行する。
(クライアント側描画処理)
ここで、本実施形態のPC100において実行される、クライアント側描画処理について、図5のフローチャートを用いて具体的な処理を説明する。
S501で、CPU101は、描画するゲーム画面に含まれる描画オブジェクトを特定する。具体的にはCPU101は、RAM103から描画カメラパラメータを読み出し、該描画カメラパラメータにより規定される、ワールド上の描画範囲の情報を算出する。そしてCPU101は、該描画範囲に含まれる描画オブジェクトを、例えばワールドに分布する描画オブジェクトの配置位置の情報に基づいて特定する。
S502で、CPU101は、所定の描画順決定方法により決定された描画順に応じて、まだ描画がなされていない描画オブジェクトを選択する。そしてCPU101は、該描画オブジェクトについての描画命令をGPU104に伝送する。またCPU101は、該描画オブジェクトのモデルデータ(あるいは頂点データ及び結線データ)、テクスチャデータ、及び描画オブジェクトについての位置・回転情報のパラメータを記録媒体106から読み出し、GPU104に転送する。なお、本ステップで選択される描画オブジェクトには、背景オブジェクトも含まれるものとする。GPU104は、転送された描画オブジェクトについての情報をGPUメモリに格納する。
S503で、GPU104はCPU101の制御のもと、選択された描画オブジェクトについての位置・回転情報のパラメータに従って、GPUメモリに格納されたモデルデータを移動及び回転させる。具体的にはGPU104は、選択された描画オブジェクトの各頂点に対し、位置・回転情報のパラメータに対応する空間座標を定義する。
S504で、GPU104はCPU101の制御のもと、S503で移動及び回転させたモデルデータの各ポリゴンに対して、GPUメモリに格納したテクスチャデータを用いてテクスチャマッピング(テクスチャリング処理)を行い、VRAM105のフレームバッファに描画する。なお、本クライアント側描画処理において描画する描画オブジェクトの各々については、反射等の光源計算を行わず、各頂点は予め定められた固定値等で明るさが定義されて描画されるものとする。
S505で、CPU101は、描画範囲に含まれる描画オブジェクトの全てについて、GPU104によるVRAM105への描画が完了したか否かを判断する。CPU101は、全ての描画オブジェクトのVRAM105への描画が完了したと判断した場合は本クライアント側描画処理を終了し、完了していないと判断した場合は処理をS502に戻す。
このようにクライアント側描画処理が実行されることにより、グローバルイルミネーションを適用せず、テクスチャリング処理と基本的な照明モデルを利用して生成された第1の画面が得られる。
S405で、CPU101は、ゲーム画面に係るテクスチャリング処理を適用せずに、グローバルイルミネーションを適用して生成された第2の画面を受信したか否かを判断する。具体的にはCPU101は、通信部107がネットワーク300を介して描画サーバ200から第2の画面を受信したか否かを判断する。CPU101は、第2の画面を受信したと判断した場合は処理をS406に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
なお、本実施形態では第1の画面及び第2の画面の生成は1フレーム内で実行されるものとして説明するが、本発明の実施はこれに限られるものではない。例えば第2の画面の生成が1フレーム内に完了しない場合、S404で実行したクライアント側描画処理により得られた第1の画面と、本ステップで受信した第2の画面とが、同一のフレームのゲーム画面について描画されたものであるかを判別するため、第2の画面には描画しているフレームを識別するフレーム識別情報が含まれていてもよい。この場合、CPU101はS403において描画内容を決定するための情報を送信する際に、フレーム識別情報を含める。そして描画サーバ200において第2の画面が生成されてPC100に対して送信される際に、サーバCPU201により該フレーム識別情報が関連付けられるものとする。即ち、CPU101は、通信部107が受信した画面に関連付けられているフレーム識別情報を参照することで、受信した画面が同一のフレームのゲーム画面について描画されたものであるかを判別することができる。
S406で、CPU101は、受信した第2の画面と第1の画面とを合成して、表示部108に表示する最終的なゲーム画面を例えばVRAM105に生成する。具体的には、第1の画面及び第2の画面は、例えばR成分、G成分、及びB成分の画像で構成されており、各色の画像について同一画素位置の画素の合成を行うことにより、最終的なゲーム画面に係る各色の画像を生成する。なお、各画素の画素値は正規化された値であり、画素の合成は例えば画素値の乗算を行うことにより実行されればよい。
S407で、CPU101は、S406で生成した最終的なゲーム画面を、表示部108に転送し、表示画面に表示させる。
<サーバ側描画処理>
一方、描画サーバ200において実行される、ゲーム画面に係る第2の画面の描画を行うサーバ側描画処理について、図6のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、サーバCPU201が、例えばサーバ記録媒体206に記録されている対応する処理プログラムを読み出し、サーバRAM203に展開して実行することにより実現することができる。なお、本サーバ側描画処理は、例えばゲーム画面の描画内容を決定するための情報である描画カメラパラメータを、サーバ通信部207が受信したことをサーバCPU201が検出した際に開始されるものとして説明する。また、サーバ通信部207が受信した描画カメラパラメータは、サーバCPU201によりサーバRAM203に格納されるものとして以下は説明する。
S601で、サーバCPU201は、描画するゲーム画面に含まれる描画オブジェクトを特定する。具体的にはサーバCPU201は、サーバRAM203から描画カメラパラメータを読み出し、該描画カメラパラメータにより規定される、ワールド上の描画範囲の情報を算出する。そしてサーバCPU201は、該描画範囲に含まれる描画オブジェクトを、PC100と同様にワールドに分布する描画オブジェクトの配置位置の情報に基づいて特定する。
S602で、サーバCPU201は、所定の描画順決定方法により決定された描画順に応じて、まだ描画がなされていない描画オブジェクトを選択する。そしてサーバCPU201は、該描画オブジェクトについての描画命令をサーバGPU204に伝送する。またサーバCPU201は、該描画オブジェクトのモデルデータ、及び位置・回転情報のパラメータを記録媒体106より読み出し、サーバGPU204に転送する。サーバGPU204は、転送された描画オブジェクトについての情報をGPUメモリに格納する。
S603で、サーバGPU204はサーバCPU201の制御のもと、選択された描画オブジェクトについての位置・回転情報のパラメータに従って、GPUメモリに格納されたモデルデータを移動及び回転させ空間座標を定義する。
S604で、サーバCPU201は、描画範囲に含まれる描画オブジェクトの全てについて、空間座標の定義が完了したか否かを判断する。サーバCPU201は、全ての描画オブジェクトの空間座標の定義が完了したと判断した場合は処理をS605に移し、完了していないと判断した場合は処理をS602に戻す。
S605で、サーバGPU204はサーバCPU201の制御のもと、グローバルイルミネーションを適用する処理を行う。まずサーバCPU201は、描画範囲あるいはその周辺について適用される光源の位置・方向・種類を示す情報(光源情報)をサーバ記録媒体206より読み出し、サーバGPU204に伝送する。サーバGPU204は、光源情報を受け取ると空間座標を定義した描画オブジェクトについて、例えばフォトンマッピング法やラジオシティ法等、光源情報に基づいたグローバルイルミネーションに係る計算処理を実行する。そしてサーバGPU204は、グローバルイルミネーションを適用した第2の画面をサーバVRAM205に描画する。
S606で、サーバCPU201は、サーバGPU204により描画された第2の画面を取得してサーバ通信部207に伝送し、PC100に対して送信させる。なお、本実施形態のように、ゲーム画面の提供が連続した動画データとして行われる構成においては、描画サーバ200からPC100に対して送信される第2の画面の形態は、画像データ形式に限られなくてもよい。即ち、連続して画面の送信が行われることを考えると、サーバCPU201は、生成された第2の画面について、前後のフレーム等を参照したフレーム間予測等を含む符号化処理を実行した上で得られた符号化動画データを、PC100に対して送出する形であってもよい。
このように、本実施形態の描画システムは、ゲーム画面の描画処理を、テクスチャリング処理を行なう第1の画面と、グローバルイルミネーションを適用する第2の画面とに分けて生成することができる。つまり、描画処理において計算性能が要求されるグローバルイルミネーションについては、計算資源に余裕を持たせた設計が可能な描画サーバに割り当てることで、クライアント機器の描画性能に依らず、品質の高いゲーム画面の提供を行うことが可能である。
なお、本実施形態ではクライアント機器であるPC100と描画サーバ200とが通信接続されていることを前提として説明したが、例えば通信が切断された場合は、合成を行わずに第1の画面を提供する形態であってもよい。また、通信接続されているか否かによって、PC100において描画する第1の画面の描画処理を切り替える構成であっても良い。即ち、描画サーバ200との通信が可能でない場合は、PC100の描画性能に応じた光源計算を行なったゲーム画面を描画して提供する。一方、描画サーバ200との通信が可能である場合は、PC100においては光源計算を行わず、グローバルイルミネーションを適用した第2の画面との合成を行うことで、光源の再現度が高い、高品質なゲーム画面を提供する形態であってもよい。
この場合、例えばネットワーク上の描画サーバ200に描画処理を分担して得られた画像を使用して、ゲーム画面の高品質化が行われていることを、PC100の表示部108に表示することでユーザに通知してもよい。また逆に、ネットワーク上の描画サーバ200と通信ができず、ゲーム画面の高品質化を行わず、PC100のみで描画処理を行なって得られたゲーム画面が表示されていることを、表示部108に表示することで通知してもよい。
また、グローバルイルミネーションを適用したゲーム画面の提供は、ユーザにより切り替えられるものであってもよい。
[実施形態2]
上述した実施形態では、クライアント機器であるPC100においてゲーム進行を管理する場合の、PC100及び描画サーバ200の各々における描画処理について説明した。本実施形態では、サーバ機器である描画サーバ200においてゲーム進行を管理するゲーム処理を実行する場合の、各機器における描画処理について以下に説明する。
<ゲーム処理>
まず上述の実施形態1と同様の構成をもつ、本実施形態の描画システムの描画サーバ200において実行される、基本的なゲーム処理について説明する。ゲーム処理は、例えば描画サーバ200が起動された際にサーバCPU201により実行が開始され、ゲームの1フレームごとに繰り返し実行されるものとして説明する。
本実施形態の描画サーバ200において実行されるゲーム処理は、上述の実施形態1のPC100において実行されるゲーム処理と略同一であるため、処理の詳細な説明については省略し、異なる点のみについて説明する。
実施形態1のゲーム処理では、ゲーム画面を規定する、カメラの位置及び方向を変更する操作入力がユーザによりなされたことを受けて、PC100においてCPU101がカメラの位置及び方向を示す描画カメラパラメータへの変更及び更新を行なった。本実施形態では、該描画カメラパラメータの変更及び更新は描画サーバ200においてサーバCPU201が実行する。このため、PC100において検出されたカメラの位置及び方向を変更する操作入力を示す情報は通信部107を介して描画サーバ200に伝送され、サーバCPU201は該操作入力を示す情報に基づいて、描画カメラパラメータを変更及び更新する。
また描画カメラパラメータの決定後、サーバCPU201は描画カメラパラメータをサーバ通信部207を介してPC100に伝送する。このとき、CPU101は通信部107が描画カメラパラメータを受信したことを検出すると、後述するクライアント側描画処理を実行する。またサーバCPU201は、描画カメラパラメータの決定後、該パラメータを使用して上述した実施形態1と同様のサーバ側描画処理を実行し、1フレームに係るゲーム処理を完了する。
<クライアント側描画処理>
以下、本実施形態のPC100において実行されるクライアント側描画処理について、図7のフローチャートを用いて具体的な処理を説明する。なお、上述したように本クライアント側描画処理は、通信部107が描画カメラパラメータを受信したことをCPU101が検出した際に開始されるものとして説明する。また、本実施形態のクライアント側描画処理側描画処理において、上述した実施形態1と同様の処理を行うステップについては同一の参照符号を付して説明を省略し、本実施形態に特徴的な処理の説明に留める。
S504における描画オブジェクトの描画がなされた後、CPU101はS701で、描画範囲に含まれる描画オブジェクトの全てについて、GPU104によるVRAM105への描画が完了したか否かを判断する。CPU101は、全ての描画オブジェクトのVRAM105への描画が完了したと判断した場合は処理をS702に移し、完了していないと判断した場合は処理をS502に戻す。
S702で、CPU101は、ゲーム画面に係るテクスチャリング処理を適用せずに、グローバルイルミネーションを適用して生成された第2の画面を受信したか否かを判断する。具体的にはCPU101は、通信部107がネットワーク300を介して描画サーバ200から第2の画面を受信したか否かを判断する。CPU101は、第2の画面を受信したと判断した場合は処理をS703に移し、受信していないと判断した場合は本ステップの処理を繰り返す。
S703で、CPU101は、受信した第2の画面と第1の画面とを合成して、表示部108に表示する最終的なゲーム画面を例えばVRAM105に生成する。具体的には、第1の画面及び第2の画面は、例えばR成分、G成分、及びB成分の画像で構成されており、各色の画像について同一画素位置の画素の合成を行うことにより、最終的なゲーム画面に係る各色の画像を生成する。
S704で、CPU101は、S703で生成した最終的なゲーム画面を、表示部108に転送し、表示画面に表示させる。
このようにすることで、ネットワークゲームのようにゲーム進行の管理をサーバ側で行う形態であっても、本発明を適用して、効率的に描画処理を分散させ、かつグローバルイルミネーションが適用された高品質のゲーム画面をクライアント機器においてユーザに提供することができる。
なお、本実施形態のようにサーバがゲーム進行を管理する場合、以下のような利点がある。例えばサーバ機器が複数のクライアント機器に対してゲーム画面の提供を同時に行う場合、応答性が要求されるゲームコンテンツ等では、サーバ機器における描画処理の計算負荷が高くなる。即ち、サーバ機器は描画性能及び要求される応答性に応じて、画面を提供可能なクライアント機器数が限られることになる。これに対し、クライアント機器にも一般的な描画性能で実行可能な処理を実行させ、サーバ機器とクライアント機器との間で描画処理を分担することにより、より多くのクライアント機器に画面を提供できる。また一般的にテクスチャマッピングを適用しないで描画されたゲーム画面は、圧縮効率が高く、インターネット等のネットワークを通じて、少ない帯域量で送信できる。
また、上述した実施形態1及び2では、描画処理の予め定められた一部の処理を、テクスチャリング処理に比べて計算負荷が高く、より高い計算性能を必要とするグローバルイルミネーションの適用処理として説明したが、本発明の実施はこれに限られるものではない。本発明は、複数の機器間における、1つの画面についての描画処理を分担して実行した結果、それぞれの機器において生成された1つの画面に係る複数の画像を合成することで、1つの機器で描画処理を行なった場合と同様の画面の生成するものである。即ち、本発明は、1つの画面に係る描画処理を複数の機器に分担した結果、複数の機器の各々から得られた画像を単純な処理で合成することで、所望の1つの画面を得るものであれば適用可能である。例えば、本実施形態で説明したような光源計算(シェーディング処理)や、エフェクトを与える描画オブジェクトの重畳等、少なくともテクスチャリング処理(第1の処理)が適用された描画オブジェクトが描画された第1の画面に対して、後付けで重畳可能な画像を生成する処理(第2の処理)であれば、第1の画面を描画する機器とは異なる機器に分担して実行させてよい。
なお、上述した実施形態では、基本的な照明モデルを利用する描画処理についてはクライアント機器において実行されるものとして説明したが、現状のゲームコンソールで普及している描画方式であるシェーダアーキテクチャを利用する描画処理についても、本発明の適用は可能である。基本的なシェーダアーキテクチャを利用した描画処理には、一般的にバーテックスシェーダ、ジオメトリシェーダ、ピクセルシェーダが含まれる。このうち、テクスチャマッピングを行なった描画オブジェクトの描画を行うために最低限必要なバーテックスシェーダ、ジオメトリシェーダについてはクライアント機器において実行し、バンプマッピング、スペキュラーマッピング、反射マッピング等を含むエフェクトの適用を行うピクセルシェーダについては、描画サーバに分担する形であってもよい。
また、本実施形態では描画処理を2つの機器に分担して実行する場合についてのみ説明したが、本発明の実施はこれに限らず、2以上の機器に描画処理を分担して1つの画面を生成するものであれば適用可能であることは容易に想像されよう。なお、この場合、各機器に分担される描画処理は、各機器の描画処理の結果の画像を上述したように単純に合成することで最終的な1つの画面を生成可能なように分担されるものとする。
また本発明は、上述した実施形態で説明した、3次元シーンを2次元画像に描画する描画処理のように、1つの画面を生成する際に、都度計算処理を行って描画処理が行われるケースについて適用されることが好ましい。しかしながら、本発明の実施はこれに限られず、例えば静止画像について、描画サーバが該静止画像の解析を行ない、輝度補正を行うフィルタを画像として送信し、クライアント機器において静止画像とフィルタの合成が行われる構成であってもよい。
以上説明したように、本発明の描画システムは、1つの画面についての描画処理を、複数の機器間で分担して効率的に実行することができる。具体的には描画システムは、表示装置に表示する画面の描画処理を、複数の機器に分担して実行する。複数の機器のうちの1つの機器は、表示する画面の描画内容を決定するための情報を、複数の機器のうちの1つの機器を除く機器の各々に送信する。また該1つの機器は、描画内容を決定するための情報に応じて、表示する画面の描画処理のうち、第1の処理を含む一部の処理を実行して第1の画面を生成する。一方、1つの機器を除く機器の各々は、該1つの機器から描画内容を決定するための情報を受信すると、該情報に応じて、表示する画面の描画処理のうち、第1の処理を含まず、第1の処理とは異なる第2の処理を含む一部の処理を実行して第2の画面を生成して1つの機器に送信する。そして1つの機器は、該1つの機器を除く機器の各々が生成した第2の画面を受信し、第1の画面と第2の画面とを合成して表示する画面を生成する。
このように1つの画面についての描画処理を他の機器に分担して実行させることができ、その分担した描画処理による効果を、合成処理により容易に適用することができるため、例えばクライアント機器の描画性能によらず、リッチ化したゲーム画面の提供を行うことができる。

Claims (12)

  1. 表示手段に表示する画面の描画処理を、複数の機器に分担して実行する描画システムであって、
    前記複数の機器のうちの1つの機器は、
    前記表示する画面の描画内容を決定するための情報を前記複数の機器のうちの前記1つの機器を除く機器の各々に送信する送信手段と、
    前記描画内容を決定するための情報に応じて、前記表示する画面の描画処理のうち、第1の処理を含む一部の処理を実行して第1の画面を生成する第1の描画手段と、
    前記1つの機器を除く機器の各々が生成した、前記描画内容に対応する第2の画面を受信する画面受信手段と、
    前記第1の描画手段により生成された前記第1の画面と、前記画面受信手段により受信された前記第2の画面とを合成して前記表示する画面を生成する合成手段と、を有し、
    前記1つの機器を除く機器の各々は、
    前記1つの機器から前記描画内容を決定するための情報を受信する受信手段と、
    前記受信手段により受信された前記描画内容を決定するための情報に応じて、前記第1の画面に描画される描画オブジェクトについて、前記表示する画面の描画処理のうち、前記第1の処理を含まず、前記第1の処理とは異なる第2の処理を含む一部の処理を実行して前記第2の画面を生成する第2の描画手段と、
    前記第2の描画手段により生成された前記第2の画面を前記1つの機器に送信する画面送信手段と、を有する
    ことを特徴とする描画システム。
  2. 表示手段に表示する画面の描画処理を、第1の機器と第2の機器とに分担して実行する描画システムであって、
    前記第1の機器は、
    前記第2の機器から前記表示する画面の描画内容を決定するための情報を受信する受信手段と、
    前記受信手段により受信された前記描画内容を決定するための情報に応じて、前記表示する画面の描画処理のうち、第1の処理を含む一部の処理を実行して第1の画面を生成する第1の描画手段と、
    前記第2の機器が生成した、前記描画内容に対応する第2の画面を受信する画面受信手段と、
    前記第1の描画手段により生成された前記第1の画面と、前記画面受信手段により受信された前記第2の画面とを合成して前記表示する画面を生成する合成手段と、を有し、
    前記第2の機器は、
    前記描画内容を決定するための情報を前記第1の機器に送信する送信手段と、
    前記描画内容を決定するための情報に応じて、前記第1の画面に描画される描画オブジェクトについて、前記表示する画面の描画処理のうち、前記第1の処理を含まず、前記第1の処理とは異なる第2の処理を含む一部の処理を実行して前記第2の画面を生成する第2の描画手段と、
    前記第2の描画手段により生成された前記第2の画面を前記第1の機器に送信する画面送信手段と、を有する
    ことを特徴とする描画システム。
  3. 前記表示する画面の描画処理は、3次元シーンを2次元画像に描画する処理であり、前記第1の画面と前記第2の画面とは、3次元シーン内の同一の描画オブジェクトについて、異なる処理を実行して得られた2次元画像を含むことを特徴とする請求項1または2に記載の描画システム。
  4. 前記第2の処理は、前記第1の処理に比べて計算負荷が高い処理であることを特徴とする請求項1乃至3のいずれか1項に記載の描画システム。
  5. 前記第1の処理を含む一部の処理は、前記表示する画面に含まれる描画オブジェクトを描画するために最低限必要であるものとして定められた処理であることを特徴とする請求項1乃至4のいずれか1項に記載の描画システム。
  6. 前記第1の処理は、前記表示する画面に含まれる描画オブジェクトにテクスチャを適用する処理であることを特徴とする請求項1乃至5のいずれか1項に記載の描画システム。
  7. 前記第2の画面は、前記表示する画面に含まれる描画オブジェクトについての輝度表現を変更する値を有する画面であることを特徴とする請求項1乃至6のいずれか1項に記載の描画システム。
  8. 前記描画内容を決定するための情報は、前記表示する画面を定義するカメラ位置及び方向を示す情報であることを特徴とする請求項1乃至7のいずれか1項に記載の描画システム。
  9. 前記合成手段は、前記画面受信手段により前記第2の画面が受信できない場合に、前記第1の画面を前記表示する画面として出力することを特徴とする請求項1乃至8のいずれか1項に記載の描画システム。
  10. 表示手段に表示する画面の描画処理を、複数の機器に分担して実行する描画システムであって、
    前記描画システムは、前記表示手段に表示するユーザインタフェースにおいて、
    前記複数の機器のうちの1つの機器において第1の処理を含む一部の処理を実行して生成された第1の画面が前記表示する画面として表示されることを示す通常画面通知部と、
    前記複数の機器のうちの前記1つの機器を除く機器において、前記第1の画面に描画される描画オブジェクトについて、前記第1の処理を含まず、前記第1の処理とは異なる第2の処理を含む一部の処理を実行して生成された第2の画面と、前記第1の画面とを合成して得られた画面が前記表示する画面として表示されることを示す拡張画面通知部と、
    を有することを特徴とする描画システム。
  11. 表示手段が接続されたコンピュータを、
    前記表示手段に表示する画面の描画内容を決定するための情報を描画サーバに送信する送信手段と、
    前記描画内容を決定するための情報に応じて、前記表示する画面の描画処理のうち、第1の処理を含む一部の処理とは異なる一部の処理を実行して第1の画面を生成する描画手段と、
    前記第1の画面に描画される描画オブジェクトについて前記描画サーバが生成した、前記描画内容に対応する第2の画面を受信する画面受信手段と、
    前記描画手段により生成された前記第1の画面と、前記画面受信手段により受信された前記第2の画面とを合成して前記表示する画面を生成する合成手段と、
    前記合成手段により生成された前記表示する画面を前記表示手段に表示する手段
    として機能させるためのプログラム。
  12. 請求項1に記載のプログラムが記録されたコンピュータが読み取り可能な記録媒体。
JP2011276107A 2011-11-07 2011-12-16 描画システム、プログラム、及び記録媒体 Active JP5977023B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020147015303A KR101589396B1 (ko) 2011-11-07 2012-10-05 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체
PCT/JP2012/076560 WO2013069409A1 (en) 2011-11-07 2012-10-05 Rendering system, rendering server, control method thereof, program, and recording medium
CN201280054305.XA CN103918012A (zh) 2011-11-07 2012-10-05 渲染系统、渲染服务器、其控制方法、程序及记录媒体
EP12848674.3A EP2777023A4 (en) 2011-11-07 2012-10-05 Presentation system, presentation server, control method, program and recording medium
US14/356,225 US9665334B2 (en) 2011-11-07 2012-10-05 Rendering system, rendering server, control method thereof, program, and recording medium
CA2853212A CA2853212C (en) 2011-11-07 2012-10-05 System, server, and control method for rendering an object on a screen

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161556544P 2011-11-07 2011-11-07
US61/556544 2011-11-07

Publications (2)

Publication Number Publication Date
JP2013099494A JP2013099494A (ja) 2013-05-23
JP5977023B2 true JP5977023B2 (ja) 2016-08-24

Family

ID=48620773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011276107A Active JP5977023B2 (ja) 2011-11-07 2011-12-16 描画システム、プログラム、及び記録媒体

Country Status (7)

Country Link
US (1) US9665334B2 (ja)
EP (1) EP2777023A4 (ja)
JP (1) JP5977023B2 (ja)
KR (1) KR101589396B1 (ja)
CN (1) CN103918012A (ja)
CA (1) CA2853212C (ja)
WO (1) WO2013069409A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8957896B2 (en) 2012-06-11 2015-02-17 Disney Enterprises, Inc. Streaming hierarchy traversal renderer
US9053582B2 (en) 2012-06-11 2015-06-09 Disney Enterprises, Inc. Streaming light propagation
US9123162B2 (en) 2012-06-11 2015-09-01 Disney Enterprises, Inc. Integration cone tracing
US9123154B2 (en) * 2012-10-09 2015-09-01 Disney Enterprises, Inc. Distributed element rendering
US9508315B2 (en) 2013-03-08 2016-11-29 Disney Enterprises, Inc. Ordering rays in rendered graphics for coherent shading
US10008034B2 (en) * 2013-05-03 2018-06-26 Nvidia Corporation System, method, and computer program product for computing indirect lighting in a cloud network
US10713838B2 (en) * 2013-05-03 2020-07-14 Nvidia Corporation Image illumination rendering system and method
KR102058465B1 (ko) 2013-05-22 2019-12-23 삼성전자 주식회사 전자기기 원격제어 시스템 및 이의 운용방법
JP6379673B2 (ja) * 2014-05-26 2018-08-29 凸版印刷株式会社 描画システム、描画装置、計算装置、描画プログラム、及び描画プロセッサ基盤
CN106887032B (zh) * 2015-12-15 2020-09-29 中国电信股份有限公司 三维场景渲染方法和系统以及相关设备
US11068584B2 (en) * 2016-02-01 2021-07-20 Google Llc Systems and methods for deploying countermeasures against unauthorized scripts interfering with the rendering of content elements on information resources
CN106157366A (zh) * 2016-08-03 2016-11-23 上海同筑信息科技有限公司 基于bim的超大场景在移动端的渲染优化方法及系统
JP6984001B2 (ja) 2017-04-21 2021-12-17 ゼニマックス メディア インク.Zenimax Media Inc. 動きベクトル予測のためのプレイヤ入力の動き補償のためのシステムおよび方法
KR20240001278A (ko) 2017-04-21 2024-01-03 제니맥스 미디어 인크. 게임-생성된 모션 벡터들을 위한 시스템들 및 방법들
KR102282233B1 (ko) 2017-04-21 2021-07-28 제니맥스 미디어 인크. 비디오 인코딩의 연기된 포스트-프로세스들을 위한 시스템들 및 방법들
JP7145204B2 (ja) 2017-04-21 2022-09-30 ゼニマックス メディア インク. 誘導式エンコーダの適応品質レンダリングのためのシステムおよび方法
GB2593598B (en) 2017-04-21 2021-12-29 Zenimax Media Inc Systems and methods for rendering & pre-encoded load estimation based encoder hinting
CN111694625B (zh) * 2019-03-14 2023-05-19 阿里巴巴集团控股有限公司 一种车盒向车机投屏的方法和设备
US11270496B2 (en) * 2019-05-24 2022-03-08 Nvidia Corporation Fine grained interleaved rendering applications in path tracing
CN112118463A (zh) * 2019-06-21 2020-12-22 广州虎牙科技有限公司 一种信息处理方法、云平台及信息处理系统
US11941752B2 (en) 2020-07-21 2024-03-26 Nvidia Corporation Streaming a compressed light field
CN111882636A (zh) * 2020-07-24 2020-11-03 上海米哈游天命科技有限公司 一种画面渲染方法、装置、设备和介质
US11501467B2 (en) 2020-11-03 2022-11-15 Nvidia Corporation Streaming a light field compressed utilizing lossless or lossy compression
WO2023002687A1 (ja) * 2021-07-19 2023-01-26 ソニーグループ株式会社 情報処理装置及び情報処理方法
CN114489540B (zh) * 2022-01-12 2022-09-23 广州三七极耀网络科技有限公司 游戏画面的协同显示方法、系统、装置及介质
CN116524104B (zh) * 2023-07-03 2023-10-03 腾讯科技(深圳)有限公司 渲染数据处理方法、装置、设备及存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261030A (en) * 1991-07-24 1993-11-09 Hughes Training, Inc. Real-time digital computer graphics processing method and apparatus
GB2267203B (en) 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
JPH0683977A (ja) * 1992-08-31 1994-03-25 Fujitsu Ltd 描画方式
JPH06214555A (ja) * 1993-01-20 1994-08-05 Sumitomo Electric Ind Ltd 画像処理装置
IL119928A (en) * 1996-12-29 2001-01-11 Univ Ramot Model-based view extrapolation for interactive virtual reality systems
GB2347332B (en) 1998-10-28 2003-07-09 Canon Kk Computer games apparatus
US6226017B1 (en) * 1999-07-30 2001-05-01 Microsoft Corporation Methods and apparatus for improving read/modify/write operations
JP3269814B2 (ja) 1999-12-03 2002-04-02 株式会社ナムコ 画像生成システム及び情報記憶媒体
JP3466173B2 (ja) 2000-07-24 2003-11-10 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、デバイス、方法及びコンピュータプログラム
JP2002216151A (ja) 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
US7064766B2 (en) 2001-10-18 2006-06-20 Microsoft Corporation Intelligent caching data structure for immediate mode graphics
US7916147B2 (en) 2002-03-01 2011-03-29 T5 Labs Ltd. Centralised interactive graphical application server
US7088374B2 (en) * 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
JP2005284403A (ja) * 2004-03-26 2005-10-13 Olympus Corp 3次元情報出力システム、サーバ並びにクライアント
JP4457840B2 (ja) * 2004-10-08 2010-04-28 日本電気株式会社 3dコンテンツ配信方法、システム、装置、及び、プログラム
JP2006252291A (ja) 2005-03-11 2006-09-21 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
US7385614B2 (en) 2005-03-28 2008-06-10 Silicon Graphics, Inc. Compositing images using logically divided object space
JP2007060015A (ja) * 2005-08-22 2007-03-08 Aiphone Co Ltd インターホンシステム
US8527563B2 (en) 2005-09-12 2013-09-03 Microsoft Corporation Remoting redirection layer for graphics device interface
US8052531B2 (en) * 2005-11-15 2011-11-08 Konami Digital Entertainment Co., Ltd. Network game system, game machine, game machine control method, and information storage medium
US20080030510A1 (en) 2006-08-02 2008-02-07 Xgi Technology Inc. Multi-GPU rendering system
CN101295408A (zh) * 2007-04-27 2008-10-29 新奥特硅谷视频技术有限责任公司 一种3d图文渲染方法和渲染系统
US9019287B2 (en) * 2007-11-23 2015-04-28 Pme Ip Australia Pty Ltd Client-server visualization system with hybrid data processing
US8117617B2 (en) 2007-11-26 2012-02-14 Xerox Corporation Energy-aware print job management
WO2009138878A2 (en) 2008-05-12 2009-11-19 Playcast Media Systems, Ltd. Centralized streaming game server
US9270783B2 (en) * 2008-12-06 2016-02-23 International Business Machines Corporation System and method for photorealistic imaging workload distribution
KR101266360B1 (ko) * 2009-08-24 2013-05-22 한국전자통신연구원 전역조명을 지원하는 그래픽 처리 장치 및 이를 이용한 그래픽 처리 방법
CN102118573B (zh) * 2009-12-30 2015-06-17 新奥特(北京)视频技术有限公司 一种增加虚实结合度的虚拟体育系统
US8280172B1 (en) * 2011-03-22 2012-10-02 Mitutoyo Corporation Edge location measurement correction for coaxial light images
US20120280991A1 (en) * 2011-05-03 2012-11-08 Microsoft Corporation Employing mesh files to animate transitions in client applications

Also Published As

Publication number Publication date
CA2853212A1 (en) 2013-05-16
US9665334B2 (en) 2017-05-30
JP2013099494A (ja) 2013-05-23
KR101589396B1 (ko) 2016-01-27
CN103918012A (zh) 2014-07-09
WO2013069409A1 (en) 2013-05-16
EP2777023A4 (en) 2015-12-23
CA2853212C (en) 2018-03-20
EP2777023A1 (en) 2014-09-17
US20140285499A1 (en) 2014-09-25
KR20140098772A (ko) 2014-08-08

Similar Documents

Publication Publication Date Title
JP5977023B2 (ja) 描画システム、プログラム、及び記録媒体
JP6181917B2 (ja) 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体
JP5943330B2 (ja) クラウドソース動画レンダリングシステム
JP5973409B2 (ja) プログラム、記録媒体、情報処理装置及び制御方法
JP6126221B2 (ja) 画面提供装置、画面提供システム、制御方法、プログラム、及び記録媒体
JP5833599B2 (ja) プログラム、記録媒体及び符号化方式決定方法
JP5775051B2 (ja) プログラム、情報処理装置及び制御方法
JP6959365B2 (ja) 中心窩レンダリングシステムにおけるシャドーの最適化及びメッシュスキンの適応
JP6341986B2 (ja) 描画装置、その描画方法、プログラム及び記録媒体
EP2954495B1 (en) Information processing apparatus, method of controlling the same, program, and storage medium
TWI532005B (zh) An animation distribution server, an animation reproduction apparatus, a control method, a program, and a recording medium
Jeon et al. Support for Mobile Augmented and Synthesized Worlds

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160502

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160616

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160721

R150 Certificate of patent or registration of utility model

Ref document number: 5977023

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250