(57)【要約】【課題】  受信装置によるコンテンツデータの取得が困難となる場合が考えられた。【解決手段】  データ通信装置１０１は、コンテンツを構成する複数のセグメントのうち、所定のセグメントを情報処理装置（中継装置１０３）へ送信する。そして、データ通信装置１０１は、複数のセグメントのうち、第１セグメントが別の通信装置に存在し、第２セグメントが情報処理装置に存在しない場合、第１セグメントの取得先が情報処理装置であること、及び、第２セグメントの取得先がデータ通信装置１０１であることを示すリスト情報を生成する。【選択図】  図１２
2016046598.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
コンテンツを構成する複数のセグメントのうち、所定のセグメントを情報処理装置へ送信する送信手段と、
前記複数のセグメントのうち、第１セグメントが前記情報処理装置に存在し、第２セグメントが前記情報処理装置に存在しない場合、前記第１セグメントの取得先が前記情報処理装置であること、及び、前記第２セグメントの取得先が前記通信装置であることを示すリスト情報であって、前記コンテンツを受信する受信装置に提供されるリスト情報を生成する生成手段とを有することを特徴とする通信装置。
【請求項２】
前記送信手段は、前記複数のセグメントのうち生成されたタイミングからの経過時間が所定時間を超えたセグメントを前記情報処理装置へ送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
セグメントを記憶する記憶手段を有し、
前記送信手段は、前記記憶手段に記憶されたセグメントのデータ量が所定量に達した場合において前記記憶手段に記憶されている前記第１及び第２セグメントのうち、生成されたタイミングが早い前記第１セグメントを前記情報処理装置へ送信することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記リスト情報を取得した前記受信装置から前記第１セグメントの要求を受信した場合、前記送信手段は、前記第１セグメントの要求を前記情報処理装置へ転送することを特徴とする請求項１乃至３のうち、何れか１項に記載の通信装置。
【請求項５】
セグメントを記憶する記憶手段と、
前記記憶手段に記憶された複数のセグメントのうち、前記情報処理装置へ送信されたセグメントに対応する記憶領域を上書き可能に設定する設定手段と、
前記リスト情報を取得した前記受信装置から前記第１セグメントの要求を受信した場合、前記第１セグメントが前記記憶手段に記憶されているか否かを判定する判定手段とを有し、
前記送信手段は、前記第１セグメントが前記記憶手段に記憶されていると前記判定手段により判定された場合、前記第１セグメントを前記受信装置へ送信し、
前記第１セグメントが前記記憶手段に記憶されていないと前記判定手段により判定された場合、前記第１セグメントの要求を前記情報処理装置へ転送することを特徴とする請求項１乃至３のうち、何れか１項に記載の通信装置。
【請求項６】
前記生成手段は、前記複数のセグメントのうち、前記通信装置から前記情報処理装置へ未送信であるセグメントを前記受信装置が取得するための第１リスト情報と、前記通信装置から前記情報処理装置へ送信されたセグメントを前記受信装置が取得するための第２リスト情報とを生成し、
前記送信手段は、前記受信装置からのリスト情報の要求に基づいて前記第１又は第２リスト情報を前記受信装置へ送信することを特徴とする請求項１乃至５のうち、何れか１項に記載の通信装置。
【請求項７】
前記コンテンツを所定時間ごとに分割して前記複数のセグメントを生成するセグメント生成手段を有することを特徴とする請求項１乃至６のうち、何れか１項に記載の通信装置。
【請求項８】
前記セグメントに分割されたコンテンツを外部から取得する取得手段を有することを特徴とする請求項１乃至７のうち、何れか１項に記載の通信装置。
【請求項９】
前記送信手段は、前記生成手段により生成されたリスト情報を前記情報処理装置へ送信することを特徴とする請求項１乃至８のうち、何れか１項に記載の通信装置。
【請求項１０】
通信装置が行う通信方法であって、
コンテンツを構成する複数のセグメントのうち、所定のセグメントを情報処理装置へ送信する第１送信工程と、
前記複数のセグメントのうち、第１セグメントが前記情報処理装置に存在し、第２セグメントが前記情報処理装置に存在しない場合、前記第１セグメントの取得先が前記情報処理装置であること、及び、前記第２セグメントの取得先が前記通信装置であることを示すリスト情報であって、前記コンテンツを受信する受信装置に提供されるリスト情報を生成する生成工程と
を有することを特徴とする通信方法。
【請求項１１】
前記リスト情報を取得した前記受信装置から前記第１セグメントの要求を受信した場合、前記第２送信工程は、前記第１セグメントの要求を前記情報処理装置へ転送することを特徴とする請求項１０に記載の通信方法。
【請求項１２】
セグメントをメモリに記憶する記憶工程と、
前記メモリに記憶された複数のセグメントのうち、前記情報処理装置へ送信されたセグメントに対応する記憶領域を上書き可能に設定する設定工程と、
前記リスト情報を取得した前記受信装置から前記第１セグメントの要求を受信した場合、前記第１セグメントが前記メモリに記憶されているか否かを判定する判定工程とを有し、
前記第２送信工程は、前記第１セグメントが前記メモリに記憶されていると前記判定工程により判定された場合、前記第１セグメントを前記受信装置へ送信し、
前記第１セグメントが前記メモリに記憶されていないと前記判定工程により判定された場合、前記第１セグメントの要求を前記情報処理装置へ転送することを特徴とする請求項１０に記載の通信方法。
【請求項１３】
コンピュータを請求項１乃至９のうち、何れか１項に記載の通信装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツを送信する通信装置の制御方法に関する。
【背景技術】
【０００２】
近年、音声データや映像データ等により構成されるストリーミング形式のコンテンツをユーザに配信するストリーム配信システムが提供されている。このようなシステムにより、ユーザは、ライブコンテンツや映画などの記録済みコンテンツなどの所望のコンテンツをネットワーク経由で自身の端末装置で受信することで視聴することができる。
【０００３】
特許文献１には、ネットワークカメラが撮像により取得したコンテンツデータをクライアントに提供する方法を記載している。具体的には、現在の時刻に対応するコンテンツデータをクライアントへ配信する場合は、ネットワークカメラからクライアントへ直接送信する。一方で、過去に記録されたコンテンツデータをクライアントへ配信する場合は、ネットワークカメラからコンテンツデータの転送を受けたストレージサーバが、クライアントへ送信することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第８５９９２７７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、受信装置によるコンテンツデータの取得が困難となる場合が考えられる。
例えば、受信装置のユーザが指定したコンテンツが、すでにネットワークカメラからストレージサーバに送信済みであったにも関わらず、受信装置がネットワークカメラから当該コンテンツを取得しようとすると、コンテンツの取得が困難になる場合が考えられる。
本発明は、上記課題を解決するためになされたものであり、その目的は、受信装置がコンテンツデータを容易に取得できるようにすることである。
【課題を解決するための手段】
【０００６】
上記の問題点を解決するために、本発明の通信装置は、例えば以下の構成を有する。すなわち、コンテンツを構成する複数のセグメントのうち、所定のセグメントを情報処理装置へ送信する送信手段と、前記複数のセグメントのうち、第１セグメントが前記情報処理装置に存在し、第２セグメントが前記情報処理装置に存在しない場合、前記第１セグメントの取得先が前記情報処理装置であること、及び、前記第２セグメントの取得先が前記通信装置であることを示すリスト情報であって、前記コンテンツを受信する受信装置に提供されるリスト情報を生成する生成手段とを有する。
【発明の効果】
【０００７】
本発明によれば、取得すべきコンテンツデータを受信装置が容易に取得できるようになる。
【図面の簡単な説明】
【０００８】
【図１】実施形態を示すシステム構成図である。
【図２】実施形態におけるデータ通信装置１０１のハードウェア構成例を示すブロック図である。
【図３】実施形態におけるデータ通信装置１０１の機能モジュール構成例を示すブロック図である。
【図４】実施形態における取得先決定処理の動作を示すフローチャートである。
【図５】実施形態におけるコンテンツデータのセグメント化処理の動作を示すフローチャートである。
【図６】実施形態におけるプレイリストの一例を示す図である。
【図７】実施形態におけるプレイリストの一例を示す図である。
【図８】実施形態におけるプレイリストの一例を示す図である。
【図９】実施形態におけるプレイリストの一例を示す図である。
【図１０】実施形態におけるプレイリストの一例を示す図である。
【図１１】実施形態におけるデータ通信装置１０１と再生装置１０２と中継装置１０３の間のメッセージの一例を示すシーケンス図である。
【図１２】実施形態におけるデータ通信装置１０１と再生装置１０２と中継装置１０３の間のメッセージの一例を示すシーケンス図である。
【図１３】実施形態におけるデータ通信装置１０１と再生装置１０２と中継装置１０３の間のメッセージの一例を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
＜システム全体の構成図＞
図１は、本実施形態におけるコンテンツデータ配信システムの構成例を示す図である。図１に示すように、本実施形態のコンテンツデータ配信システムには、データ通信装置１０１、再生装置１０２、中継装置１０３、ネットワーク１０４が含まれる。
【００１０】
ネットワーク１０４は、一般的なインターネット回線である。なお、本実施形態のネットワーク１０４ではインターネット回線を利用しているが、これに限らずＷＡＮなどの公衆網、ＬＡＮ、ＰＡＮなどのローカルネットワーク、ＶＰＮなどの専用回線、イントラネットワークやオンプレミスな回線などでも良い。
【００１１】
データ通信装置１０１は、動画データを取得し、再生装置１０２からの要求に応じてその動画データを送信することが可能な通信装置である。データ通信装置１０１の具体的な例としては、カメラ装置、ビデオカメラ装置、スマートフォン装置、ＰＣ装置、携帯電話などが挙げられるが、これらに限定されない。また、データ通信装置１０１が撮影を行って動画データを取得するような構成でも良いし、他の撮影装置等で撮影された動画データをデータ通信装置１０１が取得するような構成であってもよい。ネットワーク１０４に接続されたデータ通信装置１０１は１台のみであっても良いし、複数台存在しても良い。
【００１２】
再生装置１０２は、コンテンツデータの再生・表示機能、プレイリストの解釈機能、及び通信機能を備えている。ただし、必ずしもコンテンツの再生・表示機能を備えている必要はなく、単にコンテンツデータを取得して記録する受信装置であってもよいし、他の装置にコンテンツデータを提供するサーバのような機能を有する受信装置であってもよい。再生装置１０２はコンテンツデータを受信する受信装置として機能する。なお本実施形態においてコンテンツデータには、動画データが含まれる。プレイリストの詳細は後述する。
【００１３】
再生装置１０２の具体例は、スマートフォン装置、ＰＣ装置、テレビ、携帯電話、などが挙げられるが、これに限定されない。なお、コンテンツデータの再生・表示機能と後述するプレイリストの解釈機能、通信機能を別の機器で行い、それらを通信させることで再生装置１０２としての機能が実現される構成でも良い。ネットワーク１０４に接続された再生装置１０２は１台のみであっても良いし、複数台存在しても良い。
【００１４】
なお、本実施形態のデータ通信装置１０１は、コンテンツデータとしての動画を複数のセグメントに分割し、再生装置１０２からの要求に対応するセグメントを再生装置１０２へ送信する。また、本実施形態において、セグメントの要求、削除、取得、保存等の表現のそれぞれは、コンテンツがセグメントに分割された分割済コンテンツデータの要求、削除、取得、保存等のそれぞれと同義とする。
また、本実施形態のデータ通信装置１０１は、再生装置１０２からの要求に応じて、再生装置１０２に対してプレイリストを送信する。プレイリストとは、各セグメントの取得先を含むリスト情報である。データ通信装置１０１からプレイリストを取得した再生装置１０２は、プレイリストを参照し、所望のセグメントに対応する取得先の情報を用いてセグメントを取得する。
【００１５】
中継装置１０３は、データ通信装置１０１から送信されたコンテンツデータを受信して蓄積し、再生装置１０２からの要求に応じてそのコンテンツデータを再生装置１０２へ送信する機能を備える。本実施形態の中継装置１０３はセグメント単位でコンテンツデータを管理する。また、中継装置１０３は、後述するようにプレイリストを中継もしくは生成する機能を備えても良い。中継装置１０３の具体例はサーバ装置、ＰＣ装置、ゲートウェイ装置、スマートフォン装置などが挙げられるが、これに限定されない。ネットワーク１０４に接続された中継装置１０３は１台のみであっても良いし、複数台存在してもよい。
【００１６】
本実施形態のデータ通信装置１０１は、複数のセグメントのうち、所定のセグメントを中継装置１０３に送信する。そして、データ通信装置１０１は、中継装置１０３へ送信したセグメントをデータ通信装置１０１のメモリから削除することも可能である。中継装置１０３は、データ通信装置１０１から取得したセグメントを、再生装置１０２からの要求に応じて、再生装置１０２へ送信することが可能である。
【００１７】
＜データ通信装置ハードウェア構成図＞
図２は本実施形態におけるデータ通信装置１０１のハードウェア構成例を示すブロック図である。上述のように、本実施形態のデータ通信装置１０１はカメラ装置、ビデオカメラ装置、スマートフォン装置、ＰＣ装置、携帯電話等で実現することが可能である。データ通信装置１０１は図２に示すように、下記を備える。バス２０１、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４。さらに、データ通信装置１０１は、撮影部２０５、記憶部２０６、通信部２０７を備える。ただし、上述した通り撮影部２０５とデータ通信装置１０１が別の装置であってもよい。
【００１８】
ＣＰＵ２０２は、ＲＯＭ２０３、ＲＡＭ２０４、及び記憶部２０６内に記憶されたコンピュータプログラムや処理用データに従って各種処理を実行することにより、データ通信装置１０１の各種機能を実現する。また、ＲＡＭ２０４は、半導体メモリ等の揮発性の記録媒体により構成され、ＣＰＵ２０２が実行するコンピュータプログラムや処理用データを一時的に格納する。
【００１９】
ＲＯＭ２０３、及び記憶部２０６は、磁気的、光学的記録媒体、半導体メモリ等のＣＰＵ２０２が読み取り可能な不揮発性の記録媒体により構成される。ＲＯＭ２０３及び記憶部２０６はデータ通信装置１０１の起動プログラム等の基本プログラムを記憶する。また、後述するデータ通信装置１０１の動作を実現する配信プログラム等のアプリケーションプログラム、及びこれらプログラムの実行に必要な処理用データも記憶する。
【００２０】
ここで、ＲＯＭ２０３、及び記憶部２０６内に記憶される情報の一部若しくは全部が、ネットワーク１０４を介してインストールされる構成にしてもよい。また、上記アプリケーションプログラムは、後述する処理を実行する際に、ＣＰＵ２０２が記録媒体から読み出すようにしてもよい。この場合、ＣＰＵ２０２は、処理を実行する際に、記録媒体から読み出したアプリケーションプログラムをＲＡＭ２０４内に記録した後に、アプリケーションプログラムを実行する。なお、上記記録媒体には、例えば、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープ等のＣＰＵ２０２が読み取り可能な全ての記録媒体が含まれる。
【００２１】
撮影部２０５はＣＰＵ２０２の指示のもと、撮影を実行し、コンテンツデータとして動画データを取得（生成）して記憶部２０６もしくはＲＡＭ２０４に保存する。本実施形態ではコンテンツデータが動画データである場合を中心に説明するが、音声データやテキストデータであってもよいし、それらの組み合わせであってもよいし、それ以外のデータであっても良い。通信部２０７は、再生装置１０２及び中継装置１０３との間の通信仕様に対応したプロトコルスタックを実装し、有線通信部２０８、及び無線通信部２０９の両方、もしくはいずれかを利用して通信を実現する。本実施形態では、通信部２０７はＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のプロトコルを実装する。通信部２０７は上記プロトコルに従ってプレイリスト及びコンテンツデータを再生装置１０２及び中継装置１０３に送信可能である。
【００２２】
また、通信部２０７は、上記プロトコルに従って、プレイリストやコンテンツデータの要求等やコンテンツデータの転送に対する応答等の各種情報を再生装置１０２及び中継装置１０３から受信する機能を有する。また、通信部２０７は、再生装置１０２及び中継装置１０３から受信した情報をＣＰＵ２０２が処理可能な形式に変換する機能を有する。なお、本実施形態の再生装置１０２や中継装置１０２のハードウェア構成も、図２と同様である。
【００２３】
＜送信装置モジュール構成図＞
図３は、本実施形態におけるデータ通信装置１０１のモジュール構成例を示すブロック図である。図３に示すように、本実施形態のデータ通信装置１０１は、Ｗｅｂサーバ部３０１、制御部３０２、セグメント管理部３０３、プレイリスト管理部３０４を含んで構成される。
【００２４】
Ｗｅｂサーバ部３０１は、ネットワーク１０４を介して再生装置１０２や中継装置１０３と通信を行う。Ｗｅｂサーバ部３０１は、再生装置１０２からのリクエストを受信すると、リクエストされたリソースをセグメント管理部３０３、もしくはプレイリスト管理部３０４から取得し送信する。すなわち、データ通信装置１０１のＷｅｂサーバ部３０１は、再生装置１０２からプレイリストの要求に応じて、再生装置１０２へプレイリストを送信する。また、Ｗｅｂサーバ部３０１は、プレイリストを取得した再生装置１０２からのセグメントの要求に応じて、再生装置１０２に対してセグメントを送信する。本実施形態におけるプレイリストは、コンテンツデータを構成するセグメントのそれぞれの取得先の情報を含むリスト情報である。本実施形態では、プレイリストの記述方式としてＭＰＥＧ−ＤＡＳＨで規定されているＭＰＤ（Ｍｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ）を用いる場合の例を中心に説明する。
【００２５】
より詳細には、再生装置１０２がデータ通信装置１０１に対して発行するリクエストは特定のＵＲＬに対して行われる。データ通信装置１０１のＷｅｂサーバ部３０１は、このＵＲＬを解釈し、ＵＲＬに対応するリソースがプレイリストの場合、プレイリスト管理部３０４からプレイリストを取得して、再生装置１０２へ送信する。一方、ＵＲＬに対応するリソースがセグメント（コンテンツデータ）の場合、Ｗｅｂサーバ部３０１は、セグメント管理部３０３からセグメントを取得して再生装置１０２へ送信する。
【００２６】
また、詳細は後述するが、本実施形態のＷｅｂサーバ部３０１は、リソース（動画データやプレイリスト）を中継装置１０３に送信し、その送信結果を中継装置１０３から受信する機能も有する。また、本実施形態のＷｅｂサーバ部３０１は、不正な再生装置からのリクエストや、不正なリクエストを除外する（無効にする）ための認証機能や脆弱性に対応する機能を備えても良い。
【００２７】
また、本実施形態のＷｅｂサーバ部３０１は、すでにデータ通信装置１０１から中継装置１０３へ送信済みのセグメントを取得するための要求を再生装置１０２から受信した場合、この要求を中継装置１０３へとリダイレクト（転送）することが可能である。このようにすれば、データ通信装置１０１から中継装置１０３に送信され、データ通信装置１０１から削除されたセグメントの要求が、再生装置１０２からデータ通信装置１０１に送信された場合も、再生装置１０２は中継装置１０３からセグメントを取得できる。この場合、後述するセグメント管理部３０３ではデータ通信装置１０１から削除済みのセグメントが、どの中継装置１０３に対して送信済みであるかを示す情報を管理する機能を必要とする。  また、本実施形態のＷｅｂサーバ部３０１は、中継装置１０３に送信済みで、且つ、データ通信装置１０１から削除されていないセグメントの要求を再生装置１０２から受信した場合であっても、当該要求を中継装置１０３にリダイレクト（転送）することが可能である。このようにすれば、データ通信装置１０１の処理負荷を中継装置１０３へ転嫁させることが可能である。ただし、Ｗｅｂサーバ部３０１は、中継装置１０３へ送信済みで、且つ、データ通信装置１０１のメモリに記憶されているセグメントの要求を再生装置１０２から受信した場合、当該要求を中継装置１０３へリダイレクトしないようにしてもよい。この場合、データ通信装置１０１から再生装置１０２に対して、要求に対応するセグメントが送信される。このようにすれば、再生装置１０２がより早くセグメントを取得できる可能性が高まる。
【００２８】
また、Ｗｅｂサーバ部３０１は、再生装置１０２から要求を受け付けたタイミングにおけるデータ通信装置１０１の負荷に応じてリダイレクトするか否かを決定することも可能である。すなわち、Ｗｅｂサーバ部３０１は、再生装置１０２から要求を受け付けたタイミングにおけるデータ通信装置１０１の処理負荷が閾値以上であれば、当該要求を中継装置１０３へリダイレクトする。一方、データ通信装置１０１の処理負荷が閾値未満であれば、当該要求をリダイレクトせず、データ通信装置１０１から再生装置１０２へ当該要求に対応するセグメントを送信する。このようにすれば、データ通信装置１０１の処理負荷の増加を抑えつつ、再生装置１０２へ早くセグメントを提供できる可能性を高めることができる。
【００２９】
ただし、データ通信装置１０１の動作は上記の動作に限らない。例えば、データ通信装置１０１のＷｅｂサーバ部３０１は、中継装置１０３へ送信済みで、且つ、データ通信装置１０１のメモリから削除されたセグメントに対するリクエストを再生装置１０２から受信した場合にはエラー応答を返すようにしても良い。また、Ｗｅｂサーバ部３０１は、中継装置１０３へ送信済みで、且つ、データ通信装置１０１のメモリからは削除されていないセグメントに対するリクエストを再生装置１０２から受信した場合にも、エラー応答を返すようにしてもよい。
【００３０】
制御部３０２は、データ通信装置１０１の全体の制御を行う。すなわち制御部３０２は、Ｗｅｂサーバ部３０１、セグメント管理部３０３、プレイリスト管理部３０４の各モジュールを制御する。
【００３１】
セグメント管理部３０３は、撮影部２０５から取得したコンテンツデータを一定の時間ごとのセグメントとして分割し、管理する。すなわち、セグメント管理部３０３は、撮影部２０５によって取得される動画を一定時間ごとに分割してセグメントを生成するセグメント生成部としての機能を備える。そして、セグメント管理部３０３は、分割済みの動画をセグメントとしてＲＡＭ２０４内もしくは記憶部２０６内に保存する。セグメント管理部３０３はＲＡＭ２０４内、及び記憶部２０６内に保存されているセグメントの情報を管理し、配信可能なセグメントを把握する機能を備える。コンテンツデータのセグメント化処理について、詳しくは図５を用いて後述する。
【００３２】
また、セグメント管理部３０３は分割したセグメントを、Ｗｅｂサーバ部３０１を利用してネットワーク１０４を介して再生装置１０２及び中継装置１０３に送信する。さらに、セグメント管理部３０３は中継装置１０３に対してどのセグメントの送信が完了しているかの情報を取得し記録する。セグメント管理部３０３は、データ通信装置１０１から中継装置１０３へ送信済みのセグメントと、データ通信装置１０１から中継装置１０３へ送信済みでないセグメントとを識別するための識別情報を、プレイリスト管理部３０４に通知することができる。さらに、セグメント管理部３０３は、データ通信装置１０１から中継装置１０３へ送信済みのセグメントのうち、データ通信装置１０１から削除されたセグメントと削除されていないセグメントとを識別するための識別情報を、プレイリスト管理部３０４に対して通知することも可能である。
【００３３】
プレイリスト管理部３０４は、セグメント管理部３０３から通知された識別情報を用いて、プレイリストを生成し、生成されたプレイリストを管理する。プレイリスト管理部３０４は、Ｗｅｂサーバ部３０１を介して再生装置１０２からのプレイリスト要求を取得すると、プレイリストの生成を行って、生成されたプレイリストを再生装置１０２へ送信する。より具体的には、プレイリスト管理部３０４は、データ通信装置１０１から中継装置１０３へ送信済みのセグメントと送信済みでないセグメントとを識別する識別情報を用いてプレイリストを生成する。この場合、プレイリスト管理部３０４は、中継装置１０３へ送信済みのセグメントの取得先が中継装置１０３であり、中継装置１０３へ送信済みでないセグメントの取得先がデータ通信装置１０１であることを示すプレイリストを生成する。
【００３４】
ただし、プレイリストは上記のものに限らない。例えば、プレイリスト管理部３０４は、データ通信装置１０１から削除済みのセグメントとデータ通信装置１０１から削除されていないセグメントとを識別する識別情報に基づいてプレイリストを生成することも可能である。この場合、プレイリスト管理部３０４は、データ通信装置１０１から削除済みのセグメントの取得先が中継装置１０３であり、データ通信装置１０１から削除されていないセグメントの取得先がデータ通信装置１０１であることを示すプレイリストを生成する。
【００３５】
なお、プレイリストの生成は新たなセグメントが生成されたタイミングで行われるようにしてもよい。このようにすれば、プレイリストの要求を受信してからプレイリストを生成する場合よりも、プレイリストを早いタイミングで再生装置１０２に送信することが可能となる。プレイリスト管理部３０４は、生成したプレイリストを、Ｗｅｂサーバ部３０１を用いてネットワーク１０４を介して再生装置１０２へ送信する。具体的なプレイリストの生成方法については図４、図６〜図１０を用いて後述する。
【００３６】
＜取得先決定処理＞
図４は本実施形態のプレイリスト管理部３０４がプレイリストを生成する際の動作を説明するためのフローチャートである。なお、図４の動作は、図２に示すデータ通信装置１０１のＣＰＵ２０２が、所定のプログラムを実行することにより実現される。ただし、図４の処理が専用のハードウェアによって実行されるようにしても良い。
【００３７】
本実施形態では、データ通信装置１０１が再生装置１０２からプレイリストの要求を受信したタイミングで図４の処理が開始される形態を中心に説明するがこの形態に限らない。例えば、プレイリスト管理部３０４は、新たなセグメントを生成するたびに、図４の処理を行ってもよいし、一定時間ごとに、図４の処理が行われるようにしても良い。
【００３８】
データ通信装置１０１が再生装置１０２からプレイリストの取得要求を受信すると、Ｓ４００において、プレイリスト管理部３０４は、セグメント管理部３０３からセグメントの取得先に関する情報を取得する。例えば、プレイリスト管理部３０４は、動画を構成する複数のセグメントのうち、データ通信装置１０１から中継装置１０３へ送信済みのセグメントと、送信済みでないセグメントとを識別するための情報を取得する。また例えば、プレイリスト管理部３０４は、動画を構成する複数のセグメントのうち、データ通信装置１０１から削除済みのセグメントと、削除されていないセグメントとを識別するための情報を取得するようにしてもよい。プレイリスト管理部３０４がセグメント管理部３０３からセグメントの取得先に関する情報（識別情報）を取得すると、Ｓ４０１に進む。
【００３９】
なお、図４の説明では、中継装置１０３へ送信済みのセグメントと送信済みでないセグメントを識別するための情報をプレイリスト管理部３０４が取得する場合の例を中心に説明する。また、本実施形態では、データ通信装置１０１が扱うコンテンツデータが動画データである場合の例を中心に説明しているが、動画に限らず、音声データやテキストデータであってもよい。
【００４０】
Ｓ４０１において、プレイリスト管理部３０４は、再生装置１０２からの要求に対応する動画を構成する複数のセグメントのうち、第１セグメントが、データ通信装置１０１から中継装置１０３へ送信済みのセグメントであるか否かを判定する。第１セグメントが中継装置１０３に送信済みであればＳ４０３へ進み、第１セグメントの取得先が送信先の中継装置１０３となる。なお、プレイリスト管理部３０４は、第１セグメントが送信済みであっても、データ通信装置１０１のメモリ内に記憶されている場合は、第１セグメントの取得先がデータ通信装置１０１となるプレイリストを生成してもよい。
【００４１】
また、プレイリスト管理部３０４は、第１セグメントが中継装置１０３へ送信済みで、且つ、データ通信装置１０１のメモリにも記憶されている場合、現在のデータ通信装置１０１の負荷状況に応じて、以下のようにプレイリストの内容を決定してもよい。すなわち、データ通信装置１０１の負荷が閾値未満の場合、第１セグメントの取得先をデータ通信装置１０１とするプレイリストを生成し、負荷が閾値以上の場合、セグメント１の取得先を中継装置１０３とするプレイリストを生成することも可能である。
【００４２】
また、本実施形態のプレイリスト管理部３０４は、セグメントの送信先となる中継装置１０３の識別情報を、セグメント管理部３０３から取得する。このような構成により、複数の中継装置１０３を有するシステムにおいて、各セグメントがどの中継装置１０３へ送信されているかを管理することができる。
【００４３】
Ｓ４０１において、第１セグメントが中継装置１０３へ送信済みでないと判定された場合、Ｓ４０２に進み、該セグメントの取得先をデータ通信装置１０１とする。プレイリスト管理部３０４は、第１セグメントの処理（Ｓ４０２又はＳ４０３の処理）が終了すると、Ｓ４０１に戻り、第２セグメントの処理を実行する。そして、プレイリスト管理部３０４は、再生装置１０２からの要求に対応する動画を構成するすべてのセグメントについてＳ４０１〜Ｓ４０３の処理を完了すると、各セグメントの取得先の情報に基づいてプレイリストを生成する。
【００４４】
＜コンテンツデータのセグメント化処理＞
図５は本実施形態のセグメント管理部３０３がコンテンツデータを取得したときの動作を説明するためのフローチャートである。なお、図５の動作は、図２に示すデータ通信装置１０１のＣＰＵ２０２が、所定のプログラムを実行することにより実現される。ただし、図５の処理が専用のハードウェアによって実行されるようにしても良い。
【００４５】
本実施形態では、データ通信装置１０１の撮影部２０５が動画の撮影を開始したタイミングで図５の処理が開始される。ただし、この例に限らず、例えば、データ通信装置１０１が外部から例えば動画ファイルを取得したタイミングで、図５の処理が開始されるようにしてもよい。Ｓ５００において、セグメント管理部３０３は、撮影部２０５からコンテンツデータ（動画データ）を取得する。そしてＳ５０１において、セグメント管理部３０３は、撮影部２０５から取得したコンテンツデータをセグメントに分割する。本実施形態のセグメント管理部３０３は、動画データを所定時間（例えば２秒）ごとに分割してセグメントを生成する。ただしセグメントの分割方法は、上記の方法に限らない。また、すでにセグメントに分割されたコンテンツデータを取得した場合は、Ｓ５０１の処理は省略可能である。
【００４６】
Ｓ５０２において、セグメント管理部３０３は、分割したセグメントのそれぞれをＭＰ４やＭ２ＴＳなどのコンテンツデータ格納フォーマットにフォーマットする。なお、コンテンツデータ格納フォーマットはこれに限定されない。また、入力コンテンツデータがすでにフォーマットされている場合Ｓ５０２の処理は省略可能である。
【００４７】
また、セグメント管理部３０３は、Ｓ５００〜Ｓ５０２の処理を、動画の撮影開始から撮影終了まで継続的に実行する。例えば、撮影開始から撮影終了までの間が１００秒であった場合、セグメント管理部３０３は、１００秒分の動画データを５０個のセグメントに分割し、それぞれをコンテンツ格納フォーマットにフォーマットする処理を行う。セグメント管理部３０３は、Ｓ５００〜Ｓ５０２の処理と、Ｓ５０３以下の処理を同時に実行することが可能である。
【００４８】
Ｓ５０３においてセグメント管理部３０３は、未処理のセグメントが存在するか否かを判定する。未処理のセグメントが存在しないと判定された場合、図５の処理を終了し、未処理のセグメントが存在すると判定された場合、Ｓ５０４に進む。
【００４９】
Ｓ５０４においてセグメント管理部３０３は、ＲＡＭ２０４内のセグメントバッファが所定の状態であるか否かを判定する。すなわちセグメント管理部３０３は、セグメントを記憶するためのデータ通信装置１０１のメモリが所定の状態であるか否かを判定する。本実施形態のセグメント管理部３０３は、セグメントバッファのメモリサイズ、及び、セグメントの平均サイズ、セグメントバッファに保存済みのセグメント数に基づいて、セグメントバッファが所定の状態（保存済みデータ量が所定量に達している状態）であるか否かを判定する。ただし、セグメント管理部３０３により判定される所定の状態は、上記の状態に限らず、例えば、保存済みセグメントの数が所定数に達しているか否かが判定されるようにしてもよい。
【００５０】
また、セグメント管理部３０３は、セグメントバッファの状態が所定の状態であるか否かを判定するために、データ通信装置１０１が低遅延を保証する時間を用いることが可能である。低遅延を保証する時間とは、データ通信装置１０１にセグメントが保存されてから、当該セグメントを低遅延で送信不可能になるまでの保証時間である。例えば、１つのセグメントが２秒分の動画に対応し、保証時間が１０秒である場合、最新のセグメントから５番目に新しいセグメントまでは、再生装置１０２からの要求に対して低遅延で送信されなければならない。そのため、データ通信装置１０１は、最新のセグメントから５番目に新しいセグメントまでが常にＲＡＭ２０４のセグメントバッファに格納され、それ以外のセグメントは、ＲＡＭ２０４以外の領域に格納されるようにＳ５０４の判定を行なうことが可能である。ここで留意しておくべき点として、ＲＡＭ２０４に保持されているセグメントは記憶部２０６に保持されているセグメントに比べ、高速にアクセス可能であるため低遅延で送信することが可能になる。
【００５１】
Ｓ５０４にて、ＲＡＭ２０４内のセグメントバッファが所定の状態ではないと判定された場合、Ｓ５０９にて処理中のセグメントをＲＡＭ２０４内のセグメントバッファに保存しＳ５０３に戻る。例えば、セグメント管理部３０３は、セグメントバッファに保存済みのセグメントのデータ量や、保存済みのセグメント数が、所定値に達していないと判定された場合は、新たなセグメントをセグメントバッファに保存する。
【００５２】
一方、Ｓ５０４にて、ＲＡＭ２０４内のセグメントバッファが所定の状態であると判定された場合、Ｓ５０５にてＲＡＭ２０４内の所定のセグメントを記憶部２０６に移動させる。記憶部２０６は、ＲＡＭ２０４よりもデータの読み出し速度が低速であるが、ＲＡＭ２０４よりも記憶容量が大きい。
【００５３】
なお、ＲＡＭ２０４内のセグメントバッファが所定の状態である場合に記憶部２０６に移動されるセグメントは、例えば、セグメントバッファに記憶されたセグメントのうち最も古いセグメントである。つまり、ＲＡＭ２０４内に記憶された複数のセグメントのうち、データ通信装置１０１による取得のタイミングが早いセグメントを記憶部２０６に移動させることが可能である。ただし、最も古いセグメントに限らず、例えば、セグメントバッファに記憶されてからの経過時間が閾値を超えるセグメントが一括して記憶部２０６に移動されるようにしてもよい。
【００５４】
また、Ｓ５０６にて、セグメント管理部３０３は、記憶部２０６内のセグメント記憶領域が所定の状態であるか否かを判定する。記憶部２０６内のセグメント記憶領域が所定の状態であるか否かの判定は、ＲＡＭ２０４内のセグメントバッファが所定の状態であるか否かの判定と同様の方法を用いることが可能である。
【００５５】
ここで留意しておくべき点として、記憶部２０６に保持してあるセグメントの送信は上述の通り、ＲＡＭ２０４内に保持してあるセグメントに比べ、アクセスに時間を要する。このため遅延は増大してしまうが、ＲＡＭ２０４のサイズが小さく、多くのセグメントをＲＡＭ２０４内に保存できないような場合には記憶部２０６を利用することが有用である。
【００５６】
低遅延の配信を優先する場合には、ＲＡＭ２０４内のセグメントバッファが所定の状態であると判定された場合に、セグメントバッファ内の所定のセグメント（例えば最も古いセグメント）を新しいセグメントで上書きするようにしてもよい。セグメント管理部３０３は、上書き対象となるセグメントを、上書きの前に中継装置１０３へ送信させる。すなわち、セグメント管理部３０３は、セグメントバッファが所定の状態であると判定した場合、最も古いセグメントが記憶された記憶領域を上書き可能に設定する。このようにすることで、次のセグメントを当該記憶領域に保存することができる。
【００５７】
Ｓ５０６にて記憶部２０６内のセグメント記憶領域が所定の状態であると判定された場合、Ｓ５０８に進む。そしてＳ５０８にて、セグメント管理部３０３は、セグメント記憶領域に保存済みの複数のセグメントのうち、所定のセグメント（例えば最も古いセグメント）を、新たなセグメントで上書きする。セグメント管理部３０３は、記憶部２０６に記憶された複数のセグメントのうち、上書き対象となるセグメントを、上書きの前に中継装置１０３へ送信させる。
【００５８】
一方、Ｓ５０６にて記憶部２０６内のセグメント記憶領域が所定の状態でないと判定された場合、Ｓ５０７に進む。そしてＳ５０７にて、セグメント管理部３０３は、ＲＡＭ２０４内の複数のセグメントのうち所定のセグメント（例えば最も古いセグメント）を、記憶部２０６のセグメント記憶領域に記憶させる。Ｓ５０７またはＳ５０８の処理が完了すると、セグメント管理部３０３は、Ｓ５０９にて、新たなセグメントをＳ５０５〜Ｓ５０８の処理によってできたＲＡＭ２０４内のセグメントバッファの空き領域に保存し、Ｓ５０３に戻って次のセグメントの処理を実行する。
【００５９】
＜生成するプレイリストの記述内容＞
図６〜図１０を用いてプレイリスト管理部３０４が生成するプレイリストの具体例を３つの例を用いて説明する。本実施形態ではプレイリストの記述フォーマットとしてＭＰＥＧ−ＤＡＳＨで規定されているＭＰＤ（Ｍｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ）の方式を用いて説明する。なお、プレイリストの記述フォーマットはＭＰＥＧ−ＤＡＳＨのＭＰＤに限定されるものではない。また、図６〜図１０では説明を簡潔にするために、プレイリストに必要な情報を一部省略してあることに留意されたい。
【００６０】
１つ目の記述例について、図６及び図７を用いて説明する。図６で示すプレイリストはＳｅｇｍｅｎｔＬｉｓｔ方式を用いた記述例である。ＳｅｇｍｅｎｔＬｉｓｔ方式では、プレイリスト内に配信可能なセグメントのリストを記載する。プレイリスト６０１は図１１におけるＭ１１０２で生成されるプレイリストである。６０２がセグメント１を取得するためのＵＲＬであり、ＥｘａｍｐｌｅＳｏｕｒｃｅで示されるホスト名はデータ通信装置１０１を意味する。データ通信装置１０１を特定するものであれば、この値に限らずＩＰアドレスなどを記載しても良い。このプレイリスト６０１を取得した再生装置１０２は、６０２で示すＵＲＬにアクセスし、データ通信装置１０１内に保持されているセグメント１を取得する。
【００６１】
６０３で示すｍｉｎｉｍｕｍＵｐｄａｔｅＰｅｒｉｏｄはプレイリストの更新タイミングを通知するための値であり、再生装置１０２はこの間隔でプレイリストを要求することが期待される。６０４で示すａｖａｉｌａｂｉｌｉｔｙＳｔａｒｔＴｉｍｅはこのプレイリストが有効となる時刻を示し、この時刻と現在の時刻を再生装置１０２が比較することで現在配信可能なセグメントについて知ることができる。６０５で示すｔｉｍｅＳｈｉｆｔＢｕｆｆｅｒＤｅｐｔｈはサーバ側（データ通信装置１０１側）でセグメントの配信を保証する期間についての情報を示す。この情報は図５で説明したセグメントを保存しておくバッファの数に基づいて規定することが可能である。
【００６２】
例えば、図６の６０５は、４秒分の動画がデータ通信装置１０１のバッファに保存可能であることを示している。図７に示すプレイリスト７０１は図１１におけるＭ１１０９において更新されるプレイリストである。７０２がデータ通信装置１０１内に保持されているセグメント２を取得するためのＵＲＬである。７０３はホスト名がＥｘａｍｐｌｅＰｒｏｘｙとなっており、これは中継装置１０３を意味する。中継装置１０３を特定するものであれば、この値に限らずＩＰアドレスなどを記載しても良い。図６の６０１ではデータ通信装置１０１から取得可能であったセグメント１が図７の７０１では中継装置１０３から取得するように変更されていることがわかる。
【００６３】
図６と図７を用いて説明したように、本実施形態のプレイリスト管理部３０４は、動画を構成する複数のセグメントのうち、第１セグメントが中継装置１０３に送信され、第２セグメントが中継装置１０３に未送信の場合、以下のようなプレイリストを生成する。すなわち、プレイリスト管理部３０４は、第１セグメントの取得先が中継装置であること、及び、第２セグメントの取得先がデータ通信装置１０１であることを示すリスト情報（プレイリスト）を生成する。言い換えると、第１セグメントが中継装置に存在し、第２セグメントが中継装置に存在しない場合、プレイリスト生成部３０４は、以下のようなプレイリストを生成する。すなわち、プレイリスト生成部３０４は、第１セグメントの取得先が中継装置（情報処理装置）であること、及び、第２セグメントの取得先がデータ通信装置１０１であることを示すリスト情報を生成する。なお、本実施形態における中継装置１０３は、コンテンツデータの送受信が可能な情報処理装置である。
【００６４】
なお、未送信の第２セグメントが中継装置に送信されるとは限らない。また、リスト情報（プレイリスト）は、コンテンツを受信する受信装置に提供される。提供経路としては、データ通信装置１０１から受信装置（再生装置１０２）へ送信される場合も、中継装置１０３から受信装置（再生装置１０２）へ送信される場合もありうる。
【００６５】
このようにすることで、リアルタイム性の求められるライブ等のコンテンツはデータ通信装置１０１から取得され、過去のコンテンツは中継装置１０３から取得されるようにすることができる。また、再生装置１０２側の処理という観点では、特別な処理は必要なく、ＭＰＥＧ−ＤＡＳＨに準拠した汎用的な再生装置で上記の制御を実現できることに留意されたい。
【００６６】
２つ目の記述例について、図８を用いて説明する。図８ではＳｅｇｍｅｎｔＴｅｍｐｌａｔｅ方式のプレイリストについて記述例を説明する。
【００６７】
ＭＰＥＧ−ＤＡＳＨのＭＰＤフォーマットではＳｅｇｍｅｎｔＴｅｍｐｌａｔｅを用いてＭＰＤのサイズを低減することができる。例えば図７の７０１で示したＳｅｇｍｅｎｔＬｉｓｔ方式の記述方法では、セグメントの数が増えるに従ってＳｅｇｍｅｎｔＬｉｓｔの行を追加していく必要があるため、ＭＰＤのサイズが増大してしまう。これをＳｅｇｍｅｎｔＴｅｍｐｌａｔｅでＵＲＬをテンプレート化し、セグメントの数の増加に伴うＭＰＤのサイズの増加を抑えることができる。
【００６８】
図８に示す８０１はその具体例である。８０２、８０３に示す箇所でＵＲＬのテンプレートを記述している。図８で示すプレイリストを取得した再生装置１０２は、＄Ｎｕｍｂｅｒ＄の部分に所望のセグメントの番号を置換することで当該セグメントのリクエストのためのＵＲＬを生成できる。
【００６９】
現在配信可能なセグメントの番号については、図６の６０４、６０５に対応する情報と現在時刻の情報及び、８０４、８０６で示される各セグメントの対応する時間、及び、８０５、８０７で示される開始番号から再生装置１０２側で判定することが可能である。
【００７０】
図８で示すプレイリストを取得した再生装置１０２が、セグメント１を要求する場合、ｓｔａｒｔＮｕｍｂｅｒを参照することで、当該セグメント１を取得するためのＵＲＬを取得できる。すなわち、図８のようなセグメントテンプレート形式のプレイリストが生成される場合においても、セグメント１の取得先が中継装置１０３であること、及び、セグメント２の取得先がデータ通信装置１０１であることを示したリスト情報が生成される。
【００７１】
３つめの記述例について、図９及び図１０を用いて説明する。ここではライブコンテンツ取得用のプレイリストと記録コンテンツ取得用のプレイリストを分離する方法について紹介する。
【００７２】
データ通信装置１０１は、記録コンテンツ用のプレイリストとして図９に示す９０１を生成可能であり、さらに、ライブコンテンツ用のプレイストとして図１０に示す１００１を生成することが可能である。再生装置１０２は、プレイリストをデータ通信装置１０１に要求する際に、ライブコンテンツ用もしくは記録コンテンツ用どちらのタイプのプレイリストを要求するのかを指定することができる。データ通信装置１０１は再生装置１０２から指定に応じたプレイリストを再生装置１０２へ送信する。プレイリストのタイプの指定方法としてはＵＲＬのパスで指定する方法や同一パスに異なるクエリを付加する方法が挙げられるがこれに限定されない。
【００７３】
図９で示される記録コンテンツ用のプレイリストは、セグメント１の取得先が中継装置１０３であることを示したリスト情報である。また、図１０で示されるライブコンテンツ用のプレイリストは、セグメント２の取得先がデータ通信装置１０１であることを示したリスト情報である。すなわち、データ通信装置１０１は、複数のセグメントデータのうち、データ通信装置１０１から中継装置１０３へ送信されていないセグメント２を再生装置１０２が取得するための第１リスト情報を生成する。さらにデータ通信装置１０１は、複数のセグメントのうち、データ通信装置１０１から中継装置１０３へ送信されたセグメント２を再生装置１０２が取得するための第２リスト情報とを生成する。
【００７４】
＜コンテンツ配信シーケンス＞
図１１〜図１３を用いてコンテンツ配信を行う際のデータ通信装置１０１、再生装置１０２、中継装置１０３間のやりとりのシーケンスを３つの例に分けて説明する。まずデータ通信装置１０１、再生装置１０２、中継装置１０３がそれぞれ１台ずつ存在するシステム構成の場合について図１１を用いて説明する。プレイリストの記述形式としては上述したＳｅｇｍｅｎｔＬｉｓｔ形式を用いる場合について記述する。
【００７５】
データ通信装置１０１は、Ｍ１１０１においてセグメント１をＲＡＭ２０４のセグメントバッファに保存する。Ｍ１１０１の処理が完了すると、データ通信装置１０１は、Ｍ１１０２においてプレイリストを生成する。このときのプレイリストは例えば図６の６０１のような内容となる。なお、プレイリストは再生装置１０２からのプレイリスト取得要求の受信に応じて生成されるようにしてもよい。
【００７６】
Ｍ１１０２でプレイリストを生成した後に再生装置１０２からプレイリストの取得要求を受けると（Ｍ１１０３）、データ通信装置１０１は生成したプレイリストを送信する。再生装置１０２は取得したプレイリストから６０２で示されるセグメント１に対応するＵＲＬを抽出する。そして再生装置１０２は、抽出したＵＲＬにアクセスすることで、データ通信装置１０１に対するセグメント１の取得要求を行う（Ｍ１１０４）。セグメント１の取得要求を受信したデータ通信装置１０１は、セグメント１を再生装置１０２に対して送信する。
【００７７】
Ｍ１１０１と同様の流れでセグメント２の保存が行われると（Ｍ１１０５）、プレイリスト管理部３０４はプレイリストを更新する（Ｍ１１０６）。また、データ通信装置１０１は、再生装置１０２に対するセグメント１の送信が完了すると、中継装置１０３に対してセグメント１の送信を行う（Ｍ１１０７）。
【００７８】
データ通信装置１０１は、セグメント１の送信完了通知を中継装置１０３から受信すると（Ｍ１１０８）、プレイリストの更新を行う（Ｍ１１０９）。更新されたプレイリストは例えば図７の７０１のような内容となる。再生装置１０２はＭ１１０３と同様の流れでＭ１１１０においてプレイリストを取得し、Ｍ１１０４と同様の流れでＭ１１１１においてセグメント２を取得する。なお、Ｍ１１０５のプレイリスト生成や、Ｍ１１０９のプレイリスト更新は必須ではなく、再生装置１０２からのプレイリストの取得要求の受信に応じて最新のプレイリストが生成されるようにしてもよい。
【００７９】
また、図１１の説明では、データ通信装置１０１がＲＡＭ２０４のセグメントバッファに２つまでセグメントを保存でき、記憶部２０６をセグメントの保存に用いない例を示している。つまり、図１１の説明では、データ通信装置１０１がセグメント２を取得すると、当該セグメント２の１つ前のセグメント１を中継装置に送信する。そして、データ通信装置１０１は、セグメント３の取得に応じて、セグメント１が保存されていたＲＡＭ２０４の記憶領域にセグメント３を上書きし、セグメント２を中継装置１０３へ送信する。ただし、ＲＡＭ２０４のセグメントバッファのサイズをより大きくしてもよいし、図５を用いて説明したように記憶部２０６をセグメントの保存用に用いることも可能である。
【００８０】
次に複数の再生装置が存在する構成について図１２を用いて説明する。Ｍ１２０１〜Ｍ１２１１の処理は図１１のＭ１１０１〜Ｍ１１１１と同様である。Ｍ１２１２で２つ目の再生装置Ｂがシステムに参加してきたとする。
【００８１】
すなわち、Ｍ１２１２は、セグメント１が中継装置１０３へ送信済みで、セグメント２が中継装置１０３へ未送信である状態において、データ通信装置１０１が再生装置Ｂからプレイリストの要求を受信した場合を示している。この場合、データ通信装置１０１は、Ｍ１２０９において更新済みのプレイリスト（図７の７０１に対応するプレイリスト）を再生装置Ｂへ送信する。Ｍ１２１２でプレイリストを取得した再生装置Ｂは、プレイリストに記述されたＵＲＬに従って、セグメント１を中継装置１０３から、セグメント２をデータ通信装置１０１から取得することが可能である。なお、データ通信装置１０１は、Ｍ１２０６の完了からＭ１２０９の完了までの間にプレイリストの取得要求を再生装置Ｂから受信した場合、Ｍ１２０６で更新されたプレイリストを再生装置Ｂに送信する。
【００８２】
Ｍ１２０６で更新されたプレイリストは、セグメント１とセグメント２の取得先が、共にデータ通信装置１０１であることを示している。Ｍ１２０６で更新されたプレイリストを取得した再生装置Ｂが、Ｍ１２０９の完了よりもあとに、データ通信装置１０１に対してセグメント１の要求を送信した場合、本実施形態のデータ通信装置１０１は、以下のように動作する。すなわち、データ通信装置１０１は、セグメント１がデータ通信装置１０１から提供可能であるか否か（データ通信装置１０１のメモリに格納されているか否か）を判定し、提供可能であると判定した場合、セグメント１を再生装置Ｂへ送信する。一方、データ通信装置１０１がセグメント１を再生装置Ｂに提供可能でないと判定した場合、再生装置Ｂからの要求を中継装置１０３へリダイレクト（転送）する。このように複数の再生装置１０２が存在する構成の場合、各再生装置１０２がプレイリストを取得するタイミングによって、各セグメントの取得先が切り替わる特徴がある。
【００８３】
最後に、プレイリストの配信を中継装置１０３から行う場合について図１３を用いて説明する。プレイリストはデータ通信装置１０１で生成・配信を行っても良いし、中継装置１０３で生成・配信を行っても良い。ここでの配信は再生装置１０２への送信を意味する。さらに、プレイリストはデータ通信装置１０１が生成し、これを中継装置１０３に送信した後、中継装置１０３から再生装置１０２へ配信しても良い。中継装置１０３でプレイリストの生成・配信を行う場合は、データ通信装置１０１から中継装置１０３に対してセグメントの保存状況に関する情報を通知する必要がある。また中継装置１０３がプレイリストの生成はせず、配信のみを行う場合は、データ通信装置１０１によって生成されたプレイリストが中継装置１０３へ送信される必要がある。図１３はこの場合（中継装置１０３がプレイリストの生成は行わず、データ通信装置１０１からプレイリストを受け取って再生装置１０２へ送信する場合）のシーケンス図である。
【００８４】
図１１の例と異なる箇所はＭ１３０３及びＭ１３０８、Ｍ１３１２においてデータ通信装置１０１が生成または更新したプレイリストを中継装置１０３へと送信している。再生装置１０２は、このプレイリストをＭ１３０４、Ｍ１３１３において中継装置１０３から取得するという動作の流れになる。プレイリストをデータ通信装置１０１ではなく中継装置１０３から配信することによって、データ通信装置１０１は、プレイリストの要求に対する処理に対応する処理負荷を低減できる。特に再生装置１０２が多数存在し、頻繁にプレイリスト要求がなされる場合において有効である。また、複数のデータ通信装置１０１に記憶されている複数のコンテンツ（例えば動画）の情報を中継装置１０３が収集し、まとめて１つのプレイリストを生成することも可能である。
【００８５】
以上説明したように本実施形態のデータ通信装置１０１は、動画を構成する複数のセグメントのうち、所定のセグメント（例えば時間的に古いセグメント）を中継装置１０３に送信することが可能である。また、データ通信装置１０１は、複数のセグメントのうち、第１セグメントが中継装置１０３へ送信され、第２セグメントが中継装置１０３へ未送信である場合、複数のセグメントの取得先に関するプレイリスト（リスト情報）を以下のように生成する。すなわち、データ通信装置１０１は、第１セグメントの取得先が中継装置１０３であること、及び、第２セグメントの取得先がデータ通信装置１０１であることを示すリスト情報を生成し、再生装置１０２へ送信する。そして、データ通信装置１０１は、プレイリストを取得した再生装置１０２からのセグメントの要求に応じて、セグメントを提供する。このような構成により、例えば、データ通信装置１０１が動画を構成するセグメントの一部を他の通信装置（中継装置１０３）へ送信するようなユースケースにおいても、再生装置１０２（受信装置）は、動画（コンテンツデータ）を容易に取得できるようになる。なお、実施形態で説明したとおり、データ通信装置１０１や中継装置１０３の動作には種々のバリエーションがある。例えば、中継装置１０３が再生装置１０２に対してプレイリストを送信するような形態も実現可能である。また、ネットワーク上に複数のデータ通信装置１０１（コンテンツ提供装置）と、再生装置１０２（受信装置）と、複数の中継装置１０３が存在していてもよい。
【００８６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８７】
１０１  データ通信装置
１０２  再生装置
１０３  中継装置
１０４  ネットワーク
２０１  バス
２０２  ＣＰＵ
２０３  ＲＯＭ
２０４  ＲＡＭ
２０５  撮影部
２０６  記憶部
２０７  通信部
３０１  Ｗｅｂサーバ部
３０２  制御部
３０３  セグメント管理部
３０４  プレイリスト管理部
【図１】
2016046598.tif 000003
【図２】
2016046598.tif 000004
【図３】
2016046598.tif 000005
【図４】
2016046598.tif 000006
【図５】
2016046598.tif 000007
【図６】
2016046598.tif 000008
【図７】
2016046598.tif 000009
【図８】
2016046598.tif 000010
【図９】
2016046598.tif 000011
【図１０】
2016046598.tif 000012
【図１１】
2016046598.tif 000013
【図１２】
2016046598.tif 000014
【図１３】
2016046598.tif 000015