(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-24
(45)【発行日】2022-04-01
(54)【発明の名称】拡張現実デバイスを較正する方法
(51)【国際特許分類】
G06T 7/70 20170101AFI20220325BHJP
【FI】
G06T7/70 Z
(21)【出願番号】P 2020533578
(86)(22)【出願日】2018-12-21
(86)【国際出願番号】 US2018067214
(87)【国際公開番号】W WO2019126714
(87)【国際公開日】2019-06-27
【審査請求日】2021-12-10
(32)【優先日】2017-12-21
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】チー, ユー-ツェー
(72)【発明者】
【氏名】ブーケ, ジャン-イヴ
(72)【発明者】
【氏名】シャルマ, ディヴィヤ
(72)【発明者】
【氏名】ファン, レイ
(72)【発明者】
【氏名】ストレロウ, デニス ウィリアム
(72)【発明者】
【氏名】グロスマン, エチエンヌ グレゴワール
(72)【発明者】
【氏名】レバイン, エバン グレゴリー
(72)【発明者】
【氏名】ハーマット, アダム
(72)【発明者】
【氏名】スワミナサン, アシュウィン
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2008-065530(JP,A)
【文献】特開2000-182026(JP,A)
【文献】米国特許出願公開第2017/0292828(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
G06T 7/00
G06T 3/00
G06T 1/00
H04N 1/387
(57)【特許請求の範囲】
【請求項1】
第1のセンサと第2のセンサとを有するデバイスを較正する方法であって、前記方法は、
前記第1のセンサおよび前記第2のセンサを使用して、センサデータを捕捉することであって、前記デバイスは、前記第1のセンサと前記第2のセンサとの間の空間関係をモデル化するための較正プロファイルを維持し、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、ことと、
第1の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、
第1の較正プロセス
または第2の較正プロセスのいずれかを実施することを決定すること
と
を含み、
前記第1
の較正プロセスを実施することは、
較正された回転パラメータを生成することと、
前記回転パラメータを前記較正された回転パラメータと置換することと
を含み、
前記第2の較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータ
の両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータ
の両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータ
の両方と置換することと
を含む、方法。
【請求項2】
前記第1
の較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、請求項1に記載の方法。
【請求項3】
第2の時間における前記較正プロファイルに関連付けられた第2の較正レベルを決定することと、
前記第2の較正レベルに基づいて、
前記第1の較正プロセスまたは前記第2の較正プロセス
のいずれかを実施することを決定すること
と
をさらに含
む、請求項
1に記載の方法。
【請求項4】
前記較正レベルが較正閾値
未満である場合、前記第1の較正プロセスを実施するように決定
され、
前記較正レベルが
前記較正閾値
を上回る場合、前記第2の較正プロセスを実施するように決定
される、請求項
1に記載の方法。
【請求項5】
前記センサデータは、
前記第1のセンサを使用して捕捉される1つ以上の第1の画像と、
前記第2のセンサを使用して捕捉される1つ以上の第2の画像と
を含む、請求項1に記載の方法。
【請求項6】
前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの1つまたは両方は、前記センサデータを使用して生成される、請求項1に記載の方法。
【請求項7】
前記較正レベルは、前記センサデータに基づいて決定される、請求項1に記載の方法。
【請求項8】
前記第1のセンサおよび前記第2のセンサと別個である追加のセンサを使用して、追加のセンサデータを捕捉することをさらに含み、前記較正レベルは、前記追加のセンサデータに基づいて決定される、請求項1に記載の方法。
【請求項9】
デバイスであって、前記デバイスは、
センサデータを捕捉するように構成された第1のセンサおよび第2のセンサと、
前記第1のセンサと前記第2のセンサとの間の空間関係をモデル化する較正プロファイルを記憶するように構成されたメモリデバイスであって、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、メモリデバイスと、
前記第1のセンサ、前記第2のセンサ、および前記メモリデバイスに結合されたプロセッサと
を備え、
前記プロセッサは、
第1の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、
第1の較正プロセス
または第2の較正プロセスのいずれかを実施することを決定すること
と
を含む動作を実施するように構成され、
前記第1
の較正プロセスを実施することは、
較正された回転パラメータを生成することと、
前記回転パラメータを前記較正された回転パラメータと置換することと
を含み、
前記第2の較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータ
の両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータ
の両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータ
の両方と置換することと
を含む、デバイス。
【請求項10】
前記第1
の較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、請求項
9に記載のデバイス。
【請求項11】
前記動作は、
第2の時間における前記較正プロファイルに関連付けられた第2の較正レベルを決定することと、
前記第2の較正レベルに基づいて、
前記第1の較正プロセスまたは前記第2の較正プロセス
のいずれかを実施することを決定すること
と
をさらに含
む、請求項
9に記載のデバイス。
【請求項12】
前記較正レベルが較正閾値
未満である場合、前記第1の較正プロセスを実施するように決定
され、
前記較正レベルが
前記較正閾値
を上回る場合、前記第2の較正プロセスを実施するように決定
される、請求項
9に記載のデバイス。
【請求項13】
前記センサデータは、
前記第1のセンサを使用して捕捉される1つ以上の第1の画像と、
前記第2のセンサを使用して捕捉される1つ以上の第2の画像と
を含む、請求項
9に記載のデバイス。
【請求項14】
前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの1つまたは両方は、前記センサデータを使用して生成される、請求項
9に記載のデバイス。
【請求項15】
前記較正レベルは、前記センサデータに基づいて決定される、請求項
9に記載のデバイス。
【請求項16】
追加のセンサデータを捕捉するように構成される追加のセンサをさらに備え、前記追加のセンサは、前記第1のセンサおよび前記第2のセンサと別個であり、前記較正レベルは、前記追加のセンサデータに基づいて決定される、請求項
9に記載のデバイス。
【請求項17】
第1のセンサと第2のセンサとを有するデバイスを較正するための非一過性コンピュータ読み取り可能な媒体であって、前記非一過性コンピュータ読み取り可能な媒体は、命令を備え、前記命令は、プロセッサによって実行されると、
前記第1のセンサおよび前記第2のセンサを使用して、センサデータを捕捉することであって、前記デバイスは、前記第1のセンサと前記第2のセンサとの間の空間関係をモデル化するための較正プロファイルを維持し、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、ことと、
第1の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、
第1の較正プロセス
または第2の較正プロセスのいずれかを実施することを決定すること
と
を含む動作を前記プロセッサに実施させ、
前記第1
の較正プロセスを実施することは、
較正された回転パラメータを生成することと、
前記回転パラメータを前記較正された回転パラメータと置換することと
を含み、
前記第2の較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータ
の両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータ
の両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータ
の両方と置換することと
を含む、非一過性コンピュータ読み取り可能な媒体。
【請求項18】
前記第1
の較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、請求項
17に記載の非一過性コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、その開示全体が、本明細書に完全に記載された場合のように、あらゆる目的で参照することによって本明細書に組み込まれる「METHOD FOR CALIBRATING AN AUGMENTED REALITY DEVICE」と題された2017年12月21日に出願された米国仮特許出願第62/609,242号の優先権を主張する。
【背景技術】
【0002】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える様式、またはそのように知覚され得る様式で視認者に提示される。仮想現実または「VR」シナリオは、典型的に、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実または「AR」シナリオは、典型的に、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
【0003】
これらのディスプレイ技術において成された進歩にもかかわらず、当技術分野において、拡張現実システム、特に、ディスプレイシステムに関連する改良された方法、システム、およびデバイスの必要性がある。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、概して、拡張現実(AR)デバイスの較正に関連する方法およびシステムに関する。より具体的に、本開示の実施形態は、較正プロファイルの1つ以上のパラメータを調節することによって、デバイスが電源を入れられ、使用時の間にARデバイスを較正する方法およびシステムを提供する。本発明は、ARデバイスを参照して説明されるが、本開示は、コンピュータビジョンおよび画像表示システムにおける種々の用途に適用可能である。
【0005】
本発明の第1の側面によると、第1のセンサと第2のセンサとを有するデバイスを較正する方法が、提供される。方法は、第1のセンサおよび第2のセンサを使用して、センサデータを捕捉することを含む。いくつかの実施形態において、デバイスは、第1のセンサと第2のセンサとの間の空間関係をモデル化するための較正プロファイルを維持する。いくつかの実施形態において、較正プロファイルは、平行移動パラメータと回転パラメータとを含む。方法は、第1の時間における較正プロファイルに関連付けられた較正レベルを決定することも含み得る。方法は、較正レベルに基づいて、較正プロセスを実施するかどうかを決定することをさらに含み得る。方法は、較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方を生成することと、平行移動パラメータおよび回転パラメータのうちの1つまたは両方を較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方と置換することとによって、第1の時間において較正プロセスを実施することをさらに含み得る。
【0006】
いくつかの実施形態において、第1の時間において較正プロセスを実施することは、回転パラメータのみを較正された回転パラメータと置換することを含む。いくつかの実施形態において、第1の時間において較正プロセスを実施することは、較正された平行移動パラメータおよび較正された回転パラメータの両方を生成することと、平行移動パラメータおよび回転パラメータの両方を、較正された平行移動パラメータおよび較正された回転パラメータと置換することとを含む。いくつかの実施形態において、方法は、第2の時間における較正プロファイルに関連付けられた第2の較正レベルを決定することと、第2の較正レベルに基づいて、第2の較正プロセスを実施することを決定することと、第2の較正された平行移動パラメータおよび第2の較正された回転パラメータを生成することと、平行移動パラメータおよび回転パラメータを第2の較正された平行移動パラメータおよび第2の較正された回転パラメータと置換することとによって、第2の時間において第2の較正プロセスを実施することとをさらに含む。いくつかの実施形態において、較正レベルは、第1の較正レベルであり、較正プロセスは、第1の較正プロセスであり、回転パラメータは、第1の較正された回転パラメータである。
【0007】
いくつかの実施形態において、センサデータは、第1のセンサを使用して捕捉される1つ以上の第1の画像と、第2のセンサを使用して捕捉される1つ以上の第2の画像とを含む。いくつかの実施形態において、較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方は、センサデータを使用して生成される。いくつかの実施形態において、較正レベルは、センサデータに基づいて決定される。いくつかの実施形態において、方法は、第1のセンサおよび第2のセンサと別個である追加のセンサを使用して、追加のセンサデータを捕捉することをさらに含む。いくつかの実施形態において、較正レベルは、追加のセンサデータに基づいて決定される。いくつかの実施形態において、第1の較正レベルに基づいて、第1の較正プロセスを実施することを決定することは、第1の較正レベルが較正閾値を上回ることを決定することを含み、第2の較正レベルに基づいて、第2の較正プロセスを実施することを決定することは、第2の較正レベルが較正閾値未満であることを決定することを含む。
【0008】
本発明の第2の側面によると、デバイスが、提供される。デバイスは、センサデータを捕捉するように構成された第1のセンサおよび第2のセンサを含み得る。デバイスは、第1のセンサと第2のセンサとの間の空間関係をモデル化する較正プロファイルを記憶するように構成されたメモリデバイスも含み得、較正プロファイルは、平行移動パラメータと回転パラメータとを含む。デバイスは、第1のセンサ、第2のセンサ、およびメモリデバイスに結合されたプロセッサをさらに含み得る。いくつかの実施形態において、プロセッサは、第1の時間における較正プロファイルに関連付けられた較正レベルを決定することを含む動作を実施するように構成される。動作は、較正レベルに基づいて、較正プロセスを実施することを決定することも含み得る。動作は、較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方を生成することと、平行移動パラメータおよび回転パラメータのうちの1つまたは両方を較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方と置換することとによって、第1の時間において較正プロセスを実施することをさらに含み得る。
【0009】
いくつかの実施形態において、第1の時間において較正プロセスを実施することは、回転パラメータのみを較正された回転パラメータと置換することを含む。いくつかの実施形態において、第1の時間において較正プロセスを実施することは、較正された平行移動パラメータおよび較正された回転パラメータの両方を生成することと、平行移動パラメータおよび回転パラメータの両方を較正された平行移動パラメータおよび較正された回転パラメータと置換することとを含む。いくつかの実施形態において、動作は、第2の時間における較正プロファイルに関連付けられた第2の較正レベルを決定することと、第2の較正レベルに基づいて、第2の較正プロセスを実施することを決定することと、第2の較正された平行移動パラメータおよび第2の較正された回転パラメータを生成することと、平行移動パラメータおよび回転パラメータを第2の較正された平行移動パラメータおよび第2の較正された回転パラメータと置換することとによって、第2の時間において第2の較正プロセスを実施することとをさらに含む。いくつかの実施形態において、較正レベルは、第1の較正レベルであり、較正プロセスは、第1の較正プロセスであり、回転パラメータは、第1の較正された回転パラメータである。
【0010】
いくつかの実施形態において、センサデータは、第1のセンサを使用して捕捉される1つ以上の第1の画像と、第2のセンサを使用して捕捉される1つ以上の第2の画像とを含む。いくつかの実施形態において、較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方は、センサデータを使用して生成される。いくつかの実施形態において、較正レベルは、センサデータに基づいて決定される。いくつかの実施形態において、デバイスは、追加のセンサデータを捕捉するように構成される追加のセンサをさらに含む。いくつかの実施形態において、追加のセンサは、第1のセンサおよび第2のセンサと別個である。いくつかの実施形態において、較正レベルは、追加のセンサデータに基づいて決定される。いくつかの実施形態において、第1の較正レベルに基づいて、第1の較正プロセスを実施することを決定することは、第1の較正レベルが較正閾値を上回ることを決定することを含み、第2の較正レベルに基づいて、第2の較正プロセスを実施することを決定することは、第2の較正レベルが較正閾値未満であることを決定することを含む。
【0011】
本発明の第3の側面によると、第1のセンサと第2のセンサとを有するデバイスを較正するための非一過性コンピュータ読み取り可能な媒体が、提供される。非一過性コンピュータ読み取り可能な媒体は、プロセッサによって実行されると、プロセッサに動作を実施させる、命令を含み得る。動作は、本発明の第1の側面に従って説明される方法を含み得る。
【0012】
本発明の第4の側面によると、拡張現実デバイスを較正する方法が、提供される。方法は、少なくとも1つの平行移動パラメータと、少なくとも1つの回転パラメータとを含む較正プロファイルにアクセスすることを含み得る。方法は、拡張現実デバイスの第1のカメラを使用して、第1の視野の第1のカメラから1つ以上の画像を捕捉することも含み得る。方法は、拡張現実デバイスの第2のカメラを使用して、第2の視野の第2のカメラから1つ以上の画像を捕捉することをさらに含み得る。いくつかの実施形態において、第2の視野は、第1の視野に少なくとも部分的に重複する。方法は、第1のカメラからの1つ以上の画像のうちの少なくとも1つを、第2のカメラからの1つ以上の画像のうちの少なくとも1つと比較することをさらに含み得る。方法は、比較に基づいて、第2のカメラの第2の位置に関連して第1のカメラの第1の位置の間の変形量を決定することをさらに含み得る。方法は、変形量が変形閾値を上回るかどうかを決定することをさらに含み得る。方法は、変形量が変形閾値を上回ることを決定することに応答して、第1のカメラからの1つ以上の画像および第2のカメラからの1つ以上の画像に存在する複数の合致特徴を識別することと、第1のカメラからの1つ以上の画像および第2のカメラからの1つ以上の画像を複数のビンに分けることと、複数のビンのうちの各ビンのために、複数のビンのうちの各ビンに位置する複数の合致特徴の数量を決定することと、複数のビンのうちの各ビンのために、数量が特徴閾値を上回ることを決定することと、第1の較正された回転パラメータの関数である第1の誤差方程式を最小化し、第1の較正された回転パラメータを生成することによって、第1の較正プロセスを実施することと、較正プロファイル内の少なくとも1つの回転パラメータを第1の較正された回転パラメータと置換することとをさらに含み得る。
【0013】
いくつかの実施形態において、方法は、変形量が変形閾値未満であることを決定することと、変形量が変形閾値未満であることを決定することに応答して、第1のカメラと、第2のカメラとを含む拡張現実デバイスの複数のカメラを使用して、複数のマップ点を捕捉することと、疎マップであって、疎マップは、第1のカメラおよび第2のカメラの複数のカメラ姿勢位置から見られるようなマップ点の群を含む、疎マップを生成することと、疎マップのマップ点の群を整列させることと、疎マップに基づいて、オンライン較正トリガが満たされていることを決定することと、第2の較正された平行移動パラメータおよび第2の較正された回転パラメータの関数である第2の誤差方程式を最小化し、第2の較正された平行移動パラメータおよび第2の較正された回転パラメータを生成することによって、第2の較正プロセスを実施することと、較正プロファイル内の少なくとも1つの回転パラメータを第2の較正された回転パラメータと、較正プロファイル内の少なくとも1つの平行移動パラメータを第2の較正された平行移動パラメータとを置換することとをさらに含む。いくつかの実施形態において、変形量が変形閾値を上回るかどうかを決定することは、第1の時間に起こり、変形量が変形閾値未満であるかどうかを決定することは、第2の時間に起こる。いくつかの実施形態において、第1の時間は、第2の時間に先行する。いくつかの実施形態において、第2の時間は、第1の時間に先行する。いくつかの実施形態において、第1の時間は、第2の時間と同時である。いくつかの実施形態において、第1の時間は、第2の時間と並行する。
【0014】
本発明の第5の側面によると、平行移動パラメータと回転パラメータとを含む較正プロファイルを有する拡張現実デバイスが、提供される。拡張現実デバイスは、1つ以上の第1の画像を捕捉するように構成された第1のカメラを含み得る。拡張現実デバイスは、1つ以上の第2の画像を捕捉するように構成された第2のカメラも含み得る。拡張現実デバイスは、第1のカメラおよび第2のカメラに結合されるプロセッサをさらに含み得る。いくつかの実施形態において、プロセッサは、第2のカメラに関連する第1のカメラの変形量に基づいて、拡張現実デバイスが第1の時間に変形させられたことを決定することと、拡張現実デバイスが第1の時間に変形させられたことを決定することに応答して、第1の較正プロセスを実施し、第1の較正された回転パラメータを生成することと、較正プロファイル内の回転パラメータを第1の較正された回転パラメータと置換することとを含む動作を実施するように構成される。
【0015】
多数の利益が、従来の技法より本発明によって達成される。例えば、従来の技法は、再較正のためにARデバイスを工場に繰り返し返却するようにユーザに要求し得る。工場較正は、ARデバイスのユーザのために時間がかかり、高価である精密な機器を使用してデバイス上で物理的測定を行うことを含み得る。対照的に、本発明は、ARデバイスが電源を入れられ、使用時の間の較正を可能にし、デバイスの特定の用途に基づいてデバイスに加えられる特定の歪みに応答するリアルタイム較正を提供する。例えば、ARデバイスがより暖かい温度において使用されるとき、熱は、デバイスを部分的に反らせ、または膨張させ、それによって、任意の工場較正を現在の使用にとって不正確にし得る。さらに、本発明による較正が、捕捉されたカメラ画像に基づき得るので、部分的に捕捉されたカメラ画像に基づいて生成される仮想画像のより良好な整列を提供することによって、ARデバイスの変形が起こった場合、工場較正と比較して、より良好な全体的性能を提供し得る。本明細書に提示される較正の方法は、ARデバイスがある閾値を超えて変形させられるとき、回転補正のみが較正プロファイルに行われるという点でも有益である。そのような高変形状況下で、平行移動補正は、極めて不規則であることが見出され、ARデバイスの不良な性能をもたらし得る。故に、較正の方法は、2つの異なるプロセス経路のうちの1つがARデバイスの変形量に基づいて選択される「ルーティング」様機能性を提供する。本開示の他の利益も、当業者に容易に明白であろう。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
第1のセンサと第2のセンサとを有するデバイスを較正する方法であって、前記方法は、
前記第1のセンサおよび前記第2のセンサを使用して、センサデータを捕捉することであって、前記デバイスは、前記第1のセンサと前記第2のセンサとの間の空間関係をモデル化するための較正プロファイルを維持し、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、ことと、
第1の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、較正プロセスを実施することを決定することと、
前記第1の時間において前記較正プロセスを実施することと
を含み、
前記第1の時間において前記較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータのうちの1つまたは両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの1つまたは両方と置換することと
による、方法。
(項目2)
前記第1の時間において前記較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、項目1に記載の方法。
(項目3)
第2の時間における前記較正プロファイルに関連付けられた第2の較正レベルを決定することと、
前記第2の較正レベルに基づいて、第2の較正プロセスを実施することを決定することと、
前記第2の時間において前記第2の較正プロセスを実施することと
をさらに含み、
前記第2の時間において前記第2の較正プロセスを実施することは、
第2の較正された平行移動パラメータおよび第2の較正された回転パラメータを生成することと、
前記平行移動パラメータおよび前記回転パラメータを前記第2の較正された平行移動パラメータおよび前記第2の較正された回転パラメータと置換することと
により、
前記較正レベルは、第1の較正レベルであり、前記較正プロセスは、第1の較正プロセスであり、前記回転パラメータは、第1の較正された回転パラメータである、項目2に記載の方法。
(項目4)
前記第1の較正レベルに基づいて、前記第1の較正プロセスを実施することを決定することは、前記第1の較正レベルが較正閾値を上回ることを決定することを含み、
前記第2の較正レベルに基づいて、前記第2の較正プロセスを実施することを決定することは、前記第2の較正レベルが較正閾値未満であることを決定することを含む、項目3に記載の方法。
(項目5)
前記第1の時間において前記較正プロセスを実施することは、
前記較正された平行移動パラメータおよび前記較正された回転パラメータの両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータの両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータと置換することと
を含む、項目1に記載の方法。
(項目6)
前記センサデータは、
前記第1のセンサを使用して捕捉される1つ以上の第1の画像と、
前記第2のセンサを使用して捕捉される1つ以上の第2の画像と
を含む、項目1に記載の方法。
(項目7)
前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの1つまたは両方は、前記センサデータを使用して生成される、項目1に記載の方法。
(項目8)
前記較正レベルは、前記センサデータに基づいて決定される、項目1に記載の方法。
(項目9)
前記第1のセンサおよび前記第2のセンサと別個である追加のセンサを使用して、追加のセンサデータを捕捉することをさらに含み、前記較正レベルは、前記追加のセンサデータに基づいて決定される、項目1に記載の方法。
(項目10)
デバイスであって、前記デバイスは、
センサデータを捕捉するように構成された第1のセンサおよび第2のセンサと、
前記第1のセンサと前記第2のセンサとの間の空間関係をモデル化する較正プロファイルを記憶するように構成されたメモリデバイスであって、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、メモリデバイスと、
前記第1のセンサ、前記第2のセンサ、および前記メモリデバイスに結合されたプロセッサと
を備え、
前記プロセッサは、
第1の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、較正プロセスを実施することを決定することと、
前記第1の時間において前記較正プロセスを実施することと
を含む動作を実施するように構成され、
前記第1の時間において前記較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータのうちの1つまたは両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの1つまたは両方と置換することと
による、デバイス。
(項目11)
前記第1の時間において前記較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、項目10に記載のデバイス。
(項目12)
前記動作は、
第2の時間における前記較正プロファイルに関連付けられた第2の較正レベルを決定することと、
前記第2の較正レベルに基づいて、第2の較正プロセスを実施することを決定することと、
前記第2の時間において前記第2の較正プロセスを実施することと
をさらに含み、
前記第2の時間において前記第2の較正プロセスを実施することは、
第2の較正された平行移動パラメータおよび第2の較正された回転パラメータを生成することと、
前記平行移動パラメータおよび前記回転パラメータを前記第2の較正された平行移動パラメータおよび前記第2の較正された回転パラメータと置換することと
により、
前記較正レベルは、第1の較正レベルであり、前記較正プロセスは、第1の較正プロセスであり、前記回転パラメータは、第1の較正された回転パラメータである、項目11に記載のデバイス。
(項目13)
前記第1の較正レベルに基づいて、前記第1の較正プロセスを実施することを決定することは、前記第1の較正レベルが較正閾値を上回ることを決定することを含み、
前記第2の較正レベルに基づいて、前記第2の較正プロセスを実施することを決定することは、前記第2の較正レベルが較正閾値未満であることを決定することを含む、項目12に記載のデバイス。
(項目14)
前記第1の時間において前記較正プロセスを実施することは、
前記較正された平行移動パラメータおよび前記較正された回転パラメータの両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータの両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータと置換することと
を含む、項目10に記載のデバイス。
(項目15)
前記センサデータは、
前記第1のセンサを使用して捕捉される1つ以上の第1の画像と、
前記第2のセンサを使用して捕捉される1つ以上の第2の画像と
を含む、項目10に記載のデバイス。
(項目16)
前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの1つまたは両方は、前記センサデータを使用して生成される、項目10に記載のデバイス。
(項目17)
前記較正レベルは、前記センサデータに基づいて決定される、項目10に記載のデバイス。
(項目18)
追加のセンサデータを捕捉するように構成される追加のセンサをさらに備え、前記追加のセンサは、前記第1のセンサおよび前記第2のセンサと別個であり、前記較正レベルは、前記追加のセンサデータに基づいて決定される、項目10に記載のデバイス。
(項目19)
第1のセンサと第2のセンサとを有するデバイスを較正するための非一過性コンピュータ読み取り可能な媒体であって、前記非一過性コンピュータ読み取り可能な媒体は、命令を備え、前記命令は、プロセッサによって実行されると、
前記第1のセンサおよび前記第2のセンサを使用して、センサデータを捕捉することであって、前記デバイスは、前記第1のセンサと前記第2のセンサとの間の空間関係をモデル化するための較正プロファイルを維持し、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、ことと、
第1の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、較正プロセスを実施することを決定することと、
前記第1の時間において前記較正プロセスを実施することと
を含む動作を前記プロセッサに実施させ、
前記第1の時間において前記較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータのうちの1つまたは両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータのうちの1つまたは両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの1つまたは両方と置換することと
による、非一過性コンピュータ読み取り可能な媒体。
(項目20)
前記第1の時間において前記較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、項目19に記載の非一過性コンピュータ読み取り可能な媒体。
【図面の簡単な説明】
【0016】
【
図1】
図1は、本明細書に説明されるある実施形態による、ウェアラブルARデバイスを通して視認されるような拡張現実(AR)場面を図示する図面である。
【0017】
【
図2】
図2は、本発明のいくつかの実施形態による、ウェアラブルARデバイスを図示するブロック図である。
【0018】
【
図3】
図3は、本発明のいくつかの実施形態による、ARの較正モデルを図示する。
【0019】
【
図4】
図4A、4B、および4Cは、本発明のいくつかの実施形態による、較正プロファイルに関連付けられた較正レベルを決定するための種々のステップを図示する。
【0020】
【
図5】
図5A、5B、および5Cは、本発明のいくつかの実施形態による、較正プロファイルに関連付けられた較正レベルを決定するための種々のステップを図示する。
【0021】
【
図6】
図6は、本発明のいくつかの実施形態による、2つの画像に基づく変形量の例示的計算を図示する。
【0022】
【
図7】
図7は、本発明のいくつかの実施形態による、2つの画像に基づく変形量の例示的計算を図示する。
【0023】
【
図8】
図8は、本発明のいくつかの実施形態による、ARデバイスを較正する方法を図示する。
【0024】
【
図9】
図9は、本発明のいくつかの実施形態による、ARデバイスを較正する方法を図示する。
【0025】
【
図10】
図10は、本発明のいくつかの実施形態による、ARデバイスを較正する方法を図示する。
【0026】
【
図11】
図11は、本発明のいくつかの実施形態による、ARデバイスを較正する方法を図示する。
【0027】
【
図12】
図12は、本発明のいくつかの実施形態による、対の画像間の合致特徴を検出するための種々のステップを図示する。
【0028】
【
図13】
図13は、本発明のいくつかの実施形態による、対の画像をビンに分けるため、およびビンの各々に位置する合致特徴の数量を決定するための種々のステップを図示する。
【0029】
【
図14A】
図14Aおよび14Bは、本発明のいくつかの実施形態による、画像を3次元空間内の複数のビンに分けるための種々のステップを図示する。
【
図14B】
図14Aおよび14Bは、本発明のいくつかの実施形態による、画像を3次元空間内の複数のビンに分けるための種々のステップを図示する。
【0030】
【
図15】
図15は、本発明のいくつかの実施形態による、バンドル調節を実施するための種々のステップを図示する。
【0031】
【
図16】
図16は、本発明のいくつかの実施形態による、簡略化されたコンピュータシステムを図示する。
【発明を実施するための形態】
【0032】
光学デバイス、特に、頭部搭載型ディスプレイを伴うそれらは、工場にある間に極めて精巧な器具を用いて較正され得るが、使用中、そのようなデバイスは、熱、使用、および種々の形態の磨耗および断裂に起因して急速に変形させられ、工場較正が不正確になることを引き起こし得る。1つの可能な解決策は、ユーザが再較正のために光学デバイスを工場に繰り返し返却することである。そのような解決策の明白な費用を回避するために、本明細書に説明される実施形態は、デバイスが使用中である間に正確かつ堅調な実行時較正を可能にし、工場再較正の必要性を排除する。実施形態は、デバイスの現在の較正レベルを見て、実施すべき較正プロセスの2つのタイプのうちの1つを決定する。回転補正に限定される第1の較正プロセスが、デバイスが著しく較正外であるときに実施され、回転および平行移動補正を含む第2の較正が、わずかな誤り較正下で実施される。本明細書に説明される実施形態は、光学デバイスのためのみならず、平行移動成分および回転成分によってモデル化される空間関係を伴う2つのセンサを有する任意のデバイスのためにも有用である。
【0033】
図1は、本明細書に説明されるある実施形態による、ウェアラブルARデバイスを通して視認されるような拡張現実(AR)場面を図示する図面である。
図1を参照すると、拡張現実場面100が、描写され、AR技術のユーザは、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする実世界公園状設定106を見ている。これらのアイテムに加え、AR技術のユーザは、実世界プラットフォーム120上に立っているロボット像110と、マルハナバチの擬人化のように見える飛んでいる漫画状アバタキャラクタ102とを「見ている」と知覚するが、これらの要素(キャラクタ102および像110)は、実世界には存在しない。ヒト視知覚および神経系が非常に複雑であることに起因して、他の仮想または実世界画像要素の中への仮想画像要素の快適であり、自然のように感じる豊かな提示を促進する仮想現実(VR)またはAR技術を生産することは、困難である。
【0034】
図2は、本発明のいくつかの実施形態による、ウェアラブルARデバイス200の概略図を図示する。ARデバイス200は、左光学スタックの一部としての左アイピース202Aと、右光学スタックの一部としての右アイピース202Bとを含み得る。いくつかの実施形態において、ARデバイス200は、限定ではないが、左アイピース202Aに直接、またはその近傍に取り付けられた左の正面に向いた世界センサ206Aと、右アイピース202Bに直接、またはその近傍に取り付けられた右の正面に向いた世界センサ206Bと、左アイピース202Aに直接、またはその近傍に取り付けられた左の側面に向いた世界センサ206Cと、右アイピース202Bに直接、またはその近傍に取り付けられた右の側面に向いた世界センサセンサ206Dとを含む1つ以上のセンサを含む。センサ206のうちの1つ以上のものの位置は、図示される実施形態から変動し得る種々の後方に向いた、前方に向いた、上向き、下向き、内向き、および/または外向きの構成を含み得る。センサ206A、206B、206C、206Dは、それぞれ、センサデータ220A、220B、220C、220Dを生成、検出、および/または捕捉するように構成され得、それらは、運動、光、温度、音、湿度、振動、圧力等のARデバイス200を包囲する環境の物理的特性に対応する電子データであり得る。
【0035】
いくつかの実施形態において、センサ206のうちの1つ以上のものは、カメラであり得、センサデータ220のうちの1つ以上のものは、カメラ画像であり得る。例えば、センサデータ220は、単一の画像、一対の画像、画像のストリームを備えたビデオ、対の画像のストリームを備えたビデオ等を含み得る。いくつかの実施形態において、センサ206のうちの1つ以上のものは、深度センサであり得、センサデータ220のうちの1つ以上のものは、深度画像/マップであり得る。例えば、センサ206のうちの1つは、光パルスを伝送し、標的物体を照明するように、かつ受信された光学信号に基づいて標的物体までの距離を決定するように構成された飛行時間撮像システムを含み得る。そのようなシステムの一例は、2017年9月29日に出願された「REAL TIME CALIBRATION FOR TIME-OF-FLIGHT DEPTH MEASUREMENT」と題された米国特許出願第15/721,640号(その開示全体は、本明細書に完全に記載された場合のように、あらゆる目的で参照することによって本明細書に組み込まれる)を参照して説明される。センサ206の追加の例は、任意のタイプの運動センサ、深度センサ、光センサ、機械センサ、温度センサ、音センサ、湿度センサ、振動センサ、圧力センサ等を含み得る。
【0036】
ARデバイス200は、センサ206と別個である追加のセンサ207を含み得る。追加のセンサ207は、追加のセンサデータ221を生成、検出、および/または捕捉するように構成され得る。追加のセンサ207は、センサ206を参照して上で説明される任意のタイプのセンサであり得、追加のセンサデータ221は、センサデータ220を参照して上で説明される任意のタイプのセンサデータであり得る。いくつかの実施形態において、追加のセンサデータ221は、下でさらに詳細に説明されるように、センサ206に関連付けられた(すなわち、較正プロファイル254に関連付けられた)較正レベルを決定するために使用される。一例において、追加のセンサ207は、ARデバイス200に対する歪みを決定するためのARデバイス200の一部の上に位置付けられた(例えば、センサ206のうちの2つの間に延びている)歪みゲージである。別の例において、追加のセンサ207は、ARデバイス200のフレームの一部の曲がり、角度、ねじれ等を測定するためのARデバイス200のフレームに沿って(例えば、アイピース202の間の中心点に)位置付けられた機械センサである。さらに、追加のセンサ207の例は、「SYSTEMS AND METHODS FOR DISPLAY BINOCULAR DEFORMATION COMPENSATION」と題された2018年7月13日に出願された米国仮特許出願第62/698,015号(その開示全体は、本明細書に完全に記載された場合のように、あらゆる目的で参照することによって本明細書に組み込まれる)において提供される。
【0037】
いくつかの実施形態において、ARデバイス200は、左アイピース202Aに光学的に連結された左プロジェクタ214A、および右アイピース202Bに光学的に連結された右プロジェクタ214B等の1つ以上の画像投影デバイスを含む。プロジェクタ214は、ユーザが特定の距離に位置付けられているように仮想コンテンツを知覚する様式で、仮想コンテンツに関連付けられた光をアイピース202の1つ以上の導波管上に注入し得る。アイピース202A、202Bは、それぞれ、プロジェクタ214A、214Bから受け取られる光を向けるように、および外部結合するように構成された透明または半透明な導波管を備え得る。動作中、処理モジュール250は、左仮想画像光222Aを左アイピース202A上に出力することを左プロジェクタ214Aに行わせ、右仮想画像光222Bを右アイピース202B上に出力することを右プロジェクタ214Bに行わせ得る。いくつかの実施形態において、アイピース202の各々は、異なる色および/または異なる深度平面に対応する複数の導波管を備え得る。
【0038】
ARデバイス200のコンポーネントのうちのいくつかまたは全ては、投影された画像がユーザによって視認され得るように、頭部搭載型であり得る。1つの特定の実装において、
図2に示されるARデバイス200のコンポーネントの全ては、ユーザによって装着可能な単一のデバイス(例えば、単一のヘッドセット)上に搭載される。別の実装において、処理モジュール250の1つ以上のコンポーネントは、ARデバイス200の他のコンポーネントから物理的に離れており、1つ以上の有線および/または無線接続によってそれらに通信可能に結合される。例えば、処理モジュール250は、ARデバイス200の頭部搭載型部分上のローカルモジュールと、ローカルモジュールから物理的に離れており、それに通信可能に結合された遠隔モジュールとを含み得る。遠隔モジュールは、フレームに固定して取り付けられた構成、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられた構成、ヘッドホンに組み込まれる構成、または別様にユーザに除去可能に取り付けられた構成(例えば、リュック式構成において、ベルト結合式構成において等)等の種々の構成で搭載され得る。
【0039】
処理モジュール250は、プロセッサ252と、不揮発性メモリ(例えば、フラッシュメモリ)等の関連付けられたデジタルメモリとを含み得、それらの両方は、センサデータ220等のデータの処理、キャッシュ、および記憶を補助するために利用され得る。例えば、処理モジュール250は、左の正面に向いたカメラ(すなわち、センサ206A)から左正面画像(すなわち、センサデータ220A)を受信し、右の正面に向いた世界カメラ(すなわち、センサ206B)から右正面画像(すなわち、センサデータ220B)を受信し、左の側面に向いた世界カメラ(すなわち、センサ206C)から左側面画像(すなわち、センサデータ220C)を受信し、右の側面に向いた世界カメラ(すなわち、センサ206D)から右側面画像(すなわち、センサデータ220D)を受信し得る。センサデータ220は、ARデバイス200が電源を入れられている間に周期的に生成され、処理モジュール250に送信され得るか、または、処理モジュール250によってカメラのうちの1つ以上のものに送信される命令に応答して、生成され得る。別の例として、処理モジュール250は、周囲光センサ(すなわち、センサ206)から周囲光情報(すなわち、センサデータ220)を受信し得る。
【0040】
カメラとして実装されたとき、センサ206A、206Bは、それぞれ、ユーザの左右の眼の視野と実質的に重複した画像を捕捉するように位置付けられ得る。故に、センサ206の設置は、ユーザの眼の近傍にあり得るが、ユーザの視野を覆い隠すほど近傍ではない。代替として、または加えて、センサ206A、206Bは、それぞれ、仮想画像光222A、222Bの内部結合場所と実質的に整列するように位置付けられ得る。カメラとして実装されたとき、センサ206C、206Dは、例えば、ユーザの周辺視野内またはユーザの周辺視野外のユーザの側面に対する画像を捕捉するように位置付けられ得る。センサ206C、206Dを使用して捕捉される画像は、必ずしも、センサ206A、206Bを使用して捕捉される画像と重複する必要はない。
【0041】
ARデバイス200の動作中、処理モジュール250は、較正プロファイル254からの1つ以上のパラメータを使用し、センサデータ220が正しく分析され得るように、センサ206間の間隔および向きの差異を考慮し得る。較正プロファイル254は、加えて、ユーザが仮想画像要素を快適に適切な整列で視認し得るように、アイピース202間の間隔および向きの差異を考慮するように、仮想画像光222を生成するとき、使用され得る。これを遂行するために、プロセッサ252は、較正プロファイル254に繰り返しアクセスし、使用されているパラメータが、利用可能である最も更新された正確なパラメータを反映することを確実にし得る。いくつかの事例において、プロセッサ252は、較正プロセスが実施された直後、較正プロファイル254からパラメータを読み出し得る。1つの特定の実装において、較正プロファイル254は、不揮発性メモリ内に記憶され、ARデバイス200の電源を入れると、プロセッサ252が最後に使用されたパラメータを読み出し得る。代替として、ARデバイス200が、例えば、内蔵電子コンポーネントを起動することによって引き起こされるデバイスの熱膨張に起因する著しい変形を有していないとき、ARデバイス200の始動時、記憶された工場較正にアクセスすることが望ましくあり得る。
【0042】
いくつかの実施形態において、較正プロファイル254は、センサ206のうちの第1のセンサと第2のセンサ(例えば、センサ206A、206B)との間の空間関係をモデル化するように、プロセッサ252によって維持される。本発明のいくつかの実施形態によると、較正プロファイル254は、第1のセンサと第2のセンサとの間の相対距離に対応する平行移動パラメータTと、第1のセンサと第2のセンサとの間の相対角度向きに対応する回転パラメータRとを含む。平行移動パラメータTおよび回転パラメータRの各々は、広範囲のデータタイプを採用し得る。例えば、平行移動パラメータTは、単一数量(例えば、0.1メートル)、1次元行列(例えば、[0.1;0;0]メートル)、多次元行列(例えば、[[0.1;0;0][0;0;0][0;0;0]]メートル)、アレイ、ベクトル、または単一もしくは複数の数量の任意の他の可能な表現であり得る。同様に、回転パラメータRは、単一数量(例えば、0.5度)、1次元行列(例えば、[0.5;0;0]度)、多次元行列(例えば、[[0.5;0;0][0;0;0][0;0;0]]度)、アレイ、ベクトル、または単一もしくは複数の数量の任意の他の可能な表現であり得る。
【0043】
理想的条件下、平行移動パラメータTおよび回転パラメータRは、ARデバイス200の製造の直後、工場内で較正され、デバイスの耐用期間の全体を通して第1のセンサと第2のセンサとの間の空間関係の正確な指示のままである。実際の条件下、ARデバイス200は、熱、使用、および種々の形態の磨耗および断裂に起因して変形させられ、平行移動パラメータTおよび回転パラメータRの工場較正値が不正確になることを引き起こす。1つの可能な解決策は、ユーザが再較正のためにARデバイス200を工場に繰り返し返却することである。代替として、実行時較正方法が、ARデバイス200が電源を入れられ、ユーザによって使用時である間、平行移動パラメータTおよび回転パラメータRを較正するために採用され得る。
【0044】
いくつかの事例において、較正プロファイル254に関連付けられた較正レベルが、周期的に決定される。較正レベルに基づいて、処理モジュール250は、いくつかのタイプの較正のうちの1つが起こるようにし得る。例えば、較正レベルが第1の較正閾値を下回るとき、処理モジュール250は、第1の較正プロセスが実施されるようにし、較正レベルが第1の較正閾値を上回るとき、処理モジュール250は、第2の較正プロセスが実施されるようにし得る。いくつかの事例において、いずれの較正プロセスも、較正レベルが第1の較正閾値および第2の較正閾値を上回り、較正プロファイル254が正確であることを示すとき、実施され得ない。本明細書で使用されるように、用語「較正レベル」は、第1のセンサと第2のセンサ(例えば、センサ206A、206B)との間の実際の空間関係をモデル化することにおける較正プロファイル254の正確度のレベルに対応し得る。故に、より高い較正レベルは、実際の空間関係のより正確なモデル化に対応し得、より低い較正レベルは、実際の空間関係のあまり正確ではないモデル化に対応し得る。ARデバイス200の較正に関連して較正レベルを監視するプロセスは、下でさらに詳細に説明される。
【0045】
図3は、本発明のいくつかの実施形態による、ARデバイス200の較正モデル300を図示する。較正モデル300において、センサ206の各々は、単一の点を占有するようなピンホールカメラモデルを使用して表され得、センサ206Cは、既知の平行移動および回転(変換[T
L|R
L]によってモデル化される)によってセンサ206Aからオフセットされ、センサ206Dは、既知の平行移動および回転(変換[T
R|R
R]によってモデル化される)によってセンサ206Bからオフセットされている。センサ206A、206B間の中心点302が、世界原点に対する環境内のARデバイス200の位置を追跡するために使用され、それは、平行移動および回転調節のための基準としても使用される。いくつかの実施形態において、センサ206A、206Bの各々と中心点302との間の相対距離は、平行移動パラメータTと等しくあり得、平行移動パラメータTは、3次元(3D)ベクトル(例えば、[0.1 0.2 0.1]メートル)に対応する3×1行列を表す。いくつかの実施形態において、センサ206A、206Bの各々と中心点302との間の相対角度向きは、回転パラメータRと等しくあり得、回転パラメータRは、3×3行列(いくつかの実施形態において、回転ベクトルと称される)を表す。故に、センサ206Bと中心点302との間の変換は、変換[T|R]によってモデル化され得、センサ206Aと中心点302との間の変換は、変換[T|R]
-1によってモデル化され得る。
【0046】
図4A、4B、および4Cは、本発明のいくつかの実施形態による、較正プロファイル254に関連付けられた較正レベルを決定するための種々のステップを図示する。いくつかの実施形態において、較正プロファイル254に関連付けられた較正レベルを決定することは、右の正面に向いた世界センサ206Bに関連して左の正面に向いた世界センサ206Aの位置および/または向きに影響を及ぼすARデバイス200の変形量Dを決定することを含む。変形量Dは、較正レベルとして使用され得、変形量Dは、本明細書に説明されるような較正レベルに反比例し得る。例えば、変形量Dが変形閾値を上回るかどうかを決定することは、較正レベルが較正閾値未満であるかどうかを決定することに等しくあり得る。同様に、変形量Dが変形閾値未満であるかどうかを決定することは、較正レベルが較正閾値を上回るかどうかを決定することに等しくあり得る。
【0047】
図4A、4B、および4Cを参照して説明されるステップは、フレーム毎の基準で実施されるか、または、N個のレーム毎に実施され得る。ステップは、一対の対応する「特徴」または「着目点」がセンサ206A、206Bの各々によって観察可能であることを要求し得るエピポーラ幾何学形状を使用し得る。変形量Dは、
図8、9、10、および11を参照して説明される方法800、900、1000、1100の実施に先立って、または実施中、決定され得る。
【0048】
図4Aを参照すると、
時間t
1においてセンサ206Aによって捕捉される左画像402は、時間t
1においてセンサ206Bによって捕捉される右画像404と比較され得、両方の画像において出現する少なくとも1つの特徴(その全体またはその一部のいずれか)を識別する(例えば、1つ以上の特徴合致技法を使用して)。両方の画像402、404が特徴420(五芒星)を含むことを決定した後、エピポーラ線422が、左画像402に基づいて生成され、右画像404上に投影される。エピポーラ線422は、左画像402において出現するような特徴420の垂直/水平位置および/または向きに基づいて生成され得、較正プロファイル254の最も更新されたバージョンを使用して右画像404上に投影され得る。エピポーラ線422は、センサ206A、206Bが完全に整列させられている場合、特徴420がセンサ206Bの視点から位置することが予期される線を表す。エピポーラ線422からの特徴420の位置の偏差は、センサ206A、206Bの間の較正誤差を示し、偏差の規模は、多かれ少なかれ誤差に対応する。
【0049】
いくつかの実施形態において、第1の点405および第2の点407が、特徴420の垂直/水平位置および/または向きを決定することを促進するために、画像402、404の各々においける特徴420内で識別される。
図4Aに示される例において、左画像402は、特徴420の左上の点に沿った第1の点405および特徴420の右上の点に沿った第2の点407を識別するために分析される。次に、第1の点405と第2の点407との間の交差線が、左画像402において形成され、交差線は、較正プロファイル254を使用して左画像402から右画像404に変換され、エピポーラ線422を右画像404上に投影する。エピポーラ線422が右画像404上に投影されると、右画像404における第1の点405および第2の点407は、エピポーラ線422と比較される。右画像404における特徴420(すなわち、点405および407)をエピポーラ線422と比較した後、変形量D(すなわち、較正レベル)が、特徴420とエピポーラ線422との間の平行移動オフセットおよび向きオフセットに基づいて計算され得る。
図4Aに図示される例における特徴420がエピポーラ線422と良好に整列させられているので、変形量Dは、低い(例えば、0に等しい)ことが決定される。追加の特徴が、より高い正確度で変形量Dを決定するために分析され得る。いくつかの実施形態において、変形量Dは、ピクセルで表され、それは、いくつかの実施形態において、特徴420とエピポーラ線422とを分離するピクセルの数に等しくあり得る。いくつかの実施形態において、変形量Dは、再投影誤差と称される。
【0050】
図4Bを参照すると、時間t
2においてセンサ206Aによって捕捉される左画像406は、時間t
2においてセンサ206Bによって捕捉される右画像408と比較され、両方の画像において出現する特徴420を識別し得る。画像406、408は、画像406、408の各々においける特徴420内の点405、407を識別するために分析される。次に、点405、407の間の交差線が、左画像406において形成され、交差線は、較正プロファイル254の最新の更新されたバージョンを使用して左画像406から右画像408に変換され、エピポーラ線422を右画像408上に投影する。右画像408における点405、407は、次いで、変形量Dを決定するためにエピポーラ線422と比較される。特徴420がエピポーラ線422と整列させられていない(平行移動オフセットおよび向きオフセットが、点405および407とエピポーラ線422との間の不整列によって示されるように著しい)ので、変形量Dは、
図4Aに示される例より高い(例えば、26.3に等しい)ことが決定される。
【0051】
図4Cを参照すると、時間t
3においてセンサ206Aによって捕捉される左画像410は、時間t
3においてセンサ206Bによって捕捉される右画像412と比較され、両方の画像において出現する特徴420を識別し得る。画像410、412は、画像410、412の各々においける特徴420内の点405、407を識別するために分析される。次に、点405、407の間の交差線が、左画像410において形成され、交差線は、較正プロファイル254の最新の更新されたバージョンを使用して左画像410から右画像412に変換され、エピポーラ線422を右画像412上に投影する。右画像412における点405、407は、次いで、変形量Dを決定するためにエピポーラ線422と比較される。特徴420がエピポーラ線422と著しくオフセットされている(平行移動オフセットおよび向きオフセットが、点405および407とエピポーラ線422との間の不整列によって示されるように著しい)ので、変形量Dは、
図4Aおよび4Bに示される例より高い(例えば、84.1に等しい)ことが決定される。
【0052】
図5A、5B、および5Cは、本発明のいくつかの実施形態による、較正プロファイル254に関連付けられた較正レベルを決定するための種々のステップを図示する。
図5A、5B、および5Cに図示される例は、それぞれ、
図4A、4B、および4Cに図示される例に対応し、右画像を左画像に投影し、同じ変形量D(すなわち、較正レベル)を計算する代替アプローチを実証する。
図5A、5B、および5Cを参照して説明されるステップは、フレーム毎の基準で実施されるか、または、N個のレーム毎に実施され得る。
【0053】
図5Aを参照すると、時間t
1においてセンサ206Aによって捕捉される左画像502は、時間t
1においてセンサ206Bによって捕捉される右画像504と比較され、両方の画像において出現する特徴520を識別し得る。画像502、504は、画像502、504の各々においける特徴520内の点505、507を識別するために分析される。次に、点505、507の間の交差線が、右画像504において形成され、交差線は、較正プロファイル254の最新の更新されたバージョンを使用して右画像504から左画像502に変換され、エピポーラ線522を左画像502上に投影する。左画像502における点505、507は、次いで、変形量Dを決定するためにエピポーラ線522と比較される。
図5Aに図示される例における特徴520がエピポーラ線522と良好に整列させられているので、変形量Dは、低い(例えば、0に等しい)ことが決定される。
【0054】
図5Bを参照すると、時間t
2においてセンサ206Aによって捕捉される左画像506は、時間t
2においてセンサ206Bによって捕捉される右画像508と比較され、両方の画像において出現する特徴520を識別し得る。画像506、508は、画像506、508の各々においける特徴520内の点505、507を識別するために分析される。次に、点505、507の間の交差線が、右画像508において形成され、交差線は、較正プロファイル254の最新の更新されたバージョンを使用して右画像508から左画像506に変換され、エピポーラ線522を左画像506上に投影する。左画像506における点505、507は、次いで、変形量Dを決定するためにエピポーラ線522と比較される。特徴520がエピポーラ線522と整列させられていない(平行移動オフセットおよび向きオフセットが、点505および507とエピポーラ線522との間の不整列によって示されるように著しい)ので、変形量Dは、
図5Aに示される例より高い(例えば、26.3に等しい)ことが決定される。
【0055】
図5Cを参照すると、時間t
3においてセンサ206Aによって捕捉される左画像510は、時間t
3においてセンサ206Bによって捕捉される右画像512と比較され、両方の画像において出現する特徴520を識別し得る。画像510、512は、画像510、512の各々においける特徴520内の点505、507を識別するために分析される。次に、点505、507の間の交差線が、右画像512において形成され、交差線は、較正プロファイル254の最新の更新されたバージョンを使用して右画像512から左画像510に変換され、エピポーラ線522を左画像510上に投影する。左画像510における点505、507は、次いで、変形量Dを決定するためにエピポーラ線522と比較される。特徴520がエピポーラ線522と著しくオフセットされている(平行移動オフセットおよび向きオフセットが、点505および507とエピポーラ線522との間の不整列によって示されるように著しい)ので、変形量Dは、
図5Aおよび5Bに示される例より高い(例えば、84.1に等しい)ことが決定される。
【0056】
図6は、本発明のいくつかの実施形態による、両方の画像において出現する共通特徴を有する2つの画像に基づく変形量D(すなわち、較正レベル)の例示的計算を図示する。第1に、点605、607を有する特徴620が、第1の画像602および第2の画像(図示せず)の両方において識別される。第1の画像602は、いくつかある可能性の中でも、左画像または右画像を表し得る。点605、607の間の交差線が、第2の画像において形成され、較正プロファイル254の最新の更新されたバージョンを使用して第2の画像から第1の画像602に変換され、(
図4A、4B、4C、5A、5B、および5Cを参照して示されるように)エピポーラ線622を第1の画像602上に投影する。第1の画像602における点605、607は、次いで、変形量Dを決定するためにエピポーラ線622と比較される。
【0057】
いくつかの実施形態において、第1のオフセット650が、点605とエピポーラ線622との間の垂直距離として計算され、および/または、第2のオフセット652が、点607とエピポーラ線622との間の垂直距離として計算される。変形量Dの計算された値は、いくつかある可能性の中でも、第1のオフセット650(例えば、そのスケーリングされたバージョン)、第2のオフセット652、第1のオフセット650と第2のオフセット652との間の平均オフセット654、第1のオフセット650および第2のオフセット652の最小値または最大値、第1のオフセット650と第2のオフセット652との間の比(例えば、第2のオフセット652によって除算された第1のオフセット650、第1のオフセット650によって除算された第2のオフセット652等)、第1のオフセット650と第2のオフセット652との間の差異(例えば、第2のオフセット652から減算された第1のオフセット650、または第1のオフセット650から減算された第2のオフセット652等)に等しいか、または関連し得る。
【0058】
図7は、本発明のいくつかの実施形態による、両方の画像において出現する共通特徴を有する2つの画像に基づく変形量D(すなわち、較正レベル)の例示的計算を図示する。第1に、点705、707を有する特徴720が、第1の画像702および第2の画像(図示せず)の両方において識別される。第1の画像702は、いくつかある可能性の中でも、左画像または右画像を表し得る。点705、707の間の交差線が、第2の画像において形成され、較正プロファイル254の最新の更新されたバージョンを使用して第2の画像から第1の画像702に変換され、(
図4A、4B、4C、5A、5B、および5Cを参照して示されるように)エピポーラ線722を第1の画像702上に投影する。第1の画像702における点705、707は、次いで、変形量Dを決定するためにエピポーラ線722と比較される。
【0059】
いくつかの実施形態において、点705、707を交差する線756が、第1の画像702において形成され、線756とエピポーラ線722との間の角度758が、計算される。角度758は、代替として、または加えて、(
図6を参照して説明される第1のオフセット650および第2のオフセット652に類似する)点705、707とエピポーラ線722との間の垂直オフセット、および点705、707の間の水平オフセットを決定し、三角法を使用して角度758に関して解法することによって、計算され得る。変形量Dの計算された値は、いくつかある可能性の中でも、角度758(例えば、そのスケーリングされたバージョン)、角度758の正弦(関数)、角度758の正接(関数)、角度758の逆数に等しいか、または関連し得る。
【0060】
いくつかの実施形態において、
図6を参照して計算される変形量は、平行移動変形量D
Tであり、
図7を参照して計算される変形量は、回転変形量D
Rである。いくつかの実施形態において、変形量Dの計算された値は、いくつかある可能性の中でも、平行移動変形量D
Tおよび回転変形量D
Rの合計(例えば、そのスケーリングされたバージョン)、平行移動変形量D
Tと回転変形量D
Rとの間の平均、平行移動変形量D
Tおよび回転変形量D
Rの最小値または最大値、平行移動変形量D
Tと回転変形量D
Rとの間の比(例えば、回転変形量D
Rによって除算された平行移動変形量D
T、平行移動変形量D
Tによって除算された回転変形量D
R等)、平行移動変形量D
Tと回転変形量D
Rとの間の差異(例えば、回転変形量D
Rから減算された平行移動変形量D
T、または平行移動変形量D
Tから減算された回転変形量D
R等)に等しいか、または関連し得る。
【0061】
図8は、本発明のいくつかの実施形態による、ARデバイス200を較正する方法800を図示する。方法800の実施は、
図8に示されるものより多いまたは少ないステップを実施することを含み得、方法800のステップは、示される順序で実施される必要はない。方法800は、ARデバイスを較正することを参照して説明されるが、方法は、それらの空間関係が平行移動パラメータおよび回転パラメータを有する較正プロファイルによってモデル化される2つのセンサを有する任意のデバイスを較正するために使用され得る。
【0062】
いくつかの実施形態において、方法800は、ブロック802から開始し、センサデータ220が、センサ206によって捕捉される。いくつかの実施形態において、センサデータ220は、センサ206のうちの第1のセンサおよび第2のセンサによって捕捉され得る。例えば、センサデータ220は、第1のセンサによって捕捉される1つ以上の第1の画像と、第2のセンサによって捕捉される1つ以上の第2の画像とを含み得る。いくつかの実施形態において、第1の画像および第2の画像の両方は、カメラ画像である。いくつかの実施形態において、第1の画像および第2の画像の両方は、深度画像(すなわち、深度マップ)である。いくつかの実施形態において、第1の画像は、カメラ画像であり、第2の画像は、深度画像である。いくつかの実施形態において、第1の画像は、深度画像であり、第2の画像は、カメラ画像である。センサデータ220がセンサ206によって捕捉された後、センサデータ220は、処理モジュール250に送信され得る。
【0063】
ブロック804において、較正プロファイル254に関連付けられた較正レベルが、決定される。いくつかの実施形態において、較正レベルは、例えば、1つ以上の第1の画像および1つ以上の第2の画像の一方または両方を分析することによって、センサデータ220に基づいて決定される。例えば、1つ以上の第1の画像は、1つ以上の第2の画像と比較され得、較正レベルは、比較に基づいて決定され得る。別の例として、第2のセンサに関連する第1のセンサの変形量Dが、比較に基づいて決定され得、変形量Dは、較正レベル(より低いレベルの信頼性に対応するより高い変形量)として使用され得る。いくつかの実施形態において、較正レベルは、
図4A、4B、および4C、および/または
図5A、5B、および5Cを参照して説明されるステップを実施することによって、決定される。いくつかの実施形態において、ブロック804は、処理モジュール250によって実施される。
【0064】
いくつかの実施形態において、較正レベルを決定することは、ARデバイス200に関連付けられた頭部姿勢アルゴリズムが、現在利用可能であるかどうか、および/または、それが、現在正確なデータを生成しているかどうかを決定することを含む。いくつかの実施形態において、頭部姿勢アルゴリズムは、センサ206によって捕捉されるセンサデータ220からマップ点(3D点)を生成するために使用され得る。例えば、頭部姿勢アルゴリズムは、一対の画像を受信し、一対の画像を処理することによってマップ点を生成し得る。ARデバイス200が過度に変形させられている場合、頭部姿勢アルゴリズムは、収束することができないか、または、正確なマップ点を生成することができないであろう。いずれの場合も、頭部姿勢アルゴリズムは、「利用不可能」と見なされ得る。いくつかの実施形態において、較正レベルは、例えば、利用可能であるとき、第1の値(例えば、1)、利用可能でないとき、第2の値(例えば、0)を有すること、または、いくつかの実施形態において、利用可能性のレベルを示すそれらの間の値(例えば、0.5)を有することによって、頭部姿勢アルゴリズムが利用可能であるかどうかに関連付けられ得る。
【0065】
ブロック806において、較正レベルに基づいて、第1の較正プロセスを実施すべきか、第2の較正プロセスを実施すべきか、または、いずれも実施しないかが決定される。例えば、較正レベルは、1つ以上の較正閾値と比較され得る単一の値を有し得る。いくつかの事例において、較正レベルは、0~1の間の値を有するように正規化され得る。一例において、較正レベルは、第1の較正プロセスが実施されるべきか、第2の較正プロセスが実施されるべきかを決定するために、第1の較正閾値807-1と比較され得る。較正レベルが第1の較正閾値807-1を上回るとき、第1の較正プロセスを実施し、較正レベルが第1の較正閾値807-1を下回るとき、第2の較正プロセスを実施することが決定され得、逆も同様である。いくつかの実施形態において、較正レベルが、第1の較正閾値807-1より高くあり得る第2の較正閾値807-2を上回るとき、いずれの較正プロセスも実施しないことが、決定され得る。代替として、または加えて、較正レベルがある値の範囲内であるかどうか、較正レベルが値のリストに含まれるかどうか、較正レベルが、ある閾値量だけ前もって決定された較正レベルを上回るか、またはそれ未満であるかどうか、較正レベルが特定の時間量(例えば、250ミリ秒)にわたって閾値未満であるかどうか等が、決定され得る。いくつかの実施形態において、ブロック806は、処理モジュール250によって実施される。
【0066】
変形量Dが較正レベルとして使用される別の例において、変形量Dは、第1の較正プロセスが実施されるべきか、第2の較正プロセスが実施されるべきかを決定するために、第1の変形閾値と比較され得る。変形量Dが第1の変形閾値を下回るとき、第1の較正プロセスを実施し、変形量Dが第1の変形閾値を上回るとき、第2の較正プロセスを実施することが、決定され得、逆も同様である。いくつかの実施形態において、変形量Dが、第1の変形閾値より低くあり得る第2の変形閾値を下回るとき、いずれの較正プロセスも実施しないことが、決定され得る。代替として、または加えて、変形量Dがある値の範囲内であるかどうか、変形量Dが値のリストに含まれるかどうか、変形量Dが、ある閾値量だけ前もって決定された変形量Dを上回るか、またはそれ未満であるかどうか、変形量Dが特定の時間量(例えば、250ミリ秒)にわたって閾値を上回るかどうか等が、決定され得る。
【0067】
ブロック806において、第1の較正プロセスが実施されるべきであること、例えば、較正レベルが第1の較正閾値807-1未満であることが決定される場合、方法800は、ブロック808に進む。ブロック808において、回転パラメータRを較正することを含む第1の較正プロセスが、実施される一方、平行移動パラメータTは、修正されない、すなわち、回転パラメータRのみが、較正される。第1の較正プロセスを実施することは、回転パラメータRを置換および/または更新するために使用されるべき較正された回転パラメータR’を生成することを含み得る。いくつかの実施形態において、第1の較正プロセスは、センサデータ220を使用して実施される。第1の較正プロセスは、平行移動パラメータTが、(その最新の値に)一定に保持され、回転パラメータRが、可能な値の範囲にわたって変動させられる(例えば、変化させられる)、誤差方程式を最小化することを含み得る。誤差方程式が最小化される回転パラメータRの値は、較正された回転パラメータR’として設定される。いくつかの実施形態において、ブロック808は、処理モジュール250によって実施される。
【0068】
ブロック806において、第2の較正プロセスが実施されるべきこと、例えば、較正レベルが第1の較正閾値807-1を上回る(但し、第2の較正閾値807-2未満である)ことが決定される場合、方法800は、ブロック810に進む。ブロック810において、平行移動パラメータTおよび回転パラメータRを置換および/または更新するために使用されるべき較正された平行移動パラメータT’および較正された回転パラメータR’を生成することを含み得る平行移動パラメータTおよび回転パラメータRの両方を較正することを含む第2の較正プロセスが、実施される。第2の較正プロセスは、平行移動パラメータTおよび回転パラメータRの両方が、可能な値の範囲にわたって変動させられる誤差方程式を最小化することを含み得る。誤差方程式が最小化される、平行移動パラメータTおよび回転パラメータRの値は、それぞれ、較正された平行移動パラメータT’および較正された回転パラメータR’として設定される。いくつかの実施形態において、ブロック810は、処理モジュール250によって実施される。
【0069】
図9は、本発明のいくつかの実施形態による、ARデバイス200を較正する方法900を図示する。方法900の実施は、
図9に示されるものより多いまたは少ないステップを実施することを含み得、方法900のステップは、示される順序で実施される必要はない。方法900の1つ以上のステップは、方法800の1つ以上のステップに対応し得る。方法900は、ARデバイスを較正することを参照して説明されるが、方法は、それらの空間関係が平行移動パラメータおよび回転パラメータを有する較正プロファイルによってモデル化される2つのセンサを有する任意のデバイスを較正するために使用され得る。
【0070】
いくつかの実施形態において、方法900は、ブロック902から開始し、センサデータ220(すなわち、第1のセンサデータ)が、センサ206によって捕捉される。ブロック902は、ブロック802を参照して説明される1つ以上のステップを含み得る。
【0071】
ブロック903において、追加のセンサデータ221(すなわち、第2のセンサデータ)が、追加のセンサ207によって捕捉される。追加のセンサ207は、センサ206と別個であり得る。一例において、追加のセンサ207は、ARデバイス200に対する歪みを決定するためのARデバイス200の一部の上に位置付けられた(例えば、センサ206のうちの2つの間に延びている)歪みゲージである。
【0072】
ブロック904において、較正プロファイル254に関連付けられた較正レベルが、追加のセンサデータ221(すなわち、第2のセンサデータ)に基づいて決定される。いくつかの実施形態において、較正レベルは、追加のセンサデータ221の1つ以上の画像を分析することによって決定される。ブロック904は、ブロック804を参照して説明される1つ以上のステップを含み得る。いくつかの実施形態において、ブロック904は、処理モジュール250によって実施される。
【0073】
ブロック906において、較正レベルに基づいて、第1の較正プロセス、第2の較正プロセスを実施するか、または、いずれも実施しないかが決定される。ブロック906は、ブロック806を参照して説明される1つ以上のステップを含み得る。いくつかの実施形態において、ブロック906は、処理モジュール250によって実施される。
【0074】
ブロック906において、第1の較正プロセスが実施されるべきであることが決定される場合、方法900は、ブロック908に進む。ブロック908において、センサデータ220(すなわち、第1のセンサデータ)を使用して、回転パラメータRを較正することを含む第1の較正プロセスが、実施される一方、平行移動パラメータTは、修正されない。ブロック908は、ブロック808を参照して説明される1つ以上のステップを含み得る。いくつかの実施形態において、ブロック908は、処理モジュール250によって実施される。
【0075】
ブロック906において、第2の較正プロセスが実施されるべきであることが決定される場合、方法900は、ブロック910に進む。ブロック910において、センサデータ220(すなわち、第1のセンサデータ)を使用して、平行移動パラメータTおよび回転パラメータRの両方を較正することを含む第2の較正プロセスが、実施される。ブロック910は、ブロック810を参照して説明される1つ以上のステップを含み得る。いくつかの実施形態において、ブロック910は、処理モジュール250によって実施される。
【0076】
図10は、本発明のいくつかの実施形態による、ARデバイス200を較正する方法1000を図示する。方法1000の実施は、
図10に示されるものより多いまたは少ないステップを実施することを含み得、方法1000のステップは、示される順序で実施される必要はない。方法1000の1つ以上のステップは、方法800、900の1つ以上のステップに対応し得る。例えば、方法1000は、ブロック808を参照して説明される1つ以上のステップに対応し得るエピポーラ較正1050と、ブロック810を参照して説明される1つ以上のステップに対応し得るオンライン較正1052とを含み得る。方法1000は、ARデバイスを較正することを参照して説明されるが、方法は、それらの空間関係が平行移動パラメータおよび回転パラメータを有する較正プロファイルによってモデル化される2つのセンサを有する任意のデバイスを較正するために使用され得る。
【0077】
いくつかの実施形態において、方法1000は、ブロック1002から開始し、センサデータ220がセンサ206によって捕捉される。ブロック1002は、ブロック802を参照して説明される1つ以上のステップを含み得る。
【0078】
ブロック1004において、較正プロファイル254に関連付けられた較正レベルが、決定される。ブロック1004は、ブロック804、904を参照して説明される1つ以上のステップを含み得る。いくつかの実施形態において、ブロック1004は、処理モジュール250によって実施される。
【0079】
ブロック1006において、較正レベルに基づいて、第1の較正プロセスを実施すべきか、第2の較正プロセスを実施すべきか、または、いずれも実施しないかが決定される。ブロック1006は、ブロック806を参照して説明される1つ以上のステップを含み得る。いくつかの実施形態において、ブロック1006は、処理モジュール250によって実施される。
【0080】
ブロック1006において、第1の較正プロセスが実施されるべきであることが決定される場合、方法1000は、ブロック1008に進む。ブロック1008において、第1の方程式、式1が、平行移動パラメータTが(較正プロファイル254内のその直近で更新された値に)一定に保持されながら、可能な値の範囲にわたって回転パラメータRを変動させる(例えば、変化させる)ことによって最小化される。種々の誤差方程式が第1の式1に使用され得るが、いくつかの実装において、サンプソン誤差の変異型が、以下のように使用され得る。
【数10】
式中、(・)
kは、ベクトルにおける第kの成分を表し、E=[T]
x・Rは、基本行列であり、xおよびx’は、正規化画像座標における左および右画像からの対応する特徴である。式1におけるサンプソン誤差のこの変異型を使用する利点は、(1)使用される特徴座標が正規化画像座標であること、(2)基本行列Eが基礎行列より計算的に効率的であること、および、(3)カメラの本質が変化しないと仮定されることを含む。1つの特定の実装において、基本行列Eは、3×3行列である。式1が最小化されると、方程式が最小化される回転パラメータRの値が、設定され、較正された回転パラメータR’として出力される。
【0081】
ブロック1006において、第2の較正プロセスが実施されるべきであることが決定される場合、方法1000は、オンライン較正1052が実施される、ブロック1010に進む。オンライン較正1052は、センサ(例えば、カメラ)の回転および平行移動に関して観察される画像点と予測される画像点との間の再投影誤差を最小化することを目指す。ブロック1010において、第2の式2が、可能な値の範囲にわたって平行移動パラメータTおよび回転パラメータRを変動させる(例えば、変化させる)ことによって最小化される。種々の誤差方程式が、第2の方程式、式2のために使用され得るが、いくつかの実装において、以下の誤差方程式が、使用され得る。
【数20】
式中、iは、点のための指数であり、jは、キーフレームにおけるリグ位置のための指数であり、kは、カメラのための指数であり、Cは、カメラの組であり、
【数21】
は、リグからセンサk(例えば、カメラk)への外因性変換であり、
【数22】
は、リグjにおけるセンサkのための投影関数であり、
【数23】
は、センサkにおける3D点p
iの測定であり、Pは、2つの点の間の再投影誤差ベクトルを算出するための関数であり、V
ijは、キーフレーム位置jに位置するセンサkを通した点iの可視性に基づく0または1の値である(可視である場合は1、可視ではない場合は0に等しい)。投影関数
【数24】
は、リグ中心点から各センサへの変換が各センサに関するTおよびRに関連するので、平行移動パラメータTおよび回転パラメータRに依存している。式2が最小化されると、方程式が最小化される平行移動パラメータTおよび回転パラメータRの値が、設定され、それぞれ、較正された平行移動パラメータT’および較正された回転パラメータR’として出力される。リグからカメラへの外因性変換の追加の説明が、
図15に図示される。
【0082】
ブロック1012において、較正された平行移動パラメータT’および較正された回転パラメータR’のいずれか一方または両方が、それぞれ、平行移動パラメータTおよび回転パラメータRを置換および/または更新するために使用される。エピポーラ較正1050が実施された場合、回転パラメータRが、置換および/または更新される。オンライン較正1052が実施された場合、平行移動パラメータTおよび回転パラメータRの両方が、置換および/または更新される。ブロック1012の実施後、方法1000は、ブロック1002に進み、説明されるステップを繰り返す。
【0083】
図11は、本発明のいくつかの実施形態による、ARデバイス200を較正する方法1100を図示する。方法1100の実施は、
図11に示されるものより多いまたは少ないステップを実施することを含み得、方法1100のステップは、示される順序で実施される必要はない。方法1100の1つ以上のステップは、方法800、900、1000の1つ以上のステップに対応し得る。例えば、方法1100は、ブロック808および1008を参照して説明される1つ以上のステップに対応し得るエピポーラ較正1150と、ブロック810および1010を参照して説明される1つ以上のステップに対応し得るオンライン較正経路1152とを含み得る。方法1100は、ARデバイスを較正することを参照して説明されるが、方法は、それらの空間関係が平行移動パラメータおよび回転パラメータを有する較正プロファイルによってモデル化される2つのセンサを有する任意のデバイスを較正するために使用され得る。
【0084】
いくつかの実施形態において、方法1100は、ブロック1102から開始し、センサデータ220がセンサ206によって捕捉される。ブロック1102は、ブロック802を参照して説明される1つ以上のステップを含み得る。
【0085】
ブロック1104において、センサデータ220の較正レベルが、決定される。ブロック1104は、ブロック804、904を参照して説明される1つ以上のステップを含み得る。いくつかの実施形態において、ブロック1104は、処理モジュール250によって実施される。
【0086】
ブロック1106において、較正レベルに基づいて、第1の較正プロセスを実施すべきか、第2の較正プロセスを実施すべきか、または、いずれも実施しないかが決定される。ブロック1106は、ブロック806を参照して説明される1つ以上のステップを含み得る。いくつかの実施形態において、ブロック1106は、処理モジュール250によって実施される。
【0087】
ブロック1106において、第1の較正プロセスが実施されるべきであることが決定される場合、方法1100は、ブロック1108に進む。ブロック1108において、画像分析および特徴検出が、センサ206A、206Bによって捕捉される対の画像に実施される。いくつかの実施形態において、対の画像間の合致特徴が、検出されるか、または、他の実施形態において、合致特徴が、ブロック1108の実施中、またはそれに先立って、外部ソースから受信される。合致特徴および対の画像を取得した後、対の画像の各々は、複数のビンに分けられ、ビンの各々に位置する合致特徴の数量が、決定される。種々の実施形態において、対の画像の各々は、同一数のビンに、異なる数のビンに、または対の画像の各々の異なる領域に及ぶビンに分けられる。1つの特定の実施形態において、ビンは、画像上にオーバーレイされる3×3グリッドによって画定され得る。各ビンのための合致特徴の数量を決定した後、数量は、出力され、方法1100は、ブロック1110に進む。
【0088】
ブロック1110において、ビンの各々に位置する合致特徴の数量が1つ以上の特徴閾値を満たすかどうかが、決定される。例えば、合致特徴の数量の各々が特徴閾値、例えば、1、10、100、1,000等を上回るかどうかが、決定され得る。いくつかの実施形態において、この調査は、合致特徴の数量の各々が、特徴閾値を上回るときのみ、方法1100がブロック1112に進むように、ビン毎の基準で実施され得る。他の実施形態において、方法1100は、ビンの大部分またはある必要な割合が特徴閾値を上回る合致特徴の数量を含むとき、ブロック1112に進み得る。いくつかの実施形態において、合致特徴の数量の各々が第2の特徴閾値、例えば、1,000、10,000等未満であるかどうかも、決定され得る。このステップは、合致特徴が対の画像の全体を通して均等に拡散されるかどうかが、決定され得る。合致特徴の数量の各々が、第1の特徴閾値を上回り、第2の特徴閾値未満であることが決定される場合、方法1100は、ブロック1112に進み得る。そうでなければ、方法1100は、対の画像の第2の組、例えば、後続のフレームに対応する対の画像が分析されるブロック1108に戻る。
【0089】
ブロック1112において、ブロック1008を参照して説明されるステップは、対の画像および/または合致特徴を使用して実施される。式1が最小化されると、方程式が最小化される回転パラメータRの値が、設定され、較正された回転パラメータR’として出力される。
【0090】
ブロック1106に戻ると、ブロック1106において、第2の較正プロセスが実施されるべきであることが決定される場合、方法1100は、オンライン較正経路1152に進む。オンライン較正経路1152は、例えば、環境調和モジュール1111およびオンライン較正モジュール1113等の複数のモジュールを含み得る。環境調和モジュール1111は、所定の期間にわたってARデバイス200によって収集される3D点クラウドデータが整列させられていることを確実にするためのステップを含み得る。ブロック1114において、バンドル調節が、キーフレームが発生した度に疎マップ(ARデバイス200のマップ点およびキーフレーム位置の群)を最適化することによって実施される。故に、ブロック1114において任意の残りのステップを実施することに先立って、最初に、キーフレームが発生したかどうかが、決定され得る。ARデバイス200の動作中、センサデータ220に基づいて、安定した最適化を保証するために十分な新しい情報が存在することが決定されるとき、キーフレームが発生し、それは、ARデバイス200が平行移動閾値を上回って平行移動し、回転閾値(ARデバイス200の場所として使用されている中心点302)を上回って回転したことを決定することに対応する。例として、平行移動閾値は、10cmであり得、回転閾値は、10度であり得る。
【0091】
疎マップは、センサ206から収集されるマップ点を備え得る。マップ点は、視野内の異なる特徴に沿ってセンサ206によって捕捉され得、各マップ点は、マップ点が捕捉されたときの(中心点302を使用する)ARデバイス200の既知の位置に関連付けられる。これは、収集されたマップ点にコンテキストを与え、それによって、環境の3Dモデルが、正確に再構築され、最適に解釈され得る。バンドル調節が実施されるとき、疎マップは、点間の整列誤差を最小化するアルゴリズムを使用して、疎マップに含まれるマップ点を整列させることによって、最適化される。疎マップが最適化された後、方法1100は、オンライン較正モジュール1113に進む。
【0092】
オンライン較正モジュール1113は、いくつかのサブプロセスまたはステップを含み得る。ブロック1116において、オンライン較正トリガが満たされているかどうかが、決定される。オンライン較正トリガは、限定ではないが、キーフレームが発生したかどうか、連続キーフレームが発生したかどうか、バンドル調節が成功したかどうか、連続バンドル調節が成功したかどうか、ARデバイス200のキーフレーム姿勢間の最大距離が閾値基準(例えば、1.5メートル)を上回って平行移動したかどうか、ARデバイス200のキーフレーム姿勢間の最大回転が閾値角度(例えば、90度)を上回って回転したかどうか、検出された特徴が視野にわたって一様に分配されているかどうか、検出された特徴が(深度に対応する)z次元内で一様に分配されるかどうか等の1つ以上の条件を含み得る。オンライン較正トリガに含まれる1つ以上の条件が満たされない場合、方法1100は、ブロック1102に戻る。条件が満たされる場合、方法1100は、ブロック1118に進む。
【0093】
ブロック1118において、ブロック1010を参照して説明されるステップが、最適化された疎マップを使用して実施される。いくつかの実施形態において、ブロック1118の実施は、バンドル調節に使用されるより大きいデータセットを使用し得る。例えば、バンドル調節が、直近の10個のキーフレームおよびカメラ姿勢位置によって観察された直近の10個のマップ点の組を使用して疎マップを最適化し得る一方、ブロック1118は、最後の100個のマップ点の組およびカメラ姿勢位置を使用し得る。式2が最小化されると、方程式が最小化される平行移動パラメータTおよび回転パラメータRの値が、設定され、それぞれ、較正された平行移動パラメータT’および較正された回転パラメータR’として出力される。
【0094】
ブロック1120において、較正された平行移動パラメータT’および較正された回転パラメータR’が、事前選択された合否基準と比較される。いくつかの実施形態において、合否基準は、較正された平行移動パラメータT’および較正された回転パラメータR’が、それぞれ、平行移動パラメータTおよび回転パラメータRと十分に異なることを要求し得る。いくつかの実施形態において、差異T’-TおよびR’-Rが、閾値と比較され得る。合否基準が満たされていることが決定される場合、方法1100は、ブロック1122に進み得る。
【0095】
ブロック1122において、較正された平行移動パラメータT’および較正された回転パラメータR’のいずれか一方または両方が、それぞれ、平行移動パラメータTおよび回転パラメータRを置換および/または更新するために使用される。エピポーラ較正1150が実施された場合、回転パラメータRが、置換および/または更新される。オンライン較正経路1152が実施された場合、平行移動パラメータTおよび回転パラメータRの両方が、置換および/または更新される。ブロック1122の実施後、方法1100は、ブロック1102に戻り、説明されるステップを繰り返す。
【0096】
いくつかの実施形態において、方法1100の実施は、エピポーラ較正1150(すなわち、第1の較正プロセス)のみ、またはオンライン較正経路1152(すなわち、第2の較正プロセス)のみを実施することを含み得る。いくつかの実施形態において、オンライン較正経路1152は、第1の時間(すなわち、t1)において実施され、エピポーラ較正1150は、第2の時間(すなわち、t2)において実施される。逆に、いくつかの実施形態において、エピポーラ較正1150は、第1の時間(すなわち、t1)において実施され、オンライン較正経路1152は、第2の時間(すなわち、t2)において実施される。いくつかの実施形態において、オンライン較正経路1152は、エピポーラ較正1150を実施することなく、連続的に2回(すなわち、時間t1およびt2において)実施される。同様に、いくつかの実施形態において、エピポーラ較正1150は、オンライン較正経路1152を実施することなく、連続的に2回(すなわち、時間t1およびt2において)実施される。本明細書に説明されるように、第1の時間(すなわち、t1)は、第2の時間(すなわち、t2)に先行するか、または、その後に続き得る。
【0097】
当業者は、較正された平行移動パラメータT’および較正された回転パラメータR’が多くの方法でARデバイス200によって使用され得ることを理解するであろう。一実施形態において、T’およびR’は、1つ以上のセンサ(例えば、センサ206)の位置および/または向きを物理的に調節するための基準として使用され得る。1つ以上のセンサの位置および/または向きを調節することは、ARデバイス200上の他のコンポーネントおよび/または他のセンサに対して少なくとも1つのセンサの位置および/または向きを制御することによって、ARデバイス200の全体的性能を改良し得る。
【0098】
図3をもう一度参照すると、較正された平行移動パラメータT’および較正された回転パラメータR’が、中心点302に対して決定され得る。しかしながら、システムの任意の他の部分に対して較正することが可能である。例えば、いくつかの実施形態において、基準センサに関するパラメータが調節されないが、全ての他のセンサのパラメータが基準センサに関連して調節されるように、単一のセンサが、全ての較正補正が基づく基準センサとして選択される。ARデバイス200上の他の重要な点も、較正されたパラメータを計算する基準点として使用され得る。
【0099】
図12は、本発明のいくつかの実施形態による、左画像1204と右画像1206(すなわち、対の画像)との間の1つ以上の合致特徴1202を検出するための種々のステップを図示する。例えば、
図12は、
図11を参照して説明されるようなブロック1108に関連して1つ以上のステップを図示し得る。左画像1204における各検出された合致特徴は、右画像1206における検出された合致特徴に対応し、逆も同様である。合致特徴は、角検出技法または種々の従来の画像処理技法のうちのいずれか1つに基づいて、検出され得る。
【0100】
図13は、本発明のいくつかの実施形態による、左画像1304および右画像1306を複数のビン1308に分けること、およびビン1308の各々に位置する合致特徴1302の数量を決定することを行う種々のステップを図示する。例えば、
図13は、
図11を参照して説明されるようなブロック1108および1110に関連して1つ以上のステップを図示し得る。左画像1304および右画像1306は、いくつかある可能性の中でも、カメラ画像、深度画像であり得る。
図13に示される特定の実装において、左画像1304および右画像1306の各々は、3×3配列における9つのビンに分けられている。他の実施形態において、異なる数のビンおよびビンの異なる配列が、可能である。例えば、左画像1304および右画像1306の各々は、種々の形状(例えば、長方形、三角形、円形等)を有する任意の数のビン(例えば、4、16、25、36等)に分けられ得る。ビンは、重複することも、重複しないこともあり、左画像1304と右画像1306とのためのビンの配列は、同じである必要はない。例えば、左画像1304は、2×2配列における4つのビンに分けられ得、右画像1306は、2×3配列における6つのビンに分けられ得る。
【0101】
1つ以上の特徴閾値が、定義され得、それらは、ある数量の合致特徴が各ビンおよび/またはビンの群に存在することを要求する。一例として、特徴閾値は、ビン1308の各々が、合致特徴1302のうちの5つ以上のものを含むことを要求し得る。図示される実施形態において、各ビンにおける合致特徴の数量は、ビン番号の右側の括弧内に示される。ビン1308のうちのいくつかが、特徴閾値を満たすことができない(例えば、ビン4、7、8、9、12、14、15、17、および18の各々が、5つより少ない合致特徴を有する)場合、特徴閾値は、満たされない。結果として、現在の画像対、すなわち、画像1304および1306が、随意に、破棄され得る一方、画像対からの対応する特徴は、保持され得る。後続の画像対が、同一の様式で読み出され、分析されると、特徴は、特徴閾値の各々が満たされるまで蓄積される。別の例として、特徴閾値は、2×2配列における4つの隣接するビンの各群が、10個以上の合致特徴を含むことを要求し得る。ビン14、15、17、および18の群が5つの合致特徴のみを含むので、特徴閾値は、満たされない。
【0102】
図14Aおよび14Bは、本発明のいくつかの実施形態による、左画像1404および右画像1406を3次元空間内の複数のビン1408に分けること、およびビン1408の各々に位置する合致特徴1402の数量を決定することを行う種々のステップを図示する。例えば、
図14Aおよび14Bは、
図11を参照して説明されるようなブロック1108および1110に関連して1つ以上のステップを図示し得る。左画像1404および右画像1406は、いくつかある可能性の中でも、カメラ画像、深度画像であり得る。左画像1404および右画像1406の各々は、3×3×3配列における27個のビンに分けられる。他の実施形態において、異なる数、配列、および形状のビンが、可能である。ビンは、重複することも、重複しないこともあり、左画像1404と右画像1406とのためのビンの配列は、同じである必要はない。
【0103】
図14Aを参照すると、特徴閾値は、各群が3つの次元のうちの2つにおいて延びている平面を形成するビンを備えているビンの群に関して定義される。例えば、特徴閾値は、(Z次元に対して)近距離場、中間場、および遠距離場内の平面を形成するビンの群の各々が、合致特徴1402のうちの5つ以上を含むことを要求する。特徴閾値は、X次元に対する平面を形成するビンの群の各々が8つ以上の合致特徴を含み、Y次元に対する平面を形成するビンの群の各々が7つ以上の合致特徴を含むことも要求する。
図14Bは、各個々のビンが2つ以上の合致特徴を含むことを要求する追加の特徴閾値を図示する。故に、特徴閾値は、合致特徴1402の十分な空間分布を確実にするために、個々のビンおよび/またはビンの群に関して定義され得る。
【0104】
図15は、本発明のいくつかの実施形態による、バンドル調節を実施するための種々のステップを図示する。
図15に、種々のカメラ姿勢1504によって視認されるマップ点1502が、示される。マップ点1502は、視野内の異なる特徴に沿ってセンサ206A、206B(およびいくつかの実施形態において、センサ206C、206D)によって捕捉され、マップ点1502の各々は、マップ点が捕捉されたときのARデバイス200の既知の位置(中心点302)に関連付けられる。集合的に、カメラ姿勢1504から視認されるようなマップ点1502は、疎マップを構成する。疎マップは、計算された投影と観察された特徴との間の整列誤差を最小化するアルゴリズムを使用して、疎マップに含まれるマップ点の計算された投影をマップ点の対応する観察された特徴と整列させることによって、最適化される。
【0105】
前述の説明は、ARデバイス200およびモデル300を参照して挙げられたが、他のシステム構成も、説明される較正方法から利益を享受し得る。例えば、少なくとも部分的に重複する視野を伴う2つのセンサを有する任意のデバイスが、説明されるモデルを使用して較正され得る。2つのセンサは、デバイスの同じ側または異なる側に位置し得る。2つのセンサは、x、y、およびz次元のうちのいずれか、またはそれらの組み合わせで互いに配置され得る。追加のセンサが、システムに追加され、開示される方法を使用して較正され得る。追加のセンサは、最初の2つのセンサと重複する視野を有する必要はない。2つ、3つ、4つ、またはそれを上回る追加のセンサが、システムに追加され得、開示される方法を使用して較正され得ることを理解されたい。
【0106】
図16は、本発明のある実施形態による、簡略化されたコンピュータシステム1600を図示する。
図16に図示されるようなコンピュータシステム1600が、本明細書に説明されるようなARデバイス200等のデバイスの中に組み込まれ得る。
図16は、種々の実施形態によって提供される方法のステップのうちのいくつかまたは全てを実施し得るコンピュータシステム1600の一実施形態の概略図を提供する。
図16は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用され得ることに留意されたい。
図16は、したがって、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る状況を広く例証する。
【0107】
コンピュータシステム1600は、バス1605を介して電気的に結合され得るか、または、必要に応じて別様に通信し得るハードウェア要素を備えて示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ等の1つ以上の汎用プロセッサおよび/または1つ以上の特殊目的プロセッサを含む1つ以上のプロセッサ1610と、限定ではないが、マウス、キーボード、カメラ等を含み得る1つ以上の入力デバイス1615と、限定ではないが、ディスプレイデバイス、プリンタ等を含み得る1つ以上の出力デバイス1620とを含み得る。
【0108】
コンピュータシステム1600は、限定ではないが、ローカルおよび/またはネットワークアクセス可能記憶装置をさらに備え得、および/または、限定ではないが、プログラム可能、フラッシュ更新可能等であり得るディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ(「RAM」)等のソリッドステート記憶デバイス、および/または読み取り専用メモリ(「ROM」)を含み得る1つ以上の非一過性記憶デバイス1625を含み、および/または、それと通信し得る。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造等を含む任意の適切なデータ記憶を実装するように構成され得る。
【0109】
コンピュータシステム1600は、限定ではないが、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備等のモデム、ネットワークカード(無線または有線)、赤外線通信デバイス、無線通信デバイス、および/またはチップセットを含み得る通信サブシステム1630も含み得る。通信サブシステム1630は、1つ以上の入力および/または出力通信インターフェースを含み、データが、一例として挙げると、下で説明されるネットワーク等のネットワーク、他のコンピュータシステム、テレビ、および/または本明細書に説明される任意の他のデバイスと交換されることを可能にし得る。所望の機能性および/または他の実装懸念に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム1630を介して、画像および/または他の情報を通信し得る。他の実施形態において、ポータブル電子デバイス、例えば、第1の電子デバイスは、コンピュータシステム1600、例えば、電子デバイスの中に入力デバイス1615として組み込まれ得る。いくつかの実施形態において、コンピュータシステム1600は、上で説明されるようなRAMまたはROMデバイスを含み得る作業メモリ1635をさらに備えているであろう。
【0110】
コンピュータシステム1600は、種々の実施形態によって提供されるコンピュータプログラム備え得、および/または、本明細書に説明されるような他の実施形態によって提供される方法を実装し、および/または、システムを構成するように設計され得る1つ以上のアプリケーションプログラム1645等のオペレーティングシステム1640、デバイスドライバ、実行可能ライブラリ、および/または、他のコードを含む作業メモリ1635内に現在位置するように示されるソフトウェア要素を含むことができる。単に、一例として、
図16に関連して説明されるもの等の上で議論される方法に関して説明される1つ以上のプロシージャは、コンピュータおよび/またはコンピュータ内のプロセッサによって実行可能なコードおよび/または命令として実装され得、ある側面において、次いで、そのようなコードおよび/または命令は、説明される方法に従って1つ以上の動作を実施するように汎用コンピュータまたは他のデバイスを構成および/または適合するために使用されることができる。
【0111】
これらの命令および/またはコードの組は、上で説明される記憶デバイス1625等の非一過性コンピュータ読み取り可能な記憶媒体上に記憶され得る。ある場合、記憶媒体は、コンピュータシステム1600等のコンピュータシステム内に組み込まれ得る。他の実施形態において、記憶媒体は、コンピュータシステムと別個であり、例えば、コンパクトディスク等の取り外し可能媒体であり、および/または、記憶媒体が、汎用コンピュータをその上に記憶される命令/コードを用いてプログラム、構成、および/または適合するために使用され得るように、インストールパッケージ内に提供され得る。これらの命令は、コンピュータシステム1600によって実行可能である実行可能コードの形態をとり得、および/または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等のいずれかを使用したコンピュータシステム1600上へのコンパイルおよび/またはインストールに応じて、次いで、実行可能コードの形態をとるソースおよび/またはインストール可能コードの形態をとり得る。
【0112】
実質的変形例が、具体的要件に従って作製され得ることが、当業者に明白であろう。例えば、カスタマイズされたハードウェアも、使用され得、および/または、特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含むソフトウェア、または両方に実装され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続も、採用され得る。
【0113】
上で記述されるように、一側面において、いくつかの実施形態は、コンピュータシステム1600等のコンピュータシステムを採用し、技術の種々の実施形態による方法を実施し得る。一式の実施形態によると、そのような方法のプロシージャのうちのいくつかまたは全ては、プロセッサ1610が、オペレーティングシステム1640の中に組み込まれ得る1つ以上の命令の1つ以上のシーケンス、および/または作業メモリ1635に含まれるアプリケーションプログラム1645等の他のコードを実行することに応答して、コンピュータシステム1600によって実施される。そのような命令は、記憶デバイス1625のうちの1つ以上のもの等の別のコンピュータ読み取り可能な媒体から作業メモリ1635の中に読み取られ得る。単に、一例として、作業メモリ1635内に含まれる命令のシーケンスの実行は、プロセッサ1610に本明細書に説明される方法の1つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行され得る。
【0114】
用語「機械読み取り可能な媒体」および「コンピュータ読み取り可能な媒体」は、本明細書で使用されるように、機械を特定の方式で動作させるデータを提供することに関わる任意の媒体を指す。コンピュータシステム1600を使用して実装されるある実施形態において、種々のコンピュータ読み取り可能な媒体は、実行のための命令/コードをプロセッサ1610に提供することに関与し得、および/または、そのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装において、コンピュータ読み取り可能な媒体は、物理的および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとり得る。不揮発性媒体は、例えば、記憶デバイス1625等の光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ1635等の動的メモリを含む。
【0115】
一般的形態の物理的および/または有形コンピュータ読み取り可能な媒体は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、フラッシュ-EPROM、任意の他のメモリチップまたはカートリッジ、もしくはコンピュータが命令および/またはコードを読み取り得る任意の他の媒体を含む。
【0116】
種々の形態のコンピュータ読み取り可能な媒体が、実行のための1つ以上の命令の1つ以上のシーケンスをプロセッサ1610に搬送することに関与し得る。単に、一例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび/または光学ディスク上に置かれ得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム1600によって受信および/または実行されるように、伝送媒体を経由して命令を信号として送信し得る。
【0117】
通信サブシステム1630および/またはそのコンポーネントは、概して、信号を受信し、バス1605が、次いで、信号および/または信号によって搬送されるデータ、命令等を作業メモリ1635に搬送し得、それから、プロセッサ1610が、命令を読み出し、実行する。作業メモリ1635によって受信される命令は、随意に、プロセッサ1610による実行の前または後のいずれかで、非一過性記憶デバイス1625上に記憶され得る。
【0118】
上で議論される方法、システム、およびデバイスは、例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加し得る。例えば、代替構成において、方法は、説明されるものと異なる順序で実施され得、および/または、種々の段階が、追加され、省略され、および/または、組み合わせられ得る。ある構成に関して説明される特徴は、種々の他の構成においても組み合わせられ得る。構成の異なる側面および要素は、類似様式で組み合わせられ得る。技術も、進化し、したがって、要素の多くは、例であり、本開示の範囲または請求項を限定しない。
【0119】
具体的詳細が、実装を含む例示的構成の完全な理解を提供するために説明の中で挙げられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践され得る。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、利用可能性、または構成を限定しない。むしろ、構成の前述の説明は、当業者に説明される技法を実装するための有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われ得る。
【0120】
構成は、概略フローチャートまたはブロック図として描写されるプロセスとしても説明され得る。各々が連続したプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施され得る。加えて、動作の順序は、再配列され得る。プロセスは、図に含まれない追加のステップを有し得る。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ読み取り可能な媒体内に記憶され得る。プロセッサは、説明されるタスクを実施し得る。
【0121】
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用され得る。例えば、上記の要素は、より大きいシステムのコンポーネントであり得、他のルールが、技術の用途に優先するか、または、別様にそれを修正し得る。いくつかのステップも、上記の要素が検討される前、間、または後に行われ得る。故に、上記の説明は、請求項の範囲を束縛しない。
【0122】
本明細書および添付の請求項で使用されるように、単数形「a」、「an」、および「the」は、文脈が明確に別様に決定付けない限り、複数の参照を含む。したがって、例えば、「ユーザ」の言及は、複数のそのようなユーザを含み、「プロセッサ」の言及は、1つ以上のプロセッサおよび当業者に公知であるその均等物等の言及を含む。
【0123】
さらに、単語「comprise(~を備えている)」、「comprising(~を備えている)」、「contains(~を含む)」、「containing(~を含む)」、「include(~を含む)」、「including(~を含む)」、および「includes(~を含む)」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定することを意図しているが、それらは、1つ以上の他の特徴、整数、コンポーネント、ステップ、行為、もしくは群の存在または追加を除外しない。
【0124】
本明細書に説明される例および実施形態が例証目的のためだけのものであり、それに照らして、種々の修正または変更が、当業者に示唆され、本願の精神および権限ならびに添付される請求項の範囲に含まれるものであることも理解されたい。