IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クアルコム,インコーポレイテッドの特許一覧

特表2024-531072イベントマッピングに基づくカメラ設定調整
<>
  • 特表-イベントマッピングに基づくカメラ設定調整 図1
  • 特表-イベントマッピングに基づくカメラ設定調整 図2A
  • 特表-イベントマッピングに基づくカメラ設定調整 図2B
  • 特表-イベントマッピングに基づくカメラ設定調整 図3A
  • 特表-イベントマッピングに基づくカメラ設定調整 図3B
  • 特表-イベントマッピングに基づくカメラ設定調整 図4
  • 特表-イベントマッピングに基づくカメラ設定調整 図5
  • 特表-イベントマッピングに基づくカメラ設定調整 図6
  • 特表-イベントマッピングに基づくカメラ設定調整 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-29
(54)【発明の名称】イベントマッピングに基づくカメラ設定調整
(51)【国際特許分類】
   H04N 23/611 20230101AFI20240822BHJP
   H04N 23/65 20230101ALI20240822BHJP
【FI】
H04N23/611
H04N23/65 100
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024504226
(86)(22)【出願日】2022-07-27
(85)【翻訳文提出日】2024-01-23
(86)【国際出願番号】 US2022074213
(87)【国際公開番号】W WO2023015124
(87)【国際公開日】2023-02-09
(31)【優先権主張番号】17/395,348
(32)【優先日】2021-08-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【弁理士】
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】ウェスリー・ジェームズ・ホランド
(72)【発明者】
【氏名】セイフラー・ハリト・オグズ
【テーマコード(参考)】
5C122
【Fターム(参考)】
5C122DA03
5C122DA09
5C122DA16
5C122FA07
5C122FA12
5C122FH11
5C122FH14
5C122FH19
5C122FK41
5C122GA01
5C122HA35
5C122HA88
5C122HA90
5C122HB01
5C122HB02
(57)【要約】
イベントデータに基づいてカメラ設定を調整するためのシステム、方法、及び非一時的媒体が提供される。例示的な方法は、モバイルデバイスの画像キャプチャデバイスを介して、環境の少なくとも一部分を描写する画像を取得することと、画像から抽出された1つ以上の視覚的特徴と、キーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することと、一致に基づいて、画像キャプチャデバイスの1つ以上の設定を調整することと、を含み得る。
【特許請求の範囲】
【請求項1】
画像を取得するための装置であって、
メモリと、
前記メモリに結合される1つ以上のプロセッサであって、
前記装置の画像キャプチャデバイスを介して、環境の少なくとも一部分を描写する画像を取得し、
前記画像から抽出された1つ以上の視覚的特徴と、1つ以上の検出イベントに関連付けられたキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定し、
前記一致に基づいて、前記画像キャプチャデバイスの1つ以上の設定を調整する
ように構成される、つ以上のプロセッサと
を備える、装置。
【請求項2】
前記画像キャプチャデバイスの前記1つ以上の設定を調整するために、前記1つ以上のプロセッサは、前記画像キャプチャデバイスの電力モードを変更するように構成される、請求項1に記載の装置。
【請求項3】
前記画像キャプチャデバイスの前記電力モードを変更するために、前記1つ以上のプロセッサは、前記画像キャプチャデバイスのフレームレート、前記画像キャプチャデバイスの解像度、前記画像キャプチャデバイスのビニングモード、前記画像キャプチャデバイスの撮像モード、並びに前記画像キャプチャデバイス及び前記装置のうちの少なくとも1つによって起動される画像センサの数、のうちの少なくとも1つを変更するように構成される、
請求項2に記載の装置。
【請求項4】
前記画像キャプチャデバイスの前記電力モードを変更するために、前記1つ以上のプロセッサは、
前記環境内で対象のイベントが発生する尤度が閾値を下回るという判定に基づいて、前記フレームレート、前記解像度、前記ビニングモード、前記撮像モード、及び前記起動される画像センサの数、のうちの少なくとも1つを下げるように構成される、
請求項3に記載の装置。
【請求項5】
前記画像キャプチャデバイスの前記電力モードを変更するために、前記1つ以上のプロセッサは、
前記環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、前記フレームレート、前記解像度、前記ビニングモード、前記撮像モード、及び前記起動される画像センサの数、のうちの少なくとも1つを上げるように構成される、
請求項3に記載の装置。
【請求項6】
前記画像キャプチャデバイスは、第1の画像キャプチャデバイスを含み、前記1つ以上のプロセッサは、
前記環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、前記装置の第2の画像キャプチャデバイスの電力モードを上げるように構成され、前記第2の画像キャプチャデバイスは、前記第1の画像キャプチャデバイスよりも高い電力モード、前記第1の画像キャプチャデバイスよりも高いフレームレート、前記第1の画像キャプチャデバイスよりも高い解像度、前記第1の画像キャプチャデバイスよりも多い数の画像センサ、及び前記第1の画像キャプチャデバイスに関連付けられた処理パイプラインよりも高い電力の処理パイプラインのうちの少なくとも1つを採用する、
請求項1に記載の装置。
【請求項7】
前記第2の画像キャプチャデバイスの前記電力モードを上げるために、前記1つ以上のプロセッサは、前記第2の画像キャプチャデバイスを初期化するように構成される、請求項6に記載の装置。
【請求項8】
前記キーフレームは、前記装置におけるイベントデータに含まれ、前記イベントデータは、前記画像キャプチャデバイスに関連付けられた検出イベントからの多数のキーフレームを含む、請求項1に記載の装置。
【請求項9】
前記イベントデータは、前記多数のキーフレームの各キーフレームに関連付けられた検出イベントの個別のカウントをさらに含む、請求項8に記載の装置。
【請求項10】
前記1つ以上のプロセッサは、前記環境内で対象のイベントが発生する尤度を決定するように構成され、前記環境内で前記イベントが発生する前記尤度を決定するために、前記1つ以上のプロセッサは、
前記一致と、前記多数のキーフレームからの1つ以上のキーフレームとに基づいて、前記環境内で前記イベントが発生する前記尤度を決定するように構成される、
請求項8に記載の装置。
【請求項11】
前記1つ以上のプロセッサは、前記環境内で対象のイベントが発生する尤度を決定するように構成され、前記環境内で前記イベントが発生する前記尤度を決定するために、前記1つ以上のプロセッサは、前記一致と、前記キーフレームに関連付けられた検出イベントの前記個別のカウントとに基づいて、前記環境内で前記イベントが発生する前記尤度を決定するように構成される、請求項9に記載の装置。
【請求項12】
前記1つ以上のプロセッサは、
前記画像から抽出された1つ以上の視覚的特徴と、前記キーフレームに関連付けられた1つ以上の視覚的特徴との間の前記一致を判定することに応答して、前記イベントデータ内の前記キーフレームに関連付けられた検出イベントの前記個別のカウントを増加させるように構成される、
請求項9に記載の装置。
【請求項13】
前記1つ以上のプロセッサは、
前記画像キャプチャデバイスを介して、異なる環境の少なくとも一部分を描写する異なる画像を取得し、
前記異なる画像から抽出された1つ以上の視覚的特徴が、前記装置におけるイベントデータ内のどのキーフレームに関連付けられた視覚的特徴にも一致しないと判定し、
前記異なる画像に対応する前記イベントデータ内に新しいエントリを作成する
ように構成され、前記新しいエントリは、前記異なる画像から抽出された前記1つ以上の視覚的特徴が前記イベントデータ内のどのキーフレームに関連付けられた視覚的特徴とも一致しないと判定することと、対象のイベントが前記異なる画像内で検出されたという判定、前記イベントデータ内の個別のキーフレームが最後に作成されてから経過した時間、及び前記イベントデータ内の特定のキーフレームと前記画像キャプチャデバイスによってキャプチャされた特定の画像との間で個別の一致が最後に識別されてから経過した時間、のうちの少なくとも1つとに応答して作成される、
請求項1に記載の装置。
【請求項14】
前記1つ以上のプロセッサは、
前記対象のイベントが前記異なる画像内で検出されたと判定し、
前記対象のイベントが前記異なる画像内で検出されたという前記判定に基づいて、前記異なる環境内で追加の対象のイベントが発生する第2の尤度を決定し、
前記異なる環境内で前記追加の対象のイベントが発生する前記第2の尤度に基づいて、前記画像キャプチャデバイスの少なくとも1つの設定を調整する、
ように構成される、請求項13に記載の装置。
【請求項15】
前記画像キャプチャデバイスの前記1つ以上の設定は、フレームレートを含み、前記1つ以上のプロセッサは、
検出イベントのための所定のフレームレートと、前記環境内で対象のイベントが発生する尤度とに基づいて、前記フレームレートを決定し、
少なくとも、設定された期間の満了まで、又は前記画像キャプチャデバイスによってキャプチャされた異なる画像と前記装置におけるイベントデータ内の少なくとも1つのキーフレームとの間の後続の一致の判定まで、前記フレームレートを維持する
ように構成される、請求項1に記載の装置。
【請求項16】
前記1つ以上のプロセッサは、
前記設定された期間の満了後又は前記後続の一致の前記判定の後に、前記画像キャプチャデバイスの前記フレームレートを、異なるフレームレートに調整するように構成される、
請求項15に記載の装置。
【請求項17】
前記異なるフレームレートは、デフォルトフレームレート、又は、前記所定のフレームレートと、前記後続の一致に関連付けられた特定の対象のイベントを検出する第2の尤度とに基づいて決定された特定のフレームレートを含む、
請求項16に記載の装置。
【請求項18】
前記1つ以上のプロセッサは、
前記環境内で対象のイベントが発生する尤度に基づいて、前記装置の能動型深度送信機と、オーディオアルゴリズムと、全地球的航法衛星(GNSS)システム、ワイヤレスロケーションエリアネットワーク接続、及び全地球測位システム(GPS)のうちの少なくとも1つに関連付けられたロケーションサービスと、のうちの少なくとも1つの、1つ以上の異なる設定を調整するように構成される、
請求項1に記載の装置。
【請求項19】
前記1つ以上の異なる設定を調整するために、前記1つ以上のプロセッサが、前記能動型深度送信機、前記オーディオアルゴリズム、及び前記ロケーションサービスのうちの少なくとも1つをオフにするよう、又は実行するように構成される、請求項18に記載の装置。
【請求項20】
前記1つ以上のプロセッサは、
前記装置におけるイベントデータ内のキーフレームエントリに関連付けられた検出イベントのそれぞれのカウントを定期的に低減するように構成され、前記検出イベントのそれぞれのカウントは、前記イベントデータ内のすべてのキーフレームエントリにわたって比例的に低減される、
請求項1に記載の装置。
【請求項21】
前記1つ以上の検出イベントは、前記画像によって描写される顔、前記画像によって描写されるハンドジェスチャ、前記画像によって描写される感情、前記画像によって描写されるシーン、前記画像によって描写される1人以上の人、前記画像によって描写される動物、前記画像によって描写される機械可読コード、前記画像によって描写される赤外光、前記画像によって描写される二次元表面、及び前記画像によって描写されるテキストのうちの少なくとも1つの検出を含む、請求項1に記載の装置。
【請求項22】
前記キーフレームは、前記装置における前記イベントデータの一部であり、前記イベントデータは、複数のキーフレームを含む、請求項1に記載の装置。
【請求項23】
前記1つ以上のプロセッサは、
前記一致に基づいて、前記環境内で対象のイベントが発生する尤度を決定し、
前記環境内で前記対象のイベントが発生する前記尤度にさらに基づいて、前記画像キャプチャデバイスの前記1つ以上の設定を調整する
ように構成される、請求項1に記載の装置。
【請求項24】
前記1つ以上のプロセッサは、
前記装置の非画像キャプチャデバイスからのデータにさらに基づいて、前記イベントの前記尤度を決定する、又は
前記装置の前記非画像キャプチャデバイスからの前記データにさらに基づいて、前記画像キャプチャデバイスの前記1つ以上の設定を調整する
ようにさらに構成される、請求項23に記載の装置。
【請求項25】
前記装置が、モバイルデバイスを含む、請求項1に記載の装置。
【請求項26】
前記装置が、拡張現実デバイスを含む、請求項21に記載の装置。
【請求項27】
画像を取得するための方法であって、
電子デバイスの画像キャプチャデバイスを介して、環境の少なくとも一部分を描写する画像を取得するステップと、
前記画像から抽出された1つ以上の視覚的特徴と、1つ以上の検出イベントに関連付けられたキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定するステップと、
前記一致に基づいて、前記画像キャプチャデバイスの1つ以上の設定を調整するステップと
を含む、方法。
【請求項28】
前記画像キャプチャデバイスの前記1つ以上の設定を調整するステップは、前記画像キャプチャデバイスの電力モードを変更するステップを含む、請求項27に記載の方法。
【請求項29】
前記画像キャプチャデバイスの前記電力モードを変更するステップは、前記画像キャプチャデバイスのフレームレート、前記画像キャプチャデバイスの解像度、前記画像キャプチャデバイスのビニングモード、前記画像キャプチャデバイスの撮像モード、並びに前記画像キャプチャデバイス及び前記電子デバイスのうちの少なくとも1つによって起動される画像センサの数、のうちの少なくとも1つを変更するステップを含む、請求項28に記載の方法。
【請求項30】
前記画像キャプチャデバイスの前記電力モードを変更するステップは、
前記環境内で対象のイベントが発生する尤度が閾値を下回るという判定に基づいて、前記フレームレート、前記解像度、前記ビニングモード、前記撮像モード、及び前記起動される画像センサの数、のうちの少なくとも1つを下げるステップを含む、
請求項29に記載の方法。
【請求項31】
前記画像キャプチャデバイスの前記電力モードを変更するステップは、
前記環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、前記フレームレート、前記解像度、前記ビニングモード、前記撮像モード、及び前記起動される画像センサの数、のうちの少なくとも1つを増加させるステップを含む、
請求項29に記載の方法。
【請求項32】
前記画像キャプチャデバイスは、第1の画像キャプチャデバイスを含み、前記方法は、
前記環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、前記電子デバイスの第2の画像キャプチャデバイスの電力モードを上げるステップをさらに含み、前記第2の画像キャプチャデバイスは、前記第1の画像キャプチャデバイスよりも高い電力モード、前記第1の画像キャプチャデバイスよりも高いフレームレート、前記第1の画像キャプチャデバイスよりも高い解像度、前記第1の画像キャプチャデバイスよりも多い数の画像センサ、及び前記第1の画像キャプチャデバイスに関連付けられた処理パイプラインよりも高い電力の処理パイプラインのうちの少なくとも1つを採用する、
請求項27に記載の方法。
【請求項33】
前記第2の画像キャプチャデバイスの前記電力モードを上げるステップは、前記第2の画像キャプチャデバイスを初期化するステップを含む、請求項32に記載の方法。
【請求項34】
前記キーフレームは、前記電子デバイスにおけるイベントデータに含まれ、前記イベントデータは、前記画像キャプチャデバイスに関連付けられた検出イベントからの多数のキーフレームを含む、請求項27に記載の方法。
【請求項35】
前記イベントデータは、前記多数のキーフレームの各キーフレームに関連付けられた検出イベントの個別のカウントをさらに含む、請求項34に記載の方法。
【請求項36】
前記一致と、前記多数のキーフレームからの1つ以上のキーフレームとに基づいて、前記環境内で対象のイベントが発生する尤度を決定するステップをさらに含む、請求項34に記載の方法。
【請求項37】
前記一致と、前記キーフレームに関連付けられた検出イベントの前記個別のカウントとに基づいて、前記環境内で対象のイベントが発生する尤度を決定するステップをさらに含む、請求項35に記載の方法。
【請求項38】
前記画像から抽出された1つ以上の視覚的特徴と、前記キーフレームに関連付けられた1つ以上の視覚的特徴との間の前記一致を判定するステップに応答して、前記イベントデータ内の前記キーフレームに関連付けられた検出イベントの前記個別のカウントを増加させるステップをさらに含む、請求項35に記載の方法。
【請求項39】
前記画像キャプチャデバイスを介して、異なる環境の少なくとも一部分を描写する異なる画像を取得するステップと、
前記異なる画像から抽出された1つ以上の視覚的特徴が、前記電子デバイスにおけるイベントデータ内のどのキーフレームに関連付けられた視覚的特徴にも一致しないと判定するステップと、
前記異なる画像に対応する前記イベントデータ内に新しいエントリを作成するステップと
をさらに含み、前記新しいエントリは、前記異なる画像から抽出された前記1つ以上の視覚的特徴が前記イベントデータ内のどのキーフレームに関連付けられた視覚的特徴とも一致しないと判定するステップと、対象のイベントが前記異なる画像内で検出されたという判定、前記イベントデータ内の個別のキーフレームが最後に作成されてから経過した時間、及び前記イベントデータ内の特定のキーフレームと前記画像キャプチャデバイスによってキャプチャされた特定の画像との間で個別の一致が最後に識別されてから経過した時間、のうちの少なくとも1つとに応答して作成される、
請求項27に記載の方法。
【請求項40】
前記対象のイベントが前記異なる画像内で検出されたと判定するステップと、
前記対象のイベントが前記異なる画像内で検出されたという前記判定に基づいて、前記異なる環境内で追加の対象のイベントが発生する第2の尤度を決定するステップと、
前記異なる環境内で前記前記追加の対象のイベントが発生する前記第2の尤度に基づいて、前記画像キャプチャデバイスの少なくとも1つの設定を調整するステップと
をさらに含む、請求項39に記載の方法。
【請求項41】
前記画像キャプチャデバイスの前記1つ以上の設定は、フレームレートを含み、前記方法は、
検出イベントのための所定のフレームレートと、前記環境内で対象のイベントが発生する尤度とに基づいて、前記フレームレートを決定するステップと、
少なくとも、設定された期間の満了まで、又は前記画像キャプチャデバイスによってキャプチャされた異なる画像と前記電子デバイスにおけるイベントデータ内の少なくとも1つのキーフレームとの間の後続の一致の判定まで、前記フレームレートを維持するステップと
をさらに含む、請求項27に記載の方法。
【請求項42】
前記設定された期間の満了後了又は前記後続の一致の前記判定の後に、前記画像キャプチャデバイスの前記フレームレートを、異なるフレームレートに調整するステップをさらに含む、請求項41に記載の方法。
【請求項43】
前記異なるフレームレートは、デフォルトフレームレート、又は、前記所定のフレームレートと、前記後続の一致に関連付けられた特定の対象のイベントを検出する第2の尤度とに基づいて決定された特定のフレームレートを含む、
請求項42に記載の方法。
【請求項44】
前記環境内で対象のイベントが発生する尤度に基づいて、前記電子デバイスの能動型深度送信機と、オーディオアルゴリズムと、全地球的航法衛星(GNSS)システム、ワイヤレスロケーションエリアネットワーク接続、及び全地球測位システム(GPS)のうちの少なくとも1つに関連付けられたロケーションサービスとのうちの少なくとも1つの、1つ以上の異なる設定を調整するステップをさらに含む、請求項27に記載の方法。
【請求項45】
前記1つ以上の異なる設定を調整するステップが、前記能動型深度送信機、前記オーディオアルゴリズム、及び前記ロケーションサービスのうちの少なくとも1つをオフにするステップ、又は実行するステップを含む、請求項44に記載の方法。
【請求項46】
前記電子デバイスにけるイベントデータ内のキーフレームエントリに関連付けられた検出イベントのそれぞれのカウントを定期的に低減するステップをさらに含む請求項27に記載の方法であって、前記検出イベントのそれぞれのカウントは、前記イベントデータ内のすべてのキーフレームエントリにわたって比例的に低減される、
請求項27に記載の方法。
【請求項47】
前記1つ以上の検出イベントは、前記画像によって描写される顔、前記画像によって描写されるハンドジェスチャ、前記画像によって描写される感情、前記画像によって描写されるシーン、前記画像によって描写される1人以上の人、前記画像によって描写される動物、前記画像によって描写される機械可読コード、前記画像によって描写される赤外光、前記画像によって描写される二次元表面、及び前記画像によって描写されるテキストのうちの少なくとも1つの検出を含む、請求項27に記載の方法。
【請求項48】
前記キーフレームは、前記電子デバイスにおける前記イベントデータの一部であり、前記イベントデータは、複数のキーフレームを含む、請求項27に記載の方法。
【請求項49】
前記一致に基づいて、前記環境内で対象のイベントが発生する尤度を決定するステップと、
前記環境内で前記対象のイベントが発生する前記尤度にさらに基づいて、前記画像キャプチャデバイスの前記1つ以上の設定を調整するステップと
をさらに含む、請求項27に記載の方法。
【請求項50】
前記電子デバイスの非画像キャプチャデバイスからのデータにさらに基づいて、前記イベントの前記尤度を決定するステップ、又は
前記電子デバイスの前記非画像キャプチャデバイスからの前記データにさらに基づいて、前記画像キャプチャデバイスの前記1つ以上の設定を調整するステップ
をさらに含む、請求項49に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、カメラ設定調整に関する。例えば、本開示の態様は、イベントマッピングに基づくカメラ設定調整に関する。
【背景技術】
【0002】
電子デバイスは、画像及び/又はビデオをキャプチャして使うためのカメラハードウェアを装備することが増えている。例えば、コンピューティングデバイスは、カメラを含む(例えば、携帯電話やスマートフォンなどのモバイルデバイスが1つ以上のカメラを含む)ことができ、コンピューティングデバイスが、シーン、人物、オブジェクトなどのビデオや画像をキャプチャすることを可能にする。画像又はビデオは、コンピューティングデバイス(例えば、モバイルデバイス、IPカメラ、エクステンデッドリアリティ(extended reality、XR)デバイス、コネクテッドデバイスなど)によってキャプチャされ、処理され、かつ記憶されるか、又は使うために出力され得る(例えば、デバイス及び/又は別のデバイス上に表示される)。場合によっては、画像又はビデオは、中でも特に、エフェクト(例えば、圧縮、画像強調、画像復元、スケーリング、フレームレート変換等)及び/又は特定のアプリケーション、例えば、コンピュータビジョン(computer vision、CV)、エクステンデッドリアリティ(例えば、拡張現実(augmented reality、AR)、仮想現実(virtual reality、VR)等)、オブジェクト検出、画像認識(例えば、顔認識、オブジェクト認識、シーン認識等)、特徴抽出、認証、及び自動化等のためにさらに処理され得る。
【0003】
場合によっては、電子デバイスは、画像を処理して、画像によってキャプチャされたオブジェクト、顔、及び/又は任意の他のアイテムを検出することができる。オブジェクト検出は、例えば、中でも特に認証、自動化、ジェスチャ認識、監視、エクステンデッドリアリティ、コンピュータビジョン等の、種々の用途に有用であり得る。いくつかの例では、電子デバイスは、環境内の特定のオブジェクトを自動的に検出するように持続的に又は定期的に動作する、低電力又は「常時オン(always on、AON)」カメラを、実装することができる。低電力カメラは、例えば、持続的ジェスチャ検出、持続的オブジェクト(例えば、顔/人、動物、車両、デバイス、飛行機など)検出、持続的オブジェクトスキャン(例えば、クイックレスポンス(quick response、QR)コードスキャン、バーコードスキャンなど)、認証のための持続的顔認識などの様々な使用事例のために実装することができる。しかしながら、低電力カメラ及び他のカメラ設定の持続的動作及び/又はより頻繁な動作は、全体的に高い電力消費をもたらし得る。さらに、そのような低電力カメラを実装するモバイルデバイスは、バッテリ寿命の減少を引き起こす可能性があり、固定デバイスは、より複雑な熱放散設計を必要とし、及び/又は長期使用中に、許容できないほど低い電力効率を示す場合がある。したがって、著しく高い電力消費は、電子デバイスの使用、デバイスの性能、及びユーザエクスペリエンスに悪影響を及ぼす可能性がある。
【発明の概要】
【0004】
イベントマッピングに基づくカメラ設定調整のためのシステム及び技法が本明細書で説明される。少なくとも1つの例によれば、イベントデータに基づいてカメラ設定を調整するための方法が提供される。本方法は、電子デバイスの画像キャプチャデバイスを介して、環境の少なくとも一部分を描写する画像を取得することと、画像から抽出された1つ以上の視覚的特徴と、1つ以上の検出イベントに関連付けられたキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することと、一致に基づいて、画像キャプチャデバイスの1つ以上の設定を調整することと、を含み得る。
【0005】
少なくとも1つの例によれば、イベントデータに基づいてカメラ設定を調整するための非一時的コンピュータ可読媒体が提供される。非一時的コンピュータ可読媒体は、その上に記憶された命令を含むことができ、その命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、電子デバイスの画像キャプチャデバイスを介して、環境の少なくとも一部分を示す画像を取得させ、画像から抽出された1つ以上の視覚的特徴と、1つ以上の検出イベントに関連付けられたキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定させ、一致に基づいて、画像キャプチャデバイスの1つ以上の設定を調整させる。
【0006】
少なくとも1つの例によれば、イベントデータに基づいてカメラ設定を調整するための装置が提供される。本装置は、メモリと、1つ以上のプロセッサであって、本装置の画像キャプチャデバイスを介して、環境の少なくとも一部分を描写する画像を取得し、画像から抽出された1つ以上の視覚的特徴と、1つ以上の検出イベントに関連付けられたキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定し、一致に基づいて、画像キャプチャデバイスの1つ以上の設定を調整するように構成される、1つ以上のプロセッサと、を含むことができる。
【0007】
少なくとも1つの例によれば、イベントデータに基づいてカメラ設定を調整するための別の装置が提供される。本装置は、本装置の画像キャプチャデバイスを介して、環境の少なくとも一部分を描写する画像を取得するため、画像から抽出された1つ以上の視覚的特徴と、1つ以上の検出イベントに関連付けられたキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定するため、及び一致に基づいて、画像キャプチャデバイスの1つ以上の設定を調整するための手段を含み得る。
【0008】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、電子デバイスにおけるイベントデータ内のキーフレームエントリに関連付けられた検出イベントのそれぞれのカウントを定期的に低減することができ、検出イベントのそれぞれのカウントは、イベントデータ内のすべてのキーフレームエントリにわたって比例的に低減される。
【0009】
いくつかの例では、画像キャプチャデバイスの1つ以上の設定を調整することは、画像キャプチャデバイスの電力モードを変更することを含むことができる。場合によっては、画像キャプチャデバイスの電力モードを変更することは、画像キャプチャデバイスのフレームレート、画像キャプチャデバイスの解像度、画像キャプチャデバイスのビニングモード、画像キャプチャデバイスの撮像モード、並びに画像キャプチャデバイス及び電子デバイスの少なくとも1つによって起動される画像センサの数、のうちの少なくとも1つを変更することを含むことができる。いくつかの例では、画像キャプチャデバイスの電力モードを変更することは、環境内で対象のイベントが発生する尤度が閾値を下回るという判定に基づいて、フレームレート、解像度、ビニングモード、撮像モード、及び起動される画像センサの数、のうちの少なくとも1つを下げることを含み得る。いくつかの例では、画像キャプチャデバイスの電力モードを変更することは、環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、フレームレート、解像度、ビニングモード、撮像モード、及び起動される画像センサの数、のうちの少なくとも1つを増加させることを含み得る。
【0010】
いくつかの例では、画像キャプチャデバイスは、第1の画像キャプチャデバイスを含むことができ、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、電子デバイスの第2の画像キャプチャデバイスの電力モードを上げることをさらに含むことができ、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスよりも高い電力モード、第1の画像キャプチャデバイスよりも高いフレームレート、第1の画像キャプチャデバイスよりも高い解像度、第1の画像キャプチャデバイスよりも多い数の画像センサ、及び第1の画像キャプチャデバイスに関連付けられた処理パイプラインよりも高い電力の処理パイプラインのうちの少なくとも1つを採用する。いくつかの例では、第2の画像キャプチャデバイスの電力モードを上げることは、第2の画像キャプチャデバイスを初期化することを含むことができる。
【0011】
場合によっては、キーフレームは、電子デバイスにおけるイベントデータに含まれ、イベントデータは、画像キャプチャデバイスに関連付けられた検出イベントからの多数のキーフレームを含むことができる。場合によっては、イベントデータは、多数のキーフレームの各キーフレームに関連付けられた検出イベントの個別のカウントをさらに含む。
【0012】
いくつかの態様では、上で説明した方法、非一時的コンピュータ可読媒体、及び装置は、一致と、多数のキーフレームからの1つ以上のキーフレームとに基づいて、環境内で対象のイベントが発生する尤度を決定することを含むことができる。
【0013】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、一致と、キーフレームに関連付けられた検出イベントの個別のカウントとに基づいて、環境内で対象のイベントが発生する尤度を決定することを含むことができる。
【0014】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、画像から抽出された1つ以上の視覚的特徴と、キーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することに応答して、イベントデータ内のキーフレームに関連付けられた検出イベントの個別のカウントを増加させることを含むことができる。
【0015】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、画像キャプチャデバイスを介して、異なる環境の少なくとも一部分を描写する異なる画像を取得することと、異なる画像から抽出された1つ以上の視覚的特徴が、電子デバイスにおけるイベントデータ内のどのキーフレームに関連付けられた視覚的特徴にも一致しないと判定することと、異なる画像に対応するイベントデータ内に新しいエントリを作成することと、を含むことができ、新しいエントリは、異なる画像から抽出された1つ以上の視覚的特徴がイベントデータ内のどのキーフレームに関連付けられた視覚的特徴とも一致しないと判定することと、対象のイベントが異なる画像内で検出されたという判定、イベントデータ内の個別のキーフレームが最後に作成されてから経過した時間、及びイベントデータ内の特定のキーフレームと画像キャプチャデバイスによってキャプチャされた特定の画像との間で個別の一致が最後に識別されてから経過した時間、のうちの少なくとも1つと、に応答して作成される。
【0016】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、対象のイベントが異なる画像内で検出されたと判定することと、対象のイベントが異なる画像内で検出されたという判定に基づいて、異なる環境内で追加の対象のイベントが発生する第2の尤度を決定することと、異なる環境内で追加の対象のイベントが発生する第2の尤度に基づいて、画像キャプチャデバイスの少なくとも1つの設定を調整することと、を含むことができる。
【0017】
場合によっては、画像キャプチャデバイスの1つ以上の設定は、フレームレートを含むことができ、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、検出イベントのための所定のフレームレートと、環境内で対象のイベントが発生する尤度とに基づいて、フレームレートを決定することと、少なくとも、設定された期間の満了まで、又は画像キャプチャデバイスによってキャプチャされた異なる画像と電子デバイスにおけるイベントデータ内の少なくとも1つのキーフレームとの間の後続の一致の判定まで、フレームレートを維持することと、を含むことができる。
【0018】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、設定された期間の満了後又は後続の一致の判定の後に、画像キャプチャデバイスのフレームレートを異なるフレームレートに調整することを含むことができる。いくつかの例では、異なるフレームレートは、デフォルトフレームレート、又は、所定のフレームレートと、後続の一致に関連付けられた特定の対象のイベントを検出する第2の尤度とに基づいて決定された特定のフレームレートを含むことができる。
【0019】
いくつかの例では、所定のフレームレートは、画像キャプチャデバイスによってサポートされる最も高いフレームレートを含むことができ、フレームレートを決定することは、所定のフレームレートに、環境内で検出イベントが発生する尤度に対応する値を乗算することを含むことができる。
【0020】
いくつかの例では、所定のフレームレートは、デフォルトフレームレートよりも高く、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、1つ以上のキーフレームを電子デバイスにおけるイベントデータに追加することに応答して、デフォルトフレームレートをより低いフレームレートに低減することを含むことができる。
【0021】
場合によっては、画像から抽出された1つ以上の視覚的特徴と、キーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することは、画像から抽出された1つ以上の視覚的特徴のうちの少なくとも1つをキーフレームに関連付けられた1つ以上の視覚的特徴と比較すること、及び画像から抽出された1つ以上の視覚的特徴の第1の記述子をキーフレームに関連付けられた1つ以上の視覚的特徴の第2の記述子と比較すること、をさらに含むことができる。
【0022】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、環境内で対象のイベントが発生する尤度に基づいて、電子デバイスの能動型深度送信機と、オーディオアルゴリズムと、全地球的航法衛星(GNSS)システム、ワイヤレスロケーションエリアネットワーク接続、及び全地球測位システム(GPS)のうちの少なくとも1つに関連付けられたロケーションサービスと、のうちの少なくとも1つの、1つ以上の異なる設定を調整することを含むことができる。
【0023】
いくつかの例では、1つ以上の異なる設定を調整することは、能動型深度送信機、オーディオアルゴリズム、及びロケーションサービスのうちの少なくとも1つをオフにすること又は実行することを含むことができる。
【0024】
いくつかの例では、1つ以上の検出イベントは、画像によって描写される顔、画像によって描写されるハンドジェスチャ、画像によって描写される感情、画像によって描写されるシーン、画像によって描写される1人以上の人、画像によって描写される動物、画像によって描写される機械可読コード、画像によって描写される赤外光、画像によって描写される二次元表面、及び画像によって描写されるテキストのうちの少なくとも1つの検出を含むことができる。場合によっては、キーフレームは、電子デバイスにおけるイベントデータの一部であり、イベントデータは、複数のキーフレームを含む。
【0025】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、一致に基づいて、環境内で対象のイベントが発生する尤度を決定することと、環境内で対象のイベントが発生する尤度にさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整することと、を含むことができる。
【0026】
いくつかの態様では、上記で説明した方法、非一時的コンピュータ可読媒体、及び装置は、電子デバイスの非画像キャプチャデバイスからのデータにさらに基づいて、イベントの尤度を決定すること、又は、電子デバイスの非画像キャプチャデバイスからのデータにさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整すること、を含むことができる。
【0027】
いくつかの態様では、上記で説明した装置のうちの各々は、モバイルデバイス、スマート又はコネクテッドデバイス、カメラシステム、及び/又はエクステンデッドリアリティ(XR)デバイス(例えば、仮想現実(VR)デバイス、拡張現実(AR)デバイス、又は複合現実(mixed reality、MR)デバイス)の一部であるか、又はそれらを含むことができる。いくつかの例では、装置は、車両、モバイルデバイス(例えば、携帯電話又はいわゆる「スマートフォン」又は他のモバイルデバイス)、ウェアラブルデバイス、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバコンピュータ、ロボティクスデバイス又はシステム、航空システム、あるいは他のデバイスを含むか、又はそれらの一部であり得る。いくつかの態様では、装置は、1つ以上の画像をキャプチャするための画像センサ(例えば、カメラ)又は複数の画像センサー(例えば、複数のカメラ)を含む。いくつかの態様では、装置は、1つ以上の画像、通知、及び/又は他の表示可能なデータを表示するための1つ以上のディスプレイを含む。いくつかの態様では、装置は、1つ以上のスピーカー、1つ以上の発光デバイス、及び/又は1つ以上のマイクロフォンを含む。いくつかの態様では、上記で説明した装置は、1つ以上のセンサを含んでもよい。場合によっては、1つ以上のセンサは、装置のロケーション、装置の状態(例えば、追跡状態、動作状態、温度、湿度レベル、及び/又は他の状態)を判定するために、及び/又は他の目的のために使用することができる。
【0028】
本概要は、特許請求される主題の主要な又は必須の特徴を特定することは意図されず、特許請求される主題の範囲を決定するために独立して使用されることも意図されない。本主題は、この特許の明細書全体、いずれか又はすべての図面、及び各請求項の適切な部分を参照することによって理解されるはずである。
【0029】
上記については、他の特徴及び実施形態と共に、以下の明細書、特許請求の範囲、及び添付図面を参照すると、より明らかになろう。
【0030】
本出願の説明のための例について、以下の図を参照しながら以下で詳細に説明する。
【図面の簡単な説明】
【0031】
図1】本開示のいくつかの例による、イベントデータを判定し、イベントデータに基づいて、電子デバイスの1つ以上の構成要素及び/又は動作を制御するために使用される、電子デバイスの一例を示す図である。
図2A】本開示のいくつかの例による、環境に関連付けられたイベントをマッピングし、マッピングされたイベントに基づいてデバイスの設定を制御するための、例示的なシステムプロセスを示す図である。
図2B】本開示のいくつかの例による、環境に関連付けられたイベントをマッピングし、マッピングされたイベントに基づいてデバイスの設定を制御するための、例示的なシステムプロセスを示す図である。
図3A】本開示のいくつかの例による、イベントマップを更新するための例示的プロセスを示す図である。
図3B】本開示のいくつかの例による、イベントマップを更新するための例示的プロセスを示す図である。
図4】本開示のいくつかの例による、キャプチャされたフレーム内の特徴とイベントデータのキーフレーム内の特徴との間の一致に基づいて、異なる時間において調節された例示的な設定を示す図である。
図5】本開示のいくつかの例による、電子デバイスが異なるシーンにあるときに実行される、異なる電力状態の一例を示す図である。
図6】本開示のいくつかの例による、イベントデータに基づいてカメラ設定を調整するための、例示的なプロセスを示すフローチャートである。
図7】本開示のいくつかの例による、コンピューティングデバイスアーキテクチャの一例を示す図である。
【発明を実施するための形態】
【0032】
本開示の特定の態様及び実施形態が、以下で提供される。当業者に明らかになるように、これらの態様及び実施形態のうちのいくつかが独立して適用されてもよく、それらのうちのいくつかは組み合わせて適用されてもよい。以下の説明では、説明の目的のために、本出願の実施形態の完全な理解をもたらすために具体的な詳細が記載される。しかしながら、様々な実施形態がこれらの具体的な詳細なしに実践され得ることは明らかであろう。図及び説明は限定的であることが意図されていない。
【0033】
以下の説明は、例示的な実施形態を提供するにすぎず、本開示の範囲、適用可能性、又は構成を限定することを意図しない。むしろ、例示的な実施形態の以下の説明は、例示的な実施形態を実装することを可能にする説明を当業者に提供する。添付の特許請求の範囲に記載されるような本出願の趣旨及び範囲から逸脱することなく、要素の機能及び構成において様々な変更が加えられてよいことを理解されたい。
【0034】
電子デバイス(例えば、モバイルフォン、ウェアラブルデバイス(例えば、スマートウォッチ、スマートブレスレット、スマートグラスなど)、タブレットコンピュータ、エクステンデッドリアリティ(XR)デバイス(例えば、仮想現実(VR)デバイス、拡張現実(AR)デバイス、複合現実(mixed reality、MR)デバイスなど)、コネクテッドデバイス、ラップトップコンピュータなど)は、対象のイベントを検出及び/又は認識するためのカメラを実装することができる。例えば、電子デバイスは、カメラを実装することができ、カメラは、低電力モードで動作することができ、及び/又はより低電力カメラとして(例えば、そのカメラの容量及び/又は電子デバイス上の任意の他のカメラの容量よりも低い電力で)動作することができ、オンデマンドで、進行中に、又は定期的に、対象のイベントを検出及び/又は認識することができる。いくつかの例では、低電力カメラは、(例えば、そのカメラの電力モード/消費能力及び/又はより高い電力モード/消費能力を有する別のカメラと比較して)低減された又はより低い電力モード/消費で動作するカメラを含むことができる。場合によっては、低電力カメラは、低電力設定(例えば、低電力モード、低電力動作、低電力ハードウェア、低電力カメラパイプラインなど)を採用して、他のカメラ及び/又はカメラパイプライン、例えば、メインカメラ及び/又はメインカメラパイプラインなどと比較して、電力消費が制限又は低減された状態で持続的撮像を可能にすることができる。低電力カメラによって採用される低電力設定は、例えば、限定はしないが、低解像度、少ない数量の画像センサ(及び/又は電子デバイス上の他の画像センサよりも低い電力消費を有する画像センサ(複数可))、低フレームレート、一般にスタティックランダムアクセスメモリ(static random-access memory、SRAM)よりも多くの電力を消費し得るダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM)ではなくオンチップSRAM、アイランド電圧レール、ロックソーシングのための発振器(例えば、より高い電力消費を有し得る位相ロックループ(phase lock loop、PLL)ではなく)、及び/又はより低い電力消費をもたらす他のハードウェア/ソフトウェア構成要素/設定を含むことができる。
【0035】
上述したように、カメラは、対象のイベントを検出するために使用することができる。対象のイベントの例としては、ジェスチャ(例えば、ハンドジェスチャなど)、アクション(例えば、デバイス、人、及び/又は動物によるアクションなど)、1つ以上のオブジェクトの存在または発生などを挙げることができる。対象のイベントに関連付けられたオブジェクトとしては、例えば、限定はしないが、顔、手、1本以上の指、人体の一部位、コード(例えば、クイックレスポンス(QR)コード、バーコードなど)、文書、シーン又は環境、リンク、機械可読コードなどが挙げられる、及び/又はそれらに言及することができる。低電力カメラは、対象のイベントを検出するために使用される、低電力ハードウェア及び/又はエネルギー効率の良い画像処理ソフトウェアを、実装することができる。低電力カメラは、高電力/高解像度カメラなどの他のデバイスよりも少ないバッテリ電力を使用しながら、オンのままで、又は「ウェイクアップ」して、シーン内の動き及び/又はオブジェクトを監視し、シーン内のイベントを検出することができる。
【0036】
例えば、カメラは、シーン内の動き及び/又はアクティビティを監視して、オブジェクトを発見することができる。いくつかの例では、カメラは、前述のように、高電力設定を採用するカメラ又は別のカメラと比較して、より低い又は制限された電力消費のために低電力設定を採用することができる。例を挙げると、XRデバイスは、XRコントローラ及び/又は他の追跡されるオブジェクトを定期的に発見するカメラを実装することができ、モバイルフォンは、スキャンすべきコード(例えば、QRコード(登録商標))又はドキュメントを定期的にチェックするカメラを実装することができ、スマートホームアシスタントは、ユーザの存在を定期的にチェックするカメラを実装することなどができる。何らかのオブジェクトを発見すると、カメラは、例えば、他のアクションの中でも特に、オブジェクト検出、オブジェクト認識、認証(例えば、顔認証など)、及び/又は画像処理タスクなどの、1つ以上のアクションをトリガすることができる。場合によっては、カメラは、他のカメラ、センサ、プロセッシングハードウェアなどの他のデバイス及び/又は構成要素を「ウェイクアップ」させることができる。
【0037】
低電力設定と比較してより高い電力設定(例えば、低電力設定に対してより高い解像度、低電力設定に対してより大量の画像センサ(及び/又はデバイス上の他の画像センサより高い電力消費を有する画像センサ(複数可))、低電力設定に対してより高いフレームレート、オンチップSRAMではなくDRAM、リング発振器ではなくPLLなど)を採用するカメラ又は別のカメラと比較して、低電力設定を採用するカメラの電力消費は、比較的低い可能性があり、対象のイベントの発生が増加するにつれて、電力消費も増加する可能性がある。さらに、いくつかの使用事例では、より高いフレームレート、より高い解像度、より多くの数のカメラセンサの使用などを指示する、レイテンシの目標及び/又は要件があり、これは、カメラの電力消費をさらに増加させ得る。例えば、場合によっては、QRコード(登録商標)を検出するとき、カメラは、より高いフレームレートを使用して、QRコード(登録商標)をより高速に登録し、登録の際のレイテンシを低減し得る。したがって、時間の経過とともに、カメラが消費する電力量を増加させる可能性があり、これは、デバイスにおける全体的な電力消費に影響を及ぼす可能性がある。場合によっては、誤検出イベントの数が増加するにつれて、低電力カメラはより一層不要な量の電力を消費する可能性がある。
【0038】
カメラは、特定のロケーション/環境において、特定の対象のイベントに遭遇する可能性がより高くなる場合がある。例えば、XRデバイスのユーザは、通常、家の特定の部屋で拡張現実ゲームをプレイする場合がある。XRデバイスは、仮想現実ゲームをプレイするためにXRデバイスと共に使用されるコントローラを発見するカメラを、実装することができる。したがって、XRデバイスがその部屋の中にあるとき、XRデバイスのカメラは、その環境内で頻繁な検出イベントに遭遇することになるので、XRデバイスのカメラは、より多くの電力を消費し得る。別の一例として、ユーザは、通常、キッチンからの配達を注文する際に、レストランのメニュー上のQRコードをスキャンし得る。したがって、QRコードを発見するためにユーザのモバイルデバイスによって実装されるカメラは、モバイルデバイスがキッチンにあるとき(例えば、モバイルデバイスが1つ以上の他の環境にあるときとは異なって)、カメラがその環境内でより頻繁な検出イベントに遭遇するので、より高い電力消費を引き起こし得る。
【0039】
上記で説明したように、異なる環境は、他の環境よりも、カメラのより高い又はより低い電力消費をトリガすることがあり、特定の環境においてより高い又はより低い頻度を有し得る特定の使用事例は、より高い又はより低いレイテンシ要件を有し得る。これは、いくつかのケース及び環境において、不要及び/又は過剰な電力消費、並びにいくつかのケース及び環境における過剰又は不十分な性能/デバイス設定(例えば、フレームレート、解像度、センサの数及び使用される頻度など)につながる可能性がある。
【0040】
イベントデータに基づくカメラ設定調整のためのシステム、装置、方法(プロセスとも呼ばれる)、及びコンピュータ可読媒体(本明細書では「システム及び技法」と総称される)が、本明細書で説明される。いくつかの例では、カメラは、ある環境内のイベントを検出し、検出されたイベントを、その環境及び/又はその環境に関連付けられたロケーションに関連付けるプロセスを実装することができる。そのプロセスは、環境/ロケーションと検出されたイベントとの関連付けを使用して、特定の環境/ロケーションにおける対象のイベントの尤度を決定することができる。プロセスは、尤度情報を使用してカメラの設定を調整し、不要な電力消費を低減し、及び/又はより可能性の高い/より予想されるレイテンシ要件に従って、性能設定を調整することができる。例えば、対象の検出イベント(例えば、対象のイベントの検出)が発生する尤度がより高い環境内にカメラがあるときには、カメラは、1つ以上の設定(例えば、フレームレート、解像度、起動される画像センサの数、電力モードなど)を上げて、カメラのレイテンシを低減することができる。別の一例として、対象の検出イベントが発生する尤度がより低い環境にカメラがあるときには、カメラは、1つ以上の設定(例えば、フレームレート、解像度、起動される画像センサの数、電力モードなど)を下げて、カメラの電力消費を低減することができる。
【0041】
いくつかの態様では、カメラを有する電子デバイス(例えば、XRデバイス、モバイルデバイス、コネクテッドデバイス、タブレットコンピュータ、ラップトップコンピュータ、スマートウェアラブルデバイスなど)は、1つ以上の環境における対象のイベントの発生を識別するイベントデータ(例えば、1つ以上の環境(及び/又は関連する領域/部分)を以前に検出された対象のイベントに関連付けるイベントマップ、分類マップ、分類データ、1つ以上のキーフレーム、フレームから抽出された特徴、イベントの統計値、履歴データなど)に基づいて、カメラ設定(例えば、フレームレート、解像度、起動される画像センサの数、電力モードなど)を調節することによって、電力を節約し、カメラ性能を高めることができる。いくつかの例では、カメラ設定を調節するために使用されるイベントデータ(例えば、イベントマップ、抽出された特徴、1つ以上のキーフレーム、分類データ、イベントの統計値など)を生成するために、電子デバイスは、カメラによって取得された入来するフレームから視覚的特徴を、都合の良いように抽出する特徴抽出器を実装することができる。特徴抽出器は、検出器及び/又はアルゴリズムを実装することができ、それらの例としては、スケール不変特徴変換(scale-invariant feature transform、SIFT)、高速化ロバスト特徴(speeded up robust feature、SURF)、方向付きFAST及び回転BRIEF(Oriented FAST and rotated BRIEF、ORB)、及び/又は任意の他の検出器/アルゴリズムが挙げられる。カメラ設定を調節するために使用されるイベントデータ(例えば、イベントマップ、抽出された特徴、分類データなど)を生成するために、電子デバイスはまた、入来するカメラフレームの特徴をイベントデータ内のキーフレームの特徴と比較するキーフレーム照合器を実装することができる。
【0042】
いくつかの例では、イベントデータ内のキーフレームは、検出された対象のイベントに関連付けられたカメラフレームに基づいて作成されたキーフレームを含むことができる。電子デバイスは、イベントに関連付けられた新しいキーフレームを作成する(又は既存のキーフレームを置き換える)かどうかを決定し、そのキーフレームに関連付けられたイベントカウントをイベントデータ内に記録(又は更新)するマッパを実装することができる。イベントデータは、カメライベントが観察されたロケーション/環境に対応する多数のキーフレームを、それらのキーフレームに関連付けられたイベントカウントとともに含むことができる。コントローラは、マップを使用して、入来するカメラフレームとマップ内のキーフレームとの間の一致に基づいて、カメラの1つ以上の設定(例えば、フレームレート、解像度、電力モード、ビニングモード、撮像モード、起動される画像センサの数など)を調節することができる。
【0043】
場合によっては、イベントデータは、キーフレームの視覚的特徴と、キーフレームの各々と一致する対象のカメライベントの発生数(及び/又はキーフレームとの一致数)とを含むエントリを有する、辞書又はデータ構造を含むことができる。例えば、イベントデータは、顔検出イベントの数n(例えば、顔の以前の検出の数n)が、キーフレームxに対応する1つ以上の視覚的特徴に関連付けられるということを示すエントリを有する辞書を含むことができる。対象のイベントに関連付けられたある特定の環境及び/又は環境の領域/部分に関係するキーフレームにわたって、対象のイベントのカウントを合計することによって、各イベントについての(例えば、記録されたキーフレームについての)総カウントが計算され得る。あるイベントに対する総カウントを使用して、そのイベントに関連付けられた所与のキーフレームに対するそのイベントの事前確率を決定することができる。例えば、キーフレームx及びyに対する検出イベント(例えば、対象のイベントの以前の検出)の総カウント(又はキーフレームx及びyとの一致数)を使用して、検出イベントのある特定の割合がキーフレームxに関連付けられ、検出イベントのある特定の割合がキーフレームyに関連付けられることを決定することができる。カメラが、マッパ内のキーフレームに関連付けられた環境内にあるとき、この確率を使用して(例えば、その環境内でキャプチャされたカメラフレームと、その環境に関連付けられたマッパ内のキーフレームとの間の一致に基づいて)、カメラの設定を調整することができる。
【0044】
マッパは、1つ以上の要因に基づいて、マップ内に新しいエントリを作成するかどうかを決定することができる。例えば、場合によっては、マッパは、現在のフレームがマップ内の既存のキーフレームと一致するかどうか、対象のカメライベントが現在のフレーム内で検出されたかどうか、最後のキーフレームが作成されてから経過した時間、最後のキーフレームが一致してから経過した時間などに応じて、マップ内に新しいエントリを作成するかどうかを決定することができる。場合によっては、マッパは、イベントの尤度が低いマップエントリ(例えば、イベントの尤度が閾値以下であるマップエントリ)を削除するために、定期的な選別淘汰プロセスを採用することができる。いくつかの例では、定期的選別淘汰プロセスは、リソースの利用可能性(例えば、利用可能なメモリなど)など、1つ以上の要因に基づいて適応的なものであり得る。例えば、デバイス上の利用可能なメモリの量が閾値を上回る場合、マッパは、対象のイベントの尤度が低い(例えば、閾値以下の尤度の)1つ以上のマップエントリがある場合であっても、選別淘汰プロセスを実行しないことがある(又はスキップ若しくは遅延させることがある)。別の一例として、デバイス上の利用可能なメモリの量が閾値を下回る場合、マッパは、選別淘汰プロセスを実行して、1つ以上のマップエントリを除去することがあり、除去することは、利用可能なメモリの量が閾値を下回らないときに、マッパにそのようなエントリを維持させることになる特定の閾値を上回るイベント尤度を、そのようなエントリが有する場合であっても行われ得る。
【0045】
コントローラは、現在(又は閾値期間内に最近)一致したキーフレームについてのカメライベント事前確率に基づいて、カメラの1つ以上の設定(例えば、フレームレート、解像度、電力モード、起動される画像センサの数、ビニングモード、撮像モードなど)を調節することができる。いくつかの例では、コントローラは、対象のカメライベントごとに設定可能なフレームレートを組み込むことができる。いくつかの例では、マッパが一致したキーフレームを示すたびに、コントローラは、カメラのフレームレートを、設定可能なフレームレートにマップ内の一致したキーフレームエントリの事前確率を掛けたものに等しいフレームレートに、設定することができる。いくつかの例では、カメラは、設定可能な期間にわたって、又は次の一致したキーフレームまで、このフレームレートを維持することができる。場合によっては、現在(又は閾値期間内に最近)一致したキーフレームがないとき/ない場合には、カメラは、デフォルトフレームレート、例えば可能性の低い検出イベントの期間中により低い電力消費を結果としてもたらすことができる、より低いフレームレートなどを実行することができる。
【0046】
電子デバイス(及び/又は電子デバイス上のカメラ)は、様々なタイプのイベントを監視する(及びそのために本明細書で説明されるシステム及び技法を実装する)ことができる。検出イベントの非限定的な例としては、顔検出、シーン検出(例えば、日没、文書スキャンなど)、人間グループ検出、動物/ペット検出、コード(例えば、QRコード、バーコードなど)検出、赤外線LED検出(例えば、6自由度(例えば6 degrees of freedom、DOF)モーショントラッカと同様)、二次元平面検出、テキスト検出、デバイス検出(例えば、コントローラ、スクリーン、ガジェット、コンピューティングデバイスなどの検出)、ジェスチャ検出(例えば、笑顔検出、感情検出、手振り、指差しなど)などが挙げられ得る。
【0047】
場合によっては、マッパは、マップエントリにわたって、イベントカウントが設定可能な量だけ比例的に低減される定期的減衰による正規化プロセスを採用することができる。これは、カウント値を数値的に制限された状態に保つことができ、イベント/キーフレームの相関が変化するときに、事前分布のより迅速な調整を可能にする。
【0048】
場合によっては、カメラは、フレームレートなど、減衰するデフォルト設定を実行することができる。例えば、低減されたフレームレートは、イベント検出レイテンシの増加に関連付けられ得る(例えば、より高いフレームレートは、より少ないレイテンシを結果としてもたらし得る)。デフォルトフレームレート(例えば、キーフレームが1つも一致しなかったときのフレームレート)について、コントローラは、マップがより少数(例えば、閾値未満)の記録されたイベントを含むとき、カメラのフレームレートをより低いフレームレート(例えば、より長い検出レイテンシを結果としてもたらし得るフレームレート)にデフォルト設定し得る。そのような場合、コントローラは、高いフレームレートから開始するが、より多くのイベントがマップに追加されるにつれて(例えば、どのロケーション/環境が、対象のイベントに最も関連付けられているかをデバイスが学習するにつれて)減衰するデフォルトフレームレートを実行することができる。
【0049】
場合によっては、電子デバイスは、マッパの意思決定のために、非カメライベントを使用することができる。例えば、電子デバイスは、新しいキーフレームの作成、古いキーフレームの選別淘汰/削除などの非カメライベントを使用することができる。場合によっては、コントローラは、カメラキーフレーム及び/又は非カメライベントに基づいて、非カメラワークロード/リソースを調節することができる。例えば、コントローラは、カメラキーフレーム及び/又はオーディオベースの存在検出によって調節されるオーディオアルゴリズム(例えば、ビームフォーミングなど)を実装することができる。別の一例として、コントローラは、ロケーションサービス(例えば、全地球的航法衛星システム(Global Navigation Satellite System、GNSS)、Wi-Fiなど)、アプリケーションデータ(例えば、XRアプリケーションなどの、電子デバイス上の1つ以上のアプリケーションからのデータ)、1つ以上のユーザ入力、並びに/又はカメラキーフレーム及び/若しくはロケーションサービスの使用によって調節された他のデータを実装することができる。
【0050】
適用例の様々な態様が、図に関して説明される。
【0051】
図1は、本開示のいくつかの例による、イベントをマッピングし、そのマッピングされたイベントに基づいて、電子デバイス100の1つ以上の構成要素及び/又は動作を制御するために使用される、電子デバイス100の一例を示す図である。いくつかの例では、電子デバイス100は、例えば、撮像機能、エクステンデッドリアリティ(XR)機能(例えば、位置特定/追跡、検出、分類、マッピング、コンテンツレンダリングなど)、画像処理機能、デバイス管理及び/又は制御機能、ゲーム機能、自律運転又はナビゲーション機能、コンピュータビジョン機能、ロボット機能、自動化、コンピュータビジョンなどの、1つ以上の機能を提供するように構成された電子デバイスを含むことができる。
【0052】
例えば、場合によっては、電子デバイス100は、XRデバイスのロケーションを検出し、位置特定し、マッピングし、XR機能を提供し、本明細書で説明されるようにイベントをマッピングして、XRデバイスの1つ以上の動作/状態を制御するように構成された、XRデバイス(例えば、ヘッドマウントディスプレイ、ヘッドアップディスプレイデバイス、スマートグラスなど)とすることができる。場合によっては、電子デバイス100は、例えば、限定はしないが、XRアプリケーション、電子デバイス100の構成要素及び/又は動作を管理及び/又は制御するためのアプリケーション、スマートホームアプリケーション、ビデオゲームアプリケーション、デバイス制御アプリケーション、自律運転アプリケーション、ナビゲーションアプリケーション、生産性アプリケーション、ソーシャルメディアアプリケーション、通信アプリケーション、モデリングアプリケーション、メディアアプリケーション、電子商取引アプリケーション、ブラウザアプリケーション、デザインアプリケーション、地図アプリケーション、及び/又は任意の他のアプリケーションなどの、1つ以上のアプリケーションを実装することができる。
【0053】
図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)デバイス、記憶デバイス、キャッシュ、通信インターフェース、ディスプレイ、メモリデバイスなどの追加の構成要素を含むことができる。電子デバイス100によって実装され得る例示的なアーキテクチャ及び例示的なハードウェア構成要素は、図7に関して以下でさらに説明される。
【0054】
電子デバイス100は、単一のコンピューティングデバイス又は複数のコンピューティングデバイスの一部であり得る、又はそれらによって実装され得る。いくつかの例では、電子デバイス100は、カメラシステム(例えば、デジタルカメラ、IPカメラ、ビデオカメラ、セキュリティカメラなど)、電話システム(例えば、スマートフォン、セルラ電話、会議システムなど)、ラップトップ若しくはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、スマートテレビ、ディスプレイデバイス、ゲームコンソール、HMDなどのXRデバイス、ドローン、車載コンピュータ、IoT(モノのインターネット)デバイス、スマートウェアラブルデバイス、又は任意の他の適切な電子デバイス(複数可)などの、電子デバイス(複数可)の一部であり得る。
【0055】
いくつかの実装形態では、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は1つ以上の計算構成要素110は、同じコンピューティングデバイスの一部であり得る。例えば、場合によっては、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は1つ以上の計算構成要素110は、カメラシステム、スマートフォン、ラップトップ、タブレットコンピュータ、スマートウェアラブルデバイス、HMDなどのXRデバイス、IoTデバイス、ゲームシステム、及び/又は任意の他のコンピューティングデバイスと、又はそれらに統合され得る。他の実装形態では、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は1つ以上の計算構成要素110は、2つ以上の別個のコンピューティングデバイスの一部であり得る、又はそれらによって実装され得る。
【0056】
電子デバイス100の1つ以上の計算構成要素110は、例えば、限定はしないが、中央処理ユニット(central processing unit、CPU)112、グラフィックス処理ユニット(graphics processing unit、GPU)114、デジタル信号プロセッサ(digital signal processor、DSP)116、及び/又は画像信号プロセッサ(image signal processor、ISP)118を含むことができる。いくつかの例では、電子デバイス100は、例えば、コンピュータビジョン(CV)プロセッサ、ニューラルネットワークプロセッサ(neural network processor、NNP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)などの他のプロセッサを含むことができる。電子デバイス100は、1つ以上の計算構成要素110を使用して、例えば、エクステンデッドリアリティ動作(例えば、追跡、位置特定、オブジェクト検出、分類、姿勢推定、マッピング、コンテンツアンカリング、コンテンツレンダリングなど)、デバイス制御動作、画像/ビデオ処理、グラフィックスレンダリング、イベントマッピング、機械学習、データ処理、モデリング、計算、コンピュータビジョン、及び/又は任意の他の動作などの様々なコンピューティング動作を実行することができる。
【0057】
場合によっては、1つ以上の計算構成要素110は、本明細書で説明する様々な動作のいずれかを実行するための、他の電子回路若しくはハードウェア、コンピュータソフトウェア、ファームウェア、又はそれらの任意の組み合わせを含むことができる。いくつかの例では、1つ以上の計算構成要素110は、図1に示される計算構成要素よりも多い又は少ない計算構成要素を含むことができる。さらに、CPU112、GPU114、DSP116、及びISP118は、説明目的のために提供された計算構成要素の単なる例示的な例である。
【0058】
画像センサ102及び/若しくは画像センサ104は、例えば、デジタルカメラセンサ、ビデオカメラセンサ、スマートフォンカメラセンサ、テレビ又はコンピュータなどの電子装置上の画像/ビデオキャプチャデバイス、カメラなどの、任意の画像及び/若しくはビデオセンサ又はキャプチャデバイスを含むことができる。場合によっては、画像センサ102及び/又は画像センサ104は、例えば、デジタルカメラ、ビデオカメラ、IPカメラ、スマートフォン、スマートテレビ、ゲームシステムなどの、カメラ又はコンピューティングデバイスの一部であり得る。さらに、場合によっては、画像センサ102及び画像センサ104は、後方及び前方センサデバイスなどの、複数の画像センサを含むことができ、デュアルカメラ又は他のマルチカメラアセンブリ(例えば、2つのカメラ、3つのカメラ、4つのカメラ、又は他の数のカメラを含む)の一部であることができる。
【0059】
いくつかの例では、画像センサ102は、前述したような低電力カメラ設定を実装するか又は実装することが可能なカメラなどの、カメラの一部であってもよく、画像センサ104は、(例えば、画像センサ102に関連付けられたカメラと比較して)高電力カメラ設定を実装するか又は実装することが可能なカメラなどの、カメラの一部であってもよい。いくつかの例では、画像センサ102に関連付けられたカメラは、イベントを検出し、及び/又はキャプチャされた画像データを処理するために使用される、(例えば、画像センサ104に関連付けられたカメラと比較して)より低電力のハードウェア、及び/又は(例えば、画像センサ104に関連付けられたカメラと比較して)よりエネルギー効率の良い画像処理ソフトウェアを実装することができる。場合によっては、カメラは、例えば、より低いフレームレート、より低い解像度、より少ない数の画像センサ、低電力モード、低電力撮像モードなど、画像センサ104に関連付けられたカメラよりも低い電力設定及び/又は電力モードを実装することができる。いくつかの例では、カメラは、高電力カメラよりも少ない及び/又は低電力の画像センサを実装することができ、ダイナミックランダムアクセスメモリ(DRAM)ではなくオンチップスタティックランダムアクセスメモリ(SRAM)などの低電力メモリを使用することができ、漏れを低減するためにアイランド電圧レールを使用することができ、クロックソースとして位相ロックドループ(PLL)ではなくリング発振器を使用することができ、及び/又は他の低電力のプロセッシングハードウェア/部品を使用し得る。
【0060】
場合によっては、画像センサ102及び/又は画像センサ104に関連付けられたカメラは、より高い電力/解像度のカメラなどの他のデバイスよりも少ないバッテリ電力を使用しながら、オンのままで、又は「ウェイクアップ」して、シーン内の動き及び/若しくはイベントを監視し、並びに/又はシーン内のイベントを検出することができる。例えば、画像センサ102に関連付けられたカメラは、シーン内のオブジェクトを発見するためにシーン内の動き及び/又はアクティビティを監視するために、(例えば、近接センサによって、又は定期的にウェイクアップすることによって)持続的に監視又はウェイクアップすることができる。場合によっては、イベントを発見すると、カメラは、例えば、アクションの中でも特に、オブジェクト検出、オブジェクト認識、顔認証、画像処理タスクなどの、1つ以上のアクションをトリガすることができる。場合によっては、画像センサ102及び/又は画像センサ104に関連付けられたカメラは、他のセンサ、プロセッシングハードウェアなどの他のデバイスを「ウェイクアップ」することもできる。
【0061】
いくつかの例では、画像センサ102及び104の各々は、画像データをキャプチャし、画像データに基づいてフレームを生成し、並びに/又は画像データ若しくはフレームを、処理するために1つ以上の計算構成要素110に提供することができる。フレームは、ビデオシーケンスのビデオフレーム又は静止画像を含むことができる。フレームは、シーンを表すピクセルアレイを含むことができる。例えば、フレームは、ピクセルごとに赤、緑、及び青の色成分を有する赤-緑-青(RGB)フレーム、ピクセルごとに1つの輝度成分及び2つの色差(色)成分(赤の色差及び青の色差)を有する、輝度、赤の色差、青の色差(YCbCr)フレーム、又は任意の他の適切なタイプのカラー又はモノクロ画像、であり得る。
【0062】
いくつかの例では、1つ以上の計算構成要素110は、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は任意の他のセンサ及び/又は構成要素からのデータを使用して、画像/ビデオ処理、イベントマッピング、XR処理、デバイス管理/制御、及び/又は本明細書で説明される他の動作を実行することができる。例えば、場合によっては、1つ以上の計算構成要素110は、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は任意の他の構成要素からのデータに基づいて、イベントマッピング、デバイス制御/管理、追跡、位置特定、オブジェクト検出、オブジェクト分類、姿勢推定、形状推定、シーンマッピング、コンテンツアンカリング、コンテンツレンダリング、画像処理、モデリング、コンテンツ生成、ジェスチャ検出、ジェスチャ認識、及び/又は他の動作を実行することができる。いくつかの例では、1つ以上の計算構成要素110は、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は任意の他の構成要素からのデータを使用して、イベントデータ(例えば、検出されたイベントを、特定の環境及び/又は環境の領域/部分に相関させるイベントマップ)を生成し、例えば、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、1つ以上の計算構成要素110、及び/又は電子デバイス100の任意の他の構成要素などの、1つ以上の構成要素の状態(例えば、電力モード、設定など)及び/又は動作を調整することができる。いくつかの例では、1つ以上の計算構成要素110は、画像センサ102、画像センサ104、オーディオセンサ106、IMU108、及び/又は任意の他の構成要素からのデータに基づいて、シーン内のイベントを検出及びマッピングし、及び/又は電子デバイス100(及び/又はその1つ以上の構成要素)の動作/状態を制御することができる。
【0063】
いくつかの例では、1つ以上の計算構成要素110は、本明細書で説明するように、例えば、特徴抽出器120、キーフレーム照合器122、マッパ124、及びコントローラ126など、1つ以上のソフトウェアエンジン及び/又はアルゴリズムを実装することができる。場合によっては、1つ以上の計算構成要素110は、機械学習モデル(複数可)、コンピュータビジョンアルゴリズム(複数可)、ニューラルネットワーク(複数可)、及び/又は任意の他のアルゴリズム及び/又は構成要素などの、1つ以上の追加の構成要素及び/又はアルゴリズムを実装することができる。
【0064】
いくつかの例では、特徴抽出器120は、画像センサ102に関連付けられたカメラデバイスなどのカメラデバイスによって取得された1つ以上のフレームから、視覚的特徴を抽出することができる。特徴抽出器120は、例えば、限定はしないが、スケール不変特徴変換(SIFT)、高速化ロバスト特徴(SURF)、方向付きFAST及び回転BRIEF(ORB)、及び/又は任意の他の検出器/アルゴリズムなどの、視覚的特徴を抽出するための検出器及び/又はアルゴリズムを実装することができる。
【0065】
いくつかの例では、キーフレーム照合器122は、カメラデバイスによって取得された1つ以上のフレームの特徴(例えば、特徴抽出器120によって抽出された視覚的特徴)を、マッパ124によって生成されたイベントデータ(例えば、イベントマップ)内のキーフレームの特徴と比較することができる。場合によっては、イベントデータは、検出された対象のイベント(及び/又はキーフレーム、抽出された画像特徴、イベントカウントなどの関連データ)を、そのような検出されたイベントが発生した(及び/又は検出された)1つ以上の特定の環境(及び/又は特定の環境の部分/領域)と相関させる、イベントマップを含むことができる。いくつかの例では、イベントデータ内のキーフレームは、検出された対象のイベントに関連付けられたフレームに基づいて作成されたキーフレームを含むことができる。マッパ124は、イベントに関連付けられた新しいキーフレームを作成する(又は既存のキーフレームを置換する)かどうかを決定し、そのキーフレームに関連付けられたイベントカウントをイベントデータに記録(又は更新)することができる。イベントデータは、対象のイベントが観察された(例えば、カメラデバイスによって取得された1つ以上のフレームから検出された)1つ以上のロケーション/環境に対応する多数のキーフレームと、それらのキーフレームに関連付けられたイベントカウントと、を含むことができる。コントローラ126は、イベントデータを使用して、カメラデバイスから入来するフレームとイベントデータ内のキーフレームとの間の一致に基づいて、カメラデバイスの1つ以上の設定(例えば、フレームレート、解像度、電力モード、起動される画像センサの数、ビニングモード、撮像モード等)(例えば、画像センサ102及び/又は1つ以上の他のハードウェア及び/又はソフトウェア構成要素の1つ以上の設定)を調節することができる。
【0066】
場合によっては、イベントデータは、イベントマップ、分類データ、キーフレームデータ、フレームから抽出された特徴、分類マップデータ、イベントの統計値、及び/又はキーフレームの視覚的特徴とキーフレームの各々に一致する検出された対象のイベントの発生数(及び/若しくはキーフレームとの一致数)とを含むエントリを有する辞書を含むことができる。例えば、イベントデータは、顔検出イベントの数nが、キーフレームxに対応する1つ以上の視覚的特徴に関連付けられることを示すエントリを有する辞書を含むことができる。いくつかの例では、マッパ124は、各イベントについて、カウントを(例えば、記録されたキーフレームに対して)計算することができる。場合によっては、カウントは、特定の期間内における、対象のイベントの発生のカウント及び/又は平均を含むことができる。場合によっては、カウントは、対象のイベントの発生の総カウントを含むことができる。いくつかの例では、マッパ124は、イベントに対応する環境(複数可)及び/又は環境(複数可)の領域/部分に関連付けられたキーフレームにわたる、対象のイベントのカウントの合計に基づいて、総カウントを決定することができる。あるイベントに対するカウントを使用して、そのイベントに関連付けられた所与のキーフレームに対するそのイベントの事前確率を決定することができる。例えば、キーフレームx及びyに対する検出イベントのカウント(又はキーフレームx及びyとの一致数)を使用して、検出イベントの第1の度合がキーフレームxに関連付けられ、検出イベントの第2の度合がキーフレームyに関連付けられることを決定することができる。
【0067】
コントローラ126は、カメラデバイスがイベントデータ内のキーフレームに関連付けられた環境内にあるときに(例えば、その環境内でキャプチャされたフレームと、イベントデータ内の、その環境に関連付けられたキーフレームとの間の一致に基づいて)、この確率を使用して、カメラデバイス(例えば、画像センサ102に関連付けられたカメラデバイス)の1つ以上の設定を調整することができる。場合によっては、コントローラ126は、代替又は追加として、電子デバイス100が、イベントデータ内のキーフレームに関連付けられた環境内にあるとき又はないときに、上記の確率を使用して、別のカメラデバイス(例えば、画像センサ104に関連付けられたカメラデバイス、画像センサ102に関連付けられたカメラデバイスよりも高電力のカメラ設定を採用する能力を採用する及び/又は有するカメラデバイス等)、処理構成要素及び/又はパイプライン等の電子デバイス100の他の構成要素の1つ以上の設定を調整することができる。
【0068】
マッパ124は、1つ以上の要因に基づいて、イベントデータ内に新しいエントリを作成するかどうかを決定することができる。例えば、場合によっては、マッパ124は、カメラデバイス(例えば、画像センサ102に関連付けられたカメラデバイス)によってキャプチャされた現在のフレームがイベントデータ内の既存のキーフレームと一致するかどうか、対象のカメライベントが現在のフレーム内で検出されたかどうか、最後のキーフレームが作成されてから経過した時間、最後のキーフレームが一致してから経過した時間などに応じて、イベントデータ内に新しいエントリを作成するかどうかを決定することができる。場合によっては、マッパ124は、イベントの尤度がより低い(例えば、閾値以下の確率値を有する尤度を有する)マップエントリを削除するために、定期的な選別淘汰プロセスを採用することができる。
【0069】
いくつかの例では、コントローラ126は、例えば、限定はしないが、フレームレート、解像度、電力モード、撮像モード、対象のイベントに関連付けられた1つ以上の画像をキャプチャするために起動される画像センサの数、キャプチャされた画像を処理するため、及び/又はキャプチャされた画像内のイベントを検出するための処理アクション及び/又は処理パイプラインなどを増加及び減少させるなど、カメラデバイス(例えば、画像センサ102に関連付けられたカメラデバイス)の1つ以上の設定を調節することができる。例えば、場合によっては、電子デバイス100は、特定の環境内で特定の対象のイベントに遭遇する可能性が統計的により高い場合があり得る。場合によっては、電子デバイス100が対象のイベントに遭遇する尤度がより低い環境に電子デバイス100が位置するときに、不要な電力を浪費することを回避するために、コントローラ126は、カメラデバイスをオフにするか、又はカメラデバイスの1つ以上の設定を調節して、電子デバイス100が対象のイベントに遭遇する尤度がより低い環境にあるときのカメラデバイスによる電力使用を低減することができる。電子デバイス100が対象のイベントに遭遇する尤度がより高い環境に電子デバイス100が位置するときには、コントローラ126は、カメラデバイスをオンにするか、又はカメラデバイスの1つ以上の設定を調節して、電子デバイス100が対象のイベントに遭遇する尤度がより高い環境にあるときのカメラデバイスによる電力使用量及び/又はカメラデバイスの性能を上げることができる。
【0070】
場合によっては、コントローラ126は、現在(又は閾値期間内に最近)一致したキーフレームについてのカメライベント事前確率に基づいて、カメラデバイス(複数可)(例えば、画像センサ102、画像センサ104)の1つ以上の設定を調節することができる。いくつかの例では、コントローラ126は、対象のカメライベントごとに設定可能なフレームレートを組み込むことができる。いくつかの例では、マッパ124が一致したキーフレームを示すときには、コントローラ126は、カメラデバイスのフレームレートを、設定可能なフレームレートにイベントデータ内の一致したキーフレームエントリの事前確率を掛けたものに等しいフレームレートに、設定することができる。いくつかの例では、カメラデバイスは、設定可能な期間にわたって、又は次の一致したキーフレームまで、このフレームレートを維持することができる。場合によっては、現在(又は最近閾値期間内に)一致したキーフレームがないとき/ない場合には、カメラデバイスは、デフォルトフレームレート、例えば可能性の低い検出イベントの期間中により低い電力消費を結果としてもたらす、より低いフレームレートなどを実行することができる。
【0071】
いくつかの例では、電子デバイス100(及び/又は電子デバイス100上のコントローラ126)は、様々なタイプのイベントを監視する(及びそのために本明細書で説明される技法を実装する)ことができる。検出イベントの非限定的な例としては、顔検出、シーン検出(例えば、日没、部屋など)、人間グループ検出、動物/ペット検出、コード(例えば、QRコードなど)検出、文書検出、赤外線LED検出(例えば、6自由度(6DOF)モーショントラッカと同様)、平面検出、テキスト検出、デバイス検出(例えば、コントローラ、スクリーン、ガジェットなど)、ジェスチャ検出(例えば、笑顔検出、感情検出、手振りなど)を含むことができる。
【0072】
場合によっては、マッパ124は、マップエントリにわたって、イベントカウントが設定可能な量だけ低減される定期的減衰による正規化プロセスを採用することができる。これは、カウント値を数値的に制限された状態に保つことができ、イベント/キーフレームの相関が変化するときに、事前分布のより迅速な調整を可能にする。
【0073】
場合によっては、カメラデバイス(例えば、画像センサ102)は、フレームレートなど、減衰するデフォルト設定を実行することができる。例えば、低減されたフレームレートは、イベント検出レイテンシの増加に関連付けられ得る(例えば、より高いフレームレートは、より少ないレイテンシを結果としてもたらし得る)。デフォルトフレームレート(例えば、キーフレームが1つも一致しなかったときのフレームレート)について、コントローラ126は、イベントデータがより少数(例えば、閾値未満)の記録されたイベントを含むとき、カメラデバイスのフレームレートをより低いフレームレート(例えば、より長い検出レイテンシを結果としてもたらし得るフレームレート)にデフォルト設定し得る。そのような場合、コントローラ126は、閾値レベルから開始するが、より多くのイベントがイベントデータに追加されるにつれて(例えば、どのロケーション/環境が対象のイベントに最も関連付けられているかを電子デバイスが、学習するにつれて)減衰するデフォルトフレームレートを実行することができる。
【0074】
場合によっては、マッパ124は、マッパの意思決定のために非カメライベントを使用することができる。例えば、マッパ124は、新しいキーフレームの作成、古いキーフレームの選別淘汰/削除などの非カメライベントを使用することができる。場合によっては、コントローラ126は、キーフレーム及び/又は非カメライベントに基づいて非カメラワークロード/リソースを調節することができる。例えば、コントローラ126は、カメラデバイスキーフレーム及び/又はオーディオベースの存在検出によって調節される1つ以上のオーディオアルゴリズム(例えば、ビームフォーミングなど)を実装することができる。別の一例として、コントローラ126は、ロケーションサービス(例えば、全地球的航法衛星システム(GNSS)、Wi-Fiなど)、アプリケーションデータ、ユーザ入力、並びに/又はカメラデバイスキーフレーム及び/若しくはロケーションサービスの使用によって調節された他のデータを実装することができる。
【0075】
場合によっては、IMU108は、電子デバイス100の加速度、角速度、及び/又は向きを検出し、検出された加速度に基づいて測定値を生成することができる。場合によっては、IMU108は、電子デバイス100の向き、線速度、及び/又は角速度を検出及び測定することができる。例えば、IMU108は、電子デバイス100の移動、及び/又はピッチ、ロール、ヨーを測定することができる。いくつかの例では、電子デバイス100は、IMU108によって取得された測定値、及び/又は画像センサ102、画像センサ104、オーディオセンサ106などのうちの1つ以上からのデータを使用して、三次元空間内における電子デバイス100の姿勢を計算することができる。場合によっては、電子デバイス100は、追加又は代替として、画像センサ102、画像センサ104、オーディオセンサ106、及び/又は任意の他のセンサからのセンサデータを使用して、追跡、姿勢推定、マッピング、イベントデータエントリの生成、及び/又は本明細書で説明される他の動作を実行することができる。
【0076】
電子デバイス100に関して図1に示される構成要素は、説明の目的で提供される例示的な例である。他の例では、電子デバイス100は、図1に示される構成要素よりも、多い又は少ない構成要素を含むことができる。電子デバイス100は特定の構成要素を含むものとして示されるが、電子デバイス100は図1に示すものよりも、多い又は少ない構成要素を含むことができるということを当業者は理解するであろう。例えば、電子デバイス100は、いくつかの例では、1つ以上のメモリデバイス(例えば、RAM、ROM(read only memory)、キャッシュなど)、1つ以上のネットワーキングインターフェース(例えば、有線及び/又はワイヤレス通信インターフェースなど)、1つ以上のディスプレイデバイス、キャッシュ、記憶デバイス、及び/又は図1に示されていない他のハードウェア若しくは処理デバイスを含むことができる。電子デバイス100によって実装することができるコンピューティングデバイス及びハードウェア構成要素の例示的な例については、図7に関して以下でさらに説明する。
【0077】
図2Aは、環境に関連付けられたイベントをマッピングし、マッピングされたイベントに基づいてカメラデバイスの設定(例えば、電力状態、動作、パラメータなど)を制御するための、例示的なシステムプロセス200を示す図である。この例では、画像センサ102は、画像センサ102が位置する環境内の、シーン及び/又はイベントのフレーム210をキャプチャすることができる。いくつかの例では、画像センサ102は、環境を監視し、及び/又は環境内の対象のイベントを探して、環境内の任意の対象のイベントのフレームをキャプチャすることができる。対象のイベントは、例えば、限定はしないが、ジェスチャ(例えば、ハンドジェスチャなど)、感情(例えば、笑顔など)、アクティビティまたはアクション(例えば、人、デバイス、動物などによる)、オブジェクトの発生または存在などを含むことができる。対象のイベントに関連付けられたオブジェクトは、例えば、限定しないが、顔、シーン(例えば、日没、公園、部屋など)、人、人のグループ、動物、文書、オブジェクト(例えば、デバイス、文書、ディスプレイ、ドア又は壁などの構造物、サインなど)上のコード(例えば、QRコード、バーコードなど)、光、パターン、オブジェクト上のリンク、物理空間内の平面(例えば、表面上の平面など)、テキスト、赤外線(IR)発光ダイオード(LED)検出、及び/又は任意の他のオブジェクトを含むことができ、これらを表すことができ、及び/又はこれらを指すことができる。
【0078】
電子デバイス100は、画像処理モジュール212を使用して、フレーム210に対して1つ以上の画像処理動作を実行することができる。いくつかの例では、1つ以上の画像処理動作は、フレーム210に基づいて1つ以上のカメライベント検出トリガ214を検出するためのオブジェクト検出を含むことができる。例えば、画像処理モジュール212は、フレームから特徴を抽出し、抽出された特徴をオブジェクト検出に使用することができる。画像処理モジュール212は、抽出された特徴に基づいて、1つ以上のカメライベント検出トリガ214を検出することができる。1つ以上のカメライベント検出トリガ214は、前述したように、1つ以上の対象のイベントを含むことができる。いくつかの例では、1つ以上の画像処理動作は、画像センサ102に関連付けられたカメラ処理パイプラインを含むことができる。場合によっては、1つ以上の画像処理動作は、1つ以上のカメライベント検出トリガ214を検出及び/又は認識することができる。画像処理モジュール212は、1つ以上のカメライベント検出トリガ214を、電子デバイス100上の、特徴抽出器120、マッパ124、コントローラ126、及び/又はアプリケーション204に提供することができる。特徴抽出器120、マッパ124、コントローラ126、及び/又はアプリケーション204は、1つ以上のカメライベント検出トリガ214を使用して、例えば、アプリケーション動作、カメラ設定調整、オブジェクト検出、オブジェクト認識など、本明細書で説明する1つ以上のアクションを実行することができる。例えば、1つ以上のカメライベント検出トリガ214は、本明細書で説明する、特徴抽出器120、マッパ124、コントローラ126、及び/又はアプリケーション204による1つ以上のアクションをトリガするように構成することができる。
【0079】
いくつかの例では、アプリケーション204は、環境内で検出されたイベントに関する情報を使用することができる、電子デバイス100上の任意のアプリケーションを含むことができる。例えば、アプリケーション204は、認証アプリケーション(例えば、顔認証アプリケーションなど)、XRアプリケーション、ナビゲーションアプリケーション、アイテムを注文又は購入するためのアプリケーション、ビデオゲームアプリケーション、写真アプリケーション、デバイス管理アプリケーション、ウェブアプリケーション、通信アプリケーション(例えば、メッセージングアプリケーション、ビデオ及び/又は音声アプリケーションなど)、メディア再生アプリケーション、ソーシャルメディアネットワークアプリケーション、ブラウザアプリケーション、スキャンアプリケーションなどを含むことができる。アプリケーション204は、1つ以上のアクションを実行するために、1つ以上のカメライベント検出トリガ214を使用することができる。例えば、アプリケーション204がXRアプリケーションである場合、アプリケーション204は、1つ以上のカメライベント検出トリガ214を使用して、アプリケーション204によって使用される環境内のイベント、例えば、デバイス(例えば、コントローラ又は他の入力デバイスなど)、手、境界、人などを発見することができる。別の一例として、アプリケーション204は、1つ以上のカメライベント検出トリガ214を使用して、文書、リンク、又はコードをスキャンし、文書、リンク、又はコードに基づいてアクションを実行することができる。さらに別の一例として、アプリケーション204がスマートホームアシスタントアプリケーションである場合、アプリケーション204は、1つ以上のカメライベント検出トリガ214を使用し、人及び/又はオブジェクトの存在を発見して、スマートホームデバイスの動作/アクションをトリガすることができる。
【0080】
さらに、特徴抽出器120は、フレーム210を分析して、フレーム210内の視覚的特徴を抽出することができる。いくつかの例では、特徴抽出器120は、オブジェクト認識を実行して、フレーム210内の視覚的特徴を抽出し、抽出された特徴に関連付けられたイベントを分類することができる。場合によっては、特徴抽出器120は、フレーム210から視覚的特徴を抽出し、抽出された特徴の記述子(複数可)を判定するためのアルゴリズムを実行することができる。特徴抽出器/検出器アルゴリズムの非限定的な例は、SIFT、SURF、ORBなどを含むことができる。
【0081】
特徴抽出器120は、フレーム210から抽出された特徴及び関連付けられた記述子(複数可)を、キーフレーム照合器122及びマッパ124に提供することができる。関連付けられた記述子(複数可)は、フレーム210から抽出された特徴及び/又は抽出された特徴から検出されたイベントを、識別及び/又は記述することができる。いくつかの例では、関連付けられた記述子(複数可)は、タグ、ラベル、識別子、及び/又は任意の他の記述子を含むことができる。
【0082】
キーフレーム照合器122は、特徴抽出器120からの特徴及び/又は記述子(複数可)を使用して、対象のイベントが以前に検出された環境(又は環境内の領域/環境内のロケーション)内に、電子デバイス100が位置しているかどうかを判定する(又は電子デバイス100が位置している尤度を決定する)ことができる。いくつかの例では、キーフレーム照合器122は、キーフレームを含むイベントデータ202を使用して、対象のイベントが以前に検出された環境(又は環境内の領域/環境内のロケーション)内に、電子デバイス100が位置しているかどうかを判定する(又は電子デバイス100が位置している尤度を決定する)ことができる。いくつかの例では、イベントデータ202は、検出された対象のイベントをキャプチャするフレームに対応するキーフレームを含むことができる。場合によっては、イベントデータ202は、対象のイベントが観察された(例えば、画像センサ102又は画像センサ104によって取得された1つ以上のフレームから検出された)ロケーション/環境に対応する多数のキーフレームと、それらのキーフレームに関連付けられたイベントカウントとを含むことができる。
【0083】
場合によっては、イベントデータ202は、イベントマップ、イベントエントリ、分類データ、1つ以上のキーフレーム、分類マップ、イベントの統計値、抽出された特徴、特徴記述子、及び/又は任意の他のデータを含むことができる。いくつかの例では、イベントデータ202は、キーフレームの視覚的特徴と、キーフレームの各々と一致する検出された対象のイベントの発生数(例えば、イベントカウント)(及び/又はキーフレームとの一致数)とを含むエントリを有する辞書を含むことができる。例えば、イベントデータ202は、QRコード検出イベントの数n(例えば、QRコードの以前の検出の数n)が、キーフレームxに対応する1つ以上の視覚的特徴に関連付けられることを示すエントリを有する辞書を含むことができる。場合によっては、キーフレーム照合器122は、1つ以上のイベントデータエントリにわたって、イベントカウントが設定可能な量だけ低減される定期的減衰による正規化プロセスを使用することができる。例えば、キーフレーム照合器122は、すべてのイベントデータエントリにわたって、イベントカウントが設定可能な量だけ低減される定期的減衰による正規化プロセスを使用することができる。これは、カウント値を数値的に制限された状態に保つことができ、イベント/キーフレームの相関が変化するときに、事前分布のより迅速な調整を可能にする。
【0084】
いくつかの例では、キーフレーム照合器122は、フレーム210から抽出された特徴をイベントデータ202内のキーフレームの特徴と比較することができる。いくつかの例では、キーフレーム照合器122は、フレーム210から抽出された特徴の記述子(複数可)を、イベントデータ202内のキーフレームの特徴の記述子と比較することができる。イベントデータ202内のキーフレームは、対象のイベントが以前に検出された環境又は環境内のロケーションに対応するので、フレーム210から抽出された特徴(及び/又は関連付けられた記述子)とイベントデータ202内のキーフレームの特徴(及び/又は関連付けられた記述子)との間の一致は、対象のイベントが以前に検出された環境又は環境内のロケーションに、電子デバイス100が位置していること(又は電子デバイス100が位置している尤度)を示すことができる。いくつかの例では、キーフレーム照合器122は、フレーム210から抽出された特徴とイベントデータ202内の特徴キーフレームとの間の一致に基づいて、フレーム210及び/又はフレーム210から抽出された特徴を、特定の環境(及び/又は特定の環境内のロケーション/領域)に相関させることができる。そのような相関関係は、電子デバイス100が特定の環境(及び/又は特定の環境内のロケーション/領域)に位置しているということを示すことができる。対象のイベントが以前に検出された環境又は環境内のロケーションに、電子デバイス100が位置することに関する情報は、電子デバイス100が環境又は環境内のロケーションに位置するときの対象のイベントが再び検出される尤度を決定するために使用することができる。
【0085】
例えば、場合によっては、対象のイベントが環境内で観察/検出される尤度は、対象のイベントが、その環境内で以前に観察/検出されたかどうかに応じて、及び/又は対象のイベントが、その環境内で以前に観察/検出された回数に応じて、増加又は減少し得る。例を挙げると、対象のイベントが特定の部屋の中で頻繁に観察/検出されたという判定は、対象のイベントがその特定の部屋の中で以前に観察/検出されていないという判定よりも、電子デバイス100が特定の部屋の中にあるときの、対象のイベントが再び観察/検出される尤度が高いことを示唆することができる。したがって、対象のイベントが以前に検出された環境又は環境内のロケーションに電子デバイス100が位置するという判定を使用して、電子デバイス100が環境又は環境内のロケーションに位置するときの、対象のイベントが再び検出される尤度を決定することができる。前述したように、いくつかの例では、電子デバイス100が、対象のイベントが以前に検出された環境又はロケーションに位置しているという判定は、フレーム210から抽出された特徴と、特定の環境又はロケーションに相関するイベントデータ内の1つ以上のキーフレームの特徴との間の一致に基づき得る。
【0086】
本明細書でさらに説明するように、電子デバイス100が環境内又は環境内のロケーションに位置するときに対象のイベントが再び検出される尤度を使用して、デバイス及び/又は処理設定(例えば、電力モード、動作、デバイス構成、処理構成、処理パイプライン等)を制御して、電子デバイス100がイベント検出のより低い尤度に関連付けられた環境(又はそのロケーション)に位置するときの電力消費を低減し、電力の節約を向上させることができる。同様に、電子デバイス100が環境又は環境内のロケーションに位置するときに対象のイベントが再び検出される尤度を使用して、イベント検出性能、撮像及び/又は画像処理性能(例えば、画像/撮像品質、解像度、スケーリング、フレームレートなど)などを向上させるなど、電子デバイス100がイベント検出のより高い尤度に関連付けられた環境(又はそのロケーション)に位置するときの電子デバイス100の性能及び/又は動作状態を向上させるように、デバイス及び/又は処理設定を制御することができる。
【0087】
キーフレーム照合器122は、フレーム210から抽出された特徴とイベントデータ202内のキーフレームの特徴との比較の結果を、マッパ124に提供することができる。例えば、キーフレーム照合器122は、フレーム210から抽出された特徴がイベントデータ202内のキーフレームの特徴に一致すること、又はイベントデータ202内のどのキーフレームの特徴にも一致しないことを示すインジケーションを、マッパ124に提供することができる。マッパ124は、キーフレーム照合器122からの情報を使用して、イベントに関連付けられた新しいキーフレームを作成する(又は既存のキーフレームを置き換える)かどうかを決定し、そのキーフレームに関連付けられたイベントカウントを記録(又は更新)することができる。例えば、フレーム210から抽出された特徴がイベントデータ202内のキーフレームの特徴と一致する場合には、マッパ124は、イベントデータ202内のそのキーフレームに関連付けられた検出されたイベントのカウントを増加させることができる。いくつかの例では、マッパ124は、そのキーフレームに関連付けられた検出されたイベントのカウントで、エントリを記録又は更新することができる。
【0088】
場合によっては、フレーム210から抽出された特徴がイベントデータ202内のどのキーフレームの特徴にも一致しない場合には、マッパ124は、イベントデータ202内に新しいキーフレームを作成することができ、それ(例えば、新しいキーフレーム)は、フレーム210に対応し得る。例えば、前述のように、電子デバイス100は、フレーム210に基づいて、1つ以上のカメライベント検出トリガ214を(例えば、画像処理モジュール212を介して)以前に検出し、これは、対象のイベントが、フレーム210内で検出されたことを示すことができる。したがって、フレーム210から抽出された特徴がイベントデータ202内のどのキーフレームの特徴とも一致しない場合には、マッパ124は、イベントデータ202内に、フレーム210に対応する新しいキーフレームを追加することができる。新しいキーフレームは、フレーム210からの特徴を、検出された対象のイベント及び/又は関連付けられた環境(及び/又はそのロケーション)と関連付けることができる。マッパ124は、新しいキーフレームに関連付けられたイベント検出カウントを、イベントデータ202に含めることができ、新しいフレーム(又はその特徴)が新しいキーフレームに関連付けられた特徴に一致するたびに、カウントをインクリメントすることができる。
【0089】
マッパ124は、フレーム210に対応するキーフレーム(例えば、新しいキーフレーム又は既存のキーフレーム)に関連付けられた検出されたイベントのカウントと、フレーム210に関連付けられた特徴とを使用して、そのキーフレームに関連付けられたイベント事前確率216を決定又は更新することができる。例えば、場合によっては、マッパ124は、フレーム210に対応するキーフレームに関連付けられたイベントの総カウント数及び/若しくは平均カウント数、関連付けられた環境、並びに/又はフレーム210に関連付けられた特徴を使用して、そのキーフレームに関連付けられたイベント事前確率216を決定又は更新することができる。イベント事前確率216は、フレーム210及び/又はフレーム210の特徴に関連付けられた環境又は環境内のロケーションにおいて、対象のイベントを検出する推定尤度/確率を表す値を含むことができる。例えば、フレーム210がある特定の部屋からキャプチャされ、フレーム210内の視覚的特徴が特定の部屋又はその特定の部屋の中のエリア/オブジェクトに対応する場合、イベント事前確率216は、電子デバイス100がその特定の部屋(及び/又はその特定の部屋のエリア)の中にあるとき、及び/又は特定の部屋(又はその特定の部屋のエリア)の中でキャプチャされたフレーム内の視覚的特徴が、その特定の部屋及び/又はその特定の部屋のエリア/オブジェクトに関連付けられたイベントデータ202内のキーフレーム内の視覚的特徴と一致するときに、対象のイベントを検出する推定尤度を示すことができる。
【0090】
いくつかの例では、イベント事前確率216は、イベント事前確率216に関連付けられたキーフレームに対して記録された、検出された対象のイベントのカウントに少なくとも部分的に基づくことができる。場合によっては、あるキーフレームに関連付けられたイベント事前確率216における尤度/確率値は、そのキーフレームに関連付けられた検出された対象のイベントのカウントが増加するにつれて、増加し得る。場合によっては、イベント事前確率216における尤度/確率値は、例えば、キーフレームに関連付けられた検出された対象のイベント間の時間量、キーフレームに関連付けられた最後に検出された対象のイベントからの時間量及び/若しくはキーフレームに関連付けられた検出された対象のイベントの最後の数n、キーフレームに関連付けられた検出された対象のイベント(複数可)のタイプ及び/若しくは特性、キーフレームに関連付けられた環境内でキャプチャされ、マイナスの検出結果をもたらしたフレームの数に対して、キーフレームに関連付けられたその環境内でキャプチャされ、プラスの検出結果をもたらしたフレームの数、キーフレームに関連付けられた環境の1つ以上の特性(例えば、環境のサイズ、環境における潜在的な対象のイベントの数又は密度、環境内で行われた共通のアクティビティなど)、キーフレームに関連付けられた環境における電子デバイス100の使用頻度(及び/又は使用時間量)(例えば、より低いプラスの検出結果を伴うより高い使用率を用いて、尤度/確率値を低減することができ、逆もまた同様である)、並びに/又は任意の他の要因など、1つ以上の他の要因にさらに基づくことができる。
【0091】
例えば、キーフレームに関連付けられた環境内で検出された対象のイベント間の時間の増加又は減少を使用して、イベント事前確率216における尤度/確率値を増加又は減少させることができる。別の一例として、環境内でキャプチャされ、マイナスの検出結果をもたらしたフレームの数に対する、その環境内でキャプチャされ、プラスの検出結果をもたらしたフレームの数の増加又は減少を使用して、イベント事前確率216における尤度/確率値を増加又は減少させることができる。さらに別の一例として、ある環境における電子デバイス100の使用量に対する、その環境における検出された対象のイベントの数を使用して、イベント事前確率216における尤度/確率値を減少又は増加させることができる(例えば、検出された対象のイベントがより少ない場合に使用がより多いと、検出された対象のイベントがより多い又は検出された対象のイベントが同じ量の場合に使用がより少ない場合よりも、低い尤度/確率値をもたらすことができる)。
【0092】
マッパ124は、一致したキーフレームに関連付けられたイベント事前確率216を、コントローラ126に提供することができる。コントローラ126は、イベント事前確率216を使用して、画像センサ102に関連付けられた1つ以上の設定及び/又は画像センサ102に関連付けられた画像処理を、制御/調整することができる。例えば、コントローラ126は、イベント事前確率216を使用して、イベント事前確率216が、電子デバイス100の現在の環境における対象のイベントのより低い尤度/確率を示すときに、電子デバイス100の電力消費を低減するように1つ以上の設定を調整すること、又はイベント事前確率216が、電子デバイス100の現在の環境における対象のイベントのより高い尤度/確率を示すときに、電子デバイス100の性能及び/又は処理能力(例えば、画像センサ102の性能)を向上させるように、1つ以上の設定を調整することができる。
【0093】
例を挙げると、イベント事前確率216が、電子デバイス100の現在の環境における対象のイベントのより高い尤度/確率を示すとき、コントローラ126は、フレームレート、解像度、スケールファクタ、画像安定化、電力モード、及び/又は画像センサ102に関連付けられた他の設定を上げることができ、追加の画像センサを起動することができ、より高い性能、複雑さ、機能、及び/又は処理能力に関連付けられた画像処理パイプライン及び/又は動作を実行することができ、高電力のカメラデバイス又はメインカメラデバイス(例えば、画像センサ104)を起動又は初期化することができ、構造化光システム又は投光照明器、深度及び立体用のデュアルカメラシステム、又は飛行時間型カメラ部品等の、能動型深度送信機システムをオンにすることなどができる。
【0094】
一方、イベント事前確率216が、電子デバイス100の現在の環境における対象のイベントのより低い尤度/確率を示すとき、コントローラ126は、画像センサ102をオフにすることができ、フレームレート、解像度、スケールファクタ、画像安定化、及び/又は画像センサ102に関連付けられた他の設定を下げることができ、より少ない数の画像センサを起動することができ、より低い電力消費、性能、複雑さ、機能、及び/又は処理能力に関連付けられた画像処理パイプライン及び/又は動作を実行することができ、構造化光システム又は投光照明器、デュアルカメラシステム、飛行時間型カメラ部品などの能動型深度送信機システムをオフにすることなどができる。このようにして、コントローラ126は、電子デバイス100の現在の環境における対象のイベントの存在/発生の尤度/確率に基づいて、電子デバイス100及び関連する構成要素の電力節約、性能、及び/又は能力を高めることができる。
【0095】
場合によっては、コントローラ126は、イベント事前確率216に基づいて(例えば、電子デバイス100の現在の環境における対象のイベントの存在/発生の尤度/確率に基づいて)非カメラ設定220を調節することもできる。例えば、コントローラ126は、(例えば、電子デバイス100の現在の環境における対象のイベントの存在/発生の尤度/確率に基づいて)オン/オフを切り替える、電力モードを上げる/下げる、1つ以上の構成要素、アルゴリズム、サービスなど、例えば、オーディオアルゴリズム(複数可)(例えば、ビームフォーミングなど)、ロケーションサービス(例えば、GNSS又はGPS、WIFIなど)、追跡アルゴリズム、オーディオデバイス(例えば、オーディオセンサ106)、非カメラワークロード、追加のプロセッサなどの処理能力及び/又は複雑さを高める/減少させることができる。
【0096】
場合によっては、電子デバイス100はまた、非カメライベントを活用して、環境に関連付けられたイベントをマッピングし、マッピングされたイベントに基づいてデバイス設定(例えば、電力状態、動作、パラメータなど)を制御することができる。例えば、図2Bを参照すると、電子デバイス100は、非カメラセンサ232からのデータ234を使用して、イベントデータ202を更新し(例えば、新しいキーフレーム及び関連する検出カウントを追加し、既存のキーフレーム及び/又は検出カウントを更新し、既存のキーフレーム及び/又は検出カウントを除去する)、及び/又は一致したキーフレームに対するイベント事前確率236を計算することができる。
【0097】
非カメラセンサ232は、例えば、限定はしないが、オーディオセンサ(例えば、オーディオセンサ106)、IMU(例えば、IMU108)、レーダ、GNSS又はGPSセンサ/受信機、ワイヤレス受信機(例えば、Wi-Fi、セルラなど)などを含むことができる。非カメラセンサ232からのデータ234は、例えば、限定はしないが、電子デバイス100のロケーション/位置、電子デバイス100と1つ以上のオブジェクトとの間の距離、環境内の1つ以上のオブジェクトのロケーション、電子デバイス100の動き、環境内でキャプチャされた音、1つ以上のイベントの時間などに関する情報を含むことができる。
【0098】
いくつかの例では、非カメラセンサ232からのデータ234を使用して、イベントデータ202の更新に関連付けられたデータ(例えば、キーフレーム及び/又は関連するデータ)を補足することができる。例えば、非カメラセンサ232からのデータ234を使用して、イベントデータ202において追加、更新、又は除去されたキーフレームに関連付けられたイベントのタイムスタンプを追加することができ、キーフレームに関連付けられた検出されたイベントのロケーション/位置を示すことができ、検出されたイベントの前、間、及び/又は後の電子デバイス100のロケーション/位置を示すことができ、検出されたイベントの間の、電子デバイス100の動きを示すことができ、検出されたイベントへの、電子デバイス100の近接度を示すことができ、検出されたイベント及び/又は環境に関連付けられた音声特徴を示すことができ、環境の1つ以上の特性(例えば、ロケーション、ジオメトリ、構成、アクティビティ、オブジェクト等)等を示すことができる。マッパ124は、イベントデータ202内のキーフレームに関連付けられた特徴/記述子及び/又はカウントと共にデータ234を使用して、一致したキーフレームのイベント事前確率236における尤度/確率値を決定するのを助けることができ、環境、電子デバイス100、及び/又は一致したキーフレームに関連付けられた検出されたイベントに関する、より粒度の細かい情報(例えば、ロケーション、アクティビティ、動き、時間など)を提供することができ、古いキーフレームを選別淘汰/削去することができ、キーフレーム(及び/又は関連情報)を、イベントデータ202に追加するか、更新するか、又はイベントデータ202から削除するかを決定することができ、検出されたイベントを検証することなどができる。
【0099】
場合によっては、コントローラ126はまた、前述のように、非カメラセンサ232からのデータ234を使用して、どのように調整/調節するか、又はどの設定を調整/調節するかを決定することができる。例えば、コントローラ126は、イベント事前確率236と共にデータ234を使用して、画像センサ102のどの設定を調整するか(及び/又はどのように調整するか)、電子デバイス100上の1つ以上の他のデバイスのどの設定を調整するか(及び/又はどのように調整するか)、非カメラ設定220のうちのどれを調整するか(及び/又はどのように調整するか)等を決定することができる。例えば、前述したように、場合によっては、イベント事前確率が、電子デバイス100の現在の環境内で対象のイベントが発生する尤度がより高いことを示す場合、コントローラ126は、画像センサ102のフレームレートを増加させ、及び/又は(例えば、画像センサ102に関連付けられたカメラデバイスと比較して)より高いフレームレート能力を有する高電力のカメラデバイス又はメインカメラデバイスをアクティブ化することができる。この例では、データ234が、一致したキーフレーム及び/又は電子デバイス100の検出されたイベントに関連付けられた運動の閾値量を示す場合、コントローラ126は、運動量が閾値を下回ることをデータ234が示す場合よりも、画像センサ102及び/又は高電力のカメラデバイス若しくはメインカメラデバイスのフレームレートを増加させることができる。
【0100】
別の一例として、データ234が、電子デバイス100が、前の対象のイベントのロケーションの近傍における環境内のロケーションに近づいていることを示す場合には、コントローラ126は、電子デバイス100が前の対象のイベントのロケーションに到達する前に、より高電力のカメラデバイス又はメインカメラデバイス(例えば、画像センサ102に関連付けられたカメラデバイスと比較して、より高電力の能力/設定を有するカメラデバイス)をアクティブ化すること、及び/又は画像センサ102の設定を上げることができる。同様に、電子デバイス100が、環境から離れるように移動していることをデータ234が示す場合、コントローラ126は、1つ以上の設定を調節して(例えば、画像センサ102又は別のデバイスをオフにし、画像センサ102又は別のデバイスの電力モードを低減し、処理の複雑さ及び/又は電力消費を低減する等)、対象のイベントがその環境内で発生するより高い尤度/確率を有すると(例えば、イベント事前確率に基づいて)判定された場合であっても、電子デバイス100による電力消費を低減することができる。さらに別の一例として、イベント事前確率が、電子デバイス100の環境内で対象のイベントが発生するより高い尤度を示し、データ234が、環境内の電子デバイス100及び/又は1つ以上のオブジェクトによる運動の閾値量を示す場合、コントローラ126は、環境内の対象のイベントをキャプチャする任意のフレームのより良好な画像安定化を確実にするために、画像安定化設定/動作をアクティブ化する、及び/又は画像安定化設定/動作の複雑さ/性能を高めることができる。
【0101】
図3Aは、イベントデータ(例えば、イベントデータ202)を更新するための例示的なプロセス300を示す図である。この例では、ブロック302において、電子デバイス100は、電子デバイス100のカメラデバイス(例えば、画像センサ102に関連付けられたカメラデバイス、画像センサ104に関連付けられたカメラデバイス)によってキャプチャされたフレームから特徴を抽出することができる。
【0102】
ブロック304において、電子デバイス100は、抽出された特徴に基づいて、対象のイベントがフレーム内で検出されたかどうかを判定することができる。ブロック306において、対象のイベントがフレーム内で検出されない場合、電子デバイス100は、新しいキーフレームをイベントデータに追加しない。対象のイベントがフレーム内で検出された場合、ブロック308において、任意選択で、電子デバイス100は、電子デバイス100によってキーフレームが作成されてから(例えば、イベントデータに追加されてから)タイマが満了したかどうかを判定することができる、及び/又はブロック312において、電子デバイス100は、イベントデータ内のキーフレームとフレームから抽出された視覚的特徴との間で一致が識別されたかどうかを判定することができる。
【0103】
タイマは、プログラム可能であり得る。場合によっては、タイマ(例えば、タイマの満了をトリガするように設定された時間量)は、例えば、電子デバイス100に関連付けられた使用履歴及び/又はパターン、検出イベントのパターン(例えば、1つ以上の対象のイベントの以前の検出に関連付けられたパターン)、検出イベントをトリガする(例えば、対象のイベントの検出をトリガする)ように構成された対象のイベントのタイプ、1つ以上の環境の1つ以上の特性などの、1つ以上の要因に基づいて決定することができる。いくつかの例では、タイマは、より多くの数のキーフレームが作成されるのを防ぐように、及び/又はキーフレームがあまりにも頻繁に作成されるのを防ぐように設定することができる。
【0104】
例えば、電子デバイス100が、キッチンの冷蔵庫のレストランメニューからQRコードをキャプチャしているフレーム内でQRコードを検出し、冷蔵庫のレストランメニュー内で検出されたQRコードに関連付けられたキーフレームを作成すると仮定する。QRコードの検出及びキーフレームの作成は、電子デバイス100がQRコードと同じ部屋(例えば、キッチン)にあり、少なくともある期間にわたってその同じ部屋にある可能性が高いことを示すことができる。この例では、タイマは、電子デバイス100がその環境に留まる可能性が高い一方で、電子デバイス100がその環境に関連付けられたイベントの追加のキーフレームを作成することを防止することができる。したがって、タイマは、ある期間内に作成されるキーフレームの量、その期間内に追加のキーフレームを作成することによる電力消費、及びその期間内に追加のキーフレームを作成する際のリソースの使用を低減することができる。
【0105】
タイマが満了していない場合、プロセス300はブロック306に戻ることができ、電子デバイス100は、新しいキーフレームをイベントデータに追加しないと決定する。タイマが満了した場合、ブロック310において、電子デバイス100は、タイマを再開又はリセットすることができる。ブロック312において、電子デバイス100は、ブロック302においてフレームから抽出された特徴がイベントデータ内のキーフレームの特徴に一致するかどうかを判定することができる。例えば、電子デバイス100は、ブロック302においてフレームから抽出された特徴及び/又は関連付けられた記述子を、イベントデータ内のキーフレーム内の特徴及び/又は関連付けられた記述子と比較することができる。
【0106】
ブロック314において、電子デバイス100が、ブロック302においてフレームから抽出された特徴とイベントデータ内のキーフレームの特徴との間の一致を発見した場合、電子デバイス100は、イベントデータ内の一致するキーフレームに関連付けられた検出イベントのカウント(例えば、1つ以上の対象のイベントの以前の検出のカウント)をインクリメントすることができる。ブロック316において、電子デバイス100が、ブロック302においてフレームから抽出された特徴とイベントデータ内の任意のキーフレームの特徴との間の一致を見つけなかった場合、電子デバイス100は、ブロック302においてフレームから抽出された特徴に関連付けられた検出イベント(例えば、対象のイベントの検出)に対して、イベントデータ内に新しいエントリを作成することができる。いくつかの例では、新しいエントリは、ブロック302においてフレームから抽出された特徴を含むキーフレームと、検出イベントに関連付けられた対象のイベントの発生数を示すイベントカウントとを含み得る。いくつかの例では、新しいエントリはまた、キーフレームに関連付けられた特徴の記述子を含むことができる。
【0107】
場合によっては、プロセス300は、ブロック308及びブロック310に関して説明したように、タイマを実行しなくてもよく、及び/又はタイマが満了したかどうかをチェックしなくてもよい。例えば、図3Bを参照すると、場合によっては、ブロック304において対象のイベントが検出されたと判定した後、電子デバイス100は、ブロック312に進んで、ブロック302においてフレームから抽出された特徴がイベントデータ内のキーフレームの特徴と一致するかどうかを判定することができる。
【0108】
他の場合には、プロセス300は、タイマを実行し得るが、タイマが満了したかどうかをチェックすることは、プロセス中の異なるポイントにおいて実行され得る。例えば、場合によっては、電子デバイス100は、(例えば、ブロック304に関して説明したように)対象のイベントが検出されたかどうかを判定する前に、(例えば、ブロック308に関して説明したように)タイマが満了したかどうかをチェックすることができる。いくつかの実施例では、タイマが満了した場合、電子デバイス100は、(例えば、ブロック304に関して説明したように)対象のイベントが検出されたかどうかを判定する前に、又は対象のイベントが検出されたと判定した後に、(例えば、ブロック310に関して説明したように)タイマを再開することができる。
【0109】
図4は、キャプチャされたフレーム内の特徴とイベントデータ(例えば、イベントデータ202)上のキーフレーム内の特徴との間の一致に基づいて、異なる時間に(例えば、コントローラ126を介して)調節された例示的な設定を示す図である。この例では、調節された設定は、電子デバイス100のカメラデバイス(例えば、画像センサ102)のフレームレートである。しかしながら、前述したように、他の例では、電子デバイス100は、(追加又は代替として)カメラデバイス、電子デバイス100の別のデバイス、電子デバイス100の動作、処理パイプラインなどの他の設定を(例えば、コントローラ126を介して)調節することができる。
【0110】
いくつかの例では、カメラデバイスは、時間tにおいてデフォルトフレームレート402を実行することができる。デフォルトフレームレート402は、カメラデバイスがサポートする任意のフレームレートであり得る。例えば、デフォルトフレームレート402は、カメラデバイスの最も低いフレームレート、カメラデバイスの最も高いフレームレート、又はカメラデバイスによってサポートされる任意の他のフレームレートであり得る。図4では、デフォルトフレームレート402は、カメラデバイスによってサポートされる最も高いフレームレートよりも低い。
【0111】
時間tにおいて、電子デバイス100は、デフォルトフレームレート402においてキャプチャされたフレーム内の特徴に基づいて、イベントデータ(例えば、イベントデータ202)内の一致したキーフレーム410を見つける。マッチしたキーフレーム410は、キーフレーム410に関連付けられた検出イベントのカウント(例えば、キーフレーム410に関連付けられた1つ以上の対象のイベントの以前の検出のカウント)に少なくとも部分的に基づいて計算されたイベント事前確率を含むことができる。一致したキーフレーム410を見つけたことに応答して、電子デバイス100は、(例えば、コントローラ126を介して)フレームレート404を決定し、カメラデバイスのフレームレートをデフォルトフレームレート402からフレームレート404に変更することができる。いくつかの例では、電子デバイス100は、一致したキーフレーム410に関連付けられたイベント事前確率に基づいて、フレームレート404を決定することができる。例えば、電子デバイス100は、カメラデバイスに関連付けられた設定可能なフレームレート又はピークフレームレートに、イベント事前確率の値を乗算することができる。例を挙げると、イベント事前確率の値が0.75である場合、電子デバイス100は、設定可能フレームレート又はピークフレームレートに0.75を乗算して、フレームレート404を決定することができる。この例では、フレームレート404は、設定可能フレームレート又はピークフレームレートに0.75を乗算した結果であり得る。
【0112】
ピークフレームレートは、上述のようにフレームレートを決定するために使用される設定可能なフレームレートであり得る。例えば、ピークフレームレートは、カメラデバイスによってサポートされるフレームレートから選択されたフレームレートであり得る。場合によっては、カメラデバイスによってサポートされる最も高いフレームレートがピークフレームレートとして選択され得る。
【0113】
カメラデバイスは、設定可能な期間にわたって、又は別のキーフレーム一致が見つかるまで、フレームレート404を維持することができる。図4では、時間tにおいて、電子デバイス100は、フレームレート404を維持するためのタイマ412が別のキーフレーム一致の前に満了したと判定する。タイマ412の満了に基づいて、電子デバイス100は、カメラデバイスのフレームレートをフレームレート404からデフォルトフレームレート402に戻すように変更することができる。
【0114】
時間tにおいて、電子デバイス100は、デフォルトフレームレート402においてキャプチャされたフレーム内の特徴に基づいて、イベントデータ(例えば、イベントデータ202)内の一致したキーフレーム414を見つける。一致したキーフレーム414は、前述のように、イベント事前確率を含むことができる。一致したキーフレーム414を見つけたことに応答して、電子デバイス100は、(例えば、コントローラ126を介して)フレームレート406を決定し、カメラデバイスのフレームレートをデフォルトフレームレート402からフレームレート406に変更することができる。電子デバイス100は、一致したキーフレーム414に関連付けられたイベント事前確率に基づいてフレームレート406を決定することができる。いくつかの場合には、フレームレート406は、フレームレート404と同じであり得る。他の場合には、フレームレート406は、フレームレート404よりも高い又は低いフレームレートであり得る。例えば、場合によっては、フレームレート406は、一致したキーフレーム414に関連付けられたイベント事前確率の値、及び/又はフレームレート406を計算するために使用される設定可能フレームレート若しくはピークフレームレートに応じて、フレームレート404よりも高く又は低くなり得る。
【0115】
時間tにおいて、タイマが満了する前に、電子デバイス100は、フレームレート406においてキャプチャされたフレーム内の特徴に基づいて、イベントデータ(例えば、イベントデータ202)内の一致したキーフレーム416を見つける。一致したキーフレーム416は、前述のように、イベント事前確率を含むことができる。一致したキーフレーム416を見つけたことに応答して、電子デバイス100は、(例えば、コントローラ126を介して)フレームレート408を決定し、カメラデバイスのフレームレートをフレームレート406からフレームレート408に変更することができる。電子デバイス100は、一致したキーフレーム416に関連付けられたイベント事前確率に基づいてフレームレート408を決定することができる。いくつかの例では、フレームレート408は、一致したキーフレーム416に関連付けられたイベント事前確率における尤度/確率値が、一致したキーフレーム414に関連付けられたイベント事前確率における尤度/確率値よりも高いことに基づいて、フレームレート406よりも高いフレームレートであり得る。他の例では、フレームレート408は、一致したキーフレーム416に関連付けられたイベント事前確率における尤度/確率値が、一致したキーフレーム414に関連付けられたイベント事前確率における尤度/確率値よりも低いことに基づいて、フレームレート406よりも低いフレームレートであり得る。さらに他の例では、フレームレート408は、(例えば、フレームレート406を決定するために使用される設定可能フレームレート又はピークフレームレートと比較して)フレームレート408を決定するために使用される異なる設定可能フレームレート又はピークフレームレートに基づいて、フレームレート406よりも高い又は低いフレームレートであり得る。
【0116】
時間tにおいて、電子デバイス100は、フレームレート408を維持するためのタイマ418が別のキーフレーム一致の前に満了したと判定する。タイマ418の満了に基づいて、電子デバイス100は、カメラデバイスのフレームレートをフレームレート408からデフォルトフレームレート402に戻すように変更することができる。いくつかの例では、タイマ418は、タイマ412と同じであってもよい。他の例では、タイマ418は、タイマ412とは異なる満了期間を含むことができる。
【0117】
場合によっては、電子デバイス100は、減衰するデフォルトフレームレートを実行することができる。例えば、低減されたフレームレートは、増加したイベント検出レイテンシに関連付けられ得る(例えば、より高いフレームレートは、より低いレイテンシをもたらし得る)。デフォルトフレームレート402について、電子デバイス100は、イベントデータがより少数の(例えば、閾値未満の)記録されたイベントを含むとき、カメラデバイスのフレームレートをより低いフレームレート(例えば、より高い検出レイテンシをもたらし得る)にデフォルト設定し得る。そのような場合、電子デバイス100は、高いフレームレートで始まるが、より多くのイベントがイベントデータに追加されるにつれて(例えば、電子デバイス100が、どのロケーション/環境が対象のイベントに最も関連付けられているかを学習するにつれて)減衰するデフォルトフレームレートを実行することができる。
【0118】
例を挙げると、イベントデータがより少数のイベント(例えば、イベントの閾値数未満)を含むとき、デフォルトフレームレートは、イベントデータがより多数のイベント(例えば、イベントの閾値数を超える)を含むときよりも高く開始し、電子デバイス100が、どのロケーション/環境が対象のイベントに最も関連付けられているかをより良く学習するため、並びに/又は対象のロケーション/環境及び/若しくはイベントに関連付けられた事前確率の精度を高めるために、対象のイベント及び/若しくは関連付けられた環境に関するより多くの情報を収集している間の検出レイテンシを減少させることができる。より多くのエントリがイベントデータに追加され、電子デバイス100が対象のイベントについてよりロバストなデータ/統計値を有するにつれて、電子デバイス100はデフォルトフレームレートを低減し始めることができる。低減されたデフォルトフレームレートは、電子デバイス100がデフォルトフレームレートを実行する一方で、特定の環境内で対象のイベントを検出する尤度を反映する決定された事前確率の信頼度及び/又は精度を高めるために使用することができる、環境及び/又はイベントに関するより多くのデータ(例えば、より多くのマップエントリ)を電子デバイス100が有する場合、電子デバイス100が電力消費を低減することを可能にすることができる。したがって、電子デバイス100は、対象のイベントが発生した場合のより長いレイテンシを回避するために、低いデフォルトフレームレートを実行する一方で、対象のイベントを検出する尤度を評価するために電子デバイス100が有する情報量が少ない場合、より高いデフォルトフレームレートを実行することができ、対象のイベントが検出されなかった場合、及び/又はそのようなイベントを検出する尤度が、より大きい関連データ量に基づいて、より低い(例えば、閾値を下回る)と判定された場合、カメラデバイスによる電力消費を低減するために、情報量(例えば、イベントを検出する尤度がより低いことに関連する信頼度)が増加する場合、より低いデフォルトフレームレートを実行することができる。
【0119】
図5は、電子デバイス100が異なるシーンにあるときに実行される、異なる電力状態の一例を示す図である。この例では、電子デバイス100が、対象のイベントを検出/対象のイベントに遭遇する尤度/確率がより低いシーン500内に位置するとき、電子デバイス100は、低電力状態502で動作している。低電力状態502は、シーン500において対象のイベントを検出/対象のイベントに遭遇する尤度/確率に基づくことができる。低電力状態502は、例えば、電子デバイス100のカメラデバイスの(例えば、カメラデバイス又は別のカメラデバイスによってサポートされる高電力設定又はモードと比較して)低電力設定又はモードを含むことができる。いくつかの例では、低電力状態502は、電子デバイス100のカメラデバイスによってキャプチャされたフレームを処理するために実行される、低電力動作及び/又は処理パイプラインを含むこともできる。例えば、低電力状態502は、低減された処理複雑度及び/又は電力消費に関連付けられた画像処理動作(複数可)又は画像処理パイプラインを実行するための設定を含むことができる。いくつかの例では、低電力状態502はまた、センサ、プロセッサ、別のカメラデバイス、及び/又は任意の他のデバイスなど、電子デバイス100の別のデバイスの低電力設定又はモードを含むことができる。
【0120】
シーン510はまた、対象のイベントを検出/対象のイベントに遭遇する尤度/確率がより低い。電子デバイス100がシーン510に位置するとき、電子デバイス100は、デフォルト電力状態512を実行することができる。デフォルト電力状態512は、シーン510において対象のイベントを検出/対象のイベントに遭遇する尤度/確率に基づき得る。シーン510におけるデフォルト電力状態512は、シーン500における低電力状態502と同じであっても、又は異なっていてもよい。いくつかの例では、デフォルト電力状態512は、低電力状態502よりも低い電力消費に関連付けられ得る。いくつかの例では、デフォルト電力状態512は、電子デバイス100のカメラデバイスによってサポートされる最も低い電力設定又はモードであり得る。他の例では、デフォルト電力状態512は、低電力状態502と同じ又はより高い電力消費に関連付けられ得る。場合によっては、デフォルト電力状態512は、図4に示されるデフォルトフレームレート402などのデフォルトフレームレートを含むことができる。
【0121】
一方、シーン520は、対象のイベントを検出/対象のイベントに遭遇する尤度/確率がより高い。ここで、電子デバイス100は、シーン520において対象のイベントを検出する/対象のイベントに遭遇するより高い尤度/確率に基づいて、高電力状態522を実行することができる。いくつかの例では、高電力状態522は、カメラデバイス又は画像処理パイプラインの高電力設定(例えば、より高いフレームレート、より高いアップコンバージョン、より高い解像度、起動されるより多くの画像センサ、より高い忠実度の画像処理パイプラインなど)を含むことができる。いくつかの例では、高電力状態522は、電子デバイス100が、より高い尤度/確率に基づいて高電力カメラデバイスをアクティブ化及び/又は使用する状態を含むことができる。例えば、高電力状態522では、電子デバイス100は、シーン500及びシーン510において電子デバイス100によって実装される低電力カメラデバイスよりも、高い能力を有する高電力カメラデバイス又はメインカメラデバイス、高い複雑さ/忠実度を有する処理パイプラインなどを、アクティブ化及び/又は実行することができる。
【0122】
電子デバイス100がシーン520においてオブジェクト530に遭遇するとき、電子デバイス100は、オブジェクト530の画像を(例えば、画像センサ102及び/又は画像センサ104を介して)キャプチャすることができる。電子デバイス100は、高電力状態522にある間に、オブジェクト530の画像をキャプチャし、画像内のオブジェクト530を検出するためにオブジェクト検出を実行することができる。いくつかの例では、高電力状態522は、電子デバイス100が、低電力状態502又はデフォルト電力状態512にあるときよりも、高品質の画像(例えば、より高い解像度、より高いフレームレートなど)をキャプチャすることを可能にすることができる。いくつかの例では、高電力状態522は、電子デバイス100が、低電力状態502又はデフォルト電力状態512にあるときよりも、よりロバスト/複雑で、及び/又はより高い忠実度の画像処理を実行することを可能にすることができる。
【0123】
図6は、イベントデータに基づいてカメラ設定を調整するための例示的なプロセス600を示すフローチャートである。ブロック602において、プロセス600は、電子デバイス(例えば、電子デバイス100)の画像キャプチャデバイス(例えば、画像センサ102)を介して、環境の少なくとも一部分を描写する画像(例えば、フレーム)を取得することを含むことができる。環境は、例えば、限定はしないが、部屋(例えば、キッチン、寝室、オフィス、リビングルーム、ガレージ、地下室など)、空間若しくはエリア(例えば、庭、パティオ、階段、畑、公園など)、及び/又は任意の他の環境を含むことができる。
【0124】
ブロック604において、プロセス600は、画像から抽出された1つ以上の視覚的特徴と、キーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することを含むことができる。場合によっては、キーフレームは、電子デバイス上のイベントデータ(例えば、イベントデータ202)内の複数のキーフレームのうちの1つを含むことができる。いくつかの例では、キーフレームは、1つ以上の検出イベントに関連付けられ得る。例えば、キーフレームは、画像によって以前にキャプチャされ、電子デバイスによって画像内で検出されたイベントの、視覚的特徴を含むことができる。いくつかの例では、1つ以上の検出イベントは、画像によってキャプチャされた顔、画像によってキャプチャされたハンドジェスチャ、画像によってキャプチャされた感情、画像によってキャプチャされたシーン、画像によってキャプチャされた1人又は複数の人、画像によってキャプチャされた動物、画像によってキャプチャされた機械可読コード(例えば、QRコード、バーコード、リンクなど)、画像によってキャプチャされた赤外光、画像によってキャプチャされた二次元表面若しくは平面、及び/又は画像によってキャプチャされたテキストの検出を含むことができる。
【0125】
いくつかの例では、イベントデータは、画像キャプチャデバイスに関連付けられた検出イベントからの多数のキーフレーム、及び/又はイベントデータ内の多数のキーフレームの各キーフレームに関連付けられた検出イベントの個別のカウントを含むことができる。
【0126】
いくつかの例では、画像から抽出された1つ以上の視覚的特徴とイベントデータ内のキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することは、画像から抽出された1つ以上の視覚的特徴をキーフレームに関連付けられた1つ以上の視覚的特徴と比較すること、及び/又は画像から抽出された1つ以上の視覚的特徴の第1の記述子をキーフレームに関連付けられた1つ以上の視覚的特徴の第2の記述子と比較することを含むことができる。
【0127】
場合によっては、プロセス600は、一致に基づいて、環境内で対象のイベントが発生する尤度を推定することを含むことができる。いくつかの実施例では、電子デバイスは、その環境内で対象のイベントが発生する推定尤度を表す尤度又は確率値を含むイベント事前確率を計算することができる。
【0128】
ブロック606において、プロセス600は、一致に基づいて、画像キャプチャデバイスの1つ以上の設定を調整する(例えば、変更/調節する)ことを含むことができる。場合によっては、プロセス600は、環境内で対象のイベントが発生する尤度にさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整することを含むことができる。
【0129】
いくつかの例では、画像キャプチャデバイスの1つ以上の設定を調整することは、画像キャプチャデバイスの電力モードを変更することを含むことができる。場合によっては、画像キャプチャデバイスの電力モードを変更することは、画像キャプチャデバイスのフレームレート、画像キャプチャデバイスの解像度、画像キャプチャデバイスのビニングモード、画像キャプチャデバイスの撮像モード、並びに/又は画像キャプチャデバイス及び/若しくは電子デバイスによって起動される画像センサの数を変更することを含むことができる。
【0130】
いくつかの例では、画像キャプチャデバイスの電力モードを変更することは、その環境に内で対象のイベントが発生する尤度が閾値を下回るという判定に基づいて、フレームレート、解像度、ビニングモード、スケーリング係数、撮像モード、及び/又は起動される画像センサの数を下げることを含むことができる。いくつかの例では、画像キャプチャデバイスの電力モードを変更することは、その環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、フレームレート、解像度、ビニングモード、スケーリング係数、撮像モード、及び/又は起動される画像センサの数を上げることを含むことができる。
【0131】
いくつかの例では、画像キャプチャデバイスは、第1の画像キャプチャデバイスを含むことができる。いくつかの態様では、プロセス600は、環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、電子デバイスの第2の画像キャプチャデバイスの電力モードを上げることを含むことができる。場合によっては、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスよりも高い電力モード、第1の画像キャプチャデバイスよりも高いフレームレート、第1の画像キャプチャデバイスよりも高い解像度、第1の画像キャプチャデバイスよりも多い画像センサ、及び/又は第1の画像キャプチャデバイスに関連付けられた処理パイプラインよりも高い電力の処理パイプラインを採用することができる。いくつかの例では、第2の画像キャプチャデバイスの電力モードを上げることは、第2の画像キャプチャデバイスをオンにすること及び/又は第2の画像キャプチャデバイスを初期化することを含むことができる。
【0132】
場合によっては、キーフレームは、電子デバイスにおけるイベントデータ(例えば、イベントデータ202)に包含又は含まれ得る。いくつかの例では、イベントデータ202は、1つ以上の環境(及び/又は1つ以上の環境の1つ以上の部分)に関連付けられた1つ以上のキーフレームの特徴を、1つ以上の環境と相関させるイベントマップを含むことができる。場合によっては、イベントデータはキーフレームを含むことができる。いくつかの例では、イベントデータは、画像キャプチャデバイスによる以前の検出イベント(例えば、対象の1つ以上のイベントの以前の検出)からの複数のキーフレームを含むことができる。場合によっては、イベントデータはまた、複数のキーフレームの各キーフレームに関連付けられた検出イベントの個別のカウントを含むことができる。
【0133】
いくつかの例では、プロセス600は、環境内で対象のイベントが発生する尤度を推定することを含むことができる。場合によっては、その環境内で対象のイベントが発生する尤度を推定することは、キーフレームに関連付けられた検出イベント(例えば、対象のイベント(複数可)の以前の検出)の一致及び個別のカウントに基づいて、その環境内で検出イベントが発生する尤度を推定することを含むことができる。いくつかの例では、プロセス600は、画像から抽出された1つ以上の視覚的特徴とキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することに応答して、キーフレームに関連付けられた検出イベントの個別のカウントを増加させることを含むことができる。
【0134】
いくつかの例では、プロセス600は、画像キャプチャデバイスを介して、異なる環境の少なくとも一部分を描写する異なる画像を取得することと、異なる画像から抽出された1つ以上の視覚的特徴が、電子デバイスにおけるイベントデータ内のどのキーフレームに関連付けられた視覚的特徴とも一致しないと判定することと、異なる画像に対応するイベントデータ内に新しいエントリを作成することと、を含むことができる。場合によっては、新しいエントリは、異なる画像から抽出された1つ以上の視覚的特徴が、イベントデータ内のどのキーフレームに関連付けられた視覚的特徴にも一致しないと判定することと、対象のイベントが異なる画像内で検出されたという判定、イベントデータ内の個別のキーフレームが最後に作成されてから経過した時間、及びイベントデータ内の特定のキーフレームと画像キャプチャデバイスによってキャプチャされた特定の画像との間で個別の一致が最後に識別されてから経過した時間のうちの少なくとも1つとに応答して作成される。
【0135】
いくつかの例では、プロセス600は、対象のイベントが異なる画像内で検出されたと判定することと、対象のイベントが異なる画像内で検出されたという判定に基づいて、異なる環境内で追加の対象のイベントが発生する第2の尤度を決定することと、異なる環境内で追加の対象のイベントが発生する第2の尤度に基づいて、画像キャプチャデバイスの少なくとも1つの設定を調整することと、を含むことができる。
【0136】
いくつかの例では、画像キャプチャデバイスの1つ以上の設定は、フレームレートを含むことができ、プロセス600は、検出イベントのための所定のフレームレート及び環境内で対象のイベントが発生する尤度に基づいてフレームレートを決定することと、少なくとも設定された期間の満了(例えば、タイマの満了)まで、又は画像キャプチャデバイスによってキャプチャされた異なる画像とイベントデータ内の少なくとも1つのキーフレームとの間の後続の一致の判定まで、フレームレートを維持することと、を含むことができる。いくつかの例では、プロセス600は、設定された期間の満了後又は後続の一致の判定の後に、画像キャプチャデバイスのフレームレートを、異なるフレームレートに調整することを含むことができる。場合によっては、異なるフレームレートは、デフォルトフレームレート、又は、所定のフレームレートと、後続の一致に関連付けられた検出イベントの異なる尤度とに基づいて計算された特定のフレームレートを含むことができる。場合によっては、異なるフレームレートは、デフォルトフレームレート、又は、所定のフレームレートと、後続の一致に関連付けられた特定の対象のイベントを検出する第2の尤度とに基づいて決定された特定のフレームレートを含むことができる。
【0137】
場合によっては、所定のフレームレートは、画像キャプチャデバイスによってサポートされる最も高いフレームレートを含むことができる。いくつかの例では、フレームレートを決定することは、所定のフレームレートに、その環境内で対象のイベントが発生する尤度に対応する値を乗算することを含むことができる。場合によっては、所定のフレームレートは、デフォルトフレームレートよりも高い。いくつかの例では、プロセス600は、1つ以上のキーフレームをイベントデータに追加することに応答して、デフォルトフレームレートをより低いフレームレートに低減することを含むことができる。
【0138】
いくつかの例では、プロセス600は、ある環境内で対象のイベントが発生する尤度に基づいて、電子デバイスの投光照明器、電子デバイスの深度センサデバイス、電子デバイスのデュアル画像キャプチャデバイスシステム、電子デバイスの構造化光システム、電子デバイスの飛行時間型システムなどの能動型深度送信機システムの1つ以上の異なる設定を調整することを含むことができる。場合によっては、プロセス600は、その環境内で対象のイベントが発生する尤度に基づいて、オーディオアルゴリズム、全地球的航法衛星システム(GNSS)、ワイヤレスロケーションエリアネットワーク接続及び/若しくはデータ(例えば、WIFI)、並びに/又は全地球測位システム(GPS)のうちの少なくとも1つに関連付けられたロケーションサービスの1つ以上の設定を調整することを含むことができる。いくつかの例では、1つ以上の異なる設定を調整することは、投光照明器、深度センサデバイス、デュアル画像キャプチャデバイスシステム、構造化光システム、飛行時間型システム、オーディオアルゴリズム、及び/又はロケーションサービスをオフにすること、又は実行すること(例えば、オンにすること、アクティブ化すること、初期化すること、電源を入れることなど)を含むことができる。いくつかの例では、1つ以上の異なる設定を調整することは、能動型深度送信機をオフにすること、又は実行することを含むことができる。
【0139】
いくつかの態様では、プロセス600は、一致に基づいて、その環境内で対象のイベントが発生する尤度を決定することと、その環境内で対象のイベントが発生する尤度にさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整することと、を含むことができる。
【0140】
いくつかの態様では、プロセス600は、電子デバイスの非画像キャプチャデバイスからのデータにさらに基づいて、イベントの尤度を決定すること、又は、電子デバイスの非画像キャプチャデバイスからのデータにさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整すること、を含むことができる。
【0141】
いくつかの例では、プロセス600は、イベントデータ内のキーフレームエントリに関連付けられた検出イベントのそれぞれのカウントを、定期的に低減することを含むことができる。場合によっては、検出イベントのそれぞれのカウントは、イベントデータ内のすべてのキーフレームエントリにわたって比例的に低減される。
【0142】
いくつかの例では、プロセス600は、1つ以上のコンピューティングデバイス又は装置によって実行され得る。例示的な一例では、プロセス600は、図1に示した電子デバイス100によって実行されてもよい。いくつかの例では、プロセス600は、図7に示したコンピューティングデバイスアーキテクチャ700を有する1つ以上のコンピューティングデバイスによって実行され得る。場合によっては、そのようなコンピューティングデバイス又は装置は、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、又はプロセス600のステップを行うように構成されたデバイスの他の構成要素を含み得る。いくつかの例では、そのようなコンピューティングデバイス又は装置は、画像データ及び/又は他のセンサ測定値をキャプチャするように構成された1つ以上のセンサを含み得る。例えば、コンピューティングデバイスは、スマートフォン、ヘッドマウントディスプレイ、モバイルデバイス、又は他の適切なデバイスを含むことができる。いくつかの例では、そのようなコンピューティングデバイス又は装置は、1つ以上の画像又はビデオをキャプチャするように構成されたカメラを含んでもよい。場合によっては、そのようなコンピューティングデバイスは、画像を表示するためのディスプレイを含んでもよい。いくつかの例では、1つ以上のセンサ及び/又はカメラは、コンピューティングデバイスから分離され、その場合、コンピューティングデバイスは感知されたデータを受信する。そのようなコンピューティングデバイスは、データを通信するように構成されたネットワークインターフェースをさらに含んでもよい。
【0143】
コンピューティングデバイスの構成要素は、回路中に実装され得る。例えば、構成要素は、1つ以上のプログラマブル電子回路(例えば、マイクロプロセッサ、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)、及び/又は他の好適な電子回路)を含み得る、電子回路若しくは他の電子ハードウェアを含むことができる、及び/若しくはそれらを使用して実装されることが可能であり、並びに/又は本明細書で説明する様々な動作を実行するために、コンピュータソフトウェア、ファームウェア、若しくはそれらの任意の組み合わせを含むことができる、及び/若しくはそれらを使用して実装されることが可能である。コンピューティングデバイスは、ディスプレイ(出力デバイスの一例として又は出力デバイスに加えて)、データを通信及び/若しくは受信するように構成されたネットワークインターフェース、任意のそれらの組み合わせ、並びに/又は他の構成要素をさらに含んでもよい。ネットワークインターフェースは、インターネットプロトコル(IP)ベースのデータ若しくは他のタイプのデータを通信及び/又は受信するように構成され得る。
【0144】
プロセス600は、論理フロー図として示され、その動作は、ハードウェア、コンピュータ命令、又はそれらの組合せで実装され得る動作のシーケンスを表す。コンピュータ命令のコンテキストでは、動作は、1つ以上のプロセッサによって実行されたとき、記載された動作を実行する、1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行するか又は特定のデータタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図せず、任意の数の説明される動作は、プロセスを実装するために任意の順序で、及び/又は並列に組み合わせることができる。
【0145】
加えて、プロセス600は、実行可能命令で構成された1つ以上のコンピュータシステムの制御下で実行することができ、1つ以上のプロセッサ上で、ハードウェアによって、又はそれらの組み合わせで、まとめて実行するコード(例えば、実行可能命令、1つ以上のコンピュータプログラム、又は1つ以上のアプリケーション)として実装することができる。上述のように、コードは、例えば、1つ以上のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読記憶媒体又は機械可読記憶媒体上に記憶されてもよい。コンピュータ可読記憶媒体又は機械可読記憶媒体は、非一時的であってもよい。
【0146】
図7は、本明細書で説明する様々な技法を実装することができる、例示的なコンピューティングデバイスの例示的なコンピューティングデバイスアーキテクチャ700を示す。例えば、コンピューティングデバイスアーキテクチャ700は、図1に示される電子デバイス100の少なくともいくつかの部分を実装することができる。コンピューティングデバイスアーキテクチャ700の構成要素は、バスなどの接続部705を使用して、互いに電気通信するように示されている。例示的なコンピューティングデバイスアーキテクチャ700は、処理ユニット(CPU又はプロセッサ)710と、リードオンリーメモリ(ROM)720及びランダムアクセスメモリ(random access memory、RAM)725などのコンピューティングデバイスメモリ715を含む様々なコンピューティングデバイス構成要素をプロセッサ710に結合するコンピューティングデバイス接続部705と、を含む。
【0147】
コンピューティングデバイスアーキテクチャ700は、プロセッサ710に直接接続される、プロセッサ710の近くにある、又はプロセッサ710の一部として統合される高速メモリのキャッシュを含むことができる。コンピューティングデバイスアーキテクチャ700は、プロセッサ710による高速アクセスのために、メモリ715及び/又は記憶デバイス730からデータをキャッシュ712にコピーすることができる。このようにして、キャッシュは、データを待機する間のプロセッサ710の遅延を回避する、パフォーマンスブーストを提供することができる。これら及び他のモジュールは、様々なアクションを実行するようにプロセッサ710を制御することができる、又は制御するように構成され得る。他のコンピューティングデバイスメモリ715も、使用可能であり得る。メモリ715は、異なる性能特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ710は、任意の汎用プロセッサと、記憶デバイス730内に記憶されたハードウェア又はソフトウェアサービスと、を含むことができ、ハードウェア又はソフトウェアサービスは、プロセッサ710と、ソフトウェア命令がプロセッサ設計に組み込まれた専用プロセッサと、を制御するように構成される。プロセッサ710は、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、自己完結型のシステムであってもよい。マルチコアプロセッサは、対称でも非対称であってもよい。
【0148】
コンピューティングデバイスアーキテクチャ700とのユーザの対話を可能にするために、入力デバイス745は、発話のためのマイクロフォン、ジェスチャ又はグラフィカル入力のためのタッチ感知スクリーン、キーボード、マウス、動作入力、発話などの、任意の数の入力機構を表すことができる。出力デバイス735はまた、ディスプレイ、プロジェクタ、テレビ、スピーカデバイスなどの、当業者に知られているいくつかの出力機構のうちの1つ以上であってもよい。場合によっては、マルチモーダルコンピューティングデバイスにより、コンピューティングデバイスアーキテクチャ700と通信するためにユーザが複数のタイプの入力を提供することを可能にし得る。通信インターフェース740は、一般に、ユーザ入力及びコンピューティングデバイス出力を支配して管理することができる。いかなる特定のハードウェア構成上で動作することに対しても制約はなく、したがって、ここでの基本的機能は、改善されたハードウェア又はファームウェア構成が開発されるにつれて、それらと容易に置き換えられ得る。
【0149】
記憶デバイス730は、不揮発性メモリであり、ハードディスク、又は磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)725、リードオンリーメモリ(ROM)720、及びそれらのハイブリッドなどの、コンピュータによってアクセス可能なデータを記憶できる他のタイプのコンピュータ可読媒体であり得る。記憶デバイス730は、プロセッサ710を制御するためのソフトウェア、コード、ファームウェアなどを含むことができる。他のハードウェア又はソフトウェアモジュールが企図される。記憶デバイス730は、コンピューティングデバイス接続部705に接続され得る。1つの態様では、特定の機能を実行するハードウェアモジュールは、機能を実行するために、プロセッサ710、接続部705、出力デバイス735などの必要なハードウェア構成要素と接続している、コンピュータ可読媒体内に記憶されているソフトウェア構成要素を含むことができる。
【0150】
「コンピュータ可読媒体」という用語は、限定はしないが、ポータブル又は非ポータブルの記憶デバイス、光記憶デバイス、並びに命令(複数可)及び/又はデータを記憶、格納、又は搬送できる様々な他の媒体を含む。コンピュータ可読媒体は、データが記憶され、かつワイヤレスで若しくは有線接続を介して伝搬する搬送波及び/又は一時的な電子信号を含まない、非一時的媒体を含んでもよい。非一時的媒体の例は、限定はしないが、磁気ディスク若しくはテープ、コンパクトディスク(CD)若しくはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリ、又はメモリデバイスを含んでもよい。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、又は命令、データ構造、若しくはプログラムステートメントの任意の組み合わせを表し得る、コンピュータ可読媒体上に記憶されたコード及び/又は機械実行可能命令を有してもよい。コードセグメントは、情報、データ、引数、パラメータ、又はメモリコンテンツを渡すこと及び/又は受けることによって、別のコードセグメント又はハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介して渡され、転送され、又は送信されてもよい。
【0151】
いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、及びメモリは、ビットストリームなどを含むケーブル又はワイヤレス信号を含み得る。しかしながら、言及する場合、非一時的コンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波、及び信号自体などの媒体を明確に除外する。
【0152】
本明細書で提供する実施形態及び例の完全な理解を与えるために、上記の説明において具体的な詳細が提供されている。しかしながら、実施形態がこれらの具体的な詳細なしに実践され得ることが当業者によって理解されよう。説明を明快にするために、いくつかの事例では、本技術は、デバイスと、デバイス構成要素と、ソフトウェア、又はハードウェアとソフトウェアの組み合わせにおいて具現化された方法におけるステップ又はルーチンと、を備える個々の機能ブロックを含むものとして提示されてもよい。図中に示され、及び/又は本明細書で説明される構成要素以外の、追加の構成要素が使用されてもよい。例えば、不必要な詳細で実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセス、及び他の構成要素がブロック図の形態で構成要素として示されてもよい。他の事例では、実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、及び技法は、不必要な詳細なしに示されてもよい。
【0153】
個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、又はブロック図として示されるプロセス又は方法として上記で説明されてもよい。フローチャートは、動作を逐次プロセスとして説明することがあるが、動作の多くは並列に又は同時に実行することができる。加えて、工程の順序は並べ替えられてもよい。プロセスは、その動作が完了するときに終了するが、図に含まれていない追加のステップを有することができる。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応してもよい。プロセスが関数に対応するとき、その終了は、その関数が呼出し関数又はメイン関数に戻ることに対応することができる。
【0154】
上記で説明した例によるプロセス及び方法は、コンピュータ可読媒体に記憶されているか、又はそうでなければコンピュータ可読媒体から入手可能なコンピュータ実行可能命令を使用して実装され得る。そのような命令は、例えば、汎用コンピュータ、専用コンピュータ、又は処理デバイスが、特定の機能又は機能のグループを実施することを引き起こすか、又はそうでなければそれらを実施するように構成する、命令とデータとを含むことができる。使用されるコンピュータリソースの部分は、ネットワークを介してアクセス可能であり得る。コンピュータ実行可能命令は、例えば、アセンブリ言語、ファームウェア、ソースコードなどのバイナリ、中間フォーマット命令であってもよい。命令、使用される情報、及び/又は記載した例による方法中に作成される情報を記憶するのに使用され得るコンピュータ可読媒体の例は、磁気又は光ディスク、フラッシュメモリ、不揮発性メモリが設けられたUSBデバイス、ネットワーク接続された記憶デバイスなどを含む。
【0155】
これらの開示に従ってプロセス及び方法を実施するデバイスは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれらの任意の組み合わせを含むことができ、様々なフォームファクタのうちのいずれかをとることができる。ソフトウェア、ファームウェア、ミドルウェア、又はマイクロコードにおいて実装されるとき、必要なタスクを実行するためのプログラムコード又はコードセグメント(例えば、コンピュータプログラム製品)は、コンピュータ可読媒体又は機械可読媒体に記憶されてもよい。プロセッサ(複数可)は、必要なタスクを実行してもよい。フォームファクタの典型的な例は、ラップトップ、スマートフォン、携帯電話、タブレットデバイス又は他の小スペース型パーソナルコンピュータ、携帯情報端末、ラックマウントデバイス、スタンドアロンデバイスなどを含む。本明細書で説明した機能はまた、周辺装置又はアドインカードで具現され得る。そのような機能はまた、更なる例として、異なるチップのうちの回路基板上、又は単一のデバイスにおいて実行する異なるプロセス上で実施され得る。
【0156】
命令、そのような命令を伝えるための媒体、命令を実行するためのコンピューティングリソース、及びそのようなコンピューティングリソースをサポートするための他の構造は、本開示で説明した機能を提供するための例示的な手段である。
【0157】
上記の説明では、本出願の態様はそれらの特定の実施形態を参照しながら説明されるが、本出願がそれらに限定されないことを当業者は認識されよう。したがって、本出願の例示的な実施形態が本明細書で詳細に説明されているが、本発明の概念が別のやり方で様々に具現及び採用され得ること、並びに従来技術によって限定される場合を除き、添付の特許請求の範囲がそのような変形を含むものと解釈されることが意図されることを理解されたい。上記で説明した本出願の様々な特徴及び態様は、個別に又は共同で使用され得る。さらに、実施形態は、本明細書のより広い趣旨及び範囲から逸脱することなく、本明細書で説明されるもの以外の任意の数の環境及び適用例において利用することができる。したがって、本明細書及び図面は、限定的ではなく例示的と見なされるべきである。例示の目的のために、方法は特定の順序で説明された。代替実施形態では、方法は、説明された順序とは異なる順序で実行されてもよいことを理解されたい。
【0158】
本明細書で使用される、よりも小さい(「<」)、及び、よりも大きい(「>」)のシンボル又は専門用語は、本明細書の範囲から逸脱することなく、それぞれ、以下(「≦」)、及び、以上(「≧」)のシンボルと置き換えられ得ることを、当業者は理解するであろう。
【0159】
構成要素が特定の動作を実行する「ように構成される」ものとして説明される場合、そのような構成は、例えば、動作を実行するように電子回路若しくは他のハードウェアを設計することによって、動作を実行するようにプログラマブル電子回路(例えば、マイクロプロセッサ、又は他の適切な電子回路)をプログラムすることによって、又はそれらの任意の組み合わせで達成され得る。
【0160】
「に結合される」という句は、直接的若しくは間接的のいずれかで別の構成要素に物理的に接続されている任意の構成要素、及び/又は直接的若しくは間接的のいずれかで別の構成要素と通信している(例えば、有線接続若しくはワイヤレス接続及び/又は他の好適な通信インターフェースを介して他の構成要素に接続されている)任意の構成要素を指す。
【0161】
集合「のうちの少なくとも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の集合の中で列挙されない項目を含むことができる。
【0162】
本明細書で開示した例に関して説明した様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、又はそれらの組み合わせとして実装されてもよい。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、及びステップについて、それらの機能に関して概略的に上記で説明した。そのような機能がハードウェアとして実装されるのか又はソフトウェアとして実装されるのかは、特定の適用例及びシステム全体に課される設計上の制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本出願の範囲から逸脱する原因として解釈されるべきではない。
【0163】
本明細書で説明される技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、又はそれらの任意の組み合わせにおいて実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、又はワイヤレス通信デバイスハンドセット及び他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなどの、様々なデバイスのうちのいずれかにおいて実装されてもよい。モジュール又は構成要素として説明した任意の特徴は、集積ロジックデバイスの中で一緒に、又は個別であるが相互動作可能なロジックデバイスとして別々に実装され得る。ソフトウェアで実装される場合、技法は、命令を含むプログラムコードを含むコンピュータ可読データ記憶媒体によって少なくとも部分的に実現されてもよく、命令が、実行されたときに、上記で説明した方法、アルゴリズム、及び/又は動作のうちの1つ以上を実行する。コンピュータ可読データ記憶媒体は、コンピュータプログラム製品の一部を形成してもよく、これはパッケージ材料を含んでもよい。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、不揮発性ランダムアクセスメモリ(non-volatile RAM、NVRAM)、電気的消去可能プログラマブルリードオンリーメモリ(electrically erasable programmable read-only memory、EEPROM)、FLASHメモリ、磁気又は光データ記憶媒体などの、メモリ又はデータ記憶媒体を備えてもよい。技法は、追加又は代替として、命令又はデータ構造の形態でのプログラムコードを搬送又は通信し得る、かつコンピュータによってアクセスされ、読み取られ、及び/又は実行され得る、伝搬される信号又は波などの、コンピュータ可読通信媒体によって少なくとも部分的に実現されてもよい。
【0164】
プログラムコードは、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又は他の同等の集積論理回路若しくは個別論理回路などの1つ以上のプロセッサを含み得る、プロセッサによって実行されてもよい。そのようなプロセッサは、本開示に記載された技法のいずれかを実施するように構成されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代わりに、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンでもあってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つ以上のマイクロプロセッサ、又は任意の他のそのような構成として実装されてもよい。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組み合わせ、又は本明細書で説明した技法の実装に適した任意の他の構造若しくは装置のうちのいずれかを指すことがある。
【0165】
本開示の例示的な例は、以下を含む。
態様1.画像を取得するための装置であって、メモリと、メモリに結合される1つ以上のプロセッサと、を備え、1つ以上のプロセッサは、装置の画像キャプチャデバイスを介して、環境の少なくとも一部分を描写する画像を取得し、画像から抽出された1つ以上の視覚的特徴と、1つ以上の検出イベントに関連付けられたキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定し、一致に基づいて、画像キャプチャデバイスの1つ以上の設定を調整するように構成される、装置。
【0166】
態様2.画像キャプチャデバイスの1つ以上の設定を調整するために、1つ以上のプロセッサは、画像キャプチャデバイスの電力モードを変更するように構成される、態様1に記載の装置。
【0167】
態様3.画像キャプチャデバイスの電力モードを変更するために、1つ以上のプロセッサは、画像キャプチャデバイスのフレームレート、画像キャプチャデバイスの解像度、画像キャプチャデバイスのビニングモード、画像キャプチャデバイスの撮像モード、並びに画像キャプチャデバイス及び装置のうちの少なくとも1つによって起動される画像センサの数、のうちの少なくとも1つを変更するように構成される、態様2に記載の装置。
【0168】
態様4.画像キャプチャデバイスの電力モードを変更するために、1つ以上のプロセッサは、環境内で対象のイベントが発生する尤度が閾値を下回るという判定に基づいて、フレームレート、解像度、ビニングモード、撮像モード、及び起動される画像センサの数、のうちの少なくとも1つを下げるように構成される、態様3に記載の装置。
【0169】
態様5.画像キャプチャデバイスの電力モードを変更するために、1つ以上のプロセッサは、環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、フレームレート、解像度、ビニングモード、撮像モード、及び起動される画像センサの数、のうちの少なくとも1つを上げるように構成される態様3の装置。
【0170】
態様6.画像キャプチャデバイスは、第1の画像キャプチャデバイスを含み、1つ以上のプロセッサは、環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、装置の第2の画像キャプチャデバイスの電力モードを上げるように構成され、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスよりも高い電力モード、第1の画像キャプチャデバイスよりも高いフレームレート、第1の画像キャプチャデバイスよりも高い解像度、第1の画像キャプチャデバイスよりも多い数の画像センサ、及び第1の画像キャプチャデバイスに関連付けられた処理パイプラインよりも高い電力の処理パイプラインのうちの少なくとも1つを採用する、態様1~5のいずれかに記載の装置。
【0171】
態様7.第2の画像キャプチャデバイスの電力モードを上げるために、1つ以上のプロセッサは、第2の画像キャプチャデバイスを初期化するように構成される、態様6に記載の装置。
【0172】
態様8.キーフレームは、装置におけるイベントデータに含まれ、イベントデータは、画像キャプチャデバイスに関連付けられた検出イベントからの多数のキーフレームを含む、態様1~7のいずれかに記載の装置。
【0173】
態様9.イベントデータは、多数のキーフレームの各キーフレームに関連付けられた検出イベントの個別のカウントをさらに含む、態様8に記載の装置。
【0174】
態様10.1つ以上のプロセッサは、環境内で対象のイベントが発生する尤度を決定するように構成され、環境内でイベントが発生する尤度を決定するために、1つ以上のプロセッサは、一致と、キーフレームに関連付けられた検出イベントの個別のカウントとに基づいて、環境内でイベントが発生する尤度を決定するように構成される、態様8又は9に記載の装置。
【0175】
態様11.1つ以上のプロセッサは、画像から抽出された1つ以上の視覚的特徴と、キーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することに応答して、イベントデータ内のキーフレームに関連付けられた検出イベントの個別のカウントを増加させるように構成される、態様9又は10に記載の装置。
【0176】
態様12.1つ以上のプロセッサは、環境内で対象のイベントが発生する尤度を決定するように構成され、環境内でイベントが発生する尤度を決定するために、1つ以上のプロセッサは、一致と、多数のキーフレームからの1つ以上のキーフレームとに基づいて、環境内でイベントが発生する尤度を決定するように構成される、態様9~11のいずれかに記載の装置。
【0177】
態様13.1つ以上のプロセッサは、画像キャプチャデバイスを介して、異なる環境の少なくとも一部分を描写する異なる画像を取得し、異なる画像から抽出された1つ以上の視覚的特徴が、装置におけるイベントデータ内のどのキーフレームに関連付けられた視覚的特徴にも一致しないと判定し、異なる画像に対応するイベントデータ内に新しいエントリを作成する、ように構成され、新しいエントリは、異なる画像から抽出された1つ以上の視覚的特徴がイベントデータ内のどのキーフレームに関連付けられた視覚的特徴とも一致しないと判定することと、対象のイベントが異なる画像内で検出されたという判定、イベントデータ内の個別のキーフレームが最後に作成されてから経過した時間、及びイベントデータ内の特定のキーフレームと画像キャプチャデバイスによってキャプチャされた特定の画像との間で個別の一致が最後に識別されてから経過した時間、のうちの少なくとも1つと、に応答して作成される、態様1~12のいずれかに記載の装置。
【0178】
態様14.1つ以上のプロセッサは、対象のイベントが異なる画像内で検出されたと判定し、対象のイベントが異なる画像内で検出されたという判定に基づいて、異なる環境内で追加の対象のイベントが発生する第2の尤度を決定し、異なる環境内で追加の対象のイベントが発生する第2の尤度に基づいて、画像キャプチャデバイスの少なくとも1つの設定を調整する、ように構成される、態様13に記載の装置。
【0179】
態様15.画像キャプチャデバイスの1つ以上の設定は、フレームレートを含み、1つ以上のプロセッサは、検出イベントのための所定のフレームレートと、環境内で対象のイベントが発生する尤度に基づいて、フレームレートを決定し、少なくとも、設定された期間の満了まで、又は画像キャプチャデバイスによってキャプチャされた異なる画像と装置におけるイベントデータ内の少なくとも1つのキーフレームとの間の後続の一致の判定まで、フレームレートを維持する、ように構成される、態様1~14のいずれかに記載の装置。
【0180】
態様16.1つ以上のプロセッサは、設定された期間の満了後又は後続の一致の判定後に、画像キャプチャデバイスのフレームレートを、異なるフレームレートに調整するように構成される、態様15に記載の装置。
【0181】
態様17.異なるフレームレートは、デフォルトフレームレート、又は、所定のフレームレートと、後続の一致に関連付けられた特定の対象のイベントを検出する第2の尤度とに基づいて決定された特定のフレームレートを含む、態様16に記載の装置。
【0182】
態様18.所定のフレームレートは、デフォルトフレームレートよりも高く、1つ以上のプロセッサは、1つ以上のキーフレームを装置におけるイベントデータに追加することに応答して、デフォルトフレームレートをより低いフレームレートに低減するように構成される、態様15~17のいずれかに記載の装置。
【0183】
態様19.所定のフレームレートは、画像キャプチャデバイスによってサポートされる最も高いフレームレートを含み、フレームレートを決定するために、1つ以上のプロセッサは、所定のフレームレートに、環境内で検出イベントが発生する尤度に対応する値を乗算するように構成される、態様16に記載の装置。
【0184】
態様20.画像から抽出された1つ以上の視覚的特徴とキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定するために、1つ以上のプロセッサは、画像から抽出された1つ以上の視覚的特徴のうちの少なくとも1つをキーフレームに関連付けられた1つ以上の視覚的特徴と比較するように、及び画像から抽出された1つ以上の視覚的特徴の第1の記述子をキーフレームに関連付けられた1つ以上の視覚的特徴の第2の記述子と比較するように構成される、態様1~19のいずれかに記載の装置。
【0185】
態様21.1つ以上のプロセッサは、環境内で対象のイベントが発生する尤度に基づいて、装置の能動型深度送信機と、オーディオアルゴリズムと、全地球的航法衛星(GNSS)システム、ワイヤレスロケーションエリアネットワーク接続、及び全地球測位システム(GPS)のうちの少なくとも1つに関連付けられたロケーションサービスと、のうちの少なくとも1つの、1つ以上の異なる設定を調整するように構成される、態様1~20のいずれかに記載の装置。
【0186】
態様22.1つ以上の異なる設定を調整するために、1つ以上のプロセッサが、能動型深度送信機、オーディオアルゴリズム、及びロケーションサービスのうちの少なくとも1つをオフにするよう、又は実行するように構成される、態様21に記載の装置。
【0187】
態様23.1つ以上のプロセッサは、装置におけるイベントデータ内のキーフレームエントリに関連付けられた検出イベントのそれぞれのカウントを定期的に低減するように構成され、検出イベントのそれぞれのカウントは、イベントデータ内のすべてのキーフレームエントリにわたって比例的に低減される、態様1~22のいずれかに記載の装置。
【0188】
態様24.1つ以上の検出イベントは、画像によって描写される顔、画像によって描写されるハンドジェスチャ、画像によって描写される感情、画像によって描写されるシーン、画像によって描写される1人以上の人、画像によって描写される動物、画像によって描写される機械可読コード、画像によって描写される赤外光、画像によって描写される二次元表面、及び画像によって描写されるテキストのうちの少なくとも1つの検出を含む、態様1~23のいずれかに記載の装置。
【0189】
態様25.キーフレームは、装置におけるイベントデータの一部であり、イベントデータは、複数のキーフレームを含む、態様1~24のいずれかに記載の装置。
【0190】
態様26.1つ以上のプロセッサは、一致に基づいて、環境内で対象のイベントが発生する尤度を決定し、環境内で対象のイベントが発生する尤度にさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整する、ように構成される、態様1~25のいずれかに記載の装置。
【0191】
態様27.1つ以上のプロセッサは、装置の非画像キャプチャデバイスからのデータにさらに基づいて、イベントの尤度を決定する、又は、装置の非画像キャプチャデバイスからのデータにさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整する、ようにさらに構成される、態様26に記載の装置。
【0192】
態様28.装置が、モバイルデバイスを含む、態様1~27のいずれかに記載の装置。
【0193】
態様29.装置が、拡張現実デバイスを含む、態様1~28のいずれかに記載の装置。
【0194】
態様30.画像を取得する方法であって、電子デバイスの画像キャプチャデバイスを介して、環境の少なくとも一部分を描写する画像を取得することと、画像から抽出された1つ以上の視覚的特徴と、1つ以上の検出イベントに関連付けられたキーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することと、一致に基づいて、画像キャプチャデバイスの1つ以上の設定を調整することと、を含む、方法。
【0195】
態様31.画像キャプチャデバイスの1つ以上の設定を調整することは、画像キャプチャデバイスの電力モードを変更することを含む、態様30に記載の方法。
【0196】
態様32.画像キャプチャデバイスの電力モードを変更することは、画像キャプチャデバイスのフレームレート、画像キャプチャデバイスの解像度、画像キャプチャデバイスのビニングモード、画像キャプチャデバイスの撮像モード、並びに画像キャプチャデバイス及び電子デバイスのうちの少なくとも1つによって起動される画像センサの数、のうちの少なくとも1つを変更することを含む、態様31に記載の方法。
【0197】
態様33.画像キャプチャデバイスの電力モードを変更することは、環境内で対象のイベントが発生する尤度が閾値を下回るという判定に基づいて、フレームレート、解像度、ビニングモード、撮像モード、及び起動される画像センサの数、のうちの少なくとも1つを下げることを含む、態様31又は32に記載の方法。
【0198】
態様34.画像キャプチャデバイスの電力モードを変更することは、環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、フレームレート、解像度、ビニングモード、撮像モード、及び起動される画像センサの数、のうちの少なくとも1つを増加させることを含む、態様31又は32に記載の方法。
【0199】
態様35.画像キャプチャデバイスは、第1の画像キャプチャデバイスを含み、本方法は、環境内で対象のイベントが発生する尤度が閾値を上回るという判定に基づいて、電子デバイスの第2の画像キャプチャデバイスの電力モードを上げることをさらに含み、第2の画像キャプチャデバイスは、第1の画像キャプチャデバイスよりも高い電力モード、第1の画像キャプチャデバイスよりも高いフレームレート、第1の画像キャプチャデバイスよりも高い解像度、第1の画像キャプチャデバイスよりも多い数の画像センサ、及び第1の画像キャプチャデバイスに関連付けられた処理パイプラインよりも高い電力の処理パイプラインのうちの少なくとも1つを採用する、態様30~34のいずれかに記載の方法。
【0200】
態様36.第2の画像キャプチャデバイスの電力モードを上げることは、第2の画像キャプチャデバイスを初期化することを含む、態様35に記載の方法。
【0201】
態様37.キーフレームは、電子デバイスにおけるイベントデータに含まれ、イベントデータは、画像キャプチャデバイスに関連付けられた検出イベントからの多数のキーフレームを含む、態様30~36のいずれかに記載の方法。
【0202】
態様38.イベントデータは、多数のキーフレームの各キーフレームに関連付けられた検出イベントの個別のカウントをさらに含む、態様37に記載の方法。
【0203】
態様39.一致と、キーフレームに関連付けられた検出イベントの個別のカウントとに基づいて、環境内で対象のイベントが発生する尤度を決定することをさらに含む、態様37又は38に記載の方法。
【0204】
態様40.画像から抽出された1つ以上の視覚的特徴と、キーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することに応答して、イベントデータ内のキーフレームに関連付けられた検出イベントの個別のカウントを増加させることをさらに含む、態様38又は39に記載の方法。
【0205】
態様41.一致と、多数のキーフレームからの1つ以上のキーフレームとに基づいて、環境内で対象のイベントが発生する尤度を決定することをさらに含む、態様38~40のいずれかに記載の方法。
【0206】
態様42.画像キャプチャデバイスを介して、異なる環境の少なくとも一部分を描写する異なる画像を取得することと、異なる画像から抽出された1つ以上の視覚的特徴が、電子デバイスにおけるイベントデータ内のどのキーフレームに関連付けられた視覚的特徴にも一致しないと判定することと、異なる画像に対応するイベントデータ内に新しいエントリを作成することと、をさらに含む態様30~41のいずれかに記載の方法であって、新しいエントリは、異なる画像から抽出された1つ以上の視覚的特徴がイベントデータ内のどのキーフレームに関連付けられた視覚的特徴とも一致しないと判定することと、対象のイベントが異なる画像内で検出されたという判定、イベントデータ内の個別のキーフレームが最後に作成されてから経過した時間、及びイベントデータ内の特定のキーフレームと画像キャプチャデバイスによってキャプチャされた特定の画像との間で個別の一致が最後に識別されてから経過した時間、のうちの少なくとも1つと、に応答して作成される、態様30~41のいずれかに記載の方法。
【0207】
態様43.対象のイベントが異なる画像内で検出されたと判定することと、対象のイベントが異なる画像内で検出されたという判定に基づいて、異なる環境内で追加の対象のイベントが発生する第2の尤度を決定することと、異なる環境内で追加の対象のイベントが発生する第2の尤度に基づいて、画像キャプチャデバイスの少なくとも1つの設定を調整することと、をさらに含む、態様42に記載の方法。
【0208】
態様44.画像キャプチャデバイスの1つ以上の設定は、フレームレートを含み、方法は、検出イベントのための所定のフレームレートと、環境内で対象のイベントが発生する尤度とに基づいて、フレームレートを決定することと、少なくとも、設定された期間の満了まで、又は画像キャプチャデバイスによってキャプチャされた異なる画像と電子デバイスにおけるイベントデータ内の少なくとも1つのキーフレームとの間の後続の一致の判定まで、フレームレートを維持することと、をさらに含む、態様30~43のいずれかに記載の方法。
【0209】
態様45.設定された期間の満了後又は後続の一致の判定の後に、画像キャプチャデバイスのフレームレートを、異なるフレームレートに調整することをさらに含む、態様44に記載の方法。
【0210】
態様46.異なるフレームレートは、デフォルトフレームレート、又は、所定のフレームレートと、後続の一致に関連付けられた特定の対象のイベントを検出する第2の尤度とに基づいて決定された特定のフレームレートを含む、態様45に記載の方法。
【0211】
態様47.所定のフレームレートは、デフォルトフレームレートよりも高く、方法は、1つ以上のキーフレームを電子デバイスにおけるイベントデータに追加することに応答して、デフォルトフレームレートをより低いフレームレートに低減することをさらに含む、態様44~46のいずれかに記載の方法。
【0212】
態様48.所定のフレームレートは、画像キャプチャデバイスによってサポートされる最も高いフレームレートを含み、フレームレートを決定することは、所定のフレームレートに、環境内で検出イベントが発生する尤度に対応する値を乗算することを含み得る、態様47に記載の方法。
【0213】
態様49.画像から抽出された1つ以上の視覚的特徴と、キーフレームに関連付けられた1つ以上の視覚的特徴との間の一致を判定することは、画像から抽出された1つ以上の視覚的特徴のうちの少なくとも1つをキーフレームに関連付けられた1つ以上の視覚的特徴と比較すること、及び画像から抽出された1つ以上の視覚的特徴の第1の記述子をキーフレームに関連付けられた1つ以上の視覚的特徴の第2の記述子と比較すること、をさらに含む態様30~48のいずれかに記載の方法。
【0214】
態様50.環境内で対象のイベントが発生する尤度に基づいて、電子デバイスの能動型深度送信機と、オーディオアルゴリズムと、全地球的航法衛星(GNSS)システム、ワイヤレスロケーションエリアネットワーク接続、及び全地球測位システム(GPS)のうちの少なくとも1つに関連付けられたロケーションサービスと、のうちの少なくとも1つの、1つ以上の異なる設定を調整することをさらに含む、態様30~49のいずれかに記載の方法。
【0215】
態様51.1つ以上の異なる設定を調整することが、能動型深度送信機、オーディオアルゴリズム、及びロケーションサービスのうちの少なくとも1つをオフにすること、又は実行することを含む、態様50に記載の方法。
【0216】
態様52.電子デバイスにおけるイベントデータ内のキーフレームエントリに関連付けられた検出イベントのそれぞれのカウントを定期的に低減することをさらに含む、態様30~51のいずれかに記載の方法であって、検出イベントのそれぞれのカウントは、イベントデータ内のすべてのキーフレームエントリにわたって比例的に低減される、態様30~51のいずれかに記載の方法。
【0217】
態様53.1つ以上の検出イベントは、画像によって描写される顔、画像によって描写されるハンドジェスチャ、画像によって描写される感情、画像によって描写されるシーン、画像によって描写される1人以上の人、画像によって描写される動物、画像によって描写される機械可読コード、画像によって描写される赤外光、画像によって描写される二次元表面、及び画像によって描写されるテキストのうちの少なくとも1つの検出を含む、態様30~52のいずれかに記載の方法。
【0218】
態様54.キーフレームは、電子デバイスにおけるイベントデータの一部であり、イベントデータは、複数のキーフレームを含む、態様30~53のいずれかに記載の方法。
【0219】
態様55.一致に基づいて、環境内で対象のイベントが発生する尤度を決定することと、環境内で対象のイベントが発生する尤度にさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整することと、を含む、態様30~54のいずれかに記載の方法。
【0220】
態様56.電子デバイスの非画像キャプチャデバイスからのデータにさらに基づいて、イベントの尤度を決定すること、又は、電子デバイスの非画像キャプチャデバイスからのデータにさらに基づいて、画像キャプチャデバイスの1つ以上の設定を調整すること、をさらに含む、態様55に記載の方法。
【0221】
態様57.電子デバイスが、モバイルデバイスを含む、態様30~56のいずれかに記載の方法。
【0222】
態様58.電子デバイスが、拡張現実デバイスを含む、態様30~57のいずれかに記載の方法。
【0223】
態様59.態様30~58のいずれかによる方法を実行するための手段を含む装置。
【0224】
態様60.装置が、モバイルデバイスを含む、態様59に記載の装置。
【0225】
態様61.装置が、拡張現実デバイスを含む、態様59又は60に記載の方法。
【0226】
態様62.命令を記憶した非一時的コンピュータ可読媒体であって、命令が、1つ以上のプロセッサによって実行されたとき、1つ以上のプロセッサに、態様30~58のいずれかによる方法を実行させる、非一時的コンピュータ可読媒体。
【0227】
態様63.電子デバイスが、モバイルデバイスを含む、態様62に記載の非一時的コンピュータ可読媒体。
【0228】
態様64.電子デバイスが、拡張現実デバイスを含む、態様62又は63に記載の非一時的コンピュータ可読媒体。
図1
図2A
図2B
図3A
図3B
図4
図5
図6
図7
【国際調査報告】