(57)【要約】【課題】ストリーム送信に用いられるネットワークの帯域幅の無駄な使用を低減させる。【解決手段】データ送信部３２は、ストリームをクライアント１２に送信する。データ受信部３０は、クライアント１２から送信される、クライアント１２の状況に関する通知を受け付ける。データ送信部３２は、クライアント１２の状況に関する通知をデータ受信部３０が受け付けた際に、当該状況に応じてストリームの少なくとも一部のクライアント１２への送信を停止する。【選択図】図３
2013110707.tif 000002
【特許請求の範囲】
【請求項１】
ストリームを情報処理端末に送信するストリーム送信手段と、
前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付手段と、を含み、
前記ストリーム送信手段は、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止する、
ことを特徴とする情報処理装置。
【請求項２】
前記ストリーム送信手段は、前記情報処理端末がミュート状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、音声のストリームの前記情報処理端末への送信を停止する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ストリーム送信手段は、前記情報処理端末がミュート状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、音声のストリームの前記情報処理端末への送信を停止し、動画像のストリームの前記情報処理端末への送信は継続する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ストリーム送信手段は、前記情報処理端末での出力音量が小さいほど小さくなるよう決定されるビットレートで、音声のストリームを前記情報処理端末へ送信する、
ことを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記ストリーム送信手段は、前記情報処理端末で音声がモノラル再生で出力される状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、音声のストリームをモノラルで前記情報処理端末に送信する、
ことを特徴とする請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記ストリーム送信手段は、前記ストリーム送信手段により送信されるストリームに基づいて生成される画像が前記情報処理端末に表示されない状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、ストリームの前記情報処理端末への送信を停止する、
ことを特徴とする請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
前記ストリーム送信手段により送信されるストリームに基づいて生成される画像が前記情報処理端末に表示されない状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、前記ストリーム送信手段により送信されるストリームに含まれるコンテンツを生成するプロセスを停止するプロセス停止手段、をさらに含む、
ことを特徴とする請求項１から５のいずれか一項に記載の情報処理装置。
【請求項８】
前記ストリーム送信手段は、ストリームの送信中に、送信するストリームのコンテンツが変化した際に、当該変化に応じて、送信するストリームの品質を変化させる、
ことを特徴とする請求項１から７のいずれか一項に記載の情報処理装置。
【請求項９】
前記ストリーム送信手段は、送信対象となるコンテンツから前記情報処理端末に記憶済であるコンテンツを除外したコンテンツのストリームを前記情報処理端末に送信する、
ことを特徴とする請求項１から８のいずれか一項に記載の情報処理装置。
【請求項１０】
情報処理装置から送信されるストリームを受信するストリーム受信手段と、
自端末の状況に関する通知を前記情報処理装置に送信する通知送信手段と、を含み、
前記情報処理装置が前記状況に関する通知を受け付けた際に、当該状況に応じて、前記情報処理装置から送信されているストリームの少なくとも一部の送信が停止される、
ことを特徴とする情報処理端末。
【請求項１１】
情報処理装置と、情報処理端末と、を備え、
前記情報処理端末は、
前記情報処理装置から送信されるストリームを受信するストリーム受信手段と、
当該情報処理端末の状況に関する通知を前記情報処理装置に送信する通知送信手段、を含み、
前記情報処理装置は、
ストリームを情報処理端末に送信するストリーム送信手段と、
前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付手段と、を含み、
前記ストリーム送信手段は、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止する、
ことを特徴とする情報処理システム。
【請求項１２】
ストリームを情報処理端末に送信するストリーム送信ステップと、
前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付ステップと、を含み、
前記ストリーム送信ステップでは、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止する、
ことを特徴とする情報処理方法。
【請求項１３】
ストリームを情報処理端末に送信するストリーム送信手段、
前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付手段、としてコンピュータを機能させ、
前記ストリーム送信手段は、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止する、
ことを特徴とするプログラム。
【請求項１４】
ストリームを情報処理端末に送信するストリーム送信手段、
前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付手段、としてコンピュータを機能させ、
前記ストリーム送信手段は、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止する、
ことを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理端末、情報処理システム、情報処理方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
動画像や音声等のストリームを送信する技術が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来技術では、ユーザの操作が行われること等によって、例えば、ミュート状態になる、スクリーンセーバの実行が開始される、ロック状態となる、などというように、ストリームの送信先の情報処理端末の状況が変化しても、そのことに応じてストリームの送信が変化することはなかった。
【０００４】
そのため、例えば、情報処理端末がミュート状態となっていても音声のストリームの送信が継続される、送信される動画像のストリームに基づいて生成される画像が情報処理端末で表示されない状況となっていても動画像のストリームの送信が継続される、などのようにして、ストリームの送信に用いられるネットワークの帯域幅が無駄に使用されてしまうことがあった。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的の１つは、ストリーム送信に用いられるネットワークの帯域幅の無駄な使用を低減させることにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置は、ストリームを情報処理端末に送信するストリーム送信手段と、前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付手段と、を含み、前記ストリーム送信手段は、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止することを特徴とする。
【０００７】
また、本発明に係る情報処理端末は、情報処理装置から送信されるストリームを受信するストリーム受信手段と、自端末の状況に関する通知を前記情報処理装置に送信する通知送信手段と、を含み、前記情報処理装置が前記状況に関する通知を受け付けた際に、当該状況に応じて、前記情報処理装置から送信されているストリームの少なくとも一部の送信が停止される、ことを特徴とする。
【０００８】
また、本発明に係る情報処理システムは、情報処理装置と、情報処理端末と、を備え、前記情報処理端末は、前記情報処理装置から送信されるストリームを受信するストリーム受信手段と、当該情報処理端末の状況に関する通知を前記情報処理装置に送信する通知送信手段、を含み、前記情報処理装置は、ストリームを情報処理端末に送信するストリーム送信手段と、前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付手段と、を含み、前記ストリーム送信手段は、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止することを特徴とする。
【０００９】
また、本発明に係る情報処理方法は、ストリームを情報処理端末に送信するストリーム送信ステップと、前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付ステップと、を含み、前記ストリーム送信ステップでは、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止することを特徴とする。
【００１０】
また、本発明に係るプログラムは、ストリームを情報処理端末に送信するストリーム送信手段、前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付手段、としてコンピュータを機能させ、前記ストリーム送信手段は、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止することを特徴とする。
【００１１】
また、本発明に係る情報記憶媒体は、ストリームを情報処理端末に送信するストリーム送信手段、前記情報処理端末から送信される、前記情報処理端末の状況に関する通知を受け付ける通知受付手段、としてコンピュータを機能させ、前記ストリーム送信手段は、前記情報処理端末の状況に関する通知を前記通知受付手段が受け付けた際に、当該状況に応じて前記ストリームの少なくとも一部の前記情報処理端末への送信を停止することを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００１２】
本発明によれば、情報処理端末の状況に応じて、情報処理装置から情報処理端末へ送信されるストリームの少なくとも一部について、送信が停止されるため、ストリーム送信に用いられるネットワークの帯域幅の無駄な使用が低減される。
【００１３】
本発明の一態様では、前記ストリーム送信手段は、前記情報処理端末がミュート状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、音声のストリームの前記情報処理端末への送信を停止することを特徴とする。
【００１４】
また、本発明の一態様では、前記ストリーム送信手段は、前記情報処理端末がミュート状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、音声のストリームの前記情報処理端末への送信を停止し、動画像のストリームの前記情報処理端末への送信は継続することを特徴とする。
【００１５】
また、本発明の一態様では、前記ストリーム送信手段は、前記情報処理端末での出力音量が小さいほど小さくなるよう決定されるビットレートで、音声のストリームを前記情報処理端末へ送信することを特徴とする。
【００１６】
また、本発明の一態様では、前記ストリーム送信手段は、前記情報処理端末で音声がモノラル再生で出力される状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、音声のストリームをモノラルで前記情報処理端末に送信することを特徴とする。
【００１７】
また、本発明の一態様では、前記ストリーム送信手段は、前記ストリーム送信手段により送信されるストリームに基づいて生成される画像が前記情報処理端末に表示されない状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、ストリームの前記情報処理端末への送信を停止することを特徴とする。
【００１８】
また、本発明の一態様では、前記ストリーム送信手段により送信されるストリームに基づいて生成される画像が前記情報処理端末に表示されない状態となった際に前記情報処理端末から送信される通知を前記通知受付手段が受け付けた場合に、前記ストリーム送信手段により送信されるストリームに含まれるコンテンツを生成するプロセスを停止するプロセス停止手段、をさらに含む、ことを特徴とする。
【００１９】
また、本発明の一態様では、前記ストリーム送信手段は、ストリームの送信中に、送信するストリームのコンテンツが変化した際に、当該変化に応じて、送信するストリームの品質を変化させることを特徴とする。
【００２０】
また、本発明の一態様では、前記ストリーム送信手段は、送信対象となるコンテンツから前記情報処理端末に記憶済であるコンテンツを除外したコンテンツのストリームを前記情報処理端末に送信することを特徴とする。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。
【図２】本発明の一実施形態に係るクラウドサービスとクライアントとの関係の一例を示す概念図である。
【図３】本発明の一実施形態に係るクラウドサービス及びクライアントで実現される機能の一例を示す機能ブロック図である。
【発明を実施するための形態】
【００２２】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００２３】
図１は、本発明の一実施形態に係るコンピュータネットワークの全体構成の一例を示す図である。図１に示すように、インターネットなどのコンピュータネットワーク１４には、いずれもコンピュータを中心に構成されたクラウドサービス１０、クライアント１２（１２−１〜１２−ｎ）、が接続されている。そして、クラウドサービス１０、クライアント１２は、互いに通信可能になっている。本実施形態では、クラウドサービス１０は、情報処理装置として機能し、クライアント１２は、情報処理端末として機能する。また、本実施形態では、クラウドサービス１０及びクライアント１２全体として情報処理システムとして機能する。
【００２４】
クライアント１２は、クラウドサービス１０のユーザが利用するコンピュータであり、例えば、パーソナルコンピュータ、ゲームコンソール、テレビ受像機、携帯型ゲーム装置、携帯情報端末、などである。そして、クライアント１２は、例えば、ＣＰＵ等の制御部、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブ等の記憶部、ディスプレイ、スピーカ等の出力部、ゲームコントローラ、タッチパッド、マウス、キーボード、マイク等の入力部、ネットワークボード等の通信部、等を備えている。
【００２５】
また、本実施形態に係るクライアント１２は、ウェブブラウザ及びクライアントプログラムが予めインストールされており、これらのアプリケーションプログラムが実行される。
【００２６】
クラウドサービス１０は、例えば、分散コンピューティング環境であり、互いに通信可能に接続されている複数台のＷｅｂアプリケーションサーバ、複数台のデータベースサーバ、複数台のストレージデバイス、などを含んで構成されている。クラウドサービス１０に含まれるサーバは、例えば、ＣＰＵ等の制御部、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである記憶部、ネットワークボードなどの通信インタフェースである通信部、を含んで構成されている。これらの要素は、バスを介して接続される。
【００２７】
クラウドサービス１０を利用するクライアント１２は、クラウドサービス１０内に存在するサーバやストレージデバイスなどのリソースの所在を特に意識することなく、クラウドサービス１０が提供する各種サービスを利用することができる。
【００２８】
本実施形態では、クライアント１２が、ウェブブラウザを通じてクラウドサービス１０にアクセスし、ユーザＩＤ及びパスワードを入力してから、その後に所定のＵＲＬにアクセスすると、クライアント１２のディスプレイに所定のＵＲＬに対応する画面が表示される。なお、ユーザＩＤ及びパスワードを入力した後は、クラウドサービス１０は、例えば、セッションＩＤを参照することによりクライアント１２を利用するユーザのユーザＩＤを特定することができるようになっている。
【００２９】
本実施形態では、例えば、クライアント１２から、ゲームのプレイの実行の開始要求がクラウドサービス１０に送信されると、クラウドサービス１０はそのゲームの実行を開始する。そして、このゲームが実行されている間、クラウドサービス１０は、このゲームのプレイ内容を表す、エンコードされた音声付動画像のデータをクライアント１２にストリーム送信する。そして、クライアント１２は、この音声付動画像のデータを受信し、デコードし、デコードされた動画像のフレーム画像が配置されたゲーム画面を生成して、クライアント１２のディスプレイ等に表示出力するともに、受信した音声のデータを音に変換してクライアント１２のスピーカ等から出力する。また、本実施形態では、例えば、ユーザが、クライアント１２が備えるゲームコントローラやボタンを操作することで、スピーカ等からの出力音量をクライアント１２側で調整（変更）できるようになっている。そして、本実施形態では、クラウドサービス１０からクライアント１２に送信される音声のデータは、原則として（例えば、後述のようにして、クラウドサービス１０が、クライアント１２から受信するイベント対応データに応じた、クラウドサービス１０からクライアント１２に送信されるストリームの制御を行わない限りにおいては）、クライアント１２側で調整される出力音量には関わらない。
【００３０】
本実施形態では、各ユーザは、クラウドサービス１０から送信された動画像を見ながら、ゲームコントローラのボタンを押下するなどしてゲームを楽しむことができる。本実施形態では、各ユーザは、ゲームコントローラのボタンを押下するなどの、キー入力を行うことにより、ゲームにおけるプレイヤオブジェクトの移動等の操作を行うことができる。
【００３１】
図２は、本実施形態に係るクラウドサービス１０とクライアント１２との関係の一例を示す概念図である。本実施形態に係るクラウドサービス１０では、例えば、管理プロセス２０、サービス提供プロセス２２、エミュレータ２４が実行される。また、クラウドサービス１０に含まれるストレージデバイス等の記憶部には、予め、ＣＤ−ＲＯＭ等の情報記憶媒体のイメージファイル（ディスクイメージ）が記憶されている。このイメージファイルには、例えば、ゲームプログラム、画像、音声のデータ等、が含まれる。
【００３２】
サービス提供プロセス２２は、例えば、クラウドサービス１０に含まれるサーバが、ショッピングサイトやＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）等、クラウドサービス１０が提供する種々のサービスを実現するプログラムを起動することで生成されるプロセスである。
【００３３】
管理プロセス２０は、例えば、クラウドサービス１０に含まれるサーバが、クラウドサービス１０に含まれるサーバやストレージデバイスにインストールされている管理プログラムを起動することで生成されるプロセスであり、エミュレータ２４の所在管理処理、エミュレータ２４の起動処理及び停止処理、クライアント１２からの要求に応じたクライアント１２とエミュレータ２４との接続処理及び切断処理、などを実行する。
【００３４】
エミュレータ２４は、例えば、クラウドサービス１０に含まれるサーバやストレージデバイスに記憶されているゲームプログラムを実行するための仮想マシンとして機能するプロセスである。エミュレータ２４は、管理プロセス２０が、クライアント１２からの要求に応じて、クラウドサービス１０に含まれるサーバやストレージデバイスにインストールされているエミュレータプログラムを起動することにより生成される。そして、管理プロセス２０は、クライアント１２からの要求に応じて、クライアント１２により指定されたゲームプログラムのイメージファイルを読み込み、エミュレータ２４にロードする。このことによって、エミュレータ２４上でゲームプログラムが実行されることとなる。なお、エミュレータ２４が、クライアント１２により指定されたゲームプログラムを自プロセスにロードするようにしてもよい。
【００３５】
また、エミュレータ２４は、例えば、クライアント１２や管理プロセス２０からの要求に応じて、エミュレータ２４が管理しているエミュレートされたメモリイメージやレジスタ（例えば、プログラムカウンタ等）、エミュレータ２４上で動作するゲームプログラムによる入出力アクセスログ、エミュレータ２４上で実行されるＣＰＵ命令やＧＰＵ命令のログなどを出力する。
【００３６】
本実施形態では、図２に示すように、１つのエミュレータ２４を１つのクライアント１２が専有することができる（ゲームプログラムＰ１参照）。また、１つのエミュレータ２４に対して複数のクライアント１２が接続可能となっている（ゲームプログラムＰ２参照）。また、１つのエミュレータ２４上で複数のゲームプログラムが実行可能となっている（ゲームプログラムＰ３、Ｐ４参照）。
【００３７】
また、本実施形態では、各クライアント１２には、エミュレータプログラムがインストールされている。そして、管理プロセス２０は、クライアント１２からの要求に応じて、クライアント１２にエミュレータ２４の起動指示や停止指示を出力する。クライアント１２は、管理プロセス２０から受け付ける起動指示に応じて、クライアント１２にインストールされているエミュレータプログラムを起動する。また、クライアント１２は、管理プロセス２０から受け付ける停止指示に応じて、実行中のエミュレータ２４を停止する。そして、クライアント１２に記憶されているゲームプログラムをクライアント１２で実行されているエミュレータ２４で実行することもできるようになっている（ゲームプログラムＰ５参照）。また、クライアント１２で実行されているエミュレータ２４に対して他のクライアント１２から接続できるようになっている（ゲームプログラムＰ６参照）。
【００３８】
また、本実施形態では、図２に示すように、１つのクライアント１２が複数のエミュレータ２４に接続することもできる（ゲームプログラムＰ７、Ｐ８参照）。
【００３９】
図３は、本実施形態に係るクラウドサービス１０及びクライアント１２で実現される機能の一例を示す機能ブロック図である。なお、図３には、以下の説明と特に関係がある機能が示されているにすぎず、本実施形態に係るクラウドサービス１０やクライアント１２では、図３に示す機能以外の機能も実現されている。
【００４０】
図３に示すように、本実施形態に係るクラウドサービス１０は、機能的には、例えば、データ受信部３０、データ送信部３２、エミュレータ管理部３４、ゲーム実行部３６、送信制御部３８、を含んでいる。データ受信部３０、データ送信部３２は、クラウドサービス１０が備えるネットワークボードなどの通信インタフェースを主として実現される。また、ゲーム実行部３６は、例えば、エミュレータ２４で実現される機能に対応する。その他の要素は、例えば、管理プロセス２０で実現される機能に対応する。
【００４１】
また、図３に示すように、本実施形態に係るクライアント１２は、機能的には、例えば、データ受信部４０、データ送信部４２、デコード部４４、データ出力部４６、状況監視部４８、を含んで構成される。データ受信部４０、データ送信部４２は、クライアント１２が備えるネットワークボードなどの通信インタフェースを主として実現される。状況監視部４８、デコード部４４は、クライアント１２が備えるＣＰＵ等の制御部を主として実現される。データ出力部４６は、クライアント１２が備えるディスプレイやスピーカなどの出力部を主として実現される。
【００４２】
クラウドサービス１０は、上述のようにコンピュータを中心に構成されており、プログラムを実行することにより、図３においてクラウドサービス１０が担う各機能要素が実現されるようになっている。また、このプログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信ネットワークを介してクラウドサービス１０に供給される。また、クライアント１２も、上述のようにコンピュータを中心に構成されており、上述のクライアントプログラムを実行することにより、図３においてクライアント１２が担う各機能要素が実現されるようになっている。また、このプログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信ネットワークを介してクライアント１２に供給される。
【００４３】
エミュレータ管理部３４は、本実施形態では、例えば、クライアント１２からの要求に応じてエミュレータ２４を起動したり停止したりする。また、エミュレータ管理部３４は、クライアント１２からの要求に応じた、クライアント１２とエミュレータ２４との接続処理及び切断処理を実行する。また、エミュレータ管理部３４は、起動したエミュレータ２４へのゲームプログラムのイメージファイルのロードも行う。また、エミュレータ管理部３４は、エミュレータ２４の所在管理処理も実行する。
【００４４】
本実施形態では、例えば、クライアントのデータ送信部４２が、クラウドサービス１０に、ゲームの実行の開始要求を送信する。すると、クラウドサービス１０のデータ受信部３０が、実行要求を受信する。
【００４５】
そして、クラウドサービス１０のエミュレータ管理部３４は、エミュレータ２４を起動し、起動したエミュレータ２４にプレイされる対象となるゲームのイメージファイルをロードする。そして、エミュレータ管理部３４は、起動したエミュレータ２４と、ゲームの実行の開始要求の送信元のクライアント１２と、を接続する。そして、ゲーム実行部３６が、ロードされたゲームの実行を開始する。
【００４６】
そして、本実施形態では、ゲームの実行中に、クライアント１２がユーザによるボタンの押下などのキー入力を受け付けた際に、クライアント１２のデータ送信部４２が、入力に応じたキー情報（例えば、押下されたボタンの種別を示す信号）を、クラウドサービス１０に送信する。そして、クラウドサービス１０のデータ受信部３０は、このキー情報を受信する。
【００４７】
そして、本実施形態では、ゲームの開始以降、所定のゲーム更新時間毎（例えば、１／６０秒毎）に、クラウドサービス１０のゲーム実行部３６が、クラウドサービス１０のデータ受信部３０により受信されたキー情報の取得を行う。そして、キー情報の取得が終わると、ゲーム実行部３６は、取得したキー情報などに応じた、ゲームの状況を示すゲーム状況データの更新を行う。そして、ゲーム状況の更新が行われると、ゲーム実行部３６は、更新後のゲーム状況データ（例えば、更新後のオブジェクト群の位置や向きを示すゲーム状況データ）に基づいて、ゲームのプレイ内容を表すフレーム画像を生成する。また、ゲーム実行部３６は、ゲーム状況が更新されたことによって、ゲームのＢＧＭや効果音等の音声を再生するイベントが発生したと判定された場合には、再生の対象となるＢＧＭや効果音等の音声（例えば、音声ファイルとして記憶部に記憶されている音声）を再生する。
【００４８】
そして、本実施形態では、クラウドサービス１０の送信制御部３８が、所定のデータ送信間隔（例えば、１／６０秒間隔）で、未送信のフレーム画像と未送信の音声のデータとに基づいて、エンコードされたコンテンツのストリームのパケットを生成する。クラウドサービス１０の送信制御部３８は、本実施形態では、例えば、エンコードされた音声付動画像のストリームのパケットを生成する。なお、このパケットには、生成時刻順に順序づけられている識別子が関連づけられている。そして、クラウドサービス１０のデータ送信部３２が、当該パケットをクライアント１２に送信する。
【００４９】
そして、本実施形態では、クライアント１２のデータ受信部４０は、クラウドサービス１０から順次送信されるストリームのパケットを受信する。
【００５０】
そして、クライアント１２のデコード部４４が、クラウドサービス１０から受信したストリームのパケットをデコードする。そして、データ出力部４６が、デコードされたストリームのパケットからフレーム画像を抽出してディスプレイ等に表示出力するとともに、デコードされたストリームのパケットから音声のデータを抽出して、当該データを音に変換してスピーカ等から出力する。
【００５１】
本実施形態では、クライアント１２の状況監視部４８は、ゲームの実行中におけるクライアント１２の状況を監視して、予め定められたイベントの発生を検出する。状況監視部４８は、具体的には、例えば、スピーカ等から出力される音の音量、スピーカ等から音がモノラル再生で出力されるかステレオ再生で出力されるか、クラウドサービス１０から送信される動画像がディスプレイに表示されているか否か、スクリーンセーバが実行されているか否か、ロック状態となっているか否か、などを監視する。なお、本実施形態では、スピーカ等から出力される音の音量は、０〜１００までのいずれかの数値で管理されており、当該数値が大きいほど音量が大きいことを表しており、音量０がミュート状態を表していることとする。
【００５２】
そして、本実施形態では、状況監視部４８によって、予め定められたイベントの発生が検出された際に、クライアント１２のデータ送信部４２が、イベントの発生が検出された際のクライアント１２の状況に関する通知を、クラウドサービス１０に送信する。そして、クラウドサービス１０のデータ受信部３０が、クライアント１２の状況に関する通知を受け付ける。本処理例では、クライアント１２のデータ送信部４２は、発生したイベントに応じたデータ（以下、イベント対応データと呼ぶ。）を、クラウドサービス１０に送信し、クラウドサービス１０のデータ受信部３０が、イベント対応データを受信する。
【００５３】
そして、送信制御部３８が、クラウドサービス１０のデータ受信部３０によって受信されたイベント対応データに応じて、ストリームのパケットの生成内容を制御する。
【００５４】
このようにして、本実施形態では、クライアント１２の状況の変化に応じて、クラウドサービス１０からクライアント１２に送信されるストリームが変化することとなる。
【００５５】
以下、本実施形態における送信されるストリームの制御の具体例について説明する。
【００５６】
例えば、クライアント１２でスピーカ等から出力される音の音量が変更されたことが検出された際には、クライアント１２は、変更後の音量を示す値に関連づけられた、音量が変更されたことを示すイベント対応データをクラウドサービス１０に送信する。そして、送信制御部３８は、イベント対応データに関連づけられている値が０である場合には、ストリームのパケットを生成するにあたって、ストリームのパケットに音声のデータが含まれないよう（すなわち、フレーム画像のみが含まれるパケットを生成するよう）制御する。そして、クラウドサービス１０のデータ送信部３２からは、音声が含まれないストリームのパケットが送信されることとなる。このようにして、本実施形態では、クライアント１２がミュート状態である場合には、クラウドサービス１０からクライアント１２に送信されるパケットに音声が含まれないこととなる。なお、本実施形態では、クライアント１２は、クラウドサービス１０から受信するパケットに音声が含まれていなくても、当該パケットを正常に処理することができるようになっている。
【００５７】
また、本実施形態では、変更後の音量を示す値に関連づけられた、音量が変更されたことを示すイベント対応データがクライアント１２からクラウドサービス１０に送信された場合に、送信制御部３８は、イベント対応データに関連づけられている値が所定値未満（例えば、１０未満）である場合には、送信される音声のデータのビットレートが、帯域節約時のビットレートとして予め設定されているビットレートとなる（例えば、音量が１０以上である場合（以下、平常時と呼ぶ。）の１／５のビットレートとなる）よう制御する。そして、クラウドサービス１０のデータ送信部３２からは、帯域節約時のビットレートで音声のストリームがクライアント１２に送信されることとなる。
【００５８】
また、本実施形態では、変更後の音量を示す値に関連づけられた、音量が変更されたことを示すイベント対応データがクライアント１２からクラウドサービス１０に送信された場合に、送信制御部３８は、イベント対応データに関連づけられている値が所定値以上（例えば、１０以上）である場合には、送信される音声のデータのビットレートが、を平常時のビットレートとして予め定められているビットレートとなるよう制御する。そして、クラウドサービス１０のデータ送信部３２からは、平常時のビットレートで音声のストリームがクライアント１２に送信されることとなる。
【００５９】
また、本実施形態では、クライアント１２でスピーカ等から出力される音がステレオ再生からモノラル再生に変更されたことが検出された際には、クライアント１２は、モノラル再生に変更されたことを示すイベント対応データをクラウドサービス１０に送信する。そして、送信制御部３８は、送信されるストリームに含まれる音声のデータがモノラル音声のデータとなるよう制御する。そして、クラウドサービス１０のデータ送信部３２からは、モノラルの音声のストリームが送信されることとなる。
【００６０】
また、本実施形態では、クライアント１２で、例えば、スクリーンセーバの実行が開始されたこと、あるいは、ロック状態となったことが検出された際には、クライアント１２は、ストリームに基づいて生成される画像がクライアント１２に表示されない状態となったことを示すイベント対応データをクラウドサービス１０に送信する。そして、送信制御部３８は、ストリーム送信が停止されるよう制御する。そして、クラウドサービス１０のデータ送信部３２は、クライアント１２へのストリーム送信を停止する。
【００６１】
また、本実施形態では、クライアント１２で、例えば、スクリーンセーバの実行が終了されたこと、あるいは、ロック状態が解除されたことが検出された際には、クライアント１２は、ストリームに基づいて生成される画像がクライアント１２に表示される状態となったことを示すイベント対応データをクラウドサービス１０に送信する。そして、送信制御部３８は、ストリーム送信が再開されるよう制御する。そして、クラウドサービス１０のデータ送信部３２は、クライアント１２へのストリーム送信を再開する。
【００６２】
以上のようにして、本実施形態では、クライアント１２の状況に応じて、クラウドサービス１０からクライアント１２に送信されるストリームのうちの少なくとも一部について、送信が停止されるため、ストリーム送信に用いられるネットワークの帯域幅の無駄な使用が低減されることとなる。
【００６３】
なお、本発明は上述の実施形態に限定されるものではない。
【００６４】
例えば、クラウドサービス１０は、クライアント１２へのストリームの送信中に、送信するストリームのコンテンツが変化した際に、当該変化に応じて、送信するストリームの品質を変化させるようにしてもよい。
【００６５】
具体的には、例えば、受け付けるキー情報等に基づいて更新されるゲーム状況データに基づく動画像ではなく、回想シーンなどのムービーの動画像がクライアント１２に送信される状況となった際に、ゲーム実行部３６が、上述のゲーム更新時間毎よりも高い頻度でフレーム画像の生成を行うようにしてもよい。そして、ゲーム実行部３６が、生成したフレーム画像をクラウドサービス１０のバッファメモリに蓄積するようにしてもよい。そして、クラウドサービス１０の送信制御部３８が、バッファメモリに蓄積された複数のフレーム画像を用いてエンコードやストリームのパケットの生成を行うようにしてもよい。そして、クラウドサービス１０のデータ送信部が、このようにして生成されたストリームのパケットをクライアント１２に送信するようにしてもよい。
【００６６】
あるいは、例えば、回想シーンなどのムービーがクライアント１２に送信される状況となった際に、送信制御部３８が、予めエンコードされて記憶部に記憶されていた動画像ファイルを送信対象とするよう制御してもよい。そして、クラウドサービス１０のデータ送信部３２が、予めエンコードされて記憶部に記憶されていた動画像ファイルを、クライアント１２にストリーム送信するようにしてもよい。
【００６７】
こうすれば、回想シーンなどのムービーがクライアント１２に送信される状況などといった、リアルタイムストリーミングの必要性が低い状況となった場合などに、通常のゲームプレイ時よりも高品質で低帯域のストリームがクラウドサービス１０からクライアント１２に送信されることとなる。
【００６８】
また、例えば、あるゲームについて繰り返しプレイされる場合などのように、あるゲームのストリームが複数回クラウドサービス１０からクライアント１２に送信されるような場合には、ストリームのパケットがクラウドサービス１０からクライアント１２に送信される前に、クラウドサービス１０が、当該パケットに含まれる音声のデータやフレーム画像を、クラウドサービス１０の記憶部に記憶するとともに、当該パケットがクラウドサービス１０からクライアント１２に送信された後に、クライアント１２が、当該パケットに含まれる音声のデータやフレーム画像を、クライアント１２の記憶部に記憶するようにしてもよい。そして、２回目以降のストリーム送信の際に、クラウドサービス１０は、上述のようにしてクラウドサービス１０の記憶部に記憶された音声のデータやフレーム画像が存在する場合に、送信対象となるコンテンツから、クラウドサービス１０の記憶部に記憶されている音声のデータやフレーム画像などのコンテンツを除外したコンテンツ（すなわち、送信対象となるコンテンツから、クライアント１２の記憶部に記憶されている音声のデータやフレーム画像などのコンテンツを除外したコンテンツ）のストリームのパケットを、クライアント１２に送信するようにしてもよい。
【００６９】
また、例えば、変更後の音量を示す値に関連づけられた、音量が変更されたことを示すイベント対応データがクライアント１２からクラウドサービス１０に送信された場合に、送信制御部３８は、平常時のビットレートとイベント対応データに関連づけられている値の積を１００で割った値を算出するようにしてもよい。そして、送信制御部３８は、送信される音声のデータのビットレートが、算出された値のビットレートとなるよう制御してもよい。そして、クラウドサービス１０のデータ送信部３２からは、算出された値のビットレートで音声のストリームがクライアント１２に送信されるようにしてもよい。
【００７０】
また、例えば、クラウドサービス１０が、ストリームに基づいて生成される画像がクライアント１２に表示されない状態となったことを示すイベント対応データを受け付けた際に、送信制御部３８が、ゲームが実行されているエミュレータ２４のプロセスを終了（停止）させるようにしてもよい。そして、その後、クラウドサービス１０が、ストリームに基づいて生成される画像がクライアント１２に表示される状態となったことを示すイベント対応データを受け付けた際に、送信制御部３８が、新たなエミュレータ２４のプロセスを起動させて、当該エミュレータ２４とクライアント１２とを接続するようにしてもよい。
【００７１】
また、例えば、送信制御部３８によってストリームの送信が停止されるよう制御された際に、ゲーム実行部３６が、ゲームを実行しているエミュレータ２４が管理しているメモリイメージの内容やレジスタの値を示すスナップショットデータを記憶部に出力するようにしてもよい。そして、ストリームの送信の再開時には、ゲーム実行部３６が、記憶部に記憶されていたスナップショットデータを読み出して、ストリームの送信が停止された際のゲームの状況を再現した上で、ストリームの送信を再開するようにしてもよい。また、上述のようにしてエミュレータ２４のプロセスが停止される際に、停止する前に、ゲーム実行部３６が、上述のスナップショットデータを記憶部に出力するようにしてもよい。そして、その後、クラウドサービス１０がストリームに基づいて生成される画像がクライアント１２に表示される状態となったことを示すイベント対応データを受け付けて、新たなエミュレータ２４のプロセスが起動される際に、当該エミュレータ２４のプロセスが、記憶部に記憶されていたスナップショットデータを読み出して、当該スナップショットデータが示す状況からゲームの実行を開始するようにしてもよい。
【００７２】
また、音声付動画像のストリームがクラウドサービス１０からクライアント１２に送信される必要はなく、フレーム画像群のストリームである動画像ストリームと、音声のデータのストリームである音声ストリームと、が互いに異なるストリームとしてクラウドサービス１０からクライアント１２に送信されるようにしてもよい。この場合に、例えば、クラウドサービス１０のデータ受信部３０が受け付けたイベント対応データに関連づけられている値が０である場合には、送信制御部３８は、音声ストリームのクライアント１２への送信を停止して、動画像ストリームだけをクライアント１２に送信する制御してもよい。すると、クラウドサービス１０のデータ送信部３２から、動画像ストリームだけがクライアント１２に送信されることとなる。
【００７３】
また、ストリームに基づいて生成される画像がクライアント１２に表示されない状態となったことを示すイベント対応データがクライアント１２からクラウドサービス１０に送信される場合は、スクリーンセーバの実行が開始された場合や、クライアント１２がロック状態となった場合に限定されない。
【００７４】
また、例えば、ユーザが、クライアント１２が備えるゲームコントローラやボタン等を操作することによって、スピーカ等からの出力音量を変更する操作を行った際に、クライアント１２が、変更後の音量を示す値を示すデータをクラウドサービス１０に送信するようにしてもよい。そして、クラウドサービス１０が、当該データを受信した際に、変更後の音量に調整された音声のデータが含まれる音声付動画像のデータをクライアント１２に送信するようにしてもよい。このように、クラウドサービス１０で実行される処理によって、クライアント１２のスピーカ等の出力音量が調整されても構わない。このとき、ユーザが、スピーカ等からの音の出力音量をゼロに設定する操作を行った場合には、クラウドサービス１０からクライアント１２への音声のデータの送信が中止されることとなる。
【００７５】
また、本実施形態は、ゲームプログラムの実行に伴い生成される動画像や音声のストリーム送信だけでなく、例えば、クラウドサービス１０で実行されるミュージックプレイヤのプログラムの実行に伴い再生される音楽ファイルに含まれる音声のストリーム送信や、クラウドサービス１０で実行される動画像プレイヤのプログラムの実行に伴い再生される映画等の音声付動画像のストリーム送信や、放送局から配信されるテレビ番組のストリーム送信などにも応用することができる。
【００７６】
また、例えば、クラウドサービス１０で実現されている機能が単一のサーバにより実現されていてもよい。また、ゲームプログラムはエミュレータ２４上で実行される必要はなく、例えば、クラウドサービス１０やクライアント１２のシステムソフトウェア（オペレーティングシステム等）上で実行されてもよい。また、クラウドサービス１０とクライアント１２の役割分担は上述の例には限定されない。
【００７７】
また、上記の具体的な文字列や図面中の具体的な文字列は例示であり、これらの文字列には限定されない。
【符号の説明】
【００７８】
１０  クラウドサービス、１２  クライアント、１４  コンピュータネットワーク、２０  管理プロセス、２２  サービス提供プロセス、２４  エミュレータ、３０  データ受信部、３２  データ送信部、３４  エミュレータ管理部、３６  ゲーム実行部、３８  送信制御部、４０  データ受信部、４２  データ送信部、４４  デコード部、４６  データ出力部、４８  状況監視部。
【図１】
2013110707.tif 000003
【図２】
2013110707.tif 000004
【図３】
2013110707.tif 000005