以下、本発明を実施するための最良の形態について、添付図面を参照しながら説明する。以下に説明する実施形態は、撮影対象物を撮影した映像データとともにメタデータを生成する監視カメラ(メタデータ生成カメラ)から得られたメタデータを解析して、異常を検出し、アラームを出力する監視システムに適用した例としている。
図1は、本発明の一実施形態例における監視システムの接続構成を示した図である。図1Aは、管理クライアントがメタデータ生成カメラから出力されたデータをネットワークを介して取得するシステムであり、図1Bは、メタデータ生成カメラから出力されたデータを管理サーバが取得し、閲覧クライアントに供給するシステム(サーバ/クライアントシステム)である。
まず図1Aに示した監視システム100について説明する。図1に示すように、監視システム100は、1台、もしくは複数台のメタデータ生成カメラを管理する。この例では2台としている。監視システム100は、監視対象物を撮影し、映像データを生成するとともに映像データからメタデータを生成するメタデータ生成カメラ1a,1bと、取得した映像データとメタデータを解析し、保存するとともに異常を検出するとアラームを出力する管理クライアント3と、メタデータ生成カメラ1a,1bと管理クライアント3とを接続するネットワーク2とで構成される。管理クライアント3が、ネットワーク2を介してメタデータ生成カメラ1a,1bから取得したメタデータは、メタデータフィルタ(以下、「フィルタ」とも称する。)を介して解析される。
なお、メタデータ生成カメラ、管理クライアント、管理サーバ及び閲覧クライアントの台数はこの例に限られないことは勿論である。
管理クライアント3は、一つもしくは複数のフィルタを組み合わせて構成されるフィルタパッケージ(以下、「パッケージ」とも称する。)を定義している。この管理クライアント3は、フィルタパッケージにメタデータを通すことで、フィルタパッケージに定義されているフィルタ群の条件を満たす動体数や動体位置などからアラーム情報に変換する。そして、管理クライアント3は、データを解析する解析処理部に変換したアラーム情報を供給して、アラーム情報の解析を行う。アラーム情報の解析結果は、ディスプレイモニタからなる表示部に表示する。そして、管理クライアント3は、メタデータ生成カメラ1a,1bのそれぞれに対して、アラーム情報の解析結果に基づくカメラ動作(ズーム倍率を変える、ブザーを鳴らす等)を自動的に指示する。このように、管理クライアント3は、自動的に、もしくは使用者が手動で設定したとおりに、それぞれのメタデータ生成カメラ1a,1bの最適なカメラ動作を制御する。なお、フィルタパッケージ及び解析処理部については後に詳述する。
ここで、映像データとメタデータの構成について説明する。映像データとメタデータは、それぞれデータ本体とリンク情報とで構成されている。データ本体は、映像データの場合、メタデータ生成カメラ1a,1bが撮影した監視映像の映像データである。またメタデータの場合、監視対象を示す情報等と、この情報の記述方式を定義した属性情報を記述したものである。一方、リンク情報とは、映像データとメタデータとの関連付けを示す関連付け情報と、この情報の内容の記述方式を定義した属性情報等を記述したものである。
関連付け情報は、例えば映像データを特定するためのタイムスタンプやシーケンス番号を使用する。タイムスタンプは、映像データの生成時刻を与える情報(時刻情報)である。シーケンス番号は、コンテンツデータの生成順序を与える情報(順序情報)である。タイムスタンプの等しい監視映像が複数存在するような場合、タイムスタンプの等しい映像データの生成順序を識別することができる。また、関連付け情報には、映像データを生成する機器を特定するための情報(例えば製造会社名や機種名、製造番号等)を使用するものとしてもよい。
ここで、リンク情報やメタデータ本体の記述は、ウェブ(WWW:World Wide Web)上で交換される情報を記述するために定義されたマークアップ言語を用いる。マークアップ言語を用いると、ネットワーク2を介した情報の交換を容易に行うことができる。さらに、マークアップ言語として、例えば文書や電子データの交換に利用されているXML(Extensible Markup Language)を用いることで、映像データとメタデータの交換も容易に行うことができる。XMLを用いるものとした場合、情報の記述方式を定義した属性情報は、例えばXMLスキーマを使用する。
メタデータ生成カメラ1a,1bで生成した映像データやメタデータは、1つのストリームとして管理クライアント3に供給するものとしてもよい。また、映像データとメタデータを別のストリームで非同期に管理クライアント3に供給するものとしてもよい。
なお、図1Bに示すように、サーバ機能とクライアント機能を分割して管理サーバ11と閲覧用クライアント12で構成された監視システムに適用しても上述した図1Aの例と同様の機能、効果を得ることができる。サーバ機能とクライアント機能を分割することで、処理性能が高い管理サーバ11で大量にデータを処理し、処理性能が低い閲覧クライアント12では専ら処理結果を閲覧するといった使い分けが可能となる。このように機能分散することでより柔軟性に富む監視システム100を構築できるという効果がある。
次に、図1Aに示した管理クライアント3の詳細な構成を、図2の機能ブロック図を参照して説明する。ただし、管理クライアント3の各機能ブロックは、ハードウェアで構成するものとしてもよく、またソフトウェアで構成するものとしてもよい。
管理クライアント3は、メタデータと映像データを蓄積し、再生するメタデータレコーディングシステム7と、メタデータを解析処理する解析処理部5とで構成される。まず、メタデータレコーディングシステム7の構成例について説明する。メタデータレコーディングシステム7は、メタデータ生成カメラ1a,1bから映像データを取得する映像バッファ部42と、メタデータ生成カメラ1a,1bからメタデータを取得するメタデータバッファ部41と、フィルタ処理に応じたフィルタ設定を蓄積するフィルタ設定データベース55と、メタデータのフィルタ処理を行うメタデータフィルタ部38と、メタデータ生成カメラ1a,1bに設定変更を通知するルール切替部35と、映像データを蓄積する映像データ蓄積データベース56と、メタデータを蓄積するメタデータ蓄積データベース57と、映像データを再生する映像データ再生部39と、メタデータを再生するメタデータ再生部40と、メタデータと映像データとの再生を同期させる再生同期部36と映像データ等を表示する表示部とを備えている。
映像バッファ部42は、メタデータ生成カメラ1a,1bから映像データを取得し、符号化されている映像データの復号化処理を行う。そして、映像バッファ部42は、得られた映像データを映像バッファ部42に設けられている図示しないバッファに保持する。さらに、映像バッファ部42は、図示しないバッファに保持している映像データを順次、画像を表示する表示部6に供給する処理も行う。このように図示しないバッファに映像データを保持することで、メタデータ生成カメラ1a,1bからの映像データの受信タイミングに依らず、表示部6に対して順次映像データを供給できる。また、映像バッファ部42は、後述するルール切替部35から供給される録画要求信号に基づき、保持している映像データを映像データ蓄積データベース56に蓄積させる。なお、映像データ蓄積データベース56には、符号化されている映像データを蓄積して、後述する映像データ再生部39で復号化を行うものとしてもよい。
メタデータバッファ部41は、メタデータバッファ部41に設けられている図示しないバッファに、メタデータ生成カメラ1a,1bから取得したメタデータを保持する。また、メタデータバッファ部41は、保持しているメタデータを表示部6に順次供給する。また、図示しないバッファに保持しているメタデータを後述するメタデータフィルタ部38に供給する処理も行う。このように図示しないバッファにメタデータを保持することで、メタデータ生成カメラ1a,1bからのメタデータの受信タイミングに依らず、表示部6に対して順次メタデータを供給できる。また、映像データと同期させてメタデータを表示部6に供給できる。さらに、メタデータバッファ部41は、メタデータ生成カメラ1a,1bから取得したメタデータをメタデータ蓄積データベース57に蓄積させる。ここで、メタデータをメタデータ蓄積データベース57に蓄積する際に、メタデータと同期する映像データの時刻情報を付加しておく。このようにすることで、メタデータの内容を読み出して時刻を判別しなくとも、付加されている時刻情報を利用して、所望の時刻のメタデータをメタデータ蓄積データベース57から読み出すことが可能となる。
フィルタ設定データベース55は、後述するメタデータフィルタ部38で行うフィルタ処理に応じたフィルタ設定を蓄積するとともに、フィルタ設定をメタデータフィルタ部38に供給する。このフィルタ設定とは、アラーム等の出力やメタデータ生成カメラ1a,1bの撮像動作の切替を行う必要があるか否かの判断基準等を、メタデータに含まれている監視対象に関する情報ごとに示す設定である。このフィルタ設定を用いてメタデータのフィルタ処理を行うことで、監視対象に関する情報ごとにフィルタ処理結果で示すことができる。フィルタ処理結果には、アラーム等の出力を行う必要があることや、メタデータ生成カメラ1a,1bの撮像動作の切替が必要であることが示される。
メタデータフィルタ部38は、フィルタ設定データベース55に蓄積されているフィルタ設定を用いてメタデータのフィルタ処理を行い、アラームを発生させるかどうかを判断する。そして、メタデータフィルタ部38は、メタデータバッファ部41で取得したメタデータ、あるいはメタデータ蓄積データベース57から供給されたメタデータのフィルタ処理を行い、フィルタ処理結果をルール切替部35と後述するフィルタパッケージ部33に通知する。
ルール切替部35は、メタデータフィルタ部38から通知されたフィルタ処理結果に基づいて、設定変更信号を生成し、メタデータ生成カメラ1a,1bに設定変更を通知する。例えば、メタデータフィルタ部38から得られたフィルタ処理結果に基づき、監視に適した監視映像が得られるようにメタデータ生成カメラ1a,1bの動作を切り替える。また、ルール切替部35は、フィルタ処理結果に基づき、映像データ蓄積データベース56に録画要求信号を供給して、映像バッファ部42で取得した映像データを映像データ蓄積データベース56に蓄積させる。また、ルール切替部35は、映像データの蓄積モードを選択可能とする。蓄積モードには、例えば動的検索モードと最小限モードのいずれかを選択可能としている。
動的検索モードがユーザによって選択されている場合、ルール切替部35は、フィルタ処理結果によって動体が検出されていることが示されたとき、映像バッファ部42で取得した映像データを映像データ蓄積データベース56に蓄積させる。動的検索モードが選択されたときは、動体が検出されているときの映像データが蓄積される。このため、後述する映像データ再生部39によって、蓄積されている映像データを再生して、再生された映像データと同期するメタデータに対して所望のフィルタ設定でフィルタ処理を行うものとすれば、このフィルタ設定を満たす映像データを検索できる。
最小限モードが選択されている場合、ルール切替部35は、フィルタ処理結果によって注意報やアラームの出力を行うような状態が生じたと判別したとき、映像バッファ部42で取得した映像データを映像データ蓄積データベース56に蓄積させる。最小限モードが選択されたときは、注意報やアラームの出力を行うような状態の映像データを容易かつ速やかに再生できる。また、蓄積する映像データのデータ量を少なくできる。
映像データ蓄積データベース56は、映像バッファ部42で取得された映像データを蓄積する。メタデータ蓄積データベース57は、メタデータバッファ部41で取得されたメタデータを蓄積する。
映像データ再生部39は、映像データ蓄積データベース56に蓄積されている映像データの再生処理を行う。すなわち、映像データ再生部39は、ユーザによって指示された再生位置から順次映像データを読み出して、読み出した映像データを表示部6に供給する。また、映像データ再生部39は、再生している映像データの再生位置(再生時刻)を再生同期部36に供給する。
メタデータと映像データとの再生を同期させる再生同期部36は、映像データ再生部39から供給された再生位置と、メタデータ再生部40で、メタデータ蓄積データベース57に蓄積されているメタデータを再生するときの再生位置が同期するように、同期制御信号をメタデータ再生部40に供給して、メタデータ再生部40の動作を制御する。
メタデータ再生部40は、メタデータ蓄積データベース57に蓄積されているメタデータの再生処理を行う。すなわち、メタデータ再生部40は、ユーザによって指示された再生位置から順次メタデータを読み出して、読み出したメタデータをメタデータフィルタ部38と表示部6に供給する。また、映像データとメタデータの双方を再生する場合、メタデータ再生部40は、上述のように再生同期部36から供給された同期制御信号に基づいて再生動作を制御して、映像データに同期したメタデータを出力する。
表示部6は、映像バッファ部42から供給されたライブ(生)の映像データや映像データ再生部39から供給された再生映像データ、メタデータバッファ部41から供給されたライブのメタデータやメタデータ再生部40から供給された再生メタデータを表示する。また、表示部6は、メタデータフィルタ部38からのフィルタ設定に基づき、監視映像やメタデータの映像やフィルタ設定の映像のいずれか、あるいはこれらを合成した映像を用いて、フィルタ処理結果に基づく監視結果を示す映像を表示(出力)する。
また、表示部(表示モジュール)6は、グラフィカルユーザインタフェース(GUI:Graphical User Interface)としても機能する。使用者は、図示しない操作キーやマウス、リモートコントローラ等を用い表示部6に表示されたフィルタ設定メニュー等を選択することでパッケージやフィルタを定義したり、各処理部(モジュール)の情報のほかに、パッケージやアラーム情報の解析結果等をGUI表示したりすることができる。
表示部6はGUIとして機能する場合、メタデータ情報を用いたフィルタの設定を行うフィルタ設定部と、このフィルタ設定部で設定された複数のフィルタ設定の組み合わせを設定する組み合わせ設定部としての機能を持つ。例えば、パッケージを定義する場合は、ユーザの指示に従い表示部6がGUI機能により新規にフィルタ設定を作成し、又はフィルタ設定データベース55に蓄積されたフィルタ設定を編集し、次に、パッケージ設定すなわちフィルタの組み合わせ態様を設定する。本実施形態例では、個々のフィルタの設定はフィルタ設定データベース55に保存し、パッケージ設定(フィルタの組み合わせ等)はパッケージ設定データベース53に保存する。フィルタ設定データベース55及びパッケージ設定データベース53を一つのデータベースで構成してもよい。
そして、本実施の形態例にかかる監視システム100は、解析処理、複数のフィルタを組み合わせてアラームを発生させるかどうかを判断するフィルタパッケージ部33と、フィルタパッケージ内のフィルタ情報及び、フィルタ間の関連付け(論理設定)を保存するパッケージ設定データベース53と、フィルタパッケージ部33から出力されたアラーム情報を、後述する解析ルール設定データベース54の設定値を元に解析するアラーム情報解析部34と、スケジュールを監視し、指定時間帯に指定の解析ルールとパッケージとアクション(外部機器に対する動作指示)の設定を行うスケジュール設定部31と、パッケージとアクションの設定を記録するスケジュール設定データベース51と、各種カメラや周辺機器にアクションを指示するアクション設定部32と、アクションの設定を記録するアクション設定データベース52とを備えることを特徴としている。
以下では、各部とデータベースの機能例について詳細に説明する。
フィルタパッケージ部33は、メタデータフィルタ部38から得られたアラーム情報を複数種類組み合わせて、より詳細な状況についてパッケージが出力するアラームの発生を判断する。最適なカメラ動作は、使用者がフィルタ単位またはパッケージ単位で予め設定することができる。例えば、使用者が、あるパッケージに5種類のフィルタ(フィルタA〜フィルタE)を設定したと想定する。設定可能なフィルタの種類としては、例えば以下の7種類があり、このうち、任意のフィルタの種類を選択することができる。
Appearance(存在):物体があるエリア内に存在するか否かを判別するためのフィルタ
Disappearance(消失):物体があるエリア(領域)に現れ、エリアから出たか否かを判別するためのフィルタ
Passing(通過):ある境界線を物体が超えたか否かを判別するためのフィルタ
Capacity(物体数制限):あるエリア内の員数が所定値を超えたか否かを判別するためのフィルタ
Loitering(滞留):所定の時間を超えて、あるエリア内に物体が滞留しているか否かを判別するためのフィルタ
Unattended(置き去り):所定の時間を越えて、あるエリア内に侵入し動かない物体が存在するか否かを判別するためのフィルタ
Removed(持ち去り):あるエリア内に存在した物体が取り除かれたことを検出するためのフィルタ
パッケージの設定は、全てのフィルタの条件を満たした場合にアラーム情報を出力したり、フィルタAかつフィルタBの設定を満たした場合か、フィルタCかつフィルタDの設定を満たした場合のどちらかでアラーム情報を出力したりするなど、フィルタ間の論理を自由に組み合わせて設定できる。例えば、ある場所に人が侵入(ある場所のフィルタA“存在”が真)し、かつ警備員が所定の場所にいない(別の場所のフィルタB“消失”が真)場合のみパッケージアラーム情報を発生させる等が行われる。
パッケージ設定データベース53は、フィルタパッケージ部33に定義したパッケージを保存することができるデータベースである。データベースが持つべき情報例について以下に記載する。
1.パッケージ番号(またはパッケージ名):フィルタパッケージを一意に識別する。
2.フィルタ番号(またはフィルタ名称):フィルタアラーム情報を一意に識別する。カメラごとにフィルタアラーム番号が振られている場合、カメラ番号も必要になる可能性がある。
3.フィルタ間論理:フィルタをいかにして組み合わせるかの論理である。論理積(AND、またはシーケンシャル)組み合わせ、及び論理和(OR、またはパラレル)組み合わせからなる。
動体アラーム状態判断部8は、フィルタもしくはフィルタパッケージの設定(判定条件)に対するソフトウェアの認識状況をグラフィックス(数字、記号をを含む)でユーザに伝えるためのものである。すなわち、フィルタの設定とフィルタパッケージの設定に応じて、フィルタもしくはフィルタパッケージに対する動体の現在の状態を判断し、その状態に応じて表示部6にアラームの段階的表現を行わせるための情報を出力する。
アラーム情報解析部34は、フィルタパッケージ部33から得られるアラーム情報を解析し、カメラや周辺機器に最適な動作を行わせ、表示部6に情報を与える。解析種類は“連続時間”(指定した時間だけアラームが連続で来る場合、インパルス波アラームであっても方形波アラームとみなす)、“発生頻度”(指定時間内に指定数以上アラーム情報が得られる)、“占有面積”(指定範囲内に指定比率以上の物体が存在)、等が選べ、使用者が新たに定義することも可能である。解析した結果を元に、パッケージの再選択や各種アクションの実行、スケジュールの変更が行われる。
解析ルール設定データベース54は、アラーム情報解析部34に定義した解析ルールを保存することができるデータベースである。データベースが持つべき情報例について以下に記載する。
1.解析ルール番号(または解析ルール名):アラーム解析情報を一意に識別する。
2.パッケージ番号(またはパッケージ名称):アラーム解析に用いるパッケージを一意に特定する。
3.解析種類:“連続時間”、“発生頻度”、“占有面積”などの解析タイプ。
4.解析詳細設定:解析タイプに必要な詳細設定項目(時間や閾値頻度など)、アクションの実行、パッケージの変更、解析ルールの変更など、条件を満たした場合の動作。
スケジュール設定部31は、時間帯により解析ルールを変更する。例えば、営業時間内は“発生頻度”ルールで解析して自動ドアの挟み込みといった状況を判別し、閉店後は“侵入”アラームに切り替えて侵入自体でアラーム状況と判断させるなどの使い道が想定できる。
スケジュール設定データベース51は、スケジュール設定部31に定義したスケジュールを保存することができるデータベースである。データベースが持つべき情報例について以下に記載する。
1.スケジュール番号(またはスケジュール名):スケジュール情報を一意に識別する。
2.開始時間:スケジュールを開始する年月日時分秒。
3.終了時間:スケジュールを終了する年月日時分秒。
4.解析ルール番号:スケジュール内に適用する解析ルールを特定するための番号。
アクション設定部32は、アラーム情報解析結果に基づいて、指定したアクションを実行する。“追跡”,“ズーム”,“ライトON”などの動きを指定しておけば、アラーム情報の持つ動体数や位置情報を元に、自動的にズーム倍率やパンチルト角度が指定される。手動で詳細動作を設定することもできる。また、カメラの設定を変更することができる。さらに、カメラの設定を変更する以外にも、動体があったときは必ず映像を録画して後で動的にフィルタを変更してそれに該当する映像を検索できる動的検索モードと、フィルタがかかったときのみ録画をする最小限録画モードと2つの録画モードの切り替えができる。
アクション設定データベース52は、アクション設定を保存することができるデータベースである。データベースが持つべき情報例について以下に記載する。
1.アクション番号(またはアクション名):アクション設定情報を一意に識別する。
2.アクションタイプ:“パンチルト”,“ズーム”,“ライトON”など。
3.詳細設定:手動設定の場合の詳細情報を設定する。
<動作の説明>
次に、管理クライアント3の各部の処理例について説明する。
まず、フィルタパッケージ部33の処理例について、図3を参照して説明する。フィルタパッケージ部33は、複数のフィルタ間を論理で結びつけてパッケージを作成し、通知する処理を行う。始めに、フィルタパッケージ部33は、メタデータバッファ部41から関連するフィルタのアラーム情報を取得する(ステップS1)。次に、フィルタパッケージ部33は、各パッケージが用いるパッケージ設定データベース53により、アラーム情報を処理する(ステップS2)。
フィルタパッケージ部33は、アラーム情報を処理すると、アラーム情報解析部34に通知が必要か否かを判断する(ステップS3)。通知が必要でないと判断した場合、フィルタパッケージ部33は、ステップS1の処理に戻す。一方、通知が必要であると判断した場合、フィルタパッケージ部33は、フィルタアラームとパッケージアラームとを組み合わせた通知内容を作成する(ステップS4)。そして、フィルタパッケージ部33は、通知内容をアラーム情報解析部34に通知する(ステップS5)。
次に、フィルタパッケージ部33は、パッケージの設定変更要求があるか否かを判断する(ステップS6)。設定変更要求がないと判断した場合、フィルタパッケージ部33は、ステップS1の処理に戻す。一方、設定変更要求があると判断した場合、フィルタパッケージ部33は、パッケージの設定を変更する(ステップS7)。
そして、フィルタパッケージ部33は、終了要求があるか否かを判断する(ステップS8)。終了要求がないと判断した場合、フィルタパッケージ部33は、ステップS1の処理に戻す。一方、終了要求があると判断した場合、フィルタパッケージ部33は、処理を終了する。
次に、アラーム情報解析部34の処理例について、図4を参照して説明する。アラーム情報解析部34は、取得したアラーム情報を解析し、アクションの実行やスケジュールの変更、パッケージの変更を指示する処理を行う。始めに、アラーム情報解析部34は、フィルタパッケージ部33から関連するフィルタのアラーム情報を取得する(ステップS11)。次に、アラーム情報解析部34は、解析ルール設定データベース54を用いてアラーム情報を処理する(ステップS12)。
アラーム情報解析部34は、アラーム情報を処理すると、アクションの実行が必要か否かを判断する(ステップS13)。アクションの実行が必要でないと判断した場合、アラーム情報解析部34は、ステップS11の処理に戻す。一方、アクションの実行が必要であると判断した場合、アラーム情報解析部34は、実行するアクションを記述した通知内容を作成する(ステップS14)。そして、アラーム情報解析部34は、通知内容をアクション設定部32に通知する(ステップS15)。
次に、アラーム情報解析部34は、スケジュールの変更要求があるか否かを判断する(ステップS16)。スケジュールの変更要求がないと判断した場合、ステップS11の処理に戻す。一方、スケジュールの変更要求があると判断した場合、アラーム情報解析部34は、設定するスケジュール内容を記述した通知内容を作成する(ステップS17)。そして、アラーム情報解析部34は、通知内容をスケジュール設定部31に通知する(ステップS18)。
次に、アラーム情報解析部34は、パッケージの変更要求があるか否かを判断する(ステップS19)。パッケージの変更要求がないと判断した場合、ステップS11の処理に戻す。一方、パッケージの変更要求があると判断した場合、アラーム情報解析部34は、設定するパッケージ内容を記述した通知内容を作成する(ステップS20)。そして、アラーム情報解析部34は、通知内容をフィルタパッケージ設定部33に通知する(ステップS21)。
そして、アラーム情報解析部34は、終了要求があるか否かを判断する(ステップS22)。終了要求がないと判断した場合、アラーム情報解析部34は、ステップS11の処理に戻す。一方、終了要求があると判断した場合、アラーム情報解析部34は、処理を終了する。
次に、スケジュール設定部31の処理例について、図5を参照して説明する。スケジュール設定部31は、スケジュールを作成し、スケジュールの期間内に指定した解析ルールを実行する処理を行う。始めに、スケジュール設定部31は、各スケジュールを、スケジュール設定データベース51を用いて、スケジュール情報を処理する(ステップS31)。
スケジュール設定部31は、スケジュール情報を処理すると、スケジュール内であるか否かを判断する(ステップS32)。スケジュール内でないと判断した場合、スケジュール設定部31は、ステップS31の処理に戻す。一方、スケジュール内であると判断した場合、スケジュール設定部31は、解析ルールを記述した通知内容を作成する(ステップS33)。そして、スケジュール設定部31は、通知内容をアラーム情報解析部34に通知する(ステップS34)。
そして、スケジュール設定部31は、スケジュールの設定変更要求があるか否かを判断する(ステップS35)。スケジュールの設定変更要求がないと判断した場合、スケジュール設定部31は、ステップS31の処理に戻す。一方、スケジュールの設定変更要求があると判断した場合、スケジュール設定部31は、スケジュール設定データベース51を用いて、スケジュールの設定を変更する(ステップS36)。
そして、スケジュール設定部31は、終了要求があるか否かを判断する(ステップS37)。終了要求がないと判断した場合、スケジュール設定部31は、ステップS31の処理に戻す。一方、終了要求があると判断した場合、スケジュール設定部31は、処理を終了する。
次に、アクション設定部32の処理例について、図6を参照して説明する。アクション設定部32は、アクションを作成し、カメラや周辺機器にアクションを実行させる処理を行う。始めに、アクション設定部32は、各アクションを、アクション設定データベース52を用いて、アクション内容を処理する(ステップS41)。
アクション設定部32は、アクション内容を処理すると、アクションの実行要求があるか否かを判断する(ステップS42)。アクションの実行要求がないと判断した場合、アクション設定部32は、ステップS41の処理に戻す。一方、アクション実行要求があると判断した場合、アクション設定部32は、アクションの設定変更や、パンチルト等のアクションを記述した通知内容を作成する(ステップS43)。そして、アクション設定部32は、通知内容をカメラや周辺機器等に通知する(ステップS44)。
そして、アクション設定部32は、終了要求があるか否かを判断する(ステップS45)。終了要求がないと判断した場合、アクション設定部32は、ステップS41の処理に戻す。一方、終了要求があると判断した場合、アクション設定部32は、処理を終了する。
次に、各モジュール間における関連処理の例について説明する。
まず、複数のメタデータ生成カメラ1a,1bから受信したメタデータに対し、パッケージ(フィルタ群)を適用して、一つの結果を得る処理の例について、図7を参照して説明する。始めに、使用者は、フィルタパッケージ部33により、“存在”や“滞留”等のフィルタを登録し(ステップS51)、フィルタ間論理を設定する(ステップS52)。設定内容は、パッケージ設定データベース53に保存される。
そして、フィルタパッケージ部33は、アラーム情報をアラーム情報解析部34に送信する(ステップS53)。アラーム情報解析部34は、フィルタパッケージ部33からアラーム情報を受信する(ステップS54)。受け取ったアラーム情報には、各フィルタからのフィルタアラーム以外に、新たにフィルタ間論理に合致したパッケージからのパッケージアラームが含まれる。
アラーム情報解析部34は、解析ルール設定データベース54を元に、受信したアラーム情報を解析し、解析ルールに沿った動作を行う(ステップS55)。そして、アラーム情報解析部34は、アクション設定部32、フィルタパッケージ部33、スケジュール設定部31に必要な指示を送信する。アクションの実行を行う場合はアクション設定部32にアクション番号を指定する(ステップS56)。アクション設定部32は、指定されたアクション番号に基づくアクションを、アクション設定データベース52から読み出し、アクションを実行する。フィルタやパッケージの再選択を行う場合は、フィルタパッケージ部33に設定変更を指示する(ステップS56)。フィルタパッケージ部33は、パッケージ設定データベース53からフィルタやパッケージを読み出すとともに、再選択したフィルタやパッケージをパッケージ設定データベース53に書き込む。スケジュールの変更を行う場合は、スケジュール設定部31に設定変更を指示する(ステップS58)。スケジュール設定部31は、スケジュール設定データベース51からスケジュールを読み出すとともに、変更したスケジュールをスケジュール設定データベース51に書き込む。
図8は、本実施形態における管理クライアント3の表示部6による映像データとメタデータの表示例を示したものである。
図8に示すように、メタデータ生成カメラ1a,1bで撮像された映像データ1001及びメタデータ1002がネットワーク2を介して管理クライアント3へ供給される。メタデータ生成カメラ1a,1bで生成されるメタデータの種類としては、時間、映像解析結果の動体情報(例えば、位置、種類、ステータスなど)、現在のカメラの状態などがある。また、メタデータ生成カメラが管理クライアントもしくは管理サーバが持つソフトウェアモジュールを備え、ネットワークを介さないで動作する場合も有効である。
管理クライアント3は前述のようにメタデータ生成カメラ1a,1bから供給された映像データ1001及びメタデータ1002を取得、解析、保存する。管理クライアント3に入力された映像データ1001及びメタデータ1002は、映像データDB56,メタデータDB57に保存される。管理クライアント3は、フィルタ設定機能を有しており、表示部6に表示されるフィルタ設定画面(フィルタ設定メニュー)で各種フィルタの設定を行い、フィルタの情報をフィルタ設定データベース55に保存する。図8に示すフィルタ設定表示画面1003ではフィルタの設定により生成された境界線LN及びエリアPAが表示されている。矢印PBは境界線LNに対して検出すべきPassing(横切り)方向を示している。このように設定されたフィルタ情報を用い、映像内のオブジェクト(動体)MB1〜MB3をメタデータフィルタ部38が検知し、表示部6によって映像データ1001と同期した監視映像1004として表示する。あるフィルタによってオブジェクトが検知されると、監視システム100はアラームを発生させる。例えば、検出したオブジェクトMB1〜MB3の周囲にそれぞれ動体枠H1〜H3を表示する。
図9は、一つもしくは複数のフィルタを組み合わせて構成されるフィルタパッケージの概念を示したものである。図9に示すように、メタデータに対する複数のフィルタがパッケージング(ひとまとめ)される。この例では、1つのパッケージは最大3つのフィルタのコンビネーション(組み合わせ)と、最大6つの非検知エリアによって構成される。
コンビネーションの種類にはシーケンシャルモード(連続モード)とパラレルモード(並列モード)がある。パラレルモードでは、各々のフィルタがオブジェクトを検知するごとにパッケージとしてのアラームが発生する。一方、シーケンシャルモードでは、設定された順番通りに所定のコンビネーション間隔の範囲内でフィルタがオブジェクトを検知したときにパッケージとして1つのアラームが発生する。パッケージはそれぞれのメタデータ生成カメラに対して個別に設定されるものである。
次に、管理クライアント3におけるアラームの段階的表現の動作について説明する。上述したように、管理クライアント3の動体アラーム状態判断部8(図2参照)は、フィルタの設定とフィルタパッケージの設定に応じて、フィルタもしくはフィルタパッケージに対する動体の現在の状態を判断し、その状態に応じて表示部6にアラームの段階的表現を行わせるための情報を出力する。表示部6は動体アラーム状態判断部8から供給された情報に基づいてグラフィックス(数字、記号を含む)による認識状況の表示を行う。
上記認識状況の表示形態の例として、例えば、(1)動体に対して「ある状態である」と認識した場合にその認識状況を伝える。(2)またはその動体が「ある状態である」と認識してからの時間経過やその状態量の変化に合わせてグラフィックスを変化させる。(3)あるいはその物体が「ある判定条件に接近しつつある」ことを示す。(4)条件が複数存在する場合に、その判定ステップを示す。従来は動体を囲む枠(動体枠もしくは検知枠という)の色でアラーム対象にあるのを検知したことを示すというものであるが、本発明は、経過・変化状況などの付加的な情報や、「検知」以外の状態を示すことが可能である。
以下、図10を参照してフィルタに動体が近づいた場合におけるアラームの段階的表現の動作について説明する。図10は、フィルタ(Appearance)で設定した検知エリアに動体が近づいた場合のアラーム状態表示例を示す図である。
図10において、まず管理クライアント3の動体アラーム状態判断部8が起動する。次に、動体アラーム状態判断部8がメタデータフィルタ部38からフィルタに設定されている検知エリアPAと動体1010の座標を取得する。続いて動体アラーム状態判断部8は予め設定されているフィルタ警告開始距離をメタデータフィルタ設定データベース55から取得する。そして、動体アラーム状態判断部8が、警告開始距離に動体1010があるかどうか判断する。
ここで、動体アラーム状態判断部8は、動体1010がフィルタの検知エリアPAに対して警告開始距離より近づき始めたら、その距離に応じて表示部6で表示するその動体1010の表示色情報R(赤),G(緑),B(青)を、例えばRGB:0,255,0(8ビット情報により256階調表示の場合)からRの情報量を増やしつつ、Gの情報量を減らしていき、動体1010の動体枠のアラーム表示色を作成する。そして、表示部6は動体アラーム状態判断部8からその動体1010の表示色を取得して、映像に動体枠を表示する。この例では、動体1010が検知エリアPAに対して警告開始距離より遠いときは緑色で動体枠HGを表示し、警告開始距離に近づいたら動体枠HYを黄色で表示し、動体1010が検知エリアPA内に浸入したら動体枠HRを赤色で表示してユーザに警告する。
また、図11を参照してシーケンシャルなフィルタ設定でフィルタパッケージ(一例として3つのフィルタから形成)が構成されている場合について説明する。図11は、境界線を越えて(Passing)、検知エリアに入って(Appearance)、検知エリアから外に出た(Disappearance)場合で、そのシーケンシャルなフィルタ設定の各々に動体がかかった場合のアラーム状態表示例を示す図である。
図11において、まず管理クライアント3の動体アラーム状態判断部8が起動する。次に、動体アラーム状態判断部8がメタデータフィルタ部38及びフィルタパッケージ部33からフィルタに設定されている所定の座標とシーケンシャル情報(組み合わせ情報、組み合わせ間隔など)、動体1010の座標、動体1010のフィルタに対する状態を取得する。続いて、動体アラーム状態判断部8が、動体1010のフィルタの境界線LNや検知エリアPA等に対する状態に応じて、動体1010に付属で表示するための遷移識別番号を判断する。表示部6は、動体アラーム状態判断部8からその動体1010の遷移識別番号と個々のフィルタの種類を取得して、動体枠内(もしくは外)にその番号とフィルタの種類を表示する。
この例では、動体1010が境界線LNを横切ったとき遷移識別番号「1」とともにフィルタの種類「Passing」を表示する。ここでは動体枠HGは緑色である。そして、検知エリアPAに動体1010が浸入したこと検知すると、遷移識別番号「2」とともにフィルタの種類「Appearance」を表示する。動体枠HGは緑色で表示される。その後、動体1010が検知エリアPAから外に出たことを検知した場合には、遷移識別番号「3」とともにフィルタの種類「Disappearance」を表示する。このときの動体枠HRは赤色で表示する。すなわち設定された順番どおりに各フィルタが動体1010を検知したので、最後にパッケージとして1つのアラームを発生している。図11の例では、シーケンシャルな3つのフィルタにカウントされたことを表示している。
さらに、図12を参照して検知エリア内で複数の動体が存在する場合に、うろうろ検知(Loiteringイベント)を実施した場合のアラーム状態表示例を説明する。この例では、検知期間の閾値を例えば60秒に設定した例としている。
図12において、まず管理クライアント3の動体アラーム状態判断部8が起動する。次に、動体アラーム状態判断部8がメタデータフィルタ部38からフィルタに設定されている検知エリアPAと各動体1011〜1014の座標、並びにうろうろ検知の検知期間の閾値を取得する。続いて、動体アラーム状態判断部8が、検知エリアPAに動体1010があるか、あればその動体の滞留時間は何秒であるか判定する。表示部6は、動体アラーム状態判断部8からその動体1010の動体枠内(もしくは外)にその滞留時間を表示する。
この例では、動体1011〜1013は滞留時間がそれぞれ10秒,25秒,30秒であり、検知期間の閾値60秒まで時間があるので緑色の動体枠HGで表示する。そして、50秒滞留している動体1014は、滞留期間の閾値60秒に近づいてきたので黄色の動体枠HYで表示する。さらに滞留時間が65秒となり閾値60秒を超えてしまった動体10105についてはその動体枠HRを赤色で表示してユーザに警告する。
そしてさらに、図13を参照して動体のアラーム状態表示例(履歴表示)について説明する。図13において、検知エリアPAに動体1010が浸入して状態を表しているが、このとき通算の浸入回数、例えば3回であれば「3」を動体枠HRの所定部位に記載する。このようにすることで、ユーザは過去に遡って動体1010の状態を知ることができる。
なお、表示部6で表示される表示パターンとしては、上述した例の他に下記のようなものが考えられる。例えば、
・動体の近傍にアイコンを表示する
・動体の近傍にアニメーションアイコンを表示する
・動体体の線種を変更する
・動体枠を破線にし、線に動きをつけてアニメーション表示する
・動体枠を点滅させる
・動体枠の線の太さを変更する
・動体枠とその内部を点滅させる
などが考えられる。
以上のように構成された本発明により、フィルタの設定とフィルタコンビネーション(シーケンシャル、パラレル)の設定に応じて、フィルタに対する動体の現在の状態を表現することができるようになる。それにより、アラームが発生する事前に複数の動体の中からアラームとなると予測される動体を判別することができるようになる。また、フィルタコンビネーションでシーケンシャルに複数のフィルタを設定した場合に、動体が現在フィルタ条件をいくつオーバーしているかなど、アラームの状態遷移を一目で判断することができるようになるので、監視システムの利用者がその動体に対して警告音を発するなど先手を打ってアラームの予防をすることができるようになる。
また、数字、文字のみによらないアラームとすることで、アラームを読んで理解する必要がなく迅速にアラーム内容を視認することができる。
上述した実施形態例における一連の処理は、ハードウェアにより実行することができるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムを、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な例えば汎用のパーソナルコンピュータなどに所望のソフトウェアを構成するプログラムをインストールして実行させる。
また、上述した実施形態例の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPU等の制御装置)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合のプログラムコードを供給するための記録媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部又は全部を行い、その処理によって上述した実施形態例の機能が実現される場合も含まれる。
また、本明細書において、ソフトウェアを構成するプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
さらに、本発明は上述した実施形態例に限られるものではなく、本発明の要旨を逸脱することなくその他種々の構成を取り得ることは勿論である。
1a,1b…メタデータ生成カメラ、2…ネットワーク、3…管理クライアント、11…管理サーバ、12…閲覧クライアント、5…解析処理部、6…表示部、7…メタデータレコーディングシステム、8…動体アラーム状態判断部、33…フィルタパッケージ部、38…メタデータフィルタ部、39…映像データ再生部、40…メタデータ再生部、53…パッケージ設定データベース、54…解析ルール設定データベース、55…フィルタ設定データベース、100…監視システム、1001…映像データ、1002…メタデータ、1003…フィルタ設定表示画面、1004…監視映像、H1,H2,H3…動体枠、LN…境界線、MB1,MB2,MB3…動体、PA…検知領域