前記判定手段により前記画像データに映っていると判定された人物が、当該判定手段により前記画像データに映らなくなったと判定されるまでの間に、前記画像データの取得要求を受け付けた場合に、取得要求元に対して、前記エリアに人物がいなくなった旨の通知を行なう通知手段を備えることを特徴とする請求項4乃至6のいずれか1項に記載の情報処理装置。
前記表示制御手段は、前記画像データに映っている人物をマスクした画面を表示し、更に、前記カウント手段によるカウントした使用実績によって、当該マスクの色を変えることにより、前記人物の前記所定のエリアの継続した使用実績を識別可能となるようにした前記画面を表示するように制御することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
前記カウント手段によりカウントした使用実績が所定の値を越える場合に、その旨を報知する報知手段を備えることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
前記管理手段で管理する前記画像データ1つに複数の人物が映っていると判定された場合に、前記カウント手段は、人物ごとに使用実績をカウントすることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0016】
以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の1つである。
【0017】
まず、
図1を用いて、本発明の実施形態におけるモニタリングシステムの全体構成の一例について説明する。
【0018】
本発明の実施形態におけるモニタリングシステム(情報処理システム)は、サーバ100、クライアントPC101、ネットワークカメラ102が、無線(、または有線)LAN120を介して通信接続可能に接続されている。尚、
図1のシステム構成は一例であり、用途や目的に応じて様々な構成例がある。
【0019】
サーバ100は、ネットワークカメラ102において撮影された画像データを記憶管理する。また、サーバ100は、当該サーバ100で記憶管理する画像データを解析し、画像データに含まれるユーザの特定や、当該ユーザがネットワークカメラで撮影しているエリアにとどまっている時間をカウントする。さらに、サーバ100は、カウントした時間が所定時間以上となった場合に、通知する機能を有する。
【0020】
本発明の実施形態におけるモニタリングシステムは、ネットワークカメラ102を複数含み、また、TCP/IPプロトコルで通信を行っており、各ネットワークカメラ102には、固定のIPアドレスが独自に割り当てられると共に、ネットワーク群毎に割り当てられた外部ポート番号が割り当てられている。
【0021】
従って、サーバ100では、受信した画像データが何れのネットワークカメラ102から送信されたものなのかを識別することが可能であり、受信した画像データと何れのネットワークカメラ102から送信されたものなのかを対応づけて記憶管理することが可能である。
【0022】
ネットワークカメラ102は、例えば、企業の建物のフロアの打ち合わせスペース(以下、「フリースペース」や、単に「スペース」ともいう)ごとに設けられ、各打ち合わせスペースに出入りするユーザを撮影する。
【0023】
クライアントPC101は、サーバ100で管理する画像データ(ネットワークカメラ102の映像)をユーザが閲覧するために用いられる。ユーザは、クライアントPC101を介して、モニタリングシステムにログインすることにより、画像データの閲覧が可能となる。ユーザは画像を閲覧することで、打ち合わせスペースにユーザがいるかを確認することができる。以上で、
図1の説明を終了する。
【0024】
次に、
図2を用いて、
図1に示したサーバ100、クライアントPC101に適用可能な情報処理装置のハードウェア構成の一例について説明する。
【0025】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0026】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、ロードしたプログラムを実行することで各種動作を実現するものである。
【0027】
また、205は入力コントローラで、キーボード(KB)209等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、
図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。
【0028】
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0029】
208は通信I/Fコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0030】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0031】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる設定ファイル等も外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上で、
図2の説明を終了する。
【0032】
次に、
図3を用いて、
図1に示したネットワークカメラ102のハードウェア構成の一例について説明する。
図3は、ネットワークカメラ102のハードウェアの構成を示す構成図である。
【0033】
CPU301は、システムバス304に接続される各デバイスやコントローラを統括的に制御する。また、ROM302あるいは外部メモリ305には、CPU301の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、画像処理サーバ108の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM303は、CPU301の主メモリ、ワークエリア等として機能する。
【0034】
CPU301は、処理の実行に際して必要なプログラム等をRAM303にロードして、プログラムを実行することで各種動作を実現するものである。
【0035】
メモリコントローラ(MC)306は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ、画像データ等を記憶するハードディスク(HD)やPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリやスマートメディア(登録商標)等の外部メモリ305へのアクセスを制御する。
【0036】
カメラ部307は、画像処理部308と接続されており、監視対象に対して向けられたレンズを透過して得られた光をCCDやCMOS等の受光セルによって光電変換を行った後、RGB信号や補色信号を画像処理部308に対して出力する。
【0037】
画像処理部308は、RGB信号や捕色信号に基づいて、ホワイトバランス調整、ガンマ処理、シャープネス処理を行い、更に、YC信号処理を施して輝度信号Yとクロマ信号(以下、YC信号)を生成し、YC信号を所定の圧縮形式(例えばJPEGフォーマット、あるいはMotionJPEGフォーマット等)で圧縮し、この圧縮されたデータは、画像データとして外部メモリ305へ一時保管される。
【0038】
通信I/Fコントローラ(通信I/FC)309は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行しており、外部メモリ305に記憶された画像データは、通信I/Fコントローラ309によって外部機器へ送信される。以上で、
図3の説明を終了する。
【0039】
次に、
図4を用いて、本発明の実施形態におけるモニタリングシステムが導入された建物のフロアの一例を示す。
図4は、フロアを上から見た図である。
【0040】
図4に示すとおり、フロア400は、各スペース401(点線の枠内が1つのスペース)が、入り口を除いてパーテーションで区切られている。
【0041】
そして、各スペース401にネットワークカメラ102が、スペース401全体を撮影できるように設置されている。また、スペース401には机402が配置されている。403は、スペース401にいるユーザを示す。
【0042】
本発明の実施形態におけるモニタリングシステムでは、スペース401は、システムから予約して利用する形態ではなく、空いていれば誰でも自由に使うことが出来る、いわゆる「フリースペース」である。
【0043】
そのため、仮に、ネットワークカメラ102がない場合には、例えば、フロア400とは別のフロアにいるユーザが、スペース401を使いたいときには、フロア400まで移動してスペース401が空いているかを確認する必要があり、もし空いていない場合には、一旦戻るか、空くまで待機する必要があるため、非常に手間であった。
【0044】
そこで、発明の実施形態におけるモニタリングシステムでは、ネットワークカメラ102をスペース401に設置し、クライアントPC101を介してユーザがネットワークカメラ102の画像データ(映像)を確認可能とすることで、上述した手間を解消することを可能としている。
【0045】
しかしながら、クライアントPC101を介してユーザがネットワークカメラ102の画像データを確認可能としたとしても、映像からは、スペース401を利用しているユーザがどのくらいの時間スペース401を占有しているか分からないため、結局、ユーザは小まめに画像データを確認する必要があり手間である。
【0046】
そこで、本発明の実施形態におけるモニタリングシステムでは、サーバ100がネットワークカメラから取得した画像データを解析し、スペース401にユーザがいるかを判定し、ユーザがいる場合には、スペースにいる時間をカウントして、クライアントPC101を介してユーザからネットワークカメラ102の画像データの閲覧要求を受けると、カウントした時間の情報を用いて、スペース401にいるユーザの滞在時間をユーザが認識可能となるようにネットワークカメラ102の画像データの閲覧画面を生成する。
【0047】
そうすることにより、ユーザはスペース401が空くおおよその時間の検討が付くため、空くぐらいの時間帯に、ネットワークカメラ102の画像データを確認するだけで良くなり、画像データ確認の手間を削減することが可能となる。
【0048】
なお、本実施形態では、各スペース401をパーテーションで物理的に区切ることで、スペース401を区分けしているが、他の実施形態として、ネットワークカメラ102でフロア400を撮影することにより得られる画像データをサーバ100が解析し、例えば、当該画像データの中から机や椅子を特定することで、机1つにつき1つのスペース401と設定することも可能である。そうすることで、パーテーションで物理的に区切ることなく各スペース401を区分けすることが可能となる。
【0049】
なお、机や椅子の特定方法は、机や椅子を撮影した複数の画像データをあらかじめサーバ100に取り込み机や椅子を学習させることで特定する方法等が考えられる。
【0050】
スペース401にいるユーザの滞在時間をユーザが認識可能となるように生成されたネットワークカメラ102の画像データの閲覧画面とは、例えば、
図5〜7に示す画面である。
【0051】
では、ここから、
図5〜7を用いて、ネットワークカメラ102の画像データの閲覧画面の一例について説明する。
【0052】
図5は、クライアントPC101からの要求に従って、サーバ100が生成し、クライアントPC101のディスプレイ210に表示される画面の一例である。
【0053】
図6は、クライアントPC101からの要求に従って、サーバ100が生成し、クライアントPC101のディスプレイ210に表示される画面の一例であり、
図5の画面の他の実施形態である。
【0054】
本発明の実施形態では、
図5、および
図6は、実際のフロア400をイラスト化した画面を想定しているが、他の実施形態として、フロア400全体を撮影可能なネットワークカメラ102をフロア400に設置し、当該ネットワークカメラ102で撮影した実際の画像データを
図5、および
図6のように画面に表示しても良い。
【0055】
また、フロア400全体を撮影可能なネットワークカメラ102をフロア400に設置する場合には、スペース401ごとにネットワークカメラ102を設置することなく、フロア400全体を撮影可能なネットワークカメラ102で各スペース401を順次撮影するように当該ネットワークカメラ102のプリセットを設定することで、各スペース401を使用するユーザの使用実績をカウントすることが可能となる。
【0056】
フロア500は、フロア400に対応するエリアを示している。机アイコン506は、机402に対応するアイコンである。スペース501は、スペース401に対応するエリアを示している。
【0057】
スペース名502は、各スペース501を識別するための名前を示している。ネットワークカメラアイコン504は、各スペースに設置されたネットワークカメラ102に対応するアイコンである。
【0058】
ユーザアイコン503は、サーバ100がネットワークカメラから取得した画像データを解析した結果、スペース401にユーザがいると判定された場合に、対応するスペース501上に配置されるアイコンである。スペース401に複数人いる場合には、ユーザアイコン503は、複数配置される。
【0059】
また、ユーザアイコン503は、ユーザアイコン503で示されるユーザが、スペース401に滞在している時間によって色が変化し、それぞれの色がどれ位の時間経過を示しているかは、凡例505を確認することで、ユーザは認識することが出来る。なお、本実施形態では、ユーザが滞在している時間によって色が変化するとしたが、時間経過をユーザが認識できれば良く、
図6の滞在時間601、滞在時間602に示すように、滞在時間をユーザアイコン503の近くに表示しても良い。
【0060】
図6では、ユーザアイコン503の色を変化させる代わりに、ユーザアイコン503の近くに滞在時間601、滞在時間602を表示させている。また、滞在時間601、滞在時間602に示すように、複数人いる場合には、それぞれのユーザアイコン503の下に滞在時間を表示させる。
【0061】
図5、
図6に示す画面は、スペース501を使用しているユーザの滞在時間の画面をスペース501ごとに生成して表示する場合(例えば
図7)と異なり、各スペース501を使用しているユーザの滞在時間を一度に確認することが可能となるため、ユーザにとって視認性が向上するという効果がある。
【0062】
図7は、
図5、および
図6の画面上で、ユーザ操作に従って、スペース名502、またはネットワークカメラアイコン504が選択されることでクライアントPC101のディスプレイ210に表示される、選択されたスペース501を撮影するネットワークカメラ102の画像データを表示する画面の一例である。
【0063】
スペース名701は、
図5、および
図6の画面上で、ユーザ操作に従って、選択されたスペース名502と同じスペース名が表示される。
【0064】
画像データエリア702は、スペース名701に示されるスペース401を撮影するネットワークカメラ102で撮影された画像データが表示される。
【0065】
ユーザ703は、ネットワークカメラ102で撮影した画像データに含まれるユーザを示している。なお、ユーザ703は、個人情報保護の観点から、サーバ100によって、個人が特定できないように匿名化処理(具体的には、例えばマスク処理)が行なわれている。
【0066】
また、匿名化処理を実行する際には、時間経過によって、ユーザが滞在している時間によってマスクの色を変える。なお、他の実施形態として、
図6の滞在時間602のように滞在時間を表示しても良い。
【0067】
なお、本発明の実施形態では、
図5、および
図6の画面上で、ユーザ操作に従って、スペース名502、またはネットワークカメラアイコン504が選択されることでクライアントPC101のディスプレイ210に
図7の画面が表示されるとしたが、他の実施形態として、
図5、および
図6の画面をクライアントPC101のディスプレイ210に表示することなく、代わりにスペース名の一覧画面を表示して、一覧から選択されたスペースを撮影するネットワークカメラ102の画像データを
図7の画面で表示しても良い。以上で、
図5〜7の説明を終了する。
【0068】
次に、
図8と
図12を用いて、本発明の実施形態において、スペース401を長時間使用しているユーザについて警告する方法について説明する。
【0069】
フリースペースは、ユーザが短時間で打ち合わせをするために設けられたスペースであるため、フリースペースを同じユーザが長時間使うことは好ましくない。
【0070】
そこで、本発明の実施形態では、サーバ100が同じユーザがスペース401に滞在している時間をカウントした結果が、所定時間以上である場合に、通知することで他のユーザにスペース401を譲るように促すことが可能となる。
【0071】
通知の手段としては、例えば、
図8に示す警告メールを、スペース401に長時間滞在していたユーザ、もしくは当該ユーザの所属する組織の所属長に対して送信することで通知する方法や、スペース401にスピーカーを設け、スピーカーから音で通知する方法が考えられる。
【0072】
警告メールをユーザに対して送信する場合には、まず、予め、当該スペース401を使う可能性のあるユーザ(例えば、企業であれば従業員)の顔を撮影した顔画像データ(顔画像データ1205)を、当該画像データに映るユーザ情報と紐付けてサーバ100の外部メモリ211で管理しておき、サーバ100がネットワークカメラ102から取得した画像データと、顔画像データ1205とを既知の技術を用いてマッチングすることにより、特定する。
【0073】
そして、次に、例えば
図12に示すユーザ情報テーブルを用いて、当該ユーザのメールアドレス(メールアドレス1202)、または当該ユーザの所属長のメールアドレス(メールアドレス1204)を特定し、メールを送信する。
【0074】
図12は、本発明の実施形態におけるユーザ情報テーブルの一例を示す図である。ユーザ情報テーブルはサーバ100の外部メモリ211に記憶される。
【0075】
ユーザ情報テーブルは、ユーザを示すユーザ名1201、ユーザ名1201に示されるユーザのメールアドレス1202、ユーザ名1201に示されるユーザの所属長を示す所属長名1203、所属長名1203に示される所属長のメールアドレス1204、ユーザ名1201に示されるユーザの顔画像データ1205が紐付けて登録されている。
以上で、
図8と
図12の説明を終了する。
【0076】
次に
図9を用いて、本発明の実施形態における、ユーザの滞在時間カウント処理の一例について説明する。
【0077】
図9のフローチャートで示す各処理は、サーバ100のCPU201が所定のプログラムを読み出して実行する処理である。
【0078】
ステップS901において、サーバ100は、ネットワークカメラ102を起動させ、ネットワークカメラ102からの画像データ(映像)を順次取得する(ステップS902)。
【0079】
ステップS902と、後述するステップS1102、ステップS1302、ステップS1402は、本発明における、所定のエリアを撮影する撮像手段で撮像した画像データを管理する管理手段の一例であり、所定のエリアを撮影する撮像手段で撮像した時系列の複数の画像データを管理する管理手段の一例である。
【0080】
ステップS903において、サーバ100は、ステップS902で順次取得した画像データを解析してユーザが映っているかを判定する。サーバ100は、ユーザが映っていれば、ステップS905に処理を移行し、ユーザが映っていなければステップS904に処理を移行する。
【0081】
ステップS903と、後述するステップS1103、ステップS1303は、本発明における、前記管理手段で管理する画像データに人物が映っているかを判定する判定手段の一例である。
【0082】
ステップS904において、サーバ100は、本処理の終了指示を、当該サーバ100と通信可能な管理者のクライアントPC101から受け付けたかを判定する。サーバ100は、終了指示を受け付けたならば本処理を終了し、終了指示を受け付けていなければステップS903に処理を戻す。
【0083】
ステップS905において、サーバ100は、ステップS903で映っていると判定されたユーザの滞在時間(使用実績ともいう)のカウントを開始する。なお、カウントした時間は、サーバ100の外部メモリ211に、ユーザが映っているスペースのスペース名502と紐付けて一時的に記憶する。
【0084】
ステップS905と、後述するステップS1105、ステップS1303は、本発明における、前記判定手段により、前記画像データに人物が映っていると判定された場合に、当該人物の映っている時間を計測する計測手段の一例であり、ステップS905と、後述するステップS1105、ステップS1303、ステップS1403は、本発明における、前記管理手段で管理する時系列の複数の画像データに映っている人物の認識結果を用いて、同一人物における前記所定のエリアの継続した使用実績をカウントするカウント手段の一例である。
【0085】
ステップS906において、サーバ100は、ステップS905におけるカウントにより特定される滞在時間が所定時間以上となったかを判定する。サーバ100は、滞在時間が所定時間以上であれば、ステップS907に処理を移行し、滞在時間が所定時間に満たなければ、ステップS908に処理を移行する。
【0086】
ステップS907において、サーバ100は、通知(報知)処理を行なう。通知処理は、具体的には、例えば、
図8に示す警告メールを、スペース401に長時間滞在していたユーザ、もしくは当該ユーザの所属する組織の所属長に対して送信することで通知する方法や、スペース401にスピーカーを設け、スピーカーから音で通知する方法が考えられる。
【0087】
ステップS908において、サーバ100は、ステップS903で映っていると判定されたユーザが離席したかを、ステップS902で順次取得した画像データにユーザが映らなくなったかによって判定する(映らなくなった場合に離席と判定)。
【0088】
サーバ100は、ユーザが離席したならばステップS909において、ステップS905で開始した滞在時間のカウントを一時停止し、ユーザが離席していなければステップS905に処理を戻す。
【0089】
ステップS910において、サーバ100は、ステップS903と同様に、ステップS902で順次取得した画像データ(具体的には、ステップS908でユーザが離席したと判定された以降にネットワークカメラ102で撮影された画像データ)を解析してユーザが映っているかを判定する。サーバ100は、ユーザが映っていれば、ステップS913に処理を移行し、ユーザが映っていなければステップS911に処理を移行する。
【0090】
ステップS911において、サーバ100は、ステップS908で離席と判定してから所定時間が経過したかを判定する。サーバ100は、所定時間経過したならば、ステップS912に処理を移行し、所定時間経過していなければ、ステップS910に処理を戻す。
【0091】
ステップS912において、サーバ100は、ユーザがスペース401の使用を止めたと判断し、ステップS905でカウントを開始した滞在時間をリセットし、ステップS903に処理を戻す。
【0092】
ステップS913において、サーバ100は、ステップS910で映っていると判定したユーザと、ステップS903で映っていると判定したユーザが同一ユーザであるかを判定し(本発明における同一判定手段)、同一ユーザであればステップS915に、同一ユーザでなければステップS914に処理を移行する。
【0093】
ステップS913の処理において、サーバ100がステップS910で映っていると判定したユーザと、ステップS903で映っていると判定したユーザが同一ユーザであるかを判定する方法としては、それぞれのステップで、ユーザが映っていると判定した画像データに映っているユーザの顔特徴量が互いに一致するかによって判定する方法や、ステップS908で離席と判定したタイミングで、机402上に、かばんやPCなどの物が残っているかを判定し、物が残っている場合には、ユーザは一時的に離席しているだけで戻ってくるだろうと推測し、ステップS913で映っていると判定されたユーザは、一時的に離席していたユーザが戻ってきた、つまり同一ユーザであると判定する方法が考えられる。
【0094】
ステップS914において、サーバ100は、ステップS903で映っていると判定されたユーザとは、別のユーザが映っていると判断して、ステップS905でカウントを開始した滞在時間をリセットし、0からカウントを開始して、処理をステップS905に移行する。
【0095】
ステップS915において、サーバ100は、ステップS909で一時停止した滞在時間のカウントを再開して、処理をステップS905に移行する。
【0096】
なお、本実施形態では、ステップS908で離席と判定した場合、滞在時間のカウントを一時停止するとしたが、他の実施例として、滞在時間のカウントを一時停止することなく継続しても良い。以上で、
図9の説明を終了する。
【0097】
次に
図10を用いて、本発明の実施形態における、ユーザ操作に従って選択されたスペース401を撮影するネットワークカメラ102の画像データを表示する表示処理の一例について説明する。
【0098】
図10のフローチャートで示す各処理は、サーバ100のCPU201、またはクライアントPC101のCPU201が所定のプログラムを読み出して実行する処理である。
【0099】
なお、
図10の処理はステップS1001でクライアントPC101からサーバ100に対してログイン要求が行われたタイミングで開示されるため、
図9の処理の途中に開始されることもある。
【0100】
ステップS1001において、クライアントPC101は、ユーザ操作に従って、ユーザのユーザIDや、パスワード等の認証情報を含む、モニタリングシステムへのログイン要求をサーバ100に対して行なう。
【0101】
ステップS1002において、サーバ100は、ステップS1001でクライアントPC101から送信されたログイン要求に従ってモニタリングシステムへのログイン処理を実行する。具体的には、サーバ100は、クライアントPC101から送信されたログイン要求に含まれるユーザIDと、パスワードが、サーバ100の外部メモリ211で管理するユーザID、パスワードと一致するかを判定してログインを許可するか拒否する処理を行なう。
【0102】
ステップS1003において、サーバ100は、各スペース401の滞在時間のカウント状況を外部メモリ211から取得する。
【0103】
ステップS1004において、サーバ100は、ステップS1003で取得した各スペース401の滞在時間のカウント状況を用いて、
図5、または
図6に示す画面を生成し、クライアントPC101に送信する。
【0104】
ステップS1005において、クライアントPC101は、ステップS1004でサーバ100から送信された画面を、クライアントPC101のディスプレイ210に表示する。
【0105】
ステップS1006において、クライアントPC101は、ステップS1005でディスプレイ210に表示した
図5、または
図6に示す画面上で、ユーザから閲覧を希望するスペース名502の選択を受け付ける。
【0106】
ステップS1007において、クライアントPC101は、ステップS1006で選択を受け付けたスペース名502の情報をサーバ100に送信する。
【0107】
ステップS1008において、サーバ100は、ステップS1007でクライアントPC101から送信されたスペース名502の情報を受信し、ステップS1009において、当該スペース名502に示されるスペース401を撮影するネットワークカメラ102の映像を含む画面(例えば、
図7)を生成して、クライアントPC101に送信する。
【0108】
ステップS1010において、クライアントPC101は、ステップS1009でサーバ100から送信された画面を受信し、クライアントPC101のディスプレイ210に表示する。
【0109】
ステップS1010は、本発明における、前記画像データの取得要求に従って、当該画像データを含む画面を表示するように制御する表示制御手段であって、前記計測手段による計測結果を用いて、前記人物の映っている時間を識別可能となるように前記画面を表示するように制御する表示制御手段の一例であり、ステップS1005と、ステップS1010は、本発明における、前記カウント手段によるカウント結果を表示するように制御する表示制御手段の一例である。以上で
図10の説明を終了する。
【0110】
次に
図11を用いて、本発明の実施形態における、ユーザの滞在時間カウント処理の他の実施形態について説明する。
【0111】
図9では、サーバ100は、ステップS912の処理を終了すると(つまり、スペース401にいたユーザがスペース401からいなくなった場合)、ステップS903に処理を移行していたが、本実施形態では、スペース401からユーザがいなくなると、当該スペース401を次に利用しようと思っていたと思われるユーザ、つまりスペース401にユーザがいるときに、クライアントPC101を介して、当該スペース401の画像データを閲覧していたユーザに、スペース401が空いたことを通知する。
【0112】
図11のフローチャートで示す各処理は、サーバ100のCPU201が所定のプログラムを読み出して実行する処理である。
【0113】
なお、
図11の処理を実現するために、本実施形態では、ステップS1006でユーザ操作に従ってスペースの選択を受け付けると、選択を受け付けたスペースのスペース名502と、選択を行なったユーザのユーザ名1201と、選択を行なったユーザが複数いる場合には、選択を行なったユーザの順番とを、サーバ100の外部メモリ211で紐付けて管理する。
【0114】
ステップS1101〜ステップS1115までの各処理は、
図9のステップS901〜ステップS915までの各処理と同じ処理であるため説明は省略する。
【0115】
ステップS1116において、サーバ100は、ステップS1103でユーザが映っていると判定してから、ステップS1112の処理が実行されるまでの間に、
図10のステップS1006で、当該ユーザが映っているスペース401の選択を行なったユーザがいるかを判定する。
図10のステップS1006で、スペース401の選択を行なったユーザがいる場合には、ステップS1117に処理を移行し、スペース401の選択を行なったユーザがいない場合には、ステップS1103に処理を移行する。
【0116】
ステップS1117において、サーバ100は、
図12のユーザ情報テーブルを参照し、
図10のステップS1006で、スペース401の選択を行なったユーザのユーザ名1201と紐付くメールアドレス1202に対して、スペース401が空いた旨のメールを送信する。なお、スペース401の選択を行なったユーザが複数いる場合には、選択を行なったユーザ順にメールを送信する。以上で
図11の説明を終了する。
【0117】
次に
図13を用いて、本発明の実施形態における、ユーザの滞在時間カウント処理の他の実施形態について説明する。
【0118】
本実施形態では、スペース401に複数人のユーザがいる場合に、全てのユーザが揃ったと思われるタイミングから滞在時間のカウントを開始する。
【0119】
なぜなら、通常複数人で打ち合わせを行う場合には、全員が揃ってから開始するはずであり、一人目が来たタイミングから滞在時間をカウントしてしまうと、滞在時間が長時間であったとしても、打ち合わせが始まってからの時間はそれほど経過していないという状況が起こる可能性があり、その状況で、もし経過時間を確認したユーザがいた場合、そろそろ空きそうだと勘違いしてしまう恐れがある。
【0120】
そのため、本実施形態では、全てのユーザが揃ったと思われるタイミングから滞在時間のカウントを開始する。
【0121】
図13のフローチャートで示す各処理は、サーバ100のCPU201が所定のプログラムを読み出して実行する処理である。
【0122】
ステップS1301〜ステップS1315までの各処理は、
図9のステップS901〜ステップS915までの各処理と同じ処理であるため説明は省略する。
【0123】
ステップS1316において、サーバ100は、ステップS1305でカウントを開始した滞在時間が、ステップS1317、ステップS1318の処理を実行するかの判定基準となる所定の時間を経過したかを判定する。サーバ100は、所定の時間を経過した場合には、ステップS1306に処理を移行し、所定の時間を経過していない場合には、ステップS1317に処理を移行する。
【0124】
ステップS1317において、サーバ100は、ネットワークカメラ102から取得した画像データに映っているユーザの人数が増加したかを判定する。
【0125】
サーバ100は、ユーザの人数が増加したならば、ステップS1318に処理を移行し、増加していなければ、ステップS1316に処理を戻す。
【0126】
ステップS1318において、サーバ100は、ステップS1305でカウントを開始した滞在時間をリセットし、0からカウントを開始する。
【0127】
なお、
図13に示す実施形態の場合、ステップS1308において、サーバ100は、ネットワークカメラ102から取得した画像データに映っていると判定されたユーザ全員が離席したかを判定し、1人でも離席していなければ、ステップS1305に処理を戻す。ステップS1305に処理を戻す場合、ステップS1316〜ステップS1318までの処理は行なわない。
以上で
図13の説明を終了する。
【0128】
次に、
図14を用いて、本発明の実施形態における、
図9に示したユーザの滞在時間カウント処理とカウント方法が異なる他の実施形態について説明する。
図14は、ユーザのフリースペースの使用実績カウント処理の一例を示す図である。
【0129】
本実施形態では、ユーザの滞在時間のカウントするのではなく、ネットワークカメラ102で所定のタイミングごと(例えば1分経過毎)に撮影された画像データをサーバ100が取得し、取得した画像データに同一ユーザが映っている回数をサーバ100がカウントする。
【0130】
図14のフローチャートで示す各処理は、サーバ100のCPU201が所定のプログラムを読み出して実行する処理である。
【0131】
ステップS1401〜ステップS1404までの各処理は、
図9のステップS901〜ステップS904までの各処理と同じ処理であるため説明は省略する。
【0132】
ステップS1405において、サーバ100は、ステップS1403で映っていると判定されたユーザの映った回数のカウントを開始する。より具体的には、ステップS1402でネットワークカメラ102から順次取得した画像データにユーザが初めて映ったときに1回目のカウントを行い、ユーザが初めて映った画像データの次の画像データにも当該ユーザが映っていれば「+1」カウントし、以降ユーザが連続して映っている限りカウントを1ずつ加算していく。
【0133】
なお、カウントした回数は、サーバ100の外部メモリ211に、ユーザが映っているスペースのスペース名502と紐付けて一時的に記憶する。
【0134】
ステップS1405は、本発明における、前記管理手段で管理する時系列の複数の画像データに映っている人物の認識結果を用いて、同一人物における前記所定のエリアの継続した使用実績をカウントするカウント手段の一例である。
【0135】
ステップS1406において、サーバ100は、ステップS1405でカウントし、サーバ100の外部メモリ211に記憶されるカウント回数があらかじめ設定された所定の回数(例えば60回)以上となったかを判定する。サーバ100は、カウント回数が所定の回数以上であれば、ステップS1407に処理を移行し、カウント回数が所定の回数に満たなければ、ステップS1408に処理を移行する。
【0136】
ステップS1407において、サーバ100は、通知(報知)処理を行なう。通知処理は、具体的には、例えば、
図8に示す警告メールを、スペース401に長時間滞在していたユーザ、もしくは当該ユーザの所属する組織の所属長に対して送信することで通知する方法や、スペース401にスピーカーを設け、スピーカーから音で通知する方法が考えられる。
【0137】
ステップS1408において、サーバ100は、ステップS1403で映っていると判定されたユーザが離席したかを、ステップS1402で順次取得した画像データにユーザが映らなくなったかによって判定する(映らなくなった場合に離席と判定)。
【0138】
サーバ100は、ユーザが離席したならばステップS1409に処理を移行し、ステップS1405で開始したカウントを一時停止し、ユーザが離席していなければステップS1405に処理を戻す。
【0139】
ステップS1409において、サーバ100は、ステップS1403と同様に、ステップS1402で順次取得した画像データ(具体的には、ステップS1408でユーザが離席したと判定された以降にネットワークカメラ102で撮影された画像データ)を解析してユーザが映っているかを判定する。
【0140】
サーバ100は、ユーザが映っていれば、ステップS1412に処理を移行し、ユーザが映っていなければステップS1410に処理を移行する。
【0141】
なお、ユーザが映っていないと判定した場合、サーバ100は、ユーザが映っていない回数をカウントし、サーバ100の外部メモリ211に、ユーザが映っていないスペースのスペース名502と紐付けて一時的に記憶する。
【0142】
ステップS1410において、サーバ100は、ステップS1408でユーザが離席したと判定した以降にネットワークカメラ102で撮影された画像データにユーザが連続して映ってない回数が所定回数以上であるかを、ステップS1409でサーバ100の外部メモリ211に記憶した回数を参照することにより特定する。
【0143】
サーバ100は、ユーザが連続して映ってない回数が所定回数以上であれば、ステップS1411に処理を移行し、所定回数未満であればステップS1409に処理を移行する。
【0144】
ステップS1411において、サーバ100は、ユーザがスペース401の使用を止めたと判断し、ステップS1405でカウントを開始しサーバ100の外部メモリ211に記憶した回数をリセットし、ステップS1403に処理を戻す。
【0145】
ステップS1412において、サーバ100は、ステップS1410で映っていると判定したユーザと、ステップS1403で映っていると判定したユーザが同一ユーザであるかを判定し、同一ユーザであればステップS1414に、同一ユーザでなければステップS1413に処理を移行する。
【0146】
ステップS1413において、サーバ100は、ステップS1403で映っていると判定されたユーザとは、別のユーザが映っていると判断して、ステップS1405でカウントを開始しサーバ100の外部メモリ211に記憶した回数をリセットし、0からカウントを開始して、処理をステップS1405に移行する。
【0147】
ステップS1414において、サーバ100は、ステップS1405でカウントを開始しサーバ100の外部メモリ211に記憶した回数のカウントを再開し、ステップS1405に移行する。
以上で
図14の説明を終了する。
【0148】
なお、
図11のステップS1105、および
図13のステップS1305を
図14のステップS1405に、
図11のステップS1106、および
図13のステップS1306を
図14のステップS1406に、
図11のステップS1111、および
図13のステップS1311を
図14のステップS1410に、
図11のステップS1112、および
図13のステップS1312を
図14のステップS1411に、
図11のステップS1114、および
図13のステップS1314を
図14のステップS1413に、
図11のステップS1115、および
図13のステップS1315を
図14のステップS1414に処理を変更することで、
図11、
図13の実施形態に
図14の実施形態を適用する(ユーザの滞在時間のカウントするのではなく、同一ユーザが映っている回数をカウントする)ことが可能である。
また、ユーザの滞在時間のカウントするのではなく、同一ユーザが映っている回数をカウントする場合、
図5〜
図7の画面では、例えばカウントされた回数によってユーザアイコン503やマスクの色を変えたり、カウントされた回数を滞在時間602の代わりに表示したりする。
【0149】
以上、本発明によると、同一人物における所定のエリアの継続した使用実績を容易に把握することができる。
【0150】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0151】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0152】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0153】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0154】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0155】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0156】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0157】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0158】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0159】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0160】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。