(57)【特許請求の範囲】
【請求項１】
カメラにより撮映された映像の映像データを、ネットワークを介して接続された複数の映像蓄積装置により蓄積する映像蓄積システムにおいて、
前記複数の映像蓄積装置は、それぞれ、前記カメラから映像データを受信する映像受信手段と、映像データを蓄積する蓄積手段と、クライアントから映像要求を受け付け、前記蓄積手段から読み出した映像データを当該クライアントに送信する配信手段と、他の映像蓄積装置が正常に動作しているか否かを確認する確認手段とを備え、
前記複数の映像蓄積装置のうちのマスターとなる映像蓄積装置だけが、前記映像受信手段を動作させ、
前記複数の映像蓄積装置のそれぞれに備えられた前記蓄積手段は、前記マスターとなる映像蓄積装置に備えられた前記映像受信手段により受信された映像データを、それぞれの映像蓄積装置にフレーム単位で分配して蓄積し、
前記確認手段による確認結果として、前記複数の映像蓄積装置のうちの１つ以上の動作が停止していることが判定された場合には、残りの映像蓄積装置に備えられた前記蓄積手段が前記カメラにより撮映された映像データの全てを当該残りの映像蓄積装置により蓄積する、
ことを特徴とする映像蓄積システム。
【請求項２】
請求項１に記載の映像蓄積システムにおいて、
前記カメラは、映像データを複数のフレームのまとまり毎に圧縮する圧縮方式により、前記撮影した映像データを所定数の奇数番目フレームのまとまり毎と所定数の偶数番目フレームのまとまり毎に圧縮する圧縮手段を備え、
前記複数の映像蓄積装置のそれぞれに備えられた前記蓄積手段は、前記所定数のフレームのまとまり毎に圧縮された映像データを単位として、それぞれの映像蓄積装置に分配して蓄積する、
ことを特徴とする映像蓄積システム。
【請求項３】
請求項１に記載の映像蓄積システムにおいて、
前記カメラはＩＰカメラであり、
前記複数の映像蓄積装置は、２台１組で前記分配による蓄積を行うものであり、外部から当該複数の映像蓄積装置を仮想的に１台の装置とみせる際に用いるＩＰアドレスであって当該複数の映像蓄積装置のそれぞれのＩＰアドレスとは異なる代表ＩＰアドレスを保持し、
前記マスターとなる映像蓄積装置は、前記代表ＩＰアドレスを使用し、また、当該映像蓄積装置の有するＣＰＵで稼動するソフトウェアをプロセスとして起動させることで、前記映像受信手段を動作状態にするものであり、動作状態になった前記映像受信手段は、前記カメラから取得した映像データを、前記マスターとなる映像蓄積装置の前記蓄積手段と、前記マスターとならない他方の映像蓄積装置の前記蓄積手段とに、前記単位で交互に配信し、
前記他方の映像蓄積装置は、前記確認手段が、前記マスターとなる映像蓄積装置に対してハートビート通知を行い、応答が無かったときに、前記ソフトウェアを起動させて自身がマスターとなることで、前記映像データの全ての蓄積を行う、
ことを特徴とする映像蓄積システム。
【請求項４】
請求項３に記載の映像蓄積システムにおいて、
前記複数の映像蓄積装置は、前記カメラから取得した映像データを前記マスターとなる映像蓄積装置の前記蓄積手段と前記マスターとならない他方の映像蓄積装置の前記蓄積手段とに前記単位で交互に配信して蓄積する偶奇分散記録方式の処理が実行中であるか否かを示すフラグと、偶奇分散記録でペアとなる相手方の映像蓄積装置のアドレスと、偶奇分散記録でペアであることを確認するための情報であってペアの相手を探す際に用いられるＫｅｙ値を格納しており、
起動時に、現在時刻を起動時刻として保持し、前記フラグを確認し、偶奇分散記録方式の処理が実行中でない場合には偶奇分散記録方式の処理を実行せずに他の記録方式の処理を実行し、偶奇分散記録方式の処理が実行中である場合には前記アドレスに通信を試みて前記相手方の映像蓄積装置が稼動しているか否かを調査し、前記相手方の映像蓄積装置が稼動していない場合には当機をマスターモードとして偶奇分散記録方式の処理を実行し、前記相手方の映像蓄積装置が稼動している場合には前記相手方の映像蓄積装置に偶奇分散記録方式の処理を実行中であるか否かを問い合わせ、前記相手方の映像蓄積装置が偶奇分散記録方式の処理を実行中でないという通知を受信した場合には当機をマスターモードとして偶奇分散記録方式の処理を実行し、前記相手方の映像蓄積装置が偶奇分散記録方式の処理を実行中であるという通知を受信した場合には前記相手方の映像蓄積装置にＫｅｙ値が等しいか否かを問い合わせ、前記相手方の映像蓄積装置とＫｅｙ値が不一致である場合には当機をマスターモードとして偶奇分散記録方式の処理を実行し、前記相手方の映像蓄積装置とＫｅｙ値が一致する場合には前記相手方の映像蓄積装置に起動時刻を問い合わせて当機の起動時刻と比較し、当機の方が起動時刻が古い場合には当機をマスターモードとして偶奇分散記録方式の処理を実行し、当機の方が起動時刻が新しい場合には当機をスレーブモードとして偶奇分散記録方式の処理を実行し、
マスターモードで偶奇分散記録方式の処理を実行中である映像蓄積装置は、前記確認手段により前記相手方の映像蓄積装置に対してハートビート通知を行い、応答に含まれる前記相手方の映像蓄積装置の起動時刻と当機の起動時刻とを比較し、前記相手方の方が起動時刻が古い場合には前記代表ＩＰアドレスの利用を停止して当機をスレーブモードに移行する、
ことを特徴とする映像蓄積システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像データを蓄積する映像蓄積システムに関し、例えば、ネットワークを介して映像データの取得や蓄積や配信を行う装置であるネットワークデジタルレコーダ（ＮＤＲ）を用いたシステムに関する。なお、「ＮＤＲ」は登録商標である。
【背景技術】
【０００２】
例えば、監視などの目的で、所定の領域の映像をカメラにより撮像し、撮像した映像のデータをＮＤＲなどの映像蓄積装置に蓄積し、蓄積した映像データをコンピュータなどのクライアントに設けられた画面に表示するような映像蓄積システムが検討等されている。
図２５には、映像蓄積システムの構成例を示してある。なお、後述する本発明に係る図１に示されるものと概略的に同様な構成部分については同一の符号（又は、ＡやＢを除いて同一の符号）を付して示すが、本発明を不要に限定する意図は無い。
ネットワーク２は、複数のコンピュータを結び制御信号やデータなどの信号を通信するコンピュータネットワークである。
ＩＰカメラ３（３−１〜３−ｍ）は、複数であるｍ台設けられており、撮影した映像データをネットワーク２に出力する。
クライアントＰＣ４（４−１〜４−ｎ）は、複数であるｎ台設けられており、ネットワーク接続でＷｅｂブラウザを搭載した一般的なパーソナルコンピュータである。
ネットワークデジタルレコーダ（ＮＤＲ）１は、ネットワーク２を介して、ＩＰカメラ３（３−１〜３−ｍ）と、映像データの視聴及びＮＤＲ１の設定を行う複数のクライアントＰＣ４（４−１〜４−ｎ）と、接続されている。
【０００３】
ＮＤＲ１は、コンピュータボード１２と、記録デバイス１１の構成要素を有している。
コンピュータボード１２上には、ネットワークインターフェイス（ネットワークＩ／Ｆ）１４と、記録デバイスインターフェイス（記録デバイスＩ／Ｆ）１５と、メモリ１６と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７が設けられており、これらが制御バス１３で接続されている。
記録デバイス１１内には、各カメラ用の記録領域３１（３１−１〜３１−ｍ）と、設定情報ファイル１９が設けられている。カメラ用記録領域３１（３１−１〜３１−ｍ）は、記録を行うＩＰカメラ３（３−１〜３−ｍ）の数分存在し、ＩＰカメラ３（３−１〜３−ｍ）からの映像データを記録するための領域である。
【０００４】
設定情報ファイル１９の内容がメモリ１６上に読み込まれると、設定情報１８となる。この場合、設定情報ファイル１９の内容と設定情報１８の内容は等しい。
設定情報１８は、設定権限者パスワード５２１と、カメラ毎情報５２２を含む。
カメラ毎情報５２２は、カメラ名５３１、カメラタイプ５３２、アドレス（ＵＲＬ又はＩＰアドレス）５３３、カメラ設定権限者パスワード５３４、スケジュール５３５、記録領域サイズ（バイトサイズ）５３６を含む。
【０００５】
図２６には、ＮＤＲ１上で映像データの取得と蓄積と配信に関わるソフトウエアのプロセス構成の一例を示してあり、ソフトウエアの動作状態を説明する。なお、後述する本発明に係る図２に示されるものと概略的に同様な構成部分については同一の符号（又は、ＡやＢを除いて同一の符号）を付して示すが、本発明を不要に限定する意図は無い。
映像データの取得と蓄積と配信に関わるプロセス２１は、蓄積プロセス２２、設定管理プロセル２３、受信プロセス２４（２４−１〜２４−ｍ）、配信プロセス２５からなる。
【０００６】
蓄積プロセス２２は、記録デバイス１１に対して読み書きを行うプロセスであり、記録デバイス１１上のいずれの位置がいずれのカメラ用記録領域３１（３１−１〜３１−ｍ）として使用されるのかを管理し、映像データをカメラ用記録領域３１（３１−１〜３１−ｍ）へ書き込むこと及び映像データをカメラ用記録領域３１（３１−１〜３１−ｍ）から読み込むことを行う。
設定管理プロセス２３は、映像の取得と蓄積と配信に関わるプロセス群の起動、終了、設定変更の指示を行い、設定情報１８に基づいてプロセス群の管理を行う。
【０００７】
受信プロセス２４（２４−１〜２４−ｍ）は、複数であるｍ個設けられており、ＩＰカメラ３（３−１〜３−ｍ）から映像データを取得するプロセスであり、ＩＰカメラ３（３−１〜３−ｍ）のプロトコルで映像データの要求を行い、ＩＰカメラ３（３−１〜３−ｍ）から映像データを受信し、蓄積プロセス２２に映像データを送信する。本例では、一つのＩＰカメラ３（３−１〜３−ｍ）に対して一つの受信プロセス２４（２４−１〜２４−ｍ）が割り当てられている。
配信プロセス２５は、クライアントＰＣ４（４−１〜４−ｎ）に映像データを配信するプロセスであり、クライアントＰＣ４（４−１〜４−ｎ）から映像データの要求を受け付け、蓄積プロセス２２を介して映像データを記録デバイス１１から読み出し、映像データをクライアントＰＣ４（４−１〜４−ｎ）に送信する。
【０００８】
映像データの流れに従って、図２５に示される映像蓄積システムにおいて行われる動作の一例を示す。
まず、映像記録側の動作について説明する。
ＩＰカメラ３（３−１〜３−ｍ）は、撮影した映像を１フレームずつ、ＪＰＥＧ等の画像圧縮方式で圧縮し、ＩＰパケット形式でＮＤＲ１に向けて、ネットワーク２に送信する。
ＩＰカメラ３（３−１〜３−ｍ）から送出された映像データは、ＩＰ形式でネットワーク２を伝達し、ＮＤＲ１のネットワークＩ／Ｆ１４に到達する。
ネットワークＩ／Ｆ１４は、受信したＩＰ形式の映像データを制御バス１３上に伝送する形式に変換し、ＣＰＵ１７上で稼働しているソフトウエアの受信プロセス２４（２４−１〜２４−ｍ）に映像データを渡す。
【０００９】
受信プロセス２４（２４−１〜２４−ｍ）は、映像データから通信用の文字列を取り除き、現在時刻の情報を付け加え、その映像データを蓄積プロセス２２に送信する。
蓄積プロセス２２は、受信した映像データを一旦メモリ１６に格納し、１０〜１００フレーム程度データを溜めてから、記録デバイス１１上の格納位置を計算し、溜めた映像データを記録デバイスＩ／Ｆ１５を介して記録デバイス１１のカメラ用記録領域３１（３１−１〜３１−ｍ）に格納する。
ここで、ＩＰカメラ３−１からの映像データはカメラ用記録領域３１−１に格納し、ＩＰカメラ３−ｍからの映像データはカメラ用記録領域３１−ｍに格納するといったように、各ＩＰカメラ３（３−１〜３−ｍ）からの映像データを対応するカメラ用記録領域３１（３１−１〜３１−ｍ）に格納する。
【００１０】
録画動作中にあるＮＤＲ１のメモリ１６には、録画動作に必要な情報である設定情報１８が格納されている。
設定権限者パスワード５２１は、ＮＤＲ１の設定変更権限者を識別するためのパスワードである。
カメラ毎情報５２２は、録画を行うカメラ毎に存在する各種の情報５３１〜５３６を有する。
カメラ名５３１は、設定管理者が識別し易いように、名前として付与した文字列である。
カメラタイプ５３２は、カメラの機種識別名である。例えば、カメラの機種によって通信方式が異なる場合があり、カメラタイプ５３２は、いずれの通信方式を用いて映像データを取得するかを決めるための情報となる。
【００１１】
アドレス５３３は、ＮＤＲ１がネットワーク２を介してＩＰカメラ３（３−１〜３−ｍ）に接続するために必要な情報であり、例えば、ＩＰカメラ３（３−１〜３−ｍ）のＵＲＬ又はＩＰアドレスである。
カメラ設定権限者パスワード５３４は、ＮＤＲ１からＩＰカメラ３（３−１〜３−ｍ）の設定を変更する際に送信するパスワードである。例えば、録画処理によってはＩＰカメラ３（３−１〜３−ｍ）の設定を変更する場合があり、カメラ設定権限者パスワード５３４は、ＩＰカメラ３（３−１〜３−ｍ）の設定変更を行う際に、設定権限者の確認を行うためにパスワードが要求されるときに用いられる。
スケジュール５３５は、いつの時間にどれくらいのフレームで撮影するかを示すテーブル情報である。例えば、ＮＤＲ１では、昼と夜で録画のフレームレートを変えて処理を行うことが可能である。
記録領域サイズ５３６は、記録デバイス１１上で該当するＩＰカメラ３（３−１〜３−ｍ）向けに確保されたカメラ用記録領域３１（３１−１〜３１−ｍ）のバイトサイズである。
【００１２】
次に、映像配信側の動作について説明する。
ＮＤＲ１に記録された映像を視聴したいユーザは、クライアントＰＣ４（４−１〜４−ｎ）上でＮＤＲ再生ソフトウエアを稼働させる。すると、クライアントＰＣ４（４−１〜４−ｎ）では、ＮＤＲ再生ソフトウエアがＮＤＲ１から映像データを取得し、当該クライアントＰＣ４（４−１〜４−ｎ）の画面上で映像の表示、再生処理を行う。
具体的には、クライアントＰＣ４（４−１〜４−ｎ）上のＮＤＲ再生ソフトウエアは、ＩＰ形式の映像配信要求を、ネットワーク２を介してＮＤＲ１に送信する。クライアントＰＣ４（４−１〜４−ｎ）から送出された映像配信要求はＩＰ形式でネットワーク２を伝達し、ＮＤＲ１のネットワークＩ／Ｆ１４に到達する。
【００１３】
ネットワークＩ／Ｆ１４は、受信したＩＰ形式の映像配信要求を、制御バス１３上に伝送する形式に変換し、ＣＰＵ１７上で稼働しているソフトウエアの配信プロセス２５に伝送する。配信プロセス２５は、映像配信要求に従って、蓄積プロセス２２に映像データの読み出しを依頼する。蓄積プロセス２２は、映像配信要求に従って、記録デバイス１１を介してカメラ用記録領域３１（３１−１〜３１−ｍ）から映像データを読み出して配信プロセス２５に送信する。配信プロセス２５は、ＩＰ形式で、ネットワークＩ／Ｆ１４からネットワーク２を介してクライアントＰＣ４（４−１〜４−ｎ）に映像データを送信する。
クライアントＰＣ４（４−１〜４−ｎ）上のＮＤＲ再生ソフトウエアは、受信した映像データをデコードし、画面上に表示する。
【００１４】
ここで、カメラ用記録領域３１（３１−１〜３１−ｍ）は、映像取得開始前に、ＮＤＲ１の設定権限者がクライアントＰＣ４（４−１〜４−ｎ）から領域確保用の設定画面を用いて作成する。
また、ＮＤＲ１の設定権限者は、接続するＩＰカメラ３（３−１〜３−ｍ）について、録画の際のフレームレートと記録時間を勘案して、カメラ用記録領域３１（３１−１〜３１−ｍ）のバイトサイズを決定する。
【００１５】
図２７には、ＮＤＲ１におけるカメラ用記録領域３１−１への記録の様子の一例を示してある。なお、後述する本発明に係る図２に示されるものと概略的に同様な構成部分については同一の符号（又は、ＡやＢを除いて同一の符号）を付して示すが、本発明を不要に限定する意図は無い。
図２７に示されるように、映像データのカメラ用記録領域３１−１への記録では、領域の先頭から記録を開始し、末尾に到達するとまた先頭から上書きを行う。このように、映像録画時に、自動的に容量拡張を行わず、予め確保された領域内で循環記録を行う。
また、取得した映像データにフレーム毎に管理用の番号（カメラ毎に独立した１からの連番）を付与する。本例では、これを「フレーム番号」と呼称する。映像データを記録デバイス１１に記録する際には、映像取得時刻とフレーム番号も記録する。
クライアントＰＣ４（４−１〜４−ｎ）から映像データの１フレームを取得する際には、時刻又はフレーム番号を指定して目的の映像データを取得することができる。
【００１６】
また、ＮＤＲ１には多種の設定項目がある。
例えば、ＮＤＲ１のアドレス（ＩＰアドレス又はドメイン名）、映像取得する各カメラ３（３−１〜３−ｍ）のアドレス、各カメラ３（３−１〜３−ｍ）による映像取得におけるフレームレートのスケジュール、各カメラ用の記録領域３１（３１−１〜３１−ｍ）の領域サイズ、などの設定が存在する。
これらの設定項目については、いずれも、ネットワーク２を介して、クライアントＰＣ４（４−１〜４−ｎ）のＷｅｂブラウザに表示された設定画面を介して設定を行う。
なお、誰によっても設定変更が可能な状態にしておくことも可能であるが、設定権限のある人にしか設定変更を行えないようにするために、設定権限者用のパスワード５２１を設定しておくことも可能である。
カメラ３（３−１〜３−ｍ）についても、同様に、カメラ３（３−１〜３−ｍ）の設定変更を行うためにパスワードを設定することが可能である。
これらについては、例えば、特許文献１や特許文献２などに詳述されている（例えば、特許文献１、特許文献２参照。）。
【００１７】
【特許文献１】特開２００５−９２６７９号公報
【特許文献２】特開２００４−３５５７２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
ところで、ＮＤＲ１を２台用意した場合の運用方法としては、信頼性を向上させる運用と、記録時間を延ばす運用が考えられる。本例では、前者を「並列接続」と呼称し、後者を「直列接続」と呼称する。
並列接続では、２台のＮＤＲ１で同じ映像を記録する。１台が停止中はもう１台が録画を続けられるため、単体で動作させるより高い信頼性が得られる。
直列接続では、新側のＮＤＲ１と古側のＮＤＲ１に役割分担し、新側ではＩＰカメラ３（３−１〜３−ｍ）から映像データを取得して新しい映像データを保持し、古側では新側において上書きされる直前の映像データを取得して保持することで、単体で動作させるより長時間の録画が可能である。
【００１９】
しかしながら、並列接続では、１台のＮＤＲ１が故障することへの対策としては有効であるが、通常は、運用時間全体に対して１台が故障する時間は短く、平時に常に２台が同じ映像データを記録していることは、２台あるにも関わらず１台分の記録時間しかないため、非効率的であるといった意見もある。
一方、直列接続では、いずれか一方のＮＤＲ１が停止すると、残った１台では処理の継続が仕切れず、視聴にも録画にも大きく支障が出る。視聴では、停止した側のＮＤＲ１における全ての映像が視聴不可となり、見られなくなる映像の時間に偏りが大きい。録画では、新側のＮＤＲ１が止まると、ＩＰカメラ３（３−１〜３−ｍ）からの録画が不可となり、新側のＮＤＲ１が停止している期間の映像データが欠落となり、また、古側のＮＤＲ１が止まると、新側のＮＤＲ１は古側のＮＤＲ１に映像データを移す前に上書きを行うため、移せなかった分の映像データが欠落となる。
【００２０】
以上のことから、並列接続と直列接続の短所を補い長所を併せ持つような方式の開発が望まれており、ＮＤＲ１の単体運用に比べて記録時間が延び信頼性も向上するような方式の開発が望まれていた。
本発明は、このような従来の事情に鑑み為されたもので、効果的に映像データを蓄積することができる映像蓄積システムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記目的を達成するため、本発明に係る映像蓄積システムでは、次のような構成により、映像取得装置により取得された映像データを複数の映像蓄積装置により蓄積する。
すなわち、前記複数の映像蓄積装置は、それぞれ、映像データを蓄積する蓄積手段を備える。また、前記複数の映像蓄積装置のうちのマスターとなる映像蓄積装置は、前記映像取得装置により取得された映像データを受信する映像受信手段を備える。そして、前記複数の映像蓄積装置のそれぞれに備えられた前記蓄積手段は、前記マスターとなる映像蓄積装置に備えられた前記映像受信手段により受信された映像データをそれぞれの映像蓄積装置に分配して蓄積する。
【００２２】
従って、複数の映像蓄積装置のうちのマスターとなる映像蓄積装置が映像取得装置により取得された映像データを受信して、この映像データをマスターとなる映像蓄積装置及びスレーブとなる映像蓄積装置により分配して蓄積するようにしたため、マスターとスレーブという関係を用いて、効果的に映像データを蓄積することができる。
【００２３】
ここで、映像取得装置としては、種々なものが用いられてもよく、例えば、映像を撮像するカメラや、映像を入力するＷＥＢエンコーダなどを用いることができる。
また、映像蓄積装置としては、種々なものが用いられてもよく、例えば、ネットワークデジタルレコーダ（ＮＤＲ）などを用いることができる。
また、複数の映像蓄積装置の数としては、種々な数が用いられてもよく、例えば、２つ、或いは、３つ以上であってもよい。
通常、２つの映像蓄積装置が用いられる場合には一方がマスターとなり他方がスレーブとなり、また、３つ以上の映像蓄積装置が用いられる場合にはいずれか１つがマスターとなり他の残りがスレーブとなる。また、例えば、複数の映像蓄積装置のうちで、起動時刻が古い映像蓄積装置をマスターとするような態様を用いることができる。
また、映像データを複数の映像蓄積装置に分配して蓄積する態様としては、種々な態様が用いられてもよく、例えば、それぞれの映像蓄積装置に順番に、１フレーム毎などのように所定のまとまり毎に映像データを蓄積するような態様を用いることができる。
【００２４】
本発明に係る映像蓄積システムでは、一構成例として、次のような構成とした。
すなわち、前記複数の映像蓄積装置は、他の映像蓄積装置が正常に動作しているか否かを確認する確認手段を備える。そして、前記複数の映像蓄積装置のそれぞれは、前記確認手段による確認結果に基づくモードで動作する。
従って、複数の映像蓄積装置のそれぞれが正常に動作しているか否かを確認して、複数の映像蓄積装置のそれぞれが当該確認結果に基づくモードで動作することにより、複数の映像蓄積装置の動作可否状況に応じて適したモードの動作を行うことができる。
【００２５】
ここで、確認手段は、例えば、複数の映像蓄積装置のそれぞれに備えられる。
また、確認手段による確認結果に関する情報を人などに対して出力して報知する手段を備えることもできる。
また、他の映像蓄積装置が正常に動作しているか否かを確認する手法としては、例えば、他の映像蓄積装置との通信が正常に行われる場合には当該他の映像蓄積装置が正常に動作していると判定し、他の映像蓄積装置との通信が途絶えた場合には当該他の映像蓄積装置が停止したと判定するような手法を用いることができる。
また、動作のモードとしては、種々なものが用いられてもよく、例えば、マスターとして動作するマスターモードや、スレーブとして動作するスレーブモードや、１つの映像蓄積装置のみにより全ての映像データを蓄積する縮退マスターモードなどを用いることができる。
【００２６】
本発明に係る映像蓄積システムでは、一構成例として、次のような構成とした。
すなわち、前記確認手段による確認結果として、前記複数の映像蓄積装置のうちの１つ以上の動作が停止していることが判定された場合には、残りの映像蓄積装置に備えられた前記蓄積手段が前記映像取得装置により取得された映像データの全てを当該残りの映像蓄積装置により蓄積する。
従って、複数の映像蓄積装置により映像データを分配して蓄積している場合に、一部の映像蓄積装置が故障等により動作停止したときにおいても、残りの映像蓄積装置により映像データの全てを蓄積するようにモードが切り替えられるため、効果的に映像データを蓄積することができる。
【００２７】
本発明に係る映像蓄積システムでは、一構成例として、次のような構成とした。
すなわち、前記マスターとなる映像蓄積装置は、前記複数の映像蓄積装置に備えられた前記蓄積手段に蓄積された映像データを取得して時系列順に配置して出力する映像出力手段を備える。
従って、複数の映像蓄積装置に分配して蓄積された一連の映像データを時系列順に配置して出力することができる。
【００２８】
ここで、分配された映像データを時系列順に配置する態様としては、例えば、一連の映像データを構成する複数のフレームをソートして時系列順とする態様が用いられる。
また、映像データを出力する先としては、種々なものが用いられてもよく、例えば、映像表示装置のモニタ画面に表示出力する態様や、或いは、クライアントとなるコンピュータなどの装置に対して送信出力する態様などを用いることができる。また、クライアントなどからの要求に応じて、要求された映像データを選択して出力するような態様を用いることもできる。
【００２９】
本発明に係る映像蓄積システムでは、一構成例として、次のような構成とした。
すなわち、前記映像取得装置は、映像データを複数のフレームのまとまり毎に圧縮する圧縮方式により、前記取得した映像データを奇数番目の所定数のフレームのまとまり毎に圧縮するとともに偶数番目の所定数のフレームのまとまり毎に圧縮する圧縮手段を備える。そして、前記複数の映像蓄積装置のそれぞれに備えられた前記蓄積手段は、前記所定数のフレームのまとまり毎に圧縮された映像データを単位として、それぞれの映像蓄積装置に分配して蓄積する。
【００３０】
従って、映像データを複数のフレームのまとまり毎に圧縮する圧縮方式を用いた場合に、映像データを構成する奇数番目のフレームと偶数番目のフレームとが異なるまとまりとして圧縮され、連続する奇数番目のフレームと偶数番目のフレームとが異なる映像蓄積装置に蓄積されることにより、例えば、連続した所定数のフレームのまとまりを圧縮して蓄積するような場合と比べて、いずれかの映像蓄積装置が動作停止したようなときにおいても、一連の映像データの途切れ具合を小さくすることができ、見易い映像データを出力することが可能である。
【００３１】
ここで、映像データを複数のフレームのまとまり毎に圧縮する圧縮方式としては、特に限定はなく、例えば、ＭＰＥＧ方式が用いられる。なお、１フレーム毎に圧縮する方式としては、例えば、ＪＰＥＧ方式がある。
また、圧縮の単位とするフレーム数（所定数）としては、種々な数が用いられてもよい。一例として、（１、３、５番目のフレーム）、（２、４、６番目のフレーム）、（７、９、１１番目のフレーム）、（８、１０、１２番目のフレーム）、・・・をそれぞれ圧縮の単位とするような態様を用いることができる。
【００３２】
なお、本発明は、方法や、プログラムや、記録媒体などとして提供することも可能である。
本発明に係る方法では、各装置において各手段が各種の処理を実行する。
本発明に係るプログラムでは、各装置を構成するコンピュータに実行させるものであって、各種の機能を当該コンピュータにより実現する。
本発明に係る記録媒体では、各装置を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記録したものであって、当該プログラムは各種の処理を当該コンピュータに実行させる。
【発明の効果】
【００３３】
以上説明したように、本発明に係る映像蓄積システムによると、映像取得装置により取得された映像データを複数の映像蓄積装置により蓄積するに際して、効果的に映像データを蓄積することができる。
【発明を実施するための最良の形態】
【００３４】
本発明に係る実施例を図面を参照して説明する。
図１には、本発明の一実施例に係る映像蓄積システムの構成例を示してある。
本例の映像蓄積システムは、２台のネットワークデジタルレコーダ（ＮＤＲ）１Ａ、１Ｂと、複数であるｍ台のＩＰカメラ３（３−１〜３−ｍ）と、複数であるｎ台のクライアントＰＣ４（４−１〜４−ｎ）とが、ネットワーク２を介して接続されている。
【００３５】
各ＮＤＲ１Ａ、１Ｂは、コンピュータボード１２Ａ、１２Ｂと、ハードディスクからなる記録デバイス１１Ａ、１１Ｂを備えている。
コンピュータボード１２Ａ、１２Ｂには、ネットワークインターフェイス（ネットワークＩ／Ｆ）１４Ａ、１４Ｂと、記録デバイスインターフェイス（記録デバイスＩ／Ｆ）１５Ａ、１５Ｂと、メモリ１６Ａ、１６Ｂと、ＣＰＵ１７Ａ、１７Ｂが設けられており、これらが制御バス１３Ａ、１３Ｂを介して接続されている。
記録デバイス１１Ａ、１１Ｂには、各ＩＰカメラ３（３−１〜３−ｍ）に対応したカメラ用記録領域３１Ａ（３１Ａ−１〜３１Ａ−ｍ）、３１Ｂ（３１Ｂ−１〜３１Ｂ−ｍ）と、設定情報ファイル１９Ａ、１９Ｂが格納される。設定情報ファイル１９Ａ、１９Ｂの内容がメモリ１６Ａ、１６Ｂに読み出されると、設定情報１８Ａ、１８Ｂとなる。
【００３６】
本例の映像蓄積システムでは、２台のＮＤＲ１Ａ、１Ｂに映像データをフレーム単位で交互に録画する。また、１台が停止している際には、稼働している他方の１台が全フレームを録画する。停止した１台が復帰した後には、２台のＮＤＲ１Ａ、１Ｂで映像データをフレーム単位で交互に録画する状態に復帰する。
本例では、２台のＮＤＲ１Ａ、１Ｂに映像データをフレーム単位で交互に録画することで、１台が停止した場合にはフレームレートが半分に落ちた状態で視聴が可能であり、時間的に大きく欠落することはない。また、１台が停止している間は稼動中の１台が全フレームを録画するため、映像データの欠落は生じない。
従って、平常時には直列接続と同等な録画時間を実現することができ、１台が停止した縮退時においても半分のフレームレートで映像視聴が可能であり且つ全フレームの録画が継続可能であり並列接続と同等な信頼性も得られる。
このように、本例の映像蓄積システムにおける映像記録方式は、並列接続と直列接続の短所を補い長所を併せ持つ方式である。本例では、このような方式を「偶奇分散記録方式」と呼称する。
【００３７】
本例の映像蓄積システムでは、２台のＮＤＲ１Ａ、１Ｂを設置してあり、本例では、設定管理に優先権のある側を「マスターモード」と呼称し、優先権がなくもう一方から動作の指示を受ける側を「スレーブモード」と呼称する。
本例では、ＮＤＲ１Ａがマスターモードで稼動しており、ＮＤＲ１Ｂがスレーブモードで稼働しているとする。
本例の偶奇分散記録方式は、２台のＮＤＲ１Ａ、１Ｂにより実現する。２台のＮＤＲ１Ａ、１Ｂを外部から個々に設定することもできるが、本例では、２台のＮＤＲ１Ａ、１Ｂを外部からは仮想的に１台のＮＤＲとして見せる仕組みも用意してある。
【００３８】
２台のＮＤＲ１Ａ、１Ｂのメモリ１６Ａ、１６Ｂに、偶奇分散記録に必要な情報５０１〜５０９、５１１〜５１４（設定情報１８Ａ、１８Ｂ）を格納してある。
「偶奇分散記録」実行のフラグ５０１は、偶奇分散記録方式の処理が実行中であるか否かを示し、このフラグがオン（ＯＮ）である時には偶奇分散記録が実行中であることを示す。
偶奇分散記録パスワード５０２は、偶奇分散記録でペアとなった２台のＮＤＲ１Ａ、１Ｂを外部からは見た目上１台のＮＤＲとして扱う時における設定管理者のパスワードであり、ＮＤＲ単体の設定管理用のパスワード５２１とは別に用意してある。
起動時刻５０３は、ＮＤＲ１Ａ、１Ｂの起動時刻を示し、ＮＤＲ１Ａ、１Ｂの電源が入って設定管理プロセス２３Ａ、２３Ｂが稼働開始した時刻を示す。起動時刻５０３は、ＮＤＲ１Ａ、１Ｂの電源が入れ直される度に変わり、設定管理プロセス２３Ａ、２３Ｂが再起動される度に変わる。
【００３９】
ペアＫｅｙ値５０４は、偶奇分散記録でペアであることを確認するための情報であり、ペアの相手を探す際に用いられるＫｅｙ値である。
ペアＮＤＲのアドレス５０５は、偶奇分散記録でペアとなるＮＤＲ１Ａ、１Ｂのアドレスであり、例えば、ＵＲＬ又はＩＰアドレスである。
ペアＮＤＲの設定権限者パスワード５０６は、偶奇分散記録でペアとなるＮＤＲ１Ａ、１Ｂの設定管理用のパスワードである。
最新ハートビート受信時刻５０７は、最新のハートビートを受信した時刻を示す。本例の偶奇分散記録方式では、ペアのＮＤＲ１Ａ、１Ｂと定期的に生存確認のためのハートビート通信を行う。
【００４０】
偶奇分散記録動作モード５０８は、偶奇分散記録動作における動作状態を示し、本例では、「正常マスター」、「正常スレーブ」、「縮退マスター」、「稼働準備中」の４つの状態を示す。
本例では、偶奇分散の２台のＮＤＲ１Ａ、１Ｂが正常稼働している状態において、マスターモードで動作している側の状態を「正常マスター」と呼称し、スレーブモードで動作している側の状態を「正常スレーブ」と呼称する。また、偶奇分散の２台のＮＤＲ１Ａ、１Ｂの内の１台が停止し、もう１台が縮退運転で偶奇両フレームを録画している状態において、縮退運転で稼働している側の状態を「縮退マスター」と呼称し、停止している側の状態を「稼働準備中」と呼称する。
【００４１】
発報済みフラグ５０９は、偶奇分散記録において２台のＮＤＲ１Ａ、１Ｂによる正常稼動の状態からいずれか１台が停止して縮退モードに変異する際に外部に発報を行うことに関して、今回の変異での発報が実行済みであるか否かを示すフラグである。
ハートビート時間間隔５１１は、偶奇分散記録のペアとなるＮＤＲ１Ａ、１Ｂの生存確認用にハートビートを行う時間間隔である。
異常判定閾値時間５１２は、異常を判定するための閾値となる時間を示す。この値で示す時間内に、偶奇分散記録のペアとなる相手方のＮＤＲ１Ａ、１Ｂからハートビート通信がなければ、相手方のＮＤＲ１Ａ、１Ｂに異常があると判定する。
【００４２】
発報先メールアドレス５１３は、予め指定されており、異常を検知した際に異常事態が発生した旨を通知する宛先となる。
代表ＩＰアドレス５１４は、偶奇分散記録動作する２台のＮＤＲ１Ａ、１Ｂを外部からは仮想的に１台のＮＤＲとみせる際に２台の代表となるＩＰアドレスを保持したものであり、ＮＤＲ１ＡともＮＤＲ１Ｂとも異なるＩＰアドレスが指定される。
また、例えば図２５に示されるのと同様なカメラ毎情報５２２が、ＮＤＲ１ＡとＮＤＲ１Ｂの双方に格納されており、これら双方の情報の内容は同一である。
【００４３】
図２には、２台のＮＤＲ１Ａ、１Ｂ上で動作するソフトウエアの構成例を示してある。
本例では、ＮＤＲ１Ａはマスターモードで動作しており、ＮＤＲ１Ｂはスレーブモードで動作している。
また、説明の便宜上、接続するＩＰカメラの台数が１台（ＩＰカメラ３−１）であるとし、接続するクライアントＰＣの台数が１台（クライアントＰＣ４−１）であるとして説明する。
マスターモードで稼働中のＮＤＲ１Ａ上では、プロセス２１Ａとして、設定管理プロセス２３Ａと、蓄積プロセス２２Ａと、受信プロセス２４Ａ−１と、配信プロセス２５Ａが動作している。
スレーブモードで稼働中のＮＤＲ１Ｂ上では、設定管理プロセス２３Ｂと、蓄積プロセス２２Ｂが動作している。
【００４４】
マスターモードで動作しているＮＤＲ１Ａの受信プロセス２４Ａ−１がＩＰカメラ３−１から映像データを取得し、マスター側の蓄積プロセス２２Ａとスレーブ側の蓄積プロセス２２Ｂに交互に映像データを配信して、分散記録する。
配信プロセス２５Ａは、外部のクライアントＰＣ４−１からは２台のＮＤＲ１Ａ、１Ｂに分散されていることを意識させないように、マスター側の蓄積プロセス２２Ａとスレーブ側の蓄積プロセス２２Ｂに分散された映像データを統合して配信する。
クライントＰＣ４−１は、時系列上に順再生を行う際には、時系列で順再生を行うように配信プロセス２５Ａに指示を出す。これに応じて、配信プロセス２５Ａがマスター側の蓄積プロセス２２Ａとスレーブ側の蓄積プロセス２２Ｂから映像データを取得し、取得した映像データについて配信プロセス２５Ａが時系列に並ぶように当該配信プロセス２５Ａ内でソートし、映像データを時系列順にクライアントＰＣ４−１に送信する。
なお、映像データのソートは、例えば、ＮＤＲ１Ａ内で行わずに、クライアントＰＣ４−１内で行うようにしてもよい。また、ＮＤＲ１Ａでは、時系列順の映像データをネットワーク２を介してクライアントＰＣ４−１に送信する処理のほかに、例えば、映像データをモニタ等に出力するようにしてもよい。
【００４５】
本例では、１台のＩＰカメラ３（３−１〜３−ｍ）につき一つの受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）が対応し、また、一つの受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）につき蓄積プロセス２２Ａ、２２Ｂの一つの映像取得スレッドが対応する。
接続するＩＰカメラ３（３−１〜３−ｍ）の台数が増える際には、受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）の数と、蓄積プロセス２２Ａ、２２Ｂの映像取得スレッドの数も増える。ＩＰカメラ３（３−１〜３−ｍ）の台数が増えても、個々の動作（受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）と蓄積プロセス２２Ａ、２２Ｂの映像取得スレッドの動作）は、ＩＰカメラ３（３−１〜３−ｍ）の台数が１台である時と同じである。
【００４６】
次に、ＮＤＲ１Ａ、１Ｂの起動時における処理の流れ、各プロセスの起動時における処理の流れ、各プロセスの内部構造、各プロセスの定常時における処理の流れを説明する。
図３には、設定管理プロセス２３（２３Ａ、２３Ｂ）の構成例を示してある。
設定管理プロセス２３は、プロセス内で独立して動作する２種のスレッドとして、コマンド待ち受けスレッド４１と、定常処理スレッド４２からなる。
コマンド待ち受けスレッド４１は、外部からの設定変更やシャットダウンといった外部からのコマンドの待ち受けを行うスレッドである。
定常処理スレッド４２は、起動時の処理を行った後には、当機の偶奇分散記録の動作モードがマスターモードであるか或いはスレーブモードであるかによって動作を変える。また、定期的に、ペアのＮＤＲ１Ａ、１Ｂとハートビートを行う。
設定管理プロセス２３の定常処理スレッド４２は、ＮＤＲ１Ａ、１Ｂの電源がオン（ＯＮ）にされた後のＯＳ起動直後から処理を開始する。
【００４７】
図４には、ＮＤＲ１Ａ、１Ｂの起動時における処理の流れの一例を示してある。起動時に、偶奇分散記録を実行するか否かを判断し、偶奇分散記録を実行する場合にはマスターモードとスレーブモードのいずれで起動すべきかを判断する。
具体的には、まず、ＮＤＲ１Ａ、１Ｂの電源がオンにされると（ステップＳ１）、ＮＤＲ１Ａ、１ＢのＯＳが起動し（ステップＳ２）、タイマー合わせとして、ＮＴＰサーバにアクセスしてＮＤＲ１Ａ、１Ｂの時刻合わせを行う（ステップＳ３）。
次に、設定管理プロセス２３を起動し（ステップＳ４）、コマンド待ち受けスレッド４１と定常処理スレッド４２が処理を開始する。
【００４８】
以下のステップＳ５〜Ｓ１７、Ｓ２１〜Ｓ２８、Ｓ４１〜Ｓ４４、Ｓ５１〜Ｓ６１、Ｓ７１〜Ｓ８５の処理は、設定管理プロセス２３の定常処理スレッド４２が行う処理である。
まず、現在時刻を起動時刻５０３として保持し（ステップＳ５）、設定情報ファイル１９Ａ、１９Ｂの内容をメモリ１６Ａ、１６Ｂ上に読み込んで設定情報１８Ａ、１８Ｂとする（ステップＳ６）。
次に、「偶奇分散記録」実行中のフラグ５０１が示す値により処理を分岐する（ステップＳ７）。
「偶奇分散記録」実行中のフラグ５０１の値がオフを示す場合には、偶奇分散記録は実行せず、例えば背景技術で示されるようなＮＤＲの既存の動作を行う（ステップＳ８）。
【００４９】
一方、「偶奇分散記録」実行中のフラグ５０１の値がオンを示す場合には、「ペアＮＤＲのアドレス」５０５が示すアドレスに通信を試み、該当するＮＤＲ１Ａ、１Ｂが稼働中であるか否かを調査して、この結果により処理を分岐する（ステップＳ９）。
この応答がない場合には、ペアのＮＤＲ１Ａ、１Ｂが未稼働であるが、当機だけでも偶奇分散記録を実行するために、当ＮＤＲ１Ａ、１Ｂではマスターモードで偶奇分散記録を実行する（ステップＳ１０）。この場合、図５に示されるステップＳ２１の処理へ移行する。
なお、当機だけでも偶奇分散記録を実行する場合には、図８に示されるステップＳ５６の処理により「縮退マスター」として動作することになる。
【００５０】
一方、「ペアＮＤＲのアドレス」５０５が示すアドレスに通信を試みた結果、該当するＮＤＲ１Ａ、１Ｂが稼働中であり応答があった場合には、「ペアＮＤＲのアドレス」５０５が示すアドレスのＮＤＲ１Ａ、１Ｂに、偶奇分散記録を実行しているか否かを問い合わせ、この応答内容に応じて処理を分岐する（ステップＳ１１）。
相手方のＮＤＲ１Ａ、１Ｂが「偶奇分散記録」を実行中ではないという通知を受信した場合には、ペアのＮＤＲ１Ａ、１Ｂでは偶奇分散記録を未稼働であるが、当機だけでも偶奇分散記録を実行するために、当ＮＤＲ１Ａ、１Ｂはマスターモードで偶奇分散記録を実行する（ステップＳ１２）。この場合、図５に示されるステップＳ２１の処理へ移行する。
【００５１】
一方、相手方のＮＤＲ１Ａ、１Ｂにおいても「偶奇分散記録」を実行中であるという通知を受信した場合には、「ペアＮＤＲのアドレス」５０５が示すＮＤＲ１Ａ、１Ｂに、ペアＫｅｙ値５０４が等しいか否かを問い合わせ、この応答内容に応じて処理を分岐する（ステップＳ１３）。
相手方のＮＤＲ１Ａ、１ＢのＫｅｙ値と値が不一致である場合には、偶奇分散記録のペア指定が誤っている可能性が大きいと判断し、当機だけで偶奇分散記録を実行するために、当ＮＤＲ１Ａ、１Ｂではマスターモードで偶奇分散記録を実行する（ステップＳ１４）。この場合、図５に示されるステップＳ２１の処理へ移行する。
【００５２】
一方、相手方のＮＤＲ１Ａ、１ＢのＫｅｙ値と値が等しく一致する場合には、「ペアＮＤＲのアドレス」５０５が示すＮＤＲ１Ａ、１Ｂに、起動時刻を問い合わせて、当機の起動時刻５０３と比較し、この比較結果に応じて処理を分岐する（ステップＳ１５）。
当機の方の起動時刻が古い場合には、起動時刻が古い方をマスターモードとするために、当ＮＤＲ１Ａ、１Ｂがマスターモードで偶奇分散記録を実行する（ステップＳ１６）。この場合、図５に示されるステップＳ２１の処理へ移行する。
一方、当機の方の起動時刻が新しい場合には、当機はスレーブモードで偶奇分散記録を実行する（ステップＳ１７）。この場合、図６に示されるステップＳ３１の処理へ移行する。
【００５３】
図５には、マスターモードで行われる処理の流れの一例を示してある。
偶奇分散記録を「マスターモード」で実行開始すると（ステップＳ２１）、代表ＩＰアドレス５１４の値が有効値である場合には、代表ＩＰアドレス５１４の値に相当するＩＰアドレスの利用を開始する（ステップＳ２２）。
次に、設定管理プロセス２３の定常処理スレッド４２が、設定情報１８Ａ、１８Ｂから接続するＩＰカメラ３（３−１〜３−ｍ）の数を読み取り、その数の分、当機上で受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）を起動する（ステップＳ２３）。本例では、映像データを取得するＩＰカメラ３（３−１〜３−ｍ）の１台に対して一つの受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）が担当する。
【００５４】
次に、設定管理プロセス２３の定常処理スレッド４２が、起動した各受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）に対して、各受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）により映像データを取得するために必要な設定情報５３１〜５３６を送信する（ステップＳ２４）。
次に、設定管理プロセス２３の定常処理スレッド４２が、当機上で蓄積プロセス２２Ａ、２２Ｂを起動し（ステップＳ２５）、起動した蓄積プロセス２２Ａ、２２Ｂに対して、映像記録に必要な設定情報を送信する（ステップＳ２６）。この設定情報としては、当機の受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から偶奇分散記録方式で映像データを取得する際に用いられる情報であり、例えば、いずれの受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から映像データを受信し、いずれのカメラ用記録領域３１Ａ（３１Ａ−１〜３１Ａ−ｍ）、３１Ｂ（３１Ｂ−１〜３１Ｂ−ｍ）へ記録するかといった情報を送信する。また、マスターモードで動作しているため、蓄積プロセス２２Ａ、２２Ｂには、当機の受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から映像を取得するための設定情報を送信する。
【００５５】
次に、設定管理プロセス２３の定常処理スレッド４２が、当機上で配信プロセス２５Ａ、２５Ｂを起動し（ステップＳ２７）、起動した配信プロセス２５Ａ、２５Ｂに対して、映像配信に必要な設定情報を送信する（ステップＳ２８）。
そして、設定管理プロセス２３の定常処理スレッド２３が、偶奇分散記録のマスターモード用のループ処理（定常処理）を開始する。この場合、図８に示されるステップＳ５１の処理へ移行する。
【００５６】
図６には、スレーブモードで行われる処理の流れの一例を示してある。
偶奇分散記録を「スレーブモード」で実行開始すると（ステップＳ３１）、設定管理プロセス２３の定常処理スレッド４２が、当機上で蓄積プロセス２２Ａ、２２Ｂを起動する（ステップＳ３２）。
次に、設定管理プロセス２３の定常処理スレッド４２が、起動した蓄積プロセス２２Ａ、２２Ｂに対して、映像記録に必要な設定情報を送信する（ステップＳ３３）。この設定情報としては、相手側の受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から偶奇分散記録方式で映像データを取得する際に用いられる情報であり、例えば、いずれの受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から映像データを受信し、いずれのカメラ用記録領域３１Ａ（３１Ａ−１〜３１Ａ−ｍ）、３１Ｂ（３１Ｂ−１〜３１Ｂ−ｍ）へ記録するかといった情報を送信する。スレーブモードで動作しているため、蓄積プロセス２２Ａ、２２Ｂには、ペアのＮＤＲ１Ａ、１Ｂ上で稼働する受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から映像を取得する設定情報を送信する。
そして、設定管理プロセス２３の定常処理スレッド４２が、偶奇分散記録のスレーブモード用のループ処理（定常処理）を開始する（ステップＳ３４）。この場合、図９に示されるステップＳ７１の処理へ移行する。
【００５７】
図７には、設定管理プロセス２３のコマンド待ち受けスレッド４１により行われる処理の流れの一例を示してある。設定管理プロセス２３のコマンド待ち受けスレッド４１は、外部からコマンド入力を待ち受けるスレッドであり、入力されたコマンドに対応した処理を行う。
設定管理プロセス２３のコマンド待ち受けスレッド４１の実行が開始されると（ステップＳ４１）、設定管理プロセス２３のコマンド待ち受けスレッド４１は、プロセス外部からコマンドを受信するまで待機する（ステップＳ４２）。
次に、コマンドを受信した場合には、プロセス外部からのコマンドが偶奇分散記録のペアのＮＤＲ１Ａ、１Ｂからの「ハートビート」の通知であるか否かを判定する（ステップＳ４３）。
【００５８】
この判定の結果、プロセス外部からのコマンドが偶奇分散記録のペアのＮＤＲ１Ａ、１Ｂからの「ハートビート」の通知であった場合には、ハートビートの戻り値を送信し、戻り値には「起動時刻」５０３を含める。また、「最終ハートビート受信時刻」５０７を現在時刻とするように更新する。また、「発報済みフラグ」５０９を「未発報」の値とする（ステップＳ４４）。
ハートビートが受信できた場合には正常状態とし、ハートビートの受信が滞った場合には発報する。一度発報した事態で何度も発報することを避けるために、発報済みフラグ５０９を用意してある。発報後にハートビートの受信があった場合には、正常状態に復帰したと判断して、発報済みフラグ５０９を「未発報」の状態に戻して、ステップＳ４２の処理へ戻る。
【００５９】
一方、プロセス外部からのコマンドが「ハートビート」の通知ではなく他のコマンドであった場合には、プロセス外部からのコマンドが設定管理者からの停止命令である「シャットダウン」のコマンドであるか否かを判定する（ステップＳ４５）。
この判定の結果、プロセス外部からのコマンドが「シャットダウン」のコマンドではない場合には、設定管理プロセス２３の設定変更処理を行う（ステップＳ４６）。具体的には、プロセス外部からのコマンドには、「ハートビート」と「シャットダウン」以外には、各プロセスの動作状態を取得するための調査系のコマンドと、当機で動作する各プロセスの追加・動作状態の変更・停止を行うための設定変更系のコマンドがある。設定管理プロセス２３のコマンド待ち受けスレッド４１は、外部から受信したコマンドの処理（例えば、任意のプロセスの起動や停止や設定変更など）を実行すると、ステップＳ４２の処理へ戻る。
【００６０】
一方、プロセス外部からのコマンドが「シャットダウン」のコマンドであった場合には、シャットダウン処理として、当機で動作している配信プロセス２５Ａ、２５Ｂ、受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）、蓄積プロセス２２Ａ、２２Ｂの全てにシャットダウン命令を発行した後に、ＯＳへシャットダウン命令を発行する（ステップＳ４７）。
そして、ＯＳのシャットダウン命令を受けて、ＮＤＲ１Ａ、１Ｂのハードウエアが停止する（ステップＳ４８）。
【００６１】
図８には、マスターモード動作時に、設定管理プロセス２３の定常処理スレッド４２により行われる処理の流れの一例を示してある。
設定管理プロセス２３の定常処理スレッド４２のマスターモード時における動作では、定期的にペアのＮＤＲ１Ａ、１Ｂにハートビートを行うことで生存確認する。また、スレーブモードに変異する条件を満たすか否かを監視して、条件を満たした場合にはスレーブモードに移行する。
設定管理プロセス２３の定常処理スレッド４２がマスターモード時の動作を開始すると（ステップＳ５１）、一定時間の待機として、設定情報ファイル１９Ａ、１９Ｂに記載されたハートビート時間間隔５１１の値の時間を待機する（ステップＳ５２）。
次に、偶奇分散記録のペアＮＤＲ１Ａ、１Ｂへハートビートコマンドを発行し（ステップＳ５３）、ハートビートの応答の有無に応じて処理を分岐する（ステップＳ５４）。
【００６２】
ハートビートの応答が無かった場合には、現在時刻が「最新ハートビート受信時刻」５０７から一定の時間（「異常判定閾値時間」５１２）を過ぎていて且つ「発報済みフラグ」５０９が「未発報」であるという条件を満たさないときにはステップＳ５２の処理へ戻る。
一方、この条件を満たすときには、メールを発報して、「発報先メールアドレス」５１３に登録されたメールアドレスに「相手側ＮＤＲの停止を検知した」旨を通知し、また、「発報済みフラグ」５０９を「発報済み」とし、また、当機の「偶奇分散記録の動作モード」５０８を「縮退マスター」に変更する（ステップＳ５６）。そして、ステップＳ５２の処理へ戻る。
【００６３】
ステップＳ５４の処理で、ハートビートの応答があった場合には、当機の「偶奇分散記録の動作モード」５０８を「正常マスター」に変更する。そして、ハートビートの戻り値に含まれる相手側の「起動時刻」５０３と当機の「起動時刻」５０３とを比較し（ステップＳ５７）、相手側の方が新しい場合にはステップＳ５２の処理へ戻る。
【００６４】
一方、相手側の方が古い場合には、代表ＩＰアドレス５１４のＩＰアドレスを利用している状態であるときには、代表ＩＰアドレスの利用を停止する（ステップＳ５８）。
また、相手側のＮＤＲ１Ａ、１Ｂの方が起動時刻５０３が古いため、相手方がマスターモードとなり、当機はスレーブモードに移行する。このため、当機の蓄積プロセス２２Ａ、２２Ｂに、相手側のＮＤＲ１Ａ、１Ｂの受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から映像データを取得するように指示する（ステップＳ５９）。また、当機の受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）及び配信プロセス２５Ａ、２５Ｂをシャットダウンする（ステップＳ６０）。
また、当機の「偶奇分散記録の動作モード」５０８を「正常スレーブ」に変更する（ステップＳ６１）。
そして、設定管理プロセス２３の定常処理スレッド４２の処理を「スレーブモード」で動作させるために、図９に示されるステップＳ７１の処理へ移行する。
【００６５】
図９には、スレーブモード動作時に、設定管理プロセス２３の定常処理スレッド４２により行われる処理の流れの一例を示してある。
設定管理プロセス２３の定常処理スレッド４２のスレーブモード時の動作は、定期的にペアのＮＤＲ１Ａ、１Ｂにハートビートを行うことで生存確認することである。また、マスターモードに変異する条件を満たすか否かを監視して、条件を満たす場合にはマスターモードに移行する。
設定管理プロセス２３の定常処理スレッド４２のスレーブモード時の動作が開始すると（ステップＳ７１）、当機の「偶奇分散記録の動作モード」５０８を「正常スレーブ」に変更する。
次に、一定時間の待機として、設定情報ファイル１９Ａ、１９Ｂに記載されたハートビート時間間隔５１１の値の時間を待機し（ステップＳ７２）、偶奇分散記録のペアのＮＤＲ１Ａ、１Ｂへハートビートコマンドを発行し（ステップＳ７３）、ハートビートの応答の有無に応じて処理を分岐する（ステップＳ７４）。
【００６６】
ハートビートの応答があった場合には、ハートビートの戻り値に含まれる相手側の「起動時刻」５０３と当機の「起動時刻」５０３とを比較し（ステップＳ７５）、相手側の方が新しいときにはステップＳ７９の処理へ移行し、相手側の方が古いときにはステップＳ７２の処理へ戻る。
一方、ハートビートの応答が無かった場合には、現在時刻が「最新ハートビート受信時刻」から一定の時間（「異常判定閾値時間」５１２）を過ぎているか否かを判定し（ステップＳ７６）、過ぎていないときには（未経過であるときには）ステップＳ７２の処理へ戻る。
【００６７】
また、ハートビートの応答が無かった場合であって、現在時刻が「最新ハートビート受信時刻」から一定の時間（「異常判定閾値時間」５１２）を過ぎているときには（経過済みであるときには）、「発報済みフラグ」５０９が「未発報」であるか否かを判定する（ステップＳ７７）。
「発報済み」である場合にはステップＳ７９の処理へ移行し、一方、「未発報」である場合には、メールを発報して、「発報先メールアドレス」５１３に登録されたメールアドレスに「相手側のＮＤＲの停止を検知した」旨を通知し、また、「発報済みフラグ」５０９を「発報済み」として（ステップＳ７８）、ステップＳ７９の処理へ移行する。
【００６８】
相手側のＮＤＲ１Ａ、１Ｂよりも当機の方が起動時刻５０３が古くつまり相手側の方が新しい場合（ステップＳ７５）及び相手側のＮＤＲ１Ａ、１Ｂの動作が停止している場合（ステップＳ７６〜Ｓ７８）には、当機がマスターモードで動作する条件を満たしたため、スレーブモードからマスターモードへ移行する。
まず、設定情報ファイル１９Ａ、１９Ｂに記載された数の「受信プロセス」を起動する（ステップＳ７９）。起動した各受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）に対して、各受信プロセスが映像データ取得に必要な設定情報５３１〜５３６（カメラ毎情報５２２）を送信する（ステップＳ８０）。
【００６９】
また、蓄積プロセス２２Ａ、２２Ｂに対して、映像記録に必要な設定情報として、いずれの受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から映像データを受信していずれのカメラ用記録領域３１Ａ（３１Ａ−１〜３１Ａ−ｍ）、３１Ｂ（３１Ｂ−１〜３１Ｂ−ｍ）へ記録するかの情報を送信する（ステップＳ８１）。マスターモードで動作させるため、蓄積プロセス２２Ａ、２２Ｂには、当機の受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）から偶奇モードで映像を取得する設定情報を送信する。
【００７０】
また、設定管理プロセス２３が、当機上で配信プロセス２５Ａ、２５Ｂを起動し（ステップＳ８２）、起動した配信プロセス２５Ａ、２５Ｂに対して映像配信に必要な設定情報を送信する（ステップＳ８３）。
また、当機の「偶奇分散記録の動作モード」５０８を「正常マスター」に変更する（ステップＳ８４）。
また、代表ＩＰアドレス５１４の値が有効値である場合には、代表ＩＰアドレス５１４の値のＩＰアドレスの利用を開始する（ステップＳ８５）。
そして、設定管理プロセス２３の定常処理スレッド４２の処理を「マスターモード」で動作させることとし（ステップＳ８６）、図８に示されるステップＳ５１の処理へ移行する。
【００７１】
図１０には、蓄積プロセス２２（２２Ａ、２２Ｂ）の構成例を示してある。
蓄積プロセス２２は、プロセス内に独立して動作する３種のスレッドとして、コマンド待ち受けスレッド５１と、ｍ個の映像取得スレッド５２（５２−１〜５２−ｍ）と、ｐ個の映像配信スレッド５３（５３−１〜５３−ｐ）からなる。
蓄積プロセス２２内における映像取得スレッド５２（５２−１〜５２−ｍ）と映像配信スレッド５３（５３−１〜５３−ｐ）のスレッド数は、設定管理プロセス２３から取得される設定情報１８Ａ、１８Ｂに応じた指示に従う。
【００７２】
映像取得スレッド５２（５２−１〜５２−ｍ）では、１個のスレッドが、１個の受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）に対応し、１つのカメラ用記録領域３１Ａ（３１Ａ−１〜３１Ａ−ｍ）、３１Ｂ（３１Ｂ−１〜３１Ｂ−ｍ）への書込み動作を受け持ち、設定情報１８Ａ、１８Ｂで指定された受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）にログインしてそこから映像データを取得し、対応するカメラ用記録領域３１Ａ（３１Ａ−１〜３１Ａ−ｍ）、３１Ｂ（３１Ｂ−１〜３１Ｂ−ｍ）に映像データを追記する。受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）へのログイン時には、偶奇分散記録である旨と、受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）にペアＫｅｙ値５０４を送付する。受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）の側は、このペアＫｅｙ値５０４で、偶奇分散記録のペアのＮＤＲ１Ａ、１Ｂの組み合わせを判定する。
映像配信スレッド５３（５３−１〜５３−ｐ）は、配信プロセス２５Ａ、２５Ｂからの映像データ要求を受け、記録デバイス１１Ａ、１１Ｂのカメラ用記録領域３１Ａ（３１Ａ−１〜３１Ａ−ｍ）、３１Ｂ（３１Ｂ−１〜３１Ｂ−ｍ）から映像データを読み出し、配信プロセス２５Ａ、２５Ｂへ映像データの送信（返信）を行う。
【００７３】
コマンド待ち受けスレッド５１は、設定管理プロセス２３からのコマンドを待ち受けるスレッドであり、外部からコマンドを受信し、受信したコマンドの処理を実行し終えると、次のコマンドの待ち受けを行う。待ち受けるコマンドとしては、各プロセスの動作状態を取得する調査系のコマンドと、当機で動作するスレッドの追加・動作状態の変更・停止を行う設定変更系のコマンドがある。
具体的には、例えば、「設定変更」コマンドでは、各スレッドの動作変更を行い、任意の映像受信スレッド５２（５２−１〜５２−ｍ）の起動、或いは停止、或いは映像を取得する先となる受信プロセス２４Ａ（２４Ａ−１〜２４Ａ−ｍ）、２４Ｂ（２４Ｂ−１〜２４Ｂ−ｍ）の変更や、映像配信スレッド５３（５３−１〜５３−ｐ）の数の変更を行う。
また、「シャットダウンコマンド」を受信した際には、全てのスレッド（映像取得スレッド、映像配信スレッド）を終了させて、蓄積プロセス２２を終了（シャットダウン）させる。
【００７４】
図１１には、蓄積プロセスの起動時における処理の流れの一例を示してある。
蓄積プロセス２２が起動されると（ステップＳ９１）、設定管理プロセス２３の定常処理スレッド４２から設定情報１８Ａ、１８Ｂを受信するまで待機する（ステップＳ９２）。
設定情報１８Ａ、１８Ｂを取得すると、設定情報１８Ａ、１８Ｂで指示された数の映像配信スレッド５３（５３−１〜５３−ｐ）を起動し（ステップＳ９３）、設定情報１８Ａ、１８Ｂで指示された数の映像取得スレッド５２（５２−１〜５２−ｍ）を起動する（ステップＳ９４）。
そして、コマンド待ち受けスレッド５１が、外部コマンドの待ち受けを開始して、コマンドに応じて設定変更やシャットダウンを行う（ステップＳ９５）。
【００７５】
図１２には、受信プロセス２４（２４Ａ、２４Ｂ）の構成例を示してある。
受信プロセス２４は、プロセス内に独立して動作する３種のスレッドとして、コマンド待ち受けスレッド６１と、カメラ接続映像取得スレッド６２と、ｑ個の映像配信スレッド６３（６３−１〜６３−ｑ）を有しており、また、一時的に数十〜数百フレームの映像データを保持することができるメモリバッファ６４を有している。
受信プロセス２４内における映像配信スレッド６３（６３−１〜６３−ｑ）のスレッド数は、設定管理プロセス２３から取得される設定情報１８Ａ、１８Ｂに応じた指示に従う。
【００７６】
カメラ接続映像取得スレッド６２は、ＩＰカメラ３（３−１〜３−ｍ）と接続し、アドレス５３３が示すＩＰカメラ３（３−１〜３−ｍ）とネットワーク通信を行って映像データを取得し、映像用のメモリバッファ６４に保持する。ＩＰカメラ３（３−１〜３−ｍ）から映像データを取得するフレームレートはスケジュール５３５の情報に従う。また、この受信スレッドは、受信プロセス２４に１つである。
【００７７】
映像配信スレッド６３（６３−１〜６３−ｑ）は、蓄積プロセス２２からのログインを受けた後は、映像用のメモリバッファ６４から未配信の映像データを読み出し、蓄積プロセス２２に映像データを送信する。
また、映像配信スレッド６３（６３−１〜６３−ｑ）は、ログイン時のモード指定で配信方法を変更する。
蓄積プロセス２２からのログインがノーマルモードを示す場合には、カメラ接続映像取得スレッド６２が取得した全ての映像データを蓄積プロセス２２に送信する。
一方、蓄積プロセス２２からのログインが偶奇分散記録モードを示し、且つ、ペアの２台の蓄積プロセス２２（２２Ａ、２２Ｂ）がログインしている場合には、カメラ接続映像取得スレッド６２が取得した映像データをペアのそれぞれに交互に送信する。また、蓄積プロセス２２からのログインが偶奇分散記録モードを示すが、いずれか一方の蓄積プロセス２２（２２Ａ、又は、２２Ｂ）のみしかログインしていない場合には、ログイン済みの蓄積プロセス２２に対して、カメラ接続映像取得スレッド６２が取得した全ての映像データを送信する。
【００７８】
コマンド待ち受けスレッド６１は、設定管理プロセス２３からのコマンドを待ち受けるスレッドであり、外部からコマンドを受信し、受信したコマンドの処理を実行し終えると、次のコマンドの待ち受けを行う。待ち受けるコマンドとしては、各プロセスの動作状態を取得する調査系のコマンドと、当機で動作するスレッドの追加・動作状態の変更・停止を行う設定変更系のコマンドがある。
具体的には、例えば、「設定変更」コマンドでは、各スレッドの動作変更を行い、カメラ接続映像取得スレッド６２により映像データを取得する先となるＩＰカメラ３（３−１〜３−ｍ）のアドレス５３３の変更（接続するＩＰカメラの設定変更）や、映像データを取得するフレームレートを示すスケジュール５３５の情報の変更や、映像配信スレッド６３（６３−１〜６３−ｑ）の数の変更を行う。
また、「シャットダウン」コマンドを受信した際には、全てのスレッド（カメラ接続映像取得スレッド、映像配信スレッド）を終了させて、受信プロセス２４を終了（シャットダウン）させる。
【００７９】
図１３には、受信プロセス２４の起動時における処理の流れの一例を示してある。
受信プロセス２４が起動されると、映像用のメモリバッファ６４で用いられるメモリ領域を確保してゼロクリアする（ステップＳ１０１）。
その後、設定管理プロセス２３の定常処理スレッド４２から設定情報１８Ａ、１８Ｂを受信するまで待機する（ステップＳ１０２）。
設定情報１８Ａ、１８Ｂを受信すると、カメラ接続映像取得スレッド６２を起動し（ステップＳ１０３）、設定情報１８Ａ、１８Ｂで指示された数の映像配信スレッド６３（６３−１〜６３−ｑ）を起動する（ステップＳ１０４）。
そして、コマンド待ち受けスレッド６１が、外部コマンドの待ち受けを開始して、コマンドに応じて設定変更やシャットダウンを行う（ステップＳ１０５）。
【００８０】
図１４には、配信プロセス２５（２５Ａ、２５Ｂ）の構成例を示してある。
配信プロセス２５は、プロセス内に独立して動作する２種のスレッドとして、コマンド待ち受けスレッド７１と、ｒ個の映像配信スレッド７２（７２−１〜７２−ｑ）からなる。
配信プロセス２５内における映像配信スレッド７２（７２−１〜７２−ｑ）のスレッド数は、設定管理プロセス２３から取得される設定情報１８Ａ、１８Ｂに応じた指示に従う。
【００８１】
映像配信スレッド７２（７２−１〜７２−ｑ）は、クライントＰＣ４（４−１〜４−ｎ）からの映像要求を受けると、蓄積プロセス２２（２２Ａ、２２Ｂ）から映像データを取得し、クライアントＰＣ４（４−１〜４−ｎ）に映像データを送信する。
映像配信スレッド７２（７２−１〜７２−ｑ）は、偶奇分散機能を実行しているか否か及びペアの双方が正常に動作しているか否かに応じて配信方法を変更する。つまり、映像配信スレッド７２（７２−１〜７２−ｑ）による映像データの取得処理は、「偶奇分散記録」のフラグ５０１が偶数奇数分散モードの実行中を示しているか否かに応じて、及び、偶奇分散機能で動いている場合には「偶奇分散記録動作モード」５０８が示す値によって処理内容が変わる。
【００８２】
「偶奇分散記録」のフラグ５０１が「非実行中」を示す場合には、ＮＤＲ１Ａ、１Ｂは単体運用のノーマルモードで動作しているため、映像配信スレッド７２（７２−１〜７２−ｑ）は、当機のＮＤＲ１Ａ、１Ｂ上の蓄積プロセス２２（２２Ａ、２２Ｂ）から映像データを取得し、クライアントＰＣ４（４−１〜４−ｎ）に映像データを送信する。
「偶奇分散記録」のフラグ５０１が「実行中」を示し、且つ、「偶奇分散記録動作モード」５０２が「縮退マスター」の状態を示す場合には、偶奇分散記録を実行中であるが当機しか動作してないことを示すため、映像配信スレッド７２（７２−１〜７２−ｑ）は、当機のＮＤＲ１Ａ、１Ｂ上の蓄積プロセス２２（２２Ａ、２２Ｂ）から映像データを取得し、クライアントＰＣ４（４−１〜４−ｎ）に映像データを送信する。
【００８３】
「偶奇分散記録」のフラグ５０１が「実行中」を示し、且つ、「偶奇分散記録動作モード」５０２が「正常マスター」の状態又は「正常スレーブ」の状態を示す場合には、偶奇分散記録のペアである２台とも正常に動作していることを示すため、双方のＮＤＲ１Ａ、１Ｂ上の蓄積プロセス２２（２２Ａ、２２Ｂ）から、クライアントＰＣ４（４−１〜４−ｎ）からの要求に最も近い映像データを取得し、双方を比べて、よりクライアントＰＣ４（４−１〜４−ｎ）からの要求に近い方の映像データをクライアントＰＣ４（４−１〜４−ｎ）に送信する。
【００８４】
コマンド待ち受けスレッド７１は、設定管理プロセス２３からのコマンドを待ち受けるスレッドであり、外部からコマンドを受信し、受信したコマンドの処理を実行し終えると、次のコマンドの待ち受けを行う。
待ち受けるコマンドとしては、各プロセスの動作状態を取得する調査系のコマンドと、当機で動作するスレッドの追加・動作状態の変更・停止を行う設定変更系のコマンドがある。
具体的には、例えば、「設定変更」コマンドでは、各スレッドの動作変更を行い、映像配信スレッド７２（７２−１〜７２−ｒ）の数の変更を行う。
また、「シャットダウン」コマンドを受信した際には、全てのスレッド（映像配信スレッド）を終了させ、配信プロセス２５を終了（シャットダウン）させる。
【００８５】
図１５には、配信プロセス２５の起動時における処理の流れの一例を示してある。
配信プロセス２５が起動されると（ステップＳ１１１）、設定管理プロセス２３の定常処理スレッド４２から設定情報１８Ａ、１８Ｂを受信するまで待機する（ステップＳ１１２）。
次に、設定情報１８Ａ、１８Ｂで指示された数の映像配信スレッド７２（７２−１〜７２−ｒ）を起動する（ステップＳ１１３）。
そして、コマンド待ち受けスレッド７１が、外部コマンドの待ち受けを開始して、コマンドに応じて設定変更やシャットダウンを行う（ステップＳ１１４）。
【００８６】
図１６には、偶奇分散記録方式を設定する際における処理の流れの一例を示してある。
前提として、偶奇分散記録を行う設定になってない２台のＮＤＲ（ＮＤＲ１Ａ、ＮＤＲ１Ｂ）があるとする（ステップＳ１２１）。
まず、設定管理者がクラインアントＰＣ４（４−１〜４−ｎ）から、ＮＤＲ１Ａの管理者権限で、ＮＤＲ１Ａに設定権限者としてログインし、ＮＤＲ１Ａに図１７に示されるような「偶奇分散記録  マスター側設定画面」８１を表示させて、必要な設定項目を入力する（ステップＳ１２２）。
【００８７】
図１７には、偶奇分散記録のマスター側設定画面８１の一例を示してある。
「偶奇分散記録  マスター側設定画面」８１は、各種の要素８２〜８７を有している。
「ＯＫボタン」８２は、情報入力が終わり次の処理に移るためのボタンである。
「Ｃａｎｃｅｌボタン」８３は、情報入力をキャンセルして上位の選択画面に戻るためのボタンである。
「偶奇分散記録稼働時  設定権限者パスワード  入力ボックス」８４は、偶奇分散記録稼働の２台のＮＤＲ１Ａ、１Ｂの設定をまとめて変更する際に必要とするパスワードの入力ボックスであり、仮想的に１台として見せる際における偶奇分散記録稼働に関する設定画面へアクセスするためのパスワードの入力ボックスである。本例では、偶奇分散記録稼働中には外部からは２台が稼働しているとは見せず、仮想的に１台が稼働しているように見せることが可能である。
【００８８】
「代表アドレス使用  チェックボックス」８５は、偶奇分散記録稼働中に外部からは仮想的に１台が稼働していると見せるために、ＮＤＲ１ＡとＮＤＲ１Ｂの固有なＩＰアドレスの他に、代表用のＩＰアドレスを使用するか否かを指定するチェックボックスである。
「代表アドレス」８６は、「代表アドレス使用  チェックボックス」８５にチェックがある時に入力可能となり、偶奇分散記録稼働中の代表アドレスを指定する。
スレーブ側ＮＤＲ情報である「スレーブ側ＮＤＲ  アドレス  入力ボックス」８７は、偶奇分散記録稼働のペアとなる相手方のＮＤＲのアドレスを入力するための入力ボックスである。
スレーブ側ＮＤＲ情報である「スレーブ側ＮＤＲ  設定権限者パスワード  入力ボックス」８８は、偶奇分散記録稼働のペアとなる相手方のＮＤＲの設定権限者のパスワードを入力するための入力ボックスである。
【００８９】
設定管理者が「偶奇分散記録  マスター側設定画面」８１に入力して「ＯＫボタン」８２を押下した場合には、ＮＤＲ１Ａの設定管理プロセス２３Ａが、「偶奇分散記録  マスター側設定画面」８１の入力値を検証し、入力誤りがあれば再入力を求め、入力誤りがなければ偶奇分散記録稼働のための準備処理を行う。
偶奇分散記録稼働のための準備処理では、設定管理プロセス２３Ａが、偶奇分散記録稼働に必要な情報を準備する。
【００９０】
具体的には、ＮＤＲ１Ａの「偶奇分散記録パスワード」５０２の値を「偶奇分散記録稼働時  設定権限者パスワード  入力ボックス」８４で入力された値とし、「ペアＮＤＲのアドレス」５０５の値を「スレーブ側ＮＤＲ  アドレス  入力ボックス」８７で入力された値とし、「ペアＮＤＲの設定権限者パスワード」５０６の値を「スレーブ側ＮＤＲ  設定権限者パスワード  入力ボックス」８８で入力された値とする。
また、「代表アドレス使用  チェックボックス」８５にチェックがある場合には「代表アドレス」８６の値を代表ＩＰアドレス５１４に保存し、また、チェックが無い場合には無効な値として０を保持する。
また、新規にペアＫｅｙ値５０４を時刻値等を用いて生成する。
また、「偶奇分散記録」のフラグ５０１を「実行中」を示す値とし、現在においてＮＤＲ１Ａに設定されているカメラ情報とスケジュール情報を用いて、偶奇分散記録稼働をマスターモードで開始する。
【００９１】
次に、設定管理者がクラインアントＰＣ４（４−１〜４−ｎ）から、ＮＤＲ１Ｂの管理者権限で、ＮＤＲ１Ｂに設定権限者としてログインし、ＮＤＲ１Ｂに図１８に示されるような「偶奇分散記録  スレーブ側設定画面」９１を表示させて、必要な設定項目を入力する（ステップＳ１２３）。
図１８には、偶奇分散記録のスレーブ側設定画面の一例を示してある。
「偶奇分散記録  スレーブ側画設定面」９１は、各種の要素９２〜９５を有している。
「ＯＫボタン」９２は、情報入力が終わり次の処理に移るためのボタンである。
「Ｃａｎｃｅｌボタン」９３は、情報入力をキャンセルして上位の選択画面に戻るためのボタンである。
【００９２】
「偶奇分散記録稼働時  設定権限者パスワード  入力ボックス」９４は、偶奇分散記録稼働に関する設定画面へアクセスするためのパスワードの入力ボックスである。
マスター側ＮＤＲ情報である「マスター側ＮＤＲ  アドレス  入力ボックス」９５は、偶奇分散記録稼働のペアとなる相手方のＮＤＲのアドレスを入力するための入力ボックスである。
マスター側ＮＤＲ情報である「マスター側ＮＤＲ  設定権限者パスワード  入力ボックス」９６は、偶奇分散記録稼働のペアとなる相手方のＮＤＲの設定権限者のパスワードを入力するための入力ボックスである。
【００９３】
設定管理者が「偶奇分散記録  スレーブ側設定画面」９１に入力して「ＯＫボタン」９２を押下した場合には、ＮＤＲ１Ｂの設定管理プロセス２３Ｂが、「偶奇分散記録  スレーブ側設定画面」９１の入力値を検証し、入力誤りがあれば再入力を求め、入力誤りがなければ偶奇分散記録稼働のための準備処理を行う。
偶奇分散記録稼働のための準備処理では、設定管理プロセス２３Ｂが、偶奇分散記録稼働に必要な情報を準備する。
【００９４】
具体的には、ＮＤＲ１Ｂの「ペアＮＤＲのアドレス」５０５の値を「マスター側ＮＤＲ  アドレス  入力ボックス」９５で入力された値とし、「ペアＮＤＲの設定権限者パスワード」５０６の値を「マスター側ＮＤＲ  設定権限者パスワード  入力ボックス」９６で入力された値とする。
ＮＤＲ１Ｂの設定管理プロセス２３Ｂが、ＮＤＲ１Ａにアクセスし、ＮＤＲ１Ａが偶奇分散記録稼働状態であること、及び、「偶奇分散記録稼働時  設定権限者パスワード  入力ボックス」９４にアクセスされたパスワードがＮＤＲ１Ａの偶奇分散記録パスワード５０２と一致していることを確認する。これに際して、ＮＤＲ１Ａと通信することができない場合、或いは、ＮＤＲ１Ａが偶奇分散記録で稼働していない場合、或いは、ＮＤＲ１Ａの偶奇分散記録パスワード５０２と「偶奇分散記録稼働時  設定権限者パスワード  入力ボックス」９４のパスワード値とが一致しない場合には、その旨を示すメッセージボックスを表示し、「偶奇分散記録  スレーブ側設定画面」９１の再入力を行わせる。
【００９５】
次に、ＮＤＲ１ＡとＮＤＲ１Ｂとの間で、偶奇分散記録ペア用に設定情報を交換する（ステップＳ１２４）。
具体的には、ＮＤＲ１Ｂの設定管理プロセス２３Ｂは、ＮＤＲ１Ａの設定管理プロセス２３Ａから、ペアＫｅｙ値５０４と、カメラ名５３１と、カメラタイプ５３２と、カメラアドレス５３３と、カメラ設定権限者パスワード５３４と、スケジュール５３５の情報を取得する。
また、ＮＤＲ１Ｂの設定管理プロセス２３Ｂは、ＮＤＲ１Ｂの「偶奇分散記録」実行中のフラグ５０１を「実行中」を示す値とし、偶奇分散記録をスレーブモードで稼働開始する。
【００９６】
次に、ＮＤＲ１Ａ及びＮＤＲ１Ｂが偶奇分散記録の稼働を開始する（ステップＳ１２５）。
設定管理者は、ＮＤＲ１ＡとＮＤＲ１Ｂの双方が正常に偶奇分散記録で稼動している際に、ＮＤＲ１Ａ又はＮＤＲ１Ｂ又は代表ＩＰアドレスにアクセスし、偶奇分散記録の設定画面を選択し、偶奇分散記録パスワードを入力することで、偶奇分散記録に関する設定変更を、図１９に示される「偶奇分散記録  接続カメラ用領域設定画面」１０１や、図２０に示される「偶奇分散記録  接続カメラ設定画面」１３１や、図２１に示される「偶奇分散記録  スケジュール設定画面」１５１により行うことができる。
【００９７】
図１９には、「偶奇分散記録  接続カメラ用領域設定画面」１０１の一例を示してある。
「偶奇分散記録  接続カメラ用領域設定画面」１０１は、映像録画を行うカメラ毎の記録領域の変更を行う画面であり、主に７個の要素１０２〜１０４、１１１、１１２、１２１、１２２を有している。
「ＯＫボタン」１０２は、情報入力が終わり次の処理に移るためのボタンである。
「Ｃａｎｃｅｌボタン」１０３は、情報入力をキャンセルして上位の選択画面に戻るためのボタンである。
【００９８】
「カメラ番号」１０４は、表横列のカメラ番号を示す。
「マスター側ＮＤＲ  カメラ用記録領域」１１１は、マスター側ＮＤＲについて該当するカメラ用の記録領域の値を変更するための入力ボックスである。本例では、マスター側ＮＤＲにおいて利用可能な映像データ用の記録デバイス（記録領域）の総容量に対して、該当するカメラに割り当てる量をパーセンテージで入力する。
また、「マスター側ＮＤＲ  カメラ用記録領域  合計使用量領域」１１２では、「マスター側ＮＤＲ  カメラ用記録領域」１１１の合計値１１３をパーセンテージで示し、カメラ用領域の全カメラ分の合計値１１４をバイトサイズで示し、マスター側ＮＤＲにおける映像データ用の記録デバイスのバイトサイズ１１５を示す。
【００９９】
「スレーブ側ＮＤＲ  カメラ用記録領域」１２１は、スレーブ側ＮＤＲについて該当するカメラ用の記録領域の値を変更するための入力ボックスである。本例では、スレーブ側ＮＤＲにおいて利用可能な映像データ用の記録デバイス（記録領域）の総容量に対して、該当するカメラに割り当てる量をパーセンテージで入力する。
また、「スレーブ側ＮＤＲ  カメラ用記録領域  合計使用量領域」１２２では、「スレーブ側ＮＤＲ  カメラ用記録領域」１２１の合計値１２３をパーセンテージで示し、カメラ用領域の全カメラ分の合計値１２４をバイトサイズで示し、スレーブ側ＮＤＲにおける映像データ用の記録デバイスのバイトサイズ１２５を示す。
【０１００】
ここで、本例では、「マスター側ＮＤＲ  カメラ用記録領域」１１１及び「スレーブ側ＮＤＲ  カメラ用記録領域」１２１において、パーセンテージを用いて入力させているが、バイトサイズ等の値を指定する態様が用いられてもよく、或いは、パーセンテージとバイトサイズとで入力を切り換えることが可能な態様が用いられてもよい。
「ＯＫボタン」１０２が押された場合には、マスター側ＮＤＲの設定管理プロセスがカメラ用記録領域の変更処理を行う。マスター側ＮＤＲの設定管理プロセス２３は、マスター側のカメラ用記録領域の変更を行い、マスター側の全カメラ領域の変更が完了した後に、スレーブ側のカメラ用記録領域の変更を行う。
また、蓄積プロセス２２によっては、カメラ用記録領域の変更時には、蓄積プロセス２２の停止が必要になる場合もあるが、マスター側とスレーブ側とで順にカメラ用記録領域を変更していくことにより、変更していない一方で映像データの録画が継続可能であり、偶奇分散記録のペアとしては映像の欠落無しでカメラ用記録領域の変更が可能となる。
【０１０１】
図２０には、「偶奇分散記録  接続カメラ設定画面」１３１の一例を示してある。
「偶奇分散記録  接続カメラ設定画面」１３１は、接続するＩＰカメラの設定変更を行うための画面であり、主に７個の要素１３２〜１３４、１４１〜１４４を有している。
「偶奇分散記録  接続カメラ設定画面」１３１では、接続するカメラ毎の情報５３１〜５３４について、設定情報の一覧表示及び変更を行う。
「ＯＫボタン」１３２は、情報入力が終わり次の処理に移るためのボタンである。
「Ｃａｎｃｅｌボタン」１３３は、情報入力をキャンセルして上位の選択画面に戻るためのボタンである。
【０１０２】
「カメラ番号」１３４は、表横列のカメラ番号を示す。
「カメラ名」１４１は、カメラ毎情報のカメラ名５３１の表示及び変更用の入力ボックスである。
「カメラタイプ  選択メニューボックス」１４２は、カメラ毎情報のカメラタイプ５３２の表示及び変更用のメニューボックスである。逆三角（▽）のマークの押下により、選択可能なカメラタイプの一覧を表示する。
「アドレス」１４３は、カメラ毎情報のアドレス５３３の情報の表示及び変更用の入力ボックスである。
「パスワード」１４４は、カメラ毎情報のカメラ設定権限者パスワード５３４の表示及び変更用の入力ボックスである。
【０１０３】
「ＯＫボタン」１３２が押された場合には、マスター側ＮＤＲの設定管理プロセス２３が、マスター側とスレーブ側の双方のカメラ毎情報の更新を行う。
マスター側ＮＤＲの受信プロセス２３は、変更されたカメラ毎情報５２２により、ＩＰカメラ３（３−１〜３−ｍ）から映像データの取得を行う。スレーブ側ＮＤＲでは、縮退マスターモードに変異する時のために、カメラ毎情報５２２を保持しておく。
【０１０４】
図２１には、「偶奇分散記録  スケジュール設定画面」１５１の一例を示してある。
「偶奇分散記録  スケジュール設定画面」１５１は、ＩＰカメラからの映像データを取得するスケジュール情報の設定の変更を行うための画面であり、主に１０個の要素１５２〜１５５、１６１〜１６６を有している。
「Ｃｌｏｓｅボタン」１５２は、情報入力を中断して上位の選択画面に戻るためのボタンである。
「カメラ選択メニューボックス」１５３は、スケジュール変更を行うカメラを選択するためのメニューボックスである。逆三角（▽）のマークの押下により、選択可能なカメラ番号の一覧を表示して選択可能とする。カメラ番号の選択が変更されると、「週間スケジュール表」１５４についても「カメラ選択メニューボックス」１５３が示すカメラ番号のスケジュール表示へ変更する。
【０１０５】
「週間スケジュール表」１５４は、一週間の録画スケジュール表である。縦軸が一日内の時刻を示し、横軸が曜日を示す。「週間スケジュール表」１５４上で、項目表示が無い部分は録画を行わない時間帯であり、録画を行う時間帯には「スケジュール項目」１５５を表示する。
「スケジュール項目」１５５は、録画スケジュールの項目を示し、開始時刻と、終了時刻と、映像取得のフレームレートを記載する。この「スケジュール項目」１５５をクリックすると、スケジュール項目の内容を変更するための画面である図２２に示される「偶奇分散記録  スケジュール項目変更画面」１７１を表示する。
【０１０６】
「スケジュール追加エリア」１６１は、スケジュール項目の追加用の入力ボックス群である。
「曜日指定メニューボックス」１６２は、追加スケジュール項目の曜日指定を行うためのメニューボックスである。逆三角（▽）のマークの押下により、曜日の一覧を表示する。
「開始時刻指定メニューボックス」１６３は、開始時刻の指定を行うためのメニューボックスである。逆三角（▽）のマークの押下により、１０分間隔で２４時間分の時刻を表示して選択可能とする。
「終了時刻指定メニューボックス」１６４は、終了時刻の指定を行うためのメニューボックスである。逆三角（▽）のマークの押下により、１０分間隔で２４時間分の時刻を表示して選択可能とする。
【０１０７】
「取得フレームレート指定メニューボックス」１６５は、映像取得のフレームレートの指定を行うためのメニューボックスである。逆三角（▽）のマークの押下により、選択可能なフレームレート値の一覧を表示して選択可能とする。
「追加ボタン」１６６は、このボタンが押下された場合に、開始時刻１６３が終了時刻１６４の後になっているときにはその旨をエラーメッセージとして表示して再入力を行わせ、また、開始時刻１６３が終了時刻１６４より前になっているときには「スケジュール追加エリア」１６１の値（曜日、開始時刻、終了時刻、フレームレート）でスケジュール項目を追加するものである。
なお、追加するスケジュール項目１５５とそれに接する既にあるスケジュール項目１５５とでフレームレートが同値である場合には、連続した１つのスケジュール項目となる。
【０１０８】
図２２には、「偶奇分散記録  スケジュール項目変更画面」１７１の一例を示してある。
「偶奇分散記録  スケジュール項目変更画面」１７１は、図２１に示される「スケジュール項目」１５５をクリックすると開く画面であり、スケジュール項目の変更用の画面である。
「Ｃａｎｃｅｌボタン」１７２は、情報入力を中断して上位の選択画面に戻るためのボタンである。
「現状情報エリア」１７３は、上位画面で選択した「スケジュール項目」１５５の情報を表示し、カメラ番号、曜日、開始時刻、終了時刻、フレームレートを表示する。
【０１０９】
「スケジュール変更エリア」１８１は、スケジュール項目の内容を変更するための入力ボックス群のエリアである。
「曜日指定メニューボックス」１８２は、スケジュール項目の曜日の変更を行うためのメニューボックスである。逆三角（▽）のマークの押下により、曜日の一覧を表示する。
「開始時刻指定メニューボックス」１８３は、開始時刻の変更を行うためのメニューボックスである。逆三角（▽）のマークの押下により、１０分間隔で２４時間分の時刻を表示して選択可能とする。
「終了時刻指定メニューボックス」１８４は、終了時刻の変更を行うためのメニューボックスである。逆三角（▽）のマークの押下により、１０分間隔で２４時間分の時刻を表示して選択可能とする。
「取得フレームレート指定メニューボックス」１８５は、映像取得のフレームレートの指定を行うためのメニューボックスである。逆三角（▽）のマークの押下により、選択可能なフレームレート値の一覧を表示して選択可能とする。
【０１１０】
「変更ボタン」１８６は、このボタンが押下された場合に、開始時刻１８３が終了時刻１８４の後になっているときにはその旨をエラーメッセージとして表示して再入力を行わせ、また、開始時刻１８３が終了時刻１８４より前になっているときには、一旦「現状情報エリア」１７３で表示されているスケジュール項目を削除した後（録画を行わない状態とした後）に、「スケジュール変更エリア」１８１の値（曜日、開始時刻、終了時刻、フレームレート）でスケジュール項目を追加する。
なお、追加するスケジュール項目１５５とそれに接する既にあるスケジュール項目１５５とでフレームレートが同値である場合には、連続した１つのスケジュール項目となる。
スケジュール項目の追加処理後は、上位画面の「偶奇分散記録  スケジュール設定画面」１５１に戻る。
【０１１１】
「スケジュール項目コピーエリア」１９１は、選択されたスケジュール項目を他の曜日にコピーするための入力ボックス群のエリアである。
「コピー先曜日指定チェックボックス群」１９２は、コピー先の曜日を指定するためのチェックボックス群である。チェックが入っている曜日にコピーを行う。現状情報エリア１７３に示される曜日と同じ曜日については、選択不可状態とする。
「コピーボタン」１９３は、このボタンが押下された場合に、「コピー先曜日指定チェックボックス群」１９２で指定された曜日に、「現状情報エリア」１７３の開始時刻と終了時刻とフレームレートの値で、スケジュール項目を追加するものである。
「コピーボタン」１９３で追加するスケジュール項目とそれに接する既にあるスケジュール項目１５５とでフレームレートが同値である場合には、連続した１つのスケジュール項目となる。
スケジュール項目のコピー処理後は、上位画面の「偶奇分散記録  スケジュール設定画面」１５１に戻る。
【０１１２】
「削除エリア」２０１は、「削除ボタン」２０２を有しており、選択したスケジュール項目の削除を行うためのエリアである。
「削除ボタン」２０２は、このボタンが押下された場合に、「現状情報エリア」１７３で示しているスケジュール項目を削除して、録画を行わない時間帯とするものである。
スケジュール項目の削除処理後は、上位画面の「偶奇分散記録  スケジュール設定画面」１５１に戻る。
【０１１３】
本例において、偶奇分散記録での動作を止めて単体のＮＤＲ１Ａ、１Ｂで稼働させる場合には、設定管理者がクライアントＰＣ４（４−１〜４−ｎ）から、ＮＤＲ１Ａ及びＮＤＲ１Ｂに設定管理者権限でログインし、各々の設定画面で「偶奇分散記録の解消」を実行する。
ＮＤＲ１Ａ及びＮＤＲ１Ｂは、一旦縮退マスターモードに変移した後に、偶奇分散記録に必要な情報を破棄し、「偶奇分散記録」のフラグ５０１をオフ（ＯＦＦ）とし、単体として映像データの取得と蓄積と配信を継続する。本例では、記録した映像データは保持し、カメラ設定及びスケジュール情報も引き継いで、単体として稼働を継続する。
【０１１４】
ここで、上記した実地例では、ＪＰＥＧ等の１フレーム毎に独立している映像データを例として説明したが、以下で、映像データを複数フレーム分まとめて扱うＭＰＥＧ等の映像データを偶奇分散記録で扱う際の一例を説明する。
まず、図２３には、１フレーム毎に独立しているＪＰＥＧの映像データを偶奇分散記録している定常状態の一例を示してある。
ＩＰカメラ３からＮＤＲ１Ａの受信プロセス２４Ａに１フレーム毎に映像データ２１１が送信される。映像データ２１１内の番号は、フレーム番号を示している。
【０１１５】
受信プロセス２４Ａが映像データ２１１を１フレーム毎にＮＤＲ１Ａの蓄積プロセス２２ＡとＮＤＲ１Ｂの蓄積プロセス２２Ｂに分配する。フレーム番号が奇数のものは映像データ２１２として蓄積プロセス２２Ａに送信し、フレーム番号が偶数のものは映像データ２１３として蓄積プロセス２２Ｂに送信する。なお、ここでは、１フレーム毎に分配しているが、例えば、２フレーム毎等、複数フレーム毎に２つの蓄積プロセス２２Ａ、２２Ｂに分配するようにしてもよい。
いずれか一方のＮＤＲが停止した縮退動作時におけるクライアントＰＣ４上の映像再生は、停止したＮＤＲから映像の読み出しができないため、１フレーム毎に映像の有無が繰り返される。つまり、フレームレートが半分に落ちた状態で再生される。但し、縮退動作時においても、ＩＰカメラ３により新しく生成される映像データ２１１については、フレーム番号が奇数のものと偶数のものの全てが、停止していないＮＤＲの蓄積プロセス２２に送信される。
【０１１６】
ＭＰＥＧ−１／２／４のように時間方向に数〜数十フレームで相関を取って圧縮率を上げる方式では、映像データは複数フレームが一塊の映像データとして扱われる。ここで、この一塊をＧＯＶと呼称する。
例えば、図２３に示した構成において、１フレームとした所をＧＯＶとして扱って偶奇分散記録する方法が考えられるが、この方法では、いずれか一方のＮＤＲが停止した縮退動作時には、クライアントＰＣ４で再生する映像としては、稼動中のＮＤＲが記録したＧＯＶしか再生することができず、複数フレーム分再生して複数フレーム分停止を繰り返すことになり、不自然な映像再生となると考えられる。
【０１１７】
そこで、図２４には、ＭＰＥＧの映像データを偶奇分散記録している定常状態の一例を示してある。
図２４を参照して、ＭＰＥＧの映像データの偶奇分散記録で、縮退動作時においてもＪＰＥＧと同様にフレームレートが落ちた状態で再生可能なＧＯＶの作り方を示す。
ＩＰカメラ３から２系統のＭＰＥＧ映像データを出力する。ここで、映像の系統をストリームと呼称する。
一方のストリームはフレーム番号が奇数のフレームのみを時間方向にも相関を取りエンコードした映像データであり、もう一方のストリームはフレーム番号が偶数のフレームのみを時間方向にも相関を取りエンコードした映像データとする。また、ＧＯＶの各フレームには時刻情報を添付する。
また、奇数フレームを時間方向に圧縮した映像データのストリームをストリーム奇と呼称し、偶数フレームを時間方向に圧縮した映像データのストリームをストリーム偶と呼称する。
【０１１８】
ＩＰカメラ３から出力された、ストリーム奇のＧＯＶ（１、３、５番目のフレームのＧＯＶ）２２１、ＧＯＶ（７、９、１１番目のフレームのＧＯＶ）２２３は、受信プロセス２４Ａを経由してＧＯＶ２３１、ＧＯＶ２３３としてＮＤＲ１Ａの蓄積プロセス２２Ａに送信されて蓄積される。
同様に、ＩＰカメラ３から出力された、ストリーム偶のＧＯＶ（２、４、６番目のフレームのＧＯＶ）２２２、ＧＯＶ（８、１０、１２番目のフレームのＧＯＶ）２２４は、受信プロセス２４Ａを経由してＧＯＶ２３２、ＧＯＶ２３４としてＮＤＲ１Ｂの蓄積プロセス２２Ｂに送信されて蓄積される。
【０１１９】
クライアントＰＣ４での映像再生としては、定常状態ではＮＤＲ１ＡとＮＤＲ１Ｂの双方からＧＯＶを取得し、クライアントＰＣ４上で、２ストリームの映像データを平行してデコードし、映像データの各フレームの時刻情報を用いて、時系列に並ぶようにソートしてから表示する。ストリーム奇とストリーム偶を時系列順に交互に表示する。
一方のＮＤＲが停止した縮退動作時においては、ストリーム奇又はストリーム偶の一方の再生となるが、定常状態と比べて、１フレーム毎に映像データの有無を繰り返す状態での再生が可能であり、フレームレートが半分に落ちた状態での再生が可能である。
【０１２０】
以上のように、本例の映像蓄積システムでは、２台の映像蓄積装置（本例では、ＮＤＲ）１Ａ、１Ｂに１台のカメラ（本例では、ＩＰカメラ）３からの映像データをフレーム単位で交互に記録する。
また、本例では、片方の映像蓄積装置が停止した場合には、もう片方の映像蓄積装置がカメラ３からの映像データを全フレーム記録する。
また、本例では、片方の映像蓄積装置内でフレームをソートして時系列順に映像データをクライアント又はモニタに出力する。
また、本例では、図２４を用いて説明したように、ＭＰＥＧを用いた場合においても、効果的な偶奇分散記録を行うことができる。
【０１２１】
ここで、本実施例では、ＮＤＲを２台使用する構成について説明したが、例えば、１台のＮＤＲに２つのハードディスクを備えて偶奇分散記録を実現することも可能である。
また、カメラ３としては、その代わりに、ＷＥＢエンコーダ等が用いられてもよい。
【０１２２】
なお、本例の映像蓄積システムでは、ＩＰカメラ３（３−１〜３−ｍ）により映像取得装置が構成されており、複数のＮＤＲ１Ａ、１Ｂにより複数の映像蓄積装置が構成されている。
また、本例の映像蓄積装置（ＮＤＲ１Ａ、１Ｂ）では、蓄積プロセス２２Ａ、２２Ｂが映像データを記録デバイス１１Ａ、１１Ｂに蓄積する機能により蓄積手段が構成されており、受信プロセス２４Ａ、２４ＢがネットワークＩ／Ｆ１４Ａ、１４Ｂやネットワーク２を介して映像取得装置（ＩＰカメラ３）から映像データを受信する機能により映像受信手段が構成されており、ハートビート通信によりペアとなる他の映像蓄積装置（ＮＤＲ１Ａ、１Ｂ）の動作状況を確認する機能により確認手段が構成されており、配信プロセス２５Ａ、２５ＢがネットワークＩ／Ｆ１４Ａ、１４Ｂやネットワーク２を介してクライアントＰＣ４（４−１〜４−ｎ）へ映像データを送信する機能により映像出力手段が構成されている。
また、本例では、映像データをＪＰＥＧやＭＰＥＧなどの圧縮方式で圧縮する圧縮手段が、映像取得装置（ＩＰカメラ３）に備えられている。
【０１２３】
ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々なシステムや装置として提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るシステムや装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の一実施例に係る映像蓄積システムの構成例を示す図である。
【図２】２台のＮＤＲ上で動作するソフトウエアの構成例を示す図である。
【図３】設定管理プロセスの構成例を示す図である。
【図４】ＮＤＲ起動時における処理の流れの一例を示す図である。
【図５】マスターモードで行われる処理の流れの一例を示す図である。
【図６】スレーブモードで行われる処理の流れの一例を示す図である。
【図７】設定管理プロセスのコマンド待ち受けスレッドにより行われる処理の流れの一例を示す図である。
【図８】マスターモード動作時に設定管理プロセスの定常処理スレッドにより行われる処理の流れの一例を示す図である。
【図９】スレーブモード動作時に設定管理プロセスの定常処理スレッドにより行われる処理の流れの一例を示す図である。
【図１０】蓄積プロセスの構成例を示す図である。
【図１１】蓄積プロセスの起動時における処理の流れの一例を示す図である。
【図１２】受信プロセスの構成例を示す図である。
【図１３】受信プロセスの起動時における処理の流れの一例を示す図である。
【図１４】配信プロセスの構成例を示す図である。
【図１５】配信プロセスの起動時における処理の流れの一例を示す図である。
【図１６】偶奇分散記録方式を設定する際における処理の流れの一例を示す図である。
【図１７】偶奇分散記録のマスター側設定画面の一例を示す図である。
【図１８】偶奇分散記録のスレーブ側設定画面の一例を示す図である。
【図１９】偶奇分散記録の接続カメラ用領域設定画面の一例を示す図である。
【図２０】偶奇分散記録の接続カメラ設定画面の一例を示す図である。
【図２１】偶奇分散記録のスケジュール設定画面の一例を示す図である。
【図２２】偶奇分散記録のスケジュール項目変更画面の一例を示す図である。
【図２３】１フレーム毎に独立しているＪＰＥＧの映像データを偶奇分散記録している定常状態の一例を示す図である。
【図２４】ＭＰＥＧの映像データを偶奇分散記録している定常状態の一例を示す図である。
【図２５】映像蓄積システムの構成例を示す図である。
【図２６】ＮＤＲ上のソフトウエアのプロセス構成の一例を示す図である。
【図２７】ＮＤＲにおけるカメラ用記録領域への記録の様子の一例を示す図である。
【符号の説明】
【０１２５】
１・・ＮＤＲ、  ２・・ネットワーク、  ３・・ＩＰカメラ、  ４・・クライアントＰＣ、  １１・・記録デバイス、  １２・・コンピュータボード、  １３・・制御バス、  １４・・ネットワークＩ／Ｆ、  １５・・記録デバイスＩ／Ｆ、  １６・・メモリ、  １７・・ＣＰＵ、  １８・・設定情報、  １９・・設定情報ファイル、  ２１・・プロセス、  ２２・・蓄積プロセス、  ２３・・設定管理プロセス、  ２４・・受信プロセス、  ２５・・配信プロセス、  ３１・・カメラ用記録領域、  ４１、５１、６１、７１・・コマンド待ち受けスレッド、  ４２・・定常処理スレッド、  ５２・・映像取得スレッド、  ５３、６３、７２・・映像配信スレッド、  ６２・・カメラ接続映像取得スレッド、  ６４・・メモリバッファ、
【図１】
0004514724.tif 000002
【図２】
0004514724.tif 000003
【図３】
0004514724.tif 000004
【図４】
0004514724.tif 000005
【図５】
0004514724.tif 000006
【図６】
0004514724.tif 000007
【図７】
0004514724.tif 000008
【図８】
0004514724.tif 000009
【図９】
0004514724.tif 000010
【図１０】
0004514724.tif 000011
【図１１】
0004514724.tif 000012
【図１２】
0004514724.tif 000013
【図１３】
0004514724.tif 000014
【図１４】
0004514724.tif 000015
【図１５】
0004514724.tif 000016
【図１６】
0004514724.tif 000017
【図１７】
0004514724.tif 000018
【図１８】
0004514724.tif 000019
【図１９】
0004514724.tif 000020
【図２０】
0004514724.tif 000021
【図２１】
0004514724.tif 000022
【図２２】
0004514724.tif 000023
【図２３】
0004514724.tif 000024
【図２４】
0004514724.tif 000025
【図２５】
0004514724.tif 000026
【図２６】
0004514724.tif 000027
【図２７】
0004514724.tif 000028