以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態に係わる画像処理システム(監視システム)の構成を示す図である。
この画像処理システムは、当該画像処理システムを構成するネットワーク100と、配設された監視区域における画像を撮影する複数のカメラサーバ400と、本発明の実施形態に係わる画像処理装置に相当し、各カメラサーバ400からの画像を記録する録画サーバ200と、ユーザからの指示に基づき録画サーバ200の各種設定及びカメラサーバ400で撮影した画像の再生表示等を行うクライアント300を備えている。また、録画サーバ200、クライアント300及びカメラサーバ400は、ネットワーク100の通信回線を介して相互に通信可能に構成されている。
また、カメラサーバ400には、撮影領域における異状(以下、イベントと称する)を検知するイベント検知部400aが設けられている。ここで、カメラサーバ400のイベント検知部400aで検知されるイベントとしては、例えば、カメラサーバ400が配設された位置における環境の変化をセンサにより検知するセンサイベントと、カメラサーバ400が撮影する撮影領域において、当該撮影領域内における撮影画像の動きが所定のレベルに達したことを検知する動き検知イベントが挙げられる。また、センサイベントとしては、例えば、音の検知、温度変化の検知、気圧変化の検知、振動の検知、光の検知、赤外線遮断の検知、重力異常の検知、磁気変化の検知、ドア開閉の検知等が挙げられる。
図2は、本発明の実施形態に係わる録画サーバ(画像処理装置)200内におけるコンピュータシステムのハードウェア構成を示す図である。
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステム(OS)の少なくとも一部、各サーバあるいは各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。CPU201は、処理の実行に際して必要なプログラムをRAM203にロードして、当該プログラムを実行することで各種処理を実現する。
入力コントローラ205は、キーボード(KB)209からの入力を制御する。本実施形態では、入力デバイスとしてKBを適用しているが、マウス等のポインティングデバイスや、パッチパネル等を適用することも可能である。
ビデオコントローラ206は、CRTディスプレイ(CRT)210の表示を制御する。本実施形態では、表示デバイスとしてCRTを適用しているが、液晶等の表示デバイスを適用することも可能である。なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CRT210は、CRT210上の不図示のマウスカーソル等でユーザ指示を可能としている。
メモリコントローラ207は、ブートプログラム等を記憶するネットワークビデオレコーダプログラム記憶部212、各種機能を実現するための定義ファイルを記憶する定義ファイル記憶部213及び各種機能を実現するためのテーブルを記憶する各種テーブル記憶部214、各カメラサーバ400で連続的に撮影した各画像における録画データを記憶する録画データ記憶部215等を備える外部メモリ211へのアクセスを制御する。加えて、イベントの発生を検知したカメラサーバ400のイベントの発生時における画像を記憶する外部メモリ216へのアクセスを制御する。この外部メモリ211、216としては、ハードディスク(HD)やフレキシブルディスク(FD)等が挙げられる。
通信I/Fコントローラ208は、ネットワーク100の通信回線を介して外部機器との通信制御処理を実行する。例えば、通信I/Fコントローラ208は、TCP/IPを用いたインターネット通信等が可能である。
図3は、本発明の実施形態に係わる録画サーバ200において、各カメラサーバ400からの画像を処理するための各種マスタ、各種記録媒体、各種データを示した図である。ここで、図3(a)には各カメラサーバ400を管理するための各種管理項目を列挙したネットワークカメラ管理マスタ231を示し、図3(b)には各カメラサーバ400を制御するための各種制御項目を列挙したネットワークカメラ制御マスタ232を示し、図3(c)にはカメラサーバ400でイベントが発生した際の各種分析処理項目を列挙したイベント分析処理マスタ233を示し、図3(d)には各カメラサーバ400で連続的に撮影した各画像を記録する通常録画用記録媒体である外部メモリ211を示し、図3(e)にはイベントの発生を検知したカメラサーバ400のイベントの発生時における画像を記憶するイベント発生時用記録媒体216を示し、図3(f)にはセンサイベントの発生を検知したカメラサーバ400を管理するための各種管理項目を列挙したセンサイベント管理マスタ234を示し、図3(g)には動き検知イベントの発生を検知したカメラサーバ400を管理するための各種管理項目を列挙した動き検知イベント管理マスタ235を示し、図3(g)にはクライアント300に表示させる分析表示用データを示し、図3(h)にはクライアント300に表示させるサムネールデータを示している。
図3(a)のネットワークカメラ管理マスタ231には、「カメラサーバID」、「カメラサーバ名」、「カメラ名」、「ロケーション名」、「ゾーン名」等の各種管理項目がある。このネットワークカメラ管理マスタ231は、例えば外部メモリ211の定義ファイル記憶部213あるいは各種テーブル記憶部214に格納されている。また、カメラサーバを特定する情報であるカメラサーバIDとしては、例えば、カメラサーバのID番号、カメラサーバのIPアドレス、MACアドレスなどが使用できる。
図3(b)のネットワークカメラ制御マスタ232には、「カメラサーバID」、「通常録画パン値」、「通常録画チルト値」、「通常録画ズーム値」、「通常録画フレームレート値」、「センサイベント録画パン値」、「センサイベント録画チルト値」、「センサイベント録画ズーム値」、「センサイベント録画フレームレート値」、「センサイベント録画設定時間値」、「動き検知イベント録画フレームレート値」、「動き検知イベント録画設定時間値」等の各種制御項目がある。このネットワークカメラ制御マスタ232は、例えば外部メモリ211の定義ファイル記憶部213あるいは各種テーブル記憶部214に格納されている。また、カメラサーバを特定する情報であるカメラサーバIDとしては、例えば、カメラサーバのID番号、カメラサーバのIPアドレス、MACアドレスなどが使用できる。
図3(c)のイベント分析処理マスタ233には、「カメラサーバ名表示」、「カメラ名表示」、「ゾーン名表示」、「ロケーション名表示」、「イベント開始時間表示」、「イベント終了時間表示」、「イベント発生時の録画データの定期的バックアップトリガーの設定」、「バックアップ終了後元データ自動削除」等の各種分析処理項目がある。このイベント分析処理マスタ233は、例えば外部メモリ211の定義ファイル記憶部213あるいは各種テーブル記憶部214に格納されている。ここで、このイベント分析処理マスタ233は、イベント発生時用の記録媒体216に格納されていても良い。
図3(d)の通常録画用記録媒体は、図2の外部メモリ211に相当するものである。図3(e)のイベント発生時用記録媒体は、図2の外部メモリ216に相当するものである。
図3(f)のセンサイベント管理マスタ234には、「センサイベントID」、「カメラサーバID」、「センサイベントON時の時刻情報」、「センサイベントOFF時の時刻情報」、「センサイベント録画パン値」、「センサイベント録画チルト値」、「センサイベント録画ズーム値」、「センサイベント録画フレームレート値」、「センサイベント録画設定時間値」、「センサイベント録画データの保管先」、「センサイベント録画データのファイル名」等の各種管理項目がある。また、カメラサーバを特定する情報であるカメラサーバIDとしては、例えば、カメラサーバのID番号、カメラサーバのIPアドレス、MACアドレスなどが使用できる。
図3(g)の動き検知イベント管理マスタ235には、「動き検知イベントID」、「カメラサーバID」、「動き検知イベントON時の時刻情報」、「動き検知イベントOFF時の時刻情報」、「動き検知イベント録画パン値」、「動き検知イベント録画チルト値」、「動き検知イベント録画ズーム値」、「動き検知イベント録画フレームレート値」、「動き検知イベント録画設定時間値」、「動き検知イベント録画データの保管先」、「動き検知イベント録画データのファイル名」等の各種管理項目がある。また、カメラサーバを特定する情報であるカメラサーバIDとしては、例えば、カメラサーバのID番号、カメラサーバのIPアドレス、MACアドレスなどが使用できる。
図3(g)の分析表示用データは、分析表示を行う際の作業ファイルである。図3(h)のサムネールデータは、サムネール画像の表示を行う際の作業ファイルである。
図4は、本発明の実施形態に係わる録画サーバ200のカメラサーバ400の基本動作設定処理のフローチャートである。この処理のフローチャートは、録画サーバ200とクライアント300との通信により行われる。ここで、図4の右側には、クライアント300におけるユーザの操作、あるいは、クライアント300に表示される表示画面を示す。
まず、ユーザの操作によりクライアント300からカメラ基本設定画面の呼び出し指示がなされると、ステップS1001において、CPU201は、ネットワーク管理マスタ231に基づいてカメラ基本設定画面を生成し、当該カメラ基本設定画面をクライアント300に送信する。クライアント300では、受信したカメラ基本設定画面を表示する。
図12は、クライアント300に表示されるカメラ基本設定画面の一例を示した図である。ロケーション/ゾーン表示領域1210には、ロケーションが「品川本社」、ゾーンが「プレゼンルーム1」であることが表示されている。ロケーションまたはゾーンの追加処理を行う場合には、ロケーション/ゾーン表示領域1210の上方に設けられた「ロケーション追加」または「ゾーン追加」を選択して追加の処理を行う。また、カメラサーバ表示領域1220には、現在設定されているカメラサーバが表示されている。選択したロケーション/ゾーンに応じて、カメラサーバの検索を行う場合には、カメラサーバ表示領域1220の上方に設けられた「カメラサーバ検索」を選択して検索の処理を行う。カメラサーバの追加、編集または削除の処理を行う場合には、カメラサーバ表示領域1220の上方に設けられた「カメラサーバ追加」、「カメラサーバ編集」、または「カメラサーバ削除」を選択してそれぞれの処理を行う。
続いて、ユーザの操作によりクライアント300からカメラ制御設定画面の呼び出し指示がなされると、ステップS1002において、CPU201は、ネットワーク管理マスタ231及びネットワークカメラ制御マスタ232に基づいてカメラサーバ制御設定画面を生成する。通信I/Fコントローラ208は、当該カメラサーバ制御設定画面をクライアント300に送信する。クライアント300では、受信したカメラサーバ制御設定画面を表示する。
図13〜17は、クライアント300に表示されるカメラサーバ制御設定画面の一例を示した図である。
まず、図13のカメラサーバ制御設定画面が表示され、ユーザの操作によりカメラサーバ400のIPアドレスやカメラサーバ400に接続されたアナログカメラの設定、録画データの格納場所等の基本的な項目が設定される。これらの設定された情報は、ステップS1003の処理において、ネットワーク管理マスタ231に記録される。
続いて、図14のカメラサーバ制御設定画面において、ユーザの操作により録画スケジュール、録画設定等の項目が設定される。具体的に、録画スケジュール表示領域1410には、録画の開始及び終了の時間設定、録画を行う曜日の設定が行えるようになっている。録画設定表示領域1420には、ユーザの操作により録画モードの設定、プリセットの設定、映像サイズの設定が行えるようになっている。ここで、録画モードの設定には、「常時録画」1421、当該カメラサーバで動き検知イベントが発生した際に当該カメラサーバで撮影した画像をイベント発生時用記録媒体216に記録する「動き検知録画」1422、当該カメラサーバでセンサイベントが発生した際に当該カメラサーバで撮影した画像をイベント発生時用記録媒体216に記録する「センサ録画」1423のモードが設けられており、また、これらのモードを複数選択して各録画処理を行うことも可能である。また、「常時録画」1421を選択した場合には、ユーザの操作によりフレームレート(fps)の設定が行えるようになっている。「動き検知録画」1422及び「センサ録画」1423を選択した場合には、ユーザが各モードに対応して設けられた「設定」ボタンを選択することにより、以下に示す詳細な設定を行う画面が表示される。
図15は、図14のセンサ録画の設定ボタンが選択された際に表示されるセンサ設定画面の一例を示した図である。図15(a)に示したセンサ設定画面には、当該カメラサーバに設けられたイベント検知部400aのセンサのオン(またはオフ)を契機として録画を行う「このセンサで録画」の設定領域1510と、センサイベントの優先度の設定領域1520と、センサイベントが発生した際のカメラアングルの設定領域1530と、センサイベントが発生した際の録画設定領域1540が設けられている。
ここで、カメラアングルの設定には、ユーザの操作により2種類の設定方法がある。
まず、1つ目の設定方法としては、プレビュー画面1532で示したホームポジションのカメラアングルの画面を選択して図15(b)に示す表示画面を表示させ、当該表示画面に表示された8方向の矢印の画面を選択することにより、選択した方向にカメラアングルを変更する設定が行われる。このとき、図15(b)に示す表示画面の中央部に位置する虫眼鏡(ルーペ)で示した画面を選択すると、カメラのズームを変更して設定することができる。具体的には、中央部に上部に位置する「+」で示した虫眼鏡の画面を選択すると拡大ズームとなり、一方、中央部に下部に位置する「−」で示した虫眼鏡の画面を選択すると縮小ズームとなる。
続いて、2つ目の設定方法としては、プリセット設定領域1531による設定方法がある。このプリセット設定領域1531には、予め設定されているホームポジション以外のカメラアングルが登録されており、このプリセット設定領域1531に登録されているカメラアングルを選択することにより設定を行う。本実施形態では、図15(b)に示した「Preset01〜Preset08」の8つのカメラアングルが登録されている。
また、録画設定領域1540には、ユーザの操作によりセンサイベントが発生した際の録画における最大フレームレートの設定、センサイベントが発生した前後における録画時間の設定が行えるようになっている。ここで、イベント前における録画時間の設定が行われた場合には、例えば、録画サーバ200では、カメラサーバ1台あたり16MBの物理メモリが当該録画サーバ上の物理的なメモリとして割り当てられ、撮影された画像はこのメモリに一旦書き込まれて、センサーイベント前の記録時間の分だけHDDへの書き込みを待っており、イベントが発生しなければそのまま外部メモリ211の録画データ記憶部215に記録される。また、イベントが発生すると、イベント前の時間から撮影された画像をイベント発生時用記録媒体216に記録することができる。このような処理を行うことにより、イベント発生時用記録媒体216にイベント前の画像の記録が行われる。
次に、図16は、図14の動き検知録画の設定ボタンが選択された際に表示されるセンサ設定画面の一例を示した図である。図16に示した動き検知設定画面には、動き検知設定領域1610と、動き検知イベントの優先度の設定領域1620と、動き検知イベントが発生した際の録画設定領域1630と、動き検知領域表示画面1640が設けられている。また、本実施形態における動き検知領域は、動き検知領域表示画面1640の1641で示された領域である。
動き検知設定領域1610には、ユーザの操作により動き検知手段の設定、動き検知におけるフレームレートの設定、感度切替の設定、感度レベルの設定、動き検知における面積比の設定、動き検知における継続時間の設定が行えるようになっている。ここで、動き検知がされたと判断されるのは、動き検知領域1641における映像において、設定された感度で、当該映像における動きの変化量が面積比5.0%以上、その時間が1.0秒以上継続した場合である。
また、録画設定領域1630には、ユーザの操作により動き検知イベントが発生した際の録画における最大フレームレートの設定、動き検知イベントが発生した前後における録画時間の設定が行えるようになっている。
各カメラサーバ400のそれぞれにおいて、図14のカメラサーバの制御設定、図15のセンサ録画の設定及び図16の動き検知録画の設定が終了すると、図17に示す各カメラサーバ400における録画スケジュール画面が作成される。
図17は、録画サーバ200で管理する各カメラサーバ400の週間スケジュール画面の一例を示した図である。このスケジュール画面には、東京の下丸子に配設された4台のカメラサーバと、東京の新宿に配設された1台のカメラサーバと、シドニーのオペラハウスに配設された1台のカメラサーバにおける週間スケジュールが示されている。例えば、東京の下丸子に配設された「VCS1 by windouws」のカメラサーバでは、月、火、…の終日に渡って「常時録画」、「動き検知録画」及び「センサ録画」が設定されている。また、例えば、東京の下丸子に配設された「VCS1 by windouws2」のカメラサーバでは、月、火、…の0時〜8時までの間は「動き検知録画」、8時〜17時までの間は「常時録画」、17時〜0時までの間は「センサ録画」が設定されている。このように、図14〜図16の各種設定を行うことにより、各カメラサーバ400における録画モードを設定することができる。
また、図17では、通常の週間スケジュールのみならず特定スケジュールの設定を行うことが可能である。図17の週間スケジュール表示領域の上方に設けられている「特定スケジュール」を選択することにより、特定日における録画サーバ200の録画スケジュールの設定を行うことができる。このとき、録画サーバ200の録画スケジュールとしては、特定日における録画スケジュールが優先されてスケジューリングされる。
ユーザの操作により、図13〜17のカメラサーバ制御設定がなされると、これらの設定された情報がクライアント300から録画サーバ200に送られる。
続いて、図4のフローチャートに戻って、ステップS1003において、CPU201は、図13で設定された情報に基づきネットワークカメラ管理マスタ231を書き換えるとともに、図14〜17で設定された情報に基づきネットワークカメラ制御マスタ232を書き換える。
続いて、ユーザの操作によりクライアント300からイベント分析処理制御入力画面の呼び出し指示がなされると、ステップS1004において、CPU201は、イベント分析処理マスタ233に基づいてイベント分析集計処理時の表示項目を選択する。通信I/Fコントローラ208は、当該表示項目をクライアント300に送信する。クライアント300では、受信したイベント分析集計処理時の表示項目を加味してイベント発生時の各種設定を行うイベント分析処理制御入力画面を表示する。
図18は、クライアント300に表示されるイベント分析処理制御入力画面の一例を示した図である。このイベント分析処理制御入力画面には、イベント通知の設定領域1810と、イベント分析処理(表示)項目の設定領域1820と、イベント録画データのバックアップの設定領域1830がが設けられている。
イベント通知の設定領域1810には、イベント発生時にイベント情報のメールを送信する設定、POP before SMTPを使用する設定が行えるようになっている。
イベント分析処理(表示)項目の設定領域1820には、カメラサーバ名の表示の設定、カメラ名表示の設定、ゾーン名表示の設定、ロケーション名表示の設定、イベント開始時間表示の設定、イベント終了時間表示の設定が行えるようになっている。
イベント録画データのバックアップの設定領域1830には、定期バックアップの設定並びに、当該定期バックアップの設定を行う場合の頻度(期間またはデータ容量ごと)の設定、当該定期バックアップ後にデータの削除の設定が行えるようになっている。なお、定期バックアップの設定項目1831において、定期バックアップを行わない選択がされた場合には、上述した定期バックアップ頻度の設定及び定期バックアップ後のデータの削除の設定における選択が不要となるため、当該設定領域をグレーアウトして表示する。また、定期バックアップの設定を行う場合の頻度において、データ容量ごとに行う設定が選択された場合には、データ容量選択表示領域1832の「▼」をプルダウンして所望するデータ容量(MB、GB等)を選択する。
そして、録画サーバ200は、ユーザの操作により図18のイベント分析処理制御入力画面に設定された情報を受信する。そして、ステップS1004では、ユーザの操作によりイベント分析処理(表示)項目の設定領域1820に設定された情報に基づきイベント分析処理マスタ233を書き換える。
続いて、ステップS1005において、CPU201は、クライアント300から受信したイベント発生時における録画データの定期バックアップの設定の情報がバックアップを行うものであるか否かを判断する。この判断の結果、バックアップを行うものでないと判断された場合には、ステップS1007に進む。一方、ステップS1005の判断の結果、バックアップを行うものであると判断された場合には、ステップS1006に進む。
続いて、ステップS1006において、CPU201は、クライアント300から受信したイベント録画データのバックアップの設定領域1830に設定された情報に基づきイベント分析処理マスタ233を書き換えて、バックアップの設定を行う。
続いて、ステップS1007において、メモリコントローラ207は、各カメラサーバ400からの各画像を連続的に通常録画用媒体である外部メモリ211に記録する処理を開始する。
以上のステップS1001〜ステップS1007の処理を経て、録画サーバ200における各カメラサーバ400の基本動作設定の処理が行われる。
次に、ステップS1007での通常録画中に、あるカメラサーバ400でセンサイベントの検知がされた場合の処理について説明する。
図5は、本発明の実施形態に係わる録画サーバ200において、通常録画中にあるカメラサーバ400でセンサイベントの検知がされた場合の処理のフローチャートである。図5の右側には、センサイベントを検知したカメラサーバ400の処理を示す。
まず、ステップS2001において、CPU201は、カメラサーバ400に設けられているイベント検知部400aのセンサスイッチがオンになったか否かを判断する。この判断の結果、センサスイッチがオンでないと判断された場合には、ステップS2001で待機する。一方、ステップS2001での判断の結果、センサスイッチがオンになったと判断された場合には、ステップS2002に進む。
続いて、ステップS2002において、CPU201は、ネットワークカメラ制御マスタ232から、センサイベント録画パン値、センサイベント録画チルト値、センサイベント録画ズーム値、センサイベント録画フレームレート値及びセンサイベント録画設定時間値を取得する。
続いて、ステップS2003において、通信I/Fコントローラ208は、ステップS2002で取得したセンサイベント録画に関する情報(パン値、チルト値、ズーム値、フレームレート値及び設定時間値)をセンサイベントを検知したカメラサーバ400に送信する。このセンサイベント録画に関する情報を受信した当該カメラサーバ400は、当該情報に基づいた条件で撮影を行い、当該撮影画像を録画サーバ200に送信する。
続いて、ステップS2004において、メモリコントローラ207は、当該カメラサーバ400から送信されてくる撮影画像をイベント発生時用記録媒体216に記録する処理を開始する。なお、このとき送られてくる撮影画像は、イベント発生時用記録媒体216に記録されるとともに、通常録画用記録媒体である外部メモリ211には通常録画用のフレームレート値で記録される。なお、通常録画用記録媒体である外部メモリ211にもイベント発生時のフレームレート値で記録しても良い。
続いて、ステップS2005において、CPU201は、カメラサーバ400のセンサイベントに関する情報(センサイベントID、センサイベント発生のカメラサーバID、センサイベント発生時刻(センサイベントON時刻)、カメラPTZF値、センサイベント録画データの保管先、センサイベント録画データのファイル名)をセンサイベント管理マスタ234に登録する。
続いて、ステップS2006において、CPU201は、イベント検知部400aのセンサスイッチがオンのままであるか否かを判断する。この判断の結果、センサスイッチがオンのままであると判断された場合には、ステップS2007に進み、ステップS2004で開始したメモリコントローラ207によるセンサイベントを検知したカメラサーバ400の撮影画像のイベント発生時用記録媒体216への記録を継続する。その後、ステップS2006に戻り、イベント検知部400aのセンサスイッチがオフになるまで、ステップS2007の処理を繰り返す。一方、ステップS2006の判断の結果、センサスイッチがオフであると判断された場合には、ステップS2008に進む。
続いて、ステップS2008において、CPU201は、予め設定されているセンサイベント録画時間が経過したか否かを判断する。この判断の結果、センサイベント録画時間が経過していないと判断された場合には、ステップS2007に進み、センサイベントを検知したカメラサーバ400における撮影画像のイベント発生時用記録媒体216への記録を継続する。一方、ステップS2008の判断の結果、センサイベント録画時間が経過したと判断された場合には、ステップS2009に進む。
続いて、ステップS2009において、メモリコントローラ207は、センサイベントを検知したカメラサーバ400における撮影画像のイベント発生時用記録媒体216への記録を終了する。続いて、ステップS2010において、CPU201は、センサイベント終了時刻(センサイベントOFF時刻)をセンサイベント管理マスタ234に登録する。
続いて、ステップS2011において、CPU201は、ネットワークカメラ制御マスタ232から、通常録画パン値、通常録画チルト値、通常録画ズーム値、通常録画フレームレート値及び通常録画設定時間値を取得する。このタイミングで通常録画の各パラメータを取得することで、ネットワークカメラ制御マスタ232の当該カメラサーバ400の設定値が変更された場合にも、変更後の設定値を反映することができる。
続いて、ステップS2012において、通信I/Fコントローラ208は、ステップS2011で取得した通常録画に関する情報(パン値、チルト値、ズーム値、フレームレート値及び設定時間値)をセンサイベントを検知したカメラサーバ400に送信する。この通常録画に関する情報を受信した当該カメラサーバ400は、当該情報に基づいた条件で撮影を行い、当該撮影画像を録画サーバ200に送信する。その後、録画サーバ200では、通常録画に関する情報に基づいて撮影された撮影画像を通常録画用記録媒体である外部メモリ211に引続き記録することになる。なお、ステップS2004〜ステップS2009までの処理の間は、センサイベント録画に関する情報に基づいて撮影された撮影画像が当該通常録画用記録媒体である外部メモリ211に記録されることになる。
以上のステップS2001〜ステップS2012の処理により、通常録画中にあるカメラサーバ400でセンサイベントの検知がされた場合における録画サーバ200の処理が終了する。
図6は、本発明の実施形態に係わる録画サーバ200において、通常録画中にあるカメラサーバ400で動き検知イベントの検知がされた場合の処理のフローチャートである。図5の右側には、動き検知イベントを検知したカメラサーバ400の処理を示す。
まず、ステップS3001において、CPU201は、カメラサーバ400に設けられているイベント検知部400aにより当該カメラサーバ400における撮影領域の動き検知領域1641で映像信号の動き検知がされた(動き検知オン)か否かを判断する。この判断の結果、動き検知がオンでないと判断された場合には、ステップS3001で待機する。一方、ステップS3001での判断の結果、動き検知がオンになったと判断された場合には、ステップS3002に進む。
続いて、ステップS3002において、通信I/Fコントローラ208は、動き検知がなされたカメラサーバ400から、現在撮影しているパン値、チルト値、ズーム値を受信して取得する。ここでは、各カメラサーバ400の設定が手動で変更されていることもあり得るために、あえてネットワークカメラ制御マスタ232に登録されている通常録画におけるパン値、チルト値、ズーム値を使用せずに、当該各値をカメラサーバ400から取得するようにしている。このとき、カメラサーバ400から取得したパン値、チルト値、ズーム値がネットワークカメラ制御マスタ232に登録されているものと異なるときには、ネットワークカメラ制御マスタ232に登録されている各値の書き換えを行う。
続いて、ステップS3003において、メモリコントローラ207は、カメラサーバ400から送信されてくる撮影画像をイベント発生時用記録媒体216に記録する処理を開始する。なお、このとき送られてくる撮影画像は、イベント発生時用記録媒体216に記録されると同時に、通常録画用記録媒体である外部メモリ211にも記録される。フレームレート値については、図5の説明と同様である。
続いて、ステップS3004において、CPU201は、カメラサーバ400の動き検知イベントに関する情報(動き検知イベントID、動き検知イベント発生のカメラサーバID、動き検知イベント発生時刻(動き検知イベントON時刻)、カメラPTZF値、動き検知イベント録画データの保管先、動き検知イベント録画データのファイル名)をセンサイベント管理マスタ234に登録する。
続いて、ステップS3005において、CPU201は、イベント検知部400aによる動き検知がオンのままであるか否かを判断する。この判断の結果、動き検知がオンのままであると判断された場合には、ステップS3006に進み、ステップS3003で開始したメモリコントローラ207による動き検知イベントを検知したカメラサーバ400の撮影画像のイベント発生時用記録媒体216への記録を継続する。その後、ステップS3005に戻り、イベント検知部400aによる動き検知がオフになるまで、ステップS3006の処理を繰り返す。一方、ステップS3005の判断の結果、動き検知がオフであると判断された場合には、ステップS3007に進む。
続いて、ステップS3007において、CPU201は、予め設定されている動き検知イベント録画時間が経過したか否かを判断する。この判断の結果、動き検知イベント録画時間が経過していないと判断された場合には、ステップS3006に進み、動き検知イベントを検知したカメラサーバ400における撮影画像のイベント発生時用記録媒体216への記録を継続する。一方、ステップS3007の判断の結果、動き検知イベント録画時間が経過したと判断された場合には、ステップS3008に進む。
続いて、ステップS3008において、メモリコントローラ207は、センサイベントを検知したカメラサーバ400における撮影画像のイベント発生時用記録媒体216への記録を終了する。続いて、ステップS3009において、CPU201は、動き検知イベント終了時刻(センサイベントOFF時刻)を動き検知イベント管理マスタ235に登録する。
続いて、ステップS3010において、メモリコントローラ207は、当該カメラサーバ400からの撮影画像を通常録画用記録媒体である外部メモリ211にのみ記録し、通常録画の記録状態に戻る。
以上のステップS3001〜ステップS3010の処理により、通常録画中にあるカメラサーバ400で動き検知イベントの検知がされた場合における録画サーバ200の処理が終了する。
次に、各イベントに対して記録したイベント内容の分析処理について説明する。
図7は、本発明の実施形態に係わる録画サーバ200のイベント分析処理のフローチャートである。この処理のフローチャートは、録画サーバ200とクライアント300との通信により行われる。ここで、図7の右側には、クライアント300に表示される表示画面を示す。また、図7のフローチャートでは、イベント分析を行う期間として、1週間の場合を例にして説明を行う。
まず、ステップS4001において、CPU201は、図19に示すクライアント300のイベント分析/集計ビューワ画面において、ユーザの操作によりイベント分析/集計ボタン1910が選択されたか否かを判断する。この判断の結果、イベント分析/集計ボタン1910が選択されていないと判断された場合には、当該イベント分析/集計ボタン1910までステップS4001で待機する。一方、ステップS4001での判断の結果、イベント分析/集計ボタン1910が選択されたと判断された場合には、ステップS4002に進む。
ここで、図19に示したクライアント300のイベント分析/集計ビューワ画面において、メイン表示領域1940には、同一の監視領域における各カメラサーバ400の各画像が表示されており、また、サブ表示領域1940には、各監視領域における各カメラサーバ400の各画像がサムネール画像として表示されている。また、イベント分析/集計ボタン1910の下方に設けられたタイムチャートには、各イベントの発生を示すフラグが示されている。例えば、1920で示したフラグが動き検知イベントの発生フラグ、1930で示したフラグがセンサイベントの発生フラグである。このタイムチャートを参照することにより、各イベントの発生頻度等がひと目でわかるようになっている。
続いて、ステップS4002において、CPU201は、本日からさかのぼり7日間の全イベントの集計処理を行う。そして、イベント分析処理マスタ233を参照して、分析表示用データの生成を行う。また、この際、生成した分析表示用データのうち、画面表示を行う表示用データに表示フラグを示す1を付加する。
続いて、ステップS4003において、メモリコントローラ207は、生成された分析表示用データを外部メモリ211等に記録する。ここで、当該生成された分析表示用データはイベント発生時用記録媒体216等の他のメモリに記録されても良い。
続いて、ステップS4004において、CPU201は、表示フラグを示す1が付加された分析表示用データに基づいて週間イベント分析表を生成する。そして、通信I/Fコントローラ208は、当該週間イベント分析表をクライアント300に送信する。クライアント300では、受信した週間イベント分析表を表示する。
図20は、クライアント300に表示される週間イベント分析表の一例を示した図である。図20の週間イベント分析表には、カレンダー2010、月間ボタン2020、1日ボタン2030が表示されており、マウス等のポインティングデバイスで各ボタンを選択することにより、集計単位を変更することができる。また、図20の週間イベント分析表には、日付け送りを行うための1週送りボタン2060及び1日送りボタン2070も設けられている。また、サムネール表示ボタン2040を選択すると、各イベント発生時の代表的なサムネール画像2050が1枚表示されるようになっている。また、この週間イベント分析表には、1週間の各イベント(センサイベント、動き検知イベント)の発生件数を集計した週間イベント発生件数2091が表示されるようになっている。さらに、1日の各イベント(センサイベント、動き検知イベント)の発生件数を集計した1日イベント発生件数2092も表示されるようになっている。
続いて、ステップS4005において、CPU201は、ユーザの操作により図20に示した週間イベント分析表のカレンダー2010から日付けの指定があるか否かを判断する。この判断の結果、日付けの指定があると判断された場合には、ステップS4006に進む。そして、ステップS4006において、CPU201は、指定された日付けの前後3日間の計1週間における全イベントの集計処理を再度行う。そして、イベント分析処理マスタ233を参照して、分析表示用データの生成を行う。また、この際、生成した分析表示用データのうち、画面表示を行う表示用データに表示フラグを示す1を付加する。その後、ステップS4003に戻る。
一方、ステップS4005の判断の結果、日付けの指定がないと判断された場合には、ステップS4007に進む。
続いて、ステップS4007において、CPU201は、ユーザにより図20に示した週間イベント分析表の1週送りボタン2060または1日送りボタン2070が操作されたか否かを判断する。この判断の結果、1週送りボタン2060または1日送りボタン2070が操作されたと判断された場合には、ステップS4008に進む。そして、ステップS4008において、CPU201は、指定された日付けの前後3日間の計1週間における全イベントの集計処理を再度行う。そして、イベント分析処理マスタ233を参照して、分析表示用データの生成を行う。また、この際、生成した分析表示用データのうち、画面表示を行う表示用データに表示フラグを示す1を付加する。その後、ステップS4003に戻る。
一方、ステップS4007の判断の結果、1週送りボタン2060または1日送りボタン2070が操作されていないと判断された場合には、ステップS4009に進む。
続いて、ステップS4009において、CPU201は、ユーザにより図20に示した週間イベント分析表のサムネール表示ボタン2040が操作されたか否かを判断する。この判断の結果、サムネール表示ボタン2040が操作されたと判断された場合には、ステップS4010に進む。そして、ステップS4010において、CPU201は、イベント発生時用記録媒体216に記録されている各画像から表示用のサムネールデータを生成する。その後、ステップS4003に戻る。
一方、ステップS4009の判断の結果、サムネール表示ボタン2040が操作されていないと判断された場合には、ステップS4011に進む。
続いて、ステップS4011において、CPU201は、ユーザにより図20に示した週間イベント分析表の月間ボタン2020が操作されたか否かを判断する。この判断の結果、月間ボタン2020が操作されたと判断された場合には、クライアント300に月間イベント分析表を新たに表示して処理を行う月間処理に移行する。一方、ステップS4011の判断の結果、月間ボタン2020が操作されていないと判断された場合には、ステップS4012に進む。
続いて、ステップS4012において、CPU201は、ユーザにより図20に示した週間イベント分析表の1日ボタン2030が操作されたか否かを判断する。この判断の結果、1日ボタン2030が操作されたと判断された場合には、クライアント300に1日イベント分析表を新たに表示して処理を行う1日処理に移行する。一方、ステップS4012の判断の結果、1日ボタン2030が操作されていないと判断された場合には、ステップS4013に進む。
続いて、ステップS4013において、CPU201は、ユーザにより図20に示した週間イベント分析表の終了ボタン2080が操作されたか否かを判断する。この判断の結果、終了ボタン2080が操作されたと判断された場合には、処理を終了する。一方、ステップS4013の判断の結果、終了ボタン2080が操作されていないと判断された場合には、図8のステップS5001に進む。
続いて、図8のステップS5001において、CPU201は、ユーザにより図20に示した集計対象/カメラ指定ボタン2090が操作されたか否かを判断する。ここで、このステップS5001には、上述した月間処理及び1日処理が終了した後においても移行する。この際、月間処理においては月間イベント分析表における集計対象/カメラ指定ボタンが操作されたか否かを、1日処理においては1日イベント分析表における集計対象/カメラ指定ボタンが操作されたか否かを判断する。なお、以降の説明からは、図21に示す1日イベント分析表を用いた説明を行う。但し、週間イベント分析表及び月間イベント分析表を用いた場合においても適用可能である。
ステップS5001の判断の結果、集計対象/カメラ指定ボタン2090が操作されたと判断された場合には、ユーザから指定されたイベント毎、あるいは指定されたカメラサーバ400毎に集計を行う集計単位変更処理に移行する。一方、ステップS5001の判断の結果、集計対象/カメラ指定ボタン2090が操作されていないと判断された場合には、ステップS5002に進む。
続いて、ステップS5002において、CPU201は、ユーザにより図21に表示されたイベント(本実施形態においては、イベントにおけるサムネール画像2110)がダブルクリックにより選択されたか否かを判断する。この判断の結果、ダブルクリックにより選択されたと判断された場合には、ステップS5003に進む。一方、ステップS5002での判断の結果、ダブルクリックにより選択されていないと判断された場合には、ステップS5004に進む。
続いて、ステップS5003において、CPU201は、ダブルクリックにより選択されたイベントのイベント発生時における画像をイベント発生時用記録媒体216から取得し、取得したイベント画像2120を画面上で再生する。
続いて、ステップS5004において、CPU201は、ユーザにより図22に表示されたイベント(本実施形態においては、イベントにおけるサムネール画像2110)がクリックにより指定され、かつ、再生設定ボタン2210が選択されたか否かを判断する。この判断の結果、イベントがクリックにより指定され、かつ、再生設定ボタン2210が選択されたと判断された場合には、図9のステップS6001に進む。一方、ステップS5004での判断の結果、イベントがクリックにより指定され、かつ、再生設定ボタン2210が選択されていないと判断された場合には、ステップS5005に進む。
続いて、ステップS5005において、CPU201は、ユーザにより図22に表示されたファイル出力ボタン2220が選択されたか否かを判断する。この判断の結果、ファイル出力ボタン2220が選択されていないと判断された場合には、ステップS5009に進む。一方、ステップS5005での判断の結果、ファイル出力ボタン2220が選択されたと判断された場合には、ステップS5006に進む。
続いて、ステップS5006において、CPU201は、現在、表示用に集計されているイベント分析データをSYLKファイル形式に変換し、分析表示用データを生成する(ステップS5007)。続いて、ステップS5008において、CPU201は、ユーザにより図23の表示画面においてイベント分析データをSYLKファイルで保存する選択がなされると、生成した分析表示用データを外部メモリ211等に保存する。
続いて、ステップS5009において、CPU201は、ユーザにより図22に表示されたグラフボタン2230が選択されたか否かを判断する。この判断の結果、グラフボタン2230が選択されたと判断された場合には、図10のステップS7001に進む。一方、ステップS5009での判断の結果、グラフボタン2230が選択されていないと判断された場合には、ステップS5010に進む。
続いて、ステップS5010において、CPU201は、ユーザにより図24に表示されたイベントがクリックにより指定され、かつサムネール出力ボタン2420が選択されたか否かを判断する。この判断の結果、イベントがクリックにより指定され、かつ、かつサムネール出力ボタン2420が選択されたと判断された場合には、図11のステップS8001に進む。一方、ステップS5010での判断の結果、イベントがクリックにより指定され、かつ、かつサムネール出力ボタン2420が選択されていないと判断された場合には、図7のステップS4004に移行する。
次に、図8のステップS5004で図22に表示されたイベントがクリックにより指定され、かつ、再生設定ボタン2210が選択された場合の処理について図9を用いて説明する。
まず、ステップS6001において、CPU201は、指定されたイベントの情報に基づき録画再生の設定画面を生成する。そして、通信I/Fコントローラ208は、当該録画再生の設定画面をクライアント300に送信する。クライアント300では、受信した録画再生の設定画面を表示する。
図25は、クライアント300に表示される録画再生の設定画面の一例を示した図である。この録画再生の設定画面には、ユーザにより指定されたイベントの情報を表示するイベント情報表示領域2510と、録画データ再生の詳細設定表示領域2520が設けられている。また、録画データ再生の詳細設定表示領域2520には、ユーザの操作によりイベント録画画像の再生設定、イベント前後の画像も再生する設定、イベントと同時刻の他のカメラ画像の再生設定が行えるようになっている。
続いて、ステップS6002において、CPU201は、ユーザの操作により図25の「イベント録画画像の再生」ボタン2521が選択されたか否かを判断する。この判断の結果、「イベント録画画像の再生」ボタン2521が選択されたと判断された場合には、ステップS6005に進む。一方、ステップS6002での判断の結果、「イベント録画画像の再生」ボタン2521が選択されていないと判断された場合には、ステップS6003に進む。
続いて、ステップS6003において、CPU201は、ユーザの操作により図25の「イベント前後の画像も再生」ボタン2522が選択されたか否かを判断する。この判断の結果、「イベント前後の画像も再生」ボタン2522が選択されたと判断された場合には、ステップS6004に進む。一方、ステップS6003での判断の結果、「イベント前後の画像も再生」ボタン2522が選択されていないと判断された場合には、ステップS6006に進む。
続いて、ステップS6004において、CPU201は、ユーザの操作により図25のイベント前後の時間設定部2523に指示されたイベント前後の時間がともに0秒であるか否かを判断する。この判断の結果、イベント前後の時間のうち、少なくともいずれか一方が0秒でないと判断された場合には、ステップS6009に進む。一方、ステップS6004での判断の結果、イベント前後の時間がともに0秒であると判断された場合には、ステップS6004に進む。
ステップS6002で「イベント録画画像の再生」ボタン2521が選択されたと判断された場合、あるいは、ステップS6004でイベント前後の時間がともに0秒であると判断された場合には、続いて、ステップS6005において、CPU201は、当該イベントにおける画像をイベント発生時用記録媒体216から取得し、取得したイベント画像を画面上で再生する。その後、図8のステップS5004に移行する。
ステップS6003で「イベント前後の画像も再生」ボタン2522が選択されたと判断された場合には、続いて、ステップS6006において、CPU201は、ユーザの操作により図25の「イベントと同時刻の他のカメラ画像の再生」ボタン2524が選択されたか否かを判断する。この判断の結果、「イベントと同時刻の他のカメラ画像の再生」ボタン2524が選択されていないと判断された場合には、図8のステップS5005に移行する。一方、ステップS6006での判断の結果、「イベントと同時刻の他のカメラ画像の再生」ボタン2524が選択されたと判断された場合には、ステップS6007に進む。
続いて、ステップS6007において、CPU201は、図25の録画再生の設定画面より該当するカメラサーバ400を選択を行う。
続いて、ステップS6008において、CPU201は、通常録画用媒体である外部メモリ211から該当するカメラサーバ400の該当する時間における画像データの再生を行う。
ステップS6004でイベント前後の時間のうち、少なくともいずれか一方が0秒でないと判断された場合には、続いて、ステップS6009において、CPU201は、イベント発生時用記録媒体216から該当するカメラサーバ400の該当する時間における画像データの再生を行う。
ステップS6008及びステップS6009の処理が終了した後、図8のステップS5004に移行する。以上のステップS6001〜ステップS6009での処理により、図22に表示されたイベントがクリックにより指定され、かつ、再生設定ボタン2210が選択された場合の再生処理が終了する。
次に、図8のステップS5009で図22に表示されたグラフボタン2230が選択されたと判断された場合の処理について図10を用いて説明する。
まず、ステップS7001において、CPU201は、集計グラフの選択画面を生成する。そして、通信I/Fコントローラ208は、当該集計グラフの選択画面をクライアント300に送信する。クライアント300では、受信した集計グラフの選択画面を表示する。
図26は、クライアント300に表示される集計グラフの選択画面の一例を示した図である。この集計グラフの選択画面には、棒グラフ選択領域2610と、折れ線グラフ選択領域2620が設けられている。棒グラフ選択領域2610は、「棒グラフ」ボタン2611を選択することにより有効となる。また、棒グラフ選択領域2610には、「全イベント/全ロケーション」による設定、「イベント別/全ロケーション」による設定、「全イベント/ロケーション別」による設定が行えるようになっている。折れ線グラフ選択領域2620は、「折れ線」ボタン2621を選択することにより有効となる。また、折れ線グラフ選択領域2620には、「全イベント/全ロケーション」による設定、「イベント別/全ロケーション」による設定、「全イベント/ロケーション別」による設定が行えるようになっている。
続いて、ステップS7002において、CPU201は、ユーザの操作により図26の「棒グラフ」ボタン2611が選択されたか否かを判断する。この判断の結果、「棒グラフ」ボタン2611が選択されたと判断された場合には、ステップS7003に進む。一方、ステップS7002での判断の結果、「棒グラフ」ボタン2611が選択されていないと判断された場合には、ステップS7012に進む。
続いて、ステップS7003において、CPU201は、ユーザの操作により図26の「全イベント/全ロケーション」ボタン2612が選択されたか否かを判断する。この判断の結果、「全イベント/全ロケーション」ボタン2612が選択されたと判断された場合には、ステップS7004に進む。一方、ステップS7003での判断の結果、「全イベント/全ロケーション」ボタン2612が選択されていないと判断された場合には、ステップS7006に進む。
続いて、ステップS7004において、CPU201は、「全イベント/全ロケーション」におけるイベントを集計して、分析表示用データを生成する。続いて、ステップS7005において、CPU201は、ステップS7004で生成した分析表示用データに基づいて「全イベント/全ロケーション」における棒グラフを作成する。そして、通信I/Fコントローラ208は、当該棒グラフをクライアント300に送信する。クライアント300では、受信した「全イベント/全ロケーション」における棒グラフを表示する。
ステップS7003で「全イベント/全ロケーション」ボタン2612が選択されていないと判断された場合には、続いて、ステップS7006において、CPU201は、ユーザの操作により図26の「イベント別/全ロケーション」ボタン2613が選択されたか否かを判断する。この判断の結果、「イベント別/全ロケーション」ボタン2613が選択されたと判断された場合には、ステップS7007に進む。一方、ステップS7006での判断の結果、「イベント別/全ロケーション」ボタン2613が選択されていないと判断された場合には、ステップS7009に進む。
続いて、ステップS7007において、CPU201は、「イベント別/全ロケーション」におけるイベントを集計して、分析表示用データを生成する。続いて、ステップS7008において、CPU201は、ステップS7007で生成した分析表示用データに基づいて「イベント別/全ロケーション」における棒グラフを作成する。そして、通信I/Fコントローラ208は、当該棒グラフをクライアント300に送信する。クライアント300では、受信した「イベント別/全ロケーション」における棒グラフを表示する。
ステップS7006で「イベント別/全ロケーション」ボタン2613が選択されていないと判断された場合には、続いて、ステップS7009において、CPU201は、ユーザの操作により図26の「全イベント/ロケーション別」ボタン2614が選択されたか否かを判断する。この判断の結果、「全イベント/ロケーション別」ボタン2614が選択されたと判断された場合には、ステップS7010に進む。
続いて、ステップS7010において、CPU201は、「全イベント/ロケーション別」におけるイベントを集計して、分析表示用データを生成する。続いて、ステップS7011において、CPU201は、ステップS7010で生成した分析表示用データに基づいて「全イベント/ロケーション別」における棒グラフを作成する。そして、通信I/Fコントローラ208は、当該棒グラフをクライアント300に送信する。クライアント300では、受信した「全イベント/ロケーション別」における棒グラフを表示する。
ステップS7005の処理が終了した場合、ステップS7008の処理が終了した場合、ステップS7011の処理が終了した場合、もしくはステップS7009で「全イベント/ロケーション別」ボタン2614が選択されていないと判断された場合には、その後、図8のステップS5010に移行する。
また、ステップS7002で「棒グラフ」ボタン2611が選択されていないと判断された場合には、続いて、ステップS7012において、CPU201は、ユーザの操作により図26の「折れ線グラフ」ボタン2621が選択されたか否かを判断する。この判断の結果、「折れ線グラフ」ボタン2621が選択されたと判断された場合には、ステップS7013に進む。
続いて、ステップS7013において、CPU201は、ユーザの操作により図26の「全イベント/全ロケーション」ボタン2622が選択されたか否かを判断する。この判断の結果、「全イベント/全ロケーション」ボタン2622が選択されたと判断された場合には、ステップS7014に進む。一方、ステップS7013での判断の結果、「全イベント/全ロケーション」ボタン2622が選択されていないと判断された場合には、ステップS7016に進む。
続いて、ステップS7014において、CPU201は、「全イベント/全ロケーション」におけるイベントを集計して、分析表示用データを生成する。続いて、ステップS7015において、CPU201は、ステップS7014で生成した分析表示用データに基づいて「全イベント/全ロケーション」における折れ線グラフを作成する。そして、通信I/Fコントローラ208は、当該折れ線グラフをクライアント300に送信する。クライアント300では、受信した「全イベント/全ロケーション」における折れ線グラフを表示する。
ステップS7013で「全イベント/全ロケーション」ボタン2622が選択されていないと判断された場合には、続いて、ステップS7016において、CPU201は、ユーザの操作により図26の「イベント別/全ロケーション」ボタン2623が選択されたか否かを判断する。この判断の結果、「イベント別/全ロケーション」ボタン2623が選択されたと判断された場合には、ステップS7017に進む。一方、ステップS7016での判断の結果、「イベント別/全ロケーション」ボタン2623が選択されていないと判断された場合には、ステップS7019に進む。
続いて、ステップS7017において、CPU201は、「イベント別/全ロケーション」におけるイベントを集計して、分析表示用データを生成する。続いて、ステップS7008において、CPU201は、ステップS7017で生成した分析表示用データに基づいて「イベント別/全ロケーション」における折れ線グラフを作成する。そして、通信I/Fコントローラ208は、当該折れ線グラフをクライアント300に送信する。クライアント300では、受信した「イベント別/全ロケーション」における折れ線グラフを表示する。
ステップS7016で「イベント別/全ロケーション」ボタン2623が選択されていないと判断された場合には、続いて、ステップS7019において、CPU201は、ユーザの操作により図26の「全イベント/ロケーション別」ボタン2624が選択されたか否かを判断する。この判断の結果、「全イベント/ロケーション別」ボタン2624が選択されたと判断された場合には、ステップS7020に進む。
続いて、ステップS7020において、CPU201は、「全イベント/ロケーション別」におけるイベントを集計して、分析表示用データを生成する。続いて、ステップS7021において、CPU201は、ステップS7020で生成した分析表示用データに基づいて「全イベント/ロケーション別」における折れ線グラフを作成する。そして、通信I/Fコントローラ208は、当該折れ線グラフをクライアント300に送信する。クライアント300では、受信した「全イベント/ロケーション別」における折れ線グラフを表示する。
ステップS7012で「折れ線グラフ」ボタン2621が選択されていないと判断された場合、ステップS7015の処理が終了した場合、ステップS7018の処理が終了した場合、ステップS7021の処理が終了した場合、もしくはステップS7019で「全イベント/ロケーション別」ボタン2624が選択されていないと判断された場合には、その後、図8のステップS5010に移行する。
以上のステップS7001〜ステップS7021での処理により、図22に表示されたグラフボタン2230が選択された場合のイベント分析におけるグラフ表示処理が終了する。
次に、図8のステップS5010で図24に表示されたイベントがクリックにより指定され、かつ、かつサムネール出力ボタン2420が選択されたと判断された場合の処理について図11を用いて説明する。
まず、ステップS8001において、CPU201は、ステップS5010でユーザにより指定されたイベント単位(1イベント毎、一定の時間帯内のイベント毎等)における全録画データをイベント発生時用記録媒体216から抽出し、抽出した録画データをサムネール化してサムネールデータを生成する。続いて、ステップS8002において、メモリコントローラ207は、生成されたサムネールデータを外部メモリ211等に記録する。ここで、当該生成されたサムネールデータはイベント発生時用記録媒体216等の他のメモリに記録されても良い。
続いて、ステップS8003において、通信I/Fコントローラ208は、サムネールデータをクライアント300に送信する。クライアント300では、受信したサムネールデータに基づき画面表示を行う。
図27は、クライアント300に表示されるイベント画像サムネール表示画面の一例を示した図である。このイベント画像サムネール表示画面には、各イベント毎にサムネール画像2710が表示されている。また、このサムネール画像2710は、図27の「現在の設定」の欄に示されているように2秒間隔で表示が行われている。ここで、各イベント毎に表示されるサムネール画像2710の枚数が異なるのは、各イベント毎に録画時間の設定値が異なるためである。
また、このイベント画像サムネール表示画面には、サムネール画像2710の表示領域の上方に、「集計対象イベント/カメラ指定」ボタン2720と、「時間の絞込み」ボタン2730と、「サムネール間隔の変更」ボタン2740が設けられている。
続いて、ステップS8004において、CPU201は、ユーザの操作により図27に示した「集計対象イベント/カメラ指定」ボタン2720が選択されたか否かを判断する。この判断の結果、「集計対象イベント/カメラ指定」ボタン2720が選択されたと判断された場合には、ユーザが選択した集計対象イベント(全てのイベント、センサイベントのみ、動き検知イベントのみ)や、ユーザが選択した集計対象カメラサーバ(全てのカメラサーバ、指定したカメラサーバのみ)に応じて、サムネール画像の表示を変更する集計対象イベント/カメラ指定処理へ移行する。
一方、ステップSステップS8004での判断の結果、「集計対象イベント/カメラ指定」ボタン2720が選択されていないと判断された場合には、ステップS8005に進む。
続いて、ステップS8005において、CPU201は、ユーザの操作により図27に示した「時間の絞込み」ボタン2730が選択されたか否かを判断する。この判断の結果、「時間の絞込み」ボタン2730が選択されたと判断された場合には、ユーザが指定した時刻(○時○分○秒〜□時□分□秒まで)に応じて、表示するサムネール画像の絞込みを行う時間の絞込み処理へ移行する。
一方、ステップSステップS8005での判断の結果、「時間の絞込み」ボタン2730が選択されていないと判断された場合には、ステップS8006に進む。
続いて、ステップS8006において、CPU201は、ユーザの操作により図27に示した「サムネール間隔の変更」ボタン2740が選択されたか否かを判断する。この判断の結果、「サムネール間隔の変更」ボタン2740が選択されたと判断された場合には、ユーザが指定したサムネール間隔(図27の例では、2.0秒)に応じて、表示するサムネール画像における間隔を変更するサムネール間隔の変更処理へ移行する。
一方、ステップSステップS8006での判断の結果、「サムネール間隔の変更」ボタン2740が選択されていないと判断された場合には、図7のステップS4004に移行する。
以上のステップS8001〜ステップS8006での処理により、図24に表示されたイベントがクリックにより指定され、かつ、かつサムネール出力ボタン2420が選択された場合のサムネール画像表示処理が終了する。
本発明の実施形態によれば、録画サーバ200において、各カメラサーバ400で撮影した各画像を外部メモリ211の録画データ記憶部215に連続的に記録する処理(ステップS1007)を開始し、少なくとも1つのカメラサーバ400でイベントの発生を検知した場合に、前記各カメラサーバ400で撮影した各画像を録画データ記憶部215に記録し続けるとともに、イベントの発生を検知したカメラサーバ400のイベントの発生期間に撮影された画像を外部メモリ211とは異なるイベント発生時用記録媒体216に記録する(ステップS2004、ステップS3003)ようにしたので、このイベント発生時用記録媒体216に記録された画像を閲覧するのみでイベントの発生原因や発生状況を把握することができる。また、録画データ記憶部215に記録された各画像の中から、イベントの発生期間における画像を抽出する場合と比較して、煩雑な抽出処理を行うことなく簡易で、かつ迅速にイベントの発生期間の画像を取得することができる。特に、カメラサーバ400を防犯カメラとして用いる場合には、従来では不可能であった緊急事態が発生した際の発生原因や発生状況の迅速な把握、更には緊急事態の発生時刻の証明を達成できる。
また、イベントの発生を検知したカメラサーバ400によるイベントの検知が終了した場合、当該イベント検知の終了時あるいは終了時から所定時間経過後に、当該カメラサーバ400の画像のイベント発生時用記録媒体216への記録を終了する(ステップS2009、ステップS3008)ようにしたので、イベント発生時用記録媒体216への記録を効率的に行うことができる。
また、録画サーバ200は、検索条件(イベントの種別、撮影したカメラサーバ400及び撮影した時刻等)とイベント情報(イベントの種別情報、イベントの発生を検知したカメラサーバ400を特定する情報、イベントの時刻情報等)とに基づいてイベント発生時用記録媒体216から画像を取得し(ステップS5003)、取得した画像と関連付けられる画像を関連付け情報(撮影したカメラサーバ400を特定する情報、撮影された時刻情報及び撮影したカメラサーバの位置情報等)に基づいて録画データ記憶部215から取得する(ステップS6008)ようにしたので、複数の同一種類のイベントの画像を検索して比較表示することや、イベントを検知したカメラサーバ400のイベント期間の画像と同一時刻に撮影された他のカメラサーバ400の画像を再生することができる。これにより、イベントの発生原因や発生状況を詳細に把握することが可能となる。
また、検索条件に合致するイベントを集計し(ステップS4002、ステップS4006、ステップS4008)、当該集計結果を表示するための表示データを生成する(ステップS4003)ようにしたので、例えば、1日単位、1週間単位又は1月単位の所定の期間について、イベントの発生回数、発生時刻、発生位置を含む発生傾向を迅速かつ容易に分析することができるようになる。
また、イベント発生時用記録媒体216に記録された画像のサムネールデータを生成する(ステップS8001、ステップS8002)ようにしたので、イベントの発生原因や発生状況を視覚的に把握することができる。
また、イベント発生時用記録媒体216に記録された画像を定期的にバックアップする(ステップS1006)ようにしたので、データ保管に対する安全性を高めることができる。
なお、本発明の実施形態においては、各カメラサーバ400で撮影した各画像を連続的に記録させる外部メモリ211と、イベントの発生を検知したカメラサーバ400のイベントの発生期間に撮影された画像を記録するイベント発生時用記録媒体216とを録画サーバ200内に設ける形態を例示して説明したが、本発明はこれに限定されるわけではなく、例えば、これらの記録媒体を当該録画サーバ200の外部に設けられたデータベースサーバ内に設けて、当該記憶媒体への画像の記録を制御するようにしても良い。
また、各カメラサーバ400で撮影した各画像を連続的に記録させる外部メモリとイベントの発生期間に撮影された画像を記録するイベント発生時用記録媒体とを同一の記憶手段に構成するようにしても良い。この場合、例えば、大容量の光ディスクドライブを複数台備えて別々に記録することや、1枚の大容量光ディスクのパーテションを分けて当該パーテションで区分された各領域に連続記録画像とイベント時の画像の両方を記録するようにしても良い。更に、複数のハードディスクで同様の記録をしたり、1台のハードディスクのパーテションを分けて両者を記録するようにしても良い。その意味で2つの「領域」に記録するとは異なる記憶媒体を意味する場合もあるし、1つの記憶媒体や記憶装置に連続記録画像とイベント時の画像の両方を記録する場合の両者を含んでいる。また、イベントの検知(ステップS2001やステップS3001)で所定時間待機後にイベント検知の有無を判定しているが、これに限らずハードウェア割込み(IRQ)によってイベント画像の撮影処理を開始し、イベント画像撮影の開始後は、通常画像の撮影と並行して行うように制御しても良い。
また、本発明の実施形態においては、カメラサーバ400のイベント検知部400aで検知されるイベントとして、カメラサーバ400が配設された位置における環境の変化をセンサにより検知するセンサイベントと、カメラサーバ400が撮影する撮影領域において、当該撮影領域内における撮影画像の動きが所定のレベルに達したことを検知する動き検知イベントを例示して説明したが、例えば、ICカードが挿入されたことを検知するICカード検知やICタグを配設してそのICタグからの信号を検知するICタグ検知等を適用することも可能である。
前述した実施形態による録画サーバ200を構成する各手段(図2)、並びに録画サーバ200による画像処理方法の各ステップ(図4のステップS1001〜ステップS1007、図5のステップS2001〜ステップS2012、図6のステップS3001〜ステップS3010、図7のステップS4001〜ステップS4013、図8のステップS5001〜ステップS5010、図9のステップS6001〜ステップS6008、図10のステップS7001〜ステップS7021、図11のステップS8001〜ステップS8006)は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
具体的に、前記プログラムは、例えばCD−ROMのような記録媒体に記憶し、あるいは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記憶する記録媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体(光ファイバ等の有線回線や無線回線等)を用いることができる。
また、コンピュータが供給されたプログラムを実行することにより前述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全て、あるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて前述の実施形態の機能が実現される場合も、かかるプログラムは本発明に含まれる。