(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-02
(54)【発明の名称】レイテンシを低減するためのカメラ初期化
(51)【国際特許分類】
H04N 23/65 20230101AFI20240925BHJP
H04N 23/71 20230101ALI20240925BHJP
H04N 23/67 20230101ALI20240925BHJP
G06F 1/3206 20190101ALI20240925BHJP
G06F 1/3287 20190101ALI20240925BHJP
G06F 1/324 20190101ALI20240925BHJP
G06F 1/3231 20190101ALI20240925BHJP
G06F 1/3228 20190101ALI20240925BHJP
G06F 1/3234 20190101ALI20240925BHJP
【FI】
H04N23/65 100
H04N23/71
H04N23/67
G06F1/3206
G06F1/3287
G06F1/324
G06F1/3231
G06F1/3228
G06F1/3234
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024505601
(86)(22)【出願日】2022-08-18
(85)【翻訳文提出日】2024-01-30
(86)【国際出願番号】 US2022075175
(87)【国際公開番号】W WO2023028439
(87)【国際公開日】2023-03-02
(32)【優先日】2021-08-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】ウェスリー・ジェームズ・ホランド
(72)【発明者】
【氏名】ウパル・マーバブ
(72)【発明者】
【氏名】ヴェンカタ・ラヴィ・キラン・ダヤナ
(72)【発明者】
【氏名】レンガラジ・ティルパティ
【テーマコード(参考)】
5B011
5C122
【Fターム(参考)】
5B011DC07
5B011EA10
5B011KK01
5B011KK02
5B011KK04
5B011LL11
5B011LL13
5C122DA01
5C122EA52
5C122FA07
5C122FA08
5C122FA10
5C122FA18
5C122FC04
5C122FD01
5C122FF01
5C122FH11
5C122FH12
5C122FH14
5C122FH19
5C122FJ01
5C122GA01
5C122GA24
5C122GF05
5C122GG01
5C122HA13
5C122HA35
5C122HA46
5C122HA77
5C122HA87
5C122HA90
5C122HB01
5C122HB02
(57)【要約】
予測的カメラ初期化のためのシステム、方法、及び非一時的媒体が提供される。例示的な方法は、第1の画像キャプチャデバイスから、シーンを描写する画像データを取得することと、画像データに基づいて、シーンを分類することと、シーンの分類に基づいて、カメラ使用イベントを予測することと、予測されたカメラ使用イベントに基づいて、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することと、を含むことができる。
【特許請求の範囲】
【請求項1】
予測的カメラ初期化のための装置であって、
メモリと、
前記メモリに結合される1つ以上のプロセッサであって、
第1の画像キャプチャデバイスから、シーンを描写する画像データを取得し、
前記画像データに基づいて前記シーンを分類し、
前記シーンの前記分類に基づいて、カメラ使用イベントを予測し、
予測された前記カメラ使用イベントに基づいて、前記第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整する、
ように構成される、1つ以上のプロセッサと
を備える、装置。
【請求項2】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するために、前記1つ以上のプロセッサが、
前記第2の画像キャプチャデバイスを初期化することであって、構成され、前記第2の画像キャプチャデバイスが、前記画像データをキャプチャするために使用される前記第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードに初期化される、ことを行うように構成される、請求項1に記載の装置。
【請求項3】
前記1つ以上のプロセッサが、
前記第1の画像キャプチャデバイスの前記それぞれの電力モードよりも多くの電力を消費する前記電力モードで前記第2の画像キャプチャデバイスを使用して追加の画像データをキャプチャするように構成され、前記電力モードが、前記画像データをキャプチャするために使用される前記第1の画像キャプチャデバイスの前記それぞれの電力モードに関連付けられた解像度よりも高い解像度、前記画像データをキャプチャするために使用される前記第1の画像キャプチャデバイスの前記それぞれの電力モードに関連付けられたフレームレートよりも高いフレームレート、前記画像データをキャプチャするために使用される前記第1の画像キャプチャデバイスの前記それぞれの電力モードに関連付けられた画像センサの数よりも多い数の画像センサ、及び前記第1の画像キャプチャデバイスに関連付けられた第2の画像センサによってサポートされる異なる電力モードよりも多くの電力を消費する特定の電力モードをサポートする第1の画像センサのうちの少なくとも1つに関連付けられる、請求項2に記載の装置。
【請求項4】
前記第2の画像キャプチャデバイスが、前記第1の画像キャプチャデバイスに関連付けられた第2のカメラパイプラインよりも多くの電力を消費する第1のカメラパイプラインに関連付けられ、前記第1のカメラパイプラインが、前記第2のカメラパイプラインよりも多くの画像処理能力、及び前記第2のカメラパイプラインよりも高い処理性能を有する1つ以上のハードウェアコンポーネントのうちの少なくとも1つを含む、請求項2に記載の装置。
【請求項5】
前記第2の画像キャプチャデバイスを初期化するために、前記1つ以上のプロセッサが、前記第2の画像キャプチャデバイスの前記電力モードを増加させるように構成される、請求項2に記載の装置。
【請求項6】
前記第2の画像キャプチャデバイスの前記電力モードを増加させるために、前記1つ以上のプロセッサが、
前記第2の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させるように構成される、請求項2に記載の装置。
【請求項7】
前記1つ以上のプロセッサが、
前記第1の画像キャプチャデバイスからの前記画像データをバッファに記憶することであって、前記画像データの少なくとも一部分が、前記第2の画像キャプチャデバイスの前記初期化中及び前記第2の画像キャプチャデバイスの前記初期化が完了する前のうちの少なくとも1つに前記バッファに記憶される、ことと、
前記第2の画像キャプチャデバイスに関連付けられたカメラパイプラインを介して、前記バッファに記憶された前記画像データの少なくとも前記一部分を処理することであって、前記画像データの前記少なくとも前記一部分が、前記第2の画像キャプチャデバイスが初期化された後に処理される、ことと
を行うように構成される、請求項2に記載の装置。
【請求項8】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するために、前記1つ以上のプロセッサが、
前記第2の画像キャプチャデバイスのカメラパイプラインに関連付けられたプロセッサ及び前記カメラパイプラインに関連付けられたメモリのうちの少なくとも1つの周波数を増加させるように構成される、請求項1に記載の装置。
【請求項9】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するために、前記1つ以上のプロセッサが、
前記第2の画像キャプチャデバイスに関連付けられたカメラアプリケーションにメモリを事前に割り当てるように構成される、請求項1に記載の装置。
【請求項10】
前記1つ以上のプロセッサが、
前記第1の画像キャプチャデバイスからの1つ以上の画像に基づいて、露出値及び焦点値のうちの少なくとも1つを事前収束させるように構成される、請求項1に記載の装置。
【請求項11】
前記1つ以上のプロセッサが、
前記装置のロケーションを示すロケーションデータと、前記装置に関連付けられた1つ以上のセンサからのセンサデータのうちの少なくとも1つを取得することであって、前記センサデータが、前記装置に関連付けられた動きを示す動き測定値、前記1つ以上のセンサによってキャプチャされたオーディオデータ、及び前記装置の位置を示す位置測定値のうちの少なくとも1つを含む、ことと、
前記画像データと、前記ロケーションデータ、前記オーディオデータ、及び前記センサデータのうちの少なくとも1つとに基づいて前記シーンを分類することと
を行うように構成される、請求項1に記載の装置。
【請求項12】
前記予測されたカメラ使用イベントが、追加の画像データをキャプチャするために前記装置をトリガするように構成されるユーザ入力を含む、請求項1に記載の装置。
【請求項13】
前記シーンを分類するために、前記1つ以上のプロセッサが、前記画像データに関連付けられたイベントを検出するように構成され、前記イベントが、前記画像データ内に描写された前記シーン、前記装置の特定の移動、前記装置に関連付けられたユーザに対する前記装置の位置、前記画像データ内で検出された群衆、1人以上のユーザに関連付けられたジェスチャ、オブジェクト上に表示されたパターン、及び互いに対する集団の人々の位置のうちの少なくとも1つを含む、請求項1に記載の装置。
【請求項14】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するために、前記1つ以上のプロセッサが、
前記第2の画像キャプチャデバイスの初期化に関連付けられた1つ以上の初期化設定を判定することであって、前記1つ以上の初期化設定が、前記シーンに関連付けられたイベントのタイプに基づく、ことと、
前記1つ以上の初期化設定に従って前記第2の画像キャプチャデバイスを初期化することと
を行うように構成される、請求項1に記載の装置。
【請求項15】
前記1つ以上のプロセッサが、
前記シーンを分類したことに応じて、満了値に関連付けられたタイマを初期化することと、
前記予測されたカメラ使用イベントの発生の前に前記タイマの値が前記満了値に達したことを判定することと、
前記予測されたカメラ使用イベントの前記発生の前に前記タイマの前記値が前記満了値に達したことに基づいて、前記第2の画像キャプチャデバイスの前記電力モードを低減させる、ことであって、前記第2の画像キャプチャデバイスをオフにすることと、前記第2の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスに関連付けられたカメラパイプラインのうちの少なくとも1つに関連付けられた1つ以上の電力設定を低減することとのうちの少なくとも1つを含む、ことと
を行わせるように構成される、請求項1に記載の装置。
【請求項16】
前記第2の画像キャプチャデバイスの前記電力モードを調整するために、前記1つ以上のプロセッサが、投光照明器、深度センサデバイス、デュアル画像キャプチャデバイスシステム、構造化光システム、飛行時間システム、オーディオアルゴリズム、ロケーションサービス、及び前記第1の画像キャプチャデバイスに関連付けられたカメラパイプラインとは異なるカメラパイプラインのうちの少なくとも1つをオンにする又は実装するように構成される、請求項1に記載の装置。
【請求項17】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するために、前記1つ以上のプロセッサが、
前記第1の画像キャプチャデバイスの前記電力モードを減少させることであって、前記第1の画像キャプチャデバイス及び前記第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を減少させることのうちの少なくとも1つを含む、ことを行わせるように構成される、請求項1に記載の装置。
【請求項18】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するために、前記1つ以上のプロセッサが、
前記第1の画像キャプチャデバイスの前記電力モードを増加させることであって、前記第1の画像キャプチャデバイス及び前記第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させることのうちの少なくとも1つを含む、ことを行わせるように構成される、請求項1に記載の装置。
【請求項19】
前記装置がモバイルデバイスを含む、請求項1に記載の装置。
【請求項20】
前記装置がエクステンデッドリアリティデバイスを含む、請求項19に記載の装置。
【請求項21】
予測的カメラ初期化の方法であって、
第1の画像キャプチャデバイスから、シーンを描写する画像データを取得するステップと、
前記画像データに基づいて、前記シーンを分類するステップと、
前記シーンの前記分類に基づいて、カメラ使用イベントを予測するステップと、
前記予測されたカメラ使用イベントに基づいて、前記第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整するステップと
を含む、方法。
【請求項22】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するステップが、
前記第2の画像キャプチャデバイスを初期化するステップであって、前記第2の画像キャプチャデバイスが、前記画像データをキャプチャするために使用される前記第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードに初期化される、ステップを含む、請求項21に記載の方法。
【請求項23】
前記第1の画像キャプチャデバイスの前記それぞれの電力モードよりも多くの電力を消費する前記電力モードで前記第2の画像キャプチャデバイスを使用して追加の画像データをキャプチャするステップであって、前記電力モードが、前記画像データをキャプチャするために使用される前記第1の画像キャプチャデバイスの前記それぞれの電力モードに関連付けられた解像度よりも高い解像度、前記画像データをキャプチャするために使用される前記第1の画像キャプチャデバイスの前記それぞれの電力モードに関連付けられたフレームレートよりも高いフレームレート、前記画像データをキャプチャするために使用される前記第1の画像キャプチャデバイスの前記それぞれの電力モードに関連付けられた画像センサの数よりも多い数の画像センサ、及び前記第1の画像キャプチャデバイスに関連付けられた第2の画像センサによってサポートされる異なる電力モードよりも多くの電力を消費する特定の電力モードをサポートする第1の画像センサのうちの少なくとも1つに関連付けられている、ステップをさらに含む、請求項22に記載の方法。
【請求項24】
前記第2の画像キャプチャデバイスが、前記第1の画像キャプチャデバイスに関連付けられた第2のカメラパイプラインよりも多くの電力を消費する第1のカメラパイプラインに関連付けられ、前記第1のカメラパイプラインが、前記第2のカメラパイプラインよりも多くの画像処理能力、及び前記第2のカメラパイプラインよりも高い処理性能を有する1つ以上のハードウェアコンポーネントのうちの少なくとも1つを含む、請求項22に記載の方法。
【請求項25】
前記第2の画像キャプチャデバイスを初期化するステップが、前記第2の画像キャプチャデバイスの前記電力モードを増加させるステップを含む、請求項22に記載の方法。
【請求項26】
前記第2の画像キャプチャデバイスの前記電力モードを増加させるステップが、
前記第2の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させるステップを含む、請求項22に記載の方法。
【請求項27】
前記第1の画像キャプチャデバイスからの前記画像データをバッファに記憶するステップであって、前記画像データの少なくとも一部分が、前記第2の画像キャプチャデバイスの前記初期化中及び前記第2の画像キャプチャデバイスの前記初期化が完了する前のうちの少なくとも1つに前記バッファに記憶される、ステップと、
前記第2の画像キャプチャデバイスに関連付けられたカメラパイプラインを介して、前記バッファに記憶された前記画像データの少なくとも前記一部分を処理するステップであって、前記画像データの前記少なくとも前記一部分が、前記第2の画像キャプチャデバイスが初期化された後に処理される、ステップと
をさらに含む、請求項22に記載の方法。
【請求項28】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するステップが、
前記第2の画像キャプチャデバイスのカメラパイプラインに関連付けられたプロセッサ及び前記カメラパイプラインに関連付けられたメモリのうちの少なくとも1つの周波数を増加させるステップを含む、請求項21に記載の方法。
【請求項29】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するステップが、
前記第2の画像キャプチャデバイスに関連付けられたカメラアプリケーションにメモリを事前に割り当てるステップ、
を含む、請求項21に記載の方法。
【請求項30】
前記第1の画像キャプチャデバイスからの1つ以上の画像に基づいて、露出値及び焦点値のうちの少なくとも1つを事前収束させるステップ、
をさらに含む、請求項21に記載の方法。
【請求項31】
前記第1の画像キャプチャデバイスに関連付けられた電子デバイスのロケーションを示すロケーションデータと、前記電子デバイスに関連付けられた1つ以上のセンサからのセンサデータを取得するステップであって、前記センサデータが、前記電子デバイスに関連付けられた動きを示す動き測定値、前記1つ以上のセンサによってキャプチャされたオーディオデータ、及び前記電子デバイスの位置を示す位置測定値のうちの少なくとも1つを含むセンサデータとのうちの少なくとも1つである、ステップと、
前記画像データと、前記ロケーションデータ、前記オーディオデータ、及び前記センサデータのうちの少なくとも1つとに基づいて前記シーンを分類するステップと
をさらに含む、請求項21に記載の方法。
【請求項32】
前記予測されたカメラ使用イベントが、追加の画像データをキャプチャするために前記第1の画像キャプチャデバイスに関連付けられた電子デバイスをトリガするように構成されるユーザ入力を含む、請求項21に記載の方法。
【請求項33】
前記シーンを分類するステップが、前記画像データに関連付けられたイベントを検出するステップであって、前記イベントが、前記画像データ内に描写された前記シーン、前記第1の画像キャプチャデバイスに関連付けられた電子デバイスの特定の移動、前記電子デバイスに関連付けられたユーザに対する前記電子デバイスの位置、前記画像データ内で検出された群衆、1人以上のユーザに関連付けられたジェスチャ、オブジェクト上に表示されたパターン、及び互いに対する集団の人々の位置のうちの少なくとも1つを含む、ステップを含む、請求項21に記載の方法。
【請求項34】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するステップが、
前記第2の画像キャプチャデバイスの初期化に関連付けられた1つ以上の初期化設定を判定するステップであって、前記1つ以上の初期化設定が、前記シーンに関連付けられたイベントのタイプに基づく、ステップと、
前記1つ以上の初期化設定に従って前記第2の画像キャプチャデバイスを初期化するステップと
を含む、請求項21に記載の方法。
【請求項35】
前記シーンを分類したことに応じて、満了値に関連付けられたタイマを初期化するステップと、
前記予測されたカメラ使用イベントの発生の前に前記タイマの値が前記満了値に達したことを判定するステップと、
前記予測されたカメラ使用イベントの前記発生の前に前記タイマの前記値が前記満了値に達したステップに基づいて、前記第2の画像キャプチャデバイスの前記電力モードを低減させるステップであって、前記第2の画像キャプチャデバイスをオフにするステップと、前記第2の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスに関連付けられたカメラパイプラインのうちの少なくとも1つに関連付けられた1つ以上の電力設定を低減するステップとのうちの少なくとも1つを含む、ステップと
をさらに含む、請求項21に記載の方法。
【請求項36】
前記第2の画像キャプチャデバイスの前記電力モードを調整するステップが、投光照明器、深度センサデバイス、デュアル画像キャプチャデバイスシステム、構造化光システム、飛行時間システム、オーディオアルゴリズム、ロケーションサービス、及び前記第1の画像キャプチャデバイスに関連付けられたカメラパイプラインとは異なるカメラパイプラインのうちの少なくとも1つをオンにするステップ又は実装するステップを含む、請求項21に記載の方法。
【請求項37】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するステップが、
前記第1の画像キャプチャデバイスの前記電力モードを減少させるステップであって、前記第1の画像キャプチャデバイス及び前記第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を減少させるステップのうちの少なくとも1つを含む、ステップを含む、請求項21に記載の方法。
【請求項38】
前記第1の画像キャプチャデバイス及び前記第2の画像キャプチャデバイスのうちの少なくとも1つの前記電力モードを調整するステップが、
前記第1の画像キャプチャデバイスの前記電力モードを増加させるステップであって、前記第1の画像キャプチャデバイス及び前記第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させるステップのうちの少なくとも1つを含む、ステップを含む、請求項21に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、カメラデバイスを制御することに関する。例えば、本開示の態様は、カメラの使用レイテンシ(latency:待ち時間)を低減するための予測的カメラ初期化に関する。
【背景技術】
【0002】
電子デバイスは、消費のために画像及び/又はビデオをキャプチャするためのカメラハードウェアをますます装備している。例えば、コンピューティングデバイスは、コンピューティングデバイスがあるシーン、人物、オブジェクトなどのビデオ又は画像をキャプチャすることを可能にするために、カメラ(例えば、1つ以上のカメラを含む携帯電話又はスマートフォンなどのモバイルデバイス)を含むことができる。画像又はビデオは、コンピューティングデバイス(例えば、モバイルデバイス、IPカメラ、エクステンデッドリアリティデバイス、接続デバイス、セキュリティシステムなど)によってキャプチャ及び処理され、消費のために記憶、及び/又は出力する(例えば、デバイス及び/又は別のデバイス上に表示する)ことができる。場合によっては、画像又はビデオは、効果(例えば、圧縮、画像強調、画像復元、スケーリング、フレームレート変換、ノイズ低減など)、並びに/又は、とりわけ、コンピュータビジョン、エクステンデッドリアリティ(例えば、拡張現実、仮想現実など)、オブジェクト検出、画像認識(例えば、顔認識、オブジェクト認識、シーン認識など)、特徴抽出、認証、及び自動化などの特定のアプリケーションのためにさらに処理することができる。
【0003】
場合によっては、電子デバイスは、画像を処理して、画像によってキャプチャされたオブジェクト、顔、イベント、及び/又は任意の他のアイテムを検出することができる。オブジェクト検出は、例えば、とりわけ、認証、自動化、ジェスチャ認識、監視、エクステンデッドリアリティ、コンピュータビジョン等の種々の用途に有用であり得る。いくつかの例では、電子デバイスは、ある環境内の特定のオブジェクトを自動的に検出するように持続的に又は周期的に動作する低電力又は「常時オン(always-on)」(AON)カメラを実装することができる。低電力カメラは、例えば、持続的ジェスチャ検出、持続的オブジェクト(例えば、顔/人、動物、車両、デバイス、飛行機、イベントなど)検出、持続的オブジェクトスキャン(例えば、クイックレスポンス(quick response、QR)コードスキャン、バーコードスキャンなど)、認証のための持続的顔認識などの様々な使用事例のために実装することができる。多くの場合、低電力カメラの撮像、処理、及び/又は実行能力/結果は、制限されることがある。したがって、場合によっては、電子デバイスはまた、より高い撮像、処理、及び/又は実行能力/結果を伴う、高電力カメラを実装してもよく、電子デバイスは、より高い撮像、処理、及び/又は実行能力/結果が所望される、特定の時間及び/又は特定のシナリオにおいて、それを使用してもよい。
【発明の概要】
【0004】
レイテンシを低減するための予測的カメラ初期化のためのシステム及び技術について、本明細書で説明する。少なくとも1つの例によれば、レイテンシを低減するための予測的カメラ初期化の方法が提供される。この方法は、第1の画像キャプチャデバイスから、シーンを描写する画像データを取得することと、画像データに基づいて、シーンを分類することと、シーンの分類に基づいて、カメラ使用イベントを予測することと、予測されたカメラ使用イベントに基づいて、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することと、を含むことができる。
【0005】
少なくとも1つの例によれば、レイテンシを低減するための予測的カメラ初期化のための非一時的コンピュータ可読媒体が提供される。非一時的コンピュータ可読媒体は、命令を含むことができ、命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、第1の画像キャプチャデバイスから、シーンを描写する画像データを取得させ、画像データに基づいて、シーンを分類させ、シーンの分類に基づいて、カメラ使用イベントを予測させ、予測されたカメラ使用イベントに基づいて、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整させる。
【0006】
少なくとも1つの例によれば、レイテンシを低減するための予測的カメラ初期化のための装置が提供される。装置は、メモリと、1つ以上のプロセッサとを含むことができ、1つ以上のプロセッサは、第1の画像キャプチャデバイスから、シーンを描写する画像データを取得し、画像データに基づいて、シーンを分類し、シーンの分類に基づいて、カメラ使用イベントを予測し、予測されたカメラ使用イベントに基づいて、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整する、ように構成される。
【0007】
少なくとも1つの例によれば、レイテンシを低減するための予測的カメラ初期化のための別の装置が提供される。装置は、第1の画像キャプチャデバイスから、シーンを描写する画像データを取得し、画像データに基づいて、シーンを分類し、シーンの分類に基づいて、カメラ使用イベントを予測し、予測されたカメラ使用イベントに基づいて、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整する、ように意味することができる。
【0008】
いくつかの態様では、上述した方法、非一時的コンピュータ可読媒体、及び装置は、第1の画像キャプチャデバイスからの1つ以上の画像に基づいて、露出値及び/又は焦点値を事前収束させることができる。
【0009】
いくつかの態様では、上述した方法、非一時的コンピュータ可読媒体、及び装置は、第1の画像キャプチャデバイスに関連付けられた電子デバイスのロケーションを示すロケーションデータと、電子デバイスに関連付けられた1つ以上のセンサからのセンサデータであって、電子デバイスに関連付けられた動きを示す動き測定値、1つ以上のセンサによってキャプチャされたオーディオデータ、及び電子デバイスの位置を示す位置測定値のうちの少なくとも1つを含むセンサデータと、のうちの少なくとも1つを取得し、画像データと、ロケーションデータ、オーディオデータ、及びセンサデータのうちの少なくとも1つとに基づいて、シーンを分類することができる。
【0010】
いくつかの例では、予測されたカメラ使用イベントは、追加の画像データをキャプチャするために第1の画像キャプチャデバイスに関連付けられた電子デバイスをトリガするように構成されるユーザ入力を含むことができる。
【0011】
いくつかの例では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第2の画像キャプチャデバイスを初期化することを含むことができる。いくつかの例では、第2の画像キャプチャデバイスは、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードに初期化される。
【0012】
いくつかの態様では、上述した方法、非一時的コンピュータ可読媒体、及び装置は、第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードにある第2の画像キャプチャデバイスを使用して、追加の画像データをキャプチャすることができる。いくつかの実例では、電力モードは、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられた解像度よりも高い解像度、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられたフレームレートよりも高いフレームレート、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられた画像センサの数よりも多い数の画像センサ、及び第1の画像キャプチャデバイスに関連付けられた第2の画像センサによってサポートされる異なる電力モードよりも多くの電力を消費する特定の電力モードをサポートする第1の画像センサのうちの少なくとも1つを含む。
【0013】
場合によっては、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスに関連付けられた第2のカメラパイプラインよりも多くの電力を消費する第1のカメラパイプラインに関連付けられている。いくつかの例では、第1のカメラパイプラインは、第2のカメラパイプラインよりも多くの画像処理能力、及び第2のカメラパイプラインよりも高い処理性能を有する1つ以上のハードウェアコンポーネントのうちの少なくとも1つを含む。
【0014】
いくつかの例では、第2の画像キャプチャデバイスを初期化することは、第2の画像キャプチャデバイスの電力モードを増加させることを含む。
【0015】
いくつかの例では、第2の画像キャプチャデバイスを初期化することは、第2の画像キャプチャデバイスの電力モードを増加させることを含む。場合によっては、第2の画像キャプチャデバイスの電力モードを増加させることは、第2の画像キャプチャデバイス及び第2の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させることのうちの少なくとも1つを含む。
【0016】
いくつかの態様では、上述した方法、非一時的コンピュータ可読媒体、及び装置は、第1の画像キャプチャデバイスからの画像データをバッファに記憶することであって、画像データの少なくとも一部分が、第2の画像キャプチャデバイスの初期化中及び第2の画像キャプチャデバイスの初期化が完了する前のうちの少なくとも1つにバッファに記憶される、記憶することと、第2の画像キャプチャデバイスに関連付けられたカメラパイプラインを介して、バッファに記憶された画像データの少なくとも一部分を処理することであって、画像データの少なくとも一部分が、第2の画像キャプチャデバイスが初期化された後に処理される、処理することと、を行うことができる。
【0017】
いくつかの例では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第2の画像キャプチャデバイスのカメラパイプラインに関連付けられたプロセッサ及びカメラパイプラインに関連付けられたメモリのうちの少なくとも1つの周波数を増加させることを含む。
【0018】
場合によっては、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第2の画像キャプチャデバイスに関連付けられたカメラアプリケーションにメモリを事前に割り当てることを含む。
【0019】
いくつかの例では、シーンを分類することは、画像データに関連付けられたイベントを検出することを含む。場合によっては、イベントは、画像データ内に描写されたシーン、第1の画像キャプチャデバイスに関連付けられた電子デバイスの特定の移動、電子デバイスに関連付けられたユーザに対する電子デバイスの位置、画像データ内で検出された群衆、1人以上のユーザに関連付けられたジェスチャ、オブジェクト上に表示されたパターン、及び互いに対する集団の人々の位置のうちの少なくとも1つを含む。
【0020】
いくつかの例では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、シーンに関連付けられたイベントのタイプに基づく、第2の画像キャプチャデバイスの初期化に関連付けられた1つ以上の初期化設定を判定することと、1つ以上の初期化設定に従って第2の画像キャプチャデバイスを初期化することと、を含む。
【0021】
いくつかの態様では、上述した方法、非一時的コンピュータ可読媒体、及び装置は、シーンを分類したことに応じて、満了値に関連付けられたタイマを初期化し、予測されたカメラ使用イベントの発生前にタイマの値が満了値に達したことを判定し、予測されたカメラ使用イベントの発生前にタイマの値が満了値に達したことに基づいて、第2の画像キャプチャデバイスの電力モードを低減させることができる。いくつかの例では、電力モードを低減させることは、第2の画像キャプチャデバイスをオフにすることと、第2の画像キャプチャデバイス及び第2の画像キャプチャデバイスに関連付けられたカメラパイプラインのうちの少なくとも1つに関連付けられた1つ以上の電力設定を低減することとのうちの少なくとも1つを含む。
【0022】
いくつかの例では、第2の画像キャプチャデバイスの電力モードを調整することは、投光照明器、深度センサデバイス、デュアル画像キャプチャデバイスシステム、構造化光システム、飛行時間システム、オーディオアルゴリズム、ロケーションサービス、及び第1の画像キャプチャデバイスに関連付けられたカメラパイプラインとは異なるカメラパイプラインのうちの少なくとも1つをオンにすること又は実装することを含む。
【0023】
いくつかの例では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第1の画像キャプチャデバイスの電力モードを減少させることを含む。場合によっては、第1の画像キャプチャデバイスの電力モードを減少させることは、第1の画像キャプチャデバイス及び第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を減少させることのうちの少なくとも1つを含む。
【0024】
いくつかの例では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第1の画像キャプチャデバイスの電力モードを増加させることを含む。場合によっては、第1の画像キャプチャデバイスの電力モードを増加させることは、第1の画像キャプチャデバイス及び第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させることのうちの少なくとも1つを含む。
【0025】
いくつかの態様では、上述した装置の各々は、モバイル、デバイス、スマートデバイス若しくは接続デバイス、カメラシステム、及び/又はエクステンデッドリアリティ(extended reality、XR)デバイス(例えば、仮想現実(virtual reality、VR)デバイス、拡張現実(augmented reality、AR)デバイス、又は複合現実(mixed reality、MR)デバイス)である、それらの一部であってもよい、又はそれらを含むことができる。いくつかの例では、装置は、車両、モバイルデバイス(例えば、携帯電話又はいわゆる「スマートフォン」又は他のモバイルデバイス)、ウェアラブルデバイス、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバコンピュータ、ロボティクスデバイス又はシステム、航空システム、あるいは他のデバイスを含むか、又はそれらの一部であり得る。いくつかの態様では、装置は、1つ以上の画像をキャプチャするための画像センサ(例えば、カメラ)又は複数の画像センサ(例えば、複数のカメラ)を含む。いくつかの態様では、装置は、1つ以上の画像、通知、及び/又は他の表示可能なデータを表示するための1つ以上のディスプレイを含む。いくつかの態様では、装置は、1つ以上のスピーカ、1つ以上の発光デバイス、及び/又は1つ以上のマイクロフォンを含む。いくつかの態様では、上述した装置は、1つ以上のセンサを含んでもよい。場合によっては、1つ以上のセンサは、装置のロケーション、装置の状態(例えば、追跡状態、動作状態、温度、湿度レベル、及び/又は他の状態)を判定するために、かつ/又は他の目的のために使用することができる。
【0026】
本概要は、特許請求される主題の主要な又は必須の特徴を特定することは意図されず、特許請求される主題の範囲を決定するために独立して使用されることも意図されない。本主題は、この特許の明細書全体、いずれか又はすべての図面、及び各請求項の適切な部分を参照することによって理解されるはずである。
【0027】
上記については、他の特徴及び実施形態と共に、以下の明細書、特許請求の範囲、及び添付図面を参照すると、より明らかになろう。
【0028】
本出願の説明のための例について、以下の図を参照しながら以下で詳細に説明する。
【図面の簡単な説明】
【0029】
【
図1】本開示のいくつかの例による、予測的カメラ初期化を実装することができる電子デバイスの一例を示す図である。
【
図2A】本開示のいくつかの例による、予測的カメラ初期化のための例示的なシステムプロセスを示す図である。
【
図2B】本開示のいくつかの例による、予測的カメラ初期化のための例示的なシステムプロセスを示す図である。
【
図3】本開示のいくつかの例による、予測的カメラ初期化のための例示的なプロセスを示すフローチャートである。
【
図4】本開示のいくつかの例による、特定の刺激に基づいて異なる時間に調整された例示的なカメラ初期化状態を示す図である。
【
図5】本開示のいくつかの例による、異なる予測的カメライベント判定に基づいて実装された異なる初期化状態の一例を示す図である。
【
図6】本開示のいくつかの例による、予測的カメラ初期化のための例示的なプロセスを示すフローチャートである。
【
図7】本開示のいくつかの例による、コンピューティングデバイスアーキテクチャの一例を示す図である。
【発明を実施するための形態】
【0030】
本開示の特定の態様及び実施形態が、以下で提供される。当業者に明らかになるように、これらの態様及び実施形態のうちのいくつかが独立して適用されてもよく、それらのうちのいくつかは組み合わせて適用されてもよい。以下の説明では、説明の目的のために、本出願の実施形態の完全な理解をもたらすために具体的な詳細が記載される。しかしながら、様々な実施形態がこれらの具体的な詳細なしに実践され得ることが明らかとなろう。図及び説明は限定的であることが意図されていない。
【0031】
以下の説明は、例示的な実施形態を提供するにすぎず、本開示の範囲、適用可能性、又は構成を限定することを意図しない。むしろ、例示的な実施形態の以下の説明は、例示的な実施形態を実装することを可能にする説明を当業者に提供する。添付の特許請求の範囲に記載されるような本出願の趣旨及び範囲から逸脱することなく、要素の機能及び構成において様々な変更が加えられてよいことを理解されたい。
【0032】
電子デバイス(例えば、携帯電話、ウェアラブルデバイス(例えば、スマートウォッチ、スマートブレスレット、スマートグラスなど)、タブレットコンピュータ、エクステンデッドリアリティ(XR)デバイス(例えば、仮想現実(VR)デバイス、拡張現実(AR)デバイスなど)、接続デバイス、ラップトップコンピュータなど)は、対象のイベントを検出及び/又は認識するために、カメラを実装することができる。例えば、電子デバイスは、オンデマンドで、継続して、又は周期的になど、対象のイベントを検出及び/又は認識するために、低電力カメラを実装することができる。対象のイベントの例としては、ジェスチャ(例えば、ハンドジェスチャ、笑顔など)、アクション(例えば、デバイス、人、及び/又は動物による)、1つ以上のオブジェクトの存在又は発生などを挙げることができる。対象のイベントに関連付けられたオブジェクトは、例えば、限定はしないが、顔、コード(例えば、クイックレスポンス(QR)コード、バーコードなど)、文書、シーン又は環境、リンク、機械可読コード、群衆などを含むことができる、かつ/又はそれらを指すことができる。低電力カメラは、画像データをキャプチャするため、対象のイベントを検出するためなどに使用される、低電力ハードウェア及び/又はエネルギ効率のよい画像処理ソフトウェア/パイプラインを実装することができる。低電力カメラは、高電力カメラなどの他のデバイスよりも少ないバッテリ電力を使用しながら、シーン内の移動及び/又はオブジェクトを監視してシーン内のイベントを検出するために、オンのままである、又は「ウェイクアップ」することができる。
【0033】
例えば、低電力カメラは、オブジェクトを発見するために、シーン内の移動及び/又はアクティビティを監視することができる。例示すると、XRデバイスは、XRコントローラ及び/又は他の追跡されるオブジェクトを周期的に発見する低電力カメラを実装することができ、携帯電話は、オブジェクト(例えば、コード、文書、顔など)又はイベントを周期的にチェックする低電力カメラを実装することができ、スマートホームアシスタントは、ユーザの存在などを周期的にチェックする低電力カメラを実装することができる。イベント(例えば、オブジェクト、ジェスチャ、アクティビティ、シーンなど)を発見すると、低電力カメラは、例えば、他のアクションの中でも、オブジェクト検出、オブジェクト認識、認証(例えば、顔認証など)、1つ以上の画像処理タスクなどの1つ以上のアクションをトリガすることができる。場合によっては、低電力カメラは、他のカメラ、センサ、処理ハードウェアなどの他のデバイス及び/又はコンポーネントを「ウェイクアップ」することができる。
【0034】
いくつかの例では、低電力カメラ(「常時オン」(AON)カメラと呼ばれることもある)は、環境内の特定のオブジェクト/イベントを自動的に検出するように持続的に又は周期的に動作することができる。さらに、低電力カメラは、高電力又は「メイン」カメラよりも少ない量の電力及び計算リソースを消費するように構成することができる。例えば、低電力カメラパイプラインは、より低い/低減された解像度、低電力画像センサ、低電力メモリリソース(例えば、ダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM)とは対照的なオンチップスタティックランダムアクセスメモリ(static random-access memory、SRAM)など)、リークを低減するためのアイランド電圧レール、(例えば、位相ロックループとは対照的な)クロックソースのためのリング発振器、低電力物理インターフェース、低電力画像処理動作などを用いて、高電力又は「メイン」カメラパイプラインと比較して電力消費が制限/低減された持続的又は周期的撮像を可能にすることができる。場合によっては、電力消費及び/又はリソース利用をさらに低減するために、低電力カメラパイプラインは、特定の動作(例えば、ノイズ低減、画像ワーピング、画像強調など)を実装しないことがあり、特定のタイプのデータ(例えば、モノ/輝度データとは対照的なカラー画像データ)を処理しないことがあり、特定のハードウェア(例えば、ダウンスケーラ、色変換器、レンズ収差補正ハードウェア、デジタル信号プロセッサ、ニューラルプロセッサ、ニューラルネットワークアクセラレータ、モバイル業界プロセッサインターフェース(mobile industry processor interface、MIPI)カメラシリアルインターフェース(camera serial interface、CSI)などの高電力物理インターフェース、特定のコンピュータビジョンブロックなど)を採用しないことがある。
【0035】
一般に、低電力カメラの撮像、処理、及び/又は実行能力及び結果は、高電力カメラのものよりも低い可能性がある。例えば、低電力カメラは、高電力カメラよりも低品質の画像/ビデオを生成することがあり、かつ/又は高電力カメラよりも限定された特徴及び/又は効果を提供することがある。したがって、場合によっては、低電力カメラを実装することに加えて、電子デバイスはまた、低電力カメラよりも高い撮像、処理、及び/又は実行能力/結果をサポートする高電力カメラを実装することもできる。いくつかの例では、電子デバイスは、より高い撮像、処理、及び/又は実行能力/結果が所望される特定の時間及び/又は特定のシナリオにおいて、そのような高電力カメラを使用することができる。
【0036】
多くの場合、ユーザが画像、ビデオ、又はプレビューを取得しようと試みるときに、高電力カメラ及び/又は高電力カメラに関連付けられたカメラアプリケーションができるだけ早く利用可能であることが望ましい場合がある。しかしながら、高電力カメラを初期化状態(例えば、準備完了状態、電源オン状態など)に維持することは、かなりの量の電力及び計算リソースを消費する。電力消費及びリソース利用を低減するために、高電力カメラは、一般に、オフ状態又は初期化解除状態に維持される。これにより、ユーザが高電力カメラ及び/又はカメラアプリケーションを使用しようと試みるときに、高電力カメラ及び/又はカメラアプリケーションの利用可能性及び初期動作を遅延させることがある。例えば、高電力カメラの初期化は、カメラアプリケーションのためのメモリの割り当て、高電力カメラの画像センサの電源オン/投入、高電力カメラ及び/又は高電力カメラのカメラパイプラインに関連付けられた様々なハードウェアブロックの電源オン/投入、露出値及び/又は焦点値の収束などのために、特定の量の時間を要する可能性がある。これらのプロセスは、カメラの初期化/スタートアップのレイテンシ及び対象の画像/動画を直ちにキャプチャできないことに対するユーザの苛立ちをもたらす。場合によっては、これらのプロセスにより、つかの間のイベントをキャプチャしようと試みるときに機会を逃すことさえあり得る。
【0037】
レイテンシを低減するための予測的カメラ初期化のためのシステム、装置、方法(プロセスとも呼ばれる)、及びコンピュータ可読媒体(本明細書では「システム及び技術」と総称される)について、本明細書で説明する。いくつかの例では、本明細書で説明するシステム及び技術は、高電力カメラ及び/又はカメラアプリケーションを使用するための予測されたユーザ試行/入力などの、推定/予想される高電力カメラ使用イベントの前に、高電力カメラを予測的に初期化する予測エンジンを実装することができる。いくつかの例では、予測エンジンは、低電力カメラによって少なくとも部分的に観察され、かつ画像/ビデオをキャプチャするユーザ試行(例えば、ユーザ入力)前にしばしば発生することが知られている及び/又は推定されるシーン、状態、及び/又はアクティビティなどの将来の/切迫したカメラ使用イベントを示すと推定される、特定のイベント/刺激に基づいて、高電力カメラの初期化をトリガすることができる。
【0038】
例えば、場合によっては、低電力カメラは、集まっている及び/又は笑顔である集団の人々を観察することができる。予測器に関連付けられた分類器は、低電力カメラによってキャプチャされた画像データを使用して、ユーザが集団の画像/ビデオをキャプチャするために高電力カメラを起動し得る可能性を判定することができる。別の例として、低電力カメラは、一般的に撮影されるシーン(例えば、日没、ビーチ、動物、ランドマークなど)又はイベント(例えば、コンサート、ユーザアクティビティ、ジェスチャ(例えば、カメラスナップ、水平線に対する電子デバイスの姿勢、電子デバイスに対する1人以上のユーザの姿勢、ハンドジェスチャなど)、ゲーム、結婚式など)を示す画像を分類器に出力することができる。次いで、予測器は、分類器からの予測出力に基づいて、高電力カメラの初期化をトリガすることができる。場合によっては、高電力カメラの初期化をトリガするという予測器の決定は、例えば、他のセンサデータ(例えば、慣性センサデータ、オーディオデータなど)、全地球航法衛星システム(global navigation satellite system、GNSS)又は全地球測位システム(global positioning system、GPS)データなどの、他のデータにさらに基づくことができる。
【0039】
場合によっては、予測器は、低出力カメラからのデータを使用して、高電力カメラの初期化に利用可能な/利用される時間の長さを判定することもできる。例えば、予測器が、集団の人々が集団画像を撮影する準備をしている可能性が高いと判定した場合、予測器は、集団が集合するのに(例えば、別の画像イベントと比較して)より長い時間がかかり得るので、集団画像の前に(例えば、スポーツ画像又は自撮りなどの別の画像イベントと比較して)より多くの時間が高電力カメラを初期化するために利用可能であり得ると判定することができる。予測器は、追加の時間が、画像を最適化するためのより長い露出及び/又は焦点収束を可能にすることができると判定し得る。追加の時間に基づいて、予測器は、自動露出値及び/又は焦点値を収束又は事前収束させるために、低電力カメラ又は高電力カメラに関連付けられたカメラパイプラインをトリガすることができる。
【0040】
いくつかの例では、予測器は、低電力カメラからのデータに基づいて、それがトリガする初期化ステップ及び/又はカメラプロセスを判定することができる。例えば、予測器は、低電力カメラからのデータが日没をキャプチャしているとき、高ダイナミックレンジ(high-dynamic range、HDR)モード露出制御をトリガし、低電力カメラからのデータが日没をキャプチャしていないとき、非HDRモードをトリガすることができる。別の例として、予測器は、データがクイックレスポンス(QR)コードをキャプチャしているときよりも、低電力カメラからのデータがユーザの笑顔をキャプチャしているときに、より大きいバッファを割り当てることができる。場合によっては、高電力カメラの初期化をトリガすることに加えて、予測器は、低電力カメラパイプラインをトリガして、低電力カメラからの生データを、高電力カメラが初期化されると高電力カメラが処理するために、バッファに記憶することができる。いくつかの例では、生データは、高電力カメラが初期化されている間に低電力カメラによってキャプチャされたデータを含むことができる。いくつかの例では、高電力カメラは、ゼロシャッターラグ(zero shutter lag、ZSL)を達成するためにバッファ内の生データを使用することができ、その場合、バッファは、ZSLバッファとして働くことができる。
【0041】
場合によっては、予測器は、高電力カメラが初期化されたままでいる時間、並びに高電力カメラによる電力及びリソース消費の量を低減するために、特定の基準を使用して、いつ高電力カメラを初期化解除するか、及び/又は高電力カメラの初期化を制限するかを判定することができる。例えば、予測器は、予め設定された期間の後、画像/ビデオがその期間内に高電力カメラによってキャプチャされていない場合、高電力カメラを初期化解除することができる。別の例として、予測器は、事前設定された期間内に許容される初期化の最大数を設定し、事前設定された期間内に初期化の最大数に到達した場合、新しい高電力カメラの初期化をスキップすることができる。
【0042】
本明細書で説明するシステム及び技術は、最小限の又は低減されたレイテンシの、画像信号プロセッサなどのより少ない数の処理デバイスへのチャネルセンサフィードを有する異なるカメラセンサをインテリジェントに電源投入/電源切断するために、様々な電子デバイスに対して実装することができる。例えば、本明細書で説明するシステム及び技術は、モバイルコンピューティングデバイス(例えば、スマートフォン、タブレット、ラップトップ、カメラなど)、スマートウェアラブルデバイス(例えば、ヘッドマウントディスプレイ、エクステンデッドリアリティ(例えば、仮想現実、拡張現実など)グラスなど)、接続デバイス若しくはモノのインターネット(Internet-of-Things、IoT)デバイス(例えば、スマートテレビ、スマートセキュリティカメラ、スマート家電等)、自律ロボットデバイス、自律運転システム、及び/又はカメラハードウェアを有する任意の他のデバイスに対して実装することができる。
【0043】
電子デバイス(及び/又は電子デバイス上の低電力カメラ)は、様々なタイプのイベントを監視する(かつ、そのために本明細書で説明するシステム及び技術を実装する)ことができる。検出イベントの非限定的な例としては、顔検出、シーン検出(例えば、日没、文書スキャン、ランドマークなど)、人物集団検出、動物/ペット検出、パターン検出(例えば、QRコード(登録商標)、バーコードなど)、テキスト検出、オブジェクト検出、ジェスチャ検出(例えば、笑顔検出、感情検出、手振りなど)、姿勢検出などを挙げることができる。
【0044】
適用例の様々な態様が、図に関して説明される。
【0045】
図1は、本明細書で説明する予測的カメラ初期化(例えば、カメラ事前初期化)及び他の技術を実装することができる電子デバイス100の一例を示す図である。いくつかの例では、電子デバイス100は、例えば、撮像機能、エクステンデッドリアリティ(XR)機能(例えば、位置特定/追跡、検出、分類、マッピング、コンテンツレンダリングなど)、ビデオ機能、画像処理機能、デバイス管理及び/又は制御機能、ゲーム機能、自律運転又はナビゲーション機能、コンピュータビジョン機能、ロボット機能、自動化、コンピュータビジョン、電子通信機能(例えば、オーディオ/ビデオ通話、電子メッセージングなど)、ウェブブラウジング機能などの1つ以上の機能を提供するように構成される電子デバイスを含むことができる。
【0046】
例えば、場合によっては、電子デバイス100は、XR機能を提供し、かつ予測的カメラ初期化を実行するように構成されるXRデバイス(例えば、ヘッドマウントディスプレイ、ヘッドアップディスプレイデバイス、スマートグラスなど)であってもよい。場合によっては、電子デバイス100は、例えば、限定はしないが、XRアプリケーション、カメラアプリケーション、電子デバイス100のコンポーネント及び/又は動作を管理及び/又は制御するためのアプリケーション、スマートホームアプリケーション、ビデオゲームアプリケーション、デバイス制御アプリケーション、自律運転アプリケーション、ナビゲーションアプリケーション、生産性アプリケーション、ソーシャルメディアアプリケーション、通信アプリケーション、モデリングアプリケーション、メディアアプリケーション、電子商取引アプリケーション、ブラウザアプリケーション、設計アプリケーション、地図アプリケーション、及び/又は任意の他のアプリケーションなどの1つ以上のアプリケーションを実装することができる。別の例として、電子デバイス100は、本明細書で説明するような予測的カメラ初期化を実行するように構成されるスマートフォンであってもよい。
【0047】
図1に示す例示的な例では、電子デバイス100は、画像センサ102及び画像センサ104などの1つ以上の画像センサと、オーディオセンサ106(例えば、超音波センサ、マイクロフォンなど)と、慣性計測ユニット(inertial measurement unit、IMU)108と、1つ以上の計算コンポーネント110と、を含むことができる。場合によっては、電子デバイス100は、任意選択的に、例えば、限定はしないが、レーダー、光検出及び測距(light detection and ranging、LIDAR)センサ、タッチセンサ、圧力センサ(例えば、気圧センサ及び/又は任意の他の圧力センサ)、ジャイロスコープ、加速度計、磁力計、及び/又は任意の他のセンサなどの1つ以上の他の/追加のセンサを含むことができる。いくつかの例では、電子デバイス100は、例えば、発光ダイオード(light-emitting diode、LED)デバイス、記憶デバイス、キャッシュ、GNSS/GPS受信機、通信インターフェース、ディスプレイ、メモリデバイスなどの追加のコンポーネントを含むことができる。電子デバイス100によって実装することができる例示的なアーキテクチャ及び例示的なハードウェアコンポーネントは、
図7に関して以下でさらに説明する。
【0048】
電子デバイス100は、単一のコンピューティングデバイス又は複数のコンピューティングデバイスの一部であってもよい、又はそれらによって実装することができる。いくつかの例では、電子デバイス100は、カメラシステム(例えば、デジタルカメラ、IPカメラ、ビデオカメラ、セキュリティカメラなど)、電話システム(例えば、スマートフォン、携帯電話、会議システムなど)、ラップトップ若しくはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、スマートテレビ、ディスプレイデバイス、ゲームコンソール、HMDなどのXRデバイス、ドローン、車両内コンピュータ、IoT(モノのインターネット)デバイス、スマートウェアラブルデバイス、又は任意の他の好適な電子デバイス(単数又は複数)などの電子デバイス(単数又は複数)の一部であってもよい。
【0049】
いくつかの実装形態では、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は1つ以上の計算コンポーネント110は、同じコンピューティングデバイスの一部であってもよい。例えば、場合によっては、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は1つ以上の計算コンポーネント110は、カメラシステム、スマートフォン、ラップトップ、タブレットコンピュータ、スマートウェアラブルデバイス、HMDなどのXRデバイス、IoTデバイス、ゲームシステム、及び/又は任意の他のコンピューティングデバイスと、又はそれらに統合することができる。他の実装形態では、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は1つ以上の計算コンポーネント110は、2つ以上の別個のコンピューティングデバイスの一部であってもよい、又はそれらによって実装することができる。
【0050】
電子デバイス100の1つ以上の計算コンポーネント110は、例えば、限定はしないが、中央処理ユニット(central processing unit、CPU)112、グラフィックス処理ユニット(graphics processing unit、GPU)114、デジタル信号プロセッサ(digital signal processor、DSP)116、及び/又は画像信号プロセッサ(image signal processor、ISP)118を含むことができる。いくつかの例では、電子デバイス100は、例えば、コンピュータビジョン(computer vision、CV)プロセッサ、ニューラルネットワークプロセッサ(neural network processor、NNP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)などの他のプロセッサを含むことができる。電子デイス100は、1つ以上の計算コンポーネント110を使用して、例えば、エクステンデッドリアリティ動作(例えば、追跡、位置特定、オブジェクト検出、分類、姿勢推定、マッピング、コンテンツアンカリング、コンテンツレンダリングなど)、デバイス制御動作、画像/ビデオ処理、グラフィックスレンダリング、機械学習、データ処理、モデリング、計算、コンピュータビジョン、メッセージング、及び/又は任意の他の動作などの様々な計算動作を実行することができる。
【0051】
場合によっては、1つ以上の計算コンポーネント110は、本明細書で説明する様々な動作のいずれかを実行するための、他の電子回路若しくはハードウェア、コンピュータソフトウェア、ファームウェア、又はそれらの任意の組み合わせを含むことができる。いくつかの例では、1つ以上の計算コンポーネント110は、
図1に示す計算コンポーネントよりも多い又は少ない計算コンポーネントを含むことができる。さらに、CPU112、GPU114、DSP116、及びISP118は、説明目的のために提供された計算コンポーネントの単なる例示的な例である。
【0052】
画像センサ102及び/又は画像センサ104は、デジタルカメラセンサ、ビデオカメラセンサ、スマートフォンカメラセンサ、テレビ又はコンピュータなどの電子装置上の画像/ビデオキャプチャデバイス、カメラなどの任意の画像及び/若しくはビデオセンサ又はキャプチャデバイスを含むことができる。場合によっては、画像センサ102及び画像センサ104は、デジタルカメラ、ビデオカメラ、IPカメラ、スマートフォン、スマートテレビ、ゲームシステムなどのカメラ又はコンピューティングデバイスの一部であってもよい。さらに、場合によっては、画像センサ102及び画像センサ104は、後方及び前方センサデバイスなどの複数の画像センサを含むことができ、デュアルカメラ又は他のマルチカメラアセンブリ(例えば、2つのカメラ、3つのカメラ、4つのカメラ、又は他の数のカメラを含む)の一部であってもよい。
【0053】
いくつかの例では、画像センサ102は、低電力カメラ又は「常時オン」カメラを含むことができる、又はその一部であってもよく、画像センサ104は、高電力カメラ又は「メイン」カメラを含むことができる、又はその一部であってもよい。いくつかの例では、低電力カメラは、イベント、プロセスキャプチャされた画像データなどを検出するために、低電力ハードウェア及び/又は(高電力カメラよりも)よりエネルギ効率のよい画像処理ソフトウェアを実装することができる。場合によっては、低電力カメラは、例えば、より低いフレームレート、より低い解像度、より少ない数の画像センサ、低電力モード、低電力カメラパイプライン(ソフトウェア及び/又はハードウェアを含む)などの、高電力カメラ(例えば、画像センサ104)よりも低い電力設定及び/又はモードを実装することができる。いくつかの例では、低電力カメラは、高電力カメラよりも少ない及び/又は低電力の画像センサを実装することができ、ダイナミックランダムアクセスメモリ(DRAM)ではなくオンチップスタティックランダムアクセスメモリ(SRAM)などの低電力メモリを使用することができ、リークを低減するためにアイランド電圧レールを使用することができ、クロックソースとして位相ロックループ(phased-locked loops、PLL)ではなくリング発振器、及び/又は他の低電力処理ハードウェア/コンポーネントを使用することができる。いくつかの例では、低電力カメラは、高電力及び/又は複雑度のセンサ技術(例えば、位相検出オートフォーカス、デュアルフォトダイオード(dual photodiode、2PD)ピクセル、赤-緑-青-クリア(red-green-blue-clear、RGBC)色感知など)及び/又はデータを扱わないことがある(例えば、フルカラー画像データではなくモノ/輝度データ)。
【0054】
場合によっては、低電力カメラは、高電力/解像度カメラなどの他のデバイスよりも少ないバッテリ電力を使用しながら、シーン内の移動及び/若しくはイベントを監視するために、並びに/又はシーン内のイベントを検出するために、オンのままである、又は「ウェイクアップ」することができる。例えば、低電力カメラは、シーン内のオブジェクトを発見するために、シーン内の移動及び/又はアクティビティを観察するために、持続的に観察する又はウェイクアップすることができる。場合によっては、イベントを発見すると、低電力カメラは、例えば、他のアクションの中でもとりわけ、オブジェクト検出、オブジェクト認識、顔認証、画像処理タスクなどの1つ以上のアクションをトリガすることができる。場合によっては、低電力カメラは、他のセンサ、処理ハードウェアなどの他のデバイスを「ウェイクアップ」することもできる。
【0055】
いくつかの例では、各画像センサ(例えば、画像センサ102、画像センサ104)は、画像データをキャプチャし、画像データに基づいてフレームを生成し、かつ/又は画像データ若しくはフレームを、処理するために1つ以上の計算コンポーネント110に提供することができる。フレームは、ビデオシーケンスのビデオフレーム又は静止画像を含むことができる。フレームは、シーンを表すピクセルアレイを含むことができる。例えば、フレームは、ピクセルごとに赤、緑、及び青の色成分を有する赤-緑-青(RGB)フレーム、ピクセルごとに1つの輝度成分及び2つの色差(色)成分(赤の色差及び青の色差)を有する、輝度、赤の色差、青の色差(YCbCr)フレーム、又は任意の他の適切なタイプのカラー又はモノクロ画像、であり得る。
【0056】
いくつかの例では、1つ以上の計算コンポーネント110は、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、並びに/又は任意の他のセンサ及び/若しくはコンポーネントからのデータを使用して、画像/ビデオ処理、予測的カメラ初期化、XR処理、デバイス管理/制御、及び/又は本明細書で説明する他の動作を実行することができる。例えば、場合によっては、1つ以上の計算コンポーネント110は、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は任意の他のコンポーネントからのデータに基づいて、予測的カメラ初期化、デバイス制御/管理、追跡、位置特定、オブジェクト検出、オブジェクト分類、姿勢推定、形状推定、シーンマッピング、コンテンツアンカリング、コンテンツレンダリング、画像処理、モデリング、コンテンツ生成、ジェスチャ検出、ジェスチャ認識、及び/又は他の動作を実行することができる。
【0057】
いくつかの例では、1つ以上の計算コンポーネント110は、例えば、本明細書で説明する予測器120などの1つ以上のソフトウェアエンジン及び/又はアルゴリズムを実装することができる。場合によっては、1つ以上の計算コンポーネント110は、機械学習モデル(単数又は複数)、コンピュータビジョンアルゴリズム(単数又は複数)、ニューラルネットワーク(単数又は複数)、並びに/又は任意の他のアルゴリズム及び/若しくはコンポーネントなどの1つ以上の追加のコンポーネント及び/若しくはアルゴリズムを実装することができる。例えば、場合によっては、1つ以上の計算コンポーネント110によって実装される予測器120は、機械学習エンジン122を実装することができる。
【0058】
いくつかの例では、予測器120は、画像センサ102、並びに任意選択的にオーディオセンサ106、IMU108、及び/又は任意の他のコンポーネントからのセンサデータに基づいて、カメライベント(例えば、画像/ビデオをキャプチャするためのユーザ入力、カメラアプリケーションを使用するためのユーザ入力、カメラプレビューをトリガするためのユーザ入力など)を予測することができる。次いで、予測器120は、予測されたカメライベントが発生する前に、高電力カメラ(例えば、画像センサ104)及び/又は高電力カメラパイプラインの予測的初期化(例えば、事前初期化)をトリガすることができる。いくつかの例では、予測的カメラ初期化は、画像/ビデオをキャプチャし、かつ/又はカメラアプリケーション/プレビューにアクセスするためのユーザ入力の時間と、画像/ビデオのキャプチャ及び/又はカメラアプリケーション/プレビューのアクセスとの間のレイテンシ/遅延を低減することができる。
【0059】
場合によっては、予測器120は、カメライベントを予測したことに応じて、いくつかの予測的初期化ステップをトリガすることができる。例えば、予測器120は、カメラ初期化及び/又はカメラパイプラインのレイテンシを低減するために、CPU(例えば、CPU 112)及び/又はメモリをより高い周波数にバーストすることができる。別の例として、予測器120は、カメラアプリケーションのためにメモリを事前に割り当てる、露出値及び/又は焦点値などを事前収束させるために画像センサ102による低解像度データキャプチャをトリガする、などができる。場合によっては、予測器120は、画像センサ104、並びに/又は、例えば、限定はしないが、高電力物理インターフェース(例えば、MIPI CSIなど)、クロックを生成するためのPLL、オンチップインフラストラクチャ、ダウンスケーラ、色変換器、DSP(例えば、DSP116)、ISP(例えば、ISP118)、ニューラルネットワークアクセラレータ、ニューラルプロセッサ、コンピュータビジョン(例えば、特徴抽出、特徴記述、オブジェクト検出、認識など)、画像ワーピング、ノイズ低減、PDAF、2PDピクセル、RGBC色感知、HDRなどのための1つ以上のブロックなどのカメラ処理のための特定のハードウェア及び/若しくはソフトウェアブロックの電源をオンにすることができる。場合によっては、予測器120は、例えば、限定はしないが、解像度の増加/減少、フレームレートの増加/減少、バッファサイズ事前割り当ての増加/減少、より多くの/より少ない画像センサの起動、電力モードの増加/減少などの予測的初期化の一部としての1つ以上の設定を調整することができる。
【0060】
場合によっては、予測器120は、低電力カメラデバイス(例えば、画像センサ102)などのカメラデバイスによって取得された1つ以上のフレームから視覚的特徴を抽出/検出することができる。いくつかの例では、予測器120は、例えば、限定はしないが、スケール不変特徴変換(scale-invariant feature transform、SIFT)、高速化ロバスト特徴(speeded up robust features、SURF)、Oriented FAST and rotated BRIEF(ORB)、及び/又は任意の他の検出器/アルゴリズムなどの、視覚的特徴を抽出するための検出器及び/又はアルゴリズムを実装することができる。
【0061】
場合によっては、予測器120は、カメライベントを予測するために使用される機械学習分類を生成するために、機械学習エンジン122を実装することができる。機械学習エンジン122は、画像センサ102、オーディオセンサ106、IMU108、及び/又はGNSS/GPS受信機、レーダー、無線インターフェースなどの1つ以上の他のコンポーネントからのデータに基づいて、分類を生成することができる。予測器120は、機械学習エンジン122からの出力を使用して、カメライベントを予測することができる。例えば、予測器120は、慣性感知データの正例及び負例に対して訓練された機械学習分類器(例えば、機械学習エンジン122)の出力に基づいて、電子デバイス100がユーザによって持ち上げられたことを示す(ユーザが電子デバイス100を使用して画像/ビデオをキャプチャし得ることを示唆することができる)(例えば、IMU108からの)慣性センサデータを使用することができる。いくつかの例では、予測器120は、慣性感知データの正例及び負例に対して訓練された機械学習分類器(例えば、機械学習エンジン122)の出力に基づいて、写真/ビデオを撮影するときに一般的に使用される動き/位置で電子デバイス100が保持されていることを示す(例えば、IMU108からの)慣性センサデータを使用することができる。
【0062】
いくつかの例では、予測器120は、オーディオセンサデータの正例及び負例に対して訓練された機械学習分類器(例えば、機械学習エンジン122)の出力に基づいて、電子デバイス100が混雑したエリア(例えば、コンサート、スポーツイベント、パーティ、演劇、結婚式など)にあることを示す、又は画像/ビデオを撮影することに関連付けられた発話を示す、(例えば、オーディオセンサ106からの)オーディオセンサデータを使用することができる。他の例では、予測器120は、ローケーションタグ付き写真のセットに基づいて、電子デバイス100が一般的に撮影されるエリア(例えば、ランドマーク、ステージなど)にあることを示すGNSS/ロケーションデータを使用することができる。
【0063】
場合によっては、予測器120は、カメラデータ(例えば、画像)の正例及び負例に対して訓練された機械学習分類器(例えば、機械学習エンジン122)の出力に基づいて、低電力カメラ(例えば、画像センサ102)からのカメラデータを使用することができる。いくつかの例では、カメラデータは、集団の人々が集まっていること(例えば、集団写真の準備をしているかのように)、ユーザ又は集団の人々が笑っている又はポーズをとっていること(例えば、写真のためにポーズをとっているかのように)、一般的に撮影されるシーン(例えば、日没、ビーチ、動物、ランドマーク、風景など)の存在、一般的にスキャンされるパターン(例えば、QRコード)の存在、ジェスチャ(例えば、手を振ること、指を差すことなど)の存在、一般的に撮影されるアクティビティ(例えば、スポーツ競技、ショー、芝居など)が行われていることなどを示すことができる。場合によっては、予測器120は、カメラデータ、オーディオセンサデータ、GNSS/ロケーションデータ、慣性センサデータなどの任意の組み合わせを使用することができる。
【0064】
場合によっては、予測器120は、カメラデバイス(例えば、画像センサ102、画像センサ104)の使用を追跡し、カメライベントを予測するときにカメラ使用統計を使用することができる。例えば、カメラ使用統計が、電子デバイス100のユーザが天体写真画像をキャプチャするために電子デバイス100の画像センサ104を望遠鏡に接続することが多いことを示す場合、予測器120は、そのようなカメラ使用統計を使用して、電子デバイス100が望遠鏡の近くにある、又は望遠鏡に接続されている/接続していることを画像センサ102からの画像データが示すときに、画像センサ104の使用を予測することができる。別の例として、オーディオセンサデータが、電子デバイス100が雑音の多いエリアにあることが多いことを示し、カメラ使用統計が、特定のタイプの雑音の存在下でユーザが画像/ビデオをキャプチャすることが多いことを示す場合、予測器120は、カメラ使用統計を使用して、電子デバイス100がそれらのタイプの雑音の周囲にあることをオーディオセンサデータが示すときには画像センサ104の使用を予測することができ、電子デバイス100が他のタイプの雑音の周囲にあることをオーディオセンサデータが示すときには、そのように予測しないことができる。
【0065】
いくつかの例では、予測器120は、様々なタイプのイベントを監視して、カメライベントを予測することができる。イベントの非限定的な例としては、とりわけ、顔検出、シーン検出(例えば、日没、部屋、ランドマーク、風景、コンサートなど)、人物集団検出、動物/ペット検出、パターン(例えば、QRコードなど)検出、文書検出、テキスト検出、オブジェクト検出、ジェスチャ検出(例えば、笑顔検出、感情検出、手振りなど)、姿勢検出、ノイズ検出、ロケーション検出、動き検出、アクティビティ検出を挙げることができる。
【0066】
電子デバイス100に関して
図1に示すコンポーネントは、説明の目的で提供される例示的な例である。他の例では、電子デバイス100は、
図1に示すコンポーネントよりも多い又は少ないコンポーネントを含むことができる。電子デバイス100は、特定のコンポーネントを含むものとして示されているが、電子デバイス100は、
図1に示すものよりも多い又は少ないコンポーネントを含むことができることを当業者は理解されよう。例えば、電子デバイス100は、いくつかの例では、1つ以上のメモリデバイス(例えば、RAM、ROM、キャッシュなど)、1つ以上のネットワーキングインターフェース(例えば、有線及び/又は無線通信インターフェースなど)、1つ以上のディスプレイデバイス、キャッシュ、記憶デバイス、及び/又は
図1に示されていない他のハードウェア若しくは処理デバイスを含むことができる。電子デバイス100によって実装することができるコンピューティングデバイス及びハードウェアコンポーネントの例示的な例については、
図7に関して以下で説明する。
【0067】
図2Aは、予測的カメラ初期化のための例示的なシステムプロセス200を示す図である。この例では、画像センサ102は低電力カメラを表す。画像センサ102は、シーンの画像データをキャプチャし、キャプチャされた画像データを含むセンサデータ220を処理のために低電力カメラパイプライン202に提供する。低電力カメラパイプライン202は、画像センサ102によってキャプチャされた画像データを含むセンサデータ220を処理するために使用される画像処理動作及び/又はハードウェアを含むことができる。この例では、低電力カメラパイプライン202は画像センサ102を含む。
【0068】
いくつかの例では、低電力カメラパイプライン202は、前処理(例えば、画像サイズ変更、ノイズ除去、セグメンテーション、エッジの平滑化、色補正/変換、デベイヤー処理、スケーリング、ガンマ補正など)を含む。場合によっては、低電力カメラパイプライン202は、1つ以上の画像後処理動作を含むことができる。いくつかの例では、低電力カメラパイプライン202は、例えば、より低い/低減された解像度、より低い/低減されたフレームレート、低電力センサ、オンチップSRAM(例えば、DRAMではなく)、アイランド電圧レール、クロックソースのためのリング発振器(例えば、PLLではなく)、より少ない/低減された数の画像センサなどの、低電力ハードウェア、設定、及び/又は処理を、起動する/含むことができる。
【0069】
低電力カメラパイプライン202は、処理されたセンサデータ(例えば、センサデータ220からの処理された画像データ)を予測器120に出力することができる。予測器120は、低電力カメラパイプライン202からのセンサデータを使用して、センサデータ(例えば、画像センサ102からのセンサデータ220内の画像データ)内でキャプチャされ検出されたイベントに基づいて、カメライベントを予測することができる。いくつかの例では、予測器120はまた、任意選択的に、非カメラセンサ204からのセンサデータ222を使用して、カメライベントを予測することができる。非カメラセンサ204は、例えば、オーディオセンサ(例えば、オーディオセンサ106)、IMU(例えば、IMU108)、GNSS/GPS受信機、及び/又は任意の他のセンサ(例えば、レーダー、LIDAR、圧力センサなど)などの1つ以上のセンサ/デバイスを含む、又は表すことができる。センサデータ222は、慣性センサ測定値(例えば、加速度、速度、角速度、向き、進行方向など)、音響データ(例えば、雑音/音、スピーチ、発話、声、トーン、ピッチ、音レベル、雑音/音のパターン、超音波、超低周波音など)、ロケーション測定値、高度測定値、距離測定値、任意の他のセンサデータ、及び/又はそれらの任意の組合せを含むことができる。
【0070】
センサデータ(例えば、センサデータ220及び/又はセンサデータ222)においてキャプチャされたイベントは、例えば、限定はしないが、他のイベント(例えば、検出/測定されたオブジェクト、アクティビティ、移動など)の中でも、画像内で検出されたオブジェクト、画像内で検出された顔、画像内で検出されたシーン(例えば、日没、部屋、ランドマーク、風景、コンサートなど)、画像内で検出された集団の人々、画像内で検出された動物、画像内で検出されたパターン(例えば、QRコードなど)、画像内で検出された文書、画像内で検出されたテキスト、画像内で検出されたジェスチャ(例えば、笑顔検出、感情検出、手振りなど)、画像内で検出された姿勢、オーディオセンサデータにおいてキャプチャされた音響データ(例えば、雑音/音、発話又はスピーチ、音/雑音のパターン、声、トーン、ピッチ、特定の超音波、特定の超低周波音、音レベルなど)、測定されたロケーション、動き検出、アクティビティ検出を含むことができる。
【0071】
予測器120によって予測されているカメライベントは、高電力カメラ(例えば、画像センサ104)及び/又はカメラアプリケーションとのユーザ対話及び/又はそれらの使用に関連付けられた1つ以上のイベントを含むことができる。例えば、予測されているカメライベントは、ユーザがプレビューを取得しかつ/又は画像/ビデオをキャプチャすることができるカメラアプリケーションを開くためのユーザ入力、キャプチャ、画像/ビデオをトリガするためのユーザ入力、画像/ビデオのキャプチャをトリガするために電子デバイス100上でユーザによって押下されるホットキー又はショートカットなどを含むことができる。例えば、カメライベントの予測は、電子デバイス100のユーザが(例えば、画像センサ104をトリガするカメラアプリケーションを介して、又は画像/ビデオをキャプチャするために画像センサ104をトリガするホットキー若しくはショートカットの選択/アクティブ化を介して)写真/ビデオを撮影するために電子デバイス100を使用しようとしていること、又はプレビューフィードを閲覧しかつ/若しくは画像センサ104をトリガするためにカメラアプリケーションを開こうとしていることを予測することを含むことができる。
【0072】
予測器120は、センサデータ(例えば、センサデータ220、センサデータ222)においてキャプチャされたイベントを検出し、検出されたイベントが、カメライベント(単数又は複数)の前に(直前に、前の閾値期間内に、前のいくつかのイベント/アクション内になど)一般的に観察されるかどうか(例えば、検出されたイベントが、少なくとも閾値頻度でカメライベントをもたらした若しくはそれに先行した、検出されたイベントが、カメライベントをもたらす若しくはそれに先行する閾値尤度を有すると推定される、及び/又は検出されたイベントが、カメライベントを以前にもたらした若しくはそれに先行した閾値数の発生を有する)、及び/又は検出されたイベントが、カメライベントが検出されたイベントに続く可能性が高い(例えば、閾値尤度内)(例えば、検出されたイベントの直後、検出されたイベントの後のある期間内、検出されたイベントの後のいくつかのイベント/アクション内など)ことを示すかどうかを判定することができる。いくつかの例では、予測器120は、検出されたイベント及びイベント事前確率、イベント統計(検出されたイベント統計、カメライベント統計、検出されたイベント及びカメライベントの統計的相関/因果関係など)、カメライベント予測をトリガするために選択された検出されたイベントの1つ以上の選好及び/若しくは構成を提供するユーザ入力(単数又は複数)、予測モデル、カメラ使用分析、並びに/又はそれらの任意の組合せに基づいて、カメライベントを予測することができる。
【0073】
場合によっては、予測器120は、センサデータ(例えば、センサデータ220、センサデータ222)に基づいてカメライベントを予測するために、機械学習分類器(例えば、機械学習エンジン122)を実装することができる。いくつかの例では、機械学習分類器は、例えば、画像センサデータ、慣性センサデータ、オーディオセンサデータ、GNSS/GPS/ロケーションデータ、他のセンサデータ、及び/又はそれらの任意の組合せなどのセンサデータの正例及び負例に対して訓練することができる。
【0074】
予測器120が、検出されたイベントがカメライベント(単数又は複数)の前に一般的に観察される(例えば、検出されたイベントが少なくとも閾値頻度でカメライベントをもたらした若しくはカメライベントに先行した、検出されたイベントがカメライベントをもたらす若しくはカメライベントに先行する閾値尤度を有すると推定される、及び/又は検出されたイベントが以前にカメライベントをもたらした又はカメライベントに先行した閾値数の発生を有する)、及び/又は、カメライベントが、検出されたイベントに続く可能性が高い(例えば、閾値尤度内)ことを、検出されたイベントが示すと判定した場合、予測器120は、肯定的なカメライベント予測結果を生成することができる(例えば、予測器120は、カメライベントが発生すると予測されると判定することができる)。肯定的なカメライベント予測結果に基づいて(例えば、カメライベントが発生すると予測されるとの判定に基づいて)、予測器120は、高電力カメラパイプライン212の予測的初期化224をトリガすることができる。
【0075】
高電力カメラパイプライン212は、画像/ビデオをキャプチャし、かつ/又はキャプチャされた画像/ビデオを処理するために使用される1つ以上の動作及び/又はハードウェアを含むことができる。場合によっては、高電力カメラパイプライン212は、より高い画像品質を生成し、追加の及び/若しくはより複雑な画像効果を生成し、並びに/又はより高い処理/出力性能を達成するための1つ以上の調整された設定を有する低電力カメラパイプライン202と同じである、又はそれを含むことができる。例えば、場合によっては、高電力カメラパイプライン212は、画像解像度を増加させる、フレームレートを増加させる、フルカラー画像データ(例えば、モノ/輝度データのみとは対照的に)を利用するなどの1つ以上の設定を有する低電力カメラパイプライン202を含むことができる。他の場合には、高電力カメラパイプライン212は、低電力カメラパイプライン202とは異なる1つ以上の画像センサ、設定、動作、及び/又はハードウェアブロックを含むことができる。
【0076】
いくつかの例では、低電力カメラパイプライン202は、低電力画像センサ(例えば、画像センサ102)を含むことができ、高電力カメラパイプライン212は、高電力画像センサ(例えば、画像センサ104)を含むことができる。他の例では、低電力カメラパイプライン202及び高電力カメラパイプライン212は、同じ画像センサ(単数又は複数)(例えば、画像センサ102及び/又は画像センサ104)を含むことができる。場合によっては、低電力カメラパイプライン202及び高電力カメラパイプライン212は、同じ画像センサ(単数又は複数)を含むことができるが、高電力カメラパイプライン212は、高電力モード(例えば、より高い解像度、より高いフレームレートなど)を用いて、又は高電力モードで画像センサ(単数又は複数)を実装することができる。
【0077】
いくつかの例では、高電力カメラパイプライン212は、1つ以上の画像前処理、1つ以上の後処理動作、及び/又は任意の他の画像処理動作を含む。例えば、高電力カメラパイプライン212は、画像サイズ変更、ノイズ除去、セグメンテーション、エッジの平滑化、色補正/変換、デベイヤー処理、スケーリング、ガンマ補正、トーンマッピング、色感知、鮮明化、圧縮、デモザイク、ノイズ低減(例えば、クロマノイズ低減、輝度ノイズ低減、時間ノイズ低減等)、特徴抽出、特徴認識、コンピュータビジョン、自動露出、自動ホワイトバランス、オートフォーカス、深度感知、画像安定化、センサ融合、HDR、及び/又は任意の他の動作を含むことができる。いくつかの例では、高電力カメラパイプライン212は、例えば、より高い/増加した解像度、より高い/増加したフレームレート、高電力画像センサ(例えば、画像センサ104)、DRAM使用/割り当て、クロックソースのためのPLL、より多くの/増加した数の画像センサなどの、高電力ハードウェア、設定、及び/又は処理を起動する/含むことができる。
【0078】
いくつかの例では、予測的初期化224は、高電力カメラパイプライン212に関連付けられた1つ以上のハードウェアコンポーネント/デバイス及び/又は1つ以上の動作を電源投入/オンにすること及び/又は開始/準備することを含むことができる。場合によっては、予測的初期化224は、画像センサ104及びカメラ処理に関連付けられた1つ以上のハードウェアブロックの電源をオンにすること/投入することを含むことができる。場合によっては、予測的初期化224は、レイテンシの低減を可能にするために、プロセッサ(例えば、CPU112)及び/又はメモリをより高い周波数にバーストすることを含むことができる。場合によっては、予測的初期化224は、カメラアプリケーションのためのメモリ(例えば、DRAMなど)の事前割り当てを含むことができる。場合によっては、予測的初期化224は、露出値及び/又は焦点値を事前収束させるために、(例えば、画像センサ102を介して)低解像度画像キャプチャを実行することを含むことができる。場合によっては、予測的初期化224は、前述の動作、設定、及び/又はハードウェアブロックの任意の組合せを含むことができる。場合によっては、予測的初期化224は、ユーザ入力に応じて、ゼロレイテンシ又は低減されたレイテンシで画像/ビデオをキャプチャするために、高電力カメラパイプライン212を開始/準備することができる。
【0079】
場合によっては、低電力カメラパイプライン202は、高電力カメラパイプライン212によるオフライン(例えば、後の)処理のために、画像センサ102からの生センサデータをバッファに記憶することができる。例えば、
図2Bは、高電力カメラパイプライン212による画像センサ102からの生センサデータのオフライン処理を伴う予測的カメラ初期化のための例示的なシステムプロセス230を示す。
【0080】
この例では、
図2Aに示すシステムプロセス200で使用されるデータ、処理、及びハードウェアを活用することに加えて、システムプロセス230は、低電力カメラパイプライン202からのセンサデータ220を記憶するためのマルチフレームバッファ232を実装することができる。低電力カメラパイプライン202は、画像センサ102からセンサデータ220を受信し、センサデータ220をマルチフレームバッファ232に記憶することができる。いくつかの例では、センサデータ220は、画像センサ102からの生センサデータを含むことができる。場合によっては、マルチフレームバッファ232は、高電力カメラパイプライン212のためのZSLバッファとして機能することができる。
【0081】
予測器120が予測的初期化224を介して高電力カメラパイプライン212をトリガすると、高電力カメラパイプライン212は、処理のためにマルチフレームバッファ232からセンサデータ220を取り出すことができる。センサデータ220は、高電力カメラパイプライン212が初期化される前及び/又は初期化されている間にキャプチャされた画像データを高電力カメラパイプライン212に提供することができ、高電力カメラパイプライン212は、それを活用して、画像/ビデオキャプチャレイテンシを低減し、かつ/又はキャプチャされた画像/ビデオの処理、品質、及び/若しくは性能を改善することができる。
【0082】
いくつかの例では、低電力カメラパイプライン202は、高電力カメラパイプライン212によって処理される画像と同程度に高い品質で画像を処理することが可能でない場合がある。それにもかかわらず、低電力カメラパイプライン202は、高電力カメラパイプライン212による(後の)オフライン処理のために、マルチフレームバッファ232(又はDRAMなどの異なるメモリ)に生センサデータを記憶することができる。この生センサデータを高電力カメラパイプライン212に利用可能にすることにより、高電力カメラパイプライン212が初期化されている間に低電力カメラパイプライン202が動作可能であり得るので、様々な利点を提供することができる。
【0083】
高電力カメラパイプライン212が完全に初期化されると、高電力カメラパイプライン212は、その後、マルチフレームバッファ232内の生センサデータをリードバックし、オフラインで処理することができる。いくつかの例では、システムプロセス230は、ユーザ入力に応じて高電力カメラパイプライン212(例えば、画像センサ104を含む)によって実行される画像/ビデオの最終キャプチャにおける高電力カメラパイプライン212の起動レイテンシを低減する、又はさらには完全になくすことができる。
【0084】
図3は、予測的カメラ初期化のための例示的なプロセス300を示すフローチャートである。この例では、ブロック304において、プロセス300は、カメラデータ302を使用して、(例えば、予測器120を介して)カメラ使用予測を実行することを含むことができる。カメラデータ302は、画像センサ102などの低電力画像センサからの画像データを含むことができる。いくつかの例では、カメラデータ302は、
図2Aに関して前述したセンサデータ220と同じであってもよい。
【0085】
カメラ使用予測は、前述のように、カメライベント予測を含む、かつ/又は表すことができる。例えば、カメラ使用予測は、電子デバイス100のユーザが(例えば、高電力カメラパイプラインをトリガするカメラアプリケーションを介して、又は高電力カメラパイプラインをトリガして画像/ビデオをキャプチャするホットキー若しくはショートカットの選択/アクティブ化を介して)電子デバイス100を使用して写真/ビデオを撮影しようとしているか、又はカメラアプリケーションを開いて、プレビューフィードを閲覧して、かつ/若しくは高電力カメラパイプラインをトリガしようとしているかを予測することを含むことができる。
【0086】
ブロック306において、カメラ使用予測が予測されたカメライベントをもたらす(例えば、予測器120が、ユーザが(例えば、ユーザ入力を介して)画像/ビデオキャプチャをトリガする、かつ/又はカメラアプリケーションを使用して、プレビューフィードを閲覧する、かつ/又は画像/ビデオキャプチャをトリガすることを試みることを予測する)場合、プロセス300は、高電力カメラパイプライン(例えば、高電力カメラパイプライン212)及び構成可能タイマを(例えば、予測器120を介して)初期化することを含むことができる。構成可能タイマは、(例えば、高電力カメラパイプラインが必要とされない又は使用されていないときに高電力カメラパイプラインを実行し続けることから)電力を節約するために初期化されたカメラパイプラインが初期化解除される前に、ユーザが画像/ビデオキャプチャをトリガし、かつ/又はカメラアプリケーションを開始/使用するための時間制限を提供することができる。
【0087】
ブロック308において、プロセス300は、構成可能タイマが満了したかどうかを判定することを含むことができる。ブロック314において、構成可能タイマが満了した場合、プロセス300は、(例えば、予測器120を介して)高電力カメラパイプラインを初期化解除する(例えば、電源を切断する、無効化する、停止する、オフにする)ことを含むことができる。
【0088】
構成可能タイマが満了していない場合、高電力カメラパイプラインは初期化されたままであってもよい。ブロック310において、プロセス300は、ユーザによって開始されたカメライベントが発生したかどうかを(例えば、予測器120を介して)判定することを含むことができる。ユーザによって開始されたカメライベントは、高電力カメラパイプラインによる画像/ビデオキャプチャをトリガするため、並びに/又はカメラアプリケーションを使用してプレビューフィードにアクセスするため、及び/若しくは高電力カメラパイプラインによる画像/ビデオキャプチャをトリガするためのユーザ入力を含むことができる。例えば、場合によっては、ユーザによって開始されたカメライベントは、画像/ビデオキャプチャをトリガするためのホットキー又はショートカットのユーザ選択を含むことができる。他の場合には、ユーザによって開始されたカメライベントは、画像/ビデオをキャプチャするために高電力カメラパイプラインをトリガするように電子デバイス100に要求するユーザからの音声コマンドを含むことができる。他の場合には、ユーザによって開始されたカメライベントは、画像/ビデオキャプチャを開始/実行するようにカメラアプリケーション(及び高電力カメラパイプライン)をトリガするためにカメラアプリケーションを介して受信されたユーザ入力を含むことができる。
【0089】
プロセス300が、ユーザによって開始されたカメライベントが発生していないと判定した場合(例えば、ユーザによって開始されたカメライベントが検出されていない場合)、プロセス300は、ブロック308に戻って、構成可能タイマが満了したかどうかを判定することができる。プロセス300は、構成可能タイマが満了していない場合には高電力カメラパイプラインを初期化された状態に維持する、又は(例えば、ブロック314に関して説明したように)構成可能タイマが満了した場合には高電力カメラパイプラインを初期化解除することができる。
【0090】
プロセス300が、ユーザによって開始されたカメライベントが発生したと判定した場合(例えば、ユーザによって開始されたカメライベントが検出された場合)、ブロック312において、プロセス300は、高速カメラ開始を実行することを含むことができる。高速カメラ開始は、ユーザによって開始されたカメライベントに応じて、画像/ビデオをキャプチャするために、既に初期化された高電力カメラパイプラインをトリガすることを含むことができる。高電力カメラパイプラインは既に初期化されているので、高速カメラ開始は、ユーザによって開始されたカメライベントの時間からレイテンシなしに(又は低減された/最小限のレイテンシで)実行することができる。例えば、高電力カメラパイプラインが既に初期化されているので、ユーザによって開始されたカメライベントに応じて、高電力カメラパイプラインは、なんらのレイテンシなしに(又は低減された/最小限のレイテンシで)画像/ビデオをキャプチャすることができる。
【0091】
図4は、例えば、予測的初期化、タイマ満了、及び/又は状態変更トリガなどの特定の刺激に基づいて、異なる時間に修正/調整された例示的なカメラ初期化状態を示す図である。この例では、高電力カメラパイプライン(例えば、高電力カメラパイプライン212)は、時間t
1において非初期化状態402にある。
【0092】
時間t
2において、予測器120は、
図2A、
図2B、及び
図3に関して前述したように、予測的初期化410をトリガする。予測的初期化410に基づいて、高電力カメラパイプラインは、非初期化状態402から初期化状態404に変化する。
【0093】
時間t3において、予測器(例えば、予測器120)は、タイマ満了412を検出し、カメラ初期化解除をトリガする。カメラ初期化解除に基づいて、高電力カメラパイプラインは、初期化状態404から初期化解除状態406に変化する。いくつかの例では、初期化解除状態406は、非初期化状態402と同じであってもよい。いくつかの例では、初期化解除状態406は、高電力カメラパイプラインの電力モードが低電力モードに低減される状態であってもよい。
【0094】
時間t4において、予測器は、別の予測的初期化414をトリガする。予測的初期化414に基づいて、高電力カメラパイプラインは、初期化解除状態406から初期化状態404に戻るように変化する。
【0095】
時間t
5において、ユーザによって開始されたカメライベント416は、
図3に関して説明した高速カメラ開始などの高速カメラ開始408をトリガすることができる。高速カメラ開始408において、高電力カメラパイプラインは、ユーザによって開始されたカメライベント416に応じて、レイテンシなしに(又は低減された/最小限のレイテンシで)画像/ビデオをキャプチャすることができる。
【0096】
時間t6において、予測器は、高電力カメラパイプラインの状態を初期化状態(初期化状態404)から初期化解除状態406に変更するように構成される状態変更トリガ418を検出する。いくつかの例では、状態変更トリガ418は、タイマ満了412などのタイマの満了を含むことができる。いくつかの例では、状態変更トリガ418は、電子デバイス100のユーザからのユーザ入力に基づくことができる。例えば、状態変更トリガ418は、カメラアプリケーションを閉じる、高電力カメラパイプラインの電源を切断する/オフにする、又は高電力カメラパイプラインの初期化解除をトリガするためのユーザ入力(例えば、ユーザインターフェースを介した、口頭コマンドを介した、1つ以上のボタン又はキーを介したなど)に基づくことができる。
【0097】
図5は、異なる予測的カメライベント判定に基づいて実装された異なる初期化状態の一例を示す図である。この例では、電子デバイス100の高電力カメラパイプラインは、カメライベント予測500がない間、非初期化状態502にある。
【0098】
その後、電子デバイス100は、(例えば、画像センサ102などの低電力カメラセンサを介して)電子デバイス100のシーン内のオブジェクト530を検出する。オブジェクト530の検出に基づいて、予測器(例えば、予測器120)は、カメライベント予測520を判定することができる。カメライベント予測520は、先に説明したように、ユーザによって開始されたカメライベントを予測することができる。
【0099】
いくつかの例では、オブジェクト530は、カメライベント予測をトリガするように構成することができる。いくつかの例では、予測器は、オブジェクト530の検出後に発生するユーザによって開始されたイベントの閾値尤度が存在することを、前の例から学習することができる。例えば、予測器は、ユーザによって開始されたカメライベントがオブジェクト530の検出後に発生すると予測されることを示す機械学習分類器(例えば、機械学習エンジン122)からの出力に基づいて、カメライベント予測520を判定することができる。
【0100】
カメライベント予測520に基づいて、予測器は、非初期化状態502から初期化状態522に変更するように高電力カメラパイプラインを(例えば、命令/コマンドを介して)トリガすることができる。
【0101】
図6は、予測的カメラ初期化のための例示的なプロセス600を示すフローチャートである。この例では、ブロック602において、プロセス600は、第1の画像キャプチャデバイス(例えば、画像センサ102)から、シーン(例えば、日没、ランドマーク、風景、環境、イベントなど)を描写する画像データ(例えば、センサデータ220)を取得することを含むことができる。いくつかの例では、第1の画像キャプチャデバイスは、キャプチャされる画像データをトリガするためのユーザ入力なしに、画像データを自動的にキャプチャすることができる。場合によっては、第1の画像キャプチャデバイスは、(例えば、第1の画像キャプチャデバイス及び/又は第1の画像キャプチャデバイスに関連付けられた電子デバイス上の第2の画像キャプチャデバイスによってサポートされる高電力モードに対して)低電力モード及び/又は低電力カメラパイプライン(例えば、低電力カメラパイプライン202)を使用して、画像データをキャプチャすることができる。
【0102】
ブロック604において、プロセス600は、画像データに基づいてシーンを分類することを含むことができる。いくつかの例では、シーンを分類することは、画像データに関連付けられた(例えば、画像データ内に描写された)イベントを検出することを含むことができる。場合によっては、検出されたイベントは、画像データ内に描写されたシーンを含むことができる。場合によっては、シーン及び/又は検出されたイベントは、電子デバイスの特定の移動、電子デバイスに関連付けられたユーザに対する電子デバイスの位置、画像データ内で検出された群衆、1人以上のユーザに関連付けられたジェスチャ、オブジェクト上に表示されたパターン(例えば、QRコード、リンクなど)、及び/又は互いに対する集団の人々の位置を含むことができる。
【0103】
場合によっては、シーンは、機械学習アルゴリズム又は画像処理アルゴリズムを使用して分類することができる。
【0104】
ブロック606において、プロセス600は、シーンの分類に基づいて、カメラ使用イベントを予測することを含むことができる。いくつかの例では、カメラ使用イベントは、追加の画像データをキャプチャするために第1の画像キャプチャデバイスに関連付けられた電子デバイス(例えば、電子デバイス100)をトリガするように構成されるユーザ入力を含むことができる。
【0105】
場合によっては、カメラ使用イベントは、分類されたシーンと同じタイプのシーンをキャプチャする画像データの正例及び負例などの、画像データの正例及び負例に対して訓練された機械学習分類器を使用して検出することができる。
【0106】
ブロック608において、プロセス600は、予測されたカメラ使用イベントに基づいて、第1の画像キャプチャデバイス及び/又は第2の画像キャプチャデバイス(例えば、画像センサ104)の電力モードを調整することを含むことができる。いくつかの例では、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスに対する高電力カメラデバイスを含む。例えば、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスによってサポートされる電力モードよりも多くの電力を消費する電力モードをサポートすることができる。場合によっては、高電力カメラデバイスは、第1の画像キャプチャデバイスよりも高い解像度、第1の画像キャプチャデバイスよりも高いフレームレート、第1の画像キャプチャデバイスよりも多い数の画像センサ、及び/又は第1の画像キャプチャデバイスに関連付けられた第2の画像センサよりも高電力モードをサポートする第1の画像センサを含むことができる。
【0107】
場合によっては、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスに関連付けられた低電力カメラパイプライン(例えば、低電力カメラパイプライン202)に対する高電力カメラパイプライン(例えば、高電力カメラパイプライン212)に関連付けられている(例えば、それを使用する、かつ/又はその一部である)。いくつかの例では、高電力カメラパイプラインは、低電力カメラパイプラインよりも多くの画像処理能力、及び/又は低電力カメラパイプラインよりも高い処理性能を有する1つ以上のハードウェアコンポーネントを含む。例えば、場合によっては、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスに関連付けられた第2のカメラパイプラインよりも多くの電力を消費する第1のカメラパイプラインに関連付けられている。場合によっては、第1のカメラパイプラインは、第2のカメラパイプラインよりも多くの画像処理能力、及び/又は第2のカメラパイプラインよりも高い処理性能を有する1つ以上のハードウェアコンポーネントを含む。
【0108】
いくつかの例では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第2の画像キャプチャデバイスを初期化することを含むことができる。いくつかの例では、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスに関連付けられたそれぞれの電力モードよりも(例えば、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードよりも)多くの電力を消費する電力モード(例えば、高電力モード)に初期化される。場合によっては、第2の画像キャプチャデバイスを初期化することは、第2の画像キャプチャデバイスの電力モードを増加させることを含むことができる。
【0109】
いくつかの態様では、プロセス600は、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードで第2の画像キャプチャデバイスを使用して、追加の画像データをキャプチャすることを含むことができる。いくつかの例では、第2の画像キャプチャデバイスの電力モードは、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられた解像度よりも高い解像度、第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられたフレームレートよりも高いフレームレート、第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられた画像センサの数よりも多い数の画像センサ、及び/又は第1の画像キャプチャデバイスに関連付けられた第2の画像センサによってサポートされる異なる電力モードよりも多くの電力を消費する特定の電力モードをサポートする第1の画像センサを含むことができる。
【0110】
場合によっては、第2の画像キャプチャデバイスを初期化することは、第2の画像キャプチャデバイスの電力モードを増加させることを含むことができる。いくつかの例では、第2の画像キャプチャデバイスの電力モードを増加させることは、第2の画像キャプチャデバイス及び/又は第2の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントの電力を増加させることを含むことができる。
【0111】
いくつかの態様では、プロセス600は、第1の画像キャプチャデバイスからの画像データをバッファ(例えば、マルチフレームバッファ232)に記憶することと、第2の画像キャプチャデバイスに関連付けられたカメラパイプライン(例えば、高電力カメラパイプライン212)を介して、バッファに記憶された画像データの少なくとも一部分を処理することと、を含むことができる。場合によっては、画像データの少なくとも一部分は、第2の画像キャプチャデバイスの初期化中に、及び/又は第2の画像キャプチャデバイスの初期化が完了する前に、バッファに記憶される。場合によっては、画像データの少なくとも一部分は、第2の画像キャプチャデバイスが初期化された後に処理される。
【0112】
いくつかの態様では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第2の画像キャプチャデバイスのカメラパイプラインに関連付けられたプロセッサ及び/又はカメラパイプラインに関連付けられたメモリのうちの少なくとも1つの周波数を増加させること(例えば、プロセッサ及び/又はメモリをバーストさせること)を含む。
【0113】
いくつかの態様では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第2の画像キャプチャデバイスに関連付けられたカメラアプリケーションにメモリを事前に割り当てることを含む。
【0114】
いくつかの態様では、プロセス600は、第1の画像キャプチャデバイスからの1つ以上の画像に基づいて、露出値及び/又は焦点値を事前収束させることを含む。
【0115】
いくつかの態様では、プロセス600は、第1の画像キャプチャデバイスに関連付けられた電子デバイスのロケーションを示すロケーションデータ及び/又は電子デバイスに関連付けられた1つ以上のセンサからのセンサデータを取得することと、画像データと、ロケーションデータ、オーディオデータ、及び/又はセンサデータのうちの少なくとも1つとに基づいて、シーンを分類することと、を含む。いくつかの例では、追加のカメラ使用イベントは、更なる画像データをキャプチャするために電子デバイスをトリガするように構成される追加のユーザ入力を含むことができる。いくつかの例では、センサデータは、電子デバイスに関連付けられた動きを示す動き測定値、1つ以上のセンサによってキャプチャされたオーディオデータ、及び/又は電子デバイスの位置を示す位置測定値を含む。
【0116】
場合によっては、予測されたカメラ使用イベントは、追加の画像データをキャプチャするために電子デバイスをトリガするように構成されるユーザ入力を含むことができる。
【0117】
場合によっては、追加のカメラ使用イベントを予測することは、ロケーションデータ、オーディオデータ、及び/又はセンサデータに基づいて、追加のイベントを検出することを含むことができる。場合によっては、追加のカメラ使用イベントは、追加のイベントにさらに基づいて予測される。いくつかの例では、追加のイベントは、オーディオデータ内の1つ以上の音、電子デバイスの特定の移動、及び/又は電子デバイスの特定の姿勢を含むことができる。
【0118】
いくつかの態様では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第2の画像キャプチャデバイスの初期化に関連付けられた1つ以上の初期化設定を判定することと、1つ以上の初期化設定に従って第2の画像キャプチャデバイスを初期化することと、を含む。いくつかの例では、1つ以上の初期化設定は、分類されたシーンに関連付けられたシーンのタイプに基づいて判定される。例えば、初期化設定は、シーンが特定のシーン(例えば、日没、風景など)を含む場合にはHDRモードを含み、シーンが代わりにユーザの笑顔を含む場合には非HDRモードを含むことができる。
【0119】
いくつかの態様では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、投光照明器、深度センサデバイス、デュアル画像キャプチャデバイスシステム、構造化光システム、飛行時間システム、オーディオアルゴリズム、ロケーションサービス、及び/又は第1の画像キャプチャデバイスに関連付けられたカメラパイプラインとは異なるカメラパイプラインをオンにすること又は実装することを含む。
【0120】
いくつかの態様では、プロセス600は、シーンを分類したことに応じて、満了値に関連付けられたタイマを初期化することと、予測されたカメラ使用イベントの発生の前にタイマの値が満了値に達したことを判定することと、予測されたカメラ使用イベントの発生の前にタイマの値が満了値に達したことに基づいて、第2の画像キャプチャデバイスの電力モードを低減させることと、を含むことができる。いくつかの例では、電力モードを低減させることは、第2の画像キャプチャデバイスをオフにすること、並びに/又は第2の画像キャプチャデバイス及び/若しくは第2の画像キャプチャデバイスに関連付けられたカメラパイプラインに関連付けられた1つ以上の電力設定を低減することを含むことができる。場合によっては、満了値は、分類されたシーンのタイプに基づいて変化することができる。例えば、集団が集団写真を撮影する準備をしていることを示すと推定される方法で集まっている集団の人々をシーンが含む場合、集団に集団写真のために集まって調整するためのより多くの時間を与えるために、満了値を(他のタイプのシーンにおける満了値に対して)増加させることができる。
【0121】
いくつかの態様では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第1の画像キャプチャデバイスの電力モードを減少させることを含むことができる。場合によっては、第1の画像キャプチャデバイスの電力モードを減少させることは、第1の画像キャプチャデバイス及び第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を減少させることのうちの少なくとも1つを含むことができる。
【0122】
いくつかの態様では、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することは、第1の画像キャプチャデバイスの電力モードを増加させることを含むことができる。場合によっては、第1の画像キャプチャデバイスの電力モードを増加させることは、第1の画像キャプチャデバイス及び第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させることのうちの少なくとも1つを含むことができる。
【0123】
いくつかの例では、プロセス600は、1つ以上のコンピューティングデバイス又は装置によって実行され得る。例示的な一例では、プロセス600は、
図1に示す電子デバイス100によって実行することができる。いくつかの例では、プロセス600は、
図7に示すコンピューティングデバイスアーキテクチャ700を有する1つ以上のコンピューティングデバイスによって実行することができる。場合によっては、そのようなコンピューティングデバイス又は装置は、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、又はプロセス600のステップを行うように構成されるデバイスの他のコンポーネントを含んでもよい。いくつかの例では、そのようなコンピューティングデバイス又は装置は、画像データ及び/又は他のセンサ測定値を捕捉するように構成される1つ以上のセンサを含み得る。例えば、コンピューティングデバイスは、スマートフォン、ヘッドマウントディスプレイ、モバイルデバイス、又は他の好適なデバイスを含むことができる。いくつかの例では、そのようなコンピューティングデバイス又は装置は、1つ以上の画像又はビデオを捕捉するように構成されるカメラを含んでもよい。場合によっては、そのようなコンピューティングデバイスは、画像を表示するためのディスプレイを含んでもよい。いくつかの例では、1つ以上のセンサ及び/又はカメラは、コンピューティングデバイスから分離され、その場合、コンピューティングデバイスは感知されたデータを受信する。そのようなコンピューティングデバイスは、データを通信するように構成されるネットワークインターフェースをさらに含んでもよい。
【0124】
コンピューティングデバイスのコンポーネントは、回路構成の中に実装され得る。例えば、コンポーネントは、1つ以上のプログラマブル電子回路(例えば、マイクロプロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)、及び/又は他の好適な電子回路)を含み得る、電子回路若しくは他の電子ハードウェアを含むことができる、及び/若しくはそれらを使用して実装されることが可能であり、並びに/又は本明細書で説明する様々な動作を実行するために、コンピュータソフトウェア、ファームウェア、若しくはそれらの任意の組み合わせを含むことができる、及び/若しくはそれらを使用して実装されることが可能である。コンピューティングデバイスは、ディスプレイ(出力デバイスの一例として又は出力デバイスに加えて)、データを通信及び/若しくは受信するように構成されるネットワークインターフェース、任意のそれらの組み合わせ、並びに/又は他のコンポーネントをさらに含んでもよい。ネットワークインターフェースは、インターネットプロトコル(IP)ベースのデータ若しくは他のタイプのデータを通信及び/又は受信するように構成され得る。
【0125】
プロセス600は、論理フロー図として示され、その動作は、ハードウェア、コンピュータ命令、又はそれらの組合せで実装することができる動作のシーケンスを表す。コンピュータ命令のコンテキストでは、動作は、1つ以上のプロセッサによって実行されたとき、記載された動作を実行する、1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行するか又は特定のデータタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図せず、任意の数の説明される動作は、プロセスを実装するために任意の順序で、及び/又は並列に組み合わせられ得る。
【0126】
加えて、プロセス600は、実行可能命令で構成される1つ以上のコンピュータシステムの制御下で実行することができ、1つ以上のプロセッサ上で、ハードウェアによって、又はそれらの組み合わせで、まとめて実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、又は1つ以上のアプリケーション)として実装することができる。上述のように、コードは、例えば、1つ以上のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読記憶媒体又は機械可読記憶媒体上に記憶されてもよい。コンピュータ可読記憶媒体又は機械可読記憶媒体は、非一時的であってよい。
【0127】
図7は、本明細書で説明する様々な技術を実装することができる、例示的なコンピューティングデバイスの例示的なコンピューティングデバイスアーキテクチャ700を示す。例えば、コンピューティングデバイスアーキテクチャ700は、
図1に示す電子デバイス100の少なくともいくつかの部分を実装することができる。コンピューティングデバイスアーキテクチャ700のコンポーネントは、バスなどの接続部705を使用して、互いに電気通信するように示されている。例示的なコンピューティングデバイスアーキテクチャ700は、処理ユニット(CPU又はプロセッサ)710と、リードオンリーメモリ(ROM)720及びランダムアクセスメモリ(RAM)725などのコンピューティングデバイスメモリ715を含む様々なコンピューティングデバイスコンポーネントをプロセッサ710に結合するコンピューティングデバイス接続部705と、を含む。
【0128】
コンピューティングデバイスアーキテクチャ700は、プロセッサ710に直接接続される、プロセッサ710の近くにある、又はプロセッサ710の一部として統合される高速メモリのキャッシュを含むことができる。コンピューティングデバイスアーキテクチャ700は、プロセッサ710による高速アクセスのために、メモリ715及び/又は記憶デバイス730からデータをキャッシュ712にコピーすることができる。このようにして、キャッシュは、データを待機する間のプロセッサ710の遅延を回避する、パフォーマンスブーストを提供することができる。これら及び他のモジュールは、様々なアクションを実行するようにプロセッサ710を制御することができる、又はそれを制御するように構成され得る。他のコンピューティングデバイスメモリ715も、使用可能であり得る。メモリ715は、異なる性能特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ710は、任意の汎用プロセッサ、及び記憶デバイス730に記憶されプロセッサ710を制御するように構成されるハードウェア又はソフトウェアサービス、並びにソフトウェア命令がプロセッサ設計に組み込まれた専用プロセッサを含むことができる。プロセッサ710は、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、自己完結型のシステムであってもよい。マルチコアプロセッサは、対称でも非対称であってもよい。
【0129】
コンピューティングデバイスアーキテクチャ700とのユーザの対話を可能にするために、入力デバイス745は、スピーチのためのマイクロフォン、ジェスチャ又はグラフィカル入力のためのタッチ感知スクリーン、キーボード、マウス、動作入力、スピーチなどの、任意の数の入力機構を表すことができる。出力デバイス735はまた、ディスプレイ、プロジェクタ、テレビ、スピーカデバイスなどの、当業者に知られているいくつかの出力機構のうちの1つ以上であってもよい。場合によっては、マルチモーダルコンピューティングデバイスにより、コンピューティングデバイスアーキテクチャ700と通信するためにユーザが複数のタイプの入力を提供することを可能にし得る。通信インターフェース740は、一般に、ユーザ入力及びコンピューティングデバイス出力を支配して管理することができる。いかなる特定のハードウェア構成上で動作することに対しても制約はなく、したがって、改善されたハードウェア又はファームウェア構成が開発されるにつれて、ここでの基本的機能がそれらと容易に置き換えられ得る。
【0130】
記憶デバイス730は、不揮発性メモリであり、ハードディスク、又は磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)725、リードオンリーメモリ(ROM)720、及びそれらのハイブリッドなどの、コンピュータによってアクセス可能なデータを記憶できる他のタイプのコンピュータ可読媒体であり得る。記憶デバイス730は、プロセッサ710を制御するためのソフトウェア、コード、ファームウェアなどを含むことができる。他のハードウェア又はソフトウェアモジュールが企図される。記憶デバイス730は、コンピューティングデバイス接続部705に接続され得る。1つの態様では、特定の機能を実行するハードウェアモジュールは、機能を実行するために、プロセッサ710、接続部705、出力デバイス735などの必要なハードウェアコンポーネントと接続している、コンピュータ可読媒体に記憶されているソフトウェアコンポーネントを含むことができる。
【0131】
「コンピュータ可読媒体」という用語は、限定はしないが、ポータブル又は非ポータブルの記憶デバイス、光記憶デバイス、並びに命令及び/又はデータを記憶、格納、又は搬送できる様々な他の媒体を含む。コンピュータ可読媒体は、データが記憶され、かつ無線若しくは有線接続を介して伝搬する搬送波及び/又は一時的な電子信号を含まない、非一時的媒体を含んでもよい。非一時的媒体の例は、限定はしないが、磁気ディスク若しくはテープ、コンパクトディスク(CD)若しくはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリ、又はメモリデバイスを含んでもよい。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、又は命令、データ構造、若しくはプログラムステートメントの任意の組み合わせを表し得る、コンピュータ可読媒体上に記憶されたコード及び/又は機械実行可能命令を有してもよい。コードセグメントは、情報、データ、引数、パラメータ、又はメモリコンテンツを渡すこと及び/又は受けることによって、別のコードセグメント又はハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介して渡され、転送され、又は送信されてもよい。
【0132】
いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、及びメモリは、ビットストリームなどを含むケーブル又はワイヤレス信号を含み得る。しかしながら、言及する場合、非一時的コンピュータ可読記憶媒体は、エネルギ、キャリア信号、電磁波、及び信号自体などの媒体を明確に除外する。
【0133】
本明細書で提供する実施形態及び例の完全な理解を与えるために、上記の説明において具体的な詳細が提供されている。しかしながら、実施形態がこれらの具体的な詳細なしに実践され得ることが当業者によって理解されよう。説明を明快にするために、いくつかの事例では、本技術は、デバイスと、デバイスコンポーネントと、ソフトウェア、又はハードウェアとソフトウェアの組み合わせにおいて具現化された方法におけるステップ又はルーチンとを備える個々の機能ブロックを含むものとして提示されてもよい。図中に示され、かつ/又は本明細書で説明されるコンポーネント以外の、追加のコンポーネントが使用されてもよい。例えば、不必要な詳細で実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセス、及び他のコンポーネントがブロック図の形態でコンポーネントとして示されてもよい。他の事例では、実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、及び技法は、不必要な詳細なしに示されてもよい。
【0134】
個々の実施形態が、フローチャート、フロー図、データフロー図、構造図、又はブロック図として示されるプロセス又は方法として上で説明されてもよい。フローチャートは動作を逐次プロセスとして説明することがあるが、動作の多くは並列に又は同時に実行することができる。加えて、工程の順序は並べ替えられてよい。プロセスは、その動作が完了するときに終了するが、図に含まれない追加のステップを有することができる。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応してもよい。プロセスが関数に対応するとき、その終了は、その関数が呼出し関数又はメイン関数に戻ることに対応することができる。
【0135】
上で説明した例によるプロセス及び方法は、記憶されているか、又はそうでなければコンピュータ可読媒体から入手可能なコンピュータ実行可能命令を使用して実装され得る。そのような命令は、たとえば、汎用コンピュータ、専用コンピュータ、又は処理デバイスが、ある機能又は機能のグループを実施することを引き起こすか、あるいはさもなければそれらを実施するように構成する、命令とデータとを含むことができる。使用されるコンピュータリソースの部分は、ネットワークを介してアクセス可能であり得る。コンピュータ実行可能命令は、例えば、アセンブリ言語、ファームウェア、ソースコードなどのバイナリ、中間フォーマット命令であってもよい。命令、使用される情報、及び/又は記載した例による方法中に作成される情報を記憶するのに使用され得るコンピュータ可読媒体の例は、磁気又は光ディスク、フラッシュメモリ、不揮発性メモリが設けられたUSBデバイス、ネットワーク接続された記憶デバイスなどを含む。
【0136】
これらの開示に従ってプロセス及び方法を実施するデバイスは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれらの任意の組み合わせを含むことができ、様々なフォームファクタのうちのいずれかをとることができる。ソフトウェア、ファームウェア、ミドルウェア、又はマイクロコードにおいて実装されるとき、必要なタスクを実行するためのプログラムコード又はコードセグメント(例えば、コンピュータプログラム製品)は、コンピュータ可読媒体又は機械可読媒体に記憶されてもよい。プロセッサは、必要なタスクを実行してもよい。フォームファクタの典型的な例は、ラップトップ、スマートフォン、携帯電話、タブレットデバイス又は他の小型フォームファクタパーソナルコンピュータ、携帯情報端末、ラックマウントデバイス、スタンドアロンデバイスなどを含む。本明細書で説明した機能はまた、周辺装置又はアドインカードで具現され得る。そのような機能はまた、更なる例として、異なるチップのうちの回路基板上、又は単一のデバイスにおいて実行する異なるプロセス上で実施され得る。
【0137】
命令、そのような命令を伝えるための媒体、命令を実行するためのコンピューティングリソース、及びそのようなコンピューティングリソースをサポートするための他の構造は、本開示で説明した機能を提供するための例示的な手段である。
【0138】
上の説明では、本出願の態様はそれらの特定の実施形態を参照しながら説明されるが、本出願がそれらに限定されないことを当業者は認識されよう。したがって、本出願の例示的な実施形態が本明細書で詳細に説明されているが、本発明の概念が別のやり方で様々に具現及び採用され得ること、並びに従来技術によって限定される場合を除き、添付の特許請求の範囲がそのような変形を含むものと解釈されることが意図されることを理解されたい。上で説明した本出願の様々な特徴及び態様は、個別に又は共同で使用され得る。さらに、実施形態は、本明細書のより広い趣旨及び範囲から逸脱することなく、本明細書で説明されるもの以外の任意の数の環境及び適用例において利用することができる。したがって、本明細書及び図面は、限定的ではなく例示的と見なされるべきである。例示の目的のために、方法は特定の順序で説明された。代替実施形態では、方法は、説明された順序とは異なる順序で実行されてもよいことを理解されたい。
【0139】
本明細書で使用される、よりも小さい(「<」)及びよりも大きい(「>」)という記号又は専門用語は、本明細書の範囲から逸脱することなく、以下(「≦」)及び以上(「≧」)という記号それぞれと置き換えることができることを、当業者は理解されよう。
【0140】
コンポーネントが特定の動作を実行する「ように構成される」ものとして説明される場合、そのような構成は、例えば、動作を実行するように電子回路若しくは他のハードウェアを設計することによって、動作を実行するようにプログラマブル電子回路(例えば、マイクロプロセッサ、又は他の好適な電子回路)をプログラムすることによって、又はそれらの任意の組み合わせで達成され得る。
【0141】
「に結合される」という句は、直接的若しくは間接的のいずれかで別のコンポーネントに物理的に接続されている任意のコンポーネント、及び/又は直接的若しくは間接的のいずれかで別のコンポーネントと通信している(例えば、有線接続若しくはワイヤレス接続及び/又は他の好適な通信インターフェースを介して他のコンポーネントに接続されている)任意のコンポーネントを指す。
【0142】
集合「のうちの少なくとも1つ」、及び/又は集合のうちの「1つ以上」を記載する請求項の文言又は本開示における他の文言は、集合のうちの1つのメンバー又は(任意の組み合わせにおける)集合のうちの複数のメンバーが請求項を満足することを示す。例えば、「A及びBのうちの少なくとも1つ」又は「A又はBのうちの少なくとも1つ」を記載する請求項の文言は、A、B、又はA及びBを意味する。別の例では、「A、B、及びCのうちの少なくとも1つ」又は「A、B、又はCのうちの少なくとも1つ」を記載する請求項の文言は、A、B、C、又はA及びB、又はA及びC、又はB及びC、又はA及びB及びCを意味する。集合「のうちの少なくとも1つ」及び/又は集合のうちの「1つ以上」という文言は、集合の中で列挙される項目にその集合を限定しない。例えば、「A及びBのうちの少なくとも1つ」又は「A又はBのうちの少なくとも1つ」と記載する請求項の文言は、A、B、又はA及びBを意味することができ、追加として、A及びBの集合の中で列挙されない項目を含むことができる。
【0143】
本明細書で開示した例に関して説明した様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、又はそれらの組み合わせとして実装されてもよい。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、及びステップについて、それらの機能に関して概略的に上で説明した。そのような機能がハードウェアとして実装されるのか又はソフトウェアとして実装されるのかは、特定の適用例及びシステム全体に課される設計上の制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本出願の範囲から逸脱する原因として解釈されるべきではない。
【0144】
本明細書で説明する技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、又はワイヤレス通信デバイスハンドセット及び他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなどの、様々なデバイスのうちのいずれかにおいて実装されてもよい。モジュール又はコンポーネントとして説明した任意の特徴は、集積ロジックデバイスの中で一緒に、又は個別であるが相互動作可能なロジックデバイスとして別々に実装され得る。ソフトウェアで実装される場合、技法は、命令を含むプログラムコードを含むコンピュータ可読データ記憶媒体によって少なくとも部分的に実現され得、命令が、実行されると、上で説明した方法、アルゴリズム、及び/又は動作のうちの1つ以上を実行する。コンピュータ可読データ記憶媒体は、コンピュータプログラム製品の一部を形成してもよく、これはパッケージ材料を含んでもよい。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、FLASHメモリ、磁気又は光データ記憶媒体などの、メモリ又はデータ記憶媒体を備えてもよい。技法は、追加又は代替として、命令又はデータ構造の形態でのプログラムコードを搬送又は通信し、かつコンピュータによってアクセスされ、読み取られ、かつ/又は実行され得る、伝搬される信号又は波などの、コンピュータ可読通信媒体によって少なくとも部分的に実現されてもよい。
【0145】
プログラムコードは、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又は他の同等の集積論理回路構成若しくは個別論理回路構成などの1つ以上のプロセッサを含み得る、プロセッサによって実行されてもよい。そのようなプロセッサは、本開示に記載された技法のいずれかを実施するように構成されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代わりに、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンでもあってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つ以上のマイクロプロセッサ、又は任意の他のそのような構成として実装されてもよい。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組み合わせ、又は本明細書で説明した技法の実装に好適な任意の他の構造若しくは装置のうちのいずれかを指すことがある。
【0146】
本開示の例示的な例は、以下を含む。
態様1.予測的カメラ初期化のための装置であって、メモリと、メモリに結合される1つ以上のプロセッサと、を備え、1つ以上のプロセッサが、第1の画像キャプチャデバイスから、シーンを描写する画像データを取得し、画像データに基づいて、シーンを分類し、シーンの分類に基づいて、カメラ使用イベントを予測し、予測されたカメラ使用イベントに基づいて、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整する、ように構成される、装置。
【0147】
態様2.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整するために、1つ以上のプロセッサが、第2の画像キャプチャデバイスを初期化するように構成され、第2の画像キャプチャデバイスが、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードに初期化される、態様1に記載の装置。
【0148】
態様3.1つ以上のプロセッサが、第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードで第2の画像キャプチャデバイスを使用して追加の画像データをキャプチャするように構成され、電力モードが、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられた解像度よりも高い解像度、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられたフレームレートよりも高いフレームレート、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられた画像センサの数よりも多い数の画像センサ、及び第1の画像キャプチャデバイスに関連付けられた第2の画像センサによってサポートされる異なる電力モードよりも多くの電力を消費する特定の電力モードをサポートする第1の画像センサのうちの少なくとも1つに関連付けられている、態様2に記載の装置。
【0149】
態様4.第2の画像キャプチャデバイスが、第1の画像キャプチャデバイスに関連付けられた第2のカメラパイプラインよりも多くの電力を消費する第1のカメラパイプラインに関連付けられ、第1のカメラパイプラインが、第2のカメラパイプラインよりも多くの画像処理能力、及び第2のカメラパイプラインよりも高い処理性能を有する1つ以上のハードウェアコンポーネントのうちの少なくとも1つを含む、態様2又は3に記載の装置。
【0150】
態様5.第2の画像キャプチャデバイスを初期化するために、1つ以上のプロセッサが、第2の画像キャプチャデバイスの電力モードを増加させるように構成される、態様2から4のいずれか一項に記載の装置。
【0151】
態様6.第2の画像キャプチャデバイスの電力モードを増加させるために、1つ以上のプロセッサが、第2の画像キャプチャデバイス及び第2の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させるように構成される、態様5に記載の装置。
【0152】
態様7.1つ以上のプロセッサが、第1の画像キャプチャデバイスからの画像データをバッファに記憶することであって、画像データの少なくとも一部分が、第2の画像キャプチャデバイスの初期化中及び第2の画像キャプチャデバイスの初期化が完了する前のうちの少なくとも1つにバッファに記憶される、記憶することと、第2の画像キャプチャデバイスに関連付けられたカメラパイプラインを介して、バッファに記憶された画像データの少なくとも一部分を処理することであって、画像データの少なくとも一部分が、第2の画像キャプチャデバイスが初期化された後に処理される、処理することと、を行うように構成される、態様2から6のいずれか一項に記載の装置。
【0153】
態様8.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整するために、1つ以上のプロセッサが、第2の画像キャプチャデバイスのカメラパイプラインに関連付けられたプロセッサ及びカメラパイプラインに関連付けられたメモリのうちの少なくとも1つの周波数を増加させるように構成される、態様1から7のいずれか一項に記載の装置。
【0154】
態様9.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整するために、1つ以上のプロセッサが、第2の画像キャプチャデバイスに関連付けられたカメラアプリケーションにメモリを事前に割り当てるように構成される、態様1から8のいずれか一項に記載の装置。
【0155】
態様10.1つ以上のプロセッサが、第1の画像キャプチャデバイスからの1つ以上の画像に基づいて、露出値及び焦点値のうちの少なくとも1つを事前収束させるように構成される、態様1から9のいずれか一項に記載の装置。
【0156】
態様11.1つ以上のプロセッサが、装置のロケーションを示すロケーションデータと、装置に関連付けられた1つ以上のセンサからのセンサデータであって、装置に関連付けられた動きを示す動き測定値、1つ以上のセンサによってキャプチャされたオーディオデータ、及び装置の位置を示す位置測定値のうちの少なくとも1つを含むセンサデータと、のうちの少なくとも1つを取得し、画像データと、ロケーションデータ、オーディオデータ、及びセンサデータのうちの少なくとも1つとに基づいて、シーンを分類する、ように構成される、態様1から10のいずれか一項に記載の装置。
【0157】
態様12.予測されたカメラ使用イベントが、追加の画像データをキャプチャするために装置をトリガするように構成されるユーザ入力を含む、態様1から11のいずれか一項に記載の装置。
【0158】
態様13.シーンを分類するために、1つ以上のプロセッサが、画像データに関連付けられたイベントを検出するように構成され、イベントが、画像データ内に描写されたシーン、装置の特定の移動、装置に関連付けられたユーザに対する装置の位置、画像データ内で検出された群衆、1人以上のユーザに関連付けられたジェスチャ、オブジェクト上に表示されたパターン、及び互いに対する集団の人々の位置のうちの少なくとも1つを含む、態様1から12のいずれか一項に記載の装置。
【0159】
態様14.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整するために、1つ以上のプロセッサが、シーンに関連付けられたイベントのタイプに基づく、第2の画像キャプチャデバイスの初期化に関連付けられた1つ以上の初期化設定を判定し、1つ以上の初期化設定に従って第2の画像キャプチャデバイスを初期化する、ように構成される、態様1から13のいずれか一項に記載の装置。
【0160】
態様15.1つ以上のプロセッサが、シーンを分類したことに応じて、満了値に関連付けられたタイマを初期化し、予測されたカメラ使用イベントの発生の前にタイマの値が満了値に達したことを判定し、予測されたカメラ使用イベントの発生の前にタイマの値が満了値に達したことに基づいて、第2の画像キャプチャデバイスの電力モードを低減させる、ように構成され、電力モードを低減させることが、第2の画像キャプチャデバイスをオフにすること、並びに第2の画像キャプチャデバイス及び第2の画像キャプチャデバイスに関連付けられたカメラパイプラインのうちの少なくとも1つに関連付けられた1つ以上の電力設定を低減することのうちの少なくとも1つを含む、態様1から14のいずれか一項に記載の装置。
【0161】
態様16.第2の画像キャプチャデバイスの電力モードを調整するために、1つ以上のプロセッサが、投光照明器、深度センサデバイス、デュアル画像キャプチャデバイスシステム、構造化光システム、飛行時間システム、オーディオアルゴリズム、ロケーションサービス、及び第1の画像キャプチャデバイスに関連付けられたカメラパイプラインとは異なるカメラパイプラインのうちの少なくとも1つをオンにする又は実装するように構成される、態様1から15のいずれか一項に記載の装置。
【0162】
態様17.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整するために、1つ以上のプロセッサが、第1の画像キャプチャデバイスの電力モードを減少させるように構成され、第1の画像キャプチャデバイスの電力モードを減少させることが、第1の画像キャプチャデバイス及び第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を減少させることのうちの少なくとも1つを含む、態様1から16のいずれか一項に記載の装置。
【0163】
態様18.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整するために、1つ以上のプロセッサが、第1の画像キャプチャデバイスの電力モードを増加させるように構成され、第1の画像キャプチャデバイスの電力モードを増加させることが、第1の画像キャプチャデバイス及び第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させることのうちの少なくとも1つを含む、態様1から17のいずれか一項に記載の装置。
【0164】
態様19.装置がモバイルデバイスを含む、態様1から18のいずれか一項に記載の装置。
【0165】
態様20.装置がエクステンデッドリアリティデバイスを含む、態様19に記載の装置。
【0166】
態様21.予測的カメラ初期化の方法であって、第1の画像キャプチャデバイスから、シーンを描写する画像データを取得することと、画像データに基づいて、シーンを分類することと、シーンの分類に基づいて、カメラ使用イベントを予測することと、予測されたカメラ使用イベントに基づいて、第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することと、を含む、方法。
【0167】
態様22.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することが、第2の画像キャプチャデバイスを初期化することを含み、第2の画像キャプチャデバイスが、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードに初期化される、態様21に記載の方法。
【0168】
態様23.第1の画像キャプチャデバイスのそれぞれの電力モードよりも多くの電力を消費する電力モードで第2の画像キャプチャデバイスを使用して追加の画像データをキャプチャすることをさらに含み、電力モードが、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられた解像度よりも高い解像度、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられたフレームレートよりも高いフレームレート、画像データをキャプチャするために使用される第1の画像キャプチャデバイスのそれぞれの電力モードに関連付けられた画像センサの数よりも多い数の画像センサ、及び第1の画像キャプチャデバイスに関連付けられた第2の画像センサによってサポートされる異なる電力モードよりも多くの電力を消費する特定の電力モードをサポートする第1の画像センサのうちの少なくとも1つに関連付けられている、態様22に記載の方法。
【0169】
態様24.第2の画像キャプチャデバイスが、第1の画像キャプチャデバイスに関連付けられた第2のカメラパイプラインよりも多くの電力を消費する第1のカメラパイプラインに関連付けられ、第1のカメラパイプラインが、第2のカメラパイプラインよりも多くの画像処理能力、及び第2のカメラパイプラインよりも高い処理性能を有する1つ以上のハードウェアコンポーネントのうちの少なくとも1つを含む、態様22又は23に記載の方法。
【0170】
態様25.第2の画像キャプチャデバイスを初期化することが、第2の画像キャプチャデバイスの電力モードを増加させることを含む、態様22から24のいずれか一項に記載の方法。
【0171】
態様26.第2の画像キャプチャデバイスの電力モードを増加させることが、第2の画像キャプチャデバイス及び第2の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させることを含む、態様25に記載の方法。
【0172】
態様27.第1の画像キャプチャデバイスからの画像データをバッファに記憶することであって、画像データの少なくとも一部分が、第2の画像キャプチャデバイスの初期化中及び第2の画像キャプチャデバイスの初期化が完了する前のうちの少なくとも1つにバッファに記憶される、記憶することと、第2の画像キャプチャデバイスに関連付けられたカメラパイプラインを介して、バッファに記憶された画像データの少なくとも一部分を処理することであって、画像データの少なくとも一部分が、第2の画像キャプチャデバイスが初期化された後に処理される、処理することと、をさらに含む、態様22から26のいずれか一項に記載の方法。
【0173】
態様28.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することが、第2の画像キャプチャデバイスのカメラパイプラインに関連付けられたプロセッサ及びカメラパイプラインに関連付けられたメモリのうちの少なくとも1つの周波数を増加させることを含む、態様21から27のいずれか一項に記載の方法。
【0174】
態様29.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することが、第2の画像キャプチャデバイスに関連付けられたカメラアプリケーションにメモリを事前に割り当てることを含む、態様21から28のいずれか一項に記載の方法。
【0175】
態様30.第1の画像キャプチャデバイスからの1つ以上の画像に基づいて、露出値及び焦点値のうちの少なくとも1つを事前収束させることをさらに含む、態様21から29のいずれか一項に記載の方法。
【0176】
態様31.第1の画像キャプチャデバイスに関連付けられた電子デバイスのロケーションを示すロケーションデータと、電子デバイスに関連付けられた1つ以上のセンサからのセンサデータであって、電子デバイスに関連付けられた動きを示す動き測定値、1つ以上のセンサによってキャプチャされたオーディオデータ、及び電子デバイスの位置を示す位置測定値のうちの少なくとも1つを含むセンサデータと、のうちの少なくとも1つを取得することと、画像データと、ロケーションデータ、オーディオデータ、及びセンサデータのうちの少なくとも1つとに基づいて、シーンを分類することと、をさらに含む、態様21から30のいずれか一項に記載の方法。
【0177】
態様32.予測されたカメラ使用イベントが、追加の画像データをキャプチャするために第1の画像キャプチャデバイスに関連付けられた電子デバイスをトリガするように構成されるユーザ入力を含む、態様21から31のいずれか一項に記載の方法。
【0178】
態様33.シーンを分類することが、画像データに関連付けられたイベントを検出することを含み、イベントが、画像データ内に描写されたシーン、第1の画像キャプチャデバイスに関連付けられた電子デバイスの特定の移動、電子デバイスに関連付けられたユーザに対する電子デバイスの位置、画像データ内で検出された群衆、1人以上のユーザに関連付けられたジェスチャ、オブジェクト上に表示されたパターン、及び互いに対する集団の人々の位置のうちの少なくとも1つを含む、態様21から32のいずれか一項に記載の方法。
【0179】
態様34.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することが、シーンに関連付けられたイベントのタイプに基づく、第2の画像キャプチャデバイスの初期化に関連付けられた1つ以上の初期化設定を判定することと、1つ以上の初期化設定に従って第2の画像キャプチャデバイスを初期化することと、を含む、態様21から33のいずれか一項に記載の方法。
【0180】
態様35.シーンを分類したことに応じて、満了値に関連付けられたタイマを初期化することと、予測されたカメラ使用イベントの発生の前にタイマの値が満了値に達したことを判定することと、予測されたカメラ使用イベントの発生の前にタイマの値が満了値に達したことに基づいて、第2の画像キャプチャデバイスの電力モードを低減させることと、をさらに含み、電力モードを低減させることが、第2の画像キャプチャデバイスをオフにすること、並びに第2の画像キャプチャデバイス及び第2の画像キャプチャデバイスに関連付けられたカメラパイプラインのうちの少なくとも1つに関連付けられた1つ以上の電力設定を低減することのうちの少なくとも1つを含む、態様21から34のいずれか一項に記載の方法。
【0181】
態様36.第2の画像キャプチャデバイスの電力モードを調整することが、投光照明器、深度センサデバイス、デュアル画像キャプチャデバイスシステム、構造化光システム、飛行時間システム、オーディオアルゴリズム、ロケーションサービス、及び第1の画像キャプチャデバイスに関連付けられたカメラパイプラインとは異なるカメラパイプラインのうちの少なくとも1つをオンにすること又は実装することを含む、態様21から35のいずれか一項に記載の方法。
【0182】
態様37.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することが、第1の画像キャプチャデバイスの電力モードを減少させることを含み、第1の画像キャプチャデバイスの電力モードを減少させることが、第1の画像キャプチャデバイス及び第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を減少させることのうちの少なくとも1つを含む、態様21から36のいずれか一項に記載の方法。
【0183】
態様38.第1の画像キャプチャデバイス及び第2の画像キャプチャデバイスのうちの少なくとも1つの電力モードを調整することが、第1の画像キャプチャデバイスの電力モードを増加させることを含み、第1の画像キャプチャデバイスの電力モードを増加させることが、第1の画像キャプチャデバイス及び第1の画像キャプチャデバイスのカメラパイプラインに関連付けられた1つ以上のハードウェアコンポーネントのうちの少なくとも1つの電力を増加させることのうちの少なくとも1つを含む、態様21から37のいずれか一項に記載の方法。
【0184】
態様39.命令を記憶した非一時的コンピュータ可読媒体であって、命令が、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、態様21から38のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読媒体。
【0185】
態様40.態様21から38のいずれか一項に記載の方法を実行する手段を備える装置。
【0186】
態様41.装置がモバイルデバイスを含む、態様40に記載の装置。
【0187】
態様42.モバイルデバイスがエクステンデッドリアリティデバイスを含む、態様41に記載の装置。
【国際調査報告】