以下、図面を参照して、本発明の実施形態を詳細に説明する。
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
<図1の説明>
図1は、本発明の実施形態に係る情報処理システムの構成を示す図である。
図1に示す情報処理システムは、複数のネットワークカメラ(101、102、・・・)と、管理サーバ103と、クライアント端末104と含むシステムである。
複数のネットワークカメラ(101、102、・・・)と、管理サーバ103と、クライアント端末104とは、相互に通信可能に、有線、又は無線のネットワーク105を介して接続されている。
図1には、ネットワークカメラ101、102を2台示しているが、3台以上、ネットワーク105に接続されているものとする。
ネットワークカメラ101、102は、監視カメラであり、所定の場所に固定して設置されている。
ネットワークカメラ101、102は、ネットワーク105に接続可能な撮像装置(カメラ)である。ネットワークカメラ101、102は、動画、及び/又は静止画を撮影可能なカメラである。以下、動画、及び/又は静止画を映像データとも言う。
ネットワークカメラ101、102は、撮影された映像のデータを、管理サーバ103、又はクライアント端末104に送信する機能を備えている。
また、ネットワークカメラ101、102は、撮影している映像から、又は、他のPLCなどの装置から、被写体である機器のエラー等の所定のイベントを検知すると、当該撮影しているネットワークカメラを識別するカメラID、及び、当該イベントを検知した日時(エラー日時)を、管理サーバ103に送信する機能、及び、当該撮影している映像を、管理サーバ103、又はクライアント端末104に送信する機能を備えている。
管理サーバ103は、ネットワークカメラから、カメラID、及び、当該イベントを検知した日時(エラー日時)を受信すると、管理サーバ103のメモリ等の記憶手段に記憶されているカメラテーブル902(図9)に、当該カメラIDに対して、日時(エラー日時)を登録する。
すなわち、カメラテーブル902(図9)には、機器のエラー等の所定のイベントを、ネットワークカメラが撮影していることを示している。
管理サーバ103は、ネットワークに接続されたネットワークカメラから当該ネットワークカメラで撮影されたライブ映像(動画データ)を、当該ネットワークを介して受信し、クライアント端末104に送信する機能を有する。また、当該映像を録画して、クライアント端末104に送信する機能も備えている。
管理サーバ103は、本発明の情報処理装置の適用例であり、ネットワークカメラが設置された位置に当該ネットワークカメラを示すオブジェクトを配置した地図と、当該ネットワークカメラにより撮影された映像とを表示装置(クライアント端末104)に表示させる。
クライアント端末104は、監査者、管理者などのユーザが操作する端末であり、各ネットワークカメラで撮影された映像を当該ユーザが閲覧、確認するための端末である。
クライアント端末104は、パソコンだけではなく、スマートフォンやタブレットPCなどの可搬可能な端末でもよい。
クライアント端末104は、本発明の表示装置の適用例である。
<図2の説明>
次に、図1に示すクライアント端末104、管理サーバ103のハードウェア構成の一例について説明する。
図2は、図1に示すクライアント端末104、管理サーバ103のハードウェア構成の一例を示す図である。
すなわち、図2は、図1に示すクライアント端末104、管理サーバ103が適用可能な情報処理装置のハードウェア構成の一例を示す図である。
図2に示すように、情報処理装置は、CPU201と、RAM202と、ROM203と、システムバス204と、入力コントローラ205と、ビデオコントローラ206と、メモリコントローラ207と、通信I/Fコントローラ208と、キーボード209と、CRT210と、外部メモリ211を有して構成されている。
CPU201は、情報処理装置における動作を統括的に制御するものであり、必要に応じて、システムバス204に接続される各種のデバイスや各種のコントローラを制御する。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種の動作を実現する。
ROM203には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)、CPU201が本実施形態に係る情報処理装置の機能を実現するために必要な各種のプログラム等が記憶されている。なお、これらのプログラムは、外部メモリ211に記憶されている態様であってもよい。
システムバス204は、CPU201、RAM202、ROM203、システムバス204、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207及び通信I/Fコントローラ208を、相互に通信可能に接続する。
入力コントローラ205は、キーボード209やマウス(不図示)等のポインティングデバイスからの入力を制御する。
ビデオコントローラ206は、CRTディスプレイ(CRT)210等の表示部への表示を制御する。この表示部は、CRTだけでなく、液晶ディスプレイ等であっても構わない。
メモリコントローラ207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種のデータ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ(登録商標)等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM202の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210での表示を可能としている。また、CPU201は、CRT210のマウスカーソル(不図示)等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル(図9)等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
<図3、4の説明>
次に、図3、図4を用いて、クライアント端末104の表示部に表示される、ネットワークカメラで撮影された映像を表示するビューワーの表示の遷移について、説明する。
図3、図4は、クライアント端末104の表示部に表示される、ネットワークカメラで撮影された映像を表示するビューワーの表示の遷移の一例を示す図である。
まず、ネットワークカメラが、被写体である機器のエラー等の所定のイベントを検知すると、当該撮影しているネットワークカメラを識別するカメラID、及び、当該イベントを検知した日時(エラー日時)を、管理サーバ103に送信し、管理サーバ103が、当該カメラIDに対応して、カメラテーブル902に当該日時(エラー日時)を登録する。
そして、管理サーバ103は、予め登録されている地図テーブル901を参照して、図3(A)に示すビューワー画面301を表示する。
ビューワー画面301は、エラー等のイベントを検知した場所、あるいは、当該場所を撮影しているネットワークカメラの場所を示す地図を表示するマップ表示領域302と、当該ネットワークカメラが撮影している映像を表示する領域である映像表示領域303と、カメラテーブル902に登録された日時とカメラIDとを表示するエラー一覧表示領域304と、を表示する画面である。
ビューワー画面301の表示の遷移は、クライアント端末104のプログラムで行うこともできるが、本実施形態では、管理サーバ103のプログラムが行い、クライアント端末104のディスプレイ(表示装置)に表示させるものとして説明する。
マップ表示領域302には、エラー一覧表示領域304に表示されているネットワークカメラの場所(カメラ場所)、あるいは、当該ネットワークカメラが撮影しているエラー等のイベントを検知した場所(エラー場所)を示す地図を表示している。305は、その場所を示しているオブジェクト(アイコン)である。この305は、ネットワークカメラが設置された位置に当該ネットワークカメラを示すオブジェクトである。
また、映像表示領域303は、当該ネットワークカメラが撮影している映像(動画)を表示する領域である。
図3(A)の画面の302には、広域の上位地図(日本地図)が表示されている。
図3(A)の画面で、ユーザは、305のオブジェクト、又は、エラー一覧表示領域304に表示されているカメラID、又は日時を選択すると、次に、詳細の地図を、図3(B)の302のように表示する。図3(B)の302には、図3(A)の画面の302よりも詳細の地図が表示されている。図3(B)の302では、より詳細な地図が表示されており、A工場、B工場、C工場、D工場が表示されている。そして、図3(B)の302内の305は、A工場でイベントが発生していることを示している。そして、その所定時間後に、図4(C)の302のように、より詳細の地図(A工場内の地図)を表示する。ここでは、A工場内に、A製品生産エリアと、B製品生産エリアとがあり、図4(C)の302内の305は、A製品生産エリアでイベントが発生していることを示している。そして、更に、その所定時間後に、図4(D)の302のように、より詳細の地図(A製品生産エリア内の地図)を表示する。ここでは、A製品生産エリア内に、生産ラインAと、生産ラインBとがあり、生産ラインA上の装置Aを撮影するネットワークカメラ(カメラIDが1のカメラ)と、生産ラインB上の装置Bを撮影するネットワークカメラ(カメラIDが2のカメラ)とが表示されている。そして、図4(D)の302内の305は、カメラIDが1のカメラで撮影している装置Aにエラー等のイベントが発生したこと、あるいは、その装置Aの場所を撮影している当該カメラの映像を、映像表示領域303に表示することを示している。図4(D)の303には、カメラIDが1のネットワークカメラで撮影されている装置Aの映像が表示されている。
このように、ユーザが、図3(A)の画面で、305のオブジェクト、又は、エラー一覧表示領域304に表示されているカメラID、又は日時を選択すると、広域の地図から、段階的に、詳細の地図を自動的に表示するため、ユーザは、どこの工場のどこの生産エリアのどこの生産ラインでエラー等のイベントが発生しているのかを確認することが出来ると共に、そのイベントが発生している場所の映像を303に表示するため、実際の映像を確認して、どのようなイベントが発生しているのかを確認し易くなる。このように、広域の地図から、段階的に、詳細の地図を自動的に表示することを、自動で、ドリルダウンで詳細地図を表示するという。
<図5、6説明>
図3、4の例では、1つのイベントが1つの場所で発生し、広域の地図から、段階的に、詳細の地図を自動的に表示することを説明したが、次に、図5、図6を用いて、同時刻(同時間帯)に、複数のイベントが異なる場所で発生し、広域地図から段階的に詳細地図を表示する途中で、その複数のイベントが、複数の詳細地図に分かれる場合には、ユーザに、どの場所の映像を確認したいかを選択させて、表示する詳細地図を決める例について説明する。
図5、図6は、クライアント端末104の表示部に表示される、ネットワークカメラで撮影された映像を表示するビューワーの表示の遷移の一例を示す図である。
図9のカメラテーブル902に示すように、2箇所の場所で、同時刻(同時間帯)に、イベントが発生した状態での、詳細地図のドリルダウン表示について、説明する。
図9のカメラテーブル902に示すように、2箇所の場所で、同時刻(同時間帯)に、イベントが発生しているため、図5(A)の304には、2つのカメラID、日時が表示されている。
図5(A)の画面の302には、広域の上位地図(日本地図)が表示されている。
図5(A)の画面で、ユーザは、305のオブジェクト、又は、エラー一覧表示領域304に表示されている2つカメラID、又は日時のうちいずれか1つを選択すると、次に、詳細の地図を、図5(B)の302のように表示する。図5(B)の302には、図5(A)の画面の302よりも詳細の地図が表示されている。
図5(B)の302では、より詳細な地図が表示されており、A工場、B工場、C工場、D工場が表示されている。そして、図5(B)の302内の305は、A工場でイベントが発生していることを示している。そして、その所定時間後に、図6(C)の302のように、より詳細の地図(A工場内の地図)を表示する。ここでは、A工場内に、A製品生産エリアと、B製品生産エリアとがあり、図6(C)の302内の2つ305は、A製品生産エリア、及びB製品生産エリアでイベントが発生していることを示している。また、図6(C)の画面では、メッセージ601の欄に、「A製品生産エリアとB製品生産エリアは異なるCADデータのマップであるため、どちらの映像を表示するかを選択してください。」とのメッセージを表示している。これにより、ユーザは、どちらかの場所を選択しなければならないことが分かる。
そして、ユーザにより、B製品生産エリアの305のオブジェクトを選択すると、図6(D)の302のように、より詳細の地図(B製品生産エリア内の地図)を表示する。
ここでは、B製品生産エリア内に、生産ラインCと、生産ラインDとがあり、生産ラインC上の装置Cを撮影するネットワークカメラ(カメラIDが3のカメラ)と、生産ラインD上の装置Dを撮影するネットワークカメラ(カメラIDが4のカメラ)とが表示されている。そして、図6(D)の302内の305は、カメラIDが4のカメラで撮影している装置Dにエラー等のイベントが発生したこと、あるいは、その装置Dの場所を撮影している当該カメラの映像を、映像表示領域303に表示することを示している。図6(D)の303には、カメラIDが4のネットワークカメラで撮影されている装置Dの映像が表示されている。
このように、ユーザが、図5(A)の画面で、305のオブジェクト、又は、エラー一覧表示領域304に表示されているカメラID、又は日時を選択すると、広域の地図から、段階的に、詳細の地図を自動的に表示するが、同時刻(同時間帯)に、複数のイベントが異なる場所で発生し、広域地図から段階的に詳細地図を表示する途中で、その複数のイベントが、複数の詳細地図に分かれる場合には、ユーザに、どの場所の映像を確認したいかを選択させて、表示する詳細地図を決めるため、ユーザは、どこの工場のどこの生産エリアのどこの生産ラインでエラー等のイベントが発生しているのかを確認することが出来ると共に、簡易な操作で、ユーザが確認したい場所の映像を確認し易くなる。
図5、6の例では、同時刻(同時間帯)に、複数のイベントが異なる場所で発生し、広域地図から段階的に詳細地図を表示する途中で、その複数のイベントが、複数の詳細地図に分かれる場合には、ユーザに、どの場所の映像を確認したいかを選択させて、表示する詳細地図を決める例について説明した。より具体的には、段階的に詳細地図を表示する途中の同一の地図上に、複数のイベントのオブジェクト305が表示される場合について説明した。
<図7、8説明>
次に、図7、図8を用いて、同時刻(同時間帯)に、複数のイベントが異なる場所で発生し、広域地図から段階的に詳細地図を表示する途中で、その複数のイベントが、複数の詳細地図に分かれる場合には、ユーザに、どの場所の映像を確認したいかを選択させて、表示する詳細地図を決める例について説明する。具体的には、段階的に詳細地図を表示する途中の同一の地図上に、複数のイベントのオブジェクト305が表示されない例(すなわち、複数のイベントが、複数の詳細地図に分かれ、同一地図上で選択できない場合の例)について説明する。
図7、図8は、クライアント端末104の表示部に表示される、ネットワークカメラで撮影された映像を表示するビューワーの表示の遷移の一例を示す図である。
図7(A)の304に示すように、カメラIDが1のカメラ、カメラIDが5のカメラの2箇所の場所で、同時刻(同時間帯)に、イベントが発生した状態での、詳細地図のドリルダウン表示について、説明する。
カメラIDが1のカメラは、上述の通り、A工場内のA製品生産エリアの生産ラインA上の装置Aを撮影しているカメラである。また、カメラIDが5のカメラは、A工場内のC製品生産エリアの生産ラインE上の装置Eを撮影しているカメラである。
カメラIDが1のカメラ、カメラIDが5のカメラの2箇所の場所で、同時刻(同時間帯)に、イベントが発生しているため、図6(C)の302に表示されたA製品生産エリアの地図と、図8(C)の302に表示されたC製品生産エリアの地図の2つの地図に別れてしまい、同一の地図上でオブジェクト305を選択することができない。
そこで、図7、図8の例では、図7(B)の画面で、エラー一覧表示領域304に表示されている2つカメラID、又は日時のうちいずれか1つを選択させて、表示する詳細地図を決める。
図7(A)の画面の302には、広域の上位地図(日本地図)が表示されている。
図7(A)の画面で、ユーザは、305のオブジェクト、又は、エラー一覧表示領域304に表示されている2つカメラID、又は日時のうちいずれか1つを選択すると、次に、詳細の地図を、図7(B)の302のように表示する。図7(B)の302には、図7(A)の画面の302よりも詳細の地図が表示されている。
図7(B)の302では、より詳細な地図が表示されており、A工場、B工場、C工場、D工場が表示されている。そして、図7(B)の302内の305は、A工場でイベントが発生していることを示している。
ここで、カメラIDが1のカメラ、カメラIDが5のカメラの2箇所の場所で、同時刻(同時間帯)に、イベントが発生しているため、次の詳細画面では、図6(C)の302に表示されたA製品生産エリアの地図と、図8(C)の302に表示されたC製品生産エリアの地図の2つの地図に別れてしまい、同一の地図上でオブジェクト305を選択することができない。そのため、図7(B)の画面に、メッセージ701の欄に、「・エラーコード1のエラーをA工場内のA製品生産エリアのカメラID:1のカメラで撮影しています。・また、エラーコード5のエラーをA工場内のC製品生産エリアのカメラID:5のカメラで撮影しています。・A製品生産エリアとC製品生産エリアは異なるCADデータのマップであるため、どちらの映像を表示するかを1つのマップ上で選択できません。そのため、どちらの映像を表示するかを、エラー一覧表示領域304から選択してください。」とのメッセージを表示する。
これにより、ユーザは、図7(B)のエラー一覧表示領域304から、これにより、ユーザは、どちらかの場所を選択しなければならないことが分かる。
そして、ユーザは、図7(B)のエラー一覧表示領域304に表示されている2つカメラID、又は日時のうちいずれか1つを選択すると、当該選択されたカメラIDを含む詳細地図を表示する。例えば、図7(B)のエラー一覧表示領域304の中のカメラID:5がユーザにより選択されると、カメラID:5のカメラを示す場所を含む、図8(C)の302のようなより詳細の地図を、表示する。そして、その所定時間後に、図8(D)の302のように、より詳細の地図(C製品生産エリアの地図)を表示する。ここでは、C製品生産エリア内に、生産ラインEがあり、生産ラインE上の装置Eを撮影するネットワークカメラ(カメラIDが5のカメラ)と、生産ラインE上の装置Eを撮影するネットワークカメラ(カメラIDが5のカメラ)とが表示されている。
そして、図8(D)の302内の305は、カメラIDが5のカメラで撮影している装置Dにエラー等のイベントが発生したこと、あるいは、その装置Dの場所を撮影している当該カメラの映像を、映像表示領域303に表示することを示している。図8(D)の303には、カメラIDが5のネットワークカメラで撮影されている装置Eの映像が表示されている。
このように、ユーザが、図7(A)の画面で、305のオブジェクト、又は、エラー一覧表示領域304に表示されているカメラID、又は日時を選択すると、広域の地図から、段階的に、詳細の地図を自動的に表示するが、同時刻(同時間帯)に、複数のイベントが異なる場所で発生し、広域地図から段階的に詳細地図を表示する途中の同一の地図上に、複数のイベントのオブジェクト305が表示されない場合(すなわち、複数のイベントが、複数の詳細地図に分かれ、同一地図上で選択できない場合)でも、ユーザに、どの場所の映像を確認したいかを選択させて、表示する詳細地図を決めることができる。
その結果、ユーザは、どこの工場のどこの生産エリアのどこの生産ラインでエラー等のイベントが発生しているのかを確認することが出来ると共に、簡易な操作で、ユーザが確認したい場所の映像を確認し易くなる。
<図9の説明>
図9は、管理サーバ103の記憶手段に記憶された各種テーブルの一例を示す図である。
図9に示す地図テーブル901は、「地図ID」、「地図ファイル」、「カメラID」、「表示座標」、
「上位地図ID」の項目から構成されている。
「地図ID」は、302に表示する地図を識別するための識別情報である。
「地図ファイル」は、当該地図IDにより識別される地図のデータ(地図ファイル)である。この地図ファイルは、例えば、CADデータとして生成されている。この地図は、オブジェクト305を配置した地図である。地図テーブル901に示す各地図ファイルには、複数の異なる縮尺の地図である。
「カメラID」は、ネットワークカメラ(本実施形態では、単にカメラとも言う)を識別するための識別情報であり、当該地図ファイルに含まれるカメラのカメラIDが格納されている。
「表示座標」は、当該地図ファイルの地図上に表示されるオブジェクト305の座標(カメラの座標(当該地図上の座標))である。
「上位地図ID」は、上位地図IDの1段階だけより広域の地図を識別する地図IDが記憶されている。
例えば、地図IDが1のレコードの地図ファイルは、「上位地図」というファイル名であり、当該上位地図上に、305のオブジェクトが(100、200)の位置に配置され表示されることを示している。また、このレコードの上位地図IDは、「‐」であるため、地図IDが1の地図ファイルの地図よりも、より広域の地図(上位地図)が無いことを示している。また、地図IDが1のレコードの地図ファイルには、カメラIDが1〜5のカメラが含まれていることを示している。すなわち、カメラIDが1〜5のカメラを1つのオブジェクト305でまとめ表示することを示している。
また、地図IDが2のレコードの地図ファイルは、「第1中位地図」というファイル名であり、当該第1中位地図上に、305のオブジェクトが(90、200)の位置に配置され表示されることを示している。また、このレコードの上位地図IDは、「1」であるため、地図IDが2の地図ファイルの地図よりも、より広域の地図は、「上位地図」であることを示している。また、地図IDが2のレコードの地図ファイルには、カメラIDが1〜5のカメラが含まれていることを示している。すなわち、カメラIDが1〜5のカメラを1つのオブジェクト305でまとめ表示することを示している。
また、カメラテーブル902は、「カメラID」、「日時(エラー日時)」の項目から構成されている。
「カメラID」は、エラー等のイベントが発生した場所を撮影しているカメラを識別するための識別情報である。また、「日時(エラー日時)」は、当該イベントが発生した日時を示している。
<図10の説明>
図10に示す各ステップの処理は、管理サーバ103の外部メモリ211に記録されているプログラムによる制御に従って、管理サーバ103のCPU201が実行する。
図10は、管理サーバ103のCPU201が実行する制御処理の一例を示すフローチャートである。
まず、管理サーバ103は、カメラテーブル902に記憶されている日時(エラー日時)のカメラIDを取得する。ここでの取得処理は、本発明の取得手段の適用例であり、複数のネットワークカメラでそれぞれ撮影される複数の場所のイベントを取得する。
そして、当該取得したカメラIDを含む地図テーブル901の各レコードのうち、最も上位の上位地図ID(上位地図IDが「‐」)のレコードを特定する。当該特定されたレコードの地図IDの地図ファイルを取得して当該地図を表示する(S1001)。本実施例で表示するということは、管理サーバ103が、当該表示のデータをクライアント端末104に送信して、クライアント端末104が当該データを受信して、当該データに従って表示するということである。S1001では、地図IDが1の上位地図を表示する(例えば、図3(A)等)。
そして、管理サーバ103は、ユーザによる、当該表示された地図上の305のオブジェクト、又は、エラー一覧表示領域304に表示されているカメラID、又は日時の選択を受け付ける。
管理サーバ103は、ユーザによる、当該表示された地図上の305のオブジェクト、又は、エラー一覧表示領域304に表示されているカメラID、又は日時の選択を受け付けたと判定された場合には(S1002:YES)、処理をS1003に移行する。また、S1002で受け付けていないと判定された場合には、処理をS1001に戻す。
管理サーバ103は、S1003において、S1002から処理を移行した場合には、S1001でカメラテーブル902から取得したカメラIDを含む、現在、表示している地図よりも下位の詳細地図があるか否かを判定する。具体的には、S1001でカメラテーブル902から取得したカメラIDを含み、現在表示されている地図の地図IDが上位地図IDである地図テーブル901のレコードがあるか否かを判定する。そして、現在、表示している地図よりも下位の詳細地図があると判定された場合には(YES)、処理をS1004に移行する。一方、現在、表示している地図よりも下位の詳細地図がないと判定された場合には(NO)、処理をS1016に移行して、現在選択中のカメラID(S1001でカメラテーブル902から取得したカメラID)のカメラで撮影された/撮影されている映像(動画)を映像表示領域303に表示する(S1016)。
また、管理サーバ103は、S1003において、後述するS1009、又はS1004でカメラIDが選択された場合には、当該選択されたカメラIDを含む、現在、表示している地図よりも下位の詳細地図があるか否かを判定する。具体的には、当該選択されたカメラIDを含み、現在表示されている地図の地図IDが上位地図IDである地図テーブル901のレコードがあるか否かを判定する。
管理サーバ103は、現在、処理対象としているカメラIDは1つであるか(エラー場所は1つであるか)否かを判定する(S1004)。現在、処理対象としているカメラIDは1つである(エラー場所は1つである)と判定された場合には(YES)、S1003で特定された、現在、表示している地図よりも下位の詳細地図を表示する(S1015)。
管理サーバ103は、現在、処理対象としているカメラIDは1つではなく複数である(エラー場所は1つではなく複数である)と判定された場合には(NO)、S1003で特定された、現在、表示している地図よりも下位の詳細地図は、複数のカメラID(複数のエラー箇所)を1箇所に表示する地図であるか、それとも、複数のエラー場所(カメラ場所)を同一地図上に個々に表示する地図であるかを判定する(S1005)。
ここで、複数のカメラID(複数のエラー箇所)を1箇所に表示する地図とは、例えば、図5(B)の305ように、現在処理対象のカメラIDが1、4の2つあるものの、地図上では1箇所しか、オブジェクト305を表示していない地図である。複数のカメラID(複数のエラー箇所)を1箇所に表示する地図であるか否かは、S1003で特定された、現在、表示している地図よりも下位の詳細地図の地図IDの地図テーブル901のレコードのカメラIDに、現在処理対象の複数のカメラIDが登録されているか否かで判定する。
また、ここで、個々に表示する地図とは、図6(C)の302の305のように、複数のオブジェクト305が、同一の地図上に、個々に表示される地図である。個々に表示する地図であるか否かの判定は、S1003で特定された、現在、表示している地図よりも下位の詳細地図の地図IDの地図テーブル901の各レコードに、それぞれ、現在処理対象のカメラIDが含まれているか否かで判定する。
管理サーバ103は、S1005で、S1003で特定された、現在、表示している地図よりも下位の詳細地図は、複数のカメラID(複数のエラー箇所)を1箇所に表示する地図であると判定された場合には(YES(1箇所))、処理をS1011に移行する。
管理サーバ103は、S1011において、S1003で特定された、現在、表示している地図よりも下位の詳細地図よりも1段階下位の詳細地図を特定する。具体的には、S1003で特定された、現在、表示している地図よりも下位の詳細地図の地図IDを上位地図IDとして含み、現在処理対象としているいずれか1つのカメラIDを含む地図テーブル901の全レコードの地図を特定する。そして、当該特定された地図が、複数の地図に分かれているか否かを判定する。具体的には、当該特定された地図(レコード)が、複数あるか否かを判定することで、当該特定された地図が、複数の地図に分かれているか否かを判定する(S1011)。
そして、管理サーバ103は、該特定された地図が、複数の地図に分かれていると判定された場合には(YES)、処理をS1013に移行して、S1003で特定された地図を302に表示する(例えば図7(B)の画面を表示する)。このとき表示される301の画面の701に示すメッセージを表示する。そして、管理サーバ103は、ユーザにより、304に表示されている複数のカメラIDのうち、いずれか1つのカメラIDの選択を受け付ける(S1014)。そして、管理サーバ103は、当該選択されたカメラIDを処理対象にして、処理をS1003に戻す。
また、管理サーバ103は、S1011において、複数の地図に分かれていないと判定された場合には(NO)、処理をS1012に移行して、S1003で特定された地図を302に表示する(例えば図5(B)の画面を表示する)ここで表示される画面には、メッセージ701は表示しない。そして、処理をS1003に戻す。
管理サーバ103は、S1005において、S1003で特定された、現在、表示している地図よりも下位の詳細地図は、個々に表示する地図(例えば、図6(C))であると判定された場合には(NO(個々))、当該個々に表示する地図よりも下位の詳細地図が、複数の地図に分かれているか否かを判定する(S1007)。具体的には、当該個々に表示する地図よりも下位の詳細地図の地図IDを上位地図IDとして含み、現在処理対象としているいずれか1つのカメラIDを含む地図テーブル901の全レコードの地図を特定する。そして、当該特定された地図が、複数の地図であるか否かを判定する。当該特定された地図が、複数の地図であるか否かを判定することで、当該個々に表示する地図よりも下位の詳細地図が、複数の地図に分かれているか否かを判定する。
そして、管理サーバ103は、当該個々に表示する地図よりも下位の詳細地図が、複数の地図に分かれていると判定された場合には(S1007:YES)、映像を選択する旨の図6(C)のメッセージ601を表示する共に、S1003で特定された下位の詳細地図(当該個々に表示する地図)を表示する(例えば、図6(C))(S1008)。
そして、管理サーバ103は、ユーザにより、A製品生産エリア、又はB製品生産エリアの305のオブジェクト(エラー場所、カメラ場所(カメラID))の選択を受け付ける(S1009)。そして、S1009で選択されたオブジェクトのカメラIDを処理対象にして、処理をS1003に移行する。
また、管理サーバ103は、当該個々に表示する地図よりも下位の詳細地図が、複数の地図に分かれていないと判定された場合には(S1007:NO)、映像を選択する旨の図6(C)のメッセージ601を含まない、S1003で特定された下位の詳細地図(当該個々に表示する地図)を表示する(例えば、図6(C)のメッセージ601を含まない画面)(S1010)。そして、処理をS1003に移行する。
管理サーバ103は、S1010、S1012、S1015の処理が実行されると、所定時間を経過した後に、処理をS1003に移行する。
以上の通り、図10に示す処理を実行することで、図3〜図8で説明した、地図の表示の遷移が可能となる。
図10の処理を実行することにより、S1015、S1012、S1010の処理を繰り返し実行することで、取得手段により取得した複数のイベントの場所を撮影する複数のネットワークカメラが設置された位置に、それぞれネットワークカメラを示すオブジェクトが配置された、記憶された広域の地図から、ユーザの操作を受け付けることなく、段階的に詳細の地図を表示する。この処理は、本発明の表示手段の適用例である。
また、S1007、S1011は、本発明の判定手段の適用例であり、取得手段により取得した複数のイベントの場所を撮影する複数のネットワークカメラが、互いに異なる詳細地図に配置されているか否かを判定する。
また、S1009、S1014は、本発明の選択受付手段の適用例であり、判定手段により、複数のネットワークカメラが、互いに異なる詳細地図に配置されていると判定された場合には、ユーザの操作により、当該複数のネットワークカメラの中からいずれかの選択を受け付ける。
そして、S1015の表示手段は、選択受付手段により選択を受け付けたネットワークカメラを示すオブジェクトが配置された地図から、段階的に詳細の地図を表示する。
また、S1015、S1012、S1010の表示手段は、S1007、S1011の判定手段により、複数のネットワークカメラが、互いに異なる詳細地図に配置されていないと判定された場合には、取得手段により取得した複数のイベントの場所を撮影する複数のネットワークカメラが設置された位置に、それぞれネットワークカメラを示すオブジェクトが配置された、記憶手段に記憶された広域の地図から、ユーザの操作を受け付けることなく段階的に詳細の地図を表示する。
また、メッセージ601、メッセージ701の表示は、判定手段により、複数のネットワークカメラが、互いに異なる詳細地図に配置されていると判定された場合に、当該複数のネットワークカメラのうちいずれかの選択要求をユーザに通知する通知手段の適用例である。
そのため、ユーザは、どこの工場のどこの生産エリアのどこの生産ラインでエラー等のイベントが発生しているのかを確認することが出来ると共に、そのイベントが発生している場所の映像を303に表示するため、実際の映像を確認して、どのようなイベントが発生しているのかを確認し易くなる。
また、同時刻(同時間帯)に、複数のイベントが異なる場所で発生し、広域地図から段階的に詳細地図を表示する途中で、その複数のイベントが、複数の詳細地図に分かれる場合には、ユーザに、どの場所の映像を確認したいかを選択させて、表示する詳細地図を決めるため、ユーザは、どこの工場のどこの生産エリアのどこの生産ラインでエラー等のイベントが発生しているのかを確認することが出来ると共に、簡易な操作で、ユーザが確認したい場所の映像を確認し易くなる。
また、同時刻(同時間帯)に、複数のイベントが異なる場所で発生し、広域地図から段階的に詳細地図を表示する途中の同一の地図上に、複数のイベントのオブジェクト305が表示されない場合(すなわち、複数のイベントが、複数の詳細地図に分かれ、同一地図上で選択できない場合)でも、ユーザに、どの場所の映像を確認したいかを選択させて、表示する詳細地図を決めることができる。
以上、本発明によれば、簡易な操作で、イベントが発生している場所の確認容易性を向上させると共に、ユーザが確認したい場所の映像を確認し易くすることが出来る。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。このプログラムコードを読み出し実行可能な情報処理装置(コンピュータ)が前述した実施形態の機能を実現する。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。