(57)【要約】  装置は、アレイの少なくとも第1の次元および第2の次元に沿って配置された複数の画素を含むハードウェアセンサアレイであって、画素の各々は、センサ読みを生成することができる、ハードウェアセンサアレイを含む。ハードウェアスキャニングウィンドウアレイは、ハードウェアスキャニングウィンドウアレイの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含み、記憶要素の各々は、1つまたは複数のセンサ読みに基づく画素値を記憶することができる。センサ読みに基づく画素値をハードウェアスキャニングウィンドウアレイ内に系統的に転送するための周辺回路構成は、画素値の異なるウィンドウが異なる時にハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こす。ハードウェアセンサアレイ、ハードウェアスキャニングウィンドウアレイ、および周辺回路構成に結合された制御論理は、画素値の転送を制御するために周辺回路構成に制御信号を提供する。
2017533640.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアにおいて画素値を分離するための装置であって、
ハードウェアセンサアレイの少なくとも第1の次元および第2の次元に沿って配置された複数の画素を含むハードウェアセンサアレイであって、前記画素の各々は、環境条件に基づいてセンサ読みを生成することができる、ハードウェアセンサアレイと、
ハードウェアスキャニングウィンドウアレイの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むハードウェアスキャニングウィンドウアレイであって、前記記憶要素の各々は、前記ハードウェアセンサアレイからの1つまたは複数のセンサ読みに基づく画素値を記憶することができる、ハードウェアスキャニングウィンドウアレイと、
画素値の異なるウィンドウが異なる時に前記ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こすために、前記ハードウェアセンサアレイからのセンサ読みに基づく画素値を前記ハードウェアスキャニングウィンドウアレイ内に系統的に転送するための周辺回路構成と、
前記ハードウェアセンサアレイ、前記ハードウェアスキャニングウィンドウアレイ、および前記周辺回路構成に結合された制御論理であって、前記制御論理は、前記ハードウェアスキャニングウィンドウアレイへの画素値の前記転送を制御するために前記周辺回路構成に制御信号を提供するように動作可能である、制御論理と
を含む、装置。
【請求項２】
前記ハードウェアセンサアレイは、
前記複数の画素に結合された構成可能な組み合わせる回路構成であって、前記構成可能な組み合わせる回路構成は、少なくとも1つの組み合わせるパターンに従って前記画素値を生成するために前記複数の画素からの複数のセンサ読みをハードウェアにおいて組み合わせるように動作可能であり、前記構成可能な組み合わせる回路構成は、
前記ハードウェアセンサアレイの前記第1の次元に沿って隣接する画素を接続するように動作可能な第1の複数の制御可能な接続と、
前記ハードウェアセンサアレイの前記第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
構成可能な組み合わせる回路構成
をさらに含む、請求項1に記載の装置。
【請求項３】
前記センサ読みは、アナログセンサ読みであり、前記画素値は、アナログ画素値であり、前記構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である、請求項2に記載の装置。
【請求項４】
前記周辺回路構成は、
ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むラインバッファであって、前記ラインバッファの前記第1の次元は、前記ハードウェアセンサアレイの前記第1の次元より小さく、前記ラインバッファの前記第2の次元は、前記ハードウェアセンサアレイの前記第2の次元と等しい、ラインバッファ
を含み、前記ラインバッファは、前記ハードウェアセンサアレイからの画素値の選択された行を記憶することができる
請求項1に記載の装置。
【請求項５】
前記制御論理は、前記ラインバッファ内の画素値の最も古い行を置換することによって、前記ハードウェアセンサアレイからの画素値の次の行を前記ラインバッファ内に記憶し、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った不連続性を導入することができる、請求項4に記載の装置。
【請求項６】
前記周辺回路構成は、前記ラインバッファと前記ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記ラインバッファから前記ハードウェアスキャニングウィンドウアレイに画素値を転送する間に行順序付けを切り替え、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った前記不連続性を除去することができる、請求項5に記載の装置。
【請求項７】
前記周辺回路構成は、前記ハードウェアスキャニングウィンドウアレイとハードウェアコンピュータビジョン特徴計算ブロックとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記ハードウェアスキャニングウィンドウアレイから前記ハードウェアコンピュータビジョン特徴計算ブロックに画素値を転送する間に列順序付けを切り替え、これによって、前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を除去することができる、請求項5に記載の装置。
【請求項８】
前記制御論理は、前記ハードウェアスキャニングウィンドウアレイ内の画素値の最も古い列を置換することによって、前記ラインバッファからの画素値の次の列を前記ハードウェアスキャニングウィンドウアレイ内に記憶し、これによって、前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を導入することができる、請求項4に記載の装置。
【請求項９】
前記周辺回路構成は、前記ハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算をハードウェアにおいて実行するように動作可能なハードウェアコンピュータビジョン特徴計算ブロックをさらに含む、請求項4に記載の装置。
【請求項１０】
前記ハードウェアスキャニングウィンドウアレイの前記複数の記憶要素に結合された構成可能な組み合わせる回路構成をさらに含み、前記構成可能な組み合わせる回路構成は、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値のハードウェアにおける組合せを、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために前記複数の画素値を維持しながら実行することができ、組み合わされた画素値の前記第1のセットおよび組み合わされた画素値の前記第2のセットは、マルチブロックローカルバイナリパターンコンピュータビジョン特徴を計算するために前記ハードウェアコンピュータビジョン特徴計算ブロックによって使用される、請求項9に記載の装置。
【請求項１１】
前記周辺回路構成は、前記ハードウェアセンサアレイからの前記センサ読みに基づいて積分画像を計算し、前記スキャニングウィンドウアレイ内に前記計算された積分画像を記憶することができる積分ブロックをさらに含み、前記スキャニングウィンドウアレイ内に記憶された前記積分画像から生成された組み合わされた画素値は、マルチブロックローカルバイナリパターンコンピュータビジョン特徴を計算するために前記ハードウェアコンピュータビジョン特徴計算ブロックによって使用される、請求項9に記載の装置。
【請求項１２】
前記構成可能な組み合わせる回路構成は、
前記ハードウェアスキャニングウィンドウアレイの前記第1の次元に沿って隣接する回路要素を接続するように動作可能な第1の複数の制御可能な接続と、
前記ハードウェアスキャニングウィンドウアレイの前記第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
請求項9に記載の装置。
【請求項１３】
前記第1の組み合わせるパターンおよび前記第2の組み合わせるパターンの異なる1つは、前記ハードウェアスキャニングウィンドウアレイ内の異なる位置および次元にある前記複数の記憶要素の選択を可能にする、請求項9に記載の装置。
【請求項１４】
前記ハードウェアコンピュータビジョン特徴計算ブロックは、コーナー検出を実行するように動作可能な回路構成を含む、請求項9に記載の装置。
【請求項１５】
前記制御論理に結合された第2のハードウェアスキャニングウィンドウアレイをさらに含み、前記制御論理は、前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内での前記ハードウェアコンピュータビジョン特徴計算ブロックによるコーナーの検出に基づいて、前記ハードウェアスキャニングウィンドウアレイから前記第2のハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するために制御信号を提供するように動作可能であり、前記周辺回路構成は、前記ハードウェアスキャニングウィンドウアレイと前記第2のハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記ハードウェアスキャニングウィンドウアレイから前記第2のハードウェアスキャニングウィンドウアレイへ前記画素値を転送する間に列順序付けを切り替え、これによって、前記画像内の列方向に沿った不連続性を除去することができる、請求項14に記載の装置。
【請求項１６】
前記第2のハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算をハードウェアにおいて実行するように動作可能な第2のハードウェアコンピュータビジョン特徴計算ブロックをさらに含む、請求項15に記載の装置。
【請求項１７】
前記複数の画素のうちの少なくとも1つの画素は、センサ要素と画素内回路構成とを含む、請求項1に記載の装置。
【請求項１８】
前記ハードウェアセンサアレイからの前記1つまたは複数のセンサ読みにそれぞれが基づく前記画素値は、1つまたは複数の生センサ読みにそれぞれが基づく生画素値を含む、請求項1に記載の装置。
【請求項１９】
画像信号処理回路構成が、前記ハードウェアセンサアレイと前記ハードウェアスキャニングウィンドウアレイとの間に配置されない、請求項1に記載の装置。
【請求項２０】
ハードウェアにおいて画素値を分離するための方法であって、
ハードウェアセンサアレイ内の複数の画素を介して、環境条件に基づいてセンサ読みを生成するステップであって、前記複数の画素は、前記ハードウェアセンサアレイの少なくとも第1の次元および第2の次元に沿って配置される、生成するステップと、
ハードウェアスキャニングウィンドウアレイ内の複数の記憶要素内に、前記ハードウェアセンサアレイからの1つまたは複数のセンサ読みに基づく画素値を記憶するステップであって、前記複数の記憶要素は、前記ハードウェアスキャニングウィンドウアレイの少なくとも第1の次元および第2の次元に沿って配置される、記憶するステップと、
画素値を系統的に転送するための周辺回路構成を介して、前記ハードウェアセンサアレイからのセンサ読みに基づく画素値の異なるウィンドウが異なる時に前記ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こすステップと、
前記ハードウェアセンサアレイ、前記ハードウェアスキャニングウィンドウアレイ、および前記周辺回路構成に結合された制御論理を介して、前記ハードウェアスキャニングウィンドウアレイへの画素値の前記転送を制御するために前記周辺回路構成に信号を提供するステップと
を含む、方法。
【請求項２１】
前記複数の画素に結合された構成可能な組み合わせる回路構成を介して、少なくとも1つの組み合わせるパターンに従って前記画素値を生成するために前記複数の画素からの複数のセンサ読みをハードウェアにおいて組み合わせるステップをさらに含み、前記構成可能な組み合わせる回路構成は、
前記ハードウェアセンサアレイの前記第1の次元に沿って隣接する画素を接続するように動作可能な第1の複数の制御可能な接続と、
前記ハードウェアセンサアレイの前記第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
請求項20に記載の方法。
【請求項２２】
前記センサ読みは、アナログセンサ読みであり、前記画素値は、アナログ画素値であり、前記構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である、請求項21に記載の方法。
【請求項２３】
画素値を系統的に転送するための前記周辺回路構成を介して、前記画素値の前記異なるウィンドウが前記ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こす前記ステップは、ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含む前記ラインバッファ内に前記ハードウェアセンサアレイからの画素値の選択された行を記憶するステップを含み、前記ラインバッファの前記第1の次元は、前記ハードウェアセンサアレイの前記第1の次元より小さく、前記ラインバッファの前記第2の次元は、前記ハードウェアセンサアレイの前記第2の次元と等しく、
前記ラインバッファは、前記ハードウェアセンサアレイからの画素値の選択された行を記憶することができる
請求項20に記載の方法。
【請求項２４】
前記制御論理を介して、前記ラインバッファ内の画素値の最も古い行を置換することによって、前記ハードウェアセンサアレイからの画素値の次の行を前記ラインバッファ内に記憶し、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った不連続性を導入するステップをさらに含む、請求項23に記載の方法。
【請求項２５】
前記ラインバッファと前記ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路を介して、前記ラインバッファから前記ハードウェアスキャニングウィンドウアレイに画素値を転送する間に行順序付けを切り替え、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った前記不連続性を除去するステップをさらに含む、請求項24に記載の方法。
【請求項２６】
前記ハードウェアスキャニングウィンドウアレイとコンピュータビジョン特徴計算ブロックとの間に位置決めされたマルチプレクサ回路を介して、前記ハードウェアスキャニングウィンドウアレイから前記コンピュータビジョン特徴計算ブロックに画素値を転送する間に列順序付けを切り替え、これによって、前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を除去するステップをさらに含む、請求項24に記載の方法。
【請求項２７】
前記制御論理を介して、前記ハードウェアスキャニングウィンドウアレイ内の画素値の最も古い列を置換することによって、前記ラインバッファからの画素値の次の列を前記ハードウェアスキャニングウィンドウアレイ内に記憶し、これによって、前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を導入するステップをさらに含む、請求項23に記載の方法。
【請求項２８】
コンピュータビジョン計算回路構成を介して、前記ハードウェアスキャニングウィンドウアレイ内に記憶された画素値に基づいてコーナー検出を実行するステップをさらに含む、請求項23に記載の方法。
【請求項２９】
前記ハードウェアスキャニングウィンドウアレイ内に記憶された画素値によって表される画像内での前記ハードウェアコンピュータビジョン計算回路構成によるコーナーの前記検出に基づいて、画素値を系統的に転送するための前記周辺回路構成を介して、前記ハードウェアスキャニングウィンドウアレイから第2のハードウェアスキャニングウィンドウアレイに画素値が転送されることを引き起こすステップをさらに含み、前記周辺回路構成は、前記ハードウェアスキャニングウィンドウアレイと前記第2のハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記ハードウェアスキャニングウィンドウアレイから前記第2のハードウェアスキャニングウィンドウアレイへ前記画素値を転送する間に列順序付けを切り替えることができ、これによって、前記画像内の列方向に沿った不連続性を除去する、請求項28に記載の方法。
【請求項３０】
第2のハードウェアコンピュータビジョン計算回路構成を介して前記第2のハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算を実行するステップをさらに含む、請求項29に記載の方法。
【請求項３１】
前記複数の記憶要素に結合された構成可能な組み合わせる回路構成を介して、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値の組合せを、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために前記複数の画素値を維持しながら実行するステップをさらに含む、請求項20に記載の方法。
【請求項３２】
前記構成可能な組み合わせる回路構成に結合されたコンピュータビジョン計算回路構成を介してコンピュータビジョン計算を実行するステップをさらに含む、請求項31に記載の方法。
【請求項３３】
前記構成可能な組み合わせる回路構成に結合された前記コンピュータビジョン計算回路構成を介してコンピュータビジョン計算を実行するステップは、組み合わされた画素値の前記第1のセットに基づいて第1のコンピュータビジョン計算を実行するステップと、組み合わされた画素値の前記第2のセットに基づいて第2のコンピュータビジョン計算を実行するステップとを含む、請求項32に記載の方法。
【請求項３４】
前記コンピュータビジョン計算回路構成は、マルチブロックローカルバイナリパターン(LBP)動作の一部として前記第1のコンピュータビジョン計算および前記第2のコンピュータビジョン計算を実行することができる、請求項33に記載の方法。
【請求項３５】
前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値は、高解像度を有する画像を表し、前記第1の組み合わせるパターンは、前記高解像度より低い第1のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項31に記載の方法。
【請求項３６】
前記第2の組み合わせるパターンは、前記第1のより低い解像度より低い第2のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項35に記載の方法。
【請求項３７】
前記複数の画素のうちの少なくとも1つの画素は、センサ要素と画素内回路構成とを含む、請求項20に記載の方法。
【請求項３８】
前記ハードウェアセンサアレイからの前記1つまたは複数のセンサ読みにそれぞれが基づく前記画素値は、1つまたは複数の生センサ読みにそれぞれが基づく生画素値を含む、請求項20に記載の方法。
【請求項３９】
画像信号処理回路構成が、前記ハードウェアセンサアレイ内で前記センサ読みを生成するステップと前記ハードウェアスキャニングウィンドウアレイ内に前記画素値を記憶するステップとの間に実行されない、請求項20に記載の方法。
【請求項４０】
ハードウェアにおいて画素値を分離するための装置であって、
環境条件に基づいて複数のセンサ読みを生成するためのハードウェア手段と、
記憶するためのハードウェア手段内の複数の記憶要素内に、前記センサ読みを生成するための前記ハードウェア手段からの1つまたは複数のセンサ読みにそれぞれが基づく画素値を記憶するための前記ハードウェア手段と、
画素値の異なるウィンドウが異なる時に画素値を記憶するための前記ハードウェア手段内に記憶されることを引き起こすためのハードウェア手段と、
画素値を記憶するための前記ハードウェア手段への画素値の前記転送を制御するために、画素値の異なるウィンドウが記憶されることを引き起こすための前記ハードウェア手段に制御信号を提供するためのハードウェア手段と
を含む、装置。
【請求項４１】
複数のセンサ読みを生成するための前記ハードウェア手段は、前記画素値を生成するために前記複数の画素からの複数のセンサ読みを組み合わせるためのハードウェア手段をさらに含む、請求項40に記載の装置。
【請求項４２】
複数のセンサ読みを組み合わせるための前記ハードウェア手段は、前記複数の画素に結合された構成可能な組み合わせる回路構成を含み、前記構成可能な組み合わせる回路構成は、
センサ読みを生成するための前記ハードウェア手段の第1の次元に沿って隣接する画素を接続するためのハードウェア手段と、
センサ読みを生成するための前記ハードウェア手段の第2の次元に沿って隣接する画素を接続するためのハードウェア手段と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
請求項41に記載の装置。
【請求項４３】
前記センサ読みは、アナログセンサ読みであり、前記画素値は、アナログ画素値であり、前記構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である、請求項42に記載の装置。
【請求項４４】
バッファリングするためのハードウェア手段の少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むバッファリングするためのハードウェア手段であって、バッファリングするための前記ハードウェア手段の前記第1の次元は、センサ読みを生成するための前記ハードウェア手段の前記第1の次元より小さく、バッファリングするための前記ハードウェア手段の前記第2の次元は、センサ読みを生成するための前記ハードウェア手段の前記第2の次元と等しい、バッファリングするためのハードウェア手段
をさらに含み、バッファリングするための前記ハードウェア手段は、センサ読みを生成するための前記ハードウェア手段からの画素値の選択された行を記憶することができる
請求項40に記載の装置。
【請求項４５】
制御信号を提供するための前記ハードウェア手段は、バッファリングするための前記ハードウェア手段内の画素値の最も古い行を置換することによって、複数のセンサ読みを生成するための前記ハードウェア手段からの画素値の次の行をバッファリングするための前記ハードウェア手段内に記憶するための信号を提供し、これによって、バッファリングするための前記ハードウェア手段内に記憶された前記画素値によって表される画像内の行方向に沿った不連続性を導入する、請求項44に記載の装置。
【請求項４６】
画素値の異なるウィンドウが記憶されることを引き起こすための前記ハードウェア手段は、バッファリングするための前記ハードウェア手段から画素値を記憶するための前記ハードウェア手段に画素値を転送する間に行順序付けを切り替えるためのハードウェア手段を含み、これによって、バッファリングするための前記ハードウェア手段内に記憶された前記画素値によって表される画像内の行方向に沿った前記不連続性を除去する、請求項45に記載の装置。
【請求項４７】
画素値の異なるウィンドウが記憶されることを引き起こすための前記ハードウェア手段は、画素値を記憶するための前記ハードウェア手段からコンピュータビジョン計算を実行するためのハードウェア手段に画素値を転送する間に列順序付けを切り替えるためのハードウェア手段を含み、これによって、画素値を記憶するための前記ハードウェア手段内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を除去する、請求項45に記載の装置。
【請求項４８】
画素値を記憶するための前記ハードウェア手段内の画素値の最も古い列を置換することによって、バッファリングするための前記ハードウェア手段からの画素値の次の列を画素値を記憶するための前記ハードウェア手段内に記憶し、これによって、画素値を記憶するための前記ハードウェア手段内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を導入するためのハードウェア手段をさらに含む、請求項44に記載の装置。
【請求項４９】
コーナー検出を実行するためのハードウェア手段をさらに含む、請求項44に記載の装置。
【請求項５０】
画素値を記憶するための第2のハードウェア手段が、制御信号を提供するための前記ハードウェア手段に結合され、制御信号を提供するための前記ハードウェア手段は、画素値を記憶するための前記ハードウェア手段内に記憶された前記画素値によって表される画像内でのコーナー検出を実行するための前記ハードウェア手段によるコーナーの検出に基づいて、画素値を記憶するための前記ハードウェア手段から画素値を記憶するための前記第2のハードウェア手段への画素値の転送を制御し、画素値の異なるウィンドウが記憶されることを引き起こすための前記ハードウェア手段は、画素値を記憶するための前記ハードウェア手段と画素値を記憶するための前記第2のハードウェア手段との間に位置決めされた、画素値を記憶するための前記ハードウェア手段から画素値を記憶するための前記第2のハードウェア手段に画素値を転送する間に列順序付けを切り替え、これによって、前記画像内の列方向に沿った不連続性を除去するためのハードウェア手段をさらに含む、請求項49に記載の装置。
【請求項５１】
画素値を記憶するための前記第2のハードウェア手段内に記憶された値に基づいてコンピュータビジョン計算を実行するためのハードウェア手段をさらに含む、請求項50に記載の装置。
【請求項５２】
第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値を、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために前記複数の画素値を維持しながら組み合わせるためのハードウェア手段をさらに含む、請求項40に記載の装置。
【請求項５３】
コンピュータビジョン計算を実行するためのハードウェア手段をさらに含む、請求項52に記載の装置。
【請求項５４】
前記コンピュータビジョン計算は、組み合わされた画素値の前記第1のセットに基づく第1のコンピュータビジョン計算と、組み合わされた画素値の前記第2のセットに基づく第2のコンピュータビジョン計算とを含む、請求項53に記載の装置。
【請求項５５】
コンピュータビジョン計算を実行するための前記ハードウェア手段は、マルチブロックローカルバイナリパターン(LBP)動作の一部として前記第1のコンピュータビジョン計算および前記第2のコンピュータビジョン計算を実行するためのハードウェア手段を含む、請求項54に記載の装置。
【請求項５６】
前記第1の組み合わせるパターンおよび前記第2の組み合わせるパターンの異なる1つは、画素値を記憶するための前記ハードウェア手段内の異なる位置および次元にある前記複数の記憶要素の選択を可能にする、請求項52に記載の装置。
【請求項５７】
画素値を記憶するための前記ハードウェア手段内に記憶された前記画素値は、高解像度を有する画像を表し、前記第1の組み合わせるパターンは、前記高解像度より低い第1のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項52に記載の装置。
【請求項５８】
前記第2の組み合わせるパターンは、前記第1のより低い解像度より低い第2のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項57に記載の装置。
【請求項５９】
前記複数の画素のうちの少なくとも1つの画素は、センサ要素と画素内回路構成とを含む、請求項40に記載の装置。
【請求項６０】
センサ読みを生成するための前記ハードウェア手段からの前記1つまたは複数のセンサ読みにそれぞれが基づく前記画素値は、1つまたは複数の生センサ読みにそれぞれが基づく生画素値を含む、請求項40に記載の装置。
【請求項６１】
画像信号処理のための手段が、センサ読みを生成するための前記ハードウェア手段と画素値を記憶するための前記ハードウェア手段との間に配置されない、請求項40に記載の装置。
【請求項６２】
実行された時に、1つまたは複数のコンピューティングデバイスに、
画素値を系統的に転送するための周辺回路構成を介して、ハードウェアセンサアレイからのセンサ読みに基づく画素値の異なるウィンドウが異なる時にハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こさせ、
前記ハードウェアセンサアレイ、前記ハードウェアスキャニングウィンドウアレイ、および前記周辺回路構成に結合された制御論理を介して、前記ハードウェアスキャニングウィンドウアレイへの画素値の前記転送を制御するために前記周辺回路構成に信号を提供させる
ハードウェアにおいて画素値を分離するためのコンピュータ実行可能命令を記憶する1つまたは複数の非一時的コンピュータ可読媒体。
【請求項６３】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、少なくとも1つの組み合わせるパターンに従って前記画素値を生成するために前記ハードウェアセンサアレイからの複数のセンサ読みを組み合わせるための構成可能な組み合わせる回路構成に前記制御論理を介して信号を提供させ、前記構成可能な組み合わせる回路構成は、
前記ハードウェアセンサアレイの第1の次元に沿って隣接する画素を接続するように動作可能な第1の複数の制御可能な接続と、
前記ハードウェアセンサアレイの第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
請求項62に記載の非一時的コンピュータ可読媒体。
【請求項６４】
前記画素値は、アナログ画素値であり、前記構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である、請求項63に記載の非一時的コンピュータ可読媒体。
【請求項６５】
画素値を系統的に転送するための前記周辺回路構成を介して、前記画素値の前記異なるウィンドウが前記ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こすことは、ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含む前記ラインバッファ内に前記ハードウェアセンサアレイからの画素値の選択された行を記憶することを含み、前記ラインバッファの前記第1の次元は、前記ハードウェアセンサアレイの前記第1の次元より小さく、前記ラインバッファの前記第2の次元は、前記ハードウェアセンサアレイの前記第2の次元と等しく、
前記ラインバッファは、前記ハードウェアセンサアレイからの画素値の選択された行を記憶することができる
請求項62に記載の非一時的コンピュータ可読媒体。
【請求項６６】
前記制御論理に結合されたハードウェアコンピュータビジョン特徴計算ブロックは、コーナー検出を実行するように動作可能な回路構成を含む、請求項65に記載の非一時的コンピュータ可読媒体。
【請求項６７】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内での前記ハードウェアコンピュータビジョン特徴計算ブロックによるコーナーの検出に基づいて、前記ハードウェアスキャニングウィンドウアレイから第2のハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するために、前記第2のハードウェアスキャニングウィンドウアレイに結合された制御論理を介して制御信号を提供させ、前記周辺回路構成は、前記ハードウェアスキャニングウィンドウアレイと前記第2のハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記ハードウェアスキャニングウィンドウアレイから前記第2のハードウェアスキャニングウィンドウアレイへ前記画素値を転送する間に列順序付けを切り替え、これによって、前記画像内の列方向に沿った不連続性を除去することができる、請求項66に記載の非一時的コンピュータ可読媒体。
【請求項６８】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、第2のハードウェアコンピュータビジョン特徴計算ブロックを介して、前記第2のハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算をハードウェアにおいて実行させる、請求項67に記載の非一時的コンピュータ可読媒体。
【請求項６９】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記制御論理を介して、前記ラインバッファ内の画素値の最も古い行を置換することによって、前記ハードウェアセンサアレイからの画素値の次の行を前記ラインバッファ内に記憶させ、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った不連続性を導入させる、請求項65に記載の非一時的コンピュータ可読媒体。
【請求項７０】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記ラインバッファと前記ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路を介して、前記ラインバッファから前記ハードウェアスキャニングウィンドウアレイに画素値を転送する間に行順序付けを切り替えさせ、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った前記不連続性を除去させる、請求項69に記載の非一時的コンピュータ可読媒体。
【請求項７１】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記ハードウェアスキャニングウィンドウアレイとハードウェアコンピュータビジョン特徴計算ブロックとの間に位置決めされたマルチプレクサ回路を介して、前記ハードウェアスキャニングウィンドウアレイから前記ハードウェアコンピュータビジョン特徴計算ブロックに画素値を転送する間に列順序付けを切り替えさせ、これによって、前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を除去させる、請求項69に記載の非一時的コンピュータ可読媒体。
【請求項７２】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記制御論理を介して、前記ハードウェアスキャニングウィンドウアレイ内の画素値の最も古い列を置換することによって、前記ラインバッファからの画素値の次の列を前記ハードウェアスキャニングウィンドウアレイ内に記憶させ、これによって、前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を導入させる、請求項65に記載の非一時的コンピュータ可読媒体。
【請求項７３】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、構成可能な組み合わせる回路構成を介して、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値を、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために前記複数の画素値を維持しながら組み合わさせる、請求項62に記載の非一時的コンピュータ可読媒体。
【請求項７４】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記構成可能な組み合わせる回路構成に結合されたコンピュータビジョン計算回路構成を介してコンピュータビジョン計算を実行させる、請求項73に記載の非一時的コンピュータ可読媒体。
【請求項７５】
前記コンピュータビジョン計算は、前記組み合わされた画素値の第1のセットに基づく第1のコンピュータビジョン計算と、前記組み合わされた画素値の第2のセットに基づく第2のコンピュータビジョン計算とを含む、請求項74に記載の非一時的コンピュータ可読媒体。
【請求項７６】
前記コンピュータビジョン計算回路構成は、マルチブロックローカルバイナリパターン(LBP)動作の一部として前記第1のコンピュータビジョン計算および前記第2のコンピュータビジョン計算を実行することができる、請求項75に記載の非一時的コンピュータ可読媒体。
【請求項７７】
前記第1の組み合わせるパターンおよび前記第2の組み合わせるパターンの異なる1つは、前記ハードウェアスキャニングウィンドウアレイ内の異なる位置および次元にある前記複数の記憶要素の選択を可能にする、請求項73に記載の非一時的コンピュータ可読媒体。
【請求項７８】
前記ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値は、高解像度を有する画像を表し、前記第1の組み合わせるパターンは、前記高解像度より低い第1のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項73に記載の非一時的コンピュータ可読媒体。
【請求項７９】
前記第2の組み合わせるパターンは、前記第1のより低い解像度より低い第2のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項78に記載の非一時的コンピュータ可読媒体。
【請求項８０】
前記ハードウェアセンサアレイからの前記センサ読みにそれぞれが基づく前記画素値は、生センサ読みにそれぞれが基づく生画素値を含む、請求項62に記載の非一時的コンピュータ可読媒体。
【請求項８１】
画像信号処理回路構成が、前記ハードウェアセンサアレイと前記ハードウェアスキャニングウィンドウアレイとの間に配置されない、請求項62に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の諸態様は、コンピュータビジョンに関する。
【背景技術】
【０００２】
多くの既存のコンピュータビジョンアルゴリズムが、顔検出および他のタイプの画像ベースのタスクにおいて使用される(たとえば、Viola-Jonesアルゴリズム)。しかし、これらのアルゴリズムの多くは、プロセッサ命令に従って所望のコンピュータビジョンアルゴリズムを実行するために、大量の画像データを操作することによって、処理能力、メモリ使用量、およびデータ転送帯域幅に関してリソース集中的になる可能性がある。
【０００３】
さらに、多くの既存のコンピュータビジョンアルゴリズムは、画像内の物体の分類のために特徴を利用する。そのようなコンピュータビジョンアルゴリズムは、たとえば、顔検出および他のタイプの画像ベースのタスクにおいて使用され得る。そのような特徴ベースのアルゴリズムの例は、ローカルバイナリパターン(LBP:local binary pattern)およびHaar-like特徴を含む。しかし、特徴ベースのアルゴリズムは、しばしば、異なる位置、サイズ、スケール、解像度、回転、および/または画像に関するデータの他のパラメータを使用して何回も(たとえば、数千回)実行されることを必要とする。このプロセスは、長い時間を要する可能性があり、処理能力、メモリ要件、データ転送帯域幅などに関して非常にリソース集中的になる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、よりリソース効率が良く、画像データへの効率的なアクセスを可能にする、コンピュータビジョン計算技法の必要が存在する。
【課題を解決するための手段】
【０００５】
本開示は、全般的にはコンピュータビジョンを使用可能にすることに関し、より具体的にはコンピュータビジョンを使用して特徴を検出することに関する効率の改善に関する。
【０００６】
いくつかの実施態様において、ハードウェアにおいて画素値を分離するための装置は、ハードウェアセンサアレイの少なくとも第1の次元および第2の次元に沿って配置された複数の画素を含むハードウェアセンサアレイであって、画素の各々は、環境条件に基づいてセンサ読みを生成することができる、ハードウェアセンサアレイを含む。この装置は、ハードウェアスキャニングウィンドウアレイの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むハードウェアスキャニングウィンドウアレイであって、記憶要素の各々は、ハードウェアセンサアレイからの1つまたは複数のセンサ読みに基づく画素値を記憶することができる、ハードウェアスキャニングウィンドウアレイをも含む。この装置は、画素値の異なるウィンドウが異なる時にハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こすために、ハードウェアセンサアレイからのセンサ読みに基づく画素値をハードウェアスキャニングウィンドウアレイ内に系統的に転送するための周辺回路構成をさらに含む。この装置は、ハードウェアセンサアレイ、ハードウェアスキャニングウィンドウアレイ、および周辺回路構成に結合された制御論理であって、ハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するために周辺回路構成に制御信号を提供するように動作可能である、制御論理をさらに含む。
【０００７】
いくつかの実施態様において、ハードウェアセンサアレイは、複数の画素に結合された構成可能な組み合わせる回路構成であって、少なくとも1つの組み合わせるパターンに従って画素値を生成するために複数の画素からの複数のセンサ読みをハードウェアにおいて組み合わせるように動作可能である、構成可能な組み合わせる回路構成を含む。構成可能な組み合わせる回路構成は、ハードウェアセンサアレイの第1の次元に沿って隣接する画素を接続するように動作可能な第1の複数の制御可能な接続と、ハードウェアセンサアレイの第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続とを含み、隣接する画素の接続は、接続される隣接する画素の各々において平均化された画素値を生成する。
【０００８】
いくつかの実施態様において、センサ読みは、センサ読みであり、センサ読みは、アナログセンサ読みであり、画素値は、アナログ画素値であり、構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である。
【０００９】
いくつかの実施態様において、周辺回路構成は、ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むラインバッファであって、ラインバッファの第1の次元は、ハードウェアセンサアレイの第1の次元より小さく、ラインバッファの第2の次元は、ハードウェアセンサアレイの第2の次元と等しい、ラインバッファを含む。ラインバッファは、ハードウェアセンサアレイからの画素値の選択された行を記憶することができる。
【００１０】
いくつかの実施態様において、制御論理は、ラインバッファ内の画素値の最も古い行を置換することによって、ハードウェアセンサアレイからの画素値の次の行をラインバッファ内に記憶し、これによって、ラインバッファ内に記憶された画素値によって表される画像内の行方向に沿った不連続性を導入することができる。
【００１１】
いくつかの実施態様において、周辺回路構成は、ラインバッファとハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、マルチプレクサ回路は、ラインバッファからハードウェアスキャニングウィンドウアレイに画素値を転送する間に行順序付けを切り替え、これによって、ラインバッファ内に記憶された画素値によって表される画像内の行方向に沿った不連続性を除去することができる。
【００１２】
いくつかの実施態様において、周辺回路構成は、ハードウェアスキャニングウィンドウアレイとハードウェアコンピュータビジョン特徴計算ブロックとの間に位置決めされたマルチプレクサ回路をさらに含み、マルチプレクサ回路は、ハードウェアスキャニングウィンドウアレイからハードウェアコンピュータビジョン特徴計算ブロックに画素値を転送する間に列順序付けを切り替え、これによって、ハードウェアスキャニングウィンドウアレイ内に記憶された画素値によって表される画像内の列方向に沿った不連続性を除去することができる。
【００１３】
いくつかの実施態様において、制御論理は、ハードウェアスキャニングウィンドウアレイ内の画素値の最も古い列を置換することによって、ラインバッファからの画素値の次の列をハードウェアスキャニングウィンドウアレイ内に記憶し、これによって、ハードウェアスキャニングウィンドウアレイ内に記憶された画素値によって表される画像内の列方向に沿った不連続性を導入することができる。
【００１４】
いくつかの実施態様において、周辺回路構成は、ハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算をハードウェアにおいて実行するように動作可能なハードウェアコンピュータビジョン特徴計算ブロックをさらに含む。
【００１５】
いくつかの実施態様において、装置は、ハードウェアスキャニングウィンドウアレイの複数の記憶要素に結合された構成可能な組み合わせる回路構成をさらに含み、構成可能な組み合わせる回路構成は、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値のハードウェアにおける組合せを、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために複数の画素値を維持しながら実行することができ、組み合わされた画素値の第1のセットおよび組み合わされた画素値の第2のセットは、マルチブロックローカルバイナリパターンコンピュータビジョン特徴を計算するためにハードウェアコンピュータビジョン特徴計算ブロックによって使用される。
【００１６】
いくつかの実施態様において、周辺回路構成は、ハードウェアセンサアレイからのセンサ読みに基づいて積分画像を計算し、スキャニングウィンドウアレイ内に計算された積分画像を記憶することができる積分ブロックをさらに含み、スキャニングウィンドウアレイ内に記憶された積分画像から生成された組み合わされた画素値は、マルチブロックローカルバイナリパターンコンピュータビジョン特徴を計算するためにハードウェアコンピュータビジョン特徴計算ブロックによって使用される。
【００１７】
いくつかの実施態様において、構成可能な組み合わせる回路構成は、ハードウェアスキャニングウィンドウアレイの第1の次元に沿って隣接する回路要素を接続するように動作可能な第1の複数の制御可能な接続と、ハードウェアスキャニングウィンドウアレイの第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続とを含み、隣接する画素の接続は、接続される隣接する画素の各々において平均化された画素値を生成する。
【００１８】
いくつかの実施態様において、第1の組み合わせるパターンおよび第2の組み合わせるパターンの異なる1つは、ハードウェアスキャニングウィンドウアレイ内の異なる位置および次元にある複数の記憶要素の選択を可能にする。
【００１９】
いくつかの実施態様において、ハードウェアコンピュータビジョン特徴計算ブロックは、コーナー検出を実行するように動作可能な回路構成を含む。
【００２０】
いくつかの実施態様において、第2のハードウェアスキャニングウィンドウアレイは、制御論理に結合され、制御論理は、ハードウェアスキャニングウィンドウアレイ内に記憶された画素値によって表される画像内でのハードウェアコンピュータビジョン特徴計算ブロックによるコーナーの検出に基づいて、ハードウェアスキャニングウィンドウアレイから第2のハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するために制御信号を提供するように動作可能であり、周辺回路構成は、ハードウェアスキャニングウィンドウアレイと第2のハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、マルチプレクサ回路は、ハードウェアスキャニングウィンドウアレイから第2のハードウェアスキャニングウィンドウアレイへ画素値を転送する間に列順序付けを切り替え、これによって、画像内の列方向に沿った不連続性を除去することができる。
【００２１】
いくつかの実施態様において、装置は、第2のハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算をハードウェアにおいて実行するように動作可能な第2のハードウェアコンピュータビジョン特徴計算ブロックをさらに含む。
【００２２】
いくつかの実施態様において、複数の画素のうちの少なくとも1つの画素は、センサ要素と画素内回路構成とを含む。
【００２３】
いくつかの実施態様において、ハードウェアセンサアレイからの1つまたは複数のセンサ読みにそれぞれが基づく画素値は、1つまたは複数の生センサ読みにそれぞれが基づく生画素値を含む。
【００２４】
いくつかの実施態様において、画像信号処理回路構成が、ハードウェアセンサアレイとハードウェアスキャニングウィンドウアレイとの間に配置されない。
【００２５】
いくつかの実施態様において、ハードウェアにおいて画素値を分離するための方法は、ハードウェアセンサアレイ内の複数の画素を介して、環境条件に基づいてセンサ読みを生成するステップであって、複数の画素は、ハードウェアセンサアレイの少なくとも第1の次元および第2の次元に沿って配置される、生成するステップを含む。この方法は、ハードウェアスキャニングウィンドウアレイ内の複数の記憶要素内に、ハードウェアセンサアレイからの1つまたは複数のセンサ読みに基づく画素値を記憶するステップであって、複数の記憶要素は、ハードウェアスキャニングウィンドウアレイの少なくとも第1の次元および第2の次元に沿って配置される、記憶するステップをも含む。この方法は、画素値を系統的に転送するための周辺回路構成を介して、ハードウェアセンサアレイからのセンサ読みに基づく画素値の異なるウィンドウが異なる時にハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こすステップをさらに含む。この方法は、ハードウェアセンサアレイ、ハードウェアスキャニングウィンドウアレイ、および周辺回路構成に結合された制御論理を介して、ハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するために周辺回路構成に信号を提供するステップをさらに含む。
【００２６】
いくつかの実施態様において、ハードウェアにおいて画素値を分離するための装置は、環境条件に基づいて複数のセンサ読みを生成するためのハードウェア手段を含む。この装置は、記憶するためのハードウェア手段内の複数の記憶要素内に、センサ読みを生成するためのハードウェア手段からの1つまたは複数のセンサ読みにそれぞれが基づく画素値を記憶するためのハードウェア手段をも含む。この装置は、画素値の異なるウィンドウが異なる時に画素値を記憶するためのハードウェア手段内に記憶されることを引き起こすためのハードウェア手段をさらに含む。この装置は、画素値を記憶するためのハードウェア手段への画素値の転送を制御するために、画素値の異なるウィンドウが記憶されることを引き起こすためのハードウェア手段に制御信号を提供するためのハードウェア手段をさらに含む。
【００２７】
いくつかの実施態様において、1つまたは複数の非一時的コンピュータ可読媒体は、実行された時に、1つまたは複数のコンピューティングデバイスに、画素値を系統的に転送するための周辺回路構成を介して、ハードウェアセンサアレイからのセンサ読みに基づく画素値の異なるウィンドウが異なる時にハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こさせ、ハードウェアセンサアレイ、ハードウェアスキャニングウィンドウアレイ、および周辺回路構成に結合された制御論理を介して、ハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するために周辺回路構成に信号を提供させる、ハードウェアにおいて画素値を分離するためのコンピュータ実行可能命令を記憶する。
【００２８】
いくつかの実施態様において、低電力視覚センサは、画像を取り込むことができる画像センサアレイを含み、画像センサアレイは、複数の行と複数の列とを有する。低電力視覚センサは、画像センサアレイの複数の行のうちの1つまたは複数の行から画像データを転送するための1つまたは複数のラインバッファをさらに含む。低電力視覚センサは、画像のサンプルウィンドウに基づいてデータを記憶するためのハードウェアスキャニングウィンドウアレイをも含み、データは、コンピュータビジョン計算において使用され、ハードウェアスキャニングウィンドウアレイは、1つまたは複数のラインバッファの列の個数より少数の複数の列を有する。低電力視覚センサは、ハードウェアスキャニングウィンドウアレイ内に記憶されたデータに基づいてコンピュータビジョン特徴を計算するように構成されたコンピュータビジョン特徴計算ハードウェアをさらに含む。
【００２９】
いくつかの実施態様において、低電力視覚センサは、ハードウェアスキャニングウィンドウアレイに転送されるデータのためのフレームバッファをも含む。
【００３０】
いくつかの実施態様において、フレームバッファは、画像フレームバッファまたは積分画像フレームバッファのうちの少なくとも1つである。
【００３１】
いくつかの実施態様において、低電力視覚センサは、1つまたは複数のラインバッファによって転送された画像データに基づいて積分画像を計算することができる積分ハードウェアをも含む。
【００３２】
いくつかの実施態様において、積分ハードウェアは、2次元(2-D)積分ハードウェアを含む。
【００３３】
いくつかの実施態様において、積分ハードウェアは、フレームバッファに結合される。
【００３４】
いくつかの実施態様において、低電力視覚センサは、1つまたは複数のラインバッファおよび積分ハードウェアに結合されたアナログ-デジタル変換器(ADC)をも含む。
【００３５】
いくつかの実施態様において、コンピュータビジョン特徴計算ハードウェアは、ローカルバイナリパターン(LBP)特徴を計算するように構成される。
【００３６】
いくつかの実施態様において、LBP特徴は、マルチブロックLBP特徴である。
【００３７】
いくつかの実施態様において、低電力視覚センサは、コンピュータビジョン計算ハードウェアによって計算されたコンピュータビジョン特徴に基づいてハードウェアスキャニングウィンドウアレイ内に記憶されたサンプルウィンドウ内の基準物体の存在を検出するように構成されたハードウェアカスケードクラシファイヤをさらに含む。
【００３８】
いくつかの実施態様において、画像信号処理回路構成が、画像センサアレイとハードウェアスキャニングウィンドウアレイとの間に配置されない。
【００３９】
いくつかの実施態様において、低電力視覚センサ内で物体を検出するための方法は、画像センサアレイを介して画像を取り込むステップであって、画像センサアレイは、複数の行と複数の列とを有する、ステップを含む。この方法は、1つまたは複数のラインバッファを介して、画像センサアレイの複数の行のうちの1つまたは複数の行から画像データを転送するステップをも含む。この方法は、ハードウェアスキャニングウィンドウアレイを介して、画像のサンプルウィンドウに基づいてデータを記憶するステップであって、データは、コンピュータビジョン計算に使用され、ハードウェアスキャニングウィンドウアレイは、1つまたは複数のラインバッファの列の個数より少数の複数の列を有する、ステップをさらに含む。この方法は、コンピュータビジョン特徴計算ハードウェアを介して、ハードウェアスキャニングウィンドウアレイ内に記憶されたデータに基づいてコンピュータビジョン特徴を計算するステップをさらに含む。
【００４０】
いくつかの実施態様において、1つまたは複数の非一時的コンピュータ可読媒体は、実行された時に、1つまたは複数のコンピューティングデバイスに、画像センサアレイを介して画像を取り込ませ、画像センサアレイは、複数の行と複数の列とを有し、1つまたは複数のラインバッファを介して、画像センサアレイの複数の行のうちの1つまたは複数の行から画像データを転送させ、ハードウェアスキャニングウィンドウアレイを介して、画像のサンプルウィンドウに基づいてデータを記憶させ、データは、コンピュータビジョン計算に使用され、ハードウェアスキャニングウィンドウアレイは、1つまたは複数のラインバッファの列の個数より少数の複数の列を有し、コンピュータビジョン特徴計算ハードウェアを介して、ハードウェアスキャニングウィンドウアレイ内に記憶されたデータに基づいてコンピュータビジョン特徴を計算させる、低電力視覚センサ内で物体を検出するためのコンピュータ実行可能命令を記憶する。
【００４１】
いくつかの実施態様において、低電力視覚センサ内で物体を検出するための装置は、画像センサアレイを介して画像を取り込むためのハードウェア手段であって、画像センサアレイは、複数の行と複数の列とを有する、ハードウェア手段を含む。この装置は、1つまたは複数のラインバッファを介して、画像センサアレイの複数の行のうちの1つまたは複数の行から画像データを転送するためのハードウェア手段をさらに含む。この装置は、ハードウェアスキャニングウィンドウアレイを介して、画像のサンプルウィンドウに基づいてデータを記憶するためのハードウェア手段であって、データは、コンピュータビジョン計算に使用され、ハードウェアスキャニングウィンドウアレイは、1つまたは複数のラインバッファの列の個数より少数の複数の列を有する、ハードウェア手段をさらに含む。この装置は、コンピュータビジョン特徴計算ハードウェアを介して、ハードウェアスキャニングウィンドウアレイ内に記憶されたデータに基づいてコンピュータビジョン特徴を計算するためのハードウェア手段をも含む。
【００４２】
いくつかの実施態様において、低電力視覚センサは、画像を取り込むことができる画像センサアレイであって、複数の行と複数の列とを有する、画像センサアレイを含む。低電力視覚センサは、画像センサアレイの複数の行のうちの1つまたは複数の行から画像データを転送するための1つまたは複数のラインバッファをも含む。低電力視覚センサは、1つまたは複数のラインバッファによって転送された画像データに基づいて積分画像を計算することができる積分ハードウェアをさらに含む。低電力視覚センサは、2次元積分ハードウェアによって計算された積分画像に基づいてコンピュータビジョン特徴を計算するように構成されたコンピュータビジョン特徴計算ハードウェアをも含む。
【００４３】
いくつかの実施態様において、低電力視覚センサは、画像のサンプルウィンドウに基づいてデータを記憶するためのハードウェアスキャニングウィンドウアレイであって、データは、コンピュータビジョン計算に使用され、ハードウェアスキャニングウィンドウアレイは、1つまたは複数のラインバッファの列の個数より少数の複数の列を有する、ハードウェアスキャニングウィンドウアレイをも含む。
【００４４】
いくつかの実施態様において、低電力視覚センサは、ハードウェアスキャニングウィンドウアレイに転送されるデータのためのフレームバッファをも含む。
【００４５】
いくつかの実施態様において、フレームバッファは、画像フレームバッファまたは積分画像フレームバッファのうちの少なくとも1つを含む。
【００４６】
いくつかの実施態様において、低電力視覚センサは、1つまたは複数のラインバッファおよび積分ハードウェアに結合されたアナログ-デジタル変換器(ADC)をも含む。
【００４７】
いくつかの実施態様において、コンピュータビジョン特徴は、マルチブロックローカルバイナリパターン(LBP)特徴である。
【００４８】
いくつかの実施態様において、積分ハードウェアは、2次元(2-D)積分ハードウェアを含む。
【００４９】
いくつかの実施態様において、低電力視覚センサは、コンピュータビジョン計算ハードウェアによって計算されたコンピュータビジョン特徴に基づいてハードウェアスキャニングウィンドウアレイ内に記憶されたサンプルウィンドウ内の基準物体の存在を検出するように構成されたハードウェアカスケードクラシファイヤをも含む。
【００５０】
いくつかの実施態様において、低電力視覚センサ内で物体を検出するための方法は、画像センサアレイを介して画像を取り込むステップであって、画像センサアレイは、複数の行と複数の列とを有する、ステップを含む。この方法は、1つまたは複数のラインバッファを介して、画像センサアレイの複数の行のうちの1つまたは複数の行から画像データを転送するステップをも含む。この方法は、積分ハードウェアを介して、1つまたは複数のラインバッファによって転送された画像データに基づいて積分画像を計算するステップをさらに含む。この方法は、コンピュータビジョン特徴計算ハードウェアを介して、2次元積分ハードウェアによって計算された積分画像に基づいてコンピュータビジョン特徴を計算するステップをさらに含む。
【００５１】
いくつかの実施態様において、低電力視覚センサ内で物体を検出するための装置は、画像センサアレイを介して画像を取り込むためのハードウェア手段であって、画像センサアレイは、複数の行と複数の列とを有する、ハードウェア手段を含む。この装置は、1つまたは複数のラインバッファを介して、画像センサアレイの複数の行のうちの1つまたは複数の行から画像データを転送するためのハードウェア手段をも含む。この装置は、積分ハードウェアを介して、1つまたは複数のラインバッファによって転送された画像データに基づいて積分画像を計算するためのハードウェア手段をさらに含む。この装置は、コンピュータビジョン特徴計算ハードウェアを介して、2次元積分ハードウェアによって計算された積分画像に基づいてコンピュータビジョン特徴を計算するためのハードウェア手段をさらに含む。
【００５２】
いくつかの実施態様において、1つまたは複数の非一時的コンピュータ可読媒体は、実行された時に、1つまたは複数のコンピューティングデバイスに、画像センサアレイを介して画像を取り込ませ、画像センサアレイは、複数の行と複数の列とを有し、1つまたは複数のラインバッファを介して、画像センサアレイの複数の行のうちの1つまたは複数の行から画像データを転送させ、積分ハードウェアを介して、1つまたは複数のラインバッファによって転送された画像データに基づいて積分画像を計算させ、コンピュータビジョン特徴計算ハードウェアを介して、2次元積分ハードウェアによって計算された積分画像に基づいてコンピュータビジョン特徴を計算させる、低電力視覚センサ内で物体を検出するコンピュータ実行可能命令を記憶する。
【００５３】
本開示の諸態様が、例として図示される。添付図面においては、同様の符号が同様の要素を示す。
【図面の簡単な説明】
【００５４】
【図１】いくつかの実施態様による、2次元アレイ内に配置された複数のセンサ要素を含む例のセンサを示す図である。
【図２】いくつかの実施態様による、センサ要素と画素内回路構成とを含む例の画素を示す図である。
【図３】いくつかの実施態様による、周辺回路構成に結合された例のセンサ要素アレイを示す図である。
【図４】いくつかの実施態様による、専用CV処理モジュールに結合された例のセンサ要素アレイを示す図である。
【図５Ａ】いくつかの実施態様による、画素アレイとスキャニングウィンドウアレイとをも示す図である。
【図５Ｂ】センサ要素アレイ、CV計算ハードウェア、および専用マイクロプロセッサを含むスマート視覚センサの例の実施態様を示す図である。
【図５Ｃ】コーナー検出器に関連するハードウェアにおけるスキャニングウィンドウの実施に関する高水準ブロック図である。
【図６】いくつかの実施態様による、画素をラインバッファ内に読み取る前に、画素アレイ内の画素値の平均をとるためのハードウェア実施態様を示す図である。
【図７】いくつかの実施態様による、ラインバッファのためのハードウェア実施態様を示す図である。
【図８】いくつかの実施態様による、ラインバッファ内の画像の水平ティアおよび/または垂直ティアを補正するためのハードウェア実施態様を示す図である。
【図９】いくつかの実施態様による、既知のローカルバイナリパターン(LBP)コンピュータビジョン特徴実施態様を示す図である。
【図１０Ａ】いくつかの実施態様による、マルチブロックコンピュータビジョン特徴実施態様のためのハードウェア実施態様を示す図である。
【図１０Ｂ】いくつかの実施態様による、マルチブロックコンピュータビジョン特徴実施態様のためのハードウェア実施態様の一部として含まれ得るサンプルアンドホールドバッファを示す図である。
【図１０Ｃ】いくつかの実施態様による、スキャニングウィンドウアレイからコンピュータビジョン計算ブロックへの読出を示す図である。
【図１０Ｄ】いくつかの実施態様による、スキャニングウィンドウアレイ内に記憶された画像内の、ティアなしと、垂直ティアと、垂直ティアおよび水平ティアとの間の差を示す図である。
【図１１】いくつかの実施態様による、本明細書内で説明されるハードウェア実施態様を使用して計算され得るコンピュータビジョン(CV)特徴の例を示す図である。
【図１２】ハードウェアにおいて画素値を分離するための方法を示す流れ図である。
【図１３】1つまたは複数の実施態様がその中で実施され得るコンピューティングシステムの例を示す図である。
【発明を実施するための形態】
【００５５】
複数の例示的な実施態様が、これから、本明細書の一部を形成する添付の図面に関して説明される。本開示の1つまたは複数の態様が実施され得る特定の実施態様が、下で説明されるが、本開示の範囲または添付の特許請求の範囲の趣旨から逸脱することなく、他の実施態様が使用され得、様々な変更が加えられ得る。
【００５６】
センサは、複数のセンサ要素のセンサ要素アレイを含むことができる。センサ要素アレイは、センサ要素アレイの、列および行など、2次元に配置されたセンサ要素を含む2次元アレイとすることができる。センサ要素の各々は、環境条件に基づいてセンサ読みを生成できるものとすることができる。ある種の実施態様において、センサは、視覚センサとすることができ、センサ要素に入射する光に基づいてセンサ読みを生成することができる。図1は、2次元アレイ内に配置された複数のセンサ要素を含む例のセンサ100を示す。図1において、センサ100の図示は、センサ要素アレイ内の64(8×8)個のセンサ要素を表す。様々な実施態様において、センサ要素の形状、センサ要素の個数、およびセンサ要素の間の間隔は、本発明の範囲から逸脱することなく、大いに変化することができる。センサ要素102は、64個のセンサ要素のグリッドからの例のセンサ要素を表す。
【００５７】
ある種の実施態様において、センサ要素は、センサ要素に結合された画素内回路構成(計算構造)として実施される専用CV計算ハードウェアを有することができる。いくつかの実施態様において、センサ要素および画素内回路構成は、一緒に、画素と呼ばれる場合がある。センサ要素に結合された画素内回路構成によって実行される処理は、画素内処理と呼ばれる場合がある。いくつかの例において、センサ要素アレイは、画素アレイと呼ばれる場合があり、相違は、画素アレイが、センサ要素と各センサ要素に関連する画素内回路構成との両方を含むことである。しかし、本明細書内の説明において、センサ要素という用語および画素という用語は、交換可能に使用される場合がある。図2は、センサ要素202と画素内回路構成204とを有する例の画素200を示す。ある種の実施態様において、画素内回路構成204は、回路構成、デジタル回路構成、またはその任意の組合せとすることができる。
【００５８】
ある種の実施態様において、センサ要素アレイは、センサ要素のグループに結合された周辺回路構成(計算構造)として実施される専用CV計算ハードウェアを有することができる。そのような周辺回路構成は、オンチップセンサ回路構成と呼ばれる場合がある。図3は、センサ要素アレイ302に結合された例の周辺回路構成(304および306)を示す。
【００５９】
さらに、図4に示されているように、ある種の実施態様において、センサ要素アレイは、センサ要素アレイ402に結合され、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、組込みマイクロプロセッサ、または本開示の諸態様を実行するための任意の同様のアナログもしくはデジタルの計算論理を使用して実施される、専用CV処理モジュール404として実施される専用CV計算ハードウェアを有することができる。
【００６０】
少なくともある種の実施態様において、専用CV処理モジュール404が、アプリケーションプロセッサ406の代わりではなくアプリケーションプロセッサ406に加えてとされ得ることに留意されたい。たとえば、専用CV処理モジュール404は、コンピュータビジョン特徴を処理し、かつ/または検出することができる。一方、アプリケーションプロセッサ406は、これらの検出されたコンピュータビジョン特徴の表示を受け取り、笑顔、顔、物体、その他などのマクロ特徴を判定するために、以前に記憶された画像または基準インジケータに対するパターンマッチングを行うことができる。さらに、アプリケーションプロセッサ406は、相対的に大幅により複雑であり、計算集中型であり、電力集中型であり、オペレーティングシステムなどのシステムレベル動作を実行する責任を負い、ユーザと対話するためのユーザインターフェースを実施し、デバイスの電力管理を実行し、メモリおよび他のリソースを管理するなどを行うことができる。アプリケーションプロセッサ406は、図13のプロセッサ1310に類似するものとすることができる。
【００６１】
ハードウェアにおけるスキャニングウィンドウ
図5Aは、ハードウェアにおけるスキャニングウィンドウの実施に関する高水準ブロック図を示す。この高水準ブロック図は、第1の行ドライバ510、第2の行ドライバ520、ラインバッファ525、列ドライバ530、第1のマルチプレクサ(MUX)540、およびスキャニングウィンドウアレイ(SWA)515を含む。オプションで、スキャニングウィンドウアレイ515は、第2のマルチプレクサ(MUX)550と、コンピュータビジョン特徴計算ブロック(LBP)560と、ルックアップテーブル(LUT)570と、論理、メモリ、およびマイクロプロセッサブロック580とに接続され得る。
【００６２】
図5Aは、画素アレイ505およびスキャニングウィンドウアレイ(SWA)515をも示す。スキャニングウィンドウ、ソフトウェアベースのアルゴリズムの使用は、当技術分野で既知である。しかし、上で言及されたように、これらの解決策は、プロセッサがしばしば画像の各点を分析するので、プロセッサパワーを枯渇させる。図5Aに示された実施態様は、ハードウェアベースのスキャニングウィンドウ機能を示す。いくつかの実施態様において、ハードウェアスキャニングウィンドウアレイ515は、本明細書全体で説明されるように画素アレイ505からの画像データに基づいてサンプルウィンドウを記憶するように構成され、他のデータ記憶機能をほとんどまたは全く有しないという意味で、専用のハードウェアスキャニングウィンドウアレイである。
【００６３】
画素アレイ505は、画像を取り込むために光を検出することができる複数のフォトダイオードを含むことができる。複数のフォトダイオードは、画像を取り込むためのハードウェア手段の例である。取り込まれる画像は、任意のサイズを有することができ、画像の表現は、画素アレイ505内に記憶され得る。画素アレイ505は、元の画像と同一(たとえば、128×128、256×256、912×912、1024×1024、または任意のN×NもしくはさらにN×Mアレイ、たとえば320×240アレイ)とすることができる。画素アレイ505は、複数のセンサ要素を含むハードウェアアレイの例である。センサ要素は、第1の次元(たとえば、行)および第2の次元(たとえば、列)に沿って配置され得る。画素アレイ505は、環境条件に基づいて(たとえば、アレイ内の所与の位置における光を検出するために1センサ要素あたり1つまたは複数のフォトダイオードを使用することによって)センサ読みを生成することができる。画素アレイは、環境条件に基づいて複数のセンサ読みを生成するためのハードウェア手段の例である。いくつかの実施態様において、画素アレイは、Quarter Video Graphics Array(QVGA)解像度とも呼ばれる320×240画素の画像を記録することができるデジタルカメラの一部とすることができる。
【００６４】
いくつかのオプションの実施態様において、画素アレイ505は、センサ要素に結合された構成可能な組み合わせる回路構成を含むことができる。構成可能な組み合わせる回路構成は、少なくとも1つの組み合わせるパターンに従って、画素値を生成するために複数のセンサ要素からの複数のセンサ読みをハードウェアにおいて組み合わせることができる。構成可能な組み合わせる回路構成は、画素値を生成するために複数の画素からの複数のセンサ読みを組み合わせるためのハードウェア手段の例である。組み合わせるパターンは、画素アレイ505の行に沿った第1の組み合わせるパターンと画素アレイ505の列に沿った第2の組み合わせるパターンとを含むことができる。いくつかの実施態様において、スケーリングの1タイプが、平均化を含むことができる。異なる組み合わせるパターンは、センサ要素の異なる次元にわたる画素値の平均化を含むことができる。たとえば、2×3、3×2、3×4、4×3、もしくはより一般的にm×nのブロックまたは画素値の任意の他の次元が、平均をとられ、かつ/または加重和をとられ得る。「画素値」という用語が本明細書内で使用されるが、画素値が、センサアレイ内の画素の値という意味の画素値である必要がないことを了解されたい。たとえば、いくつかのセンサ読みが、その後にスキャニングウィンドウアレイ内に記憶される画素値を生成するために組み合わされ得る。
【００６５】
構成可能な組み合わせる回路構成は、画素アレイ505の第1の次元(たとえば、行)に沿って隣接するセンサ要素を接続するように動作可能な制御可能な接続と、画素アレイ505の第2の次元(たとえば、列)に沿って隣接するセンサ要素を接続するように動作可能な制御可能な接続とを含むことができるが、これに限定はされない。制御可能な接続は、ハードウェアセンサアレイの第1の次元に沿って隣接する画素を接続するためのハードウェア手段とハードウェアセンサアレイの第2の次元に沿って隣接する画素を接続するためのハードウェア手段との例である。いくつかの実施態様では、隣接するセンサ要素の接続は、接続される隣接するセンサ要素の各々において平均化された画素値を生成する。制御可能な接続の例は、トランジスタを含むが、これに限定はされない。
【００６６】
オプションで、画素アレイ505内の画素は、画素アレイ505からラインバッファ525への行のローディングの前に、上で説明されたように平均をとられ得る。平均化は、望まれる平均化のタイプに依存して、アクティブ画素センサ(APS)をお互いと短絡させることによって実行され得る。たとえば、2×2の形で配置された、画素アレイ505からの任意の4つの画素を仮定する。すなわち、第1の行からの2つの画素と、第1の行の真下の行からの同一列内の2つの画素とである。4つの画素の各々の画素値が、今や4つの画素の画素値の平均値になるように(図6に関して下でより詳細に説明される)、これらの画素の4つすべてが、ハードウェアにおいて一緒に短絡され得る。
【００６７】
ラインバッファは、周辺回路構成の例である。ラインバッファは、ラインバッファの第1の次元(たとえば、行)および第2の次元(たとえば、列)に沿って配置された複数の記憶要素を含むことができる。いくつかの実施態様において、第1の次元は、画素アレイ505の第1の次元とは異なるものとすることができ、第2の次元は、画素アレイ505の第2の次元と等しいものとすることができる。いくつかの実施態様、たとえば図5Bの実施態様において、ラインバッファ525は、画素アレイ505のすべての列にまたがる単一の行からの画素値を記憶する単一のラインバッファである。たとえば、ラインバッファ525は、画素アレイ505からの画素値の選択された行を記憶できるものとすることができる。ラインバッファは、センサ読みを生成するための手段からの1つまたは複数のセンサ読みにそれぞれが基づく画素値を、記憶するための手段内の複数の記憶要素内に記憶するためのハードウェア手段の例である。さらに、ラインバッファは、画素値の異なるウィンドウが異なる時に画素値を記憶するためのハードウェア手段内に記憶されることを引き起こすためのハードウェア手段の例でもある。周辺回路構成は、ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むバッファリングするためのハードウェア手段の例である。
【００６８】
異なるスケーリング係数が望まれる場合には、このプロセスは、下でさらに詳細に説明されるように、もう一度繰り返され得る。
【００６９】
画素値がスキャニングの前にハードウェアにおいて組み合わされる(たとえば、平均をとられる)のか、画素値が組み合わされないのかに関わりなく、画素アレイ505からの行は、ラインバッファ525内にコピーされ得る。論理、メモリ、およびマイクロプロセッサブロック580は、行アドレスを第1の行ドライバ510に供給することができる(たとえば、行がアクティブであるラインに限って)。第1の行ドライバ510は、すべての列ラインがアクティブのままである間に、供給された行アドレスにある行を画素アレイ505から読み取ることができる。これが、ラインバッファ525にコピーされる最初の行であると仮定すると、次いで、第2の行ドライバは、第1の行ドライバ510によって読み取られる現在の行を書き込むために第1のライン上でアクティブなままになることができる。これは、ラウンドロビンの形で、画素アレイ505内の次の行について継続することができる。上で説明されたように、平均化が、画素アレイ505に対してまたは画素アレイ505内で実行された場合に、第1の行ドライバ510は、平均化に用いられる画素の個数に依存して、1行おき、2行おき、3行おきなどをスキャンすることができる。最終的に、ラインバッファ525は、画素アレイ505からの行を充てんされ得る。いくつかの実施態様において、スキャンする方向は、ある列から次の列へまたはある行から次の行へとすることができる。図5A内では複数のラインバッファ525として図示されているが、ラインバッファ525が、いくつかの実施態様、たとえば図5Bの実施態様において、単一の行を含むことができることを理解されたい。
【００７０】
次いで、論理、メモリ、およびマイクロプロセッサブロック580は、ラインバッファ525からの所望の列をスキャンするために、列ドライバに列アドレスを供給することができる。いくつかの実施態様、たとえば上で説明された、平均化が画素アレイ505に対して実行されたいくつかの実施態様において、列ドライバは、平均化に用いられる画素の個数に依存して、1列おき、2列おき、3列おきなどをスキャンすることができる。したがって、ラインバッファ525からの特定のスキャニングウィンドウが、スキャンされ得(たとえば、32×32、100×100など)、拡張によって、画素アレイ505の組み合わされたまたは組み合わされていない画素値からの特定のスキャニングウィンドウが、スキャンされ得る。次いで、所望のウィンドウが、論理、メモリ、およびマイクロプロセッサブロック580によって提供される第1のマルチプレクサ540への制御された入力を介してスキャニングウィンドウアレイ515に移動され得る。デジタル実施態様において、アナログ-デジタル変換器(図5A内には図示せず)を介するアナログ-デジタル変換が、ラインバッファ525の後に、値がスキャニングウィンドウアレイ515内に記憶される前に行われ得、たとえば、アナログ-デジタル変換器は、ラインバッファ525とマルチプレクサ540との間に配置され得る。
【００７１】
スキャニングウィンドウアレイ515は、別のハードウェアアレイの例である。これは、第1の次元(たとえば、行)および第2の次元(たとえば、列)に沿った複数の記憶要素を含む。スキャニングウィンドウアレイ内の記憶要素の各々は、画素アレイ505からの1つまたは複数のセンサ読みに基づいて、アナログまたはデジタルの画素値を記憶できるものとすることができる。いくつかの実施態様において、スキャニングウィンドウアレイ515は、アナログまたはデジタルの画素値を記憶することができる、ランダムアクセスメモリ(RAM)アレイまたは他の2次元バッファを含むことができる。いくつかの実施態様において、第1の次元(たとえば、行)に沿ったスキャニングウィンドウアレイ内の記憶要素の個数は、画素アレイの対応する次元(たとえば、行)に沿った画素アレイ内のセンサ要素の個数より少なく、同様に、第2の次元(たとえば、列)に沿ったスキャニングウィンドウアレイ内の記憶要素の個数は、画素アレイの対応する次元(たとえば、列)に沿った画素アレイ内のセンサ要素の個数より少ない。いくつかの実施態様において、スキャニングウィンドウアレイ内の列の個数は、ラインバッファ525内の列の個数より少ない。
【００７２】
画素アレイ505からスキャニングウィンドウアレイ515への画素値の有効なコピーは、周辺回路構成を使用して達成され得る。周辺回路構成は、画素値の異なるウィンドウが異なる時にスキャニングウィンドウアレイ内に記憶されることを引き起こすために、画素アレイからのセンサ読みに基づく、アナログまたはデジタルの画素値をスキャニングウィンドウアレイ内に系統的に転送することができる。周辺回路構成は、行ドライバ、列ドライバ、ラインバッファ525、およびマルチプレクサ540またはマルチプレクサ回路を含むことができる。デジタル実施態様において、周辺回路構成は、たとえばラインバッファ525とマルチプレクサ540との間に、アナログ-デジタル変換器をさらに含むことができる。
【００７３】
さらに、制御論理(たとえば、論理、メモリ、およびマイクロプロセッサブロック580)は、画素アレイ505、スキャニングウィンドウアレイ515、および周辺回路構成に結合され得る。制御論理は、スキャニングウィンドウアレイ515への画素値の転送を制御するために、周辺回路構成に制御信号を供給することができる。制御論理は、記憶するための専用手段への画素値の転送を制御するために、画素値の異なるウィンドウが記憶されることを引き起こすための手段に制御信号を提供するためのハードウェア手段の例である。
【００７４】
制御論理は、ラインバッファ内の画素値の最も古い行を置換することによって、画素アレイ505からの画素値の次の行をラインバッファ525内に記憶することもできる。そのような実施態様は、行のセット全体を1行だけ下にシフトし、それ相応にすべての行を書き直すことより効率的になる可能性がある。しかし、画像内に示されているように、そのような実施態様は、画素アレイ505から読み取られる画像内のティアをもたらす可能性がある。これは、ラインバッファ525のラウンドロビンまたは環状の実施態様に起因する。しかし、水平ティアは、第1のマルチプレクサ540を使用することによって対処され得る。第1のマルチプレクサは、ラインをシフトすることを介してライン順序を復元することによって、水平ティアを除去することができる。このプロセスは、下でさらに詳細に説明される。周辺回路構成は、ラインバッファ525とスキャニングウィンドウアレイ515との間に位置決めされたスイッチ回路(たとえば、マルチプレクサ)をさらに含む。スイッチ回路は、ラインバッファからSWA 515に画素値を転送する間に行順序付けを切り替えることができる。ラインバッファからの画素値の次の列をハードウェアスキャニングウィンドウアレイに記憶するためのハードウェア手段は、画像内の水平ティアを除去するためにスイッチ回路(たとえば、マルチプレクサ)を含むことができる。これは、SWA 515内の画素によって置換される画像内の行方向に沿ったティア(または不連続性)の除去をもたらすことができる。ラインバッファ525に沿った垂直のスキャニングおよびラインバッファ525内に記憶された画像の一部のウィンドウの転送が、上で説明されたものと同様の理由から、ラインバッファ525から読み取られる画像内の垂直ティアをもたらす可能性もあることを了解されたい。そのような垂直ティアに対処するために、SWAからハードウェアコンピュータビジョン特徴計算ブロック560に画素値を転送する間に列順序付けを切り替えることができる同様のスイッチ回路が、使用され得る。画像内のティアは、下でさらに説明される方法に従って対処され得る。スキャニングウィンドウアレイ515がアドレス可能メモリを含む実施態様において、ティアは、データポインタを使用することによっても対処され得る。
【００７５】
次いで、このプロセスは、次の所望のウィンドウが画素アレイ505内でスキャンされるために、繰り返すことができる。本質的に、図5A内に示された実施態様は、周辺回路構成内に組み込まれたマルチポジションマルチサイズ(たとえば、様々な異なる次元を有することができる)スキャニングウィンドウアレイ515を可能にする。
【００７６】
SWA 515が、何らかの画素値を充てんされた後に、SWA 515内の1つまたは複数の画素は、組み合わされ(たとえば、画素アレイ内の画素値に関して本明細書内で議論されたように、平均をとられ)、1つまたは複数のアナログまたはデジタルのハードウェアコンピュータビジョン特徴計算ブロック560に供給され得る。ハードウェアコンピュータビジョン特徴計算ブロック560の1つのそのような例は、本明細書内の他所で説明される、ローカルターシャリパターン(LTP:local tertiary pattern)などのLBP変形形態を含むローカルバイナリパターン(LBP)計算ブロックである。他のハードウェアコンピュータビジョン特徴計算ブロックは、とりわけ、histogram of signed gradient(HSG)、histogram of oriented gradient(HOG)、Features from accelerated segment test(FAST)コーナー、およびその変形形態を含む。そのような計算ブロックのデジタル実施態様は、当技術分野で既知である。LBP計算を実行することができる回路の実施態様が、本明細書内で開示される。また、上の議論において、マルチカラー画像に関して、画素が、単一の値を有するのではなく、複数の値、たとえば(赤緑青)RGB画像の場合に3つの値を有する場合があることを理解されたい。したがって、RGB画像の例において、上で説明されたスキャニングウィンドウアレイ515は、実際に、3つのサブアレイすなわち赤SWA、緑SWA、および青SWA(別々のサブアレイとしては図示せず)を含むスキャニングウィンドウとすることができる。そのような実施態様において、図5A内に示されたコンピュータビジョン特徴計算ブロック560は、異なるカラーチャネルSWAによって共有され得、または、異なるカラーが、専用のコンピュータビジョン特徴計算ブロック560を有することができる。同様に、ラインバッファ525および図5A内に示された他の構成要素は、異なるカラーチャネルに関して共有され得、または、各カラーチャネルが専用回路構成を有することができる。図示された実施態様は、ラインバッファ525内の列の個数とセンサアレイ内の列の個数が等しいと仮定している。しかし、いくつかの実施態様において、センサアレイは、相対的に高解像度のセンサアレイとすることができ、センサ値平均化は、ラインバッファ525へのデータの行の読出の前に実行され得る。そのような実施態様において、ラインバッファ525内の列の個数は、センサアレイ内の列の個数より少ないものとすることができる。
【００７７】
図5Bは、センサ要素アレイ、CV計算ハードウェア、および専用マイクロプロセッサを含むスマート視覚センサの例の実施態様を示す。センサ要素アレイ302は、図1に示されたセンサ100に類似するものとすることができる。いくつかの実施態様において、センサ要素アレイ302は、画像センサアレイである。センサ要素アレイ302は、相関二重サンプリング回路を含むことができる。センサ要素アレイ302は、たとえば、CV計算が、組み合わされた値またはより低い解像度を使用して改善される実施態様において、ラインバッファ525に信号を出力する前に、センサ要素、画素信号、または画素値を組み合わせ、和をとり、または平均をとる回路構成をも含むことができる。ラインバッファ525は、視覚センサの他の部分にセンサ要素アレイ302からの画像または画像の諸部分を表す信号を転送するために、1つまたは複数のラインバッファを含むことができる。いくつかの実施態様において、1つまたは複数のラインバッファ525内の行の個数は、センサ要素アレイ302内の行の個数より少ない。いくつかの実施態様において、センサ要素アレイ302は、画像信号処理(ISP)のための回路構成を含まない場合があり、したがって、図5Bは、センサ要素アレイ302およびCV計算ハードウェア512が介在するISP回路構成なしで接続される実施態様を示し、したがって、いくつかの実施態様において、ISP回路構成は、ハードウェアセンサアレイ302とハードウェアスキャニングウィンドウアレイ515との間に配置されない。したがって、その間にISP回路構成が配置されないセンサ要素アレイ302およびCV計算ハードウェア512は、センサ読みを生成するためのハードウェア手段と画素値を記憶するためのハードウェア手段との間に画像信号処理のための手段が配置されない例とすることができる。たとえば、いくつかの実施態様において、センサ要素アレイ302からCV計算ハードウェア512によって受け取られる信号は、ISPを経験しておらず、たとえば、これらの信号は、欠陥補正、ホワイトバランシング、カラーバランシング、オートフォーカス、レンズロールオフ、デモザイキング、デベイヤリング、もしくは画像先鋭化、またはその任意の組合せのうちの1つまたは複数を経験していない。しかし、いくつかのそのようなISPなし実施態様において、フォーカシングまたは自動露出補正など、何らかの処理が行われる場合がある。ISPを経験していないそのような信号は、生信号または生センサ読みと呼ばれる場合がある。生信号または生センサ読みは、センサ読み全般に関して本明細書内の他所で議論されるように、生画素値を生成するのに使用される信号がISPを経験していない場合に生信号に基づいて生画素値を生成するために組み合わされ得る。生信号、生センサ読み、または生画素値は、デジタルに変換され、積分画像を形成するために積分され、スキャニングウィンドウ内に記憶され得、専用CV計算ハードウェアは、生信号、生センサ読み、または生画素値を受け取るように構成され得るが、生信号、生センサ読み、または生画素値が、何らかのデータ操作(組合せ、和もしくは積分、またはデジタルへの変換を含む)を経験したが、ISPを経験していないことを理解されたい。生画素値は、アナログまたはデジタルの生画素値を含むことができる。一実施態様において、センサ要素アレイ302は、アレイが320×240センサ要素を含む、ISP回路構成なしのQuarter Video Graphics Array(QVGA)カメラセンサである。
【００７８】
様々な実施態様において、CV計算ハードウェア512は、デジタル領域またはアナログ領域のいずれかにおいてCV計算を実行することができる。アナログ領域においてCV計算を実行することができるCV計算回路のいくつかの例が、図6〜図8および図10A〜図10Bを参照して本明細書内で開示される。これらおよび同様の回路のデジタル版も、可能である。したがって、オプションで、デジタル実施態様において、アナログ-デジタル変換器(ADC)514が、ラインバッファ525とCV計算ハードウェア512との間に配置され得る。いくつかの実施態様において、CV計算ハードウェア512は、CV特徴を計算すること以外の機能性をほとんどまたは全く有しないよう設計されたハードウェアであるという意味において、専用のCV計算ハードウェアである。
【００７９】
いくつかの実施態様において、CV計算ハードウェア512は、図1を参照して議論されたように、センサ要素または画素のブロックに関連する信号の組合せ、和、または平均値を使用することができる。そのような実施態様において、積分画像は、CV計算ハードウェア512への入力の前にそのような組合せ、和、または平均値を計算するのに有用である可能性がある。したがって、オプションで、視覚センサは、センサ要素アレイ内のセンサ要素の少なくともサブセットによってサンプリングされた画像を表す信号の少なくともサブセットに基づいて、画像の少なくとも一部の積分画像を計算するための2次元積分ハードウェア516をも含むことができる。しかし、本明細書内の他所で開示されるように、そのような組合せ、和、または平均値は、有用である時に、ハードウェアスキャニングウィンドウアレイ515内の回路構成を用いて実行され得、したがって、積分ハードウェアは、オプションである。図示されているように、2次元積分計算ハードウェア516は、専用のCV計算ハードウェアと通信しているものとすることができる。センサ要素アレイによってサンプリングされた画像を表す積分画像および/またはセンサ要素アレイによってサンプリングされた画像の一部の積分画像が、信号値を直接加算することと比較して、センサ要素のブロックの信号値をよりすばやく組み合わせ、和をとり、または平均をとるのに使用され得る。2次元積分ハードウェア516は、センサ要素アレイからの生信号に基づいて、デジタル領域またはアナログ領域のいずれかにおいてセンサ要素アレイによってサンプリングされた画像のすべてまたは一部の積分画像を表す信号を生成することができる回路構成を含むことができる。いくつかの実施態様において、2次元積分ハードウェア516によって生成された積分画像(センサ要素アレイによってサンプリングされた画像の一部またはサンプルウィンドウのみの積分画像とすることができる)は、ハードウェアスキャニングウィンドウアレイ515内に記憶され得る。したがって、ハードウェアスキャニングウィンドウアレイ515は、異なる実施態様において、画像のサンプルウィンドウに基づくデータを記憶することができ、記憶されるデータは、画像のサンプルウィンドウまたは積分画像を表すデータを含むことができる。たとえば、ハードウェアスキャニングウィンドウアレイは、積分画像を記憶するためのランダムアクセスメモリ(RAM)アレイまたは他の形のアナログもしくはデジタルのメモリを含むことができる。画素レベルLBPなど、センサ要素のブロックに対応する信号の組合せ、和、または平均値の計算が有用ではない実施態様において、2次元積分ハードウェア516が含まれない場合があり、したがって、センサ要素アレイ302からのアナログ信号またはADC 514からのデジタルに変換された信号を含むサンプルウィンドウが、ハードウェアスキャニングウィンドウアレイ515内に直接に記憶され得ることを理解されたい。いくつかの実施態様において、フレームバッファ(図示せず)が、2次元積分ハードウェア516とハードウェアスキャニングウィンドウアレイ515との間に接続され得る。フレームバッファは、2次元積分ハードウェア516によって出力された積分画像を記憶するように動作可能とすることができ、次いで、積分画像��サンプルウィンドウが、必要に応じてハードウェアスキャニングウィンドウアレイ515内にロードされ得る。代替案では、フレームバッファは、ラインバッファ525と2次元積分ハードウェア516との間に配置され得、画像を記憶することができる。そのような実施態様において、2次元積分ハードウェア516は、ハードウェアスキャニングウィンドウアレイ515内での記憶のためにフレームバッファ内に記憶された画像のサンプルウィンドウの積分画像を生成することができる。したがって、様々な実施態様において、フレームバッファは、画像フレームバッファまたは積分画像フレームバッファのうちの少なくとも1つとすることができる。さらに、いくつかの実施態様において、2次元積分ハードウェア516は、それに加えてまたはその代わりに、1次元積分を実行することができることを理解されたい。同様に、ハードウェアスキャニングウィンドウアレイ515は、センサアレイによって取り込まれた画像のサンプルウィンドウに対応する1次元積分画像を記憶することができる。1次元積分画像は、画像データの行内の画素値のグループのすばやい和を可能にすることができる。1次元積分画像の使用は、回転された基準物体、たとえば顔を検出するために、たとえば回転されたブロックを使用する、マルチブロックLBPの計算を可能にすることができる。フレームバッファは、ハードウェアスキャニングウィンドウアレイにデータを転送するためのハードウェア手段の例である。1次元または2次元の積分ハードウェアは、1つまたは複数のラインバッファによって転送される画像データに基づいて積分画像を計算するためのハードウェア手段の例である。
【００８０】
視覚センサは、CV計算ハードウェア512をも含むことができる。いくつかの実施態様において、CV計算ハードウェア512は、センサ要素のブロックに近接する複数の隣接するセンサ要素に関連する信号に少なくとも部分的に基づいて1つまたは複数の対象センサ要素のブロックの局所化されたCV特徴を計算することができる。たとえば、CV計算ハードウェアのローカルバイナリパターン(LBP)実施態様において、CV計算ハードウェアは、画像信号(または、画像信号の組合せ、和、もしくは平均値(たとえば積分画像を使用して生成された))に対応する信号値を受け取り、生画像信号に基づいてデジタルLBPラベルを生成するハードウェアを含むことができる。マルチブロックLBPが計算される実施態様において、1つまたは複数の対象センサ要素のブロックは、一例として、11×11センサ要素のブロックを含むことができる。また、局所化されたCV特徴がそれに関して計算される1つまたは複数の対象センサ要素のブロックが、単一の対象センサ要素である場合に、画素レベルLBP計算も行われ得ることをも理解されたい。上の説明は、専用マイクロプロセッサ520とは別々としてCV計算ハードウェア512に言及したが、いくつかの実施態様において、専用のCV計算ハードウェア512が、専用マイクロプロセッサ520内のハードウェアにおいて実施され得ることを理解されたい。CV計算ハードウェア512は、ローカルバイナリパターン(LBP)特徴を計算するためのハードウェア手段の例である。
【００８１】
専用ハードウェアにおける、上で議論されたLBPラベルなどのCV特徴の生成は、プロセッサ、たとえばアプリケーションプロセッサなどの汎用プロセッサまたはさらに専用マイクロプロセッサ内でのCV特徴の計算と比較して、視覚センサの電力を低下させることができる。しかし、視覚センサは、それでも、CV計算ハードウェア512に結合された専用マイクロプロセッサ520を含むことができる。専用マイクロプロセッサ520は、CV計算ハードウェア512からハードウェア計算されたCV特徴を受け取り、タスクが、所与のクラスに属する画像内のすべての物体の位置およびサイズを見つけることならびに他のコンピュータビジョン動作である、物体クラス検出(顔検出が、その特定のケースと見なされ得る)などのより高水準のコンピュータビジョン動作を実行することができる。さらに、専用マイクロプロセッサ520は、ラインバッファ525、ADC 514、2次元積分ハードウェア516、ハードウェアスキャニングウィンドウアレイ515、およびCV計算ハードウェア512に制御信号を供給することができる。いくつかの実施態様において、物体クラス検出または他のコンピュータビジョン動作を実行するために、専用マイクロプロセッサ520は、物体クラス検出、たとえば顔検出を実行するのにカスケードクラシファイヤアルゴリズムを使用することができる。オプションの実施態様において、さらなる電力節約が、マイクロプロセッサに対する計算の重荷をさらに減少させるためにカスケードクラシファイヤをハードウェアにおいて実施することによって、可能である。
【００８２】
オプションのカスケードクラシファイヤハードウェア522は、カスケードクラシファイヤのハードウェア実施態様を含む。カスケードクラシファイヤ522は、CV計算ハードウェア512によって計算されたCV特徴に基づいて、スキャニングウィンドウアレイ内に記憶されたサンプルウィンドウ内の基準物体の存在を検出するように構成され得る。いくつかの実施態様において、カスケードクラシファイヤは、カスケードクラシファイヤがそれに関してトレーニングされる基準物体の例と、非物体の例とを含む画像、たとえば顔と非顔の画像のデータセットに対して機械学習技法を使用してトレーニングされる。たとえば、第1のステージにおいて、カスケードクラシファイヤハードウェアは、LBP特徴が、たとえばハードウェアスキャニングウィンドウアレイ515内に記憶されたある個数、l個の対象センサ要素について計算されることをCV計算ハードウェア512に要求することができる。さらに、対象センサ要素の位置{(x11,y11),…(x1l,y1l)}も、カスケードクラシファイヤハードウェア522によって供給される。CV計算ハードウェア512が、ベクトル値として扱われ得る、要求されたLBP特徴を供給した後に、カスケードクラシファイヤハードウェアは、第1の加重スカラ和値を生成するために、1つまたは複数の重みとのLBP特徴の各々のドット積の和を実行する。一般に、各LBP特徴、(LBP11,…,LBP1l)は、それぞれが異なるものとすることのできる所与の重み(w11,…,w1l)によって乗算される。次いで、第1の加重スカラ和値が、第1のしきい値と比較される。スカラ和がしきい値未満である場合には、所与の確率までで、ハードウェアスキャニングウィンドウアレイ515内に記憶された信号によって表される画像の部分内に顔がなく、したがって、カスケードクラシファイヤハードウェア522は、ハードウェアスキャニングウィンドウアレイ515がスキャニングを継続し、1つまたは複数の新しい列または行を追加し、1つまたは複数の古い列または行を除去すべきであることを示すために、ハードウェアスキャニングウィンドウアレイ515とオプションでラインバッファ525およびセンサ要素アレイ302などの視覚センサの他の構成要素とに信号を送る。ハードウェアスキャニングウィンドウアレイ515内に記憶された、画像の後続のウィンドウまたはセンサ要素アレイのセンサ要素の後続のサブセットに対応する後続の複数の信号を用いて、このプロセスは、新たに開始することができる。画像の後続ウィンドウが、画像の前のウィンドウと大きい部分においてオーバーラップすることができることを理解されたい。いくつかの実施態様において、画像は、左から右にスキャンされ、センサ要素アレイ302の終りに達した後に、画像は、1つまたは複数の行だけ下に移動した後に、もう一度左から右にスキャンされ得る。別の実施態様において、画像は、1つまたは複数の行だけ下にシフトした後に右から左にスキャンされ得、これは、前の画像との増加されたオーバーラップを可能にすることができる。カスケードクラシファイヤハードウェア522は、コンピュータビジョン計算ハードウェアによって計算されたコンピュータビジョン特徴に基づいてハードウェアスキャニングウィンドウアレイ内に記憶されたサンプルウィンドウ内の基準物体を検出するためのハードウェア手段の例である。
【００８３】
スカラ和が第1のしきい値より大きい場合には、カスケードクラシファイヤハードウェア522は、次のステージに移動する。次の(この例では第2の)ステージにおいて、カスケードクラシファイヤハードウェアは、やはり、ハードウェアスキャニングウィンドウアレイ515内に記憶された位置{(x21,y21),…(x2m,y2m)}にあるm個の対象センサ要素のLBP特徴を提供するようにCV計算ハードウェア512に要求する。CV計算ハードウェア512が、要求されたLBP特徴(LBP21,…,LBP2m)を計算し、提供した後に、カスケードクラシファイヤハードウェア522は、第2の加重スカラ和値を生成するために、1つまたは複数の重み(w21,…,w2m)とのLBP特徴の各々のドット積の別の和を実行する。次いで、第2の加重スカラ和値は、第2のしきい値と比較される。スカラ和が、第2のしきい値未満である場合には、ハードウェアスキャニングウィンドウアレイ515内に記憶された信号によって表される画像の部分内に顔が存在することの低い尤度があり、カスケードクラシファイヤは、スキャニングを継続し、画像の次の部分に移動するために視覚センサアレイ内の他の構成要素に信号を送る。第2の加重スカラ和値が、第2のしきい値より大きい場合には、このプロセスは、上で説明されたように第3のステージに継続する。最終ステージ、たとえばNステージカスケードクラシファイヤの第Nのステージの終りに、第Nの加重スカラ和値が、第Nのしきい値より大きい場合には、顔が、ハードウェアスキャニングウィンドウアレイ515内に記憶された画像の部分内で検出される。次いで、カスケードクラシファイヤハードウェア522は、顔が検出されたことを専用マイクロプロセッサ520に示すことができ、オプションで、顔または顔の部分が検出された画像の部分の位置をさらに示すことができる。
【００８４】
LBPが各ステージでそれに関して計算されるハードウェアスキャニングウィンドウアレイ515内の対象センサ要素の個数および位置は、一般に、カスケードクラシファイヤハードウェア522内にプログラムされ、上で議論された機械学習トレーニングに由来する。同様に、LBP特徴の各々に乗算される重みも、一般に、機械学習トレーニング中に判定され、次いで、カスケードクラシファイヤハードウェア522内にプログラムされる。ステージの個数も、トレーニングに由来し、カスケードクラシファイヤハードウェア522内にプログラムされる。いくつかの実施態様において、カスケードクラシファイヤは、1つと31個との間のステージ、たとえば15個のステージを含むことができる。カスケードクラシファイヤハードウェア522は、いくつかの実施態様において、それがカスケードクラシファイヤ機能の実行用に設計されたハードウェアであり、他の重要な機能をほとんどまたは全く実行しないという意味で、専用のカスケードクラシファイヤハードウェアと考えられ得る。上で説明された実施態様は、モデルを生成するための実験室内での以前のトレーニングおよび機械学習に基づくプログラムされた重みおよびしきい値に基づくカスケードクラシファイヤに関するが、カスケードクラシファイヤハードウェア522またはCV計算ハードウェア512から受け取られたハードウェア計算されたCV特徴に基づいてCV動作を実行するように設計された周辺回路構成内の他のハードウェアが、現場で機械学習を実行するように設計され得ることを理解されたい。
【００８５】
説明されたばかりの実施態様において、専用マイクロプロセッサ520は、次いで、たとえば顔検出イベントに関して何を行うべきかを決定することができる。たとえば、専用マイクロプロセッサ520は、第2のマイクロプロセッサにイベントを送ることができる。いくつかの実施態様において、専用マイクロプロセッサ520および第2のマイクロプロセッサは、それぞれ図4の専用マイクロプロセッサ404およびアプリケーションプロセッサ406に対応することができる。図5B内に示されているように、専用マイクロプロセッサ520は、第2のマイクロプロセッサとの通信のためのインターフェース524を含む。
【００８６】
上の説明は、専用マイクロプロセッサ520とは別々としてカスケードクラシファイヤハードウェア522に言及したが、いくつかの実施態様において、専用のカスケードクラシファイヤハードウェア522が、専用マイクロプロセッサ520内のハードウェアにおいて実施され得ることを理解されたい。代替案では、カスケードクラシファイヤは、専用マイクロプロセッサ520上のソフトウェアアルゴリズムとして走行され得る。さらに、他のソフトウェアアルゴリズムが、カスケードクラシファイヤの代わりにまたはこれに加えて、専用マイクロプロセッサ上で走行され得る。いくつかの実施態様において、専用ハードウェアは、たとえばヒストグラムを使用して顔を検出するために実施され得る。そのような実施態様は、カスケードクラシファイヤハードウェア522の代わりにまたはこれに加えて、そのような専用ハードウェアを含むことができる。いくつかのそのような実施態様において、スキャニングウィンドウアレイ515内に記憶された画像のサンプルウィンドウに関して計算されたすべてのLBPラベルのヒストグラムは、スキャニングウィンドウアレイ515内に記憶されたサンプルウィンドウ内の顔の存在を検出するために、基準ヒストグラムと比較され得る。LBPラベルまたは特徴と共のヒストグラムの使用は、下で図9を参照して議論される。
【００８７】
図5B内に示された実施態様において、ラインバッファ525、ADC 514、2次元積分ハードウェア516、ハードウェアスキャニングウィンドウアレイ515、CV計算ハードウェア512、カスケードクラシファイヤハードウェア522、またはその任意の組合せのうちの1つまたは複数は、センサ要素アレイ302に対する周辺機器である回路構成である周辺回路構成526と考えられ得る。リストされた様々な構成要素またはその任意の組合せが、センサ要素アレイ302内の画素内回路構成として代わりに実施され得ることをも理解されたい。
【００８８】
図5Cは、コーナー検出器に関連するハードウェアにおけるスキャニングウィンドウの実施に関する高水準ブロック図を示す。この高水準ブロック図は、第1の行ドライバ510、第2の行ドライバ520、ラインバッファ525、列ドライバ530、第1のマルチプレクサ(MUX)540、およびスキャニングウィンドウアレイ(SWA)515を含む。スキャニングウィンドウアレイ515は、第2のマルチプレクサ(MUX)550および第3のマルチプレクサ(MUX)592にも接続され得る。第2のマルチプレクサ550は、他のより複雑なCV特徴と比較して相対的に高速である、コーナー検出などのCV特徴計算を実行するように動作可能な回路構成を含むハードウェアCV特徴計算ブロック590に接続され得る。図示されているように、CV特徴計算ブロックは、Features From Accelerated Segment Test(FAST)コーナー検出器CV特徴計算ブロック590である。ハードウェアにおいて実施されるFASTコーナー検出器は、コーナー検出を実行するためのハードウェア手段の例である。
【００８９】
FASTコーナー検出器は、特徴点を抽出するのに使用され得、その後に多数のコンピュータビジョンタスク内で物体を追跡し、マッピングするのに使用され得るコーナー検出方法である。FASTコーナー検出器の使用は、計算効率を提供することができる。FASTコーナー検出器は、対象画素が実際にコーナーであるかどうかを分類するのに16画素の円(3画素の半径を有する)を使用することができる。円内のN個の連続する画素のセットのすべてが、しきい値tだけ候補画素もしくは対象画素pの輝度より明るいか、または、すべてがしきい値tだけ候補画素pの輝度より暗い場合に、pは、コーナーとして分類される。Nの選択、連続する画素の個数、およびしきい値tの間にトレードオフがある。
Nは、しばしば12として選択される。しかし、追跡のコンテキストにおいては、Nは9とすることができる。
【００９０】
図5C内に示された実施態様において、CV特徴計算ブロック590が、スキャニングウィンドウアレイ(SWA)515内に記憶された画像のサンプルウィンドウがコーナーを含むと判定する場合に、第3のマルチプレクサ592は、スキャニングウィンドウアレイ(SWA)515内に記憶された画像内に存在する垂直ティアを除去し、画像の「ティアなし」版を第2のハードウェアスキャニングウィンドウアレイ594に記憶することができる。第2のスキャニングウィンドウアレイ594は、図5Aを参照して説明されたように制御論理に結合され得、制御論理は、第2のハードウェアスキャニングウィンドウアレイ594内に記憶された画素値によって表される画像内でのハードウェアCV特徴計算ブロック590によるコーナーの検出に基づいて、SWA 515から第2のハードウェアスキャニングウィンドウアレイ594への画素値の転送を制御するために制御信号を提供することができる。第3のマルチプレクサ592は、SWA 515と第2のハードウェアスキャニングウィンドウアレイ594との間に位置決めされて図示され、SWA 515から第2のハードウェアスキャニングウィンドウアレイに画素値を転送する間に列順序付けを切り替え、これによって画像内の列方向に沿った不連続性(ティア)を除去することができる。次いで、CV記述子またはCV特徴が、第2のハードウェアスキャニングウィンドウアレイ594内に記憶された値に基づいてコンピュータビジョン計算を実行するように動作可能な第2のCV特徴計算ブロック595を使用してハードウェアにおいて関連する画素の値を比較することによって、第2のハードウェアスキャニングウィンドウアレイ594内に記憶された画像の「ティアなし」版から直接に計算され得る(図5C内で「記述子」というラベルを付けられている)。CV特徴計算ブロックは、コンピュータビジョン計算回路構成を介してコンピュータビジョン計算を実行するためのハードウェア手段の例である。
【００９１】
第2のCV特徴計算ブロック595は、視覚的に類似する特徴が同様の記述を有するように、画像内の顕著な点にラベルを付け/これを記述するのに使用されるCV特徴またはCV特徴記述子を計算するように構成された専用ハードウェアとすることができる。数例を挙げると、Scale-Invariant Feature Transform(またはSIFT)、Binary Robust Invariant Scalable Keypoints(BRISK)、Binary Robust Independent Elementary Features(BRIEF)、Oriented FAST and Rotated BRIEF(Orb)、およびFast Retina Keypoint(FREAK)を含むがこれに限定はされない複数のバイナリ特徴記述子が存在する。第2のCV特徴計算ブロック595は、サンプリングパターン(たとえば、使用される画素の位置)およびサンプリング対(たとえば、その輝度が比較される画素)を使用してCV特徴または記述子を計算するように構成された回路構成を含むことができる。
【００９２】
別の実施態様において、第2のCV特徴計算ブロック595は、スキャニングウィンドウアレイ(SWA)515から直接に計算され得る。そのような実施態様において、第2のCV特徴計算ブロック595は、第3のマルチプレクサ592を介してSWA 515に直接に結合され得る。そのような実施態様においてさえ、第2のCV特徴計算ブロック595は、SWA 515内に記憶されたサンプルウィンドウがたとえばコーナーを含むとCV特徴計算ブロック590が判定する場合に限ってアクティブ化され得る。しかし、第2のCV特徴計算ブロック595がSWA 515にアクセスするたびに、第3のマルチプレクサ592が垂直ティアを除去するので、垂直ティアの存在が、要求される処理能力に対するより大きい影響を有する可能性があるので、まず垂直ティアを除去することは、有利である可能性がある。第2のCV特徴計算ブロック595が、計算のために何回もSWA 515にアクセスする状況では、1回ティアを除去することは、第2のハードウェアスキャニングウィンドウアレイ594内にティアなし画像を記憶することと、ティアなし画像を使用して直接に特徴および記述子を計算することとによって、効率を改善することができる。
【００９３】
いくつかの実施態様において、視覚センサは、FASTコーナー位置と、オプションでこれらの検出されたFAST検出されたコーナーの周囲の画像セグメントとを出力することができる。そのような実施態様において、第2のハードウェアスキャニングウィンドウアレイ594、第3のマルチプレクサ592、および記述子595は、存在しない場合がある。
【００９４】
さらなる電力節約を実現するために、いくつかの実施態様は、図5C内に示されているように、ハードウェアスキャニングウィンドウアレイとCV特徴計算ブロックとの間のマルチプレクサへの依存を減少させようとする。たとえば、コンピュータビジョン特徴または記述子が、スキャニングウィンドウアレイ(SWA)515内に記憶されたサンプルウィンドウ全体の多数の位置において第2のCV特徴計算ブロック595によって計算される場合には、MUX 592を用いて垂直ティアを除去することと、多数のCV特徴または記述子の計算を計算するために第2のティアなしスキャニングウィンドウアレイを使用させることとによって、電力節約が実現され得る。さらに、ティアの除去は、サンプルウィンドウ内の画像の部分がターゲット物体を含む可能性が低い場合に、回避され得る。CV特徴、たとえば図5C内に示されたFASTコーナーの検出によって第2のハードウェアスキャニングウィンドウアレイ594へのサンプルウィンドウの転送をゲーティングすることによって、ティアの除去が回避され得、さらなるCV特徴または記述子の計算も、回避され得る。CV特徴計算ブロック590が、たとえば、SWA 515内に記憶されたサンプルウィンドウ内にFASTコーナーが存在しないことを示す場合には、SWA 515は、本明細書内の他所で説明されるように、第2のCV特徴計算ブロック595内で実行されるより時間を消費するCV特徴計算を伴わずに、画像の別の部分に単純に移動する。そのような実施態様は、CV特徴計算ブロック590、たとえばFASTコーナー検出回路によって計算されるCV特徴が、より少ない電力を使用し、第2のCV特徴計算ブロック595によって計算されるCV特徴または記述子、たとえばSIFT特徴記述子より高速である場合に、電力使用を減少させ、実施態様における計算速度および効率を向上させることができる。CV特徴計算ブロック595は、第2のハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算を実行するためのハードウェア手段の例である。
【００９５】
図6は、画素をラインバッファ内に読み取る前に、オプションで画素アレイ505(たとえば、図5Aまたは図5B内に示された画素アレイ505)内の画素値の平均をとるためのハードウェア実施態様を示す。図6内に示されているのは、図6内での図示において160×160画素アレイとして示された、画素アレイ505からの4つの隣接する画素(たとえば、アクティブ画素画像センサ610)の例示的な例である。アクティブ画素画像センサ610の間には、行短絡線620と列短絡線630とがあるものとすることができる。さらに、各画素内の回路は、行短絡線および列短絡線の各々にそれぞれまたがる2つのトランジスタを介してお互いに結合され得る。トランジスタは、たとえば画素のセンサ読みの平均をとるために隣接する画素からの電荷貯蔵要素を接続する(たとえば、フォトダイオードを短絡させる)ための「スイッチ」として働くことができる。いくつかの実施態様において、画素をラインバッファ(図5Aおよび図5Bの)に読み取る前に、画素の2×2ブロックが、単一の値に組み合わされ、これによって画像の解像度を低下させることができる。これが達成された後に、低下された解像度の画像が、スキャニングウィンドウアレイ515内にスキャンされ得る(図5参照)。本明細書内の他所で説明されるように、低下された解像度の画像のスキャンは、行および列をスキップすることを含むことができる。いくつかの実施態様において、解像度を低下させ、より低い解像度の画像をスキャニングウィンドウアレイ内にスキャンし、コンピュータビジョン特徴計算ブロック560(図5参照)を使用してコンピュータビジョン特徴計算を実行し、次いで、別のさらにより低い解像度についてこのプロセスを繰り返すことが、有利である可能性がある。その場合に、組合せは破壊的であるが、さらなる解像度低下が、それでもいくつかの(すべてではなく)より低い解像度に関して達成され得る。たとえば、解像度が、画素の2×2ブロックを組み合わせることによって低下される時に、解像度の後続のさらなる低下は、画素の2×2ブロックをそれに隣接する2×2ブロックのうちの3つと組み合わせて、その後に画素の4×4ブロックを作成することによって可能である。次いで、この4倍に低下された解像度の画像は、他所で説明されるようにスキャニングウィンドウアレイ内にスキャンされ得、次いで、コンピュータビジョン特徴計算が、実行され得る。8倍(次いで、画素の8×8ブロックを作成するために隣接する4×4ブロックを組み合わせることによる)、16倍(次いで、画素の16×16ブロックを作成するために隣接する8×8ブロックを組み合わせることによる)などの解像度の後続の低下も、可能である。解像度低下が、3倍低下、次いで6倍低下、次いで12倍低下などに関しても画素アレイ505内で達成され得ることをも理解されたい。解像度が、説明された形で画素アレイ505内で低下される時に、さらなる解像度低下が、ブロック560を使用してコンピュータビジョン特徴計算を実行する前にスキャニングウィンドウアレイ515内で実行され得ることを理解されたい。画素アレイ505から読み出されたフル解像度または低下された解像度の画像をスキャニングウィンドウアレイ515内での低下と組み合わせることは、コンピュータビジョン特徴計算の前に、1倍と2倍との間、2倍と4倍との間、4倍と8倍との間などの中間解像度��下を提供することができる。上の議論において、マルチカラー画像、たとえばRGB画像の場合に、たとえば2×2画素ブロックに関する、画素の組合せまたは画素の平均化は、単一の組み合わされた赤値を得るために2×2画素ブロック内の赤チャネルを別々に組み合わせることと、単一の組み合わされた緑値を得るために2×2画素ブロック内の緑チャネルを別々に組み合わせることと、単一の組み合わされた青値を得るために2×2画素ブロック内の青チャネルを別々に組み合わせることとを意味することを理解されたい。したがって、モノクローム画像の画素の組合せまたは画素の平均化は、2×2画素ブロックの組合せまたは平均化が、ブロックの単一の組み合わされた値をもたらすことを意味するが、たとえばRGB画像の場合の画素の組合せまたは画素の平均化は、2×2画素ブロックの組合せまたは平均化が、3つの別々の値すなわち組み合わされたR、組み合わされたG、および組み合わされたGをもたらすことを意味する。同様に、任意のサイズの画素ブロックの組合せまたは平均化は、複数の値(1つだけではなく)をもたらすことができ、その個数は、1つの単一の組み合わされた値ではなく、画像内のカラーチャネルの個数と等しい。
【００９６】
この例において、行短絡線620と列短絡線630との両方が、イネーブルされ、トランジスタ回路を完成させ、4つの画素の各々をお互いに短絡させることができる。したがって、4つの画素の各々は、4つの画素の平均値である画素値をとることができる。このプロセスは、画素アレイ505内のすべての画素について発生することができ、必ずしも説明された2×2の形で行われる必要がない。説明された特定の例において、すべての画素が2×2の形で短絡される場合に、隣接する行が、同一の画素値を有する場合がある。たとえば、行1および行2が、同一の値を有することができ、行3および行4が、同一の値を有することができるなどである。
【００９７】
いくつかの実施態様において、画像のスケーリングは、局所平均化のために画素を短絡させ、それらをもう一度読み出すことによって達成され得る。たとえば、画素アレイが、560×560画素である場合に、画像の解像度は、560×560から80×80に変更され得る。このプロセスは、さらにより低い解像度、たとえば40×40が望まれる場合に、繰り返され得る。より低い解像度での画素の読出が、オプションであり、図5に関して説明された実施態様が、それでも、より低い解像度で画素を読み出すことさえなしに、既存の解決策を越える利点を提供できることを了解されたい。たとえば、利点は、画素アレイ全体に対してCV計算を行うシステムと比較した、CV計算ブロックの低下された複雑さとすることができる。いくつかの実施態様において、上で説明された組合せ、平均化、またはスケーリングの後に、画素アレイ505内で元の解像度を回復することが、オプションで望ましい可能性がある。その場合に、各画素は、説明された破壊的な組合せ動作の後に各画素において元の画素値の復元を可能にするために、サンプル、ホールドプラスバッファ回路を有することができる。たとえば、これは、上で説明されたように、1倍(フル解像度)から2倍(解像度の半分)、4倍(解像度の1/4)、8倍(解像度の1/8)などへの解像度低下のシーケンスに、元の値の復元の後の、1倍(フル)解像度画像、3倍(1/3)解像度画像、6倍(1/6)解像度画像、または1倍(フル)解像度画像、5倍(1/5)解像度画像、10倍(1/10)解像度画像などのうちの任意の1つまたは複数の画像からのスキャンが続くことを可能にすることができる。
【００９８】
図7は、ラインバッファ525のためのハードウェア実施態様を示す。ラインバッファ525は、画素アレイの水平読出と共にサンプルアンドホールド回路710を(画素ごとに)使用することによって画素値を充てんされ得る。この例において、ラインバッファは、32ラインからなることができる。上で説明されたように、行バッファは(論理、メモリ、およびマイクロプロセッサブロックからの入力を介して)第1の行ドライバによって読み取られるべき行を画素アレイから選択することができる。画素アレイからの所望の行内の画素は、第2の行ドライバ520から来る行ライン選択720を介して選択され得る。次いで、第2の行ドライバは、行をラインバッファ525に書き込むことができる。次いで、サンプルアンドホールド回路710は(画素ごとに)、所望の行から読み取られた各画素をサンプリングし、ホールドすることができる。
【００９９】
すべての所望の行を読み取り、それらをラインバッファ525に書き込む時に、列ドライバ530は、次いで、列ライン選択730を介して、スキャニングウィンドウアレイ515を充てんするのに必要なラインバッファ525からの所望の列を選択することができる。
【０１００】
いくつかの実施態様において、次いで、ラインバッファ525からスキャニングウィンドウアレイ515を充てんするための所望の画素は、介在するアナログ-デジタル変換器なしで第1のマルチプレクサ540に供給され得る。これは、ソースフォロワまたはバッファ740を介して達成され得る。上で説明されたように、ラインバッファ525内の画素は、水平ティアおよび/または垂直ティアという欠点がある場合がある。水平ティアおよび/または垂直ティアを矯正するためのハードウェアは、下でさらに詳細に説明される。しかし、他所で注記されるように、デジタルスキャニングウィンドウアレイ515の諸実施態様において、アナログ-デジタル変換器は、まず、デジタル値が次いで第1のマルチプレクサ540に供給される前に、アナログ値をデジタル値に変換することができる。
【０１０１】
図8は、ラインバッファ525内の画像の水平ティアおよび/または垂直ティアを補正するためのハードウェア実施態様を示す。第1のマルチプレクサ540は、水平ティアを補正するためにラインバッファ525内の行のライン順序を復元することができる。いくつかの実施態様において、本明細書内で説明されるハードウェア実施態様とインターフェースするように構成されたソフトウェアアプリケーションは、水平ティアがラインバッファ525内のどこに位置するのかを知ることができる。ソフトウェアは、ティアの位置の値(たとえば、M)を第1のマルチプレクサ540に供給することができる(たとえば、Mだけシフトする命令を供給することによって)。いくつかの実施態様において、第1のマルチプレクサ540は、ラインバッファからの出力を31ラインまでシフトできるものとすることができる(たとえば、16、8、4、2、および1だけシフトするための回路を有することによって)。ティア位置が1である(たとえば、M=1)場合には、第1のマルチプレクサ540は、ラインをMだけシフトすることができる。
【０１０２】
垂直ティアが、ラインバッファ525の後での別のマルチプレクサ(図示せず)の追加によって、同一の形で訂正され得ることを了解されたい。
【０１０３】
スキャニングウィンドウアレイ515は、今や、指定された位置において画素アレイからの画像のコピーを保持することができる。画像の所望の位置は、本明細書内で説明されるハードウェア回路を用いてラスタの形でスキャンされ得、または、いくつかの実施態様においては、ソフトウェア制御され得る。さらに、画像の所望の位置は、追跡のためにオンデマンドで変更され得る。
【０１０４】
いくつかの実施態様において、本明細書内で説明されるハードウェア回路は、伝統的なカメラセンサに類似する輝度ベースの画像読出のためにも使用され得る。
【０１０５】
ハードウェアにおけるマルチブロックコンピュータビジョン特徴実施態様
いくつかの実施態様において、本明細書内で説明されるハードウェア回路は、構成可能な組み合わせる回路構成をも含むことができる。構成可能な組み合わせる回路構成は、複数の記憶要素に結合され得、ハードウェアにおけるマルチブロックコンピュータビジョン特徴の計算を可能にすることができる。
【０１０６】
図9は、ローカルバイナリパターン(LBP)コンピュータビジョン特徴実施態様を示す。9画素のグループ910が図示され、1つの画素が、残りの8つの画素によって囲まれている。隣接する画素は、LBPを計算するのに使用され得る。画素ごとに、画素は、その8つの隣接する画素(その左上、左中央、左下、右上などにある)の各々と比較され得る。中央画素の値が隣接する画素の値より大きい場合に、隣接する画素値は、1として書き込まれ得る。そうでない場合には、隣接する画素の値は、要素912として示される、0として書き込まれ得る。8つの隣接する画素の値から、8桁2進数が入手され得る。次いで、要素920内に示されているように、各8桁2進数(たとえば、どの画素が中央より小さく、どの画素が中央より大きいのかの各組合せ)が発生する頻度のヒストグラムが、9つの画素から構成されるセルにわたって計算され得る。いくつかの場合に、ヒストグラムは、最適に正規化され得る。920内に示されるように、ウィンドウ内のすべてのセルに対する同様の動作が、実行され得、すべてのセルのヒストグラムが、連結され得る。これは、ウィンドウの特徴ベクトルの入手を可能にすることができる。次いで、特徴ベクトルが、顔認識または他の物体分析のために画像を分類するために機械学習アルゴリズムを使用して処理され得る。
【０１０７】
画素は、ハードウェアアレイの第1の次元(たとえば、行)および第2の次元(たとえば、列)に沿って配置された複数の記憶要素を含む、スキャニングウィンドウアレイなどのハードウェアアレイ内に記憶され得る。記憶要素の各々は、アナログまたはデジタルの画素値を記憶することができる。記憶要素は、たとえば、いくつかの実施態様においてキャパシタ、またはランダムアクセスメモリ(RAM)アレイなど、デジタル実施態様においてデジタル値を記憶することができるハードウェアアレイとされ得る。いくつかの実施態様において、ハードウェアスキャニングウィンドウアレイは、ブロック内の画素の和または平均値を生成するための画素値の和または平均化を可能にすることができる。一例において、これは、積分画像のサンプルウィンドウ(または元の画像のサンプルウィンドウの積分画像)がハードウェアスキャニングウィンドウアレイ内に記憶され、画素値の平均値または和の計算的に効率的な計算を可能にする、図5Bを参照して議論されたものなどの実施態様内で達成され得る。他の実施態様において、ハードウェアスキャニングウィンドウアレイは、アレイ内でのまたはアレイなしでのブロックの和または平均化を可能にする回路構成を含むことができる。様々な手法において、画素値の加重和または平均値が、サイズにおいて変化するブロック(2×2画素、3×3画素、4×4画素など)に関して計算され得る。いくつかの実施態様において、11×11画素もの大きさまたはそれを超えるブロックまたはセルが、組み合わされ、和をとられ、または平均をとられ得る。次いで、LBP動作が、要素930内に示されているように、たとえば3ブロック×3ブロックセルを含むセルに対してハードウェアにおいて実行され得る。
【０１０８】
さらに、マルチブロックLBP(上で説明された画素レベルLBPではなく)が、より頑健な特徴ベクトルのために使用され得る。議論の簡単さのために、残りの開示は、画素のブロックまたはセルからの平均をとられた画素値の文脈においてLBPおよびマルチブロックLBPを議論するが、画素値の加重和または他の組合せも、画素値平均値の代わりに様々な実施態様において使用され得ることを理解されたい。マルチブロックLBPは、ブロック内のすべての画素の平均画素値をまず入手することができる。たとえば、930内で、左上ブロックは、画素値6、8、8、6、7、7(時計回り)を有する6つの画素を有する。マルチブロックLBPは、この6つの画素の平均値(7である)をまず計算することができる。これは、ウィンドウ内のブロックごとに繰り返され得る。たとえば、図示のウィンドウ内の画素の平均値は、7、8、12、8、9、11、6、20、および19である。次いで、伝統的なLBP動作が、ブロックを「画素」として扱うことによってマルチブロックセルに対して実行され得、たとえば、0または1の値が、中央ブロックを囲む隣接するブロックに書き込まれる。この図からわかるように、LBP動作の結果は、0、0、1、0、1、0、1、1という書き込まれる値をもたらす。次いで、伝統的なLBP動作は、上で説明されたように継続することができる。要素930内に示された例は、オプションで何らかのしきい値化を含むと理解される。たとえば、いくつかの実施態様において、9の平均値を有する中央ブロックを囲むブロックに対するLBP動作は、あるしきい値だけ値9より大きいブロックの「1」(または他の2進数)の結果を生じる。同様に、いくつかの実施態様において、しきい値化は、9の平均値を有する中央ブロックを囲むブロックに対するLBP動作が、あるしきい値だけ値9より小さいブロックの「0」(または他の2進数)の結果をのみ生じるように、同時にまたは独立に実行され得る。LBPのいくつかの変形形態、たとえばローカルターシャリパターン(LTP)においては、しきい値化は、9の平均値を有する中央ブロックを囲むブロックに対するLBP動作が、ある値だけ中央ブロックより小さいブロックの「-1」、中央ブロックの値と比較してしきい値以内のブロックの「0」、またはしきい値だけ中央ブロックより大きいブロックの「1」という3つの値のうちの1つを生じるように実行され得る。同様の形で、histogram of signed gradients(HSG)などの他のコンピュータビジョンアルゴリズムが、複数の画素値のブロックレベル平均化から利益を得ることができる。マルチブロックLBPのいくつかのハードウェア実施態様が、下でさらに詳細に説明される。
【０１０９】
図10Aは、マルチブロックコンピュータビジョン特徴実施態様のためのハードウェア実施態様を示す。図10Aに関して説明されるハードウェアは、より大きい画像上に重畳されたスライディングサンプルウィンドウによって定義されるより大きい画像のサブ画像の内容を保持するスキャニングウィンドウアレイ(SWA)として提供され得る。いくつかの実施態様において、スキャニングウィンドウアレイ画像は、画素値に対応するキャパシタのアレイ上の電荷としてハードウェアにおいて使用可能にされ得る。スキャニングウィンドウアレイ画像は、元の画像からのスキャニングウィンドウ画像の読み取りからの結果のアーティファクトとすることができる水平ティアおよび/または垂直ティアを含む場合がある。さらに、より大きいアレイ、たとえば光センサまたはカメラセンサシステムの一部としての画素のアレイからのSWA内へのサブ画像のスキャンの前に、画素アレイの画素値が、組み合わされもしくは平均をとられる場合があり、または、画素アレイ内の画像の元の解像度が、低下されている場合がある。したがって、本明細書で説明されるすべての画素値組合せまたは画素値平均化は、元の解像度に対する相対的な画像の解像度のさらなる低下を表す可能性がある。これは、一部のコンピュータビジョン特徴の計算または動作にとって有利である可能性がある。
【０１１０】
SWAが、ハードウェアによって使用可能にされる場合に、一実施態様、たとえば画素値を記憶するSWAおよびコンピュータビジョン計算が回路構成を使用して実行される実施態様において、画素値は、各画素に関連するサンプルアンドホールドバッファから充電されるキャパシタ1010(たとえば、1010a、1010b、1010c、1010d)上の電荷として記憶され得る(図10B参照、明瞭さのために、図10A内には図示されていない)。図10Aは、複数のキャパシタ1010を示し、各キャパシタ1010は、1画素に関連し、電荷を維持することによって画素値を記憶する。トランジスタは、列短絡線1030a、1030b、1030c、1030dまたは行短絡線1020を駆動することによってアクティブ化され得る。たとえば、図内の左端の列短絡線1030aが駆動される場合に、上側の行の左端のキャパシタ1010aが、上側の行の左から2番目のキャパシタ1010bに短絡され得、下側の行の左端のキャパシタ1010eが、下側の行の左から2番目のキャパシタ1010fに短絡され得る。短絡された画素の値が、読み出され、関心を持たれている所望の画素値を選択することができるマルチプレクサに供給され得る。キャパシタは、キャパシタに結合された構成可能な組み合わせる回路構成によって制御され得る。構成可能な回路構成は、異なる組み合わせるパターン(たとえば、図10C参照)に従って組み合わされた画素値を生成するために、キャパシタからの複数の画素値をハードウェアにおいて組み合わせることができる。構成可能な回路構成は、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値を組み合わせるためのハードウェア手段の例である。そのような組み合わされた画素値は、そのように組み合わされた画素値の平均値を表すことができる。画素値を組み合わせることが、スキャニングウィンドウアレイの任意の次元に対して実行され得ることを了解されたい。たとえば、スキャニングウィンドウアレイ内の2×2、3×3、4×4、5×5、またはN×Nのブロック内の画素値が、組み合わされ(たとえば、平均をとられ)得る。より一般的に、スキャニングウィンドウアレイ内の1×2、2×1、2×3、3×2、3×4、4×3、またはM×N(MまたはNは、1と等しい場合もある)画素ブロック内の画素値も、組み合わされ(たとえば、平均をとられ)得る。図10A内に示されたアレイは、キャパシタの4×4アレイであるが、SWAが、応用例に依存してより大きくされ得ることを理解されたい。いくつかの実施態様において、SWAは、32×32アレイとすることができる。いくつかの実施態様において、SWAは、長方形とすることができ、M×Nアレイとすることができる。
【０１１１】
構成可能な回路構成は、行短絡線(たとえば、行に沿って隣接する回路要素を接続するように動作可能な第1の制御可能な接続)および列短絡線(たとえば、列に沿って隣接する回路要素を接続するように動作可能な第2の制御可能な接続)を含むことができる。この回路構成は、組み合わせるパターンに基づいて、組み合わされた画素値のセットを生成するために、複数の画素値のうちのいくつかの第1の破壊的な組合せを可能にすることができる。次いで、アレイ内のキャパシタは、サンプルアンドホールドプラスバッファ回路からデータを再ロードされ得る(図10B参照)。破壊的組合せは、別の組み合わせるパターンに従う他の画素の後続の組合せに関して繰り返され得る。他の画素が、必ずしも相互に排他的な画素を意味しないことを了解されたい。たとえば、画素の新しいグループが、前の組み合わせる動作からの1つまたは複数の画素を含むことができる。画素値を組み合わせることは、接続される隣接するセンサ要素を含むブロックの平均化された画素値を生成することができる。たとえば、CV特徴計算の前に2×2画素ブロックを組み合わせることが望ましい場合がある。その後に、CV特徴計算の前に3×3画素ブロックを組み合わせることが望ましい場合がある。画素値組合せが破壊的なので(たとえば、上で図10Aに関して説明されたキャパシタの短絡)、2×2画素ブロック組合せを実行した後に3×3画素ブロック組合せを実行するためには、SWA内で元の画素値を復元することが必要である。図10B内に示されたサンプルアンドホールドプラスバッファ回路1050は、破壊的な組合せまたは平均化が実行された後の元の画素値の回復を可能にする。
【０１１２】
図10Cは、LBPというラベルを付けられたコンピュータビジョン(CV)特徴計算ブロック1080に接続されたSWAを示すが、HSG、FASTコーナー、またはHaar-like特徴など、他のコンピュータビジョン特徴計算動作がハードウェアにおいて実行され得ることを理解されたい。マルチプレクサ(MUX)1070は、ローカルバイナリパターン(LBP)1080または他のハードウェアベースのCV特徴計算の前にSWA内で表される画像内のティアを処理する際に有用である可能性がある。本明細書内で説明されるSWA 1060が、ハードウェアベースのCV特徴計算の前の画素の一次的記憶、可能な組合せおよび/もしくは平均化、または再配置を可能にすることに留意する価値もある。上での議論において、画像内の各画素値は、モノクローム画像内のように単一の値を有すると仮定された。しかし、マルチカラー画像に関して、画素は、単一の値を有するのではなく、複数の値、たとえば(赤緑青)RGB画像の場合には3つの値を有することを理解されたい。したがって、RGB画像の例において、上で説明されたSWA 1060は、実際には、3つのサブアレイすなわち赤SWA、緑SWA、および青SWAを含むスキャニングウィンドウである場合がある(図10C内では別々のサブアレイとしては図示されていない)。図10C内に示されたコンピュータビジョン特徴計算ブロック(「LBP」というラベルを付けられている)1080は、異なるカラーチャネルSWAによって共有され得、または、異なるカラーが、専用のコンピュータビジョン特徴計算ブロックを有することができる。同様に、図示のMUX 1070は、共有され得、または、各カラーが、専用のMUX 1070を有することができる。さらに、上の議論において、マルチカラー画像、たとえばRGB画像の場合に、たとえば2×2画素ブロックに関する、画素の組合せまたは画素の平均化は、単一の組み合わされた赤値を得るために2×2画素ブロック内の赤チャネルを別々に組み合わせることと、単一の組み合わされた緑値を得るために2×2画素ブロック内の緑チャネルを別々に組み合わせることと、単一の組み合わされた青値を得るために2×2画素ブロック内の青チャネルを別々に組み合わせることとを意味することを理解されたい。したがって、モノクローム画像の画素の組合せまたは画素の平均化は、2×2画素ブロックの組合せまたは平均化が、ブロックの単一の組み合わされた値をもたらすことを意味するが、たとえばRGB画像の場合の画素の組合せまたは画素の平均化は、2×2画素ブロックの組合せまたは平均化が、3つの別々の値すなわちブロックの組み合わされたR値、ブロックの組み合わされたG値、およびブロックの組み合わされたB値をもたらすことを意味する。同様に、任意のサイズの画素ブロックの組合せまたは平均化は、複数の値(1つだけではなく)をもたらすことができ、その個数は、画像内のカラーチャネルの個数と等しい。SWAが、センサアレイからのセンサ読みに基づく画素値に基づく積分画像の一部を記憶している実施態様において、SWAが、カラーチャネルごとの積分画像を保持する3つのサブアレイをも含む場合があることを理解されたい。
【０１１３】
いくつかの実施態様において、組み合わせることは、図10D内に示されているように、ハードウェアセンサアレイからの値を用いてスキャニングウィンドウアレイを充てんするためのラウンドロビンラインバッファの使用の結果として、スキャニングウィンドウアレイ内に記憶された画像内に存在する垂直ティアおよび/または水平ティアを適当に処理することができる。たとえば、垂直ティアが、キャパシタ1010aと1010bとの間に位置する場合に、画素値1010bおよび1010cは、短絡され得、画素値1010dおよび1010aは、短絡され得る(図10A参照)。次いで、マルチプレクサは、正しい順序で(たとえば、1010bにおいて開始して)列値を読み取るのに使用され得る。たとえば、垂直ティア1092に関して図10D内に示されているように、単一のブロック内の画素は、最後の列(SWAの右端)内の画素と最初の2列(SWAの左端)内の画素とを含み、したがって、そのような状況においてブロック内のすべての画素を短絡する時には、右端のいくつかの画素が、左端の画素と短絡される。同様に、垂直ティアと水平ティアとの両方の図示の例1094に関して、平均をとられる単一のブロック内の画素は、最初の2行内および最下行内の画素を含む。この例において、コーナーをトラバースするブロックは、次いで、4つすべてのコーナーからの画素を短絡することによって平均をとられ得る(左上の2×2画素グループは、右上コーナーの2×1画素グループ、右下コーナーの1×1画素、および左下コーナーの1×2画素グループと短絡される)。
【０１１４】
キャパシタが短絡され、平均画素値が、スキャニングウィンドウアレイ内の各ブロック内の画素ごとに判定された後に、マルチブロックLBP動作または任意の他のコンピュータビジョン動作が、実行され得る(図10C参照)。スキャニングウィンドウアレイ内の組み合わされた(たとえば、平均をとられた)画素値は、マルチプレクサによって適当に選択され、次いで、マルチブロックLBP回路(または他のCV特徴計算回路)に供給され得る。マルチブロックLBPをハードウェアにおいて実施することによって、LBP動作は、SWA内の変化する位置のおよび/または変化するサイズ(組み合わされまたは平均をとられる画素の個数)のブロックによって複数回実行され得る。
【０１１５】
たとえば、図11に示されているように、複数のブロックのサイズは、変化する可能性がある。例1110において、ブロックは、画素の3×3グループの組合せを表し、ブロックの3×3セルがある。例1120において、ブロックは、画素の3×1グループの組合せを表し、ブロックの3×3セルがある。例1110および1120は、たとえば、LBPまたはHSGのハードウェアCV特徴計算内で使用され得る。例1130において、ブロックは、画素の3×3グループの組合せを表し、ブロックの1×2セルがある。いくつかの実施態様において、コンピュータビジョン動作は、オプションである。
【０１１６】
いくつかの実施態様において、複数の回路変形形態が、Haar-like特徴などの他のタイプのCV特徴に関して同一の原理を使用して実施され得る。ソフトウェアアプリケーションは、必要に応じて所望の回路変形形態の電源をオンにすることができる。いくつかの実施態様において、アナログ-デジタル変換器(ADC)が、画素輝度読出に使用され得る。任意の他の回路要素が、さらなる処理(たとえば、畳込み、深層学習など)のために追加され得ることを了解されたい。これらの追加回路要素は、分離してまたは組み合わせて使用され得る。
【０１１７】
マルチブロックLBPは、構成可能な組み合わせる回路構成に結合されたコンピュータビジョン計算回路構成を使用して実行され得る。コンピュータビジョン計算回路構成は、組み合わされた画素値に基づくコンピュータビジョン計算をハードウェアにおいて実行することができる。コンピュータビジョン計算回路構成は、コンピュータビジョン計算を実行するためのハードウェア手段の例である。
【０１１８】
図10Aのスキャニングウィンドウアレイ(SWA)内で、トランジスタは、行に沿って隣接するキャパシタ(たとえば、キャパシタ1010aおよび1010bを短絡する)または列に沿って隣接するキャパシタ(たとえば、キャパシタ1010aおよび1010eを短絡する)の短絡を可能にするように図示されている。しかし、トランジスタが、画素値の他の形の組合せを可能にするように配置され得ることを理解されたい。たとえば、トランジスタは、対角線でのキャパシタの組合せをさらに可能にするように構成され得る。この実施態様において、トランジスタ(図示せず)が、たとえばキャパシタ1010aをキャパシタ1010fに短絡するために提供され得る。これは、SWAに対してある角度にあるブロックの計算を可能にすることができる(たとえば、SWA上に重畳されて図示された3ブロック×3ブロックセルは、SWAに対してある角度にあることができる)。
【０１１９】
図12は、ハードウェアにおいて画素値を分離するための方法の流れ図1200である。ブロック1210において、環境条件に基づくセンサ読みが、複数の画素を介して生成され得る。複数の画素が、ハードウェアセンサアレイの少なくとも第1の次元および第2の次元に沿って配置され得る。ハードウェアセンサアレイは、カメラのセンサとすることができる。たとえば、図5A内で、画素アレイ(たとえば、ハードウェアセンサアレイ)は、環境条件に基づく画素値を記憶する。この例においては、女性の肖像画を表す画素値が、画素アレイ内に記憶される。
【０１２０】
いくつかの実施態様において、ハードウェアセンサアレイは、複数の画素に結合された構成可能な組み合わせる回路構成をも含むことができ、構成可能な組み合わせる回路構成は、少なくとも1つの組み合わせるパターンに従って画素値を生成するために複数の画素からの複数のセンサ読みをハードウェアにおいて組み合わせるように動作可能である。構成可能な組み合わせる回路構成は、ハードウェアセンサアレイの第1の次元に沿って隣接する画素を接続するように動作可能な第1の複数の制御可能な接続と、ハードウェアセンサアレイの第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続とを含むことができる。隣接する画素が接続される時には、平均をとられた画素値が、接続される隣接する画素の各々において生成され得る。平均化の実行が、流れ図1200に関してオプションとされ得ることを了解されたい。
【０１２１】
ブロック1220では、ハードウェアセンサアレイからの1つまたは複数のセンサ読みに基づく画素値が、ハードウェアスキャニングウィンドウアレイ内の複数の記憶要素内に記憶され得る。複数の記憶要素は、ハードウェアスキャニングウィンドウアレイの少なくとも第1の次元および第2の次元に沿って配置され得る。たとえば、図5A内で、画素アレイからのセンサ読みに基づく画素値の部分は、スキャニングウィンドウアレイ内に記憶される。
【０１２２】
ブロック1230において、記憶される画素値の異なるウィンドウが、画素値を系統的に転送するための周辺回路構成を介して、記憶されることを引き起こされ得る。記憶される画素値は、異なる時にハードウェアスキャニングウィンドウアレイ内で、ハードウェアセンサアレイからのセンサ読みに基づくものとすることができる。いくつかの実施態様において、周辺回路構成は、ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むラインバッファを含むことができ、ラインバッファの第1の次元は、ハードウェアセンサアレイの第1の次元より小さく、ラインバッファの第2の次元は、ハードウェアセンサアレイの第2の次元と等しい。たとえば、図5A内で、第1の行ドライバ、第2の行ドライバ、および列ドライバは、画素アレイからの画素値がラインバッファ内に記憶されることを引き起こす。
【０１２３】
ブロック1240において、ハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するための周辺回路構成への信号が、提供され得る。信号は、ハードウェアセンサアレイ、ハードウェアスキャニングウィンドウアレイ、および周辺回路構成に結合された制御論理を介して提供され得る。たとえば、図5Aにおいて、論理、メモリ、マイクロプロセッサブロックは、画素値をハードウェアスキャニングウィンドウアレイ内に転送するために、第1の行ドライバ、第2の行ドライバ、列ドライバ、および第1のマルチプレクサに信号を送る。
【０１２４】
いくつかの実施態様において、制御論理は、ラインバッファ内の画素値の最も古い行を置換することによって、ハードウェアセンサアレイからの画素値の次の行をラインバッファ内に記憶し、これによって、ラインバッファ内に記憶された画素値によって表される画像内の行方向に沿った不連続性を導入することができるものとすることができる。しかし、周辺回路構成は、ラインバッファとハードウェアスキャニングウィンドウアレイとの間に位置決めされたスイッチ回路を含むことができ、スイッチ回路は、ラインバッファからハードウェアスキャニングウィンドウアレイに画素値を転送する間に行順序付けを切り替え、これによって、ラインバッファ内に記憶された画素値によって表される画像内の行方向に沿った不連続性を除去することができる。たとえば、図5A内で、第1のマルチプレクサは、行順序付けを切り替えることのできるスイッチ回路として機能する。さらに、いくつかの実施態様において、周辺回路構成は、ハードウェアスキャニングウィンドウアレイとコンピュータビジョン特徴計算ブロックとの間に位置決めされたスイッチ回路をも含むことができ、スイッチ回路は、ハードウェアスキャニングウィンドウアレイからコンピュータビジョン特徴計算ブロックに画素値を転送する間に列順序付けを切り替え、これによって、ハードウェアスキャニングウィンドウアレイ内に記憶された画素値によって表される画像内の列方向に沿った不連続性を除去することができる。たとえば、図5A内で、第2のマルチプレクサは、列順序付けを切り替えることのできるスイッチ回路として機能する。
【０１２５】
いくつかの実施態様において、この方法は、複数の記憶要素に結合された構成可能な組み合わせる回路構成を介して、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値の組合せを、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために複数の画素値を維持しながら実行するステップをも含むことができる。たとえば、図9内で、異なる画素値が、第1の組み合わせるパターンおよび第2の組み合わせるパターンに従って組み合わされる。組み合わされた画素値の第1および第2のセットは、いくつかの実施態様において、組み合わされた画素値の平均値を含むことができる。代替案では、組み合わされた画素値は、組み合わされた画素値の和を含むことができる。別の実施態様において、組み合わされた画素値は、組み合わされる画素値の中の最大の画素値を含むことができる。
【０１２６】
いくつかの実施態様において、この方法は、構成可能な組み合わせる回路構成に結合されたコンピュータビジョン計算回路構成を介してコンピュータビジョン計算を実行するステップをさらに含むことができる。コンピュータビジョン計算ステップは、マルチブロックローカルバイナリパターン(LBP)動作の一部として、組み合わされた画素値の第1のセットに基づく第1のコンピュータビジョン計算と、組み合わされた画素値の第2のセットに基づく第2のコンピュータビジョン計算とを含むことができる。たとえば、図9内で、マルチブロックLBP動作が、組み合わされた画素値に対して実行される。
【０１２７】
図13は、上で説明されたセンサシステムを利用することができるモバイルデバイス1305の実施態様を示す。図13が、そのいずれかまたはすべてが適宜利用され得る様々な構成要素の一般化された例示を提供することだけを意図されていることに留意されたい。いくつかの場合に、図13によって示される構成要素が、単一の物理デバイスに局所化され、かつ/または異なる物理位置に配置され得る様々なネットワーク化されたデバイスの間で分散され得ることに留意されたい。
【０１２８】
モバイルデバイス1305は、バス1306を介して電気的に結合され得る(または、適宜、他の方法で通信しているものとしてよい)ハードウェア要素を含んで図示されている。ハードウェア要素は、1つもしくは複数の汎用プロセッサ、1つもしくは複数の特殊目的プロセッサ(デジタル信号処理(DSP)チップ、グラフィックスアクセラレーションプロセッサ、特定用途向け集積回路(ASIC)、および/もしくは類似物など)、および/または他の処理構造もしくは処理手段を限定なしに含むことができる処理ユニット1310を含むことができる。図13内に示されているように、いくつかの実施態様は、所望の機能性に依存して、別々のDSP 1320を有することができる。モバイルデバイス1305は、タッチスクリーン、タッチパッド、マイクロフォン、ボタン、ダイヤル、スイッチ、および/または類似物を限定なしに含むことができる1つまたは複数の入力デバイス1370と、ディスプレイ、発光ダイオード(LED)、スピーカ、および/または類似物を限定なしに含むことができる1つまたは複数の出力デバイス1315とをも含むことができる。
【０１２９】
モバイルデバイス1305は、モデム、ネットワークカード、赤外線通信デバイス、ワイヤレス通信デバイス、および/またはチップセット(Bluetooth(商標)デバイス、米国電気電子技術者協会規格(IEEE) 302.11デバイス、IEEE 302.15.4デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信ファシリティなど)、および/または類似物を限定なしに含むことができるワイヤレス通信インターフェース1330をも含むことができる。ワイヤレス通信インターフェース1330は、ネットワーク、ワイヤレスアクセスポイント、他のコンピュータシステム、および/または本明細書内で説明される任意の他の電子デバイスとデータを交換することを可能にすることができる。通信は、ワイヤレス信号1334を送り、かつ/または受信する1つまたは複数のワイヤレス通信アンテナ1332を介して実行され得る。
【０１３０】
所望の機能性に依存して、ワイヤレス通信インターフェース1330は、ベーストランシーバ基地局(たとえば、セルラーネットワークの基地局)アクセスポイントと通信するために別々のトランシーバを含むことができる。これらの異なるデータネットワークは、様々なネットワークタイプを含むことができる。さらに、ワイヤレス広域ネットワーク(WWAN)は、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交周波数分割多元接続(OFDMA)ネットワーク、単一搬送波周波数分割多元接続(SC-FDMA)、WiMax(IEEE 802.16)などとすることができる。CDMAネットワークは、cdma2000、高帯域CDMA(W-CDMA)、その他などの1つまたは複数の無線アクセス技術(RAT)を実施することができる。cdma2000は、IS-95標準規格、IS-2000標準規格、および/またはIS-856標準規格を含む。TDMAネットワークは、Global System for Mobile Communications(GSM（登録商標）)、Digital Advanced Mobile Phone System(D-AMPS)、または何らかの他のRATを実施することができる。OFDMAネットワークは、Long-Term Evolution(LTE)、LTE Advancedなどを使用することができる。LTE、LTE Advanced、GSM（登録商標）、およびW-CDMAは、3GPPからの文書内で説明されている。cdma2000は、「3rd Generation Partnership Project 2」(3GPP2)と命名された協会からの文書内で説明されている。3GPP文書および3GPP2文書は、公に入手可能である。ワイヤレスローカルエリアネットワーク(WLAN)は、IEEE 802.11xネットワークとすることもでき、ワイヤレスパーソナルエリアネットワーク(WPAN)は、Bluetooth（登録商標）ネットワーク、IEEE 802.15x、または何らかの他のタイプのネットワークとすることができる。本明細書内で説明される技法は、WWAN、WLAN、および/またはWPANの任意の組合せに関しても使用され得る。
【０１３１】
モバイルデバイス1305は、センサ1340をさらに含むことができる。そのようなセンサは、限定なしに、1つまたは複数の加速度計、ジャイロスコープ、カメラ、磁力計、高度計、マイクロフォン、近接センサ、光センサ、および類似物を含むことができる。それに加えてまたはその代わりに、センサ1340は、図1内で説明された1つまたは複数の構成要素を含むことができる。たとえば、本開示内の他所で説明されたように、センサ1340は、画素アレイ505およびスキャニングウィンドウアレイ515を含むことができ、スキャニングウィンドウアレイ515は、コンピュータビジョン特徴計算ブロック560と、ルックアップテーブル570と、論理、メモリ、およびマイクロプロセッサブロック580とに接続され得る。論理、メモリ、およびマイクロプロセッサブロック580は、たとえば画素値の異なるウィンドウがハードウェアスキャニングウィンドウアレイ515内に記憶されることを引き起こすために命令を実行し、または、ハードウェアスキャニングウィンドウアレイ515への画素値の転送を制御するために制御信号が周辺回路構成に供給されることを引き起こす命令を実行するための、1つまたは複数のコンピューティングデバイスとして働くと理解され得る。図5Aのブロック580内のマイクロプロセッサは、図5A内に示されたセンサシステムに専用のマイクロプロセッサを含むことができ、このマイクロプロセッサは、モバイルデバイス1305の処理ユニット1310にイベントを送ることができる。センサ1340が、図5B内に示された周辺回路構成526のいずれをも含むことができることをも理解されたい。また、図5Bを参照して説明されたように、センサ1340は、カスケードクラシファイヤハードウェアをも含むことができる。CV計算ハードウェアおよびハードウェアスキャニングウィンドウアレイとの通信を示す矢印と共に図示されたカスケードクラシファイヤは、画素値の異なるウィンドウがハードウェアスキャニングウィンドウアレイ515内に記憶されることを引き起こすために命令を実行する、または、ハードウェアスキャニングウィンドウアレイ515への画素値の転送を制御するために制御信号が周辺回路構成に供給されることを引き起こす命令を実行するための、1つまたは複数のコンピューティングデバイスとして働くこともできる。
【０１３２】
モバイルデバイスの実施態様は、標準測位サービス(SPS)アンテナ1382を使用して1つまたは複数のSPS衛星から信号1384を受信することのできるSPS受信器1380をも含むことができる。そのような測位は、本明細書内で説明される技法を補足し、かつ/または組み込むのに利用され得る。SPS受信器1380は、global navigation satellite system(GNSS)(たとえば、全地球測位システム(GPS))、Galileo、Glonass、Compass、日本上空の準天頂衛星システム(QZSS)、インド上空のIndian Regional Navigational Satellite System(IRNSS)、中国上空のBeidou、および/または類似物など、SPSシステムのSPS SVから、従来の技法を使用してモバイルデバイスの位置を抽出することができる。さらに、SPS受信器1380は、1つまたは複数のグローバルなおよび/または地域の衛星航法システムに関連しまたはこれと共に使用するために他の形で使用可能にされ得る様々な補強システム(たとえば、衛星型衛星航法補強システム(SBAS:Satellite Based Augmentation System))と共に使用され得る。限定ではなく例として、SBASは、たとえばWide Area Augmentation System(WAAS)、European Geostationary Navigation Overlay Service(EGNOS)、Multi -functional Satellite Augmentation System(MSAS)、GPS Aided Geo Augmented NavigationもしくはGPS and Geo Augmented Navigation system(GAGAN)、および/または類似物など、完全性情報、差分補正などを提供する補強システムを含むことができる。したがって、本明細書内で使用される時に、SPSは、1つまたは複数のグローバルなおよび/または地域の航法衛星システムおよび/または補強システムの任意の組合せを含むことができ、SPS信号は、そのような1つまたは複数のSPSに関連するSPS信号、SPS様信号、および/または他の信号を含むことができる。
【０１３３】
モバイルデバイス1305は、メモリ1360をさらに含み、かつ/またはこれと通信しているものとすることができる。メモリ1360は、プログラム可能、フラッシュ更新可能、および/または類似物とされ得る、ローカルのおよび/またはネットワークアクセス可能なストレージ、ディスクドライブ、ドライブアレイ、光ストレージデバイス、ランダムアクセスメモリ(「RAM」)および/または読取専用メモリ(「ROM」)などのソリッドステートストレージデバイスを限定なしに含むことができる。そのようなストレージデバイスは、様々なファイルシステム、データベース構造、および/または類似物を限定なしに含む、任意の適当なデータストアを実施するように構成され得る。
【０１３４】
モバイルデバイス1305のメモリ1360は、本明細書内で説明されるように、オペレーティングシステム、デバイスドライバ、実行可能ライブラリ、および/あるいは、様々な実施態様によって提供されるコンピュータプログラムを含むことができ、かつ/または他の実施態様によって提供される方法を実施し、かつ/もしくはシステムを構成するように設計され得る1つまたは複数のアプリケーションプログラムなどの他のコードを含む、ソフトウェア要素(図示せず)をも含むことができる。次いで、一態様において、そのようなコードおよび/または命令は、説明された方法に従う1つまたは複数の動作を実行するように汎用コンピュータ(または他のデバイス)を構成し、かつ/または適合させるのに使用され得る。
【０１３５】
実質的な変形形態が、特定の要件に従って作られ得ることは、当業者には明白である。たとえば、カスタマイズされたハードウェアも使用され得、かつ/または、特定の要素は、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくはその両方において実施され得る。さらに、ネットワーク入出力デバイスなどの他のコンピューティングデバイスへの接続が利用される場合もある。
【０１３６】
添付図面を参照すると、メモリを含むことができる構成要素は、非一時的機械可読媒体を含むことができる。「機械可読媒体」および「コンピュータ可読媒体」という用語は、本明細書で使用される時に、機械に特定の形で動作させるデータの提供に参加するすべての記憶媒体を指す。本明細書内で上で提供される実施態様において、様々な機械可読媒体が、実行のために処理ユニットおよび/または他のデバイスに命令/コードを提供するのに用いられ得る。それに加えてまたはその代わりに、機械可読媒体は、そのような命令/コードを記憶し、かつ/または担持するのに使用され得る。多くの実施態様において、コンピュータ可読媒体は、物理的なおよび/または有形の記憶媒体である。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれに限定されない多数の形をとることができる。コンピュータ可読媒体の一般的な形は、たとえば、磁気媒体および/もしくは光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップもしくはメモリカートリッジ、本明細書内で後で説明される搬送波、またはコンピュータがそれから命令および/もしくはコードを読み取ることができる任意の他の媒体を含む。
【０１３７】
本明細書内で議論された方法、システム、およびデバイスは、例である。様々な実施態様が、適宜、様々な手順または構成要素を省略し、置換し、または追加することができる。たとえば、ある種の実施態様に関して説明された特徴が、様々な他の実施態様内で組み合わされ得る。実施態様の異なる態様および要素が、同様の形で組み合わされ得る。本明細書内で提供される図面の様々な構成要素は、ハードウェアおよび/またはソフトウェアにおいて実施され得る。また、技術は進化し、したがって、要素の多くは、開示の範囲をこれらの特定の例に限定しない例である。
【０１３８】
時々、主に一般的使用の理由から、そのような信号をビット、情報、値、要素、シンボル、文字、変数、項、数、符号、または類似物と称することが便利であることがわかっている。しかし、これらまたは類似する用語のすべてが、適当な物理的量に関連付けられなければならず、単に便利なラベルであることを理解されたい。そうではないと特に述べられない限り、上の議論から明白であるように、本明細書全体を通じて、「処理」、「コンピューティング」、「計算」、「判定」、「確認」、「識別」、「関連付け」、「測定」、「実行」、または類似物などの用語を利用する議論は、特殊目的コンピュータまたは類似する特殊目的電子コンピューティングデバイスなどの特定の装置のアクションまたはプロセスを指すことを了解されたい。したがって、本明細書の文脈において、特殊目的コンピュータまたは類似する特殊目的電子コンピューティングデバイスは、通常は特殊目的コンピュータまたは類似する特殊目的電子コンピューティングデバイスのメモリ、レジスタ、または他の情報記憶デバイス、伝送デバイス、もしくはディスプレイデバイス内の物理的な電子量、電気量、または磁気量として表される信号を操作しまたは変換することができる。
【０１３９】
「および(と、ならびに)」および「または(もしくは、あるいは)」という用語は、本明細書内で使用される時に、そのような用語が使用される文脈に少なくとも部分的に依存するとも期待される様々な意味を含む可能性がある。通常、「または」は、A、BまたはCなどのリストを関連付けるために使用される場合に、本明細書において包含的な意味で使用される場合の、A、B、およびC、ならびに本明細書において排他的な意味で使用される場合の、A、BまたはCを意味することが意図されている。さらに、「1つまたは複数」という用語は、本明細書で使用される時に、単数の任意の特徴、構造、もしくは特性について説明するために使用される場合があり、または、特徴、構造もしくは特性の何らかの組合せについて説明するために使用される場合がある。しかしながら、これは例示的な例にすぎず、特許請求される主題がこの例に限定されないことに留意されたい。さらに、「のうちの少なくとも1つ」という用語は、A、B、またはCなどのリストを関連付けるために使用される場合に、A、AB、AA、AAB、AABBCCCなどの、A、B、および/またはCの任意の組合せを意味すると解釈され得る。
【０１４０】
いくつかの実施態様について説明したが、本開示の趣旨から逸脱することなく、様々な修正、代替構造、および均等物が使用され得る。たとえば、上記の要素は、単により大きいシステムの構成要素とされ得、他のルールが、本発明の応用例の上に立ち、またはこれを他の形で変更する場合がある。また、上記の要素が考慮される前、その間に、またはその後に、複数のステップが行われ得る。したがって、上記の説明は本開示の範囲を限定しない。
【０１４１】
開示されるプロセス内のステップの特定の順序または階層が、例示的手法の例示であることを理解されたい。設計上の選好に基づいて、プロセス内のステップの特定の順序または階層が再構成され得ることを理解されたい。さらに、いくつかのステップが、組み合わされまたは省略され得る。添付の方法請求項は、サンプルの順序において様々なステップの要素を提示し、提示される特定の順序または階層に限定されることは意図されていない。
【０１４２】
前の説明は、当業者が本明細書内で説明される様々な態様を実践することを可能にするために提供されるものである。これらの態様に対する様々な変更は、当業者に容易に明らかになり、本明細書内で定義される包括的な原理は、他の態様に適用され得る。さらに、本明細書において開示されるものはいずれも、公共用に提供することは意図されていない。
【符号の説明】
【０１４３】
100  センサ
102  センサ要素
200  画素
202  センサ要素
204  画素内回路構成
302  センサ要素アレイ
304  周辺回路構成
306  周辺回路構成
402  センサ要素アレイ
404  専用CV処理モジュール
406  アプリケーションプロセッサ
505  画素アレイ
510  第1の行ドライバ
512  CV計算ハードウェア
514  アナログ-デジタル変換器(ADC)
515  スキャニングウィンドウアレイ(SWA)
516  2次元積分ハードウェア
520  第2の行ドライバ、専用マイクロプロセッサ
522  カスケードクラシファイヤハードウェア
524  インターフェース
525  ラインバッファ
526  周辺回路構成
530  列ドライバ
540  第1のマルチプレクサ(MUX)
550  第2のマルチプレクサ(MUX)
560  コンピュータビジョン特徴計算ブロック(LBP)
570  ルックアップテーブル(LUT)
580  論理、メモリ、およびマイクロプロセッサブロック
590  ハードウェアCV特徴計算ブロック
592  第3のマルチプレクサ(MUX)
594  第2のハードウェアスキャニングウィンドウアレイ
595  第2のCV特徴計算ブロック、記述子
610  アクティブ画素画像センサ
620  行短絡線
630  列短絡線
710  サンプルアンドホールド回路
720  行ライン選択
730  列ライン選択
740  ソースフォロワまたはバッファ
910  9画素のグループ
1010  キャパシタ
1010a  キャパシタ
1010b  キャパシタ
1010c  キャパシタ
1010d  キャパシタ
1010e  キャパシタ
1010f  キャパシタ
1020  行短絡線
1030a  列短絡線
1030b  列短絡線
1030c  列短絡線
1030d  列短絡線
1050  サンプルアンドホールドプラスバッファ回路
1060  SWA
1070  マルチプレクサ(MUX)
1080  コンピュータビジョン(CV)特徴計算ブロック
1092  垂直ティア
1200  流れ図
1305  モバイルデバイス
1306  バス
1310  処理ユニット
1315  出力デバイス
1320  DSP
1330  ワイヤレス通信インターフェース
1332  ワイヤレス通信アンテナ
1334  ワイヤレス信号
1340  センサ
1360  メモリ
1370  入力デバイス
1380  SPS受信器
1382  標準測位サービス(SPS)アンテナ
1384  信号
【図１】
2017533640.tif 000003
【図２】
2017533640.tif 000004
【図３】
2017533640.tif 000005
【図４】
2017533640.tif 000006
【図５Ａ】
2017533640.tif 000007
【図５Ｂ】
2017533640.tif 000008
【図５Ｃ】
2017533640.tif 000009
【図６】
2017533640.tif 000010
【図７】
2017533640.tif 000011
【図８】
2017533640.tif 000012
【図９】
2017533640.tif 000013
【図１０Ａ】
2017533640.tif 000014
【図１０Ｂ】
2017533640.tif 000015
【図１０Ｃ】
2017533640.tif 000016
【図１０Ｄ】
2017533640.tif 000017
【図１１】
2017533640.tif 000018
【図１２】
2017533640.tif 000019
【図１３】
2017533640.tif 000020
【手続補正書】
【提出日】平成29年4月3日(2017.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ハードウェアにおいて画素値を分離するための装置であって、
ハードウェアセンサアレイの少なくとも第1の次元および第2の次元に沿って配置された複数の画素を含むハードウェアセンサアレイであって、前記画素の各々は、環境条件に基づいてセンサ読みを生成することができる、ハードウェアセンサアレイと、
2次元ハードウェアスキャニングウィンドウアレイの少なくとも複数の行の第1の次元および複数の列の第2の次元に沿って配置された複数の記憶要素を含む2次元ハードウェアスキャニングウィンドウアレイであって、前記記憶要素の各々は、前記ハードウェアセンサアレイからの1つまたは複数のセンサ読みに基づく画素値を記憶することができる、2次元ハードウェアスキャニングウィンドウアレイと、
画素値の異なるウィンドウが異なる時に前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こすために、前記ハードウェアセンサアレイからのセンサ読みに基づく画素値を前記2次元ハードウェアスキャニングウィンドウアレイ内に系統的に転送するための周辺回路構成と、
前記ハードウェアセンサアレイ、前記2次元ハードウェアスキャニングウィンドウアレイ、および前記周辺回路構成に結合された制御論理であって、前記制御論理は、前記2次元ハードウェアスキャニングウィンドウアレイへの画素値の前記転送を制御するために前記周辺回路構成に制御信号を提供するように動作可能である、制御論理と
を含む、装置。
【請求項２】
前記ハードウェアセンサアレイは、
前記複数の画素に結合された構成可能な組み合わせる回路構成であって、前記構成可能な組み合わせる回路構成は、少なくとも1つの組み合わせるパターンに従って前記画素値を生成するために前記複数の画素からの複数のセンサ読みをハードウェアにおいて組み合わせるように動作可能であり、前記構成可能な組み合わせる回路構成は、
前記ハードウェアセンサアレイの前記第1の次元に沿って隣接する画素を接続するように動作可能な第1の複数の制御可能な接続と、
前記ハードウェアセンサアレイの前記第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
構成可能な組み合わせる回路構成
をさらに含む、請求項1に記載の装置。
【請求項３】
前記センサ読みは、アナログセンサ読みであり、前記画素値は、アナログ画素値であり、前記構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である、請求項2に記載の装置。
【請求項４】
前記周辺回路構成は、
ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むラインバッファであって、前記ラインバッファの前記第1の次元は、前記ハードウェアセンサアレイの前記第1の次元より小さく、前記ラインバッファの前記第2の次元は、前記ハードウェアセンサアレイの前記第2の次元と等しい、ラインバッファ
を含み、前記ラインバッファは、前記ハードウェアセンサアレイからの画素値の選択された行を記憶することができる
請求項1に記載の装置。
【請求項５】
前記制御論理は、前記ラインバッファ内の画素値の最も古い行を置換することによって、前記ハードウェアセンサアレイからの画素値の次の行を前記ラインバッファ内に記憶し、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った不連続性を導入することができる、請求項4に記載の装置。
【請求項６】
前記周辺回路構成は、前記ラインバッファと前記2次元ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記ラインバッファから前記2次元ハードウェアスキャニングウィンドウアレイに画素値を転送する間に行順序付けを切り替え、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った前記不連続性を除去することができる、請求項5に記載の装置。
【請求項７】
前記周辺回路構成は、前記2次元ハードウェアスキャニングウィンドウアレイとハードウェアコンピュータビジョン特徴計算ブロックとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記2次元ハードウェアスキャニングウィンドウアレイから前記ハードウェアコンピュータビジョン特徴計算ブロックに画素値を転送する間に列順序付けを切り替え、これによって、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を除去することができる、請求項5に記載の装置。
【請求項８】
前記制御論理は、前記2次元ハードウェアスキャニングウィンドウアレイ内の画素値の最も古い列を置換することによって、前記ラインバッファからの画素値の次の列を前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶し、これによって、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を導入することができる、請求項4に記載の装置。
【請求項９】
前記周辺回路構成は、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算をハードウェアにおいて実行するように動作可能なハードウェアコンピュータビジョン特徴計算ブロックをさらに含む、請求項4に記載の装置。
【請求項１０】
前記ハードウェアスキャニングウィンドウアレイの前記複数の記憶要素に結合された構成可能な組み合わせる回路構成をさらに含み、前記構成可能な組み合わせる回路構成は、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値のハードウェアにおける組合せを、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために前記複数の画素値を維持しながら実行することができ、組み合わされた画素値の前記第1のセットおよび組み合わされた画素値の前記第2のセットは、マルチブロックローカルバイナリパターンコンピュータビジョン特徴を計算するために前記ハードウェアコンピュータビジョン特徴計算ブロックによって使用される、請求項9に記載の装置。
【請求項１１】
前記周辺回路構成は、前記ハードウェアセンサアレイからの前記センサ読みに基づいて積分画像を計算し、前記スキャニングウィンドウアレイ内に前記計算された積分画像を記憶することができる積分ブロックをさらに含み、前記スキャニングウィンドウアレイ内に記憶された前記積分画像から生成された組み合わされた画素値は、マルチブロックローカルバイナリパターンコンピュータビジョン特徴を計算するために前記ハードウェアコンピュータビジョン特徴計算ブロックによって使用される、請求項9に記載の装置。
【請求項１２】
前記構成可能な組み合わせる回路構成は、
前記2次元ハードウェアスキャニングウィンドウアレイの前記第1の次元に沿って隣接する回路要素を接続するように動作可能な第1の複数の制御可能な接続と、
前記2次元ハードウェアスキャニングウィンドウアレイの前記第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
請求項9に記載の装置。
【請求項１３】
前記第1の組み合わせるパターンおよび前記第2の組み合わせるパターンの異なる1つは、前記2次元ハードウェアスキャニングウィンドウアレイ内の異なる位置および次元にある前記複数の記憶要素の選択を可能にする、請求項9に記載の装置。
【請求項１４】
前記ハードウェアコンピュータビジョン特徴計算ブロックは、コーナー検出を実行するように動作可能な回路構成を含む、請求項9に記載の装置。
【請求項１５】
前記制御論理に結合された第2の2次元ハードウェアスキャニングウィンドウアレイをさらに含み、前記制御論理は、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内での前記ハードウェアコンピュータビジョン特徴計算ブロックによるコーナーの検出に基づいて、前記2次元ハードウェアスキャニングウィンドウアレイから前記第2の2次元ハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するために制御信号を提供するように動作可能であり、前記周辺回路構成は、前記2次元ハードウェアスキャニングウィンドウアレイと前記第2の2次元ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記2次元ハードウェアスキャニングウィンドウアレイから前記第2の2次元ハードウェアスキャニングウィンドウアレイへ前記画素値を転送する間に列順序付けを切り替え、これによって、前記画像内の列方向に沿った不連続性を除去することができる、請求項14に記載の装置。
【請求項１６】
前記第2の2次元ハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算をハードウェアにおいて実行するように動作可能な第2のハードウェアコンピュータビジョン特徴計算ブロックをさらに含む、請求項15に記載の装置。
【請求項１７】
前記複数の画素のうちの少なくとも1つの画素は、センサ要素と画素内回路構成とを含む、請求項1に記載の装置。
【請求項１８】
前記ハードウェアセンサアレイからの前記1つまたは複数のセンサ読みにそれぞれが基づく前記画素値は、1つまたは複数の生センサ読みにそれぞれが基づく生画素値を含む、請求項1に記載の装置。
【請求項１９】
画像信号処理回路構成が、前記ハードウェアセンサアレイと前記2次元ハードウェアスキャニングウィンドウアレイとの間に配置されない、請求項1に記載の装置。
【請求項２０】
ハードウェアにおいて画素値を分離するための方法であって、
ハードウェアセンサアレイ内の複数の画素を介して、環境条件に基づいてセンサ読みを生成するステップであって、前記複数の画素は、前記ハードウェアセンサアレイの少なくとも第1の次元および第2の次元に沿って配置される、生成するステップと、
2次元ハードウェアスキャニングウィンドウアレイ内の複数の記憶要素内に、前記ハードウェアセンサアレイからの1つまたは複数のセンサ読みに基づく画素値を記憶するステップであって、前記複数の記憶要素は、前記2次元ハードウェアスキャニングウィンドウアレイの少なくとも第1の次元および第2の次元に沿って配置される、記憶するステップと、
画素値を系統的に転送するための周辺回路構成を介して、前記ハードウェアセンサアレイからのセンサ読みに基づく画素値の異なるウィンドウが異なる時に前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こすステップと、
前記ハードウェアセンサアレイ、前記2次元ハードウェアスキャニングウィンドウアレイ、および前記周辺回路構成に結合された制御論理を介して、前記2次元ハードウェアスキャニングウィンドウアレイへの画素値の前記転送を制御するために前記周辺回路構成に信号を提供するステップと
を含む、方法。
【請求項２１】
前記複数の画素に結合された構成可能な組み合わせる回路構成を介して、少なくとも1つの組み合わせるパターンに従って前記画素値を生成するために前記複数の画素からの複数のセンサ読みをハードウェアにおいて組み合わせるステップをさらに含み、前記構成可能な組み合わせる回路構成は、
前記ハードウェアセンサアレイの前記第1の次元に沿って隣接する画素を接続するように動作可能な第1の複数の制御可能な接続と、
前記ハードウェアセンサアレイの前記第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
請求項20に記載の方法。
【請求項２２】
前記センサ読みは、アナログセンサ読みであり、前記画素値は、アナログ画素値であり、前記構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である、請求項21に記載の方法。
【請求項２３】
画素値を系統的に転送するための前記周辺回路構成を介して、前記画素値の前記異なるウィンドウが前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こす前記ステップは、ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含む前記ラインバッファ内に前記ハードウェアセンサアレイからの画素値の選択された行を記憶するステップを含み、前記ラインバッファの前記第1の次元は、前記ハードウェアセンサアレイの前記第1の次元より小さく、前記ラインバッファの前記第2の次元は、前記ハードウェアセンサアレイの前記第2の次元と等しく、
前記ラインバッファは、前記ハードウェアセンサアレイからの画素値の選択された行を記憶することができる
請求項20に記載の方法。
【請求項２４】
前記制御論理を介して、前記ラインバッファ内の画素値の最も古い行を置換することによって、前記ハードウェアセンサアレイからの画素値の次の行を前記ラインバッファ内に記憶し、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った不連続性を導入するステップをさらに含む、請求項23に記載の方法。
【請求項２５】
前記ラインバッファと前記2次元ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路を介して、前記ラインバッファから前記2次元ハードウェアスキャニングウィンドウアレイに画素値を転送する間に行順序付けを切り替え、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った前記不連続性を除去するステップをさらに含む、請求項24に記載の方法。
【請求項２６】
前記2次元ハードウェアスキャニングウィンドウアレイとコンピュータビジョン特徴計算ブロックとの間に位置決めされたマルチプレクサ回路を介して、前記2次元ハードウェアスキャニングウィンドウアレイから前記コンピュータビジョン特徴計算ブロックに画素値を転送する間に列順序付けを切り替え、これによって、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を除去するステップをさらに含む、請求項24に記載の方法。
【請求項２７】
前記制御論理を介して、前記2次元ハードウェアスキャニングウィンドウアレイ内の画素値の最も古い列を置換することによって、前記ラインバッファからの画素値の次の列を前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶し、これによって、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を導入するステップをさらに含む、請求項23に記載の方法。
【請求項２８】
コンピュータビジョン計算回路構成を介して、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された画素値に基づいてコーナー検出を実行するステップをさらに含む、請求項23に記載の方法。
【請求項２９】
前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された画素値によって表される画像内での前記ハードウェアコンピュータビジョン計算回路構成によるコーナーの前記検出に基づいて、画素値を系統的に転送するための前記周辺回路構成を介して、前記2次元ハードウェアスキャニングウィンドウアレイから第2の2次元ハードウェアスキャニングウィンドウアレイに画素値が転送されることを引き起こすステップをさらに含み、前記周辺回路構成は、前記2次元ハードウェアスキャニングウィンドウアレイと前記第2の2次元ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記2次元ハードウェアスキャニングウィンドウアレイから前記第2の2次元ハードウェアスキャニングウィンドウアレイへ前記画素値を転送する間に列順序付けを切り替えることができ、これによって、前記画像内の列方向に沿った不連続性を除去する、請求項28に記載の方法。
【請求項３０】
第2のハードウェアコンピュータビジョン計算回路構成を介して前記第2の2次元ハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算を実行するステップをさらに含む、請求項29に記載の方法。
【請求項３１】
前記複数の記憶要素に結合された構成可能な組み合わせる回路構成を介して、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値の組合せを、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために前記複数の画素値を維持しながら実行するステップをさらに含む、請求項20に記載の方法。
【請求項３２】
前記構成可能な組み合わせる回路構成に結合されたコンピュータビジョン計算回路構成を介してコンピュータビジョン計算を実行するステップをさらに含む、請求項31に記載の方法。
【請求項３３】
前記構成可能な組み合わせる回路構成に結合された前記コンピュータビジョン計算回路構成を介してコンピュータビジョン計算を実行するステップは、組み合わされた画素値の前記第1のセットに基づいて第1のコンピュータビジョン計算を実行するステップと、組み合わされた画素値の前記第2のセットに基づいて第2のコンピュータビジョン計算を実行するステップとを含む、請求項32に記載の方法。
【請求項３４】
前記コンピュータビジョン計算回路構成は、マルチブロックローカルバイナリパターン(LBP)動作の一部として前記第1のコンピュータビジョン計算および前記第2のコンピュータビジョン計算を実行することができる、請求項33に記載の方法。
【請求項３５】
前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値は、高解像度を有する画像を表し、前記第1の組み合わせるパターンは、前記高解像度より低い第1のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項31に記載の方法。
【請求項３６】
前記第2の組み合わせるパターンは、前記第1のより低い解像度より低い第2のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項35に記載の方法。
【請求項３７】
前記複数の画素のうちの少なくとも1つの画素は、センサ要素と画素内回路構成とを含む、請求項20に記載の方法。
【請求項３８】
前記ハードウェアセンサアレイからの前記1つまたは複数のセンサ読みにそれぞれが基づく前記画素値は、1つまたは複数の生センサ読みにそれぞれが基づく生画素値を含む、請求項20に記載の方法。
【請求項３９】
画像信号処理回路構成が、前記ハードウェアセンサアレイ内で前記センサ読みを生成するステップと前記2次元ハードウェアスキャニングウィンドウアレイ内に前記画素値を記憶するステップとの間に実行されない、請求項20に記載の方法。
【請求項４０】
ハードウェアにおいて画素値を分離するための装置であって、
環境条件に基づいて複数のセンサ読みを生成するためのハードウェア手段と、
記憶するためのハードウェア手段内の複数の記憶要素内に、前記センサ読みを生成するための前記ハードウェア手段からの1つまたは複数のセンサ読みにそれぞれが基づく画素値を記憶するためのハードウェア手段であって、記憶するための前記ハードウェア手段は、複数の行の第1の次元および複数の列の第2の次元を含む、記憶するためのハードウェア手段と、
画素値の異なるウィンドウが異なる時に画素値を記憶するための前記ハードウェア手段内に記憶されることを引き起こすためのハードウェア手段と、
画素値を記憶するための前記ハードウェア手段への画素値の前記転送を制御するために、画素値の異なるウィンドウが記憶されることを引き起こすための前記ハードウェア手段に制御信号を提供するためのハードウェア手段と
を含む、装置。
【請求項４１】
複数のセンサ読みを生成するための前記ハードウェア手段は、前記画素値を生成するために前記複数の画素からの複数のセンサ読みを組み合わせるためのハードウェア手段をさらに含む、請求項40に記載の装置。
【請求項４２】
複数のセンサ読みを組み合わせるための前記ハードウェア手段は、前記複数の画素に結合された構成可能な組み合わせる回路構成を含み、前記構成可能な組み合わせる回路構成は、
センサ読みを生成するための前記ハードウェア手段の第1の次元に沿って隣接する画素を接続するためのハードウェア手段と、
センサ読みを生成するための前記ハードウェア手段の第2の次元に沿って隣接する画素を接続するためのハードウェア手段と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
請求項41に記載の装置。
【請求項４３】
前記センサ読みは、アナログセンサ読みであり、前記画素値は、アナログ画素値であり、前記構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である、請求項42に記載の装置。
【請求項４４】
バッファリングするためのハードウェア手段の少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含むバッファリングするためのハードウェア手段であって、バッファリングするための前記ハードウェア手段の前記第1の次元は、センサ読みを生成するための前記ハードウェア手段の前記第1の次元より小さく、バッファリングするための前記ハードウェア手段の前記第2の次元は、センサ読みを生成するための前記ハードウェア手段の前記第2の次元と等しい、バッファリングするためのハードウェア手段
をさらに含み、バッファリングするための前記ハードウェア手段は、センサ読みを生成するための前記ハードウェア手段からの画素値の選択された行を記憶することができる
請求項40に記載の装置。
【請求項４５】
制御信号を提供するための前記ハードウェア手段は、バッファリングするための前記ハードウェア手段内の画素値の最も古い行を置換することによって、複数のセンサ読みを生成するための前記ハードウェア手段からの画素値の次の行をバッファリングするための前記ハードウェア手段内に記憶するための信号を提供し、これによって、バッファリングするための前記ハードウェア手段内に記憶された前記画素値によって表される画像内の行方向に沿った不連続性を導入する、請求項44に記載の装置。
【請求項４６】
画素値の異なるウィンドウが記憶されることを引き起こすための前記ハードウェア手段は、バッファリングするための前記ハードウェア手段から画素値を記憶するための前記ハードウェア手段に画素値を転送する間に行順序付けを切り替えるためのハードウェア手段を含み、これによって、バッファリングするための前記ハードウェア手段内に記憶された前記画素値によって表される画像内の行方向に沿った前記不連続性を除去する、請求項45に記載の装置。
【請求項４７】
画素値の異なるウィンドウが記憶されることを引き起こすための前記ハードウェア手段は、画素値を記憶するための前記ハードウェア手段からコンピュータビジョン計算を実行するためのハードウェア手段に画素値を転送する間に列順序付けを切り替えるためのハードウェア手段を含み、これによって、画素値を記憶するための前記ハードウェア手段内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を除去する、請求項45に記載の装置。
【請求項４８】
画素値を記憶するための前記ハードウェア手段内の画素値の最も古い列を置換することによって、バッファリングするための前記ハードウェア手段からの画素値の次の列を画素値を記憶するための前記ハードウェア手段内に記憶し、これによって、画素値を記憶するための前記ハードウェア手段内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を導入するためのハードウェア手段をさらに含む、請求項44に記載の装置。
【請求項４９】
コーナー検出を実行するためのハードウェア手段をさらに含む、請求項44に記載の装置。
【請求項５０】
画素値を記憶するための第2のハードウェア手段が、制御信号を提供するための前記ハードウェア手段に結合され、制御信号を提供するための前記ハードウェア手段は、画素値を記憶するための前記ハードウェア手段内に記憶された前記画素値によって表される画像内でのコーナー検出を実行するための前記ハードウェア手段によるコーナーの検出に基づいて、画素値を記憶するための前記ハードウェア手段から画素値を記憶するための前記第2のハードウェア手段への画素値の転送を制御し、画素値の異なるウィンドウが記憶されることを引き起こすための前記ハードウェア手段は、画素値を記憶するための前記ハードウェア手段と画素値を記憶するための前記第2のハードウェア手段との間に位置決めされた、画素値を記憶するための前記ハードウェア手段から画素値を記憶するための前記第2のハードウェア手段に画素値を転送する間に列順序付けを切り替え、これによって、前記画像内の列方向に沿った不連続性を除去するためのハードウェア手段をさらに含む、請求項49に記載の装置。
【請求項５１】
画素値を記憶するための前記第2のハードウェア手段内に記憶された値に基づいてコンピュータビジョン計算を実行するためのハードウェア手段をさらに含む、請求項50に記載の装置。
【請求項５２】
第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値を、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために前記複数の画素値を維持しながら組み合わせるためのハードウェア手段をさらに含む、請求項40に記載の装置。
【請求項５３】
コンピュータビジョン計算を実行するためのハードウェア手段をさらに含む、請求項52に記載の装置。
【請求項５４】
前記コンピュータビジョン計算は、組み合わされた画素値の前記第1のセットに基づく第1のコンピュータビジョン計算と、組み合わされた画素値の前記第2のセットに基づく第2のコンピュータビジョン計算とを含む、請求項53に記載の装置。
【請求項５５】
コンピュータビジョン計算を実行するための前記ハードウェア手段は、マルチブロックローカルバイナリパターン(LBP)動作の一部として前記第1のコンピュータビジョン計算および前記第2のコンピュータビジョン計算を実行するためのハードウェア手段を含む、請求項54に記載の装置。
【請求項５６】
前記第1の組み合わせるパターンおよび前記第2の組み合わせるパターンの異なる1つは、画素値を記憶するための前記ハードウェア手段内の異なる位置および次元にある前記複数の記憶要素の選択を可能にする、請求項52に記載の装置。
【請求項５７】
画素値を記憶するための前記ハードウェア手段内に記憶された前記画素値は、高解像度を有する画像を表し、前記第1の組み合わせるパターンは、前記高解像度より低い第1のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項52に記載の装置。
【請求項５８】
前記第2の組み合わせるパターンは、前記第1のより低い解像度より低い第2のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項57に記載の装置。
【請求項５９】
前記複数の画素のうちの少なくとも1つの画素は、センサ要素と画素内回路構成とを含む、請求項40に記載の装置。
【請求項６０】
センサ読みを生成するための前記ハードウェア手段からの前記1つまたは複数のセンサ読みにそれぞれが基づく前記画素値は、1つまたは複数の生センサ読みにそれぞれが基づく生画素値を含む、請求項40に記載の装置。
【請求項６１】
画像信号処理のための手段が、センサ読みを生成するための前記ハードウェア手段と画素値を記憶するための前記ハードウェア手段との間に配置されない、請求項40に記載の装置。
【請求項６２】
実行された時に、1つまたは複数のコンピューティングデバイスに、
画素値を系統的に転送するための周辺回路構成を介して、ハードウェアセンサアレイからのセンサ読みに基づく画素値の異なるウィンドウが異なる時に2次元ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こさせ、
前記ハードウェアセンサアレイ、前記2次元ハードウェアスキャニングウィンドウアレイ、および前記周辺回路構成に結合された制御論理を介して、前記2次元ハードウェアスキャニングウィンドウアレイへの画素値の前記転送を制御するために前記周辺回路構成に信号を提供させる
ハードウェアにおいて画素値を分離するためのコンピュータ実行可能命令を記憶する1つまたは複数の非一時的コンピュータ可読媒体。
【請求項６３】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、少なくとも1つの組み合わせるパターンに従って前記画素値を生成するために前記ハードウェアセンサアレイからの複数のセンサ読みを組み合わせるための構成可能な組み合わせる回路構成に前記制御論理を介して信号を提供させ、前記構成可能な組み合わせる回路構成は、
前記ハードウェアセンサアレイの第1の次元に沿って隣接する画素を接続するように動作可能な第1の複数の制御可能な接続と、
前記ハードウェアセンサアレイの第2の次元に沿って隣接する画素を接続するように動作可能な第2の複数の制御可能な接続と
を含み、隣接する画素の接続は、接続される前記隣接する画素の各々において平均化された画素値を生成する
請求項62に記載の非一時的コンピュータ可読媒体。
【請求項６４】
前記画素値は、アナログ画素値であり、前記構成可能な組み合わせる回路構成は、構成可能なアナログの組み合わせる回路構成である、請求項63に記載の非一時的コンピュータ可読媒体。
【請求項６５】
画素値を系統的に転送するための前記周辺回路構成を介して、前記画素値の前記異なるウィンドウが前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶されることを引き起こすことは、ラインバッファの少なくとも第1の次元および第2の次元に沿って配置された複数の記憶要素を含む前記ラインバッファ内に前記ハードウェアセンサアレイからの画素値の選択された行を記憶することを含み、前記ラインバッファの前記第1の次元は、前記ハードウェアセンサアレイの前記第1の次元より小さく、前記ラインバッファの前記第2の次元は、前記ハードウェアセンサアレイの前記第2の次元と等しく、
前記ラインバッファは、前記ハードウェアセンサアレイからの画素値の選択された行を記憶することができる
請求項62に記載の非一時的コンピュータ可読媒体。
【請求項６６】
前記制御論理に結合されたハードウェアコンピュータビジョン特徴計算ブロックは、コーナー検出を実行するように動作可能な回路構成を含む、請求項65に記載の非一時的コンピュータ可読媒体。
【請求項６７】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内での前記ハードウェアコンピュータビジョン特徴計算ブロックによるコーナーの検出に基づいて、前記2次元ハードウェアスキャニングウィンドウアレイから第2の2次元ハードウェアスキャニングウィンドウアレイへの画素値の転送を制御するために、前記第2の2次元ハードウェアスキャニングウィンドウアレイに結合された制御論理を介して制御信号を提供させ、前記周辺回路構成は、前記2次元ハードウェアスキャニングウィンドウアレイと前記第2の2次元ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路をさらに含み、前記マルチプレクサ回路は、前記2次元ハードウェアスキャニングウィンドウアレイから前記第2の2次元ハードウェアスキャニングウィンドウアレイへ前記画素値を転送する間に列順序付けを切り替え、これによって、前記画像内の列方向に沿った不連続性を除去することができる、請求項66に記載の非一時的コンピュータ可読媒体。
【請求項６８】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、第2のハードウェアコンピュータビジョン特徴計算ブロックを介して、前記第2の2次元ハードウェアスキャニングウィンドウアレイ内に記憶された値に基づいてコンピュータビジョン計算をハードウェアにおいて実行させる、請求項67に記載の非一時的コンピュータ可読媒体。
【請求項６９】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記制御論理を介して、前記ラインバッファ内の画素値の最も古い行を置換することによって、前記ハードウェアセンサアレイからの画素値の次の行を前記ラインバッファ内に記憶させ、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った不連続性を導入させる、請求項65に記載の非一時的コンピュータ可読媒体。
【請求項７０】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記ラインバッファと前記2次元ハードウェアスキャニングウィンドウアレイとの間に位置決めされたマルチプレクサ回路を介して、前記ラインバッファから前記2次元ハードウェアスキャニングウィンドウアレイに画素値を転送する間に行順序付けを切り替えさせ、これによって、前記ラインバッファ内に記憶された前記画素値によって表される画像内の行方向に沿った前記不連続性を除去させる、請求項69に記載の非一時的コンピュータ可読媒体。
【請求項７１】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記2次元ハードウェアスキャニングウィンドウアレイとハードウェアコンピュータビジョン特徴計算ブロックとの間に位置決めされたマルチプレクサ回路を介して、前記2次元ハードウェアスキャニングウィンドウアレイから前記ハードウェアコンピュータビジョン特徴計算ブロックに画素値を転送する間に列順序付けを切り替えさせ、これによって、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を除去させる、請求項69に記載の非一時的コンピュータ可読媒体。
【請求項７２】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記制御論理を介して、前記2次元ハードウェアスキャニングウィンドウアレイ内の画素値の最も古い列を置換することによって、前記ラインバッファからの画素値の次の列を前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶させ、これによって、前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値によって表される画像内の列方向に沿った不連続性を導入させる、請求項65に記載の非一時的コンピュータ可読媒体。
【請求項７３】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、構成可能な組み合わせる回路構成を介して、第1の組み合わせるパターンに従って組み合わされた画素値の第1のセットを生成するためにいくつかの複数の画素値を、第2の組み合わせるパターンに従って組み合わされた画素値の第2のセットを生成するためにいくつかの他の複数の画素値の後続の組合せのために前記複数の画素値を維持しながら組み合わさせる、請求項62に記載の非一時的コンピュータ可読媒体。
【請求項７４】
前記命令は、実行された時に、さらに、前記1つまたは複数のコンピューティングデバイスに、前記構成可能な組み合わせる回路構成に結合されたコンピュータビジョン計算回路構成を介してコンピュータビジョン計算を実行させる、請求項73に記載の非一時的コンピュータ可読媒体。
【請求項７５】
前記コンピュータビジョン計算は、前記組み合わされた画素値の第1のセットに基づく第1のコンピュータビジョン計算と、前記組み合わされた画素値の第2のセットに基づく第2のコンピュータビジョン計算とを含む、請求項74に記載の非一時的コンピュータ可読媒体。
【請求項７６】
前記コンピュータビジョン計算回路構成は、マルチブロックローカルバイナリパターン(LBP)動作の一部として前記第1のコンピュータビジョン計算および前記第2のコンピュータビジョン計算を実行することができる、請求項75に記載の非一時的コンピュータ可読媒体。
【請求項７７】
前記第1の組み合わせるパターンおよび前記第2の組み合わせるパターンの異なる1つは、前記2次元ハードウェアスキャニングウィンドウアレイ内の異なる位置および次元にある前記複数の記憶要素の選択を可能にする、請求項73に記載の非一時的コンピュータ可読媒体。
【請求項７８】
前記2次元ハードウェアスキャニングウィンドウアレイ内に記憶された前記画素値は、高解像度を有する画像を表し、前記第1の組み合わせるパターンは、前記高解像度より低い第1のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項73に記載の非一時的コンピュータ可読媒体。
【請求項７９】
前記第2の組み合わせるパターンは、前記第1のより低い解像度より低い第2のより低い解像度を有する画像を生成するための隣接する画素値の平均化を表す、請求項78に記載の非一時的コンピュータ可読媒体。
【請求項８０】
前記ハードウェアセンサアレイからの前記センサ読みにそれぞれが基づく前記画素値は、生センサ読みにそれぞれが基づく生画素値を含む、請求項62に記載の非一時的コンピュータ可読媒体。
【請求項８１】
画像信号処理回路構成が、前記ハードウェアセンサアレイと前記2次元ハードウェアスキャニングウィンドウアレイとの間に配置されない、請求項62に記載の非一時的コンピュータ可読媒体。
【国際調査報告】
2017533640.tif 000021
2017533640.tif 000022
2017533640.tif 000023
2017533640.tif 000024