(57)【特許請求の範囲】
【請求項１】
映像を配信するサーバと、該サーバとネットワークを介して通信するクライアントとを有し、配信映像と同期するイベントを処理する映像配信システムであって、
前記サーバは、前記映像の各再生位置におけるイベントを示すイベント識別子と前記イベントに対応して実行される処理を示すアクション内容情報とが指定されたアクションテーブルを複数保持しており、
前記クライアントは、
配信される映像を再生する映像再生プレイヤ手段と、
前記映像再生プレイヤ手段を制御するプレイヤ制御手段と、
前記サーバに保持される複数のアクションテーブルの中から、映像視聴開始以前及び映像再生途中の任意の時点で利用者が指定した複数のアクションテーブルを選択するアクションテーブル選択手段と、
前記選択された複数のアクションテーブルをダウンロードし管理するアクションテーブル管理手段であって、前記アクションテーブル選択手段が新たにアクションテーブルを選択した場合に当該新たに選択されたアクションテーブルを追加してダウンロードするアクションテーブル管理手段と、
前記映像再生プレイヤ手段から再生位置を逐次取得するとともに、前記アクションテーブル管理手段により管理される前記ダウンロードされた複数のアクションテーブルの内容を参照し、前記再生位置に応じて当該複数のアクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するための処理を行うイベント処理手段と、
を有する、映像配信システム。
【請求項２】
映像を配信するサーバと、該サーバとネットワークを介して通信するクライアントとを有し、配信映像と同期するイベントを処理する映像配信システムであって、
前記サーバは、前記映像の各再生位置におけるイベントを示すイベント識別子と前記イベントに対応して実行される処理を示すアクション内容情報とが指定されたアクションテーブルを複数保持しており、
前記クライアントは、
配信される映像を再生する映像再生プレイヤ手段と、
前記映像再生プレイヤ手段を制御するプレイヤ制御手段と、
前記サーバに保持される複数のアクションテーブルの中から複数のアクションテーブルを選択するためのアクションテーブル選択手段と、
前記選択された複数のアクションテーブルをダウンロードし管理するアクションテーブル管理手段と、
前記映像再生プレイヤ手段から再生位置を逐次取得するとともに、前記アクションテーブル管理手段により管理される前記ダウンロードされたアクションテーブルの内容を参照し、前記再生位置に応じて当該アクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するための処理を行うイベント処理手段と、
を有し、
前記イベント処理手段は、前記プレイヤ制御手段より制御情報を取得し、
前記アクションテーブル管理手段により管理される複数のアクションテーブルに記述されるイベントを処理するために、
再生開始時点で、最初にイベントが発生する再生位置、当該イベントのイベント識別子、及び対応するアクション内容情報を前記アクションテーブル管理手段より取得し、前記最初にイベントが発生する再生位置に対応する時刻までのタイマーを始動し、
イベントが発生する再生位置に対応する時刻になった時点で、当該イベントに対応するアクション内容情報に基づく処理を実行するための処理を行うとともに、次にイベントが発生する再生位置、そのイベントのイベント識別子、及び対応するアクション内容情報を前記アクションテーブル管理手段より取得し、当該次にイベントが発生する再生位置に対応する時刻までのタイマーを始動する処理を実行し、イベントが発生する再生位置に対応する時刻に到達するごとに該処理を繰り返し、
前記アクションテーブル管理手段は、
選択されたアクションテーブルの変更に関する情報を含むアクションテーブル選択要求が前記アクションテーブル選択手段より通知された時点で、
該時点以降に利用可能となるアクションテーブルの内容に応じて、該時点において前記イベント処理手段に設定されている、次にイベントが発生する再生位置、イベント識別子、及び対応するアクション内容情報を更新し、前記更新された次にイベントが発生する再生位置に対応して前記タイマーを更新する、映像配信システム。
【請求項３】
映像を配信するサーバからネットワークを介して映像が配信され、配信映像と同期するイベントを処理するクライアントであって、
配信される映像を再生する映像再生プレイヤ手段と、
前記映像再生プレイヤ手段を制御するプレイヤ制御手段と、
前記サーバに保持される複数のアクションテーブルの中から、映像視聴開始以前及び映像再生途中の任意の時点で利用者が指定した複数のアクションテーブルを選択するアクションテーブル選択手段と、
前記選択された複数のアクションテーブルを前記サーバからダウンロードし管理するアクションテーブル管理手段であって、前記アクションテーブル選択手段が新たにアクションテーブルを選択した場合に当該新たに選択されたアクションテーブルを追加してダウンロードするアクションテーブル管理手段と、
前記映像再生プレイヤ手段から再生位置を逐次取得するとともに、前記アクションテーブル管理手段により管理される前記ダウンロードされた複数のアクションテーブルの内容を参照し、前記再生位置に応じて当該複数のアクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するための処理を行うイベント処理手段と、
を有する、クライアント。
【請求項４】
映像を配信するサーバからネットワークを介して映像が配信され、配信映像と同期するイベントを処理するクライアントであって、
配信される映像を再生する映像再生プレイヤ手段と、
前記映像再生プレイヤ手段を制御するプレイヤ制御手段と、
前記サーバに保持される複数のアクションテーブルの中の複数のアクションテーブルを選択するためのアクションテーブル選択手段と、
少なくとも前記選択されたアクションテーブルを含む複数のアクションテーブルを前記サーバからダウンロードし管理するアクションテーブル管理手段と、
前記映像再生プレイヤ手段から再生位置を逐次取得するとともに、前記アクションテーブル管理手段により管理される前記ダウンロードされたアクションテーブルの内容を参照し、前記再生位置に応じてアクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するための処理を行うイベント処理手段と、
を有し、
前記イベント処理手段は、前記プレイヤ制御手段より制御情報を取得し、
前記アクションテーブル管理手段により管理される複数のアクションテーブルに記述されるイベントを処理するために、
再生開始時点で、最初にイベントが発生する再生位置、当該イベントのイベント識別子、及び対応するアクション内容情報を前記アクションテーブル管理手段より取得し、前記最初にイベントが発生する再生位置に対応する時刻までのタイマーを始動し、
イベントが発生する再生位置に対応する時刻になった時点で、当該イベントに対応するアクション内容情報に基づく処理を実行するための処理を行うとともに、次にイベントが発生する再生位置、そのイベントのイベント識別子、及び対応するアクション内容情報を前記アクションテーブル管理手段より取得し、当該次にイベントが発生する再生位置に対応する時刻までのタイマーを始動する処理を実行し、イベントが発生する再生位置に対応する時刻に到達するごとに該処理を繰り返し、
前記アクションテーブル管理手段は、
選択されたアクションテーブルの変更に関する情報を含むアクションテーブル選択要求が前記アクションテーブル選択手段より通知された時点で、
該時点以降に利用可能となるアクションテーブルの内容に応じて、該時点において前記イベント処理手段に設定されている、次にイベントが発生する再生位置、イベント識別子、及び対応するアクション内容情報を更新し、前記更新された次にイベントが発生する再生位置に対応して前記タイマーを更新する、クライアント。
【請求項５】
映像を配信するサーバからネットワークを介して映像が配信されるクライアントにおける、配信映像と同期するイベントを処理するイベント処理方法であって、
配信される映像を再生する段階と、
前記サーバに保持される複数のアクションテーブルの中から、映像視聴開始以前及び映像再生途中の任意の時点で利用者が指定した複数のアクションテーブルを選択するための入力を受け付ける段階と、
前記選択された複数のアクションテーブルを前記サーバからダウンロードし管理する段階であって、新たにアクションテーブルを選択された場合に当該新たに選択されたアクションテーブルを追加してダウンロードする段階と、
前記映像の再生における再生位置を逐次取得するとともに、前記ダウンロードされた複数のアクションテーブルの内容を参照し、前記再生位置に応じてアクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するためのイベント処理を行う段階と、
を有する、イベント処理方法。
【請求項６】
映像を配信するサーバからネットワークを介して映像が配信されるクライアントにおける、配信映像と同期するイベントを処理するイベント処理方法であって、
配信される映像を再生する段階と、
前記サーバに保持される複数のアクションテーブルの中の複数のアクションテーブルを選択する入力を受け付ける段階と、
少なくとも前記選択されたアクションテーブルを含む複数のアクションテーブルを前記サーバからダウンロードし管理する段階と、
前記映像の再生における再生位置を逐次取得するとともに、前記ダウンロードされたアクションテーブルの内容を参照し、前記再生位置に応じてアクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するためのイベント処理を行う段階と、
を有し、
前記イベント処理を行う段階は、
前記映像の再生のための制御情報を取得する段階と、
前記ダウンロードされた複数のアクションテーブルに記述されるイベントを処理するために、再生開始時点で、最初にイベントが発生する再生位置、当該イベントのイベント識別子、及び対応するアクション内容情報を前記ダウンロードされたアクションテーブルより取得し、前記最初にイベントが発生する再生位置に対応する時刻までのタイマーを始動する段階と、
イベントが発生する再生位置に対応する時刻になった時点で、当該イベントに対応するアクション内容情報に基づく処理を実行するための処理を行うとともに、次にイベントが発生する再生位置、そのイベントのイベント識別子、及び対応するアクション内容情報を前記ダウンロードされたアクションテーブルより取得し、当該次にイベントが発生する再生位置に対応する時刻までのタイマーを始動する処理を実行し、イベントが発生する再生位置に対応する時刻に到達するごとに該処理を繰り返す段階と、
選択されたアクションテーブルの変更に関する情報を含むアクションテーブル選択要求が通知された時点で、該時点以降に利用可能となるアクションテーブルの内容に応じて、該時点において設定されている、前記次にイベントが発生する再生位置、前記イベント識別子、及び前記対応するアクション内容情報を更新し、前記更新された次にイベントが発生する再生位置に対応して前記タイマーを更新する段階と、有するイベント処理方法。
【請求項７】
映像を配信するサーバからネットワークを介して映像が配信されるクライアントを構成するコンピュータに、請求項５または６に記載のイベント処理方法を実行させるプログラム。
【請求項８】
コンピュータが読取り可能な記録媒体であって、請求項７に記載のプログラムが格納された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して映像を配信するシステムにおけるイベント処理方法に関し、特に、映像を配信されたクライアント（端末）においてこの映像と同期するイベントを処理できる映像配信システムと、この映像配信システムにおけるクライアントと、このようなクライアントにおけるイベント処理方法とに関する。
【０００２】
【従来の技術】
インターネットなどのネットワークを介して映像を配信するための各種のシステムや手法が提案されている。ネットワークを介した映像配信では、一般に、映像を蓄積したサーバをネットワークに接続し、このサーバから、ネットワークに接続されたクライアント（端末）に対して映像を配信するようにしている。このような映像配信においては、近年、映像をサーバからクライアントに配信してこの映像をクライアントにおいて単に視聴できるようにするだけでなく、クライアントにおいて配信映像に同期するイベントを処理できるようにすることが試みられている。例えば、映像中のある情景（シーン）に関連する文字情報などを視聴者（利用者）の要望に応じて表示したりすることが実用化されている。
【０００３】
配信映像に同期するイベントを処理する手法として、配信される映像ストリームファイルそのものにイベントトリガを埋め込んでおき、映像再生プレイヤが映像ファイルを再生中にそのイベントトリガを検出した時点で、そのイベントトリガに対応付けられたアクションを実行する方法がある。このような方法を実装したシステムとして、Ｍｉｃｒｏｓｏｆｔ（マイクロソフト）社の“Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｐｌａｙｅｒ”がある。
【０００４】
また、映像に同期して発生するイベントが記述されたファイルを取得し、このファイルでの記述に基づいたタイミングでイベントを処理していく方法がある。このような記述には、記述言語としてはＸＭＬ(eXtensible Markup Language)が一般的に用いられており、映像に同期して発生するイベントを記述するためのＸＭＬ記述として、Ｗ３Ｃ(World Wide Web Consortium)がＳＭＩＬ(Synchronized Multimedia Integration Language)を規定している。このＳＭＩＬは、主として、映像及びその他のメディアが同期したマルチメディアストリーミングコンテンツを記述することを目的としている。ＳＭＩＬを用いることで、様々なメディアが時空間的にレイアウトされたストリーミングコンテンツを再生することが可能である。ＳＭＩＬを用い映像その他のメディアを同期して再生するシステムとして、Ｒｅａｌ  Ｎｅｔｗｏｒｋｓ（リアルネットワークス）社の“Ｒｅａｌ  Ｐｌａｙｅｒ”がある。また、ＸＭＬによるイベント記述を用いた映像同期イベント処理システムとして、秦泉寺，高森，森西，端山，“インターネットにおけるマルチメディア同期配信システム，”２０００年電子情報通信学会総合大会，Ｄ―９―２０，２０００などが開発されている。
【０００５】
さらに、配信映像を再生しているクライアントに対してイベント発生情報をサーバ側からプッシュ配信することにより、映像に同期するイベントを処理する方法がある。前記の秦泉寺、高森、森西、端山、“インターネットにおけるマルチメディア同期配信システム，”２０００年電子情報通信学会総合大会，Ｄ―９―２０，２０００では、プロトコルとしてＨＴＴＰ(HyperText Transfer Protocol)を用いた擬似的なプッシュ配信によりサーバがクライアントへＸＭＬ形式のイベント情報を提供することにより、クライアントにおいて映像に同期したイベント処理を実現することができるようにしている。
【０００６】
【発明が解決しようとする課題】
ところで上述したイベント処理方法には、処理すべきイベントを利用者の選択によって異ならせることが難しい、という問題点がある。
【０００７】
処理すべきイベントを利用者が選択するサービスとしては、具体的には、以下のようなものが考えられる。利用者がドラマの配信映像を視聴する際に、事前に、自分が興味を持っている項目を選択する。選択される項目としては、ストーリ、タレント、衣装、アクセサリ、音楽などが挙げられる。例えば、ストーリを選択した利用者のクライアントにおいては、映像視聴中のドラマのストーリ上重要なシーンにおいて自動的にマーキング要求がなされ、そのシーンのストーリに関する関連情報あるいはそのシーン映像そのものへのポインタが取得される。また、タレントを選択した利用者のクライアントにおいては、視聴中にそのドラマにおいて新しい登場人物あるいは新しいタレントが登場したシーンにおいて、自動的にマーキング要求がなされ、その（登場人物を演ずる）タレントに関する関連情報が取得される。利用者は、複数の興味項目を選択可能であり、例えば、ストーリ及びタレントの項目を選択した利用者のクライアントにおいては、ドラマのストーリ上重要なシーン及びタレントが登場したシーンにおいて、自動的にマーキング要求がなされ関連情報が取得される。
【０００８】
このようなシステムでは、利用者の選択により映像に同期するイベントが発生するべき再生位置が異なる。したがって、配信される映像ストリームファイルそのものにイベントトリガを埋め込んでおく方法を用いる場合には、想定されるイベントの発生パターン分、異なるタイミングでイベントトリガが埋め込まれた映像ストリームファイルを用意しておくことが必要である上、利用者が視聴途中にイベント（すなわちマーキング要求）発生タイミングに関する選択項目を更新した場合に、再生する映像ストリームファイルを切り替える必要があり、再生が途切れてしまうという重大な課題がある。
【０００９】
ＳＭＩＬ等の記述を用いる同期イベント処理方法でも、想定されるイベントの発生パターン分だけ異なる記述を用意しておくことが必要となる。マーキング要求発生タイミングに関する選択項目数が多くなると、選択項目の組み合わせの数が爆発的に増加し、想定されるイベント発生パターンの数も爆発的に増加し、すべてのパターンの記述を用意しておくのに手間がかかるようになる。また、この手法でも、利用者が視聴途中にイベント発生タイミングに関する選択項目を変更した場合に、参照するイベント記述を交換する必要が生じる。しかしながら、複数のメディアが同期したストリーミングコンテンツの再生を意図した従来のシステムでは、再生プレイヤが単一のイベント記述を参照し、このイベント記述に規定されるシナリオに沿って順次イベント実行していく構成になっているから、参照するイベント記述を変更する際には、一度再生を停止し、別のイベント記述ファイルにアクセスするという手順が発生することとなり、配信される映像ストリームファイルそのものにイベントトリガを埋め込んでおく方法と同様に再生が途切れてしまうという課題がある。
【００１０】
また、従来のＳＭＩＬ等の記述を用いる同期イベント処理システムでは、専用の映像再生プレイヤ自身がその記述を読み込んで処理する構成となっている。したがって、映像再生プレイヤあるいはソフトウェアなどによる映像再生プレイヤ手段として、その専用のもの以外の様々な例えば汎用の映像再生プレイヤコンポーネントを用いることができないため、その専用の映像再生プレイヤが再生可能な形式での映像ファイルのみしか扱えない。映像再生プレイヤ手段として、専用のもの以外の様々な映像再生プレイヤコンポーネントを用いる構成としたシステムを考える場合、イベント記述を用いて配信映像と同期するイベントを処理するイベント処理手段は、逐次、映像再生プレイヤ手段から、現在再生中に再生位置を取得し、イベントが関連付けられた再生位置になった時点でそのイベントに対応付けられた処理を実行することになる。しかしこの方法では、イベントの発生タイミングの精度を向上させるために、極めて頻繁に、映像再生プレイヤ手段から、現在再生中の再生位置を取得する処理を実行する必要が生じる。このため、処理負荷が高くなり、処理能力の低いクライアント（端末装置）においては、映像の乱れなどが発生する要因になりうる。
【００１１】
また、配信映像を再生しているクライアントに対してイベント情報をサーバ側からプッシュ配信し、このイベント情報に基づいて、映像に同期するイベントをクライアントが処理する方法では、サーバからのイベント情報が受信されたことをトリガとして、クライアントはイベントに対応する処理を実行する。このため、イベント情報を伝送するネットワークにおいて伝送遅延がある場合には、イベントの発生タイミングが、所望するタイミングよりもその伝送遅延の分だけ遅れるという問題が生じる。インターネットなどのパケット通信ネットワークでは、伝送遅延が一定でないため、伝送遅延を予測して予測された伝送遅延の分だけ早くイベント情報をクライアント側に送出するといった対策を取ることは困難である。この手法は、特に、ライブ中継映像に関連して動的に発生するイベントに同期した処理の実現に用いることができるが、伝送遅延の影響を受けるということから、既にどの再生位置でどのイベントを発生するかが既知であるような蓄積映像を対象とする場合に適したものであり、より正確なタイミングでイベント処理を実現することを目的とする場合には適切でない。
【００１２】
そこで本発明の目的は、宮奥健人，重吉宏樹，阿久津明人，外村佳伸，“個人利用向け情報管理システムのためのメディア連携方式，”電子情報通信学会２００１年ソサイエティ大会，基礎・境界，p. 218，2001.9.18-21に記載されているような構成のシステムに関して、特にネットワークなどを介して配信・放送される映像の任意の再生位置においてマーキング要求を行うことによりその再生位置の映像（画像）に関連する情報を取得できるシステムにおいて、利用者の事前の設定に応じて自動的に所定のタイミングでマーキング要求を行うことができるようにした映像配信システムと、この映像配信システムで用いられるクライアントと、そのクライアントでのイベント処理方法とを提供することにある。
【００１３】
【課題を解決するための手段】
本発明の映像配信システムは、映像を配信するサーバと、サーバとネットワークを介して通信するクライアントとを有し、配信映像と同期するイベントを処理する映像配信システムであって、サーバは、映像の各再生位置におけるイベントを示すイベント識別子とイベントに対応して実行される処理を示すアクション内容情報とが指定されたアクションテーブルを複数保持しており、クライアントは、配信される映像を再生する映像再生プレイヤ手段と、映像再生プレイヤ手段を制御するプレイヤ制御手段と、サーバに保持される複数のアクションテーブルの中から、映像視聴開始以前及び映像再生途中の任意の時点で利用者が指定した複数のアクションテーブルを選択するアクションテーブル選択手段と、選択された複数のアクションテーブルをダウンロードし管理するアクションテーブル管理手段であって、アクションテーブル選択手段が新たにアクションテーブルを選択した場合にその新たに選択されたアクションテーブルを追加してダウンロードするアクションテーブル管理手段と、映像再生プレイヤ手段から再生位置を逐次取得するとともに、アクションテーブル管理手段により管理されるダウンロードされた複数のアクションテーブルの内容を参照し、再生位置に応じてその複数のアクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するための処理を行うイベント処理手段と、を有する。この映像配信システムにおいて、アプリケーションテーブル管理手段は、利用者の選択とは無関係に事前に指定されているアクションテーブルもサーバからダウンロードして管理するようにすることができる。
【００１４】
本発明のクライアントは、映像を配信するサーバからネットワークを介して映像が配信され、配信映像と同期するイベントを処理するクライアントであって、配信される映像を再生する映像再生プレイヤ手段と、映像再生プレイヤ手段を制御するプレイヤ制御手段と、サーバに保持される複数のアクションテーブルの中から、映像視聴開始以前及び映像再生途中の任意の時点で利用者が指定した複数のアクションテーブルを選択するアクションテーブル選択手段と、選択された複数のアクションテーブルをサーバからダウンロードし管理するアクションテーブル管理手段であって、アクションテーブル選択手段が新たにアクションテーブルを選択した場合にその新たに選択されたアクションテーブルを追加してダウンロードするアクションテーブル管理手段と、映像再生プレイヤ手段から再生位置を逐次取得するとともに、アクションテーブル管理手段により管理されるダウンロードされた複数のアクションテーブルの内容を参照し、再生位置に応じてその複数のアクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するための処理を行うイベント処理手段と、を有する。
【００１５】
このように構成された本発明の映像配信システム及びクライアントでは、複数のアクションテーブルを統括的に管理するアクションテーブル管理手段を設け、クライアント側で逐次取得したアクションテーブルをマージする処理をこのアクションテーブル管理手段により行う構成としたことにより、イベント記述であるアクションテーブルを用いる方法ではあるが、想定されるイベントの発生パターンの数の分だけ異なるアクションテーブルを用意しておく必要がなくなる。その結果、サーバ側においては、イベント発生タイミングに関する選択項目の数の分だけ、アクションテーブルを用意しておけばよいようになる。
【００１６】
本発明では、イベント処理手段は、プレイヤ制御手段より制御情報を取得し、アクションテーブル管理手段により管理されるアクションテーブルに記述されるイベントを処理するために、再生開始時点で、最初にイベントが発生する再生位置、そのイベントのイベント識別子、及び対応するアクション内容情報をアクションテーブル管理手段より取得し、最初にイベントが発生する再生位置に対応する時刻までのタイマーを始動し、イベントが発生する再生位置に対応する時刻になった時点で、そのイベントに対応するアクション内容情報に基づく処理を実行するための処理を行うとともに、次にイベントが発生する再生位置、そのイベントのイベント識別子、及び対応するアクション内容情報をアクションテーブル管理手段より取得し、当該次にイベントが発生する再生位置に対応する時刻までのタイマーを始動する処理を実行し、イベントが発生する再生位置に対応する時刻に到達するごとにこの処理を繰り返すようにすることが好ましい。
【００１７】
このように構成することにより、イベント処理手段は、タイマー処理によりイベント発生時おきにイベントに対応する処理を行うとともに、次イベントの情報を取得するよう動作するようになる。このことによって、視聴途中の任意の時点に利用者がイベント発生タイミングに関する選択項目を変更し、参照するアクションテーブルが更新されても、アクションテーブル管理手段が管理するアクションテーブルが更新されることのみによって、以降のイベント発生タイミングは変更された選択項目に対応したものになる。このため、視聴途中の任意の時点に利用者によってイベント発生タイミングに関する選択項目が変更されても、従来のシステムのように映像再生が途切れるという問題は起こらない。
【００１８】
さらに、上記のようにタイマー式でイベント処理手段が動作することによって、現在再生中に再生位置を映像再生プレイヤ手段から頻繁に取得しなくとも、正確なタイミングでイベントを発生できる。
【００１９】
本発明では、さらに、イベント処理手段は、映像の再生においてポーズ（再生一時中止）、早送り、巻き戻し及び再生位置変更のいずれかの制御が発生したことが制御情報としてプレイヤ制御手段から通知された時点で、タイマーをリセットし、再び前記映像の再生が開始された時点で、再生が開始された再生位置を取得し、その再生位置から判断される、次にイベントが発生する再生位置、イベントのイベント識別子、及び対応するアクション内容情報をアクションテーブル管理手段より取得し、当該次にイベントが発生する再生位置に対応する時刻までのタイマーを始動するようにすることが、好ましい。このように構成するのは、映像再生に対して利用者がポーズ（再生一時中止）、早送り、巻き戻しなどの再生位置変更の制御を行った際に、イベントの発生タイミングがずれることを回避し、正確なタイミングでイベントが発生することを保証するためである。
【００２０】
さらにまた本発明では、アクションテーブル管理手段は、別のアクションテーブルの選択もしくは既に選択されたアクションテーブルの変更に関する情報を含むアクションテーブル選択要求がアクションテーブル選択手段より通知された時点で、その変更に応じて、サーバから必要なアクションテーブルをダウンロードするとともに不要なアクションテーブルを削除し、更新された管理対象となるアクションテーブルの内容に応じて、その時点においてイベント処理手段に設定されている、次にイベントが発生する再生位置、イベント識別子、及び対応するアクション内容情報を更新し、更新された次にイベントが発生する再生位置に対応してタイマーを更新するようにすることが、好ましい。このように構成するのは、視聴途中の任意の時点で利用者がイベント発生タイミングに関する選択項目をアクションテーブル選択手段によって変更し、参照するアクションテーブルが変更された際に、変更が発生した時点でイベント処理手段が次に処理しようとしているイベントは、変更以前のアクションテーブルに対応するものとなっていることから、これを更新することによって、その時点以降のイベントを変更されたアクションテーブルに対応させるためである。
【００２１】
本発明では、サーバに、さらに映像での各再生位置に関連する関連情報を保持する関連情報データベースと、関連情報を検索して提供する関連情報提供手段とを設け、クライアントに、さらに、イベント処理手段よりマーキングが要求された場合に、映像の、アクション内容情報としてマーキングが指定されたイベントの発生した再生位置に関連する関連情報を関連情報提供手段に要求し、関連情報を取得するマーキング処理手段と、マーキング処理手段より追加されるマークを追加表示し、表示したマークが選択された場合に、対応する関連情報を提示するマーク選択手段と、を設け、イベント処理手段は、アクションテーブルに記述されたイベントに対応するアクション内容情報としてマーキングが指定される場合、アクション内容情報に基づく処理を実行するための処理として、マーキング処理手段にマーキング要求を送り、マーキング処理手段は、関連情報を取得したときにその関連情報を選択し閲覧するためのマークをマーク選択手段に追加するようにすることが好ましい。
【００２２】
このように構成することによって、配信映像の任意の再生位置においてマーキング要求を行うことによりその再生位置の映像（画像）の関連情報を取得できるシステムにおいて、利用者の事前の設定に応じて自動的に所定のタイミングでマーキング要求を行い、取得された関連情報を利用するシステムが実現される。
【００２３】
【発明の実施の形態】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。
【００２４】
図１は、本発明の好ましい実施の形態における映像配信システムの構成の一例を示すブロック図である。この映像配信システムは、宮奥健人，重吉宏樹，阿久津明人，外村佳伸，“個人利用向け情報管理システムのためのメディア連携方式，”電子情報通信学会２００１年ソサイエティ大会，基礎・境界，p. 218，2001.9.18-21に記載されているような構成のシステムであって、特に、ネットワークなどを介して配信・放送される映像の任意の再生位置においてマーキング要求を行うことによりその再生位置の映像（画像）に関連する情報を取得できるようにしたシステムであり、ここでは、利用者の事前の設定に応じて自動的に所定のタイミングでマーキング要求が行われるようになっている。
【００２５】
図１に示したようにこのシステムは、映像を配信するとともにその映像に関する情報を保持し提供するサーバ１０と、サーバ１０とネットワーク４０を介して通信するクライアント２０とから構成されている。ここで、映像を配信するサーバと、この映像に関する情報を保持し提供するサーバは、必ずしも同一のサーバでなくてよい。このシステムにおけるサーバは、実際には複数台のサーバによってその機能を実現する構成となることがある。すなわちサーバ１０は、物理的に離れて配置された複数台のサーバ装置から構成されていてもよい。
【００２６】
サーバ１０は、複数のアクションテーブルを保持するアクションテーブル保持部１１と、配信すべき映像ファイルが格納された映像ファイル格納部１２と、映像の各再生位置に関連する関連情報を保持する関連情報データベース１３と、クライアント２０側からの関連情報要求に応じて関連情報データベース１３を検索し、該当する関連情報をクライアント２０側に提供する関連情報提供部１４と、を備えている。ここでアクションテーブルとは、映像の各再生位置におけるイベントを示すイベント識別子とそのイベントに対応して実行される処理を示すアクション内容情報とを指定するものである。アクションテーブル保持部１１に保持されたアクションテーブルは、ネットワーク４０を介してクライアント２０がダウンロードできるようになっている。また映像ファイル格納部１２に格納されている映像ファイルは、ネットワーク４０を介してクライアント２０に配信されるようになっている。ここで関連情報提供部１４は関連情報提供手段に該当する。このようなサーバは、いわゆるサーバ用コンピュータと呼ばれる汎用のコンピュータに、上述したアクションテーブル保持部１１、映像ファイル格納部１２、関連情報データベース１３及び関連情報提供部１４としての機能を実現するコンピュータプログラムを読み込ませ、そのプログラムをその汎用コンピュータ上で実行させることにより、実現することができる。
【００２７】
一方、クライアント２０は、後述するように、典型的には、インターネットなどのネットワーク４０に接続されるパーソナルコンピュータなどであって、このパーソナルコンピュータ上で実行されるソフトウェアプログラムによって実現されるものである。クライアント２０は、サーバ１０側からネットワーク４０を介して配信された映像を再生する映像再生プレイヤ２１と、映像再生プレイヤ２１を制御するプレイヤ制御部２２と、サーバ１０に保持される複数のアクションテーブル中の一つもしくは複数のアクションテーブルを選択するためのアクションテーブル選択部２３と、事前に指定されているアクションテーブル及び選択された一つもしくは複数のアクションテーブルをサーバ１０からダウンロードし管理するアクションテーブル管理部２４と、ダウンロードしたアクションテーブルを保持するアクションテーブル保持部２５と、映像再生プレイヤ２１より再生位置に逐次取得するとともに、アクションテーブル管理２４により管理されるダウンロードされたアクションテーブルの内容を参照し、取得した再生位置に応じてアクションテーブルにおいて指定されたアクション内容情報に基づく処理を実行するための処理を行うイベント処理部２６とを備えている。ここで、映像再生プレイヤ２１、プレイヤ制御部２２、アクションテーブル選択部２３、アクションテーブル管理部２４及びイベント処理部２６は、それぞれ、映像再生プレイヤ手段、プレイヤ制御手段、アクションテーブル選択手段、アクションテーブル管理手段及びイベント処理手段に該当する。
【００２８】
さらに、このクライアント２０では、アクション内容情報としてマーキングが指定される場合に、マーキングを要求するイベント発生タイミングにおける再生映像（画像）の関連情報をサーバより取得し、このように取得された関連情報を利用者がアクセスするできるようにしている。そのために、クライアント２０は、イベント処理部２６からマーキングが要求された場合に、マーキングが指定されたイベントが発生した再生位置に関連する関連情報を関連情報要求としてサーバ１０の関連情報提供部１４に要求し、そのような関連情報を取得するマーキング処理部２７と、関連情報を選択して閲覧するためのマークを表示し、利用者によってマークが選択された場合に対応する関連情報をその利用者に提示するマーク選択部２８と、をさらに備えている。ここでマーキング処理部２７及びマーク選択部２８は、それぞれ、マーキング処理手段及びマーク選択手段に該当する。クライアント２０においてマーキング処理部２７及びマーク選択部２８を設けない場合には、サーバ１０において、関連情報データベース１３や関連情報提供部１４を設けなくてもよい。また、利用者が手動でマーキング要求を直接出せるようにするために、クライアント２０において、マーキング要求部２９を設けてもよい。
【００２９】
このようなクライアント２０は、一般に、ネットワーク４０に接続可能なパーソナルコンピュータによって構成される。そして、このクライアント２０には、ＣＲＴあるいは液晶表示パネルなどの表示装置３１とマウスなどのポインティングデバイスに代表される入力装置３２とが接続されており、表示装置３１と入力装置３２とを用いたＧＵＩ（グラフィカルユーザインタフェース）により、利用者に対して再生映像やマーク、関連情報などを表示し、アクションテーブルやマークの選択、プレイヤの制御などのための入力を受け付けるようになっている。利用者は、このようなＧＵＩを用いて、配信映像の参照や各種の操作を行うことになる。
【００３０】
次に、本実施の形態のシステムの動作の説明に先だって、このシステムにより実現しようとする映像配信サービスについて、その具体的な概念を説明する。ここでは、利用者がドラマの配信映像を視聴する場合を考える。
【００３１】
利用者がドラマの配信映像を視聴する際に、事前に、自分が興味を持っている項目を選択する。選択される項目としては、（ドラマの）ストーリ、（出演している）タレント、（登場人物が着ている）衣装、（登場人物が身に付けている）アクセサリ、（ドラマの背景音楽として使用されている）音楽などが挙げられる。例えば、ストーリを選択した利用者のクライアントにおいては、映像視聴中のドラマのストーリ上重要なシーンにおいて自動的にマーキング要求がなされ、そのシーンのストーリに関する関連情報あるいはそのシーン映像そのものへのポインタが取得される。また、タレントを選択した利用者のクライアントにおいては、視聴中にそのドラマにおいて新しいタレントが登場した場合に、そのシーンにおいて自動的にマーキング要求がなされ、そのタレントに関する関連情報が取得される。利用者は複数の興味項目を選択可能であり、例えば、ストーリ及びタレントの項目を選択した利用者のクライアントにおいては、ドラマのストーリ上重要なシーン及び新しいタレントが登場したシーンにおいて、自動的にマーキング要求がなされ、関連情報が取得される。
【００３２】
図２は、上述したようなサービスを実現するために、クライアント２０に接続された表示装置３１に表示されるＧＵＩの一例を示している。表示装置３１の表示画面５０において、クライアント２０の映像再生プレイヤ２１によって映像再生表示ウィンドウ５１が開設され、ここに、サーバ１０から配信され映像再生プレイヤ２１によって再生された映像が表示される。プレイヤ制御部２２は、表示画面５０に、再生（プレイ）、早送り、一時停止（ポーズ）、音量上昇、音量低下などの制御ボタン５２を有するプレイヤ制御パネル５３を表示し、利用者が入力装置（ポインティングデバイス）３２によってこれらの制御ボタン５２を操作（クリックするなど）したことに応じて、映像再生プレイヤ２１を制御する。同様にアクションテーブル選択部２３は、“ストーリ”や“タレント”などの選択ボタン５４を有するアクションテーブル選択パネル５５を表示し、利用者が入力装置３２によってこれらの選択ボタン５４を指定したことに応じて、アクションテーブルの選択を行う。同様にマーク選択部２８は、表示画面５０内に、マーキングされた関連情報に対応するマーク（アイコン）５６が表示されたマーク選択ウィンドウ５７を表示し、利用者が入力装置３２によってこれらのマーク５６を指定したことに応じて関連情報の選択を行い、表示画面５０上に表示することによって、この選択された関連情報を利用者に提示する。図３は、提示された関連情報の一例（タレントのプロフィール情報）を示している。図２には示していないが、映像再生表示ウィンドウ５１内で再生されている映像内の人物や物体を利用者がクリックした場合には、マーキング要求部２９によって、マーキング要求が発行される。
【００３３】
次に、この映像配信システムの動作を説明する。
【００３４】
まず、利用者は、配信映像を視聴するに先立って、その映像を視聴中にどのような情報に関して自動的にマーキングが行われるようにしておきたいかを、図２に示すアクションテーブル選択パネル５５内で選択する。図２に示す例では選択項目は、“ストーリ”、“タレント”、“衣装”、“アクセサリ”、“音楽”の５つであるから、このとき、サーバ側においては、少なくともこの５つの選択項目に対応するイベント発生パターンを記述したアクションテーブルＡ〜Ｅが、アクションテーブル保持部１１内に保持されている。今ここで、利用者が、図２のアクションテーブル選択パネル５５において“タレント”の項目を選択したとする。するとアクションテーブル選択部２３は、アクションテーブル管理部２４へ、“タレント”の項目に対応するアクションテーブルが選択されたことをアクションテーブル選択要求として通知し、アクションテーブル管理部２４は、これに応じて、サーバ１０より該当するアクションテーブルＢをダウンロードし、アクションテーブル保持部２５内に保持する。同様に、利用者が、“ストーリ”の項目をアクションテーブル選択パネル５５において選択した場合には、アクションテーブル選択部２３は、アクションテーブル管理部２４へ、“ストーリ”の項目に対応するアクションテーブルが選択されたことをアクションテーブル選択要求として通知し、アクションテーブル管理部２４は、これに応じて、サーバ１０より該当するアクションテーブルＡをダウンロードし、アクションテーブル保持部２５内に保持する。
【００３５】
ここでは、アクションテーブル選択パネル５５における利用者の選択操作をトリガとして、アクションテーブルがサーバ１０からダウンロードされる場合について述べたが、利用者の選択によらず、クライアント２０のアクションテーブル管理部２４が、事前に指定されているアクションテーブル（いわゆるデフォルトのアクションテーブル）を自動的にダウンロードする場合がある。この機能は、例えば、配信映像の提供者が利用者の嗜好に関係なく所定の広告情報にマークさせたいといった意図がある場合に、提供者側の意図するイベント発生パターンを記述したアクションテーブルを常に映像再生開始時に自動的にダウンロードして参照対象とするといった応用に用いられる。
【００３６】
なお、利用者によるアクションテーブルの選択操作は、映像視聴開始以前に限らず、映像再生途中の任意の時点に行ってよい。映像再生途中の任意の時点に利用者によるアクションテーブルの選択操作が発生した場合の動作については、別途、説明する。
【００３７】
その後、利用者は、図２に示すプレイヤ制御パネル５３を操作して映像を再生し、視聴を開始する。あるいは、利用者が映像にアクセスした時点で自動的に再生が開始されるようにしてもよい。いずれにせよ再生開始時点において、クライアント２０のイベント処理部２６は、プレイヤ制御部２２より制御情報を取得し、最初にイベントが発生する再生位置、そのイベントを識別するイベント識別子、及び対応するアクション内容情報をアクションテーブル管理部２４より取得し、最初にイベントが発生する再生位置に対応する時刻までのタイマーを始動する。次に、イベント処理部２６は、最初にイベントが発生する再生位置に対応する時刻になった時点で、そのイベントに対応するアクション内容情報に基づく処理を実行するための処理を行うとともに、次にイベントが発生する再生位置、そのイベント識別子、及び対応するアクション内容情報をアクションテーブル管理部２４より取得し、当該次にイベントが発生する再生位置に対応する時刻までのタイマーを始動する。さらに次に、イベント処理部２６は、当該次にイベントが発生する再生位置に対応する時刻になった時点で、そのイベントに対応するアクション内容情報に基づく処理を実行するための処理を行うとともに、さらにその次にイベントが発生する再生位置、そのイベント識別子、及び対応するアクション内容情報をアクションテーブル管理部２４より取得し、同様に、当該その次にイベントが発生する再生位置に対応する時刻までのタイマーを始動する。
【００３８】
このようにイベント処理部２６は、次回のイベントが発生する再生位置に対応する時刻になった時点で、上述したものと同様の動作を実施することを繰り返すことにより、ダウンロードされアクションテーブル管理部２４により管理される一つもしくは複数のアクションテーブルに記述されるイベントを次々と処理していく。
【００３９】
なお、イベント処理部１６は、上述の動作を行っている途中において、ポーズ（再生一時中止）、早送り、巻き戻し、再生位置変更などの制御が発生したことを制御情報としてプレイヤ制御部２２より通知された場合には、その時点でタイマーをリセットし、再び再生が開始された時点で再生が開始された再生位置を取得し、その新たに取得された再生位置から判断される、次にイベントが発生する再生位置、そのイベント識別子、及び対応するアクション内容情報をアクションテーブル管理部２４より取得し、当該次にイベントが発生する再生位置に対応する時刻までのタイマーを始動するというように動作する。
【００４０】
次に、映像再生途中の任意の時点において利用者によるアクションテーブルの選択操作が発生した場合の動作について、説明する。
【００４１】
映像再生途中におけるアクションテーブルの選択操作が発生するまでは、クライアント２０のプレイヤ制御部２２、アクションテーブル選択部２３、アクションテーブル管理部２４、イベント処理部２６などは、上述したように動作している。ここで、アクションテーブル保持部２５には、図２に示したアクションテーブル選択パネル５５における選択項目“ストーリ”、“タレント”に対応するアクションテーブルＡ、Ｂが保持されているものとする。映像再生中であるこのとき、利用者が、さらに、アクションテーブル選択パネル５５において“衣装”の項目を選択した場合、アクションテーブル選択部２３は、アクションテーブル管理部２４へ、“衣装”の項目に対応するアクションテーブルが選択されたことをアクションテーブル選択要求として通知する。その結果、アクションテーブル管理部２４は、これに応じて、サーバより該当するアクションテーブルＣをダウンロードし、アクションテーブル保持部２５内に保持する。そして、アクションテーブル管理部２４は、更新された管理対象となる一つまたは複数のアクションテーブルの内容に応じて、その時点でイベント処理部２６に設定されている、次にイベントが発生する再生位置、そのイベント識別子、及び対応するアクション内容情報を更新し、このように更新された次にイベントが発生する再生位置に対応してイベント処理部２６のタイマーを更新する。
【００４２】
またさらにここで、利用者が、アクションテーブル選択パネル５５において、“タレント”の選択項目の選択を解除したものとする。その結果、アクションテーブル選択部２３は、アクションテーブル管理部２４へ、“タレント”の項目に対応するアクションテーブルの選択が解除されたことをアクションテーブル選択要求として通知し、アクションテーブル管理部２４は、これに応じて、アクションテーブル保持部２５において該当するアクションテーブルＢを削除する。そしてアクションテーブル管理部２４は、更新された管理対象となる一つまたは複数のアクションテーブルの内容に応じて、その時点でイベント処理部２６に設定されている、次にイベントが発生する再生位置、そのイベント識別子、及び対応するアクション内容情報を更新し、このように更新された次にイベントが発生する再生位置に対応して、イベント処理部２６のタイマーを更新する。
【００４３】
このようにアクションテーブル管理部２４は、アクションテーブル選択部２３より、別のアクションテーブルの選択もしくは既に選択されたアクションテーブルの変更に関する情報を含むアクションテーブル選択要求が通知された時点で、その変更に応じて、サーバから必要なアクションテーブルをダウンロードするとともに、不要なアクションテーブルを削除する。そして、そのように更新された管理対象となる一つまたは複数のアクションテーブルの内容に応じて、その時点でイベント処理部２６に設定されている、次にイベントが発生する再生位置、そのイベント識別子、及び対応するアクション内容情報を更新し、このように更新された次にイベントが発生する再生位置に対応して、イベント処理部２６のタイマーを更新するというように動作する。
【００４４】
次に、再生中の映像の関連情報を自動的にマーキングして取得し、利用者がマーク選択ウィンドウ５７においてマーク５６を選択した場合にその選択されたマーク５６に対応する関連情報を提示する機能を実現する際の動作について、説明する。
【００４５】
イベント処理手段２６は、アクションテーブルに記述されたイベントに対応するアクション内容情報としてマーキングが指定される場合、アクション内容情報に基づく処理を実行するための処理として、マーキング処理部２７にマーキング要求を送る。マーキング処理部２７は、イベント処理部２６よりマーキングが要求された場合に、映像の、アクション内容情報としてマーキングが指定されたイベントの発生した再生位置に関連する関連情報をサーバ１０の関連情報提供部１４に要求する。関連情報提供部１４はこの関連情報要求に応じて関連情報データベース１３を検索し、該当する関連情報をマーキング処理部２７に送る。マーキング処理部２７は、このようにして関連情報を取得し、取得した関連情報を選択し閲覧するためのマークとともにその関連情報をマーク選択部２８に送る。マーク選択部２８は、マーキング処理部２７より追加されたマーク５６をマーク選択ウィンドウ５７に追加表示し、表示したマーク５６が利用者によって選択された場合には、対応する関連情報を提示する。
【００４６】
図４は、上述した配信映像と同期するイベントを処理する本実施形態のシステムにおいて用いられるアクションテーブルをＸＭＬ形式で記述した例を示している。
【００４７】
図４に示すＸＭＬ記述例において、<event>タグにより記述されているものがイベント識別子である。例えば、<event position="1000">...</event>というイベント識別子は、再生開始位置から１０００ミリ秒後の時点の再生位置におけるイベントを示す。なお、この記述では、<event>タグによる記述がされていない再生位置にはイベントがないものとしている。
【００４８】
またアクション内容情報は、<event>タグ内に記述される。図４の例においては、マーキングを指定するアクション内容情報の記述として、<marking location ="100,100"/>というタグが記述されている。ここで、<marking location="100,100">は、再生映像画像の左上隅の座標を（０，０）としたときに、座標（１００，１００）を指定したマーキングであることを意味している。
【００４９】
なお、ここではマーキングを指定するタグのみについて説明したが、アクション内容情報として、クライアントで実行可能な様々なアクションを指定するタグが記述可能である。また、一つのイベント識別子に対して複数のアクション内容情報を対応付けることも可能である。この場合、上述のＸＭＬ記述の例では、一つの<event>タグ内に複数のアクション内容情報タグが記述される。
【００５０】
図４に示したアクションテーブルの例を用いて、マーキング処理部２６が関連情報を取得する動作について説明する。
【００５１】
イベント発生時、イベント処理部２６はマーキングを実行するために、マーキング処理部２７に対して、マーキング要求として、イベントの対応する映像再生位置（すなわち、eventタグのposition属性に指定される値）とマーキングが発生した座標値（すなわち、markingタグのlocation属性に指定される値）とを送信し、マーキング処理部２７は、これらの映像再生位置及び座標値を関連情報要求としてサーバの１０関連情報提供部１４に送信する。サーバ１０が複数の映像に関する関連情報を管理している場合には、これらの情報に加えて、現在再生中の映像を識別するための情報（例えば、その配信映像のＵＲＬ(uniform resource locator)）を関連情報要求に含めるようにする。
【００５２】
サーバ１０に設けられている関連情報データベース１３では、各映像の各再生位置に、その再生位置における画像フレームのどの範囲にどのような関連情報が対応付けられているかが管理されている。関連情報提供部１４は、関連情報データベース１３を参照して、関連情報要求として受信された情報に含まれる再生位置、座標値に対応する関連情報を特定し、これをクライアント２０へ返信する。
【００５３】
以上の手順によりクライアント２０のマーキング処理部２７は、マーキングされた関連情報を取得する。
【００５４】
図５は、アクションテーブルの記述例として、アクションテーブル内の<marking>タグ内に関連情報を記述しているものを示している。ここでは、“［”と“］”で囲まれた部分には、実際の関連情報に対応する値や文字列が記述される。図５に示すように関連情報を内部に記述しているアクションテーブルを用いる場合には、サーバ１０において関連情報提供部１４を設ける必要はない。この場合、マーキング処理部２７は、関連情報提供部に関連情報を要求して関連情報を取得する代わりにアクションテーブル内から関連情報を直接取得し、マーク選択部２８へマークを追加する。
【００５５】
以下、本実施形態のシステムにおけるクライアント２０の実装について説明する。
【００５６】
クライアント２０は、ネットワーク４０に接続可能なパーソナルコンピュータなどによって構成することができる。パーソナルコンピュータでは、一般的に、ＯＳ（オペレーティングシステム）上で各種のアプリケーションソフトウェア（プログラム）が実行されるようになっているが、クライアント２０も、ＯＳ上において上述したようなクライアント２０の各機能を実行するアプリケーションとして実装することができる。例えば、ＯＳとしてＭｉｃｒｏｓｏｆｔ社の提供するＷｉｎｄｏｗｓ（登録商標）を用い、Ｃ＋＋やＢａｓｉｃ等の言語によって作成されたアプリケーションとして実装することができる。
【００５７】
また、パーソナルコンピュータ上で、Ｍｉｃｒｏｓｏｆｔ社の提供するＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅ等のブラウザソフトウェアを実行し、クライアント２０を構成する映像再生プレイヤ２１、プレイヤ制御部２２、アクションテーブル選択部２３、アクションテーブル管理部２４、アクションテーブル保持部２５、イベント処理部２６、マーキング処理部２７、マーク選択部２８及びマーキング要求部２９を、ブラウザ上で機能するＪａｖａアプレットや、ＡｃｔｉｖｅＸコンポーネント、及びＪａｖａ  Ｓｃｒｉｐｔ，ＶＢ  Ｓｃｒｉｐｔによる関数、ならびにＨＴＭＬ(HyperText Markup Language)によって記述されたページとして実装することができる。具体的には、映像再生プレイヤ２１を、Ｊａｖａアプレット、もしくはＷｉｎｄｏｗｓ  Ｍｅｄｉａ  ＰｌａｙｅｒなどのＡｃｔｉｖｅＸコンポーネントとして実装する。また、アクションテーブル管理部２４、イベント処理部２６、マーキング処理部２７などは、Ｊａｖａ  ＳｃｒｉｐｔもしくはＶＢ  Ｓｃｒｉｐｔの関数として実装し、クライアント２０の他の構成要素については、ＧＵＩに関する部分をＨＴＭＬで記述されたページとして構成し、内部処理をＪａｖａ  ＳｃｒｉｐｔもしくはＶＢ  Ｓｃｒｉｐｔの関数として実装することができる。またこのような構成において、再生する映像ファイルのフォーマットによって利用する映像再生プレイヤを動的に変更することも可能である。
【００５８】
以上、クライアント２０を実装するためのソフトウェアについて説明したが、ハードウエアの観点から見ると、クライアント２０は以下のように構成される。すなわち、クライアント２０を構成するパーソナルコンピュータは、ＣＰＵ（中央処理装置）と、プログラムやデータを格納するためのハードディスク装置と、主メモリと、ネットワーク４０に接続するための通信インタフェースと、磁気テープやＣＤ−ＲＯＭ等の記録媒体を読み取る読み取り装置とを備えるとともに、表示装置３１及び入力装置３２が接続されている。ハードディスク装置、主メモリ、通信インタフェース、読み取り装置、表示装置３１及び入力装置３２は、いずれもＣＰＵに接続している。このパーソナルコンピュータは、クライアント２０を実装するためのアプリケーションソフトウェア（プログラム）を格納した記録媒体を読み取り装置に装着し、記録媒体からそのプログラムを読み出してハードディスク装置に格納し、ハードディスク装置に格納されたプログラムをＣＰＵが実行することにより、あるいはそのようなプログラムをネットワーク４０から通信インタフェースを介してハードディスク装置内にダウンロードし、ハードディスク装置内にダウンロードされたプログラムをＣＰＵが実行することにより、上述したクライアント２０として機能することになる。
【００５９】
【発明の効果】
以上説明したように本発明によれば、複数のアクションテーブルを統括的に管理するアクションテーブル管理手段を設け、クライアント側で逐次取得したアクションテーブルをマージする処理をこのアクションテーブル管理手段が行うようにすることにより、イベント記述であるアクションテーブルを用いる方法ではあるが、想定されるイベントの発生パターンの数の分だけ異なるアクションテーブルを用意しておく必要がなくなるという効果がある。すなわち本発明の映像配信システムにおいては、サーバ側には、イベント発生タイミングに関する選択項目の数の分だけアクションテーブルを用意すればよく、従来のシステムに比べ、用意しなければならないアクションテーブルの数が大幅に減るという効果がある。
【００６０】
また、タイマー処理によりイベント発生時おきにイベントに対応する処理を行うとともに次イベントの情報を取得するようにイベント処理手段を構成することによって、利用者が視聴途中の任意の時点においてイベント発生タイミングに関する選択項目を変更し、それにより参照するアクションテーブルが更新されても、アクションテーブル管理手段が管理するアクションテーブルが更新されることのみによって、以降のイベント発生タイミングは変更された選択項目に対応したものになる。このため、視聴途中の任意の時点で利用者がイベント発生タイミングに関する選択項目を変更しても、従来のシステムのように映像再生が途切れるという問題は起こらない。
【００６１】
さらに、タイマー式でイベント処理手段が動作するようにすることによって、映像再生プレイヤ手段から現在再生中に再生位置を頻繁に取得しなくとも、正確なタイミングでイベントを発生できるようになる。
【００６２】
さら、本発明の映像配信システムにおけるクライアントは、いわゆる汎用のブラウザを利用して実装可能となり、汎用性の高いサービスシステムとして利用可能となる。
【図面の簡単な説明】
【図１】本発明の実施の一形態における映像配信システムの構成の一例を示すブロック図である。
【図２】図１のシステムでのクライアント側におけるＧＵＩ（グラフィカルユーザインタフェース）の一例を示す図である。
【図３】マークが選択された際の関連情報の表示例を示す図である。
【図４】アクションテーブルをＸＭＬ形式で記述した例を示す図である。
【図５】アクションテーブルをＸＭＬ形式で記述した別の例を示す図である。
【符号の説明】
１０    サーバ
１１，２５    アクションテーブル保持部
１２    映像ファイル格納部
１３    関連情報データベース
１４    関連情報提供部
２０    クライアント
２１    映像再生プレイヤ
２２    プレイヤ制御部
２３    アクションテーブル選択部
２４    アクションテーブル管理部
２６    イベント処理部
２７    マーキング処理部
２８    マーク選択部
２９    マーキング要求部
３１    表示装置
３２    入力装置
４０    ネットワーク
５０    表示画面
５１    映像再生表示ウィンドウ
５２    制御ボタン
５３    プレイヤ制御パネル
５４    選択ボタン
５５    アクションテーブル選択パネル
５６    マーク
５７    マーク選択ウィンドウ
【図１】
0003971631.tif 000002
【図２】
0003971631.tif 000003
【図３】
0003971631.tif 000004
【図４】
0003971631.tif 000005
【図５】
0003971631.tif 000006