(57)【要約】  映像サーバ（２）は、映像再生装置（１）からコンテンツデータの送信を要求されたときに、該コンテンツデータを構成する複数の部分データの各々を、１又は複数のストレージ（３）から取得する受信部（２１）と、受信部（２１）が取得する複数の部分データの各々を、該部分データの再生順序を指定する再生順序指定情報と関連付けて、受信部（２１）が取得を完了した順に映像再生装置（１）に送信する送信部（２６）とを備えている。
2012011473.tif 000002
【特許請求の範囲】
【請求項１】
他の装置からコンテンツデータの送信を要求されたときに、該コンテンツデータを構成する複数の部分データの各々を、１又は複数の記憶装置から取得する部分データ取得手段と、
上記部分データ取得手段が取得した上記複数の部分データの各々を、該部分データの再生順序を指定する再生順序指定情報と関連付けて、上記部分データ取得手段が取得を完了した順に上記他の装置に送信する部分データ送信手段と、を備えている、
ことを特徴とする送信装置。
【請求項２】
上記部分データ取得手段は、上記他の装置から上記コンテンツデータの特定部分の送信を要求されると、該特定部分に属する部分データを並列的に上記１又は複数の記憶装置から取得するものであり、
上記部分データ送信手段は、上記特定部分に属する部分データを上記他の装置に送信し終えた後、あるいは、該特定部分に属する部分データのうち、最後に送信する部分データに関連付けて、該特定部分の送信が完了したことを示す情報を上記他の装置に送信する、
ことを特徴とする請求項１に記載の送信装置。
【請求項３】
上記部分データ取得手段は、上記他の装置から上記コンテンツデータの特定部分の送信を要求されると、該特定部分を分割することにより得られた各小部分に属する部分データを並列的に上記１又は複数の記憶装置から取得するものであり、
上記部分データ送信手段は、各小部分に属する部分データを上記他の装置に送信し終える度に、あるいは、該小部分に属する部分データのうち、最後に送信する部分データに関連付けて、該小部分の送信が完了したことを示す情報を上記他の装置に送信するものである、
ことを特徴とする請求項１に記載の送信装置。
【請求項４】
上記他の装置からの要求には、該他の装置のバッファサイズを示すバッファサイズ指定情報が含まれており、
上記部分データ取得手段は、各小部分に属する部分データのデータサイズの合計が上記バッファサイズ指定情報により指定されたバッファサイズよりも小さくなるように上記特定部分を分割する、
ことを特徴とする請求項３に記載の送信装置。
【請求項５】
上記部分データ取得手段は、上記他の装置から上記コンテンツデータの特定部分の送信を要求されると、該特定部分を符号化することによって得られたＭ個の部分データであって、消失訂正によりＮ個（Ｎ＜Ｍ）の部分データから該特定部分を復元可能なＭ個の部分データを並列的に上記１又は複数の記憶装置から取得するものであり、
上記部分データ送信手段は、上記部分データ取得手段が取得するＭ個の部分データのうち、先に取得が完了したＮ個の部分データを取得が完了した順に上記他の装置に送信するものであり、該Ｎ個の部分データを上記他の装置に送信し終えた後、あるいは、該Ｎ個の部分データのうち、最後に送信する部分データに関連付けて、該特定部分の送信が完了したことを示す情報を上記他の装置に送信する、
ことを特徴とする請求項１に記載の送信装置。
【請求項６】
上記部分データ送信手段は、上記特定部分を構成する部分データ、及び、該部分データの送信が完了したことを示す情報を、マルチパート形式のＨＴＴＰメッセージとして送信する、ことを特徴とする請求項２〜５のうち何れか１項に記載の送信装置。
【請求項７】
コンテンツデータを構成する複数の部分データを、該複数の部分データの各々に関連付けられた再生順序指定情報と共に受信する部分データ受信手段と、
上記部分データ受信手段が受信した上記複数の部分データを、上記部分データ受信手段が受信した上記再生順序指定情報により指定された再生順序に並び替える部分データ並び替え手段と、
を備えていることを特徴とする受信装置。
【請求項８】
請求項１〜６までの何れか１項に記載の送信装置と、請求項７に記載の受信装置と、を含むことを特徴とする通信システム。
【請求項９】
送信装置がコンテンツデータを送信する送信方法であって、
他の装置からコンテンツデータの送信を要求されたときに、該コンテンツデータを構成する複数の部分データの各々を、１又は複数の記憶装置から取得する部分データ取得ステップと、
上記部分データ取得ステップにて取得した上記複数の部分データの各々を、該部分データの再生順序を指定する再生順序指定情報と関連付けて、上記部分データ取得ステップにて取得を完了した順に上記他の装置に送信する部分データ送信ステップと、を含んでいる、
ことを特徴とする送信方法。
【請求項１０】
受信装置がコンテンツデータを受信する受信方法であって、
コンテンツデータを構成する複数の部分データを、該複数の部分データの各々に関連付けられた再生順序指定情報と共に受信する部分データ受信ステップと、
上記部分データ受信ステップにて受信した上記複数の部分データを、上記部分データ受信ステップにて受信した上記再生順序指定情報により指定された再生順序に並び替える部分データ並び替えステップと、を含んでいる、
ことを特徴とする受信方法。
【請求項１１】
コンテンツデータのデータ構造において、
コンテンツデータを構成する複数の部分データと、
上記複数の部分データの各々に関連付けられた再生順序指定情報であって、該部分データの再生順序を指定する再生順序指定情報と、を含んでいる、
ことを特徴とするコンテンツデータのデータ構造。
【請求項１２】
コンピュータを請求項１〜６までの何れか１項に記載の送信装置として動作させるためのプログラムであって、上記コンピュータを上記送信装置が備えている上記各手段として機能させるプログラム。
【請求項１３】
コンピュータを請求項７に記載の受信装置として動作させるためのプログラムであって、上記コンピュータを上記受信装置が備えている上記各手段として機能させるプログラム。
【請求項１４】
請求項１２または１３に記載のプログラムが記録されているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータを送信する送信装置、及び、送信方法に関する。また、本発明は、そのような送信装置から送信されたコンテンツデータを受信する受信装置、及び、そのような送信装置と受信装置とを含む通信システムに関する。
【背景技術】
【０００２】
近年、インターネットに対する需要が急速に高まるにしたがって、テキストや静止画等で構成されたＷＥＢページを見るだけでなく、動画コンテンツや音声コンテンツ等を、ストリーミング配信を受けて鑑賞することを望むユーザが増えてきている。【０００３】
一般に、ユーザはブラウザでＷＥＢページにアクセスすることにより、ＷＥＢページのテキストデータや静止画データ等を手に入れることができるが、この場合のテキストデータや静止画データは、http(s)プロトコルを用いて送信されるようになっている。【０００４】
一方、動画コンテンツや音声コンテンツ等は、リアルタイム性を重視して設計されたプロトコルであるRTPプロトコル等を用いて配信されることが多い。【０００５】
ところで、ユーザがインターネットを利用する用途としては、ブラウザでＷＥＢページにアクセスする用途が圧倒的に多い。このため、一般に、ファイヤーウォールでは、http(s)プロトコルの通信に使用するポートは開放されている。一方、ＲＴＰプロトコル等の通信はファイヤーウォールで遮断されることもある。【０００６】
このため、いつでもどこでも動画や音声等のコンテンツを鑑賞したいというユーザの要望に応えるために、コンテンツの通信をhttp(s)プロトコルで行う技術が開発されている。【０００７】
また、特に、イベントをリアルタイムに不特定多数あるいは特定多数にhttp通信で同時配信するライブストリーミング配信が求められている。このようなライブストリーミング配信の代表的な配信方式として、ＭＰＥＧ（Moving Picture Expert Group）のＭＰ４ファイルフォーマットを順次ダウンロードさせることによる配信方式（特許文献１）や、ＭＰＥＧのISO Media File Formatのフラグメント映像形式を用いた配信方式（特許文献２）、フレーム単位に分割された動画像データを更に分割した分割画像データを複数のＴＣＰコネクションを用いることによる配信方式（特許文献３）等が挙げられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】日本国特許公報「特開２００５−１１０２４４号公報（２００５年４月２１日公開）」
【特許文献２】日本国特許公報「特開２００７−１７３９８７号公報（２００７年７月５日公開）」
【特許文献３】日本国特許公報「特開２００４−２６０６６８号公報（２００４年９月１６日公開）」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
http(s)による映像配信においては、配信対象となるコンテンツデータを分割して複数のストレージに格納することがしばしば行なわれる。この場合、映像サーバから映像再生装置への映像配信は、例えば、図２４に示すように行なわれる。【００１０】
すなわち、映像再生装置１は、映像サーバ２にコンテンツデータの送信を要求する（ステップ３０、以下単にＳ３０と記載する）と、映像サーバ２は、該コンテンツデータを構成する複数の部分データの各々が記憶されている複数のストレージ３ａ〜３ｂから、該複数の部分データの取得を開始する（Ｓ３１、Ｓ３２）。ここでは、コンテンツデータが２つの部分データから構成されており、１つ目の部分データ（以下、部分データａと記載する）がストレージ３ａに記憶されており、２つ目の部分データ（以下、部分データｂと記載する）がストレージ３ｂに記憶されている場合を例に説明を行う。【００１１】
ここで、ストレージ３ａから部分データａの取得を遅滞無く完了し（Ｓ３３）、ストレージ３ｂから部分データｂの取得を遅滞無く完了した場合（Ｓ３４）、映像サーバ２は、取得した複数の部分データを再生順序順に並び替え（Ｓ３５）、並び替えた複数の部分データコンテンツデータを映像再生装置１に送信する（Ｓ３６）。【００１２】
また、ストレージ３ａから部分データａの取得を遅延１の分遅延して完了した場合（Ｓ３７）、映像サーバ２は、部分データ全ての取得が完了したタイミング、つまり、Ｓ３７にて部分データａの取得が完了したタイミングで、取得した複数の部分データを再生順序順に並び替え（Ｓ３８）、並び替えた部分データを映像再生装置１に送信する（Ｓ３９）。この場合、映像再生装置１は、遅延が発生しなかった場合と比べ遅延２の分遅延して映像を再生する（Ｓ４０）。【００１３】
しかしながら、このような映像配信には２つの課題がある。第１に、映像サーバ２が複数の部分データの全てを取得した後に、複数の部分データを再生順序順に並び替える処理を行うため、映像サーバ２は、全ての部分データを記憶するためのメモリが必要となる。【００１４】
第２に、映像サーバ２が全ての部分データを取得した後に並び替えるため、部分データの取得が遅延することにより、映像再生装置１におけるコンテンツデータの再生が遅延するという問題がある。【００１５】
また、上記特許文献３に記載の送信装置は、スループット向上のためフレームに分割した動画像データを１フレーム分または複数フレーム分を単位として、個々の単位画像データを更に分割した分割画像データを、複数のＴＣＰコネクションにより受信装置に送信し、受信装置は複数のＴＣＰコネクションより受信した分割画像データから元のデータに戻す処理を行っている。ここで、単位画像データの分割数及びＴＣＰコネクションの数は、１ＴＣＰコネクションあたりのスループット及び動画像データの平均ビットレートに基づいて決定される。【００１６】
しかしながら、上記の技術では、動画像データが大量であった場合、ＴＣＰコネクションの数が大量となるが送信装置のＴＣＰコネクションの数には限界がある。また、受信装置のデータ蓄積部に蓄積される動画像データは、フレーム順に蓄積されるため、あるフレームの受信が遅延した場合、動画像データの再生が遅延する可能性がある。【００１７】
本発明は上記の問題を鑑みてなされたものであり、その主な目的は、コンテンツデータを送信する送信装置において、このコンテンツデータを受信した再生装置がコンテンツを遅滞なく再生することが可能な送信装置を実現することにある。
【課題を解決するための手段】
【００１８】
上記の課題を解決するために、本発明に係る送信装置は、他の装置からコンテンツデータの送信を要求されたときに、該コンテンツデータを構成する複数の部分データの各々を、１又は複数の記憶装置から取得する部分データ取得手段と、上記部分データ取得手段が取得する上記複数の部分データの各々を、該部分データの再生順序を指定する再生順序指定情報と関連付けて、上記部分データ取得手段が取得を完了した順に上記他の装置に送信する部分データ送信手段と、を備えていることを特徴としている。【００１９】
また、本発明に係る送信方法は、送信装置がコンテンツデータを送信する送信方法であって、他の装置からコンテンツデータの送信を要求されたときに、該コンテンツデータを構成する複数の部分データの各々を、１又は複数の記憶装置から取得する部分データ取得ステップと、上記部分データ取得ステップにて取得した上記複数の部分データの各々を、該部分データの再生順序を指定する再生順序指定情報と関連付けて、上記部分データ取得ステップにて取得を完了した順に上記他の装置に送信する部分データ送信ステップと、を含んでいる。【００２０】
上記構成によれば、他の装置から要求されたコンテンツデータを構成する複数の部分データの各々を、記憶装置から取得した順に、上記他の装置に送信することにより、再生順序が遅い部分データを先に取得した場合においても、遅滞無く、他の装置に該部分データを送信することができる。【００２１】
これにより、他の装置は、部分データを遅滞無く受信することができるため、再生開始時に部分データを受信していないことによる待ち時間を減らすことができる。【００２２】
上記課題を解決するために、本発明に係る受信装置は、コンテンツデータを構成する複数の部分データを、該複数の部分データの各々に関連付けられた再生順序指定情報と共に受信する部分データ受信手段と、上記部分データ受信手段が受信した上記複数の部分データを、上記部分データ受信手段が受信した上記再生順序指定情報により指定された再生順序に並び替える部分データ並び替え手段と、を備えていることを特徴としている。【００２３】
また、本発明に係る受信方法は、受信装置がコンテンツデータを受信する受信方法であって、コンテンツデータを構成する複数の部分データを、該複数の部分データの各々に関連付けられた再生順序指定情報と共に受信する部分データ受信ステップと、上記部分データ受信ステップにて受信した上記複数の部分データを、上記部分データ受信ステップにて受信した上記再生順序指定情報により指定された再生順序に並び替える部分データ並び替えステップと、を含んでいる、ことを特徴としている。【００２４】
上記の構成によれば、上述した送信装置から送信されたコンテンツデータを遅滞なく受信することができる。【００２５】
本発明の他の目的、特徴、および優れた点は、以下に示す記載によって十分分かるであろう。また、本発明の利点は、添付図面を参照した次の説明で明白になるであろう。
【発明の効果】
【００２６】
本発明は、コンテンツデータを送信する送信装置において、このコンテンツデータを受信した再生装置がコンテンツを遅滞なく再生することが可能な送信装置を実現するという効果を奏する。
【図面の簡単な説明】
【００２７】
【図１】本発明に係る通信システムの構成例を示す図である。
【図２】図１の通信システムにおける映像再生装置の要部構成を示すブロック図である。
【図３】図１の通信システムにおける映像サーバの要部構成を示すブロック図である。
【図４】図１の通信システムにおけるストレージの要部構成を示すブロック図である。
【図５】コンテンツデータの構成を示す図である。
【図６】実施の形態１のコンテンツ再生処理における映像再生装置の処理の流れを示すフローチャートである。
【図７】実施の形態１のコンテンツ再生処理における映像サーバの処理の流れを示すフローチャートである。
【図８】映像再生装置から送信されるＨＴＴＰメッセージの一例を示す図であり、（ａ）は、要求メッセージを示す図であり、（ｂ）は、バッファサイズを含んだ要求メッセージを示す図である。
【図９】映像サーバから送信されるＨＴＴＰメッセージの一例を示す図である。
【図１０】実施の形態１のコンテンツ再生処理の流れの一例を示すシーケンス図である。
【図１１】実施の形態１のコンテンツ再生処理におけるデータの流れの一例を示す図である。
【図１２】実施の形態１のコンテンツ再生処理の流れの他の例を示すシーケンス図である。
【図１３】映像サーバから送信されるＨＴＴＰメッセージの他の例を示す図である。
【図１４】通信システムのコンテンツ再生処理におけるデータの流れの他の例を示す図である。
【図１５】実施の形態２のコンテンツ再生処理におけるコンテンツデータの構成を示す図である。
【図１６】実施の形態２のコンテンツ再生処理における映像サーバの処理の流れを示すフローチャートである。
【図１７】実施の形態２のコンテンツ再生処理におけるデータの流れの一例を示す図である。
【図１８】実施の形態２のコンテンツ再生処理におけるデータの流れの他の例を示す図である。
【図１９】図１８の映像サーバから送信されるＨＴＴＰメッセージの例を示す図である。
【図２０】実施の形態３のコンテンツ再生処理におけるコンテンツデータの構成を示す図である。
【図２１】実施の形態３のコンテンツ再生処理における映像再生装置の処理の流れを示すフローチャートである。
【図２２】実施の形態３のコンテンツ再生処理における映像サーバの処理の流れを示すフローチャートである。
【図２３】映像サーバから送信されるＨＴＴＰメッセージの他の例を示す図である。
【図２４】従来のコンテンツ再生処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【００２８】
本発明の実施の一形態について、図面に基づいて説明すれば以下のとおりである。なお、以下の説明においては、再生するコンテンツとして映像を例示し、送信装置として映像サーバを例示し、再生装置（他の装置）として映像再生装置を例示するが、本発明はこれに限定されるものではない。特に、映像は、コンテンツの一例に過ぎず、コンテンツには、動画、静止画、文字および音声などのあらゆる情報が含まれる。また、再生装置は、送信装置から送信されたコンテンツを再生可能な装置であればよい。
【００２９】
〔コンテンツデータの構成〕
まず、本実施形態において配信対象とするコンテンツデータの構成について、図５を参照して説明する。図５は、本実施形態において配信対象とするコンテンツデータの構成を示す図である。図５では、配信対象とするコンテンツデータの例として、映像コンテンツを符号化することにより得られた符号化データを含むコンテンツデータＣを示している。
【００３０】
コンテンツ（映像）は、複数のフレームからなり、フレームごとに符号化される。符号化に際しては、予測符号化などによりコンテンツの持つ冗長性が削減されるため、符号化データのデータサイズは、コンテンツのデータサイズよりも小さくなる。本実施形態においては、この符号化データを、１又は複数の再生単位（セグメント）Ｕ1，Ｕ2，…，ＵMに分割し、更に、各再生単位Ｕiを、１又は複数の部分データ（フラグメント）Ｆi1，Ｆi2，…，ＦiNに分割して管理する。例えば、再生に１時間を要する符号化データを、６０個の再生単位Ｕ1，Ｕ2，…，Ｕ60に等分し、更に、再生に１分を要する各再生単位Ｕiを、６０個の部分データＦi1，Ｆi2，…，Ｆi60に等分して管理するケースなどが考えられる。この場合、各部分データＦijの再生に要する時間は１秒になる。ただし、符号化データを再生単位Ｕ1，Ｕ2，…，ＵMに分割する分割方法、及び、各再生単位Ｕiを部分データＦi1，Ｆi2，…，ＦiNに分割する分割方法は任意であり、これに限定されるものではない。
【００３１】
映像サーバから映像再生装置に配信されるコンテンツデータＣにおいては、図５に示すように、符号化データ全体に対応するヘッダＨが、コンテンツデータＣの先頭に配置され、各部分データＦijに対応するヘッダＨijが、その部分データの先頭に配置され、各再生単位の終端を示す区切り記号Ｓが、その再生単位の末尾に配置される。なお、符号化データ全体を１つの再生単位として管理する場合、コンテンツデータには、符号化データ全体の終端を示す単一の区切り記号Ｓが含まれることになる。なお、本明細書においては、符号化データ全体に対応するヘッダＨを「全体ヘッダ」、各部分データに対応するヘッダＨijを「部分ヘッダ」と呼称することによって、これらを区別する。
【００３２】
なお、各分割データＦijは、他の分割データＦi'j'を参照することなく再生できるものであることが好ましい。例えば、Ｈ２６４／ＡＶＣに従って符号化された符号化データに関して言えば、同一のＧＯＰ（Group of Picture）を構成する符号化データが分断されないように、符号化データを部分データに分割することが望ましい。
【００３３】
〔通信システムの概要〕
本発明にかかる通信システムの概要を図１に基づいて説明する。図１は、通信システム（コンテンツ送信システム）１００の構成例を示す図である。
【００３４】
通信システム１００は、図１に示すように、コンテンツデータを配信するためのシステムであり、映像再生装置（他の装置、受信装置）１と、映像サーバ２と、複数のストレージ３とにより構成されている。配信対象となるコンテンツデータは、複数の部分データに分割されており、複数のストレージ３に分散して格納されている。映像再生装置１は、ネットワーク１（以下「ＮＷ１」）を介して映像サーバ（送信装置）２に接続し、映像サーバ２は、ネットワーク２（以下「ＮＷ２」）を介して１又は複数のストレージ（記憶装置）３に接続している。なお、ＮＷ１及びＮＷ２は、上記の各機器が相互に通信可能なものであればよく、有線通信のネットワークであってもよいし、無線通信のネットワークであってもよい。
【００３５】
通信システム１００において、映像再生装置１は、ＮＷ１を介して映像サーバ２にコンテンツデータの送信を要求する。ただし、コンテンツデータの要求は、上述した再生単位（特定部分）毎に行なわれる。この要求を受信した映像サーバ２は、要求された再生単位を構成する部分データの各々を、ＮＷ２を介して複数のストレージ３から取得し、取得が完了した順に映像再生装置１に送信する。映像再生装置１は、これらの部分データを受信し、並べ替えて復号／再生する。
【００３６】
なお、本実施形態においては、部分データを記憶させる記憶装置として、ＮＷ２を介して映像サーバ２に接続されたストレージサーバを想定しているが、本発明はこれに限定されるものではない。例えば、映像サーバ２に内蔵されたＨＤＤ（ハードディスクドライブ装置）などの記録装置に部分データを記憶させる構成を採用してもよい。ただし、部分データを記憶させる記憶装置（ストレージ３）と映像サーバ２との間にネットワーク（ＮＷ２）が介在し、記憶装置からの部分データの読み出しに遅延が生じ易い構成において、本発明の効果が顕著に現れることは言うまでもない。
【００３７】
以下、図１の通信システム１００を構成する映像再生装置１、映像サーバ２、及びストレージ３の構成を、図２〜４を用いて説明する。
【００３８】
〔映像再生装置１の構成〕
映像再生装置１の要部構成を、図２を用いて説明する。図２は、映像再生装置１の要部構成を示すブロック図である。
【００３９】
映像再生装置１は、リクエスト生成部１１、送信部１２、制御部１３、復号部１４、バッファ１５、並び替え処理部（部分データ並び替え手段）１６、受信部（部分データ受信手段）１７、監視部１８、及び再生部１９を備えている。
【００４０】
映像再生装置１は、再生すべきコンテンツデータを指定するユーザ操作を受け付ける入力部（図示しない）を更に備えている。入力部がこのユーザ操作を受け付けると、制御部１３は、このユーザ操作により指定されたコンテンツデータの送信を要求する要求メッセージを生成するよう、リクエスト生成部１１に指示を与える。
【００４１】
リクエスト生成部１１は、制御部１３からの指示に従い、コンテンツデータの送信を要求する要求メッセージ、例えば、ＨＴＴＰプロトコルに従ったＧＥＴメッセージを生成する。リクエスト生成部１１は、生成した要求メッセージを送信部１２に供給する。
【００４２】
この要求メッセージは、１再生単位分のコンテンツデータの送信を要求するものであり、送信を要求する再生単位を指定するための再生単位指定情報が含まれている。再生単位毎にＵＲＩ（Uniform Resource Identifier）が与えられている場合には、そのＵＲＩを再生単位指定情報として利用することができる。また、コンテンツデータ毎にＵＲＩが与えられている場合には、そのＵＲＩと、要求する再生単位を他の再生単位と識別するための識別子とを組み合わせたものを再生単位指定情報として利用することができる。
【００４３】
送信部１２は、リクエスト生成部１１により生成された要求メッセージを映像サーバ２に送信する。また、送信部１２は、制御部１３からの指示に従い、後述するセッション断通知を映像サーバ２に送信するための手段としても機能する。
【００４４】
受信部１７は、要求メッセージに対する応答として映像サーバ２から送信されたコンテンツデータを受信する。１つの要求メッセージに対する応答として受信部１７が受信するコンテンツデータは、１再生単位分のコンテンツデータであり、図５に示すように、１つの全体ヘッダ、複数の部分データ、複数の部分ヘッダ、及び、１つの区切り記号が含まれる。受信部１７は、受信したコンテンツデータを、バッファ１５に格納すると共に、監視部１８に供給する。
【００４５】
監視部１８は、受信部１７が受信したコンテンツデータを監視することによって、各種イベントの発生タイミングを特定する。監視部１８が特定するタイミングとしては、コンテンツデータの受信を開始したタイミング、各部分データを受信したタイミング、及び、各再生単位の受信を完了したタイミングが挙げられる。これらのタイミングは、受信部１７が受信したコンテンツデータにおいて、全体ヘッダ、部分ヘッダ、及び、区切り記号を検出することにより特定される。なお、コンテンツデータをＨＴＴＰプロトコルに従って送受信する場合には、ヘッダに先行して送信される「ＨＴＴＰ／１．１」から始まるステータスラインの検出により、コンテンツデータの受信を開始したタイミングを特定してもよい。監視部１８は、これらのタイミングを制御部１３に通知する。
【００４６】
また、監視部１８は、受信部１７が部分データを受信する度に遅延状態にあるか否かを判定し、遅延状態に遷移したタイミングを制御部１３に通知するための手段としても機能する。遅延状態にあるか否かの判定は、各部分データを受信した時刻ｔと、その部分データのデコードタイム（復号を開始すべき時刻）ｔ’とを比較することによって行われる（ｔ’＜ｔであれば遅延状態であると判定する）。なお、デコードタイムｔ’が部分ヘッダに記述されている場合、監視部１８は、部分ヘッダに記述されたデコードタイムｔ’を参照して遅延状態にあるか否かの判定を行う。また、デコードタイムｔ’の代わりにプレゼンテーションタイム（その部分データから復号される先頭フレームを表示すべき時刻）ｔ”が部分ヘッダに記述されている場合、監視部１８は、プレゼンテーションタイムｔ”から所定量Δｔを減算することでデコードタイムｔ’＝ｔ”−Δｔを算出する。
【００４７】
並び替え処理部１６は、制御部１３の指示に従い、バッファ１５に蓄積された１再生単位分の部分データを、これらの部分データの各々に対応する部分ヘッダ（再生順序指定情報）を参照して並び替えることによって、先頭から順に復号可能な符号化データを生成する。並び替え処理部１６は、１再生単位分の部分データの並び替えが完了すると、生成した符号化データをバッファ１５に格納すると共に、並び替えが完了した旨を制御部１３に通知する。
【００４８】
復号部１４は、制御部１３の指示に従い、並び替え処理部１６によって生成された符号化データからコンテンツを復号する。復号部１４は、復号したコンテンツを再生部１９に供給する。また、再生部１９は、復号部１４から供給されたコンテンツをディスプレイ等に表示する。
【００４９】
制御部１３は、映像再生装置１の各部を制御する。具体的には、以下のような制御を行う。（１）再生すべきコンテンツデータを指定するユーザ操作を検出すると、そのコンテンツデータの先頭の再生単位を要求する要求メッセージの生成をリクエスト生成部１１に指示する。（２）各再生単位の受信を完了した旨の通知を監視部１８から受けると、（２ａ）バッファ１５に蓄積された部分データ（受信が完了した再生単位を構成する部分データ）の並べ替えを並び替え処理部１６に指示し、（２ｂ）受信が完了した再生単位の次の再生単位を要求する要求メッセージの生成をリクエスト生成部１１に指示する。（３）バッファ１５に蓄積された部分データの並べ替えを完了した旨の通知を並び替え処理部１６から受けると、並び替え処理部１６により生成された符号化データの復号を復号部１４に指示する。（４）遅延状態に遷移した旨の通知を監視部１８から受けると、（４ａ）部分データの受信中断（部分データの受信中断のことを、以下では「セッション断」とも呼称する）を受信部１７に指示し、（４ｂ）セッション断通知の送信を送信部１２に指示し、（４ｃ）バッファ１５に蓄積されている部分データの並べ替えを並び替え処理部１６に指示する。
【００５０】
〔映像サーバ２の構成〕
次に映像サーバ２の要部構成を、図３を用いて説明する。図３は、映像サーバ２の要部構成を示すブロック図である。
【００５１】
映像サーバ２は、受信部（部分データ取得手段）２１、監視部２２、応答生成部２３、ヘッダ生成部２４、フッタ生成部２５、送信部（部分データ送信手段）２６、リクエスト生成部２７、及び、管理表格納部２８を備えている。
【００５２】
受信部２１は、１再生単位分のコンテンツデータの送信を要求する映像再生装置１からの要求メッセージ（コンテンツデータ要求）を受信し、受信した要求メッセージ（コンテンツデータ要求）を監視部２２及びリクエスト生成部２７に供給する。また、受信部２１は、映像再生装置１から要求された再生単位を構成する部分データをストレージ３から取得し、取得した部分データを応答生成部２３に供給する。更に、受信部２１は、映像再生装置１からのセッション断通知を受信し、受信したセッション断通知を監視部２２に供給する。
【００５３】
監視部２２は、受信部２１が受信した受信データを監視し、受信部２１が映像再生装置１からの要求メッセージ（コンテンツデータ要求）を受信したタイミング、受信部２１がストレージ３からの応答（部分データ）を受信しタイミング、及び、受信部２１が映像再生装置１からのセッション断通知を受信したタイミングを特定する。監視部２２は、映像再生装置１からの要求メッセージ（コンテンツデータ要求）を受信したことを確認すると、要求された再生単位を構成する各部分データの提供をストレージ３に要求するための要求メッセージ（部分データ要求）の生成をリクエスト生成部２７に指示する。また、ストレージ３からの応答（部分データ）を取得したことを確認する度に、取得した部分データの送信を応答生成部２３に指示する。特に、受信部２１が最初の部分データを取得したことを確認したときには、全体ヘッダの送信を応答生成部２３に指示し、受信部２１が最後の部分データを受信したことを確認したときには、区切り記号の送信を応答指示生成部２３に指示する。また、受信部２１がセッション断通知を受信したことを確認したときには、送信部２６に部分データの送信停止を指示する。
【００５４】
管理表格納部２８には、映像サーバ２が配信可能なコンテンツデータの各再生単位について、その再生単位を構成する各部分データがどのストレージ３に格納されているかを示す管理表が格納されている。この管理表は、例えば、各再生単位を指定する再生単位指定情報（例えば、その再生単位のＵＲＩ）と、その再生単位を構成する各部分データが格納されたストレージ３を指定するストレージ指定情報（例えば、そのストレージ３のＩＰアドレス又はＭＡＣアドレス）からなるリストとを互いに関連付けて記録することにより実現される。
【００５５】
リクエスト生成部２７は、要求された再生単位を構成する各部分データについて、その部分データが格納されているストレージ３に対してその部分データの提供を要求する要求メッセージ（部分データ要求）を生成する。なお、要求された再生単位を構成する各部分データが格納されているストレージ３は、管理表格納部２８に格納されている管理表を参照することによって、受信部２１が受信した要求メッセージ（コンテンツデータ要求）に含まれる再生単位指定情報から特定することができる。リクエスト生成部２７により生成される要求メッセージ（部分データ要求）には、取得しようとする部分データを他の部分データと識別するための識別子が含まれる。リクエスト生成部２７は、生成した要求メッセージ（部分データ要求）を、その要求メッセージ（部分データ要求）の送信先であるストレージ３を指定するストレージ指定情報と共に、送信部２６に供給する。また、リクエスト生成部２７は、映像再生装置１に部分データを供給する送信機器（ここでは、映像サーバ２）等を示す全体をヘッダ生成部２４に供給する。
【００５６】
応答生成部２３は、監視部２２からの指示に従い、映像再生装置１からの要求メッセージ（コンテンツデータ要求）に対する応答メッセージを生成する。具体的には、（１）最初の部分データの取得が確認された時点で、全体ヘッダ、及び、最初の部分データに対応する部分ヘッダをヘッダ生成部２４に生成させ、それらのヘッダに続き、最初の部分データを送信部２６に送信させる。以後、（２）部分データの取得が確認される度に、その部分データに対応する部分ヘッダをヘッダ生成部２４に生成させ、その部分ヘッダに続き、その部分データを送信部２６に送信される。そして、（３）最後の部分データを送信部２６に送信させた後、区切り記号をヘッダ生成部２４に生成させ、その区切り記号を送信部２６に送信させる。このようにして送信部２６から送信される全体ヘッダ、部分ヘッダ、部分データ、及び、区切り記号が、映像再生装置１からの要求メッセージ（コンテンツデータ要求）に対する応答メッセージを構成する。
【００５７】
ヘッダ生成部２４は、応答生成部２３からの指示に従い、全体ヘッダ、及び、部分ヘッダを生成する。ヘッダ生成部２４により生成された全体ヘッダ、及び、部分ヘッダは、送信部２６を介して映像再生装置１に送信される。各部分ヘッダには、後述するように、対応する部分データの再生順序を指定する再生順序指定情報が含まれている。フッタ生成部２５は、応答生成部２３からの指示に従い、再生単位の終端を示す区切り記号を作成する。フッタ生成部２５によって生成された区切り記号も、送信部２６を介して映像再生装置１に送信される。
【００５８】
送信部２６は、受信部２１が映像再生装置１からの要求メッセージ（コンテンツデータ要求）を受信した時点で、リクエスト生成部２７により生成された複数の要求メッセージ（部分データ要求）の各々を、各要求メッセージ（部分データ要求）の送信先であるストレージ３に対して送信する。これにより、各部分データの取得が同時並列的に開始される。また、送信部２６は、応答生成部２３によって生成された応答メッセージを映像再生装置１に対して送信する。なお、受信部２１がセッション断通知を受信した場合、送信部２６は、応答生成部２３によって生成された応答メッセージの送信、すなわち、部分データの送信を中断する。
【００５９】
なお、映像サーバ２は、リバースプロキシサーバであってもよい。この場合、不特定多数の映像再生装置１からの要求メッセージ（コンテンツデータ要求）に対し、ストレージ３へのアクセスを制限したり、映像再生装置１が直接ストレージ３に接続されることを防いだりすることができ、ストレージ３のセキュリティを高めることができる。
【００６０】
〔ストレージ３の構成〕
ストレージ３の要部構成を、図４を用いて説明する。図４は、ストレージ３の要部構成を示すブロック図である。
【００６１】
ストレージ３は、監視部３１、読み出し処理部３２、蓄積媒体３３、送信部３４、応答生成部３５、及び、受信部３６を備えている。
【００６２】
受信部３６は、映像サーバ２からの要求メッセージ（部分データ要求）を受信し、受信した要求メッセージ（部分データ要求）を監視部３１及び読み出し処理部３２に供給する。
【００６３】
監視部３１は、受信部３６から供給されたメッセージが、要求メッセージ（部分データ要求）であるか否かを判定し、要求メッセージ（部分データ要求）である場合、要求メッセージ（部分データ要求）に含まれる識別子から、この識別子により識別される部分データを読み出すよう読み出し処理部３２に指示する。
【００６４】
読み出し処理部３２は、監視部３１からの指示に従い、要求メッセージ（部分データ要求）に含まれる識別子により識別される部分データを、蓄積媒体３３から読み出す。読み出し処理部３２は、読み出した部分データを応答生成部３５に供給する。
【００６５】
蓄積媒体３３は、コンテンツデータを構成する部分データが格納されたメモリである。
【００６６】
応答生成部３５は、読み出し処理部３２から供給された部分データを送信部３４に供給する。このとき、応答生成部３５は、該部分データを、ストレージ３と映像サーバ２との間の通信プロトコルにあわせた形に加工して、送信部３４に供給してもよい。例えば、ストレージ３と映像サーバ２とがＨＴＴＰを用いて通信をしている場合、該部分データをＨＴＴＰで通信できる形に加工して、送信部３４に供給してもよい。
【００６７】
送信部３４は、応答生成部３５から供給された部分データを映像サーバ２に送信する。
【００６８】
なお、ストレージ３と映像サーバ２とはＮＷ２を介して接続されている場合を例に、ストレージ３の構成を説明したが、映像サーバ２は、ストレージ３の蓄積媒体３３に直接接続されていてもよい。この場合、上述した、監視部３１、読み出し処理部３２、送信部３４、応答生成部３５、及び、受信部３６は、映像サーバ２に含まれる構成であってもよい。
【００６９】
＜実施の形態１＞
〔映像再生装置の処理〕
映像再生装置１の処理について、図６を参照して説明する。図６は、本実施形態のコンテンツ再生処理における映像再生装置１の処理の流れを示すフローチャートである。なお、図６に示す処理は、１再生単位分のコンテンツデータを再生するための処理であり、映像再生装置１は、図６に示す処理を各再生単位について繰り返すことによって、コンテンツデータ全体の再生を実現する。
【００７０】
映像再生装置１の送信部１２は、ユーザ操作に基づいて生成された要求メッセージを映像サーバ２に送信する（ステップＳ１、以下単にＳ１と記載する）。
【００７１】
要求メッセージ送信後、監視部１８は、映像サーバ２からの応答を待ち受ける。すなわち、映像サーバ２からの応答が確認されるまで（Ｓ２にてＹｅｓ）まで、映像サーバ２からの応答の有無を判定する処理（Ｓ２）を繰り返す。なお、映像サーバ２からの応答の有無を判定する処理は、例えば、「ＨＴＴＰ／１．１」から始まるステータスライン、又は、全体ヘッダを検出することによって行われる。
【００７２】
映像サーバ２からの応答を確認すると（Ｓ２にてＹｅｓ）、受信部１７は、映像サーバ２から送信された（１つの）部分ヘッダおよび（その部分ヘッダに対応する１つの）部分データを受信する処理（Ｓ３）、及び、受信した（１つの）部分ヘッダおよび（その部分ヘッダに対応する１つの）部分データをバッファ１５に格納する処理（Ｓ４）を、１再生単位分のコンテンツデータの受信が完了するか（Ｓ５にてＹＥＳ）、又は、遅延状態になる（Ｓ６にてＮｏ）まで繰り返す。ここで、１再生単位分のコンテンツデータの受信が完了するとは、その再生単位を構成する全ての部分データの受信が完了することを指す。
【００７３】
Ｓ３〜Ｓ４を繰り返すことにより、要求した再生単位を構成する複数の部分データがバッファ１５に蓄積されることになる。ただし、遅延状態になった（Ｓ６にてＹｅｓ）ことをトリガーとして部分データの受信を中断する場合、バッファ１５に蓄積される部分データは、再生単位を構成する複数の部分データの全部ではなく、再生単位を構成する複数の部分データの一部になる。なお、部分データの受信を中断（Ｓ６にてＹｅｓ）した場合、送信部１２は、セッション断（部分データの受信中断）を映像サーバ２に通知する（Ｓ７）。
【００７４】
なお、１再生単位分のコンテンツデータの受信が完了したか否かの判定（Ｓ５）は、上述したように、受信部１７が受信した区切り記号を監視部１８が検出することによって行なわれる。コンテンツデータの受信が完了したことを確認すると（Ｓ５にてＹｅｓ）、監視部１８は、バッファ１５に蓄積されたコンテンツの並べ替えを並び替え処理部１６に指示する。
【００７５】
また、遅延状態であるか否かの判定（Ｓ６）は、上述したように、部分データを受信した時刻ｔと、その部分データの復号を開始すべき時刻ｔ’とを監視部１８が比較することによって行なわれる。遅延状態でなければ（Ｓ６：Ｎｏ）、復号・再生処理を開始せずに部分データの受信を続け、遅延状態であれば（Ｓ６：Ｙｅｓ）、部分データの受信を中断して復号・再生処理を開始する。
【００７６】
１再生単位分のコンテンツデータの受信を完了（Ｓ５にてＹｅｓ）または中断（Ｓ６にてＮｏ）すると、並び替え処理部１６は、バッファ１５に蓄積された部分データを、各部分データに対応する部分ヘッダ（再生順序指定情報を含む）を参照して並べ替えることによって、先頭から順に復号可能な符号化データを生成する（Ｓ８）。その後、復号部１４は、並べ替え処理部１４によって生成された符号化データからコンテンツを復号し、再生部１９は、復号部１４によって復号されたコンテンツを表示する（Ｓ９）。
【００７７】
〔映像サーバの処理〕
次に映像サーバ２の処理について、図７を参照して説明する。図７は、本実施形態のコンテンツ再生処理における映像サーバ２の処理の流れを示すフローチャートである。なお、図７に示す処理は、１再生単位分のコンテンツデータを送信するための処理であり、映像サーバ２は、図７に示す処理を各再生単位について繰り返すことによって、コンテンツデータ全体の送信を実現する。
【００７８】
映像サーバ２の監視部２２は、映像再生装置１からの要求メッセージ（コンテンツデータ要求）を待ち受ける。すなわち、映像再生装置１からの要求メッセージが確認されるまで、映像再生装置１からの要求の有無を判定する処理（Ｓ１０）を繰り返す。なお、映像再生装置１からの要求メッセージの有無を確認する処理は、例えば、受信部２１が受信した受信データにおいて、「ＧＥＴ」から始まるリクエストラインを検出することによって行われる。
【００７９】
映像再生装置１からの要求メッセージ（コンテンツデータ要求）を確認すると（Ｓ１０にてＹｅｓ）、監視部２２は、要求メッセージ（部分データ要求）の生成をリクエスト生成部２７に指示する。この指示を受けたリクエスト生成部２７は、管理表格納部２８に格納されている管理表を参照し、映像再生装置１から要求された１再生単位分のコンテンツデータを構成する複数の部分データの各々が格納されているストレージ３を特定する（Ｓ１１）。そして、リクエスト生成部２７は、映像再生装置１から要求された再生単位を構成する複数の部分データの各々について、その部分データの提供を、その部分データが格納されているストレージ３に対して要求する要求メッセージ（部分データ要求）を生成する。
【００８０】
送信部２６は、リクエスト生成部２７によって生成された各要求メッセージ（部分データ要求）を送信する処理（Ｓ１２）を、リクエスト生成部２７によって生成された全ての要求メッセージ（部分データ要求）の送信が完了する（Ｓ１３にてＹｅｓ）まで繰り返す。部分データの提供を要求する要求メッセージ（部分データ要求）をストレージ３に送信することによって、その部分データをストレージ３から取得する取得処理が開始される。ここで、各要求メッセージ（部分データ要求）を送信する処理は、他の要求メッセージ（部分データ要求）に対する応答を待たずに実行される。したがって、各部分データを取得する処理は、同時並列的に実行される。
【００８１】
送信部２６が全ての要求メッセージ（部分データ要求）を送信し終えたことを確認すると（Ｓ１３にてＹｅｓ）、監視部２２は、Ｓ１２にて送信した要求メッセージ（部分データ要求）に対するストレージ３からの最初の応答を待ち受ける。すなわち、受信部２１がストレージ３からの最初の応答を受信するまで、受信部２１がストレージ３からの応答を受信したか否かを判定する処理（Ｓ１４）を繰り返す。
【００８２】
受信部２１がストレージ３からの最初の応答（部分データ）を取得したことを確認すると（Ｓ１４にてＹｅｓ）、監視部２２は、全体ヘッダの送信を応答生成部２３に指示する。この指示を受けた応答生成部２３は、全体ヘッダの生成をヘッダ生成部２４に指示すると共に、全体ヘッダの送信を送信部２６に指示する。この指示を受けた送信部２６は、ヘッダ生成部より生成された全体ヘッダを映像再生装置１に送信する（Ｓ１５）。
【００８３】
送信部２６が全体ヘッダの送信を完了したことを確認すると、監視部２２は、最初に取得した部分データの送信を応答生成部２３に指示する。この指示を受けた応答生成部２３は、最初に取得した部分データに対応する部分ヘッダの生成をヘッダ生成部２４に指示すると共に、最初に取得した部分データの送信を送信部２６に指示する。この指示を受けた送信部２６は、最初に取得した部分データを、ヘッダ生成部２４により生成された部分ヘッダと共に映像再生装置１に送信する（１回目のＳ１６）。
【００８４】
その後、監視部２２は、受信部２１がストレージ３からの応答（部分データ）を取得する（Ｓ１８にてＹｅｓ）たびに、取得した部分データの送信を応答生成部２３に指示する。この指示を受けた応答生成部２３は、取得した部分データに対応する部分ヘッダの生成をヘッダ生成部２４に指示すると共に、取得した部分データの送信を送信部２６に指示する。送信部２６は、この指示を受けるたびに、受信部２１が取得した部分データを、ヘッダ生成部２４により生成された部分ヘッダと共に映像再生装置１に送信する（２回目以降のＳ１６）。送信部２６による部分データの送信処理（Ｓ１６）は、再生単位を構成する全ての部分データをストレージ３から取得し終えるまで（Ｓ１７にてＹｅｓ）繰り返される。これにより、１再生単位分のコンテンツデータを構成する全ての部分データを、ストレージ３から取得した順に映像再生装置１に送信することができる。
【００８５】
受信部２１が１再生単位分のコンテンツデータを構成する全ての部分データを受信し終えると（Ｓ１７にてＹｅｓ）、監視部２２は、区切り記号の送信を応答生成部２３に指示する。この指示を受けた応答生成部２３は、区切り記号の生成をフッタ生成部２５に指示すると共に、フッタ生成部２５によって生成された区切り記号の送信を送信部２６に指示する。この指示を受けた送信部２６は、フッタ生成部２５により生成された区切り記号を映像再生装置１に送信する（Ｓ１９）。
【００８６】
〔通信システムの動作例１〕
次に、図１０を用いて、通信システム１００の動作例を説明する。図１０は、通信システム１００の動作例を示すシーケンス図である。図１０に動作例は、映像サーバ２が、１再生単位分のコンテンツデータを構成する全ての部分データを、遅延なく取得できた場合の例である。
【００８７】
図１０では、再生単位が２つの部分データから構成されており、１つ目の部分データ（以下、部分データａと記載する）がストレージ３ａに記憶されており、２つ目の部分データ（以下、部分データｂと記載する）がストレージ３ｂに記憶されている場合を例に説明を行う。また、映像再生装置１が行う処理及び映像サーバ２が行う処理は、それぞれ図６及び図７と同一であるため、同一の番号を付しており、その説明を割愛する。
【００８８】
まず、映像再生装置１は、１再生単位分のコンテンツデータの送信を、映像サーバ２に対して要求する（Ｓ１０１）。次に、映像サーバ２は、要求された再生単位を構成する部分データａ及び部分データｂの提供を、それぞれ、ストレージ３ａ及びストレージ３ｂに対して要求する（Ｓ１０２、Ｓ１０３）。
【００８９】
映像サーバ２は、ストレージ３ｂから部分データｂの取得を完了すると（Ｓ１０４）、全体ヘッダを映像再生装置に送信する（Ｓ１０５）。また、取得した部分データｂを、部分データｂに対応する部分ヘッダ（２’）と共に映像再生装置１に送信する（Ｓ１０６）。
【００９０】
また、映像サーバ２は、残りの部分データａを、ストレージ３ａからの取得（Ｓ１０７）を完了した時点で、部分データａに対応する部分ヘッダ（１’）と共に映像再生装置１に送信する（Ｓ１０８）。
【００９１】
映像サーバ２は、１再生単位分のコンテンツデータを構成する全ての部分データを映像再生装置１に送信し終えると、再生単位の終端を示す区切り記号を映像再生装置１に送信する（Ｓ１０９）。映像再生装置１は、映像サーバ２から区切り記号を受信すると、それまでに受信した部分データａ〜ｂを並び替え（Ｓ８）、復号し、再生する（Ｓ９）。
【００９２】
このように、映像サーバ２は、各再生単位を構成する各部分データを、取得が完了したものから順に映像再生装置１に送信する。ただし、映像サーバ２は、各再生単位を構成する各部分データを、再生順序指定情報を含む部分ヘッダと共に映像再生装置１に送信するので、映像再生装置１は、この再生順序指定情報を参照することによって、受信した部分データを並べ替えて再生することができる。
【００９３】
この点について、図１１を参照してもう少し詳しく説明する。ここでは、再生単位が３つの部分データから構成されており、再生順序は、部分データａ、部分データｂ、部分データｃの順であるものとする。
【００９４】
映像サーバ２は、これら３つの部分データａ〜ｃを、部分データａ、部分データｃ、部分データｂの順にストレージ３ａ〜３ｃから取得した場合、これら３つの部分データａ〜ｃを、部分データａ、部分データｃ、部分データｂの順に映像再生装置１に送信する。このため、映像サーバ２が映像再生装置１に部分データａ〜ｃを送信する送信順序、すなわち、映像再生装置１が映像サーバ２から部分データａ〜ｃを受信する受信順序は、部分データａ〜ｃの再生順序ではなく、映像サーバ２がストレージ３ａ〜３ｃから部分データａ〜ｃを取得した取得順序になる。
【００９５】
ただし、映像サーバ２は、部分データａの再生順序（１番目）を指定する再生順序指定情報を含む部分ヘッダ（１’）を、部分データａと共に映像再生装置１に送信する。同様に、部分データｃの再生順序（３番目）を指定する再生順序指定情報を含む部分ヘッダ（３’）を、部分データｃと共に映像再生装置１に送信し、部分データｂの再生順序（２番目）を指定する再生順序指定情報を含む部分ヘッダ（２’）を、部分データｂと共に映像再生装置１に送信する。このため、映像再生装置１は、これら３つの部分ヘッダ（１’）〜（３’）を参照することによって、３つの部分データａ〜ｃを、再生順（部分データａ、部分データｂ、部分データｃの順）に並べ替えることができる。
【００９６】
〔通信システムの動作例２〕
次に、図１２を用いて、通信システム１００の他の動作例を説明する。図１２は、通信システム１００の他の動作例を示すシーケンス図である。図１２に示す例は、映像サーバ２が、１再生単位分のコンテンツデータを構成するある部分データを、遅延なく取得できなかった場合の例である。
【００９７】
なお、図１２では、図１０と同様にコンテンツデータが２つの部分データから構成されている場合を例に説明を行う。映像再生装置１が行う処理及び映像サーバ２が行う処理は、それぞれ図６及び図７と同一であるため、同一の番号を付しており、その説明を割愛する。また、図１０と同一の処理についても、同一の番号を付している。
【００９８】
まず、映像再生装置１は、ユーザにより指定されたコンテンツデータの送信を、映像サーバ２に対して要求する（Ｓ１０１）。次に、映像サーバ２は、要求されたコンテンツデータを構成する部分データａ及び部分データｂの提供を、それぞれ、ストレージ３ａ及びストレージ３ｂに対して要求する（Ｓ１０２、Ｓ１０３）。
【００９９】
映像サーバ２は、ストレージ３ｂから部分データｂの取得を完了すると（Ｓ１０４）、全体ヘッダを映像再生装置に送信する（Ｓ１０５）。また、映像サーバ２は、取得が完了した部分データｂを、その部分データｂに対応する部分ヘッダ（２’）と共に映像再生装置１に送信する（Ｓ１０６）。
【０１００】
図１２に示した例では、部分データｂの受信に遅延が生じたため、映像再生装置１がセッション断（部分データの受信中断）を映像サーバ２に通知している（Ｓ１１０）。セッション断の通知を受けると、映像サーバ２は、残り部分データａの送信を取り止める。一方、映像再生装置１は、セッション断を通知すると、それまでに受信した部分データを並び替え（Ｓ８）、復号し、再生する（Ｓ９）。ただし、本例では、それまでに受信した部分データが部分データａのみなので、映像再生装置１は、並び替えを行うことなく、受信した部分データａを復号し、再生する（Ｓ９）。
【０１０１】
〔要求メッセージの具体例〕
続いて、図１０及び図１２のシーケンス図で使用される要求メッセージの詳細を図８（ａ）に基づいて説明する。図８（ａ）は、図１０及び図１２にて映像再生装置１から映像サーバ２に対して送信される要求メッセージ（コンテンツデータ要求）の一例であるＨＴＴＰメッセージを示す図である。
【０１０２】
図８（ａ）に示すように、要求メッセージは、リクエストラインと「Accept」フィールドとにより構成される。リクエストラインの末尾には、このメッセージがＨＴＴＰメッセージであることを示す「HTTP/1.1」が記述され、リクエストラインの先頭には、このメッセージが取得メソッド（要求メッセージ）であることを示す「ＧＥＴ」が記述される。また、これらの間には、取得しようとする再生単位を指定する再生単位指定情報（/content1/4000000/1）が記述される。「Accept」フィールドは、映像再生装置１が処理可能なデータ形式を示すフィールドであり、ここでは、マルチパート形式で送信されるフラグメント化されたＭＰＥＧ４が指定されている。
【０１０３】
〔応答メッセージの具体例〕
次に、図１０及び図１２のシーケンス図で使用される応答メッセージ（１再生単位分のコンテンツデータ）の詳細を図９に基づいて説明する。図９は、図１０及び図１２にて映像サーバ２から映像再生装置１に送信される応答メッセージ（１再生単位分のコンテンツデータ）の一例であるＨＴＴＰメッセージを示す図である。
【０１０４】
図９に示すように、映像サーバ２から映像再生装置１に対して送信されるＨＴＴＰメッセージには、ステータスライン、全体ヘッダ情報、部分ヘッダ、部分データ、及び、区切り記号が含まれる。
【０１０５】
ステータスラインには、このメッセージがＨＴＴＰメッセージであることを示す「HTTP/1.1」と、リクエストを正常に受け付けたことを示すステータス番号「200」とが記述されている。
【０１０６】
全体ヘッダには、この応答メッセージにて伝送される再生単位（メディアセグメント）の所在を示す情報（Content-Location）や、この応答メッセージにて伝送される再生単位がコンテンツデータにおける何番目の再生単位であるかを示す情報（「X-Media-Fragment-Index」）などが含まれる。
【０１０７】
部分ヘッダには、対応する部分データのプレゼンテーションタイムを示すタイムスタンプ（X-timestamp）や、対応する部分データを示すビットレートを示す情報（X-Bitrate）などが含まれる。本例においては、このタイムスタンプを、対応する部分データが何番目に再生すべき部分データであるかを指定する再生順序指定情報として使用する。
【０１０８】
部分データは、符号化データを分割することにより得られたバイナリデータ（ムービーフラグメント）である。なお、「{binary-data: movie fragment t}」(t=0,1,2,・・)の部分は、各部分データのバイナリデータを簡略化して記載したものであり、データ構造の内部に「{binary-data:…}」というテキストデータが含まれることを意味するものではない。
【０１０９】
各再生単位の最後には、区切り記号が含まれる。本例においては、部分データの並べ替えの実行を映像再生装置１に指示するコマンド（「X-ProcessCommand: sort」）を区切り記号として用いている。なお、区切り記号はこれに限定されず、区切り記号であることを識別可能な文字列であればよい。例えば、図１３では、区切り記号として文字列「０」を用いている。
【０１１０】
図１３は、図１０及び図１２にて映像サーバ２から映像再生装置１に対して送信される応答メッセージの他の例である。図１３では、ＨＴＴＰにおけるチャンク転送を用いている。
【０１１１】
図１３の全体ヘッダには、チャンク転送であることを示す「Transfer-Encoding: chunked」が記述されている。また、この応答メッセージにおいては、上述したように、区切り記号として「０」を用いている。
【０１１２】
なお、図１１では、最後の部分データ（再生単位を構成する部分データのうち、一番最後に映像サーバ２から映像再生装置１に送信される部分データ）が映像サーバ２から映像再生装置１に送信された後に、区切り記号を送信する構成を示したが、区切り記号の送信方法はこれに限定されない。例えば、最後の部分データに対応する部分ヘッダの中に区切り記号を記述する構成をとしてもよい。
【０１１３】
この点について、図１４を参照してもう少し詳しく説明する。ここでも、再生単位が３つの部分データから構成されており、再生順序は、部分データａ、部分データｂ、部分データｃの順であるものとする。
【０１１４】
映像サーバ２は、ストレージ３ａに記憶されている、部分データａと部分データａに対応する部分ヘッダ（１）とを、最初に取得完了し、部分データｃと部分データｃに対応する部分ヘッダ（３）とを、２番目に取得完了し、部分データｂと部分データｂに対応する部分ヘッダ（２）とを、最後に取得完了する。
【０１１５】
映像サーバ２は、各部分ヘッダにて指定される再生順序にかかわらず、各部分データを受信した順に映像再生装置１に送信するため、映像再生装置１には、部分データａ、部分データｃの順に部分データが送信される。映像サーバ２は、部分データｃが送信された後、部分データｂに対応する部分ヘッダ（２’）に区切り記号を記述し、その後、部分データｂを、映像再生装置１に送信する。
【０１１６】
また、区切り記号は、コンテンツデータを構成する部分データが１つである場合は、送信してもよいし、送信しなくてもよい。
【０１１７】
＜実施の形態２＞
本発明の第２の実施形態について、図１５から図１９を用いて以下に説明する。
【０１１８】
第１の実施形態の通信システムでは、既に説明したように、再生単位毎にコンテンツデータの並び替えを映像再生装置１で行う構成である。このため、バッファ１５のサイズ（以下、「バッファサイズ」とも記す）が再生単位のデータサイズよりも小さい映像再生装置１においては、１再生単位分のコンテンツデータをバッファに格納することができず、コンテンツデータの並び替えに支障をきたす。
【０１１９】
そこで、本実施形態においては、映像再生装置１におけるコンテンツデータの並び替えを、再生単位毎に行うのではなく、映像再生装置１のバッファサイズに応じて設定された小再生単位毎に行う構成を採用する。これにより、映像サーバ２からコンテンツデータの供給を受けるどの映像再生装置１においても、コンテンツデータの並び替えに支障をきたすことがなくなる。
【０１２０】
バッファサイズがＸである映像再生装置１に配信されるコンテンツデータの構成を図１５に示す。図１５に示すように、バッファサイズがＸである映像再生装置１に配信されるコンテンツデータにおいては、各再生単位Ｕiが、映像再生装置１のバッファサイズＸよりもデータサイズの小さい小再生単位（小部分）に分割される。
【０１２１】
〔映像サーバの処理〕
次に、本実施形態の映像サーバ２の処理について、図１６を参照して説明する。図１６は、本実施形態の映像サーバ２における処理の流れを示すフローチャートである。このうち、Ｓ１０〜Ｓ１９の処理は、同一の参照符号を付して図７に示した処理と同一である。ただし、映像再生装置１からの要求メッセージ（コンテンツデータ要求）は、図８（ｂ）に示すように、映像再生装置１のバッファサイズを示すバッファサイズ情報（X-Accept-Buffer-Size）を含む要求メッセージになる。
【０１２２】
Ｓ１０〜Ｓ１９の処理については、図７に示した処理と同一なので、ここでは、主にＳ２０においてリクエスト生成部２７が実行する処理について説明する。
【０１２３】
リクエスト生成部２７は、各小再生単位に含める部分データを、映像再生装置１からの要求メッセージ（コンテンツデータ要求）に含まれているバッファサイズ情報、及び、管理表格納部２８に格納されている管理表を参照して特定する。この際、小再生単位に含める部分データのデータサイズ（管理表に記載）の合計が、映像再生装置１のバッファサイズ（要求メッセージに記載）よりも小さくなるようにする。例えば、バッファサイズ指定情報により指定されたバッファサイズが８Ｍビットであり、各部分データのデータサイズが１Ｍビットである場合、要求された再生単位の先頭から８個の部分データを、最初の小再生単位に含めるべき部分データとして特定する。
【０１２４】
更に、リクエスト生成部２７は、各小再生単位に含めるべき部分データが格納されているストレージ３を、管理表格納部２８に格納されている管理表を参照して特定し、特定したストレージ３（より正確には、特定したストレージを指定するストレージ指定情報）からなるストレージリストを生成する。そして、リクエスト生成部２７は、このストレージリストに含まれる各ストレージ３に対して部分データの提供を要求する要求メッセージ（部分データ要求）を生成する。
【０１２５】
これにより、各小再生単位に含まれる部分データの送信が完了すると（Ｓ１７にてＹｅｓ）、区切り記号が送信される（Ｓ１９）ようになる。映像サーバ２は、このような送信処理を各小再生単位に対して繰り返すことによって、１再生単位分のコンテンツデータの送信を完了する。
【０１２６】
〔通信システムの動作例〕
次に、本実施形態の通信システム１００の動作例について、図１７を参照して説明する。図１７は、通信システム１００におけるコンテンツデータの流れによって、通信システム１００の動作を例示する図である。
【０１２７】
図１７に示す例では、再生単位が６つの部分データにより構成されている。映像再生装置１のバッファサイズをＸ、部分データａのデータサイズをＳａ、部分データｂのデータサイズをＳｂ、…、部分データｆのデータサイズをＳｆとすると、Ｓａ＋Ｓｂ＋Ｓｃ＜Ｘ＜Ｓａ＋Ｓｂ＋Ｓｃ＋Ｓｄが成り立つので、映像サーバ２は、３つの部分データａ〜ｃによって最初の小再生単位を構成する。また、Ｓｄ＜Ｓｄ＋Ｓｅ＜Ｓｄ＋Ｓｅ＋Ｓｆ＜Ｘが成り立つので、映像サーバ２は、残り３つの部分データｄ〜ｆによって２番目の小再生単位を構成する。
【０１２８】
まず、映像サーバ２は、最初の小再生単位を構成する最初の小再生単位を構成する３つの部分データａ〜ｃを、ストレージ３ａ〜３ｃから取得する。最初の小再生単位を構成する３つの部分データａ〜ｃを、部分データａ、部分データｃ、部分データｂの順にストレージ３ａ、ストレージ３ｃ、ストレージ３ｂから取得した場合、映像サーバ２は、これら３つの部分データａ〜ｃを、部分データａ、部分データｃ、部分データｂの順に映像再生装置１に送信する。そして、これら３つの部分データａ〜ｃの送信が完了すると、映像サーバ２は、区切り記号を映像再生装置１に送信する。一方、映像再生装置１は、この区切り記号を受信した時点で、バッファ１５に蓄積されている部分データ、すなわち、最初の小再生単位を構成する３つの部分データａ〜ｃに対する並べ替え処理を実行する。
【０１２９】
次に、映像サーバ２は、２番目の小再生単位を構成する３つの部分データｄ〜ｆを、ストレージ３ｄ〜３ｆから取得する。２番目の小再生単位を構成する３つの部分データｄ〜ｆを、部分データｅ、部分データｄ、部分データｆの順にストレージ３ｅ、ストレージ３ｄ、ストレージ３ｆから取得した場合、映像サーバ２は、これら３つの部分データｄ〜ｆを、部分データｅ、部分データｄ、部分データｆの順に映像再生装置１に送信する。そして、これら３つの部分データｅ〜ｆの送信が完了すると、映像サーバ２は、区切り記号を映像再生装置１に送信する。一方、映像再生装置１は、この区切り記号を受信した時点で、バッファ１５に蓄積されている部分データ、すなわち、２番目の小再生単位を構成する３つの部分データａ〜ｃに対する並べ替え処理を実行する。
【０１３０】
このように、本実施形態の映像サーバ２は、各小再生単位を構成する部分データの送信が完了する度に、映像再生装置１に対して区切り記号を送信する。一方、本実施形態の映像再生装置１は、区切り記号を受信する度に、バッファ１５に蓄積されている部分データの並べ替えを行う。このため、並べ替え処理を待つ部分データのデータサイズの合計を、映像再生装置１のバッファサイズ以下に抑えることができる。
【０１３１】
なお、映像サーバ２が２番目の小再生単位を構成する部分データｄ〜ｆの取得（ストレージ３ｄ〜３ｆからの取得）を開始するのは、最初の小再生単位を構成する部分データａ〜ｃの取得（ストレージ３ａ〜３ｃからの取得）を完了、又は、中断した後である。すなわち、最初の小再生単位を構成する部分データａ〜ｃの送信（映像再生装置１への送信）が完了、又は、中断する前に、２番目の小再生単位を構成する部分データｄ〜ｆの送信（映像再生装置１への送信）が開始されることはない。したがって、並べ替え処理を待つ部分データのデータサイズの合計が、映像再生装置１のバッファサイズを超えることはない。
【０１３２】
なお、図１７では、最後の部分データ（各小再生単位を構成する部分データのうちで取得順序が最後のもの）の後に、区切り記号を送信する構成を示したが、区切り記号の送信方法はこれに限定されない。例えば、図１８に示すように、最後の部分データに対応する部分ヘッダの中に記号を記述する構成を採用してもよい。
【０１３３】
図１８に示す送信方法に対応する応答メッセージの構成例を図１９に示す。図１９に示す応答メッセージに含まれる２つの部分ヘッダのうち、上の方の部分ヘッダが区切り号の記述されていない部分ヘッダであり、下の方の部分ヘッダが区切り記号の記述された部分ヘッダである。この実現例では、部分データの並べ替えの実行を映像再生装置１に指示するコマンド（「X-ProcessCommand: sort」）を、下の方の部分ヘッダに区切り記号として記述している。
【０１３４】
＜実施の形態３＞
本発明の第３の実施形態について、図２０から図２４を用いて以下に説明する。
【０１３５】
第１の実施形態の通信システムにおいては、既に説明したように、符号化データを分割することにより得られた各断片を部分データとして映像再生装置１に送信する構成を採用している。したがって、ある部分データが欠落すると、映像再生装置１は、その部分データを含む再生単位の復号に支障をきたす。
【０１３６】
そこで、本実施形態においては、符号化データを分割することにより得られた各断片にＦＥＣ（Forward Error Correction）符号などの消失訂正符号を付加してパケットを生成し、複数のパケットからなるパケット群を部分データとして映像再生装置１に送信する構成を採用する。これにより、ある部分データが欠落しても、映像再生装置１は、残りの部分データから再生単位を復号することができる。
【０１３７】
このような部分データの生成方法の一例を図２０に示す。同図に示した例では、符号化データを複数の再生単位Ｕ1，Ｕ2，…，ＵMに分割したうえで、各再生単位Ｕiから４つの部分データＵia，Ｕib，Ｕic，Ｕidを生成している。この際、各再生単位から生成される４つの部分データＵia，Ｕib，Ｕic，Ｕidには、これら４つの部分データＵia，Ｕib，Ｕic，Ｕidのうちの何れか１つが欠落しても、再生単位Ｕiを再現できるように冗長性が付加されている。
【０１３８】
なお、ここでは、各再生単位から４つの部分データを生成し、これら４つの部分データのうち３つの部分データから再生単位を再現可能とする構成を示したが、これに限定されるものではない。すなわち、各再生単位からＭ個（Ｍは２以上の自然数）の部分データを生成し、これらＭ個の部分データのうちＮ個（ＮはＭより小さい自然数）の部分データから再生単位を再現可能とする構成に一般化することができる。
【０１３９】
例えば、各再生単位Ｕiから生成される４つの部分データＵia，Ｕib，Ｕic，Ｕidを、それぞれ、４つのストレージ３ａ〜３ｄに分散して蓄積しておけば、これら４つのストレージ３ａ〜３ｄのうちの何れか１つに障害が発生して読み出しが遅れても、映像再生装置１における映像再生に支障をきたさないコンテンツ配信システムを構築することができる。
【０１４０】
なお、このような冗長性を付加することができるＦＥＣ符号の例としては、リード・ソロモン符号、ＬＤＰＣ（Low Density Parity Check）符号、Raptor FECなどが挙げられる。なお、ＦＥＣ（Forward Error Correction）符号を用いて符号化データから消失訂正可能なパケット群を生成する技術は、ＶＯＤなどの映像配信分野で既に実用化がなされている技術であるため、これ以上の詳細な説明は割愛する。
【０１４１】
〔映像再生装置の処理〕
次に、本実施形態の映像再生装置１における処理の流れについて、図２１を参照して説明する。図２１は、本実施形態の映像再生装置１における処理の流れを示すフローチャートである。このうち、Ｓ１〜Ｓ９の処理は、同一の参照符号を付して図６に示した処理と同一である。
【０１４２】
ただし、本実施形態の映像サーバ２は、後述するように、各再生単位を構成する全ての部分データ（図２０の例では４つの部分データＵia，Ｕib，Ｕic，Ｕid）の送信を完了した段階で区切り記号を送信するのではなく、各再生単位を復元するのに必要な部分データ（図２０のでは４つの部分データＵia，Ｕib，Ｕic，Ｕidのうちの何れか３つ）の送信を完了した段階で区切り記号を送信する。したがって、映像再生装置１が１再生単位分の部分データを受信し終えたと判定する（Ｓ５にてＹｅｓ）のは、その再生単位を構成する全ての部分データの受信を完了した時点ではなく、その再生単位を復元するのに必要な部分データの受信を完了した時点となる。
【０１４３】
各再生単位を復元するのに必要な部分データの受信を完了すると（Ｓ５にてＹｅｓ）、並び替え処理部１６が、バッファ１５に蓄積された部分データを、各部分データに対応する部分ヘッダ（再生順序指定情報を含む）を参照して並べ替え（Ｓ８）、更に、復号部１４が、並べ替え処理部１６によって並べ替えられた部分データをＦＥＣ復号することによって、符号化データを復元する（Ｓ２２）。その後、復号部１４が、復元された符号化データからコンテンツを復号し、再生部１９が、復号部１４によって復号されたコンテンツを表示する（Ｓ９）。
【０１４４】
〔映像サーバの処理〕
次に、本実施形態の映像サーバ２における処理の流れについて、図２２を参照して説明する。図２２は、本実施形態の映像サーバ２における処理の流れを示すフローチャートである。このうち、Ｓ１１〜Ｓ１９の処理は、同一の参照符号を付して図７に示した処理と同一である。
【０１４５】
図２２に示すフローチャートは、各再生単位を復元するのに必要な個数の部分データを送信し終えた段階で区切り記号を送信するように、図７に示すフローチャートを変形したものである。すなわち、以下に説明する処理Ｓ２３〜Ｓ２５を図７に示すフローチャートに追加し、送信済の部分データの個数を示すカウンタの値が再生単位を復元するのに必要な部分データの個数に達した段階で、区切り記号の送信処理Ｓ１９を実行するようにしたものである。
【０１４６】
処理Ｓ２３は、全体ヘッダの送信処理Ｓ１５を完了した後、送信済の部分データの個数を示すカウンタをクリアする処理である。具体的には、カウンタの値を０に初期化する処理である。処理Ｓ２４は、各部分データの送信処理Ｓ１６が完了する度に、上述したカウンタの値を更新する処理である。具体的には、カウンタの値を１だけインクリメントする処理である。処理Ｓ２５は、上述したカウンタの更新処理Ｓ２４が完了する度に、更新後のカウンタの値が閾値よりも小さいか否かを判定する処理である。更新後のカウンタの値が再生単位を復元するのに必要な部分データの個数に達した場合、区切り記号の送信処理Ｓ１９が実行される。前記閾値は、各再生単位を復元するのに必要な部分データの個数として予め設定された値であり、使用するＦＥＣの符号化率（元の符号化データのサイズと消失訂正符号のサイズとの比）によって決まる。
【０１４７】
〔応答メッセージの具体例〕
図２３は、図２２の処理を行う映像サーバ２から映像再生装置１に送信される応答メッセージ（１再生単位分のコンテンツデータ）を例示した図である。図２３に示す応答メッセージは、マルチパート形式のＨＴＴＰメッセージとして構成されており、ステータスライン、全体ヘッダ情報、部分ヘッダ、部分データ、及び、区切り記号が含まれる。
【０１４８】
この応答メッセージの特徴的な点は、コンテンツデータの符号化方法を指定する符号化方法指定情報（「Content-Encoding」）がヘッダに記述されており、符号化方法としてＦＥＣ符号（Raptor FEC）が指定されている点である。また、部分データの並べ替え処理の実行とＦＥＣ復号の実行とを映像再生装置１に指示するコマンド（「X-ProcessCommand: sort, raptor_dec」）が、各再生単位の終端を示す区切り記号として用いている点である。
【０１４９】
なお、区切り記号として用いるコマンドは、区切り記号を受信した段階で映像再生装置１が実行すべき処理を指定するものであればよく、図２３に示した例に限定されない。例えば、図２３に示した例は、並べ替え処理とＦＥＣ復号処理とが別個の処理として実装されている場合に、これら２つの処理の実行を明示的に指示するものであるが、並べ替え処理がＦＥＣ復号処理の一部として実装されている場合には、並べ替え処理の実行を指示する「sort」という記載は不要になる。
【０１５０】
なお、本実施形態において映像サーバ２から映像再生装置１に送信される応答メッセージも、図１３にて説明したようにチャンク転送を用いた応答メッセージとしてもよい。また、区切り記号は、図１９にて説明したように最後の部分データに対応する部分ヘッダ内に記述するようにしてもよい。
【０１５１】
＜実施形態１、２、３の応用例＞
上記各実施形態では、ＨＴＴＰメッセージを用いてコンテンツデータの要求及び送信を行う例を示したが、この例に限られず、コンテンツデータの要求及び送信に用いられる任意のメッセージが適用可能である。
【０１５２】
また、上記各実施形態では、映像サーバ２が、各部分データの提供を要求する要求メッセージ（部分データ要求）を１つのストレージ（その部分データが格納されているストレージとして予め管理表に登録された１つのストレージ）に送信する構成を採用しているが、本発明はこれに限定されるものではない。例えば、映像サーバ２が、各部分データの提供を要求する要求メッセージ（部分データ要求）をＮ台のストレージに送信する構成を採用してもよい（Ｎ≧２）。つまり、各部分データをＮ台のストレージから並列的に取得する構成を採用してもよい。このような構成が好適なケースとしては、コンテンツデータを構成する各部分データが上記Ｎ台のストレージのうちの少なくとも１台（２台以上が望ましい）に蓄積されているようなケースが挙げられる。この場合、映像サーバ２は、上記Ｎ台のストレージのうちの何れか１台から部分データが提供された時点で（他のＮ−１台のストレージからの部分データの提供を待たずに）、提供された部分データを映像再生装置１に送信することが望ましい。これにより、映像再生装置１に対するコンテンツデータの提供をより円滑に実行することが可能になる。また、処理に余裕のあるストレージを選択して要求メッセージを送信するようにしてもよい。
【０１５３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１５４】
最後に、映像再生装置１、映像サーバ２、及びストレージ３の各ブロック、特に制御部１３、監視部１８、監視部２２、監視部３１は、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０１５５】
後者の場合、映像再生装置１、映像サーバ２、及びストレージ３は、各機能を実現するプログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを展開するＲＡＭ（Random Access Memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである映像再生装置１、映像サーバ２、及びストレージ３の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記映像再生装置１、映像サーバ２、及びストレージ３に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１５６】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable logic device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０１５７】
また、上記プログラムコードは、通信ネットワークを介して映像再生装置１、映像サーバ２、及びストレージ３に供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（High Data Rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【０１５８】
（本発明の好ましい形態）
本発明に係る送信装置において、上記部分データ取得手段は、上記他の装置から上記コンテンツデータの特定部分の送信を要求されると、該特定部分に属する部分データを並列的に上記１又は複数の記憶装置から取得するものであり、上記部分データ送信手段は、上記特定部分に属する部分データを上記他の装置に送信し終えた後、あるいは、該特定部分に属する部分データのうち、最後に送信する部分データに関連付けて、該特定部分の送信が完了したことを示す情報を上記他の装置に送信する、ことが好ましい。
【０１５９】
上記構成によれば、他の装置は、コンテンツデータを構成する各部分（特定部分）を構成する部分データを、遅滞なく受信することができる。
【０１６０】
本発明に係る送信装置において、上記部分データ取得手段は、上記他の装置から上記コンテンツデータの特定部分の送信を要求されると、該特定部分を分割することにより得られた各小部分に属する部分データを並列的に上記１又は複数の記憶装置から取得するものであり、上記部分データ送信手段は、各小部分に属する部分データを上記他の装置に送信し終える度に、あるいは、該小部分に属する部分データのうち、最後に送信する部分データに関連付けて、該小部分の送信が完了したことを示す情報を上記他の装置に送信するものである、ことが好ましい。
【０１６１】
上記の構成によれば、他の装置は、コンテンツデータを構成する各部分（特定部分）を構成する部分データを小部分毎に並び替えることができる。したがって、上記の構成は、並び替えの対象となる部分データを格納するバッファのサイズが小さい場合に有利である。
【０１６２】
本発明に係る送信装置において、上記他の装置からの要求には、該他の装置のバッファサイズを示すバッファサイズ指定情報が含まれており、上記部分データ取得手段は、各小部分に属する部分データのデータサイズの合計が上記バッファサイズ指定情報により指定されたバッファサイズよりも小さくなるように上記特定部分を分割する、ことが好ましい。
【０１６３】
上記の構成によれば、並び替えの対象となる部分データを格納するバッファのサイズがどのようなサイズであっても、他の装置は、部分データの並び替えを支障なく実行することができる。
【０１６４】
本発明に係る送信装置において、上記部分データ取得手段は、上記他の装置から上記コンテンツデータの特定部分の送信を要求されると、該特定部分を符号化することによって得られたＭ個の部分データであって、消失訂正によりＮ個（Ｎ＜Ｍ）の部分データから該特定部分を復元可能なＭ個の部分データを並列的に上記１又は複数の記憶装置から取得するものであり、上記部分データ送信手段は、上記部分データ取得手段が取得するＭ個の部分データのうち、先に取得が完了したＮ個の部分データを取得が完了した順に上記他の装置に送信するものであり、該Ｎ個の部分データを上記他の装置に送信し終えた後、あるいは、該Ｎ個の部分データのうち、最後に送信する部分データに関連付けて、該特定部分の送信が完了したことを示す情報を上記他の装置に送信する、ことが好ましい。
【０１６５】
上記の構成によれば、コンテンツデータが消失訂正可能に符号化されている場合に、より効率的にコンテンツデータを送信することができる。
【０１６６】
本発明に係る送信装置において、上記部分データ送信手段は、上記特定部分を構成する部分データ、及び、該部分データの送信が完了したことを示す情報を、マルチパート形式のＨＴＴＰメッセージとして送信する、ことが好ましい。
【０１６７】
上記の構成によれば、１つの要求に対して送信する複数の部分データを、１つのＨＴＴＰメッセージとして送信することができる。
【０１６８】
なお、上述した送信装置と受信装置とを含む通信システムも本発明の範疇に含まれる。
【０１６９】
また、上述した送信装置から送信されるコンテンツデータのデータ構造（すなわち、コンテンツデータを構成する複数の部分データと、上記複数の部分データの各々に関連付けられた再生順序指定情報であって、該部分データの再生順序を指定する再生順序指定情報と、を含んでいることを特徴とするコンテンツデータのデータ構造）も、本発明の範疇に含まれる。
【０１７０】
更に、コンピュータを上述した送信装置として動作させるためのプログラム、コンピュータを上述した受信装置として動作させるためのプログラム、及び、これらのプログラムが記録されているコンピュータ読み取り可能な記録媒体も本発明の範疇に含まれる。
【産業上の利用可能性】
【０１７１】
本発明は、通信ネットワークを介したコンテンツデータの送信又は受信を行う装置に利用することができる。
【符号の説明】
【０１７２】
１００    通信システム
１          映像再生装置
１１          リクエスト生成部
１２          送信部
１３          制御部
１４          復号部
１５          バッファ
１６          並び替え処理部（部分データ並び替え手段）
１７          受信部（部分データ受信手段）
１８          監視部
１９          再生部
２          映像サーバ
２１          受信部（部分データ取得手段）
２２          監視部
２３          応答生成部
２４          ヘッダ生成部
２５          フッタ生成部
２６          送信部（部分データ送信手段）
２７          リクエスト生成部
２８          管理表格納部
３          ストレージ
３ａ〜３ｆ  ストレージ
３１          監視部
３２          読み出し処理部
３３          蓄積媒体（記憶装置）
３４          送信部
３５          応答生成部
３６          受信部
【図１】
2012011473.tif 000003
【図２】
2012011473.tif 000004
【図３】
2012011473.tif 000005
【図４】
2012011473.tif 000006
【図５】
2012011473.tif 000007
【図６】
2012011473.tif 000008
【図７】
2012011473.tif 000009
【図８】
2012011473.tif 000010
【図９】
2012011473.tif 000011
【図１０】
2012011473.tif 000012
【図１１】
2012011473.tif 000013
【図１２】
2012011473.tif 000014
【図１３】
2012011473.tif 000015
【図１４】
2012011473.tif 000016
【図１５】
2012011473.tif 000017
【図１６】
2012011473.tif 000018
【図１７】
2012011473.tif 000019
【図１８】
2012011473.tif 000020
【図１９】
2012011473.tif 000021
【図２０】
2012011473.tif 000022
【図２１】
2012011473.tif 000023
【図２２】
2012011473.tif 000024
【図２３】
2012011473.tif 000025
【図２４】
2012011473.tif 000026
【国際調査報告】
2012011473.tif 000027
2012011473.tif 000028
2012011473.tif 000029
2012011473.tif 000030