(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-26
(54)【発明の名称】ビデオストリーム内の動きを監視する方法、装置及びシステム
(51)【国際特許分類】
H04N 7/18 20060101AFI20240719BHJP
H04N 21/4728 20110101ALI20240719BHJP
G06T 7/20 20170101ALI20240719BHJP
【FI】
H04N7/18 D
H04N7/18 G
H04N21/4728
G06T7/20
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024504882
(86)(22)【出願日】2022-06-30
(85)【翻訳文提出日】2024-01-25
(86)【国際出願番号】 JP2022026309
(87)【国際公開番号】W WO2023013328
(87)【国際公開日】2023-02-09
(31)【優先権主張番号】10202108637T
(32)【優先日】2021-08-06
(33)【優先権主張国・地域又は機関】SG
(81)【指定国・地域】
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】スリニヴァサン ラマラジュル
(72)【発明者】
【氏名】森本 昌治
【テーマコード(参考)】
5C054
5C164
5L096
【Fターム(参考)】
5C054CA04
5C054CC02
5C054FC12
5C054FC13
5C054HA19
5C164FA07
5C164MA02S
5C164SA26S
5C164SB41S
5C164UD44P
5C164YA21
5L096BA02
5L096CA04
5L096DA02
5L096FA62
5L096FA69
5L096KA04
(57)【要約】
本開示は、ビデオストリーム内の動きを監視する方法及び装置を提供する。この方法は、仮想ストリームに存在する動きから、関心のある動きを識別し、仮想ストリームは動きが存在する領域をカバーし、関心のある動きは監視対象の動きであり、カバーされるビデオストリームの領域は仮想ストリームのパン及びチルトの値によって制御可能であり、仮想ストリームのパン及びチルトの値を調整して、関心のある動きを仮想ストリームの中心に配置する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
仮想ストリームに存在する動きから、関心のある動きを識別し、前記仮想ストリームは動きが存在する領域をカバーし、前記関心のある動きは監視対象の動きであり、カバーされる前記ビデオストリームの前記領域は前記仮想ストリームのパン及びチルトの値によって制御可能であり、
前記仮想ストリームの前記パン及びチルトの値を調整して、前記関心のある動きを、前記仮想ストリームの中心に配置する、
ビデオストリーム内の動きを監視する方法。
【請求項2】
さらに、前記ビデオストリームの静止している領域を無視することにより、又は、前記ビデオストリームで動いている領域をカバーするために前記ビデオストリームを生成することにより、前記ビデオストリーム内の前記動きが存在する領域を検出する、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項3】
前記仮想ストリームのパン及びチルトの値の調整では、さらに、
前記ビデオストリームでの前記関心のある動きの中心に対応する座標を決定し、
前記仮想ストリームの前記パン及びチルトの値を調整して、前記仮想ストリームの中心を、決定した前記座標に配置する、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項4】
前記仮想ストリームの前記パン及びチルトの値の調整をリアルタイムで行う、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項5】
前記関心のある動きの識別では、さらに、前記関心のある動きが前記仮想ストリーム内で識別されない場合に、前記仮想ストリームをシャットダウンする、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項6】
前記関心のある動きの識別では、さらに、
前記仮想ストリーム内で複数の関心のある動きが識別された場合に前記仮想ストリームをシャットダウンし、
複数の新しい仮想ストリームを生成し、
前記新しい仮想ストリームのそれぞれは、前記複数の関心のある動きのそれぞれが存在するビデオストリームの領域をカバーする、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項7】
前記関心のある動きの識別では、識別された前記関心のある動きが前記仮想ストリーム内で一定時間静止している場合に、前記仮想ストリームをシャットダウンする、
請求項2に記載のビデオストリーム内の動きを監視する方法。
【請求項8】
さらに、前記識別された前記関心のある動きが前の位置から動いて逸脱しているかどうかを検出し、
検出に応じて前記仮想ストリームを再生成する、
請求項7に記載のビデオストリーム内の動きを監視する方法。
【請求項9】
さらに、それぞれが所定の高さ及び幅のフレームを有する1つ以上の仮想ストリームを生成し、
各仮想ストリームは、動きが存在する前記ビデオストリームの1つ以上の領域をカバーする、
請求項2に記載のビデオストリーム内の動きを監視する方法。
【請求項10】
前記ビデオストリーム内で動きが存在する複数の領域を検出し、
前記複数の領域を1つ以上のグループに分割し、 各グループは少なくとも2つの領域を含み、少なくとも2つの領域のそれぞれは、前記ビデオストリーム内において、前記仮想ストリームのフレームの前記所定の高さ及び幅を超えない、合計の高さ及び幅を占有し、
前記1つ以上のグループのそれぞれをカバーする1つ以上の仮想ストリームのそれぞれを生成する、
請求項9に記載のビデオストリーム内の動きを監視する方法。
【請求項11】
前記1つ以上の仮想ストリームのそれぞれの生成では、
前記複数の領域のそれぞれの中心の座標を決定し、
各グループの前記少なくとも2つの領域のそれぞれについて決定した前記座標の平均に基づいて各グループの平均中心座標を計算し、
生成された各仮想ストリームの前記フレームの中心は、関連付けられたグループの前記平均中心座標に配置される、
請求項10に記載のビデオストリーム内の動きを監視する方法。
【請求項12】
さらに、各グループの前記平均中心座標をリアルタイムで更新し、
更新された前記平均中心座標に前記フレームの中心が配置されるように、各仮想ストリームの前記パン及びチルトの値を調整する、
請求項11に記載のビデオストリーム内の動きを監視する方法。
【請求項13】
前記1つ以上の仮想ストリームの生成では、さらに、
各仮想ストリームの前記パン及びチルトの値を調整して、各フレームを前記ビデオストリームの境界内に配置する、
請求項9に記載のビデオストリーム内の動きを監視する方法。
【請求項14】
プロセッサと通信するメモリを備え、
前記メモリは、前記メモリに記録されたコンピュータプログラムを格納し、前記コンピュータプログラムは前記プロセッサによって実行可能であり、
前記プログラムの実行によって、少なくとも、装置に、
仮想ストリームに存在する動きから、関心のある動きを識別する処理を行わせ、前記仮想ストリームは動きが存在する領域をカバーし、前記関心のある動きは監視対象の動きであり、カバーされる前記ビデオストリームの前記領域は前記仮想ストリームのパン及びチルトの値によって制御可能であり、
前記仮想ストリームの前記パン及びチルトの値を調整して、前記関心のある動きを、前記仮想ストリームの中心に配置する処理を行わせる、
ビデオストリーム内の動きの監視装置。
【請求項15】
前記メモリ及び前記コンピュータプログラムが前記プロセッサによって実行されることで、さらに、前記装置に、前記ビデオストリームの静止している領域を無視することにより、又は、前記ビデオストリームで動いている領域をカバーするために前記ビデオストリームを生成することにより、前記ビデオストリーム内の前記動きが存在する領域を検出する処理を行わせる、
請求項14に記載のビデオストリーム内の動きの監視装置。
【請求項16】
前記仮想ストリームのパン及びチルトの値の調整では、さらに、
前記ビデオストリームでの前記関心のある動きの中心に対応する座標を決定し、
前記仮想ストリームの前記パン及びチルトの値を調整して、前記仮想ストリームの中心を、決定した前記座標に配置する、
請求項14に記載のビデオストリーム内の動きの監視装置。
【請求項17】
前記仮想ストリームの前記パン及びチルトの値の調整をリアルタイムで行う、
請求項14に記載のビデオストリーム内の動きの監視装置。
【請求項18】
前記関心のある動きの識別では、さらに、前記関心のある動きが前記仮想ストリーム内で識別されない場合に、前記仮想ストリームをシャットダウンする、
請求項14に記載のビデオストリーム内の動きの監視装置。
【請求項19】
前記関心のある動きの識別では、さらに、
前記仮想ストリーム内で複数の関心のある動きが識別された場合に前記仮想ストリームをシャットダウンし、
複数の新しい仮想ストリームを生成し、
前記新しい仮想ストリームのそれぞれは、前記複数の関心のある動きのそれぞれが存在するビデオストリームの領域をカバーする、
請求項14に記載のビデオストリーム内の動きの監視装置。
【請求項20】
請求項14乃至19のいずれか一項に記載の前記ビデオストリーム内の動きの監視装置と、
少なくとも1つのビデオキャプチャ装置と、を備える、
ビデオストリーム内の動きの監視システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオストリーム内の動きを監視する方法、装置及びシステム関するが、これらに限定されるものではない。
【背景技術】
【0002】
閉回路テレビ(CCTV:Closed-circuit television)監視システムは、追加的なセキュリティ又は継続的な監視を必要とする世界の多くの領域では、一般的なものである。このような領域には、住宅街、公共交通機関の駅、ショッピングセンター、銀行、小売店、オフィスビル、及び、その他の多くの同様の場所など、非常に多様な場所が含まれる。この技術は、格闘、強盗及び他の類似行動などの異常行動を検出して防止するなど、犯罪の予防又は抑止や、不審行動の分析に有用である。
【0003】
CCTV監視システムにおいてビデオストリームを手動で監視することは、調査対象領域の広さ、利用されるカメラの数、必要な時間(一般には常時)、必要とされる注意力、及び、その他の要因のために不可能である。人工知能(AI)の登場により、好適にも、ビデオストリームから異常行動をリアルタイムで監視し、検出することが可能になった。監視に利用されるAIシステムは、通常、グラフィックス処理装置(GPU)を搭載している。しかし、このようなビデオ監視用のGPUベースのAIシステムはコストが高く、使用が困難である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
監視システムの中には、1台以上のパンチルトズーム(PTZ)カメラを使用するものもあれば、PTZカメラより広い範囲をカバーできる魚眼カメラを使用するものもある。魚眼カメラを利用した監視システムが直面する可能性のある問題は、AIシステムが必要とするビデオストリーム入力が通常はレクトリニアであり、魚眼カメラによって生成される丸いビデオストリームとは異なることである。魚眼フィードによる監視領域を完全にカバーするためには、魚眼フィードから切り抜いた複数のレクトリニアビデオストリームを抽出する必要があり、高い処理能力が必要である。
【0005】
ここでは、上記の問題の1つ以上に対処するビデオストリーム内の動きを監視するための装置および方法の実施の形態を開示する。
【0006】
さらに、他の望ましい特徴および特性は、添付の図面及び本開示の背景とともに、以下の詳細な説明及び付された請求項から明らかになるであろう。
【課題を解決するための手段】
【0007】
本開示は、第1の態様において、仮想ストリームに存在する動きから、関心のある動きを識別し、前記仮想ストリームは動きが存在する領域をカバーし、前記関心のある動きは監視対象の動きであり、カバーされる前記ビデオストリームの前記領域は前記仮想ストリームのパン及びチルトの値によって制御可能であり、前記仮想ストリームの前記パン及びチルトの値を調整して、前記関心のある動きを、前記仮想ストリームの中心に配置する、ビデオストリーム内の動きを監視する方法を提供する。
【0008】
本開示は、第2の態様において、プロセッサと通信するメモリを備え、前記メモリは、前記メモリに記録されたコンピュータプログラムを格納し、前記コンピュータプログラムは前記プロセッサによって実行可能であり、前記プログラムの実行によって、少なくとも、装置に、仮想ストリームに存在する動きから、関心のある動きを識別する処理を行わせ、前記仮想ストリームは動きが存在する領域をカバーし、前記関心のある動きは監視対象の動きであり、カバーされる前記ビデオストリームの前記領域は前記仮想ストリームのパン及びチルトの値によって制御可能であり、前記仮想ストリームの前記パン及びチルトの値を調整して、前記関心のある動きを、前記仮想ストリームの中心に配置する処理を行わせる、 ビデオストリーム内の動きの監視装置を提供する。
【0009】
本開示は、第3の態様において、第2の態様にかかる前記ビデオストリーム内の動きの監視装置と、少なくとも1つのビデオキャプチャ装置と、を備える、ビデオストリーム内の動きの監視システムを提供する。
【図面の簡単な説明】
【0010】
添付の図面は、個別の図全体にわたって同一の参照番号が同一又は機能的に同様の要素を指すものであってよく、以下の詳細な説明とともに本明細書に組み込まれ、かつ、その一部を形成するものであり、非限定的な例として、様々な実施の形態を示し、様々な原理及び利点の説明するために有用である。
【0011】
本発明の実施の形態は、単なる例示として、図面と併せて、以下の記述による説明から、当業者によりよく理解され、かつ、容易に明らかになるであろう。
【0012】
【
図1】複数の切り取られたレクトリニアストリームを有する魚眼ストリームの例示図である。
【0013】
【
図2】魚眼ストリームでの動き監視の一般的な実装の例示図である。
【0014】
【
図3】魚眼ストリームによる動き監視の一般的なシステムの例を示す図である。
【0015】
【
図4】魚眼ストリームによる動き監視の一般的なワークフローのフローチャートである。
【0016】
【
図5】本開示の各種の実施の形態にかかる魚眼ストリームによる動き監視について提案する実装態様の図である。
【0017】
【
図6】本開示の各種の実施の形態にかかる魚眼ストリームによる動き監視のために提案するシステムの例示図である。
【0018】
【
図7】本開示の各種の実施の形態にかかる魚眼ストリームによる動き監視について提案するワークフローのフローチャートの例を示す図である。
【0019】
【
図8A】本開示の各種の実施の形態にかかる仮想ストリームがどのように初期化されるかを例示する図である。
【
図8B】本開示の各種の実施の形態にかかる仮想ストリームがどのように初期化されるかを例示する図である。
【
図8C】本開示の各種の実施の形態にかかる仮想ストリームがどのように初期化されるかを例示する図である。
【
図8D】本開示の各種の実施の形態にかかる仮想ストリームがどのように初期化されるかを例示する図である。
【0020】
【
図9】本開示の各種の実施の形態において、複数の領域における動き検出のために仮想ストリームがどのように初期化されるかを例示する図である。
【0021】
【
図10】本開示の各種の実施の形態において、仮想ストリームの連続的なパン、チルト及びズームがどのように実装されるかを例示する図である。
【0022】
【
図11】本開示の実施の形態において仮想ストリームがどのようにシャットダウンされるかを例示する図である。
【0023】
【
図12】本開示の他の実施の形態において仮想ストリームがどのようにシャットダウンされるかを例示する図である。
【0024】
【
図13】本開示の他の実施の形態において仮想ストリームがどのようにシャットダウンされるかを例示する図である。
【0025】
【
図14】本開示の各種の実施の形態にかかるビデオストリーム内での動き監視の例示的なフローチャートである。
【0026】
【
図15】各種の実施の形態においてビデオストリーム内の動きを監視するためのシステムを示すブロック図である。
【0027】
【
図16】先行する図の方法を実行するために使用可能な例示的な計算装置を示す図である。
【発明を実施するための形態】
【0028】
魚眼ストリームは、魚眼レンズを有するビデオカメラから生成されるビデオストリームである。魚眼レンズは、広いパノラマ又は半球画像を生成することを目的とし、強い視覚的歪みが生じる超広角レンズである。魚眼レンズは、一般的に、パンチルトズーム (PTZ)カメラよりも広い、超広角を実現できる。PTZカメラは、一般的に、直線的な遠近感を有するビデオストリーム(例えば、レクトリニアビデオストリーム)を生成するカメラであり、カバーする領域内の対象物に追随するために、物理的にパン、チルト及びズームを行うことができる。直線的な遠近感を有する画像(例えば、レクトリニア画像)を生成する場合に対して、魚眼レンズは、特殊なマッピング(例えば、等立体角)を使用する。これにより、特徴的な凸状かつ非レクトリニアな見た目の画像となる。例えば、
図1は、魚眼ストリーム102を示している。AIシステムを使用して1つの魚眼フィードの観察下にある領域を監視するには、AIシステムでの分析のため、魚眼ストリーム102から複数のレクトリニアビデオストリーム104を切り抜いて抽出する必要がある。
【0029】
CCTVからビデオストリームを監視する場合、動きを検出したり、動きが有るビデオストリームの領域を検出するために、各種の技術が利用されてもよい。例えば、ビデオストリームの静止領域を無視したり、ビデオストリームの画素が変化している領域(例えば、動きや運動の存在を示す領域)のみに焦点を絞る、バックグラウンド減算が用いられてもよい。その後、1つ以上のレクトリニアストリームを生成して動きが存在する領域をカバーすることで、AIシステムは、これらのレクトリニアストリームを更なる分析に使用できる。これらのレクトリニアストリームは、動きが存在するビデオストリーム内の領域をカバーする仮想ストリームであってもよい。
【0030】
関心のある動きが、監視対象となる動きとなる。このような動きは、AIシステムで予め定義されていてもよい。例えば、AIシステムは、例えばビデオストリームや仮想ストリーム内の、格闘シーン、強盗シーン又はその他の同様の不審行動に類似した特定の動きを検出するように構成されてもよい。
【0031】
実施の形態
同じ参照番号を有し得るステップ及び特徴の一方又は両方が、添付図面のいずれか1つ以上で参照される場合、これらのステップ及び特徴の一方又は両方は、説明の目的上、反対の意図が表面されない限り、同様の機能又は動作を示すものとする。
【0032】
なお、「背景技術」の欄に含まれる議論及び先行技術に関する上記の議論は、これらを用いることで公知技術を構成する装置の議論に関する。このような議論は、本発明者又は特許出願人が、いかなる形であれ、このような装置が当該技術分野における一般的な知識の一部を形成することを表明したものと解釈されるべきではない。
【0033】
一般的な監視技術の一例においては、AIシステムをトレーニングし、魚眼ビデオから直接的に異常行動を検出する。これには、魚眼ビデオフィードをAIシステムに直接渡すことが含まれ、関連する魚眼カメラの動き検出アルゴリズムを使用して、AIシステムによってビデオフィードを監視する必要があるかどうかの判定を行う。
図2は、魚眼ストリームでの動き監視の一般的な実装の例示
図200である。最初のステップ202では、M個の魚眼ビデオストリームをAIシステムに入力してもよい。2番目のステップ204では、M個の魚眼ストリームのそれぞれをN個の静的なレクトリニアストリームに細分化する。レクトリニアストリームのそれぞれは、検出された移動物体をカバーしている。3番目のステップ206では、格闘、強盗又は同様の不審行動などの監視対象の動き又は行動について、M×N個のレクトリニアストリームが分析される。4番目のステップ208では、M×N個のレクトリニアストリームのそれぞれから、対象の動き又は行動が検出される。
【0034】
図3は、魚眼ストリームによって動きを監視する従来のシステム300の例を示している。従来のシステム300では、魚眼CCTV302からビデオ管理サーバ(VMS:Video Management Server)304に、直接的に魚眼ストリームが記録される。VMS304の機能を使用することで、ユーザは、例えば、1つの魚眼ストリームからM個のレクトリニアストリームを作成し、魚眼ストリームで検出されたM個の移動物体を監視できる。これらのレクトリニアストリームのそれぞれには、VMSサーバ304によって、汎用一意識別子(UUID:universally unique identifier)が割り当てられる。クライアントは、UUIDに対応するストリームを要求することで、VMS304からレクトリニアストリームにアクセスできる。UUIDは、GPUを有する分析サーバ306に静的に割り当てられ、各分析サーバは、割り当てられた1つ以上のUUIDに対応する1つ以上のレクトリニアストリームを監視及び分析する。すべてのレクトリニアストリームは、恒常的かつ継続的に監視されるため、監視対象のCCTVが数百ある場合、システムの拡張は困難である。
【0035】
図4に、魚眼ストリームによって動きを監視する従来のワークフローのフローチャートを示す。ステップ402では、魚眼カメラから魚眼ビデオを生成する。ステップ404では、魚眼ビデオをM個のレクトリニアストリームに細分化する。ステップ406では、物体検出器がM個のレクトリニアストリームを観察して、監視対象の物体を検出する。ステップ408では、動き検出器がM個のレクトリニアストリームを観察して、監視対象の動きを検出する。
【0036】
上記の従来の実装は、より単純なシステム構造を有するが、一方で、AIアーキテクチャでは、歪んだ魚眼ビデオストリームで動作するようにトレーニングする必要がある。さらに、複数の魚眼ストリームがAIシステムに入力された場合、AIシステムはすべての魚眼ストリームを継続的に監視する必要があり、処理に要する負荷が増加する。
【0037】
従来の監視技術の別の例として、魚眼カメラの代わりにPTZカメラを用いてもよい。PTZカメラは、カバーされている領域内の物体を追跡するために、物理的にパン、チルト及びズームすることができる。PTZカメラは、光学的にズームインして対象の物体をより鮮明かつ大きく表示できるが、PTZカメラのカバー範囲は限られているため、部屋などの領域を完全にカバーするには複数のPTZカメラの設置が必要となる場合がある。さらに、複数のPTZカメラを使用する場合、AI監視システムは複数のビデオストリームを同時かつ継続的に監視する必要があり、処理に要する負荷が増加する。
【0038】
本開示の様々な実施の形態によれば、低コストの中央処理装置(CPU)ベースのバックグラウンド減算方法をビデオフィードの監視に使用することができる。これにより、これらの領域をカバーする1つ以上の仮想ストリームの生成を通じ、魚眼ビデオフィードにパン及びズームして、動きが検出された領域のみを抽出して監視することが可能である。ビデオストリーム及び仮想ストリームを監視するAIシステムは、バックグラウンド減算プログラムにフィードバックして、ビデオストリーム内でパン、チルト及びズームして、仮想ストリームがカバーする領域を調整したり、仮想ストリームをシャットダウンすることもできる。好適にも、既存のカメラインフラストラクチャは、ここで提案する監視方法においても利用することができる実装コストは、低コストのCPUのために、低廉となる。また、ビデオフィードをデータセンターにストリーミングするのではなく、1つ以上のGPUサーバを現場の同じ場所に配置することも可能である。レクトリニア仮想ストリームを利用することにより、提案する監視方法を実装するために、一般に利用可能なレクトリニア画像データセットでAIシステムをトレーニングして、一般的なAIモデルアーキテクチャを使用することが可能である。さらに、仮想ストリームでカバーされた領域を動的にパン、チルト及びズームして対象物を仮想ストリームの中心に保持することにより、AIシステムの動作検出は、通常、主としてフレームの中心で発生する動きでトレーニングされるため、関心のある動きの検出精度が向上する。
【0039】
図5は、本開示の様々な実施の形態にかかる魚眼ストリームによる動き監視について提案する実装の
図500を示す。ステップ502では、M個の魚眼カメラからM個の魚眼ストリームを生成してもよい。ステップ504では、M個の魚眼ストリームからのX個の領域から、動きを検出してもよい。動きが存在する魚眼ストリームからのX個の領域をカバーするために、仮想ストリームなどの動的にインスタンス化されたX個のレクトリニアストリームが生成されてもよい。仮想ストリームによってカバーされている魚眼ビデオストリームの領域は、例えば、移動する物体の継続的な追跡及び監視のために、仮想ストリームのパンチルト値によって制御可能である。ステップ506では、動きが検出された魚眼ストリームのみがさらなる観察のためにフィルタリングされ、X個の仮想ストリームが観察され、仮想ストリームに存在する動きから関心のある動きが識別される。関心のある動きが、監視の対象となる動きであってもよい。例えば、関心のある動きが識別されない仮想ストリームがY個存在してもよい。そのため、ステップ508では、これらのY個の仮想ストリームがX個の仮想ストリームのから除外され、さらなる分析及び監視には、X-Y個の仮想ストリームのみが必要となる。これらのX-Y個の仮想ストリームについて、仮想ストリームのそれぞれで検出された関心のある動きの平均中心座標を計算し、適切な仮想ストリームの位置をシフトするために使用することで、検出された関心のある動きのそれぞれが仮想ストリームの中心に保たれる。
【0040】
図6は、本開示の各種の実施の形態にかかる魚眼ストリームによる動き監視のために提案するシステム600の例示図を示す。提案するシステム600では、1つ以上の魚眼カメラ602からの1つ以上の魚眼ストリームが、動き検出、ストリーム生成及びGPU割り当てサーバ(SCS) 604によって観測される。このSCSサーバ604は1つ以上の魚眼ストリームを観測し、魚眼ストリームの領域内の動きを検出すると、SCSは、検出した動き領域を包含する仮想ストリームなどのビデオストリームをインスタンス化し、その仮想ストリームを、予め定義されたリアルタイムストリーミングプロトコル(RTSP:real time streaming protocol)ユニバーサルリソースロケータ(URL:universal resource locator)のリストにおける次の未使用RTSP URLに公開する。予め定義されたRTSP URLのリストをリッスン(listen)しているVMS606は、新しいストリームを読み取り、その記録を開始する。そして、VMS606は、この仮想ストリームを再ブロードキャストする。この仮想ストリームは、RTSP URLごとにVMS606によって固定UUIDにマッピングされ、クライアントはVMS606から仮想ストリームのUUIDを要求することで、仮想ストリームを要求できる。分析又はGPUサーバ608及びこれに割り当てられた仮想ストリームと同様に、SCS 604は、RTSP URLとそれに対応するVMS UUID、のデータベースを維持する。仮想ストリームの作成時に、SCS604は、このデータベースを検索して、分析サーバ上の表現可能状態転送(REST:Representational State Transfer)URLを呼び出すか、分析サーバ608が加入しているメッセージングサーバ(非表示)にメッセージを公開することで、VMS UUIDを分析サーバ608のいずれかに割り当てる。また、各分析サーバは、次の目的でSCS604と通信する。
(1)仮想ストリーム内の検出されたオブジェクトを仮想ストリームの中心に保つように、レクトリニア仮想ストリームをパン及びズームするため。
(2)仮想ストリーム内のオブジェクト又はそのアクティビティが一定期間静止しているなどの理由で観測の基準を満たしていない場合に、仮想ストリームをシャットダウンするため。
(3)識別された関心のある動きが移動して前の位置から逸脱している場合に、仮想ストリームをシャットダウンし、仮想ストリームを再生成または新しい仮想ストリームを再作成するため。
(4)仮想ストリームで複数の関心のある動きが識別された場合に、仮想ストリームをシャットダウンし、複数の新しい仮想ストリームを生成または作成するため。新しい仮想ストリームのそれぞれは、複数の関心のある動きのそれぞれが存在するビデオストリームの領域をカバーしている。
【0041】
図7は、本開示の各種の実施の形態にかかる魚眼ストリームによる動き監視について提案するワークフローのフローチャート700の例を示す。ステップ702では、魚眼ビデオストリームの動きを検出するためにバックグラウンド減算が利用される。このバックグラウンド減算においては、ビデオストリームに動きが存在する領域を検出し、静止しているビデオストリームの領域を無視し、動いているビデオストリームの領域をカバーする仮想ストリームを生成してもよい。ステップ704では、動きが検出されたかどうかを判断する。動きが検出されない場合には、ステップ702に戻る。それ以外の場合にはステップ704に進み、ステップ724からの条件が存在するかどうかを判断する。条件が存在する場合にはステップ708に進み、ステップ724で要求された条件が満たされているかどうかを判断する。条件が満たされていないと判断した場合にはステップ702に戻る。また、ステップ706においてステップ724の条件が存在すると判断した場合、又は、ステップ708においてステップ724の条件が満たされていると判断した場合、処理はステップ710に進む。ステップ710では、ストリームコントローラが、動きが検出された魚眼ビデオストリームの領域について、仮想ストリームなどのレクトリニアストリームを作成又は生成する。ステップ712では、ストリームコントローラは、物体検出器からのメッセージをリッスンして、仮想ストリームのパン及びチルトの値を更新し、又は、仮想ストリームをシャットダウンする。ステップ714では、物体検出器は、例えばX秒の期間、仮想ストリームを観察する。ステップ716では、関心のある物体又は動きが検出されたか否かを判断する。関心のある物体又は動きが検出されなかったと判断された場合、処理はステップ718に進み、物体検出器は仮想ストリームをシャットダウンする信号をストリームコントローラに送信する。その後、処理はステップ712に戻る。また、ステップ716において関心のある物体又は動きが検出された場合、処理はステップ720に進み、物体検出器は、検出された関心のある物体のビデオストリームフレームにおける平均中心位置を送信して、仮想ストリームの仮想のパン及びチルトの値を継続的に更新する。例えば、ビデオストリームにおける関心のある動きの中心に対応する座標を決定し、仮想ストリームのパン及びチルトの値を調整して、決定された座標に、仮想ストリームの中心を配置してもよい。物体検出器は、関心のある物体又は動きの更新位置の連続的なストリームを、ストリームコントローラに送信してもよい。これにより、関心のある物体又は動きを、常に、仮想ストリームの中心位置に保持できる。また、仮想ストリームのパン及びチルトの値の調整は、リアルタイムで行われてもよい。ステップ722では、例えば分析サーバによって、関心のある物体又は動きが異常であるか、例えばY秒などの一定時間静止しているかを判断する。関心のある物体又は動きが異常でも静止でもないと判断された場合、ステップ720に戻る。それ以外の場合は、処理はステップ724に進み、仮想ストリームをシャットダウンするメッセージ又は通知が送信される。例えば、分析サーバは、将来に検出される動きが現在の位置から一定の割合だけ異なる場合にのみ、仮想ストリームをシャットダウンし、仮想ストリームを再生成又は再作成する通知を、ストリームコントローラに送信してもよい。
【0042】
図8A~8Dに、本開示の各種の実施の形態にかかる仮想ストリームがどのように初期化されるかを例示する。例えば、
図8Aの魚眼ビデオストリーム804の動き802のような動きを検出すると、例えば、OpenCVのfindContours関数のような方法を使用して、動き802の周りの境界ボックス806を決定できる。この境界ボックス806の座標を使用して、検出された動き802の中心を計算できる。検出された動き802の中心は、座標CX(例えば、検出された動き802の周りの境界ボックス806の中心のX座標)及びCY(例えば、検出された動き802の周りの境界ボックス806の中心のY座標)を含んでいてもよい。検出された動き802をカバーするための
図8Bの仮想ストリームのレクトリニアフレーム808の初期位置は、境界ボックス806の中心を基準として使用して、計算できる。レクトリニアフレーム808は、XTL及びYTLの左上座標(例えば、左上のX座標及び左上のY座標)、XTR及びYTRの右上座標(例えば、右上のX座標及び右上のY座標)、XBL及びYBLの左下座標(例えば、左下のX座標及び左下のY座標)、及び、XBR及びYBRの右下座標(例えば、右下のX座標及び右下のY座標)で構成されてもよい。X座標及びY座標のそれぞれ、例えば、レクトリニアフレーム808のXTL、YTL、XBR及びYBRは、次のように計算できる。
XTL=CX-(事前に決定された幅/2)
YTL=CY-(事前に決定された高さ/2)
XBR=XTL+事前に決定された幅
YBR=YTL+事前に決定された高さ
例えば、解像度が1280×720ピクセルのレクトリニアフレームの場合、事前に決定された幅は1280ピクセルであるのに対し、事前に決定された高さは720ピクセルである。他の高解像度や低解像度も可能であることは、勿論である。
【0043】
仮想ストリームの最初のレクトリニアフレームは、フレームが魚眼ストリーム804の境界を越えないように調整されてもよい。例えば、魚眼ストリーム804は、最小X値0、最大X値MaxX、最小Y値0、最大Y値MaxYによって定義されてもよい。よって、
図8Cのレクトリニアフレーム808及び810の初期位置及び
図8Dのレクトリニアフレーム816及び818の初期位置は、最小及び最大の座標位置に制約され得る。各レクトリニアフレームの右上隅及び左下隅の座標が、0とMaxXとの間のX座標、0とMaxYとの間のY座標であるか否かがチェックされる。例えば、これらの要件を満たす場合、次の計算に基づいてレクトリニアフレーム808を調整できる。
XTL<0の場合
new XBR = current XBR + |XTL|
new XTL = 0
XBL > MaxXの場合
new XBR = old XBR - (XBL - MaxX)
YTL < 0の場合
new YBR = current YBR + |YTL|
new YTL = 0
YBL > MaxYの場合
new YBR = old YBR - (YBL - MaxY)
【0044】
これらの計算を適用することで、レクトリニアフレーム808の初期位置をフレーム位置812に、レクトリニアフレーム810の初期位置をフレーム位置814に、レクトリニアフレーム816の初期位置をフレーム位置820に、レクトリニアフレーム818の初期位置をフレーム位置822に調整できます。
【0045】
図9は、本開示の各種の実施の形態において、複数の領域における動き検出のために仮想ストリームがどのように初期化されるかを例示する
図900を示す。魚眼ストリーム902において動き領域904、906及び908が検出されると、それぞれの動き領域の境界ボックス910、912及び914が、確立されたアルゴリズム(例えば、OpenCVのfindContours関数)を使用して計算される。境界ボックスの座標はリストに保持され、次のアルゴリズムを使用し、(
図8A~8Dで説明されているのと同じ座標用語を使用して)動き検出領域が単一のレクトリニアイメージフレームに収まるかどうか、又は、分離された複数のフレームが必要かどうかを確認してもよい。
1.境界ボックスのリストを反復して、最小のXTL値(例えば、LMBB)を有する境界ボックスを発見する。
この例では、最小のXTL値を有する境界ボックスは、境界ボックス910となる。
2.リストをもう一度反復して、LMBBのXTL値と、リスト内の他の境界ボックス912及び914のXTR値と、の差dXを計算する。
3.計算した差dXが、レクトリニア仮想ストリームの事前に決定されたフレーム幅よりも小さい場合、LMBBのYTL値を、比較対象の境界ボックスのYTLと比較する。
a.LMBBのYTLが、比較対象の境界ボックスのYTLよりも小さい場合、LMBBは比較対象の境界ボックスよりも魚眼ストリーム902内での位置が高いことを意味するため、LMBBのYTLと比較対象の境界ボックスのYBLとの差dYが記録される。
b.LMBBのYTLが比較対象の境界ボックスのYTLよりも大きい場合、LMBBは比較対象の境界ボックスよりも魚眼ストリーム902内での位置が低いことを意味するため、LMBBのYBLと比較対象の境界ボックスのYTLとの差dYが記録される。
c.ステップ3a又は3bで計算されたY座標の差dYがレクトリニア仮想ストリームの所定のフレーム高さより小さい場合、比較対象の境界ボックスは、例えばLMBB及び境界ボックスの動き領域をカバーする仮想ストリームのレクトリニアフレームなどの、レクトリニアフレームの中心位置を計算するために使用される境界ボックスのグループに含まれる。
4.ステップ3cで決定されたグループと同じグループの境界ボックスについて、それぞれの中心点を計算し、それを使用してグループ内の全ての境界ボックスの平均中心点(ACP:average center point)を取得する。
5.中心位置がACPになるように、レクトリニアストリームを初期化する。
6.
図8A~8Dに示すシフト方式を使用して、レクトリニアストリームの位置をシフトする。
7.ステップ3で要求された基準を満たさない境界ボックスが存在する場合、それらの境界ボックスに対してステップ3を繰り返す。
8.例えば、ステップ6を4回繰り返しても境界ボックスをグループ化できない場合は、これらの境界ボックスごとに、個別のレクトリニア仮想ストリームが作成される。
【0046】
この例では、動き領域904及び906は、魚眼ストリーム902内の位置によって単一の仮想ストリームにキャプチャできるため、仮想ストリーム916にグループ化される。一方、別の仮想ストリーム918は、動き領域908をカバーする。したがって、それぞれが所定の高さ及び幅のフレームを有する1つ以上の仮想ストリーム(例えば、仮想ストリーム916及び918)を生成でき、各仮想ストリームは、動きが存在するビデオストリームの1つ以上の領域をカバーできる。動きが存在する複数の領域(例えば、動き領域904、906及び908)をビデオストリームにおいて検出卯してもよい。複数の領域は、上記のステップ3cで1つ以上のグループに分割でき、各グループは少なくとも2つの領域を含み、少なくとも2つの領域は、それぞれ仮想ストリームのフレームの所定の高さ及び幅を超えないように、ビデオストリーム内の合計の高さ及び幅を占めている。その後、1つ以上の仮想ストリームのそれぞれを生成して、1つ以上のグループのそれぞれをカバーすることができる。1つ以上の仮想ストリームのそれぞれの生成においては、さらに、複数の領域(例えば、動き領域904、906及び908)のそれぞれの中心の座標を決定し、各グループ内の少なくとも2つの領域のそれぞれの決定された座標の平均に基づいて各グループの平均中心座標(例えば、上記のステップ4に示すようなACP)を計算してもよい。生成された各仮想ストリームのフレームの中心は、ステップ5に示すように、関連付けられたグループの平均中心座標に配置される。1つ以上の仮想ストリームの生成においては、さらに、各仮想ストリームのパン及びチルトの値を調整して、各フレームをビデオストリーム(例えば、魚眼ビデオストリーム902)の境界内に配置してもよい。
【0047】
さらに、各グループの平均中心座標をリアルタイムで更新し、各仮想ストリームのパン及びチルトの値を調整して、フレームの中心を、更新した平均中心座標に配置してもよい。
図10は、本開示の各種の実施の形態において、仮想ストリームの連続的なパン、チルト及びズームがどのように実装されるかを例示する図である。時刻T1において、レクトリニアフレーム1002を有する仮想ストリームは、魚眼ストリーム1000のSCSで完全に初期化され、仮想ストリームはRTSPを介してVMSに送信される。解析サーバは、例えば物体検出器によって、フレーム1002内の物体又は動き領域の境界ボックスを決定する。フレーム1002内のすべての物体又は動き領域の中心位置の平均が計算され、SCSに送られる。解析サーバは、最新のレクトリニアストリーム1002のUUIDと平均中心位置とをSCSに送り返す。次に、時刻T2(例えば、T2はT1の後の時点である)において、SCSは、解析サーバから送られた平均位置がレクトリニアフレームの中心となるように、レクトリニアフレーム1002の位置を新しい位置1004にシフトする。
【0048】
例えば、レクトリニアフレーム1002の初期中心位置は基準1006として表してもよく、物体又は動き領域の平均中心位置は、X座標700及びY座標550の基準1008として表してもよい。物体又は動き領域の平均中心位置がレクトリニアフレームの中心となる最適位置を達成するために、次の計算を実行して、関連する仮想ストリームのパン及びチルトの値をどのようにシフトするかを決定してもよい。
フレームの幅が1280、高さが720の場合
フレーム中心のx座標(cx):1280/2=640
フレーム中心のy座標(cy):720/2=360
したがって、必要なフレームシフトは、
X→700-640=60 (平均cx-フレームcx)
Y→550-360=190 (平均cx-フレームcx)
【0049】
したがって、仮想ストリームのパン及びチルトの値は、x軸で+60ピクセル、y軸で+190ピクセルだけレクトリニアフレーム1002がシフトするように調整する必要がある。この処理は、物体検出器のフレームレートにて継続的に実行してもよい。動き検出器は、関心のある物体又は動きが停止している時間が経過すると、動き検出を停止してもよい。そのため、関心のある物体又は動きが停止した場合に、代わりに、物体検出器を使用して境界ボックスを取得してもよい。
【0050】
図11は、本開示の実施の形態において仮想ストリームがどのようにシャットダウンされるかを例示する図である。例えば、ユーザが定義可能な時間を経過した後でも、分析サーバの物体検出器が、仮想ストリーム内の物体又は動き領域を検出できない(例えば、
図11の右側に示すように、仮想ストリームのレクトリニアフレーム1100には識別される物体がない)場合があるため、例えば物体の座標値「0」を示す「シャットダウン」制御メッセージ1102を、SCSサーバに送信する。SCSサーバは、該当する動き領域1106の境界ボックス1104(例えば、動き検出器によって定義される境界ボックス)を使用して、境界領域1104で囲まれた領域内の以降の動きが無視されるように、無視領域を設定する。この「無視」条件は、後続の動きが境界ボックス1104内の領域と、例えば、ユーザが定義可能な最小及び最大の重複割合で、重複していることが検出された場合、削除されてもよい。
【0051】
図12は、本開示の他の実施の形態において仮想ストリームがどのようにシャットダウンされるかを例示する図である。例えば、
図12の左上側の時刻T1において、SCSサーバの動き検出器は、動きが存在する領域1200を検出し、その領域1200をカバーする仮想ストリーム1202を生成してもよい。しかし、分析サーバの物体検出器(
図12の右側を参照)は、仮想ストリーム1202内で、対象の物体や動きではない可能性のある物体1204を検出してもよい。例えば、物体1204は、強風によって動いている可能性のあるコートである場合がある。その後、物体検出器は、物体1204の境界ボックス1208に関連付けられた座標1206を、SCSサーバに送信してもよい。座標1206は、領域1200の動き検出器境界ボックス1210に関連付けられた座標と比較して、例えば交差の和(Union of Intersection)アルゴリズムを用いて動き検出器境界ボックス1210について検出された物体(例えば、物体1204)のそれぞれを比較することで、重複があるか否かを判断できる。例えば、比較によって境界ボックス1210と50%以上の重複があると判断された場合、物体検出器が動き検出の原因となる物体を検出したと見なされる。したがって、
図12の左下側の時刻T2において、SCSサーバは、該当する動き領域1200の更新された境界ボックス1212(例えば、動き検出器によって検出された動きによって更新された境界ボックス)を使用して、境界領域1212で囲まれた領域内のそれ以降の動きが無視されるように、無視領域を設定する。また、仮想ストリーム1202はシャットダウンされる。この「無視」条件は、後続の動きが境界ボックス1212内の領域と、例えば、ユーザが定義可能な最小及び最大の重複割合で、重複していることが検出された場合、削除されてもよい。
【0052】
図13は、本開示の他の実施の形態において仮想ストリームがどのようにシャットダウンされるかを例示する図である。例えば、
図13の左上側の時刻T1において、SCSサーバの動き検出器は、動きが存在する領域1300を検出し、領域1300をカバーする仮想ストリーム1302を生成してもよい。しかし、分析サーバの動き検出器は、仮想ストリーム1302内で、対象の動きではない可能性のある動き1304を検出してもよい。例えば、動き1304は、「眠り」として検出されてもよい。このような動きは、対象の物体又は動きではないおそれがあり、動き1304の境界ボックス1308の領域は、ユーザが定義可能な期間においてx%類似していてもよい。そして、動き検出器は、動き1304の境界ボックス1308に関連付けられた座標1306を、SCSサーバに送信してもよい。座標1306は、領域1300の動き検出器境界ボックス1310に関連付けられた座標と比較して、例えば交差の和(Union of Intersection)アルゴリズムを用いて動き検出器境界ボックス1310について検出された物体(例えば、動き1304)のそれぞれを比較することで、重複があるか否かを判断できる。例えば、境界ボックス1210と50%以上の重複があると比較によって判断された場合、動き検出器が動き検出の原因となる動き検出したと見なされる。したがって、
図13の左下側の時刻T2において、SCSサーバは、該当する動き領域1300の更新された境界ボックス1312(例えば、動き検出器によって検出された動きによって更新された境界ボックス)を使用して、境界領域1312で囲まれた領域内のそれ以降の動きが無視されるように、無視領域を設定する。また、仮想ストリーム1302はシャットダウンされる。この「無視」条件は、後続の動きが境界ボックス1312内の領域と、例えば、ユーザが定義可能な最小及び最大の重複割合で、重複していることが検出された場合、削除されてもよい。
【0053】
要約すると、提案するシステムと従来のシステムの違いは、以下の通りである。
(1)魚眼ビデオでの動き検出に基づく魚眼ビデオから、動的なレクトリニアストリームの作成すること。動き領域が当該ストリームの中心に配置されるように、当該ストリームの位置が作成される。
(2)人の間のアクティビティ検出を最適化するために、ストリーム内の対象の物体の検出位置に基づいてレクトリニアストリームをシフトすること。
(3)物体検出器からのフィードバックに基づいて作成されたレクトリニアストリームを、動的にシャットダウンすること。
(4)魚眼ビデオで検出された動きがユーザ定義可能な条件を満たしている場合にのみ、動的レクトリニアストリームを再作成又は再生成すること。
【0054】
図14は、本開示の各種の実施の形態にかかるビデオストリーム内での動き監視の例示的なフローチャート1400である。ステップ1402では、仮想ストリーム内に存在する動きから関心のある動きを識別する。仮想ストリームは、動きが存在するビデオストリームの領域をカバーする。関心のある動きは、監視の対象となる動きである。カバーされるビデオストリームの領域は、仮想ストリームのパン及びチルトの値によって制御可能である。
ステップ1404では、仮想ストリームのパン及びチルトの値を調整して、仮想ストリームの中心に関心のある動きを配置する。
【0055】
図15は、各種の実施の形態においてビデオストリーム内の動きを監視するためのシステム1500を示すブロック図である。一例においては、ビデオ入力ストリームの管理は、少なくともビデオキャプチャ装置1502と装置1504によって行われる。システム1500は、装置1504と通信するビデオキャプチャ装置1502を有する。実装においては、装置1504は、一般に、すくなくとも1つのプロセッサ1506と、コンピュータプログラムコードを含む少なくとも1つのメモリ1508と、を有する物理デバイスとして記述されてもよい。少なくとも1つのメモリ1508とコンピュータプログラムコードとは、少なくとも1つのプロセッサ1506により、物理デバイスが
図7及び
図10の一方又は両方で示される動作を実行するように構成される。プロセッサ1506は、ビデオキャプチャ装置1502からビデオストリームを受信するか、データベース1510からビデオストリームを取得するように構成される。
【0056】
ビデオキャプチャ装置1502は、ビデオストリームを入力できる装置であってもよい。例えば、ビデオを入力として使用できるように、デジタルビデオを入力したり、ビデオの物理コピーを入力することができる。ビデオキャプチャ装置1502は、ビデオストリームを生成して装置1504の入力ビデオストリームとして使用できる、CCTVカメラなどのビデオカメラであってもよい。ビデオキャプチャ装置1502は、ビデオストリームを生成して装置1504の入力ビデオストリームとして使用できる、魚眼カメラなどのビデオカメラであってもよい。
【0057】
装置1504は、イメージキャプチャ装置1502及びデータベース1510と通信するように構成されてもよい。一例においては、装置1504は、ビデオキャプチャ装置1502から入力ビデオストリームを受信し、又は、データベース1510から入力ビデオストリームを取得し、装置1504のプロセッサ1506での処理後、仮想ストリームに存在する動きから対象の動きを識別してもよい。仮想ストリームは、動きが存在するビデオストリームの領域をカバーする。対象の動きは、監視の対象となる動きである。カバーされるビデオストリームの領域は、仮想ストリームのパン及びチルトの値によって制御可能である。そして、装置1504は、仮想ストリームのパン及びチルトの値を調整して、対象の動きを仮想ストリームの中心に配置してもよい。
【0058】
図16は、以下同じ意味において、コンピュータシステム1600又は装置1600と称される例示的な計算装置1600を示している。ここでは、
図15に示すシステム1500又はこれよりも前の図の方法を実装するため、1つ以上のこのような計算装置1600を使用してもよい。計算装置1600の以下の説明は、一例としてのみ提供されるものであり、これに制限されることを意図するものではない。
【0059】
図16に示すように、例示する計算装置1600は、ソフトウェアルーチンを実行するためのプロセッサ1604を有する。明確化のため、単一のプロセッサが示されているが、計算装置1600は、マルチプロセッサシステムを含んでいてもよい。プロセッサ1604は、計算装置1600の他のコンポーネントと通信するために、通信インフラストラクチャ1606に接続されている。通信インフラストラクチャ1606は、例えば、通信バス、クロスバー又はネットワークを含んでいてもよい。
【0060】
計算装置1600は、ランダムアクセスメモリ(RAM)などの一次メモリ1608と二次メモリ1610とをさらに含む。二次メモリ1610は、例えば、ハードディスクドライブ、ソリッドステートドライブ又はハイブリッドドライブであってもよいストレージドライブ1612、及び/又は、磁気テープドライブ、光ディスクドライブ、ソリッドステートストレージドライブ(USBフラッシュドライブ、フラッシュメモリデバイス、ソリッドステートドライブ、メモリカードなど)などを含んでもよいリムーバブルストレージドライブ1614を含んでいてもよい。リムーバブルストレージドライブ1614は、既知の方法でリムーバブルストレージ媒体1618からの読み込み又はリムーバブルストレージ媒体1618への書き込みの一方又は両方を行う。リムーバブルストレージ媒体1618は、磁気テープ、光ディスク、不揮発性メモリ記憶媒体などを含んでもよく、リムーバブルストレージドライブ1614によって読み書きされる。当業者であれば理解できるように、リムーバブルストレージ媒体1618は、コンピュータが実行可能なプログラムコード命令及び/又はデータを格納した、コンピュータが読み取り可能な記憶媒体を含む。
【0061】
別の実装においては、二次メモリ1610は、コンピュータプログラム又は他の命令を計算装置1600にロードできるようにするための他の同様の手段を、追加的又は代替的に含んでもよい。このような手段として、例えば、リムーバブルストレージユニット1622及びインターフェイス1620を含んでもよい。リムーバブルストレージユニット1622及びインターフェイス1620の例としては、プログラムカートリッジ及びカートリッジインターフェイス(ビデオゲームコンソールデバイスに見られるものなど)、リムーバブルメモリチップ及び関連ソケット、リムーバブルソリッドステート記憶装置(USBフラッシュドライブ、フラッシュメモリデバイス、ソリッドステートドライブ、メモリカードなど)、その他のリムーバブルストレージユニット1622及びインターフェイス1620がある。これらにより、ソフトウェア及びデータをリムーバブルストレージユニット1622からコンピュータシステム1600に転送することができる。
【0062】
また、計算装置1600は、少なくとも1つの通信インターフェイス1624を含む。通信インターフェイス1624により、計算装置1600と外部デバイスとの間で、通信経路1626を介して、ソフトウェア及びデータを転送することが可能である。本発明の各種の実施の形態において、通信インターフェイス1624により、計算装置1600と、公的データ通信ネットワーク又は私的データ通信ネットワークなどのデータ通信ネットワークと、の間で、データの転送が可能である。通信インターフェイス1624は、このような計算装置1600が相互に接続されたコンピュータネットワークの一部を形成する、異なる計算装置1600の間でデータをやり取りするために使用されてもよい。通信インターフェイス1624の例には、モデム、ネットワークインターフェイス(シリアル、パラレル、プリンタ、GPIB、IEEE 1394、RJ45、USBなど)、通信ポート及び関連する回路を有するアンテナなどが含むことができる。通信インターフェイス1624は、有線でも無線でもよい。通信インターフェイス1624を介して転送されるソフトウェア及びデータは、通信インターフェイス1624で受信可能な電子信号、電磁信号、光学信号又はその他の信号形式である。これらの信号は、通信経路1624を介して、通信インターフェイスに提供される。
【0063】
図16に示すように、計算装置1600は、関連するディスプレイ1630に画像又はビデオをレンダリングする動作を実行するディスプレイインターフェイス1602と、関連するスピーカ1634を介してオーディオコンテンツを再生する動作を実行するオーディオインターフェイス1632と、をさらに含んでもよい。
【0064】
ここで用いられる「プログラム製品」(又は、非一時的なコンピュータ可読媒体であってもよいコンピュータ可読媒体)という用語は、部分的に、リムーバブルストレージ媒体1618、リムーバブルストレージユニット1622及びストレージドライブ1612に取り付けられたハードディスク又は通信経路1626(無線リンク又はケーブル)を介して通信インターフェイス1624にソフトウェアを運ぶ搬送波を指すものであってもよい。コンピュータ可読記憶媒体(またはコンピュータ可読媒体)は、実行及び/又は処理のために記録された命令及び/又はデータを計算装置1600に提供する、任意の非一時的かつ不揮発性の有形記憶媒体を指す。このような記憶媒体の例としては、磁気テープ、CD-ROM、DVD、Blu-ray(登録商標)ディスク、ハードディスクドライブ、ROM又は集積回路、ソリッドステートストレージドライブ(USBフラッシュドライブ、フラッシュメモリデバイス、ソリッドステートドライブ、メモリカードなど)、ハイブリッドドライブ、光磁気ディスク又はPCMCIAカードなどのコンピュータ可読カードなどがあり、これらのデバイスが計算装置1600の内部に有るか、又は、外部に有るかは問わない。計算装置1600へのソフトウェア、アプリケーションプログラム、命令及び/又はデータの提供に関わる可能性のある一時的又は無形のコンピュータ可読伝送媒体の例としては、無線又は赤外線の伝送チャネルだけでなく、別のコンピュータ又はネットワーク化されたデバイスへのネットワーク接続、電子メールの送信及びウェブサイトなどに記録された情報などを含むインターネット又はイントラネットがある。
【0065】
コンピュータプログラム(コンピュータプログラムコードとも呼ばれる)は、一次メモリ1608及び二次メモリ1610の一方又は両方に格納される。コンピュータプログラムは、通信インターフェイス1624を介して受信することもできる。このようなコンピュータプログラムが実行されることで、計算装置1600は、ここで説明する実施の形態の1つ以上の機能を実現できる。各種の実施の形態において、コンピュータプログラムが実行されることで、プロセッサ1604が上述の実施の形態の機能を実現できる。したがって、このようなコンピュータプログラムは、コンピュータシステム1600のコントローラとして振る舞う。
【0066】
ソフトウェアは、コンピュータプログラム製品に格納され、リムーバブルストレージドライブ1614、ストレージドライブ1612又はインターフェイス1620を使用して計算装置1600にロードされる。コンピュータプログラム製品は、非一時的なコンピュータ可読媒体であってもよい。また、コンピュータプログラム製品は、通信経路1626を介して、コンピュータシステム1600にダウンロードされてもよい。ソフトウェアがプロセッサ1604によって実行されることで、計算装置1600は、ここで説明する実施の形態の機能を実行する。
【0067】
図16の実施の形態は、単なる例示であるものと理解されるべきである。よって、いくつかの実施の形態では、計算装置1600の1つ以上の特徴を省略してもよい。また、いくつかの実施の形態では、計算装置1600の1つ以上の特徴を組み合わせてもよい。さらに、いくつかの実施の形態では、計算装置1600の1つ以上の特徴が1つ以上の部品に分割されてもよい。
【0068】
広範に説明される本発明の精神または範囲から逸脱することなく、特定の実施の形態に示されているように、本発明に対して、多数のバリエーション及び修正の一方又は両方を加えることができることは、当業者にとっては言うまでも無い。例えば、上述では、主に視覚的インターフェイス上での警報を提示している。しかし、音声での警報のような別のタイプの警報の提示を代替的な実施の形態で使用して、同様の方法を実装できることは、言うまでも無い。例えば、アクセスポイントの追加、ログインルーチンの変更など、いくつかの変更を検討し、かつ、組み込むことができる。したがって、本実施例は、全ての点において例示的であり、限定的ではないと考えられる。
【0069】
例えば、上述の実施の形態の全部又は一部は、以下のように付記として記述することができるが、これには限定されない。
【0070】
(付記1)仮想ストリームに存在する動きから、関心のある動きを識別し、前記仮想ストリームは動きが存在する領域をカバーし、前記関心のある動きは監視対象の動きであり、カバーされる前記ビデオストリームの前記領域は前記仮想ストリームのパン及びチルトの値によって制御可能であり、前記仮想ストリームの前記パン及びチルトの値を調整して、前記関心のある動きを、前記仮想ストリームの中心に配置する、ビデオストリーム内の動きを監視する方法。
【0071】
(付記2)さらに、前記ビデオストリームの静止している領域を無視することにより、又は、前記ビデオストリームで動いている領域をカバーするために前記ビデオストリームを生成することにより、前記ビデオストリーム内の前記動きが存在する領域を検出する、付記1に記載のビデオストリーム内の動きを監視する方法。
【0072】
(付記3)前記仮想ストリームのパン及びチルトの値の調整では、さらに、前記ビデオストリームでの前記関心のある動きの中心に対応する座標を決定し、前記仮想ストリームの前記パン及びチルトの値を調整して、前記仮想ストリームの中心を、決定した前記座標に配置する、付記1に記載のビデオストリーム内の動きを監視する方法。
【0073】
(付記4)前記仮想ストリームの前記パン及びチルトの値の調整をリアルタイムで行う、請求項1に記載のビデオストリーム内の動きを監視する方法。
【0074】
(付記5)前記関心のある動きの識別では、さらに、前記関心のある動きが前記仮想ストリーム内で識別されない場合に、前記仮想ストリームをシャットダウンする、付記1に記載のビデオストリーム内の動きを監視する方法。
【0075】
(付記6)前記関心のある動きの識別では、さらに、前記仮想ストリーム内で複数の関心のある動きが識別された場合に前記仮想ストリームをシャットダウンし、複数の新しい仮想ストリームを生成し、前記新しい仮想ストリームのそれぞれは、前記複数の関心のある動きのそれぞれが存在するビデオストリームの領域をカバーする、付記1に記載のビデオストリーム内の動きを監視する方法。
【0076】
(付記7)前記関心のある動きの識別では、識別された前記関心のある動きが前記仮想ストリーム内で一定時間静止している場合に、前記仮想ストリームをシャットダウンする、付記2に記載のビデオストリーム内の動きを監視する方法。
【0077】
(付記8)さらに、前記識別された前記関心のある動きが前の位置から動いて逸脱しているかどうかを検出し、検出に応じて前記仮想ストリームを再生成する、請求項8に記載のビデオストリーム内の動きを監視する方法。
【0078】
(付記9)さらに、それぞれが所定の高さ及び幅のフレームを有する1つ以上の仮想ストリームを生成し、各仮想ストリームは、動きが存在する前記ビデオストリームの1つ以上の領域をカバーする、付記2に記載のビデオストリーム内の動きを監視する方法。
【0079】
(付記10)前記ビデオストリーム内で動きが存在する複数の領域を検出し、前記複数の領域を1つ以上のグループに分割し、 各グループは少なくとも2つの領域を含み、少なくとも2つの領域のそれぞれは、前記ビデオストリーム内において、前記仮想ストリームのフレームの前記所定の高さ及び幅を超えない、合計の高さ及び幅を占有し、前記1つ以上のグループのそれぞれをカバーする1つ以上の仮想ストリームのそれぞれを生成する、付記9に記載のビデオストリーム内の動きを監視する方法。
【0080】
(付記11)前記1つ以上の仮想ストリームのそれぞれの生成では、前記複数の領域のそれぞれの中心の座標を決定し、各グループの前記少なくとも2つの領域のそれぞれについて決定した前記座標の平均に基づいて各グループの平均中心座標を計算し、生成された各仮想ストリームの前記フレームの中心は、関連付けられたグループの前記平均中心座標に配置される、付記10に記載のビデオストリーム内の動きを監視する方法。
【0081】
(付記12)さらに、各グループの前記平均中心座標をリアルタイムで更新し、更新された前記平均中心座標に前記フレームの中心が配置されるように、各仮想ストリームの前記パン及びチルトの値を調整する、付記11に記載のビデオストリーム内の動きを監視する方法。
【0082】
(付記13)前記1つ以上の仮想ストリームの生成では、さらに、各仮想ストリームの前記パン及びチルトの値を調整して、各フレームを前記ビデオストリームの境界内に配置する、付記9に記載のビデオストリーム内の動きを監視する方法。
【0083】
(付記14)プロセッサと通信するメモリを備え、前記メモリは、前記メモリに記録されたコンピュータプログラムを格納し、前記コンピュータプログラムは前記プロセッサによって実行可能であり、前記プログラムの実行によって、少なくとも、装置に、仮想ストリームに存在する動きから、関心のある動きを識別する処理を行わせ、前記仮想ストリームは動きが存在する領域をカバーし、前記関心のある動きは監視対象の動きであり、カバーされる前記ビデオストリームの前記領域は前記仮想ストリームのパン及びチルトの値によって制御可能であり、前記仮想ストリームの前記パン及びチルトの値を調整して、前記関心のある動きを、前記仮想ストリームの中心に配置する処理を行わせる、ビデオストリーム内の動きの監視装置。
【0084】
(付記15)前記メモリ及び前記コンピュータプログラムが前記プロセッサによって実行されることで、さらに、前記装置に、前記ビデオストリームの静止している領域を無視することにより、又は、前記ビデオストリームで動いている領域をカバーするために前記ビデオストリームを生成することにより、前記ビデオストリーム内の前記動きが存在する領域を検出する処理を行わせる、付記14に記載のビデオストリーム内の動きの監視装置。
【0085】
(付記16)前記仮想ストリームのパン及びチルトの値の調整では、さらに、前記ビデオストリームでの前記関心のある動きの中心に対応する座標を決定し、前記仮想ストリームの前記パン及びチルトの値を調整して、前記仮想ストリームの中心を、決定した前記座標に配置する、付記14に記載のビデオストリーム内の動きの監視装置。
【0086】
(付記17)前記仮想ストリームの前記パン及びチルトの値の調整をリアルタイムで行う、付記14に記載のビデオストリーム内の動きの監視装置。
【0087】
(付記18)前記関心のある動きの識別では、さらに、前記関心のある動きが前記仮想ストリーム内で識別されない場合に、前記仮想ストリームをシャットダウンする、付記14に記載のビデオストリーム内の動きの監視装置。
【0088】
(付記19)前記関心のある動きの識別では、さらに、前記仮想ストリーム内で複数の関心のある動きが識別された場合に前記仮想ストリームをシャットダウンし、複数の新しい仮想ストリームを生成し、前記新しい仮想ストリームのそれぞれは、前記複数の関心のある動きのそれぞれが存在するビデオストリームの領域をカバーする、付記14に記載のビデオストリーム内の動きの監視装置。
【0089】
(付記20)前記関心のある動きの識別では、識別された前記関心のある動きが前記仮想ストリーム内で一定時間静止している場合に、前記仮想ストリームをシャットダウンする、付記15に記載のビデオストリーム内の動きの監視装置。
【0090】
(付記21)前記メモリ及び前記コンピュータプログラムが前記プロセッサによって実行されることで、さらに、前記装置に、前記識別された前記関心のある動きが前の位置から動いて逸脱しているかどうかを検出させ、検出に応じて前記仮想ストリームを再生成させる、付記20に記載のビデオストリーム内の動きの監視装置。
【0091】
(付記22)前記メモリ及び前記コンピュータプログラムが前記プロセッサによって実行されることで、さらに、前記装置に、それぞれが所定の高さ及び幅のフレームを有する1つ以上の仮想ストリームを生成させ、各仮想ストリームは、動きが存在する前記ビデオストリームの1つ以上の領域をカバーさせる、付記15に記載のビデオストリーム内の動きの監視装置。
【0092】
(付記23)前記メモリ及び前記コンピュータプログラムが前記プロセッサによって実行されることで、さらに、前記装置に、前記ビデオストリーム内で動きが存在する複数の領域を検出させ、前記複数の領域を1つ以上のグループに分割し、各グループは少なくとも2つの領域を含み、少なくとも2つの領域のそれぞれは、前記ビデオストリーム内において、前記仮想ストリームのフレームの前記所定の高さ及び幅を超えない、合計の高さ及び幅を占有し、前記1つ以上のグループのそれぞれをカバーする1つ以上の仮想ストリームのそれぞれを生成させる、付記22に記載のビデオストリーム内の動きの監視装置。
【0093】
(付記24)前記1つ以上の仮想ストリームのそれぞれの生成では、前記複数の領域のそれぞれの中心の座標を決定し、各グループの前記少なくとも2つの領域のそれぞれについて決定した前記座標の平均に基づいて各グループの平均中心座標を計算し、生成された各仮想ストリームの前記フレームの中心は、関連付けられたグループの前記平均中心座標に配置される、付記23に記載のビデオストリーム内の動きの監視装置。
【0094】
(付記25)前記メモリ及び前記コンピュータプログラムが前記プロセッサによって実行されることで、さらに、前記装置に、各グループの前記平均中心座標をリアルタイムで更新させ、更新された前記平均中心座標に前記フレームの中心が配置されるように、各仮想ストリームの前記パン及びチルトの値を調整させる、付記24に記載のビデオストリーム内の動きの監視装置。
【0095】
(付記26)前記1つ以上の仮想ストリームの生成では、さらに、各仮想ストリームの前記パン及びチルトの値を調整して、各フレームを前記ビデオストリームの境界内に配置する、付記23に記載のビデオストリーム内の動きの監視装置。
【0096】
(付記27)付記14乃至26のいずれか一つに記載の前記ビデオストリーム内の動きの監視装置と、少なくとも1つのビデオキャプチャ装置と、を備える、ビデオストリーム内の動きの監視システム。
【0097】
本発明は、実施の形態を参照して特に示され、かつ、説明されているが、本発明はこれらの実施の形態に例に限定されるものではない。本発明の精神および範囲から逸脱することなく、形態および細部に様々な変更を加えることができることは、当業者には理解されるであろう。
【0098】
本出願は、2021年8月6日に出願されたシンガポール特許出願10202108637Tに基づき、かつ、原出願を基礎とする優先権の利益を主張するものであり、原出願における開示は参照によりその全体が本出願に組み込まれる。
【手続補正書】
【提出日】2024-01-25
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
仮想ストリームに存在する動きから、関心のある動きを識別し、前記仮想ストリームは動きが存在する領域をカバーし、前記関心のある動きは監視対象の動きであり、カバーされる前記ビデオストリームの前記領域は前記仮想ストリームのパン及びチルトの値によって制御可能であり、
前記仮想ストリームの前記パン及びチルトの値を調整して、前記関心のある動きを、前記仮想ストリームの中心に配置する、
ビデオストリーム内の動きを監視する方法。
【請求項2】
さらに、前記ビデオストリームの静止している領域を無視することにより、又は、前記ビデオストリームで動いている領域をカバーするために前記ビデオストリームを生成することにより、前記ビデオストリーム内の前記動きが存在する領域を検出する、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項3】
前記仮想ストリームのパン及びチルトの値の調整では、さらに、
前記ビデオストリームでの前記関心のある動きの中心に対応する座標を決定し、
前記仮想ストリームの前記パン及びチルトの値を調整して、前記仮想ストリームの中心を、決定した前記座標に配置する、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項4】
前記仮想ストリームの前記パン及びチルトの値の調整をリアルタイムで行う、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項5】
前記関心のある動きの識別では、さらに、前記関心のある動きが前記仮想ストリーム内で識別されない場合に、前記仮想ストリームをシャットダウンする、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項6】
前記関心のある動きの識別では、さらに、
前記仮想ストリーム内で複数の関心のある動きが識別された場合に前記仮想ストリームをシャットダウンし、
複数の新しい仮想ストリームを生成し、
前記新しい仮想ストリームのそれぞれは、前記複数の関心のある動きのそれぞれが存在するビデオストリームの領域をカバーする、
請求項1に記載のビデオストリーム内の動きを監視する方法。
【請求項7】
前記関心のある動きの識別では、識別された前記関心のある動きが前記仮想ストリーム内で一定時間静止している場合に、前記仮想ストリームをシャットダウンする、
請求項2に記載のビデオストリーム内の動きを監視する方法。
【請求項8】
さらに、前記識別された前記関心のある動きが前の位置から動いて逸脱しているかどうかを検出し、
検出に応じて前記仮想ストリームを再生成する、
請求項7に記載のビデオストリーム内の動きを監視する方法。
【請求項9】
プロセッサと通信するメモリを備え、
前記メモリは、前記メモリに記録されたコンピュータプログラムを格納し、前記コンピュータプログラムは前記プロセッサによって実行可能であり、
前記プログラムの実行によって、少なくとも、装置に、
仮想ストリームに存在する動きから、関心のある動きを識別する処理を行わせ、前記仮想ストリームは動きが存在する領域をカバーし、前記関心のある動きは監視対象の動きであり、カバーされる前記ビデオストリームの前記領域は前記仮想ストリームのパン及びチルトの値によって制御可能であり、
前記仮想ストリームの前記パン及びチルトの値を調整して、前記関心のある動きを、前記仮想ストリームの中心に配置する処理を行わせる、
ビデオストリーム内の動きの監視装置。
【請求項10】
請求項
9に記載の前記ビデオストリーム内の動きの監視装置と、
少なくとも1つのビデオキャプチャ装置と、を備える、
ビデオストリーム内の動きの監視システム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0041
【補正方法】変更
【補正の内容】
【0041】
図7は、本開示の各種の実施の形態にかかる魚眼ストリームによる動き監視について提案するワークフローのフローチャート700の例を示す。ステップ702では、魚眼ビデオストリームの動きを検出するためにバックグラウンド減算が利用される。このバックグラウンド減算においては、ビデオストリームに動きが存在する領域を検出し、静止しているビデオストリームの領域を無視し、動いているビデオストリームの領域をカバーする仮想ストリームを生成してもよい。ステップ704では、動きが検出されたかどうかを判断する。動きが検出されない場合には、ステップ702に戻る。それ以外の場合にはステップ
706に進み、ステップ724からの条件が存在するかどうかを判断する。条件が存在する場合にはステップ708に進み、ステップ724で要求された条件が満たされているかどうかを判断する。条件が満たされていないと判断した場合にはステップ702に戻る。また、ステップ706においてステップ724の条件が存在すると判断した場合、又は、ステップ708においてステップ724の条件が満たされていると判断した場合、処理はステップ710に進む。ステップ710では、ストリームコントローラが、動きが検出された魚眼ビデオストリームの領域について、仮想ストリームなどのレクトリニアストリームを作成又は生成する。ステップ712では、ストリームコントローラは、物体検出器からのメッセージをリッスンして、仮想ストリームのパン及びチルトの値を更新し、又は、仮想ストリームをシャットダウンする。ステップ714では、物体検出器は、例えばX秒の期間、仮想ストリームを観察する。ステップ716では、関心のある物体又は動きが検出されたか否かを判断する。関心のある物体又は動きが検出されなかったと判断された場合、処理はステップ718に進み、物体検出器は仮想ストリームをシャットダウンする信号をストリームコントローラに送信する。その後、処理はステップ712に戻る。また、ステップ716において関心のある物体又は動きが検出された場合、処理はステップ720に進み、物体検出器は、検出された関心のある物体のビデオストリームフレームにおける平均中心位置を送信して、仮想ストリームの仮想のパン及びチルトの値を継続的に更新する。例えば、ビデオストリームにおける関心のある動きの中心に対応する座標を決定し、仮想ストリームのパン及びチルトの値を調整して、決定された座標に、仮想ストリームの中心を配置してもよい。物体検出器は、関心のある物体又は動きの更新位置の連続的なストリームを、ストリームコントローラに送信してもよい。これにより、関心のある物体又は動きを、常に、仮想ストリームの中心位置に保持できる。また、仮想ストリームのパン及びチルトの値の調整は、リアルタイムで行われてもよい。ステップ722では、例えば分析サーバによって、関心のある物体又は動きが異常であるか、例えばY秒などの一定時間静止しているかを判断する。関心のある物体又は動きが異常でも静止でもないと判断された場合、ステップ720に戻る。それ以外の場合は、処理はステップ724に進み、仮想ストリームをシャットダウンするメッセージ又は通知が送信される。例えば、分析サーバは、将来に検出される動きが現在の位置から一定の割合だけ異なる場合にのみ、仮想ストリームをシャットダウンし、仮想ストリームを再生成又は再作成する通知を、ストリームコントローラに送信してもよい。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0044
【補正方法】変更
【補正の内容】
【0044】
これらの計算を適用することで、レクトリニアフレーム808の初期位置をフレーム位置812に、レクトリニアフレーム810の初期位置をフレーム位置814に、レクトリニアフレーム816の初期位置をフレーム位置818に、レクトリニアフレーム820の初期位置をフレーム位置822に調整できます。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0048
【補正方法】変更
【補正の内容】
【0048】
例えば、レクトリニアフレーム1002の初期中心位置は基準1006として表してもよく、物体又は動き領域の平均中心位置は、X座標700及びY座標550の基準1008として表してもよい。物体又は動き領域の平均中心位置がレクトリニアフレームの中心となる最適位置を達成するために、次の計算を実行して、関連する仮想ストリームのパン及びチルトの値をどのようにシフトするかを決定してもよい。
フレームの幅が1280、高さが720の場合
フレーム中心のx座標(cx):1280/2=640
フレーム中心のy座標(cy):720/2=360
したがって、必要なフレームシフトは、
X→700-640=60 (平均cx-フレームcx)
Y→550-360=190 (平均cy-フレームcy)
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0052
【補正方法】変更
【補正の内容】
【0052】
図13は、本開示の他の実施の形態において仮想ストリームがどのようにシャットダウンされるかを例示する図である。例えば、
図13の左上側の時刻T1において、SCSサーバの動き検出器は、動きが存在する領域1300を検出し、領域1300をカバーする仮想ストリーム1302を生成してもよい。しかし、分析サーバの動き検出器は、仮想ストリーム1302内で、対象の動きではない可能性のある動き1304を検出してもよい。例えば、動き1304は、「眠り」として検出されてもよい。このような動きは、対象の物体又は動きではないおそれがあり、動き1304の境界ボックス1308の領域は、ユーザが定義可能な期間においてx%類似していてもよい。そして、動き検出器は、動き1304の境界ボックス1308に関連付けられた座標1306を、SCSサーバに送信してもよい。座標1306は、領域1300の動き検出器境界ボックス1310に関連付けられた座標と比較して、例えば交差の和(Union of Intersection)アルゴリズムを用いて動き検出器境界ボックス1310について検出された物体(例えば、動き1304)のそれぞれを比較することで、重複があるか否かを判断できる。例えば、境界ボックス
1310と50%以上の重複があると比較によって判断された場合、動き検出器が動き検出の原因となる動き検出したと見なされる。したがって、
図13の左下側の時刻T2において、SCSサーバは、該当する動き領域1300の更新された境界ボックス1312(例えば、動き検出器によって検出された動きによって更新された境界ボックス)を使用して、境界領域1312で囲まれた領域内のそれ以降の動きが無視されるように、無視領域を設定する。また、仮想ストリーム1302はシャットダウンされる。この「無視」条件は、後続の動きが境界ボックス1312内の領域と、例えば、ユーザが定義可能な最小及び最大の重複割合で、重複していることが検出された場合、削除されてもよい。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0057
【補正方法】変更
【補正の内容】
【0057】
装置1504は、ビデオキャプチャ装置1502及びデータベース1510と通信するように構成されてもよい。一例においては、装置1504は、ビデオキャプチャ装置1502から入力ビデオストリームを受信し、又は、データベース1510から入力ビデオストリームを取得し、装置1504のプロセッサ1506での処理後、仮想ストリームに存在する動きから対象の動きを識別してもよい。仮想ストリームは、動きが存在するビデオストリームの領域をカバーする。対象の動きは、監視の対象となる動きである。カバーされるビデオストリームの領域は、仮想ストリームのパン及びチルトの値によって制御可能である。そして、装置1504は、仮想ストリームのパン及びチルトの値を調整して、対象の動きを仮想ストリームの中心に配置してもよい。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0062
【補正方法】変更
【補正の内容】
【0062】
また、計算装置1600は、少なくとも1つの通信インターフェイス1624を含む。通信インターフェイス1624により、計算装置1600と外部デバイスとの間で、通信経路1626を介して、ソフトウェア及びデータを転送することが可能である。本発明の各種の実施の形態において、通信インターフェイス1624により、計算装置1600と、公的データ通信ネットワーク又は私的データ通信ネットワークなどのデータ通信ネットワークと、の間で、データの転送が可能である。通信インターフェイス1624は、このような計算装置1600が相互に接続されたコンピュータネットワークの一部を形成する、異なる計算装置1600の間でデータをやり取りするために使用されてもよい。通信インターフェイス1624の例には、モデム、ネットワークインターフェイス(シリアル、パラレル、プリンタ、GPIB、IEEE 1394、RJ45、USBなど)、通信ポート及び関連する回路を有するアンテナなどが含むことができる。通信インターフェイス1624は、有線でも無線でもよい。通信インターフェイス1624を介して転送されるソフトウェア及びデータは、通信インターフェイス1624で受信可能な電子信号、電磁信号、光学信号又はその他の信号形式である。これらの信号は、通信経路1626を介して、通信インターフェイスに提供される。
【国際調査報告】