以下、本発明の一形態に係る動画配信システムについて説明する。図1は、本発明の一形態に係る動画配信システムの全体構成の概要を示す図である。図1に示すように、動画配信システム1は、サーバ装置としてのセンターサーバ2を含んでいる。センターサーバ2は、一台の物理的装置によって構成される例に限らない。例えば、複数の物理的装置としてのサーバ群によって一台の論理的なセンターサーバ2が構成されてもよい。また、クラウドコンピューティングを利用して論理的にセンターサーバ2が構成されてもよい。
センターサーバ2には、ネットワーク3を介して、ユーザ端末5が接続される。ユーザ端末5は、ユーザによって使用されるネットワーク端末装置の一種である。ユーザ端末5は、例えば、ネットワーク3を介して後述のWebサービスをセンターサーバ2にリクエストするリクエスト端末として機能してよい。また、例えば、ユーザ端末5として、携帯電話(スマートフォンを含む)が利用されてよい。携帯電話は、ユーザの個人用途に供されるユーザ端末の一種である。例えば、携帯電話は、動画を表示(再生)する動画再生機能を有していてよい。また、携帯電話は、ソフトウェアの実行を通じて、その他にも各種の機能を発揮してよい。例えば、そのような機能には、ユーザにゲームをプレイさせるゲーム機能が含まれてよい。つまり、ユーザ端末5は、例えば、動画表示端末及びゲーム端末の両方として機能してよい。なお、ユーザ端末5として、例えば、その他にもパーソナルコンピュータ、携帯型タブレット端末装置といった、ネットワーク接続が可能でかつユーザの個人用途に供される各種のネットワーク端末装置が利用されてよい。
ネットワーク3は、一例として、TCP/IPプロトコルを利用してネットワーク通信を実現するように構成される。典型的には、WANとしてのインターネットと、LANとしてのイントラネットと、を組み合わせてネットワーク3が構成される。図1の例では、センターサーバ2はルータ3aを介して、ユーザ端末5はアクセスポイント3bを介して、それぞれネットワーク3に接続されている。
なお、ネットワーク3は、TCP/IPプロトコルを利用する形態に限定されない。ネットワーク3として、通信用の有線回線、或いは無線回線(赤外線通信、近距離無線通信等を含む)等を利用する各種の形態が利用されてよい。
センターサーバ2は、ネットワーク3を介してユーザ端末5のユーザに各種のWebサービスを提供する。Webサービスには、ユーザ端末5に動画を配信するための動画配信サービスが含まれる。動画配信サービスの詳細は後述する。
なお、Webサービスは、その他にもユーザ端末5の機能に応じて各種のサービスを含んでいてよい。例えば、Webサービスは、動画或いはゲームに関する各種の情報を提供する情報サービスを含んでいてよい。また、例えば、Webサービスは、各ユーザ端末5に各種データ或いはソフトウェアを配信(データ等のアップデートを含む)する配信サービスを含んでいてもよい。さらに、Webサービスは、ユーザによる情報発信、交換、共有といった交流の場を提供するコミュニティサービス、各ユーザを識別するためのユーザIDを付与するサービス、ネットワーク3を介して複数のユーザが共通のゲームをプレイする際にユーザ同士をマッチングするマッチングサービス等を含んでいてもよい。
次に、ゲームを提供するための動画配信システム1の制御系の要部について説明する。図2は、動画配信システム1の制御系の要部の構成を示す図である。図2に示すように、センターサーバ2は、コンピュータとしての制御ユニット10と、記憶ユニット11と、を備えている。制御ユニット10は、マイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置(一例としてROM及びRAM)等の各種周辺装置とを組み合わせたコンピュータユニットとして構成されている。なお、制御ユニット10には、キーボード等の入力装置、モニタ等の出力装置等が接続され得る。しかし、それらの図示は省略した。
記憶ユニット11は、制御ユニット10に接続されている。記憶ユニット11は、電源の供給がなくても記憶を保持可能なように、例えば、磁気テープ等の大容量記憶媒体により構成されてよい。記憶ユニット11には、サーバ用データ14及びサーバ用プログラム15が記憶されている。サーバ用プログラム15は、センターサーバ2がユーザ端末5に各種のサービスを提供するために必要なコンピュータプログラムである。制御ユニット10がサーバ用プログラム15を読み取って実行することにより、制御ユニット10の内部には、Webサービス管理部17が設けられる。
Webサービス管理部17は、上述のWebサービスを提供するために必要な処理を実行する。Webサービス管理部17は、コンピュータハードウェアとコンピュータプログラムとの組み合わせにより実現される論理的装置である。なお、制御ユニット10の内部には、その他にも各種の論理的装置が設けられ得る。しかし、それらの図示は省略した。
サーバ用データ14は、サーバ用プログラム15の実行に伴って参照されるデータである。例えば、サーバ用データ14は、動画データ18及びリプレイデータ19を含んでいてよい。動画データ18は、各種の動画を表示するためのデータである。動画データ18は、例えば、ゲームのプレイを記録したゲーム動画を表示するためのゲーム動画データ18aを含んでいてよい。より具体的には、ゲーム動画データ18aは、例えば、ゲームの過去のプレイにおけるゲーム画面の遷移を動画として表示するためのデータとして構成されてよい。また、リプレイデータ19は、過去のゲームのプレイを再現(リプレイ)するためのデータである。例えば、リプレイデータ19は、ゲーム機能を有するユーザ端末5によって使用されてよい。リプレイデータ19の詳細は後述する。なお、サーバ用データ14は、例えば、その他にもユーザID等の各種IDを管理するためのID管理データ等のWebサービスのための各種のデータを含み得る。しかし、それらの図示は省略した。
一方、ユーザ端末5には、制御ユニット30と、記憶ユニット31と、モニタMOと、タッチパネル32と、スピーカ33と、が設けられている。記憶ユニット31、モニタMO、タッチパネル32及びスピーカ33は、いずれも制御ユニット30に接続されている。制御ユニット30は、マイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置(一例としてROM及びRAM)等の各種周辺装置とを組み合わせたコンピュータユニットとして構成されている。なお、制御ユニット30には、例えば、その他にも動画の再生或いはゲームの提供等に必要な各種の装置が接続され得る。しかし、それらの図示は省略した。
モニタMOは、制御ユニット30からの出力信号に基づいて各種の画像等を表示するための周知の表示装置である。一例として、モニタMOは、制御ユニット30からの出力信号に応じて、動画及びゲームをプレイするためのゲーム画面を表示してよい。タッチパネル32は、ユーザが指等で触れると、その接触位置に応じた信号を出力する公知の入力装置である。タッチパネル32は、例えば、透明に構成され、モニタMOの表面に重ね合わされるように配置されてよい。そして、例えば、タッチパネル32は、ユーザのタッチ操作に基づいてそのタッチ位置に対応する信号を制御ユニット30に出力してよい。同様に、スピーカ33は、制御ユニット30からの出力信号に基づいて各種の音声を再生するための周知の出力装置(音声再生装置)である。スピーカ33は、例えば、制御ユニット30からの出力信号に応じて、動画或いはゲームで使用されるBGM等の各種の音声を再生してよい。
一方、記憶ユニット31は、電源の供給がなくても記憶を保持可能なように、例えば、磁気記録媒体や光記録媒体、フラッシュSSD(Solid State Drive)などにより構成されてよい。記憶ユニット31には、端末プログラム34及び端末データ35が記憶されている。端末プログラム34は、ユーザ端末5が各種のサービスを提供するために必要なコンピュータプログラムである。例えば、このようなサービスには、動画の再生及びゲームの提供が含まれてよい。端末プログラム34の実行に伴って、制御ユニット30の内部には、サービス提供部37が設けられる。サービス提供部37は、動画の再生或いはゲームのプレイ等のサービスを提供するために必要な各種処理を実行する。サービス提供部37は、コンピュータハードウェアとコンピュータプログラムとの組み合わせにより実現される論理的装置である。なお、制御ユニット30の内部には、その他にも各種の論理的装置が設けられ得る。しかし、それらの図示は省略した。
端末データ35は、端末プログラム34の実行に伴って参照されるデータである。端末データ35は、例えば、動画データ18及びリプレイデータ19を含んでいてよい。また、動画データ18は、ゲーム動画データ18aを含んでいてよい。例えば、これらのデータは、必要な部分が含まれるように、少なくとも一部がセンターサーバ2から提供されてよい。なお、端末データ35は、その他にも各種のサービスを実行するための各種のデータを含んでいてよい。例えば、そのようなデータには、動画やゲームに必要なBGM等の各種の音声を再生するための音声データ、ゲームに必要な各種画像を表示するための画像データ、及び上述のID管理データが含まれてよい。しかし、それらの図示は省略した。
次に、動画配信システム1が提供する動画配信サービスの詳細について説明する。動画配信サービスは、上述のとおり、ユーザ端末5に動画を配信するためのサービスである。例えば、配信対象の動画は、ユーザ端末5からネットワーク3を介してセンターサーバ2にアップロードされてもよい。つまり、配信対象の動画を再生するための動画データ18は、ユーザ端末5から提供されてよい。そして、動画配信サービスは、このような動画データ18のアップロードを含んでいてもよい。さらに、動画配信サービスは、リプレイデータ19のアップロードを含んでいてよい。そして、動画配信サービスは、ゲーム機能を通じて過去のプレイが再現されるように、このようなリプレイデータ19をユーザ端末5に配信するサービスを含んでいてよい。
図3は、動画配信サービスの一例の概要を説明するための説明図である。図3に示すように、動画配信サービスは、例えば、アップロード工程及び配信工程を含んでいてよい。アップロード工程は、動画データ18或いはリプレイデータ19がセンターサーバ2にネットワーク3を介してユーザ端末5によってアップロードされる工程である。一方、配信工程は、センターサーバ2によって動画データ18或いはリプレイデータ19がネットワーク3を介してユーザ端末5に配信される工程である。例えば、このような配信は、ユーザ端末5の要求に応じて実行されてよい。つまり、配信工程は、ユーザ端末5の要求に応じて動画の再生或いは過去のプレイの再現をユーザ端末5が実行するように、動画データ18或いはリプレイデータ19を配信してよい。
また、図3の例は、ユーザ端末5が動画再生機能及びゲーム機能を有している場合、つまりユーザ端末5が動画の表示に使用される動画表示端末及びゲームを提供するゲーム端末の両方として機能する場合の動画配信サービスの概要を示している。この場合、図3に示すように、例えば、アップロード工程において、まずユーザ端末5は、ゲームをプレイするためのプレイ機会をユーザUに提供してよい(S1)。例えば、ユーザ端末5は、このようなプレイ機会を専用のゲームアプリケーション(ソフトフェア)を通じて提供してよい。つまり、ユーザ端末5は、このようなゲームアプリケーション(以下、ゲームアプリと呼ぶ場合がある)を通じてゲームを提供してよい。また、例えば、このようなゲームアプリは、例えば、配信サービスを通じてセンターサーバ2によって提供されてもよい。
また、例えば、ユーザ端末5は、ユーザUのプレイ中にゲームのプレイ状況をレコードしてよい(S2)。換言すれば、ユーザ端末5は、ユーザUのプレイ中においてそのプレイに対応するリプレイデータ19を生成してよい。このようなリプレイデータ19の生成は、例えば、上述のゲームアプリを通じて実行されてよい。具体的には、上述のゲームアプリは、ユーザのプレイ中において必要な情報を適宜記録することによりプレイの進行と並行して自動的にリプレイデータ19を生成するように構成されていてよい。つまり、ゲームアプリは、進行中のゲームのプレイを事後的に再現するためのリプレイデータ19を自動的に生成するように構成されていてよい。また、リプレイデータ19は、このゲームアプリ専用のデータとして構成されてよい。つまり、リプレイデータ19は、ゲームアプリを通じて使用された場合に限りゲームのプレイを再現するように構成されていてよい。
なお、ゲームアプリは、プレイ中のゲームに対応する動画を記録するように構成されていてもよい。具体的には、ゲームアプリは、プレイ中のゲームのゲーム画面の遷移を記録することによりそのプレイに対応する動画を表示するためのゲーム動画データ18aを更に生成するように構成されていてもよい。つまり、ゲームアプリは、プレイ中のゲームのプレイを再現するためのリプレイデータ19、及びそのプレイに対応する動画(以下、ゲーム動画と呼ぶ場合がある)を表示するためのゲーム動画データ18aの両方を生成するように構成されていてよい。
また、例えば、ユーザ端末5は、ユーザUにリプレイデータ19をアップロードするか否か選択するための選択機会を提供してよい(S3)。例えば、このような選択機会は、プレイ機会と同様にゲームアプリによって提供されてもよい。具体的には、例えば、ゲームアプリは、ゲームのプレイが終了したときにリプレイデータ19をアップロードするか否か選択する選択機会(例えば、アップロードの有無を選択するための選択ボタンの表示)を提供してよい。そして、ユーザ端末5は、そこでアップロードが選択された場合にリプレイデータ19をアップロードしてよい(S4)。
なお、このようなアップロードは、ゲームの進行に従って逐次的に実行されてもよい。この場合、選択機会は省略されてもよいし、プレイ前に提供されてもよい。また、ゲームアプリがゲーム動画に対応するゲーム動画データ18aを生成している場合には、このゲーム動画データ18aもリプレイデータ19とともにアップロードされてよい。あるいは、ゲーム動画に対応するゲーム動画データ18aは、リプレイデータ19に基づいてセンターサーバ2によって生成されてもよい。このようなゲーム動画データ18aの生成は、アップロードの際に実行されてもよいし、配信の際に実行されてもよい。つまり、動画配信サービスは、一例として、動画データ18がリプレイデータ19に対応するゲーム動画データ18aを必ず含むように提供されていてもよい。
一方、配信工程は、例えば、ユーザ端末5からのリクエストに基づいて提供されてよい。具体的には、例えば、まずユーザ端末5は、ユーザ(リプレイデータ19等の提供者と同じユーザUでもよいし、相違していてもよい)の指示に基づいてセンターサーバ2に動画配信サービスの提供をリクエストしてよい(S5)。このリクエストは、例えば、上述のゲームアプリを通じて実行されてもよい。あるいは、ユーザ端末5が動画を再生するための他のアプリケーションを有している場合は、そのような他のアプリケーションを通じてリクエストが実行されてもよい。例えば、このような他のアプリケーションとして、Webブラウザアプリケーション(以下、Webブラウザと呼ぶ場合がある)が利用されてもよい。Webブラウザは、例えば、各種のWebサイトをブラウズするためのアプリケーションとして構成されてよい。つまり、この場合、動画配信サービスはWebサイトを通じて提供されてよい。
センターサーバ2は、ユーザ端末5からリクエストがあった場合に、例えば、動画データ18が複数の動画に対応しているときには、配信対象のデータのサムネイル(各動画の縮小イメージ)に基づく一覧をユーザ端末5に提供してよい(S6)。具体的には、例えば、センターサーバ2は、動画データ18がリプレイデータ19に対応するゲーム動画データ18aを必ず含む場合に、動画データ18によって再生される複数の動画を対象にサムネイルに基づく一覧をユーザ端末5に提供してよい。そして、ユーザ端末5は、サムネイルに対してユーザが選択を実行した場合には、その選択結果に応じた動画の配信をセンターサーバ2にリクエストしてよい(S7)。
一方、センターサーバ2は、ユーザ端末5からのリクエストに基づいて、ユーザ端末5に提供すべき配信対象のデータを判別してよい(S8)。例えば、この判別は、ユーザ端末5がゲーム端末として機能している場合にはリプレイデータ19を優先的に配信対象のデータとして特定する一方で、ユーザ端末5が動画表示端末として機能している場合には動画データ18を配信対象のデータとして特定するように実行されてよい。つまり、配信先のユーザ端末5の機能に応じて、配信対象のデータを特定するように実行されてよい。具体的には、例えば、ゲーム動画を配信対象とするリクエストに対して、ユーザ端末5がゲームアプリを通じてリクエストを実行している場合には、センターサーバ2はリプレイデータ19を配信対象のデータとして特定してよい。一方、同様のリクエストに対して、ユーザ端末5がWebブラウザを通じてリクエストを実行している場合には、Webブラウザではリプレイデータ19を使用できないため、ゲーム動画データ18aを配信対象のデータとして特定してよい。このようにセンターサーバ2は、例えば、配信先のユーザ端末5が動画表示端末として機能するのか、ゲーム端末として機能するのかといったユーザ端末5の種類(機能)に応じて使用可能なデータを特定し、仮に両方のデータを使用可能な場合には優先的にリプレイデータ19を特定するように、リプレイデータ19及びゲーム動画データ18aうちから配信対象のデータを判別してよい。
続いて、センターサーバ2は、そのリクエストに応じたリプレイデータ19或いは動画データ18をユーザ端末5に配信してよい(S9)。一例として、このような流れで配信工程が提供されてよい。そして、このようなアップロード工程及び配信工程を通じて動画配信サービスが実現されてよい。この場合、ユーザ端末5が動画表示端末として機能するときの動画データ18、及びユーザ端末5がゲーム端末として機能するときのリプレイデータ19が本発明の配信用データとして機能する。
次に、図4及び図5を参照して、リプレイデータ19に基づく過去のプレイの再現とゲーム動画データ18aに基づくゲーム動画との相違について説明する。リプレイデータ19に基づく再現(以下、リプレイ動画と呼ぶ場合がある)は、映像(画像)が動作するという意味では動画の一種としてゲーム動画と共通する(このため、リプレイデータ19は、動画データ18の一部として機能してもよい)。一方で、例えば、動画に登場するオブジェクトの大きさや表示角度(例えば動画撮影を行うための仮想的カメラの視点や視線と対象のオブジェクトとの間に生じる角度)について、ゲーム動画では一般的動画と同様にそれらに干渉出来ないのに対し、リプレイ動画では干渉できてよい。つまり、ゲーム動画ではオブジェクトの大きさや表示角度が記録時のまま固定的に表示される一方で、リプレイ動画ではそれらがユーザの選択によって変更されてよい。具体的には、例えば、リプレイ動画では、オブジェクトを拡大或いは縮小するように動画撮影を行うための仮想的カメラの画角が変更されてもよい。あるいは、オブジェクトの表示角度が変化するように、そのような仮想的カメラの視点(視点位置、或いは視線でもよい)が変更されてもよい。そして、そのような変更(干渉)の可否によってゲーム動画とリプレイ動画とは相違していてよい。
図4は、ゲーム動画と共通するリプレイ動画の一場面を示す動画画面の例を模式的に示す図である。図4に示すように、例えば、動画画面40は、オブジェクト41を含んでいてよい。オブジェクト41は、例えば、仮想3次元空間に対応するゲーム空間(ゲーム画面)を通じてゲームがプレイされる場合に、そのゲーム空間に対応するように立体的に構成されていてよい。つまり、オブジェクト41は、見る方向(角度)に応じて形状や情報が相違するように構成されていてよい。図4の例では、オブジェクト41として、立体的なサイコロの画像が表示されている。また、このオブジェクト41は、“1”、“2”、“3”をそれぞれ正面側、右側方側、上方側に向けるように表示されている。この場合、このリプレイ動画に対応するゲーム動画でも、オブジェクト41は同様の向きに表示される。
一方、図5は、図4の例の動画画面40の視点(仮想カメラの位置)を破線矢印Vの方向に回転させた場合の変化後の動画画面40Aを模式的に示す図である。図5に示すように、この場合、図4の例と比較して、破線矢印Vに対応する視点の右方向への回転に伴い、オブジェクト41の向き(方向)が変化している。具体的には、図5の例は、仮想カメラの位置(視点)がオブジェクト41の“1”の表示面の正面側から“2”の表示面の正面側に変化した場合を示している。このため、図5の例では、オブジェクト41は、“1”、“2”、“3”をそれぞれ左側方側、正面側、上方側に向けるように表示されている。つまり、“3”を表示する面の向きは変化していないものの、“1”を表示する面の向きが正面側から左側方側に、“2”を表示する面の向きが右側方側から正面側に、それぞれ変化している。また、ゲーム動画は動画画面40を含むものの、このような変化後の動画画面40Aを含まない。このため、このような向きのオブジェクト41は、ゲーム動画では見ることができない。同様に、リプレイ動画ではユーザの選択(例えばタッチパネル32に対する回転方向を指定するタッチ操作等)に応じて任意の位置に視点が変化してよい。つまり、リプレイ動画は、ユーザの選択に応じた任意の向きからオブジェクト41を表示するように任意の視点で過去のプレイを再現してよい。一例として、リプレイ動画とゲーム動画との間には、このような相違(干渉の可否)があってよい。
次に、リプレイデータ19の詳細について説明する。リプレイデータ19は、上述のとおり、過去のゲームのプレイをユーザ端末5に再現(リプレイ)させるためのデータである。図6は、リプレイデータ19の内容の一例を説明するための説明図である。図6に示すように、リプレイデータ19は、例えば、“動画ID”、“オブジェクトID”、及び“座標”の情報を含んでいてよい。そして、リプレイデータ19は、例えば、これらの情報が互いに関連付けられるように記述されたレコードの集合として構成されてよい。
“動画ID”は各リプレイ動画を識別するための情報である。“動画ID”として、例えば、リプレイ動画(ゲーム動画を含んでもよい)毎にユニークな動画IDの情報が使用されてよい。“オブジェクトID”は、ゲーム中に登場する各オブジェクト(人、物等)を識別するため情報である。“オブジェクトID”として、例えば、オブジェクト毎にユニークなオブジェクトIDの情報が使用されてよい。そして、“動画ID”に対応するリプレイ動画に登場する(表示される)オブジェクトのオブジェクトIDの情報が“オブジェクトID”として記述されてよい。“座標”は、ゲームをプレイするためのゲーム空間(ゲーム画面)における各オブジェクトの座標を示す情報である。“座標”は、例えば、各オブジェクトを任意の角度から表示するために、各オブジェクトのゲーム空間における位置の特定に使用されてよい。
次に、データ取得処理、及びデータ配信処理について説明する。データ取得処理は、ユーザ端末5からリプレイデータ19を取得するための処理である。例えば、データ取得処理は、図3の例のアップロード工程においてリプレイデータ19のアップロード(S4)を実現するために実行されてよい。また、データ配信処理は、リプレイデータ19をユーザ端末5に配信するための処理である。例えば、データ配信処理は、図3の例の配信工程においてS6〜S9の工程を実現するために実行されてよい。
例えば、データ取得処理は図7のルーチンを通じて、データ配信処理は図8のルーチンを通じて、それぞれセンターサーバ2の制御ユニット10によって実現されてよい。より具体的には、例えば、図7及び図8のルーチンは、一例として、制御ユニット10のWebサービス管理部17を通じて実行されてよい。なお、センターサーバ2の制御ユニット10及びユーザ端末5の制御ユニット30は、これらの処理の他にも各種の周知な処理等を、それぞれ単独で或いは互いに協働して実行する。しかし、それらの詳細な説明は省略する。
図7は、データ取得処理を実現するためのデータ取得処理ルーチンのフローチャートの一例を示す図である。図7のルーチンは、例えば、選択機会(S3)におけるアップロードの選択に伴い、ユーザ端末5からリプレイデータ19が送信される毎に実行されてよい。
図7のルーチンが開始されると、Webサービス管理部17は、まずステップS11においてリプレイデータ19をユーザ端末5から取得する。また、例えば、ユーザ端末5においてそのリプレイデータ19に対応するゲーム動画データ18aが生成れている場合には、Webサービス管理部17は、ステップS11においてそのゲーム動画データ18aも取得してよい。一方、例えば、そのようなゲーム動画データ18aがユーザ端末5において生成されていない場合には、Webサービス管理部17は、ステップS11において、そのようなゲーム動画データ18aを生成してもよい。具体的には、例えば、Webサービス管理部17は、取得したリプレイデータ19に基づいてそのようなゲーム動画データ18aを生成してよい。
続くステップS12において、Webサービス管理部17は、リプレイデータ19の内容を更新する。具体的には、Webサービス管理部17は、例えば、既存のリプレイデータ19の内容にステップS11で取得したリプレイデータ19の内容が反映されるように、記憶ユニット11に記憶のリプレイデータ19の内容を更新してよい。同様に、Webサービス管理部17は、ステップS11においてゲーム動画データ18aを取得している場合(ユーザ端末5からの取得及び生成に基づく取得の両方を含む)には、このようなゲーム動画データ18aが含まれるように動画データ18の内容を更新してよい。例えば、Webサービス管理部17は、動画データ18が複数の動画にそれぞれ対応する複数の動画データ18を含む場合には、ステップS11で取得した動画データ18を追加することにより、このような更新を実現してよい。つまり、このような更新は、新しい動画に対応する動画データ18の追加によって実現されてよい。リプレイデータ19についても同様である。つまり、Webサービス管理部17は、リプレイデータ19が複数のリプレイ動画にそれぞれ対応する複数のリプレイデータ19を含む場合には、ステップS11で取得したリプレイデータ19を追加することにより、このような更新を実現してよい。そして、Webサービス管理部17は、ステップS12の処理を終えると、今回のルーチンを終了する。これにより、ユーザ端末5のユーザUによってプレイされたゲームのリプレイデータ19及びそれに対応するゲーム動画データ18aが取得され、その内容が既存のリプレイデータ19及び動画データ18にそれぞれ反映される。より具体的には、例えば、図3の例におけるS4の工程が実現される。
一方、図8は、データ配信処理を実現するためのデータ配信処理ルーチンのフローチャートの一例を示す図である。図8のルーチンは、例えば、動画配信サービスの提供がリクエスト(S5)される毎に実行されてよい。
図8のルーチンが開始されると、Webサービス管理部17は、まずステップS21において、サムネイルをユーザ端末5に提供する。具体的には、Webサービス管理部17は、例えば、動画データ18がゲーム動画データ18aを必ず含む場合に、動画データ18によって再現される各動画(ゲーム動画及びその他の動画を含む)のサムネイルの一覧がユーザ端末5に表示されるようにそのようなサムネイルを表示するためのデータをユーザ端末5に配信してよい。
続くステップS22において、Webサービス管理部17は、ユーザ端末5からのリクエストを取得する。具体的には、Webサービス管理部17は、例えば、ステップS21で提供したサムネイルに対する選択結果をリクエストとして取得してよい。つまり、Webサービス管理部17は、例えば、サムネイルから配信対象として選択された動画の情報をユーザ端末5からリクエストとして取得してよい。
次のステップS23において、Webサービス管理部17は、配信対象のデータを判別する。例えば、Webサービス管理部17は、リクエスト元のユーザ端末5の機能(例えばアプリケーション)に基づいて、この判別を実行してよい。具体的には、例えば、Webサービス管理部17は、ゲーム動画を配信対象とするリクエストに対して、ユーザ端末5のリクエストがゲームアプリから実行されている場合にはリプレイデータ19を、Webブラウザから実行されている場合にはゲーム動画データ18aを、それぞれ配信対象のデータとして特定してよい。一方、Webサービス管理部17は、例えば、ゲーム動画以外の動画が配信対象としてリクエストされている場合には、そのような動画に対応するリプレイデータ19が存在しないため、その動画に対応する動画データ18を配信対象のデータとして特定してよい。
続くステップS24において、Webサービス管理部17は、ステップS23で判別した配信対象のデータを配信する。具体的には、Webサービス管理部17は、例えば、ステップS23において配信対象としてリプレイデータ19を特定した場合にはリプレイデータ19を、動画データ18(ゲーム動画データ18aを含む)を特定した場合には動画データ18を、それぞれ配信対象として配信してよい。そして、Webサービス管理部17は、ステップS24の処理を終えると、今回のルーチンを終了する。
図8のルーチンにより、リクエスト元のユーザ端末5の機能に応じて配信対象のデータが判別され、ユーザ端末5に提供される。具体的には、例えば、ゲームアプリを通じて動画配信サービスがリクエストされている場合にはリプレイデータ19及び動画データ18のうちリプレイデータ19が優先的にユーザ端末5に配信される。一方、Webブラウザを通じて動画配信サービスがリクエストされている場合には動画データ18が配信対象として特定され、配信される。
以上に説明したように、この形態によれば、動画配信サービスでは、リプレイデータ19及び動画データ18の両方が配信対象のデータとして利用される。一方で、リプレイデータ19は、ゲームアプリにおいて過去のプレイを再現するためのデータである。つまり、ゲームアプリが使用されていない場合には、ユーザ端末5にダウンロード(配信)されても過去のプレイは再現されない。このため、ゲームアプリを通じて配信のリクエストがあった場合、つまりゲーム端末5として機能するユーザ端末5から配信リクエストがあった場合には、リプレイデータ19及び動画データ18のうちリプレイデータ19が優先的に特定され、配信される。一方、例えばWebブラウザ等のゲームアプリ以外のアプリを通じて配信リクエストがあった場合、つまり動画表示端末として機能するユーザ端末5から配信リクエストがあった場合には、動画データ18が特定され、配信される。すなわち、ユーザ端末5の機能に応じてユーザ端末5において使用可能な適切なデータが判別され、配信される。これにより、動画データ18及びリプレイデータ19の両方を適切に配信することができる。結果として、リプレイデータ19が配信される場合には、リプレイデータ19を通じてゲーム動画だけでは表現できないプレイ状況をユーザに伝えることができる。
具体的には、リプレイデータ19に基づくリプレイ動画では、過去のプレイが再現されるので、ゲーム動画には表示されない情報が含まれている。例えば、リプレイ動画がオブジェクト41の拡大或いは縮小を可能なように構成されている場合には、拡大或いは縮小しなければ表示されない他のオブジェクト(例えば小さいオブジェクトや縮小しなければ表示範囲に含まれないオブジェクト)等を表示することができる。あるいは、例えば、リプレイ動画が仮想カメラの視点を変更可能な場合には、過去のプレイが各種の視点から再現される。このため、オブジェクトを各種の向きで表示することができるので、例えば、他の角度(向き)にしか含まれていない情報を提供することができる。つまり、一つの視点だけでは表現できないプレイ状況を表現することができる。これらにより、ゲーム動画だけでは伝えきれないゲームの魅力を伝えることができるので、ゲームの利用をより促進することができる。
以上の形態において、センターサーバ2の制御ユニット10が、図7のルーチンを実行することにより本発明のデータ取得手段及びデータ更新手段として機能する。また、センターサーバ2の制御ユニット10が、図8のルーチンを実行することにより本発明の対象判別手段として機能する。さらに、センターサーバ2の記憶ユニット11が動画データ18及びリプレイデータ19を記憶することにより本発明のデータ記憶手段として機能する。
本発明は上述の形態に限定されず、適宜の形態にて実施することができる。例えば、上述の形態では、ユーザ端末5がソフトウェアの相違により動画表示端末及びゲーム端末の両方として機能している。しかし、本発明は、このような形態に限定されない。例えば、ユーザ端末5は、ハードの相違を通じて、動画表示端末又はゲーム端末として機能してもよい。つまり、例えば、パーソナルコンピュータ及びタブレットといった別々の2台のユーザ端末5が動画表示端末及びゲーム端末としてそれぞれ機能してもよい。さらに、例えば、センターサーバ2には、ユーザ端末5の他にも有料或いは無料で所定範囲のゲームをプレイさせる業務用(商業用)のゲーム機がゲーム端末としてネットワーク3を介して接続されてよい。また、この場合、このようなゲーム機は、ゲーム端末専用として使用されてもよい。
以下に、上述の内容から得られる本発明の一例を記載する。なお、以下の説明では本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記したが、それにより本発明が図示の形態に限定されるものではない。
本発明のサーバ装置は、ネットワーク(3)を介して接続されるリクエスト端末(5)に配信されるべき配信用データ(18、19)を記憶するデータ記憶手段を備え、前記リクエスト端末からの要求に応じて前記配信用データを前記リクエスト端末に配信するサーバ装置(2)であって、前記リクエスト端末がゲームを提供するゲーム端末(5)を含む場合に、当該ゲーム端末において前記ゲームの過去のプレイを再現するためのリプレイデータ(19)が前記配信用データとして機能するように前記ゲーム端末から前記リプレイデータを取得するデータ取得手段(10)と、各動画を表示するための動画データ(18)が前記配信用データとして機能するように前記リクエスト端末が各動画の表示に使用される動画表示端末(5)を含む場合に、前記過去のプレイに対応するゲーム動画を表示するためのゲーム動画データ(18a)を含むように前記動画データを更新するデータ更新手段(10)と、前記ゲーム端末に前記リプレイデータが、前記動画表示端末に前記動画データが、それぞれ配信されるように、前記リクエスト端末の種類に応じて前記リプレイデータ及び前記動画データのうちから配信対象を判別する対象判別手段(10)と、を備えている。
本発明によれば、ゲーム端末及び動画表示端末がリクエスト端末として機能する場合には、リプレイデータ及び動画データの両方が配信用データとして利用される。一方で、リプレイデータはゲーム端末において過去のプレイを再現するためのデータである。このため、リクエスト端末としてゲーム端末が機能する場合にはリプレイデータが、動画表示端末が機能する場合には動画データが、それぞれ配信対象として特定され、配信される。つまり、リクエスト端末の種類に応じて適切なデータが判別され、配信される。これにより、動画データ及びリプレイデータの両方を適切に配信することができる。結果として、ゲーム端末からリクエストがあった場合には、リプレイデータを通じてゲーム動画だけでは表現できないプレイ状況をユーザに伝えることができる。これにより、ゲーム動画だけでは伝えきれないゲームの魅力を伝えることができるので、ゲームの利用をより促進することができる。
また、リプレイデータは、過去のプレイを再現できる限り、各種の態様で構成されていてよい。例えば、本発明のサーバ装置の一態様において、前記リプレイデータは、前記ゲームが立体的なオブジェクト(41)を含む場合に、前記オブジェクトをユーザの選択に応じた方向から表示することにより前記ゲーム端末において前記過去のプレイが前記ユーザの選択に応じた視点で再現されるように、前記過去のプレイにおける前記オブジェクトの座標の情報を含んでいてもよい。この場合、リプレイデータを通じて過去のプレイが各種の視点から再現されるので、一つの視点だけでは表現できないプレイ状況を表現することができる。
また、ゲーム動画データは、動画データの更新のために各種の態様で取得されてよい。例えば、本発明のサーバ装置の一態様において、前記データ取得手段は、前記ゲーム端末が前記ゲーム動画データを生成する場合に、前記ゲーム端末から前記ゲーム動画データを更に取得し、前記データ更新手段は、前記データ取得手段の取得結果に基づいて前記動画データを更新してもよい。あるいは、前記データ更新手段は、前記リプレイデータに基づいて前記ゲーム動画データを生成することにより前記動画データを更新してもよい。
一方、本発明のコンピュータプログラムは、前記データ記憶手段を備えるコンピュータを、上述のサーバ装置の各手段として機能させるように構成されたものである。本発明のコンピュータプログラムが実行されることにより、本発明のサーバ装置を実現することができる。