(58)【調査した分野】(Int.Cl.,DB名)
ゲームコンテンツに係るデータを提供する第1の提供装置と、該提供装置から該データを受信する第2の提供装置と、前記第1の提供装置または前記第2の提供装置からP2P通信により該データを受信し、前記ゲームコンテンツに係る描画処理を実行することにより前記ゲームコンテンツに係るゲーム画面を生成する実行装置とで構成されるデータ提供システムであって、
前記実行装置は、
前記ゲームコンテンツに係るデータのうち、少なくとも該ゲームコンテンツに係る描画処理の実行開始時に必要な最低限の描画用データを含む第1のデータの提供要求、及び前記ゲームコンテンツに係るデータのうち、該ゲームコンテンツに係る描画処理に用いられる前記最低限の描画用データ以外の描画用データを含む、前記第1のデータ以外の第2のデータの提供要求を前記第1の提供装置または前記第2の提供装置に送信する要求送信手段と、
前記第1の提供装置または前記第2の提供装置から前記第1のデータ及び前記第2のデータを受信する受信手段と、
前記受信手段により受信されたデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面を生成する生成手段と、を有し、
前記第1の提供装置及び前記第2の提供装置の各々は、
前記実行装置から、前記第1のデータ及び前記第2のデータの提供要求を受信する要求受信手段と、
前記要求受信手段により前記第1のデータの提供要求が受信されたことに応じて、前記第1のデータを前記実行装置に送信する第1の送信手段と、
前記要求受信手段により前記第2のデータの提供要求が受信されたことに応じて、前記第2のデータを前記実行装置に送信する第2の送信手段と、を有し、
前記要求送信手段は、前記第1のデータの受信の完了後、前記第2のデータの提供要求を送信し、
前記生成手段は、前記第1のデータの受信の完了まで待機した後、受信した前記第1のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を開始し、前記第2のデータの受信後は前記第1のデータ及び前記第2のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を行うデータ提供システム。
前記実行装置は、前記受信手段により受信した前記ゲームコンテンツに係るデータを示す第2の管理情報が更新された場合に、前記第2の提供装置に該第2の管理情報を送信する第3の送信手段をさらに有する請求項1または2に記載のデータ提供システム。
複数のプレイヤがゲームプレイ可能なゲームコンテンツに係るデータを提供する提供装置と、該提供装置から該データを受信し、前記ゲームコンテンツに係る描画処理を実行することにより前記ゲームコンテンツに係るゲーム画面を生成する実行装置とで構成されるデータ提供システムであって、
前記提供装置は、ゲームプレイに参加している複数のプレイヤに係る複数の前記実行装置の各々を特定する特定情報、前記ゲームコンテンツに係るデータのうちの少なくとも該ゲームコンテンツに係る描画処理の実行開始時に必要な最低限の描画用データを含む第1のデータ、及び前記ゲームコンテンツに係るデータのうち、該ゲームコンテンツに係る描画処理に用いられる前記最低限の描画用データ以外の描画用データを含む、前記第1のデータ以外の第2のデータを、前記実行装置からの要求に基づいて送信する送信手段を有し、
前記実行装置は、
前記特定情報を要求して受信する第1の受信手段と、
前記第1の受信手段により受信された前記特定情報に基づいて、前記複数の実行装置のうちの自身を除く他の実行装置から、該他の実行装置の各々が受信した前記ゲームコンテンツに係るデータを示す管理情報を取得する取得手段と、
前記取得手段により取得された前記管理情報に基づいて、前記提供装置及び前記他の実行装置の少なくともいずれかから前記第1のデータ及び前記第2のデータを要求して受信する第2の受信手段と、
前記第2の受信手段により受信されたデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面を生成する生成手段と、を有し、
前記第2の受信手段は、前記第1のデータの受信の完了後、前記第2のデータの要求を開始し、
前記生成手段は、前記第1のデータの受信の完了まで待機した後、受信した前記第1のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を開始し、前記第2のデータの受信後は前記第1のデータ及び前記第2のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を行うデータ提供システム。
複数のプレイヤによるゲームプレイが可能なゲームコンテンツに係るデータを提供する提供装置と、該提供装置から該データを受信し、前記ゲームコンテンツに係る描画処理を実行することにより前記ゲームコンテンツに係るゲーム画面を生成する実行装置とで構成されるデータ提供システムであって、
前記提供装置は、1つのゲームプレイに参加している複数のプレイヤに係る複数の前記実行装置の各々を特定する特定情報、前記ゲームコンテンツに係るデータのうちの少なくとも該ゲームコンテンツに係る描画処理の実行開始時に必要な最低限の描画用データを含む第1のデータ、及び前記ゲームコンテンツに係るデータのうち、該ゲームデータコンテンツに係る描画処理に用いられる前記最低限の描画用データ以外の描画用データを含む、前記第1のデータ以外の第2のデータを、前記実行装置からの要求に基づいて送信する送信手段を有し、
前記実行装置は、
前記特定情報を要求して受信する第1の受信手段と、
前記第1の受信手段により受信された前記特定情報に基づいて、前記複数の実行装置のうちの自身を除く他の実行装置から、該他の実行装置の各々が受信した前記ゲームコンテンツに係るデータを示す管理情報を取得する取得手段と、
前記取得手段により取得された前記管理情報に基づいて、前記提供装置及び前記他の実行装置の少なくともいずれかから前記第1のデータ及び前記第2のデータを要求して受信する第2の受信手段と、
前記第2の受信手段により受信されたデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面を生成する生成手段と、を有し、
前記第2の受信手段は、前記第1のデータの受信の完了後、前記第2のデータの要求を開始し、
前記生成手段は、前記第1のデータの受信の完了まで待機した後、受信した前記第1のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を開始し、前記第2のデータの受信後は前記第1のデータ及び前記第2のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を行うデータ提供システム。
前記実行装置は、前記第2の受信手段により受信されたデータが存在しない場合に、前記他の実行装置に対して前記管理情報を送信しない制御手段をさらに有する請求項5または6に記載のデータ提供システム。
前記制御手段は、前記第2の受信手段により受信されたデータが更新された場合に、前記他の実行装置に対して前記管理情報を送信する請求項7に記載のデータ提供システム。
ゲームコンテンツに係るデータを提供する第1の提供装置または該提供装置から該データを受信する第2の提供装置からP2P通信により該データを受信し、前記ゲームコンテンツに係る描画処理を実行することにより前記ゲームコンテンツに係るゲーム画面を生成する実行装置であって、
前記ゲームコンテンツに係るデータのうち、少なくとも該ゲームコンテンツに係る描画処理の実行開始時に必要な最低限の描画用データを含む第1のデータの提供要求、及び前記ゲームコンテンツに係るデータのうち、該ゲームコンテンツに係る描画処理に用いられる前記最低限の描画用データ以外の描画用データを含む、前記第1のデータ以外の第2のデータの提供要求を前記第1の提供装置または前記第2の提供装置に送信する要求送信手段と、
前記第1の提供装置または前記第2の提供装置から前記第1のデータ及び前記第2のデータを受信する受信手段と、
前記受信手段により受信されたデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面を生成する生成手段と、を有し、
前記要求送信手段は、前記第1のデータの受信の完了後、前記第2のデータの提供要求を送信し、
前記生成手段は、前記第1のデータの受信の完了まで待機した後、受信した前記第1のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を開始し、前記第2のデータの受信後は前記第1のデータ及び前記第2のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を行う実行装置。
複数のプレイヤがゲームプレイ可能なゲームコンテンツに係るデータを提供する提供装置から該データを受信し、前記ゲームコンテンツに係る描画処理を実行することにより前記ゲームコンテンツに係るゲーム画面を生成する実行装置であって、
ゲームプレイに参加している複数のプレイヤに係る複数の前記実行装置の各々を特定する特定情報を要求して受信する第1の受信手段と、
前記第1の受信手段により受信された前記特定情報に基づいて、前記複数の実行装置のうちの自身を除く他の実行装置から、該他の実行装置の各々が受信した前記ゲームコンテンツに係るデータを示す管理情報を取得する取得手段と、
前記取得手段により取得された前記管理情報に基づいて、前記ゲームコンテンツに係るデータのうちの少なくとも該ゲームコンテンツに係る描画処理の実行開始時に必要な最低限の描画用データを含む第1のデータ、及び前記ゲームコンテンツに係るデータのうち、該ゲームコンテンツに係る描画処理に用いられる前記最低限の描画用データ以外の描画用データを含む、前記第1のデータ以外の第2のデータを要求して、前記提供装置及び前記他の実行装置の少なくともいずれかから受信する第2の受信手段と、
前記第2の受信手段により受信されたデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面を生成する生成手段と、を有し、
前記第2の受信手段は、前記第1のデータの受信の完了後、前記第2のデータの要求を開始し、
前記生成手段は、前記第1のデータの受信の完了まで待機した後、受信した前記第1のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を開始し、前記第2のデータの受信後は前記第1のデータ及び前記第2のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を行う実行装置。
複数のプレイヤによるゲームプレイが可能なゲームコンテンツに係るデータを提供する提供装置から該データを受信し、前記ゲームコンテンツに係る描画処理を実行することにより前記ゲームコンテンツに係るゲーム画面を生成する実行装置であって、
前記提供装置は、1つのゲームプレイに参加している複数のプレイヤに係る複数の前記実行装置の各々を特定する特定情報、前記ゲームコンテンツに係るデータのうちの少なくとも該ゲームコンテンツに係る描画処理の実行開始時に必要な最低限の描画用データを含む第1のデータ、及び前記ゲームコンテンツに係るデータのうち、該ゲームコンテンツに係る描画処理に用いられる前記最低限の描画用データ以外の描画用データを含む、前記第1のデータ以外の第2のデータを、前記実行装置からの要求に基づいて送信する送信手段を有し、
前記実行装置は、
1つのゲームプレイに参加している複数のプレイヤに係る複数の前記実行装置の各々を特定する特定情報を要求して受信する第1の受信手段と、
前記第1の受信手段により受信された前記特定情報に基づいて、前記複数の実行装置のうちの自身を除く他の実行装置から、該他の実行装置の各々が受信した前記ゲームコンテンツに係るデータを示す管理情報を取得する取得手段と、
前記取得手段により取得された前記管理情報に基づいて、前記提供装置及び前記他の実行装置の少なくともいずれかから前記第1のデータ及び前記第2のデータを要求して、受信する第2の受信手段と、
前記第2の受信手段により受信されたデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面を生成する生成手段と、を有し、
前記第2の受信手段は、前記第1のデータの受信の完了後、前記第2のデータの要求を開始し、
前記生成手段は、前記第1のデータの受信の完了まで待機した後、受信した前記第1のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を開始し、前記第2のデータの受信後は前記第1のデータ及び前記第2のデータを用いて描画処理を実行して前記ゲームコンテンツに係るゲーム画面の生成を行う実行装置。
【発明を実施するための形態】
【0013】
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、コンテンツ提供システムに係るコンテンツ提供機器の一例としての、管理するコンテンツに係るデータを配信可能なコンテンツサーバと、コンテンツ提供システムに係るコンテンツ再生機器の一例としての、コンテンツサーバからコンテンツに係るデータを受信して再生可能なクライアント端末とに、本発明を適用した例を説明する。しかし、本発明は、コンテンツに係るデータの配信あるいは該データを受信して再生することが可能な任意の機器に適用可能である。
【0014】
また、本実施形態のコンテンツ提供システムでは、コンテンツサーバ100が提供するコンテンツはネットワークを介して行われる、所謂オンラインゲームコンテンツであるものとして説明する。クライアント端末200には、ゲーム実行に係る基本的なプログラムはアプリケーションとして実行されており、ユーザは該アプリケーションを実行することでコンテンツサーバ100への接続を開始し、コンテンツサーバ100が提供するゲームコンテンツサービスを利用することができる。クライアント端末200は、コンテンツサーバ100からゲームコンテンツに係るデータを受信することで、該データを用いて生成された画面をクライアント端末200が有する後述の表示部208に表示することができる。あるいは、受信した音声データを再生することができる。しかしながら、コンテンツサーバ100が提供するコンテンツはゲームコンテンツに限られるものではなく、クライアント端末200がコンテンツサーバ100から受信したコンテンツに係るデータを用いて該コンテンツの再生処理を実行するコンテンツであれば適用可能である。
【0015】
《コンテンツ提供システムの構成》
図1Aは、本発明の実施形態に係るコンテンツ提供システムのシステム構成を示した図である。
【0016】
図示されるように、本実施形態のコンテンツ提供システムにおいてコンテンツサーバ100とクライアント端末200とは、インターネット等の公衆回線であるネットワーク300を介して接続される。なお、本実施形態ではコンテンツサーバ100が提供するコンテンツがオンラインゲームコンテンツであるためコンテンツサーバ100とクライアント端末200とはネットワーク300を介して接続されるものとして説明するが、両機器が直接接続されるものであってもよいことは、容易に理解されよう。またコンテンツサーバ100とクライアント端末200とは、他の中継機器を介して接続されてもよいことは言うまでもない。
【0017】
〈コンテンツサーバ100の機能構成〉
次に、本実施形態のコンテンツサーバ100の機能構成について、
図2Aのブロック図を用いて詳細を説明する。
【0018】
サーバCPU101は、コンテンツサーバ100が有する各ブロックの動作を制御する。具体的にはサーバCPU101は、サーバROM102に記憶されている各ブロックの動作プログラムを読み出し、サーバRAM103に展開して実行することにより各ブロックの動作を制御する。
【0019】
サーバROM102は、例えば書き換え可能な不揮発性メモリである。サーバROM102は、コンテンツサーバ100が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等を記憶する。またサーバROM102には、コンテンツサーバ100が提供するコンテンツサービスの利用者アカウントやパスワード等が管理される。
【0020】
サーバRAM103は、揮発性メモリである。サーバRAM103は、コンテンツサーバ100が有する各ブロックの動作プラグラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する格納領域としても用いられる。
【0021】
データ選択部104は、クライアント端末200からコンテンツについての提供要求があった場合に、該クライアント端末200に対して送信するデータを決定し、後述のサーバ通信部106を介して送信する。本実施形態でコンテンツサーバ100が提供するゲームコンテンツに係るデータは、サーバ記録媒体105に記録されている。サーバ記録媒体105は、例えばHDD等のコンテンツサーバ100に接続された記録装置であってよい。サーバ記録媒体105に記録されているゲームコンテンツに係るデータの各々には、各データについて予め定められた分類情報が関連付けられているものとする。分類情報は、モデルデータやテクスチャデータ、あるいはコリジョン判定用データ等、そのデータの種類に限らず、使用用途等を分類可能な情報であってよい。
【0022】
サーバ通信部106は、所定の通信プロトコルで外部機器との通信を行う、コンテンツサーバ100が有する通信インタフェースである。サーバ通信部106は、所謂通信プロトコルスタックであり、コンテンツサーバ100と外部の通信線やアンテナとの接続部(OSI参照モデルにおける物理層)と、PPP、HDLC、IPv4、IPX、TCP、UDP等の通信プロトコル(OSI参照モデルにおけるリンク層、ネットワーク層、トランスポート層等の任意の通信プロトコル)とを含む。サーバ通信部106は場合によってはトランスポート層及びネットワーク層を含まなくてもよい。
【0023】
〈クライアント端末200の機能構成〉
次に、本実施形態のクライアント端末200の機能構成について、
図2Bのブロック図を用いて詳細を説明する。
【0024】
CPU201は、クライアント端末200が有する各ブロックの動作を制御する。具体的にはCPU201は、ROM202に記憶されている各ブロックの動作プログラムを読み出してRAM203に展開して実行することにより各ブロックの動作を制御する。
【0025】
ROM202は、例えば書き換え可能な不揮発性メモリである。ROM202は、クライアント端末200が有する各ブロックの動作プログラムに加えて、各ブロックの動作に必要なパラメータ等を格納する。
【0026】
また本実施形態ではROM202には、コンテンツサーバ100が提供するコンテンツについて、ユーザにより設定された、少なくとも描画処理(再生処理)の実行開始時に必要とするデータを特定する情報(必要データ情報)が格納される。なお、必要データ情報には、例えばメインキャラクタについてのモデルデータ等、ゲームコンテンツの画面において最低限描画される対象について必要となる基本的なデータは含まれるものとする。しかしながら、必要データ情報に含められるデータはこれに限られず、ユーザが所望する条件でコンテンツに係る画面が提供されるよう、選択可能であるものとする。
【0027】
RAM203は、揮発性メモリである。RAM203は、クライアント端末200が有する各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する格納領域としても用いられる。
【0028】
要求データ決定部204は、コンテンツサーバ100が提供するゲームコンテンツについて、クライアント端末200における該コンテンツに係る画面の描画に必要となるデータを決定する。具体的には要求データ決定部204は、コンテンツに係るデータの受信状況に応じて、必要データ情報を参照して必要データの送信要求をコンテンツサーバ100に対して行う。なお、要求データ決定部204により生成された送信要求は、通信部205を介してコンテンツサーバ100に送信される。
【0029】
通信部205は、例えばサーバ通信部106と同じ通信プロトコルで外部機器との通信を行う、クライアント端末200が有する通信インタフェースである。
【0030】
GPU207は、コンテンツサーバ100が提供するゲームコンテンツに係る画面を生成する。具体的にはGPU207は、CPU201の制御の下、コンテンツサーバ100から受信したコンテンツに係るデータを用いて、接続された不図示のVRAMに後述の表示部208に表示する画面を描画する。
【0031】
データ保持部206は、コンテンツサーバ100から受信したコンテンツに係るデータを格納する記録装置である。GPU207による画面の描画が行われる際は、データ保持部206に保持されたデータは読み出され、不図示のGPUメモリに展開された後、適宜処理されてVRAMに描画される。
【0032】
表示部208は、例えばLCD等のクライアント端末200が有する表示装置である。表示部208は、クライアント端末200に設けられた一体型の表示装置であってもよいし、クライアント端末200に接続された外部の表示装置であってもよい。
【0033】
操作入力部209は、例えば操作ボタンやキーボード、あるいはタッチパネル等のクライアント端末200が有するユーザインタフェースである。操作入力部209は、ユーザによる操作入力がなされると、該入力を解析し、操作内容に対応した制御信号をCPU201に伝送する。
【0034】
《データ受信動作》
まず、本実施形態のコンテンツ提供システムにおける、データ受信動作について説明する。
【0035】
本実施形態のコンテンツ提供システムでは、ゲームコンテンツに係るデータをクライアント端末200におけるユーザへのコンテンツの提供開始に少なくとも必要とするデータ(第1のデータ)と、提供開始には必要としないデータ(第2のデータ)の2種類に分類し、それぞれ異なるタイミングで受信する。具体的にはクライアント端末200は、第1のデータを受信した後に、第2のデータの受信を開始する。即ち、コンテンツに係るデータを全て受信した後にユーザへのコンテンツ提供を行うための処理を実行していた従来の方法とは異なり、本実施形態のコンテンツ提供システムではクライアント端末200は、第1のデータを集中的に受信後にはコンテンツの提供を行うための処理の実行を開始できる。このように、全てのデータを受信しなくともユーザへのゲームコンテンツの提供が可能となるため、コンテンツ提要に係るユーザの待機時間を低減できる。
【0036】
本実施形態のコンテンツ提供システムにおいて、ゲームコンテンツに係るデータが第1のデータ及び第2のデータのいずれであるかは、上述した必要データ情報により判別される。本実施形態では、要求データ決定部204がゲームコンテンツに係るデータの送信要求を行う際に必要データ情報を参照し、まだ受信していない第1のデータが存在する場合に該当のデータについての送信要求を行うものとして説明するが、2種類のデータを分けて受信する方法はこれに限られるものではない。
【0037】
例えばデータの送信要求は、1つのシーンについて1回の送信要求で行われてもよい。この場合、データの送信要求とともに必要データ情報がコンテンツサーバ100に送信されればよく、コンテンツサーバ100においてサーバCPU101は受信した必要データ情報を参照して、まず第1のデータを集中的にクライアント端末200に送信すればよい。
【0038】
また例えば必要データ情報は、コンテンツを利用するユーザアカウントに関連付けられてコンテンツサーバ100に保持されていてもよい。この場合、ユーザはクライアント端末200を使用して設定フェーズでユーザ独自の必要データ情報を生成し、コンテンツサーバ100に格納させればよい。サーバCPU101は、クライアント端末200からのコンテンツに係るデータの送信要求を受信した場合に、まずクライアント端末200を使用してサービスログインしているユーザアカウントに関連付けられた必要データ情報を参照し、まず第1のデータの送信を開始すればよい。
【0039】
なお、本実施形態では必要データ情報は、例えば待機時間短縮重視、グラフィック品質重視等、ユーザの趣向に応じて設定可能であるものとして説明するが、これに限られるものではない。例えば、上述した分類情報の種別に応じて第1のデータか第2のデータ化を規定するものであってもよい。また例えば、コンテンツサーバ100とクライアント端末200との間のデータ転送レートに応じて、サーバCPU101あるいはCPU201により設定が変更されるものであってもよい。即ち、十分なデータ転送レートが確保できない環境にある場合は待機時間が長期化するため、自動的に第1のデータに係るデータサイズを低減するように必要データ情報は変更されてよい。
【0040】
〈データ分類例〉
ここで、ゲームコンテンツに応じた第1のデータ及び第2のデータの分類例について以下に示す。なお、以下は例示を目的としたものであり、本発明の実施がこれに限られるものではないことは容易に想像されよう。
【0041】
・2Dグラフィック
例えば所謂格闘ゲームやアクションゲームのような2Dグラフィックゲームの場合、ゲームのユーザが利用する主要キャラクタのグラフィックデータやキャラクタに対して設定されているコリジョン情報等は第1のデータとして優先的に送信される。一方、背景となるグラフィックデータや時間表示等のGUIデータ等、コンテンツの提供開始時に必ずしも表示あるいは使用する必要のないデータは第2のデータとして第1のデータの送信完了後に送信される。
【0042】
・3Dグラフィック
3Dシーンをキャラクタが移動するような3Dグラフィックゲームの場合、ユーザの操作キャラクタや協力プレイ中のユーザの操作キャラクタ等の、発生しているイベントにおける主要キャラクタ等のモデルデータ(あるいは頂点及び頂点の結線データ)、描画範囲の地形データ及び地形オブジェクトのモデルデータ、主要キャラクタ及び主要キャラクタ付近のコリジョン情報やバイナリ空間分割(BSP)情報等は第1のデータとして優先的に送信される。一方、主要キャラクタ以外のモデルデータ等は第2のデータとして送信されればよい。
【0043】
なお、3Dグラフィックゲームにおける分類はこれに限らず、特に描画する深度範囲が設定される場合は、該範囲に属するキャラクタやオブジェクトのモデルデータを第1のデータとしてもよい。バイナリ空間分割(BSP)情報を用いる場合、該情報に従って手前に描画されるキャラクタやオブジェクトのモデルデータを第1のデータとして分類してもよい。
【0044】
またモデルデータ自体(各頂点情報)に色情報が設定されている場合は、モデルデータに適用するテクスチャデータは第2のデータとして分類してもよい。またフィールドの遠景として適用するテクスチャデータについては、第1のデータとして分類してもよい。
【0045】
また、3Dシーンに2D表示されるようなGUIデータ等は2Dグラフィックゲームと同様に第2のデータとして分類してよい。
【0046】
・思考ルーチン
所謂ボードゲームにおけるAIに係る思考ルーチン等の情報は、ゲームにおいて一貫したデータである必要があり、ゲームの開始時から必要になる情報であるため、第1のデータとして分類されることが好ましい。なお、例えば3DグラフィックゲームにおけるNPCキャラクタ等の行動パターンを規定する思考ルーチンについては、ゲームにおいて一貫している必要性が低いため、一部のデータのみが第1のデータとして分類され、その他のデータは第2のデータとして分類されてもよい。
【0047】
・動画データ
ゲームコンテンツにおいて再生される動画データは、データサイズが大きいため第2のデータとして分類されることが好ましい。しかしながら、符号化単位(GOP)で分類を変更してもよく、例えば先頭から規定の数のGOPについては第1のデータとして分類されてもよい。
【0048】
・音声データ
ゲームコンテンツにおいて再生される音声データは、その用途に応じて分類が変更されてよい。例えば効果音等、ユーザ操作に対するレスポンスが要求される音声データについては第1のデータ、BGM等のレスポンスが要求されない音声データについては第2のデータとして分類されればよい。
【0049】
このようにクライアント端末200が受信するゲームコンテンツに係るデータの分類について、データの属性ごとに例示したが、この他にもデータサイズに着目して以下のように分類を規定してもよい。
【0050】
例えば、動画データやテクスチャデータ等の静止画データは、データサイズの低減を優先して符号化レートや解像度を低下させたデータを第1のデータとして提供し、第2のデータとして好適な符号化レートや解像度のデータを提供するようにしてもよい。この際、第2のデータは第1のデータを置き換えるデータであってもよいし、H.264/SVCの拡張レイヤ等のように第1のデータに対する差分情報であってもよい。
【0051】
またこのことは音声データやモデルデータについても同様に考えることができる。即ち、音声データについてもサンプリングレートや符号化レートを低減したデータを第1のデータとして分類し、好適なサンプリングレートや符号化レートの音声データを第2のデータとして後から提供する形であってもよい。またモデルデータについても、簡易的なモデルデータを第1のデータとして提供し、詳細なモデルデータを後から第2のデータとして提供する形であってもよい。
【0052】
《データ取得処理》
上述のような構成をもつ本実施形態のクライアント端末200において実行されるゲームコンテンツに係るデータを取得するデータ取得処理について、
図3のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、CPU201が、例えばROM202に記憶されている対応する処理プログラムを読み出し、RAM203に展開して実行することにより実現することができる。なお、本データ取得処理は、例えばゲームコンテンツにおいてシーンの切り替えイベントが発生し、コンテンツサーバ100から新たなデータを受信する必要が生じた際に開始されるものとして説明する。
【0053】
S301で、CPU201は、コンテンツサーバ100から取得する必要があるデータ(要求データ)を要求データ決定部204に決定させる。具体的にはCPU201は、ゲームの実行を制御するゲーム処理において特定した、次のシーンの描画に用いられるデータを示す情報を要求データ決定部204に伝送する。要求データ決定部204は、次のシーンの描画に用いられるデータを示す情報を参照し、このうちデータ保持部206に保持されていないデータを要求データとして決定する。
【0054】
S302で、要求データ決定部204はCPU201の制御の下、第1のデータの提供要求を通信部205を介してコンテンツサーバ100に送信する。具体的には要求データ決定部204は、ROM202に記憶されている必要データ情報を参照し、S301において決定した要求データのうち、第1のデータに分類されているデータについて提供要求を生成する。そして要求データ決定部204は該提供要求を通信部205に伝送し、送信させる。
【0055】
S303で、CPU201は、通信部205がコンテンツサーバ100からデータを受信したか否かを判断する。CPU201は、通信部205がデータを受信したと判断した場合は処理をS304に移し、受信していないと判断した場合は処理をS305に移す。
【0056】
S304で、CPU201は、受信したデータをデータ保持部206に格納する。このとき、CPU201は例えばRAM203に記憶されている、データ保持部206に格納されているデータを管理する管理情報を更新する。
【0057】
S305で、CPU201は、次のシーンの描画処理に少なくとも必要となる第1のデータの受信が完了したか否かを判断する。具体的にはCPU201は、第1のデータを全て受信したことを要求データ決定部204から通知されたか否かを判断する。要求データ決定部204は管理情報を監視し、提供要求を行った第1のデータの全てがデータ保持部206に格納された場合に、該通知を行うものとする。CPU201は、第1のデータの受信が完了した場合は、ゲーム処理における描画処理の実行を開始し、処理をS306に移す。またCPU201は、第1のデータの受信が完了していない場合は処理をS303に戻す。
【0058】
S306で、要求データ決定部204はCPU201の制御の下、第2のデータの提供要求を通信部205を介してコンテンツサーバ100に送信する。
【0059】
S307で、CPU201は、通信部205がコンテンツサーバ100からデータを受信したか否かを判断する。CPU201は、通信部205がデータを受信したと判断した場合は処理をS308に移し、受信していないと判断した場合は処理をS309に移す。
【0060】
S308で、CPU201は、受信したデータをデータ保持部206に格納する。このとき、CPU201は例えばRAM203に記憶されている、データ保持部206に格納されているデータを管理する管理情報を更新する。またこのときCPU201は、受信したデータは第2のデータであるため、既に開始したゲーム処理の描画処理において、該データを含めて描画処理を実行する。より詳細にはCPU201は、次に描画するフレームについての描画処理において、第1のデータ及び受信した第2のデータを用いる。
【0061】
S309で、CPU201は、次のシーンの描画に用いられる全てのデータの受信が完了したか否かを判断する。具体的にはCPU201は、第1及び第2のデータを全て受信したことを要求データ決定部204から通知されたか否かを判断する。要求データ決定部204は管理情報を監視し、提供要求を行った第2のデータの全てがデータ保持部206に格納された場合に、該通知を行うものとする。CPU201は、次のシーンの描画に用いられる全てのデータの受信が完了したと判断した場合は本データ取得処理を完了し、完了していないと判断した場合は処理をS307に戻す。
【0062】
このようにすることで、CPU201は、予め設定された次のシーンの描画を開始するために必要であるデータを優先して取得することができるため、ユーザにゲームコンテンツを提供するまでに要する待機時間を短縮することができる。即ち、以上説明したように、本実施形態のコンテンツ提供システムは、通信を介したコンテンツ提供におけるユーザビリティを改善することができる。
【0063】
[実施形態2]
上述した実施形態1では、ゲームコンテンツに係るデータはコンテンツサーバ100からクライアント端末200に対してのみ送信されるものとして説明したが、本発明の実施はこれに限られるものではない。本実施形態では、クライアント端末200は、コンテンツサーバ100以外の他のクライアント端末200からもゲームコンテンツに係るデータを受信できるものとする。
【0064】
《コンテンツ提供システムの構成》
図1Bは、本実施形態に係るコンテンツ提供システムのシステム構成を示している。図においてクライアント端末200a及び200bはネットワーク300を介してコンテンツサーバ100に接続しており、両機器とも基本的にはゲームコンテンツに係るデータをコンテンツサーバ100から受信する。しかし、本実施形態においてクライアント端末200aと200bとは1対1の通信(例えばピアツーピア(P2P)通信)が可能であり、各々、既にコンテンツサーバ100から受信しているデータについては、他のクライアント端末に提供可能であるものとする。
【0065】
P2P通信を行う場合、クライアント端末間の通信は専用のサーバを介して行う必要がない。即ち、通信相手であるクライアント端末に対して直接データ送信を行うことができ、通信量(トラフィック)の低減が見込める。本実施形態では、クライアント端末200がP2P通信により他のクライアントからのデータ取得を可能とすることで、ゲームコンテンツに係るデータの受信をさらに短時間で、効率よく行う態様について説明する。
【0066】
なお、本実施形態におけるコンテンツサーバ100及びクライアント端末200の機能構成は、クライアント端末200の通信部205がP2P通信機能を有する点を除いて同一であるため、説明を省略する。また、本実施形態ではクライアント端末間での通信はP2P通信により行われるものとして説明するが、通信方式はこれに限られるものではなく、近距離無線通信やアドホックモードによる通信等であってよい。
【0067】
《データ取得処理》
次に、本実施形態のクライアント端末200において実行されるゲームコンテンツに係るデータを取得するデータ取得処理について、
図4のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、CPU201が、例えばROM202に記憶されている対応する処理プログラムを読み出し、RAM203に展開して実行することにより実現することができる。なお、本データ取得処理は、例えばゲームコンテンツにおいてシーンの切り替えイベントが発生し、コンテンツサーバ100から新たなデータを受信する必要が生じた際に開始されるものとして説明する。
【0068】
また、本実施形態のデータ取得処理において、実施形態1のデータ取得処理と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、以下では本実施形態の特徴的な処理についてのみ説明する。
【0069】
S401で、CPU201は、RAM203に記憶されている管理情報を読み出して通信部205に伝送し、現在コンテンツサーバ100に接続している他のクライアント端末に対して送信させる。現在コンテンツサーバ100に接続している他のクライアント端末の情報は、例えばゲーム処理の実行においてコンテンツサーバ100から提供されればよい。該情報には、他のクライアント端末のグローバルIPアドレス等、他のクライアント端末への接続に必要となる情報が含まれる。
【0070】
S402で、CPU201は、現在コンテンツサーバ100に接続している他のクライアント端末から、該他のクライアント端末のデータ保持部206に保持されているデータを示す管理情報の受信期間として所定期間、処理を待機する。このときCPU201は、他のクライアント端末から管理情報を受信した場合に、受信したクライアント端末を特定する情報に関連付けて該管理情報をRAM203に格納する。CPU201は、所定期間の経過後、処理をS403に移す。
【0071】
S403で、CPU201は、コンテンツサーバ100あるいは他のクライアント端末200から取得する要求データを要求データ決定部204に決定させる。さらに要求データ決定部204は要求データの決定後、要求する各データをいずれの機器に要求するかを決定する。具体的には要求データ決定部204は、RAM203に格納されている他のクライアント端末200についての管理情報を参照し、各データを分散させて取得できるように取得先の機器を決定する。
【0072】
S404で、要求データ決定部204はCPU201の制御の下、第1のデータの提供要求を通信部205を介して、S403において決定した各データの取得先の機器に送信し、処理をS303に移す。
【0073】
またS305において第1のデータの受信が完了したと判断した場合、CPU201は処理をS405に移す。S405で、要求データ決定部204はCPU201の制御の下、第2のデータの提供要求を通信部205を介して、各データの取得先の機器に送信し、処理をS307に移す。
【0074】
このようにすることで、本実施形態のクライアント端末200は、コンテンツサーバ100に接続している他のクライアント端末が存在する場合は、該他のクライアント端末からもデータを取得することで、ゲームコンテンツに係るデータの取得に要する時間を全体的に短縮することができる。
【0075】
なお、上述したデータ取得処理では、S401及びS402においてのみ管理情報を他のクライアント端末と共有するものとして説明したが、本発明の実施はこれに限られない。例えば、マルチユーザ用のオンラインゲームで協力プレイを行っている場合、協力プレイを行っているユーザが使用する各クライアント端末は、同様のゲーム進行を行っている。即ち、ゲーム進行が同様であった場合、他のクライアント端末も同じタイミングでデータ取得処理を実行するものと考えられるため、データ取得処理の開始段階で他のクライアント端末が次のシーンの描画に用いられるデータを保持しないことが考えられる。このような場合、データの受信に伴って管理情報を更新した際に、CPU201はコンテンツサーバ100に接続されている他のクライアント端末に管理情報を送信してもよい。
【0076】
またさらにコンテンツサーバ100は各クライアント端末から受信した提供要求を参照し、同一のデータが複数のクライアント端末から要求されている場合は、該データを各クライアント端末に送信する順番を異ならせるようにしてもよい。即ち、コンテンツサーバ100に接続されているクライアント端末が保持するデータを意図的に異ならせることで、P2P通信によるデータ取得を効率的に利用させて、次のシーンの描画に用いるデータの取得に要する総時間を短縮してもよい。このとき、データ送信の意図的な分散はファイル単位で行われてもよいし、符号化単位等、1つのファイルを分割したデータの分散的な送信により行われてもよい。
【0077】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。