(57)【要約】      （修正有）【課題】注目ピクセル群を画像からＳＩＭＤ型プロセッサに適するように選択する。【解決手段】第１フェーズでは、注目ピクセル群を、所定のマスク２３を使用して収集し、そしてピクセルマトリクスに格納する。第２フェーズでは、ビデオ分析処理をピクセルマトリクスに対して行ない、そして第３フェーズでは、これらのピクセルを、同じ所定のマスク２３を使用して分散させる。これにより、多数のピクセルを同時に処理することができるので、総合性能を向上させることができる。ＤＭＡユニットを使用して、ピクセル群を収集し、そして分散させている間のプロセッサの処理負荷を無くすこともできるので、性能を更に向上させることができる。ネットワークカメラにビデオ分析システムを一体化させることにより、ネットワークトラフィックを減らす。【選択図】図３
2010079909.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ読み取り可能な記憶媒体に複数の注目ピクセルを画像から所定のバイナリマスクに従って収集するステップであって、所定のバイナリマスクで、画像の上の複数の注目ピクセルの少なくとも一つの位置を定義する、前記収集するステップと
複数の注目ピクセルを、少なくとも一つの注目ピクセルを含むピクセルマトリクスに配置するステップであって、各注目ピクセルがピクセルマトリクスに他の注目ピクセルに隣接して格納される、前記配置するステップと
ビデオ分析処理をピクセルマトリクスに対して、データプロセッサで実行されるＳＩＭＤ命令を使用して実行するステップと
これらの注目ピクセルを画像に処理後に、所定のバイナリマスクに従って分散させるステップと、を含むビデオ分析処理方法であって、
収集するステップ及び分散させるステップは、ビデオ分析処理ステップとは独立して行なわれる、
ビデオ分析処理方法。
【請求項２】
収集するステップでは、各注目ピクセルに関して、
所定のバイナリマスクを、少なくとも一つのピクセル位置だけ水平方向に拡張し、
少なくとも一つの隣接ピクセルを注目ピクセルの上方のピクセル行から拡張バイナリマスクに従って収集し、
拡張バイナリマスクに従って、少なくとも一つの隣接ピクセル及び注目ピクセルを、注目ピクセルのピクセル行から収集し、
少なくとも一つの隣接ピクセルを、注目ピクセルの下方のピクセル行から拡張バイナリマスクに従って収集する、
請求項１記載のビデオ分析処理方法。
【請求項３】
収集するステップ及び分散させるステップでは更に、データプロセッサとは独立して、ＤＭＡ（ダイレクトメモリアクセス）ユニットを使用して、複数の注目ピクセル及び隣接ピクセルの収集及び分散をそれぞれ行なう、請求項１又は２記載のビデオ分析処理方法。
【請求項４】
ビデオ分析処理を実行するステップでは、これらの注目ピクセルを、ＮｘＮフィルタカーネルでＳＩＭＤ命令セットを使用してフィルタリングし、ＳＩＭＤ命令セットは、平均化命令、偏った結果の値を半分にする半減算命令、及び結合命令を含む、請求項１乃至３のいずれかに記載のビデオ分析処理方法。
【請求項５】
各ピクセルを表わす所定のビット数は、フィルタリング演算が行なわれている間は最初から最後まで一定に保持される、請求項４記載のビデオ分析処理方法。
【請求項６】
コンピュータ読み取り可能な命令を含むコンピュータプログラムであって、命令をプロセッサが実行すると、該命令によってプロセッサがビデオ分析処理方法を実行するようになり、該方法は：
コンピュータ読み取り可能な記憶媒体に複数の注目ピクセルを画像から所定のバイナリマスクに従って収集するステップであって、所定のバイナリマスクで、画像の上の複数の注目ピクセルの少なくとも一つの位置を定義する、前記収集するステップと；
複数の注目ピクセルを、少なくとも一つの注目ピクセルを含むピクセルマトリクスに配置するステップと；
ビデオ分析処理をピクセルマトリクスに対して、ＳＩＭＤプロセッサを使用して実行するステップと；
これらのピクセルを画像に処理後に、所定のバイナリマスクに従って分散させるステップと、を含み、
収集するステップ及び分散させるステップは、ビデオ分析処理ステップとは独立して行なわれる、
ビデオ分析処理コンピュータプログラム。
【請求項７】
収集するステップでは、各注目ピクセルに関して、
所定のバイナリマスクを、少なくとも一つのピクセル位置だけ水平方向に拡張し、
少なくとも一つの隣接ピクセルを注目ピクセルの上方のピクセル行から拡張バイナリマスクに従って収集し、
拡張バイナリマスクに従って、少なくとも一つの隣接ピクセル及び注目ピクセルを、注目ピクセルのピクセル行から収集し、
少なくとも一つの隣接ピクセルを、注目ピクセルの下方のピクセル行から拡張バイナリマスクに従って収集する、
請求項６記載のビデオ分析処理コンピュータプログラム。
【請求項８】
収集するステップ及び分散させるステップでは更に、データプロセッサとは独立して、ＤＭＡ（ダイレクトメモリアクセス）ユニットを使用して、複数の注目ピクセル及び隣接ピクセルの収集及び分散をそれぞれ行なう、請求項６又は７記載のビデオ分析処理コンピュータプログラム。
【請求項９】
ビデオ分析処理を実行するステップでは、これらの注目ピクセルを、ＮｘＮフィルタカーネルでＳＩＭＤ命令セットを使用してフィルタリングし、ＳＩＭＤ命令セットは、平均化命令、偏った結果の値を半分にする半減算命令、及び結合命令を含む、請求項６乃至８のいずれかに記載のコンピュータプログラム。
【請求項１０】
各ピクセルを表わす所定のビット数は、フィルタリング演算が行なわれている間は最初から最後まで一定に保持される、請求項９記載のビデオ分析処理コンピュータプログラム。
【請求項１１】
入射光を集光するように構成される少なくとも一つのレンズと；
レンズの後ろに配置され、かつ入射光を画像データに変換するように構成されるセンサと；
画像データとして、画像に対応する電気データを保存するように構成される電子メモリと；
画像データを符号化するように構成されるビデオエンコーダと；
電子メモリに、複数の注目ピクセルを画像から所定のバイナリマスクに従って収集するように構成される収集ユニットであって、所定のバイナリマスクで複数の注目ピクセルの少なくとも一つの位置を定義する、前記収集ユニットと、複数の注目ピクセルを、少なくとも一つの注目ピクセルを含むピクセルマトリクスに配置するように構成される配置ユニットと、収集ユニットとは独立して、ビデオ分析処理をピクセルマトリクスに対して実行するように構成されるビデオ分析ユニットと、収集ユニット及びビデオ分析ユニットとは独立して、これらの注目ピクセルを分散させるように構成される分散ユニットと、データネットワークとの接続を行なうように構成されるネットワークインターフェースとを含むデータプロセッサと；
を含むビデオ分析処理ネットワークカメラ。
【請求項１２】
前記収集ユニットは更に、
所定のバイナリマスクを、少なくとも一つのピクセル位置だけ水平方向に拡張し、
少なくとも一つの隣接ピクセルを注目ピクセルの上方のピクセル行から拡張バイナリマスクに従って収集し、
拡張バイナリマスクに従って、少なくとも一つの隣接ピクセル及び注目ピクセルを、注目ピクセルのピクセル行から収集し、そして
少なくとも一つの隣接ピクセルを、注目ピクセルの下方のピクセル行から拡張バイナリマスクに従って収集するように構成される、
請求項１１記載のビデオ分析処理ネットワークカメラ。
【請求項１３】
更に：
前記データプロセッサとは独立して、ピクセル群を移動させるように構成されるＤＭＡ（ダイレクトメモリアクセス）ユニットを備え、ピクセル収集ユニット及びピクセル分散ユニットは、注目ピクセル群の収集及び分散をそれぞれ行なう場合に、ＤＭＡユニットを用いる、請求項１１又は１２記載のビデオ分析処理ネットワークカメラ。
【請求項１４】
前記データプロセッサは更に、これらの注目ピクセルのフィルタリングを、ＮｘＮフィルタカーネルでＳＩＭＤ命令を使用して行なうように構成され、ＳＩＭＤ命令は、平均化命令、偏った結果の値を半分にする半減算命令、及び結合命令を含む、請求項１１乃至１３のいずれかに記載のビデオ分析処理ネットワークカメラ。
【請求項１５】
各ピクセルを表わす所定のビット数は、フィルタリング演算が行なわれている間は最初から最後まで一定に保持される、請求項１４記載のビデオ分析処理ネットワークカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオ分析作業を効率的に行なう方法、対応するコンピュータプログラム及びカメラに関する。
【背景技術】
【０００２】
ビデオ分析またはビデオコンテンツ分析は、ビデオモーション検出システム及び音声検出システムから、さらに高機能のシステムに跨って行なわれ、ビデオ分析またはビデオコンテンツ分析として、カメラ改ざん検出、人数カウント処理、注目ラインまたは領域を横切るオブジェクトの検出、車両ナンバープレート認識、前景部分及び背景部分へのビデオの分割、オブジェクトのトラッキング、トラフィック分析、メタデータ抽出、生体認証アプリケーション、及び顔認識を挙げることができる。ビデオ分析によって更に、監視システムがさらに高機能になるので、画像データの膨大な量を管理可能なレベルにまで減らすことができる。高性能ビデオ監視システムは、例えば監視ビデオをリアルタイムに自動的に分析し、そしてタグ付けし、疑わしい行為を検出し、ビデオ撮影を開始し、アラームまたは他のアクションを起動して、オペレータまたは他の担当者に警告を発することができる。
【０００３】
監視用途では、ビデオ分析を使用してモーションを検出することが多い。モーション検出は、一つのシーンの中の行為を、画像データを分析することにより定義する方法であり、そして監視カメラの全視野に対して、またはユーザ定義注目領域に対して行なうことができる。更に、モーション検出機能を備えるビデオ監視システムは、モーションを人間オペレータよりも確実に検出することができるので、人間オペレータを多数のビデオモニタを長時間に亘って凝視する作業から解放することができる。長時間に亘って凝視するのではなく、モーション検出機能を備えるビデオ監視システムはオペレータに、視覚インジケータ、音声インジケータ、または両方のインジケータを使用して、モーションが検出されるときに警告を発することができる。このような監視システムはまた、監視カメラの焦点を、モーションが検出された領域に自動的に合わせて更に詳細な画像を取得することができる。
【０００４】
本願発明者が認識しているように、ビデオ分析を行なうことができるネットワークカメラによって、集中画像処理システムの作業負荷が軽減され、そして貴重なネットワーク帯域を節約することができる。このようなネットワークカメラによって、真のイベントドリブン型の監視システムが可能になり、このシステムでは、カメラによるモーション検出によって、温度調整、アラーム起動、ドアロック／ドアロック解除などのような所定の自動プロセスをトリガーすることができる。
【０００５】
しかしながら、ビデオ分析では多くの場合、幾つかの比較的簡単な演算が大量のピクセルデータに対して実行されることになるので、現在の方法は、ネットワークカメラのようなモバイルアプリケーションまたはエンベッデッドアプリケーションには適さない。ビデオ分析中に処理されるデータの量（ピクセル数）を迅速に減らす従来方法が、ＣＰＵ処理負荷を軽減するために開発されている。
【０００６】
一つのこのような従来方法では、一つの画像の中のピクセル群の全てを最初のピクセルから最後のピクセルまで順番に調べて、注目されるピクセル群を同定する。ピクセルが注目ピクセルではない場合、当該方法では、次のピクセルに移動して当該ピクセルを分析する。本文では「ｏｆ  ｉｎｔｅｒｅｓｔ」という用語は、ピクセルが、行なわれている分析に関連する情報、例えばモーション情報を含んでいることを意味する。ピクセルが注目ピクセルである場合、当該方法では、関連する演算を当該ピクセルに対して、次のピクセルに移動する前に実行する。このようにして、この方法では、一つのピクセルのビデオ分析処理のネストが、注目ピクセル群を同定するルーチン内で行なわれる。フィルタの場合、例えば当該フィルタは注目ピクセル群に対してのみ選択的に適用されるが、当該フィルタはそれでも、１度に一つの注目ピクセルにしか適用されない。
【０００７】
多くの最新プロセッサが、単一命令、複数データ（ＳＩＭＤ）命令を実行して、多数のデータフィールドを並列に処理し、そして性能を上げることができる。ＳＩＭＤ命令を実行することができるプロセッサでは、各レジスタを少なくとも２つのフィールドに分割する。各フィールドは、他のフィールドのデータとは無関係なデータを表わす。例えば、ビデオ分析場面では、各フィールドは一つの個別ピクセルを表わすことができる。プロセッサは、ＳＩＭＤ命令をレジスタ全体に対して実行することができるので、レジスタのフィールド群に含まれるピクセル群は同時に処理される。このようにして、ＳＩＭＤ型プロセッサの性能は、汎用プロセッサの性能よりもずっと高くなる。
【０００８】
しかしながら、本願発明者が認識しているように、処理対象のピクセル群を選択する上述の従来方法は、ＳＩＭＤ命令処理に適している訳ではない。当該方法では、ビデオ分析処理のネストが、ピクセル選択ルーチン内で行なわれるので、ＳＩＭＤ型プロセッサに選択ピクセル群を、汎用プロセッサとほとんど同じようにして、一つずつ処理させることにより、ＳＩＭＤ命令を用いることにより得られる利点が失われてしまう。
【０００９】
従来のビデオ分析が上述のように非効率的に行なわれる結果、フィルタリング及びモーション検出のようなビデオ分析機能を実行するためには、高い処理能力を有する高性能コンピュータシステムがやはり好ましいということになる。従って、これらの方法は、自律的にビデオ分析をネットワークカメラ内で行なうために適している訳ではない。
【００１０】
通常のビデオ監視システムは、中央処理ユニットにＩＰ利用ネットワークのようなネットワークを介して接続される多数のビデオ監視カメラを含む。多くの場合、ＩＰ利用ネットワークは、ビデオ監視システムにのみ専用に利用されるという訳ではなく、ｅｍａｉｌ、ウェブブラウジング、データベースシステムなどのような他のネットワーク利用アプリケーションによって共有される。ビデオ監視システムに、中央処理ユニットによって実行される従来のビデオ分析を用いる場合においては、各カメラは生のビデオ画像ストリームを中央処理ユニットに供給する必要がある。これによって、膨大な量のビデオデータを、大量のデータトラフィックを運ぶネットワークに格納することになるので、当該データが使用する帯域の他に、他のネットワークアプリケーションが使用することができる帯域が必要になってくる。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本開示は、注目ピクセル群を画像からＳＩＭＤ型プロセッサに適するように選択する方法、コンピュータプログラム、及びカメラを提供することにより、この技術分野における前述の不具合を解決する。
【課題を解決するための手段】
【００１２】
本発明によるビデオ分析処理を行なう例示的なシステムは、複数の注目ピクセルを一つの画像から所定のバイナリマスクを使用することにより収集するピクセル収集ユニットを含む。所定のバイナリマスクを使用して、これらの注目ピクセルの位置を当該画像上で定義する。電子メモリは、これらの注目ピクセルをピクセルマトリクスとして保存し、このピクセルマトリクスは、当該マトリクス内に隣接して配置される注目ピクセル群のみを含む。データプロセッサはピクセル収集ユニットとは独立して、ビデオ分析処理をピクセルマトリクスに対して実行し、そしてピクセル分散ユニットは、処理済みピクセル群を所定のマスクに従って分散させて当該画像に戻す。
【００１３】
本発明に対する、そして本発明に付随する利点の多くに対する更に完全な理解は、以下の詳細な説明を添付の図面に関連付けて考察しながら参照することにより本発明及び利点を一層深く理解することができるようになるので容易に得られると思われる。
【図面の簡単な説明】
【００１４】
【図１】本開示の例示的な実施形態によるビデオ分析システムの模式図である。
【図２】本開示の例示的な実施形態によるビデオ分析方法が実行されるコンピュータシステムの模式図である。
【図３】本開示の例示的な実施形態によるビデオ分析方法の模式図である。
【図４】本開示の例示的な実施形態によるバイナリマスクを適用する場合のフローチャートである。
【図５】本開示の例示的な実施形態によるバイナリマスクの選択範囲拡張を適用する場合の模式図である。
【図６】本開示の例示的な実施形態による選択範囲拡張のフローチャートである。
【図７】本開示の一つの実施形態によるピクセル収集の概念図である。
【図８】本開示の一つの実施形態によるピクセル分散の概念図である。
【図９】本開示の例示的な実施形態によるビデオ分析方法のフローチャートである。
【図１０】ビデオ監視システムの構成図である。
【図１１】本開示の例示的な実施形態によるネットワークカメラの構成図である。
【発明を実施するための形態】
【００１５】
本開示では、好適な実施形態について、添付の図面を参照しながら説明する。
【００１６】
図１は、本開示の例示的な実施形態によるビデオ分析システムの構成図である。このシステムは、注目ピクセル群を収集する収集ユニット３と、処理が一旦完了すると注目ピクセル群を分散させる分散ユニット４と、注目ピクセル群を保存する電子メモリ２と、そしてビデオ分析処理を実行するデータプロセッサ１と、を含む。上述の構成要素群の全てがデータバス５を介して相互接続される。
【００１７】
ビデオ分析処理システムは、ペンティアム（登録商標）プロセッサ搭載ＰＣのようなパーソナルコンピューティングデバイスで実現することができる。収集ユニット３及び分散ユニット４の命令セットは、オペレーティングシステムのユーティリティアプリケーション、バックグラウンドデーモンまたはコンポーネントとして、またはＭｉｃｒｏｓｏｆｔ  ＶＩＳＴＡ（登録商標）、Ｕｎｉｘ（登録商標）、Ｓｏｌａｒｉｓ、Ｌｉｎｕｘ、Ａｐｐｌｅ  ＭＡＣ−ＯＳ及びこの技術分野の当業者に公知の他のシステムのようなプロセッサ／オペレーティングシステムと連動して実行される上に挙げた要素の組み合わせとして提供することができる。
【００１８】
電子メモリ２は、ＰＣに組み込まれるダイナミックまたはスタティックランダムアクセスメモリ（ＲＡＭ）とすることができる、またはＦＬＡＳＨ、ＥＥＰＲＯＭ、光ディスク、サーバなどのような他のメモリデバイスとすることができる。当該メモリは、ビデオ分析処理システムから取り外し可能とすることもできる。
【００１９】
図２は、本実施形態によるクライアントコンピュータまたは監視センターコンピュータの模式図である。当該コンピュータはコンピューティングデバイス１００を含み、コンピューティングデバイス１００には、キーボード１１２、ポインティングデバイス１１１及びディスプレイ１１０が接続される。
【００２０】
コンピューティングデバイス１００は、制御プロセスを実行し、そしてメインメモリ１０５と連動して、処理対象データの一時的な保存を行なうプロセッサ１０１と、そしてプロセッサ１０１が実行する命令を格納するＲＯＭ１０６と、を含む。ディスクコントローラ１０７は、少なくとも一つのディスク１０８及びＣＤ−ＲＯＭ１０９を制御し、これらのディスク１０８及びＣＤ−ＲＯＭ１０９には、ビデオシーケンスを処理前後に保存することができる。ディスプレイコントローラ１０４を使用して外部ディスプレイを制御し、そしてＩ／Ｏインターフェース１０２を使用して、キーボード１１２、ポインティングデバイス１１１、及びディスプレイ１１０のような他の外部デバイスを制御する。バス１０３はこれらのコンポーネントの全てを相互接続する。
【００２１】
コンピューティングデバイス１００は、例えばペンティアム（登録商標）プロセッサ搭載ＰＣとすることができる。ＲＯＭ１０６に格納される命令セットは、オペレーティングシステムのユーティリティアプリケーション、バックグラウンドデーモンまたはコンポーネントとして、またはＶＩＳＴＡ、Ｕｎｉｘ（登録商標）、ＳＯＬＡＲＩＳ、ＬＩＮＵＸ、ＡＰＰＬＥ  ＭＡＣ−ＯＳ及びこの技術分野の当業者に公知の他のシステムのようなプロセッサ／オペレーティングシステムと連動して実行される上に挙げた要素の組み合わせとして提供することができる。
【００２２】
コンピューティングデバイス１００のメインメモリ１０５は、ＰＣに組み込まれるダイナミックまたはスタティックランダムアクセスメモリ（ＲＡＭ）とすることができる、またはＦＬＡＳＨ、ＥＥＰＲＯＭ、光ディスク、サーバなどのような他のメモリデバイスとすることができる。更に、メインメモリ１０５の少なくとも一部は、ビデオモーション検出システムから取り外し可能とすることもできる。
【００２３】
ビデオ分析処理システムは、ＦＰＧＡ、ＡＳＩＣ、マイクロコントローラ、ＰＬＤのようなハードウェアデバイス、またはこの技術分野で公知の他のこのようなデバイスで実現することもできる。
【００２４】
図３は、本開示の例示的な実施形態によるビデオ分析処理方法を示している。このビデオ分析処理方法は３つのフェーズを有する：ピクセル群を収集するフェーズ、ピクセル群を処理するフェーズ、及びピクセル群を分散させるフェーズである。収集フェーズ２２では、バイナリマスク２３を使用して、ビデオ分析処理のために選択されるピクセル群を画像２１から収集する。バイナリマスク２３はビットマップであり、このビットマップによって注目ピクセル群のピクセル位置を、複数の１及び複数の０を使用して定義する。各ピクセルは、バイナリマスク２３の単一ビットにより表わされる。値１を有するビットは、処理のために選択されるピクセル（すなわち、「注目」ピクセル）を定義し、そして値０を有するビットは、処理のために選択されないピクセルを定義する。しかしながら、逆の事例を本開示において使用することもできる、すなわち注目ピクセルをゼロ値で表わし、そして処理する必要がないとされるピクセルを値１で表わす。
【００２５】
注目ピクセル群を、バイナリマスク２３を使用して同定する処理は非常に効率的であるが、その理由は、バイナリマスクの幾つかのピクセル位置を同時にテストすることができるからである。図４は、バイナリマスクを画像に適用する場合のフローチャートである。この例では、３２ビットレジスタを使用するが、このプロセスには、どのような長さのレジスタも使用することができる。プロセスはステップＳ４０から始まる。ステップＳ４１では、レジスタに、３２個の画像ピクセルに対応する３２個のバイナリマスクビットを格納する。ステップＳ４２では、レジスタをゼロと比較するが、その理由は、この例では、ゼロ値によって、処理のために選択されないピクセルを定義するからである。レジスタがゼロに等しい場合、プロセスはステップＳ５１に進んで、マスクの終点に達したかどうかを判断する。マスクの終点に達した場合、プロセスはステップＳ５３で終了する。
【００２６】
しかしながら、マスクビット群が、従ってピクセル群が未だ残っていてこれらのピクセルを処理する必要がある場合、検査対象の３２個のマスクビットのブロックを指すポインタを３２だけＳ５２において進め、そしてプロセスはステップＳ４１に戻って、新規セットの３２個のマスクビットをレジスタに読み込む。レジスタがＳ４２においてゼロに等しくない場合、レジスタを２つの１６ビットワードに、すなわち最上位ワード（ＭＳＷ）及び最下位ワード（ＬＳＷ）にＳ４３で分割する。Ｓ４４では、ＭＳＷをゼロと比較する。ＭＳＷがゼロに等しくない場合、ＭＳＷを２つの８ビットバイトに、すなわち最上位バイト（ＭＳＢ）及び最下位バイト（ＬＳＢ）にＳ４５で分割する。Ｓ４６では、ＭＳＢをゼロと比較し、そしてＭＳＢがゼロに等しくない場合、ＭＳＢに対して線形サーチを行なって非ゼロビットをＳ４７で同定する。次に、同様の一連のステップをＬＳＢに対してＳ４９及びＳ４７で実行する。非ゼロピクセル群をＳ４８で、「注目ピクセル群」としてＳ５１に戻る前に保存する。
【００２７】
同様のプロセスをＬＳＷに対して、ステップＳ５０から始まるように実行する。一旦、注目ピクセル群の全てが収集され、そしてマスクの終点に達すると、プロセスはＳ５３で終了する。
【００２８】
上の例では、２分割レベル（すなわち、３２ビットから１６ビットに、そして１６ビットから８ビットに）しか使用されていないが、更に別の分割レベルが可能である、またはより少ない分割レベルを使用することができる。別の構成として、レジスタに対して線形サーチを、分割を全く行なうことなく直接行なうことができる。本文では、「ｄｉｖｉｓｉｏｎ（分割）」とは、ピクセル数が等しい２つのピクセルグループを、よりピクセル数の多いピクセルグループから作成することを意味する。例えば、８ビットグループの第１分割レベルは２つの４ビットグループを形成するなどである。
【００２９】
上に説明したピクセル収集では、バイナリマスク２３で定義される注目ピクセル群は、所定の順番でアレイ状に収集されて更に処理される。例えば、これらのピクセルを左から右に収集して１次元アレイとすることができる。しかしながら、隣接するピクセル群に関する情報は、垂直方向では失われ、そして水平方向では、一つのエリアの境界に位置するピクセル群に関する情報が収集される。多くのビデオ分析操作では、このような隣接情報が必要になるので、注目ピクセル群に隣接する更に別の隣接ピクセル群を収集する必要がある。これらの操作では、例えばＳｏｂｅｌ（ソベル）グラディエントフィルタを用いる。更に別のピクセル群を水平方向に収集する操作は、バイナリマスク２３の選択範囲拡張（ｍｏｒｐｈｏｌｏｇｉｃａｌ  ｄｉｌａｔｉｏｎ）を水平方向に適用することにより効率的に行なって、隣接するピクセル群を取り込むことができる。
【００３０】
選択範囲拡張を垂直方向に適用する場合、３つの収集パスを実行する：水平方向に拡張されるマスクに対応する一つのパスでは、当該マスクの元の位置の上方の１行が変換され；別のパスでは、当該マスクの元の位置の行が変換され；そして、最後のパスでは、当該マスクの元の位置の下方の１ピクセル行が変換される。この操作によって、３ｘＮアレイが生成される。この時点で、注目ピクセル群は、元の画像の中のこれらのピクセルのそれぞれに隣接するピクセル群を、当該アレイの同じ相対位置に持つようになる。敷き詰めたピクセル群は、隣接するピクセル群として、一つの境界に沿って位置するこれらの注目ピクセル群に付加される。
【００３１】
図５は、上述の収集プロセスの簡略例である。注目ピクセル群５８は中間階調ピクセルであり、“Ｘ”でマークされたピクセル群５２は、選択範囲拡張の結果として収集されるピクセルであり、円で囲まれた“Ｘ”でマークされたピクセル群は、敷き詰めたピクセル５６であり、そしてボックスでマークされたピクセル群は、垂直方向の更に別の隣接するピクセル５５を示している。図５は、結果として得られるアレイ５９も含み、このアレイには、第２回パスで収集された注目ピクセル群５８が、これらのピクセルに最も近い隣接するピクセルに対して示される。他の方法も、本開示の範囲から逸脱しない限り用いることができる。例えば、ピクセル群は、単一回の収集パスで収集することができる。
【００３２】
図６は、本開示の例示的な実施形態によるバイナリマスク５４を画像に適用した場合のフローチャートである。ステップＳ６１では、バイナリマスク５４（図５参照）を、１ピクセル行だけ上にシフトさせて、注目ピクセル群５８の上方にあって垂直方向に隣接するピクセル群を収集する。次に、バイナリマスク５４を画像５１にＳ６２で適用し、そして対応するピクセル群をアレイ５９の最上位行５９ａにステップＳ６３で格納する。バイナリマスクをステップＳ６４で、当該マスクの元の位置に戻して、注目ピクセル群５８、及びこれらのピクセルのそれぞれに水平方向に隣接するピクセル群を収集する。ステップＳ６５では、バイナリマスク５４を画像５１に、上に説明したように適用し、そして対応するピクセル群をアレイ５９の２番目の行５９ｂにステップＳ６６で格納する。次に、バイナリマスク５４を、１ピクセル行だけ下にシフトさせて、注目ピクセル群５８の下方にあって垂直方向に隣接するピクセル群を収集する。バイナリマスク５４をステップＳ６８で適用し、そしてピクセル群をアレイ５９の３番目の行５９ｃにステップＳ６９で格納する。
【００３３】
フローチャートにおけるいずれのプロセス記述またはブロックも、特定論理関数またはステップをプロセスにおいて実行する一つ以上の実行可能命令を含むコードモジュール、コードセグメント、コード部分を表わすものとして理解されるべきであり、そして代替えの実施形態は、本発明の例示的な実施形態の範囲に含まれ、この場合、複数の関数は、この技術分野の当業者が理解するように、示した、または説明した順番とは異なる順番で、例えばほぼ同時に、または逆の順番で実行することができ、いずれの順番で実行するかは、採用する機能によって異なる。
【００３４】
ピクセル群を３ｘＮピクセルマトリクスとして上に説明したように収集することにより、ＳＩＭＤ命令の効率的な使用が可能になるが、その理由は、ピクセルマトリクスが、元の画像のピクセル群のうちの幾つかしか含まないからである。１回に一つの注目ピクセルを処理する従来方法とは異なり、ピクセルマトリクスの行または列に適用されるＳＩＭＤ命令で、複数の注目ピクセルを同時に処理する。３ｘＮピクセルマトリクスに対して実行されるＳＩＭＤ命令の例として、結合命令、二重絶対値命令、丸め結果を有する平均化命令、切り捨て命令を有する平均化命令、及び所定の数字に丸められた結果を有する直線補間命令を挙げることができる。
【００３５】
図７を参照すると、画像３６はピクセル位置（Ｘ、Ｙ）に対応する多数のピクセルにより構成され、この場合、Ｘでピクセルの行位置（Ａ乃至Ｆ）が定義され、そしてＹで列位置（１乃至５）が定義される。しかしながら、画像内の所定のピクセル群のみが注目ピクセル群（３１乃至３４）であると判断される。画像３６では、注目ピクセル群（３１乃至３４）が隣接するのではなく、離れて分散している。ピクセル収集が行なわれているときに、注目ピクセル群（３１乃至３４）及び全ての関連する隣接するピクセル群しか含まないピクセルマトリクス３５が形成される。ピクセルマトリクス３５は画像３６に含まれるピクセル群のほんの一部しか含まないので、ＳＩＭＤ系の処理を効率的に行なうことができる。
【００３６】
次に、図８を参照しながら、ピクセル分散について説明する。ピクセルを分散させている間、ピクセルマトリクス４５に含まれる処理済みピクセル（４１乃至４４）を画像３６に戻して、これらのピクセルの元の位置（３１乃至３４）に配置する。従って、分散は収集の逆プロセスであり、そして分散では、同じバイナリマスク２３を使用する。
【００３７】
本開示の別の例示的な実施形態では、ＤＭＡユニットを設けて収集フェーズ及び分散フェーズにおいて使用することが好ましい。ＤＭＡユニットによって、メモリに直接アクセスしてデータプロセッサ１を迂回することが可能になり、そしてデータプロセッサの処理負荷のかなりの部分を無くすことができる。
【００３８】
図９は、本開示の例示的な実施形態によるビデオ分析方法のステップを要約したフローチャートである。ステップＳ１では、注目ピクセル群の位置を定義するバイナリマスクを画像に適用する。次に、同定された注目ピクセル群をステップＳ２で収集し、そして互いに隣接するようにピクセルマトリクスにステップＳ３中に格納する。次に、ビデオ分析処理をピクセルマトリクスに対してステップＳ４で実行する。ビデオ分析処理では、画像を、ＳＩＭＤ命令を使用して処理することができる。ステップＳ５では、処理済みピクセル群を分散させて画像に、バイナリマスクを使用して戻すことにより、これらのピクセルのそれぞれの位置を定義する。
【００３９】
別の例示的な実施形態では、上述の方法を使用してＮｘＮフィルタを実現する。ＮｘＮフィルタカーネルをピクセルマトリクス３５に、注目ピクセル群を収集フェーズで収集した後に適用する。これにより、フィルタリング効率が高くなるが、その理由は、フィルタが画像全体ではなく、既にピクセルマトリクスに収集されている注目ピクセル群及びこれらのピクセルのそれぞれに隣接するピクセル群に対してのみ作用するからである。一旦、フィルタリングが完了すると、これらのピクセルを上に説明したように分散させる。
【００４０】
フィルタリング効率は、フィルタを、フィルタカーネルとピクセルデータとの畳み込み演算を行なう従来方法を回避する手法を使用して実現することにより更に高めることができる。従来の畳み込み演算の中間結果は、畳み込み関数の引数のビット数の２倍のビット数を含む。例えば、８ビットの畳み込みによって、データを１６ビットに中間ステップにおいて拡大する。平均化命令、結合命令、及び線形補間命令のようなＳＩＭＤ演算を使用して、ビデオ分析フィルタを実現することにより、畳み込み演算を実行する必要を無くし、かつピクセル当たりのビット数を、フィルタリングプロセス全体を通じて一定にすることができる。
【００４１】
次に、上に説明したビデオ分析システム、及び関連する方法を用いるネットワークカメラについて、図９を参照しながら説明する。ネットワークカメラ７０（または、ＩＰ−カメラ）は、画像シーケンスを生成し、そして画像シーケンスを、または画像メタデータのような画像シーケンスの画像データを、ネットワークを介してユーザクライアントに送信することができるいずれのデジタルカメラとすることもできる。
【００４２】
図１０は、ビデオ分析機能を内蔵するネットワークカメラ７０である。ネットワークカメラ７０は、入射光を集光するレンズ系７１と、入射光を観測するイメージセンサ（センサ）７２と、画像プロセッサ７３と、カメラ機能だけでなく、ビデオ分析処理７６ａを管理する中央処理ユニット（ＣＰＵ）７６と、画像／ビデオエンコーダ７５と、メモリ７４と、そしてネットワークインターフェース７７と、を含む。
【００４３】
ネットワークカメラ７０では、センサ７２は、例えば電荷結合装置（ＣＣＤ）、ＣＭＯＳ−センサ、または類似のセンサとすることができる。画像／ビデオエンコーダ７５は、ビデオを、ＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４、Ｈ．２６４、ＪＰＥＧ、Ｍ−ＪＰＥＧ、ビットマップなどのような、いずれかの公知のビデオ／画像符号化方式で符号化する。メモリ７４は、画像情報、プログラム命令などを保存し、そしてネットワークインターフェース７７を使用することにより、画像情報を、ＩＰネットワークのようなネットワークを介して転送し、更には、情報を当該ネットワークから受信する。
【００４４】
更に、画像プロセッサ７３、ビデオ分析部７６ａ及び画像／ビデオエンコーダ７５は、ＣＰＵ７６が実行するソフトウェア命令として実装することができる、または個別マイクロプロセッサ、ＦＰＧＡ、ＡＳＩＣなどのようなハードウェアとして実装することができる。ＣＰＵ７６は、ＳＩＭＤ命令を実行することができる、または実行することができないマイクロプロセッサとして、ＦＰＧＡ、ＡＳＩＣなどとして実装することもできる。メモリはスタティックまたはダイナミックＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＦＬＡＳＨなどとすることができ、そしてレンズ系７１は、ネットワークカメラ７０に永久的に取り付けることができる、または取り外し可能とすることができる。
【００４５】
上に説明したネットワークカメラ７０は単一ユニットとして説明されているが、他の形態とすることもできる。アナログ画像シーケンスを生成することができるアナログカメラ及びビデオエンコーダまたはビデオサーバのようなコンバータから成るシステムをネットワークカメラとすることもできる。このようなシステムにおけるコンバータは、アナログカメラからのアナログ画像シーケンスをデジタル画像シーケンスまたはデジタル画像データに変換し、そしてデジタル画像シーケンスまたはデジタル画像データをネットワークに供給する。コンバータはまた、ビデオ／画像符号化、及び自律的なビデオ分析を行なう。
【００４６】
レンズ系７１の焦点を調整するために使用される電動モータ、測光器、電源などのようなネットワークカメラ７０の他の構成要素は公知であるので、図を簡単にするために省略している。更に、他の実施形態を本開示の範囲から逸脱しない限り用いることができる。例えば、ネットワークカメラ７０は、赤外線カメラとすることができる、またはネットワークインターフェースは、無線インターフェースなどとすることができる。
【００４７】
ビデオ分析をネットワークカメラによって自律的に行なうことにより、従来のネットワークカメラでネットワークに乗せるビデオデータの量よりもはるかに少ない量の関連ビデオデータをネットワークに乗せるだけで済む。
【００４８】
図１１は、上に説明したネットワークカメラを用いるネットワークカメラシステムである。この例示的なネットワークは、プライベートネットワーク９２または公衆ネットワーク９３に接続される複数のネットワークカメラ（８１乃至８５）を含む。ネットワークカメラ８１は、アナログカメラ８１ａ及びコンバータ８１ｂを含むのに対し、ネットワークカメラ（８２乃至８５）は、ビデオ分析を含む全ての機能を完全に実装している。
【００４９】
プライベートネットワーク９２は、アクセスが制限されるローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）とすることができる。更に、プライベートネットワーク９２は、公衆ネットワーク９３にアクセス制限装置９０を介して接続することができ、アクセス制限装置９０は、ファイアウォール機能、ネットワークアドレス変換などを提供することができる。アクセス制限装置９０は、専用ルータ、コンピュータ、サーバなどとすることができる。公衆ネットワーク９３、例えばインターネットは、Ｗｉｆｉ、セルラーネットワーク、ＰＳＴＮ、ＩＳＤＮなどのような無線セグメント及び有線セグメントを含むことができる。プライベートネットワーク９２はまた、Ｗｉｆｉ、イーサネット（登録商標）などのような無線セグメント及び有線セグメントを含むことができる。
【００５０】
クライアントコンピュータ（８７、８８、９１）、監視センター８９及びネットワークビデオレコーダ８６は、ネットワークカメラ（８１乃至８５）に、プライベートネットワークまたは公衆ネットワーク（それぞれ９２または９３）を介して接続される。ネットワークカメラシステム８０では、ネットワークカメラ（８１乃至８５）のネットワークインターフェースによって、ネットワークカメラ（８１乃至８５）とクライアントコンピュータ（８７、８８、９１）との間の通信が可能になる。このような通信では、画像データ、オーディオデータ、制御情報（パン、チルト、ズームなど）、ビデオ設定などの転送が行なわれる。更に、ネットワークカメラ（８１乃至８５）は、一つよりも多くのクライアント、例えば監視センター８９、クライアントコンピュータ（８７、８８、９１）が利用することができる、または画像を保管し、そしてこれらの画像を他のクライアント（図示せず）に中継するサーバが利用することができる。
【００５１】
更に、上に説明したネットワークカメラは、米国特許出願第１２／２７３，２２０号の図３において説明されるシステムにおいて使用することができる。
【００５２】
モーション検出のようなビデオ分析アプリケーションは、ネットワークカメラ（８１乃至８５）で撮影した画像シーケンスの画像の分析に基づいて実行される。本願発明者が認識しているように、画像の分析をネットワークカメラ自体で行なう場合、公衆ネットワーク９３またはプライベートネットワーク９２を流れるデータトラフィックを減らすことができる。関連イベントに関するデータのみを、監視センター８９またはクライアントコンピュータ（８７、８８、９１）に送信することができるので、帯域を他のアプリケーションのために節約することができ、ビデオ情報を保存するために必要な記憶容量の規模を小さくすることができ、そして次にサーチする必要のあるビデオデータの量を少なくすることができる。
【００５３】
モーション検出について上の記述において説明しているが、ここに説明するシステム及び関連する方法は、顔認識、オブジェクト認識、背景／前景分離、パターン分析などのような他の形態のビデオ分析にも適している。
【００５４】
これまでの説明では単に、本開示の例示的な実施形態を開示しているに過ぎない。この技術分野の当業者には理解されることであるが、本改良は、他の特定の形態で、本改良の思想または基本的性質から逸脱しない範囲で具体化することができる。従って、本発明の開示は、例示のために行なわれるのであり、本改良の範囲だけでなく他の請求項の技術範囲を制限するために行なわれるのではない。本明細書において提供される示唆に関して容易に着想することができる全ての変形を含む本開示によって、これまでに出てきた専門用語の範囲を部分的に定義することができるので、発明の主題が一般公衆への放棄となることはない。
【図１】
2010079909.tif 000003
【図２】
2010079909.tif 000004
【図３】
2010079909.tif 000005
【図４】
2010079909.tif 000006
【図５】
2010079909.tif 000007
【図６】
2010079909.tif 000008
【図７】
2010079909.tif 000009
【図８】
2010079909.tif 000010
【図９】
2010079909.tif 000011
【図１０】
2010079909.tif 000012
【図１１】
2010079909.tif 000013