JP6196668B2 - クラウド型ゲームシステムにおける描画リソースの動的割り当て - Google Patents

クラウド型ゲームシステムにおける描画リソースの動的割り当て Download PDF

Info

Publication number
JP6196668B2
JP6196668B2 JP2015517561A JP2015517561A JP6196668B2 JP 6196668 B2 JP6196668 B2 JP 6196668B2 JP 2015517561 A JP2015517561 A JP 2015517561A JP 2015517561 A JP2015517561 A JP 2015517561A JP 6196668 B2 JP6196668 B2 JP 6196668B2
Authority
JP
Japan
Prior art keywords
client device
monitoring
game content
changing
devices
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
JP2015517561A
Other languages
English (en)
Other versions
JP2015523886A (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 JP2015523886A publication Critical patent/JP2015523886A/ja
Application granted granted Critical
Publication of JP6196668B2 publication Critical patent/JP6196668B2/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
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • 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
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明のいくつかの態様は、概してビデオゲームに関し、特にクラウド型ゲームシステムにおける描画リソースの割り当てに関する。
ビデオゲーム産業は、スタンドアロン型アーケードゲームの導入から、家庭用コンピュータゲーム、専門コンソール用に作られたゲームの出現まで、目覚ましい発展が見受けられる。そして、インターネットの大衆化により、次の主要な発展、所謂「クラウドゲーミング」が可能である。クラウド型ゲーミングシステムでは、プレイヤはインターネットを介してビデオゲームサーバに接続するスマートフォンやタブレットのような、一般的なインターネット対応電子機器を使用することが可能である。ビデオゲームサーバは、プレイヤについてセッションを開始し、複数のプレイヤについてそのようにしてもよい。ビデオゲームサーバは、プレイヤ行動(例えば移動、選択)及びゲームについての他の属性に基づいて、プレイヤについての映像コンテンツのフレームの描画、及び音声の生成を行う。符号化された映像及び音声は、インターネットを介してプレイヤの装置に配信され、視聴可能な画像及び音声として再生される。このようにして、世界中のあらゆる場所のプレイヤは、専用のビデオゲームコンソール、ソフト、描画処理ハードウェアを使用せずに、ビデオゲームをプレイすることができる。
特に移動端末を使用するような、プレイヤへの有意義な体験を保証するために、クラウド型ゲームシステムにおける映像コンテンツの描画リソースの好適な管理が必要である。
本発明の第1の広義な態様は、クライアント装置について映像コンテンツの描画に係る描画命令セットを生成し、少なくともいくつかの描画命令セットが各描画リソースに導かれるように、描画命令セットの各々を、少なくとも2つの描画リソースの集合のうちの少なくとも1つの描画リソースに導くこと含むコンピュータ実装された方法を提供しようとする。
本発明の第2の広義な態様は、演算エンティティにより実行された場合に、クライアント端末について映像コンテンツの描画に係る描画命令セットを生成し、少なくともいくつかの描画命令セットが各描画リソースに導かれるように、描画命令セットの各々を少なくとも2つの描画リソースの集合のうちの少なくとも1つの描画リソースに導くことを含む方法を該コンピュータエンティティに実行させるコンピュータ読み取り可能な命令を有するコンピュータ読み取り可能な記録媒体を提供しようとする。
本発明の第3の広義な態様は、クライアント装置について映像コンテンツの描画に係る描画命令セットを生成する制御モジュールと、少なくともいくつかの描画命令セットが各描画リソースに導かれるように、描画命令セットの各々を、少なくとも2つの描画リソースの集合のうちの少なくとも1つの描画リソースに導く出力制御器と、を有する装置を提供しようとする。
本発明の第4の広義な態様は、クライアント装置について割り当てられた描画サーバとして指定されている間に受信された第1の描画命令セットに基づいて、クライアント装置についての第1の映像フレームを生成し、クライアント装置に該第1の映像フレームを送信する第1の描画サーバと、を提供しようとする。クライアント装置について割り当てられた描画サーバとして指定されている間に受信された第2の描画命令セットに基づいて、クライアント装置についての第2の映像フレームを生成し、クライアント装置に該第2の映像フレームを送信する第2の描画サーバと、を有するサーバシステムを提供しようとする。
本発明の第5の広義な態様は、インターネットを介したセッションにおいて制御サーバと協働するクライアント装置の処理エンティティにより実行される方法であって、インターネットを介して制御サーバに入力を送信し、入力に応じて、第1の描画リソースからインターネットを介して第1の映像コンテンツを受信し、第1の描画リソースと異なる第2の描画リソースからインターネットを介して第2の映像コンテンツを受信し、クライアント装置の表示手段を介して第1の映像コンテンツと第2の映像コンテンツを表示する方法を提供しようとする。
これらの及び他の態様及び本発明の特徴は、以下の発明の特有の実施形態の記載及び図面を参照することにより、本技術分野に属する当業者に明らかとなるだろう。
添付の図面は以下。
発明の詳細な説明及び図面が、発明の任意の実施形態を示す目的のみのものであり、かつ理解を助けるためのものであることは明確に理解されよう。これらは、発明の限定の定義を目的とするものではない。
本発明の非限定的な実施形態に係る、クラウド型ビデオゲームシステムアーキテクチャのブロック図 本発明の非限定的な実施形態に係る、図1のアーキテクチャの様々な物理的構成要素を示したブロック図 図2Aの変形例 図2A及び2Bの物理的構成要素により実現されうる、図1のアーキテクチャの様々な機能モジュールを示したブロック図 本発明の非限定的な実施形態に係る、ビデオゲームの実行中に行われる処理セットの実行を示したフローチャート 本発明の非限定的な実施形態に係る、受信した映像及び音声の各々を処理するためのクライアント装置の動作を示したフローチャート 本発明の非限定的な実施形態に係る、分散型描画環境における複数の描画リソースの仕様を示したブロック図 描画命令セットのシーケンスに関する詳細及び動的描画リソース割り当ての結果生成された映像コンテンツのフレームを示した図 クライアント装置について割り当てられた描画リソースとして指定される、描画リソースのアイデンティティの変化を知らせるために該クライアント装置に送信される警告メッセージの変形例を示した図 新たに割り当てられた描画リソースへの遷移をスムーズにするために、複数の描画命令セットが映像コンテンツの複数フレーム生成する変形例を示した図 クライアント装置によりなされる描画リソースの割り当て決定の後に、該クライアント装置から制御サーバに送信されるトリガを示した図 クライアント装置により検出されたゲームにおける動作レベルについての制御サーバによる使用を示したブロック図
《1.クラウドゲーミングアーキテクチャ》
図1は、本発明の非限定的な実施形態に係るクラウド型ビデオゲームシステムアーキテクチャを概略的に示している。該アーキテクチャは、インターネット130を介してクラウドゲームサーバシステム100に接続された複数のクライアント装置120、120Aを含む。クライアント装置120、120Aの各々は、各々のローカルアクセスネットワーク(不図示)を介することを含む、あらゆる好適な方式でインターネット130に接続していてもよい。また、クラウドゲームサーバシステム100は、ローカルアクセスネットワーク(不図示)を介してインターネット130に接続してもよいが、サーバシステム100はローカルアクセスネットワークの媒介なく、インターネット130と直接接続してよい。クラウドゲームサーバシステム100と1以上のクライアント装置120、120Aとの接続は、1以上のチャネルを含んでいてもよい。これらのチャネルは、物理的及び/または論理的リンクによりなされ、無線周波数、光ファイバ、光空間(free-space optical)、同軸ケーブル、及びツイストペアを含む様々な物理的媒体を回遊してもよい。チャネルはUDPやTCP/IPのようなプロトコルに従ってもよい。また、1以上のチャネルが、仮想プライベートネットワーク(VPN)でサポートされていてもよい。いくつかの実施形態では、1以上の接続はセッションベースでなされてもよい。
クラウドゲームサーバシステム100は、クライアント装置120、120Aのユーザが、ビデオゲームを個々に(即ち、シングルプレイヤ用ビデオゲーム)または集団で(即ち、マルチプレイヤ用ビデオゲーム)プレイすることを可能にする。ビデオゲームの非限定的な例は、レジャー、教育及び/またはスポーツについてプレイされるゲームを含みうる。しかし、ビデオゲームは貨幣損益の可能性を参加者に提示する必要はない。2つのクライアント装置120、120Aのみが示されているが、クラウド型ビデオゲームシステムアーキテクチャ内のクライアント装置の数が特に限定されるものでないことは理解されるべきである。
クライアント装置120、120Aのうちの1つのユーザは、ビデオゲーム内の参加者としてクラウドゲームサーバシステム100に登録していてもよい。ユーザは「プレイヤ」として登録してもよく、ビデオゲームにより維持される仮想世界内のキャラクタ、アバター、レースカー、コックピット等を制御する機会を得るだろう。マルチプレイヤ用ビデオゲームの場合、仮想世界は2以上のプレイヤにより共有され、1人のプレイヤのゲームプレイが他のプレイヤに影響を及ぼし得る。いくつかの実施形態では、クライアント装置120、120Aのうちの1つのユーザは、プレイヤではない「観戦者」として登録してもよく、これにより該ユーザはプレイヤのゲームプレイを観戦できるが、ゲーム内のアクティブキャラクタは制御できないことになる。別段の指示がない限り、「参加者」との文言が用いられる場合、プレイヤ及び観戦者に等しく適用されることを意味する。
様々なプレイヤ及び観戦者に関連するパラメータは、クラウドゲームサーバシステム100の一部であってもよいし、クラウドゲームサーバシステム100とは離れて存在するものであってもよい参加者データベース10に格納されうる。
クライアント装置120、120Aのうちの任意の1つの構成は、特に限定されるものではない。いくつかの実施形態において、1以上のクライアント装置120、120Aは、例えばパーソナルコンピュータ(PC)、家庭用ゲーム機(XBOX(登録商標)、PS3(登録商標)、Wii(登録商標)等のコンソール)、携帯ゲーム機、スマートテレビ、セットトップボックス(STB)等であってもよい。他の実施形態において、1以上のクライアント装置120、120Aは、携帯電話、電子手帳(PDA)、タブレットのような通信または計算装置であってもよい。
クライアント装置120、120Aのうちの任意の1つは、該任意のクライアント装置のユーザが入力を提供し、ビデオゲームに参加することを可能ならしめるために、1以上の入力装置(タッチスクリーン、キーボード、ゲームコントローラ、ジョイスティック等)が備えられていてもよい。他の実施形態において、ユーザは身体動作を行う、外部オブジェクトを振る等してもよく、これらの動作はカメラや他のセンサ(例えばKinect(登録商標))により検出され、該任意のクライアント装置で動作するソフトウェアは、ユーザが該任意のクライアント装置に対して入力を提供しようとしているか、もしそうであれば該入力の本質を正確に推測することを試みる。任意のクライアント装置は、受信したユーザ入力及び検出されたユーザ動作を、インターネット130を介してクラウドゲームサーバシステム100に送信される「クライアント装置入力」に変換する。図示されている実施形態では、クライアント装置120はクライアント装置入力140を生成し、クライアント装置120Aはクライアント装置入力140Aを生成する。
クラウドゲームサーバシステム100は、様々なクライアント装置120、120Aから受信したクライアント装置入力140、140Aを処理し、該様々なクライアント装置120、120Aについての「メディア出力」を生成する。メディア出力は、符号化された映像コンテンツのフレーム(即ち、スクリーン上に再生された場合に画像として知覚される)及び音声(即ち再生された場合に音として知覚される)を含みうる。メディア出力は、パケットの形でインターネット130を介して送信される。クライアント装置120、120Aの特定の1つに向けられたパケットは、インターネット130を介して該装置にルートされるように、このような方法でアドレスされうる。クライアント装置120、120Aの各々は、クラウドゲームサーバシステム100から受信したパケット内のメディア出力をバッファして処理する電気回路、画像を表示するためのディスプレイ、及び音声を出力する振動子(例えばスピーカ)を含んでいてもよい。また、追加の出力装置は、動作を誘導するための電気機械システム等を提供してもよい。
ここでは、「フレーム」との文言は映像コンテンツのフレームとスクリーン上に知覚される画像との間の1対1対応の存在を要求するものではないことは理解されるべきである。即ち、各フレームについて、表示される各画像の全体を示すデータを含めることも可能であるし、1つのフレームについて、画像の一部のみを示すデータを含めること、及び適切に再構成されて表示されるために、画像についてさらに2以上のフレームを要求することも可能である。同様に、1つのフレームは、M<NであるN個の画像がM個のフレームを用いて示される等、1以上の完全な画像を示すデータを含んでいてもよい。
《2.クラウドゲームサーバシステム100(分散型アーキテクチャ)》
図2Aは、クラウドゲームサーバシステム100の構成要素の非限定的な物理的構成の第1の態様を示している。本実施形態では、クラウドゲームサーバシステム100の個々のサーバが、専用の機能を実行するよう構成されている。例えば、計算サーバ200Cは、ユーザ入力に基づいてビデオゲーム内の状態変化の追跡についての役割を担い、描画サーバ200Rは、グラフィック(映像コンテンツ)の描画についての役割を担い得る。
以下に記載される実施形態の例のために、クライアント装置120及びクライアント装置120Aの両方は、プレイヤまたは参加者としてビデオゲームに参加しているものとする。しかしながら、いくつかのケースでは1人のプレイヤと観戦者なし、複数のプレイヤと1人の観戦者、1人のプレイヤと複数の観戦者、及び複数のプレイヤと複数の観戦者等で構成されてもよいことは理解されるべきである。
簡単のため、以下の説明では単一の描画サーバ200Rに単一の計算サーバ200Cが接続されているものとする。しかしながら、1以上の描画サーバ200Rが同一の計算サーバ200Cに接続される、あるいは1以上の計算サーバ200Cが同一の描画サーバ200Rに接続されるものであってもよいことは理解されるべきである。複数の描画サーバ200Rが存在する場合、あらゆる適切な地理的領域に分散されるものであってもよい。
図2Aの構成要素の非限定的な物理的構成に示されるように、計算サーバ200Cは1以上の中央演算装置(CPU)220C、222C及びランダムアクセスメモリ(RAM)230Cを有する。CPU220C、222Cは、例えば通信バスアーキテクチャを介してRAM230Cにアクセス可能である。2つのCPU220C、222Cのみが示されているが、計算サーバ200Cのいくつかの実装例では、より多数のCPUあるいは単一のCPUのみが提供されてもよい。また、計算サーバ200Cは、ビデオゲームに参加しているクライアント装置の各々から、インターネット130を介してクライアント装置入力を受信する、ネットワークインタフェース要素(NIC)210C2を有する。以下に記載される実施形態の例では、クライアント装置120及び120Aの両方は、ビデオゲームに参加しているものとし、従って、受信したクライアント装置入力はクライアント装置入力140及びクライアント装置入力140Aが含まれうる。
さらに計算サーバ200Cは、複数の描画命令セット204を出力する他のネットワークインタフェース要素(NIC)210C1を有する。NIC210C1を介して計算サーバ200Cから出力された描画命令セット204は、描画サーバ200Rに送信されうる。一実施形態において計算サーバ200Cは、描画サーバ200Rに直接接続されてもよい。他の実施形態では計算サーバ200Cは、インターネット130であってもよいし、その他のネットワークであってもよいネットワーク260を介して描画サーバ200Rに接続されてもよい。仮想プライベートネットワーク(VPN)は、ネットワーク260を介して計算サーバ200Cと描画サーバ200Rとの間に確立されてもよい。
描画サーバ200Rにおいて、計算サーバ200Cにより送信された描画命令セット204は、ネットワークインタフェース要素(NIC)210R1において受信され、1以上のCPU220R、222Rに対して導かれる。CPU220R、222Rは、複数のグラフィック処理装置(GPU)240R、250Rに接続される。非限定的な例として、GPU240Rは、GPUコア242Rのセット及びビデオランダムアクセスメモリ(VRAM)246Rを含んでもよい。同様に、GPU250RはGPUコア252Rのセット及びビデオランダムアクセスメモリ(VRAM)256Rを含んでもよい。CPU220R、222Rの各々は、GPU240R、250Rの各々に接続されていてもよいし、GPU240R、250Rの集合に接続されていてもよい。CPU220R、222RとGPU240R、250Rとの間の通信は、例えば通信バスアーキテクチャを用いて確立されてよい。2つのCPU及び2つのGPUのみが示されるが、描画サーバ200Rの特定の実装例では、2以上のCPU及びGPUがあってもよいし、単一のCPUまたはGPUだけであってもよい。
CPU220R、222Rは、描画命令セット204を参加するクライアント装置用の複数のグラフィック出力ストリームに変換するために、GPU240R、250Rと協働する。本実施形態では、クライアント装置120、120Aの各々について2つのグラフィック出力ストリーム206、206Aがある。このことは、さらに詳細が後述されるだろう。さらに描画サーバ200Rは、これを介してグラフィック出力ストリーム206、206Aがクライアント装置120、120Aの各々に送信される、ネットワークインタフェース要素(NIC)210R2を有する。
《3.クラウドゲームサーバシステム100(ハイブリッドアーキテクチャ)》
図2Bは、クラウドゲームサーバシステム100の構成要素の非限定的な物理的構成の第2の態様を示している。本実施形態ではハイブリッドサーバ200Hは、ユーザ入力に基づいてビデオゲーム内の状態変化の追跡とグラフィック(映像コンテンツ)の描画の両方の役割を担う。
図2Bの構成要素の非限定的な物理的構成に示されるように、ハイブリッドサーバ200Hは1以上の中央演算装置(CPU)220H、222H及びランダムアクセスメモリ(RAM)230Hを有する。CPU220H、222Hは、例えば通信バスアーキテクチャを介してRAM230Hにアクセスできる。2つのCPU220H、222Hのみが示されているが、より多数のCPUまたは単一のCPUのみがハイブリッドサーバ200Hのいくつかの実装例において提供されてもよいことは理解されるべきである。またハイブリッドサーバ200Hは、ビデオゲームに参加するクライアント装置の各々からインターネット130を介してクライアント装置入力が受信されるネットワークインタフェース要素(NIC)210Hを有する。以下に記載される実施形態の例では、クライアント装置120及びクライアント装置120Aの両方は、ビデオゲームに参加しているものとし、故に受信したクライアント装置入力は、クライアント装置入力140及びクライアント装置入力140Aを含んでもよい。
また、CPU220H、222Hは、複数の描画処理装置(GPU)240H、250Hに接続されている。非限定的な例ではGPU240Hは、GPUコア242のセット及びビデオランダムアクセスメモリ(VRAM)246Hを含んでいてもよい。同様にGPU250Hは、GPUコア252Hのセット及びビデオランダムアクセスメモリ(VRAM)256Hを含んでいてもよい。CPU220H、222Hの各々は、GPU240H、250Hの各々またはGPU240H、250Hの集合に接続されていてもよい。CPU220H、222HとGPU240H、250Hとの通信は、例えば通信バスアーキテクチャを用いて確立されてもよい。2つのCPUと2つのGPUのみが示されているが、ハイブリッドサーバ200Hの特定の実装例では、2以上のCPUがあってもよいし、CPUまたはGPUが単一のみであってさえよい。
描画命令セット204を参加しているクライアント装置のためのグラフィック出力ストリームに変換するために、CPU220H、222HはGPU240H、250Hと協働する。本実施形態では、参加しているクライアント装置120、120Aの各々に対して、2つのグラフィック出力ストリーム206、206Aが存在している。グラフィック出力ストリーム206、206Aは、NIC210Hを介してクライアント装置120、120Aの各々に送信される。
《4.クラウドゲームサーバシステム100(機能概要)》
以下、さらに図2Cを参照すると、上述した計算サーバ200Cと描画サーバ200R(図2A)及び/またはハイブリッドサーバ200H(図2B)の物理的構成要素が、ビデオゲーム機能モジュール270、描画機能モジュール280、及び映像符号化器285を含む機能モジュールセットを実現している。図2Aの非限定的な実施形態に関しては、ビデオゲーム機能モジュール270は計算サーバ200Cにより実現され、描画機能モジュール280及び映像符号化器285は描画サーバ200Rにより実現される。図2Bの非限定的な実施形態に関しては、ハイブリッドサーバ200Hはビデオゲーム機能モジュール270、描画機能モジュール280、及び映像符号化器285を実現する。
本実施形態の例は、図を簡略化するために単一のビデオゲーム機能モジュール270について議論する。しかしながら、クラウドゲームサーバシステム100の実際の実装において、ビデオゲーム機能モジュール270と同様の多くのビデオゲーム機能モジュールが平行に実行されうる。したがって、クラウドゲームサーバシステム100は、同一のビデオゲームの複数の独立したインスタンス化または複数の異なるビデオゲームの同時のインスタンス化をサポートしうる。また、ビデオゲームは、あらゆる種類の1人プレイヤ用ビデオゲームまたはマルチプレイヤ用ゲームであってもよいことは理解されるべきである。
ビデオゲーム機能モジュール270は、計算サーバ200Cまたはハイブリッドサーバ200Hの所定の物理的構成要素により実現されてもよい。具体的には、ビデオゲーム機能モジュール270は、ビデオゲーム機能モジュール270は、(計算サーバ200CのCPU220C、222Cやハイブリッドサーバ200HのCPU220H、222Hのような)CPUにより実行可能なコンピュータ読み取り可能な命令として符号化されうる。該命令は、(計算サーバ200Cの)RAM230C、(ハイブリッドサーバ200Hの)RAM230H、あるいは他の記憶領域に、ビデオゲーム機能モジュール270により使用される定数、変数及び/または他のデータとともに明白に(tangibly)格納されうる。いくつかの実施形態においてビデオゲーム機能モジュール270は、(計算サーバ200CのCPU220C、222Cやハイブリッドサーバ200HのCPU220H、222Hのような)CPUにより実行されているオペレーティングシステムによりサポートされうる、 バーチャルマシンの環境において実行されてもよい。
描画機能モジュール280は描画サーバ200R(図2A)あるいはハイブリッドサーバ200H(図2B)の所定の物理的構成要素により実現されてもよい。一実施形態において、描画機能モジュール280は、1以上のGPU(図2Aの240R、250R、図2Bの240H、250H)が引き受けてもよいし、CPUリソースを利用してもよいししなくてもよい。
映像符号化器285は、描画サーバ200R(図2A)またはハイブリッドサーバ200H(図2B)の所定の物理的構成要素により実現されてよい。本技術分野に属する当業者は、映像符号化器285を実現する種々の手法があることは容易に理解するだろう。図2Aの実施形態において、映像符号化器285はCPU220R、222R及び/またはGPU240R、250Rにより実現されうる。図2Bの実施形態では、映像符号化器285はCPU220H、222H及び/またはGPU240H、250Hにより実現されうる。その他の実施形態では、映像符号化器285は、分離された符号化チップ(不図示)により実現されてもよい。
動作において、ビデオゲーム機能モジュール270は、受信したクライアント装置入力に基づいて描画命令セット204を生成する。受信したクライアント装置入力は、行き先となるビデオゲーム機能モジュールを示すデータ(例えばアドレス)、及び由来するユーザ及び/またはクライアント装置を示すデータを運ぶものであってよい。クライアント装置120、120Aのユーザは、ビデオゲームに参加(即ちプレイヤまたは観戦者)しており、受信したクライアント装置入力は、クライアント装置120、120Aから受信したクライアント装置入力140、140Aを含む。
描画命令は、映像コンテンツのフレームまたは映像コンテンツの一連のフレームを生成するように専用グラフィック生成装置(GPU)に導くために用いられうる命令を示す。図2Cを参照すると、描画命令セット204は、描画機能モジュール280により最終的に生成される映像コンテンツのフレームを定義する。これらのフレームにより示される画像は、ビデオゲーム機能モジュール270にプログラムされた、クライアント装置入力140、140Aに応じた機能として変更される。例えば、ビデオゲーム機能モジュール270は、所定の特定の要因に応じてユーザに(将来のインタラクションが異なる、より挑戦的とさせる、あるいはより刺激的とさせる)進行体験を提供するような方法でプログラムされ得、一方で、他の特定の要因への応答は、回帰や終了の体験をユーザに与えるだろう。ビデオゲーム機能モジュール270への指示はバイナリ実行可能なファイルの形式で固定され得るが、クライアント装置入力140、140Aは対応するクライアント装置120、120Aを使用するプレイヤのインタラクション動作があるまで不明である。結果として、提供される特定のクライアント装置入力に応じて、様々な種類の生じ得る結果が存在してもよい。プレイヤ/観戦者とビデオゲーム機能モジュール270の間のクライアント装置120、120Aを介した該インタラクションは、「ゲームプレイ」や「ビデオゲームをプレイしている」等として言及されうる。
描画機能モジュール280は、複数の映像コンテンツストリーム205を生成するために複数の描画命令セット204を処理する。一般に、参加者ごとに(あるいはクライアント装置ごとにも同等)、1つの映像コンテンツストリーム205が存在するだろう。描画が実行されている場合、3次元空間(例えば物理オブジェクト)あるいは2次元空間(例えばテキスト)に示される1以上のオブジェクトについてのデータは、特定のGPU240R、250R、240H、250Hのキャッシュメモリ(不図示)に展開される。該データは、GPU240R、250R、240H、250Hにより、適切なVRAM246R、256R、246H、256Hに格納されうる2次元画像を示すデータに変換されうる。このようにして、VRAM246R、256R、246H、256Hは、ゲーム画面についての画素(ピクセル)値の一時的な格納領域を提供しうる。
映像符号化器285は、映像コンテンツストリーム205を圧縮された映像フレームのストリームに圧縮及び符号化する。グラフィック出力ストリームとして言及される、圧縮された映像フレームの結果であるストリームは、クライアント装置基準で生成される。本実施形態の例では映像符号化器285は、クライアント装置120についてのグラフィック出力ストリーム206及びクライアント装置120Aについてのグラフィック出力ストリーム206Aを生成する。追加の機能モジュールが、インターネット130を介して送信可能なように映像フレームをパケット形式にするよう提供されてもよい。
《5.描画命令の生成》
以下、ビデオゲーム機能モジュール270による描画命令の生成が、図2C、3A及び3Bを参照してより詳細に説明される。具体的には、ビデオゲーム機能モジュール270の実行は、いかに詳細が説明されるメインゲームプロセス300Aと1以上のグラフィック制御プロセス300Bを含むいくつかのプロセスを伴う。
〈メインゲームプロセス〉
メインゲームプロセスとして言及される第1のプロセスは、図3Aを参照して説明される。メインゲームプロセス300Aは、継続的に実行する。メインゲームプロセス300Aの一部として、実行中、クライアント装置入力が受信されうる動作310Aが提供される。ビデオゲームが観戦の可能性がない1人プレイヤ用ビデオゲームである場合、単一のクライアント装置(例えばクライアント装置120)からのクライアント装置入力(例えばクライアント装置入力140)が動作310Aの一部として受信される。ビデオゲームがマルチプレイヤ用ビデオゲームまたは観戦の可能性がある1人プレイヤ用ゲームである場合、1以上のクライアント装置(例えばクライアント装置120及び120A)からのクライアント装置入力(例えばクライアント装置入力140及び140A)が、動作310Aの一部として受信されうる。
非限定的な例示の目的で、任意のクライアント装置からの入力は、該任意のクライアント装置のユーザが、制御下にあるキャラクタに対して移動、ジャンプ、キック、旋回、揺動、押す、引く等をさせることを所望していることを伝送しうる。代替的あるいは追加的に、該任意のクライアント装置からの入力は、1以上の音声、映像またはゲームプレイ設定を変更する、ゲームをロード/セーブする、あるいはネットワークセッションの作成やセッションへの参加を行うために、該任意のクリア案と装置のユーザによりなされたメニュー選択を伝送しうる。代替的あるいは追加的に、該任意のクライアント装置からの入力は、該任意のクライアント装置のユーザが特定のカメラ視野(例えば1人称または3人称)の選択、あるいは仮想世界内の視野の再配置を所望していることを伝送しうる。
動作320Aで、ゲーム状態は、動作310Aにおいて受信したクライアント装置入力の少なくとも一部及び他のパラメータに基づいて更新されうる。ゲーム状態の更新は、次の動作を伴いうる。
第1に、ゲーム状態の更新は、クライアント装置入力が受信されうるクライアント装置に関連付けられた参加者(プレイヤまたは観戦者)の所定の特性(property)を更新することを伴いうる。これらの特性は、参加者データベース10に格納されうる。参加者データベース10に保持されて動作320において更新されうる参加者特性の例は、カメラ視野の選択(例えば1人称、3人称)、プレイモード、選択された音声または映像の設定、スキルレベル、顧客グレード(例えばゲスト、プレミアム等)を含みうる。
第2に、ゲーム状態の更新は、クライアント装置入力の解釈に基づいて、仮想世界内の所定のオブジェクトの属性を更新することを伴いうる。属性が更新されるオブジェクトは、いくつかのケースでは2次元または3次元モデルにより示されてもよいし、プレイキャラクタ、非プレイキャラクタ及び他のオブジェクトを含みうる。プレイヤキャラクタである場合、更新されうる属性はオブジェクトの位置、強さ、武器/防具、経過した寿命、特殊能力、速さ/方向(速度)、アニメーション視覚的効果、エネルギ、弾薬等を含みうる。他のオブジェクト(背景、植物、建物、乗り物、スコアボード等)である場合、更新されうる属性は、該オブジェクトの位置、速度、アニメーション、ダメージ/体力、視覚的効果、テキスト内容等を含みうる。
クライアント装置入力とは別のパラメータは、上述した(参加者の)特性及び(仮想世界オブジェクトの)属性に影響を与えうることは理解されるべきである。例えば、様々なタイマー(経過時間、特定のイベントからの時間、一日の仮想時刻、プレイヤ総数、参加者地理的位置等)が、ゲーム状態の様々な態様に影響を及ぼしてもよい。
動作320Aの実行に加えてゲーム状態が更新されると、メインゲームプロセス300Aは動作310Aに戻り、前回のメインゲームプロセスを終了してから受信した新たなクライアント装置入力が収集され、処理される。
〈グラフィック制御プロセス〉
以下、グラフィック制御プロセスとして言及される第2のプロセスについて、図3Bを参照して説明する。グラフィック制御プロセス300Bは継続的に実行し、各々が描画命令セット204それぞれの結果である、分離された複数のグラフィック制御プロセス300Bが存在しうる。観戦の可能性がない1人プレイヤ用ビデオゲームの場合、1人のプレイヤのみが存在し、そして描画命令セット204の結果は1つのみであり、故にグラフィック制御プロセス300Bは上述したメインゲームプロセス300Aの延長として実行しうる。マルチプレイヤ用ビデオゲームの場合、複数の独立した描画命令セットが複数のプレイヤについて生成されることが必要であり、従って複数のグラフィック制御プロセス300Bが並行して実行しうる。観戦の可能性がある1人プレイヤ用ゲームの場合、また単一の描画命令セット204のみが存在し得、従って単一のグラフィック制御プロセス300Bがビデオゲーム機能モジュール270において実行しうるが、結果である映像コンテンツストリームは、描画機能モジュール280により複数の観戦者にも複製されうる。もちろん、これらはただの実装の例であり、限定として取られるべきものではない。
独立の映像コンテンツストリームを要求する任意の参加者についてのグラフィック制御プロセス300Bの動作310Bで、ビデオゲーム機能モジュール270は該任意の参加者について描画されるオブジェクトを決定する。この動作は、以下の種類のオブジェクトを識別することを含む。
第1に、この動作は、仮想世界から任意の参加者についての「ゲーム画面描画範囲」(「シーン」としても知られる)内にある、これらのオブジェクトを識別することを含みうる。ゲーム画面描画範囲は、任意の参加者のカメラの画角(perspective)から「観ることが可能」な、仮想世界の一部を含む。これは、仮想世界内のオブジェクトに関連するカメラの位置及び方向に依る。動作310Bの非限定的な実装例において、錐台が仮想世界に適用され、該錐台内のオブジェクトが保持またはマークされる。錐台は、任意の参加者のカメラの位置に置かれた頂点を有し、該カメラの方向性により方向が規定されるものであってもよい。
第2に、この動作は、仮想世界内に現れないが、それにも関わらず任意の参加者について描画される追加のオブジェクトを識別することを含みうる。例えば、これらの追加のオブジェクトは、非限定的な2〜3の可能性を挙げると、テキストメッセージ、グラフィック警告及びダッシュボードインジケータを含んでもよい。
動作320Bで、ビデオゲーム機能モジュール270は、動作310Bにおいて識別されたオブジェクトを、グラフィック(映像コンテンツ)に描画変換するための命令セットを生成する。描画は、視野及び適用される照明状態に従って、1つのオブジェクトまたはオブジェクト群の3次元または2次元座標の、表示可能な画像を示すデータへの変換を参照してもよい。これは、例えばここに参照により組み込まれる「"Computer Graphics and Geometric Modelling: Implementation & Algorithms", Max K. Agoston, Springer-Verlag London Limited, 2005」に記載されるような、あらゆるアルゴリズム及び技術を用いて達成されうる。
動作330Bで、動作320Bにおいて生成された描画命令は描画機能モジュール280に出力される。これは、描画機能モジュール280に送信する描画命令セット204への、生成された描画命令のパケット化を伴いうる。
上述したグラフィック制御プロセス300Bの複数のインスタンス化が実行されることにより複数の描画命令セット204が得られることは、本技術分野に属する当業者には理解されよう。
《6.グラフィック出力の生成》
描画機能モジュール280は、複数の描画命令セット204を解釈し、参加しているクライアント装置ごとに1つである、複数の映像コンテンツストリーム205のセットを生成する。描画は、(図2Aの)CPU220R、222Rまたは(図2Bの)CPU220H、222Hの制御の下、GPU240R、250R、240H、250Hにより実現されうる。1つの参加者のクライアント装置に係る映像コンテンツのフレームが生成されるレートは、フレームレートとして参照されうる。
Nの参加者が存在する実施形態において、N個の描画命令セット204(各参加者について1つ)が存在し、N個の映像コンテンツストリーム205(各参加者について1つの)が存在し得る。この場合、描画機能は参加者間で共有されない。しかしながら、2〜3の描画命令セットが描画機能モジュール280により処理される必要があるように、M個(M<N)の描画命令セット204からN個の映像コンテンツストリーム205が生成されてもよい。この場合、少ない数の描画命令セット204からより多い数の映像コンテンツストリーム205を生成するために、描画機能モジュール280は共有または複製を行ってもよい。このような共有または複製は、複数の参加者(例えば観戦者)が同一のカメラ画角を観ることを所望した場合に普及するものであってもよい。故に、描画機能モジュール280は、生成された映像コンテンツストリームが1以上の観戦者に複製されるように機能を実行してもよい。
次に、映像コンテンツストリーム205の各々における映像コンテンツは、映像符号化器285により符号化され、グラフィック出力ストリームとして参照される、各クライアント装置に関連付けられた一連の符号化映像コンテンツが得られる。図2A〜2Cの実施形態の例において、クライアント装置120についての一連の符号化映像コンテンツはグラフィック出力ストリーム206として参照され、クライアント装置120Aについての一連の符号化映像コンテンツはグラフィック出力ストリーム206Aとして参照されてもよい。
映像符号化器285は、デジタル映像についての映像圧縮または展開を可能にする、実行する、または定義する装置(またはコンピュータ読み取り可能な命令セット)であってもよい。映像圧縮は、(画素位置、色値等で表現される)デジタル画像データのオリジナルストリームを、より少ないビットを用いるが実質的に同一の情報を伝送するデジタル画像データの出力ストリームに変換する。あらゆる適切な圧縮アルゴリズムが用いられてよい。データ圧縮に加え、映像コンテンツの特定のフレームの符号化に用いられる符号化処理は、暗号化を適用してもよいし、しなくてもよい。
上述の手法で生成されたグラフィック出力ストリーム206、206Aは、インターネット130を介して各クライアント装置に送信される。非限定的な例示目的で、グラフィック出力ストリームは、各々がヘッダ及びペイロードを有するパケットに、セグメント化あるいは形式化されてもよい。任意の参加者についての映像コンテンツに含まれるパケットのヘッダは、該任意の参加者に関連付けられたクライアント装置のネットワークアドレスを含んでもよく、ペイロードは全部または一部として映像コンテンツを含んでもよい。非限定的な実施形態において、所定の映像コンテンツを符号化するために用いられる圧縮アルゴリズムの身元(identity)及び/またはバージョンが、該映像コンテンツを伝送する1以上のパケットのコンテンツ内に符号化されてもよい。符号化映像コンテンツの他の送信手法は、本技術分野に属する当業者には思い当たるだろう。
本開示は個々が2D画像を示す映像コンテンツの描画にフォーカスするものであるが、本発明は3次元効果を生成するために、フレームごとに複数の2D画像を示す映像コンテンツの描画の可能性を除外するものではない。
《7.クライアント装置におけるゲーム画面再生》
以下、非限定的な例示の目的で、クライアント装置120またはクライアント装置120Aたり得る、任意の参加者に関連付けられたクライアント装置の動作を示す図4Aを参照する。
動作410Aで、(グラフィック出力ストリーム206、206Aの1つに含まれる)映像コンテンツの符号化されたフレームは、実施形態により描画サーバ200R(図2A)から、あるいはハイブリッドサーバ200H(図2B)から、インターネット130を介して受信される。
動作420で、映像コンテンツの符号化されたフレームは、符号化処理に用いられた圧縮アルゴリズムを補間する展開アルゴリズムに従って復号される。非限定的な実施形態において、映像コンテンツの符号化に用いられた圧縮アルゴリズムの身元またはバージョンは、予め知らされていてもよい。他の実施形態において、映像コンテンツの符号化に用いられた圧縮アルゴリズムの身元またはバージョンは、映像コンテンツ自体が添付されてもよい。
動作430Aで、映像コンテンツの(復号された)フレームが処理される。これは、バッファへの映像コンテンツの復号されたフレームの配置、誤り訂正、複数の連続するフレームにおけるデータの順序付け及び/または合成、アルファブレンディング、欠損したデータの一部の補間等を含みうる。該結果は、毎フレーム基準でユーザに提示される最終画像を示す映像コンテンツとなり得る。
動作440Aで、最終画像がクライアント装置の出力機構を介して出力される。例えば、コンポジット映像フレームが、クライアント装置のディスプレイに表示されうる。
《8.音声生成》
以下、音声生成処理として言及される3番目の処理が、図3Cを参照して説明される。音声生成処理は、知覚可能な音声ストリームを要求する各参加者について、継続的に実行される。一実施形態において、音声生成処理はグラフィック制御プロセス300Bと無関係に実行されてよい。他の実施形態において、音声生成処理及びグラフィック制御処理の実行が連動されてもよい。
動作310Cで、ビデオゲーム機能モジュール270は、生成される音声を決定する。具体的に該動作は、音量(音の強さ)及び/または仮想世界内において参加者への近さに応じて、地形音響特性に影響を及ぼす仮想世界内のオブジェクトに関連付けられたこれらの音声を特定することを含みうる。
動作320Cで、ビデオゲーム機能モジュール270は音声セグメントを生成する。音声セグメントの継続期間は映像フレームの継続期間に及んでもよいし、いくつかの実施形態では音声セグメントは映像フレームよりも少ない頻度で生成されてもよいし、他の実施形態では音声セグメントは映像フレームよりも高い頻度で生成されてもよい。
動作330Cで、音声セグメントは例えば音声符号化器により符号化され、符号化音声セグメントが得られる。音声符号化器は、音声圧縮または展開アルゴリズムを可能にする、実行する、または定義する装置(または命令セット)であってもよい。音声圧縮は、(徐々に振幅及び位相が変化する音波として表現される)デジタル音声のオリジナルストリームを、より少ないビットを使用するが実質的に同一の情報を伝送するデジタル音声データの出力ストリームに変換する。あらゆる適切な圧縮アルゴリズムが用いられてよい。音声圧縮に加え、特定の音声セグメントの符号化に用いられる符号化処理は暗号化を適用してもよいし、しなくてもよい。
いくつかの実施形態において、音声セグメントは計算サーバ200C(図2A)またはハイブリッドサーバ200H(図2B)のいずれかの専用ハードウェア(例えばサウンドカード)により生成されてもよいことは理解されるべきである。図2Aの分散型構成に適用可能な代替的実施形態において、音声セグメントはビデオゲーム機能モジュール270によりスピーチパラメータ(例えばLPCパラメータ)にパラメータ化されてもよく、スピーチパラメータは描画サーバ200Rにより、配信先のクライアント装置(例えばクライアント装置120またはクライアント装置120A)に再配信されうる。
上述した方式で生成された符号化された音声は、インターネット130を介して送信される。非限定的な例示を目的として、符号化された音声入力は、各々がヘッダ及びペイロードを有するパケットに分解及び形式化されうる。ヘッダは、音声生成処理が実行される参加者に関連付けられたクライアント装置のアドレスを伝送してもよく、ペイロードは符号化された音声を含んでいてもよい。非限定的な実施形態において、任意の音声セグメントの符号化に用いられる圧縮アルゴリズムの身元及び/またはバージョンは、該任意のセグメントを伝送する1以上のパケットのコンテンツ内に符号化されてもよい。符号化された音声を送信する他の手法は、本技術分野に属する当業者には思い当たるだろう。
以下、非限定的な例示を目的として、クライアント装置120またはクライアント装置120Aであってよい、任意の参加者に関連付けられたクライアント装置の動作を示す図4Bを参照する。
動作410Bで、符号化された音声セグメントが(実施形態に応じて)計算サーバ200C、描画サーバ200R、またはハイブリッドサーバ200Hから受信される。動作420Bで、符号化処理に用いられた圧縮アルゴリズムを補間する展開アルゴリズムに従って、符号化された音声は復号される。非限定的な実施形態において、音声セグメントの符号化に用いられた圧縮アルゴリズムの身元またはバージョンは、音声セグメントを伝送する1以上のパケットのコンテンツ内で特定されてもよい。
動作430Bで、(復号された)音声セグメントが処理される。これは、バッファ内への復号された音声セグメントの配置、誤り訂正の実行、複数の連続する波形合成等を含みうる。該結果は、毎フレーム基準でユーザに提示される最終音声となり得る。
動作440Bで、最終的に生成された音声は、クライアント装置の出力機構を介して出力される。例えば、音声はクライアント装置のサウンドカードまたはスピーカを介して再生される。
《9.非限定的な実施形態の具体的開示》
以下、本発明の所定の非限定的な実施形態のより詳細な開示が与えられる。
参照は、制御サーバ510、複数の描画リソース501及びクライアント装置520が示される図5Aについてなされる。描画リソース501は、制御サーバ510から描画命令セットを受信し、符号化された映像コンテンツを生成し、インターネット130等のネットワークを介して送信する。その結果、1以上の描画リソース501は、図2Aの描画サーバ200Rと概して類似し得、クライアント装置520は上述のクライアント装置120、120Aのいずれであってもよい。描画リソース501は、例えば複数の建物や都市等、地理的に分散されてよい。代わりに、2以上の描画リソース501が、同一の建物や都市等、同一の物理的位置に配置されてもよい。
非限定的な実施形態において、制御サーバ510の設計は図2Aの計算サーバ210Cに基づいていてもよい。故に、制御サーバ510はゲーム制御サーバであってもよいし、そのソフトウェア構成は描画命令のセット(または「描画命令セット」)を生成する、上述したビデオゲーム機能モジュール270を含みうる。描画命令セットは、(例えばインターネットを介してサーバに到達可能な)描画リソースにより解釈され、映像コンテンツの1以上のフレームの生成が結果として得られる。現在図示されている例示の目的で、ビデオゲーム機能モジュール270により生成された描画命令セットは5301、5302で示される。また、現在図示されている例では、描画命令セット5301、5302等の各々は、描画リソース501により最終的に生成される、(各々5401、5402等により示される)映像コンテンツの1フレームに対応している。しかしながら、一般的に言えば描画命令セットは最終的に生成された映像コンテンツの1以上のフレームに対応し得るため、この1対1対応は、本発明の限定として理解されるべきではない。
制御サーバ510は、ビデオゲーム機能モジュール270により生成される描画命令セット5301、5302等を傍受する出力制御器512を実現するための適切なハードウェア、ソフトウェア及び/または制御論理を含み、どこに描画命令セットの各々を送信すべきか決定する。換言すれば、時間内の特定の瞬間において、描画命令セット5301、5302等の各々は、該瞬間において「割り当てられた」描画リソースと指定されている描画リソース501の1つに送信される。徐々に変化する「割り当てられた描画リソース」の識別子は、描画リソース割り当てモジュール514により出力制御器512に提供されうる。故に、(クライアント装置520のような)任意のクライアント装置についての出力制御器512の機能は、1つの入力と複数の出力を有し、描画リソース割り当てモジュール514により制御されるデマルチプレクサと同様であってよい。
描画リソース割り当てモジュール514は、制御サーバ510のハードウェア/ソフトウェア/制御論理リソースを用いて実現されてもよい。機能的な観点から、描画リソース割り当てモジュール514は1以上のパラメータを監視し、監視したパラメータに基づいて描画リソースの再割り当ての決定を行う。いずれの描画リソースを割り当てられた描画リソースとして指定するかを変更するための決定は、参加者毎(あるいはクライアント装置毎)基準になされてよい、即ち、メモリには参加者/クライアント装置のリストが格納されており、各参加者/クライアント装置には、その瞬間において該参加者/クライアント装置について割り当てられた描画リソースに指定された特定の描画リソースが関連付けられている。クライアント装置520のような任意のクライアントについて割り当てられた描画リソースの身元は、様々な動作状況及び制約に適応するために、動的に(即ち徐々に)変更してよい。
いずれの描画リソースをクライアント装置520について割り当てられた描画リソースとして指定するかを変更するための決定が描画リソース割り当てモジュール514によりなされると、該決定は制御信号516の形式で出力制御器512と直接通信されうる。制御信号516は、新たに割り当てられた描画リソースを具体的に識別し得る。割り当てられた描画リソースの識別子は、例えば各サーバのIPアドレスとして符号化されてよい。あるいは、該決定は非直接的な手法で通信されうる。例えば、現在割り当てられている描画リソースの識別子(例えばサーバのIPアドレスまたは他の識別子)は、制御サーバ510において、少なくとも出力制御器512により読み取り可能で、かつ少なくとも描画リソース割り当てモジュール514により書き込み可能なメモリ位置(不図示)に格納されうる。出力制御器512は、標準的な基準において、該メモリ位置をポーリングするよう構成されていてもよい。この場合、描画リソース割り当てモジュール514は新たに割り当てられた描画リソースの識別子を上述したメモリ位置に単純に書き込み得、該最新の情報は、メモリ位置から読み出した場合に出力制御器512により利用可能であろう。もちろん、出力制御器512への描画リソースの再割り当ての決定を伝送する他の機構が可能である。
図5Bに示される現在の例示の目的で、動作中、ビデオゲーム機能モジュール270は描画命令セット5301、5302、5303、5304、5305、及び5306をその順番で含むものとする一連の描画命令セットを生成する。6つの描画命令セットのみが示されるが、本発明の限定としてこれが理解されるべきではない。また、クラウドゲームシステムにおいて2つの描画リソース501A及び501Bが存在するものとしているが、本発明の実用化において採用される描画リソース501の数は特に制限ないことは理解されるべきである。
以下さらに、描画命令セット5301が送信された際にクライアント装置520に割り当てられた描画リソースが描画リソース501Aであるものとする。割り当てられた描画リソースの識別子は、描画リソース501Aに描画命令セット5301を導く出力制御器512により知られる。また、描画命令セット5302及び5303が同様に描画リソース501Aに送信されることが可能なように、この状況はしばらくの間維持されるものとする。描画リソース501Aは、描画命令セット5301、5302及び5303を、映像コンテンツの各フレーム5401、5402及び5403に変換する。フレーム5401、5402及び5403は、描画リソース501Aにより符号化及び/または圧縮された後、クライアント装置520に送信される。本例では各描画命令セットは映像コンテンツの単一のフレームの各々に対応しているが、この1対1対応は限定するものではなく、任意の描画命令セットについて映像コンテンツの複数のフレームの生成が結果であるものとしてもよい。
以下、描画リソース501Bがクライアント装置520について割り当てられた描画リソースとして指定されるように、描画リソース割り当てモジュール514はいずれの描画リソースがクライアント装置520について割り当てられた描画リソースであるかを変更するかを決定するものとする。クライアント装置520について割り当てられた描画リソースの身元を変更するための決定は、論理回路や格納されたプログラムにより実現される描画リソース割り当てアルゴリズムの結果であってもよい。ここから、出力制御器512は、新たに割り当てられた描画リソース、即ち描画リソース501Bに対して描画命令セットの送信を開始する。従って、描画命令セット5304、5305、5306は、該描画命令セット5304、5305、5306を映像コンテンツの各フレーム5404、5405及び5406に変換する描画リソース501Bに送信される。、映像コンテンツのフレーム5404、5405及び5406は、クライアント装置520に送信される前に、描画リソース501Bによりこの時点で符号化及び/または圧縮されうる。
一方、クライアント装置520は2つの描画リソース510A、501Bの各々から、任意の描画リソース(501Aまたは510B)がクライアント装置520について割り当てられた描画リソースである時間に概して対応する異なる時間において、映像コンテンツのフレームを受信する。具体的にはクライアント装置520は、描画リソース501Aから、(描画リソース501Aがクライアント装置520についての割り当てられた描画リソースである期間に送信された)映像コンテンツのフレーム5401、5402及び5403を受信する。またクライアント装置520は、描画リソース501Bから、(描画リソース501Bがクライアント装置520についての割り当てられた描画リソースである期間に送信された)映像コンテンツのフレーム5404、5405及び5406を受信する。
クライアント装置520における受信に応じて、映像コンテンツの受信されたフレームは、バッファ522に配置され、復号される。例えばフレーム5403が5404より前に受信される保証はないため、クライアント装置520により連続して表示される画像が正しい順序で表示されることを保障する役割を担う順序付け機能部524が実装されることが好ましい。そのようなものとして、バッファ522及び順序付け機能部524が前述した図4Aの動作430Aを実現しうる。映像コンテンツの受信したフレーム5401、5402、5403、5404、5405及び5406が(必要であれば)クライアント装置520において順序付けされると、それらはフレームバッファ526に配置されうる。フレームバッファ526は、図4の動作440Aとの関連で、クライアント装置520のディスプレイに表示される画像のソースとなり得る。
描画命令セット5301、5302、5303、5304、5305及び5306の各々に埋め込まれ、あるいは出力制御器512により描画命令セット5301、5302、5303、5304、5305及び5306とは別送されることで描画リソース501A、501Bによりクライアント装置520に伝送されるシーケンス識別子の形に描画命令セット5301、5302、5303、5304、5305及び5306の順序(及び映像コンテンツの対応するフレーム5401、5402、5403、5404、5405及び5406の順序)は符号化されうる。図示の目的で、図5Bではシーケンス識別子ID_1、ID_2、ID_3、ID_4、ID_5及びID_6は、描画命令セット5301、5302、5303、5304、5305及び5306の各々と共に、出力制御器512により送信される。これらのシーケンス識別子は、いずれの描画リソースが特定のフレームの生成の役割を担うかに関わらず、映像コンテンツのフレーム5401、5402、5403、5404、5405及び5406とともに再送される。もちろん、適切な順序付けを実現する他の技術が存在することを、当業者は理解するだろう。
映像コンテンツのフレームの生成の担当が動的な方式で描画リソース501群において移動されてもよいことは、上述の記載から明らかであろう。
いくつかの実施形態において、映像コンテンツのフレームを、受信を期待し得るあらゆる新たに割り当てられた描画リソースの識別子、及び該新たに割り当てられた描画リソースから受信されることが期待される先頭フレームのシーケンス識別子について、クライアント装置520に警告することは有用でありうる。前述の動作例においてこれを達成するために、出力制御器512は、クライアント装置520に送信されたメッセージによる新たに割り当てられた描画リソースの担当下において、最初の描画命令セットの送信を先行して行うことも可能である。
図6Aは、出力制御器512が描画リソース501Aに送信する描画命令セット(本例では描画命令セット5303)に警告610を挿入する場合を示している。警告610は、描画リソース501Bの識別子及びシーケンス識別子ID_4を含む。一般的に、警告は新たに割り当てられた描画リソースへ送信されるようスケジュールされた1以上の描画命令セットのシーケンス識別子を含みうる。描画リソース501Aは、シーケンス識別子ID_4を有するフレーム(即ちフレーム5404)で始まる、連続したフレームが描画リソース501Bから受信されることを必然的に知るであろうクライアント装置520に対して、警告610を伝送する。
図6Bは、上述した警告610内と同様の情報が、インターネット130を介して描画リソース割り当てモジュール514とクライアント装置520との間に確立された制御リンク630を介して帯域外メッセージ620として送信される場合を示している。
図6Cは、遷移を実行する、即ち、出力制御器512を有することにより描画リソース501A、501Bの両方に、割り当てられた描画リソースの身元を変更することに先立つ1以上の描画命令セットで開始する描画命令セットを複製して送信する他の方法を示している。この場合、描画命令セット5301が描画リソース501Aのみに送信され、次の2つの描画命令セット5302、5303が、元々割り当てられていた描画リソース(描画リソース501A)及び新たに割り当てられた描画リソース(描画リソース501B)の双方に送信される。その後、描画命令セット5304、5305及び5306は、元の通り描画リソース501Bのみに送信される。描画リソース501A、501Bは映像コンテンツの対応するフレームの生成により対応することで、いくつかの複製フレーム(即ち、シーケンス識別子ID_2及びID_3を伝送するフレーム6002及び6003)がクライアント装置520に送信される。クライアント装置520において、順序付け機能部524は入力バッファ522から複製映像コンテンツを削除する機能を備えていてもよい。
逆に、割り当てられた描画リソースの身元の変更の後の(むしろ先立つ)1以上の描画命令セットで始まる描画命令セットを、制御サーバ510A、510Bの両方に複製して送信する出力制御器512を有することによる送信の実行も、本発明の範囲に含まれる。このことは、描画命令セット5301、5302及び5303が描画リソース501Aのみに送信され、描画命令セット5304及び5305が元々割り当てられた描画リソース(描画リソース501A)と新たに割り当てられた描画リソース(描画リソース501B)に送信されるものとして示されている図6Dに示されている。最終的に描画命令セット5306は描画リソース501Bにのみ送信される。描画リソース501A、501Bが映像コンテンツの対応するフレームの生成により対応することで、いくつかの複製フレーム(即ち、シーケンス識別子ID_4及びID_5を伝送するフレーム6004及び6005)がクライアント装置520に送信さえる。クライアント装置520において、順序付け機能部524は、入力バッファ522から複製フレームを削除する機能を備えていてもよい。
他の実施形態において、特定のフレームが受信された場合に、いずれの描画リソースが該フレームを送信したかをクライアント装置520が認識できるように、該特定のフレームをクライアント装置520に送信する際に、描画リソース501A、501Bの各々は固有のシグニチャを追加してもよい。
元々割り当てられていた描画リソースから新たに割り当てられた描画リソースへの遷移に係るさらに他の技術が本発明の範囲に含まれることは、本技術分野に属する当業者により理解されよう。
〈描画リソース割り当てアルゴリズム〉
現在割り当てられている描画リソースから新たに割り当てられた描画リソースへの、割り当てられた描画リソースの身元の変更に係る適切な瞬間の決定である、描画リソース再割り当て決定を行うために、描画リソース割り当てモジュール514は描画リソース割り当てアルゴリズムを実装する。クライアント装置基準で実行される該決定は、種々の条件に基づくものであってよい。
描画リソース再割り当ての決定を行うために用いられる条件の第1の例は、クライアント装置520と現在割り当てられている描画リソースとの間の伝送距離に関するものであってよい。具体的には、クライアント装置520と現在割り当てられている描画リソース(例えば描画リソース501A)との間の伝送距離、及びクライアント装置520と1以上の他の描画リソース(例えば描画リソース501B)との間の伝送距離が監視されることを考える。本例において、再割り当てを導く条件は、クライアント装置520と現在割り当てられている描画リソース(例えば描画リソース501A)との間の伝送距離が、該クライアント装置と他の描画リソース(例えば描画リソース501B)との間の伝送距離を超えた場合に、満たされたものとみなされるものであってよい。そして、該他の描画リソース(例えば描画リソース501B)が、クライアント装置520についての新たに割り当てられた描画リソースとなる。
上述した第1の例によれば、(車、電車、あるいは飛行機のような)乗り物内におり、移動装置の無線通信(例えば携帯/WiMax/WiFi)を使用しているプレイヤを考える。また、現在割り当てられている描画リソース(例えば描画リソース501A)から離れ、映像コンテンツのフレームを生成してストリーミングするために使用可能な近隣サーバ(例えば描画リソース501B)に近づいていること発見するプレイヤを考える。いくつかの点として、移動装置と近隣サーバ(描画リソース501B)との間の通信遅延が、現在割り当てられている描画リソース(例えば描画リソース501A)を使用して体験している通信遅延よりも良好(即ち、より小さい)な場合であり得る。このことは、新たに割り当てる描画リソースとして該近隣サーバ(例えば描画リソース501B)に変更する正当な理由となり得る。
なお、クライアント装置520について割り当てられた描画リソースの身元に係る変更は、クライアント装置の無線通信とは無関係に生じてもよい。即ち、同一の無線通信が維持されうるが、該接続における映像コンテンツのフレームのソースは動的に変化する。逆に、無線通信は様々な理由で変化し得るが、このことは、割り当てられた描画リソースの身元が変化しなければならないことを意味するものではない。即ち、描画リソース間の遷移の決定は、無線接続をハンドオフするための決定とは無関係であってよい。
同様に、描画リソースがクライアント装置520について割り当てられた描画リソースであることの変更は、クライアント装置のインターネット接続とは無関係に生じうる。即ち、該インターネット接続を介した映像コンテンツのフレームのソースが描画リソース501Aから描画リソース501Bに変化する間、同一のインターネット接続が継続的に維持されてもよい。あるいは、様々なインターネット接続が、映像コンテンツのフレームが様々なソースから受信されるように確立されてもよい。
描画リソース再割り当ての決定を行うために用いられる条件の第2の例は、クライアント装置520と現在割り当てられている描画リソースとの間で計測された通信遅延に関する。具体的には、クライアント装置520と現在割り当てられている描画リソース(例えば描画リソース501A)との間の通信遅延、及び該クライアント装置520と1以上の他の描画リソース(例えば描画リソース501B)との間の通信遅延が監視されることを考える。本例では、再割り当てを導く条件は、クライアント装置520と現在割り当てられている描画リソース(例えば描画リソース501A)との間の通信遅延が、クライアント装置520と他の描画リソース(例えば描画リソース501B)との間の通信遅延を超え始めた場合に満たされたものとみなされるものであってよい。そして、該他の描画リソース(例えば描画リソース501B)が、クライアント装置520についての新たに割り当てられた描画リソースとなる。
上述した第2の例によれば、プレイヤのクライアント装置が有効な速度で物理的に移動していない場合でさえも、ネットワークの混雑条件のような通信遅延に影響を及ぼす要因があり得る。一方、クライアント装置は、現在割り当てられている描画リソース(例えば描画リソース501A)に対して通信遅延が小さい第2の描画リソース(例えば描画リソース501B)にアクセスしてもよい。このように、このことは、クライアント装置に割り当てられた描画リソースとして第2の描画リソース(例えば描画リソース501B)を指定する正当な理由となり得る。
描画リソース再割り当ての決定を行うために用いられる条件の第3の例は、現在割り当てられている描画リソースの計算負荷に関するものであってよい。具体的には、現在割り当てられている描画リソース(例えば描画リソース501A)の計算負荷、及び1以上の他の描画リソース(例えば描画リソース501B)の計算負荷が監視されることを考える。本例では、再割り当てを導く条件は、現在割り当てられている描画リソース(例えば描画リソース501A)の計算負荷が、これらの他の描画リソースのうちの1つ(例えば描画リソース501B)の計算負荷を所定の期間超え始めた場合に満たされたものとみなされるものであってよい。そして、該他の描画リソース(例えば描画リソース501B)が新たに割り当てられた描画リソースになる。
描画リソース再割り当ての決定を行うために用いられる条件の第4の例は、クライアント装置520と現在割り当てられている描画リソースとの間の通信リンクの品質に関するものであってよい。具体的には、クライアント装置520と現在割り当てられている描画リソース(例えば描画リソース501A)との間の通信リンクの品質、及びクライアント装置520と1以上の他の描画リソース(例えば描画リソース501B)との間の通信リンクの品質が監視されることを考える。品質の非限定的なインジケータは、信号強度、誤り率、再送率等であってよい。本例では、再割り当てを導く条件は、クライアント装置520と現在割り当てられている描画リソース(例えば描画リソース501A)との間の通信リンクの品質が、クライアント装置520と他の描画リソース(例えば描画リソース501B)との間の通信リンクの品質以下に低下した場合に満たされたものとみなされるものであってよい。そして、該他の描画リソース(例えば描画リソース501B)が新たに割り当てられた描画リソースになる。
描画リソース再割り当ての決定を行うために用いられる条件の第5の例は、クライアント装置520が配置されている地理領域に関するものであってよい。具体的には、クライアント装置520が配置されている位置または管轄が監視されることを考え、描画リソースと割り当てられた地理領域との対応の存在を考える。の対応は、出力制御器512にアクセス可能なデータベースに維持され得、制御サーバ510のローカルに、あるいはインターネット130を介して利用可能なように格納されてよい。本例では、再割り当てを導く条件は、クライアント装置520が現在割り当てられているものとは異なる描画リソースが割り当てられた地理領域に移動した場合に満たされたものとみなされるものであってよい。そして、該他の描画リソース(例えば描画リソース501B)がクライアント装置について新たに割り当てられた描画リソースになる。
このことが、ただ新たな描画リソースが特定された、あるいは再割り当てについての条件が満たされたという理由で、直ちに再割り当てが行われなければならないことを意味するものではないことは、本技術分野に属する当業者には理解されるべきである。具体的には、追加の条件(または予めの必要条件)が再割り当てが行われる前に満たされる必要があってもよい。
第1の例において、ゲーム内の動作のレベルが、割り当てられた描画リソースの身元の変更が行われる前に十分に低いことを、出力制御器512は保証する。従って、ゲーム内の動作のレベルが判断され、予め設定された閾値と比較される。図8に示される一実施形態において、動作判断器800はクライアント装置820に配置され、動作のレベルを伝送するメッセージ805が制御サーバ810の出力制御器812にフィードバックされる。動作判断器800は、動作のレベル805を出力するために、映像コンテンツのフレームを処理する。動作のレベル805は、1つのフレームから次のフレームまでの画素変化の相対的な数/度合い、音量(クレッシェンド等のニュアンスを含む)等を含む、検出された視覚的または聴覚的な特性に基づいて計測されうる。またパターン検出は、映像シーケンス内のグラフィック要素の動き(または速さ)の検出に用いられうる。また、様々な処理アルゴリズムが、ショット境界検出を実行するために用いられうる。他の実施形態において、動作のレベルは描画命令の解析により判断され得、故に計測は制御サーバ510または描画リソース501A、501Bによりなされてもよい。さらに他の実施形態では、動作のレベルはクライアント装置520から受信した入力のレートに基づいて判断されてもよい。例えば、クライアント装置520から受信した入力の高度が、ビデオゲーム内の相応の高いレベルの動作であることを推測するための代用物として用いられうる。
第2の例において、割り当てられた描画リソースの身元の変更を行う前にゲームが通常の中断点にあることを、出力制御器512は保証する。従って、プレイヤがレベルをちょうど完了した、レベルをちょうど開始した、ある程度のレベルである、主要戦闘の処理内にあるか否か等の観点から、ゲーム内の進行が監視される。プレイヤがゲーム内のいずれに配置されているかの情報が、ビデオゲーム機能モジュール270により提供されうる。
第3の例において、割り当てられた描画リソースの身元の変化を許可する前に、プレイヤがゲームを停止するまで描画リソース割り当てモジュール514は待機する。このことは、描画リソースが割り当てられた描画リソースとして指定される、途切れのない変化を保証しうる。例えば、明確に(ビデオゲーム機能モジュール270への命令の発行を引き起こす)あるいは黙示的に(例えば戦闘前に移動装置が遮断することにより)プレイヤがゲームを停止することを考える。該停止状態は、出力制御器512に情報を提供するビデオゲーム機能モジュール270により検出される。この時点で、出力制御器512は、割り当てられた描画リソースの身元の変更を開始しうる。しかしながら、プレイヤが行先に到着した際に移動装置の電源を入れるまで該変更の効果はなくともよい。
また、割り当てられた描画リソースの身元が変化した後に、そのうち変更が再び必要になってもよいことは理解されるべきである。従って、現在割り当てられている描画リソースから更に新たに割り当てられた描画リソースへの、割り当てられた描画リソースの身元を変更するために、後の描画リソース再割り当ての決定は上述した様々な条件に基づいてなされてもよい。該更に新たに割り当てられた描画リソースは、最近の変更の前に割り当てられていた描画リソースと同一の描画リソースであってもよいし、全く異なる描画リソースであってもよい。
故に、制御サーバが、クライアント装置についての映像コンテンツを描画するための描画命令セットを生成し、各描画リソースが指定された少なくともいくつかの描画命令セットを有するように、少なくとも2つの描画リソースの集合から、少なくとも1つの描画リソースに該描画命令セットの各々を指定することによる方法を説明したことは理解されよう。
[変形例(共同/分散型の決定の実行)]
描画リソース割り当ての決定に用いられるパラメータ(2〜3の非限定的な可能性を示すと、伝送距離、通信遅延、計算負荷及び/または通信リンク品質)が、描画リソース501A、501Bにより計測され、処理するため及び描画リソース割り当てモジュール514により補間するために制御サーバ510に返送されてもよい。あるいは、パラメータは、ネットワーク方向等の様々な情報ソースに基づいて、制御サーバ510により推定または推測されてもよい。さらに別の実施形態では、所定のパラメータはクライアント装置520により計測され、決定の実行のために描画リソース割り当てモジュール514に報告されるものであってさえよい。
図7に示した、さらに別の実施形態において、描画リソース割り当てアルゴリズムは、クライアント装置の描画リソース割り当てモジュール714に、完全にあるいは部分的に組み込まれてもよい。故に、クライアント装置720の2以上の描画リソースのために利用可能なパラメータ(例えば信号強度、通信遅延等)に基づいて、描画リソース割り当てモジュール714は、割り当てた描画リソースの身元を変更するための適切な時期がいつであるかの決定を行い、該情報はトリガ750の形で、制御サーバ710の出力制御器512に送り返されてもよい。トリガ750は、クライアント装置720についての新たに割り当てられた描画リソースとして指定される描画リソースの識別子を提供するものであってもよい。このような実装において、描画リソース割り当てモジュール714がクライアント装置720に実装される等、描画リソース割り当てモジュールが制御サーバ710にある必要はない。また、描画リソース割り当てアルゴリズムが制御サーバとクライアント装置(あるいは描画リソース501A、501B)との間に分散されることによるハイブリッド実装も、本発明の範囲内に含まれる。
[変形例(冗長性)]
変形例において、描画命令セットの各々は、描画リソース501に含まれる少なくとも2つの描画リソースの各々に送信される。クライアント装置520において、複製映像コンテンツが複数の描画リソースから受信されるだろう。受信したフレームはバッファされうる(及び順序が異なっている場合には記録される)。もちろん所定の映像コンテンツの複数の複製が存在するため、これらは順序付ける前に、格納しない、あるいは破棄されてもよい。
この種のアプローチを用いることで、描画命令セットを複製のみすればよいため、クライアント装置520について割り当てる描画リソースの指定を自身に負荷をかけることがなく、制御サーバ510の描画リソース割り当てモジュール514の設計は簡素化される。トレードオフは、描画命令セット(及び結果のフレーム)の複製があるため、より多くの帯域がインターネット130上で消費されることである。つまり、複製した描画コマンドセットを取り扱う描画リソースの数が多くなるほど、要求される帯域は多くなる。また本変形例において、クライアント装置520は、複数の描画リソースから受信する複製された映像フレームを削除する構成を組み込まれて設計されるべきである。
上述した実施形態が例示を目的としたものであり、制限するものではないことは、本技術分野に属する当業者によって理解されるべきである。また、本発明の所定の実施形態の動作に必要であってもよい、説明されていない図示されていない追加の要素が、本技術分野に属する当業者の視野内にあってもよいことは理解されるべきである。さらに、本発明の所定の実施形態は、個々に具体的に記載されていないあらゆる要素について、該要素が免除される、該要素がない、及び/または該機能なしに機能しうるものであってもよい。
最後に、本発明の所定の実施形態は、特許請求の範囲ではない以下の列挙される記載により表される態様が存在してもよい。
1.コンピュータ実装された方法であって、
クライアント装置についての映像コンテンツを描画するための描画命令セットを生成し、
少なくともいくつかの前記描画命令セットが各描画リソースに導かれるように、前記描画命令セットの各々を、少なくとも2つの描画リソースの集合の少なくとも1つの描画リソースに導くことを含む方法。
2.前記導くことは、前記クライアント装置について割り当てられた描画リソースとして指定された、前記少なくとも2つの描画リソースのうちの1つの描画リソースに描画名声セットの各々を導くことを含む1の記載に規定されたコンピュータ実装された方法。
3.前記少なくとも2つの描画リソースのいずれが前記クライアント装置についての前記割り当てられた描画リソースとして指定されるかを変更することをさらに含む2の記載に規定されたコンピュータ実装された方法。
4.前記割り当てられた描画リソースと前記クライアント装置との間の伝送距離を判断することをさらに含み、
前記変更は、前記判断された伝送距離に基づいて実行される3の記載に規定されたコンピュータ実装された方法。
5.前記変更は、前記判断された伝送距離が予め設定された閾値を超える場合に実行される4の記載に規定されたコンピュータ実装された方法。
6.前記少なくとも2つの描画リソースのうちの第1の描画リソースが前記クライアント装置についての前記割り当てられた描画リソースとして指定されている期間に、前記第1の描画リソースよりも前記装置との伝送距離がより短い、前記少なくとも2つの描画リソースのうちの第2の描画リソースを識別することをさらに含み、
前記変更は、前記クライアント装置についての前記割り当てられた描画リソースとして前記第2の描画リソースを指定することを含む3の記載に規定されたコンピュータ実装された方法。
7.前記割り当てられた描画リソースと前記クライアント装置との間の通信遅延を判断することをさらに含み、
前記変更は、前記判断された通信遅延に基づいて実行される3の記載に規定されたコンピュータ実装された方法。
8.前記変更は、前記判断された通信遅延が予め定められた閾値を超える場合に実行される7の記載に規定されたコンピュータ実装された方法。
9.前記少なくとも2つの描画リソースのうちの第1の描画リソースが前記クライアント装置についての前記割り当てられた描画リソースとして指定されている期間に、前記第1の描画リソースよりも前記装置への通信遅延がより少ない、前記少なくとも2つの描画リソースのうちの第2の描画リソースを識別することをさらに含み、
前記変更は、前記クライアント装置についての前記割り当てられた描画リソースとして前記第2の描画リソースを指定することを含む3の記載に規定されたコンピュータ実装された方法。
10.前記割り当てられた描画リソースの計算負荷を判断することをさらに含み、
前記変更は、前記判断された計算負荷に基づいて実行される3の記載に規定されたコンピュータ実装された方法。
11.前記変更は、前記判断された計算負荷が予め定められた閾値を超える場合に実行される10の記載に規定されたコンピュータ実装された方法。
12.前記少なくとも2つの描画リソースのうちの第1の描画リソースが前記クライアント装置についての前記割り当てられた描画リソースとして指定されている期間に、前記第1の描画リソースよりも計算負荷がより低い、前記少なくとも2つの描画リソースのうちの第2の描画リソースを識別することをさらに含み、
前記変更は、前記クライアント装置についての前記割り当てられた描画リソースとして前記第2の描画リソースを指定することを含む9の記載に規定されたコンピュータ実装された方法。
13.前記割り当てられた描画リソースと前記クライアント装置との間の通信リンクの品質を判断することをさらに含み、
前記変更は、前記判断された通信リンクの品質に基づいて実行される3の記載に規定されたコンピュータ実装された方法。
14.前記変更は、前記判断された品質が予め定められた閾値以下になった場合に実行される13の記載に規定されたコンピュータ実装された方法。
15.前記少なくとも2つの描画リソースのうちの第1の描画リソースが前記クライアント装置についての前記割り当てられた描画リソースとして指定されている期間に、前記装置と前記第1の描画リソースとの通信リンクよりも高い品質を有する通信リンクの終点である、前記少なくとも2つの描画リソースのうちの第2の描画リソースを識別することをさらに含み、
前記変更は、前記クライアント装置についての前記割り当てられた描画リソースとして前記第2の描画リソースを指定することを含む14の記載に規定されたコンピュータ実装された方法。
16.前記クライアント装置の地理的位置を判断し、
地理的位置と各描画リソースとの関係を特定するデータベースを参照することをさらに含み、
前記変更は、前記判断された地理的位置及び前記データベースの内容に基づいて実行される3の記載に規定されたコンピュータ実装された方法。
17.前記変更は、前記クライアント装置についての前記割り当てられた描画リソースとして指定されたリソースと異なる描画リソースに関連付けられた地理領域に移動したと前記装置が判断された場合に実行される16の記載に規定されたコンピュータ実装された方法。
18.前記変更は、条件が満たされたと判断したことに応じて実行される3の記載に規定されたコンピュータ実装された方法。
19.前記条件が満たされたとの判断に先立って、前記少なくとも2つの描画リソースのうちの第1の描画リソースが前記クライアント装置についての前記割り当てられた描画リソースとして指定され、
前記変更は、前記少なくとも2つの描画リソースのうちの第2の描画リソースを、前記クライアント装置についての前記割り当てられた描画リソースとして指定することを含む18の記載に規定されたコンピュータ実装された方法。
20.前記条件が満たされたと判断したことに応じて、前記第1及び第2の描画リソースの両方に、1以上の描画命令セットを重複して送信し、
次の描画命令セットは第2の描画リソースのみに送信することをさらに含む19の記載に規定されたコンピュータ実装された方法。
21.前記条件が満たされたと判断されたことに応じて、前記クライアント装置に前記第2の描画リソースを示すメッセージを送信することをさらに含む19の記載に規定されたコンピュータ実装された方法。
22.他の描画命令セットと相対的な、各描画命令セットの位置を示すシーケンス識別子を、各描画命令セットとともに送信することをさらに含み、
前記メッセージは、前記第2の描画リソースに導かれるようにスケジュールされた1以上の描画命令セットの前記シーケンス識別子を伝送する21の記載に規定されたコンピュータ実装された方法。
23.前記メッセージは、前記第1の描画リソースに導かれた少なくとも1つの描画命令セットとともに送信される22の記載に規定されたコンピュータ実装された方法。
24.前記メッセージは、帯域外メッセージで前記装置に送信される22の記載に規定されたコンピュータ実装された方法。
25.前記クライアント装置と前記第1及び第2の描画リソースの各々との伝送距離を判断することをさらに含み、
前記第1の描画リソースよりも前記第2の描画リソースとの伝送距離がより短いと前記装置が判断された場合に、前記条件が満たされたものと考慮される19の記載に規定されたコンピュータ実装された方法。
26.前記クライアント装置と前記第1及び第2の描画リソースの各々との間の通信遅延を判断することをさらに含み、
前記第2の描画リソースに係る通信遅延が前記第1の描画リソースに係る通信遅延よりも少ない場合に、前記条件が満たされたものと考慮される19の記載に規定されたコンピュータ実装された方法。
27.前記第1及び第2の描画リソースの各々の計算負荷を判断することをさらに含み、
前記第2の描画リソースの計算負荷が前記第1の描画リソースの計算負荷よりも低い場合に、前記条件が満たされたものと考慮される19の記載に規定されたコンピュータ実装された方法。
28.前記クライアント装置と前記第1及び第2の描画リソースの各々との間の通信リンクの品質を判断することをさらに含み、
前記第2の描画リソースに係る前記リンクの品質が前記第1の描画リソースに係る前記リンクの品質よりも高い場合に、前記条件が満たされたものと考慮される19の記載に規定されたコンピュータ実装された方法。
29.前記変更は、トリガの受信を検出したことに応じて実行される1の記載に規定された方法。
30.前記クライアント装置から前記トリガを受信することをさらに含む1の記載に規定された方法。
31.前記トリガは、前記少なくとも2つの描画リソースのいずれが前記割り当てられた描画リソースとして指定されるかを変更する指示を伝送する30の記載に規定された方法。
32.前記トリガは、前記割り当てられた描画リソースとして指定される第2の描画リソースの識別子を伝送する30の記載に規定された方法。
33.前記割り当てられた描画リソースとして指定された描画リソースの識別子をメモリに保持することをさらに含む3の記載に規定された方法。
34.描画命令セットの各々は、他の描画命令セットにより規定される他の画像と相対的な時間的位置を有する画像を規定する3の記載に規定されたコンピュータ実装された方法。
35.前記クライアント装置についての映像コンテンツに対応して生成するために、前記割り当てられた描画リソースにより前記描画命令セットを処理することをさらに含む34の記載に規定された方法。
36.インターネットを介して前記映像コンテンツが前記クライアント装置に送信されるようにすることをさらに含む35の記載に規定された方法。
37.前記映像コンテンツは、ビデオゲーム画像を示すデータを含む36の記載に規定されたコンピュータ実装された方法。
38.制御サーバにより実現され、
前記少なくとも2つの描画リソースは、前記制御サーバから遠離した描画サーバを含む1の記載に規定された方法。
39.インターネットを介して前記クライアント装置から制御入力を受信することをさらに含む38の記載に規定された方法。
40.前記クライアント装置についてビデオゲームプログラムを実行することをさらに含む39の記載に規定されたコンピュータ実装された方法。
41.前記クライアント装置からの前記制御入力に基づいて、前記ビデオゲームのゲーム状態を更新することをさらに含む40の記載に規定された方法。
42.前記ゲーム状態の更新は、3D仮想環境におけるオブジェクトの更新を含む41の記載に規定された方法。
43.前記描画命令セットは、前記クライアント装置に関連付けられた画角からの前記3D仮想環境の投影に基づいて生成される42の記載に規定された方法。
44.前記ビデオゲーム内の動作のレベルを判断することをさらに含み、
前記ビデオゲーム内の動作のレベルが低いと判断される場合に、前記変更が実行される3の記載に規定されたコンピュータ実装された方法。
45.前記ビデオゲーム内の進行を判断することをさらに含み、
前記変更は、前記ビデオゲームにおける進行が該ゲーム内の休止であると判断した場合に実行される3の記載に規定されたコンピュータ実装された方法。
46.前記ビデオゲームが停止しているかを判断することをさらに含み、
前記変更は、前記ビデオゲームが停止していると判断した場合に実行される3の記載に規定されたコンピュータ実装された方法。
47.前記少なくとも2つの描画リソースのいずれが前記割り当てられた描画リソースとして指定されるかの変更は、第2の条件が満たされたとの判断に応じて、前記少なくとも2つの描画リソースのうちのいずれが前記クライアント装置についての前記割り当てらえた描画リソースとして指定されるかの第2の変更をさらに含む19の記載に規定されたコンピュータ実装された方法。
48.前記第2の変更は、前記少なくとも2つの描画リソースから新たな描画リソースを、前記クライアント装置についての前記割り当てられた描画リソースとして指定することを含む47の記載に規定されたコンピュータ実装された方法。
49.前記新たな描画リソースは、前記第1の描画リソースでも前記第2の描画リソースでもない第3の描画リソースである48の記載に規定されたコンピュータ実装された方法。
50.前記新たな描画リソースは前記第1の描画リソースである48の記載に規定されたコンピュータ実装された方法。
51.前記導くことは、前記少なくとも2つの描画リソースの各々に前記描画命令セットの少なくともいくつかを導く1の記載に規定されたコンピュータ実装された方法。
52.前記導くことは、前記少なくとも2つの描画リソースのうちの1つにしか前記描画命令セットの各々を導かない1の記載に規定された方法。
53.前記導くことは、条件を満たしたとの判断に先立って前記描画リソースのうちの第1の描画リソースに前記描画命令セットのうちの第1の描画命令セットを導き、前記条件を満たしたとの判断の後、前記描画リソースのうちの第2の描画リソースに前記描画命令セットのうちの第2の描画命令セットを導く1の記載に規定された方法。
54.演算エンティティにより実行された場合に、
クライアント端末について映像コンテンツの描画に係る描画命令セットを生成し、
少なくともいくつかの前記描画命令セットが各描画リソースに導かれるように、前記描画命令セットの各々を少なくとも2つの描画リソースの集合のうちの少なくとも1つの描画リソースに導く
ことを含む方法を該コンピュータエンティティに実行させるコンピュータ読み取り可能な命令を有するコンピュータ読み取り可能な記録媒体。
55.前記導くことは、前記少なくとも2つの描画リソースの中から、参加者について割り当てられた描画リソースとして指定される描画リソースに、描画命令セットの各々を導くことを含む54の記載に規定されたコンピュータ読み取り可能な記録媒体。
56.前記方法はさらに、前記少なくとも2つの描画リソースのうちのいずれが前記参加者についての前記割り当てられた描画リソースとして指定されるかを変更することを含む55の記載に規定されたコンピュータ読み取り可能な記録媒体。
57.前記変更は、条件が満たされたとの判断に応じて実行される55の記載に規定されたコンピュータ読み取り可能な記録媒体。
58.前記条件が満たされたとの判断に先立ち、前記少なくとも2つの描画リソースのうちの第1の描画リソースが前記クライアント装置についての前記割り当てられた描画リソースとして指定され、
前記変更は、前記少なくとも2つの描画リソースのうちの第2の描画リソースを前記クライアント装置についての前記割り当てられた描画リソースとして指定することを含む57の記載に規定されたコンピュータ読み取り可能な記録媒体。
59.前記導くことは、前記少なくとも2つの描画リソースの各々に前記描画命令セットの少なくともいくつかを導くことを含む54の記載に規定されたコンピュータ読み取り可能な記録媒体。
60.前記導くことは、前記少なくとも2つの描画リソースのうちの1つにしか前記描画命令セットの各々を導かないことを含む54の記載に規定されたコンピュータ読み取り可能な記録媒体。
61.前記導くことは、条件が満たされたとの判断に先立ち前記描画リソースのうちの第1の描画リソースに前記描画命令セットのうちの第1の描画命令セットを導き、前記条件が満たされたとの判断の後、前記描画リソースのうちの第2の描画リソースに前記描画目入れセットのうちの第2の描画命令セットを導くことを含む54の記載に規定されたコンピュータ読み取り可能な記録媒体。
62.クライアント装置について映像コンテンツの描画に係る描画命令セットを生成する制御モジュールと、
各描画リソースが導かれた前記描画命令セットの少なくともいくつかを有するように、前記描画命令セットの各々を、少なくとも2つの描画リソースの集合のうちの少なくとも1つの描画リソースに導く出力制御器と、を有する装置。
63.前記導くことは、前記少なくとも2つの描画リソースのうち、参加者について割り当てられた秒リソースとして指定される描画リソースに、描画命令セットの各々を導くことを含み、
前記サーバはさらに、前記描画リソースのいずれが前記指定された描画リソースであるかの決定を行い、前記決定を前記出力制御器に通知する描画リソース割り当て論理をさらに有する62の記載に規定された装置。
64.クライアント装置について割り当てられた描画サーバとして指定されている間に受信された第1の描画命令セットに基づいて、前記クライアント装置についての第1の映像フレームを生成し、前記クライアント装置に該第1の映像フレームを送信する第1の描画サーバと、
前記クライアント装置について割り当てられた描画サーバとして指定されている間に受信された第2の描画命令セットに基づいて、前記クライアント装置についての第2の映像フレームを生成し、前記クライアント装置に該第2の映像フレームを送信する第2の描画サーバと、を有するサーバシステム。
65.前記第1及び第2の描画サーバはそれぞれ、前記第1及び第2の描画命令セットの各々とともにシーケンス識別子を受信し、前記クライアント装置に送信される、対応する1以上の前記第1及び第2の映像フレームの各々とともに、受信したシーケンス識別子の各々を伝送する64の記載に規定されたサーバシステム。
66.条件が満たされたとの判断に先立ち前記第1の描画サーバに前記第1の描画命令セットを送信し、前記条件が満たされたとの判断の後、前記第2の描画サーバに前記第2の描画命令セットを送信する64の記載に規定されたサーバシステム。
67.インターネットを介したセッションにおいて制御サーバと協働するクライアント装置の処理エンティティにより実行される方法であって、
前記インターネットを介して前記制御サーバに入力を送信し、
前記入力に応じて、第1の描画リソースから前記インターネットを介して第1の映像コンテンツを受信し、前記第1の描画リソースと異なる第2の描画リソースから前記インターネットを介して第2の映像コンテンツを受信し、
前記クライアント装置の表示手段を介して前記第1の映像コンテンツと前記第2の映像コンテンツを表示する方法。
68.前記第2の映像コンテンツの少なくともいくつかは、前記第1の映像コンテンツの少なくともいくつかの後に受信される67の記載に規定された方法。
69.前記第1の映像コンテンツは前記第1の描画リソースにより生成される67の記載に規定された方法。
70.前記第2の映像コンテンツは、前記第2の描画リソースにより生成される69の記載に規定された方法。
71.前記第1及び第2の映像コンテンツは、単一のソースから受信した描画命令セットに基づいて生成される70の記載に規定された方法。
72.前記第1の映像コンテンツを受信している間、前記クライアント装置が前記第1の描画リソースからよりも前記第2の描画リソースからの距離がより短いかを判断し、
前記制御サーバにトリガを送信することをさらに含み、
前記第2の映像コンテンツの受信は、前記トリガの送信後に開始する67の記載に規定された方法。
73.前記第1の映像コンテンツを受信している間、前記クライアント装置と前記第2の描画リソースとの間の通信遅延が前記クライアント装置と前記第1の描画リソースとの間の通信遅延より低いかを判断し、
前記制御サーバにトリガを送信することをさらに含み、
前記第2の映像コンテンツの受信は、前記トリガの送信後に開始する67の記載に規定された方法。
74.前記第1の映像コンテンツを受信している間、前記第2の描画リソースからの信号強度が前記第1の描画リソースからの信号強度よりも大きいかを判断し、
前記制御サーバにトリガを送信することを含み、
前記第2の描画コンテンツの受信は、前記トリガの送信後に開始する67の記載に規定された方法。
75.前記クライアント装置のユーザから外部入力を受信し、
前記外部入力を前記制御サーバに送信される前記入力に変換することをさらに含む67の記載に規定された方法。
76.前記第1及び第2の映像コンテンツは、同一の、継続的に維持されたインターネット接続を介して受信される67の記載に規定された方法。
77.前記第1の映像コンテンツは、前記第1のインターネット接続を介して受信され、
前記第2の映像コンテンツは、前記第1のインターネット接続とは異なる第2のインターネット接続を介して受信される67の記載に規定された方法。
78.前記第1及び第2の映像コンテンツは符号化された形式で受信され、
前記方法はさらに、復号された映像コンテンツを取得するために前記映像コンテンツを復号することを含み、
前記表示された映像コンテンツは前記復号された映像コンテンツである67の記載に規定された方法。
79.前記第1及び第2の映像コンテンツは複数のフレームに分割され、
前記方法はさらに、
前記受信したフレームの各々とともにシーケンス識別子を受信し、
前記シーケンス識別子に関連付けられた前記受信したフレームを順序付けることを含む67の記載に規定された方法。
また、上述した実施形態の付加的な適応及び変形がなされうることは、本技術分野に属する当業者は理解するだろう。故に、発明の範囲は上述の特定の実施形態により限定されるものでなく、以下に添付の特許請求の範囲により規定される。

Claims (20)

  1. 各々異なる地理的位置に設けられた複数の描画装置と通信する情報処理装置の制御方法であって、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各フレームの描画に係る描画命令セットを生成する生成工程と、
    前記生成工程において生成された前記描画命令セットを、前記複数の描画装置のうちの前記クライアント装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲームコンテンツの対応するフレームを描画させて前記クライアント装置に提供させる送信工程と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間の伝送距離を監視する第1の監視工程と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視する第2の監視工程と、
    前記第1の監視工程及び前記第2の監視工程における監視状況に基づいて、前記1つの描画装置を変更する変更工程と、
    を有し、
    現在描画が割り当てられている描画装置と前記クライアント装置との伝送距離が、他の 描画装置と前記クライアント装置との伝送距離を上回った場合に、前記変更工程において 前記1つの描画装置の変更が行われる情報処理装置の制御方法。
  2. 各々異なる地理的位置に設けられた複数の描画装置と通信する情報処理装置の制御方法 であって、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各フ レームの描画に係る描画命令セットを生成する生成工程と、
    前記生成工程において生成された前記描画命令セットを、前記複数の描画装置のうちの 前記クライアント装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲ ームコンテンツの対応するフレームを描画させて前記クライアント装置に提供させる送信 工程と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間において生じる通信遅延 量を監視する第1の監視工程と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視する 第2の監視工程と、
    前記第1の監視工程及び前記第2の監視工程における監視状況に基づいて、前記1つの 描画装置を変更する変更工程と、
    を有し、
    現在描画が割り当てられている描画装置と前記クライアント装置との間において生じる 通信遅延量が、他の描画装置と前記クライアント装置との間で生じる通信遅延量を上回っ た場合に、前記変更工程において前記1つの描画装置の変更が行われる情報処理装置の制 御方法。
  3. 各々異なる地理的位置に設けられた複数の描画装置と通信する情報処理装置の制御方法 であって、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各フ レームの描画に係る描画命令セットを生成する生成工程と、
    前記生成工程において生成された前記描画命令セットを、前記複数の描画装置のうちの 前記クライアント装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲ ームコンテンツの対応するフレームを描画させて前記クライアント装置に提供させる送信 工程と、
    現在描画が割り当てられている描画装置における計算負荷を監視する第1の監視工程と
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視する 第2の監視工程と、
    前記第1の監視工程及び前記第2の監視工程における監視状況に基づいて、前記1つの 描画装置を変更する変更工程と、
    を有し、
    前記現在描画が割り当てられている描画装置における計算負荷が所定の期間が閾値を超 えた場合に、前記変更工程において前記1つの描画装置の変更が行われる情報処理装置の 制御方法。
  4. 各々異なる地理的位置に設けられた複数の描画装置と通信する情報処理装置の制御方法 であって、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各フ レームの描画に係る描画命令セットを生成する生成工程と、
    前記生成工程において生成された前記描画命令セットを、前記複数の描画装置のうちの 前記クライアント装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲ ームコンテンツの対応するフレームを描画させて前記クライアント装置に提供させる送信 工程と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間の通信リンクの品質を監 視する第1の監視工程と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視する 第2の監視工程と、
    前記第1の監視工程及び前記第2の監視工程における監視状況に基づいて、前記1つの 描画装置を変更する変更工程と、
    を有し、
    現在描画が割り当てられている描画装置と前記クライアント装置との間の通信リンクの 品質が、他の描画装置と前記クライアント装置との間の通信リンクの品質より低下したと 判断する場合に、前記変更工程において前記1つの描画装置の変更が行われる情報処理装 置の制御方法。
  5. 前記通信リンクの品質は、描画装置と前記クライアント装置との通信における信号強度、誤り率、及び再送率の少なくともいずれかを含む請求項に記載の情報処理装置の制御方法。
  6. 各々異なる地理的位置に設けられた複数の描画装置と通信する情報処理装置の制御方法 であって、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各フ レームの描画に係る描画命令セットを生成する生成工程と、
    前記生成工程において生成された前記描画命令セットを、前記複数の描画装置のうちの 前記クライアント装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲ ームコンテンツの対応するフレームを描画させて前記クライアント装置に提供させる送信 工程と、
    前記クライアント装置の配置されている地理的位置を監視する第1の監視工程と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視する 第2の監視工程と、
    前記第1の監視工程及び前記第2の監視工程における監視状況に基づいて、前記1つの 描画装置を変更する変更工程と、
    を有し、
    現在描画が割り当てられている描画装置と異なる描画装置に割り当てられた地理的位置 に移動した場合に、前記変更工程において前記1つの描画装置の変更が行われる情報処理 装置の制御方法。
  7. 前記第2の監視工程において、前記ゲームコンテンツに係る進行状況がゲーム内の動作レベルが十分に低いと判断できる状態であるか否かが監視され、
    前記ゲーム内の動作レベルが十分に低いと判断できる状態である場合に、前記変更工程において前記1つの描画装置の変更が行われる請求項1乃至6のいずれか1項に記載の情報処理装置の制御方法。
  8. 前記第2の監視工程において、前記ゲームコンテンツに係る進行状況がゲーム内における中断点であるか否かが監視され、
    前記ゲーム内における中断点である場合に、前記変更工程において前記1つの描画装置の変更が行われる請求項1乃至7のいずれか1項に記載の情報処理装置の制御方法。
  9. 前記第2の監視工程において、前記ゲームコンテンツに係る進行状況がゲームの停止状態であるか否かが監視され、
    前記ゲームの停止状態である場合に、前記変更工程において前記1つの描画装置の変更が行われる請求項1乃至のいずれか1項に記載の情報処理装置の制御方法。
  10. 前記変更工程における変更に先立って、複製された前記描画命令セットが前記送信工程において該変更前後の描画装置の各々に送信される請求項1乃至のいずれか1項に記載の情報処理装置の制御方法。
  11. 各々異なる地理的位置に設けられた複数の描画装置と通信するコンピュータに、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各フレームの描画に係る描画命令セットを生成する処理と、
    生成された前記描画命令セットを、前記複数の描画装置ののうちの前記クライアント装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲームコンテンツの対応するフレームを描画させて前記クライアント装置に提供させる処理と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間の伝送距離を監視する処理と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視する処理と、
    前記監視の状況に基づいて、前記1つの描画装置を変更する処理と、
    を実行させ
    現在描画が割り当てられている描画装置と前記クライアント装置との伝送距離が、他の 描画装置と前記クライアント装置との伝送距離を上回った場合に、前記変更する処理にお いて前記1つの描画装置の変更が行われるプログラムを記録したコンピュータ読み取り可能な記録媒体。
  12. 各々異なる地理的位置に設けられた複数の描画装置と通信するコンピュータに、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各 フレームの描画に係る描画命令セットを生成する処理と、
    生成された前記描画命令セットを、前記複数の描画装置ののうちの前記クライアント 装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲームコンテンツの 対応するフレームを描画させて前記クライアント装置に提供させる処理と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間において生じる通信遅 延量を監視する処理と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視す る処理と、
    前記監視の状況に基づいて、前記1つの描画装置を変更する処理と、
    を実行させ、
    現在描画が割り当てられている描画装置と前記クライアント装置との間において生じる 通信遅延量が、他の描画装置と前記クライアント装置との間で生じる通信遅延量を上回っ た場合に、前記変更する処理において前記1つの描画装置の変更が行われるプログラムを 記録したコンピュータ読み取り可能な記録媒体。
  13. 各々異なる地理的位置に設けられた複数の描画装置と通信するコンピュータに、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各 フレームの描画に係る描画命令セットを生成する処理と、
    生成された前記描画命令セットを、前記複数の描画装置ののうちの前記クライアント 装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲームコンテンツの 対応するフレームを描画させて前記クライアント装置に提供させる処理と、
    現在描画が割り当てられている描画装置における計算負荷を監視する処理と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視す る処理と、
    前記監視の状況に基づいて、前記1つの描画装置を変更する処理と、
    を実行させ、
    前記現在描画が割り当てられている描画装置における計算負荷が所定の期間が閾値を超 えた場合に、前記変更する処理において前記1つの描画装置の変更が行われるプログラム を記録したコンピュータ読み取り可能な記録媒体。
  14. 各々異なる地理的位置に設けられた複数の描画装置と通信するコンピュータに、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各 フレームの描画に係る描画命令セットを生成する処理と、
    生成された前記描画命令セットを、前記複数の描画装置ののうちの前記クライアント 装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲームコンテンツの 対応するフレームを描画させて前記クライアント装置に提供させる処理と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間の通信リンクの品質を 監視する処理と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視す る処理と、
    前記監視の状況に基づいて、前記1つの描画装置を変更する処理と、
    を実行させ、
    現在描画が割り当てられている描画装置と前記クライアント装置との間の通信リンクの 品質が、他の描画装置と前記クライアント装置との間の通信リンクの品質より低下したと 判断する場合に、前記変更する処理において前記1つの描画装置の変更が行われるプログ ラムを記録したコンピュータ読み取り可能な記録媒体。
  15. 各々異なる地理的位置に設けられた複数の描画装置と通信するコンピュータに、
    クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各 フレームの描画に係る描画命令セットを生成する処理と、
    生成された前記描画命令セットを、前記複数の描画装置ののうちの前記クライアント 装置についての描画が割り当てられた1つの描画装置に送信し、前記ゲームコンテンツの 対応するフレームを描画させて前記クライアント装置に提供させる処理と、
    前記クライアント装置の配置されている地理的位置を監視する処理と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視す る処理と、
    前記監視の状況に基づいて、前記1つの描画装置を変更する処理と、
    を実行させ、
    現在描画が割り当てられている描画装置と異なる描画装置に割り当てられた地理的位置 に移動した場合に、前記変更する処理において前記1つの描画装置の変更が行われるプロ グラムを記録したコンピュータ読み取り可能な記録媒体。
  16. ゲームコンテンツをクライアント装置に提供する提供システムであって、各々異なる地理的位置に設けられた複数の描画装置と、該複数の描画装置と通信する情報処理装置を含み、
    前記情報処理装置は、
    前記クライアント装置につき、該クライアント装置から要求されたゲームコンテンツの各フレームの描画に係る描画命令を生成する生成手段と、
    前記生成手段により生成された前記描画命令セットを、前記複数の描画装置のうちの前記クライアント装置についての描画が割り当てられた1つの描画装置に送信する送信手段と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間の伝送距離を監視する第1の監視手段と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視する第2の監視手段と、
    前記第1の監視手段及び前記第2の監視手段による監視状況に基づいて、前記1つの描画装置を変更する変更手段と、
    を有し、
    前記複数の描画装置の各々は、
    前記送信手段により送信された前記描画命令セットに基づき、前記ゲームコンテンツの対応するフレームを描画する描画手段と、
    前記描画手段により描画された前記フレームを前記クライアント装置に提供する提供手段と、
    を有し、
    前記変更手段は、現在描画が割り当てられている描画装置と前記クライアント装置との 伝送距離が、他の描画装置と前記クライアント装置との伝送距離を上回った場合に、前記 1つの描画装置を変更する提供システム。
  17. ゲームコンテンツをクライアント装置に提供する提供システムであって、各々異なる地 理的位置に設けられた複数の描画装置と、該複数の描画装置と通信する情報処理装置を含 み、
    前記情報処理装置は、
    前記クライアント装置につき、該クライアント装置から要求されたゲームコンテンツ の各フレームの描画に係る描画命令を生成する生成手段と、
    前記生成手段により生成された前記描画命令セットを、前記複数の描画装置のうちの 前記クライアント装置についての描画が割り当てられた1つの描画装置に送信する送信手 段と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間において生じる通信遅 延量を監視する第1の監視手段と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視す る第2の監視手段と、
    前記第1の監視手段及び前記第2の監視手段による監視状況に基づいて、前記1つの 描画装置を変更する変更手段と、
    を有し、
    前記複数の描画装置の各々は、
    前記送信手段により送信された前記描画命令セットに基づき、前記ゲームコンテンツ の対応するフレームを描画する描画手段と、
    前記描画手段により描画された前記フレームを前記クライアント装置に提供する提供 手段と、
    を有し、
    前記変更手段は、現在描画が割り当てられている描画装置と前記クライアント装置との 間において生じる通信遅延量が、他の描画装置と前記クライアント装置との間で生じる通 信遅延量を上回った場合に、前記1つの描画装置を変更する提供システム。
  18. ゲームコンテンツをクライアント装置に提供する提供システムであって、各々異なる地 理的位置に設けられた複数の描画装置と、該複数の描画装置と通信する情報処理装置を含 み、
    前記情報処理装置は、
    前記クライアント装置につき、該クライアント装置から要求されたゲームコンテンツ の各フレームの描画に係る描画命令を生成する生成手段と、
    前記生成手段により生成された前記描画命令セットを、前記複数の描画装置のうちの 前記クライアント装置についての描画が割り当てられた1つの描画装置に送信する送信手 段と、
    現在描画が割り当てられている描画装置における計算負荷を監視する第1の監視手段 と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視す る第2の監視手段と、
    前記第1の監視手段及び前記第2の監視手段による監視状況に基づいて、前記1つの 描画装置を変更する変更手段と、
    を有し、
    前記複数の描画装置の各々は、
    前記送信手段により送信された前記描画命令セットに基づき、前記ゲームコンテンツ の対応するフレームを描画する描画手段と、
    前記描画手段により描画された前記フレームを前記クライアント装置に提供する提供 手段と、
    を有し、
    前記変更手段は、前記現在描画が割り当てられている描画装置における計算負荷が所定 の期間が閾値を超えた場合に、前記1つの描画装置を変更する提供システム。
  19. ゲームコンテンツをクライアント装置に提供する提供システムであって、各々異なる地 理的位置に設けられた複数の描画装置と、該複数の描画装置と通信する情報処理装置を含 み、
    前記情報処理装置は、
    前記クライアント装置につき、該クライアント装置から要求されたゲームコンテンツ の各フレームの描画に係る描画命令を生成する生成手段と、
    前記生成手段により生成された前記描画命令セットを、前記複数の描画装置のうちの 前記クライアント装置についての描画が割り当てられた1つの描画装置に送信する送信手 段と、
    前記複数の描画装置のそれぞれと前記クライアント装置との間の通信リンクの品質を 監視する第1の監視手段と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視す る第2の監視手段と、
    前記第1の監視手段及び前記第2の監視手段による監視状況に基づいて、前記1つの 描画装置を変更する変更手段と、
    を有し、
    前記複数の描画装置の各々は、
    前記送信手段により送信された前記描画命令セットに基づき、前記ゲームコンテンツ の対応するフレームを描画する描画手段と、
    前記描画手段により描画された前記フレームを前記クライアント装置に提供する提供 手段と、
    を有し、
    前記変更手段は、現在描画が割り当てられている描画装置と前記クライアント装置との 間の通信リンクの品質が、他の描画装置と前記クライアント装置との間の通信リンクの品 質より低下したと判断する場合に、前記1つの描画装置を変更する提供システム。
  20. ゲームコンテンツをクライアント装置に提供する提供システムであって、各々異なる地 理的位置に設けられた複数の描画装置と、該複数の描画装置と通信する情報処理装置を含 み、
    前記情報処理装置は、
    前記クライアント装置につき、該クライアント装置から要求されたゲームコンテンツ の各フレームの描画に係る描画命令を生成する生成手段と、
    前記生成手段により生成された前記描画命令セットを、前記複数の描画装置のうちの 前記クライアント装置についての描画が割り当てられた1つの描画装置に送信する送信手 段と、
    前記クライアント装置の配置されている地理的位置を監視する第1の監視手段と、
    前記クライアント装置に提供している前記ゲームコンテンツに係る進行状況を監視す る第2の監視手段と、
    前記第1の監視手段及び前記第2の監視手段による監視状況に基づいて、前記1つの 描画装置を変更する変更手段と、
    を有し、
    前記複数の描画装置の各々は、
    前記送信手段により送信された前記描画命令セットに基づき、前記ゲームコンテンツ の対応するフレームを描画する描画手段と、
    前記描画手段により描画された前記フレームを前記クライアント装置に提供する提供 手段と、
    を有し、
    前記変更手段は、現在描画が割り当てられている描画装置と異なる描画装置に割り当て られた地理的位置に移動した場合に、前記1つの描画装置を変更する提供システム。
JP2015517561A 2013-05-23 2013-05-23 クラウド型ゲームシステムにおける描画リソースの動的割り当て Active JP6196668B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2013/000505 WO2014186858A1 (en) 2013-05-23 2013-05-23 Dynamic allocation of rendering resources in a cloud gaming system

Publications (2)

Publication Number Publication Date
JP2015523886A JP2015523886A (ja) 2015-08-20
JP6196668B2 true JP6196668B2 (ja) 2017-09-13

Family

ID=51932645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015517561A Active JP6196668B2 (ja) 2013-05-23 2013-05-23 クラウド型ゲームシステムにおける描画リソースの動的割り当て

Country Status (5)

Country Link
US (1) US10092834B2 (ja)
EP (1) EP3000232A4 (ja)
JP (1) JP6196668B2 (ja)
CA (1) CA2886282C (ja)
WO (1) WO2014186858A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9652129B1 (en) * 2014-04-11 2017-05-16 Amazon Technologies, Inc. Dynamic resource management for cloud-based services
US10037656B2 (en) * 2014-12-16 2018-07-31 Igt Canada Solutions Ulc Techniques of performing cloud-based hosting of shared gaming activities
JP6513984B2 (ja) * 2015-03-16 2019-05-15 株式会社スクウェア・エニックス プログラム、記録媒体、情報処理装置及び制御方法
KR102203381B1 (ko) * 2015-07-24 2021-01-15 고릴라박스 게엠베하 아이. 지. 애플리케이션을 스트리밍하고 재생하기 위한 방법 및 전자통신 네트워크
US10818068B2 (en) * 2016-05-03 2020-10-27 Vmware, Inc. Virtual hybrid texture mapping
US10456672B2 (en) 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
WO2018041324A1 (de) 2016-09-03 2018-03-08 Gorillabox Gmbh Verfahren zum streamen und zur wiedergabe von anwendungen über ein bestimmtes telekommunikationssystem, telekommunikationsnetz zum durchführen dieses verfahrens und verwendung eines derartigen telekommunikationsnetzes
WO2018126956A1 (zh) 2017-01-05 2018-07-12 腾讯科技(深圳)有限公司 一种信息处理方法、装置及服务器
US10491666B2 (en) * 2017-04-03 2019-11-26 Sony Interactive Entertainment America Llc Systems and methods for using a distributed game engine
CN110678239B (zh) 2017-10-10 2024-02-09 谷歌有限责任公司 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
CN108153506B (zh) * 2018-01-24 2021-07-13 北京小米移动软件有限公司 图像处理方法、装置及终端设备
CN111417441A (zh) 2018-03-22 2020-07-14 谷歌有限责任公司 用于渲染和编码在线交互式游戏会话的内容的方法和系统
EP3740292A2 (en) 2018-04-02 2020-11-25 Google LLC Input device for an electronic system
US11077364B2 (en) * 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
EP3773953A1 (en) 2018-04-02 2021-02-17 Google LLC Methods, devices, and systems for interactive cloud gaming
EP4345731A1 (en) 2018-04-10 2024-04-03 Google LLC Memory management in gaming rendering
US11662051B2 (en) 2018-11-16 2023-05-30 Google Llc Shadow tracking of real-time interactive simulations for complex system analysis
GB2583511B (en) * 2019-05-02 2024-01-10 Sony Interactive Entertainment Inc Method of and system for controlling the rendering of a video game instance
CN110433496B (zh) * 2019-08-14 2023-07-07 咪咕互动娱乐有限公司 云游戏资源配置方法、电子设备和存储介质
US11524230B2 (en) 2019-10-01 2022-12-13 Sony Interactive Entertainment Inc. Encoder tuning to improve tradeoffs between latency and video quality in cloud gaming applications
US11395963B2 (en) 2019-10-01 2022-07-26 Sony Interactive Entertainment Inc. High speed scan-out of server display buffer for cloud gaming applications
US11539960B2 (en) 2019-10-01 2022-12-27 Sony Interactive Entertainment Inc. Game application providing scene change hint for encoding at a cloud gaming server
US11865434B2 (en) 2019-10-01 2024-01-09 Sony Interactive Entertainment Inc. Reducing latency in cloud gaming applications by overlapping receive and decode of video frames and their display at the client
US11235235B2 (en) * 2019-10-01 2022-02-01 Sony Interactive Entertainment Inc. Synchronization and offset of VSYNC between gaming devices
CN111402353B (zh) * 2020-03-11 2020-12-25 浙江大学 一种基于自适应虚拟化绘制流水线的云-端绘制计算方法
CN111951366B (zh) * 2020-07-29 2021-06-15 北京蔚领时代科技有限公司 一种云原生3d场景游戏方法和系统
CN111729293B (zh) * 2020-08-28 2020-12-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及存储介质
CN113144588A (zh) * 2020-10-15 2021-07-23 顾春健 基于云计算的游戏资源分配方法及可读存储介质
CN117355361A (zh) * 2021-05-26 2024-01-05 谷歌有限责任公司 混合云与本地渲染
CN115779444B (zh) * 2022-03-03 2024-01-19 深圳市梦作坊科技有限公司 一种应用于人工智能的云游戏数据安全防护方法及服务器
CN115292020B (zh) * 2022-09-26 2022-12-20 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备以及介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8840475B2 (en) 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US9192859B2 (en) * 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US7669206B2 (en) * 2004-04-20 2010-02-23 Microsoft Corporation Dynamic redirection of streaming media between computing devices
US20060028479A1 (en) 2004-07-08 2006-02-09 Won-Suk Chun Architecture for rendering graphics on output devices over diverse connections
US7830388B1 (en) * 2006-02-07 2010-11-09 Vitie Inc. Methods and apparatus of sharing graphics data of multiple instances of interactive application
GB2447094B (en) 2007-03-01 2010-03-10 Sony Comp Entertainment Europe Entertainment device and method
US8898325B2 (en) 2007-03-06 2014-11-25 Trion Worlds, Inc. Apparatus, method, and computer readable media to perform transactions in association with participants interacting in a synthetic environment
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US9498714B2 (en) 2007-12-15 2016-11-22 Sony Interactive Entertainment America Llc Program mode switching
EP2364190B1 (en) 2008-05-12 2018-11-21 GameFly Israel Ltd. Centralized streaming game server
US8154553B2 (en) * 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
US8264493B2 (en) 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US20100285884A1 (en) 2009-05-08 2010-11-11 Gazillion Inc High performance network art rendering systems
EP2319597A1 (en) 2009-10-13 2011-05-11 Crytek GmbH A system of providing data for entertaining presentations to at least one audience
US20110227934A1 (en) 2010-03-19 2011-09-22 Microsoft Corporation Architecture for Volume Rendering
CA2741999C (en) 2010-06-03 2019-07-30 Ntn Buzztime, Inc. Interactive gaming via mobile playmaker
US8874747B2 (en) * 2010-12-27 2014-10-28 Nokia Corporation Method and apparatus for load balancing in multi-level distributed computations
GB201102128D0 (en) 2011-02-08 2011-03-23 Mustafa Bilal I Method and system for providing video game content
US8348752B2 (en) 2011-05-02 2013-01-08 At&T Intellectual Property I, Lp Method and apparatus for managing a gaming application
JP5076132B1 (ja) * 2011-05-25 2012-11-21 株式会社スクウェア・エニックス・ホールディングス 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム
JP6181917B2 (ja) 2011-11-07 2017-08-16 株式会社スクウェア・エニックス・ホールディングス 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体
CN108854055B (zh) * 2012-11-28 2021-08-20 辉达公司 用于远程显示器的基于云的虚拟化图形处理系统和介质
WO2014141142A1 (en) * 2013-03-14 2014-09-18 Gamesys Ltd Systems and methods for detection of gaming experience management implementations
US10395482B2 (en) * 2013-03-15 2019-08-27 Gamesys, Ltd. Systems and methods for modifying selections available in a bonus game

Also Published As

Publication number Publication date
EP3000232A1 (en) 2016-03-30
CA2886282C (en) 2019-07-23
US20160059125A1 (en) 2016-03-03
WO2014186858A1 (en) 2014-11-27
US10092834B2 (en) 2018-10-09
JP2015523886A (ja) 2015-08-20
CA2886282A1 (en) 2014-11-27
EP3000232A4 (en) 2017-01-25

Similar Documents

Publication Publication Date Title
JP6196668B2 (ja) クラウド型ゲームシステムにおける描画リソースの動的割り当て
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
US10740951B2 (en) Foveal adaptation of particles and simulation models in a foveated rendering system
JP6232423B2 (ja) 情報処理装置、描画装置、方法及びプログラム
JP5987060B2 (ja) ゲームシステム、ゲーム装置、制御方法、プログラム及び記録媒体
JP6576245B2 (ja) 情報処理装置、制御方法及びプログラム
CN107735152B (zh) 用于虚拟现实(vr)观看的扩展视野重新渲染
JP6069528B2 (ja) 画像処理装置、画像処理システム、画像処理方法、及び記憶媒体
JP2021525911A (ja) マルチサーバクラウド仮想現実(vr)ストリーミング
JP6341986B2 (ja) 描画装置、その描画方法、プログラム及び記録媒体
JP7355841B2 (ja) 仮想キャラクタの現実間のクロスオーバを示すための方法及び非一時的なコンピュータ可読媒体
CN110270088B (zh) 异步虚拟现实交互
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
JP6200062B2 (ja) 情報処理装置、制御方法、プログラム及び記録媒体
US20160271495A1 (en) Method and system of creating and encoding video game screen images for transmission over a network
CA2798066A1 (en) Method and system of creating and encoding video game screen images for transmission over a network

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170818

R150 Certificate of patent or registration of utility model

Ref document number: 6196668

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