説明

配信サーバ、データ配信方法及びプログラム

【課題】統計に用いる基礎データ及び基礎データを解析して得られる統計データを通信端末が利用できるように配信すること。
【解決手段】配信サーバ4は、統計に用いる基礎データを解析して統計データを生成するSTATSデータ解析部42と、基礎データ及び統計データの取得要求を通信端末から受信する制御部45を備える。また、通信端末に接続される通信回線の帯域を監視するネットワーク帯域監視部47を備える。また、基礎データ及び統計データのデータサイズ並びに通信回線の空き帯域に基づいて、基礎データ及び統計データを、通信回線を介して通信端末に同時に送信するための多重度を算出する多重度算出部48を備える。また、多重度に基づいて、基礎データ及び統計データを所定の単位に分割するデータ分割部49と、所定の単位に分割された基礎データ及び統計データを通信端末に送信するデータ送信部50と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、スポーツゲームが撮像された映像から得られるデータを通信端末に配信する場合に適用して好適な配信サーバ、配信方法及びプログラムに関する。
【背景技術】
【0002】
従来、サッカーゲーム等のスポーツゲームにおいて、サーバから通信端末に選手毎のプレイ(シュート、パス等)毎の情報を提供するサービスが実現されている。プレイ毎の情報は、例えば、STATSというデータフォーマットに従って記載される基礎データに含まれる。そして、サーバは、基礎データをXML(Extensible Markup Language)形式に変換し、HTTP(HyperText Transfer Protocol)を用いて、通信端末に配信していた。
【0003】
特許文献1には、特殊シナリオが存在する場合に、データ配信装置がCGデータを付加してシナリオデータと共に端末に送信する技術が開示されている。
【0004】
特許文献2には、検索ワードが記載されたテキストデータと検索条件をマッチングして、検索条件に該当するシーンを含む期間の映像データ、画像データ及びテキストデータのファイルをユーザに配信する技術が開示されている。
【特許文献1】特開2002−358534号公報
【特許文献2】特開2003−199060号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、基礎データを受信した通信端末は、専用のアプリケーションプログラムを起動させて、基礎データに含まれるx,yといった座標データを解析することによって、統計データを独自に求めていた。しかし、通信端末毎にこのような処理を行うと、通信端末の処理負荷が高くなってしまい不便が生じていた。
【0006】
本発明はこのような状況に鑑みて成されたものであり、統計に用いる基礎データ及び基礎データを解析して得られる統計データを通信端末が利用できるように配信することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、統計に用いる基礎データを解析して統計データを生成し、基礎データ及び統計データの取得要求を通信端末から受信し、通信端末に接続される通信回線の帯域を監視する。
次に、基礎データ及び統計データのデータサイズ並びに通信回線の空き帯域に基づいて、基礎データ及び統計データを、通信回線を介して通信端末に同時に送信するための多重度を算出する。
そして、多重度に基づいて、基礎データ及び統計データを所定の単位に分割し、所定の単位に分割された基礎データ及び統計データを通信端末に送信するものである。
【0008】
このようにしたことで、基礎データ及び統計データの取得要求をした通信端末に対し、基礎データに基づいて配信サーバが予め解析した統計データを、基礎データと共に多重して配信することが可能となった。
【発明の効果】
【0009】
本発明によれば、基礎データに基づいて配信サーバが予め解析した統計データを、基礎データと共に通信端末に配信することによって、通信端末が受信した基礎データを解析して統計データを改めて作成する必要がない。このため、通信端末の処理負荷が低減するという効果がある。
【発明を実施するための最良の形態】
【0010】
以下、発明を実施するための最良の形態(以下実施の形態とする。)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(基礎データ及び統計データの配信制御)
2.第2の実施の形態(基礎データ及び統計データの配信制御)
3.変形例
【0011】
<1.第1の実施の形態>
[データ配信システムの例]
【0012】
以下、本発明の第1の実施の形態について、図1〜図6を参照して説明する。本実施の形態では、例えば、サッカーゲームに参加するチームの情報、選手、審判の位置情報を規定するフォーマットに基づいて形成される基礎データと、基礎データを解析して得られる統計データを配信するデータ配信システム1に適用した例について説明する。
【0013】
図1は、本例のデータ配信システム1の構成例を示すブロック図である。
データ配信システム1は、基礎データと統計データの取得要求を行う通信端末2と、取得要求を受けた基礎データと統計データを通信端末2に配信する配信サーバ4を備える。通信端末2と配信サーバ4は、インターネット等によって接続され、例えば、SOAP(Simple Object Access Protocol)を用いて相互に通信することが可能である。
【0014】
クライアント側に位置する通信端末2は、画面を表示する表示部24に表示されたUI(User Interface)を介してユーザが操作入力を行う入力部21を備える。また、通信端末2は、入力部21の操作入力により生成されるリクエスト(取得要求)を受け付けるリクエスト受付部22を備える。また、通信端末2は、後述する第3の記憶部30にリクエストされたデータがキャッシュとして保存されているか否かを検索するキャッシュ制御部25を備える。このリクエストとして、例えば、試合中の特定の選手の動きを示すトラッキングファイルの取得要求がされる場合がある。リクエスト受付部22は、リクエストの内容に応じた処理をキャッシュ制御部25に入力する。
【0015】
また、通信端末2は、配信サーバ4から取得したデータ(または、第3の記憶部30に格納されているデータ)を用いて画面を生成するサービスUI生成部23と、サービスUI生成部により生成された、画面を表示する表示部24を備える。
【0016】
また、通信端末2は、リクエストの結果、配信サーバ4から取得したデータを、第3の記憶部30にキャッシュとして書き込み、第3の記憶部30からリクエストされたデータを読み出す制御を行うキャッシュ制御部25を備える。また、通信端末2は、キャッシュ制御部25を介して、配信サーバ4にリクエストされたデータを送信するリクエスト送信部26を備える。リクエスト送信部26は、配信サーバ4から通知される多重度、セッションに関する情報に基づいて、データの受信可否を配信サーバ4に送信することもある。
【0017】
キャッシュ制御部25は、リクエスト受付部22からの入力を受け、リクエストの対象となるデータが第3の記憶部30にある場合は、第3の記憶部30から取得したデータをサービスUI生成部23に渡す。対象データが第3の記憶部30にない場合は、リクエスト送信部26に対してリクエストの内容を引き渡す。これにより、キャッシュ制御部25から入力されたリクエストの内容を配信サーバ4に送信する。
【0018】
また、通信端末2は、多重非同期通信制御部27により起動された後、データ取得要求を配信サーバ4のデータ送信部50に送信するデータ受信部28を備える。また、通信端末2は、データ受信部28から入力された、分割されたデータを受け取り、結合するデータ結合部29を備える。
【0019】
データ受信部28は、データ取得要求の戻り値として送出用に分割されたSTATSデータを取得し、データ受信部28から入力された分割データをデータ結合部29に引き渡す。データ結合部29は、結合して得られるSTATSデータを第3の記憶部30に格納する。
【0020】
また、通信端末2は、配信サーバ4から指定される多重度の値に基づいて、データ受信部28、データ結合部29を多重のスレッドで起動する多重非同期通信制御部27を備える。各スレッドは独立して動作し、データ受信部28は、所定の単位で分割されたデータを配信サーバ4から受信する。そして、データ結合部29は、配信サーバ4からデータ取得完了通知を受けると分割されたデータを結合する。多重非同期通信制御部27は、データ受信部28からのデータ取得完了通知を受け、全てのスレッドでデータの受信が完了すると、その旨をリクエスト送信部26に通知する。
【0021】
一方、配信サーバ4は、動画ファイル自体は配信せず、動画ファイルに付随する情報であるメタデータのみを配信する。動画ファイルは不図示のメディアサーバ(Flash Media Server)などが配信することとなる。
配信サーバ4は、後述するSTATSフォーマットで記述されたSTATSデータ31をパース(構文解析)し、第1の記憶部43に書き出すSTATSデータ取込部41を備える。STATSデータ取込部41は、不図示の情報処理装置からSTATSデータ31を取り込む際、選手の移動速度、ボールを保持するチーム等の簡単な解析を行い、取り込んだSTATSデータ31に解析結果を付与する。
【0022】
配信サーバ4は、STATSデータ31と統計データ32を永続的に記憶する第1の記憶部43と、第1の記憶部43から一度読み出されたSTATSデータ31と統計データ32をキャッシュする第2の記憶部44を備える。第2の記憶部44は、通信端末2から取得要求があったSTATSデータ31と統計データ32を、第1の記憶部43が記憶する期間より短い所定の期間内だけ記憶する。
【0023】
また、配信サーバ4は、第1の記憶部43に格納されたSTATSデータ及びその他のデータを読み込み、解析処理を実行するSTATSデータ解析部42を備える。STATSデータ解析部42は、STATSデータ31を解析処理した結果、例えば、チーム毎のシュート本数、ゴール数、右足でのシュート確率、左足でのシュート確率等の統計データを得る。そして、STATSデータ解析部42は、解析して得られた統計データ32を第1の記憶部43に書き込む。
【0024】
また、配信サーバ4は、通信端末2からSTATSデータ31と統計データ32のリクエストを受信する制御部45と、制御部45から入力された取得要求の内容に応じて、キャッシュの有無をチェックするキャッシュ制御部46を備える。制御部45は、必要に応じてキャッシュ制御部46にリクエストの内容を引き渡す。
【0025】
また、配信サーバ4は、リクエストされたクライアントのネットワーク帯域、MTU(Maximum Transmission Unit)などを監視するネットワーク帯域監視部47を備える。また、配信サーバ4は、通信端末2がリクエストしたデータを配信する際に、多重度を算出する多重度算出部48を備える。
【0026】
キャッシュ制御部46は、通信端末2から取得要求があったSTATSデータ31と統計データ32を第1の記憶部43から読み出すと共に、第2の記憶部44にキャッシュとして記憶させる。また、キャッシュ制御部46は、所定の期間内に通信端末2からSTATSデータ31と統計データ32に対する再度の取得要求があった場合に、第2の記憶部44から読み出したSTATSデータ31と統計データ32をデータ分割部49に供給する。また、キャッシュ制御部46は、リクエストを受けたSTATSデータ31と統計データ32のデータサイズを、通信端末2に接続される通信回線のネットワーク帯域を監視するネットワーク帯域監視部47に引き渡す。
【0027】
ネットワーク帯域監視部47は、配信サーバ4に置いた数MBのファイルを、通信端末2が配信サーバ4に初めてアクセスする際に通信端末2にこのファイルをダウンロードさせる。通信端末2は、このダウンロードが完了するまで何秒かかったかという情報を配信サーバ4に通知することによって、ネットワーク帯域監視部47は、ネットワーク帯域のトラフィックを求めることができる。
【0028】
ネットワーク帯域監視部47は、データ受信部28がSTATSデータ31と統計データ32を受け取ってから、次のSTATSデータ31と統計データ32を取得するためのリクエストが配信サーバ4に通知されるまでの時間に基づいて、帯域を監視してもよい。「通知されるまでの時間」とは、例えば、後述する分割データ71−1(図4参照)の取得要求から分割データ71−2の取得要求が来るまでの時間を指す。
【0029】
また、ネットワーク帯域監視部47は、キャッシュ制御部46から入手したデータサイズと共に多重度算出部48に引き渡す。
多重度算出部48は、基礎データ及び統計データのデータサイズ並びに通信回線の空き帯域に基づいて、基礎データ及び統計データを、通信回線を介して通信端末に同時に送信するための多重度を算出する。例えば、多重度算出部48は、ネットワーク帯域監視部47から入手したリクエストの内容、データサイズなどにより、意味のある単位で分割することを考慮した「多重度」を決定する。
【0030】
「意味ある単位」は、後述するトラッキングファイル(チーム)、トラッキングファイル(選手)、トラッキングファイル(審判)等の区切りとしたり、イベントデータや統計データもチーム毎、選手毎といったように分割したりして得られる単位をいう。これらのファイルは、基礎データに含まれるデータであり、多重度算出部48は、基礎データに含まれるイベントデータ、フォーマットに基づいて定まるチームの情報、選手又は審判の位置情報に基づいて多重度を算出することとなる。例えば、「意味のある単位」として、試合、チーム、人物、世界標準時(UTC:Coordinated Universal Time)の時間範囲(例えば、10分間毎)等がある。そして、多重度算出部48は、決定した多重度を通信端末2の多重非同期通信制御部27に通知し、多重度、MTUなどの情報をデータ分割部49に通知する。
【0031】
データ分割部49は、データ送信部50から受けるデータ取得要求に基づいて、多重度算出部48から受け取った多重度等の情報(MTUなど)に基づいて、送出用の所定の単位にデータを分割し、データ送信部50に引き渡す。
【0032】
データ送信部50は、通信端末2のデータ受信部28からの要求を受け、データ分割部49に対し送信データの取得を要求する。そして、データ送信部50は、データ分割部49から受け取った、所定の単位に分割された基礎データ及び統計データを通信端末2に送信する。
【0033】
本例の多重度算出部48は、通信端末2に配信しようとするファイルのデータサイズとセッション数を考慮して適切な値を「多重度」として算出する。例えば、任意の選手の位置情報を取得するような要求があった場合、A,B,Cの3選手が指定されていれば、単純に多重度3とする。しかし、両チームの選手の1試合分のデータには、例えば、サッカーゲームの先発選手であれば22人の選手に関する位置情報等のデータが存在する。この場合、上述したように単純に人数分を多重度とすると、セッションの数が膨大となってしまいセッション管理が困難となる。このため、配信サーバ4は、通信端末2から受け取る、1つの要求に対する多重度の最大値を予め定めておく。
【0034】
例えば、配信サーバ4は、多重度の最大値を越えないようにデータを分割する処理を行う。ここで、選手毎に分割しようとしていたデータを、チーム単位で分割するように変更することがある。しかし、チーム単位でデータをまとめてしまうと1つのセッションで通信端末2に送信するデータサイズが大きくなることがある。この場合、チーム単位で分割していたデータを、更にゲームの前半又は後半といった意味のある単位に分割する。このようにデータを分割すれば、多重度算出部48は、多重度4を算出して、多重非同期通信制御部27とデータ分割部49に多重度を通知する。これにより、データサイズのみならずネットワークの帯域も考慮して多重度を動的に変更することが可能となる。なお、1つのセッションで送信するデータサイズの閾値も配信サーバ4に予め設定してもよい。
【0035】
図2は、映像データ、STATSデータ31及び統計データ32の例を示す。
本例では、各種のスポーツゲームのうち、サッカーゲームが表示される映像51を例にとって、STATSデータ31と統計データ32を説明する。映像51には、タッチラインとゴールラインで定まるフィールド上を様々な方向に移動する選手、審判、ボール等が表示される。
【0036】
従来、時間経過と共に、サッカーゲーム中に発生した、キックオフ、パス、タッチ等の情報がイベントデータ31aとして記録される。また、どの時点で、選手、審判、ボールがフィールド内のどの位置に移動したかを示す位置情報データ31bが記録される。イベントデータ31a、位置情報データ31bが含まれるSTATSデータ31は、統計・解析に用いる「基礎データ」として利用される。そして、STATSデータ31に統計処理や解析処理を施すことによって、統計データ32が得られる。
【0037】
図3は、STATSデータを規定するファイルフォーマット(STATSフォーマット)の例を示す。従来、STATSデータを、インターネットを介して効果的に配信するためのフレームワークは世の中に存在しておらず、STATSデータを配信するためのデータフォーマットは世の中に存在しなかった。そこで、本例に示すSTATSデータのファイルフォーマットを用いることによって、例えば、サッカーゲームの試合毎に統計の元となる基礎データを作成し、通信端末2に配信することができる。
【0038】
1試合毎のSTATSデータ31は、8バイトのレコードからなる制御ファイル61とトラッキングファイル62〜65によって構成される。トラッキングファイル62〜65には、UTCとフレームナンバーが付されており、所定の時間、またはフレーム毎に、トラッキングファイル62〜65が生成される。
【0039】
試合やチームを特定し、UTCを管理するために用いられる制御ファイル61には、ホームチーム、アウェイチームの選手の情報、各選手の位置情報、審判の情報が記録される。各選手の位置情報は、ユニフォームの背番号、ポジション毎のID等が規定されるレコード66によって識別される。
【0040】
ホームチームとアウェイチームのプレ解析に用いられるトラッキングファイル62には、例えば、フォワード(FW)の最前線(フロントエッジ)、最後線(バックワードエッジ)等の情報がチーム毎に記録される。
【0041】
ホームチームとアウェイチームの選手のトラッキング(追跡)とプレ解析に用いられるトラッキングファイル63には、ホームチーム、アウェイチームに共通する情報として、例えば、フィールドにおける各選手の座標データが記録される。各選手の座標データは、フィールド上における選手のx(タッチライン方向),y(ゴールライン方向),z(高さ方向)の情報、選手の顔の向きを示すx,y,zの情報等が規定されるレコード67によって識別される。
【0042】
審判のトラッキングに用いられるトラッキングファイル64には、例えば、各審判のフィールドにおける座標データが記録される。各審判の座標データは、フィールドにおける審判のx(タッチライン方向),y(ゴールライン方向),z(高さ方向)の情報、審判の顔の向きを示すx,y,zの情報等が規定されるレコード68によって識別される。
【0043】
ボールのトラッキングに用いられるトラッキングファイル65には、例えば、フィールド上におけるボールの座標データが記録される。
本例の配信サーバ4は、制御ファイル61、トラッキングファイル62〜65(STATSデータ31)に加えて、統計データ32を通信端末2に配信することによって、通信端末2の処理負荷を軽減している。
【0044】
[データ配信処理の例]
以下、通信端末2が配信サーバ4からSTATSデータ31と統計データ32を受信する処理例について説明する。
図4は、STATSデータ31と統計データ32の配信処理の例を示すシーケンス図である。
始めに、配信サーバ4は、一回に配信するSTATSデータ31と統計データ32のデータサイズを、配信するファイル全体のデータサイズ、ネットワークの帯域幅、MTUなどを考慮し、動的に決定する。このとき、配信サーバ4は、STATSデータを意味ある単位に分割し、TCPセッションの多重度を決定する。
【0045】
次に、配信サーバ4は、第1のSTATSデータ71,第2のSTATSデータ72及び統計データ73を3分割して(ステップS1)、それぞれ、分割データ71−1〜71−3,72−1〜72−3及び73−1〜73−3を作成する。本例の配信サーバ4は、データを3分割するが、分割する単位を任意に変えることも可能である。
【0046】
次に、分割したデータを順に第1のスレッド74a〜第3のスレッド74cに配信する。第1のスレッド74a〜第3のスレッド74cは、データ受信部28によって起動されるスレッドであり、スレッド毎に受信する分割データが決まっている。そして、第1のスレッド74a〜第3のスレッド74cは、対応する全ての分割データの受信を完了すると消滅する。
【0047】
配信サーバ4は、分割データ71−1を第1のスレッド74aに配信し(ステップS2)、分割データ72−1を第2のスレッド74bに配信し(ステップS3)、分割データ73−1を第3のスレッド74cに配信する(ステップS4)。
【0048】
同様に、配信サーバ4は、分割データ71−2を第1のスレッド74aに配信する(ステップS5)。以下、同様に、配信サーバ4は、分割データ72−2を第2のスレッド74bに配信し、分割データ73−2を第3のスレッド74cに配信する。
【0049】
次に、配信サーバ4は、分割データ71−3を第1のスレッド74aに配信する(ステップS6)。以下、同様に、配信サーバ4は、分割データ72−3を第2のスレッド74bに配信し、分割データ73−3を第3のスレッド74cに配信する。
【0050】
ところで、ステップS6の処理において、配信サーバ4は、第1のSTATSデータ71について、全ての分割データ(分割データ71−1〜71−3)の配信を完了したことを示す情報を通信端末2に送信する。第1のスレッド74aは、分割データ71−1〜71−3を全て受信すると、当該情報をデータ結合部29に通知する。
【0051】
次に、データ結合部29は、分割データ71−1〜71−3を結合して(ステップS8)、第1のSTATSデータ71を復元し、第3の記憶部30に第1のSTATSデータ71を保存する。
次に、キャッシュ制御部25は、データ結合部29が復元した第1のSTATSデータ71をサービスUI生成部23に供給する等の処理を開始する(ステップS9)。
【0052】
このように、データを分割して配信することによって、TCPセッションを多重で利用し、インターネットの帯域を最大限に利用できる。つまり、第2のSTATSデータ72と統計データ73の分割データを配信中であっても、先に受信した第1のSTATSデータ71の処理を先行することができる。そして、意味ある単位に分割されたデータの配信が完了した時点で処理をクライアントに渡すことでデータ取得の待ち時間を短縮することができる。
【0053】
図5は、通信端末2の処理例を示す。
始めに、入力部21は、ユーザからのSTATSデータ31と統計データ32のリクエスト入力を受け付ける(ステップS11)。次に、キャッシュ制御部25は、第3の記憶部30を検索し、リクエストされたSTATSデータ31と統計データ32の有無を判断する(ステップS12)。第3の記憶部30にリクエストされたSTATSデータ31と統計データ32が一時記憶されていれば、キャッシュ制御部25は、ステップS18に処理を移す。
【0054】
一方、第3の記憶部30にリクエストされたSTATSデータ31と統計データ32が一時記憶されていなければ、キャッシュ制御部25は、リクエスト送信部26にリクエストを送信する。そして、リクエスト送信部26は、配信サーバ4の制御部45にSTATSデータ31と統計データ32のリクエストを送信する(ステップS13)。
【0055】
次に、多重非同期通信制御部27は、配信サーバ4の多重度算出部48から多重度を受信する(ステップS14)。そして、データ受信部28は、配信サーバ4のデータ送信部50から所定の単位で分割されたSTATSデータ31と統計データ32を受信する(ステップS15)。
【0056】
データ結合部29は、データ受信部28が分割されたSTATSデータ31と統計データ32を全て受信すると、分割されたSTATSデータ31と統計データ32を結合する(ステップS16)。そして、データ結合部29は、第3の記憶部30に結合したSTATSデータ31と統計データ32を保存する(ステップS17)。
【0057】
次に、キャッシュ制御部25は、第3の記憶部30からSTATSデータ31と統計データ32を読み出し(ステップS18)、サービスUI生成部23に送信する。サービスUI生成部23は、キャッシュ制御部25から受け取ったSTATSデータ31と統計データ32に基づいて、サービスUIを生成し、表示部24に送信する(ステップS19)。そして、表示部24は、サービスUIを画面に表示する(ステップS20)。
【0058】
図6は、配信サーバ4の処理例を示す。
始めに、STATSデータ取込部41は、不図示の情報処理装置から入力されたSTATSデータ31を取り込んで(ステップS21)、第1の記憶部43にSTATSデータを保存する。
【0059】
次に、STATSデータ解析部42は、第1の記憶部43からSTATSデータ31を読み出して、解析を行い、統計データ32を生成し(ステップS23)、STATSデータ31と統計データ32を第1の記憶部43に保存する。
【0060】
次に、制御部45は、通信端末2からのリクエストを受信する(ステップS23)。そして、キャッシュ制御部46は、リクエストされたSTATSデータ31と統計データ32がキャッシュにあるか否かを検索する(ステップS24)。キャッシュ制御部46は、リクエストされたSTATSデータ31と統計データ32がキャッシュにあると判断した場合、第2の記憶部44からリクエストされたSTATSデータ31と統計データ32を読み出す(ステップS25)。
【0061】
一方、キャッシュ制御部46は、リクエストされたSTATSデータ31と統計データ32がキャッシュにないと判断した場合、第1の記憶部43からリクエストされたSTATSデータ31と統計データ32を読み出す(ステップS26)。そして、第2の記憶部44に第1の記憶部43から読み出したSTATSデータ31と統計データ32を書き込む(ステップS27)。
【0062】
次に、多重度算出部48は、通信端末2に配信するSTATSデータ31と統計データ32のデータサイズと、ネットワーク帯域監視部47の監視結果に基づいて、STATSデータ31と統計データ32の多重度を算出する(ステップS28)。このとき、多重度算出部48は、算出した多重度を通信端末2の多重非同期通信制御部27に通知する。
【0063】
次に、データ分割部49は、算出された多重度に従ってSTATSデータ31と統計データ32を分割する(ステップS30)。そして、データ送信部50は、通信端末2に分割されたSTATSデータ31と統計データ32を配信する(ステップS31)。
【0064】
このようにして、配信サーバ4は、大きなデータサイズのSTATSデータ31と統計データ32を分割して多重化した後、通信端末2に配信することが可能となる。ただし、小さなデータサイズのマスタデータ等は分割することなく、そのまま通信端末2に配信する。
【0065】
以上説明した第1の実施の形態に係るデータ配信システム1によれば、実際に撮像された映像に基づいて作成されるSTATSデータ31と、STATSデータ31を定量化・統計分析した統計データ32をインターネット等で通信端末2に配信できる。このとき、ネットワーク帯域、ファイルのデータサイズ等に応じて、STATSデータ31と統計データ32を分割し、セッションを多重化して通信端末2に配信することが可能である。このため、できる限り通信回線のネットワーク帯域を有効に活用してSTATSデータ31と統計データ32を配信することができるという効果がある。
【0066】
また、STATSデータ31と統計データ32は、図3で示されるSTATSフォーマットで通信端末2に配信される。このように、STATSデータ31と統計データ32を配信するためのファイルフォーマットを規定することにより、通信端末2は、予め配信サーバ4が作成した統計データ32を使うことが可能となる。この結果、通信端末2は、自機でSTATSデータ31から統計データ32を解析する必要が無くなり、通信端末2の処理負荷を軽減することができるという効果がある。
【0067】
<2.第2の実施の形態>
次に、本発明の第2の実施の形態について、図7を参照して説明する。
本実施の形態においても、通信端末2と配信サーバ4を備えるデータ配信システム1に適用した例について説明する。以下の説明において、既に第1の実施の形態で説明した図1と図4に対応する部分には同一符号を付し、詳細な説明を省略する。
【0068】
[データ配信処理の例]
以下、配信サーバ4から通信端末2がSTATSデータ31と統計データ32を受信する処理例について説明する。
図7は、データ配信処理の例を示すシーケンス図である。
始めに、配信サーバ4は、一回に配信するデータサイズを、配信するファイル全体のデータサイズ、ネットワークの帯域幅、MTUなどを考慮し、動的に決定する。
【0069】
次に、配信サーバ4は、第1のSTATSデータ71,第2のSTATSデータ72及び統計データ73を3分割して(ステップS41)、それぞれ、分割データ71−1〜71−3,72−1〜72−3及び73−1〜73−3を作成する。
【0070】
次に、分割したデータを順に第1のスレッド74a〜第3のスレッド74cに配信する。
配信サーバ4は、分割データ71−1を第1のスレッド74aに配信し(ステップS42)、分割データ72−1を第2のスレッド74bに配信する(ステップS43)。そして、分割データ73−1を第3のスレッド74cに配信する(ステップS44)。
【0071】
以下、同様に、配信サーバ4は、分割データ72−1を第1のスレッド74aに配信し、分割データ72−2を第2のスレッド74bに配信し、分割データ73−2を第3のスレッド74cに配信する。
【0072】
次に、配信サーバ4は、分割データ71−3を第1のスレッド74aに配信する(ステップS45)。以下、同様に、配信サーバ4は、分割データ72−3を第2のスレッド74bに配信し(ステップS46)、分割データ73−3を第3のスレッド74cに配信する(ステップS47)。
【0073】
本例においても、ステップS45,46,47の各処理において、配信サーバ4は、全ての分割データの配信を完了したことを示す情報を第1のスレッド74a〜第3のスレッド74cに通知する。そして、第1のスレッド74aは、データ結合部29に受信した分割データ71−1〜71−3を送信する。
【0074】
本例においては、データ結合部29は、全てのデータ(第1のSTATSデータ71,第2のSTATSデータ72及び統計データ73)の分割データを受信完了するまで、データの結合を待つ。このため、第2のスレッド74bは、データ結合部29に受信した分割データ72−1〜72−3を送り(ステップS48)、第3のスレッド74cは、データ結合部29に受信した分割データ73−1〜73−3を送信する(ステップS49)。
【0075】
次に、データ結合部29は、分割データ71−1〜71−3、72−1〜72−3、73−1〜73−3を結合し(ステップS51)、第1のSTATSデータ71,第2のSTATSデータ72及び統計データ73を復元する。そして、データ結合部29は、第3の記憶部30に第1のSTATSデータ71,第2のSTATSデータ72及び統計データ73を保存する。
【0076】
次に、キャッシュ制御部25は、データ結合部29が復元した第1のSTATSデータ71,第2のSTATSデータ72及び統計データ73をサービスUI生成部23に供給する等の処理を開始する(ステップS52)。
【0077】
以上説明した第2の実施の形態に係るデータ配信システム1によれば、通信端末2は、全てのスレッドが全ての分割されたSTATSデータ31と統計データ32を受信するまで処理の開始を待つ。このため、データを分割して多重かつ非同期に受信することでネットワークリソースを最大限に利用することとなり、1本のセッションで取得するよりもデータの受信処理を高速化することが可能となるという効果がある。本実施の形態に係る処理は、全スレッドが全てのデータを取得しないと通信端末2が処理を開始できないようなアプリケーションを動作させる場合に用いられる。このアプリケーションとしては、例えば、ホームチームとアウェイチームの選手の位置情報に基づいて、画面上に各選手の動きを表示するものがある。このようなアプリケーションを動作させるとき、先にホームチームの選手の位置情報を受信完了して、ホームチームの選手だけ画面上に動きを表示しても、アウェイチームの選手の動きが反映されないため、表示が無意味となってしまう。このため、ホームチームとアウェイチームの選手の位置情報を全てのスレッドで受信した後、処理を開始することによって、画面上にホームチームとアウェイチームの選手の動きを画面上に同時に表示することが可能となる。
【0078】
<3.変形例>
なお、上述した第1及び第2の実施の形態に係るデータ配信システム1では、STATSデータ31がいつの時点で得られたデータであるかは限定していない。このため、STATSデータ31と統計データ32は、実際にゲームが行われた時間より数時間程度遅れて配信されたとしても構わない。しかし、別の会場で行われたゲームの結果を他の会場であってもリアルタイムで知りたいという要望がある。この場合、配信サーバ4は、受け取ったSTATSデータ31をリアルタイムで処理し、統計データ32を作成して通信端末2に送ればよい。こうすることによって、配信サーバ4は、複数の会場の試合状況をリアルタイムで通信端末2に配信することが可能となり、データの速報性が高まるという効果がある。
【0079】
また、上述した第1及び第2の実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給してもよい。また、そのシステムあるいは装置のコンピュータ(またはCPU等の制御装置)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、機能が実現されることは言うまでもない。
【0080】
この場合のプログラムコードを供給するための記録媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0081】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現される。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部又は全部を行う。その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【0082】
また、本発明は上述した実施の形態に限られるものではなく、本発明の要旨を逸脱することなくその他種々の構成を取り得ることは勿論である。
【図面の簡単な説明】
【0083】
【図1】本発明の第1の実施の形態におけるデータ配信システムの内部構成例を示すブロック図である。
【図2】本発明の第1の実施の形態におけるイベントデータ、位置情報データ及び統計データの例を示す説明図である。
【図3】本発明の第1の実施の形態におけるSTATSデータのファイルフォーマットの例を示す説明図である。
【図4】本発明の第1の実施の形態におけるデータ配信処理の例を示すシーケンス図である。
【図5】本発明の第1の実施の形態における通信端末の処理例を示すフローチャートである。
【図6】本発明の第1の実施の形態における配信サーバの処理例を示すフローチャートである。
【図7】本発明の第2の実施の形態におけるデータ配信処理の例を示すシーケンス図である。
【符号の説明】
【0084】
1…データ配信システム、2…通信端末、4…配信サーバ、21…入力部、22…リクエスト受付部、23…サービスUI生成部、24…表示部、25…キャッシュ制御部、26…リクエスト送信部、27…多重非同期通信制御部、28…データ受信部、29…データ結合部、30…第3の記憶部、41…STATSデータ取込部、42…STATSデータ解析部、43…第1の記憶部、44…第2の記憶部、45…制御部、46…キャッシュ制御部、47…ネットワーク帯域監視部、48…多重度算出部、49…データ分割部、50…データ送信部、51…映像、31a…イベントデータ、31b…位置情報データ、61…制御ファイル、62〜65…トラッキングファイル

