(57)【特許請求の範囲】
【請求項１】
複数の装置に提供する画面を描画する情報処理装置であって、
前記複数の装置の各々に対応する操作入力を受け付ける受信手段と、
前記操作入力に基づいてアバターを移動可能な仮想空間であって、前記複数の装置の各々に対応するアバターが同時に配置される仮想空間において、所定の視点に係る第１の画面を描画する第１の描画手段と、
前記操作入力に基づいてアバターではなく所定のコンテンツに係る処理を行い、該コンテンツに係る第２の画面を描画する第２の描画手段と、
前記複数の装置の各々に提供される画面を、前記第１の描画手段と前記第２の描画手段のいずれに描画させるかを示す管理情報を管理する管理手段と、を有し、
前記第１の描画手段は、前記第２の画面が提供される装置に対応するアバターが前記所定の視点に係る描画範囲に含まれる場合に、前記仮想空間内の該アバターに関連するオブジェクトに対し、該アバターに対応する装置に提供される前記第２の画面を適用して前記第１の画面を描画する情報処理装置。
【請求項２】
前記第１の描画手段は、前記第２の画面が提供される装置に対応するアバターが、前記所定の視点に係る描画範囲に含まれる場合に、該アバターの状態を対応する操作入力に応じて変化させて前記第１の画面を描画する請求項１に記載の情報処理装置。
【請求項３】
前記管理手段は、
前記第１の画面が提供されている場合に、第１の操作入力がなされたことに応じて、対応する装置に提供される画面の描画を前記第２の描画手段に変更して前記管理情報を更新し、
前記第２の画面が提供されている場合に、第２の操作入力がなされたことに応じて、対応する装置に提供される画面の描画を前記第１の描画手段に変更して前記管理情報を更新する請求項１または２に記載の情報処理装置。
【請求項４】
前記第１の描画手段は、提供される画面の描画が前記第１の描画手段に変更された装置に対応するアバターが描画範囲に含まれる場合に、前記仮想空間内の該アバターに関連していたオブジェクトに対し、前記描画が変更された装置に提供されていた前記第２の画面を適用して前記第１の画面を描画する請求項３に記載の情報処理装置。
【請求項５】
前記第１の操作入力は、前記仮想空間内に配置された、前記所定のコンテンツの提供に係るオブジェクトに対する提供の開始指示の入力である請求項３または４に記載の情報処理装置。
【請求項６】
前記第２の操作入力は、前記所定のコンテンツの提供の終了指示または中断指示の入力である請求項３乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第２の画面が提供される装置に対応するアバターが前記所定の視点に係る描画範囲に含まれる場合に前記第１の描画手段が適用する前記第２の画面は、描画される前記第１の画面に対応する時刻よりも前の時刻に対応し、既に該装置に提供された画面である請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の画面が提供されている場合に第３の操作入力がなされたことに応じて、前記所定の視点に係る描画範囲に含まれるアバターに対応する装置に提供される前記第２の画面と、該装置に対応する操作入力に応じたアバターの操作の様子を示す画面とで構成される、前記第１の画面とは異なる第３の画面を描画する第３の描画手段をさらに有し、
前記管理手段は、前記複数の各々に提供される画面を、前記第１の描画手段、前記第２の描画手段、及び前記第３の描画手段のいずれに描画させるかを示す管理情報を管理する請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第３の画面が提供されている装置及び該第３の画面に含まれる前記第２の画面が提供されている装置から、音声入力及び文字入力の少なくともいずれかを取得する取得手段と、
前記取得手段により取得された入力を、前記第３の画面が提供されている装置及び該第３の画面に含まれる前記第２の画面が提供されている装置に共有する共有手段と、
を有する請求項８に記載の情報処理装置。
【請求項１０】
前記第３の操作入力は、前記仮想空間内に配置された、前記第２の画面が提供されている装置に対応するアバターに対する、該第２の画面の共有の開始指示の入力である請求項８または９に記載の情報処理装置。
【請求項１１】
いずれかの描画手段により描画された画面を、前記管理情報に基づいて前記複数の装置の各々に送信する送信手段をさらに有する請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
複数の装置に提供する画面を描画する情報処理装置の制御方法であって、
前記情報処理装置の受信手段が、前記複数の装置の各々に対応する操作入力を受け付ける受信工程と、
前記情報処理装置の第１の描画手段が、前記操作入力に基づいてアバターを移動可能な仮想空間であって、前記複数の装置の各々に対応するアバターが同時に配置される仮想空間において、所定の視点に係る第１の画面を描画する第１の描画工程と、
前記情報処理装置の第２の描画手段が、前記操作入力に基づいてアバターではなく所定のコンテンツに係る処理を行い、該コンテンツに係る第２の画面を描画する第２の描画工程と、
前記情報処理装置の管理手段が、前記複数の装置の各々に提供される画面を、前記第１の描画工程と前記第２の描画工程のいずれを用いて描画させるかを示す管理情報を管理する管理工程と、を有し、
前記第１の描画手段は前記第１の描画工程において、前記第２の画面が提供される装置に対応するアバターが前記所定の視点に係る描画範囲に含まれる場合に、前記仮想空間内の該アバターに関連するオブジェクトに対し、該アバターに対応する装置に提供される前記第２の画面を適用して前記第１の画面を描画する情報処理装置の制御方法。
【請求項１３】
前記第１の描画手段は前記第１の描画工程において、前記第２の画面が提供される装置に対応するアバターが、前記所定の視点に係る描画範囲に含まれる場合に、該アバターの状態を対応する操作入力に応じて変化させて前記第１の画面を描画する請求項１２に記載の情報処理装置の制御方法。
【請求項１４】
前記管理手段は前記管理工程において、
前記第１の画面が提供されている場合に、第１の操作入力がなされたことに応じて、対応する装置に提供される画面の描画を前記第２の描画工程を用いることに変更して前記管理情報を更新し、
前記第２の画面が提供されている場合に、第２の操作入力がなされたことに応じて、対応する装置に提供される画面の描画を前記第１の描画工程を用いることに変更して前記管理情報を更新する請求項１２または１３に記載の情報処理装置の制御方法。
【請求項１５】
前記第１の描画手段は前記第１の描画工程において、提供される画面の描画が前記第１の描画手段に変更された装置に対応するアバターが描画範囲に含まれる場合に、前記仮想空間内の該アバターに関連していたオブジェクトに対し、前記描画が変更された装置に提供されていた前記第２の画面を適用して前記第１の画面を描画する請求項１４に記載の情報処理装置の制御方法。
【請求項１６】
前記第１の操作入力は、前記仮想空間内に配置された、前記所定のコンテンツの提供に係るオブジェクトに対する提供の開始指示の入力である請求項１４または１５に記載の情報処理装置の制御方法。
【請求項１７】
前記第２の操作入力は、前記所定のコンテンツの提供の終了指示または中断指示の入力である請求項１４乃至１６のいずれか１項に記載の情報処理装置の制御方法。
【請求項１８】
前記第２の画面が提供される装置に対応するアバターが前記所定の視点に係る描画範囲に含まれる場合に前記第１の描画工程において適用する前記第２の画面は、描画される前記第１の画面に対応する時刻よりも前の時刻に対応し、既に該装置に提供された画面である請求項１２乃至１７のいずれか１項に記載の情報処理装置の制御方法。
【請求項１９】
前記情報処理装置の第３の描画手段が、前記第１の画面が提供されている場合に第３の操作入力がなされたことに応じて、前記所定の視点に係る描画範囲に含まれるアバターに対応する装置に提供される前記第２の画面と、該装置に対応する操作入力に応じたアバターの操作の様子を示す画面とで構成される前記第１の画面とは異なる第３の画面を描画する第３の描画工程をさらに有し、
前記管理手段は前記管理工程において、前記複数の各々に提供される画面を、前記第１の描画工程、前記第２の描画工程、及び前記第３の描画工程のいずれを用いて描画させるかを示す管理情報を管理する請求項１２乃至１８のいずれか１項に記載の情報処理装置の制御方法。
【請求項２０】
前記情報処理装置の取得手段が、前記第３の画面が提供されている装置及び該第３の画面に含まれる前記第２の画面が提供されている装置から、音声入力及び文字入力の少なくともいずれかを取得する取得工程と、
前記情報処理装置の共有手段が、前記取得工程において取得された入力を、前記第３の画面が提供されている装置及び該第３の画面に含まれる前記第２の画面が提供されている装置に共有する共有工程と、
を有する請求項１９に記載の情報処理装置の制御方法。
【請求項２１】
前記第３の操作入力は、前記仮想空間内に配置された、前記第２の画面が提供されている装置に対応するアバターに対する、該第２の画面の共有の開始指示の入力である請求項１９または２０に記載の情報処理装置の制御方法。
【請求項２２】
前記情報処理装置の送信手段が、いずれかの描画工程において描画された画面を、前記管理情報に基づいて前記複数の装置の各々に送信する送信工程をさらに有する請求項１２乃至２１のいずれか１項に記載の情報処理装置の制御方法。
【請求項２３】
コンピュータに、請求項１２乃至２２のいずれか１項に記載の情報処理装置の制御方法の各工程を実行させるためのプログラム。
【請求項２４】
コンピュータに、請求項１２乃至２２のいずれか１項に記載の情報処理装置の制御方法の各工程を実行させるためのプログラムを記録した記録媒体。
【請求項２５】
情報処理装置と、該情報処理装置に接続された複数の装置に提供する画面を描画する描画装置とで構成される描画システムであって、
前記情報処理装置は、
前記複数の装置の各々に対応する操作入力を受け付ける受信手段と、
前記受信手段により受信された前記操作入力に基づいて前記描画装置に対する描画指示を行う指示手段と、を有し、
前記描画装置は、
前記操作入力に基づいてアバターを移動可能な仮想空間であって、前記複数の装置の各々に対応するアバターが同時に配置される仮想空間において、所定の視点に係る第１の画面を描画する第１の描画手段と、
前記操作入力に基づいてアバターではなく所定のコンテンツに係る処理を行い、該コンテンツに係る第２の画面を描画する第２の描画手段と、を有し、
前記情報処理装置または前記描画装置は、前記複数の装置の各々に提供される画面を、前記第１の描画手段と前記第２の描画手段のいずれに描画させるかを示す管理情報を管理する管理手段、をさらに有し、
前記第１の描画手段は、前記第２の画面が提供される装置に対応するアバターが前記所定の視点に係る描画範囲に含まれる場合に、前記仮想空間内の該アバターに関連するオブジェクトに対し、該アバターに対応する装置に提供される前記第２の画面を適用して前記第１の画面を描画する描画システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、プログラム、記録媒体及び描画システムに関し、特に複数人が同時参加可能な仮想空間の画面構成技術に関する。
【背景技術】
【０００２】
ビデオゲームは、事実上全ての人々への娯楽の共通ソースになってきている。ビデオゲーム産業は、スタンドアロン型アーケードゲームの導入から、家庭用コンピュータゲーム及び専門コンソール用に作られたゲームの出現まで、目覚ましい発展が見受けられる。
【０００３】
一方で、ビデオゲームのような、装置により描画された画面を提供するコンテンツは、専用コンソールに限らず、ＰＣやスマートフォンのような一般的な情報処理装置に対しても提供可能である。近年ではゲームコンソールを含む一般的な情報処理装置の多くはインターネット等のネットワークへの接続機能を有しており、上記コンテンツはネットワーク通信を利用したサービスや娯楽を提供することができる。例えば、ネットワーク通信を利用したサービスの１つに、ＭＭＯＲＰＧ（Massively Multiplayer Online Role-Playing Game）等の多人数同時参加型のネットワークゲームがある。
【０００４】
また、近年では画面の描画をユーザの使用する装置において実行するのではなく、サーバ等の通信接続した外部装置において画面が描画される提供システムも存在する。この場合、ユーザの装置は外部装置で描画された画面のデータを受信して表示することで、ユーザの装置が画面を描画した場合と同様の体験の提供を実現することができる。このような外部装置による画面提供をインターネット等の多人数が同時接続可能なネットワークを介して行う、所謂クラウド型描画システム（cloud-based rendering systems）が近年注目されてきている。ビデオゲーム産業においても該システムを利用するクラウド型ゲーミングシステムが存在する。
【０００５】
クラウド型ゲーミングシステムでは、インターネットにおいてビデオゲームサーバに接続するために、プレイヤはスマートフォンやタブレット等の一般的なインターネット利用可能装置を使用し得る。ビデオゲームサーバは、プレイヤについてのセッションを開始し、該プレイヤによりなされた選択（例えば移動、動作）及びゲームの他の特性に基づいて、該プレイヤについての画像を描画する。該画像は、インターネットを介してプレイヤの装置に配信され、ディスプレイ上に再構成される。このようにすることで、世界のあらゆる場所のプレイヤは、専用ビデオゲームコンソールや描画処理装置を使用することなく、ビデオゲームをプレイ可能である。
【発明の概要】
【０００６】
本発明は、複数のユーザが同時に参加可能な仮想空間におけるユーザ体験を向上させる情報処理装置、制御方法、プログラム、記録媒体及び描画システムを提供する。発明の非限定的な様々な態様は、以下の記載により規定される。
【０００７】
本発明の第１の態様は、複数の装置に提供する画面を描画する情報処理装置であって、複数の装置の各々に対応する操作入力を受け付ける受信手段と、操作入力に基づいてアバターを移動可能な仮想空間であって、複数の装置の各々に対応するアバターが同時に配置される仮想空間において、所定の視点に係る第１の画面を描画する第１の描画手段と、操作入力に基づいてアバターではなく所定のコンテンツに係る処理を行い、該コンテンツに係る第２の画面を描画する第２の描画手段と、複数の装置の各々に提供される画面を、第１の描画手段と第２の描画手段のいずれに描画させるかを示す管理情報を管理する管理手段と、を有し、第１の描画手段は、第２の画面が提供される装置に対応するアバターが所定の視点に係る描画範囲に含まれる場合に、仮想空間内の該アバターに関連するオブジェクトに対し、該アバターに対応する装置に提供される第２の画面を適用して第１の画面を描画する情報処理装置を提供する。
【０００８】
本発明の第２の態様は、複数の装置に提供する画面を描画する情報処理装置の制御方法であって、情報処理装置の受信手段が、複数の装置の各々に対応する操作入力を受け付ける受信工程と、情報処理装置の第１の描画手段が、操作入力に基づいてアバターを移動可能な仮想空間であって、複数の装置の各々に対応するアバターが同時に配置される仮想空間において、所定の視点に係る第１の画面を描画する第１の描画工程と、情報処理装置の第２の描画手段が、操作入力に基づいてアバターではなく所定のコンテンツに係る処理を行い、該コンテンツに係る第２の画面を描画する第２の描画工程と、情報処理装置の管理手段が、複数の装置の各々に提供される画面を、第１の描画工程と第２の描画工程のいずれを用いて描画させるかを示す管理情報を管理する管理工程と、を有し、第１の描画手段は第１の描画工程において、第２の画面が提供される装置に対応するアバターが所定の視点に係る描画範囲に含まれる場合に、仮想空間内の該アバターに関連するオブジェクトに対し、該アバターに対応する装置に提供される第２の画面を適用して第１の画面を描画する情報処理装置の制御方法を提供する。
【０００９】
本発明の第３の態様は、情報処理装置と、該情報処理装置に接続された複数の装置に提供する画面を描画する描画装置とで構成される描画システムであって、情報処理装置は、複数の装置の各々に対応する操作入力を受け付ける受信手段と、受信手段により受信された操作入力に基づいて描画装置に対する描画指示を行う指示手段と、を有し、描画装置は、操作入力に基づいてアバターを移動可能な仮想空間であって、複数の装置の各々に対応するアバターが同時に配置される仮想空間において、所定の視点に係る第１の画面を描画する第１の描画手段と、操作入力に基づいてアバターではなく所定のコンテンツに係る処理を行い、該コンテンツに係る第２の画面を描画する第２の描画手段と、を有し、情報処理装置または描画装置は、複数の装置の各々に提供される画面を、第１の描画手段と第２の描画手段のいずれに描画させるかを示す管理情報を管理する管理手段、をさらに有し、第１の描画手段は、第２の画面が提供される装置に対応するアバターが所定の視点に係る描画範囲に含まれる場合に、仮想空間内の該アバターに関連するオブジェクトに対し、該アバターに対応する装置に提供される第２の画面を適用して第１の画面を描画する描画システムを提供する。
【００１０】
さらに、本発明の特徴は、（添付の図面を参照して）以下の例示的な実施形態の記載により明らかになるだろう。
【００１１】
添付の図面は、以下。
【００１２】
記載及び図面が、発明のある実施形態を示す目的のみについてのものであり、理解を助けるためのものであることは十分に理解されるべきである。これらは発明の限定を規定するものではない。
【図面の簡単な説明】
【００１３】
【図１】本発明の非限定的な実施形態に係るビデオゲームシステムアーキテクチャのブロック図
【図２Ａ】本発明の１つの非限定的な実施形態に係る、図１のビデオゲームシステムアーキテクチャにおいて用いられるサーバシステムの様々な機能モジュールを示したブロック図
【図２Ｂ】本発明の他の非限定的な実施形態に係る、図１のビデオゲームシステムアーキテクチャにおいて用いられるサーバシステムの様々な機能モジュールを示したブロック図
【図３】本発明の１つの非限定的な実施形態に係る、図１のビデオゲームシステムアーキテクチャにおいて用いられるクライアント装置の様々な機能モジュールを示したブロック図
【図４】本発明の非限定的な実施形態に係る、サーバシステムにより実行されるメイン処理ループのステップを示したフローチャート
【図５】本発明の非限定的な実施形態に係る、受信した画像の復号、合成及び表示をするためにクライアント装置により実行されるステップを示したフローチャート
【図６】本発明の非限定的な実施形態に係る、サーバシステムにより実行される描画処理のステップを示したフローチャート
【図７Ａ】、
【図７Ｂ】、
【図７Ｃ】、
【図７Ｄ】クライアント装置に提供される画面例を示した図
【発明を実施するための形態】
【００１４】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置または描画システムの一例としての、複数のクライアント装置に提供する仮想空間に係る画面またはゲーム画面を描画可能なサーバシステムに、本発明を適用した例を説明する。しかし、本発明は、複数の装置に提供する画面を描画することが可能な任意の機器に適用可能である。つまり、本発明は描画したゲーム画面を提供する装置やシステムに限定されるものではない。
【００１５】
《１．クラウド型ゲーミングアーキテクチャ》
図１は、インターネット１３０を介してビデオゲームサービスを配信するためのサーバシステム（または「サーバ装置」）１００を含む、本発明の非限定的な実施形態に係るビデオゲームシステムアーキテクチャを概略的に示している。個々のクライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅは、各ローカルアクセスネットワーク１４０Ａ、１４０Ｂ、１４０Ｃ、１４０Ｄ、１４０Ｅとインターネット１３０とを介して確立された通信経路により、サーバシステム１００に接続可能である。サーバシステム１００は、アクセスネットワークによりインターネット１３０に自身が接続されてもよいし、あるいはレイテンシを最小化するために、サーバシステム１００はアクセスネットワークを媒介することなく、インターネット１３０に直接接続してもよい。あるいは、サーバシステム１００及びクライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅは、インターネット１３０やローカルアクセスネットワーク１４０Ａ、１４０Ｂ、１４０Ｃ、１４０Ｄ、１４０Ｅを介することなく、無線または優先により接続されるよう構成されてもよい。
【００１６】
以下の記載から明らかになるように、サーバシステム１００はクライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅのユーザが、ビデオゲームを個々に（即ち、単一プレイヤビデオゲーム）あるいは集団で（即ちマルチプレイヤビデオゲーム）プレイ可能なように構成されてもよい。ビデオゲームの非限定的な例は、レジャー、教育及び／またはスポーツをプレイするゲームを含んでいてもよい。しかし、ビデオゲームは、貨幣損益の可能性を参加者に提示するものである必要はなくてよい。
【００１７】
サーバシステム１００は、単一のサーバ、あるいは例えば仮想プライベートネットワーク（ＶＰＮ）及び／またはデータセンタに接続されたサーバ群を含んでもよい。該群内の個々のサーバは、専用の機能を実行するよう構成されていてもよい。例えば、サーバシステム１００内の１以上のサーバは、グラフィック描画用に係る主たる責任を有するものであってもよい。
【００１８】
図２Ａ及び２Ｂは、サーバシステム１００の非限定的な２つの実施形態を示している。両方のケースにおいて、サーバシステム１００は、中央処理装置（ＣＰＵ）２０２を有する少なくとも１つのサーバ２００、２５０を含む。ＣＰＵ２０２は、持続的記憶媒体２０４または大容量記憶装置２０８からサービス提供プログラムを一時記憶領域２０６に読み出しうる。非限定的な実施形態において、一時記憶領域２０６はＳＲＡＭやＤＲＡＭのような揮発性メモリ（ＲＡＭ）であってもよい。非限定的な実施形態では、持続的記憶媒体２０４はＥＥＰＲＯＭのようなプログラマブル不揮発性メモリであってもよい。またサービス提供プログラムの格納に加え、持続的記憶媒体２０４は（オペレーティングシステムのような）他のプログラムセット及び／またはサーバ２００、２５０の様々なモジュールの動作に必要なデータを格納してもよい。非限定的な実施形態において、大容量記憶装置２０８は、内蔵ハードディスクドライブやサーバ２００、２５０に着脱可能なフラッシュメモリであってよい。他の実施形態において、大容量記憶装置２０８はインターネット１３０を介してサーバ２００、２５０にアクセス可能であってよい。また大容量記憶装置２０８は、ビデオゲームの参加者についての情報、及びビデオゲームの様々な参加者についての出力を生成するために必要となり得る他の種類の情報を格納してもよい。
【００１９】
サービス提供プログラムが一時記憶領域２０６に読み出されると、プログラムはＣＰＵ２０２により実行されうる。サービス提供プログラムは複数のユーザが参加し、各ユーザに対応するアバターを操作することで移動可能な仮想世界における、任意の視点に係る画面を生成するための命令を含んでいてもよい。サービス提供プログラムは、単にユーザが個人用あるいは対戦用のゲームを実行する場合のゲーム画面を生成するための命令を含んでいてもよい。該画面の生成に必要なデータは、例えば大容量記憶装置２０８に格納される。ゲーム画面の描画は、描画処理装置（ＧＰＵ）と称される１以上の専用プロセッサを呼び出して行われてもよい。実施形態により、ＧＰＵはサーバ２００内にＣＰＵ２０２とともに配置されるものであってもよいし、インターネット１３０を介してサーバ２００に接続された別のサーバに配置されるものであってもよい。
【００２０】
図２Ａは、グラフィック描画能力がサービス提供プログラムを実行するＣＰＵ２０２と同一のサーバ２００内に配置されているケースに関する。各ビデオメモリ（例えばＶＲＡＭ）２１２Ａ、２１２Ｂ、２１２Ｃは、それぞれＧＰＵ２１０Ａ、２１０Ｂ、２１０Ｃに接続され、ゲーム画面表示用の画素（ピクセル）値の一時的な記憶装置を提供し得る。描画実行された場合、３次元空間内に配置される１以上のオブジェクトのデータは、ＧＰＵ２１０Ａ、２１０Ｂ、２１０Ｃのキャッシュメモリ（不図示）に読み出されうる。該データは、ＧＰＵ２１０Ａ、２１０Ｂ、２１０Ｃによって、ビデオメモリ２１２Ａ、２１２Ｂ、２１２Ｃに格納される２次元空間内のデータとして描画されうる。そして該画像は、インターネット１３０を介して受信クライアント装置に対して出力される。
【００２１】
またサーバ２００は、インターネット１３０を介してクライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅとのデータのやり取りを行い得る通信部２２０を提供する。具体的には通信部２２０は、インターネット１３０を介してクライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅからユーザ入力を受信し、インターネット１３０を介してクライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅにデータ（例えば画面データ）を送信し得る。クライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅに送信されたデータは、符号化された画面やその一部の画像を含みうる。必要な場合あるいは適切な場合、通信部２２０は適切な通信プロトコルに準拠した形式にデータを変換し得る。
【００２２】
図２Ｂは、中央サーバ２５０と分離された１以上の描画サーバ２６０Ａ、２６０Ｂ、２６０Ｃにグラフィック描画能力が分散しているケースに関する。中央サーバ２５０及び描画サーバ２６０Ａ、２６０Ｂ、２６０Ｃは、インターネット１３０のようなネットワークを介して接続可能である。一実施形態において１またはいくつかの描画サーバ２６０Ａ、２６０Ｂ、２６０Ｃが存在し、１以上の描画サーバが存在する場合、描画サーバ２６０Ａ、２６０Ｂ、２６０Ｃはあらゆる適切な地理的エリアに分散されうる。図２Ｂのケースでは、通信部２２２はインターネット１３０を介して描画サーバ２６０Ａ、２６０Ｂ、２６０Ｃに制御命令を送信する。
【００２３】
描画サーバ２６０Ａは、ＧＰＵ２１０Ｄ、ビデオメモリ（例えばＶＲＡＭ）２１２Ｄ、ＣＰＵ２１３Ｄ（不図示）及び通信部２２４を有している。通信部２２４は、インターネット１３０を介して中央サーバ２５０から制御命令を受信する。これらの制御命令に基づき、ＣＰＵ２１３Ｄは必要な処理を実行し、ＧＰＵ２１０Ｄに画面描画処理を実行させる。描画された画面データはビデオメモリ２１２Ｄに格納され、符号化され、通信部２２４を介してインターネット１３０上の受信クライアント装置に向けて送信される。あるいは、描画された画面データは、中央サーバ２５０を介して受信クライアント装置に送信される。図２Ａのケースと同様に、通信部２２４は適切な通信プロトコルに準拠した形式にデータを変換し得る。
【００２４】
次に、クライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅを参照するが、これらの構成は特に限定されるものではない。いくつかの実施形態では、１以上のクライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅは例えばＰＣ、家庭用ゲーム機（ＸＢＯＸ（登録商標）、ＰＳ３（登録商標）、Ｗｉｉ（登録商標）等のコンソール）、携帯ゲーム機、スマートテレビ、セットトップボックス（ＳＴＢ）等であってもよい。他の実施形態では、１以上のクライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅは、携帯電話、ＰＤＡやタブレットのような通信装置または計算装置であってもよい。
【００２５】
図３は、本発明の例示的な実施形態を説明するための、一般的なクライアント装置の構成を示している。クライアントＣＰＵ３０１は、クライアント装置が有する各ブロックの動作を制御する。クライアントＣＰＵ３０１は、クライアント記録媒体３０２に記憶されている各ブロックの動作プログラムをクライアントＲＡＭ３０３に読み出して実行することにより各ブロックの動作を制御する。クライアント記録媒体３０２は、ＨＤＤや不揮発性ＲＯＭ等であってよい。また動作プログラムは、専用アプリケーションやブラウジングアプリケーション等であってもよい。クライアントＲＡＭ３０３は、プログラムの展開領域としてだけでなく、各ブロックの動作により出力された中間データ等を一時記憶する格納領域として用いられてもよい。
【００２６】
クライアント通信部３０４は、クライアント装置が有する通信インタフェースである。本実施形態においてクライアント通信部３０４は、インターネット１３０介してサーバシステム１００から提供サービスに係る符号化された画面データを受信する。またクライアント通信部３０４は、クライアント装置においてなされたユーザによる操作入力の情報をインターネット１３０を介してサーバシステム１００に送信する。クライアント復号器３０５は、クライアント通信部３０４が受信した符号化された画面データを復号し、画面データを生成する。生成された画面データは、クライアント表示部３０６に出力されて表示されることで、該クライアント装置のユーザに提示される。なお、クライアント装置がクライアント表示部３０６を必ずしも有している必要はなく、クライアント表示部３０６はクライアント装置に接続された外部の表示装置であってもよい。
【００２７】
クライアント入力部３０７は、クライアント装置が有するユーザインタフェースである。クライアント入力部３０７は、入力装置（タッチスクリーン、キーボード、ゲームコントローラ、ジョイスティック等）を含み、ユーザによる操作入力を検出してもよい。検出された操作入力は、その積算データがクライアント通信部３０４を介してサーバシステム１００に送信されてもよいし、操作内容を解析した後、特定の操作入力がなされたことを示す情報として送信されてもよい。またクライアント入力部３０７は、特定のオブジェクトの動きやユーザによりなされた身体動作を検出するカメラ等を含む、他のセンサ（例えばＫｉｎｅｃｔ（登録商標））を含んでいてもよい。また、クライアント装置の各々は、音声出力のためのスピーカを含んでいてもよい。
【００２８】
《２．サーバシステムにより提供される画面の種類》
本実施形態のサーバシステムでは、上述したようにｉ）仮想空間に係る画面と、ｉｉ）ユーザがゲームプレイを行う場合のゲーム画面の２種類が各クライアント装置に提供される。
【００２９】
ここで、本実施形態のサーバシステムによりクライアント装置のユーザに提供されるサービスの概要を説明する。
【００３０】
サーバシステムは、ユーザ同士のコミュニケーションの場として、複数のクライアント装置のユーザが同時に参加可能な仮想空間を提供する（図７Ａ）。該仮想空間はゲームとして提供されるものでなくてよく、単にコミュニケーションを支援するあるいはコミュニケーションに係るユーザ体験を向上させるツールとして使用される視覚的効果として捉えられてよい。各ユーザは、仮想空間内に配置された、対応するアバターを操作することができ、空間内を移動することが可能である。
【００３１】
仮想空間内のアバターをユーザが操作する場合、ユーザのクライアント装置には空間内に設定された任意の視点に係る画面が提供される。視点は、予め設定された固定視点のいずれかから選択されたものであってもよいし、ユーザが任意に変更可能、あるいはユーザによるアバターの移動（回転）操作に応じて変更されるものであってもよい。
【００３２】
本実施形態では仮想空間はゲームセンターのような状況を想定する。ユーザは空間内でアバターを歩き回らせるだけでなく、空間内に配置されたアーケードビデオゲーム機のオブジェクトの対応する位置にアバターを移動させることで、該機器に割り当てられたゲーム（図７Ｂ）をプレイすることができる。このとき、ユーザのクライアント装置には仮想空間に係る画面に代えて、プレイするゲームに係るゲーム画面が提供される。
【００３３】
図７Ｃに示されるように、ゲーム画面は、例えばクライアント装置においてフルスクリーンで提供される画面であってよい。ユーザがアーケードビデオゲーム機に係るゲームをプレイしている間、クライアント装置においてユーザによりなされた操作は仮想空間におけるアバターの移動ではなく、該ゲームについての操作として認識される。サーバシステムは該操作を受信すると、ゲームに必要な処理を実行してゲーム内のパラメータを更新し、次のフレームに係るゲーム画面を描画する。
【００３４】
なお、アーケードビデオゲーム機のオブジェクトはディスプレイに相当する部位を有している。仮想空間に係る画面内にゲームをプレイしているユーザのアバターがいる場合、例えば該アバターの前に配置されているアーケードビデオゲーム機のディスプレイ部には、該ユーザに対して提供されているゲーム画面がテクスチャとして適用される。即ち、仮想空間に係る画面が提供されるユーザには、空間において実際のゲームセンターのように他のユーザのゲームプレイの様子を見ることができる（図７Ｄ）。ゲームプレイをしているユーザのクライアント装置から操作入力の情報は受信しているため、該ユーザのアバターの手元を操作入力に応じて動かすようにしてもよい。これにより、仮想空間に係る画面が提供されるユーザは、他のユーザのゲームプレイの様子を画面だけでなく、操作の様子まで見ることができる。
【００３５】
またアーケードビデオゲーム機に係るゲームをプレイしているユーザは、例えばゲーム内のメニュー等からゲームを任意に終了／中断可能なように構成される。このように終了／中断操作を行うことで、ユーザは再度仮想空間内でアバターを操作することが可能になる。なお、ゲームを中断した場合は、該ゲームをプレイしていたユーザ、あるいは仮想空間に係る画面が提供されているユーザは、仮想空間に係る画面内の対応するアーケードビデオゲーム機のディスプレイ部において、該中断中のゲーム画面を確認することができるように構成されてよい。即ち、サーバシステムは例えば中断時に描画していたゲーム画面をテクスチャとして保持し、その後も仮想空間の描画において使用する。
【００３６】
中断状態にあるゲームは、中断したユーザのアバターが再度アーケードビデオゲーム機のオブジェクトの対応位置に移動した際に、再開可能であってよい。また、例えば他のユーザのアバターが対応位置に移動した場合に、中断状態を引き継いて再開可能なように構成されてもよい。
【００３７】
以下の説明では、上述した仮想空間に係る画面が提供されるモードをコミュニケーションモード、プレイ可能な状態でゲーム画面が提供されるモードをゲームモードとする。またコミュニケーションモードにあるユーザ及びアバターを、コミュニケーションユーザ及びコミュニケーションアバターとし、ゲームモードにあるユーザ及びアバターをプレイユーザ及びプレイアバターとして説明する。
【００３８】
《サーバシステムによる画面生成》
前述したように、ＣＰＵ２０２により実行されるサービス提供プログラムは、クライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅに対して、各々の現在のモードに応じた画面を描画して送信する。
【００３９】
以下、サーバシステム１００のＣＰＵ２０２により実行されるサービス提供プログラムのメイン処理ループ（またはメインゲームループ）のステップを概念的に示した図４を参照する。メインゲームループは、サービス提供を受ける各クライアント装置について実行されうる。メインゲームループは、本発明の非限定的な実施形態に係る、以下に更なる詳細が示される、ステップ４１０乃至４６０を有し得る。メインゲームループは、所定のフレームレートで継続的に実行される。
【００４０】
ステップ４１０で、ＣＰＵ２０２は通信部２２０を介してクライアント装置においてなされた操作入力の情報を受信する。操作入力は、例えば前のフレームでの入力状態に対する差分の情報であってもよいし、クライアント装置において検出された、特定の操作がなされたことを示す情報であってもよい。いくつかの実施形態、特にマルチプレイヤビデオゲームにおいては、入力はメインゲームループが実行されている参加者についてのみではなく、ゲーム内の全ての参加者から受信した入力セットを含んでいてもおい。何らの入力もなされない場合、ステップ４１０は省略される。
【００４１】
ステップ４２０で、ＣＰＵ２０２は受信した操作入力の情報に基づいて画面構成に係る各種パラメータを更新する。またＣＰＵ２０２は、操作入力だけでなく経時変化に伴い変化する情報に基くパラメータの更新も行う。本ステップにおいて更新される各種パラメータは、現在のモードがコミュニケーションモードである場合は例えば仮想空間に配置される各アバターの位置や姿勢情報やゲームプレイ状態にあるか否かを示す情報等であってよい。また現在のモードがゲームモードである場合は、例えばゲームにおける操作キャラクタやＮＰＣ(Non-Player Character)の位置や姿勢情等であってよい。
【００４２】
ステップ４３０で、ＣＰＵ２０２はクライアント装置に提供する画面の描画内容を決定する。具体的にはＣＰＵ２０２は、現在のモードがコミュニケーションモードである場合は、描画を行う視点及び方向に基いて、該視点からの投影から「視認可能な」仮想空間の一部に含まれるオブジェクトを特定し、描画内容を決定する。あるいはＣＰＵ２０２は、現在のモードがゲームモードである場合は、ゲーム内で規定された画面構成に従って描画対象及び描画内容を決定する。
【００４３】
ステップ４４０で、ＣＰＵ２０２は、ステップ４３０において決定された描画内容に基づき、ＧＰＵ２１０Ａ、２１０Ｂ、２１０Ｃまたは２１０Ｄを用いて、クライアント装置に提供する画面（画像）を描画する。
【００４４】
ステップ４５０で、通信部２２０は、ＧＰＵにより描画されＶＲＡＭに格納された画面データを符号化する。符号化は、静止画符号化規格に基づくものに限られず、任意の動画符号化規格に基づくものであってよい。データ圧縮に加え、特定の画像を符号化するために用いられる符号化処理は、暗号化が適用されてもよいしされなくてもよい。
【００４５】
ステップ４６０で、通信部２２０は、符号化された画像をインターネット１３０を介してクライアント装置に送信する。このようにすることで、1フレームに係る画面生成処理が完了する。
【００４６】
《４．クライアント装置画面再生》
以下、クライアント装置１２０Ａ、１２０Ｂ、１２０Ｃ、１２０Ｄ、１２０Ｅのいずれであってもよい任意のユーザに関連するクライアント装置の動作を示す、図５を参照する。
【００４７】
ステップ５１０で、クライアントＣＰＵ３０１は、クライアント通信部３０４を介してサーバシステム１００から符号化された画像（符号化画面データ）を受信する。このとき、関連付けられた音声も受信されてもよい。
【００４８】
ステップ５２０で、クライアント復号器３０５は受信した符号化された画像を復号する。復号アルゴリズムは、符号化処理において用いられた圧縮アルゴリズム（例えば上述のステップ４５０参照）と相互補完的である。非限定的な実施形態において、画像の符号化に用いられる圧縮アルゴリズムの性質やバージョンは、画像を伝播する１以上のパケットのコンテンツ内に特定されてよい。
【００４９】
ステップ５３０で、クライアントＣＰＵ３０１は（復号された）画像を処理する。これは、バッファ（例えばクライアントＲＡＭ３０３）への復号された画像の配置、誤り訂正処理、複数の連続する画像の結合、アルファブレンディング処理、失われた画像の部分の補間等を含みうる。結果、フレームにつき１つの最終画像がユーザに提示される。
【００５０】
ステップ５４０で、クライアントＣＰＵ３０１は、クライアント表示部３０６に最終画像を出力し表示する。例えば、動画の場合、コンポジットビデオフレームがクライアント表示部３０６に表示される。また、関連付けられた音声も再生され、ビデオフレームに同調する他の出力も同様にトリガされる。
【００５１】
《５．非限定的な実施形態の詳細説明》
以下、本発明のある非限定的な実施形態のより詳細な説明が提供される。
【００５２】
図６は、サーバシステム１００がクライアント装置に提供する画面に係る描画処理の詳細を例示したフローチャートである。該処理はサービス提供に係る１フレームの画面生成を行うものであり、サーバシステム１００に接続しているクライアント装置の夫々について同時に実行される。
【００５３】
ステップＳ６０１で、ＣＰＵ２０２は画面を提供するクライアント装置のモードがコミュニケーションモードとゲームモードのいずれであるかを判断する。ＣＰＵ２０２は、クライアント装置のモードがコミュニケーションモードであると判断した場合は処理をステップＳ６０５に移し、ゲームモードであると判断した場合は処理をステップＳ６０２に移す。
【００５４】
ステップＳ６０２で、ＣＰＵ２０２は、クライアント装置においてプレイされているゲームに係るゲームプログラムを実行して種々の処理を行った後、ＧＰＵ２１０Ａ、２１０Ｂ、２１０Ｃまたは２１０Ｄのいずれかにゲーム画面の描画を行わせる。
【００５５】
ステップＳ６０３で、ＣＰＵ２０２は、描画によりＶＲＡＭに格納されたゲーム画面を読み出して通信部２２０に伝送し、符号化処理を実行させる。またＣＰＵ２０２は、ＶＲＡＭから読み出したゲーム画面を複製し、一時記憶領域２０６に格納する。
【００５６】
ステップＳ６０４で、通信部２２０は、符号化したゲーム画面をクライアント装置に送信し、処理を完了する。
【００５７】
一方、ステップＳ６０１でクライアント装置のモードがコミュニケーションモードであると判断した場合、ＣＰＵ２０２はステップＳ６０５で、仮想空間に配置されるオブジェクトのうち、描画対象となるオブジェクトを特定する。
【００５８】
ステップＳ６０６で、ＣＰＵ２０２は、描画対象となるオブジェクトに、ゲームプレイを行っている他のユーザのアバターが含まれているか否かを判断する。ＣＰＵ２０２は、ゲームプレイを行っている他のユーザのアバターが含まれていると判断した場合は処理をステップＳ６０７に移し、含まれていないと判断した場合は処理をステップＳ６０８に移す。
【００５９】
ステップＳ６０７で、ＣＰＵ２０２は、ＧＰＵ２１０Ａ、２１０Ｂ、２１０Ｃまたは２１０Ｄのいずれかに行わせる仮想空間に係る画面の描画において、ゲームプレイが行われているアーケードビデオゲーム機のオブジェクトのディスプレイ部に、対応するゲーム画面をテクスチャとして適用して画面の描画を行う。具体的には描画を行うＧＰＵはＣＰＵ２０２の制御の下、対応するゲーム画面のデータを一時記憶領域２０６から読みだしてＧＰＵのキャッシュメモリに展開し、描画に使用する。また、ゲームプレイが中断された状態のアーケードビデオゲーム機のオブジェクトが描画対象に含まれる場合は、該オブジェクトのディスプレイ部に、対応するゲーム画面をテクスチャとして適用して描画を行う。
【００６０】
ステップＳ６０８で、ＣＰＵ２０２は、描画によりＶＲＡＭに格納された仮想空間に係る画面を読み出して通信部２２０に伝送し、符号化処理を実行させる。
【００６１】
ステップＳ６０９で、通信部２２０は、符号化された画面を提供を行うクライアント装置に送信し、処理を完了する。
【００６２】
このようにすることで、ゲームモードにあるクライアント装置のユーザにはゲームプレイに特化したゲーム画面を、コミュニケーションモードにあるクライアント装置のユーザには仮想空間内で他のユーザのゲームプレイを傍観することが可能な画面を提示することができる。即ち、コミュニケーションモードにあるクライアント装置のユーザは、仮想空間において他のユーザがゲームプレイをしていること、またそのゲームプレイの様子を観察することができる。
【００６３】
なお、ゲームプレイを行っているユーザに提示されるゲーム画面は、単に仮想空間内のオブジェクトにテクスチャとして適用されて提示される形態に限られない。ユーザは、例えばゲームプレイ中のアバターあるいはアーケードビデオゲーム機のオブジェクトを選択する操作を行うことで、さらにゲーム画面を詳細に表示する画面の提示を受けることが可能なように構成されてもよい。このとき、例えばゲーム画面と、該ゲームに係るクライアント装置からの操作入力の情報に基いてアバターの手元の状態が変化している様子を示した画面とが、１つの画面内に配置された新たな画面がユーザに提示されてもよい。このとき、ゲーム画面が提供されているユーザと該新たな画面が提供されるユーザとは、音声入力及び文字入力を行うことで、互いにインタラクションを行うことが可能であってもよい。即ち、音声入力及び文字入力は、ユーザ間で共有され、ユーザ同士はゲーム画面を見ながらコミュニケーションをとることができる。
【００６４】
また、アーケードビデオゲーム機のオブジェクトのディスプレイ部に適用されるゲーム画面のテクスチャは、該ゲーム画面が送信されるフレームと必ずしも同一のフレームの仮想空間に係る画面の描画に使用されなくてよい。即ち、仮想空間に係る画面の描画において使用されるゲーム画面は、先行して送信された過去のフレームにおいてクライアント装置に送信されたゲーム画面であってよい。従って、一時記憶領域２０６には複数のゲーム画面が蓄積されていてよく、仮想空間に係る画面の描画において順次使用される。このようにすることで、例えばゲームプレイを行っているユーザのアバターに対して操作入力に応じたモーションを与える場合に、前後のフレームにおいてなされた操作入力を補間して適用することができる。つまり、仮想空間に係る画面と該画面に含まれるゲーム画面のテクスチャとが異なるタイミングで生成されたものであることで、離散データを補間し、操作に係るモーションをスムーズに調整することができる。
【００６５】
当然のことながら、多重にネスト化されたゲームにユーザを同時に参加可能することにより、発明の特定の実施形態はこれまでに可能だったものよりもより高品位なゲーム体験を可能にさせる。
【００６６】
例示的な実施形態を参照して本発明を説明してきたが、記載した例示的な実施形態に発明が限られるものでないことは理解されよう。以下の特許請求の範囲は、このような変形、等価な構成及び機能の全てを包含するように、広範な解釈を許容されよう。また、本発明に係る情報処理装置及び制御方法は、コンピュータにおいて該手法が実行されるプログラムにより実現可能である。プログラムは、コンピュータ読み取り可能な記録媒体に格納されることで、または電気的な通信回線を介して、提供／配信可能である。
【００６７】
本出願は、その全体がここに参照により援用される、２０１３年２月６日に出願された米国仮出願第６１／７６１４１５号の利益を主張するものである。
【図１】
0005776954.tif 000002
【図２Ａ】
0005776954.tif 000003
【図２Ｂ】
0005776954.tif 000004
【図３】
0005776954.tif 000005
【図４】
0005776954.tif 000006
【図５】
0005776954.tif 000007
【図６】
0005776954.tif 000008
【図７Ａ】
0005776954.tif 000009
【図７Ｂ】
0005776954.tif 000010
【図７Ｃ】
0005776954.tif 000011
【図７Ｄ】
0005776954.tif 000012