(57)【要約】【課題】統計に用いる基礎データ及び基礎データを解析して得られる統計データを通信端末が利用できるように配信すること。【解決手段】配信サーバ４は、統計に用いる基礎データを解析して統計データを生成するＳＴＡＴＳデータ解析部４２と、基礎データ及び統計データの取得要求を通信端末から受信する制御部４５を備える。また、通信端末に接続される通信回線の帯域を監視するネットワーク帯域監視部４７を備える。また、基礎データ及び統計データのデータサイズ並びに通信回線の空き帯域に基づいて、基礎データ及び統計データを、通信回線を介して通信端末に同時に送信するための多重度を算出する多重度算出部４８を備える。また、多重度に基づいて、基礎データ及び統計データを所定の単位に分割するデータ分割部４９と、所定の単位に分割された基礎データ及び統計データを通信端末に送信するデータ送信部５０と、を備える。【選択図】図１
2010157895.tif 000002
【特許請求の範囲】
【請求項１】
統計に用いる基礎データを解析して統計データを生成する解析部と、
前記基礎データ及び前記統計データの取得要求を通信端末から受信する制御部と、
前記通信端末に接続される通信回線の帯域を監視する帯域監視部と、
前記基礎データ及び前記統計データのデータサイズ並びに前記通信回線の空き帯域に基づいて、前記基礎データ及び前記統計データを、前記通信回線を介して前記通信端末に同時に送信するための多重度を算出する多重度算出部と、
前記多重度に基づいて、前記基礎データ及び前記統計データを所定の単位に分割する分割部と、
前記所定の単位に分割された前記基礎データ及び前記統計データを前記通信端末に送信する送信部と、を備える
配信サーバ。
【請求項２】
前記基礎データ及び前記統計データを記憶する第１の記憶部と、
前記通信端末から取得要求があった前記基礎データ及び前記統計データを、前記第１の記憶部が記憶する期間より短い所定の期間内だけ記憶する第２の記憶部と、
前記通信端末から取得要求があった前記基礎データ及び前記統計データを前記第１の記憶部から読み出すと共に、前記第２の記憶部にキャッシュとして記憶し、前記所定の期間内に前記通信端末から前記基礎データ及び前記統計データに対する再度の取得要求があった場合に、前記第２の記憶部から読み出した前記基礎データ及び前記統計データを前記分割部に供給するキャッシュ制御部と、を備える
請求項１記載の配信サーバ。
【請求項３】
前記基礎データは、スポーツゲームに参加するチームの情報、選手、審判の位置情報を規定するフォーマットに基づいて形成される
請求項２記載の配信サーバ。
【請求項４】
前記多重度算出部は、前記基礎データに含まれるイベントデータ、前記フォーマットに基づいて定まる前記チームの情報、前記選手又は前記審判の位置情報に基づいて前記多重度を算出する
請求項３記載の配信サーバ。
【請求項５】
統計に用いる基礎データを解析して統計データを生成するステップと、
前記基礎データ及び前記統計データの取得要求を通信端末から受信するステップと、
前記通信端末に接続される通信回線の帯域を監視するステップと、
前記基礎データ及び前記統計データのデータサイズ並びに前記通信回線の空き帯域に基づいて、前記基礎データ及び前記統計データを、前記通信回線を介して前記通信端末に同時に送信するための多重度を算出するステップと、
前記多重度に基づいて、前記基礎データ及び前記統計データを所定の単位に分割するステップと、
前記所定の単位に分割された前記基礎データ及び前記統計データを前記通信端末に送信するステップと、を有する
配信方法。
【請求項６】
統計に用いる基礎データを解析して統計データを生成するステップと、
前記基礎データ及び前記統計データの取得要求を通信端末から受信するステップと、
前記通信端末に接続される通信回線の帯域を監視するステップと、
前記基礎データ及び前記統計データのデータサイズ並びに前記通信回線の空き帯域に基づいて、前記基礎データ及び前記統計データを、前記通信回線を介して前記通信端末に同時に送信するための多重度を算出するステップと、
前記多重度に基づいて、前記基礎データ及び前記統計データを所定の単位に分割するステップと、
前記所定の単位に分割された前記基礎データ及び前記統計データを前記通信端末に送信するステップと、を含む
コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、スポーツゲームが撮像された映像から得られるデータを通信端末に配信する場合に適用して好適な配信サーバ、配信方法及びプログラムに関する。
【背景技術】
【０００２】
従来、サッカーゲーム等のスポーツゲームにおいて、サーバから通信端末に選手毎のプレイ（シュート、パス等）毎の情報を提供するサービスが実現されている。プレイ毎の情報は、例えば、ＳＴＡＴＳというデータフォーマットに従って記載される基礎データに含まれる。そして、サーバは、基礎データをＸＭＬ（Extensible Markup Language）形式に変換し、ＨＴＴＰ（HyperText Transfer Protocol）を用いて、通信端末に配信していた。
【０００３】
特許文献１には、特殊シナリオが存在する場合に、データ配信装置がＣＧデータを付加してシナリオデータと共に端末に送信する技術が開示されている。
【０００４】
特許文献２には、検索ワードが記載されたテキストデータと検索条件をマッチングして、検索条件に該当するシーンを含む期間の映像データ、画像データ及びテキストデータのファイルをユーザに配信する技術が開示されている。
【特許文献１】特開２００２−３５８５３４号公報
【特許文献２】特開２００３−１９９０６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、基礎データを受信した通信端末は、専用のアプリケーションプログラムを起動させて、基礎データに含まれるｘ，ｙといった座標データを解析することによって、統計データを独自に求めていた。しかし、通信端末毎にこのような処理を行うと、通信端末の処理負荷が高くなってしまい不便が生じていた。
【０００６】
本発明はこのような状況に鑑みて成されたものであり、統計に用いる基礎データ及び基礎データを解析して得られる統計データを通信端末が利用できるように配信することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、統計に用いる基礎データを解析して統計データを生成し、基礎データ及び統計データの取得要求を通信端末から受信し、通信端末に接続される通信回線の帯域を監視する。
次に、基礎データ及び統計データのデータサイズ並びに通信回線の空き帯域に基づいて、基礎データ及び統計データを、通信回線を介して通信端末に同時に送信するための多重度を算出する。
そして、多重度に基づいて、基礎データ及び統計データを所定の単位に分割し、所定の単位に分割された基礎データ及び統計データを通信端末に送信するものである。
【０００８】
このようにしたことで、基礎データ及び統計データの取得要求をした通信端末に対し、基礎データに基づいて配信サーバが予め解析した統計データを、基礎データと共に多重して配信することが可能となった。
【発明の効果】
【０００９】
本発明によれば、基礎データに基づいて配信サーバが予め解析した統計データを、基礎データと共に通信端末に配信することによって、通信端末が受信した基礎データを解析して統計データを改めて作成する必要がない。このため、通信端末の処理負荷が低減するという効果がある。
【発明を実施するための最良の形態】
【００１０】
以下、発明を実施するための最良の形態（以下実施の形態とする。）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（基礎データ及び統計データの配信制御）
２．第２の実施の形態（基礎データ及び統計データの配信制御）
３．変形例
【００１１】
＜１．第１の実施の形態＞
［データ配信システムの例］
【００１２】
以下、本発明の第１の実施の形態について、図１〜図６を参照して説明する。本実施の形態では、例えば、サッカーゲームに参加するチームの情報、選手、審判の位置情報を規定するフォーマットに基づいて形成される基礎データと、基礎データを解析して得られる統計データを配信するデータ配信システム１に適用した例について説明する。
【００１３】
図１は、本例のデータ配信システム１の構成例を示すブロック図である。
データ配信システム１は、基礎データと統計データの取得要求を行う通信端末２と、取得要求を受けた基礎データと統計データを通信端末２に配信する配信サーバ４を備える。通信端末２と配信サーバ４は、インターネット等によって接続され、例えば、ＳＯＡＰ（Simple Object Access Protocol）を用いて相互に通信することが可能である。
【００１４】
クライアント側に位置する通信端末２は、画面を表示する表示部２４に表示されたＵＩ（User Interface）を介してユーザが操作入力を行う入力部２１を備える。また、通信端末２は、入力部２１の操作入力により生成されるリクエスト（取得要求）を受け付けるリクエスト受付部２２を備える。また、通信端末２は、後述する第３の記憶部３０にリクエストされたデータがキャッシュとして保存されているか否かを検索するキャッシュ制御部２５を備える。このリクエストとして、例えば、試合中の特定の選手の動きを示すトラッキングファイルの取得要求がされる場合がある。リクエスト受付部２２は、リクエストの内容に応じた処理をキャッシュ制御部２５に入力する。
【００１５】
また、通信端末２は、配信サーバ４から取得したデータ（または、第３の記憶部３０に格納されているデータ）を用いて画面を生成するサービスＵＩ生成部２３と、サービスＵＩ生成部により生成された、画面を表示する表示部２４を備える。
【００１６】
また、通信端末２は、リクエストの結果、配信サーバ４から取得したデータを、第３の記憶部３０にキャッシュとして書き込み、第３の記憶部３０からリクエストされたデータを読み出す制御を行うキャッシュ制御部２５を備える。また、通信端末２は、キャッシュ制御部２５を介して、配信サーバ４にリクエストされたデータを送信するリクエスト送信部２６を備える。リクエスト送信部２６は、配信サーバ４から通知される多重度、セッションに関する情報に基づいて、データの受信可否を配信サーバ４に送信することもある。
【００１７】
キャッシュ制御部２５は、リクエスト受付部２２からの入力を受け、リクエストの対象となるデータが第３の記憶部３０にある場合は、第３の記憶部３０から取得したデータをサービスＵＩ生成部２３に渡す。対象データが第３の記憶部３０にない場合は、リクエスト送信部２６に対してリクエストの内容を引き渡す。これにより、キャッシュ制御部２５から入力されたリクエストの内容を配信サーバ４に送信する。
【００１８】
また、通信端末２は、多重非同期通信制御部２７により起動された後、データ取得要求を配信サーバ４のデータ送信部５０に送信するデータ受信部２８を備える。また、通信端末２は、データ受信部２８から入力された、分割されたデータを受け取り、結合するデータ結合部２９を備える。
【００１９】
データ受信部２８は、データ取得要求の戻り値として送出用に分割されたＳＴＡＴＳデータを取得し、データ受信部２８から入力された分割データをデータ結合部２９に引き渡す。データ結合部２９は、結合して得られるＳＴＡＴＳデータを第３の記憶部３０に格納する。
【００２０】
また、通信端末２は、配信サーバ４から指定される多重度の値に基づいて、データ受信部２８、データ結合部２９を多重のスレッドで起動する多重非同期通信制御部２７を備える。各スレッドは独立して動作し、データ受信部２８は、所定の単位で分割されたデータを配信サーバ４から受信する。そして、データ結合部２９は、配信サーバ４からデータ取得完了通知を受けると分割されたデータを結合する。多重非同期通信制御部２７は、データ受信部２８からのデータ取得完了通知を受け、全てのスレッドでデータの受信が完了すると、その旨をリクエスト送信部２６に通知する。
【００２１】
一方、配信サーバ４は、動画ファイル自体は配信せず、動画ファイルに付随する情報であるメタデータのみを配信する。動画ファイルは不図示のメディアサーバ（Flash Media Server）などが配信することとなる。
配信サーバ４は、後述するＳＴＡＴＳフォーマットで記述されたＳＴＡＴＳデータ３１をパース（構文解析）し、第１の記憶部４３に書き出すＳＴＡＴＳデータ取込部４１を備える。ＳＴＡＴＳデータ取込部４１は、不図示の情報処理装置からＳＴＡＴＳデータ３１を取り込む際、選手の移動速度、ボールを保持するチーム等の簡単な解析を行い、取り込んだＳＴＡＴＳデータ３１に解析結果を付与する。
【００２２】
配信サーバ４は、ＳＴＡＴＳデータ３１と統計データ３２を永続的に記憶する第１の記憶部４３と、第１の記憶部４３から一度読み出されたＳＴＡＴＳデータ３１と統計データ３２をキャッシュする第２の記憶部４４を備える。第２の記憶部４４は、通信端末２から取得要求があったＳＴＡＴＳデータ３１と統計データ３２を、第１の記憶部４３が記憶する期間より短い所定の期間内だけ記憶する。
【００２３】
また、配信サーバ４は、第１の記憶部４３に格納されたＳＴＡＴＳデータ及びその他のデータを読み込み、解析処理を実行するＳＴＡＴＳデータ解析部４２を備える。ＳＴＡＴＳデータ解析部４２は、ＳＴＡＴＳデータ３１を解析処理した結果、例えば、チーム毎のシュート本数、ゴール数、右足でのシュート確率、左足でのシュート確率等の統計データを得る。そして、ＳＴＡＴＳデータ解析部４２は、解析して得られた統計データ３２を第１の記憶部４３に書き込む。
【００２４】
また、配信サーバ４は、通信端末２からＳＴＡＴＳデータ３１と統計データ３２のリクエストを受信する制御部４５と、制御部４５から入力された取得要求の内容に応じて、キャッシュの有無をチェックするキャッシュ制御部４６を備える。制御部４５は、必要に応じてキャッシュ制御部４６にリクエストの内容を引き渡す。
【００２５】
また、配信サーバ４は、リクエストされたクライアントのネットワーク帯域、ＭＴＵ（Maximum Transmission Unit）などを監視するネットワーク帯域監視部４７を備える。また、配信サーバ４は、通信端末２がリクエストしたデータを配信する際に、多重度を算出する多重度算出部４８を備える。
【００２６】
キャッシュ制御部４６は、通信端末２から取得要求があったＳＴＡＴＳデータ３１と統計データ３２を第１の記憶部４３から読み出すと共に、第２の記憶部４４にキャッシュとして記憶させる。また、キャッシュ制御部４６は、所定の期間内に通信端末２からＳＴＡＴＳデータ３１と統計データ３２に対する再度の取得要求があった場合に、第２の記憶部４４から読み出したＳＴＡＴＳデータ３１と統計データ３２をデータ分割部４９に供給する。また、キャッシュ制御部４６は、リクエストを受けたＳＴＡＴＳデータ３１と統計データ３２のデータサイズを、通信端末２に接続される通信回線のネットワーク帯域を監視するネットワーク帯域監視部４７に引き渡す。
【００２７】
ネットワーク帯域監視部４７は、配信サーバ４に置いた数ＭＢのファイルを、通信端末２が配信サーバ４に初めてアクセスする際に通信端末２にこのファイルをダウンロードさせる。通信端末２は、このダウンロードが完了するまで何秒かかったかという情報を配信サーバ４に通知することによって、ネットワーク帯域監視部４７は、ネットワーク帯域のトラフィックを求めることができる。
【００２８】
ネットワーク帯域監視部４７は、データ受信部２８がＳＴＡＴＳデータ３１と統計データ３２を受け取ってから、次のＳＴＡＴＳデータ３１と統計データ３２を取得するためのリクエストが配信サーバ４に通知されるまでの時間に基づいて、帯域を監視してもよい。「通知されるまでの時間」とは、例えば、後述する分割データ７１−１（図４参照）の取得要求から分割データ７１−２の取得要求が来るまでの時間を指す。
【００２９】
また、ネットワーク帯域監視部４７は、キャッシュ制御部４６から入手したデータサイズと共に多重度算出部４８に引き渡す。
多重度算出部４８は、基礎データ及び統計データのデータサイズ並びに通信回線の空き帯域に基づいて、基礎データ及び統計データを、通信回線を介して通信端末に同時に送信するための多重度を算出する。例えば、多重度算出部４８は、ネットワーク帯域監視部４７から入手したリクエストの内容、データサイズなどにより、意味のある単位で分割することを考慮した「多重度」を決定する。
【００３０】
「意味ある単位」は、後述するトラッキングファイル(チーム)、トラッキングファイル(選手)、トラッキングファイル(審判)等の区切りとしたり、イベントデータや統計データもチーム毎、選手毎といったように分割したりして得られる単位をいう。これらのファイルは、基礎データに含まれるデータであり、多重度算出部４８は、基礎データに含まれるイベントデータ、フォーマットに基づいて定まるチームの情報、選手又は審判の位置情報に基づいて多重度を算出することとなる。例えば、「意味のある単位」として、試合、チーム、人物、世界標準時（ＵＴＣ：Coordinated Universal Time）の時間範囲（例えば、１０分間毎）等がある。そして、多重度算出部４８は、決定した多重度を通信端末２の多重非同期通信制御部２７に通知し、多重度、ＭＴＵなどの情報をデータ分割部４９に通知する。
【００３１】
データ分割部４９は、データ送信部５０から受けるデータ取得要求に基づいて、多重度算出部４８から受け取った多重度等の情報（ＭＴＵなど）に基づいて、送出用の所定の単位にデータを分割し、データ送信部５０に引き渡す。
【００３２】
データ送信部５０は、通信端末２のデータ受信部２８からの要求を受け、データ分割部４９に対し送信データの取得を要求する。そして、データ送信部５０は、データ分割部４９から受け取った、所定の単位に分割された基礎データ及び統計データを通信端末２に送信する。
【００３３】
本例の多重度算出部４８は、通信端末２に配信しようとするファイルのデータサイズとセッション数を考慮して適切な値を「多重度」として算出する。例えば、任意の選手の位置情報を取得するような要求があった場合、Ａ，Ｂ，Ｃの３選手が指定されていれば、単純に多重度３とする。しかし、両チームの選手の１試合分のデータには、例えば、サッカーゲームの先発選手であれば２２人の選手に関する位置情報等のデータが存在する。この場合、上述したように単純に人数分を多重度とすると、セッションの数が膨大となってしまいセッション管理が困難となる。このため、配信サーバ４は、通信端末２から受け取る、１つの要求に対する多重度の最大値を予め定めておく。
【００３４】
例えば、配信サーバ４は、多重度の最大値を越えないようにデータを分割する処理を行う。ここで、選手毎に分割しようとしていたデータを、チーム単位で分割するように変更することがある。しかし、チーム単位でデータをまとめてしまうと１つのセッションで通信端末２に送信するデータサイズが大きくなることがある。この場合、チーム単位で分割していたデータを、更にゲームの前半又は後半といった意味のある単位に分割する。このようにデータを分割すれば、多重度算出部４８は、多重度４を算出して、多重非同期通信制御部２７とデータ分割部４９に多重度を通知する。これにより、データサイズのみならずネットワークの帯域も考慮して多重度を動的に変更することが可能となる。なお、１つのセッションで送信するデータサイズの閾値も配信サーバ４に予め設定してもよい。
【００３５】
図２は、映像データ、ＳＴＡＴＳデータ３１及び統計データ３２の例を示す。
本例では、各種のスポーツゲームのうち、サッカーゲームが表示される映像５１を例にとって、ＳＴＡＴＳデータ３１と統計データ３２を説明する。映像５１には、タッチラインとゴールラインで定まるフィールド上を様々な方向に移動する選手、審判、ボール等が表示される。
【００３６】
従来、時間経過と共に、サッカーゲーム中に発生した、キックオフ、パス、タッチ等の情報がイベントデータ３１ａとして記録される。また、どの時点で、選手、審判、ボールがフィールド内のどの位置に移動したかを示す位置情報データ３１ｂが記録される。イベントデータ３１ａ、位置情報データ３１ｂが含まれるＳＴＡＴＳデータ３１は、統計・解析に用いる「基礎データ」として利用される。そして、ＳＴＡＴＳデータ３１に統計処理や解析処理を施すことによって、統計データ３２が得られる。
【００３７】
図３は、ＳＴＡＴＳデータを規定するファイルフォーマット（ＳＴＡＴＳフォーマット）の例を示す。従来、ＳＴＡＴＳデータを、インターネットを介して効果的に配信するためのフレームワークは世の中に存在しておらず、ＳＴＡＴＳデータを配信するためのデータフォーマットは世の中に存在しなかった。そこで、本例に示すＳＴＡＴＳデータのファイルフォーマットを用いることによって、例えば、サッカーゲームの試合毎に統計の元となる基礎データを作成し、通信端末２に配信することができる。
【００３８】
１試合毎のＳＴＡＴＳデータ３１は、８バイトのレコードからなる制御ファイル６１とトラッキングファイル６２〜６５によって構成される。トラッキングファイル６２〜６５には、ＵＴＣとフレームナンバーが付されており、所定の時間、またはフレーム毎に、トラッキングファイル６２〜６５が生成される。
【００３９】
試合やチームを特定し、ＵＴＣを管理するために用いられる制御ファイル６１には、ホームチーム、アウェイチームの選手の情報、各選手の位置情報、審判の情報が記録される。各選手の位置情報は、ユニフォームの背番号、ポジション毎のＩＤ等が規定されるレコード６６によって識別される。
【００４０】
ホームチームとアウェイチームのプレ解析に用いられるトラッキングファイル６２には、例えば、フォワード（ＦＷ）の最前線（フロントエッジ）、最後線（バックワードエッジ）等の情報がチーム毎に記録される。
【００４１】
ホームチームとアウェイチームの選手のトラッキング（追跡）とプレ解析に用いられるトラッキングファイル６３には、ホームチーム、アウェイチームに共通する情報として、例えば、フィールドにおける各選手の座標データが記録される。各選手の座標データは、フィールド上における選手のｘ（タッチライン方向），ｙ（ゴールライン方向），ｚ（高さ方向）の情報、選手の顔の向きを示すｘ，ｙ，ｚの情報等が規定されるレコード６７によって識別される。
【００４２】
審判のトラッキングに用いられるトラッキングファイル６４には、例えば、各審判のフィールドにおける座標データが記録される。各審判の座標データは、フィールドにおける審判のｘ（タッチライン方向），ｙ（ゴールライン方向），ｚ（高さ方向）の情報、審判の顔の向きを示すｘ，ｙ，ｚの情報等が規定されるレコード６８によって識別される。
【００４３】
ボールのトラッキングに用いられるトラッキングファイル６５には、例えば、フィールド上におけるボールの座標データが記録される。
本例の配信サーバ４は、制御ファイル６１、トラッキングファイル６２〜６５（ＳＴＡＴＳデータ３１）に加えて、統計データ３２を通信端末２に配信することによって、通信端末２の処理負荷を軽減している。
【００４４】
［データ配信処理の例］
以下、通信端末２が配信サーバ４からＳＴＡＴＳデータ３１と統計データ３２を受信する処理例について説明する。
図４は、ＳＴＡＴＳデータ３１と統計データ３２の配信処理の例を示すシーケンス図である。
始めに、配信サーバ４は、一回に配信するＳＴＡＴＳデータ３１と統計データ３２のデータサイズを、配信するファイル全体のデータサイズ、ネットワークの帯域幅、ＭＴＵなどを考慮し、動的に決定する。このとき、配信サーバ４は、ＳＴＡＴＳデータを意味ある単位に分割し、ＴＣＰセッションの多重度を決定する。
【００４５】
次に、配信サーバ４は、第１のＳＴＡＴＳデータ７１，第２のＳＴＡＴＳデータ７２及び統計データ７３を３分割して（ステップＳ１）、それぞれ、分割データ７１−１〜７１−３，７２−１〜７２−３及び７３−１〜７３−３を作成する。本例の配信サーバ４は、データを３分割するが、分割する単位を任意に変えることも可能である。
【００４６】
次に、分割したデータを順に第１のスレッド７４ａ〜第３のスレッド７４ｃに配信する。第１のスレッド７４ａ〜第３のスレッド７４ｃは、データ受信部２８によって起動されるスレッドであり、スレッド毎に受信する分割データが決まっている。そして、第１のスレッド７４ａ〜第３のスレッド７４ｃは、対応する全ての分割データの受信を完了すると消滅する。
【００４７】
配信サーバ４は、分割データ７１−１を第１のスレッド７４ａに配信し（ステップＳ２）、分割データ７２−１を第２のスレッド７４ｂに配信し（ステップＳ３）、分割データ７３−１を第３のスレッド７４ｃに配信する（ステップＳ４）。
【００４８】
同様に、配信サーバ４は、分割データ７１−２を第１のスレッド７４ａに配信する（ステップＳ５）。以下、同様に、配信サーバ４は、分割データ７２−２を第２のスレッド７４ｂに配信し、分割データ７３−２を第３のスレッド７４ｃに配信する。
【００４９】
次に、配信サーバ４は、分割データ７１−３を第１のスレッド７４ａに配信する（ステップＳ６）。以下、同様に、配信サーバ４は、分割データ７２−３を第２のスレッド７４ｂに配信し、分割データ７３−３を第３のスレッド７４ｃに配信する。
【００５０】
ところで、ステップＳ６の処理において、配信サーバ４は、第１のＳＴＡＴＳデータ７１について、全ての分割データ（分割データ７１−１〜７１−３）の配信を完了したことを示す情報を通信端末２に送信する。第１のスレッド７４ａは、分割データ７１−１〜７１−３を全て受信すると、当該情報をデータ結合部２９に通知する。
【００５１】
次に、データ結合部２９は、分割データ７１−１〜７１−３を結合して（ステップＳ８）、第１のＳＴＡＴＳデータ７１を復元し、第３の記憶部３０に第１のＳＴＡＴＳデータ７１を保存する。
次に、キャッシュ制御部２５は、データ結合部２９が復元した第１のＳＴＡＴＳデータ７１をサービスＵＩ生成部２３に供給する等の処理を開始する（ステップＳ９）。
【００５２】
このように、データを分割して配信することによって、ＴＣＰセッションを多重で利用し、インターネットの帯域を最大限に利用できる。つまり、第２のＳＴＡＴＳデータ７２と統計データ７３の分割データを配信中であっても、先に受信した第１のＳＴＡＴＳデータ７１の処理を先行することができる。そして、意味ある単位に分割されたデータの配信が完了した時点で処理をクライアントに渡すことでデータ取得の待ち時間を短縮することができる。
【００５３】
図５は、通信端末２の処理例を示す。
始めに、入力部２１は、ユーザからのＳＴＡＴＳデータ３１と統計データ３２のリクエスト入力を受け付ける（ステップＳ１１）。次に、キャッシュ制御部２５は、第３の記憶部３０を検索し、リクエストされたＳＴＡＴＳデータ３１と統計データ３２の有無を判断する（ステップＳ１２）。第３の記憶部３０にリクエストされたＳＴＡＴＳデータ３１と統計データ３２が一時記憶されていれば、キャッシュ制御部２５は、ステップＳ１８に処理を移す。
【００５４】
一方、第３の記憶部３０にリクエストされたＳＴＡＴＳデータ３１と統計データ３２が一時記憶されていなければ、キャッシュ制御部２５は、リクエスト送信部２６にリクエストを送信する。そして、リクエスト送信部２６は、配信サーバ４の制御部４５にＳＴＡＴＳデータ３１と統計データ３２のリクエストを送信する（ステップＳ１３）。
【００５５】
次に、多重非同期通信制御部２７は、配信サーバ４の多重度算出部４８から多重度を受信する（ステップＳ１４）。そして、データ受信部２８は、配信サーバ４のデータ送信部５０から所定の単位で分割されたＳＴＡＴＳデータ３１と統計データ３２を受信する（ステップＳ１５）。
【００５６】
データ結合部２９は、データ受信部２８が分割されたＳＴＡＴＳデータ３１と統計データ３２を全て受信すると、分割されたＳＴＡＴＳデータ３１と統計データ３２を結合する（ステップＳ１６）。そして、データ結合部２９は、第３の記憶部３０に結合したＳＴＡＴＳデータ３１と統計データ３２を保存する（ステップＳ１７）。
【００５７】
次に、キャッシュ制御部２５は、第３の記憶部３０からＳＴＡＴＳデータ３１と統計データ３２を読み出し（ステップＳ１８）、サービスＵＩ生成部２３に送信する。サービスＵＩ生成部２３は、キャッシュ制御部２５から受け取ったＳＴＡＴＳデータ３１と統計データ３２に基づいて、サービスＵＩを生成し、表示部２４に送信する（ステップＳ１９）。そして、表示部２４は、サービスＵＩを画面に表示する（ステップＳ２０）。
【００５８】
図６は、配信サーバ４の処理例を示す。
始めに、ＳＴＡＴＳデータ取込部４１は、不図示の情報処理装置から入力されたＳＴＡＴＳデータ３１を取り込んで（ステップＳ２１）、第１の記憶部４３にＳＴＡＴＳデータを保存する。
【００５９】
次に、ＳＴＡＴＳデータ解析部４２は、第１の記憶部４３からＳＴＡＴＳデータ３１を読み出して、解析を行い、統計データ３２を生成し（ステップＳ２３）、ＳＴＡＴＳデータ３１と統計データ３２を第１の記憶部４３に保存する。
【００６０】
次に、制御部４５は、通信端末２からのリクエストを受信する（ステップＳ２３）。そして、キャッシュ制御部４６は、リクエストされたＳＴＡＴＳデータ３１と統計データ３２がキャッシュにあるか否かを検索する（ステップＳ２４）。キャッシュ制御部４６は、リクエストされたＳＴＡＴＳデータ３１と統計データ３２がキャッシュにあると判断した場合、第２の記憶部４４からリクエストされたＳＴＡＴＳデータ３１と統計データ３２を読み出す（ステップＳ２５）。
【００６１】
一方、キャッシュ制御部４６は、リクエストされたＳＴＡＴＳデータ３１と統計データ３２がキャッシュにないと判断した場合、第１の記憶部４３からリクエストされたＳＴＡＴＳデータ３１と統計データ３２を読み出す（ステップＳ２６）。そして、第２の記憶部４４に第１の記憶部４３から読み出したＳＴＡＴＳデータ３１と統計データ３２を書き込む（ステップＳ２７）。
【００６２】
次に、多重度算出部４８は、通信端末２に配信するＳＴＡＴＳデータ３１と統計データ３２のデータサイズと、ネットワーク帯域監視部４７の監視結果に基づいて、ＳＴＡＴＳデータ３１と統計データ３２の多重度を算出する（ステップＳ２８）。このとき、多重度算出部４８は、算出した多重度を通信端末２の多重非同期通信制御部２７に通知する。
【００６３】
次に、データ分割部４９は、算出された多重度に従ってＳＴＡＴＳデータ３１と統計データ３２を分割する（ステップＳ３０）。そして、データ送信部５０は、通信端末２に分割されたＳＴＡＴＳデータ３１と統計データ３２を配信する（ステップＳ３１）。
【００６４】
このようにして、配信サーバ４は、大きなデータサイズのＳＴＡＴＳデータ３１と統計データ３２を分割して多重化した後、通信端末２に配信することが可能となる。ただし、小さなデータサイズのマスタデータ等は分割することなく、そのまま通信端末２に配信する。
【００６５】
以上説明した第１の実施の形態に係るデータ配信システム１によれば、実際に撮像された映像に基づいて作成されるＳＴＡＴＳデータ３１と、ＳＴＡＴＳデータ３１を定量化・統計分析した統計データ３２をインターネット等で通信端末２に配信できる。このとき、ネットワーク帯域、ファイルのデータサイズ等に応じて、ＳＴＡＴＳデータ３１と統計データ３２を分割し、セッションを多重化して通信端末２に配信することが可能である。このため、できる限り通信回線のネットワーク帯域を有効に活用してＳＴＡＴＳデータ３１と統計データ３２を配信することができるという効果がある。
【００６６】
また、ＳＴＡＴＳデータ３１と統計データ３２は、図３で示されるＳＴＡＴＳフォーマットで通信端末２に配信される。このように、ＳＴＡＴＳデータ３１と統計データ３２を配信するためのファイルフォーマットを規定することにより、通信端末２は、予め配信サーバ４が作成した統計データ３２を使うことが可能となる。この結果、通信端末２は、自機でＳＴＡＴＳデータ３１から統計データ３２を解析する必要が無くなり、通信端末２の処理負荷を軽減することができるという効果がある。
【００６７】
＜２．第２の実施の形態＞
次に、本発明の第２の実施の形態について、図７を参照して説明する。
本実施の形態においても、通信端末２と配信サーバ４を備えるデータ配信システム１に適用した例について説明する。以下の説明において、既に第１の実施の形態で説明した図１と図４に対応する部分には同一符号を付し、詳細な説明を省略する。
【００６８】
［データ配信処理の例］
以下、配信サーバ４から通信端末２がＳＴＡＴＳデータ３１と統計データ３２を受信する処理例について説明する。
図７は、データ配信処理の例を示すシーケンス図である。
始めに、配信サーバ４は、一回に配信するデータサイズを、配信するファイル全体のデータサイズ、ネットワークの帯域幅、ＭＴＵなどを考慮し、動的に決定する。
【００６９】
次に、配信サーバ４は、第１のＳＴＡＴＳデータ７１，第２のＳＴＡＴＳデータ７２及び統計データ７３を３分割して（ステップＳ４１）、それぞれ、分割データ７１−１〜７１−３，７２−１〜７２−３及び７３−１〜７３−３を作成する。
【００７０】
次に、分割したデータを順に第１のスレッド７４ａ〜第３のスレッド７４ｃに配信する。
配信サーバ４は、分割データ７１−１を第１のスレッド７４ａに配信し（ステップＳ４２）、分割データ７２−１を第２のスレッド７４ｂに配信する（ステップＳ４３）。そして、分割データ７３−１を第３のスレッド７４ｃに配信する（ステップＳ４４）。
【００７１】
以下、同様に、配信サーバ４は、分割データ７２−１を第１のスレッド７４ａに配信し、分割データ７２−２を第２のスレッド７４ｂに配信し、分割データ７３−２を第３のスレッド７４ｃに配信する。
【００７２】
次に、配信サーバ４は、分割データ７１−３を第１のスレッド７４ａに配信する（ステップＳ４５）。以下、同様に、配信サーバ４は、分割データ７２−３を第２のスレッド７４ｂに配信し（ステップＳ４６）、分割データ７３−３を第３のスレッド７４ｃに配信する（ステップＳ４７）。
【００７３】
本例においても、ステップＳ４５，４６，４７の各処理において、配信サーバ４は、全ての分割データの配信を完了したことを示す情報を第１のスレッド７４ａ〜第３のスレッド７４ｃに通知する。そして、第１のスレッド７４ａは、データ結合部２９に受信した分割データ７１−１〜７１−３を送信する。
【００７４】
本例においては、データ結合部２９は、全てのデータ（第１のＳＴＡＴＳデータ７１，第２のＳＴＡＴＳデータ７２及び統計データ７３）の分割データを受信完了するまで、データの結合を待つ。このため、第２のスレッド７４ｂは、データ結合部２９に受信した分割データ７２−１〜７２−３を送り（ステップＳ４８）、第３のスレッド７４ｃは、データ結合部２９に受信した分割データ７３−１〜７３−３を送信する（ステップＳ４９）。
【００７５】
次に、データ結合部２９は、分割データ７１−１〜７１−３、７２−１〜７２−３、７３−１〜７３−３を結合し（ステップＳ５１）、第１のＳＴＡＴＳデータ７１，第２のＳＴＡＴＳデータ７２及び統計データ７３を復元する。そして、データ結合部２９は、第３の記憶部３０に第１のＳＴＡＴＳデータ７１，第２のＳＴＡＴＳデータ７２及び統計データ７３を保存する。
【００７６】
次に、キャッシュ制御部２５は、データ結合部２９が復元した第１のＳＴＡＴＳデータ７１，第２のＳＴＡＴＳデータ７２及び統計データ７３をサービスＵＩ生成部２３に供給する等の処理を開始する（ステップＳ５２）。
【００７７】
以上説明した第２の実施の形態に係るデータ配信システム１によれば、通信端末２は、全てのスレッドが全ての分割されたＳＴＡＴＳデータ３１と統計データ３２を受信するまで処理の開始を待つ。このため、データを分割して多重かつ非同期に受信することでネットワークリソースを最大限に利用することとなり、１本のセッションで取得するよりもデータの受信処理を高速化することが可能となるという効果がある。本実施の形態に係る処理は、全スレッドが全てのデータを取得しないと通信端末２が処理を開始できないようなアプリケーションを動作させる場合に用いられる。このアプリケーションとしては、例えば、ホームチームとアウェイチームの選手の位置情報に基づいて、画面上に各選手の動きを表示するものがある。このようなアプリケーションを動作させるとき、先にホームチームの選手の位置情報を受信完了して、ホームチームの選手だけ画面上に動きを表示しても、アウェイチームの選手の動きが反映されないため、表示が無意味となってしまう。このため、ホームチームとアウェイチームの選手の位置情報を全てのスレッドで受信した後、処理を開始することによって、画面上にホームチームとアウェイチームの選手の動きを画面上に同時に表示することが可能となる。
【００７８】
＜３．変形例＞
なお、上述した第１及び第２の実施の形態に係るデータ配信システム１では、ＳＴＡＴＳデータ３１がいつの時点で得られたデータであるかは限定していない。このため、ＳＴＡＴＳデータ３１と統計データ３２は、実際にゲームが行われた時間より数時間程度遅れて配信されたとしても構わない。しかし、別の会場で行われたゲームの結果を他の会場であってもリアルタイムで知りたいという要望がある。この場合、配信サーバ４は、受け取ったＳＴＡＴＳデータ３１をリアルタイムで処理し、統計データ３２を作成して通信端末２に送ればよい。こうすることによって、配信サーバ４は、複数の会場の試合状況をリアルタイムで通信端末２に配信することが可能となり、データの速報性が高まるという効果がある。
【００７９】
また、上述した第１及び第２の実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給してもよい。また、そのシステムあるいは装置のコンピュータ（またはＣＰＵ等の制御装置）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、機能が実現されることは言うまでもない。
【００８０】
この場合のプログラムコードを供給するための記録媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８１】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現される。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部又は全部を行う。その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【００８２】
また、本発明は上述した実施の形態に限られるものではなく、本発明の要旨を逸脱することなくその他種々の構成を取り得ることは勿論である。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１の実施の形態におけるデータ配信システムの内部構成例を示すブロック図である。
【図２】本発明の第１の実施の形態におけるイベントデータ、位置情報データ及び統計データの例を示す説明図である。
【図３】本発明の第１の実施の形態におけるＳＴＡＴＳデータのファイルフォーマットの例を示す説明図である。
【図４】本発明の第１の実施の形態におけるデータ配信処理の例を示すシーケンス図である。
【図５】本発明の第１の実施の形態における通信端末の処理例を示すフローチャートである。
【図６】本発明の第１の実施の形態における配信サーバの処理例を示すフローチャートである。
【図７】本発明の第２の実施の形態におけるデータ配信処理の例を示すシーケンス図である。
【符号の説明】
【００８４】
１…データ配信システム、２…通信端末、４…配信サーバ、２１…入力部、２２…リクエスト受付部、２３…サービスＵＩ生成部、２４…表示部、２５…キャッシュ制御部、２６…リクエスト送信部、２７…多重非同期通信制御部、２８…データ受信部、２９…データ結合部、３０…第３の記憶部、４１…ＳＴＡＴＳデータ取込部、４２…ＳＴＡＴＳデータ解析部、４３…第１の記憶部、４４…第２の記憶部、４５…制御部、４６…キャッシュ制御部、４７…ネットワーク帯域監視部、４８…多重度算出部、４９…データ分割部、５０…データ送信部、５１…映像、３１ａ…イベントデータ、３１ｂ…位置情報データ、６１…制御ファイル、６２〜６５…トラッキングファイル
【図１】
2010157895.tif 000003
【図２】
2010157895.tif 000004
【図３】
2010157895.tif 000005
【図４】
2010157895.tif 000006
【図５】
2010157895.tif 000007
【図６】
2010157895.tif 000008
【図７】
2010157895.tif 000009