(57)【要約】【課題】  送信装置が、受信装置へ重複したプレイリストを送信する可能性があり、通信帯域の負荷が増加してしまう。また、送信装置がプレイリストを更新してから、受信装置が当該プレイリストを取得するまでにタイムロスが発生する可能性があり、通信のリアルタイム性が低下するという課題がある。【解決手段】  リストを取得する取得手段と、前記リストが受信装置に未送信のセグメントデータに関する情報を含むかを判定する判定手段と、前記リストが前記受信装置に未送信のセグメントデータに関する情報を含むと判定された場合に、前記リストを第１のタイミングで送信し、前記受信装置に未送信のセグメントデータに関する情報を含まないと判定された場合に、前記リストまたは前記取得手段によって前記リストを取得した後に取得されたリストを前記第１のタイミングより後のタイミングである第２のタイミングで送信するよう制御する制御手段を有する。【選択図】  図４
2014131143.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを分割した複数のセグメントデータのうち、受信装置が取得可能なセグメントデータを示すリストを取得する取得手段と、
前記受信手段から前記リストの取得要求を受信する受信手段と、
前記取得手段によって取得された前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含むか否かを判定する判定手段と、
前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含むと前記判定手段によって判定された場合に、前記リストを第１のタイミングで送信し、前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含まないと前記判定手段によって判定された場合に、前記リストまたは前記取得手段によって前記リストを取得した後に取得されたリストを前記第１のタイミングより後のタイミングである第２のタイミングで送信するよう制御する制御手段と
を有する送信装置。
【請求項２】
前記制御手段は、前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含まないと前記判定手段によって判定され、前記受信装置に送信されていないセグメントデータに関する情報を含むリストを、前記受信手段によって前記取得要求を受信してから所定の時間内に、前記取得手段によって取得した場合に、前記受信装置に送信されていないセグメントデータに関する情報を含むリストを前記第２のタイミングで送信するよう制御することを特徴とする請求項１に記載の送信装置。
【請求項３】
コンテンツデータを分割した複数のセグメントデータのうち、受信装置が取得可能なセグメントデータを示すリストを取得する取得手段と、
前記受信手段から前記リストの取得要求を受信する受信手段と、
前記取得手段によって取得された第１のリストが前記受信装置に送信されていないセグメントデータに関する情報を含むか否かを判定する第１の判定手段と、
前記受信装置が取得可能なセグメントデータであり、且つ前記受信装置に送信されていないセグメントデータを示す第２のリストが、前記取得手段によって所定の時間内に取得可能か否かを判定する第２の判定手段と、
前記第１のリストが前記受信装置に送信されていないセグメントデータに関する情報を含むと前記第１の判定手段によって判定された場合に、前記第１のリストを第１のタイミングで送信し、前記第１のリストが前記受信装置に送信されていないセグメントデータに関する情報を含まないと前記第１の判定手段によって判定され、前記第２のリストが前記取得手段によって前記所定の時間内に取得可能であると前記第２の判定手段によって判定された場合に、前記第２のリストを前記第１のタイミングより後のタイミングである第２のタイミングで送信するよう制御する制御手段と
を有することを特徴とする送信装置。
【請求項４】
さらに、前記リストが取得可能となる更新時間を取得する時間取得手段を有し、
前記第２の判定手段は、前記時間取得手段によって取得された前記更新時間と、前記所定の時間とに基づいて、前記リストが、前記取得手段によって所定の時間内に取得可能か否かを判定することを特徴とする請求項３に記載の送信装置。
【請求項５】
前記所定の時間は、前記送信装置のデータ容量、前記送信装置の処理能力、または前記複数のセグメントデータを符号化する符号化方式の少なくとも一つに基づいて設定されることを特徴とする請求項３乃至請求項４のいずれか一項に記載の送信装置。
【請求項６】
前記コンテンツデータは、映像データ、または音声データのいずれかであることを特徴とする請求項１乃至請求項５のいずれか一項に記載の送信装置。
【請求項７】
コンテンツデータを分割した複数のセグメントデータのうち、受信装置が取得可能なセグメントデータを示すリストを取得する取得工程と、
前記受信工程から前記リストの取得要求を受信する受信工程と、
前記取得工程によって取得された前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含むか否かを判定する判定工程と、
前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含むと前記判定工程によって判定された場合に、前記リストを第１のタイミングで送信し、前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含まないと前記判定工程によって判定された場合に、前記リストまたは前記取得工程によって前記リストを取得した後に取得されたリストを前記第１のタイミングより後のタイミングである第２のタイミングで送信するよう制御する制御工程と
を有する送信装置の制御方法。
【請求項８】
コンピュータを、請求項１乃至請求項６のいずれか一項に記載の送信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、送信方法、及びプログラムに関し、コンテンツデータをリアルタイムに送受信するストリーミング配信を行うデータ通信技術に関する。特に、コンテンツデータを複数のセグメントデータに分割し、各セグメントデータを受信装置が送信装置から取得するために用いるメタデータを、送信装置が受信装置に対して送信する技術に関する。
【背景技術】
【０００２】
近年、ネットワークカメラやビデオ会議システム等のように、音声データや映像データ等により構成されるストリーミング形式のコンテンツデータを、ユーザにリアルタイムに配信するデータ通信技術が提供されている。このようなデータ通信技術により、ユーザは、コンテンツデータを受信しながら、同時に受信したコンテンツデータを再生することができる。
【０００３】
また、このようなデータ通信技術として、ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ（非特許文献１）、及びＭＰＥＧ−ＤＡＳＨ（非特許文献２）等が標準規格化されている。これらの各標準規格において、送信装置は、映像データや音声データ等のコンテンツデータを所定の時間間隔毎に分割することにより複数のセグメントデータを生成する。さらに、送信装置は、生成した各セグメントデータの所在情報、再生順序等を含むメタデータ（プレイリストと称す）を受信装置へ送信する。受信装置は、受信したプレイリストに記載された、各セグメントデータの所在情報、再生順序等に基づいて、セグメントデータを取得する。このように、上述した各標準規格において、プレイリスト及びセグメントデータを、送信装置と受信装置との間で所定の時間間隔毎に連続して送受信することにより、コンテンツデータのストリーミングが可能である。
【０００４】
また、送信装置がコンテンツのプレイリストファイル（以下、プレイリスト）を、コンテンツとは別に受信装置に提供することで、受信装置側で取得するメディアファイルを選択することを可能にする方法が提案されている（特許文献１）。ここで、メディアファイルとは、コンテンツをセグメント化して生成されるファイルである。また、プレイリストとは、コンテンツを複数に分割したメディアファイルを受信装置が送信装置から受信するために用いる情報である。
【０００５】
特許文献１に記載の方法では、受信装置が周期的にプレイリストの取得要求（以下、プレイリスト要求）を送信し、さらに、当該プレイリスト要求に対して受信したプレイリストが更新されていなかった場合はプレイリスト要求の送信周期を変更する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】ＩＥＴＦ  ｄｒａｆｔ  ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｄｒａｆｔ−ｐａｎｔｏｓ−ｈｔｔｐ−ｌｉｖｅ−ｓｔｒｅａｍｉｎｇ−０９
【非特許文献２】ＩＳＯ／ＩＥＣ  ２３００９−１
【特許文献】
【０００７】
【特許文献１】特表２０１２−５１４２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１に記載の方法では、送信装置は、受信装置から受信したプレイリスト要求に対して、当該プレイリスト要求より前に生成及び更新されたプレイリストしか送信できない。このため、送信装置は、受信装置からプレイリスト要求を受信した直後に、プレイリストを生成及び更新した場合、次に受信装置からプレイリスト要求を受信するまで、生成及び更新した最新のプレイリストを送信することができない。このように、従来技術では、送信装置は、受信装置からプレイリスト要求を受信した直後に最新のプレイリストを取得した場合について考慮しておらず、プレイリストの送信タイミングを制御できないという課題がある。
【０００９】
本発明は、上記課題を解決するためになされたものである。本発明は、送信装置が、プレイリスト要求に対するプレイリストの送信タイミングを制御する。これにより、プレイリストを更新してから当該プレイリストを受信装置に送信するまでのタイムロスを低減させることを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するために、本発明の送信装置は下記の構成を有する。即ち、コンテンツデータを分割した複数のセグメントデータのうち、受信装置が取得可能なセグメントデータを示すリストを取得する取得手段と、前記受信手段から前記リストの取得要求を受信する受信手段と、前記取得手段によって取得された前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含むか否かを判定する判定手段と、前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含むと前記判定手段によって判定された場合に、前記リストを第１のタイミングで送信し、前記リストが前記受信装置に送信されていないセグメントデータに関する情報を含まないと前記判定手段によって判定された場合に、前記リストまたは前記取得手段によって前記リストを取得した後に取得されたリストを前記第１のタイミングより後のタイミングである第２のタイミングで送信するよう制御する制御手段を有する。
【発明の効果】
【００１１】
本発明により、受信装置からプレイリストの取得要求を受信し、未送信のプレイリストがない場合に、送信装置が、プレイリストを生成及び更新してから当該プレイリストを受信装置に送信するまでのタイムロスを低減させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の各実施形態を示すシステム構成図
【図２】プレイリストの一例を示す図
【図３】本発明の各実施形態における送信装置２０の機能構成例を示すブロック図
【図４】実施形態１の送信装置２０におけるプレイリストの送信制御処理の動作を示すフローチャート
【図５】実施形態１における送信装置２０と受信装置３０との間のメッセージを示すシーケンス図
【図６】実施形態２の送信装置２０におけるプレイリストの送信制御処理の動作を示すフローチャート
【図７】実施形態２における送信装置２０と受信装置３０との間のメッセージを示すシーケンス図
【図８】本発明の送信装置に適用可能なコンピュータのハードウェア構成例を示すブロック図
【発明を実施するための形態】
【００１３】
以下に、添付の図面を参照して、実施形態について詳細に説明する。尚、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１４】
＜実施形態１＞
本実施形態のシステム全体の処理について、図１を用いて説明する。
【００１５】
図１は、本実施形態に係る、送信装置２０と受信装置３０との接続形態の一例を示す図である。本実施形態において、送信装置２０と受信装置３０とは、ネットワーク１０を介して相互に接続されている。
【００１６】
送信装置２０及び受信装置３０は、コンテンツデータを所定の時間間隔毎に分割して取得したセグメントデータと、各セグメントデータに関する再生区間情報を含むメタデータ（以下、プレイリストと称す）とをネットワーク１０を介して夫々送受信する。これにより、送信装置２０及び受信装置３０はコンテンツデータのストリーミングを行う。コンテンツデータとは、映像データ、音声データ等を示す。本実施形態では、送信装置２０が、コンテンツデータとして映像データを受信装置３０へ送信することを想定して以下に説明するが、本発明はこれに限定されない。すなわち、送信装置２０が、コンテンツデータとして音声データを受信装置３０へ送信してもよい。また、プレイリストは、各セグメントデータの再生順序、所在情報（ＵＲＬ等）、再生時間等が記載されたメタデータである。本実施形態では、プレイリストのフォーマットとしてテキストベースのＭ３Ｕ８形式を用いる。Ｍ３Ｕ８形式のプレイリストの詳細は図２を用いて後述する。
【００１７】
ネットワーク１０は、例えば、インターネットや有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、または無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）等により構成される。尚、本実施形態において、ネットワーク１０はホームネットワークとしての有線ＬＡＮ、または無線ＬＡＮを想定しているが、本発明はネットワーク１０の通信規格、規模、構成を問わない。即ち、ネットワーク１０の通信規格として、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、アドホックネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、ＵＷＢ（Ｕｒｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）等を用いてもよい。
【００１８】
送信装置２０は、受信装置３０からネットワーク１０を介して送信されるプレイリストの取得要求（以下、プレイリスト要求）、及びセグメントデータの取得要求（以下、セグメントデータ要求）に基づいて、プレイリストの送信、及びセグメントデータの送信を行う。送信装置２０としては、例えば、カメラ、ビデオカメラ、スマートフォン、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、携帯電話等が挙げられるが、本発明はこれに限定されない。即ち、送信装置２０は、後述のハードウェア構成、及びモジュール構成を満たすものであればよい。また、送信装置２０が送信するコンテンツデータの生成は送信装置２０内で行われてもよいし、他のサーバ装置等で行われてもよい。当該他のサーバ等でコンテンツデータが生成される場合、送信装置２０に当該コンテンツデータに関する情報が通知されてもよい。
【００１９】
受信装置３０は、送信装置２０からネットワーク１０を介して送信されるプレイリスト、及びセグメントデータを夫々受信する。さらに、本実施形態において受信装置３０は、受信したコンテンツデータの再生、及び通信を行う機能を備える。尚、受信装置３０が受信したコンテンツデータを他の装置に送信して、当該他の装置が再生、及び記録させることとしてもよい。受信装置３０としては、例えば、スマートフォン、ＰＣ、テレビ、携帯電話等が挙げられるが、本発明はこれに限定されない。即ち、受信装置３０は、前述の機能と同等の機能を備えるものであり、後述のハードウェア構成、及びモジュール構成を満たすものであればよい。また、ネットワーク１０に接続される受信装置３０は一台のみであってもよいし、複数台存在してもよい。
【００２０】
図３は、本実施形態に係る、送信装置２０の機能構成図である。
【００２１】
通信制御部３０１は、ネットワーク１０に接続するための通信制御を行う。通信制御部３０１は、受信装置３０からのコンテンツ配信リクエストに対する通信制御、及び受信装置３０へ送信するコンテンツデータに対する通信制御を行う。通信制御部３０１における通信制御処理の詳細については後述する。
【００２２】
リスト送信制御部３０２は、通信制御部３０１を用いて、ネットワーク１０を介して、プレイリストを受信装置３０へ送信するよう通信制御を行う。
【００２３】
計測部３０３は、通信制御部３０１を利用して、ネットワーク１０の通信帯域の計測を行う。本実施形態では、送信装置２０が受信装置３０へプレイリストを送信してから、送信装置２０が受信装置３０から次のプレイリスト要求を受信するまでの時間を計測することにより、通信帯域の計測を行う。本実施形態では、上述した方法で通信帯域の計測を行うが、これに限定されない。即ち、送信装置２０から受信装置３０に送信するＰＩＮＧの返答時間を計測する等、同等の方法で通信帯域を計測することも可能である。
【００２４】
制御部３０４は、図３に示す送信装置２０の処理部全体の制御を行う。即ち、制御部３０４は、各処理部３０２、３０３、３０５〜３０７を管理、及び制御する。
【００２５】
識別子管理部３０５は、送信装置２０と受信装置３０との間の各セッションに対して識別子（ＩＤ）を夫々割り振り、当該識別子の管理を行う。ここで、１セッションは、送信装置２０と受信装置３０とが、通信を開始してから終了するまでの一連の送受信処理を示す。別々のセッションに対しては、別々の識別子が割り振られ、識別子によってセッションを一意に特定することが可能となる。本実施形態では、識別子として重複しない固有の数値を用いるが、これに限定されない。即ち、重複しない固有の文字列等、同等の機能を有する識別子を用いてもよい。また、本実施形態では、各セッションの識別子は、送信装置２０の識別子管理部３０５が生成するが、受信装置３０が、当該受信装置３０のＭＡＣアドレス等、重複しない情報を用いて生成してもよい。
【００２６】
判定部３０６は、識別子管理部３０５が管理している各セッションについて、最新のプレイリストを送信済みであるか否かの情報を管理する。判定部３０６は、後述する図４に示す方法により、プレイリストを送信するための判定処理を行う。
【００２７】
時間取得部３０７は、プレイリストが生成、及び更新されるまでにかかる時間（以下、更新時間と称す）を取得する。本実施形態において、プレイリストは送信装置２０のプレイリスト管理部（不図示）によって生成、及び更新されるが、本発明はこれに限定されない。即ち、プレイリストは、送信装置２０外の他の装置によって生成、及び更新されて、プレイリスト管理部に入力されても構わない。また、プレイリストは、コンテンツデータを分割した各セグメントデータの送信準備が完了した時点で、生成、及び更新が可能となる。即ち、コンテンツデータのセグメントデータが生成され、当該セグメントデータの送信準備が完了するまでの時間が、更新時間となる。尚、セグメントデータの送信準備が完了すると、送信装置２０は、当該セグメントデータに関する再生区間情報を含むプレイリストを受信装置３０へ送信可能である。また、当該更新時間は、セグメントデータを生成する装置のハードウェアスペック、及びセグメントデータの生成・送信準備の処理方法によって決定される。
【００２８】
図４は受信装置３０から受信したプレイリスト要求に従って、送信装置２０で行うプレイリストの送信制御処理のフローを示す。
【００２９】
本実施形態において、送信装置２０が受信装置３０からプレイリスト要求を受信すると、判定部３０６はプレイリストの送信制御処理を開始する。
【００３０】
まず、ステップＳ４０１において、判定部３０６は、プレイリスト要求を受信したセッションに対して、最新のプレイリストが生成及び更新されたか否かの判定を行う。ここで、識別子管理部３０５は、受信装置３０から受信したプレイリスト要求に含まれる識別子によって、セッションを特定する。また、プレイリストは、コンテンツデータの配信に関する開始指示を受信した場合に生成され、その後、当該コンテンツデータの各セグメントデータが生成される毎に更新される。
【００３１】
図２にプレイリストの一例を示す。プレイリスト２００は、プレイリスト管理部（不図示）で取得した、コンテンツデータを分割した複数のセグメントデータのうち、受信装置３０が取得可能なセグメントデータを示すメタデータである。図２において、１つの取得情報２０１が１つ分のセグメントデータに対応し、当該１つ分のセグメントデータを取得するための情報を夫々示している。プレイリスト２００は、取得情報２０１によって、受信装置３０が取得可能なセグメントデータを示すことができる。また、プレイリスト２００は、取得情報２０１によって、送信装置２０が送信可能なセグメントデータを示すことができる。尚、図２において、プレイリスト２００には、対応するセグメントデータが再生される順序に応じた順序で、各取得情報２０１が夫々記載される。
【００３２】
本実施形態において、プレイリスト２００は、複数の取得情報２０１を含むことができる。さらに、本実施形態において、プレイリスト２００は、取得情報２０１を含まないようにすることができる。プレイリスト２００が取得情報２０１を含まない場合、受信装置３０が取得可能なセグメントデータが存在しないことを意味する。また、プレイリスト２００が取得情報２０１を含まない場合、送信装置２０が送信可能なセグメントデータが存在しないことを意味する。
【００３３】
さらに、本実施形態において各取得情報２０１は、再生時間２０２と所在情報（ＵＲＬ）２０３とを夫々含む。受信装置３０は、プレイリスト２００に含まれる所在情報２０３に基づいて、受信するセグメントデータ要求を送信装置２０へ送信することにより、当該セグメントデータを受信することができる。
【００３４】
ステップＳ４０１において最新のプレイリストが生成及び更新されたと判定した場合（ステップＳ４０１のＹＥＳ）に、判定部３０６は、当該セッションに対して、最新のプレイリストを送信したか否かを判定する（ステップＳ４０２）。ステップＳ４０２において最新のプレイリストを送信していないと判定された場合（ステップＳ４０２のＮＯ）、リスト送信制御部３０２は、送信装置２０が受信装置３０に対して最新のプレイリストを送信するよう制御し（ステップＳ４０３）、処理を終了する。
【００３５】
一方、ステップＳ４０１で最新のプレイリストが生成及び更新されていない場合（ステップＳ４０１のＮＯ）、またはステップＳ４０２で最新のプレイリストを送信済みである場合（ステップＳ４０２のＹＥＳ）、判定部３０６はステップＳ４０４の処理を行う。
【００３６】
ステップＳ４０４において、判定部３０６は、最新のプレイリストが生成及び更新されるまで、受信装置３０へプレイリストを送信せずに待機するよう制御する。但し、待機する待機期間は所定時間内とする。即ち、ステップＳ４０４において、判定部３０６は、最新のプレイリストが生成及び更新されるか、または所定時間経過するまで待機し、待機期間を終了後、ステップＳ４０５へ進む。ステップＳ４０５において、判定部３０６は、最新のプレイリストが生成及び更新されたか否かを再度判定する。
【００３７】
ステップＳ４０４において所定時間内に最新のプレイリストが生成及び更新された場合、判定部３０６は、待機を終了し、ステップＳ４０５において最新のプレイリストが生成及び更新されたと判定する（ステップＳ４０５のＹＥＳ）。一方、ステップＳ４０４において最新のプレイリストが生成及び更新されずに所定時間経過した場合、待機を終了し、ステップＳ４０５において最新のプレイリストが生成及び更新されなかったと判定する（ステップＳ４０５のＮＯ）。
【００３８】
ステップＳ４０５で、所定時間内に最新のプレイリストが生成及び更新された場合（ステップＳ４０５のＹＥＳ）、リスト送信制御部３０２は、当該最新のプレイリストを送信するよう制御し（ステップＳ４０３）、処理を終了する。一方、所定時間内に最新のプレイリストが生成及び更新されない場合（ステップＳ４０５のＮＯ）、リスト送信制御部３０２は、送信装置２０が受信装置３０へ既存のプレイリストを送信するよう制御し（ステップＳ４０６）、処理を終了する。
【００３９】
尚、ステップＳ４０５で所定時間内に最新のプレイリストが生成されない場合、ステップＳ４０６においてリスト送信制御部３０２は、送信装置２０が、プレイリストが生成されていないことを示す情報を受信装置３０へ送信するよう制御する。即ち、送信装置２０は、図２に示す取得情報２０１を含まないプレイリストを受信装置３０へ送信する。また、ステップＳ４０５で所定時間内に最新のプレイリストが更新されない場合、ステップＳ４０６においてリスト送信制御部３０２は、送信装置２０が受信装置３０へ既に送信済みのプレイリストを送信するよう制御する。
【００４０】
本実施形態において上述した所定時間は、ステップＳ４０１においてプレイリストが生成されていない場合に所定時間Ａ、ステップＳ４０１においてプレイリストは生成されているが更新されていない場合に所定時間Ｂとして、判定部３０６に設定される。所定時間Ａ、及び所定時間Ｂは、送信装置２０が有する記録媒体のデータ容量、送信装置２０が有するＣＰＵの処理能力、送信装置２０で使用する圧縮技術（符号化方式）等に基づいて決定され、送信装置２０の判定部３０６に設定されている。尚、所定時間Ａ、及び所定時間Ｂは、送信装置２０が予め設定してもよいし、受信装置３０がプレイリスト要求の送信時に、所定時間Ａ、及び所定時間Ｂに関する情報を含めてもよいし、同等の方法で送信装置２０に通知してもよい。また、所定時間Ａ、及び所定時間Ｂは、計測部３０３において計測した通信帯域の状況に応じて動的に変更してもよい。また、所定時間Ａと所定時間Ｂとは同一の値であってもよいし、異なる値でもよい。また、本発明はこれに限定されず、所定時間Ａと所定時間Ｂとを各々設定せずに、共通の所定時間を設定してもよい。
【００４１】
このように、プレイリストの生成及び更新が所定時間内に完了する場合、本実施形態によって送信装置２０は、最新のプレイリストが生成及び更新されてから受信装置３０へ送信するまでの遅延を、従来技術におけるプレイリストの送信よりも低減することができる。
【００４２】
尚、本実施形態のステップＳ４０４において、判定部３０６は、最新のプレイリストが生成及び更新されるまで、受信装置３０へプレイリストを送信せずに待機するよう制御するが、本発明はこれに限定されない。即ち、最新のプレイリストが生成及び更新されていない場合（ステップＳ４０１のＮＯ）または、最新のプレイリストを送信済みである場合（ステップＳ４０２のＹＥＳ）に、プレイリストの送信をせずに待機するよう制御する方法であればよい。即ち、上記の場合（ステップＳ４０１のＮＯまたはステップＳ４０２のＹＥＳ）、所定時間待機し、その後、プレイリストが生成及び更新されたか否かを再度判定する処理手順でも構わない。
【００４３】
図５は、本実施形態に係る、送信装置２０及び受信装置３０におけるシステム全体のメッセージの流れを示すシーケンス図である。以下、図５に示すシーケンス図を用いて、受信装置３０（Ａ）、及び受信装置３０（Ｂ）が送信装置２０に対してプレイリスト要求を送信し、送信装置２０が当該プレイリスト要求に応答する流れについて説明する。尚、図５において受信装置として受信装置３０（Ａ）と受信装置３０（ｂ）との二台が登場するが、これは一台であってもよいし、三台以上であってもよい。
【００４４】
まず、Ｍ５００において受信装置３０（Ａ）は、送信装置２０に対して、コンテンツデータの配信に関する開始指示を行う。当該開始指示（Ｍ５００）を機に、送信装置２０はコンテンツデータの配信の準備を開始する。尚、当該開始指示（Ｍ５００）は、プレイリスト要求（Ｍ５０１）に含まれても良い。
【００４５】
以下、プレイリストの生成が所定時間Ａ以内に完了する場合についてＭ５０１〜５０４の流れを説明する。
【００４６】
Ｍ５０１において受信装置３０（Ａ）は、送信装置２０に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求（Ｍ５０１）を受信した送信装置２０は、前述の図４に示したプレイリストの送信制御処理を行う。
【００４７】
ここでは、プレイリストの生成が所定時間Ａ内に完了するため、Ｍ５０２において、送信装置２０にセグメントデータ１の生成が完了したことを通知されると、Ｍ５０３において送信装置２０はプレイリスト１を生成する。尚、本実施形態において図５に示す各プレイリスト１〜３には、図２に示すプレイリスト２００に記載された内容と同等の情報が記載されている。
【００４８】
また、本実施形態において図５に示すように、受信装置３０（Ａ）からの開始指示（Ｍ５００）の後に、送信装置２０はプレイリスト１を生成（Ｍ５０２）するが、本発明はこれに限定されない。即ち、受信装置３０（Ａ）からの開始指示（Ｍ５００）の有無に係らず、プレイリストを生成していてもよい。
【００４９】
次に、Ｍ５０４において、送信装置２０は、Ｍ５０１における受信装置３０（Ａ）からのプレイリスト要求（Ｍ５０１）に応答する形で、Ｍ５０３で生成したプレイリスト１を受信装置３０（Ａ）へ送信する。尚、図５に示すように、受信装置３０（Ａ）によるプレイリスト要求（Ｍ５０１）から送信装置２０によるプレイリスト１生成（Ｍ５０３）までの待機時間は、所定時間Ａ内である。
【００５０】
これに対し、従来技術では、プレイリスト要求（Ｍ５０１）を受信した送信装置２０は、点線で示すＭ５０５において、プレイリストが生成されていないことを受信装置３０（Ａ）へ送信する。そして、プレイリスト未生成（Ｍ５０５）を受信した受信装置３０（Ａ）は、プレイリスト要求のタイミング制御を行い、Ｍ５０６において、送信装置２０に対して、再度プレイリスト要求を送信する。当該プレイリスト要求（Ｍ５０６）を受信した送信装置２０は、既にＭ５０３で生成されたプレイリスト１をＭ５０７において受信装置３０（Ａ）へ送信する。
【００５１】
このように、プレイリストの生成が所定時間Ａ内に完了する場合、本実施形態によって送信装置２０は、従来技術におけるプレイリスト１送信（Ｍ５０７）よりもプレイリスト要求（Ｍ５０１）からの遅延時間が短いプレイリスト１送信（Ｍ５０４）を実現できる。また、従来技術において受信装置３０（Ａ）が行うプレイリスト要求のタイミング制御も省略でき、タイミング制御のための処理負荷を軽減することができる。
【００５２】
次に、該当するセッションに対して最新のプレイリストが未送信である場合についてＭ５０８〜５０９の流れを説明する。
【００５３】
Ｍ５０８において、受信装置３０（Ｂ）は、送信装置２０に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求（Ｍ５０８）を受信した送信装置２０では、判定部３０６が前述の図４に示したプレイリストの送信制御処理を行う。ここでは、図４のステップＳ４０２の処理において、判定部３０６は、該当するセッションに対して最新のプレイリストを送信していないと判定するため、Ｍ５０９において、送信装置２０は、即時に当該最新のプレイリストを送信する。
【００５４】
また、プレイリストの更新が所定時間Ｂ以内に完了する場合についてＭ５１０〜５１３の流れを説明する。
【００５５】
Ｍ５１０において、受信装置３０（Ａ）は、送信装置２０に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求（Ｍ５１０）を受信した送信装置２０は、前述の図４に示したプレイリストの送信制御処理を行う。この場合、図４のステップＳ４０１の処理において、判定部３０６は、該当するセッションに対して最新のプレイリストが更新されていないと判定する。このため、判定部３０６は、最新のプレイリストが更新されるまで、最長で所定時間Ｂまで待機するよう制御する（ステップＳ４０４）。
【００５６】
ここでは、セグメントデータ２の生成（Ｍ５１１）、及びプレイリスト２の更新（Ｍ５１２）が所定時間Ｂ内に完了するため、Ｍ５１３において、リスト送信制御部３０２は、送信装置２０が受信装置３０（Ａ）へプレイリスト２を送信するよう制御する。
【００５７】
これに対し、従来技術では、プレイリスト要求（Ｍ５１０）を受信した送信装置２０は、点線で示すＭ５１４において、プレイリスト１を受信装置３０（Ａ）へ送信する。そして、プレイリスト１（Ｍ５１４）を受信した受信装置３０（Ａ）は、Ｍ５０７において既にプレイリスト１を受信済みなので、プレイリストに更新情報がないことを判断し、プレイリスト要求のタイミング制御を行う。
【００５８】
このように、プレイリストの更新が所定時間Ｂ内に完了する場合、本実施形態によって送信装置２０は、従来技術におけるプレイリスト１送信（Ｍ５１４）よりも新しく生成されたプレイリストであるプレイリスト２送信（Ｍ５０４）を実現できる。
【００５９】
また、プレイリストの更新が所定時間Ｂ内に完了しない場合についてＭ５１５〜５１６の流れを説明する。
【００６０】
Ｍ５１５において、受信装置３０（Ａ）は、送信装置２０に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求（Ｍ５１５）を受信した送信装置２０は、前述の図４に示したプレイリストの送信制御処理を行う。この場合、図４のステップＳ４０１の処理において、判定部３０６は、該当するセッションに対して最新のプレイリストが更新されていないと判定するため、判定部３０６は、所定時間Ｂだけ待機するよう制御する（ステップＳ４０４）。
【００６１】
ここでは、プレイリストの更新が所定時間Ｂ内に完了しないため、Ｍ５１６において送信装置２０はプレイリスト２を送信する。そして、プレイリスト１（Ｍ５１６）を受信した受信装置３０（Ａ）は、Ｍ５１３において既にプレイリスト２を受信済みなので、プレイリストに更新情報がないことを判断し、プレイリスト要求のタイミング制御を行う。
【００６２】
尚、点線で示すＭ５１７〜５１８において、送信装置２０は、セグメントデータ３を生成（Ｍ５１７）し、プレイリスト３の更新を行う（Ｍ５１８）。
【００６３】
上述したように本実施形態によって、送信装置２０は、プレイリスト要求を受信した際に、プレイリストが生成及び更新されていない場合でも、プレイリスト要求を受信後、所定時間Ａ及びＢ内でプレイリストが生成及び更新されたかを判定する。これにより、送信装置２０は、プレイリスト要求から所定時間Ａ及びＢ内に更新されるプレイリストがある場合に、従来技術の方法よりもプレイリストが更新されてから受信装置３０が更新されたプレイリストを取得するまでの遅延を低減することができる。即ち、本実施形態によって、より新しいプレイリストを、連続性を保ちつつ送信することができる。
【００６４】
＜実施形態２＞
次に、本実施形態に係る、プレイリストの送信制御処理について、図６、及び図７を用いて説明する。尚、本実施形態のシステム全体の構成（図１）、及び送信装置２０の機能構成（図３）は、前述した実施形態１と同一であるため、重複する説明は省略し、ここでは本実施形態の特徴となる構成について説明する。また、前述した実施形態と同一機能を有する各処理部には同一符号を付与する。
【００６５】
図６は受信装置３０から受信したプレイリスト要求に従って、送信装置２０で行うプレイリストの送信制御処理のフローを示す。
【００６６】
図６のステップＳ４０２において最新のプレイリストを送信していないと判定された場合（ステップＳ４０２のＮＯ）、判定部３０６は、最新のプレイリストが所定時間Ａ及びＢ内に生成及び更新されるかを判定する（ステップＳ６０１）。ステップＳ６０１において、判定部３０６は、時間取得部３０７によって取得された、プレイリストが生成及び更新されるまでの待機時間に基づいて、判定部３０６に設定された所定時間Ａ及びＢより長いか、短いかを判定する。
【００６７】
ステップＳ６０１で最新のプレイリストが所定時間Ａ及びＢ内に生成及び更新されると判定した場合（ステップＳ６０１のＹＥＳ）、判定部３０６は、最新のプレイリストが生成及び更新されるまで待機するよう制御する（ステップＳ６０２）。そして、ステップＳ４０３の処理へ進む。
【００６８】
一方、ステップＳ６０１で最新のプレイリストが所定時間Ａ及びＢ内に生成及び更新されないと判定した場合（ステップＳ６０１のＮＯ）、リスト送信制御部３０２は、送信装置２０が受信装置３０に対してエラー応答を送信するよう制御する（ステップＳ６０３）。そして、処理を終了する。
【００６９】
本実施形態において、エラー応答のみを送信し、受信装置３０が一定の規則に従って待った上で、（一定期間後に）再度、プレイリスト要求を送信するが、本発明はこれに限定されない。即ち、エラー応答に、送信装置２０におけるプレイリストの生成及び次の更新にかかる時間（以下、更新予定時間）を付加して送ってもよい。これにより、更新予定時間を付加したエラー応答を受信した受信装置３０は、当該更新予定時間に基づいて、再度プレイリスト要求を送信するためのタイミング制御を行うにより、より適切なタイミング制御を可能にする。
【００７０】
図７は、本実施形態に係る、送信装置２０及び受信装置３０におけるシステム全体のメッセージの流れを示すシーケンス図である。以下、図７に示すシーケンス図を用いて、受信装置３０（Ａ）、及び受信装置３０（Ｂ）が送信装置２０に対してプレイリスト要求を送信し、送信装置２０が当該プレイリスト要求に応答する流れについて説明する。尚、図７において受信装置として受信装置３０（Ａ）と受信装置３０（ｂ）との二台が登場するが、これは一台であってもよいし、三台以上であってもよい。
【００７１】
以下、プレイリストの更新が所定時間Ｂ内に完了しない場合についてＭ５１５、及びＭ７０１の流れについて図７を用いて説明する。
【００７２】
図７のＭ５１５において、受信装置３０（Ａ）は、送信装置２０に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求（Ｍ５１５）を受信した送信装置２０は、前述の図６に示したプレイリストの送信制御処理を行う。この場合、図６のステップＳ４０１の処理において、判定部３０６は、該当するセッションに対して最新のプレイリストが更新されていないと判定するため、所定時間Ａ内に最新のプレイリストが更新されるか否かを判定する（ステップＳ６０１）。
【００７３】
ここでは、プレイリストの更新が所定時間Ａ内に完了しないと判断するため、Ｍ７０１において送信装置２０はエラー応答を受信装置３０（Ａ）へ送信する。エラー応答（Ｍ７０１）を受信した受信装置３０（Ａ）は、プレイリストに更新情報がないことを判断し、プレイリスト要求のタイミング制御を行う。
【００７４】
上述したように本実施形態において、最新のプレイリストが所定時間Ａ及びＢ内に生成及び更新されないと判定した場合に、リスト送信制御部３０２は、送信装置２０が受信装置３０に対してエラー応答を送信するよう制御する。これにより、送信装置２０から受信装置３０へ、重複した同じプレイリストを複数回送るのを防ぐことができる。
【００７５】
また、本実施形態のステップにおいて、予め、所定時間内に最新のプレイリストが生成及び更新されるか否かを判定し、所定時間内に最新のプレイリストが生成及び更新されないと判定した場合に、エラー応答を送信する。これにより、所定時間内に最新のプレイリストが生成及び更新されない場合に、実際に所定時間待機する必要がないため、送信装置２０がプレイリスト要求を受信してからエラー応答を送信するまでの遅延時間を低減することができる。上述したように本実施形態によって、送信装置２０は、プレイリスト要求を受信した際に、プレイリストが生成及び更新されていない場合でも、プレイリスト要求を受信後、所定時間Ａ及びＢ内でプレイリストが生成及び更新されたかを判定する。これにより、送信装置２０は、プレイリスト要求から所定時間Ａ及びＢ内に更新されるプレイリストがある場合に、従来技術の方法よりもプレイリストが更新されてから受信装置３０が更新されたプレイリストを取得するまでの遅延を低減することができる。即ち、本実施形態によって、より新しいプレイリストを、連続性を保ちつつ送信することができる。
＜実施形態３＞  上記実施形態１及び実施形態２において、図３に示した各処理部はハードウェアでもって構成しているものとして説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムで実行してもよい。
【００７６】
図８は、上記実施形態１及び実施形態２に係る送信装置の各処理部が行う処理を実行するコンピュータのハードウェアの構成例を示すブロック図である。
【００７７】
ＣＰＵ８０１は、ＲＡＭ８０２やＲＯＭ８０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記実施形態１及び実施形態２に係る送信装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ８０１は、図３に示した各処理部として機能することになる。
【００７８】
ＲＡＭ８０２は、外部記憶装置８０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）８０７を介して、外部から取得したデータ等を一時的に記憶するためのエリアを有する。さらに、ＲＡＭ８０２は、ＣＰＵ８０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ８０２は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【００７９】
ＲＯＭ８０３は、本コンピュータの設定データや、ブートプログラム等を格納する。
【００８０】
操作部８０４は、キーボードやマウス等により構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ８０１に対して入力することができる。
【００８１】
出力部８０５は、ＣＰＵ８０１による処理結果を表示するための制御を行う。また、出力部８０５は、例えば液晶ディスプレイで構成される表示部（不図示）において、ＣＰＵ８０１による処理結果を表示するための制御を行う。
【００８２】
外部記憶装置８０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置８０６には、ＯＳ（オペレーティングシステム）や、図３に示した各部の機能をＣＰＵ８０１に実現させるためのコンピュータプログラムが保存されている。さらには、外部記憶装置８０６には、処理対象としての各画像が保存されていてもよい。
【００８３】
外部記憶装置８０６に保存されているコンピュータプログラムやデータは、ＣＰＵ８０１による制御に従って適宜、ＲＡＭ８０２にロードされ、ＣＰＵ８０１による処理対象となる。
【００８４】
Ｉ／Ｆ８０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置等の他の機部を接続することができ、本コンピュータはこのＩ／Ｆ８０７を介して様々な情報を取得したり、送出したりすることができる。
【００８５】
バス８０８は、上述の各部を繋ぐ。
【００８６】
上述の構成における作動は、前述のフローチャートで説明した作動をＣＰＵ８０１が中心となってその制御を行う。
【００８７】
［その他の実施形態］
上述の各実施形態において、プレイリストのフォーマットとしてＭ３Ｕ８形式を用いたが、Ｍ３Ｕ８形式に限らず、Ｍ３Ｕ形式、ＷＰＬ形式等、他のプレイリストフォーマットを用いることも可能である。
【００８８】
また、上述の各実施形態において、データ転送プロトコルとしてＨＴＴＰを用いたが、ＨＴＴＰに限らず、ＨＴＴＰＳ、ＴＣＰ、ＵＤＰ等、ＯＳＩ参照モデルの同一レイヤーの他のプロトコルまたは別レイヤーの他のプロトコルを用いることが可能である。
【００８９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014131143.tif 000003
【図２】
2014131143.tif 000004
【図３】
2014131143.tif 000005
【図４】
2014131143.tif 000006
【図５】
2014131143.tif 000007
【図６】
2014131143.tif 000008
【図７】
2014131143.tif 000009
【図８】
2014131143.tif 000010