(57)【要約】  動的に再設定可能な異種混合のシストリックアレイは、第１の画像フレームを処理し、前記画像フレームからの画像処理基本要素を生成し、前記基本要素及び対応する画像フレームを記憶格納部に格納するように構成される。画像フレームの特徴が決定される。かかる特徴に基づいて、次の画像フレームを処理するために前記アレイが再設定される。【選択図】  図６
2013531853.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像フレームを処理し、前記画像フレームから複数の画像処理基本要素（ｐｒｉｍａｔｉｖｅ）を生成し、前記基本要素及び対応する画像フレームを記憶格納部に格納するように構成された、動的に再設定可能な異種混合のシストリックアレイであって、
前記画像フレームの決定された特徴に基づいて、動的に再設定可能な異種混合のシストリックアレイが次の画像フレームを処理するために再設定可能であること
を特徴とする動的に再設定可能な異種混合のシストリックアレイ。
【請求項２】
少なくとも１つの特徴の決定は、当該シストリックアレイの外部で遂行される、請求項１記載の動的に再設定可能な異種混合のシストリックアレイ。
【請求項３】
少なくとも１つの特徴の決定は、前記画像フレームの少なくとも一部分及び前記画像処理基本要素の少なくとも１つを処理することに基づく、請求項１又は２に記載の動的に再設定可能な異種混合のシストリックアレイ。
【請求項４】
動的に再設定可能な異種混合のシストリックアレイは、さらに、
前記画像フレームの少なくとも１つの小区域の位置を識別し、前記小区域から少なくとも１つの画像処理基本要素を生成し；及び、
前記基本要素を前記画像フレーム及び小区域の位置と共に記憶格納部に格納する
ように再設定可能であり、
前記動的に再設定可能な異種混合のシストリックアレイは、前記画像フレーム又は小区域あるいはこれら両方の１以上の決定された特徴に基づいて、後続の画像フレームを処理するために再設定可能である、請求項１乃至３のいずれか記載の動的に再設定可能な異種混合のシストリックアレイ。
【請求項５】
前記動的に再設定可能な異種混合のシストリックアレイは、
画像フレームのフォーマットされた画像データを受信し、該画像データに基づいたシーン処理基本要素を提供するように再設定可能である、請求項１乃至４のいずれかに記載の動的に再設定可能な異種混合のシストリックアレイ。
【請求項６】
プロセッサーと、
デジタル画像フレームを取得するためのレンズ及び画像センサと、
第１の画像フレームを処理し、前記画像フレームから複数の画像処理基本要素を生成し、前記基本要素及び対応する画像フレームを記憶格納部に格納するように構成された、動的に再設定可能な異種混合のシストリックアレイと、
を含む画像取得及び処理装置であって、
前記装置は、前記画像フレームの少なくとも１つの特徴を決定し、前記少なくとも１つの特徴に基づいて、次の画像フレームを処理するために、前記動的に再設定可能な異種混合のシストリックアレイを再設定すること
を特徴とする装置。
【請求項７】
前記少なくとも１つの特徴の決定は、前記動的に再設定可能な異種混合のシストリックアレイの外部で遂行される、請求項６記載の装置。
【請求項８】
前記少なくとも１つの特徴の決定は、前記画像フレームの少なくとも一部分及び前記画像処理基本要素の少なくとも１つを処理することに基づく、請求項６又は７に記載の装置。
【請求項９】
前記動的に再設定可能な異種混合のシストリックアレイは、
前記画像フレームの少なくとも１つの小区域の位置を識別し、前記小区域から少なくとも１つの画像処理基本要素を生成し；及び、
前記基本要素を前記画像フレーム及び小区域の位置と共に記憶格納部に格納する
ように再設定可能であり、
前記動的に再設定可能な異種混合のシストリックアレイは、前記画像フレーム及び／又は小区域の１以上の決定された特徴に基づいて、後続の画像フレームを処理するために再設定可能である、請求項６乃至８のいずれか記載の装置。
【請求項１０】
画像フレームの未加工の画像データを受信し、対応するフォーマットされた画像データを前記記憶格納部及び前記アレイに分配し、画像処理を行なうように設定された画像処理パイプライン（ＩＰＰ：Image Processing Pipeline）モジュールを含み、
前記アレイは、前記ＩＰＰモジュールから画像フレームのフォーマットされた画像データを受信して、前記記憶格納部にシーン処理基本要素を提供するように設定され、
前記記憶格納部は、前記アレイによって提供された前記シーン処理基本要素を格納するように設定され、
前記ＩＰＰモジュールは、記憶格納部から受信され前記アレイによって提供されたシーン処理基本要素に基づいて次の画像フレームを処理するために設定される、請求項６乃至９のいずれか記載の装置。
【請求項１１】
動的に再設定可能な異種混合のシストリックアレイを使用する画像処理の方法であって、
第１の画像フレームを取得及び処理し、
前記画像フレームから複数の画像処理基本要素を生成し、
前記基本要素及び対応する画像フレームを記憶格納部に格納し、
前記画像フレームの少なくとも１つの特徴を決定し、及び、
前記少なくとも１つの特徴に基づいて、次の画像フレームを処理するために前記アレイを再設定すること
を特徴とする方法。
【請求項１２】
前記少なくとも１つの特徴の決定は、前記シストリックアレイの外部で遂行される、請求項１１記載の方法。
【請求項１３】
前記少なくとも１つの特徴の決定は、前記画像フレームの少なくとも一部分及び前記画像処理基本要素の少なくとも１つを処理することに基づく、請求項１１又は１２記載の方法。
【請求項１４】
さらに、
前記画像フレームの少なくとも１つ
の小区域の位置を識別し、前記小区域から少なくとも１つの画像処理基本要素を生成し、
前記基本要素を前記画像フレーム及び小区域の位置と共に格納し、及び、
前記画像フレーム又は小区域あるいはこれら両方の１以上の決定された特徴に基づいて、後続の画像フレームを処理する、
請求項１１乃至１３のいずれか記載の方法。
【請求項１５】
さらに、
画像フレームの未加工の画像データを受信して対応するフォーマットされた画像データを分配し、
前記画像フレームのフォーマットされた画像データを受信してシーン処理基本要素を提供し、
前記シーン処理基本要素を格納し、及び、
前記シーン処理基本要素に基づいて次の画像フレームを処理すること
を含む請求項１１乃至１４のいずれか記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
優先権
この出願は、２０１０年１２月２日に提出された米国特許出願第１２／９５９，２８１号、及び２０１０年７月７日に提出された米国仮特許出願第６１／３６２，２４７号に対して優先権を主張する。
【０００２】
背景
デジタル画像システム内の画像センサーによって画像が得られた後に、当該画像は、通常、装置での表示または記憶の前に処理される。典型的な画像処理連鎖又は画像処理パイプラインすなわちＩＰＰ（Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｐｉｐｅｌｉｎｅ）は、図１に示される。図１に示すＩＰＰの例は、露光及びホワイトバランスモジュール２、デモザイク部４、色補正部６、ガンマ補正部８、色変換部１０、及びダウンサンプリングモジュール１２を含む。
【０００３】
実時間ビデオ画像システムを実装することが望まれる場合、画像データは、いくつかのオペレーションの後にＩＰＰの各段階でメモリから典型的に読み出されて次にライトバックされるので、しばしば、そのようなＩＰＰによる著しい制約がある。ＨＤビデオに対して、記憶帯域幅は、重大な課題に悩む。したがって、ビデオ取得装置内のハードウェアの具体化においてＩＰＰの要素を直接的に実装することが望まれている。これは、ＩＰＰの要素が処理の各段階の後に画像データをメモリに書き込み、後の個々のＩＰＰオペレーションのためにデータを読み返す課題を回避するという長所を持つであろう。しかしながら、それは、ＩＰＰ連鎖全体が単一の画像フレームからデータを入力するに先立って構成されるものであるため、ＩＰＰの各段階で適用された方法がそれ以上適応可能になりえなかったことを意味する。
【０００４】
現代のデジタルスチルカメラ（ＤＳＣ）は、図１でいくつかの例示ブロックで示されるような基礎的なＩＰＰによって提供されることよりも、もっと精巧な画像及びシーン分析を実行する。特に、画像取得装置は、画像シーン内の顔領域を検知し追跡することができ（全て同一出願人に指定され参照により本書に組込まれる、米国特許第７，６２０，２１８号、第７，４６０，６９５号、第７，４０３，６４３号、第７，４６６，８６６号、及び第７，３１５，６３１号、ならびに米国公開特許出願第２００９／０２６３０２２号、第２０１０／００２６８３３号、第２００８／００１３７９８号、第２００９／００８０７１３号、第２００９／０１９６４６６号、及び２００９／０３０３３４２号、及び米国特許出願第１２／３７４，０４０号及び第１２／５７２，９３０号を参照）、また、これらの装置は、そのような領域内の汚点や不完全部分を分析及び検知して、そのような欠陥を急いで修正することができる（参照により組込まれる上記文献及び米国特許第７，５６５，０３０号及び公開出願第２００９／０１７９９９８号を参照）。粉塵汚点或いは「ピクシー（ｐｉｘｉｅｓ）」のようなグローバルな不完全部分は、検知し修正することができる（例えば、全て同一出願人に指定され参照により本書に組込まれる、米国特許出願第１２／７１０，２７１号及び第１２／５５８，２２７号、及び米国特許第７，２０６，４６１号、第７，７０２，２３６号、第７，２９５，２３３号及び第７，５５１，８００号を参照）。顔の増強が適用されることができる。画像のぼけ及び画像の動き、変換及び回転は、判定され補償されることができる（例えば、全て参照により組込まれる第７，６６０，４７８号及び米国公開特許出願第２００９／０３０３３４３号、第２００７／０２９６８３３号、第２００８／０３０９７６９号、第２００８／０２３１７１３号及び第２００７／０２６９１０８号、ならびに国際公開ＷＯ／２００８／１３１４３８を参照）。顔の領域は、認識されて、既知の人に関連付けられることができる（例えば、全て参照により組込まれる米国特許第７，５６７，０６８号、第７，５１５，７４０号及び第７，７１５，５９７号、及びＵＳ２０１０／００６６８２２号、ＵＳ２００８／０２１９５１７号、ＵＳ２００９／０２３８４１９号、及び米国特許出願第１２／４３７，４６４号を参照）。これらの技術及び他のもの（例えば、同一出願人に指定され参照により本書に組込まれる、米国特許第６，４０７，７７７号、第７，５８７，０８５号、第７，５９９，５７７号、第７，４６９，０７１号、第７，３３６，８２１号、第７，６０６，４１７号及び第２００９／０２７３６８５号、第２００７／０２０１７２５号、第２００８／０２９２１９３号、第２００８／０１７５４８１号、第２００８／０３０９７７０号、第２００９／０１６７８９３号、第２００９／００８０７９６号、第２００９／０１８９９９８号、第２００９／０１８９９９７号、第２００９／０１８５７５３号、第２００９／０２４４２９６号、第２００９／０１９０８０３号、第２００９／０１７９９９９号及び米国特許出願第１２／６３６，６４７号を参照）は全て、画像シーンの分析に依存する。典型的には、これは、このデータの様々な処理段階により、後続する記憶格納部からの画像データのブロックを読み出すことを含んでいる。中間のデータ構造は、各シーン分析アルゴリズムを促進するために、画像格納部内に一時的に格納されることができる。ある場合には、これらのデータが単一のアルゴリズムに特有であり、その一方で他の場合には、いくつかの異なるシーン分析アルゴリズムにわたってデータ構造が持続され得る。これらの場合では、画像データは、様々な画像処理オペレーションを遂行するために、画像格納メモリとＣＰＵとの間で移動される。多数のアルゴリズムが適用される場合、画像データは、各画像で異なる画像及びシーン処理操作を遂行するために、典型的には数回読み込まれる。
【０００５】
殆どの上記技術については、分析は、殆どのデジタルカメラにより捕捉されカメラ表示部で実時間表示を提供するために用いられる、比較的低解像度のストリームである試写画像ストリームを含めることができる。したがって、主画像シーンを適切に分析するために、利用可能な少なくとも２つの実質的に同一シーンの画像を有することは、有用である。１つ以上の試写画像も格納される場合、これらも獲得された（最大解像度）主画像と結合して多数の場合に典型的に読み込まれる。加えて、処理は、様々なシーン分析アルゴリズムを促進するために、試写画像のアップサンプリングされたコピーまたは獲得された主画像のダウンサンプリングされたコピーを一時的に格納することを含み得る。
【０００６】
デジタルカメラ内では、画像は、典型的には個々に得られ、そして実質的な時間的間隔、典型的には１秒以上の状態で、シーン分析のための画像取得と個々の画像の後処理との間で利用可能である。例えば専門的なＤＳＣのバーストモードで多数の画像が時間的にごく近接して得られる場合でさえ、有限個の画像が、制限されたメモリによって獲得され得る。さらに、これらの画像は、バースト取得の間に処理することはできないが、もっと精巧なシーン基盤での処理が実施できる前に完結するまでは、しばしば待機する。
【０００７】
現代のビデオ機器内では、データは大抵は３０ｆｐｓ以上のフレームレートで処理され、また、メモリ制約のため、当該データは、多かれ少なかれデジタル処理で直ちに圧縮され、長期記憶格納部に書き込まれる。さらに、低解像度試写ストリームは、ＤＳＣの場合でのような一般的な利用が可能なものではない。最後に、完全なＨＤビデオストリームを扱う必要条件は、そのような機器内で記憶帯域幅が困難であることを意味する。
【０００８】
ＨＤビデオ取得装置用のＤＳＣ内に現在利用可能であるような現代のシーン分析技術の利点を達成するために、我々は、いくつかの主要課題をこのように識別することができる。第１に、ビデオフレーム取得間で利用可能な時間内で完全なＨＤの複合的シーンを格納し分析を行うことは、困難である。これは単にＣＰＵ能力の問題ではなく、おそらくデータ帯域幅の問題がより重要である。完全なＨＤ画像のサイズは、単にそのような画像らをＩＰＰを介して画像圧縮ユニットと長期格納部に移動させることが非常に困難であることを意味する。ＩＰＰへのハードウェア追加によって幾らかの制限のあるシーン分析が可能となり得るが、これはビデオストリームのリアルタイム取得を開始するに先立って固定される多くの設定及び構成を含むであろうし、それらは動的に適応可能ではなく進行中のシーン分析に対応しないであろう。
【０００９】
第２に、非常に広く共有されるメモリバッファをＩＰＰに導入することなく、シーン分析アルゴリズム間の画像処理データ基本要素（ｐｒｉｍａｔｉｖｅ）を共有する余地はない。これは、図２に示された単一のＩＣ内に、合理的でなく既存技術の状態を効果的に模倣するハードウェア設計の必要性に結びつくであろう。図２は、ＩＰＰ及びソフトウェアにおける他の高水準の機能を実装するための従来のハードウェアを示す。メモリ１４は、長期データ格納部１８のみならず画像及びデータキャッシュ１６を含むことが示される。キャッシュ１６は、未加工データ２０、ＲＧＢフォーマット済みデータ２２及びＲＧＢ処理済みデータ２４を格納することができ、他方、長期データ格納部１８は、ＭＰＥＧ画像２６及び／又はＪＰＥＧ画像２８を保持することができる。センサー３２は、未加工データをメモリ１４及びＩＰＰ３４に伝送する。ＩＰＰ３４は、さらにメモリ１４からデータを受け取る。ＩＰＰ３４は、ＲＧＢデータ２２をメモリ１４及び１６に提供する。ＲＧＢデータ２２，２４はまた、処理されたＲＧｂデータをメモリ１４に及びＲＧＢデータ２２をトランスコードモジュール３８に提供するＣＰＵ３６によって、検索される。トランスコードモジュール３８は、メモリ１４，１８に／から、データの提供／検索を行う。さらに、トランスコードモジュールは、例えば図示されたＬＣＤ／ＴＦＴ表示部４０に表示されるべきデータを提供する。
【００１０】
様々な実践上の理由から、これは最適な画像処理機構を提供しない。代案は、各シーン分析アルゴリズムの各々に対して個別のハードウェア実装を備えることであるが、十分なシーン分析を行なうために各アルゴリズムが最大の画像フレームのバッファーを使用するであろうことから、これは結局のところ、さらに非常に大きなハードウェアサイズとなるであろう。
【００１１】
これらの広い領域の各々内に多くの追加的な工学的な巧みさがあるが、現在の最先端技術を使用して現在のシーン分析技術及び得られる画像増強の利点がリアルタイム動画に賢明に適用されないという、広く見渡された課題を確認することができる。したがって、実施の形態の有利なセットが以下に提供される。
【図面の簡単な説明】
【００１２】
【図１】従来の画像処理パイプライン（ＩＰＰ：Image Processing Pipeline）を示す図である。
【図２】ＩＰＰ及びソフトウェアにおける他の高水準の機能を実装するための従来のハードウェアを示す図である。
【図３】同質のシストリックアレイアーキテクチャーを示す図である。
【図４】特定の実施の形態に従った、通り道（ｐａｓｓ−ｔｈｒｏｕｇｈ）特性を含む画像処理、すなわちＡＨＩＰ用の高度なハードウェアでのＩＰＰハードウェアを示す図である。
【図５】特定の実施の形態に従った、様々な画像処理基本要素についての連鎖を処理するために配列されたいくつかの総括的な処理モジュールを含むＡＨＩＰモジュールを示す図である。
【図６】特定の実施の形態に従った、主ＣＰＵ、ハードウェアモジュール、画像センサー及びＳＤＲＡＭ読み取り／書き込みチャンネルの相互関係を示す図である。
【図７】特定の実施の形態に従った、画像を含む記憶格納部とＡＨＩＰモジュールを備えたデータキャッシュとの相互関係を示す図である。
【図８】特定の実施の形態に従った色閾値化モジュールを示す図である。
【図９】特定の実施の形態に従った、オリジナルの画像及び皮膚色マップを１６（４ビット）の閾値を用いて示す図である。
【図１０】色空間変換、色閾値化、フレーム毎の登録、積分画像及び／又は積分二乗画像基本要素及び／又は画像フレームヒストグラムデータを出力する、特定の実施の形態に従ったＡＨＩＰモジュールを示す図である。
【図１１】特定の実施の形態に従った、ＡＨＩＰモジュールと他の画像処理構成要素との処理関係を示す図である。
【発明を実施するための形態】
【００１３】
（実施の形態の詳細な説明）
実施の形態は、完全な画像フレームを得ることに関することよりも著しく低い遅延を伴って連続的、画素毎に入力される画像フレームからリアルタイムに引き出される一連の画像処理基本要素を生成するハードウェアサブシステムを含み、以下に記述される。これらの基本要素（ｐｒｉｍａｔｉｖｅ）は、画像フレームが得られた後に非常に直ぐに或いはほとんど即時にでも利用可能であり、また、この画像フレームを更に処理するために、次の画像フレームが得られているときに用いることができる。
【００１４】
さらに、シーケンスの前の画像フレームの処理から決定されたデータは、現在の画像フレームから引き出された画像処理基本要素と組み合わせるために利用可能とされることができる。これは、画像の低解像度試写ストリームを別個に捕捉することなく（そのようなものは特定の実施の形態中で任意に利用され得るが）、フレームシーン処理によって詳細なフレームを可能とする。
【００１５】
クロック周期入力当たり１つの画素を使用して作動し、及び／又は、現在の画像／ビデオフレームに関する有用な知識を提供する多くの異なるタイプの画像処理基本要素を生成する実施の形態も記述される。各々の基本要素は、１つ以上の画素処理ブロック或いはモジュールを含む処理連鎖によって生成される。これらは、動的に切り替えられ得る複数の内部データバスによって共にリンクされる。特定のそれほど複雑でない実施の形態において、主要な入力モジュールは、画像センサー／ＩＰＰから共通の入力データパスを共有するかもしれないが、モジュールはデータ経路に直接リンクされ得る。
【００１６】
多数のモジュールは、同じ入力データを共有することができる。さらに、個々の処理ブロックの出力は、論理的に組み合わせられることができる。多数の処理連鎖からの個々の出力は、外部メモリ（ＳＤＲＡＭ）に出力される前に、これがメモリと外部メモリのバスの最適な使用を促進するように、単一のデータワードへ典型的に組み合わせられる。処理連鎖ら間の処理時間の差のために、同期モジュールは、論理的な回路類に統合されて、出力データの正確な整列を保証する。
【００１７】
生成された画像基本要素は、より多くの適用し得る画像処理技術の間で、赤目検出、顔検出及び認識、顔美化、フレーム毎の画像登録、及びパノラマ画像の生成のためのマルチフレーム画像接続を含む一連の画像処理オペレーションの性能を加速するために有利に使用することができる。さらに、これらの基本要素の可用性は、一連のシーン分析及び処理のアルゴリズムの遂行を大いに単純化する。これは、特に、ＣＰＵまたはＧＰＵでの後の処理のために、記憶格納部から完全な画像フレームを読み書きする傾向を、有利に縮小することが可能になる。ほとんどの場合、適切な画像基本要素（ら）及び主画像は、特定のアルゴリズムで画像を分析する及び／又は増強するために、一度だけ読み込まれるのみである。さらに、単一画像読み取りに関するこれらの多数のアルゴリズムを実行するために、主獲得画像の単一の読み取りと共に多数のアルゴリズムから基本要素をロードすることが可能である。これは、ビデオストリームを処理するために利用される記憶帯域幅を大いに縮小する。個々の読み取り／書き込みバスが利用可能なところでは、さらに、主要なＣＰＵ／ＧＰＵで１つの画像フレームを処理することが可能であり、一方で、第２の画像フレームが取得されＩＰＰ及びＡＨＩＰモジュールによって前処理される。
【００１８】
さらに、このシステム構成は、画像フレームの分析から引き出されるデータが、ＣＰＵ／ＧＰＵによって処理されて、ＩＰＰまたはＡＨＩＰモジュールにフィードバックされ、次の画像フレームの前処理に適応されることを可能にする。ＩＰＰにより適用された広域な画像処理及びＡＨＩＰにより適用されたシーンに特有の画像処理の両方のこのきめ細かい適応は、ビデオ取得器具のより速く、より反応の良い性能を実現する。これは、次には、例えば顔領域の分析及び皮膚の関連する色マップに基づいて、照明状態が変化している状況での動画取得のより速い順応を可能とする。そのような技術は、特定の実施の形態に従って、動画取得に有利に直ぐに適用可能である。
【００１９】
この点では、フレームカウンタ及び関連するロジックも、特定の実施の形態の中で利用されることができる。各フレーム処理周期の終わりに、内部の画素処理連鎖を再構成することが可能である。これは、新たなＬＵＴらをロードすること、個々の画素処理ブロックの処理パラメーターを変更すること、或いは幾つかの場合には、処理連鎖における順序またはブロックらの論理的組合せを再構成すること、を含み得る。特定の実施の形態では、モジュールは、選択され或いは回避される。より洗練された実施の形態では、データ処理モジュールは、１台以上の内部データバス上のＩ／Ｏポートを共有する。特定の実施の形態では、モジュールへの／からのほぼ同時の読み取り／書き込み動作を可能にするために、二重バッファ型のＩ／Ｏが採用され得る。
【００２０】
特定の実施の形態に従って、第１の画像フレームを処理するために、また、画像フレームから画像処理基本要素を生成し、さらに、かかる基本要素及び対応する画像フレームを記憶格納部に格納するために、動的に再設定可能な異種混合のシストリックアレイが構成される。画像フレームの決定された特徴に基づいて、動的に再設定可能な異種混合のシストリックアレイは、次の画像フレームを処理するために再設定可能である。
【００２１】
画像フレームの特徴の決定は、シストリックアレイの外部で遂行され得る。少なくとも１つの特徴の決定は、画像フレームの少なくとも一部分及び画像処理基本要素の少なくとも１つを処理することに基づくことができる。
【００２２】
特定の実施の形態に従った画像取得及び処理装置は、プロセッサーと、デジタル画像フレームを取得するためのレンズ及び画像センサーと、本明細書の任意の実施形態に従って記述されるように構成された、動的に再設定可能な異種混合のシストリックアレイのうちのいずれかを含む。
【００２３】
特定の実施の形態に従った動的に再設定可能な異種混合のシストリックアレイを使用する画像処理の方法は、第１の画像フレームを取得し処理することを含む。かかる画像フレームから画像処理基本要素が生成される。かかる基本要素及び対応する画像フレームは、記憶格納部に格納される。画像フレームの少なくとも１つの特徴が決定され、かかる少なくとも１つの特徴に基づいて、本方法は、次の画像フレームを処理するために配列を再構成することを含む。
【００２４】
少なくとも１つの特徴の決定は、シストリックアレイの外部で遂行され得る。少なくとも１つの特徴の決定は、画像フレームの少なくとも１部分及び画像処理基本要素の少なくとも１つを処理することに基づくことができる。
【００２５】
特定の実施の形態に従って、さらなるデジタル画像取得及び処理装置が提供される。かかる装置は、デジタル画像を取得するためのレンズ及び画像センサーを含む。本装置の画像処理パイプライン（ＩＰＰ）モジュールは、画像フレームの未加工画像データを受け取り、対応するフォーマットされた画像データを、メモリと、画像処理を遂行するように構成されたハードウェアモジュールと、に分配するように構成される。ハードウェアモジュールは、ＩＰＰモジュールから画像フレームのフォーマットされた画像データを受け取り、シーン処理基本要素をメモリに提供する。処理装置は、メモリから受け取られ、ハードウェアモジュールによって提供されるシーン処理基本要素に基づいて次の画像フレームを処理するように設定される。
【００２６】
シーン処理基本要素は、処理された画像マップ、または、他の処理されたハードウェアモジュールデータ或いはこの両方を含めることができる。ハードウェアモジュールもまた、フォーマットされた画像データをメモリに提供するように設定されることができる。処理された画像マップは、閾値マップ又は積分画像マップ、或いはこの両方を含めることができる。シーン処理基本要素は、局所的な基本要素またはフレームデータ基本要素、或いはこの両方を含めることができる。かかる処理装置は、さらに、フォーマットされた画像データをメモリから受け取ることができる。
【００２７】
本装置は、処理された画像データを処理装置から受け取り、圧縮された画像または動画またはこれら両方をメモリに提供またはメモリから受け取るように設定されたトランスコードモジュールを含めることができる。かかるトランスコードモジュールは、表示部に、画像データまたは動画データ或いはこれら両方の選択されたサブセットを出力するように設定されることができる。
【００２８】
ハードウェアモジュールは、単一のクロック周期内で画像データを処理するように設定されることができる。処理装置は、さらに、ハードウェアモジュールまたはＩＰＰモジュール或いはこれら両方をプログラミングするように設定されることができる。
【００２９】
特定の実施の形態に従ったデジタル画像の取得及び処理の他の方法は、デジタル画像を取得すること、及び画像フレームの未加工画像データを受け取ること、及び対応するフォーマットされた画像データをメモリ及びハードウェア基盤の画像処理モジュールに分配すること、を含む。かかる方法は、さらに、画像フレームのフォーマットされた画像データをハードウェア基盤の画像処理モジュールで受け取り、シーン処理基本要素をメモリに提供すること、及び、ハードウェア基盤の画像処理モジュールから提供されたシーン処理基本要素をメモリに格納すること、を含む。後続の画像フレームは、メモリから受け取られ、ハードウェア基盤の画像処理モジュールによって提供されたシーン処理基本要素に基づいて処理される。
【００３０】
シーン処理基本要素は、処理された画像マップまたは他の処理されたハードウェアモジュールデータ、或いはこの両方を含めることができる。フォーマットされた画像データは、ハードウェア基盤の画像処理モジュールからメモリに供給されることができる。閾値マップまたは積分画像マップ或いはこれら両方を含む画像マップは、処理されることができる。シーン処理基本要素は、局所的な基本要素またはフレームデータ基本要素、或いはこの両方を含めることができる。フォーマットされた画像データは、メモリから受け取られることができる。処理された画像データはトランスコードモジュールに送られることができ、また、圧縮された画像または動画のデータは、トランスコードモジュールに送信またはトランスコードモジュールから受信されることができ、或いはこれらが組み合わせられることができる。画像データまたは動画データ或いはこれら両方の選択されたサブセットは、表示部に出力されることができる。画像データは、ハードウェア基盤の画像処理モジュールで単一のクロック周期内に処理されることができる。ハードウェア基盤の画像処理モジュールは、プログラミング可能及び／又は再設定可能なものとすることができる。
【００３１】
未加工画像データを取得して対応するフォーマットされた画像データをハードウェア基盤の画像処理モジュールに分配する画像取得及び処理装置内で動作するためのハードウェア基盤の画像処理モジュールがさらに提供され、かかるハードウェア基盤の画像処理モジュールは、メモリから受け取られハードウェア基盤の画像処理モジュールにより提供されたシーン処理基本要素に基づいて、後続の画像フレームを処理するために、メモリ内に格納されるべきフォーマットされた画像データに基づいてシーン処理基本要素を生成してメモリに提供するように設定される。
【００３２】
シーン処理基本要素は、処理された画像マップ、または、他の処理されたハードウェアモジュールデータ、或いはこの両方を含めることができる。モジュールは、フォーマットされた画像データをメモリに提供すること、及び／又は、閾値マップまたは積分画像マップ或いはこの両方を含む画像マップを処理するように設定されることができる。シーン処理基本要素は、局所的な基本要素またはフレームデータ基本要素、或いはこの両方を含めることができる。モジュールは、フォーマットされた画像データをメモリから受け取って処理すること、及び／又は、処理された画像データをトランスコードモジュールに送信し、かつトランスコードモジュールとの間で、圧縮された画像または動画データを送受信し、或いはこれらを組み合わせるように設定されることができる。モジュールは、さらに、画像データまたは動画データ或いはこれら両方の選択されたサブセットを表示部に出力し、及び／又は、画像データをハードウェア基盤の画像処理モジュールで単一のクロック周期内に処理するように設定されることができる。かかるモジュールは、プログラミング可能及び／又は再設定可能なものとすることができる。
【００３３】
特定の実施の形態に従って、第１の画像フレームを処理するために、動的に再設定可能な異種混合のシストリックアレイが構成される；前記画像フレームの少なくとも１つの小区域の位置を識別し、前記小区域から少なくとも１つの画像処理基本要素を生成し；及び、前記基本要素を画像フレーム及び小区域の位置と共に記憶格納部に格納する。かかる動的に再設定可能な異種混合のシストリックアレイは、画像フレーム又は小区域あるいはこれら両方の１以上の決定された特徴に基づいて、後続の画像フレームを処理するために再設定可能とされる。
【００３４】
少なくとも１つの特徴の決定は、シストリックアレイの外部で遂行されることができる。少なくとも１つの特徴の決定は、画像フレームの少なくとも一部分及び画像処理基本要素の少なくとも１つの処理に基づくことができる。
【００３５】
特定の実施の形態に従った画像取得及び処理装置は、プロセッサーと、デジタル画像フレームを取得するためのレンズ及び画像センサと、本書で記述された任意の実施形態に従って構成される動的に再設定可能な異種混合のシストリックアレイと、を含む。
【００３６】
動的に再設定可能な異種混合のシストリックアレイを用いる画像処理の方法も提供され、第１の画像フレームを取得及び処理すること；前記画像フレームから複数の画像処理基本要素を生成すること；前記画像フレームの少なくとも１つの小区域の位置を識別して、前記小区域から少なくとも１つの画像処理基本要素を生成すること；前記基本要素を前記画像フレーム及び小区域の位置と共に記憶格納部に格納し、前記画像フレームまたは小区域の少なくとも１つ或いは両方の特徴を決定すること；前記特徴に基づいて、次の画像フレームを処理するために前記アレイを再設定すること、を含む。
【００３７】
少なくとも１つの特徴の決定は、動的に再設定可能な異種混合のシストリックアレイの外部の一部分において行なわれることができる。少なくとも１つの特徴の決定は、画像フレームの少なくとも１つの部分及び前記画像処理基本要素の少なくとも１つを処理することに基づくことができる。
【００３８】
シストリックアレイ
シストリックアレイのパラダイム、つまり、データカウンタによるデータストリーム駆動は、フォンノイマンのパラダイムに相当するものであって、すなわち、プログラムカウンタによる命令ストリーム駆動である。シストリックアレイは、通常、多数のデータストリームを送出及び受け取り、そして、これらのデータストリームを生成するために多数のデータカウンタが使用されるので、データ並列処理をサポートする。その名前は、心臓による血液の規則的なポンプ機能によるアナロジーに由来する。
【００３９】
シストリックアレイは、セルと呼ばれるデータ処理ユニットのマトリックス状の列からできている。動作が移送すなわちデータオブジェクトの到着によって引き起こされるので、データ処理ユニットら（すなわちＤＰＵｓ）は、プログラムカウンタの不足以外は、中央処理装置ら（ＣＰＵｓ）に類似している。各セルは、処理直後にその隣のセルと情報を共有する。シストリックアレイは、多くの場合矩形であり、そうでなければ、そのセルは、隣接したＤＰＵの間でデータフローが当該アレイを横切り、しばしば異なったデータフローが異なった方向で流れるように行及び／又は列で配列される。図３は、そのような均質のシストリックアレイアーキテクチャーの例を示す。当該アレイのポートから入力され出力されるデータストリームは、自動シークエンシング記憶装置らすなわちＡＳＭｓ（Ａｕｔｏ−Ｓｅｑｕｅｎｃｉｎｇ  Ｍｅｍｏｒｙ  ｕｎｉｔｓ）によって生成される。各ＡＳＭは、データカウンタを含む。埋め込み型のシステムでは、データストリームも外部源に対して入力及び／又は出力されることができる。
【００４０】
シストリックアレイは、少数の最も近い近隣ＤＰＵにメッシュ状のトポロジーで接続されるＤＰＵのアレイを含めることができる。ＤＰＵは、それらの間を流れるデータに関する動作のシーケンスを遂行する。従来のシストリックアレイ同期方法は、代数のアルゴリズムによって実行されたので、線形の管（ｐｉｐｅ）だけを備えた一定の配列だけを得ることができ、その結果、アーキテクチャーは全てのＤＰＵにおいて同じである。その結果、古典的なシストリックアレイ上では、規則的なデータ依存性を備えたアプリケーションだけが通常実行されるということである。
【００４１】
ＳＩＭＤ（Single Instruction/Multiple Data：単一命令／複数データ）マシンのように、クロック化されたシストリックアレイは、代替の計算／通信段階を引き受ける各プロセッサーと共に、「ロックステップ」で計算する。
【００４２】
しかしながら、ＤＰＵら間の非同期応答確認を備えたシストリックアレイは、しばしばウェーブフロントアレイと呼ばれる。１つの有名なシストリックアレイは、インテルによって製造されたカーネギーメロン大学のｉＷａｒｐプロセッサーである。ｉＷａｒｐシステムは、両方向に行くデータバスで接続される線形のアレープロセッサを有する。
【００４３】
ＡＨＩＰ（画像処理のための進化したハードウェア）
図４は、ＡＨＩＰ（Advanced Hardware for Image Processing：画像処理のための進化したハードウェア）を備えたＩＰＰハードウェアを含む実施の形態を概略的に示す。図４で示されたＡＨＩＰは、通り道（pass-through）の性質を有している。図４は、画像及びデータキャッシュ４６及び長期データ格納部４８を含む記憶格納部４４を示す。かかるキャッシュ４６は未加工データ５０、ＲＧＢデータ５２及び処理されたＲＧＢデータ５４を含み、上記長期データ格納部は、ＭＰＥＧ画像５６及び／又はＪＰＥＧ画像５８を含めることができる。図４で示された実施の形態は、さらに、例えば局所の基本要素６２、フレームデータ基本要素６４、閾値マップ６６及び／又は積分画像マップ６８を含むシーン処理基本要素６０を有利に含める。
【００４４】
図４はさらに、メモリ４４及びＩＰＰ７４に未加工データを伝送するセンサー７２を示す。ＩＰＰ７４は、メモリ４４からも未加工データを受け取る。ＩＰＰ７４は、メモリ４４，４６にＲＧＢデータ５２を供給する。ＲＧＢデータは、ＩＰＰ７４によって、有利なＡＨＩＰモジュール７５に供給される。ＡＨＩＰモジュール７５は、処理された画像マップ、ＡＨＩＰモジュールデータ、及びＲＧＢデータをメモリ４４，４６に供給する。メモリ４４，４６は、ＲＧＢデータ、画像マップ、及びＡＨＩＰモジュールデータをＣＰＵ／ＧＰＵ７６に供給する。ＣＰＵ７６は、処理されたＲＧＢデータ５４をメモリ４４及びトランスコードモジュール７８に供給する。ＣＰＵ７６は、さらに、図４で概略的に示したように、ＩＰＰモジュール７４及び／又はＡＨＩＰモジュール７５をプログラミングすることができる。トランスコードモジュール７８は、メモリ４４，４８にデータを提供し、また、メモリ４４，４８からデータを検索する。トランスコードモジュール７８は、さらに、例えばＬＣＤ／ＴＦＴ表示部８０に、表示に関するデータを提供する。
【００４５】
有利に、特定の実施の形態では、１つの標準画像画素がクロック周期毎に得られ、また、この画素は、様々な方法の内の１つ又は２つ以上で処理される。いくつかの異なるタイプの出力は、各々の個々の画素の処理から並行的に生成されることができる。ハードウェア要素を重複させることで、各出力タイプの１つを越えるインスタンスを提供することができる。このハードウェアサブシステムは、全てのクロック周期で画素を処理することができるので、上記センサーからの画像画素の転送を遅らせることがなく、このために、ＩＰＰのどのような段階にも挿入されることができる。
【００４６】
多くの一般的なタイプの画像処理基本要素は、識別されることができ、また、ＡＨＩＰモジュールによって生成される。以下の議論を明確にするために、画像データは「画素」（画像素子）と称されることがあり、また、出力基本要素におけるデータ値は「マップ画素」と称されることがある。典型的には、マップ画素は、画素（２４或いは３２ビット）よりも著しく小さくなる。例として、皮膚マップに使用されるマップ画素の１つの形式は、皮膚画素であるオリジナルの画素の４つの可能性に対応する２つのビットだけを持っている。他のマップ画素は、それが予め定められた色空間中の特定の色にどれくらい類似しているかを記述する１６の閾値に対応する４ビットを持っている。類似性のこれら１６レベルに対応する色空間閾値は、マップ画素を構成する最終出力データ基本要素マップとともにＬＵＴに格納される。
【００４７】
第１のそのような基本要素は、マップ画素マッピングに対する直接の画素を含む。特定の実施の形態では、これは、特定の画素が色空間中の予め定められた値にどれくらい接近しているか決定する、色又は輝度の閾値化を含めることができる。特定の実施の形態では、このデータは、一連の１５の閾値として捕らえられ、４ビットの画像マップに書き込まれることができる。これらの閾値は、ＣＰＵ／ＧＰＵによって画像フレーム毎に調節されることができる。
【００４８】
典型的な実施の形態では、各閾値のデータ値は、画像画素が皮膚色にどのくらい近いかを測定するために設定される。そのような画像マップは、顔の部位の異なる皮膚領域らを区別するために有利に使用することができ、顔追跡及び顔の美化のようなアプリケーションに役立つことができる。
【００４９】
画像基本要素のこの形式は、クロック周期の点から、単に小さな一定の遅延を招く。出力画像マップは、典型的には、画像の最後の画素がＡＨＩＰに入力された後のクロック周期の数十個以内に利用可能である。
【００５０】
画素からマップ画素への処理に関する１つの変形は、多数の画素が処理されたときに、単一の出力画素を生成することである。これは、未加工（ＲＡＷ）入力画像のサブサンプリングに相当する。いくつかの実施の形態では、画素のブロックは、対応する出力基本要素データを生成するために、処理される前に、ハードウェアラインバッファーに一時的に格納される。代替の実施の形態では、画素は個別に処理され続けるが、各々の個別の画素の処理からの出力は、単一のマップ画素を生成するために、予め定められた幾つかの方法で組み合わせられる。
【００５１】
基本要素の第２の形式は、基本要素で派生したカーネルである。そのような基本要素についてのマップ画素は、現在の画像画素についての知識、及び当該画像の少なくとも１つ前の画素から引き出される。多くの技術はＮｘＮカーネルを指定し、それは、現在の画素に対応する出力値が、画像内の水平及び垂直方向の両方におけるＮ個の隣接した画素から決定されることを意味する。特定の実施の形態では、画素データが典型的には単にＡＨＩＰモジュールに連続して利用可能であるので、それらの実施の形態では、ＩＰＰを通じて画像センサーから一列づつ（及び／又は一行づつ）直接計測されるであろう。画像データの十分な列は、カーネル派生基本要素をサポートするために、これらの実施形態で典型的にバッファーされるであろう。
【００５２】
特定の実施の形態では、画像データの７つ（７）の列がそれらの全体に格納され、また、８番目の画像列が移動される。これによってモジュールは、８ｘ８までのカーネルから引き出された画像処理基本要素を生成することができる。この実施の形態では、現在の画像フレームに対して最大（ｆｕｌｌ）カーネル基本要素画像マップが利用可能になる前に、画像の列サイズの８倍の（１０８０ｐに対する８×１９２０）状態の遅延が存在する。しかしながら、これは依然として完全な画像フレーム（１０００の画素列）を取得するために費やされた総時間の１％未満であり、その結果、画像フレーム基本要素データは、最終フレーム取得が完了する直後に直ちに利用可能になる。
【００５３】
画像処理基本要素から引き出されるカーネルの１つ特定の例は、赤目区分化である。例えば、参照により組込まれる米国特許第６，８７３，７４３号では、画像上で２ｘ２区分化を行なうための技術が記述される。これはＬＡＢ色空間上で作動する。基本要素から引き出されるカーネルの他の例は、画像の輝度構成要素に関して遂行される積分画像の計算である。まもなく説明されるように、ＡＨＩＰは、特定の実施の形態に、幾つかの一般的に使用される色空間ら間で入力画素データの素早い変換を可能とする色空間変換モジュールを組み入れる。したがって、個々のＲＧＢ画素データは、ＡＨＩＰの内の無視できる遅延でＹＣＣまたはLab色空間に変換することができる。
【００５４】
基本要素の３番目の形式は、フレーム由来の基本要素を含む。これらは、単一の画素或いは画素のブロックが対応する単一のマップ画素出力を生成しないデータ基本要素の例である。画像処理基本要素のこの形式の１つの例は、沢山の２値（ｂｉｎ）で予め形成されるヒストグラムモジュールである。入力画素データは、１セットの閾値について分析され、その値に基づいたヒストグラム２値に分類される。画像フレームの終わりに、各々のヒストグラム２値は、その上限及び下限の閾値範囲を満たす画素数の総数を含む。
【００５５】
基本要素の１の種類について挙げられた例と結合される場合、１セットの１６の皮膚色ヒストグラム２値内にある特定の画像フレーム中に、どれだけ多くの画素があるかを測定することが可能である。これは、次には、例えば追跡された顔領域内に検知された皮膚画素が余りに多い、または余りに少ない場合に、次の画像フレームのために皮膚色閾値を調節する必要があることを示唆し得る。ＡＨＩＰ内のハードウェアアーキテクチャーは、画像フレームを処理するに先立って、処理ブロックによって動的に再構成することができるように設計されている。特定の実施の形態に従って、追加の並行処理ブロックは、そのようなハードウェアアーキテクチャーに加えられることができる。
【００５６】
他の実施の形態では、ＡＨＩＰによって、色相関曲線またはヒストグラム状のデータの他の形式が決定されることができる。そのような基本要素は、カーネルデータを生成するために使用されるバッファー列の同じセットから有利に決定されることができ、その違いは、ヒストグラムまたは相関曲線のデータが、カーネル由来の基本要素によって提供された入力から出力への１対１写像というよりむしろ、多数の画素から決定されたフレーム由来の基本要素を提供するということである。
【００５７】
フレーム由来の基本要素の他の形式は、画素列及び画素行の値の合算を遂行するものを含む。これは、現在の画像フレームと１つ以上の前の画像フレームとの相関性を可能にする。そのような基本要素は、現在のフレームから決定された１つ以上の基本要素が１つ以上の後続の画像フレームのために記憶され得るという、ＡＨＩＰの別の側面を導入する。そのような基本要素は、最大画像フレームまたはリアルタイム処理の利点が完全には実現されないものよりも、著しく小さいものとすることができる。特定の実施の形態では、そのような基本要素らに対する特有のサイズ制限は、処理された画像の最大の列サイズと比較してそれらが少しも大きくないということである。
【００５８】
特定の実施の形態では、そのようなデータは、外部の記憶格納部に書き込まれることなくＡＨＩＰモジュール内に保持されることができる。したがって、画像フレーム由来のデータ及び／又は画素由来のデータは、画像フレーム基本要素のより速い処理を促進するために、ＡＨＩＰ内に蓄積されることができる。
【００５９】
基本要素の４番目の形式は、主画像フレームの特定の空間の領域に由来する。これらの基本要素は、本来的により複雑であり得るし、いくらかの基礎的な基本要素とともに、領域のより複雑なハードウェア処理を、１つ以上の先行する画像フレームに関しＣＰＵ／ＧＰＵに由来する外部データと組み合わせることができる。
【００６０】
ハードウェアは、デジタル画像中の顔領域の位置を予測することを含む処理に使用されることができる（例えば、参照により組み込まれる米国特許第７，３１５，６３１号及びその子孫の出願、及び第７，４６６，８６６号を参照）。特定の実施の形態では、知識は、現在の画像フレーム内検知されるべき顔を予期することができる場所に関して、１つ以上の前のフレームに集められる。このアプローチは、現在のフレーム中の顔検出を行なうことよりも速いという長所を有し、また、集められた情報は、現在の画像フレームの前であっても様々な目的に使用されることができる。
【００６１】
具体的には、これがＧＰＵ／ＣＰＵ上のソフトウェア中で遂行される追加的な画像処理に依存するので、画像フレームの速い処理中にそのような領域の非常に正確な位置を決定することは、通常は困難である。結果として、通常、ＡＨＩＰによる画像フレームの第１のハードウェア処理中に、空間の領域の場所が単に近似的に決定される。しかしながら、これらの近似の位置は、有利にマークされることができ、典型的には主画像よりも著しく小さい。１つの実施の形態では、幾つかのそのような予測された領域は、次のフレーム周期に関する更なる処理のために、ＡＨＩＰのバッファー内に格納されることができる。代替の実施の形態では、これらは主画像と一緒にメモリに書き込まれるが、特にそのような領域を処理するために設定された第２のＡＨＩＰモジュールによって後にロードされる。この第２の実施の形態では、メモリの下位システムが２重ポートであるという事実を利用する。したがって、次の画像フレームが主要なＡＨＩＰによって処理されてメモリに書き込まれる場合、前の画像フレームからの１つ以上の予測された領域は、より特殊化された処理のために第２のＡＨＩＰモジュールにリードバックされることができる。この実施の形態では、特定の画像領域は、典型的には、次の画像フレームが一般的に処理されている間にのみ、処理されるであろう。それにもかかわらず、単一フレーム遅延は、容易に補償されることが可能であって、ビデオシーケンスのリアルタイム処理に近づけることを達成する目的を危うくすることはない。
【００６２】
非常に一般的な空間の１つの領域は、予測された顔領域である。これは、顔領域が位置するであろうとの高い可能性のある、現在の画像フレームの領域である。そのような領域は、顔追跡アルゴリズム中で頻繁に使用される（参照により上に組込まれる、米国特許第７，３１５，６３１号及びその子孫の特許を再び参照）。そのような領域の一般的な使用は、顔が生じる可能性の高い画像領域に対して、赤目検出のような画像処理アルゴリズムのアプリケーションを制限することである。
【００６３】
図５は、ＡＨＩＰモジュールを、様々な画像処理基本要素のための処理連鎖に配置された幾つかの総括的な処理モジュールで概略的に示している。図５では、画像センサー８２、ＳＤＲＡＭメモリ８４、ＡＨＩＰモジュール８５それ自体、及びＣＰＵ８６が示される。ＡＨＩＰモジュールは、ＣＰＵ８６と通信するＡＨＩＰ設定管理部９０を含む。さらに、ＡＨＩＰモジュール８５は、参照テーブル（ＬＵＴ）モジュール９２、データ構成モジュール９４、論理モジュール９６及び同期モジュール９８を含む。前に図４で示されたように、特定のＲＧＢデータ１０２は、メモリ８４に早急に格納される。しかしながら、特定の他のＲＧＢデータ１０３は、ＡＨＩＰモジュール８５によって、１つ以上の画素処理モジュール１０６、１つ以上のフレーム処理モジュール１０７、１つ以上の領域処理モジュール１０８、及び１つ以上のカーネル処理モジュール１１０で処理される。特定のＲＧＢデータ１０３はフレーム処理モジュールで処理されることができ、また、そのフレームデータ１１２は、メモリ８４に格納される。特定のＲＧｂデータ１０３は、１つ以上の画素処理モジュール１０６で処理されることができ、続いて、一方の画素データ１１４は、メモリ８４に格納され、或いは当該データはさらにカーネル処理モジュール１１０及び／又はフレーム処理モジュール１０７及び／又は領域処理モジュール１０８で処理される。（Ｎ−ｌにより示された）前のフレームのような隣接したフレームのＲＧＢデータ１１６は、ＲＧＢデータ１０３と共に領域処理モジュール１０８で処理されることができる。その後、領域処理モジュール１０８で処理されたデータは、領域データ１１８としてメモリ８４に格納されることができる。
【００６４】
前の画像の部分にアルゴリズムを適用することは多くの場合望ましいものであり、例えば、顔領域の正確な位置の十分な確認をさらにすることが可能である。予測された顔領域は、前の画像フレームから決定されることができ、多くの先行するフレームに関する顔及びカメラ動作の履歴を利用することができる。この点では、フレーム毎のｄＸ及びｄＹの置換は、ＡＨＩＰモジュールによって決定されることができ、フレームの最後の画素が処理された後、短い遅延の内に利用可能とされることができる。同様に、顔領域の位置及びサイズは、顔追跡器アルゴリズムの１つ以上のフレームの最後の番号で正確に知られることができ、これらのデータの両方は、新しい画像フレームの処理がＡＨＩＲによって開始された後、非常にすぐに利用可能になり得る。これらのデータは、現在の画像フレームに対する予測された顔領域の正確で動的な評価を有利に可能にする（全て同じ譲受人に承継され、参照により本書に組込まれる米国特許公開出願第２００９／０３０３３４２号及び２００９／０２６３０２２号、及び米国特許第７，４６０，６９５号、第７，４０３，６４３号及び第７，３１５，６３１号、同様に、米国特許公開出願第２００９／００１２３０６３号、第２００９／０１９０８０３号、第２００９／０１８９９９８号、第２００９０１７９９９９号及び米国特許出願第１２／５７２，９３０号、第１２／８２４，２１４号及び第１２／８１５，３９６号を参照）。
【００６５】
目領域及び／又は口領域及び／又は横顔（ｈａｌｆ  ｆａｃｅ）領域のような顔領域または顔特徴領域（本出願と同じ譲受人に指定され、参照により本書に組込まれる米国特許出願第１２／７９０，５９４号及び第１２／８２５，２８０号を参照）は、ローカルメモリバッファーに最初に保存されることができる。典型的に、メモリがハードウェア主要部において高価なように、限られた数の「顔バッファー」とされ得るものであり、また、それらはサイズを最小限にするために最適化されることができる。実際、いくつかの実施の形態では、そのようなバッファーはＡＨＩＰの外部とされ得るものであり、主外部記憶格納部にこれらの領域を書き込むための帯域幅を含むことができる。他の実施の形態では、主画像内のそれらの位置は、それらが後に主記憶格納部から主画像フレームデータ内にアクセスされ得るように、記録されることができる。１つの実施の形態では、そのような領域は、ＡＨＩＰモジュール内で内部的に格納されるであろう。しかしながら、ＡＨＩＰバッファーのサイズが最大のＨＤビデオに対して大きすぎる或いはそうでない場合には、代替の実施の形態において、これらの顔領域は、次の主画像フレームが処理されて主メモリに書き込まれる間に、主メモリに主画像で格納され、第２のＡＨＩＰモジュールへ再びロードされる。
【００６６】
これらの実施の形態において、多くの顔検出及び認識技術が固定サイズ顔画像に適用可能であり、これらのメモリバッファは、そのような固定サイズ顔領域を幾らかの付加的な容量を持って収容するために十分に大きくされることができる。当該付加的な容量は、多くの要因を補うために使用されることができる：  （ｉ）  画像領域は予測されるものであることから、顔の非常に正確な位置は、画像の初期のＡＨＩＰ処理の時には知られていない；  （ｉｉ）  顔領域は正確に直立していない場合があり、適切に直立した顔領域を得るために、回転された面内とされる必要があり得る；  この情報は、後で、顔領域の正確な位置が決定され、この顔領域内の目領域の位置が決定された後、役に立つようになるかもしれない；そのような時に、面内補正角度及びサイズ変更情報はＡＨＩＰに供給されることができるが、そのような時まで、顔領域は、対角線上に配向させられた顔領域を収容するために、付加的な記憶空間を使用する面内角度にあることができる；  （ｉｉｉ）顔領域は、フレームからフレームにグローバルなサイズで変化することができる；いくつかの傾向は、過去の画像フレームの履歴から知られ得るが、さらに、これらの傾向から変化があった可能性もある。したがって、顔の正確なサイズは、主画像フレーム処理が完結した後、ＣＰＵ／ＧＰＵによって領域データが処理されるまで、知られている又は知られていないことがあり得る。代替の実施の形態では、次の未加工（ＲＡＷ）画像フレームが処理され書き込まれている間に顔領域がロードされ処理される場合、主画像及びそれに関連する基本要素の幾つかの付加的な処理は、ＣＰＵ／ＧＰＵから利用可能になり得る。そのような場合、顔領域の位置のより正確な推定が利用可能となり得る。
【００６７】
他の典型的な実施の形態では、最大サイズ３２ｘ３２の最終の固定サイズ顔領域が含まれるとみなされる。メモリバッファは、６４ｘ６４の顔領域について１．９９倍までのサイズ変更及び４５度以内の回転という位置的、分数的に調整するために使用されてもよい。現在のフレームがＡＨＩＰによって第１に処理され、顔が存在する可能性のあるその画像フレームの予測された領域を我々が単に知っている場合であろうとも、これは、正確に位置した顔領域に対するバッファーサイズを定義する。従って、より大きな領域を格納することは有用であり得るものであり、例えば、９６ｘ９６または１２８ｘ１２８ピクセルのバッファーが予測される顔領域用のバッファーとして、当該予測される顔領域のサイズよりも５０％或いは１００％大きなものを備えるように使用されることができる。
【００６８】
予測された顔領域の位置及びサイズに関するデータが、前の画像フレームのソフトウェア処理からＡＨＩＰに渡される場合、これらの予測された顔領域は、９６ｘ９６または１２８ｘ１２８のそれぞれのＡＨＩＰバッファーに整数で縮小化される。典型的に、顔領域の処理については、単に輝度値を保持すればよく、したがって、これらのバッファーは１価であり、また、フルカラーデータは通常は保持されない。しかしながら、幾つかの実施の形態では、顔領域の輝度画像とともに皮膚マップの形式が生成され、格納されることができる。典型的に、顔追跡目的のための皮膚マップは、単に皮膚画素の３又は４つの状態でのみ表わす２ビットのみとすることができる。
【００６９】
そのような基本要素の一例は、追跡された顔領域に対する顔分類器のアプリケーションである。典型的には、顔領域は正確な水平にはならないので、予測された顔領域に由来したデータは、顔分類器を適用するに先立って、第１に水平な配向に回転させられ得る。そのような操作は、画像データのためのより大きなバッファーを要求するので、領域用バッファーの数及び各々のサイズは、多少制限され得る。この例における基本要素の出力は、（ｉ）この領域が確認された顔をさらに含むこと；  及び／又は、（ｉｉ）  特徴ベクトルのセットは、整合し得ることを示すために１セットの既知の顔と整合させられることができること、を確認するために使用されることができる特徴ベクトルセットに対応する１セットのデータ値である。
【００７０】
図６は、主ＣＰＵ、ＡＨＩＰハードウェアモジュール、画像センサー及びＳＤＲＡＭメモリ１２６の読み取り／書き込みチャンネル１２５の相互関係を示す。ＡＨＩＰ／ＣＰＵインターフェース１２８は、特定のレジスター及び／又は割り込みを提供する。ＹＵＶデータのためのＢ２Ｙインターフェース１３０は、図６に示され、センサー１２４及びＡＨＩＰ部１２２間にある。
【００７１】
幾つかの原理タイプの画像フレーム処理は、ＡＨＩＰ内で実施される。それらの或るものは、以下に説明される。
【００７２】
フレーム毎のＡＨＩＰ処理
図７は、現在のフレームＮと結合されたフレームＮ−１からのデータの使用を示す。記憶格納部（画像データ及びキャッシュ）１４０は、図７に示された例での２つのフレームに従って分けられる。特徴のうちの幾つかは、図４を参照して説明されており、ここでは再度説明しない。例としての顔トラッキングに関して、予測領域１４２は、フレームＮ−１及びフレームＮの両方についてメモリ１４０に格納される。メモリ１４０のフレームＮ−１部分内では、洗練された（Ｒｅｆｉｎｄ）領域及び局所的な初期のデータ１４３が格納される。これらは、フレームＮに対するＲＧＢ画像フレームデータ及びフレーム基本要素１４５を生成するために使用される。フレームＮ−１の局所的なデータ１４４は、フレームＮのＲＧＢデータ１４９と共にＡＨＩＰ部１４８に入力される。ＡＨＩＰ部のサブサンプリング及び／又は色空間は、ブロック１５０でフレームＮ−１の幾つかを再配置し、次に、フレームＮ−１の局所的なデータ１４４の全てを、フレームＮ部分でメモリ１４０に出力されるように、画素処理部１５４を通じて移動させる。フレームＮのＲＧＢデータ１４９は、サブサンプリング１５６及び／又は色空間再配置１５８とされることができ、或いはブロック１６０で処理された画素に先立つものでもない。画素処理１６０は、累積的、直接的、カーネル、領域及び／又は混合の画素処理を含めることができる。その後、データは、メモリ１４０のフレームＮ部分で格納される。
【００７３】
特定の実施の形態に従ったＡＨＩＰモジュールの様々な下位の要素の幾つかの説明は、ここでは簡潔に説明される。ＡＨＩＰモジュールは、これらの例示的な下位の要素の内の、任意のものや全てを含めることができ、或いは何も含めないこともできる。
【００７４】
カラーマップユニット
カラーマップユニットモジュールは、同系色を備える画素のマップを作る。基準点Ｒは、入力色空間（例えばＲＧＢ）中で前もってプログラムされることができる。続いて、各入力画素Ｐに対して、当該カラーマップモジュールは、ＰとＲの間のユークリッド距離ｄを計算し、次に、それを１５のプログラム可能な閾値（Ｔ１．．．１５）と比較することができる。これらはカスケードで評価され得るものであり、したがって、それらは、増加順（Ｔ１＜Ｔ２．．．＜Ｔ１５−非常に厳密なものから非常に任意のものまで）で、有利に配置されることができる。ｄ＜Ｔｎであれば、モジュールは、１６−ｎの値を出力する。いずれの閾値も一致しない場合には、０が送り出される。図８は、特定の実施の形態に従った色閾値化モジュールを示す。
【００７５】
カラーマップの出力は、典型的には４ビットで表わされることができる。いくつかの実施の形態では、閾値のより小さなセットが実装されることができ、これは例えば８（３ビット）、または４（２ビット）、或いは２（１ビット）のみを用いることである。カラーマップモジュールは、入力に関し最大解像度画像を処理することができる。出力マップは、入力と同じ解像度を有することができ、また、各々の画素は、３Ｄ色空間中で前もってプログラムされた参照画素に対してどれくらい密接に適合するかを示すマッチング出力を生成することができる。
【００７６】
代替の実施の形態では、追加の並列の色モジュールは、入力チャネルのうちの１つをゼロまたは中点値にセットすることにより、画素が３つの色チャンネルの内の２つにどれくらい密接に適合するかの測定を可能にすることができる。他の実施の形態は、３つのチャンネルのうちの２つだけが比較のために使用される場合に、２Ｄ色モジュールを実装する。
【００７７】
カラーマップモジュールの機能性がユークリッド距離に依存するときに、入力色空間は、この距離が有意である（近接（ｐｒｏｘｉｍｉｔｙ）は視覚的な類似性と等価である）空間とされるべきである。通常は、かかるモジュールは、ＲＧＢ入力と共に使用されるべきであるが、それに限定されるものではない。
【００７８】
図９では、画像に適用されているカラーマップモジュールの例が提供される。この例における基準点は、ＲＧＢ座標で与えられた皮膚状の色である。図９における左側に入力画像が示され、右側はカラーマップである（白色は極大値を表わし、その範囲は０乃至１５である）。図９の例では、１６の閾値（４ビット）が使用された。
【００７９】
色空間変換（ＣＳＣ）ユニット
ＣＳＣは、プログラム可能な行列乗数が以下のように定義されて実装するように使用されることができる：
【数１】
2013531853.tif 000003
ここで、ｘ＝［Ｙ，Ｕ，Ｖ］＝入力画素、Ａ及びＢ＝プログラム可能な係数を備えたマトリックスである。
【００８０】
この構造は、ＹＵＶ−２−ＲＧＢ或いはＲＧＢ−２−ＹＵＶのような変換を行なうことができる。さらに、これは、ＹＵＶとカスタムの色空間との間の変換を行なうことができる。これらの変換は、画素を特別の性質を用いて識別するために、他のモジュールと共に使用されることができる。
【００８１】
飽和関数は、（値を０．．．２５５の整数範囲に制限するために）ＣＳＣの出力で実装されることができる。
【００８２】
図１０は、画像センサー１７２からＲＧＢデータを受け取り、メモリ１７４に画素データ及び／又はフレームデータを含むデータを提供するＡＨＩＰモジュール１７０を示す。図１０のＡＨＩＰモジュール１７０の例は、画素処理モジュール１７６を含む。かかるモジュール１７６の２つは閾値化モジュール１７８に出力し、モジュール１７６の２つは、一方がヒストグラム１８０で他方が登録１８２である計数モジュールに出力する。論理モジュール１８４は、閾値化モジュール１７８から入力を受け取り、メモリ１７４に画素データを出力する。二値カウンタ１８６は、計数（ヒストグラム）モジュール１８０から入力を受け取り、メモリ１７４にフレームデータを出力する。ｄＸ，ｄＹオフセット部１８８は、計数（登録）モジュール１８２から入力を受け取り、メモリ１７４にフレームデータを出力する。第１のＲＧＢ−２−ＹＵＶ部１９０は、画素データを順々にメモリ１７４に出力する積算器（積分画像）モジュール１９２に出力する。第２のＲＧＢ−２−ＹＵＶ部１９０は、二乗モジュール１９４及び画素データを順々にメモリ１７４に出力する積算器（積分２乗画像）モジュール１９６に出力する。
【００８３】
図１１は、ＣＰＵ２０２に割り込み２０４を提供し、ＣＰＵ２０２から設定命令２０６を受け取ることを含み、ＣＰＵ２０２と通信するＡＨＩＰ部２００を示す。ＡＨＩＰ部２００は、Ｂ２Ｙ部２１０を介してセンサー／Ｂ２Ｙ２０８からデータを受け取ってメモリー２１２に出力する。
【００８４】
閾値化（ＴＨＲ）
このモジュールは、他のモジュールの出力を閾値化し、及びそれらを２進法の値（１ビット）に変換するための４つの８ｘ１参照テーブル（ＬＵＴ）を含む。ＡＨＩＰ内には、多数の閾値化ユニットが組込まれることができる。
【００８５】
ロジック機能（ＬＦ）
このモジュールは、さらにＴＨＲ或いは色マップモジュールのような他のＡＨＩＰモジュールの結果を組み合わせるために使用することができる６ｘ６参照テーブル（ＬＵＴ）を含む。これは、ＴＨＲ及びＳＫＩＮのモジュールからの入力を備えた６つの異なるロジック機能を実装することができる。ＡＨＩＰ内に、多数の論理演算装置が組込まれることができる。
【００８６】
ヒストグラム（ＨＩＳＴ）
ヒストグラムの計算は、オリジナルの入力データ（ＹＵＶ）及び／又はＣＳＣモジュールの出力に適用されることができる。これらのモジュールは各画素からの計算値を蓄積し、また、それらの出力は、画像フレームの画素がそれぞれＡＨＩＰによって計測された後に、利用可能である。ヒストグラムビンの数は典型的に１６であり、また、各ビンの閾値はプログラム可能である。
【００８７】
積分画像蓄積部（ＩＩ）−ＡＫＡ領域計算モジュール
これらのモジュールは、積分画像を計算する（長方形の領域の速いエリア計算を考慮に入れる；例えば上記の参照により組み込まれる米国特許第７，３１５，６３１号、及び参照により組み込まれる米国公開特許出願第２００２／０１０２０２４号を参照）ためのブロックを含んでいる。それらは、リアルタイム物体検出アルゴリズムが通常使用される。それらは、利用可能な３つの標準ブロックのうちのどれかであり得る：
ＩＩ（エリア計算に使用され、オリジナルのＹチャンネルに対するエリアを合計する）
ＩＩ２（分散計算に使用される、Ｙ二乗に関する合計）
皮膚ＩＩ（皮膚マップに関する積分画像であり、領域における皮膚密度を与える）。
【００８８】
これらのモジュールは、各入力画素におけるそれらの値を蓄積して現在の蓄積された値を出力し、対応する積分画像の画素値または積分分散（Ｉｎｔｅｇｒａｌ  Ｖａｒｉａｎｃｅ）または皮膚積分画像マップを提供するために使用されることができる（例えば、参照により組込まれる米国公開特許出願第２０１０／００５３３６８号を参照）。
【００８９】
複合的なダウンサンプリング部（ＤＳ）
このダウンサンプリング部は、他のモジュールについての画像を拡大縮小する。かかるモジュールは、低いゲート計算（ｇａｔｅ−ｃｏｕｎｔ）を備えながら合理的な水準の品質を提供することを目的とした。これは、主画像の可変での小型化を達成するようにプログラムされることができる。
【００９０】
固定ダウンサンプリング部（ＸＤＳ：fiXed DownSamplers）
さらに、最近隣補間を使用することで、より単純なダウンサンプリング部の実装が利用可能となる。これらは、固定分解能でマップの同時の計算を可能とする。典型的には、２倍（ｘ２）、４倍（ｘ４）及び８倍（ｘ８）のダウンサンプリング部が利用可能になる。
【００９１】
ワークフロー
ＡＨＩＰは、デ−バイエル（Ｄｅ−Ｂａｙｅｒ）モジュール（センサーインターフェース）の後、画像パイプラインの終わりで統合されるように設計され得る。ＹＵＶはＡＨＩＰの在来の色空間であると考えられているが、いくつかの内部モジュールは、同様に他の色空間を扱うことができる。センサーインターフェースに加えて、ＡＨＩＰは、メモリからデータを読み込むために再生インターフェースを提供する。試写モードにおいて、ＡＨＩＰは、センサークロック速度（１画素当たり１個のクロック）でデータを扱うように構成され得る。ＡＨＩＰによって処理されたデータは、ターゲットシステム（ＳＤＲＡＭ）のメインメモリに書き込まれることができる。モジュールの１つ以上は、レジスターに値を出力することができる。ＡＨＩＰは、インターフェースから他のモジュールに出力されるストリーミングを供給するように構成されることができ、またはそのような構成とはされない。
【００９２】
以下は、ＡＨＩＰでの典型的なワークフローの例である：
・  センサー或いはメモリからの生（Ｌｉｖｅ）のデータがＡＨＩＰに送信される（１回に１つの画素）。
・  フレームの期間に、ＡＨＩＰはその計算を行なう：
・  １つ以上のモジュールが、内部統計データを更新する。
・  他の１つ以上のモジュールは、システムメモリにデータ（マップ）を書きこむ。これは、典型的には、入力に対して最小の遅れ（つまり、画素が中に入るにつれて、データが外に出る）を実行し得る。
・  フレームの終了の後に、ＡＨＩＰは、ＣＰＵに対する割り込みを引き起こす：
・  標準状態では、当該割り込みは、新鮮なデータが利用可能であるとＣＰＵに通知する。
・  さらにエラー状態を信号で伝える割り込みがあり得る。
・  ＣＰＵ割り込みハンドラーが呼び出される：
・  それは、ＡＨＩＰレジスターを読み込んで、割り込みの理由を見つける。
・  その後、それは、（例えば、そうすることが有利だろうという測定に基づいて）任意にＡＨＩＰを再構成し、当該割り込みを認める。
・  さらに、それは、ハードウェアからのデータが利用可能であること（及び、それをアルゴリズムが使用し始めること）を他のＣＰＵスレッドに信号で伝える。
【００９３】
本発明の典型的な図面及び特定の実施の形態が記述され示されたが、本発明の範囲は、議論された特定の実施の形態に制限されものではないことが理解されるべきである。したがって、実施の形態は、限定的なものというよりむしろ例示的なものとみなされるべきであり、また、当業者によって、本発明の範囲を逸脱することなく、それらの実施の形態での変形例が作られ得ることが理解されるべきである。
【００９４】
加えて、好ましい実施の形態によってここに実行されることができる上述された方法では、オペレーションは、選択された活版印刷の順序で記述された。しかしながら、当該順序は選択されたもので、かつ活版印刷の便宜のために命じられたものであり、特定の順序が表明され得る場合、或いは当業者が特定の順序を必要であると考える場合を除いて、オペレーションを行なうためにいかなる特定の順序も意味するようには意図されない。
【図１】
2013531853.tif 000004
【図２】
2013531853.tif 000005
【図３】
2013531853.tif 000006
【図４】
2013531853.tif 000007
【図５】
2013531853.tif 000008
【図６】
2013531853.tif 000009
【図７】
2013531853.tif 000010
【図８】
2013531853.tif 000011
【図１０】
2013531853.tif 000012
【図１１】
2013531853.tif 000013
【図９】
2013531853.tif 000014
【国際調査報告】
2013531853.tif 000015
2013531853.tif 000016