(57)【要約】  コンピュータビジョン演算を効率的に行うための方法、システム、コンピュータ可読記憶媒体、および装置が提示される。いくつかの態様では、ピクセルアレイにおける1つまたは複数のピクセルから値を受け取り、Haar-like特徴計算などのコンピュータビジョン演算を容易にするようにそれらの値を表すための技法が開示される。一実装形態では、ピクセル値は計算の階層として表され、計算の階層の下位レベルよりも上の各レベルは、階層の下位レベルからの値の計算を表す1つまたは複数の値を含む。計算には、階層の下位レベルに関する値の単純和、階層の下位レベルに関する値の加重和、階層の下位レベルに関する値の平均、階層の下位レベルに関する値に基づくローカルバイナリパターン、階層の下位レベルに関する値に基づく配向勾配ヒストグラム、または階層の下位レベルに関する値に基づく他のコンピュータビジョン特徴計算を含めることができる。そのような実装形態では、Haar-like特徴計算などのコンピュータビジョン演算は、平均の階層を使用して実行されてもよい。【特許請求の範囲】
【請求項１】
コンピュータビジョン特徴を判定するためのコンピューティングシステムであって、
複数のピクセルを備えるビジョンセンサであって、前記ピクセルがピクセルアレイの少なくとも第1の次元および第2の次元に沿って配列され、前記複数のピクセルの各々がそれぞれのピクセルに入射する光に基づく信号を生成することができるビジョンセンサと、
前記ビジョンセンサおよびメモリバッファに結合され、計算の階層としての前記ピクセルアレイの前記複数のピクセルの表現を前記メモリバッファに維持するように構成された階層的計算生成ハードウェアであって、計算の前記階層の下位レベルよりも上の各レベルが、前記階層の前記下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の前記階層の各レベルが、前記ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、
所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、前記新しい値に基づいて前記所与のレベルよりも上の計算の前記階層のレベルを更新し、前記基準しきい値を超える量だけ変化した値が、前記所与のレベルの値の中にはない場合には、前記所与のレベルよりも上の計算の前記階層の前記レベルを更新しないようにさらに構成される階層的計算生成ハードウェアと、
計算の前記更新された階層に基づいてコンピュータビジョン特徴を算出するように構成されたコンピュータビジョン特徴計算ハードウェアとを備えるコンピューティングシステム。
【請求項２】
前記新しい値に、前記所与のレベルにおける1つまたは複数の値が前記基準しきい値を超える量だけ変化したことを示すイベントが付随する、請求項1に記載のコンピューティングシステム。
【請求項３】
前記所与のレベルはピクセルレベルであり、前記イベントは、基準電圧しきい値を超える、前記ピクセルにおける感知環境の変化によって生じる電圧レベルの変化を検出することを含む、請求項2に記載のコンピューティングシステム。
【請求項４】
計算の前記階層は和の階層を含み、前記和の前記階層の前記下位レベルよりも上の各レベルは、前記階層の前記下位レベルからの値の加重和を表す1つまたは複数の値を含み、前記和の前記階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される、請求項1に記載のコンピューティングシステム。
【請求項５】
前記Haar-like特徴は、前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層におけるレベルに相当する和値に基づいて算出される、請求項4に記載のコンピューティングシステム。
【請求項６】
合計すべき前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層における前記レベルは、前記画像の前記サンプル領域の下位領域によって囲まれる前記画像内の最大領域に関連する前記レベルを含む、請求項5に記載のコンピューティングシステム。
【請求項７】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、単純和、加重和、または平均のうちの1つである、請求項1に記載のコンピューティングシステム。
【請求項８】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、コンピュータビジョン計算である、請求項1に記載のコンピューティングシステム。
【請求項９】
前記所与のレベルよりも上の計算の前記階層の前記レベルを更新することは、前記所与のレベルよりも上の計算の前記階層の前記レベルの各々における前記値のうちのいくつかのみを更新することを含む、請求項1に記載のコンピューティングシステム。
【請求項１０】
ピクセルアレイの2つ以上のピクセルからの値を計算の階層として表すステップであって、計算の前記階層の下位レベルよりも上の各レベルが、前記階層の前記下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の前記階層の各レベルが、前記ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、前記ピクセルアレイの各ピクセルが、環境条件に基づいてセンサ読取値を生成することができるセンサ要素を備える、ステップと、
所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、前記新しい値に基づいて前記所与のレベルよりも上の計算の前記階層のレベルを更新し、前記基準しきい値を超える量だけ変化した値が、前記所与のレベルの値の中にはない場合には、前記所与のレベルよりも上の計算の前記階層の前記レベルを更新しないステップと、
計算の前記更新された階層に基づいてコンピュータビジョン特徴を算出するステップとを含む方法。
【請求項１１】
前記新しい値に、前記所与のレベルにおける1つまたは複数の値が前記基準しきい値を超える量だけ変化したことを示すイベントが付随する、請求項10に記載の方法。
【請求項１２】
前記所与のレベルはピクセルレベルであり、前記イベントは、基準電圧しきい値を超える、前記ピクセルにおける感知環境の変化によって生じる電圧レベルの変化を検出することを含む、請求項11に記載の方法。
【請求項１３】
計算の前記階層は和の階層を含み、前記和の前記階層の前記下位レベルよりも上の各レベルは、前記階層の前記下位レベルからの値の加重和を表す1つまたは複数の値を含み、前記和の前記階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される、請求項10に記載の方法。
【請求項１４】
前記Haar-like特徴は、前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層におけるレベルに相当する和値に基づいて算出される、請求項13に記載の方法。
【請求項１５】
合計すべき前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層における前記レベルは、前記画像の前記サンプル領域の下位領域によって囲まれる前記画像内の最大領域に関連する前記レベルを含む、請求項14に記載の方法。
【請求項１６】
前記ピクセルアレイは2次元アレイである、請求項10に記載の方法。
【請求項１７】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、単純和、加重和、または平均のうちの1つである、請求項10に記載の方法。
【請求項１８】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、コンピュータビジョン計算である、請求項10に記載の方法。
【請求項１９】
前記所与のレベルよりも上の計算の前記階層の前記レベルを更新するステップは、前記所与のレベルよりも上の計算の前記階層の前記レベルの各々における前記値のうちのいくつかのみを更新するステップを含む、請求項10に記載の方法。
【請求項２０】
ピクセルアレイの2つ以上のピクセルからの値を計算の階層として表すための手段であって、計算の前記階層の下位レベルよりも上の各レベルが、前記階層の前記下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の前記階層の各レベルが、前記ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、前記ピクセルアレイの各ピクセルが、環境条件に基づいてセンサ読取値を生成することができるセンサ要素を備える、手段と、
所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、前記新しい値に基づいて前記所与のレベルよりも上の計算の前記階層のレベルを更新し、前記基準しきい値を超える量だけ変化した値が、前記所与のレベルの値の中にはない場合には、前記所与のレベルよりも上の計算の前記階層の前記レベルを更新しないための手段と、
計算の前記更新された階層に基づいてコンピュータビジョン特徴を算出するための手段とを備える装置。
【請求項２１】
前記新しい値に、前記所与のレベルにおける1つまたは複数の値が前記基準しきい値を超える量だけ変化したことを示すイベントが付随する、請求項20に記載の装置。
【請求項２２】
前記所与のレベルはピクセルレベルであり、前記イベントは、基準電圧しきい値を超える、前記ピクセルにおける感知環境の変化によって生じる電圧レベルの変化を検出することを含む、請求項21に記載の装置。
【請求項２３】
計算の前記階層は和の階層を含み、前記和の前記階層の前記下位レベルよりも上の各レベルは、前記階層の前記下位レベルからの値の加重和を表す1つまたは複数の値を含み、前記和の前記階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される、請求項20に記載の装置。
【請求項２４】
前記Haar-like特徴は、前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層におけるレベルに相当する和値に基づいて算出される、請求項23に記載の装置。
【請求項２５】
合計すべき前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層における前記レベルは、前記画像の前記サンプル領域の下位領域によって囲まれる前記画像内の最大領域に関連する前記レベルを含む、請求項24に記載の装置。
【請求項２６】
前記ピクセルアレイは2次元アレイである、請求項20に記載の装置。
【請求項２７】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、単純和、加重和、または平均のうちの1つである、請求項20に記載の装置。
【請求項２８】
命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令が、プロセッサによって、
ピクセルアレイの2つ以上のピクセルからの値を計算の階層として表すことであって、計算の前記階層の下位レベルよりも上の各レベルが、前記階層の前記下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の前記階層の各レベルが、前記ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、前記ピクセルアレイの各ピクセルが、環境条件に基づいてセンサ読取値を生成することができるセンサ要素を備える、表すことと、
所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、前記新しい値に基づいて前記所与のレベルよりも上の計算の前記階層のレベルを更新し、前記基準しきい値を超える量だけ変化した値が、前記所与のレベルの値の中にはない場合には、前記所与のレベルよりも上の計算の前記階層の前記レベルを更新しないことと、
計算の前記更新された階層に基づいてコンピュータビジョン特徴を算出することとを行うように実行可能である非一時的コンピュータ可読記憶媒体。
【請求項２９】
計算の前記階層は和の階層を含み、前記和の前記階層の前記下位レベルよりも上の各レベルは、前記階層の前記下位レベルからの値の加重和を表す1つまたは複数の値を含み、前記和の前記階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される、請求項28に記載の非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記Haar-like特徴は、前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層におけるレベルに対応する和値に基づいて算出される、請求項29に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、コンピュータビジョンを可能にすることに関し、より詳細には、コンピュータビジョンを使用して特徴を検出する場合の効率を改善することに関する。
【背景技術】
【０００２】
コンピュータビジョンは、アプリケーション内で使用するための画像を獲得し、処理し、解析し、理解するための方法を含む分野である。従来、プロセッサは、センサに結合されて、センサから画像を獲得し、センサから受信された情報に対していくつかのコンピュータビジョン(CV)演算を実行して特徴を検出し、したがってそれらの特徴に関連付けられた対象物を検出している。特徴には、エッジ、コーナなどの特徴が含まれることがある。いくつかのインスタンスでは、特徴には、人間の顔、笑顔、およびジェスチャーなどのより複雑な特徴も含まれる。
【０００３】
多くの既存のコンピュータビジョンアルゴリズムは、画像内の指定された矩形内のピクセルの値の和または平均を算出することを必要とする。そのようなコンピュータビジョンアルゴリズムは、たとえば、顔検出および他のタイプの画像ベースのタスクにおいて使用される場合がある。いくつかのソリューションでは、特定の計算を加速させるために積分画像の使用を組み込んでいる。
【発明の概要】
【課題を解決するための手段】
【０００４】
コンピュータビジョンを使用して特徴を検出する場合の効率を改善するための方法、装置、システム、およびコンピュータ可読媒体について説明する。
【０００５】
いくつかの態様では、ピクセルアレイにおける1つまたは複数のピクセルから値を受け取り、Haar-like特徴計算などのコンピュータビジョン演算を容易にするようにそれらの値を表すための技法が開示される。一実装形態では、ピクセル値は計算の階層として表される。計算の階層の下位レベルよりも上の各レベルは、階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含んでもよい。
【０００６】
本開示のいくつかの態様では、例示的な方法が、ピクセルアレイの2つ以上のピクセルからの値を計算の階層として表すステップであって、計算の階層の下位レベルよりも上の各レベルが、階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の階層の各レベルが、ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、ピクセルアレイの各ピクセルが、環境条件に基づいてセンサ読取値を生成することのできるセンサ要素を備える、ステップと、ピクセルアレイにおけるあるピクセルの新しい値が、基準しきい値を超える量だけピクセルの前の値と異なる場合にのみ、このピクセルの新しい値に基づいて計算の下位層を更新し、基準しきい値を超える量だけ変化した値が、ピクセルアレイにおけるピクセルの値の中にはない場合には、計算の階層を更新しないステップとを含んでもよい。
【０００７】
いくつかの態様では、計算は、階層の下位レベルに関する値の単純和、階層の下位レベルに関する値の加重和、階層の下位レベルに関する値の平均、階層の下位レベルに関する値に基づくローカルバイナリパターン(LBP)、階層の下位レベルに関する値に基づく配向勾配ヒストグラム、または階層の下位レベルに関する値に基づく他のコンピュータビジョン特徴計算を含んでもよい。
【０００８】
モバイルデバイスなどの例示的なコンピューティングシステムは、コンピュータビジョン特徴を判定する。このコンピュータシステムは、複数のピクセルを備えるビジョンセンサであって、ピクセルが、ピクセルアレイの少なくとも第1の次元および第2の次元に沿って配置され、複数のピクセルの各々が、それぞれのピクセルに入射する光に基づいて信号を生成することができるビジョンセンサと、ビジョンセンサおよびメモリバッファに結合され、計算の階層としてのピクセルアレイの複数のピクセルの表現をメモリバッファに維持するように構成された階層的計算生成ハードウェアであって、計算の階層の下位レベルよりも上の各レベルが、階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の階層の各レベルが、ピクセルアレイによってキャプチャされた画像内の領域に関連付けられる階層的計算生成ハードウェアとを含んでもよい。階層的計算生成ハードウェアは、所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、この新しい値に基づいて所与のレベルよりも上の計算の階層のレベルを更新し、基準しきい値を超える量だけ変化した値が、所与のレベルの値の中にはない場合には、所与のレベルよりも上の計算の階層のレベルを更新しないようにさらに構成されてもよい。例示的なコンピューティングシステムは、計算の更新された階層に基づいてコンピュータビジョン特徴を算出するように構成されたコンピュータビジョン特徴計算ハードウェアを含んでもよい。
【０００９】
本開示のいくつかの態様では、新しい値に、所与のレベルにおける1つまたは複数の値が基準しきい値を超える量だけ変化したことを示すイベントが付随する。所与のレベルはピクセルレベルであってもよく、イベントは、基準電圧しきい値を超える、ピクセルにおける感知環境の変化によって生じる電圧レベルの変化を検出することを含む。
【００１０】
本開示のいくつかの態様では、計算の階層は和の階層を含んでもよく、和の階層の下位レベルよりも上の各レベルは、階層の下位レベルからの値の加重和を表す1つまたは複数の値を含み、和の階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される。Haar-like特徴は、画像のサンプル領域を最も厳密に近似する和の階層におけるレベルに相当する和値に基づいて算出されてもよい。合計すべき画像のサンプル領域を最も厳密に近似する和の階層におけるレベルは、画像のサンプル領域の下位領域によって囲まれる画像内の最大領域に関連するレベルを含む。
【００１１】
本開示のいくつかの他の態様によれば、計算は、下位レベルよりも上のレベルに関する階層の下位レベルからの値に基づいてもよく、単純和、加重和、または平均のうちの1つである。下位レベルよりも上のレベルに関する階層の下位レベルからの値に基づく計算は、コンピュータビジョン計算であってもよい。いくつかの実装形態では、所与のレベルよりも上の計算の階層のレベルを更新することは、所与のレベルよりも上の計算の階層のレベルの各々における値のうちのいくつかのみを更新することを含む。
【００１２】
本開示の態様は、上記において開示されかつ本開示全体にわたって開示される態様を実行するための方法、およびそのような態様を実行するための手段を備える装置をさらに開示する。本開示の態様は、非一時的コンピュータ可読記憶媒体をさらに開示し、非一時的コンピュータ可読記憶媒体は、上記において開示されかつ本明細書全体にわたって開示される本開示の態様を実行するための専用コンピュータビジョン(CV)マイクロプロセッサによって実行可能な命令を含んでもよい。
【００１３】
前記の説明では、次の詳細な説明を理解しやすくするために例の特徴および技術的利点の概略をかなり広範にわたって述べている。以下で、さらなる特徴および利点について説明する。開示される概念および具体例は、本開示の同じ目的を実行するための他の構造を変更または設計するための基礎として容易に利用される場合がある。そのような同等の構成は、添付の特許請求の範囲の趣旨および範囲から逸脱しない。本明細書で開示される概念の特性を示すと思われる特徴は、その編成と動作の方法の両方に関して、関連する利点と一緒に、添付図面に関連して検討されるときに以下の説明からより良く理解される。図の各々は、特許請求の範囲の限界を定めるものとしてではなく、例示および説明のみの目的で与えられる。
【００１４】
本開示の態様は、例として示される。添付図面においては、同様の符号が同様の要素を示す。
【図面の簡単な説明】
【００１５】
【図１Ａ】Haar-like特徴を使用する顔検出のための方法を示す図である。
【図１Ｂ】Haar-like特徴を使用する顔検出のための方法を示す図である。
【図２Ａ】2-D積分画像を使用して画像における任意の矩形内のピクセル値の和を効率的に算出する例示的な方法を示す図である。
【図２Ｂ】2-D積分画像を使用して画像における任意の矩形内のピクセル値の和を効率的に算出する例示的な方法を示す図である。
【図３Ａ】和の例示的な階層を示す図である。
【図３Ｂ】和の例示的な階層を示す図である。
【図３Ｃ】和の例示的な階層を示す図である。
【図３Ｄ】和の例示的な階層を示す図である。
【図４Ａ】少なくとも1つのピクセル値の変化が認識された後に和値を判定するための加算プロセスを示す図である。
【図４Ｂ】少なくとも1つのピクセル値の変化が認識された後に和値を判定するための加算プロセスを示す図である。
【図４Ｃ】少なくとも1つのピクセル値の変化が認識された後に和値を判定するための加算プロセスを示す図である。
【図４Ｄ】少なくとも1つのピクセル値の変化が認識された後に和値を判定するための加算プロセスを示す図である。
【図５】コンピュータビジョン(CV)特徴を検出するためのビジョンセンサを備える例示的なシステムの態様を示すブロック図である。
【図６】本開示のいくつかの態様による例示的なフローチャートである。
【図７】本開示のいくつかの態様による別の例示的なフローチャートである。
【図８】1つまたは複数の実施形態が実装される場合があるコンピューティングシステムの一例を示す図である。
【発明を実施するための形態】
【００１６】
次に、本明細書の一部を形成する添付の図面に関して、いくつかの例示的な実施形態について説明する。本開示の1つまたは複数の態様が実装される場合がある特定の実施形態について以下で説明するが、本開示の範囲または添付の特許請求の範囲の趣旨から逸脱することなく、他の実施形態が使用されることがあり、様々な修正が行われることがある。
【００１７】
図1Aおよび図1Bは、Haar-like特徴を使用する顔検出のための例示的な方法において使用される加算を示す。図1Aおよび図1Bを参照して簡単に説明する例示的な方法は、画像内の顔を検出するために、Viola-JonesアルゴリズムおよびHaar-like特徴を使用する場合がある。
【００１８】
典型的なHaar-like特徴では、画像内の検出窓内の特定の位置における互いに隣接する矩形領域を検討し、各領域内のピクセル強度を合計し、これらの合計間の差を計算する。単純な矩形Haar-like特徴は、元の画像内の任意の位置に任意のスケールにおいて存在させることができる、矩形内部の領域のピクセルの和の差として定義することができる。この差は、次いで、画像のサブセクションを分類するために使用される。たとえば、顔検出のための一般的なHaar-like特徴は、目の上および頬領域の上にある2つの隣接する矩形のセットである。これらの矩形の位置は、ターゲットオブジェクト(この場合には顔)への境界ボックスのように機能する検出ウィンドウに対して定義される。2つの隣接する矩形の一例を図1Aに示す。左の「黒」領域内にあると判定されたピクセル値の和に-1が掛けられてもよく、右の「白」領域内にあると判定されたピクセル値の和に+1が掛けられてもよい。次いで、これらの2つの数を合計して、隣接する矩形を含むウィンドウによって囲まれる画像の領域に関するHaar-like特徴の値を得てもよい。これは、ウィンドウ内、または場合によっては、ウィンドウのサブウィンドウ内で、隣接矩形対ごとに繰り返されてもよい。
【００１９】
Viola-Jonesアルゴリズムの検出段階では、ターゲットサイズのウィンドウを入力画像上で移動させ、画像の各サブセクションについて、Haar-like特徴を計算する。差は、次いで、オブジェクトから非オブジェクトを分離する学習されたしきい値と比較される。そのようなHaar-like特徴は、弱いラーナー(learner)または分類子のみである(その検出品質は、ランダム推測よりもわずかによい)ので、十分な精度でオブジェクトを記述するために、多数のHaar-like特徴が必要である。したがって、Viola-Jonesアルゴリズムでは、Haar-like特徴は、強いラーナーまたは分類子を形成するために、分類子カスケードと呼ばれるものに編成される。
【００２０】
Viola-Jonesアルゴリズムによって使用することのできる様々な隣接する矩形を図1Bに示す。たとえば、隣接する矩形は、画像内のエッジ特徴(たとえば、1a、1b、1c、1d)を検出するために使用されてもよい。別の例では、複数の隣接する矩形は、画像内の線特徴(たとえば、2a、2b、2c、2d、2e、2f、2g、2h)を検出するために使用されてもよい。さらに別の例では、画像内の中心を取り囲む特徴(たとえば、3a、3b)を検出するために、矩形内に含まれる矩形を使用することができる。さらに別の例では、画像内の特定の対角線特徴(たとえば、4)を検出するために、複数の矩形を配置することができる。
【００２１】
図2Aおよび図2Bは、2-D積分画像を使用して画像における任意の矩形内のピクセル値の和を効率的に算出する例示的な方法を示す。図1Aおよび図1Bに関して上記において説明した矩形内のピクセル値の合計は、膨大な数の計算が必要であるので非効率的である可能性がある。2-D積分の使用は、隣接する矩形を含むウィンドウによって境界が定められた画像の領域に関するピクセル値の和を判定する際により効率的な計算を可能にする場合がある。図2Aに示すように、任意の所与のx-y座標では、x-y座標の上部および左側からの範囲(左上領域)内のすべてのピクセル値を合計することができる(陰影付き領域によって示す)。計算効率を考慮して、この領域内のピクセル値のこの和をメモリに保持することができる。いわゆる積分画像は、元の画像と同じサイズを有するマトリックスの形をした2次元エリア総和ルックアップテーブルとして定義することができる。積分画像の各要素は、元の画像の左上領域上に位置するすべてのピクセルの和を含む。これによって、積分画像を使用して画像上の任意の矩形内のピクセル値の和を迅速に算出することが可能になる。
【００２２】
たとえば、図2Bに示すように、積分画像を使用する場合、サブウィンドウ「D」のピクセルの和は、x-y座標4からx-y座標2およびx-y座標3の値を減算し、次いで、積分画像のx-y座標4にx-y座標1を加算することによって計算することができる。言い換えれば、合計(「D」)=値(「4」)-値(「2」)-値(「3」)+値(「1」)である。したがって、サブウィンドウ「D」のピクセルの和を判定するために、4つのルックアップのみが必要とされる。積分画像を一度生成すると、ピクセル値の和を画像上の複数の異なるウィンドウに関して算出すべき場合に元の画像値を使用してピクセル値和を算出する場合と比べて計算効率を向上させることができる。しかし、積分画像は、ピクセル値が変化する場合に頻繁に再計算を必要とすることがある。たとえば、積分画像が画像内の任意のx-y座標における左上の矩形内のピクセル値の和を表すと仮定すると、左上象限においてピクセルを変化させるには、再計算すべき積分画像のうちの多くまたは大部分が必要になる。
【００２３】
和の階層は、単一のピクセルまたは少数のピクセルが変化するときに、積分画像を更新するのに必要な計算の数と比較して、階層を更新するのに必要な計算の数を減らすのを助ける場合がある。
【００２４】
図3A〜図3Dは、和の例示的な階層を示し、図3Aはピラミッドの0番目のレベル(たとえば、入力画像に関連するピクセル値)を示し、図3Bはピラミッドの第1のレベルを示し、図3Cはピラミッドの第2のレベルを示し、図3Dはピラミッドの第3のレベルを示す。図3A〜図3Dにおける様々な和は、積分画像を使用する代わりにHaar-like特徴を算出するのに使用することができる。画像が動的であり変化するが、関連する時間フレームにおいて少数のピクセル変化のみが予期されるコンテキストでは、和の階層を更新することは、積分画像を更新することよりも効率的である場合がある。残りの説明では、一例として和の階層について説明するが、より一般的には、階層が計算の階層であってもよく、計算の階層の下位レベルよりも上の各レベルが階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含むことを理解されたい。計算は、階層の下位レベルに関する値の単純和または加重和、階層の下位レベルに関する値の平均、階層の下位レベルに関する値に基づくローカルバイナリパターン、階層の下位レベルに関する値に基づく配向勾配ヒストグラム、または階層の下位レベルに関する値に基づく他のコンピュータビジョン特徴計算を含んでもよい。いくつかの実装形態では、レベルごとの計算が異なってもよく、したがって、説明的な例として、計算の階層におけるあるレベルが、そのレベルよりも低いレベルからの値に基づく和を表す場合があり、一方、計算の階層の別のレベルが、そのレベルよりも低いレベルからの値に基づくLBP計算を表す場合がある。より一般的には、階層における第1のレベルが、第1のレベルよりも低い階層におけるレベルからの値に基づく第1の計算を表す場合があり、一方、階層における第2のレベルが、第2のレベルよりも低い階層におけるレベルからの値に基づく第2の計算を表す場合がある。一実装形態では、第1のレベルは第2のレベルよりも低いレベルであり、第1の計算は和、加重和、または平均のうちの1つを含み、一方、第2の計算はCV特徴の計算を含む。
【００２５】
図3Aは、64個のピクセルを含む簡略化されたピクセルアレイ300を表す場合がある。ピクセルアレイにおける各ピクセルは、環境条件に基づくセンサ読取値を生成することが可能なセンサ素子を含んでもよい。図3Aの右下角を見るとわかるように、4つのピクセル302a、302b、302c、および302dの各々に、環境条件、たとえば、光の強度に基づくセンサ読取値を表すピクセル値が関連付けられる。ピクセルアレイ300におけるすべてのピクセルの値が画像を表すことができる。
【００２６】
図3Bは、図3Aにおける4つのセル値(すなわち、ピクセル値)のグループを図3Bにおける単一のセルとしてマージまたは加算した状態を視覚的に示す。たとえば、ピクセルアレイの2つ以上のピクセルを図3B、図3C、および図3Dを参照しながら以下において説明するように和の階層として表すことができる。アレイにおけるすべてのピクセルからのピクセル値が、値のアレイと見なされてもよく、和の階層における最低レベル、すなわち、ゼロ番目の和レベル303を表すことができる。和の階層では、和の階層のより低いレベル(たとえば、303、305、307)よりも上の各レベル(たとえば、305、307、309)は、階層のより低いレベル(たとえば、303、305、307)からの値の加重和を表す1つまたは複数の値を含む。図3Aおよび図3Bに示すように、ピクセル302a、302b、302c、および302dに関連するピクセル値のすべてを、第1の和レベル305における値304aとしてのアレイ要素における加重和として表すことができる。値304b、304c、および304dも、ゼロ番目の和レベル303からの関連するピクセル値の加重和を表す。その後、第1の和レベル305の値304a、304b、304c、および304dは、第2の和レベル307の値306aとしてのアレイ要素における加重和として表されてもよい。最後に、図示の例では、第2の和レベル307の値306a、306b、306c、および306dが、第3の和レベル309の値308aとしてのアレイ要素における加重和として表されてもよい。この例では、第3の和レベル309が、和の階層における最終和レベルであり、したがって、ピクセルアレイ300におけるすべてのピクセル値の加重和を表す。さらに、和の階層の各レベルは、ピクセルアレイ300によってキャプチャされた画像の領域に関連付けられる。たとえば、第1の和レベル305の値304aは、ピクセル302a、302b、302c、および302dによって表される画像の領域に関連付けられる。図示のように、一例として、第2の和レベル307における値306aが、ボックス312によって示される4x4ピクセル領域によって表される画像の領域に関連付けられる。図示のように、一例として、最終和レベル、すなわち第3の和レベル309は、図示の画像全体を含む領域に関連する値308aを含む。
【００２７】
図4A〜図4Dに示すように、そのような方式では、ピクセル値402が変化する場合、ピクセルアレイ全体の和を再計算するのに必要な加算は9回のみになる場合がある。ピクセル値の変化の影響を受けない階層における加重和を表す値を更新する必要はなく、それによって、計算の回数が減り、電力消費量が少なくなる。
【００２８】
ピラミッドのレベルの数は、ピクセルアレイにおけるピクセル値の数に比例する。一実装形態では、ピラミッドレベルの数は、対数的であってもよく、|log2[S]|によって表されてもよく、この場合、Sはピクセルアレイ内のピクセルの数である。各レベルにおけるピラミッド内のセルごとに、各セルの下方の4つのセルの値の和を下位レベルに記憶する。一番上のセル(すなわち、図3D)は、すべてのピクセルの和を保持する。
【００２９】
階層における下位和レベルからの値の加重和は、いくつかの実施形態では、単純和であってもよく、あるいは他の実施形態では、下位和レベルからの値の平均であってもよい。特定のアプリケーションに応じて、ある種類の加重和を別の種類の加重和よりも優先して使用すると計算、処理、または電力の点で節約になる場合がある実装形態では、単純和、平均、または加重和が有利であることがある。
【００３０】
Haar-like特徴の検出は、フレームベースのセンサ技術またはイベントベースのセンサ技術などのピクセルアレイ300(図3A)と同様のセンサを含む多数のセンサ技術、あるいはハイブリッドのフレーム-イベントベースのアーキテクチャを使用して実行されてもよい。そのようなアーキテクチャでは、各ピクセルにおける値は、所与のフレームレートにおいて(ピクセル値が評価される規則的な時間間隔において)評価されるが、ピクセルは、新しいピクセル値が前の間隔における前のピクセル値とある基準しきい値を超える量だけ異なる場合にのみ、この新しいピクセル値を出力する。ピクセル値が変化していないかあるいは基準しきい値未満の量だけ変化した場合、ピクセル値は更新されず、依然として古いピクセル値を使用することができる。基礎的なセンサ技術またはアーキテクチャにかかわらず、上述の和の階層は、ピクセル値が変化した場合にのみ更新すればよく、基準しきい値を超える量だけ変化した値を有するピクセルがない場合は更新する必要がない。イベントベースの技術またはハイブリッドのフレーム-イベントベースの技術では、マイクロプロセッサが、1つまたは複数のピクセルが変化した値を有し、したがって、和の階層における得られた和を更新することができることの表示をセンサから受信してもよい。しかし、フレームベースの手法にもかかわらず、マイクロプロセッサは、和の階層を更新する必要があるかどうかをアルゴリズム的に確認してもよい。
【００３１】
図4A〜図4Dは、少なくとも1つのピクセル値の変化が認識された後に和値を判定するための加算プロセスを示す。4A〜4Dのレベルの場合、値の変化がピクセル402において生じた場合、変化したピクセル値を含む画像内の領域に対応する階層内のセルまたはサブセルを再計算するだけでよい。他のすべての値(影のない値)を再計算せずに加算プロセスに再使用することができる。和の階層では、影付きの領域408(画像全体の和を表す)、影付きの領域406(画像の一象限に関する和を表し、象限は変化したピクセル値を有するピクセル402を含む)、および影付きの領域404(ピクセル402を含む領域内の画像の和を表す)に対応する和が再計算される。
【００３２】
図4Aにおける影付き領域(ブロック402)は、イベントが検出されたピクセルアレイのピクセル、すなわち、ピクセル値が基準しきい値を超える量だけ変化したピクセルを示す。図4Bでは、影付き領域404は、ピクセル402を含む4つのピクセルに関するピクセル値と図4Aにおけるピクセル402に隣接するピクセルに関する値との和値を有するセルを示す。影付き領域404は、図4Aにおける4つのサブセルの和を含み、4つのセルの和には3回の加算が必要である。
【００３３】
図4Cでは、影付き領域406の値が、ブロック406に関する下位レベルにおけるセル(図4Bにおけるセル)の値を加算することによって算出される。(図4Aにおける)影のないセルに関連するピクセルではイベントがトリガされていないので、図4Bにおける影のないセルのすべてについて値が事前に算出されていることに留意されたい。図4Cにおけるブロック406の値を判定するための加算プロセスでは、4つのセルに関する別の3回の加算演算が必要である。
【００３４】
同様に、図4Dでは、下位レベルのセルの値を加算することによって、ピクセルアレイ全体の値を算出することができる。この場合も、図4Cに示すように、ピクセル402が影のないセルのいずれに関するサブセルでもないので、図4Cにおける影のないセルに関する値は、図4Aに示すイベントにもかかわらず変化していない。したがって、図4Dにおけるピクセルアレイの和を再計算する場合、図示4Aにおけるピクセル402におけるピクセル値のイベントまたは変化に起因して、9回の加算のみが必要とされる。
【００３５】
したがって、上記のプロセスは、和の階層を再使用することによって、各x-y座標において表される和に関する計算を最適化する。所与のスケールにおけるすべてのイベントが次に高いレベルにおいて更新される。所与のスケールにおいて更新が完了すると、変化したセルを考慮するだけで次に高いレベルが反復的に更新される。
【００３６】
和の階層は、上述の積分画像の使用とある程度同様に使用することができる。たとえば、上述のように、Haar-like特徴を算出する場合、所与の矩形におけるピクセル値の和を算出する必要がある。和の階層の使用法は、図4Aにおけるウィンドウ414を参照して例示することができる。ウィンドウ414内のすべてのピクセル値の和を算出する場合、階層における第1の和レベルからの、グレー表示された、セルまたはブロック416aおよび416b(図4B)に対応する和値を使用して、図4Aにおけるウィンドウ414内のすべてのピクセルを単に加算する場合よりも計算効率を高めることができる。図示からわかるように、和値416aおよび416bに加えて、ピクセル値418a…418nも追加する必要がある。しかし、この場合でも、任意のウィンドウ414に関してピクセル値の和を算出するのに必要な計算の数が少なくなる。代替的に、ウィンドウ414は、(図4Cに示す)階層における第2の和レベルからのセルまたはブロック420aおよび420bに対応する和値を使用することによって算出することができる。この例では、ウィンドウ414内のピクセル値の和を算出する場合、420aおよび420bに対応する和値を加算し、すべてのピクセル値422a…422nを減算し、値418i…418nを加算する。この例では、いくつかの追加の計算を示すが、和の階層からの和値によって計算の複雑さがある程度軽減されることを理解されたい。さらに、ウィンドウが階層における特定の和レベルに関連する領域により厳密に揃う状況では、計算効率が著しく向上する。
【００３７】
図5は、コンピュータビジョン(CV)特徴を検出するためのビジョンセンサを備える例示的なシステムの態様を示すブロック図である。
【００３８】
ビジョンセンサは、図3Aおよび図4Aにおいて説明したピクセルアレイと同様の複数のピクセルのピクセルアレイ504を含んでもよい。ピクセルアレイ504は、ピクセルアレイの、列および行などの2次元に配列されたピクセルを含む2次元アレイであってもよい。各ピクセルは、環境条件に基づくセンサ読取値を生成することが可能であってもよい。たとえば、フォトダイオードがセンサ読取値を受信するための手段を構成してもよい。いくつかの実装形態では、ビジョンセンサは、ピクセルに入射する光に基づくセンサ読取値を生成してもよい。様々な実装形態において、ピクセルの形状、ピクセルの数、およびピクセル間の間隔には、本発明の範囲から逸脱することなく広範囲の変更を施してよい。ピクセル212は、ピクセルのグリッドから得られる例示的なピクセルを表す。
【００３９】
いくつかの実装形態では、階層的計算生成ハードウェア506モジュールが、CV計算に関する階層的計算値をメモリバッファ508に維持するためにピクセルに結合された周辺回路(計算構造)として実装されてもよい。場合によっては、そのような周辺回路は、オンチップセンサ回路と呼ばれることがある。
【００４０】
いくつかの実装形態では、階層的計算生成ハードウェア506は、ピクセルアレイ504に結合され、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、埋込み型マイクロプロセッサ、または本開示の態様を実行するための同様のアナログコンピューティング論理またはデジタルコンピューティング論理を使用して実現される専用CV計算ハードウェアと通信してもよい。階層的計算生成ハードウェアとCV計算ハードウェアの一方、他方、または両方のアナログコンピューティング論理またはデジタルコンピューティング論理は、加算器、比較器、マルチプレクサ、デマルチプレクサ、シフタ、および本明細書において説明する階層的計算またはCV計算を実行するための手段としての他のいくつかの構成要素を構成してもよい。
【００４１】
階層的計算生成ハードウェア506は、計算の階層としてのピクセルアレイの複数のピクセル表現をメモリバッファ508内に維持してもよい。上記において図3A〜図3Dおよび図4A〜図4Dにおいて説明したように、計算の階層の下位レベルよりも上の各レベルは、階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含んでもよく、計算の階層の各レベルにおける1つまたは複数の値の各々が、ピクセルアレイによってキャプチャされた画像内の領域に関連付けられる。本開示のいくつかの態様によれば、所与のレベルよりも上の計算の階層のレベルを更新することは、所与のレベルよりも上の計算の階層のレベルの各々における値のうちのいくつかのみを更新することを含む。たとえば、ピクセルがレベル自体に関する4つの象限に分割されるレベルでは、ピクセルのグリッドの4つの象限のうちの1つにおいてイベントが検出された場合、計算はイベントが検出された象限に関してのみ実行され、それによって、必要な計算の数が減る。
【００４２】
いくつかの実装形態では、階層的計算生成ハードウェア506によってメモリバッファ508に維持される計算の階層は、和の階層の下位レベルよりも上の各レベルが階層の下位レベルからの値の加重和を表す1つまたは複数の値を含む和の階層を含んでもよい。いくつかの実装形態では、デジタルマルチプレクサおよびデジタルデマルチプレクサ、アナログマルチプレクサおよびアナログデマルチプレクサ、または論理アナログマルチプレクサおよび論理デマルチプレクサが、計算の階層のいくつかの部分を選択し選択解除するための手段として設けられてもよく、デジタル加算器、アナログ加算器、または論理加算器が計算の階層からのいくつかの値を加算するために使用されてもよい。
【００４３】
本開示のいくつかの態様では、コンピュータビジョン特徴計算ハードウェア510は、メモリバッファ508から値を読み取り、計算の更新された階層に基づいてコンピュータビジョン特徴を算出するように構成されてもよい。コンピュータビジョン特徴計算ハードウェア510は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せにおいてコンピュータビジョン特徴を算出するように構成された個別プロセッサまたは汎用プロセッサであってもよい。本開示の一態様では、コンピュータビジョン計算は、下位レベルよりも上のレベルに関する階層の下位レベルからの値に基づいてもよい。たとえば、和の階層は、画像内のピクセルのサンプルブロックに関するHaar-like特徴を算出する際にコンピュータビジョン特徴計算ハードウェア510によって使用されてもよい。サンプルブロックは、画像のサブ部分を指す場合がある。Haar-like特徴は、図4Aおよびウィンドウ414を参照して例示したように、画像のピクセルのサンプルブロックを最も厳密に近似する和の階層におけるレベルに相当する和値に基づいて算出されてもよい。合計すべき画像のサンプルブロックを最も厳密に近似する和の階層におけるレベルは、画像のサンプルブロックによって囲まれる画像内の最大領域に関連する階層におけるレベルであってもよい。サンプルブロックによって囲まれる領域は、本明細書では完全にサンプルブロック内に位置する領域を指すのに使用される。代替的に、合計すべき画像のサンプルブロックを最も厳密に近似する和の階層におけるレベルは、画像のサンプルブロックを完全に囲む画像内の最小領域に関連する階層におけるレベルであってもよい。サンプルブロックを囲む領域は、本明細書では、ブロックが完全に内部に位置する領域を指すのに使用される。しかし、図4Aおよびウィンドウ414の説明に示すように、すべてがサンプルブロック内のピクセルを個々に加算するよりも効率的である、ピクセルのサンプルブロック内のピクセル値の和を算出する複数の方法があってもよい。
【００４４】
いくつかの実装形態では、制御論理502が階層的計算生成ハードウェア506、メモリバッファ508、およびコンピュータビジョン特徴計算ハードウェア510におけるいくつかの機能を起動してもよい。たとえば、光(たとえば、明滅ライト514)の変化および/または光の変化としての電圧の変化が、ピクセルアレイ504において検出されてもよく、イベントが生成されてもよい。イベントが、光または電圧が事前設定されるか、事前構成されるか、または動的に構成される基準しきい値を超える量だけ変化したことを示し、このイベントを他の機能ブロックに対してトリガさせてもよい。そのような比較を実行するための手段としてデジタル比較器、アナログ比較器、および論理比較器が設けられてもよい。たとえば、階層的計算生成ハードウェア506が計算の階層を更新し、メモリバッファ508が情報をロードして記憶し、コンピュータビジョン特徴計算ハードウェア510が供給されたデータからコンピュータビジョン特徴を算出するようにイベントがトリガしてもよい。
【００４５】
さらに、本発明の態様は、ピクセル内回路、周辺回路、または専用処理論理、あるいはそれらの任意の組合せにおいて実施されてもよい。本明細書で使用するピクセル内回路は、ピクセルアレイ504に組み込まれた回路または論理を指すことがあり、一方、周辺回路は、ピクセルアレイ504に組み込まれないかあるいはピクセルアレイ504の外部に位置する回路を指すことがある。同じく、本発明の態様は、アナログ領域および/またはデジタル領域、あるいはそれらの任意の組合せの中に実装されてもよい。
【００４６】
上記において、本開示のいくつかの態様によるビジョンセンサについて説明したが、本開示の態様によれば様々な異なるセンサが改善される場合がある。例示的なセンサには、光センサ、嗅覚センサ、および/または化学センサが含まれることがある。本開示全体にわたって光センサについて説明するが、同様の技法は、本発明の範囲から逸脱することなく、他のタイプのセンサにおいて利用されてよい。
【００４７】
コンピュータビジョン特徴計算ハードウェア510は、計算の更新された階層に基づいてコンピュータビジョン特徴を算出するように構成されてもよい。
【００４８】
図6は、本開示のいくつかの態様による例示的なフローチャートである。プロセス600(あるいは本明細書で説明する任意の他のプロセス、あるいはそれらの変形形態および/または組合せ)の一部または全部は、ピクセルアレイ、ピクセルアレイに結合されたコンピューティングシステム、またはそれらの任意の組合せ上の回路によって実行されてもよい。場合によっては、後述の、1つまたは複数のブロックあるいはブロックの一部を実行する際に非一時的コンピュータ可読媒体上に記憶された命令が使用されてもよい。
【００４９】
ブロック602において、ピクセルアレイまたはピクセルアレイに結合されたコンピューティングデバイスの構成要素は、ピクセルアレイにおける1つまたは複数のピクセルからの値を受信し、各ピクセルは、環境条件に基づいてセンサ読取値を生成することができるセンサ要素を備える。
【００５０】
ブロック604において、ピクセルアレイまたはピクセルアレイに結合されたコンピューティングデバイスの構成要素は、ピクセルアレイからの値を計算の階層として表し、計算の階層の下位レベルよりも上の各レベルは、階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含む。
【００５１】
いくつかの態様では、計算の階層は、階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含む。計算は、階層の下位レベルに関する値の単純和または加重和、階層の下位レベルに関する値の平均、階層の下位レベルに関する値に基づくローカルバイナリパターン、階層の下位レベルに関する値に基づく配向勾配ヒストグラム、または階層の下位レベルに関する値に基づく他のコンピュータビジョン特徴計算を含むことができる。計算の階層における様々なレベルがそれぞれに異なる計算を表してもよい。たとえば、計算の階層の第1のレベルが、ピクセルアレイにおけるピクセルからの値に基づくローカルバイナリパターンを表してもよく、階層の上位レベルが第1のレベルのローカルバイナリパターン値の異なる計算を表してもよい。別の例として、計算の階層の第1のレベルが、ピクセルアレイにおけるピクセルからの値に基づく単純和または加重和を表してもよく、階層の上位レベルが、第1のレベルに基づくローカルバイナリパターン、配向勾配ヒストグラム、または他のコンピュータビジョン特徴のうちの1つを表してもよい。階層のずっと高いレベルが、ローカルバイナリパターン、配向勾配ヒストグラム、または他のコンピュータビジョン特徴のうちの1つに対する異なる計算を表してもよい。いくつかの実装形態では、計算の階層の少なくとも2つのレベルが、下位レベルの値に対して実行されるそれぞれに異なる計算を伴う。
【００５２】
ブロック606において、ピクセルアレイまたはピクセルアレイに結合されたコンピューティングデバイスの構成要素は、ピクセルに関する新しい値を認識する。たとえば、少なくとも1つのイベントを受信したことに応答するかあるいは少なくとも1つのイベントを受信することによって、ピクセルに関する新しい値が認識されてもよい。イベントは、基準しきい値を超える、ピクセルにおける感知環境の変化によって生じる電圧レベルの変化を検出することに基づいて生じてもよい。
【００５３】
ブロック608において、ピクセルアレイまたはピクセルアレイに結合されたコンピューティングデバイスの構成要素は、いくつかの実施形態では、計算の階層からの計算の一部のみを更新する。変化したピクセルに関連する和値のみが変化し、一方、影響を受けない和値は再計算されない。
【００５４】
ブロック610において、ピクセルアレイまたはピクセルアレイに結合されたコンピューティングデバイスの構成要素は、計算の階層からの計算を使用してコンピュータビジョン演算を実行してもよい。コンピュータビジョン演算は、本明細書では一例として、計算の階層が和の階層である実装形態に関して説明するように、Haar特徴またはHaar-like特徴を検出することを含んでもよい。しかし、他のコンピュータビジョン方法はまた、LBPまたはLBPの拡張機能などのピクセル値に基づく計算(和など)を使用し、したがって、他のコンピュータビジョン技法には、計算の階層を使用すると有利である場合がある。ピクセルアレイは、1次元アレイ、2次元アレイ、または3次元アレイであってもよい。
【００５５】
いくつかの実施形態では、ピクセルアレイにおける値を計算の階層として表すことは、ピクセルアレイにおける値を平均の階層として表すことを含む。Haar-like特徴計算などのコンピュータビジョン演算は、平均の階層を使用して実行されてもよい。
【００５６】
一実装形態では、値を記憶するセルのグループを平均化する場合、セルのグループを短絡させてセル内の記憶された値を平均化してもよい。そのような技法は、計算、電力、および回路の効率を高める場合があるが、平均を生成するデータを破壊する破壊動作が生じる場合もある。
【００５７】
図6に示す特定のステップが、一実施形態による、計算の階層を更新して、コンピュータビジョン計算および/または演算などの以後の演算の効率を高める特定の方法を実現することを諒解されたい。代替実施形態では、ステップの他のシーケンスが実行されてもよい。たとえば、代替実施形態では、上で概説したステップ/ブロックを異なる順序において実行してもよい。一例として、ユーザは、第3の動作モードから第1の動作モードに変更すること、第4のモードから第2のモードに変更すること、またはそれらの変更の任意の組合せを選んでもよい。その上、図6に示される個々のステップ/ブロックは、個々のステップに適切な様々な順序で実行される場合がある、複数のサブステップを含んでもよい。さらに、追加のステップ/ブロックが、具体的な用途に応じて、追加または削除されてもよい。当業者には、多くの変形形態および修正形態が認識されよう。
【００５８】
図7は、本開示のいくつかの態様による例示的なフローチャートである。プロセス700(あるいは本明細書で説明する任意の他のプロセス、あるいはそれらの変形形態および/または組合せ)の一部または全部は、ピクセルアレイ、ピクセルアレイに結合されたコンピューティングシステム、またはそれらの任意の組合せ上の回路によって実行されてもよい。場合によっては、後述の、1つまたは複数のブロックあるいはブロックの一部を実行する際に非一時的コンピュータ可読媒体上に記憶された命令が使用されてもよい。
【００５９】
ブロック702において、ピクセルアレイまたはピクセルアレイに結合されたコンピューティングデバイスの構成要素は、ピクセルアレイの2つ以上のピクセルからの値を計算の階層として表し、計算の階層の下位レベルよりも上の各レベルが、階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の階層の各レベルが、ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、ピクセルアレイの各ピクセルは、環境条件に基づいてセンサ読取値を生成することができるセンサ要素を備える。
【００６０】
いくつかの態様では、計算の階層は、階層の下位レベルからの値に基づく計算を表す1つまたは複数の値を含む。計算は、階層の下位レベルに関する値の単純和または加重和、階層の下位レベルに関する値の平均、階層の下位レベルに関する値に基づくローカルバイナリパターン、階層の下位レベルに関する値に基づく配向勾配ヒストグラム、または階層の下位レベルに関する値に基づく他のコンピュータビジョン特徴計算を含むことができる。
【００６１】
ブロック704において、ピクセルアレイまたはピクセルアレイに結合されたコンピューティングデバイスの構成要素は、新しい値が基準しきい値を超える量だけ前の値と異なる場合にのみ、この新しい値に基づく所与のレベルよりも上の計算の階層のレベルを更新し、基準しきい値を超える量だけ変化した値が所与のレベルの値の中にはない場合には、所与のレベルよりも上の計算の階層のレベルを更新しない。たとえば、計算の階層の第1のレベルが、画像の複数のピクセルに関するローカルバイナリパターン計算を表してもよい。システムが所与のフレームレートで画像をキャプチャしている際に画像内の多くのピクセル値が画像ごとに変化する場合があるが、ローカルバイナリパターンの値は変化しない場合がある。したがって、ローカルバイナリパターンは、基準しきい値を超える量のピクセル値の変化を示すピクセルに関して再計算される場合があるが、ローカルバイナリパターンが変化しない場合、計算の階層の上位レベルを再計算する必要はない。しかし、この例の第1のレベルにおける1つまたは複数のローカルバイナリパターン値に関して変化が検出された場合、階層のこの第1のローカルバイナリパターン計算レベルよりも上の計算の階層のレベルを更新することができる。そのような場合、変化したローカルバイナリパターン値と同じ画像領域に相当する値のみを更新する必要があり、したがって、所与のレベルよりも上の計算の階層のレベルを更新することは、所与のレベルよりも上の計算の階層の各レベルにおける値のうちのいくつかのみを更新することを含むことができる。階層計算が和の階層である実装形態では、ピクセル値が変化すると、(画像全体の和を表す場合がある最高レベルを除く)各レベルにおけるすべての和値ではなく、ピクセルが存在するディスプレイの領域に対応する様々なレベルにおける和に関する値が変化する。和の階層の場合、所与のレベルにおける新しい値に基づくこの所与のレベルよりも上の計算の階層のレベルを更新することは、ピクセルアレイにおけるあるピクセルに対応する新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、このピクセルの新しい値に基づく和の階層を更新し、基準しきい値を超える量だけ変化した値がピクセルアレイにおけるピクセルに対応する値の中にはない場合には、和の階層を更新しないことを含むことができる。
【００６２】
ブロック706において、コンピューティングデバイスの構成要素が、計算の更新された階層に基づいてコンピュータビジョン特徴を算出する。計算の階層は、和、平均、または他の適切な演算を含んでもよい。たとえば、計算の階層は、和の階層の下位レベルよりも上の各レベルが、階層の下位レベルからの値の加重和を表す1つまたは複数の値を含む和の階層を含んでもよい。和の階層は、画像のサンプル領域に関するHaar-like特徴を算出する際に使用されてもよい。Haar-like特徴は、上記において図5を参照して説明したように、和が望ましい領域を最も厳密に近似する和の階層におけるレベルに相当する和値に基づいて算出されてもよい。
【００６３】
図7に示す具体的なステップが、一実施形態による、和の階層を更新しならびに/あるいは使用する特定の方法を提供することを諒解されたい。代替実施形態では、ステップの他のシーケンスが実行されてもよい。たとえば、代替実施形態では、上で概説したステップ/ブロックを異なる順序において実行してもよい。一例として、ユーザは、第3の動作モードから第1の動作モードに変更すること、第4のモードから第2のモードに変更すること、またはそれらの変更の任意の組合せを選んでもよい。その上、図7に示される個々のステップ/ブロックは、個々のステップに適切な様々な順序において実行される場合がある複数のサブステップを含んでもよい。さらに、追加のステップ/ブロックが、具体的な用途に応じて、追加または削除されてもよい。当業者には、多くの変形形態および修正形態が認識されよう。
【００６４】
図8は、1つまたは複数の実施形態が実装される場合があるコンピューティングシステムの一例を示す。
【００６５】
図8に示すコンピューティングシステムは、上述のコンピュータ化デバイスの一部分として組み込まれてもよい。たとえば、コンピューティングシステム800は、テレビ、コンピューティングデバイス、サーバ、デスクトップ、ワークステーション、自動車内の制御システムもしくはインタラクションシステム、タブレット、ネットブック、モバイルデバイス、または任意の他の適切なコンピューティングシステムの構成要素のうちのいくつかを表すことができる。コンピューティングデバイスは、画像キャプチャデバイスまたは入力感知ユニットとユーザ出力デバイスとを備える任意のコンピューティングデバイスであってよい。画像キャプチャデバイスまたは入力感知ユニットは、カメラデバイスであってよい。ユーザ出力デバイスは、ディスプレイユニットであってよい。コンピューティングデバイスの例は、限定はしないが、ビデオゲームコンソール、タブレット、スマートフォン、および任意の他のハンドヘルドデバイスを含む。図8は、本明細書において説明するような、種々の他の実装形態によって提供される方法を実行することができ、ならびに/あるいはホストコンピューティングシステム、リモートキオスク/端末、販売時点情報管理デバイス、自動車内の電話インターフェースもしくはナビゲーションインターフェースもしくはマルチメディアインターフェース、コンピューティングデバイス、セットトップボックス、テーブルコンピュータ、および/またはコンピュータシステムとしての機能を果たすことができる、コンピュータシステム800の一実装形態の概略図を示す。図8は、種々の構成要素の一般化された図を示すことのみを意図しており、必要に応じて、それらの構成要素のいずれかまたはすべてが利用される場合がある。したがって、図8は、個々のシステム要素が、比較的分離された状態または比較的統合された状態でどのように実装され得るかを概略的に示す。
【００６６】
コンピューティングシステム800は、バス802を介して電気的に結合することができる(または必要に応じて他の方法で通信する場合がある)ハードウェア要素を備えるものとして示されている。ハードウェア要素は、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の専用プロセッサ(デジタル信号処理チップ、グラフィックス処理ユニット822、ビジョンセンサ826用の専用マイクロプロセッサ824など)を限定なしに含む1つまたは複数のプロセッサ804と、1つもしくは複数のカメラ、センサ、マウス、キーボード、および/または超音波もしくは他の音波などを検出するように構成されたマイクロフォンなどを限定なしに含むことができる1つまたは複数の入力デバイス808と、本発明の実装形態に使用されるデバイスなどのディスプレイユニット、および/またはプリンタなどを限定なしに含むことができる1つまたは複数の出力デバイス810とを含んでもよい。追加のカメラ820は、ユーザの四肢およびジェスチャーの検出のために使用されてもよい。いくつかの実装形態では、入力デバイス808は、赤外線センサ、深度センサ、および/または超音波センサなどの1つまたは複数のセンサを含んでもよい。コンピューティングシステム800は、ピクセルアレイ828と専用マイクロプロセッサ824とを含む場合があるビジョンセンサ826を含んでもよい。専用マイクロプロセッサ824は、計算の階層を算出し記憶することなど、上述の計算を実行してもよい。同様に、ビジョンセンサ826は、本明細書の他の部分において説明する計算の階層の実装形態に関与する場合があり、ピクセルアレイ828と専用マイクロプロセッサ824との間に電子的に配設される場合があるアナログ計算ブロックまたはデジタル計算ブロック、メモリブロック、および/または走査ウィンドウなどの周辺回路を含んでもよい。したがって、コンピュータビジョン特徴計算に関して、計算の階層は、専用マイクロプロセッサ824または周辺回路内に存在するか、あるいは専用マイクロプロセッサ824と周辺回路との間に分配されてもよい。上述の計算がコンピューティングシステム800のプロセッサ804において実行される場合があることを理解されたい。
【００６７】
本発明の実施形態のいくつかの実装形態では、様々な入力デバイス808および出力デバイス810は、ディスプレイデバイス、テーブル、床、壁、およびウィンドウスクリーンなどのインターフェースに埋め込まれる場合がある。さらに、プロセッサに結合された入力デバイス808および出力デバイス810は、多次元追跡システムを形成してもよい。
【００６８】
コンピューティングシステム800はさらに、1つまたは複数の非一時的ストレージデバイス806を含んでもよい(ならびに/あるいは非一時的ストレージデバイス806と通信してもよい)。非一時的ストレージデバイス806は、限定はしないが、ローカルネットワークアクセス可能ストレージおよび/またはネットワークアクセス可能ストレージを備えてもよく、ならびに/あるいは、限定はしないが、ディスクドライブ、ドライブアレイ、光学ストレージデバイス、ランダムアクセスメモリ(「RAM」)などの固体ストレージデバイス、および/または読取り専用メモリ(「ROM」)を含むことができ、これらのストレージデバイスはプログラム可能、フラッシュ更新可能などであってもよい。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、および/またはデータベース構造などを含む、任意の適切なデータストレージを実装するように構成されてもよい。
【００６９】
コンピューティングシステム800は、限定はしないが、モデム、ネットワークカード(ワイヤレスまたはワイヤード)、赤外線通信デバイス、ワイヤレス通信デバイス、および/またはチップセット(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信施設など)などを含んでよい通信サブシステム812を含んでもよい。通信サブシステム812は、ネットワーク、他のコンピューティングシステム、および/または本明細書において説明する任意の他のデバイスとデータを交換できるようにする場合がある。多くの実装形態において、コンピューティングシステム800はさらに、非一時的な作業メモリ818も備え、非一時的な作業メモリ818は、前述のようなRAMまたはROMデバイスを含むことができる。
【００７０】
コンピューティングシステム800はまた、ソフトウェア要素も備えることができ、これらのソフトウェア要素は、現在、作業メモリ818内に位置するように示されている。これらのソフトウェア要素は、オペレーティングシステム814、デバイスドライバ、実行可能ライブラリ、および/または、1つもしくは複数のアプリケーションプログラム816など他のコードを含み、アプリケーションプログラム816は、様々な実装形態によって提供されるコンピュータプログラムを含んでもよく、ならびに/あるいは、本明細書に記載のように、方法を実装することおよび/または他の実装形態によって提供されるシステムを構成することを行うように設計されてよい。単に一例として、上述の方法に関連して説明した1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実現することができ、一態様では、その後、そのようなコードおよび/または命令は、たとえば、上述の図のいずれかにおいて説明した方法を含む、上述の方法に従って1つまたは複数の動作を実行するように、汎用コンピュータ(または他のデバイス)を構成しならびに/あるいは適合するために使用することができる。
【００７１】
これらの命令および/またはコードのセットは、前述のストレージデバイス806などのコンピュータ可読記憶媒体に記憶されることがある。場合によっては、記憶媒体は、コンピューティングシステム800などのコンピューティングシステム内に組み込まれることがある。他の実装形態では、記憶媒体は、そこに記憶された命令/コードを用いて汎用コンピュータをプログラムし、構成し、および/または適合させるために使用することができるように、コンピュータシステムから分離されてもよく(たとえば、コンパクトディスクなどのリムーバブル媒体)、かつ/またはインストールパッケージにおいて提供されてもよい。これらの命令は、コンピューティングシステム800によって実行可能である場合がある実行可能コードの形をとってもよく、ならびに/あるいは、ソースコードおよび/またはインストール可能コードの形をとることがあり、その場合、このソースおよび/またはインストール可能コードは、コンパイル時および/またはコンピューティングシステム800へのインストール時(たとえば、一般に利用可能な様々なコンパイラ、インストールプログラム、圧縮/圧縮解除ユーティリティなどのうちのいずれかを使用する)に、実行可能コードの形をとる。
【００７２】
特定の要件に従って、大幅な変更がなされてもよい。たとえば、カスタマイズされたハードウェアが使用されることもあり、かつ/または特定の要素がハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくはその両方で実施されることがある。さらに、ネットワーク入出力デバイスなどの他のコンピューティングデバイスへの接続が使用されることがある。いくつかの実施形態では、コンピューティングシステム800の1つまたは複数の要素は、省略されてもよく、あるいは図示したシステムとは別個に実装されてもよい。たとえば、プロセッサ804および/または他の要素は、入力デバイス808とは別個に実装されてもよい。一実装形態では、プロセッサは、別個に実装される1つまたは複数のカメラから画像を受け取るように構成されてもよい。いくつかの実装形態では、図8に示した要素の他の要素が、コンピューティングシステム800に含まれてもよい。
【００７３】
いくつかの実装形態は、コンピューティングシステム(コンピューティングシステム800など)を使用して、本開示による方法、たとえば、図5Aおよび図5Bにおいて説明した方法ならびに図3A〜図3Dおよび図4A〜図4Dを参照して説明した技法を実行してもよい。たとえば、作業メモリ818に含まれる1つまたは複数の命令(オペレーティングシステム814および/またはアプリケーションプログラム816などの他のコードに組み込まれている場合がある)の1つまたは複数のシーケンスをプロセッサ804が実行するのに応答して、上述の方法のプロシージャのいくつかまたはすべてがコンピューティングシステム800によって実施されてもよい。いくつかの実装形態では、プロセッサ804は、計算の階層を算出し記憶することなど、上述の計算を実行してもよい。そのような命令は、ストレージデバイス806のうちの1つまたは複数など、別のコンピュータ可読媒体から、作業メモリ818に読み込まれてもよい。単に一例として、ワーキングメモリ818に含まれる命令のシーケンスを実行すると、プロセッサ804が、本明細書で説明する方法の1つまたは複数の手順を実行する場合がある。
【００７４】
本明細書において使用する「マシン可読媒体」および「コンピュータ可読媒体」という用語は、マシンに特定の様式で動作させるデータを提供することに関与する任意の媒体を指す。コンピューティングシステム800を使用して実現されるいくつかの実施形態では、種々のコンピュータ可読媒体が、命令/コードを実行できるようにプロセッサ804に与えることに関与することがあり、ならびに/あるいはそのような命令/コードの(たとえば、信号としての)記憶および/または伝達に使用されることがある。多くの実装形態において、コンピュータ可読媒体は、物理的な記憶媒体および/または有形の記憶媒体であってもよい。そのような媒体は、限定はしないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、数多くの形をとってもよい。不揮発性媒体は、たとえば、ストレージデバイス806などの光学ディスクおよび/または磁気ディスクを含む。揮発性媒体は、限定はしないが、作業メモリ818などのダイナミックメモリを含む。伝送媒体は、限定ではないが、バス802を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバ、ならびに通信サブシステム812の様々なコンポーネントを構成するワイヤ(および/または、通信サブシステム812が他のデバイスとの通信を行うための媒体)を含む。したがって、伝送媒体はまた、波(限定はしないが、電波通信および赤外線データ通信中に生成されるような、電波、音波および/または光波を含む)の形をとることもできる。
【００７５】
物理的および/または有形のコンピュータ可読媒体の一般的な形態は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップまたはカートリッジ、以下で説明する搬送波、あるいは、コンピュータが命令および/またはコードを読み出すことができる任意の他の媒体を含む。
【００７６】
様々な形のコンピュータ可読媒体が、1つまたは複数の命令の1つまたは複数のシーケンスを実行するためにプロセッサ804に搬送することに関わる場合がある。単に一例として、命令は最初に、リモートコンピュータの磁気ディスクおよび/または光学ディスク上で伝達されてもよい。リモートコンピュータは、命令をそのダイナミックメモリにロードし、コンピューティングシステム800によって受信されならびに/あるいは実行されるように伝送媒体を介して命令を信号として送ってもよい。これらの信号は、電磁信号、音響信号、および/または光信号などの形態であってもよく、そのすべてが、本発明の様々な実装形態による、命令を符号化することができる搬送波の例である。
【００７７】
通信サブシステム812(および/またはその構成要素)が一般に、信号を受信し、次いで、バス802が、信号(および/または、信号によって伝達されるデータや命令など)を作業メモリ818に伝達してもよく、作業メモリ818から、プロセッサ804が命令を取り出して実行する。作業メモリ818によって受け取られた命令は、場合によっては、プロセッサ804によって実行される前または後のいずれかに、非一時的ストレージデバイス806に記憶されてよい。
【００７８】
開示されたプロセスにおけるステップの特定の順序または階層は、例示的な手法の例示であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの特定の順序または階層が並べ替えられてもよいことを理解されたい。さらに、いくつかのステップは、組み合わされるか、または省略される場合がある。添付の方法クレームは、種々のステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されることは意図していない。
【００７９】
前述の説明は、いかなる当業者も本明細書で説明する様々な態様を実践することを可能にするために提供される。これらの態様に対する様々な修正は、当業者に容易に明らかになり、本明細書で定義する一般原理は、他の態様に適用されてもよい。さらに、本明細書において開示されるものはいずれも、公共用に提供することは意図していない。
【符号の説明】
【００８０】
300  ピクセルアレイ
302a  ピクセル
303  ゼロ番目の和レベル
304a  値
305  第1の和レベル
306a  値
307  第2の和レベル
308a  値
309  第3の和レベル
402  ピクセル値
404  影付き領域
406  影付き領域
414  ウィンドウ
504  ピクセルアレイ
506  階層的計算生成ハードウェア
508  メモリバッファ
510  コンピュータビジョン特徴計算ハードウェア
800  コンピューティングシステム
802  バス
804  プロセッサ
806  非一時的ストレージデバイス
808  入力デバイス
810  出力デバイス
812  通信サブシステム
814  オペレーティングシステム
816  アプリケーション
818  非一時的な作業メモリ
820  カメラ
822  グラフィックス処理ユニット
824  専用マイクロプロセッサ
826  ビジョンセンサ
828  ピクセルアレイ
【図１Ａ】
2018514853.tif 000002
【図１Ｂ】
2018514853.tif 000003
【図２Ａ】
2018514853.tif 000004
【図２Ｂ】
2018514853.tif 000005
【図３Ａ】
2018514853.tif 000006
【図３Ｂ】
2018514853.tif 000007
【図３Ｃ】
2018514853.tif 000008
【図３Ｄ】
2018514853.tif 000009
【図４Ａ】
2018514853.tif 000010
【図４Ｂ】
2018514853.tif 000011
【図４Ｃ】
2018514853.tif 000012
【図４Ｄ】
2018514853.tif 000013
【図５】
2018514853.tif 000014
【図６】
2018514853.tif 000015
【図７】
2018514853.tif 000016
【図８】
2018514853.tif 000017
【手続補正書】
【提出日】平成29年10月3日(2017.10.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータビジョン特徴を判定するためのコンピューティングシステムであって、
複数のピクセルを備えるビジョンセンサであって、前記ピクセルがピクセルアレイの少なくとも第1の次元および第2の次元に沿って配列され、前記複数のピクセルの各々がそれぞれのピクセルに入射する光に基づく信号を生成することができるビジョンセンサと、
前記ビジョンセンサおよびメモリバッファに結合され、計算の階層としての前記ピクセルアレイの前記複数のピクセルの表現を前記メモリバッファに維持するように構成された階層的計算生成ハードウェアであって、計算の前記階層の下位レベルよりも上の各レベルが、前記階層の前記下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の前記階層の各レベルの前記1つまたは複数の値の各値が、前記ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、前記各レベルに関する前記1つまたは複数の値が、前記ピクセルアレイによってキャプチャされた画像全体を表し、
所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、前記新しい値に基づいて前記所与のレベルよりも上の計算の前記階層のレベルを更新し、前記基準しきい値を超える量だけ変化した値が、前記所与のレベルの値の中にはない場合には、前記所与のレベルよりも上の計算の前記階層の前記レベルを更新しないようにさらに構成される階層的計算生成ハードウェアと、
計算の前記更新された階層に基づいてコンピュータビジョン特徴を算出するように構成されたコンピュータビジョン特徴計算ハードウェアとを備えるコンピューティングシステム。
【請求項２】
前記新しい値に、前記所与のレベルにおける1つまたは複数の値が前記基準しきい値を超える量だけ変化したことを示すイベントが付随する、請求項1に記載のコンピューティングシステム。
【請求項３】
前記所与のレベルはピクセルレベルであり、前記イベントは、基準電圧しきい値を超える、前記ピクセルにおける感知環境の変化によって生じる電圧レベルの変化を検出することを含む、請求項2に記載のコンピューティングシステム。
【請求項４】
計算の前記階層は和の階層を含み、前記和の前記階層の前記下位レベルよりも上の各レベルは、前記階層の前記下位レベルからの値の加重和を表す1つまたは複数の値を含み、前記和の前記階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される、請求項1に記載のコンピューティングシステム。
【請求項５】
前記Haar-like特徴は、前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層におけるレベルに相当する和値に基づいて算出される、請求項4に記載のコンピューティングシステム。
【請求項６】
合計すべき前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層における前記レベルは、前記画像の前記サンプル領域の下位領域によって囲まれる前記画像内の最大領域に関連する前記レベルを含む、請求項5に記載のコンピューティングシステム。
【請求項７】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、単純和、加重和、または平均のうちの1つである、請求項1に記載のコンピューティングシステム。
【請求項８】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、コンピュータビジョン計算である、請求項1に記載のコンピューティングシステム。
【請求項９】
前記所与のレベルよりも上の計算の前記階層の前記レベルを更新することは、前記所与のレベルよりも上の計算の前記階層の前記レベルの各々における前記値のうちのいくつかのみを更新することを含む、請求項1に記載のコンピューティングシステム。
【請求項１０】
ピクセルアレイの2つ以上のピクセルからの値を計算の階層として表すステップであって、計算の前記階層の下位レベルよりも上の各レベルが、前記階層の前記下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の前記階層の各レベルの前記1つまたは複数の値の各値が、前記ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、前記ピクセルアレイの各ピクセルが、環境条件に基づいてセンサ読取値を生成することができるセンサ要素を備え、前記各レベルに関する前記1つまたは複数の値が、前記ピクセルアレイによってキャプチャされた画像全体を表す、ステップと、
所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、前記新しい値に基づいて前記所与のレベルよりも上の計算の前記階層のレベルを更新し、前記基準しきい値を超える量だけ変化した値が、前記所与のレベルの値の中にはない場合には、前記所与のレベルよりも上の計算の前記階層の前記レベルを更新しないステップと、
計算の前記更新された階層に基づいてコンピュータビジョン特徴を算出するステップとを含む方法。
【請求項１１】
前記新しい値に、前記所与のレベルにおける1つまたは複数の値が前記基準しきい値を超える量だけ変化したことを示すイベントが付随する、請求項10に記載の方法。
【請求項１２】
前記所与のレベルはピクセルレベルであり、前記イベントは、基準電圧しきい値を超える、前記ピクセルにおける感知環境の変化によって生じる電圧レベルの変化を検出することを含む、請求項11に記載の方法。
【請求項１３】
計算の前記階層は和の階層を含み、前記和の前記階層の前記下位レベルよりも上の各レベルは、前記階層の前記下位レベルからの値の加重和を表す1つまたは複数の値を含み、前記和の前記階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される、請求項10に記載の方法。
【請求項１４】
前記Haar-like特徴は、前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層におけるレベルに相当する和値に基づいて算出される、請求項13に記載の方法。
【請求項１５】
合計すべき前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層における前記レベルは、前記画像の前記サンプル領域の下位領域によって囲まれる前記画像内の最大領域に関連する前記レベルを含む、請求項14に記載の方法。
【請求項１６】
前記ピクセルアレイは2次元アレイである、請求項10に記載の方法。
【請求項１７】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、単純和、加重和、または平均のうちの1つである、請求項10に記載の方法。
【請求項１８】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、コンピュータビジョン計算である、請求項10に記載の方法。
【請求項１９】
前記所与のレベルよりも上の計算の前記階層の前記レベルを更新するステップは、前記所与のレベルよりも上の計算の前記階層の前記レベルの各々における前記値のうちのいくつかのみを更新するステップを含む、請求項10に記載の方法。
【請求項２０】
ピクセルアレイの2つ以上のピクセルからの値を計算の階層として表すための手段であって、計算の前記階層の下位レベルよりも上の各レベルが、前記階層の前記下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の前記階層の各レベルの前記1つまたは複数の値の各値が、前記ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、前記ピクセルアレイの各ピクセルが、環境条件に基づいてセンサ読取値を生成することができるセンサ要素を備え、前記各レベルに関する前記1つまたは複数の値が、前記ピクセルアレイによってキャプチャされた画像全体を表す、手段と、
所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、前記新しい値に基づいて前記所与のレベルよりも上の計算の前記階層のレベルを更新し、前記基準しきい値を超える量だけ変化した値が、前記所与のレベルの値の中にはない場合には、前記所与のレベルよりも上の計算の前記階層の前記レベルを更新しないための手段と、
計算の前記更新された階層に基づいてコンピュータビジョン特徴を算出するための手段とを備える装置。
【請求項２１】
前記新しい値に、前記所与のレベルにおける1つまたは複数の値が前記基準しきい値を超える量だけ変化したことを示すイベントが付随する、請求項20に記載の装置。
【請求項２２】
前記所与のレベルはピクセルレベルであり、前記イベントは、基準電圧しきい値を超える、前記ピクセルにおける感知環境の変化によって生じる電圧レベルの変化を検出することを含む、請求項21に記載の装置。
【請求項２３】
計算の前記階層は和の階層を含み、前記和の前記階層の前記下位レベルよりも上の各レベルは、前記階層の前記下位レベルからの値の加重和を表す1つまたは複数の値を含み、前記和の前記階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される、請求項20に記載の装置。
【請求項２４】
前記Haar-like特徴は、前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層におけるレベルに相当する和値に基づいて算出される、請求項23に記載の装置。
【請求項２５】
合計すべき前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層における前記レベルは、前記画像の前記サンプル領域の下位領域によって囲まれる前記画像内の最大領域に関連する前記レベルを含む、請求項24に記載の装置。
【請求項２６】
前記ピクセルアレイは2次元アレイである、請求項20に記載の装置。
【請求項２７】
前記下位レベルよりも上の前記レベルに関する前記階層の前記下位レベルからの前記値に基づく前記計算は、単純和、加重和、または平均のうちの1つである、請求項20に記載の装置。
【請求項２８】
命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令が、プロセッサによって、
ピクセルアレイの2つ以上のピクセルからの値を計算の階層として表すことであって、計算の前記階層の下位レベルよりも上の各レベルが、前記階層の前記下位レベルからの値に基づく計算を表す1つまたは複数の値を含み、計算の前記階層の各レベルの前記1つまたは複数の値の各値が、前記ピクセルアレイによってキャプチャされた画像内の領域に関連付けられ、前記ピクセルアレイの各ピクセルが、環境条件に基づいてセンサ読取値を生成することができるセンサ要素を備え、前記各レベルに関する前記1つまたは複数の値が、前記ピクセルアレイによってキャプチャされた画像全体を表す、表すことと、
所与のレベルにおける新しい値が、基準しきい値を超える量だけ前の値と異なる場合にのみ、前記新しい値に基づいて前記所与のレベルよりも上の計算の前記階層のレベルを更新し、前記基準しきい値を超える量だけ変化した値が、前記所与のレベルの値の中にはない場合には、前記所与のレベルよりも上の計算の前記階層の前記レベルを更新しないことと、
計算の前記更新された階層に基づいてコンピュータビジョン特徴を算出することとを行うように実行可能である非一時的コンピュータ可読記憶媒体。
【請求項２９】
計算の前記階層は和の階層を含み、前記和の前記階層の前記下位レベルよりも上の各レベルは、前記階層の前記下位レベルからの値の加重和を表す1つまたは複数の値を含み、前記和の前記階層は、画像のサンプル領域に関するHaar-like特徴を算出するのに使用される、請求項28に記載の非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記Haar-like特徴は、前記画像の前記サンプル領域を最も厳密に近似する前記和の前記階層におけるレベルに対応する和値に基づいて算出される、請求項29に記載の非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2018514853.tif 000018
2018514853.tif 000019
2018514853.tif 000020