(57)【特許請求の範囲】
【請求項１】
ナビゲーションのために画像を使用するモバイルデバイスであって、
一連の画像を獲得するためのカメラと、
前記モバイルデバイスの本体基準系と自動車の基盤基準系との間で変換する第１の回転行列、
前記自動車の前記基盤基準系と局所基準系との間で変換する第２の回転行列、および
前記本体基準系と前記局所基準系との間で変換する第３の回転行列を保持するためのメモリと、
前記一連の画像に基づいて前記第１の回転行列の初期値を決定し、前記一連の画像に基づいて前記第３の回転行列の初期値を決定するように構成され、前記カメラおよび前記メモリに結合されたプロセッサと、
前記カメラに機能的に結合されたジャイロメータとを備え、ここにおいて前記プロセッサはさらに前記ジャイロメータに結合され、かつ前記一連の画像のうちの少なくとも２つから導き出される消失点（ＦＯＥ点）を決定し、前記ＦＯＥ点が静的である場合に前記ジャイロメータの較正を更新するように構成される、モバイルデバイス。
【請求項２】
加速度計測定値を提供するための加速度計をさらに備え、
前記プロセッサは前記加速度計にさらに結合され、
前記プロセッサは前記一連の画像に基づいて重力ベクトルの初期値を決定するようにさらに構成され、ここにおいて前記重力ベクトルは前記加速度計測定値における重力の影響をゼロにするために使用される、請求項１に記載のモバイルデバイス。
【請求項３】
前記加速度計は３次元加速度計を備える、請求項２に記載のモバイルデバイス。
【請求項４】
位置ロケーションモジュールをさらに備える、請求項１に記載のモバイルデバイス。
【請求項５】
前記位置ロケーションモジュールは、グローバルナビゲーション衛星システム受信機（ＧＮＳＳ受信機）を備える、請求項４に記載のモバイルデバイス。
【請求項６】
前記ＧＮＳＳ受信機は、全地球測位衛星（ＧＰＳ）受信機を備える、請求項５に記載のモバイルデバイス。
【請求項７】
前記モバイルデバイスは、前記自動車に機械的に結合される、請求項１に記載のモバイルデバイス。
【請求項８】
前記プロセッサは前記一連の画像に基づいて推測航法を行うようにさらに構成される、請求項１に記載のモバイルデバイス。
【請求項９】
加速度計測定値を提供するための加速度計と、
前記カメラに機能的に結合されたジャイロメータをさらに備え、
前記プロセッサはさらに前記加速度計および前記ジャイロメータに結合され、
前記プロセッサは、
前記一連の画像に基づいて重力ベクトルの初期値を決定し、ここにおいて、前記重力ベクトルは加速度測定値における重力の影響をゼロにするために使用される、
前記一連の画像に基づいて、前記ジャイロメータの較正を更新するようにさらに構成される、請求項１に記載のモバイルデバイス。
【請求項１０】
ナビゲーションのために画像を使用するモバイルデバイスにおける方法であって、
カメラから一連の画像を獲得することと、
前記一連の画像に基づいて、前記モバイルデバイスの本体基準系と自動車の基盤基準系との間で変換する第１の回転行列の初期値を決定することと、
前記一連の画像に基づいて、前記自動車の前記基盤基準系と局所基準系との間で変換する第２の回転行列の初期値を決定することと、
前記一連の画像に基づいて、前記本体基準系と前記局所基準系との間で変換する第３の回転行列の初期値を決定することと、
前記第２の回転行列をメモリに書き込むことと、
前記第３の回転行列を使用して、前記本体基準系と局所基準系との間で測定値を変換することと、
前記一連の画像のうちの少なくとも２つから導き出される消失点（ＦＯＥ点）を決定することと、
前記ＦＯＥ点が静的である場合にジャイロメータの較正を更新することと
を備える方法。
【請求項１１】
前記一連の画像に基づいて重力ベクトルの初期値を決定することをさらに備え、
前記重力ベクトルは加速度計測定値における重力の影響をゼロにするために使用される、
請求項１０に記載の方法。
【請求項１２】
前記モバイルデバイスを自動車に機械的に結合することをさらに備える、請求項１０に記載の方法。
【請求項１３】
前記一連の画像を獲得することは第１の解像度を有する前記一連の画像を第２の解像度に再度サンプリングすることを備え、前記第２の解像度は前記第１の解像度よりも低い、請求項１０に記載の方法。
【請求項１４】
前記一連の画像を獲得することは前記一連の画像から輝度値を抽出することを備える、請求項１０に記載の方法。
【請求項１５】
前記一連の画像に基づいて前記第２の回転行列の前記初期値を決定することは、前記一連の画像のうちの少なくとも２つから導き出される前記ＦＯＥ点を決定して本体基準系における前記モバイルデバイスの動きの方向を設定することを備え、さらに、
前記本体基準系における重力ベクトルを決定することと、
（１）前記第３の回転行列と、（２）前記第２の回転行列の逆とに基づいて、前記第１の回転行列を計算することをさらに備える、請求項１０に記載の方法。
【請求項１６】
前記ＦＯＥ点は、前記本体基準系に関して、高度角度（α）、幅角度（β）を示す、請求項１５に記載の方法。
【請求項１７】
前記ＦＯＥ点は前記本体基準系に対するＸ−Ｙ画像プレーンにおける点を示す、請求項１５に記載の方法。
【請求項１８】
前記ＦＯＥ点を決定することは、
前記一連の画像のうちの第１の画像から複数の特徴を抽出し、それによって、対応する第１の複数の点を定義することと、
前記一連の画像のうちの第２の画像上の前記複数の特徴を追跡し、それによって、対応する第２の複数の点を定義し、さらに、前記対応する第１の複数の点と前記対応する第２の複数の点との間の対応する複数の線を定義することと、
前記対応する複数の線の中心に前記ＦＯＥ点を設定することと
を備える、請求項１５に記載の方法。
【請求項１９】
前記対応する複数の線の中心は、前記対応する複数の線の最小二乗誤差点を備える、請求項１８に記載の方法。
【請求項２０】
前記対応する複数の線の中心は、カルマンフィルタ推定値に基づく、請求項１８に記載の方法。
【請求項２１】
前記一連の画像を獲得することは、レンズ収差を除去するために、前記一連の画像を修正することを備える、請求項１０に記載の方法。
【請求項２２】
ナビゲーションのために画像を使用するモバイルデバイスであって、
カメラから一連の画像を獲得する手段と、
前記一連の画像に基づいて、前記モバイルデバイスの本体基準系および自動車の基盤基準系から変換するために使用される第１の回転行列の初期値を決定する手段と、
前記一連の画像に基づいて、前記自動車の前記基盤基準系と局所基準系との間で変換する第２の回転行列の初期値を決定する手段と、
前記一連の画像に基づいて、前記本体基準系と前記局所基準系との間で変換する第３の回転行列の初期値を決定する手段と、
前記第３の回転行列をメモリに書き込む手段と、
前記第３の回転行列を使用して、前記モバイルデバイスの前記本体基準系と局所基準系との間で測定値を変換する手段と、
前記一連の画像のうちの少なくとも２つから導き出される消失点（ＦＯＥ点）を決定し、前記ＦＯＥ点が静的である場合にジャイロメータの較正を更新する手段と
を備えるモバイルデバイス。
【請求項２３】
カメラ、メモリ、およびプロセッサを有するモバイルデバイスにおいてナビゲーションのために画像を使用する方法を行うために、デジタル処理装置によって実行可能な複数の機械読取可能命令を備えるコンピュータプログラムであって、前記方法は、
カメラから一連の画像を獲得することと、
前記一連の画像に基づいて、前記モバイルデバイスの本体基準系と自動車の基盤基準系との間で変換する第１の回転行列の初期値を決定することと、
前記一連の画像に基づいて、前記自動車の前記基盤基準系と局所基準系との間で変換する第２の回転行列の初期値を決定することと、
前記一連の画像に基づいて、前記本体基準系と前記局所基準系との間で変換する第３の回転行列の初期値を決定することと、
前記第３の回転行列をメモリに書き込むことと、
前記第３の回転行列を使用して、前記モバイルデバイスの前記本体基準系と局所基準系との間で測定値を変換することと、
前記一連の画像のうちの少なくとも２つから導き出される消失点（ＦＯＥ点）を決定することと、
前記ＦＯＥ点が静的である場合にジャイロメータの較正を更新することと
からなる動作を備える、コンピュータプログラム。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、全体として参照により本明細書に組み込まれ、２０１１年１月１１日に出願された「Camera-based inertial sensor alignment for PND」と題する米国特許仮出願第６１／４３１，７４８号（代理人管理番号０９００１５Ｐ１）の優先権および利益を主張する。本願はまた、全体として参照により本明細書に組み込まれ、２０１１年６月３０日に出願された「Camera-based inertial sensor alignment for PND」と題する米国特許出願第１３／１７３，２６１号（代理人管理番号０９００１５）の優先権および利益を主張する。
【技術分野】
【０００２】
本発明は一般に、画像処理に基づくナビゲーションに関し、より詳細には、加速度計およびジャイロメータ測定値を判断するために、移動中の自動車に対するパーソナルナビゲーションデバイスの向きを決定することに関する。
【背景技術】
【０００３】
位置推定値は、衛星位置決め信号(satellite positioning signals)を受信および処理することによって提供されることが多い。衛星信号が利用不可能な場合、モバイルデバイスは、推測航法（dead-reckoning)技法を用いて漸進的な位置決め更新(incremental positioning updates)を推定する。通常、推測航法技法は、慣性センサ（例えば、加速度計およびジャイロメータ）の測定値データに頼る。そのような慣性センサは、信頼性のある測定値を維持するために、頻繁に較正(calibrated)されなければならない。例えば、加速度計が、重力以外の加速度を検出しなかった場合、モバイルデバイスは、ジャイロメータが較正されるのに適している時点で、静止中であると推測されうる。頻繁な再較正(recalibration)を伴う場合であっても、慣性センサは、ある固有誤差(inherent error)を有するセンサ測定値を提供する。これらの誤差は、ある時間にわたって蓄積し、センサが較正されないままである場合、ある時点で、推測航法(dead reckoning)が提供する位置推定値(point position estimates)は、もはや信頼性がなくなる。改善された方法およびデバイスは、これら固有誤差を減らすことが必要とされる。
【発明の概要】
【０００４】
いくつかの態様に従って、ナビゲーションのために画像を使用するモバイルデバイスが開示され、このモバイルデバイスは、一連の画像(a sequence of images)を獲得するカメラと、モバイルデバイスの本体基準系と基盤基準系(platform reference system)との間で変換するためのものである第１の回転行列を保持するためのメモリと、カメラおよびメモリに結合され一連の画像に基づいて第１の回転行列の初期値を決定するように構成されるプロセッサとを備える。
【０００５】
いくつかの態様によれば、ナビゲーションのために画像を使用する、モバイルデバイスにおける方法が開示され、この方法は、カメラから一連の画像を獲得することと、モバイルデバイスの本体基準系(body reference system)から変換するために使用されるこの一連の画像に基づいて第１の回転行列の初期値を決定することと、第１の回転行列をメモリに書き込むことと、第１の回転行列を使用して、モバイルデバイスの本体基準系と局所基準系(local reference system)との間で測定値を変換することとを備える。
【０００６】
いくつかの態様によれば、ナビゲーションのために画像を使用するモバイルデバイスが開示され、モバイルデバイスは、カメラから一連の画像を獲得する手段と、モバイルデバイスの本体基準系から変換するために使用される一連の画像に基づいて第１の回転行列の初期値を決定する手段と、第１の回転行列をメモリに書き込む手段と、第１の回転行列を使用して、モバイルデバイスの本体基準系と局所基準系との間で測定値を変換する手段とを備える。
【０００７】
いくつかの態様によれば、カメラ、メモリ、およびプロセッサを有するモバイルデバイスにおいてナビゲーションのために画像を使用する方法を行うためにデジタル処理装置によって実行可能な複数の機械読取可能命令のプログラムを実体的に実施するコンピュータ読取可能媒体が開示され、上記方法は、カメラから一連の画像を獲得することと、モバイルデバイスの本体基準系から変換するために使用される一連の画像に基づいて第１の回転行列の初期値を決定することと、第１の回転行列をメモリに書き込むことと、第１の回転行列を使用して、モバイルデバイスの本体基準系と局所基準系との間で測定値を変換することとからなる動作を備える。
【０００８】
例として様々な態様が提示および説明される以下の詳細な説明から、他の態様が当業者には容易に明白であることは理解されるべきである。図面および詳細な説明は、例示的なものでしかなく、限定的なものであるとはみなされるべきではない。
【図面の簡単な説明】
【０００９】
本発明の実施形態は、図を参照して、例としてのみ説明される。
【図１】図１は、自動車に設置されたパーソナルナビゲーションデバイス（ＰＮD)のある視点を示す。
【図２】図２は、自動車に設置されたパーソナルナビゲーションデバイス（ＰＮD)の別の視点を示す。
【図３】図３は、自動車に設置されたパーソナルナビゲーションデバイス（ＰＮD)のさらに別の視点を示す。
【図４】図４は、本発明の実施形態に従って、ＰＮＤのブロック図を示す。
【図５】図５は、本発明の実施形態に従って、推測航法のデータフロー図を示す。
【図６】図６は、本発明の実施形態に従って、回転行列、基準ベクトル、および基準系を関係付ける。
【図７】図７は、本発明の実施形態に従って、回転行列、基準ベクトル、および基準系を関係付ける。
【図８】図８は、本発明の実施形態に従って、初期の重力ベクトルを設定するためのプロセッサを示す。
【図９】図９は、本発明の実施形態に従って、初期の第１の回転行列を設定するためにベクトルのペアに対してＷａｈｂａ問題を適用する。
【図１０】図１０は、本発明の実施形態に従って、初期の第１の回転行列を設定するためにベクトルのペアに対してＷａｈｂａ問題を適用する。
【図１１】図１１は、本発明の実施形態に従って、初期の第２の回転行列を設定するためにベクトルのペアに対してＷａｈｂａ問題を適用する。
【図１２】図１２は、本発明の実施形態に従って、初期の第２の回転行列を設定するためにベクトルのペアに対してＷａｈｂａ問題を適用する。
【図１３】図１３は、本発明の実施形態に従って、初期の第１の回転行列を計算するためのデータフロー図を示す。
【図１４】図１４は、本発明の実施形態に従って、第２の回転行列および第３の回転行列を更新するためのデータフロー図を示す。
【図１５】図１５は、本発明の実施形態に従って、ジャイロメータ較正を更新するためのデータフロー図を示す。
【図１６】図１６は、本発明の実施形態に従って、互いに関連した特徴を示す。
【図１７】図１７は、本発明の実施形態に従って、互いに関連した特徴を示す。
【図１８】図１８は、本発明の実施形態に従って、互いに関連した特徴を示す。
【図１９】図１９は、本発明の実施形態に従って、互いに関連した特徴を示す。
【図２０】図２０は、本発明の実施形態に従って、互いに関連した特徴を示す。
【図２１】図２１は、本発明の実施形態に従って、図１６乃至２１および図２２と互いに関連した機能を示す。
【図２２】図２２は、本発明の実施形態に従って、互いに関連した特徴を示す。
【図２３】図２３は、本発明の実施形態に従って、画像処理のためのデータフロー図を示す。
【図２４】図２４は、本発明の実施形態に従って、画像処理のためのデータフロー図を示す。
【図２５】図２５は、本発明の実施形態に従って、画像処理のためのデータフロー図を示す。
【発明を実施するための形態】
【００１０】
詳細な説明
添付図面に関連して以下に示される詳細な説明は、本開示の様々な態様についての説明であることを意図しており、本開示が実施されうる態様しか表さないことを意図しない。本開示で説明される各態様は、単に、本開示の例示または例証として提供され、他の態様より好ましいまたは有利である、と必ずしも解釈されるべきでない。詳細な説明は、本開示に対する完全な理解を提供することを目的として特定の詳細を含む。しかしながら、本開示がこれらの特定の詳細なく実施されうることは、当業者にとって明らかであろう。いくつかの例において、周知の構造およびデバイスが、本開示のコンセプトを不明瞭にしないためにブロック図の形式で示されている。頭文字語および他の記述的な用語は、単に、便利さおよび明瞭さのために使用されており、本開示の範囲を限定することを意図しない。
【００１１】
本明細書で説明される位置決定技法は、無線広域ネットワーク（ＷＷＡＮ)、無線ローカルエリアネットワーク（ＷＬＡＮ)、無線パーソナルエリアネットワーク（ＷＰＡＮ）、等のような様々な無線通信ネットワークを伴って実現されうる。「ネットワーク（network）」および「システム（system）」という用語は代替可能に使用されることが多い。ＷＷＡＮは、符号分割多元接続（ＣＤＭＡ)ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、周波数分割多元接続（ＦＤＭＡ)ネットワーク、直交周波数分割多元接続（ＯＦＤＭＡ）ネットワーク、単一キャリア周波数分割多元接続（ＳＣ−ＦＤＭＡ)ネットワーク、ロングタームエボリューション（ＬＴＥ）、等でありうる。ＣＤＭＡネットワークは、ｃｄｍａ２０００、広域ＣＤＭＡ（Ｗ−ＣＤＭＡ(登録商標))、等のような１または複数のラジオアクセス技術（ＲＡＴ）を実現しうる。Ｃｄｍａ２０００は、ＩＳ−９５、ＩＳ−２０００、およびＩＳ−８５６規格を含む。ＴＤＭＡネットワークは、ＧＳＭ（登録商標）（Global System for Mobile Communications）、Ｄ−ＡＭＰＳ（Digital Advanced Mobile Phone System）、または、ある他のＲＡＴを実現しうる。ＧＳＭおよびＷ−ＣＤＭＡは、「第３世代パートナーシッププロジェクト」（３ＧＰＰ）という名称の団体からの文書に記述される。Ｃｄｍａ２０００は、「第３世代パートナーシッププロジェクト２（３ＧＰＰ２）」という名称の団体からの文書に記述されている。３ＧＰＰおよび３ＧＰＰ２の文書は公に入手可能である。ＷＬＡＮは、ＩＥＥＥ ８０２．１１ｘネットワークであり、ＷＰＡＮは、ブルートゥースネットワーク、ＩＥＥＥ ８０２．１５ｘ、または、ある他のタイプのネットワークでありうる。この技法はまた、ＷＷＡＮ、ＷＬＡＮ、および／またはＷＰＡＮのあらゆる組み合わせを伴って実現されうる。
【００１２】
衛星位置決めシステム（ＳＰＳ）は典型的に、位置する送信機のシステムを含み、それによって、エンティティは、地球上または上空におけるそれらのロケーションを、送信機から受信された信号に少なくとも部分的に基づいて決定できる。そのような送信機は典型的に、設定された数のチップの繰り返しの疑似ランダム雑音（ＰＮ）符号で印づけされた信号を送信し、地上制御局、ユーザ機器、および／または宇宙船に位置付けされうる。特定の例において、そのような送信機は、地球を周回する軌道衛星体（ＳＶ）に位置付けされうる。例えば、ＧＰＳ（Global Positioning System）、ガリレオ、ＧＬＯＮＡＳＳ、またはコンパスのようなＧＮＳＳ（Global Navigation Satellite System）のコンステレーション内のＳＶは、そのコンステレーション内の他のＳＶによって送信されたＰＮ符号と区別可能なＰＮ符号で印付けされた信号を送信しうる（例えば、ＧＰＳなどの場合、衛星ごとに異なるＰＮ符号を使用して、または、ＧＬＯＮＡＳＳなどの場合、異なる周波数上で同一の符号を使用して）。特定の態様にしたがい、本明細書に提示される技法は、ＳＰＳのためのグローバルシステム（例えば、ＧＮＳＳ）に制限されない。例えば、本明細書で提供される技法は、日本上にあるＱＺＳＳ（Quasi-Zenith Satellite System）、インド上にあるＩＲＮＳＳ（Indian Regional Navigational Satellite System）、中国上にあるＢｅｉｄｏｕ、等のような様々な局部システム、および／または、１または複数のグローバルおよび／または局部ナビゲーション衛星システムと関連付けられうるか、あるいは、それらとの使用が可能となるようにされた様々なオーグメンテーションシステム（例えば、ＳＢＡＳ（Satellite Based Augmentation System））に適用されうるか、あるいは、それらでの使用が可能にされうる。それに制限されない例として、ＳＢＡＳは、例えば、広域オーグメンテーションシステム（ＷＡＡＳ）、ＥＧＮＯＳ（European Geostationary Navigation Overlay Service）、ＭＳＡＳ(Multi-functional Satellite Aug
mentation System)、および／またはＧＡＧＡＮ（GPS Aided Geo Augmented Navigation or GPS and Geo Augmented Navigation system）など、保全性情報、微分補正、等を提供するオーグメンテーションシステムを含みうる。このように、本明細書で使用される場合、ＳＰＳは、１または複数のグローバルおよび／または局部ナビゲーション衛星システムおよび／またはオーグメンテーションシステムの任意の組み合わせを含み、ＳＰＳ信号は、ＳＰＳ、準ＳＰＳ（SPS-like）、および／または、そのような１または複数のＳＰＳと関連づけられた他の信号を含みうる。
【００１３】
本明細書で使用される場合、パーソナルナビゲーションデバイス（ＰＮＤ)は、セルラまたは他の無線通信デバイス、パーソナル通信システム（ＰＣＳ）デバイス、モバイル局（ＭＳ）、パーソナル情報マネジャ（ＰＩＭ)、携帯情報端末（ＰＤＡ)、ラップトップのようなモバイルデバイス、あるいは無線通信および／またはナビゲーション信号を受信できる他の適切なモバイルデバイスを指す。「モバイル局」という用語はまた、衛星信号受信、支援データ受信、および／または位置関連処理がデバイスで行われるか、ＰＮＤで行われるかに関係なく、短距離無線、赤外線、有線接続、または他の接続によって、パーソナルナビゲーションデバイス（ＰＮＤ)と通信するデバイスを含むことが意図される。また、「モバイル局」は、衛星信号受信、支援データ受信、および／または位置関連処理がデバイスで行われるか、サーバで行われるか、あるいは、ネットワークと関連付けられた他のデバイスで行われるかに関係なく、インターネット、ＷｉＦｉ、または他のネットワークなどを介してサーバと通信できる無線通信デバイス、コンピュータ、ラップトップ、等を含む、すべてのデバイスを含むことが意図される。上記の任意の動作可能な組み合わせもまたＰＮＤであるとみなされる。
【００１４】
図１、２、３は、自動車に設置されたＰＮＤ １０００の様々な視点を示す。図１において、上からみた視点は、ＰＮＤ １０００が自動車１０のダッシュボード上に設置された様子を示す。ＰＮＤ １０００は、自動車１０に機械的に結合される（例えば、スイベルマウント、ブラケット、またはハンズフリーのカーキッドを介して）。自動車１０は、静止中であるか、あるいは、一定の速度で、加速的に、または減速的に移動中である。移動中、自動車１０は、まっすぐに進むか、右折するか、あるいは左折し、特定の高度を維持しうるか、あるいは、高度を徐々に上昇または下昇させうる。自動車の動きが順方向または逆方向のいずれかであると想定され、垂直または横向きへのあらゆる動きが制限されうるように非ホロノミックな制約が課せられうる。ホロノミックなシステムは、位置または姿勢の制約から導き出されえない速度への制約を有する機械システムとしておおまかに説明されうる。
【００１５】
この例において、自動車１０は、順方向に移動している状態で示され、それは、局所基準系（ＬＲＳ）に対する動きの方向５０を定義する。局所基準系は、地球の表面と相対的である。局所基準系において、位置は、局所的に地球に取り付けられたＬＲＳにおいてデカルト座標のセットで表されうる。そのようなＬＲＳの例は、現在または直前の位置に原点を有するＮＥＵ（北、東、上）で識別される。直線運動は、基本方向（Cardinal direction）で表されうるか、あるいは、向首方向（heading）、道路の傾斜、および速度を含む。局所基準系の重心は、上下軸に沿っている。
【００１６】
第２の基準系は、自動車１０によって定義され、基盤基準系（ＰＲＳ)と呼ばれる。自動車内の任意の点が、基盤基準系の原点として設定される。例えば、ダッシュボード上の設置構造、自動車１０の重心、運転手の座席、運転手の視点、または、フロントコーナが、基盤基準系の原点（０，０，０）と定義されうる。基盤基準系において、Ｘ軸は、自動車１０の動き５０の順方向と一致して定義され、Ｙ軸は、自動車１０から左への横軸を表し、Ｚ軸は、自動車１０から縦軸を表しうる。基盤基準系は、自動車の動きが、動きノイズがZ軸（上下）に対して設定された状態で、Ｘ軸の動き（順方向および逆方向）およびＹ軸の動き（左右）に限定されうる場合を除いて、局所基準系から独立している。
【００１７】
第３の基準系は、ＰＮＤ １０００によって定義され、本体基準系（ＢＲＳ)と呼ばれ、それは、ＰＮＤ １０００の本体の方位によって設定される。例えば、ＰＮＤ １００のカメラレンズの中心または画像センサの中心が、本体基準系の原点（０，０，０）として設定されうる。カメラまたは他の画像センサ（カメラ１００と呼ばれる）を有するＰＮＤ １０００の本体基準系において、Ｘ軸は、カメラ１００の画像幅軸を表し、Ｙ軸は、カメラ１００の画像高さ軸を表し、Ｚ軸は、カメラ１００の視点方向に沿った線を定義する。本体基準系は、局所基準系から独立している。本体基準系はまた、基盤基準系からも独立している。すなわち、ＰＮＤ １０００は、基盤基準系において任意の方式で方位付けされうる（例えば、右側を上にして、上下逆に、平らに横たえて）。ＰＮＤ １０００内のすべての慣性センサおよびそれらの感度軸はまた、画像化センサと同一の、直交するＸ、Ｙ、およびＺ軸で定義されうる。
【００１８】
ＰＮＤ １０００のカメラ１００は、視野（ＦＯＶ ３０）を定義し、それは、撮影された画像の角度のある水平幅および垂直幅を説明する。ＦＯＶ ３０は、画像プレーンにおける画像幅軸に対する可視角度と、画像高さ幅に対する可視角度とを定義する。さらに、順方向にまっすぐ移動する場合、カメラの画像プレーン内に、その画像プレーン内の遠くの対象物の投影が開始すると思われる仮想点が存在する。この点は、消失点（ＦＯＥ点２０）と定義される。ＦＯＥ点２０は、動作の方向５０に向く。ＦＯＥ点２０は、カメラの投影中心（ＣＯＰ）で開始し、画像プレーン内のＦＯＥ点２０で終了する仮想の線に沿って方位付けされた単位ベクトルである動きベクトル（
【数１】
0005710784.tif 000002
【００１９】
（以下Ｄと表す））で定義されうる。この示された例において、ＦＯＶ ３０は、ＦＯＥ点２０および動きベクトル（Ｄ）を含む。自動車１０の動き対するカメラの方位に依存して、ＦＯＶ ３０は、FOE点２０および動きベクトル（Ｄ）を含むか含まないに可能性がある。すなわち、ＦＯＥ点２０は、カメラ１００の画像プレーンまたは画像化エリア内に含まれうるか含まれない可能性がある。さらに、ＦＯＥ点２０は、例えば、向きを変えるているか静止中である場合など、自動車１０がまっすぐに移動していない場合、一時的に不明確でありうる。
【００２０】
図２は、自動車１０のダッシュボード上に設置されたＰＮＤ １０００の側面図を示す。ＰＮＤ １０００のカメラ１００は、画像高さ軸（ＢＲＳでＹ軸として示される）にわたってＦＯＶ ３０を定義する。このケースにおいて、ＦＯＥ点２０および動きベクトル（Ｄ）は、ＦＯＶ ３０の範囲内である。示されるように、基盤は、自動車１０によって定義される。動きの方向５０は、動きベクトル（Ｄ）と同じであり、道路の傾斜ぶん、基盤基準系のＸ軸から外れている両方の基準系において、複数の軸は、基準系内で直交して示される。
【００２１】
図３は、ＦＯＥ点２０および動きベクトル（Ｄ）がＦＯＶ ３０の範囲外であるケースの異なる例を示す。これは、ＦＯＥ点２０がカメラ１００の視点内にないことを意味するが、ＦＯＥ点２０および対応動きベクトル（Ｄ）は、依然として、以下に説明されるように計算されうる。この図はまた、カメラ１００が動きの方向５０を外れて指すケースを示す。このケースにおいて、ＦＯＥ点２０は、ＦＯＣ（field of contraction）点と呼ばれる。ＦＯＣ点は、ＦＯＥ点２０を補完する。画像にズームインする代わりに、カメラ１００は、単一のＦＯＣ点から、画像をズームアウトすると思われる。
【００２２】
図４は、本発明の実施形態に従ってＰＮＤ １０００のブロック図を示す。ＰＮＤ １０００は、カメラベースのナビゲーション技法を実現し、カメラ１００、加速度計１１０、ジャイロメータ１２０、位置ロケーションモジュール１３０、メモリ１４０、およびプロセッサ１５０を含む。プロセッサ１５０は、下でさらに説明されるように、これらのモジュールの各々に直接的または間接的に接続されうる。
【００２３】
カメラ１００は、連続的なスチール画像でありうる一連の画像、あるいは、ビデオストリームを獲得する手段として動作する。この実施形態に依存して、カメラ１００によって提供される画像は、アナログまたはデジタルであり、高解像度、中解像度、または低解像度でありうる。カメラ１００は、単一のレンズを有するか、あるいは、ステレオカメラでありうる（一連の画像として、左の画像と右の画像を提供する）。プロセッサ１５０は、位置決定を向上させ、推測航法ナビゲーションを向上させ、センサ較正を可能にするために、これらの画像を分析する。
【００２４】
加速度計１１０は、直線加速度測定値（未加工の加速度測定値(raw acceleration measurements)として識別される）を生成し、それは、本体基準系と相対的である。ジャイロメータ１２０は、角加速度測定値（未加工のジャイロメータ測定値として識別される）を生成し、それもまた、本体基準系と相対的である。ジャイロメータ１２０は、ジャイロメータ測定値を較正するために、オフセットおよびスケーリングファクタｋの両方に対して更新を要求しうる。加速度計１１０もまた、加速度計測定値を較正するために、オフセットとスケーリングファクタｋに対して更新を要求しうる。
【００２５】
加速度計１１０およびジャイロメータ１２０は各々、既知のＭＥＭＳデバイスによって提供されるもののような、１、２、または３次元のモジュールでありうる。すなわち、加速度計１１０は、単一軸の加速度計、二つの軸の加速度計、または、３次元（３Ｄ）の加速度計でありうる。同様に、ジャイロメータ１２０は、単一軸のジャイロメータ、二つの軸のジャイロメータ、または３Ｄのジャイロメータでありうる。しかしながら、最も効果的にするために、ＰＮＤ １０００は、３Ｄモジュールを含む。３Ｄセンサは、３つの直交軸に沿って（直線の）またはそれらの周り（角度のある）を感知する。例えば、加速度計１１０は、本体基準系において３つの直交するＸ−Ｙ−Ｚ軸に沿って直線加速度を感知する３Ｄモジュールでありうる。同様に、ジャイロメータ１２０は、３つの直交軸の周りの角加速度を感知する３Ｄモジュールでありうる。加速度計１１０およびジャイロメータ１２０は、別々のモジュールとして示されるが、それらは、単一の慣性センサモジュールに統合されうる。
【００２６】
未加工のセンサ測定値は、加速度およびジャイロメータ測定値としてプロセッサ１５０に直接提供され、あるいは代替的に、未加工のセンサ測定値は、フィルタリングおよび／または積分されて(integrated)、加速度およびジャイロメータ測定値としてプロセッサ１５０に提供されうる。未加工のセンサ測定値は、加速度を示す（加速度計１１０は直線加速度測定値を生成し、ジャイロメータ１２０は、角加速度測定値を生成する）。未加工のセンサ測定値の第１の積分は、直線加速度および角加速度を、直線速度および角速度に変換する。第２の積分は、直線速度および角速度を、直線変位および角変位に変換し、それは、推測航法位置推定値に使用されうる。フィルタリングおよび／または積分は、慣性センサ内で行われるか、代替的にプロセッサ１５０内で行われるか、あるいは一部分が慣性センサで行われ、一部分がプロセッサ１５０で行われうる。
【００２７】
本体基準系において最初の未加工のセンサ測定値が得られるため、測定値は、それらが積分される前に、最終的に局所基準系に変換されなければならない。いくつかの異なるアプローチが使用されうる。第１のアプローチは、２つのステップを使用する。第１のステップは、第１の回転行列（ＣＰＲＳ←ＢＲＳ）を使用して、本体基準系における未加工の測定値を、基盤基準系における暫定測定値に変換することを含む。いくつかの実施形態において、測定値は、基盤基準系におけるこの暫定測定値に対して制約を課すことによって変えられる。例えば、横向き加速度および／または垂直加速度は、フィルタリングされるか、ゼロにされるか、あるいは、他の方法で制限されうる（例えば、非ホロノミックな制約を用いて制限される）。第２のステップは、第２の回転行列（ＣＬＲＳ←ＰＲＳ）を使用して、基盤基準系における暫定測定値を、局所基準系における測定値に変換する。この測定値は、次に、二重積分を経験する。異なるアプローチは、第３の回転行列だけを使用し、暫定的なデータを計算しない。暫定的なデータが変えられなかった場合、第１および第２の変換行列は、第３の回転行列へと組み合わせられうる（ＣＬＲＳ←ＢＲＳ＝ＣＬＲＳ←ＰＲＳ×ＣＰＲＳ←ＢＲＳ）。いずれのケースにおいても、正確かつ頻繁に更新された変換行列は、蓄積されたノイズおよび誤差がより少ない積分結果に帰着する。
【００２８】
位置ロケーションモジュール１３０は、ＧＮＳＳ受信機または他の衛星受信機（例えば、ＧＰＳ受信機）および／または疑似衛星受信機でありうる。位置ロケーションモジュール１３０は、ＳＰＳロケーション情報を生成し、それは、未処理信号（例えば、未加工のＳＰＳ信号）から、完全に処理された信号（例えば、経度／緯度位置、または経度／緯度／高度（ＬＬＡ）位置、および／または直線変位）へと多岐にわたりうる。ＳＰＳロケーション情報は、局所基準系を定義するために使用されうる。
【００２９】
プロセッサ１５０は、カメラ１００から一連の画像を、慣性センサ（加速度計１１０およびジャイロメータ１２０の両方）から未加工の慣性センサ測定値を受信する。プロセッサ１５０は、以下で詳細に説明されるように、カメラ１００からの一連の画像に基づいて、および、重力ベクトルに対する推定方向に基づいて、第１、第２、および／または第３の回転行列（ＣＰＲＳ←ＢＲＳ、ＣＬＲＳ←ＰＲＳ、およびＣＬＲＳ←ＢＲＳ）の初期値を決定するように構成される。この場合、プロセッサ１５０は、一連の画像に基づいて回転行列の初期値を決定する手段として動作する。
【００３０】
プロセッサ１５０は、一連の画像に基づいて、重力ベクトルの初期値を決定し、この重力ベクトルをメモリ１４０に保存するように構成される。重力ベクトルは、部分的に、第１の回転行列（ＣＰＲＳ←ＢＲＳ）を方位付けし、後に、加速度計の測定値における重力の効果を間接的にヌルにするために使用される。
【００３１】
センサ測定値および一連の画像に基づいて、プロセッサ１５０は、重力ベクトルを決定し、回転行列を初期化および更新し、ジャイロメータ１２０を較正し、推測航法を使用して位置推定値を提供する。すなわち、プロセッサ１５０は、重力ベクトルおよび回転行列をメモリ１４０に書き込む手段として動作する。プロセッサ１５０は、後に、本体基準系、基盤基準系、および局所基準系の間で変換する際、メモリ１４０から回転行列を使用する。メモリ１４０は、プロセッサ１５０によって初期化および更新された回転行列を保持する。
【００３２】
図５は、本発明の実施形態にしたがった、推測航法についてのデータフロー図を示す。
【００３３】
２００において、プロセッサ１５０は、加速度計１１０から未加工の加速度推定値を受信する。この未加工の加速度測定値は、本体基準系に関して提供される。プロセッサ１５０は、あらゆる既知の加速度計オフセットを、未加工の加速度測定値から除去して、本体基準系において、依然として重力は有するがあらゆる既知の加速度計オフセット誤差がない未加工の加速度をもたらす。
【００３４】
２１０において、メモリ１４０でみつかる第１の回転行列（ＣＰＲＳ←ＢＲＳ）を使用して、プロセッサ１５０は、既知の加速度計オフセットがない未加工の加速度を本体基準系から基盤基準系に変換し、中間加速度測定値をもたらす。
【００３５】
２２０において、プロセッサ１５０は、中間加速度測定値に対して非ホロノミックな制約を課す。例えば、プロセッサ１５０は、加速が横方向（基盤基準系における横向きまたはＹ軸）にはできないが、動きの方向５０と一致した順方向および逆方向（それは、基盤基準系におけるＸ軸である）および上下（それは、基盤基準系におけるＺ軸である）に限定されるか、あるいは主にそうである、と仮定する。中間加速度測定値が基盤基準系で表されるため、プロセッサ１５０は、データの横向きコンポーネント（Ｙ軸）をゼロに設定するか、あるいは、減衰させて、順方向コンポーネント（Ｘ軸）および、垂直コンポーネント（Ｚ軸）のみを残し、結果として、基盤基準系における制約済み加速度測定値をもたらす。
【００３６】
このステップは、ある時間にわたって横向き平均値を決定し、この平均値ぶん横向きコンポーネントを調整することによって変更されうる。この方法において、加速度計１１０のＹ軸（基盤基準系における）に沿った横向き較正誤差は、除去または減少させられる。
【００３７】
２３０において、プロセッサ１５０は、基盤基準系における制約済み加速度測定値を受信する。第２の回転行列（ＣＬＲＳ←ＰＲＳ）は、基盤基準系と、局所基準系との間でデータを変換する手段である。メモリ１４０でみつかる第２の回転行列（ＣＬＲＳ←ＰＲＳ）を使用して、プロセッサ１５０は、局所基準系に制約済み加速度測定値を基盤基準系から変換する。
【００３８】
２４０において、重力による効果を表す、重力コンポーネントまたは重力ベクトルは、制約済み加速度測定値から除去され、重力のない制約済み加速度測定値をもたらす。このように、プロセッサ１５０は、重力ベクトルを使用して、加速度測定値における重力の効果をヌルにする。重力ベクトルは、局所基準系における制約済み加速度測定値のローパスフィルタまたは長期平均化を使用して決定されうる。自動車が水平プレーンにおいて水平な状態にならない（すなわち、非ゼロの道路の傾斜）可能性があるため、基盤基準系では重力は除去されない。すなわち、基盤基準系におけるＺ軸は、重力の真の方向を表さない可能性がある。重力ベクトルが除去されると、非重力の垂直加速度および順方向／逆方向加速度が残る。
【００３９】
２５０において、プロセッサ１５０は、局所基準系における制約済み加速度測定値に対して二重積分を行い、加速度計ベースの直線変位をもたらし、それは、推測航法に使用されうる。例えば、二重積分動作は、推定方向または向首方向および移動距離に帰着しうる。プロセッサ１５０は、数ミリ秒の期間にこれらのステップ２００〜２５０を行い、それによって、決定された移動距離および回転は、この数ミリ秒の間に生じた移動距離および回転を表しうる。推定された長さと方向は、以前の位置または以前の推定位置で蓄積され、推定された現在位置をもたらしうる。
【００４０】
２６０において、典型的な変換が示される。２つの回転行列および非ホロノミックな制約を使用する本発明のステップ２００〜２５０とは異なり、既知のシステムは、未加工の加速度測定値を本体基準系から局所基準系に直接変換するために第３の回転行列（ＣＬＲＳ←ＢＲＳ）しか使用しない。この既知のケースにおいて、加速度測定値は、中間ステップで制約されず、単一の回転行列だけが使用されうる。
【００４１】
本発明の実施形態に従って、未加工の測定値は、本体基準系から基盤基準系に変換され（第１の回転行列（ＣＰＲＳ←ＢＲＳ）を使用して）、この場合、非ホロノミックな制約が課せられ、次に、基盤基準系から局所基準系に変換され（第２の回転行列（ＣＬＲＳ←ＰＲＳ）を使用して）、この場合、変換された測定値は、二重積分を経験する。ＰＮＤ １０００がそのマウントで調整されるたびに、第１の回転行列（ＣＰＲＳ←ＢＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）は、更新または再初期化されなければならない。自動車１０が向きを変えるたびに、第２の回転行列（ＣＬＲＳ←ＰＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）は、更新される（例えば、ジャイロメータ測定値を使用して）。
【００４２】
図６、７、８、９、１０は、本発明の実施形態に従って、回転行列、基準ベクトルのペア、および基準系を関係付ける。Ｗａｈｂａ問題への解決策において基準ベクトルのペアが使用される。このアルゴリズムは、４つの入力値として２つの異なる基準システムにおける基準ベクトルの共通のペアを使用する。４つの入力値の各々は、単一ベクトルでありうるか、あるいは、ベクトルの統計的セットでありうる。４つの単一ベクトルは、Ｗａｈｂａ問題への解決法を取得するために、適用されうる。代替的に、ベクトルの１乃至４つの測定セットが、対応する単一のベクトルに取って代わりうる。Ｗａｈｂａ問題の出力値は、第１、第２、または第３の回転行列である。代替的に、最小二乗アルゴリズムは、回転行列を形成するために、ベクトルの統計的セットに適用されうる。
【００４３】
図６において、様々な回転行列が使用され、様々な基準系間で測定値を変換する。本体基準系における測定値は、第１の回転行列（ＣＰＲＳ←ＢＲＳ）を用いて基盤基準系に変換されうる。第１の回転行列（ＣＰＲＳ←ＢＲＳ）は、ＰＮＤ １０００と自動車１０との間での相対的な方位を表す。ＰＮＤ １０００がそのマウントで調整されない限り、第１の回転行列（ＣＰＲＳ←ＢＲＳ）は、一定のままである。しかしながら、ＰＮＤ １０００が自動車１０に対して調整されると、第１の回転行列（ＣＰＲＳ←ＢＲＳ）は、更新されるか、再初期化されなければならない。
【００４４】
基盤基準系における測定値は、第２の回転行列（ＣＬＲＳ←ＰＲＳ）を用いて局所基準系に変換されうる。第２の回転行列は、自動車１０と地球との間の相対的な方位を表す。自動車１０が向きを変えるたびに、第２の回転行列（ＣＬＲＳ←ＰＲＳ）は、更新される（例えば、ジャイロメータ測定値を使用して）。このように、第２の回転行列（ＣＬＲＳ←ＰＲＳ）は、自動車１０が移動している際に更新されることが多い。
【００４５】
完全性のために、本体基準系における測定値は、第３の回転行列（ＣＬＲＳ←ＢＲＳ）を使用して局所基準系に変換されうる。第３の回転行列（ＣＬＲＳ←ＢＲＳ）は、ＰＮＤ １０００がマウントにおいて調整されるか、自動車１０が向きを変えた場合、更新されるだろう。
【００４６】
逆方向に測定値を変換するために、逆の変換が使用されうる。例えば、測定値を基盤基準系から本体基準系に変換するために、第１の回転行列の逆（ＣＢＲＳ←ＰＲＳ＝ＩＮＶ（ＣＰＲＳ←ＢＲＳ）が使用されうる。同様に、測定値を局所基準系から基盤基準系に変換するために、第２の回転行列の逆（CＰＲＳ←ＬＲＳ＝ＩＮＶ（ＣＬＲＳ←ＰＲＳ）が使用されうる。同様に、測定値を局所基準系から本体基準系に変換するために、第３の回転行列の逆（ＣＢＲＳ←ＬＲＳ＝ＩＮＶ（ＣＬＲＳ←ＢＲＳ）が使用されうる。
【００４７】
一般的に、３つの回転行列のうちのいずれかが、他の２つの回転行列の組み合せを用いて形成されうる。例えば、第１の回転行列は、（ＣＰＲＳ←ＢＲＳ）＝（ＣＬＲＳ←ＢＲＳ）×ＩＮＶ（ＣＬＲＳ←ＰＲＳ）によって形成され、第２の回転行列は、（ＣＬＲＳ←ＰＲＳ）＝ＩＮＶ（ＣＰＲＳ←ＢＲＳ）×（ＣＬＲＳ←ＢＲＳ）によって形成され、第３の回転行列は、（ＣＬＲＳ←ＢＲＳ）＝（ＣＰＲＳ←ＢＲＳ）×（ＣＬＲＳ←ＰＲＳ）によって形成されうる。
【００４８】
適切な基準系において入力ベクトルの適切なペアを用いて、これらの回転行列の各々は、Ｗａｈｂａ問題によって解決されうる。
【００４９】
図７において、表は、３つの基準ベクトルペア間での数学的な対応の概要を示す。各ペアにおける第１の基準ベクトルは、重力の方向（
【数２】
0005710784.tif 000003
【００５０】
（以下ｇと表す））である。各ペアにおける第２の基準ベクトルは、走行方向（Ｄ）である。
【００５１】
本体基準系において、第１の基準ベクトルは、重力ベクトル
【数３】
0005710784.tif 000004
【００５２】
（以下ｇＢＲＳと表す）として識別され、識別された第２の基準ベクトルは、方向ベクトル（
【数４】
0005710784.tif 000005
【００５３】
（以下ＤＢＲＳと表す）である。ＰＮＤ １０００が偶然にも完璧に垂直に位置付けされ、順方向にまっすぐに向き、まっすぐかつ平坦に進んでいる自動車１０内を移動する稀なケースにおいて、重力ベクトル（ｇＢＲＳ）は、本体基準系におけるＹ軸と一致し、方向ベクトル（ＤＢＲＳ）は、本体基準系におけるＺ軸と一致しうる。
【００５４】
基盤基準系において、第１の基準ベクトルは、重力ベクトル（
【数５】
0005710784.tif 000006
【００５５】
（以下ｇＰＲＳと表す））であり、それは、道路の傾斜ぶんオフセットされた自動車１０の垂直Ｚ軸に沿っており、第２の基準ベクトルは、Ｘ軸、すなわち、自動車１０の方向ベクトル（
【数６】
0005710784.tif 000007
【００５６】
（以下ＤＰＲＳと表す））である。最後に、局所基準系において、第１の基準ベクトルは、上下、すなわち、Ｚ軸または重力ベクトル（
【数７】
0005710784.tif 000008
【００５７】
（以下ｇＬＲＳと表す））に沿っており、第２の基準ベクトルは、方向ベクトル（
【数８】
0005710784.tif 000009
【００５８】
（以下ＤＬＲＳと表す））であり、それは、自動車１０の走行方向であり、ＧＰＳ速度ベクトルで、または、道路方向へのマップマッチングによって設定されうる。
【００５９】
本発明の実施形態を行う際、いくつかの課題が存在しうる。第１の課題は、重力ベクトルを正確に決定することであり、それは、下で説明される計算のうちのいくつかの土台として使用され、図８に関してさらに説明される。第２の課題は、第２の回転行列（ＣＬＲＳ←ＰＲＳ）を正確に決定することであり、それは、上述されたステップ２２０（図５）で適用され、図９および１０に関して下でさらに説明される。第３の課題は、第３の回転行列（ＣＬＲＳ←ＢＲＳ）を正確に決定することであり、それは、第１の回転行列（ＣＰＲＳ←ＢＲＳ）を計算するために使用され、図１１および１２に関して下にさらに説明される。第４の課題は、第２の回転行列（ＣＬＲＳ←ＰＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）から導き出された第１の回転行列（ＣＰＲＳ←ＢＲＳ）を計算することであり、それは、上のステップ２０５（図５）で使用され、図１３に関して下にさらに説明される。第５の課題は、更新された回転行列を維持することであり、それは、図１４に関して下にさらに説明される。第６の課題は、ジャイロメータ較正を更新することであり、それは、図１５に関して下にさらに説明される。第７の課題は、ＰＮＤ １０００が自動車１０内のマウントにいつ再配置されたかを決定し、それは、第１の回転行列（ＣＰＲＳ←ＢＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）を無効にし、これらの回転行列の新たな初期化をトリガし、それは、図１６で関してさらに下に記述される。
【００６０】
第１の課題への解決策：
第１の課題は、重力ベクトルを正確に決定することであり、それは、下で説明される計算のうちのいくつかの土台として使用され、図８に関してさらに説明される。
【００６１】
本体基準系に関して重力ベクトルを見つけるために、典型的なデバイスは、ある時間にわたって本体基準系における加速度測定値を平均化し、それは、静止中であるか移動中であるかに関係なく行われる。時間がたつにつれ、デバイスの動きによる非重力加速度は相殺し、合計がゼロになるため、長期的な平均化の後の加速度の残りのコンポーネントは、重力だけである。デバイスが地球に対して一定の方位を維持する場合、この重力ベクトルは、正確である。しかしながら、デバイスが地球に対して新たに方位付けされた場合、長期的な平均化は、重力コンポーネントを破壊的に組み合せ、この重力ベクトルは、不正確になる。さらに、デバイスが新たに方位付された場合、第１の回転行列もまた不正確である。新たに方位付されたデバイスが重力および第１の回転行列の正確性を狂わすというこの固有な問題を軽減するために、以下で説明されているように、カメラ１００からの一連の画像が使用されうる。
【００６２】
図８は、本発明の実施形態に従って、初期の重力ベクトルを設定するためのプロセスを示す。プロセッサ１５０は、カメラ１００からの画像に基づいて重力較正を決定する。
【００６３】
３００において、プロセッサ１５０は、複数の画像を受信し、この画像を使用して、ＰＮＤ １０００がいつゼロ動き状態であるかを決定する。例えば、時系列の画像の１つのペア（または、時系列の画像の複数のペア）は、画素ごとに対比または差し引かれ、画像が異なるロケーションから撮影されたか否かを決定し、それによって、ＰＮＤ １０００が動きを経験していることを示す。代わりに、連続した画像が単一のカメラ画像で時間経過により撮影されることができる。低速撮影画像が分析され、ぼけが存在するか否か、および、このぼけが動きによるものか否かを決定しうる。低速撮影画像は、効率的に、連続した一連の画像を含み、それは、連続した一連の画像のうちの第１の画像から連続した一連の画像のうちの最後の画像へのぼけとして現れる。プロセッサ１５０は、単一のゼロ動き検出、あるいは、平均化または他の方法でフィルタリングされたゼロ動き検出のシーケンスに基づいて動きが存在しないことを決定しうる。
【００６４】
代わりに、プロセッサ１５０は、ゼロ加速度状態の存在を決定しうる。ゼロ加速度状態は、ＰＮＤ １０００が、重力による加速度しか経験しておらず、静止中または移動中でありうる場合に発生する。このより緩い規格の場合、ＰＮＤ １０００は、一定の速度で移動中であり、よって、直線加速度または角加速度を経験していない。時間的に間隔があけられた３つ以上の一連の画像は、ＰＮＤ １０００が一定の速度で一定の方向に移動中であるか否かを決定するために使用されうる。例えば、プロセッサ１５０は、３つの連続画像に共通したＦＯＥ点２０および自然な特徴を分析しうる。ＦＯＥ点２０が各画像の一定の地点にあり続けることをプロセッサ１５０が決定した場合、ＰＮＤ １０００は、向きが変わったことによる角加速度を経験していない。自然の特徴が一定の速度で予想通りに進んでいるとプロセッサ１５０が決定すると、ＰＮＤ １０００は、加速または減速による直線加速度を経験していない。
【００６５】
３１０において、動きが検出されなかった場合（あるいは、重力以外の加速度がなかった場合）、プロセッサ１５０は、重力ベクトル（ｇＢＲＳ）が現在の加速度計測定値と等しくなるように設定しうる。プロセッサ１５０は、対応する一連のゼロ動き検出に基づいて重力ベクトル（ｇＢＲＳ）を決定するために、一連のそのような加速度値を平均化しうる。すなわち、ＰＮＤ １０００がある時間期間にわたって動いていないと決定された場合、加速度計測定値は、平均化された重力ベクトル（ｇＢＲＳ）を決定するために、この時間期間にわたって平均化されうる。
【００６６】
プロセッサ１５０は、道路の傾斜ぶんオフセットされた自動車の垂直軸（Ｚ軸）を使用することによって、基盤基準系における重力ベクトル（ｇＰＲＳ）を決定しうる。プロセッサ１５０は、局所基準系の上下軸を使用することによって局所基準系における重力ベクトル（ｇＬＲＳ）を定義する。
【００６７】
重力ベクトル（ｇＢＲＳ）、（ｇＰＲＳ）、および（ｇＬＲＳ）の各々は、将来的な使用のためにメモリ１４０に保存されうる。上述された方法において、プロセッサ１５０は、一連の画像に基づいて重力ベクトルの初期値を決定する。重力ベクトルは、後に、ステップ２１０（図５）に関して上述されたように加速度測定値からの重力の影響をヌルにするために使用され、以下に示されるようにＷａｈｂａ問題への入力ベクトルとして使用されうる。
【００６８】
第２の課題への解決策：
第２の課題は、第２の回転行列（ＣＬＲＳ←ＰＲＳ）を正確に決定することであり、それは、上のステップ２２０（図５）で適用され、図９および１０に関してさらに下で説明される。図９および図１０は、本発明の実施形態に従って、初期の第２の回転行列（ＣＬＲＳ←ＰＲＳ）を設定するために、ベクトルのペアに対してＷａｈｂａ問題を適用する。
【００６９】
図９において、Ｗａｈｂａ問題は、基盤基準系からの基準ベクトルの第１のペア、および、局所基準系からの基準ベクトルの第２のペアに適用される。同じように、各ペア内の第１の基準ベクトルは、重力の方向（ｇ）であり、各ペアの第２の基準ベクトルは、走行方向（Ｄ）である。詳細に、基盤基準系において、第１の基準ベクトルは、重力ベクトル（ｇＰＲＳ）であり、第２の基準ベクトルは、方向ベクトル（ＤＰＲＳ）であり、局所基準系において、第１の基準ベクトルは、重力ベクトル（ｇＬＲＳ）であり、第２の基準ベクトルは、方向ベクトル（ＤＬＲＳ）である。
【００７０】
基盤基準系における重力ベクトル（ｇＰＲＳ）は、平均して自動車の傾斜がゼロであるため、加速計測定値の長期平均化から想定されうる。すなわち、長期にわたって、自動車１０は、上り坂および下り坂を進むか、または、ほぼ同じ時間量、左、右、上、下に傾く。基盤基準系における方向ベクトル（ＤＰＲＳ）は、自動車１０のＸ軸である。
【００７１】
局所基準系における重力ベクトル（ｇＬＲＳ）は、局所基準系における垂直軸（すなわち、高度軸または上下軸）として定義される。局所基準系における方向ベクトル（ＤＬＲＳ）は、例えば、ＧＮＳＳまたはＧＰＳ信号から決定される。
【００７２】
基準ベクトルのこれらの２つのペアは、第２の回転行列（ＣＬＲＳ←ＰＲＳ）を見つけるために使用される。非ゼロの道路の傾斜が存在する場合、基準ベクトルのペアが直交しないことに注意されたい。基準ベクトルは、統一基準ベクトルを形成するために、非正規化基準ベクトルの大きさにによって正規化されうる。２つの基準系における基準ベクトルの２つのペアを相関付け、回転行列に帰着するためのこのアルゴリズムは、Ｗａｈｂａ問題への解決策であり、第２の回転行列（ＣＬＲＳ←ＰＲＳ）は、Ｗａｈｂａ問題を適用することによって形成される。
【００７３】
図１０は、プロセッサ１５０が第２の回転行列（ＣＬＲＳ←ＰＲＳ）を形成するためのプロセスを示す。位置ロケーションモジュール１３０は、局所基準系におけるロケーション測定値を提供する。ロケーション測定値は、ＧＮＳＳ衛星情報（ＧＰＳ情報のような）でありうる。オプション的に、４００において、プロセッサ１５０は、位置ロケーションモジュール１３０からのロケーション測定値を制約するために、マップマッチングアルゴリズムを使用する。４１０において、プロセッサ１５０は、直接的に、位置ロケーションモジュール１３０からのロケーション測定値に基づいて、または、マップマッチングからの制約されたロケーション測定値に基づいて、局所基準系における動きベクトル（ＤＬＲＳ）を決定する。
【００７４】
４２０において、プロセッサ１５０は、基盤基準系における重力ベクトル（ｇＰＲＳ）および方向ベクトル（ＤＰＲＳ）、並びに、局所基準系における重力ベクトル（ｇＬＲＳ）および方向ベクトル（ＤＬＲＳ）を受け入れる。これらのベクトルは、後で使用するために、メモリ１４０に保存されうる。プロセッサ１５０は、方向ベクトル（ＤＰＲＳ）が基盤基準系におけるＸ軸と一致している、と想定しうる。プロセッサ１５０はさらに、重力ベクトル（ｇＬＲＳ）が局所基準系における上下軸と一致している、と想定しうる。Ｗａｈｂａ問題への解決策は、これら４つのベクトルを適用して、第２の回転行列（ＣＬＲＳ←ＰＲＳ）を計算し、それは、メモリ１４０に保存される。この方法において、初期の第２の回転行列（ＣＬＲＳ←ＰＲＳ）が決定される。
【００７５】
第３の課題の解決策：
第３の課題は、第３の回転行列（ＣＬＲＳ←ＢＲＳ）を正確に決定することであり、それは、第１の回転行列（ＣＰＲＳ←ＢＲＳ）を計算するために使用され、図１１および１２に関して下にさらに説明される。図１１において、Ｗａｈｂａ問題はまた、本体基準系の基準ベクトルの第１のペア、および、局所基準系の基準ベクトルの第２のペアに適用される。本体基準系において、第１の基準ベクトルは、重力ベクトル（ｇＢＲＳ）として識別され、識別された第２の基準ベクトルは、方向ベクトル（ＤＢＲＳ）である。局所基準系において、第１の基準ベクトルは、重力ベクトル（ｇＬＲＳ）であり、第２の基準ベクトルは、方向ベクトル（ＤＬＲＳ）である。基準ベクトルのペアは、自動車１０が道路の傾斜上にある場合、直交しない。
【００７６】
図１２は、プロセッサ１５０が第３の回転行列（ＣＬＲＳ←ＢＲＳ）を形成するためのプロセスを示す。この場合も、図１０においてオプションのステップ４００およびステップ４１０で上述されたように、局所基準系における方向ベクトル（ＤＬＲＳ）が形成される。
【００７７】
４３０において、プロセッサ１５０は、カメラ１００から一連の画像を撮影し、ＦＯＥ点２０を決定する。４４０において、プロセッサ１５０は、ＦＯＥ点２０から本体基準系における方向ベクトル（ＤＢＲＳ）を定義する。この方法において、方向ベクトル（ＤＢＲＳ）は、一連の画像に基づいて決定される。
【００７８】
４５０において、プロセッサ１５０は、本体基準系における重力ベクトル（ｇＢＲＳ）および方向ベクトル（ＤＢＲＳ）、並びに、局所基準系における重力ベクトル（ｇＬＲＳ）および方向ベクトル（ＤＬＲＳ）を受け入れる。これらのベクトルは、後で使用するために、メモリ１４０に保存されうる。プロセッサ１５０は、重力ベクトル（ｇＬＲＳ）が局所基準系における上下軸と一致している、と想定しうる。Ｗａｈｂａ問題への解決策は、これら４つのベクトルを適用して、メモリ１４０に保存される第３の回転行列（ＣＬＲＳ←ＢＲＳ）を計算する。この方法において、初期の第３の回転行列（ＣＬＲＳ←ＢＲＳ）が決定される。
【００７９】
第４の課題への解決策：
第４の課題は、第２の回転行列（ＣＬＲＳ←ＰＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）から導き出された第１の回転行列（ＣＰＲＳ←ＢＲＳ）を計算することであり、それは、上のステップ２００（図５）で使用され、図１３に関して下でさらに説明される。４６０において、プロセッサ１５０は、メモリ１４０から第２の回転行列（ＣＬＲＳ←ＰＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）を検索する。プロセッサ１５０は、第２の回転行列（ＣＬＲＳ←ＰＲＳ）の逆行列を計算して、｛ＣＰＲＳ←ＬＲＳ＝ＩＮＶ（ＣＬＲＳ←ＰＲＳ）｝を形成する。次に、プロセッサ１５０は、第３の回転行列(ＣＬＲＳ←ＢＲＳ)と、第２の回転行列(ＣＬＲＳ←ＰＲＳ)の逆行列との行列積を計算し、｛（ＣＰＲＳ←ＢＲＳ）＝（ＣＬＲＳ←ＢＲＳ）×ＩＮＶ（ＣＬＲＳ←ＰＲＳ）｝で第１の回転行列(ＣＰＲＳ←ＢＲＳ)を形成する。
【００８０】
第５の課題への解決策：
第５の課題は、更新された回転行列を維持することであり、それは、図１４に関して下でさらに説明される。
【００８１】
第２の回転行列（ＣＬＲＳ←ＰＲＳ）は、ＰＮＤ １０００と自動車１０との間の相対方位が変化するたびに（例えば、ユーザがマウント上に設置されたＰＮＤ １０００を調整する場合）更新されなければならない。ＰＮＤ １０００が動かされなかった場合、第２の回転行列（ＣＬＲＳ←ＰＲＳ）は、更新される必要はない。同様に、自動車１０が向きを変えるまたは傾斜を変更するたびに、第３の回転行列（ＣＬＲＳ←ＢＲＳ）は更新されなければならない。通常のシナリオにおいて、第２の回転行列（ＣＬＲＳ←ＰＲＳ）は、稀な更新が必要であるが、第３の回転行列（ＣＬＲＳ←ＢＲＳ）は、継続的に更新されなければならない。第２または第３の回転行列のいずれかが更新された場合、第１の回転行列（ＣＰＲＳ←ＢＲＳ）も、図１３に関して上に概略が述べられた手順に従って更新されなければならない。
【００８２】
図１４は、本発明の実施形態に従って、第１、第２、および第３の回転行列を更新するためのデータフロー図を示す。プロセッサ１５０は、ジャイロメータ測定値に基づいて第２および／または第３の回転行列を更新し、第２の回転行列（ＣＬＲＳ←ＰＲＳ）または第３の回転行列（ＣＬＲＳ←ＢＲＳ）のうちのいずれかの更新に基づいて、第１の回転行列（ＣＰＲＳ←ＢＲＳ）を再度算出する。
【００８３】
この点において、プロセッサ１５０は、第１の回転行列（ＣＰＲＳ←ＢＲＳ）が依然として有効である（すなわちＰＮＤ １０００が自動車１０に対して移動していない）ことをすでに決定している。５００において、プロセッサ１５０は、ジャイロメータ１２０から本体基準系における未加工のジャイロメータ測定値を受信し、単一の積分(integration)を行って、本体基準系における積分角度オフセットをもたらす。増分角度オフセット(incremental angular offset)は、ジャイロメータ測定値の持続時間にわたって生じる、局所基準系に関して本体の角度の変化を表す。すなわち、ＰＮＤ １０００と自動車１０との間の相対方位が変化しなかった場合、増分角度オフセットは、全体的に、局所基準系における自動車の動きによるものである。
【００８４】
５１０において、プロセッサ１５０は、メモリ１４０から第３の回転行列（ＣＬＲＳ←ＢＲＳ）を検索し、本体基準系から局所基準系に増分角度オフセットを変換する。
【００８５】
５２０において、プロセッサ１５０は、局所基準系における積分角度オフセットを使用し、メモリ１４０内の第２の回転行列（ＣＬＲＳ←ＰＲＳ）を回転して、更新された第２の回転行列（ＣＬＲＳ←ＰＲＳ）を形成する。同様に、プロセッサ１５０は、積分角度オフセットを使用して、第３の回転行列（ＣＬＲＳ←ＢＲＳ）を回転させるか、あるいは、第１の回転行列（ＣＰＲＳ←ＢＲＳ）と、第２の回転行列（ＣＬＲＳ←ＰＲＳ）との行列積を計算して、更新された第３の回転行列（ＣＬＲＳ←ＢＲＳ）を形成しうる。結果として得られる、更新された第２の回転行列（ＣＬＲＳ←ＰＲＳ）および更新された第３の回転行列（ＣＬＲＳ←ＢＲＳ）は、それらの以前の回転に、積分角度オフセットを足したものを表す。次に、プロセッサ１５０は、更新された第２の回転行列（ＣＬＲＳ←ＰＲＳ）および更新された第３の回転行列（ＣＬＲＳ←ＢＲＳ）をメモリ１４０に保存する。
【００８６】
第６の課題への解決策：
第６の課題は、ジャイロメータ較正値を更新することであり、それは、図１５に関して下でさらに説明される。図１５では、本発明の実施形態に従って、ジャイロメータ較正パラメータを更新するためのデータフロー図が示される。プロセッサ１５０は、カメラ１００からの一連の画像に基づいて、ジャイロメータ１２０の較正を更新する。この方法において、ジャイロメータ１２０は、カメラ１００に機能的に結合される。換言すると、カメラ１００からの画像は、ジャイロメータ１２０を較正するために使用される。
【００８７】
６００において、プロセッサ１５０は、カメラ１００から一連の画像を受信する。プロセッサ１５０は、例えば、画像のペア間の特徴の動きを比較することによって、ＦＯＥ点２０を決定する。一連の画像にわたって、プロセッサ１５０は、１または複数のＦＯＥ点２０を決定しうる。
【００８８】
６１０において、プロセッサ１５０は、ＦＯＥ点２０が静的であるか否かを決定する。すなわち、プロセッサ１５０は、複数の点が、単一のＦＯＥ点２０を表すのにほぼ十分にクラスタ化されるかをチェックするために、決定されたＦＯＥ点２０を比較する。複数のＦＯＥ点２０が、単一のＦＯＥ点２０を表すのにほぼ十分にクラスタ化された場合、ＰＮＤ １０００は、直線で移動している。このケースにおいて、ＰＮＤ １０００は、移動中であり、一定の速度、加速中、または減速中でありうるが、角加速度はまったくまたはほとんど存在しない。一方、ＦＯＥ点２０が、単一の固定エリア外に拡散した場合、ＰＮＤ １０００は、角加速度を経験している（例えば、右折している）。
【００８９】
６２０において、プロセッサ１５０は、ＰＮＤ １０００が角加速度を経験してないと決定し、次に、ジャイロメータオフセット（ＯｆｆｓｅｔＵＰＤＡＴＥ）を決定する。ジャイロメータオフセットは、実際の角度回転がゼロであるべき場合に、ジャイロメータ１２０によって報告された誤った角度回転を表す。すなわち、ジャイロメータ１２０によって報告される任意の回転は、ジャイロメータ１２０の誤り較正によるものでしかない。ジャイロメータ１２０は、将来の測定値を補償および較正するために、ジャイロメータオフセットを使用する。すなわち、ジャイロメータ１２０は、その既存のオフセット（ＯｆｆｓｅｔＥＸＩＳＴＩＮＧ）を更新されたオフセットと組み合わせ、新しいオフセット（ＯｆｆｓｅｔＮＥＷ）をもたらし、ＰＮＤ １０００が回転していない場合に、将来のジャイロメータ測定値がいずれの角度回転も報告しないことを目的として、更新されたジャイロメータオフセット（ＯｆｆｓｅｔＵＰＤＡＴＥ）を形成する（例えば、ＯｆｆｓｅｔＮＥＷ＝ＯｆｆｓｅｔＥＸＩＳＴＩＮＧ−ＯｆｆｓｅｔＵＰＤＡＴＥ）。いくつかの実施形態において、オフセットは、３Ｄベクトルを用いて３次元で同時に調整される。他の実施形態において、オフセットは、各次元で別々に調整される。
【００９０】
６３０において、プロセッサ１５０は、ＰＮＤ １０００がそのマウントで調整されたことによるものではない角加速度をＰＮＤ １０００が経験していることを決定する。第１に、プロセッサ１５０は、一連の画像に基づいて角加速度を決定する。第２に、プロセッサ１５０は、ジャイロメータ１２０のジャイロメータ測定値から角加速度を決定する。第３に、プロセッサ１５０は、ジャイロメータ測定値からの角加速度と画像に基づく角加速度を比較する。次に、プロセッサ１５０は、これら２つの加速度の比を計算しうる。例えば、比は、ｋ＝ジャイロメータ角加速度／画像の角加速度でありうる。ここにおいて、ｋはジャイロメータスケーリングファクタである。ジャイロメータスケーリングファクタｋは、ジャイロメータ１２０によってもたらされる回転誤差を表す。ｋ＝１という値は、画像角加速度とジャイロメータ角加速度との間に誤差が無いことを表す。１．１という値は、ジャイロメータ１２０が１０％ぶん速すぎることを表す。プロセッサ１５０は、このスケーリングファクタｋを、ジャイロメータ１２０に送り、それを、その既存のスケーリングファクタと組み合わせ、新しいスケーリングファクタ（例えば、ｋＮＥＷ＝ＫＯＬＤ／ｋ））をもたらす。いくつかの実施形態において、スケーリングファクタは、３Ｄベクトルを用いて３次元で同時に調整される。他の実施形態において、スケーリングファクタは、それぞれの次元で別々に調整される。この方法において、６００〜６３０に記載されているように、プロセッサ１５０は、カメラ１００から撮影された一連の画像に基づいて、ジャイロメータ較正値（オフセットおよびスケーリングファクタ）を更新する。
【００９１】
ＦＯＥ点２０は、特徴追跡を使用して決定される。複数の特徴の画像から画像への動きを追跡することによって、プロセッサ１５０は、１または複数のＦＯＥ点２０を決定しうる。ＦＯＥ点２０が画像の連続したペアからどのように進むかに基づいて、プロセッサ１５０は、ＰＮＤ １０００が、自動車１０に対して移動したか否か（よって、第１の回転行列が更新されるべきか）、あるいは、自動車１０が移動したか否か（よって、第２および第３の回転行列が更新される必要があるか）を決定しうる。以下の図は、特徴およびＦＯＥ点の処理を説明する。
【００９２】
第７の課題への解決策：
第７の課題は、ＰＮＤ １０００が自動車１９内のマウントにいつ再配置されたかを決定することであり、それは、第１の回転行列（ＣＰＲＳ←ＢＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）を無効にして、これらの回転行列の新たな初期化をトリガし、図１６から初めて下でさらに記述される。マウントの動きが検出されると、図１１および１２に関して上述されたように第３の回転行列（ＣＬＲＳ←ＢＲＳ）が初期化され、第１の回転行列（ＣＰＲＳ←ＢＲＳ）は、図１３に関して上述されたように初期化される。
【００９３】
プロセッサ１５０は、ＰＮＤ １０００が、ＦＯＥ点２０の動きに基づいて移動されたか否かを決定する。ＦＯＥ点２０が静的な点から新しい静的な点に移動した場合、ＰＮＤ １０００は調整されている。ＦＯＥ点２０が、この静的な点からカメラの視点を横切って遷移し、元のＦＯＥ点２０に戻った場合、自動車１０は、直線的な運転から向きの変更に遷移し、直線的な運転に戻る。また、ＰＮＤ １０００が横揺れを経験したとプロセッサ１５０が決定すると、ＰＮＤ １０００は、そのマウントで移動されている。いくつかの実施形態において、プロセッサ１５０は、静的な点の間でのＦＯＥ点の動きと、ＰＮＤ １０００が横揺れを経験していることとをＰＮＤ １０００が示す場合、第１の回転行列（ＣＰＲＳ←ＢＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）を設定または更新する。すなわち、プロセッサ１５０は、新しい静的ＦＯＥ点２０の検出と、横揺れの検出の両方を要求する。他の実施形態において、プロセッサ１５０は、静的な点の間でのＦＯＥ点の動きか、ＰＮＤ １０００が横揺れを経験していることかのいずれかをプロセッサ１５０が決定した場合、第１の回転行列（ＣＰＲＳ←ＢＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）を設定または更新する。
【００９４】
図１６、１７、１８、１９、２０、２１、２２は、本発明の実施形態に従って、互いに関連した特徴を示す。プロセッサ１５０は、一連の画像を受信する。画像の各ペアについて、プロセッサ１５０は、第１の画像から１または複数の自然特徴を識別および抽出し、それによって、対応する点の数を定義する。次に、プロセッサ１５０は、これらの特徴を第２の画像に相関付ける。いくつかの実施形態において、プロセッサ１５０は、各画像から特徴を抽出する。これらの実施形態において、ペアの第２の画像は、次の反復の間に、次のペアの第１の画像になる。他の実施形態において、プロセッサ１５０は、そのた他すべての画像から特徴を抽出する。この方法において、画像のペアはオーバラップしない。
【００９５】
画像のペア内のこれらの特徴の動きに基づいて、プロセッサ１５０は、ＦＯＥ点２０を決定しうる。画像の多数のペアにわたり、プロセッサ１５０は、ＦＯＥ点２０のシーケンスを決定し、それは、ある時間にわたって互いにクラスタ化される（角加速度がないことを示す）か、一時的に、限定エリアの外である（自動車１０の角加速度を示す）か、あるいは、永久的に限定エリアの外でありうる（自動車１０に対するＰＮＤ １０００の角加速度を示す）。
【００９６】
図１７の例において、プロセッサ１５０は、一連の画像内の第１の画像を受信し、第１の画像から１または複数の自然特徴を抽出し、それによって、時間ｔｉに撮られた第１の画像内の対応する第１の複数の点（３つの特徴Ｆ１、Ｆ２、Ｆ３）を定義する。Ｘ−Ｙ画像プレーンにおいて、３つの特徴は、点Ｆ１（ｔｉ）、Ｆ２（ｔｉ）、Ｆ３（ｔｉ）で示される。
【００９７】
図１８において、プロセッサ１５０は、時間ｔｉ+１に撮られた第２の画像内の同一の３つの特徴を識別し、それは、点Ｆ１（ｔｉ+１）、Ｆ２（ｔｉ+１）、Ｆ３（ｔｉ+１）で示される。これらの特徴は、第２の画像と、第１の画像における特徴のまわりの画素のピッチとの間で、相関プロセスによって追跡されうる。
【００９８】
図１９において、プロセッサ１５０は、各特徴Ｆ１、Ｆ２、Ｆ３の第１と第２の位置の間に線を引き、この線の交差地点を識別する。この交差地点は、ＦＯＥ（ｔｉ＋１）として示される時間ｔｉ＋１でのＦＯＥ点２０（またはＦＯＣ点）を表す。この交差地点は、画像のフレーム内またはフレーム外でありうる。いくつかの実施形態において、決定されたＦＯＥ点２０は、本体基準系で表される。他の実施形態において、決定されたＦＯＥ点２０は、局所基準系または基盤基準系で表される。
【００９９】
プロセッサ１５０は、各特徴Ｆ１、Ｆ２、Ｆ３の第１および第２の位置によって形成された複数の線の中心にＦＯＥ点２０を設定しうる。例えば、プロセッサ１５０は、２つの線が交差する点、あるいは、線のクラスタが交差する近くの点（例えば、最低平均二乗点）にＦＯＥ点２０を設定しうる。
【０１００】
ＦＯＥ点２０が画像の中心にある場合、カメラ１００は、移動の線にまっすぐ向いており、ＰＮＤ １０００の本体は、動きの方向５０とアラインされる。時々、動きの方向５０は、ＰＮＤ １０００の本体とアラインされない。ＦＯＥ点２０が中心の水平基準線（幅基準として示される）の上（または下）にある場合、ＰＮＤ １０００は、動きの方向５０に比べて下（または上）に向けられる。ＦＯＥ点２０が、中心の垂直基準線（高度基準として示される）の左（または右）である場合、ＰＮＤ １０００は、動きの方向５０の右（または左）に向けられる。
【０１０１】
共通特徴をつなげる線がある点で交差する場合、２つの画像間にはほとんどまたはまったく横揺れが存在しない。一方、線の複数のペアだけが交差し、交差の各々の間隔があいている場合、ＰＮＤ １０００は、時計回りの横揺れまたは反時計回りの横揺れを経験している可能性がある。ＰＮＤ １０００が横揺れ動作を経験している場合、ＰＮＤ １０００は、自動車のマウントに再配置されている可能性が高く、よって、第１の回転行列（ＣＰＲＳ←ＢＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）は、再計算される必要がある。
【０１０２】
横揺れの量を決定するために、プロセッサ１５０は、ＦＯＥ点２０にらせん状に落下する線の交差を発見しようと試みうる。処理される画像の数および、動きの度数に依存して、プロセッサ１５０は、垂直角度（高度基準に対する）、水平角度（幅基準に対する）、および横揺れ角度（Δα、Δβ、Δθ）の変化を、特徴ロケーションおよびＦＯＥ点２０から決定できる。
【０１０３】
図１９は、３つの対応する画像のペアから、３つのＦＯＥ点２０ ＦＯＥ（ｔ１）＝（α１，β１）、ＦＯＥ（ｔ２）＝（α２，β２）、ＦＯＥ（ｔ３）＝（α３，β３）を示す。ここにおいて、αｉは、ｔｉにおける高度角度を表し、βｉは、幅角度を表す。画像の第１のペアは、ＦＯＥ（ｔ１）に帰着し、画像の第２のペアは、ＦＯＥ（ｔ２）に帰着し、画像の第３のペアは、ＦＯＥ（ｔ３）に帰着する。この例において、最初の２つのＦＯＥ点２０は、α１≒α２およびβ１≒β２となるように、同じ場所に位置付けされるか、あるいは、共にクラスタ化され、第３のＦＯＥ点２０は、α３≠α１および／またはβ３≠β１となるように、最初の２つから離される。このように、最初の２つの画像のペアの間で、ＰＮＤ １０００は、角加速度をほとんどまたはまったく経験していない。画像の第２のペアから第３のペアでは、ＰＮＤ １０００は、（α２，β２）から（α３，β３）へのＦＯＥ遷移によって表されるいくつかの角加速度を経験している。ＦＯＥ点２０が第１の位置に戻らず、その代わりに、新しい位置に静止している場合、ＰＮＤ １０００は、自動車のマウントに対して回転されている（よって、第１の回転行列（ＣＰＲＳ←ＢＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）は変更されなければならない）。ＦＯＥ点２０が第１の位置に戻った場合、自動車１０は、向きの変更を経験している（よって、第１の回転行列（ＣＰＲＳ←ＢＲＳ）は変更されない）。
【０１０４】
図２０において、例示的な側面図は、高度基準線（αＲＥＦ＝０）を有するＰＮＤ １０００およびカメラ１００を示す。最初の２つの方向ベクトル（最初の２つのＦＯＥ点２０ ＦＯＥ（ｔ１）およびＦＯＥ（ｔ２）に基づいて形成される）は同じ場所にあり、それは、画像のペア間のゼロ角加速度を表す。第３の方向ベクトル（第３のＦＯＥ点２０ ＦＯＥ（ｔ３）に基づいて形成される）は、最初の２つの方向ベクトルからずれている。それは、ＰＮＤ １０００が角加速度を経験したことを示す。プロセッサ１５０は、時間ｔ１とｔ２との間で高度角度の変化がないことを決定する一方で、時間ｔ２とｔ３との間での高度角度の変化を制止し、それは、Δα＝α３−α２である。
【０１０５】
図２１において、例示的な上面図は、幅基準線（βＲＥＦ＝０）を有するＰＮＤ １０００およびカメラ１００を示す。最初の２つの方向ベクトルは、同じ場所にあり、第３の方向ベクトルは、最初の２つの方向ベクトルからずれている。それは、ＰＮＤ １０００が時間ｔ３で角加速度を経験したことを示す。プロセッサ１５０は、時間ｔ１とｔ２との間で幅角度の変化がないことを決定する一方で、時間ｔ２とｔ３との間での幅角度の変化を制止し、それは、Δβ＝β３−β２である。
【０１０６】
図２２において、特徴は、第１の画像のＸ−Ｙ画像プレーンの第１のロケーション、および、第２の画像の第２のロケーションで示される。ＰＮＤ １０００が経験した横揺れにより、特徴点Ｆ１（ｔｉ）およびＦ１（ｔｉ+１）は、決定されたＦＯＥ点２０を有する線を形成しない。それぞれ第１の画像および第２の画像の第１の特徴および第２の特徴の横揺れは、基準θＲＥＦ＝０に対して、θ＝θ１およびθ＝θ２である。第１の画像と第２の画像との間でＰＮＤ １０００が経験する対応する横揺れは、Δθ＝θ２−θ１である。ＰＮＤ １０００が横揺れを経験した場合、第１の回転行列（ＣＰＲＳ←ＢＲＳ）および第３の回転行列（ＣＬＲＳ←ＢＲＳ）が適宜更新されうる。
【０１０７】
図２３、２４、２５は、本発明の実施形態に従って、画像処理のためのデータフロー図を示す。いくつかの実施形態では、カメラ１００からの最大解像度画像は必要ない。最大解像度画像をサブ解像度画像に減らすことによって、プロセッサ１５０は、計算および記憶メモリの使用を少なくし、一連の画像をより迅速に処理しうる。
【０１０８】
図２３の７００において、プロセッサ１５０は、カメラ１００から一連のデジタル画像を獲得する手段として動作する。代替的に、カメラ１００とプロセッサ１５０との間のアナログ／デジタル変換器は、カメラ１００からのアナログ画像をデジタル画像（例えば、１．５〜１０Ｍ画素／画像）に変換することによって、一連の画像を獲得する手段として動作する。代替的に、カメラ１００は、一連の画像を獲得するための手段として動作し、デジタル画像をプロセッサ１５０に直接供給する。
【０１０９】
７１０において、プロセッサ１５０は、デジタル画像を再度サンプリングして、デジタル画像の解像度を減らして、より低い解像度の画像（例えば、３２０×２４０または６４０×４８０）にする。７２０において、プロセッサ１５０は、強度情報または強度値を抽出し、それによって、画像の解像度をさらに減らして、低い解像度の画像（例えば、グレースケール）にする。再度サンプリングする動作または再度サンプリングおよび強度抽出する動作は、プロセッサ１５０によって、カメラ１００によって、２つの間のハードウェアによって、あるいは、カメラ１００、追加のハードウェア、および／またはプロセッサ１５０の組み合わせによって行われうる。解像度が十分に低い場合、ステップの一方または両方が省略されうる。
【０１１０】
図２４の７３０に進み、プロセッサ１５０は、１または複数の自然特徴を抽出し、ここで、Ｆｊ（ｔｊ）は、特徴リストを生成または更新するための、画像ｉ内の時間ｔｉにおける第ｊの特徴のロケーションを表す。各特徴は、画像内の画素のパッチ（例えば、８×８または１５×１５画素）によって定義されうる。
【０１１１】
７４０において、プロセッサ１５０は、特徴追跡を実施する。すべての特徴または特徴のセットは、ペアのうちの次の画像において探索される。例えば、プロセッサ１５０は、画素ピッチと次の画像との間の相関付けを行い、次の画像上で特徴の位置を位置づけする。
【０１１２】
７５０において、プロセッサ１５０は、特徴リストから異常な特徴を除去しうる。異常な特徴は、次の画像内に対応する特徴を有さない画像で見つかる特徴でありうる（逆もまた同様である）。特徴リストは、ある時間にわたって進化し、すでに画像内で見つからない古い特徴をドロップし、新しい特徴が新しい画像で検出されるとそれを追加する。
【０１１３】
７６０において、プロセッサ１５０は、１または複数のレンズ収差を説明するために、特徴のロケーションを調整する。この方法において、プロセッサ１５０は、レンズ収差を除去するために一連の画像を修正する。いくつかの例において、高品質レンズは、画像に対して、ほとんどまたはまったく歪みを誘導しない。低品質レンズは、線における点が画像上の線に現れないように、撮影画像を歪める欠点を有しうる。レンズ歪みの一般的な形式は、レンズによる不均一な倍率（magnification）からくるものであり（例えば、樽形歪曲および糸巻形歪曲）、それは、画像の中心とは異なるように画像の周囲の長さを拡大する。樽形歪曲の場合、倍率は、画像のエッジに向けて縮小する。糸巻形歪曲の場合、倍率は、端の画像を縮小または狭める。プロセッサ１５０は、特徴の相対ロケーションがより適切に表されるように、この歪みを除去し、それによって、ある時間にわたって、修正された特徴リストを提供する。プロセッサ１５０は、未加工の画像またはより低い解像度の画像に対してというよりはむしろ、選択された数の点（例えば、検出および追跡された特徴）に対して、この修正を行い、それによって、計算に必要な処理を減らしうる。
【０１１４】
修正された特徴の点が図１６および１７に示される。追跡された特徴のペア（第１の画像からの１つと、第２の画像からの追跡された特徴）は、Ｘ−Ｙ画像プレーンで線を定義する。理想的に、複数の追跡特徴の多数のそのような線は、すべての線に対して共通した交差地点を定義する。事実上、線は、領域またはエリアにおいて交差する。ＦＯＥ点２０は、例えば、複数の線の最少二乗誤差点を決定することによって、または、カルマンフィルタ推定値に基づいて、この領域の中心点として定義されうる。いくつかの実施形態において、他の交差する点に対応しない交差する点を定義する線をもたらす特徴のペアは、異常な特徴によって引きこされているものであるとして、破棄される。プロセッサ１５０は、そのような異常な特徴を、考慮、および、ＦＯＥ計算への影響から省きうる。
【０１１５】
図２５の７７０において、プロセッサ１５０は、ＦＯＥ点２０のシーケンスを、画像のペアの対応シーケンスから抽出するために、修正された特徴リストを使用する。ＦＯＥ点を抽出するプロセスは、図１６、１７、１８、１９を参照して上述される。７８０において、プロセッサ１５０はまた、修正された特徴リストを使用して、高度、幅、横揺れ角度を抽出し、それは、図２０乃至２２に関して上述される。
【０１１６】
上述されたように、一連の画像は、重力ベクトル、第１の回転行列（ＣＰＲＳ←ＢＲＳ）、第２の回転行列（ＣＬＲＳ←ＰＲＳ）、および第３の回転行列（ＣＬＲＳ←ＢＲＳ）を正確に決定するために使用されうる。一連の画像はまた、これらの回転行列を更新するため、および、ジャイロメータ較正値を更新するために使用されうる。一連の画像はまた、ＰＮＤ １０００がマウント上で移動されたか否かを決定するために使用されうる。これらの行列および値を用いて、加速度計測定値およびジャイロメータ測定値は、固有誤差をそれ程含まない。結果として、蓄積された測定値は、蓄積された誤差をそれ程含まず、結果として得られる推測航法位置は、より長い時間期間の間、より正確である。このように、一連の画像は、推測航法ナビゲーションを改善するために使用されうる。このように、ＰＮＤ １０００内のプロセッサ１５０は、一連の画像に基づいて、より正確な推測航法を行う。
【０１１７】
本明細書で説明された方法は、アプリケーションに依存して、様々な手段により実現されうる。例えば、これらの方法は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組み合わせで実現されうる。ハードウェア実現の場合、処理ユニットは、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、デジタル処理装置、または、本明細書で説明された機能を行うように設計された他の電子ユニットのうちの１または複数、あるいは、それらの組み合わせ内で実現されうる。
【０１１８】
ファームウェアおよび／またはソフトウェアの実現では、本明細書で説明された機能を行うモジュール（たとえば、プロシージャ、関数、等）を用いて方法は実現されうる。本明細書で説明された方法を実現する際に、複数の命令を実体的に実施するする任意の機械読取可能媒体が使用されうる。例えば、ソフトウェアコードがメモリに記憶され、プロセッサ１５０または他の処理ユニットによって実行されうる。メモリは、プロセッサユニット内で、またはプロセッサユニット外で実現されうる。本明細書で使用される場合、「メモリ」という用語は、任意のタイプの長期、短期、揮発性、不揮発性、またはその他のメモリを指し、任意の特定のタイプのメモリまたはメモリの数、あるいはメモリが記憶される媒体のタイプに限定されるべきでない。
【０１１９】
ファームウェアおよび／またはソフトウェアで実現される場合、機能は、コンピュータ読取可能媒体上の１または複数の命令またはコードとして、記憶されうる。データ構造によってコード化されたコンピュータ読取可能媒体、およびコンピュータ・プログラムによって符号化されたコンピュータ読取可能媒体が例に含まれる。コンピュータ読取可能媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされうる任意の入手可能な媒体でありうる。限定ではなく例として、そのようなコンピュータ読取可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用されることができ、かつ、コンピュータによってアクセスされることができる任意の他の媒体を備えうる。ディスク（disk）およびディスク（disc）は、本明細書で使用される場合、コンパクト・ディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は通常、磁気的にデータを再生するが、ディスク（disc）は、レーザーを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１２０】
コンピュータ読取可能媒体上の記憶装置に加えて、命令および／またはデータは、通信装置に含まれる送信媒体上の信号として提供されうる。例えば、通信装置は、命令およびデータを示す信号を有するトランシーバを含みうる。命令およびデータは、１つまたは複数のプロセッサに、特許請求の範囲において概説される機能を実現させるように構成される。すなわち、通信装置は、開示された機能を実現するための情報を示す信号を有する送信媒体を含む。第１の時間において、通信装置に含まれる送信媒体は、開示された機能を行うための情報の第１の部分を含み、第２の時間において、通信装置に含まれる送信媒体は、開示された関数を行うための情報の第２の部分を含みうる。
【０１２１】
開示された態様についての上記説明は、当業者が本開示を製造または使用できるように提供される。これらの態様に対する様々な変更は、当業者にとって容易に明らかであり、本明細書で定義された包括的な原理は、本開示の精神または範囲から逸脱することなく、他の態様に適用されうる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ナビゲーションのために画像を使用するモバイルデバイスであって、
一連の画像を獲得するためのカメラと、
前記モバイルデバイスの本体基準系と自動車の基盤基準系との間で変換する第１の回転行列、
前記自動車の前記基盤基準系と局所基準系との間で変換する第２の回転行列、および
前記本体基準系と前記局所基準系との間で変換する第３の回転行列を保持するためのメモリと、
前記カメラおよび前記メモリに結合され、前記一連の画像に基づいて前記第１の回転行列の初期値を決定し、前記一連の画像に基づいて前記第３の回転行列の初期値を決定するプロセッサと、
を備えるモバイルデバイス。
［Ｃ２］
加速度計測定値を提供するための加速度計をさらに備え、
前記プロセッサは前記加速度計にさらに結合され、
前記プロセッサは前記一連の画像に基づいて重力ベクトルの初期値を決定するようにさらに構成され、ここいおいて前記重力ベクトルは前記加速度計測定値における重力の影響をヌルにするために使用される、Ｃ１に記載のモバイルデバイス。
［Ｃ３］
前記加速度計は３次元加速度計を備える、Ｃ２に記載のモバイルデバイス。
［Ｃ４］
前記カメラに機能的に結合されたジャイロメータをさらに備え、ここにおいて前記プロセッサはさらに前記ジャイロメータに結合される、Ｃ１に記載のモバイルデバイス。
［Ｃ５］
前記プロセッサは前記一連の画像に基づいて前記ジャイロメータの較正を更新するようにさらに構成される、Ｃ４に記載のモバイルデバイス。
［Ｃ６］
位置ロケーションモジュールをさらに備える、Ｃ１に記載のモバイルデバイス。
［Ｃ７］
前記位置ロケーションモジュールは、グローバルナビゲーション衛星システム受信機（ＧＮＳＳ受信機）を備える、Ｃ６に記載のモバイルデバイス。
［Ｃ８］
前記ＧＮＳＳ受信機は、全地球測位衛星（ＧＰＳ）受信機を備える、Ｃ７に記載のモバイルデバイス。
［Ｃ９］
前記モバイルデバイスは、前記自動車に機械的に結合される、Ｃ１に記載のモバイルデバイス。
［Ｃ１０］
前記プロセッサは前記一連の画像に基づいて推測航法を行うようにさらに構成される、Ｃ１に記載のモバイルデバイス。
［Ｃ１１］
加速度計測定値を提供するための加速度計と、
前記カメラに機能的に結合されたジャイロメータをさらに備え、
前記プロセッサはさらに前記加速度計および前記ジャイロメータに結合され、
前記プロセッサは、
前記一連の画像に基づいて重力ベクトルの初期値を決定し、ここにおいて、前記重力ベクトルは前記加速度測定値における重力の影響をヌルにするために使用される、
前記一連の画像に基づいて、前記ジャイロメータの較正を更新するようにさらに構成される、Ｃ１に記載のモバイルデバイス。
［Ｃ１２］
ナビゲーションのために画像を使用するモバイルデバイスにおける方法であって、
カメラから一連の画像を獲得することと、
前記一連の画像に基づいて第２の回転行列の初期値を決定することと、
前記第２の回転行列をメモリに書き込むことと、
前記第２の回転行列を使用して、前記基盤基準系と局所基準系との間で測定値を変換することと
を備える方法。
［Ｃ１３］
前記一連の画像に基づいて重力ベクトルの初期値を決定することをさらに備え、
前記重力ベクトルは加速度計測定値における重力の影響をヌルにするために使用される、
Ｃ１２に記載の方法。
［Ｃ１４］
前記一連の画像に基づいてジャイロメータの較正を更新することをさらに備える、Ｃ１２に記載の方法。
［Ｃ１５］
前記モバイルデバイスを自動車に機械的に結合することをさらに備える、Ｃ１２に記載の方法。
［Ｃ１６］
前記一連の画像を獲得することは第１の解像度を有する前記一連の画像を第２の解像度に再度サンプリングすることを備え、前記第２の解像度は前記第１の解像度よりも低い、Ｃ１２に記載の方法。
［Ｃ１７］
前記一連の画像を獲得することは前記一連の画像から強度値を抽出することを備える、Ｃ１２に記載の方法。
［Ｃ１８］
前記一連の画像に基づいて第１の回転行列の前記初期値を決定することは、前記一連の画像のうちの少なくとも２つから導き出される消失点（ＦＯＥ点）を決定し、それによって、本体基準系における前記モバイルデバイスの動きの方向を設定することを備え、さらに、
前記本体基準系における重力ベクトルを決定することと、
（１）第３の回転行列と、（２）前記第２の回転行列の逆とに基づいて、前記第１の回転行列を計算すること
をさらに備える、Ｃ１２に記載の方法。
［Ｃ１９］
前記ＦＯＥ点は、前記本体基準系に関して、高度角度（α）、幅角度（β）を示す、Ｃ１８に記載の方法。
［Ｃ２０］
前記ＦＯＥ点は前記本体基準系に対するＸ−Ｙ画像プレーンにける点を示す、Ｃ１８に記載の方法。
［Ｃ２１］
前記ＦＯＥ点を決定することは、
前記一連の画像のうちの第１の画像から複数の特徴を抽出し、それによって、対応する第１の複数の点を定義することと、
前記一連の画像のうちの第２の画像上の前記複数の特徴を追跡し、それによって、対応する第２の複数の点を定義し、さらに、前記対応する第１の複数の点と前記対応する第２の複数の点との間の対応する複数の線を定義することと、
前記対応する複数の線の中心に前記ＦＯＥ点を設定することと
を備える、Ｃ１８に記載の方法。
［Ｃ２２］
前記対応する複数の線の中心は、前記対応する複数の線の最低二乗誤差点を備える、Ｃ２１に記載の方法。
［Ｃ２３］
前記対応する複数の線の中心は、カルマンフィルタ推定値に基づく、Ｃ２１に記載の方法。
［Ｃ２４］
前記一連の画像を獲得することは、レンズ収差を除去するために、前記一連の画像を修正することを備える、Ｃ１２に記載の方法。
［Ｃ２５］
ナビゲーションのために画像を使用するモバイルデバイスであって、
カメラから一連の画像を獲得する手段と、
前記モバイルデバイスの本体基準系から変換するために使用される前記一連の画像に基づいて第１の回転行列の初期値を決定する手段と、
前記第１の回転行列をメモリに書き込む手段と、
前記第１の回転行列を使用して、前記モバイルデバイスの前記本体基準系と局所基準系との間で測定値を変換する手段と
を備えるモバイルデバイス。
［Ｃ２６］
カメラ、メモリ、およびプロセッサを有するモバイルデバイスにおいてナビゲーションのために画像を使用する方法を行うために、デジタル処理装置によって実行可能な複数の機械読取可能命令のプログラムを実体的に実施するコンピュータ読取可能媒体であって、前記方法は、
カメラから一連の画像を獲得することと、
前記モバイルデバイスの本体基準系から変換するために使用される前記一連の画像に基づいて第１の回転行列の初期値を決定することと、
前記第１の回転行列をメモリに書き込むことと、
前記第１の回転行列を使用して、前記モバイルデバイスの前記本体基準系と局所基準系との間で測定値を変換することと
からなる動作を備える、コンピュータ読取可能媒体。
【図１】
0005710784.tif 000010
【図２】
0005710784.tif 000011
【図３】
0005710784.tif 000012
【図４】
0005710784.tif 000013
【図５】
0005710784.tif 000014
【図６】
0005710784.tif 000015
【図７】
0005710784.tif 000016
【図８】
0005710784.tif 000017
【図９】
0005710784.tif 000018
【図１０】
0005710784.tif 000019
【図１１】
0005710784.tif 000020
【図１２】
0005710784.tif 000021
【図１３】
0005710784.tif 000022
【図１４】
0005710784.tif 000023
【図１５】
0005710784.tif 000024
【図１６】
0005710784.tif 000025
【図１７】
0005710784.tif 000026
【図１８】
0005710784.tif 000027
【図１９】
0005710784.tif 000028
【図２０】
0005710784.tif 000029
【図２１】
0005710784.tif 000030
【図２２】
0005710784.tif 000031
【図２３】
0005710784.tif 000032
【図２４】
0005710784.tif 000033
【図２５】
0005710784.tif 000034