(57)【要約】【課題】複数の時間変化情報を同期して提示するシステムにおいて、同期再生されるべき複数の時間変化情報の再生位置の間にずれが生じる場合がある。【解決手段】再生位置取得部１５２は、主動画再生部１１０によって再生される主動画の現在の再生位置と、副資料再生部１２０によって再生される資料動画の現在の再生位置と、を取得する。目標再生位置算出部１６２は、同期タイミングデータ２３０を参照し、再生位置取得部１５２が取得した主動画の現在の再生位置と同期して再生すべき資料動画の目標再生位置を算出する。同期制御部１６０は、目標再生位置算出部１６２が算出した資料動画の目標再生位置と、再生位置取得部１５２が取得した資料動画の現在の再生位置と、の間の差が予め設定された閾値より大きい場合に、資料動画を目標再生位置から再生させる制御を行う。【選択図】図１
2008211718.tif 000002
【特許請求の範囲】
【請求項１】
第１の時間変化情報と、当該第１の時間変化情報と同期再生すべき第２の時間変化情報と、のそれぞれについて再生位置を取得する再生位置取得部と、
前記第１の時間変化情報と前記第２の時間変化情報との時間的な対応関係を示す同期情報を取得する同期情報取得部と、
前記再生位置取得部が取得した前記第１の時間変化情報の再生位置と同期して再生すべき前記第２の時間変化情報の目標再生位置を前記同期情報に基づいて算出する算出部と、
前記算出部が算出した前記第２の時間変化情報の目標再生位置と、前記再生位置取得部が取得した前記第２の時間変化情報の再生位置と、の間の差が予め設定された閾値より大きい場合に、前記第２の時間変化情報を前記目標再生位置から再生させる制御を行う制御部と、
を備えることを特徴とする時間変化情報再生装置。
【請求項２】
前記第１の時間変化情報と、前記第２の時間変化情報と、のそれぞれについて少なくとも再生中であるか否かを示す再生状態を取得する再生状態取得部をさらに備え、
前記制御部は、さらに、前記再生状態取得部が取得した前記第１の時間変化情報の再生状態と、前記再生状態取得部が取得した前記第２の時間変化情報の再生状態と、が異なる場合に、前記第１の時間変化情報の再生状態に応じて前記第２の時間変化情報の再生状態を変化させる制御を行うことを特徴とする請求項１に記載の時間変化情報再生装置。
【請求項３】
前記第１の時間変化情報を受信する第１の受信部と、
前記第２の時間変化情報を受信する第２の受信部と、
をさらに備え、
前記制御部は、さらに、前記再生状態取得部が取得した前記第１の時間変化情報の再生状態と、前記再生状態取得部が取得した前記第２の時間変化情報の再生状態と、のいずれか一方が再生中であり他方が再生中でない場合であって、再生中でない時間変化情報について、当該時間変化情報を受信する前記受信部において予め設定された量の受信が終了していない場合に、再生中である時間変化情報の再生を中止させる制御を行うことを特徴とする請求項１又は２に記載の時間変化情報再生装置。
【請求項４】
第１の時間変化情報と、当該第１の時間変化情報と同期再生すべき第２の時間変化情報と、のそれぞれについて再生位置を取得するステップと、
前記第１の時間変化情報と前記第２の時間変化情報との時間的な対応関係を示す同期情報を取得するステップと、
前記再生位置取得部が取得した前記第１の時間変化情報の再生位置と同期して再生すべき前記第２の時間変化情報の目標再生位置を前記同期情報に基づいて算出するステップと、
前記算出部が算出した前記第２の時間変化情報の目標再生位置と、前記再生位置取得部が取得した前記第２の時間変化情報の再生位置と、の間の差が予め設定された閾値より大きい場合に、前記第２の時間変化情報を前記目標再生位置から再生させる制御を行うステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間変化情報再生装置及びプログラムに関する。
【背景技術】
【０００２】
動画や音声などのように時間的に変化する内容を表す時間変化データを、インターネット等のデータ通信ネットワークを介してクライアントにストリーミング配信するサービスが普及している。
【０００３】
また、クライアント端末の表示画面上に、動画コンテンツの表示領域と、他のコンテンツの表示領域とをそれぞれ設け、サーバから動画コンテンツと他のコンテンツとを同期配信して各表示領域に表示させるシステムも知られている。
【０００４】
特許文献１には、ビデオ撮影された講演などで使用された資料の静止画像データを、ビデオデータと同期させて閲覧ユーザに提示するシステムが開示されている。クライアントは、ビデオデータの再生に伴って当該ビデオデータの再生時間位置を取得し、この再生時間位置に予め対応づけられた静止画像データを特定し、特定した静止画像データを保持する配信サーバに対して当該静止画像データの配信を要求する。配信サーバから当該静止画像データの提供を受けると、クライアントは当該静止画像データを表示出力する。
【０００５】
特許文献２には、複数のビデオ・カメラを用いて会合の様子を撮影した各動画像を時間軸上で同期をとりながら統合して記録・管理するシステムが開示されている。このシステムにおいて、複数のビデオ素材とビデオに関連する情報は、共通の時間軸上で同期をとって１つの集合データとして蓄積される。ユーザは、同一の時間帯でのビデオ及び資料画面を見比べながらシステムに蓄積された動画像データを閲覧できる。
【０００６】
特許文献３に開示された装置は、映像や音楽などの一つないし複数の組み合わせであるメディア情報を複数作成し、各メディア情報の映像や音楽の順番、表示時間、演奏時間に関するメディア関連情報を作成する。コンピュータの演算部は、メディア情報を表メディア情報と裏メディア情報に分ける。演算部は各メディア情報の内容を含む各表メディア情報を、各表示領域に表示させ、又は各演算装置に演奏させる。演算部は予め設定された同期時点が各メディア情報の時間軸上で具体的にどの時点になるかを各メディア関連情報などから計算する。演算部は、各表メディア情報の表示又は演奏中であって各表メディア情報の表示又は演奏が同期時点に達する前に、各メディア情報について、同期時点までバッファリングを行い、このバッファリングされたメディア情報を裏メディア情報として扱う。各表メディア情報の表示又は演奏が同期時点に達すると、演算部は、各表メディア情報の表示又は演奏を中止させ、バッファリングしておいた各裏メディア情報を同時に表示ないし演奏させる。
【０００７】
【特許文献１】特開２００４−１１２３６８号公報
【特許文献２】特開２００５−２６０５１２号公報
【特許文献３】特開２００５−３４０９５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、例えば動画データ及び音楽データなど、内容が時間的に変化する時間変化情報を複数同期して提示するシステムでは、同期再生されるべき複数の時間変化情報の再生位置の間にずれが生じる場合がある。このようなシステムにおいて、例えば、各時間変化情報をある目標時点まで蓄積しておき、予め決められたタイミングで一斉にその目標時点から各時間変化情報を提示することで、複数の時間変化情報間の同期を確立する方法が考えられる。しかしながら、このような方法では、蓄積された各時間変化情報を一斉に提示するよう予め決められたタイミングでないときに複数の時間変化情報の再生位置の間にずれが生じた場合に、そのずれが解消されるとは限らない。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、第１の時間変化情報と、当該第１の時間変化情報と同期再生すべき第２の時間変化情報と、のそれぞれについて再生位置を取得する再生位置取得部と、前記第１の時間変化情報と前記第２の時間変化情報との時間的な対応関係を示す同期情報を取得する同期情報取得部と、前記再生位置取得部が取得した前記第１の時間変化情報の再生位置と同期して再生すべき前記第２の時間変化情報の目標再生位置を前記同期情報に基づいて算出する算出部と、前記算出部が算出した前記第２の時間変化情報の目標再生位置と、前記再生位置取得部が取得した前記第２の時間変化情報の再生位置と、の間の差が予め設定された閾値より大きい場合に、前記第２の時間変化情報を前記目標再生位置から再生させる制御を行う制御部と、を備えることを特徴とする時間変化情報再生装置である。
【００１０】
請求項２に係る発明は、請求項１に係る発明において、前記第１の時間変化情報と、前記第２の時間変化情報と、のそれぞれについて少なくとも再生中であるか否かを示す再生状態を取得する再生状態取得部をさらに備え、前記制御部は、さらに、前記再生状態取得部が取得した前記第１の時間変化情報の再生状態と、前記再生状態取得部が取得した前記第２の時間変化情報の再生状態と、が異なる場合に、前記第１の時間変化情報の再生状態に応じて前記第２の時間変化情報の再生状態を変化させる制御を行う。
【００１１】
請求項３に係る発明は、請求項１又は２に係る発明において、前記第１の時間変化情報を受信する第１の受信部と、前記第２の時間変化情報を受信する第２の受信部と、をさらに備え、前記制御部は、さらに、前記再生状態取得部が取得した前記第１の時間変化情報の再生状態と、前記再生状態取得部が取得した前記第２の時間変化情報の再生状態と、のいずれか一方が再生中であり他方が再生中でない場合であって、再生中でない時間変化情報について、当該時間変化情報を受信する前記受信部において予め設定された量の受信が終了していない場合に、再生中である時間変化情報の再生を中止させる制御を行う。
【００１２】
請求項４に係る発明は、第１の時間変化情報と、当該第１の時間変化情報と同期再生すべき第２の時間変化情報と、のそれぞれについて再生位置を取得するステップと、前記第１の時間変化情報と前記第２の時間変化情報との時間的な対応関係を示す同期情報を取得するステップと、前記再生位置取得部が取得した前記第１の時間変化情報の再生位置と同期して再生すべき前記第２の時間変化情報の目標再生位置を前記同期情報に基づいて算出するステップと、前記算出部が算出した前記第２の時間変化情報の目標再生位置と、前記再生位置取得部が取得した前記第２の時間変化情報の再生位置と、の間の差が予め設定された閾値より大きい場合に、前記第２の時間変化情報を前記目標再生位置から再生させる制御を行うステップと、をコンピュータに実行させることを特徴とするプログラムである。
【発明の効果】
【００１３】
請求項１又は４に係る発明によると、第１の時間変化情報と同期再生すべき第２の時間変化情報について、目標再生位置と現在の再生位置との間にずれが生じた場合に、このずれを自動的に検出し、第２の時間変化情報を第１の時間変化情報と同期して再生させることができる。
【００１４】
請求項２に係る発明によると、第１の時間変化情報の再生状態に合わせて第２の時間変化情報の再生状態を変化させることができる。
【００１５】
請求項３に係る発明によると、第１の時間変化情報及び第２の時間変化情報のいずれか一方のデータ取得中に、他方の再生を待機させることができる。
【発明を実施するための最良の形態】
【００１６】
図１に、本発明の１つの実施形態の視聴クライアント１００を含むマルチメディア番組配信システムの構成の例を示す。図１に例示する視聴クライアント１００は、インターネット等の通信回線を介して、配信サーバ２００から動画等の時間変化データを含むマルチメディア番組の配信を受ける。
【００１７】
配信サーバ２００が配信するマルチメディア番組は、主動画データ２１０と副資料データ２２０とを含む。例えば図２に示すように、主動画データ２１０は、視聴クライアント１００の表示画面３００上の主動画領域３１０に表示され、副資料データ２２０は表示画面３００の副資料領域３１２に表示される。
【００１８】
この例では、主動画データ２１０は、例えばＭＰＥＧ(Moving Picture Experts Group)−２データのように、動画と、当該動画に同期した音声と、を表すデータである。一方、副資料データ２２０は、主動画データ２１０に付随して提示される説明資料のデータである。副資料データ２２０の例としては、例えば、ワードプロセッサやスプレッドシート作成ソフトウエアなどの各種の文書作成ソフトウエアで作成された文書データや、ＪＰＥＧ(Joint Photographic Experts Group)ファイルなどの静止画像データ、ＭＰＥＧデータなどの動画データなどがある。視聴クライアント１００の表示画面３００では、主動画領域３１０上に主動画データ２１０を再生しながら、この再生と同期して副資料データ２２０を副資料領域３１２に表示する。１つの主動画データ２１０に対して、複数の副資料データ２２０を順次切り替えながら副資料領域３１２に表示することもできる。なお、視聴クライアント１００の表示画面３００は、操作ボタン部３１４を含んでいてもよい。操作ボタン部３１４には、例えば、主動画について、再生、停止、一時停止、早送り、巻き戻し、マーク付けした再生位置へスキップするためのサーチボタン、などの各種操作を指示するためのボタンが含まれる。また、主動画の再生位置を指示するための時間軸スライダーバーや時刻入力欄などが含まれていてもよい。また、副資料領域３１２に文書などの静的資料が表示される場合に用いるために、例えば、ページ送り、ページ戻し、埋め込みアニメーションの制御ボタンなどが含まれることもある。
【００１９】
図２に例示した表示画面３００は一例にすぎず、表示画面３００として様々な態様が可能である。視聴クライアント１００は、表示画面３００の態様を定義する定義データに従って表示画面３００を構成する。この表示画面の定義データは、例えば、主動画領域３１０と副資料領域３１２の定義（例えば表示画面３００内でのそれら各領域の位置など）、操作ボタン部３１４の定義、表示画面３００上のその他の表示内容の定義、等を含む。このような定義データは、例えばＨＴＭＬ(Hypertext Markup Language) やＸＭＬ(eXtensible Markup Language)等の言語、或いは各種スクリプトを用いて記述することができる。視聴クライアント１００は、このような定義データを含む番組表示プログラムを備えていてもよいし、マルチメディア番組の配信を受ける際に配信サーバ２００からこのような定義データを取得することもできる。
【００２０】
図２には、このようなマルチメディア番組の例として、講義番組を例示している。講義では、一般に、講師が説明を行いながら、その時々の説明に必要な資料をスクリーン等に表示したり、説明事項を随時板書したりする。講義番組は、基本的には、講師を撮影した動画（音声付き）の再生の進行に合わせて、各種資料のデータを同期して提示するものである。この場合、講師の動画が主動画データ２１０であり、各種資料のデータが副資料データ２２０である。
【００２１】
図１に戻って、視聴クライアント１００は、主動画再生部１１０、副資料再生部１２０、主動画受信部１３０、副資料受信部１４０、再生監視部１５０、同期制御部１６０、及び記憶装置１７０を備える。
【００２２】
主動画再生部１１０は、主動画受信部１３０を介して配信サーバ２００から主動画データ２１０を取得し、取得した主動画データ２１０を視聴クライアント１００の表示画面３００の主動画領域３１０上に再生する処理を行う。主動画受信部１３０は、配信サーバ２００から主動画データ２１０をストリーミング受信し、受信した主動画データ２１０を主動画再生部１１０に渡す。
【００２３】
副資料再生部１２０は、副資料受信部１４０及び記憶装置１７０を介して配信サーバ２００から副資料データ２２０を取得し、取得した副資料データ２２０を表示画面３００の副資料領域３１２上に再生する処理を行う。副資料受信部１４０は、配信サーバ２００から副資料データ２２０をダウンロード受信し、受信した副資料データ２２０を記憶装置１７０に格納する。副資料再生部１２０は、記憶装置１７０を参照して副資料受信部１４０が記憶装置１７０に格納した副資料データ２２０を取得し、取得した副資料データ２２０の再生を行う。
【００２４】
再生監視部１５０は、主動画再生部１１０及び副資料再生部１２０を監視し、主動画データ２１０及び副資料データ２２０の再生に関する情報を取得する。再生監視部１５０は、再生位置取得部１５２及び再生状態取得部１５４を備える。
【００２５】
再生位置取得部１５２は、主動画再生部１１０から主動画データ２１０の現在の再生位置を取得する。また、再生位置取得部１５２は、副資料再生部１２０によって現在提示中の副資料データ２２０が動画である場合、副資料データ２２０の現在の再生位置を副資料再生部１２０から取得する。ここで、主動画データ２１０の現在の再生位置は主動画データ２１０の時間軸上で求められ、副資料データ２２０の現在の再生位置は副資料データ２２０の時間軸上で求められる。一般に、動画データは、当該動画データの時間軸上での位置とその位置において表示されるべき画像とを対応づける再生位置情報を含む。再生位置取得部１５２は、主動画データ２１０及び副資料データ２２０のそれぞれに含まれる前述の再生位置情報から、それぞれの現在の再生位置を取得できる。
【００２６】
また、再生状態取得部１５４は、主動画再生部１１０及び副資料再生部１２０から主動画データ２１０及び副資料データ２２０の再生状態をそれぞれ取得する。ここで、主動画データ２１０及び副資料データ２２０の「再生状態」とは、主動画データ２１０及び副資料データ２２０の再生に関する状態を表し、例えば、「再生中」、「停止」、及び「一時停止」などの各種の状態を表す。主動画データ２１０又は副資料データ２２０として再生される動画データが「停止」状態になった後、次にその動画データの再生が開始されるときには、その動画データの最初から開始される。動画データが「一時停止」状態になった後、次にその動画データの再生が開始されるときには、その動画データにおいて再生が停止された位置から再生が開始される。また、「再生状態」の一種として、動画データの取得状況が含まれていてもよい。例えば、主動画受信部１３０による主動画データ２１０のストリーミング受信において、主動画再生部１１０による主動画データ２１０のストリーミング再生に必要な量のデータを受信するまで、主動画受信部１３０は受信したデータを図示しない一時記憶にバッファしておき、この間、主動画再生部１１０が主動画データ２１０のストリーミング再生を待機することがある。この「バッファリング」を行っている状態を「再生状態」の一種としてよい。また例えば、副資料受信部１４０が副資料データ２２０を配信サーバ２００からダウンロード受信するときに、副資料データ２２０のすべてを取得していない、「ダウンロード中」である状態も、「再生状態」の一種とすることができる。
【００２７】
同期制御部１６０は、主動画データ２１０と副資料データ２２０とを同期させて再生するための制御を行う制御部である。同期制御部１６０は、配信サーバ２００から取得した同期タイミングデータ２３０を参照して上述の制御を行う。同期タイミングデータ２３０は、配信サーバ２００が配信する番組に含まれる主動画データ２１０と、それに同期する各副資料データ２２０と、の時間的な対応関係を示す情報である。同期制御部１６０は、目標再生位置算出部１６２を含む。目標再生位置算出部１６２は、主動画データ２１０の現在の再生位置と同期して再生すべき副資料データ２２０の目標再生位置を、同期タイミングデータ２３０に基づいて算出する。同期制御部１６０が行う処理については後に詳述する。
【００２８】
図３に、同期タイミングデータ２３０のデータ内容の例を示す。図示例は１つの番組についての同期情報である。この番組は、１つの主動画データと、６つの副資料データを含んでいる。同期タイミングデータ２３０には、番組に含まれる副資料データ２２０ごとのレコードが、番組中で副資料データ２２０を提示する順番に列挙されている。１つの副資料データ２２０のレコードには、主動画ＩＤ、資料ＩＤ、資料種別、資料の格納場所、及び同期位置などの項目が含まれる。「主動画ＩＤ」は、当該副資料データ２２０と同期表示される主動画データ２１０の識別情報である。なお、主動画データ２１０は、主動画ＩＤに対応づけて配信サーバ２００の記憶装置に格納されている。「資料ＩＤ」は、当該副資料データ２２０の識別情報である。副資料データ２２０は、資料ＩＤに対応づけて配信サーバ２００の記憶装置に格納されている。「資料種別」は、当該副資料データ２２０のデータ種別である。資料種別は、例えばＭＰＥＧデータなどの動画データであれば「動画」とされ、また例えば、ワードプロセッサやスプレッドシート作成ソフトウエアなどの各種の文書作成ソフトウエアで作成された文書データであれば「文書」とされる。「資料の格納場所」は、配信サーバ２００の記憶装置における副資料データ２２０の格納場所を表す情報であり、例えば副資料データ２２０が格納されているファイルのパス名がその一例である。
【００２９】
「同期位置」は、当該副資料データ２２０と主動画データ２１０との時間的な対応関係を表す情報である。この例では、当該副資料データ２２０の提示を開始すべき開始位置を主動画データ２１０の時間軸上の時刻で表したものを「同期位置」としている。また、この例では、副資料データ２２０の提示を終了する位置は、次の副資料データ２２０の開始位置と同じであり、主動画データ２１０に対応する最後の副資料データ２２０の終了位置は、主動画データ２１０の終了位置と同じである。図３の例では、例えば文書データ「文書１」は主動画ＩＤ「１」の主動画データ２１０の時間軸上の時刻０分０秒から表示が開始され１分０秒まで表示される。また、動画データ「ビデオ３」は主動画データ２１０の時間軸上の時刻３分３０秒から表示が開始され５分３０秒まで表示される。ただし、これは一例に過ぎない。副資料データ２２０の開始位置と終了位置（共に主動画データの時間軸での位置）のペアを「同期位置」情報としてもよい。
【００３０】
なお、副資料データ２２０が複数のページからなる文書データであり、主動画データ２１０の再生進行に応じて表示するページを進めていく場合には、「同期位置」はページごとに定めておけばよい。
【００３１】
記憶装置１７０は、受信したマルチメディア番組の表示処理に必要なデータなどを記憶する記憶装置である。記憶装置１７０には、例えば、同期制御部１６０が配信サーバ２００から取得した同期タイミングデータ２３０及び副資料再生部１２０が配信サーバ２００からダウンロード受信した副資料データ２２０などのデータが記憶される。
【００３２】
以下、視聴クライアント１００が配信サーバ２００からのマルチメディア番組の配信を受けるときの処理について詳細に説明する。
【００３３】
視聴クライアント１００が例えば図示しない入力装置を介してユーザからのマルチメディア番組の視聴指示を受けると、主動画受信部１３０は、配信サーバ２００に対して、ユーザが指示した番組を特定する情報を送信し、この番組の主動画データの配信を要求する。主動画受信部１３０からこの配信要求を受けた配信サーバ２００は、主動画受信部１３０に対して、指定された番組の主動画データ２１０をストリーミング配信する。主動画受信部１３０は、配信サーバ２００から受信した主動画データ２１０を主動画再生部１１０に渡し、主動画再生部１１０は、主動画データ２１０の再生を開始する。同期制御部１６０は、ユーザが指示した番組の同期タイミングデータ２３０を配信サーバ２００から取得し、取得した同期タイミングデータ２３０を記憶装置１７０に記憶させる。
【００３４】
再生監視部１５０の再生位置取得部１５２は、主動画再生部１１０を監視して、主動画データ２１０の現在の再生位置を一定の時間間隔（例えば、数十から数百ミリ秒以下の時間間隔）で繰り返し取得し、取得した主動画データ２１０の現在の再生位置を同期制御部１６０に渡す。
【００３５】
同期制御部１６０は、再生位置取得部１５２から主動画データ２１０の現在の再生位置の提供を受ける度に、再生位置取得部１５２が取得した主動画データ２１０の現在の再生位置と、記憶装置１７０に記憶された同期タイミングデータ２３０と、に基づいて、副資料領域３１２に表示させるべき資料の資料ＩＤを決定する。同期制御部１６０は、ここで決定した資料の資料ＩＤと、再生監視部１５０から取得した副資料再生部１２０によって現在再生中の資料の資料ＩＤと、を比較して、両者が異なる場合は、決定した資料の資料ＩＤを副資料再生部１２０に通知する。同期制御部１６０から資料ＩＤの通知を受けた副資料再生部１２０は、副資料受信部１４０を介し、配信サーバ２００に対して、通知された資料ＩＤに対応する副資料データ２２０の配信要求を行う。副資料受信部１４０は、当該資料ＩＤに対応する副資料データ２２０を配信サーバ２００からダウンロード受信し、受信した副資料データ２２０を記憶装置１７０に格納する。副資料受信部１４０は、副資料データ２２０のダウンロードが完了すると、ダウンロードが完了したことを副資料再生部１２０に通知する。再生状態取得部１５４は、副資料再生部１２０が副資料受信部１４０からのダウンロード完了通知を受けたことを検知し、その旨を同期制御部１６０に通知する。この通知を再生状態取得部１５４から受けた同期制御部１６０は、ダウンロードされた副資料データ２２０が文書データ及び静止画像データなどの動画以外のデータであれば、副資料再生部１２０を制御してこの副資料データ２２０を表示画面３００の副資料領域３１２に表示させる。ここで、ダウンロードされた副資料データ２２０が動画データであれば、同期制御部１６０は、後述の同期処理において副資料データ２２０の再生を開始させるときまで、副資料再生部１２０を制御してこの副資料データ２２０の再生を待機させる。
【００３６】
以上で説明した例では、副資料を再生すべきタイミングが到来したときにその副資料をダウンロードしたが、このような手順は一例に過ぎない。副資料は、当該副資料を再生するタイミングが来る前に前もってダウンロードしておくこともできる。例えば、同期制御部１６０は、副資料領域３１２において現在表示されている資料の次に表示されるべき資料の資料ＩＤを決定し、副資料再生部１２０に通知するようにしてもよい。この場合、副資料再生部１２０が副資料領域３１２に現在表示すべき資料の再生を行っている間に、副資料受信部１４０は、次に表示すべき副資料データ２２０をダウンロード受信し、受信した副資料データ２２０を記憶装置１７０に格納する。
【００３７】
以上で述べた処理と並行して、同期制御部１６０は、主動画データ２１０の再生位置と副資料データ２２０の再生位置とを同期させる同期処理を行う。図４に、同期制御部１６０が行う同期処理の手順の例を示す。主動画データ２１０の再生が開始されると、同期制御部１６０は、図４に例示する処理を開始する。
【００３８】
図４を参照すると、ステップＳ１で、ステップＳ１の処理を開始してから一定の時間が経過したか否かに従って同期処理を実行するか否かを判定する。この判定により、一定の時間間隔で同期処理が実行される。同期処理を実行する時間間隔は、例えば数十から数百ミリ秒以下の短い時間間隔とする。この時間間隔は、前述の主動画データ２１０の現在の再生位置を取得する時間間隔と同じ時間間隔としてもよいし、異なる時間間隔としてもよい。
【００３９】
ステップＳ１で同期処理を実行すると判定されると、次にステップＳ２で、同期制御部１６０は、副資料再生部１２０によって現在再生中の副資料データ２２０が動画であるか否かを判定する。現在再生中の副資料データ２２０が動画であるか否かを示す情報は、再生監視部１５０から取得できる。現在再生中の副資料データ２２０が動画であればステップＳ３に進み、動画以外であればステップＳ１に戻る。ステップＳ３で、同期制御部１６０は、主動画再生部１１０による主動画データ２１０の現在の再生位置を再生監視部１５０の再生位置取得部１５２から取得する。
【００４０】
ステップＳ４で、同期制御部１６０の目標再生位置算出部１６２は、副資料データ２２０の目標再生位置Ｔｉを算出する。この算出処理では、まず同期制御部１６０は、記憶装置１７０に記憶された同期タイミングデータ２３０を参照し、現在再生中の副資料データ２２０の主動画データ２１０の時間軸上での開始位置（すなわち、同期タイミングデータ２３０における当該副資料データの「同期位置」）を取得する。例えば、同期タイミングデータ２３０のデータ内容が図３に例示する内容である場合に、現在の再生中の副資料データ２２０が資料ＩＤ「２」の副資料データであったとすると、資料ＩＤ「２」の副資料データ２２０の同期位置１分０秒を取得する。次に、同期制御部１６０は、ステップＳ３で取得した主動画データ２１０の現在の再生位置Ａと、同期タイミングデータ２３０から取得した副資料データ２２０の同期位置Ｂと、の間の差を計算する。この差が副資料データ２２０の目標再生位置Ｔｉである。図５に、主動画の現在の再生位置Ａ、現在再生中の副資料データ２２０の同期位置Ｂ、及び現在再生中の副資料データ２２０の目標再生位置Ｔｉ、の関係の例を示す。副資料データ２２０の目標再生位置Ｔｉは、主動画の現在の再生位置に応じて同期タイミングデータ２３０から規定される副資料データ２２０の再生位置ということもできる。
【００４１】
次に、ステップＳ５で、同期制御部１６０は、副資料再生部１２０が現在再生中の副資料データ２２０の実際の再生位置である実再生位置Ｔｒを再生監視部１５０から取得する。本実施形態では、主動画データ２１０は配信サーバ２００からストリーミング配信され、副資料データ２２０は配信サーバ２００からダウンロード配信される。このように主動画データ２１０及び副資料データ２２０の配信方式が異なる場合、主動画データ２１０及び副資料データ２２０の受信にかかる時間が互いに異なることがあるため、視聴クライアント１００上で主動画データ２１０の再生開始が可能となる時刻と副資料データ２２０の再生開始が可能となる時刻との間に差が生じることがある。また例えば、視聴クライアント１００において主動画データ２１０の途中からの再生開始が指示された場合、主動画データ２１０については指示に応じて指定された開始時刻の部分から配信サーバ２００によってストリーム配信されるが、ダウンロード受信された副資料データ２２０は、副資料データ２２０の最初から再生されることがある。また、主動画データ２１０と副資料データ２２０が同じ配信方式で配信される場合でも、それら各データ２１０，２２０を提供するサーバが異なる場合などには、両者のデータの提供タイミングにずれが生じる場合もある。以上のようなことから、実再生位置Ｔｒは、目標再生位置Ｔｉとは必ずしも一致しない。
【００４２】
ステップＳ６で、副資料再生部１２０が現在再生中の副資料データ２２０について、目標再生位置Ｔｉと実再生位置Ｔｒとの間の差が予め設定された閾値以内であるか否かを判定する。ここで、閾値は、一定の値（例えば、１秒）に設定しておくことができる。また例えば、現在再生中の副資料データ２２０の再生時間の長さの割合に基づいてこの閾値を設定してもよい。例えば、ＴｉとＴｒとの間の差が再生時間の１．０％以内であるか否かを判定するように設定することができる。ステップＳ６で、目標再生位置Ｔｉと実再生位置Ｔｒとの間の差が閾値以内であると判定されると、処理はステップＳ１に戻り、閾値以内でないと判定されると、ステップＳ７に進む。
【００４３】
ステップＳ７で、同期制御部１６０は、主動画データ２１０及び副資料データ２２０の再生位置を同期させる同期処理を行う。ステップＳ７で、同期制御部１６０は、副資料データ２２０の再生位置を目標再生位置算出部１６２がステップＳ４で算出した目標再生位置Ｔｉに設定するように、副資料再生部１２０に対して指示を出す。同期制御部１６０からこの指示を受けた副資料再生部１２０は、目標再生位置Ｔｉから副資料データ２２０を再生する。ステップＳ７の処理が終了すると、処理はステップＳ１に戻り、ステップＳ１以下の処理が繰り返される。
【００４４】
このような処理により、動画の副資料データ２２０と主動画データ２１０とのずれが予め設定された閾値以内となるよう、両者の同期が維持される。
【００４５】
以上、図４を参照して説明した実施形態では、主動画データ２１０及び副資料データ２２０の双方の再生中に副資料データ２２０の実再生位置Ｔｒと目標再生位置Ｔｉとの間にずれが生じると、副資料データ２２０の再生位置が目標再生位置Ｔｉに設定される。視聴クライアント１００における番組の視聴においては、主動画データ２１０及び副資料データ２２０の再生状態が変化することがある。例えば、ユーザが操作ボタン部３１４を操作することで主動画データ２１０の再生が停止又は一時停止され、その後さらにユーザが操作ボタン部３１４を操作して主動画データ２１０の再生が再開されることがある。また例えば、主動画受信部１３０における主動画データ２１０のストリーミング受信の遅延により主動画データ２１０の再生が待機させられたり、副資料受信部１４０における副資料データ２２０のダウンロード完了まで副資料データ２２０の再生が待機させられたりすることがある。したがって、他の実施形態では、図４のステップＳ７において、主動画データ２１０及び副資料データ２２０の再生状態も考慮して同期処理を行ってもよい。この実施形態では、ステップＳ７で、同期制御部１６０は、再生監視部１５０の再生状態取得部１５４から、主動画データ２１０及び副資料データ２２０の再生状態を取得する。同期制御部１６０は、主動画データ２１０及び副資料データ２２０の再生状態の組み合わせに対応づけて予め設定された処理を行う。
【００４６】
図６に例示する表は、主動画データ２１０及び副資料データ２２０の再生状態の各組み合わせに対応づけて設定された処理を示す。図６を参照すると、主動画データ２１０（以下「主動画」とも呼ぶ）の再生状態は、「再生中」、「停止」、「一時停止」、及び「バッファリング」の４種類であり、副資料データ２２０（以下、「資料動画」とも呼ぶ）の再生状態は、「再生中」、「停止」、「一時停止」、「ダウンロード中」、及び「ダウンロード完了」の５種類である。資料動画の「ダウンロード完了」状態とは、副資料受信部１４０における配信サーバ２００からの副資料データ２２０のダウンロード受信が完了した後、資料動画の再生を待機させている状態である。
【００４７】
以下、図６を参照し、主動画の再生状態と資料動画の再生状態との各組み合わせについて、その組み合わせのときに同期制御部１６０が図４のステップＳ７で行う処理について説明する。主動画及び資料動画の再生状態の組み合わせが、図６に例示する表において斜線を引いた部分に該当する場合は、同期制御部１６０は、特に処理を行わずにステップＳ７の処理を終了する。
【００４８】
主動画及び資料動画の再生状態が共に「再生中」である場合、同期制御部１６０は、資料動画の再生位置を目標再生位置算出部１６２がステップＳ４で算出した目標再生位置Ｔｉに設定するように、副資料再生部１２０に対して指示を出す。同期制御部１６０からこの指示を受けた副資料再生部１２０は、目標再生位置Ｔｉから資料動画を再生する。
【００４９】
主動画が「再生中」状態であって、資料動画が「停止」状態又は「一時停止」状態の場合、同期制御部１６０は、副資料再生部１２０を制御して、資料動画の再生を開始させる。同期制御部１６０の指示を受けた副資料再生部１２０は、資料動画が「停止」状態である場合は資料動画の最初から再生を開始し、資料動画が「一時停止」状態である場合は、資料動画が「再生中」状態から「一時停止」状態へ移行したときの再生位置から資料動画の再生を開始する。ここでは、資料動画の再生開始位置は目標再生位置Ｔｉに設定されることはない。しかしながら、この処理の後、ステップＳ１からステップＳ７までの処理が繰り返されて、次にステップＳ７の処理が行われると、主動画及び資料動画の再生状態が共に「再生中」となる。このとき、主動画及び資料動画の再生状態が共に「再生中」である場合の前述の処理が行われ、資料動画の再生位置は目標再生位置Ｔｉに設定される。他の実施形態では、主動画が「再生中」状態であって、資料動画が「停止」状態又は「一時停止」状態の場合に、同期制御部１６０は、資料動画を目標再生位置Ｔｉから再生するように副資料再生部１２０を制御するようにしてもよい。
【００５０】
主動画が「再生中」状態であって、資料動画が「ダウンロード中」状態である場合、同期制御部１６０は、主動画再生部１１０を制御して、主動画を「一時停止」状態にする。資料動画が「ダウンロード中」状態のときは、主動画の再生に同期して再生されるべき資料動画を再生することができないからである。
【００５１】
主動画が「停止」状態であって、資料動画が「再生中」状態又は「一時停止」状態の場合、同期制御部１６０は、副資料再生部１２０を制御して、資料動画の再生を停止させる。
【００５２】
主動画が「一時停止」状態であって、資料動画が「再生中」状態である場合、同期制御部１６０は、副資料再生部１２０を制御して、資料動画を「一時停止」状態にする。
【００５３】
主動画が「一時停止」状態であって、資料動画が「ダウンロード完了」状態の場合、同期制御部１６０は、主動画再生部１１０及び副資料再生部１２０を制御して、主動画及び資料動画の再生を開始させる。このとき、主動画は、「再生中」状態から「一時停止」状態へ移行したときの再生位置から再生され、資料動画は、資料動画の最初から再生される。他の実施形態では、主動画が「一時停止」状態であって、資料動画が「ダウンロード完了」状態の場合に、同期制御部１６０は、資料動画を目標再生位置Ｔｉから再生開始させるように副資料再生部１２０を制御してもよい。
【００５４】
主動画が「バッファリング」状態であって、資料動画が「再生中」の場合、同期制御部１６０は、副資料再生部１２０を制御して、資料動画を「一時停止」状態にする。
【００５５】
ステップＳ１からステップＳ７までの処理を繰り返すことで、資料動画の現在の再生位置と、資料動画の目標再生位置と、の間にずれが生じた場合に、同期制御部１６０によってそのずれが検知され、資料動画の再生位置は主動画の再生位置と同期される。また、ステップＳ１からステップＳ７までの処理が繰り返されることで、主動画の再生状態に応じて資料動画の再生状態が制御される。例えば、主動画及び資料動画の再生中に、ユーザが操作ボタン部３１４を操作することで主動画の再生を停止させると、ステップＳ７において主動画の再生状態（「停止」）に従って資料動画は「停止」状態にされる。その後さらにユーザが操作ボタン部３１４を操作して主動画を再生させると、ステップＳ７において主動画の再生状態（「再生中」）に従って資料動画が再生される。
【００５６】
このような再生状態を考慮した同期制御によれば、ストリーミング配信される主動画データ２１０とダウンロード配信される副資料データ２２０との再生開始タイミングのずれが予め設定された閾値以下となる。また、ストリーミング配信される主動画データ２１０を途中から再生開始した場合でも、その再生開始位置に対応した副資料データ２２０がその再生開始位置に対応した再生位置から再生される。
【００５７】
以上で説明した実施形態では、副資料再生部１２０は、副資料データ２２０のダウンロード完了後、同期制御部１６０からの再生開始指示を待ってから副資料データ２２０の再生を開始する。他の実施形態では、副資料再生部１２０は、副資料データのダウンロードが完了した時点で、同期制御部１６０からの指示を待たずに副資料データ２２０の再生を開始してもよい。この場合、再生状態取得部１５４は、ダウンロードが完了したことで副資料データ２２０の再生が開始されたことを示す情報を同期制御部１６０に送る。この情報を用いて、同期制御部１６０は、図６を参照して説明した図４のステップＳ７の処理において、資料動画の「ダウンロード完了」状態を検出し、主動画の再生開始を主動画再生部１１０に指示する。
【００５８】
また、以上で説明した実施形態では、同期制御部１６０は、番組の視聴を開始するときに、配信サーバ２００から同期タイミングデータ２３０を取得して記憶装置１７０に記憶させ、必要に応じて記憶装置１７０内の同期タイミングデータ２３０を参照して処理を行う。他の実施形態では、同期制御部１６０は、必要に応じて配信サーバ２００内の同期タイミングデータ２３０を参照するようにしてもよい。
【００５９】
以上では、番組の主たる情報と、それに対して合成される副資料も、共に動画である場合を主たる例として示したが、上記実施形態の方式は、そのような動画同士の場合に限らない。主データ又は副データが、音声データなどのように他の種類の時間変化データであってもよい。
【００６０】
また以上では、主動画データ２１０がストリーミング配信され、副資料データ２２０がダウンロード配信される実施形態を例示したが、主動画データ２１０と副資料データ２２０の配信方式の組合せが上記の実施形態と異なる場合にも、上記実施形態の同期制御は適用可能である。
【００６１】
以上に例示したシステムにおける視聴クライアント１００は、典型的には、汎用のコンピュータにて上述の視聴クライアントの各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、マイクロプロセッサなどのＣＰＵ（中央演算装置）、ランダムアクセスメモリ等のメモリ（一次記憶）、各種Ｉ／Ｏ（入出力）インタフェース等がバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ハードディスクドライブやＣＤやＤＶＤに対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのための装置、などが接続される。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。配信サーバ２００についても同様である。
【図面の簡単な説明】
【００６２】
【図１】マルチメディア番組配信システムの構成の例を示す図である。
【図２】視聴クライアントの表示画面の一例を模式的に示す図である。
【図３】同期タイミングデータのデータ内容の一例を示す図である。
【図４】視聴クライアントが行う同期処理の手順の例を示す図である。
【図５】副動画の目標再生位置を算出する方法の例を示す説明図である。
【図６】主動画及び副動画の再生状態の組み合わせに対応して視聴クライアントが行う処理の内容の例を示す図である。
【符号の説明】
【００６３】
１００  視聴クライアント、１１０  主動画再生部、１２０  副資料再生部、１３０  主動画受信部、１４０  副資料受信部、１５０  再生監視部、１５２  再生位置取得部、１５４  再生状態取得部、１６０  同期制御部、１６２  目標再生位置算出部、１７０  記憶装置、２００  配信サーバ、２１０  主動画データ、２２０  副資料データ、２３０  同期タイミングデータ、３００  表示画面、３１０  主動画領域、３１２  副資料領域、３１４  操作ボタン部。
【図１】
2008211718.tif 000003
【図２】
2008211718.tif 000004
【図３】
2008211718.tif 000005
【図４】
2008211718.tif 000006
【図５】
2008211718.tif 000007
【図６】
2008211718.tif 000008