(57)【要約】第１のセンサと第２のセンサとを有するデバイスを較正する方法は、第１のセンサと第２のセンサとを使用してセンサデータを捕捉することを含む。デバイスは、第１のセンサと第２のセンサとの間の空間関係をモデル化するための平行移動パラメータと回転パラメータとを含む較正プロファイルを維持する。方法は、第１の時間における較正プロファイルに関連付けられた較正レベルを決定することも含む。方法は、較正レベルに基づいて較正プロセスを実施することを決定することをさらに含む。方法は、較正された平行移動パラメータと較正された回転パラメータとのうちの１つまたは両方を生成することと、平行移動パラメータと回転パラメータとのうちの１つまたは両方を較正された平行移動パラメータと較正された回転パラメータとのうちの１つまたは両方と置換することとによって第１の時間において較正プロセスを実施することをさらに含む。
2021507393.tif 000002
【特許請求の範囲】
【請求項１】
第１のセンサと第２のセンサとを有するデバイスを較正する方法であって、前記方法は、
前記第１のセンサおよび前記第２のセンサを使用して、センサデータを捕捉することであって、前記デバイスは、前記第１のセンサと前記第２のセンサとの間の空間関係をモデル化するための較正プロファイルを維持し、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、ことと、
第１の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、較正プロセスを実施することを決定することと、
前記第１の時間において前記較正プロセスを実施することと
を含み、
前記第１の時間において前記較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータのうちの１つまたは両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの１つまたは両方と置換することと
による、方法。
【請求項２】
前記第１の時間において前記較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、請求項１に記載の方法。
【請求項３】
第２の時間における前記較正プロファイルに関連付けられた第２の較正レベルを決定することと、
前記第２の較正レベルに基づいて、第２の較正プロセスを実施することを決定することと、
前記第２の時間において前記第２の較正プロセスを実施することと
をさらに含み、
前記第２の時間において前記第２の較正プロセスを実施することは、
第２の較正された平行移動パラメータおよび第２の較正された回転パラメータを生成することと、
前記平行移動パラメータおよび前記回転パラメータを前記第２の較正された平行移動パラメータおよび前記第２の較正された回転パラメータと置換することと
により、
前記較正レベルは、第１の較正レベルであり、前記較正プロセスは、第１の較正プロセスであり、前記回転パラメータは、第１の較正された回転パラメータである、請求項２に記載の方法。
【請求項４】
前記第１の較正レベルに基づいて、前記第１の較正プロセスを実施することを決定することは、前記第１の較正レベルが較正閾値を上回ることを決定することを含み、
前記第２の較正レベルに基づいて、前記第２の較正プロセスを実施することを決定することは、前記第２の較正レベルが較正閾値未満であることを決定することを含む、請求項３に記載の方法。
【請求項５】
前記第１の時間において前記較正プロセスを実施することは、
前記較正された平行移動パラメータおよび前記較正された回転パラメータの両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータの両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータと置換することと
を含む、請求項１に記載の方法。
【請求項６】
前記センサデータは、
前記第１のセンサを使用して捕捉される１つ以上の第１の画像と、
前記第２のセンサを使用して捕捉される１つ以上の第２の画像と
を含む、請求項１に記載の方法。
【請求項７】
前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの１つまたは両方は、前記センサデータを使用して生成される、請求項１に記載の方法。
【請求項８】
前記較正レベルは、前記センサデータに基づいて決定される、請求項１に記載の方法。
【請求項９】
前記第１のセンサおよび前記第２のセンサと別個である追加のセンサを使用して、追加のセンサデータを捕捉することをさらに含み、前記較正レベルは、前記追加のセンサデータに基づいて決定される、請求項１に記載の方法。
【請求項１０】
デバイスであって、前記デバイスは、
センサデータを捕捉するように構成された第１のセンサおよび第２のセンサと、
前記第１のセンサと前記第２のセンサとの間の空間関係をモデル化する較正プロファイルを記憶するように構成されたメモリデバイスであって、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、メモリデバイスと、
前記第１のセンサ、前記第２のセンサ、および前記メモリデバイスに結合されたプロセッサと
を備え、
前記プロセッサは、
第１の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、較正プロセスを実施することを決定することと、
前記第１の時間において前記較正プロセスを実施することと
を含む動作を実施するように構成され、
前記第１の時間において前記較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータのうちの１つまたは両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの１つまたは両方と置換することと
による、デバイス。
【請求項１１】
前記第１の時間において前記較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、請求項１０に記載のデバイス。
【請求項１２】
前記動作は、
第２の時間における前記較正プロファイルに関連付けられた第２の較正レベルを決定することと、
前記第２の較正レベルに基づいて、第２の較正プロセスを実施することを決定することと、
前記第２の時間において前記第２の較正プロセスを実施することと
をさらに含み、
前記第２の時間において前記第２の較正プロセスを実施することは、
第２の較正された平行移動パラメータおよび第２の較正された回転パラメータを生成することと、
前記平行移動パラメータおよび前記回転パラメータを前記第２の較正された平行移動パラメータおよび前記第２の較正された回転パラメータと置換することと
により、
前記較正レベルは、第１の較正レベルであり、前記較正プロセスは、第１の較正プロセスであり、前記回転パラメータは、第１の較正された回転パラメータである、請求項１１に記載のデバイス。
【請求項１３】
前記第１の較正レベルに基づいて、前記第１の較正プロセスを実施することを決定することは、前記第１の較正レベルが較正閾値を上回ることを決定することを含み、
前記第２の較正レベルに基づいて、前記第２の較正プロセスを実施することを決定することは、前記第２の較正レベルが較正閾値未満であることを決定することを含む、請求項１２に記載のデバイス。
【請求項１４】
前記第１の時間において前記較正プロセスを実施することは、
前記較正された平行移動パラメータおよび前記較正された回転パラメータの両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータの両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータと置換することと
を含む、請求項１０に記載のデバイス。
【請求項１５】
前記センサデータは、
前記第１のセンサを使用して捕捉される１つ以上の第１の画像と、
前記第２のセンサを使用して捕捉される１つ以上の第２の画像と
を含む、請求項１０に記載のデバイス。
【請求項１６】
前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの１つまたは両方は、前記センサデータを使用して生成される、請求項１０に記載のデバイス。
【請求項１７】
前記較正レベルは、前記センサデータに基づいて決定される、請求項１０に記載のデバイス。
【請求項１８】
追加のセンサデータを捕捉するように構成される追加のセンサをさらに備え、前記追加のセンサは、前記第１のセンサおよび前記第２のセンサと別個であり、前記較正レベルは、前記追加のセンサデータに基づいて決定される、請求項１０に記載のデバイス。
【請求項１９】
第１のセンサと第２のセンサとを有するデバイスを較正するための非一過性コンピュータ読み取り可能な媒体であって、前記非一過性コンピュータ読み取り可能な媒体は、命令を備え、前記命令は、プロセッサによって実行されると、
前記第１のセンサおよび前記第２のセンサを使用して、センサデータを捕捉することであって、前記デバイスは、前記第１のセンサと前記第２のセンサとの間の空間関係をモデル化するための較正プロファイルを維持し、前記較正プロファイルは、平行移動パラメータと回転パラメータとを含む、ことと、
第１の時間における前記較正プロファイルに関連付けられた較正レベルを決定することと、
前記較正レベルに基づいて、較正プロセスを実施することを決定することと、
前記第１の時間において前記較正プロセスを実施することと
を含む動作を前記プロセッサに実施させ、
前記第１の時間において前記較正プロセスを実施することは、
較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方を生成することと、
前記平行移動パラメータおよび前記回転パラメータのうちの１つまたは両方を前記較正された平行移動パラメータおよび前記較正された回転パラメータのうちの１つまたは両方と置換することと
による、非一過性コンピュータ読み取り可能な媒体。
【請求項２０】
前記第１の時間において前記較正プロセスを実施することは、前記回転パラメータのみを前記較正された回転パラメータと置換することを含む、請求項１９に記載の非一過性コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、その開示全体が、本明細書に完全に記載された場合のように、あらゆる目的で参照することによって本明細書に組み込まれる「ＭＥＴＨＯＤ  ＦＯＲ  ＣＡＬＩＢＲＡＴＩＮＧ  ＡＮ  ＡＵＧＭＥＮＴＥＤ  ＲＥＡＬＩＴＹ  ＤＥＶＩＣＥ」と題された２０１７年１２月２１日に出願された米国仮特許出願第６２／６０９，２４２号の優先権を主張する。
【背景技術】
【０００２】
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える様式、またはそのように知覚され得る様式で視認者に提示される。仮想現実または「ＶＲ」シナリオは、典型的に、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実または「ＡＲ」シナリオは、典型的に、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
【０００３】
これらのディスプレイ技術において成された進歩にもかかわらず、当技術分野において、拡張現実システム、特に、ディスプレイシステムに関連する改良された方法、システム、およびデバイスの必要性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示は、概して、拡張現実（ＡＲ）デバイスの較正に関連する方法およびシステムに関する。より具体的に、本開示の実施形態は、較正プロファイルの１つ以上のパラメータを調節することによって、デバイスが電源を入れられ、使用時の間にＡＲデバイスを較正する方法およびシステムを提供する。本発明は、ＡＲデバイスを参照して説明されるが、本開示は、コンピュータビジョンおよび画像表示システムにおける種々の用途に適用可能である。
【０００５】
本発明の第１の側面によると、第１のセンサと第２のセンサとを有するデバイスを較正する方法が、提供される。方法は、第１のセンサおよび第２のセンサを使用して、センサデータを捕捉することを含む。いくつかの実施形態において、デバイスは、第１のセンサと第２のセンサとの間の空間関係をモデル化するための較正プロファイルを維持する。いくつかの実施形態において、較正プロファイルは、平行移動パラメータと回転パラメータとを含む。方法は、第１の時間における較正プロファイルに関連付けられた較正レベルを決定することも含み得る。方法は、較正レベルに基づいて、較正プロセスを実施するかどうかを決定することをさらに含み得る。方法は、較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方を生成することと、平行移動パラメータおよび回転パラメータのうちの１つまたは両方を較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方と置換することとによって、第１の時間において較正プロセスを実施することをさらに含み得る。
【０００６】
いくつかの実施形態において、第１の時間において較正プロセスを実施することは、回転パラメータのみを較正された回転パラメータと置換することを含む。いくつかの実施形態において、第１の時間において較正プロセスを実施することは、較正された平行移動パラメータおよび較正された回転パラメータの両方を生成することと、平行移動パラメータおよび回転パラメータの両方を、較正された平行移動パラメータおよび較正された回転パラメータと置換することとを含む。いくつかの実施形態において、方法は、第２の時間における較正プロファイルに関連付けられた第２の較正レベルを決定することと、第２の較正レベルに基づいて、第２の較正プロセスを実施することを決定することと、第２の較正された平行移動パラメータおよび第２の較正された回転パラメータを生成することと、平行移動パラメータおよび回転パラメータを第２の較正された平行移動パラメータおよび第２の較正された回転パラメータと置換することとによって、第２の時間において第２の較正プロセスを実施することとをさらに含む。いくつかの実施形態において、較正レベルは、第１の較正レベルであり、較正プロセスは、第１の較正プロセスであり、回転パラメータは、第１の較正された回転パラメータである。
【０００７】
いくつかの実施形態において、センサデータは、第１のセンサを使用して捕捉される１つ以上の第１の画像と、第２のセンサを使用して捕捉される１つ以上の第２の画像とを含む。いくつかの実施形態において、較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方は、センサデータを使用して生成される。いくつかの実施形態において、較正レベルは、センサデータに基づいて決定される。いくつかの実施形態において、方法は、第１のセンサおよび第２のセンサと別個である追加のセンサを使用して、追加のセンサデータを捕捉することをさらに含む。いくつかの実施形態において、較正レベルは、追加のセンサデータに基づいて決定される。いくつかの実施形態において、第１の較正レベルに基づいて、第１の較正プロセスを実施することを決定することは、第１の較正レベルが較正閾値を上回ることを決定することを含み、第２の較正レベルに基づいて、第２の較正プロセスを実施することを決定することは、第２の較正レベルが較正閾値未満であることを決定することを含む。
【０００８】
本発明の第２の側面によると、デバイスが、提供される。デバイスは、センサデータを捕捉するように構成された第１のセンサおよび第２のセンサを含み得る。デバイスは、第１のセンサと第２のセンサとの間の空間関係をモデル化する較正プロファイルを記憶するように構成されたメモリデバイスも含み得、較正プロファイルは、平行移動パラメータと回転パラメータとを含む。デバイスは、第１のセンサ、第２のセンサ、およびメモリデバイスに結合されたプロセッサをさらに含み得る。いくつかの実施形態において、プロセッサは、第１の時間における較正プロファイルに関連付けられた較正レベルを決定することを含む動作を実施するように構成される。動作は、較正レベルに基づいて、較正プロセスを実施することを決定することも含み得る。動作は、較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方を生成することと、平行移動パラメータおよび回転パラメータのうちの１つまたは両方を較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方と置換することとによって、第１の時間において較正プロセスを実施することをさらに含み得る。
【０００９】
いくつかの実施形態において、第１の時間において較正プロセスを実施することは、回転パラメータのみを較正された回転パラメータと置換することを含む。いくつかの実施形態において、第１の時間において較正プロセスを実施することは、較正された平行移動パラメータおよび較正された回転パラメータの両方を生成することと、平行移動パラメータおよび回転パラメータの両方を較正された平行移動パラメータおよび較正された回転パラメータと置換することとを含む。いくつかの実施形態において、動作は、第２の時間における較正プロファイルに関連付けられた第２の較正レベルを決定することと、第２の較正レベルに基づいて、第２の較正プロセスを実施することを決定することと、第２の較正された平行移動パラメータおよび第２の較正された回転パラメータを生成することと、平行移動パラメータおよび回転パラメータを第２の較正された平行移動パラメータおよび第２の較正された回転パラメータと置換することとによって、第２の時間において第２の較正プロセスを実施することとをさらに含む。いくつかの実施形態において、較正レベルは、第１の較正レベルであり、較正プロセスは、第１の較正プロセスであり、回転パラメータは、第１の較正された回転パラメータである。
【００１０】
いくつかの実施形態において、センサデータは、第１のセンサを使用して捕捉される１つ以上の第１の画像と、第２のセンサを使用して捕捉される１つ以上の第２の画像とを含む。いくつかの実施形態において、較正された平行移動パラメータおよび較正された回転パラメータのうちの１つまたは両方は、センサデータを使用して生成される。いくつかの実施形態において、較正レベルは、センサデータに基づいて決定される。いくつかの実施形態において、デバイスは、追加のセンサデータを捕捉するように構成される追加のセンサをさらに含む。いくつかの実施形態において、追加のセンサは、第１のセンサおよび第２のセンサと別個である。いくつかの実施形態において、較正レベルは、追加のセンサデータに基づいて決定される。いくつかの実施形態において、第１の較正レベルに基づいて、第１の較正プロセスを実施することを決定することは、第１の較正レベルが較正閾値を上回ることを決定することを含み、第２の較正レベルに基づいて、第２の較正プロセスを実施することを決定することは、第２の較正レベルが較正閾値未満であることを決定することを含む。
【００１１】
本発明の第３の側面によると、第１のセンサと第２のセンサとを有するデバイスを較正するための非一過性コンピュータ読み取り可能な媒体が、提供される。非一過性コンピュータ読み取り可能な媒体は、プロセッサによって実行されると、プロセッサに動作を実施させる、命令を含み得る。動作は、本発明の第１の側面に従って説明される方法を含み得る。
【００１２】
本発明の第４の側面によると、拡張現実デバイスを較正する方法が、提供される。方法は、少なくとも１つの平行移動パラメータと、少なくとも１つの回転パラメータとを含む較正プロファイルにアクセスすることを含み得る。方法は、拡張現実デバイスの第１のカメラを使用して、第１の視野の第１のカメラから１つ以上の画像を捕捉することも含み得る。方法は、拡張現実デバイスの第２のカメラを使用して、第２の視野の第２のカメラから１つ以上の画像を捕捉することをさらに含み得る。いくつかの実施形態において、第２の視野は、第１の視野に少なくとも部分的に重複する。方法は、第１のカメラからの１つ以上の画像のうちの少なくとも１つを、第２のカメラからの１つ以上の画像のうちの少なくとも１つと比較することをさらに含み得る。方法は、比較に基づいて、第２のカメラの第２の位置に関連して第１のカメラの第１の位置の間の変形量を決定することをさらに含み得る。方法は、変形量が変形閾値を上回るかどうかを決定することをさらに含み得る。方法は、変形量が変形閾値を上回ることを決定することに応答して、第１のカメラからの１つ以上の画像および第２のカメラからの１つ以上の画像に存在する複数の合致特徴を識別することと、第１のカメラからの１つ以上の画像および第２のカメラからの１つ以上の画像を複数のビンに分けることと、複数のビンのうちの各ビンのために、複数のビンのうちの各ビンに位置する複数の合致特徴の数量を決定することと、複数のビンのうちの各ビンのために、数量が特徴閾値を上回ることを決定することと、第１の較正された回転パラメータの関数である第１の誤差方程式を最小化し、第１の較正された回転パラメータを生成することによって、第１の較正プロセスを実施することと、較正プロファイル内の少なくとも１つの回転パラメータを第１の較正された回転パラメータと置換することとをさらに含み得る。
【００１３】
いくつかの実施形態において、方法は、変形量が変形閾値未満であることを決定することと、変形量が変形閾値未満であることを決定することに応答して、第１のカメラと、第２のカメラとを含む拡張現実デバイスの複数のカメラを使用して、複数のマップ点を捕捉することと、疎マップであって、疎マップは、第１のカメラおよび第２のカメラの複数のカメラ姿勢位置から見られるようなマップ点の群を含む、疎マップを生成することと、疎マップのマップ点の群を整列させることと、疎マップに基づいて、オンライン較正トリガが満たされていることを決定することと、第２の較正された平行移動パラメータおよび第２の較正された回転パラメータの関数である第２の誤差方程式を最小化し、第２の較正された平行移動パラメータおよび第２の較正された回転パラメータを生成することによって、第２の較正プロセスを実施することと、較正プロファイル内の少なくとも１つの回転パラメータを第２の較正された回転パラメータと、較正プロファイル内の少なくとも１つの平行移動パラメータを第２の較正された平行移動パラメータとを置換することとをさらに含む。いくつかの実施形態において、変形量が変形閾値を上回るかどうかを決定することは、第１の時間に起こり、変形量が変形閾値未満であるかどうかを決定することは、第２の時間に起こる。いくつかの実施形態において、第１の時間は、第２の時間に先行する。いくつかの実施形態において、第２の時間は、第１の時間に先行する。いくつかの実施形態において、第１の時間は、第２の時間と同時である。いくつかの実施形態において、第１の時間は、第２の時間と並行する。
【００１４】
本発明の第５の側面によると、平行移動パラメータと回転パラメータとを含む較正プロファイルを有する拡張現実デバイスが、提供される。拡張現実デバイスは、１つ以上の第１の画像を捕捉するように構成された第１のカメラを含み得る。拡張現実デバイスは、１つ以上の第２の画像を捕捉するように構成された第２のカメラも含み得る。拡張現実デバイスは、第１のカメラおよび第２のカメラに結合されるプロセッサをさらに含み得る。いくつかの実施形態において、プロセッサは、第２のカメラに関連する第１のカメラの変形量に基づいて、拡張現実デバイスが第１の時間に変形させられたことを決定することと、拡張現実デバイスが第１の時間に変形させられたことを決定することに応答して、第１の較正プロセスを実施し、第１の較正された回転パラメータを生成することと、較正プロファイル内の回転パラメータを第１の較正された回転パラメータと置換することとを含む動作を実施するように構成される。
【００１５】
多数の利益が、従来の技法より本発明によって達成される。例えば、従来の技法は、再較正のためにＡＲデバイスを工場に繰り返し返却するようにユーザに要求し得る。工場較正は、ＡＲデバイスのユーザのために時間がかかり、高価である精密な機器を使用してデバイス上で物理的測定を行うことを含み得る。対照的に、本発明は、ＡＲデバイスが電源を入れられ、使用時の間の較正を可能にし、デバイスの特定の用途に基づいてデバイスに加えられる特定の歪みに応答するリアルタイム較正を提供する。例えば、ＡＲデバイスがより暖かい温度において使用されるとき、熱は、デバイスを部分的に反らせ、または膨張させ、それによって、任意の工場較正を現在の使用にとって不正確にし得る。さらに、本発明による較正が、捕捉されたカメラ画像に基づき得るので、部分的に捕捉されたカメラ画像に基づいて生成される仮想画像のより良好な整列を提供することによって、ＡＲデバイスの変形が起こった場合、工場較正と比較して、より良好な全体的性能を提供し得る。本明細書に提示される較正の方法は、ＡＲデバイスがある閾値を超えて変形させられるとき、回転補正のみが較正プロファイルに行われるという点でも有益である。そのような高変形状況下で、平行移動補正は、極めて不規則であることが見出され、ＡＲデバイスの不良な性能をもたらし得る。故に、較正の方法は、２つの異なるプロセス経路のうちの１つがＡＲデバイスの変形量に基づいて選択される「ルーティング」様機能性を提供する。本開示の他の利益も、当業者に容易に明白であろう。
【図面の簡単な説明】
【００１６】
【図１】図１は、本明細書に説明されるある実施形態による、ウェアラブルＡＲデバイスを通して視認されるような拡張現実（ＡＲ）場面を図示する図面である。
【００１７】
【図２】図２は、本発明のいくつかの実施形態による、ウェアラブルＡＲデバイスを図示するブロック図である。
【００１８】
【図３】図３は、本発明のいくつかの実施形態による、ＡＲの較正モデルを図示する。
【００１９】
【図４】図４Ａ、４Ｂ、および４Ｃは、本発明のいくつかの実施形態による、較正プロファイルに関連付けられた較正レベルを決定するための種々のステップを図示する。
【００２０】
【図５】図５Ａ、５Ｂ、および５Ｃは、本発明のいくつかの実施形態による、較正プロファイルに関連付けられた較正レベルを決定するための種々のステップを図示する。
【００２１】
【図６】図６は、本発明のいくつかの実施形態による、２つの画像に基づく変形量の例示的計算を図示する。
【００２２】
【図７】図７は、本発明のいくつかの実施形態による、２つの画像に基づく変形量の例示的計算を図示する。
【００２３】
【図８】図８は、本発明のいくつかの実施形態による、ＡＲデバイスを較正する方法を図示する。
【００２４】
【図９】図９は、本発明のいくつかの実施形態による、ＡＲデバイスを較正する方法を図示する。
【００２５】
【図１０】図１０は、本発明のいくつかの実施形態による、ＡＲデバイスを較正する方法を図示する。
【００２６】
【図１１】図１１は、本発明のいくつかの実施形態による、ＡＲデバイスを較正する方法を図示する。
【００２７】
【図１２】図１２は、本発明のいくつかの実施形態による、対の画像間の合致特徴を検出するための種々のステップを図示する。
【００２８】
【図１３】図１３は、本発明のいくつかの実施形態による、対の画像をビンに分けるため、およびビンの各々に位置する合致特徴の数量を決定するための種々のステップを図示する。
【００２９】
【図１４Ａ】図１４Ａおよび１４Ｂは、本発明のいくつかの実施形態による、画像を３次元空間内の複数のビンに分けるための種々のステップを図示する。
【図１４Ｂ】図１４Ａおよび１４Ｂは、本発明のいくつかの実施形態による、画像を３次元空間内の複数のビンに分けるための種々のステップを図示する。
【００３０】
【図１５】図１５は、本発明のいくつかの実施形態による、バンドル調節を実施するための種々のステップを図示する。
【００３１】
【図１６】図１６は、本発明のいくつかの実施形態による、簡略化されたコンピュータシステムを図示する。
【発明を実施するための形態】
【００３２】
光学デバイス、特に、頭部搭載型ディスプレイを伴うそれらは、工場にある間に極めて精巧な器具を用いて較正され得るが、使用中、そのようなデバイスは、熱、使用、および種々の形態の磨耗および断裂に起因して急速に変形させられ、工場較正が不正確になることを引き起こし得る。１つの可能な解決策は、ユーザが再較正のために光学デバイスを工場に繰り返し返却することである。そのような解決策の明白な費用を回避するために、本明細書に説明される実施形態は、デバイスが使用中である間に正確かつ堅調な実行時較正を可能にし、工場再較正の必要性を排除する。実施形態は、デバイスの現在の較正レベルを見て、実施すべき較正プロセスの２つのタイプのうちの１つを決定する。回転補正に限定される第１の較正プロセスが、デバイスが著しく較正外であるときに実施され、回転および平行移動補正を含む第２の較正が、わずかな誤り較正下で実施される。本明細書に説明される実施形態は、光学デバイスのためのみならず、平行移動成分および回転成分によってモデル化される空間関係を伴う２つのセンサを有する任意のデバイスのためにも有用である。
【００３３】
図１は、本明細書に説明されるある実施形態による、ウェアラブルＡＲデバイスを通して視認されるような拡張現実（ＡＲ）場面を図示する図面である。図１を参照すると、拡張現実場面１００が、描写され、ＡＲ技術のユーザは、人々、木々、背景における建物、およびコンクリートプラットフォーム１２０を特徴とする実世界公園状設定１０６を見ている。これらのアイテムに加え、ＡＲ技術のユーザは、実世界プラットフォーム１２０上に立っているロボット像１１０と、マルハナバチの擬人化のように見える飛んでいる漫画状アバタキャラクタ１０２とを「見ている」と知覚するが、これらの要素（キャラクタ１０２および像１１０）は、実世界には存在しない。ヒト視知覚および神経系が非常に複雑であることに起因して、他の仮想または実世界画像要素の中への仮想画像要素の快適であり、自然のように感じる豊かな提示を促進する仮想現実（ＶＲ）またはＡＲ技術を生産することは、困難である。
【００３４】
図２は、本発明のいくつかの実施形態による、ウェアラブルＡＲデバイス２００の概略図を図示する。ＡＲデバイス２００は、左光学スタックの一部としての左アイピース２０２Ａと、右光学スタックの一部としての右アイピース２０２Ｂとを含み得る。いくつかの実施形態において、ＡＲデバイス２００は、限定ではないが、左アイピース２０２Ａに直接、またはその近傍に取り付けられた左の正面に向いた世界センサ２０６Ａと、右アイピース２０２Ｂに直接、またはその近傍に取り付けられた右の正面に向いた世界センサ２０６Ｂと、左アイピース２０２Ａに直接、またはその近傍に取り付けられた左の側面に向いた世界センサ２０６Ｃと、右アイピース２０２Ｂに直接、またはその近傍に取り付けられた右の側面に向いた世界センサセンサ２０６Ｄとを含む１つ以上のセンサを含む。センサ２０６のうちの１つ以上のものの位置は、図示される実施形態から変動し得る種々の後方に向いた、前方に向いた、上向き、下向き、内向き、および／または外向きの構成を含み得る。センサ２０６Ａ、２０６Ｂ、２０６Ｃ、２０６Ｄは、それぞれ、センサデータ２２０Ａ、２２０Ｂ、２２０Ｃ、２２０Ｄを生成、検出、および／または捕捉するように構成され得、それらは、運動、光、温度、音、湿度、振動、圧力等のＡＲデバイス２００を包囲する環境の物理的特性に対応する電子データであり得る。
【００３５】
いくつかの実施形態において、センサ２０６のうちの１つ以上のものは、カメラであり得、センサデータ２２０のうちの１つ以上のものは、カメラ画像であり得る。例えば、センサデータ２２０は、単一の画像、一対の画像、画像のストリームを備えたビデオ、対の画像のストリームを備えたビデオ等を含み得る。いくつかの実施形態において、センサ２０６のうちの１つ以上のものは、深度センサであり得、センサデータ２２０のうちの１つ以上のものは、深度画像／マップであり得る。例えば、センサ２０６のうちの１つは、光パルスを伝送し、標的物体を照明するように、かつ受信された光学信号に基づいて標的物体までの距離を決定するように構成された飛行時間撮像システムを含み得る。そのようなシステムの一例は、２０１７年９月２９日に出願された「ＲＥＡＬ  ＴＩＭＥ  ＣＡＬＩＢＲＡＴＩＯＮ  ＦＯＲ  ＴＩＭＥ−ＯＦ−ＦＬＩＧＨＴ  ＤＥＰＴＨ  ＭＥＡＳＵＲＥＭＥＮＴ」と題された米国特許出願第１５／７２１，６４０号（その開示全体は、本明細書に完全に記載された場合のように、あらゆる目的で参照することによって本明細書に組み込まれる）を参照して説明される。センサ２０６の追加の例は、任意のタイプの運動センサ、深度センサ、光センサ、機械センサ、温度センサ、音センサ、湿度センサ、振動センサ、圧力センサ等を含み得る。
【００３６】
ＡＲデバイス２００は、センサ２０６と別個である追加のセンサ２０７を含み得る。追加のセンサ２０７は、追加のセンサデータ２２１を生成、検出、および／または捕捉するように構成され得る。追加のセンサ２０７は、センサ２０６を参照して上で説明される任意のタイプのセンサであり得、追加のセンサデータ２２１は、センサデータ２２０を参照して上で説明される任意のタイプのセンサデータであり得る。いくつかの実施形態において、追加のセンサデータ２２１は、下でさらに詳細に説明されるように、センサ２０６に関連付けられた（すなわち、較正プロファイル２５４に関連付けられた）較正レベルを決定するために使用される。一例において、追加のセンサ２０７は、ＡＲデバイス２００に対する歪みを決定するためのＡＲデバイス２００の一部の上に位置付けられた（例えば、センサ２０６のうちの２つの間に延びている）歪みゲージである。別の例において、追加のセンサ２０７は、ＡＲデバイス２００のフレームの一部の曲がり、角度、ねじれ等を測定するためのＡＲデバイス２００のフレームに沿って（例えば、アイピース２０２の間の中心点に）位置付けられた機械センサである。さらに、追加のセンサ２０７の例は、「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＤＩＳＰＬＡＹ  ＢＩＮＯＣＵＬＡＲ  ＤＥＦＯＲＭＡＴＩＯＮ  ＣＯＭＰＥＮＳＡＴＩＯＮ」と題された２０１８年７月１３日に出願された米国仮特許出願第６２／６９８，０１５号（その開示全体は、本明細書に完全に記載された場合のように、あらゆる目的で参照することによって本明細書に組み込まれる）において提供される。
【００３７】
いくつかの実施形態において、ＡＲデバイス２００は、左アイピース２０２Ａに光学的に連結された左プロジェクタ２１４Ａ、および右アイピース２０２Ｂに光学的に連結された右プロジェクタ２１４Ｂ等の１つ以上の画像投影デバイスを含む。プロジェクタ２１４は、ユーザが特定の距離に位置付けられているように仮想コンテンツを知覚する様式で、仮想コンテンツに関連付けられた光をアイピース２０２の１つ以上の導波管上に注入し得る。アイピース２０２Ａ、２０２Ｂは、それぞれ、プロジェクタ２１４Ａ、２１４Ｂから受け取られる光を向けるように、および外部結合するように構成された透明または半透明な導波管を備え得る。動作中、処理モジュール２５０は、左仮想画像光２２２Ａを左アイピース２０２Ａ上に出力することを左プロジェクタ２１４Ａに行わせ、右仮想画像光２２２Ｂを右アイピース２０２Ｂ上に出力することを右プロジェクタ２１４Ｂに行わせ得る。いくつかの実施形態において、アイピース２０２の各々は、異なる色および／または異なる深度平面に対応する複数の導波管を備え得る。
【００３８】
ＡＲデバイス２００のコンポーネントのうちのいくつかまたは全ては、投影された画像がユーザによって視認され得るように、頭部搭載型であり得る。１つの特定の実装において、図２に示されるＡＲデバイス２００のコンポーネントの全ては、ユーザによって装着可能な単一のデバイス（例えば、単一のヘッドセット）上に搭載される。別の実装において、処理モジュール２５０の１つ以上のコンポーネントは、ＡＲデバイス２００の他のコンポーネントから物理的に離れており、１つ以上の有線および／または無線接続によってそれらに通信可能に結合される。例えば、処理モジュール２５０は、ＡＲデバイス２００の頭部搭載型部分上のローカルモジュールと、ローカルモジュールから物理的に離れており、それに通信可能に結合された遠隔モジュールとを含み得る。遠隔モジュールは、フレームに固定して取り付けられた構成、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられた構成、ヘッドホンに組み込まれる構成、または別様にユーザに除去可能に取り付けられた構成（例えば、リュック式構成において、ベルト結合式構成において等）等の種々の構成で搭載され得る。
【００３９】
処理モジュール２５０は、プロセッサ２５２と、不揮発性メモリ（例えば、フラッシュメモリ）等の関連付けられたデジタルメモリとを含み得、それらの両方は、センサデータ２２０等のデータの処理、キャッシュ、および記憶を補助するために利用され得る。例えば、処理モジュール２５０は、左の正面に向いたカメラ（すなわち、センサ２０６Ａ）から左正面画像（すなわち、センサデータ２２０Ａ）を受信し、右の正面に向いた世界カメラ（すなわち、センサ２０６Ｂ）から右正面画像（すなわち、センサデータ２２０Ｂ）を受信し、左の側面に向いた世界カメラ（すなわち、センサ２０６Ｃ）から左側面画像（すなわち、センサデータ２２０Ｃ）を受信し、右の側面に向いた世界カメラ（すなわち、センサ２０６Ｄ）から右側面画像（すなわち、センサデータ２２０Ｄ）を受信し得る。センサデータ２２０は、ＡＲデバイス２００が電源を入れられている間に周期的に生成され、処理モジュール２５０に送信され得るか、または、処理モジュール２５０によってカメラのうちの１つ以上のものに送信される命令に応答して、生成され得る。別の例として、処理モジュール２５０は、周囲光センサ（すなわち、センサ２０６）から周囲光情報（すなわち、センサデータ２２０）を受信し得る。
【００４０】
カメラとして実装されたとき、センサ２０６Ａ、２０６Ｂは、それぞれ、ユーザの左右の眼の視野と実質的に重複した画像を捕捉するように位置付けられ得る。故に、センサ２０６の設置は、ユーザの眼の近傍にあり得るが、ユーザの視野を覆い隠すほど近傍ではない。代替として、または加えて、センサ２０６Ａ、２０６Ｂは、それぞれ、仮想画像光２２２Ａ、２２２Ｂの内部結合場所と実質的に整列するように位置付けられ得る。カメラとして実装されたとき、センサ２０６Ｃ、２０６Ｄは、例えば、ユーザの周辺視野内またはユーザの周辺視野外のユーザの側面に対する画像を捕捉するように位置付けられ得る。センサ２０６Ｃ、２０６Ｄを使用して捕捉される画像は、必ずしも、センサ２０６Ａ、２０６Ｂを使用して捕捉される画像と重複する必要はない。
【００４１】
ＡＲデバイス２００の動作中、処理モジュール２５０は、較正プロファイル２５４からの１つ以上のパラメータを使用し、センサデータ２２０が正しく分析され得るように、センサ２０６間の間隔および向きの差異を考慮し得る。較正プロファイル２５４は、加えて、ユーザが仮想画像要素を快適に適切な整列で視認し得るように、アイピース２０２間の間隔および向きの差異を考慮するように、仮想画像光２２２を生成するとき、使用され得る。これを遂行するために、プロセッサ２５２は、較正プロファイル２５４に繰り返しアクセスし、使用されているパラメータが、利用可能である最も更新された正確なパラメータを反映することを確実にし得る。いくつかの事例において、プロセッサ２５２は、較正プロセスが実施された直後、較正プロファイル２５４からパラメータを読み出し得る。１つの特定の実装において、較正プロファイル２５４は、不揮発性メモリ内に記憶され、ＡＲデバイス２００の電源を入れると、プロセッサ２５２が最後に使用されたパラメータを読み出し得る。代替として、ＡＲデバイス２００が、例えば、内蔵電子コンポーネントを起動することによって引き起こされるデバイスの熱膨張に起因する著しい変形を有していないとき、ＡＲデバイス２００の始動時、記憶された工場較正にアクセスすることが望ましくあり得る。
【００４２】
いくつかの実施形態において、較正プロファイル２５４は、センサ２０６のうちの第１のセンサと第２のセンサ（例えば、センサ２０６Ａ、２０６Ｂ）との間の空間関係をモデル化するように、プロセッサ２５２によって維持される。本発明のいくつかの実施形態によると、較正プロファイル２５４は、第１のセンサと第２のセンサとの間の相対距離に対応する平行移動パラメータＴと、第１のセンサと第２のセンサとの間の相対角度向きに対応する回転パラメータＲとを含む。平行移動パラメータＴおよび回転パラメータＲの各々は、広範囲のデータタイプを採用し得る。例えば、平行移動パラメータＴは、単一数量（例えば、０．１メートル）、１次元行列（例えば、［０．１；０；０］メートル）、多次元行列（例えば、［［０．１；０；０］［０；０；０］［０；０；０］］メートル）、アレイ、ベクトル、または単一もしくは複数の数量の任意の他の可能な表現であり得る。同様に、回転パラメータＲは、単一数量（例えば、０．５度）、１次元行列（例えば、［０．５；０；０］度）、多次元行列（例えば、［［０．５；０；０］［０；０；０］［０；０；０］］度）、アレイ、ベクトル、または単一もしくは複数の数量の任意の他の可能な表現であり得る。
【００４３】
理想的条件下、平行移動パラメータＴおよび回転パラメータＲは、ＡＲデバイス２００の製造の直後、工場内で較正され、デバイスの耐用期間の全体を通して第１のセンサと第２のセンサとの間の空間関係の正確な指示のままである。実際の条件下、ＡＲデバイス２００は、熱、使用、および種々の形態の磨耗および断裂に起因して変形させられ、平行移動パラメータＴおよび回転パラメータＲの工場較正値が不正確になることを引き起こす。１つの可能な解決策は、ユーザが再較正のためにＡＲデバイス２００を工場に繰り返し返却することである。代替として、実行時較正方法が、ＡＲデバイス２００が電源を入れられ、ユーザによって使用時である間、平行移動パラメータＴおよび回転パラメータＲを較正するために採用され得る。
【００４４】
いくつかの事例において、較正プロファイル２５４に関連付けられた較正レベルが、周期的に決定される。較正レベルに基づいて、処理モジュール２５０は、いくつかのタイプの較正のうちの１つが起こるようにし得る。例えば、較正レベルが第１の較正閾値を下回るとき、処理モジュール２５０は、第１の較正プロセスが実施されるようにし、較正レベルが第１の較正閾値を上回るとき、処理モジュール２５０は、第２の較正プロセスが実施されるようにし得る。いくつかの事例において、いずれの較正プロセスも、較正レベルが第１の較正閾値および第２の較正閾値を上回り、較正プロファイル２５４が正確であることを示すとき、実施され得ない。本明細書で使用されるように、用語「較正レベル」は、第１のセンサと第２のセンサ（例えば、センサ２０６Ａ、２０６Ｂ）との間の実際の空間関係をモデル化することにおける較正プロファイル２５４の正確度のレベルに対応し得る。故に、より高い較正レベルは、実際の空間関係のより正確なモデル化に対応し得、より低い較正レベルは、実際の空間関係のあまり正確ではないモデル化に対応し得る。ＡＲデバイス２００の較正に関連して較正レベルを監視するプロセスは、下でさらに詳細に説明される。
【００４５】
図３は、本発明のいくつかの実施形態による、ＡＲデバイス２００の較正モデル３００を図示する。較正モデル３００において、センサ２０６の各々は、単一の点を占有するようなピンホールカメラモデルを使用して表され得、センサ２０６Ｃは、既知の平行移動および回転（変換［ＴＬ｜ＲＬ］によってモデル化される）によってセンサ２０６Ａからオフセットされ、センサ２０６Ｄは、既知の平行移動および回転（変換［ＴＲ｜ＲＲ］によってモデル化される）によってセンサ２０６Ｂからオフセットされている。センサ２０６Ａ、２０６Ｂ間の中心点３０２が、世界原点に対する環境内のＡＲデバイス２００の位置を追跡するために使用され、それは、平行移動および回転調節のための基準としても使用される。いくつかの実施形態において、センサ２０６Ａ、２０６Ｂの各々と中心点３０２との間の相対距離は、平行移動パラメータＴと等しくあり得、平行移動パラメータＴは、３次元（３Ｄ）ベクトル（例えば、［０．１  ０．２  ０．１］メートル）に対応する３×１行列を表す。いくつかの実施形態において、センサ２０６Ａ、２０６Ｂの各々と中心点３０２との間の相対角度向きは、回転パラメータＲと等しくあり得、回転パラメータＲは、３×３行列（いくつかの実施形態において、回転ベクトルと称される）を表す。故に、センサ２０６Ｂと中心点３０２との間の変換は、変換［Ｔ｜Ｒ］によってモデル化され得、センサ２０６Ａと中心点３０２との間の変換は、変換［Ｔ｜Ｒ］−１によってモデル化され得る。
【００４６】
図４Ａ、４Ｂ、および４Ｃは、本発明のいくつかの実施形態による、較正プロファイル２５４に関連付けられた較正レベルを決定するための種々のステップを図示する。いくつかの実施形態において、較正プロファイル２５４に関連付けられた較正レベルを決定することは、右の正面に向いた世界センサ２０６Ｂに関連して左の正面に向いた世界センサ２０６Ａの位置および／または向きに影響を及ぼすＡＲデバイス２００の変形量Ｄを決定することを含む。変形量Ｄは、較正レベルとして使用され得、変形量Ｄは、本明細書に説明されるような較正レベルに反比例し得る。例えば、変形量Ｄが変形閾値を上回るかどうかを決定することは、較正レベルが較正閾値未満であるかどうかを決定することに等しくあり得る。同様に、変形量Ｄが変形閾値未満であるかどうかを決定することは、較正レベルが較正閾値を上回るかどうかを決定することに等しくあり得る。
【００４７】
図４Ａ、４Ｂ、および４Ｃを参照して説明されるステップは、フレーム毎の基準で実施されるか、または、Ｎ個のレーム毎に実施され得る。ステップは、一対の対応する「特徴」または「着目点」がセンサ２０６Ａ、２０６Ｂの各々によって観察可能であることを要求し得るエピポーラ幾何学形状を使用し得る。変形量Ｄは、図８、９、１０、および１１を参照して説明される方法８００、９００、１０００、１１００の実施に先立って、または実施中、決定され得る。
【００４８】
図４Ａを参照すると、
時間ｔ１においてセンサ２０６Ａによって捕捉される左画像４０２は、時間ｔ１においてセンサ２０６Ｂによって捕捉される右画像４０４と比較され得、両方の画像において出現する少なくとも１つの特徴（その全体またはその一部のいずれか）を識別する（例えば、１つ以上の特徴合致技法を使用して）。両方の画像４０２、４０４が特徴４２０（五芒星）を含むことを決定した後、エピポーラ線４２２が、左画像４０２に基づいて生成され、右画像４０４上に投影される。エピポーラ線４２２は、左画像４０２において出現するような特徴４２０の垂直／水平位置および／または向きに基づいて生成され得、較正プロファイル２５４の最も更新されたバージョンを使用して右画像４０４上に投影され得る。エピポーラ線４２２は、センサ２０６Ａ、２０６Ｂが完全に整列させられている場合、特徴４２０がセンサ２０６Ｂの視点から位置することが予期される線を表す。エピポーラ線４２２からの特徴４２０の位置の偏差は、センサ２０６Ａ、２０６Ｂの間の較正誤差を示し、偏差の規模は、多かれ少なかれ誤差に対応する。
【００４９】
いくつかの実施形態において、第１の点４０５および第２の点４０７が、特徴４２０の垂直／水平位置および／または向きを決定することを促進するために、画像４０２、４０４の各々においける特徴４２０内で識別される。図４Ａに示される例において、左画像４０２は、特徴４２０の左上の点に沿った第１の点４０５および特徴４２０の右上の点に沿った第２の点４０７を識別するために分析される。次に、第１の点４０５と第２の点４０７との間の交差線が、左画像４０２において形成され、交差線は、較正プロファイル２５４を使用して左画像４０２から右画像４０４に変換され、エピポーラ線４２２を右画像４０４上に投影する。エピポーラ線４２２が右画像４０４上に投影されると、右画像４０４における第１の点４０５および第２の点４０７は、エピポーラ線４２２と比較される。右画像４０４における特徴４２０（すなわち、点４０５および４０７）をエピポーラ線４２２と比較した後、変形量Ｄ（すなわち、較正レベル）が、特徴４２０とエピポーラ線４２２との間の平行移動オフセットおよび向きオフセットに基づいて計算され得る。図４Ａに図示される例における特徴４２０がエピポーラ線４２２と良好に整列させられているので、変形量Ｄは、低い（例えば、０に等しい）ことが決定される。追加の特徴が、より高い正確度で変形量Ｄを決定するために分析され得る。いくつかの実施形態において、変形量Ｄは、ピクセルで表され、それは、いくつかの実施形態において、特徴４２０とエピポーラ線４２２とを分離するピクセルの数に等しくあり得る。いくつかの実施形態において、変形量Ｄは、再投影誤差と称される。
【００５０】
図４Ｂを参照すると、時間ｔ２においてセンサ２０６Ａによって捕捉される左画像４０６は、時間ｔ２においてセンサ２０６Ｂによって捕捉される右画像４０８と比較され、両方の画像において出現する特徴４２０を識別し得る。画像４０６、４０８は、画像４０６、４０８の各々においける特徴４２０内の点４０５、４０７を識別するために分析される。次に、点４０５、４０７の間の交差線が、左画像４０６において形成され、交差線は、較正プロファイル２５４の最新の更新されたバージョンを使用して左画像４０６から右画像４０８に変換され、エピポーラ線４２２を右画像４０８上に投影する。右画像４０８における点４０５、４０７は、次いで、変形量Ｄを決定するためにエピポーラ線４２２と比較される。特徴４２０がエピポーラ線４２２と整列させられていない（平行移動オフセットおよび向きオフセットが、点４０５および４０７とエピポーラ線４２２との間の不整列によって示されるように著しい）ので、変形量Ｄは、図４Ａに示される例より高い（例えば、２６．３に等しい）ことが決定される。
【００５１】
図４Ｃを参照すると、時間ｔ３においてセンサ２０６Ａによって捕捉される左画像４１０は、時間ｔ３においてセンサ２０６Ｂによって捕捉される右画像４１２と比較され、両方の画像において出現する特徴４２０を識別し得る。画像４１０、４１２は、画像４１０、４１２の各々においける特徴４２０内の点４０５、４０７を識別するために分析される。次に、点４０５、４０７の間の交差線が、左画像４１０において形成され、交差線は、較正プロファイル２５４の最新の更新されたバージョンを使用して左画像４１０から右画像４１２に変換され、エピポーラ線４２２を右画像４１２上に投影する。右画像４１２における点４０５、４０７は、次いで、変形量Ｄを決定するためにエピポーラ線４２２と比較される。特徴４２０がエピポーラ線４２２と著しくオフセットされている（平行移動オフセットおよび向きオフセットが、点４０５および４０７とエピポーラ線４２２との間の不整列によって示されるように著しい）ので、変形量Ｄは、図４Ａおよび４Ｂに示される例より高い（例えば、８４．１に等しい）ことが決定される。
【００５２】
図５Ａ、５Ｂ、および５Ｃは、本発明のいくつかの実施形態による、較正プロファイル２５４に関連付けられた較正レベルを決定するための種々のステップを図示する。図５Ａ、５Ｂ、および５Ｃに図示される例は、それぞれ、図４Ａ、４Ｂ、および４Ｃに図示される例に対応し、右画像を左画像に投影し、同じ変形量Ｄ（すなわち、較正レベル）を計算する代替アプローチを実証する。図５Ａ、５Ｂ、および５Ｃを参照して説明されるステップは、フレーム毎の基準で実施されるか、または、Ｎ個のレーム毎に実施され得る。
【００５３】
図５Ａを参照すると、時間ｔ１においてセンサ２０６Ａによって捕捉される左画像５０２は、時間ｔ１においてセンサ２０６Ｂによって捕捉される右画像５０４と比較され、両方の画像において出現する特徴５２０を識別し得る。画像５０２、５０４は、画像５０２、５０４の各々においける特徴５２０内の点５０５、５０７を識別するために分析される。次に、点５０５、５０７の間の交差線が、右画像５０４において形成され、交差線は、較正プロファイル２５４の最新の更新されたバージョンを使用して右画像５０４から左画像５０２に変換され、エピポーラ線５２２を左画像５０２上に投影する。左画像５０２における点５０５、５０７は、次いで、変形量Ｄを決定するためにエピポーラ線５２２と比較される。図５Ａに図示される例における特徴５２０がエピポーラ線５２２と良好に整列させられているので、変形量Ｄは、低い（例えば、０に等しい）ことが決定される。
【００５４】
図５Ｂを参照すると、時間ｔ２においてセンサ２０６Ａによって捕捉される左画像５０６は、時間ｔ２においてセンサ２０６Ｂによって捕捉される右画像５０８と比較され、両方の画像において出現する特徴５２０を識別し得る。画像５０６、５０８は、画像５０６、５０８の各々においける特徴５２０内の点５０５、５０７を識別するために分析される。次に、点５０５、５０７の間の交差線が、右画像５０８において形成され、交差線は、較正プロファイル２５４の最新の更新されたバージョンを使用して右画像５０８から左画像５０６に変換され、エピポーラ線５２２を左画像５０６上に投影する。左画像５０６における点５０５、５０７は、次いで、変形量Ｄを決定するためにエピポーラ線５２２と比較される。特徴５２０がエピポーラ線５２２と整列させられていない（平行移動オフセットおよび向きオフセットが、点５０５および５０７とエピポーラ線５２２との間の不整列によって示されるように著しい）ので、変形量Ｄは、図５Ａに示される例より高い（例えば、２６．３に等しい）ことが決定される。
【００５５】
図５Ｃを参照すると、時間ｔ３においてセンサ２０６Ａによって捕捉される左画像５１０は、時間ｔ３においてセンサ２０６Ｂによって捕捉される右画像５１２と比較され、両方の画像において出現する特徴５２０を識別し得る。画像５１０、５１２は、画像５１０、５１２の各々においける特徴５２０内の点５０５、５０７を識別するために分析される。次に、点５０５、５０７の間の交差線が、右画像５１２において形成され、交差線は、較正プロファイル２５４の最新の更新されたバージョンを使用して右画像５１２から左画像５１０に変換され、エピポーラ線５２２を左画像５１０上に投影する。左画像５１０における点５０５、５０７は、次いで、変形量Ｄを決定するためにエピポーラ線５２２と比較される。特徴５２０がエピポーラ線５２２と著しくオフセットされている（平行移動オフセットおよび向きオフセットが、点５０５および５０７とエピポーラ線５２２との間の不整列によって示されるように著しい）ので、変形量Ｄは、図５Ａおよび５Ｂに示される例より高い（例えば、８４．１に等しい）ことが決定される。
【００５６】
図６は、本発明のいくつかの実施形態による、両方の画像において出現する共通特徴を有する２つの画像に基づく変形量Ｄ（すなわち、較正レベル）の例示的計算を図示する。第１に、点６０５、６０７を有する特徴６２０が、第１の画像６０２および第２の画像（図示せず）の両方において識別される。第１の画像６０２は、いくつかある可能性の中でも、左画像または右画像を表し得る。点６０５、６０７の間の交差線が、第２の画像において形成され、較正プロファイル２５４の最新の更新されたバージョンを使用して第２の画像から第１の画像６０２に変換され、（図４Ａ、４Ｂ、４Ｃ、５Ａ、５Ｂ、および５Ｃを参照して示されるように）エピポーラ線６２２を第１の画像６０２上に投影する。第１の画像６０２における点６０５、６０７は、次いで、変形量Ｄを決定するためにエピポーラ線６２２と比較される。
【００５７】
いくつかの実施形態において、第１のオフセット６５０が、点６０５とエピポーラ線６２２との間の垂直距離として計算され、および／または、第２のオフセット６５２が、点６０７とエピポーラ線６２２との間の垂直距離として計算される。変形量Ｄの計算された値は、いくつかある可能性の中でも、第１のオフセット６５０（例えば、そのスケーリングされたバージョン）、第２のオフセット６５２、第１のオフセット６５０と第２のオフセット６５２との間の平均オフセット６５４、第１のオフセット６５０および第２のオフセット６５２の最小値または最大値、第１のオフセット６５０と第２のオフセット６５２との間の比（例えば、第２のオフセット６５２によって除算された第１のオフセット６５０、第１のオフセット６５０によって除算された第２のオフセット６５２等）、第１のオフセット６５０と第２のオフセット６５２との間の差異（例えば、第２のオフセット６５２から減算された第１のオフセット６５０、または第１のオフセット６５０から減算された第２のオフセット６５２等）に等しいか、または関連し得る。
【００５８】
図７は、本発明のいくつかの実施形態による、両方の画像において出現する共通特徴を有する２つの画像に基づく変形量Ｄ（すなわち、較正レベル）の例示的計算を図示する。第１に、点７０５、７０７を有する特徴７２０が、第１の画像７０２および第２の画像（図示せず）の両方において識別される。第１の画像７０２は、いくつかある可能性の中でも、左画像または右画像を表し得る。点７０５、７０７の間の交差線が、第２の画像において形成され、較正プロファイル２５４の最新の更新されたバージョンを使用して第２の画像から第１の画像７０２に変換され、（図４Ａ、４Ｂ、４Ｃ、５Ａ、５Ｂ、および５Ｃを参照して示されるように）エピポーラ線７２２を第１の画像７０２上に投影する。第１の画像７０２における点７０５、７０７は、次いで、変形量Ｄを決定するためにエピポーラ線７２２と比較される。
【００５９】
いくつかの実施形態において、点７０５、７０７を交差する線７５６が、第１の画像７０２において形成され、線７５６とエピポーラ線７２２との間の角度７５８が、計算される。角度７５８は、代替として、または加えて、（図６を参照して説明される第１のオフセット６５０および第２のオフセット６５２に類似する）点７０５、７０７とエピポーラ線７２２との間の垂直オフセット、および点７０５、７０７の間の水平オフセットを決定し、三角法を使用して角度７５８に関して解法することによって、計算され得る。変形量Ｄの計算された値は、いくつかある可能性の中でも、角度７５８（例えば、そのスケーリングされたバージョン）、角度７５８の正弦（関数）、角度７５８の正接（関数）、角度７５８の逆数に等しいか、または関連し得る。
【００６０】
いくつかの実施形態において、図６を参照して計算される変形量は、平行移動変形量ＤＴであり、図７を参照して計算される変形量は、回転変形量ＤＲである。いくつかの実施形態において、変形量Ｄの計算された値は、いくつかある可能性の中でも、平行移動変形量ＤＴおよび回転変形量ＤＲの合計（例えば、そのスケーリングされたバージョン）、平行移動変形量ＤＴと回転変形量ＤＲとの間の平均、平行移動変形量ＤＴおよび回転変形量ＤＲの最小値または最大値、平行移動変形量ＤＴと回転変形量ＤＲとの間の比（例えば、回転変形量ＤＲによって除算された平行移動変形量ＤＴ、平行移動変形量ＤＴによって除算された回転変形量ＤＲ等）、平行移動変形量ＤＴと回転変形量ＤＲとの間の差異（例えば、回転変形量ＤＲから減算された平行移動変形量ＤＴ、または平行移動変形量ＤＴから減算された回転変形量ＤＲ等）に等しいか、または関連し得る。
【００６１】
図８は、本発明のいくつかの実施形態による、ＡＲデバイス２００を較正する方法８００を図示する。方法８００の実施は、図８に示されるものより多いまたは少ないステップを実施することを含み得、方法８００のステップは、示される順序で実施される必要はない。方法８００は、ＡＲデバイスを較正することを参照して説明されるが、方法は、それらの空間関係が平行移動パラメータおよび回転パラメータを有する較正プロファイルによってモデル化される２つのセンサを有する任意のデバイスを較正するために使用され得る。
【００６２】
いくつかの実施形態において、方法８００は、ブロック８０２から開始し、センサデータ２２０が、センサ２０６によって捕捉される。いくつかの実施形態において、センサデータ２２０は、センサ２０６のうちの第１のセンサおよび第２のセンサによって捕捉され得る。例えば、センサデータ２２０は、第１のセンサによって捕捉される１つ以上の第１の画像と、第２のセンサによって捕捉される１つ以上の第２の画像とを含み得る。いくつかの実施形態において、第１の画像および第２の画像の両方は、カメラ画像である。いくつかの実施形態において、第１の画像および第２の画像の両方は、深度画像（すなわち、深度マップ）である。いくつかの実施形態において、第１の画像は、カメラ画像であり、第２の画像は、深度画像である。いくつかの実施形態において、第１の画像は、深度画像であり、第２の画像は、カメラ画像である。センサデータ２２０がセンサ２０６によって捕捉された後、センサデータ２２０は、処理モジュール２５０に送信され得る。
【００６３】
ブロック８０４において、較正プロファイル２５４に関連付けられた較正レベルが、決定される。いくつかの実施形態において、較正レベルは、例えば、１つ以上の第１の画像および１つ以上の第２の画像の一方または両方を分析することによって、センサデータ２２０に基づいて決定される。例えば、１つ以上の第１の画像は、１つ以上の第２の画像と比較され得、較正レベルは、比較に基づいて決定され得る。別の例として、第２のセンサに関連する第１のセンサの変形量Ｄが、比較に基づいて決定され得、変形量Ｄは、較正レベル（より低いレベルの信頼性に対応するより高い変形量）として使用され得る。いくつかの実施形態において、較正レベルは、図４Ａ、４Ｂ、および４Ｃ、および／または図５Ａ、５Ｂ、および５Ｃを参照して説明されるステップを実施することによって、決定される。いくつかの実施形態において、ブロック８０４は、処理モジュール２５０によって実施される。
【００６４】
いくつかの実施形態において、較正レベルを決定することは、ＡＲデバイス２００に関連付けられた頭部姿勢アルゴリズムが、現在利用可能であるかどうか、および／または、それが、現在正確なデータを生成しているかどうかを決定することを含む。いくつかの実施形態において、頭部姿勢アルゴリズムは、センサ２０６によって捕捉されるセンサデータ２２０からマップ点（３Ｄ点）を生成するために使用され得る。例えば、頭部姿勢アルゴリズムは、一対の画像を受信し、一対の画像を処理することによってマップ点を生成し得る。ＡＲデバイス２００が過度に変形させられている場合、頭部姿勢アルゴリズムは、収束することができないか、または、正確なマップ点を生成することができないであろう。いずれの場合も、頭部姿勢アルゴリズムは、「利用不可能」と見なされ得る。いくつかの実施形態において、較正レベルは、例えば、利用可能であるとき、第１の値（例えば、１）、利用可能でないとき、第２の値（例えば、０）を有すること、または、いくつかの実施形態において、利用可能性のレベルを示すそれらの間の値（例えば、０．５）を有することによって、頭部姿勢アルゴリズムが利用可能であるかどうかに関連付けられ得る。
【００６５】
ブロック８０６において、較正レベルに基づいて、第１の較正プロセスを実施すべきか、第２の較正プロセスを実施すべきか、または、いずれも実施しないかが決定される。例えば、較正レベルは、１つ以上の較正閾値と比較され得る単一の値を有し得る。いくつかの事例において、較正レベルは、０〜１の間の値を有するように正規化され得る。一例において、較正レベルは、第１の較正プロセスが実施されるべきか、第２の較正プロセスが実施されるべきかを決定するために、第１の較正閾値８０７−１と比較され得る。較正レベルが第１の較正閾値８０７−１を上回るとき、第１の較正プロセスを実施し、較正レベルが第１の較正閾値８０７−１を下回るとき、第２の較正プロセスを実施することが決定され得、逆も同様である。いくつかの実施形態において、較正レベルが、第１の較正閾値８０７−１より高くあり得る第２の較正閾値８０７−２を上回るとき、いずれの較正プロセスも実施しないことが、決定され得る。代替として、または加えて、較正レベルがある値の範囲内であるかどうか、較正レベルが値のリストに含まれるかどうか、較正レベルが、ある閾値量だけ前もって決定された較正レベルを上回るか、またはそれ未満であるかどうか、較正レベルが特定の時間量（例えば、２５０ミリ秒）にわたって閾値未満であるかどうか等が、決定され得る。いくつかの実施形態において、ブロック８０６は、処理モジュール２５０によって実施される。
【００６６】
変形量Ｄが較正レベルとして使用される別の例において、変形量Ｄは、第１の較正プロセスが実施されるべきか、第２の較正プロセスが実施されるべきかを決定するために、第１の変形閾値と比較され得る。変形量Ｄが第１の変形閾値を下回るとき、第１の較正プロセスを実施し、変形量Ｄが第１の変形閾値を上回るとき、第２の較正プロセスを実施することが、決定され得、逆も同様である。いくつかの実施形態において、変形量Ｄが、第１の変形閾値より低くあり得る第２の変形閾値を下回るとき、いずれの較正プロセスも実施しないことが、決定され得る。代替として、または加えて、変形量Ｄがある値の範囲内であるかどうか、変形量Ｄが値のリストに含まれるかどうか、変形量Ｄが、ある閾値量だけ前もって決定された変形量Ｄを上回るか、またはそれ未満であるかどうか、変形量Ｄが特定の時間量（例えば、２５０ミリ秒）にわたって閾値を上回るかどうか等が、決定され得る。
【００６７】
ブロック８０６において、第１の較正プロセスが実施されるべきであること、例えば、較正レベルが第１の較正閾値８０７−１未満であることが決定される場合、方法８００は、ブロック８０８に進む。ブロック８０８において、回転パラメータＲを較正することを含む第１の較正プロセスが、実施される一方、平行移動パラメータＴは、修正されない、すなわち、回転パラメータＲのみが、較正される。第１の較正プロセスを実施することは、回転パラメータＲを置換および／または更新するために使用されるべき較正された回転パラメータＲ’を生成することを含み得る。いくつかの実施形態において、第１の較正プロセスは、センサデータ２２０を使用して実施される。第１の較正プロセスは、平行移動パラメータＴが、（その最新の値に）一定に保持され、回転パラメータＲが、可能な値の範囲にわたって変動させられる（例えば、変化させられる）、誤差方程式を最小化することを含み得る。誤差方程式が最小化される回転パラメータＲの値は、較正された回転パラメータＲ’として設定される。いくつかの実施形態において、ブロック８０８は、処理モジュール２５０によって実施される。
【００６８】
ブロック８０６において、第２の較正プロセスが実施されるべきこと、例えば、較正レベルが第１の較正閾値８０７−１を上回る（但し、第２の較正閾値８０７−２未満である）ことが決定される場合、方法８００は、ブロック８１０に進む。ブロック８１０において、平行移動パラメータＴおよび回転パラメータＲを置換および／または更新するために使用されるべき較正された平行移動パラメータＴ’および較正された回転パラメータＲ’を生成することを含み得る平行移動パラメータＴおよび回転パラメータＲの両方を較正することを含む第２の較正プロセスが、実施される。第２の較正プロセスは、平行移動パラメータＴおよび回転パラメータＲの両方が、可能な値の範囲にわたって変動させられる誤差方程式を最小化することを含み得る。誤差方程式が最小化される、平行移動パラメータＴおよび回転パラメータＲの値は、それぞれ、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’として設定される。いくつかの実施形態において、ブロック８１０は、処理モジュール２５０によって実施される。
【００６９】
図９は、本発明のいくつかの実施形態による、ＡＲデバイス２００を較正する方法９００を図示する。方法９００の実施は、図９に示されるものより多いまたは少ないステップを実施することを含み得、方法９００のステップは、示される順序で実施される必要はない。方法９００の１つ以上のステップは、方法８００の１つ以上のステップに対応し得る。方法９００は、ＡＲデバイスを較正することを参照して説明されるが、方法は、それらの空間関係が平行移動パラメータおよび回転パラメータを有する較正プロファイルによってモデル化される２つのセンサを有する任意のデバイスを較正するために使用され得る。
【００７０】
いくつかの実施形態において、方法９００は、ブロック９０２から開始し、センサデータ２２０（すなわち、第１のセンサデータ）が、センサ２０６によって捕捉される。ブロック９０２は、ブロック８０２を参照して説明される１つ以上のステップを含み得る。
【００７１】
ブロック９０３において、追加のセンサデータ２２１（すなわち、第２のセンサデータ）が、追加のセンサ２０７によって捕捉される。追加のセンサ２０７は、センサ２０６と別個であり得る。一例において、追加のセンサ２０７は、ＡＲデバイス２００に対する歪みを決定するためのＡＲデバイス２００の一部の上に位置付けられた（例えば、センサ２０６のうちの２つの間に延びている）歪みゲージである。
【００７２】
ブロック９０４において、較正プロファイル２５４に関連付けられた較正レベルが、追加のセンサデータ２２１（すなわち、第２のセンサデータ）に基づいて決定される。いくつかの実施形態において、較正レベルは、追加のセンサデータ２２１の１つ以上の画像を分析することによって決定される。ブロック９０４は、ブロック８０４を参照して説明される１つ以上のステップを含み得る。いくつかの実施形態において、ブロック９０４は、処理モジュール２５０によって実施される。
【００７３】
ブロック９０６において、較正レベルに基づいて、第１の較正プロセス、第２の較正プロセスを実施するか、または、いずれも実施しないかが決定される。ブロック９０６は、ブロック８０６を参照して説明される１つ以上のステップを含み得る。いくつかの実施形態において、ブロック９０６は、処理モジュール２５０によって実施される。
【００７４】
ブロック９０６において、第１の較正プロセスが実施されるべきであることが決定される場合、方法９００は、ブロック９０８に進む。ブロック９０８において、センサデータ２２０（すなわち、第１のセンサデータ）を使用して、回転パラメータＲを較正することを含む第１の較正プロセスが、実施される一方、平行移動パラメータＴは、修正されない。ブロック９０８は、ブロック８０８を参照して説明される１つ以上のステップを含み得る。いくつかの実施形態において、ブロック９０８は、処理モジュール２５０によって実施される。
【００７５】
ブロック９０６において、第２の較正プロセスが実施されるべきであることが決定される場合、方法９００は、ブロック９１０に進む。ブロック９１０において、センサデータ２２０（すなわち、第１のセンサデータ）を使用して、平行移動パラメータＴおよび回転パラメータＲの両方を較正することを含む第２の較正プロセスが、実施される。ブロック９１０は、ブロック８１０を参照して説明される１つ以上のステップを含み得る。いくつかの実施形態において、ブロック９１０は、処理モジュール２５０によって実施される。
【００７６】
図１０は、本発明のいくつかの実施形態による、ＡＲデバイス２００を較正する方法１０００を図示する。方法１０００の実施は、図１０に示されるものより多いまたは少ないステップを実施することを含み得、方法１０００のステップは、示される順序で実施される必要はない。方法１０００の１つ以上のステップは、方法８００、９００の１つ以上のステップに対応し得る。例えば、方法１０００は、ブロック８０８を参照して説明される１つ以上のステップに対応し得るエピポーラ較正１０５０と、ブロック８１０を参照して説明される１つ以上のステップに対応し得るオンライン較正１０５２とを含み得る。方法１０００は、ＡＲデバイスを較正することを参照して説明されるが、方法は、それらの空間関係が平行移動パラメータおよび回転パラメータを有する較正プロファイルによってモデル化される２つのセンサを有する任意のデバイスを較正するために使用され得る。
【００７７】
いくつかの実施形態において、方法１０００は、ブロック１００２から開始し、センサデータ２２０がセンサ２０６によって捕捉される。ブロック１００２は、ブロック８０２を参照して説明される１つ以上のステップを含み得る。
【００７８】
ブロック１００４において、較正プロファイル２５４に関連付けられた較正レベルが、決定される。ブロック１００４は、ブロック８０４、９０４を参照して説明される１つ以上のステップを含み得る。いくつかの実施形態において、ブロック１００４は、処理モジュール２５０によって実施される。
【００７９】
ブロック１００６において、較正レベルに基づいて、第１の較正プロセスを実施すべきか、第２の較正プロセスを実施すべきか、または、いずれも実施しないかが決定される。ブロック１００６は、ブロック８０６を参照して説明される１つ以上のステップを含み得る。いくつかの実施形態において、ブロック１００６は、処理モジュール２５０によって実施される。
【００８０】
ブロック１００６において、第１の較正プロセスが実施されるべきであることが決定される場合、方法１０００は、ブロック１００８に進む。ブロック１００８において、第１の方程式、式１が、平行移動パラメータＴが（較正プロファイル２５４内のその直近で更新された値に）一定に保持されながら、可能な値の範囲にわたって回転パラメータＲを変動させる（例えば、変化させる）ことによって最小化される。種々の誤差方程式が第１の式１に使用され得るが、いくつかの実装において、サンプソン誤差の変異型が、以下のように使用され得る。
【数１０】
2021507393.tif 000003
式中、（・）ｋは、ベクトルにおける第ｋの成分を表し、Ｅ＝［Ｔ］ｘ・Ｒは、基本行列であり、ｘおよびｘ’は、正規化画像座標における左および右画像からの対応する特徴である。式１におけるサンプソン誤差のこの変異型を使用する利点は、（１）使用される特徴座標が正規化画像座標であること、（２）基本行列Ｅが基礎行列より計算的に効率的であること、および、（３）カメラの本質が変化しないと仮定されることを含む。１つの特定の実装において、基本行列Ｅは、３×３行列である。式１が最小化されると、方程式が最小化される回転パラメータＲの値が、設定され、較正された回転パラメータＲ’として出力される。
【００８１】
ブロック１００６において、第２の較正プロセスが実施されるべきであることが決定される場合、方法１０００は、オンライン較正１０５２が実施される、ブロック１０１０に進む。オンライン較正１０５２は、センサ（例えば、カメラ）の回転および平行移動に関して観察される画像点と予測される画像点との間の再投影誤差を最小化することを目指す。ブロック１０１０において、第２の式２が、可能な値の範囲にわたって平行移動パラメータＴおよび回転パラメータＲを変動させる（例えば、変化させる）ことによって最小化される。種々の誤差方程式が、第２の方程式、式２のために使用され得るが、いくつかの実装において、以下の誤差方程式が、使用され得る。
【数２０】
2021507393.tif 000004
式中、ｉは、点のための指数であり、ｊは、キーフレームにおけるリグ位置のための指数であり、ｋは、カメラのための指数であり、Ｃは、カメラの組であり、
【数２１】
2021507393.tif 000005
は、リグからセンサｋ（例えば、カメラｋ）への外因性変換であり、
【数２２】
2021507393.tif 000006
は、リグｊにおけるセンサｋのための投影関数であり、
【数２３】
2021507393.tif 000007
は、センサｋにおける３Ｄ点ｐｉの測定であり、Ｐは、２つの点の間の再投影誤差ベクトルを算出するための関数であり、Ｖｉｊは、キーフレーム位置ｊに位置するセンサｋを通した点ｉの可視性に基づく０または１の値である（可視である場合は１、可視ではない場合は０に等しい）。投影関数
【数２４】
2021507393.tif 000008
は、リグ中心点から各センサへの変換が各センサに関するＴおよびＲに関連するので、平行移動パラメータＴおよび回転パラメータＲに依存している。式２が最小化されると、方程式が最小化される平行移動パラメータＴおよび回転パラメータＲの値が、設定され、それぞれ、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’として出力される。リグからカメラへの外因性変換の追加の説明が、図１５に図示される。
【００８２】
ブロック１０１２において、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’のいずれか一方または両方が、それぞれ、平行移動パラメータＴおよび回転パラメータＲを置換および／または更新するために使用される。エピポーラ較正１０５０が実施された場合、回転パラメータＲが、置換および／または更新される。オンライン較正１０５２が実施された場合、平行移動パラメータＴおよび回転パラメータＲの両方が、置換および／または更新される。ブロック１０１２の実施後、方法１０００は、ブロック１００２に進み、説明されるステップを繰り返す。
【００８３】
図１１は、本発明のいくつかの実施形態による、ＡＲデバイス２００を較正する方法１１００を図示する。方法１１００の実施は、図１１に示されるものより多いまたは少ないステップを実施することを含み得、方法１１００のステップは、示される順序で実施される必要はない。方法１１００の１つ以上のステップは、方法８００、９００、１０００の１つ以上のステップに対応し得る。例えば、方法１１００は、ブロック８０８および１００８を参照して説明される１つ以上のステップに対応し得るエピポーラ較正１１５０と、ブロック８１０および１０１０を参照して説明される１つ以上のステップに対応し得るオンライン較正経路１１５２とを含み得る。方法１１００は、ＡＲデバイスを較正することを参照して説明されるが、方法は、それらの空間関係が平行移動パラメータおよび回転パラメータを有する較正プロファイルによってモデル化される２つのセンサを有する任意のデバイスを較正するために使用され得る。
【００８４】
いくつかの実施形態において、方法１１００は、ブロック１１０２から開始し、センサデータ２２０がセンサ２０６によって捕捉される。ブロック１１０２は、ブロック８０２を参照して説明される１つ以上のステップを含み得る。
【００８５】
ブロック１１０４において、センサデータ２２０の較正レベルが、決定される。ブロック１１０４は、ブロック８０４、９０４を参照して説明される１つ以上のステップを含み得る。いくつかの実施形態において、ブロック１１０４は、処理モジュール２５０によって実施される。
【００８６】
ブロック１１０６において、較正レベルに基づいて、第１の較正プロセスを実施すべきか、第２の較正プロセスを実施すべきか、または、いずれも実施しないかが決定される。ブロック１１０６は、ブロック８０６を参照して説明される１つ以上のステップを含み得る。いくつかの実施形態において、ブロック１１０６は、処理モジュール２５０によって実施される。
【００８７】
ブロック１１０６において、第１の較正プロセスが実施されるべきであることが決定される場合、方法１１００は、ブロック１１０８に進む。ブロック１１０８において、画像分析および特徴検出が、センサ２０６Ａ、２０６Ｂによって捕捉される対の画像に実施される。いくつかの実施形態において、対の画像間の合致特徴が、検出されるか、または、他の実施形態において、合致特徴が、ブロック１１０８の実施中、またはそれに先立って、外部ソースから受信される。合致特徴および対の画像を取得した後、対の画像の各々は、複数のビンに分けられ、ビンの各々に位置する合致特徴の数量が、決定される。種々の実施形態において、対の画像の各々は、同一数のビンに、異なる数のビンに、または対の画像の各々の異なる領域に及ぶビンに分けられる。１つの特定の実施形態において、ビンは、画像上にオーバーレイされる３×３グリッドによって画定され得る。各ビンのための合致特徴の数量を決定した後、数量は、出力され、方法１１００は、ブロック１１１０に進む。
【００８８】
ブロック１１１０において、ビンの各々に位置する合致特徴の数量が１つ以上の特徴閾値を満たすかどうかが、決定される。例えば、合致特徴の数量の各々が特徴閾値、例えば、１、１０、１００、１，０００等を上回るかどうかが、決定され得る。いくつかの実施形態において、この調査は、合致特徴の数量の各々が、特徴閾値を上回るときのみ、方法１１００がブロック１１１２に進むように、ビン毎の基準で実施され得る。他の実施形態において、方法１１００は、ビンの大部分またはある必要な割合が特徴閾値を上回る合致特徴の数量を含むとき、ブロック１１１２に進み得る。いくつかの実施形態において、合致特徴の数量の各々が第２の特徴閾値、例えば、１，０００、１０，０００等未満であるかどうかも、決定され得る。このステップは、合致特徴が対の画像の全体を通して均等に拡散されるかどうかが、決定され得る。合致特徴の数量の各々が、第１の特徴閾値を上回り、第２の特徴閾値未満であることが決定される場合、方法１１００は、ブロック１１１２に進み得る。そうでなければ、方法１１００は、対の画像の第２の組、例えば、後続のフレームに対応する対の画像が分析されるブロック１１０８に戻る。
【００８９】
ブロック１１１２において、ブロック１００８を参照して説明されるステップは、対の画像および／または合致特徴を使用して実施される。式１が最小化されると、方程式が最小化される回転パラメータＲの値が、設定され、較正された回転パラメータＲ’として出力される。
【００９０】
ブロック１１０６に戻ると、ブロック１１０６において、第２の較正プロセスが実施されるべきであることが決定される場合、方法１１００は、オンライン較正経路１１５２に進む。オンライン較正経路１１５２は、例えば、環境調和モジュール１１１１およびオンライン較正モジュール１１１３等の複数のモジュールを含み得る。環境調和モジュール１１１１は、所定の期間にわたってＡＲデバイス２００によって収集される３Ｄ点クラウドデータが整列させられていることを確実にするためのステップを含み得る。ブロック１１１４において、バンドル調節が、キーフレームが発生した度に疎マップ（ＡＲデバイス２００のマップ点およびキーフレーム位置の群）を最適化することによって実施される。故に、ブロック１１１４において任意の残りのステップを実施することに先立って、最初に、キーフレームが発生したかどうかが、決定され得る。ＡＲデバイス２００の動作中、センサデータ２２０に基づいて、安定した最適化を保証するために十分な新しい情報が存在することが決定されるとき、キーフレームが発生し、それは、ＡＲデバイス２００が平行移動閾値を上回って平行移動し、回転閾値（ＡＲデバイス２００の場所として使用されている中心点３０２）を上回って回転したことを決定することに対応する。例として、平行移動閾値は、１０ｃｍであり得、回転閾値は、１０度であり得る。
【００９１】
疎マップは、センサ２０６から収集されるマップ点を備え得る。マップ点は、視野内の異なる特徴に沿ってセンサ２０６によって捕捉され得、各マップ点は、マップ点が捕捉されたときの（中心点３０２を使用する）ＡＲデバイス２００の既知の位置に関連付けられる。これは、収集されたマップ点にコンテキストを与え、それによって、環境の３Ｄモデルが、正確に再構築され、最適に解釈され得る。バンドル調節が実施されるとき、疎マップは、点間の整列誤差を最小化するアルゴリズムを使用して、疎マップに含まれるマップ点を整列させることによって、最適化される。疎マップが最適化された後、方法１１００は、オンライン較正モジュール１１１３に進む。
【００９２】
オンライン較正モジュール１１１３は、いくつかのサブプロセスまたはステップを含み得る。ブロック１１１６において、オンライン較正トリガが満たされているかどうかが、決定される。オンライン較正トリガは、限定ではないが、キーフレームが発生したかどうか、連続キーフレームが発生したかどうか、バンドル調節が成功したかどうか、連続バンドル調節が成功したかどうか、ＡＲデバイス２００のキーフレーム姿勢間の最大距離が閾値基準（例えば、１．５メートル）を上回って平行移動したかどうか、ＡＲデバイス２００のキーフレーム姿勢間の最大回転が閾値角度（例えば、９０度）を上回って回転したかどうか、検出された特徴が視野にわたって一様に分配されているかどうか、検出された特徴が（深度に対応する）ｚ次元内で一様に分配されるかどうか等の１つ以上の条件を含み得る。オンライン較正トリガに含まれる１つ以上の条件が満たされない場合、方法１１００は、ブロック１１０２に戻る。条件が満たされる場合、方法１１００は、ブロック１１１８に進む。
【００９３】
ブロック１１１８において、ブロック１０１０を参照して説明されるステップが、最適化された疎マップを使用して実施される。いくつかの実施形態において、ブロック１１１８の実施は、バンドル調節に使用されるより大きいデータセットを使用し得る。例えば、バンドル調節が、直近の１０個のキーフレームおよびカメラ姿勢位置によって観察された直近の１０個のマップ点の組を使用して疎マップを最適化し得る一方、ブロック１１１８は、最後の１００個のマップ点の組およびカメラ姿勢位置を使用し得る。式２が最小化されると、方程式が最小化される平行移動パラメータＴおよび回転パラメータＲの値が、設定され、それぞれ、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’として出力される。
【００９４】
ブロック１１２０において、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’が、事前選択された合否基準と比較される。いくつかの実施形態において、合否基準は、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’が、それぞれ、平行移動パラメータＴおよび回転パラメータＲと十分に異なることを要求し得る。いくつかの実施形態において、差異Ｔ’−ＴおよびＲ’−Ｒが、閾値と比較され得る。合否基準が満たされていることが決定される場合、方法１１００は、ブロック１１２２に進み得る。
【００９５】
ブロック１１２２において、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’のいずれか一方または両方が、それぞれ、平行移動パラメータＴおよび回転パラメータＲを置換および／または更新するために使用される。エピポーラ較正１１５０が実施された場合、回転パラメータＲが、置換および／または更新される。オンライン較正経路１１５２が実施された場合、平行移動パラメータＴおよび回転パラメータＲの両方が、置換および／または更新される。ブロック１１２２の実施後、方法１１００は、ブロック１１０２に戻り、説明されるステップを繰り返す。
【００９６】
いくつかの実施形態において、方法１１００の実施は、エピポーラ較正１１５０（すなわち、第１の較正プロセス）のみ、またはオンライン較正経路１１５２（すなわち、第２の較正プロセス）のみを実施することを含み得る。いくつかの実施形態において、オンライン較正経路１１５２は、第１の時間（すなわち、ｔ１）において実施され、エピポーラ較正１１５０は、第２の時間（すなわち、ｔ２）において実施される。逆に、いくつかの実施形態において、エピポーラ較正１１５０は、第１の時間（すなわち、ｔ１）において実施され、オンライン較正経路１１５２は、第２の時間（すなわち、ｔ２）において実施される。いくつかの実施形態において、オンライン較正経路１１５２は、エピポーラ較正１１５０を実施することなく、連続的に２回（すなわち、時間ｔ１およびｔ２において）実施される。同様に、いくつかの実施形態において、エピポーラ較正１１５０は、オンライン較正経路１１５２を実施することなく、連続的に２回（すなわち、時間ｔ１およびｔ２において）実施される。本明細書に説明されるように、第１の時間（すなわち、ｔ１）は、第２の時間（すなわち、ｔ２）に先行するか、または、その後に続き得る。
【００９７】
当業者は、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’が多くの方法でＡＲデバイス２００によって使用され得ることを理解するであろう。一実施形態において、Ｔ’およびＲ’は、１つ以上のセンサ（例えば、センサ２０６）の位置および／または向きを物理的に調節するための基準として使用され得る。１つ以上のセンサの位置および／または向きを調節することは、ＡＲデバイス２００上の他のコンポーネントおよび／または他のセンサに対して少なくとも１つのセンサの位置および／または向きを制御することによって、ＡＲデバイス２００の全体的性能を改良し得る。
【００９８】
図３をもう一度参照すると、較正された平行移動パラメータＴ’および較正された回転パラメータＲ’が、中心点３０２に対して決定され得る。しかしながら、システムの任意の他の部分に対して較正することが可能である。例えば、いくつかの実施形態において、基準センサに関するパラメータが調節されないが、全ての他のセンサのパラメータが基準センサに関連して調節されるように、単一のセンサが、全ての較正補正が基づく基準センサとして選択される。ＡＲデバイス２００上の他の重要な点も、較正されたパラメータを計算する基準点として使用され得る。
【００９９】
図１２は、本発明のいくつかの実施形態による、左画像１２０４と右画像１２０６（すなわち、対の画像）との間の１つ以上の合致特徴１２０２を検出するための種々のステップを図示する。例えば、図１２は、図１１を参照して説明されるようなブロック１１０８に関連して１つ以上のステップを図示し得る。左画像１２０４における各検出された合致特徴は、右画像１２０６における検出された合致特徴に対応し、逆も同様である。合致特徴は、角検出技法または種々の従来の画像処理技法のうちのいずれか１つに基づいて、検出され得る。
【０１００】
図１３は、本発明のいくつかの実施形態による、左画像１３０４および右画像１３０６を複数のビン１３０８に分けること、およびビン１３０８の各々に位置する合致特徴１３０２の数量を決定することを行う種々のステップを図示する。例えば、図１３は、図１１を参照して説明されるようなブロック１１０８および１１１０に関連して１つ以上のステップを図示し得る。左画像１３０４および右画像１３０６は、いくつかある可能性の中でも、カメラ画像、深度画像であり得る。図１３に示される特定の実装において、左画像１３０４および右画像１３０６の各々は、３×３配列における９つのビンに分けられている。他の実施形態において、異なる数のビンおよびビンの異なる配列が、可能である。例えば、左画像１３０４および右画像１３０６の各々は、種々の形状（例えば、長方形、三角形、円形等）を有する任意の数のビン（例えば、４、１６、２５、３６等）に分けられ得る。ビンは、重複することも、重複しないこともあり、左画像１３０４と右画像１３０６とのためのビンの配列は、同じである必要はない。例えば、左画像１３０４は、２×２配列における４つのビンに分けられ得、右画像１３０６は、２×３配列における６つのビンに分けられ得る。
【０１０１】
１つ以上の特徴閾値が、定義され得、それらは、ある数量の合致特徴が各ビンおよび／またはビンの群に存在することを要求する。一例として、特徴閾値は、ビン１３０８の各々が、合致特徴１３０２のうちの５つ以上のものを含むことを要求し得る。図示される実施形態において、各ビンにおける合致特徴の数量は、ビン番号の右側の括弧内に示される。ビン１３０８のうちのいくつかが、特徴閾値を満たすことができない（例えば、ビン４、７、８、９、１２、１４、１５、１７、および１８の各々が、５つより少ない合致特徴を有する）場合、特徴閾値は、満たされない。結果として、現在の画像対、すなわち、画像１３０４および１３０６が、随意に、破棄され得る一方、画像対からの対応する特徴は、保持され得る。後続の画像対が、同一の様式で読み出され、分析されると、特徴は、特徴閾値の各々が満たされるまで蓄積される。別の例として、特徴閾値は、２×２配列における４つの隣接するビンの各群が、１０個以上の合致特徴を含むことを要求し得る。ビン１４、１５、１７、および１８の群が５つの合致特徴のみを含むので、特徴閾値は、満たされない。
【０１０２】
図１４Ａおよび１４Ｂは、本発明のいくつかの実施形態による、左画像１４０４および右画像１４０６を３次元空間内の複数のビン１４０８に分けること、およびビン１４０８の各々に位置する合致特徴１４０２の数量を決定することを行う種々のステップを図示する。例えば、図１４Ａおよび１４Ｂは、図１１を参照して説明されるようなブロック１１０８および１１１０に関連して１つ以上のステップを図示し得る。左画像１４０４および右画像１４０６は、いくつかある可能性の中でも、カメラ画像、深度画像であり得る。左画像１４０４および右画像１４０６の各々は、３×３×３配列における２７個のビンに分けられる。他の実施形態において、異なる数、配列、および形状のビンが、可能である。ビンは、重複することも、重複しないこともあり、左画像１４０４と右画像１４０６とのためのビンの配列は、同じである必要はない。
【０１０３】
図１４Ａを参照すると、特徴閾値は、各群が３つの次元のうちの２つにおいて延びている平面を形成するビンを備えているビンの群に関して定義される。例えば、特徴閾値は、（Ｚ次元に対して）近距離場、中間場、および遠距離場内の平面を形成するビンの群の各々が、合致特徴１４０２のうちの５つ以上を含むことを要求する。特徴閾値は、Ｘ次元に対する平面を形成するビンの群の各々が８つ以上の合致特徴を含み、Ｙ次元に対する平面を形成するビンの群の各々が７つ以上の合致特徴を含むことも要求する。図１４Ｂは、各個々のビンが２つ以上の合致特徴を含むことを要求する追加の特徴閾値を図示する。故に、特徴閾値は、合致特徴１４０２の十分な空間分布を確実にするために、個々のビンおよび／またはビンの群に関して定義され得る。
【０１０４】
図１５は、本発明のいくつかの実施形態による、バンドル調節を実施するための種々のステップを図示する。図１５に、種々のカメラ姿勢１５０４によって視認されるマップ点１５０２が、示される。マップ点１５０２は、視野内の異なる特徴に沿ってセンサ２０６Ａ、２０６Ｂ（およびいくつかの実施形態において、センサ２０６Ｃ、２０６Ｄ）によって捕捉され、マップ点１５０２の各々は、マップ点が捕捉されたときのＡＲデバイス２００の既知の位置（中心点３０２）に関連付けられる。集合的に、カメラ姿勢１５０４から視認されるようなマップ点１５０２は、疎マップを構成する。疎マップは、計算された投影と観察された特徴との間の整列誤差を最小化するアルゴリズムを使用して、疎マップに含まれるマップ点の計算された投影をマップ点の対応する観察された特徴と整列させることによって、最適化される。
【０１０５】
前述の説明は、ＡＲデバイス２００およびモデル３００を参照して挙げられたが、他のシステム構成も、説明される較正方法から利益を享受し得る。例えば、少なくとも部分的に重複する視野を伴う２つのセンサを有する任意のデバイスが、説明されるモデルを使用して較正され得る。２つのセンサは、デバイスの同じ側または異なる側に位置し得る。２つのセンサは、ｘ、ｙ、およびｚ次元のうちのいずれか、またはそれらの組み合わせで互いに配置され得る。追加のセンサが、システムに追加され、開示される方法を使用して較正され得る。追加のセンサは、最初の２つのセンサと重複する視野を有する必要はない。２つ、３つ、４つ、またはそれを上回る追加のセンサが、システムに追加され得、開示される方法を使用して較正され得ることを理解されたい。
【０１０６】
図１６は、本発明のある実施形態による、簡略化されたコンピュータシステム１６００を図示する。図１６に図示されるようなコンピュータシステム１６００が、本明細書に説明されるようなＡＲデバイス２００等のデバイスの中に組み込まれ得る。図１６は、種々の実施形態によって提供される方法のステップのうちのいくつかまたは全てを実施し得るコンピュータシステム１６００の一実施形態の概略図を提供する。図１６は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用され得ることに留意されたい。図１６は、したがって、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る状況を広く例証する。
【０１０７】
コンピュータシステム１６００は、バス１６０５を介して電気的に結合され得るか、または、必要に応じて別様に通信し得るハードウェア要素を備えて示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ等の１つ以上の汎用プロセッサおよび／または１つ以上の特殊目的プロセッサを含む１つ以上のプロセッサ１６１０と、限定ではないが、マウス、キーボード、カメラ等を含み得る１つ以上の入力デバイス１６１５と、限定ではないが、ディスプレイデバイス、プリンタ等を含み得る１つ以上の出力デバイス１６２０とを含み得る。
【０１０８】
コンピュータシステム１６００は、限定ではないが、ローカルおよび／またはネットワークアクセス可能記憶装置をさらに備え得、および／または、限定ではないが、プログラム可能、フラッシュ更新可能等であり得るディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ（「ＲＡＭ」）等のソリッドステート記憶デバイス、および／または読み取り専用メモリ（「ＲＯＭ」）を含み得る１つ以上の非一過性記憶デバイス１６２５を含み、および／または、それと通信し得る。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造等を含む任意の適切なデータ記憶を実装するように構成され得る。
【０１０９】
コンピュータシステム１６００は、限定ではないが、Ｂｌｕｅｔｏｏｔｈ（登録商標）デバイス、８０２．１１デバイス、ＷｉＦｉデバイス、ＷｉＭａｘデバイス、セルラー通信設備等のモデム、ネットワークカード（無線または有線）、赤外線通信デバイス、無線通信デバイス、および／またはチップセットを含み得る通信サブシステム１６３０も含み得る。通信サブシステム１６３０は、１つ以上の入力および／または出力通信インターフェースを含み、データが、一例として挙げると、下で説明されるネットワーク等のネットワーク、他のコンピュータシステム、テレビ、および／または本明細書に説明される任意の他のデバイスと交換されることを可能にし得る。所望の機能性および／または他の実装懸念に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム１６３０を介して、画像および／または他の情報を通信し得る。他の実施形態において、ポータブル電子デバイス、例えば、第１の電子デバイスは、コンピュータシステム１６００、例えば、電子デバイスの中に入力デバイス１６１５として組み込まれ得る。いくつかの実施形態において、コンピュータシステム１６００は、上で説明されるようなＲＡＭまたはＲＯＭデバイスを含み得る作業メモリ１６３５をさらに備えているであろう。
【０１１０】
コンピュータシステム１６００は、種々の実施形態によって提供されるコンピュータプログラム備え得、および／または、本明細書に説明されるような他の実施形態によって提供される方法を実装し、および／または、システムを構成するように設計され得る１つ以上のアプリケーションプログラム１６４５等のオペレーティングシステム１６４０、デバイスドライバ、実行可能ライブラリ、および／または、他のコードを含む作業メモリ１６３５内に現在位置するように示されるソフトウェア要素を含むことができる。単に、一例として、図１６に関連して説明されるもの等の上で議論される方法に関して説明される１つ以上のプロシージャは、コンピュータおよび／またはコンピュータ内のプロセッサによって実行可能なコードおよび／または命令として実装され得、ある側面において、次いで、そのようなコードおよび／または命令は、説明される方法に従って１つ以上の動作を実施するように汎用コンピュータまたは他のデバイスを構成および／または適合するために使用されることができる。
【０１１１】
これらの命令および／またはコードの組は、上で説明される記憶デバイス１６２５等の非一過性コンピュータ読み取り可能な記憶媒体上に記憶され得る。ある場合、記憶媒体は、コンピュータシステム１６００等のコンピュータシステム内に組み込まれ得る。他の実施形態において、記憶媒体は、コンピュータシステムと別個であり、例えば、コンパクトディスク等の取り外し可能媒体であり、および／または、記憶媒体が、汎用コンピュータをその上に記憶される命令／コードを用いてプログラム、構成、および／または適合するために使用され得るように、インストールパッケージ内に提供され得る。これらの命令は、コンピュータシステム１６００によって実行可能である実行可能コードの形態をとり得、および／または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮／解凍ユーティリティ等のいずれかを使用したコンピュータシステム１６００上へのコンパイルおよび／またはインストールに応じて、次いで、実行可能コードの形態をとるソースおよび／またはインストール可能コードの形態をとり得る。
【０１１２】
実質的変形例が、具体的要件に従って作製され得ることが、当業者に明白であろう。例えば、カスタマイズされたハードウェアも、使用され得、および／または、特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含むソフトウェア、または両方に実装され得る。さらに、ネットワーク入力／出力デバイス等の他のコンピューティングデバイスへの接続も、採用され得る。
【０１１３】
上で記述されるように、一側面において、いくつかの実施形態は、コンピュータシステム１６００等のコンピュータシステムを採用し、技術の種々の実施形態による方法を実施し得る。一式の実施形態によると、そのような方法のプロシージャのうちのいくつかまたは全ては、プロセッサ１６１０が、オペレーティングシステム１６４０の中に組み込まれ得る１つ以上の命令の１つ以上のシーケンス、および／または作業メモリ１６３５に含まれるアプリケーションプログラム１６４５等の他のコードを実行することに応答して、コンピュータシステム１６００によって実施される。そのような命令は、記憶デバイス１６２５のうちの１つ以上のもの等の別のコンピュータ読み取り可能な媒体から作業メモリ１６３５の中に読み取られ得る。単に、一例として、作業メモリ１６３５内に含まれる命令のシーケンスの実行は、プロセッサ１６１０に本明細書に説明される方法の１つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行され得る。
【０１１４】
用語「機械読み取り可能な媒体」および「コンピュータ読み取り可能な媒体」は、本明細書で使用されるように、機械を特定の方式で動作させるデータを提供することに関わる任意の媒体を指す。コンピュータシステム１６００を使用して実装されるある実施形態において、種々のコンピュータ読み取り可能な媒体は、実行のための命令／コードをプロセッサ１６１０に提供することに関与し得、および／または、そのような命令／コードを記憶および／または搬送するために使用され得る。多くの実装において、コンピュータ読み取り可能な媒体は、物理的および／または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとり得る。不揮発性媒体は、例えば、記憶デバイス１６２５等の光学および／または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ１６３５等の動的メモリを含む。
【０１１５】
一般的形態の物理的および／または有形コンピュータ読み取り可能な媒体は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュ−ＥＰＲＯＭ、任意の他のメモリチップまたはカートリッジ、もしくはコンピュータが命令および／またはコードを読み取り得る任意の他の媒体を含む。
【０１１６】
種々の形態のコンピュータ読み取り可能な媒体が、実行のための１つ以上の命令の１つ以上のシーケンスをプロセッサ１６１０に搬送することに関与し得る。単に、一例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび／または光学ディスク上に置かれ得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム１６００によって受信および／または実行されるように、伝送媒体を経由して命令を信号として送信し得る。
【０１１７】
通信サブシステム１６３０および／またはそのコンポーネントは、概して、信号を受信し、バス１６０５が、次いで、信号および／または信号によって搬送されるデータ、命令等を作業メモリ１６３５に搬送し得、それから、プロセッサ１６１０が、命令を読み出し、実行する。作業メモリ１６３５によって受信される命令は、随意に、プロセッサ１６１０による実行の前または後のいずれかで、非一過性記憶デバイス１６２５上に記憶され得る。
【０１１８】
上で議論される方法、システム、およびデバイスは、例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加し得る。例えば、代替構成において、方法は、説明されるものと異なる順序で実施され得、および／または、種々の段階が、追加され、省略され、および／または、組み合わせられ得る。ある構成に関して説明される特徴は、種々の他の構成においても組み合わせられ得る。構成の異なる側面および要素は、類似様式で組み合わせられ得る。技術も、進化し、したがって、要素の多くは、例であり、本開示の範囲または請求項を限定しない。
【０１１９】
具体的詳細が、実装を含む例示的構成の完全な理解を提供するために説明の中で挙げられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践され得る。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、利用可能性、または構成を限定しない。むしろ、構成の前述の説明は、当業者に説明される技法を実装するための有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われ得る。
【０１２０】
構成は、概略フローチャートまたはブロック図として描写されるプロセスとしても説明され得る。各々が連続したプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施され得る。加えて、動作の順序は、再配列され得る。プロセスは、図に含まれない追加のステップを有し得る。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ読み取り可能な媒体内に記憶され得る。プロセッサは、説明されるタスクを実施し得る。
【０１２１】
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用され得る。例えば、上記の要素は、より大きいシステムのコンポーネントであり得、他のルールが、技術の用途に優先するか、または、別様にそれを修正し得る。いくつかのステップも、上記の要素が検討される前、間、または後に行われ得る。故に、上記の説明は、請求項の範囲を束縛しない。
【０１２２】
本明細書および添付の請求項で使用されるように、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明確に別様に決定付けない限り、複数の参照を含む。したがって、例えば、「ユーザ」の言及は、複数のそのようなユーザを含み、「プロセッサ」の言及は、１つ以上のプロセッサおよび当業者に公知であるその均等物等の言及を含む。
【０１２３】
さらに、単語「ｃｏｍｐｒｉｓｅ（〜を備えている）」、「ｃｏｍｐｒｉｓｉｎｇ（〜を備えている）」、「ｃｏｎｔａｉｎｓ（〜を含む）」、「ｃｏｎｔａｉｎｉｎｇ（〜を含む）」、「ｉｎｃｌｕｄｅ（〜を含む）」、「ｉｎｃｌｕｄｉｎｇ（〜を含む）」、および「ｉｎｃｌｕｄｅｓ（〜を含む）」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定することを意図しているが、それらは、１つ以上の他の特徴、整数、コンポーネント、ステップ、行為、もしくは群の存在または追加を除外しない。
【０１２４】
本明細書に説明される例および実施形態が例証目的のためだけのものであり、それに照らして、種々の修正または変更が、当業者に示唆され、本願の精神および権限ならびに添付される請求項の範囲に含まれるものであることも理解されたい。
【図１】
2021507393.tif 000009
【図２】
2021507393.tif 000010
【図３】
2021507393.tif 000011
【図４】
2021507393.tif 000012
【図５】
2021507393.tif 000013
【図６】
2021507393.tif 000014
【図７】
2021507393.tif 000015
【図８】
2021507393.tif 000016
【図９】
2021507393.tif 000017
【図１０】
2021507393.tif 000018
【図１１】
2021507393.tif 000019
【図１２】
2021507393.tif 000020
【図１３】
2021507393.tif 000021
【図１４Ａ】
2021507393.tif 000022
【図１４Ｂ】
2021507393.tif 000023
【図１５】
2021507393.tif 000024
【図１６】
2021507393.tif 000025
【国際調査報告】
2021507393.tif 000026