(57)【特許請求の範囲】
【請求項１】
監視対象を撮像して生成された撮像画像を解析する画像解析手段と、
前記画像解析手段での解析結果を記憶媒体に一時保存する一時記憶手段と、
撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できた場合には当該撮像画像に対して実施できた画像解析処理の解析結果を、撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できなかった場合には過去に実施できたときの画像解析処理の解析結果及びどれくらい過去に実施できた画像解析処理の解析結果なのかを示す過去情報を相手端末まで配信する配信処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記配信処理手段は、撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できなかった場合には最後に実施できたときの画像解析処理の解析結果及び前記過去情報を前記相手端末まで配信することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
画像と、最後に実施した画像解析処理の結果と、前記画像解析処理の結果がどれぐらい過去の画像に実施した画像解析処理の結果なのかを示す過去情報を相手端末から受信する受信手段と、
前記受信手段により受信した前記画像と、前記最後に実施した画像解析処理の結果と、前記過去情報を記憶媒体に一時保存する一時記憶手段と、
前記画像を表示装置に表示するとともに、前記過去情報を参照して、前記画像に対する画像解析処理の結果と過去の画像に対する画像解析処理の結果を異なる方法で前記表示装置に表示する制御手段と
を備えることを特徴とする画像処理装置。
【請求項４】
前記受信手段は、前記画像に対する画像解析処理が当該画像の次の画像が生成されるまでに実施できた場合には、当該画像に対する画像解析処理の結果を受信し、前記画像に対する画像解析処理が当該画像の次の画像が生成されるまでに実施できなかった場合には、前記最後に実施した画像解析処理の結果と前記過去情報を受信することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記過去情報として、連続して増えていく画像フレーム番号、画像フレーム番号の相対的な差分を示す差分フレーム番号、時刻情報、または差分の時刻情報を使用することを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
監視対象を撮像して生成された撮像画像を解析する画像解析工程と、
前記画像解析工程での解析結果を記憶媒体に一時保存する一時記憶工程と、
撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できた場合には当該撮像画像に対して実施できた画像解析処理の解析結果を、撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できなかった場合には過去に実施できたときの画像解析処理の解析結果及びどれくらい過去に実施できた画像解析処理の解析結果なのかを示す過去情報を相手端末まで配信する配信処理工程と
を備えることを特徴とする画像処理方法。
【請求項７】
前記配信処理工程では、撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できなかった場合には最後に実施できたときの画像解析処理の解析結果及び前記過去情報を前記相手端末まで配信することを特徴とする請求項６に記載の画像処理方法。
【請求項８】
監視対象を撮像して生成された撮像画像を解析する画像解析手順と、
前記画像解析手順での解析結果を記憶媒体に一時保存する一時記憶工程と、
撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できた場合には当該撮像画像に対して実施できた画像解析処理の解析結果を、撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できなかった場合には過去に実施できたときの画像解析処理の解析結果及びどれくらい過去に実施できた画像解析処理の解析結果なのかを示す過去情報を相手端末まで配信する配信処理手順と
コンピュータに実行させることを特徴とするプログラム。
【請求項９】
前記配信処理手順では、撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できなかった場合には最後に実施できたときの画像解析処理の解析結果及び前記過去情報を前記相手端末まで配信することを特徴とする請求項８に記載のプログラム。
【請求項１０】
画像と、最後に実施した画像解析処理の結果と、前記画像解析処理の結果がどれぐらい過去の画像に実施した画像解析処理の結果なのかを示す過去情報を相手端末から受信する受信工程と、
前記受信工程により受信した前記画像と、前記最後に実施した画像解析処理の結果と、前記過去情報を記憶媒体に一時保存する一時記憶工程と、
前記画像を表示装置に表示するとともに、前記過去情報を参照して、前記画像に対する画像解析処理の結果と過去の画像に対する画像解析処理の結果を異なる方法で前記表示装置に表示する制御工程と
を備えることを特徴とする画像処理方法。
【請求項１１】
前記受信工程では、前記画像に対する画像解析処理が当該画像の次の画像が生成されるまでに実施できた場合には、当該画像に対する画像解析処理の結果を受信し、前記画像に対する画像解析処理が当該画像の次の画像が生成されるまでに実施できなかった場合には、前記最後に実施した画像解析処理の結果と前記過去情報を受信することを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
画像と、最後に実施した画像解析処理の結果と、前記画像解析処理の結果がどれぐらい過去の画像に実施した画像解析処理の結果なのかを示す過去情報を相手端末から受信する受信手順と、
前記受信手順により受信した前記画像と、前記最後に実施した画像解析処理の結果と、前記過去情報を記憶媒体に一時保存する一時記憶手順と、
前記画像を表示装置に表示するとともに、前記過去情報を参照して、前記画像に対する画像解析処理の結果と過去の画像に対する画像解析処理の結果を異なる方法で前記表示装置に表示する制御手順と
をコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
前記受信手順では、前記画像に対する画像解析処理が当該画像の次の画像が生成されるまでに実施できた場合には、当該画像に対する画像解析処理の結果を受信し、前記画像に対する画像解析処理が当該画像の次の画像が生成されるまでに実施できなかった場合には、前記最後に実施した画像解析処理の結果と前記過去情報を受信することを特徴とする請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法、並びに、プログラムに関し、特に、複数の画像解析処理を同時に実行する際に用いて好適な技術に関する。
【背景技術】
【０００２】
近年、インターネットなどIP(Internet Protocol)ネットワークを利用した画像配信システムが増加してきており、スキー場や動物園の状況を配信するインターネットサイトや、店舗・ビル監視などにも採用されている。例えば、店舗監視やビル監視においては、撮像した画像を解析して特定の事象を検知し、事象が発生した際の画像を蓄積したり、管理者が閲覧・確認したりするということが行われている。
【０００３】
例えば、特許文献１ではカメラからの入力画像に複数の画区を設け、画区毎に画像レベルの変化を検出し、閾値を超えた場合に画区内の画像データを蓄積する方法が開示されている。また、特許文献２では入力画像の状況を判定し、複数の画像解析処理を切り替えて解析結果を出力する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２３８１８０号公報
【特許文献２】特開２００７−２６４７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前提として、撮像した画像を常に解析しながら、画像データと解析結果を配信するためには、画像解析処理を一定時間内に完了させる必要がある。しかしながら、前述の特許文献１に開示された従来技術では、入力画像が複雑で画像処理時間が想定以上にかかった場合でも全画区の画像処理を実行するので、画像処理が時間と共に遅れてしまう。また、前述の特許文献２に開示された従来技術では、複数の画像解析処理を実行することは想定されていない。
【０００６】
複数の画像解析処理を同時に実行する場合、全ての解析処理を一定時間内で完了できず解析処理をスキップすることがある。しかしながら、画像データと解析結果を配信するだけでは、受信したクライアント側では解析処理がスキップされたのかが分からない、という問題があった。
本発明は前述の問題点に鑑み、画像解析処理が完了できずにスキップされたことを区別できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、監視対象を撮像して生成された撮像画像を解析する画像解析手段と、前記画像解析手段での解析結果を記憶媒体に一時保存する一時記憶手段と、撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できた場合には当該撮像画像に対して実施できた画像解析処理の解析結果を、撮像画像に対する画像解析処理が当該撮像画像の次の撮像画像が生成されるまでに実施できなかった場合には過去に実施できたときの画像解析処理の解析結果及びどれくらい過去に実施できた画像解析処理の解析結果なのかを示す過去情報を相手端末まで配信する配信処理手段とを備えることを特徴とする。
また、本発明の画像処理装置は、画像と、最後に実施した画像解析処理の結果と、前記画像解析処理の結果がどれぐらい過去の画像に実施した画像解析処理の結果なのかを示す過去情報を相手端末から受信する受信手段と、前記受信手段により受信した前記画像と、前記最後に実施した画像解析処理の結果と、前記過去情報を記憶媒体に一時保存する一時記憶手段と、前記画像を表示装置に表示するとともに、前記過去情報を参照して、前記画像に対する画像解析処理の結果と過去の画像に対する画像解析処理の結果を異なる方法で前記表示装置に表示する制御手段とを備えることを特徴とする。
また、本発明は、上述した画像処理装置による画像処理方法、及び、当該画像処理方法をコンピュータに実行させるためのプログラムを含む。
【発明の効果】
【０００８】
本発明によれば、画像解析処理が完了できずにスキップされたことを区別することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】画像配信システムの概略構成を説明する図である。
【図２】カメラサーバの構成例を示すブロック図である。
【図３】クライアントの詳細な構成例を示すブロック図である。
【図４】カメラサーバのソフトウェア機能構成を説明するブロック図である。
【図５】クライアントのソフトウェア機能構成を説明するブロック図である。
【図６】第１の実施形態における配信データの例を示す図である。
【図７】カメラサーバの画像解析処理を説明するフローチャートである。
【図８】クライアントの画像認識処理を説明するフローチャートである。
【図９】クライアントで受信したライブ画像と解析結果を示す図である。
【図１０】第２の実施形態における配信データの例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施形態を、添付の図面に基づいて詳細に説明する。
図１は、本発明の実施形態にかかわる画像配信システムの概略構成を示す図である。この例では、複数のカメラサーバ１００、１１０ならびにクライアント１２０がネットワーク１３０を介して相互に接続される。
【００１１】
カメラサーバ１００及び１１０は撮影画角可変、もしくは撮影画角が固定されているカメラを備え、監視対象を撮像して撮像画像を生成する撮像処理を行い、画像データをネットワーク１３０を介して相手端末に配信する。カメラサーバ１００及び１１０は独立で動作しており、クライアント１２０はカメラサーバ１００及び１１０に個別にアクセスし、ライブ画像を取得する。それぞれの詳細については後述する。
【００１２】
なお、図１においては、説明の簡略化のためにカメラサーバの台数は２台としているが、３台以上であっても構わない。またクライアント１２０以外にもカメラサーバ１００及び１１０にアクセスして画像の受信や蓄積を行う他のクライアントがあっても構わない。
【００１３】
ネットワーク１３０は、Ethernet(登録商標) 等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本実施形態においては各サーバ・クライアント間の通信が支障なく行えるものであればその通信規格、規模、構成を問わない。故にインターネットからLAN(Local Area Network)にまで適用可能である。
【００１４】
図９は、クライアント１２０で受信したライブ画像と解析結果を表示している例を示す図である。図９（ａ）は、ディスプレイ上に画像フレーム全体９００、受け付け９０１、絵画９０２が存在しており、これに対して動き検知領域９１０、置き去り検知領域９２０、持ち去り検知領域９３０を設定している例である。以下、動き検知領域９１０を検知領域Ａ、置き去り検知領域９２０を検知領域Ｂ、持ち去り検知領域９３０を検知領域Ｃと定義する。
【００１５】
図９（ｂ）は、実際に画像解析をしている時の例を示す図であり、設置物や画像解析対象は図９（ａ）と同じであるが、さらに動き検知領域９１０内での複数の物体９１１が認識されている。また、置き去り検知領域９２０内には物体９２１が認識されており、持ち去り検知領域９３０内には物体９３１が認識されている。
【００１６】
本実施形態では、実線は現在の画像フレームの解析結果であることを示し、点線が過去の画像フレームの解析結果であることを示している。詳細は、別途他の図と一緒に説明する。
【００１７】
このように、クライアント１２０のディスプレイ上で間に合っている解析処理と、間に合っていない解析処理とを容易に分別できる。これにより、例えば想定シーンで全ての解析処理が間に合う様にカメラサーバ１００、１１０の処理負荷を制限するような設定を行うこともできる。
【００１８】
図２は、カメラサーバ１００及び１１０の構成例を示すブロック図である。
ＣＰＵ２００、１次記憶装置２１０、２次記憶装置２２０、画像キャプチャＩ／Ｆ２３０、ネットワークＩ／Ｆ２６０が内部バス２０１を介して相互に接続されている。ここで、１次記憶装置２１０はＲＡＭに代表される書き込み可能な高速の記憶装置で、ＯＳや各種プログラム及び各種データがロードされる。また、ＯＳや各種プログラムの作業領域としても使用される。
【００１９】
２次記憶装置２２０はＦＤＤやＨＤＤ、フラッシュメモリ、ＣＤ−ＲＯＭドライブ等に代表される不揮発性を持った記憶装置で、ＯＳや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。
カメラサーバ１００及び１１０の１次記憶装置２１０及び２次記憶装置２２０に置かれる各種プログラム等の詳細については後述する。
【００２０】
画像キャプチャＩ／Ｆ２３０にはカメラ２７０が接続され、カメラ２７０が撮影した画像データを所定のフォーマットに変換・圧縮して１次記憶装置２１０に転送する。
ネットワークＩ／Ｆ２６０は、前述のネットワーク１３０と接続するためのＩ／Ｆであり、Ethernet等の通信媒体を介してクライアント１２０等との通信を行うためのものである。
【００２１】
図３は、クライアント１２０の詳細な構成を示すブロック図である。ＣＰＵ３００、１次記憶装置３１０、２次記憶装置３２０、ユーザ入出力Ｉ／Ｆ３３０、ネットワークＩ／Ｆ３５０が内部バス３６０を介して相互に接続されている。ここで、１次記憶装置３１０はＲＡＭに代表される書き込み可能な高速の記憶装置で、ＯＳや各種プログラム及び各種データがロードされ、またＯＳや各種プログラムの作業領域としても使用される。
【００２２】
２次記憶装置３２０はＦＤＤやＨＤＤ、フラッシュメモリ、ＣＤ−ＲＯＭドライブ等に代表される不揮発性を持った記憶装置で、ＯＳや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。クライアント１２０の１次記憶装置３１０及び２次記憶装置３２０に置かれる各種プログラム等の詳細については後述する。
【００２３】
ユーザ入出力Ｉ／Ｆ３３０にはキーボード、マウス、ディスプレイ等で代表されるユーザ入出力機器（Ｉ／Ｏ機器）３７０が接続され、ユーザとの入出力を司る。ネットワークＩ／Ｆ３５０は前述のネットワーク１３０と接続するためのＩ／Ｆであり、Ethernet等の通信媒体を介してカメラサーバ１００等との通信を行うためのものである。
【００２４】
（第１の実施形態）
以下、本発明の画像処理装置の第１の実施形態について説明する。
図４は、カメラサーバ１００、１１０のソフトウェア機能構成を説明するブロック図である。
動作状態になると、１次記憶装置２１０上には、ＯＳ４００、撮像処理プログラム４１０、画像解析プログラム４１１、配信処理プログラム４１２、及び一時記憶部４１３がロードされる。
【００２５】
ＯＳ４００はカメラサーバ全体を制御する基本プログラムである。
撮像処理プログラム４１０は、カメラ２７０で生成された画像フレームを画像キャプチャＩ／Ｆ２３０を経由して取得し符号化して、一時記憶部４１３に一時保存する。撮像処理プログラム４１０は、一定間隔で次々と画像フレームを生成していく。
【００２６】
画像解析プログラム４１１は、一時記憶部４１３に保存している画像フレームを解析する。そして、画像上のどこにどんな形の物体がどれぐらいの時間存在しているのか、といった内容と共に、予め設定された１つまたは複数の閾値を超えたことにより特定の事象が発生したことを検出する。この解析処理を行う際、特定の事象の検出有無に関わらず、画像フレーム毎の解析結果を一時記憶部４１３に出力する。本実施形態では解析結果は画像フレームの画像ヘッダ領域の一部に保存する。
【００２７】
また、特定の事象を検出する解析処理は１つとは限らず、本実施形態では３種類の解析処理を実施する。このため、１つの画像フレームに対する最終解析結果は３つの事象に対する個々の解析結果を含む。画像解析プログラム４１１は、３つの個々の解析処理を順次実行する。しかし、画像フレームのデータサイズは撮影シーンなどによって大きく変動するため、必ずしも次の画像フレームが生成されるまでに３つの画像解析処理が完了するとは限らない。
【００２８】
仮に、必ず全ての解析処理が完了してから次の画像フレームの解析処理を開始すると、配信処理が少しずつ遅れるだけでなく、一時記憶部４１３の空容量がなくなっていき、画像フレームの生成処理が中断してしまう。また、次の画像フレームが出来ている場合は解析処理に時間がかかり過ぎていることを意味するため、解析処理をスキップする必要がある。本実施形態では、個々の解析結果は少なくとも何フレーム前の解析結果かを示す差分フレーム番号とその解析結果から構成される。
【００２９】
個々の解析処理において、解析処理を実施した場合には差分フレーム番号にはゼロを、解析結果には現在の画像フレームの解析結果を保存する。また、解析処理を実施できなかった場合には、最後の解析結果が何フレーム前かを調べ、現在のフレーム番号との差を差分フレーム番号に保存し、その時の解析結果を現在の解析結果として保存する。
【００３０】
本実施形態では、どれぐらい過去の解析結果なのかを示す過去情報に差分フレーム番号を使用したが、配信、または生成時のフレーム番号そのもの、差分の時間間隔、実時間そのものなど、他の情報でも構わない。例えば、連続して増えていく画像フレーム番号、画像フレーム番号の相対的な差分を示す差分フレーム番号、時刻情報、または差分の時刻情報を使用してもよい。
【００３１】
配信処理プログラム４１２は、各種クライアントからのリクエストに応じ、一時記憶部４１３に保存されている最終解析結果を含んだ画像フレームを、ネットワークＩ／Ｆ２６０制御しネットワーク１３０を介して各種クライアントへ送り届ける。各プログラム同士の連携は、必要に応じてＯＳ４００が提供する機能を用いることとする。
【００３２】
図５は、クライアント１２０のソフトウェア機能構成を説明するブロック図である。
１次記憶装置３１０上には、ＯＳ５００、入出力制御プログラム５１０、画像認識プログラム５１１、受信処理プログラム５１２、及び一時記憶部５１３がロードされる。
ＯＳ５００はカメラサーバ全体を制御する基本プログラムである。
【００３３】
入出力制御プログラム５１０は、ユーザがキーボードやマウスなどＩ／Ｏ機器３７０を操作されたことにより、カメラサーバ１００または１１０から画像フレームと解析結果を取得したいという要望を受け付け、受信処理プログラム５１２に通知する。本実施形態では、ユーザがキーボードやマウスなどを直接操作すると説明したが、ネットワーク経由の操作や、自動実行プログラムでも実現可能である。
【００３４】
受信処理プログラム５１２は、ネットワークＩ／Ｆ３５０を制御し、ネットワーク１３０を介してカメラサーバ１００または１１０から画像解析結果を含んだ画像フレームを受信し、一時記憶部５１３に保存する。
【００３５】
画像認識プログラム５１１は、一時記憶部５１３に保存してある画像フレーム中の個々の解析結果から、特定の事象が発生しているのかどうか、画像上のどこにどんな形の物体がどれぐらいの時間存在しているのか、といった内容を認識する。また、個々の解析結果は差分フレーム番号を含むので、画像上に存在する物体情報が何フレーム前の情報かも認識する。
【００３６】
次に、画像認識プログラム５１１は、解析した画像フレームを入出力制御プログラム５１０経由でディスプレイ（表示装置）に出力するように依頼する。そして、認識した物体と個々の解析結果の差分フレーム番号から、差分フレーム番号がゼロ、つまり現在表示している画像フレームの解析結果ならば現在認識している物体を実線で囲むように入出力制御プログラム５１０に表示依頼する。差分フレーム番号がゼロ以外、つまり現在表示している画像フレームより過去の情報ならば点線で囲むように入出力制御プログラム５１０に表示依頼する。また、差分フレーム番号の大きさにより、複数種類の点線を使い分けて入出力制御プログラム５１０経由で物体を囲むように表示することも可能である。
【００３７】
入出力制御プログラム５１０は、一時記憶部５１３に保存されている画像フレームを取得し、ユーザ入出力Ｉ／Ｆ３３０を制御して、ディスプレイなどのＩ／Ｏ機器３７０に画像を表示する。本実施形態では、実線または点線で認識した物体を囲んだが、他にも、囲んだ物体に色をつける、色の透明度を変更する、アラームを出力する、など他の手段によりユーザにわかりやすく通知してもよい。なお、各プログラム同士の連携は、必要に応じてＯＳ５００が提供する機能を用いることとする。
【００３８】
図６は、本実施形態における配信データの例を示す図である。
図６（ａ）は、個々の解析処理が全て間に合っている場合であり、領域Ａ、Ｂ、Ｃの解析結果の差分フレーム番号がゼロになっており、全解析結果が画像ヘッダの一部に含まれていることを示している。
【００３９】
図６（ｂ）は、領域Ａの解析処理は間に合っているが、領域Ｂの解析結果は１つ古い画像フレームの解析結果を示しており、領域Ｃの解析結果は２つ古い画像フレームの解析結果であることを示している。また、図６（ｃ）は、領域Ａの解析結果が１つ古い画像フレームの解析結果を示しており、領域Ｂの解析結果は２つ古い画像フレームの解析結果を示しており、領域Ｃの解析結果は３つ古い画像フレームの解析結果であることを示している。
【００４０】
図７は、カメラサーバ１００、１１０の画像解析処理の手順を説明するフローチャートであり、ここではまず図６（ａ）の解析処理が間に合っている時の説明を行う。
画像解析プログラム４１１は、装置が電源投入された時に起動する。本実施形態では、装置起動している間は撮像処理プログラム４１０による画像生成と、画像解析プログラム４１１による画像解析処理を実施するが、画像配信など必要な期間だけ画像解析プログラム４１１を起動することも可能である。
【００４１】
画像解析プログラム４１１は起動されると、一時記憶部４１３に保存してある最新の画像フレームを取得する（Ｓ７０１）。最新の画像フレームが生成されていない場合は生成されるまで待機する。画像フレームを取得すると、Ｓ７０２に進み、現在の解析番号をゼロに初期化する。次に、Ｓ７０３に進み、３つの解析処理ループを開始する。
【００４２】
次に、Ｓ７０４において、一時記憶部４１３に次の画像フレームが既に生成されているか否かを判断する。この判断の結果、生成されている場合は、解析処理に時間がかかり過ぎていることを意味するのでＳ７１２に進み、ループ処理を抜ける。一方、Ｓ７０４の判断の結果、次の画像フレームがまだ出来ていない場合はＳ７０５に進み、現在の解析番号をチェックする。今回の解析処理においては解析番号がゼロであるので、Ｓ７０６に進んで解析処理Ａを実施する。
【００４３】
この時は、現在解析している画像フレームの解析結果が得られたので差分フレーム番号はゼロで、解析結果と共に画像ヘッダに保存する（Ｓ７０９）。そして、解析番号をインクリメントする（Ｓ７１０）。次のＳ７１１はループ終端であるので、Ｓ７０３のループ始端に戻り、前述した解析処理を実行する。
【００４４】
今回の解析処理においては、解析番号はＳ７１０において１になったので、ループ始端（Ｓ７０３）も真となり、次画像フレームが生成されているか再度確認する（Ｓ７０４）。次に、Ｓ７０５において解析番号を確認する。現在の解析番号１であるので、Ｓ７０７に進んで解析処理Ｂを実施する。そして、解析番号ゼロの時と同様に、差分フレーム番号をゼロにし、解析結果と共に画像ヘッダに保存する（Ｓ７０９）。次に、解析番号をインクリメントする（Ｓ７１０）。次は、ループ終端（Ｓ７１１）に到達するのでループ始端（Ｓ７０３）に戻る。
【００４５】
今回の処理において、解析番号はＳ７１０の処理で２になったので、ループ始端（Ｓ７０３）は真となり、次画像フレームが生成されているか再度確認する（Ｓ７０４）。次に、Ｓ７０５において解析番号を確認する。現在の解析番号２であるので、Ｓ７０８に進んで解析処理Ｃを実施する。そして、解析番号ゼロの時と同様に、差分フレーム番号をゼロにし、解析結果と共に画像ヘッダに保存する（Ｓ７０９）。そして、解析番号をインクリメントし（Ｓ７１０）、ループ終端（Ｓ７１１）に到達するのでループ始端（Ｓ７０３）に戻る。今度は解析番号が３になっているので、ループ始端（Ｓ７０３）は偽となり、ループを抜け、Ｓ７１２において全ての解析処理を実行したのかを確認する。
【００４６】
図６（ａ）では、全ての解析処理は完了しているので何もせず、次に画像フレームの取得処理に戻る（Ｓ７０１）。
図６（ｂ）または図６（ｃ）のように、全ての解析処理が完了していない場合は、Ｓ７１２においてＮｏと判断され、過去の解析結果を未処理分の解析結果として保存する（Ｓ７１３）。
【００４７】
具体的には、図６（ｂ）では解析番号１（領域Ｂ）と解析番号２（領域Ｃ）の解析処理が間に合っていないので、それぞれの領域に対して、解析処理最後に実施した解析結果を検索する。そして、該当画像フレームが現在解析中の画像フレームとのフレーム番号の差分を差分フレーム番号として保存し、同時に該当画像フレーム中の解析結果を現在の画像フレームの解析結果として保存する。
【００４８】
このように、最後の解析結果の検索、該当画像フレームとの差分フレーム番号を算出し、解析結果のコピーを解析処理が間に合わなかった領域毎に実施する。Ｓ７１２において、解析番号がゼロであれば、解析番号０、１、２全ての解析結果を過去の解析結果からそれぞれ検索し、各解析結果の最新情報を現在の画像フレームの解析結果領域に保存する（Ｓ７１３）。
【００４９】
図６（ｃ）が解析番号ゼロの時の例であり、解析番号０（領域Ａ）は１フレーム前の解析結果を、解析番号１（領域Ｂ）は２フレーム前の解析結果を、解析番号２（領域Ｃ）は３つ前の解析結果を保存していることを示している。また、解析番号が１であれば解析番号１、２の最新の解析結果をそれぞれ検索し、解析番号が２であれば解析番号２の最新の解析結果を検索し、現在の画像フレームの解析結果領域に保存する（Ｓ７１３）。図６（ｂ）は解析番号１の時の例である。
【００５０】
本実施形態では、画像フレーム毎に解析番号の初期値をゼロとしている。しかし、画像解析処理に時間がかかるような場合、初期値を必ずゼロにすると解析番号が大きい程解析処理をスキップされる可能性が高くなる。解析処理を連続でスキップしない方法としては、画像フレーム毎に解析番号の初期値をゼロにするのではなく、解析番号を画像フレームとは関係なく、０〜２の順番に繰り返すことが考えられる。また、解析番号毎に優先度を指定して、優先度毎に解析処理を進めることも有効である。
【００５１】
図８は、クライアント１２０における画像認識処理の手順を説明するフローチャートである。ここでは、図６（ｂ）の画像フレームを画像認識する際の処理の流れを説明する。なお、この画像認識プログラム５１１は、受信処理プログラム５１２が起動した時に一緒に起動される。
【００５２】
画像認識プログラム５１１は起動されると、受信処理プログラム５１２が一時記憶部５１３に保存した画像フレームを取得できるまで待機する（Ｓ８００）。
画像フレームを取得すると、画像フレーム自体を入出力制御プログラム５１０を経由してディスプレイ等のＩ／Ｏ機器３７０に表示し（Ｓ８０１）、画像フレームの画像ヘッダに格納されている画像解析結果を取得する（Ｓ８０２）。次に、現在の解析番号をゼロに初期化する（Ｓ８０３）。
【００５３】
次に、Ｓ８０４に進んで３つの認識処理ループを開始する。
まず、現在の解析番号０から領域Ａの解析結果とその差分フレーム番号が最初の画像認識対象となり、Ｓ８０６にて差分フレーム番号をチェックする。図６（ｂ）から領域Ａの差分フレーム番号はゼロなので解析結果に含まれる物体情報を実線で表示するように入出力制御プログラム５１０に依頼する（Ｓ８０８）。そして、解析番号をインクリメント（Ｓ８１１）し、ループ終端に到達する（Ｓ８１２）。
【００５４】
次に、ループ始端（Ｓ８０４）に戻り、現在の解析番号１から領域Ｂの解析結果とその差分フレーム番号が画像認識対象となる。Ｓ８０６にて領域Ｂの差分フレーム番号をチェックすると、差分フレーム番号は１なので、領域Ｂの解析結果に含まれる物体情報を点線１で表示するように入出力制御プログラム５１０に依頼する（Ｓ８０９）。そして、解析番号をインクリメント（Ｓ８１１）し、ループ終端に到達する（Ｓ８１２）。
【００５５】
次に、ループ始端（Ｓ８０４）に戻り、現在の解析番号２から領域Ｃの解析結果とその差分フレーム番号が画像認識対象となる。Ｓ８０６にて領域Ｃの差分フレーム番号をチェックすると、差分フレーム番号は２なので、領域Ｃの解析結果に含まれる物体情報を点線２で表示するように入出力制御プログラム５１０に依頼する（Ｓ８１０）。そして、解析番号をインクリメント（Ｓ８１１）し、ループ終端に到達する（Ｓ８１２）。
【００５６】
仮に、Ｓ８０６にて対象となる領域の差分フレーム番号が３以上だった場合は、対象領域の解析処理が間に合っていないので、そのことを認知しやすいように警告表示する（Ｓ８０５）。具体的には、対象領域の全体を特定の色を薄く表示したり、対象領域の枠組みを特定の色で縁取りしたりする。または、画面表示ではなく音などのアラーム音を出力する等の処理を行うことも有効である。さらに、解析結果に含まれている過去情報を参照して、現在の解析結果と過去の解析結果を異なる方法で表示することも有効である。
【００５７】
次に、ループ始端（Ｓ８０４）に戻るが、今度は現在の解析番号が３になっているので、ループ始端（Ｓ８０４）は偽となりループ処理を抜け、次の画像フレームの取得処理に戻る（Ｓ８００）。なお、本実施形態では差分フレームが少しでも古いと表示方法を変更するが、表示方法の変更を数フレーム単位に変更してもよい。
【００５８】
（第２の実施形態）
次に、本発明の第２の実施形態による、画像処理システムについて説明する。
図１０は、本実施形態における配信データ例であり、第１の実施形態との差異が最もよくわかる図である。本実施形態では、解析結果が画像フレーム内に含まれておらず、画像フレームとは別に解析結果だけを配信していることを示している。
【００５９】
図１０（ａ）は、個々の解析処理が全て間に合っている場合であり、領域Ａ、Ｂ、Ｃの解析結果の差分フレーム番号がゼロになっており、全解析結果が画像ヘッダの一部に含まれていないことを示している。これは、ディスプレイ出力例においては図９（ａ）の状態に相当する。
【００６０】
図１０（ｂ）は、領域Ａの解析処理は間に合っているが、領域Ｂの解析結果は１つ古い画像フレームの解析結果を示しており、領域Ｃの解析結果は２つ古い画像フレームの解析結果であることを示している。これは、ディスプレイ出力例においては図９（ｂ）の状態に相当する。
【００６１】
以下、本実施形態のソフトウェア機能ブロックと処理手順について説明する。
本実施形態におけるカメラサーバのソフトウェア機能ブロックは、第１の実施形態の図４と同じである。また、カメラサーバの画像解析処理のフローチャートは、第１の実施形態の図７と同じである。説明上の差異は、図６が図１０に置き換わることと、解析結果の保存先が画像ヘッダの中ではなく一時記憶部４１３上の別の領域であること、の２点である。すなわち、画像フレームと最終解析結果を別々に、ネットワークＩ／Ｆ２６０を制御し、ネットワーク１３０を介して各種クライアントへ送り届ける。配信先として画像フレームのみ必要なクライアント、画像解析結果のみ必要なクライアント、画像フレームと画像解析結果の両方が必要なクライアントが存在するため、画像フレームと最終解析結果を別々に配信する。
【００６２】
クライアントの画像認識処理のフローチャートは、第１の実施形態の図８と同じである。そして、説明上の差異は、図６が図１０に置き換わることと、解析結果の取得元が画像ヘッダの中ではなく一時記憶部４１３上の別の領域であること、の２点である。すなわち、受信処理プログラム５１２は、ネットワークＩ／Ｆ３５０を制御し、ネットワーク１３０を介してカメラサーバ１００または１１０から画像フレームと画像解析結果を受信し、それぞれを一時記憶部５１３に保存する。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００６３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６４】
４００  ＯＳ、４１０  撮像処理プログラム、４１１  画像解析処理プログラム、４１２  配信処理プログラム、４１３  一時記憶部
【図１】
0005534929.tif 000002
【図２】
0005534929.tif 000003
【図３】
0005534929.tif 000004
【図４】
0005534929.tif 000005
【図５】
0005534929.tif 000006
【図６】
0005534929.tif 000007
【図７】
0005534929.tif 000008
【図８】
0005534929.tif 000009
【図９】
0005534929.tif 000010
【図１０】
0005534929.tif 000011