(57)【要約】  【課題】デコーダがネットワークを介してストリームデータを受信する場合にも、大きな遅延なくストリームデータのタイムシフト配信を可能にする技術を提供すること。  【解決手段】エンコーダ１１０から配信されるストリームデータに蓄積サーバ１２０のインデックス情報生成部１２１が再生開始時刻を特定するためのインデックス情報を生成し、生成したインデックス情報を管理サーバ１４０を介して、配信サーバ１５０に送信し、配信サーバ１５０においてインデックス情報とストリームデータとを関連させてコンテンツ情報としてデコーダ１６０に配信する。【選択図】図１
2007288299.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたエンコーダ、デコーダ及び情報処理装置を備え、前記エンコーダでエンコードするストリームデータを、前記情報処理装置を介して前記デコーダに配信する配信システムであって、
前記情報処理装置は、
前記ストリームデータを予め定められた間隔毎に分けたデータ群毎に、該データ群の再生開始時刻を特定するインデックス情報を順次生成するインデックス情報生成部と、
前記インデックス情報生成部で生成されたインデックス情報、および、該インデックス情報により再生開始時刻が特定された前記データ群、を有するコンテンツ情報を順次生成するコンテンツ情報生成部と、
前記コンテンツ情報を前記デコーダに順次送信する送信部と、を備えること、
を特徴とする配信システム。
【請求項２】
請求項１に記載の配信システムであって、
前記デコーダは、
前記コンテンツ情報に含まれる前記データ群をデコードして動画データとするデコード部と、
前記デコード部でデコードされた動画データ、および、該動画データに対応するインデックス情報、を記憶するデータ記憶部と、
ユーザ端末から再生時刻を指定した再生要求を受け付ける再生要求受付処理部と、
を備え、
前記再生要求受付処理部は、
前記再生時刻に対応する動画データが前記データ記憶部に記憶されている場合には、該動画データを前記ユーザ端末に送信する処理と、
前記再生時刻に対応する動画データが前記データ記憶部に記憶されていない場合には、前記再生時刻に対応する前記コンテンツ情報を前記情報処理装置から取得する処理と、
を制御することを特徴とする配信システム。
【請求項３】
請求項２に記載の配信システムであって、
前記再生要求受付処理部は、前記インデックス情報に含まれる再生開始時刻及び前記動画データのサイズから前記動画データの再生時間を算出し、該再生時間に前記再生時刻が含まれる場合に、前記再生時刻に対応する動画データであると判断すること、
を特徴とする配信システム。
【請求項４】
請求項２に記載の配信システムであって、
前記再生要求受付処理部は、前記再生時刻に対応する動画データが前記データ記憶部に記憶されていない場合には、前記再生時刻を特定したデータ取得要求を前記情報処理装置に送信し、該データ取得要求に対応する前記コンテンツ情報を前記情報処理装置から受信することにより、前記再生時刻に対応する前記コンテンツ情報を取得する処理を制御すること、
を特徴とする配信システム。
【請求項５】
請求項４に記載の配信システムであって、
前記エンコーダは、前記ストリームデータを分割した分割動画データをエンコードしたデータ本体を格納した通信フレームを前記情報処理装置に送信するものであり、
前記通信フレームには、前記分割動画データのサイズが含まれており、
前記インデックス情報生成部は、少なくとも一つ以上の前記データ本体をデータ群として、該データ群に含まれる前記データ本体に対応する前記分割動画データの前記サイズを加算することにより該データ群に対応する動画データのデータサイズを算出し、該データサイズを含む前記インデックス情報を生成するものであり、
前記情報処理装置は、前記インデックス情報に含まれる前記再生開始時刻及び前記データサイズから前記データ群に対応する前記動画データの再生時間を算出し、前記デコーダより受信した前記データ取得要求に含まれる前記再生時刻が前記再生時間に含まれることとなる前記インデックス情報を含む前記コンテンツ情報を前記デコーダに送信すること、
を特徴とする配信システム。
【請求項６】
請求項１に記載の配信システムであって、
前記情報処理装置にネットワークを介して接続された情報記憶装置をさらに備え、
前記情報処理装置は、前記データ群を前記情報記憶装置に記憶するデータ格納部をさらに備え、
前記コンテンツ情報生成部は、前記情報記憶装置から取得した前記データ群を用いて前記コンテンツ情報を生成すること、
を特徴とする配信システム。
【請求項７】
請求項１に記載の配信システムであって、
前記情報処理装置にネットワークを介して接続された情報管理装置をさらに備え、
前記情報処理装置は、前記インデックス情報を前記情報管理装置に送信し、
前記コンテンツ情報生成部は、前記情報管理装置から取得した前記インデックス情報を用いて前記コンテンツ情報を生成すること、
を特徴とする配信システム。
【請求項８】
請求項６に記載の配信システムであって、
前記データ格納部は、
前記情報記憶装置の空きブロックをリスト状に管理し、
前記情報記憶装置から前記情報処理装置に読み込み済みの前記空きブロックのリストのエントリ数を管理し、
前記空きブロックリストのエントリ数が一定数に達するまで、前記空きブロックのリストのエントリを前記情報記憶装置から前記情報処理装置に読み込むスレッドが、まず、前記空きブロックのリストのエントリ数を検査し、当該エントリ数が０であるならばロックを獲得してから前記空きブロックのリストのエントリの読み込み動作を実行し、当該エントリ数が１以上であるならばロックを獲得せずに前記空きブロックのリストのエントリの読み込み動作を実行し、
前記データ群の前記情報記憶装置への格納先を、ロックを獲得後、前記情報処理装置に読み込み済みの空きブロックリストのエントリの先頭を読み込むことで決定すること、
を特徴とする配信システム。
【請求項９】
エンコーダ及びデコーダにネットワークを介して接続され、前記エンコーダでエンコードするストリームデータを前記デコーダに配信する情報処理装置であって、
前記ストリームデータを予め定められた間隔毎に分けたデータ群毎に、該データ群の再生開始時刻を特定するインデックス情報を順次生成するインデックス情報生成部と、
前記インデックス情報生成部で生成されたインデックス情報、および、該インデックス情報により再生開始時刻が特定された前記データ群、を有するコンテンツ情報を順次生成するコンテンツ情報生成部と、
前記コンテンツ情報を前記デコーダに順次送信する送信部と、
を備えることを特徴とする情報処理装置。
【請求項１０】
請求項９に記載の情報処理装置であって、
ネットワークを介して接続された情報記憶装置に前記データ群を記憶する処理を制御するデータ格納部をさらに備え、
前記コンテンツ情報生成部は、前記情報記憶装置から取得した前記データ群を用いて前記コンテンツ情報を生成すること、
を特徴とする情報処理装置。
【請求項１１】
請求項９に記載の情報処理装置であって、
ネットワークを介して接続された情報管理装置に、前記インデックス情報を送信する送信部をさらに備え、
前記コンテンツ情報生成部は、前記情報管理装置から取得した前記インデックス情報を用いて前記コンテンツ情報を生成すること、
を特徴とする情報処理装置。
【請求項１２】
エンコーダ及びデコーダにネットワークを介して接続され、前記エンコーダでエンコードするストリームデータを前記デコーダに配信する情報処理装置が行う配信方法であって、
前記ストリームデータを予め定められた間隔毎に分けたデータ群毎に、該データ群の再生開始時刻を特定するインデックス情報を順次生成するインデックス情報生成過程と、
前記インデックス情報生成過程で生成されたインデックス情報、および、該インデックス情報により再生開始時刻が特定された前記データ群、を有するコンテンツ情報を順次生成するコンテンツ情報生成過程と、
前記コンテンツ情報を前記デコーダに順次送信する送信過程と、
を備えることを特徴とする配信方法。
【請求項１３】
エンコーダ及びデコーダにネットワークを介して接続されたコンピュータを、
前記ストリームデータを予め定められた間隔毎に分けたデータ群毎に、該データ群の再生開始時刻を特定するインデックス情報を順次生成するインデックス情報生成手段、
前記インデックス情報生成手段で生成されたインデックス情報、および、該インデックス情報により再生開始時刻が特定された前記データ群、を有するコンテンツ情報を順次生成するコンテンツ情報生成手段、
前記コンテンツ情報を前記デコーダに順次送信する送信手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリームデータのタイムシフト配信を可能にする技術に関する。
【背景技術】
【０００２】
エンコーダから受信したストリームデータをタイムシフト可能に配信する技術としては、特許文献１に記載された技術が知られている。
【０００３】
特許文献１に記載された技術は、エンコーダからストリームデータを受信したストリームサーバで、このストリームデータをバッファリングする。そして、デコーダからの再生要求をストリームサーバが受信すると、受信した再生要求に含まれる時間情報からストリームデータの読み出し位置までのオフセットを特定し、その読み出し位置（時間）からバッファリングされているストリームデータを読み出してデコーダに配信する。
【０００４】
【特許文献１】米国特許第６９７３６６７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された技術では、インターネット等のネットワークを介してデコーダとストリームサーバとが接続されている場合、これらを接続しているネットワークでデータの転送遅延が発生すると、デコーダにおいて再生要求を送信してから、この送信要求に対応するストリームデータを受信するまでに時間がかかってしまうことがあった。
【０００６】
そこで、本発明は、デコーダがネットワークを介してストリームデータを受信する場合にも、大きな遅延なくストリームデータのタイムシフト配信を可能にする技術を提供する。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明は、エンコーダから受信したストリームデータから再生開始時間を特定するためのインデックス情報を生成し、当該ストリームデータとともにコンテンツデータとしてデコーダに送信することを特徴とする。
【０００８】
例えば、本発明は、ネットワークを介して接続されたエンコーダ、デコーダ及び情報処理装置を備え、前記エンコーダでエンコードするストリームデータを、前記情報処理装置を介して前記デコーダに配信する配信システムであって、前記情報処理装置は、前記ストリームデータを予め定められた間隔毎に分けたデータ群毎に、該データ群の再生開始時刻を特定するインデックス情報を順次生成するインデックス情報生成部と、前記インデックス情報生成部で生成されたインデックス情報、および、該インデックス情報により再生開始時刻が特定された前記データ群、を有するコンテンツ情報を順次生成するコンテンツ情報生成部と、前記コンテンツ情報を前記デコーダに順次送信する送信部と、を備えること、を特徴とする。
【発明の効果】
【０００９】
以上のように、本発明によれば、エンコーダより受信したストリームデータから再生開始時間を特定するためのインデックス情報を生成し、当該ストリームデータとともにコンテンツデータとしてデコーダに送信するため、デコーダにおいてコンテンツデータを記憶しておけば、このコンテンツデータ内においてタイムシフトが可能となり、ネットワークによる遅延の影響を受けることがなくなる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の第一の実施形態である配信システム１００の概略図である。
【００１１】
図示するように、配信システム１００は、エンコーダ１１０と、蓄積サーバ１２０と、ストレージ装置１３０と、管理サーバ１４０と、配信サーバ１５０と、デコーダ１６０と、により構成されている。また、エンコーダ１１０、蓄積サーバ１２０、管理サーバ１４０、配信サーバ１５０及びデコーダ１６０は、ＬＡＮ（Local Area Network）１７０を介して接続されており、さらに、蓄積サーバ１２０及び配信サーバ１５０はＳＡＮ（Storage Area Network）１７１を介して接続されている。
【００１２】
エンコーダ１１０は、Ｉ／Ｆ部１１１と、エンコード部１１２と、タイマ１１３と、送受信部１１４と、を備えている。
【００１３】
Ｉ／Ｆ部１１１は、ビデオカメラ等の撮像装置や映像装置から動画を入力するための入力インターフェースである。なお、外部の撮像装置や映像装置から入力される映像信号がアナログ信号である場合には、Ｉ／Ｆ部１１１においてデジタル信号への変換を行う。
【００１４】
エンコード部１１２は、Ｉ／Ｆ部１１１を介して入力された映像信号を一定の規則に基づいて符号化を行う。
【００１５】
ここで、本実施形態におけるエンコード部１１２では、Ｉ／Ｆ部１１１を介して入力された映像信号の予測符号化を行い、予測を行うための基準となるキーフレームと、このキーフレームとの差分値である補間データと、を識別するためのキーフレーム情報をデータ本体に追加して後述する蓄積サーバ１２０に送信するようにしている。
【００１６】
さらに、エンコード部１１２は、このキーフレームを再生するための再生開始時刻を後述するタイマ１１３から取得して、再生開始時刻情報としてキーフレームを格納するデータ本体に追加している。なお、本実施形態における再生開始時刻は、エンコード部１１２においてエンコードを行う時間を用いている。
【００１７】
また、エンコード部１１２は、符号化を行う前のデータサイズをデータ本体に追加している。
【００１８】
タイマ１１３は、時刻を計測する装置である。
【００１９】
送受信部１１４は、ＬＡＮ１７０を介して情報を送受信するための装置であって、例えば、ＮＩＣ（Network Interface Card）により構成される。
【００２０】
蓄積サーバ１２０は、インデックス情報生成部１２１と、データ格納部１２２と、一時記憶部１２３と、管理情報生成部１２４と、第一の送受信部１２５と、第二の送受信部１２６と、を備えている。
【００２１】
インデックス情報生成部１２１は、エンコーダ１１０から受信した通信フレームのペイロード部分からデータ本体を抽出して、インデックス情報を生成する。
【００２２】
ここで、インデックス情報は、インデックス情報のサイズを特定するインデックス情報サイズと、インデックス情報本体と、からなっている。
【００２３】
そして、インデックス情報生成部１２１は、上述のエンコーダ１１０より受信した通信フレームに格納されているデータ本体からキーフレーム情報を抽出し、抽出したキーフレーム情報でデータ本体に含まれているデータがキーフレームであると識別された場合には、インデックス情報を生成して一時記憶部１２３に記憶する。
【００２４】
具体的には、インデックス情報生成部１２１は、データ本体に含まれている時刻情報と、データ本体において動画データの開始位置を示す開始オフセットと、データ本体に含まれているデータサイズと、を抽出して、これらの情報を関連付けてインデックス情報本体を生成し、インデックス情報記憶領域１８０のインデックス情報本体記憶領域１８３に記憶するとともに（図２参照）、そのインデックス情報本体のサイズと、インデックス情報本体が記憶された記憶位置を示すポインタ情報と、をインデックス情報本体サイズ登録欄１８１及びポインタ情報登録欄１８２のそれぞれに登録する（図２参照）。
【００２５】
一方、インデックス情報生成部１２１は、上述のエンコーダ１１０より受信した通信フレームに格納されているデータ本体からキーフレーム情報を抽出し、抽出したキーフレーム情報でデータ本体に含まれているデータが補間データであると識別された場合には、一時記憶部１２３に記憶されているインデックス情報を更新する。
【００２６】
具体的には、インデックス情報生成部１２１は、データ本体に含まれているデータサイズを抽出して、補間データの基準となるキーフレームを受信した際に生成したインデックス情報本体に記憶されているデータサイズに加算するとともに、このような処理により変更されたインデックス情報本体のサイズを算出して、インデックス情報本体サイズ登録欄１８１に記憶されているインデックス情報本体サイズを更新する。
【００２７】
データ格納部１２２は、エンコーダ１１０から受信した通信フレームのペイロード部分から抽出したデータ本体を後述する第二の送受信部１２６を介してストレージ装置１３０に送信して記憶させると共に、ストレージ装置１３０の記憶部１３２にデータ本体を記憶した位置情報と、データ本体のデータサイズと、をマップ情報として、マップ情報記憶領域１８５のデータサイズ登録欄１８６及び位置情報登録欄１８７（図２参照）にそれぞれ登録する。
【００２８】
この際、データ格納部１２２は、ストレージ装置１３０の記憶部１３２のどの位置（ブロック）にデータを書き込むのか決定する必要がある。この決定をするため、データ格納部１２２は、図８に示すような空きブロックリストの管理を行う。
【００２９】
まず、空きブロックのリストを、データ格納部が保持するスーパーブロックから、リスト状に管理する。スーパーブロックに先頭空きブロック番号が格納されている。また、ストレージ装置１３０の記憶部１３２に格納されている各空きブロック番号には、リストの次の空きブロック番号が格納されている。
【００３０】
データ格納部１２２は、スーパーブロックに格納されている先頭空きブロックから一定数の空きブロックを、予めストレージ装置１３０の記憶部１３２から先読みし、データ格納部１２２内にコピーをキャッシュとして保持するプリフェッチャスレッドを動作させる。併せて、データ格納部１２２内にキャッシュされている空きブロック数と、次にプリフェッチすべき空きブロック番号をスーパーブロック内のデータ構造に追加する。
【００３１】
空きブロックを獲得する際には、データ格納部１２２のwrite実行ルーチンが、ロックを保持しながら、スーパーブロックや先頭空きブロックの情報を更新する。空きブロックのプリフェッチスピードが、空きブロックの要求スピードより大きければ、先頭空きブロックは既にデータ格納部１２２内にキャッシュされているため、データ格納部１２２のwrite実行ルーチンがロック獲得中にストレージ装置１３０へのI/Oを実行することはない。
【００３２】
プリフェッチャスレッドは、ロックを獲得後、キャッシングされている空きブロック数を検査する。当該空きブロック数が1以上であれば、ロックを直ちに解放して、スーパーブロックに格納されている次にプリフェッチを行うべき空きブロック番号より、プリフェッチ数が一定数に達するまでプリフェッチ動作を継続する。上記空きブロック数が1以上であれば、プリフェッチャスレッドが空きブロック獲得スレッドと同一空きブロックを参照する可能性はないため、直ちにロックを解放しても空きブロックリストの一貫性は失われない。空きブロック数が0であれば、当該空きブロック数が1以上になるまでロックを獲得し、プリフェッチ動作を実行する。空きブロックのプリフェッチスピードが、空きブロックの要求スピードより大きければ、当該空きブロック数は1以上になるため、プリフェッチャスレッドがロック獲得中にストレージ装置１３０へのI/Oを実行することはない。
【００３３】
このような空きブロックリスト管理動作を行うことで、ロック獲得中にストレージ装置１３０へのI/O実行を防止する。その結果、データ格納部１２２のwrite実行ルーチンが複数並行動作しても、ロック獲得待ちに伴う蓄積レートの落ち込みが発生することを防止することができる。
【００３４】
一時記憶部１２３は、インデックス情報生成部１２１で生成されたインデックス情報及びデータ格納部１２２で生成されたマップ情報を記憶する。
【００３５】
例えば、本実施形態では、図２（一時記憶部１２３の概略図）に示されているように、一時記憶部１２３には、インデックス情報記憶領域１８０と、マップ情報記憶領域１８５と、が設けられている。そして、インデックス情報記憶領域１８０は、インデックス情報本体サイズ登録欄１８１及びポインタ情報登録欄１８２からなるインデックス情報管理テーブル１８４と、インデックス情報本体記憶領域１８３と、を備えており。また、マップ情報記憶領域１８５は、データサイズ登録欄１８６及び位置情報登録欄１８７からなるマップ情報管理テーブル１８８を備えている。
【００３６】
管理情報生成部１２４は、一時記憶部１２３に記憶されているインデックス情報とマップ情報とから管理情報を生成し、後述する第一の送信部１２５を介して後述する管理サーバ１４０に送信する。
【００３７】
具体的には、管理情報生成部１２４は、上述のエンコーダ１１０より受信した通信フレームに格納されているデータ本体からキーフレーム情報を抽出し、抽出したキーフレーム情報からキーフレームであることが識別された場合には、前回キーフレームが識別された際に作成され、かつ、今回キーフレームが識別される直前に更新されたインデックス情報と、前回のキーフレームをストレージ装置１３０に記憶してから今回のキーフレームをストレージ装置１３０に記憶する直前までにマップ情報テーブル１８８に登録されたデータサイズと位置情報とからなるマップ情報と、を関連させて管理情報を生成する。
【００３８】
即ち、本実施形態では、キーフレームと、当該キーフレームから次のキーフレームまでに含まれる補間データと、に対応するインデックス情報及びマップ情報が一つの管理情報として扱われる。
【００３９】
第一の送受信部１２５は、ＬＡＮ１７０を介して情報を送受信するための装置である。
【００４０】
第二の送受信部１２６は、ＳＡＮ１７１を介して情報を送受信するための装置である。
【００４１】
以上のように構成される蓄積サーバ１２０については、いわゆるコンピュータにより実現可能である。例えば、インデックス情報生成部１２１、データ格納部１２２及び管理情報生成部１２４は、ハードディスク等の外部記憶装置に記憶されている所定のプログラムをＣＰＵ（Central Processing Unit）に読み込み実行することで実現可能であり、一時記憶部１２３は、ハードディスク等の外部記憶装置により実現可能であり、第一の送受信部１２５は、ＮＩＣにより実現可能であり、第二の送受信部１２６は、ＨＢＡ（Host Bus Adapter）により実現可能である。
【００４２】
ストレージ装置１３０は、制御部１３１と、記憶部１３２と、送受信部１３３と、を備えている。
【００４３】
制御部１３１は、ＳＡＮ１７１を介して送信されてきたデータ本体を後述する記憶部１３２に記憶すると共に、データ本体を記憶した位置情報（例えば、ブロック番号）を後述する送受信部１３３を介して蓄積サーバ１２０に送信する。
【００４４】
また、制御部１３１は、後述する配信サーバ１５０から位置情報を特定したデータの読み出し要求を受信した場合には、その位置情報で特定されるデータ本体を配信サーバ１５０に送信する制御を行う。
【００４５】
記憶部１３２は、ＳＡＮ１７１を介して送信されてきたデータ本体を記憶する。ここで、本実施形態においては、データ本体の追記のみを行う。
【００４６】
なお、本実施形態では、キーフレームと、当該キーフレームから次のキーフレームまでに含まれる補間データと、に対応するデータ本体のまとまりを一つのデータ群として、記憶部１３２において記憶する。
【００４７】
送受信部１３３は、ＳＡＮ１７１を介して情報を送受信するための装置である。
【００４８】
以上のように構成されるストレージ装置１３０については、いわゆるコンピュータにより実現可能である。例えば、制御部１３１は、ハードディスク等の外部記憶装置に記憶されている所定のプログラムをＣＰＵに読み込み実行することで実現可能であり、記憶部１３２は、ハードディスク等の外部記憶装置により実現可能であり、送受信部１３３は、ＨＢＡにより実現可能である。
【００４９】
管理サーバ１４０は、管理情報制御部１４１と、管理情報記憶部１４２と、送受信部１４３と、を備えている。
【００５０】
管理情報制御部１４１は、上述の蓄積サーバ１２０から受信した管理情報を管理情報記憶部１４２に記憶すると共に、配信サーバ１５０から再生時刻を指定したデータ取得要求を受信した場合には、このデータ取得要求に含まれている再生時刻に関連するインデックス情報を備える管理情報を管理情報記憶部１４２から抽出し、送受信部１４３を介して、これらを配信サーバ１５０に送信する。
【００５１】
なお、データ取得要求に含まれている再生時刻に関連するインデックス情報については、インデックス情報に含まれている再生開始時刻とサイズとから、インデックス情報に対応する動画データの再生時間を特定し、この再生時間にデータ取得要求に含まれている再生時刻が含まれているか否かにより判断する。
【００５２】
また、管理情報制御部１４１は、配信サーバ１５０から、既に取得した再生時刻を指定したデータ取得要求を受信した場合には、その再生時刻以降の再生開始時刻がインデックス情報に含まれている管理情報を配信サーバ１５０に送信する。
【００５３】
さらに、管理情報制御部１４１は、配信サーバ１５０からデータ取得要求を受信し、管理情報を送信した場合には、配信サーバ１５０から送信を停止する指示があるまで、蓄積サーバ１２０から管理情報の送信後に受信した管理情報についても配信サーバ１５０に送信する。
【００５４】
管理情報記憶部１４２は、上述の蓄積サーバ１２０から受信した管理情報を記憶する。
【００５５】
送受信部１４３は、ＬＡＮ１７０を介して情報を送受信するための装置で、例えば、ＮＩＣにより構成される。
【００５６】
以上のように構成される管理サーバ１４０については、いわゆるコンピュータにより実現可能である。例えば、管理情報制御部１４１は、ハードディスク等の外部記憶装置に記憶されている所定のプログラムをＣＰＵに読み込み実行することで実現可能であり、管理情報記憶部１４２は、ハードディスク等の外部記憶装置により実現可能であり、送受信部１４３は、ＮＩＣにより実現可能である。
【００５７】
配信サーバ１５０は、管理情報処理部１５１と、コンテンツ情報生成部１５２と、第一の送受信部１５３と、第二の送受信部１５４と、を備えている。
【００５８】
管理情報処理部１５１は、デコーダ１６０から受信したデータ取得要求を管理サーバ１４０に転送し、また、管理サーバ１４０から受信した管理情報をコンテンツ情報生成部１５２に送る処理を行う。
【００５９】
コンテンツ情報生成部１５２は、管理情報処理部１５１より送られてきた管理情報からマップ情報を抽出し、抽出したマップ情報に対応するデータ群をストレージ装置１３０から取得する。そして、マップ情報を抽出した管理情報からインデックス情報を抽出して、取得したデータ群と関連させたコンテンツ情報１９０を生成する。
【００６０】
コンテンツ情報１９０は、例えば、図３に示すように、ストレージ装置１３０から取得した少なくとも一つ以上のデータ群からなるデータ部１９１と、そのデータ部１８１に含まれるデータ群に対応する少なくとも一つ以上のインデックス情報に含まれるインデックス情報本体からなるインデックス部１９２と、から構成される。
【００６１】
第一の送受信部１５３は、ＬＡＮ１７０を介して情報を送受信するための装置であって、例えば、ＮＩＣにより構成される。
【００６２】
第二の送受信部１５４は、ＳＡＮ１７１を介して情報を送受信するための装置であって、例えば、ＨＢＡにより構成される。
【００６３】
以上のように構成される配信サーバ１５０については、いわゆるコンピュータにより実現可能である。例えば、管理情報処理部１５１及びコンテンツ情報生成部１５２は、ハードディスク等の外部記憶装置に記憶されている所定のプログラムをＣＰＵに読み込み実行することで実現可能であり、第一の送受信部１５３は、ＮＩＣにより実現可能であり、第二の送受信部１５４は、ＨＢＡにより実現可能である。
【００６４】
デコーダ１６０は、再生要求受付処理部１６１と、デコード部１６２と、データ処理部１６３と、データ記憶部１６４と、Ｉ／Ｆ部１６５と、送受信部１６６と、を備えている。
【００６５】
再生要求受付処理部１６１は、後述するＩ／Ｆ部１６５を介して連結されているユーザ端末から、少なくとも再生時刻を指定した再生要求を受け付け、ユーザ端末から受け付けた再生要求に対応する動画データをデータ記憶部１６４に記憶されているインデックス部１９２に基づいて特定し、その動画データをＩ／Ｆ部１６５を介してユーザ端末に送信する。
【００６６】
なお、再生要求に対応する動画データは、再生要求で特定されている再生時刻に一致する再生開始時刻となっている動画データ又は再生要求で特定されている再生時刻を含む動画データをインデックス部１９２で検索すればよい。
【００６７】
また、再生要求で特定されている再生時刻を含む動画データであるか否かは、インデックス部１９２に含まれるデータ群の再生開始時刻とデータ群のサイズで動画データの再生時間を特定し、その再生時間に再生時刻が含まれるか否かで判定可能である。
【００６８】
さらに、再生要求受付処理部１６１は、ユーザ端末から受け付けた再生要求に対応する動画データがデータ記憶部１６４に記憶されていない場合には、その再生時刻を特定したデータ取得要求を配信サーバ１５０に後述する送受信部１６６を介して送信する。
【００６９】
また、再生要求受付処理部１６１は、データ記憶部１６４に記憶されている動画データを送信してしまった場合には、既に送信した動画データのうち、直近に送信した動画データの再生開始時刻をインデックス情報から取得して、既に再生した再生開始時刻を特定したデータ取得要求を配信サーバ１５０に送信する。
【００７０】
ここで、再生要求で特定されている再生時刻であるか、既に再生した再生開始時刻であるかは、これらの識別するための識別符号をデータ取得要求に含めればよい。
【００７１】
デコード部１６２は、受信したコンテンツ情報１９０のデータ部１９１に含まれているデータ群を複合して元の動画データを取り出す。
【００７２】
データ処理部１６３は、デコード部１６２で復号された動画データに対応するインデックス部１９２を関連させて、データ記憶部１６４に記憶する。即ち、各動画データの開始時刻と、各動画データの開始位置を特定することができるようにデータ記憶部１６４に記憶する。
【００７３】
データ記憶部１６４には、デコード部１６２で復号された動画データと、その動画データに対応するインデックス部１９２と、を記憶する。
【００７４】
Ｉ／Ｆ部１６５は、テレビ、ビデオ、パーソナルコンピュータ等の情報端末により構成されるユーザ端末との間で情報の送受信を行うためのコネクタである。
【００７５】
送受信部１６６は、ＬＡＮ１７０を介して情報を送受信するための装置であって、例えば、ＮＩＣにより構成される。
【００７６】
以上のように構成される蓄積サーバ１２０において、エンコーダ１１０から通信フレームを受信した場合の処理を図４のフローチャートで示す。
【００７７】
まず、蓄積サーバ１２０が第一の送受信部１２５を介してエンコーダ１１０から通信フレームを受信した場合には（Ｓ２００）、インデックス情報生成部１２１は、通信フレームのペイロード部分に格納されているデータ本体からキーフレーム情報を抽出して、データ本体に含まれているデータがキーフレームか否かを判定する（Ｓ２０１）。
【００７８】
そして、キーフレームである場合には（Ｓ２０１）、一時記憶部１２３のインデックス情報記憶領域１８０及びマップ情報記憶領域１８５にデータが記憶されているか否かを確認し（Ｓ２０２）、データが記憶されている場合には（Ｓ２０２）、インデックス情報記憶領域１８０及びマップ情報記憶領域１８５に記憶されているインデックス情報及びマップ情報から管理情報を生成して、第一の送受信部１２５を介して管理サーバに送信する（Ｓ２０３）。
【００７９】
一方、ステップＳ２０２で一時記憶部１２３にデータがない場合、または、ステップＳ２０３で管理情報を管理サーバ１４０に送信した場合には、インデックス情報生成部１２１は、キーフレームのデータ本体から開始オフセット、データサイズ及び再生開始時刻を抽出してインデックス情報本体を生成し、インデックス情報本体記憶領域１８３に記憶すると共に、インデックス情報本体のサイズと記憶位置をそれぞれインデックス情報本体サイズ登録欄１８１及びポインタ情報登録欄１８２に登録する（Ｓ２０４）。
【００８０】
そして、データ格納部１２２は、ＳＡＮ１７１を介してキーフレームのデータ本体をストレージ装置１３０に記憶する（Ｓ２０５）。
【００８１】
次に、データ格納部１２２は、キーフレームのデータ本体をストレージ装置１３０に格納した位置情報と、そのデータ本体のデータサイズと、によりマップ情報を生成し、マップ情報記憶領域１８５に記憶する（Ｓ２０６）。
【００８２】
一方、通信フレームがキーフレームではない場合には（Ｓ２０１）、インデックス情報生成部１２２は、通信フレームのペイロード部分に含まれているデータ本体から補間データのデータサイズを抽出して、その補間データのキーフレームにより生成されたインデックス情報本体のサイズに加算し、このような処理により変更されるインデックス情報本体のデータサイズをインデックス情報本体サイズ登録欄１８１に登録し直すことで、インデックス情報を更新する（Ｓ２０７）。
【００８３】
そして、データ格納部１２２は、ＳＡＮ１７１を介して補間データのデータ本体をストレージ装置１３０に記憶する（Ｓ２０８）。
【００８４】
次に、データ格納部１２２は、補間データのデータ本体をストレージ装置１３０に格納した位置情報と、そのデータ本体のデータサイズと、をマップ情報記憶領域１８５に記憶する（Ｓ２０９）。なお、これらの情報の記憶については、マップ情報記憶領域１８５に生成されているマップ情報テーブル１８８に新たなエントリを作成して登録すればよい。
【００８５】
そして、ステップＳ２００〜ステップＳ２０９の処理は、エンコーダ１１０からの通信フレームの配信が終了するまで繰り返し行われる（Ｓ２１０）。
【００８６】
なお、配信の終了については、終了することを示す識別情報をペイロード部分に含む通信フレームを送信すること等により行えばよい。
【００８７】
図５は、配信サーバ１５０においてデコーダ１６０からデータ配信要求を受信した場合の処理を示すフローチャートである。
【００８８】
まず、デコーダ１６０からデータ配信要求を受信した場合には（Ｓ２２０）、配信サーバ１５０の管理情報処理部１５１は、受信したデータ配信要求を、第一の送受信部１５３を介して管理サーバ１４０に転送する（Ｓ２２１）。
【００８９】
次に、配信サーバ１５０は、管理サーバ１４０からデータ配信要求に対応する管理情報を受信することにより、管理情報を取得する（Ｓ２２２）。
【００９０】
そして、コンテンツ情報生成部１５２は、取得した管理情報から抽出されるマップ情報で特定されるデータ群をストレージ装置１３０から取得する（Ｓ２２３）。
【００９１】
次に、コンテンツ情報生成部１５２は、取得した管理情報から抽出されるインデックス情報を、ステップＳ２２３で取得されたデータ群に関連させることで、コンテンツ情報を生成する（Ｓ２２５）。
【００９２】
このようにして生成されたコンテンツ情報は、第一の送受信部１５３を介してデコーダ１６０に送信される（Ｓ２２６）。
【００９３】
図６は、デコーダ１６０においてユーザから再生要求を受信した場合の処理を示すフローチャートである。
【００９４】
まず、デコーダ１６０は、Ｉ／Ｆ部１６５を介してユーザからの再生要求を受信した場合には（Ｓ２３０）、再生要求に含まれる再生時刻を抽出して、抽出した再生時刻に該当する動画データが受信済みか否かをデータ記憶部１６４に記憶されているインデックス部１９２から検索することで確認する（Ｓ２３１）。
【００９５】
そして、既に受信済みである場合には（Ｓ２３１）、インデックス情報で対応する再生開始時刻の動画データを特定し（Ｓ２３２）、特定した動画データからＩ／Ｆ部１６５を介して送信を開始する（Ｓ２３３）。
【００９６】
一方、受信済みではない場合には（Ｓ２３１）、配信サーバ１５０に再生時刻を特定したデータ取得要求を送信し（Ｓ２３４）、このデータ取得要求に対応するコンテンツ情報を配信サーバ１５０から取得して（Ｓ２３５）、取得したコンテンツ情報から動画データをデコードし、Ｉ／Ｆ部１６５を介してデコードした動画データの送信を開始する（Ｓ２３６）。
【００９７】
なお、管理サーバ１４０から配信サーバ１５０へは、エンコーダ１１０からの配信が終了するまで、または、配信終了の通知が配信サーバ１５０を介して通知されるまで、管理情報が配信サーバ１５０に順次送信され、送信された管理情報に対応するコンテンツ情報がデコーダ１６０に送信されるようになっているため、デコーダ１６０では、再生要求のあった時刻からエンコーダ１１０での配信が終了するまで動画データ（ストリームデータ）をユーザに提供することができるようになっている。
【００９８】
また、一度受信したコンテンツ情報については、動画データがデコードされ、再生開始時刻を特定することができる形でデータ記憶部１６４に記憶されるので、データ記憶部１６４に記憶されている動画データの範囲内では、ＬＡＮ１７０を介さずにタイムシフト配信が可能となる。
【００９９】
図７は、本発明の第二の実施形態である配信システム３００の概略図である。
【０１００】
図示するように、配信システム３００は、エンコーダ１１０と、蓄積配信サーバ３２０と、ストレージ装置１３０と、デコーダ１６０と、を備えており、エンコーダ１１０、蓄積配信サーバ３２０及びデコーダ１６０はＬＡＮ１７０を介して接続されており、蓄積配信サーバ３２０及びストレージ装置１３０は、ＳＡＮ１７１を介して接続されている。
【０１０１】
ここで、エンコーダ１１０、ストレージ装置１３０及びデコーダ１６０については第一の実施形態と同様であるため説明を省略する。
【０１０２】
本実施形態においては、第一の実施形態と比較して、第一の実施形態における蓄積サーバ１２０、管理サーバ１４０及び配信サーバ１５０で行っている処理を蓄積配信サーバ３２０で行うようにしている点で異なっているため、以下、この相異点に関連する事項について説明する。
【０１０３】
蓄積配信サーバ３２０は、インデックス情報生成部３２１と、データ格納部３２２と、一時記憶部３２３と、管理情報生成部３２４と、管理情報制御処理部３２５と、管理情報記憶部３２６と、コンテンツ情報生成部３２７と、第一の送受信部３２８と、第二の送受信部３２９と、を備えている。
【０１０４】
インデックス情報生成部３２１は、第一の実施形態におけるインデックス情報生成部３２１と同様の処理を行う。
【０１０５】
具体的には、インデックス情報生成部３２１は、エンコーダ１１０から受信した通信フレームのペイロード部分からデータ本体を抽出して、インデックス情報を生成して一時記憶部３２３に記憶し、一時記憶部３２３に記憶されているインデックス情報の更新を行う。
【０１０６】
データ格納部３２２は、第一の実施形態におけるデータ格納部１２２と同様の処理を行う。
【０１０７】
具体的には、データ格納部３２２は、インデックス情報生成部３２１から送られてきたデータ本体を後述する第二の送受信部３２９を介してストレージ装置１３０に記憶すると共に、ストレージ装置１３０にデータ本体を記憶した位置情報とデータ本体のデータサイズを一時記憶部３２３に記憶する。
【０１０８】
一時記憶部３２３は、第一の実施形態における一時記憶部１２３と同様の情報を記憶する。
【０１０９】
具体的には、一時記憶部３２３は、インデックス情報生成部３２１で生成されたインデックス情報及びデータ格納部３２２で生成されたマップ情報を記憶する。
【０１１０】
管理情報生成部３２４は、第一の実施形態における管理情報生成部１２４と同様の処理を行う。
【０１１１】
具体的には、管理情報生成部３２４は、一時記憶部３２３に記憶されているインデックス情報とマップ情報とから管理情報を生成し、後述する管理情報生成部３２４に記憶する。
【０１１２】
管理情報制御処理部３２５は、第一の実施形態における管理情報制御部１４１及び管理情報処理部１５１と同様の処理を行う。
【０１１３】
具体的には、管理情報制御処理部３２５は、デコーダ１６０からデータ取得要求を受信した場合には、このデータ取得要求に対応する管理情報を管理情報記憶部３２６から抽出し、コンテンツ情報生成部３２７に送る。
【０１１４】
管理情報記憶部３２６は、第一の実施形態における管理情報記憶部１４２と同様の情報を記憶する。
【０１１５】
コンテンツ情報生成部３２７は、第一の実施形態におけるコンテンツ情報生成部１５２と同様の処理を行う。
【０１１６】
具体的には、コンテンツ情報生成部３２７は、管理情報制御処理部３２５より送られてきた管理情報からマップ情報を抽出し、抽出したマップ情報に対応するデータ群をストレージ装置１３０から取得する。そして、マップ情報を抽出した管理情報からインデックス情報を抽出して、取得したデータ群と関連させたコンテンツ情報１９０を生成する。
【０１１７】
第一の送受信部３２８は、ＬＡＮ１７０を介して情報を送受信するための装置であって、例えば、ＮＩＣにより構成される。
【０１１８】
第二の送受信部３２９は、ＳＡＮ１７１を介して情報を送受信するための装置であって、例えば、ＨＢＡにより構成される。
【０１１９】
以上のように構成される配信システム３００で行う処理は、第一の実施形態において、蓄積サーバ１２０、管理サーバ１４０及び配信サーバ１５０で分散して処理を行っていたものを蓄積配信サーバ３２０で行っているだけであるため、説明を省略する。
【０１２０】
なお、第二の実施形態においては、データ本体をストレージ装置１３０の記憶部１３２に記憶するようにしているが、このような態様に限定されず、例えば、このような記憶部１３２を蓄積配信サーバ３２０内に設けて、ストレージ装置１３０を省略することも可能である。
【０１２１】
以上に記載した実施形態においては、エンコーダ１１０において予測符号化をおこない、キーフレームで区切られる一群のデータ本体を一つのデータ群として、該データ群に一つのインデックス情報を生成して付加するようにしているが、このような態様に限定されず、エンコーダ１１０で行う符号化は予測符号化に限定されず、また、任意の数のデータ本体を一つのデータ群として、そのデータ群毎にインデックス情報を生成し付加することができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の第一の実施形態である配信システム１００の概略図。
【図２】一時記憶部１２３の概略図。
【図３】コンテンツ情報１９０の概略図。
【図４】蓄積サーバ１２０においてエンコーダ１１０から通信フレームを受信した場合の処理を示すフローチャート。
【図５】配信サーバ１５０においてデコーダ１６０からデータ配信要求を受信した場合の処理を示すフローチャート。
【図６】デコーダ１６０においてユーザから再生要求を受信した場合の処理を示すフローチャート。
【図７】本発明の第二の実施形態である配信システム３００の概略図。
【図８】データ格納部１２２による空きブロック管理リストの際に使用するデータ構造を示す図。
【符号の説明】
【０１２３】
１００、３００  配信システム
１１０  エンコーダ
１２０  蓄積サーバ
１２１、３２１  インデックス情報生成部
１２２、３２２  データ格納部
１２３、３２３  一時記憶部
１２４、３２４  管理情報生成部
１３０  ストレージ装置
１４０  管理サーバ１４０
１４２、３２６  管理情報記憶部
１５０  配信サーバ
１５１  管理情報処理部
１５２、３２７  コンテンツ情報生成部
１６０  デコーダ
１６１  再生要求受付処理部
１６４  データ記憶部
３２０  蓄積配信サーバ３２０
３２５  管理情報制御処理部
【図１】
2007288299.tif 000003
【図２】
2007288299.tif 000004
【図３】
2007288299.tif 000005
【図４】
2007288299.tif 000006
【図５】
2007288299.tif 000007
【図６】
2007288299.tif 000008
【図７】
2007288299.tif 000009
【図８】
2007288299.tif 000010