説明

ビデオ分析処理方法

【課題】注目ピクセル群を画像からSIMD型プロセッサに適するように選択する。
【解決手段】第1フェーズでは、注目ピクセル群を、所定のマスク23を使用して収集し、そしてピクセルマトリクスに格納する。第2フェーズでは、ビデオ分析処理をピクセルマトリクスに対して行ない、そして第3フェーズでは、これらのピクセルを、同じ所定のマスク23を使用して分散させる。これにより、多数のピクセルを同時に処理することができるので、総合性能を向上させることができる。DMAユニットを使用して、ピクセル群を収集し、そして分散させている間のプロセッサの処理負荷を無くすこともできるので、性能を更に向上させることができる。ネットワークカメラにビデオ分析システムを一体化させることにより、ネットワークトラフィックを減らす。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオ分析作業を効率的に行なう方法、対応するコンピュータプログラム及びカメラに関する。
【背景技術】
【0002】
ビデオ分析またはビデオコンテンツ分析は、ビデオモーション検出システム及び音声検出システムから、さらに高機能のシステムに跨って行なわれ、ビデオ分析またはビデオコンテンツ分析として、カメラ改ざん検出、人数カウント処理、注目ラインまたは領域を横切るオブジェクトの検出、車両ナンバープレート認識、前景部分及び背景部分へのビデオの分割、オブジェクトのトラッキング、トラフィック分析、メタデータ抽出、生体認証アプリケーション、及び顔認識を挙げることができる。ビデオ分析によって更に、監視システムがさらに高機能になるので、画像データの膨大な量を管理可能なレベルにまで減らすことができる。高性能ビデオ監視システムは、例えば監視ビデオをリアルタイムに自動的に分析し、そしてタグ付けし、疑わしい行為を検出し、ビデオ撮影を開始し、アラームまたは他のアクションを起動して、オペレータまたは他の担当者に警告を発することができる。
【0003】
監視用途では、ビデオ分析を使用してモーションを検出することが多い。モーション検出は、一つのシーンの中の行為を、画像データを分析することにより定義する方法であり、そして監視カメラの全視野に対して、またはユーザ定義注目領域に対して行なうことができる。更に、モーション検出機能を備えるビデオ監視システムは、モーションを人間オペレータよりも確実に検出することができるので、人間オペレータを多数のビデオモニタを長時間に亘って凝視する作業から解放することができる。長時間に亘って凝視するのではなく、モーション検出機能を備えるビデオ監視システムはオペレータに、視覚インジケータ、音声インジケータ、または両方のインジケータを使用して、モーションが検出されるときに警告を発することができる。このような監視システムはまた、監視カメラの焦点を、モーションが検出された領域に自動的に合わせて更に詳細な画像を取得することができる。
【0004】
本願発明者が認識しているように、ビデオ分析を行なうことができるネットワークカメラによって、集中画像処理システムの作業負荷が軽減され、そして貴重なネットワーク帯域を節約することができる。このようなネットワークカメラによって、真のイベントドリブン型の監視システムが可能になり、このシステムでは、カメラによるモーション検出によって、温度調整、アラーム起動、ドアロック/ドアロック解除などのような所定の自動プロセスをトリガーすることができる。
【0005】
しかしながら、ビデオ分析では多くの場合、幾つかの比較的簡単な演算が大量のピクセルデータに対して実行されることになるので、現在の方法は、ネットワークカメラのようなモバイルアプリケーションまたはエンベッデッドアプリケーションには適さない。ビデオ分析中に処理されるデータの量(ピクセル数)を迅速に減らす従来方法が、CPU処理負荷を軽減するために開発されている。
【0006】
一つのこのような従来方法では、一つの画像の中のピクセル群の全てを最初のピクセルから最後のピクセルまで順番に調べて、注目されるピクセル群を同定する。ピクセルが注目ピクセルではない場合、当該方法では、次のピクセルに移動して当該ピクセルを分析する。本文では「of interest」という用語は、ピクセルが、行なわれている分析に関連する情報、例えばモーション情報を含んでいることを意味する。ピクセルが注目ピクセルである場合、当該方法では、関連する演算を当該ピクセルに対して、次のピクセルに移動する前に実行する。このようにして、この方法では、一つのピクセルのビデオ分析処理のネストが、注目ピクセル群を同定するルーチン内で行なわれる。フィルタの場合、例えば当該フィルタは注目ピクセル群に対してのみ選択的に適用されるが、当該フィルタはそれでも、1度に一つの注目ピクセルにしか適用されない。
【0007】
多くの最新プロセッサが、単一命令、複数データ(SIMD)命令を実行して、多数のデータフィールドを並列に処理し、そして性能を上げることができる。SIMD命令を実行することができるプロセッサでは、各レジスタを少なくとも2つのフィールドに分割する。各フィールドは、他のフィールドのデータとは無関係なデータを表わす。例えば、ビデオ分析場面では、各フィールドは一つの個別ピクセルを表わすことができる。プロセッサは、SIMD命令をレジスタ全体に対して実行することができるので、レジスタのフィールド群に含まれるピクセル群は同時に処理される。このようにして、SIMD型プロセッサの性能は、汎用プロセッサの性能よりもずっと高くなる。
【0008】
しかしながら、本願発明者が認識しているように、処理対象のピクセル群を選択する上述の従来方法は、SIMD命令処理に適している訳ではない。当該方法では、ビデオ分析処理のネストが、ピクセル選択ルーチン内で行なわれるので、SIMD型プロセッサに選択ピクセル群を、汎用プロセッサとほとんど同じようにして、一つずつ処理させることにより、SIMD命令を用いることにより得られる利点が失われてしまう。
【0009】
従来のビデオ分析が上述のように非効率的に行なわれる結果、フィルタリング及びモーション検出のようなビデオ分析機能を実行するためには、高い処理能力を有する高性能コンピュータシステムがやはり好ましいということになる。従って、これらの方法は、自律的にビデオ分析をネットワークカメラ内で行なうために適している訳ではない。
【0010】
通常のビデオ監視システムは、中央処理ユニットにIP利用ネットワークのようなネットワークを介して接続される多数のビデオ監視カメラを含む。多くの場合、IP利用ネットワークは、ビデオ監視システムにのみ専用に利用されるという訳ではなく、email、ウェブブラウジング、データベースシステムなどのような他のネットワーク利用アプリケーションによって共有される。ビデオ監視システムに、中央処理ユニットによって実行される従来のビデオ分析を用いる場合においては、各カメラは生のビデオ画像ストリームを中央処理ユニットに供給する必要がある。これによって、膨大な量のビデオデータを、大量のデータトラフィックを運ぶネットワークに格納することになるので、当該データが使用する帯域の他に、他のネットワークアプリケーションが使用することができる帯域が必要になってくる。
【発明の概要】
【発明が解決しようとする課題】
【0011】
本開示は、注目ピクセル群を画像からSIMD型プロセッサに適するように選択する方法、コンピュータプログラム、及びカメラを提供することにより、この技術分野における前述の不具合を解決する。
【課題を解決するための手段】
【0012】
本発明によるビデオ分析処理を行なう例示的なシステムは、複数の注目ピクセルを一つの画像から所定のバイナリマスクを使用することにより収集するピクセル収集ユニットを含む。所定のバイナリマスクを使用して、これらの注目ピクセルの位置を当該画像上で定義する。電子メモリは、これらの注目ピクセルをピクセルマトリクスとして保存し、このピクセルマトリクスは、当該マトリクス内に隣接して配置される注目ピクセル群のみを含む。データプロセッサはピクセル収集ユニットとは独立して、ビデオ分析処理をピクセルマトリクスに対して実行し、そしてピクセル分散ユニットは、処理済みピクセル群を所定のマスクに従って分散させて当該画像に戻す。
【0013】
本発明に対する、そして本発明に付随する利点の多くに対する更に完全な理解は、以下の詳細な説明を添付の図面に関連付けて考察しながら参照することにより本発明及び利点を一層深く理解することができるようになるので容易に得られると思われる。
【図面の簡単な説明】
【0014】
【図1】本開示の例示的な実施形態によるビデオ分析システムの模式図である。
【図2】本開示の例示的な実施形態によるビデオ分析方法が実行されるコンピュータシステムの模式図である。
【図3】本開示の例示的な実施形態によるビデオ分析方法の模式図である。
【図4】本開示の例示的な実施形態によるバイナリマスクを適用する場合のフローチャートである。
【図5】本開示の例示的な実施形態によるバイナリマスクの選択範囲拡張を適用する場合の模式図である。
【図6】本開示の例示的な実施形態による選択範囲拡張のフローチャートである。
【図7】本開示の一つの実施形態によるピクセル収集の概念図である。
【図8】本開示の一つの実施形態によるピクセル分散の概念図である。
【図9】本開示の例示的な実施形態によるビデオ分析方法のフローチャートである。
【図10】ビデオ監視システムの構成図である。
【図11】本開示の例示的な実施形態によるネットワークカメラの構成図である。
【発明を実施するための形態】
【0015】
本開示では、好適な実施形態について、添付の図面を参照しながら説明する。
【0016】
図1は、本開示の例示的な実施形態によるビデオ分析システムの構成図である。このシステムは、注目ピクセル群を収集する収集ユニット3と、処理が一旦完了すると注目ピクセル群を分散させる分散ユニット4と、注目ピクセル群を保存する電子メモリ2と、そしてビデオ分析処理を実行するデータプロセッサ1と、を含む。上述の構成要素群の全てがデータバス5を介して相互接続される。
【0017】
ビデオ分析処理システムは、ペンティアム(登録商標)プロセッサ搭載PCのようなパーソナルコンピューティングデバイスで実現することができる。収集ユニット3及び分散ユニット4の命令セットは、オペレーティングシステムのユーティリティアプリケーション、バックグラウンドデーモンまたはコンポーネントとして、またはMicrosoft VISTA(登録商標)、Unix(登録商標)、Solaris、Linux、Apple MAC−OS及びこの技術分野の当業者に公知の他のシステムのようなプロセッサ/オペレーティングシステムと連動して実行される上に挙げた要素の組み合わせとして提供することができる。
【0018】
電子メモリ2は、PCに組み込まれるダイナミックまたはスタティックランダムアクセスメモリ(RAM)とすることができる、またはFLASH、EEPROM、光ディスク、サーバなどのような他のメモリデバイスとすることができる。当該メモリは、ビデオ分析処理システムから取り外し可能とすることもできる。
【0019】
図2は、本実施形態によるクライアントコンピュータまたは監視センターコンピュータの模式図である。当該コンピュータはコンピューティングデバイス100を含み、コンピューティングデバイス100には、キーボード112、ポインティングデバイス111及びディスプレイ110が接続される。
【0020】
コンピューティングデバイス100は、制御プロセスを実行し、そしてメインメモリ105と連動して、処理対象データの一時的な保存を行なうプロセッサ101と、そしてプロセッサ101が実行する命令を格納するROM106と、を含む。ディスクコントローラ107は、少なくとも一つのディスク108及びCD−ROM109を制御し、これらのディスク108及びCD−ROM109には、ビデオシーケンスを処理前後に保存することができる。ディスプレイコントローラ104を使用して外部ディスプレイを制御し、そしてI/Oインターフェース102を使用して、キーボード112、ポインティングデバイス111、及びディスプレイ110のような他の外部デバイスを制御する。バス103はこれらのコンポーネントの全てを相互接続する。
【0021】
コンピューティングデバイス100は、例えばペンティアム(登録商標)プロセッサ搭載PCとすることができる。ROM106に格納される命令セットは、オペレーティングシステムのユーティリティアプリケーション、バックグラウンドデーモンまたはコンポーネントとして、またはVISTA、Unix(登録商標)、SOLARIS、LINUX、APPLE MAC−OS及びこの技術分野の当業者に公知の他のシステムのようなプロセッサ/オペレーティングシステムと連動して実行される上に挙げた要素の組み合わせとして提供することができる。
【0022】
コンピューティングデバイス100のメインメモリ105は、PCに組み込まれるダイナミックまたはスタティックランダムアクセスメモリ(RAM)とすることができる、またはFLASH、EEPROM、光ディスク、サーバなどのような他のメモリデバイスとすることができる。更に、メインメモリ105の少なくとも一部は、ビデオモーション検出システムから取り外し可能とすることもできる。
【0023】
ビデオ分析処理システムは、FPGA、ASIC、マイクロコントローラ、PLDのようなハードウェアデバイス、またはこの技術分野で公知の他のこのようなデバイスで実現することもできる。
【0024】
図3は、本開示の例示的な実施形態によるビデオ分析処理方法を示している。このビデオ分析処理方法は3つのフェーズを有する:ピクセル群を収集するフェーズ、ピクセル群を処理するフェーズ、及びピクセル群を分散させるフェーズである。収集フェーズ22では、バイナリマスク23を使用して、ビデオ分析処理のために選択されるピクセル群を画像21から収集する。バイナリマスク23はビットマップであり、このビットマップによって注目ピクセル群のピクセル位置を、複数の1及び複数の0を使用して定義する。各ピクセルは、バイナリマスク23の単一ビットにより表わされる。値1を有するビットは、処理のために選択されるピクセル(すなわち、「注目」ピクセル)を定義し、そして値0を有するビットは、処理のために選択されないピクセルを定義する。しかしながら、逆の事例を本開示において使用することもできる、すなわち注目ピクセルをゼロ値で表わし、そして処理する必要がないとされるピクセルを値1で表わす。
【0025】
注目ピクセル群を、バイナリマスク23を使用して同定する処理は非常に効率的であるが、その理由は、バイナリマスクの幾つかのピクセル位置を同時にテストすることができるからである。図4は、バイナリマスクを画像に適用する場合のフローチャートである。この例では、32ビットレジスタを使用するが、このプロセスには、どのような長さのレジスタも使用することができる。プロセスはステップS40から始まる。ステップS41では、レジスタに、32個の画像ピクセルに対応する32個のバイナリマスクビットを格納する。ステップS42では、レジスタをゼロと比較するが、その理由は、この例では、ゼロ値によって、処理のために選択されないピクセルを定義するからである。レジスタがゼロに等しい場合、プロセスはステップS51に進んで、マスクの終点に達したかどうかを判断する。マスクの終点に達した場合、プロセスはステップS53で終了する。
【0026】
しかしながら、マスクビット群が、従ってピクセル群が未だ残っていてこれらのピクセルを処理する必要がある場合、検査対象の32個のマスクビットのブロックを指すポインタを32だけS52において進め、そしてプロセスはステップS41に戻って、新規セットの32個のマスクビットをレジスタに読み込む。レジスタがS42においてゼロに等しくない場合、レジスタを2つの16ビットワードに、すなわち最上位ワード(MSW)及び最下位ワード(LSW)にS43で分割する。S44では、MSWをゼロと比較する。MSWがゼロに等しくない場合、MSWを2つの8ビットバイトに、すなわち最上位バイト(MSB)及び最下位バイト(LSB)にS45で分割する。S46では、MSBをゼロと比較し、そしてMSBがゼロに等しくない場合、MSBに対して線形サーチを行なって非ゼロビットをS47で同定する。次に、同様の一連のステップをLSBに対してS49及びS47で実行する。非ゼロピクセル群をS48で、「注目ピクセル群」としてS51に戻る前に保存する。
【0027】
同様のプロセスをLSWに対して、ステップS50から始まるように実行する。一旦、注目ピクセル群の全てが収集され、そしてマスクの終点に達すると、プロセスはS53で終了する。
【0028】
上の例では、2分割レベル(すなわち、32ビットから16ビットに、そして16ビットから8ビットに)しか使用されていないが、更に別の分割レベルが可能である、またはより少ない分割レベルを使用することができる。別の構成として、レジスタに対して線形サーチを、分割を全く行なうことなく直接行なうことができる。本文では、「division(分割)」とは、ピクセル数が等しい2つのピクセルグループを、よりピクセル数の多いピクセルグループから作成することを意味する。例えば、8ビットグループの第1分割レベルは2つの4ビットグループを形成するなどである。
【0029】
上に説明したピクセル収集では、バイナリマスク23で定義される注目ピクセル群は、所定の順番でアレイ状に収集されて更に処理される。例えば、これらのピクセルを左から右に収集して1次元アレイとすることができる。しかしながら、隣接するピクセル群に関する情報は、垂直方向では失われ、そして水平方向では、一つのエリアの境界に位置するピクセル群に関する情報が収集される。多くのビデオ分析操作では、このような隣接情報が必要になるので、注目ピクセル群に隣接する更に別の隣接ピクセル群を収集する必要がある。これらの操作では、例えばSobel(ソベル)グラディエントフィルタを用いる。更に別のピクセル群を水平方向に収集する操作は、バイナリマスク23の選択範囲拡張(morphological dilation)を水平方向に適用することにより効率的に行なって、隣接するピクセル群を取り込むことができる。
【0030】
選択範囲拡張を垂直方向に適用する場合、3つの収集パスを実行する:水平方向に拡張されるマスクに対応する一つのパスでは、当該マスクの元の位置の上方の1行が変換され;別のパスでは、当該マスクの元の位置の行が変換され;そして、最後のパスでは、当該マスクの元の位置の下方の1ピクセル行が変換される。この操作によって、3xNアレイが生成される。この時点で、注目ピクセル群は、元の画像の中のこれらのピクセルのそれぞれに隣接するピクセル群を、当該アレイの同じ相対位置に持つようになる。敷き詰めたピクセル群は、隣接するピクセル群として、一つの境界に沿って位置するこれらの注目ピクセル群に付加される。
【0031】
図5は、上述の収集プロセスの簡略例である。注目ピクセル群58は中間階調ピクセルであり、“X”でマークされたピクセル群52は、選択範囲拡張の結果として収集されるピクセルであり、円で囲まれた“X”でマークされたピクセル群は、敷き詰めたピクセル56であり、そしてボックスでマークされたピクセル群は、垂直方向の更に別の隣接するピクセル55を示している。図5は、結果として得られるアレイ59も含み、このアレイには、第2回パスで収集された注目ピクセル群58が、これらのピクセルに最も近い隣接するピクセルに対して示される。他の方法も、本開示の範囲から逸脱しない限り用いることができる。例えば、ピクセル群は、単一回の収集パスで収集することができる。
【0032】
図6は、本開示の例示的な実施形態によるバイナリマスク54を画像に適用した場合のフローチャートである。ステップS61では、バイナリマスク54(図5参照)を、1ピクセル行だけ上にシフトさせて、注目ピクセル群58の上方にあって垂直方向に隣接するピクセル群を収集する。次に、バイナリマスク54を画像51にS62で適用し、そして対応するピクセル群をアレイ59の最上位行59aにステップS63で格納する。バイナリマスクをステップS64で、当該マスクの元の位置に戻して、注目ピクセル群58、及びこれらのピクセルのそれぞれに水平方向に隣接するピクセル群を収集する。ステップS65では、バイナリマスク54を画像51に、上に説明したように適用し、そして対応するピクセル群をアレイ59の2番目の行59bにステップS66で格納する。次に、バイナリマスク54を、1ピクセル行だけ下にシフトさせて、注目ピクセル群58の下方にあって垂直方向に隣接するピクセル群を収集する。バイナリマスク54をステップS68で適用し、そしてピクセル群をアレイ59の3番目の行59cにステップS69で格納する。
【0033】
フローチャートにおけるいずれのプロセス記述またはブロックも、特定論理関数またはステップをプロセスにおいて実行する一つ以上の実行可能命令を含むコードモジュール、コードセグメント、コード部分を表わすものとして理解されるべきであり、そして代替えの実施形態は、本発明の例示的な実施形態の範囲に含まれ、この場合、複数の関数は、この技術分野の当業者が理解するように、示した、または説明した順番とは異なる順番で、例えばほぼ同時に、または逆の順番で実行することができ、いずれの順番で実行するかは、採用する機能によって異なる。
【0034】
ピクセル群を3xNピクセルマトリクスとして上に説明したように収集することにより、SIMD命令の効率的な使用が可能になるが、その理由は、ピクセルマトリクスが、元の画像のピクセル群のうちの幾つかしか含まないからである。1回に一つの注目ピクセルを処理する従来方法とは異なり、ピクセルマトリクスの行または列に適用されるSIMD命令で、複数の注目ピクセルを同時に処理する。3xNピクセルマトリクスに対して実行されるSIMD命令の例として、結合命令、二重絶対値命令、丸め結果を有する平均化命令、切り捨て命令を有する平均化命令、及び所定の数字に丸められた結果を有する直線補間命令を挙げることができる。
【0035】
図7を参照すると、画像36はピクセル位置(X、Y)に対応する多数のピクセルにより構成され、この場合、Xでピクセルの行位置(A乃至F)が定義され、そしてYで列位置(1乃至5)が定義される。しかしながら、画像内の所定のピクセル群のみが注目ピクセル群(31乃至34)であると判断される。画像36では、注目ピクセル群(31乃至34)が隣接するのではなく、離れて分散している。ピクセル収集が行なわれているときに、注目ピクセル群(31乃至34)及び全ての関連する隣接するピクセル群しか含まないピクセルマトリクス35が形成される。ピクセルマトリクス35は画像36に含まれるピクセル群のほんの一部しか含まないので、SIMD系の処理を効率的に行なうことができる。
【0036】
次に、図8を参照しながら、ピクセル分散について説明する。ピクセルを分散させている間、ピクセルマトリクス45に含まれる処理済みピクセル(41乃至44)を画像36に戻して、これらのピクセルの元の位置(31乃至34)に配置する。従って、分散は収集の逆プロセスであり、そして分散では、同じバイナリマスク23を使用する。
【0037】
本開示の別の例示的な実施形態では、DMAユニットを設けて収集フェーズ及び分散フェーズにおいて使用することが好ましい。DMAユニットによって、メモリに直接アクセスしてデータプロセッサ1を迂回することが可能になり、そしてデータプロセッサの処理負荷のかなりの部分を無くすことができる。
【0038】
図9は、本開示の例示的な実施形態によるビデオ分析方法のステップを要約したフローチャートである。ステップS1では、注目ピクセル群の位置を定義するバイナリマスクを画像に適用する。次に、同定された注目ピクセル群をステップS2で収集し、そして互いに隣接するようにピクセルマトリクスにステップS3中に格納する。次に、ビデオ分析処理をピクセルマトリクスに対してステップS4で実行する。ビデオ分析処理では、画像を、SIMD命令を使用して処理することができる。ステップS5では、処理済みピクセル群を分散させて画像に、バイナリマスクを使用して戻すことにより、これらのピクセルのそれぞれの位置を定義する。
【0039】
別の例示的な実施形態では、上述の方法を使用してNxNフィルタを実現する。NxNフィルタカーネルをピクセルマトリクス35に、注目ピクセル群を収集フェーズで収集した後に適用する。これにより、フィルタリング効率が高くなるが、その理由は、フィルタが画像全体ではなく、既にピクセルマトリクスに収集されている注目ピクセル群及びこれらのピクセルのそれぞれに隣接するピクセル群に対してのみ作用するからである。一旦、フィルタリングが完了すると、これらのピクセルを上に説明したように分散させる。
【0040】
フィルタリング効率は、フィルタを、フィルタカーネルとピクセルデータとの畳み込み演算を行なう従来方法を回避する手法を使用して実現することにより更に高めることができる。従来の畳み込み演算の中間結果は、畳み込み関数の引数のビット数の2倍のビット数を含む。例えば、8ビットの畳み込みによって、データを16ビットに中間ステップにおいて拡大する。平均化命令、結合命令、及び線形補間命令のようなSIMD演算を使用して、ビデオ分析フィルタを実現することにより、畳み込み演算を実行する必要を無くし、かつピクセル当たりのビット数を、フィルタリングプロセス全体を通じて一定にすることができる。
【0041】
次に、上に説明したビデオ分析システム、及び関連する方法を用いるネットワークカメラについて、図9を参照しながら説明する。ネットワークカメラ70(または、IP−カメラ)は、画像シーケンスを生成し、そして画像シーケンスを、または画像メタデータのような画像シーケンスの画像データを、ネットワークを介してユーザクライアントに送信することができるいずれのデジタルカメラとすることもできる。
【0042】
図10は、ビデオ分析機能を内蔵するネットワークカメラ70である。ネットワークカメラ70は、入射光を集光するレンズ系71と、入射光を観測するイメージセンサ(センサ)72と、画像プロセッサ73と、カメラ機能だけでなく、ビデオ分析処理76aを管理する中央処理ユニット(CPU)76と、画像/ビデオエンコーダ75と、メモリ74と、そしてネットワークインターフェース77と、を含む。
【0043】
ネットワークカメラ70では、センサ72は、例えば電荷結合装置(CCD)、CMOS−センサ、または類似のセンサとすることができる。画像/ビデオエンコーダ75は、ビデオを、MPEG1、MPEG2、MPEG4、H.264、JPEG、M−JPEG、ビットマップなどのような、いずれかの公知のビデオ/画像符号化方式で符号化する。メモリ74は、画像情報、プログラム命令などを保存し、そしてネットワークインターフェース77を使用することにより、画像情報を、IPネットワークのようなネットワークを介して転送し、更には、情報を当該ネットワークから受信する。
【0044】
更に、画像プロセッサ73、ビデオ分析部76a及び画像/ビデオエンコーダ75は、CPU76が実行するソフトウェア命令として実装することができる、または個別マイクロプロセッサ、FPGA、ASICなどのようなハードウェアとして実装することができる。CPU76は、SIMD命令を実行することができる、または実行することができないマイクロプロセッサとして、FPGA、ASICなどとして実装することもできる。メモリはスタティックまたはダイナミックRAM、ROM、EPROM、EEPROM、FLASHなどとすることができ、そしてレンズ系71は、ネットワークカメラ70に永久的に取り付けることができる、または取り外し可能とすることができる。
【0045】
上に説明したネットワークカメラ70は単一ユニットとして説明されているが、他の形態とすることもできる。アナログ画像シーケンスを生成することができるアナログカメラ及びビデオエンコーダまたはビデオサーバのようなコンバータから成るシステムをネットワークカメラとすることもできる。このようなシステムにおけるコンバータは、アナログカメラからのアナログ画像シーケンスをデジタル画像シーケンスまたはデジタル画像データに変換し、そしてデジタル画像シーケンスまたはデジタル画像データをネットワークに供給する。コンバータはまた、ビデオ/画像符号化、及び自律的なビデオ分析を行なう。
【0046】
レンズ系71の焦点を調整するために使用される電動モータ、測光器、電源などのようなネットワークカメラ70の他の構成要素は公知であるので、図を簡単にするために省略している。更に、他の実施形態を本開示の範囲から逸脱しない限り用いることができる。例えば、ネットワークカメラ70は、赤外線カメラとすることができる、またはネットワークインターフェースは、無線インターフェースなどとすることができる。
【0047】
ビデオ分析をネットワークカメラによって自律的に行なうことにより、従来のネットワークカメラでネットワークに乗せるビデオデータの量よりもはるかに少ない量の関連ビデオデータをネットワークに乗せるだけで済む。
【0048】
図11は、上に説明したネットワークカメラを用いるネットワークカメラシステムである。この例示的なネットワークは、プライベートネットワーク92または公衆ネットワーク93に接続される複数のネットワークカメラ(81乃至85)を含む。ネットワークカメラ81は、アナログカメラ81a及びコンバータ81bを含むのに対し、ネットワークカメラ(82乃至85)は、ビデオ分析を含む全ての機能を完全に実装している。
【0049】
プライベートネットワーク92は、アクセスが制限されるローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)とすることができる。更に、プライベートネットワーク92は、公衆ネットワーク93にアクセス制限装置90を介して接続することができ、アクセス制限装置90は、ファイアウォール機能、ネットワークアドレス変換などを提供することができる。アクセス制限装置90は、専用ルータ、コンピュータ、サーバなどとすることができる。公衆ネットワーク93、例えばインターネットは、Wifi、セルラーネットワーク、PSTN、ISDNなどのような無線セグメント及び有線セグメントを含むことができる。プライベートネットワーク92はまた、Wifi、イーサネット(登録商標)などのような無線セグメント及び有線セグメントを含むことができる。
【0050】
クライアントコンピュータ(87、88、91)、監視センター89及びネットワークビデオレコーダ86は、ネットワークカメラ(81乃至85)に、プライベートネットワークまたは公衆ネットワーク(それぞれ92または93)を介して接続される。ネットワークカメラシステム80では、ネットワークカメラ(81乃至85)のネットワークインターフェースによって、ネットワークカメラ(81乃至85)とクライアントコンピュータ(87、88、91)との間の通信が可能になる。このような通信では、画像データ、オーディオデータ、制御情報(パン、チルト、ズームなど)、ビデオ設定などの転送が行なわれる。更に、ネットワークカメラ(81乃至85)は、一つよりも多くのクライアント、例えば監視センター89、クライアントコンピュータ(87、88、91)が利用することができる、または画像を保管し、そしてこれらの画像を他のクライアント(図示せず)に中継するサーバが利用することができる。
【0051】
更に、上に説明したネットワークカメラは、米国特許出願第12/273,220号の図3において説明されるシステムにおいて使用することができる。
【0052】
モーション検出のようなビデオ分析アプリケーションは、ネットワークカメラ(81乃至85)で撮影した画像シーケンスの画像の分析に基づいて実行される。本願発明者が認識しているように、画像の分析をネットワークカメラ自体で行なう場合、公衆ネットワーク93またはプライベートネットワーク92を流れるデータトラフィックを減らすことができる。関連イベントに関するデータのみを、監視センター89またはクライアントコンピュータ(87、88、91)に送信することができるので、帯域を他のアプリケーションのために節約することができ、ビデオ情報を保存するために必要な記憶容量の規模を小さくすることができ、そして次にサーチする必要のあるビデオデータの量を少なくすることができる。
【0053】
モーション検出について上の記述において説明しているが、ここに説明するシステム及び関連する方法は、顔認識、オブジェクト認識、背景/前景分離、パターン分析などのような他の形態のビデオ分析にも適している。
【0054】
これまでの説明では単に、本開示の例示的な実施形態を開示しているに過ぎない。この技術分野の当業者には理解されることであるが、本改良は、他の特定の形態で、本改良の思想または基本的性質から逸脱しない範囲で具体化することができる。従って、本発明の開示は、例示のために行なわれるのであり、本改良の範囲だけでなく他の請求項の技術範囲を制限するために行なわれるのではない。本明細書において提供される示唆に関して容易に着想することができる全ての変形を含む本開示によって、これまでに出てきた専門用語の範囲を部分的に定義することができるので、発明の主題が一般公衆への放棄となることはない。

