(57)【要約】  技法は、センサ素子からのセンサ読取り値に基づいてローカルバイナリパターン(LBP)ラベルを生成するための装置および方法を説明する。センサ装置は、複数のセンサ素子を含むセンサ素子アレイを含み得、また、センサ素子に直接結合されたピクセル内回路と、センサ素子アレイに結合され、センサ素子のうちの1つまたは複数からの出力を受信するように構成された周辺回路と、デジタル回路とを含み得る。ピクセル内回路および/または周辺回路は、参照されるセンサ素子に関するセンサ読取り値を、4つ以下の隣接センサ素子のセンサ読取り値と現在比較し、残りの隣接センサ素子に関する以前またはその後に生成された比較を使用することによって、センサ素子読取り値の各々に関するLBPラベルを生成するように構成されたアナログ計算機構および/またはデジタル計算機構を含み得る。
2017535846.tif 000002
【特許請求の範囲】
【請求項１】
センサ読取り値に基づいて計算結果を生成するための装置であって、
複数のセンサ素子を備えるセンサ素子アレイであって、前記複数のセンサ素子が、前記センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置され、前記複数のセンサ素子の各々が、前記センサ素子に入射する光に基づいてセンサ読取り値を生成することが可能である、センサ素子アレイと、
対象センサ素子に関する前記センサ読取り値を、前記対象センサ素子に対する複数の隣接センサ素子のサブセットの各々の前記センサ読取り値と比較することによって、前記複数のセンサ素子からの対象センサ素子に関するコンピュータビジョン(CV)ラベルを生成するように構成された少なくとも1つの計算機構であって、前記サブセットが、前記対象センサ素子に関する前記CVラベルを生成するために必要な前記複数の隣接センサ素子よりも小さい、少なくとも1つの計算機構と
を備える、装置。
【請求項２】
前記対象センサ素子に関する前記CVラベルが、ローカルバイナリパターン(LBP)ラベルである、請求項1に記載の装置。
【請求項３】
前記対象センサ素子に関する前記センサ読取り値と前記隣接センサ素子に関するセンサ読取り値との間で計算される8回の比較が、前記LBPラベルを生成するために必要とされる、請求項2に記載の装置。
【請求項４】
前記対象センサ素子に関する前記センサ読取り値の、前記対象センサ素子に関する前記LBPラベルを生成する際に使用される前記隣接センサ素子に関する前記センサ読取り値との少なくとも4回の比較が、前記対象センサ素子以外のセンサ素子に関するLBPラベルを生成する間に計算される、請求項3に記載の装置。
【請求項５】
前記対象センサ素子に対する前記隣接センサ素子が、前記対象センサ素子のすぐ隣のセンサ素子である、請求項1に記載の装置。
【請求項６】
前記センサ素子アレイが、ピクセルのアレイを備え、各ピクセルが、前記センサ素子とピクセル内回路とを備え、前記少なくとも1つの計算機構が、前記センサ素子に結合されたピクセル内回路の一部である、請求項1に記載の装置。
【請求項７】
前記少なくとも1つの計算機構が、前記センサ素子アレイに結合され、前記対象センサ素子と前記複数の隣接センサ素子とを含む前記複数のセンサ素子からの出力を受信するように構成された周辺回路の一部である、請求項1に記載の装置。
【請求項８】
前記計算機構が、
前記対象センサ素子に対する前記それぞれの隣接センサ素子に関する前記しきい値を決定するために前記対象センサ素子からの前記センサ読取り値を前記複数の隣接センサ素子の前記サブセットからのセンサ読取り値と比較し、
前記CVラベルを生成するために必要な前記対象センサ素子に対する残りの隣接センサ素子のために生成されたしきい値を取得するように構成された1つまたは複数の比較器を備え、前記残りの隣接センサ素子に関する前記しきい値が、それぞれ、前記対象センサ素子以外のセンサ素子に関する前記CVラベルを決定するために生成された、請求項1に記載の装置。
【請求項９】
前記複数の隣接センサ素子の前記残りの隣接センサ素子に関する前記取得されたしきい値に関するバイナリ補数が、前記CVラベルを生成するために使用される、請求項8に記載の装置。
【請求項１０】
前記センサ素子アレイが、ビジョンセンサであり、前記センサ素子の各々が、フォトダイオードを備える、請求項1に記載の装置。
【請求項１１】
前記少なくとも1つの計算機構が、複数の対象センサ素子の各々に関する前記センサ読取り値を、前記複数の対象センサ素子の各々と隣接するセンサ素子と同時に比較するように構成された複数の並列計算機構を備える、請求項1に記載の装置。
【請求項１２】
前記対象センサ素子に関する前記CVラベルが、CVアプリケーションに関する特徴を検出するために生成される、請求項1に記載の装置。
【請求項１３】
前記少なくとも1つの計算機構が、デジタル計算機構である、請求項1に記載の装置。
【請求項１４】
センサ読取り値に基づいて計算結果を生成するための方法であって、
センサ素子アレイを形成する複数のセンサ素子からの対象センサ素子に入射する光に基づいてセンサ読取り値を受信するステップであって、前記複数のセンサ素子が、前記センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置された、ステップと、
計算機構において、現在計算された比較を生成するために、前記対象センサ素子に関する前記センサ読取り値を、複数の隣接センサ素子のサブセットの各々からのセンサ読取り値と比較するステップであって、前記サブセットが、前記対象センサ素子に関するCVラベルを生成するために必要な前記複数の隣接センサ素子よりも小さい、ステップと、
1つまたは複数のバッファから、前記対象センサ素子と前記CVラベルを計算するために必要な前記複数の隣接センサ素子からの残りの隣接センサ素子との間の以前に計算された比較にアクセスするステップであって、前記残りのセンサ素子に関する前記以前に計算された比較が、前記対象センサ素子以外のセンサ素子に関するCVラベルを生成するために実行される、ステップと、
前記計算機構において、前記現在計算された比較と前記以前に計算された比較とを使用することによって前記対象センサ素子に関する前記CVラベルを生成するステップと
を備える方法。
【請求項１５】
前記対象センサ素子に関する前記CVラベルが、ローカルバイナリパターン(LBP)ラベルである、請求項14に記載の方法。
【請求項１６】
前記対象センサ素子と前記隣接センサ素子との間で計算される8回の比較が、前記LBPラベルを生成するために必要とされる、請求項15に記載の方法。
【請求項１７】
前記対象センサ素子の、前記対象センサ素子に関する前記LBPラベルを生成する際に使用される前記隣接センサ素子との少なくとも4回の比較が、前記対象センサ素子以外のセンサ素子に関するLBPラベルを生成する間に計算される、請求項16に記載の方法。
【請求項１８】
前記対象センサ素子に対する前記複数の隣接センサ素子が、前記対象センサ素子のすぐ隣のセンサ素子である、請求項14に記載の方法。
【請求項１９】
前記センサ素子アレイが、ピクセルのアレイを備え、各ピクセルが、前記センサ素子とピクセル内回路とを備え、前記計算機構が、前記センサ素子に結合された前記ピクセル内回路の一部である、請求項14に記載の方法。
【請求項２０】
前記計算機構が、前記センサ素子アレイに結合された周辺回路の一部である、請求項14に記載の方法。
【請求項２１】
前記センサ素子アレイが、ビジョンセンサであり、前記複数のセンサ素子の各々が、フォトダイオードを備える、請求項14に記載の方法。
【請求項２２】
計算機構において、前記対象センサ素子に関する前記センサ読取り値を複数の隣接センサ素子のサブセットの各々からのセンサ読取り値と比較するステップが、並列計算機構において、複数の対象センサ素子の各々に関する前記センサ読取り値を、前記複数の対象センサ素子の各々と隣接するセンサ素子と同時に比較するステップを備える、請求項14に記載の方法。
【請求項２３】
前記複数のセンサ素子の各々に関するCVラベルが、CVアプリケーションに関する特徴を検出するために生成される、請求項14に記載の方法。
【請求項２４】
前記少なくとも1つの計算機構が、デジタル計算機構である、請求項14に記載の方法。
【請求項２５】
センサ読取り値に基づいて計算結果を生成するための装置であって、
センサ素子アレイを形成する複数のセンサ素子からの対象センサ素子に入射する光に基づいてセンサ読取り値を受信するための手段であって、前記複数のセンサ素子が、前記センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置された、手段と、
現在計算された比較を生成するために、前記対象センサ素子に関する前記センサ読取り値を、複数の隣接センサ素子のサブセットの各々からのセンサ読取り値と比較するための手段であって、前記サブセットが、前記対象センサ素子に関するCVラベルを生成するために必要な前記複数の隣接センサ素子よりも小さい、手段と、
前記対象センサ素子と前記CVラベルを計算するために必要な前記複数の隣接センサ素子からの残りの隣接センサ素子との間の以前に計算された比較にアクセスするための手段であって、前記残りのセンサ素子に関する前記以前に計算された比較が、前記対象センサ素子以外のセンサ素子に関するCVラベルを生成するために実行される、手段と、
前記現在計算された比較と前記以前に計算された比較とを使用することによって前記対象センサ素子に関する前記CVラベルを生成するための手段と
を備える装置。
【請求項２６】
前記対象センサ素子に関する前記CVラベルが、ローカルバイナリパターン(LBP)ラベルである、請求項25に記載の装置。
【請求項２７】
前記対象センサ素子の、前記対象センサ素子に関する前記LBPラベルを生成する際に使用される前記隣接センサ素子との少なくとも4回の比較が、前記対象センサ素子以外のセンサ素子に関するLBPラベルを生成する間に計算される、請求項26に記載の装置。
【請求項２８】
前記対象センサ素子に対する前記複数の隣接センサ素子が、前記対象センサ素子のすぐ隣のセンサ素子である、請求項25に記載の装置。
【請求項２９】
非一時的コンピュータ可読記憶媒体であって、
センサ素子アレイを形成する複数のセンサ素子からの対象センサ素子に入射する光に基づいてセンサ読取り値を受信することであって、前記複数のセンサ素子が、前記センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置された、受信することと、
現在計算された比較を生成するために、前記対象センサ素子に関する前記センサ読取り値を、複数の隣接センサ素子のサブセットの各々からのセンサ読取り値と比較することであって、前記サブセットが、前記対象センサ素子に関するCVラベルを生成するために必要な前記複数の隣接センサ素子よりも小さい、比較することと、
前記対象センサ素子と前記CVラベルを計算するために必要な前記複数の隣接センサ素子からの残りの隣接センサ素子との間の以前に計算された比較にアクセスすることであって、前記残りのセンサ素子に関する前記以前に計算された比較が、前記対象センサ素子以外のセンサ素子に関するCVラベルを生成するために実行される、アクセスすることと、
前記現在計算された比較と前記以前に計算された比較とを使用することによって前記対象センサ素子に関する前記CVラベルを生成することと
を行うためにプロセッサによって実行可能な命令を備える非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記対象センサ素子に関する前記CVラベルが、ローカルバイナリパターン(LBP)ラベルである、請求項29に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般には、コンピュータビジョンを可能にすることに関し、より詳細には、コンピュータビジョンを使用して特徴を検出する効率を改善することに関する。
【背景技術】
【０００２】
コンピュータビジョンは、アプリケーションで使用するための画像を取得し、処理し、分析し、理解するための方法を含む分野である。従来、センサに結合されたプロセッサは、センサから画像データを取得し、特徴と、結果としてこれらの特徴に関連するオブジェクトとを検出するためのセンサから受信した情報に対して特定のコンピュータビジョン(CV)動作を実行する。特徴は、エッジ、コーナーなどの特徴を含む。これらの特徴は、顔、笑顔、およびジェスチャなどの、より複雑な人間の特徴を有するマクロ特徴を決定する際に使用され得る。プロセッサ上で実行されるプログラムは、平面検出、顔検出、笑顔検出、ジェスチャ検出などの様々なアプリケーションにおいて、検出された特徴を利用し得る。
【０００３】
近年、コンピューティングデバイスがコンピューティングデバイスの視野内の特徴およびオブジェクトを検出することを可能にするために多大な努力がなされている。モバイルデバイスなどのコンピューティングデバイスは、モバイルデバイスによって使用される処理リソースおよび電力の量と、熱放散とに対して敏感であるように設計される。しかしながら、従来、カメラを使用してコンピューティングデバイスの視野内の特徴およびオブジェクトを検出することは、かなりの処理リソースを必要とし、その結果、モバイルデバイスなどのコンピューティングデバイスにおいて電力消費が大きくなり、バッテリ寿命が低下することになる。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の態様は、例として示される。以下の説明は、図面を参照して提供され、図面では、全体にわたって同様の参照番号が同様の要素を示すために使用される。本明細書では1つまたは複数の技法の様々な詳細について説明するが、他の技法も同様に可能である。いくつかの例では、様々な技法の説明を容易にするために、周知の構造およびデバイスは、ブロック図で示される。
【０００５】
明細書の残りの部分および図面を参照することによって、本開示によって与えられる実施例の性質および利点をさらに理解することができ、同様の参照番号が、同様の構成要素を指すために、いくつかの図面全体で用いられる。いくつかの例では、複数の同様の構成要素のうちの1つを示すために、サブラベルが参照番号に関連付けられる。存在するサブラベルを特定することなく、参照番号に言及する場合、参照番号はそのようなすべての同様の構成要素を指す。
【図面の簡単な説明】
【０００６】
【図１】2次元アレイに配置された複数のセンサ素子を備える例示的なセンサを示す図である。
【図２】センサ素子とピクセル内回路とを備える例示的なピクセルを示す図である。
【図３】センサアレイに結合された例示的な周辺回路を示す図である。
【図４Ａ】専用コンピュータビジョン(CV)処理モジュールに結合された例示的なセンサ素子アレイを示す図である。
【図４Ｂ】専用コンピュータビジョン(CV)処理モジュールにワイヤレスに結合された例示的なセンサ素子アレイを示す図である。
【図５】画像のフレームを示すセンサ素子アレイからの複数のセンサ読取り値を示す図である。
【図６Ａ】センサ素子読取り値に関するローカルバイナリパターン(LBP)を生成するための例示的な方法を示す図である。
【図６Ｂ】センサ素子読取り値に関するローカルバイナリパターン(LBP)を生成するための例示的な方法を示す図である。
【図６Ｃ】センサ素子読取り値に関するローカルバイナリパターン(LBP)を生成するための例示的な方法を示す図である。
【図７】CVラベルを生成するための例示的な隣接センサ素子を示す図である。
【図８】本開示の態様による、センサ素子で検出された潜在的なCV特徴の例示的な表現を示す図である。
【図９Ａ】LBPラベルを使用して、複数のセンサ素子からのセンサ読取り値をヒストグラムに変換するプロセスを示す図である。
【図９Ｂ】LBPラベルを使用して、複数のセンサ素子からのセンサ読取り値をヒストグラムに変換するプロセスを示す図である。
【図９Ｃ】LBPラベルを使用して、複数のセンサ素子からのセンサ読取り値をヒストグラムに変換するプロセスを示す図である。
【図１０Ａ】8回の比較の代わりに4回の比較を使用してLBPラベルを生成することを示す図である。
【図１０Ｂ】8回の比較の代わりに4回の比較を使用してLBPラベルを生成することを示す図である。
【図１１Ａ】4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す図である。
【図１１Ｂ】4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す図である。
【図１１Ｃ】4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す図である。
【図１１Ｄ】4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す図である。
【図１１Ｅ】4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す図である。
【図１１Ｆ】4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す図である。
【図１１Ｇ】4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す図である。
【図１１Ｈ】4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す図である。
【図１２】本開示の特定の態様による例示的なフローチャートである。
【図１３Ａ】本開示の特定の態様による例示的なフローチャートである。
【図１３Ｂ】本開示の特定の態様による例示的なフローチャートである。
【図１４】本開示の特定の態様による動作を実行するための例示的なピクセル内回路および/または周辺回路を示す図である。
【図１５】時間φ1、φ2、φ3、およびφ4における9つのセンサ素子読取り値のグリッドに対して実行された例示的な比較を示す図である。
【図１６】4つの連続するクロックサイクルφ1、φ2、φ3、およびφ4を示す図である。
【図１７】1つまたは複数の実施形態が実施され得るコンピューティングデバイスの一例を示す図である。
【発明を実施するための形態】
【０００７】
本開示は、一般には、コンピュータビジョンを可能にすることに関し、より詳細には、コンピュータビジョンを使用して特徴を検出する効率を改善することに関する。
【０００８】
技法は、センサ素子からのセンサ読取り値に関する、ローカルバイナリパターン(LBP)ラベルなどのコンピュータビジョン(CV)ラベルを生成するための装置および方法を説明する。センサ読取り値に基づく計算結果を生成することによって、エッジ、コーナーなどの特徴を検出するための装置および方法が説明される。センサ装置は、複数のセンサ素子を含むセンサ素子アレイを含み得る。特定の実装形態では、センサ素子は、列および行などの2次元アレイに配置され得、すなわち、センサ素子は、センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置され得る。センサ素子は、センサ素子に入射する光に基づいた信号または電圧差などの環境条件に基づいてセンサ読取り値を生成することが可能であり得る。センサ装置はまた、センサ素子に直接結合されたピクセル内回路、または、センサ素子アレイに結合され、センサ素子のうちの1つまたは複数からの出力を受信するように構成された周辺回路を含み得る。ピクセル内回路および/または周辺回路は、対象センサ素子のセンサ読取り値を、ラベルを生成するために必要なセンサ素子の数よりも少ない隣接センサ素子に関するセンサ読取り値と比較することによって、センサ素子読取り値の各々に関するラベルを生成するように構成された少なくとも1つの計算機構(computation structure)を含み得る。加えて、または代替的には、計算機構は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、マイクロプロセッサ、または任意の他の計算ロジックなどの、専用CV処理エンティティを使用して実装され得る。
【０００９】
センサ読取り値に基づいて計算結果を生成するための例示的な装置は、複数のセンサ素子を備えるセンサ素子アレイを含み、複数のセンサ素子は、センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置される。複数のセンサ素子の各々は、センサ素子に入射する光に基づいてセンサ読取り値を生成することが可能であり得る。センサ素子アレイは、ピクセルのアレイを含み得、各ピクセルは、センサ素子とピクセル内回路とを備え、少なくとも1つの計算機構は、センサ素子に結合されたピクセル内回路の一部である。一実装形態では、センサ素子アレイは、ビジョンセンサであり、センサ素子の各々は、フォトダイオードを備える。
【００１０】
例示的な装置はまた、対象センサ素子に関するセンサ読取り値を、対象センサ素子に対する複数の隣接センサ素子のサブセットの各々と比較することによって、複数のセンサ素子からの対象センサ素子に関するコンピュータビジョン(CV)ラベルを生成するように構成された1つの計算機構を含み得、サブセットは、対象センサ素子に関するCVラベルを生成するために必要な複数の隣接センサ素子よりも小さい。一実装形態では、少なくとも1つの計算機構は、センサ素子に結合され、対象センサ素子と複数の隣接センサ素子とを含む複数のセンサ素子からの出力を受信するように構成された周辺回路の一部である。1つの例示的な実装形態では、計算機構は、デジタル計算機構である。
【００１１】
対象センサ素子に関するCVラベルは、ローカルバイナリパターン(LBP)ラベルであり得る。本開示の一態様では、LBPラベルを生成するために、対象センサ素子と隣接センサ素子との間の8回の計算された比較が必要とされ、対象センサ素子に関するLBPラベルを生成するために使用される対象センサ素子の隣接センサ素子との少なくとも4回の比較は、対象センサ素子以外のセンサ素子に関するLBPラベルを生成しながら計算される。対象センサ素子に対する隣接センサ素子は、対象センサ素子のすぐ隣のセンサ素子であり得る。
【００１２】
本開示の特定の態様では、計算機構は、対象センサ素子に対するそれぞれの隣接センサ素子に関するしきい値を決定するために対象センサ素子からのセンサ読取り値を複数の隣接センサ素子のサブセットからのセンサ読取り値と比較し、CVラベルを生成するために必要な対象センサ素子に対する残りの隣接センサ素子のために生成されたしきい値を取得するように構成された1つまたは複数の比較器を含み得、残りの隣接センサ素子に関するしきい値は、それぞれ、対象センサ素子以外のセンサ素子に関するCVラベルを決定するために生成される。一実装形態では、複数の隣接センサ素子の残りの隣接センサ素子に関する取得されたしきい値に関するバイナリ補数が、CVラベルを生成するために使用される。
【００１３】
複数のセンサ素子の各々に関するCVラベルは、複数のセンサ素子のサブセットに関するセンサ読取り値に関する1つまたは複数のヒストグラムを生成するために使用され得、1つまたは複数のヒストグラムを以前に記憶されたヒストグラムと比較することによってマクロ特徴を検出する。本開示の一態様では、対象センサ素子に関するCVラベルは、CVアプリケーションのためのエッジまたはCV特徴を検出するために生成される。本明細書で使用される場合、CVラベルは、1つまたは複数のその隣接ピクセル要素との対象ピクセルの比較に基づいて計算されるCV特徴を指すことがある。
【００１４】
本開示の態様は、上記および本開示を通して開示される態様を実行するための方法、および手段を備える装置をさらに開示する。本開示の態様は、非一時的コンピュータ可読記憶媒体をさらに開示し、非一時的コンピュータ可読記憶媒体は、上記および本明細書を通して開示される本開示の態様を実行するための専用コンピュータビジョンマイクロプロセッサによって実行可能な命令を含み得る。
【００１５】
上記は、以下に続く詳細な説明がよりよく理解され得るように、例の特徴および技術的利点をいくぶん広く概説している。以下で、追加の特徴および利点について説明する。開示される概念および特定の例は、本開示の同じ目的を実行するための他の構造を修正または設計するための基礎として容易に利用され得る。そのような等価の構成は、添付の特許請求の範囲の要旨および範囲から逸脱しない。本明細書で開示される概念に特有あると考えられる特徴は、それらの構成および動作方法の両方として、関連する利点とともに、添付図面に関連して考慮されるとき、以下の説明からよりよく理解されるであろう。図面の各々は、例示および説明の目的のために提供され、特許請求の範囲の制限の定義としては提供されない。
【００１６】
詳細な説明
いくつかの例示的な実施形態について、本明細書の一部を形成する添付図面に関して説明する。本開示の1つまたは複数の態様が実装され得る特定の実施形態について以下で説明するが、本開示の範囲または添付の特許請求の範囲の趣旨から逸脱することなく、他の実施形態が使用されることがあり、様々な修正が行われることがある。
【００１７】
技法は、センサ素子からのセンサ読取り値に関する、ローカルバイナリパターン(LBP)ラベルなどのCVラベルを生成するための装置および方法を説明する。以下でさらに詳細に説明するように、そのようなラベルは、エッジ、コーナーなどのCV特徴を決定する際に使用され得る。センサ読取り値に基づいて計算結果を生成することによってCV特徴を検出するための装置および方法が説明される。センサ装置は、複数のセンサ素子を含むセンサ素子アレイを含み得る。特定の実装形態では、センサ素子は、列および行などの2次元アレイに配置され得、すなわち、センサ素子は、センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置され得る。センサ素子は、センサ素子に入射する光に基づいた信号または電圧差などの環境条件に基づいてセンサ読取り値を生成することが可能であり得る。センサ装置はまた、センサ素子に直接結合されたピクセル内回路、または、センサ素子アレイに結合され、センサ素子のうちの1つまたは複数からの出力を受信するように構成された周辺回路を含み得る。ピクセル内回路および/または周辺回路は、対象センサ素子のセンサ読取り値を、ラベルを生成するために必要なセンサ素子の数よりも少ない隣接センサ素子に関するセンサ読取り値と比較することによって、センサ素子読取り値の各々に関するラベルを生成するように構成された少なくとも1つの計算機構を含み得る。加えて、または代替的には、計算機構は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、マイクロプロセッサ、または任意の他の計算ロジックなどの、専用CV処理エンティティを使用して実装され得る。
【００１８】
センサは、複数のセンサ素子のセンサ素子アレイを含み得る。センサ素子アレイは、センサ素子アレイの列および行などの2次元に配置されたセンサ素子を含む2次元アレイであり得る。センサ素子の各々は、環境条件に基づいてセンサ読取り値を生成することが可能であり得る。特定の実装形態では、センサは、ビジョンセンサであり得、センサ素子に入射する光に基づいてセンサ読取り値を生成し得る。図1は、2次元アレイに配置された複数のセンサ素子を備える例示的なセンサ100を示す。図1では、センサ100の図は、センサ素子アレイ内の64(8×8)個のセンサ素子を表す。様々な実装形態では、センサ素子の形状、センサ素子の数、センサ素子間の間隔は、本発明の範囲から逸脱することなく、非常に変化し得る。センサ素子102は、64個のセンサ素子のグリッドからの例示的なセンサ素子を表す。
【００１９】
特定の実装形態では、センサ素子は、センサ素子に結合されたピクセル内回路(計算機構)として実装された専用CV計算ハードウェアを有し得る。いくつかの実装形態では、センサ素子およびピクセル内回路は一緒に、ピクセルと呼ばれることがある。センサ素子に結合されたピクセル内回路によって実行される処理は、ピクセル内処理と呼ばれることがある。いくつかの例では、センサ素子アレイは、ピクセルアレイと呼ばれることがあり、違いは、ピクセルアレイがセンサ素子と各センサ素子に関連するピクセル内回路の両方を含むことである。図2は、センサ素子202とピクセル内回路204とを有する例示的なピクセル200を示す。特定の実装形態では、ピクセル内回路204は、アナログ回路、デジタル回路、またはそれらの任意の組合せであり得る。
【００２０】
特定の実装形態では、センサ素子アレイは、センサ素子のグループに結合された周辺回路(計算機構)として実装された専用CV計算ハードウェアを有し得る。そのような周辺回路は、オンチップセンサ回路と呼ばれることがある。図3は、センサ素子アレイ302に結合された例示的な周辺回路(304および306)を示す。
【００２１】
本明細書で説明するように、専用CV計算ハードウェアは、対象センサ素子に近接する複数の隣接センサ素子に関連する信号に少なくとも部分的に基づいて対象センサ素子に関するCV特徴または局所CV特徴を計算する。いくつかの実装形態では、CV特徴または局所CV特徴を計算する専用CV計算ハードウェア(たとえば、ハードウェアベースのCV計算)は、ソフトウェア計算技法が汎用プロセッサ上でソフトウェアベースのCV計算アルゴリズムを実行する従来のソフトウェア計算技法とは異なる。そのようなCV特徴は、次いで、複数のセンサ素子の各々を対象センサ素子としてとり、複数のセンサ素子の各々について計算され得る。いくつかの実装形態では、局所CV特徴は、単一の対象センサ素子についてではなく、1つまたは複数の対象センサ素子のブロックについて計算され得ることが理解される。言い換えれば、CV特徴計算は、単一のセンサ素子ではなく、センサ素子またはピクセルのブロックに対応する合計されたまたは平均された信号に対して実行され得る。そのような実装形態では、対象センサ素子(もしくは、対象センサ素子に関連する信号)および/または隣接センサ素子(もしくは、複数の隣接センサ素子に関連する信号)を参照する議論は、対象センサ素子または隣接センサ素子の代わりに対象センサ素子のブロックに関連する、組み合わされた、合計された、または平均された値を指すように理解され得る。たとえば、CV特徴は、センサ素子ブロック103に近接する複数の隣接センサ素子、たとえば、センサ素子ブロック104a、104b、104c、104d、104e、104f、104g、および/または104hに関連する複数の隣接センサ素子に関連する信号(たとえば、組み合わされた、合計された、および/または平均された信号)に少なくとも部分的に基づいて、センサ素子ブロック103について計算され得る。センサ素子ブロック103、104a、104b、104c、104d、104e、104f、104g、および/または104hは、1×1個のセンサ素子(合計1個のセンサ素子)のブロック、1×2個のセンサ素子(合計2個のセンサ素子)のブロック、2×2個のセンサ素子(合計4個のセンサ素子)のブロック、2×3個のセンサ素子(合計6個のセンサ素子)のブロック、3×3個のセンサ素子(合計9個のセンサ素子)のブロックなどを含み得ることが理解される。一般に、センサ素子ブロックは、任意のn×mのブロックを含み得、ここで、nおよびmは、各々独立に、1よりも大きいが、センサアレイの2つの次元のうちの1つまたは別の次元に沿ったセンサ素子の数よりも少ない任意の数であり得る。
【００２２】
さらに、図4Aに示すように、特定の実装形態では、センサ装置400は、センサ402と、コンピュータビジョン計算ハードウェア404と、専用マイクロプロセッサ406とを有し得る。コンピュータビジョン計算ハードウェア404は、図2、図3に記載のように、感知された情報に対する初期処理を実行するためのピクセル内回路または周辺回路であり得る。専用マイクロプロセッサ406は、ASIC、FPGA、埋込みマイクロプロセッサ、または、本開示の態様を実行するための任意の同様のアナログもしくはデジタルコンピューティングロジックを使用して実装され得る。
【００２３】
少なくとも特定の実装形態では、専用マイクロプロセッサ406は、アプリケーションプロセッサ408に追加され、アプリケーションプロセッサ408の代わりではないことが留意されるべきである。たとえば、専用マイクロプロセッサ406は、検出されたコンピュータビジョン特徴の指標、オブジェクトクラス検出の指標、および/または、マクロ特徴を決定するため、または、笑顔、顔、オブジェクトなどの基準オブジェクトの画像内の有無を検出するための、以前に記憶された画像または基準インジケータに対するパターンマッチの指標を受信し得る。本明細書で使用される場合、マクロ特徴は、計算された、たとえば、ハードウェア計算されたCV特徴に基づくCV計算または動作を使用して検出される(顔などの)オブジェクトまたはオブジェクトの一部もしくは態様(皮膚のテクスチャ、笑顔、顔の表情)を指すことがある。専用マイクロプロセッサ406は、アプリケーションプロセッサ408にマクロ特徴検出の指標を送り得る。アプリケーションプロセッサ408は、その情報を取得し得、その入力に基づいて動作を実行し得る。たとえば、モバイルデバイスでは、アプリケーションプロセッサ408は、ユーザの顔を検出した後、モバイルデバイス画面をアンロックし得る。同様に、子犬のおもちゃでは、アプリケーションプロセッサ408は、笑顔が検出されたとき、親しみやすい音声の吠え声を生成し得る。いずれにしても、より高いレベルのコンピュータビジョン特徴は、アプリケーションプロセッサ408による直接のコンピュータビジョン特徴計算と比較して省電力で、センサ装置400などの専用マイクロプロセッサ406を含む低電力システムによって計算され得る。これは、特に、アプリケーションプロセッサが専用マイクロプロセッサ406よりも高い電力のプロセッサである実装形態の場合である。
【００２４】
一般に、モバイルデバイスの文脈でのように、アプリケーションプロセッサ408は、比較的より複雑で、計算集約的で、電力集約的で、オペレーティングシステムの動作などのシステムレベルの動作を実行する役割を果たし得、ユーザと対話するためのユーザインターフェースを実装し、デバイスのための電力管理を実行し、メモリおよび他のリソースなどを管理し得るが、専用マイクロプロセッサは、比較的そうではない。アプリケーションプロセッサ408は、図17のプロセッサ1710と同様であり得る。
【００２５】
しかしながら、特定の実装形態では、アプリケーションプロセッサ408は、複雑さがより低く、低電力である。たとえば、カメラ機能とビデオ機能とを有するおもちゃは、センサ装置400自体の中で子供が笑っていることを検出し、次いで、アプリケーションプロセッサ408からロジックを使用して吠える動作を実行し得る。
【００２６】
図4Aは、ワイヤードインターフェースを使用してアプリケーションプロセッサ408に結合された専用マイクロプロセッサ406を開示する。専用マイクロプロセッサ406とアプリケーションプロセッサ408との間のワイヤードインターフェースの例は、シリアル周辺インターフェース(SPI)、集積回路間(I2C)、低電圧作動シグナリング(LVDS)、またはそのことのための任意の他の適切なワイヤードプロトコルのうちの1つまたは複数を含み得る。
【００２７】
しかしながら、図4Bに示すように、特定の実装形態では、専用マイクロプロセッサ406は、ワイヤレスインターフェースを使用してアプリケーションプロセッサ408に結合され得る。アプリケーションプロセッサ408にワイヤレスに接続するために、専用マイクロプロセッサ406は、図4B中でセンサワイヤレスモジュール410と呼ばれる、センサ装置400に結合された中間ワイヤレスモジュール410に接続され得る。次に、センサワイヤレスモジュール410は、アプリケーションプロセッサ408に結合され得るアプリケーションプロセッサワイヤレスモジュール412とワイヤレスに通信し得る。ワイヤレスモジュールは、Zigbee(IEEE802.15.4規格)、Bluetooth(登録商標)、ボディエリアネットワーク(IEEE802.15.6)、ワイヤレスUSB、Wi-Fi(802.11)、Z-wave、またはIrDA(赤外線ベースの通信)などの、アプリケーションプロセッサ408と通信するための1つまたは複数の適切なワイヤレスプロトコルを使用するように構成され得る。
【００２８】
本開示の態様によれば、特定の実装形態では、様々な異なるセンサが、本開示の態様に従って改善され得る。例示的なセンサは、ビジョンセンサ、嗅覚センサ、および/または化学センサを含み得る。本開示の全体を通してビジョンセンサが論じられるが、同様の技術は、本発明の範囲から逸脱することなく、他のタイプのセンサでも用いられ得る。
【００２９】
技法は、一実装形態では、センサデータがアプリケーションプロセッサ、またはセンサ装置の外部の任意の他の処理エンティティに送られる前の、ピクセル内回路、周辺回路、または、専用マイクロプロセッサ内の特徴(たとえば、CV特徴およびマクロ特徴)の計算のための専用回路もしくはシステムを説明する。特徴の計算のためのそのような専用回路は、(1)回路が特定の特徴の計算に最適化されるとき、(2)プロセッサ命令復号、メモリ転送などに関連してより少ないオーバヘッドが含まれるとき、電力節約につながる。
【００３０】
加えて、顔、笑顔などのマクロ特徴は、CV特徴から導出され得、また、コンピュータビジョン計算ハードウェア404および/または専用マイクロプロセッサ406を使用して生成され得る。
【００３１】
図5は、画像の例示的なサブ部分500を示すセンサ素子アレイからのセンサ読取り値のグループを示す。いくつかの例では、センサ素子アレイからの各センサ読取り値は、画像ピクセル値と呼ばれることもある。センサ素子の各々または大部分に対してラベルが生成され得る。図5では、ウィンドウ502は、センサ素子504に関するラベルを生成するためのセンサ読取り値の3×3ウィンドウを表す。一実装形態では、ウィンドウからの各センサ素子値に関連するラベルを使用することによって、ウィンドウについてヒストグラムが生成され得る。
【００３２】
図示の画像のサブ部分500について、ウィンドウ502と同様の9つの3×3ウィンドウが可能であり、したがって、サブ部分500について、9つのラベルが計算され得る。ラベルは、次いで、ヒストグラムを生成するために使用され得る。そのようなヒストグラムは、画像のサブ部分500内のセンサ素子の複数のセンサ読取り値に関する情報を識別する特定の特徴を表し得る。ヒストグラムは、画像内の複数のセンサ読取り値から特徴を識別または検出するための統計またはヒューリスティックスに基づいて分析され得る。いくつかの実装形態では、ヒストグラムは、以前に記憶された1つまたは複数のヒストグラムと比較され得る。
【００３３】
一実装形態では、各センサ素子に関連するラベルを生成するためにローカルバイナリパターン(LBP)が使用され得る。次に、LBPラベルは、ヒストグラムを生成するために使用され得る。図6A〜図6Cは、センサ素子に関するLBPラベルを生成するための例示的な技法を示す。
【００３４】
図6Aは、8つの隣接センサ読取り値を有する中央センサ素子値「70」を有する、センサ素子アレイからの複数のセンサ素子からサンプリングまたは感知されたいくつかの例示的なセンサ読取り値を示す。図6Bでは、中央センサ素子読取り値と隣接センサ素子との間で差分が計算され、または比較が行われる。図6Bに示す値は、それぞれ、隣接センサ素子の各々について結果として生じる差分を生成するために、それぞれ、隣接センサ素子読取り値の各々から中央画像センサ読取り値を減算することによって生成される。図5Cでは、各隣接センサ素子についてしきい値2進値が生成される。図5Bからのすべての負の結果の差分値は、ゼロに変換され、図5Bからのすべての正の結果の差分値は、1に変換される。いくつかの実装形態では、図6Bおよび図6Cからのステップは、一方の数が他方の数よりも大きいか、等しいか、または小さいかに基づいて、比較を2進数として出力する比較器を使用して単一のステップに結合され得る。
【００３５】
しきい値が隣接センサ素子の各々について決定されると、しきい値を2進数で連結する(たとえば、「00001111」)か、または2のセンサ素子の配置乗を乗じた2進数値を合計する(1*1+1*2+1*4+1*8+0*16+0*32+0*64+0*128=15)ことによって、LBPラベルが中央センサ素子について生成される。
【００３６】
上記で示したように、結果として生じるラベル(10進)値は、中央センサ素子について「15」である。
【００３７】
上記で図6A、図6B、および図6Cに関して示した実装形態は、ラベル、より具体的にはLBPラベルを生成する実例として提供される。しかしながら、本開示の態様は、図6A、図6B、および図6Cに関して提供される実例に限定されない。たとえば、図7に示すように、センサ素子に直接隣接しないセンサ素子からのセンサ読取り値を使用することによって、対象センサ素子に関してラベルが生成され得る。たとえば、図7では、LBPラベルを生成するために使用されるべき対象センサ素子702および隣接センサ素子704は、互いに直接隣接しない。さらに、図7は、LBPラベルを生成するために対象センサ素子に対して8個のセンサ素子からの読取り値を使用することを示しているが、LBPラベルを使用する際に任意の適切な数のセンサ読取り値が使用され得る。さらに、ピクセルレベルのLBPに関して示す本明細書で開示される様々な実装形態はまた、マルチブロックLBPに適合し得ることが理解される。マルチブロックLBPでは、ピクセルのブロックは、たとえば、ピクセルの2×2ブロックで合計および/または平均される。図6A〜図6Cに示すサンプル、差分、およびしきい値は、次いで、図6A〜図6Cにおける上記の議論によって仮定されるようにピクセルレベルの値ではなく、これらのブロックの合計または平均に対して実行される。本明細書で開示される様々な実装形態はまた、限定はしないが、局所3値パターン(LTP)を含む、LBPの様々な拡張に適用され得る。ピクセル値が平均および/または合計されるブロックのサイズは、CVアプリケーションに応じて変動し得る。いくつかの実装形態では、ブロックは、11ピクセル×11ピクセルまで、またはさらに大きくてもよい。
【００３８】
図8は、本開示の特定の態様による、対象センサ素子について検出される潜在的なCV特徴の例示的表現を示す。CV特徴または局所CV特徴は、センサの各センサ素子またはピクセルに関連するラベルなどの、低レベルのCVマーカまたはインジケータを指すことがある。黒いボックスは、ゼロのしきい値を表し、白いボックスは、1のしきい値を表す。図8に示すように、スポット、フラット、ラインエンド、エッジ、およびコーナーなどのいくつかのCV特徴は、センサからのセンサ読取り値に関するLBPラベルを生成するプロセスにおいて検出され得る。LBPラベルは、センサ素子の基準からのCV特徴が、エッジ、コーナー、カーブ、スポットなどを表すかどうかを示し得る。符号付き勾配(HSG)のヒストグラムまたはLBPの他の適切な変形などの他の技法が、本開示の範囲から逸脱することなくCV特徴を検出するために使用され得る。
【００３９】
図9A、図9B、および図9Cは、LBPラベルを使用して複数のセンサ素子からのセンサ読取り値をヒストグラムに変換するプロセスを示す。図9Aは、ヒストグラムを生成し、特徴を検出するために考慮される図5からの複数のセンサ読取り値からのセンサ読取り値のグループ(ウィンドウ502)を示す。
【００４０】
図9Bは、図6A〜図6Cで説明したプロセスを使用して、中央センサ素子504に関する2進しきい値を生成するプロセスを示す。中央センサ素子に対して生成されたラベルは、2進値1111000によって表され得る。同様に、LBPラベルは、たとえば、図9Cに示すものと同様のヒストグラムを生成するために、図5に示すものとは異なるウィンドウ502および中央センサ素子504に対して生成され得る。各ラベルは、対象センサ素子の観点からのCV特徴の指標を提供し得る。
【００４１】
図9Cは、画像全体、または画像の一部、たとえば、図5のサブ部分500からのセンサ素子の各々に対して生成されたラベルを使用するヒストグラムを示す。図9Cに示すように、ウィンドウ502からのセンサ読取り値に関するLBPラベルの各々は、255個のスロットを有するヒストグラムのどこにでも入り得る。
【００４２】
そのようなヒストグラムは、たとえば、サブ部分500からの複数のセンサ読取り値に関する情報を識別する特定の特徴を表し得る。ヒストグラムは、画像内の複数のセンサ読取り値から特徴を識別または検出するための統計またはヒューリスティックスに基づいて分析され得る。いくつかの実装形態では、ヒストグラムは、以前に記憶されたヒストグラムと比較され得る。
【００４３】
しかしながら、図9Cからのヒストグラムは、縮尺通りに、または計算値に基づいて描かれておらず、単にヒストグラムの視覚的例示を表していることが留意されるべきである。生成されたヒストグラムは、コンピュータビジョンのためのマクロ特徴を検出するために使用され得る。たとえば、特定のヒストグラムパターンは、笑顔、顔、オブジェクトなどを表し得る。
【００４４】
図6A〜図6Cおよび図9A〜図9Cに示すように、少なくとも1つの実装形態では、センサ読取り値に関するLBPラベルを生成することは、対象センサ読取り値と隣接するまたは近傍のセンサ読取り値との間の8回の別個の比較を結果として生じる。そのような比較は、対象センサ素子からのセンサ読取り値と、ラベルを生成するためのセンサ素子のグループからの他のセンサ読取り値との間で実行される。いくつかの実装形態では、これらの比較は、図17に示す比較器と同様の1つまたは複数の比較器を使用して実行される。これらの比較を実行することは、これらの一般的に小型のセンサにおいて電力と、時間と、回路とを消費する。
【００４５】
本明細書で説明する実施形態は、比較の数を減らすことによって、対象センサ素子に関するセンサ読取り値に対してラベルをより効率的に生成するための技法を説明する。図10Aに示すように、「5」の中央センサ読取り値に関するLBPラベルを生成するために、本開示の態様は、中央センサ読取り値を、8回のセンサ読取り値比較の代わりに、隣接センサ素子からの4つのセンサ読取り値のみと比較することを説明する。図10Bは、LBP値を生成するためのセンサ素子に関するセンサ読取り値間の4回の比較を示す。たとえば、第1のクロックサイクルでは、「5」が「7」と比較され、第2のクロックサイクルでは、「5」が「8」と比較され、第3のクロックサイクルでは、「5」が「6」と比較され、第4のサイクルでは、「5」が「9」と比較される。
【００４６】
図11A〜図11Hは、4回の比較のみを実行することによって任意の所与のセンサに関するLBPラベルを生成するための例示的なプロセスを示す。残りの4回の比較は、他のセンサ素子に関するLBPラベルを計算する部分として実行される。図11A〜図11Hは、ラベルを生成するための例示的な表現を提供し、実装形態は、なにが隣接ピクセルとみなされるのか、または、対象センサ素子に関するラベルを生成するためにどれくらい多くの総数のしきい値が必要とされるのかという点で変化し得ることが留意されるべきである。
【００４７】
図11Aは、「5」(R2C2)と網掛けをしたセンサ素子読取り値との間の4回の比較(太い矢印)を示す。図11Bは、「3」(R2C3)と網掛けをしたセンサ素子読取り値との間の4回の比較(太い矢印)を示す。図11Cは、「7」(R2C4)と網掛けをしたセンサ素子読取り値との間の4回の比較(太い矢印)を示す。図11Dは、「6」(R2C5)と網掛けをしたセンサ素子読取り値との間の3回の比較(太い矢印)を示す。
【００４８】
同様に、図11Eは、「4」(R3C2)と網掛けをしたセンサ素子読取り値との間の4回の比較(太い矢印)を示す。図11Fは、「2」(R3C3)と網掛けをしたセンサ素子読取り値との間の4回の比較(太い矢印)を示す。図11Fでは、図11AにおけるR2C2(読取り値「5」を有するセンサ素子)に対して4回しか比較が実行されなかったが、その近傍のすべてとのR2C2の比較は、ここで完了し、R2C2に関するLBPラベルを計算するために必要なすべての比較値は、ここで利用可能である。図11Gは、「4」(R3C4)と網掛けをしたセンサ素子読取り値との間の4回の比較(太い矢印)を示す。
【００４９】
センサ素子R2C3について図11Hに示すように、図11BにおけるR2C3(読取り値「3」を有するセンサ素子)に対して4回しか比較が実行されなかったが、R2C3とその8個の隣接センサ素子のすべてとの間の比較は、図11HにおけるR2C3センサ素子に対して利用可能である。本開示の特定の態様によれば、他のセンサ素子読取り値に関するLBPラベルの生成のために実行された比較は、(記憶されたしきい値の2の補数または2進補数を実行した後に)R2C3に関するLBPラベルの生成において再使用される。たとえば、図11Bにおける比較は、R2C3に関するLBPラベル生成のための4つのしきい値(網掛けをしたセンサ素子読取り値)のみを提供する。この時点で、R2C3と、R2C4と、R3C2と、R3C3と、R3R4との間の比較は、それぞれのしきい値を生成するために残る。
【００５０】
図11Cは、R2C3とR2C4との間の比較を提供する。図11Eは、R2C3とR3C2との間の比較を提供する。図11Fは、R2C3とR3C3との間の比較を提供する。図11Gは、R2C3とR3C4との間の比較を提供する。したがって、図11BではR2C3に対して4回の比較しか実行されなかったが、図11Hに示すように、センサ素子読取り値R2C3に関するその8つの隣接センサ素子読取り値との8回の比較のすべては、しきい値を計算し、次いで、LBPラベルを生成するために利用可能である。図示の実装形態は、4回の比較のみを使用してLBPラベルを計算する能力を提供するが、いくつかの実装形態では、比較の数は、4を超えるが、8よりも少ないように、比較数の減少は、部分的のみである可能性があることが理解される。したがって、そのような実装形態では、比較の数は、少なくとも4であり得る。図11A〜図11Gに示すように、任意の2つのセンサ素子読取り値間の各比較は、1回のみ実行され、電力、時間、および回路の節約をもたらすことが留意されるべきである。
【００５１】
図11A〜図11Hに記載の例は、LBPラベルを生成する比較器の動作の数と時間を減少させる例示的な技法を単に示していることも留意されるべきである。本発明の範囲から逸脱することなく、いくつかの改善も可能であると想起される。たとえば、いくつかの行動作は、複数の二重化したピクセル内回路、周辺回路、または専用のCV処理リソースを使用して、同時にまたは並列に実行され得る。たとえば、図11Aおよび図11Bからの動作は、並列に実行され得、第1のクロックサイクル中、R2C2(「5」)およびR1C1(「7」)は、R2C3(「3」)およびR1C2(「9」)とともに比較される。
【００５２】
いくつかの例では、各比較のために生成されたしきい値は、しきい値が隣接センサ素子に関するLBPラベルを生成するために再利用され得る(取り出され得る)ように、メモリバッファ内に記憶され得る。取り出されたしきい値は、「ゼロ」が「1」のしきい値のために記憶され、その逆も行われる(2の補数)ように、相補的な値として(たとえば、2の補数を使用して)記憶され得ることが留意されるべきである。他の実装形態では、2の補数は、記憶された値を取り出すときに実行され得る。相補的な値は、比較(減算)動作における反転を説明するために記憶され得る。図11Aを参照すると、R2C2に関するラベルを生成するために、「5」は、結果として得られる差分と、したがってしきい値とを生成するために「3」から減算される。しかしながら、R2C3に関するラベルを生成するために、「3」は、「5」から減算され、逆のしきい値をもたらす。
【００５３】
図12は、本開示の特定の態様による例示的なフローチャートである。プロセス1200(または、本明細書で説明する任意の他のプロセス、もしくはその変形および/もしくは組合せ)のうちのいくつかまたはすべては、回路またはロジックによって実行され得る。回路またはロジックは、ピクセル内回路、周辺回路、もしくは専用CV処理ロジック、またはそれらの任意の組合せにおいて実装され得る。いくつかの例では、ロジックのすべてまたは一部は、命令を使用して実装され得、デジタル回路上で実行され得、非一時的コンピュータ可読記憶媒体上に記憶され得る。
【００５４】
ブロック1202では、センサ素子アレイに関連する構成要素は、第1の対象センサ素子のセンサ読取り値を、第1の対象センサ素子の隣接センサ素子の第1のサブセットのセンサ読取り値と比較し得る。ブロック1204では、センサ素子アレイに関連する構成要素は、n番目の対象センサ素子のセンサ読取り値を、n番目の対象センサ素子の隣接センサ素子のn番目のサブセットのセンサ読取り値と比較し得、センサ素子のn番目のサブセットは、第1の対象センサ素子を含む。ブロック1206では、センサの構成要素は、第1の対象センサ素子の隣接センサ素子の完全なセットについて比較が実行されるまで、異なる対象センサ素子に対してブロック1204で説明したプロセスを繰り返し得る(ここで、nは、増分値である)。ブロック1208では、センサ素子アレイの構成要素は、第1の対象センサ素子の隣接センサ素子の完全なセットに関する比較を使用して、第1の対象センサ素子に関するコンピュータビジョン特徴を計算し得る。一実装形態では、CV特徴は、LBPラベルを生成することによって計算される。比較のうちの少なくともいくつかに関する2の補数または2進補数は、LBPラベルを生成する際に使用され得る。
【００５５】
図12に示す特定のステップは、一実施形態による、コンピュータビジョン特徴またはラベルを計算または生成する特定の方法を提供することが理解されるべきである。代替の実施形態では、ステップの他のシーケンスも実行され得る。たとえば、代替実施形態は、上記で概説したステップ/ブロックを異なる順序で実行し得る。例示のために、ユーザは、第3の動作モードから第1の動作モードに変更すること、第4のモードから第2のモードに変更すること、またはそれらの任意の組合せの間で変更することを選び得る。さらに、ブロック1202は、「第1の対象センサ素子」を参照するが、「第1の」という用語の使用は、図12におけるステップの順序付けを暗示すること意図するものではなく、n番目の対象センサ素子から第1の対象センサ素子を区別するためのラベルとして機能し得ることが理解される。同様に、いくつかの実装形態では、第1の対象センサ素子の隣接センサ素子の完全なセットが第1の対象センサ素子と比較されるまで、ブロック1206で説明したようなプロセスの繰り返しが継続し得ることが可能であり、ブロック1202における比較は、第1の対象センサ素子を第1の対象センサ素子の隣接センサ素子の完全なセットと比較するプロセスの完了をもたらす比較として機能し得る。さらに、図12に示す個々のステップ/ブロックは、個々のステップに適切なように様々なシーケンスで実行され得る複数のサブステップを含み得る。さらに、追加のステップ/ブロックが、具体的な用途に応じて、追加または削除され得る。当業者は、プロセスの多くの変形、修正、および代替を認識し、評価するであろう。
【００５６】
図13Aは、本開示の特定の態様による別の例示的なフローチャートである。プロセス1300(または、本明細書で説明する任意の他のプロセス、もしくはそれらの変形および/もしくは組合せ)のうちのいくつかまたはすべては、回路またはロジックによって実行され得る。回路またはロジックは、ピクセル内回路、周辺回路、専用CV処理ロジック、またはそれらの任意の組合せにおいて実装され得る。いくつかの例では、ロジックのすべてまたは一部は、デジタル回路上で実行され、非一時的コンピュータ可読媒体上に記憶される命令を使用して実現され得る。
【００５７】
ブロック1302では、対象センサ素子などの構成要素は、対象センサ素子に入射する光に基づいてセンサ読取り値を受信し、対象センサ素子は、フォトダイオードを備える。センサ素子は、対象センサ素子に入射する光に基づいてセンサ読取り値を受信するための手段を備えるフォトダイオードを有し得る。一実装形態では、センサ読取り値は、センサ素子への入射光によって生じる電圧読取り値である。別の実装形態では、センサ読取り値は、バッファまたはキャパシタ内の以前に記憶され電圧値からのしきい値を超える電圧の変化である。
【００５８】
対象センサ素子は、センサ素子アレイを形成する複数のセンサ素子から1つであり得る。複数のセンサ素子は、図1に示すセンサ素子アレイの例示と同様に、センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置され得る。
【００５９】
ブロック1304では、計算機構などの構成要素は、現在計算された比較を生成するために、対象センサ素子に関するセンサ読取り値を複数の隣接センサ素子のサブセットの各々からのセンサ読取り値と比較し得る。計算機構は、図14で論じたように、対象センサ素子に関するセンサ読取り値を複数の隣接センサ素子のサブセットの各々からのセンサ読取り値と比較するための手段を提供する比較器を有し得る。複数の隣接センサ素子内のセンサ素子の数は、CVラベルを生成するために必要な比較の数であり得る。さらに、複数の隣接センサ素子のサブセットは、複数の隣接センサ素子よりも小さい。計算機構は、アナログ計算機構であり得、アナログ比較器を含み得、または、計算機構は、デジタル計算機構であり得、センサ読取り値を互いに比較するためのデジタルロジックを含み得る。図15に関連して論じたように、計算機構において、対象センサ素子に関するセンサ読取り値を複数の隣接センサ素子のサブセットの各々からのセンサ読取り値と比較することは、並列計算機構において、複数の対象センサ素子の各々に関するセンサ読取り値を複数の対象センサ素子の各々に隣接するセンサ素子と同時に比較することを含み得る。
【００６０】
ブロック1306では、計算機構などの構成要素は、対象センサ素子とCVラベルを計算するために必要な複数の隣接センサ素子からの残りの隣接センサ素子との間の以前に計算された比較にアクセスし得る。本明細書で使用する場合、残りの隣接センサ素子は、CVラベルを計算するために必要とされるが、隣接センサ素子のサブセット内に含まれない複数の隣接センサ素子を含み得る。一時バッファまたはメモリは、計算機構によってアクセスされる以前に計算された比較に関する値を記憶するための手段を提供し得る。特定の実装形態では、残りの隣接センサ素子に関する取り出されたしきい値の2進補数または2の補数が、CVラベルを生成するために使用され得る。2進補数または2の補数は、大部分の算術において元の数の負数と同様にふるまい、正の数および負の数は、自然な方法で共存し得る。図11A〜図11Hに示すように、残りのセンサ素子に関する計算された比較は、対象センサ素子以外のセンサ素子に関するCVラベルを生成するために実行される。以前に計算された比較は、事前に計算された結果を記憶するバッファから、または、(たとえば、ラッチを介して)他のセンサ素子に対して並列に比較を計算する対応する計算機構から取り出され得るか、またはアクセスされ得る。代替実装形態では、計算機構などの構成要素は、その後、対象センサ素子と、CVラベルを計算するために必要な複数の隣接センサ素子からの残りの隣接センサ素子との間の計算された比較にアクセスし得る。
【００６１】
ブロック1308では、計算機構が複数の隣接センサ素子からの隣接センサ素子のすべてに関する比較を有すると、計算機構は、CVラベルを生成し得る。したがって、計算機構は、現在計算された比較と以前に計算された比較とに基づいて対象センサ素子に関するCVラベルを生成し得、以前に計算された比較は、対象センサ素子以外のセンサ素子に関するCVラベルを計算する間に生成されている。ブロック1306に関連して上述したように、いくつかの実装形態では、計算機構は、現在計算された比較とその後に計算された比較とに基づいて対象センサ素子に関するCVラベルを生成し得、その後に計算された比較は、対象センサ素子以外のセンサ素子に関するCVラベルを計算する間に、現在計算された比較の後に実行される。計算機構は、図14に関連して論じたように、CVラベルを生成するための手段を提供するための、デジタルロジックおよび/またはアナログロジックを有し得る。特定の実装形態では、比較は、図6Cおよび図9Bで説明したように、「1」および「0」の2進のしきい値を使用してさらに分類される。
【００６２】
CVラベルは、特徴を識別子、または、対象センサ素子に比較的近いセンサ読取り値に対する対象センサ素子に関する任意の所与の時点のセンサ読取り値に関連する属性を提供する。対象センサ素子に比較的近いセンサ素子は、隣接センサ素子と呼ばれることがある。本開示の特定の態様では、隣接センサ素子は、対象センサ素子のすぐ隣のセンサ素子を含み得る。本開示の特定の他の態様では、隣接センサ素子は、対象センサ素子に比較的近いが、すぐ隣ではないセンサ素子も含み得る。たとえば、特定の例では、センサの数の幅または高さが64個のセンサ素子であるとき、対象センサ素子から3個のセンサ素子内のセンサ素子は、依然として隣接センサ素子と考えられ得る。本開示の特定の実装形態では、CVラベルは、LBPラベルであり得る。
【００６３】
これらのLBPラベルは、図9A〜図9Cでより詳細に説明したように、ヒストグラムを生成し、特徴を識別するために使用され得る。LBPラベルを生成する特定の実装形態では、対象センサ素子間の8回の計算された比較が、LBPラベルを生成するために必要とされ得る。LBPラベルを生成する特定の実装形態では、対象センサ素子に関するLBPラベルを生成するための対象センサ素子以外のセンサ素子に関するLBPラベルを生成する間に、少なくとも4回の比較が事前に計算される。
【００６４】
しかしながら、本開示の範囲から逸脱することなく、LBPラベル、またはLBPラベルと同様のラベルを生成することのいくつかの異なる変形が実施され得る。たとえば、ラベルを生成する特定の実装形態は、ラベルを生成する際に対象センサ素子と隣接する基準素子との間で8回よりも多いまたは8回よりも少ない比較を使用し得る。さらに、特定の実装形態では、ラベルは、すぐ隣の隣接センサ素子、数センサ素子離れた隣接センサ素子、またはそれらの任意の組合せである隣接センサ素子を使用して生成され得る。
【００６５】
図13Aに示す特定のステップは、一実施形態による、コンピュータビジョン特徴またはラベルを計算または生成する特定の方法を提供することが理解されるべきである。代替実施形態では、ステップの他のシーケンスも実行され得る。たとえば、代替の実施形態は、上記で概説したステップ/ブロックを異なる順序で実行し得る。説明するために、ユーザは、第3の動作モードから第1の動作モードへの変更、第4のモードから第2のモードへの変更、またはそれらの間の任意の組合せを選択し得る。さらに、図13Aに示す個々のステップ/ブロックは、個々のステップに適切なように様々なシーケンスで実行され得る複数のサブステップを含み得る。さらに、追加のステップ/ブロックは、特定のアプリケーションに応じて追加または除去され得る。当業者は、プロセスの多くの変形、修正、および代替を認識し、評価するであろう。
【００６６】
図13Bは、本開示の特定の態様による別の例示的なフローチャートである。プロセス1301(または、本明細書で説明する任意の他のプロセス、もしくはその変形および/もしくは組合せ)のうちのいくつかまたはすべては、回路またはロジックによって実行され得る。回路またはロジックは、ピクセル内回路、周辺回路、専用CV処理ロジック、またはそれらの任意の組合せにおいて実装され得る。いくつかの例では、ロジックのすべてまたは一部は、命令を使用して実装され得、デジタル回路上で実行され得、非一時的コンピュータ可読媒体上に記憶され得る。
【００６７】
ブロック1310では、センサは、対象センサ素子または対象センサ素子のブロックに関するセンサ読取り値を受信する。対象センサ素子は、感知素子としてフォトダイオードを有し得る。センサ読取り値は、フォトダイオードを使用して光を検出することを含み得る。一実装形態では、センサ読取り値は、センサ素子への入射光によって生じる電圧読取り値である。別の実装形態では、センサ読取り値は、バッファまたはキャパシタ内の以前に記憶された電圧値からしきい値を超えた電圧の変化である。
【００６８】
ブロック1312では、構成要素は、現在の計算された比較を生成するために、センサ読取り値を複数の隣接センサ素子のサブセットの各々からのセンサ読取り値と比較する。複数の隣接センサ素子のサブセットは、複数の隣接センサ素子よりも小さい。
【００６９】
ブロック1314では、構成要素は、対象センサ素子と残りの隣接センサ素子との間の以前に計算された比較にアクセスする。図11A〜図11Hに示すように、残りのセンサ素子に関する以前に計算された比較は、対象センサ素子以外のセンサ素子に関するCVラベルを生成する間に計算される。以前に計算された比較は、事前に計算された結果を記憶するバッファから、または、(たとえば、ラッチを介して)他のセンサ素子に対して並列に比較を計算する対応する計算機構から取り出され得るか、またはアクセスされ得る。
【００７０】
ブロック1316では、構成要素は、対象センサ素子または対象センサ素子のブロックに関するCVラベルを生成する。CVラベルは、本明細書の他の場所で開示されているように、現在の比較と以前に計算された比較とに基づいて生成され得る。
【００７１】
CVラベルは、特徴を識別し、または、対象センサ素子に比較的近いセンサ読取り値に対する対象センサ素子に関する任意の所与の時点のセンサ読取り値に関連する属性を提供する。対象センサ素子に比較的近いセンサ素子は、隣接センサ素子と呼ばれることがある。
【００７２】
図13Bに示す特定のステップは、一実施形態による、コンピュータビジョン特徴またはラベルを計算または生成する特定の方法を提供することが理解されるべきである。代替実施形態では、ステップの他のシーケンスも実行され得る。たとえば、代替実施形態は、上記で概説したステップ/ブロックを異なる順序で実行し得る。説明するために、ユーザは、第3の動作モードから第1の動作モードへの変更、第4のモードから第2のモードへの変更、またはそれらの間の任意の組合せを選択し得る。さらに、図13Bに示す個々のステップ/ブロックは、個々のステップに適切なように様々なシーケンスで実行され得る複数のサブステップを含み得る。さらに、追加のステップ/ブロックは、特定のアプリケーションに応じて追加または除去され得る。当業者は、プロセスの多くの変形、修正、および代替を認識し、評価するであろう。
【００７３】
図14は、本開示の特定の態様による動作を実行するための例示的なピクセル内回路または周辺回路を示す。たとえば、図9に示すマルチプレクサは、図10A〜図10Bおよび図11A〜図11Hで以前に説明したように、中央センサ素子読取り値に対して比較するために、一度に4つの異なる隣接センサ素子読取り値からの値を選択するように構成され得る。比較器(「comp」)の例示的な実装形態が図17中に示されている。図示されているように、図14は、アナログ領域における比較に関する例を提供するが、隣接ピクセル間の比較は、デジタル領域において行われ得ることが理解される。そのような実装形態では、図14に示す回路は、アナログ-デジタル変換回路(図示せず)を含み得ることが理解される。さらに、比較がアナログ領域で行われるか、またはデジタル領域で行われるかにかかわらず、周辺回路の実装形態では、回路および/または機能ブロック(図示せず)は、Vpxと比較器Compとの間、ならびに、隣接セルからのVpxとマルチプレクサ1402との間に挿入され得ることが理解される。
【００７４】
図15は、時間φ1、φ2、φ3、およびφ4における9つのセンサ素子読取り値のグリッドに対して実行された例示的な比較を示す。1つの実例では、いくつかの対象センサ素子に関する比較は、並列に実行され得、たとえば、所与の行内のすべてのピクセル素子に関する比較は、所与の行内のすべてのピクセル素子が各々同時に対象センサ素子となるように、並列に比較され得る。9つのセンサ素子読取り値の上部の4つのグリッドは、センサ素子値を示し、下部の4つのグリッドは、時間φ1、φ2、φ3、およびφ4の各々において生成された異なる対象センサ素子に関するLBPしきい値を示し、ここで、時間の各々において、複数の対象センサ素子の各々は、その隣接センサ素子のうちの1つ(または、φ4の場合では2つ)と同時に比較される。図15では、Xは、比較対象隣接センサ素子が簡略化のために9個のセンサ素子の図示のグリッド内に示されていないため、比較値が未知であるピクセル内に配置される。図15中の二重矢印は、任意の2個のセンサ素子間で比較が1回のみ実行されたことを示す。記憶された比較の2の補数は、比較が現在計算された比較であるかまたは以前に計算された比較であるかに応じて使用される。
【００７５】
図11A〜図11Dで以前に論じたように、図15は、短縮された時間の期間内にCV特徴を生成するための減少された数の比較を実行することをさらに示す。二重化および並列ハードウェアを使用して、いくつかの比較は、同じくロック期間中に並列に実行され得る。したがって、以下に説明するように、複数の並列計算機構は、複数の対象センサ素子の各々に関連する値を、複数の対象センサ素子の各々に隣接するセンサ素子に関連する値と同時に比較するように構成され得る。たとえば、図15中のR1などの行全体におけるすべてのピクセルの隣接ピクセルのサブセットに関する比較は、適切なハードウェアを用いて数サイクル内に評価され得る。例として、現在評価されている行としてR1をとると、R1内のすべてのピクセルと、下の行R2内だが、右へ1列内に位置するすべてのピクセルとの間の比較(行-列表記を使用して、すなわち、センサ素子R1Cjに関連する値がセンサ素子R2Cj+1に関連する値と比較され、ここで、図示の3×3グリッドに関して、j=1,2,および3)は、第1のクロックサイクル(φ1)内にすべて実行され得、R1内のすべてのセンサ素子と、下の行R2内だが、同じ列内に位置するすべてのセンサ素子との間の比較(すなわち、センサ素子R1Cjに関連する値がセンサ素子R2Cjに関連する値と比較される)は、第2のクロックサイクル(φ2)内にすべて実行され、R1内のすべてのセンサ素子と、下の行内だが、左へ1列内に位置するすべてのセンサ素子との間の比較(すなわち、センサ素子R1Cjに関連する値がセンサ素子R2Cj-1に関連する値と比較される)は、第3のクロックサイクル(φ3)においてすべて実行される。最後に、第4のクロックサイクル(φ4)では、R1内のピクセルと、同じ行R1内に位置する隣接ピクセルとの間の比較(すなわち、センサ素子R1Cjに関連する値がセンサ素子R1Cj-1およびR1Cj+1に関連する値と比較される)が実行され得る。したがって、この例では、4サイクル以内に、行内のすべてのセンサ素子のセンサ読取り値を、行内のセンサ素子の各々に隣接する複数のセンサ素子のサブセットの各々からのセンサ読取り値と比較することによって、対象センサ素子の行全体の評価が実行され得る。図示のように、φ1において、対象センサ素子R1C1とR2C2を比較するためのLBPしきい値は、「0」である。R2C2が対象センサ素子になると、たとえば、行R2内のすべてのピクセルが、ここで示したもののような後続の4サイクルにおいて評価されたとき、R2C2のR1C1との比較は、再現されず、比較を再び実行または計算することなく、「1」の2進補数がしきい値として使用され得る。同様に、φ1では、対象センサ素子R1C2をR2C3と比較するためのLBPしきい値も、図示のように「0」である。R2C3が対象センサ素子になると、この比較も繰り返されない。むしろ、行R2内の対象センサ素子に関するLBPラベルが計算されると、これらの比較結果は、以前に計算された比較として使用され得る。φ2では、対象センサ素子R1C1、R1C2、およびR1C3をそれらの隣接センサ素子R2C1、R2C2、およびR2C3と比較するためのLBPしきい値は、それぞれ、「1」。「0」。および「0」としてすべて示されている。φ3では、対象センサ素子R1C2およびR1C3をそれらの隣接センサ素子R2C1およびR2C2と比較するためのLBPしきい値は、それぞれ、「1」および「0」として示されている。最後に、φ4では、対象センサ素子R1C2をその2つのR1隣接センサ素子R1C1およびR1C3と比較するためのLBPしきい値は、「0」として示されている。対象センサ素子としてR1C1をとると、別の比較を実行することなく、2進補数「1」は、R1C1をそのR1隣接センサ素子R1C2と比較するLBPしきい値のために使用され得る。このようにして、φ4によって、R1内のすべてのセンサ素子に関するLBPラベルの計算は、ここで可能である。行R1内のセンサ素子と上の行内のそれらの隣接センサ素子との間の比較に基づくLBPラベルの部分について、(適切な場合は2進補数をとって)以前の行を評価したときに実行された以前の計算された比較が使用され得る。したがって、一般に、行内のすべてのセンサ素子に関するLBPラベルは、時間φ1、φ2、φ3、およびφ4における上記で例示した比較と同様の現在の行の評価からの現在計算された比較とともに、時間φ1、φ2、およびφ3における上記で示した比較と同様の以前の行の評価からの以前に計算された比較を使用して計算され得る。
【００７６】
図16は、φ1、φ2、φ3、およびφ4に関する4つの連続するクロックサイクルを表す。図15に示すように、いくつかの例では、任意の所与の行に関する隣接センサ素子のサブセットとの比較に基づいてしきい値を生成するための比較は、4クロックサイクルにおいて完了され得る。4つのクロックサイクルの各々の間、行全体におけるセルは、行ごとに同時に比較される。各読出しについて、しきい値は、スタティックランダムアクセスメモリ(SRAM)などの一時メモリに記憶され得る。いくつかの実装形態では、SRAMからの値を再使用することは、記憶された値の2の補数を計算することが必要である可能性があり、φ4の後の追加のクロックサイクルを必要とする可能性がある。
【００７７】
1つまたは複数の態様によれば、本明細書の図1〜図16において説明した方法および/または方法ステップのいずれかおよび/またはすべては、光センサ装置などのセンサ装置によっておよび/またはセンサ装置内で実施され得る。いくつかの実施形態では、センサ素子アレイは、光センサ素子アレイであり、センサ素子の各々は、フォトダイオードを備える。一実施形態では、論じた方法ステップのうちの1つまたは複数は、ピクセル内回路および/または周辺回路などの、センサ装置の感知素子および処理ロジックによって実施され得る。加えて、または代替的には、本明細書で説明した方法および/または方法ステップのいずれかおよび/またはすべては、メモリ、ストレージ、または別のコンピュータ可読媒体などのコンピュータ可読媒体上に記憶されたコンピュータ可読命令などのコンピュータ可読命令において実装され得る。
【００７８】
図17は、本発明の実装形態を実施する際に用いられるデバイスおよびセンサ100の一部を組み込む例示的なコンピューティングデバイスを示す。たとえば、コンピューティングデバイス1700は、モバイルデバイスまたは任意の他のコンピューティングデバイスの構成要素のうちのいくつかを表し得る。コンピューティングデバイス1700の例には、限定はされないが、デスクトップ、ワークステーション、パーソナルコンピュータ、スーパーコンピュータ、ビデオゲーム機、タブレット、スマートフォン、ラップトップ、ネットブック、または他のポータブルデバイスがある。図17は、本明細書で説明する様々な他の実施形態によって提供される方法を実行することができ、かつ/または、ホストコンピューティングデバイス、リモートキオスク/端末、販売時点デバイス、モバイル多機能デバイス、セットトップボックスおよび/もしくはコンピューティングデバイスとして機能することができる、コンピューティングデバイス1700の一実施形態の概略図を提供する。図17は、種々の構成要素の一般化された図を提供することのみを意図しており、必要に応じて、そのいずれか、またはすべてが利用される場合がある。図17は、したがって、個々のシステム要素がどのように比較的分離されたまたは比較的統合された方法で実施され得るのかを広く例示する。
【００７９】
バス1705を介して電気的に結合され得る(または適宜別様に通信し得る)ハードウェア要素を備える、コンピューティングデバイス1700が示されている。ハードウェア要素は、限定はしないが、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の専用プロセッサ(デジタル信号処理チップ、グラフィックスアクセラレーションプロセッサ、など)を含む1つまたは複数のプロセッサ1710と、限定はしないが、1つもしくは複数のカメラセンサ1750、マウス、キーボードなどを含み得る1つまたは複数の入力デバイス1715と、限定はしないが、ディスプレイユニット、プリンタなどの1つまたは複数の出力デバイス1720とを含み得る。センサ1750は、光センサ、嗅覚センサ、および/または化学センサを含み得る。例示的なセンサ100は、図1で説明されている。特定の態様では、フレームベースのセンサおよび/またはイベントベースのセンサは、コンピューティングデバイス1700に組み込まれ得る。本開示の態様は、これらのセンサ1750を使用してコンピュータビジョン特徴を効率的に計算するための方法を提供する。
【００８０】
コンピューティングデバイス1700は、1つまたは複数の非一時的記憶デバイス1725をさらに含む(かつ/またはそれと通信する)ことができ、非一時的記憶デバイス1725は、限定はしないが、ローカルストレージおよび/もしくはネットワークアクセス可能なストレージを備えることができ、ならびに/または、限定はしないが、プログラム可能、フラッシュ更新可能などであり得る、ディスクドライブ、ドライブアレイ、光記憶デバイス、ランダムアクセスメモリ(「RAM」)および/もしくは読取り専用メモリ(「ROM」)などのソリッドフォーム記憶デバイスを含むことができる。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む任意の適切なデータ記憶装置を実装するように構成され得る。
【００８１】
コンピューティングデバイス1700はまた、通信サブシステム1730を含み得る。通信サブシステム1730は、データを受信し送信するための送受信機、または、有線媒体および/もしくはワイヤレス媒体を含み得る。通信サブシステム1730はまた、限定はしないが、モデム、ネットワークカード(ワイヤレスまたはワイヤード)、赤外線通信デバイス、ワイヤレス通信デバイスおよび/またはチップセット(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備など)などを含み得る。通信サブシステム1730は、ネットワーク(一例を挙げると、以下で説明するネットワークなど)、他のコンピューティングデバイス、および/または本明細書で説明する任意の他のデバイスとデータを交換することを可能にしてもよい。多くの実施形態では、コンピューティングデバイス1700は、上記で説明したように、RAMデバイスまたはROMデバイスを含み得る非一時的作業メモリ1735をさらに備えることになる。
【００８２】
コンピューティングデバイス1700は、オペレーティングシステム1740、デバイスドライバ、実行可能ライブラリ、および/または、1つもしくは複数のアプリケーションプログラム1745などの他のコードを含む、作業メモリ1735内に現在配置されているように図示されている、ソフトウェア要素を備えることができ、1つまたは複数のアプリケーションプログラム1745は、本明細書で説明するように、様々な実施形態によって提供されるコンピュータプログラムを含んでよく、ならびに/または、他の実施形態によって提供される方法を実施し、かつ/もしくはシステムを構成するように設計され得る。単なる例として、上記で説明した方法に関して説明する1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装され得、次いで、一態様では、そのようなコードおよび/または命令は、説明した方法に従って1つまたは複数の動作を実行するために、汎用コンピュータ(または他のデバイス)を構成し、かつ/または適応させるために使用され得る。
【００８３】
これらの命令および/またはコードのセットは、上記で説明した記憶デバイス1725などのコンピュータ可読記憶媒体上に記憶され得る。場合によっては、記憶媒体は、コンピューティングデバイス1700などのコンピューティングデバイス内に組み込まれ得る。他の実施形態では、記憶媒体に記憶されている命令/コードによって汎用コンピュータをプログラムし、構成し、かつ/または適応させるために記憶媒体が使用され得るように、記憶媒体は、コンピューティングデバイスから分離され(たとえば、コンパクトディスクのようなリムーバブル媒体)、かつ/またはインストールパッケージにおいて提供され得る。これらの命令は、コンピューティングデバイス1700によって実行可能である、実行可能コードの形をとることができ、ならびに/または(たとえば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/展開ユーティリティなどのいずれかを使用した)コンピューティングデバイス1700上でのコンパイルおよび/もしくはインストール時に、次いで実行可能コードの形をとるソースコードおよび/もしくはインストール可能コードの形をとることができる。
【００８４】
特定の要件に応じて、大幅な変更が行われ得る。たとえば、カスタマイズされたハードウェアも使用され得、および/または、特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、またはその両方で実装され得る。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスとの接続が用いられ得る。
【００８５】
いくつかの実施形態は、本開示による方法を実行するためにコンピューティングデバイス(コンピューティングデバイス1700など)を用い得る。たとえば、説明した方法の手順のうちのいくつかまたはすべては、作業メモリ1735内に含まれる(オペレーティングシステム1740、および/または1つもしくは複数のアプリケーションプログラム1745などの他のコード内に組み込まれ得る)1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ1710に応答してコンピューティングデバイス1700によって実行され得る。そのような命令は、1つまたは複数の記憶デバイス1725などの別のコンピュータ可読媒体から作業メモリ1735内に読み込まれ得る。単なる例として、ワーキングメモリ1735に含まれる命令のシーケンスの実行は、プロセッサ1710に、本明細書で説明する方法の1つまたは複数の手順を実行させる場合がある。
【００８６】
本明細書で使用される「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の様式で動作させるデータを提供することに関与する任意の媒体を指す。コンピューティングデバイス1700を使用して実装される実施形態では、様々なコンピュータ可読媒体が、実行するためにプロセッサ1710に命令/コードを提供する際に必要とされることがあり、ならびに/または、そのような命令/コードを(たとえば、信号として)記憶および/または搬送するために使用され得る。多くの実装形態では、コンピュータ可読媒体は、物理的および/または有形の記憶媒体である。そのような媒体は、限定はしないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む多くの形態をとり得る。不揮発性媒体は、たとえば、記憶デバイス1725などの光ディスクおよび/または磁気ディスクを含む。揮発性媒体は、限定はしないが、作業メモリ1735などのダイナミックメモリを含む。伝送媒体は、限定はしないが、バス1705、ならびに通信サブシステム1730の種々の構成要素(および/または通信サブシステム1730が他のデバイスとの通信を提供する媒体)を含む電線を含む、同軸ケーブル、銅線、および光ファイバーを含む。したがって、伝送媒体はまた、(限定はしないが、無線データ通信および赤外線データ通信中に生成されるものなどの、電波、音波、および/または光波を含む)波の形態をとり得る。代替実施形態では、カメラなどのイベント駆動型構成要素およびデバイスが使用されてもよく、その場合、処理の一部がアナログドメインにおいて実行されてもよい。
【００８７】
物理的および/または有形のコンピュータ可読媒体の一般的な形態は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、コンパクトディスク読出し専用メモリ(CD-ROM)、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、ランダムアクセスメモリ(RAM)、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、フラッシュEPROM、任意の他のメモリチップもしくはカートリッジ、以下で説明する搬送波、または、コンピュータが命令および/もしくはコードを読み取り得る任意の他の媒体を含む。
【００８８】
実行するためにプロセッサ1710に1つまたは複数の命令の1つまたは複数のシーケンスを搬送する際に、コンピュータ可読媒体の様々な形態が関与し得る。単なる例として、命令は、最初にリモートコンピュータの磁気ディスクおよび/または光ディスク上に担持され得る。リモートコンピュータは、命令をそのダイナミックメモリ内にロードし得、コンピューティングデバイス1700によって受信および/または実行されるように、伝送媒体を介して信号として命令を送り得る。電磁信号、音響信号、光信号などの形をとり得るこれらの信号はすべて、本発明の様々な実施形態による、命令が符号化され得る搬送波の例である。
【００８９】
通信サブシステム1730(および/またはその構成要素)は、一般に、信号を受信することになり、バス1705は、次いで、作業メモリ1735に信号(および/または、信号によって搬送されるデータ、命令など)を搬送し得、プロセッサ1710は、作業メモリ1735から命令を取り出し、実行する。作業メモリ1735によって受信された命令は、オプションで、プロセッサ1710による実行の前または後のいずれかに、非一時的記憶デバイス1725上に記憶され得る。
【００９０】
上記で論じた方法、システム、およびデバイスは、例である。種々の実施形態は、必要に応じて、種々の手順または構成要素を省略、置換、または追加することができる。たとえば、代替の構成では、説明される方法は、説明される順序とは異なる順序で実施される場合があり、かつ/または、種々のステージの追加、省略、および/もしくは組合せが行われる場合がある。さらに、特定の実施形態に関して説明された特徴は、種々の他の実施形態において組み合わせることができる。実施形態の異なる態様および要素は、同じように組み合わせることができる。また、技術は発展するので、要素のうちの多くは、本開示の範囲をそれらの具体例に限定しない例である。
【００９１】
特定の詳細は、実施形態の完全な理解を提供するために、明細書本文で与えられる。しかしながら、実施形態は、これらの具体的な詳細を伴わずに実践することができる。たとえば、実施形態を不明瞭することを避けるために、周知の回路、プロセス、アルゴリズム、構造、および技法は、無用に詳述することなく示されている。この明細書本文は、例示的な実施形態のみを提供し、本発明の範囲、適用性、または構成を限定するものではない。むしろ、実施形態のこれらの説明は、本発明の実施形態を実施することを可能にする説明を当業者に与える。本発明の趣旨および範囲から逸脱することなく、要素の機能および構成に種々の変更を加えることができる。
【００９２】
また、いくつかの実施形態は、フロー図またはブロック図として示されたプロセスとして説明されている。各々が、動作について順次プロセスとして説明することがあるが、動作の多くは、並行にまたは同時に実行され得る。加えて、動作の順序は、並べ替えられ得る。プロセスは、図に含まれていない追加のステップを有し得る。さらに、方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実施され得る。関連するタスクを実施するためのプログラムコードまたはコードセグメントは、ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実現されるときには、ストレージ媒体などのコンピュータ可読媒体に記憶されてもよい。プロセッサは、関連するタスクを実施してもよい。
【００９３】
いくつかの実施形態を説明してきたが、本開示の要旨から逸脱することなく、様々な変更、代替構成、および等価物が使用され得る。たとえば、上記の要素は、単により大きいシステムの構成要素であってもよく、他のルールが本発明の適用例よりも優先するか、そうでなければ本発明の適用例を修正してもよい。また、上記の要素が考慮される前、途中、または後に、いくつかのステップが行われ得る。したがって、上記の説明は本開示の範囲を限定しない。
【符号の説明】
【００９４】
100  センサ
102  センサ素子
103  センサ素子ブロック
104a、104b、104c、104d、104e、104f、104g、104h  センサ素子ブロック
200  ピクセル
202  センサ素子
204  ピクセル内回路
302  センサ素子アレイ
304  周辺回路
306  周辺回路
400  センサ装置
402  センサ
404  コンピュータビジョン計算ハードウェア
406  専用マイクロプロセッサ
408  アプリケーションプロセッサ
410  センサワイヤレスモジュール、中間ワイヤレスモジュール
412  アプリケーションプロセッサワイヤレスモジュール
500  サブ部分
502  ウィンドウ
504  センサ素子、中央センサ素子
702  対象センサ素子
704  隣接センサ素子
1200  プロセス
1301  プロセス
1402  マルチプレクサ
1700  コンピューティングデバイス
1705  バス
1710  プロセッサ
1715  入力デバイス
1720  出力デバイス
1725  非一時的記憶デバイス
1730  通信サブシステム
1735  作業メモリ
1740  オペレーティングシステム
1745  アプリケーションプログラム
1750  カメラセンサ、センサ
【図１】
2017535846.tif 000003
【図２】
2017535846.tif 000004
【図３】
2017535846.tif 000005
【図４Ａ】
2017535846.tif 000006
【図４Ｂ】
2017535846.tif 000007
【図５】
2017535846.tif 000008
【図６Ａ】
2017535846.tif 000009
【図６Ｂ】
2017535846.tif 000010
【図６Ｃ】
2017535846.tif 000011
【図７】
2017535846.tif 000012
【図８】
2017535846.tif 000013
【図９Ａ−９Ｃ】
2017535846.tif 000014
【図１０Ａ】
2017535846.tif 000015
【図１０Ｂ】
2017535846.tif 000016
【図１１Ａ−１１Ｄ】
2017535846.tif 000017
【図１１Ｅ−１１Ｈ】
2017535846.tif 000018
【図１２】
2017535846.tif 000019
【図１３Ａ】
2017535846.tif 000020
【図１３Ｂ】
2017535846.tif 000021
【図１４】
2017535846.tif 000022
【図１５】
2017535846.tif 000023
【図１６】
2017535846.tif 000024
【図１７】
2017535846.tif 000025
【手続補正書】
【提出日】平成29年4月3日(2017.4.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
センサ読取り値に基づいて計算結果を生成するための装置であって、
複数のセンサ素子を備えるセンサ素子アレイであって、前記複数のセンサ素子が、前記センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置され、前記複数のセンサ素子の各々が、前記センサ素子に入射する光に基づいてセンサ読取り値を生成することが可能である、センサ素子アレイと、
前記複数のセンサ素子からの対象センサ素子に関するコンピュータビジョン(CV)ラベルを計算するとき、前記対象センサ素子に関する前記センサ読取り値の、前記対象センサ素子に対する複数の隣接センサ素子のサブセットの各々の前記センサ読取り値との比較のみを実行することによって、前記対象センサ素子に関する前記CVラベルを生成するように構成された少なくとも1つの計算機構であって、前記複数の隣接センサ素子が、前記対象センサ素子に隣接しており、前記対象センサ素子に関する前記CVラベルを生成するために必要とされ、前記サブセットが、前記CVラベルを生成するために必要な前記複数の隣接センサ素子よりも小さい、少なくとも1つの計算機構と
を備える、装置。
【請求項２】
前記対象センサ素子に関する前記CVラベルが、ローカルバイナリパターン(LBP)ラベルである、請求項1に記載の装置。
【請求項３】
前記対象センサ素子に関する前記センサ読取り値と前記隣接センサ素子に関するセンサ読取り値との間で計算される8回の比較が、前記LBPラベルを生成するために必要とされる、請求項2に記載の装置。
【請求項４】
前記対象センサ素子に関する前記センサ読取り値の、前記対象センサ素子に関する前記LBPラベルを生成する際に使用される前記隣接センサ素子に関する前記センサ読取り値との少なくとも4回の比較が、前記対象センサ素子以外のセンサ素子に関するLBPラベルを生成する間に計算される、請求項3に記載の装置。
【請求項５】
前記対象センサ素子に対する前記隣接センサ素子が、前記対象センサ素子のすぐ隣のセンサ素子である、請求項1に記載の装置。
【請求項６】
前記センサ素子アレイが、ピクセルのアレイを備え、各ピクセルが、前記センサ素子とピクセル内回路とを備え、前記少なくとも1つの計算機構が、前記センサ素子に結合されたピクセル内回路の一部である、請求項1に記載の装置。
【請求項７】
前記少なくとも1つの計算機構が、前記センサ素子アレイに結合され、前記対象センサ素子と前記複数の隣接センサ素子とを含む前記複数のセンサ素子からの出力を受信するように構成された周辺回路の一部である、請求項1に記載の装置。
【請求項８】
前記計算機構が、
前記対象センサ素子に対する前記それぞれの隣接センサ素子に関する前記しきい値を決定するために前記対象センサ素子からの前記センサ読取り値を前記複数の隣接センサ素子の前記サブセットからのセンサ読取り値と比較し、
前記CVラベルを生成するために必要な前記対象センサ素子に対する残りの隣接センサ素子のために生成されたしきい値を取得するように構成された1つまたは複数の比較器を備え、前記残りの隣接センサ素子に関する前記しきい値が、それぞれ、前記対象センサ素子以外のセンサ素子に関する前記CVラベルを決定するために生成された、請求項1に記載の装置。
【請求項９】
前記複数の隣接センサ素子の前記残りの隣接センサ素子に関する前記取得されたしきい値に関するバイナリ補数が、前記CVラベルを生成するために使用される、請求項8に記載の装置。
【請求項１０】
前記センサ素子アレイが、ビジョンセンサであり、前記センサ素子の各々が、フォトダイオードを備える、請求項1に記載の装置。
【請求項１１】
前記少なくとも1つの計算機構が、複数の対象センサ素子の各々に関する前記センサ読取り値を、前記複数の対象センサ素子の各々と隣接するセンサ素子と同時に比較するように構成された複数の並列計算機構を備える、請求項1に記載の装置。
【請求項１２】
前記対象センサ素子に関する前記CVラベルが、CVアプリケーションに関する特徴を検出するために生成される、請求項1に記載の装置。
【請求項１３】
前記少なくとも1つの計算機構が、デジタル計算機構である、請求項1に記載の装置。
【請求項１４】
センサ読取り値に基づいて計算結果を生成するための方法であって、
センサ素子アレイを形成する複数のセンサ素子からの対象センサ素子に入射する光に基づいてセンサ読取り値を受信するステップであって、前記複数のセンサ素子が、前記センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置された、ステップと、
計算機構において、現在計算された比較を生成するために、前記対象センサ素子に関する前記センサ読取り値を、前記対象センサ素子に対する複数の隣接センサ素子のサブセットのみの各々のセンサ読取り値と比較するステップであって、前記複数の隣接センサ素子が、前記対象センサ素子に隣接し、前記対象センサ素子に関するCVラベルを生成するために必要とされ、前記サブセットが、前記CVラベルを生成するために必要な前記複数の隣接センサ素子よりも小さい、ステップと、
1つまたは複数のバッファから、前記対象センサ素子と前記CVラベルを計算するために必要な前記複数の隣接センサ素子からの残りの隣接センサ素子との間の以前に計算された比較にアクセスするステップであって、前記残りのセンサ素子に関する前記以前に計算された比較が、前記対象センサ素子以外のセンサ素子に関するCVラベルを生成するために実行される、ステップと、
前記計算機構において、前記現在計算された比較と前記以前に計算された比較とを使用することによって前記対象センサ素子に関する前記CVラベルを生成するステップと
を備える方法。
【請求項１５】
前記対象センサ素子に関する前記CVラベルが、ローカルバイナリパターン(LBP)ラベルである、請求項14に記載の方法。
【請求項１６】
前記対象センサ素子と前記隣接センサ素子との間で計算される8回の比較が、前記LBPラベルを生成するために必要とされる、請求項15に記載の方法。
【請求項１７】
前記対象センサ素子の、前記対象センサ素子に関する前記LBPラベルを生成する際に使用される前記隣接センサ素子との少なくとも4回の比較が、前記対象センサ素子以外のセンサ素子に関するLBPラベルを生成する間に計算される、請求項16に記載の方法。
【請求項１８】
前記対象センサ素子に対する前記複数の隣接センサ素子が、前記対象センサ素子のすぐ隣のセンサ素子である、請求項14に記載の方法。
【請求項１９】
前記センサ素子アレイが、ピクセルのアレイを備え、各ピクセルが、前記センサ素子とピクセル内回路とを備え、前記計算機構が、前記センサ素子に結合された前記ピクセル内回路の一部である、請求項14に記載の方法。
【請求項２０】
前記計算機構が、前記センサ素子アレイに結合された周辺回路の一部である、請求項14に記載の方法。
【請求項２１】
前記センサ素子アレイが、ビジョンセンサであり、前記複数のセンサ素子の各々が、フォトダイオードを備える、請求項14に記載の方法。
【請求項２２】
計算機構において、前記対象センサ素子に関する前記センサ読取り値を前記複数の隣接センサ素子の前記サブセットのみの各々の前記センサ読取り値と比較するステップが、並列計算機構において、複数の対象センサ素子の各々に関する前記センサ読取り値を、前記複数の対象センサ素子の各々と隣接するセンサ素子と同時に比較するステップを備える、請求項14に記載の方法。
【請求項２３】
前記複数のセンサ素子の各々に関するCVラベルが、CVアプリケーションに関する特徴を検出するために生成される、請求項14に記載の方法。
【請求項２４】
前記少なくとも1つの計算機構が、デジタル計算機構である、請求項14に記載の方法。
【請求項２５】
センサ読取り値に基づいて計算結果を生成するための装置であって、
センサ素子アレイを形成する複数のセンサ素子からの対象センサ素子に入射する光に基づいてセンサ読取り値を受信するための手段であって、前記複数のセンサ素子が、前記センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置された、手段と、
計算機構において、前記対象センサ素子に関する前記センサ読取り値を、前記対象センサ素子に対する複数の隣接センサ素子のサブセットのみの各々のセンサ読取り値と比較するための手段であって、前記複数の隣接センサ素子が、前記対象センサ素子に隣接しており、前記対象センサ素子に関するCVラベルを生成するために必要とされ、前記サブセットが、前記CVラベルを生成するために必要な前記複数の隣接センサ素子よりも小さい、手段と、
前記対象センサ素子と前記CVラベルを計算するために必要な前記複数の隣接センサ素子からの残りの隣接センサ素子との間の以前に計算された比較にアクセスするための手段であって、前記残りのセンサ素子に関する前記以前に計算された比較が、前記対象センサ素子以外のセンサ素子に関するCVラベルを生成するために実行される、手段と、
前記現在計算された比較と前記以前に計算された比較とを使用することによって前記対象センサ素子に関する前記CVラベルを生成するための手段と
を備える装置。
【請求項２６】
前記対象センサ素子に関する前記CVラベルが、ローカルバイナリパターン(LBP)ラベルである、請求項25に記載の装置。
【請求項２７】
前記対象センサ素子の、前記対象センサ素子に関する前記LBPラベルを生成する際に使用される前記隣接センサ素子との少なくとも4回の比較が、前記対象センサ素子以外のセンサ素子に関するLBPラベルを生成する間に計算される、請求項26に記載の装置。
【請求項２８】
前記対象センサ素子に対する前記複数の隣接センサ素子が、前記対象センサ素子のすぐ隣のセンサ素子である、請求項25に記載の装置。
【請求項２９】
非一時的コンピュータ可読記憶媒体であって、
センサ素子アレイを形成する複数のセンサ素子からの対象センサ素子に入射する光に基づいてセンサ読取り値を受信することであって、前記複数のセンサ素子が、前記センサ素子アレイの少なくとも第1の寸法および第2の寸法に沿って配置された、受信することと、
計算機構において、現在計算された比較を生成するために、前記対象センサ素子に関する前記センサ読取り値を、前記対象センサ素子に対する複数の隣接センサ素子のサブセットのみの各々のセンサ読取り値と比較することであって、前記複数の隣接センサ素子が、前記対象センサ素子に隣接しており、前記対象センサ素子に関するCVラベルを生成するために必要とされ、前記サブセットが、前記CVラベルを生成するために必要な前記複数の隣接センサ素子よりも小さい、比較することと、
前記対象センサ素子と前記CVラベルを計算するために必要な前記複数の隣接センサ素子からの残りの隣接センサ素子との間の以前に計算された比較にアクセスすることであって、前記残りのセンサ素子に関する前記以前に計算された比較が、前記対象センサ素子以外のセンサ素子に関するCVラベルを生成するために実行される、アクセスすることと、
前記現在計算された比較と前記以前に計算された比較とを使用することによって前記対象センサ素子に関する前記CVラベルを生成することと
を行うためにプロセッサによって実行可能な命令を備える非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記対象センサ素子に関する前記CVラベルが、ローカルバイナリパターン(LBP)ラベルである、請求項29に記載の非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2017535846.tif 000026
2017535846.tif 000027
2017535846.tif 000028