(57)【特許請求の範囲】
【請求項１】
端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムであって、
上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定部と、
上記判定部による判定の結果に応じて、上記端末側画像と上記サーバ側画像とを合成することによって上記表示画像を生成する分散処理、または、上記サーバ側画像を上記表示画像として生成する単独処理の何れかを実行するように制御する制御部と、
上記単独処理を実行して上記サーバから上記端末に上記サーバ側画像を送信したときの通信速度を履歴として記憶する通信履歴記憶部と、
上記分散処理を実行して上記サーバ側画像を生成する際に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整部とを備えたことを特徴とする画像生成システム。
【請求項２】
上記データ量調整部は、上記通信履歴記憶部に記憶されている通信速度のうち最も遅い通信速度で上記サーバ側画像を送信する場合の要処理時間が所定時間以内に収まるデータ量に調整することを特徴とする請求項１に記載の画像生成システム。
【請求項３】
上記所定時間は、上記表示画像の種類毎にあらかじめ決められたタイムアウト時間であることを特徴とする請求項２に記載の画像生成システム。
【請求項４】
上記分散処理の実行時に上記端末で生成される上記端末側画像は上記表示画像に含まれる文字画像であり、上記分散処理の実行時に上記サーバで生成される上記サーバ側画像は上記文字画像以外の画像であり、
上記判定部は、上記表示画像の中に上記文字画像が含まれているか否かによって、上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定することを特徴とする請求項１に記載の画像生成システム。
【請求項５】
端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムであって、
上記端末は、
画像の配信を要求する配信要求部と、
上記端末側画像の生成処理を行う端末側画像生成部と、
上記サーバ側画像を受信するサーバ側画像受信部と、
上記端末側画像生成部により生成された上記端末側画像および上記サーバ側画像受信部により受信された上記サーバ側画像を合成することによって上記表示画像を生成する画像合成部と、
上記表示画像を表示させる表示制御部と、
上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定部と、
上記判定部による判定の結果に応じて、上記端末側画像生成部および上記画像合成部を動作させて上記表示画像を生成する分散処理、または、上記端末側画像生成部および上記画像合成部を動作させずに上記サーバ側画像受信部で受信される上記サーバ側画像を上記表示画像として生成する単独処理の何れかを実行するように制御する制御部と、
上記端末と上記サーバとの間を接続する回線の通信速度を検出する通信速度検出部と、
上記単独処理の実行時に、上記サーバ側画像受信部により上記サーバ側画像を受信したときに上記通信速度検出部により検出された通信速度を通信履歴記憶部に履歴として記憶させる記録部と、
上記分散処理の実行時に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整部とを備え、
上記サーバは、
上記端末から送られてくる画像の配信要求を受信する配信要求受信部と、
上記配信要求受信部により上記配信要求を受信したときに、上記データ量調整部により調整されたデータ量となるように上記サーバ側画像の生成処理を行うサーバ側画像生成部と、
上記サーバ側画像生成部により生成された上記サーバ側画像を上記端末に送信するサーバ側画像送信部とを備えたことを特徴とする画像生成システム。
【請求項６】
端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムであって、
上記端末は、
画像の配信を要求する配信要求部と、
上記端末側画像の生成処理を行う端末側画像生成部と、
上記サーバ側画像を受信するサーバ側画像受信部と、
上記端末側画像生成部により生成された上記端末側画像および上記サーバ側画像受信部により受信された上記サーバ側画像を合成することによって上記表示画像を生成する画像合成部と、
上記表示画像を表示させる表示制御部と、
上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定部と、
上記判定部による判定の結果に応じて、上記端末側画像生成部および上記画像合成部を動作させて上記表示画像を生成する分散処理、または、上記端末側画像生成部および上記画像合成部を動作させずに上記サーバ側画像受信部で受信される上記サーバ側画像を上記表示画像として生成する単独処理の何れかを実行するように制御する制御部とを備え、
上記サーバは、
上記端末から送られてくる画像の配信要求を受信する配信要求受信部と、
上記配信要求受信部により上記配信要求を受信したときに、上記サーバ側画像の生成処理を行うサーバ側画像生成部と、
上記サーバ側画像生成部により生成された上記サーバ側画像を上記端末に送信するサーバ側画像送信部と、
上記端末と上記サーバとの間を接続する回線の通信速度を検出する通信速度検出部と、
上記単独処理の実行時に、上記サーバ側画像送信部により上記サーバ側画像を送信したときに上記通信速度検出部により検出された通信速度を通信履歴記憶部に履歴として記憶させる記録部と、
上記分散処理の実行時に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整部とを備え、
上記サーバ側画像生成部は、上記配信要求受信部により上記配信要求を受信したときに、上記データ量調整部により調整されたデータ量となるように上記サーバ側画像の生成処理を行うことを特徴とする画像生成システム。
【請求項７】
端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムであって、
上記端末は、
画像の配信を要求する配信要求部と、
上記端末側画像の生成処理を行う端末側画像生成部と、
上記サーバ側画像を受信するサーバ側画像受信部と、
上記端末側画像生成部により生成された上記端末側画像および上記サーバ側画像受信部により受信された上記サーバ側画像を合成することによって上記表示画像を生成する画像合成部と、
上記表示画像を表示させる表示制御部とを備え、
上記サーバは、
上記端末から送られてくる画像の配信要求を受信する配信要求受信部と、
上記配信要求受信部により上記配信要求を受信したときに、上記サーバ側画像の生成処理を行うサーバ側画像生成部と、
上記サーバ側画像生成部により生成された上記サーバ側画像を上記端末に送信するサーバ側画像送信部と、
上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定部と、
上記判定部による判定の結果に応じて、上記端末側画像と上記サーバ側画像とを別に生成してこれらを上記画像合成部で合成することによって上記表示画像を生成する分散処理、または、上記サーバ側画像だけで上記表示画像を生成する単独処理の何れかを実行するように制御する制御部と、
上記端末と上記サーバとの間を接続する回線の通信速度を検出する通信速度検出部と、
上記単独処理の実行時に、上記サーバ側画像送信部により上記サーバ側画像を送信したときに上記通信速度検出部により検出された通信速度を通信履歴記憶部に履歴として記憶させる記録部と、
上記分散処理の実行時に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整部とを備え、
上記サーバ側画像生成部は、上記配信要求受信部により上記配信要求を受信したときに、上記データ量調整部により調整されたデータ量となるように上記サーバ側画像の生成処理を行うことを特徴とする画像生成システム。
【請求項８】
端末に表示させる表示画像の生成処理を上記端末とサーバとで分散して行い、上記端末で生成された端末側画像と上記サーバで生成されたサーバ側画像とを上記端末において合成して表示させるようになされた画像生成システムに適用される画像生成用プログラムであって、
上記表示画像の生成処理を上記端末と上記サーバとで分散して行うか否かを判定する判定手段、
上記判定手段による判定の結果に応じて、上記端末側画像と上記サーバ側画像とを合成することによって上記表示画像を生成する分散処理、または、上記サーバ側画像を上記表示画像として生成する単独処理の何れかを実行するように制御する制御手段、
上記単独処理を実行して上記サーバから上記端末に上記サーバ側画像を送信したときの通信速度を履歴として通信履歴記憶部に記憶させる記録手段、および
上記分散処理を実行して上記サーバ側画像を生成する際に、上記通信履歴記憶部に記憶されている通信速度の履歴に基づいて、上記サーバ側画像のデータ量を調整するデータ量調整手段
としてコンピュータを機能させるための画像生成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システムおよび画像生成用プログラムに関し、特に、画像の生成処理を端末とサーバとで分散して行い、端末で生成された画像とサーバで生成された画像とを端末において合成して表示させるようになされた画像生成システムに用いて好適なものである。
【背景技術】
【０００２】
従来、サーバ上でゲームを動作させ、回線を通じて端末にゲーム画面と音声とをストリーミング配信するようにしたクラウドゲームサービスが提供されている。クラウドゲームサービスでは、端末側で入力された操作情報がサーバに送信され、それに基づいた演算やレンダリング等の画像処理がサーバ側で実行される。そして、その実行結果として得られるゲーム画面や音声が端末にストリーミング配信される。【０００３】
このクラウドゲームサービスによれば、プレイヤ側の端末には、ゲームプログラムやデータを保存する記憶媒体、高性能なグラフィック処理性能といった環境が不要になる。そのため、これらの高性能な動作環境をサーバ側に用意しておけば、専用のゲーム機やハイエンドのパーソナルコンピュータ以外にも様々な端末で快適にゲームを実行することができるようになる。【０００４】
ただし、クラウドゲームサービスの場合、サーバから端末に対して配信する画像のデータ量が大きくなるため、回線のトラフィックが増大した場合には通信に遅延が発生する。そのため、ユーザが端末で何らかの操作を行った後、それに応じた演算結果の画像データがサーバから返信されて画面表示されるまでのレスポンス時間が長くなってしまい、ユーザが快適にゲーム楽しむことができないという問題があった。【０００５】
このような問題を解決するための１つの手段として、画像のレンダリングを端末とサーバとで分散して行い、端末で生成した画像とサーバから配信されてきた画像とを合成して表示させることが考えられる。少なくとも一部の画像を端末側で生成することにより、サーバ側で生成する画像のデータ量、つまりサーバから端末に配信する画像のデータ量を減らすことができる。【０００６】
なお、サーバで生成した画像と端末で生成した画像とを端末で合成して表示する技術自体は、従来から知られている（例えば、特許文献１，２参照）。
【特許文献１】特開平８−６９５４５号公報
【特許文献２】特開２００８−６７２９０号公報
【０００７】
特許文献１に記載の技術では、サーバの描画エンジンにおいて背景画像を生成し、映像符号化装置において符号化し、ネットワークを介してユーザ端末に伝送する。ユーザ端末は、映像復号化装置によりこれを復号化し、描画装置において生成した近景画像と画像合成装置において合成し、ディスプレイに表示する。【０００８】
特許文献２に記載の技術では、画像管理サーバ装置は、画像データ保存部に保存された登録画像データの中から、クライアント端末から送信されるメタデータに対応する画像データと相関の高い高相関性画像データを検索し、検索の結果得られた高相関性画像データを、ネットワークを介してクライアント端末に送信する。クライアント端末は、画像管理サーバ装置から受信した高相関性画像データおよび画像管理サーバ装置に対して送信したメタデータに対応する画像データを用いて合成画像データを生成する。
【発明の開示】
【０００９】
しかしながら、端末に表示させる画像の生成処理を端末とサーバとで分散して行う場合、端末側で画像を生成するのに要する処理時間と、サーバ側で画像を生成して端末に配信するのに要する処理時間とが異なるので、同期をとって画像合成する必要がある。同期をとるためには、端末側の処理時間（画像生成時間）およびサーバ側の処理時間（画像生成時間＋通信時間）のうち遅い方の時間に合わせる必要がある。
【００１０】
そのため、例えば端末側で一部の画像を生成し終わっても、サーバから残りの画像が配信してこなければ、端末では画像合成を行うまでに一定の待ち時間が生じてしまう。この待ち時間により、合成画像が画面表示されるまでのレスポンス時間が長くなってしまい、ユーザが快適にゲーム楽しむことができる程度まで十分に画面表示の応答性能を上げることができないという問題があった。
【００１１】
本発明は、このような問題を解決するために成されたものであり、端末に表示させる表示画像の生成処理を端末とサーバとで分散して行う場合において、同期をとって画像合成するために要する端末側での待ち時間をできるだけ短くすることにより、画面表示の応答性能を上げることを目的とする。
【００１２】
上記した課題を解決するために、本発明では、端末に表示させる表示画像の生成処理を端末とサーバとで分散して行うか否かを判定し、その判定の結果に応じて、端末側画像とサーバ側画像とを合成することによって表示画像を生成する分散処理、または、サーバ側画像そのものを表示画像として生成する単独処理の何れかを実行するように制御する。単独処理を実行する際には、サーバから端末にサーバ側画像を送信したときの通信速度を履歴として通信履歴記憶部に記憶しておく。また、分散処理を実行する際には、通信履歴記憶部に記憶されている通信速度の履歴に基づいて、サーバで生成するサーバ側画像のデータ量を調整するようにしている。
【００１３】
上記のように構成した本発明によれば、端末に表示させる表示画像の生成処理を端末とサーバとで分散して行う場合、過去にサーバ側画像を端末に送信したときの通信速度の履歴に基づいて、通信時間が長くならないようにサーバ側画像のデータ量が調整されることとなる。これにより、端末側画像とサーバ側画像とを同期をとって画像合成するために要する端末側での待ち時間をできるだけ短くすることができ、画面表示の応答性能を上げることができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態による画像生成システムのネットワーク構成例を示すブロック図である。
【図２】本実施形態による端末の機能構成例を示すブロック図である。
【図３】本実施形態によるサーバの機能構成例を示すブロック図である。
【図４】本実施形態による画像生成システムの動作例を示すフローチャートである。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態による画像生成システムのネットワーク構成例を示すブロック図である。【００１６】
図１に示すように、本実施形態の画像生成システムは、クラウドゲームのプレイヤが使用する端末１００と、クラウドゲームで使用するゲーム画面や音声をストリーミング配信するサーバ２００とを備えて構成される。端末１００とサーバ２００とは、インターネット３００等の通信ネットワークを介して接続可能性に構成されている。【００１７】
図２は、本実施形態による端末１００の機能構成例を示すブロック図である。また、図３は、本実施形態によるサーバ２００の機能構成例を示すブロック図である。【００１８】
図２に示すように、本実施形態の端末１００は、その機能構成として、配信要求部１１、端末側画像生成部１２、サーバ側画像受信部１３、画像合成部１４、表示制御部１５、判定部１６および制御部１７、通信速度検出部１８、記録部１９、データ量調整部２０および通信履歴記憶部３０を備えている。また、図３に示すように、本実施形態のサーバ２００は、その機能構成として、配信要求受信部２１、サーバ側画像生成部２２およびサーバ側画像送信部２３を備えている。【００１９】
端末１００の各ブロック１１〜２０の機能は、例えば、端末１００に事前にインストールされるゲームアプリケーション（以下、端末側ゲームアプリという）に組み込まれている画像生成用プログラムによって実現される。すなわち、上記各ブロック１１〜２０は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶された画像生成用プログラムが動作することによって実現される。【００２０】
一方、サーバ２００の各ブロック２１〜２３の機能は、例えば、サーバ２００にあらかじめインストールされているゲームアプリケーション（以下、サーバ側ゲームアプリという）に組み込まれた画像生成用プログラムによって実現される。すなわち、上記各ブロック２１〜２３は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶された画像生成用プログラムが動作することによって実現される。【００２１】
本実施形態では、端末側ゲームアプリとサーバ側ゲームアプリとが協働することによってクラウドゲームが実行される。このクラウドゲームの実行の中で、本実施形態の画像生成システムは、端末１００に表示させる表示画像の生成処理を端末１００とサーバ２００とで分散して行い、端末１００で生成された画像（以下、端末側画像という）とサーバ２００で生成された画像（以下、サーバ側画像という）とを端末１００において合成して表示させるようになされている。なお、本実施形態において画像とは、動画であってもよいし、静止画であってもよい。【００２２】
以下に、この画像合成の仕組みについて詳しく説明する。端末１００の配信要求部１１は、クラウドゲームの進行の状態に応じて、端末１００に画面表示させる画像の配信をサーバ２００に対して要求する。典型的には、プレイヤによるゲーム操作に応じて画面を切り替える場面になったとき、ゲームの実行結果に応じてプログラムが画面を自動的に切り替える場面になったときなどに、配信要求部１１がサーバ２００に対して必要な画像の配信を要求する。【００２３】
端末側画像生成部１２は、配信要求部１１がサーバ２００に対して画像の配信を要求する際に、必要に応じて端末側画像の生成処理を行う。必要に応じてというのは、端末側画像とサーバ側画像とを端末１００において合成して表示させる場合、という意味である。本実施形態では、常に画像合成を行うわけではなく、サーバ２００から受信するサーバ側画像だけで表示画像を構成する場合もある。画像合成を行うか否かの制御は判定部１６および制御部１７によって行われるのであるが、これについては後述する。【００２４】
ここで、端末１００はサーバ２００ほどの高性能なグラフィック処理環境を持たないため、それほどクオリティの高さが要求されない文字画像を端末側画像生成部１２により生成する。一方、高性能なグラフィック処理環境を有するサーバ２００では、文字画像以外の本体画像、すなわち、クオリティの高さが要求される背景やキャラクタ等の画像をサーバ側画像生成部２２により生成する。【００２５】
サーバ側画像受信部１３は、サーバ側画像生成部２２により生成されたサーバ側画像をサーバ２００から受信する。画像合成部１４は、端末側画像生成部１２により生成された端末側画像と、サーバ側画像受信部１３により受信されたサーバ側画像とを合成することによって表示画像を生成する。【００２６】
なお、端末側画像生成部１２による端末側画像の生成処理が完了するタイミングと、サーバ２００で生成され送信されたサーバ側画像のサーバ側画像受信部１３による受信処理が完了するタイミングとは必ずしも一致しない。よって、画像合成部１４は、端末側画像とサーバ側画像とを、互いの同期をとって合成する必要がある。【００２７】
サーバ２００は高性能なグラフィック処理環境を有しているものの、端末側画像に比べてクオリティレベルが高くデータ量も多いサーバ側画像を生成して送信する。そのため、多くの場合、画像合成部１４は、端末側画像生成部１２により端末側画像が生成された後、サーバ側画像受信部１３によりサーバ側画像が受信されるのを待って、画像合成を行うことになる。【００２８】
ただし、本実施形態では、後述するようにサーバ側画像のデータ量を調整することにより、同期のための待ち時間ができるだけ短くなるようにしている。これにより、表示画像の切り替わりがスムーズに行われるようにして、プレイヤにストレスを感じさせずに気持ちよくゲームを楽しむことができるようにしている。【００２９】
表示制御部１５は、表示画像を端末１００の画面上に表示させる。上述したように、表示画像は、端末側画像生成部１２により生成された端末側画像と、サーバ側画像受信部１３により受信されたサーバ側画像との合成によって構成される場合もあるし、サーバ側画像受信部１３により受信されたサーバ側画像だけで構成される場合もある。【００３０】
判定部１６は、表示画像の生成処理を端末１００とサーバ２００とで分散して行うか否かを判定する。つまり、判定部１６は、端末側画像とサーバ側画像とを合成して表示画像を生成するか、それともサーバ側画像だけで表示画像を生成するかを判定する。【００３１】
本実施形態では、判定部１６は、これから生成しようとする表示画像の中に文字画像が含まれているか否かによって、表示画像の生成処理を端末１００とサーバ２００とで分散して行うか否かを判定する。すなわち、表示画像の中に文字画像が含まれている場合には画像生成の分散処理を行い、文字画像が含まれていない場合には画像生成の分散処理を行わないと判定する。【００３２】
なお、ゲームの進行状態に応じてこれから生成しようとする表示画像の中に文字画像が含まれているか否かは、例えば、端末側ゲームアプリにあらかじめ組み込まれた情報によって判定することができる。あるいは、文字画像の生成に関する実行命令と、それ以外の本体画像の生成に関する実行命令とを分けて端末側ゲームアプリを構築しておき、このような実行命令形態になっているかを確認することによって判定するようにしてもよい。なお、ここに挙げた判定方法は一例に過ぎず、このやり方に限定されるものではない。【００３３】
制御部１７は、判定部１６による判定の結果に応じて、分散処理または単独処理の何れかを実行するように制御する。分散処理は、端末側画像生成部１２および画像合成部１４を動作させて、端末側画像とサーバ側画像とを合成することによって表示画像を生成する処理である。また、単独処理は、端末側画像生成部１２および画像合成部１４を動作させずに、サーバ側画像受信部１３で受信されるサーバ側画像だけから表示画像を生成する処理である。また、制御部１７は、判定部１６による判定の結果に応じて、配信要求部１１、通信速度検出部１８、記録部１９およびデータ量調整部２０の動作を制御する。【００３４】
通信速度検出部１８は、端末１００とサーバ２００との間を接続するインターネット３００の通信速度を検出する。例えば、通信速度検出部１８は、サーバ側画像受信部１３がサーバ２００からサーバ側画像を受信するときにおける通信速度を検出する。なお、通信速度の検出は、少なくとも、サーバ側画像受信部１３で受信されるサーバ側画像を表示画像として生成する単独処理の実行時に行えばよい。  【００３５】
記録部１９は、制御部１７の制御によって単独処理を実行する際に、通信速度検出部１８により検出された通信速度を通信履歴記憶部３０に履歴として記憶させる。すなわち、通信履歴記憶部３０は、単独処理を実行してサーバ２００から端末１００にサーバ側画像を送信したときの通信速度を履歴として記憶する。【００３６】
データ量調整部２０は、分散処理の実行時に、通信履歴記憶部３０に記憶されている通信速度の履歴に基づいて、サーバ２００にて生成するサーバ側画像のクオリティレベルを決定することにより、当該サーバ側画像のデータ量を調整する。具体的には、データ量調整部２０は、通信履歴記憶部３０に記憶されている通信速度のうち、最も遅い通信速度でサーバ側画像を送信する場合の要処理時間が所定時間（タイムアウト時間）以内に収まるデータ量に調整する。【００３７】
ここで、タイムアウト時間は、プレイヤがストレスを感じることなく表示画像が切り替わるまでの時間であり、ゲームの進行状態に応じて生成される表示画像の種類毎にあらかじめ決められている。このタイムアウト時間は、例えば、端末側ゲームアプリのプログラム中にあらかじめ情報として組み込まれている。あるいは、当該プログラムとは別にテーブル情報を有し、表示画像の種類毎のタイムアウト時間をテーブル情報に記憶しておくようにしてもよい。【００３８】
通信速度がビット毎秒（ｂｐｓ：bit per second）で表されている場合において、タイムアウト時間が１秒に設定されているとき、データ量調整部２０は、その１秒間で画像配信が完了するデータ量となるようにサーバ側画像のクオリティレベルを調整する。サーバ側画像のクオリティレベルは、例えば、画像圧縮率の大きさによって指定する。データ量調整部２０は、調整したサーバ側画像のクオリティレベルを配信要求部１１に通知する。配信要求部１１は、上述した画像配信要求と共にこのクオリティレベルをサーバ２００に通知する。【００３９】
なお、実際には、配信要求部１１がサーバ２００に対して画像の配信要求を送信してから、その応答としてサーバ側画像が送られてくるまでの間に要する時間は、サーバ側画像を生成する時間とサーバ側画像を送信する時間との合計となる。そこで、この合計時間がタイムアウト時間以内となるようにサーバ側画像のデータ量（クリティレベル）を調整するのが好ましい。【００４０】
サーバ２００の配信要求受信部２１は、端末１００から送られてくる画像配信要求を受信する。サーバ側画像生成部２２は、配信要求受信部２１により画像配信要求を受信したときに、サーバ側画像の生成処理を行う。サーバ側画像送信部２３は、サーバ側画像生成部２２により生成されたサーバ側画像を端末１００に送信する。【００４１】
ここで、サーバ側画像生成部２２は、画像配信要求と共にクオリティレベルが通知されているときは、そのクオリティレベルに従ってサーバ側画像を生成する。一方、クオリティレベルの通知がない場合、サーバ側画像生成部２２は、例えば、あらかじめ決められたクオリティレベル（高画質を実現するレベル）でサーバ側画像を生成する。あるいは、画像配信要求を受信したときの通信速度をサーバ２００側で検出し、その通信速度でサーバ２００から端末１００にサーバ側画像を送信する場合の要処理時間がタイムアウト時間以内に収まるデータ量となるように設定したクオリティレベルでサーバ側画像を生成するようにしてもよい。【００４２】
図４は、上記のように構成した本実施形態による画像生成システムの動作例を示すフローチャートである。図４に示すフローチャートは、端末１００にインストールされた端末側ゲームアプリを起動したときに開始する。【００４３】
まず、端末１００の判定部１６は、クラウドゲームの進行の状態に応じて、表示画像を切り替える場面になったか否かを判定する（ステップＳ１）。画像切替の場面になっていない場合は、そのままゲームの進行を続け、表示画像を切り替える場面になったか否かを判定し続ける。【００４４】
一方、表示画像を切り替える場面になったと判定した場合、判定部１６は、これから生成しようとする表示画像の中に文字画像が含まれているか否かによって、表示画像の生成処理を端末１００とサーバ２００とで分散して行うか否かを判定する（ステップＳ２）。ここで、分散処理を行うと判定部１６により判定された場合、その旨を制御部１７に通知する。【００４５】
データ量調整部２０は、制御部１７による制御を受けて、通信履歴記憶部３０に記憶されている通信速度の履歴に基づいて、サーバ２００にて生成するサーバ側画像（文字画像以外の本体画像）のクオリティレベルを決定する（ステップＳ３）。具体的には、データ量調整部２０は、通信履歴記憶部３０に記憶されている通信速度のうち、最も遅い通信速度でサーバ２００から端末１００にサーバ側画像を送信する場合の要処理時間がタイムアウト時間以内に収まるデータ量となるように、サーバ側画像のクオリティレベルを決定する。【００４６】
その後、配信要求部１１は、データ量調整部２０により決定されたクオリティレベルの情報と共に画像配信要求をサーバ２００に送信する（ステップＳ４）。さらに、端末側画像生成部１２は、制御部１７からの制御を受けて、端末側画像（文字画像）の生成処理を行う（ステップＳ５）。【００４７】
一方、上記ステップＳ２において、これから生成しようとする表示画像の中に文字画像が含まれておらず、表示画像の生成処理をサーバ２００が単独で行うと判定部１６にて判定された場合、配信要求部１１は、サーバ側画像に関するクオリティレベルの情報無しで画像配信要求をサーバ２００に送信する（ステップＳ６）。【００４８】
サーバ２００の配信要求受信部２１は、ステップＳ４またはステップＳ６で端末１００から送信された画像配信要求を受信する（ステップＳ７）。この画像配信要求を受けて、サーバ側画像生成部２２は、サーバ側画像の生成処理を行う（ステップＳ８）。このときサーバ側画像生成部２２は、画像配信要求と共にクオリティレベルの情報が通知されているときは、そのクオリティレベルに従ってサーバ側画像を生成する。そして、サーバ側画像送信部２３は、サーバ側画像生成部２２により生成されたサーバ側画像を端末１００に送信する（ステップＳ９）。【００４９】
端末１００では、サーバ側画像送信部２３により送信されたサーバ側画像をサーバ側画像受信部１３で受信する（ステップＳ１０）。ここで、判定部１６は、分散処理の実行中か否かを判定する（ステップＳ１１）。分散処理を実行中の場合、画像合成部１４は、制御部１７による制御に従って、ステップＳ５で端末側画像生成部１２により生成された端末側画像と、ステップＳ１０でサーバ側画像受信部１３により受信されたサーバ側画像とを合成することによって表示画像を生成する（ステップＳ１２）。そして、表示制御部１５は、画像合成部１４により生成された表示画像を端末１００の画面上に表示させる（ステップＳ１３）。【００５０】
一方、ステップＳ１１で分散処理を実行中ではないと判定部１６にて判定された場合、つまり単独処理を実行中の場合、通信速度検出部１８は、制御部１７による制御に従って、サーバ側画像受信部１３がサーバ２００からサーバ側画像を受信したときにおける通信速度を検出する（ステップＳ１４）。そして、記録部１９は、通信速度検出部１８により検出された通信速度を通信履歴記憶部３０に履歴として記憶させる（ステップＳ１５）。その後、表示制御部１５は、ステップＳ１０でサーバ側画像受信部１３により受信されたサーバ側画像そのものを表示画像として端末１００の画面上に表示させる（ステップＳ１３）。【００５１】
その後、判定部１６は、ゲームが終了となったか否かを判定する（ステップＳ１６）。すなわち、判定部１６は、ゲームの進行によりゲームオーバーとなったり、ユーザによる操作によってゲームの終了が指示されたりしたかどうかを判定する。ゲームが終了となっていない場合、処理はステップＳ１に戻る。一方、ゲームが終了となった場合、図４に示すフローチャートの処理は終了する。【００５２】
以上詳しく説明したように、本実施形態では、ゲームの進行に応じて端末１００に表示させる画像を切り替える必要が生じたとき、その表示画像の生成処理を端末１００とサーバ２００とで分散して行うか否か、サーバ２００において単独で行うかを判定する。そして、単独処理を行う場合は、端末１００にてサーバ側画像を受信したときの通信速度を検出して履歴として通信履歴記憶部３０に記憶しておく。一方、分散処理を行う場合は、通信履歴記憶部３０に記憶されている通信速度の履歴に基づいて、サーバ２００で生成するサーバ側画像のデータ量（クオリティレベル）を調整するようにしている。【００５３】
このように構成した本実施形態によれば、端末１００に表示させる表示画像の生成処理を端末１００とサーバ２００とで分散して行う場合、過去にサーバ側画像をサーバ２００から端末１００に送信したときの通信速度の履歴に基づいて、通信時間が長くならないようにサーバ側画像のデータ量が調整されることとなる。これにより、端末側画像とサーバ側画像とを同期をとって画像合成するために要する端末１００側での待ち時間をできるだけ短くすることができ、表示画像の切り替え時における画面表示の応答性能を上げることができる。【００５４】
なお、上記実施形態では、端末１００に端末側ゲームアプリを事前にインストールしておく例について説明したが、本発明はこれに限定されない。例えば、ゲーム起動時に端末側ゲームアプリをサーバ２００から端末１００にダウンロードするようにしてもよい。また、ゲームの進行に応じて表示画像を切り替える場面ごとに、その場面での画像表示に必要な実行命令を記述したスクリプトをサーバ２００から端末１００にダウンロードするようにしてもよい。【００５５】
また、上記実施形態では、通信速度検出部１８、記録部１９、データ量調整部２０および通信履歴記憶部３０を端末１００に設ける例について説明したが、これらをサーバ２００に設けるようにしてもよい。この場合、配信要求部１１は、判定部１６による判定の結果を知らせる通知と共に画像配信要求をサーバ２００に送信する。【００５６】
また、上記実施形態では、判定部１６および制御部１７を端末１００に設ける例について説明したが、これらをサーバ２００に設けるようにしてもよい。この場合、ゲームの進行に応じて表示画像を切り替える場面になったとき、サーバ２００の判定部１６において分散処理を行うか否かを判定し、分散処理を行う場合はその旨を端末１００に通知する。その後、サーバ２００でのサーバ側画像の生成および送信と、端末１００での端末側画像の生成とを並行して行い、両画像の合成処理を端末１００にて行う。【００５７】
また、上記実施形態では、分散処理の実行時に、通信履歴記憶部３０に記憶されている通信速度のうち、最も遅い通信速度でサーバ側画像を送信する場合の要処理時間がタイムアウト時間以内に収まるようにサーバ側画像のデータ量を調整するようにしている。しかし、そのときの実際の通信速度が過去の最も遅い通信速度よりも更に遅かった場合には、サーバ側画像をタイムアウト時間内に送信することができなくなる。【００５８】
この場合、端末１００では、タイムアウト時間になった時点で端末側画像のみを表示させるようにしてもよい。タイムアウト時間を過ぎてもサーバ側画像が送られてくるまで待ってその間は何も画像が表示されない状態となるよりも、文字画像だけでも表示させた方がプレイヤのストレスが少ないと考えられるからである。文字画像さえ表示されていれば、それ以外の本体画像がなくても、少なくともその画面の意味をプレイヤに伝えることは可能である。【００５９】
また、上記実施形態では、端末側画像を文字画像とし、サーバ側画像をそれ以外の本体画像とする例について説明したが、本発明はこれに限定されない。例えば、一連の動画の中で動きのない背景画像を端末側画像として生成し、動きのあるキャラクタ画像等をサーバ側画像として生成するようにしてもよい。【００６０】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６１】
１１  配信要求部
１２  端末側画像生成部
１３  サーバ側画像受信部
１４  画像合成部
１５  表示制御部
１６  判定部
１７  制御部
１８  通信速度検出部
１９  記録部
２０  データ量調整部
２１  配信要求受信部
２２  サーバ側画像生成部
２３  サーバ側画像送信部
３０  通信履歴記憶部
１００  端末
２００  サーバ
【要約】
端末１００に表示させる表示画像の生成処理をサーバ２００だけで行う際には、サーバ２００から端末１００にサーバ側画像（表示画像）が送信されたときの通信速度を履歴として通信履歴記憶部３０に記憶しておき、表示画像の生成処理を端末１００とサーバ２００とで分散して行う際には、通信履歴記憶部３０に記憶されている通信速度の履歴に基づいて、サーバ２００で生成するサーバ側画像のデータ量を調整することにより、通信時間が長くならないようにし、端末側画像とサーバ側画像とを同期をとって画像合成するために要する端末１００側での待ち時間ができるだけ短くなるようにする。【図１】
0005481606.tif 000002
【図２】
0005481606.tif 000003
【図３】
0005481606.tif 000004
【図４】
0005481606.tif 000005