図1は、本発明の実施例にかかる情報処理システム1を示す。情報処理システム1は、ユーザ端末である情報処理装置10と、ネットワークサーバ5と、共有サーバ9a、9bとを備え、これらはインターネットやLAN(Local Area Network)などのネットワーク3を介して接続している。
補助記憶装置2はHDD(ハードディスクドライブ)やフラッシュメモリなどの大容量記憶装置であり、USB(Universal Serial Bus)などによって情報処理装置10と接続する外部記憶装置であってよく、内蔵型記憶装置であってもよい。出力装置4は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。出力装置4は、情報処理装置10に有線ケーブルで接続されてよく、無線接続されてもよい。情報処理装置10は、ユーザが操作する入力装置6と無線で接続し、入力装置6はユーザの操作結果を示す操作情報を情報処理装置10に出力する。情報処理装置10は入力装置6からの操作情報を受け付けるとシステムソフトウェアやアプリケーションソフトウェアの処理に反映し、出力装置4から処理結果を出力させる。
入力装置6は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。情報処理システム1において情報処理装置10はゲームを実行するゲーム装置であり、入力装置6はゲームコントローラなど情報処理装置10に対してユーザの操作情報を供給する機器であってよい。撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4周辺の空間を撮像する。図1ではカメラ7が出力装置4の上部に取り付けられている例を示しているが、出力装置4の側方に配置されてもよく、いずれにしても出力装置4の前方でゲームをプレイするユーザを撮像できる位置に配置される。情報処理装置10は、カメラ7の撮像画像からユーザを顔認証する機能をもつ。
アクセスポイント(以下、「AP」とよぶ)8は、無線アクセスポイントおよびルータの機能を有し、情報処理装置10は、無線または有線経由でAP8に接続して、ネットワーク3上のネットワークサーバ5、共有サーバ9a、9bと通信可能に接続する。
ネットワークサーバ5は、情報処理システム1のユーザに対してゲームのネットワークサービスを提供する。ネットワークサーバ5はユーザを識別するネットワークアカウントを管理しており、ユーザは、ネットワークアカウントを用いて、ネットワークサーバ5が提供するネットワークサービスにサインインする。ユーザは情報処理装置10からネットワークサービスにサインインすることで、ネットワークサーバ5に、ゲームのセーブデータや、またゲームプレイ中に獲得した仮想的な表彰品(トロフィ)を登録できる。また情報処理システム1では、異なる情報処理装置10を利用して、複数のユーザがオンラインゲームに参加することができてもよく、ネットワークサーバ5は、ゲームのセッションを管理するゲームサーバとして機能してもよい。
図1においてネットワークサーバ5はこれらの機能を集約したサーバとして表現している。したがってネットワークサーバ5は物理的に複数台のサーバにより構成されていてもよく、各サーバは、それぞれの機能に応じた主体により保守、管理されてもよい。
共有サーバ9a、9bは、情報処理装置10からアップロードまたは配信される画像データまたは画像データに関する情報を共有するためのサービスを提供する。たとえば共有サーバ9aはSNSを提供するサーバであってよく、共有サーバ9bは画像共有(配信)サービスを提供するサーバであってよい。以下、共有サーバ9a、9bを特に区別しない場合には、単に「共有サーバ9」とよぶ。情報処理システム1において共有サーバ9の数は図示される2つに限定されるものではなく、それ以上存在してよい。共有サーバ9により提供される情報共有サービスは、対象とするユーザを登録会員に限定してもよく、また一般に開放してもよい。本実施例において「データや情報を共有する」とは、データや情報を共有サーバ9にアップロードまたは配信するユーザ以外の他のユーザが、そのデータや情報にアクセス(たとえば閲覧)できる状態にすることを意味し、アクセスできるユーザが特定の会員に限定されるか否かを問題とするものではない。
図1において情報処理装置10がゲームを実行し、ユーザは入力装置6を操作してゲームをプレイしている。ゲームをプレイするためにユーザは情報処理装置10のOS(システムソフトウェア)にログインし、またゲームのセーブデータや、ゲーム内のミッションを達成したことで付与されるトロフィをネットワークサーバ5に保存するために、ネットワークサーバ5が提供するネットワークサービスにサインインする。システムソフトウェアにログインするユーザは、情報処理装置10において登録されているユーザアカウントによって管理される。
図2は、入力装置6の外観構成を示す。ユーザは左手で左側把持部78bを把持し、右手で右側把持部78aを把持して、入力装置6を操作する。入力装置6の筐体上面79には、入力部である方向キー71、アナログスティック77a、77bと、4種の操作ボタン76が設けられている。4種のボタン72~75には、それぞれを区別するために、異なる色で異なる図形が記されている。すなわち、○ボタン72には赤色の丸、×ボタン73には青色のバツ、□ボタン74には紫色の四角形、△ボタン75には緑色の三角形が記されている。筐体上面79上において、方向キー71と操作ボタン76の間の平坦な領域にはタッチパッドが設けられてもよい。
2つのアナログスティック77a、77bの間には機能ボタン80が設けられる。機能ボタン80は、入力装置6の電源をオンし、同時に入力装置6と情報処理装置10とを接続する通信機能をアクティブにするために使用される。なお情報処理装置10のメイン電源がオフとなっている場合、機能ボタン80が押下されると、情報処理装置10は、入力装置6から送信される接続要求を、メイン電源をオンにするための指示としても受け付け、これにより情報処理装置10のメイン電源がオンとなる。入力装置6が情報処理装置10と接続した後は、機能ボタン80は、情報処理装置10にメニュー画面を表示させるためにも使用される。
SHAREボタン81は、左側アナログスティック77bの左横に設けられる。SHAREボタン81は、情報処理装置10におけるシステムソフトウェアに対するユーザからの指示を入力するために利用される。OPTIONボタン82は、右側アナログスティック77aの右横に設けられる。OPTIONボタン82は、情報処理装置10において実行されるアプリケーション(ゲーム)ソフトウェアに対するユーザからの指示を入力するために利用される。SHAREボタン81およびOPTIONボタン82は、いずれもプッシュ式ボタンとして形成されてよい。
図3は、入力装置6の背面側の外観構成を示す。入力装置6の筐体背面86には、横長の略矩形状の発光部85が設けられる。発光部85は、赤(R)、緑(G)、青(B)のLEDを有し、情報処理装置10から送信される発光色情報にしたがって点灯する。筐体背面86において、上側ボタン83a、下側ボタン84aと、上側ボタン83b、下側ボタン84bとが長手方向の左右対称な位置に設けられる。上側ボタン83a、下側ボタン84aは、それぞれユーザ右手の人差し指、中指により操作され、上側ボタン83b、下側ボタン84bは、それぞれユーザ左手の人差し指、中指により操作される。図示されるように発光部85が、右側の上側ボタン83a、下側ボタン84aの並びと、左側の上側ボタン83b、下側ボタン84bの並びの間に設けられることで、各ボタンを操作する人差し指または中指によって隠れることはなく、カメラ7は、点灯した発光部85を好適に撮像することができる。上側ボタン83はプッシュ式ボタンとして構成され、下側ボタン84は回動支持されたトリガー式のボタンとして構成されてよい。
図4は、入力装置6の内部構成を示す。入力装置6は、無線通信モジュール90、処理部91、発光部85および振動子98を備える。無線通信モジュール90は、情報処理装置10の無線通信モジュールとの間でデータを送受信する機能をもつ。処理部91は、入力装置6における所期の処理を実行する。
処理部91は、メイン制御部92、入力受付部93、発光制御部94、3軸加速度センサ95、3軸ジャイロセンサ96および駆動制御部97を有する。メイン制御部92は、無線通信モジュール90との間で必要なデータの送受を行う。
入力受付部93は、方向キー71、操作ボタン76、アナログスティック77、機能ボタン80、SHAREボタン81、OPTIONボタン82、上側ボタン83および下側ボタン84などの入力部の操作情報を受け付け、メイン制御部92に送る。メイン制御部92は、受け取った操作情報を無線通信モジュール90に供給し、無線通信モジュール90は、所定のタイミングで情報処理装置10に送信する。なおメイン制御部92は受け取った操作情報を必要に応じて所定の制御情報に変換してもよい。
発光制御部94は、発光部85を構成する赤色LED87、緑色LED88、青色LED89の発光を制御する。情報処理装置10が発光部85の発光色を指定する発光色情報を送信すると、無線通信モジュール90にて受信した発光色情報はメイン制御部92に渡され、メイン制御部92は、発光制御部94に発光色情報を通知する。これにより発光制御部94は、指定された発光色で発光部85を点灯させることができる。
振動子98は偏心モータなどを含んで構成され、入力装置6全体を振動させるために設けられる。無線通信モジュール90は情報処理装置10から振動制御信号を受信するとメイン制御部92に供給し、メイン制御部92は、振動制御信号をもとに振動子98を振動させる駆動制御部97を動作させる。駆動制御部97は、振動子98を駆動するためのスイッチとして構成されてもよく、供給電圧のデューティ比を可変とするPWM制御部として構成されてもよい。
3軸加速度センサ95は、入力装置6のXYZの3軸方向の加速度成分を検出する。3軸ジャイロセンサ96は、XZ平面、ZY平面、YX平面における角速度を検出する。メイン制御部92は3軸加速度センサ95および3軸ジャイロセンサ96から検出値情報を受け付け、無線通信モジュール90は検出値情報を、ボタン入力などの操作情報とともに、所定の周期で情報処理装置10に送信する。
図5は、情報処理装置10の機能ブロック図を示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
メインシステム60は、メインCPU(Central Processing Unit)を有して構成され、サブシステム50は、サブCPUを有して構成される。メインCPUとサブCPUは排他的に動作し、すなわちメインCPUが起動してアクティブ状態にある間は、サブCPUがスタンバイ状態にあり、一方でサブCPUが起動してアクティブ状態にある間は、メインCPUがスタンバイ状態にある。情報処理装置10のメイン電源がオンされている間、メインCPUはシステムソフトウェアが生成する環境下においてアプリケーションなどの各種処理を実行する一方で、サブCPUはスリープしている。一方で情報処理装置のメイン電源がオフされると、メインCPUがサブCPUを起動するとともに、メインCPUがスリープする。このように、メインCPUとサブCPUとは排他的に動作する。
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。以下、メイン電源がオン状態にあるとは、メインシステム60がアクティブ状態にあることを意味し、メイン電源がオフ状態にあるとは、メインシステム60がスタンバイ状態にあることを意味する。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。なおメイン電源のオン/オフはメイン電源ボタン20の短押し操作により行われ、メイン電源ボタン20が長押し操作されると、情報処理装置10のシステム電源がオフされて、情報処理装置10への電力供給が停止されるように構成されてもよい。
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。なお既述したようにメイン電源のオン/オフは、入力装置6から制御することができ、メイン電源がオフ状態にあるときに入力装置6の機能ボタン80が押下されると、システムコントローラ24は、そのボタン操作を「オン指示」として取得する。
システムコントローラ24がオン指示を取得すると、アクティブ状態にあるサブシステム50に検出結果を通知するとともに、スタンバイ用LED22を消灯して、電源ON用LED21を点灯する。このときサブシステム50は、メインシステム60を起動して、自身はスタンバイモードに入る。一方、システムコントローラ24がオフ指示を取得すると、アクティブ状態にあるメインシステム60に検出結果を通知するとともに、電源ON用LED21を消灯して、スタンバイ用LED22を点灯する。このときメインシステム60は、サブシステム50を起動して、自身はスタンバイモードに入る。
メインCPUは補助記憶装置2にインストールされているゲームプログラムを実行する機能をもつ一方で、サブCPUはそのような機能をもたない。しかしながらサブCPUは補助記憶装置2にアクセスする機能、ネットワークサーバ5との間で情報を送受信する機能を有している。サブCPUは、このような制限された処理機能のみを有して構成されており、したがってメインCPUと比較して小さい消費電力で動作できる。
クロック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を介してネットワーク3に接続する。
メインシステム60は、メインCPU、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUはシステムソフトウェアを起動し、システムソフトウェアが提供する環境下において、補助記憶装置2にインストールされたアプリケーションを実行する機能をもつ。
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。上記したように、サブCPUは、メインCPUがスタンバイ状態にある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。なおサブCPUおよびメモリは、別個のチップに形成されてもよい。
図6は、情報処理装置10の内部構成を示す。情報処理装置10は処理部100、通信部102および受付部104を備え、処理部100はアプリケーション実行部106、画像生成部110、記録部130、共有処理部150およびユーザ管理部170を備える。画像生成部110は出力装置4に表示する画像データを生成し、ゲーム画像生成部112、メニュー画像生成部114、記録コンテンツ画像生成部116およびスクリーンショット生成部118を有する。記録部130は画像生成部110により生成された画像データおよび/または画像データに関する情報を記録し、記録制御部132、書込/読出部134、リングバッファ136およびコンテンツ記録部138を有する。共有処理部150は画像生成部110により生成された画像データおよび/または画像データに関する情報を他のユーザと共有するための処理を行い、入力画像生成部152、編集画像生成部154、設定保持部156、アップロード処理部158、配信処理部160、記録指示部162およびコンテンツ取得部164を有する。ユーザ管理部170は、ログインユーザのユーザアカウントおよび入力装置6のデバイスIDを対応付けて保持する。ユーザがゲームをプレイしている際には、ユーザ管理部170は、ゲームプレイをしているユーザを特定して記憶する。
図6において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
本実施例の情報処理システム1において、通信部102は、入力装置6においてユーザが入力部を操作した情報(以下、「操作情報」ともよぶ)を受信し、また処理部100で生成または取得したコンテンツを共有サーバ9に送信する。ここでコンテンツは、画像生成部110において生成された画像データおよび/または画像データに関する情報を少なくとも含む。通信部102は図5に示す無線通信モジュール38および有線通信モジュール40の機能を併せ持つ構成であり、無線通信モジュール38は入力装置6との通信を担当し、有線通信モジュール40はネットワークサーバ5および共有サーバ9との通信を担当する。
受付部104は、通信部102と処理部100との間に設けられ、通信部102と処理部100との間でデータないしは情報を伝送する。受付部104は通信部102を介して入力装置6に設けられた入力部の操作情報を受け付けると、その操作情報を処理部100におけるアプリケーション実行部106、画像生成部110、共有処理部150、ユーザ管理部170の1つまたは2つ以上に供給する。
情報処理装置10のメイン電源がオフの状態でユーザによりメイン電源ボタン20が押下されると、メインシステム60が起動される。メインシステム60はメニュー画像生成部114に対してメニュー画像の生成指示を供給し、メニュー画像生成部114は、ゲームのアイコン画像などを配列したメニュー画像を生成する。なお情報処理装置10のメイン電源がオンの状態でユーザが入力装置6の機能ボタン80を押下したときに、メニュー画像生成部114がメニュー画像を生成してもよい。メニュー画像生成部114の機能はシステムソフトウェアにより実現される。
図7は、出力装置4に表示されるメニュー画面の一例を示す。メニュー画面はユーザがプレイするゲームを選択する場合や、他ユーザのアクティビティを閲覧するような場合に表示される。カテゴリ選択領域204には、情報処理装置10に用意されているメニューのカテゴリが表示される。ゲームアイコン表示領域200には、ログインユーザがプレイ可能なゲームのアイコンが画面横方向にリスト表示される。ユーザは入力装置6を操作して、このリストを右または左にスクロールできる。ゲームアイコン表示領域200において、所定の位置にフォーカス領域210が設定されており、ユーザが関心のあるゲームアイコンをフォーカス領域210に配置すると、そのゲームに関連するアイコンが関連アイコン表示領域202に表示され、また関連する情報が関連情報表示領域206および208に表示される。ユーザが入力装置6の入力部を操作して、プレイしようとするゲームのアイコンをフォーカス領域210に配置した後、所定の決定キーを押下すると、図6に示す受付部104がその操作情報をゲーム実行コマンドとして受け付け、アプリケーション実行部106が、そのゲームを実行する。
関連情報表示領域206には、フォーカス領域210に配置されたゲームの関連情報が表示され、たとえばゲームに関する動画が表示される。表示される動画は、共有サーバ9に蓄積されているゲームのプレイ動画や、共有サーバ9から配信されるライブ動画であってよい。関連情報表示領域208には、フォーカス領域210に配置されたゲームの関連情報が表示され、たとえば、そのゲームをプレイしているフレンドのリストが表示されてよい。メニュー画像生成部114は、このようなメニュー画像を生成して出力装置4から表示する。
ユーザによりゲームの実行コマンドが入力されると、アプリケーション実行部106は、フォーカス領域210に配置されたゲームのプログラムを実行する。この例では、タイトル“SAMURAI”のゲームがスタートする。ユーザ管理部170は、情報処理装置10にログインしているユーザのうち、どのユーザがゲームをプレイするか特定する。たとえばユーザAがゲームをスタートさせ、ログインしているユーザB、Cがそのゲームに参加する場合には、ユーザA,B,Cがゲームプレイしていることを記憶する。
本実施例においてアプリケーション実行部106はゲームプログラムを実行するが、他の種類のアプリケーションプログラムを実行してもよい。アプリケーション実行部106は、ユーザから入力装置6に入力された操作情報をもとに、仮想空間においてゲームキャラクタを動かす演算処理を行う。ここでアプリケーション実行部106は、アプリケーション(ゲームプログラム)そのものであってよい。ゲーム画像生成部112はレンダリング処理などを実行するGPU(Graphics Processing Unit)であってよく、アプリケーション実行部106による処理結果を受けて、出力装置4に表示するアプリケーション(ゲーム)の画像データを生成する。図8は、出力装置4に表示されるゲーム画面の一例を示す。
情報処理装置10において記録部130は、出力装置4に表示される画像をバックグランドで録画する機能を有する。図7および図8に示すように画像生成部110は、少なくともメニュー画像データとゲーム画像データとを生成して出力装置4に表示する機能を有するが、記録部130は、それらの画像データをバックグランドで録画している。
記録制御部132は、書込/読出部134によるデータの書込および読出処理を制御する。書込/読出部134はリングバッファ136およびコンテンツ記録部138にデータを書き込み、またはデータを読み出す。記録部130におけるバックグランド録画は、リングバッファ136において行われる。記録制御部132は、補助記憶装置2の記憶領域の開始アドレスおよび終了アドレスを設定してリングバッファ136を生成する。このリングバッファ領域は、情報処理装置10の出荷時に予め設定されていてよい。記録制御部132は、画像生成部110で生成された画像データをリングバッファ136に記録する。記録制御部132はリングバッファ136に画像データを開始アドレスから予め定められたアドレス順に記録し、終了アドレスまでの記録が終了すると、開始アドレスに戻って上書き記録し、それを繰り返す。表示画像データをバックグランド録画することで、ユーザは、たとえばゲーム中で見事なプレイをしたときに、そのゲーム映像を記録して共有サーバ9にアップロードでき、またリングバッファ方式の録画を行うことで、補助記憶装置2の容量を際限なく使用しないようにする。たとえばリングバッファ136の記録容量は15分程度の動画が記録できるように設定される。
本実施例の共有処理部150は、画像生成部110で生成された画像データおよび/または画像データに関する情報を他のユーザと共有するための仕組みを提供する。この共有処理は、ユーザが入力装置6に設けられた特定の入力部を操作したことを契機として実行される。
図2および図3に戻って、入力装置6に設けられる複数の入力部は、情報処理装置10に対する操作情報の入力という観点から、3つのタイプに分類できる。
(第1タイプ)
第1のタイプは、情報処理装置10のシステムソフトウェアに対する操作情報を入力するための入力部であり、具体的には機能ボタン80およびSHAREボタン81が該当する。機能ボタン80およびSHAREボタン81の操作情報は、システムソフトウェアに対してのみ提供され、アプリケーションソフトウェアには提供されない。ここでシステムソフトウェアは、情報処理装置10のコンピュータのハードウェアを管理/制御して、情報処理装置10の稼動や使用をサポートするためのソフトウェアを意味する。またアプリケーションソフトウェアは、システムソフトウェアにより構築される環境においてユーザが実行したい作業を実施する機能を直接的に有するソフトウェアを意味する。代表的にシステムソフトウェアはOSを含み、またアプリケーションソフトウェアはゲームソフトウェアを含む。
(第2タイプ)
第2のタイプは、情報処理装置10のアプリケーションソフトウェアに対する操作情報を入力するための入力部であり、具体的にはOPTIONボタン82が該当する。OPTIONボタン82の操作情報は、アプリケーションソフトウェアに対してのみ提供され、システムソフトウェアには提供されない。
(第3タイプ)
第3のタイプは、情報処理装置10のシステムソフトウェアまたはアプリケーションソフトウェアのいずれかに対する操作情報を入力するための入力部であり、具体的には方向キー71、操作ボタン76、アナログスティック77、上側ボタン83、下側ボタン84が該当する。システムソフトウェアにより生成されるメニュー画面(図7参照)の表示中、第3タイプの入力部の操作情報は、システムソフトウェアに対して提供され、一方アプリケーションソフトウェアにより生成されるゲーム画面(図8参照)の表示中、第3タイプの入力部の操作情報は、アプリケーションソフトウェアに対して提供される。このように第3タイプの入力部の操作情報は、出力装置4に表示される画面の生成主体に対して提供される。
受付部104が3つのタイプの入力部のうち第1タイプの入力部、具体的にはSHAREボタン81の操作情報を受け付けると、共有処理部150は、画像生成部110により生成された画像データまたは画像データに関する情報を他のユーザと共有するための処理を行う。この共有処理は、受付部104が第2タイプおよび第3タイプの入力部の操作情報を受け付けたときには行われず、あくまでも第1タイプの入力部の操作情報を受け付けた場合にのみ行われる。
以下、図8に示すゲーム画面の表示中に、ユーザがSHAREボタン81を操作したときの共有処理について説明する。
上記したように、ゲーム画面の表示中、記録部130のリングバッファ136は、ゲーム画像生成部112により生成されたゲーム画像データを記録している。受付部104がSHAREボタン81の操作情報を受け付けると、記録指示部162が、スクリーンショットのキャプチャ指示をスクリーンショット生成部118に供給するとともに、バックグランド録画の停止指示を記録制御部132に供給する。これによりスクリーンショット生成部118は、キャプチャ指示を受けた時点のゲーム画像のスクリーンショットをキャプチャし、また記録制御部132は、録画停止指示を受けた時点でリングバッファ136への画像データの記録を停止する。
スクリーンショット生成部118は、スクリーンショットの画像データを生成する際に、ゲームから、そのスクリーンショットに関連する情報を提供されて、その関連情報を画像データに対応付ける。ここで関連情報とは、たとえばプレイ中のゲームのタイトルID、タイトル名、ステージ名、スクリーンショットに含まれるキャラクタ名など、ゲームの属性情報(メタ情報)であり、さらにプレイしているユーザ情報が含まれてもよい。なお記録制御部132も同様に、ゲームから、リングバッファ136に記録されている画像データに関連する情報を提供されて、その関連情報を画像データに対応付ける。ここで関連情報は、ゲームのタイトルID、タイトル名、ステージ名、画像データに含まれるキャラクタ名などの属性情報であり、プレイしているユーザの情報が含まれてもよい。なおリングバッファ136には最長で15分間の画像データが記録されているため、15分の間にゲームのステージが変更されたり、登場するキャラクタが変更されることがある。そこでゲームは、ゲームの属性情報に変化があると、その都度、変更後の属性情報を記録制御部132に通知し、記録制御部132は、通知を受けた時点で、リングバッファ136に記録される画像データに、通知された属性情報を対応付けてもよい。
このとき入力画像生成部152が、ゲーム画像データまたはゲーム画像データに関する情報の共有に関する選択肢を示す入力画像を生成する。出力装置4に表示された入力画面には、ユーザが入力装置6を操作して所定の情報を入力するためのGUI(Graphical User Interface)やテキスト欄などが配置される。以下、説明の便宜上、「ゲーム画像データまたはゲーム画像データに関する情報」をまとめて「コンテンツ」と呼ぶこともある。入力画像では、共有処理の対象となるコンテンツを選択するためのGUIが表示される。
図9は、ゲーム画面上に重畳表示される入力画面の一例を示す。入力画面220において、コンテンツ共有に関する3つの選択肢が示される。“Upload Screenshot”は、スクリーンショットの画像データをアップロードすることを指定するGUI、“Upload Video”は、リングバッファ136に記録された画像データをアップロードすることを指定するGUI、“Video Streaming”は、ゲームのプレイ映像をライブ中継することを指定するGUIである。ユーザは入力装置6を操作して、いずれかのGUIを選択し、Enterキーを押すことで、選択した共有処理が実行される。
図10は、“Upload Video”が選択された場合にゲーム画面上に重畳表示される入力画面の一例を示す。入力画面222には、コンテンツの共有に関する選択肢が示され、ここでは、複数の共有サーバ9により提供されるコンテンツ共有サービスのいずれを選択するかの情報を入力するためのサービス選択欄230が示される。この例では、共有サービスA、共有サービスB、共有サービスCの3つの選択肢が提示されており、これらの共有サービスは別事業体により運営されていてもよいが、1つの事業体により運営されていて、その中でのサービス種類が異なるものであってもよい。
タイトル入力欄226には、ユーザがゲームタイトルを入力する。なお上記したように画像データにはゲームタイトル名が対応付けられており、入力画像生成部152は、画像データに対応付けられたゲームタイトル名をタイトル入力欄226に予め入力しておいてもよい。ユーザはコメント入力欄228に、プレイ動画に関するコメントをテキスト入力できる。コンテンツを共有サービスにアップロードした際、他のユーザは共有サイトに表示されるコメントを閲覧することでコンテンツへの関心を高める効果が発揮されると考えられるため、コメントの入力は共有サービスにおいて重要な意味をもつ。
編集ボタン224は、リングバッファ136に記録された最長で15分間の画像データを編集する際に利用される。編集ボタン224が選択されると、画像データを編集するための編集画面が出力装置4に表示される。
図11は、ゲーム画面上に重畳表示される編集画面の一例を示す。編集画面240においてユーザはアップロードする動画データの長さを決定することができ、具体的には最長で15分の動画データの開始点244と終了点246を定めて、開始点244と終了点246の間の動画データをアップロード対象として決定する。ユーザは入力装置6を操作することで、開始点244および終了点246を自由に移動できる。画像表示領域248には、動画データが再生され、ユーザは、再生ボタン、早送りボタン、早戻しボタンなどのインジケータ250を操作して、アップロードする動画データの開始点244および終了点246を定める。画像表示領域248の左端は動画データの最初、右端は動画データの最後を示し、ユーザが画像表示領域248の任意の位置にカーソルをあてると、時間軸上の対応する位置に存在する画像が表示されてもよい。時間情報242は、画像表示領域248において再生されている画像の時間情報を示す。ユーザは開始点244および終了点246を設定し、Enterキーを押すことで画像編集を終了して、図10に示す入力画面222に戻る。記録制御部132は、リングバッファ136に記録された画像データに対して設定された開始点244および終了点246のアドレスを記憶する。
なお、最長15分間の録画データが、ゲーム中の複数のステージにおけるプレイ画像を含んでいる場合、ステージの切れ目に何らかのマークが設定されて、編集画面240に表示されてもよい。これによりユーザは、録画されたプレイ動画を再生することなくステージの切れ目を見つけることができ、開始点244および終了点246の設定処理が容易になる。またこのとき、そのマークに関連付けて、ステージの切れ目における画像が画像表示領域248に表示されてもよい。
なおゲームには、ネタバレ防止のために、録画することを禁止する情報が埋め込まれていることがある。たとえば特別なステージであったり、ボス戦のシーンなどのゲームの見せ場には、録画禁止の情報が設定されている。以下、録画が禁止されるシーンやステージのことを「禁止区間」とよぶと、記録制御部132は、録画禁止情報をゲームから受け取ると、禁止区間におけるゲーム画像データをリングバッファ136に記録しない。したがってユーザがSHAREボタン81を押して、動画データをアップロードしようとしたときに、実際には禁止区間であったために録画できていない事態も生じ得る。そこでリングバッファ136に記録されている画像データのキャプチャ区間に録画禁止区間が含まれていた場合には、編集画面240において、録画されていないシーンが存在することを示すメッセージが表示されることが好ましい。なお禁止区間においては、出力装置4に表示されるゲーム画面上にも、禁止区間であることを示すマークが表示されていてもよい。
編集が終了し、図10に示す入力画面222に戻ると、ユーザはアップロードボタン232をアップロードボタン232を選択する。これによりコンテンツ取得部164は、記録部130に対して、画像データの取得要求を生成し、記録制御部132は、設定された開始点244および終了点246のアドレスを用いて、リングバッファ136に記録された編集画像データを書込/読出部134からコンテンツ取得部164に読み出させる。これによりコンテンツ取得部164は、編集された画像データを取得する。
コンテンツ取得部164が画像データ(コンテンツ)を取得すると、アップロード処理部158が、図10に示す入力画面のサービス選択欄230において選択された共有サービスを提供する共有サーバ9にコンテンツをアップロードする。これにより、ユーザのプレイ動画が共有されることになり、多くの人の目に触れることで、ゲームの人気向上が期待される。
図10および図11は、図9に示す入力画面220において“Upload Video”が選択されたときに表示される画面を示した。入力画面220において“Upload Screenshot”または“Video Streaming”が選択されたときにも、入力画像生成部152が同様に、コンテンツの共有に関する選択肢を示す入力画像を生成する。なお“Upload Screenshot”が選択された場合、アップロード処理部158が共有サーバ9にスクリーンショットの画像データをアップロードし、一方で“Video Streaming”が選択された場合、配信処理部160がゲーム画像生成部112で生成されているゲーム画像をエンコードして、共有サーバ9にストリーム配信する。この際、ユーザから入力されたコメントやゲームの属性情報が共有サイトに表示されることで、他のユーザは、自分の関心のある画像をすばやく見つけられるようになる。
受付部104がSHAREボタン81の操作情報を受け付けると、入力画像生成部152が図9に示すように、共有するコンテンツを選択するための入力画面220を出力装置4に表示させたが、異なる入力画面を表示させてもよい。
図12は、ゲーム画面上に重畳表示される入力画面の一例を示す。入力画面260において、画像データの共有処理を行うか、または画像データの保存処理を行うかの選択肢が示される。共有処理部150がSHAREボタン81の操作情報を受け付けると、共有処理を実行するが、一方で、SHAREボタン81の操作情報はゲームには提供されないため、ゲームの進行は停止していない。上記したように、共有処理においては、入力画面や編集画面などがゲーム画面に重畳表示されるため、ユーザが実質的にゲーム操作することができない状況が生じている。そこでユーザは入力画面260において画像データの保存処理を選択しておくことで、とりあえず動画データをキャプチャしておき、ゲームを継続することができる。動画データの編集処理やアップロード処理は、たとえばユーザがゲーム進行をPAUSE(一旦停止)したり、またはゲームを終了した後に行えばよい。
なお、SHAREボタン81の操作情報によりゲームの進行は一旦停止しないため、ユーザは、予めSHAREボタン81の操作情報に対する共有処理の内容を予め設定しておいて、迅速な共有処理を実現してもよい。設定保持部156は、たとえば図10に示すサービス選択欄230において選択される共有サービスの情報を保持しておく。この共有サービスの選択は、予めユーザによって行われ、設定保持部156は、ユーザが選択した共有サービスを特定する情報を保持する。図10に示すサービス選択欄230は、動画データをアップロードする場合の選択肢を提示するものであるが、たとえばスクリーンショットをアップロードする際に使用する共有サービス、ストリーミング配信する際に使用する共有サービスをユーザは予め選択しておき、その選択した共有サービスを特定する情報が設定保持部156に設定情報として保持されていることが好ましい。
この場合、受付部104がSHAREボタン81の操作情報を受け付けると、共有処理部150はSHAREボタン81の操作状況に応じて、設定保持部156に保持されている設定情報のうち、いずれの共有処理の設定情報を採用するか決定する。SHAREボタン81の操作状況は、典型的には短押し、長押しで区別されるが、本実施例のように、スクリーンショットのアップロード処理、キャプチャ動画のアップロード処理、プレイ映像のストリーミング配信と3つの共有処理が用意されている場合には、短押し、長押し、2回押しなどの操作状況と共有処理とが対応付けられる。たとえばSHAREボタン81が短押しされると、アップロード処理部158が設定情報にしたがってスクリーンショット画像のアップロード処理を行い、SHAREボタン81が長押しされると、アップロード処理部158が設定情報にしたがってキャプチャ動画のアップロード処理を行い、SHAREボタン81が2回押しされると、配信処理部160がゲーム画像のストリーミング配信処理を行う。これによりユーザは、SHAREボタン81を操作するだけで、ゲーム進行を遮られることなくコンテンツのアップロードまたは配信を行うことが可能となり、コンテンツの共有処理をより簡易に実現できる。
なお設定保持部156は、SHAREボタン81の操作状況に対して、所定の共有処理と、共有に関する選択肢を示す処理とを対応付けていてもよい。たとえばSHAREボタン81の操作状況が短押し、長押しで区別される場合、短押し操作には、スクリーンショット画像のアップロード処理が対応付けられ、長押し操作には、キャプチャ動画のアップロード処理とゲーム画像のストリーミング配信のいずれかを選択するための入力画像の生成処理とが対応付けられる。このときSHAREボタン81が短押しされると、アップロード処理部158が設定情報にしたがってスクリーンショット画像のアップロード処理を行い、SHAREボタン81が長押しされると、入力画像生成部152が図9に示す“Upload Video”と“Video Streaming”のいずれかを選択させるGUIを生成して、出力装置4に表示する。この場合であっても、設定保持部156がSHAREボタン81の短押し操作とスクリーンショット画像のアップロード処理とを対応付けて保持しておくことで、アップロード処理部158は、短押し操作を受けると、ユーザからの他の入力を必要とせずに、スクリーンショット画像を共有サーバ9にアップロードすることが可能となる。
なお情報処理装置10において、ゲーム画像データが共有処理されるケースについて説明したが、図7に示すメニュー画像データも同様に共有処理されて、共有サーバ9にアップロードまたは配信されてよい。メニュー画面において、フォーカス領域210にタイトル“SAMURAI”のゲームアイコンが表示されているときにユーザがSHAREボタン81を押下すると、タイトル“SAMURAI”のアイコン画像データおよび/またはアイコン画像データに関する情報が共有サイトに投稿されて、複数ユーザの間で共有されるようにしてもよい。ゲームアイコン画像データに関する情報とは、ゲームの属性情報を含み、さらにゲームの販売サイトや、ユーザAのプレイ実績などの関連情報も含む。これらの情報が共有サイトで閲覧可能となることで、たとえばユーザAの友人は、ユーザAが“SAMURAI”ゲームに関心のあることを知り、ユーザAと一緒にゲームをプレイしようとするモチベーションを提供することができる。
図12に示す入力画面において、キャプチャした画像データをローカル保存することが選択されると、記録指示部162は、記録部130に対して、キャプチャした画像データの記録要求を生成する。本実施例において受付部104がSHAREボタン81の操作情報を受け付けると、記録指示部162が、スクリーンショットのキャプチャ指示をスクリーンショット生成部118に供給するとともに、バックグランド録画の停止指示を記録制御部132に供給する。この後、入力画像生成部152が図12に示す入力画面を出力装置4に表示して、ユーザがキャプチャ画像データを補助記憶装置2に保存することを選択すると、記録指示部162は、記録部130に対して、キャプチャ画像データの記録要求を供給する。
記録制御部132は、スクリーンショット生成部118で生成されたスクリーンショットの画像データを取得し、書込/読出部134によりコンテンツ記録部138に記録する。また記録制御部132は、書込/読出部134によりリングバッファ136に記録された画像データを読み出し、コンテンツ記録部138に記録する。なおスクリーンショットの画像データは、リングバッファ136に記録された画像データから生成できるため、記録制御部132は、スクリーンショットの画像データをコンテンツ記録部138に記録しないようにしてもよい。
記録制御部132は、コンテンツ(画像データ)を、ログインユーザに対応付けて記録する。たとえば“SAMURAI”ゲームをユーザA,B,Cの3人でプレイしているときに、いずれかのユーザがSHAREボタン81を押下すると、記録制御部132は、リングバッファ136の画像データを、ユーザA,B,Cのユーザアカウントに対応付けて記録する。ゲームをプレイしているログインユーザは、ユーザ管理部170において記憶されており、したがって記録制御部132は、ユーザ管理部170からゲームプレイしているユーザの情報を取得して、画像データに対応付ける。記録コンテンツ画像生成部116はコンテンツブラウザであって、コンテンツ記録部138に記録されたコンテンツリスト画像を生成して、出力装置4に表示する。
図13は、コンテンツリスト画面を示す。この例では記録コンテンツ画像生成部116は、ゲームタイトルごとに、コンテンツリスト画像を生成しているが、ユーザごとにコンテンツリスト画像を生成することも可能である。コンテンツリスト画面において、各コンテンツに対して、そのコンテンツ生成時にプレイしていたユーザのユーザアイコン270が表示される。これによりユーザは、一緒にゲームをプレイしていた他のユーザを知ることができる。なおコンテンツが共有サーバ9にアップロードされる際、ユーザ情報もアップロードされて、一緒にプレイしたユーザ名が、コメント等とともに共有サイトにて表示されてもよい。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。