【特許請求の範囲】
【請求項1】
コンピュータ読み取り可能な記憶媒体に複数の注目ピクセルを画像から所定のバイナリマスクに従って収集するステップであって、所定のバイナリマスクで、画像の上の複数の注目ピクセルの少なくとも一つの位置を定義する、前記収集するステップと
複数の注目ピクセルを、少なくとも一つの注目ピクセルを含むピクセルマトリクスに配置するステップであって、各注目ピクセルがピクセルマトリクスに他の注目ピクセルに隣接して格納される、前記配置するステップと
ビデオ分析処理をピクセルマトリクスに対して、データプロセッサで実行されるSIMD命令を使用して実行するステップと
これらの注目ピクセルを画像に処理後に、所定のバイナリマスクに従って分散させるステップと、を含むビデオ分析処理方法であって、
収集するステップ及び分散させるステップは、ビデオ分析処理ステップとは独立して行なわれる、
ビデオ分析処理方法。
【請求項2】
収集するステップでは、各注目ピクセルに関して、
所定のバイナリマスクを、少なくとも一つのピクセル位置だけ水平方向に拡張し、
少なくとも一つの隣接ピクセルを注目ピクセルの上方のピクセル行から拡張バイナリマスクに従って収集し、
拡張バイナリマスクに従って、少なくとも一つの隣接ピクセル及び注目ピクセルを、注目ピクセルのピクセル行から収集し、
少なくとも一つの隣接ピクセルを、注目ピクセルの下方のピクセル行から拡張バイナリマスクに従って収集する、
請求項1記載のビデオ分析処理方法。
【請求項3】
収集するステップ及び分散させるステップでは更に、データプロセッサとは独立して、DMA(ダイレクトメモリアクセス)ユニットを使用して、複数の注目ピクセル及び隣接ピクセルの収集及び分散をそれぞれ行なう、請求項1又は2記載のビデオ分析処理方法。
【請求項4】
ビデオ分析処理を実行するステップでは、これらの注目ピクセルを、NxNフィルタカーネルでSIMD命令セットを使用してフィルタリングし、SIMD命令セットは、平均化命令、偏った結果の値を半分にする半減算命令、及び結合命令を含む、請求項1乃至3のいずれかに記載のビデオ分析処理方法。
【請求項5】
各ピクセルを表わす所定のビット数は、フィルタリング演算が行なわれている間は最初から最後まで一定に保持される、請求項4記載のビデオ分析処理方法。
【請求項6】
コンピュータ読み取り可能な命令を含むコンピュータプログラムであって、命令をプロセッサが実行すると、該命令によってプロセッサがビデオ分析処理方法を実行するようになり、該方法は:
コンピュータ読み取り可能な記憶媒体に複数の注目ピクセルを画像から所定のバイナリマスクに従って収集するステップであって、所定のバイナリマスクで、画像の上の複数の注目ピクセルの少なくとも一つの位置を定義する、前記収集するステップと;
複数の注目ピクセルを、少なくとも一つの注目ピクセルを含むピクセルマトリクスに配置するステップと;
ビデオ分析処理をピクセルマトリクスに対して、SIMDプロセッサを使用して実行するステップと;
これらのピクセルを画像に処理後に、所定のバイナリマスクに従って分散させるステップと、を含み、
収集するステップ及び分散させるステップは、ビデオ分析処理ステップとは独立して行なわれる、
ビデオ分析処理コンピュータプログラム。
【請求項7】
収集するステップでは、各注目ピクセルに関して、
所定のバイナリマスクを、少なくとも一つのピクセル位置だけ水平方向に拡張し、
少なくとも一つの隣接ピクセルを注目ピクセルの上方のピクセル行から拡張バイナリマスクに従って収集し、
拡張バイナリマスクに従って、少なくとも一つの隣接ピクセル及び注目ピクセルを、注目ピクセルのピクセル行から収集し、
少なくとも一つの隣接ピクセルを、注目ピクセルの下方のピクセル行から拡張バイナリマスクに従って収集する、
請求項6記載のビデオ分析処理コンピュータプログラム。
【請求項8】
収集するステップ及び分散させるステップでは更に、データプロセッサとは独立して、DMA(ダイレクトメモリアクセス)ユニットを使用して、複数の注目ピクセル及び隣接ピクセルの収集及び分散をそれぞれ行なう、請求項6又は7記載のビデオ分析処理コンピュータプログラム。
【請求項9】
ビデオ分析処理を実行するステップでは、これらの注目ピクセルを、NxNフィルタカーネルでSIMD命令セットを使用してフィルタリングし、SIMD命令セットは、平均化命令、偏った結果の値を半分にする半減算命令、及び結合命令を含む、請求項6乃至8のいずれかに記載のコンピュータプログラム。
【請求項10】
各ピクセルを表わす所定のビット数は、フィルタリング演算が行なわれている間は最初から最後まで一定に保持される、請求項9記載のビデオ分析処理コンピュータプログラム。
【請求項11】
入射光を集光するように構成される少なくとも一つのレンズと;
レンズの後ろに配置され、かつ入射光を画像データに変換するように構成されるセンサと;
画像データとして、画像に対応する電気データを保存するように構成される電子メモリと;
画像データを符号化するように構成されるビデオエンコーダと;
電子メモリに、複数の注目ピクセルを画像から所定のバイナリマスクに従って収集するように構成される収集ユニットであって、所定のバイナリマスクで複数の注目ピクセルの少なくとも一つの位置を定義する、前記収集ユニットと、複数の注目ピクセルを、少なくとも一つの注目ピクセルを含むピクセルマトリクスに配置するように構成される配置ユニットと、収集ユニットとは独立して、ビデオ分析処理をピクセルマトリクスに対して実行するように構成されるビデオ分析ユニットと、収集ユニット及びビデオ分析ユニットとは独立して、これらの注目ピクセルを分散させるように構成される分散ユニットと、データネットワークとの接続を行なうように構成されるネットワークインターフェースとを含むデータプロセッサと;
を含むビデオ分析処理ネットワークカメラ。
【請求項12】
前記収集ユニットは更に、
所定のバイナリマスクを、少なくとも一つのピクセル位置だけ水平方向に拡張し、
少なくとも一つの隣接ピクセルを注目ピクセルの上方のピクセル行から拡張バイナリマスクに従って収集し、
拡張バイナリマスクに従って、少なくとも一つの隣接ピクセル及び注目ピクセルを、注目ピクセルのピクセル行から収集し、そして
少なくとも一つの隣接ピクセルを、注目ピクセルの下方のピクセル行から拡張バイナリマスクに従って収集するように構成される、
請求項11記載のビデオ分析処理ネットワークカメラ。
【請求項13】
更に:
前記データプロセッサとは独立して、ピクセル群を移動させるように構成されるDMA(ダイレクトメモリアクセス)ユニットを備え、ピクセル収集ユニット及びピクセル分散ユニットは、注目ピクセル群の収集及び分散をそれぞれ行なう場合に、DMAユニットを用いる、請求項11又は12記載のビデオ分析処理ネットワークカメラ。
【請求項14】
前記データプロセッサは更に、これらの注目ピクセルのフィルタリングを、NxNフィルタカーネルでSIMD命令を使用して行なうように構成され、SIMD命令は、平均化命令、偏った結果の値を半分にする半減算命令、及び結合命令を含む、請求項11乃至13のいずれかに記載のビデオ分析処理ネットワークカメラ。
【請求項15】
各ピクセルを表わす所定のビット数は、フィルタリング演算が行なわれている間は最初から最後まで一定に保持される、請求項14記載のビデオ分析処理ネットワークカメラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2010−79909(P2010−79909A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2009−223560(P2009−223560)
【出願日】平成21年9月28日(2009.9.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.FLASH
【出願人】(502208205)アクシス アクチボラグ (39)
【Fターム(参考)】