(57)【要約】  各種実施例は、一般に構造の内部を移動する計算装置のセンサから導出されたバーチャルマップを対応する物理的マップとマージするための技術に関する。マップをマージする装置は、プロセッサコンポーネントと、バーチャルマップと物理的マップとをマージし、マージされたマップを生成する、プロセッサコンポーネントにより実行されるマージマップ生成手段とを有し、バーチャルマップは、センサに基づき構造の内部のバーチャル経路の表示を含み、物理的マップは、内部の物理的経路の表示を含む。他の実施例が開示及び請求される。
2015524071.tif 000002
【特許請求の範囲】
【請求項１】
マップをマージする装置であって、
プロセッサコンポーネントと、
バーチャルマップと物理的マップとをマージして、マージされたマップを生成する、前記プロセッサコンポーネントによる実行されるマージマップ生成手段であって、前記バーチャルマップはセンサに基づき構造の内部を介したバーチャル経路の表示を有し、前記物理的マップは前記内部の物理的経路の表示を有する、マージマップ生成手段と、
を有する装置。
【請求項２】
前記プロセッサコンポーネントにより実行される誤差計算手段を有し、
前記マージマップ生成手段は、経路マップに対して前記バーチャルマップを繰り返し操作し、
前記誤差計算手段は、前記バーチャルマップの各操作に対して前記バーチャルマップの特徴と前記経路マップの特徴との間の位置の差分の和を表す誤差の程度を決定し、
前記経路マップは、前記物理的経路の位置を示す、請求項１記載の装置。
【請求項３】
前記プロセッサコンポーネントに通信接続されるディスプレイと、
前記バーチャルマップと前記物理的マップとが前記ディスプレイ上で一致するアンカーポイントの表示に対するリクエストを視覚的に提示し、前記物理マップ上の前記アンカーポイントの位置と前記経路マップ上の位置とを相関させる、前記プロセッサコンポーネントにより実行されるアンカーコンポーネントと、
を有する、請求項２記載の装置。
【請求項４】
前記アンカーポイントを維持しながら、前記経路マップに対して複数のサイズに前記バーチャルマップをスケーリングする、前記プロセッサコンポーネントにより実行されるスケーリングコンポーネントを有し、
前記誤差計算手段は、前記複数のサイズの何れのサイズが前記バーチャルマップと前記経路マップとの間のベストなアライメントを提供するか決定するため、前記複数のサイズの各サイズについて誤差の程度を決定する、請求項３記載の装置。
【請求項５】
前記バーチャルマップの特徴は、バーチャル経路の２以上のセグメントが交わるポイントを含み、
前記経路マップの特徴は、物理的経路の２以上のセグメントが交わるポイントを含む、請求項２記載の装置。
【請求項６】
前記物理的マップから前記物理的経路の位置の表示を含む経路マップを生成する、前記プロセッサコンポーネントにより実行される経路抽出手段を有する、請求項１記載の装置。
【請求項７】
前記マージマップ生成手段は、前記経路マップによる前記バーチャルマップのベストなアライメントを決定するため、より粗いインクリメントによる第１ステージと、前記経路マップによる前記バーチャルマップの更なるより良好なアライメントを決定するため、より精細なインクリメントによる第２ステージとにおいて、前記経路マップに対して前記バーチャルマップを繰り返し操作する、請求項６記載の装置。
【請求項８】
回転角度の第１の選択された大きさのインクリメントによる前記第１ステージと、回転角度の第２の選択された大きさのインクリメントによる前記第２ステージとにおいて、前記経路マップに対して前記バーチャルマップを回転する、前記プロセッサコンポーネントにより実行される回転コンポーネントを有し、
前記第１の選択された大きさは前記第２の選択された大きさより大きい、請求項７記載の装置。
【請求項９】
前記マージマップ生成手段は、前記経路マップによる前記バーチャルマップのアライメントを前記物理的マップによる前記バーチャルマップのアライメントと相関させる、請求項６記載の装置。
【請求項１０】
マップをマージする装置であって、
プロセッサコンポーネントと、
物理的マップの物理的経路のセグメントによりバーチャルマップのバーチャル経路のセグメントをアラインする、前記プロセッサコンポーネントにより実行されるマージマップ生成手段であって、前記バーチャル経路はセンサに基づき構造の内部の経路を含み、前記物理的経路は前記内部における物理的な移動を可能にする経路を含む、マージマップ生成手段と、
を有する装置。
【請求項１１】
前記構造の少なくとも一部の物理的マップから前記物理的経路の表示を抽出し、前記経路マップを生成する、前記プロセッサコンポーネントにより実行される経路抽出手段を有する、請求項１０記載の装置。
【請求項１２】
前記マージマップ生成手段は、前記物理的経路による前記バーチャル経路のアライメントを前記物理的マップによる前記バーチャルマップのアライメントに相関させ、前記バーチャルマップと前記物理的マップとをマージし、マージされたマップを生成する、請求項１１記載の装置。
【請求項１３】
前記マージマップ生成手段は、前記物理的経路による前記バーチャル経路のベストなアライメントを決定するため、より粗いインクリメントによる第１ステージと、前記物理的経路による前記バーチャル経路の更なるより良好なアライメントを決定するためより精細なインクリメントによる第２ステージとにおいて、前記経路マップに対して前記バーチャルマップを繰り返し操作する、請求項１０記載の装置。
【請求項１４】
回転角度の第１の選択された大きさのインクリメントによる前記第１ステージと、回転角度の第２の選択された大きさのインクリメントによる前記第２ステージとにおいて、前記経路マップに対して前記バーチャルマップを回転する、前記プロセッサコンポーネントにより実行される回転コンポーネントを有し、
前記第１の選択された大きさは、前記第２の選択された大きさより大きい、請求項１３記載の装置。
【請求項１５】
前記バーチャルマップの各操作について前記バーチャルマップの特徴と前記経路マップの特徴との間の位置の差分の和を表す誤差の程度を決定する、前記プロセッサコンポーネントにより実行される誤差計算手段を有する、請求項１３記載の装置。
【請求項１６】
前記バーチャルマップの特徴は、バーチャル経路の２以上のセグメントが交わるポイントを含み、前記経路マップの特徴は、物理的経路の２以上のセグメントが交わるポイントを含む、請求項１５記載の装置。
【請求項１７】
マップをマージするためのコンピュータにより実現される方法であって、
センサに基づき構造の内部のバーチャル経路の表示を有するバーチャルマップを生成するステップと、
前記内部の物理的経路の表示を有する物理的マップと前記バーチャルマップとをマージし、マージされたマップを生成するステップと、
を有する方法。
【請求項１８】
前記物理的マップの物理的経路の表示から経路マップを生成するステップと、
前記経路マップに対して前記バーチャルマップを繰り返し操作するステップと、
前記バーチャルマップの各操作について前記バーチャルマップの特徴と前記経路マップの特徴との間の位置の差分の和を表す誤差の程度を決定するステップと、
を有する、請求項１７記載の方法。
【請求項１９】
前記物理的マップ、前記バーチャルマップ及び前記バーチャルマップと前記物理的マップとがディスプレイ上で一致するアンカーポイントの表示に対するリクエストを視覚的に提示するステップと、
前記物理的マップ上のアンカーポイントの位置を前記経路マップ上の位置と相関させるステップと、
を有する、請求項１８記載の方法。
【請求項２０】
複数の向きに前記アンカーポイントの周りに前記経路マップに対して前記バーチャルマップを回転させるステップと、
前記複数の向きの何れの向きが前記バーチャルマップと前記経路マップとの間のベストなアライメントを提供するか決定するステップと、
を有する、請求項１９記載の方法。
【請求項２１】
前記バーチャルマップの特徴は、バーチャル経路の２以上のセグメントが交わるポイントを含み、前記経路マップの特徴は、物理的経路の２以上が交わるポイントを含む、請求項１８記載の方法。
【請求項２２】
より粗いインクリメントによる第１ステージにおいて前記経路マップに対して前記バーチャルマップを繰り返し操作し、前記経路マップによる前記バーチャルマップのベストなアライメントを決定するステップと、
より精細なインクリメントによる第２ステージにおいて前記経路マップに対して前記バーチャルマップを繰り返し操作し、前記経路マップによる前記バーチャルマップの更なる良好なアライメントを決定するステップと、
を有する、請求項１８記載の方法。
【請求項２３】
前記バーチャルマップのサイズの第１の選択されたパーセンテージのインクリメントによる前記第１ステージにおいて前記経路マップに対して前記バーチャルマップをスケーリングするステップと、
前記バーチャルマップのサイズの第２の選択されたパーセンテージのインクリメントによる前記第２ステージにおいて前記経路マップに対して前記バーチャルマップをスケーリングするステップと、
を有する、請求項２２記載の方法。
【請求項２４】
前記経路マップによる前記バーチャルマップのアライメントを前記物理的マップによる前記バーチャルマップのアライメントと相関させるステップと、
前記マージされたマップを前記計算装置の少なくとも１つに送信するステップと、
を有する、請求項１８記載の方法。
【請求項２５】
計算装置により実行されると、前記計算装置に請求項１７乃至２４何れかの方法を実行させる命令を有する少なくとも１つのマシーン可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示される実施例は、一般にある構造の内部のフロアのバーチャルマップをそれの物理的マップによりマージし、そこでの位置トラッキングを可能にすることに関する。
【背景技術】
【０００２】
計算装置は、複数のＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）衛星から無線信号を受信し、これらの信号内のタイミングの通知から現在の位置を導出することによって、地表に対する位置をトラッキングする機能を長く提供してきた。さらに、当該現在位置の現在の座標セットを単に示すのを超えて、計算装置は、マップ上の現在位置の視覚的プレゼンテーションを提供するため、地表のマップと現在位置とを相関させる機能を長く提供してきた。従って、このような計算装置のユーザは、車両内に携帯又は設置されているかにかかわらず、何れか所与の瞬間においてそれらが地表の何れにいるかの視覚的プレゼンテーションを見ることが長く可能であった。
【０００３】
さらに、このようなマップの多くは、ビジネス、公共サービス、アドレスなどを含む現在位置の近傍にある関心アイテムに関する情報を長く含んできた。従って、ＧＰＳ信号を受信する計算装置のユーザは、製品やサービスを取得したり、アドレスを検出するなどのため、自分の現在の近傍において行くべき場所の表示を閲覧することが長くできた。
【０００４】
残念なことに、計算装置により提供されるこのような機能の利用可能性は、典型的には、これらの装置のユーザが屋内に行くか、及び／又はＧＰＳ信号へのアクセスを阻止する構造又は他の構成の下に行くと終わる。このような構造の一部の厚さ及び／又は物質構成に依存して、ＧＰＳ信号へのアクセスは断続的又は歪められ、あるいは完全に切断されるかもしれない。この結果、このような計算装置のユーザはしばしば、屋内で自分の現在位置を一旦識別するため、壁やポスタに取り付けられたより従来のマップの利用に訴えざるを得ない。
【図面の簡単な説明】
【０００５】
【図１】図１は、マップマージングシステムの実施例を示す。
【図２】図２は、実施例の一部を示す。
【図３】図３は、実施例の一部を示す。
【図４】図４は、実施例の一部を示す。
【図５】図５は、実施例によるバーチャルマップ及び対応するポイントマップの生成を示す。
【図６】図６は、実施例による経路マップ及び対応するポイントマップの生成を示す。
【図７】図７は、実施例によるアンカーポイントの特定を示す。
【図８】図８は、実施例によるバーチャルマップの操作を示す。
【図９】図９は、実施例によるバーチャルマップの操作を示す。
【図１０】図１０は、実施例によるロジックフローを示す。
【図１１】図１１は、実施例によるロジックフローを示す。
【図１２】図１２は、実施例による処理アーキテクチャを示す。
【発明を実施するための形態】
【０００６】
各種実施例は、一般にある構造の内部を移動する計算装置のセンサから導出されたバーチャルマップを対応する物理的マップとマージするための技術に関する。より詳細には、バーチャルマップは、計算装置が内部を移動するとき（少なくとも構造のフロアの一部など）、計算装置のセンサにより取得される測定結果から経時的に導出される。その後、物理的マップが、そこに含まれる他のデータから物理的経路データを抽出するため処理され、経路マップを生成する。バーチャルマップは、その後、経路マップとアラインさせるため、マルチステージ処理において操作される。バーチャルマップと経路マップとのアライメントは、その後に物理マップに相関され、マージされたマップを生成するため、バーチャルマップ及び物理的マップのマージングを可能にする。このようなマージングの後、バーチャルマップに示される関心アイテムに関する他の情報が、マージされるマップに含められてもよい。
【０００７】
何れの特徴が内部に存在するか、また何れのセンサが計算装置に搭載されるかに依存して、バーチャルマップの形成は、方位及び／又は検知された加速度、壁及び／又は音響的に検出された他の特徴の近接性、及び／又は無線信号の発信器の相対強度及び／又は位置を含むよう相関される動きに基づくものであってもよい。バーチャルマップの生成は、センサデータのクラウドソーシング（ｃｒｏｗｄ−ｓｏｕｒｃｉｎｇ）の形式として記述可能な方法により経時的に内部の各部分を介し移動した多数の計算装置からのセンサデータの各部分の合成に依拠してもよいことが想定される。複数の装置からのセンサデータの利用は、内部の各部分を介し各ユーザにより携帯されうる典型的な計算装置に搭載されるセンサの精度の制限を補償するものとして想定される。統計解析方法は、センサデータの統計的に異常な部分を取り除くため、センサデータの多数の部分からバーチャルマップを導出するのに利用されてもよい。
【０００８】
物理的マップは、内部を占有する企業、政府又は他のエンティティのサーバから利用可能であってもよいことが想定される。物理的マップは水飲み器、消火器、除細動器、公衆電話、ポストなどの位置など、内部における移動を可能にする複数の物理的経路に関するデータを含むものであってもよいことがおそらく想定される。従って、経路マップを導出するため物理的経路データの抽出は、このような他の情報部分を排除するため実行される。
【０００９】
バーチャルマップの経路マップへのアライメントは、処理要求を低減するため、少なくとも１つの粗いステージと少なくとも１つの精細なステージとを含む少なくとも２つのステージにおいて実行される。このようなステージでは、アライメントにおける誤差の指標を最小化するためのアルゴリズムが、物理的マップとバーチャルマップとをマージして、マージされたマップを生成するのに利用されるアライメントを導出するのに利用される。マージされたマップの生成後、マージされたマップは、計算装置のセンサにより検出されたものであってもよいバーチャルマップに示される選択された関心アイテムの表示により拡張されてもよい。
【００１０】
ここで用いられる記法及び用語を全体的に参照して、以下の詳細な説明の一部は、コンピュータ又はコンピュータのネットワーク上で実行されるプログラム手順に関して提供されてもよい。これらの手順の説明及び表現は、作業の本質を他の当業者に最も効果的に伝えるため、当業者により利用される。ある手順は、ここでは一般に所望の結果を導く自己整合的な処理シーケンスであると想定される。これらの処理は、物理量の物理的操作を要求するものである。通常、必須ではないが、これらの量は、格納、伝送、合成、比較及び操作可能な電気、磁気又は光信号の形態をとる。主として通常の利用のため、これらの信号をビット、値、要素、シンボル、文字、項、数字などとして参照することが便利であるとわかることがある。しかしながら、上記及び類似する用語の全てが適切な物理量と関連付けされ、これらの量に適用される単なる便宜上のラベルであることに留意すべきである。
【００１１】
さらに、これらの操作はしばしば、人間のオペレータにより実行される精神的な処理に通常関連する追加又は比較などの用語により参照される。しかしながら、人間のオペレータのこのような能力の何れも、１以上の実施例の一部を構成するここに開示される処理の何れにおいても必要でないか、又は大部分において所望されない。むしろ、これらの処理はマシーン処理である。各種実施例の処理を実行するのに有用なマシーンは、ここでの教示に従って書き込まれた内部に格納されるコンピュータプログラムによって選択的に起動又は設定されるような汎用デジタルコンピュータを含み、及び／又は要求される目的のため具体的に構成される装置を含む。各種実施例はまた、これらの処理を実行するための装置又はシステムに関するものである。これらの装置は、具体的には要求される目的のため構成されるか、又は汎用コンピュータを含むものであってもよい。これらの各種マシーンのための要求される構造が、与えられる説明から明らかになるであろう。
【００１２】
同様の参照番号が全体で同様の要素を参照するのに用いられる図面が参照される。以下の説明では、それの完全な理解を提供するため、説明のための多数の具体的な詳細が提供される。しかしながら、新規な実施例がこれらの具体的な詳細なしに実施可能であることは明らかである。他の例では、周知の構造及び装置は、その説明を実現するため、ブロック図の形式により示される。その意図は、請求項の範囲内の全ての修正、均等及び代替をカバーすることである。
【００１３】
図１は、計算装置１００ａ〜ｃ、計算装置３００及びマップサーバ５００の１以上を搭載するマップマージングシステム１０００の実施例のブロック図である。これらの計算装置のそれぞれは、限定することなく、デスクトップコンピュータシステム、データエントリ端末、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、携帯ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）、スマートフォン、デジタルカメラ、衣服に内蔵される装着式計算装置、車両（自動車、自転車、車いすなど）に統合される計算装置、サーバ、サーバクラスタ、サーバファームなどを含む各種タイプの計算装置の何れかであってもよい。
【００１４】
図示されるように、これらの計算装置１００ａ〜ｃ、３００及び５００は、ネットワーク９９９を介し構造の内部に関するセンサデータ及び／又はマップデータを伝送する信号を交換する。しかしながら、これらの計算装置の１以上は、互いに及び／又はネットワーク９９９を介し更なる他の計算装置（図示せず）と構造の内部に完全に関連しない他のデータを交換してもよい。各種実施例では、ネットワークは、単一の建物や他の相対的に限定的なエリア内の拡張におそらく限定される単一のネットワーク、かなりの距離におそらく拡張した接続されたネットワークの組み合わせであってもよいし、及び／又はインターネットを含むものであってもよい。従って、ネットワーク９９９は、限定することなく、電気的及び／又は光学的に導電性のケーブルを利用した有線技術及び赤外線、無線周波数又は他の無線伝送形態を利用した無線技術を含む各種通信技術の何れか（又は組み合わせ）に基づくものであってもよく、これによって、信号が交換されてもよい。
【００１５】
ある構造の内部のセンサ情報を収集するための計算装置１００ａ〜ｃの３つの特定数が示されているが、このような個数の計算装置は、理解を可能にするためここに提供される具体例であることに留意すべきである。より詳細に説明されるように、より多数の計算装置が精度を向上させるためデータを収集するのに依拠されることが想定される。
【００１６】
各種実施例では、各計算装置１００ａ〜ｃは、プロセッサコンポーネント１５０、ストレージ１６０、コントロール１２０、ディスプレイ１８０及び各計算装置１００ａ〜ｃとネットワーク９９９とを接続するためのインタフェース１９０の１以上を有する。ストレージ１６０は、制御ルーチン１４０、センサデータ１３０ａ〜ｃの対応するもの及びマージされたマップ３３８を格納する。各種実施例では、計算装置３００は、プロセッサコンポーネント３５０、ストレージ３６０、コントロール３２０、ディスプレイ３８０及び計算装置３００とネットワーク９９９とを接続するためのインタフェース３９０の１以上を有する。ストレージ３６０は、制御ルーチン３４０、センサデータ１３０ａ〜ｃの１以上、バーチャルマップ３３１、ポイントマップ３３２、アイテムデータ３３３、経路マップ３３５、他のポイントマップ３３６、マージされたマップ３３８及び物理的マップ５３０の１以上を格納する。
【００１７】
各計算装置１００ａ〜ｃにおいて、制御ルーチン１４０は、各種機能を実行するロジックを実現するためのメインプロセッサコンポーネントとしてそれの役割にプロセッサコンポーネント１５０上で動作する命令シーケンスを搭載する。制御ルーチン１４０を実行する際、プロセッサコンポーネント１５０は、計算装置１００ａ〜ｃの対応するものが構成の内部を移動するとき、１以上のセンサ１１０から信号を受信し、センサデータ１３０ａ〜ｃの対応するものとしてセンサ１１０からの信号により伝えられるセンサ情報の通知を格納する。従って、各センサデータ１３０ａ〜ｃは、それぞれが当該内部の少なくとも一部を移動したときに検出される各計算装置１００ａ〜ｃのそれぞれのセンサ１１０を表し、これにより、内部の少なくとも１つの経路の視覚的表現を形成する。より詳細に説明されるように、センサ情報の正確な性質は、１以上のセンサ１１０のタイプ及び精度に依存する。各種間隔により、及び／又は計算装置３００により通知されると、各計算装置１００ａ〜ｃのプロセッサコンポーネント１５０は、センサデータ１３０ａ〜ｃの対応する１つをネットワーク９９９を介し計算装置３００に送信する。
【００１８】
制御ルーチン３４０は、各種機能を実行するロジックを実現するための計算装置３００のメインプロセッサコンポーネントとしてそれの役割にプロセッサコンポーネント３５０上で動作する命令シーケンスを搭載する。制御ルーチン３４０を実行する際、プロセッサコンポーネント３５０は、計算装置１００ａ〜ｃの対応する１つからセンサデータ１３０ａ〜ｃを受信し、そこからバーチャルマップ３３１を生成する。当業者によく知られるように、各種アルゴリズムの何れかが、センサデータ１３０ａ〜ｃからバーチャルマップ３３１を生成するのに利用されてもよく、これを実行する正確な方法は、本出願の範囲外である。
【００１９】
制御ルーチン３４０を実行する際、プロセッサコンポーネント３５０はまた、マップサーバ５００から物理的マップ５３０を受信し、経路マップ３３５を生成するため、そこから物理的経路データを抽出する。再び、物理的マップ５３０は移動を可能にする物理的経路の位置を示す構造の内部のフロアの少なくとも一部と、そこにある関心アイテムとの物理的配置のマップである。当業者に知られるように、マップを表すデータの編成又は格納のための普及した又は“事実上の標準（ｄｅ  ｆａｃｔｏ）”の規格となる何れのタイプのデータ構造もなく、また、経路に関する情報及び／又は関心アイテムの表示がデータに含まれる方法の普及した又は事実上の標準の規格はない。従って、制御ルーチン３４０は、物理的マップ５３０のデータが編成又は格納される各種タイプのデータ構造の何れかを収容しながら、物理的マップ５３０から物理的経路を示すデータを少なくとも抽出するための１以上のアルゴリズムを搭載することが想定される。物理的経路の抽出された表示は、経路マップ３３５として格納される。
【００２０】
制御ルーチン３４０を実行する際、プロセッサコンポーネント３５０は更に、バーチャルマップ３３１のバーチャル経路と経路マップ３３５の物理的経路とをアラインするため、経路マップ３３５に対して各種方法によりバーチャルマップ３３１を操作する。再び、このアライメントは複数のステージにより実行される。バーチャルマップ３３１ろ経路マップ３３５とをアラインするのを開始するため、回転の程度及び／又はリスケーリングのパーセンテージの相対的により大きな（より粗いなど）インクリメントにより経路マップ３３５に対してバーチャルマップが回転及び／又は比例的にリサイジングされる少なくとも１つの“より粗い”ステージが実行される。その後、バーチャルマップが相対的により小さな（より精細な）インクリメントにより経路マップ３３５に対して回転及び／又は比例的にリスケーリングされる少なくとも１つの“より精細”なステージが実行される。少なくとも１つのより粗いステージと、その後の少なくとも１つのより精細なステージとの上記アプローチは、全範囲のより精細なインクリメントのみを試みる“ナイーブ”アプローチと呼ばれうるものと比較して、プロセッサコンポーネント３５０に対して要求の少ない方法でより短い時間にアライメントが実行されることを可能にする。より粗いステージとより精細なステージとの双方を実行する際、各ステージにおいて試みられる各インクリメントの誤差の程度の指標が、可能なベストなアライメントが各ステージにおいて実現されるときを決定するのに利用される。
【００２１】
制御ルーチン３４０を実行する際、プロセッサコンポーネント３５０は更に、バーチャルマップ３３１と経路マップ３３５との間で実現されるアライメントを利用して、バーチャルマップ３３１と物理的マップ３５０とのマージングをガイドし、マージされたマップ３３８を生成する。すなわち、経路マップ３３５がバーチャルマップ３５０から導出されるとすると、バーチャルマップ３３１と経路マップ３３５との間のアライメントの実現は、バーチャルマップ３３１を物理的マップ５３０にアラインするため相関させることが可能である。結果として得られるマージされたマップ３３８は、物理的マップ５３０に当初示される可能性のある関心アイテムの位置に対して現在位置を決定するのに計算装置により利用可能なバーチャルマップ３３１のバーチャル経路の表示によって計算装置のユーザにより閲覧可能な物理的マップ５３０の全ての詳細を含む。
【００２２】
説明されたように、計算装置１００ａ〜ｃのセンサ１１０により検出される各種関心アイテムの位置の表示によってマージされたマップ３３９を拡張することが望ましいと考えられるかもしれない。従って、バーチャルマップ３３１の生成中、センサデータ１１０ａ〜ｃの１以上からの関心アイテムの位置に関するデータが、アイテムデータ３３３として収集及び格納されてもよい。その後、マージされたマップ３３８の生成後、アイテムデータ３３３の関心アイテムの表示がマージされたマップ３３８に追加されてもよい。マージされたマップ３３８の生成後、関心アイテムの位置の表示による拡張がある場合又はない場合、プロセッサコンポーネント３５０は、マージされたマップ３３９を計算装置１００ａ〜ｃの１以上に送信する。
【００２３】
計算装置１００ａ〜ｃに戻って、制御ルーチン１４０を実行する際、計算装置１００ａ〜ｃの１以上のプロセッサコンポーネント１５０は、マージされたマップ３３８を受信し、それの少なくとも一部をディスプレイ１８０に視覚的に提示する。センサ１１０は、センサデータから生成されたバーチャルマップ３３１に関するマージされたマップ３３８のデータと現在のセンサ情報とを相関させることによって、マージされたマップ３３８上の計算装置１００ａ〜ｃの各自の現在位置を決定するのに利用される。マージされたマップ３３８が関心アイテムの表示を含む場合、現在位置の少なくとも近傍にあるアイテムがまた、ディスプレイ１８０上に視覚的に提示されてもよい。
【００２４】
プロセッサ要素１５０は更に、関心アイテムに関する情報を提供する計算装置１００ａ〜ｃの１以上のユーザによるコントロール１２０の手動により処理を示す信号を受信するため、コントロール１２０をモニタしてもよい。これは、バーチャルマップ３３１（及び最終的にはマージされたマップ３３８）が生成されるセンサ情報を収集することと、マージされたマップ３３８上の現在位置を決定するためセンサ情報を収集することの何れか又は双方の期間中に実行されてもよい。従って、このような情報は、計算装置３００に提供されるセンサデータ１３０ａ〜ｃの１以上に搭載されるか、又はマージされたマップ３３８に搭載されてもよく、その後、ストレージ３６０に格納されているマージされたマップ３３８のコピーを拡張するため、計算装置３００に中継されてもよい。
【００２５】
各種実施例では、プロセッサコンポーネント１５０，３５０のそれぞれは、広範な市販のプロセッサの何れかを含むものであってもよい。さらに、これらのプロセッサコンポーネントの１以上は、複数のプロセッサ、マルチスレッドプロセッサ、マルチコアプロセッサ（複数のコアが同一又は別々のダイ上に共存するかにかかわらず）、及び／又は複数の物理的に別々のプロセッサがある方法によりリンクした他の各種マルチプロセッサアーキテクチャを含むものであってもよい。
【００２６】
各種実施例では、各ストレージ１６０，３６０は、おそらく電力の中断のない供給を要求する揮発性技術を含み、またおそらく着脱可能であってもよいし、なくてもよいマシーン可読記憶媒体の利用を伴う技術を含む広範な情報ストレージ技術の何れかに基づくものであってもよい。従って、各ストレージは、限定することなく、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）−ＤＲＡＭ、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）、フラッシュメモリ、ポリマメモリ（強誘電性ポリマメモリなど）、オボニックメモリ、相変化若しくは強誘電性メモリ、ＳＯＮＯＳ（Ｓｉｌｉｃｏｎ−Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ−Ｓｉｌｉｃｏｎ）メモリ、磁気若しくは光カード、１以上の個別の強誘電性ディスクドライブ、又は１以上のアレイに編成された複数のストレージ装置（ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋ）アレイに編成された複数の強誘電性ディスクドライブなど）を含む広範なタイプ（又はタイプの組み合わせ）のストレージ装置の何れかを含むものであってもよい。各ストレージは単一のブロックとして示されているが、これらの１以上は、異なるストレージ技術に基づくものであってもよい複数のストレージ装置を含むものであってもよいことに留意すべきである。従って、例えば、図示されたストレージの１以上は、光ドライブ又はフラッシュメモリカードリーダの組み合わせを表すものであってもよく、これによって、プログラム及び／又はデータは、マシーン可読記憶媒体、相対的に長い期間にプログラム及び／又はデータをローカルに格納するための強誘電性ディスクドライブ、及びプログラム及び／又はデータへの相対的に迅速なアクセスを可能にする１以上の揮発性ソリッドステートメモリ装置（ＳＲＡＭ又はＤＲＡＭなど）のある形態により格納及び伝送されてもよい。また、これらのストレージのそれぞれは同一のストレージ技術に基づき複数のストレージコンポーネントから構成されてもよいが、利用の特化の結果として別々に維持されてもよい（例えば、他のＤＲＡＭ装置がグラフィックコントローラのフレームバッファとして利用される一方、あるＤＲＡＭ装置はメインストレージとして利用されるなど）ことに留意すべきである。
【００２７】
各種実施例では、各インタフェース１９０，３９０は、説明されたように、計算装置が他の装置に接続されることを可能にする広範なシグナリング技術の何れかを利用してもよい。各インタフェースは、このような接続を可能にするための必須の機能の少なくとも一部を提供する回路を有してもよい。しかしながら、各インタフェースはまた、プロセッサコンポーネントの対応するものによって実行される命令シーケンスにより少なくとも部分的に実現されてもよい（例えば、プロトコルスタック又は他の機能を実現するためなど）。電気的及び／又は光学的に導通するケーブルが利用される場合、これらのインタフェースは、限定することなく、ＲＳ−２３２Ｃ、ＲＳ−４２２、ＵＳＢ、イーサネット（ＩＥＥＥ−８０２．３）又はＩＥＥＥ−１３９４を含む広範な工業規格の何れかに準拠するシグナリング及び／又はプロトコルを利用してもよい。無線信号送信の利用を伴う場合、これらのインタフェースは、限定することなく、ＩＥＥＥ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１６、８０２．２０（通常は“モバイルブロードバンドワイヤレスアクセス”として参照される）、ブルートゥース、ＺｉｇＢｅｅ、又はＧＳＭ／ＧＰＲＳ（ＧＳＭ  ｗｉｔｈ  Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ）、ＣＤＭＡ／１ｘＲＴＴ、ＥＤＧＥ（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  Ｒａｔｅｓ  ｆｏｒ  Ｇｌｏｂａｌ  Ｅｖｏｌｕｔｉｏｎ）、ＥＶ−ＤＯ（Ｅｖｏｌｕｔｉｏｎ  Ｄａｔａ  Ｏｎｌｙ／Ｏｐｔｉｍｉｚｅｄ）、ＥＶ−ＤＶ（Ｅｖｏｌｕｔｉｏｎ  Ｆｏｒ  Ｄａｔａ  ａｎｄ  Ｖｏｉｃｅ）、ＨＳＰＤＡ（Ｈｉｇｈ  Ｓｐｅｅｄ  Ｄｏｗｎｌｉｎｋ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ）、ＨＳＵＰＡ（Ｈｉｇｈ  Ｓｐｅｅｄ  Ｕｐｌｉｎｋ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ）、４Ｇ  ＬＴＥなどのセルラ無線電話サービスを含む広範な工業規格の何れかに準拠するシグナリング及び／又はプロトコルを利用してもよい。
【００２８】
図２，３，４はそれぞれ、図１のマップマージングシステム１０００の実施例の一部の簡単化されたブロック図である。これら各図は、異なるフェーズにおいてバーチャルマップ３３１と物理的マップ５３０とのマージングの処理の態様を示す。より詳細には、図２は、バーチャルマップ３３１を導出するための準備において計算装置１００ａによるセンサデータ１３０ａの収集の態様を示す。図３は、センサデータ１３０ａ〜ｃからのバーチャルマップ３３１の生成、物理的マップ５３０からの経路マップ３３５の生成、及び計算装置３００によるマージされたマップ３３８を生成するためのマップのマージングの各態様を示す。図４は、マージされたマップ３３８の少なくとも一部及び計算装置１００ａによりその上における現在位置の視覚的プレゼンテーションの態様を示す。
【００２９】
各種実施例では、各制御ルーチン１４０，３４０は、オペレーティングシステム、デバイスドライバ及び／又はアプリケーションレベルルーチン（例えば、ディスク媒体に備えられる“ソフトウェアセット”又はリモートサーバから取得される“アプレット”など）の１以上を含むものであってもよい。オペレーティングシステムが含まれる場合、オペレーティングシステムは、プロセッサコンポーネント１５０又は３５０の対応するものに適した各種の利用可能なオペレーティングシステムの何れかであってもよい。１以上のデバイスドライバが含まれる場合、これらのデバイスドライバは、ハードウェア又はソフトウェアコンポーネントにかかわらず、コンピュータシステム１００又は３００の対応するものの各種の他のコンポーネントの何れかのサポートを提供するものであってもよい。
【００３０】
各制御ルーチン１４０，３４０は、通信コンポーネント１４９，３４９を有するか、又はリンクされ、説明されたように、ネットワーク９９９を介し信号を送受信するようインタフェース１９０，３９０を動作させるため、プロセッサコンポーネント１５０，３５０により実行可能であってもよい。これらの信号の内、センサデータ１００ａ〜ｃ、物理的マップ５３０及び／又はマージされたマップ３３８を伝送する信号が、ネットワーク９９９を介し計算装置１００ａ〜ｃ及び／又は３００の１以上の間で受信されてもよい。当業者に知られるように、各通信コンポーネントは、インタフェース１９０，３９０の対応するものを実現するため、何れのタイプのインタフェース技術が選択されたとしても、動作可能に選択される。
【００３１】
より詳細には図２に戻って、制御ルーチン１４０の収集コンポーネント１４１は、１以上のセンサ１１０からセンサ情報を少なくとも伝送し、それをセンサデータ１３０ａとして格納し、計算装置３００に送信する信号を受信する。図示されるように、センサ１１０は、限定することなく、コンパス１１１、加速度計１１２ジャイロスコープ１１３及びスピーカ１１４とおそらくペアとされているマイクロフォン１１５の１以上を含む広範なタイプのセンサの１以上を含むものであってもよい。さらに、インタフェース１９０が無線通信機能を有する場合、インタフェース１９０は、無線通信に利用されることに加えて、センサとして利用されてもよい。それのユーザによる計算装置１００ａの現在位置に関する更なる情報の手動による入力を示す信号がまた、コントロール１２０から受信されてもよい。
【００３２】
収集コンポーネント１４１は、センサ１１０から受信したセンサ情報から、計算装置１００ａがある構造の内部を移動するバーチャル経路を少なくとも部分的に導出し、当該バーチャル経路の通知をセンサデータ１３０ａとして格納する。センサデータ１３０ａに示されるものの正確な性質は、可能性のある各種実施例において、何れかのタイプのセンサがセンサ１１０の一部として含まれるかに少なくとも部分的に依存する。例えば、コンパス１１１、加速度計１１２及びジャイロスコープ１１３の１以上がセンサ１１０に含まれる場合、センサデータ１３０ａは、コンパスの方位を参照するバーチャル経路を示し、及び／又はバーチャル経路の方向が変化したポイントにおいてターンした角度の相対的に正確な決定を提供する可能性がある。他の例として、インタフェース１９０がセンサとして利用され、内部における無線アクセスポイント及び／又は他の無線装置からの信号の方向及び／又は相対的な強度を検出することができる場合、センサデータ１３０ａは、検出した信号からそれの強さに沿って相対的な距離及び／又は方向としてバーチャル経路を示す可能性がある。更なる他の例として、マイクロフォン１１５及びスピーカ１１４がエコー特定を実行するため一緒に用いられる場合、センサデータ１３０ａは、壁に相対的に平行に延び、及び／又は壁から離れるバーチャル経路の一部を実質的に示す内部の１以上の壁からの相対的な距離としてバーチャル経路を示す可能性がある。さらに、収集コンポーネント１４１はまた、ユーザが内部の構造的特徴（壁、コーナ、ポストなど）からの観察された距離及び／又は方向を示すコントロール１２０（キーボード、タッチ画面、ローラボールポインティング装置、スタイラスなど）の手動により操作から、ユーザの手動により提供された入力を受け入れてもよい。
【００３３】
当業者に知られるように、センサデータ１３０ａに示されるものの精度は、何れのセンサがセンサ１１０の一部であるかということと、どの程度多様なセンサのタイプがセンサ１１０の一部であるかということとに必然的に依存する。すなわち、計算装置１００ａが内部を移動するときにセンサ情報が収集されるセンサタイプの多様性が高くなるほど、当該内部の結果としての認識はより完全なものとなり、当該情報からのバーチャル経路の乖離はより正確なものになる。典型的な状況においてユーザにより移動される典型的な計算装置は、やや限定的な精度及び多様性のセンサを有すると想定される。これは、このような便利な機能における高い精度を要求する可能性の低いユーザのための便利な機能として、大部分の消費者用の各種計算装置がコンパスの方位、無線アクセスポイントの近接性などの表示を提供するよう設計されているという前提から生じる。従って、ある構造の金属コンポーネントは、磁界及び／又は電波検出を歪める可能性があり、内部を静粛にするための音響的処置は、近くの壁などを検出するためエコー特定の利用を歪め、センサ１１０に何れかのタイプのセンサが内蔵されるかは、このような困難さを補償するため設計される可能性が低いものとして想定される。
【００３４】
図３をより詳細に参照して、制御ルーチン３４０のバーチャルマップ生成手段３４１は、各センサデータ１３０ａ〜ｃに示されるバーチャル経路を単一のバーチャルマップ３３１に合成する。説明されたように、センサデータ１３０ａ〜ｃの何れか１つにおいて提供されるバーチャル経路の表示は、利用されるセンサが限定的な精度しか有しない可能性があると想定されるため、限定的な程度で正確であると想定される。従って、バーチャルマップ生成手段３４１は、複数の計算装置（再び、３つの計算装置１００ａ〜ｃが、説明のため簡単化された例として示されている）からセンサデータを受け入れることが想定される。すなわち、いわゆる“クラウドソーシング”は、経時的にバーチャルマップ３３１の漸進的により正確な転換の生成を可能にするため、バーチャルマップ生成手段３４１への入力として多数のサンプルのセンサデータを提供するのに利用される。制御ルーチン３４０のポイントマップ生成手段３４２は、バーチャル経路の何れのセグメントが交わる曲がり角及び／又は交差点があるポイントを導出するため、バーチャルマップ３３１に示されるバーチャル経路を解析する。ポイントマップ生成手段３４２は、その後、ポイントマップ３３２として、これらのポイントの相対的な位置の表示を格納する。
【００３５】
図５は、バーチャルマップ生成手段３４１及びポイントマップ生成手段３４２によるそれぞれのバーチャルマップ３３１及びポイントマップ３３２の生成の具体例を示す。図５は、各センサデータ１３０ａ〜ｃにおけるバーチャル経路のセグメント１３０１の表示のやや簡単化された図を示すことに留意すべきである。特に、これらのバーチャル経路のセグメント１３０１は直線として示され、図示されるような明確に規定された直線的角度で交わるものとして表示される可能性は低いことが想定される。この相対的にシンプルな図は、理解を容易にするためここで提供される。図示されるように、各センサデータ１３０ａ〜ｃに示されるバーチャル経路は、バーチャルマップ生成手段３４１によりバーチャルマップ３３１を構成するよう合成される。ポイントマップ３３２は、その後にポイントマップ生成手段３４２によりバーチャルマップ３３１から生成される。ポイントマップ３３２は、バーチャルマップ３３１のバーチャル経路のセグメント３３１１が交差点又はバーチャル経路の曲がり角の何れかにおいて交わるポイントの相対位置の表示を含む。
【００３６】
図３を参照して、制御ルーチン３４０の経路抽出手段３４５は、物理的経路の表示を抽出するため、物理的マップ５３０を解析し、これらの表示を経路マップ３３５として格納する。説明されたように、データが格納される方法について現在受け入れられた規格がないため、物理的マップ５３０のデータは広範なタイプのデータ構造の何れにより編成されることが想定される。従って、経路抽出手段３４５は、物理的経路の表示の抽出の部分として可能性のある各種データ構造から物理的マップ５３０の特定のデータ構造を特定する機能を搭載してもよい。このような表示を抽出する際、経路抽出手段３４５は、限定することなく、消火器、公衆電話、水飲み場、エレベータなどのアイテムの位置及び／又は部屋番号の表示を含む、物理的マップ５３０に含まれることが予想される他の情報と物理的経路の表示とを効果的に分離する。
【００３７】
このような抽出では、構造上の柱、少しの曲がり、テーブル、キャビネット、玄関によるある程度の狭めの例などの障害物の位置をまず示す物理的経路の境界を規定する輪郭が特定される。物理的経路をより明確に特定する部分として、経路抽出手段３４５は、物理的経路の穴を充填し、及び／又は境界をスムージングすることによって、これらの輪郭を簡単化する。その後、経路抽出手段３４５は、物理的経路における交差点及び／又は曲がり角がある場合、接続するセグメントとして物理的経路の表示を生成する。これを実行する際、経路抽出手段３４５は、立方体及び／又は家具などの間に構成される通路、廊下の中央に沿って多くの人々が歩く傾向などに基づき、輪郭化された物理的経路の中間に一般にこれらのセグメントを配置してもよい。その後、制御ルーチン３４０のポイントマップ生成手段３４６は、経路のセグメントが交わる曲がり角及び／又は交差点がある経路マップ３３５の物理的経路におけるポイントを示すポイントマップ３３６を生成するため、セグメントによる経路マップ３３５に示される物理的経路を解析する。
【００３８】
図６は、経路抽出手段３４５及びポイントマップ生成手段３４６によるそれぞれの経路マップ３３５及びポイントマップ３３６の生成の具体例を示す。図示されるように、物理的マップ５３０は、ある構造のフロアの少なくとも一部に関する経路の単なる表示を超えて、たくさんの情報を伝達する。具体的には、本例に示されるように、立方体及び／又は部屋への入口、フロアの入口５３０１、構造上の柱５３０２及び他の障害物（コピー機を有するテーブル、オフィスサプライキャビネット、水飲み場、テーブル、本棚、水機能など）の位置である。経路抽出手段３４５はまず、物理的経路の輪郭を導出し、物理的経路と物理的マップ５３０に示される他の全てのアイテムとを区別するため、物理的マップ５３０を効果的に簡単化する。経路抽出手段３４５は、その後、これら物理的経路の輪郭を簡単化し、柱５３０２などのアイテムにより生じる物理的経路の“穴”を充填し、障害物５３０５などのアイテムを取り除くことによって輪郭をスムージングする。その後、経路抽出手段３４５は、セグメント３３５１により物理的経路を再画定し、さらに物理的経路の表示を簡単化する。再び、経路抽出手段３４５は、移動するときに壁に沿って進むのでなく、物理的経路の中央の物理的経路に沿って人が典型的には移動するという仮定を利用してもよい。従って、経路マップ３３５は、物理的経路の中央に沿って全体的に延びるセグメント３３５１として、物理的マップ５３０の物理的経路を示す。経路マップ３３５の生成後、ポイントマップ生成種ファン３４６は、それからポイントマップ３３６を生成する。ポイントマップ３３６は、経路マップ３３５のセグメント３３５１が物理的経路における交差点又は曲がり角の何れにおいて交わる経路マップ３３５のセグメント３３５１のポイント３３６１の位置の表示を含む。
【００３９】
図３を再び参照して、制御ルーチン３４０のマージマップ生成手段３４８は、バーチャルマップ３３１、ポイントマップ３３２、経路マップ３３５、ポイントマップ３３６及び物理的マップ５３０の一部又は全てからマージされたマップ３３８を生成する。いくつかの実施例では、マージマップ生成手段３４８のアンカーコンポーネント３４８２は、バーチャルマップ３３１の特定位置が物理的マップ５３０に一致するアンカーポイントをコントロール３２０の手動により処理を介し指定するため、計算装置３００のオペレータに対するリクエストと共に、ディスプレイ３８０上にバーチャルマップ３３１及び物理的マップ５３０を視覚的に提示する。このようなアンカーポイントは、物理的マップ５３０に示されるフロアの入口（図６の例の入口５３０１の１つなど）又は計算装置３００のオペレータが認識できる他の特徴と一致するよう指定されてもよい。図７において、このようなアンカーポイントを指定する具体例が示される。ちょうど説明されたように、バーチャルマップ３３１及び物理的マップ５３０がオペレータに視覚的に提示され、オペレータは、コントロール３２０を介しバーチャルマップ３３１及び物理的マップのそれぞれに共通するアンカーポイント３３８２を示すよう要求される。このように指定されたアンカーポイント３３８２によって、物理的マップ５３０のアンカーポイント３３８２の位置が経路マップ３３５上の位置に相関される。移動コンポーネント３４８３は、その後、それぞれのアンカーポイント３３８２の位置をアンカーポイント３３８２が共通のアンカーポイントとなるように一致させるため、経路マップ３３５に対してバーチャルマップ３３１の位置をシフト（移動）する。
【００４０】
図３を再び参照して、このようなアンカーポイント（アンカーポイント３３８２など）が指定されるという前提で、移動コンポーネント３４８３、回転コンポーネント３４８４及びスケーリングコンポーネント３４８５のそれぞれが、バーチャルマップ３３１を経路マップ３３５にアラインさせるため各種方法によりバーチャルマップ３３１を操作することを試みる。バーチャルマップ３３１は、何れも他方のスケールに一致するよう生成される可能性が低いとみなされるため、経路マップ３３５のものに一致するようそれのスケールを少なくとも調整するためのある程度の操作を必要とする可能性があると想定される。バーチャルマップ３３１のスケールを調整する際、バーチャルマップ３３１のバーチャル経路のセグメントの相対的な比率が維持されることに留意すべきである。また、経路のコンパス方位を含むセンサデータにより生成されていない場合、バーチャルマップ３３１は経路マップ３３５と同じ回転方向に向けられる可能性が低いと想定される。すなわち、物理的マップ５３０が向き付けされたコンパス方位を示す一方（例えば、磁北の表示など）、バーチャルマップ３３１がそれのバーチャル経路の何れに対してもコンパス方位の表示を含まないように、センサデータ１３０ａ〜ｃの何れもそれの経路の何れのコンパス方位も示さない可能性がある。さらに、物理的マップ５３０及びバーチャルマップ３３１が一致すると想定されるアンカーポイントの表示が提供されているにもかからわず、計算装置３００のオペレータは経路マップ３３５に対するバーチャルマップ３３１のある量の移動（すなわち、シフト）がそれらをアラインさせる一部として必要であるように、アンカーポイントを示す際にやや不正確である可能性があると想定される。
【００４１】
可能性のある各種実施例では、経路マップ３３５に対するバーチャルマップ３３１のこれらの操作の異なるものは、異なる順序により実行されてもよい。例えば、一実施例では、移動コンポーネント３４８３はまず、それぞれのアンカーポイントを一致させるため、経路マップ３３５に対するバーチャルマップ３３１の移動を実行してもよい。その後、回転コンポーネント３４８４は、バーチャルマップ３３１のセグメントの少なくともサブセット（例えば、セグメント３３１１の少なくともサブセットなど）と経路マップ３３５のセグメントの少なくともサブセット（例えば、セグメント３３５１の少なくともサブセットなど）との間である程度のアライメント（パラレル化など）が実現されるまで、経路マップ３３５に対して、それの共通のアンカーポイントに関して異なる向きにバーチャルマップ３３１を回転することを試みる。その後、スケーリングコンポーネントは、バーチャルマップ３３１のセグメントと経路マップ３３５のセグメントとの相対的に高い程度のアライメント（オーバラップなど）を実現するまで、共通のアンカーポイントを維持しながら、経路マップ３３５に対して様々な角度によってより大きく及び／又はより小さくバーチャルマップ３３１のスケーリングを試みてもよい。さらに、移動コンポーネント３４８３は、バーチャルマップ３３１の回転及び／又はスケーリング後、経路マップ３３５に対するバーチャルマップ３３１の更なる移動を実行することを試みてもよい。このような更なる移動は、バーチャルマップ３３１及び経路マップ３３５のアンカーポイントが一致しないことを正確なアライメントが要求するように、限定的な精度のみによってオペレータがアンカーポイントを指定している可能性があるという前提に基づき、ある小さな程度だけアライメントを更に向上させるに一致させることを慎重に止めさせるよう試みてもよい。
【００４２】
バーチャルマップ３３１の各種移動、回転及びスケーリング操作を実行する際、移動コンポーネント３４８３、回転コンポーネント３４８４及びスケーリングコンポーネント３４８５の１以上は、粗いステージ及び精細なステージを含む少なくとも２つのステージにおいてそれらを実行してもよい。粗いステージでは、バーチャルマップ３３１の各種操作はまず、試みられた操作の間の指標の相対的により大きなインクリメントにより試行される。その後、精細なステージにおいて、バーチャルマップ３３１の同じ操作の１以上が、当該指標の相対的により小さなインクリメントにより再び試行される。
【００４３】
例えば、回転コンポーネント３４８４はまず、５度のインクリメントによってアンカーポイントの代わりにバーチャルマップ３３１を回転させることを試み、バーチャルマップ３３１の回転後の向きの何れが最も近いアライメントを生じさせるか決定するため、各インクリメント後にアライメントの程度を確認してもよい。その後、回転コンポーネント３４８４は、１度のインクリメントにより最も近いアライメントを生じさせたと検出される向きから、各回転方向に数度だけ向きを変更し、バーチャルマップ３３１の回転後の向きがさらに良好なアライメントを生じさせるか決定するため、各インクリメント後にアライメントの程度を確認する。これは、最初から１度のインクリメントによりアンカーポイントの周りにバーチャルマップ３３１を回転させる典型的な“ナイーブ”アプローチよりも、ベストなアライメントを生じさせる向きをより迅速に特定することを可能にする。２つのステージを利用することによって、より少ない回転向きしか試行される必要はなく、プロセッサコンポーネント３５０の処理リソースに対してより少ない要求によって、ベストなアライメントをより迅速に検出することが可能になる。
【００４４】
他の例として、スケーリングコンポーネント３４８５はまず、それの当初のサイズの５パーセントのインクリメントだけ、当初のサイズより大きな及び／又は小さなサイズにバーチャルマップのスケーリングを試み、バーチャルマップ３３１のリスケーリングされたサイズの何れが最も近いアライメントを生じさせるか決定するため、各インク値メント後にアライメントの程度を確認してもよい。その後、スケーリングコンポーネント３４８５は、１パーセントのインクリメントにより最も近いアライメントをもたらしたリスケーリングされたサイズからより大きく及びより小さく小さなパーセンテージによりバーチャルマップ３３１のスケールを変更し、バーチャルマップ３３１のリスケーリングされたサイズの何れがさらに良好なアライメントを生じさせるか決定するため、各インクリメント後にアライメントの程度を確認してもよい。
【００４５】
図８は、バーチャルマップ３３１の異なる回転向きが回転コンポーネント３４８４により試みられる具体例を示し、図９は、バーチャルマップ３３１の異なるリスケーリングされたサイズが試みられる具体例を示す。図８では、試みられる各向きが以前に試みられた向きから選択された数の角度だけインクリメントに回転されるバーチャルマップ３３１の異なる回転向き（破線により示される）が試みられる。図９では、試みられる各リスケーリングされたサイズが以前に試みられたリスケーリングされたサイズから選択されたインクリメントのパーセンテージによってより大きく又はより小さくなることによって、バーチャルマップ３３１は異なるリスケーリングされたサイズを試みるよう繰り返しリスケーリングされる（破線により示される）。図８及び９の双方の例では、バーチャルマップ３３１が操作されるとき、共通するアンカーポイント３３８２が維持されることが観察できる。
【００４６】
各移動、向き及び／又はスケーリング操作が試みられるとき、粗い又は精細なインクリメントにかかわらず、制御ルーチン３４０の誤差計算手段３４８６は、結果としてのアライメントの程度を決定する。いくつかの実施例では、当該アライメントの程度は、経路マップ３３５の特徴からバーチャルマップ３３１の特徴の位置の差分の和を測定することによって導出される誤差の程度として決定されてもよい。より詳細には、経路マップ３３５に対するバーチャルマップ３３１の各操作後、ポイントマップ３３６（経路マップ３３５に対応する）のポイント３３６１の最も近い１つからポイントマップ（バーチャルマップ３３１に対応する）の各ポイント３３２１からの位置の差分が測定され、これらの差分の全ての和が、トータルの“誤差”値に到達するよう計算される。
【００４７】
このような計算の１つの可能性のある実施例の具体例は、
Ｅ＝ΣＥｉ＝Σｓｑｒｔ（（ｘｉ−ｐｘｉ）２＋（ｙｉ−ｐｙｉ）２）
であり、Ｅは全ての誤差Ｅｉの和であり、Ｅｉはポイントマップ３３２のｉ番目のポイント３３２１の位置（ｘｉ，ｙｉ）とポイントマップ３３２の当該ｉ番目のポイントに最も近いポイントマップ３３６のポイント３３６１の位置（ｐｘｉ，ｐｙｉ）との間の位置の差分の程度を示す誤差である。バーチャルマップ３３１のセグメント３３１１の個数は経路マップ３３５のセグメント３３５１の個数未満であり、ポイントマップ３３２のポイント３３２１の個数はポイントマップ３３６のポイント３３６１の個数未満である可能性があると想定される。従って、当該計算は、インデックスｉが“１”からポイント３３２１の総数まで繰り返されるように、ポイントマップ３３２上のポイント３３６１の総数について実行される。この計算例又は特徴の差分の指標から導出される誤差項を定量化する他のものを利用して、試みられる複数のもののうちベストな回転向き、ベストなスケーリングされたサイズ及び／又はベストな移動位置は、最小の誤差を生じさせるものである（例えば、バーチャルマップ３３１と経路マップ３３５との間のポイントの位置の最小の差分など）。
【００４８】
バーチャルマップ３３１が経路マップ３３５とアラインされるのに十分操作されると、経路マップ３３５に対するバーチャルマップ３３１のアラインされた位置は、バーチャルマップ３３１及び物理的マップ３５０のマージングがマージされたマップ３３８を生成することを可能にするため、制御ルーチン３４０によって物理的マップ３５０に相関される。その後、制御ルーチン３４０は、マージされたマップ３３８を他の計算装置（計算装置１００ａ〜ｃなど）に提供する。
【００４９】
より詳細には図４を参照して、制御ルーチン１４０の相関コンポーネント１４３は、マージされたマップ３３８及びセンサデータ１３０ａの現在のものを利用して、ディスプレイ１８０上のマージされたマップ３３８の少なくとも一部に計算装置１００ａの現在位置を視覚的に提示するため、計算装置１００ａの現在位置の表示を提供する。これを実行するため、相関コンポーネントは、センサデータ１３０ａの現在のものにおける現在位置の表示と、マージされたマップ３３８にマージされたバーチャル経路の表示とを比較し、マージされたマップ３３８にマージされた物理的経路上の現在位置を特定する。バーチャル経路に沿った位置と物理的経路に沿った位置とを相関させるマージされたマップ３３８によって、マージされたマップ３３８は、現在位置に似ているものとして計算装置１００ａのオペレータにより視覚的に認識可能な物理的経路に沿った計算装置１００ａの現在位置の視覚的プレゼンテーションを可能にする。
【００５０】
図１０は、ロジックフロー２１００の一実施例を示す。ロジックフロー２１００は、ここに開示された１以上の実施例により実行される処理の一部又は全てを表すものであってもよい。より詳細には、ロジックフロー２１００は、少なくとも制御ルーチン３４０を実行する際にプロセッサコンポーネント３５０により実行される処理及び／又は計算装置３００の他のコンポーネントにより実行される処理を示すものであってもよい。
【００５１】
２１１０において、マップマージングシステムの計算装置のプロセッサコンポーネント（マップマージングシステム１０００の計算装置３００のプロセッサコンポーネント３５０など）は、制御ルーチン（制御ルーチン３４０など）の経路抽出手段の実行によって、ある構造の内部のフロアの少なくとも一部の物理的マップ（物理的マップ５３０など）から物理的経路の輪郭を導出させられる。説明されたように、典型的な物理的マップは、消火器、構造上の柱などの位置などの関心アイテムを含む物理的パスの記載を超えた他の情報を含む可能性があることが想定される。
【００５２】
２１２０において、輪郭化された物理的経路の穴が、物理的経路の各部分の中に配置される障害物（構造上の柱５３０２など）の表示を取り除くため充填される。２１３０において、輪郭化された物理的経路の境界が、境界から物理的経路に侵入した障害物（障害物５３０５など）の表示を取り除くようスムース化される。障害物の表示の削除は、経路の位置及び方向の表示を簡単化する。
【００５３】
２１４０において、物理的経路はセグメントとして再画定され、これにより、当該セグメントの配置の表示から構成される経路マップを生成する。２１５０において、これらのセグメントは、廊下や通路などの中央に沿って全体的に移動する人の傾向を認めるとき、輪郭化された物理的経路の中央に向かって配置されてもよい。２１６０において、プロセッサコンポーネントは、制御ルーチンのポイントマップ生成手段の実行によって、経路マップのセグメントの１以上が交わるポイントの位置を決定し、当該ポイントの位置のポイントマップを生成させられる。
【００５４】
図１１は、ロジックフロー２２００の一実施例を示す。ロジックフロー２２００は、ここに説明される１以上の実施例により実行される処理の一部又は全てを表すものであってもよい。より詳細には、ロジックフロー２２００は、少なくとも制御ルーチン３４０を実行する際にプロセッサコンポーネント３５０により実行される処理及び／又は計算装置３００の他のコンポーネントにより実行される処理を示すものであってもよい。
【００５５】
２２１０において、マップマージングシステムの計算装置のプロセッサコンポーネント（マップマージングシステム１０００の計算装置３００のプロセッサコンポーネント３５０など）は、バーチャルマップ及び物理マップの対応するアンカーポイント（例えば、バーチャルマップ３３１及び物理マップ５３０の対応するアンカーポイント３３８２）の表示を受信する。説明されたように、計算装置のオペレータには、２つのマップ上の位置が対応するそれぞれのアンカーポイントを示すためのリクエストと共に、物理的マップ及びバーチャルマップが視覚的に提示されてもよい。
【００５６】
２２２０において、物理的マップについて受信したアンカーポイントの位置の表示は、物理的マップから物理的経路の表示を抽出することによって導出される経路マップに相関される。説明されたように、物理的マップのアンカーポイントとそれの対応する経路マップとの相関は、バーチャルマップのバーチャル経路を経路マップの物理的経路にアラインさせるための更なる処理を可能にするものであってもよい。
【００５７】
２２３０において、バーチャルマップは、経路マップの物理的経路とバーチャルマップのバーチャル経路とのベストなアライメントを決定するため、操作の間の選択されたより粗いインクリメントにおいて移動、回転及びスケーリングの１以上において繰り返し操作される。説明されたように、回転角度の初期的なより粗いインクリメント、リスケーリングにおけるサイズのパーセンテージ及び／又は移動における距離が、ベストなアライメントを検出するため、より粗いステージにおいて利用される。
【００５８】
２２４０において、バーチャルマップは更に、操作の間の選択されたより精細なインクリメントにおける移動、回転及びスケーリングの１以上において繰り返し操作され、決定されたベストなアライメントからスタートして、経路マップの物理的経路とバーチャル経路との更なるより良好なアライメントを決定する。説明されたように、最初のより粗いステージとその後のより精細なステージとにおける経路マップに対するバーチャルマップの様々な回転された向き、リスケーリングされたサイズ及び／又は移動を試みることは、プロセッサコンポーネント上のより少ない要求によってより短い時間でベストなアライメントが決定されることを可能にする。
【００５９】
２２５０において、更なるより良好なアライメントであるとしてより粗い及びより精細なインクリメントによる操作を介し決定されたバーチャルマップの経路マップに対するアライメントは、バーチャルマップを物理的マップにアラインするため物理的マップと相関される。２２６０において、バーチャル及び物理的マップは、更なるより良好なアライメントを用いてマージされる。
【００６０】
図１２は、上述された各種実施例を実現するのに適した一例となる処理アーキテクチャ３０００の実施例を示す。より詳細には、処理アーキテクチャ３０００（又はその変形）は、計算装置３００の一部として実現されてもよい。処理アーキテクチャ３０００のコンポーネントには、最後の２桁が計算装置１００ａ〜ｃ及び３００の１以上の一部として以前に図示及び説明されたコンポーネントの少なくとも一部の参照番号の最後の２桁に対応する参照番号が与えられることに留意すべきである。これは、それぞれのコンポーネントの関連付けるための一助として行われる。
【００６１】
処理アーキテクチャ３０００は、限定することなく、１以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺装置、インタフェース、オシレータ、タイミング装置、ビデオカード、オーディオカード、マルチメディア入出力（Ｉ／Ｏ）コンポーネント、電源などを含むデジタル処理に通常用いられる各種要素を含むものであってもよい。本出願に用いられるように、“システム”及び“コンポーネント”という用語は、デジタル処理が実行される計算装置のエンティティを表すことが意図され、当該エンティティはハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア又は実行中のソフトウェアであり、その具体例は図示された当該一例となる処理アーキテクチャにより提供される。例えば、コンポーネントは、限定することなく、プロセッサコンポーネント上で実行されるプロセス、プロセッサコンポーネント自体、光及び／又は磁気記憶媒体を利用可能なストレージ装置（ハードディスクドライブ、アレイにおける複数のストレージ装置など）、ソフトウェアオブジェクト、実行可能な命令シーケンス、実行スレッド、プログラム及び／又は計算装置全体（コンピュータ全体など）とすることができる。例えば、サーバ上で実行されるアプリケーションとサーバとの双方がコンポーネントとすることできる。１以上のコンポーネントは、実行スレッド及び／又はプロセス内に存在させることができ、コンポーネントは、２以上の計算装置の間に分散され、及び／又は１つの計算装置にローカライズさせることができる。さらに、コンポーネントは、各処理を調整するため、各種タイプの通信媒体によって互いに通信接続されてもよい。当該調整は、一方向又は双方向の情報のやりとりを伴うものであってもよい。例えば、コンポーネントは、通信媒体を介し通信される信号の形態により情報を通信してもよい。当該情報は、１以上の信号ラインに配分される信号として実現できる。メッセージ（コマンド、ステータス、アドレス又はデータメッセージを含む）は、このような信号の１つであってもよく、又はこのような信号の複数であってもよく、各種接続及び／又はインタフェースの何れかを介し直列的に又は実質的に並列的に送信されてもよい。
【００６２】
図示されるように、処理アーキテクチャ３０００を実現する際、計算装置は、少なくともプロセッサコンポーネント９５０、ストレージ９６０、他の装置とのインタフェース９９０及びカップリング９５５を有してもよい。説明されるように、それの意図される利用及び／又は使用状態を含む処理アーキテクチャ３０００を実現する計算装置の各種態様に依存して、このような計算装置は更に、限定することなくディスプレイインタフェース９８５などの追加的なコンポーネントを含むものであってもよい。
【００６３】
カップリング９５５は、少なくともプロセッサコンポーネント９５０とストレージ９６０とを通信接続する１以上のバス、ポイント・ツー・ポイントインターコネクト、送受信機、バッファ、クロスポイントスイッチ及び／又は他のコンダクタ及び／又はロジックを含むものであってもよい。カップリング９５５は更に、インタフェース９９０、オーディオサブシステム９７０及びディスプレイインタフェース９８５の１以上とプロセッサコンポーネント９５０とを接続してもよい（これら及び／又は他のコンポーネントの何れがまた存在するに依存して）。プロセッサコンポーネント９５０がカップリング９５５により接続されることによって、プロセッサコンポーネント９５０は、詳細に上述されたタスクの様々なものを実行可能であり、その何れについても、上述した計算装置の１つが処理アーキテクチャ３０００を実現する。カップリング９５５は、信号が光学的及び／又は電気的に伝えられる各種技術の何れか又は組み合わせにより実現されてもよい。さらに、カップリング９５５の少なくとも一部は、限定することなく、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、ＣａｒｄＢｕｓ、Ｅ−ＩＳＡ（Ｅｘｔｅｎｄｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＮｕＢｕｓ、ＰＣＩ−Ｘ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（Ｅｘｔｅｎｄｅｄ））、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩ−Ｅ）、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）バス、ＨｙｐｅｒＴｒａｎｓｐｏｒｔＴＭ、ＱｕｉｃｋＰａｔｈなどを含む広範な工業規格の何れかに準拠するタイミング及び／又はプロトコルを利用してもよい。
【００６４】
上述されたように、プロセッサコンポーネント９５０（プロセッサコンポーネント１５０，３５０の１以上に対応する）は、広範な市販のプロセッサの何れを含むものであってもよく、広範な技術の何れかを利用し、複数の方法の何れにより物理的に組み合わされた１以上のコアにより実現されてもよい。
【００６５】
上述されたように、ストレージ９６０（ストレージ１６０，３６０の１以上に対応する）は、広範な技術の何れか又は技術の組み合わせに基づき１以上の個別のストレージ装置から構成されてもよい。より詳細には、示されるように、ストレージ９６０は、揮発性ストレージ９６１（例えば、ＲＡＭ技術の１以上の形態に基づきソリッドステートストレージなど）、不揮発性ストレージ９６２（コンテンツを保存するため電力のコンスタントな提供を必要としないソリッドステート、強磁性体又は他のストレージなど）及び着脱可能な記憶媒体９６３（情報が計算装置の間で伝えられる着脱可能なディスク又はソリッドステートメモリカードストレージなど）の１以上を含むものであってもよい。複数の異なるタイプのストレージを含む可能性があるとしてストレージ９６０を図示することは、計算装置における複数タイプのストレージ装置の一般的な利用の認識にあり、そこでは、１つのタイプはプロセッサコンポーネント９５０によるデータのより迅速な操作を可能にする相対的に迅速なリード及びライト機能を提供し（しかしながら、電力をコンスタントに必要とする“揮発性”技術をおそらく利用して）、他のタイプは相対的に高い密度の不揮発性ストレージを提供する（しかしながら、相対的に低速なリード及びライト機能を提供する）。
【００６６】
異なる技術を利用する異なるストレージ装置のしばしば異なる特性が与えられると、このような異なるストレージ装置が異なるストレージ装置に接続される異なるストレージコントローラを介し計算装置の他の部分に接続されることが一般的である。例えば、揮発性ストレージ９６１が存在し、ＲＡＭ技術に基づくものである場合、揮発性ストレージ９６１は、ロー及びカラムアドレッシングをおそらく利用する揮発性ストレージ９６１に適したインタフェースを提供するストレージコントローラ９６５ａを介しカップリング９５５に通信接続されてもよく、そこでは、ストレージコントローラ９６５ａが揮発性ストレージ９６１内に格納されている情報を保存するのに利用されるローリフレッシュ処理及び／又は他のメンテナンスタスクを実行してもよい。他の例として、不揮発性ストレージ９６２が存在し、１以上の強磁性体及び／又はソリッドステートディスクドライブを含む場合、不揮発性ストレージ９６２は、情報ブロック及び／又はシリンダ及びセクタのアドレッシングをおそらく利用する不揮発性ストレージ９６２に適したインタフェースを提供するストレージコントローラ９６５ｂを介しカップリング９５５に通信接続されてもよい。更なる他の例として、着脱可能な記憶媒体９６３が存在し、マシーン可読記憶媒体９６９の１以上の部分を利用する１以上の光学的及び／又はソリッドステートディスクドライブを含む場合、着脱可能な記憶媒体９６３は、情報ブロックのアドレッシングをおそらく利用する着脱可能な記憶媒体９６３に適したインタフェースを提供するストレージコントローラ９６５ｃを介しカップリング９５５に通信接続されてもよく、そこでは、ストレージコントローラ９６５ｃは、マシーン可読記憶媒体９６９の寿命を延ばすのに固有の方法によりリード、イレース及びライト処理を調整してもよい。
【００６７】
揮発性ストレージ９６１又は不揮発性ストレージ９６２の一方又は他方は、それぞれが基づく技術に応じて、各種実施例を実現するためプロセッサコンポーネント９５０により実行可能な命令シーケンスを含むルーチンが格納可能なマシーン可読記憶媒体の形態による製造物を含むものであってもよい。例えば、不揮発性ストレージ９６２が強磁性体ベースのディスクドライブ（いわゆる、“ハードドライブ”など）を含む場合、このような各ディスクドライブは、典型的には、フロッピー（登録商標）ディスケットなどの記憶媒体に類似した方法により、磁気反応粒子のコーティングが命令シーケンスなどの情報を格納するため各種パターンにより堆積及び磁気的に配向された１以上の回転プラッタを利用する。他の例では、不揮発性ストレージ９６２は、コンパクトフラッシュカードに類似した方法により、命令シーケンスなどの情報を格納するためのソリッドステートストレージ装置のバンクから構成されてもよい。再び、実行可能なルーチン及び／又はデータを格納するため、異なるときに計算装置の異なるタイプのストレージ装置を利用することが一般的である。従って、各種実施例を実現するためプロセッサコンポーネント９５０により実行される命令シーケンスを含むルーチンは、マシーン可読記憶媒体９６９に初期的に格納され、その後、着脱可能な記憶媒体９６３が、ルーチンが実行されるとき、プロセッサコンポーネント９５０によるより迅速なアクセスを可能にするため、マシーン可読記憶媒体９６９及び／又は揮発性ストレージ９６１の継続的な存在を要求しない長期間のストレージのため、当該ルーチンを不揮発性ストレージ９６２にコピーするのに利用されてもよい。
【００６８】
上述されたように、インタフェース９９０（おそらくインタフェース１９０，３９０の１以上に対応する）は、計算装置を１以上の他の装置に通信接続するのに利用可能な各種通信技術の何れかに対応する各種シグナリング技術の何れかを利用してもよい。再び、各種形態の有線又は無線シグナリングの一方又は双方が、おそらくネットワーク（ネットワーク９９９など）又は相互接続されたネットワーク群を介しプロセッサコンポーネント９５０が入出力装置（図示された一例となるキーボード９２０又はプリンタ９２５など）及び／又は他の計算装置とやりとりすることを可能にするのに利用されてもよい。何れか１つの計算装置によりしばしばサポートされなければならない複数タイプのシグナリング及び／又はプロトコルのしばしば大きく異なる文字の認識では、インタフェース９９０は、複数の異なるインタフェースコントローラ９９５ａ，９９５ｂ，９９５ｃを含むものとして示される。インタフェースコントローラ９９５ａは、各種タイプの有線デジタルシリアルインタフェース又はラジオ周波数無線インタフェースの何れを用いて、図示されたキーボード９２０などのユーザ入力装置から順次送信されたメッセージを受信してもよい。インタフェースコントローラ９９５ｂは、各種ケーブルベース又は無線シグナリング、タイミング及び／又はプロトコルの何れかを用いて、図示されたネットワーク９９９（おそらく、１以上のリンクから構成されるネットワーク、小型ネットワーク又はインターネット）を介し他の計算装置にアクセスしてもよい。インタフェース９９５ｃは、図示されたプリンタ９２５にデータを伝送するため、シリアル又はパラレルの何れかの信号送信の利用を可能にする各種導電性ケーブルの何れかを利用してもよい。インタフェース９９０の１以上のインタフェースコントローラを介し通信接続されてもよい他の装置の具体例として、限定することなく、マイクロフォン、リモートコントロール、スタイラスペン、カードリーダ、フィンガプリントリーダ、バーチャルリアリティインタラクショングローブ、グラフィカル入力タブレット、ジョイスティック、他のキーボード、網膜スキャナ、タッチ画面のタッチ入力コンポーネント、トラックボール、各種センサ、ジェスチャ及び／又は顔の表情を介し人から通知されたコマンド及び／又はデータを受け入れるため人の動きをモニタするためのカメラ若しくはカメラアレイ、レーザプリンタ、インクジェットプリンタ、メカニカルロボット、フライス盤などがあげられる。
【００６９】
計算装置がディスプレイ（例えば、ディスプレイ１８０，３８０の１以上に対応する図示された一例となるディスプレイ９８０など）に通信接続（又は実際には搭載）される場合、処理アーキテクチャ３０００を実現するこのような計算装置はまた、ディスプレイインタフェース９８５を含むものであってもよい。より一般化されたタイプのインタフェースがディスプレイに通信接続するのに利用されるが、ディスプレイ上に各種形態のコンテンツを視覚的に表示する際にしばしば必要とされるやや特化した追加的な処理は、使用されるケーブルベースインタフェースのやや特化した性質と共に、しばしば異なるディスプレイインタフェースの提供を望ましくする。ディスプレイ９８０の通信接続においてディスプレイインタフェース９８５により利用可能な有線及び／又は無線シグナリング技術は、限定することなく、各種アナログビデオインタフェース、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｉｎｔｅｒｆａｃｅ）、ＤｉｓｐｌａｙＰｏｒｔなどの何れかを含む各種工業規格の何れかに準拠するシグナリング及び／又はプロトコルを利用してもよい。
【００７０】
より一般には、ここに図示及び記載された計算装置の各種要素は、各種ハードウェア要素、ソフトウェア要素又は双方の組み合わせを含むものであってもよい。ハードウェア要素の具体例として、デバイス、ロジックデバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサコンポーネント、回路素子（トランジスタ、レジスタ、キャパシタ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどがあげられる。ソフトウェア要素の具体例として、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシーンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、計算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル又はこれらの何れかの組み合わせがあげられる。しかしながら、ハードウェア要素及び／又はソフトウェア要素を用いて実施例が実現されるかの判断は、所与の実現形態について望まれるように、所望の計算レート、電力レベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバススピード及び他の設計若しくはパフォーマンス制約などの任意数の要因に従って変更されてもよい。
【００７１】
いくつかの実施例は、“一実施例”又は“実施例”と共にそれらの派生語を用いて説明されてもよい。これらの用語は、実施例に関連して説明される特定の特徴、構造又は特性が少なくとも１つの実施例に含まれることを意味する。明細書の各所における“一実施例では”というフレーズの出現は、必ずしも全てが同一の実施例を参照しているとは限らない。さらに、いくつかの実施例は、“結合”及び“接続”と共にそれらの派生語を用いて説明されてもよい。これらの用語は、必ずしも互いに同義語として意図される必要はない。例えば、いくつかの実施例は、２以上の要素が互いに直接的に物理的又は電気的な接触状態にあることを示すため、“接続”及び／又は“結合”という用語を用いて説明されてもよい。しかしながら、“結合”という用語はまた、２以上の要素が互いに直接的な接触状態にないが、依然として互いに連係又はやりとりすることを意味するものであってもよい。さらに、異なる実施例からの態様又は要素が組み合わされてもよい。
【００７２】
開示の概要は、読者が技術的開示の性質を素早く確認することを可能にするため提供されていることが強調される。それは、請求項の範囲又は意味を解釈又は限定することに利用されるものでないという理解により提出されている。さらに、上述した詳細な説明では、開示の簡略化のため、各種特徴が単一の実施例において一緒にグループ化されていることが理解できる。この開示方法は、請求された実施例が各請求項に明示的に記載されているより多くの特徴を要求するという意図を反映するものとして解釈されるべきでない。むしろ、以下の請求項が反映するように、本発明の主題は、開示された単一の実施例の全ての特徴より少ない。従って、以下の請求項は詳細な説明に含まれ、各請求項は別の実施例としてそれ自体成立する。添付した請求項では、“有する”及び“そこで”という用語がそれぞれ、“有する”又は“そこで”の平易な英語の等価として利用されている。さらに、“第１”、“第２”、“第３”などの用語は、単なるラベルとして用いられ、それの目的に対して多くの要求を課すことを意図したものでない。
【００７３】
上述されたものは、開示されたアーキテクチャの具体例を含む。もちろん、コンポーネント及び／又は方法の全ての考えられる組み合わせを説明することはできないが、当業者は、多くの更なる組み合わせ及び組み替えが可能であることを認識するであろう。従って、新規なアーキテクチャは、添付した請求項の趣旨及び範囲内に属するこのような全ての代替、改良及び変形を含むことが意図される。詳細な開示は、更なる実施例に属する具体例を提供する。以下に与えられる具体例は、限定することを意図するものでない。
【００７４】
一例となるマップをマージする装置は、プロセッサコンポーネントと、バーチャルマップと物理的マップとをマージして、マージされたマップを生成する、前記プロセッサコンポーネントによる実行されるマージマップ生成手段であって、前記バーチャルマップはセンサに基づき構造の内部を介したバーチャル経路の表示を有し、前記物理的マップは前記内部の物理的経路の表示を有する、マージマップ生成手段とを有する。
【００７５】
上記の例の装置であって、当該装置は、前記プロセッサコンポーネントにより実行される誤差計算手段を有し、前記マージマップ生成手段は、経路マップに対して前記バーチャルマップを繰り返し操作し、前記誤差計算手段は、前記バーチャルマップの各操作に対して前記バーチャルマップの特徴と前記経路マップの特徴との間の位置の差分の和を表す誤差の程度を決定し、前記経路マップは、前記物理的経路の位置を示す。
【００７６】
上記の例の装置の何れかであって、当該装置は、前記プロセッサコンポーネントに通信接続されるディスプレイと、前記バーチャルマップと前記物理的マップとが前記ディスプレイ上で一致するアンカーポイントの表示に対するリクエストを視覚的に提示し、前記物理マップ上の前記アンカーポイントの位置と前記経路マップ上の位置とを相関させる、前記プロセッサコンポーネントにより実行されるアンカーコンポーネントとを有する。
【００７７】
上記の例の装置の何れかであって、当該装置は、複数の向きに前記アンカーポイントの周りに前記経路マップに対して前記バーチャルマップを回転させる、前記プロセッサコンポーネントにより実行される回転コンポーネントを有し、前記誤差計算手段は、前記複数の向きの何れの向きが前記バーチャルマップと前記経路マップとの間のベストなアライメントを提供するか決定するため、前記複数の向きの各向きについて誤差の程度を決定する。
【００７８】
上記の例の装置の何れかであって、当該装置は、前記アンカーポイントを維持しながら、前記経路マップに対して複数のサイズに前記バーチャルマップをスケーリングする、前記プロセッサコンポーネントにより実行されるスケーリングコンポーネントを有し、前記誤差計算手段は、前記複数のサイズの何れのサイズが前記バーチャルマップと前記経路マップとの間のベストなアライメントを提供するか決定するため、前記複数のサイズの各サイズについて誤差の程度を決定する。
【００７９】
上記の例の装置の何れかであって、前記バーチャルマップの特徴は、バーチャル経路の２以上のセグメントが交わるポイントを含み、前記経路マップの特徴は、物理的経路の２以上のセグメントが交わるポイントを含む。
【００８０】
上記の例の装置の何れかであって、当該装置は、前記物理的マップから前記物理的経路の位置の表示を含む経路マップを生成する、前記プロセッサコンポーネントにより実行される経路抽出手段を有する。
【００８１】
上記の例の装置の何れかであって、前記マージマップ生成手段は、前記経路マップによる前記バーチャルマップのベストなアライメントを決定するため、より粗いインクリメントによる第１ステージと、前記経路マップによる前記バーチャルマップの更なるより良好なアライメントを決定するため、より精細なインクリメントによる第２ステージとにおいて、前記経路マップに対して前記バーチャルマップを繰り返し操作する。
【００８２】
上記の例の装置の何れかであって、当該装置は、回転角度の第１の選択された大きさのインクリメントによる前記第１ステージと、回転角度の第２の選択された大きさのインクリメントによる前記第２ステージとにおいて、前記経路マップに対して前記バーチャルマップを回転する、前記プロセッサコンポーネントにより実行される回転コンポーネントを有し、前記第１の選択された大きさは前記第２の選択された大きさより大きい。
【００８３】
上記の例の装置の何れかであって、当該装置は、前記バーチャルマップのサイズの第１の選択されたパーセンテージのインクリメントによる第１ステージと、前記バーチャルマップのサイズの第２の選択されたパーセンテージのインクリメントによる第２ステージとにおいて、前記経路マップに対して前記バーチャルマップをスケーリングする、前記プロセッサコンポーネントにより実行されるスケーリングコンポーネントを有し、前記第１の選択されたパーセンテージは、前記第２の選択されたパーセンテージより大きい。
【００８４】
上記の例の装置の何れかであって、前記マージマップ生成手段は、前記経路マップによる前記バーチャルマップのアライメントを前記物理的マップによる前記バーチャルマップのアライメントと相関させる。
【００８５】
上記の例の装置の何れかであって、当該装置は、前記マージされたマップを前記計算装置の少なくとも１つに送信する、前記プロセッサコンポーネントに通信接続されるインタフェースを有する。
【００８６】
他の例となるマップをマージする装置は、プロセッサコンポーネントと、物理的マップの物理的経路のセグメントによりバーチャルマップのバーチャル経路のセグメントをアラインする、前記プロセッサコンポーネントにより実行されるマージマップ生成手段であって、前記バーチャル経路はセンサに基づき構造の内部の経路を含み、前記物理的経路は前記内部における物理的な移動を可能にする経路を含む、マージマップ生成手段とを有する。
【００８７】
上記の例の装置であって、当該装置は、前記構造の少なくとも一部の物理的マップから前記物理的経路の表示を抽出し、前記経路マップを生成する、前記プロセッサコンポーネントにより実行される経路抽出手段を有する。
【００８８】
上記の例の装置の何れかであって、前記マージマップ生成手段は、前記物理的経路による前記バーチャル経路のアライメントを前記物理的マップによる前記バーチャルマップのアライメントに相関させ、前記バーチャルマップと前記物理的マップとをマージし、マージされたマップを生成する。
【００８９】
上記の例の装置の何れかであって、前記マージマップ生成手段は、前記物理的経路による前記バーチャル経路のベストなアライメントを決定するため、より粗いインクリメントによる第１ステージと、前記物理的経路による前記バーチャル経路の更なるより良好なアライメントを決定するためより精細なインクリメントによる第２ステージとにおいて、前記経路マップに対して前記バーチャルマップを繰り返し操作する。
【００９０】
上記の例の装置の何れかであって、当該装置は、回転角度の第１の選択された大きさのインクリメントによる前記第１ステージと、回転角度の第２の選択された大きさのインクリメントによる前記第２ステージとにおいて、前記経路マップに対して前記バーチャルマップを回転する、前記プロセッサコンポーネントにより実行される回転コンポーネントを有し、前記第１の選択された大きさは、前記第２の選択された大きさより大きい。
【００９１】
上記の例の装置の何れかであって、当該装置は、前記バーチャルマップのサイズの第１の選択されたパーセンテージのインクリメントによる第１ステージと、前記バーチャルマップのサイズの第２の選択されたパーセンテージのインクリメントによる第２ステージとにおいて、前記経路マップに対して前記バーチャルマップをスケーリングする、前記プロセッサコンポーネントにより実行されるスケーリングコンポーネントを有し、前記第１の選択されたパーセンテージは、前記第２の選択されたパーセンテージより大きい。
【００９２】
上記の例の装置の何れかであって、当該装置は、前記バーチャルマップの各操作について前記バーチャルマップの特徴と前記経路マップの特徴との間の位置の差分の和を表す誤差の程度を決定する、前記プロセッサコンポーネントにより実行される誤差計算手段を有する。
【００９３】
上記の例の装置の何れかであって、前記バーチャルマップの特徴は、バーチャル経路の２以上のセグメントが交わるポイントを含み、前記経路マップの特徴は、物理的経路の２以上のセグメントが交わるポイントを含む。
【００９４】
一例となるマップをマージするためのコンピュータにより実現される方法は、センサに基づき構造の内部のバーチャル経路の表示を有するバーチャルマップを生成するステップと、前記内部の物理的経路の表示を有する物理的マップと前記バーチャルマップとをマージし、マージされたマップを生成するステップとを有する。
【００９５】
上記の例の方法であって、当該方法は、前記物理的マップの物理的経路の表示から経路マップを生成するステップと、前記経路マップに対して前記バーチャルマップを繰り返し操作するステップと、前記バーチャルマップの各操作について前記バーチャルマップの特徴と前記経路マップの特徴との間の位置の差分の和を表す誤差の程度を決定するステップとを有する。
【００９６】
上記の例の何れかの方法であって、当該方法は、前記物理的マップ、前記バーチャルマップ及び前記バーチャルマップと前記物理的マップとがディスプレイ上で一致するアンカーポイントの表示に対するリクエストを視覚的に提示するステップと、前記物理的マップ上のアンカーポイントの位置を前記経路マップ上の位置と相関させるステップとを有する。
【００９７】
上記の例の何れかの方法であって、当該方法は、複数の向きに前記アンカーポイントの周りに前記経路マップに対して前記バーチャルマップを回転させるステップと、前記複数の向きの何れの向きが前記バーチャルマップと前記経路マップとの間のベストなアライメントを提供するか決定するステップとを有する。
【００９８】
上記の何れかの方法であって、当該方法は、前記アンカーポイントを維持しながら、前記経路マップに対して複数のサイズに前記バーチャルマップをスケーリングするステップと、前記複数のサイズの何れのサイズが前記バーチャルマップと前記経路マップとの間のベストなアライメントを提供するか決定するステップとを有する。
【００９９】
上記の例の何れかの方法であって、前記バーチャルマップの特徴は、バーチャル経路の２以上のセグメントが交わるポイントを含み、前記経路マップの特徴は、物理的経路の２以上が交わるポイントを含む。
【０１００】
上記の例の何れかの方法であって、当該方法は、より粗いインクリメントによる第１ステージにおいて前記経路マップに対して前記バーチャルマップを繰り返し操作し、前記経路マップによる前記バーチャルマップのベストなアライメントを決定するステップと、より精細なインクリメントによる第２ステージにおいて前記経路マップに対して前記バーチャルマップを繰り返し操作し、前記経路マップによる前記バーチャルマップの更なる良好なアライメントを決定するステップとを有する。
【０１０１】
上記の例の何れかの方法であって、当該方法は、回転角度の第１の選択された大きさのインクリメントによる前記第１ステージにおいて前記経路マップに対して前記バーチャルマップを回転させるステップと、回転角度の第２の選択された大きさのインクリメントによる前記第２ステージにおいて前記経路マップに対して前記バーチャルマップを回転させるステップとを有し、前記第１の選択された大きさは前記第２の選択された大きさより大きい。
【０１０２】
上記の例の何れかの方法であって、当該方法は、前記バーチャルマップのサイズの第１の選択されたパーセンテージのインクリメントによる前記第１ステージにおいて前記経路マップに対して前記バーチャルマップをスケーリングするステップと、前記バーチャルマップのサイズの第２の選択されたパーセンテージのインクリメントによる前記第２ステージにおいて前記経路マップに対して前記バーチャルマップをスケーリングするステップとを有する。
【０１０３】
上記の例の何れかの方法であって、当該方法は、前記経路マップによる前記バーチャルマップのアライメントを前記物理的マップによる前記バーチャルマップのアライメントと相関させるステップと、前記マージされたマップを前記計算装置の少なくとも１つに送信するステップとを有する。
【０１０４】
一例となるマップをマージする装置は、コンピュータにより実現される方法のここに記載された実施例の何れかを実行する手段を有する。
【０１０５】
一例となる少なくとも１つのマシーン可読記憶媒体は、計算装置により実行されると、前記計算装置にコンピュータにより実現される方法のここに記載された実施例の何れかを実行させる命令を有する。
【０１０６】
一例となる少なくとも１つのマシーン可読記憶媒体は、計算装置により実行されると、センサに基づき構造の内部のバーチャル経路の表示を有するバーチャルマップを生成するステップと、前記内部の物理的経路の表示を有する物理的マップと前記バーチャルマップとをマージし、マージされたマップを生成するステップとを前記計算装置に実行させる命令を有する。
【０１０７】
上記の例の少なくとも１つのマシーン可読記憶媒体であって、前記計算装置は、前記物理的マップの物理的経路の表示から経路マップを生成するステップと、前記経路マップに対して前記バーチャルマップを繰り返し操作するステップと、前記バーチャルマップの各操作について前記バーチャルマップの特徴と前記経路マップの特徴との間の位置の差分の和を表す誤差の程度を決定するステップとを実行する。
【０１０８】
上記の例の何れかの少なくとも１つのマシーン可読記憶媒体であって、前記計算装置は、前記物理的マップ、前記バーチャルマップ及び前記バーチャルマップと前記物理的マップとがディスプレイ上で一致するアンカーポイントの表示に対するリクエストを視覚的に提示するステップと、前記物理的マップ上のアンカーポイントの位置を前記経路マップ上の位置と相関させるステップとを実行する。
【０１０９】
上記の例の少なくとも１つのマシーン可読記憶媒体であって、前記計算装置は、複数の向きに前記アンカーポイントの周りに前記経路マップに対して前記バーチャルマップを回転させるステップと、前記複数の向きの何れの向きが前記バーチャルマップと前記経路マップとの間のベストなアライメントを提供するか決定するステップとを実行する。
【０１１０】
上記の例の少なくとも１つのマシーン可読記憶媒体であって、前記計算装置は、前記アンカーポイントを維持しながら前記経路マップに対して複数のサイズに前記バーチャルマップをスケーリングするステップと、前記複数のサイズの何れのサイズが前記バーチャルマップと前記経路マップとの間のベストなアライメントを提供するか決定するステップとを実行する。
【０１１１】
上記の例の少なくとも１つのマシーン可読記憶媒体であって、前記バーチャルマップの特徴は、バーチャル経路の２以上のセグメントが交わるポイントを含み、前記経路マップの特徴は、物理的経路の２以上が交わるポイントを含む。
【０１１２】
上記の例の少なくとも１つのマシーン可読記憶媒体であって、前記計算装置は、より粗いインクリメントによる第１ステージにおいて前記経路マップに対して前記バーチャルマップを繰り返し操作し、前記経路マップによる前記バーチャルマップのベストなアライメントを決定するステップと、より精細なインクリメントによる第２ステージにおいて前記経路マップに対して前記バーチャルマップを繰り返し操作し、前記経路マップによる前記バーチャルマップの更なる良好なアライメントを決定するステップとを実行する。
【図１】
2015524071.tif 000003
【図２】
2015524071.tif 000004
【図３】
2015524071.tif 000005
【図４】
2015524071.tif 000006
【図５】
2015524071.tif 000007
【図６】
2015524071.tif 000008
【図７】
2015524071.tif 000009
【図８】
2015524071.tif 000010
【図９】
2015524071.tif 000011
【図１０】
2015524071.tif 000012
【図１１】
2015524071.tif 000013
【図１２】
2015524071.tif 000014
【国際調査報告】
2015524071.tif 000015
2015524071.tif 000016