(57)【要約】【課題】  例えば、長時間に亘ってネットワークが切断し、その間の画像データを生成順序に従って受信することができないような場合でも、生成順序に従った画像データの読み出しを保障する。【解決手段】  サーバ２００は、画像データの生成順序に係る情報が付与される画像データをカメラサーバ４００から受信し、受信した画像データ及び当該画像データの生成順序に係る情報を記録媒体に記録する。記録媒体に記録した画像データの読み出しの際には、画像データの生成順序に係る情報に従う順序で画像データを読み出す。【選択図】  図１
2006019844.tif 000002
【特許請求の範囲】
【請求項１】
外部装置に対して画像データの取得間隔を指示するための取得間隔情報を記憶する間隔情報記憶手段と、
前記外部装置において前記取得間隔情報に基づいて撮影され、生成順序に係る情報が付与された画像データを受信する画像受信手段と、
前記取得間隔情報及び受信した前記画像データに基づいて、未取得分の画像データを特定するための管理情報を記憶する未取得画像記憶手段と、
受信した前記画像データと前記未取得画像記憶手段の管理情報とを付き合わせる照合手段を有することを特徴とする画像管理装置。
【請求項２】
前記画像データ受信手段にて受信する画像データ及び当該画像データの生成順序に係る情報を、外部又は内部に備えられる記録媒体に記録する記録制御手段と、
画像データの生成順序に係る情報に従う順序で前記記録媒体から画像データを読み出す画像データ読出手段とを更に有することを特徴とする請求項１に記載の画像管理装置。
【請求項３】
前記外部装置は、前記外部装置に接続される撮像装置から前記撮像装置の画像データの生成順序に従って画像データを取得し、前記画像データの生成順序に係る情報は、前記外部装置が前記撮像装置から画像データを取得した順序で付与される情報であることを特徴とする請求項１に記載の画像管理装置。
【請求項４】
前記画像データの生成順序に係る情報は、前記外部装置が前記撮像装置から画像データを取得した時刻情報であることを特徴とする請求項２又は３に記載の画像管理装置。
【請求項５】
画像データを取得する画像データ取得手段と、
前記画像データ取得手段により取得される画像データに当該画像データの生成順序に係る情報を付与する情報付与手段と、
前記情報付与手段により生成順序に係る情報が付与された画像データを、外部又は内部に備えられる記録媒体に記録する記録制御手段と、
前記記録媒体に記録される生成順序に係る情報が付与された画像データを外部装置に対して送信する画像データ送信手段とを有することを特徴とする画像取得装置。
【請求項６】
前記画像データ取得手段は、当該画像取得装置に接続される撮像装置から前記撮像装置の画像データの生成順序に従って画像データを取得し、前記情報付与手段は、前記画像データ取得手段によって前記撮像装置から画像データが取得された順序で、当該画像データに対して生成順序に係る情報を付与することを特徴とする請求項５に記載の画像取得装置。
【請求項７】
前記撮像装置が画像データを生成する時間間隔及び当該画像管理装置が前記撮像装置から画像データを取得する時間間隔を同じ所定の時間間隔とするための制御情報を前記外部装置から受信する制御情報受信手段と、
前記制御情報に基づいて、前記撮像装置による画像データの生成時間間隔を前記所定の時間間隔に制御する制御手段とを更に有し、
前記画像データ取得手段は、前記制御情報に基づいて、前記撮像装置からの画像データの取得時間間隔を前記所定の時間間隔に制御することを特徴とする請求項６に記載の画像取得装置。
【請求項８】
前記情報付与手段は、前記画像データ取得手段によって前記撮像装置から画像データが取得された時刻情報を当該画像データに対して付与することを特徴とする請求項６又は７に記載の画像取得装置。
【請求項９】
請求項１乃至４の何れか１項に記載の画像管理装置と、請求項５乃至８の何れか１項に記載の画像取得装置とを有することを特徴とする画像管理システム。
【請求項１０】
画像データを管理する画像管理装置の制御方法であって、
外部装置に対して画像データの取得間隔を指示するための取得間隔情報を記憶する間隔情報記憶ステップと、
前記外部装置において前記取得間隔情報に基づいて撮影され、生成順序に係る情報が付与された画像データを受信する画像受信ステップと、
前記取得間隔情報及び受信した前記画像データに基づいて、未取得分の画像データを特定するための管理情報を記憶する未取得画像記憶ステップと、
受信した前記画像データと前記管理情報とを付き合わせる照合ステップを有することを特徴とする画像管理装置の制御方法。
【請求項１１】
画像データを取得する画像取得装置の制御方法であって、
画像データを取得する画像データ取得ステップと、
前記画像データ取得ステップにより取得される画像データに当該画像データの生成順序に係る情報を付与する情報付与ステップと、
前記情報付与ステップにて生成順序に係る情報が付与された画像データを、外部又は内部に備えられる記録媒体に記録する記録制御ステップと、
前記記録媒体に記録される生成順序に係る情報が付与された画像データを外部装置に対して送信する画像データ送信ステップとを含むことを特徴とする画像取得装置の制御方法。
【請求項１２】
請求項１０に記載の画像管理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項１３】
請求項１１に記載の画像取得装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、監視用カメラと監視用カメラが撮像した画像データをサーバが蓄積する撮像システムに適用可能な画像管理装置、画像取得装置、画像管理システム、画像管理装置の制御方法、画像取得装置の制御方法及びプログラムに関するものである。
【背景技術】
【０００２】
特許文献１では、以下のような画像パケット通信システムが開示されている。すなわち、送信側装置では、パケット組立手段が、フレーム同期信号発生手段で生成された画像フレーム同期信号に基づき同期パケットを生成し、受信側装置では、同期パケットを高速パケット網を介して受信し、パケット分解手段で同期情報を取出す。
【０００３】
到着時間算出手段では、同期情報の到着時間の算出を行いフレーム同期を生成し、移動平均値算出手段は、所定時間でのフレーム同期の移動平均と分散を行い、算出された移動平均値によってフレーム同期信号生成手段は、画像フレーム同期信号を生成し、画像クロック再生手段は、この画像フレーム同期信号により画像クロックを生成する。また、分散値により観測窓設定手段は、移動平均の観測窓を設定する。これらのシステムにより、パケット廃棄やパケット遅延ジッタに耐性のある画像フレーム同期の再生ができ、安定した画像情報を再生できる。
【０００４】
特許文献２では、以下のような画像伝送システムが開示されている。すなわち、動画像情報の符号化に階層符号化を用い、生成された各動画像フレームの各階層符号を一つあるいは複数のパケットにパケット化し、動画像送信部では、毎動画像フレーム周期内に該当する動画像フレームのパケットを送出する。
【０００５】
送出ネットワークの混雑により、送出されなかったパケットに関しては廃棄するか予め定められた時間内はキューイングして、引き続く動画像フレーム周期に、その周期に送出されるべきパケットとの間で優先順位を付けて再度送出を試みる。これにより、動画像受信部では、本来の動画像フレーム周期毎に動画像フレームが再生されかつ安定した画質が可能になる。
【０００６】
また、例えばＴＣＰ／ＩＰプロトコル等で通信を行っている場合は、パケットロスを検知して該当パケットを再送することにより、瞬間的なネットワーク障害をカバーすることも可能である。
【０００７】
【特許文献１】特開平５−１４３９９号公報
【特許文献２】特開平１０−２６２２４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の従来技術は、主に動画のスムーズな視聴等を想定したものであり、ＴＣＰ／ＩＰも瞬間的なネットワーク障害をカバーできるに過ぎない。例えばネットワーク障害（ルータの故障、ネットワークを輻輳させるウィルスの大規模な蔓延等）でネットワークが比較的長時間切断された場合に、撮影された画像の欠落を抑制することや、欠落した画像がどの撮影時刻範囲のものであるかを特定することもできなかった。
【０００９】
特に、ネットワークを介して防犯用等の複数のカメラの画像をサーバに送信する場合等では、高価な専用回線を使わずにＩＰ−ＶＰＮやＡＤＳＬ等を使用して、容量の多い画像ファイルを連続的に送信し、かつ多少のネットワーク障害が発生したとしても、犯罪や異常が発生した場合の画像を切れ目なく録画することが要求されるが、これらの厳しい要件には上記従来技術では対応できないという問題もあった。
【００１０】
従って、本発明の目的は、例えば、長時間に亘ってネットワークが切断し、その間の画像データを生成順序に従って受信することができないような場合でも、生成順序に従った画像データの読み出しを保障することにある。
【課題を解決するための手段】
【００１１】
本発明の画像管理装置は、外部装置に対して画像データの取得間隔を指示するための取得間隔情報を記憶する間隔情報記憶手段と、前記外部装置において前記取得間隔情報に基づいて撮影され、生成順序に係る情報が付与された画像データを受信する画像受信手段と、前記取得間隔情報及び受信した前記画像データに基づいて、未取得分の画像データを特定するための管理情報を記憶する未取得画像記憶手段と、受信した前記画像データと前記未取得画像記憶手段の管理情報とを付き合わせる照合手段とを有することを特徴とする。
【００１２】
本発明の画像取得装置は、画像データを取得する画像データ取得手段と、前記画像データ取得手段により取得される画像データに当該画像データの生成順序に係る情報を付与する情報付与手段と、前記情報付与手段により生成順序に係る情報が付与された画像データを、外部又は内部に備えられる記録媒体に記録する記録制御手段と、前記記録媒体に記録される生成順序に係る情報が付与された画像データを外部装置に対して送信する画像データ送信手段とを有することを特徴とする。
【００１３】
本発明の画像管理システムは、前記画像管理装置と前記画像取得装置とを有することを特徴とする。
【００１４】
本発明の画像管理装置の制御方法は、外部装置に対して画像データの取得間隔を指示するための取得間隔情報を記憶する間隔情報記憶ステップと、前記外部装置において前記取得間隔情報に基づいて撮影され、生成順序に係る情報が付与された画像データを受信する画像受信ステップと、前記取得間隔情報及び受信した前記画像データに基づいて、未取得分の画像データを特定するための管理情報を記憶する未取得画像記憶ステップと、受信した前記画像データと前記管理情報とを付き合わせる照合手段とを有することを特徴とする。
【００１５】
本発明の画像取得装置の制御方法は、画像データを取得する画像取得装置の制御方法であって、画像データを取得する画像データ取得ステップと、前記画像データ取得ステップにより取得される画像データに当該画像データの生成順序に係る情報を付与する情報付与ステップと、前記情報付与ステップにて生成順序に係る情報が付与された画像データを、外部又は内部に備えられる記録媒体に記録する記録制御ステップと、前記記録媒体に記録される生成順序に係る情報が付与された画像データを外部装置に対して送信する画像データ送信ステップとを含むことを特徴とする。
【００１６】
本発明のプログラムの第１の態様は、前記画像管理装置の制御方法をコンピュータに実行させることを特徴とする。
【００１７】
本発明のプログラムの第２の態様は、前記画像取得装置の制御方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、例えば、長時間に亘ってネットワークが切断し、その間の画像データを生成順序に従って受信することができないような場合でも、画像管理装置が受信する画像データにはそれらの生成順序に係る情報が付与され、その生成順序に係る順序で画像データを読み出されるため、生成順序に従った画像データの読み出しが保障される。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００２０】
図１は、本発明の一実施形態に係るネットワークビデオレコーダシステムの概略構成を示す図である。なお、図１のネットワーク１００上における各種端末の接続構成は飽くまでも一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００２１】
サーバ２００は、ネットワーク１００を介して接続される各カメラサーバ４００から画像データを取得し、内部に記録（録画）する。記録された画像データは、クライアント端末３００からの要求に応じて、当該要求を発行したクライアント端末３００に対して送信される。
【００２２】
クライアント端末３００は、操作者による操作に応じて、本ネットワークビデオレコーダシステムの各種設定処理及びサーバ２００から受信する画像データの再生処理等を行う。
【００２３】
カメラサーバ４００は、当該カメラサーバ４００に接続される一又は複数のカメラの撮像処理により生成された画像データを取得し、取得した画像データをＲＡＭ又はＨＤＤ等の記録媒体にキャッシュする。キャッシュされた画像データは、サーバ２００に対して転送される。
【００２４】
次に、図１のサーバ２００のハードウェア構成について図２を用いて説明する。
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３或いは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input/Output System）やオペレーティングシステムプログラムの一部や、各サーバ或いはＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２５】
また、入力コントローラ２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントローラ２０６は、ＣＲＴディスプレイ２１０等の表示器への表示を制御する。表示器としてはＣＲＴだけでなく、液晶ディスプレイ等も適用可能である。これらは必要に応じて管理者が選択可能である。
【００２６】
メモリコントローラ２０７は、ブートプログラム、ブラウザソフトウェア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データやオペレーティングシステムの一部等を記憶するハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２７】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２８】
以下に説明する図３−１乃至図６に示す処理をＣＰＵ２０１が実行するためのネットワークビデオレコーダプログラム２１２は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされ、ＣＰＵ２０１によって実行される。さらに、図３−１乃至図６に示す処理に必要なテーブル等を記録するための定義ファイル記録領域２１３及び各種テーブル記録領域２１４等が外部メモリ２１１に用意されている。なお、図２では、外部メモリ２１１は、サーバ２００内に備えた構成を示しているが、サーバ２００の外部に外部メモリ２１１を備える構成であってもよい。
【００２９】
次に、図３−１乃至図６のフローチャートを参照しながら、本実施形態に係るネットワークビデオレコーダシステムの動作について説明する。
【００３０】
先ず、図３−１のフローチャートを参照しながら、サーバ２００上におけるネットワークビデオレコーダシステムの基本制御設定動作について説明する。
【００３１】
サーバ２００は、操作者のクライアント端末３００上における時刻同期基本設定画面の呼び出し操作に応じて、時刻同期基本設定画面情報を通信Ｉ／Ｆコントローラ２０８によりクライアント端末３００に対して送信し（ステップＳ１０１）、クライアント端末３００のＣＲＴ上には図８に示すような時刻同期基本設定画面が表示される。
【００３２】
操作者は、図８の時刻同期基本設定画面上においてサーバ２００とカメラサーバ４００間で同期をとるための基本設定情報を入力する。図８に示す例では、基本設定情報として同期処理の基準時刻及び同期処理の時間間隔（例えば、０時を基準時刻として１日当たり２４回の同期処理を実行）が設定される。また、図８の時刻同期基本設定画面上では、カメラサーバ４００がカメラから取得した画像データを一時的に保持（キャッシュ）する時間を示すキャッシュ時間及びカメラが撮影を開始する基準時刻（画像データ取得基準時刻）も設定することが可能である。
【００３３】
時刻同期基本設定画面上での設定内容は、クライアント端末３００からサーバ２００に送信され、サーバ２００のＣＰＵ２０１は、上記設定内容を定義ファイル記録領域２１３内の時刻同期基本動作マスタ４０１（図７（ａ））の項目４０１１〜４０１３に書き込む（ステップＳ１０２）。例えば、同期処理の基準時刻として０時、同期処理の時間間隔として１日当たり２４回（１時間）、画像データのキャッシュ時間５時間、画像データ取得基準時刻（2003:04:01:00:00:00.000）等が書き込まれる。なお、画像データのキャッシュ時間はカメラサーバ４００が内臓している記憶手段（メモリ、ハードディスク等）の容量に応じて変更することが可能であり、特定時間（５時間、又は３０分等）を指定できる。更に記憶手段の容量（空き容量）と画像の解像度及びフレームレートにより算出される最大時間とし、カメラサーバ４００からサーバ２００にこの最大時間を通知する構成としても良い。
【００３４】
続いて、ＣＰＵ２０１は、時刻同期基本動作マスタ４０１に書き込まれた同期処理の基準時刻と同期処理の時間間隔に基づいて、各種テーブル記録領域２１４内に時刻同期制御マスタ４０３を生成する（ステップＳ１０３）。時刻同期制御マスタ４０３とは、サーバ２００が各カメラサーバ４００に対して実際に同期処理を行う時刻を管理するためのものであり、図７（ｃ）に示すように同期処理の実行予定時間毎に同期処理が実行済みか否かを示すフラグ（１＝実行済み、０＝未実行）が記録される。
【００３５】
次に、操作者のクライアント端末３００上におけるカメラ管理設定画面の呼び出し操作に応じて、サーバ２００はカメラ管理設定画面情報を通信Ｉ／Ｆコントローラ２０８によりクライアント端末３００に対して送信し（ステップＳ１０４）、クライアント端末３００のＣＲＴ上には図９に示すようなカメラ管理設定画面が表示される。
【００３６】
操作者は、カメラ管理設定画面上のフレームレート設定項目６０１においてカメラサーバ４００が画像データをキャッシュするフレームレートを設定する。図９に示す例では、フレームレートとして５ｆｐｓが設定されている。
【００３７】
カメラ管理設定画面上での設定内容は、クライアント端末３００からサーバ２００に送信され、ＣＰＵ２０１は、上記設定内容を定義ファイル記録領域２１３内のネットワークカメラ管理マスタ４０２（図７（ｂ））の項目４０２１に書き込む（ステップＳ１０５）。ここでは、カメラサーバ４００側で画像データをキャッシュするフレームレートとして５ｆｐｓが設定される。
【００３８】
また、ネットワークカメラ管理マスタ４０２は、管理対象となるカメラの数だけ準備される。一台のカメラサーバ４００には一又は複数のカメラが接続され、カメラサーバＩＤとカメラＩＤとの組合せによって管理対象となるカメラを一意に特定することが可能である。このため、ネットワークカメラ管理マスタ４０２には、該当するカメラサーバ４００のカメラサーバＩＤと該当するカメラのカメラＩＤとの両方が登録される。
【００３９】
続いて、ＣＰＵ２０１は、上記フレームレートを時間換算し（ステップＳ１０６）、その値を時間換算フレームレートとしてネットワークカメラ管理マスタ４０２（図７（ｂ））の項目４０２２に設定する（ステップＳ１０７）。上記のようにフレームレートとして５ｆｐｓが設定された場合には、そのフレームレートを時間換算した２００ｍｓｅｃが時間換算フレームレートとして設定される。また、ネットワークカメラ管理マスタ４０２には、時刻同期基本動作マスタ４０１内の設定項目４０１２、４０１３で設定されたキャッシュ時間及び画像データ取得基準時刻が設定項目４０２４、４０２３に夫々設定されるとともに、該当するカメラサーバ４００のカメラサーバＩＤ、カメラサーバ名及びＩＰアドレス、該当するカメラのカメラＩＤ及びカメラ名、カメラサーバ４００の設置場所を示すロケーション名、カメラが設置されるゾーン名等の設定項目がある。
【００４０】
続いて、サーバ２００は、ネットワークカメラ管理マスタ４０２に設定された時間換算フレームレート、画像データ取得基準時刻及びキャッシュ時間の値を通信Ｉ／Ｆコントローラ２０８により各カメラサーバ４００に対して送信する（ステップＳ１０８）。カメラサーバ４００側では、受信したこれらの値をＲＡＭ内のカメラサーバ設定マスタ５０１（図７（ｌ））の項目５０１１〜５０１３に書き込む。
【００４１】
カメラサーバ設定マスタ５０１には、時間換算フレームレート等を登録するための上記項目５０１１〜５０１３のほか（キャッシュ時間ｔの値は項目５０１２（画像キャッシュ消去時間）に登録）、当該カメラサーバ設定マスタ５０１の各設定項目を反映させるカメラを特定するために該当するカメラサーバ４００のカメラサーバＩＤ及び該当するカメラのカメラＩＤの設定項目が設けられ、さらに、カメラサーバ４００のＩＰアドレス、カメラサーバ名、カメラ名及びカメラの撮影ポイントのホームポジションとなるＰ／Ｔ／Ｚ（パン、チルト、ズーム）の各値の設定項目等が設けられている。
【００４２】
続いて、ＣＰＵ２０１は、ＮＴＰサービスによる自らの時刻同期処理が正常に行われたか否かを記録するためのＮＴＰ時刻同期ログ４０４（図７（ｅ））と、サーバ２００とカメラサーバ４００間の時刻同期処理が正常に行われたか否かを記録するためのカメラサーバ時刻同期ログ４０５（図７（ｆ））とを各種テーブル記憶領域２１４内に準備する（ステップＳ１０９）。
【００４３】
続いて、ＣＰＵ２０１は、カメラサーバ４００からの画像データの取得失敗を監視するための画像取得失敗監視マスタ４０７（図７（ｇ））を各種テーブル記憶領域２１４内に準備する（ステップＳ１１０）。なお、画像取得失敗監視マスタ４０７は、画像データの生成元であるカメラの数だけ準備され、各画像取得失敗監視マスタ４０７には、取得を失敗した画像データの生成元となるカメラを一意に特定するために、該当するカメラサーバ４００のカメラサーバＩＤと該当するカメラのカメラＩＤとの両方が登録される。
【００４４】
次に、ＣＰＵ２０１は、以上の基本設定内容を反映させるか否かを操作者に対して問い合わせるための問い合わせ画面情報を生成し、クライアント端末３００に対して送信する（ステップＳ１１１）。クライアント端末３００の画面上では図１２に示すような問い合わせ画面が表示され、操作者によって問い合わせ画面上で"ＯＫ"ボタンが選択されると、その旨の操作情報がクライアント端末３００からサーバ２００に対して送信され、図３−２に示すＮＴＰサービスによるサーバ２００の時刻同期処理に処理が移行する（ステップＳ１１２／ＹＥＳ）。一方、図１２の問い合わせ画面上で"キャンセル"ボタンが選択された場合には、上記の基本設定が全て無効とされ、図３−２の時刻同期処理に移行せず、処理を終了する（ステップＳ１１２／ＮＯ）。
【００４５】
次に、ＮＴＰサービスによるサーバ２００の時刻同期処理について図３−２を参照しながら説明する。
【００４６】
先ず、ＣＰＵ２０１は、時刻同期基本動作マスタ４０１に記録される同期処理の基準時刻（例えば、０時）と、内部のシステムタイマとが一致するか否かを判断する（ステップＳ１１３）。一致していない場合には（ステップＳ１１３／ＮＯ）、システムタイマが上記基準時刻となるまで待機する。一致する場合には（ステップＳ１１３／ＹＥＳ）、ＮＴＰサービスによる同期処理の失敗回数を管理するためのＮＴＰトライアルカウンタ４０８（図７（ｈ））を各種テーブル記録領域２１４内に作成し、その初期値として"０"を設定する（ステップＳ１１４）。
【００４７】
続いて、ＣＰＵ２０１は、ＮＴＰトライアルカウンタ４０８に設定される値が"１０"であるか否かを判断する（ステップＳ１１５）。初め、ＮＴＰトライアルカウンタ４０８に設定される値は"０"であるため（ステップＳ１１５／ＮＯ）、サーバ２００は、ＮＴＰサービスを提供するＮＴＰサーバにインターネットを介して接続要求を発行し、システムタイマの同期処理を図る（ステップＳ１１６）。
【００４８】
続いて、ＣＰＵ２０１は、サーバ２００とＮＴＰサーバとの接続が確立され、ＮＴＰサービスによる同期処理が成功したか否かを判断する（ステップＳ１１７）。この同期処理が成功したと判断される場合には（ステップＳ１１７／ＹＥＳ）、処理をステップＳ１１８に移行し、ＮＴＰサービスによる同期処理が失敗したと判断される場合には（ステップＳ１１７／ＮＯ）、ＮＴＰトライアルカウント４０８を"１"加算する（ステップＳ１２０）。次に、ＣＰＵ２０１は、ＮＴＰ時刻同期ログ４０４に失敗、失敗理由（例えば、ＮＴＰサーバとの接続失敗等）及び同期処理の失敗時刻等を記録する（ステップＳ１２１）。
【００４９】
続いて、ＣＰＵ２０１は、３０秒待機の後（ステップＳ１２２）、ステップＳ１１５からの同期処理の試行を繰り返す。上記のＮＴＰサービスによる同期処理が１０回失敗した場合（ＮＴＰトライアルカウントの値が"１０"となった場合）は（ステップＳ１１５／ＹＥＳ）、ＮＴＰサービスによる同期処理の停止、停止理由及び停止時刻等がＮＴＰ時刻同期ログ４０５に記録される（ステップＳ１２３）。次に、ＣＰＵ２０１は、ＮＴＰサービスによるサーバ２００の同期処理の停止を示すアラート画面情報を作成し、クライアント端末３００に対して送信する（ステップＳ１２４）。クライアント端末３００の画面上には図１０に示すようなアラート画面が表示され、サーバ２００のＮＴＰサービスによる同期処理の停止が操作者に対して告知される。
【００５０】
一方、ステップＳ１１７において、ＮＴＰサービスによるサーバ２００の同期処理が成功したと判断される場合には（ステップＳ１１７／ＹＥＳ）、ＣＰＵ２０１は、ＮＴＰ時刻同期ログ４０４に同期処理の成功と同期処理が成功した時刻等を記録する（ステップＳ１１８）。次に、ＣＰＵ２０１は、カメラサーバ４００毎にカメラサーバ時刻同期トライアルカウント４０９（図７（ｊ））を各種テーブル記録領域２１４内に作成し、各カメラサーバ時刻同期トライアルカウント４０９の終了フラグに"０"を設定する（ステップＳ１１９）。この終了フラグは、サーバ２００が該当するカメラサーバ４００との間で同期処理が成功したか否かを管理するためのフラグである（１＝成功、０＝失敗）。次に、図３−３に示すサーバ２００とカメラサーバ４００間の同期処理に移行する。
【００５１】
次に、サーバ２００とカメラサーバ４００間の同期処理について、図３−３を参照しながら説明する。
【００５２】
ＣＰＵ２０１は、ＲＡＭ２０２からカメラサーバＩＤ読み込みポインタｎを読み込む（ステップＳ１２５）。このカメラサーバＩＤ読み込みポインタは初め初期値"０"が設定されている。続いて、ＣＰＵ２０１は、カメラサーバＩＤ読み込みポインタｎを１加算し（ステップＳ１２６）、現在のカメラサーバＩＤ読み込みポインタｎの値がカメラサーバ４００の台数（カメラサーバＩＤの最大値）より大きい値であるか否かを判断する（ステップＳ１２７）。ポインタｎの値がカメラサーバの台数以下である場合には、カメラサーバＩＤ読み込みポインタｎと同じ値のカメラサーバＩＤを含むカメラサーバ時刻同期トライアルカウント４０９を各種テーブル記録領域２１４から読み込む（ステップＳ１２８）。一方、カメラサーバＩＤ読み込みポインタｎの値がカメラサーバ４００の台数より大きい値である場合には、ステップＳ１２５の処理の戻り、ポインタｎの値を再び"０"に設定する。
【００５３】
続いて、ＣＰＵ２０１は、当該カメラサーバ時刻同期トライアルカウント４０９内の終了フラグが"１"であるか否かを判断する（ステップＳ１２９）。初め、何れのカメラサーバ４００に対してもサーバ２００との同期がとれていない状態にある（前述のステップＳ１１９の処理により全カメラサーバ時刻同期トライアルカウント４０９の終了フラグには"０"が記録されている）ため（ステップＳ１２９／ＮＯ）、処理はステップＳ１３０に移行する。
【００５４】
続いて、ＣＰＵ２０１は、当該カメラサーバ時刻同期トライアルカウント４０９内のカウンタの値が"１０"以上であるか否かを判断する（ステップＳ１３０）。このカウントの値は、当該カメラサーバ時刻同期トライアルカウント４０９に該当するカメラサーバ４００に対する同期処理の試行回数を示し、初め、当該カメラサーバ時刻同期トライアルカウント４０９のカウント値は"０"が登録されている。よって、処理はステップＳ１３１に移行する。
【００５５】
続いて、ＣＰＵ２０１は、前回の同期処理の試行時点から３０秒が経過したか否かを判断する（ステップＳ１３１）。前回の同期処理の試行時点から３０秒が経過したと判断される場合には（ステップＳ１３１／ＹＥＳ）、処理はステップＳ１３２に移行し、一方、前回の同期処理の試行時点から３０秒経過していないと判断される場合には（ステップＳ１３１／ＮＯ）、前回の同期処理の試行時点から３０秒が経過するまで待機して処理をステップＳ１３２に移行する。
【００５６】
続いて、ＣＰＵ２０１は、内部のシステムタイマが示す時刻情報を該当するカメラサーバ４００に対して送信する（ステップＳ１３２）。
【００５７】
続いて、ＣＰＵ２０１は、上記システムタイマが示す時刻情報の送信処理が正常に行われたか否かを判断する（ステップＳ１３４）。システムタイマが示す時刻情報の送信処理が成功した場合には（ステップＳ１３４／ＹＥＳ）、当該カメラサーバ４００に該当するカメラサーバ時刻同期ログ４０５に同期処理の成功と同期処理が成功した時刻を記録し（ステップＳ１４１）、当該カメラサーバ時刻同期トライアルカウント４０９の終了ログに"１"を記録する（ステップＳ１４２）。そして、処理はステップＳ１２６に移行し、次の値のカメラサーバＩＤを有するカメラサーバ４００に対する同期処理に移る。
【００５８】
一方、システムタイマが示す時刻情報の送信処理が失敗した場合には（ステップＳ１３４／ＮＯ）、ＣＰＵ２０１は、当該カメラサーバ時刻同期トライアルカウント４０９のカウント値に"１"を加算した後（ステップＳ１３５）、該当するカメラサーバ４００のカメラサーバ時刻同期ログ４０５に同期処理の失敗、同期処理の失敗理由及び同期処理を失敗した時刻等を記録する（ステップＳ１３６）。そして、処理はステップＳ１２６に移行し、同じく次の値のカメラサーバＩＤを有するカメラサーバ４００に対する同期処理に移る。
【００５９】
以上の処理が全カメラサーバ時刻同期トライアルカウント４０９の終了フラグが"１"となるまで、即ち、全カメラサーバ４００に対する同期処理の試行が完了するまで実行される。
【００６０】
なお、同期処理の失敗回数が"１０"（カメラサーバ時刻同期トライアルカウント４０９のカウント値が"１０"）となったカメラサーバ４００については、該当するカメラサーバ時刻同期トライアルカウント４０９の終了フラグを"１"とし（ステップＳ１３８）、同じく該当するカメラサーバ時刻同期ログ４０５に同期処理の停止、同期処理を停止した理由及び同期処理を停止した時刻等を記録した後（ステップＳ１３９）、当該カメラサーバ４００に対する時刻同期処理が失敗したことを操作者に対して告知するためのアラート画面情報を生成し、クライアント端末３００に対して送信する（ステップＳ１４０）。クライアント端末３００の画面上では図１１に示すようなアラート画面が表示され、サーバ２００とカメラサーバ４００間の同期処理の停止が操作者に対して告知される。
【００６１】
また、上記のようにカメラサーバ時刻同期トライアルカウント４０９の終了フラグが"１"とされたカメラサーバ４００については、ステップＳ１２９の判断分岐によりステップＳ１３２等の同期処理の対象から除外される。
【００６２】
次に、カメラサーバ４００が接続されるカメラから画像データを取得する処理、及び、サーバ２００がカメラサーバ４００から画像データを取得し、保存する処理について、図４を参照しながら説明する。先ず、カメラサーバ４００がカメラから画像データを取得し、取得した画像データをサーバ２００に対して送信する処理から説明する。
【００６３】
カメラサーバ４００は、ＲＡＭ内に保持する全カメラサーバ設定マスタ５０１のカメラサーバＩＤ、カメラＩＤ、時間換算フレームレート及び画像データ取得基準時刻を読み込む（ステップＳ２０１）。次に、カメラサーバ４００は、読み込んだ全カメラＩＤに該当するカメラ夫々に対し、上記画像データ取得基準時刻から上記時間換算フレームレート間隔（例えば、２００ｍｓｅｃ）で画像データを生成するように設定する（ステップＳ２０２）。
【００６４】
次に、カメラサーバ４００は、画像データが生成された順序通りに同じく上記時間間隔フレームレート間隔で各カメラから画像データを取得し、ＲＡＭ又はＨＤＤ等の記録媒体にキャッシュする（ステップＳ２０３）。この画像データを取得した時点に内部システムタイマが示す時刻がシーケンスナンバとして当該画像データに付与されるとともに、自らのカメラサーバＩＤ及び画像データの取得先となるカメラのカメラＩＤも当該画像データに付与される。なお、画像データを記録する記録媒体は、カメラサーバ４００内部及び外部の何れも構成しても構わない。また、画像データを記録する記録媒体は、長時間のネットワーク障害時でも画像データの欠落が生じないように大容量のものを使用することが好ましい。
【００６５】
続いて、カメラサーバ４００は、現在、ＴＣＰ／ＩＰによるコネクションがサーバ２００との間で確立されているか否かを判断する（ステップＳ２０４）。サーバ２００との間でコネクションが確立されている場合は（ステップＳ２０４／ＹＥＳ）、キャッシュされている画像データをサーバ２００に対して転送する（ステップＳ２０５）。転送された画像データについては、各画像データのサーバ２００への転送を管理するためのネットワークカメラ画像キャッシュテーブル５０２（図７（ｋ））内において該当するレコードの転送終了フラグを"１"にする（ステップＳ２０６）。この転送終了フラグには、サーバ２００への転送が終了した画像データについては"１"、サーバ２００への転送が終了していない画像データについては"０"が設定される。
【００６６】
一方、ステップＳ２０４において、現在、サーバ２００との間でＴＣＰ／ＩＰによるコネクションが確立していないと判断される場合、即ち、サーバ２００への画像データの転送を行うことができない場合には、後述する画像データの再送信ルーチンを起動させる（ステップＳ２０７）。
【００６７】
次に、サーバ２００側の処理について説明する。ＣＰＵ２０１は、先ず、ネットワークカメラ管理マスタ４０２を読み込む（ステップＳ３０１）。続いて、ＣＰＵ２０１は、ネットワークカメラ管理マスタ４０２内の画像データ取得基準時刻及び時間換算フレームレートに基づいて、画像取得失敗監視マスタ４０７（図７（ｇ））を各種テーブル記録領域２１４に生成する（ステップＳ３０２）。即ち、図７（ｇ）に示すように、上記画像データ取得基準時刻から上記時間換算フレームレート間隔毎に経過した時刻をシーケンスナンバとして生成し、シーケンスナンバを含むレコードをシーケンスナンバ毎に画像取得失敗監視マスタ４０７内に生成する。
【００６８】
続いて、ＣＰＵ２０１は、カメラサーバ４００から画像データを取得したか否かを判断する（ステップＳ３０３）。画像データを取得したと判断される場合（ステップＳ３０３／ＹＥＳ）、取得した画像データに付与されるシーケンスナンバを含むレコードが、当該画像データを生成したカメラのカメラＩＤ及び画像データの取得先となるカメラサーバ４００のカメラサーバＩＤに対応する画像取得失敗監視マスタ４０７内に存在するか否かを判断する（ステップＳ３０４）。
【００６９】
画像取得失敗監視マスタ４０７内に同じシーケンスナンバを含むレコードが存在する場合（ステップＳ３０４／ＹＥＳ）、ＣＰＵ２０１は、当該画像データを外部メモリ２１１の録画データ記録領域２１５内に記録し、画像記録インデックスＤＢ４１１（図７（ｄ））内において当該画像データのシーケンスナンバ及び当該画像データの記録先ＨＤＤのアドレスを記録し（ステップＳ３０５）、当該画像データが記録済みか否かを管理するための記録済みフラグを"１"とする（ステップＳ３０６）。また、画像記録インデックスＤＢ４１１には、当該画像データを生成したカメラ及び画像データの取得先であるカメラサーバ４００が特定可能なように、該当するカメラサーバ４００のカメラサーバＩＤと該当するカメラのカメラＩＤとの両方が記録される。
【００７０】
続いて、ＣＰＵ２０１は、当該画像データのシーケンスナンバを含むレコードを画像取得失敗監視マスタ４０７内から消去する（ステップＳ３０７）。
【００７１】
続いて、ＣＰＵ２０１は、画像取得失敗監視マスタ４０７内に、システムタイマが示す現在の時刻から時刻同期基本動作マスタ４０１内の画像データのキャッシュ時間ｔ（例えば、５時間）以上経過した時刻のシーケンスナンバを含むレコードが存在するか否かを判断する（ステップＳ３０８）。システムタイマが示す現在の時刻からキャッシュ時間ｔ以上経過したシーケンスナンバを含むレコードが存在しないと判断される場合には（ステップＳ３０８／ＮＯ）、ＣＰＵ２０１は、ステップＳ３０２からの処理を繰り返す。一方、システムタイマが示す現在時刻からキャッシュ時間ｔ以上経過したシーケンスナンバが存在する場合には（ステップＳ３０８／ＹＥＳ）、当該レコードを画像取得失敗監視マスタ４０７から消去し（ステップＳ３０９）、消去したレコードに含まれるカメラサーバＩＤ、カメラＩＤ及びシーケンスナンバを画像取得失敗ログ４１０（図７（ｉ））に記録する（ステップＳ３１０）。
【００７２】
このようにシステムタイマが示す現在時刻から上記キャッシュ時間を経過した値のシーケンスナンバについては、サーバ２００側で該当する画像データの取得が失敗したものと看做される。これは、後述するカメラサーバ４００側でキャッシュする画像データのうち、サーバ２００との同期処理が施されたカメラサーバ４００内のシステムタイマが示す現在時刻から上記キャッシュ時間を経過した値のシーケンスナンバの画像データは消去され、カメラサーバ４００からサーバ２００に転送される見込みがないためである。  
【００７３】
なお、カメラサーバ４００における画像データの消去処理は、キャッシュされた画像データの消去ルーチンが逐次起動することにより行われ、図６に示すように、ネットワークカメラ画像キャッシュテーブル５０２内の各レコードを読み込み（ステップＳ５０１）、システムタイマが示す現在時刻からカメラサーバ設定マスタ５０１内の画像キャッシュ消去時間ｔ（＝画像データのキャッシュ時間ｔ）が経過した画像データが存在する場合には（ステップＳ５０２／ＹＥＳ）、その画像データは消去される（ステップＳ５０３）。
【００７４】
上記のように、本実施形態によれば、サーバ２００がカメラサーバ４００から取得した画像データ群のシーケンスナンバ及び画像データの記録先ＨＤＤのアドレス等を画像記録インデックスＤＢ４１１によって管理している。従って、クライアント端末３００から画像データの読み出し指示があった場合、サーバ２００は、該当する画像データ群の画像記録インデックスＤＢ４１１内のシーケンスナンバに基づいて画像データの読み出しを行うことにより、画像データの生成順序に従って画像データの読み出しが保障される。
【００７５】
次に、図４のステップＳ２０７における再送信ルーチンの詳細を図５を参照しながら説明する。先ず、カメラサーバ４００側の処理から説明する。
【００７６】
カメラサーバ４００は、現在、サーバ２００との間で本再送信ルーチンによるＴＣＰ／ＩＰのコネクションが確立しているか否かを判断する（ステップＳ４０１）。サーバ２００との間で現在コネクションが確立していると判断される場合には（ステップＳ４０１／ＹＥＳ）、ステップＳ４０２の処理に移行する。一方、サーバ２００との間でコネクションが現在確立していないと判断された場合には（ステップＳ４０１／ＮＯ）、カメラサーバ設定マスタ内の時間換算フレームレート（例えば、２００ｍｓｅｃ）の例えば１／４の時間間隔で上記コネクション確立の検知処理を繰り返す。
【００７７】
続いて、カメラサーバ４００は、図４に示すカメラサーバ４００側の画像送信ルーチンによるＴＣＰ／ＩＰのコネクションが確立しているか否かを判断する（ステップＳ４０２）。図４の画像送信ルーチンによるＴＣＰ／ＩＰのコネクションが確立していると判断される場合には（ステップＳ４０２／ＹＥＳ）、同じくステップＳ４０７において、上記時間換算フレームレートの例えば１／４の時間間隔でステップＳ４０１のコネクション確立の検知処理から繰り返す。
【００７８】
本再送信ルーチンによるＴＣＰ／ＩＰのコネクションが確立され（ステップＳ４０１／ＹＥＳ）、且つ図４のカメラサーバ４００側の画像送信ルーチンによるＴＣＰ／ＩＰのコネクションは確立されていないと判断される場合（ステップＳ４０２／ＮＯ）、図４の画像送信ルーチンで送信されず、ＲＡＭやＨＤＤ等にキャッシュされていた未送信画像データの再送信処理に移行する。
【００７９】
カメラサーバ４００は、ネットワークカメラ画像キャッシュテーブル５０２を読み込み（ステップＳ４０３）、転送終了フラグに基づいてサーバ２００に対する未送信画像データが存在するか否かを判断する（ステップＳ４０４）。未送信画像データが存在する場合（ステップＳ４０４／ＹＥＳ）、カメラサーバ４００は、当該未送信画像データをサーバ２００に対して送信し（ステップＳ４０５）、当該未送信画像データに該当する転送終了フラグを"１"とする（ステップＳ４０６）。
【００８０】
なお、上記再送信ルーチンに対応するサーバ２００側の処理は、図４に示すサーバ側の受信画像データの記録処理と同様であり、受信した画像データ夫々について画像記録インデックスＤＢ４１１への当該画像データのシーケンスナンバの記録処理、記録済みフラグの"１"設定処理、及び、記録先ＨＤＤのアドレス登録処理が行われるとともに、受信した画像データのシーケンスナンバを含むレコードが画像取得失敗監視マスタ４０７から消去される。
【００８１】
上記のように、本実施形態によれば、例えば長時間のネットワーク障害時においても、カメラサーバ４００側で大容量メモリ内にカメラから取得した画像データをキャッシュしておき、ネットワーク障害時等にサーバ２００に送信できなかった画像データを適切なタイミングで再送信し、サーバ２００側においては取得に失敗した画像を管理し、障害回復後に受信した際の突合せ及び消込みを行っているので、画像データの欠落を抑制することができる。
【００８２】
[他の実施形態]
比較的小規模なシステムでは、クライアント３００がサーバ２００の機能を兼ねる実施形態も可能である。更にカメラサーバ４００の近傍に画像データキャッシュ用小型サーバを設置し、この小型サーバに画像データを蓄積して、障害回復後にサーバ２００に未送信の画像データを送信する実施形態も可能であり、このような実施形態ではカメラサーバのキャッシュ用の記憶容量が少ない場合にも、長時間のＬＡＮ障害等への対応が可能になる。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００８３】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８４】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００８５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８７】
【図１】本発明の一実施形態に係るネットワークビデオレコーダシステムの概略構成を示す図である。
【図２】サーバのハードウェア構成を概略的に示す図である。
【図３−１】サーバ上におけるネットワークビデオレコーダシステムの基本制御設定動作を示すフローチャートである。
【図３−２】ＮＴＰサービスによるサーバの時刻同期処理の流れを示すフローチャートである。
【図３−３】サーバとカメラサーバ間の同期処理の流れを示すフローチャートである。
【図４】カメラサーバが接続されるカメラから画像データを取得する処理、及び、サーバがカメラサーバから画像データを取得し、保存する処理の流れを示すフローチャートである。
【図５】図４のステップＳ２０７における再送信ルーチンの詳細を示すフローチャートである。
【図６】カメラサーバにおける画像データの消去処理の流れを示すフローチャートである。
【図７】本発明の一実施形態に係るネットワークビデオレコーダシステムの動作に必要な各種テーブル等の構成を示す図である。
【図８】時刻同期基本設定画面の構成例を示す図である。
【図９】カメラ管理設定画面の構成例を示す図である。
【図１０】アラート画面の構成例を示す図である。
【図１１】アラート画面の構成例を示す図である。
【図１２】問い合わせ画面の構成例を示す図である。
【符号の説明】
【００８８】
１００：ネットワーク
２００：サーバ
３００：クライアント端末
４００：カメラサーバ
２０１：ＣＰＵ
２０２：ＲＡＭ
２０３：ＲＯＭ
２０４：システムバス
２０５：入力コントローラ
２０６：ビデオコントローラ
２０７：メモリコントローラ
２０８：通信Ｉ／Ｆコントローラ
２０９：キーボード
２１０：ＣＲＴ
２１１：外部メモリ
２１２：ネットワークビデオレコーダプログラム
２１３：定義ファイル記録領域
２１４：各種テーブル記録領域
２１５：録画データ記録領域
４０１：時刻同期基本動作マスタ
４０２：ネットワークカメラ管理マスタ
４０３：時刻同期制御マスタ
４０４：ＮＴＰ時刻同期ログ
４０５：カメラサーバ時刻同期ログ
４０７：画像取得失敗監視マスタ
４０８：ＮＴＰトライアルカウント
４０９：カメラサーバ時刻同期トライアルカウント
４１０：画像取得失敗ログ
４１１：画像記録インデックスＤＢ
５０１：カメラサーバ設定マスタ
５０２：ネットワークカメラ画像キャッシュテーブル
【図１】
2006019844.tif 000003
【図２】
2006019844.tif 000004
【図３−１】
2006019844.tif 000005
【図３−２】
2006019844.tif 000006
【図３−３】
2006019844.tif 000007
【図４】
2006019844.tif 000008
【図５】
2006019844.tif 000009
【図６】
2006019844.tif 000010
【図７】
2006019844.tif 000011
【図８】
2006019844.tif 000012
【図９】
2006019844.tif 000013
【図１０】
2006019844.tif 000014
【図１１】
2006019844.tif 000015
【図１２】
2006019844.tif 000016