(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-21
(54)【発明の名称】疎センサキャプチャを用いた物体追跡
(51)【国際特許分類】
G06T 7/70 20170101AFI20231114BHJP
H04N 23/60 20230101ALN20231114BHJP
【FI】
G06T7/70 Z
H04N23/60 500
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023522347
(86)(22)【出願日】2021-10-13
(85)【翻訳文提出日】2023-05-31
(86)【国際出願番号】 US2021054851
(87)【国際公開番号】W WO2022093536
(87)【国際公開日】2022-05-05
(32)【優先日】2020-11-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】515046968
【氏名又は名称】メタ プラットフォームズ テクノロジーズ, リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】META PLATFORMS TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】弁理士法人World IP
(72)【発明者】
【氏名】ラブグローブ, スティーブン ジョン
(72)【発明者】
【氏名】マー, リンニ
(72)【発明者】
【氏名】リー, チャオ
(72)【発明者】
【氏名】ニューコム, リチャード アンドリュー
(72)【発明者】
【氏名】ベルコビッチ, アンドリュー サミュエル
【テーマコード(参考)】
5C122
5L096
【Fターム(参考)】
5C122DA03
5C122DA04
5C122EA59
5C122FH11
5C122GA01
5C122HA13
5C122HA35
5C122HB01
5C122HB05
5L096AA06
5L096CA04
5L096DA02
5L096FA06
5L096FA67
5L096FA69
5L096HA05
(57)【要約】
一実施形態では、方法は、第1の時刻に、複数の画素センサを有するカメラに、物体の第1の物体姿勢を決定するために物体を含む環境の第1の画像を取り込むように命令することを含む。第1の物体姿勢に基づいて、方法は、第2の時刻における物体の予測物体姿勢を決定する。方法は、第2の時刻におけるカメラの予測カメラ姿勢を決定する。方法は、予測物体姿勢を有する物体の3Dモデルの、予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成する。方法は、第2の時刻に、画素活性化命令に従って環境の第2の画像を取り込むために複数の画素センサのサブセットを使用するようにカメラに命令する。方法は、第2の画像に基づいて、物体の第2の物体姿勢を決定する。
【選択図】
図10
【特許請求の範囲】
【請求項1】
1つまたは複数のコンピューティングシステムによって、
第1の時刻に、複数の画素センサを有するカメラに、物体を含む環境の第1の画像を取り込むために前記複数の画素センサを使用するように命令することと、
前記第1の画像に基づいて、前記物体の第1の物体姿勢を決定することと、
前記第1の物体姿勢に基づいて、第2の時刻における前記物体の予測物体姿勢を決定することと、
前記第2の時刻における前記カメラの予測カメラ姿勢を決定することと、
前記予測物体姿勢を有する前記物体の3Dモデルの、前記予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成することと、
前記第2の時刻に、前記画素活性化命令に従って前記環境の第2の画像を取り込むために前記複数の画素センサのサブセットを使用するように前記カメラに命令することと、
前記第2の画像に基づいて、前記物体の第2の物体姿勢を決定することと
を含む方法。
【請求項2】
前記第2の画像を取り込むために、前記第2の時刻に、前記複数の画素センサの前記サブセットは活性化され、前記複数の画素センサの第2のサブセットは不活性化される、請求項1に記載の方法。
【請求項3】
前記第1の画像に基づいて前記物体の物体タイプを識別することと、
前記物体タイプに関連付けられた予測モデルにアクセスすることと、
前記第2の時刻における前記物体の前記予測物体姿勢を決定するために前記予測モデルを使用することと
をさらに含む、請求項1または請求項2に記載の方法。
【請求項4】
前記第2の物体姿勢に基づいて人工現実効果を生成することと、
ユーザによって装着された頭部装着型デバイスを使用して前記人工現実効果を表示することと
をさらに含み、
前記カメラは、前記ユーザによって装着された前記頭部装着型デバイスに取り付けられる、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記画素活性化命令は、前記物体の前記3Dモデルの前記投影の周囲のバッファー領域に基づいてさらに生成され、または好ましくは、前記バッファー領域のサイズは、前記第1の時刻と前記第2の時刻との間の時間に比例し、または好ましくは、前記バッファー領域の前記サイズは、前記カメラのフレームレートに比例する請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記バッファー領域内のすべての前記画素を活性化することをさらに含む、請求項5に記載の方法。
【請求項7】
前記バッファー領域内の画素の疎サンプルを活性化することをさらに含み、好ましくは、
前記バッファー領域内の前記3Dモデルの前記投影内の画素のサンプリングを増加させることをさらに含む、請求項5に記載の方法。
【請求項8】
ソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されると、
第1の時刻に、複数の画素センサを有するカメラに、物体を含む環境の第1の画像を取り込むために前記複数の画素センサを使用するように命令することと、
前記第1の画像に基づいて、前記物体の第1の物体姿勢を決定することと、
前記第1の物体姿勢に基づいて、第2の時刻における前記物体の予測物体姿勢を決定することと、
前記第2の時刻における前記カメラの予測カメラ姿勢を決定することと、
前記予測物体姿勢を有する前記物体の3Dモデルの、前記予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成することと、
前記第2の時刻に、前記画素活性化命令に従って前記環境の第2の画像を取り込むために前記複数の画素センサのサブセットを使用するように前記カメラに命令することと、
前記第2の画像に基づいて、前記物体の第2の物体姿勢を決定することと
を行うように動作可能である、媒体。
【請求項9】
前記第2の画像を取り込むために、前記第2の時刻に、前記複数の画素センサの前記サブセットは活性化され、前記複数の画素センサの第2のサブセットは不活性化される、請求項8に記載の媒体。
【請求項10】
前記ソフトウェアは、実行されると、
前記第1の画像に基づいて前記物体の物体タイプを識別することと、
前記物体タイプに関連付けられた予測モデルにアクセスすることと、
前記第2の時刻における前記物体の前記予測物体姿勢を決定するために前記予測モデルを使用することと
を行うようにさらに動作可能である、請求項8または請求項9に記載の媒体。
【請求項11】
前記ソフトウェアは、実行されると、
前記第2の物体姿勢に基づいて人工現実効果を生成することと、
ユーザによって装着された頭部装着型デバイスを使用して前記人工現実効果を表示することと
を行うようにさらに動作可能であり、
前記カメラは、前記ユーザによって装着された前記頭部装着型デバイスに取り付けられ、および/または
好ましくは、前記画素活性化命令は、前記物体の前記3Dモデルの前記投影の周囲のバッファー領域に基づいてさらに生成される、請求項8~10のいずれか一項に記載の媒体。
【請求項12】
1つまたは複数のプロセッサと、前記プロセッサに接続され前記プロセッサによって実行可能な命令を含む非一時的メモリとを備えるシステムであって、前記プロセッサは、前記命令を実行すると、
第1の時刻に、複数の画素センサを有するカメラに、物体を含む環境の第1の画像を取り込むために前記複数の画素センサを使用するように命令することと、
前記第1の画像に基づいて、前記物体の第1の物体姿勢を決定することと、
前記第1の物体姿勢に基づいて、第2の時刻における前記物体の予測物体姿勢を決定することと、
前記第2の時刻における前記カメラの予測カメラ姿勢を決定することと、
前記予測物体姿勢を有する前記物体の3Dモデルの、前記予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成することと、
前記第2の時刻に、前記画素活性化命令に従って前記環境の第2の画像を取り込むために前記複数の画素センサのサブセットを使用するように前記カメラに命令することと、
前記第2の画像に基づいて、前記物体の第2の物体姿勢を決定することと
を行うように動作可能である、システム。
【請求項13】
前記第2の画像を取り込むために、前記第2の時刻に、前記複数の画素センサの前記サブセットは活性化され、前記複数の画素センサの第2のサブセットは不活性化される、請求項12に記載のシステム。
【請求項14】
前記プロセッサは、前記命令を実行すると、
前記第1の画像に基づいて前記物体の物体タイプを識別することと、
前記物体タイプに関連付けられた予測モデルにアクセスすることと、
前記第2の時刻における前記物体の前記予測物体姿勢を決定するために前記予測モデルを使用することと
を行うようにさらに動作可能である、請求項12または請求項13に記載のシステム。
【請求項15】
前記プロセッサは、前記命令を実行すると、
前記第2の物体姿勢に基づいて人工現実効果を生成することと、
ユーザによって装着された頭部装着型デバイスを使用して前記人工現実効果を表示することと
を行うようにさらに動作可能であり、
前記カメラは、前記ユーザによって装着された前記頭部装着型デバイスに取り付けられ、および/または
好ましくは、前記画素活性化命令は、前記物体の前記3Dモデルの前記投影の周囲のバッファー領域に基づいてさらに生成される、請求項12~14のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、物体追跡に関し、特に、画像キャプチャに基づく物体追跡に関する。
【背景技術】
【0002】
従来、物体追跡は、画像内の検出可能な特徴を追跡するためにフル画像のキャプチャを必要とする。取り込まれた画像を使用して物体を追跡する従来の方法は、画像センサのバッファーからメモリに転送される大量の画素データを処理し、続いて処理されるべきメモリを読み出すために大量の電力を必要とするため、計算コストが高い。さらに、フル画像のキャプチャを必要とする物体追跡は、フル画像を読み出すのに必要な時間を増加させる可能性があるため、レイテンシを導入する可能性がある。このプロセスは電力集約的であり得るため、これは、モバイルデバイスまたはAR/VRデバイスなどの電力制約のあるデバイスが画像キャプチャを使用して物体を追跡する能力を著しく制限する可能性がある。
【発明の概要】
【0003】
本開示の第1の態様によれば、1つまたは複数のコンピューティングシステムによって、第1の時刻に、複数の画素センサを有するカメラに、物体を含む環境の第1の画像を取り込んで、物体の第1の物体姿勢を決定するように命令することを含む方法が提供される。第1の物体姿勢に基づいて、コンピューティングシステムは、第2の時刻における物体の予測物体姿勢を決定することができる。コンピューティングシステムは、第2の時刻におけるカメラの予測カメラ姿勢を決定することができる。次に、コンピューティングシステムは、予測物体姿勢を有する物体の3Dモデルの、予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成することができる。コンピューティングシステムは、第2の時刻に、画素活性化命令に従って環境の第2の画像を取り込むために複数の画素センサのサブセットを使用するようにカメラに命令することができる。次いで、コンピューティングシステムは、第2の画像に基づいて、物体の第2の物体姿勢を決定することができる。
【0004】
本開示の第1の態様によれば、1つまたは複数のコンピューティングシステムによって、第1の時刻に、複数の画素センサを有するカメラに、物体を含む環境の第1の画像を取り込むために複数の画素センサを使用するように命令することと、第1の画像に基づいて、物体の第1の物体姿勢を決定することと、第1の物体姿勢に基づいて、第2の時刻における物体の予測物体姿勢を決定することと、第2の時刻におけるカメラの予測カメラ姿勢を決定することと、予測物体姿勢を有する物体の3Dモデルの、予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成することと、第2の時刻に、画素活性化命令に従って環境の第2の画像を取り込むために複数の画素センサのサブセットを使用するようにカメラに命令することと、第2の画像に基づいて、物体の第2の物体姿勢を決定することとを含む方法が提供される。
【0005】
いくつかの実施形態では、第2の画像を取り込むために、第2の時刻に、複数の画素センサのサブセットは活性化され、複数の画素センサの第2のサブセットは不活性化される。
【0006】
いくつかの実施形態では、本方法は、第1の画像に基づいて物体の物体タイプを識別することと、物体タイプに関連付けられた予測モデルにアクセスすることと、第2の時刻における物体の予測物体姿勢を決定するために予測モデルを使用することとをさらに含む。
【0007】
いくつかの実施形態では、本方法は、第2の物体姿勢に基づいて人工現実効果を生成することと、ユーザによって装着された頭部装着型デバイスを使用して人工現実効果を表示することとをさらに含み、カメラは、ユーザによって装着された頭部装着型デバイスに取り付けられる。
【0008】
いくつかの実施形態では、画素活性化命令は、物体の3Dモデルの投影の周囲のバッファー領域に基づいてさらに生成される。
【0009】
いくつかの実施形態では、バッファー領域のサイズは、第1の時刻と第2の時刻との間の時間に比例する。
【0010】
いくつかの実施形態では、バッファー領域のサイズは、カメラのフレームレートに比例する。
【0011】
いくつかの実施形態では、本方法は、バッファー領域内のすべての画素を活性化することをさらに含む。
【0012】
いくつかの実施形態では、本方法は、バッファー領域内の画素の疎なサンプルを活性化することをさらに含む。
【0013】
いくつかの実施形態では、本方法は、バッファー領域内の3Dモデルの投影内の画素のサンプリングを増加させることをさらに含む。
【0014】
本開示の第2の態様によれば、ソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体が提供され、ソフトウェアは、実行されると、第1の時刻に、複数の画素センサを有するカメラに、物体を含む環境の第1の画像を取り込むために複数の画素センサを使用するように命令することと、第1の画像に基づいて、物体の第1の物体姿勢を決定することと、第1の物体姿勢に基づいて、第2の時刻における物体の予測物体姿勢を決定することと、第2の時刻におけるカメラの予測カメラ姿勢を決定することと、予測物体姿勢を有する物体の3Dモデルの、予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成することと、第2の時刻に、画素活性化命令に従って環境の第2の画像を取り込むために複数の画素センサのサブセットを使用するようにカメラに命令することと、第2の画像に基づいて、物体の第2の物体姿勢を決定することとを行うように動作可能である。
【0015】
いくつかの実施形態では、第2の画像を取り込むために、第2の時刻に、複数の画素センサのサブセットは活性化され、複数の画素センサの第2のサブセットは不活性化される。
【0016】
いくつかの実施形態では、ソフトウェアは、実行されると、第1の画像に基づいて物体の物体タイプを識別することと、物体タイプに関連付けられた予測モデルにアクセスすることと、第2の時刻における物体の予測物体姿勢を決定するために予測モデルを使用することとを行うようにさらに動作可能である。
【0017】
いくつかの実施形態では、ソフトウェアは、実行されると、第2の物体姿勢に基づいて人工現実効果を生成することと、ユーザによって装着された頭部装着型デバイスを使用して人工現実効果を表示することとを行うようにさらに動作可能であり、カメラは、ユーザによって装着された頭部装着型デバイスに取り付けられる。
【0018】
いくつかの実施形態では、画素活性化命令は、物体の3Dモデルの投影の周囲のバッファー領域に基づいてさらに生成される。
【0019】
本発明の第3の態様によれば、1つまたは複数のプロセッサと、プロセッサに接続されプロセッサによって実行可能な命令を含む非一時的メモリとを備えるシステムが提供され、プロセッサは、命令を実行すると、第1の時刻に、複数の画素センサを有するカメラに、物体を含む環境の第1の画像を取り込むために複数の画素センサを使用するように命令することと、第1の画像に基づいて、物体の第1の物体姿勢を決定することと、第1の物体姿勢に基づいて、第2の時刻における物体の予測物体姿勢を決定することと、第2の時刻におけるカメラの予測カメラ姿勢を決定することと、予測物体姿勢を有する物体の3Dモデルの、予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成することと、第2の時刻に、画素活性化命令に従って環境の第2の画像を取り込むために複数の画素センサのサブセットを使用するようにカメラに命令することと、第2の画像に基づいて、物体の第2の物体姿勢を決定することとを行うように動作可能である。
【0020】
いくつかの実施形態では、第2の画像を取り込むために、第2の時刻に、複数の画素センサのサブセットは活性化され、複数の画素センサの第2のサブセットは不活性化される。
【0021】
いくつかの実施形態では、プロセッサは、命令を実行すると、第1の画像に基づいて物体の物体タイプを識別することと、物体タイプに関連付けられた予測モデルにアクセスすることと、第2の時刻における物体の予測物体姿勢を決定するために予測モデルを使用することとを行うようにさらに動作可能である。
【0022】
いくつかの実施形態では、プロセッサは、命令を実行すると、第2の物体姿勢に基づいて人工現実効果を生成することと、ユーザによって装着された頭部装着型デバイスを使用して人工現実効果を表示することとを行うようにさらに動作可能であり、カメラは、ユーザによって装着された頭部装着型デバイスに取り付けられる。
【0023】
いくつかの実施形態では、画素活性化命令は、物体の3Dモデルの投影の周囲のバッファー領域に基づいてさらに生成される。
【0024】
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書で開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、例えば、方法において述べられた任意の特徴は、別の請求項カテゴリー、例えば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、前の請求項への意図的な参照(特に複数の従属関係)から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれも、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
【図面の簡単な説明】
【0025】
【
図2】環境の第1の画像キャプチャを示す図である。
【
図3】第1の物体姿勢を有する物体の3Dモデルを示す図である。
【
図4】予測物体姿勢を有する物体の3Dモデルを示す図である。
【
図5】予測物体姿勢を有する物体の3Dモデルおよび予測カメラ姿勢を有する予測仮想環境を示す図である。
【
図7】活性化マップと環境とのオーバーレイを示す図である。
【
図8A】バッファー領域内の例示的な交互画素活性化を示す図である。
【
図8B】バッファー領域内の例示的な交互画素活性化を示す図である。
【
図8C】バッファー領域内の例示的な交互画素活性化を示す図である。
【
図8D】バッファー領域内の例示的な交互画素活性化を示す図である。
【
図9】環境の第2の画像キャプチャを示す図である。
【
図10】画像キャプチャに基づいて環境内の物体を追跡するための例示的な方法を示す図である。
【
図11】例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0026】
特定の実施形態では、コンピューティングシステムは、画像キャプチャに基づいて環境内の物体を追跡することができる。取り込まれた画像を使用して物体を追跡する従来の方法は、大量の画素データが画像センサのバッファーからメモリに転送され、続いて処理されることにより大量の電力を必要とする。しかしながら、物体追跡の目的のために、すべての画素が必要とされるわけではない。予測モデルは、物体が環境内でどのように移動するかを予測し、次いで、物体が移動すると予測された物体の画素のサブセット(例えば、物体の輪郭に沿って位置する画素および/または輪郭内の画素サンプル)を取り込むことができる。次いで、取り込まれた画素情報を使用して、環境内の物体の3Dモデルを追跡および更新することができる。例として、限定ではなく、コンピューティングシステムは、環境を通って移動する1または複数の人および/または物体を追跡することができる。例えば、人はテーブルに向かって歩いている可能性があり、コンピューティングシステムは、人がテーブルに登ることを予測することができる。他の例として、限定ではなく、ボールなどの物体がテーブルに向かって転がっていてもよい。コンピューティングシステムは、ボールが当たるとテーブル脚から跳ね返ることを予測することができる。さらに、複数の人および/または物体を追跡するとき、コンピューティングシステムは、どの人および/または物体が互いに遮られているか、または遮られようとしているかを決定することができる。すなわち、コンピューティングシステムは、目に見えることが期待されない人および/または物体の画素を無視することができる。本開示は、特定の方法で画像キャプチャに基づいて環境内の物体を追跡することを説明しているが、本開示は、任意の適切な方法で画像キャプチャに基づいて環境内の物体を追跡することを想定している。
【0027】
図1は、環境100を示す。環境100は、1つまたは複数の物体105、例えば、人105aおよびテーブル105bを含むことができる。
図2は、環境の第1の画像キャプチャを示す。特定の実施形態では、コンピューティングシステム110は、複数の画素センサを有するカメラ115(例えば、カメラ、AR/VRヘッドセットなど)に、複数の画素センサを使用して、カメラ視野120内の1つまたは複数の物体105を含む環境100の第1の画像を取り込むように命令することができる。環境100の画像(複数の画素を含む)を取り込むための複数の画素センサを有する1つまたは複数のカメラがあってもよく、複数の画素は、1つまたは複数のカメラのいずれかによって取り込まれ得る。センサは、例えば、コンピューティングシステム110の近くにセンサを配置することによって、伝送レイテンシを低減するように配置され得る。カメラ115は、第1の時刻t
1におけるカメラ115の位置および向きを測定する第1のカメラ姿勢CP
1を有することができる。例として、限定ではなく、第1のカメラ姿勢CP
1は、カメラ115上のセンサ、加速度計、ジャイロスコープ、または他の位置センサを使用して決定され得る。画像キャプチャは、環境100内の1つまたは複数の物体105のフル分解能画像キャプチャであってもよい。いくつかの実装形態では、カメラ115は、1つまたは複数の物体105の特徴を取り込むことができる。例として、限定ではなく、カメラ115は、人の顔、目、または鼻などの人105aの特定の、または高い勾配の特徴を取り込むことができる。これは、特定の、または高い勾配の特徴を取り込むことが、人105aの位置および向きを示すか、または潜在的な移動方向の指示として機能することができるため、有用であり得る。特定の実施形態では、コンピューティングシステム110は、第1の画像に基づいて物体タイプを識別してもよい。例として、限定ではなく、コンピューティングシステム110は、画像プロセッサを使用して、物体105が人もしくは回転ボールなどの動的物体、またはテーブルなどの静的物体であると決定することができる。本開示は、特定の方法で第1の時刻に第1の画像を取り込むようにカメラ115に命令するコンピューティングシステム110を説明しているが、本開示は、任意の適切な方法で第1の時刻に第1の画像を取り込むことを想定している。
【0028】
図3は、第1の物体姿勢OP
1140を有する物体の3Dモデルを示す。特定の実施形態では、コンピューティングシステム110は、第1の画像キャプチャに基づいて、第1の時刻t
1における環境100内の物体105(例えば、人105a)の位置および向きを測定する第1の物体姿勢OP
1を決定することができる。第1の画像キャプチャは、第1の物体姿勢OP
1140を有する物体の3Dモデルを構築するために使用され得る。例として、限定ではなく、コンピューティングシステム110は、人105aおよびテーブル105bを含む環境100の画像を取り込み、人105aのみが追跡されているので、人105aの3Dモデルを作成してもよい。第1の物体姿勢OP
1140を有する物体の3Dモデルは、第1の物体姿勢OP
1を有する人105aのワイヤメッシュとすることができる。例として、限定ではなく、第1の物体姿勢OP
1を決定することは、SLAMなどの位置特定技術を使用して行われてもよい。本開示は、特定の様式で第1の物体姿勢OP
1を測定することについて説明しているが、本開示は、任意の好適な様式で第1の物体姿勢OP
1を測定することを想定している。
【0029】
図4は、予測物体姿勢OP
2145を有する物体の3Dモデルを示す。特定の実施形態では、コンピューティングシステム110は、第1の物体姿勢OP
1に基づいて、物体105の予測物体姿勢OP
2(例えば、第2の時刻t
2における物体姿勢)を決定することができる。いくつかの実施形態では、コンピューティングシステム110は、カメラ115が次のフレームを取り込むとき、例えば、カメラ115が第2の時刻t
2に第2の画像キャプチャを取り込むときに、物体105がどこにあり得るかを決定することができる。例えば、コンピューティングシステム110は、第1の画像キャプチャに基づいて物体105の物体タイプに関連付けられた予測モデルにアクセスし、予測モデルを使用して、予測物体姿勢OP
2145を有する物体の3Dモデルを決定することができる。例として、限定ではなく、コンピューティングシステム110は、例えば、画像プロセッサを使用して、静的テーブル(例えば、テーブル105b)は移動しないが、歩行する人(例えば、人105a)または回転するボールは特定の方法で移動または移動を停止すると決定することができる。さらなる例として、コンピューティングシステム110は、前のフレームの比較に基づいて、または人105aの歩行する足取りまたは勢いを分析することによって、物体105(例えば、人105a)が(カメラ視野120に対して)左から右に歩行していると決定することができる。したがって、コンピューティングシステム110は、物体姿勢と物体ダイナミクス(例えば、前のフレームの分析によって決定される)の両方を追跡することによって予測物体姿勢OP
2を決定することができ、これにより、予測物体姿勢OP
2を解決するために必要な画素をさらに削減することができる。したがって、コンピューティングシステム110は、次いで、物体105が(カメラ視野120に対して)右に移動すると決定することができる。他の例として、限定ではなく、コンピューティングシステム110は、テーブルに向かって転がるボールが次の数秒間転がりを継続することができ、ボールがテーブルに当たると、ボールは転がりを停止すると決定することができる。他の例として、コンピューティングシステム110は、空気中に巻き上げられた物体が重力により最終的に地面に向かって落下すると決定することができる。本開示は、特定の方法で第2の時刻t
2における物体105の予測物体姿勢を決定することについて説明しているが、本開示は、任意の適切な方法で予測物体姿勢OP
2を決定することを想定している。
【0030】
図5は、予測物体姿勢OP
2145を有する物体の3Dモデルおよび予測カメラ姿勢CP
2の予測仮想環境150を示す。特定の実施形態では、コンピューティングシステム110は、第2の時刻t
2におけるカメラ115の予測カメラ姿勢CP
2を決定することができる。これは、第2の時刻t
2における予測カメラ姿勢CP
2(例えば、仮想カメラ115vの位置および向き)を決定するために、カメラ115上のセンサ、加速度計、ジャイロスコープ、または他の位置センサを使用して行われ得る。例として、限定ではなく、コンピューティングシステム110は、人の頭部のカメラ(例えば、AR/VRヘッドセット)が、人の頭部が移動物体を追跡しながら回転するときに回転すると決定し、カメラの位置および向きを決定することができる。本開示は、特定の方法で第2の時刻t
2におけるカメラ115の予測カメラ姿勢CP
2を決定することについて説明しているが、本開示は、任意の適切な方法で第2の時刻t
2におけるカメラ115の予測カメラ姿勢CP
2を決定することを想定している。
【0031】
図6は、活性化マップ130を示す。特定の実施形態では、コンピューティングシステム110は、予測物体姿勢を有する物体125の3Dモデルの、予測カメラ姿勢CP
2に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成することができる。仮想画像平面は、第1の画像キャプチャと同じ数の画素および分解能を有する活性化マップ130であってもよい。コンピューティングシステム110は、活性化マップ130が、物体125の3Dモデルの投影(例えば、予測物体姿勢OP
2145を有する物体の3Dモデルの2Dの「影」)に対応する画素を測定またはサンプリングするための命令を生成することができる。例として、限定ではなく、コンピューティングシステム110は、テーブルの隣からテーブルの上に移動する人の予測姿勢に基づいて、人の画素を測定またはサンプリングするための画素活性化命令を生成することができる。本開示は、特定の方法で画素活性化命令を生成することを説明しているが、本開示は、任意の適切な方法で画素活性化命令を生成することを想定している。
【0032】
図7は、活性化マップ130と環境100とのオーバーレイを示す。特定の実施形態では、コンピューティングシステム110は、第2の時刻(例えば、第2の時刻t
2)に、画素活性化命令に従って環境の第2の画像を取り込むために複数の画素センサのサブセットを使用するようにカメラ115に命令することができる。すなわち、カメラ115は、活性化マップ130の仮想平面上に投影された物体125の3Dモデルの投影に関連付けられた画素を測定またはサンプリングすることができる。活性化マップ130は、環境100内の物体105(例えば、人105a)の予測姿勢に対応する。例として、限定ではなく、コンピューティングシステム110が、物体105(例えば、人105a)が第2の時刻t
2においてテーブル105bの上にあることになっていたと決定した後に、コンピューティングシステム110は、活性化マップ130において識別された画素のみ(例えば、物体125の3Dモデルの投影に対応する画素のみ)を測定することによって環境100の他の写真を撮るようにカメラに命令することができる。特定の実施形態では、コンピューティングシステム110は、複数の画素センサの第1のサブセット(例えば、物体125の3Dモデルの投影に対応する活性化マップ130において特定された画素)を活性化することができ、複数の画素センサの第2のサブセットは、第2の画像(例えば、物体125の3Dモデルの投影に対応しないすべての画素)を取り込むために第2の時刻に不活性化される。すなわち、追跡されている物体に関連付けられた画素のみが活性化され、追跡されている物体に関連付けられていない画素は活性化されない。これにより、画像を取り込むために必要な電力量を低減することができる。例として、限定ではなく、テーブル105b上に足を踏み入れる人105aを測定する画素に関連付けられた画素センサが活性化され、天井、壁、または他の追跡されない物体(例えば、テーブル105b)を測定することができる画素に関連付けられた画素センサは活性化されない。本開示は、特定の方法で環境100の第2の画像を取り込むために画素センサのサブセットを使用することを説明しているが、本開示は、任意の適切な方法で環境100の第2の画像を取り込むために画素センサのサブセットを使用することを想定している。
【0033】
特定の実施形態では、画素活性化命令は、物体125の3Dモデルの投影の周囲のバッファー領域135に基づいてさらに生成されてもよい。例として、限定ではなく、コンピューティングシステム110は、物体125の3Dモデルの投影を囲むまたは輪郭を描くバッファー領域135を生成することができる。バッファー領域135のサイズは、第1の時刻と第2の時刻との間の時間、例えば、t1とt2との間の時間に比例し得る。より大きい時間は、より大きいバッファー領域135をもたらし得る(例えば、1秒間のバッファー領域は、100msのバッファー領域よりも大きくなる)。さらに、レイテンシが低いほど、予測の不確実性が少なくなり、バッファー領域135が小さくなる。より小さいバッファー領域135は、処理される画素データの量を低減することができ、レイテンシをさらに低減することができる。バッファー領域のサイズは、カメラ115のフレームレートに比例し得る。高フレームレートのカメラは、低フレームレートのカメラよりも小さいバッファー領域を有し得る。
【0034】
図8A~
図8Dは、バッファー領域135内の例示的な交互画素活性化を示す。特定の実施形態では、
図8Aを参照すると、コンピューティングシステム110は、バッファー領域135内のすべての画素を活性化させることができる。特定の実施形態では、
図8Bを参照すると、コンピューティングシステム110は、バッファー領域135内の画素の疎なサンプルを活性化させることができる。例えば、バッファー領域135内で、10個、100個、または1000個ごとに1個の画素がサンプリングされてもよい。特定の実施形態では、
図8Cを参照すると、コンピューティングシステム110は、物体125の3Dモデルの投影に対応するバッファー領域135の部分内でサンプリングされる画素の数を増加させることができる。例えば、バッファー領域135の画素のより疎なサンプリングを用いた、物体の3Dモデルの投影のための画素のより密なサンプリングが存在し得る。特定の実施形態では、
図8Dを参照すると、コンピューティングシステム110は、高勾配特徴165(例えば、人の顔の目、鼻、口など)に対応する物体125の3Dモデルの投影の部分内でサンプリングされる画素の数を増加させることができる。特定の実施形態では、特に
図8B~
図8Dを参照すると、より少ない画素が活性化されるので、同じ電力および帯域幅に対してより高いフレームレートを有効にすることができ、これにより、物体追跡のレイテンシを低減することができる。さらに、バッファー領域135のサイズは、追跡されている物体の予測ダイナミクスによって決定され得る。例えば、空中に跳ね上げられた物体は、重力に起因して予測された動きで最終的に地面に向かって落下し、より小さいバッファー領域を有し得るが、レーザポインタを追うネコは、ネコのあまり予測できないダイナミクスのために、より大きいバッファー領域を有し得る。
【0035】
図9は、環境100の第2の画像キャプチャを示す。特定の実施形態では、コンピューティングシステム110は、第2の時刻t
2における環境100の第2の画像キャプチャに基づいて、物体105(例えば、人105a)の第2の物体姿勢を決定することができる。例として、限定ではなく、コンピューティングシステム110は、物体105(例えば、人105a)の第2の物体姿勢がテーブル105bの上にあると決定することができる。このプロセスを繰り返して、物体105の追跡を継続し、例えば、人105aがテーブル105bに足を踏み入れた後、人105aが以前に追跡された物体の姿勢に基づいてテーブル105bから降りることを予測することができる。特定の実施形態では、コンピューティングシステム110は、物体105の第2の物体姿勢に基づいて人工現実効果を生成し、AR/VRヘッドセットなどのユーザによって装着された頭部装着型デバイスを使用して人工現実効果を表示することができる。例として、限定ではなく、コンピューティングシステム110は、追跡されている物体が環境を通って移動するときに、物体に対するポイントを付与する仮想コースを作成することができる。したがって、人105aは、AR/VRヘッドセットを介して、人105aをテーブル105b上に載せ、次いでテーブル105bから降ろすコースまたは経路を見ることができる。他の例として、限定ではなく、コンピューティングシステム110は、環境100を移動する際に人105aを追跡することができる仮想物体(仮想ペットなど)を生成することができる。利点は、画素データサイズの縮小によるレイテンシの短縮が、AR/VR体験の品質を高めることができることである。例えば、仮想遮蔽は、追跡される物体に近接して位置合わせされ、追跡される物体に隣接する特徴、アバター、またはキャラクタを正確にレンダリングすることができる。本開示は、特定の方法で物体105の第2の物体姿勢を決定することについて説明しているが、本開示は、任意の適切な方法で物体105の第2の物体姿勢を決定することを想定している。
【0036】
図10は、画像キャプチャに基づいて環境内の物体を追跡するための例示的な方法1000を示す。本方法は、ステップ1010で開始することができ、コンピューティングシステム110は、第1の時刻に、複数の画素センサを有するカメラに、複数の画素センサを使用して物体を含む環境の第1の画像を取り込むように命令する。ステップ1020で、コンピューティングシステム110は、第1の画像に基づいて、物体の第1の物体姿勢を決定する。ステップ1030で、コンピューティングシステム110は、第1の物体姿勢に基づいて、第2の時刻における物体の予測物体姿勢を決定する。ステップ1040で、コンピューティングシステム110は、第2の時刻におけるカメラの予測カメラ姿勢を決定する。ステップ1050で、コンピューティングシステム110は、予測物体姿勢を有する物体の3Dモデルの、予測カメラ姿勢に関連付けられた仮想画像平面への投影に基づいて、画素活性化命令を生成する。ステップ1060で、コンピューティングシステム110は、第2の時刻に、画素活性化命令に従って環境の第2の画像を取り込むために複数の画素センサのサブセットを使用するようにカメラに命令する。ステップ1070で、コンピューティングシステム110は、第2の画像に基づいて、物体の第2の物体姿勢を決定する。特定の実施形態は、適切な場合、
図10の方法の1つまたは複数のステップを繰り返し得る。本開示は、
図10の方法の特定のステップが特定の順序で発生するものとして説明し、示しているが、本開示は、
図10の方法の任意の好適なステップが任意の好適な順序で発生することを想定している。さらに、本開示は、
図10の方法の特定のステップを含む画像キャプチャに基づいて環境内の物体を追跡するための例示的な方法を説明および図示しているが、本開示は、適切な場合には、
図10の方法のステップの全部もしくは一部を含むか、またはいずれも含まない任意の適切なステップを含む画像キャプチャに基づいて環境内の物体を追跡するための任意の適切な方法を想定している。さらに、本開示は、
図10の方法の特定のステップを実行する特定の構成要素、デバイス、またはシステムを説明および図示しているが、本開示は、任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せが、
図10の方法の任意の好適なステップを実行することを想定している。
【0037】
図11は、例示的なコンピュータシステム1100を示す。特定の実施形態では、1つまたは複数のコンピュータシステム1100は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム1100は、本明細書で説明または図示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム1100上で稼働しているソフトウェアは、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または図示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム1100の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
【0038】
本開示は、任意の好適な数のコンピュータシステム1100を想定している。本開示は、任意の好適な物理的形態をとるコンピュータシステム1100を想定している。例として、限定ではなく、コンピュータシステム1100は、組込み型コンピュータシステム、システムオンチップ(SOC)、(例えば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム1100は、1つまたは複数のコンピュータシステム1100を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム1100は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。例として、限定ではなく、1つまたは複数のコンピュータシステム1100は、リアルタイムでまたはバッチモードで、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム1100は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
【0039】
特定の実施形態では、コンピュータシステム1100は、プロセッサ1102と、メモリ1104と、ストレージ1106と、入出力(I/O)インターフェース1108と、通信インターフェース1110と、バス1112とを含む。本開示は、特定の配置において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な配置において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
【0040】
特定の実施形態では、プロセッサ1102は、コンピュータプログラムを作成する命令など、命令を実行するためのハードウェアを含む。例として、限定ではなく、命令を実行するために、プロセッサ1102は、内部レジスタ、内部キャッシュ、メモリ1104、またはストレージ1106から命令を取り出し(またはフェッチし)、それらの命令をデコードおよび実行し、次いで、内部レジスタ、内部キャッシュ、メモリ1104、またはストレージ1106に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ1102は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ1102を想定している。例として、限定ではなく、プロセッサ1102は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファー(TLB)とを含み得る。命令キャッシュ中の命令は、メモリ1104またはストレージ1106中の命令のコピーであることができ、命令キャッシュは、プロセッサ1102によるそれらの命令の取出しを高速化することができる。データキャッシュ中のデータは、プロセッサ1102において実行する命令が動作する対象のメモリ1104またはストレージ1106中のデータのコピー、プロセッサ1102において実行する後続の命令によるアクセスのための、またはメモリ1104もしくはストレージ1106に書き込むための、プロセッサ1102において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ1102による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ1102のための仮想アドレス変換を高速化し得る。特定の実施形態では、プロセッサ1102は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ1102を想定している。適切な場合、プロセッサ1102は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ1102を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
【0041】
特定の実施形態では、メモリ1104は、プロセッサ1102が実行するための命令、またはプロセッサ1102が動作する対象のデータを記憶するためのメインメモリを含む。例として、限定ではなく、コンピュータシステム1100は、ストレージ1106または(例えば、別のコンピュータシステム1100などの)別のソースからメモリ1104に命令をロードし得る。プロセッサ1102は、次いで、メモリ1104から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ1102は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令をデコードし得る。命令の実行中またはその後に、プロセッサ1102は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ1102は、次いで、メモリ1104にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ1102は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1106または他の場所とは対照的な)メモリ1104中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1106または他の場所とは対照的な)メモリ1104中のデータのみに対して動作する。(アドレスバスおよびデータバスを各々含み得る)1つまたは複数のメモリバスが、プロセッサ1102をメモリ1104に接続し得る。バス1112は、以下で説明されるように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1102とメモリ1104との間に常駐し、プロセッサ1102によって要求されるメモリ1104へのアクセスを容易にする。特定の実施形態では、メモリ1104は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は、任意の好適なRAMを企図する。メモリ1104は、適切な場合、1つまたは複数のメモリ1104を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
【0042】
特定の実施形態では、ストレージ1106は、データまたは命令のための大容量ストレージを含む。例として、限定ではなく、ストレージ1106は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ1106は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含み得る。ストレージ1106は、適切な場合、コンピュータシステム1100の内部または外部にあり得る。特定の実施形態では、ストレージ1106は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ1106は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ1106を想定している。ストレージ1106は、適切な場合、プロセッサ1102とストレージ1106との間の通信を容易にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ1106は、1つまたは複数のストレージ1106を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
【0043】
特定の実施形態では、I/Oインターフェース1108は、コンピュータシステム1100と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム1100は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム1100との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース1108とを想定している。適切な場合、I/Oインターフェース1108は、プロセッサ1102がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース1108は、適切な場合、1つまたは複数のI/Oインターフェース1108を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
【0044】
特定の実施形態では、通信インターフェース1110は、コンピュータシステム1100と、1つまたは複数の他のコンピュータシステム1100または1つまたは複数のネットワークとの間の(例えば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。例として、限定ではなく、通信インターフェース1110は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース1110とを想定している。例として、限定ではなく、コンピュータシステム1100は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。例として、コンピュータシステム1100は、(例えば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(例えば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム1100は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース1110を含み得る。通信インターフェース1110は、適切な場合、1つまたは複数の通信インターフェース1110を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
【0045】
特定の実施形態では、バス1112は、コンピュータシステム1100の構成要素を互いに接続する、ハードウェア、ソフトウェア、またはその両方を含む。例として、限定ではなく、バス1112は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス1112は、適切な場合、1つまたは複数のバス1112を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
【0046】
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
【0047】
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
【0048】
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、配置されるか、実施することが可能であるか、実施するように構成されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、配置されるか、可能であるか、構成されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。
【国際調査報告】