(57)【要約】      （修正有）【課題】イベントベースのビジョンセンサを使用した低電力で常時オンの顔の検出、追跡、認識および／または分析を提供する。【解決手段】カメラのビューの中の対象物、物体、およびシーンを検出し、追跡し、認識し、かつ／または分析する目的の、専用のコンピュータビジョン（ＣＶ）計算ハードウェアおよび専用の低電力プロセッサと統合する、ビジョンセンサを利用する特殊用途のカメラであって、ビジョンセンサは、必要とされるときだけ又はアプリケーションによって定義され構成されるように、含まれている低電力マイクロプロセッサを使用してカメラから取り出された情報を処理し、メインプロセッサに対するイベントを送信する。【効果】これにより、汎用マイクロプロセッサは、従来のように大半の時間において低電力状態（たとえば、スリープモード）にとどまりながら、イベントがビジョンセンサから受信されるときだけ活動的になることが可能になる。【選択図】図２Ａ
2020145714.tif 000002
【特許請求の範囲】
【請求項１】
2つ以上のセンサ画素を備えるセンサアレイからセンサデータを受信するように構成され、前記センサアレイの隣接するセンサ画素からの読取値を使用して1つまたは複数のコンピュータビジョン(CV)特徴を計算することが可能である、専用のCV計算ハードウェアと、
前記専用のCV計算ハードウェアと通信可能に結合され、
前記1つまたは複数の計算されたCV特徴に基づく動作に起因する信号を処理し、
前記1つまたは複数の計算されたCV特徴に基づく前記動作に起因する前記信号の前記処理に応答して、参照の出現を示すイベントを生成する
ように構成される、第1の処理ユニットと、
前記第1の処理ユニットと通信可能に結合され、前記イベントの受信に応答してアプリケーションソフトウェアを実行するように構成される第2の処理ユニットと、
を備える、デバイス。
【請求項２】
前記イベントが前記参照の出現を示すように構成され、
前記参照の出現が、
人の顔が現れること、
人の体が現れること、
人の顔に表れている感情、
人ではない動物の顔が現れること、
人ではない動物の体が現れること、
人の手が現れること、
手のジェスチャー、
参照物体が現れること、
屋内環境から屋外環境への変化、
参照の動き、
落下を示すシーン中の高速な動き、
衝突の危険を示す物体に向かう動き、
危機を示すシーン中の動きもしくは物体、または、
これらの任意の組合せ
のうちの少なくとも一つを有する、請求項1に記載のデバイス。
【請求項３】
前記イベントが、前記参照の出現が物体の検出を有することを示すように構成される、請求項1に記載のデバイス。
【請求項４】
前記専用のCV計算ハードウェアが、Local Binary Pattern(LBP)を提供するように構成される、請求項1に記載のデバイス。
【請求項５】
前記センサデータのサブセットにおける参照物体の存在を検出するように構成される分類器をさらに備え、前記1つまたは複数の計算されたCV特徴に基づく前記動作が、前記分類器によって実行される動作を備え、前記参照の出現が前記参照物体と関連付けられる、請求項1に記載のデバイス。
【請求項６】
前記第1の処理ユニットが、前記参照物体の前記存在が前記分類器によって検出されるとき、前記参照物体の前記存在を示すものを前記分類器から受信するように構成される、請求項5に記載のデバイス。
【請求項７】
前記分類器が前記第1の処理ユニットによって実行されるソフトウェアを有するカスケード分類器を備える、請求項5に記載のデバイス。
【請求項８】
前記専用のCV計算ハードウェアが集積回路を備える、請求項1に記載のデバイス。
【請求項９】
前記第1の処理ユニットが、前記第2の処理ユニットによる使用のために、周辺光の感知、近接の検出、参照物体への近接、動きの検出、またはこれらの任意の組合せを示す、少なくとも1つのより低電力の光学センサ読取値を生成するために、前記専用のCV計算ハードウェアの少なくとも一部を無効にするようにさらに構成される、請求項1に記載のデバイス。
【請求項１０】
前記第1の処理ユニットが、より低電力のモードで動作している間、前記専用のCV計算ハードウェアの少なくとも一部を無効にし、前記より低電力のモードにおいてシーンの変化を検出し、前記シーンの変化の検出に基づいて前記専用のCV計算ハードウェアを活動化するように構成される、請求項1に記載のデバイス。
【請求項１１】
前記第1の処理ユニットが、前記イベントに、前記参照の出現と関連付けられるデータを含めるように構成される、請求項1に記載のデバイス。
【請求項１２】
前記第2の処理ユニットが、前記イベントの受信に応答して前記アプリケーションソフトウェアを実行するように構成され、前記第2の処理ユニットが前記アプリケーションソフトウェアを実行する間に前記参照の出現と関連付けられるデータを利用する、請求項11に記載のデバイス。
【請求項１３】
前記第1の処理ユニットが、
前記1つまたは複数の計算されたCV特徴に基づく前記動作の少なくとも一部として、より低電力の動作よりも多くの電力を消費するより高電力の動作を実行し、
前記より高電力の動作に基づいて、前記より低電力の動作に対するパラメータを提供するように構成される、請求項1に記載のデバイス。
【請求項１４】
前記より低電力の動作が、周辺光の感知、近接の検出、動きの検出、または変化の検出を有するリストのうちの1つまたは複数を含む、請求項13に記載のデバイス。
【請求項１５】
2つ以上のセンサ画素を備えるセンサアレイと、
前記センサアレイからセンサデータを受信し、前記センサアレイの隣接するセンサ画素からの読取値を使用してコンピュータビジョン(CV)特徴を計算することが可能な、専用のCV計算ハードウェアと、
前記専用のCV計算ハードウェアに通信可能に結合され、
1つまたは複数の前記計算されたCV特徴に基づく動作に起因する1つまたは複数の信号から、顔が検出されたことを決定し、
前記決定に応答して、物体検出イベントを生成する
ように構成される、第1の処理ユニットと、
前記第1の処理ユニットと通信可能に結合され、前記物体検出イベントを受信することに応答してアプリケーションソフトウェアを実行するように構成される第2の処理ユニットと
を備える、デバイス。
【請求項１６】
前記第1の処理ユニットが、前記第2の処理ユニットが低電力モードで動作している間に、前記物体検出イベントを前記第2の処理ユニットに通信するように構成される、請求項15に記載のデバイス。
【請求項１７】
前記専用のCV計算ハードウェアが、前記センサアレイから生のセンサデータを受信するように構成され、前記センサアレイと前記専用のCV計算ハードウェアの間に画像信号処理回路が配設されない、請求項15に記載のデバイス。
【請求項１８】
タイミング決定動作、
焦点合わせ動作、
自動露出補正動作、
物体の検出、
物体の認識、
スキャニングウィンドウの記憶、
イベントキューイングおよび/または処理動作、
アナログ処理、
アナログデジタル変換、
積分動作、
CV特徴の計算、
カスケード分類器に基づく分類、
ヒストグラムに基づく分類、または
メモリのバッファリング、または
これらの任意の組合せ
のうちの少なくとも1つを行うように構成される周辺回路をさらに備える、請求項15に記載のデバイス。
【請求項１９】
装置を用いて動的なシーンベースの出現を感知するための方法であって、
専用のコンピュータビジョン(CV)計算ハードウェアを用いて、2つ以上のセンサ画素を備えるセンサアレイからセンサデータを受信するステップと、
前記専用のCV計算ハードウェアを用いて、前記センサアレイの近隣のセンサ画素からの読取値を使用して1つまたは複数のCV特徴を計算するステップと、
第1の処理ユニットを用いて、前記1つまたは複数の計算されたCV特徴に基づく動作に起因する信号を処理するステップと、
前記第1の処理ユニットによる前記1つまたは複数の計算されたCV特徴に基づく前記動作に起因する前記信号の前記処理に応答して、イベントを生成するステップであって、前記イベントが、第2の処理ユニットに対する参照の出現を示す、ステップと、
前記イベントが構成されることに応答して、第2の処理ユニットを用いて、アプリケーショーンソフトウェアを実行するステップと、
を備える、方法。
【請求項２０】
前記参照の出現が、
人の顔が現れること、
人の体が現れること、
人の顔に表れている感情、
人ではない動物の顔が現れること、
人ではない動物の体が現れること、
人の手が現れること、
手のジェスチャー、
参照物体が現れること、
屋内環境から屋外環境への変化、
参照の動き、
落下を示すシーン中の高速な動き、
衝突の危険を示す物体に向かう動き、
危機を示すシーン中の動きもしくは物体、または、
これらの任意の組合せ
のうちの少なくとも1つまたは複数である、請求項19に記載の方法。
【請求項２１】
前記専用のCV計算ハードウェアを用いて、Local Binary Pattern(LBP)を提供するステップをさらに備える、請求項19に記載の方法。
【請求項２２】
分類器を用いて、前記センサデータのサブセットにおける参照物体の存在を検出するステップをさらに備え、前記1つまたは複数の計算されたCV特徴に基づく前記動作が、前記分類器によって実行される動作を備え、前記参照の出現が前記参照物体と関連付けられる、請求項19に記載の方法。
【請求項２３】
前記第1の処理ユニットによって、前記参照物体の前記存在が前記分類器によって検出されるとき、前記参照物体の前記存在を示すものを前記分類器から受信するステップをさらに備える、請求項22に記載の方法。
【請求項２４】
前記分類器が前記第1の処理ユニットによって実行されるソフトウェアを含む、請求項22に記載の方法。
【請求項２５】
前記分類器が前記第1の処理ユニットとは別個のハードウェアを備える、請求項22に記載の方法。
【請求項２６】
より低電力のモードで動作している間、前記専用のCV計算ハードウェアの少なくとも一部を無効にするステップと、
前記より低電力のモードで動作している間、シーンの変化を検出するステップと、
前記シーンの変化の検出に基づいて、前記専用のCV計算ハードウェアの前記無効にされた少なくとも一部を活動化するステップとをさらに備える、請求項19に記載の方法。
【請求項２７】
前記専用のCV計算ハードウェアを用いて前記センサアレイから前記センサデータを受信するステップが、前記センサアレイから生のセンサデータを受信するステップを備え、画像信号処理が前記受信の前に前記センサデータに対して実行されない、請求項19に記載の方法。
【請求項２８】
物体検出イベントを決定するための方法であって、
専用のコンピュータビジョン(CV)計算ハードウェアを用いて、センサアレイからセンサデータを受信するステップと、
前記センサアレイの近隣のセンサ画素からの読取値を使用して1つまたは複数のCV特徴を計算するステップと、
前記1つまたは複数の計算されたCV特徴に基づく動作に起因する1つまたは複数の信号から、物体が検出されたことを決定し、
前記決定に応答して、物体検出イベントを生成する
ために第1の処理ユニットを使用するステップと、
前記物体検出イベントの受信に応答して、アプリケーションソフトウェアを実行するために第2の処理ユニットを使用するステップと、
を備える、方法。
【請求項２９】
前記第2の処理ユニットが低電力モードで動作している間に、前記物体検出イベントを前記第2の処理ユニットに通信するために前記第1の処理ユニットを使用するステップをさらに含む、請求項28に記載の方法。
【請求項３０】
前記専用のCV計算ハードウェアを用いて前記センサアレイから前記センサデータを受信するステップが、前記センサアレイから生のセンサデータを受信するステップを備え、画像信号処理が前記受信の前に前記センサデータに対して実行されない、請求項28に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
人とコンピュータの対話は、言語(タイピング、音声認識、画面上へのテキストの表示、発話合成など)およびビジョン(スチルカメラおよびビデオカメラ、グラフィックディスプレイなど)を含む、多くのモダリティを使用する。顔の検出、認識、表情などは、人対人のコミュニケーションの重要な部分をなし、したがって、人と機械の対話にも重要である。感情の検出、性別の分類、唇の読取り、目/視線の追跡などを含む、静止画像およびビデオにおける顔の検出、追跡、認識に利用可能な、多くの方法およびアプリケーションがある。
【０００２】
顔または一般的な物体の検出と追跡のための従来のシステムは、高速で電力消費の多いマイクロプロセッサ、大量のオペランドを移すためのデータパス帯域幅の大量消費、およびメモリの大量の使用を必要とする、計算集約的なアルゴリズムを使用する。これらのシステムは通常、輝度に基づく画像を撮影して汎用マイクロプロセッサに供給するスチル/ビデオカメラを使用し、汎用マイクロプロセッサは、画像を分析し、収集された画像を画面上に表示し、または、こうして取り出されたシーン情報に基づいて別様に動作する。既存のシステムの大きな電力消費を考慮すると、顔または一般的な物体の検出のための使用事例および適用例はかなり限られたものになっている。たとえば、携帯可能な電池で駆動されるデバイスでは、カメラおよびプロセッサのサブシステムは、大半の時間オン状態のままにはできない。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書で開示される技法は、特殊用途のカメラを、カメラのビューの中の対象物、物体、およびシーンを検出し、追跡し、認識し、かつ/または分析する目的の専用のコンピュータビジョン(CV)計算ハードウェアおよび専用の低電力マイクロプロセッサと統合する、ビジョンセンサを利用する。ビジョンセンサは、必要とされるときだけ、またはアプリケーションによって定義され構成されるように、含まれている低電力マイクロプロセッサを使用してカメラから取り出された情報を処理し、メインプロセッサに対する「イベント」(または1つまたは複数の参照の出現が起きたことを示すもの)を送信する。これにより、汎用マイクロプロセッサ(これは通常、様々なアプリケーションに対応するために比較的高速であり強力である)は、従来のように大半の時間において低電力状態(たとえば、スリープモード)にとどまりながら、イベントがビジョンセンサから取り出されるときだけ活動的になることが可能になる。
【０００４】
この説明による、動的なシーンベースの出現を感知するためのスマートセンサは、2つ以上のセンサ画素を備えるセンサアレイからセンサデータを受信するように構成され、センサアレイの隣接するセンサ画素からの読取値を使用して1つまたは複数のコンピュータビジョン(CV)特徴を計算することが可能な、専用のCV計算ハードウェアと、専用のCV計算ハードウェアに通信可能に結合され、1つまたは複数の計算されたCV特徴に基づく動作に起因する信号を処理するように構成される、第1の処理ユニットとを備えることが可能である。スマートセンサは、第1の処理ユニットによる1つまたは複数の計算されたCV特徴に基づく動作に起因する信号の処理に応答して、第2の処理ユニットによって受信されるべきイベントを生成するように構成されることが可能であり、このイベントは、第2の処理ユニットに対する参照の出現を示す。
【０００５】
スマートセンサは、以下の特徴のうちの1つまたは複数を含み得る。参照の出現は、人の顔が現れること、人の体が現れること、人の顔に表れている感情、人ではない動物の顔が現れること、人ではない動物の体が現れること、人の手が現れること、手のジェスチャー、参照物体が現れること、屋内環境から屋外環境への変化、参照の動き、落下を示すシーンにおける高速な動き、衝突の危険を示す物体に向かう動き、危機を示すシーン中の動きもしくは物体、またはこれらの任意の組合せのうちの1つまたは複数であり得る。イベントは顔の検出を備え得る。専用のCV計算ハードウェアは、Local Binary Pattern(LBP)を提供するように構成され得る。スマートセンサは、専用のCV計算ハードウェアに結合されたセンサデータのサブセットにおける参照物体の存在を検出するように構成される、カスケード分類器ハードウェアを備え得る。1つまたは複数の計算されたCV特徴に基づく動作は、カスケード分類器ハードウェアによって実行される動作を備えてよく、参照の出願は参照物体と関連付けられる。第1の処理ユニットは、参照物体の存在がカスケード分類器ハードウェアによって検出されるとき、参照物体の存在を示すものをカスケード分類器ハードウェアから受信するように構成され得る。専用のCV計算ハードウェアは、センサアレイから生のセンサデータを受信するように構成されてよく、センサアレイと専用のCV計算ハードウェアの間には画像信号処理回路は配設されない。専用のCV計算ハードウェアは集積回路を備え得る。スマートセンサは、周辺光の感知、近接の検出、参照物体への近接、動きの検出、またはこれらの任意の組合せを示す、少なくとも1つのより低電力の光学センサ読取値を生成するために、専用のCV計算ハードウェアの少なくとも一部を無効にするように構成され得る。スマートセンサは、少なくとも1つのより低電力の光学センサ読取値に基づいて、参照の出現を生成することができる。スマートセンサは、より低電力のモードで動作している間、専用のCV計算ハードウェアの少なくとも一部を無効にし、より低電力のモードにおいてシーンの変化を検出し、シーンの変化の検出に基づいて専用のCV計算ハードウェアを活動化するように構成され得る。イベントは、第2の処理ユニットに対する参照の出現を示すことがあり、参照の出現と関連付けられるデータをさらに含む。スマートセンサは、1つまたは複数の計算されたCV特徴に基づく動作の少なくとも一部として、より低電力の動作よりも多くの電力を消費するより高電力の動作を実行し、イベントに基づいてより低電力の動作に対するパラメータを提供するように構成され得る。スマートセンサは、1つまたは複数の計算されたCV特徴に基づく動作の少なくとも一部として、より高電力の動作よりも少ない電力を消費するより低電力の動作を実行し、高電力の動作に対するセンサの読取値を提供するように構成され得る。
【０００６】
この説明による、顔検出イベントを決定するための例示的な装置は、2つ以上のセンサ画素を備えるセンサアレイと、センサアレイからセンサデータを受信し、センサアレイの隣接するセンサ画素からの読取値を使用してコンピュータビジョン(CV)特徴を計算することが可能な、専用のCV計算ハードウェアと、専用のCV計算ハードウェアに通信可能に結合され、1つまたは複数の計算されたCV特徴に基づく動作に起因する1つまたは複数の信号から顔が検出されたと決定し、この決定に応答して、第2の処理ユニットによって受信されるべき顔検出イベントを生成するように構成される、第1の処理ユニットとを備え得る。
【０００７】
装置は、以下の特徴のうちの1つまたは複数を含み得る。装置は第2の処理ユニットを備えてよく、第1の処理ユニットは、第2の処理ユニットが低電力モードで動作している間に、顔検出イベントを第2の処理ユニットに通信するように構成される。専用のCV計算ハードウェアは、センサアレイから生のセンサデータを受信するように構成されてよく、センサアレイと専用のCV計算ハードウェアの間には画像信号処理回路は配設されない。装置は、タイミング決定動作、焦点合わせ動作、自動露出補正動作、物体の検出、物体の認識、スキャニングウィンドウの記憶、イベントキューイングおよび/もしくは処理動作、アナログ処理、アナログデジタル変換、積分動作、CV特徴の計算、カスケード分類器に基づく分類、ヒストグラムに基づく分類、またはメモリのバッファリング、またはこれらの任意の組合せのうちの少なくとも1つを提供するように構成される、周辺回路を備え得る。装置は第2の処理ユニットを備えてよく、第1の処理ユニットはさらに、第2の処理ユニットが低電力モードで動作している間に、顔検出イベントを第2の処理ユニットに通信するように構成され得る。
【０００８】
この説明による、装置を用いて動的なシーンベースの出現を感知するための方法は、専用のコンピュータビジョン(CV)計算ハードウェアを用いて、2つ以上のセンサ画素を備えるセンサアレイからセンサデータを受信するステップと、専用のCV計算ハードウェアを用いて、センサアレイの隣接するセンサ画素からの読取値を使用して1つまたは複数のCV特徴を計算するステップと、第1の処理ユニットを用いて、1つまたは複数の計算されたCV特徴に基づく動作に起因する信号を処理するステップと、第1の処理ユニットによる1つまたは複数の計算されたCV特徴に基づく動作に起因する信号の処理に応答して、第2の処理ユニットによって受信されるべきイベントを生成するステップとを備えてよく、イベントは第2の処理ユニットに対する参照の出現を示す。
【０００９】
方法はさらに、以下の特徴のうちの1つまたは複数を含み得る。参照の出現は、人の顔が現れること、人の体が現れること、人の顔に表れている感情、人ではない動物の顔が現れること、人ではない動物の体が現れること、人の手が現れること、手のジェスチャー、参照物体が現れること、屋内環境から屋外環境への変化、参照の動き、落下を示すシーンにおける高速な動き、衝突の危険を示す物体に向かう動き、危機を示すシーン中の動きもしくは物体、またはこれらの任意の組合せのうちの1つまたは複数であり得る。方法は、専用のCV計算ハードウェアを用いて、Local Binary Pattern(LBP)を提供するステップを備え得る。方法は、カスケード分類器ハードウェアを用いて、センサデータのサブセットにおける参照物体の存在を検出するステップを備えてよく、1つまたは複数の計算されたCV特徴に基づく動作は、カスケード分類器ハードウェアによって実行される動作を備え、参照の出現は参照物体と関連付けられる。方法は、第1の処理ユニットによって、参照物体の存在がカスケード分類器ハードウェアによって検出されるとき、参照物体の存在を示すものをカスケード分類器ハードウェアから受信するステップを備え得る。方法は、周辺光の感知、近接の検出、参照物体への近接、動きの検出、またはこれらの任意の組合せを示す、少なくとも1つのより低電力の光学センサ読取値を生成するために、専用のCV計算ハードウェアの少なくとも一部を無効にするステップを備え得る。方法はさらに、少なくとも1つのより低電力の光学センサ読取値に基づいて、参照の出現を検出するステップを備え得る。方法はさらに、より低電力のモードで動作している間、専用のCV計算ハードウェアの少なくとも一部を無効にするステップと、より低電力のモードで動作している間、シーンの変化を検出するステップと、シーンの変化の検出に基づいて専用のCV計算ハードウェアの無効にされた少なくとも一部を活動化するステップとを備え得る。専用のCV計算ハードウェアを用いてセンサアレイからセンサデータを受信するステップが、センサアレイから生のセンサデータを受信するステップを備え、画像信号処理は受信の前にセンサデータに対して実行されない。
【００１０】
この説明による、顔検出イベントを決定するための方法は、専用のコンピュータビジョン(CV)計算ハードウェアを用いて、センサアレイからセンサデータを受信するステップと、センサアレイの隣接するセンサ画素からの読取値を使用して1つまたは複数のCV特徴を計算するステップと、1つまたは複数の計算されたCV特徴に基づく動作に起因する1つまたは複数の信号から顔が検出されたと決定し、この決定に応答して、第2の処理ユニットによって受信されるべき顔検出イベントを生成するために、第1の処理ユニットを使用するステップとを含み得る。専用のCV計算ハードウェアを用いてセンサアレイからセンサデータを受信するステップが、センサアレイから生のセンサデータを受信するステップを備えてよく、画像信号処理は受信の前にセンサデータに対して実行されない。
【００１１】
様々な実施形態の性質および利点の理解は、以下の図を参照することによって実現され得る。
【図面の簡単な説明】
【００１２】
【図１】本明細書で説明される特徴および技法を組み込むモバイルデバイスとユーザが対話し得る、例示的な設定を示す図である。
【図２Ａ】一実施形態による、センサシステムおよびメインプロセッサを含む構成のブロック図である。
【図２Ｂ】一実施形態による、センサアレイユニット、マイクロプロセッサ、および例示的な周辺回路214を伴うセンサシステムのブロック図である。
【図３Ａ】ある実施形態による、低電力のセンサ処理を行うためにセンサシステムのコンポーネントがどのように利用され得るかを示すブロック図である。
【図３Ｂ】ある実施形態による、低電力のセンサ処理を行うためにセンサシステムのコンポーネントがどのように利用され得るかを示すブロック図である。
【図３Ｃ】ある実施形態による、低電力のセンサ処理を行うためにセンサシステムのコンポーネントがどのように利用され得るかを示すブロック図である。
【図４】ある実施形態による、動的なシーンベースの出現を感知する方法の流れ図である。
【図５】例示的なセンサアレイの簡略化された図である。
【図６】図5のセンサアレイの例示的な構成の簡略化された図である。
【図７】コンピュータビジョン計算およびより低電力の光学センサ読取りのためにセンサシステムを使用するための例示的な方法を示す流れ図である。
【図８】コンピュータビジョン計算およびより低電力の光学センサ読取りのためにセンサシステムを使用するための例示的な方法を示す流れ図である。
【図９】コンピュータビジョン計算およびより低電力の光学センサ読取りのためにセンサシステムを使用するための例示的な方法を示す流れ図である。
【図１０Ａ】コンピュータビジョン計算およびより低電力の光学センサ読取りのためのセンサシステムの例示的な状態を示す状態図である。
【図１０Ｂ】コンピュータビジョン計算およびより低電力の光学センサ読取りのためのセンサシステムの例示的な状態を示す状態図である。
【図１１Ａ】ある実施形態による、複数のセンサ素子からのセンサ読取値をCV特徴に変換するプロセスを示す図である。
【図１１Ｂ】ある実施形態による、複数のセンサ素子からのセンサ読取値をCV特徴に変換するプロセスを示す図である。
【図１１Ｃ】ある実施形態による、複数のセンサ素子からのセンサ読取値をCV特徴に変換するプロセスを示す図である。
【図１２】本明細書で説明される技法および特徴を利用することができるモバイルデバイスの実施形態のブロック図である。
【発明を実施するための形態】
【００１３】
後続の説明は、実施形態のみを提供し、本開示の範囲、適用性、または構成を限定することを意図しない。むしろ、実施形態の後続の説明は、実施形態を実装するための有用な説明を当業者にもたらす。本開示の範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得ることを理解されたい。
【００１４】
図1は、本明細書で説明される特徴および技法を組み込むモバイルデバイス105とユーザ130が対話し得る、例示的な設定100を示す。ここで、ユーザ130は、本明細書において以下で説明されるように、特殊用途のカメラと、専用のコンピュータビジョン(CV)計算ハードウェアと、専用の低電力マイクロプロセッサとを有するセンサシステムを少なくとも一部介して、モバイルデバイス105と対話し得る。これらの特徴は、モバイルデバイス105が、対象物(ユーザ130など)ならびにカメラのビュー105の視野内にある他の物体およびシーンを検出し、追跡し、認識し、かつ/または分析することを可能にする。センサシステムは、必要とされるときだけ、またはアプリケーションによって定義され構成されるように、含まれている組込みプロセッサを使用してカメラから取り出された情報を処理し、メインプロセッサに対する「イベント」(または1つまたは複数の参照の出現が起きたことを示すもの)を送信する。これにより、汎用マイクロプロセッサ(これは通常、様々なアプリケーションに対応するために比較的高速であり強力である)は、従来のように大半の時間において低電力状態(たとえば、スリープモード)にとどまりながら、イベントがセンサシステムから受信されるときだけ活動的になることが可能になる。モバイルデバイス105を参照して例示され説明されるが、物体の検出、認識などを実行することが可能なスマートセンサは、モノのインターネット(IoT)の適用例を含む様々な適用例において有用であり得ることを理解されたい。
【００１５】
本明細書で説明されるように、専用のCV計算ハードウェアは、センサアレイユニット中の各センサ素子または画素に対するCV特徴または局所化されたCV特徴を、隣接するセンサ素子と関連付けられる信号に少なくとも一部基づいて計算し、または計算することが可能である。(本明細書では、「局所の」または「局所化された」という用語は、画像全体の統計的または他の数学的な評価ではなく、1つまたは複数の隣接するセンサ素子に基づいて計算される特徴を指す)。本明細書で説明されるように、対象センサ素子と、対象センサ素子に比較的近い他のセンサ素子とを含むセンサ素子は、隣接するセンサ素子と呼ばれ得る。本開示のいくつかの態様では、隣接するセンサ素子は、対象センサ素子と、対象センサ素子のすぐ隣のセンサ素子とを含み得る。本開示の他の態様では、隣接するセンサ素子は、対象センサ素子に比較的近く、すぐ隣にはないセンサ素子も含み得る。たとえば、いくつかの事例では、センサの幅または高さがセンサ素子64個分であるとき、対象センサ素子から3つのセンサ素子以内にあるセンサ素子も隣接するセンサ素子であると見なされ得る。
【００１６】
本明細書で説明されるように、CV特徴または局所化されたCV特徴は、各センサ素子またはセンサの画素と関連付けられるラベルなどの、低レベルのコンピュータビジョンマーカーまたはインジケータを検出することを指し得る。以下でさらに詳細に示されるように、そのようなCV特徴は、Histogram of Signed Gradients(HSG)および/またはLocal Binary Pattern(LBP)などの出力を含み得る。LBPの計算は、隣接するセンサ素子、たとえば、参照または対象センサ画素およびそのすぐ隣にある8つの隣接するセンサ画素に基づき得る。LBPの計算は、それぞれの輝度の違いに基づいて、参照画素のすぐ隣にある隣接する画素の各々を採点することができる。(異なるカラーチャネル(たとえば、赤、青、および緑)に対しては、異なるLBPを使用して色が扱われる。)HSGの計算も、シーン内の様々な特徴を検出するために、隣接するセンサ素子、たとえば、参照画素および1つまたは複数のすぐ隣にある隣接する画素を利用する。
【００１７】
たとえば、図1の設定100において、ユーザ130は、モバイルデバイスの汎用マイクロプロセッサがスリープモードにある間に、モバイルデバイス105を持ち出している可能性がある。しかしながら、モバイルデバイス105のセンサシステムは活動的なままであってよく、たとえば、ユーザ130の顔、手のジェスチャー、シーン中の他の物体などを認識することが可能であってよい。ある参照の出現が起きたこと、この場合は、ユーザ130の特定の顔の特徴がビュー110というセンサシステムの視野内にあることを認識すると、センサシステムは、ユーザ130の顔の特徴が認識されたことを示す、かつ/または、モバイルデバイスの汎用マイクロプロセッサを低電力モードから出させて完全に活動的にさせる、イベントをモバイルデバイスの汎用マイクロプロセッサに送ることができる。
【００１８】
センサシステムにイベントをモバイルデバイスの汎用マイクロプロセッサへ送らせる参照の出現は、望まれる機能に応じて、様々なCV検出可能な出現のいずれかを含み得る。これらの出現は、たとえば、顔および/または物体の検出、顔および/または物体の認識、ジェスチャーの認識などを含み得る。いくつかの実施形態では、1つまたは複数の参照の出現はユーザ130によって設定可能であり得る。参照の出現の追加の例が、本明細書において以下で与えられる。
【００１９】
特殊用途のカメラはセンサシステムに専用であるので、このカメラは、写真を撮ることまたはビデオを撮影することを主に意図したものではないことがある。したがって、特殊用途のカメラは、輝度に基づく画像を生み出さないことがある。代わりに、特殊用途のカメラは、LBP、勾配、エッジ、HSG、および/または他の動作のような、画素レベルのコンピュータビジョン特徴の計算を含むことがあり、この計算において、特殊用途のカメラの隣接するセンサ画素からの読取値が、CV特徴を計算するために、すなわちCV特徴の低電力のハードウェアに基づく計算のために使用される。
【００２０】
つまり、特殊用途のカメラを備えるセンサシステムが使用され得るが、実施形態はそのようには限定されない。より大まかには、センサシステムは、化学的な、視覚的な、聴覚的な、生物学的な、機械的な、および/または他のタイプの入力を感知するためのセンサセルを含む、センサアレイユニットを含み得る。
【００２１】
加えて、図1および他の実施形態は、センサシステムがモバイルデバイスに組み込まれることを説明するが、実施形態はそのようには限定されない。本明細書で説明される技法および特徴によってもたらされる電力の節約は、携帯電話、タブレット、ラップトップ、ポータブルメディアプレーヤーなどのモバイルデバイスにとって顕著な利益があり得るが、一般にモバイルであるとは見なされない可能性があるテレビジョン、デスクトップコンピュータ、および/または他のデバイスなどの他のデバイスが、本明細書で説明される特徴および技法を利用することができる。
【００２２】
図2Aは、一実施形態による、メインプロセッサ220が低電力(たとえば、「スリープ」または「スタンバイ」)モードで動作している可能性がある間に、センサシステム210(本明細書では「スマートセンサ」とも呼ばれる)が高レベルのセンシング動作を可能にするようにどのように構成され得るかを示す、ブロック図である。図2Aのコンポーネントは、より大きな電子デバイスに組み込まれ得る。センサシステム210が組み込まれ得るモバイルデバイスの例は、図5に関して以下で説明される。
【００２３】
また、代替的な実施形態は、図2Aに示されるコンポーネントから変化し得ることを理解されたい。たとえば、以下で説明されるように、センサシステム210の実施形態は、周辺回路214、マイクロプロセッサ216、および/またはメモリ218を含むことがあり、または含まないことがある。加えて、または代替的に、実施形態は、望まれる機能に応じて、図2Aのコンポーネントを組み合わせ、分離し、追加し、省略し、かつ/または並べ替えることができる。たとえば、センサシステム210がセンサアレイ(たとえば、画素アレイまたはカメラ)を備える場合、入力(たとえば、光)がセンサアレイに到達する前に入力を操作するために、何らかの光学装置が利用され得る。本明細書の実施形態は「画像アレイ」の使用を説明するが、実施形態はそのようには限定されず、より広範に、画像を必ずしも生成または撮影しないセンサアレイを利用してもよいことに留意されたい。(以下でより詳細に説明される図2Bは、一実施形態による、センサアレイユニット212、マイクロプロセッサ216、および例示的な周辺回路214を伴うセンサシステム210を示す。)
【００２４】
図2Aに示されるように、入力を受け取るセンサシステム210は、センサアレイユニット212、周辺回路214、マイクロプロセッサ216、および/またはメモリ218を備え得る。電子センサが、電子デバイスのメインプロセッサ220(携帯電話のアプリケーションプロセッサなど)と、有線接続とワイヤレス接続のいずれかを通じて通信可能に結合されることが可能であり、メインプロセッサ220は、センサシステム210にクエリを提供し、センサシステム210からイベントおよび/または他のトリガを受信することができる。いくつかの実施形態では、「メインプロセッサ」220は単に、マイクロプロセッサ216より大きな、たとえば処理能力がより大きな、かつ/または電力使用量がより多い、処理ユニットに相当し得る。いくつかの実装形態では、マイクロプロセッサ216は、専用のマイクロプロセッサまたは第1の処理ユニットに相当することがあり、第2の処理ユニットに相当し得るメインプロセッサ220よりも少ない電力を消費するように構成され得る。
【００２５】
センサアレイユニット212のタイプは、電子センサの望まれる機能に応じて変化し得る。前に示されたように、センサアレイユニット212は、化学的な、視覚的な、聴覚的な、生物学的な、機械的な、および/または他のタイプの入力を感知するための、センサセルのアレイ(たとえば、1次元または2次元のアレイ)を含み得る。たとえば、センサアレイユニット212は、カメラセンサ、または、複数のセンサセルが画素の格子を形成する他のビジョンアレイおよび/もしくはセンサアレイを備え得る。
【００２６】
いくつかの実施形態では、センサアレイユニット212は「スマート」アレイを含んでよく、これは、センサセルの1つまたは複数の出力に対する動作が実行され得る際に用いる、いくつかの追加のメモリおよび/または論理回路を含む。いくつかの実施形態では、センサアレイ中の各センサ画素は、周辺回路214(以下でより詳細に説明される)の一部であることもないこともある、メモリおよび/または論理回路に結合され得る。センサアレイユニット212および/または周辺回路の出力は、センサセルの生のセンサ読取値に加えて、またはその代わりの出力を含み得る。たとえば、いくつかの実施形態では、センサアレイユニット212および/または周辺回路は、2つ以上のセンサ画素を備えるセンサアレイユニット212のセンサアレイから画像データを受信するように構成される、専用のCV計算ハードウェアを含み得る。CV特徴は次いで、センサアレイの隣接するセンサ画素からの読取値を使用して専用のCV計算ハードウェアによって計算または抽出されることが可能であり、計算されたHSGおよび/またはLBPの特徴、ラベル、もしくは記述子などの出力がもたらされる。いくつかの実施形態では、センサアレイユニット212と専用のCV計算ハードウェアとの間に、画像信号処理回路は配設されないことがある。言い換えると、専用のCV計算ハードウェアは、任意の画像信号処理が生のセンサデータに対して実行される前に、センサアレイユニット212から生のセンサデータを受信することができる。上のいずれかの拡張とともに、エッジ検出、角検出、scale-invariant feature transform(またはSIFT)、speeded up robust feature(SURF)、histogram of oriented gradient(HOG)、local ternary pattern(LTP)などを含む、他のCV計算アルゴリズムに基づく、他のCV計算も可能である。
【００２７】
センサアレイユニット212の同期性(または非同期性)も、望まれる機能に依存し得る。いくつかの実施形態では、たとえば、センサアレイユニット212は、いくつかのタイミング要件に基づいて各画素の周期的なサンプリングを行うようにタイミング決定される読出し回路を伴う、従来の(すなわち、「フレームベースの」)カメラを備え得る。いくつかの実施形態では、センサアレイユニット212は、イベントドリブンアレイを備えることがあり、イベントドリブンアレイによって、センサ出力は、特定のサンプリングレートを守るのではなく(または守ることに加えて)、センサ読取値もしくは他の出力がある閾値にいつ達するか、かつ/または、いつある閾値だけ変化するかにより決定され得る。「スマート」アレイでは、上で論じられたように、センサ読取値または他の出力は、追加のメモリおよび/または論理(たとえば、スマートセンサアレイからのHSGまたはLBP出力)の出力を含むことがある。一実施形態では、スマートセンサアレイは、ダイナミックビジョンセンサ(DVS)を備えることができ、DVSでは、スマートセンサアレイ中の各画素に対して、画素値が以前の値から閾値の量だけ変化したとき、画素値が非同期的に出力される。いくつかの実装形態では、センサアレイユニット212は、所与のフレームレートで値を読み出す、ハイブリッドフレームイベントドリブンアレイであり得るが、以前の読出しから変化したアレイ中の要素のみについて値を読み出すことによって電力を節約する。
【００２８】
周辺回路214はまた、電子センサの望まれる機能に応じて変化し得る。周辺回路214は、センサアレイユニット212から情報を受信するように構成され得る。いくつかの実施形態では、周辺回路214は、センサアレイユニット212内の一部またはすべての画素、(重要な画素内回路を伴う実装形態では)センサアレイユニット212の画素内回路の一部またはすべて、または両方から、情報を受信することができる。センサアレイユニット212が同期された出力を提供する実施形態では、たとえば、周辺回路が、センサアレイユニットの出力に対してタイミング決定動作および/または制御動作を行う(たとえば、フレームベースのタイミング決定および/または同様のタイミング決定を実行する)ことができる。周辺回路214によって提供される他の機能は、イベントキューイングおよび/または処理動作、アナログ処理、アナログデジタル変換、積分動作(たとえば、画素値の1次元または2次元の積分)、CV特徴の計算、物体の分類(たとえば、カスケード分類器に基づく分類またはヒストグラムに基づく分類)、またはヒストグラム動作、メモリのバッファリング、またはこれらの任意の組合せ、「画素ブロック値合計」、「隣接する画素値の比較および閾値設定」、「ベクトルドット積計算」などを含み得る。そのような機能を実行するための手段は、たとえば、様々な実装形態において、周辺回路214を含み得る。いくつかの実施形態では、周辺回路214は、センサアレイユニット212のセンサセル出力に結合され、マイクロプロセッサまたは他の処理ユニットを含まない。図2Bに関して、周辺回路214のいくつかの例が、本明細書において以下に含まれる。
【００２９】
つまり、いくつかの実施形態はさらに、周辺回路214の出力に結合されたマイクロプロセッサ216を含み得る。マイクロプロセッサ216は一般に、メインプロセッサ220よりも相対的に低電力で動作する処理ユニットを備え得る。いくつかの実装形態では、マイクロプロセッサ216はさらに、固有のプログラム(たとえば、ソフトウェアベースの)およびデータメモリを使用して、コンピュータビジョンおよび/または機械学習アルゴリズム(フレームベースおよび/またはイベントベースであり得る)を実行することができる。したがって、マイクロプロセッサ216は、メインプロセッサ220が低電力モードで動作している間にセンサアレイユニット212によって受信される入力に基づいて、コンピュータビジョンおよび/または機械学習機能を実行することが可能である。メインプロセッサ220への出力を必要とするイベントが発生したとマイクロプロセッサ216が決定すると、マイクロプロセッサ216は、イベントをメインプロセッサ220に伝えることができ、これにより、メインプロセッサ220は低電力モードから出て、通常の動作モードに入ることができる。
【００３０】
任意選択で、いくつかの実施形態では、マイクロプロセッサ216の出力はさらに、メインプロセッサ220に中継される前に、メモリ218に提供され得る。メモリ218は、イベントまたはトリガがメインプロセッサ220に送られる際の基盤となる、マイクロプロセッサ216によって維持されるワーキングメモリおよび/またはデータ構造を含み得る。メモリは、たとえば、画像を記憶する際、検出された物体を追跡する際、および/または図2Bに関して以下でより詳細に論じられるような他の動作を実行する際に、利用され得る。加えて、または代替的に、メモリ218は、メインプロセッサ220がセンサシステム210にクエリを行い得るという情報を含み得る。メインプロセッサ220は、アプリケーションソフトウェア、アルゴリズムなど222を実行することができ、これらの一部がさらに、センサシステム210から受信された情報を利用し得る。
【００３１】
前に述べられたように、メインプロセッサ220とは独立に、画像処理および/またはコンピュータビジョン機能などのいくつかの機能をセンサシステム210が実行できることで、そうでなければメインプロセッサ220がセンサシステム210の機能の一部またはすべてを実行するために利用しなければならなかったであろう電子デバイスの大量の電力、速度、およびメモリを節約することができる。具体的には、センサアレイユニット212、周辺回路214、およびマイクロプロセッサ216の組合せにより、画像アレイによって撮影された動的に変化するシーンにおいて、出現を検出することが可能なシーンの理解が可能になる。
【００３２】
一例では、図2Aに示される構成を有する携帯電話は、スタンバイモードから出るために顔検出を使用することができる。この例では、携帯電話は、携帯電話のディスプレイが消えているスタンバイモードに入り、メインプロセッサ220は、低電力のスリープモードで動作する。しかしながら、センサアレイユニット212のような画像アレイを伴うセンサシステム210は動作し続け、物体が画像アレイのビューの視野に入り、そこから出ていくにつれて、センサアレイユニット212からのデータを処理する。画像アレイのビューの視野に顔が入るとき(図1などの、ユーザ130の顔がモバイルデバイス105のビュー110の視野に入るとき)、それは、センサアレイユニット212、周辺回路214、マイクロプロセッサ216、またはこれらの任意の組合せによって検出されることがある。画像アレイのビューの視野に検出された顔が閾値の期間(たとえば、0.5秒、1秒、2秒など)残る場合、マイクロプロセッサ216は、顔検出が起きたことを示す顔検出イベントを、メインプロセッサ220に送ることができる。次いで、メインプロセッサ220および携帯電話のディスプレイが、通常の動作モードに戻ることができる。
【００３３】
本明細書の他の箇所で述べられるように、イベントは、1つまたは複数の参照の出現が起きたことを示すものであり得る。より一般的には、イベントは、参照の出現に関連するデータを含み得る。望まれる機能に応じて、イベントに含まれるデータは、検出された参照物体、参照物体に関連する位置情報、参照物体の数、検出された参照物体と関連付けられる動きなどを示すものであり得る。このデータは、様々な方法で運ばれ得る。たとえば、物体検出の場合、イベントは単純なバイナリ出力であってよく、この場合、「0」は参照物体が検出されなかったことを意味し、「1」は参照物体が検出されたことを意味する。
【００３４】
イベントは、参照の出現が起きたことを示すもの以外の情報を含み得る。たとえば、イベントは、参照の出現と関連付けられる何らかのデータも含み得る。いくつかの実施形態では、イベントは、nビット/バイトのメッセージ、またはマルチフィールドメッセージを含んでよく、ここで、各ビットまたはフィールドは特定のデータにマッピングされる。たとえば、イベントは出力を含んでよく、ここで、第1のビット/フィールドは、物体が検出されたかどうかを示し、第2のビット/フィールドは、物体が動いているか静止しているかを示し、第3のビット/フィールドは、物体の位置(または、物体を囲む最小限のボックスの4つの角などの位置関連の情報、または物体の角の位置など)に関係し、第4のビット/フィールドは、どれだけの物体が検出されるかに関係する、などである。一般に、イベントは、ハードウェアで計算されたCV特徴、または画像を含み、参照の出現と任意の方法で関連付けられ、参照の出現に関係する測定または計算を含み、単なる参照の出現を超えるような、任意のデータを含み得る。
【００３５】
望まれる機能に応じて、参照の出現は、顔または他の物体の検出イベント、ジェスチャーイベント、顔および/もしくは参照物体の検出ならびに/または認識などの、様々なトリガのいずれかを含み得る。様々な顔検出アルゴリズムのいずれかを使用して実施され得る顔検出は、人の顔もしくは人ではない動物の顔(たとえば、犬、猫、または他のペット)が現れること、または人の体もしくは人ではない動物の体が現れることを含み得る。物体のそのような「現れること」は、物体の動きおよび/またはカメラの動きの結果であり得る。参照の出現は、様々な顔の特徴および/または表情を示すそのような特徴の場所の分析から、人の顔の感情または他の表情を決定するために、顔の検出を超えたものであることがある。加えて、または代替的に、参照の出現は、人の手が現れること、手のジェスチャー、参照物体(ある物体、ロゴ、または他の参照物体など)が現れることなどの、追加の物体および/もしくは物体の動きの検出ならびに/または認識を含み得る。いくつかの実施形態では、センサシステム210は、いくつかの参照物体を検出するように事前に構成され得る。加えて、または代替的に、センサシステム210による検出および/または認識のための物体は、ユーザおよび/またはメインプロセッサ220によって実行されるアプリケーションによって選択可能であり得る。参照の出現は、屋内環境から屋外環境への変化、参照の動き、シーンの高速な動き(たとえば、落下を示す)、物体に向かう動き(たとえば、衝突の危険を示す)、危機を示すシーン中の動きまたは物体(たとえば、火事の検出では火)、またはこれらの任意の組合せなどの、検出される環境の変化を含み得る。いくつかの実装形態では、参照の出現は、図2Bおよび本明細書の他の箇所において以下でさらに詳細に説明されるように、参照物体の検出に関連することがあり、またはそれに基づくことがある。いくつかの実装形態では、参照物体が画像フレームにおいて検出されると、マイクロプロセッサ216は、同じ物体が後続の画像フレームにおいて続いて検出されるかどうかを確認することができる。マイクロプロセッサ216は、参照の出現の発生を決定するために、周辺回路214から受信された、またはマイクロプロセッサ216自体によって生成された、検出された物体と関連付けられる位置情報および他のデータを使用することができ、参照の出現は参照物体の検出に基づき得る。前の段落の顔検出の例を再び参照すると、顔検出(参照の出現)は、顔(参照物体)の検出が閾値の期間画像アレイのビューの視野の中で続く場合に発生してよく、これにより、対応する顔検出イベントがメインプロセッサ220に送られる。
【００３６】
図2Bは、センサアレイユニットと、CV計算ハードウェアと、第2のマイクロプロセッサとの通信のためのインターフェースを含むマイクロプロセッサとを含む、図2Aのセンサシステム210などのセンサシステムの、例示的な実装形態を示す。センサアレイユニット212は、相関二重サンプリング回路を含み得る。たとえば、CV計算が合成された画素値またはより低い解像度を使用して改善される実装形態では、センサアレイユニット212はまた、信号をラインバッファ230に出力する前にセンサ素子または画素の信号もしくは値を合成し、合計し、または平均するための回路を含み得る。ラインバッファ230は、画像を表す信号またはセンサアレイユニット212の画像出力の部分をビジョンセンサの他の部分に移送するための、1つまたは複数のラインバッファを含み得る。いくつかの実装形態では、センサ素子アレイ212は、より以前のセンサアレイユニットとは異なり、画像信号処理(ISP)のための回路を含まないことがあるので、図2Bは、センサアレイユニット212およびCV計算ハードウェア242が、介在するISP回路を伴わずに接続される実装形態を示し、したがって、いくつかの実装形態では、センサアレイユニット212と、ハードウェアスキャニングウィンドウアレイ238または専用のCV計算ハードウェア242との間には、ISP回路が配設されない。たとえば、いくつかの実装形態では、センサアレイユニット212からCV計算ハードウェア242によって受信された信号はISPを経ておらず、たとえば、この信号は、欠陥補正、ホワイトバランス、カラーバランス、オートフォーカス、レンズロールオフ、デモザイク、ディベイヤー、または画像鮮明化、またはこれらの任意の組合せのうちの1つまたは複数を経ていない。しかしながら、いくつかのそのようなISPなしの実装形態では、焦点合わせまたは自動露出補正などの何らかの処理が行われ得る。ISPを経ていないそのような信号は、生の信号または生のセンサ読取値または生のセンサデータと呼ばれ得る。生の信号、生のセンサ読取値、または生のセンサデータは、デジタルに変換され、積分画像を形成するために積分され、スキャニングウィンドウに記憶されることが可能であり、専用のCV計算ハードウェアは、生の信号、生のセンサ読取値、または生のセンサデータを受信するように構成されることが可能であるが、生の信号、生のセンサ読取値、または生のセンサデータは、何らかのデータ操作(合計または積分を含む)を経ているが、ISPを経ていないことを理解されたい。一実装形態では、センサアレイユニット212は、216×240のセンサ素子を備えるアレイを伴う、ISP回路を伴わないQuarter Video Graphics Array(QVGA)カメラセンサである。
【００３７】
様々な実装形態において、CV計算ハードウェア242は、デジタル領域とアナログ領域のいずれかにおいてCV計算を実行することができる。したがって、任意選択で、デジタルの実装形態では、アナログデジタルコンバータ(ADC)234が、ラインバッファ230とCV計算ハードウェア242との間に配設され得る。いくつかの実装形態では、CV計算ハードウェア242は、CV特徴、ラベル、または記述子を計算するための機能以外の機能をほとんどまたはまったく有しないように設計されたハードウェアであるという意味で、専用のCV計算ハードウェアである。
【００３８】
いくつかの実装形態では、CV計算ハードウェア242は、センサ素子または画素のブロックと関連付けられる信号の合成、合計、または平均を使用することができる。そのような実装形態では、CV計算ハードウェア242に入力される前にそのような合成、合計、または平均を計算する際に、積分画像が有用であり得る。たとえば、(たとえば、3×3または11×11などの2×2よりも大きいブロックに対して)4つよりも多くの画素を足すために、積分画像を使用した合計がはるかに速いことがあり、それは、積分画像中の画素値の合計を決定するために、それぞれの3×3または11×11の画像ブロックに対して9個または121個の値を足すのではなく、4つの値が加算または減算されるだけでよいからである。したがって、任意選択で、ビジョンセンサは、センサアレイユニット中のセンサ素子(たとえば、画素)の少なくともサブセットによってサンプリングされる画像を表す信号の少なくともサブセットに基づいて、画像の少なくとも一部の積分画像を計算するための、2次元積分ハードウェア236も含み得る。示されるように、2次元積分計算ハードウェア236は、専用のCV計算ハードウェア242と通信していることがある。前に述べられたように、センサアレイユニットによってサンプリングされる画像を表す積分画像および/またはセンサアレイユニットによってサンプリングされる画像の一部分の積分画像は、センサ素子のブロックに対する信号値を、それらを直接加算することと比べてより迅速に、合成し、合計し、または平均するために使用され得る。2次元積分ハードウェア236は、センサアレイユニット212からの生の信号に基づいて、デジタル領域とアナログ領域のいずれかにおいてセンサアレイユニットによってサンプリングされる画像のすべてまたは一部分の積分画像を表す信号を生成することが可能な回路を含み得る。いくつかの実装形態では、2次元積分ハードウェア236によって生成される積分画像(これは、センサアレイユニットによってサンプリングされる画像の一部分またはサンプルウィンドウのみの積分画像であり得る)は、図2Bに示されるように、ハードウェアスキャニングウィンドウアレイ238に記憶され得る。たとえば、ハードウェアスキャニングウィンドウアレイは、ランダムアクセスメモリ(RAM)アレイ、または、積分画像を記憶するための他の形態のアナログメモリもしくはデジタルメモリを含み得る。画素レベルのLBPなどの、センサ素子のブロックに対応する信号の合成、合計、または平均を計算することが有用ではない実装形態では、2次元積分ハードウェア236は含まれなくてもよいので、センサアレイユニット230からの生のアナログ信号と、ADC234からのデジタルに変換された生の信号とを含むサンプルウィンドウが、ハードウェアスキャニングウィンドウアレイ238に直接記憶され得ることを理解されたい。さらに、いくつかの実装形態では、2次元積分ハードウェア236はさらに、または代わりに、1次元積分を実行し得ることを理解されたい。同様に、ハードウェアスキャニングウィンドウアレイ238は、センサアレイ230によって撮影された画像のサンプルウィンドウに対応する1次元積分画像を記憶することができる。1次元積分画像の使用は、回転された参照物体、たとえば顔を検出するために、たとえば回転されたブロックを使用した、���ルチブロックLBPの計算を可能にし得る。任意選択で、フレームバッファ(図示されず)が、2次元積分ハードウェア236の前または後に使用され得る。フレームバッファが2次元積分ハードウェア236の前に配設される実装形態では、フレームまたは画像全体が、センサアレイユニット212からフレームバッファに移送され得る。次いで、2次元積分ハードウェア236が、フレームバッファに記憶されている画像の部分またはウィンドウの積分画像を生成し、そのようなウィンドウをハードウェアスキャニングウィンドウアレイ238に記憶することができる。代替的に、2次元積分ハードウェア236は、画像全体を積分し、2次元積分ハードウェア236とハードウェアスキャニングウィンドウアレイ238との間に配設されたフレームバッファに積分画像全体を記憶することができ、この場合、フレームバッファに記憶されている積分画像のウィンドウが、スキャニングウィンドウアレイ238に記憶され得る。しかしながら、フレームバッファは任意選択であり、2次元積分ハードウェア236は、センサアレイユニット212から画像のウィンドウまたは部分に対応するデータを受信し、オンザフライでそのウィンドウまたは部分を積分し、そのような積分画像ウィンドウをハードウェアスキャニングウィンドウアレイ238に記憶することができることを理解されたい。
【００３９】
ビジョンセンサは、CV計算ハードウェア242も含み得る。いくつかの実装形態では、CV計算ハードウェアは、センサ素子のブロックに近接している複数の隣接するセンサ素子と関連付けられる信号に少なくとも一部基づいて、1つまたは複数の対象センサ素子のブロックに対する局所化されたCV特徴を計算することができる。たとえば、CV計算ハードウェアのlocal binary pattern(LBP)の実装において、CV計算ハードウェアは、生の画像信号、または生の画像信号の合成、合計、もしくは平均(たとえば、積分画像を使用して生成される)に対応する信号値を受信し、生の画像信号に基づいてデジタルLBPラベルまたはベクトルを生成する、ハードウェアを含み得る。マルチブロックLBPが計算される実装形態では、1つまたは複数の対象センサ素子のブロックは、m×nのセンサ素子、たとえば、11×11のセンサ素子のブロックを含み得る。局所化されたCV特徴が計算される1つまたは複数の対象センサ素子のブロックが単一の対象センサ素子である場合、画素レベルのLBP計算も行われ得ることも理解されたい。上の説明は、専用のマイクロプロセッサ320とは別のものとしてCV計算ハードウェア312に言及したが、いくつかの実装形態では、専用のCV計算ハードウェア312は、専用のマイクロプロセッサ320内のハードウェアにおいて実装され得ることを理解されたい。
【００４０】
専用のハードウェアにおいて、上で説明されたLBPラベルなどのCV特徴を生成することで、プロセッサにおいて、たとえばアプリケーションプロセッサまたはさらにはマイクロプロセッサ216などの汎用プロセッサにおいてCV特徴を計算することと比べて、ビジョンセンサの電力を減らすことができる。しかしながら、ビジョンセンサはそれでも、CV特徴の計算以外のCV関連の動作または計算などの、CV特徴の計算以外の機能を実行するための、または、CV特徴計算ハードウェア242を使用して実行される計算に対して追加のCV特徴の計算を実行するための、CV計算ハードウェア242に結合されるマイクロプロセッサ216を含み得る。マイクロプロセッサ216は、CV計算ハードウェア238からハードウェアにより計算されたCV特徴を受信し、物体の分類の検出などのより高レベルのコンピュータビジョン動作を実行することができ(顔検出がより高レベルの動作の具体的な事例であると見なされてよく、他の例には、胴体上部、歩行者、車がある)、この場合、タスクは、コンピュータビジョン動作の中でもとりわけ、所与の分類に属する画像中のすべての物体の位置およびサイズを見出すことである。さらに、マイクロプロセッサ216は、ラインバッファ230、ADC234、2次元積分ハードウェア236、ハードウェアスキャニングウィンドウアレイ238、およびCV計算ハードウェア242に制御信号を提供することができる。いくつかの実装形態では、物体の分類の検出または他のコンピュータビジョン動作を実行するために、マイクロプロセッサ216は、カスケード分類器アルゴリズムを使用して、物体の分類の検出、たとえば顔検出を実行することができる。任意選択の実装形態では、マイクロプロセッサ216に対する計算負荷をさらに減らすために、ハードウェアにおいてカスケード分類器を実装することによって、さらなる電力の節約が可能である。
【００４１】
任意選択のカスケード分類器ハードウェア244は、カスケード分類器のハードウェアの実装形態を含む。いくつかの実装形態では、カスケード分類器は、カスケード分類器が検出または分類するように訓練される参照物体の例、および、物体ではないものの例、たとえば、顔と顔ではないものの画像、または車と車ではないものの画像、または胴体上部と胴体上部ではないものの画像を含む、画像のデータセットに対して機械学習技法を使用して訓練される。たとえば、最初の段において、カスケード分類器ハードウェアは、たとえばハードウェアスキャニングウィンドウアレイ238に記憶されている、ある数の、すなわちl個の対象センサ素子に対するLBP特徴を計算するように、CV計算ハードウェア242に要求することができる。加えて、対象センサ素子の位置{(x11,y11),…(x1l,y1l)}も、カスケード分類器ハードウェア244によって提供される。CV計算ハードウェア242が要求されたLBP特徴を計算して提供すると、これはベクトル値として扱われることが可能であり、カスケード分類器ハードウェアは、LBP特徴の各々のドット積の合計を1つまたは複数の重みとともに実行して、第1の加重スカラー和の値を生成する。一般に、各LBP特徴(LBP11,…,LBP1l)は、各々異なり得る所与の重み(w11,…,w1l)によって乗算される。第1の加重スカラー和の値は次いで、第1の閾値と比較される。スカラー和が閾値より小さい場合、ある程度の確率で、ハードウェアスキャニングウィンドウアレイ238に記憶されている信号によって表される画像の部分に参照物体は存在しないので、カスケード分類器ハードウェア244は、信号をハードウェアスキャニングウィンドウアレイ238に送り、かつ任意選択で、ラインバッファ230およびセンサアレイユニット212などのビジョンセンサの他のコンポーネントに信号を送り、ハードウェアスキャニングウィンドウアレイ238がスキャンを継続して1つまたは複数の新しい列および/または行を追加し、1つまたは複数の古い列および/または行を削除すべきであることを示す。ハードウェアスキャニングウィンドウアレイ238に記憶されている、画像の後続のウィンドウについて、または、センサアレイユニットのセンサ素子の後続のサブセットに対応する複数の後続の信号について、プロセスが改めて開始し得る。画像の後続のウィンドウは、画像の以前のウィンドウと大部分が重複し得ることを理解されたい。いくつかの実装形態では、画像は左から右にスキャンされ、センサアレイユニット212の終わりに到達すると、1つまたは複数の行だけ下に移動した後で、画像は左から右に再びスキャンされ得る。別の実装形態では、1つまたは複数の行だけ下にシフトした後で、画像は右から左にスキャンされてよく、このことは、前の画像とのより大きな重複を可能にし得る。
【００４２】
そうではなく、スカラー和が第1の閾値より大きい場合、カスケード分類器ハードウェア244は次の段に移る。次の(この例では、2番目の)段では、カスケード分類器ハードウェアは、ハードウェアスキャニングウィンドウアレイ238に記憶されている位置{(x21,y21),…(x2m,y2m)}にあるm個の対象センサ素子に対するLBP特徴を提供するように、CV計算ハードウェア242に再び要求する。CV計算ハードウェア242が要求されたLBP特徴(LBP21,…,LBP2m)を計算して提供すると、カスケード分類器ハードウェア244は、LBP特徴の各々のドット積の別の合計を1つまたは複数の重み(w21,…,w2m)とともに実行して、第2の加重スカラー和の値を生成する。第2の加重スカラー和の値は次いで、第2の閾値と比較される。スカラー和が第2の閾値より小さい場合、ハードウェアスキャニングウィンドウアレイ238に記憶されている信号によって表される画像の部分の中に参照物体が存在する確率は低く、カスケード分類器は、スキャンを継続して画像の次の部分に移るための信号を、ビジョンセンサアレイ中の他のコンポーネントに送る。第2の加重スカラー和の値が第2の閾値より大きい場合、プロセスは上で説明されたように第3の段に続く。最後段の終わり、たとえばN段のカスケード分類器のN番目の段において、N番目の加重スカラー和の値がN番目の閾値より大きい場合、ハードウェアスキャニングウィンドウアレイ238に記憶されている画像の部分において、参照物体が検出される。カスケード分類器ハードウェア244は次いで、参照物体が検出されたことをマイクロプロセッサ216に示すことができ、参照物体、または参照物体の部分が検出された画像の部分の位置をさらに任意選択で示し得る。一般に、カスケード分類器ハードウェア244は、参照物体が検出されたことを示すものを、参照物体の検出のプロセスにおいて計算されたCV特徴のすべてもしくは一部、そうしたCV特徴の画像内での位置、または、CV計算ハードウェア242および/もしくはカスケード分類器ハードウェア244によって実行される計算もしくは動作と関連付けられる任意の他のデータなどの、参照物体と関連付けられるデータとともにマイクロプロセッサ216へ送るように構成され得る。
【００４３】
LBP特徴、ラベル、またはベクトルが各段において計算されるべき、ハードウェアスキャニングウィンドウアレイ238内の対象センサ素子の数および位置は、一般にカスケード分類器ハードウェア244へとプログラムされ、上で論じられた機械学習訓練に起因する。同様に、LBP特徴の各々に乗じるべき重みも、一般に機械学習訓練の間に決定され、次いでカスケード分類器ハードウェア244へとプログラムされる。段の数も訓練に起因し、カスケード分類器ハードウェア244へとプログラムされる。いくつかの実装形態では、カスケード分類器は、1段と31段の間の段、たとえば15段を含み得る。いくつかの実装形態では、カスケード分類器は、1段と31段の間の段、たとえば15段を含み得る。いくつかの実装形態では、カスケード分類器ハードウェア244は、カスケード分類器機能を実行し、他の重要な機能をほとんどまたはまったく実行しないように設計されるハードウェアであるという意味で、専用のカスケード分類器ハードウェアであると見なされ得る。上で説明された実装形態は、実験室におけるあるモデルを生成するための以前の訓練および機械学習に基づく、プログラムされた重みおよび閾値に基づくカスケード分類器に関するが、カスケード分類器ハードウェア244、またはCV計算ハードウェア242から受信されたハードウェアで計算されたCV特徴に基づくCV動作を実行するように設計された周辺回路中の他のハードウェアは、実地で機械学習を実行するように設計され得ることを理解されたい。
【００４４】
すぐ上で説明された実装形態では、マイクロプロセッサ216は次いで、たとえば参照物体検出イベントについて何をすべきかを決定することができる。たとえば、マイクロプロセッサ216はイベントを第2のマイクロプロセッサに送信し得る。いくつかの実装形態では、マイクロプロセッサ216および第2のマイクロプロセッサは、図2Aのマイクロプロセッサ216およびメインプロセッサ220に相当し得る。図2Bに示されるように、マイクロプロセッサ216は、第2のマイクロプロセッサとの通信のためのインターフェース246を含む。加えて、または代替的に、マイクロプロセッサ216は、経時的に(たとえば、複数の画像にわたって)検出された参照物体の場所を追跡して、たとえばジェスチャー認識、衝突の危険、危機、および/または他のイベントのために、動きを決定し得る。
【００４５】
より一般的には、いくつかの実施形態では、まず物体を検出し、次いで他の特徴を決定することによって、広範囲の機能を可能にできる。そのような実施形態では、物体の検出は周辺回路(たとえば、カスケード分類器ハードウェア244および/または他の専用のハードウェア)を介して行われてよく、追加の動作がマイクロプロセッサ216によって実行されてよい。たとえば、物体が現れることは、まず物体の検出、次いで(たとえば、マイクロプロセッサを使用して)閾値の期間カメラのビューの視野に物体が存在していると決定することによって、決定され得る。上で述べられたようなジェスチャー検出は、ジェスチャーを制御する物体(たとえば、手)を検出し、次いで手の動きを決定することによって、行われ得る。衝突の危険は、物体を検出し、(たとえば、カメラ、カメラのビューの視野内の第2の物体などによる)物体との衝突の危険を示す動きを決定することによって、行われ得る。実施形態は、上の特徴の任意の組合せ、および/または、これらの特徴の変形を含み得ることを、当業者は認識するであろう。
【００４６】
上の説明は、マイクロプロセッサ216とは別のものとしてカスケード分類器ハードウェア244に言及したが、いくつかの実装形態では、カスケード分類器ハードウェア244は、マイクロプロセッサ216内のハードウェアにおいて実装され得ることを理解されたい。また、いくつかの実装形態では、カスケード分類器ハードウェア244は、CV計算ハードウェア242およびハードウェアスキャニングウィンドウアレイ238を示されるように制御することを可能にするために、何らかの制御機能を与えられ得る。したがって、カスケード分類器ハードウェア244は、マイクロプロセッサ216から自律的に特徴を検出することができるので、マイクロプロセッサ216は、カスケード分類器ハードウェア244がその機能を実行する間、低電力状態にあり得る。したがって、スマートセンサは、1つまたは複数の計算されたCV特徴に基づいてより低電力の動作を実行することができ、たとえばある物体が検出されると、カスケード分類器ハードウェア244は、マイクロプロセッサ216を起動するために、センサ読取値などのデータを含むイベントをマイクロプロセッサ216に提供することができる。マイクロプロセッサ216は次いで、次の行動の方向を決定することができ、たとえば、インターフェース246を通じてイベントを第2のマイクロプロセッサに送る。低電力状態にあっても、いくつかの実装形態では、マイクロプロセッサ216はそれでも、センサアレイユニット212、ラインバッファ230などに制御信号を提供することができ、または代替的に、もしくは追加で、そのような制御信号は、低電力制御論理によって提供され得ることを理解されたい。代替的に、カスケード分類器は、マイクロプロセッサ216上でソフトウェアアルゴリズムとして実行され得る。さらに、他のソフトウェアアルゴリズムは、カスケード分類器の代わりにマイクロプロセッサ上で実行され得る。たとえば、参照物体の検出は、図11Cにおいて説明されるように、ヒストグラムを使用して実行され得る。いくつかのそのような実装形態では、スキャニングウィンドウアレイ238に記憶されている画像のサンプルウィンドウに対して計算されるすべてのLBPラベルのヒストグラムは、スキャニングウィンドウアレイ238に記憶されているサンプルウィンドウにおいて顔の存在を検出するために、参照ヒストグラムと比較され得る。いくつかの実装形態では、専用のハードウェアが、たとえばヒストグラムを使用して顔を検出するために実装され得る。そのような実装形態は、カスケード分類器ハードウェア244の代わりに、またはそれに加えて、そのような専用のハードウェアを含み得る。
【００４７】
図2Bに示される実装形態では、ラインバッファ230、ADC234、2次元積分ハードウェア236、ハードウェアスキャニングウィンドウアレイ238、CV計算ハードウェア242、カスケード分類器ハードウェア244、またはこれらの任意の組合せのうちの1つまたは複数が、センサアレイユニット212の周辺の回路であり図2Aの周辺回路214に相当し得る、周辺回路であると見なされ得る。すぐ上で列挙された様々なコンポーネント、またはこれらの任意の組合せは、代わりに、センサアレイユニット212内の画素内回路として実装され得ることも理解されたい。
【００４８】
図3A〜図3Cは、低電力のセンサ処理を行うためにセンサシステム210のコンポーネントがどのように利用され得るかを示すブロック図である。ここでは、いくつかのコンポーネントだけが示されている。図2Aおよび図2Bに示されるように、センサシステムは追加のコンポーネントを有し得ることが理解されるだろう。
【００４９】
図3Aでは、周辺回路214は、センサアレイユニット212の複数のセンサセル出力と結合される。センサアレイユニット212および/または周辺回路214は、複数のセンサセル出力の少なくともサブセットを使用して特徴検出の計算を実行するために、専用のCV計算ハードウェアを含み、ここで、複数のセンサセル出力のサブセットは、隣接するセンサセルまたは画素を備えるセンサアレイユニット212(たとえば、画像アレイ)の領域に対応する。したがって、周辺回路214の出力は、特徴検出の計算に(少なくとも部分的に)基づく。そのような特徴検出の計算は、特徴の検出(たとえば、エッジの検出、線の検出など)を行うことができる、センサアレイユニット212の隣接するセンサセルまたは画素を使用する、様々な計算のいずれかを含み得る。そのような特徴検出の計算は、たとえば、LBP、HSGなどを含む。いくつかの実施形態では、専用のCV計算ハードウェアは集積回路を備え得る。
【００５０】
図3Bでは、第1の処理ユニット217は、スマート画像アレイ213の1つまたは複数の出力と通信可能に結合され、スマート画像アレイ213において、複数のセンサ画素がメモリ回路および/または論理回路と結合される。ここで、第1の処理ユニット217は、図2Aおよび図2Bのマイクロプロセッサ216に相当することがあり、スマート画像アレイ213は、図2Aおよび図2Bのセンサアレイユニット212に相当することがある。図3Aおよび/または図2Bに関して上で説明されたように、スマート画像アレイ213は、隣接するセンサ画素からの読取値を使用して計算されるCV特徴を計算するための、専用のCV計算ハードウェアを含み得る。図2Aおよび図2Bに示されるように、これらの2つのコンポーネントは互いに直接結合されないことがあり、介在する回路を有することがある。第1の処理ユニット217は、スマート画像アレイの1つまたは複数の出力から受信された信号を処理して、参照の出現を検出する。第1の処理ユニット217は次いで、第2の処理ユニット(たとえば、図2Aのメインプロセッサ220)によって受信されるべき、参照の出現を示すイベントを生成する。
【００５１】
イベントは、1つまたは複数の計算されたCV特徴に基づく動作に起因する処理信号に基づいて生成され得る。いくつかの実装形態では、そのような動作は、顔を検出するためにカスケード分類器(たとえば、図2Bのカスケード分類器ハードウェア244)によって実行される動作または計算を含み得る。したがって、そうした動作に起因する信号を処理することに基づいて生成されるイベントは、参照物体が検出されたという、カスケード分類器からの指示などの信号を、マイクロプロセッサが処理することを含み得る。この指示は、位置などの検出された物体と関連付けられるデータ、関連するLBP特徴およびそれらの位置、ならびに/または画像データ自体を含み得る。これにより、参照物体が検出されないときに、マイクロプロセッサが、画像データを分析しないことによってエネルギーを節約することが可能になる。
【００５２】
図3Cにおいて、設定は図3Bと似ている。ここで、第1の処理ユニット217は、画像アレイ215の1つまたは複数の出力と通信可能に結合される。やはり、第1の処理ユニット217は、図2Aおよび/または図2Bのマイクロプロセッサ216に相当することがあり、画像アレイ215は同様に、図2Aおよび/または図2Bのセンサアレイユニット212に相当することがある。しかしながら、この実施形態では、第1の処理ユニット217は、顔が検出されたことを決定し、第2の処理ユニットに対して顔検出イベントを生成する。望まれる機能に応じて、第1の処理ユニット217は、画像アレイ215の1つまたは複数の出力から受信された1つまたは複数の信号を使用して顔を検出するように動作可能であり得る。
【００５３】
図4は、ある実施形態による、動的なシーンベースの出現を感知する方法400を示す流れ図である。本明細書で提供される他の図面と同じように、図4は非限定的な例として与えられる。代替的な実施形態は、図面に示される機能に対して追加の機能を含むことがあり、かつ/または、図面中のブロックのうちの1つまたは複数に示される機能は、省略され、組み合わされ、分離され、かつ/もしくは同時に実行されることがある。ブロックの機能を実行するための手段は、図5において示され以下で説明されるモバイルデバイスの1つまたは複数のコンポーネントなどの、電子デバイスの1つまたは複数のハードウェアおよび/またはソフトウェアのコンポーネントを含み得る。当業者は多くの変形形態を認識されよう。
【００５４】
方法400はブロック410において開始することができ、ブロック410において、専用のCVハードウェアがセンサアレイから画像データを受信する。画像データは、センサアレイの複数の画像画素からのセンサ読取値を含み得る。前に示されたように、専用のCVハードウェアは、図2Aのセンサアレイユニット212および/または周辺回路214において実装され、かつ/またはそれらへ組み込まれ得る。(センサアレイはセンサアレイユニット212に含まれ得る。)
【００５５】
ブロック420において、1つまたは複数のCV特徴は、センサアレイの隣接するセンサ画素からの読取値を使用して、専用のCV計算ハードウェアによって計算される。ここで、CV特徴は、たとえば、LBP、HSG、および/または他の計算を使用して計算され得る、エッジ、線などを含み得る。専用のCV計算ハードウェアの使用により、比較的大量のエネルギーおよび/または処理能力を使用する必要なく、高速で効率的な計算が可能になり得る。
【００５６】
ブロック425において、1つまたは複数のCV動作が1つまたは複数のCV特徴に基づいて実行される。前に述べられたように、そのような動作は周辺回路において行われ得る。たとえば、図2Bに関連して説明されたように、カスケード分類器は、顔または他の物体を検出するための動作を実行し、顔または他の物体の検出を示す信号をマイクロプロセッサに提供することができる。しかしながら、以下で述べられるように、1つまたは複数のCV特徴に基づいてCV動作を実行することは、周辺回路(たとえば、専用ハードウェア)および/またはマイクロプロセッサのいずれかまたは両方によって実行され得る。CV動作を実行するハードウェアおよび/またはソフトウェアのコンポーネントは、出力信号(たとえば、カスケード分類器の出力、CV計算HWから直接受信されるLBP計算結果を示す信号、マイクロプロセッサ内で内部的に生成される信号など)を生成することができる。マイクロプロセッサは、これらの信号のうちの1つまたは複数を使用して、参照の出現(たとえば、顔の検出)が起きたことを決定することができる。
【００５７】
ブロック430において、参照の出現が起きたことが決定される。前に示されたように、参照の出願は、様々なイベントのうちの1つまたは複数を含み得る。これらは、たとえば、人の顔が現れること、人の顔に表れている感情、人ではない動物の顔が現れること、人の手が現れること、手のジェスチャー、参照物体が現れること、屋内環境から屋外環境への変化、参照の動き、落下を示すシーン中の高速な動き、衝突の危険を示す物体に向かう動き、危機を示すシーン中の動きもしくは物体、またはこれらの任意の組合せを含み得る。いくつかの実施形態では、これらの参照の出現は、事前に定義されていてよく、かつ/またはユーザにより設定可能であってよい。
【００５８】
ブロック440において、第2の処理ユニットに対するイベントが生成され、ここでイベントは参照の出現を示す。本明細書で使用される場合、「イベント」という用語は、参照の出現を示す、処理ユニットに提供される情報を表す。ここでは、イベントは第2の処理ユニットに提供される。いくつかの実施形態では、イベントは単に、参照の出現が起きたことを示すものを含み得る。いくつかの実施形態では、イベントはさらに、検出された参照の出現のタイプを示すものを含み得る。イベントは、第1の処理ユニットによって生成され、第2の処理ユニットに送られ得る。いくつかの実施形態では、第1の処理ユニットと第2の処理ユニットとの間に介在する回路があることがある。
【００５９】
図4に示される様々なブロックによって実行される機能は、望まれる機能に応じて、センサシステム(たとえば、図2Aおよび図2Bのセンサシステム210)の様々なコンポーネントによって実行され得ることに留意されたい。ブロック410および420の機能は、たとえば、画素内回路または周辺回路(たとえば、CV計算ハードウェア)によって実行され得る。ブロック425の機能は、たとえば、マイクロプロセッサまたは専用のハードウェア(たとえば、カスケード分類器または他の専用のハードウェア)によって実行され得る。いくつかの実施形態では、ブロック425、430、および440の機能はすべて、マイクロプロセッサによって実行され得る。代替的に、いくつかの実施形態は、周辺回路を用いてブロック425の機能を実行し、マイクロプロセッサを用いてブロック430および440の機能を実行することができる。当業者はいくつかの変形を認識されよう。
【００６０】
再び図2Aを参照すると、本明細書で説明されるセンサシステム210の実施形態はさらに、それぞれのより低電力のモードおよびより高電力のモードにおいて使用される電力またはエネルギーの消費量に関連する、より低電力の動作およびより高電力の動作などの異なるタイプの機能を実行することができる。より高電力のモードでは、たとえば、センサシステムは、本明細書で説明されるような専用のCV計算ハードウェアを利用することによって、センサシステム210自体の中で画像処理機能を提供することができる。本明細書における「より低電力」および「より高電力」の使用は、相対的であることが意図されることを理解されたい。言い換えると、より高電力のモードにあっても、説明されるセンサシステムはそれでも、強力なCVに基づく計算を、ソフトウェアでCVアルゴリズムを実行するマイクロプロセッサを用いて同じCVに基づく計算を実行する場合よりも少量の電力を使用して、ハードウェアで計算されるCV特徴に基づいて実行することが可能であり得る。前に詳述されたように、専用のCV計算ハードウェアは、センサアレイユニット212に統合される画素内回路を含むことがあり、これは、一部またはすべての画素のための回路を含むことがあり、1つまたは複数の隣接する画素に対する感知された光の輝度を検出することなどの、各々のそれぞれの画素に対して処理を実行すること、隣接する画素に関して感知された光の色もしくは輝度の違いに基づいて物体のエッジを検出すること、ならびに/または、LBP、HSG、および/もしくは他のCV計算を行うことが可能である。専用のCV計算ハードウェアはさらに周辺回路214を含むことがあり、これは、これらの計算の一部またはすべてを実行するために、画素内回路に加えて、またはその代わりに使用され得る。より高電力の動作が必要とされないとき、実施形態は、センサシステム210のこの専用のCV計算ハードウェアの一部またはすべてを無効にすることができ、またはそうでなければ低電力モードで動作させることができ、これにより電力を節約することができる。したがって、本明細書で説明されるように、より高電力の動作は、専用のCV計算ハードウェア(たとえば、センサアレイユニット212および/または周辺回路214の中の画素内回路)を伴うが、より低電力の動作は、専用のCV計算ハードウェアの一部またはすべてが無効にされているとき、または電力消費が減らされた状態にあるときに、実行される。
【００６１】
一例では、センサシステム210は、単一の画素として動作するようにセンサアレイユニット212を構成することができる。そのような場合、センサシステム210は、すべての画素内回路および/または周辺回路214を無効にすることができる。そのような構成では、アレイの個々の画素の各々が、センサアレイ全体に対する単一の感知される値に寄与する。
【００６２】
図5は、図2Aのセンサアレイユニット212の簡略化された図を示す。センサアレイユニット212において、画素510は、行および列に並べられ、画像の撮影を行うための光学装置を受ける焦点面に配置される。(明瞭にするために、図5では数個の画素510だけが数字のラベルを有する。)画素サイズ、アスペクト比、解像度などのセンサアレイユニットの特徴は、望まれる機能に応じて変化し得ることが理解されるだろう。たとえば、図5の簡略化された図は10×10の画素アレイを示すが、実施形態は、数百個、数千個、または数百万個(またはそれ以上)の画素を有し得る。
【００６３】
前に示されたように、各画素510は、センサ、ならびに、画素510に対するCV計算を実行するための画素内回路を含み得る。加えて、または代替的に、本明細書の他の箇所で示されるように、画素に対するCV計算を実行するために、周辺回路が含まれ得る。上の例について続けると、センサアレイユニット212の画素内回路および/または周辺回路の中の1つまたは複数のコンポーネントは、たとえば、1つ以外のすべての画素をオフにするように、または、唯一の単一の画素として実質的に動作するようにすべての画素からの感知された値を読み取り合成するように、電力効率の高い方式でセンサアレイユニット212がより低電力の動作を実行することを可能にするために無効にされてよく、これは「単一画素モード」と呼ばれる。この構成では、センサシステム210は、周辺光感知(ALS)、近接検出(PD)、参照物体への近接の検出、または動きの検出などの、1つまたは複数のより低電力の動作を実行するように構成される。いくつかの場合、これらの機能の各々は、単一の画素だけを有するセンサアレイを使用して適切に実行され得る。
【００６４】
加えて、または代替的に、センサアレイユニット212は、より低解像度の構成において有効になることがあり、この構成では、唯一の単一の画素として実質的に動作するのではなく、センサアレイユニット212は、複数の画素として動作し得る。図6に示されるように、センサアレイユニット212の画素510のサブグループ610は各々、上で説明された単一画素モードと同様の方式で動作することができ、これによって、複数の画素を伴うセンサとして実質的に動作する(図6の構成では、4つのサブグループ610が実質的に2×2の画素アレイを形成する)。やはり、たとえば、センサシステム210の専用のCV計算ハードウェアの一部またはすべて(たとえば、周辺回路214および/またはセンサアレイユニット212の画素内回路)は、このモードの間には無効にされ得る。この構成では、センサシステム210は、ALS、PD、変化の検出(CD)、または動きの検出などの、1つまたは複数のより低電力の動作を実行することができる。図6の例は2×2の画素という見かけの解像度を利用するが、他の低減された解像度も構成され得る。やはり、そのような低減された解像度は、より少数の画素を集合的に動作させるために複数の個々の画素510を集約することを含んでよく、または、画素が光を感知しないように、または無効にされているときに出力を与えないように、センサアレイユニット212中の画素510のうちの1つまたは複数を無効にすることを含んでよい。
【００６５】
図3A〜図3Cに関して説明される動作のように、センサシステム210は、1つまたは複数の参照の出現を検出し、より低電力の動作において実行している間に1つまたは複数の対応するイベントを生成するように構成され得る。たとえば、センサシステム210は、携帯電話に組み込まれ、単一の画素310の感知された値がセンサシステム210によって検出された光の量の大きな増大を示すとき、参照の出現を検出するように構成され得る。検出された光の量のそのような変化は、携帯電話がユーザのポケットから取り出されたこと、またはテーブルもしくはナイトスタンドから持ち上げられたことを示し得る。センサシステム210は、より低電力の動作の間に、この参照の出現が起きたことを決定し、メインプロセッサ220に対する参照の出現を示すイベントを生成することができる。このイベントを検出すると、センサシステム210はさらに、顔検出および顔認識などの異なるタイプのCV動作を実行するために、より高電力の動作を有効にするように専用のCV計算ハードウェアを活動化することができる。
【００６６】
図7は、光学センサとしてセンサシステムを使用するための例示的な方法700を示す簡略化された流れ図である。本明細書で提供される他の図面と同じように、図7は非限定的な例として与えられる。加えて、方法700は、図4に示される動的なシーンベースの出現を感知する方法400を含む、本明細書で説明される実施形態に広く適用され得る。図7に示されるブロックの機能を実行するための手段は、図2Aのセンサシステム210などのセンサシステムの1つまたは複数のハードウェアコンポーネントを含み得る。いくつかの実施形態では、手段はさらに、図2Aのメインプロセッサ220などのメインプロセッサを含み得る。方法500は図2Aのセンサシステム210によって実行されるものとして以下で説明されるが、実施形態はそのようなセンサシステムに限定されない。
【００６７】
方法700はブロック710において開始することができ、710において、センサシステム210はより低電力の動作を開始する。たとえば、一態様では、センサシステム210は、ALS動作、PD動作、CD動作、またはMD動作の1つを開始する。この態様では、センサシステム210は、専用のCV計算ハードウェアを無効にすることによってより低電力の動作を開始し、低減された解像度で動作するようにセンサアレイユニット212を構成する。上で論じられたように、異なる例では、低減された解像度は単一画素モードを含み得る。いくつかの実施形態では、センサシステム210は、ALS動作とPD動作の両方、CD動作とMD動作の両方、または、ALS動作、PD動作、CD動作、およびMD動作の4つすべてなどの、複数のより低電力の動作を開始することができる。より低電力の動作を開始した後、方法700はブロック720に進む。
【００６８】
ブロック720において、より低電力の動作を実行している間、センサシステム210は参照の出現を検出する。センサシステム210がALS機能を実行するように構成される一例では、センサシステム210は、少なくとも1つのより低電力の光学センサ読取値を生成し、これは参照の出現を検出するために使用され得る。たとえば、より低電力の光学センサ読取値は、周辺光の量の変化を示すことができ、センサシステム210は、感知される光のレベルが基準の閾値を超える速さで変化するとき、または、基準の閾値を超える速さで色が変化するとき、より低電力の光学センサ読取値に基づいて参照の出現を検出することができる。
【００６９】
別の例では、センサシステム210は、PD機能を実行するように構成される。この例では、センサシステム210はさらに、発光ダイオード(LED)などの光放出器を備え、センサアレイユニット212は、反射された光の量を検出するように構成される。検出された反射光の量が閾値を超えるとき、センサシステム210は参照の出現を検出する。たとえば、センサシステム210は、物体がセンサシステム210の近くにあることを示す、参照の出現を検出することができる。一態様では、検出された反射光の量が閾値を下回るとき、センサシステム210は参照の出現を検出することができる。たとえば、センサシステム210は、物体がセンサシステム210の近くにもはやないというイベントを検出することができる。
【００７０】
一例では、センサシステム210は、CD機能を実行するように構成される。変化の検出は、閾値を超えるシーンの変化を検出することができ、ここで、シーンの変化は、たとえば図7のブロック720において説明されるような参照の出現に相当する。図2Bを参照すると、いくつかの実装形態では、ハードウェアスキャニングウィンドウアレイ238、CV計算ハードウェア242、カスケード分類器244、および/または専用のマイクロプロセッサ216、またはこれらの任意の組合せが、無効にされてよく、または低電力モードにあってよい。ここで使用される場合、無効にされるということは、そのようなコンポーネントの機能が利用されていないか、機能が通常の動作と比較して大幅に低下させられているかのいずれかであるので、電力消費が低減された状態にそのようなコンポーネントがあることを示すことが意図される。したがって、そのような状態では、センサシステムは、CV特徴の計算および後続のCV動作を伴う通常の動作と比較して、より低電力のモードで動作することができる。たとえばサブグループ610に対応する図6のブロックにおいて示されるような、センサアレイユニット212中の画素のより大きなブロックに対する画素値が、各ブロック中のすべての画素値を表す単一の値を得るために合計され得る。そのような合計は、2次元積分ハードウェア236によって提供される積分画像を使用して計算され、たとえば、積分画像フレームバッファ(図2Bには示されていない)に記憶されることが可能である。ブロックの合計は次いで、時間的にフレームごとに比較され得る。所与のブロックにおいて、以前のフレームと比較した、現在のフレームからの合計値の変化が、基準の変化の閾値より大きい場合、シーン変化という参照の出現が検出され得る。代替的な実装形態では、基準となる最小の数のブロックがそのような変化を示す場合にのみ、シーン変化という参照の出現が検出される。たとえば、センサ素子アレイが81個のブロックに分割されるシステムでは(画素は9×9のアレイへとグループ化され、ここで9×9のアレイ中の各ブロックは画素のサブアレイを含む)、各ブロックにおける変化は上で説明されたように検出されることが可能であり、シーン変化という参照の出現は、3つ、4つ、または別の数のブロックが変化を示す場合にだけトリガされ得る。シーン変化を検出すると、センサシステム210はさらに、ハードウェアスキャニングウィンドウアレイ238、CV計算ハードウェア242、カスケード分類器244、および/または専用のマイクロプロセッサ216の任意の組合せを活動化することができる。上で説明されたCD動作は積分画像または2次元積分ハードウェアを使用せずに実装され得るが、他のハードウェアを使用して合計されたブロック値を決定できることを理解されたい。
【００７１】
一例では、センサシステム210は、MD機能を実行するように構成され得る。この例では、センサシステム210は、2×2の画素という解像度よりも大きな、しかし、センサアレイユニット212における画素の最大の解像度よりも小さな、低減された解像度を有するように、センサアレイユニット212を構成する。この例では、センサシステム210は、感知された光の相対的な変化を異なる有効画素において検出するように構成される。そのような例では、センサシステム210は、有効画素(たとえば、図6に示されるようなサブグループ610)の各々において感知される光の量を分析し、少なくとも1つの他の有効画素において感知された光の量と、各々の有効画素において感知された光の量との差分の第1のセットを決定する。センサシステム210は次いで、有効画素の各々において感知される第2の光の量を検出し、少なくとも1つの他の有効画素において感知された光の量と、各々の有効画素において感知された光の量との差分の第2のセットを決定する。センサシステム210は次いで、第1のセットおよび第2のセットに基づいて差分の変化を決定する。センサシステム210は、差分の変化が基準の動きの閾値を超える場合、参照の出現を検出する。一態様では、センサシステム210は、第2の有効画素に対する相対的な感知された光の正の変化を第1の有効画素が示し、その後、第2の有効画素に対する相対的な感知された光の負の変化を第1の有効画素が示す場合、動きのイベントを検出することができる。
【００７２】
ブロック720における参照の出現の検出は次いで、少なくとも1つのより高電力の動作の開始を引き起こし得る。ブロック730において、センサシステム210は、専用のCV計算ハードウェアを有効にすることによって、より高電力の動作を開始する。たとえば、センサシステム210は、顔検出動作もしくは顔認識動作、またはジェスチャー認識動作を開始することができる。代替的に、センサシステム210は、センサシステム210によって撮影された画像における参照物体の存在を検出するために、物体検出動作を開始することができる。
【００７３】
より高電力の動作を引き起こす参照の出現がPD動作である状況では、センサシステム210によって撮影される画像における参照物体の検出は、参照物体の近接を示し得る。したがって、この例示的な方法では、より高電力の動作は、より低電力の動作とより高電力の動作との間の一方向の依存関係に基づく。この例における一方向の依存関係は、より低電力の動作が参照の出現を検出した後にのみ行われる、より高電力の動作に関連する。
【００７４】
さらに、より高電力の動作は、少なくとも1つのより低電力の光学センサ読取値を評価することに基づき得る。たとえば、上で論じられたように、センサシステム210は、より低電力のALS動作を実行し、より高電力の動作を開始することができる。いくつかの例では、より高電力の動作はまた、より低電力のALS動作からのセンサ読取値を評価することができる。たとえば、より高電力の動作は、顔検出または顔認識を含み得る。一態様では、センサシステム210は、ALSセンサの読取値を評価して、周辺光レベルを決定し、顔認識機能を実行するときの露出時間または開口サイズを調整することができる。または、いくつかの態様では、PD機能は、検出された物体までの推定される距離を決定するためにより高電力の動作が評価できる、センサ読取値を生成することができる。いくつかの態様では、センサシステム210は、他のまたは複数のより高電力の動作を開始することができる。いくつかの態様では、センサシステム210は、方法700を繰り返し実行することができる。たとえば、より高電力の動作を実行した後、センサシステム210は、方法700を再開し、より低電力の動作を開始することによってブロック710における機能を実行することができる。シーン変化を検出すると、たとえば、センサシステム210はさらに、1つまたは複数のより高電力の動作を実行するために、追加のコンポーネント(たとえば、ハードウェアスキャニングウィンドウアレイ238、CV計算ハードウェア242、カスケード分類器244、および/またはマイクロプロセッサ216)の任意の組合せを活動化することができる。センサシステム210は次いで、より高電力の動作が実行されると、より低電力のモードに戻ることができる。
【００７５】
図7の方法700は、より低電力の動作およびより高電力の動作のシーケンスとして説明されたが、いくつかの例では、センサシステム210は、より低電力の動作とより高電力の動作の両方を実質的に同時に実行することができる。たとえば、ブロック730において、より高電力の動作を実行した後で、センサシステム210は、より低電力の動作を開始するが、より高電力の動作を実行し続けることができる。したがって、いくつかの例では、ブロック710において、センサシステム210がより低電力の動作を実行している間、センサシステム210は、より高電力の動作などの追加の機能も実行していることがあり、より低電力の動作を開始することによって、センサシステム210は、より低電力の動作だけをもっぱら実行しているとは限らない。さらに、センサシステム210がブロック730においてより高電力の動作を開始するとき、センサシステム210は、いくつかの例では、より低電力の動作を実行し続けることができる。
【００７６】
図8は、光学センサとしてセンサシステムを使用するための例示的な方法800を示す。やはり、方法800は、図2Aに示される例示的なセンサシステム210に関して論じられるが、そのようなセンサシステムには限定されない。
【００７７】
方法800はブロック810において開始し、810において、センサシステム210は、図7の方法700に関して上で論じられたようなより低電力の動作を開始する。ブロック820において、より低電力の動作を実行する間、センサシステム210は、図7の方法700に関して上で論じられたような参照の出現を検出する。参照の出現を検出した後、方法800はブロック830に進む。
【００７８】
ブロック830において、センサシステム210は、より高電力の動作に対するパラメータ値を提供する。一例では、センサシステム210は、より高電力の動作のための構成設定として、周辺光のレベルを提供する。この例では、センサシステム210は、光の輝度または自動露出パラメータと関連付けられる、または画像の積分時間と関連付けられる構成設定として、パラメータ値を提供することができる。別の例では、センサシステム210は、物体までの推定される距離を提供する。1つのそのような例では、センサシステム210がPD動作を実行し物体を検出した場合、センサシステム210は、物体までの推定される距離または検出された反射光の量を提供する。別の例では、センサシステム210は、動きの方向をより高電力の動作に提供する。1つのそのような例では、センサシステム210は、より低電力のMD動作および/または変化を示すブロックの動き(上のCDの議論を参照されたい)を実行し、感知された光の相対的な量の経時的な変化に基づいて、動きの方向を検出するように構成され得る。動きの方向は、ジェスチャー検出動作などのより高電力の動作に提供され得る。
【００７９】
いくつかの実施形態では、センサシステム210は、センサシステム210によって見られているシーンが屋内のシーンである可能性が高いか屋外のシーンである可能性が高いかを示すパラメータを提供するように構成され得る。たとえば、周辺光のレベルが事前に定義された閾値を超える場合、センサシステム210は、シーンが屋外のシーンであることを示すパラメータを提供し得るが、周辺光が第2の事前に定義された閾値を下回る場合、センサシステム210は、シーンが屋内のシーンであることを示すパラメータを提供し得る。いくつかの例では、屋内/屋外の判定は、1つまたは複数の頻度で検出されるピークの輝度に基づいて行われ得る。
【００８０】
いくつかの実施形態では、センサシステム210は、シーン中の関心のある領域を示すパラメータを提供するように構成され得る。一例では、センサシステム210は、3×3の有効画素という低減された解像度で動作するようにセンサアレイユニット212を構成している。そのような例では、センサシステム210は、関心のある有効画素を決定することができ、これは、周辺光の検出された変化、近接の検出という参照の出現、有効画素のうちの1つまたは複数における変化の検出、および/または動きの検出された方向に基づき得る。一例では、センサシステム210は、参照の出現の頻度と関連付けられるパラメータを提供するように構成され得る。この例では、センサシステム210は、イベントの複数の出現を検出し、イベントが発生する頻度を決定する。
【００８１】
いくつかの実施形態によれば、より高電力の動作を決定するためにパラメータが使用され得る。一例では、パラメータはCV特徴選択動作を示し得る。たとえば、パラメータは、LBP関数を使用するか、HSG関数を使用するか、またはCV関数を使用するかを、光の輝度に基づいて示し得る。センサシステム210がパラメータを提供した後で、方法はブロック840に進む。
【００８２】
ブロック840において、センサシステム210は、上で論じられたようなパラメータ(ブロック830において提供される)を使用して、より高電力の動作を開始する。
【００８３】
図7の方法700に関して上で論じられたように、図8の方法800は、より低電力の動作およびより高電力の動作のシーケンスとして説明されたが、いくつかの例では、センサシステム210は、より低電力の動作とより高電力の動作の両方を実質的に同時に実行することができる。たとえば、ブロック840において、より高電力の動作を実行した後で、センサシステム210は、より低電力の動作を開始するが、より高電力の動作を実行し続けることができる。したがって、いくつかの例では、ブロック810において、センサシステム210がより低電力の動作を実行している間、センサシステム210は、より高電力の動作などの追加の機能も実行していることがあり、より低電力の動作を開始することによって、センサシステム210は、より低電力の動作だけをもっぱら実行しているとは限らない。さらに、センサシステム210がブロック840においてより高電力の動作を開始するとき、センサシステム210は、いくつかの例では、より低電力の動作を実行し続けることができる。ここで、より低電力の動作を実行するために専用のCV計算ハードウェアを無効にするのではなく、センサシステム210は、専用のCV計算ハードウェアが有効にされた状態で動作し続けることができる。しかしながら、より低電力の動作は、単に専用のCV計算ハードウェアを利用しないことも可能である。
【００８４】
図9は、光学センサとしてセンサシステムを使用するための例示的な方法を示す。本明細書で説明される他の方法と同じように、方法900は、図2Aに示される例示的なセンサシステムに関して論じられるが、そのようなセンサシステムには限定されない。
【００８５】
方法900はブロック910において開始し、910において、センサシステム210は上で論じられたようなより高電力の動作を開始する。ブロック920において、センサシステム210は、ブロック910におけるより高電力の動作に基づいて、顔検出または顔認識などの参照の出現を検出する。参照の出現を検出した後、方法900はブロック930に進む。
【００８６】
ブロック930において、センサシステム210は、より低電力の動作に対するパラメータを提供する。一実施形態では、より高電力の動作はセンサシステム210の近くの物体を検出することができ、いくつかの例では、システムは物体までの推定される距離も決定することができる。センサシステム210は、物体の存在を示すパラメータを備えるイベントをより低電力の動作に提供することができ、または、物体までの距離を示すパラメータをさらに(または代わりに)提供することができる。そのようなパラメータは、PD機能を支援するために、または強化するために、より低電力の動作によって利用され得る。たとえば、PD機能は、閾値の輝度レベルを確立または調整することなどによって、パラメータに基づいてセンサの近くの物体をより正確に検出することが可能であり得る。
【００８７】
いくつかの実施形態では、センサシステム210は、光源への方向を示すパラメータを提供することができる。たとえば、より高電力の動作は、照らされている物体または反射性の物体、およびその物体の位置またはそれへの方向を検出することができる。センサシステム210は、光源への方向を示すより高電力の動作に基づいてパラメータを提供することができる。より低電力の動作は、たとえばALSを実行するとき、このパラメータを利用することができる。一例では、より高電力の動作は、センサシステム210によって見られているシーンが屋内のシーンであるか屋外のシーンであるかを決定することができる。センサシステム210は、パラメータをより低電力の動作に提供することができる。たとえば、パラメータは、周辺光の変化を検出するための閾値と関連付けられる情報を提供することによってALS機能を支援することなどによって、より低電力の動作を支援または強化することができる。
【００８８】
いくつかの実施形態では、例示的なセンサシステム210は、部屋の占有のインジケータ、または、センサシステム210によって見られているシーンにおいて可視である人の数のインジケータを示す、パラメータを提供する。たとえば、より高電力の動作は、センサシステム210によって見られているシーンにおいて、1つまたは複数の顔を、または1人または複数の人を検出することがある。センサシステム210は次いで、シーンの中の人または顔の数を示す、またはある領域の占有のレベルのインジケータを示すパラメータを提供することができる。一例では、MD機能などのより低電力の動作は、動きをより良好に検出するために、または動きに対するMD機能の感度を下げるために、そのような情報を使用することができる。たとえば、センサシステム210が高いレベルの占有を示すパラメータを提供する場合、MD機能は、より強い動きの指示を必要とする所定の閾値へと切り替わることができ、したがって、MD機能は動きに対する感度が下がる。代替的に、センサシステム210が低いレベルの占有を示すパラメータを提供する場合、MD機能は、動きのイベントを検出するときにその感度を上げることができる。別の例では、より高電力の動作は、上で説明されたCD動作に対してブロックの閾値の数および/または最小の数を設定することができる。
【００８９】
ブロック940において、センサシステム210は、パラメータを使用してより低電力の動作を開始する。たとえば、センサシステム210は、図7および図8に関して上で説明されたように、より低電力の動作を開始することができる。この例では、より低電力の動作は、開始後に、パラメータを使用するように構成される。たとえば、上で論じられたように、PD機能は、閾値の輝度レベルを確立または調整することなどによって、パラメータに基づいてセンサの近くの物体をより正確に検出することが可能であり得る。一例では、パラメータは、周辺光の変化を検出するための閾値と関連付けられる情報を提供することによってALS機能を支援することなどによって、より低電力の動作を支援または強化することができる。
【００９０】
いくつかの実施形態は、方法900を繰り返し実行することができる。たとえば、より高電力の動作を実行した後、センサシステム210は、方法900を再開し、ブロック910におけるより低電力の動作を開始することができる。
【００９１】
図7および図8の方法700、800に関して上で論じられたように、図9の方法900は、より高電力の動作およびより低電力の動作のシーケンスとして説明されたが、いくつかの例では、センサシステム210は、より低電力の動作とより高電力の動作の両方を実質的に同時に実行することができる。たとえば、ブロック940において、より低電力の動作を実行した後で、センサシステム210は、より高電力の動作を開始するが、より低電力の動作を実行し続けることができる。したがって、いくつかの例では、ブロック910において、センサシステム210がより高電力の動作を実行している間、センサシステム210は、より低電力の動作などの追加の動作も実行していることがあり、より高電力の動作を開始することによって、センサシステム210は、より高電力の動作だけをもっぱら実行しているとは限らない。さらに、センサシステム210がブロック940においてより低電力の動作を開始するとき、センサシステム210は、いくつかの例では、より高電力の動作を実行し続けることができる。
【００９２】
いくつかの実施形態では、1つまたは複数の方法が組み合わされ得る。たとえば、図7または図8の方法は、図9の方法と組み合わされ得る。たとえば、図7の方法700のブロック730を完了した後で、方法は図9の方法900のブロック920に進み得る。一例では、図8の方法800のブロック840を完了した後で、方法は図9の方法900のブロック920に進み得る。さらなる組合せも考えられる。
【００９３】
図10Aは、コンピュータビジョン計算およびより低電力の光学センサ読取りのための例示的な状態図を示し、これはセンサシステム210によって実行され得る。図10Aは、より低電力の動作状態1010およびより高電力の動作状態1020という2つの状態を含む。より低電力の動作状態1010では、センサシステム210は、1つまたは複数のより低電力の動作を実行するように構成され、1つまたは複数のセンサ読取値を取得することができる。より高電力の動作状態1020では、センサシステム210は、コンピュータビジョンの計算および動作などの1つまたは複数のより高電力の動作を実行するように構成され、1つまたは複数のセンサ読取値を取得することができる。いくつかの実施形態では、センサシステム210は、より低電力の動作状態1010とより高電力の動作状態1020のいずれかであるように構成されるが、同時にそれらの両方であるようには構成されない。1つのそのような例では、センサシステム210は、センサ読取値に基づいてある状態から他の状態に遷移するように構成され、このことは、状態間の一方向の依存関係を確立し得る。たとえば、一例では、より高電力の動作の実行がより低電力の動作からのセンサ読取値に依存し、または、より低電力の動作の実行がより高電力の動作からのセンサ読取値に依存する。
【００９４】
しかしながら、いくつかの例では、センサシステム210は、状態1010、1020の両方において実質的に同時に動作するように構成され得る。たとえば、一例では、センサシステム210は、複数のセンサアレイユニット212を備えてよく、そのうちの1つがより低電力の動作を実行するように構成されてよく、そのうちの別のものがより高電力の動作を実行するように構成されてよい。いくつかの例では、センサシステム210は、センサアレイユニット212の一部分がより低電力の動作を実行するように構成され、一方でセンサアレイユニット212の別の部分がより高電力の動作を実行するように構成されるように、センサアレイユニット212を細分することができる。センサシステム210が状態1010と1020の両方において実質的に同時に動作するように構成される一例では、これらの状態の一方からのセンサ読取値に基づいて、他方の状態における特定の動作の開始を引き起こす、または他方の状態における動作の再構成を引き起こすような、一方向の依存関係が確立され得る。いくつかの実施形態では、図10Bにおいて見られ得るように、一方の状態における動作は、他方の状態における動作によって使用可能な1つまたは複数のパラメータ値を提供することができる。
【００９５】
図10Bは、コンピュータビジョン計算およびより低電力の光学センサ読取りのための例示的な状態図を示し、これはセンサシステム210によって実行され得る。図10Bは、図10Aに関して上で説明された状態を含むが、状態1010と1020の一方または両方におけるイベントの検出に応答して、状態1010と1020の間での状態の遷移または情報の受け渡しも含む。図10Aにおける状態図と同じように、センサシステム210は、2つの状態1010、1020の間を順番に遷移することができ、または、同時に状態1010と1020の両方において動作することができる。センサシステム210は、状態の各々においてイベントを検出するように構成され得る。参照の出現の例は本開示においてより前に説明されている。図10Bに示されるように、センサシステム210は、一方の状態における機能から他方の状態における1つまたは複数の機能への検出されたイベントに基づいて、1つまたは複数のパラメータ値を提供する。
【００９６】
たとえば、センサシステム210がより低電力の動作状態1010においてPD動作を実行しており、センサシステム210の近くの物体を検出する場合、センサシステム210は、物体が検出されること、または物体までの推定される距離を示すフラグ値などのパラメータ値を、顔検出機能などのより高電力の動作状態1020におけるコンピュータビジョン機能に提供する。いくつかの状況では、センサシステム210はまた、より低電力の動作状態1010からより高電力の動作状態1020に遷移することができる。しかしながら、センサシステム210は、1つまたは複数のパラメータ値を使用して、より高電力の動作状態1020における動作を活動化し、またはその実行を続けることができる。センサシステム210はまた、より高電力の動作状態1020におけるイベントを検出し、1つまたは複数のパラメータ値をより低電力の動作に提供することができ、センサシステムは、より低電力の動作状態に遷移し、または、1つまたは複数のパラメータ値を使用して、より低電力の動作状態1020における動作を活動化し、もしくはその実行を続けることができる。
【００９７】
図11A、図11B、および図11Cは、いくつかの実施形態による、複数のセンサ素子からのセンサ読取値をCV特徴に変換するプロセスを示す。
【００９８】
図11Aは、ヒストグラムを生成して特徴を検出するために考慮される、センサアレイユニット(たとえば、図2Aまたは図2Bのセンサアレイユニット212)の複数のセンサ素子からのセンサ読取値のグループ(ウィンドウ1102)を示す。
【００９９】
図11Bは、LBPラベルを生成するための中央センサ素子1104に対するバイナリの閾値を生成するプロセスを示す。図2BのCV計算ハードウェア242は、LBPラベルを計算するためのハードウェアを含み得る。中央センサ素子に対して生成されるラベルは、バイナリ値1111000によって表され得る。同様に、LBPラベルは、ウィンドウ1102から9個のセンサ素子の各々に対して生成される。各ラベルは、対象センサ素子から見たCV特徴を示すものを提供し得る。ラベルを生成するための閾値処理は、センサアレイ中の複数の対象センサ素子に対応する信号に対して繰り返され得る。図11Bに示される画素レベルのLBPは、マルチブロックLBPを含むように拡張されることが可能であり、マルチブロックLBPでは、示されるバイナリ閾値が、1つまたは複数の対象センサ素子のブロックに対応する値を隣接するセンサ素子のブロックと比較することによって、1つまたは複数の対象センサ素子のブロックに対して生成され、値のそのような合計はブロック中の1つまたは複数の対象センサ素子と関連付けられる。センサ素子のブロックの各々に対応する値の計算は、積分画像を計算することによって容易にされ得る。同様に、local ternary patterns(LTP)などのLBPの拡張も同様に計算され得、LTPは、対象センサ素子と隣接するセンサ素子との間の差分に応じた3つの出力を与えることを理解されたい。たとえば、LTPの一実装形態では、隣接するセンサ素子に対応する信号が対象センサ素子に対応する信号に閾値を足したものより大きい場合、出力は1であり、隣接するセンサ素子に対応する信号が対象センサ素子に対応する信号と比較して閾値以内にある場合、出力は0であり、隣接するセンサ素子に対応する信号が対象センサ素子に対応する信号から閾値を引いたものより小さい場合、出力は-1である。
【０１００】
図11Cは、あるウィンドウに対する、たとえばセンサ素子アレイからのセンサ素子のあるサブセットを表すウィンドウに対する、ウィンドウからのセンサ素子の各々に対する複数のラベルから、たとえば図2Bのハードウェアスキャニングウィンドウアレイ238に記憶されているサンプルウィンドウから生成される、正規化されたヒストグラムを示す。図11Cに示されるように、ウィンドウ1102からのセンサ読取値に対するLBPラベルの各々は、たとえば256個のスロットを伴うヒストグラム上のどこかにあり得る。よって、たとえば、対象センサ素子をその8つの隣接するセンサ素子と比較するとき、8ビットの数が生成され、これは256個の異なるLBPラベルがあり得ることを意味する。ヒストグラムは、所与のLBPラベルの各々がウィンドウにおいて実際に生成された回数を表し得る。顔がウィンドウにおいて存在するかどうかを決定するために、一実装形態では、生成されるヒストグラムは顔の参照ヒストグラムと比較され得る。生成されたヒストグラムと参照ヒストグラムとの共通部分が計算されてよく、スカラー和がその共通部分の合計から生成される。スカラー和が閾値より大きい場合、所与の確率で、顔がウィンドウ内で検出される。参照ヒストグラムおよび閾値は一般に、この例では顔のサンプルおよび顔ではないもののサンプルおよびそれらのLBPヒストグラムのデータセットに対して、機械学習アルゴリズムを使用する訓練段階において決定される。参照ヒストグラムおよび閾値が訓練段階において決定されると、同じアーキテクチャに対して、それらは、たとえば、図2Aまたは図2Bのマイクロプロセッサ216においてプログラムされることが可能であり、または代替的に、上のヒストグラムのプロセスは、画像内の所与のウィンドウに対するヒストグラムを計算し、顔または他の物体がウィンドウ内に存在するかどうかを決定するための、上で図2Bにおいて論じられたカスケード分類器ハードウェア244に類似する専用のハードウェアによって実行され得る。ヒストグラムの生成のためにLBPラベルを使用する代わりに、またはそれに加えて、LBPラベルは、図2Bにおいて論じられるような物体の検出のためのカスケード分類器によって使用されることが可能であることを理解されたい。
【０１０１】
図12は、上で説明されたようにセンサシステム210を利用することができる、モバイルデバイスの105の実施形態を示す。図12は、様々なコンポーネントの一般化された例示を提供することが意図されているにすぎず、それらのコンポーネントのいずれかまたはすべてが適宜に利用され得ることに留意されたい。いくつかの事例では、図12によって示されるコンポーネントは、単一の物理デバイスに局在していてよく、かつ/または、異なる物理的位置に配設され得る様々なネットワーク化されたデバイスに分散していてよいことに留意されたい。
【０１０２】
モバイルデバイス105は、バス1205を介して電気的に結合され得る(または、適宜、他の方法で通信していてよい)ハードウェア要素を備えるように示されている。ハードウェア要素は、処理ユニット1210を含んでよく、処理ユニット1210は、限定はされないが、1つもしくは複数の汎用プロセッサ、1つもしくは複数の(デジタル信号処理(DSP)チップ、グラフィックアクセラレーションプロセッサ、特定用途向け集積回路(ASIC)などの)専用プロセッサ、および/または、他の処理構造もしくは手段を含み得る。上で説明された実施形態では、処理ユニット1210は、図2Aのメインプロセッサ220および/または図4に関して説明された第2の処理ユニットに相当し得る。図12に示されるように、いくつかの実施形態は、望まれる機能に応じて、別個のDSP1220を有し得る。モバイルデバイス105はまた、限定されることなく、タッチスクリーン、タッチパッド、マイクロフォン、ボタン、ダイヤル、スイッチなどを含み得る1つもしくは複数の入力デバイス1270と、限定されることなく、ディスプレイ、発光ダイオード(LED)、スピーカーなどを含み得る、1つもしくは複数の出力デバイス1215とを含み得る。
【０１０３】
モバイルデバイス105は、また、ワイヤレス通信インターフェース1230を含んでよく、ワイヤレス通信インターフェース1230は、限定はされないが、モデム、ネットワークカード、赤外線通信デバイス、ワイヤレス通信デバイス、および/または(Bluetooth(商標)デバイス、IEEE802.11デバイス、IEEE802.15.4デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備、などの)チップセット、などを含み得る。ワイヤレス通信インターフェース1230は、データが、ネットワーク、ワイヤレスアクセスポイント、他のコンピュータシステム、および/または本明細書で説明される任意の他の電子デバイスと交換されることを可能にし得る。通信は、ワイヤレス信号1234を送信し、かつ/または受信する、1つもしくは複数のワイヤレス通信アンテナ1232を介して実行され得る。
【０１０４】
望まれる機能に応じて、ワイヤレス通信インターフェース1230は、送受信基地局(たとえば、セルラーネットワークの基地局)および/またはアクセスポイントと通信するための別個の送受信機を含み得る。これらのデータネットワークは、様々なネットワークのタイプを含み得る。加えて、ワイヤレスワイドエリアネットワーク(WWAN)は、符号分割多重接続(CDMA)ネットワーク、時分割多重接続(TDMA)ネットワーク、周波数分割多重接続(FDMA)ネットワーク、直交周波数分割多重接続(OFDMA)ネットワーク、シングルキャリア周波数分割多重接続(SC-FDMA)ネットワーク、WiMax(IEEE802.16)などであってよい。CDMAネットワークは、cdma2000、Wideband-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ネットワークは、LTE、LTE Advancedなどを利用することができる。LTE、LTE Advanced、GSM、およびW-CDMAは、3GPPからの文書に記述されている。cdma2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称のコンソーシアムからの文書に記載されている。3GPPおよび3GPP2文書は、公開されている。ワイヤレスローカルエリアネットワーク(WLAN)は、IEEE802.11xネットワークであってもよく、ワイヤレスパーソナルエリアネットワーク(WPAN)は、Bluetoothネットワーク、IEEE802.15x、または何らかの他のタイプのネットワークであってよい。本明細書で説明される技法はまた、WWAN、WLAN、および/またはWPANの任意の組合せのために使用され得る。
【０１０５】
モバイルデバイス105は、センサ1240をさらに含み得る。そのようなセンサは、限定されることなく、1つまたは複数の加速度計、ジャイロスコープ、カメラ、磁力計、高度計、マイクロフォン、近接センサ、光センサなどを含み得る。加えて、または代替的に、センサ1240は、図2Aもしくは図2Bのセンサシステム210および/または同様の電子センサを含み得る。したがって、本明細書で説明される実施形態は、(図2Aのメインプロセッサ220に相当する)図12の処理ユニット1210に含まれる第2の処理ユニットに対するイベントを生成する、センサ1240のセンサシステム210の中の第1のプロセッサ(たとえば、図2Aまたは図2Bのマイクロプロセッサ216)を含み得る。いくつかの実施形態では、センサ1240の第1の処理ユニット(たとえば、図2Aまたは図2Bのセンサシステム210のマイクロプロセッサ216)は、顔が検出されたことを、画像アレイ(たとえば、図2Aまたは図2Bのセンサアレイユニット212)の1つまたは複数の出力から受信される1つまたは複数の信号から決定し、この決定に応答して、第2の処理ユニット(たとえば、図12の処理ユニット1210)に対する顔検出イベントを生成することができる。いくつかの実施形態では、処理ユニット1210は低電力モードで動作することができ、センサ1240の第1の処理ユニット(たとえば、図2Aまたは図2Bのセンサシステム210のマイクロプロセッサ216)は、処理ユニット1210が低電力モードで動作している間に、処理ユニット1210によって受信されるべきイベントを生成し、かつ/または処理ユニット1210にイベントを通信するように動作可能である。
【０１０６】
モバイルデバイスの実施形態はまた、衛星測位システム(SPS)アンテナ1282を使用して、1つまたは複数のSPS衛星から信号1284を受信することができるSPS受信機1280を含み得る。SPS受信機1280は、全地球航法衛星システム(GNSS)(たとえば、全地球測位システム(GPS))、Galileo、Glonass、Compass、日本上空の準天頂衛星システム(QZSS)、インド上空のインド地域航法衛星システム(IRNSS)、中国上空の北斗などの、SPSシステムの衛星から、従来の技法を使用して、モバイルデバイスの場所を得ることができる。その上、SPS受信機1280は、1つまたは複数の全世界的な、および/または地域的な航法衛星システムとともに使用することと関連付けられ得る、またはそのことを別様に可能にされ得る、様々な補助システム(たとえば、衛星型衛星航法補強システム(SBAS))において使用され得る。限定ではなく例として、SBASは、Wide Area Augmentation System(WAAS)、European Geostationary Navigation Overlay Service(EGNOS)、Multi -functional Satellite Augmentation System(MSAS)、GPS Aided Geo Augmented Navigation or GPS and Geo Augmented Navigation system(GAGAN)などの、完全性情報、差分補正などを提供する補強システムを含み得る。したがって、本明細書で使用される場合、SPSは1つもしくは複数の全地球的な、および/または地域的な航法衛星システム、ならびに/あるいは、補強システムの任意の組合せを含むことがあり、SPS信号は、SPS信号、SPS様信号、および/またはそのような1つもしくは複数のSPSと関連付けられる他の信号を含むことがある。
【０１０７】
モバイルデバイス105はさらに、メモリ1260を含むことがあり、かつ/またはメモリ1260と通信していることがある。メモリ1260は、限定はされないが、プログラム可能、フラッシュ更新可能などであり得る、ローカルおよび/またはネットワークアクセス可能な記憶装置、ディスクドライブ、ドライブアレイ、光ストレージデバイス、ランダムアクセスメモリ(「RAM」)、および/または、読取り専用メモリ(「ROM」)などのソリッドステート記憶デバイスを含み得る。そのような記憶デバイスは、限定はされないが、様々なファイルシステム、データベース構造などを含む、任意の適切なデータストアを実現するように構成され得る。前に列挙されたメモリのタイプのいずれかを含み得る、図2Aのメモリ218は、望まれる機能に応じて、メモリ1260に含まれることがあり、またはメモリ1260とは別個であることがある。
【０１０８】
モバイルデバイス105のメモリ1260はまた、本明細書で説明されるように、オペレーティングシステム、デバイスドライバ、実行可能ライブラリ、ならびに/あるいは、様々な実施形態によって提供されるコンピュータプログラムを備えることが可能であり、かつ/または、方法を実装し、かつ/または他の実施形態によって提供されるシステムを構成するように設計され得る、1つもしくは複数のアプリケーションプログラムなどの、コンピュータ可読媒体において具現化される他のコードを含む、ソフトウェア要素(図示せず)を備え得る。そうすると、ある態様では、そのようなコードおよび/または命令は、説明された方法に従って、1つもしくは複数の動作を実行するように汎用コンピュータ(または、他のデバイス)を構成および/あるいは適合するために使用され得る。
【０１０９】
具体的な要件に従ってかなりの変形が行われてよいことが、当業者には明らかであろう。たとえば、カスタマイズされたハードウェアも使用されてよく、かつ/または、特定の要素は、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくは両方で実装されてよい。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が利用されることがある。
【０１１０】
添付の図面を参照すると、メモリを含み得るコンポーネントは、非一時的機械可読媒体を含み得る。本明細書において使用されるときに、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の方式で動作させるデータを与えることに関与する任意の記憶媒体を指す。本明細書において上で与えられた実施形態では、様々な機械可読媒体が、命令/コードを実行のために処理ユニットおよび/または他のデバイスに提供することに関与することがある。加えて、または代替的に、機械可読媒体は、そのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装形態において、コンピュータ可読媒体は、物理的な記憶媒体および/または有形の記憶媒体である。そのような媒体は、限定はされないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形をとることができる。コンピュータ可読媒体の一般的な形態は、たとえば、磁気媒体および/もしくは光学媒体、パンチカード、紙テープ、他の任意の穴パターン付きの物理媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップもしくはカートリッジ、後述されるような搬送波、またはコンピュータがそれから命令および/もしくはコードを読み取ることができる他の任意の媒体を含む。
【０１１１】
本明細書で論じられた方法、システム、およびデバイスは例である。様々な実施形態は、必要に応じて、様々な手順またはコンポーネントを省略し、置換し、または追加することができる。たとえば、いくつかの実施形態に関して説明された特徴は、様々な他の実施形態において組み合わされてもよい。実施形態の異なる態様および要素は、同様の方式で組み合わされ得る。本明細書で提供される図面の様々なコンポーネントは、ハードウェアおよび/またはソフトウェアで具現化され得る。また、技術は進化し、したがって、要素の多くは、本開示の範囲をこれらの特定の例に限定しない例である。
【０１１２】
ときには、主に一般に用いられているという理由で、そのような信号を、ビット、情報、値、要素、シンボル、文字、変数、用語、番号、数字などと呼ぶことが好都合であることがわかっている。しかし、これらのまたは類似の用語はすべて、適切な物理量と関連付けられるものであり、便宜的な呼び方にすぎないことを理解されたい。別段に明記されていない限り、上の議論から明らかなように、本明細書全体にわたって、「処理する」、「算出する」、「計算する」、「決定する」、「確定する」、「識別する」、「関連付ける」、「測定する」、「実行する」などの用語を利用する議論は、専用のコンピュータまたは同様の専用の電子コンピューティングデバイスなどの、特定の装置の動作または処理を指すことを理解されたい。したがって、本明細書の文脈においては、専用コンピュータまたは同様の専用電子コンピューティングデバイスは、専用コンピュータまたは同様の専用電子コンピューティングデバイスのメモリ、レジスタ、もしくは他の情報記憶デバイス、送信デバイス、または表示デバイス内の、電子的な、電気的な、または磁気的な物理量として一般に表される信号を操作または変換することができる。
【０１１３】
本明細書で使用される「および」および「または」という用語は、そのような用語が使用される文脈に少なくとも部分的に応じて決まるとも考えられる、様々な意味を含み得る。通常、「または」は、A、BまたはCなどの列挙を関連付けるために使用される場合、包含的な意味で使用される場合には、A、B、およびCを、ならびに排他的な意味で使用される場合には、A、BまたはCを意味することが意図される。加えて、本明細書で使用される「1つまたは複数」という用語は、単数の任意の特徴、構造、もしくは特性を表すために使用されることがあり、または、特徴、構造もしくは特性の何らかの組合せを表すために使用されことがある。しかしながら、これは説明のための例にすぎず、特許請求される主題はこの例に限定されないことに留意されたい。さらに、「少なくとも1つの」という用語は、A、B、またはCなどの列挙を関連付けるために使用されている場合、A、AB、AA、AAB、AABBCCCなど、A、B、および/またはCの任意の組合せを意味するように解釈され得る。
【０１１４】
いくつかの実施形態について説明してきたが、様々な変更、代替構造、および均等物が本開示の趣旨から逸脱することなく使用され得る。たとえば、上記の要素は、単により大きいシステムの構成要素であることがあり、他の規則が本発明の適用例よりも優先されることがあり、またはそうでなければ本発明の適用例を修正することがある。また、上記の要素が考慮される前、考慮される間、または考慮された後に、いくつかのステップが実施されてもよい。したがって、上記の説明は本開示の範囲を限定しない。
【符号の説明】
【０１１５】
100  設定
105  モバイルデバイス
110  ビュー
130  ユーザ
210  センサシステム
212  センサアレイユニット
213  スマート画像アレイ
214  周辺回路
215  画像アレイ
216  マイクロプロセッサ
217  第1の処理ユニット
218  メモリ
220  メインプロセッサ
222  アプリケーション、ソフトウェア、アルゴリズムなど
230  ラインバッファ
234  ADC
236  2D積分ハードウェア
238  ハードウェアスキャニングウィンドウアレイ
242  CV計算ハードウェア
244  カスケード分類器ハードウェア
246  インターフェース
400  方法
510  画素
610  サブグループ
700  方法
800  方法
900  方法
1010  より低電力の動作
1020  より高電力の動作
1102  ウィンドウ
1104  中心センサ素子
1205  バス
1210  処理ユニット
1215  出力デバイス
1220  DSP
1230  ワイヤレス通信インターフェース
1232  ワイヤレス通信アンテナ
1234  ワイヤレス信号
1240  センサ
1260  メモリ
1270  入力デバイス
1280  SPS受信機
1282  SPSアンテナ
1284  信号
【図１】
2020145714.tif 000003
【図２Ａ】
2020145714.tif 000004
【図２Ｂ】
2020145714.tif 000005
【図３Ａ】
2020145714.tif 000006
【図３Ｂ】
2020145714.tif 000007
【図３Ｃ】
2020145714.tif 000008
【図４】
2020145714.tif 000009
【図５】
2020145714.tif 000010
【図６】
2020145714.tif 000011
【図７】
2020145714.tif 000012
【図８】
2020145714.tif 000013
【図９】
2020145714.tif 000014
【図１０Ａ】
2020145714.tif 000015
【図１０Ｂ】
2020145714.tif 000016
【図１１Ａ−１１Ｃ】
2020145714.tif 000017
【図１２】
2020145714.tif 000018
【外国語明細書】
2020145714000001.pdf