(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】監視用デバイス、監視システム、プログラム、および方法
(51)【国際特許分類】
H04N 7/18 20060101AFI20230816BHJP
G06F 11/30 20060101ALI20230816BHJP
【FI】
H04N7/18 D
H04N7/18 K
G06F11/30 155
(21)【出願番号】P 2020164043
(22)【出願日】2020-09-29
【審査請求日】2022-02-16
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】小嶋 修
(72)【発明者】
【氏名】和田 篤士
【審査官】益戸 宏
(56)【参考文献】
【文献】特許第6573297(JP,B1)
【文献】米国特許出願公開第2017/0257223(US,A1)
【文献】特表平04-504794(JP,A)
【文献】特開2014-160394(JP,A)
【文献】特開2001-016574(JP,A)
【文献】特開2020-010204(JP,A)
【文献】特許第6695534(JP,B1)
【文献】特表2000-500889(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/18
G08B 13/00
G08B 25/00
G06T 7/00
G06F 11/30
(57)【特許請求の範囲】
【請求項1】
監視対象の画像を解析するために実行されるべき監視ロジックを受信する監視ロジック受信部と、
監視カメラにより撮影された画像を受信する画像受信部と、
監視プログラムを実行する監視プログラム実行部と、
前記監視プログラムによる指定に応じて前記監視ロジックを実行して、前記画像を解析する監視ロジック実行部と、
前記監視ロジック実行部による前記監視ロジックの実行量を計測する利用計測部と、
前記監視ロジックの実行に応じた課金処理を行う装置に対して、計測した前記実行量を送信する実行量送信部と
を備える監視用デバイス。
【請求項2】
前記画像受信部は、有線または無線ネットワークを介して前記監視カメラから前記画像を受信し、
前記監視用デバイスは、監視結果を監視システムに送信する監視結果送信部を更に備える
請求項1に記載の監視用デバイス。
【請求項3】
前記利用計測部は、前記監視ロジック実行部が前記監視ロジックを呼び出した回数に基づく前記実行量を計測する請求項1
または2に記載の監視用デバイス。
【請求項4】
前記利用計測部は、前記監視ロジックに前記画像が入力されてから前記監視ロジックの解析結果が出力されるまでの時間に基づく前記実行量を計測する請求項1
または2に記載の監視用デバイス。
【請求項5】
前記監視カメラより撮影された撮影画像から、前記監視ロジックが解析すべき対象画像を抽出する画像抽出部を更に備え、
前記監視ロジック実行部は、前記監視ロジックを実行して前記対象画像を解析する
請求項1から
4のいずれか一項に記載の監視用デバイス。
【請求項6】
前記画像抽出部は、前記撮影画像から、複数の前記対象画像を抽出し、
前記監視ロジック実行部は、抽出された各対象画像について、複数の前記監視ロジックのうち当該対象画像の種類に応じた監視ロジックを実行する
請求項
5に記載の監視用デバイス。
【請求項7】
監視プログラムを実行する監視用デバイス上で
前記監視プログラムによる指定に応じて監視対象の画像を解析するために実行されるべき監視ロジックの提供を受けたことに応じて、前記監視ロジックを登録する監視ロジック登録部と、
少なくとも1つの前記監視用デバイスを登録する監視用デバイス登録部と、
前記少なくとも1つの監視用デバイスのそれぞれに対して、各監視用デバイスで実行させる前記監視ロジックを配信する監視ロジック配信部と、
前記少なくとも1つの監視用デバイスのそれぞれにおける前記監視ロジックの実行量を、各監視用デバイスから受信する実行量受信部と、
前記少なくとも1つの監視用デバイスのそれぞれについて、受信された前記実行量に応じた課金処理を行う課金処理部と
を備える監視システム。
【請求項8】
前記監視用デバイスは、有線または無線ネットワークを介して監視カメラから前記画像を受信し、監視結果を前記監視システムに送信する請求項7に記載の監視システム。
【請求項9】
前記監視用デバイス登録部は、複数のアカウントのそれぞれについて、当該アカウントで使用する前記少なくとも1つの監視用デバイスを登録し、
前記課金処理部は、前記複数のアカウントのそれぞれについて、当該アカウントで使用する前記少なくとも1つの監視用デバイスのそれぞれから受信された前記実行量に基づいて、当該アカウントに対する課金処理を行う
請求項
7または8に記載の監視システム。
【請求項10】
前記監視用デバイスから監視結果を受信する監視結果受信部と、
前記監視結果に応じた監視処理を行う監視処理部と
を更に備える請求項
7から9のいずれか一項に記載の監視システム。
【請求項11】
前記監視用デバイスで実行される、前記監視ロジックを用いた監視を行う監視プログラムの作成を支援するプログラミング支援部を更に備える請求項
7から
10のいずれか一項に記載の監視システム。
【請求項12】
コンピュータにより実行され、コンピュータを、
監視対象の画像を解析するために実行されるべき監視ロジックを受信する監視ロジック受信部と、
監視カメラにより撮影された画像を受信する画像受信部と、
監視プログラムを実行する監視プログラム実行部と、
前記監視プログラムによる指定に応じて前記監視ロジックを実行して、前記画像を解析する監視ロジック実行部と、
前記監視ロジック実行部による前記監視ロジックの実行量を計測する利用計測部と、
前記監視ロジックの実行に応じた課金処理を行う装置に対して、計測した前記実行量を送信する実行量送信部と
して機能させるためのプログラム。
【請求項13】
コンピュータにより実行され、コンピュータを、
監視プログラムを実行する監視用デバイス上で
前記監視プログラムによる指定に応じて監視対象の画像を解析するために実行されるべき監視ロジックの提供を受けたことに応じて、前記監視ロジックを登録する監視ロジック登録部と、
少なくとも1つの前記監視用デバイスを登録する監視用デバイス登録部と、
前記少なくとも1つの監視用デバイスのそれぞれに対して、各監視用デバイスで実行させる前記監視ロジックを配信する監視ロジック配信部と、
前記少なくとも1つの監視用デバイスのそれぞれにおける前記監視ロジックの実行量を、各監視用デバイスから受信する実行量受信部と、
前記少なくとも1つの監視用デバイスのそれぞれについて、受信された前記実行量に応じた課金処理を行う課金処理部と
して機能させるためのプログラム。
【請求項14】
監視用デバイスが、監視対象の画像を解析するために実行されるべき監視ロジックを受信することと、
前記監視用デバイスが、監視カメラにより撮影された画像を受信することと、
前記監視用デバイスが、監視プログラムを実行することと、
前記監視用デバイスが、
前記監視プログラムによる指定に応じて前記監視ロジックを実行して、前記画像を解析することと、
前記監視用デバイスが、前記監視ロジックの実行量を計測することと、
前記監視用デバイスが、前記監視ロジックの実行に応じた課金処理を行う装置に対して、計測した前記実行量を送信することと
を備える方法。
【請求項15】
監視システムが、
監視プログラムを実行する監視用デバイス上で
前記監視プログラムによる指定に応じて監視対象の画像を解析するために実行されるべき監視ロジックの提供を受けたことに応じて、前記監視ロジックを登録することと、
前記監視システムが、少なくとも1つの前記監視用デバイスを登録することと、
前記監視システムが、前記少なくとも1つの監視用デバイスのそれぞれに対して、各監視用デバイスで実行させる前記監視ロジックを配信することと、
前記監視システムが、前記少なくとも1つの監視用デバイスのそれぞれにおける前記監視ロジックの実行量を、各監視用デバイスから受信することと、
前記監視システムが、前記少なくとも1つの監視用デバイスのそれぞれについて、受信された前記実行量に応じた課金処理を行うことと
を備える方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視用デバイス、監視システム、プログラム、および方法に関する。
【背景技術】
【0002】
従来、スタンドアローンの監視カメラ、またはネットワークに接続可能な監視カメラ(例えば、特許文献1参照)を用いた監視が行われている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2015-162232号公報
【発明の概要】
【0003】
本発明の第1の態様においては、監視用デバイスを提供する。監視用デバイスは、監視対象の画像を解析するために実行されるべき監視ロジックを受信する監視ロジック受信部を備えてよい。監視用デバイスは、監視カメラにより撮影された画像を受信する画像受信部を備えてよい。監視用デバイスは、監視ロジックを実行して、画像を解析する監視ロジック実行部を備えてよい。監視用デバイスは、監視ロジック実行部による監視ロジックの実行量を計測する利用計測部を備えてよい。監視用デバイスは、監視ロジックの実行に応じた課金処理を行う装置に対して、計測した実行量を送信する実行量送信部を備えてよい。
【0004】
利用計測部は、監視ロジック実行部が監視ロジックを呼び出した回数に基づく実行量を計測してよい。
【0005】
利用計測部は、監視ロジックに画像が入力されてから監視ロジックの解析結果が出力されるまでの時間に基づく実行量を計測してよい。
【0006】
監視用デバイスは、監視カメラより撮影された撮影画像から、監視ロジックが解析すべき対象画像を抽出する画像抽出部を更に備えてよい。監視ロジック実行部は、監視ロジックを実行して対象画像を解析してよい。
【0007】
画像抽出部は、撮影画像から、複数の対象画像を抽出してよい。監視ロジック実行部は、抽出された各対象画像について、複数の監視ロジックのうち当該対象画像の種類に応じた監視ロジックを実行してよい。
【0008】
本発明の第2の態様においては、監視システムを提供する。監視システムは、監視対象の画像を解析するために監視用デバイス上で実行されるべき監視ロジックの提供を受けたことに応じて、監視ロジックを登録する監視ロジック登録部を備えてよい。監視システムは、少なくとも1つの監視用デバイスを登録する監視用デバイス登録部を備えてよい。監視システムは、少なくとも1つの監視用デバイスのそれぞれに対して、各監視用デバイスで実行させる監視ロジックを配信する監視ロジック配信部を備えてよい。監視システムは、少なくとも1つの監視用デバイスのそれぞれにおける監視ロジックの実行量を、各監視用デバイスから受信する実行量受信部を備えてよい。監視システムは、少なくとも1つの監視用デバイスのそれぞれについて、受信された実行量に応じた課金処理を行う課金処理部を備えてよい。
【0009】
監視用デバイス登録部は、複数のアカウントのそれぞれについて、当該アカウントで使用する少なくとも1つの監視用デバイスを登録してよい。課金処理部は、複数のアカウントのそれぞれについて、当該アカウントで使用する少なくとも1つの監視用デバイスのそれぞれから受信された実行量に基づいて、当該アカウントに対する課金処理を行ってよい。
【0010】
監視システムは、監視用デバイスから監視結果を受信する監視結果受信部を備えてよい。監視システムは、監視結果に応じた監視処理を行う監視処理部を備えてよい。
【0011】
監視システムは、監視用デバイスで実行される、監視ロジックを用いた監視を行う監視プログラムの作成を支援するプログラミング支援部を備えてよい。
【0012】
本発明の第3の態様においては、コンピュータにより実行されるプログラムを提供する。プログラムは、コンピュータを、監視対象の画像を解析するために実行されるべき監視ロジックを受信する監視ロジック受信部として機能させてよい。プログラムは、コンピュータを、監視カメラにより撮影された画像を受信する画像受信部として機能させてよい。プログラムは、コンピュータを、監視ロジックを実行して、画像を解析する監視ロジック実行部として機能させてよい。プログラムは、コンピュータを、監視ロジック実行部による監視ロジックの実行量を計測する利用計測部として機能させてよい。プログラムは、コンピュータを、監視ロジックの実行に応じた課金処理を行う装置に対して、計測した実行量を送信する実行量送信部として機能させてよい。
【0013】
本発明の第4の態様においては、コンピュータにより実行されるプログラムを提供する。プログラムは、コンピュータを、監視対象の画像を解析するために監視用デバイス上で実行されるべき監視ロジックの提供を受けたことに応じて、監視ロジックを登録する監視ロジック登録部として機能させてよい。プログラムは、少なくとも1つの監視用デバイスを登録する監視用デバイス登録部として機能させてよい。プログラムは、少なくとも1つの監視用デバイスのそれぞれに対して、各監視用デバイスで実行させる監視ロジックを配信する監視ロジック配信部として機能させてよい。プログラムは、少なくとも1つの監視用デバイスのそれぞれにおける監視ロジックの実行量を、各監視用デバイスから受信する実行量受信部として機能させてよい。プログラムは、少なくとも1つの監視用デバイスのそれぞれについて、受信された実行量に応じた課金処理を行う課金処理部として機能させてよい。
【0014】
本発明の第5の態様においては、方法を提供する。方法は、監視用デバイスが、監視対象の画像を解析するために実行されるべき監視ロジックを受信することを備えてよい。方法は、監視用デバイスが、監視カメラにより撮影された画像を受信することを備えてよい。方法は、監視用デバイスが、監視ロジックを実行して、画像を解析することを備えてよい。方法は、監視用デバイスが、監視ロジックの実行量を計測することを備えてよい。方法は、監視用デバイスが、監視ロジックの実行に応じた課金処理を行う装置に対して、計測した実行量を送信することを備えてよい。
【0015】
本発明の第6の態様においては、方法を提供する。方法は、監視システムが、監視対象の画像を解析するために監視用デバイス上で実行されるべき監視ロジックの提供を受けたことに応じて、監視ロジックを登録することを備えてよい。方法は、監視システムが、少なくとも1つの監視用デバイスを登録することを備えてよい。方法は、監視システムが、少なくとも1つの監視用デバイスのそれぞれに対して、各監視用デバイスで実行させる監視ロジックを配信することを備えてよい。方法は、監視システムが、少なくとも1つの監視用デバイスのそれぞれにおける監視ロジックの実行量を、各監視用デバイスから受信することを備えてよい。方法は、監視システムが、少なくとも1つの監視用デバイスのそれぞれについて、受信された実行量に応じた課金処理を行うことを備えてよい。
【0016】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0017】
【
図2】本実施形態に係る監視用デバイス104の構成を示す。
【
図3】本実施形態に係る監視用デバイス104の動作フローを示す。
【
図4】本実施形態に係る監視システム150の構成を示す。
【
図5】本実施形態において、監視ロジック登録部405によって登録された監視ロジックのリストの一例を示す。
【
図6】本実施形態のロジック提供端末120における、監視ロジックの提供に関する動作フローを示す。
【
図7】本実施形態の監視システム150における、監視プログラムおよび監視制御プログラムの作成に関する動作フローを示す。
【
図8】本実施形態の監視システム150における、監視に関する動作フローを示す。
【
図9】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。
【発明を実施するための形態】
【0018】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0019】
図1は、本実施形態に係る監視環境10を示す。監視環境10は、例えば特定エリアの警備または監視に関する情報処理の少なくとも一部を、そのエリアの警備等のために設置される監視用デバイス104a~bでのエッジコンピューティングにより実現することを可能とする。監視環境10は、1または複数の監視エリア100(監視エリア100a~c)と、ネットワーク110と、1または複数のロジック提供端末120(ロジック提供端末120a~b)と、1または複数の開発用端末130(開発用端末130a~c)と、1または複数の監視端末140(監視端末140a~c)と、監視システム150とを備える。
【0020】
各監視エリア100は、警備または監視の対象となるエリアである。本実施形態では一例として、監視エリア100は、設備の敷地であるが、車道や歩道などであってもよい。設備は、プラントでもよいし、学校や住宅、駅、空港、博物館、病院、店舗(一例として飲食店、小売店)などであってもよいし、テーマパークや遊園地、それらのアトラクション用施設などであってもよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。各監視エリア100は、互いに異なる企業または個人(「テナント」とも示す。)によって運営または使用されてよい。
【0021】
各監視エリア100には、1または複数の監視カメラ102(監視カメラ102a~d)と、1または複数の監視用デバイス104(監視用デバイス104a~b)とが設けられる。各監視カメラ102は、監視エリア100内を撮影して撮影画像を出力する。ここで、撮影画像は、静止画像であってよく、動画像であってもよい。
【0022】
各監視用デバイス104は、1または2以上の監視カメラ102に接続され、接続された各監視カメラ102から撮影画像を受け取る。本実施形態においては、各監視用デバイス104は、PoE(Power over Ethernet(登録商標))またはその他のイーサネット(登録商標)等により、有線で各監視カメラ102に接続される。これに代えて、各監視用デバイス104は、携帯通信ネットワークまたはワイヤレスLAN等の無線ネットワークを介して監視カメラ102に接続されてもよい。本図の例において、監視エリア100a内の監視用デバイス104aは監視カメラ102aおよび監視カメラ102bに接続され、監視用デバイス104bは監視カメラ102cおよび監視カメラ102dに接続される。また、各監視用デバイス104は、監視エリア100内に設置された、開閉センサ、マイク、指紋認証センサ、加速度センサ、速度センサ、温度センサ、圧力センサ、流量センサ、または振動センサ等のセンサ機器または音響機器等に接続されてもよい。
【0023】
各監視用デバイス104は、接続先の監視カメラ102から受け取った撮影画像を解析する。各監視用デバイス104は、ネットワーク110に接続され、ネットワーク110を介して、撮影画像を解析して得られた監視結果を監視システム150へと送信する。本実施形態において、監視用デバイス104は、接続先の監視カメラ102を、ネットワーク110を介して監視システム150に接続するためのゲートウェイ装置として機能する。これに代えて、監視用デバイス104は、監視カメラ102と一体化されたカメラ装置の一部として機能してもよい。
【0024】
ネットワーク110は、インターネットまたはWAN等の広域ネットワークであってよい。ネットワーク110は、携帯通信ネットワーク等を含む無線ネットワークであってよく、これに代えて、ネットワーク110は、有線のインターネット等を含む有線ネットワークであってもよい。
【0025】
各ロジック提供端末120は、ネットワーク110に接続され、監視用デバイス104で実行される監視処理の一部の機能を担う監視ロジックを提供する提供者によって使用される。ここで、監視ロジックは、監視処理のためのプログラム、ライブラリ、または処理モデル等のソフトウェアであってよい。ロジック提供端末120は、ネットワーク110を介して監視システム150に接続して、提供する監視ロジックを監視システム150に登録する。監視ロジックの提供者は、監視エリア100を監視する企業または個人に対して有償または無償で監視ロジックを提供するベンダまたはプロバイダであってよい。
【0026】
各開発用端末130は、ネットワーク110を介して監視システム150に接続され、1または複数の監視エリア100の警備または監視のために監視システム150および各監視用デバイス104で実行するべき監視アプリケーションを開発するために使用される。このような監視アプリケーションは、各監視用デバイス104で実行される監視プログラムと、ロジック提供端末120から提供されて各監視用デバイス104で実行される監視ロジックと、監視システム150で実行される監視制御プログラムとを含む。監視環境10が複数のテナントをサポートする場合、それぞれのテナントに対して専用の少なくとも1つの開発用端末130が設けられてよい。
【0027】
各監視端末140は、ネットワーク110を介して監視システム150に接続される。各監視端末140は、1または複数の監視エリア100の警備または監視を行うために監視システム150が出力する監視画面を表示し、警備員または監視員からの指示を入力して監視システム150へと供給する。監視環境10が複数のテナントをサポートする場合、それぞれのテナントに対して専用の少なくとも1つの監視端末140が設けられてよい。
【0028】
監視システム150は、ネットワーク110に接続される。監視システム150は、ロジック提供端末120から提供される監視ロジックを登録し、開発用端末130を用いた監視アプリケーションの開発において利用可能とする。監視システム150は、一括して管理すべき1または2以上の監視エリア100について、これらの監視エリア100を監視するための監視アプリケーションをこれらの監視エリア100内の各監視用デバイス104と分担して実行し、監視画面を監視端末140へと出力する。監視システム150は、警備会社によって運用されてよく、警備会社による警備の対象となる各企業または各個人の監視エリア100の監視を一括して担ってよい。これに代えて、監視システム150は、各テナントが自己のアカウントを用いてログインして、各自の監視エリア100に専用の監視アプリケーションを実行可能な監視プラットフォームを提供してもよい。
【0029】
図2は、本実施形態に係る監視用デバイス104の構成を示す。本実施形態において、監視用デバイス104は、各監視カメラ102と監視システム150との間のゲートウェイ装置として機能する、プロセッサおよび通信インターフェイスを備える専用コンピュータにより実現される。これに代えて、監視用デバイス104は、PC(パーソナルコンピュータ)等のコンピュータにより実現されてもよい。監視用デバイス104は、システム側通信部200と、監視機器側通信部230と、監視プログラム実行部250と、監視ロジック実行部270と、利用計測部280とを備える。
【0030】
システム側通信部200は、ネットワーク110に接続され、ネットワーク110を介して監視システム150と通信する。システム側通信部200は、監視プログラム受信部203と、監視ロジック受信部205と、制御受信部210と、監視結果送信部215と、実行量送信部220とを有する。監視プログラム受信部203は、監視ロジックを用いてこの監視用デバイス104の担当範囲内での監視を行う監視プログラムを監視システム150から受信する。監視ロジック受信部205は、監視対象の画像を解析するためにこの監視用デバイス104で実行されるべき監視ロジックを監視システム150から受信する。制御受信部210は、監視制御プログラムを実行する監視システム150から監視用デバイス104への制御指令を受信する。監視結果送信部215は、監視用デバイス104における監視結果を監視システム150へと送信する。実行量送信部220は、監視用デバイス104内において計測された監視ロジックの実行量を、監視ロジックの実行に応じた課金処理を行う装置の一例としての監視システム150に対して送信する。
【0031】
監視機器側通信部230は、各監視カメラ102に接続され、各監視カメラ102と通信する。監視機器側通信部230は、画像受信部235と、制御送信部240とを有する。画像受信部235は、各監視カメラ102により撮影された画像を受信する。制御送信部240は、監視カメラ102に対する制御指令を制御対象の監視カメラ102へと送信する。
【0032】
監視プログラム実行部250は、システム側通信部200および監視機器側通信部230に接続される。監視プログラム実行部250は、システム側通信部200内の監視プログラム受信部203が受信した監視プログラムを受け取って実行する。本実施形態において、監視プログラム実行部250は、監視用デバイス104のメインプロセッサを含み、メインプロセッサで監視プログラムを実行してよい。監視プログラム実行部250は、画像抽出部255と、監視処理部260とを有する。
【0033】
画像抽出部255は、各監視カメラ102より撮影された撮影画像から、監視ロジックが解析すべき対象画像を抽出する。画像抽出部255は、撮影画像から、例えば人物または動物が写っている領域、人物の顔が写っている領域、車両が写っている領域、車両のナンバープレートが写っている領域、またはその他の監視すべき対象が写っている領域のうちの少なくとも1つを抽出して、監視ロジックに供給する対象画像とする。ここで、撮影画像が動画像の場合、画像抽出部255は、撮影画像から、例えば人物または動物が写っているフレームを抽出して対象画像としてもよく、さらにこのフレームから人物または動物が写っている領域を抽出して対象画像としてもよい。また、画像抽出部255は、撮影画像中の監視すべき対象が写っている領域に対して拡大、縮小、または回転等の変換処理を行って、監視ロジックが入力可能とする画像の形式に適合する対象画像を抽出してもよい。画像抽出部255は、撮影画像から、複数の対象画像を抽出してもよい。画像抽出部255は、監視プログラム実行部250が監視プログラムを実行したことによって監視プログラムにより指定される領域を、対象画像の抽出対象としてよい。
【0034】
監視処理部260は、画像抽出部255に接続され、監視プログラムに従って、各対象画像に対する監視処理を行う。監視処理部260は、監視プログラム中に監視ロジックの呼び出し命令がある場合には、監視ロジック実行部270に対して監視ロジックを呼び出すことを指示して監視ロジック実行部270により対象画像を解析させる。ここで、監視用デバイス104に少なくとも1つのセンサ機器または音響機器が接続されている場合、監視処理部260は、監視プログラムにプログラムされた監視処理のフローに従って、これらのセンサ機器または音響機器からの入力も用いて監視処理を行ってよい。
【0035】
また、監視処理部260は、制御受信部210を介して監視システム150からの制御指令を受け取って、制御指令に応じた制御を行ってよい。例えば、監視処理部260は、制御指令に応じて、過去にいずれかの監視カメラ102から受信した撮影画像を監視システム150へと送信する等の監視用デバイス104に関する制御を行ってよい。また、監視処理部260は、監視システム150からの指示に応じて、少なくとも1つの監視カメラ102に対して、撮影オン/オフ、向き、ズーム、解像度、または、各種の設定を行うための制御指令を制御送信部240を介して送信して、監視カメラ102を制御してもよい。監視処理部260は、監視プログラムを実行して得られる監視用デバイス104側での監視結果を、監視結果送信部215を介して監視システム150へと送信する。
【0036】
監視ロジック実行部270は、監視ロジックを呼び出す指示を監視処理部260から受け取って、監視ロジックを実行して画像を解析する。本実施形態において、監視ロジック実行部270は、監視用デバイス104のサブプロセッサまたはアクセラレータを含み、サブプロセッサまたはアクセラレータで監視ロジックを実行してよい。ここで、このようなサブプロセッサまたはアクセラレータは、AI(Artificial Intelligence)処理専用のハードウェアであってもよく、監視ロジックは、このようなAI処理専用のハードウェアに学習済みのAI処理を実行させるためのプログラム、またはモデルパラメータのセットであってよい。
【0037】
例えば、監視ロジックは、全結合型のニューラルネットワーク、またはCNN(Convolutional Neural Network)等のニューラルネットワークを用いたモデルを実装する。監視ロジック実行部270は、このような監視ロジックを実行することにより、対象画像の各画素値を入力層の各ニューロンに入力し、入力層から出力層までの各層について各ニューロンに対する複数の入力値から各ニューロンの出力値を算出する。監視ロジック実行部270は、出力層の各ニューロンからの出力値を監視ロジックによる監視結果として出力してよく、出力層の各ニューロンからの出力値を予め定められたアルゴリズムによって出力用に処理して監視結果として出力してもよい。なお、監視ロジックは、サポートベクタマシン(SVM)、ランダムフォレスト、勾配ブースティング、ロジスティック回帰、または強化学習等を含む他の任意の機械学習アルゴリズムを実装したものであってもよい。
【0038】
このように、監視ロジック実行部270は、監視ロジックを実行することにより、画像抽出部255によって抽出された対象画像を解析する。これに代えて、監視ロジック実行部270は、画像抽出部255を介さず撮影画像全体またはその一部を受け取って、監視ロジックを実行して受け取った画像を解析してもよい。
【0039】
複数の対象画像がある場合、監視ロジック実行部270は、各対象画像について、複数の監視ロジックのうち当該対象画像の種類に応じた監視ロジックを実行してよい。例えば、画像抽出部255が監視プログラムでの指示に応じて撮影画像から人物の顔を含む対象画像および車のナンバープレートを含む対象画像を抽出した場合、監視ロジック実行部270は、人物の顔画像を解析して人物を特定する監視ロジックと、車のナンバープレートの画像を解析して車のナンバーを特定する監視ロジックとを別々に呼び出して実行してよい。監視ロジック実行部270は、監視ロジックによる解析結果を監視処理部260に送信する。
【0040】
利用計測部280は、監視ロジック実行部270による監視ロジックの実行量を計測する。本実施形態において、利用計測部280は、監視プログラム実行部250および監視ロジック実行部270の間に接続され、監視プログラム実行部250から監視ロジック実行部270への監視ロジックの呼び出し指示および監視ロジック実行部270から監視プログラム実行部250への解析結果の返信を中継する。これに代えて、利用計測部280は、監視プログラム実行部250または監視ロジック実行部270のいずれか一方に接続されて、監視プログラム実行部250で実行される監視プログラムまたは監視ロジック実行部270で実行される監視ロジックのいずれかをモニタリングして監視ロジックの実行量を計測してもよい。また、監視システム150は、監視プログラム中の監視ロジックの呼び出し前または呼び出し後に利用計測部280による計測を呼び出すためのコードを埋め込むことにより、監視用デバイス104が監視ロジックを呼び出す前後に利用計測部280を呼び出すようにしてもよい。
【0041】
図3は、本実施形態に係る監視用デバイス104の動作フローを示す。ステップ300(S300)において、監視プログラム受信部203は、監視システム150から監視プログラムを受信する。監視プログラム実行部250は、監視プログラムを監視用デバイス104内の記憶領域に格納して、監視プログラム実行部250で実行可能となるように設定する。
【0042】
S310において、監視ロジック受信部205は、監視用デバイス104での使用が予定されている1または複数の監視ロジックを監視システム150から受信する。監視ロジック実行部270は、受信した監視ロジックを監視用デバイス104内の記憶領域に格納して、監視ロジック実行部270で実行可能となるように設定する。
【0043】
S320において、画像受信部235は、少なくとも1つの監視カメラ102から撮影画像を受信する。撮影画像が受信されたことに応じて、監視プログラム実行部250は、監視プログラムを起動し、または監視プログラムの動作を再開する。
【0044】
S330において、画像抽出部255は、監視プログラムによる指定に応じて、撮影画像から、いずれかの監視ロジックが解析すべき1または複数の対象画像を抽出する。S340において、監視処理部260は、監視プログラムによる指定に応じて、1または複数の対象画像について、その対象画像を解析する監視ロジックの呼び出しを監視ロジック実行部270に指示する。監視ロジック実行部270は、この指示を受けて、1または複数の対象画像を解析する1または複数の監視ロジックを呼び出す。
【0045】
S350において、監視ロジック実行部270は、呼び出した各監視ロジックを実行して各対象画像を解析する。監視ロジック実行部270は、各監視ロジックによる各対象画像の解析結果を監視処理部260へと返信する。S360において、監視処理部260は、各対象画像の解析結果に基づいて、監視用デバイス104の監視結果を生成する。例えば、監視処理部260は、監視ロジックが特定した人物が予め登録された人物でない場合、または監視ロジックが特定した車のナンバーが予め登録されたナンバーでない場合等において、監視エリア100内に不審者または不審車両が発見された旨の警告を監視システム150へと送信してよい。また、撮影画像中の人物の不審な動作を監視ロジックが検出した場合、監視処理部260は、不審な動作をしている人物がいる旨の警告を監視システム150へと送信してよい。また、監視処理部260は、このような警告の元となった撮影画像または対象画像を監視システム150へと送信してよい。
【0046】
S370において、利用計測部280は、監視ロジック実行部270による監視ロジックの実行量を計測する。一例として、利用計測部280は、監視ロジック実行部270が監視ロジックを呼び出した回数に基づく実行量を計測してよい。この場合、利用計測部280は、監視ロジック毎に、監視ロジック実行部270が監視ロジックによる解析結果を監視処理部260へと送信した回数をカウントしてよく、監視処理部260から監視ロジック実行部270へと監視ロジックの呼び出しを指示した回数をカウントしてもよい。
【0047】
また、利用計測部280は、監視ロジックに画像が入力されてから監視ロジックの解析結果が出力されるまでの時間に基づく実行量を計測してもよい。この場合、利用計測部280は、監視ロジック毎に、監視ロジック実行部270が監視ロジックを呼び出してから監視ロジック実行部270が解析結果を送信するまでの時間を計測し、その時間をその監視ロジックの実行量としてもよい。ここで、利用計測部280は、監視ロジック実行部270が複数の監視ロジックを時分割で実行している場合には、それぞれの監視ロジックの正味の実行時間を計測してよい。また、利用計測部280は、監視ロジック実行部270の性能を加味して、例えば監視ロジックの実行時間および監視ロジック実行部270の性能の積を実行量としてもよい。
【0048】
S380において、利用計測部280は、各監視ロジックの実行量を監視システム150へと送信する。ここで、利用計測部280は、各監視ロジックの実行量を監視ロジックの呼び出しの度に監視システム150へと通知せず、予め定められた時間間隔(例えば30分毎、1日毎等)または予め定められた実行回数毎に監視システム150へと通知してよい。
【0049】
S390において、システム側通信部200は、監視プログラムまたはいずれかの監視ロジックの更新があるかどうかを判断する。システム側通信部200は、監視プログラムまたは監視ロジックの更新有無を例えば定期的に監視システム150に確認してもよく、監視プログラムまたは監視ロジックが監視システム150から監視プログラム受信部203または監視ロジック受信部205へと送られてきているかを確認してもよい。監視プログラムまたは監視ロジックの更新がある場合(S390の「Y」)、監視用デバイス104は、処理をS300へと進める。監視プログラムまたは監視ロジックの更新がない場合、監視用デバイス104は、処理をS320へと進め、次に撮影画像を受信するまで待機してもよい。この場合、監視用デバイス104は、次に撮影画像を受信するまでの間、監視プログラムの実行をサスペンドしてよく、スリープ状態等に移行してもよい。
【0050】
以上に示した監視用デバイス104によれば、各監視カメラ102による撮影画像を監視用デバイス104で解析して監視用デバイス104における監視結果を監視システム150へと報告するので、全ての撮影画像を監視システム150へと送信して監視システム150側で解析する必要がなくなる。これにより、監視用デバイス104は、監視カメラ102および監視システム150の間のネットワークの負荷および監視システム150の処理負荷を低減することができる。また、監視用デバイス104は、各監視用デバイス104向けに開発した監視プログラムをインストールして実行することができるので、各監視エリア100、または各監視カメラ102の設置箇所に応じてカスタマイズした監視結果を監視システム150へと報告することができる。これに伴って、監視用デバイス104は、汎用の監視処理を行った場合と比較して、不要な情報を監視システム150へと報告する必要がなくなり、ネットワークの負荷を低減することができる。
【0051】
また、監視用デバイス104は、AIベンダ等の監視ロジックを利用して監視用デバイス104における監視処理を行うことができるので、監視アプリケーションの開発期間を短縮することができ、適切な監視ロジックの選択により監視の精度を高めることができる。また、監視用デバイス104は、監視ロジックの実行量を監視用デバイス104側で測定することができるので、監視ロジックが使用される度に監視システム150へと通知を送る場合と比較して、ネットワークの負荷を低減することができる。また、監視用デバイス104は、撮影画像から種類が異なる複数の対象画像を抽出する場合には、複数の対象画像のそれぞれに対して適切な監視ロジックを適用することができるので、各対象画像を効率良く解析することができ、撮影画像全体の監視の精度を高めることができる。
【0052】
図4は、本実施形態に係る監視システム150の構成を示す。本図に示した監視システム150は、
図2の監視用デバイス104と共に用いられてよく、
図2の監視用デバイス104とは異なる監視用デバイスと共に用いられてもよい。本実施形態においては、監視システム150は、
図2の監視用デバイス104と共に用いられる場合について例示する。
【0053】
監視システム150は、PC(パーソナルコンピュータ)、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、監視システム150は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、監視システム150は、監視用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。
【0054】
また、監視システム150は、インターネット等のネットワーク110を介して各監視用デバイス104に接続され、各監視エリア100を警備または監視するためのクラウドサービスを提供するクラウドコンピューティングシステムであってもよい。これに代えて、監視システム150は、その機能の一部が警備員または監視員が使用するタブレット型コンピュータまたはスマートフォンのような携帯端末によって実現されてもよい。
【0055】
監視システム150は、ロジック提供端末120向けの通信部400と、監視ロジック登録部405と、開発用端末130向けの通信部410と、監視用デバイス登録部415と、プログラミング支援部420と、監視用デバイス104向けの通信部430と、監視処理部460と、課金処理部470と、監視端末140向けの通信部480とを備える。通信部400は、ネットワーク110を介して1または複数のロジック提供端末120に接続され、各ロジック提供端末120と通信する。いずれかのロジック提供端末120が開発済みの監視ロジックを監視システム150に対して提供すると、通信部400は、提供された監視ロジックを受信する。
【0056】
監視ロジック登録部405は、通信部400に接続される。監視ロジック登録部405は、いずれかのロジック提供端末120から監視ロジックの提供を受けたことに応じて、監視ロジックを登録する。通信部410は、ネットワーク110を介して1または複数の開発用端末130に接続され、各開発用端末130と通信する。監視用デバイス登録部415は、各監視エリア100について、その監視エリア100内の各監視カメラ102に接続された少なくとも1つの監視用デバイス104の指定を開発用端末130から受けて、各監視エリア100に対応付けられた少なくとも1つの監視用デバイス104を登録する。
【0057】
プログラミング支援部420は、通信部410および監視用デバイス登録部415に接続される。プログラミング支援部420は、通信部410を介して1または複数の開発用端末130と通信し、開発用端末130を介して監視アプリケーションの開発を支援する。プログラミング支援部420は、監視アプリケーションのプログラミング環境、デバッグ環境、シミュレーション環境、各種のライブラリの提供機能、およびその他の機能を有する開発環境を開発用端末130のユーザに対して提供してよい。また、プログラミング支援部420は、開発用端末130のユーザからの操作を受けて、監視ロジック登録部405によって登録された複数の監視ロジックの中から、必要とする機能等のユーザの希望条件を満たす監視ロジックを検索する検索機能を有し、検索した監視ロジックを監視プログラムから呼び出せるようにリンクさせてよい。プログラミング支援部420は、このような開発環境を提供することにより、各監視用デバイス104で実行する監視プログラム、および監視システム150で実行する監視制御プログラムの開発を支援する。この開発支援において、プログラミング支援部420は、監視アプリケーションによる監視対象の各監視用デバイス104の識別情報を監視用デバイス登録部415から取得して、各監視用デバイス104で実行するべき監視プログラムの開発を支援してよい。なお、プログラミング支援部420は、1つの監視アプリケーションにおける監視対象の全ての監視用デバイス104に対して同一の監視プログラムを割り当ててもよく、各監視用デバイス104に対して異なる監視プログラムを割り当ててもよい。
【0058】
通信部430は、ネットワーク110を介して1または複数の監視用デバイス104に接続され、各監視用デバイス104と通信する。また、通信部430は、監視ロジック登録部405、プログラミング支援部420、監視処理部460、および課金処理部470に接続される。通信部430は、監視プログラム配信部435と、監視ロジック配信部440と、制御送信部445と、監視結果受信部450と、実行量受信部455とを有する。監視プログラム配信部435は、プログラミング支援部420に接続され、プログラミング支援部420を用いて開発された監視プログラムを、その監視プログラムを実行すべき監視用デバイス104へと配布する。
【0059】
監視ロジック配信部440は、監視ロジック登録部405およびプログラミング支援部420に接続される。監視ロジック配信部440は、プログラミング支援部420を用いて開発された監視プログラムが使用する少なくとも1つの監視ロジックの情報をプログラミング支援部420から取得し、これらの監視ロジックを監視ロジック登録部405から取得する。そして、監視ロジック配信部440は、この監視プログラムを実行する少なくとも1つの監視用デバイス104のそれぞれに対して、各監視用デバイス104で実行させる監視ロジックを配信する。
【0060】
制御送信部445は、監視処理部460に接続され、監視システム150で実行される監視制御プログラムの指示に応じて、監視用デバイス104またはその監視用デバイス104に接続された監視カメラ102に対する制御指令をその監視用デバイス104へと送信する。監視結果受信部450は、各監視用デバイス104から監視結果を受信する。実行量受信部455は、少なくとも1つの監視用デバイス104のそれぞれにおける監視ロジックの実行量を、各監視用デバイス104から受信する。
【0061】
監視処理部460は、監視結果受信部450に接続され、監視制御プログラムを実行する。監視処理部460は、監視制御プログラムに従って、監視結果受信部450により受信された監視結果に応じた監視処理を行う。監視処理部460は、監視制御プログラムに従って、例えば不審者が写るように監視カメラ102の向きを変えることを指示する等の、監視用デバイス104または監視カメラ102に対する制御指令を生成し、制御送信部445を介して対応する監視用デバイス104へと送信してよい。また、監視処理部460は、監視制御プログラムに従って、監視対象の監視エリア100の状況等を示す監視画面を生成してもよい。例えば監視処理部460は、不審者が発見された等の警告を監視用デバイス104から受信した場合には、その警告およびその不審者が写った撮影画像を監視画面に表示するための処理を行ってよい。また、監視処理部460は、警備員または監視員からの指示を監視端末140から受け取ったことに応じて、監視制御プログラムに従って指示に応じた処理を行う。
【0062】
課金処理部470は、実行量受信部455に接続される。課金処理部470は、少なくとも1つの監視用デバイス104のそれぞれについて、受信された実行量に応じた課金処理を行う。通信部480は、ネットワーク110を介して1または複数の監視端末140に接続される。また、通信部480は、監視処理部460および課金処理部470に接続される。通信部480は、監視処理部460が生成した監視画面を監視端末140へと送信し、監視端末140により表示させる。また、通信部480は、警備員または監視員によって監視端末140に入力された指示を監視端末140から受信し、監視処理部460へと供給する。また、通信部480は、課金処理部470による課金処理の結果を監視端末140へと送信する。
【0063】
図5は、本実施形態において、監視ロジック登録部405によって登録された監視ロジックのリストの一例を示す。監視ロジック登録部405は、各ロジック提供端末120から提供を受けた各監視ロジックについて、その監視ロジックの識別情報(図中「ロジックID」)、提供者の名称および連絡先等の情報(図中「プロバイダ」)、監視ロジックの機能についてのデスクリプションまたは説明等の情報(図中「機能」)、監視ロジックの入力パラメータに関する情報(図中「入力」)、監視ロジックの出力パラメータに関する情報(図中「
出力」)、監視ロジックの利用に対する課金に関する情報(図中「課金」)等の情報を記録する。
【0064】
本図の例において、ロジックIDが1の監視ロジックは、A社によって提供される。この監視ロジックは、顔認証機能を有し、画像を入力してその画像に含まれる顔の特徴ベクトルを出力する。この監視ロジックの実行に対しては、1認証あたり○円の課金が発生する。
【0065】
ロジックIDが2の監視ロジックは、B社によって提供される。この監視ロジックは、ナンバープレート認証機能を有し、画像を入力してその画像に含まれる車両のナンバープレートから車両ナンバーを読み取って出力する。この監視ロジックの実行に対しては、実行時間1秒あたり○円の課金が発生する。
【0066】
図6は、本実施形態のロジック提供端末120における、監視ロジックの提供に関する動作フローを示す。S600において、監視ロジックの提供者は、その提供者のロジック提供端末120またはそのロジック提供端末120に接続された他のコンピュータ等を使用して、監視ロジックを作成する。S610において、ロジック提供端末120は、提供者による操作を受けて、監視ロジックを監視システム150へとアップロードして監視システム150に登録させる。ここで監視システム150は、監視ロジックの登録処理において、監視ロジックの登録画面をロジック提供端末120に表示させ、登録画面上で監視ロジックに関する各種の情報(例えば
図5に示した各情報)の入力を受け付けること等により、監視ロジックに関する情報を取得してよい。
【0067】
S620において、監視ロジックの提供者は、自己の監視ロジックの実行量に応じた課金の少なくとも一部を監視ロジックの使用料として受け取る。監視ロジックの使用料が銀行等による振込によって送金される場合、ロジック提供端末120は、監視システム150または銀行等から送金レポートを受け取ってよい。
【0068】
図7は、本実施形態の監視システム150における、監視プログラムおよび監視制御プログラムの作成に関する動作フローを示す。本動作フローにおいては、監視システム150が、1または複数のテナントのそれぞれに対してアカウントを割り当て、そのアカウントを用いたアクセスを受けて、そのテナント向けの監視アプリケーションを開発するための開発環境を提供する場合について示す。
【0069】
S700において、監視システム150は、あるテナントの開発用端末130から、そのテナントに割り当てられたアカウントへのログインを受け付ける。監視システム150は、アカウントへのログイン認証が成功したことに応じて、そのテナント向けの監視アプリケーションの開発環境を立ち上げて、開発環境の画面を開発用端末130へと出力する。
【0070】
S710において、監視用デバイス登録部415は、通信部410を介して開発用端末130から、そのアカウントで使用する少なくとも1つの監視用デバイス104の登録要求を受け取る。監視用デバイス登録部415は、登録要求を受けたことに応じて、これらの少なくとも1つの監視用デバイス104を、このアカウントで使用可能な監視用デバイス104として登録する。監視用デバイス登録部415は、複数のアカウントのそれぞれについて、当該アカウントで使用する少なくとも1つの監視用デバイス104を登録することにより、アカウント毎に異なる監視エリア100に配置された、アカウント毎に異なる少なくとも1つの監視用デバイス104を登録することができる。
【0071】
S720において、プログラミング支援部420は、開発用端末130への入出力を介したユーザとのインタラクションを通じて、そのアカウントで使用する各監視用デバイス104で実行されるべき監視プログラムの作成およびデバッグを支援する。プログラミング支援部420は、監視プログラム中において特定の監視ロジックを呼び出すようにプログラムされると、その監視ロジックを監視プログラムの呼び出し対象として監視プログラムに対応付ける。S730において、プログラミング支援部420は、開発用端末130への入出力を介したユーザとのインタラクションを通じて、そのアカウントについて監視システム150で実行する監視制御プログラムの作成およびデバッグを支援する。
【0072】
S740において、監視プログラム配信部435は、作成済みの監視プログラムを、その監視プログラムを実行すべき各監視用デバイス104に配信する。S750において、監視ロジック配信部440は、作成済みの監視プログラムから呼び出される可能性がある少なくとも1つの監視ロジックを、その監視プログラムを実行すべき各監視用デバイス104に配信する。ここで、監視プログラム配信部435および監視ロジック配信部440は、監視用デバイス登録部415に登録された各監視用デバイス104の登録情報から各監視用デバイス104のネットワークアドレス情報(例えばIPアドレス)をプログラミング支援部420から受け取って、このネットワークアドレス情報を用いて各監視用デバイス104宛に監視プログラムおよび監視ロジックを配信してよい。監視プログラムおよび監視ロジックの配信を受けた各監視用デバイス104は、監視プログラムの実行を開始してよい。また、監視プログラムおよび監視ロジックの配信が終了したことに応じて、監視処理部460は、監視制御プログラムの実行を開始してよい。
【0073】
S760において、監視システム150は、開発用端末130を介してアカウントからのログアウトを受け付け、そのアカウントからログアウトする。
【0074】
本動作フローによれば、監視システム150は、複数のテナントのそれぞれに対してアカウントを割り当てて、各テナントが自己の監視エリア100に特化した監視アプリケーションを開発することを可能とすることができる。
【0075】
図8は、本実施形態の監視システム150における、監視に関する動作フローを示す。S800において、監視処理部460は、監視制御プログラムを実行し、監視制御プログラム中に記述された命令に応じて制御対象となる監視用デバイス104に制御指令を送信する。これにより、監視処理部460は、制御対象の監視用デバイス104またはその監視用デバイス104に接続された監視カメラ102を制御する。ここで、監視処理部460は、ある監視用デバイス104について、監視用デバイス104自体で実行する制御プログラムによる制御以外の制御が不要であれば、監視用デバイス104に対する制御指令は送信しなくてもよい。
【0076】
S810において、監視結果受信部450は、各監視用デバイス104から監視結果を受信する。S820において、監視処理部460は、監視制御プログラムに従って、監視結果受信部450により受信された監視結果に応じた監視処理を行う。監視処理部460は、監視結果に応じた各監視用デバイス104および監視カメラ102の制御、監視画面の生成、または、警備員もしくは監視員による指示に対する処理等を行ってよい。S830において、監視処理部460は、通信部480を介して監視画面を監視端末140へと出力し、監視端末140によって表示させる。
【0077】
S840において、実行量受信部455は、監視ロジックを実行した各監視用デバイス104から監視ロジックの実行量を受信する。S850において、課金処理部470は、課金処理を行うタイミングか否かを判定する。課金処理を行うタイミングでない場合(S850で「N」)、監視システム150は、処理をS800へ進め、監視制御プログラムによる各監視用デバイス104の次の制御(S800)を行う。
【0078】
ここで、課金処理のタイミングは、例えば月末、年末等、予め定められたタイミングであってよく、未課金の総額が予め定められた閾値を超えたタイミングであってもよい。なお、S850において課金処理を行うタイミングでない場合には、課金処理部470は、S840で受信した各監視ロジックの実行量を蓄積して記録する。例えば、実行回数に応じた使用料が発生する監視ロジックについては、課金処理部470は、未課金の総実行回数に、S840で受信した実行回数を加算してよい。また例えば、実行時間に応じた使用料が発生する監視ロジックについては、課金処理部470は、未課金の総実行時間に、S840で受信した実行時間を加算してよい。
【0079】
課金処理を行うタイミングとなった場合(S850で「Y」)、課金処理部470は、受信された実行量に応じた課金処理を行う。ここで、課金処理部470は、複数のアカウントのそれぞれについて、当該アカウントで使用する少なくとも1つの監視用デバイス104のそれぞれから受信された実行量に基づいて、当該アカウントに対する課金処理を行ってよい。課金処理部470は、アカウント毎に、そのアカウントで使用する全ての監視用デバイス104のそれぞれにおいて実行された全ての監視ロジックの実行量に応じた課金額を集計して、そのアカウントについての監視ロジックの実行に応じた課金額としてよい。ここで、課金処理部470は、この課金額に基づいて、例えば手数料または消費税等を付加する等により最終的な課金額を算出してよい。課金処理部470は、このアカウントに対応付けられた銀行口座からこの課金額分を引き落とすための処理を行うこと、このアカウントに対応付けられたクレジットカードにこの課金額分をチャージするための処理を行うこと、または、このアカウントに対する請求処理を行うこと等により、このアカウントに対する課金を行ってよい。
【0080】
例えば、あるアカウントで、
図1の監視エリア100aを警備する監視アプリケーションの実行中、課金処理部470は、監視エリア100内の全ての監視用デバイス104(監視用デバイス104a~b)のそれぞれで実行された1または複数の監視ロジックのそれぞれの課金額を集計して、そのアカウントでの監視ロジックの利用に対する課金額として用いてよい。
【0081】
また、課金処理部470は、各監視ロジックについて、全てのアカウントにおける実行量に応じた課金額を集計することにより、各監視ロジックの使用料を算出してよい。ここで、課金処理部470は、この使用料に基づいて、例えば手数料を減じる等により最終的な使用料を算出してよい。課金処理部470は、各監視ロジックに対応付けられた銀行口座(すなわち監視ロジックのプロバイダの口座)にその監視ロジックの使用料を振り込むこと、または使用料相当分の仮想通貨をロジック提供端末120へと送信すること等により、各監視ロジックの使用料を各提供者に還元してよい。課金処理を終えると、監視システム150は、処理をS800へと進める。
【0082】
以上に示した監視システム150によれば、監視アプリケーションで必要となる処理の一部を、監視プログラムおよび監視ロジックとして各監視用デバイス104に分担させることができ、監視システム150の処理負荷を低減することができる。また、監視システム150は、各監視用デバイス104で計測した監視ロジックの実行量を、各監視用デバイス104から受け取って集計することができるので、監視システム150側で全ての監視ロジックの実行量を計測する場合と比較して処理負荷を低減することができる。また、監視システム150は、各監視用デバイス104における監視ロジックの実行量に基づいて、アカウント毎の課金額を算出することができるので、監視ロジックの提供者等が各アカウントについて各監視用デバイス104での監視ロジックの実行量を収集して個別に請求する場合と比較して、請求処理の作業負荷を低減することができる。
【0083】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0084】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0085】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0086】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のコンピュータ等のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0087】
図9は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
【0088】
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD-ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。
【0089】
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
【0090】
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0091】
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。
【0092】
プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0093】
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0094】
また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
【0095】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0096】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
【0097】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0098】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0099】
10 監視環境、100a~c 監視エリア、102a~d 監視カメラ、104a~b 監視用デバイス、110 ネットワーク、120a~b ロジック提供端末、130a~c 開発用端末、140a~c 監視端末、150 監視システム、200 システム側通信部、203 監視プログラム受信部、205 監視ロジック受信部、210 制御受信部、215 監視結果送信部、220 実行量送信部、230 監視機器側通信部、235 画像受信部、240 制御送信部、250 監視プログラム実行部、255 画像抽出部、260 監視処理部、270 監視ロジック実行部、280 利用計測部、400 通信部、405 監視ロジック登録部、410 通信部、415 監視用デバイス登録部、420 プログラミング支援部、430 通信部、435 監視プログラム配信部、440 監視ロジック配信部、445 制御送信部、450 監視結果受信部、455 実行量受信部、460 監視処理部、470 課金処理部、480 通信部、2200 コンピュータ、2201 DVD-ROM、2210 ホストコントローラ、2212 CPU、2214 RAM、2216 グラフィックコントローラ、2218 ディスプレイデバイス、2220 入/出力コントローラ、2222 通信インターフェイス、2224 ハードディスクドライブ、2226 DVD-ROMドライブ、2230 ROM、2240 入/出力チップ、2242 キーボード