図1は、本発明の実施例にかかる情報処理システム1を示す。情報処理システム1は、ユーザA、B、Cがそれぞれ操作する情報処理装置10a、10b、10c(以下、特に区別しない場合には、「情報処理装置10」と呼ぶ)と、管理サーバ5a、5b(以下、特に区別しない場合には、「管理サーバ5」と呼ぶ)とを備え、これらはインターネットやLAN(Local Area Network)などのネットワーク3a、3bを介して接続している。アクセスポイント(以下、「AP」とよぶ)8は、無線アクセスポイントおよびルータの機能を有し、情報処理装置10は、無線または有線経由でAP8に接続して、ネットワーク3a、3b上の管理サーバ5や、他のユーザが操作する情報処理装置10と通信可能に接続する。
情報処理装置10は、ユーザが操作する入力装置6と無線または有線で接続し、入力装置6はユーザの操作結果を示す操作情報を情報処理装置10に提供する。情報処理装置10は入力装置6から操作情報を受け付けるとシステムソフトウェアやアプリケーションソフトウェアの処理に反映し、出力装置から処理結果を出力させる。情報処理システム1において情報処理装置10はゲームを実行するゲーム装置であり、入力装置6はゲームコントローラなど情報処理装置10に対してユーザの操作情報を供給する機器であってよい。情報処理システム1においては、1人のユーザの情報処理装置10が、他のユーザの情報処理装置10に対して、プレイ中のゲーム画像データをストリーミング配信し、したがって本実施例における情報処理システム1は、ゲーム画像配信システムとして動作する。
情報処理システム1において各ユーザは、ゲームなどのアプリケーションを実行するために情報処理装置10のOS(システムソフトウェア)にログインする必要がある。システムソフトウェアにログインするユーザは、情報処理装置10において登録されているユーザアカウントによって管理される。
補助記憶装置2はHDD(ハードディスクドライブ)やフラッシュメモリなどの大容量記憶装置であり、USB(Universal Serial Bus)などによって情報処理装置10と接続する外部記憶装置であってよく、内蔵型記憶装置であってもよい。出力装置4は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。出力装置4は、情報処理装置10に有線ケーブルで接続されてよく、無線接続されてもよい。
入力装置6は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4周辺の空間を撮像する。図1ではカメラ7が出力装置4の上部に取り付けられている例を示しているが、出力装置4の側方に配置されてもよく、いずれにしても出力装置4の前方でゲームをプレイするユーザを撮像できる位置に配置される。なおカメラ7は、ステレオカメラであってよい。
近年ではインターネットの高速化により、異なる国のユーザがリアルタイムで通信することも可能となっている。情報処理システム1においては、複数のユーザ同士が、チャット用アプリケーションを利用して、音声チャットやテキストチャットを楽しんだり、またお互いにカメラ画像を送信してビデオチャットを楽しむことができる。
情報処理システム1において、情報処理装置10a、10b、10cは、それぞれチャットアプリケーションを起動して、ユーザA、B、Cが、互いにチャットをしている。このように互いにチャットをしている状態で、1人のユーザ(ホストユーザ)が、別の1人のユーザ(ゲストユーザ)と、ゲーム画像を共有できる。たとえばユーザAのゲームプレイ中に、ユーザAのゲーム画像が情報処理装置10aから情報処理装置10cに配信されることで、ユーザCがユーザAのゲーム画像を視聴できる。本実施例では、情報処理装置10aで処理されているコンテンツ画像データが別の情報処理装置10cに送信されて、ユーザAとユーザCとが、一緒にコンテンツ画像を視聴できる状態になることを「コンテンツ画像の共有」とよぶ。なお情報処理装置10aと情報処理装置10cとの間は、P2Pによって接続されてデータの送受信が行われてもよいが、管理サーバ5を介してデータの送受信が行われてもよい。
情報処理システム1は、異なる国のユーザ同士がリアルタイムでデータを送受信することを可能とする。図1においては、ユーザA、Bが、X国の住人であって、管理サーバ5aが、ネットワーク3aに接続されるユーザA、Bを管理しており、またユーザCが、Y国の住人であって、管理サーバ5bが、ネットワーク3bに接続されるユーザCを管理している様子が示される。なお、ここでは国ごとに管理サーバ5が設置されて、管理サーバ5が、それぞれの国に設けられている基準(たとえば年齢視聴制限)にしたがってユーザを管理しているが、管理サーバ5は、国単位ではなく、国の中の地区単位で設置されてもよく、また複数国をまとめた地域単位に設置されてもよい。
本実施例において管理サーバ5は、国(または地域)ごとに、ユーザに対して様々なサービスを提供する。
まず管理サーバ5は、情報処理システム1のユーザに対してゲームのネットワークサービスを提供する。管理サーバ5はユーザを識別するネットワークアカウントを管理しており、ユーザは、ネットワークアカウントを用いて、管理サーバ5が提供するネットワークサービスにサインインする。この意味において、ユーザは、自身が住んでいる国の管理サーバ5によって管理される。
ログインユーザは情報処理装置10からネットワークサービスにサインインすることで、管理サーバ5に、ゲームのセーブデータや、またゲームプレイ中に獲得した仮想的な表彰品(トロフィ)を登録できる。本実施例において情報処理装置10が他の情報処理装置10と通信するためには、ユーザが管理サーバ5にサインインすることが前提となり、したがってユーザは、自身の国の管理サーバ5にサインインすることで、はじめて、他のユーザとの間でチャットを行ったり、またコンテンツ画像の共有を行うことが可能となる。
管理サーバ5は、ゲームなどのコンテンツを販売・管理するサーバとしても機能する。管理サーバ5は、コンテンツのオンラインショップとして機能し、情報処理装置10からのコンテンツ購入要求を受けると、ネットワーク3経由でコンテンツを情報処理装置10に提供する。情報処理装置10は、管理サーバ5からコンテンツをダウンロードすることで、コンテンツを実行できる。なお既述したように、年齢視聴制限の基準は、各国(地域)ごとに設定されており、管理サーバ5は、自国の基準にしたがって、コンテンツの販売・管理等の処理を行う。たとえば15歳のユーザが、X国ではコンテンツを購入できるが、Y国では購入できないということは生じうることであり、特にコンピュータゲームに関しては、各国でレイティングシステムが運用されているため、管理サーバ5は、自国のレイティングシステムにしたがって、コンテンツの販売・管理を行っている。
また管理サーバ5は、ユーザに対して、コンテンツを割引価格で販売したり、また一定期間ユーザが自由にコンテンツを楽しむことのできる有料サービスを提供してもよい。ユーザは、固定金額を毎月支払うことで、この有料サービスに加入でき、有料サービスが提供する様々な特典を受けられる。
このように管理サーバ5は、ユーザに様々なサービスを提供する。図1においては、管理サーバ5が、様々なサービスを統括して提供する単一のサーバとして示されているが、実際の運用では各サービスごとにサーバが設けられてよい。サービスごとにサーバが設けられる場合には、サーバ間で情報の連携が行われ、ユーザからすると、どのサーバにアクセスしているのかを意識しなくてすむように、システムが構築されていることが好ましい。
図2(a)は、入力装置上面の外観構成を示す。ユーザは左手で左側把持部78bを把持し、右手で右側把持部78aを把持して、入力装置6を操作する。入力装置6の筐体上面には、入力部である方向キー71、アナログスティック77a、77bと、4種の操作ボタン76が設けられている。4種のボタン72〜75には、それぞれを区別するために、異なる色で異なる図形が記されている。すなわち、○ボタン72には赤色の丸、×ボタン73には青色のバツ、□ボタン74には紫色の四角形、△ボタン75には緑色の三角形が記されている。筐体上面上において、方向キー71と操作ボタン76の間の平坦な領域には、タッチパッド79が設けられる。タッチパッド79は、ユーザが押すことで下方に沈み込み、またユーザが手を離すと元の位置に復帰する押下式ボタンとしても機能する。
2つのアナログスティック77a、77bの間に機能ボタン80が設けられる。機能ボタン80は、入力装置6の電源をオンし、同時に入力装置6と情報処理装置10とを接続する通信機能をアクティブにするために使用される。入力装置6が情報処理装置10と接続した後は、機能ボタン80は、情報処理装置10にホーム画面を表示させるためにも使用される。
SHAREボタン81は、タッチパッド79と方向キー71の間に設けられる。SHAREボタン81は、情報処理装置10におけるOSないしはシステムソフトウェアに対するユーザからの指示を入力するために利用される。OPTIONSボタン82は、タッチパッド79と操作ボタン76の間に設けられる。OPTIONSボタン82は、情報処理装置10において実行されるアプリケーション(ゲーム)に対するユーザからの指示を入力するために利用される。SHAREボタン81およびOPTIONSボタン82は、いずれもプッシュ式ボタンとして形成されてよい。
図2(b)は、入力装置背面の外観構成を示す。入力装置6の筐体背面の上側には、タッチパッド79が筐体上面から延設されており、筐体背面の下側には、横長の発光部85が設けられる。発光部85は、赤(R)、緑(G)、青(B)のLEDを有し、情報処理装置10から送信される発光色情報にしたがって点灯する。筐体背面において、上側ボタン83a、下側ボタン84aと、上側ボタン83b、下側ボタン84bとが長手方向の左右対称な位置に設けられる。上側ボタン83a、下側ボタン84aは、それぞれユーザ右手の人差し指、中指により操作され、上側ボタン83b、下側ボタン84bは、それぞれユーザ左手の人差し指、中指により操作される。上側ボタン83はプッシュ式ボタンとして構成され、下側ボタン84は回動支持されたトリガー式のボタンとして構成されてよい。
図3は、情報処理装置10の機能ブロック図を示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
メインシステム60は、メインCPU(Central Processing Unit)、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUは補助記憶装置2に記録されたゲームプログラムを実行する機能をもつ。
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えず、ゲームプログラムを実行する機能をもたない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。サブCPUは、メインCPUがスタンバイ状態にある間においても動作し、消費電力を低く抑えるべく、その処理機能を制限されている。
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。
クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
メディアドライブ32は、ゲームなどのアプリケーションソフトウェア、およびライセンス情報を記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
USBモジュール34は、外部機器とUSBケーブルで接続するモジュールである。USBモジュール34は補助記憶装置2およびカメラ7とUSBケーブルで接続してもよい。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置6と無線通信する。なお無線通信モジュール38は、ITU(International Telecommunication Union;国際電気通信連合)によって定められたIMT−2000(International Mobile Telecommunication 2000)規格に準拠した第3世代(3rd Generation)デジタル携帯電話方式に対応してもよく、さらには別の世代のデジタル携帯電話方式に対応してもよい。有線通信モジュール40は、外部機器と有線通信し、たとえばAP8を介して外部ネットワークに接続する。
本実施例の情報処理システム1においては、複数のユーザの情報処理装置10が、チャットアプリケーションを実行して、互いにP2Pで接続されている。この状態では、ユーザ同士がボイスチャットやテキストチャットなどでお互いにコミュニケーションをとることができる。なお各ユーザは、それぞれ1人でゲームを楽しみながら、同時に別のユーザとチャットを楽しむことができ、またチャット接続している別のユーザと、ゲーム画像を共有することもできる。
本実施例において、ゲーム画像の共有には、複数の形態が用意される。以下、ゲーム画像を共有することを、便宜上「シェアプレイ」と呼ぶこともある。なおシェアプレイにおいては、ゲーム画像の配信元のユーザを「ホスト」ないしは「ホストユーザ」、配信先のユーザを「ゲスト」ないしは「ゲストユーザ」と呼ぶ。以下、シェアプレイの3つの形態を示す。シェアプレイでは、ゲストユーザは、ホストユーザからゲーム画像を提供され、ゲストユーザは、当該ゲームソフトウェアを持っていなくてよい。なお本実施例におけるシェアプレイは、両者がチャット接続していることが前提となっており、両者はシェアプレイを行いつつ、チャットでコミュニケーションをとることができる。
<シェアプレイ1>
1つめのシェアプレイは、「シェアスクリーン」と呼んでもよく、ホストユーザのゲーム画像をゲストユーザと共有する。シェアスクリーンはシェアプレイの基本形態であり、シェアプレイの開始時には、まず最初に、共有形態としてシェアスクリーンが設定される。シェアスクリーンでは、ゲストユーザは、ホストユーザのゲーム画像を視聴できるが、ゲーム操作をすることはできない。
したがってシェアプレイ1は、ホストユーザとゲストユーザとがホストユーザのゲーム画像を共有しつつ、ゲストユーザがゲームの操作権を有しない共有形態といえる。
以下のシェアプレイ2,3は、シェアプレイ1のシェアスクリーン機能を前提としつつ、ゲームの操作権がゲストユーザに渡される共有形態である。
<シェアプレイ2>
2つめのシェアプレイは、「アシストプレイ」と呼んでもよく、ホストユーザのゲーム画像をゲストユーザと共有しつつ、ゲストユーザがホストユーザの代わりにゲーム操作を行う。アシストプレイでは、ホストユーザが自身のゲームの操作権をゲストユーザに渡し、したがってホストユーザは、ゲームを操作することができず、ゲストユーザのみが、ゲーム操作を行うことができる。
したがってシェアプレイ2は、ホストユーザとゲストユーザとがホストユーザのゲーム画像を共有しつつ、ゲームの操作権がホストユーザの代わりにゲストユーザに渡される共有形態といえる。
<シェアプレイ3>
3つめのシェアプレイは、「共同プレイ」と呼んでもよく、ホストユーザのゲーム画像をゲストユーザと共有しつつ、ゲストユーザがゲームに新たなプレイヤーとして参加して、ホストユーザと一緒にゲームをプレイする。つまり、共同プレイでは、ホストユーザ側のゲームリソースを利用して、ホストユーザがプレイヤー1、ゲストユーザがプレイヤー2としてゲームに参加して、ホストユーザとゲストユーザとが一緒にゲームを操作することができる。
したがってシェアプレイ3は、ホストユーザとゲストユーザとがホストユーザのゲーム画像を共有しつつ、ホストユーザとゲストユーザの双方がゲームの操作権を同時に有する共有形態といえる。
以下、ホストユーザの情報処理装置10の構成と、ゲストユーザの情報処理装置10の構成を示し、ホストユーザとゲストユーザとの間でシェアプレイを行う仕組みについて説明する。なお以下の例においては、ユーザAがホストユーザとなり、ユーザCがゲストユーザとなる場合について説明するが、当然のことながら情報処理システム1においては、ユーザCがホストユーザになることもでき、またユーザAがゲストユーザになることもできる。また他のユーザ、たとえばユーザBや図示していない他のユーザも同様に、ホストユーザまたはゲストユーザのいずれにもなることができ、したがって以下において、情報処理装置10aまたは情報処理装置10cとして示す構成は、全ての情報処理装置10に備えられることを付言しておく。
図4は、ホストユーザの情報処理装置10aの構成を示す。情報処理装置10aは処理部100a、通信部102aおよび受付部104aを備え、処理部100aはシステム画面生成部110a、チャット実行部120a、共有処理部140a、コンテンツ実行部170aおよび配信処理部180を備える。チャット実行部120aはチャットアプリケーションにより実現され、他のユーザのチャットアプリケーションとP2Pで接続して音声やテキストのデータを送受信する機能をもち、情報取得部122a、メンバ画面表示部124a、開始画面表示部126aおよび通知部128aを有する。共有処理部140aはシェアアプリケーションにより実現され、他のユーザとの間のコンテンツ画像の共有処理を行い、情報取得部142a、形態設定部144、通知部146a、操作権管理部156、操作データ提供部158、状態取得部160およびダイアログ画面表示部162を有する。
受付部104aは、通信部102aと処理部100aとの間に設けられ、通信部102aと処理部100aとの間でデータないしは情報を伝送する。なお通信部102aは、図3に示す無線通信モジュール38および有線通信モジュール40の機能を表現している。本実施例ではホストユーザであるユーザAがゲームのプレイ動画をストリーミング配信するため、図1における情報処理装置10aが、図4に示す構成を有することを説明するが、既述したように情報処理システム1において、他のユーザB、Cも、シェアプレイにおけるホストユーザとなることができ、したがって情報処理装置10b、10cも、図4に示す構成を有している。
図5は、ゲストユーザの情報処理装置10cの構成を示す。情報処理装置10cは処理部100c、通信部102cおよび受付部104cを備え、処理部100cはチャット実行部120c、共有処理部140cおよびコンテンツ実行部170cを備える。チャット実行部120cはチャットアプリケーションにより実現され、他のユーザのチャットアプリケーションとP2Pで接続して音声やテキストのデータを送受信する機能をもち、情報取得部122c、メンバ画面表示部124c、通知部128c、問い合わせ部130および判定部132を有する。共有処理部140cはシェアアプリケーションにより実現され、他のユーザとの間のコンテンツ画像の共有処理を行い、情報取得部142c、通知部146c、メッセージ画面表示部148、画像データ取得部150、再生処理部152および操作データ送信部154を有する。
受付部104cは、通信部102cと処理部100cとの間に設けられ、通信部102cと処理部100cとの間でデータないしは情報を伝送する。なお通信部102cは、図3に示す無線通信モジュール38および有線通信モジュール40の機能を表現している。本実施例ではユーザCがユーザAとの間でシェアプレイを行うため、図1における情報処理装置10cが、図5に示す構成を有することを説明するが、既述したように情報処理システム1において他のユーザA、Cも、シェアプレイにおけるゲストユーザとなることができ、したがって情報処理装置10a、10bも、図5に示す構成を有している。
図4および図5において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。以下、シェアプレイを実現するための各機能について説明する。
まず本実施例において、ホストユーザとゲストユーザとがシェアプレイを実施するためには、両者が、同一のチャットルームに参加する必要がある。なおチャットルームの開設者は、どのユーザであってもよく、すなわちホストユーザおよびゲストユーザ以外のユーザが開設してもよい。以下、図4に示す構成をもとに、ユーザAがチャットルームに参加する仕組みについて説明する。なお、他のユーザについても、同様の手順でチャットルームに参加する。
ユーザAが情報処理装置10aにログインすると、システム画面生成部110aが、ユーザA用のホーム画面を生成して、出力装置4aに表示する。
図6は、ホーム画面の一例を示す。システム画面生成部110aは、アイコン列の先頭(すなわち左端)に新着情報アイコン330を配置する。システム画面生成部110aは、ホーム画面を最初に表示させる際、コンテンツエリア314において、新着情報アイコン330をフォーカス枠328に入れて、フォーカス状態とする。システム画面生成部110aは、アイコン列にコンテンツアイコン326を並べ、またライブ情報アイテム332をライブエリア316に配置する。
またシステム画面生成部110aは、情報処理装置10が提供する複数のシステム機能を示す複数の機能アイコン376の一部をシステムエリア312に配置する。図6の例では、ストアアイコン376a、通知アイコン376b、フレンドアイコン376c、プロフィールアイコン376f、トロフィーアイコン376gを表示させている。なおプロフィールアイコン376fは、ユーザA(TARO)のプロフィールを表示させるためのGUIである。
システム画面生成部110aは、オンラインのフレンドユーザ数、すなわち他の情報処理装置10において現在ログイン中のフレンド数(図6では「9」)を示すオンライン数インジケータをフレンドアイコン376cと対応づけて配置する。情報処理システム1において、フレンドユーザは、管理サーバ5においてユーザAのフレンドとして登録されているユーザである。またシステム画面生成部110aは、ユーザが未読の情報の数(図6では「6」)を示す未読数インジケータを通知アイコン376bと対応づけて配置する。
ホーム画面においてユーザAが、プレイしたいゲームのコンテンツアイコン326をフォーカス枠328に配置して、決定ボタンを操作すると、コンテンツ実行部170aが、ゲームプログラムを実行する。コンテンツ実行部170aは、ユーザAから入力装置6に入力された操作情報をもとに、仮想空間においてゲームキャラクタを動かす演算処理を行う。コンテンツ実行部170aは、レンダリング処理などを実行するGPU(Graphics Processing Unit)を含み、ゲームプログラムの処理結果を受けて、出力装置4aに表示するゲームの画像データを生成する。本実施例では、コンテンツ実行部170aが、ゲームタイトル“WARSHIP2”のプログラムを実行して、ユーザAが、“WARSHIP2”を1人でプレイする。その後、ユーザAは、ホーム画面に戻り、チャットアプリケーションを起動する。
ユーザAが“WARSHIP2”のゲーム画面からホーム画面に戻り、入力装置6の上方向キーを操作すると、システム画面生成部110aが、機能画面を生成して出力装置4aに表示する。
図7は、ホーム画面から遷移した機能画面の一例を示す。システム画面生成部110aは、システム機能選択エリア372に、複数の機能アイコン376を並べて配置する。ここではストアアイコン376a、通知アイコン376b、フレンドアイコン376c、グループメッセージアイコン376d、チャットアイコン376e、プロフィールアイコン376f、トロフィーアイコン376g、設定アイコン376h、電源アイコン376iが表示されている。システム画面生成部110aは、ユーザAによる入力装置6の横方向の操作入力に応じて、フォーカスさせる機能アイコン376を順次切り替え、フォーカスアイコンを強調した態様(大きいサイズ、異なる色等)で表示する。図7では、通知アイコン376bが選択されてフォーカスされ、他のアイコンより強調表示された状態となっており、通知アイコン376bを選択したときに表示される情報がプレビューエリア374に示されている。ユーザAはチャットルームを開設、またはチャットルームに参加するために、システム機能選択エリア372からチャットアイコン376eを選択する。
図8は、チャットルームの入室画面の一例を示す。ユーザAがチャットアイコン376eを選択すると、システム画面生成部110aは、入室画面を生成する。入室画面においては、ユーザ自身がチャットルームを作成する選択肢と、既に存在するチャットルームに参加する選択肢とが表示される。この入室画面では、最上位に「チャットルームを作成する」選択肢が表示され、その下方に、3つの既存のチャットルームの情報が表示されている。なお既存のチャットルームがなければ、チャットルームの選択肢は表示されない。
上から2番目の既存チャットルームについて説明する。オーナーアイコン380は、チャットルームを開設したオーナーのアイコンであり、オーナー名382は、オーナーのユーザ名である。ゲームタイトル384は、オーナーが現在プレイ中のゲームタイトル名であり、オーナーがゲームをしていなければ、ブランク表示とされる。ルーム名386は、オーナーが設定したチャットルームの名前であり、ここでは“JIRO YAMADA”がチャットルーム名を“Battle Lover”と名付けていることが示される。参加人数インジケータ388は、このチャットルームに参加している人数を示す。
ユーザAは入室画面において、自分でチャットルームを作成し、または、いずれかのチャットルームに参加するか選択できる。ここでユーザAが、“JIRO YAMADA”が開いた“Battle Lover”を選択して入室する。ユーザAがチャットルームに参加すると、通信部102aは、入室したチャットルームのメンバのアドレス情報を取得して、メンバ全員の情報処理装置10とP2Pで接続する。
チャット実行部120aの各機能は、チャットアプリケーションによって実現される。情報取得部122aは、ルームメンバのユーザ情報、具体的にはメンバのユーザ名、ユーザアイコン、プレイ中のゲームタイトルおよびゲームアイコン、およびチャット状況などの情報を、ルームメンバの各情報処理装置10から取得する。メンバ画面表示部124aは、情報取得部122aが取得したユーザ情報をもとに、チャットルームのメンバ画面を生成して、出力装置4aに表示する。
図9は、チャットルームのメンバ画面の一例を示す。メンバ画面の上段には、ルーム名400が表示される。メンバ画面表示部124aは、メンバ画面の左側に設定されるメンバ情報エリア404に、自分に関するユーザ情報とともに、情報取得部122aが取得した他のメンバに関するユーザ情報を表示する。チャットルーム「Battle Lover」には、7人のユーザが参加しており、各メンバのユーザ情報が並べてリスト形式で表示される。メンバ情報エリア404において、最上段には、このルームを開設したルームオーナーのユーザ情報が表示され、オーナーであることを示すオーナーインジケータ401が付加されている。また最下段には、ユーザAである自分(すなわちTARO)のユーザ情報が表示される。ここでユーザAは、ゲームタイトル“WARSHIP2”をプレイ中であることが示される。
ここで各ユーザ情報の表示欄の右側には、各ユーザのチャットの状況がアイコンで表示される。たとえばチャットアイコン406は、ボイスチャットで話中であること、チャットアイコン408は、ボイスチャット接続中であること、チャットアイコン410は、ゲーム画像の配信中であって且つボイス出力をアクティブにしていること、チャットアイコン412は、ボイスチャットのマイク出力をオフにしていることを示す。チャットアイコン414は、ボイスチャット接続中であることを示すが、チャットアイコン408と比較すると、自分のチャット状況をスピーカではなくマイクで表現している点で異なっている。なお“JENNIFER WILSON”は、ゲームタイトル“BATTLE3”をプレイ中であるが、セッションアイコン416は、当該ユーザが参加可能なセッションを実行しており、他のユーザが、そのセッションに参加可能であることを示している。なお、このセッションへの参加は、他のユーザが“BATTLE3”を有している場合に可能であり、したがって、ゲームソフトウェアを有していなくてもゲーム画像を共有するシェアプレイとは、別のタイプのゲーム参加であることに留意されたい。
メンバ情報エリア404の右側には、このチャットルームにおける各機能の項目が表示される。シェアプレイ項目420は、他のユーザとシェアプレイを実施するための項目であり、この項目については後述する。招待項目422は、当該チャットルームに他のユーザを招待するための項目であり、ルーム設定項目424は、たとえばチャットにおけるマイクレベルや音声ミックスなどを調整するための項目である。また他ルーム参照項目426は、他のチャットルームを参照するための項目であり、退出項目428は、このチャットルームを退出するための項目である。
メンバ画面において、フォーカス枠402が移動可能に表示され、ユーザAは、入力装置6の方向キー71を操作して、所望の項目を選択することができる。図9の例では、フォーカス枠402が、ルームオーナーである“JIRO YAMADA”のユーザ表示領域に配置されており、この状態でユーザAが決定ボタンを操作すると、“JIRO YAMADA”のプロフィール画面が表示されるようにしてもよい。
本実施例においてユーザAは、チャットルームに参加することで、他のユーザとシェアプレイを行える態勢が整えられる。
図10は、フォーカス枠402をシェアプレイ項目420に配置した状態を示す。ユーザAが、入力装置6の決定ボタンを操作すると、ユーザAが、シェアプレイのホストユーザとして振る舞うことになる。
図11は、シェアプレイの開始画面を示す。ユーザAがメンバ画面においてシェアプレイ項目420を決定操作すると、開始画面表示部126aが、シェアプレイの開始画面を表示する。この開始画面においては、シェアプレイを行う際の注意が表示される。ユーザAは、フォーカス枠430を動かして、「OK」ボタンを選択すると、ユーザAがホストユーザとなるシェアプレイの開始条件が整い、他のユーザの参加を待機する状態となる。この時点で、ゲーム画像の共有処理を行うためのシェアアプリケーションが起動されて、共有処理部140aの各機能が実現されるようになる。なお「シェアプレイとは?」が選択されると、シェアプレイの説明画面が表示される。
図12は、シェアプレイの説明画面を示す。この説明画面においては、同じチャットルームに参加している2人のユーザがホストまたはゲストとなってシェアプレイを行えること、またシェアプレイの形態として、上記した3つの形態が存在することが記載される。
図11に示すシェアプレイの開始画面においてユーザAが「OK」ボタンを選択すると、メンバ画面表示部124aが、メンバ画面を表示する。
図13は、メンバ画面を示す。通知部146aは、シェアプレイの開始条件が成立したことを示すために、メンバ画面に、開始メッセージ432を表示する。開始メッセージ432は、表示画面がメンバ画面に切り替わった後、たとえば数秒程度表示されて、その後、非表示とされてよい。
通知部128aは、“Battle Lover”のメンバ、すなわち同じチャットルームに参加している他のメンバに、ユーザAがシェアプレイを開始したことを示すメッセージを通知する。これにより他のメンバは、ユーザAがシェアプレイを開始したことを知ることができる。なお、ここでシェアプレイは、実際には、他のユーザの参加が許可されることで、はじめて開始されるのであり、したがってユーザAがシェアプレイを開始したことを示すメッセージは、ユーザAがシェアプレイを希望しており、また他のユーザからの参加を待機している状態にあることを意味する。
次に、図5を参照して、ユーザCの情報処理装置10cにおける処理について説明する。ここでユーザCは、“Battle Lover”に参加しているメンバであって、図13におけるユーザ“RICHARD”であるとする。図13のメンバ画面に示されるように、ユーザCは、ボイスチャットをしながら、1人で“SAMURAI Fighting”をプレイしている。
図5を参照して、情報処理装置10cにおいて、コンテンツ実行部170cが、ゲームタイトル“SAMURAI Fighting”を実行している。
図14は、ユーザCの出力装置4cに表示されるゲーム画面を示す。ユーザCは、チャットアプリケーションを起動しつつ、1人でゲームを楽しんでいる。したがってユーザCは、“SAMURAI Fighting”をプレイしながら、“Battle Lover”に参加している他のメンバと、ボイスチャットを行える状態にある。
ユーザCがゲームのプレイ中、情報処理装置10aからシェアプレイの開始メッセージが通知されると、情報処理装置10cにおいて情報取得部122cが、ユーザAの情報処理装置10aから通知されたメッセージを取得する。通知部128cは、出力装置4cに表示されているゲーム画面上に、取得したメッセージを表示する。
図15は、ゲーム画面上に重畳表示される開始メッセージ434を示す。通知部128cは、シェアプレイが開始されたことと、シェアプレイのホストユーザ名とを、開始メッセージ434として表示する。これによりユーザCは、ユーザAである“TARO”がシェアプレイを開始したことを知ることができる。なお情報処理装置10aから送信されたメッセージに、ユーザAがプレイ中のゲームタイトル名が含まれていれば、通知部128cは、開始メッセージ434において、ユーザAがプレイ中のゲームタイトル名も含めて表示してよい。通知部128cは、開始メッセージ434を所定時間、たとえば10秒程度表示する。なおユーザCがホーム画面など、システム画面生成部が生成する表示画面をみている場合には、通知部128cが、その表示画面に、開始メッセージ434を重畳表示する。
ここではユーザCが使用している出力装置4cの画面に開始メッセージ434が重畳表示されることを示しているが、ユーザCに限らず、“Battle Lover”のユーザA以外のメンバの出力装置4の画面にも、開始メッセージ434が重畳表示される。既述したように、開始メッセージ434が表示された時点では、ユーザA(TARO)はシェアプレイの開始を待機している状態にあり、開始メッセージ434は、シェアプレイに参加できることを通知するためのメッセージとして認識される。ここでシェアプレイへの参加は、メンバが、ユーザAの情報処理装置10aに対して参加要求を送信し、受け入れられることによって実現され、つまり、ある意味、早い者勝ちでシェアプレイに参加できるようになっている。
ユーザCが、入力装置6の所定のボタンを操作すると、情報取得部122cは、ルームメンバのユーザ情報、具体的にはメンバのユーザ名、ユーザアイコン、プレイ中のゲームタイトルおよびゲームアイコン、およびチャット状況などのユーザ情報を取得し、メンバ画面表示部124cが、情報取得部122cが取得したユーザ情報をもとに、チャットルームのメンバ画面を生成して、出力装置4cに表示する。
図16は、チャットルームのメンバ画面の一例を示す。メンバ画面の上段には、ルーム名400が表示される。メンバ画面表示部124cは、メンバ画面の左側に設定されるメンバ情報エリア404に、自分に関するユーザ情報とともに、情報取得部122cが取得した他のメンバに関するユーザ情報を、並べてリスト形式で表示する。メンバ情報エリア404において、最上段には、このルームを開設したルームオーナーのユーザ情報が表示され、オーナーであることを示すオーナーインジケータ401が付加されている。また最下段には、ユーザCである自分(すなわちRICHARD)の情報が表示される。
ユーザAのユーザ情報表示欄には、シェアプレイ可能であることを示すシェアプレイインジケータ436が表示される。ユーザCは、このシェアプレイインジケータ436を確認することで、ユーザAである“TARO”がシェアプレイ可能な状態にあることを認識する。
図17は、シェアプレイ項目420にフォーカス枠402を配置して決定操作をしたときに表示される選択項目を示す。この選択項目は、シェアプレイに参加することを選択するための参加GUI(Graphical User Interface)440である。ユーザCは、フォーカス枠402を参加GUI440に配置して、決定ボタンを操作することで、通知部128cは、情報処理装置10aに参加要求を送信して、ユーザAのシェアプレイへの参加を申し込む。
図18は、ユーザAの情報表示欄404aにフォーカス枠402を配置して決定操作したときに表示される選択項目を示す。この選択項目は、シェアプレイに参加することを選択するための参加GUI442と、“TARO”のプロフィールの閲覧を選択するためのプロフィールGUI444を含む。ユーザCは、フォーカス枠402を参加GUI442に配置して、決定ボタンを操作することで、通知部128cは、情報処理装置10aに参加要求を送信して、ユーザAのシェアプレイへの参加を申し込む。
ここで図1に示すように、ユーザAはX国の管理サーバ5aにより管理され、ユーザCはY国の管理サーバ5bにより管理されている。つまりユーザCは、ユーザAとは異なる管理基準によって、その行動をコントロールされる。ユーザCが、ユーザAのシェアプレイに参加できるか否かは、管理サーバ5bにおける事情により決定される。
ユーザCの情報処理装置10cは、管理サーバ5bからの情報をもとに、ユーザCがシェアプレイに参加できるか否かを判定する。なお、情報処理装置10cにおいてペアレンタル機能がオンになっている場合、情報処理装置10cには、ユーザCがプレイ可能なゲームのペアレンタルコントロールレベル値(以下、「PCT値」とよぶ)が設定されている。ゲームタイトルにも、PCL値が設定されており、ユーザCに対して設定されたPCL値が、ゲームタイトルのPCL値よりも低ければ、ユーザCは、当該ゲームをプレイできないようになっている。
図19は、ユーザCがユーザAのシェアプレイに参加できるか否かを判定するためのフローチャートである。情報処理装置10aにおいて、通知部128aが、チャットルームの全てのメンバに、シェアプレイを開始することを通知する(S10)。なお、ここでシェアプレイの開始とは、シェアプレイの参加を受け付ける意味であり、要するに通知部128aは、シェアプレイの開始条件が整っていることを他のメンバに通知する。これにより情報処理装置10aは、他のメンバからの参加要求を待機する。
ユーザCの情報処理装置10cにおいて、情報取得部122cが、開始メッセージを取得する。開始メッセージは、出力装置4cの画面に重畳表示され(図15参照)、ユーザCは、たとえばメンバ画面から、シェアプレイに参加することを示す参加GUIを選択することで、通知部128cが、参加要求を情報処理装置10aに送信する(S12)。情報処理装置10aは、チャットメンバの中から最初に送信された参加要求を受け付け、プレイ中のコンテンツを特定する情報(ゲームのタイトルID)を情報処理装置10cに返信する(S14)。
情報処理装置10cにおいて、問い合わせ部130が、管理サーバ5bにタイトルIDを送信し、コンテンツについての確認作業を依頼する(S16)。ここで確認を依頼する内容は、まずは管理サーバ5bが、タイトルIDで特定されるゲームタイトルを、ダウンロード可能な状態にしているか否かであって、つまり管理サーバ5bがゲームタイトルを販売等によりユーザに提供しているか否かである。管理サーバ5bが、タイトルIDで特定されるゲームタイトルを販売していない場合には、販売していない旨を、情報処理装置10cに返信する(S20)。一方、管理サーバ5bがこのゲームタイトルを販売している場合には、そのゲームタイトルに設定されているPCL値、および購入可能な年齢を示す年齢情報を、情報処理装置10cに返信する(S20)。
情報処理装置10cにおいて、判定部132は、ゲームタイトルIDを利用して、情報処理装置10aからゲーム画像の提供を受けてよいか否かを決定する。具体的に判定部132は、ゲームタイトルIDを利用した管理サーバ5bからの確認結果を受けて、ユーザCがシェアプレイに参加できるか否かを判定する(S22)。
図20は、S22の判定処理のフローチャートである。まず判定部132は、確認結果によりゲームタイトルが販売されていないことが確認されると(S40のN)、ユーザCがシェアプレイに参加できないことを判定する(S48)。たとえばユーザAが住んでいるX国においては、ゲームタイトル(この場合は、ユーザAがプレイ中の“WARSHIP2”)が販売されており、ユーザAは、“WARSHIP2”を購入してプレイできるものの、ユーザCが住んでいるY国では、この“WARSHIP2”が販売されていないこともある。このような場合に、ユーザCが、シェアプレイに参加して、このゲームをプレイできるとすると、Y国に住んでいる他のユーザとの公平さを欠き、好ましくない。そこで、判定部132は、ゲームタイトルが販売されておらず、管理サーバ5bから取得不能である場合には、ユーザCがシェアプレイに参加できないことを判定する。
一方、ゲームタイトルが販売されている場合(S40のY)、判定部132は、情報処理装置10cに設定されているPCL(ペアレンタルコントロールレベル)値と、ゲームタイトルに設定されているPCL値とを比較する(S42)。このとき、情報処理装置10cに設定されているPCL値の方が、ゲームタイトルのPCL値よりも低ければ(S42のN)、判定部132は、ペアレンタルコントロール機能により、ユーザCがシェアプレイに参加することは相応しくないことを判定して、ユーザCがシェアプレイに参加できないことを判定する(S48)。
一方、情報処理装置10cに設定されているPCL値がゲームタイトルのPCL値以上であれば(S42のY)、判定部132は、ユーザCの年齢が、ゲームタイトルの購入可能な年齢以上であるか比較し(S44)、ユーザCの年齢が購入可能年齢に達していなければ(S44のN)、判定部132は、ユーザCがシェアプレイに参加できないことを判定する(S48)。なお、ユーザCの年齢は、情報処理装置10cにおいて、ユーザCの登録情報として記録されている。一方、ユーザCの年齢が購入可能年齢に達していれば(S44のY)、判定部132は、ユーザCがシェアプレイに参加可能であることを判定する(S46)。
図19に戻って、判定部132が、ユーザCの参加の可否を判定した後(S22)、通知部128cは、その判定結果を情報処理装置10aに送信する(S24)。なお、情報処理装置10cにおいて、判定結果が参加不可を示す場合(S26のN)、通知部128cは、出力装置4cに、ユーザCがユーザAのシェアプレイに参加できないことの通知を表示する(S28)。なお、このとき通知部128cは、どの理由で参加できないかを示してもよい。一方、判定結果が参加可能を示す場合(S26のY)、この時点で、情報処理装置10cにおいてゲーム画像の共有処理を行うためのシェアアプリケーションが起動されて、ゲーム画像の共有処理を行う共有処理部140cの各機能が実現される。
情報処理装置10aにおいて、情報取得部122aが情報処理装置10cから通知された判定結果を取得し、判定結果が参加不可を示す場合には(S30のN)、情報処理装置10aは、待機状態に戻り、別のユーザからの参加要求を受け付ける態勢を整える。一方、判定結果が参加可能を示す場合、すなわち情報処理装置10cがゲーム画像の提供を受けられることを示す場合には(S30のY)、情報処理装置10aと情報処理装置10cとの間でシェアプレイが開始され(S34)、情報処理装置10aから情報処理装置10cに、ゲーム画像が配信される。
以上のように、情報処理装置10aと情報処理装置10cとが別の国(地域)に配置されており、それぞれ異なる管理サーバ5a、5cからコンテンツを取得可能である場合には、少なくともゲストユーザ国でのゲームタイトルの販売状況を加味して、シェアプレイへの参加の可否が決定されることが好ましい。
以上のようにして、ユーザAとユーザCとがシェアプレイを開始する。なお上記した例では、ユーザAとユーザCとが、それぞれ別の地域の管理サーバ5により管理されている例を示したが、同一の管理サーバ5により管理されている場合には、ゲームタイトルの販売状況は同じであるため、図20におけるS40は省略されて、ユーザCの参加可否が判定されてもよい。
またシェアプレイの実行可否は、単純にユーザが住んでいる国により判定されてもよい。たとえばZ国が、ユーザの管理基準(視聴年齢制限など)を非常に厳しく設定している場合、Z国のユーザは、ホストになることはできるが、別の国のユーザがホストとなるシェアプレイには参加できなくされてもよい。
図21は、ユーザCが参加可能であることが判定された後、シェアプレイが開始されるまでの間に出力装置4cに表示される画面例を示す。情報処理装置10cにおいて、ユーザCが参加可能であることが判定部132により判定されると、シェアアプリケーションが起動され、共有処理部140cの各機能が実現される。このとき共有処理部140cは、情報処理装置10aからのゲーム画像データの配信を待機する状態となり、メッセージ画面表示部148は、「しばらくお待ち下さい」とのメッセージを出力装置4cに表示する。
一方、情報処理装置10aにおいて、コンテンツ実行部170aは、ユーザAから入力装置6に入力された操作情報をもとにゲームプログラムを処理して、ゲームの画像データを生成している。ここでコンテンツ実行部170aは、コンテンツ(ゲームプログラム)そのものであってよい。
図19のS30において、情報取得部142aが、情報処理装置10cから、ユーザCが参加可能であることを示す情報を取得すると、形態設定部144が、実行するシェアプレイの形態を、シェアプレイ1(シェアスクリーン)に設定する。既述したように、シェアプレイ1は、ゲーム画像データの配信のみを行いつつ、ユーザCからの操作を受け付けない形態であり、形態設定部144によりデフォルト選択される。形態設定部144は、選択した形態を操作権管理部156に伝える。操作権管理部156は、コンテンツ、すなわちゲームの操作権を管理し、共有形態がシェアプレイ1であることを通知されると、ユーザCからの操作データを無視するように動作する。
図22は、出力装置4aに表示されるゲーム画面の一例を示す。情報取得部142aが、情報処理装置10cから、ユーザCが参加可能であることを示す情報を取得すると、通知部146aが、シェアプレイにゲストユーザが参加したことを示す参加通知メッセージ435を、ゲーム画面に重畳して表示する。これによりユーザAは、“RICHARD”がシェアプレイに参加したことを知ることができる。
形態設定部144がゲーム画像の共有形態をシェアプレイ1(シェアスクリーン)に設定すると、配信処理部180が、設定された共有形態を特定する情報(形態情報)とともに、ゲーム画像データを情報処理装置10cに送信する。ゲーム画像データの送信は、出力装置4aへの出力と同期して行われて、ユーザAとユーザCとが、同じゲーム画面を視聴できることが好ましい。情報処理装置10cにおいて、情報取得部142cが、形態情報を取得し、画像データ取得部150が画像データを取得する。再生処理部152は、取得した画像データを用いて、ゲーム画像を出力装置4cから再生する。これによりユーザCは、ユーザAと同じゲーム画面を視聴できる。
図23は、ユーザCに対して表示されるゲーム画面を示す。再生処理部152は、画像データを再生処理して、出力装置4cに出力する。このとき通知部146cが、形態情報をもとに、シェアプレイの形態を示す状態インジケータ450をゲーム画面に重ねて表示する。状態インジケータ450は、共有処理の形態を示す情報であり、再生されたゲーム画面に関連付けて、ユーザCに通知される。ここで状態インジケータ450は、共有処理の形態がシェアプレイ1であることを示している。ここで状態インジケータ450は「ホストのプレイを視聴中」とするテキストメッセージであるが、ユーザ名を含んだメッセージであってもよく、たとえば「TAROさんのプレイを視聴中」、「ホストのTAROさんのプレイを視聴中」とするメッセージであってもよい。
通知部146cは、状態インジケータ450を、ゲーム画面の邪魔にならない位置、たとえば隅近傍に配置し、また重ねられたゲーム画面も見ることができるように、半透明に表示することが好ましい。ユーザCは、状態インジケータ450を見ることで、いまシェアプレイ中であって、且つ、どの形態のシェアプレイであるかを認識できる。状態インジケータ450は、シェアプレイ中、常時表示されてよい。
本実施例において、シェアプレイ中は、情報処理装置10aのゲーム画像データが、情報処理装置10cに配信されるが、原則としてゲーム画面以外の画像データは配信されない。シェアプレイ中も、ユーザAは、ゲーム画面と、ゲーム画面以外の画面とを切り替えて出力装置4aに表示させることができるが、ゲーム画面以外の画面の表示中は、情報処理装置10aは、情報処理装置10cに対して、画面データを配信できないことを通知する。以下、情報処理装置10aにおいて、ゲーム画面を切り替えて、メンバ画面を表示する場合について説明する。
メンバ画面表示部124aがメンバ画面を表示すると、状態取得部160は、ゲーム画面がメンバ画面に切り替えられたことを検出し、通知部146aは、ゲーム画面以外の画面が表示されていることを情報処理装置10cに通知する。なお配信処理部180は、画像データの配信処理を停止する。情報処理装置10cにおいて情報取得部142cが、情報処理装置10aにおいてゲーム画面以外の画面が表示されていることを示す情報を取得すると、メッセージ画面表示部148が、その旨を示すメッセージ画面を出力装置4cに表示する。
図24は、シェアプレイ中にゲーム画面が視聴できなくなったことを通知するメッセージ画面を示す。ユーザCは、このメッセージ画面をみて、たとえばチャットルームのメンバ画面に切り替えてもよく、また、このまま待機してもよい。
以下に、ユーザAに対して表示されるメンバ画面について説明する。
図25は、チャットルームのメンバ画面の一例を示す。図25に示すメンバ画面は、ユーザAに対するものであり、情報取得部122aが、ルームメンバのユーザ情報、具体的にはメンバのユーザ名、ユーザアイコン、プレイ中のゲームタイトルおよびゲームアイコン、およびチャット状況などの情報を取得し、メンバ画面表示部124aが、情報取得部122aが取得したユーザ情報をもとに、チャットルームのメンバ画面を生成して、出力装置4aに表示する。
既述したようにメンバ画面表示部124aは、メンバ情報エリア404に、自分に関するユーザ情報とともに、情報取得部122aが取得した他のメンバに関するユーザ情報を並べてリスト形式で表示する。この例では、複数のユーザ情報が、上下方向に並べて表示されている。なおメンバ画面表示部124aは、ユーザ情報として、各ユーザがプレイ中のコンテンツを特定する情報(ゲームタイトル)を含めて表示する。
情報取得部122aは、シェアプレイに関して共有処理部140aに問い合わせを行い、共有処理部140aから、ユーザAがホストユーザであり、ユーザCがゲストユーザであるシェアプレイが実行中であることを示す情報を取得する。これを受けてメンバ画面表示部124aは、どのユーザがホストユーザであるか、またはゲストユーザであるかが特定できるように、ユーザ情報を表示する。ここでメンバ画面表示部124aは、メンバ情報エリア404において、ホストユーザの情報表示欄404aとゲストユーザの情報表示欄404cとを連続して並べて配置する。
図25に示すように、メンバ画面表示部124aは、ユーザAの情報表示欄404aがユーザCの情報表示欄404cの直上にくるように、これらのユーザ情報を並べて表示する。なおメンバ画面表示部124aは、ホストユーザの情報表示欄404aを、メンバ情報エリア404における最上位に配置してもよい。なおホストユーザとゲストユーザのユーザ情報は、同一のチャットルームに参加しているどのユーザのメンバ画面においても、最上位と、最上位から2番目にくるように配置される。シェアプレイに参加していないユーザのメンバ画面において、自分以外の他のユーザがホストユーザであるか、またはゲストユーザであるかが特定できるように、他のユーザ情報が表示されることが好ましく、したがって、ホストユーザのユーザ情報が最上位に、ゲストユーザのユーザ情報が最上位から2番目に配置されることで、メンバは、どの2人のユーザがシェアプレイを行っているか容易に確認できるようになる。
ホストユーザの情報表示欄404aに関連付けて、ホストユーザであることを示すシェアプレイマーク405が付加される。また“TARO”と“RICHARD”がシェアプレイを実施していることを明確にするために、情報表示欄404aと情報表示欄404cを関連付けて示すリンク407も付加されてよい。これらにより、チャットルームのメンバは、シェアプレイを行っている2人のユーザを容易に確認できる。なお図9に関連して、ユーザAのメンバ画面においては、自分(ユーザA)のユーザ情報が最下位に表示されることを説明したが、自分がシェアプレイを実施している際には、その制約は解除されて、上位に表示されることになる。
なおゲストユーザである“RICHARD”の情報処理装置10cでは、コンテンツ実行部170cが、“SAMURAI Fighting”を実行している。しかしながらメンバ画面表示部124aは、ゲストユーザの情報処理装置10cで実行されているゲームタイトルは非表示とする。これは、情報処理装置10cで“SAMURAI Fighting”が実行中であったとしても、ユーザCは、ユーザAと“WARSHIP2”をシェアプレイしており、実際にユーザCの出力装置4cにはシェアプレイのゲーム画面が表示されているため、メンバ画面表示部124aは、ゲストユーザのコンテンツ情報を非表示としている。
シェアプレイ項目420には、シェアプレイ中であることを示すチェックマーク413が表示されるとともに、シェアプレイの実施時間を示す時間情報415が表示される。本実施例において、シェアプレイの連続実施時間の上限は、所定時間(たとえば60分)に設定される。そのためユーザAとユーザCのシェアプレイは、連続実施時間が60分になると、自動的に終了する。“Battle Lover”にいる他のメンバは、時間情報415が60分近くを示せば、ユーザA(TARO)とユーザC(RICHARD)とのシェアプレイが終了しそうであることを認識し、終了後にTAROとシェアプレイしたいユーザは、シェアプレイの終了を待つようにしてもよい。
ユーザAがシェアプレイ項目420にフォーカス枠402を配置して、決定ボタンを操作すると、シェアプレイに関する選択肢が表示される。
図26は、シェアプレイ項目420にフォーカス枠402を配置して決定操作したときに表示される選択項目を示す。この選択項目は、シェアプレイにおいてゲームの操作権をゲストに渡すことを選択するための操作権提供GUI446と、シェアプレイの終了を選択するための終了GUI448を含む。ユーザAが、フォーカス枠402を操作権提供GUI446に配置して、決定ボタンを操作すると、ダイアログ画面表示部162が、ユーザAがシェアプレイの形態を選択するためのダイアログ画面を出力装置4aに表示する。
図27は、ダイアログ画面の一例を示す。ダイアログ画面においては、ラジオボタンが表示される。ボタン449aが選択されて、OKボタンが操作されると、形態設定部144は、シェアプレイ2、つまりアシストプレイを、ゲーム画像共有の形態として設定する。一方で、ボタン449bが選択されて、OKボタンが操作されると、形態設定部144は、シェアプレイ3、つまり共同プレイを、ゲーム画像共有の形態として設定する。形態設定部144は、設定した形態を操作権管理部156に伝える。またダイアログ画面においてOKボタンが操作されると、出力装置4aの表示画面が、ゲーム画面に切り替えられる。状態取得部160は、ダイアログ画面がゲーム画面に切り替えられたことを検出し、配信処理部180は、ゲーム画像データの配信処理を再開する。このとき配信処理部180は、形態設定部144により設定された共有形態を特定する情報(形態情報)とともに、ゲーム画像データを情報処理装置10cに配信する。
形態設定部144が、シェアプレイ2を共有形態として設定した場合、情報処理装置10cにおいて、情報取得部142cが、形態情報を取得し、画像データ取得部150が画像データを取得する。再生処理部152は、画像データを再生処理して出力装置4cに出力する。
図28は、ユーザCに対して表示されるゲーム画面を示す。再生処理部152は、画像データを再生処理して、出力装置4cに出力する。このとき通知部146cが、操作権提供メッセージ454を表示して、ユーザCに、ゲームの操作権が渡されたことを通知する。なお通知部146cは、ユーザCが入力装置6のいずれかのボタンを操作すると、操作権提供メッセージ454を消して、代わりにシェアプレイの形態を示す状態インジケータ452をゲーム画面に重ねて表示する。ここで状態インジケータ452は、「ホストに代わってプレイ中」と表示し、図23に示した状態インジケータ450と同様に、ゲーム画面上に半透明で表示されることが好ましい。なお状態インジケータ452はユーザ名を含んだメッセージであってもよく、たとえば「TAROさんに代わってプレイ中」、「ホストのTAROさんに代わってプレイ中」とするメッセージであってもよい。
なお通知部146cは、操作権提供メッセージ454と状態インジケータ452を同時に表示して、所定時間経過後に、操作権提供メッセージ454のみを非表示としてもよい。また上記したように、操作権提供メッセージ454と状態インジケータ452とを選択的に表示してもよく、また双方を常に表示するようにしてもよい。
次に形態設定部144が、シェアプレイ3を共有形態として設定した場合について説明する。情報処理装置10cにおいて、情報取得部142cが、形態情報を取得し、画像データ取得部150が画像データを取得する。再生処理部152は、画像データを再生処理して出力装置4cに出力する。
図29は、ユーザCに対して表示されるゲーム画面を示す。再生処理部152は、画像データを再生処理して、出力装置4cに出力する。このとき通知部146cが、操作権提供メッセージ458を表示して、ユーザCに、ゲームの操作権が渡されたことを通知する。なお通知部146cは、ユーザCが入力装置6のいずれかのボタンを操作すると、操作権提供メッセージ458を消して、代わりにシェアプレイの形態を示す状態インジケータ456をゲーム画面に重ねて表示する。ここで状態インジケータ456は、「ホストと一緒にプレイ中」と表示し、図23に示した状態インジケータ450と同様に、ゲーム画面上に半透明で表示されることが好ましい。なお状態インジケータ456はユーザ名を含んだメッセージであってもよく、たとえば「TAROさんと一緒にプレイ中」、「ホストのTAROさんと一緒にプレイ中」とするメッセージであってもよい。
通知部146cは、操作権提供メッセージ458と状態インジケータ456を同時に表示して、所定時間経過後に、操作権提供メッセージ458のみを非表示としてもよい。また上記したように、操作権提供メッセージ458と状態インジケータ456とを選択的に表示してもよく、また双方を常に表示するようにしてもよい。
なおシェアプレイ3では、ユーザAとユーザCの双方がゲームの操作権を有することとなり、したがってゲームに対しては、新たなユーザが追加されたことが通知される。なおユーザがプレイヤキャラクタを操作するゲームの場合、ユーザCは、操作権提供メッセージ458を受けた段階では、まだ、自分のプレイヤキャラクタをゲーム中で生成していない。そのためユーザCは、ゲームからの要請に応じてあらためて自分のプレイヤキャラクタを選択して、このゲームに参加することになる。
シェアプレイ2,3において、ユーザCは、入力装置6を操作して、ゲームをプレイすることができる。ユーザCによる入力装置6の操作情報は、受付部104cによって受け付けられ、操作データ送信部154から情報処理装置10aに送信される。情報処理装置10aにおいて、情報取得部142aは、ユーザCの操作情報を受け付ける。
操作権管理部156は、シェアプレイの形態に応じて、ゲームの操作権を管理している。シェアプレイ2の実行中、操作権管理部156は、ユーザAによる操作情報を無視して、ユーザCによる操作情報のみを有効とする。したがって操作権管理部156は、シェアプレイ2の実行中、受付部104aで受け付けたユーザAの操作情報は破棄し、情報取得部142aで取得したユーザCの操作情報を有効とし、操作データ提供部158からコンテンツ実行部170aに、ユーザCの操作情報を提供させる。これにより、シェアプレイ2の実行中は、ゲームが、ユーザCの操作情報によってのみ操作されることになる。
一方で、シェアプレイ3の実行中、操作権管理部156は、ユーザAによる操作情報を有効とし、またユーザCによる操作情報も有効とする。このとき操作権管理部156は、ユーザAによる操作情報を、プレイヤ1の操作情報として扱い、またユーザCによる操作情報を、プレイヤ2の操作情報として扱う。したがって操作権管理部156は、シェアプレイ3の実行中、受付部104aで受け付けたユーザAの操作情報と、情報取得部142aで取得したユーザCの操作情報とを、操作データ提供部158からコンテンツ実行部170aに提供させる。これにより、シェアプレイ3の実行中は、ゲームが、ユーザAとユーザCの操作情報によって操作されることになる。
なお、ユーザAがシェアプレイ3を選択した場合に、ユーザCは、制約なくシェアプレイ3に参加できてもよいが、一定の条件を満たした場合にシェアプレイ3に参加できるようにしてもよい。たとえば管理サーバ5が、ユーザに対して、コンテンツを割引価格で購入したり、また一定期間自由にコンテンツを楽しむことのできる有料サービスを提供している場合に、ユーザCが、この有料サービスに加入していることを条件として、ユーザCがシェアプレイ3に参加できるようにしてもよい。そのためユーザCが有料サービスに加入していなければ、メッセージ画面表示部148は、ユーザCに対して、有料サービスに加入するためのGUIを表示し、ユーザCが有料サービスに加入した後、シェアプレイ3が実行されるようにしてもよい。
一方、ユーザAがシェアプレイ2を選択した場合には、ユーザCは、有料サービスへの加入を条件とされることなく、シェアプレイ2に参加できてよい。シェアプレイ2では、ユーザCは、あくまでもユーザAの代わりに難しいシーンなどをプレイするのであって、ユーザCは、ヘルパとして参加する意味合いが強い。そのため、シェアプレイを行うためにユーザAに有料サービスの加入が条件付けされてもよいが、ユーザCに対しては、シェアプレイ1,2を行う限りにおいては有料サービスの加入を条件とされないことが好ましい。なおユーザCがシェアプレイ3を行う場合には、上記したように、有料サービスの加入が条件とされてよい。
なおゲームにおいては、ネタバレ防止の側面から、シェアプレイの制限区間が設定されてよい。この制限区間は、段階的に設けられてよく、ゲーム画面の共有そのものを禁止する区間と、ゲーム画面の共有は許容しつつ、コントローラ操作を禁止する区間とが設定されてよい。この制限区間は、ゲーム開発者によりゲームシーンごとに設定されてよく、状態取得部160は、ゲームから、ゲームが共有制限区間にあること、およびそのタイプを通知されると、その情報を操作権管理部156および配信処理部180に通知する。
以下、ゲーム画面の共有は許容しつつ、コントローラ操作が禁止される区間を、第1タイプの区間、ゲーム画面の共有そのものが禁止される区間を第2タイプの区間と表現する。状態取得部160は、第1タイプの区間であることを示す情報をゲームから取得すると、操作権管理部156に、第1タイプの区間中であることを通知する。このとき操作権管理部156は、シェアプレイの形態をシェアプレイ1に強制変更して、ゲームの操作権を管理する。なお操作権管理部156は、状態取得部160から、制限区間が終了したことを通知されると、もとのシェアプレイの形態に戻して、ゲームの操作権を管理する。通知部146aは、第1タイプの区間であることを示す情報を情報処理装置10cに通知する。
図30は、ユーザCに対して表示されるゲーム画面を示す。情報取得部142cが、ゲームが第1タイプの区間にあることを示す情報を取得すると、通知部146cが、ゲーム画面に関連付けて状態インジケータ460を表示して、現在、コンテンツが共有制限区間にあり、ユーザCによる操作が禁止されていることを通知する。情報取得部142cが、情報処理装置10aから、制限区間が終了したことを示す情報を受け取ると、通知部146cは、状態インジケータ460を消す。なお、このときには、情報処理装置10aにおいて操作権管理部156が、ユーザCからの操作情報を受け付け可能な状態となっており、ユーザCは、ゲームを操作できるようになる。通知部146cは、状態インジケータ460の代わりに、シェアプレイの形態を示す状態インジケータを表示するようにしてもよい。
一方、情報処理装置10aにおいて状態取得部160が、第2タイプの区間であることを示す情報をゲームから取得すると、操作権管理部156に、第2タイプの区間中であることを通知するとともに、配信処理部180にゲーム画像データの配信停止を指示する。これにより操作権管理部156は、ユーザCからの操作情報を無視し、また配信処理部180は、ゲーム画像データの配信を停止する。また通知部146aは、第2タイプの区間であることを示す情報を情報処理装置10cに通知する。
図31は、ユーザCに対して表示される通知画面を示す。情報取得部142cが、ゲームが第2タイプの区間にあることを示す情報を取得すると、再生処理部152は、ゲーム画像を再生せず(ゲーム画像の配信が停止しているため)、通知部146cは、ゲームが共有制限区間にあることを示す情報を、通知画面に表示する。なお情報取得部142cが情報処理装置10aから、制限区間が終了したことを示す情報を受け取ると、通知部146cによる通知画面は、再生処理部152により再生されるゲーム画面に切り替えられる。これは、制限区間が終了すると、情報処理装置10aにおいて配信処理部180によるゲーム画像データの配信が再開されるためであり、また、このとき操作権管理部156が、ユーザCからの操作情報を受け付け可能な状態となっているため、ユーザCは、ゲームを操作できるようになる。
以上のように、ユーザCは、ユーザAのシェアプレイに参加することで、ゲーム画面を共有でき、またシェアプレイ2,3を行う場合には、ゲームの操作権を渡されて、ゲームを操作できるようになる。シェアプレイを終了する際には、ユーザA、Cのいずれかが、チャットルームのメンバ画面において終了GUI448を選択するか(図26参照)、またはチャットアプリケーションを終了すればよい。シェアプレイは、2人のユーザが同じチャットルームに参加していることを前提として実行されるため、いずれかのユーザがチャットアプリケーションを終了すれば、同時にシェアプレイも終了となる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。たとえば実施例では、コンテンツの一例としてゲームソフトウェアを示したが、コンテンツは、ユーザ操作によって編集可能な静止画像や動画像であってもよく、また早送りや一時停止などのユーザ操作を可能とする映画などであってもよい。
形態設定部144がシェアプレイの形態を設定すると、図25などに示すメンバ画面に、形態設定部144が設定した形態を特定する情報が表示されるようにしてもよい。形態設定部144は、設定した形態を特定する情報をチャット実行部120aに提供し、情報取得部122aが、形態特定情報を取得すると、メンバ画面表示部124aが、シェアプレイの形態を示す情報をメンバ画面に表示する。ゲストユーザの情報表示欄404cにおいて、ユーザ名の下段のタイトル名を入力する欄はブランクとなっているため、メンバ画面表示部124aは、この空白欄に、シェアプレイの形態を示す情報を表示してもよい。
また実施例においてシェアプレイは、2人のユーザの間だけで行われることを説明したが、シェアスクリーンの形態であれば、3人以上のユーザの間で画像データの共有が行われてもよい。また本実施例においてシェアプレイは、両者がチャット接続していることを前提としているが、これはシェアプレイへの入口として両者がチャット接続をしていることを例として説明したに過ぎず、シェアプレイを行う両者は、その前提としてチャット接続をしていなくてもよい。