【特許請求の範囲】
【請求項1】
統計に用いる基礎データを解析して統計データを生成する解析部と、
前記基礎データ及び前記統計データの取得要求を通信端末から受信する制御部と、
前記通信端末に接続される通信回線の帯域を監視する帯域監視部と、
前記基礎データ及び前記統計データのデータサイズ並びに前記通信回線の空き帯域に基づいて、前記基礎データ及び前記統計データを、前記通信回線を介して前記通信端末に同時に送信するための多重度を算出する多重度算出部と、
前記多重度に基づいて、前記基礎データ及び前記統計データを所定の単位に分割する分割部と、
前記所定の単位に分割された前記基礎データ及び前記統計データを前記通信端末に送信する送信部と、を備える
配信サーバ。
【請求項2】
前記基礎データ及び前記統計データを記憶する第1の記憶部と、
前記通信端末から取得要求があった前記基礎データ及び前記統計データを、前記第1の記憶部が記憶する期間より短い所定の期間内だけ記憶する第2の記憶部と、
前記通信端末から取得要求があった前記基礎データ及び前記統計データを前記第1の記憶部から読み出すと共に、前記第2の記憶部にキャッシュとして記憶し、前記所定の期間内に前記通信端末から前記基礎データ及び前記統計データに対する再度の取得要求があった場合に、前記第2の記憶部から読み出した前記基礎データ及び前記統計データを前記分割部に供給するキャッシュ制御部と、を備える
請求項1記載の配信サーバ。
【請求項3】
前記基礎データは、スポーツゲームに参加するチームの情報、選手、審判の位置情報を規定するフォーマットに基づいて形成される
請求項2記載の配信サーバ。
【請求項4】
前記多重度算出部は、前記基礎データに含まれるイベントデータ、前記フォーマットに基づいて定まる前記チームの情報、前記選手又は前記審判の位置情報に基づいて前記多重度を算出する
請求項3記載の配信サーバ。
【請求項5】
統計に用いる基礎データを解析して統計データを生成するステップと、
前記基礎データ及び前記統計データの取得要求を通信端末から受信するステップと、
前記通信端末に接続される通信回線の帯域を監視するステップと、
前記基礎データ及び前記統計データのデータサイズ並びに前記通信回線の空き帯域に基づいて、前記基礎データ及び前記統計データを、前記通信回線を介して前記通信端末に同時に送信するための多重度を算出するステップと、
前記多重度に基づいて、前記基礎データ及び前記統計データを所定の単位に分割するステップと、
前記所定の単位に分割された前記基礎データ及び前記統計データを前記通信端末に送信するステップと、を有する
配信方法。
【請求項6】
統計に用いる基礎データを解析して統計データを生成するステップと、
前記基礎データ及び前記統計データの取得要求を通信端末から受信するステップと、
前記通信端末に接続される通信回線の帯域を監視するステップと、
前記基礎データ及び前記統計データのデータサイズ並びに前記通信回線の空き帯域に基づいて、前記基礎データ及び前記統計データを、前記通信回線を介して前記通信端末に同時に送信するための多重度を算出するステップと、
前記多重度に基づいて、前記基礎データ及び前記統計データを所定の単位に分割するステップと、
前記所定の単位に分割された前記基礎データ及び前記統計データを前記通信端末に送信するステップと、を含む
コンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−157895(P2010−157895A)
【公開日】平成22年7月15日(2010.7.15)
【国際特許分類】
【出願番号】特願2008−334938(P2008−334938)
【出願日】平成20年12月26日(2008.12.26)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】