(57)【要約】【課題】多視点メディアデータをクライアント端末に配信する際に、キャッシュサーバからの読み出し速度を向上させること。【解決手段】前記キャッシュサーバが送信を要求する前記多視点メディアデータを、前記コード情報に基づき前記オリジナルデータ保存部から読み出し、前記タイムスタンプに対して時系列に前記キャッシュサーバへ送信するデータ抽出部と、前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するインデックスファイル生成部を備えることを特徴とする。【選択図】図１
2011249865.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュサーバを介してクライアント端末と接続されるコンテンツサーバにおいて、
異なる視点における複数の多視点メディアデータを、前記多視点メディアデータに与えられた時間に関する情報に従って時系列に保存するとともに、各前記多視点メディアデータを、各視点を示す視点ＩＤ、前記時間に関する情報を示すタイムスタンプ、および前記多視点メディアデータのデータ位置により特定するためのコード情報を前記多視点メディアデータに対応付けて保存するオリジナルデータ保存部と、
前記キャッシュサーバが送信を要求する前記多視点メディアデータを、前記コード情報に基づき前記オリジナルデータ保存部から読み出し、前記タイムスタンプに対して時系列に前記キャッシュサーバへ送信するデータ抽出部と、
前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するインデックスファイル生成部を備えることを特徴とするコンテンツサーバ。
【請求項２】
前記コード情報は、
前記多視点メディアデータが時系列に連続して１つのデータとして構成されている際の各多視点メディアデータの先頭の位置を示す前記データ位置と、前記タイムスタンプと、前記視点ＩＤと、前記多視点メディアデータが映像データあるいは音声データであることを示すメディアデータ種別を含むことを特徴とする請求項１に記載のコンテンツサーバ。
【請求項３】
コンテンツサーバに保存されているコンテンツを、キャッシュサーバを利用してクライアント端末に配信するコンテンツ配信システムであって、
前記コンテンツサーバは、
異なる視点における複数の多視点メディアデータを、前記多視点メディアデータに与えられた時間に関する情報に従って時系列に保存するとともに、各前記多視点メディアデータを、各視点を示す視点ＩＤ、前記時間に関する情報を示すタイムスタンプ、および前記多視点メディアデータのデータ位置により特定するためのコード情報を前記多視点メディアデータに対応付けて保存するオリジナルデータ保存部と、
前記キャッシュサーバが送信を要求する前記多視点メディアデータを、前記コード情報に基づき前記オリジナルデータ保存部から読み出し、前記タイムスタンプに対して時系列に前記キャッシュサーバへ送信するデータ抽出部と、
前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するインデックスファイル生成部を備え、
前記キャッシュサーバは、
前記コンテンツサーバから同一の前記多視点メディアデータを重複して受信した場合、当該重複している部分の多視点メディアデータを削除して時系列に並びかえるとともに、前記インデックスファイルのうち前記削除した多視点メディアデータに対応するコード情報を削除して前記コード情報における前記データ位置を前記時系列に並び替えられた順番に応じて変更した前記インデックスファイルをキャッシュデータ保存部に保存するデータ保存部を備えることを特徴とするコンテンツ配信システム。
【請求項４】
前記データ保存部は、
前記コード情報に含まれる情報のうち、前記タイムスタンプ、前記視点ＩＤ、および、前記多視点メディアデータが映像データあるいは音声データであることを示すメディアデータ種別の全てが同一である前記コード情報と対応する多視点メディアデータを前記重複している同一の多視点メディアデータであると判断することを特徴とする請求項３に記載のコンテンツ配信システム。
【請求項５】
コンテンツサーバに保存されているコンテンツを、キャッシュサーバを介してクライアント端末に配信するコンテンツ配信方法において、
前記クライアント端末から配信が要求されるコンテンツを示す要求情報をキャッシュサーバを介して受信するステップと、
異なる視点における複数の多視点メディアデータを、前記多視点メディアデータに与えられた時間に関する情報に従って時系列に保存するとともに、各前記多視点メディアデータを、各視点を示す視点ＩＤ、前記時間に関する情報を示すタイムスタンプ、および前記多視点メディアデータのデータ位置により特定するためのコード情報を前記多視点メディアデータに対応付けて保存するオリジナルデータ保存部を参照して、前記要求情報に含まれる前記視点ＩＤおよび前記タイムスタンプと対応する前記多視点メディアデータを読み出すステップと、
前記読み出した多視点メディアデータを、前記タイムスタンプに対して時系列に前記キャッシュサーバへ送信するステップと、
前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して、前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するステップとを備えることを特徴とするコンテンツ配信方法。
【請求項６】
コンピュータを、
異なる視点における複数の多視点メディアデータを、前記多視点メディアデータに与えられた時間に関する情報に従って時系列に保存するとともに、各前記多視点メディアデータを、各視点を示す視点ＩＤ、前記時間に関する情報を示すタイムスタンプ、および前記多視点メディアデータのデータ位置により特定するためのコード情報を前記多視点メディアデータに対応付けて保存するオリジナルデータ保存手段、
前記キャッシュサーバが送信を要求する前記多視点メディアデータを、前記コード情報に基づき前記オリジナルデータ保存部から読み出し、前記タイムスタンプに対して時系列に前記キャッシュサーバへ送信するデータ抽出手段、
前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するインデックスファイル生成手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多視点画像データを、ネットワークを介してストリーミング配信するコンテンツサーバ、コンテンツ配信システム、コンテンツ配信方法、およびプログラムに関するものである。
【背景技術】
【０００２】
例えば、映像データや音声データが符号化された映像／音声符号化データをストリーミング配信する際に、クライアント端末は、符号化データのオリジナルを保管するコンテンツサーバに直接符号化データの配信の要求をするのではなく、キャッシュサーバに対して符号化データの配信を要求するものがある。
【０００３】
このキャッシュサーバは、例えばカメラ１台によって撮影された画像を示す単視点画像データがコンテンツサーバに保存されている場合、例えばカメラが撮影した日時や時刻を示すタイムスタンプと対応付けられた符号化データの配信要求をクライアント端末から受信し、このタイムスタンプに基づき、単視点画像データを自身のメモリから読み出して配信する。
【０００４】
ここでは、例えば、同じ日時かつ同じ時刻に撮影されることで同一のタイムスタンプと対応付けられている映像データのうち、１台のカメラで撮影された画像を単視点画像という。
例えば、単視点画像を対象に、クライアント端末からキャッシュサーバへの単視点画像データの要求があった場合、キャッシュサーバは、この要求されているコンテンツデータが自身のメモリ内に存在するかどうかを判断して、存在する場合、メモリから読み出したコンテンツデータをクライアント端末に配信する。
一方、要求されているコンテンツデータがキャッシュサーバのメモリ内に存在しない（キャッシュされていない）場合、キャッシュサーバは、コンテンツサーバに当該コンテンツデータの配信を要求してコンテンツサーバから受信したデータを、キャッシュサーバがクライアントに配信する。同時に、キャッシュサーバは、コンテンツサーバから受信したコンテンツデータを自身のメモリ内に保管する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２５６３２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば多視点画像の符号化データのように、同一タイムスタンプが付与されている異なる視点の符号化データをコンテンツサーバから受信し、キャッシュサーバに保存する場合、キャッシュサーバは、各視点の符号化データを読み出すために、符号化データをデコード等しなければならず、高速読み出しができない問題があった。
これは、多視点画像の符号化データでは、同じタイムスタンプでも視点ＩＤ毎にデータが配置されているため、ある視点ＩＤのデータを継続して読み出す場合でも、順次読み出しではなく、視点ＩＤ毎のランダムアクセスが発生する。このため、キャッシュされた多視点映像符号化データを視点ＩＤ毎に読み出すためには、指定されたタイムスタンプと視点ＩＤに基づき符号化データを読み出すためのインデックスファイルが別途必要となるためである。
【０００７】
本発明は、上記課題を解決するものであり、クライアント端末に配信する際の読み出し速度を向上させることができるコンテンツサーバ、コンテンツ配信システム、コンテンツ配信方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を鑑み、本発明に係るコンテンツサーバは、キャッシュサーバを介してクライアント端末と接続されるコンテンツサーバにおいて、異なる視点における複数の多視点メディアデータを、前記多視点メディアデータに与えられた時間に関する情報に従って時系列に保存するとともに、各前記多視点メディアデータを、各視点を示す視点ＩＤ、前記時間に関する情報を示すタイムスタンプ、および前記多視点メディアデータのデータ位置により特定するためのコード情報を前記多視点メディアデータに対応付けて保存するオリジナルデータ保存部と、前記キャッシュサーバが送信を要求する前記多視点メディアデータを、前記コード情報に基づき前記オリジナルデータ保存部から読み出し、前記タイムスタンプに対して時系列に前記キャッシュサーバへ送信するデータ抽出部と、前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するインデックスファイル生成部を備えることを特徴とする。
【０００９】
また、上述のコンテンツサーバにおいて、前記コード情報は、前記多視点メディアデータが時系列に連続して１つのデータとして構成されている際の各多視点メディアデータの先頭の位置を示す前記データ位置と、前記タイムスタンプと、前記視点ＩＤと、前記多視点メディアデータが映像データあるいは音声データであることを示すメディアデータ種別を含むことを特徴とする。
【００１０】
上述の課題を鑑み、本発明に係るコンテンツ配信システムは、コンテンツサーバに保存されているコンテンツを、キャッシュサーバを利用してクライアント端末に配信するコンテンツ配信システムであって、前記コンテンツサーバは、異なる視点における複数の多視点メディアデータを、前記多視点メディアデータに与えられた時間に関する情報に従って時系列に保存するとともに、各前記多視点メディアデータを、各視点を示す視点ＩＤ、前記時間に関する情報を示すタイムスタンプ、および前記多視点メディアデータのデータ位置により特定するためのコード情報を前記多視点メディアデータに対応付けて保存するオリジナルデータ保存部と、前記キャッシュサーバが送信を要求する前記多視点メディアデータを、前記コード情報に基づき前記オリジナルデータ保存部から読み出し、前記タイムスタンプに対して時系列に前記キャッシュサーバへ送信するデータ抽出部と、前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するインデックスファイル生成部を備え、前記キャッシュサーバは、前記コンテンツサーバから同一の前記多視点メディアデータを重複して受信した場合、当該重複している部分の多視点メディアデータを削除して時系列に並びかえるとともに、前記インデックスファイルのうち前記削除した多視点メディアデータに対応するコード情報を削除して前記コード情報における前記データ位置を前記時系列に並び替えられた順番に応じて変更した前記インデックスファイルをキャッシュデータ保存部に保存するデータ保存部を備えることを特徴とする。
【００１１】
また、上述のコンテンツ配信システムにおいて、前記データ保存部は、前記コード情報に含まれる情報のうち、前記タイムスタンプ、前記視点ＩＤ、および、前記多視点メディアデータが映像データあるいは音声データであることを示すメディアデータ種別の全てが同一である前記コード情報と対応する多視点メディアデータを前記重複している同一の多視点メディアデータであると判断することを特徴とする。
【００１２】
上述の課題を鑑み、本発明に係るコンテンツ配信方法は、コンテンツサーバに保存されているコンテンツを、キャッシュサーバを介してクライアント端末に配信するコンテンツ配信方法において、前記クライアント端末から配信が要求されるコンテンツを示す要求情報をキャッシュサーバを介して受信するステップと、異なる視点における複数の多視点メディアデータを、前記多視点メディアデータに与えられた時間に関する情報に従って時系列に保存するとともに、各前記多視点メディアデータを、各視点を示す視点ＩＤ、前記時間に関する情報を示すタイムスタンプ、および前記多視点メディアデータのデータ位置により特定するためのコード情報を前記多視点メディアデータに対応付けて保存するオリジナルデータ保存部を参照して、前記要求情報に含まれる前記視点ＩＤおよび前記タイムスタンプと対応する前記多視点メディアデータを読み出すステップと、前記読み出した多視点メディアデータを、前記タイムスタンプに対して時系列に前記キャッシュサーバへ送信するステップと、前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して、前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するステップとを備えることを特徴とする。
【００１３】
上述の課題を鑑み、本発明に係るプログラムは、コンピュータを、異なる視点における複数の多視点メディアデータを、前記多視点メディアデータに与えられた時間に関する情報に従って時系列に保存するとともに、各前記多視点メディアデータを、各視点を示す視点ＩＤ、前記時間に関する情報を示すタイムスタンプ、および前記多視点メディアデータのデータ位置により特定するためのコード情報を前記多視点メディアデータに対応付けて保存するオリジナルデータ保存手段、前記キャッシュサーバが送信を要求する前記多視点メディアデータを、前記コード情報に基づき前記オリジナルデータ保存部から読み出し、前記タイムスタンプに対して時系列に記キャッシュサーバへ送信するデータ抽出手段、前記キャッシュサーバに送信した前記多視点メディアデータに対応する前記コード情報を前記オリジナルデータ保存部から読み出して前記タイムスタンプに対して時系列に並び換えるとともに、前記コード情報におけるデータ位置情報を並び替えられた順番に応じて変更し、前記キャッシュサーバに送信する前記多視点メディアデータに対応する前記コード情報を含むインデックスファイルを生成するインデックスファイル生成手段として機能させるためのプログラムであることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、クライアント端末に配信する際のキャッシュサーバにおけるキャッシュされた多視点メディアデータの読み出し速度を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態にかかるコンテンツ配信システムの一例を示す概略図である。
【図２】本発明の実施形態にかかるコンテンツ配信システムに含まれる装置の各構成の一例を示すブロック図である。
【図３】本発明の実施形態にかかるインデックスファイルの一例について説明するための図である。
【図４】本発明の実施形態にかかるインデックスファイルの生成処理の一例について説明する図である。
【図５】本発明の実施形態にかかるインデックスファイルの生成方法の一例について示すフローチャートである。
【図６】本発明の実施形態にかかるキャッシュデータ整形処理の一例について説明するための図である。
【図７】本発明の実施形態にかかるキャッシュサーバ整形処理の具体例を説明するための図である。
【図８】本発明の実施形態にかかるキャッシュサーバ整形処理後の統合処理の例を説明するための図である。
【発明を実施するための形態】
【００１６】
［第１実施形態］
以下、本発明の実施形態について図面を参照しながら説明する。図１は、本発明の第１実施形態にかかるコンテンツ配信システムの一例を示す概略図である。
本実施形態に係るコンテンツ配信システムは、コンテンツサーバ１と、複数のキャッシュサーバ３と、複数のクライアント端末５を含む。
複数のキャッシュサーバ３は、複数のキャッシュサーバＣＳ（１）、ＣＳ（２）、・・・、ＣＳ（ｘ）により構成されている。
複数のクライアント端末５は、複数のクライアント端末ＣＬ（１）、ＣＬ（２）、・・・、ＣＬ（ｙ）により構成されている。
【００１７】
コンテンツサーバ１は、複数のキャッシュサーバＣＳ（１）、ＣＳ（２）、・・・、ＣＳ（ｘ）と、専用ネットワークを介して接続されている。
複数のキャッシュサーバＣＳ（１）、ＣＳ（２）、・・・、ＣＳ（ｘ）は、インターネットを介して、複数のクライアント端末ＣＬ（１）、ＣＬ（２）、・・・、ＣＬ（ｙ）と接続されている。
【００１８】
次に、図２を参照して、コンテンツ配信システムに含まれる装置の各構成の一例について説明する。図２は、コンテンツ配信システムに含まれる装置の各構成の一例を示すブロック図である。
【００１９】
図２に示す通り、クライアント端末５は、ストリーム要求部５１と、ストリーム受信部５２とを含む。ストリーム要求部５１は、配信を要求する多視点画像メディアデータを示す要求情報をキャッシュサーバ３に送信する。ストリーム受信部５２は、要求の多視点画像の符号化データを、キャッシュサーバ３から受信する。
この要求情報は、多視点画像メディアデータを特定する情報であって、例えば、多視点画像メディアデータの時間に関する情報を示すタイムスタンプＴと、多視点画像メディアデータの視点を示す視点ＩＤ（ Ｉｄｅｎｔｉｔｙ Ｄｏｃｕｍｅｎｔ ）と、多視点画像メディアデータが映像あるいは音声であることを示すメディアデータ種別を含む。このタイムスタンプＴは、例えば、多視点画像メディアデータが撮影および録音された日時を示す情報であってもよく、視点ＩＤは、多視点画像メディアデータが撮影および録音されたカメラを示す情報であってもよい。
【００２０】
なお、タイムスタンプＴは、撮影された日時を示す情報に限らず、当該多視点画像メディアデータがコンテンツサーバ１に登録された日時を示す情報等であってもよい。また、視点ＩＤは、同一のタイムスタンプＴが付された多視点画像メディアデータにおいて異なる視点（カメラ）において得られたものを識別する情報であって、例えば、同一対象物を同じタイミングで異なる視点から別のカメラが撮像した多視点画像メディアデータを識別するものであってもよい。さらにメディアデータ種別は、動画の映像に限られず、静止画像を示す情報であってもよい。
【００２１】
このクライアント端末５は、図示しないが、操作部や出力部等を有し、ユーザが操作部を介して配信を指示した多視点画像データの配信を要求する要求情報をストリーム要求部５１が送信する。また、この出力部が、ストリーム受信部５２の受信した多視点メディアデータの符号化データを復号して、多視点画像メディアデータの画像や音声を出力する。
【００２２】
キャッシュサーバ３は、要求受信部３１と、キャッシュデータ保存部３２と、キャッシュデータ判定抽出部３３と、要求送信部３４と、データ受信部３５と、データ保存部３６と、一次保存部３７と、ストリーム送信部３８を備える。
【００２３】
要求受信部３１は、クライアント端末５から送信される要求情報を受信し、キャッシュデータ判定抽出部３３に出力する。
キャッシュデータ保存部３２は、コンテンツサーバ１から予め受信している多視点画像メディアデータの符号化データ（以下、ＣＳデータという）に、データ保存部３６によってキャッシュデータ整形処理がなされたインデックスファイルを対応付けて保存する。この多視点画像メディアデータの符号化データは、タイムスタンプＴに従って時系列に並べられた複数の時分割データにより構成されている。なお、ここで、ＣＳデータとは、後述する整形処理がなされたキャッシュデータをいう。
このインデックスファイルとは、キャッシュデータ保存部３６に保存されているＣＳデータを読み出す際の見出しとなる情報であって、例えば、データ位置、タイムスタンプＴ、視点ＩＤおよびメディアデータ種別に基づき、各ＣＳデータの各時分割データが保存されている所在を特定するものである。
【００２４】
なお、キャッシュデータ整形処理は、詳細については後述するが、コンテンツサーバ１から受信した多視点画像メディアデータにおいて時分割データの時系列の配列に対応するインデックスファイルを、キャッシュサーバ３に保存する多視点画像メディアデータにおける時分割データの時系列の配列に対応するインデックスファイルに整形する処理である。
【００２５】
キャッシュデータ判定抽出部３３は、要求受信部３１から入力する要求情報に基づき、インデックスファイルを参照して、当該要求情報に含まれるタイムスタンプＴおよび視点ＩＤと対応付けられているＣＳデータが、キャッシュデータ保存部３２に保存されているか否かを判定する。
このキャッシュデータ判定抽出部３３は、要求情報に対応するＣＳデータがキャッシュデータ保存部３２に保存されていることを判定した場合、当該ＣＳデータをキャッシュデータ保存部３２から読み出し、ストリーム送信部３８に出力する。
一方、要求情報に対応するＣＳデータがキャッシュデータ保存部３２に保存されていないことを判定した場合、キャッシュデータ判定抽出部３３は、入力する要求情報を要求送信部３４に出力する。
【００２６】
要求送信部３４は、キャッシュデータ判定抽出部３３から入力する要求情報をコンテンツサーバ１に送信する。
データ受信部３５は、コンテンツサーバ１から受信する多視点画像メディアデータの符号化データと、当該多視点画像メディアデータの符号化データに対応するインデックスファイルを受信し、データ保存部３６に出力する。
【００２７】
データ保存部３６は、データ受信部３５から入力する多視点画像メディアデータの符号化データとインデックスファイルを一次保存部３７に一時的に保存する。このデータ保存部３６は、一定時間が経過した場合、あるいは一次保存部３７に保存されているデータ量が一定量に達した場合、一次保存部３７に保存されている情報を読み出し、キャッシュデータ整形処理を行う。なお、キャッシュデータ整形処理の詳細については後述する。
【００２８】
データ保存部３６は、キャッシュデータ整形処理を行った後に得られるインデックスファイルと、多視点画像メディアデータであるＣＳデータとを対応付けて保存する。
また、データ保存部３６は、キャッシュデータ判定抽出部３３がキャッシュデータ保存部３２に要求情報に対応するＣＳデータが保存されていないと判断した場合であって、当該要求情報に対応する多視点画像メディアデータの符号化データをデータ受信部３５を介してコンテンツサーバ１から受信した場合、受信した多視点画像メディアデータの符号化データとインデックスファイルを一次保存部３７に一時的に保存するとともに、多視点画像メディアデータの符号化データをストリーム送信部３８に出力する。
【００２９】
一次保存部３７は、データ保存部３６から入力する多視点画像メディアデータの符号化データとインデックスファイルを一時的に保存する記憶部である。
ストリーム送信部３８は、データ保存部３６から入力する多視点画像メディアデータの符号化データ、およびキャッシュデータ判定抽出部３３から入力する多視点画像メディアデータの符号化データ（ＣＳデータ）を、クライアント端末５のストリーム受信部５２に送信する。
【００３０】
コンテンツサーバ１は、受信部１１と、オリジナルデータ保存部１２と、データ抽出部１３と、送信部１４と、インデックスファイル生成部１５を備える。
受信部１１は、キャッシュサーバ３の要求送信部３４から要求情報を受信し、データ抽出部１３に出力する。
オリジナルデータ保存部１２は、異なる視点における複数の多視点画像メディアデータの符号化データをタイムスタンプＴに従って時系列に保存するとともに、各多視点画像メディアデータの符号化データを少なくとも視点ＩＤおよびデータ位置により特定するためのＳｔａｒｔＣｏｄｅ情報を多視点画像メディアデータの符号化データに対応付けて保存する。
【００３１】
データ抽出部１３は、受信部１１から入力する要求情報が示すタイムスタンプＴ、視点ＩＤおよびメディアデータ種別に対応する多視点画像メディアデータの符号化データを、ＳｔａｒｔＣｏｄｅ情報に基づき、オリジナルデータ保存部１２から検索によって得る。このデータ抽出部１３は、この要求されている多視点画像メディアデータの符号化データを送信部１４に出力するとともに、対応するタイムスタンプＴ、視点ＩＤおよびメディアデータ種別をインデックスファイル生成部１５に出力する。
【００３２】
インデックスファイル生成部１４は、データ抽出部１３から入力するタイムスタンプＴ、視点ＩＤおよびメディアデータ種別に基づき、オリジナルデータ保存部１２に保管されているＳｔａｒｔＣｏｄｅ情報よりインデックスファイルを生成して、送信部１５に出力する。なお、インデックスファイルの生成処理の詳細については、後述する。
送信部１５は、データ抽出部１３から入力する多視点画像メディアデータの符号化データと、インデックスファイル生成部１４から入力するインデックスファイルを、キャッシュサーバ３に送信する。
【００３３】
次に、図３を参照して、本実施形態に係るインデックスファイルの一例について説明する。図３は、インデックスファイルの一例について説明するための図である。
図３（ａ）に示す通り、インデックスファイルに含まれるＳｔａｒｔＣｏｄｅ情報のデータ構成は、“データ位置，データサイズ，タイムスタンプＴ，視点ＩＤ，メディアデータ種別”であって、この５つのデータを１行として、この順番に並べられる。なお、ＳｔａｒｔＣｏｄｅ情報において、データ位置を示す情報をＡｎ、データサイズを示す情報をＢｎ、タイムスタンプＴを示す情報をＣｎ、視点ＩＤを示す情報をＤｎ、メディアデータ種別を示す情報をＥｎとする。ｎ（ｎ＝１，２，３，・・・Ｎ）は、同一タイムスタンプＴにおける時分割データの数に相当し、Ｎが最大行数である。
【００３４】
このＳｔａｒｔＣｏｄｅ情報の一例として、図３（ｂ）に示すように、“１２００００，１０００，１００．０００，１，１”があるとする。これは、メディアデータ種別が“１”で、多視点画像メディアデータが映像データであることを示す。この映像データは、視点ＩＤが“１”のカメラによって撮影された映像を示すオリジナルデータのうち、先頭から１２００００ｂｙｔｅスキップした後の１０００ｂｙｔｅのデータであることを示す。また、この多視点画像メディアデータは、タイムスタンプＴが“１００秒目”のデータである。
【００３５】
また、オリジナルデータ保存部１２に保存されている多視点画像メディアデータのオリジナルデータは、例えば、図３（ｃ）に示すようなＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５と予め対応付けられている。
図３（ｃ）には、オリジナルデータのうち、タイムスタンプＴが共通する多視点画像メディアデータに対応するＳｔａｒｔＣｏｄｅ情報の例を示す。なお、この多視点画像メディアデータは、タイムスタンプＴに従って時分割された時分割データである。
このオリジナルデータは、タイムスタンプＴ＝１００において、視点ＩＤ１〜４に対応する多視点画像メディアデータのオリジナルデータであって、視点ＩＤ１〜４の順番で映像データの後に音声データをつなげたデータである。このオリジナルデータには、視点ＩＤ１〜４における映像データを示すＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ４と、視点ＩＤ１における音声データを示すＳｔａｒｔＣｏｄｅ情報Ｃ５を含むインデックスファイルが対応付けられている。
【００３６】
具体的に説明すると、多視点画像メディアデータのオリジナルデータのうち、先頭から１２００００ｂｙｔｅスキップした後の１０００ｂｙｔｅのデータが視点ＩＤ１の映像データである。先頭から１２１０００ｂｙｔｅスキップした後の１１００ｂｙｔｅのデータが視点ＩＤ２の映像データである。先頭から１２２１００ｂｙｔｅスキップした後の１２００ｂｙｔｅのデータが視点ＩＤ３の映像データである。先頭から１２３３００ｂｙｔｅスキップした後の１０００ｂｙｔｅのデータが視点ＩＤ４の映像データである。先頭から１２４３００ｂｙｔｅスキップした後の５０ｂｙｔｅのデータが視点ＩＤ１の音声データである。
【００３７】
このＳｔａｒｔＣｏｄｅ情報は、多視点画像メディアデータがオリジナルデータ保存部１２に保存される際に、各多視点画像メディアデータに対応するタイムスタンプＴ、視点ＩＤおよびメディアデータ種別の組み合わせ毎に、例えばインデックスファイル生成部１４によって作成される。なお、配信開始時点では、多視点画像メディアデータの符号化データに対応付けて、オリジナルデータ保存部１２に保管されている。
【００３８】
次に、図４を参照して、インデックスファイル生成部１４によるインデックスファイルの生成処理の一例について説明する。図４は、インデックスファイルの生成処理の一例について説明する図である。
ここでは、視点ＩＤ１〜４の多視点画像メディアデータを含むオリジナルデータのうち、視点ＩＤ１、４に対応する多視点画像メディアデータの配信がクライアント端末５から要求された場合を例に説明する。
【００３９】
図４（ａ）には、インデックスファイル生成部１４に入力されるＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５を示す。ここでは、データ抽出部１３が、要求情報に含まれるタイムスタンプＴに基づき、例えば、タイムスタンプＴ＝１００を含むＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５と、このＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５と対応付けられている多視点画像メディアデータの符号化データを読み出す。この読み出した情報のうち、このデータ抽出部１３は、ＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５をインデックスファイル生成部１４に出力する。
【００４０】
このインデックスファイル生成部１４は、図４（ｂ）に示す通り、入力したＳｔａｒｔＣｏｄｅ情報に基づき、インデックスファイルを生成する。
（１）具体的に説明すると、インデックスファイル生成部１４は、データ抽出部１３から入力するＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５のうち、配信が要求されていない視点ＩＤ２、３のＳｔａｒｔＣｏｄｅ情報Ｃ２、Ｃ３を削除する。
（２）インデックスファイル生成部１４は、残されたＳｔａｒｔＣｏｄｅ情報Ｃ１、Ｃ４、Ｃ５のうち、データ位置が最も先頭（０ｂｙｔｅ）に近いＳｔａｒｔＣｏｄｅ情報のデータ位置を先頭（０ｂｙｔｅ）に設定する。ここでは、インデックスファイル生成部１４が、ＳｔａｒｔＣｏｄｅ情報Ｃ１のテータ位置を０ｂｙｔｅに書き換える。
【００４１】
（３）インデックスファイル生成部１４は、（２）でデータ位置を書き換えたＳｔａｒｔＣｏｄｅ情報よりも、“データ位置”が後ろであるＳｔａｒｔＣｏｄｅ情報の“データ位置”を、先頭に書き換えられた“データ位置”の後ろに連続するように、その“データ位置”を書き換える。つまり、インデックスファイル生成部１４は、「１つ前のデータのデータ位置＋１つ前のデータのデータサイズ」に従って、“データ位置”を求めて書き換える。これを一般式に書き換えると、以下のようになる。
＜式１＞
データ位置Ａｎ＝データ位置Ａｎ−１＋データサイズＢｎ−１
【００４２】
ここでは、インデックスファイル生成部１４が、ＳｔａｒｔＣｏｄｅ情報Ｃ４の“データ位置”が、ＳｔａｒｔＣｏｄｅ情報Ｃ１の後ろに連続するように、ＳｔａｒｔＣｏｄｅ情報Ｃ１のデータ位置（０ｂｙｔｅ）＋ＳｔａｒｔＣｏｄｅ情報Ｃ１のデータサイズ（１０００ｂｙｔｅ）により算出される「１０００ｂｙｔｅ」を“データ位置”に設定し、ＳｔａｒｔＣｏｄｅ情報Ｃ４を書き換える。
また、インデックスファイル生成部１４は、ＳｔａｒｔＣｏｄｅ情報Ｃ５の“データ位置”が、ＳｔａｒｔＣｏｄｅ情報Ｃ４の後ろに連続するように、ＳｔａｒｔＣｏｄｅ情報Ｃ４のデータ位置（１０００ｂｙｔｅ）＋ＳｔａｒｔＣｏｄｅ情報Ｃ４のデータサイズ（１０００ｂｙｔｅ）により算出される「２０００ｂｙｔｅ」を“データ位置”に設定し、ＳｔａｒｔＣｏｄｅ情報Ｃ５を書き換える。
【００４３】
インデックスファイル生成部１４は、（１）〜（３）の処理を行い、図４（ｃ）に示すようなタイムスタンプＴ＝１００に対応するＳｔａｒｔＣｏｄｅ情報Ｃ１１、Ｃ１２、Ｃ１３を得る。
次いで、インデックスファイル生成部１４は、タイムスタンプＴ＝１００の次の時間のＳｔａｒｔＣｏｄｅ情報についても、上述と同様にして、配信が要求されていない視点ＩＤ２、３のＳｔａｒｔＣｏｄｅ情報Ｃ２、Ｃ３を削除するとともに、データ位置をつめる処理を行う。なお、タイムスタンプＴ＝１００の次の時間の最初のデータのデータ位置は、２０５０ｂｙｔｅとなる。よって、インデックスファイル生成部１４は、上記（２）における処理で、ＳｔａｒｔＣｏｄｅ情報Ｃ１のテータ位置を、ＳｔａｒｔＣｏｄｅ情報Ｃ１３の後ろに続く位置（２０５０ｂｙｔｅ）に書き換える処理を行う。
【００４４】
次に、図５を参照して、図４に示したインデックスファイル生成部１４のインデックスファイルの生成方法の一例について説明する。図５は、インデックスファイルの生成方法の一例について示すフローチャートである。
【００４５】
はじめに、データ位置の設定値Ａが、先頭位置（０ｂｙｔｅ）に設定される（ステップＳＴ１）。
データ抽出部１３が、例えば、要求情報に含まれるタイムスタンプＴ１に基づき、オリジナルデータ保存部１２から、タイムスタンプＴ１に対応する多視点画像メディアデータの符号化データおよびＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５を読み出す。そして、データ抽出部１３は、要求情報に含まれる視点ＩＤ１，４に基づき、読み出した多視点画像メディアデータの符号化データのうち、視点ＩＤ１，４に対応する符号化データのみを、送信部１５に出力する。この送信部１５は、入力する多視点画像メディアデータの符号化データをキャッシュサーバ３に送信する（ステップＳＴ２）。
このデータ抽出部１３は、ＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５に基づき、キャッシュサーバ３に送信していない多視点画像メディアデータ（未配信データ）の視点ＩＤ２，３を示す未配信情報をインデックスファイル生成部１４に出力する。
【００４６】
次いで、データ抽出部１３は、タイムスタンプＴ１を含むＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５をオリジナルデータ保存部１２から読み出し、インデックスファイル生成部１４に出力する（ステップＳＴ３）。
そして、インデックスファイル生成部１４は、ステップＳＴ２において、データ抽出部１３から入力する未配信情報に基づき、キャッシュサーバ３に送信していない多視点画像メディアデータ（未配信データ）を検出する（ステップＳＴ４）。
【００４７】
次いで、インデックスファイル生成部は、入力したＳｔａｒｔＣｏｄｅ情報Ｃ１〜Ｃ５のうち、未配信データに対応する視点ＩＤ２、３のＳｔａｒｔＣｏｄｅ情報Ｃ２、Ｃ３を削除する（ステップＳＴ５）。
【００４８】
ここで、インデックスファイル生成部１４は、削除されずに残ったＳｔａｒｔＣｏｄｅ情報Ｃ１、Ｃ４、Ｃ５における各項目を、それぞれ、データ位置をＡｎ、データサイズをＢｎ、タイムスタンプＴをＣｎ、視点ＩＤをＤｎ、メディアデータ種別をＥｎ（ｎ＝１，２，３・・・Ｎ：Ｎは最大行数）と設定する（ステップＳＴ６）。
そして、インデックスファイル生成部１４は、残されたＳｔａｒｔＣｏｄｅ情報Ｃ１、Ｃ４、Ｃ５のうち、“データ位置”が最も先頭（０ｂｙｔｅ）に近いＳｔａｒｔＣｏｄｅ情報Ｃ１の“データ位置” Ａ１を、設定値Ａに設定する（ステップＳＴ７）。つまり、インデックスファイル生成部１４が、ＳｔａｒｔＣｏｄｅ情報Ｃ１の“テータ位置”Ａ１を０ｂｙｔｅに書き換える。
【００４９】
次いで、インデックスファイル生成部１４は、“データ位置”を書き換えたＳｔａｒｔＣｏｄｅ情報Ｃ１よりも、“データ位置”が後ろであるＳｔａｒｔＣｏｄｅ情報ＩＣ４の“データ位置”Ａ２を、先頭に書き換えられた“データ位置”Ａ１の後ろに連続するように書き換える（ステップＳＴ８）。
つまり、インデックスファイル生成部１４は、上記式１に従って、ＳｔａｒｔＣｏｄｅ情報Ｃ４の“データ位置”Ａ２を算出する。
インデックスファイル生成部１４は、ステップＳＴ８の処理により、ＳｔａｒｔＣｏｄｅ情報Ｃ４、Ｃ５の“データ位置”Ａ２、Ａ３として、それぞれ、「１０００ｂｙｔｅ」、「２０００ｂｙｔｅ」を算出する。そして、インデックスファイル生成部１４は、ＳｔａｒｔＣｏｄｅ情報Ｃ４、Ｃ５の“データ位置”Ａ２、Ａ３を、「１０００ｂｙｔｅ」、「２０００ｂｙｔｅ」と書き換える。
【００５０】
次いで、インデックスファイル生成部１４は、インデックスファイルに、“データ位置”を書き換えたＳｔａｒｔＣｏｄｅ情報Ｃ１、Ｃ４、Ｃ５を追加して、データ抽出部１３に出力する（ステップＳＴ９）。
そして、インデックスファイル生成部１４は、設定値Ａを、下記の式に従って算出する（ステップＳＴ１０）。
＜式２＞
設定値Ａ＝最後のデータの“データ位置”ＡＮ＋最後のデータの“データサイズ”ＢＮ
なお、最後のデータとは、ステップＳＴ８において、インデックスファイル生成部１４によって最後に“データ位置”が算出されたＳｔａｒｔＣｏｄｅ情報Ｃ５であって、最も先頭位置（０ｂｙｔｅ）から遠い“データ位置”に位置されているものをいう。
【００５１】
次いで、インデックスファイル生成部１４は、要求情報に基づき、タイムスタンプＴ１の次の時間であるタイムスタンプＴ２に対応するＳｔａｒｔＣｏｄｅ情報についても、上述の処理を行う（ステップＳＴ１１−ＹＥＳ）。
ここで、要求時間に含まれるタイムスタンプＴの全てについてステップＳＴ２〜ＳＴ１０の処理を行った場合、多視点画像メディアデータの配信を継続しないとして（ステップＳＴ１１−ＮＯ）、インデックスファイルの生成処理を終了する。
【００５２】
次に、図６を参照して、データ保存部３６によるキャッシュデータ整形処理の一例について説明する。図６は、キャッシュデータ整形処理の一例について説明するための図である。なお、ここでは、クライアント端末５からタイムスタンプＴ＝ｔ０，ｔ１，ｔ２，・・・，ｔ５まで配信が要求された時点で、タイムスタンプＴ＝ｔ３の途中に戻って、タイムスタンプＴ＝ｔ３，ｔ４までの配信を要求した後、タイムスタンプＴ＝ｔ６に飛んで、タイムスタンプＴ＝ｔ６の多視点画像メディアデータの配信を要求した例について説明する。
【００５３】
この操作発生時に、キャッシュサーバ３にてキャッシュされた多視点画像メディアデータのインデックスファイルが最新化されていなかった場合、タイムスタンプＴと視点ＩＤとメディアデータ種別が同一の多視点画像メディアデータがキャッシュされる可能性がある。例えば、インデックスファイルの更新間隔が３分で、更新後２分５０秒経った時点で、ユーザが３０秒前のデータを要求した場合、キャッシュサーバにてキャッシュされた多視点画像メディアデータは、インデックスファイルに当該のタイムスタンプＴに対応するＳｔａｒｔＣｏｄｅ情報が無いため使えない。よって、キャッシュサーバ３のキャッシュデータ判定抽出部３３は、コンテンツサーバ１に対して、データの配信を要求してしまう。
【００５４】
（１１）データ保存部３６は、コンテンツサーバ１から受信する多視点画像メディアデータの符号化データ（ここでは、ＣＳデータと示す）とインデックスファイルを、一次保存部３７に一時的に保存する。そして、キャッシュサーバ整形処理が開始されると、データ保存部３６は、一次保存部３７から、ＣＳデータとインデックスファイルを読み出し、このインデックスファイルのタイムスタンプＴに従って、ＣＳデータを区切る（時分割する）。
ここで、ＣＳデータは、図６に示す通り、タイムスタンプＴ＝ｔ０，ｔ１，ｔ２，・・・，ｔ５に対応する時分割データＤ０〜Ｄ５、タイムスタンプＴ＝ｔ３，ｔ４に対応する時分割データＤ３´，Ｄ４´、タイムスタンプＴ＝ｔ６に対応する時分割データＤ６の順番で連結されている。
【００５５】
（１２）次いで、データ保存部３６は、タイムスタンプＴの順番に従って、区切った時分割データを時系列に並べ替える。
ここで、データ保存部３６は、時分割データＤ３´を時分割データＤ３の後ろに、時分割データＤ４´を時分割データＤ４の後ろに、並び替える。
（１３）そして、データ保存部３６は、同一のタイムスタンプＴに対応する時分割データが複数存在する場合、当該時分割データに含まれる同一の視点ＩＤかつ同一のメディアデータ種別と対応付けられている時分割データのいずれか一方を削除する。
この処理については、図７を参照して後で説明する。
【００５６】
（１４）次いで、データ保存部３６は、同一のタイムスタンプＴに対応する時分割データが複数存在するとして重複するデータが削除され、残った時分割データにおいて、視点ＩＤおよびメディアデータ種別の順番にデータを並び替える。
この処理については、図７を参照して後で説明する。
そして、データ保存部３６は、処理を終了する。
【００５７】
次いで、このキャッシュサーバ整形処理において、インデックスファイルを整形する具体例について、図７を参照して説明する。図７は、キャッシュサーバ整形処理の具体例を説明するための図である。なお、クライアント端末５から要求された多視点画像メディアデータは、図６に示す例と同様である。
【００５８】
（２１）データ保存部３６は、キャッシュサーバ整形処理が開始されると、一次保存部３７から、インデックスファイルを読み出し、このインデックスファイルに含まれるＳｔａｒｔＣｏｄｅ情報をタイムスタンプＴ毎に区切る。
【００５９】
（２２）次いで、データ保存部３６は、タイムスタンプＴの順番に従って、時系列に、区切ったＳｔａｒｔＣｏｄｅ情報を並べ替える。
データ保存部３６は、同一のタイムスタンプＴに対応する複数の時分割データが存在する場合、当該時分割データに対応するＳｔａｒｔＣｏｄｅ情報について、以下のような処理を行う。ここでは、複数の時分割データが存在する場合として、タイムスタンプＴ＝ｔ３（Ｃｎ＝１００．０００）に対応するＳｔａｒｔＣｏｄｅ情報Ｃ１１〜Ｃ１５、Ｃ２１〜Ｃ２６を例に説明する。
ＳｔａｒｔＣｏｄｅ情報Ｃ１１〜Ｃ１５は、例えば、時分割データＤ３のように、同一のタイムスタンプＴに対応する複数の時分割データが存在する際の１回目の配信要求によって配信されたＳｔａｒｔＣｏｄｅ情報である。また、ＳｔａｒｔＣｏｄｅ情報Ｃ２１〜Ｃ２６は、例えば、時分割データＤ３´のように、同一のタイムスタンプＴに対応する複数の時分割データが存在する際の２回目の配信要求によって配信されたＳｔａｒｔＣｏｄｅ情報である。
このデータ保存部３６は、ＳｔａｒｔＣｏｄｅ情報Ｃ１１〜Ｃ１５、Ｃ２１〜Ｃ２６を、視点ＩＤの昇順に、かつ、映像を先に音声を後とする順番に並び替える。ここでは、図示の通り、視点ＩＤ１、２、４、６の順番で映像データのＳｔａｒｔＣｏｄｅ情報Ｃ１１〜Ｃ１４、次いで視点ＩＤ１の音声データのＳｔａｒｔＣｏｄｅ情報Ｃ１５、次いで視点ＩＤ１、２、３、４、５の順番で映像データのＳｔａｒｔＣｏｄｅ情報Ｃ１１〜Ｃ２５、次いで視点ＩＤ１の音声データのＳｔａｒｔＣｏｄｅ情報Ｃ２６の順番に、データ保存部３６が並び替える。
【００６０】
（２３）そして、データ保存部３６は、同一の視点ＩＤかつ同一のメディアデータ種別に対応するＳｔａｒｔＣｏｄｅ情報が複数存在する場合、当該ＳｔａｒｔＣｏｄｅ情報のいずれか一方を削除するとともに、このＳｔａｒｔＣｏｄｅ情報に対応する時分割データも削除する。
ここでは、視点ＩＤ１、３、４の映像データのＳｔａｒｔＣｏｄｅ情報Ｃ１１〜Ｃ１３とＳｔａｒｔＣｏｄｅ情報Ｃ２１、Ｃ２３、Ｃ２４が重複しており、視点ＩＤ１の音声データのＳｔａｒｔＣｏｄｅ情報Ｃ１５とＳｔａｒｔＣｏｄｅ情報Ｃ２６が重複しているため、いずれか一方を削除する。例えば、２回目の配信要求によって配信されたＳｔａｒｔＣｏｄｅ情報Ｃ２１、Ｃ２３、Ｃ２４、Ｃ２６を、データ保存部３６は削除する。
また、データ保存部３６は、削除するＳｔａｒｔＣｏｄｅ情報に対応する時分割データＤ３´も削除するため、図６の（１２）に示す通り、時分割データＤ３´が減少している。
【００６１】
（２４）次いで、データ保存部３６は、同一のタイムスタンプＴに対応する時分割データが複数存在するとして重複するＳｔａｒｔＣｏｄｅ情報が削除され、残ったＳｔａｒｔＣｏｄｅ情報Ｃ１１〜Ｃ１５、Ｃ２２、Ｃ２５を、視点ＩＤの昇順、かつ、映像を先に音声を後とする順番に並び替える。
このデータ保存部３６は、ＳｔａｒｔＣｏｄｅ情報の並び替えとともに、ＳｔａｒｔＣｏｄｅ情報に対応する時分割データについても、ＳｔａｒｔＣｏｄｅ情報と同様の順番に、つまり、視点ＩＤの昇順、かつ、映像を先に音声を後とする順番に並び替える。
ここでは、ＳｔａｒｔＣｏｄｅ情報Ｃ１１の次にＳｔａｒｔＣｏｄｅ情報Ｃ２２を配置し、ＳｔａｒｔＣｏｄｅ情報Ｃ１３の下にＳｔａｒｔＣｏｄｅ情報２５を配置するように、データ保存部３６が並び替える。
【００６２】
（２５）そして、データ保存部３６は、（２２）〜（２４）の処理を、同一のタイムスタンプＴに対応する時分割データが複数存在するとして重複する全ての時分割データおよびＳｔａｒｔＣｏｄｅ情報について行う。
（２６）次いで、データ保存部３６は、並び替えられたＳｔａｒｔＣｏｄｅ情報のデータ位置を、以下の処理により書き換える。
データ保存部３６は、データ位置の設定値Ａを、先頭位置（０ｂｙｔｅ）に設定し、ＳｔａｒｔＣｏｄｅ情報Ｃ１１〜Ｃ１５、Ｃ２２、Ｃ２５のうち、“データ位置”が最も先頭（０ｂｙｔｅ）に近いＳｔａｒｔＣｏｄｅ情報Ｃ１１の“データ位置”Ａ１を、設定値Ａ＝０に設定する。つまり、データ保存部３６が、ＳｔａｒｔＣｏｄｅ情報Ｃ１１の“テータ位置”Ａ１を０ｂｙｔｅに書き換える。
【００６３】
そして、データ保存部３６は、“データ位置”を書き換えたＳｔａｒｔＣｏｄｅ情報Ｃ１１よりも、“データ位置”が後ろであり、かつ、視点ＩＤが直後のＳｔａｒｔＣｏｄｅ情報Ｃ２２の“データ位置”Ａ２を、先頭に書き換えられた“データ位置”Ａ１の後ろに連続するように書き換える。つまり、データ保存部３６は、上記式１に従って、ＳｔａｒｔＣｏｄｅ情報Ｃ２２の“データ位置”Ａ２を算出する。
データ保存部３６は、この処理により、ＳｔａｒｔＣｏｄｅ情報Ｃ２２の“データ位置”Ａ２として、「１０００ｂｙｔｅ」を算出し、ＳｔａｒｔＣｏｄｅ情報Ｃ２２の“データ位置”Ａ２を、「１０００」と書き換える。
次いで、データ保存部３６は、設定値Ａを、上記式２に従って算出し、次のタイムスタンプＴに対応するＳｔａｒｔＣｏｄｅ情報についても、上述の処理を行う。
【００６４】
（２７）そして、データ保存部３６は、キャッシュデータ整形処理を終了し、当該処理により得られたＣＳデータとＳｔａｒｔＣｏｄｅ情報（インデックスファイル）を、キャッシュデータ保存部３２に書き出し、処理を終了する。
なお、データ保存部３６は、（２６）の処理として、上述したインデックスファイル生成部１４によるインデックスファイルの生成処理と同様にデータ位置をつめる処理を行うものである。
【００６５】
また、データ保存部３６は、キャッシュデータ保存部３２にて、整形された２つのＣＳデータを、１つのＣＳデータとして結合する。ここで、ある１つのＣＳデータは、もう一方のＣＳデータがキャッシュデータ保存部３２に保管された後から、一次保存部３７へ保存が開始され、整形されたものとする。この結合処理は、上述のキャッシュデータ整形処理において、（２３）に対応する重複部分の削除処理がないことを除いて同様の処理である。
【００６６】
（３１）データ保存部３６は、上述と同様にして、キャッシュサーバ整形処理がなされた複数のＣＳデータを、キャッシュデータ保存部３２から読み出し、インデックスファイルのタイムスタンプＴに従って、ＣＳデータを時分割し、複数の時分割データとする。ここでは、ＣＳデータ１、２を読み出す例について説明する。
（３２）次いで、データ保存部３６は、タイムスタンプＴの昇順に、区切った時分割データを時系列に並べ替える。ここでは、タイムスタンプＴ＝ｔ０，ｔ１，ｔ２が重複しており、ＣＳデータ１の時分割データの次にＣＳデータ２の時分割データを配置する。
（３３）そして、データ保存部３６は、時分割データおよびＳｔａｒｔＣｏｄｅ情報を、視点ＩＤの昇順、かつ、映像を先に音声を後とする順番に並び替え、上述同様、ＳｔａｒｔＣｏｄｅ情報のデータ位置を、ＣＳデータの連結順番に対応させて書き換える。
上記の処理により、複数のキャッシュされた多視点画像メディアデータの符号化データを統合することで、コンテンツ管理を簡易にすることができる。
【００６７】
上述の通り、本実施形態に係るコンテンツ配信システムは、コンテンツサーバ１に存在するオリジナルのＳｔａｒｔＣｏｄｅ情報に基づき、キャッシュされる多視点画像メディアデータの符号化データに対応する専用のインデックスファイルを生成するようにした。
また、キャッシュサーバ３は、コンテンツサーバ１によって作成されたインデックスファイルを、キャッシュサーバ３側の保存部で保管するようにした。
上記の処理により、キャッシュサーバ３にてキャッシュされた多視点画像メディアデータの高速読み出しが可能となった。
さらに、あるキャッシュされた多視点画像メディアデータの符号化データのうち、同一のタイムスタンプＴかつ同一の視点ＩＤかつ同一のメディアデータ種別のデータが存在した場合は、１つのデータのみを残し、他の同一データを削除するようにした。
上記の処理により、キャッシュサーバにてキャッシュされた多視点映像符号化データから無駄なデータが削除され、データ保管領域の無駄を排除することができた。
【００６８】
また、コンテンツサーバ１からキャッシュサーバ３への多視点画像メディアデータの符号化データの転送時に、必要となるタイムスタンプＴ、視点ＩＤ、メディアデータ種別に合わせて、部分的にデータを転送することで、コンテンツサーバ１とキャッシュサーバ３の間のネットワーク負荷を低減できる。
さらに、キャッシュサーバ３側で、クライアント端末５から要求のあった多視点画像メディアデータのみを保存することで、コンテンツサーバ１に保存されているコンテンツ全体を保存する場合に比べて、データ保管領域を少なくすることができる。
また、キャッシュサーバ３側で、キャッシュされた多視点画像メディアデータの読み出しを高速化することができる。
さらに、キャッシュサーバ３側で、あるコンテンツに対する重複するデータを含まない多視点画像メディアデータを得ることができ、データ保管領域の無駄を排除することができる。
【００６９】
一方、本実施形態によらない場合、以下のような問題があった。
方法１）クライアント端末からのデータ要求前に、コンテンツサーバからキャッシュサーバへ事前にデータを転送し、キャッシュサーバでデータを保管しておく。クライアントからのデータ要求が有り次第、キャッシュサーバはクライアントにデータを配信する。
ただし、方法１では、要求の無いデータでも常にキャッシュサーバで保持することになるため、データ保管領域の無駄が多い。また、この場合は、キャッシュサーバにおいてコンテンツサーバと同程度のデータ保管領域が必要となり、キャッシュサーバの構成が必要以上に大規模化してしまう。このため、以下の手法が適用されることがある。
【００７０】
方法２）クライアントからキャッシュサーバへの要求があった後、キャッシュサーバに該当するコンテンツデータが存在する場合は、キャッシュサーバよりクライアントにデータを配信する。一方で、該当するコンテンツが存在しない（キャッシュされていない）場合は、コンテンツサーバからキャッシュサーバへデータを転送した上で、キャッシュサーバよりクライアントに配信する。同時に、キャッシュサーバはコンテンツサーバから転送されたデータを保管する。
【００７１】
上記の方法２）を多視点映像符号化データ（複数の視点を含む映像データであって、符号化方式は、例えばＨ．264 Ａｎｎｅｘ Ｈによるものである）に適用した場合、以下の問題点がある。
【００７２】
問題点１）方法２において、例えば、あるクライアント端末Ａが要求する視点（例えば視点１〜５）のデータのみをコンテンツサーバがキャッシュサーバに転送し、キャッシュサーバがクライアントに配信すれば、キャッシュサーバのデータ保管領域の無駄が少なくなる。
また、コンテンツサーバからキャッシュサーバへコンテンツ全体（つまり、全ての視点ＩＤ、メディアデータ種別の多視点画像メディアデータ）を転送した場合に比べて、必要な視点ＩＤ、メディアデータ種別に対応する多視点画像メディアデータを転送するため、ネットワークを流れるデータ量を削減できることから、ネットワークへの負荷を低減できる。
【００７３】
ただし、キャッシュサーバにキャッシュされた多視点画像メディアデータを、高速に読み出すには、キャッシュされた多視点画像メディアデータ専用のＳｔａｒｔＣｏｄｅ情報（インデックスファイル）を準備する必要がある。このインデックスファイルは、本実施形態に係る指定されたタイムスタンプＴと視点ＩＤに基づき符号化データを読み出すためのインデックスファイルのことであり、従来よりキャッシュサーバにキャッシュされた多視点画像メディアデータに対してこのようなインデックスファイルを生成する技術は利用されていない。
これは、多視点画像メディアデータでは、同じタイムスタンプＴでも視点ＩＤ毎にデータが配置されているため、ある視点ＩＤのデータを継続して読み出す場合でも、順次読み出しではなく、視点ＩＤ毎のランダムアクセスが発生する。このため、キャッシュされた多視点映像符号化データ専用に、指定されたタイムスタンプ、視点ＩＤおよびメディアデータ種別にすぐにアクセスできるようなインデックスファイルが別途必要となる。
【００７４】
よって、本発明によらないキャッシュ方式では、符号化データのみキャッシュし、キャッシュされた多視点映像符号化データ専用のインデックスファイルが存在しないため、データの読み出し時に一部をデコードするなどの処理が必要となり、高速読み出しができない。
【００７５】
問題点２）また、方法２において、例えば、あるクライアントＡが要求する視点（例えば視点１〜５）のデータのみをコンテンツサーバがキャッシュサーバに転送し、キャッシュサーバがクライアントに配信していたとする。このとき、クライアントＡが時間方向に戻り、別の視点（例えば、視点３〜８）ＩＤに対応する多視点画像メディアデータを要求したとする。
このとき、キャッシュされた多視点映像符号化データ専用のインデックスファイルの更新が間に合わない場合は、同一タイムスタンプＴで、一部重複（例えば、視点ＩＤ３〜５）するデータが、キャッシュされた多視点画像メディアデータ上に存在する場合がある。このため、同一のタイムスタンプＴで、同一のデータ（上記の例だと視点ＩＤ３〜５）を重複してキャッシュサーバに保管する可能性があり、キャッシュサーバのデータ保存領域を十分に活用できない可能性がある。
【００７６】
また、本発明は上記実施形態に限定されることなく、以下のような構成であってもよい。
例えば、さらにキャッシュサーバ３では、キャッシュされた多視点画像メディアデータ（ＣＳデータ）の読み出しを行うためのＳｔａｒｔＣｏｄｅ情報（インデックスファイル）を得るため、適宜、要求送信部３４よりコンテンツサーバの受信部１１にインデックスファイルを要求する。データ抽出部１３は、インデックスファイル生成部１４からインデックスファイルを受け取り、送信部１５を介してキャッシュサーバ３のデータ受信部３５にインデックスファイルを転送する。データ受信部３５からデータ保存部３６にインデックスファイルを出力し、データ保存部３６が、キャッシュデータ保存部３２に、キャッシュされた多視点画像メディアデータ（ＣＳデータ）とともに保管される。このようにして、キャッシュサーバ３は、適宜、インデックスファイルの更新を、予め決められた時間間隔（例えば３分間）で実行することができる。
【００７７】
なお、上述した第１〜２実施形態において、コンテンツサーバ、キャッシュサーバおよびコンテンツ端末による機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、制御してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００７８】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００７９】
１・・・コンテンツサーバ、３・・・キャッシュサーバ、５・・・クライアント端末、１１・・・受信部、１２・・・オリジナルデータ保存部、１３・・・データ抽出部、１４・・・インデックスファイル生成部、１５・・・送信部、３１・・・要求受信部、３２・・・キャッシュデータ保存部、３３・・・キャッシュデータ判定抽出部、３４・・・要求送信部、３５・・・データ受信部、３６・・・データ保存部、３７・・・一次保存部、３８・・・ストリーム送信部、５１・・・ストリーム要求部、５２・・・ストリーム受信部
【図１】
2011249865.tif 000003
【図２】
2011249865.tif 000004
【図３】
2011249865.tif 000005
【図４】
2011249865.tif 000006
【図５】
2011249865.tif 000007
【図６】
2011249865.tif 000008
【図７】
2011249865.tif 000009
【図８】
2011249865.tif 000010