(57)【要約】  ビデオ・データ処理方法およびシステムの態様を開示し、プログラマブル監視ビデオ・カメラにおける単一チップ内部において、当該プログラマブル監視ビデオ・カメラによって発生した生ビデオ信号において１つ以上の移動物体を検出することを含む。プログラマブル監視ビデオ・カメラの内部にある単一チップ内部において、検出した１つ以上の物体の１つ以上の特性を抽出することができる。この抽出は、生ビデオ信号に基づくことができ、生ビデオ・データの圧縮の前に実行することができる。検出した１つ以上の物体の特性は、形状、テクスチャ、色、動きの有無、動きの方向、シーケンス名、位置、リンク、および／または警報の種類を含むことができる。検出した１つ以上の物体の特性の少なくとも１つの１つ以上のテクスチャ表現を、プログラマブル監視ビデオ・カメラの内部にある単一チップ内部において発生することができる。【選択図】図２Ｃ
2011510521.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ・データ処理方法であって、
プログラマブル監視ビデオ・カメラにおける単一チップ内部において、当該プログラマブル監視ビデオ・カメラによって発生した生ビデオ信号において１つ以上の移動物体を検出するステップと、
前記プログラマブル監視ビデオ・カメラの内部にある前記単一チップ内部において、前記検出した１つ以上の物体の１つ以上の特性を抽出するステップであって、前記抽出が前記生ビデオ信号に基づく、ステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記抽出は、前記生ビデオ・データの圧縮の前に実行する、方法。
【請求項３】
請求項１記載の方法において、前記検出した１つ以上の物体の前記特性は、形状、テクスチャ、色、動きの有無、動きの方向、シーケンス名、位置、リンク、および／または警報の種類のうち１つ以上を含む、方法。  
【請求項４】
請求項１記載の方法であって、前記プログラマブル監視ビデオ・カメラの内部にある前記単一チップ内部において、前記検出した１つ以上の物体の前記１つ以上の特性のうち少なくとも１つの１つ以上のテクスチャ表現を生成するステップを備えている、方法。
【請求項５】
請求項４記載の方法であって、前記生成した１つ以上のテクスチャ表現を、処理のために、前記単一チップの外部に伝達するステップを備えている、方法。
【請求項６】
請求項５記載の方法において、前記生成した１つ以上のテクスチャ表現を、前記生ビデオ信号に対応する画像データとは独立して、前記単一チップの外部に伝達する、方法。
【請求項７】
請求項５記載の方法において、前記生成した１つ以上のテクスチャ表現を、前記生ビデオ信号に対応する画像データと並列して、前記単一チップ外部に伝達する、方法。
【請求項８】
請求項１記載の方法であって、少なくとも１つの視覚効果を用いて、前記生ビデオ信号に対応する画像データの少なくとも一部をフォーマットするステップを備えており、前記少なくとも１つの視覚効果は、前記１つ以上の検出した物体の前記１つ以上の特性のうち１つ以上に対応する、方法。
【請求項９】
ビデオ・データを処理するための少なくとも１つのコード・セクションを有するコンピュータ・プログラムが格納されているマシン読み取り可能ストレージであって、前記少なくとも１つのコード・セクションは、
プログラマブル監視ビデオ・カメラにおける単一チップ内部において、当該プログラマブル監視ビデオ・カメラによって発生した生ビデオ信号において１つ以上の移動物体を検出するステップと、
前記プログラマブル監視ビデオ・カメラの内部にある前記単一チップ内部において、前記検出した１つ以上の物体の１つ以上の特性を抽出するステップであって、前記抽出が前記生ビデオ・データに基づく、ステップと、
を含むステップをマシンに実行させるために、前記マシンによって実行可能である、マシン読み取り可能ストレージ。
【請求項１０】
請求項９記載のマシン読み取り可能ストレージにおいて、前記抽出は、前記生ビデオ・データの圧縮の前に実行する、マシン読み取り可能ストレージ。
【請求項１１】
請求項９記載のマシン読み取り可能ストレージにおいて、前記検出した１つ以上の物体の前記特性は、形状、テクスチャ、色、動きの有無、動きの方向、シーケンス名、位置、リンク、および／または警報の種類のうち１つ以上を含む、マシン読み取り可能ストレージ。  
【請求項１２】
請求項９記載のマシン読み取り可能ストレージであって、前記プログラマブル監視ビデオ・カメラの内部にある前記単一チップ内部において、前記検出した１つ以上の物体の前記１つ以上の特性のうち少なくとも１つの１つ以上のテクスチャ表現を生成することを可能にするコードを備えている、マシン読み取り可能ストレージ。
【請求項１３】
請求項１２記載のマシン読み取り可能ストレージであって、前記生成した１つ以上のテクスチャ表現を、処理のために、前記単一チップの外部に伝達することを可能にするコードを備えている、マシン読み取り可能ストレージ。
【請求項１４】
請求項１３記載のマシン読み取り可能ストレージにおいて、前記生成した１つ以上のテクスチャ表現を、前記生ビデオ信号に対応する画像データとは独立して、前記単一チップの外部に伝達する、マシン読み取り可能ストレージ。
【請求項１５】
請求項１３記載のマシン読み取り可能ストレージにおいて、前記生成した１つ以上のテクスチャ表現を、前記生ビデオ・データに対応する画像データと並列して、前記単一チップ外部に伝達する、マシン読み取り可能ストレージ。
【請求項１６】
請求項９記載のマシン読み取り可能ストレージであって、少なくとも１つの視覚効果を用いて、前記生ビデオ信号に対応する画像データの少なくとも一部をフォーマットすることを可能にするコードを備えており、前記少なくとも１つの視覚効果は、前記１つ以上の検出した物体の前記１つ以上の特性のうち１つ以上に対応する、マシン読み取り可能ストレージ。
【請求項１７】
ビデオ・データ処理システムであって、
プログラマブル監視ビデオ・カメラにおける単一チップの内部にある１つ以上のプロセッサであって、前記プログラマブル監視ビデオ・カメラによって発生した生ビデオ信号において１つ以上の移動物体を検出することを可能にする、前記１つ以上のプロセッサを備えており、
前記１つ以上のプロセッサが、前記単一チップ内部において、前記検出した１つ以上の物体の１つ以上の特性を抽出することを可能にし、前記抽出が前記生ビデオ信号に基づく、システム。
【請求項１８】
請求項１７記載のシステムにおいて、前記１つ以上のプロセッサは、前記生ビデオ・データの圧縮の前に前記抽出を実行することを可能にする、システム。
【請求項１９】
請求項１７記載のシステムにおいて、前記検出した１つ以上の物体の前記特性は、形状、テクスチャ、色、動きの有無、動きの方向、シーケンス名、位置、リンク、および／または警報の種類のうち１つ以上を含む、システム。  
【請求項２０】
請求項１７記載のシステムにおいて、前記１つ以上のプロセッサは、前記プログラマブル監視ビデオ・カメラの内部にある前記単一チップ内部において、前記検出した１つ以上の物体の前記１つ以上の特性のうち少なくとも１つの１つ以上のテクスチャ表現を生成することを可能にする、システム。
【請求項２１】
請求項２０記載のシステムにおいて、前記１つ以上のプロセッサは、前記生成した１つ以上のテクスチャ表現を、処理のために、前記単一チップの外部に伝達することを可能にする、システム。
【請求項２２】
請求項２１記載のシステムにおいて、前記１つ以上のプロセッサは、前記生成した１つ以上のテクスチャ表現を、前記生ビデオ信号に対応する画像データとは独立して、前記単一チップの外部に伝達することを可能にする、システム。
【請求項２３】
請求項２１記載のシステムにおいて、前記１つ以上のプロセッサは、前記生成した１つ以上のテクスチャ表現を、前記生ビデオ・データに対応する画像データと並列して、前記単一チップ外部に伝達することを可能にする、システム。
【請求項２４】
請求項１７記載のシステムにおいて、前記１つ以上のプロセッサは、少なくとも１つの視覚効果を用いて、前記生ビデオ信号に対応する画像データの少なくとも一部をフォーマットすることを可能にし、前記少なくとも１つの視覚効果は、前記１つ以上の検出した物体の前記１つ以上の特性のうち１つ以上に対応する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２００７年９月１２日に出願され、"SMART NETWORK CAMERA SYSTEM-ON-A-CHIP"（チップ上スマート・ネットワーク・カメラ・システム）と題する米国仮特許出願第６０／９７１，７０２号を参照し、その優先権を主張する。この出願をここで引用することにより、その内容全体が本願にも含まれるものとする。
【０００２】
また、本願は次の出願も参照する。
２００５年４月１５日に出願した米国特許出願第１１／１０７，６７１号、
２００５年９月６日に出願した米国特許出願第１１／２１９，９５１号、
２００７年５月１５日に出願した米国特許出願第１１／７４８，７７５号。
【０００３】
以上に記載した出願の各々は、ここで引用したことにより、その内容全体が本願にも含まれるものとする。
発明の分野
【０００４】
本発明のある種の実施形態は、セキュリティ管理システムに関する。更に特定すれば、本発明のある種の実施形態は、チップ上スマート・ネットワーク・カメラ・システム（ＳｏＣ）に関する。
【従来技術】
【０００５】
セキュリティ管理システムにおいて一般に設けられている共通のセキュリティ機能に、ビデオ監視がある。ビデオ監視動作は、技術進歩、機構追加、および／または他のセキュリティ機能との互換性をサポートするためにアップグレードが必要となる場合がある。殆どのビデオ監視動作は、一般に、単体の閉回路テレビジョン（ＣＣＴＶ）システムによって設けられており、このシステムは、例えば、オフィス・ビル、小売店、外部組織、学校、鉄道の駅、および街路上であっても極普通に見られる。つまり、効果的に統合したセキュリティ管理システムでは、ＣＣＴＶシステムが、他のセキュリティ機能と互換性があることが必要となる場合がある。他のセキュリティ機能には、例えば、生物測定によって強化したアクセス制御方法、混雑制御動作、セキュリティ追跡システム、および／またはアクセス追跡システム等がある。一般に、人のオペレータは、種々のセキュリティ機能から収集した情報を利用して、現在のイベントを分析し、講ずるべき処置または以前の事件(occurrence)の法的調査のための処置を決定する。オペレータの分析および行動を簡素化するためまたはその必要性を低減するためには、統合セキュリティ管理システムを一層有効化して、セキュリティ機能によって供給される内容を調整する必要がある。
【０００６】
しかしながら、殆どのＣＣＴＶシステムは容易にはアップグレードすることはできないか、またはこれらを他のセキュリティ機能と一体化するのは容易ではない。その結果、ビデオ監視動作を含む統合セキュリティ管理システムには、実現すべき課題が残っている。更に、これらの統合セキュリティ管理システムが発展し更に多くのセキュリティ機能および／または追加の機構を備える可能性(ability)には、一般に限界があり、あるいはハードウェアおよび／またはソフトウェアにおける多大な投資、あるいは人のオペレータを追加することを伴わなければ遂行できない場合もある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、統合および展開の柔軟性を備えつつ、バック・エンド・セキュリティ管理プラットフォームが、高度セキュリティ・アプリケーションおよび機能の可用性および効率を高めるように、ビデオ情報の処理および格納を簡素化することを可能にする、新規な費用対効果のあるネットワーク・ビデオ・カメラの解決策が求められている。したがって、この手法は、真の統合セキュリティ管理の問題解決(solution)を可能にすると言える。
【０００８】
従来の手法および従前からの手法の更に別の限界および欠点は、図面を参照して本願の残りにおいて明記する本発明の様々な態様とこのようなシステムとを比較することによって、当業者には明らかとなろう。
【課題を解決するための手段】
【０００９】
チップ上スマート・ネットワーク・カメラ・システム（ＳｏＣ）について、実質的に図面の少なくとも１つに示し、および／またはこれに関連付けて説明し、更に特許請求の範囲において一層完璧を期して明記することとする。
【００１０】
本発明の種々の利点、態様、および新規な特徴、ならびに図示するその実施形態の詳細は、以下の説明および図面から一層深く理解されよう。
【図面の簡単な説明】
【００１１】
【図１Ａ】図１Ａは、本発明の一実施形態による、再構成可能なスマート・ネットワーク・カメラＳＯＣを備えているネットワーク・カメラ・アーキテクチャのブロック図を示す。
【図１Ｂ】図１Ｂは、本発明の一実施形態による、再構成可能なスマート・ネットワーク・カメラＳｏＣおよびＧＰＳ受信部を備えているネットワーク・カメラ・アーキテクチャのブロック図を示す。
【図１Ｃ】図１Ｃは、本発明の一実施形態による、再構成可能なスマート・ネットワーク・カメラＳｏＣを備えているネットワーク・ワイヤレス・カメラ・アーキテクチャのブロック図を示す。
【図２Ａ】図２Ａは、本発明の一実施形態による、再構成可能なスマート・ネットワーク・カメラＳｏＣの上位ブロック図を示す。
【図２Ｂ】図２Ｂは、本発明の一実施形態による、統合イーサネット送受信部を有する、再構成可能スマート・ネットワーク・カメラＳｏＣの上位ブロック図を示す。
【図２Ｃ】図２Ｃは、本発明の一実施形態による、統合イーサネット送受信部およびメモリ・コントローラ・ブロックを有する、再構成可能なスマート・ネットワーク・カメラＳｏＣの上位ブロック図を示す。
【図２Ｄ】図２Ｄは、追加の統合メモリを有する再構成可能なスマート・ネットワーク・カメラＳｏＣの上位ブロック図を示す。
【図３Ａ】図３Ａは、本発明の一実施形態による、圧縮エンジンを用いた画像処理およびコンテンツ分析ブロックの機能図を示す。
【図３Ｂ】図３Ｂは、本発明の一実施形態による、ＪＰＥＧ圧縮エンジンを用いた画像処理およびコンテンツ分析ブロックの機能図を示す。
【図３Ｃ】図３Ｃは、本発明の一実施形態による、統合ＧＰＳインターフェースを用いた画像処理およびコンテンツ分析ブロックを示す。
【図３Ｄ】図３Ｄは、本発明の一実施形態による、１つのＤＭＡを用いた画像処理およびコンテンツ分析ブロックを示す。
【図４】図４は、本発明の一実施形態による、二重ポート外部メモリ・コントローラのブロック図を示す。
【図５】図５は、本発明の一実施形態による、固定パターン・ノイズ（ＦＰＮ）、感度、およびガンマ補正のブロック図を示す。
【図６】図６は、本発明の一実施形態による、色処理のブロック図を示す。
【図７】図７は、本発明の一実施形態による、ＪＰＥＧ圧縮処理チェーンのブロック図を示す。
【図８】図８は、本発明の一実施形態による、ＪＰＥＧ圧縮における離散余弦変換のブロック図を示す。
【図９】図９は、本発明の一実施形態による、量子化器ＲＬＥブロックの量子化部のブロック図を示す。
【図１０】図１０は、本発明の一実施形態による、量子化器ＲＬＥブロックのラン・レングス・エンコーダ（ＲＬＥ）部のブロック図を示す。
【図１１】図１１は、本発明の一実施形態による、ＪＰＥＧ圧縮におけるハフマン・エンコーダのブロック図を示す。
【図１２】図１２は、本発明の一実施形態による、ＪＰＥＧ圧縮におけるビット・スタッファ(bit stuffer)のブロック図を示す。
【図１３】図１３は、本発明の一実施形態による、ヒストグラム・ブロック図を示す。
【図１４】図１４は、本発明の一実施形態による、ビデオ・モーション検出（ＶＭＤ）のブロック図を示す。
【図１５】図１５は、本発明の一実施形態による、ＶＭＤにおける静止物体検出動作を示す。
【図１６】図１６は、本発明の一実施形態による、接続コンポーネントのブロック図を示す。
【図１７】図１７は、本発明の一実施形態による、接続コンポーネントの動作の図を示す。
【図１８】図１８は、本発明の一実施形態による、ダイナミック・レンジ圧縮のブロック図を示す。
【図１９】図１９は、本発明の一実施形態による、ビデオ・コンテンツ・メタデータ送信についての流れ図を示す。
【図２０】図２０は、本発明の一実施形態による、ビデオおよび位置コンテンツ・メタデータ送信についての流れ図を示す。
【発明を実施するための形態】
【００１２】
本発明のある種の実施形態は、ビデオ・データ処理方法およびシステムにおいて見出すことができる。この方法の態様は、プログラマブル監視ビデオ・カメラの内部にある１つのチップ内において、プログラマブル監視ビデオ・カメラが発生する生ビデオ信号の中で１つ以上の移動物体を検出することを含むことができる。検出された１つ以上の物体の１つ以上の特性は、プログラマブル監視ビデオ・カメラの内部にある前述の１つのチップ内において抽出することができる。この抽出は、生ビデオ信号に基づくことができ、生ビデオ・データの圧縮の前に実行するとよい。検出した１つ以上の物体の特性には、形状、テクスチャ、色、動きの有無、動きの方向、シーケンス名、位置、リンク、および／または警報の種類を含むことができる。検出した１つ以上の物体の特性の少なくとも１つの１つ以上のテクスチャ表現を、プログラマブル監視ビデオ・カメラの内部にある前述の１つのチップ内において発生することができる。
【００１３】
統合セキュリティ管理が利用されている多くの場所において、ディジタル・ネットワークの展開が進み、それに対するアクセスが増大したことによって、ＣＣＴＶシステムの柔軟性に限界があることに対処する最新の手法では、ビデオ監視のためにネットワーク互換セキュリティ・カメラを使用するようになっている。殆どのネットワークまたはインターネット・プロトコル（ＩＰ）ビデオ・カメラは、ビデオ・コンテンツをイーサネット・ネットワークを通じて伝達することにより、セキュリティ管理システムの実現、柔軟性、および動作可能性の向上を可能にしている。とは言え、現実の統合セキュリティ管理の解決策には、課題が残っている。例えば、既存のネットワークに追加のネットワーク・ビデオ・カメラを容易に追加することができれば、ビデオ監視用途のために取り込まれる情報量を著しく増大させることができ、その結果このビデオ情報を格納および／または分析することが可能になる。更に、有効なセキュリティおよび監視システムを実現する際の複雑さに、ネットワーク管理の問題も加わる。
【００１４】
したがって、統合および展開の柔軟性を備えつつ、バック・エンド・セキュリティ管理プラットフォームが、高度セキュリティ・アプリケーションおよび機能の可用性および効率を高めるように、ビデオ情報の処理および格納を簡素化することを可能にする、新規な費用対効果のあるネットワーク・ビデオ・カメラの解決策が求められている。したがって、この手法は、真の統合セキュリティ管理の問題解決(solution)を可能にすると言える。
【００１５】
図１Ａは、本発明の一実施形態による、再構成可能なスマート・ネットワーク・カメラＳｏＣを備えている、ネットワーク・カメラ・アーキテクチャのブロック図を示す。図１Ａを参照すると、スマート・ネットワーク・カメラ１１０のネットワーク・アーキテクチャ例は、チップ上の再構成可能なスマート・ネットワーク・カメラ・システム（ＳｏＣ）１０４、画像センサ１００、クロック発生器１０１、Ｊ２Ｉ／Ｏ１０２、センサ・アナログ電源ＤＣ−ＤＣ変換器１０３、メモリ１０５、イーサネット送受信部１０６、カメラ・ロジックＤＣ−ＤＣ変換器１０７を備えることができる。更に、メモリ１０５はＤＤＲ  ＳＤＲＡＭ１０５ａおよびＳＤＲＡＭ１０５ｂを備えることができる。画像センサ１００は、ＣＣＤ、ＣＭＯＳ、または光学画像を電気信号に変換することができるその他の同様のデバイスであればいずれでもよい。
【００１６】
クロック発生器１０１は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールの動作を同期させることができる回路またはデバイスであればいずれでも備えることができる。Ｊ２Ｉ／Ｏ１０２は、適した回路、ロジック、および／またはコードを備えることができ、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４への入力／出力として用いることができる。Ｊ２Ｉ／Ｏ１０２は、いずれの種類の入力または出力でも、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４から搬送することができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、適した回路、ロジック、および／またはコードを備えることができ、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに対する電圧源として機能することができる。
【００１７】
再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、適した回路、ロジック、および／またはコードを備えることができ、色処理、圧縮、および／またはコンテンツ分析というような、様々な段階のデータ処理を実行するために用いることができる。イーサネット送受信部１０６は、有線ネットワークおよび／またはワイヤレス・ネットワークのような、ネットワークに接続されている他のデバイスにデータを送信し、これらのデバイスからデータを受信するインターフェースを設ける。データを送信および受信する他のインターフェースを用いてもよい。カメラ・ロジックＤＣ−ＤＣ変換器１０７は、適した回路、ロジック、および／またはコードを備えることができ、カメラ・インターフェースとして用いることができる。加えて、カメラ・ロジックＤＣ−ＤＣ変換器１０７をイーサネット送受信部１０６と統合することもできる。
【００１８】
動作において、画像センサ１００は画像を取り込むことができ、この画像を再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に転送することができる。次いで、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、色処理、圧縮、および／またはコンテンツ分析というような、数段階のデータ処理を実行することができる。また、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はメモリ・モジュール１０５とインターフェースすることもでき、例えば、画像をメモリ１０５内にバッファすることを可能にすることによって、更なる画像処理に備えることができる。一旦再構成可能スマート・ネットワーク・カメラＳｏＣ１０４において画像データを処理し分析したなら、イーサネット送受信部１０６を通じてデータをネットワークに送信することができる。別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はイーサネット送受信部１０６を通じて他のデータ源からデータを受信するためにも用いることができる。クロック発生器１０１は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４を、スマート・ネットワーク・カメラ１１０の内部にある種々のその他のモジュールと同期させるために用いることができる。Ｊ２Ｉ／Ｏ１０２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４へのあらゆる種類の入力を搬送するため、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのあらゆる種類の出力を搬送するために用いることができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに電圧を供給するために用いることができる。
【００１９】
図１Ｂは、本発明の一実施形態による、再構成可能スマート・ネットワーク・カメラＳｏＣおよびＧＰＳ受信部を備えているネットワーク・カメラ・アーキテクチャのブロック図を示す。図１Ｂを参照すると、スマート・ネットワーク・カメラ１１０の一例は、チップ上再構成可能スマート・ネットワーク・カメラ・システム（ＳｏＣ）１０４、画像センサ１００、クロック発生器１０１、Ｊ２Ｉ／Ｏ１０２、センサ・アナログ電源ＤＣ−ＤＣ変換器１０３、メモリ１０５、イーサネット送受信部１０６、カメラ・ロジックＤＣ−ＤＣ変換器１０７、およびＧＰＳ受信部１０８を備えることができる。更に、メモリ１０５はＤＤＲ  ＳＤＲＡＭ１０５ａおよびＳＤＲＡＭ１０５ｂを備えることができる。画像センサ１００は、ＣＣＤ，ＣＭＯＳ、または光学画像を電気信号に変換することができるその他の同様のデバイスであればいずれでもよい。
【００２０】
クロック発生器１０１は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールの動作を同期させることができる回路またはデバイスであればいずれでも備えることができる。Ｊ２Ｉ／Ｏ１０２は、適した回路、ロジック、および／またはコードを備えることができ、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４への入力／出力として用いることができる。Ｊ２Ｉ／Ｏ１０２は、いずれの種類の入力または出力でも、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４から搬送することができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、適した回路、ロジック、および／またはコードを備えることができ、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに対する電圧源として機能することができる。
【００２１】
再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、適した回路、ロジック、および／またはコードを備えることができ、色処理、圧縮、および／またはコンテンツ分析というような、様々な段階のデータ処理を実行するために用いることができる。イーサネット送受信部１０６は、ネットワークに接続されている他のデバイスにデータを送信し、これらのデバイスからデータを受信するインターフェースを設ける。データを送信および受信する他のインターフェースを用いてもよい。カメラ・ロジックＤＣ−ＤＣ変換器１０７は、適した回路、ロジック、および／またはコードを備えることができ、カメラ・インターフェースとして用いることができる。加えて、カメラ・ロジックＤＣ−ＤＣ変換器１０７をイーサネット送受信部１０６と統合することもできる。ＧＰＳ受信部１０８は、地理的位置データを再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に供給することができる。
【００２２】
動作において、画像センサ１００は画像を取り込むことができ、この画像を再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に転送することができる。ＧＰＳ受信部１０８は、地理的位置データを再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に供給することができる。次いで、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、色処理、圧縮、および／またはコンテンツ分析というような、数段階のデータ処理を実行することができる。一実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、ＧＰＳ受信部１０８が供給した地理的データを、様々な方法で用いることができる。その方法には、画像センサ１００を通じて取得した画像に情報を埋め込むこと、または情報を添付することが含まれる。この地理的データは、ＸＭＬのようなフォーマットに変換することができ、次いで画像と共に埋め込む、添付する、またそれ以外ではパッケージ化することができる。更に、画像および／または地理的データを他のスマート・ネットワーク・カメラに送信し、他のカメラまたはデバイスがこのような情報に反応するまたは更に処理することを可能にすることもできる。また、スマート・ネットワーク・カメラ１１０は、図１Ｂに示すＧＰＳ受信部１０８以外にも、追加のモジュール（図１Ｂには図示しない）を備えることもできる。このようなモジュールの機能は、画像と共に埋め込む、添付する、またそれ以外ではパッケージ化することができるデータを取り込むことまたは発生することとするとよい。このようなモジュールの別の例は、距離測定レーザ・モジュールとすることもできる。スマート・ネットワーク・カメラ１１０が距離測定レーザ・モジュールを含む例では、一旦目標を捕らえたなら、カメラからこの目標までの距離を、画像と共に埋め込む、添付する、またはそれ以外ではパッケージ化することができる。次いで、これらの画像および／またはデータは、更に別の処理および／または誘起行為またはイベントのために、他のカメラおよび／またはデバイスに送信することもできる。
【００２３】
また、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はメモリ・モジュール１０５とインターフェースすることもでき、例えば、画像をメモリ１０５内にバッファすることを可能にすることによって、更なる画像処理に備えることができる。一旦再構成可能スマート・ネットワーク・カメラＳｏＣ１０４において画像データを処理し分析したなら、イーサネット送受信部１０６を通じてデータをネットワークに送信することができる。本発明の別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はイーサネット送受信部１０６を通じて他のデータ源からデータを受信するためにも用いることができる。クロック発生器１０１は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４を、スマート・ネットワーク・カメラ１１０の内部にある種々のその他のモジュールと同期させるために用いることができる。Ｊ２Ｉ／Ｏ１０２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４へのあらゆる種類の入力を搬送するため、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのあらゆる種類の出力を搬送するために用いることができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに電圧を供給するために用いることができる。
【００２４】
図１Ｃは、本発明の一実施形態による、再構成可能スマート・ネットワーク・カメラＳｏＣを備えている、ネットワーク・ワイヤレス・カメラ・アーキテクチャのブロック図を示す。図１Ｃを参照すると、スマート・ネットワーク・カメラ１１０の一例は、チップ上再構成可能スマート・ネットワーク・カメラ・システム（ＳｏＣ）１０４、画像センサ１００、クロック発生器１０１、Ｊ２Ｉ／Ｏ１０２、センサ・アナログ電源ＤＣ−ＤＣ変換器１０３、メモリ１０５、ＧＰＳ受信部１０８、送受信部１０６、ワイヤレス・インターフェース１３０、ワイヤレス・アンテナ１４０、および／またはイーサネット送受信部１３１を備えることができる。更に、メモリ１０５はＤＤＲ  ＳＤＲＡＭ１０５ａおよびＳＤＲＡＭ１０５ｂを備えることができる。画像センサ１００は、ＣＣＤ，ＣＭＯＳ、または光学画像を電気信号に変換することができるその他の同様のデバイスであればいずれでもよい。
【００２５】
クロック発生器１０１は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールの動作を同期させることができる回路またはデバイスであればいずれでも備えることができる。Ｊ２Ｉ／Ｏ１０２は、適した回路、ロジック、および／またはコードを備えることができ、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４への入力／出力として用いることができる。Ｊ２Ｉ／Ｏ１０２は、いずれの種類の入力または出力でも、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４から搬送することができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、適した回路、ロジック、および／またはコードを備えることができ、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに対する電圧源として機能することができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、適した回路、ロジック、および／またはコードを備えることができ、色処理、圧縮、および／またはコンテンツ分析というような、様々な段階のデータ処理を実行するために用いることができる。イーサネット送受信部１０６は、ネットワークに接続されている他のデバイスにデータを送信し、これらのデバイスからデータを受信するインターフェースを設ける。データを送信および受信する他のインターフェースを用いてもよい。カメラ・ロジックＤＣ−ＤＣ変換器１０７は、適した回路、ロジック、および／またはコードを備えることができ、カメラ・インターフェースとして用いることができる。ＧＰＳ受信部１０８は、地理的位置データを再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に供給することができる。ワイヤレス・インターフェース１３０は、適した回路、ロジック、および／またはコードを備えることができ、１つよりも多いワイヤレス・プロトコルをサポートすることができる。例えば、プロトコルは、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、８０２．１６、Ｂｌｕｅｔｏｏｔｈ、または他のいずれのワイヤレス・プロトコルとしてもよい。ワイヤレス・インターフェース１３０は、独立して動作することも、イーサネット・インターフェース１３１と連係して動作することもできる。
【００２６】
ワイヤレス・インターフェース１３０およびイーサネット・インターフェース１３１は、各々、通信チャネルであり、独立して動作するまたは連係して動作することにより、メタデータ・モード、ビデオ・モード、およびメタデータ＋ビデオ・モードというような、少なくとも３つの送信モードを得ることができる。メタデータ・モードでは、メタデータのみを送出および／または受信することができ、ビデオまたは画像データは全く含まれない。ビデオ動作モードでは、画像またはビデオ・データのみを送信することができ、メタデータは全く埋め込まれず、添付されず、パッケージ化もされない。メタデータ＋ビデオ・モードでは、メタデータおよびビデオ双方を同時に送信することができる。メタデータは、ＸＭＬのようないずれのフォーマットでもよく、ＧＰＳ受信部１０８を通じて取得したデータ、距離測定レーザ・モジュールのようなその他のモジュールを通じて取得したデータ、あるいは再構成可能スマート・ネットワーク・カメラＳｏＣ１０４が取得または発生したその他のいずれのデータでも収容することができる。帯域幅管理のために、ＳｏＣ１０４が発生したメタデータ／記述子を、ワイヤレスで、Ｂｌｕｅｔｏｏｔｈまたは同様のワイヤレス・プロトコルを用いることによって他のカメラに送り、インテリジェント分散型カメラ・ネットワークを作成することもできる。ワイヤレス接続１３０およびアンテナ１４０を用いることによって、カメラ１１０は物体追跡情報、顔認識情報、またはその他の情報を近隣のカメラに送り、物体または人の効果的な追跡を実行することができる。また、画像およびメタデータは、イーサネット接続１３１を通じて送ることもできる。しかしながら、カメラ間におけるメタデータの直接送信は、最初にバック・エンド処理動作を経る必要なく、セキュリティ・ネットワークがイベントに反応することができる効率および速度を向上させることができる。
【００２７】
図２Ａは、画像処理およびコンテンツ分析ブロック、プロセッサ、相互接続ブロック、および内部メモリを有する、再構成可能スマート・ネットワーク・カメラＳｏＣを示す。図２Ａを参照すると、スマート・ネットワーク・カメラの一例は、チップ上再構成可能スマート・ネットワーク・カメラ・システム（ＳｏＣ）１０４、画像センサ１００、クロック発生器１０１、Ｊ２Ｉ／Ｏ１０２、センサ・アナログ電源ＤＣ−ＤＣ変換器１０３、メモリ１０５、およびイーサネット送受信部１０６を備えることができる。メモリ１０５は、更に、ＤＤＲ  ＳＤＲＡＭ１０５ａおよびＳＤＲＡＭ１０５ｂを備えることができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、更に、画像処理およびコンテンツ分析ブロック２００、相互接続ブロック２２０、プロセッサ２０２、ならびに内部メモリ２０１を備えることができる。画像処理およびコンテンツ分析ブロック２００は、更に、メモリ・コントローラ２１０を備えることができる。メモリ・コントローラ２１０は、メモリ１０５に対するインターフェースとして機能することができる。プロセッサ２０２は、例えば、標準的コア、ソフト・コア、マイクロコントローラ、および／または命令・セットをサポートする状態マシンを用いて実現することができる。プロセッサ２０２は、ソフトウェア開発キット（ＳＤＫ）によってプログラム可能とするとよい。プロセッサ２０２は、ディジタル信号処理（ＤＳＰ）エンジンを実現するために用いることができる。相互接続ブロック２２０は、標準バスおよびカスタム・バスを用いる複数(multiple)のバス・アーキテクチャとすることができる。
【００２８】
画像センサ１００は、ＣＣＤ，ＣＭＯＳ、または光学画像を電気信号に変換することができるその他の同様のデバイスであればいずれでもよい。クロック発生器１０１は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールの動作を同期させることができる回路またはデバイスであればいずれでも備えることができる。Ｊ２Ｉ／Ｏ１０２は、適した回路、ロジック、および／またはコードを備えることができ、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４への入力／出力として用いることができる。Ｊ２Ｉ／Ｏ１０２は、いずれの種類の入力または出力でも、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４から搬送することができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、適した回路、ロジック、および／またはコードを備えることができ、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに対する電圧源として機能することができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、適した回路、ロジック、および／またはコードを備えることができ、色処理、圧縮、および／またはコンテンツ分析というような、様々な段階のデータ処理を実行することができる（そして、そのために用いることができる）。イーサネット送受信部１０６は、ネットワークに接続されている他のデバイスにデータを送信し、これらのデバイスからデータを受信するインターフェースを設ける。データを送信および受信する他のインターフェースを用いてもよい。画像処理およびコンテンツ分析ブロック２００は、適した回路、ロジック、および／またはコードを備えることができ、色処理、画像コンテンツ分析、および圧縮を含むがこれらには限定されない画像処理およびコンテンツ分析を実行するために用いることができる。画像処理およびコンテンツ分析ブロック２００のアーキテクチャ、機能、および動作については、本明細書において以下で更に詳しく論ずることとする。
【００２９】
動作において、画像センサ１００は画像を取り込むことができ、この画像を再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある画像処理およびコンテンツ分析ブロック２００に転送することができる。一旦画像処理およびコンテンツ分析ブロック２００が生画像データを画像センサ１００から受けると、画像処理およびコンテンツ分析ブロック２００は、色処理、圧縮、およびコンテンツ分析というような、数段階のデータ処理を実行することができる。メモリ・コントローラ２１０は、内部メモリ２０１または外部メモリ１０５と直接インターフェースし、更に処理するために画像をバッファすることができる。相互接続バス２２０は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある種々のモジュール間でデータを転送することができる。例えば、プロセッサ２０２は、相互接続バス２２０を通じて、内部メモリ２０１または画像処理およびコンテンツ分析ブロック２００とインターフェースすることができる。同様に、画像処理およびコンテンツ分析ブロック２００は、データをプロセッサ２０２または内部メモリ２０１へ／から送る／受けることもできる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４において一旦画像データを処理し分析したなら、このデータをイーサネット送受信部１０６を通じてネットワークに送信することができる。
【００３０】
別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、イーサネット送受信部１０６を通じて他のデータ源からデータを受信するためにも用いることができる。クロック発生器１０１は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４を、スマート・ネットワーク・カメラ１１０の内部にある種々のその他のモジュールと同期させるために用いることができる。Ｊ２Ｉ／Ｏ１０２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４へのあらゆる種類の入力を搬送するため、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのあらゆる種類の出力を搬送するために用いることができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに電圧を供給するために用いることができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのデータは、スマート・ネットワーク・カメラ１１０の内部にある他のいずれのモジュールへ／からでも送る／受けることができる。一実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、ＧＰＳ受信部１０８へ／からデータを送出／受信することができる。また、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、イーサネット送受信部１０６を通じてネットワークへ／からデータを送出／受信することもできる。別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はワイヤレス接続、他のいずれのネットワーク通信手段を通じてでも、ネットワークからデータを送出／受信することができる。
【００３１】
図２Ｂは、本発明の一実施形態による、統合イーサネット送受信部を有する再構成可能スマート・ネットワーク・カメラＳｏＣの上位ブロック図である。図２Ｂを参照すると、スマート・ネットワーク・カメラ１１０の一例は、チップ上再構成可能スマート・ネットワーク・カメラ・システム（ＳｏＣ）１０４、画像センサ１００、クロック発生器１０１、Ｊ２Ｉ／Ｏ１０２、センサ・アナログ電源ＤＣ−ＤＣ変換器１０３、メモリ１０５、および統合イーサネット送受信部１０６を備えることができる。メモリ１０５は、更に、ＤＤＲ  ＳＤＲＡＭ１０５ａおよびＳＤＲＡＭ１０５ｂを備えることができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、更に、画像処理およびコンテンツ分析ブロック２００、相互接続ブロック２２０、プロセッサ２０２、ならびに内部メモリ２０１を備えることができる。画像処理およびコンテンツ分析ブロック２００は、更に、メモリ・コントローラ２１０を備えることができる。メモリ・コントローラ２１０は、メモリ１０５に対するインターフェースとして機能することができる。プロセッサ２０２は、標準的コア、ソフト・コア、マイクロコントローラ、または命令セットをサポートする状態マシンを用いて実現することができる。プロセッサ２０２は、ソフトウェア開発キット（ＳＤＫ）によってプログラム可能とするとよい。プロセッサ２０２は、ディジタル信号処理（ＤＳＰ）エンジンを実現するために用いることができる。相互接続ブロック２２０は、標準バスおよびカスタム・バスを用いる複数(multiple)のバス・アーキテクチャとすることができる。
【００３２】
画像センサ１００は、ＣＣＤ，ＣＭＯＳ、または光学画像を電気信号に変換することができるその他の同様のデバイスであればいずれでもよい。クロック発生器１０１は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールの動作を同期させることができる回路またはデバイスであればいずれでも備えることができる。Ｊ２Ｉ／Ｏ１０２は、適した回路、ロジック、および／またはコードを備えることができ、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４への入力／出力として用いることができる。Ｊ２Ｉ／Ｏ１０２は、いずれの種類の入力または出力でも、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４から搬送することができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、適した回路、ロジック、および／またはコードを備えることができ、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに対する電圧源として機能することができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、適した回路、ロジック、および／またはコードを備えることができ、色処理、圧縮、およびコンテンツ分析を含むがこれらには限定されない、様々な段階のデータ処理を実行するために用いることができる。統合イーサネット送受信部１０６は、ネットワークに接続されている他のデバイスにデータを送信し、これらのデバイスからデータを受信するインターフェースを設ける。データを送信および受信する他のインターフェースを用いてもよい。画像処理およびコンテンツ分析ブロック２００は、適した回路、ロジック、および／またはコードを備えることができ、色処理、画像コンテンツ分析、および圧縮を含むがこれらには限定されない画像処理およびコンテンツ分析を実行するために用いることができる。
【００３３】
動作において、画像センサ１００は画像を取り込むことができ、この画像を再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある画像処理およびコンテンツ分析ブロック２００に転送することができる。一旦画像処理およびコンテンツ分析ブロック２００が生画像データを画像センサ１００から受けると、画像処理およびコンテンツ分析ブロック２００は、例えば、色処理、圧縮、および／またはコンテンツ分析というような、数段階のデータ処理を実行することができる。メモリ・コントローラ２１０は、内部メモリ２０１または外部メモリ１０５と直接インターフェースし、更に処理するために画像をバッファすることができる。相互接続バス２２０は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある種々のモジュール間でデータを転送することができる。例えば、プロセッサ２０２は、相互接続バス２２０を通じて、内部メモリ２０１、統合イーサネット送受信部１０６、または画像処理およびコンテンツ分析ブロック２００とインターフェースすることができる。同様に、画像処理およびコンテンツ分析ブロック２００は、データをプロセッサ２０２、統合イーサネット送受信部１０６、または内部メモリ２０１へ／から送る／受けることもできる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４において一旦データを処理し分析したなら、このデータを統合イーサネット送受信部１０６を通じてネットワークに送信することができる。
【００３４】
別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、統合イーサネット送受信部１０６を通じて他のデータ源からデータを受信するためにも用いることができる。クロック発生器１０１は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４を、スマート・ネットワーク・カメラ１１０の内部にある種々のその他のモジュールと同期させるために用いることができる。Ｊ２Ｉ／Ｏ１０２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４へのあらゆる種類の入力を搬送するため、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのあらゆる種類の出力を搬送するために用いることができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに電圧を供給するために用いることができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのデータは、スマート・ネットワーク・カメラ１１０の内部にある他のいずれのモジュールへ／からでも送る／受けることができる。一実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、ＧＰＳ受信部１０８へ／からデータを送出／受信することができる。また、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、統合イーサネット送受信部１０６を通じてネットワークへ／からデータを送出／受信することもできる。別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はワイヤレス接続、他のいずれのネットワーク通信手段を通じてでも、ネットワークからデータを送出／受信することができる。本発明の更に別の実施形態では、イーサネット送受信部１０６は再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の外部にあってもよい。
【００３５】
図２Ｃは、本発明の一実施形態による、統合イーサネット送受信部およびメモリ・コントローラ・ブロックを有する、再構成可能なスマート・ネットワーク・カメラＳｏＣの上位ブロック図を示す。図２Ｃを参照すると、スマート・ネットワーク・カメラ１１０の一例は、チップ上再構成可能スマート・ネットワーク・カメラ・システム（ＳｏＣ）１０４、画像センサ１００、クロック発生器１０１、Ｊ２Ｉ／Ｏ１０２、センサ・アナログ電源ＤＣ−ＤＣ変換器１０３、およびメモリ１０５を備えることができる。メモリ１０５は、更に、ＤＤＲ  ＳＤＲＡＭ１０５ａおよびＳＤＲＡＭ１０５ｂを備えることができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、更に、画像処理およびコンテンツ分析ブロック２００、相互接続ブロック２２０、メモリ・コントローラ２１０、プロセッサ２０２、イーサネット送受信部、ならびに内部メモリ２０１を備えることができる。メモリ・コントローラ２１０は、メモリ１０５に対するインターフェースとして機能することができる。別の実施形態では、メモリ・コントローラ２１０を画像処理およびコンテンツ分析ブロック２００と統合することもできる。プロセッサ２０２は、標準的コア、ソフト・コア、マイクロコントローラ、または命令セットをサポートする状態マシンを用いて実現することができる。プロセッサ２０２は、ソフトウェア開発キット（ＳＤＫ）によってプログラム可能とするとよい。プロセッサ２０２は、ディジタル信号処理（ＤＳＰ）エンジンを実現するために用いることができる。相互接続ブロック２２０は、標準バスおよびカスタム・バスを用いる複数(multiple)のバス・アーキテクチャとすることができる。
【００３６】
画像センサ１００は、ＣＣＤ，ＣＭＯＳ、または光学画像を電気信号に変換することができるその他の同様のデバイスであればいずれでもよい。クロック発生器１０１は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールの動作を同期させることができる回路またはデバイスであればいずれでも備えることができる。Ｊ２Ｉ／Ｏ１０２は、適した回路、ロジック、および／またはコードを備えることができ、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４への入力／出力として用いることができる。Ｊ２Ｉ／Ｏ１０２は、いずれの種類の入力または出力でも、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４から搬送することができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、適した回路、ロジック、および／またはコードを備えることができ、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに対する電圧源として機能することができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、適した回路、ロジック、および／またはコードを備えることができ、色処理、圧縮、およびコンテンツ分析を含むがこれらには限定されない、様々な段階のデータ処理を実行することができる（そして実行するために用いることができる）。統合イーサネット送受信部１０６は、ネットワークに接続されている他のデバイスにデータを送信し、これらのデバイスからデータを受信するインターフェースを設ける。データを送信および受信する他のインターフェースを用いてもよい。画像処理およびコンテンツ分析ブロック２００は、適した回路、ロジック、および／またはコードを備えることができ、色処理、画像コンテンツ分析、および圧縮を含むがこれらには限定されない画像処理およびコンテンツ分析を実行するために用いることができる。
【００３７】
動作において、画像センサ１００は画像を取り込むことができ、この画像を再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある画像処理およびコンテンツ分析ブロック２００に転送することができる。一旦画像処理およびコンテンツ分析ブロック２００が生画像データを画像センサ１００から受けると、画像処理およびコンテンツ分析ブロック２００は、例えば、色処理、圧縮、および／またはコンテンツ分析というような、数段階のデータ処理を実行することができる。メモリ・コントローラ２１０は、相互接続バス２２０を通じて内部メモリ２０１と、または外部メモリ１０５とインターフェースし、更に処理するために画像をバッファすることができる。相互接続バス２２０は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある種々のモジュール間でデータを転送することができる。例えば、プロセッサ２０２は、相互接続バス２２０を通じて、画像処理およびコンテンツ分析モジュール２００、メモリ・コントローラ２１０、統合イーサネット送受信部１０６、または内部メモリとインターフェースすることができる。同様に、画像処理およびコンテンツ分析ブロック２００は、メモリ・コントローラ２１０、プロセッサ２０２、統合イーサネット送受信部１０６、または内部メモリ２０１へ／からデータを送る／受けることもできる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４において一旦データを処理し分析したなら、このデータを統合イーサネット送受信部１０６を通じてネットワークに送信することができる。
【００３８】
本発明の別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、統合イーサネット送受信部１０６を通じて他のデータ源からデータを受信するためにも用いることができる。クロック発生器１０１は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４を、スマート・ネットワーク・カメラ１１０の内部にある種々のその他のモジュールと同期させるために用いることができる。Ｊ２Ｉ／Ｏ１０２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４へのあらゆる種類の入力を搬送するため、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのあらゆる種類の出力を搬送するために用いることができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに電圧を供給するために用いることができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのデータは、スマート・ネットワーク・カメラ１１０の内部にある他のいずれのモジュールへ／からでも送る／受けることができる。本発明の一実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、ＧＰＳ受信部１０８へ／からデータを送出／受信することができる。また、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、統合イーサネット送受信部１０６を通じてネットワークへ／からデータを送出／受信することもできる。本発明の別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はワイヤレス接続、他のいずれのネットワーク通信手段を通じてでも、ネットワークからデータを送出／受信することができる。本発明の更に別の実施形態では、イーサネット送受信部１０６は再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の外部にあってもよい。
【００３９】
図２Ｄは、追加の統合メモリを有する再構成可能なスマート・ネットワーク・カメラＳｏＣの上位ブロック図を示す。図２Ｄを参照すると、スマート・ネットワーク・カメラ１１０の一例は、チップ上再構成可能スマート・ネットワーク・カメラ・システム（ＳｏＣ）１０４、画像センサ１００、クロック発生器１０１、Ｊ２Ｉ／Ｏ１０２、およびセンサ・アナログ電源ＤＣ−ＤＣ変換器１０３を備えることができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、更に、画像処理およびコンテンツ分析ブロック２００、相互接続ブロック２２０、プロセッサ２０２、イーサネット送受信部１０６、ならびに、複数の内部メモリ・モジュール、例えば、２０１ａおよび２０１ｂを備えることができる。これらの内部メモリ・モジュール２０１ａおよび２０１ｂは、画像処理のために画像をバッファする外部メモリを必要としないようにすることができる、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の完全な統合を例示する。
【００４０】
プロセッサ２０２は、標準的コア、ソフト・コア、マイクロコントローラ、および／または命令セットをサポートする状態マシンを用いて実現することができる。プロセッサ２０２は、ソフトウェア開発キット（ＳＤＫ）によってプログラム可能とするとよい。プロセッサ２０２は、ディジタル信号処理（ＤＳＰ）エンジンを実現するために用いることができる。相互接続ブロック２２０は、標準バスおよびカスタム・バスを用いる複数のバス・アーキテクチャとすることができる。画像センサ１００は、ＣＣＤ，ＣＭＯＳ、または光学画像を電気信号に変換することができるその他の同様のデバイスであればいずれでもよい。クロック発生器１０１は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールの動作を同期させることができる回路またはデバイスであればいずれでも備えることができる。Ｊ２Ｉ／Ｏ１０２は、適した回路、ロジック、および／またはコードを備えることができ、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４への入力／出力として用いることができる。Ｊ２Ｉ／Ｏ１０２は、いずれの種類の入力または出力でも、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４に、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４から搬送することができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、適した回路、ロジック、および／またはコードを備えることができ、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに対する電圧源として機能することができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、適した回路、ロジック、および／またはコードを備えることができ、色処理、圧縮、および／またはコンテンツ分析というような、様々な段階のデータ処理を実行するために用いることができる。統合イーサネット送受信部１０６は、ネットワークに接続されている他のデバイスにデータを送信し、これらのデバイスからデータを受信するインターフェースを設ける。データを送信および受信する他のインターフェースを用いてもよい。画像処理およびコンテンツ分析ブロック２００は、適した回路、ロジック、および／またはコードを備えることができ、色処理、画像コンテンツ分析、および圧縮を含むがこれらには限定されない画像処理およびコンテンツ分析を実行するために用いることができる。
【００４１】
動作において、画像センサ１００は画像を取り込むことができ、この画像を再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある画像処理およびコンテンツ分析ブロック２００に転送することができる。一旦画像処理およびコンテンツ分析ブロック２００が生画像データを画像センサ１００から受けると、画像処理およびコンテンツ分析ブロック２００は、色処理、圧縮、および／またはコンテンツ分析というような、数段階のデータ処理を実行することができる。相互接続バス２２０は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある種々のモジュール間でデータを転送することができる。例えば、プロセッサ２０２は、相互接続バス２２０を通じて、画像処理およびコンテンツ分析モジュール２００、統合イーサネット送受信部１０６、あるいは２０１ａおよび／または２０１ｂのような内部メモリ・モジュールのいずれとでもインターフェースすることができる。同様に、画像処理およびコンテンツ分析ブロック２００は、データをプロセッサ２０２、統合イーサネット送受信部１０６、あるいは２０１ａおよび／または２０１ｂのような内部メモリ・モジュールのいずれへ／からでも送る／受けることもできる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４において一旦データを処理し分析したなら、このデータを統合イーサネット送受信部１０６を通じてネットワークに送信することができる。別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、統合イーサネット送受信部１０６を通じて他のデータ源からデータを受信するためにも用いることができる。
【００４２】
クロック発生器１０１は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４を、スマート・ネットワーク・カメラ１１０の内部にある種々のその他のモジュールと同期させるために用いることができる。Ｊ２Ｉ／Ｏ１０２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４へのあらゆる種類の入力を搬送するため、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのあらゆる種類の出力を搬送するために用いることができる。センサ・アナログ電源ＤＣ−ＤＣ変換器１０３は、スマート・ネットワーク・カメラ１１０の内部にある種々のモジュールに電圧を供給するために用いることができる。再構成可能スマート・ネットワーク・カメラＳｏＣ１０４からのデータは、スマート・ネットワーク・カメラ１１０の内部にある他のいずれのモジュールへ／からでも送る／受けることができる。本発明の一実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、ＧＰＳ受信部１０８へ／からデータを送出／受信することができる。また、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、統合イーサネット送受信部１０６を通じてネットワークへ／からデータを送出／受信することもできる。本発明の別の実施形態では、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はワイヤレス接続、他のいずれのネットワーク通信手段を通じてでも、ネットワークからデータを送出／受信することができる。本発明の更に別の実施形態では、イーサネット送受信部１０６は再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の外部にあってもよい。
【００４３】
図３Ａは、本発明の一実施形態による、圧縮エンジンを用いた画像処理およびコンテンツ分析ブロックの機能図を示す。図３Ａを参照すると、画像処理およびコンテンツ分析ブロック２００の一例は、ユニバーサル・センサ・インターフェース３２０、ＦＰＮ、感度およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換器３０２、ダイナミック・レンジ圧縮器３０４、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム３０９、制御およびステータス・レジスタ３１０、統計モジュール３１３、統合ＤＤＲ  ＳＤＲＡＭコントローラ３００を有するチャネル／バッファ・モジュール、ＰＩＯ３１１、ＤＭＡ３１２、および圧縮エンジン３３０を備えることができる。この画像処理およびコンテンツ分析ブロック２００は、概念的に、３つの主要サブシステム、即ち、ＤＤＲ  ＳＤＲＡＭメモリ・コントローラ３００、画像処理および圧縮チェーン３０１、３０２、３０３、３０４、３０８、３０９、３１０、３１３、および３３０、ならびにシステム・インターフェース・サブシステム３２０、３００、３１１、３１２に区分することができる。
【００４４】
画像処理および圧縮チェーン・サブシステム３０１、３０２、３０３、３０４、３０８、３０９、３１０、３１３、および３３０は、ＦＰＮ、感度およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換器３０２、ダイナミック・レンジ圧縮器３０４、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、統計モジュール３１３、ならびに圧縮エンジン３３０を備えることができる。システム・インターフェース・サブシステムは、ユニバーサル・センサ・インターフェース３２０、ＤＤＲ  ＳＤＲＡＭコントローラ３００、ＰＩＯ３１１、およびＤＭＡ３１２を備えることができる。
【００４５】
ユニバーサル・センサ・インターフェース３２０は、適した回路、ロジック、および／またはコードを備えることができ、画像センサ１００に対するインターフェースとして用いることができる。画像センサ１００は、ＣＣＤ、ＣＭＯＳ、または光学画像を電気信号に変換することができる同様のデバイスとすることができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１は、固定パターン・ノイズ(Fixed Pattern Noise)、感度、およびガンマ補正というような画像処理を実行する。ＦＰＮ、感度、およびガンマ補正モジュール３０１のアーキテクチャ、機能、および動作については、以下で更に詳しく論ずる。バイエル／ＹＣｂＣｒ変換モジュール３０２は、データをバイエル・フォーマットからＹＣｂＣｒフォーマットに変換する。バイエル／ＹＣｂＣｒ変換モジュールのアーキテクチャ、機能、および動作については、以下で更に詳しく論ずる。ビデオ・モーション検出モジュール３０３は、入来する画像内において動いている物体を検出するための画像処理を実行する。また、ビデオ・モーション検出モジュール３０３は、画像の背景を検出するための画像処理も実行することができる。ビデオ・モーション検出器３０３のアーキテクチャ、機能、および動作については以下で更に詳しく論ずる。
【００４６】
ダイナミック・レンジ圧縮モジュール３０４は、入来するＹおよびＣｂＣｒ信号に対して種々の動作を実行して、圧縮ＹおよびＣｒＣｂを送り出す。テーブル・モジュール３０８は、ヒストグラム・モジュール３０９から受信したデータに基づいて、グラフのレンダリングおよび／または作成を行う。ヒストグラム・モジュール３０９は、画像が一旦ＦＰＮ、感度、およびガンマ補正モジュール３０１によって補正および／または処理されたなら、これらの画像のヒストグラムを収容することができる。これらのヒストグラムは、画像内部における照明および露出のレベルに関する情報を提供することができる。制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のモジュールの動作を制御し、そのステータス(status)を維持することができる。統計モジュール３１３は、画像処理およびコンテンツ分析ブロック２００によって処理されている画像コンテンツに関する種々の記述子またはメタデータを発生するために必要なデータを収容することができる。圧縮エンジン３３０は、画像圧縮を実行し、圧縮した画像データを出力することができる。例えば、本発明の一実施形態では、画像圧縮エンジン３３０はＪＰＥＧデータを供給することができる。本発明の別の実施形態では、画像圧縮エンジン３３０は、ＭＰＥＧ−４データ、または他のいずれの形態の圧縮画像データでも出力することができる。統合ＤＤＲ  ＳＤＲＡＭ制御モジュール３００を有するチャネル／バッファは、画像処理およびコンテンツ分析ブロック２００内にデータをバッファするために用いることができる。また、統合ＤＤＲ  ＳＤＲＡＭ制御モジュール３００を有するチャネル／バッファは、ＤＤＲ  ＳＤＲＡＭへ／から送出／受信したデータをバッファするために用いることもできる。ＰＩＯモジュール３１１は、画像内におけるヒストグラムを表示することができるプログラマブルＩ／Ｏモジュールである。ＤＭＡモジュール３１２は、種々のモジュールから入力を受け入れることができる。図に示すように、ＤＭＡモジュール３１２は統計モジュール３１３および／または圧縮エンジン３３０からの入力データを受け入れることができる。ＤＭＡモジュールは、次いで、データをＰＩＯモジュール３１１に転送することができ、またはデータを他のＳｏＣコンポーネント、例えば、イーサネット送受信部１０６に／から送出／受信することができる。
【００４７】
動作において、ユニバーサル・センサ・インターフェース３２０は画像を取得することができ、次いでその画像をＦＰＮ、感度、およびガンマ補正モジュール３０１に転送することができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１は、固定パターン・ノイズ、感度、およびガンマ補正というような、画像色補正および画像処理を実行することができる。固定パターン・ノイズ、感度、およびその他のパラメータを計算するために、ＦＰＮ、感度、およびガンマ補正モジュール３０１は、ユニバーサル・センサ・インターフェース３２０から受信した画像データを、チャネル／バッファ・モジュール３００に転送する。チャネル／バッファ・モジュール３００は、データを直接バイエル／ＹＣｂＣｒ変換器３０２およびビデオ・モーション検出器３０３に転送することができる。チャネル／バッファ・モジュール３００は、データをバイエル・フォーマットからＹＣｂＣｒフォーマットに変換するというような更なる処理のために、画像をバイエル／ＹＣｂＣｒ変換モジュール３０２に転送することができる。また、チャネル／バッファ・モジュール３００は、画像における種々の物体を当該画像の背景から隔離するための画像処理の目的のために、画像をビデオ・モーション検出器に転送することもできる。ビデオ・モーション検出器３０３は、他の入力モジュールからデータを受けることもできる。この実施形態において示すように、ビデオ・モーション検出モジュールは、バイエル／ＹＣｂＣｒ変換モジュール３０２および／またはダイナミック・レンジ圧縮モジュール３０４から入力を受けることができる。
【００４８】
次いで、ビデオ・モーション検出モジュール３０３は、画像を圧縮エンジン３３０に転送する。補正された画像は、ＦＰＮ、感度、およびガンマ補正モジュールからヒストグラム３０９に転送される。テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、ビデオ・モーション検出器３０３と並列に動作することができる。ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、各々、画像処理およびコンテンツ分析を種々の観点で実行する。例えば、集合的に、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、特徴抽出を実行する。特徴抽出は、入来するビデオ・データを分析し、物体の分析を実行してこれらの物体の種々の特徴を抽出することを含むことができ、物体の特徴には、限定ではなく、当該物体の形状、色、および／またはモーション・ベクトルが含まれる。ビデオ・メタデータは、タイムスタンプ、物体検出、物体サイズ、物体の優勢色、物体の動きの記述、物体クラスタの記述、皮膚検出、および／または顔検出を備えることができる。テーブル３０８ならびに制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロックの動作のために用いることができる。ヒストグラム３０９および統計３１３は、ビデオ・コンテンツから記述子またはメタデータ情報を発生するために用いることができる。更に、ビデオ・モーション検出器３０３が発生した情報は、記述子および／またはメタデータを発生するために用いることもできる。
【００４９】
記述子は、動き検出、物体検出、物体追跡、色情報、クラスタ情報、背景情報、皮膚検出、および／または顔検出を含むことができる。発生した記述子またはメタデータは、ＪＰＥＧ圧縮ビデオに埋め込むまたは添付するために、プロセッサ２０２に送ることができる。また、プロセッサ２０２は記述子を、それらの各圧縮ビデオとは別個に、ネットワークに送ることもできる。次いで、データ・マイニング(data mining)アプリケーションのようなアプリケーションを容易にするために用いることができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換モジュール３０２、ならびにダイナミック・レンジ圧縮モジュール３０４は、各々、色処理を種々の観点で実行する。テーブル・モジュール３０８は、ヒストグラム・モジュール３０９から受信したヒストグラム・データに基づいて、グラフのレンダリング／作成を行う。ヒストグラム・モジュール３０９は、ヒストグラム・データをＰＩＯモジュール３１１に転送することができ、ＰＩＯモジュール３１１は、画像内にまたは画像に重ね合わせて、ヒストグラムを表示することができる。ダイナミック・レンジ圧縮器３０４は、画像圧縮を実行し、そうしなければダイナミック・レンジを扱うことができないデバイスによって、ダイナミック・レンジ全体が取り込まれることを確保することができる。
【００５０】
制御およびステータス・レジスタ・モジュール３１０は、種々のレジスタを制御し、これらのレジスタのステータスを表示するためにも用いることができる。例えば、制御およびステータス・レジスタ・モジュール３１０は、ユニバーサル・センサ・インターフェース３２０の内部にあるレジスタのステータスを制御することおよび表示することができる。また、制御レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のモジュールをイネーブルまたはディスエーブルするために用いることもできる。例えば、制御およびステータス・レジスタ・モジュール３１０は、ダイナミック・レンジ圧縮器３０４をイネーブルまたはディスエーブルすることができる。統計モジュール３１３は、ＤＭＡ３１２と直接インターフェースすることができる。また、ＤＭＡ３１２は圧縮データを圧縮エンジン３３０から受けることができ、次いでこのデータを統計モジュール３１３および／または圧縮エンジン３３０からＰＩＯ３１１または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にあるその他のコンポーネントに転送することができる。また、ＤＭＡ３１２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にあるその他のモジュールからデータを受けることもできる。カメラ・プロセッサの内部にあるＤＭＡコントローラ３１２は、２つの外部チャネルを備えることができ、これらは、画像処理およびコンテンツ分析によって、データを直接ＳＤＲＡＭメモリに転送するために用いることができる。例えば、チャネル０はＪＰＥＧ圧縮画像に用いることができ、チャネル１は、統計データの転送に用いることができる。
【００５１】
図３Ｂは、本発明の一実施形態による、ＪＰＥＧ圧縮エンジンを用いた画像処理およびコンテンツ分析ブロックの機能図を示す。図３Ｂを参照すると、画像処理およびコンテンツ分析ブロック２００の一例は、ユニバーサル・センサ・インターフェース３２０、ＦＰＮ、感度およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換器３０２、ダイナミック・レンジ圧縮器３０４、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム３０９、制御およびステータス・レジスタ３１０、統計モジュール３１３、統合ＤＤＲ  ＳＤＲＡＭコントローラ３００を有するチャネル／バッファ・モジュール、ＰＩＯ３１１、ＤＭＡ３１２、およびＪＰＥＧ圧縮エンジン３３０を備えることができる。ＪＰＥＧ圧縮エンジン３３０は、更に、ＤＣ減算モジュール３０５、離散余弦変換（ＤＣＴ）モジュール３０６、加算器３０７、量子化器ＲＬＥ３１４、ハフマン・エンコーダ３１５、およびビット・スタッファ(bit stuffer)３１６を備えることができる。画像処理およびコンテンツ分析ブロック２００は、概念的に、３つの主要サブシステム、即ち、ＤＤＲ  ＳＤＲＡＭメモリ・コントローラ３００、画像処理および圧縮チェーン３０１、３０２、３０３、３０４、３０８、３０９、３１０、３１３、および３３０、ならびにシステム・インターフェース・サブシステム３２０、３００、３１１、３１２に区分することができる。システム・インターフェース・サブシステムは、ユニバーサル・センサ・インターフェース３２０、ＤＤＲ  ＳＤＲＡＭコントローラ３００、ＰＩＯ３１１、およびＤＭＡ３１２を備えることができる。画像処理および圧縮チェーン・サブシステム３０１、３０２、３０３、３０４、３０８、３０９、３１０、３１３、および３３０は、ＦＰＮ、感度およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換器３０２、ダイナミック・レンジ圧縮器３０４、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、統計モジュール３１３、ならびにＪＰＥＧ圧縮エンジン３３０を備えることができる。ＪＰＥＧ圧縮エンジン３３０は、更に、ＤＣ減算モジュール３０５、ＤＣＴモジュール３０６、加算器３０７、量子化器ＲＬＥ３１４、ハフマン・エンコーダ３１５、およびビット・スタッファ３１６を備えることができる。
【００５２】
ユニバーサル・センサ・インターフェース３２０は、適した回路、ロジック、および／またはコードを備えることができ、画像センサ１００に対するインターフェースとして用いることができる。画像センサ１００は、ＣＣＤ、ＣＭＯＳ、または光学画像を電気信号に変換することができる同様のデバイスとすることができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１は、固定パターン・ノイズ、感度、および／またはガンマ補正というような画像処理を実行する。バイエル／ＹＣｂＣｒ変換モジュール３０２は、データをバイエル・フォーマットからＹＣｂＣｒフォーマットに変換する。ビデオ・モーション検出モジュール３０３は、入来する画像内において動いている物体を検出するための画像処理を実行する。また、ビデオ・モーション検出モジュール３０３は、画像の背景を検出するための画像処理も実行することができる。ダイナミック・レンジ圧縮モジュール３０４は、入来するＹおよびＣｂＣｒ信号に対して種々の動作を実行して、圧縮ＹおよびＣｒＣｂを送り出す。テーブル・モジュール３０８は、ヒストグラム・モジュール３０９から受信したデータに基づいて、グラフのレンダリングおよび／または作成を行う。ヒストグラム・モジュール３０９は、画像が一旦ＦＰＮ、感度、およびガンマ補正モジュール３０１によって補正および／または処理されたなら、これらの画像のヒストグラムを収容することができる。これらのヒストグラムは、画像内部における照明および露出のレベルに関する情報を提供することができる。制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のモジュールの動作を制御し、そのステータスを維持することができる。
【００５３】
統計モジュール３１３は、画像処理およびコンテンツ分析ブロック２００によって処理されている画像コンテンツに関する種々の記述子またはメタデータを発生するために必要なデータを収容することができる。圧縮エンジン３３０は、画像圧縮を実行し、圧縮した画像データを出力することができる。例えば、本発明の一実施形態では、画像圧縮エンジン３３０はＪＰＥＧデータを供給することができる。本発明の別の実施形態では、画像圧縮エンジン３３０は、ＭＰＥＧ−４データ、または他のいずれの形態の圧縮画像データでも出力することができる。統合ＤＤＲ  ＳＤＲＡＭ制御モジュール３００を有するチャネル／バッファは、画像処理およびコンテンツ分析ブロック２００内にデータをバッファするために用いることができる。また、集積ＤＤＲ  ＳＤＲＡＭ制御モジュール３００を有するチャネル／バッファは、ＤＤＲ  ＳＤＲＡＭへ／から送出／受信したデータをバッファするために用いることもできる。ＰＩＯモジュール３１１は、画像内におけるヒストグラムを表示することができるプログラマブルＩ／Ｏモジュールである。ＤＭＡモジュール３１２は、種々のモジュールから入力を受け入れることができる。図に示すように、ＤＭＡモジュール３１２は統計モジュール３１３および／または圧縮エンジン３３０からの入力データを受け入れることができる。ＤＭＡモジュールは、次いで、データをＰＩＯモジュール３１１に転送することができ、またはデータを他のＳｏＣコンポーネント、例えば、イーサネット送受信部１０６に／から送出／受信することができる。
【００５４】
動作において、ユニバーサル・センサ・インターフェース３２０は画像を取得することができ、次いでその画像をＦＰＮ、感度、およびガンマ補正モジュール３０１に転送することができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１は、固定パターン・ノイズ、感度、およびガンマ補正というような、画像色補正および画像処理を実行することができる。固定パターン・ノイズ、感度、およびその他のパラメータを計算するために、ＦＰＮ、感度、およびガンマ補正モジュール３０１は、ユニバーサル・センサ・インターフェース３２０から受信した画像データを、チャネル／バッファ・モジュール３００に転送する。チャネル／バッファ・モジュール３００は、データを直接バイエル／ＹＣｂＣｒ変換器３０２およびビデオ・モーション検出器３０３に転送することができる。チャネル／バッファ・モジュール３００は、データをバイエル・フォーマットからＹＣｂＣｒフォーマットに変換するというような更なる処理のために、画像をバイエル／ＹＣｂＣｒ変換モジュール３０２に転送することができる。また、チャネル／バッファ・モジュール３００は、画像における種々の物体を当該画像の背景から隔離するための画像処理の目的のために、画像をビデオ・モーション検出器３０３に転送することもできる。ビデオ・モーション検出器３０３は、他の入力モジュールからデータを受けることもできる。これらの図において示すように、ビデオ・モーション検出モジュールは、バイエル／ＹＣｂＣｒ変換モジュール３０２および／またはダイナミック・レンジ圧縮モジュール３０４から入力を受けることができる。次いで、ビデオ・モーション検出モジュール３０３は、画像を圧縮エンジン３３０に転送する。補正された画像は、ＦＰＮ、感度、およびガンマ補正モジュールからヒストグラム３０９に転送される。
【００５５】
テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、ビデオ・モーション検出器３０３と並列に動作することができる。ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、各々、画像処理およびコンテンツ分析を種々の観点で実行する。例えば、集合的に、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、特徴抽出を実行する。特徴抽出は、入来するビデオ・データを分析し、物体の分析を実行してこれらの物体の種々の特徴を抽出することを含むことができ、物体の特徴には、限定ではなく、当該物体の形状、色、および／またはモーション・ベクトルが含まれる。これらのモジュールのアーキテクチャ、機能、および動作については、以下で更に詳しく論ずる。テーブル３０８ならびに制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロックの動作のために用いることができる。ヒストグラム３０９および統計３１３は、ビデオ・コンテンツから記述子またはメタデータ情報を発生するために用いることができる。更に、ビデオ・モーション検出器３０３が発生した情報は、記述子および／またはメタデータを発生するために用いることもできる。
【００５６】
記述子は、動き検出、物体検出、物体追跡、色情報、クラスタ情報、背景情報、皮膚検出、および／または顔検出を含むことができる。発生した記述子またはメタデータは、ＪＰＥＧ圧縮ビデオに埋め込むまたは添付するために、プロセッサ２０２に送ることができる。また、プロセッサ２０２は記述子を、それらの各圧縮ビデオとは別個に、ネットワークに送ることもできる。次いで、データ・マイニング・アプリケーションのようなアプリケーションを容易にするために用いることができる。
【００５７】
ＦＰＮ、感度、およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換モジュール３０２、ならびにダイナミック・レンジ圧縮モジュール３０４は、各々、色処理を種々の観点で実行する。テーブル・モジュール３０８は、ヒストグラム・モジュール３０９から受信したヒストグラム・データに基づいて、グラフのレンダリング／作成を行うことができる。ヒストグラム・モジュール３０９は、ヒストグラム・データをＰＩＯモジュール３１１に転送することができ、ＰＩＯモジュール３１１は、画像内にまたは画像に重ね合わせて、ヒストグラムを表示することができる。ダイナミック・レンジ圧縮器３０４は、画像圧縮を実行し、そうしなければダイナミック・レンジを扱うことができないデバイスによって、ダイナミック・レンジ全体が取り込まれることを確保することができる。制御およびステータス・レジスタ・モジュール３１０は、種々のレジスタを制御し、これらのレジスタのステータスを表示するためにも用いることができる。例えば、制御およびステータス・レジスタ・モジュール３１０は、ユニバーサル・センサ・インターフェース３２０の内部にあるレジスタのステータスを制御することおよび表示することができる。また、制御レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のモジュールをイネーブルまたはディスエーブルするために用いることもできる。例えば、制御およびステータス・レジスタ・モジュール３１０は、ダイナミック・レンジ圧縮器３０４をイネーブルまたはディスエーブルすることができる。統計モジュール３１３は、ＤＭＡ３１２と直接インターフェースすることができ、更に圧縮データを圧縮エンジン３３０から受けることができる。次いで、ＤＭＡ３１２は、このデータを統計モジュール３１３および／または圧縮エンジン３３０からＰＩＯ３１１または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にあるその他のコンポーネントに転送することができる。また、ＤＭＡ３１２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にあるその他のモジュールからデータを受けることもできる。カメラ・プロセッサの内部にあるＤＭＡコントローラ３１２は、２つの外部チャネルを備えることができ、これらは、画像処理およびコンテンツ分析によって、データを直接ＳＤＲＡＭメモリに転送するために用いることができる。例えば、チャネル０はＪＰＥＧ圧縮画像に用いることができ、チャネル１は、統計データの転送に用いることができる。
【００５８】
図３Ｃは、本発明の一実施形態による、統合ＧＰＳインターフェースを用いた画像処理およびコンテンツ分析ブロックを示す。図３Ｃを参照すると、画像処理およびコンテンツ分析ブロック２００の一例は、ユニバーサル・センサ・インターフェース３２０、ＦＰＮ、感度およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換器３０２、ダイナミック・レンジ圧縮器３０４、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム３０９、制御およびステータス・レジスタ３１０、統計モジュール３１３、統合ＤＤＲ  ＳＤＲＡＭコントローラ３００を有するチャネル／バッファ・モジュール、ＰＩＯ３１１、ＤＭＡ３１２、ＪＰＥＧ圧縮エンジン３３０、およびＧＰＳインターフェース３１７を備えることができる。ＪＰＥＧ圧縮エンジン３３０は、更に、ＤＣ減算モジュール３０５、ＤＣＴモジュール３０６、加算器３０７、量子化器ＲＬＥ３１４、ハフマン・エンコーダ３１５、およびビット・スタッファ３１６を備えることができる。
【００５９】
画像処理およびコンテンツ分析ブロック２００は、概念的に、３つの主要サブシステム、即ち、ＤＤＲ  ＳＤＲＡＭメモリ・コントローラ３００、画像処理および圧縮チェーン３０１、３０２、３０３、３０４、３０８、３０９、３１０、３１３、および３３０、ならびにシステム・インターフェース・サブシステム３２０、３００、３１１、３１２に区分することができる。システム・インターフェース・サブシステムは、ユニバーサル・センサ・インターフェース３２０、ＤＤＲ  ＳＤＲＡＭコントローラ３００、ＰＩＯ３１１、およびＤＭＡ３１２を備えることができる。画像処理および圧縮チェーン・サブシステム３０１、３０２、３０３、３０４、３０８、３０９、３１０、３１３、および３３０は、ＦＰＮ、感度およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換器３０２、ダイナミック・レンジ圧縮器３０４、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、統計モジュール３１３、ならびにＪＰＥＧ圧縮エンジン３３０を備えることができる。ＪＰＥＧ圧縮エンジン３３０は、更に、ＤＣ減算モジュール３０５、ＤＣＴモジュール３０６、加算器３０７、量子化器ＲＬＥ３１４、ハフマン・エンコーダ３１５、およびビット・スタッファ３１６を備えることができる。
【００６０】
ユニバーサル・センサ・インターフェース３２０は、適した回路、ロジック、および／またはコードを備えることができ、画像センサ１００に対するインターフェースとして用いることができる。画像センサ１００は、ＣＣＤ、ＣＭＯＳ、または光学画像を電気信号に変換することができる同様のデバイスとすることができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１は、固定パターン・ノイズ、感度、および／またはガンマ補正というような画像処理を実行する。バイエル／ＹＣｂＣｒ変換モジュール３０２は、データをバイエル・フォーマットからＹＣｂＣｒフォーマットに変換する。ビデオ・モーション検出モジュール３０３は、入来する画像内において動いている物体を検出するための画像処理を実行する。また、ビデオ・モーション検出モジュール３０３は、画像の背景を検出するための画像処理も実行することができる。ダイナミック・レンジ圧縮モジュール３０４は、入来するＹおよびＣｂＣｒ信号に対して種々の動作を実行して、圧縮ＹおよびＣｒＣｂを送り出す。テーブル・モジュール３０８は、ヒストグラム・モジュール３０９から受信したデータに基づいて、グラフのレンダリングおよび／または作成を行う。ヒストグラム・モジュール３０９は、画像が一旦ＦＰＮ、感度、およびガンマ補正モジュール３０１によって補正および／または処理されたなら、これらの画像のヒストグラムを収容することができる。これらのヒストグラムは、画像内部における照明および露出のレベルに関する情報を提供することができる。制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のモジュールの動作を制御し、そのステータスを維持することができる。
【００６１】
統計モジュール３１３は、画像処理およびコンテンツ分析ブロック２００によって処理されている画像コンテンツに関する種々の記述子またはメタデータを発生するために必要なデータを収容することができる。圧縮エンジン３３０は、画像圧縮を実行し、圧縮した画像データを出力することができる。例えば、本発明の一実施形態では、画像圧縮エンジン３３０はＪＰＥＧデータを供給することができる。本発明の別の実施形態では、画像圧縮エンジン３３０は、ＭＰＥＧ−４データ、または他のいずれの形態の圧縮画像データでも出力することができる。統合ＤＤＲ  ＳＤＲＡＭ制御モジュール３００を有するチャネル／バッファは、画像処理およびコンテンツ分析ブロック２００内にデータをバッファするために用いることができる。また、統合ＤＤＲ  ＳＤＲＡＭ制御モジュール３００を有するチャネル／バッファは、ＤＤＲ  ＳＤＲＡＭへ／から送出／受信したデータをバッファするために用いることもできる。ＰＩＯモジュール３１１は、画像内におけるヒストグラムを表示することができるプログラマブルＩ／Ｏモジュールである。ＤＭＡモジュール３１２は、種々のモジュールから入力を受け入れることができる。図に示すように、ＤＭＡモジュール３１２は統計モジュール３１３および／または圧縮エンジン３３０からの入力データを受け入れることができる。ＤＭＡモジュールは、次いで、データをＰＩＯモジュール３１１に転送することができ、またはデータを他のＳｏＣコンポーネント、例えば、イーサネット送受信部１０６に／から送出／受信することができる。ＧＰＳインターフェース３１７は、共通バスまたは画像処理およびコンテンツ分析ブロック２００の内部にある他のモジュールに接続し、位置情報を送ることができる。位置情報は、記述子またはメタデータとして用いることができる。図に示すように、このＧＰＳインターフェースは、共通バスに接続することができ、テーブル・モジュール３０８、制御およびステータス・レジスタ・モジュール３１０、ＰＩＯ３１０、ならびにチャネル／バッファ・モジュール３００と直接インターフェースすることができる。
【００６２】
動作において、ユニバーサル・センサ・インターフェース３２０は画像を取得することができ、次いでその画像をＦＰＮ、感度、およびガンマ補正モジュール３０１に転送することができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１は、固定パターン・ノイズ、感度、および／またはガンマ補正というような、画像色補正および画像処理を実行することができる。固定パターン・ノイズ、感度、およびその他のパラメータを計算するために、ＦＰＮ、感度、およびガンマ補正モジュール３０１は、ユニバーサル・センサ・インターフェース３２０から受信した画像データを、チャネル／バッファ・モジュール３００に転送する。チャネル／バッファ・モジュール３００は、データを直接バイエル／ＹＣｂＣｒ変換器３０２およびビデオ・モーション検出器３０３に転送することができる。チャネル／バッファ・モジュール３００は、データをバイエル・フォーマットからＹＣｂＣｒフォーマットに変換するというような更なる処理のために、画像をバイエル／ＹＣｂＣｒ変換モジュール３０２に転送することができる。また、チャネル／バッファ・モジュール３００は、画像における種々の物体を当該画像の背景から隔離するための画像処理の目的のために、画像をビデオ・モーション検出器３０３に転送することもできる。ビデオ・モーション検出器３０３は、他の入力モジュールからデータを受けることもできる。これらの図において示すように、ビデオ・モーション検出モジュールは、バイエル／ＹＣｂＣｒ変換モジュール３０２および／またはダイナミック・レンジ圧縮モジュール３０４から入力を受けることができる。次いで、ビデオ・モーション検出モジュール３０３は、画像を圧縮エンジン３３０に転送する。補正された画像は、ＦＰＮ、感度、およびガンマ補正モジュールからヒストグラム３０９に転送される。テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、ビデオ・モーション検出器３０３と並列に動作することができる。
【００６３】
ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、各々、画像処理およびコンテンツ分析を種々の観点で実行する。例えば、集合的に、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、特徴抽出を実行する。特徴抽出は、例えば、入来するビデオ・データを分析し、物体の分析を実行してこれらの物体の種々の特徴を抽出することを含むことができ、物体の特徴には、限定ではなく、当該物体の形状、色、および／またはモーション・ベクトルが含まれる。テーブル３０８ならびに制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロックの動作のために用いることができる。ヒストグラム３０９および統計３１３は、ビデオ・コンテンツから記述子またはメタデータ情報を発生するために用いることができる。更に、ビデオ・モーション検出器３０３が発生した情報は、記述子および／メタデータを発生するために用いることもできる。記述子は、動き検出、物体検出、物体追跡、色情報、クラスタ情報、背景情報、皮膚検出、および／または顔検出を含むことができる。発生した記述子またはメタデータは、ＪＰＥＧ圧縮ビデオに埋め込むまたは添付するために、プロセッサ２０２に送ることができる。また、プロセッサ２０２は記述子を、それらの各圧縮ビデオとは別個に、ネットワークに送ることもできる。次いで、データ・マイニング・アプリケーションのようなアプリケーションを容易にするために用いることができる。
【００６４】
ＦＰＮ、感度、およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換モジュール３０２、ならびにダイナミック・レンジ圧縮モジュール３０４は、各々、色処理を種々の観点でを実行する。テーブル・モジュール３０８は、ヒストグラム・モジュール３０９から受信したヒストグラム・データに基づいて、グラフのレンダリング／作成を行うことができる。ヒストグラム・モジュール３０９は、ヒストグラム・データをＰＩＯモジュール３１１に転送することができ、ＰＩＯモジュール３１１は、画像内にまたは画像に重ね合わせて、ヒストグラムを表示することができる。ダイナミック・レンジ圧縮器３０４は、画像圧縮を実行し、そうしなければダイナミック・レンジを扱うことができないデバイスによって、ダイナミック・レンジ全体が取り込まれることを確保することができる。制御およびステータス・レジスタ・モジュール３１０は、種々のレジスタを制御し、これらのレジスタのステータスを表示するためにも用いることができる。例えば、制御およびステータス・レジスタ・モジュール３１０は、ユニバーサル・センサ・インターフェース３２０の内部にあるレジスタのステータスを制御することおよび表示することができる。また、制御レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のモジュールをイネーブルまたはディスエーブルするために用いることもできる。例えば、制御およびステータス・レジスタ・モジュール３１０は、ダイナミック・レンジ圧縮器３０４をイネーブルまたはディスエーブルすることができる。統計モジュール３１３は、ＤＭＡ３１２と直接インターフェースすることができる。また、ＤＭＡ３１２は、圧縮データを圧縮エンジン３３０から受けることができる。次いで、ＤＭＡ３１２は、このデータを統計モジュール３１３および／または圧縮エンジン３３０からＰＩＯ３１１に、または再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にあるその他のコンポーネントに転送することができる。また、ＤＭＡ３１２は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にあるその他のモジュールからデータを受けることもできる。カメラ・プロセッサの内部にあるＤＭＡコントローラ３１２は、２つの外部チャネルを備えることができ、これらは、画像処理およびコンテンツ分析によって、データを直接ＳＤＲＡＭメモリに転送するために用いることができる。チャネル０はＪＰＥＧ圧縮画像に用いることができ、チャネル１は、統計データの転送に用いることができる。
【００６５】
図３Ｃに示すように、ＧＰＳインターフェース３１７は、テーブル・モジュール３０８、制御およびステータス・レジスタ・モジュール３１０、ＰＩＯ３１０、ならびにチャネル／バッファ・モジュール３００と直接インターフェースすることができる。ＧＰＳインターフェース３１７は、位置情報を送ることができる。位置情報は、記述子またはメタデータとして用いることができる。例えば、ＧＰＳインターフェース３１７からの情報を制御およびステータス・レジスタ３１０に転送することができる。制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のレジスタを制御し、そのステータスを維持することができる。ＧＰＳインターフェース３１７からの情報は、テーブル・モジュール３０８に転送することができる。テーブル・モジュール３０８は、データ間の相互参照を維持することができる。例えば、テーブル・モジュール３０８は、画像と対応する地理的座標との間の相互参照を維持することができる。
【００６６】
図３Ｄは、本発明の一実施形態による、１つのＤＭＡを用いた画像処理およびコンテンツ分析ブロックを示す。図３Ｄを参照すると、画像処理およびコンテンツ分析ブロック２００の一例は、ユニバーサル・センサ・インターフェース３２０、ＦＰＮ、感度およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換器３０２、ダイナミック・レンジ圧縮器３０４、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム３０９、制御およびステータス・レジスタ３１０、統計モジュール３１３、統合ＤＭＡを有するチャネル／バッファ・モジュール３４０、および圧縮エンジン３３０を備えることができる。
【００６７】
ユニバーサル・センサ・インターフェース３２０は、適した回路、ロジック、および／またはコードを備えることができ、画像センサ１００に対するインターフェースとして機能することができる（そして、そのために用いることができる）。画像センサ１００は、ＣＣＤ、ＣＭＯＳ、または光学画像を電気信号に変換することができる同様のデバイスとすることができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１は、固定パターン・ノイズ、感度、および／またはガンマ補正というような画像処理を実行する。バイエル／ＹＣｂＣｒ変換モジュール３０２は、データをバイエル・フォーマットからＹＣｂＣｒフォーマットに変換する。バイエル／ＹＣｂＣｒ変換モジュールのアーキテクチャ、機能、および動作については、本明細書の以下で更に詳しく論ずる。ビデオ・モーション検出モジュール３０３は、入来する画像内において動いている物体を検出するための画像処理を実行する。また、ビデオ・モーション検出モジュール３０３は、画像の背景を検出するための画像処理も実行することができる。ダイナミック・レンジ圧縮モジュール３０４は、入来するＹおよびＣｂＣｒ信号に対して種々の動作を実行して、圧縮ＹおよびＣｒＣｂを送り出す。テーブル・モジュール３０８は、ヒストグラム・モジュール３０９から受信したデータに基づいて、グラフのレンダリングおよび／または作成を行うことができる。ヒストグラム・モジュール３０９は、画像が一旦ＦＰＮ、感度、およびガンマ補正モジュール３０１によって補正および／または処理されたなら、これらの画像のヒストグラムを収容することができる。これらのヒストグラムは、画像内部における照明および露出のレベルに関する情報を提供することができる。
【００６８】
制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のモジュールの動作を制御し、そのステータスを維持することができる。統計モジュール３１３は、画像処理およびコンテンツ分析ブロック２００によって処理されている画像コンテンツに関する種々の記述子またはメタデータを発生するために必要なデータを収容することができる。圧縮エンジン３３０は、画像圧縮を実行し、圧縮した画像データを出力することができる。例えば、本発明の一実施形態では、画像圧縮エンジン３３０はＪＰＥＧデータを供給することができる。本発明の別の実施形態では、画像圧縮エンジン３３０は、ＭＰＥＧ−４データ、または他のいずれの形態の圧縮画像データでも出力することができる。統合ＤＭＡを有するチャネル／バッファ３４０は、画像処理およびコンテンツ分析ブロック２００内にデータをバッファするために用いることができる。また、統合ＤＭＡを有するチャネル／バッファ３４０は、ＤＤＲ  ＳＤＲＡＭへ／から送出／受信したデータをバッファするために用いることもできる。また、統合ＤＭＡを有するチャネル／バッファ３４０モジュールは、ＤＤＲ  ＳＤＲＡＭを制御することもでき、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にあるその他のコンポーネントと直接インターフェースすることもできる。チャネル／バッファおよびＤＭＡを１つのモジュールに統合することにより、動作の範囲拡大および柔軟性向上、電力消費低減、ならびに物理的な小型化というような便益を得ることができる。
【００６９】
統合ＤＭＡモジュール３４０は、種々のモジュールから入力を受け入れることができる。図３Ｄに示すように、ＤＭＡモジュール３４０は、ＦＰＮ、感度、およびガンマ補正モジュール３０１、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、統計モジュール３１３および／または圧縮エンジン３３０からの入力データを受け入れることができる。統合ＤＭＡモジュール３４０は、次いで、データをＤＤＲ  ＳＤＲＡＭへ／から送る／受けることができる。また、統合ＤＭＡモジュール３４０は、他のＳｏＣコンポーネント、例えば、イーサネット送受信部１０６に／からデータを送出／受信することができる。
【００７０】
動作において、ユニバーサル・センサ・インターフェース３２０は画像を取得することができ、次いでその画像をＦＰＮ、感度、およびガンマ補正モジュール３０１に転送することができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１は、固定パターン・ノイズ、感度、および／またはガンマ補正というような、画像色補正および画像処理を実行することができる。固定パターン・ノイズ、感度、およびその他のパラメータを計算するために、ＦＰＮ、感度、およびガンマ補正モジュール３０１は、ユニバーサル・センサ・インターフェース３２０から受信した画像データを、チャネル／バッファ・モジュール３００に転送する。チャネル／バッファ・モジュール３００は、データを直接バイエル／ＹＣｂＣｒ変換器３０２およびビデオ・モーション検出器３０３に転送することができる。チャネル／バッファ・モジュール３００は、データをバイエル・フォーマットからＹＣｂＣｒフォーマットに変換するというような更なる処理のために、画像をバイエル／ＹＣｂＣｒ変換モジュール３０２に転送することができる。また、チャネル／バッファ・モジュール３００は、画像における種々の物体を当該画像の背景から隔離するための画像処理の目的のために、画像をビデオ・モーション検出器３０３に転送することもできる。ビデオ・モーション検出器３０３は、他の入力モジュールからデータを受けることもできる。図３Ｄに示すように、ビデオ・モーション検出モジュールは、バイエル／ＹＣｂＣｒ変換モジュール３０２および／またはダイナミック・レンジ圧縮モジュール３０４から入力を受けることができる。次いで、ビデオ・モーション検出モジュール３０３は、画像を圧縮エンジン３３０に転送する。
【００７１】
補正された画像は、ＦＰＮ、感度、およびガンマ補正モジュールからヒストグラム３０９に転送される。テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、ビデオ・モーション検出器３０３と並列に動作することができる。ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム・モジュール３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、各々、画像処理およびコンテンツ分析を種々の観点でを実行する。例えば、集合的に、ビデオ・モーション検出器３０３、テーブル・モジュール３０８、ヒストグラム３０９、制御およびステータス・レジスタ３１０、ならびに統計モジュール３１３は、特徴抽出を実行する。特徴抽出は、例えば、入来するビデオ・データを分析し、物体の分析を実行してこれらの物体の種々の特徴を抽出することを含むことができ、物体の特徴には、限定ではなく、当該物体の形状、色、および／またはモーション・ベクトルが含まれる。これらのモジュールのアーキテクチャ、機能、および動作については、本明細書の以下で更に詳しく論ずる。テーブル３０８ならびに制御およびステータス・レジスタ３１０は、画像処理およびコンテンツ分析ブロックの動作のために用いることができる。ヒストグラム３０９および統計３１３は、ビデオ・コンテンツから記述子またはメタデータ情報を発生するために用いることができる。更に、ビデオ・モーション検出器３０３が発生した情報は、記述子および／メタデータを発生するために用いることもできる。
【００７２】
記述子は、モーション検出、物体検出、物体追跡、色情報、クラスタ情報、背景情報、皮膚検出、および／または顔検出を含むことができる。発生した記述子またはメタデータは、ＪＰＥＧ圧縮ビデオに埋め込むまたは添付するために、プロセッサ２０２に送ることができる。また、プロセッサ２０２は記述子を、それらの各圧縮ビデオとは別個に、ネットワークに送ることもできる。次いで、データ・マイニング・アプリケーションのようなアプリケーションを容易にするために用いることができる。ＦＰＮ、感度、およびガンマ補正モジュール３０１、バイエル／ＹＣｂＣｒ変換モジュール３０２、ならびにダイナミック・レンジ圧縮モジュール３０４は、各々、色処理を種々の観点でを実行する。テーブル・モジュール３０８は、ヒストグラム・モジュール３０９から受信したヒストグラム・データに基づいて、グラフのレンダリング／作成を行うことができる。ヒストグラム・モジュール３０９は、ヒストグラム・データをＤＭＡモジュール３４０に転送することができる。ダイナミック・レンジ圧縮器３０４は、画像圧縮を実行し、そうしなければダイナミック・レンジを扱うことができないデバイスによって、ダイナミック・レンジ全体が取り込まれることを確保することができる。
【００７３】
制御およびステータス・レジスタ・モジュール３１０は、種々のレジスタを制御し、これらのレジスタのステータスを表示するためにも用いることができる。例えば、制御およびステータス・レジスタ・モジュール３１０は、ユニバーサル・センサ・インターフェース３２０の内部にあるレジスタのステータスを制御することおよび表示することができる。また、制御レジスタ３１０は、画像処理およびコンテンツ分析ブロック２００の内部にある種々のモジュールをイネーブルまたはディスエーブルするために用いることもできる。例えば、制御およびステータス・レジスタ・モジュール３１０は、ダイナミック・レンジ圧縮器３０４をイネーブルまたはディスエーブルすることができる。統計モジュール３１３は、ＤＭＡ３４０と直接インターフェースすることができる。また、ＤＭＡ３４０は、圧縮データを圧縮エンジン３３０から受けることができる。次いで、ＤＭＡ３４０は、このデータを統計モジュール３１３および／または圧縮エンジン３３０から再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にある種々のその他のモジュールに転送することができる。また、ＤＭＡ３４０は、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４の内部にあるその他のモジュールからデータを受けることもできる。ＤＭＡモジュール３４０の内部にある統合ＤＭＡコントローラは、２つの外部チャネルを備えることができ、これらは、画像処理およびコンテンツ分析によって、データを直接ＳＤＲＡＭメモリに転送するために用いることができる。チャネル０はＪＰＥＧ圧縮画像に用いることができ、チャネル１は、統計データの転送に用いることができる。
【００７４】
図４は、本発明の一実施形態による、二重ポート外部メモリ・コントローラのブロック図を示す。図４を参照すると、画像処理およびコンテンツ分析ブロック２００の内側にあるＤＤＲ  ＳＤＲＡＭコントローラのアーキテクチャ例は、データ・セレクタ・モジュール４０１、チャネル・バッファ０  ４００ａ、チャネル・バッファ１  ４００ｂ、チャネル・バッファ２  ４００ｃ、チャネル・バッファ３  ４００ｄ、チャネル・バッファ４  ４００ｅ、およびチャネル・バッファ５  ４００ｆを備えることができる。別の実施形態では、ＤＤＲ  ＳＤＲＡＭコントローラ３００は、別の数のチャネル・バッファを備えることもできる。集合的に、チャネル・バッファは二重ポート外部メモリ・コントローラとして作用することができる。データ・セレクタ４０１は、標準的なマルチプレクサ・スイッチを用いて実現することができる。
【００７５】
各チャネルは、データ・セレクタ４０１を通じてＳＤＲＡＭとインターフェースすることができる。チャネルは、データを送るのみ、受信するのみ、あるいは同時にデータを送るおよび／または受信することができる。例えば、チャネル０  ４００ａは画像データの受信専用とすることができ、チャネル１  ４００ｂは画像データの送出専用とすることができ、一方チャネル３はデータを同時に送るおよび／または受信することができる。このチャネル間の相違は、転送するデータのサイズによる場合もある。チャネル０  ４００ａおよびチャネル１  ４００ｂは、チャネル３  ４００ｄが送出／受信するデータよりもサイズが大きくてもよい画像を送出／受信することができる。
【００７６】
動作において、チャネル０バッファ４００ａは、ＦＰＮ、感度、およびガンマ補正モジュール３０１からデータを受けることができる。チャネル１バッファ４００ｂはデータをＦＰＮ、感度、およびガンマ補正モジュール３０１に送ることができる。チャネル２バッファ４００ｃはデータをバイエル／ＹＣｂＣｒ変換モジュール３０２に送ることができる。チャネル３バッファ４００ｅは、データをテーブル３０８、ヒストグラム３０９、制御／ステータス・レジスタ３１０、および／またはプロセッサ２０２に／から送出／受信することができる。チャネル４  ４００ｅは、データをビデオ・モーション検出器３０３から受けることができ、更なる処理のためにそれをＤＤＲ  ＳＤＲＡＭに転送することができる。チャネル５  ４００ｆはデータをＤＤＲ  ＳＤＲＡＭから受けることができ、それをビデオ・モーション検出器３０３に転送することができる。
【００７７】
取得したセンサ・フレーム画素データ・サンプルは、ＤＤＲ  ＳＤＲＡＭメモリに格納することができ、時分割多重化チャネルを通じて、種々のＳｏＣモジュールによってアクセスすることができる。各チャネルは、図４に示すように、それ自体の二重ポート・メモリ・バッファを備えることができる。任意の所与の時点において、１つのデータ・チャネルをチャネル・バッファとＤＤＲ  ＳＤＲＡＭとの間で転送することができる。４つのチャネルを次のように定めることができる。チャネル０  ４００ａは、補正した生センサ・データ・サンプルをＤＤＲ  ＳＤＲＡＭの内部にあるビデオ・バッファに書き込むために用いることができる。チャネル１  ４００ｂは、固定パターン・ノイズ（ＦＰＮ）データをＤＤＲ  ＳＤＲＡＭから読み出すために用いることができる。チャネル２  ４００ｃは、チャネル０によってそこに書き込まれたセンサ・データを画素マイクロブロック単位で読み取るために用いることができる。チャネル３  ４００ｄは、プロセッサ２０２がメモリ・ウィンドウを通じてＳＤＲＡＭに対してリードおよびライト・アクセスを行うために用いることができる。一定のチャネルの使用は、一定の動作モードにおいてイネーブルまたはディスエーブルすることができる。
【００７８】
ＤＤＲ  ＳＤＲＡＭに対するアクセスは、ＳｏＣモジュールによる調停を受ける。このＳｏＣモジュールは、所与の時点においてアクセスを要求しているチャネルから、最も優先度が高いチャネルに、ＳＤＲＡＭへのアクセスを付与する。例えば、７つの可能な要求元、即ち、チャネル０から５およびＤＤＲ  ＳＤＲＡＭリフレッシュ・サイクルがあり得る。これらのチャネルには、チャネル０（最高の優先度）から始まって、チャネル１、チャネル２、チャネル５、チャネル４、およびチャネル３（優先度が低くなる）に優先度を与えることができ、そしてＳＤＲＡＭリフレッシュ・サイクルが最も低い優先度を有する。一旦優先度が最も高いチャネルがアクセスを解放したなら、キューにおいて２番目に優先度が高いチャネルがＳＤＲＡＭにアクセスすることができる。
【００７９】
ＤＤＲ  ＳＤＲＡＭは、例えば、１６Ｍ×１６（５１２の１６ビット幅位置から成るページを８１９２含むバンクが４つで、３２ＭＢのアドレス空間を与える）として編成することができ、８メモリ位置単位のバースト処理でリードおよびライト動作のためにアクセスすることができる。各メモリ・アクセスは、１６バイト（４×３２ビット）を二重ポート・メモリ・バッファの１つへ／から転送することができる。ＳＤＲＡＭアドレス・ラインは、ＳｏＣモジュールによって生成することができる。１６Ｍ×１６として編成されたアドレス空間は、ワード・アドレスによってアクセスすることができ、ワード・アドレスは、２ビット・バンク・アドレス、１３ビット行アドレス、および９ビット列アドレスで構成することができる。
【００８０】
２つの伝送モード、モード０およびモード１を定めることができる。モード０は、所与の開始アドレスから線形に（走査線順）にＳＤＲＡＭメモリにアクセスするために用いることができる。転送長は、１６バイト（８つの１６ビット・ワード）の倍数で表現することができる。最大倍数３２の８ワード・グループを、１つのバッファ（５１２バイト）で転送することができる。モード１は、リード・アクセスに用いることができ（チャネル２のみ）、この場合２０×２０画素のブロック１つ分（タイル）のデータ・サンプルを要求することができる。
【００８１】
ＤＤＲ  ＳＤＲＡＭと４つのチャネル・バッファとの間におけるデータ転送のパラメータは、静的記述子と呼ばれるバッファ記述子によってプログラムすることができる。チャネル毎に３つの記述子を設けることができる。各二重ポート・メモリ・バッファ・ページおよびＤＤＲ  ＳＤＲＡＭバッファのアドレスは、動的記述子と呼ばれる記述子によって生成することができる。
【００８２】
ＤＤＲ  ＳＤＲＡＭコントローラ・チャネル４は、現フレームの背景データをメモリ・バッファ４００ｅに書き込むために用いることができ、一方チャネル５はメモリ・バッファ４００ｆから直前のフレームの背景データを読み出すために用いることができる。チャネル４およびチャネル５双方の記述子は、同じ開始アドレスがプログラムされているとよい。メモリ・コントローラは、最初に、チャネル５を通じてＤＤＲ  ＳＤＲＡＭバッファ・データを読み出す（直前のフレームの間にそこに書き込まれた）ことができ、次いで現フレーム・データを同じバッファに、チャネル４を通じて書き込むことができる。開始アドレスはページの境界に位置合わせするとよい。ＤＤＲ  ＳＤＲＡＭアドレス空間における開始アドレス位置は、選択したＶＭＤウィンドウ・サイズ（画素毎に１バイト）に基づいて選択することができる。チャネル４およびチャネル５は、ＶＭＤウィンドウのデータを転送し、ｎＴｉｌｅＸおよびｎＴｉｌｅＹ値を用いてプログラムすることができる。
【００８３】
図５は、本発明の一実施形態による、固定パターン・ノイズ（ＦＰＮ）、感度、およびガンマ補正のブロック図を示す。図５を参照すると、画像処理およびコンテンツ分析ブロック２００のＦＰＮ、感度、およびガンマ補正モジュール３０１の一例は、データ・セレクタ５００、背景減算モジュール５０１、感度補正モジュール５０２、画素データ幅選択モジュール５０３、ガンマ補正モジュール５０４、閾値およびモード選択モジュール５０６、ならびにガンマ補正テーブル５０５を備えることができる。
【００８４】
動作において、ＦＰＮ、感度、およびガンマ補正モジュール３０１は、画像較正機能を実行することができる。画像センサ１００は、画像データをデータ・セレクタ５００に供給することができる。背景減算モジュール５０１は、データ・セレクタ５００から受けたデータから背景情報を減算する。ＤＤＲ  ＳＤＲＡＭコントローラ３００は、減算モジュール５０１による減算に用いることができるパラメータの行列を収容することができる。このパラメータの行列は、検査および／または較正に基づいて、ＤＤＲ  ＳＤＲＡＭコントローラ３００にプログラムすることができる。ＤＤＲ  ＳＤＲＡＭコントローラ３００によって供給されるデータは、検査データおよび／または較正データと呼ぶこともできる。背景減算モジュール５０１によって行われる減算動作は、入来するデータにおける固定パターン・ノイズのレベルを決定するために用いることができる。同様に、ＤＤＲ  ＳＤＲＡＭコントローラ３００は、検査データおよび／または較正データを感度補正モジュール５０２に供給することができる。感度補正モジュール５０２は、検査データおよび／または較正データを用いて、感度レベルを調節することができる。画素データ幅選択モジュール５０３は、種々の動作モード間から選択することができる。ガンマ補正モジュール５０４は、感度補正モジュール５０２から受信したデータに対して、対数変換を実行することができる。このガンマ補正を実行するために、ガンマ補正モジュール５０４は、ガンマ補正テーブル５０５によって供給することができる参照テーブルに収容されている種々のパラメータを受けることができる。ガンマ補正モジュール・テーブル５０５は、ガンマ補正に必要とされる種々のパラメータを有する参照テーブルを収容することができる。閾値およびモード選択モジュール５０６は、プロセッサ２０２から入力を受ける。閾値およびモード選択モジュール５０６は、ＦＰＮ、感度、およびガンマ補正モジュール３０１の内部にあるモジュールに合わせて、種々の動作モードから選択することができる。
【００８５】
図５を参照すると、センサ画素情報は、センサ・トリガ信号を用いて受けることができる。ＦＰＮデータが処理チェーンによって用いられようとする場合、チャネル１を最初にイネーブルしなければならない場合がある。受信した後、センサ画素１０ビット・データおよび１０ビット検査データは、２：１データ・セレクタへの入力を形成する。センサ／ＦＰＮ制御レジスタ内におけるビットの設定に応じて、画素データまたは検査データを、更なる処理のために、受け渡すことができる。背景減算のために、センサ／ＦＰＮ制御レジスタにおいて選択されるサブモードに応じて、ＳＤＲＡＭチャネル１バッファからのＦＰＮ８ビット・データを用いて、背景データを計算し、２：１マルチプレクサ出力データからこの背景データを減算する（減算がイネーブルされたときに）ことができる。４つの利用可能な選択肢があるとよい。即ち、減算なし、８ビットＦＰＮデータの減算、１ビット左にシフトした８ビットＦＰＮデータの減算、および２ビット左にシフトした８ビットＦＰＮデータの減算である。減算の結果が負になった場合、画素データを０に設定すればよい。
【００８６】
感度補正では、センサ／ＦＰＮ制御レジスタにおいて選択されたモード、およびＳＤＲＡＭチャネル１バッファからの８ビットＦＰＮデータに応じて、画素データと４つの異なる値と乗算することができる。４つの異なる値とは、０ｘ０−１０２４（補正なし）、０ｘ１−８９６から１１４４まで（−１２．５％から＋１２．５％）、０ｘ２−７６８から１２７８まで（−２５％から＋２５％）、および０ｘ３−５１２から１５３２（−５０％から＋５０％）である。乗算の後、１０個のＬＳＢを破棄することができる（１０２４で除算することと同等）。彩度(saturation)補正のために、１０２４以上のデータ・サンプルを１０２３に制限することができ、ガンマ補正ブロックに対する入力データとして用いることができる。
【００８７】
ガンマ補正では、センサ・データのガンマ補正を実施するためにテーブルを用いることができる。テーブルの１０ビット・アドレスの２つのＭＳＢによって画素の色を選択する（０ｘ００−赤、０ｘ０１−緑、または０ｘ０２−青、０ｘ１１は使用しない）。１０ビット彩度データの８つのＭＳＢを、テーブル・アドレスの下位８ビットとして用いることができる。このように、各画素色およびその８つのＭＳＢによって表されるデータ値毎に、テーブルから一意の１６ビット値を得ることができる。
【００８８】
データ幅選択では、センサ／ＦＰＮ制御レジスタのビット幅を設定するとき、センサ画素データは１６ビット・モードであるとよい（先頭に並ぶ５つの０および１１ビットのセンサ・データ）。これを生画素データ・モードと呼ぶこともできる。このビットをクリアすると、画素彩度およびガンマ補正８ビット画素データを用いることができる。８ビット・モードでは、１回置きの画素クロック・サイクルで、１６ビットのデータをＤＤＲ  ＳＤＲＡＭチャネル０に書き込むことができる。出力データ・ビット１５．．．８は、現画素データを収容し、直前の画素データはビット７．．．０上にある。
【００８９】
チャネル０のＤＤＲ  ＳＤＲＡＭへの書き込みでは、チャネル０バッファは、例えば、センサ側から見たときは、１０２４×１６として編成された二重ポート・メモリとして、そしてＤＤＲ  ＳＤＲＡＭ側から見たときは５１２×３２として編成することができる。画素データ・サンプルをこのバッファに書き込むことができ、画素クロック（ｐｃｌｋ）に同期させることができる。バッファは、４つの２５６×１６頁に分割することができる（センサ側の１０ビットアドレスの２つのＭＳＢが現ページを選択する）。ページが一杯になるまで、センサ・データでページを満たすことができる。一旦リング・バッファ・ページの１つを満たしたなら、開始信号をアサートし、バッファの内容をＤＤＲ  ＳＤＲＡＭバッファに転送することができる。ＳＤＲＡＭアドレスは、チャネル０バッファ記述子によって生成される。データ転送は、以前の章において説明したように実行することができる。
【００９０】
色処理では、一旦十分なセンサ・フレーム・データ・サンプルがＤＤＲ  ＳＤＲＡＭビデオ・バッファ内に取り込まれたなら、チャネル２を初期化しイネーブルすることができ、色処理を開始することができる。初期化およびイネーブルされると、チャネル２ロジックは、センサ・フレーム・データをＤＤＲ  ＳＤＲＡＭビデオ・バッファからチャネル２二重ポート・メモリ・バッファに転送する。
【００９１】
ＤＤＲ  ＳＤＲＡＭからのチャネル２の読み出しでは、チャネル二重ポート・メモリは、色処理側から見たときには２０４８×８として編成し、ＳＤＲＡＭ側から見たときには５１２×３２として編成することができる。データは、ＳＤＲＡＭからチャネル２バッファに、２０×２０画素ブロック単位で読み出すことができる。１つのバッファ・ページは、このようなブロックを１つ保持する。色処理では、処理のために、二重ポート・メモリ・ポートＡから画素データを読み出すことができる。読み出しのためにデータをアドレスするには２つの方法、即ち、非モザイクおよびモザイクが考えられる。非モザイク・モードでは、走査線順で始まるページから開始してサンプルを読み出すことができ、１８の行に対して１８のサンプルを読み出す。モザイク・モードでは、ブロック・カウンタが、読み出したブロックの数を数えることができる。ブロック数（１８×１８のタイル）は、プロセッサによってレジスタを通じてプログラムすることができる。現ページの終端に達する前に、色処理は、データをＳＤＲＡＭから次のバッファ・ページに読み出す要求を発行することができる。別の２０×２０の画素ブロックをＳＤＲＡＭから次のバッファ・ページに読み出すことができ、新たなデータが準備できたことを色処理に指示することができる。画素データ・サンプルは、色空間（バイエルからＹＣｂＣｒ）変換のために、色空間変換器に受け渡すことができる。
【００９２】
テキスト・マスクのために、２０×２０画素ブロックの最初の行を、内部ＲＡＭに１２８ブロックの行として複製することができる。チャネル２がＤＤＲ  ＳＤＲＡＭから読み出すに連れて、データは内部ＲＡＭからも読み出され、テキスト・マスクを設けることができる。これは、最初の２０走査線上では見えるようにするとよい。
【００９３】
利用可能なデータを最大にするために、ＲＡＭを１６，３８４×１ビットとなるように構成するとよい。各ビットは４画素のブロックを表すことができる。ビットを１に設定すると、対応するブロックはグレー画素となって現れ、マスク明暗度レジスタによってその明暗度 (intensity)が定められる。ビットを０に設定すると、画像データを表示するか、または画像データがグレー画像となって現れ、マスク背景レジスタによって明暗度が定められる。画像またはマスク・データの選択は、マスク制御レジスタによって制御することができる。
【００９４】
プロセッサ側からは、マスク・データは３２ビット・データとして表すことができる。マスク・データ・レジスタに書き込む毎に、次の３２ビットのデータがブロックに出力される。アドレスは、自動的に増分することができる。２０×２０ブロック毎に、４回の書き込みが必要となる。各ブロックは、ＲＡＭの内部にある１２８×１ビットのページに格納することができる。このＲＡＭは、これらのブロックを１行の１２８ブロック、即ち、２５６０×２０画素に配列して保持する。各ブロックには、対応するアドレスがある。アドレス位置は、マスク・アドレス・レジスタにおいて定めることができる。また、これはマスク・データ用のアドレス・カウンタをリセットする。
【００９５】
図６は、本発明の一実施形態による、色処理のブロック図を示す。図６を参照すると、画像処理およびコンテンツ分析ブロック２００のバイエル／ＹＣｂＣｒ変換器３０２の一例は、色空間変換器６００、遅延モジュール６０１、ＹＡアキュミュレータ６０２ａ、ＹＢアキュミュレータ６０２ｂ、Ｃｂアキュミュレータ６０２ｃ、Ｃｒアキュミュレータ６０２ｄ、輝度二重ポート・バッファ６０３ａ、クロミナンス二重ポート・バッファ６０３ｂ、タイル平均メモリ・モジュール６０４、減算モジュール６０５、およびデータ・セレクタ・モジュール６０６を備えることができる。
【００９６】
動作において、色空間変換器６００は、バイエル入力をＤＤＲ  ＳＤＲＡＭ３００から受けることができる。色空間変換器６００は、輝度出力（Ｙ）と、クロミナンス（クロミナンス青およびクロミナンス赤）出力（ＣｂＣｒ）とを有することができる。また、色空間変換器は、これらのＹおよびＣｂＣｒ出力をビデオ・モーション検出器３０３に送ることができる。Ｙ出力は、輝度二重ポート・バッファ６０３ａが受けることができる。また、Ｙ出力は、輝度アキュミュレータ（Ａｃｃ．）ＹＡ６０２ａおよびＡｃｃ．ＹＢ６０２ｂも受けることができる。同様に、ＣｂＣｒ出力は、クロミナンス二重ポート・バッファ６０３ｂが受けることができる。また、ＣｂＣｒ出力は、クロミナンス・アキュミュレータＡｃｃ．Ｃｂ６０２ｂおよびＡｃｃ．Ｃｒ６０２ｄも受けることができる。アキュミュレータＹＡ６０２ａ、ＹＢ６０２ｂ、Ｃｂ６０２ｃ、およびＣｒ６０２ｄは、様々な値をタイル平均メモリ・モジュール６０４に供給することができる。これらアキュミュレータＹＡ６０２ａ、ＹＢ６０２ｂ、Ｃｂ６０２ｃ、およびＣｒ６０２ｄが供給する値は、タイル平均メモリ・モジュール６０４によって、輝度およびクロミナンス・タイルについて平均値を計算する際に用いることができる。例えば、平均メモリ・モジュール６０４は、８×８輝度およびクロミナンス・タイル８×８について平均値を計算することができる。
【００９７】
同様に、輝度タイルについての４つの平均値、Ｃｂタイルについての１つの平均値、およびＣｒタイルについての１つの平均値を、１６×８メモリに格納することができる。減算モジュール６０５は、輝度信号を輝度二重ポート・バッファ６０３ａから受け取ることができる。また、減算モジュール６０５は、平均タイル値をタイル平均メモリ・モジュール６０４から受け取ることができる。タイル平均値と、輝度二重ポート・バッファ６０３ａからのバッファされている信号との間で減算を行うことによって、減算モジュール６０５は較正の目的に用いることができる信号を出力する。この減算モジュール６０５からの出力は、データ・セレクタ６０６に供給することができる。また、データ・セレクタ・モジュール６０６は、クロミナンス信号をクロミナンス二重ポート・バッファ６０３ｂから受け取ることができる。次いで、データ・セレクタ・モジュール６０６は、どの信号を出力するか選択することができる。データ・セレクタ６０６からの出力は、ダイナミック・レンジ圧縮器３０４に供給することができる。遅延モジュール６０１は、バイエル／ＹＣｂＣｒ変換器３０２の内部にある種々のモジュールの動作を同期させるために用いることができる。遅延モジュール６０１からの出力は、制御信号としての役割を果たすことができ、バイエル／ＹＣｂＣｒ変換器の内部にある種々のモジュールをイネーブルまたはディスエーブルするために用いることができる。これらの遅延は、モーション検出処理によって追加されたレイテンシを補償することができる。
【００９８】
バイエルからＹＣｂＣｒへの変換では、ＣＭＯＳまたはＣＣＤセンサが、バイエル・フェーズ０にしたがって配列された色画素（ＧＲ／ＢＧシーケンス）を送ることができる。２×２とするとよいＮ×Ｎ画素ブロックが、画素毎にＲＧＢ成分を内挿補間し、Ｙ、Ｃｂ、およびＣｒ成分を計算するために用いることができる。ハードウェア・ロジックでの実施態様では、変換において用いられる計数に２５６を乗算し、８ビット符号なし整数に切り上げればよい。これらの計数を用いて、輝度値を計算することができ、その結果を２５６で除算することができる（８ビットだけ右にシフトする）。
【００９９】
クロミナンス青およびクロミナンス赤は、例えば、４：２：０クロマ・サブサンプリングを用いて計算することができる。この場合も、ハードウェア・ロジックの実施形態では２５６倍大きな計数（１０ビット）を用いるとよく、その結果をしかるべく縮小(scale back)すればよい。クロミナンス計数は、プロセッサによってプログラム可能とするとよい。色空間変換の後、輝度サンプルが、走査線順に出力に現れ（１線当たり１６サンプル）、２つの２５６バイトのページを有する二重ポート・バッファに書き込むことができる。サンプルは８×８タイルの順序で読み出すことができる。対応するクロミナンス・サンプルは、ＣｂＣｒの順序で出力する(clock out)ことができる。
【０１００】
緑チャネルは、画像の輝度値の中でも最も重要な成分であると考えられる。輝度チャネルは、画像の詳細の殆どを収容し、したがって、緑画素の内挿補間は、結果的に得られる画像の詳細に大きな影響を及ぼす。近隣の画素の値を無差別に平均化する標準的なバイリニア内挿補間(Bilinear interpolation)の代わりに、画素近傍にある局所的な空間的特徴を検出し、ついでその近傍のためにどの予測器を用いるかについて有効な選択を行う内挿補間アルゴリズムを、代わりに用いるとよい。
【０１０１】
Ｙバッファの出力は、モーション検出処理のために、ビデオ・モーション検出器（ＶＭＤ）３０３にも送出することができる。出力データ（背景および差）をＶＭＤ検査用圧縮器に出力することを可能にするために、追加のデータ・セレクタが付加されている。追加の遅延が、モーション検出処理によって追加されたレイテンシを補償する。輝度データはＶＭＤが用いることができ、そしてデータをＪＰＥＧ圧縮器の入力として用いることができるときに、クロミナンス・サンプルを一定値に設定することができる。
【０１０２】
図７は、本発明の一実施形態による、ＪＰＧ圧縮処理チェーンのブロック図を示す。図７を参照すると、ＪＰＥＧ圧縮チェーン３３０は、ＤＣ減算モジュール３０５、ＤＣＴモジュール３０６、加算器３０７、量子化器ＲＬＥ３１４、ハフマン・エンコーダ３１５、およびビッグ・スタッファ(big stuffer)３１６を含むことができる。
【０１０３】
動作において、ＤＣ減算モジュール３０５は、ビデオ・モーション検出器３０３から入力を受けることができる。ＤＣ減算のために、タイルの各々についての輝度平均（ＤＣ）値を、タイル輝度サンプルから減算することができる。ＤＣ減算は、圧縮器制御レジスタを通じてディスエーブルすることができる。減算値は、ＪＰＥＧ規格では定められていないＤＣＴ３０６の後に、加算器３０７によって再度加算することができる。ＹおよびＣｂＣｒバッファからのデータは、色処理ロジックによって、タイル順に出力する(clock out)ことができ、タイル番号４および５がそれぞれＣｂおよびＣｒタイルに割り当てられる。このデータは、二次元離散余弦変換（ＤＣＴ）処理のために、ＤＣＴに入力することができる。更なる処理が、ＪＰＥＧ圧縮規格に定められる動作を実施することができ、８×８の画素タイルを単位に実行することができる。
【０１０４】
図８は、本発明の一実施形態による、ＪＰＥＧ圧縮における離散余弦変換のブロック図を示す。図８を参照すると、ＤＣＴモジュール３０６は、ＤＣＴ段１  ８０１、転置メモリ８０２、およびＤＣＴ段２  ８０３を備えることができる。したがって、この実施形態では、ＤＣＴの実施態様は、２つのＤＣＴ段８０１および８０３、ならびに転置メモリ８０２を備えることができる。
【０１０５】
動作において、ＤＣＴ３０６は開始／停止動作をイネーブルすることができ、各開始パルス後に、８×８画素ブロックを処理することができる。ＤＣＴ段１  ８０１は、ＤＣ減算３０５から入力を受ける。ＤＣＴ段１  ８０１からの出力は、転置メモリ８０２に供給することができる。転置メモリ８０２からの出力は、ＤＣＴ段２  ８０３に供給することができる。次いで、ＤＣＴ段２  ８０３はデータを加算器モジュール３０７に出力することができる。
【０１０６】
図９は、本発明の一実施形態による、量子化器ＲＬＥブロックの量子化部のブロック図を示す。図９を参照すると、量子化器ＲＬＥモジュール３１４は、符号モジュール変換器(sign module converter)９００、乗算器９０１、除算器９０２、整数モジュール９０３、ジグザグ・バッファ９０４、量子化テーブル９０５、アキュミュレータＡＣモジュール９０６、ＡＣ選択９０７、ＤＣアキュミュレータ、およびＤＣデータ・セレクタ９０９を備えることができる。
【０１０７】
動作において、符号モジュール変換器９００は、加算器３０７から入力を受ける。符号モジュール変換器９００は符号データを整数モジュール９０３に出力することができる。また、符号モジュール変換器９００はデータを乗算器９０１およびＡＣａｃｃモジュール９０６にも出力することができる。乗算器９０１は、量子化テーブル９０５から値を受け取る。量子化テーブル９０５の内部にある値は、プロセッサによってプログラムすることができる。量子化テーブル９０５の内部にある値は、１０２４を必要な量子化計数で除算した値に等しくするとよい。ＤＣＴ３０６の前に減算される各タイルに対するＤＣ値は、ここで各サンプルに再度加算することができる。その結果を符号−モジュール・フォーマット(sign-module format)に変換することができる。モジュール部には、量子化テーブル９０５からの対応する値を乗算することができ、その結果を１０２４で除算することができる。この除算演算は、除算モジュール９０２によって実行することができる。除算モジュール９０２が出力する値は、整数モジュール９０３によって、一番近い整数に四捨五入することができる。一旦これらの値が最も近い整数に四捨五入され、符号付きの値に再度変換されたなら、これらを二重ポート・メモリ・バッファに書き込むことができる。メモリ・バッファの第２ポートには、各８×８画素ブロックにおけるデータ・サンプルを走査線からジグザグ・シーケンスに再編成するようにアドレスすることができる。整数モジュール９０３からの出力は、ジグザグ・バッファ９０４に供給される。ＡＣａｃｃ９０６からの出力は、ＡＣ選択モジュール９０７に出力することができる。ＡＣ選択モジュール９０７は、更なる動作のために選択信号を利用することができる。ＡＣ選択モジュール９０７からの出力は、ＤＣａｃｃモジュール９０８に供給することができる。ＤＣａｃｃモジュール９０８は、次いで、データをＤＣデータ・セレクタ９０９に出力することができる。ＤＣデータ・セレクタ９０９は、種々のその他の選択信号も受け取ることができる。ＤＣデータ・セレクタ９０９は、次いで、ＤＣデータを出力することができる。
【０１０８】
図１０は、本発明の一実施形態による、量子化器ＲＬＥブロックのラン・レングス・エンコーダ（ＲＬＥ）部のブロック図を示す。図１０を参照すると、量子化器ＲＬＥブロック３１４のラン・レングス・エンコーダ部は、ＤＣ係数セレクタ１０００、ＤＣメモリ１００１、減算モジュール１００２、データ選択モジュール１００３、ゼロＡＣ係数決定モジュール１００４、係数カウンタ１００５、およびデータ・フォーマット・ブロック１００６を備えている。
【０１０９】
動作において、ＤＣ係数セレクタ・モジュール１０００は、ジグザグ・エンコードされたブロックを、ジグザグ・バッファ９０４から受けることができる。ＤＣ係数セレクタ１０００からの出力は、ＤＣメモリ・モジュール１００１に供給することができる。減算モジュールは、ＤＣ係数セレクタ１０００およびＤＣメモリ・モジュール１００１からの入力を受けることができる。データ選択モジュール１００３は、減算１００２モジュールからのデータ、およびジグザグ・バッファ９０４からのジグザグ・エンコードされたブロックを受けることができる。データ選択モジュールからの出力は、ゼロＡＣ係数決定モジュール１００４に供給することができる。ゼロＡＣ係数決定モジュール１００４からの出力は、データ・フォーマット・モジュール１００６に供給することができる。また、データ・フォーマット・モジュール１００６は、係数カウンタ・モジュール１００５からの入力も受けることができる。係数カウンタ・モジュール１００５は、ブロック開始信号を受けることができ、データ・フォーマット・モジュール１００６にデータを出力することができる。データ・フォーマット・モジュール１００６は、次いで、ＲＬＥデータを出力することができ、このＲＬＥデータをハフマン・エンコーダ３１５に供給することができる。事実上、ラン・レングス・エンコーダは、８×８タイル毎に、ジグザグ・エンコードされたデータのＤＣ係数差分エンコード処理およびラン・レングス・エンコード処理を実施することができる。
【０１１０】
図１１は、本発明の一実施形態による、ＪＰＥＧ圧縮におけるハフマン・エンコーダのブロック図を示す。図１１を参照すると、ハフマン・エンコーダ３１５は、ハフマンＦＩＦＯ１１００、可変長エンコーダ１１０２、出力データ・フォーマッタ１１０３、およびハフマン・テーブル１１０１を備えることができる。
【０１１１】
動作において、ハフマンＦＩＦＯ１１００はＲＬＥデータを量子化器ＲＬＥ３１４から受ける。ハフマン・エンコーダ３１５は、ラン・レングス・エンコーダ３１４から受け取った１６ビット・データ・ストリームのハフマン・エンコード処理を実施する。ハフマン・テーブル１１０１は、スマート・ネットワーク・カメラＳｏＣのプロセッサ１０４によってプログラムすることができる。ハフマン・エンコード処理では、異なるビット数を用いて、異なるシンボルをエンコードすることができる。モジュール出力は、１６ビットのデータと、データ有効ビット数を示す４ビット長とを備えることができる。
【０１１２】
図１２は、本発明の一実施形態による、ＪＰＥＧ圧縮におけるビット・スタッファのブロック図を示す。図１２を参照すると、ビット・スタッファ３１６は、段階１シフト・レジスタ１２００、０ｘＦＦ検出および０ｘ００挿入モジュール１２０１、ならびに段階２シフト・レジスタ１２０２を備えることができる。
【０１１３】
動作において、段階１シフト・レジスタ１２００はハフマン・データ出力およびハフマン・データ長をハフマン・エンコーダ３１５から受ける。段階１シフト・レジスタ１２００はデータを０ｘＦＦ検出０ｘ００挿入１２０１モジュールに出力する。０ｘＦＦ検出０ｘ００挿入モジュール１２０１は、データを段階２シフト・レジスタ１２０２に出力する。ビット・スタッファ３１６は、有効ビット数が可変の１６ビット・データをハフマン・エンコーダ３１５から受け取ることができ、このデータを、ＤＭＡ用の３２バイト整合ブロック単位で、プロセッサのＳＤＲＡＭメモリにパックする。各０ｘＦＦバイトの後ろに、スタッファは０ｘ００バイトを挿入する。
【０１１４】
図１３は、本発明の一実施形態による、ヒストグラム・ブロック図を示す。図１３を参照すると、ヒストグラム３０９は、二重ポート・ブロックＲＡＭモジュール１３００ａおよび１３００ｂ、ならびに＋１モジュール１３０１を備えることができる。動作において、二重ポート・ブロックＲＡＭ１３００ａおよび二重ポート・ブロックＲＡＭ１３００ｂは、ＤＤＲ  ＳＤＲＡＭから入力を受けることができる。二重ポート・ブロックＲＡＭモジュール１３００および１３００ｂへのこの入力は、３つのデータ・チャネルを有することができる。これら３つのデータ・チャネルは、輝度（Ｙ）およびクロミナンス（ＣｒＣｂ）情報を収容することができる。二重ポート・ブロックＲＡＭモジュール１３００ａおよび１３００ｂは、互いに直接通信することができる。＋１モジュール１３０１は、ヒストグラム・モジュール３０９内におけるいかなる遅延をも補償することができる。また、＋１モジュールは、入来する信号内部におけるＲ、Ｇｒ、Ｇｂ、およびＢ画素の発生回数を数えることができる。また、＋１モジュール１３０１は、データ有効期間中にアドレス位置がアドレスされるに連れて、アドレス位置を増分することもできる。実際には、ヒストグラム・モジュール３０９は、プログラムされた枠における、Ｒ、Ｇｒ、Ｇｂ、およびＢ画素について、センサ画素データ上における０〜２５５までの値の各々の発生回数を数えることができる。モジュール入力データは、チャネル０デュアル・ポートＤＤＲ  ＳＤＲＡＭメモリ・バッファによって供給することができる。ヒストグラム・モジュール３０９は、二重ポート・メモリとして実現することができ、データ・サンプル値と画素色識別とによってメモリにアドレスする。アドレスされた位置の値は、データ有効期間中にその位置にアドレスされる毎に増分する。メモリ空間は、２つの１０４８×１８頁に分割することができる。データを一方のページに書き込むことができるとき、読み出しのために他方にアクセスすることができる。１つのページが１つのセンサ・フレーム枠についてのヒストグラム・データを保持する。このヒストグラム・データは、プロセッサによって、ＰＩＯインターフェースを通じて読み出すことができる。
【０１１５】
量子化器３１４は、１６×１６ブロック毎に１つ以上のＡＣ係数の値を平均することができ、更に、このような各ブロックにおける０ｘ００の画素の数および０ｘＦＦの画素の数を、プロセッサのＳＤＲＡＭメモリに転送するために、ＭＤＡ  ＦＩＦＯ１に送ることができる。これに関して、ヒストグラム・モジュールは、入力をＤＤＲ  ＳＤＲＡＭから受けることができ、輝度についてのヒストグラムおよび／またはクロミナンスについてのヒストグラムを出力することができる。３つのチャネル全てを１つのヒストグラム出力の中に表示すること、または別個のヒストグラムに表示することができる。
【０１１６】
図１４は、本発明の一実施形態による、ビデオ・モーション検出（ＶＭＤ）のブロック図を示す。図１４を参照すると、ビデオ・モーション検出器３０３は、フレーム検出モジュール１４００、フレーム・レート低減モジュール１４０４、背景推定モジュール１４０５、差分計算モジュール１４０６、警報検出モジュール１４０９、接続コンポーネント処理モジュール１４０７、移動オブジェクト・ブロブ(blobs)モジュール１４０８、移動物体縁端検出１４１０、出力データ選択モジュール１４１１、ＶＭＤレジスタ１４０１、ＶＭＤ枠検出１４０２、および背景初期化カウンタ１４０３を備えることができる。
【０１１７】
動作において、フレーム検出モジュール１４００は、画像データを受けることができる。この画像データは輝度データを収容することができる。フレーム検出モジュール１４００からの出力は、フレーム・レート低減モジュール１４０４に供給することができる。フレーム・レート低減モジュール１４０４は、種々の目的のためにフレーム・レートを低減することができる。例えば、フレーム・レート低減モジュール１４０４は、ＶＭＤモジュール３０３が最適に動作できないレートでフレームが受信されているときに、フレーム・レートを低減することができる。フレーム・レート低減モジュール１４０４からの出力は、背景推定モジュール１４０５、差分計算モジュール１４０６、接続コンポーネント処理モジュール１４０７、および移動物体ブロブ・モジュール１４０８に供給することができる。背景推定モジュール１４０５は、統計分析および画像処理を実行して、入来する画像フレーム内部における背景を推定することができる。差分計算モジュール１４０６は、フレーム低減モジュール１４０４が供給するフレームと、背景推定モジュール１４０５が供給するような背景画像との間における差分を計算することができる。
【０１１８】
接続コンポーネント処理モジュール１４０７は、入来するアクティブ・タイルを受け取り、これらのアクティブ・タイル内部において、物体を分類することができる。また、接続コンポーネント処理モジュール１４０７は、難点(objections)についての情報もブロブに入力することができる。移動物体ブロブ１４０８は、画像の追加処理を実行することができる。例えば、移動物体ブロブ・モジュール１４０８は、フレームの内部にある物体の色、形状、および方向というような追加情報を抽出することができる。移動物体縁端検出モジュール１４１０は、背景推定モジュール１４０５、差分計算モジュール１４０６、接続コンポーネント処理モジュール１４０７、および／または移動物体ブロブ・モジュール１４０８からデータを受けることができる。移動物体縁端検出モジュール１４１０は、次いで、これら種々のモジュール１４０５、１４０６、１４０７、および／または１４０８からの情報全てを組み合わせることができる。また、移動物体縁端検出モジュール１４１０は、画像の内部にある物体の縁端に対する強調のような境界(boundary)を追加することもできる。次いで、移動縁端検出モジュール１４１０は、このデータを出力データ選択モジュール１４１１に出力することができる。
【０１１９】
出力データ選択モジュール１４１１は、移動物体縁端検出１４１０からの入来データの一部または全部を選択的に出力することができる。次いで、出力データ選択からのＹ＿出力信号は、スマート・ネットワーク・カメラ１１０の内部にある他のモジュールに供給することができる。警報検出モジュール１４０９は、差分計算モジュールおよび／または移動物体縁端検出モジュール１４１０からデータを受けることができる。警報検出モジュール１４０９は、適した回路、ロジック、および／またはコードを備えることができ、トリガとしての役割を果たすことができる。警報検出モジュール１４０９は、閾値または基準線としての役割を果たすことができるパラメータを収容することができる。警報検出モジュール１４０９は、次いで、ＸＭＬのようなフォーマットとしたデータを出力することができる。このデータは、スマート・ネットワーク・カメラ１１０の内部にある他のモジュールによって用いることができる。ＶＭＤレジスタ１４０１は、ビデオ・モーション検出器３０３の内部にある種々のモジュールをイネーブルまたはディスエーブルすることができる。ＶＭＤ枠検出モジュール１４０２は、モーションを検出することができる枠を設定することができる。この枠を対象領域と呼ぶこともできる。枠即ち対象領域は、いずれの形状またはサイズでもよい。背景初期化カウンタ１４０３は、背景推定モジュール１４０５をリセットすることができる。
【０１２０】
ビデオ・モーション検出器３０３は、カメラ・ビデオ・モーション検出機構および新静止物体検出機構を実現することができる。ビデオ・モーション検出では、輝度信号はＶＭＤ処理によって用いることができる。モジュール動作は、一組のレジスタ１４０１を通じて制御することができる。ビデオ・モーション検出をイネーブルするためには、ＶＭＤ制御レジスタ１４０１のビット０を高に設定すればよい。このビットを高に設定すると、ＶＭＤレジスタの一部に対する変更を禁止することができ、したがって、これら他のＶＭＤレジスタは、その前にプログラムするとよい。ＶＭＤ制御レジスタ１４０１のその他のビットは、ビット０を高に設定するのと同時にプログラムすることができる。ビデオ・フレームの１６×３２画素（または３２×１６画素）からフレームの最大サイズまでに及ぶエリアは、ＶＭＤ枠レジスタを通じて定めることができる。ビデオ・モーション検出は、この選択したエリア内でのみ実行することができる。ＶＭＤ枠エリアは、５１２ビットの整数倍数とするとよい。
【０１２１】
モーション検出がイネーブルされているとき、背景初期化をＮ回の繰り返しで実行することができる。Ｎは、ＶＭＤ制御レジスタ１４０５を通じてプログラム可能である。背景推定は、連続近似アルゴリズムに基づくとよい。このアルゴリズムは、入力輝度信号と直前のフレーム背景値との間の差の半分ずつ、背景値を増分／減分する。
【０１２２】
ＶＭＤ３０３は、フレーム・レートを低減したモーション検出フレームに用いることができる。ＶＭＤ制御レジスタ・ビットに書き込まれた値Ｍが０とは異なる場合、（Ｍ＋１）毎のフレームだけを用いる。新たなビデオ・フレームの開始は、圧縮器によってＶＭＤに知らせることができる。ＶＭＤ３０３は、受け取った輝度サンプルの数を数えて、フレームの終端を検出することができる。この理由のために、正しいフレーム・サイズをＶＭＤフレーム・サイズ・レジスタにプログラムすることが重要であると言える。
【０１２３】
新たなＶＭＤフレーム（フレーム・レートが低減したフレーム）の先頭を検出した後、フレーム・データを、チャネル４を通じて、ＤＤＲ  ＳＤＲＡＭメモリ・バッファに書き込むことができる。これ以降、フレーム毎に、直前のＶＭＤフレーム・データ（背景）は、チャネル５を通じてＤＤＲＳＤＲＡＭメモリ・バッファから読み出し、圧縮モジュールから受け取った現フレーム・データと比較することができる。現データが、対応する背景値よりも大きい場合、ＤＤＲ  ＳＤＲＡＭバッファにチャネル４を通じて書き込まれた新たな値は、背景値を１だけ増加させた値に等しくなることができる。しがたって、現データが対応する背景値よりも小さい場合、新たな背景値を１だけ減少させるが、双方のデータ値が等しい場合、変化させないでおく。背景の推定は、時間ビデオ・モーション検出がイネーブルされている時間中、ＶＭＤフレーム毎にこのようにして続けられる。
【０１２４】
背景初期化が完了するまで、フレーム差分および警報検出をディスエーブルのままにしておくとよい。その後、圧縮モジュールからの各ＶＭＤフレームの現データを、対応する背景値と比較することができ、２つの値の絶対差（モジュール：module）を求めることができる。この差は、次いで、閾値（画素閾値）と比較することができる。閾値は、ＶＭＤ閾値レジスタを通じてプログラム可能である。この差が、プログラムされている閾値よりも大きい場合、閾値を超過した差を有する画素を数えるカウンタの値を増加させることができる。
【０１２５】
各ＶＭＤフレームの終端において、画素カウンタ値を、ＶＭＤ閾値レジスタを通じてプログラムされた２つの閾値と比較することができる。画素カウンタ値が、第１ＶＭＤ閾値レジスタ内の値より大きく、第２ＶＭＤ閾値レジスタ内の値よりも小さい場合、閾値を超過する差を有する画素数を有するフレームの数を数えるカウンタを増加させることができる。それ以外の場合、カウンタの値を再度ゼロにリセットすることができる。カウンタが、ＶＭＤ制御レジスタを通じてプログラムされた値に達したとき、ＶＭＤ警報出力を１クロック・サイクルの間高にしてパルス状に発生することができ、カウンタを再度ゼロにリセットすることができる。このように、ＶＭＤ警報を発する動きが検出される連続ＶＭＤフレームの最小数を設定することが可能となるとよい。ＶＭＤ警報信号は、割り込みステータス・レジスタ・フラグを駆動することができる。新たなＶＭＤ警報を検出するためには、フラグをポールすればよく、あるいは対応する割り込みをイネーブルすればよく、そうすると、一旦フラグをセットすることができたならば、割り込みが発生する。
【０１２６】
動き検出に関して、ＪＰＥＧ圧縮のために圧縮モジュールに送ることができるデータの検査は、ＶＭＤ制御レジスタを通じて選択することができる。これは、ＶＭＤ枠内に表示される移動物体「ブロブ」、背景データ、または差分データとすることができる。ＶＭＤ制御レジスタにおけるＶＭＤイネーブル・ビットをクリアすることができれば、ビデオ・データを０ｘＦＦに設定したままにしておいてよい。
【０１２７】
図１５は、本発明の一実施形態による、ＶＭＤにおける静止物体検出動作を示す。図１５を参照すると、ビデオ・モーション検出器（ＶＭＤ）３０３は、背景推定モジュール１５００、フレーム差分モジュール１５０１、画素閾値モジュール１５０２、閾値超過画素カウンタ１５０３、最大／最小閾値超過画素カウンタ枠付け(windowing)１５０４、前景背景区分化モジュール１５０５、静止物体ＲＡＭモジュール１５０６、連続フレーム最小数カウンタ１５１２、タイル１６閾値モジュール１５０７、タイル６４閾値モジュール１５０８、コンポーネントＲＡＭモジュール１５１０、接続コンポーネント処理モジュール１５１１、警報発生モジュール１５１３、および画素／行／列カウンタ１５０９を備えることができる。
【０１２８】
動作において、フレーム差分モジュール１５０１は、輝度（Ｙ）入力を受けることができる。背景推定モジュール１５００は、画像データを受けることができる。背景推定モジュール１５００は、統計的分析を行って、画像の背景を推定することができる。背景推定モジュール１５００は、多数の(multiple)フレームを用いて、背景の統計的モデルを作成することができる。フレーム差分モジュール１５０１は、入来するフレームを、背景の統計的モデルから減算する。フレーム差分モジュール１５０１は、データにおける入来分Ｙと、背景推定モジュール１５００から受け取ったデータとの間の差を判断することができる。フレーム差分モジュール１５０１は、減算演算を実行することによって、データにおけるＹ成分とモデル背景データとの間におけるこの差を判断することができる。背景のモデルを作成することによって、背景推定モジュール１５００は、カメラが一定の種類の物体移動を無視できるようにすることができる。例えば、画像の背景において風にそよぐ樹木の動きは、背景推定プロセスを用いて無視することができる。
【０１２９】
フレーム差分モジュール１５０１が実行した減算演算の結果から、画素値を得ることができる。この画素値は、次に、画素閾値モジュール１５０２に転送することができる。次いで、画素閾値モジュール１５０２は、これらの画素値を利用して、物体がフレーム内にあり得るか否か判断することができる。画素閾値モジュール１５０２は、画素の特定の閾値および／またはトリガ・レベルを収容することができる。特定の画素閾値レベルに基づいて、警報を誘起することができる。画素閾値モジュール１５０２は、アクティブ・タイルを出力することができる。これらのアクティブ・タイルは、いずれの形状またはサイズでもよい。例えば、これらのアクティブ・タイルは、用途または画像センサ１００に応じて、１６×１６または６４×６４であってもよい。これらアクティブ・タイルのサイズは、当該タイル内部における詳細のレベルに対して逆関係(inversely related)とすることができる。例えば、タイルのサイズが縮小すると、タイル内における詳細の量は多くなることができる。この逆相関より、オペレータは広い範囲の動きと偽警報との間で、カメラの動作を均衡させることができる。数個の小さいアクティブ・タイルを用いて、それよりも大きな１つのアクティブ・タイルを組み立てることもできる。例えば、１６×１６のタイルを複数用いて６４×６４のタイルを１つ組み立てることができる。これによって、各アクティブ・タイル内に取り込まれる詳細のレベルを低下させることなく、一層大きな物体の検出を可能にすることができる。前述の閾値画素カウンタ１５０３は、閾値を超えた画素の数を数える。画素閾値モジュール１５０２からの出力は、タイル１６閾値モジュール１５０７に供給することができる。
【０１３０】
タイル１６閾値モジュールは、画素データを１６×１６タイルに変換することができる。別の実施形態では、タイル閾値モジュール１５０７は、画素を他のいずれの形状またはサイズにでも変換することができる。タイル６４閾値１５０８は、タイル１６閾値１５０７の出力を用いて、６４×６４のタイルを作成することができる。タイル６４閾値モジュール１５０８の出力は、静止物体ＲＡＭ１５０６およびコンポーネントＲＡＭモジュール１５１０に供給することができる。静止物体ＲＡＭ１５０６は、画像内において静止物体を検出することが望ましいと考えられるときにイネーブルすることができる。コンポーネントＲＡＭ１５１０は、アクティブ・タイルを格納することができる。静止物体ＲＡＭモジュール１５０６からの出力は、前景背景区分モジュールに供給することができる。コンポーネントＲＡＭモジュール１５１０からの出力は、接続コンポーネント処理モジュール１５１１に供給することができる。接続コンポーネント処理モジュール１５１１は、アクティブ・タイル間で差別化することができ、および／または画像の中にある移動物体を分類することができる。コンポーネント処理モジュール１５１１の出力は、次に、警報発生モジュール１５１３に供給することができる。次いで、警報発生モジュール１５１３は警報信号を出力することができる。画素閾値モジュール１５０２は、閾値超過画素カウンタ１５０３にもデータを出力することができる。閾値超過画素カウンタ１５０３は、閾値を超える画素の数を数えることができる。閾値超過画素カウンタ１５０３の出力は、最小／最大閾値超過画素カウンタ枠組モジュール１５０４に供給することができる。最小／最大閾値超過画素カウンタ枠組モジュール１５０４の出力は、最小数連続フレーム・カウンタ１５１２に供給することができる。最小数連続フレーム・カウンタ１５１２からの出力は、次に、警報発生モジュール１５１３に供給することができる。次いで、警報発生モジュール１５１３は、警報信号を発生することができる。
【０１３１】
動き検出に加えて、ＶＭＤ３０３は新たな静止物体の検出も行うことができる。この動作モードは、ＶＭＤ制御レジスタにおけるビットを高に設定することによってイネーブルすることができ、対象のプログラム可能な領域、即ち、ＶＭＤ枠レジスタにおいて、新たな静止物体（または既存の静止物体に対する変化）の検出に備える。新静止物体検出モードでは、入力輝度信号が直前のフレーム背景値よりも大きく／小さくなり得るときに、背景値の＋／−１増分／減分を用いて、背景推定を実行することができる。背景初期化段階の間、１つ置きのＶＭＤフレームを背景推定に用いることができる。背景初期化が完了することができた後、ＶＭＤフレームを８個ずつ用いることができる。
【０１３２】
背景／前景区分化では、背景値を前景物体値に更新することを避けるために、単純な区分化メカニズムを用いるとよい。この目的に合わせて、最大分解能画像全体を６４×６４画素のタイルに分割するとよい。各タイルは、「アクティブ」（前景に属する）または「インアクティブ」（背景に属する）であると見なすことができる。タイル・ステータスを求めるために、２つの追加閾値比較段階を用いてもよい。これらは、タイル１６  １５０７およびタイル６４  １５０８閾値とすることができる。６４×６４画素タイルがアクティブであると見なすことができるのは、そのアクティブな１６×１６画素タイルの数がタイル１６設定閾値(threshold set)を超過するときである。１６×１６画素タイルがアクティブであると見なすことができるのは、画素設定閾値を超過するその画素の数が、タイル１６設定閾値よりも大きいときであるとすることができる。
【０１３３】
二重ポート・メモリ（静止物体ＲＡＭ）１５０６は、６４×６４画素ステータス情報を格納するために用いることができる。フレーム６４×６４画素タイルに対応するＲＡＭ位置には、各６４×６４画素タイルの終端に１または０を書き込むことができ、次のフレームの間に読み出すことができる。ある画素が、直前のフレーム中においてアクティブ・タイルに属する場合、この画素に対応する背景値を更新しなくてよい。それ以外の場合、入力輝度信号および直前の背景値に応じて（１つ置きのフレーム／７つ置きのフレームのみ）、背景値を１だけ増分／減分することができる。
【０１３４】
新静止物体検出では、ＶＭＤ制御レジスタを通じてプログラムしたフレーム数にわたって背景を学習した後、モジュール１５０６は、ＶＭＤ閾値レジスタを通じて設定したフレーム数よりも長い間静止状態のままとなっている新たな物体をいずれも検出することができる。静止物体ＲＡＭ１５０６は、６４×６４画素タイル毎に、１６ビット・カウンタを実施する。タイルが前景に属することが検出できた各フレームでは、１だけそのカウンタを増加させることができ、一方、そのタイルが背景に属すると見なされる場合ゼロにリセットすることができる。このように、新たな静止物体に属するタイルは、そのカウントが設定閾値に到達する。これが起こると、カウント値をもはや増加させることはなく、コンポーネントＲＡＭにおける対応する位置に１を書き込めばよい。静止物体検出では、ＶＭＤ制御レジスタにおけるビットを高に設定する必要がある。これによって、接続コンポーネント処理を可能にすることができ、４つまでの新たに検出した物体の周囲に矩形の境界線（境界ボックス）を生成することができる。検出された新たな静止物体（または複数の物体）は、ＶＭＤ警報フラグを設定し（動き検出の場合と同じ）、イネーブルされると割り込みを発生する。
【０１３５】
図１６は、本発明の一実施形態による、接続コンポーネントのブロック図を示す。図１６を参照すると、接続コンポーネントのブロック図は、接続コンポーネント状態マシン１６００、フラグ・グループＲＡＭ１６０１、およびフラグ・グループ・カウントＲＡＭ１６０２を内包することができる。
【０１３６】
動作において、接続コンポーネント状態マシン１６００は、コンポーネントＲＡＭモジュール１５１０とインターフェースすることができる。接続コンポーネント状態マシン１６００は、６つの入力を接続コンポーネントＲＡＭモジュール１５１０から受けることができる。接続コンポーネントＲＡＭモジュール１５１０からの入力は、コンポーネントＲＡＭリード・データ、コンポーネントＲＡＭライト・データ、ロー・レディ(row ready)、新フレーム、フラグ・グループＲＡＭ１６０１、およびフラグ・グループ・カウント１６０２を備えることができる。フラグ・グループＲＡＭ１６０１およびフラグ・グループ・カウントＲＡＭ１６０２は、タイル１６閾値モジュール１５０７、タイル６４閾値モジュール１５０８、および／または画素／行／列カウンタ・モジュール１５０９（図１５における）によって抽出された特定の特徴を収容することができる。接続コンポーネント状態マシン１６００への入力には、物体の形状、色、および動きというような特徴を含むことができる。
【０１３７】
接続コンポーネント状態マシン１６００は、入来するデータを分析し、物体を別個のブロブに分類することができる。接続コンポーネント状態マシン１６００は、物体を境界ボックス(bounding box) に入れることによって、これらの物体をブロブに分類することができる。接続コンポーネント状態マシン１６００は、色、形状、および／または方向というような種々の特徴に基づいて、目標を絞り込むことができる。フラグ・グループＲＡＭ１６０１、フラグ・グループ・カウントＲＡＭ１６０２、および接続コンポーネント状態マシン１６００のアーキテクチャ、機能、および動作については、本明細書において以下で更に詳細に論ずる。接続コンポーネント状態マシン１６００からの出力は、警報発生モジュール１５１３および／またはスマート・ネットワーク・カメラ１１０の内部にあるその他のモジュールに供給することができる。これらの警報出力は、ネットワーク上にある他のスマート・ネットワーク・カメラ１１０に送信することもできる。接続コンポーネント・ブロックは、差分画像において別個の物体の縁端を検出する目的で、接続コンポーネント分析アルゴリズムを実施する。差分画像は、移動または新たな静止物体に起因して生成することができる。モジュールの動作は、これら２つの場合で同一とすることができる。設定した数の最大物体を検出することができる。
【０１３８】
処理時間を短縮し、更にデータ格納の必要性を低減するために、最大分解能の差分画像を６４×６４画素タイルに分割することができる。したがって、最小検出物体の縁端は、１辺が６４画素の正方形ボックスに等しくなればよい。尚、検出した物体が１画素程の大きさでもよい（タイル１６およびタイル６４閾値の設定による）ことは、注記してしかるべきである。ＶＭＤ閾値レジスタを通じて、最小検出物体サイズの限度を、もっと大きな値に設定することも可能であるとよい。これによって、動き検出において小さな物体を表示すること、および新静止物体検出動作モードにおける新たな小さい静止物体による警報の発生を防止する。
【０１３９】
図１７は、本発明の一実施形態による、接続コンポーネントの動作の図を示す。図１７を参照すると、接続コンポーネントは、リセット・フラグ・グループ・メモリ１７００、リード・コンポーネントＲＡＭ１７０１、アクティブ・タイル・フラグ割り当てモジュール１７０２、フラグ・グループ・ソート・モジュール１７０３、リード・コンポーネントＲＡＭモジュール１７０４、カウント・フラグ・グループ・タイル１７０４、カウント・フラグ・グループ・タイル１７０５、ソート・フラグ・グループ・カウント１７０６、リード・コンポーネントＲＡＭモジュール１７０７、ボックス隣接四最大グループ捕獲モジュール１７０８、および隣接ボックス有効性指示モジュール１７０９を備えることができる。図１７は、接続コンポーネント状態マシン１６００モジュール、フラグ・グループＲＡＭ１６０１、およびフラグ・グループ・カウントＲＡＭ１６０２の関連部分を更に詳細に記述する。
【０１４０】
動作において、リセット・フラグ・グループ・メモリ・モジュール１７００は、新たなフレームを受けることができる。リセット・フラグ・グループ・メモリ・モジュール１７００は、新たなフレームおよび／またはアクティブ・タイルを受ける毎に、フラグをリセットすることができる。リード・コンポーネントＲＡＭ１７０１は、アクティブ・タイルを抽出することができる。リード・コンポーネントＲＡＭ１７０１は、ロー・レディ信号を用いて、メモリの行にアドレスすることができる。アクティブ・タイル・フラグ割り当て１７０２は、入来するアクティブ・ファイルを、リード・コンポーネントＲＡＭ１７０１から読み出すことができる。アクティブ・タイル・フラグ割り当て１７０２モジュールは、次いで、物体を分類するためにアクティブ・タイルの新たなグループに対してフラグを割り当てることができる。フラグ・グループ・ソート・モジュール１７０３は、フラグ・グループをソートすることができる。同様の動作の第２レイヤを、リード・コンポーネントＲＡＭ１７０４、フラグ・グループ・タイル・カウント・モジュール１７０５、およびソート・フラグ・グループ・カウント１７０６によって実行することができる。即ち、コンポーネントＲＡＭ１７０４はアクティブ・タイルを抽出することができる。リード・カウント・フラグ・グループ・タイル・モジュール１７０５は、次いで、物体を分類するために、アクティブ・タイルの新たなグループにフラグを割り当てることができる。ソート・フラグ・グループカウント１７０６は、フラグ・グループをソートし、これらを分類することができる。この第２レイヤの処理によって、ノイズ・レベルの低減を可能にすることができる。
【０１４１】
リード・コンポーネントＲＡＭ１７０４、カウント・フラグ・グループ・タイル１７０５、およびソート・フラグ・グループ・カウント１７０６は、集合的に、ノイズ・フィルタとして動作することができる。カウント・フラグ・グループ・タイル１７０５からの出力は、リード・コンポーネントＲＡＭ１７０４に供給することもできる。この出力は、履歴分析を目的とするフィードバックとしての役割を果たすことができる。即ち、このフィードバックによって、いずれかのタイルがカウント・フラグ・グループ・タイル・モジュール１７０５によって破棄された場合であっても、タイルの再編成を確保することができる。また、このフィードバックは、最後のアクティブ・タイルおよび／または一連のアクティブ・タイルのメモリとしての役割も果たすことができる。このフィードバックは、アクティブ・タイルが完全か否か、および／またはアクティブ・ファイルまたは一連のアクティブ・ファイル内に収容されている情報が物体を形成するか否かという判断において役に立つ。リード・コンポーネントＲＡＭ１７０７は、アクティブ・タイルを抽出することができる。ボックス隣接四最大グループ捕獲モジュール１７０８は、アクティブ・タイル内における４つの最も大きな物体を抽出する。別の実施形態では、モジュール１７０８は異なる数の物体を抽出することもできる。各チャネルは、ブロブ隣接ボックス情報を搬送する。境界ボックス有効性指示モジュール１７０９は、隣接するボックスの有効性を示すことができる。これに関して、隣接ボックス有効性指示モジュール１７０９は、あるブロブの隣接ボックスの座標が、近似対象領域内にあることを保証することができる。隣接ボックス有効性指示モジュール１７０９は、有効性指示信号を出力することができる。有効性指示信号は、物体周囲の線というような、境界を形成するために用いることができる。
【０１４２】
接続コンポーネント・ブロックでは、コンポーネントの標識付けが必要となる場合もある。画像行列において接続コンポーネントを検出するために、状態マシン１６００は、コンポーネントＲＡＭからの６４×６４画素タイル全てのステータスを読み出し（１行ずつ順次）、８接続タイル近隣定義を用いて、アクティブ・タイルにフラグを割り当てる。
【０１４３】
状態マシンアルゴリズムにおいて、最初の行について、最初に発見したアクティブ・タイルであれば、新たなフラグを割り当てる。後続のいずれのアクティブ・タイルについても、その行における直前のタイルもアクティブであれば、同じフラグを現アクティブ・タイルに割り当てる。それ以外の場合には、新たなフラグを割り当てる。言い換えると、行における最初のタイルおよび現在のタイルがアクティブであり得る場合、直上にあるタイル（直前の行のタイル）のステータスをチェックする。上のタイルがアクティブであり得るならば、タイル・フラグを現在のタイルに割り当てる。上のタイルがインアクティブであり得る場合、新たなフラグを現在のファイルに割り当てる。その行における最初のタイルではなく、現在のタイルがアクティブであり得るならば、直前の行における直前のタイル（現在のタイルの上にあるタイルの左側にあるタイル）のステータスをチェックする。そのタイルがアクティブであるならば、タイル・フラグを現在のタイルに割り当てる。それ以外の場合、現在のタイルの上にあるタイルをチェックする。４つの場合が可能であると考えられる。現在のタイルのみがアクティブである場合、新たなフラグを割り当てる。直前および現在のタイルがアクティブである場合、直前のタイル・フラグを割り当てる。上および現在のタイルがアクティブである場合、上のタイル・フラグを割り当てる。直前、上、および現在のタイルがアクティブあり得れる場合、直前のタイル・フラグを割り当てて、直前のタイルおよび上のタイルのフラグが等しいことを示す（双方のフラグのビット毎のＯＲを、現フラグ・インデックスによって参照されるフラグ・グループＲＡＭの位置に書き込むことによって）。フラグ・グループをソートするには、フレームの先頭において、フラグ・グループ位置の各々に、設定したビット位置によってコード化された別々のフラグを書き込むことができる。コンポーネント標識付けプロセスの間、一部のフラグを変更しておいて、他のフラグとの相等性(equality)を示すこともできる（フラグ毎に１ビットよりも多くセットする）。
【０１４４】
等しいという印が付けられているフラグを発見するために、最初のフラグを基準フラグとして採用することができ、フラグ・グループＲＡＭメモリを、次のフラグ位置から開始して、読み出すことができる。全非ゼロ・フラグと基準フラグとのＡＮＤを、ビット毎に取ることができる。その結果がゼロとは異なる場合、２つのフラグは等しいと考えられる。双方のフラグのビット毎のＯＲを、現在のフラグ位置に書き込むことができ、参照フラグ位置にはリセットのための印を付けることができる。このリセットは、基準フラグを他の全てのフラグと突き合わせてチェックし終えたときに、実行することができる。その後、次のフラグを基準として採用し、残りのフラグと突き合わせてチェックすることができる。このプロセスは、最後から２番目のフラグを基準として用いるまで継続する。このプロセスの終了時には、フラグ・グループ・メモリは、全ての識別した別個のコンポーネント（物体）に対応する非ゼロ・フラグと、ゼロに等しいその他の全ての未使用フラグとを収容する。
【０１４５】
フラグ・グループ・タイルを数えるには、コンポーネントＲＡＭから読み出したフラグと、フラグ・グループＲＡＭからの最初のフラグとのＡＮＤを、ビット毎に取ればよい。その結果がゼロに等しくない場合、現在のフラグに対応するフラグ・グループ・カウントＲＡＭの位置を１だけ増分すればよい。それ以外の場合、カウントは不変のままにしておけばよい。このプロセスは、全てのフラグがフラグ・グループＲＡＭから読み出されるまで継続する。その後、コンポーネントＲＡＭから次のフラグを読み出すことができ、コンポーネント・メモリの終端に到達するまで、前述のステップを繰り返せばよい。この時点において、フラグ・グループ・カウントＲＡＭは、別個の各物体における６４×６４画素タイルの数を収容している。フラグ・グループ・カウントをソートすることができ、最大フラグ・グループ・カウントの設定数を発見することができる。次いで、コンポーネントＲＡＭから読み出すことによって、最も大きなフラグ・グループ・カウントに対する隣接ボックスを発見し、隣接ボックス・パラメータ（startX、endX、startY、endY）を求めることができる。最大隣接ボックス・パラメータを、最小隣接ボックス幅および高さと比較して、設定閾値を超過する隣接ボックスに対して有効信号を生成することができる。
【０１４６】
図１８は、本発明の一実施形態による、ダイナミック・レンジ圧縮のブロック図を示す。図１８を参照すると、ダイナミック・レンジ圧縮器３０４は、シフト・レジスタ１８００、加重平均フィルタ１８０１、プログラミング・レジスタ１８０２、画素［２、２］モジュール１８０３、参照テーブル１８０４、参照テーブル１８０５、乗算モジュール１８０６、利得選択モジュール１８０７、および利得選択モジュール１８０８を備えることができる。
【０１４７】
動作において、ダイナミック・レンジ圧縮モジュール３０４は、非線形フィルタ特性による対数圧縮を実行することができる。ダイナミック・レンジ圧縮モジュール３０４のシフト・レジスタ１８００は、輝度（Ｙ）およびクロミナンス（ＣｂＣｒ）入力を、バイエル／ＹＣｂＣｒ変換器３０２から受けることができる。シフト・レジスタ１８００は、除算のような数学的演算を実行することができる。シフト・レジスタ１８００は、入来するＹおよびＣｂＣｒ信号を、当該レジスタの中で指定された数値で除算することができる。この数値は、レジスタの中にプリセットすることができ、あるいはプログラム可能にすることもできる。画素［２、２］モジュールは、データ内部において２×２の枠を選択することができる。Ｘモジュール１８０６は、乗算のような数学的演算を実行することができる。シフト・レジスタ１８００は、出力を利得選択モジュール１８０７に供給することもできる。利得選択モジュール１８０７は、入来信号の乗算および／または増幅を実行することができる。利得選択モジュール１８０７の出力は、利得選択モジュール１８０８に供給することができる。
【０１４８】
また、シフト・レジスタ１８００は、データを加重平均フィルタ１８０１に供給することができる。加重平均フィルタ１８０１は、乗算演算を実行することができ、その結果線形フィルタが得られる。加重平均フィルタ１８０１の出力は、参照テーブル・モジュール１８０４内部に収容されている参照テーブルと組み合わせることができる。参照テーブル・モジュール１８０４内部に格納されているテーブルは、フィルタ・パラメータを計算するために用いることができる。Ｘモジュール１８０６は、乗算のような数学的演算を実行することができる。Ｘモジュール１８０６は、画素［２、２］モジュール１８０３からの出力を、参照テーブル１８０４からの出力と乗算することができる。また、加重平均フィルタ１８０１からの出力は、参照テーブル・モジュール１８０５にも供給することができる。参照テーブル・モジュール１８０５は、除算のような数学的演算を実行することができる。参照テーブル・モジュール１８０５によって実行することができる除算の結果、データ圧縮を行うことができる。利得選択モジュール１８０７は、加重平均フィルタ１８０１、乗算器１８０６、および参照テーブル１８０５からデータを受けることができる。
【０１４９】
利得選択モジュール１８０７は、除算または乗算というような数学的演算を実行することができる。利得選択モジュール１８０８は、加算演算を実行することができ、その結果、データ信号の強調(enhancement)および増幅が得られる。プログラミング・レジスタ１８０２は、加重平均フィルタ１８０１、利得選択モジュール１８０７、および利得選択モジュール１８０８をイネーブル、ディスエーブル、および／または制御するために用いることができる。また、プログラミング・レジスタ１８０２は、加重平均フィルタ１８０１、利得選択モジュール１８０７、および利得選択モジュール１８０８に特定の値をプログラムするために用いることもできる。ダイナミック・レンジ圧縮モジュール３０４内における前述の具体的なプロセスの結果、スマート・ネットワーク・カメラ１１０は輝度レベルが低い状況でも動作することが可能になることができる。ダイナミック・レンジの圧縮（ＤＲＣ）では、クロミナンス・メディアン・フィルタ(chrominance the median filters)をイネーブルまたはディスエーブルすることができる。ディスエーブルすると、クロミナンスＣｂおよびＣｒ信号を、無変化のまま、ダイナミック・レンジ圧縮ブロックを通過させることができ、または白黒写真に合わせてこれらを一定値に設定することもできる。
【０１５０】
ＤＲＣは、低レベル照明条件（暗視モード）の場合に、輝度値のレベル・シフトを行う。このモードは、フレーム・ヒストグラムにおける支配的に低いレベルの画素値を検出したときに、カメラのソフトウェアによって活性化することができる。圧縮によって、モジュール入力（４８ｄＢのダイナミック・レンジ）上における０から２５５までのレベル値を、８から２５５までの、これよりも少ない数のレベル値（３０ｄＢのダイナミック・レンジ）で表すことができるようになる。これは、モジュール出力上における８ビット値の内上位５ビットによって表される８ビット入力値に対応する。すると、ダイナミック・レンジを１．６倍（４８／３０）に圧縮することができる。圧縮比が高い程、モジュール出力上におけるノイズ・レベルも高くなる。この実施態様は、輝度チャネルに対して３×３加重平均フィルタに基づくことができる。次いで、３つのシフト・レジスタから成る一組を用いて、フィルタ枠を得ることができる。フィルタ・マスクおよび重み行列における画素の畳み込みの結果が、画素値とその対応する重みの乗算結果の和として求めることができる。
【０１５１】
画素重みマスク乗算器は、二進乗算器として実装することができ、この場合、乗算は０および２Ｎで行うことができる。ここで、Ｎ＝０、１、２、または３である。フィルタの重みは、０、１、２、４、または８の値を取ることができる。フィルタの重みの値は、ＤＲＣパラメータ・レジスタを通じてプログラム可能にするとよい。加重平均フィルタの応答は、プログラムされた重みの和に応じた値で、畳み込みを除算することによって求めることができる。実施の簡素さが重要である場合、除算は、８、１６、３２、または６４による除算に限定することもできる。畳み込み除算値(convolution divider value)は、ＤＲＣパラメータ・レジスタを通じてプログラム可能にするとよい。第１出力輝度値は、フィルタの基準画素値を、第１参照テーブルからの値と乗算することによって求めることができる、ここで、フィルタの応答をテーブルのアドレスとして用いることができる。基準画素値との乗算の結果は、０ｄＢ出力利得を得るためには３２で除算すればよく、他の利得設定値を得るためには他の各値で除算すればよい。同様に、第２参照テーブルは、輝度圧縮値を収容しており、スムージング・フィルタの応答によってアドレスすることができ、ダイナミック・レンジを圧縮した第２輝度出力が得られる。出力データ・セレクタは、輝度信号およびクロミナンス信号を選択することができ、これらは、更なる処理のために、ＳｏＣの他の部分に受け渡すことができる。
【０１５２】
図１９は、本発明の一実施形態による、ビデオ・コンテンツ・メタデータ送信についての流れ図を示す。図１９を参照すると、このフローチャートは、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４がビデオ・メタデータを生成し、圧縮ビデオ・ストリームをイーサネットまたはその他の高速ディジタル・ネットワークに送る前に、このストリームのヘッダまたはＸＭＬ部上にメタデータを埋め込むまたは添付することができるプロセスの一例を示す。また、ビデオ・メタデータは、別の動作モードでは、そのそれぞれの処理済みビデオなしで送ることもできる。図１Ａおよび図１９を参照すると、１９００において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はビデオ情報を画像センサ１００から受けることができる。１９０１において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は画像および色処理を実行することができる。１９０２において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はビデオ・モーション検出および／またはヒストグラム分析を実行して、ビデオ・メタデータを生成することができる。１９０３において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、処理したビデオを送信することを選択してもしなくてもよい。
【０１５３】
１９０７において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４が、処理済みビデオを送信しないことを選択した場合、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、処理済みビデオに対応するビデオ・メタデータのみを、イーサネットを通じて送信することができる。本発明の別の実施形態では、再構成可能スマート・ネットワーク・カメラは、ワイヤレス・ネットワークのような、他のいずれの送信手段を通じてでも、ビデオ・メタデータを送信することができる。１９０４において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４が処理済みビデオを送信することを選択した場合、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は圧縮ビデオの圧縮を行うことができる。１９０５において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はビデオ・メタデータを圧縮したファイルのヘッダに埋め込むまたは添付することができる。１９０６において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、圧縮ビデオ・ファイルを、埋め込んだまたは添付したビデオ・メタデータと共に、イーサネット上でまたはワイヤレス接続を通じて送信することができる。
【０１５４】
図２０は、本発明の一実施形態による、ビデオおよび位置コンテンツ・メタデータ送信についての流れ図を示す。図２０を参照すると、このフローチャートは、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４がビデオ・メタデータおよび／または位置メタデータを生成し、圧縮ビデオ・ストリームをイーサネットまたはその他の高速ディジタル・ネットワークに送る前に、このストリームのヘッダまたはＸＭＬ部上にメタデータを埋め込むまたは添付することができるプロセスの一例を示す。本明細書の以下で更に詳しく説明するが、ビデオ・メタデータおよび／または位置メタデータは、別の動作モードでは、そのそれぞれの処理済みビデオなしで送ることもできる。
【０１５５】
図１Ｂおよび２０を参照すると、２００１において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はビデオ情報を画像センサ１００から、そして位置情報をＧＰＳ受信部１０８から受けることができる。２００２において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は画像および色処理を実行することができる。２００３において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はビデオ・モーション検出および／またはヒストグラム分析を実行して、ビデオ・メタデータを生成することができる。２００４において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、ＧＰＳ情報を処理して、位置メタデータを生成することができる。２００５において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４が、処理したビデオを送信するか否か決定することができる。２００９において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４が、処理済みビデオを送信しないことを選択した場合、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、処理済みビデオに対応するビデオ・メタデータおよび／または位置メタデータのみを、イーサネットを通じて送信することができる。本発明の別の実施形態では、再構成可能スマート・ネットワーク・カメラは、ワイヤレス・ネットワークのような、他のいずれの送信手段を通じてでも、ビデオ・メタデータを送信することができる。２００６において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４が処理済みビデオを送信することを選択した場合、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は圧縮ビデオの圧縮を行うことができる。２００７において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４はビデオ・メタデータおよび／または位置メタデータを圧縮したファイルのヘッダに埋め込むまたは添付することができる。２００８において、再構成可能スマート・ネットワーク・カメラＳｏＣ１０４は、圧縮ビデオ・ファイルを、埋め込んだあるいは添付したビデオ・メタデータおよび／または位置メタデータと共に、イーサネットを通じて送信することができる。
【０１５６】
以上のように、本発明の態様は、ハードウェア、ソフトウェア、ファームウェア、またはその組み合わせで実現することができる。本発明は、少なくとも１つのコンピュータ・システムの中に集中的に実現すること、または分散的に実現して、数カ所の相互接続したコンピュータ・システムに跨って異なるエレメントを点在することができる。本明細書に記載した方法を実行するように構成されているのであれば、いずれの種類のコンピュータ・システムまたはその他の装置でも適性を有することができる。ハードウェア、ソフトウェア、およびファームウェアの典型的な組み合わせは、コンピュータ・プログラムを有する汎用コンピュータ・システムとすることができ、このコンピュータ・プログラムをロードして実行すると、コンピュータ・システムが、本明細書に記載した方法を実行するように、このコンピュータ・システムを制御する。
【０１５７】
本発明の一実施形態は、ボード・レベルの製品として、単一チップ、特定用途集積回路（ＡＳＩＣ）として実装することができ、あるいは単一チップ上に様々なレベルを統合し、システムの他の部分を別個のコンポーネントとすることができる。本システムの統合の度合いは、主に、速度およびコストの考慮によって決定することができる。最新のプロセッサは精巧であるため、市販のプロセッサを利用することも可能な場合があり、本システムのＡＳＩＣ実施態様に対して外部にこの市販のプロセッサを実装することもできる。あるいは、プロセッサがＡＳＩＣコアまたはロジック・ブロックとして利用可能である場合、市販のプロセッサをＡＳＩＣデバイスの一部として実装し、種々の機能をファームウェアとして実装することができる。
【０１５８】
また、本発明は、コンピュータ・プログラム製品の中に埋め込むこともでき、このコンピュータ・プログラム製品は、本明細書に記載した方法の実施を可能にする全ての機構(feature)を備えており、コンピュータ・システムにロードしたときに、これらの方法を実行することができるとよい。この文脈におけるコンピュータ・プログラムは、例えば、情報処理能力を有するシステムに、特定の機能を直接的にあるいは、ａ）別の言語、コード、または表記への変換、ｂ）異なる材料形態での再生産のいずれかまたは双方の後に実行させることを意図した命令の集合体の、あらゆる言語、コード、または表記によるあらゆる表現をも意味することができる。しかしながら、当業者の理解の範囲内におけるコンピュータ・プログラムの別の意味も、本発明は想定するものとする。
【０１５９】
以上、ある種の実施形態を参照しながら本発明について説明したが、本発明の範囲から逸脱することなく種々の変更を行うことができること、そして同等物で置換できることは、当業者には言うまでもないであろう。加えて、本発明の範囲から逸脱することなく、本発明の教示には特定の状況または材料を適応させるための多くの修正を行うことができる。したがって、本発明は、開示した特定的な実施形態に限定されず、本発明は、添付した請求項の範囲に該当する全ての実施形態を含むことを意図することとする。
【図１Ａ】
2011510521.tif 000003
【図１Ｂ】
2011510521.tif 000004
【図１Ｃ】
2011510521.tif 000005
【図２Ａ】
2011510521.tif 000006
【図２Ｂ】
2011510521.tif 000007
【図２Ｃ】
2011510521.tif 000008
【図２Ｄ】
2011510521.tif 000009
【図３Ａ】
2011510521.tif 000010
【図３Ｂ】
2011510521.tif 000011
【図３Ｃ】
2011510521.tif 000012
【図３Ｄ】
2011510521.tif 000013
【図４】
2011510521.tif 000014
【図５】
2011510521.tif 000015
【図６】
2011510521.tif 000016
【図７】
2011510521.tif 000017
【図８】
2011510521.tif 000018
【図９】
2011510521.tif 000019
【図１０】
2011510521.tif 000020
【図１１】
2011510521.tif 000021
【図１２】
2011510521.tif 000022
【図１３】
2011510521.tif 000023
【図１４】
2011510521.tif 000024
【図１５】
2011510521.tif 000025
【図１６】
2011510521.tif 000026
【図１７】
2011510521.tif 000027
【図１８】
2011510521.tif 000028
【図１９】
2011510521.tif 000029
【図２０】
2011510521.tif 000030
【手続補正書】
【提出日】平成22年7月15日(2010.7.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオ・データ処理方法であって、
プログラマブル監視ビデオ・カメラにおける単一チップ内部において、該プログラマブル監視ビデオ・カメラによって発生された生ビデオ信号において１つ以上の移動物体を検出するステップと、
前記プログラマブル監視ビデオ・カメラの前記単一チップ内部において、前記検出された１つ以上の物体の１つ以上の特性を抽出するステップであって、前記抽出が前記生ビデオ信号に基づく、ステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記抽出は、前記生ビデオ・データの圧縮の前に実行される、方法。
【請求項３】
請求項１記載の方法において、前記検出された１つ以上の物体の前記特性は、形状、テクスチャ、色、動きの有無、動きの方向、シーケンス名、位置、リンク、および／または警報の種類のうち１つ以上を含む、方法。  
【請求項４】
請求項１記載の方法であって、前記プログラマブル監視ビデオ・カメラの前記単一チップ内部において、前記検出された１つ以上の物体の前記１つ以上の特性のうち少なくとも１つの１つ以上のテクスチャ表現を生成するステップを備えている、方法。
【請求項５】
請求項４記載の方法であって、前記生成された１つ以上のテクスチャ表現を、処理のために、前記単一チップの外部に伝達するステップを備えている、方法。
【請求項６】
請求項５記載の方法において、前記生成された１つ以上のテクスチャ表現が、前記生ビデオ信号に対応する画像データとは独立して、前記単一チップの外部に伝達される、方法。
【請求項７】
請求項５記載の方法において、前記生成された１つ以上のテクスチャ表現を、前記生ビデオ信号に対応する画像データと並行して、前記単一チップ外部に伝達する、方法。
【請求項８】
請求項１記載の方法であって、少なくとも１つの視覚効果を用いて、前記生ビデオ信号に対応する画像データの少なくとも一部をフォーマットするステップを備えており、前記少なくとも１つの視覚効果は、前記１つ以上の検出された物体の前記１つ以上の特性のうち１つ以上に対応する、方法。
【請求項９】
ビデオ・データを処理するための少なくとも１つのコード・セクションを有するコンピュータ・プログラムが格納されているマシン読み取り可能ストレージであって、前記少なくとも１つのコード・セクションは、
プログラマブル監視ビデオ・カメラにおける単一チップ内部において、該プログラマブル監視ビデオ・カメラによって発生された生ビデオ信号において１つ以上の移動物体を検出するステップと、
前記プログラマブル監視ビデオ・カメラの前記単一チップ内部において、前記検出され１つ以上の物体の１つ以上の特性を抽出するステップであって、前記抽出が前記生ビデオ・データに基づく、ステップと、
を含むステップをマシンに実行させるために、前記マシンによって実行可能である、マシン読み取り可能ストレージ。
【請求項１０】
請求項９記載のマシン読み取り可能ストレージにおいて、前記抽出は、前記生ビデオ・データの圧縮の前に実行される、マシン読み取り可能ストレージ。
【請求項１１】
請求項９記載のマシン読み取り可能ストレージにおいて、前記検出された１つ以上の物体の前記特性は、形状、テクスチャ、色、動きの有無、動きの方向、シーケンス名、位置、リンク、および／または警報の種類のうち１つ以上を含む、マシン読み取り可能ストレージ。  
【請求項１２】
請求項９記載のマシン読み取り可能ストレージであって、前記プログラマブル監視ビデオ・カメラの前記単一チップ内部において、前記検出された１つ以上の物体の前記１つ以上の特性のうち少なくとも１つの１つ以上のテクスチャ表現を生成することを可能にするコードを備えている、マシン読み取り可能ストレージ。
【請求項１３】
請求項１２記載のマシン読み取り可能ストレージであって、前記生成された１つ以上のテクスチャ表現を、処理のために、前記単一チップの外部に伝達することを可能にするコードを備えている、マシン読み取り可能ストレージ。
【請求項１４】
請求項１３記載のマシン読み取り可能ストレージにおいて、前記生成された１つ以上のテクスチャ表現が、前記生ビデオ信号に対応する画像データとは独立して、前記単一チップの外部に伝達される、マシン読み取り可能ストレージ。
【請求項１５】
請求項１３記載のマシン読み取り可能ストレージにおいて、前記生成された１つ以上のテクスチャ表現を、前記生ビデオ信号に対応する画像データと並行して、前記単一チップ外部に伝達する、マシン読み取り可能ストレージ。
【請求項１６】
請求項９記載のマシン読み取り可能ストレージであって、少なくとも１つの視覚効果を用いて、前記生ビデオ信号に対応する画像データの少なくとも一部をフォーマットすることを可能にするコードを備えており、前記少なくとも１つの視覚効果は、前記１つ以上の検出された物体の前記１つ以上の特性のうち１つ以上に対応する、マシン読み取り可能ストレージ。
【請求項１７】
ビデオ・データ処理システムであって、
プログラマブル監視ビデオ・カメラにおける単一チップの内部にある１つ以上のプロセッサであって、該プログラマブル監視ビデオ・カメラによって発生された生ビデオ信号において１つ以上の移動物体を検出することを可能にする、前記１つ以上のプロセッサを備えており、
前記１つ以上のプロセッサが、前記単一チップ内部において、前記検出された１つ以上の物体の１つ以上の特性を抽出することを可能にし、前記抽出が前記生ビデオ信号に基づく、システム。
【請求項１８】
請求項１７記載のシステムにおいて、前記１つ以上のプロセッサは、前記生ビデオ・データの圧縮の前に前記抽出を実行することを可能にする、システム。
【請求項１９】
請求項１７記載のシステムにおいて、前記検出された１つ以上の物体の前記特性は、形状、テクスチャ、色、動きの有無、動きの方向、シーケンス名、位置、リンク、および／または警報の種類のうち１つ以上を含む、システム。  
【請求項２０】
請求項１７記載のシステムにおいて、前記１つ以上のプロセッサは、前記プログラマブル監視ビデオ・カメラの前記単一チップ内部において、前記検出された１つ以上の物体の前記１つ以上の特性のうち少なくとも１つの１つ以上のテクスチャ表現を生成することを可能にする、システム。
【請求項２１】
請求項２０記載のシステムにおいて、前記１つ以上のプロセッサは、前記生成された１つ以上のテクスチャ表現を、処理のために、前記単一チップの外部に伝達することを可能にする、システム。
【請求項２２】
請求項２１記載のシステムにおいて、前記１つ以上のプロセッサは、前記生成された１つ以上のテクスチャ表現を、前記生ビデオ信号に対応する画像データとは独立して、前記単一チップの外部に伝達することを可能にする、システム。
【請求項２３】
請求項２１記載のシステムにおいて、前記１つ以上のプロセッサは、前記生成された１つ以上のテクスチャ表現を、前記生ビデオ信号に対応する画像データと並行して、前記単一チップ外部に伝達することを可能にする、システム。
【請求項２４】
請求項１７記載のシステムにおいて、前記１つ以上のプロセッサは、少なくとも１つの視覚効果を用いて、前記生ビデオ信号に対応する画像データの少なくとも一部をフォーマットすることを可能にし、前記少なくとも１つの視覚効果は、前記１つ以上の検出された物体の前記１つ以上の特性のうち１つ以上に対応する、システム。
【国際調査報告】
2011510521.tif 000031
2011510521.tif 000032