[0001]本出願は、2013年6月14日に出願された「IMAGE-STATISTIC PROCESSING TO REDUCE COMPUTER VISION POWER USAGE」と題する米国仮特許出願第61/835,400号、2013年8月29日に出願された「SYSTEM AND METHOD TO IDENTIFY A CONTEXT OF AN IMAGE」と題する米国仮特許出願第61/871,678号、および2014年6月12日に出願された「COMPUTER VISION APPLICATION PROCESSING」と題する米国非仮特許出願第14/303,490号による優先権を主張し、それらの内容が全体として参照により組み込まれる。
[0059]図1を参照すると、ビデオストリームの画像フレームおよび画像フレームの対応するピクセル表現の特定の例示的な実施形態が示されている。たとえば、ビデオストリームは、画像データの第1のフレーム102と、画像データの第2のフレーム104と、画像データの第3のフレーム106とを含むことができる。特定の実施形態では、第1のフレーム102、第2のフレーム104、および第3のフレーム106は、ビデオストリームにおける連続した画像フレームであり得る。
[0060]ビデオストリームは、アプリケーション特有処理(たとえば、コンピュータビジョンアプリケーション処理)の対象になり得る。たとえば、特定の例示的な実施形態では、ビデオストリームは、手認識アプリケーションの対象に(たとえば、視野の中に手があるかどうかを検出する処理の対象に)なり得る。一方、他の実施形態では、ビデオストリームは、他のコンピュータビジョンアプリケーションの対象になり得る。たとえば、ビデオストリームは、セキュリティアプリケーション(たとえば、監視、侵入検出、オブジェクト検出、顔認識など)、環境使用アプリケーション(たとえば、照明制御)、オブジェクト検出および追跡アプリケーションなどの対象になり得る。
[0061]図1に示すフレームでは、第1のフレーム102の視野の中に手が存在せず(たとえば、見えず)、第2のフレーム104の視野の中に手の一部分が見えており、第3のフレーム106の視野の中に手が完全に見える。第1のフレーム102は、第1のピクセル表現112におけるピクセルによって特徴付けられてよく、第2のフレーム104は、第2のピクセル表現114におけるピクセルによって特徴付けられてよく、第3のフレーム106は、第3のピクセル表現116におけるピクセルによって特徴付けられてよい。
[0062]処理システム内の低電力デバイス(図1に示されていない)は、ビデオストリームにおける各フレーム102〜106についての画像統計を、各フレーム102〜106がキャプチャされた後に生成することができる。たとえば、低電力デバイスは、各フレーム102〜106についての画像統計を、対応するピクセル表現112〜116に基づいて生成することができる。グレースケール画像フレームの場合、ピクセル表現112〜116における各ピクセルは、0と255との間の強度値に対応し得る。0の強度値は白ピクセルに対応することができ、255の強度値は黒ピクセルに対応することができる。低電力デバイスは、特定のフレーム102〜106における各ピクセルについての強度値を決定し、各強度値についてのカウントに基づいて特定のフレーム102〜106についての強度ヒストグラムを生成することができる。たとえば、低電力デバイスは、第1のフレーム102についての第1の強度ヒストグラムと、第2のフレーム104についての第2の強度ヒストグラムと、第3のフレーム106についての第3の強度ヒストグラムとを生成することができる。
[0063]マルチスペクトラル画像フレームの場合、ピクセル表現112〜116における各ピクセルは、特定の色値(color value)に対応し得る。色値は、ピクセルにおける赤(R)、緑(G)、および青(B)の濃度に基づき得る。低電力デバイスは、特定のフレーム102〜106における各ピクセルについての色値を決定し、各色値についてのカウントに基づいて特定のフレーム102〜106についての色ヒストグラムを生成することができる。たとえば、低電力デバイスは、第1のフレーム102についての第1の色ヒストグラムと、第2のフレーム104についての第2の色ヒストグラムと、第3のフレーム106についての第3の色ヒストグラムとを生成することができる。
[0064]処理システム内の高電力デバイス(図1に示されていない)は、ビデオストリームにおける特定のフレームに対するアプリケーション特有処理を実行することができる。たとえば、特定の例示的な実施形態では、アプリケーション特有処理は、選択されたフレームの中に特定のオブジェクト(たとえば、手)があるかどうかを決定することを含み得る。他の実施形態では、アプリケーション特有処理は、警告事象がトリガされているかどうかを決定することを含み得る。警告事象は、フレーム間の状況の変化に対応し得る。例示的な非限定的例として、警告事象は、患者がベッドから落ちること、住居侵入、車が私道に入ること、人が部屋に入ってくることなどに対応し得る。低電力デバイスにおいて画像統計を生成することは、高電力デバイスにおいてアプリケーション特有処理を実行することよりも少ない電力を消費し得る。たとえば、第2の画像統計を生成することは、第2のフレーム104に対するアプリケーション特有処理を実行することよりも少ない電力を消費し得る。
[0065]動作中、カメラ(たとえば、ビデオカメラ)が第1の時間に第1のフレーム102をキャプチャすることがあり、処理システムは第1のフレーム102に対する画像処理を実行し得る。たとえば、低電力デバイスは、第1のフレーム102についての第1の画像統計(たとえば、第1の強度ヒストグラムおよび/または第1の色ヒストグラム)を生成することができ、高電力デバイスは、第1のフレーム102の中に手が見えるかどうかを決定するために、第1のフレーム102に対するアプリケーション特有処理を実行することができる。第1のフレーム102を処理した後、カメラは第2の時間に第2のフレーム104をキャプチャし得る。低電力デバイスは、第2のフレーム104についての第2の画像統計を生成することができる。第1のフレーム102の中に手が見えていないと高電力デバイスが決定した場合、処理システム内の統計処理デバイス108は、(たとえば、第2のフレーム104の中に手が見えるかどうかを決定するために)第2のフレーム104に対するアプリケーション特有処理を実行するべきかどうかを決定するために、第1の画像統計と第2の画像統計を比較することができる。別の特定の実施形態では、アプリケーション特有処理を実行することは、警告事象がトリガされているかどうかを決定することを含み得る。たとえば、警告事象は、第1のフレーム102と第2のフレーム104との間の状況の変化に対応し得る。
[0066]たとえば、統計処理デバイス108は、第1の画像統計と第2の画像統計(たとえば、第Nの画像統計)とを受信し得る。統計処理デバイス108は、第2の画像統計と第1の画像統計との間の第1の変化量がしきい値を満たすかどうかを決定することができる。変化量がしきい値を満たさない場合、処理システムは、(たとえば、第2のフレーム104の第2の画像統計を生成するために)第2のフレーム104の部分的処理を実行するだけでよく、第2のフレーム104のアプリケーション特有処理を回避するか、または見送ることができる。変化量がしきい値を満たす場合、処理システムは、第2の画像統計を生成すること、ならびに第2のフレーム104に対するアプリケーション特有処理を実行することによって、第2のフレーム104に対するより完全な処理を実行し得る。
[0067]グレースケール画像の場合、第1の強度ヒストグラムにおける特定の強度値についてのピクセルの第1のカウントと第2の強度ヒストグラムにおける特定の強度値についてのピクセルの第2のカウントとの間の差が特定の値よりも大きいときに、第1の変化量はしきい値を満たし得る。しきい値は、ユーザが選択したしきい値であり得る。非限定的な例として、第1のピクセル表現112および第2のピクセル表現114はそれぞれ、2,000万(20,000,000)ピクセルを含むことがある(たとえば、第1および第2のフレーム102、104は20メガピクセル画像である)。第1のピクセル表現112は1,100万(11,000,000)の白ピクセル(たとえば、0の強度値を有する1,100万ピクセル)を含むことがあり、第2のピクセル表現114は1,050万(10,500,000)の白ピクセルを含むことがある(たとえば、50万ピクセルの差)。しきい値が10万ピクセルである場合、第1の変化量(たとえば、差)はしきい値を満たし、処理システムは、第2のフレーム104の中に手が見えるかどうかを決定するために、第2のフレーム104に対するアプリケーション特有処理を実行することができる。しきい値が100万ピクセルである場合、第1の変化量はしきい値を満たさず、処理システムは、電力を節約するために第2のフレーム104に対するアプリケーション特有処理を回避することができる。
[0068]マルチスペクトラル画像フレームの場合、第1の色ヒストグラムにおける特定の色値についてのピクセルの第1のカウントと第2の色ヒストグラムにおける特定の色についてのピクセルの第2のカウントとの間の差が特定の値よりも大きいときに、第1の変化量はしきい値を満たし得る。非限定的な例として、第1のピクセル表現112および第2のピクセル表現114はそれぞれ、2,000万ピクセルを含むことがある。第1のピクセル表現112は500万の赤ピクセルを含むことがあり、第2のピクセル表現114は800万の赤ピクセルを含むことがある(たとえば、300万ピクセルの差)。しきい値が200万ピクセルである場合、第1の変化量(たとえば、差)はしきい値を満たし、処理システムは、第2のフレーム104の中に手が見えるかどうかを決定するために、第2のフレーム104に対するアプリケーション特有処理を実行することができる。しきい値が400万ピクセルである場合、第1の変化量はしきい値を満たさず、処理システムは、電力を節約するために第2のフレーム104に対するアプリケーション特有処理を回避することができる。特定のコンピュータビジョンアプリケーションに基づいて、値の特定の範囲がしきい値に使用され得る。たとえば、手検出(または顔検出)に関連するコンピュータビジョンアプリケーションが、肌の色合いに関連する色に焦点を当てることがある。
[0069]第2のフレーム104を処理した後、処理システムは第3のフレーム106を処理することができる。たとえば、低電力デバイスは、第3のフレーム106についての第3の画像統計(たとえば、第3の強度ヒストグラムおよび/または第3の色ヒストグラム)を生成することができる。第2のフレーム104に対するアプリケーション特有処理が回避された場合、統計処理デバイス108は、第3の画像統計と第2の画像統計との間の第2の変化量がしきい値を満たすかどうかを決定することができる。第2の変化量がしきい値を満たす場合、高電力デバイスは、第3のフレーム106の中に手が見えるかどうかを決定するために、第3のフレーム106に対するアプリケーション特有処理を実行することができる。第2の変化量がしきい値を満たさない場合、高電力デバイスは、エネルギーを節約するために第3のフレーム106に対するアプリケーション特有処理を回避することができる。
[0070]特定の実施形態では、統計処理デバイス108は、第3の画像統計と第1の画像統計との間の第3の変化量がしきい値を満たすかどうかを決定することができる。第3の変化量がしきい値を満たす場合、第3のフレーム106に対してアプリケーション特有処理が実行されてよく、第3の変化量がしきい値を満たさない場合、第3のフレーム106に対するアプリケーション特有処理が回避され得る。第3の変化量に基づいてアプリケーション特有処理を実行することで、最終的に大きい変化につながるフレーム間で発生しているわずかな変化(たとえば、画像統計の小さい変化)に起因する警告事象(たとえば、見える手)を見逃す可能性を低減することができる。さらに、しきい値が満たされないとの決定に基づいて、不確定数のフレームの完全処理が省略され(たとえば、回避され)得る。特定の実施形態では、画像統計が周期的にリフレッシュされ得、しきい値が任意の第Nのフレームによって満たされない場合でも、そのような第Nのフレームに対して完全処理が実行され得る。
[0071]以前のフレームと同様の画像統計を有する特定のフレームに対するアプリケーション特有処理を回避することで、電子デバイスにおける電力を節約することができる。たとえば、アプリケーション特有処理は、処理システム内の高電力デバイスを利用し得る。各フレームの統計を生成および/または評価するために統計処理デバイス108などの低電力デバイスを使用することによって、特定のフレームが実質的に同一であるとの決定、および同一のフレームのうちの1つに対してのみアプリケーション特有処理が実行される必要があるとの決定が行われ得る。結果として、同一のフレームに対するアプリケーション特有処理を見送ることによって、電力が節約され得る。
[0072]図2を参照すると、ビデオストリームの画像フレームの部分的ピクセル表現の特定の例示的な実施形態が示されている。たとえば、図1の第1のフレーム102が第1の部分的ピクセル表現212によって特徴付けられることがあり、図1の第2のフレーム104が第2の部分的ピクセル表現214によって特徴付けられることがある。
[0073]第1の部分的ピクセル表現212は、ピクセルの第1の行202、ピクセルの第1の列204、または両方を含むことができる。ピクセルの第1の行202およびピクセルの第1の列204は、図1の第1のピクセル表現112に含まれる選択ピクセルであり得る。第2の部分的ピクセル表現214は、ピクセルの第2の行222、ピクセルの第2の列224、または両方を含むことができる。ピクセルの第2の行222およびピクセルの第2の列224は、図1の第2のピクセル表現114に含まれる選択ピクセルであり得る。特定の実施形態では、ピクセルの第1の行202は、第1のフレーム102における1つのエリアを表すピクセルに対応することができ、ピクセルの第2の行222は、第2のフレーム104における同じエリアを表すピクセルに対応することができる。さらに、ピクセルの第1の列204は、第1のフレーム102における1つのエリアを表すピクセルに対応することができ、ピクセルの第2の列224は、第2のフレーム104における同じエリアを表すピクセルに対応することができる。
[0074]低電力デバイスは、ピクセルの第1の行202、ピクセルの第1の列204、またはそれらの組合せに基づいて、第1のフレーム102の第1の画像統計を生成することができる。たとえば、第1の画像統計は、ピクセルの第1の行202についてのピクセル値の第1の合計(たとえば、rowsum[])に対応し得る。代替または追加として、第1の画像統計は、ピクセルの第1の列204についてのピクセル値の第1の合計(たとえば、columnsum[])に対応し得る。高電力デバイスは、第1のフレーム102の中に手が見えるかどうかを決定するために、第1のフレーム102に対するアプリケーション特有処理を実行することができる。特定の実施形態では、第1の画像統計は、ピクセルの2つ以上の行におけるピクセル値の合計、ピクセルの2つ以上の列の合計、またはピクセルの1つもしくは複数の行およびピクセルの1つもしくは複数の列の合計に対応し得る。
[0075]第1のフレーム102を処理した後、低電力デバイスは、ピクセルの第2の行222、ピクセルの第2の列224、またはそれらの組合せに基づいて、第2のフレーム104の第2の画像統計を生成することができる。たとえば、第2の画像統計は、第2の行222についてのピクセル値の第2の合計に対応し得る。代替または追加として、第2の画像統計は、ピクセルの第2の列224についてのピクセル値の第2の合計に対応し得る。特定の実施形態では、第2の画像統計は、ピクセルの2つ以上の行におけるピクセル値の合計、ピクセルの2つ以上の列の合計、またはピクセルの1つもしくは複数の行およびピクセルの1つもしくは複数の列の合計に対応し得る。
[0076]第1のフレーム102の中に手が見えていないと高電力デバイスが決定した場合、統計処理デバイス108は、(たとえば、第2のフレーム104の中に手が見えるかどうかを決定するために)第2のフレーム104に対するアプリケーション特有処理を実行するべきかどうかを決定するために、第1の画像統計と第2の画像統計を比較することができる。たとえば、統計処理デバイス108は、第2の画像統計と第1の画像統計との間の第1の変化量がしきい値を満たすかどうかを決定することができる。変化量がしきい値を満たさない場合、処理システムは、(たとえば、第2のフレーム104の第2の画像統計を生成するために)第2のフレーム104の部分的処理を実行するだけでよく、第2のフレーム104のアプリケーション特有処理を回避するか、または見送ることができる。変化量がしきい値を満たす場合、処理システムは、第2の画像統計を生成すること、ならびに第2のフレーム104に対するアプリケーション特有処理を実行することによって、第2のフレーム104に対するより完全な処理を実行し得る。
[0077]ピクセル値の第1の合計とピクセル値の第2の合計との間の差が特定の値よりも大きいとき、第1の変化量はしきい値を満たすことができる。たとえば、例示的な実施形態では、第1の画像統計がピクセルの第1の列204におけるピクセル値の合計に対応し、第2の画像統計がピクセルの第2の列224におけるピクセル値の合計に対応するときに、第1の変化量がしきい値を満たさないことがある。ピクセルの第1の列204における各ピクセルは白ピクセル(たとえば、0の強度値を有するピクセル)である。結果として、ピクセルの第1の列204についての強度値の和は0に等しくなり得る。同様に、ピクセルの第2の列224における各ピクセルは白ピクセルである。結果として、第2の列224についての強度値の和は0に等しくなり得る。したがって、ピクセル値の第1の合計とピクセル値の第2の合計との比較に基づいて、第1の変化量がしきい値を満たないことがある。結果として、第2のフレーム104に対するアプリケーション特有処理が回避され得る。
[0078]一方、第1の画像統計がピクセルの第1の行202におけるピクセル値の合計に対応し、第2の画像統計がピクセルの第2の行222におけるピクセル値の合計に対応するときに、第1の変化量がしきい値を満たすことがある。ピクセルの第1の行202における各ピクセルは白ピクセルである。結果として、ピクセルの第1の行202の強度値の和は0に等しくなり得る。一方、ピクセルの第2の行222におけるいくつかのピクセルは、より大きい強度値(たとえば、より暗い領域に基づく255により近い強度値)を有する。結果として、ピクセルの第2の行222の強度値の和は0よりも大きくなり得る。ピクセル値の第1の合計とピクセル値の第2の合計との間の差がしきい値を満たすと仮定すると、高電力デバイスは、第2のフレーム104に対するアプリケーション特有処理を実行することができる。
[0079]フレームにおける特定の行および/または列を選択し、フレーム全体についての画像統計を生成するのではなく、選択された行および/または列に基づいてフレームに関する画像統計を生成することによって、電力が節約され得る。たとえば、低電力デバイスは、ピクセルの第1の行202についての画像統計を生成するために、第1のフレーム102におけるあらゆるピクセルについての画像統計を生成するためよりも少ない電力を利用し得る。
[0080]図3を参照すると、画像統計に基づいてコンピュータビジョンアプリケーションに関連する電力使用量を低減するように動作可能である処理システム300の特定の例示的な実施形態が示されている。処理システム300は、カメラ302と、第1の処理デバイス304と、メモリ306と、統計処理デバイス108と、第2の処理デバイス310とを含む。第2の処理デバイス310は、第1の処理デバイス304よりも高い電力使用デバイスであり得る。特定の実施形態では、第1の処理デバイス304は統計生成器であってよく、第2の処理デバイス310はアプリケーションプロセッサであってよい。特定の実施形態では、統計処理デバイス108および第1の処理デバイス304の機能は、デジタル信号プロセッサ(DSP)などの単一の低電力処理デバイスに含まれ得る。
[0081]カメラ302は、複数の画像フレーム(たとえば、ビデオストリーム)をキャプチャすることができる。たとえば、カメラ302は、第1の時間に図1の第1のフレーム102、第2の時間に第2のフレーム104、そして第3の時間に第3のフレーム106をキャプチャすることができる。特定のフレーム102〜106がキャプチャされた後、特定のフレームは第1の処理デバイス304に提供される。
[0082]第1の処理デバイス304は、ビデオストリームにおける各フレーム102〜106についての画像統計を、フレーム102〜106がキャプチャされると生成するように構成され得る。たとえば、第1の処理デバイス304は、各フレーム102〜106についての画像統計を、図1の対応するピクセル表現112〜116または図2の部分的ピクセル表現212、214に基づいて生成することができる。画像統計が生成された後、画像統計がメモリ306および統計処理デバイス108に提供される。画像統計は、各フレーム102〜106の特性、各フレーム102〜106についてのキャプチャの時間などを識別するために使用されることもある。
[0083]統計処理デバイス108は、第1の処理デバイス304から現在のフレーム102〜106(たとえば、直近のフレーム)についての画像統計を受信するように構成され得る。特定の実施形態では、統計処理デバイス108は別の低電力デバイスである。たとえば、統計処理デバイス108は、第2の処理デバイス310よりも少ない電力を消費し得る。統計処理デバイス108は、現在のフレーム102〜106がアプリケーション特有処理のために第2の処理デバイス310に提供されるように構成され得る。たとえば、統計処理デバイス108は、現在のフレーム102〜106を、以前のフレームがないとの決定に応答して第2の処理デバイス310に提供することができる。
[0084]以前のフレームが処理済みである場合、統計処理デバイス108は、現在のフレームの画像統計と以前のフレームの画像統計との間の変化量がしきい値を満たすかどうかを決定することができる。たとえば、統計処理デバイス108は、メモリ306から以前のフレームについての画像統計を取り出すことができる。変化量がしきい値を満たす場合、統計処理デバイス108は、アプリケーション特有処理のために第2の処理デバイス310に現在のフレームを提供することができる。そうでない場合、統計処理デバイス108は、電力を節約し、現在のフレームに対するアプリケーション特有処理を回避することを決定することができる。
[0085]第2の処理デバイス310は、現在のフレームに対するコンピュータビジョンアプリケーションおよび動作を実行するように動作可能であり得る。たとえば、第2の処理デバイス310は、セキュリティアプリケーション(たとえば、監視、侵入検出、オブジェクト検出、顔認識など)、環境使用アプリケーション(たとえば、照明制御)、オブジェクト検出および追跡アプリケーションなどを実行するように構成され得る。第2の処理デバイス310は、色ユニット312、照明ユニット314、特徴抽出ユニット316、セグメント化ユニット318、姿勢検出ユニット320、追跡および予測ユニット322、分類ユニット324、またはそれらの組合せを含むことができる。色ユニット312は、現在のフレームの色と、露出と、焦点とを改善することができる。照明ユニット314は、フレームの環境照明を改善することができる。特徴抽出ユニット316は、現在のフレームから特定の特徴を抽出することができる。セグメント化ユニット318は、現在のフレームを複数のセグメント(たとえば、ピクセルの複数のセット)に区分することができる。姿勢検出ユニット320は、現在のフレームに位置する特定の特徴の姿勢を検出することができる。追跡および予測ユニット322は、現在のフレームにおける特徴の相対位置を決定し、特徴が次のフレーム中のどこにあり得るかを予測することができる。分類ユニット324は、現在のフレームを分類すること、および/または警告事象を検出することができる。第2の処理デバイス310は、コンピュータビジョンアプリケーションを処理するための処理ユニットの任意の組合せを含むことができる。たとえば、高電力デバイスは、追加のユニットまたはより少ないユニットを含み得る。
[0086]動作中、カメラ302は、第1の時間に第1のフレーム102をキャプチャすることができ、第1の処理デバイス304は、第1のフレーム102についての第1の画像統計を生成することができる。第1の処理デバイス304は、メモリ306に第1の画像統計を提供することができる。さらに、第1の処理デバイス304は、第1のフレーム102と第1の画像統計とを統計処理デバイス108に提供することができる。統計処理デバイス108は、比較のためにメモリ306に他の以前のフレームについての画像統計が記憶されているかどうかを決定するために、メモリ306をポーリングすることができる。比較のためにメモリ306に以前のフレームについての画像統計が記憶されてはいないと決定したことに応答して、統計処理デバイス108は、第1のフレーム102が第2の処理デバイス310に提供されるようにすることができ、第2の処理デバイス310は、第1のフレーム102の中に手が見えるかどうかを決定するために、第1のフレーム102に対するアプリケーション特有処理を実行することができる。
[0087]第1のフレーム102をキャプチャした後、カメラ302は、第2の時間に第2のフレーム104をキャプチャすることができ、第1の処理デバイス304は、第2のフレーム104についての第2の画像統計を生成することができる。第1の処理デバイス304は、メモリ306に第2の画像統計を提供することができる。さらに、第1の処理デバイス304は、第2のフレーム104と第2の画像統計とを統計処理デバイス108に提供することができる。
[0088]統計処理デバイス108は、メモリ306をポーリングし、第1の画像統計を取り出すことができる。第1の画像統計を取り出した後、統計処理デバイス108は、第2のフレーム104に対するアプリケーション特有処理のために第2の処理デバイス310に第2のフレーム104を提供するべきかどうかを決定するために、第1の画像統計と第2の画像統計を比較することができる。例示的な環境では、第2のフレーム104の中に手が見えるかどうかを決定するために、アプリケーション特有処理が使用され得る。たとえば、統計処理デバイス108は、第2の画像統計と第1の画像統計との間の第1の変化量がしきい値を満たすかどうかを決定することができる。変化量がしきい値を満たさない場合、統計処理デバイス108は、電力を節約し、第2のフレーム104のアプリケーション特有処理を回避することを決定することができる。変化量がしきい値を満たす場合、統計処理デバイス108は、第2のフレーム104に対するアプリケーション特有処理のために第2の処理デバイス310に第2のフレーム104を提供することができる。
[0089]第2のフレーム104をキャプチャした後、カメラ302は、第3の時間に第3のフレーム106をキャプチャすることができ、第1の処理デバイス304は、第3のフレーム106についての第3の画像統計を生成することができる。第1の処理デバイス304は、メモリ306に第3の画像統計を提供することができる。さらに、第1の処理デバイス304は、第3のフレーム106と第3の画像統計とを統計処理デバイス108に提供することができる。
[0090]統計処理デバイス108は、メモリ306をポーリングし、第1の画像統計、第2の画像統計、またはそれらの組合せを取り出すことができる。統計処理デバイス108が第2のフレーム104に対するアプリケーション特有処理を回避することを決定した場合、統計処理デバイス108は、第3のフレーム106に対するアプリケーション特有処理を実行するべきかどうかを決定するために、第2の画像統計と第3の画像統計を比較することができる。代替的に、統計処理デバイス108は、第1の画像統計または第1の画像統計および第2の画像統計の組合せと第3の画像統計を比較することができる。
[0091]以前のフレームと同様の画像統計を有する特定のフレームに対するアプリケーション特有処理を回避することで、電子デバイスにおける電力を節約することができる。たとえば、アプリケーション特有処理は、コンピュータビジョンアプリケーションデバイスなどの処理システム内の高電力デバイス(たとえば、汎用プロセッサまたはグラフィックスプロセッサ)を利用し得る。各フレームの統計を生成および/または評価するために統計処理デバイス108などの低電力デバイス(たとえば、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイなど)を使用することによって、特定のフレームが実質的に同一であるとの決定、および同一のフレームのうちの1つに対してのみアプリケーション特有処理が実行される必要があるとの決定が行われ得る。結果として、同一または同様のフレームに対するアプリケーション特有処理を見送ることによって、電力が節約され得る。
[0092]図4を参照すると、コンピュータビジョンアプリケーションに関連する電力使用量を低減するように動作可能である処理システム400の特定の例示的な実施形態が示されている。処理システム400は、センサー402と、変化検出回路414と、アプリケーションプロセッサ418と、メモリ420とを含む。特定の実施形態では、変化検出回路414は、第1の処理経路408(たとえば、低電力処理経路および/または低データレート処理経路)に含まれ得る。アプリケーションプロセッサ418およびメモリ420は、第2の処理経路410(たとえば、高電力処理経路および/または高データレート処理経路)に含まれ得る。
[0093]センサー402は、センサーデータ430(たとえば、複数の画像フレームまたはビデオストリーム)をキャプチャするように構成され得る。特定の実施形態では、センサー402は図3のカメラ302に対応し得る。別の特定の実施形態では、センサー402は、図8に関して説明する周辺光センサー840などの周辺光センサーまたは別のタイプのセンサーであり得る。センサーデータ430は、第1のセンサーデータ(たとえば、図1の第1のフレーム102)、第2のセンサーデータ(たとえば、図1の第2のフレーム104)、第3のセンサーデータ(たとえば、図1の第3のフレーム106)などを含むことができる。センサーデータ430は、第1の処理経路408の変化検出回路414に提供され得る。
[0094]変化検出回路414は、センサーデータ430の第1のフレーム102とセンサーデータ430の第2のフレーム104(または別のフレーム)とを、フレーム102、104間の変化量を検出するために比較することができる。例示を簡単にするために、変化検出回路414については、第1のフレーム102を第2のフレーム104と比較するものとして説明する。ただし、第1のフレーム102と第2のフレーム104との間では比較的小さい変化が発生し得るので、変化検出回路414がフレーム間の変化を検出するために、第1のフレーム102をさらに離れたフレームと比較し得ることが諒解されよう。
[0095]変化検出回路414は、第1のフレーム102を記憶するための「オンボード」メモリを含み得る。センサーデータ430の第2のフレーム104(または別のフレーム)がセンサー402から受信されたとき、変化検出回路414は、オンボードメモリから第1のフレーム102を取り出し、フレーム102、104を比較し、比較に基づいて制御信号416を生成することができる。たとえば、変化検出回路414は、比較に基づいて(たとえば、第1のフレーム102と第2のフレーム104との間の類似性に基づいて)アプリケーションプロセッサ418を起動するべきかどうかを決定することができる。特定の実施形態では、変化検出回路414は、図1〜図3に関して説明したように、第1のフレーム102の第1の画像統計を第2のフレーム104の第2の画像統計と比較することができる。たとえば、変化検出回路414は、図1〜図3の統計処理デバイス108に対応することができ、オンボードメモリは、図3のメモリ306に対応することができる。
[0096]制御信号416は、アプリケーションプロセッサ418に提供され得る。制御信号416は、第2のフレーム104に対するアプリケーション特有処理(たとえば、コンピュータビジョンアプリケーション特有処理)を実行するためにアプリケーションプロセッサ418を「起動する」べきかどうかを示すことができる。たとえば、第1のフレーム102と第2のフレーム104との間の変化量がしきい値を満たさないと変化検出回路414が決定した場合、制御信号416は、電力を節約するためにアプリケーションプロセッサ418を「スリープ」状態に維持することができる。第1のフレーム102と第2のフレーム104との間の変化量がしきい値を満たすと変化検出回路414が決定した場合、制御信号416は、第2のフレーム104に対するアプリケーション特有処理を実行するためにアプリケーションプロセッサ418を起動することができる。したがって、変化検出回路414は、コンピュータビジョンアプリケーション特有処理のためにアプリケーションプロセッサ418にセンサーデータ430(たとえば、第2のフレーム104)を提供することもできる。
[0097]アプリケーションプロセッサ418は、第2のフレーム104に対するコンピュータビジョンアプリケーション特有処理を実行するように構成され得る。非限定的な例として、アプリケーションプロセッサ418は、第2のフレーム104の中に特定のオブジェクト(たとえば、手)があるかどうかを決定することができる。したがって、アプリケーションプロセッサ418は、オブジェクト検出/オブジェクト認識コンピュータビジョンアプリケーション特有処理を実行することができる。コンピュータビジョンアプリケーション特有処理の他の例は、セキュリティアプリケーション(たとえば、監視、侵入検出、オブジェクト検出、顔認識など)、環境使用アプリケーション(たとえば、照明制御)、オブジェクト検出および追跡アプリケーションなどを含み得る。本明細書で使用する「コンピュータビジョンアプリケーション」および/または「コンピュータビジョンアプリケーション特有処理」は、ビデオ/画像データに基づく無限の数のアプリケーションに対応すること、またはそのようなアプリケーションを含むことがある。本明細書で使用する例は、限定的であることが意図されていない。
[0098]特定の実施形態では、アプリケーションプロセッサ418は、図13〜図27に関して説明するコンピュータビジョンアプリケーション特有処理を実行することができる。たとえば、アプリケーションプロセッサ418は、第2のフレーム104の特徴の第1のサブセットを抽出し、特徴の第1のサブセットが分析基準を満たすことに基づいて、第2のフレーム104の特徴の第2のサブセットを抽出し、特徴の第2のサブセットに少なくとも部分的に基づいて、第2のフレーム104のコンテキストを示すコンテキストデータを生成することができる。
[0099]アプリケーションプロセッサ418は、メモリ420にセンサーデータ430(たとえば、コンピュータビジョンアプリケーション特有処理を受けるフレーム)を提供することもできる。したがって、アプリケーションプロセッサ418(および追加のプロセッサ/処理リソース)は、コンピュータビジョンアプリケーション特有処理中にメモリ420からセンサーデータ430にアクセスすることができる。特定の実施形態では、メモリ420はダブルデータレート(DDR)メモリであり得る。たとえば、メモリ420は、DDR同期ダイナミックランダムアクセスメモリ(DDR SDRAM)であり得る。
[00100]図4の処理システム400は、以前のフレームと同様である特定のフレームに対するコンピュータビジョンアプリケーション特有処理を回避することによって、電力消費量を低減することができる。たとえば、変化検出回路414は、現在のフレームと以前のフレームとの間の比較に基づいて、アプリケーションプロセッサ418をアクティブ化する(たとえば、起動する)べきかどうかを(制御信号416を介して)を示すことができる。現在のフレームと以前のフレームとの間の差がしきい値(たとえば、変化しきい値)を満たさないと変化検出回路414が決定した場合、変化検出回路414は、電力を節約するためにアプリケーションプロセッサ418を非アクティブ化する(たとえば、アプリケーションプロセッサ418をスリープモードに維持する)ことを決定することができる。
[00101]図5を参照すると、コンピュータビジョンアプリケーションに関連する電力使用量を低減するように動作可能である処理システム500の特定の例示的な実施形態が示されている。処理システム500は、センサー502と、選択回路506と、第1の処理経路508と、第2の処理経路510とを含む。
[00102]第1の処理経路508は、信号分析器512と変化検出回路514とを含むことができる。第2の処理経路510は、アプリケーションプロセッサ518とメモリ520とを含むことができる。特定の実施形態では、第1の処理経路508は、低電力処理経路および/または低データレート処理経路であってよく、第2の処理経路510は、高電力処理経路および/または高データレート処理経路であってよい。たとえば、第1の処理経路508における構成要素は、第2の処理経路510における構成要素よりも少ない電力を消費し得る。
[00103]センサー502は、センサーデータ(たとえば、複数の画像フレームまたはビデオストリーム)をキャプチャするように構成され得る。特定の実施形態では、センサー502は図3のカメラ302または図4のセンサー402に対応し得る。センサーデータは、第1のセンサーデータ(たとえば、図1の第1のフレーム102)、第2のセンサーデータ(たとえば、図1の第2のフレーム104)、第3のセンサーデータ(たとえば、図1の第3のフレーム106)などを含むことができる。センサーデータは選択回路506に提供され得る。
[00104]選択回路506は、第1の処理経路508に着信フレーム(たとえば、センサーデータ)を提供し、および/または制御信号516(たとえば、フィードバック信号)に基づいて第2の処理経路510に着信フレームを提供するように構成され得る。特定の実施形態では、選択回路506は、制御信号516に応答するマルチプレクサとして実装され得る。選択回路506は最初に、センサーデータ530を処理のために信号分析器512に提供する(たとえば、低データレートチャネルを介して着信フレームを提供する)ことができる。例示すると、選択回路506は、信号分析器512に第1のフレーム102を提供することができ、選択回路506は、信号分析器512に第2のフレーム104を提供することができる。
[00105]第1のフレーム102を受信すると、信号分析器512は、第1のフレーム102を分析し、分析の第1の分析結果542を変化検出回路514に提供することができる。特定の実施形態では、信号分析器512は、図3の第1の処理デバイス304に対応し、実質的に同様の方法で動作することができる。変化検出回路514は、第1の分析結果542を記憶するための「オンボード」メモリを含み得る。特定の実施形態では、変化検出回路514は、図4の変化検出回路414と実質的に同様の方法で動作することができる。第2のフレーム104を受信すると、信号分析器512は、第2のフレーム104を分析し、分析の第2の分析結果542を変化検出回路514に提供することができる。
[00106]特定の実施形態では、アプリケーションプロセッサ518は、分析構成データ534を生成し、信号分析器512および/または変化検出回路514に提供することができる。分析構成データ534は、信号分析器512および/または変化検出回路514によって分析されるべき特定のタイプの特徴(たとえば、生成されるべき特定のタイプの画像統計)を示すことができる。分析されるべき特定のタイプの特徴は、アプリケーションプロセッサ518によって実行されるべき特定のコンピュータビジョンアプリケーションに基づき得る。非限定的な例として、アプリケーションプロセッサ518が画像フレームの中で「手」を検出するためにオブジェクト検出/認識コンピュータビジョンアプリケーションを実行する場合、アプリケーションプロセッサ518は、信号分析器512が「肌の色合い」の色を有するピクセルについての画像データを生成するように、分析構成データ534を提供することができる。
[00107]変化検出回路514は、第1のフレーム102と第2のフレーム104との間の変化量(たとえば、第1の分析結果542(または第1のセンサーデータ)と第2の分析結果542(または第2のセンサーデータ)との間の変化量)を決定するように構成され得る。変化量がしきい値(たとえば、変化しきい値)を満たさないとき、変化検出回路514は、第1の値を有する制御信号516を生成することができる。変化量がしきい値を満たすとき、変化検出回路514は、第2の値を有する制御信号516を生成することができる。非限定的な例として、(信号分析器512によって生成された)第1の色ヒストグラムにおける特定の色値(たとえば、茶色)についてのピクセルの第1のカウントと(信号分析器512によって生成された)第2の色ヒストグラムにおける特定の色値についてのピクセルの第2のカウントとの間の差がしきい値よりも大きいときに、変化量はしきい値を満たし得る。
[00108]制御信号516が(たとえば、変化量がしきい値を満たさないことを示す)第1の値を有する場合、信号分析器512が追加のフレーム(たとえば、センサーデータ530)についてのデータを生成することができ、追加のフレームに関連する変化量がしきい値を満たすかどうかを変化検出回路514が決定することができるように、選択回路506は第1の処理経路508に追加のフレームを提供することができる。制御信号516が(たとえば、変化量がしきい値を満たすことを示す)第2の値を有する場合、選択回路506は、センサーデータ532(たとえば、第2のフレーム104および/または後続のフレーム106)をアプリケーション特有処理(たとえば、コンピュータビジョンアプリケーション特有処理)のために第2の処理経路510に提供することができる。たとえば、選択回路506は、高データレートチャネルを介してアプリケーションプロセッサ518にセンサーデータ532を提供することができる。
[00109]アプリケーションプロセッサ518は、第2のフレーム104に対するコンピュータビジョンアプリケーション特有処理を実行するように構成され得る。非限定的な例として、アプリケーションプロセッサ518は、第2のフレーム104の中に特定のオブジェクト(たとえば、手)があるかどうかを決定することができる。
[00110]特定の実施形態では、アプリケーションプロセッサ518は、図13〜図27に関して説明するコンピュータビジョンアプリケーション特有処理を実行することができる。たとえば、アプリケーションプロセッサ518は、第2のフレーム104の特徴の第1のサブセットを抽出し、特徴の第1のサブセットが分析基準を満たすことに基づいて第2のフレーム104の特徴の第2のサブセットを抽出し、特徴の第2のサブセットに少なくとも部分的に基づいて、第2のフレーム104のコンテキストを示すコンテキストデータを生成することができる。特定の実施形態では、第1の処理経路508の構成要素(たとえば、信号分析器512および/または変化検出回路514)は、アプリケーションプロセッサ518に分析フィードバックデータ536を提供することができる。分析フィードバックデータ536は、センサーデータ530の分析結果542、分析結果の正確性レベルのインジケーション、特徴の第1および第2のサブセットなどを含むことができる。たとえば、変化検出回路514は、第2のフレーム104の特徴の第1および第2のサブセットを抽出し、アプリケーションプロセッサ518がコンテキストデータを生成し得るように、抽出された特徴を(分析フィードバックデータ536を介して)アプリケーションプロセッサ518に提供することができる。
[00111]アプリケーションプロセッサ518は、メモリ520にセンサーデータ532(たとえば、コンピュータビジョンアプリケーション特有処理を受けるフレーム)を提供することもできる。したがって、アプリケーションプロセッサ518(および追加のプロセッサ/処理リソース)は、コンピュータビジョンアプリケーション特有処理中にメモリ520からセンサーデータ532にアクセスすることができる。特定の実施形態では、メモリ520はDDRメモリ(たとえば、DDR SDRAM)であり得る。
[00112]図5の処理システム500は、以前のフレームと同様である特定のフレームに対するコンピュータビジョンアプリケーション特有処理を回避することによって、電力消費量を低減することができる。たとえば、変化検出回路514は、現在のフレームの画像統計と以前のフレームの画像統計との間の比較に基づいて、アプリケーションプロセッサ518をアクティブ化する(たとえば、起動する)べきかどうかを、制御信号516を介して示すことができる。現在のフレームと以前のフレームとの間の差がしきい値(たとえば、変化しきい値)を満たさないと変化検出回路514が決定した場合、変化検出回路514は、電力を節約するためにアプリケーションプロセッサ518を非アクティブ化する(たとえば、アプリケーションプロセッサ518をスリープ状態に維持する)ことを決定することができる。
[00113]アプリケーションプロセッサ518は、分析構成データ534を介してコンピュータビジョンアプリケーションに「関連する」統計のタイプを(第1の処理経路508の構成要素に)示すことができるので、変化検出回路514によって生成される偽陽性の数が低減され得る。たとえば、信号分析器512および変化検出回路514は、アプリケーションプロセッサ518を起動するべきかどうかを、フレーム間の「あらゆる」変化に基づいて決定するのではなく、特定のコンピュータビジョンアプリケーションに適合する画像統計に基づいて決定することができる。偽陽性の数を低減すること(たとえば、コンピュータビジョンアプリケーションに関連する画像統計に基づいて、第2の処理経路510がアクティブ化される回数を低減すること)で、電力を節約することもできる。
[00114]図6を参照すると、コンピュータビジョンアプリケーションに関連する電力使用量を低減するように動作可能である処理システム600の別の特定の例示的な実施形態が示されている。処理システム600は、センサー602と、前処理回路604と、選択回路506と、第1の処理経路608と、第2の処理経路610とを含む。
[00115]第1の処理経路608は、信号分析器512と変化検出回路514とを含むことができる。第2の処理経路610は、アプリケーションプロセッサ518と、メモリ520と、1つまたは複数の追加のプロセッサ622とを含むことができる。特定の実施形態では、第1の処理経路608は低電力処理経路であってよく、第2の処理経路610は高電力処理経路であってよい。たとえば、第1の処理経路608における構成要素は、第2の処理経路610における構成要素よりも少ない電力を消費し得る。
[00116]センサー602は、複数の画像フレーム(たとえば、ビデオストリーム)をキャプチャするように構成され得る。特定の実施形態では、センサー602は図3のカメラ302に対応し得る。センサー602によってキャプチャされたビデオストリームは、前処理回路604に提供され得る。前処理回路604は、ビデオストリームからフレーム(たとえば、図1の第1のフレーム102、第2のフレーム104、および第3のフレーム106)のセットを生成するためにビデオストリームをサンプリングするように構成され得る。たとえば、前処理回路604は、第1の時間に第1のフレーム102が生成され、第2の時間に第2のフレーム104が生成され、第3の時間に第3のフレーム106が生成されるようなサンプルレートでビデオストリームをサンプリングすることができる。各フレーム102〜106は選択回路506に提供され得る。
[00117]選択回路506、信号分析器512、変化検出回路514、およびアプリケーションプロセッサ518は、図5に関して説明したのと同様の方法で動作することができる。1つまたは複数の追加のプロセッサ622は、図7に関して説明するように、センサーデータ532に対する追加の処理(たとえば、追加のコンピュータビジョンアプリケーション特有処理)を実行するために、メモリ520からセンサーデータ532にアクセスすることができる。特定の実施形態では、1つまたは複数の追加のプロセッサ422のうちの少なくとも1つは、第2のアプリケーションプロセッサまたはデジタル信号プロセッサ(DSP)に対応すること、またはこれらを含むことがある。
[00118]図7を参照すると、第2の処理経路610の特定の例示的な実施形態が示されている。第2の処理経路610は、データバス702と、アプリケーションプロセッサ518と、1つまたは複数の追加のプロセッサ622と、制御バス710とを含む。1つまたは複数の追加のプロセッサ622は、第2のアプリケーションプロセッサ706と、第Mのアプリケーションプロセッサ708とを含むことができる。特定の実施形態では、Mは、1以上である任意の整数であり得る。たとえば、Mが5に等しい場合、第2の処理経路610は、5個のアプリケーションプロセッサを含むことができる。
[00119]各アプリケーションプロセッサ518、706、708は、処理コア、アプリケーションプロセッササブシステム、処理リソースなどに対応し得る。各アプリケーションプロセッサ518、706、708は、異なる電力量を消費し得る。たとえば、アプリケーションプロセッサ518は第1の電力量を消費し得、第2のアプリケーションプロセッサ706は第2の電力量を消費し得、第Mのアプリケーションプロセッサ708は第Mの電力量を消費し得る。第1の電力量は第2の電力量よりも少なくてよく、第2の電力量は第Mの電力量よりも少なくてよい。
[00120]選択回路506は、データバス702を介してメモリ520にセンサーデータ532(たとえば、第2のフレーム104)を提供することができる。各アプリケーションプロセッサ518、706、708は、データバス702を介してメモリ520からセンサーデータ532にアクセスすることが可能であり得る。たとえば、各アプリケーションプロセッサ518、706、708は、メモリ520から第2のフレーム104(または第2のフレーム104の処理済みバージョン)を受信するようにデータバス702に結合され得る。
[00121]アプリケーションプロセッサ518は、センサーデータ532に対する第1のコンピュータビジョンアプリケーション特有処理を実行するように構成され得る。非限定的な例として、アプリケーションプロセッサ518は、特定の色(たとえば、手検出/認識のための人間の肌の色合いに関連する色)を対象に第2のフレーム104のピクセルをスキャンするように構成され得る。アプリケーションプロセッサ518が第2のフレーム104に対する第1のコンピュータビジョンアプリケーション特有処理を実行しているとき、第2のアプリケーションプロセッサ706および第Mのアプリケーションプロセッサ708は、電力を節約するために「スリープ」状態にあり得る。
[00122]アプリケーションプロセッサ518が特定の事象を検出した場合、アプリケーションプロセッサ518は、第2のアプリケーションプロセッサ706が第2のフレーム104に対する第2のコンピュータビジョンアプリケーション特有処理を実行することを要求する(たとえば、第2のアプリケーションプロセッサ706がスリープ状態から「起動する」ことを要求する)ことができる。非限定的な例として、第2のフレーム104の特定のピクセルが特定の色を有するとアプリケーションプロセッサ518が検出し決定した場合、アプリケーションプロセッサ518は、第2のアプリケーションプロセッサ706が第2のフレーム104に対する第2のコンピュータビジョンアプリケーション特有処理(たとえば、オブジェクト検出処理、オブジェクト認識処理、またはそれらの任意の組合せ)を実行することを要求することができる。アプリケーションプロセッサ518は、制御バス710を介して第2のアプリケーションプロセッサ706と通信することができる。たとえば、アプリケーションプロセッサ518は、第2のアプリケーションプロセッサ706に特定の事象を警告するために、制御バス710を介して第2のアプリケーションプロセッサ706に命令を送ることができる。
[00123]第2のアプリケーションプロセッサ706は、センサーデータ532(たとえば、第2のフレーム104)に対する第2のコンピュータビジョンアプリケーション特有処理を実行するべきかどうかを決定することができる。決定は、第2のアプリケーションプロセッサ706の処理能力、特定の事象の関連性などに基づき得る。第2のアプリケーションプロセッサ706が第2のフレーム104に対する第2のコンピュータビジョンアプリケーション特有処理を実行することを決定した場合、第2のアプリケーションプロセッサ706は、アプリケーションプロセッサ518における第2のフレーム104に対するコンピュータビジョンアプリケーション特有処理を中止するべきかどうかを決定することもできる。
[00124]たとえば、第2のアプリケーションプロセッサ706は、第2のフレーム104に対する第1および第2のコンピュータビジョンアプリケーション特有処理を実行することが可能であり得る。第2のアプリケーションプロセッサ706における決定に基づいて、第2のフレーム104に対するコンピュータビジョンアプリケーション特有処理がアプリケーションプロセッサ518において中止され得る。この実施形態では、第2のアプリケーションプロセッサ706は、スリープ状態に入るよう(制御バス710を介して)アプリケーションプロセッサ518に命令を送ることができ、第2のアプリケーションプロセッサ706は、第2のフレーム104に対する第1のコンピュータビジョンアプリケーション特有処理を実行することができる。たとえば、第2のアプリケーションプロセッサ706が第2のフレーム104に対する第1のコンピュータビジョンアプリケーション特有処理を実行することが可能である場合、アプリケーションプロセッサ518は、電力を節約するために非アクティブ化され得る。
[00125]第2のアプリケーションプロセッサ706が第2のフレーム104に対する第2のコンピュータビジョンアプリケーション特有処理を見送ることを決定した場合、第2のアプリケーションプロセッサ706は、第2のコンピュータビジョンアプリケーション特有処理を実行することの拒否のインジケーションを送ることができる。たとえば、第2のアプリケーションプロセッサ706は、制御バス710を介してアプリケーションプロセッサ518にインジケーションを送ることができる。特定の実施形態では、第2のアプリケーションプロセッサ706は、特定の事象に基づいて第2のコンピュータビジョンアプリケーション特有処理を実行するよう第2のアプリケーションプロセッサ706に要求するのをアプリケーションプロセッサ518に控えさせる命令を送ることができる。さらに、第2のアプリケーションプロセッサ706は、特定の事象の発生に伴ってアプリケーションプロセッサ518が第2のアプリケーションプロセッサ706を起動することのないように、特定の事象を解決するようにアプリケーションプロセッサ518を「プログラムする」ことができる。したがって、第2のアプリケーションプロセッサ706は、アプリケーションプロセッサ518の状態(たとえば、スリープ状態またはアクティブ化状態)を制御することができ、第2のアプリケーションプロセッサ706は、より効率的な方法で機能するようにアプリケーションプロセッサ518をプログラムすることもできる。
[00126]第2のアプリケーションプロセッサ706がアプリケーションプロセッサ518に対して動作するのと実質的に同様の方法で、第Mのアプリケーションプロセッサ708は第2のアプリケーションプロセッサ706およびアプリケーションプロセッサ518に対して動作することができる。たとえば、第Mのアプリケーションプロセッサ708は、第2のフレーム104に対する第Mのコンピュータビジョンアプリケーション特有処理と、第2のコンピュータビジョンアプリケーション特有処理と、第1のコンピュータビジョンアプリケーション特有処理とを実行するように構成され得る。第2のアプリケーションプロセッサ706と同様に、第Mのアプリケーションプロセッサ708は、第Mのコンピュータビジョンアプリケーション特有処理を実行することを拒否すること、他のアプリケーションプロセッサ518、706の状態を制御すること、より効率的な方法で動作するように他のアプリケーションプロセッサ518、706をプログラムすることなどができる。
[00127]第2の処理経路610は、処理効率を高めるために1つまたは複数のアプリケーションプロセッサ518、706、708を選択的に非アクティブ化することによって、電力消費量を低減することができる。たとえば、より複雑で(たとえば、より多くのコンピュータビジョンアプリケーション特有処理機能を実行することが可能で)より多くの電力を消費するアプリケーションプロセッサは、さほど複雑ではなく、さほど電力を消費しないアプリケーションプロセッサの状態を制御することができる。したがって、アクティブなアプリケーションプロセッサは、より低い電力のアプリケーションプロセッサのコンピュータビジョンアプリケーション特有処理機能を実行することが可能であり、アクティブなアプリケーションプロセッサは、より低い電力のアプリケーションプロセッサに、電力を節約するためにスリープ状態に入るよう命令することができる。
[00128]図8を参照すると、コンピュータビジョンアプリケーションに関連する電力使用量を低減するように動作可能である処理システム800の別の特定の例示的な実施形態が示されている。処理システム800は、センサー802と、システムコントローラ806と、第1の処理経路808と、第2の処理経路810とを含む。図8では、センサー802は、周辺光センサー840とカメラ842とを含む。代替実施形態では、異なる数および/またはタイプのセンサーが含まれ得る。第1の処理経路808は、信号分析器512と、アクティブ化分析器814と、非アクティブ化分析器816とを含むことができる。第2の処理経路810は、オブジェクト検出器850と、オブジェクト識別器852と、活動分類器854と、ユーザインターフェース856とを含むことができる。
[00129]周辺光センサー840は、視野の中で光および/または動きを検出するように構成され得る。たとえば、周辺光センサー840は、視野の中に光または動きが存在するかどうかを決定するための低電力および低解像度の微小電気機械システム(MEMS)ベースのカメラであり得る。周辺光センサー840が視野の中で動きおよび/または光を検出した場合、周辺光センサー840は、センサーステータス882としてシステムコントローラ806に第1の値(たとえば、論理高電圧値)を提供することができる。代替的に、周辺光センサー840が視野の中で動きおよび/または光を検出しなかった場合、周辺光センサー840は、センサーステータス882としてシステムコントローラ806に第2の値(たとえば、論理低電圧値)を提供することができる。
[00130]センサーステータス882に基づいて、システムコントローラ806は、カメラ842を選択的にアクティブ化または非アクティブ化することができる。たとえば、システムコントローラ806は、周辺光センサー840が視野の中で光および/または動きを検出したときに、カメラ842をアクティブ化するためのセンサー構成データ880を提供することができる。カメラ842がアクティブ化されたとき、カメラ842は信号分析器512に低レートデータ834(たとえば、センサーデータ530)を提供することができる。代替的に、システムコントローラ806は、周辺光センサー840が視野の中で光および/または動きを検出しなかったときに、カメラ842を非アクティブ化するためのセンサー構成データ880を提供することができる。視野の中で光および/または動きが検出されなかったときにカメラ842を非アクティブ化することで、電力を節約することができる。特定の実施形態では、センサー構成データ880は、光および/または動きが検出された視野の中の部分(たとえば、ロケーション)を示すこともできる。
[00131]図8におけるセンサー802は、周辺光センサー840とカメラ842とを示しているが、他の実施形態では、第1のモード(たとえば、低電力モード)および第2のモード(たとえば、高電力モード)で動作するように構成された単一のカメラが使用され得る。たとえば、低電力モードでは、カメラは、視野の中で光および/または動きを検出するように構成され得る。光および/または動きを検出すると、カメラは高電力モードに入り、信号分析器512に低レートデータ834(たとえば、センサーデータ530)を提供することができる。
[00132]信号分析器512は、アクティブ化分析器814および非アクティブ化分析器816に分析結果542を提供することができる。特定の実施形態では、アクティブ化分析器814および非アクティブ化分析器816は、図4の変化検出回路414または図5の変化検出回路514に対応し得る。たとえば、アクティブ化分析器814は、分析結果542に基づいてアクティブ化信号844を生成することができる(たとえば、第1のセンサーデータと第2のセンサーデータとの間の変化量が変化しきい値を満たす場合)。システムコントローラ806は、第2の処理経路810における構成要素をアクティブ化する(たとえば、起動する)ために第2の処理経路810にアクティブ化信号844を提供することができる。代替的に、非アクティブ化分析器816は、分析結果542に基づいて非アクティブ化信号846を生成することができる(たとえば、第1のセンサーデータと第2のセンサーデータとの間の変化量がしきい値を満たさない場合)。システムコントローラ806は、第2の処理経路810における構成要素を非アクティブ化するために第2の処理経路810に非アクティブ化信号を提供することができる。
[00133]第2の処理経路810がアクティブ化された場合、カメラ842は、コンピュータビジョンアプリケーション特有処理のために第2の処理経路810における構成要素に高レートデータ832を提供することができる。たとえば、オブジェクト検出器850が高レートデータ832のフレームの中でオブジェクトを検出すること、オブジェクト識別器852がオブジェクトを識別すること、活動分類器854が識別されたオブジェクトを分類することなどができる。特定の実施形態では、オブジェクト検出器850は図7のアプリケーションプロセッサ518に対応することができ、オブジェクト識別器852は図7の第2のアプリケーションプロセッサ706に対応することができ、活動分類器854は図7の第Mのアプリケーションプロセッサ708に対応することができる。図8における第2の処理経路810はオブジェクト検出器850と、オブジェクト識別器852と、活動分類器854とを含むが、他の実施形態では、第2の処理経路810は追加の構成要素または異なる構成要素を含み得る。たとえば、第2の処理経路810における構成要素はコンピュータビジョンアプリケーションに基づき得る。ユーザインターフェース856は、オブジェクト検出器850、オブジェクト識別器852、活動分類器、またはそれらの任意の組合せの出力をユーザに(たとえば、ディスプレイデバイスにおいて)表示するように構成され得る。
[00134]特定の実施形態では、第2の処理経路810は、システムコントローラ806を介して第1の処理経路808にステータスインジケーション848を提供することができる。ステータスインジケーション848は第1の処理経路808に、第2の処理経路810における特定の構成要素がアクティブ状態であるか、またはアイドル状態であるかを示すことができる。
[00135]図9を参照すると、コンピュータビジョンアプリケーションに関連する電力使用量を低減するように動作可能である処理システム900の別の特定の例示的な実施形態が示されている。処理システム900は、センサー402と、ビデオフロントエンド(VFE)Liteサブシステム904と、低電力コンピュータビジョンサブシステム(LPCVSS)906と、低電力アプリケーションサブシステム(LPASS)908と、アプリケーションプロセッササブシステム(APSS)910と、1つまたは複数の他のプロセッサ912と、データバス916とを含む。特定の実施形態では、LPASS908は、図7のアプリケーションプロセッサ518に対応することができ、実質的に同様の方法で動作することができ、APSS910は、図7の第2のアプリケーションプロセッサ706に対応することができ、実質的に同様の方法で動作することができ、1つまたは複数の他のプロセッサ912は、図7の第Mのアプリケーションプロセッサ708に対応することができ、実質的に同様の方法で動作することができる。
[00136]LPASS908、APSS910、および1つまたは複数の他のプロセッサ912はそれぞれ、処理コア、アプリケーションプロセッササブシステム、処理リソースなどに対応し得る。LPASS908は第1の電力量を消費し得、APSS910は第2の電力量を消費し得、追加のプロセッサ912は第3の電力量を消費し得る。第1の電力量は第2の電力量よりも少なくてよく、第2の電力量は第3の電力量よりも少なくてよい。
[00137]センサー402は、VFE−Lite904にセンサーデータ430(たとえば、第1のフレーム102、第2のフレーム104、第3のフレーム106など)を提供することができる。第1のフレーム102を受信すると、VFE−Lite904は、第1のフレーム102を分析し、分析の第1の分析結果542をLPCVSS906に提供することができる。特定の実施形態では、VFE−Lite904は、図3の第1の処理デバイス304または図5の信号分析器512に対応し、実質的に同様の方法で動作することができる。LPCVSS906は、第1の分析結果542を記憶するための「オンボード」メモリを含み得る。特定の実施形態では、LPCVSS906は、図4の変化検出回路414または図5の変化検出回路514と実質的に同様の方法で動作することができる。第2のフレーム104を受信すると、VFE−Lite904は、第2のフレーム104を分析し、分析の第2の分析結果542をLPCVSS906に提供することができる。
[00138]さらに、VFE−Lite904は、データバス916を介してDDR914にセンサーデータ430(たとえば、第2のフレーム104)を提供することができる。LPCVSS906、LPASS908、APSS910、および追加のプロセッサ912は、データバス916を介してDDR914からセンサーデータ430にアクセスすることが可能であり得る。たとえば、LPCVSS906、LPASS908、APSS910、および追加のプロセッサ912は、DDR914から第2のフレーム104(または第2のフレーム104の処理済みバージョン)を受信するようにデータバス916に結合され得る。
[00139]LPCVSS906は、第1のフレーム102と第2のフレーム104との間の変化量(たとえば、第1の分析結果542(または第1のセンサーデータ)と第2の分析結果542(または第2のセンサーデータ)との間の変化量)を決定するように構成され得る。変化量がしきい値(たとえば、変化しきい値)を満たさないとき、LPCVSS906は、第1の値を有する制御信号920を生成することができる。変化量がしきい値を満たすとき、LPCVSS906は、第2の値を有する制御信号516を生成することができる。
[00140]図9の図示の実施形態では、制御信号920は、変化量がしきい値を満たさなかったことを示す第1の値を有する。結果として、LPASS908、APSS910、および1つまたは複数の追加のプロセッサ912は、網掛けパターンにより示されるようにスリープ状態にある。たとえば、LPCVSS906は変化量に基づいてスリープ状態にとどまるよう(制御信号920を介して)LPASS908に指示することができる。したがって、図9の図示の実施形態では、現在のフレームに対するコンピュータビジョンアプリケーション特有処理が回避され得るので、LPASS908、APSS910、および1つまたは複数の追加のプロセッサ912をオフにして電力が節約され得る。
[00141]図10の図示の実施形態では、処理システム900は部分的電力モードにあり得る。例示すると、制御信号920は、変更量がしきい値を満たすことを示す第2の値を有し得る。たとえば、LPCVSS906は、「活動」(たとえば、現在のフレームと以前のフレームとの間の変化)を検出し、現在のフレームに対するコンピュータビジョンアプリケーション特有処理を実行するようLPASS908にシグナリングすることがある。LPASS908が制御信号920を受信したとき、LPASS908は「起動」し、センサーデータ430に対する第1のコンピュータビジョンアプリケーション特有処理を実行することができる。非限定的な例として、LPASS908は、特定の色(たとえば、手検出/認識のための人間の肌の色合いに関連する色)を対象に第2のフレーム104のピクセルをスキャンするように構成され得る。別の非限定的な例として、LPASS908は局所化された「関心領域」(ROI)を、ROIにおける活動がしきい値を満たすかどうかを決定するために生成することができる。ROIにおける活動がしきい値を満たさない場合、LPASS908はAPSS910と他のプロセッサ912とを「オフにする」ことができ、現在のフレームを「ドロップする」ことができる。APSS910と他のプロセッサ912とをオフにすることで、電力消費量を低減することができる。
[00142]図11の図示の実施形態では、処理システム900は全電力モードにあり得る。たとえば、ROIにおける活動がしきい値を満たす場合、LPASS908は、制御信号922を介して、APSS910が第2のフレーム104に対する第2のコンピュータビジョンアプリケーション特有処理を実行することを要求する(たとえば、APSS910がスリープ状態から「起動する」ことを要求する)ことができる。非限定的な例として、第2のフレーム104の特定のピクセルが特定の色を有するとLPASS908が検出し決定した場合、LPASS908は、APSS910が第2のフレーム104に対する第2のコンピュータビジョンアプリケーション特有処理(たとえば、オブジェクト検出処理、オブジェクト認識処理、またはそれらの任意の組合せ)を実行することを要求することができる。LPASS908は、IPC制御を介してAPSS910と通信することができる。
[00143]同様に、APSS910は、制御信号924を介して、追加のプロセッサ912が第2のフレーム104に対する第3のコンピュータビジョンアプリケーション特有処理を実行することを要求する(たとえば、追加のプロセッサ912がスリープ状態から「起動する」ことを要求する)ことができる。APSS910は、IPC制御を介して追加のプロセッサ912と通信することができる。
[00144]したがって、図9〜図11に関して説明した実施形態は、処理効率を高めるために1つまたは複数のプロセッサ/サブシステムを選択的に非アクティブ化することによって電力消費量を低減することができる。
[00145]コンピュータビジョンアプリケーションプロセッサに入力を提供し得るセンサーの一例(たとえば、図4のセンサー402)は、常時接続カメラを含む。常時接続カメラは、様々なモバイルデバイスのいずれかに含まれること、および/または通信可能に結合されることがある。図12は、たとえば、常時接続カメラを利用し得るモバイルデバイス1200の実施形態の例示である。モバイルデバイス1200は、モバイルフォン1200−1と、タブレット1200−2と、頭部装着ディスプレイ(HMD)1200−3とを含む。図12に示されていないが、モバイルデバイス1200は、携帯情報端末(PDA)ノートブックコンピュータ、パーソナルメディアプレーヤ、ゲームデバイス、カメラ、ビデオレコーダなどを含み得る。モバイルデバイス1200は、ユーザの体に分散され得る1つまたは複数の装着型デバイス(たとえば、ヘルメットカメラ、スポーツカメラなど)を含み得る。図13を参照してさらに説明するように、複数のデバイス(たとえば、装着型デバイス)がコンテキスト決定エンジンと通信可能に接続されること、および/またはコンテキスト決定エンジンによって管理されることがある。
[00146]さらに、モバイルデバイスのスタイル、サイズ、機能、および/または他の特徴は、同じタイプの異なるモバイルデバイス間で異なり得る。モバイルデバイス1200は、モバイルデバイス1200上の様々なロケーションのいずれかに位置する1つまたは複数のカメラ1210(たとえば、図3のカメラ302、図8のカメラ842)を含むことができる。モバイルフォン100−1は、たとえば、前向きカメラ1210−1および/または後ろ向きカメラ1210−2を含むことができる。タブレット1200−2は、前向きカメラ1210−3および/または他の方向に面し得る他の表面(たとえば、側面および/または裏面)上の追加のカメラ1210−4を含むことができる。HMD100−3は、図示のようにHMD1200−3のディスプレイ1220の間および/またはHMD1200−3の別のロケーションに位置する外向きカメラ1210−5を有し得る。
[00147]モバイルデバイスのカメラ1210のいずれかまたはすべてが、所望の機能に応じて常時接続カメラとして利用され得る。いくつかの実施形態は、常時接続機能に対応する特定の特徴(たとえば、広角、魚眼、低電力、低解像度など)を有する常時接続機能専用の特定のカメラを利用することができるが、実施形態は、常時接続機能のために様々なカメラタイプ(たとえば、赤外線、紫外線、分光計、高解像度、前向きなど)のいずれかを追加的または代替的に利用することができる。モバイルデバイスが複数のカメラを含む実施形態は、ユーザが常時接続カメラとして使用するカメラを選択することを可能にすることができ、および/またはモバイルデバイスは、いくつかの状況において異なるカメラの間でトグルすることができる。
[00148]モバイルデバイスの実施形態は、図12に示すモバイルデバイス1200とは異なり得る。たとえば、モバイルデバイス内に埋め込まれたカメラの追加または代替として、特定の実施形態は、カメラとは物理的に別個であるが、(たとえば、ワイヤレス技術または有線技術により)カメラと通信可能に結合されたモバイルデバイスを含むことができる。たとえばユーザの体の上および/または周りの様々なロケーションにカメラおよび/または他のセンサーが分散され得るように、他のセンサーがモバイルデバイスとは物理的に別個であるが、モバイルデバイスと通信していることもある。
[00149]図13は、常時接続カメラのサンプリングレートの調節に影響を与え得るコンテキスト決定の際にデバイスの実施形態がセンサーと他の情報とをどのように利用し得るかを示す入力/出力図である。これらのコンテキスト決定は、たとえば、モバイルデバイス1200のうちの1つまたは複数のソフトウェアおよび/またはハードウェアによって実行されるコンテキスト決定エンジン1380によって行われ得る。コンテキスト決定エンジン1380は、モバイルデバイス1200のうちの1つまたは複数のより大きいソフトウェアおよび/またはハードウェアアプリケーションの一部であること、またはそのようなアプリケーションに組み込まれることがある。たとえば、コンテキスト決定エンジン1380の1つまたは複数の構成要素は、アプリケーションプロセッサ(たとえば、図3の第2の処理デバイス310、図4のアプリケーションプロセッサ418、図5〜図7のアプリケーションプロセッサ518、1つまたは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、および/または第Mのアプリケーションプロセッサ708)、図8のオブジェクト検出器850、オブジェクト識別器852、活動分類器854、アクティブ化分析器814、非アクティブ化分析器816、システムコントローラ806、図9〜図11のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、変化検出回路(たとえば、図4の変化検出回路414および/または図5の変化検出回路514)、図5の信号分析器512、またはそれらの組合せの一部であること、またはそれらに組み込まれることがある。コンテキスト決定エンジン1380は、コンテキスト決定を行うために、光センサー1310(たとえば、図8の周辺光センサー840、紫外線(UV)センサー、UV−Aセンサー、UV−Bセンサー、赤−緑−青(RGB)センサーなどを含み得る)、マイクロフォン1320、動き/方位検出器1330(たとえば、1つもしくは複数のジャイロスコープ、磁力計(および/または他のタイプの羅針盤)、加速度計などを含み得る)、カメラ1210(たとえば、図3のカメラ302および/または図8のカメラ842)、ワイヤレス通信インターフェース1340(たとえば、第2世代(2G)モデム、第3世代(3G)モデム、第4世代(4G)モデム、wireless fidelity(WiFi(登録商標))インターフェース、worldwide interoperability for microwave access(WiMax(登録商標))インターフェース、および/またはBluetooth(登録商標)(Bluetooth SIG, Inc.の登録商標)インターフェースまたはBluetooth(Bluetooth SIG, Inc.の登録商標)低エネルギー(LE)インターフェースなどの別のワイヤレスインターフェースを含み得る)、衛星測位受信機1350、および/または他のセンサー1360(たとえば、図4のセンサー402、図5のセンサー502、図6のセンサー602、高度計、近接センサー、圧縮画像センサー(compressive imaging sensor)、温度センサー、圧力センサー、タッチセンサー、指紋センサーなど)を含む様々な構成要素からデータを受信することができる。
[00150]特定の実施形態では、コンテキスト決定エンジン1380は、マップ1370、動きモデル1390、および/またはアプリケーションデータ1395(たとえば、コンピュータビジョンアプリケーションデータ)からデータを受信し得る。所望の機能に応じて、構成要素のうちの1つまたは複数は、モバイルデバイス1200のうちの1つまたは複数に組み込まれること、および/または(たとえば、前述したように有線接続および/またはワイヤレス接続を介して通信している)モバイルデバイス1200のうちの1つまたは複数とは別個であることがある。
[00151]1つまたは複数のカメラ1210は、モバイルデバイス1200のうちの1つまたは複数に組み込まれること、および/または通信可能に結合されることがある。さらに、カメラ1210のうちのいずれかまたはすべてが常時接続カメラとして指定され得る。コンテキスト決定エンジン1380は、この指定を行うことができる。コンテキスト決定エンジン1380のコンテキスト決定によって常時接続カメラのサンプルレートが影響を受け得るだけではなく、さらなるコンテキスト決定のために常時接続カメラ(および/または他のカメラ1210)からの画像が処理され得る。
[00152]コンテキスト決定の結果、(ソフトウェアアプリケーションアンカーハードウェアデフォルト(software application anchor hardware default)によって選択された初期サンプリングレートであり得る)常時接続カメラのサンプリングレートを調節することがある。サンプリングレートは、多種多様なサンプリングレートのいずれかに調節され得る。たとえば、初期サンプリングレートは、4〜5秒ごとに1サンプルであり得る。しかしながら、コンテキスト決定によっては、サンプリングレートが30サンプル毎秒(すなわち、30フレーム毎秒(FPS))以上に引き上げられることがある。他の決定の結果、サンプリングレートをたとえば5分ごとに1回に低減すること、および/またはサンプルを完全に抑制することがある。コンテキスト決定の結果、サンプリングレートが0(すなわち、サンプリングなし)から常時接続カメラのハードウェアおよび/またはソフトウェア制約下で実現可能な最高レートになることがある。追加または代替として、以下でより詳細に説明するように、実施形態は、コンテキスト決定に基づいて常時接続カメラを選択的にトリガすること、および/またはマルチセンサーシステムにおけるいくつかのセンサー(たとえば、カメラ、光センサー、動き検出器、マイクロフォンなど)を選択的にアクティブ化することができる。
[00153]光センサー1310は、活性光センサー、RGBセンサー、紫外線(UV)センサーなどのような様々な感光センサーのいずれかを含み得る。そのような光センサー1310は、一般に、常時接続カメラよりもはるかに少ない電力を消費し、モバイルデバイス1200のうちの1つまたは複数のコンテキストを決定する際に使用され得る。たとえば、1つまたは複数の光センサー1310は、常時接続カメラが露出される光強度を決定するように位置付けられ得る。検出された光強度があるしきい値を下回る場合、コンテキスト決定エンジン1380は、常時接続カメラがポケットもしくは財布の中または暗くした部屋にあると決定することができ、その場合、常時接続カメラのサンプリングレートは低減または一時停止され得る。
[00154]いくつかの実施形態は、常時接続カメラとして利用され得る複数のカメラ1210を有し得る。照明条件がカメラロケーションによって変わる可能性があり、1つまたは複数の光センサー1310が各カメラに対応するように位置付けられる場合、コンテキスト決定エンジン1380は、光センサー1310からの光強度に基づいて、複数のカメラ1210のうちのどれを常時接続カメラとして利用するべきかを決定することができる。
[00155]追加または代替として、コンテキスト決定エンジン1380は、(机の上、またはユーザの手、かばん、シャツのポケット、ズボンのポケット、ホルスターの中などのような)ユーザに対するモバイルデバイスの位置および/または常時接続カメラの位置を決定し、それに応じて常時接続カメラのサンプリングレートを調節するために、動き/方位検出器1330、動きモデル1390、および/または光センサー1310を使用することができる。たとえば、モバイルデバイスがポケット、かばん、財布もしくはホルスターの中で検出され、および/またはあるしきい値を下回る光にさらされた場合、常時接続カメラへのビューは遮られる公算が大きく、常時接続カメラのサンプリングレートは低減され得る。特定の実施形態では、常時接続カメラのサンプリングレートは0に低減され、画像キャプチャを一時停止することがある。ユーザの生活の写真ログを自動的に収集するためにライフロギングアプリケーションによって常時接続カメラのキャプチャされた画像が使用されるシナリオでは、この機能は、写真が有用な情報をほとんどまたはまったく提供しないとき、たとえば夜の時間帯、常時接続カメラがポケット、かばんの中にあるときなどに、結果的に、不必要な画像キャプチャを回避することができ、大幅な電力節約をもたらすことができる。動き/方位検出器1330および/または動きモデル1390はまた、コンテキスト決定エンジン1380が、モバイルデバイス1200のうちの1つもしくは複数を携帯している、および/またはモバイルデバイス1200のうちの1つもしくは複数に関連付けられるユーザの状態を決定することを可能にし得る。例として、歩いていること、走っていること、運動していること、移動中、および検出可能な動きおよび/または方位を伴い得る他の活動がある。さらに、ユーザ状態は、常時接続カメラがどのように調節されるかに影響を与え得る。たとえば、常時接続カメラは、ユーザ状態が屋外での移動を示す場合(たとえば、ユーザの環境が頻繁に変わる公算が大きい場合)にサンプリングレートを引き上げるように構成され得る。他方、屋内での比較的不活発な状態を示すユーザ状態を受けて、コンテキスト決定エンジン1380は、常時接続カメラのサンプリング周波数を低減することができる。
[00156]コンテキスト決定エンジン1380は、あるオーディオの活動および方向を検出するためにマイクロフォン1320からのデータを利用することもできる。マイクロフォン1320からのデータは、特定の活動(たとえば、会合または会話)が生じていると決定するために使用され得る。マイクロフォン1320からのデータは、たとえば、音が検出されたときに、常時接続カメラのサンプリング周波数を調節して、サンプリングレートを引き上げるために使用され得る。
[00157]特定の実施形態では、モバイルデバイスは、複数のカメラ1210のいずれかを常時接続カメラとして利用することができる。マイクロフォンデータから導出されたオーディオ方向性は、音がどの方向から来ているかを決定するために使用され得る。その場合、音の方向に向いている公算が大きい対応するカメラが、オーディオ活動の方向に基づいて画像をキャプチャするための常時接続カメラとして指定され得る。オーディオ活動の方向に向いているカメラによってキャプチャされた画像は、話者の身元、話者の感情、話者の表情、オーディオ活動に対応する視覚シーンなどに関する視覚情報を含む公算も大きい。マイクロフォン1320は、オーディオ方向性を決定するための1つまたは複数の低電力マイクロフォン活動検出器を含むことができる。
[00158]オーディオ方向性およびユーザ状態の決定は、複数のカメラ1210を有するモバイルデバイス1200のうちの1つまたは複数がライフロギングアプリケーションを実行しているシナリオにおいて使用され得る。会合のコンテキストでは、ユーザはモバイルデバイス1200のうちの1つまたは複数をテーブルの上に置くことがあり、その時点で、コンテキスト決定エンジン1380は、ユーザ状態(たとえば、「会合に参加中」)を決定するためにマイクロフォン1320および/または他の構成要素を使用し、ユーザの状態に基づいて、どのカメラ1210からサンプリングするべきか、および/またはカメラのサンプリングレートをどのように調節する(たとえば、引き上げるまたは引き下げる)べきかを決定するためにマイクロフォン1320のオーディオ方向性情報を活用することがある。ユーザが自分のオフィスで仕事をしているとき、コンテキスト決定エンジンは、このユーザ状態(たとえば、「オフィスで仕事中」)を決定するために(たとえば、オーディオ環境クラスタ化および/または他のオーディオ分析技法を使用して)オーディオデータを利用することができ、ユーザ状態に基づいて、オーディオ環境の変化が検出されるまで、サンプリングレートを低減すること、または常時接続カメラをオフにすることができる。
[00159]コンテキスト決定エンジン1380は、ユーザが関与し得る活動(たとえば、歩くこと、走ること、移動中など)などのコンテキスト情報を決定するために動き/方位検出器1330からのデータを使用することもできる。動き/方位検出器1330からのデータは、決定を行うために、ユーザの異なる活動および/または他の状態をモデル化し得る動きモデル1390と比較され得る。たとえば、感知された動きが、ある活動のモデル化された動きのしきい値類似性の中にある(すなわち、感知された動きが、しきい値の中のモデル化された動きと同様である)場合、コンテキスト決定エンジン1380は、ユーザがその活動に関与していると決定することができる。いくつかの実施形態では、データは、絶対動き分類器または相対もしくは完全動き分類器などの分類器によって処理されてよく、またはデータは、歩数計モジュールまたは機能によって処理されてよい。
[00160]コンテキスト決定エンジン1380は、ユーザ(たとえば、ユーザ状態)および/またはモバイルデバイス1200の速度、動き、および/または決定されたコンテキストに基づいて、常時接続カメラのサンプリングレートを調節することができる。たとえば、走ること、またはジャンプすることなど、比較的大きい移動量を伴うある種の活動にユーザが関与しているとコンテキスト決定エンジン1380が決定した場合、コンテキスト決定エンジン1380は、それに応じて常時接続カメラのサンプリングレートを調整することができる。たとえば、ユーザの移動を検出したことに応答して、コンテキスト決定エンジン1380は、常時接続カメラからのサンプリングを低減または一時停止することができる。
[00161]同様に、コンテキスト決定エンジン1380は、動き/方位検出器1330および/または(たとえば、衛星測位受信機1350、測位情報および/または速度情報を提供することが可能なワイヤレス通信インターフェース1340などを使用して決定され得る)ロケーション情報から速度を推定することによって、ユーザがある速度で進んでいると決定することができる。速度があるしきい値を上回る場合、コンテキスト決定エンジン1380は、不鮮明な画像をキャプチャする可能性を低減するために、常時接続カメラからのサンプリングを低減または一時停止することができる。追加または代替として、ユーザ状態の決定の際に速度が使用されることがあり、その場合、常時接続カメラのサンプリングがどのように調節され得るかを決定するために、ユーザ状態が使用され得る。
[00162]コンテキスト決定エンジン1380は、常時接続カメラのサンプリングレートを調節するべきかどうかを決定するために、動き/方位検出器1330からの方位情報を使用すること、および/または1つまたは複数の他の構成要素と組み合わせられたときに、感知された方位および/または動きに基づいて常時接続機能のためのカメラを指定することもできる。たとえば、コンテキスト決定エンジン1380は、常時接続カメラによって取られた以前の画像が、ある使用事例にとって情報価値がない(たとえば、空または天井を指している)と決定され、モバイルデバイス1200のうちの1つもしくは複数および/または常時接続カメラが、以前の画像をキャプチャした時点以降、完全静止状態である場合、常時接続カメラの画像キャプチャを抑制することができる。常時接続カメラのサンプリングレートに影響を与え得るコンテキスト決定の際に、ジオフェンシングおよび関連場所(POR:place of relevance)ベースのトリガが使用されることもある。
[00163]図14を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に1400と称される。システム1400は、デバイス1402を含むことができる。デバイス1402は、プロセッサ1410と、マルチメディアコンテンツ分類器1412と、メモリ1408とを含むことができる。マルチメディアコンテンツ分類器1412は、特徴セット抽出器1414、特徴セットクラスタ器1416、特徴セット分類器1418、シーン変化検出器1460、不鮮明画像検出器1462、またはそれらの任意の組合せを含むことができる。特定の実施形態では、マルチメディアコンテンツ分類器1412の1つまたは複数の構成要素は、図3の第1の処理デバイス304、統計処理デバイス108、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、アプリケーションプロセッサ518、信号分析器512、変化検出回路514、図6の1つもしくは複数の追加のプロセッサ622、第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のオブジェクト検出器850、オブジェクト識別器852、活動分類器854、ユーザインターフェース856、アクティブ化分析器814、非アクティブ化分析器816、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、またはそれらの組合せの一部であること、またはそれらに組み込まれることがある。
[00164]メモリ1408は、しきい値データ1434、選択基準1438、分類モデル1428、ユーザ選好1422、タイムスタンプ1494、特徴セットデータ1432、コンテキストデータ1490、中間コンテキストデータ1492、アプリケーション1444、またはそれらの任意の組合せを含むことができる。特定の実施形態では、メモリ1408の少なくとも一部分は、図3のメモリ306、図4のメモリ420、図5のメモリ520、図9のDDR914、またはそれらの組合せに対応し得る。本明細書で使用する画像の「コンテキスト」は、画像から推論もしくは決定された情報および/または画像から抽出された特徴を含むことができる。たとえば、画像のコンテキストは、特定のロケーション、特定の人、特定のオブジェクト、特定の活動、またはそれらの任意の組合せを含むことができる。例示すると、特定の会議室での会合に出席している特定の人の画像のコンテキストは、特定の人(たとえば、「ジョン」)、会合に出席する活動(たとえば、「グループ会合出席」)、特定の会議室(たとえば、「部屋2.134」)、会議室中のオブジェクト(たとえば、「ホワイトボード」)、またはそれらの任意の組合せを含むことができる。
[00165]しきい値データ1434は、1つもしくは複数のしきい値持続時間1480、しきい値信頼性レベル1482、しきい値鮮明度レベル1484、しきい値バッテリー電力1486、しきい値帯域幅1488、またはそれらの任意の組合せを含むことができる。選択基準1438は、リソースバジェット1420(たとえば、アクティブ化される同種または異種プロセッサコアのしきい値数)、使用事例1436、関心領域1478、またはそれらの任意の組合せを含むことができる。特定の実施形態では、デバイス1402は、ユーザ1452からユーザ入力1430を介して、しきい値データ1434、選択基準1438、または両方に対応する1つまたは複数の値を受信することができる。特定の実施形態では、マルチメディアコンテンツ分類器1412は、しきい値データ1434に対応する1つまたは複数の値を、1つまたは複数の画像に関連する対応する値に基づいて生成することができる。たとえば、マルチメディアコンテンツ分類器1412は、以前に処理および/またはキャプチャされたいくつかの画像の平均鮮明度に基づいて、しきい値鮮明度レベル1484を決定することができる。
[00166]デバイス1402は、1つまたは複数の画像センサーおよびディスプレイ1406に結合されること、またはそれらと通信していることがある。1つまたは複数の画像センサーは、第1の画像センサー1404、第Nの画像センサー1440、または画像センサーの組合せを含むことができる。特定の実施形態では、デバイス1402は、第1の画像センサー1404、第Nの画像センサー1440を介して、または画像センサーの組合せから画像をキャプチャするように構成されたモバイルデバイスであり得る。特定の実施形態では、第1の画像センサー1404、第Nの画像センサー1440、または1つもしくは複数の他のセンサーは、モバイルデバイスのカメラに組み込まれ得る。1つまたは複数の画像センサーは、図3のカメラ302、図4のセンサー402、図5のセンサー502、図6のセンサー602、図8のセンサー802、図12のカメラ1210、1つもしくは複数の他のセンサー1360、またはそれらの組合せに対応し得る。
[00167]デバイス1402は、図14に示すものよりも少ない、または多くの構成要素を含み得る。たとえば、デバイス1402は、2つ以上のプロセッサを含むこと、2つ以上のメモリを含むこと、または両方がある。デバイス1402は、ネットワーク化または分散型コンピューティングシステムを含み得る。特定の例示的な実施形態では、デバイス1402は、モバイル通信デバイス、スマートフォン、セルラーフォン、ラップトップコンピュータ、コンピュータ、タブレット、携帯情報端末、ディスプレイデバイス、テレビ、ゲーム機、音楽プレーヤ、ラジオ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、チューナー、カメラ、ナビゲーションデバイス、またはそれらの任意の組合せを含むことができる。そのようなデバイスは、ユーザインターフェース、たとえば、タッチスクリーン、音声認識能力、または他のユーザインターフェース能力を含むことができる。
[00168]動作中、デバイス1402は、画像センサー(たとえば、第1の画像センサー1404)から知覚データ(たとえば、第1の知覚データ1470)を受信し得る。第1の知覚データ1470は、画像に関係し得る。たとえば、第1の画像センサー1404は、画像をキャプチャすることができ、画像に関係する第1の知覚データ1470をデバイス1402に送ることができる。第1の画像センサー1404は、図19および図27を参照しながらさらに説明するように、様々なトリガに基づいて第1の知覚データ1470を生成することができる。たとえば、第1の画像センサー1404は、データサンプリング間隔で(たとえば、毎分1回)画像を周期的にキャプチャすることができ、画像に関係する知覚データ(たとえば、第1の知覚データ1470)をデバイス1402に周期的に送ることができる。第1の画像センサー1404は、しきい値画像キャプチャ持続時間(たとえば、しきい値持続時間1480)が満たされるとの決定に基づいて画像をキャプチャすることができる。たとえば、しきい値画像キャプチャ持続時間は、画像をキャプチャする間の特定のデータサンプリング間隔(たとえば、1分)を示すことができる。以前の画像をキャプチャした後に特定のデータサンプリング間隔が経過したときに、しきい値画像キャプチャ持続時間が満たされ得る。
[00169]別の例として、第1の画像センサー1404は、デバイス1402における利用可能帯域幅がしきい値帯域幅(たとえば、しきい値帯域幅1488)を満たすとの決定、利用可能バッテリー電力がしきい値バッテリー電力(たとえば、しきい値バッテリー電力1486)を満たすとの決定、または両方に基づいて、第1の知覚データ370を生成することができる。さらなる例として、第1の画像センサー1404は、ユーザ選好(たとえば、ユーザ選好1422)に基づいて、ユーザ入力(たとえば、ユーザ入力1430)に基づいて、またはそれらの任意の組合せに基づいて、第1の知覚データ1470を生成することができる。
[00170]別の例として、第1の画像センサー1404は、デバイス1402から受信された画像キャプチャ要求(たとえば、第1の画像キャプチャ要求1472)に基づいて第1の知覚データ1470を生成することができる。例示すると、様々なトリガのうちの1つまたは複数がアクティブ化されていると決定したことに応答して、マルチメディアコンテンツ分類器1412は第1の画像センサー1404に第1の画像キャプチャ要求1472を送ることができる。マルチメディアコンテンツ分類器1412は、第1の画像センサー1404から第1の知覚データ1470を受信することができる。
[00171]特徴セット抽出器1414は、画像の特徴の第1のサブセット(たとえば、特徴のサブセット1442)を第1の知覚データ1470から抽出することができる。たとえば、特徴セット抽出器1414は、画像の1つまたは複数の視覚記述子を計算することができる。特定の実施形態では、特徴セット抽出器1414は、抽出基準が満たされると決定したことに基づいて、画像の特徴の第1のサブセットを抽出することができる。たとえば、第1の知覚データ1470が以前の画像に対する画像の変化を示す場合に、抽出基準が満たされ得る。例示すると、本明細書で説明するように、第1の知覚データ1470に対応する第1の画像統計と以前の画像に対応する第2の画像統計との間の差が変化しきい値を満たす場合に、抽出基準が満たされ得る。第1の知覚データ1470が抽出基準を満たさないと決定したことに基づいて、特徴の第1のサブセットを抽出するのを控えることで、デバイス1402のリソースを節約し得ることが諒解されよう。たとえば、画像が以前の画像と同様であることがあり、無視されることがあり(たとえば、画像の処理が省略されることがあり)、次の画像を処理するためにデバイス1402のリソースが使用されることがある。特定の実施形態では、メモリ1408がマルチメディアコンテンツ分類器1412の外部にあることがあり、メモリ1408が第1の知覚データ1470を記憶することがあり、特徴の第1のサブセットを抽出することがメモリ1408にアクセスすることを含み得る。
[00172]特定の実施形態では、特徴セット抽出器1414は、図18〜図21を参照しながらさらに説明するように、選択基準(たとえば、選択基準1438)に基づいて特徴の第1のサブセットを選択することができる。選択基準1438は、リソースバジェット(たとえば、リソースバジェット1420)、使用事例(たとえば、使用事例1436)、関心領域(たとえば、関心領域1478)、またはそれらの任意の組合せを含むことができる。特定の実施形態では、特徴セット抽出器1414は、特徴セット抽出器1414が第1の知覚データ1470から抽出することが可能であるすべての特徴よりも少ない特徴を抽出することができる。抽出された各特徴は、対応する信頼性レベルを有すること、または対応する信頼性レベルに関連付けられることがある。代替または追加として、抽出された複数の特徴から(たとえば、抽出された複数の特徴を平均化することによって)総信頼性レベルが決定され得る。マルチメディアコンテンツ分類器1412が、特徴の第1のサブセットに関連する分析基準(たとえば、信頼性レベル)に基づいて、より多くの特徴が抽出されるべきであると決定した場合、特徴セット抽出器1414は続いてより多くの特徴を抽出することができる。様々な条件が、追加の特徴の抽出をトリガし得る。一実施形態では、抽出された任意の特徴の信頼性レベルがしきい値信頼性レベルを下回る場合、追加の特徴が抽出される。別の実施形態では、総信頼性レベルがしきい値信頼性レベルを下回る場合、追加の特徴が抽出される。追加の特徴が抽出されるべきかどうかを決定する際に、他の条件が使用されることもある。より多くの特徴が抽出されるべきではないとマルチメディアコンテンツ分類器1412が決定することがあるので、より少ない特徴を最初に抽出することで、デバイス1402のリソースを節約し得ることが諒解されよう。
[00173]特定の実施形態では、特徴セット抽出器1414は、第2の処理デバイス310の一部であること、または第2の処理デバイス310に組み込まれることがある。たとえば、特徴セット抽出器1414は、抽出基準が満たされることに基づいて、特徴の第1のサブセットを抽出することができる。抽出基準は、第1の知覚データ1470に基づき得る。たとえば、図3の第1の処理デバイス304は、図1の第1のフレーム102に対応する第1の画像統計を生成することができ、図1の第2のフレーム104に対応する第2の画像統計を生成することができる。この実施形態では、第1の知覚データ1470は第2のフレーム104に対応し得る。
[00174]第1の画像統計および第2の画像統計は、アプリケーション特有処理に基づいて生成され得る。アプリケーション特有処理は、知覚データ(たとえば、第1の知覚データ1470および/または第1のフレーム102に対応する第2の知覚データ)が、対応する画像の中に特定のオブジェクト(たとえば、一時停止の交通標識)があることを示すかどうか、警告事象がトリガされている(たとえば、特定のジェスチャーが検出されている)ことを示すかどうか、画像の中に特定の色のオブジェクトがあることを示すかどうか、またはそれらの組合せを決定することを含み得る。アプリケーション特有処理は、活動認識、人認識、オブジェクト認識、ロケーション認識、またはジェスチャー認識のうちの少なくとも1つを含み得る。
[00175]特定の実施形態では、メモリ1408は、様々なアプリケーション処理タイプと対応する統計タイプとの間のマッピングを記憶することができる。たとえば、特定のオブジェクト(たとえば、一時停止の交通標識)を検出することに対応する特定のアプリケーション処理タイプは、特定の色(たとえば、赤)の色ヒストグラムに対応する特定の統計タイプにマッピングし得る。第2の処理デバイス310は、特定のアプリケーション処理タイプおよびマッピングに基づく特定の統計タイプを示す構成データを第1の処理デバイス304に提供することができる。第1の処理デバイス304は、特定の統計タイプに対応する第1の画像統計と第2の画像統計とを生成することができる。たとえば、第1の画像統計は、第2のフレーム104に対応する第1の色ヒストグラムにおける特定の色(たとえば、赤)のピクセルの第1のカウントを含むことができ、第2の画像統計は、第1のフレーム102に対応する第2の色における特定の色(たとえば、赤)のピクセルの第2のカウントを含むことができる。
[00176]図1の統計処理デバイス108は、抽出基準が満たされると決定したことに応答して、第2の処理デバイス310に第1の知覚データ1470を提供することができる。たとえば、統計処理デバイス108は、第1の画像統計(たとえば、ピクセルの第1のカウント)と第2の画像統計(たとえば、ピクセルの第2のカウント)との間の変化量が変化しきい値を満たすと決定したことに応答して、第2の処理デバイス310(たとえば、特徴セット抽出器1414)に第1の知覚データ1470を提供することができる。特定の実施形態では、第1の知覚データ1470がシーン変化を示すときに、摘出基準は満たされ得る。たとえば、統計処理デバイス108は、シーン変化検出器1460を含むことができる。統計処理デバイス108は、図22を参照しながらさらに説明するように、第1の知覚データ1470がシーン変化を示すとシーン変化検出器1460が決定したことに基づいて、抽出基準が満たされると決定することができる。特定の実施形態では、図23を参照しながらさらに説明するように、画像の鮮明度がしきい値鮮明度レベル(たとえば、しきい値データ1434のしきい値鮮明度レベル1484)を満たすことを第1の知覚データ1470が示すときに、抽出基準は満たされ得る。たとえば、統計処理デバイス108は、画像の鮮明度がしきい値鮮明度レベルを満たすかどうかを決定するように構成された不鮮明画像検出器1462を含むことができる。
[00177]統計処理デバイス108は、変化量が変化しきい値を満たさないと決定したことに応答して、特徴セット抽出器1414に第1の知覚データ1470を提供するのを控えることができる。特徴セット抽出器1414は、第1の知覚データ1470を受信したことに応答して、特徴の第1のサブセットを抽出することができる。抽出基準が満たされるかどうかを決定することは、特徴の第1のサブセットを抽出することよりも少ないデバイス1402のリソースを使用することができる。第2のフレーム104の特徴を抽出するために第1のフレーム102と第2のフレーム104との間の変化量が不十分である(たとえば、変化しきい値を下回る)と統計処理デバイス108が決定することがあるので、抽出基準が満たされるかどうかを最初に決定することで、デバイス1402のリソースを節約し得ることが諒解されよう。
[00178]代替実施形態では、特徴セット抽出器1414は、図3の第1の処理デバイス304の一部であること、または第1の処理デバイス304に組み込まれることがある。たとえば、第1の処理デバイス304における特徴セット抽出器1414は、第1の知覚データ1470から特徴の第1のサブセットを抽出することができる。第1の処理デバイス304は、特徴の第1のサブセットに基づいて第1の画像統計を決定することができる。第1の処理デバイス304は、図1の統計処理デバイス108に第1の画像統計を提供することができる。統計処理デバイス108は、本明細書で説明するように、第1の画像統計および第2の画像の第2の画像統計に基づいて、抽出基準が満たされるかどうかを決定することができる。統計処理デバイス108は、抽出基準が満たされると決定したことに基づいて、図3の第2の処理デバイス310に第1の知覚データ1470を提供することができる。
[00179]また別の実施形態では、第1の処理デバイス304における特徴セット抽出器1414は、第1の知覚データ1470から特徴の第1のサブセットを抽出することができる。第1の処理デバイス304は、特徴の第1のサブセットを抽出することに関連する信頼性レベルを決定することができ、図1の統計処理デバイス108に信頼性レベルを提供することができる。統計処理デバイス108は、信頼性レベルがしきい値信頼性レベル1482を満たすかどうかを決定したことに基づいて、抽出基準が満たされるかどうかを決定することができる。統計処理デバイス108は、信頼性レベルがしきい値信頼性レベル1482を満たすと決定したことに基づいて、第1の知覚データ1470、特徴の第1のサブセット、または両方を特徴セットクラスタ器1416に提供することができる。統計処理デバイス108は代替的に、信頼性レベルがしきい値信頼性レベル1482を満たさないと決定したことに基づいて、追加の特徴を抽出するために特徴セット抽出器1414に第1の知覚データ1470を提供することができる。特定の実施形態では、図3の第2の処理デバイス310は、特徴セットクラスタ器1416を含むことができ、特徴セット抽出器1414を含むことができる。たとえば、第1の処理デバイス304および第2の処理デバイス310の各々は、特徴セット抽出器1414の1つのバージョンを含むことができる。
[00180]特定の実施形態では、画像の特徴は、ムービングピクチャエキスパートグループ7(MPEG−7:moving picture experts group 7)視覚記述子、汎用検索ツリー(GIST:generalized search tree)記述子、センサス変換ヒストグラム(CENTRIST:census transform histogram)視覚記述子、単語の袋(bag-of-words)記述子、視覚的局所総計(visually locally aggregated)記述子、空間ピラミッドマッチング(spatial pyramid matching)記述子、またはそれらの組合せを含むことができる。MPEG−7視覚記述子は、スケーラブル色記述子(SCD:scalable color descriptor)、色構造記述子(CSD:color structure descriptor)、フレームグループ(GOF:group of frame)記述子、ピクチャグループ(GOP:group of pictures)記述子、支配色記述子(DCD:dominant color descriptor)、色レイアウト記述子(CLD:color layout descriptor)、テクスチャブラウジング記述子(TBD:texture browsing descriptor)、同種テクスチャ記述子(HTD:homogeneous texture descriptor)、エッジヒストグラム記述子(EHD:edge histogram descriptor)、輪郭ベース形状記述子(contour-based shape descriptor)、領域ベース形状記述子(region-based shape descriptor)、カメラ動き記述子(CMD:camera motion descriptor)、動き経路記述子(MTD:motion trajectory descriptor)、パラメトリック動き記述子(PMD:parametric motion descriptor)、または動き活動記述子(MAD:motion activity descriptor)のうちの1つまたは複数を含み得る。これらの記述子のうちの1つまたは複数は、キャプチャされた画像から色、テクスチャ、動き、エッジ、形状、および/またはシーン情報を抽出することができる。特徴セット抽出器は、特徴の第1のサブセットの各々に関連する信頼性レベルを決定することができる。たとえば、各MPEG−7視覚記述子は関連信頼性レベルを有し得る。特徴セット抽出器1414は、特徴の第1のサブセット(たとえば、特徴のサブセット342)をメモリ1408に記憶することができる。
[00181]特定の実施形態では、第1の画像センサー1404が所与のデータサンプリング間隔で(たとえば、毎分1回)画像を継続的にキャプチャするとき、知覚データ(たとえば、第1の知覚データ1470)は、多くの連続画像について実質的に同じままであり得る。たとえば、デバイス1402は、ユーザ1452のモバイルデバイスであり得る。ユーザ1452が仕事中に机の上にデバイス1402を置き、第1の画像センサー1404が実質的に同様の(たとえば、天井の)画像をキャプチャすることがある。そのような例では、特徴セットクラスタ器1416は、特定の持続時間にキャプチャされた画像の特徴のサブセットを組み合わせることによって、特徴の第1のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)を生成することができる。たとえば、特徴セットクラスタ器1416は、第1のタイムスタンプが第2のタイムスタンプのしきい値クラスタ持続時間(たとえば、しきい値持続時間1480)内にあることに基づいて、画像に関係する特徴の第1のサブセットと第2の画像に関係する特徴の別のサブセット(たとえば、特徴のサブセット1442)とを組み合わせることによって、特徴の第1のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)を生成することができる。第1のタイムスタンプ(たとえば、タイムスタンプ1494)は画像に関連付けられてよく、第2のタイムスタンプ(たとえば、タイムスタンプ1494)は第2の画像に関連付けられてよい。たとえば、第1のタイムスタンプは、第1の画像センサー1404がいつ画像をキャプチャしたか、またはデバイス1402がいつ第1の知覚データ1470を受信したかを示すことができる。同様に、第2のタイムスタンプは、第1の画像センサー1404がいつ第2の画像をキャプチャしたか、またはデバイス1402がいつ第2の画像に関係する知覚データを受信したかを示すことができる。したがって、特徴のクラスタ化サブセット1476は、一時的にクラスタ化された共通の特徴(たとえば、ユーザが机に向かっていた時間中の天井の特徴)を表すことができる。
[00182]特徴セットクラスタ器1416は、第1のタイムスタンプ(たとえば、2013年7月10日の10:00AM)および第2のタイムスタンプ(たとえば、2013年7月10日の10:03AM)がしきい値クラスタ持続時間(たとえば、5分間)内にあることに基づいて、画像の特徴の第1のサブセット(たとえば、エッジヒストグラム記述子、センサス変換、またはガボールフィルタ処理結果)と第2の画像の特徴の別のサブセット(たとえば、第2のエッジヒストグラム記述子、センサス変換、またはガボールフィルタ処理結果)とを組み合わせることによって、特徴の第1のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)を生成することができる。特徴の第1のクラスタ化サブセットは、特徴の第1のサブセット、特徴の他のサブセット、または両方を含み得る。特徴の第1のクラスタ化サブセットは、対応する持続時間(たとえば、2013年7月10日の10:00AM〜10:04AM)を示し得る。特徴の第1のクラスタ化サブセットの後続分析は、特徴の第1のサブセットと特徴の第2のサブセットとを個別に分析することと比較して、デバイス302のより少ないリソースを使用し得る。特徴セットクラスタ器1416は、特徴の第1のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)をメモリ1408に記憶することができる。
[00183]特徴セット分類器1418は、第1の分類モデル(たとえば、分類モデル1428)に基づいて特徴の第1のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)を分類することによって、特徴の第1の分類サブセット(たとえば、特徴の分類サブセット1474)を生成することができる。第1の分類モデルは、特徴の第1のクラスタ化サブセットが特定のロケーション、特定の人、特定のオブジェクト、特定の活動、またはそれらの任意の組合せに対応することを示し得る。第1の分類モデルはまた、対応に関連する信頼性レベルを示し得る。結果として、特徴セット分類器1418は、特徴の第1のクラスタ化サブセットがロケーション、人、オブジェクト、活動、またはそれらの任意の組合せに対応することを示す特徴の第1の分類サブセットを生成することができる。特徴の第1の分類サブセットはまた、関連信頼性レベルを示し得る。たとえば、特徴の第1の分類サブセットは、特定の信頼性レベル(たとえば、低い)により、特徴の第1のクラスタ化サブセットが特定のタイプのロケーション(たとえば、屋内)に対応することを示し得る。特定の実施形態では、特徴の第1の分類サブセットはまた、関連持続時間を示し得る。たとえば、特徴の第1の分類サブセットは、特徴の第1のクラスタ化サブセット、第1のタイムスタンプ、第2のタイムスタンプ、またはそれらの任意の組合せに関連する持続時間(たとえば、2013年7月10日の10:00AM〜10:04AM)を示し得る。例示すると、特徴の第1の分類サブセットは、「低い」信頼性レベル(たとえば、25%の「低い」信頼性レベルしきい値を下回る20%の信頼性レベル)により、「コンテキスト」が2013年7月10日の10:00AM〜10:04AMの間の屋内であることを示し得る。特徴セット分類器1418は、特徴の第1の分類サブセット(たとえば、特徴の分類サブセット1474)をメモリ308に記憶することができる。
[00184]マルチメディアコンテンツ分類器1412は、特徴の第1のサブセットの信頼性レベルがしきい値信頼性レベル(たとえば、しきい値信頼性レベル1482)を満たすかどうかを決定することができる。特定の実施形態では、マルチメディアコンテンツ分類器1412は、中間コンテキストデータ(たとえば、中間コンテキストデータ1492)の信頼性レベルがしきい値信頼性レベル1482を満たさないと決定したことに応答して、特徴の第1のサブセットの信頼性レベルがしきい値信頼性レベル1482を満たさないと決定し得る。中間コンテキストデータ1492は、画像の部分的コンテキストに対応し得る。たとえば、中間コンテキストデータ1492は、特徴の第1のサブセット(たとえば、特徴のサブセット1442)、特徴の第1のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)、または特徴の第1の分類サブセット(たとえば、特徴の分類サブセット1474)に対応し得る。
[00185]たとえば、特徴の第1のサブセットは、画像のエッジヒストグラム記述子またはセンサス変換と関連信頼性レベルとを含むことができる。マルチメディアコンテンツ分類器1412は、関連信頼性レベルのうちの1つまたは複数がしきい値信頼性レベル1482を満たさないと決定し得る。結果として、マルチメディアコンテンツ分類器1412は、特徴の第1のサブセット、したがって中間コンテキストデータ1492の信頼性レベルがしきい値信頼性レベル1482を満たさないと決定し得る。
[00186]別の例として、特徴セットクラスタ器1416は、特徴の第1のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)に関連する信頼性レベルがしきい値信頼性レベル1482を満たさないと決定し得る。例示すると、特徴セットクラスタ器1416は、画像と第2の画像の両方ではなく一方に関係する特徴の第1のクラスタ化サブセットの特徴についての特定の(たとえば、低い)信頼性レベルを決定し得る。別の例として、特徴セットクラスタ器1416は、第1画像と第2の画像とに関連する特徴の信頼性レベルの関数(たとえば、平均)に基づいて特定の信頼性レベルを決定することができる。特徴の第1のサブセットの特定の特徴は、第1の信頼性レベル(たとえば、低い)を有し得る。特徴の他のサブセットの特定の特徴は、第2の信頼性レベル(たとえば、高い)を有し得る。特徴セットクラスタ器1416は、特定の信頼性レベルが第1の信頼性レベルおよび第2の信頼性レベルの平均(たとえば、中間)であると決定し得る。マルチメディアコンテンツ分類器1412は、特定の信頼性レベルがしきい値信頼性レベル1482を満たさないと決定し得る。結果として、マルチメディアコンテンツ分類器1412は、特徴の第1のクラスタ化サブセット、したがって中間コンテキストデータ1492に関連する信頼性レベルがしきい値信頼性レベル1482を満たさないと決定し得る。
[00187]さらなる例として、マルチメディアコンテンツ分類器1412は、特徴の第1の分類サブセット(特徴の分類サブセット1474)に関連する信頼性レベルがしきい値信頼性レベル1482を満たさないと決定し得る。例示すると、特徴の第1の分類サブセットは、しきい値信頼性レベル1482を満たさない特定の信頼性レベルにより、特徴の第1のクラスタ化サブセットが特定のタイプのロケーション(たとえば、屋内)に対応することを示し得る。結果として、マルチメディアコンテンツ分類器1412は、特徴の第1の分類サブセット、したがって中間コンテキストデータ1492に関連する信頼性レベルがしきい値信頼性レベル1482を満たさないと決定し得る。
[00188]中間コンテキストデータ1492の信頼性レベルがしきい値信頼性レベル1482を満たさないとの決定に応答して、特徴セット抽出器1414は、特徴の第2のサブセット(たとえば、特徴のサブセット1442)を抽出することができる。たとえば、特徴セット抽出器1414は、特徴の第1のサブセット、特徴の第1のクラスタ化サブセット、または特徴の第1の分類サブセットがしきい値信頼性レベル1482を満たさないと決定したことに応答して、追加の特徴(たとえば、特徴の第2のサブセット)を抽出することができる。
[00189]特定の実施形態では、特徴の第2のサブセット(たとえば、特徴のサブセット1442)は、画像に関係することがあり、第1の知覚データ1470から抽出されることがある。たとえば、特徴セット抽出器1414は、画像のエッジヒストグラム記述子を再計算する前に、画像のグレーレベル範囲を拡大するためにヒストグラム均等化を使用することができる。再計算されたエッジヒストグラム記述子(すなわち、特徴の第2のサブセット)は、以前計算されたエッジヒストグラム記述子よりも高い関連信頼性レベルを有し得る。別の例として、特徴セット抽出器1414は、以前抽出されていない画像の第2の視覚記述子(すなわち、特徴の第2のサブセット)(たとえば、色記述子、テクスチャ記述子、GIST記述子、CENTRIST記述子、またはそれらの任意の組合せ)を抽出することができる。第2の視覚記述子は、以前抽出された視覚記述子よりも高い関連信頼性レベルを有し得る。
[00190]特定の実施形態では、特徴の第2のサブセット(たとえば、特徴のサブセット1442)は、別の画像に関係し得る。たとえば、マルチメディアコンテンツ分類器1412は、特徴の第1のサブセットの信頼性レベルがしきい値信頼性レベル1482を満たさないと決定したことに応答して、第2の知覚データ(たとえば、第2の知覚データ1424)についての要求(たとえば、第2の画像キャプチャ要求1426)を別の画像センサー(たとえば、第Nの画像センサー1440)に送ることができる。第2の画像キャプチャ要求1426に応答して、第Nの画像センサー1440は、他の画像をキャプチャすることができ、他の画像に関係する第2の知覚データ1424をデバイス1402に送ることができる。
[00191]特定の実施形態では、画像は、第1の画像センサー1404の第1の設定に対応することができ、他の画像は、第Nの画像センサー1440の第2の設定に対応することができる。第1の設定は、ズーム設定、解像度設定、角度設定、ロケーション、またはそれらの任意の組合せを含むことができる。第1の設定は第2の設定とは別個のものであり得る。たとえば、第2の設定は、第1の設定よりも高いズーム、第1の設定よりも高い解像度、第1の設定とは異なる角度、第1の設定とは異なるロケーション、またはそれらの任意の組合せに対応し得る。特徴の第2のサブセット(たとえば、特徴のサブセット1442)を使用することで、特徴の第1のクラスタ化サブセット、特徴の第1の分類サブセット、または両方に関連する1つまたは複数の信頼性レベルを高めることができる。
[00192]特定の実施形態では、第1の画像センサー1404は第1のデバイスに組み込まれることがあり、第Nの画像センサー1440は第2のデバイスに組み込まれることがあり、第1のデバイスは第2のデバイスとは別個のものであり得る。たとえば、第1の画像センサー1404はカメラに組み込まれることがあり、第Nの画像センサー1440は別のカメラに組み込まれることがある。
[00193]特徴セット抽出器1414は、特徴の第2のサブセット(たとえば、特徴のサブセット1442)を第2の知覚データ1424から抽出することができる。特定の実施形態では、特徴セット抽出器1414は、抽出基準が満たされると決定したことに基づいて、特徴の第2のサブセットを抽出することができる。たとえば、マルチメディアコンテンツ分類器1412(たとえば、図3の第1の処理デバイス304)は、第1の知覚データ1470に基づいて第1の画像統計を決定することができ、第2の知覚データ1424に基づいて第2の画像統計を決定することができる。マルチメディアコンテンツ分類器1412(たとえば、図1の統計処理デバイス108)は、第1の画像統計と第2の画像統計との間の差に対応する変化量が変化しきい値を満たすと決定したことに基づいて特徴の第2のサブセットを抽出するために(たとえば、第2の処理デバイス310における)特徴セット抽出器1414に第2の知覚データ1424を提供することができる。マルチメディアコンテンツ分類器1412(たとえば、図1の統計処理デバイス108)は、変化量が変化しきい値を満たさないと決定したことに基づいて第2の知覚データ1424を処分する(たとえば、第2の処理デバイス310に第2の知覚データ1424を提供するのを控える)ことができる。
[00194]特定の実施形態では、特徴セット抽出器1414は、図18〜図21を参照しながらさらに説明するように、選択基準1438に基づいて特徴の第2のサブセットを選択することができる。特徴セット抽出器1414は、特徴の第2のサブセット(たとえば、特徴のサブセット1442)をメモリ1408に記憶することができる。特徴の第1のサブセットを抽出することは、特徴の第2のサブセットを抽出することよりも少ないデバイス1402のリソース(たとえば、メモリ、電力、プロセッサ実行サイクル)を使用し得る。
[00195]特徴セットクラスタ器1416は、画像に関連する第1のタイムスタンプ、第2の画像に関連する第2のタイムスタンプ、他の画像に関連する別のタイムスタンプ、またはそれらの任意の組合せに基づいて、特徴の第2のサブセット(たとえば、特徴のサブセット1442)をクラスタ化することによって、特徴の第2のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)を生成することができる。たとえば、特徴の第2のクラスタ化サブセットは、特徴の第1のクラスタ化サブセット、特徴の第2のサブセット、特徴の第2のサブセットに対応する第2の画像の特徴の別のサブセット、またはそれらの任意の組合せを含むことができる。特定の実施形態では、特徴の第2のクラスタ化サブセットは、画像のエッジヒストグラム記述子および第2の画像の第2のエッジヒストグラム記述子の組合せと、第1の画像のGIST記述子および第2の画像の第2のGIST記述子の組合せと、第1の画像のCENTRIST記述子および第2の画像の第2のCENTRIST記述子の組合せとを含むことができる。
[00196]特徴セット分類器1418は、特徴の第2のサブセットに少なくとも部分的に基づいて、画像のコンテキストを示すコンテキストデータ(たとえば、コンテキストデータ1490)を生成することができる。画像のコンテキストは、ロケーション、人、活動、またはそれらの任意の組合せを含むことができる。たとえば、特徴セット分類器1418は、第2の分類モデル(たとえば、分類モデル1428)に基づいて特徴の第1のクラスタ化サブセット、特徴の第2のクラスタ化サブセット、または両方を分類することによって、コンテキストデータ1490を生成することができる。たとえば、第2の分類モデルは、特徴の第1のクラスタ化サブセット、特徴の第2のクラスタ化サブセット、または両方が特定の建物の特定の部屋に対応することを示し得る。第2の分類モデルは、対応に関連する信頼性レベルを示し得る。第2の分類モデルに基づいて、特徴セット分類器1418は、画像のコンテキストが特定の部屋に対応することを示すコンテキストデータ1490を生成することができる。コンテキストデータ1490は、関連信頼性レベルを示し得る。たとえば、コンテキストデータ1490は、特定の部屋に対応する画像のコンテキストに関連する特定の信頼性レベル(たとえば、高い)を示し得る。特定の実施形態では、コンテキストデータ1490はまた、関連持続時間を示し得る。たとえば、コンテキストデータ1490は、持続時間(たとえば、2013年7月10日の10:00AM〜10:04AM)に(たとえば、ユーザ1452が仕事している)特定の部屋の中にデバイス1402があったことを示し得る。持続時間は、特徴のクラスタ化サブセット(たとえば、特徴の第1のクラスタ化サブセット、特徴の第2のクラスタ化サブセット、または両方)、第1のタイムスタンプ、第2のタイムスタンプ、他のタイムスタンプ、またはそれらの任意の組合せに関連付けられ得る。
[00197]したがって、上記の例では、特徴の第1の分類サブセットがコンテキスト「屋内」に関連する「低い」信頼性レベル(たとえば、25%)を示す一方、コンテキストデータ1490は、より精緻化されたコンテキスト(たとえば、「仕事中」)のより高い信頼性レベル(たとえば、85%)を示す。使用事例によっては、より低い信頼性レベルおよび特徴の第1のサブセットから生成されたさほど精緻化されていないコンテキストで十分であり得ることが諒解されよう。そのような状況では、さほど精緻化されていないコンテキストを出力すること、および特徴の第2のサブセットを抽出するのを控えることによって、リソースが節約され得る。より低い信頼性レベルおよびさほど精緻化されていないコンテキストでは不十分である状況では、より高い信頼性レベルを有するより精緻化されたコンテキストを生成するために特徴の第2のサブセットを抽出するために追加のリソースが使用され得る。
[00198]マルチメディアコンテンツ分類器1412は、アプリケーション(たとえば、アプリケーション1444)にコンテキストデータ1490を出力する(またはコンテキストデータ1490にアクセス可能にする)ことができる。特定の実施形態では、アプリケーション1444は、コンテキスト抽出エンジン、コンテキスト認識エンジン、または両方を含むことができる。アプリケーション1444は、コンピュータビジョンアプリケーションを含むことができる。たとえば、アプリケーション1444は、ライフタグタギング(life tagging)アプリケーション、マクロジオフェンシングアプリケーション、ミクロジオフェンシングアプリケーション、動き活動検出アプリケーション、テキスト検出アプリケーション、オブジェクト検出アプリケーション、ジェスチャー検出アプリケーション、またはそれらの任意の組合せを含むことができる。たとえば、マルチメディアコンテンツ分類器1412は、ライフタグ付けアプリケーションにコンテキストデータ1490を出力することができる。コンテキストデータ1490に基づいて、ライフタグ付けアプリケーションは、持続時間(たとえば、2013年7月10日の10:00AM〜10:04AM)中に(たとえば、仕事中に)特定の部屋の中にユーザ1452がいたと推論し得る。
[00199]特定の実施形態では、特徴セット抽出器1414は、図22を参照しながらさらに説明するように、第1の知覚データ1470がシーン変化を示すことをシーン変化検出器(たとえば、シーン変化検出器1460)が検出したことに応答して、特徴の第1のサブセット(たとえば、特徴のサブセット1442)を抽出することができる。たとえば、以前分析された画像と同じシーンを表す画像の特徴は抽出されなくてよく、それによってデバイス1402のリソースを節約することができる。
[00200]特定の実施形態では、特徴セット抽出器1414は、図23を参照しながらさらに説明するように、画像の鮮明度がしきい値鮮明度レベル(たとえば、しきい値データ1434のしきい値鮮明度レベル1484)を満たすことを第1の知覚データ1470が示すと不鮮明画像検出器(たとえば、不鮮明画像検出器1462)が決定したことに応答して、特徴の第1のサブセット(たとえば、特徴のサブセット1442)を抽出することができる。たとえば、あまりにも不鮮明でしきい値鮮明度レベル1484を満たすことができない画像の特徴は、画像のコンテキストを識別するのに有用ではないことがあり、分析のために抽出されないことがあり、それによってデバイス1402のリソースを節約することができる。
[00201]したがって、システム1400は、デバイス1402のリソースの効率的使用による画像コンテキスト識別を可能にし得る。たとえば、画像の特徴は、画像が以前抽出された画像、不鮮明な画像、または両方に対応しないときに抽出され得る。その上、画像の部分的特徴が最初に抽出され、部分的特徴がしきい値信頼性レベルを満たさない場合に追加の特徴が抽出されることがある。デバイス1402は、より少ないリソースを使用する一方でより多くの数の画像を分析することを可能にされ得る。
[00202]図15を参照すると、画像の特徴のサブセットを抽出することに関連する計算間隔の特定の例示的な実施形態が開示され、全体的に1500と称される。
[00203]図14のデバイス1402は、データサンプリング間隔(たとえば、データサンプリング間隔1506)で画像センサー(たとえば、第1の画像センサー1404)から知覚データ(たとえば、第1の知覚データ1470)を周期的に受信することができる。特徴セット抽出器1414によって知覚データから特定の数(たとえば、N=2)の特徴が抽出可能であり得る。たとえば、デバイス1402は、時間1502および時間1504に(すなわち、データサンプリング間隔1506で)第1の知覚データ1470を周期的に受信することができる。別の例として、デバイス1402は、時間1512、時間1514および時間1516に第1の知覚データ1470を受信することができる。特定の実施形態では、特徴セット抽出器1414は、各データサンプリング間隔中にすべての(たとえば、N個の)特徴を抽出することができる。
[00204]別の特定の実施形態では、抽出される特徴の数は、知覚データ(たとえば、抽出される特徴)に関連する抽出基準、分析基準(たとえば、信頼性レベル)、または両方に基づき得る。たとえば、特徴セット抽出器1414は、図14を参照しながらさらに説明したように、特徴の第1のサブセットに関連する信頼性レベルがしきい値信頼性レベル(たとえば、しきい値信頼性レベル1482)を満たさないことに応答して、時間1512に特徴の第1のサブセットと特徴の第2のサブセットとを抽出することができる。したがって、特徴セット抽出器1414は、時間1512に第1の数の(たとえば、2つの)特徴を抽出することができる。特定の実施形態では、特徴セット抽出器1414は、図14を参照しながら説明したように、抽出基準が満たされると決定したことに少なくとも部分的に基づいて、時間1512に特徴の第1のサブセットと特徴の第2のサブセットとを抽出することができる。
[00205]その後、デバイス1402は、時間1514に第1の知覚データ1470を受信することができる。特徴セット抽出器1414は、図14を参照しながらさらに説明したように、特徴の第1のサブセットに関連する信頼性レベルがしきい値信頼性レベル1482を満たすと決定したことに応答して、時間1514に特徴の第1のサブセットを抽出すること、および特徴の第2のサブセットを抽出しないことがある。したがって、特徴セット抽出器1414は時間1514に、より少ない(たとえば、1つの)特徴を抽出することができる。特定の実施形態では、特徴セット抽出器1414は、図14を参照しながら説明したように、抽出基準が満たされると決定したことに少なくとも部分的に基づいて、時間1514に特徴の第1のサブセットを抽出することができる。
[00206]デバイス1402はその後、時間1516に第1の知覚データ1470を受信することができる。特徴セット抽出器1414は、特徴の第1のサブセットに関連する信頼性レベルがしきい値信頼性レベル1482を満たさないことに応答して、時間1516に特徴の第1のサブセットと特徴の第2のサブセットとを抽出することができる。したがって、特徴セット抽出器1414は時間1516に、時間1514のときよりも多くの(たとえば、2つの)特徴を抽出することができる。特定の実施形態では、特徴セット抽出器1414は、図14を参照しながら説明したように、抽出基準が満たされると決定したことに少なくとも部分的に基づいて、時間1516に特徴の第1のサブセットと特徴の第2のサブセットとを抽出することができる。
[00207]したがって、図15に示すように、第1の計算間隔1508で時間1512、1514および1516に特徴の第1のサブセットが抽出され得る。第1の計算間隔1508は、データサンプリング間隔1506にほぼ等しくなり得る。第2の計算間隔1510で時間1512および1516に特徴の第2のサブセットが抽出され得る。第2の計算間隔1510は、データサンプリング間隔1506よりも大きくなり得る。
[00208]したがって、特徴セット抽出器1414は、より高い頻度でより少ない特徴を抽出することができ、より低い頻度で必要に応じてより多くの特徴を抽出することができ、それによってデバイス1402のリソースを節約することができる。
[00209]図16を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に1600と称される。システム1600の動作のうちの1つまたは複数は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00210]システム1600は1604に、特徴セット1抽出を含み得る。動作504は、図14を参照しながらさらに説明したように、図14の特徴セット抽出器1414が特徴の第1のサブセットを抽出することに対応し得る。システム1600は1624に、特徴セットM抽出を含み得る。動作1624は、図14を参照しながらさらに説明したように、図14の特徴セット抽出器1414が特徴の第2のサブセットを抽出することに対応し得る。システム1600は1606に、特徴セットクラスタ化を含み得る。動作1606は図14の特徴セットクラスタ器1416の動作に対応し得る。システム1600は1608に、特徴セット分類を含み得る。動作1608は図14の特徴分類器1418の動作に対応し得る。
[00211]システム1600は中間推論1620を生成することができる。中間推論1620は、図14の特徴の分類サブセット1474に対応し得る。システム1600は最終推論1610を生成することができる。最終推論1610は図14のコンテキストデータ1490に対応し得る。
[00212]特定の実施形態では、どの特徴がいくつ抽出されるべきかは、デバイス能力に依存し得る。たとえば、第1のメモリしきい値を満たさないメモリを有するデバイス、第1のプロセッサ速度しきい値を満たさないプロセッサ速度、または両方は、低ティアデバイスに対応し得る。第1のメモリしきい値を満たし、第2のメモリしきい値を満たさないメモリを有するデバイス、第1のプロセッサ速度しきい値を満たし、第2のプロセッサ速度しきい値を満たさないプロセッサ速度、または両方は、中間ティアデバイスに対応し得る。両方のメモリしきい値を満たすデバイス、両方の速度しきい値を満たすプロセッサ速度は、高ティアデバイスに対応し得る。
[00213]特定の実施形態では、システム1600は、低ティアデバイスについては、より多くの特徴が抽出されるべきかどうかを決定するのを控えることができる。この実施形態では、特徴の第1の分類サブセットは、最終推論1610として扱われ得る。第1の知覚データ1470のより多くの特徴を分析することは、低ティアデバイスのリソース(たとえば、メモリまたはプロセッサ速度)制約により実用的ではないことがある。たとえば、低ティアデバイスを使用して第1の知覚データ1470の追加の特徴を分析することは、しきい値分析持続時間よりも長い時間を要することがある。
[00214]システム1600は1622において、より多くの特徴が必要とされるかどうかを決定することができる。たとえば、システム1600は、デバイス1402の能力(たとえば、プロセッサ速度、メモリ速度、または両方)、抽出基準、分析基準(たとえば、信頼性レベル)、またはそれらの組合せに基づいて、特徴の第2のサブセットが抽出されるべきであるかどうかを決定することができる。たとえば、システム1600は、図14を参照しながらさらに説明したように、特徴の分類サブセット1474に関連する信頼性レベルに基づいて、中間ティアデバイスまたは高ティアデバイスについて追加の特徴(たとえば、特徴の第2のサブセット)が抽出されるべきかどうかを決定することができる。
[00215]特定の実施形態では、特徴セット抽出器1414は、デバイス1402の能力に基づいて、特徴の第2のサブセットに含まれるべき特定の数の特徴を選択することができる。たとえば、特徴セット抽出器1414は、中間ティアデバイスの場合に、高ティアデバイスの場合よりも少ない追加の特徴を抽出し得る。
[00216]したがって、より高いティアのデバイスにおいて、より低いティアのデバイスにおいてよりも多くの特徴が知覚データから抽出され得る。画像コンテキストデータを生成するために、より低いティアのデバイスのより少ないリソースが使用され得る一方、より高いティアのデバイスについては、より高い関連信頼性レベルを有する画像コンテキストデータが生成され得る。
[00217]図17を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に1700と称される。システム1700の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00218]システム1700の構成要素は、図16のシステム1600の対応する構成要素と同様の方法で動作することができる。システム1700は第1の中間推論1702を生成することができる。第1の中間推論1702は、図14の特徴のクラスタ化サブセット1476に対応し得る。システム1700は第2の中間推論1704を生成することができる。第2の中間推論1704は、図14の特徴の分類サブセット1474に対応し得る。
[00219]システム1700は、1つまたは複数の特徴抽出(たとえば、特徴セット1抽出1604、特徴セット2抽出1722、特徴セットN抽出1724、またはそれらの任意の組合せ)を実行することができる。システム1700は、特徴セットクラスタ化1606を実行することができ、特徴セット分類1608を実行することができる。
[00220]1つまたは複数の特徴セット抽出(たとえば、特徴セット1抽出1604、特徴セット2抽出1622、または特徴セットN抽出1624)、特徴セットクラスタ化1606、および特徴セット分類1608の各々を実行した後、システム1700は、たとえば、1710、1712、1714、または1622において、より多くの特徴が必要とされるかどうかを決定することができる。たとえば、マルチメディアコンテンツ分類器1412は、図14を参照しながらさらに説明したように、分析基準(たとえば、信頼性レベル)、抽出基準、または両方に基づいて、追加の特徴が抽出されるべきであるかどうかを決定することができる。
[00221]したがって、システム1700は画像コンテキスト識別を可能にし得る。しきい値信頼性レベルが達成されるまで、分析の様々な段階で(たとえば、他の特徴を抽出した後、クラスタ化した後、または分類後)追加の特徴が抽出され得る。
[00222]図18を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に1800と称される。システム1800の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00223]システム1800の構成要素は、図17のシステム1700の対応する構成要素と同様の方法で動作することができる。システム1800は、使用事例1436に基づいて知覚データ(たとえば、図14の第1の知覚データ1470)から抽出するべき特徴のサブセットを選択することができる。使用事例1436は、活動認識、人認識、オブジェクト認識、ロケーション認識、ジェスチャー認識、感情認識、視線認識、ヘルスモニタリング(たとえば、体調認識)、またはそれらの任意の組合せを含み得る。特定の実施形態では、使用事例1436はアプリケーション特有処理に対応し得る。たとえば、図3の第1の処理デバイス304は、使用事例1436に基づいて、図14を参照しながら説明したように画像統計を生成することができる。
[00224]認識され得る活動の一例としては、テレビを見ていること、ゲームをしていること、読んでいること、書いていること、スクリーンを見ていること、プレゼンテーションをしていること、会合に参加中、1人で仕事していること、人々と会っていること、食べていること、買い物していること、料理していること、通勤していることなどがある。認識され得る人々の一例としては、特定の個人(たとえば、「ジョン スミス」)、人のタイプ(たとえば、警察官、消防隊員、パイロット、客室乗務員、または医師)、またはそれらの任意の組合せがある。
[00225]オブジェクトの一例としては、道路標識、顔、手、指、拇印、玩具、鍵、電話、武器、車、ナンバープレートなどがある。認識され得るロケーションの一例としては、特定の建物(たとえば、特定の州の州会議事堂)、建物のタイプ(たとえば、博物館、学校、病院、または遊び場)、またはそれらの任意の組合せがある。認識され得るジェスチャーの一例としては、特定の方向を見ていること、特定の方向を指していること、特定の方向に打っていること、手つき、眼球運動、またはそれらの任意の組合せがある。
[00226]特定の実施形態では、分類モデル(たとえば、分類モデル1428)は、特徴の少なくとも第1のサブセットが使用事例1436のために分析されるべきであることを示し得る。たとえば、使用事例1436は、画像のコンテキストが特定のタイプのロケーション(たとえば、「屋内」)に対応するかどうかを決定することに対応し得る。分類モデルは、画像のコンテキストが特定のロケーションに対応するかどうかを決定するために、少なくともCENTRIST記述子およびGIST記述子が分析され得ることを示すことができる。使用事例1436および分類モデルに基づいて、特徴セット抽出器1414は、画像の特徴(たとえば、GIST記述子およびCENTRIST記述子)の第1のサブセットを第1の知覚データ1470から抽出することができる。特定の実施形態では、特徴セット抽出器1414は、図14を参照しながら説明したように、抽出基準が満たされると決定したことに基づいて、特徴の第1のサブセットを抽出することができる。
[00227]特定の実施形態では、分類モデルは、同じまたは異なる使用事例1436のために特徴の第2のサブセットが分析されるべきであることを示し得る。たとえば、特徴の第2のサブセットは、オブジェクトバンク記述子(object bank descriptor)など、事前トレーニングされた一般的オブジェクト検出器のスケール不変応答マップを含むことができる。特定の実施形態では、分類モデルは、特徴の第1のサブセットが強く推奨されることと、特徴の第2のサブセットが使用事例1436を分析するのに役立ち得ることとを示すことができる。この実施形態では、特徴セット抽出器1414は、特徴の第2のサブセットを、分析基準、抽出基準、または両方に基づいて抽出することができる。たとえば、特徴セット抽出器1414は、図14を参照しながらさらに説明したように、抽出基準が満たされると決定したこと、特徴の第1のサブセットを抽出することに関連する信頼性レベルがしきい値信頼性レベル(たとえば、しきい値信頼性レベル1482)を満たさないと決定したこと、または両方に応答して、特徴の第2のサブセットを抽出することができる。
[00228]したがって、特定の使用事例を分析することに適した特徴のサブセットが知覚データから抽出され得る。結果として、画像コンテキストが識別される際の効率性が高まり得る。たとえば、特徴セット抽出器1414は、特定の使用事例を分析するために特徴の特定のセットが強く推奨されると決定し得る。最初の特徴抽出中に強く推奨される特徴のすべてを抽出することは、関連信頼性レベルに基づいて強く推奨される各特徴を抽出し、次いで強く推奨される次の特徴を抽出した後にクラスタ化と分類とを実行することよりも効率的であり得る。別の例として、特徴セット抽出器1414は、特定の使用事例1436を分析するのに役に立たないとわかっている追加の特徴を抽出するのを控えることができ、それによってデバイス1402のリソースを節約することができる。
[00229]図19を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に1900と称される。システム1600の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、カメラ302、図4のセンサー404、変化検出回路414、アプリケーションプロセッサ418、図5のセンサー502、選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、センサー602、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のカメラ842、周辺光センサー840、アクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図12の1つもしくは複数のカメラ1210、図13のコンテキスト決定エンジン1380、図14のデバイス1402、デバイス1402の1つもしくは複数の画像センサー(たとえば、第1の画像センサー1404または第Nの画像センサー1440)、またはそれらの組合せによって実行され得る。
[00230]システム1900の構成要素は、図18のシステム1800の対応する構成要素と同様の方法で動作することができる。システム1900は、リソース情報(たとえば、リソース情報1902)に基づいて知覚データ(たとえば、図14の第1の知覚データ1470)から抽出するべき特徴のサブセットを選択することができる。リソース情報1902は、リソース利用可能性情報、リソースバジェット(たとえば、図14のリソースバジェット1420)、または両方を含むことができる。
[00231]リソースバジェット1420は、メモリバジェット、電力バジェット、時間期間当たり(たとえば、1秒当たり)命令数バジェット、またはそれらの任意の組合せを含むことができる。リソース利用可能性情報1802は、メモリ利用可能性、電力利用可能性、時間期間当たり(たとえば、1秒当たり)命令数利用可能性、またはそれらの任意の組合せを含むことができる。
[00232]デバイス1402のリソースのどれだけの部分または量が(たとえば、任意のアプリケーションによる)使用に利用可能であるかをリソース利用可能性情報1802が示し得る点、およびデバイス1402のリソースのどれだけの部分または量がマルチメディアコンテンツ分類器1412によって使用されることを許可されるかをリソースバジェット1420が示し得る点で、リソース利用可能性情報1802はリソースバジェット1420とは異なり得る。
[00233]リソース利用可能性情報1802は、リソースの特定のパーセンテージ(または特定の量)が利用可能であることを示し得る。特定の実施形態では、特徴セット抽出器1414は、リソース利用可能性がしきい値リソース利用可能性(たとえば、しきい値バッテリー電力1486、しきい値帯域幅1488、しきい値メモリ、1秒当たり命令のしきい値数、またはそれらの任意の組合せを)を満たさない場合に、いかなる特徴も抽出しないことがある。
[00234]特定の実施形態では、マルチメディアコンテンツ分類器1412は、特徴の特定のサブセットの分析に関連するリソース利用推定量にアクセスすることができる。この実施形態では、マルチメディアコンテンツ分類器1412は、特徴の特定のサブセットを分析する推定リソース利用量よりもリソース利用可能性が大きいときに、特徴の特定のサブセットを選択することができる。
[00235]特定の実施形態では、マルチメディアコンテンツ分類器1412は、リソースバジェット1420に基づいて第1の知覚データ1470から特徴のサブセット(たとえば、特徴の第1のサブセット、特徴の第2のサブセット、または両方)を抽出するべきかどうかを決定することができる。たとえば、特徴セット抽出器1414は、リソースバジェット1420の特定のパーセンテージ(または特定の量)がマルチメディアコンテンツ分類器1412によって利用されていると決定することができる。特徴セット抽出器1414は、リソースバジェット1420全体よりも少ない量がマルチメディアコンテンツ分類器1412によって利用されているとき、特徴のサブセットを抽出することができる。
[00236]特定の実施形態では、リソースバジェット1420は抽出基準に対応し得る。たとえば、図3の第1の処理デバイス304は、リソースバジェット1420を受信することができ、リソースバジェット1420の特定のパーセンテージ(または特定の量)が(たとえば、システム300によって)利用されていることを示す第1の画像統計を生成することができる。統計処理デバイス108は、リソースバジェット1420全体よりも少ない量が利用されていると決定したことに基づいて、第2の処理デバイス310に第1の知覚データ1470を提供することができる。
[00237]特定の実施形態では、マルチメディアコンテンツ分類器1412は、特徴の特定のサブセットの分析(たとえば、抽出、クラスタ化、または分類)に関連するリソース利用の推定量にアクセスすることができる。たとえば、推定リソース利用量はマルチメディアコンテンツ分類器1412によって、別の画像についての特徴の特定のサブセットの以前の分析に基づいて生成され得る。この実施形態では、マルチメディアコンテンツ分類器1412は、特徴の特定のサブセットを分析する推定リソース利用量よりも残存リソースバジェット1420が大きいときに、特徴の特定のサブセットを抽出することができる。特定の実施形態では、第1の処理デバイス304は、推定リソース利用量を示す第1の画像統計を生成することができ、統計処理デバイス108は、残存リソースバジェット1420が推定リソース利用量よりも大きいと決定したことに基づいて、第2の処理デバイス310に第1の知覚データ1470を提供することができる。
[00238]リソースバジェット1420は、ユーザ選好(たとえば、ユーザ選好1422)に基づき得る。たとえば、ユーザ選好1422は、バックグラウンドアプリケーションがリソースの特定のパーセンテージ(たとえば、20%)よりも多くを占めるべきではないことを示し得る。
[00239]特定の実施形態では、システム1900は、リソース利用可能性情報、リソースバジェット1420、または両方に基づいて、知覚データ(たとえば、図14の第1の知覚データ1470)を生成することもできる。たとえば、マルチメディアコンテンツ分類器1412は、特定のリソースが利用可能であることをリソース利用可能性情報1802が示すと決定したこと、リソースバジェット1420全体よりも少ない量がマルチメディアコンテンツ分類器1412によって利用されていると決定したこと、または両方に応答して、第1の画像センサー1404に要求(たとえば、第1の画像キャプチャ要求1472)を送ることができる。
[00240]したがって、マルチメディアコンテンツ分類器1412は、現在または将来のリソース利用可能性(たとえば、リソースバジェット1420、リソース利用可能性情報、または両方)に基づいて画像コンテキスト識別を実行することができる。十分なリソースが利用可能であるときに知覚データが生成され得る。十分なリソースが利用不可能であるときに、第1の画像センサー1404がマルチメディアコンテンツ分類器1412による分析のために知覚データを生成するのを控えることによって、デバイス1402のリソースが節約され得る。リソースバジェット1420がより限られているときに、デバイス1402のより少ないリソースが画像コンテキスト識別に使用され得る一方、リソースバジェット1420がより大きいときに、より高い関連信頼性レベルを有するコンテキストデータが生成され得る。さらに、限られたリソースが利用可能であるときに、デバイス1402のより少ないリソースが画像コンテキスト識別に使用され得る一方、より多くのリソースが利用可能であるときに、より高い関連信頼性レベルを有するコンテキストデータが生成され得る。たとえば、デバイス1402の残存バッテリー電力がしきい値バッテリー電力1486を満たさないことをリソース利用可能性情報1802が示す場合、マルチメディアコンテンツ分類器1412は、より少ない画像を分析すること(たとえば、データサンプリング間隔を増大させること)、第1の知覚データ1470からより少ない特徴を抽出すること、第1の知覚データ1470から特徴を抽出するのを控えること、またはそれらの組合せがある。
[00241]図20を参照すると、画像のコンテキストを識別するように動作可能なシステムの別の特定の実施形態の図が開示され、全体的に2000と称される。システム2000の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00242]システム2000の構成要素は、図18のシステム1800の対応する構成要素と同様の方法で動作することができる。システム2000は、特徴セット1抽出1604中に関心領域(たとえば、関心領域1478)を抽出または識別することができる。関心領域1478は、画像の特定の部分に対応し得る。関心領域1478は、使用事例(たとえば、図14の使用事例1436)に基づいて、画像と先行画像との間の差に基づいて、または両方に基づいて決定され得る。たとえば、関心領域1478は、使用事例1436が人認識を含むときに顔に対応することができ、使用事例1436が活動認識を含むときにオブジェクトに対応することができる。
[00243]別の例として、使用事例1436は、特定のオブジェクト(たとえば、車の鍵)のオブジェクト検出を含むことができる。ユーザ1452は、車の鍵を置き忘れていることがあり、車の鍵を最後に含んだ第1の画像の表示を要求することがある。特定の実施形態では、使用事例1436はアプリケーション特有処理に対応し得る。第1の分類モデル(たとえば、図14の分類モデル1428)は、使用事例1436に対応する特徴の特定のサブセットの特定の値を示すことができる。例示すると、第1の分類モデルは、特定のオブジェクト(たとえば、車の鍵)に対応するエッジヒストグラム記述子の特定の値を示すことができる。特徴セット抽出器1414は、知覚データ(たとえば、第1の知覚データ1470)から画像の特徴の特定のサブセットを抽出することができる。特徴セット抽出器1414は、画像の特定の部分の特徴の特定のサブセットの値が、第1の分類モデルによって示された特定の値に対応すると決定し得る。第1の知覚データ1470の一部分は、画像の特定の部分に対応し得る。例示すると、画像の特定の部分は、特定のオブジェクト(たとえば、車の鍵)または同様の特性(たとえば、形状)を有する別のオブジェクトを含むことができる。特徴セット抽出器1414は、画像の特定の部分に対応する第1の知覚データ1470の部分をコピーすることによって、関心領域1478を生成することができる。
[00244]別の例として、特徴セット抽出器1414は、画像に対応する第1の知覚データ1470を、先行画像に対応する他の知覚データと比較することができる。たとえば、画像および先行画像は、会合中にキャプチャされていることがある。比較に基づいて、特徴セット抽出器1414は、第1の知覚データ1470の一部分が他の知覚データとは別個のものであると決定し得る。第1の知覚データ1470の一部分は、画像の特定の部分に対応し得る。たとえば、画像の特定の部分は、会合中に位置を変えた人に対応し得る。特徴セット抽出器1414は、画像の特定の部分に対応する第1の知覚データ1470の部分をコピーすることによって、関心領域1478を生成することができる。
[00245]システム2000は、関心領域1478を使用して特徴抽出(たとえば、特徴セット2抽出、特徴セットN抽出、または両方)を実行することができる。たとえば、特徴セット抽出器1414は、図14を参照しながらさらに説明したように、関心領域1478から特徴の第1のサブセットを抽出することができる。
[00246]特定の実施形態では、図3の第1の処理デバイス304は、関心領域1478を示すか、または第1の知覚データ1470における関心領域1478の不在を示す第1の画像統計を生成することができる。統計処理デバイス108は、第1の画像統計が関心領域1478を示すと決定したことに基づいて、抽出基準が満たされると決定することができ、抽出基準が満たされると決定したことに基づいて、関心領域1478に対応する第1の知覚データ1470の部分を第2の処理デバイス310に提供することができる。
[00247]したがって、画像の関心領域1478の特徴のサブセットが、画像のコンテキストを識別するために抽出され、クラスタ化され、分類され得る。画像全体と比較して、関心領域1478を分析すること(たとえば、関心領域1478についての追加の特徴を抽出すること)で、デバイス1402のリソースを節約することができる。
[00248]図21を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に2100と称される。システム2100の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00249]システム2100の構成要素は、図20のシステム2000の対応する構成要素と同様の方法で動作することができる。システム2100は、関心領域(たとえば、関心領域1478)から抽出された特徴の第1のサブセット(たとえば、特徴のサブセット1442)を以前計算された特徴(たとえば、以前計算された特徴2102)と組み合わせることによって、特徴セットクラスタ化1606を実行することができる。たとえば、図14の特徴セットクラスタ器1416は、特徴の第1のサブセットと以前計算された特徴2102とをクラスタ化することができる。例示すると、関心領域1478は、先行画像と比較して変わった画像の特定の部分に対応することができ、以前計算された特徴2102は、先行画像と比較して変わっていない画像の残存部分に対応することができる。たとえば、以前計算された特徴2102は以前に、先行画像を分析したときに抽出されていることがある。図14の特徴セットクラスタ器1416は、図14を参照しながらさらに説明したように、特徴の第1のサブセットと、以前計算された特徴2102と、第2の画像の特徴の別のサブセットとをクラスタ化することができる。
[00250]画像全体に対応する特徴を抽出することと比較して、以前計算された特徴2102を使用することで、デバイス1402のリソースを節約することができる。その上、以前計算された特徴2102と関心領域1478とを分類のためにクラスタ化することで、関心領域1478のみをクラスタ化することと比較して、分類分析を改善することができる。
[00251]図22を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態の図が開示され、全体的に2200と称される。システム2200の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00252]システム2200は、メモリ1408を介してシーン変化検出器1460に結合されるか、またはシーン変化検出器1460と通信している画像センサー2208(たとえば、図3のカメラ302、図4のセンサー402、図5のセンサー502、図6のセンサー602、図8のカメラ842、図12の1つまたは複数のカメラ1210、図13の1つまたは複数の他のセンサー1360、図14の第1の画像センサー1404、第Nの画像センサー1440などの画像センサーのうちの1つまたは複数)を含み得る。特定の実施形態では、メモリ1408は図3のメモリ306に対応し得る。
[00253]メモリ1408は、低/高解像度画像バッファ2214、第1の高解像度画像バッファ2216、第2の高解像度画像バッファ2218、またはそれらの任意の組合せを含むことができる。画像バッファの各々は、別個のメモリサイズを有することができ、別個のメモリアクセス時間を有することができる。たとえば、第2の高解像度画像バッファ2218は、第1の高解像度画像バッファ2216よりも大きいメモリサイズを有することができ、第1の高解像度画像バッファ2216よりも長いメモリアクセス時間を有することができ、第1の高解像度画像バッファ2216は、低/高解像度画像バッファ2214よりも大きいメモリサイズを有することができ、低/高解像度画像バッファ2214よりも長いメモリアクセス時間を有することができる。
[00254]メモリ1408は、フィルタ2222を介してシーン変化検出器1460に結合されること、またはシーン変化検出器1460と通信していることがある。第1の画像センサー1404は、トリガ論理2202に結合されること、またはトリガ論理2202と通信していることがある。トリガ論理2202は、カウンタ2204に結合されること、またはカウンタ2204と通信していることがある。シーン変化検出器1460は、ローカルストレージ2228を含むこと、ローカルストレージ2228に結合されること、またはローカルストレージ2228と通信していることがある。特定の実施形態では、システム2200はデバイス1402の常時接続電力ドメインに対応し得る。
[00255]動作中、トリガ論理2202は、第1の画像センサー1404に画像キャプチャ要求(たとえば、第1の画像キャプチャ要求1472)を送ることができる。特定の実施形態では、トリガ論理2202は、1つまたは複数の非同期事象通知(たとえば、非同期事象通知2206)に応答して第1の画像キャプチャ要求1472を送ることができる。非同期事象通知2206は、リソース利用可能性、ユーザ入力、ユーザ近接性、無線周波数信号、電磁信号、機械信号、微小電気機械システム(MEMS)信号、他のコンテキスト情報、またはそれらの任意の組合せに関する通知を含むことができる。たとえば、非同期事象通知2206は、リソース利用可能性に関する通知を含むことができる。トリガ論理2202は、リソース利用可能性に関する通知に応答して第1の画像キャプチャ要求1472を送ることができる。例示すると、トリガ論理2202は、リソース利用可能性がリソースバジェット(たとえば、リソースバジェット1420)、ユーザ選好(たとえば、ユーザ選好1422)、または両方を満たすと決定したことに応答して、第1の画像キャプチャ要求1472を送ることができる。
[00256]別の例として、非同期事象通知2206は、ユーザ入力(たとえば、ユーザ入力1430)に関する通知を含むことができる。ユーザ入力1430は、画像をキャプチャすることを求めるユーザ要求に対応し得る。トリガ論理2202は、ユーザ入力1430に関する通知に応答して第1の画像キャプチャ要求1472を送ることができる。
[00257]特定の実施形態では、トリガ論理2202は、カウンタ2204の値に応答して第1の画像キャプチャ要求1472を送ることができる。たとえば、カウンタ2204は、以前の画像キャプチャ以降に特定の持続時間が経過していることを示し得る。トリガ論理2202は、図14を参照しながらさらに説明したように、特定の持続時間がしきい値画像キャプチャ持続時間(たとえば、しきい値持続時間1480)を満たすと決定したことに応答して、第1の画像センサー1404に第1の画像キャプチャ要求1472を送ることができる。
[00258]第1の画像キャプチャ要求1472を受信したことに応答して、第1の画像センサー1404は、メモリ1408に高解像度生画像データ2220を送ることができる。特定の実施形態では、高解像度生画像データ2220は図14の第1の知覚データ1470に対応し得る。メモリ1408は、画像バッファ(たとえば、低/高解像度画像バッファ2214、第1の高解像度画像バッファ2216、第2の高解像度画像バッファ2218、またはそれらの任意の組合せ)に高解像度生画像データ2220を記憶することができる。メモリ1408は、フィルタ2222に高解像度生画像データ2220を送る(または高解像度生画像データ2220にアクセス可能にする)ことができる。
[00259]フィルタ2222は、高解像度生画像データ2220から低解像度生画像データ2226を生成することができる。たとえば、低解像度生画像データ2226は、高解像度生画像データ2220よりも少ない画像ピクセルに対応し得る。特定の実施形態では、特定のピクセルに対応する低解像度生画像データ2226の値が、複数の(たとえば、4つの)ピクセルに対応する高解像度生画像データ2220の値から生成され得る。たとえば、特定のピクセルに対応する値は、複数のピクセルに対応する値の平均であり得る。
[00260]フィルタ2222は、シーン変化検出器1460に低解像度生画像データ2226を送る(または低解像度生画像データ2226にアクセス可能にする)ことができる。シーン変化検出器1460は、ローカルストレージ2228に低解像度生画像データ2226を記憶することができる。特定の実施形態では、フィルタ2222は、ローカルストレージ2228に低解像度生画像データ2226を送る(または低解像度生画像データ2226にアクセス可能にする)ことができる。シーン変化検出器1460は、低解像度生画像データ2226を、以前キャプチャされた画像に対応する他の画像データと比較することができる。比較に基づいて、シーン変化検出器1460は、2226において、低解像度生画像データ2226がシーン変化を示すかどうかを決定することができる。たとえば、シーン変化検出器1460は、画像と以前キャプチャされた画像とをブロック(たとえば、3×3ブロック)に分割することができる。シーン変化検出器1460は、画像の各ブロックに関連する第1の知覚データ1470(たとえば、低解像度生画像データ2226)の一部分と以前キャプチャされた画像の対応するブロックに関連する知覚データ(たとえば、他の画像データ)の一部分との差を決定することができる。たとえば、シーン変化検出器1460は、画像および以前キャプチャされた画像の部分の間の絶対値差の平均(mean of the absolute difference)を決定することができる。シーン変化検出器1460は、第1の知覚データ1470(たとえば、低解像度生画像データ2226)がシーン変化を示すかどうかを決定するために、差(たとえば、平均)をしきい値画像差と比較することができる。
[00261]低解像度生画像データ2226がシーン変化を示さないと決定したことに応答して、システム2200は、2242において、次のトリガを待つことができる。たとえば、図14のマルチメディアコンテンツ分類器1412は、トリガ論理2202が別の非同期事象通知2206またはカウンタ2204の別の値を受信するのを待つことができる。
[00262]2226において、低解像度生画像データ2226がシーン変化を示すと決定したことに応答して、システム2200は、図23を参照しながらさらに説明するように動作することができる。特定の実施形態では、フィルタ2222は図3の第1の処理デバイス304に含まれてよく、シーン変化検出器1460は図1の統計処理デバイス108に含まれてよい。たとえば、低解像度生画像データ2226は第1の画像統計に対応し得る。シーン変化検出器1460は、低解像度生画像データ2226がシーン変化を示すと決定したことに基づいて、抽出基準が満たされると決定することができる。
[00263]特定の実施形態では、メモリ1408は、図24を参照しながらさらに説明するように、画像データ要求2238を受信し得る。画像データ要求2238に応答して、メモリ1408は、図24を参照しながらさらに説明するように、画像データ2240を出力し得る。画像データ2240は、高解像度生画像データ2220に対応し得る。
[00264]フィルタ2222は、第1の画像センサー1404が高解像度画像データを生成したときに低解像度画像データを生成するために使用され得る。低解像度画像データはシーン変化検出器1460によって、高解像度画像データの分析を続けるべきかどうかを決定するために分析され得る。高解像度画像データと比較して、低解像度画像データをシーン変化検出器1460に分析させることで、デバイス1402のリソースを節約することができる。
[00265]図23を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に2300と称される。システム2300は図22のシステム2200に結合され得る。システム2300の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00266]システム2300は図14の不鮮明画像検出器1462を含むことができる。不鮮明画像検出器1462は、ローカルストレージ2306を含むこと、ローカルストレージ2306に結合されること、またはローカルストレージ2306と通信していることがある。
[00267]動作中、システム2300は、2302において、デバイス1402の第1の電力ドメインをアクティブ化することができる。たとえば、マルチメディアコンテンツ分類器1412は、図22を参照しながらさらに説明したように、画像データ(たとえば、低解像度生画像データ2226)がシーン変化に対応するとシーン変化検出器1460が決定したことに応答して、第1の電力ドメインをアクティブ化することができる。別の例として、統計処理デバイス108は、抽出基準が満たされる(たとえば、シーン変化が検出されている)と決定したことに基づいて、第2の処理デバイス310の第1の電力ドメインをアクティブ化することができる。
[00268]不鮮明画像検出器1462は、低解像度生画像データ2226を受信し得る。たとえば、不鮮明画像検出器1462は、フィルタ2222から低解像度生画像データ2226を受信し得る。不鮮明画像検出器1462は、ローカルストレージ2306に低解像度生画像データ2226を記憶することができる。不鮮明画像検出器1462は、2308において、画像が不鮮明であることを低解像度生画像データ2226が示すかどうかを決定することができる。たとえば、不鮮明画像検出器1462は、画像の鮮明度がしきい値鮮明度レベル(たとえば、しきい値鮮明度レベル1484)を満たすことを低解像度生画像データ2226が示すかどうかを決定することができる。例示すると、不鮮明画像検出器1462は、画像の鮮明度がしきい値鮮明度レベル1484を満たさないことを低解像度生画像データ2226が示すと決定したことに基づいて、低解像度生画像データ2226が不鮮明な画像を示すと決定することができる。不鮮明画像検出器1462は代替的に、画像の鮮明度がしきい値鮮明度レベル1484を満たすことを低解像度生画像データ2226が示すと決定したことに基づいて、低解像度生画像データ2226が不鮮明な画像を示さないと決定することができる。
[00269]2308において、画像が不鮮明であることを低解像度生画像データ2226が示すと不鮮明画像検出器1462が決定したことに応答して、システム2300は、2310において、デバイス1402の第1の電力ドメインを非アクティブ化することができる。たとえば、マルチメディアコンテンツ分類器1412は、画像が不鮮明であることを低解像度生画像データ2226が示すと不鮮明画像検出器1462が決定したことに応答して、デバイス1402の第1の電力ドメインを非アクティブ化することができる。特定の実施形態では、統計処理デバイス108、第2の処理デバイス310、または両方は、不鮮明画像検出器1462を含むことができる。統計処理デバイス108または第2の処理デバイス310は、画像が不鮮明であることを低解像度生画像データ2226が示すと不鮮明画像検出器1462が決定したことに基づいて、統計処理デバイス108の第1の電力ドメインを非アクティブ化することができる。
[00270]2308において、画像が不鮮明ではないことを低解像度生画像データ2226が示すと不鮮明画像検出器1462が決定したことに応答して、システム2300は、図26を参照しながら説明するように動作することができる。
[00271]したがって、図23に示すデバイス1402の第1の電力ドメインは、画像がシーン変化に対応しないときに非アクティブ化されたままとなり、デバイス1402のリソースを節約することができる。その上、低解像度画像データが不鮮明画像検出器1462によって、高解像度画像データの分析を続けるべきかどうかを決定するために分析され得る。高解像度画像データと比較して、低解像度画像データを不鮮明画像検出器1462に分析させることで、デバイス1402のリソースを節約することもできる。
[00272]図24を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に2400と称される。システム2400は、図22のシステム2200、図12のシステム2300、もしくは両方に結合されること、またはこれらと通信していることがある。システム2400の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00273]動作中、システム2400は、2402において、デバイス1402の第2の電力ドメインをアクティブ化することができる。たとえば、マルチメディアコンテンツ分類器1412は、図23を参照しながらさらに説明したように、画像が不鮮明ではないことを低解像度生画像データ2226が示すと不鮮明画像検出器1462が決定したことに応答して、第2の電力ドメインをアクティブ化することができる。
[00274]特定の実施形態では、図1の統計処理デバイス108または図3の第2の処理デバイス310は、図23を参照しながらさらに説明したように、画像が不鮮明ではないことを低解像度生画像データ2226が示すと不鮮明画像検出器1462が決定したことに基づいて、第2の統計処理デバイス310の第2の電力ドメインをアクティブ化することができる。
[00275]システム2400は、2402において、画像データ要求(たとえば、図22の画像データ要求2238)を出力することができる。たとえば、マルチメディアコンテンツ分類器1412は、画像が不鮮明ではないことを低解像度生画像データ2226が示すと不鮮明画像検出器1462が決定したことに応答して、図22を参照しながらさらに説明したように、メモリ1408に画像データ要求2238を出力することができる。特定の実施形態では、第2の処理デバイス310は、画像が不鮮明ではないことを低解像度生画像データ2226が示すと不鮮明画像検出器1462が決定したことに基づいて、メモリ306に画像データ要求を出力することができる。
[00276]システム2400は、画像データ(たとえば、画像データ2240)を受信することができ、特徴計算2404を実行することができる。たとえば、メモリ1408は、図22を参照しながらさらに説明したように、(画像データ要求2238に応答して)マルチメディアコンテンツ分類器1412に画像データ2240を出力することができる。画像データ2240は、高解像度生画像データ2220に対応し得る。特徴セット抽出器1414は、図14を参照しながらさらに説明したように、高解像度生画像データ2220から特徴の第1のサブセットを抽出することができる。特定の実施形態では、第2の処理デバイス310は、メモリ306から受信された高解像度生画像データに対するアプリケーション特有処理を実行することができる。たとえば、第2の処理デバイス310は、アプリケーション特有処理の特定のステップに対応する後続電力ドメインをアクティブ化することができる。例示すると、第2の電力ドメインは、図7の第2のアプリケーションプロセッサ706に対応することができ、後続電力ドメインは、第Mのアプリケーションプロセッサ708に対応することができる。
[00277]システム2400は、図16を参照しながらさらに説明したように、特徴クラスタ化1606を実行することができ、特徴セット分類1608を実行することができる。システム2400は、2406において、特徴の第1のサブセットに関連する信頼性レベルが高いかどうかを決定することができる。特定の実施形態では、動作1306は図16の動作1622に対応し得る。たとえば、マルチメディアコンテンツ分類器1412は、図14を参照しながらさらに説明したように、特徴の第1の分類サブセット(たとえば、特徴の分類サブセット1474)に関連する信頼性レベルがしきい値信頼性レベル(たとえば、しきい値信頼性レベル1482)を満たすかどうかを決定し得る。
[00278]2406において、信頼性レベルが高くない(たとえば、「高い」信頼性を表す数値のしきい値(たとえば、75%)を満たさない)と決定したことに応答して、システム2400は、追加の特徴(たとえば、MPEG−7、GIST、CENTRISTなど)計算2404を実行することができる。たとえば、特徴セット抽出器1414は、図24を参照しながらさらに説明するように、画像データ2240から特徴の第2のサブセットを抽出することができる。
[00279]2406において、信頼性レベルが高いと決定したことに応答して、システム2400は、2408において、視環境データを出力することに進むことができる。たとえば、マルチメディアコンテンツ分類器1412は、図14を参照しながら説明したように、コンテキストデータ(たとえば、コンテキストデータ1490)を生成することができる。マルチメディアコンテンツ分類器1412は、ディスプレイ1406におけるコンテキストデータ1490の表示を開始することができる。
[00280]システム2400は、2410において、第2の電力ドメインを非アクティブ化することができる。たとえば、マルチメディアコンテンツ分類器1412は、デバイス1402の第2の電力ドメインを非アクティブ化することができる。特定の実施形態では、第2の処理デバイス310は、第2の処理デバイス310の第2の電力ドメインを非アクティブ化することができる。
[00281]したがって、図24に示すデバイス1402の第2の電力ドメインは、画像がシーン変化に対応しないとき、または画像が不鮮明であるときに非アクティブ化されたままとなり、それによってデバイス1402のリソースを節約することができる。
[00282]図25を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に2500と称される。システム2500は図24のシステム2400に結合され得る。システム2500の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00283]システム2500の構成要素は、図22のシステム2200の対応する構成要素と同様の方法で動作することができる。システム2500は、画像センサーおよびフィルタ2502を含むことができる。画像センサーおよびフィルタ2502は、画像センサー(たとえば、図14の第1の画像センサー1404、第Nの画像センサー1440、または両方など、図14のデバイス1402の画像センサーのうちの1つまたは複数)とフィルタ(たとえば、図22のフィルタ2222)との組合せであり得る。
[00284]画像センサーおよびフィルタ2502は、生画像データ2504を生成することができる。生画像データ2504は、図14の第1の知覚データ1470に対応し得る。生画像データ2504は、低解像度画像データ(たとえば、低解像度生画像データ2226)、高解像度画像データ(たとえば、高解像度生画像データ2220)、または両方を含むことができる。特定の実施形態では、図3の第1の処理デバイス304およびカメラ302は、画像センサーおよびフィルタ2502に対応することができ、生画像データ2504は、図3の第1の処理デバイス304によって統計処理デバイス108に提供された第1の画像統計に対応することができる。
[00285]特定の実施形態では、画像センサーおよびフィルタ2502は、高解像度画像データがキャプチャされるべきであることを第1の画像キャプチャ要求1472が示すことに応答して、高解像度生画像データ2220を生成することができる。たとえば、マルチメディアコンテンツ分類器1412は、第1の画像キャプチャ要求1472において要求された解像度を示すことができる。特定の実施形態では、画像センサーおよびフィルタ2502は、デバイス1402の画像センサーのうちの1つまたは複数(たとえば、第1の画像センサー1404または第Nの画像センサー1440)を使用して、低解像度生画像データ2226をキャプチャすることができ、デバイス1402の画像センサーのうちの別のもの(たとえば、第1の画像センサー1404および第Nの画像センサー1440のうちの他方または別の画像センサー)を使用して、高解像度生画像データ2220をキャプチャすることができる。
[00286]画像データ2240は、生画像データ2504に対応し得る。たとえば、画像データ2240は、低解像度生画像データ2226、高解像度生画像データ2220、または両方を含むことができる。
[00287]メモリ1408は、図26を参照しながらさらに説明するように、生画像データ2504を出力することができる。メモリ308は、シーン変化検出器1460に生画像データ2504を出力することができる。特定の実施形態では、メモリ1408は、ローカルストレージ2228に生画像データ2504を出力することができる。シーン変化検出器1460は、図14を参照しながらさらに説明したように、2226において、生画像データ2504がシーン変化を示すかどうかを決定することができる。
[00288]生画像データ2504がシーン変化を示すとシーン変化検出器1460が決定したことに応答して、システム2500は、図26を参照しながらさらに説明するように動作を実行することができる。
[00289]したがって、画像センサーおよびフィルタ2502は、様々な解像度を有する画像データを生成することができる。低解像度画像データのみを生成することで、デバイス1402のリソースを節約することができる一方、高解像度画像データを生成することで、画像データから生成されるコンテキストデータに関連する信頼性レベルを改善することができる。
[00290]図26を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態の図が開示され、全体的に2600と称される。システム2600は、図24のシステム2400、図25のシステム2500、または両方に結合され得る。システム2600の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00291]システム2600の構成要素は、図23のシステム2300の対応する構成要素と同様の方法で動作することができる。不鮮明画像検出器1462は、図25を参照しながらさらに説明したように、メモリ1408から生画像データ(たとえば、生画像データ2504)を受信し得る。たとえば、不鮮明画像検出器1462は、メモリ1408から生画像データ2504を受信し得る。
[00292]2308において、画像が不鮮明ではないことを生画像データ2504が示すと不鮮明画像検出器1462が決定したことに応答して、システム2500は、図24を参照しながらさらに説明したように動作を実行することができる。
[00293]したがって、デバイス1402の第1の電力ドメインは、画像がシーン変化に対応しないときに非アクティブ化されたままとなり、デバイス1402のリソースを節約することができる。その上、画像データが不鮮明画像検出器1462によって、画像データの分析(たとえば、抽出、クラスタ化、または分類)を続けるべきかどうかを決定するために分析され得る。
[00294]図27を参照すると、画像のコンテキストを識別するように動作可能なシステムの特定の例示的な実施形態が開示され、全体的に2700と称される。システム2700は、図24のシステム2400、図26のシステム2600、または両方に結合され得る。システム2700の1つまたは複数の動作は、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図4の変化検出回路414、アプリケーションプロセッサ418、図5の選択回路506、信号分析器512、変化検出回路514、アプリケーションプロセッサ518、前処理回路604、1つもしくは複数の追加のプロセッサ622、図7の第2のアプリケーションプロセッサ706、第Mのアプリケーションプロセッサ708、図8のアクティブ化分析器814、非アクティブ化分析器816、オブジェクト検出器850、オブジェクト識別器852、活動分類器854、システムコントローラ806、図9のVFE−Lite904、LPCVSS906、LPASS908、APSS910、1つもしくは複数の他のプロセッサ912、図13のコンテキスト決定エンジン1380、図14のデバイス1402、またはそれらの組合せによって実行され得る。
[00295]システム2700の構成要素は、図25のシステム2500の対応する構成要素と同様の方法で動作することができる。システム2700は、画像センサー、フィルタ、およびシーン変化検出器2702を含むことができる。画像センサー、フィルタ、およびシーン変化検出器2702は、画像センサー(たとえば、第1の画像センサー1404、第Nの画像センサー1440、または両方など、図14のデバイス1402の1つまたは複数の画像センサー)と、シーン変化検出器(たとえば、図14のシーン変化検出器1460)と、フィルタ(たとえば、図22のフィルタ2222)との組合せであり得る。
[00296]特定の実施形態では、図3のカメラ302、第1の処理デバイス304、および図1の統計処理デバイス108は、画像センサー、フィルタ、およびシーン変化検出器2702に対応し得る。統計処理デバイス108は、シーン変化通知2704と生画像データ2504とを図3の第2の処理デバイス310に提供することができる。画像センサー、フィルタ、およびシーン変化検出器2702は、生画像データ2504を生成することができる。画像センサー、フィルタ、およびシーン変化検出器2702は、シーン変化通知2704を生成することもできる。画像センサー、フィルタ、およびシーン変化検出器2702は、図14を参照しながらさらに説明したように、画像がシーン変化に対応すると決定したことに応答して、シーン変化通知2704を生成することができる。画像センサー、フィルタ、およびシーン変化検出器2702は、シーン変化通知2704を出力することができる。たとえば、システム2700は、シーン変化通知2704に応答して、図26を参照しながらさらに説明したように動作を実行することができる。
[00297]図28を参照すると、テスト画像の特徴の様々なサブセットを抽出することに関連する実行時間の一例を示す棒グラフが示され、全体的に2800と称される。特定の実施形態では、特徴の様々なサブセットは、図14の特徴抽出器1414によって抽出され得る。
[00298]棒グラフ2800は、複数のテスト画像(たとえば、テスト画像1〜4)の各々に関連する知覚データから特徴の様々なサブセットを抽出することに関連する実行時間を示す。たとえば、各テスト画像は、1080順次スキャン(1080p)解像度を有し得る。特徴の第1のサブセットは、テスト特徴1と、テスト特徴2と、テスト特徴3とを含む。特徴の第2のサブセットは、特徴の第1のサブセットとテスト特徴4とを含む。特徴の第3のサブセットは、特徴の第2のサブセットとテスト特徴5とを含む。特徴の第4のサブセットは、特徴の第3のサブセットとテスト特徴6とを含む。特定の実施形態では、テスト特徴1は色レイアウト記述子に対応することができ、テスト特徴2は同種テクスチャ記述子に対応することができ、テスト特徴3はエッジヒストグラム記述子に対応することができ、テスト特徴4は色構造記述子に対応することができ、テスト特徴5はスケーラブル色記述子に対応することができ、テスト特徴6は支配色記述子に対応することができる。
[00299]棒グラフ2800は、テスト画像1の知覚データから特徴の第1のサブセットを抽出することに関連する数百ミリ秒の実行時間に対応する棒2802を含む。棒グラフ2800は、テスト画像2の知覚データから特徴の第1のサブセットを抽出することに関連する約1秒の実行時間に対応する棒2812を含む。棒グラフ2800は、テスト画像3の知覚データから特徴の第1のサブセットを抽出することに関連する約1秒の実行時間に対応する棒2822を含む。棒グラフ2800は、テスト画像4の知覚データから特徴の第1のサブセットを抽出することに関連する約1秒の実行時間に対応する棒2832を含む。
[00300]棒グラフ2800は、テスト画像1の知覚データから特徴の第2のサブセットを抽出する実行時間に対応する棒2804を含み、テスト画像1の知覚データから特徴の第1のサブセットを抽出する実行時間の約2倍である。棒グラフ2800は、テスト画像2の知覚データから特徴の第2のサブセットを抽出することに関連する約2秒の実行時間に対応する棒2814を含む。棒グラフ2800は、テスト画像3の知覚データから特徴の第2のサブセットを抽出することに関連する約2秒の実行時間に対応する棒2824を含む。棒グラフ2800は、テスト画像4の知覚データから特徴の第2のサブセットを抽出することに関連する約2秒の実行時間に対応する棒2834を含む。
[00301]棒グラフ2800は、テスト画像1の知覚データから特徴の第3のサブセットを抽出することに関連する0.5秒の実行時間に対応する棒2806を含む。棒グラフ2800は、テスト画像2の知覚データから特徴の第3のサブセットを抽出することに関連する約3秒の実行時間に対応する棒2816を含む。棒グラフ2800は、テスト画像3の知覚データから特徴の第3のサブセットを抽出することに関連する約3秒の実行時間に対応する棒2826を含む。棒グラフ2800は、テスト画像3の知覚データから特徴の第3のサブセットを抽出することに関連する約3秒の実行時間に対応する棒2836を含む。
[00302]棒グラフ2800は、テスト画像1の知覚データから特徴の第4のサブセットを抽出することに関連する約3秒の実行時間に対応する棒2808を含む。棒グラフ2800は、テスト画像2の知覚データから特徴の第4のサブセットを抽出することに関連する約36秒の実行時間に対応する棒2818を含む。棒グラフ2800は、テスト画像3の知覚データから特徴の第4のサブセットを抽出することに関連する約33秒の実行時間に対応する棒2828を含む。棒グラフ2800は、テスト画像4の知覚データから特徴の第4のサブセットを抽出することに関連する約38秒の実行時間に対応する棒2838を含む。
[00303]したがって、特徴のサブセットを抽出することに関連する実行時間は、サブセットに含まれる記述子に基づいて変わる。特に、テスト画像2〜4の知覚データからテスト特徴6を抽出することは、約30秒を要する。したがって、信頼性レベルに基づいて特徴のサブセットを漸進的に抽出することは、特徴のいくつかのサブセットが画像ごとに抽出されなくてよいので、デバイス1402のリソースを節約することができる。
[00304]図29を参照すると、図28のテスト画像の特徴の様々なサブセットを抽出することに関連するメモリ使用量の一例を示す棒グラフが示され、全体的に2900と称される。特定の実施形態では、特徴の様々なサブセットは、図14の特徴セット抽出器1414によって抽出され得る。
[00305]棒グラフ2900は、特徴の第1のサブセットを抽出することに関連する約100キロバイトのメモリ使用量を示す棒2902と、特徴の第2のサブセットを抽出することに関連する約140キロバイトのメモリ使用量を示す棒2904と、特徴の第3のサブセットを抽出することに関連する約200キロバイトのメモリ使用量を示す棒2906と、特徴の第4のサブセットを抽出することに関連する約280キロバイトのメモリ使用量を示す棒2908とを含む。特定の実施形態では、メモリ使用量は、特徴セット抽出器1414によって使用されるメモリ308の量を示すことができる。
[00306]したがって、特徴のサブセットを抽出することに関連するメモリ使用量は、サブセットに含まれる記述子に基づいて変わる。特に、テスト特徴4と、テスト特徴5と、テスト特徴6とを知覚データから抽出することは、メモリ使用量を約180キロバイト増加させる。したがって、信頼性レベルに基づいて特徴のサブセットを漸進的に抽出することは、特徴のいくつかのサブセットが画像ごとに抽出されなくてよいので、デバイス1402のリソースを節約することができる。
[00307]図30を参照すると、画像統計に基づいてコンピュータビジョンアプリケーションに関連する電力使用量を低減する方法3000の特定の実施形態のフローチャートが示されている。例示的な実施形態では、方法3000は、図1〜図29に関して説明したシステム、デバイス、および技法のうちの少なくとも1つを使用して実行され得る。
[00308]方法3000は、3002において、画像データの第1のフレームについての第1の画像統計を生成することを含む。たとえば、図3において、カメラ302は、第1の時間に図1の第1のフレーム102をキャプチャすることができ、第1の処理デバイス304は、第1のフレーム102についての第1の画像統計を生成することができる。第1の処理デバイス304は、メモリ306に第1の画像統計を提供することができる。
[00309]3004において、画像データの第2のフレームについて第2の画像統計が生成され得る。たとえば、図3において、第1のフレーム102をキャプチャした後、カメラ302は、第2の時間に図1の第2のフレーム104をキャプチャすることができ、第1の処理デバイス304は、第2のフレーム104についての第2の画像統計を生成することができる。第1の処理デバイス304は、メモリ306に第2の画像統計を提供することができる。さらに、第1の処理デバイス304は、第2のフレーム104と第2の画像統計とを統計処理デバイス108に提供することができる。
[00310]3006において、第2の画像統計と第1の画像統計との間の第1の変化量がしきい値を満たすかどうかの決定が行われ得る。たとえば、図3において、統計処理デバイス108は、第2のフレーム104に対するアプリケーション特有処理のために第2の処理デバイス310に第2のフレーム104を提供するべきかどうかを決定するために、第1の画像統計と第2の画像統計を比較することができる。たとえば、統計処理デバイス108は、第2の画像統計と第1の画像統計との間の第1の変化量がしきい値を満たすかどうかを決定することができる。
[00311]3008において、第1の変化量がしきい値を満たすとの決定に応答して、第2のフレームに対するアプリケーション特有処理が実行され得る。たとえば、図3において、変化量がしきい値を満たす場合、統計処理デバイス108は、第2のフレーム104に対するアプリケーション特有処理のために第2の処理デバイス310に第2のフレーム104を提供することができる。
[00312]特定の実施形態では、方法3000は、第1の変化量がしきい値を満たさないとの決定に応答して、第2のフレームに対するアプリケーション特有処理を回避するか、または見送ることを含み得る。たとえば、図3において、変化量がしきい値を満たさない場合、統計処理デバイス108は、電力を節約し、第2のフレーム104のアプリケーション特有処理を回避することを決定することができる。
[00313]特定の実施形態では、方法3000は、第2のフレームのアプリケーション特有処理を回避した後に、画像データの第3のフレームについての第3の画像統計を生成することを含み得る。たとえば、図3において、第2のフレーム104をキャプチャした後、カメラ302は、第3の時間に第3のフレーム106をキャプチャすることができ、第1の処理デバイス304は、第3のフレーム106についての第3の画像統計を生成することができる。第1の処理デバイス304は、メモリ306に第3の画像統計を提供することができる。この例では、方法3000は、第3の画像統計と第2の画像統計との間の第2の変化量がしきい値を満たすかどうかを決定することを含み得る。たとえば、図3において、統計処理デバイス108が第2のフレーム104に対するアプリケーション特有処理を回避するか、または見送ることを決定した場合、統計処理デバイス108は、第3のフレーム106に対するアプリケーション特有処理を実行するべきかどうかを決定するために、第2の画像統計(または第1の画像統計)と第2の画像統計を比較することができる。
[00314]特定の実施形態では、方法3000は、第2の変化量がしきい値を満たすとの決定に応答して、第3のフレームに対するアプリケーション特有処理を実行することを含み得る。たとえば、図3において、第2の変化量がしきい値を満たす場合、統計処理デバイス108は、第3のフレーム106に対するアプリケーション特有処理のために第2の処理デバイス310に第3のフレーム106を提供することができる。
[00315]以前のフレームと同様の画像統計を有する特定のフレームに対するアプリケーション特有処理を回避するか、または見送ることで、電子デバイスにおける電力を節約することができる。たとえば、アプリケーション特有処理は、汎用プロセッサまたはグラフィックスプロセッサなど、処理システム内の高電力デバイスを利用し得る。各フレームの統計を生成および/または評価するために統計処理デバイス108および第1の処理デバイス304などの低電力デバイス(たとえば、デジタル信号プロセッサ、特定用途向け集積回路など)を使用することによって、特定のフレームが実質的に同一であるとの決定、および同一のフレームのうちの1つに対してのみアプリケーション特有処理が実行される必要があるとの決定が行われ得る。結果として、同一または同様のフレームに対するアプリケーション特有処理を見送ることによって、電力が節約され得る。
[00316]図31を参照すると、画像のコンテキストを識別する方法の特定の例示的な実施形態のフローチャートが示され、全体的に3100と称される。方法3100は、図1〜図29に関して説明したシステム、デバイス、および技法のうちの少なくとも1つを使用して実行され得る。
[00317]方法3100は、3102において、モバイルデバイスにおいて、画像センサーから知覚データを受信することを含み得る。知覚データは画像に関係し得る。たとえば、図14のデバイス1402は、第1の画像センサー1404から知覚データ(たとえば、第1の知覚データ1470)を受信し得る。第1の知覚データ1470は、図1の第2のフレーム104に関係し得る。
[00318]方法1300はまた、1304において、知覚データに基づいて画像の第1の画像統計を生成することを含み得る。第1の画像統計と第2の画像の第2の画像統計との間の変化量が変化しきい値を満たすとき、抽出基準が満たされ得る。たとえば、図1の統計処理デバイス108は、図1を参照しながら説明したように、第2のフレーム104に対応する第1の画像統計を生成することができ、第1のフレーム102に対応する第2の画像統計を生成することができる。図14を参照しながらさらに説明したように、第1の画像統計と第2の画像統計との間の変化量が変化しきい値を満たすときに抽出基準が満たされ得る。
[00319]方法3100は、3106において、抽出基準が満たされることに基づいて、知覚データから画像の特徴の第1のサブセットを抽出することをさらに含み得る。たとえば、図14の特徴セット抽出器1414は、図14を参照しながらさらに説明したように、抽出基準が満たされることに基づいて、第1の知覚データ1470から特徴の第1のサブセット(たとえば、図14の特徴のサブセット1442のうちの第1のもの)を抽出することができる。
[00320]図31の方法3100は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)などの処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実装され得る。一例として、図31の方法3100は、命令を実行するプロセッサによって実行され得る。
[00321]したがって、方法3100は画像コンテキスト識別を可能にし得る。抽出基準に基づいて特徴のサブセットを抽出することで、いくつかの状況において画像の特徴の抽出を防止し、それによってデバイス1402のリソースを節約することができる。
[00322]図32を参照すると、画像のコンテキストを識別する方法の特定の例示的な実施形態のフローチャートが示され、全体的に3200と称される。方法3200は、図1〜図29に関して説明したシステム、デバイス、および技法のうちの少なくとも1つを使用して実行され得る。特定の実施形態では、方法3200は図31の3106から進み得る。
[00323]方法3200は、3202において、第1のタイムスタンプが第2のタイムスタンプのしきい値持続時間内にあることに基づいて、特徴の第1のクラスタ化サブセットを生成することを含み得る。第1のタイムスタンプは、画像(たとえば、図1の第2のフレーム104)に関連付けられる。第2のタイムスタンプは、第2の画像に関連付けられる。特徴の第1のクラスタ化サブセットは、特徴の第1のサブセット、第2の画像の特徴の第2のサブセット、または両方を含む。たとえば、図14の特徴セットクラスタ器1416は、図14を参照しながらさらに説明したように、第1のタイムスタンプ(たとえば、タイムスタンプ1494のうちの第1のもの)が第2のタイムスタンプ(たとえば、タイムスタンプ1494のうちの第2のもの)のしきい値画像キャプチャ持続時間(たとえば、しきい値持続時間1480)内にあることに基づいて、特徴の第1のクラスタ化サブセット(たとえば、図14の特徴のクラスタ化サブセット1476)を生成することができる。
[00324]方法3200はまた、3204において、第1の分類モデルに基づいて特徴の第1のクラスタ化サブセットを分類することによって、特徴の分類サブセットを生成することを含み得る。たとえば、図14の特徴セット分類器1418は、図14を参照しながらさらに説明したように、第1の分類モデル(たとえば、分類モデル1428のうちの第1のもの)に基づいて特徴の第1のクラスタ化サブセットを分類することによって、特徴の分類サブセット(たとえば、特徴の分類サブセット1474)を生成することができる。
[00325]方法3200は、3206において、中間コンテキストデータの信頼性レベルがしきい値信頼性レベルを満たさないと決定したことに基づいて、特徴の第1のサブセットを抽出することに関連する信頼性レベルがしきい値信頼性レベルを満たさないと決定することをさらに含み得る。中間コンテキストデータは、特徴の第1のサブセット、特徴の第1のクラスタ化サブセット、または特徴の分類サブセットに対応し得る。たとえば、マルチメディアコンテンツ分類器1412は、図14を参照しながらさらに説明したように、中間コンテキストデータ1492の信頼性レベルがしきい値信頼性レベル1482を満たさないと決定したことに基づいて、特徴の第1のサブセットを抽出することに関連する信頼性レベルがしきい値信頼性レベル1482を満たさないと決定することができる。
[00326]方法3200はまた、3208において、特徴の第1のサブセットが分析基準を満たすことに基づいて、知覚データから画像の特徴の第2のサブセットを抽出することを含み得る。分析基準は、特徴の第1のサブセットを抽出することに関連する信頼性レベルに基づく。たとえば、図14の特徴セット抽出器1414は、図14を参照しながらさらに説明したように、特徴の第1のサブセットが分析基準を満たすことに基づいて、第1の知覚データ1470から特徴の第2のサブセット(たとえば、特徴のサブセット1442のうちの第2のもの)を抽出することができる。分析基準は、図14を参照しながらさらに説明したように、特徴の第1のサブセットを抽出することに関連する信頼性レベルに基づき得る。
[00327]方法3200は、3210において、第1のタイムスタンプおよび第2のタイムスタンプに基づいて特徴の第2のサブセットをクラスタ化することによって、特徴の第2のクラスタ化サブセットを生成することをさらに含み得る。たとえば、図14の特徴セットクラスタ器1416は、図14を参照しながらさらに説明したように、第1のタイムスタンプおよび第2のタイムスタンプに基づいて特徴の第2のサブセットをクラスタ化することによって、特徴の第2のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476のうちの第2のもの)を生成することができる。
[00328]方法3200はまた、3212において、特徴の第2のサブセットに少なくとも部分的に基づいて、画像のコンテキストを示すコンテキストデータを生成することを含み得る。コンテキストデータは、第2の分類モデルに基づいて、特徴の第1のクラスタ化サブセット、特徴の第2のクラスタ化サブセット、または両方を分類することによって生成され得る。たとえば、マルチメディアコンテンツ分類器1412は、図14を参照しながらさらに説明したように、特徴の第2のサブセットに少なくとも部分的に基づいて、画像のコンテキストを示すコンテキストデータ1490を生成することができる。
[00329]図32の方法3200は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)などの処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実装され得る。一例として、図32の方法3200は、命令を実行するプロセッサによって実行され得る。
[00330]したがって、方法3200は画像コンテキスト識別を可能にし得る。関連信頼性レベルに基づいて特徴のサブセットを分析すること(たとえば、抽出すること、クラスタ化すること、および分類すること)で、結果的に、画像のすべての特徴よりも少ない特徴を抽出し、それによってデバイス1402のリソースを節約することができる。
[00331]図33を参照すると、画像のコンテキストを識別する方法の特定の実施形態のフローチャートが示され、全体的に3300と称される。方法3300は、図1〜図29に関して説明したシステム、デバイス、および技法のうちの少なくとも1つを使用して実行され得る。
[00332]方法3300は、3302において、モバイルデバイスにおいて、画像センサーから知覚データを受信することを含み得る。知覚データは画像に関係する。たとえば、図14のデバイス1402は、第1の画像センサー1404から知覚データ(たとえば、第1の知覚データ1470)を受信し得る。第1の知覚データ1470は、図1の第2のフレーム104に関係し得る。
[00333]方法3300はまた、知覚データに基づいて画像の第1の画像統計を生成することを含み得る。抽出基準は、第1の画像統計に少なくとも部分的に基づく。第1の画像統計は、活動認識、人認識、オブジェクト認識、ロケーション認識、またはジェスチャー認識のうちの少なくとも1つを含むアプリケーション特有処理に基づいて生成される。たとえば、図3の統計処理デバイス108は、図14を参照しながら説明したように、第1の知覚データ1470に基づいて第2のフレーム104の第1の画像統計を生成することができ、抽出基準は、第1の画像統計に少なくとも部分的に基づき得る。第1の画像統計は、図14を参照しながら説明したように、活動認識、人認識、反対認識、ロケーション認識、またはジェスチャー認識のうちの少なくとも1つを含むアプリケーション特有処理に基づいて生成され得る。
[00334]方法3300は、3306において、抽出基準が満たされることに基づいて、知覚データから特徴の第1のサブセットを抽出することをさらに含み得る。特徴の第1のサブセットは、選択基準に基づいて選択され得る。たとえば、図14の特徴セット抽出器1414は、図14を参照しながら説明したように、抽出基準が満たされることに基づいて、第1の知覚データ1470から特徴の第1のサブセット(たとえば、図14の特徴のサブセット1442)を抽出することができる。特徴セット抽出器1414は、図14を参照しながらさらに説明したように、選択基準(たとえば、図14の選択基準1438)に基づいて特徴の第1のサブセットを選択することができる。
[00335]方法3300は、3308において、知覚データがシーン変化を示すと決定したことに応答して、第1の電力ドメインをアクティブ化することをさらに含み得る。たとえば、図14のマルチメディアコンテンツ分類器1412は、図23を参照しながらさらに説明したように、第1の知覚データ1470がシーン変化を示すと決定したことに応答して、デバイス1402の第1の電力ドメインをアクティブ化することができる。
[00336]方法3300はまた、3310において、画像の鮮明度がしきい値鮮明度レベルを満たすことを知覚データが示すと決定したことに応答して、第2の電力ドメインをアクティブ化することを含み得る。たとえば、図14のマルチメディアコンテンツ分類器1412は、図24を参照しながらさらに説明したように、画像の鮮明度がしきい値鮮明度レベルを満たすことを第1の知覚データ1470が示すと決定したことに応答して、デバイス1402の第2の電力ドメインをアクティブ化することができる。
[00337]方法3300はまた、3312において、特徴の第1のサブセットに少なくとも部分的に基づいて、画像のコンテキストを示すコンテキストデータを生成することをさらに含み得る。たとえば、図14のマルチメディアコンテンツ分類器1412は、図14を参照しながらさらに説明したように、特徴の第1のサブセットに少なくとも部分的に基づいて、画像のコンテキストを示すコンテキストデータ1490を生成することができる。
[00338]図33の方法3300は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)などの処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実装され得る。一例として、図33の方法3300は、命令を実行するプロセッサによって実行され得る。
[00339]したがって、方法3300は画像コンテキスト識別を可能にし得る。画像がシーン変化に対応すると決定したこと、画像が不鮮明ではないと決定したこと、または両方に応答して、画像の特徴のサブセットを分析することで、結果的に、画像を選択的に分析し、それによってデバイス1402のリソースを節約することができる。その上、デバイス1402の第1の電力ドメイン、第2の電力ドメイン、または両方を選択的にアクティブ化することで、デバイス1402のリソースを節約することもできる。
[00340]図34を参照すると、画像のコンテキストを識別する方法の特定の例示的な実施形態のフローチャートが示され、全体的に3400と称される。
[00341]方法3400は、3402において、モバイルデバイスにおいて、第1の画像センサーから第1の知覚データを受信することを含み得る。第1の知覚データは第1の画像に関係し得る。たとえば、図14のデバイス1402は、第1の画像センサー1404から知覚データ(たとえば、第1の知覚データ1470)を受信し得る。第1の知覚データ1470は、図1の第1のフレーム102に関係し得る。
[00342]方法3400はまた、3404において、知覚データに基づいて第1の画像の第1の画像統計を生成することを含み得る。第1の画像統計は、アプリケーション特有処理に基づいて生成される。たとえば、統計処理デバイス108は、図14を参照しながら説明したように、第1の知覚データ1470に基づいて図1の第1のフレーム102の第1の画像統計を生成することができる。第1の画像統計は、図14を参照しながら説明したように、アプリケーション特有処理に基づいて生成され得る。
[00343]方法3400は、3406において、第1の知覚データから第1の画像の特徴の第1のサブセットを抽出することをさらに含み得る。たとえば、図14の特徴セット抽出器1414は、第1の知覚データ1470から特徴の第1のサブセット(たとえば、図14の特徴のサブセット1442のうちの第1のもの)を抽出することができる。
[00344]方法3400はまた、3408において、特徴の第1のサブセットが分析基準を満たすことに基づいて、第2の画像センサーに第2の知覚データを要求することを含み得る。たとえば、図14のマルチメディアコンテンツ分類器1412は、図14を参照しながらさらに説明したように、特徴の第1のサブセットを抽出することに関連する信頼性レベルがしきい値信頼性レベル1482を満たさないと決定したことに応答して、第Nの画像センサー1440に第2の画像キャプチャ要求(たとえば、第2の画像キャプチャ要求1426)を送ることができる。
[00345]方法3400は、3410において、第2の画像センサーから第2の知覚データを受信することをさらに含み得る。第2の知覚データは第2の画像に関係し得る。たとえば、図14のマルチメディアコンテンツ分類器1412は、第Nの画像センサー1440から第2の知覚データ(たとえば、第2の知覚データ1424)を受信し得る。第2の知覚データ1424は、図1の第2のフレーム104に関係し得る。
[00346]方法3400はまた、3412において、第2の知覚データに基づいて第2の画像の第2の画像統計を生成することを含み得る。第2の画像統計は、アプリケーション特有処理に基づいて生成される。たとえば、統計処理デバイス108は、図14を参照しながら説明したように、第2の知覚データ1424に基づいて図1の第2のフレーム104の第2の画像統計を生成することができる。第2の画像統計は、図14を参照しながら説明したように、アプリケーション特有処理に基づいて生成され得る。
[00347]方法3400は、3414において、第2の知覚データから第2の画像の特徴の第2のサブセットを抽出することをさらに含み得る。特徴の第2のサブセットは、第1の画像統計と第2の画像統計との間の変化量が変化しきい値を満たすことに基づいて抽出される。たとえば、特徴セット抽出器1414は、図14を参照しながらさらに説明したように、第1の画像統計と第2の画像統計との間の変化量が変化しきい値を満たすことに基づいて、第2の知覚データ1424から特徴の第2のサブセット(たとえば、特徴のサブセット1442のうちの第2のもの)を抽出することができる。
[00348]方法3400はまた、3416において、特徴の第1のサブセット、特徴の第2のサブセット、または両方をクラスタ化することによって、特徴のクラスタ化サブセットを生成することを含み得る。たとえば、特徴セットクラスタ器1416は、図14を参照しながらさらに説明したように、特徴の第1のサブセット、特徴の第2のサブセット、または両方をクラスタ化することによって、特徴のクラスタ化サブセット(たとえば、特徴のクラスタ化サブセット1476)を生成することができる。
[00349]方法3400はまた、3418において、特徴の第2のサブセットに少なくとも部分的に基づいて、第1の画像のコンテキストを示すコンテキストデータを生成することをさらに含み得る。コンテキストデータは、分類モデルに基づいて特徴のクラスタ化サブセットを分類することによって生成され得る。たとえば、図14のマルチメディアコンテンツ分類器1412は、図14を参照しながらさらに説明したように、特徴の第2のサブセットに少なくとも部分的に基づいてコンテキストデータ1490を生成することができる。
[00350]図34の方法3400は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、中央処理装置(CPU)などの処理ユニット、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実装され得る。一例として、図34の方法3400は、命令を実行するプロセッサによって実行され得る。
[00351]したがって、方法3400は画像コンテキスト識別を可能にし得る。マルチメディアコンテンツ分類器1412は、単一の画像センサーからの知覚データに関連する信頼性レベルがしきい値信頼性レベルを満たさないときに、複数の画像センサーからの知覚データを分析することに基づいて画像のコンテキストを識別することができる。単一の画像センサーからの知覚データを分析することで、デバイス1402のリソースを節約することができる一方、複数の画像センサーからの知覚データを分析することで、分析の結果に関連する信頼性レベルを高めることができる。後続画像からの知覚データが、以前の画像と後続画像との間で変化が検出されたときに分析され得る。以前の画像からの(たとえば、変化しきい値よりも大きい)十分な変化がないとき、後続画像を分析しないことによってデバイス1402のリソースが節約され得る。
[00352]図35を参照すると、コンピュータビジョンアプリケーションに関連する電力使用量を低減する方法3500の特定の例示的な実施形態が示されている。方法3500は、図1〜図29に関して説明したシステム、デバイス、および技法のうちの少なくとも1つを使用して実行され得る。
[00353]方法3500は、3502において、変化検出回路において、センサーによってキャプチャされた第1のセンサーデータとセンサーによってキャプチャされた第2のセンサーデータとの間の変化量に基づいて制御信号を生成することを含むことができる。たとえば、図4を参照すると、変化検出回路414は、センサー402によってキャプチャされた第1のセンサーデータ430とセンサー402によってキャプチャされた第2のセンサーデータ430との間の変化量に基づいて制御信号を生成することができる。変化検出回路414は、第1の処理経路408に含まれ得る。
[00354]3504において、制御信号に基づいてコンピュータビジョンアプリケーション特有処理のために第2の処理経路に第2のセンサーデータが提供され得る。たとえば、図4を参照すると、変化検出回路414は、第1のセンサーデータ430と第2のセンサーデータ430との間の差を示す制御信号に基づいて、コンピュータビジョンアプリケーション特有処理のために第2の処理経路410のアプリケーションプロセッサ418に第2のセンサーデータ430を提供することができる。代替実施形態(たとえば、図5〜図6)では、制御信号は、選択回路(たとえば、マルチプレクサ)に提供されるフィードバック信号であってよく、第2のセンサーデータは、選択回路を介してアプリケーションプロセッサ(たとえば、アプリケーションプロセッサ518)に提供され得る。
[00355]方法3500は、以前のフレームと同様である特定のフレームに対するコンピュータビジョンアプリケーション特有処理を回避することによって、電力消費量を低減することができる。たとえば、変化検出回路414は、現在のフレームと以前のフレームとの間の比較に基づいて、アプリケーションプロセッサ418をアクティブ化する(たとえば、起動する)べきかどうかを(制御信号416を介して)示すことができる。現在のフレームと以前のフレームとの間の差がしきい値(たとえば、変化しきい値)を満たさないと変化検出回路414が決定した場合、変化検出回路414は、電力を節約するためにアプリケーションプロセッサ418を非アクティブ化する(たとえば、アプリケーションプロセッサ418をスリープ状態に維持する)ことを決定することができる。
[00356]図36を参照すると、モバイルデバイスの例示的な実施形態の図が示され、全体的に3600と称される。モバイルデバイス3600は、常時接続カメラを含むこと、および/または常時接続カメラと通信可能に結合されることがある。特定の実施形態では、モバイルデバイス3600は、図12のモバイルデバイス1200のうちの1つまたは複数に対応し得る。例示的な実施形態では、モバイルデバイス3600は、図30〜図35の方法3000〜3500またはそれらの任意の組合せに従って動作することができる。
[00357]図16は、様々な構成要素の一般化された図を与えるものにすぎず、それらの構成要素のいずれかまたはすべてが適宜に利用され得ることに留意されたい。さらに、図36に示すモバイルデバイス3600のハードウェアおよび/またはソフトウェア構成要素は、コンテキスト決定エンジン1380、センサー、および他の構成要素など、図13に示す構成要素のうちの1つまたは複数を実装するように構成され得る。
[00358]図36に示す構成要素は、単一のモバイルデバイスに局所化されること、および/または異なる物理的ロケーションに配設され得る様々なネットワーク化されたデバイス間に分散されることがある。たとえば、いくつかの実施形態は、ユーザの体またはその近くの様々なロケーションに分散カメラ3643および/または他のセンサー3649を含むことができる。(ユーザの頭に装着された)HMDの常時接続カメラが、たとえば、ユーザのポケットの中のモバイルフォンと通信可能に結合されてよく、図36に示す構成要素が、所望の機能に応じて様々な方法のいずれかでHMDおよびモバイルフォンの間に分散されてよい。
[00359]バス3605を介して電気的に結合され得る(または、適宜に、他の方法で通信していることがある)ハードウェア要素を含むモバイルデバイス3600が示されている。ハードウェア要素は、限定はしないが、1つもしくは複数の汎用プロセッサ、(デジタル信号プロセッサ(DSP)、グラフィックスアクセラレーションプロセッサ、特定用途向け集積回路(ASIC)などの)1つもしくは複数の専用プロセッサ、および/または図30〜図35の方法3000〜3500を含む本明細書で説明した方法のうちの1つまたは複数を実行するように構成され得る他の処理構造もしくは手段を含むことができる処理ユニット3610を含み得る。モバイルデバイス3600はまた、1つまたは複数の入力デバイス3670(たとえば、タッチスクリーン、タッチパッド、ボタン、ダイヤル、スイッチなど)と、限定はしないが、ディスプレイ、発光ダイオード(LED)、スピーカーなどを含むことができる1つまたは複数の出力デバイス3615とを含むことができる。
[00360]モバイルデバイス3600はまた、限定はしないが、モデム、ネットワークカード、赤外線通信デバイス、(Bluetooth(Bluetooth SIG, Inc.の登録商標)デバイス、IEEE802.11デバイス、IEEE802.15.4デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信ファシリティなどの)ワイヤレス通信デバイスおよび/またはチップセットなどを含むことができる、ワイヤレス通信インターフェース3630を含み得る。モバイルデバイス3600との間の通信はまた、いくつかの実施形態では、様々なワイヤレス通信ネットワークを使用して実装され得る。これらのネットワークは、たとえば、ワイドエリアワイヤレスネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)などを含むことができる。WWANは、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交周波数分割多元接続(OFDMA)ネットワーク、シングルキャリア周波数分割多元接続(SC−FDMA)ネットワーク、WiMax(IEEE802.16)ネットワークなどであり得る。CDMAネットワークは、cdma2000、広帯域CDMA(W−CDMA(登録商標))などのような、1つまたは複数の無線アクセス技術(RAT)を実装し得る。cdma2000は、IS−95規格、IS−2000規格、および/またはIS−856規格を含む。TDMAネットワークは、モバイル通信用グローバルシステム(GSM(登録商標):Global System for Mobile Communications)、デジタルアドバンストモバイルフォンシステム(D−AMPS:Digital Advanced Mobile Phone System)、または何らかの他のRATを実装し得る。OFDMAネットワークは、ロングタームエボリューション(LTE:Long Term Evolution)、LTEアドバンストなどを実装し得る。LTE、LTEアドバンスト、GSM、およびW−CDMAは、「第3世代パートナーシッププロジェクト」(3GPP:3rd Generation Partnership Project)と
称する団体からの文書に記載されている。cdma2000は、「第3世代パートナーシッププロジェクト2」(「3GPP2」:3rd Generation Partnership Project 2)と称する団体からの文書に記載されている。3GPPおよび3GPP2の文書は公開されている。WLANはまた、IEEE802.11xネットワークであり得、WPANは、Bluetooth(Bluetooth SIG, Inc.の登録商標)ネットワーク、IEEE802.15xネットワーク、または何らかの他のタイプのネットワークであり得る。また、本明細書で説明する技法は、WWAN、WLAN、および/またはWPANの任意の組合せのために使用され得る。ワイヤレス通信インターフェース3630は、データが他のセンサー、システム、および/または本明細書で説明する任意の他の電子デバイスと直接交換されることを可能にし得る。通信は、ワイヤレス信号3634を送るおよび/または受信する1つまたは複数のワイヤレス通信アンテナ3632を介して行われ得る。
[00361]ワイヤレス通信インターフェース3630は、モバイルデバイス3600のロケーションを決定するために利用されることもある。たとえば、(ワイヤレス音声および/またはデータ通信に使用される基地局および/または他のシステムを含む)アクセスポイントは、たとえば、たとえば往復時間(RTT)および/または受信信号強度インジケーション(RSSI)測定に基づく三辺測量ベースの手順の実施を通して、位置データの独立ソースの働きをすることができる。アクセスポイントは、WWANよりも小さい地理的領域にわたる通信を実行するために建築物中で動作するWLANの一部であり得る。その上、アクセスポイントは、WiFiネットワーク(802.1x)、セルラーピコネットおよび/またはフェムトセル、Bluetooth(Bluetooth SIG, Inc.の登録商標)ネットワークなどの一部であり得る。アクセスポイントはまた、Qualcomm屋内測位システム(QUIPSTM:Qualcomm indoor positioning system)の一部を形成することができる。
[00362]モバイルデバイス3600はセンサー3640をさらに含むことができる。本明細書に示すように、図2に説明するセンサーに対応し得るセンサー3640は、1つまたは複数の加速度計3641、ジャイロスコープ3642、磁力計3644など、モバイルデバイス3600の方位および/または動きの決定の源となり得るセンサーを含むことができる。モバイルデバイス3600は、図13を参照しながら説明したように、マイクロフォン1665、光センサー1646、近接センサー、および他のセンサーなどの他のセンサー1640を含むことができる。カメラ3643は、異なる特徴(RGB、赤外線、広角、魚眼、高解像度など)を有する任意の数の異なるカメラを含むことができ、これらのいずれかまたはすべては、本明細書で説明する常時接続カメラとして利用され得る。
[00363]モバイルデバイス3600の実施形態はまた、衛星測位システム(SPS)アンテナ3682を使用して1つまたは複数のSPSから信号3684を受信することが可能なSPS受信機3680を含み得る。SPS受信機3680は、モバイルデバイス3600に関するロケーション情報(たとえば、座標)ならびにロケーション情報から導出される情報(速度、加速度など)を提供することができる図13の衛星測位受信機1350に対応し得る。送信される衛星信号3684は、たとえば、設定された数のチップの反復擬似ランダム雑音(PN)コードでマークされた信号を含み得、地上ベースの制御局、ユーザ機器および/または宇宙ビークル上に位置し得る。衛星測位システムは、全地球測位システム(GPS)、Galileo、Glonass、Compass、日本の準天頂衛星システム(QZSS)、インドのIndian Regional Navigational Satellite System(IRNSS)、中国の北斗などのようなシステム、および/または1つもしくは複数の全地球および/もしくは地域航法衛星システムに関連付けられ、または場合によってはそれらのシステムとともに使用することが可能であり得る、様々な補強システム(たとえば、静止衛星型衛星航法補強システム(SBAS))を含み得る。限定ではなく例として、SBASは、たとえば、広域補強システム(WAAS:Wide Area Augmentation System)、欧州静止衛星航法オーバレイサービス(EGNOS:European Geostationary Navigation Overlay Service)、多機能衛星補強システム(MSAS:Multifunctional Satellite Augmentation System)、GPS支援GEO補強航法またはGPSおよびGEO補強航法システム(GAGAN:GPS Aided Geo Augmented Navigation or GPS and Geo Augmented Navigation system)などの、完全性情報、差分補正などを提供する補強システムを含み得る。
[00364]モバイルデバイス3600はさらに、メモリ3660を含むこと(および/または、メモリ3660と通信していること)がある。メモリ3660は、限定はしないが、ローカルストレージおよび/またはネットワークアクセス可能ストレージと、ディスクドライブと、ドライブアレイと、光ストレージデバイスと、ランダムアクセスメモリ(「RAM」)および/またはプログラム可能、フラッシュアップデート可能などであり得る読取り専用メモリ(「ROM」)などのソリッドステートストレージデバイスとを含むことができる。そのようなストレージデバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む、任意の適切なデータストアを実装するように構成され得る。
[00365]モバイルデバイス3600のメモリ3660はまた、様々な実施形態によって提供されるコンピュータプログラムを備え得、ならびに/または本明細書で説明するように、他の実施形態によって提供される、方法を実装するように、および/もしくはシステムを構成するように設計され得る、オペレーティングシステム、デバイスドライバ、実行可能ライブラリ、および/または1つまたは複数のアプリケーションプログラムなどの他のコードを含む、ソフトウェア要素(図示せず)を含むことができる。単に例として、図30〜図35の方法に関して説明した1つまたは複数の手順は、モバイルデバイス3600(および/またはモバイルデバイス3600内の処理ユニット)(および/または測位システムの別のデバイス)によって実行可能なコードおよび/または命令として実装され得る。一態様では、そのようなコードおよび/または命令は、説明した方法に従って1つまたは複数の動作を実行するように汎用コンピュータ(または他のデバイス)を構成するためおよび/または適応させるために使用され得る。
[00366]図37を参照すると、コンピュータビジョンアプリケーションに関連する電力使用量を低減するように動作可能な構成要素を含むワイヤレスデバイス3700のブロック図が示されている。デバイス3700は、コンピュータビジョンアプリケーションに関連する電力使用量を低減するように動作可能なプロセッサ3710(たとえば、変化検出回路414およびアプリケーションプロセッサ418)を含む。プロセッサ3710はメモリ3732に結合されている。特定の実施形態では、プロセッサ3710は、図3の処理システム300、図4の処理システム400、図5の処理システム500、図6の処理システム600、図8の処理システム800、またはそれらの組合せを含むことができる。
[00367]図37はまた、プロセッサ3710とディスプレイ3728とに結合されたディスプレイコントローラ3726を示す。カメラコントローラ3790がプロセッサ3710とセンサー402とに結合され得る。センサー402は、画像フレーム(たとえば、図1の画像102〜106)を含むビデオストリームをキャプチャするように構成され得る。コーダ/デコーダ(コーデック)3734もプロセッサ3710に結合され得る。スピーカー3736およびマイクロフォン3738がコーデック3734に結合され得る。図37はまた、ワイヤレスコントローラ3740が、プロセッサ3710に結合され、無線周波数(RF)インターフェース3780を介してワイヤレスアンテナ3742に結合され得ることを示す。
[00368]メモリ3732は、実行可能命令3756を含む有形の非一時的プロセッサ可読記憶媒体であり得る。命令3756は、図30〜図35の方法3000〜3500のいずれかを実行するためにプロセッサ3710などのプロセッサまたはプロセッサ3710内のデバイス(たとえば、第1の処理デバイス304、統計生成器304、および/または第2の処理デバイス310)によって実行され得る。
[00369]特定の実施形態において、プロセッサ3710、ディスプレイコントローラ3726、メモリ3732、コーデック3734、およびワイヤレスコントローラ3740は、システムインパッケージまたはシステムオンチップデバイス3722に含まれる。特定の実施形態において、入力デバイス3730および電源3744がシステムオンチップデバイス3722に結合される。その上、特定の実施形態では、図37に示すように、ディスプレイ3728、入力デバイス3730、カメラ302、スピーカー3736、マイクロフォン3738、ワイヤレスアンテナ3742、および電源3744は、システムオンチップデバイス3722の外部にある。ただし、ディスプレイ3728、入力デバイス3730、カメラ302、スピーカー3736、マイクロフォン3738、ワイヤレスアンテナ3742、および電源3744の各々は、インターフェースまたはコントローラなどのシステムオンチップデバイス3722の構成要素に結合され得る。
[00370]説明する実施形態に関連して、画像データの第1のフレームについての第1の画像統計と画像データの第2のフレームについての第2の画像統計とを生成するための手段を含む装置が開示される。たとえば、画像統計を生成するための手段は、図3の第1の処理デバイス304、図37の命令3756を実行するようにプログラムされたプロセッサ3710、画像統計を生成するための1つもしくは複数の他のデバイス、回路、モジュール、もしくは命令、またはそれらの任意の組合せを含むことができる。
[00371]装置はまた、第2の画像統計と第1の画像統計との間の変化量がしきい値を満たすかどうかを決定するための手段を含むことができる。たとえば、決定するための手段は、図3の統計処理デバイス108、図37の命令3756を実行するようにプログラムされたプロセッサ3710、第2の画像統計と第1の画像統計との間の第1の変化量がしきい値を満たすかどうかを決定するための1つもしくは複数の他のデバイス、回路、モジュール、もしくは命令、またはそれらの任意の組合せを含むことができる。
[00372]装置はまた、変化量がしきい値を満たすとの決定に応答して、第2のフレームに対するアプリケーション特有処理を実行するための手段を含むことができる。たとえば、アプリケーション特有処理を実行するための手段は、図3の第2の処理デバイス310、図37の命令3756を実行するようにプログラムされたプロセッサ3710、アプリケーション特有処理を実行するための1つもしくは複数の他のデバイス、回路、モジュール、もしくは命令、またはそれらの任意の組合せを含むことができる。
[00373]説明する実施形態に関連して、センサーによってキャプチャされた第1のセンサーデータとセンサーによってキャプチャされた第2のセンサーデータとの間の変化量に基づいて制御信号を生成するための手段を含む装置が開示される。制御信号を生成するための手段は、図1〜図3の統計処理デバイス108、図4の変化検出回路414、図5〜図6の変化検出回路514、図8のアクティブ化分析器814、図8のアクティブ化分析器816、制御信号を生成するための1つもしくは複数の他のデバイス、回路、モジュール、もしくは命令、またはそれらの任意の組合せを含むことができる。
[00374]装置はまた、制御信号に基づいて第2のセンサーデータに対するコンピュータビジョンアプリケーション特有処理を実行するための手段を含むことができる。コンピュータビジョンアプリケーション特有処理を実行するための手段は、図3の第2の処理デバイス310、図4の第2の処理経路410における構成要素、図5の第2の処理経路510における構成要素、図6の第2の処理経路610における構成要素、図8の第2の処理経路810における構成要素、第2のセンサーデータに対するコンピュータビジョンアプリケーション特有処理を実行するための1つもしくは複数の他のデバイス、回路、モジュール、もしくは命令、またはそれらの任意の組合せを含むことができる。
[00375]図38を参照すると、モバイルデバイスの特定の例示的な実施形態のブロック図が示され、全体的に3800と称される。様々な実施形態では、デバイス3800は、図38に示すものよりも多くの、または少ない構成要素を有し得る。デバイス3800は、図3のデバイス302を含むこと、デバイス302に含まれること、またはデバイス302に対応することがある。例示的な実施形態では、デバイス3800は、図30〜図34の方法またはそれらの任意の組合せに従って動作することができる。
[00376]特定の実施形態では、デバイス3800は、図14のメモリ1408に結合され、コーダ/デコーダ(コーデック)3834に結合され、ワイヤレスコントローラ3840を介してワイヤレスアンテナ3842に結合されたプロセッサ3810(たとえば、中央処理装置(CPU)またはデジタル信号プロセッサ(DSP))を含む。プロセッサ3810はまた、ディスプレイコントローラ3826を介して図14のディスプレイ1406に結合され得る。スピーカー3836およびマイクロフォン3838がコーデック3834に結合され得る。デバイス3800は、図14のデバイス1402の1つまたは複数の画像センサーに結合され得る。たとえば、デバイス3800は、図14の第1の画像センサー1404、第Nの画像センサー1440、または両方に結合され得る。デバイス3800は、1つまたは複数の他のセンサー3846に結合され得る。たとえば、1つまたは複数の他のセンサー3846は、微小電気機械システム(MEMS)センサー、光学センサー、磁気センサー、またはそれらの任意の組合せを含むことができる。デバイス3800は、図14のマルチメディアコンテンツ分類器1412を含むことができる。特定の実施形態では、プロセッサ3810は、図14のプロセッサ1410に対応し得る。特定の実施形態では、プロセッサ3810は、図14のマルチメディアコンテンツ分類器1412を含むことができる。
[00377]マルチメディアコンテンツ分類器1412は、本明細書で説明する画像コンテキスト識別技法のハードウェア実施形態を実施するために使用され得る。代替または追加として、ソフトウェア実施形態(または合成ソフトウェア/ハードウェア実施形態)が実施され得る。たとえば、メモリ1408は命令3856を含むことができる。命令3856はマルチメディアコンテンツ分類器1412に対応し得る。命令3856は、プロセッサ3810またはデバイス3800の別の処理ユニットによって実行可能であり得る。たとえば、メモリ1408は、知覚データを受信することによって画像のコンテキストを識別し、特徴の第1のサブセットを抽出し、特徴の第1のサブセットに関連する信頼性レベルがしきい値信頼性レベルを満たさないと決定し、決定に応答して特徴の第2のサブセットを抽出し、特徴の第2のサブセットに少なくとも部分的に基づいて画像のコンテキストを示すコンテキストデータを生成するようにプロセッサ3810によって実行可能である命令3856を記憶する非一時的コンピュータ可読媒体またはデバイスであり得る。
[00378]特定の実施形態では、プロセッサ3810、ディスプレイコントローラ3826、メモリ1408、コーデック3834、およびワイヤレスコントローラ3840は、システムインパッケージまたはシステムオンチップデバイス3822に含まれる。特定の実施形態では、入力デバイス3830および電源3844がシステムオンチップデバイス3822に結合される。その上、特定の実施形態では、図38に示すように、ディスプレイ1406、入力デバイス3830、スピーカー3836、マイクロフォン3838、第1の画像センサー1404、第Nの画像センサー340、ワイヤレスアンテナ3842、および電源3844は、システムオンチップデバイス3822の外部にある。ただし、ディスプレイ1406、入力デバイス3830、スピーカー3836、マイクロフォン3838、第1の画像センサー1404、第Nの画像センサー1440、ワイヤレスアンテナ3842、および電源3844の各々は、インターフェースまたはコントローラなど、システムオンチップデバイス3822の構成要素に結合され得る。
[00379]説明する実施形態に関連して、ワイヤレスアンテナ3842、図14のマルチメディアコンテンツ分類器1412、図3の第1の処理デバイス304、知覚データを受信するように構成された1つもしくは複数の他のデバイスもしくは回路、またはそれらの任意の組合せなど、画像センサーから知覚データを受信するための手段を含むことができるシステムが開示される。知覚データは画像に関係し得る。システムはまた、図3の第1の処理デバイス304、第2の処理デバイス310、図14の特徴セット抽出器1414、マルチメディアコンテンツ分類器1412、プロセッサ1410、図38のプロセッサ3810、特徴の第1のサブセットを抽出するように構成された1つもしくは複数の他のデバイスもしくは回路、またはそれらの任意の組合せなど、知覚データから特徴の第1のサブセットを抽出するための手段を含むことができる。特徴の第1のサブセットは、選択基準に基づいて選択され得る。システムは、図3の第2の処理デバイス310、図14のマルチメディアメディアコンテンツ分類器1412、プロセッサ1410、図38のプロセッサ3810、コンテキストデータを生成するように構成された1つもしくは複数の他のデバイスもしくは回路、またはそれらの任意の組合せなど、特徴の第1のサブセットに少なくとも部分的に基づいて画像のコンテキストを示すコンテキストデータを生成するための手段をさらに含むことができる。
[00380]システムはまた、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図14のマルチメディアメディアコンテンツ分類器1412、抽出器1414、図38のプロセッサ3810、知覚データに基づいて抽出基準が満たされるかどうかを決定するように構成された1つもしくは複数の他のデバイスもしくは回路、またはそれらの任意の組合せなど、知覚データに基づいて抽出基準が満たされるかどうかを決定するための手段を含むことができる。特徴の第1のサブセットは、抽出基準が満たされることに基づいて抽出され得る。
[00381]システムはまた、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図14のマルチメディアメディアコンテンツ分類器1412、抽出器1414、図38のプロセッサ3810、第1の電力ドメインをアクティブ化するように構成された1つもしくは複数の他のデバイスもしくは回路、またはそれらの任意の組合せなど、知覚データがシーン変化を示すと決定したことに応答して第1の電力ドメインをアクティブ化するための手段を含むことができる。
[00382]システムは、図1の統計処理デバイス108、図3の第1の処理デバイス304、第2の処理デバイス310、図14のマルチメディアメディアコンテンツ分類器1412、抽出器1414、図38のプロセッサ3810、第2の電力ドメインをアクティブ化するように構成された1つもしくは複数の他のデバイスもしくは回路、またはそれらの任意の組合せなど、画像の鮮明度がしきい値鮮明度レベルを満たすことを知覚データが示すと決定したことに応答して第2の電力ドメインをアクティブ化するための手段をさらに含むことができる。
[00383]本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者はさらに諒解されよう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップが、概してそれらの機能に関して上述された。そのような機能がハードウェアとして実装されるか、またはプロセッサ実行可能命令として実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明されている機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
[00384]本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはそれら2つの組合せで具体化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD−ROM)、または当技術分野で知られている任意の他の形態の非一時的記憶媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体は、プロセッサと一体化され得る。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末に個別の構成要素として存在し得る。
[00385]開示されている実施形態の上記の説明は、当業者が開示されている実施形態を製作または使用することを可能にするために提供されている。これらの実施形態に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義されている原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書に示されている実施形態に限定されることを意図されておらず、以下の特許請求の範囲によって定義される原理および新規な特徴と一致する可能な最も広い範囲を与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
変化検出回路において、センサーによってキャプチャされた第1のセンサーデータと、前記センサーによってキャプチャされた第2のセンサーデータとの間の変化量に基づいて制御信号を生成すること、ここにおいて、前記変化検出回路は、第1の処理経路中に含まれる、と、
前記制御信号に基づいてコンピュータビジョンアプリケーション特有処理のために第2の処理経路に前記第2のセンサーデータを提供することと
を備える方法。
[C2]
前記第1のセンサーデータは、周辺光センサーからの第1の電圧に対応し、前記第2のセンサーデータは、前記周辺光センサーからの第2の電圧に対応する、
C1に記載の方法。
[C3]
前記第1のセンサーデータは、カメラによってキャプチャされた第1の画像に関連するピクセル値の第1のセットに対応し、前記第2のセンサーデータは、前記カメラによってキャプチャされた第2の画像に関連するピクセル値の第2のセットに対応する、
C1に記載の方法。
[C4]
前記変化量は、前記変化検出回路において前記第1のセンサーデータから抽出された第1の特徴と、前記変化検出回路において前記第2のセンサーデータから抽出された第2の特徴とに基づく、
C1に記載の方法。
[C5]
前記変化量は、前記第1のセンサーデータの第1の画像統計と、前記第2のセンサーデータの第2の画像統計との間の差に基づく、
C1に記載の方法。
[C6]
前記第2の処理経路中のアプリケーションプロセッサにおいて、特定のコンピュータビジョンアプリケーションに基づいて、画像統計の特定のタイプを決定することをさらに備える、
C5に記載の方法。
[C7]
前記アプリケーションプロセッサにおいて、前記第1の処理経路中の信号分析器に、前記画像統計の特定のタイプのインジケーションを提供することと、
前記信号分析器において、前記画像統計の特定のタイプに基づいて前記第1の画像統計および前記第2の画像統計を生成することと
をさらに備える、C6に記載の方法。
[C8]
前記第2のセンサーデータは、前記制御信号に応答する選択回路を介して前記第2の処理経路に提供される、
C1に記載の方法。
[C9]
前記選択回路は、マルチプレクサを含む、
C8に記載の方法。
[C10]
前記制御信号は、フィードバック信号である、
C8に記載の方法。
[C11]
前記コンピュータビジョンアプリケーション特有処理は、
前記第2のセンサーデータに対応する第2のフレームの特徴の第1のサブセットを抽出することと、
分析基準を満たす前記特徴の第1のサブセットに基づいて前記第2のフレームの特徴の第2のサブセットを抽出することと、
前記特徴の第2のサブセットに少なくとも部分的に基づいて、前記第2のフレームのコンテキストを示すコンテキストデータを生成することと
を備える、C1に記載の方法。
[C12]
前記第2の処理経路中の第1のアプリケーションプロセッサにおいて、前記第2のセンサーデータに対応する第2のフレームに対する第1のコンピュータビジョンアプリケーション特有処理を実行することをさらに備え、前記第1のアプリケーションプロセッサは、第1の電力量を消費する、
C1に記載の方法。
[C13]
特定の事象に基づく前記第1のアプリケーションプロセッサおいて、前記第2のフレームに対する第2のコンピュータビジョンアプリケーション特有処理を実行するために、前記第2の処理経路中の第2のアプリケーションプロセッサを使用するように要求すること、ここにおいて、前記第2のアプリケーションプロセッサは、前記第1の電力量より多い第2の電力量を消費する、と、
前記第2のアプリケーションプロセッサにおいて、前記第2のフレームに対して前記第2のコンピュータビジョンアプリケーション特有処理を実行するかどうかを決定することと
をさらに備える、C12に記載の方法。
[C14]
前記第1のコンピュータビジョンアプリケーション特有処理は、特定の色のための前記第2のフレームのピクセルをスキャンすることを含み、前記特定の事象は、前記第2のフレームの特定のピクセルが前記特定の色を有すると決定することを含み、前記第2のコンピュータビジョンアプリケーション特有処理は、オブジェクト検出、オブジェクト認識、またはそれらの組み合わせを実行することを含む、
C13に記載の方法。
[C15]
前記第2のアプリケーションプロセッサにおいて、前記第2のフレームに対する前記第2のコンピュータビジョンアプリケーション特有処理を実行することをさらに備える、
C13に記載の方法。
[C16]
前記第2のアプリケーションプロセッサにおいて、前記第1の処理リソースにおける前記第2のフレームに対して前記第1のコンピュータビジョンアプリケーション特有処理を中断するかどうか決定することと、
前記第2のアプリケーションプロセッサでの前記決定に基づいて前記第1のアプリケーションプロセッサにおいて前記第2のフレームに対する前記第1のコンピュータビジョンアプリケーション特有処理を中断することと
をさらに備える、C15に記載の方法。
[C17]
前記第1のアプリケーションプロセッサは、前記第2のフレームに対する前記第1のコンピュータビジョンアプリケーション特有処理を中断した後、電力ダウンに入る、
C16に記載の方法。
[C18]
前記第2のアプリケーションプロセッサにおいて、前記第2のフレームに対する前記第1のコンピュータビジョンアプリケーション特有処理を実行することをさらに備える、
C16に記載の方法。
[C19]
前記第2のアプリケーションプロセッサから前記第1のアプリケーションプロセッサへ、前記第2のフレームに対する前記第2のコンピュータビジョンアプリケーション特有処理を実行するために、拒否のインジケーションを送ることをさらに備える、
C13に記載の方法。
[C20]
前記第2のアプリケーションプロセッサから前記第1のアプリケーションプロセッサへ、前記第1のアプリケーションプロセッサに、前記特定の事象に基づいて前記第2のコンピュータビジョンアプリケーション特有処理を実行するように前記第2のアプリケーションプロセッサに要求することを控えさせる命令を送ることをさらに備える、
C19に記載の方法。
[C21]
センサーによってキャプチャされた第1のセンサーデータと、前記センサーによってキャプチャされた第2のセンサーデータとの間の変化量に基づいて制御信号を生成することを行うように構成された変化検出回路、ここにおいて、前記変化検出回路は、第1の処理経路中に含まれる、と、
前記制御信号に基づいて前記第2のセンサーデータに対してコンピュータビジョンアプリケーション特有処理を実行することを行うように構成された第2の処理経路と
を備える、装置。
[C22]
前記センサーは、
検出された光、検出された動き、またはそれらの両方のインジケーションを提供するように構成される周辺光センサーと、
前記周辺光センサーからの前記インジケーションに基づいて前記第1のセンサーデータと、前記第2のセンサーデータとをキャプチャするように構成されるカメラと
を備える、C21に記載の装置。
[C23]
前記センサーは、第1のモードおよび第2のモードで動作するように構成されたカメラを備え、前記カメラは、前記第1のモードにおいて、光、動き、またはその両方を検出するように構成され、前記カメラは、前記第2のモードにおいて、前記第1のセンサーデータおよび前記第2のセンサーデータをキャプチャするように構成される、
C21に記載の装置。
[C24]
前記制御信号に基づいて前記第2の処理経路をアクティブ化するように構成されるシステム制御器をさらに備える、C21に記載の装置。
[C25]
前記第2のセンサーデータを記憶するために前記第2の処理経路中にメモリをさらに備える、
C21に記載の装置。
[C26]
センサーによってキャプチャされた第1のセンサーデータと、前記センサーによってキャプチャされた第2のセンサーデータとの間の変化量に基づいて制御信号を生成するための手段、前記制御信号を生成するための前記手段は、第1の処理経路中に含まれる、と、
前記制御信号に基づいて前記第2のセンサーデータに対してコンピュータビジョンアプリケーション特有処理を実行するための手段と
を備え、前記コンピュータビジョンアプリケーション特有処理を実行するための前記手段は、第2の処理経路中に含まれる、
装置。
[C27]
前記制御信号を生成するための前記手段は、変化検出回路および信号分析器を含む、
C26に記載の装置。
[C28]
前記第2のセンサーデータに対して前記コンピュータビジョンアプリケーション特有処理を実行するための前記手段は、アプリケーションプロセッサを含む、
C26に記載の装置。
[C29]
コンピュータによって実行されると、前記コンピュータに、
変化検出回路において、センサーによってキャプチャされた第1のセンサーデータと、前記センサーによってキャプチャされた第2のセンサーデータとの間の変化量に基づいて制御信号を生成すること、ここにおいて、前記変化検出回路は、第1の処理経路中に含まれる、と、
前記制御信号に基づいてコンピュータビジョンアプリケーション特有処理のために第2の処理経路に対する前記第2のセンサーデータを提供することと
を行わせる命令を備える、非一時的コンピュータ可読媒体。
[C30]
前記制御信号は、マルチプレクサに提供されるフィードバック信号である、
C29に記載の非一時的コンピュータ可読媒体。