(57)【特許請求の範囲】
【請求項１】
映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、
を備える映像データ処理装置。
【請求項２】
前記作成されたファイルに基づくハッシュデータを作成するハッシュデータ作成部と、
前記作成されたファイルのハッシュデータと前記他のファイルのハッシュデータとを比較する比較部と、をさらに備え、
前記補完データ作成部は、前記ハッシュデータが一致しない場合に、前記補完データの作成を行う、
請求項１に記載の映像データ処理装置。
【請求項３】
前記補完データ作成部は、前記補完データを、前記作成されたファイルとは異なるファイルとして保持する、
請求項１又は２に記載の映像データ処理装置。
【請求項４】
前記作成されたファイルから映像パケットを読み出し、前記作成されたファイルの欠損している映像パケットを前記補完データから読み出して、読み出した映像パケットを所定の宛先に送信する配信部、
をさらに備える請求項１から３のいずれか一項に記載の映像データ処理装置。
【請求項５】
前記映像パケットは作成された時刻のタイムスタンプを有し、
前記インデックス作成部は、各映像パケットのタイムスタンプも含む前記インデックスファイルを作成し、
前記配信部は、前記インデックスファイルに基づいて、前記作成されたファイル内の配信要求によって指定された時刻に該当する映像パケットの位置を特定し、特定した位置の映像パケットから送信を行う、
請求項４に記載の映像データ処理装置。
【請求項６】
前記作成されたファイルと前記他のファイルとのうち、映像品質の劣る方のファイルを削除する削除部、
をさらに備える請求項１から５のいずれか一項に記載の映像データ処理装置。
【請求項７】
前記削除部は、前記インデックスファイルから、前記作成されたファイルと前記他のファイルとのぞれぞれの映像パケットが連続して欠損している回数を算出し、前記映像パケットが連続して欠損している回数が多い方を、映像品質の劣る方として、削除する、
請求項６に記載の映像データ処理装置。
【請求項８】
映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、
を備える映像データ処理システム。
【請求項９】
コンピュータが、
映像源から受信された映像パケットを含むファイルを作成し、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成し、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する、
映像データ処理方法。
【請求項１０】
コンピュータに、
映像源から受信された映像パケットを含むファイルを作成させ、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成させ、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成させる、
ための映像データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データを蓄積する映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラムに関する。
【背景技術】
【０００２】
例えば、テレビ局は、所謂、お天気カメラ等の定点観測カメラを各地に設置している。各定点観測カメラの映像は、ストリーミング配信によりデータセンタに送信され、データセンタ内に蓄積される。例えば、地震、津波、噴火等の自然災害の発生時や、事件捜査時等には、データセンタ内に蓄積された定点観測カメラの映像データから、指定した時刻の映像データが読み出されるＶＯＤ（ビデオオンデマンド）配信が行われる。定点観測カメラの映像データは、システムの冗長構成によって複数の記憶装置に保持されることによって、信頼性が確保されることが多い。
【０００３】
図１は、映像データ蓄積システムの一例を示す図である。映像データ蓄積システム１００は、データセンタ内で冗長構成をとり、異なる記憶装置に映像データが保持される例である。映像データ蓄積システム１００は、インターネットを介して接続されるデータセンタ６１、エンコーダ５０を含む。エンコーダ５０は、例えば、定点観測カメラである。エンコーダ５０は、例えば、映像データをＭＰＥＧ（Moving Picture Experts Group）でエンコードし、ＲＴＰ（Real-time Transport Protocol）を用いて、データセンタ６１に逐次送信する。ＲＴＰは、音声や映像をリアルタイムで伝送するためのプロトコルである。所定の送信元から所定の宛先へストリーミング配信されるデータの流れを、ストリームという。
【０００４】
データセンタ６１は、例えば、テレビ局が有するデータセンタである。データセンタ６１は、中継サーバ７０と、蓄積サーバＡ、蓄積サーバＢ、ファイルサーバＡ、ファイルサーバＢを含む。なお、蓄積サーバＡ、Ｂを区別しない場合には、蓄積サーバ１と表記する。ファイルサーバＡ、Ｂを区別しない場合には、ファイルサーバ２と表記する。蓄積サーバＡ及び蓄積サーバＢは、それぞれ異なる拠点に設置されたサーバである。ファイルサーバ２は、蓄積サーバＡ、蓄積サーバＢで共通のものが用いられてもよいし、それぞれ異なるものが用いられてもよい。
【０００５】
図１に示される映像データ蓄積システム１００では、エンコーダ５０からデータセンタ６１までの経路は一つであり、映像データは、該一つの経路を経由して伝送される。データセンタ６１内で、映像データは、中継サーバ７０によって複製され、蓄積サーバＡと蓄積サーバＢのそれぞれへと転送される。蓄積サーバＡ及び蓄積サーバＢは、それぞれ、映像データをファイル化してファイルサーバＡ、ファイルサーバＢに蓄積する。蓄積サーバＡ、蓄積サーバＢが受信した映像データのファイルは、図１中、それぞれ、ファイルＡ、ファイルＢとして示される。
【０００６】
図２は、映像データ蓄積システムの一例を示す図である。映像データ蓄積システム２００は、エンコーダからデータセンタまでの経路と蓄積サーバとを冗長化する構成である。
【０００７】
映像データ蓄積システム２００は、インターネットを介して接続されるデータセンタ６２、エンコーダ５０を含む。データセンタ６２は、蓄積サーバＡ、蓄積サーバＢを含む。蓄積サーバＡ、蓄積サーバＢは、それぞれ異なる位置に設置されている。
【０００８】
映像データ蓄積システム２００では、エンコーダ５０は、蓄積サーバＡ、蓄積サーバＢのそれぞれに対して異なる経路を有しており、それぞれの経路に同じ映像データを送信する。蓄積サーバＡ、蓄積サーバＢは、それぞれ受信した映像データをファイルＡ、ファイルＢとしてファイルサーバＡ、ファイルサーバＢに蓄積する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００９−５３４９２８号公報
【特許文献２】特開２００６−５９４２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、図１及び図２に示される映像データ蓄積システム内の冗長構成には、以下のような問題がある。図３は、映像データ蓄積システム内の冗長構成の問題点の一例を示す図である。図３では、データセンタ６１、及び、データセンタ６２内の蓄積サーバＡ、蓄積サーバＢ、ファイルサーバＡ内のファイルＡ、ファイルサーバＢ内のファイルＢが抽出されて示されている。
【００１１】
映像データの伝送に用いられるＲＴＰは、ＵＤＰ（User Datagram Protocol）をトランスポート層のプロトコルとして用い、ＵＤＰは到達保証のないプロトコルである。そのため、映像データのＲＴＰパケットは伝送途中のパケット損失により欠落する可能性がある。パケット損失は、映像品質を低下させる一因となる。
【００１２】
したがって、ファイルＡ、ファイルＢに含まれる映像データは、伝送途中でのパケット損失の影響によって、エンコーダ５０が送出したオリジナルの映像データと同一とは限らない。また、ファイルＡとファイルＢとでは映像データの経路が異なるので、パケット損失により欠損するパケットが異なっている可能性もあり、ファイルＡとファイルＢとは同一とは限らない。
【００１３】
図３に示される例では、ファイルＡでは、ＲＴＰパケット＃３、＃４が欠損している。ファイルＢでは、ＲＴＰパケット＃２、＃５が欠損している。すなわち、ファイルＡ、ファイルＢともに、エンコーダ５０が送出したオリジナル映像データとは異なっている。また、ファイルＡとファイルＢとは、互いに異なる。
【００１４】
エンコーダ５０からはエンコードされた映像データが送出されるので、ファイルＡ、ファイルＢにはエンコードされたデータが含まれる。ファイルＡ、ファイルＢの映像品質の判定の際には、エンコードされたデータがデコードされるので、蓄積データにかかる処理負荷が大きくなるおそれがある。したがって、ファイルＡ、ファイルＢのいずれのファイルがより品質のよい映像データであるかを判別するのは困難である。そのため、例えば、ファイルＢの方が欠損パケットの少ない映像品質の良いファイルである場合でも、事前設定によって、ファイルＡが読み出されることがある。
【００１５】
本発明は、映像データの伝送途中のパケット損失による映像データの品質低下を抑制することを目的とする。
【課題を解決するための手段】
【００１６】
１つの態様では、映像データ処理装置は、映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、作成されたファイルのインデックスファイ
ルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で該映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、を備える。
【発明の効果】
【００１７】
１つの側面として、映像データの伝送途中のパケット損失による映像データの品質低下を抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】映像データ蓄積システムの一例を示す図である。
【図２】映像データ蓄積システムの一例を示す図である。
【図３】映像データ蓄積システム内の冗長構成の問題点の一例を示す図である。
【図４】蓄積サーバのハードウェア構成の一例を示す図である。
【図５】蓄積サーバの機能構成の一例を示す図である。
【図６】映像データを伝送するＲＴＰパケットの構成を示す図である。
【図７】蓄積部の映像ファイルの作成処理の一例を示す図である。
【図８】インデックスファイルの構成の一例を示す図である。
【図９】補完処理部、配信処理部の処理の一例を示す図である。
【図１０】蓄積サーバの蓄積部の処理のフローチャートの一例である。
【図１１】蓄積サーバの中間処理部の処理のフローチャートの一例である。
【図１２】蓄積サーバの補完処理部の処理のフローチャートの一例である。
【図１３Ａ】蓄積サーバの配信処理部の処理のフローチャートの一例である。
【図１３Ｂ】蓄積サーバの配信処理部の処理のフローチャートの一例である。
【図１４】蓄積サーバの削除処理部の処理のフローチャートの一例である。
【発明を実施するための形態】
【００１９】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００２０】
＜第１実施形態＞
映像データ蓄積システムのシステム構成は、例えば、図１又は図２に示される映像データ蓄積システムのいずれであってもよい。第１実施形態では、図２に示される映像データ蓄積システム２００を想定する。エンコーダ５０は、例えば、定点観測カメラであって、常時稼働しているものとする。また、エンコーダ５０は、蓄積サーバＡ、Ｂに対して、ストリーミング配信を行っているものとする。第１実施形態において、ストリーミング配信とは、定点観測カメラ等が撮影した映像データをエンコーダ５０がエンコードし、エンコードされたデータがエンコーダ５０のハードディスク等へ転送された時点で該エンコードされたデータの送信を行うことを示す。
【００２１】
例えば、蓄積サーバＡ、Ｂは、それぞれ、単一のエンコーダ５０からストリーミング配信により異なる経路で受信された映像パケットを含むファイルＡ、Ｂを作成する。映像パケットには、シーケンス番号がエンコーダ５０によって付与されている。蓄積サーバＡ、Ｂは、それぞれ、ファイルＡ、Ｂについて、ファイルＡ、Ｂに含まれる映像パケットのシーケンス番号とファイルＡ、Ｂ内における先頭からの位置を示すオフセット位置情報とを含むインデックスファイルを作成する。
【００２２】
蓄積サーバＡ、Ｂは、それぞれ、ファイルＡ、Ｂのインデックスファイルに基づいて、シーケンス番号の不連続になる個所からファイルＡ、Ｂ内の欠損した映像パケットを特定する。欠損した映像パケットを、以降、単に、欠損パケット、と称する。蓄積サーバＡ、
Ｂは、それぞれ、ファイルＡ、Ｂ内の欠損パケットのオフセット位置情報をファイルＢ、Ａのインデックスファイルから取得し、取得したオフセット位置情報に該当する映像パケットをファイルＢ、Ａから取得する。
【００２３】
蓄積サーバＡ、Ｂは、それぞれ、ファイルＢ、Ａから取得した欠損パケットに対応する映像パケットで、ファイルＡ、Ｂの補完ファイルＡ−１、Ｂ−１を作成する。
【００２４】
これによって、ファイルＡ、ファイルＢのいずれが読み出された場合でも、欠損パケットは補完ファイルＡ−１、Ｂ−１から読み出されることで、エンコーダ５０から送出されたオリジナルの映像データを再現することができる。
【００２５】
第１実施形態では、エンコーダ５０は、ＭＰＥＧを用いて映像データをエンコードするものとする。また、エンコーダ５０は、ＲＴＰを用いて、映像データを送信することとする。
【００２６】
エンコーダ５０は、「映像源」の一例である。蓄積サーバＡ、Ｂは、「映像データ処理装置」の一例である。映像データ蓄積システム１００、２００は、それぞれ、「映像データ処理システム」の一例である。
【００２７】
＜装置構成＞
図４は、蓄積サーバ１のハードウェア構成の一例を示す図である。蓄積サーバ１は、例えば、専用又は汎用のコンピュータである。蓄積サーバ１は、ＣＰＵ（Central Processing Unit）１０１、主記憶装置１０２、補助記憶装置１０３、ネットワークインタフェー
ス１０４を備える。また、これらはバス１０５により互いに電気的に接続されている。
【００２８】
補助記憶装置１０３は、様々なプログラムや、各プログラムの実行に際してＣＰＵ  １０１が使用するデータを格納する。補助記憶装置１０３は、例えば、ハードディスクドライブ（Hard Disk Drive）等の不揮発性のメモリである。補助記憶装置１０３は、例えば
、オペレーティングシステム（ＯＳ）、映像データ処理プログラム、その他様々なアプリケーションプログラムを保持する。映像データ処理プログラムは、ファイル内の欠損パケットを他のファイルから取得し、補完データを作成するためのプログラムである。
【００２９】
主記憶装置１０２は、ＣＰＵ  １０１に、補助記憶装置１０３に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶装置１０２は、例えば、ＲＡＭ（Random Access Memory）のような半導体メモリを含む。
【００３０】
ＣＰＵ  １０１は、補助記憶装置１０３に保持されたＯＳや様々なアプリケーションプログラムを主記憶装置１０２にロードして実行することによって、様々な処理を実行する。ＣＰＵ  １０１は、１つに限られず、複数備えられてもよい。
【００３１】
ネットワークインタフェース１０４は、ネットワークとの信号の入出力を行うインタフェースである。ネットワークインタフェース１０４は、有線のネットワークと接続するインタフェース、無線のネットワークと接続するインタフェースを含む。ネットワークインタフェース１０４は、有線のネットワークと接続する場合には、例えば、光信号回路、ＮＩＣ（Network Interface Card）等である。ネットワークインタフェース１０４は、無線のネットワークと接続する場合には、衛星信号の受信回路等である。ネットワークインタフェース１０４で受信されたデータ等は、ＣＰＵ  １０１に出力される。
【００３２】
なお、図４に示される蓄積サーバ１のハードウェア構成は、一例であり、上記に限られ
ず、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。例えば、蓄積サーバ１は、可搬記録媒体駆動装置を備え、可搬記録媒体に記録されたプログラムを実行してもよい。可搬記録媒体は、例えば、ＳＤカード、ｍｉｎｉＳＤカード、ｍｉｃｒｏＳＤカード、ＵＳＢ（Universal Serial Bus）フラッシュメモリ、ＣＤ（Compact Disc）、ＤＶＤ(Digital Versatile Disc)、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ、又はフラッシュメモリカードのような記録媒体である。
【００３３】
図５は、蓄積サーバ１の機能構成の一例を示す図である。蓄積サーバ１は、機能構成として、蓄積部１１、中間処理部１２、補完処理部１３、配信処理部１４、削除処理部１５を備える。蓄積部１１、中間処理部１２、補完処理部１３、配信処理部１４、削除処理部１５は、ＣＰＵ  １０１が映像データ処理プログラム１０３Ｐを実行することによって達成される機能構成である。
【００３４】
蓄積サーバ１は、ファイルサーバ２と接続している。ファイルサーバ２は、例えば、ＮＡＳ（Network Attached Storage）、ＣＩＦＳ（Common Internet File System）等のフ
ァイル共有プロトコルを実行するサーバである。
【００３５】
蓄積部１１は、エンコーダ５０から継続的にＲＴＰパケットを受信する。蓄積部１１は、受信した映像データを、例えば、映像データに付与されたタイムスタンプに基づいて、所定の基準時刻から所定時間長単位で区切って、区切られた該所定時間長に含まれる映像データを１つの映像ファイルとする。所定時間長は、例えば、３０分〜１日の間でデータセンタ６２の管理者が任意に設定可能である。映像ファイルは、最大で該所定の時間帯の時間長分のデータ量となる。映像ファイルは、ファイルサーバ２に格納される。蓄積部１１は、「ファイル作成部」の一例である。
【００３６】
蓄積部１１は、映像ファイルに対してハッシュ計算を行い、ハッシュデータを作成する。ハッシュ計算は、例えば、ＳＨＡ１（Secure Hash Algorithm 1）、ＭＤ５（Message Digest Algorithm 5）等であり、いずれかに限定されない。蓄積部１１は、ハッシュデー
タを対応する映像ファイルと紐づけてファイルサーバ２に格納する。蓄積部１１は、「ハッシュデータ作成部」の一例である。
【００３７】
蓄積部１１は、映像ファイルに対してインデックスファイルを作成する。インデックスファイルの詳細は、後述される。蓄積部１１は、インデックスファイルを対応する映像ファイルと紐づけてファイルサーバ２に格納する。蓄積部１１は、「インデックス作成部」の一例である。
【００３８】
中間処理部１２は、ファイルサーバ２から対象の映像ファイルのハッシュデータを取得する。また、中間処理部１２は、対象の映像ファイルの冗長データである他の装置によって作成された映像ファイルのハッシュデータを該当のファイルサーバ２から取得する。例えば、図２の蓄積サーバＡの中間処理部１２は、ファイルサーバＡからファイルＡのハッシュデータと、ファイルサーバＢから蓄積サーバＢによって作成されたファイルＢのハッシュデータと、を取得する。
【００３９】
中間処理部１２は、取得した２つのハッシュデータを比較する。例えば、図２のファイルＡとファイルＢとが、いずれもパケットの欠損がない場合には、ファイルＡとファイルＢとのハッシュデータは一致する。しかしながら、図２のファイルＡとファイルＢに含まれる映像パケットの伝送途中にパケット損失が発生した場合には、ファイルＡとファイルＢとは一致しないので、ファイルＡとファイルＢとのハッシュデータも一致しない。
【００４０】
したがって、中間処理部１２は、取得した２つのハッシュデータが一致しない場合には
、自装置が作成した映像ファイル内にパケットの欠落の可能性があることを判定し、補完処理部１３を呼び出す。取得した２つのハッシュデータが一致する場合には、中間処理部１２は、自装置が作成した映像ファイル内にパケットの欠落はないことを判定し、補完処理部１３を呼び出さない。中間処理部１２は、「比較部」の一例である。
【００４１】
なお、図２のファイルＡとファイルＢとに含まれる映像パケットの伝送途中で損失されたパケットが一致して、ファイルＡのハッシュデータとファイルＢのハッシュデータとが一致する場合が発生する可能性がある。ファイルＡとファイルＢとに含まれる映像パケットの伝送途中で損失されたパケットが一致している場合には、一方のファイルの欠損パケットを他方のファイルから補完すること自体ができない。また、ファイルＡとファイルＢとに含まれる映像パケットの伝送途中で損失されたパケットは異なるものの、ファイルＡのハッシュデータとファイルＢのハッシュデータとが一致する場合も発生する可能性がある。このような場合が発生する可能性は非常に低いため、第１実施形態では、考慮されないものとする。
【００４２】
補完処理部１３は、中間処理部１２に呼び出された場合に、自装置の作成した映像ファイルのインデックスファイルと他の装置によって作成された映像ファイルのインデックスファイルとに基づいて、自装置の作成した映像ファイルの欠損パケットの補完ファイルを作成する。具体的には、補完処理部１３は、自装置の作成した映像ファイルの欠損パケットに相当する映像パケットを他の装置が作成した映像ファイルから取得する。補完処理部１３は、取得した映像パケットから、対応する映像ファイルとは異なるファイルである補完ファイルを作成する。補完処理部１３は、対応する映像ファイルに補完ファイルを紐づけて、該補完ファイルをファイルサーバ２に格納する。補完処理部１３は、「補完データ作成部」の一例である。
【００４３】
配信処理部１４は、映像ファイルに対する配信要求を受信すると、配信要求によって指定された時刻に該当する映像パケットの映像ファイルにおける位置をインデックスファイルから特定し、特定した映像パケットから配信を開始する。配信処理部１４は、映像ファイル中で欠損パケットに相当する映像パケットは、対応する補完ファイルから読み出す。配信処理部１４は、「配信部」の一例である。
【００４４】
削除処理部１５は、自装置が作成した映像ファイルと、該映像ファイルの冗長データである他の装置が作成した映像ファイルとのうち、映像品質の劣る方の映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルを削除する。ただし、削除処理部１５は、蓄積サーバＡ、Ｂのうち、マスタに設定された一台の蓄積サーバに備えられており、マスタ以外の蓄積サーバには備えられない。第１実施形態では、映像品質の優劣は、欠損パケットの連続する回数で判定される。削除処理部１５は、「削除部」の一例である。
【００４５】
ファイルサーバ２のハードウェア構成は、蓄積サーバ１のハードウェア構成とほぼ同様であり、ＣＰＵ、主記憶装置、補助記憶装置、ネットワークインタフェースを含む。ファイルサーバ２は、蓄積サーバ１からの要求に応じて、ファイル等のデータの読み出し、書き込みを行う。
【００４６】
ファイルサーバ２は、蓄積サーバ１と同じ拠点に設置されていてもよいし、異なる拠点に設置されていてもよい。データセンタ６２には複数のファイルサーバ２が設置されており、蓄積サーバ１がいずれのファイルサーバ２を利用するかは、予め管理者によって設定されている。
【００４７】
第１実施形態では、ファイルサーバ２の補助記憶装置には、映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルが蓄積サーバ１によって格納され、セットで
保持される。映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルは、第１実施形態では、共通のファイル名を有することで紐づけられる。ファイル名は、例えば、映像ファイルが１時間の時間長で、各時間帯単位で作成される場合には、映像の録画された日付と時間帯を示すように付与される。また、映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルは、それぞれ、異なる拡張子を有し、該拡張子でいずれのファイルであるかを判別可能となっている。
【００４８】
ただし、映像ファイル、インデックスファイル、ハッシュデータ、補完ファイルの紐づけ方はこれに限られない。また、ファイル名の付与方法も、これに限られない。
【００４９】
図６は、映像データを伝送するＲＴＰパケットの構成を示す図である。ＲＴＰパケットのペイロード部には、複数のＴＳ（TranSport）パケットが格納される。ＴＳパケットは
、例えば、定点カメラから入力された映像データが、エンコーダ５０によってＭＰＥＧでエンコードされて作成されるパケットである。ＴＳパケットは、「映像パケット」の一例である。
【００５０】
ＴＳパケットのサイズは、例えば、ＭＰＥＧ−２では、１８８バイトである。また、ＴＳパケットにタイムスタンプが付与される場合には、ＴＳパケットのサイズは、１９２バイトとなり、ＴＴＳ（Timestamped TS）パケットと称される。ＴＴＳパケットのタイムスタンプは、エンコーダ５０によって該ＴＴＳパケットが作成された時刻を表す。第１実施形態では、エンコーダ５０によってタイムスタンプが付与されるＴＴＳパケットが用いられることとする。以降、ＴＳパケットとＴＴＳパケットとは、特に区別せずに、ＴＳパケットと称する。ＴＳパケットとＴＴＳパケットとが区別されて扱われる場合には、ＴＴＳパケットと区別して表記する。
【００５１】
ＩＰパケットのＭＴＵ（Maximum Transmission Unit）は１５００バイトであるので、
１つのＲＴＰパケットには、理論上、最大７つまでＴＴＳパケットを格納することができる。なお、ＲＴＰパケットに格納されるＴＴＳパケットの上限個数は、管理者が任意に設定可能である。
【００５２】
タイムスタンプは、ＴＳパケットの先頭に付与されている。ＴＳパケットのヘッダに含まれる情報の一つに、シーケンス番号がある。ＴＳパケットのシーケンス番号は、ＭＰＥＧ−２では、４バイトの巡回カウンタによって示される。巡回カウンタは、値が１ずつ増加し、最大値１６（０ｘ１１１１）となると、値が０（０ｘ００００）に戻る。
【００５３】
映像データの伝送途中で１つのＲＴＰパケットが損失されると、該ＲＴＰパケットに格納されている複数のＴＳパケットも損失される。１つのＲＴＰパケットに６個のＴＳパケットが含まれる場合には、１つのＲＴＰパケットが損失されると６つのＴＳパケットが損失される。そのため、映像ファイル内の該欠損パケットの前後のＴＳパケットのシーケンス番号は、例えば、０から７と、６つ飛ぶこととなる。このように、シーケンス番号の不連続性によって、パケット損失を検出することができる。
【００５４】
図７は、蓄積部１１の映像ファイルの作成処理の一例を示す図である。蓄積部１１は、ファイル出力バッファ１１Ｍを含む。ファイル出力バッファ１１Ｍのサイズは、所定時間長分のＴＳパケットを格納できるサイズである。例えば、ファイル出力バッファ１１Ｍのサイズは、３０秒分のＴＳパケットを格納できるサイズである。
【００５５】
蓄積部１１は、ＲＴＰパケットを受信すると、ＲＴＰパケットのペイロード部に格納されるＴＳパケットをシーケンス番号順にファイル出力バッファ１１Ｍに格納する。ファイル出力バッファ１１Ｍが満杯になると、蓄積部１１は、ファイル出力バッファ１１Ｍに格
納されているＴＳパケットを、ファイルサーバ２内の最新の映像ファイルの末尾にシーケンス番号順に追加する。最新の映像ファイルのサイズが最大時間長に達すると、蓄積部１１は、新たに映像ファイルを作成し、以降は、新たに作成された映像ファイルが最新の映像ファイルとして取り扱われる。
【００５６】
図８は、インデックスファイルの構成の一例を示す図である。インデックスファイルには、蓄積情報と、ＴＳ情報と、が含まれる。
【００５７】
蓄積情報は、インデックスファイルに対応する映像ファイル全体の情報である。蓄積情報には、例えば、インデックスファイルに対応する映像ファイルに含まれるＴＳパケットの数と、該映像ファイルのサイズとが含まれる。蓄積情報に含まれるファイルのサイズは、バイト単位である。
【００５８】
ＴＳ情報は、インデックスファイルに対応する映像ファイルに含まれるＴＳパケットに関する情報である。ＴＳ情報は、１つのＴＳパケットにつき１つ作成される。すなわち、ＴＳ情報は、インデックスファイル内に、対応する映像ファイルに含まれるＴＳの数分存在する。ＴＳ情報には、例えば、ＴＳ時間、シーケンス番号、オフセット、タイムスタンプが含まれる。
【００５９】
ＴＳ情報に含まれるＴＳ時間は、ＴＳパケットの、インデックスファイルに対応する映像ファイルの先頭を基点とする再生開始時間である。ＴＳ時間は、例えば、ミリ秒単位である。
【００６０】
ＴＳ情報に含まれるシーケンス番号は、ＴＳパケットのヘッダ内に含まれるシーケンス番号の値である。ＴＳ情報に含まれるオフセットは、インデックスファイルに対応する映像ファイルの先頭から該ＴＳパケットまでのバイト数である。
【００６１】
ＴＳ情報に含まれるタイムスタンプは、ＴＳパケットの先頭に付与されているタイムスタンプの値である。エンコーダ５０と蓄積サーバ１とでクロックの周波数が異なる場合には、タイムスタンプの値は、蓄積サーバ１のクロックの周波数の単位に変換される。
【００６２】
インデックスファイルは、ファイルサーバ２内の映像ファイルへのＴＳパケットの書き込みの際に、蓄積部１１によって作成及び更新される。
【００６３】
図９は、補完処理部１３、配信処理部１４の処理の一例を示す図である。図９では、図２の蓄積サーバＡが、ファイルＢを用いてファイルＡの欠損パケットを補完する場合の例が示される。図９では、ＴＳパケットのシーケンス番号は、便宜的に、＃１、＃２、…のように表記されている。
【００６４】
補完処理部１３は、ファイルＡのインデックスファイル内のＴＳパケットのシーケンス番号の不連続により、欠損パケットを特定する。図９に示されるファイルＡでは、ＴＳパケット＃２の次がＴＳパケット＃５となり、シーケンス番号が不連続である。これより、ＴＳパケット＃３、＃４の欠損が特定される。
【００６５】
補完処理部１３は、ファイルＢのインデックスファイルを参照し、ファイルＡの欠損パケットであるＴＳパケット＃３、＃４がファイルＢにあるかを判定する。図９に示される例では、ファイルＢには、ＴＳパケット＃３、＃４が存在する。補完処理部１３は、ファイルＢのインデックスファイルからＴＳパケット＃２３、＃４のオフセットを取得し、ファイルＢ内の該オフセットが示す位置からＴＳパケット＃３、＃４を取得する。
【００６６】
補完処理部１３は、ファイルＢから取得したＴＳパケット＃３、＃４を補完ファイルに追加する。なお、補完処理部１３は、処理バッファを有しており、ファイルＡの欠損パケットの補完のためにファイルＢから取得したＴＳパケットを処理バッファに格納する。補完処理部１３は、処理バッファが満杯になった場合、又は、対象の映像ファイルの補完処理が終了した場合に、処理バッファ内のＴＳパケットを補完ファイルに格納する。
【００６７】
配信処理部１３は、ファイルＡを配信する場合には、ファイルＡ内の配信要求の指定時刻のＴＳパケットから読み出しを開始する。例えば、配信処理部１３は、ＴＳパケット＃１から読み出し開始した場合、インデックスファイルを参照し、次に読み出すＴＳパケット＃２がファイルＡ内にあることを検出し、ＴＳパケット＃２をファイルＡから読み出す。次に、配信処理部１３は、インデックスファイルを参照し、次に読み出すＴＳパケット＃３がファイルＡ内にないことを検出し、ＴＳパケット＃３を補完ファイルから読み出す。ＴＳパケット＃４も同様に、補完ファイルから読み出される。
【００６８】
ファイルＢから取得したパケットをファイルＡの欠損パケットの位置に挿入することで、ファイルＡの補完を行う場合には、ファイルＡを書き換える処理となるため、蓄積サーバＡの処理負荷が大きくなるおそれがある。映像ファイルとは別に補完ファイルが作成されることによって、欠損パケットの読み出し先を補完ファイルに変更することでファイルＡの補完を行うことができ、ファイルＡを書き換える処理よりも蓄積サーバ１に係る負荷を少なくすることができる。
【００６９】
＜処理の流れ＞
図１０は、蓄積サーバ１の蓄積部１１の処理のフローチャートの一例である。図１０に示される処理は、例えば、蓄積部１１がＲＴＰパケットを受信すると開始される。
【００７０】
ＯＰ１では、蓄積部１１は、受信ＲＴＰパケットに含まれるＴＳパケットと、直前のＲＴＰパケットに含まれるＴＳパケットとのシーケンス番号に基づいて、ＲＴＰパケットの損失があるか否かを判定する。ＲＴＰパケットの損失が検出された場合には（ＯＰ１：ＹＥＳ）、処理がＯＰ２に進む。ＲＴＰパケットの損失が検出されない場合には（ＯＰ１：ＮＯ）、処理がＯＰ３に進む。
【００７１】
ＯＰ２では、蓄積部１１は、ＲＴＰパケットの損失が検出されたので、エラー訂正を行う。なお、第１実施形態では、エンコーダ５０は、所定の誤り訂正符号方式を用いてデータ送信を行っており、蓄積部１１は、該所定の誤り訂正符号方式に従って、欠損パケットの復元を行うことが可能である。誤り訂正符号方式は、特定のものに限定されず、公知の方式のいずれであってもよい。なお、例えば、パケット損失が多発するような場合には、ＯＰ２におけるエラー訂正において、欠損パケットが復元されない場合もある。次に処理がＯＰ３に進む。
【００７２】
ＯＰ３では、蓄積部１１は、受信したＲＴＰパケットからＴＳパケットを抽出して、ファイル出力バッファ１１Ｍに追加する。ＯＰ２のエラー訂正によって欠損パケットが復元されている場合には、蓄積部１１は、復元されたＲＴＰパケットから抽出されるＴＳパケットもファイル出力バッファ１１Ｍに追加する。次に処理がＯＰ４に進む。
【００７３】
ＯＰ４では、蓄積部１１は、ファイル出力バッファ１１Ｍの空きがあるか否かを判定する。例えば、ファイル出力バッファ１１Ｍの空き容量に閾値を設定し、ファイル出力バッファの空き容量が該閾値未満である場合に、蓄積部１１は、ファイル出力バッファ１１Ｍの空きがないことを判定する。ファイル出力バッファ１１Ｍの空き容量の閾値は、例えば、３０００バイト以上の値に設定される。ＩＰパケットの最大長が１５００バイトであることと、受信パケットに加えてＯＰ２のエラー訂正により復元されるパケットもファイル
出力バッファ１１Ｍに追加されることがあるからである。ただし、ファイル出力バッファ１１Ｍの空き容量の閾値は、管理者が任意に設定可能であり、限定されない。
【００７４】
ファイル出力バッファ１１Ｍの空きがある場合には（ＯＰ４：ＹＥＳ）、図１０に示される処理が終了する。ファイル出力バッファ１１Ｍの空きがない場合には（ＯＰ４：ＮＯ）、処理がＯＰ５に進む。
【００７５】
ＯＰ５では、蓄積部１１は、ファイル出力バッファ１１Ｍに格納されているＴＳパケットをファイルサーバ２内の最新の映像ファイルに追加する。例えば、最新の映像ファイルのサイズが所定の時間長となる場合には、蓄積部１１は、新たに映像ファイルを作成する。次に処理がＯＰ６に進む。
【００７６】
ＯＰ６では、蓄積部１１は、ＯＰ５においてＴＳパケットを追加した映像ファイルのハッシュデータを作成する。既存の映像ファイルについては、該映像ファイルに対応するハッシュデータの上書き処理となる。新たに作成された映像ファイルについては、ハッシュデータの作成処理となる。次に処理がＯＰ７に進む。
【００７７】
ＯＰ７では、蓄積部１１は、ＯＰ５においてＴＳパケットを追加した映像ファイルのインデックスファイルを作成する。既存の映像ファイルについては、該映像ファイルに追加したＴＳパケットのＴＳ情報を該映像ファイルに対応するインデックスファイルに追加する処理となる。新たに作成された映像ファイルについては、インデックスファイルの作成処理となる。その後、図１０に示される処理が終了する。
【００７８】
なお、図１０に示される処理は一例であって、適宜、処理の実行順の変更や、処理の追加、削除等も可能である。例えば、ＯＰ６とＯＰ７との処理の実行順は逆であってもよい。また、エンコーダ５０が誤り符号訂正処理を行わずにデータ送信する場合には、ＯＰ１、ＯＰ２の処理は実行されなくともよい。
【００７９】
図１１は、蓄積サーバ１の中間処理部１２の処理のフローチャートの一例である。図１１に示されるフローチャートは、所定の周期で最新の映像ファイルに対して実行されてもよいし、所定のイベントの発生時に実行されてもよい。図１１のフローチャートが周期的に実行される場合の実行周期は、映像ファイルの上限時間長よりも小さい値となる。また、図１１のフローチャートの実行契機となる所定のイベントは、例えば、映像ファイルが上限時間長になり、次の新しい映像ファイルが作成されることである。
【００８０】
ＯＰ１１では、中間処理部１２は、比較対象のハッシュデータをそれぞれ対応するファイルサーバ２から読み込む。例えば、図２のシステムにおいて、蓄積サーバＡ及び蓄積サーバＢの双方とも、ファイルＡ、Ｂに対応するハッシュデータを読み込む。次に処理がＯＰ１２に進む。
【００８１】
ＯＰ１２では、中間処理部１２は、比較対象のハッシュデータが一致するか否かを判定する。比較対象のハッシュデータが一致する場合には（ＯＰ１２：ＹＥＳ）、図１１に示される処理が終了する。比較対象のハッシュデータが一致しない場合には（ＯＰ１２：ＮＯ）、処理がＯＰ１３に進む。
【００８２】
ＯＰ１３では、中間処理部１２は、比較対象のハッシュデータが一致しないので、自装置の管理している方の映像データについて、補完処理を行うことを判定し、補完処理部１３を呼び出す。その後、図１１に示される処理が終了する。
【００８３】
図１２は、蓄積サーバ１の補完処理部１３の処理のフローチャートの一例である。図１
２に示されるフローチャートは、補完処理部１３が中間処理部１２によって呼び出されると開始される。なお、図１２に示されるフローチャートは、説明の便宜上、図２の蓄積サーバＡを主体に想定している。
【００８４】
ＯＰ２１では、補完処理部１３は、比較対象のインデックスファイルを読み込む。蓄積サーバＡの補完処理部１３は、ファイルＡ、Ｂのインデックスファイルを読み込む。次に処理がＯＰ２２に進む。
【００８５】
ＯＰ２２からＯＰ２８の処理は、蓄積サーバ１の管理対象の映像ファイル、すなわち、蓄積サーバＡの管理対象であるファイルＡに含まれるＴＳパケットの数分繰り返し実行される。
【００８６】
ＯＰ２２では、補完処理部１３は、ファイルＡのインデックスファイルを参照し、処理対象のＴＳパケットのシーケンス番号がファイルＡ内の直前のＴＳパケットのシーケンス番号から連続する値であるか否かを判定する。処理対象のＴＳパケットのシーケンス番号がファイルＡ内の直前のＴＳパケットのシーケンス番号から連続する値である場合には（ＯＰ２２：ＮＯ）、パケットの欠損は検出されず、ファイルＡ内の次のＴＳパケットについて、ＯＰ２２から処理が開始される。
【００８７】
処理対象のＴＳパケットのシーケンス番号がファイルＡ内の直前のＴＳパケットのシーケンス番号から連続しない値である場合には（ＯＰ２２：ＹＥＳ）、パケットの欠損が検出され、処理がＯＰ２３に進む。
【００８８】
ＯＰ２３では、補完処理部１３は、ファイルＡ内の処理対象のＴＳパケットのシーケンス番号とファイルＡ内の直前のＴＳパケットのシーケンス番号との間の、欠損しているシーケンス番号を特定する。欠損しているシーケンス番号を、以降、欠損シーケンス番号と称する。なお、伝送中のパケット損失の場合には、ＲＴＰパケットが損失されるので、複数のＴＳパケットが損失される。そのため、ＯＰ２３では、損失されたＲＴＰパケットに含まれるＴＳパケットの数分のシーケンス番号が欠損シーケンス番号として特定される。次に処理がＯＰ２４に進む。
【００８９】
ＯＰ２４では、補完処理部１３は、ファイルＡの欠損シーケンス番号がファイルＢのインデックスファイル中にあるか否かを判定する。ファイルＡの欠損シーケンス番号がファイルＢのインデックスファイル中にある場合には（ＯＰ２４：ＹＥＳ）、処理がＯＰ２５に進む。ファイルＡの欠損シーケンス番号がファイルＢのインデックスファイル中にない場合には（ＯＰ２４：ＮＯ）、ＯＰ２３で特定されたファイルＡの欠損シーケンス番号の映像パケットをファイルＢから補完することができないので、ファイルＡ内の次のＴＳパケットについてＯＰ２２へと処理が進む。
【００９０】
ＯＰ２５では、補完処理部１３は、ファイルＢからＯＰ２３で特定したファイルＡの欠損シーケンス番号に該当するＴＳパケットを取得する。ファイルＢ内の欠損シーケンス番号に該当するＴＳパケットの位置は、ファイルＢのインデックスファイルの該当ＴＳ情報内のオフセットから取得される。次に処理がＯＰ２６に進む。
【００９１】
ＯＰ２６では、補完処理部１３は、処理バッファにＯＰ２５で取得したＴＳパケットを追加する。次に処理がＯＰ２７に進む。
【００９２】
ＯＰ２７では、補完処理部１３は、処理バッファに空きがあるか否かを判定する。例えば、処理バッファの空き容量に閾値を設定し、処理バッファの空き容量が該閾値未満である場合に、補完処理部１３は、処理バッファの空きがないことを判定する。処理バッファ
に空きがある場合には（ＯＰ２７：ＹＥＳ）、ファイルＡ内の次のＴＳパケットについてＯＰ２２へと処理が進む。処理バッファに空きがない場合には（ＯＰ２７：ＮＯ）、処理がＯＰ２８に進む。
【００９３】
ＯＰ２８では、補完処理部１３は、ファイルサーバＡ内のファイルＡの補完ファイルに処理バッファに格納されているＴＳパケットを追加する。その後、ファイルＡ内の次のＴＳパケットについてＯＰ２２へと処理が進む。
【００９４】
図１３Ａ、図１３Ｂは、蓄積サーバ１の配信処理部１４の処理のフローチャートの一例である。図１３に示されるフローチャートは、蓄積サーバ１が再生開始時刻の指定を含む配信要求を受信すると開始される。配信要求に含まれる指定された再生開始時刻を、以降、指定時刻と称する。
【００９５】
ＯＰ３１では、配信処理部１４は、配信対象の映像ファイルに対応するインデックスファイルを読み込む。なお、映像ファイルに含まれる映像データの少なくとも記録開始の時刻の情報は、メタデータとして保持されており、指定時刻と該映像データの記録開始の時刻の情報とから配信対象の映像ファイルを特定可能である。次に処理がＯＰ３２に進む。
【００９６】
ＯＰ３２では、配信処理部１４は、配信対象の映像ファイルに対応するインデックファイル内のＴＳ時間に基づいて、指定時刻に対応する該映像ファイルの読み込み位置を特定する。ＴＳ時間は、ＴＳパケットの映像ファイルの先頭からの再生開始時間を示す。配信処理部１４は、指定時刻と映像ファイルの開始時刻との差分の時間長とインデックスファイル内のＴＳ時間の値とが合致又はほぼ合致するＴＳパケットのオフセットを読み込み位置として特定する。次に処理がＯＰ３３に進む。
【００９７】
ＯＰ３３では、配信処理部１４は、ＯＰ３２で特定した映像ファイルの読み込み位置に指定時刻のデータがあるか否かを判定する。この判定は、映像ファイルのインデックスファイル内のＴＳパケットのタイムスタンプに基づいて行われる。映像ファイル内に指定時刻のタイムスタンプを有するＴＳパケットがある場合には（ＯＰ３３：ＹＥＳ）、配信処理部１４は、該ＴＳパケットを取得し、処理がＯＰ３６に進む。映像ファイル内に指定時刻のタイムスタンプを有するＴＳパケットがない場合には（ＯＰ３３：ＮＯ）、処理がＯＰ３４に進む。
【００９８】
ＯＰ３４では、配信処理部１４は、映像ファイル内に指定時刻のタイムスタンプを有するＴＳパケットがないので、該映像ファイルに対応する補完ファイルを参照し、補完ファイル内に指定時刻のタイムスタンプを有するＴＳパケットがあるか否かを判定する。補完ファイル内に指定時刻のタイムスタンプを有するＴＳパケットがある場合には（ＯＰ３４：ＹＥＳ）、配信処理部１４は補完ファイルから該当のＴＳパケットを取得し、処理がＯＰ３６に進む。補完ファイル内に指定時刻のタイムスタンプを有するＴＳパケットがない場合には（ＯＰ３４：ＮＯ）、処理がＯＰ３５に進む。
【００９９】
ＯＰ３５では、配信処理部１４は、映像ファイル内に指定時刻の次の時刻に該当するＴＳパケットがあるか否かを判定する。映像ファイル内に指定時刻の次の時刻に該当するＴＳパケットがない場合には（ＯＰ３５：ＮＯ）、処理がＯＰ３４に戻り、配信処理部１４は、補完ファイルを参照する。映像ファイル内に指定時刻の次の時刻に該当するＴＳパケットがある場合には（ＯＰ３５：ＹＥＳ）、配信処理部１４は、該ＴＳパケットを取得し、処理がＯＰ３６に進む。
【０１００】
ＯＰ３６では、配信処理部１４は、取得したＴＳパケットを送信バッファに出力する。送信バッファは、主記憶装置１０２に作成されるＦＩＦＯ（First In First Out）キュー
である。次に処理がＯＰ３７に進む。
【０１０１】
ＯＰ３７からＯＰ３９は、ＯＰ３６において送信バッファに出力されたＴＳパケットの次のシーケンス番号を有するＴＳパケット以降のＴＳパケットについて繰り返し実行される処理である。
【０１０２】
ＯＰ３７では、配信処理部１４は、映像ファイル内に該当シーケンス番号のデータがあるか否かを判定する。この判定は、映像ファイル内のＴＳパケットのヘッダ内のシーケンス番号に基づいて行われる。映像ファイル内に該当シーケンス番号のＴＳパケットがある場合には（ＯＰ３７：ＹＥＳ）、配信処理部１４は、該ＴＳパケットを取得し、処理がＯＰ３９に進む。映像ファイル内に該当シーケンス番号のＴＳパケットがない場合には（ＯＰ３７：ＮＯ）、処理がＯＰ３８に進む。
【０１０３】
ＯＰ３８では、配信処理部１４は、映像ファイル内に該当シーケンス番号のＴＳパケットがないので、該映像ファイルに対応する補完ファイルを参照し、該当シーケンス番号のＴＳパケットがあるか否かを判定する。補完ファイル内に該当シーケンス番号のＴＳパケットがある場合には（ＯＰ３８：ＹＥＳ）、配信処理部１４は補完ファイルから該当のＴＳパケットを取得し、処理がＯＰ３９に進む。補完ファイル内に該当シーケンス番号のＴＳパケットがない場合には（ＯＰ３８：ＮＯ）、処理がＯＰ３７に進み、該当シーケンス番号の次のシーケンス番号のＴＳパケットについて処理が行われる。
【０１０４】
ＯＰ３９では、配信処理部１４は、取得したＴＳパケットを送信バッファに出力する。処理がＯＰ３７に進み、該当シーケンス番号の次のシーケンス番号のＴＳパケットについて処理が行われる。ＯＰ３７からＯＰ３９の処理は、配信要求元から配信停止要求を受信するまで繰り返し実行される。
【０１０５】
図１３Ａ、図１３Ｂの処理は、送信バッファにＴＳパケットを出力する処理である。配信処理部１４は、送信バッファからＴＳパケットを読み出し、配信要求元に送信する処理も行う。送信バッファからＴＳパケットを読み出し、配信要求元に送信する処理では、配信処理部１４は、インデックスファイルのタイムスタンプに基づいて、データ送出タイミングを合わせて、ＴＳパケットを順に送信する。
【０１０６】
図１４は、蓄積サーバ１の削除処理部１５の処理のフローチャートの一例である。図１４に示される処理は、例えば、所定の周期で実行される。所定の周期は、例えば、一時間に一回、一日に一回等であり、管理者によって任意に設定される。なお、図１４に示される処理は、マスタに設定されている蓄積サーバ１によって実行される処理である。図１４では、説明の便宜上、図２のファイルＡ、ファイルＢを削除対象として説明する。なお、削除対象となるのは、図１４の処理の実行開始時点で、冗長ファイルが存在する映像ファイルである。ただし、上限時間長に達していない最新のファイルについては、削除対象から削除されるものとする。
【０１０７】
ＯＰ４１では、削除処理部１５は、削除対象のファイルＡ、ファイルＢのインデックファイルを読み込む。次に処理がＯＰ４２に進む。
【０１０８】
ＯＰ４２では、削除処理部１５は、ファイルＡ、ファイルＢ、それぞれについて、それぞれのインデックスファイルのシーケンス番号から、欠損パケット数を算出する。次に処理がＯＰ４３に進む。
【０１０９】
ＯＰ４３では、削除処理部１５は、ファイルＡとファイルＢとで、欠損パケット数が一致しているか否かを判定する。ファイルＡとファイルＢとで欠損パケット数が一致する場
合には（ＯＰ４３：ＹＥＳ）、処理がＯＰ４６に進む。ファイルＡとファイルＢとで欠損パケット数が異なる場合には（ＯＰ４３：ＮＯ）、処理がＯＰ４４に進む。
【０１１０】
ＯＰ４４、ＯＰ４５は、ファイルＡとファイルＢとで欠損パケット数が異なる場合の処理である。ＯＰ４４では、削除処理部１５は、ファイルＡ、ファイルＢ、それぞれについて、ＴＳパケットが連続して欠損している回数を算出する。次に処理がＯＰ４５に進む。
【０１１１】
ＯＰ４５では、削除処理部１５は、ＴＳパケットが連続して欠損している回数が多い方の映像ファイルと該映像ファイルの補完ファイルとを削除対象としてマークする。第1実
施形態では、ＴＳパケットが連続して欠損している回数が多いほど、映像品質が劣る、とみなされるためである。すなわち、削除処理部１５は、映像品質の良い方のファイルを残す。次に、処理がＯＰ４７に進む。
【０１１２】
ＯＰ４６は、ファイルＡとファイルＢとで欠損パケット数が一致しているので、マスタである自装置が管理する映像ファイルと該映像ファイルの補完ファイルとを削除対象としてマークする。次に処理がＯＰ４７に進む。
【０１１３】
ＯＰ４７では、削除処理部１５は、ディスク使用率を確認し、ファイルを格納するファイルサーバ２へのアクセス待ちのキューであるアクセスキューのサイズが所定の閾値以下となった場合に、マークしたファイルを削除する。その後、図１４に示される処理が終了する。
【０１１４】
＜第１実施形態の作用効果＞
第１実施形態では、例えば、蓄積サーバＡは、ファイルＡ内の欠損パケットを、ファイルＡの冗長ファイルであるファイルＢから取得し、ファイルＡの補完ファイルを作成する。蓄積サーバＢも同様に、ファイルＢ内の欠損パケットをファイルＡから取得し、ファイルＢの補完ファイルを作成する。これによって、ファイルＡ、ファイルＢも、より欠損パケットが少なく、より映像品質のよいデータとなり、伝送途中のパケット損失の影響を低減することができる。これによって、映像データに対する信頼性を向上させることができる。
【０１１５】
また、蓄積サーバ１は、映像ファイルの欠損パケットの箇所に他の映像ファイルから取得した欠損パケットに対応する映像パケットを挿入するのではなく、映像ファイルとは別に補完ファイルを作成する。これによって、蓄積サーバ１に係る処理負荷の増加を抑えることができる。
【０１１６】
第１実施形態では、補完処理部１３は、映像ファイルのハッシュデータが、冗長ファイルである他の映像ファイルのハッシュデータと一致した場合に、呼び出され、動作を開始する。これによって、両ファイルのハッシュデータが一致しない場合には補完処理部１３は動作しないので、補完処理部１３の稼働をより少なく抑えることができ、蓄積サーバ１に係る処理負荷を少なく抑えることができる。
【０１１７】
また、第１実施形態では、マスタに設定された蓄積サーバ１が、冗長する映像ファイルを削除することによって、映像ファイルの記憶に用いられる記憶容量を削減することができる。
【０１１８】
また、第１実施形態では、マスタに設定された蓄積サーバ１は、ディスク使用率のアクセスキューのサイズが閾値以下である場合に、冗長ファイルを削除するため、ファイル削除による他の処理への影響を抑えることができる。
【０１１９】
＜その他＞
第１実施形態では、エンコーダ５０は、ＭＰＥＧによって映像データをエンコードするが、これに限られず、ＭＰＥＧに代えて、Ｈ２６５、Ｈ２６４等のＴＳパケットを用いる動画圧縮規格を用いてもよい。
【０１２０】
第１実施形態では、ＴＳパケット単位で、欠損パケットの補完が行われるが、これに限られず、ＲＴＰパケット単位で欠損パケットの補完が行われてもよい。ＲＴＰ単位で欠損パケットの補完が行われる場合には、インデックスファイルは、ＴＳパケットに関する情報であるＴＳ情報に代えて、ＲＴＰパケットに関するＲＴＰ情報を含む。ＲＴＰ情報は、ＴＳ情報と同様に、映像ファイルの先頭からの再生開始時間、シーケンス番号、オフセット位置情報、タイムスタンプ等を含む。この場合には、ＲＴＰパケットは、「映像パケット」の一例となる。
【０１２１】
第１実施形態では、蓄積サーバＡ、蓄積サーバＢの２台で冗長構成をとるシステムについて説明されたが、第１実施形態で説明された技術は、３台以上の蓄積サーバで冗長構成をとるシステムにも適用可能である。第１実施形態で説明された技術が、３台以上の蓄積サーバで冗長構成をとるシステムに適用される場合には、以下の通りとなる。
【０１２２】
図１１に示される中間処理部１２の処理では、比較対象のハッシュデータが３つ以上となる。図１１のＯＰ１２では、３つ以上の比較対象のハッシュデータのうち、１つでも一致しないハッシュデータがある場合には、補完処理部１３が呼び出される。
【０１２３】
また、図１２の補完処理部１３の処理は、例えば、蓄積サーバＡ、Ｂ、Ｃがあり、それぞれ、ファイルＡ、Ｂ、Ｃを管理する場合を想定すると、以下の通りとなる。蓄積サーバＡは、ファイルＡの欠損パケットが、ファイルＢ、ファイルＣに存在するか否かを判定する。ファイルＡの欠損パケットが、ファイルＢ、ファイルＣの両方に存在する場合には、パケットが連続して欠損する回数の少ない方から欠損パケットに対応するＴＳパケットを取得する。ファイルＡの欠損パケットが、ファイルＢ、ファイルＣのいずれか一方に存在する場合には、ファイルＡの欠損パケットを有するファイルから欠損パケットに対応するＴＳパケットを取得する。
【０１２４】
または、蓄積サーバＡは、ファイルＡとファイルＢ、ファイルＡとファイルＣ、のそれぞれの組み合わせについて、図１２の処理を順に行ってもよい。例えば、１回目の図１２の処理の実行によって、蓄積サーバＡは、ファイルＡの欠損パケットをファイルＢから取得し、２回目の図１２の処理の実行によって、蓄積サーバＡは、ファイルＢから取得されなかったファイルＡの欠損パケットをファイルＣから取得する。
【０１２５】
第１実施形態では、蓄積サーバ１が、蓄積部１１、中間処理部１２、補完処理部１３、配信処理部１４、削除処理部１５の処理を行う。ただし、これに限られず、蓄積部１１、中間処理部１２、補完処理部１３、配信処理部１４、削除処理部１５の処理は、それぞれ異なるサーバによって実行されてもよい。すなわち、映像データ蓄積システムは、蓄積部１１、中間処理部１２、補完処理部１３、配信処理部１４、削除処理部１５にそれぞれ対応する、蓄積サーバ、中間処理サーバ、補完処理サーバ、配信サーバ、削除処理サーバを含む構成であってもよい。
【０１２６】
＜記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１２７】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
【０１２８】
以上の第１実施形態に関し、さらに以下の付記を開示する。
（付記１）
映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、
を備える映像データ処理装置。
（付記２）
前記作成されたファイルに基づくハッシュデータを作成するハッシュデータ作成部と、
前記作成されたファイルと前記他のファイルとのハッシュデータを比較する比較部と、をさらに備え、
前記補完データ作成部は、前記ハッシュデータが一致しない場合に、前記補完データの作成を行う、
付記１に記載の映像データ処理装置。
（付記３）
前記補完データ作成部は、前記補完データを、前記作成されたファイルとは異なるファイルとして保持する、
付記１又は２に記載の映像データ処理装置。
（付記４）
前記作成されたファイルから映像パケットを読み出し、前記作成されたファイルの欠損している映像パケットを前記補完データから読み出して、読み出した映像パケットを所定の宛先に送信する配信部、
をさらに備える付記１から３のいずれか一つに記載の映像データ処理装置。
（付記５）
前記映像パケットは作成された時刻のタイムスタンプを有し、
前記インデックス作成部は、各映像パケットのタイムスタンプも含む前記インデックスファイルを作成し、
前記配信部は、前記インデックスファイルに基づいて、前記作成されたファイル内の配信要求によって指定された時刻に該当する映像パケットの位置を特定し、特定した位置の映像パケットから送信を行う、
付記４に記載の映像データ処理装置。
（付記６）
前記作成されたファイルと前記他のファイルとのうち、映像品質の劣る方のファイルを削除する削除部、
をさらに備える付記１から５のいずれか一つに記載の映像データ処理装置。
（付記７）
前記削除部は、前記インデックスファイルから、前記作成されたファイルと前記他のファイルとのぞれぞれの映像パケットが連続して欠損している回数を算出し、前記映像パケットが連続して欠損している回数が多い方を、映像品質の劣る方として、削除する、
付記６に記載の映像データ処理装置。
（付記８）
前記映像パケットは、ＵＤＰを用いて送信される、
付記１から７のいずれか一つに記載の映像データ処理装置。
（付記９）
前記映像パケットは、所定の映像圧縮又は伸張方式によって、映像源によって取得された映像データがエンコードされて作成されたものである、
付記１から８のいずれか一つに記載の映像データ処理装置。
（付記１０）
映像源から受信された映像パケットを含むファイルを作成するファイル作成部と、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成するインデックス作成部と、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する補完データ作成部と、
を備える映像データ処理システム。
（付記１１）
コンピュータが、
映像源から受信された映像パケットを含むファイルを作成し、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成し、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する、
映像データ処理方法。
（付記１２）
コンピュータが、
映像源から受信された映像パケットを含むファイルを作成し、
前記作成されたファイルに含まれる各映像パケットの、シーケンス番号と該ファイルにおける位置を示すオフセット位置情報とを含むインデックスファイルを作成し、
前記作成されたファイルのインデックスファイルと、該作成されたファイルに含まれる映像パケットの経路とは異なる経路で前記映像源から受信された映像パケットを含む他のファイルのインデックスファイルと、に基づいて、前記作成された映像ファイルの映像パケットが欠損している場合に該映像パケットの欠損を補完する補完データを作成する、
ための映像データ処理プログラム。
【符号の説明】
【０１２９】
１      蓄積サーバ
２      ファイルサーバ
１１      蓄積部
１１Ｍ      ファイル出力バッファ
１２      中間処理部
１３      補完処理部
１４      配信処理部
１５      削除処理部
５０      エンコーダ
６１、６２      データセンタ
１００、２００      映像データ蓄積システム
１０１      ＣＰＵ
１０２      主記憶装置
１０３      補助記憶装置
【図１】
0006443173.tif 000002
【図２】
0006443173.tif 000003
【図３】
0006443173.tif 000004
【図４】
0006443173.tif 000005
【図５】
0006443173.tif 000006
【図６】
0006443173.tif 000007
【図７】
0006443173.tif 000008
【図８】
0006443173.tif 000009
【図９】
0006443173.tif 000010
【図１０】
0006443173.tif 000011
【図１１】
0006443173.tif 000012
【図１２】
0006443173.tif 000013
【図１３Ａ】
0006443173.tif 000014
【図１３Ｂ】
0006443173.tif 000015
【図１４】
0006443173.tif 000016