"双方向3次元環境におけるバーチャルカメラの誘導付きナビゲーションのためのコンピュータ実装方法であって、前記3次元環境内に前記バーチャルカメラのビューポイントからのパノラマ画像の第1の3次元表現を表示することと、前記第1のパノラマ画像に関連付けられたメタデータに基づいて、前記第1のパノラマ画像にリンクされた1つ以上の追加のパノラマ画像を識別することと、前記3次元環境内における、前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像の各々に対して良好な視覚的品質の領域を決定することと、各良好な視覚的品質の領域に基づいて、前記第1のパノラマ画像と前記1つ以上の追加のパノラマ画像との間の進路に対する1つ以上のナビゲーション経路を生成することであって、各ナビゲーション経路は、前記バーチャルカメラの移動を制約するレンダリング表面を有する、ことと、ユーザ入力に基づいて、前記第1のパノラマ画像に関連付けられた第1の位置から、前記1つ以上の追加のパノラマ画像のうちの第2のパノラマ画像に関連付けられた第2の位置に向かう前記進路に沿って、前記3次元環境内において前記バーチャルカメラを移動させることであって、前記3次元空間内の前記バーチャルカメラの移動は、各ナビゲーション経路によって規定される空間の体積に制約される、こととを含む、方法。前記良好な視覚的品質の領域を決定することは、前記パノラマ画像の各々に関連付けられた深度地図に基づいて、前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像の各々に対してナビゲーション半径を計算することを含み、前記ナビゲーション半径は、前記3次元環境内における、前記パノラマ画像の各々に対する前記良好な視覚的品質の領域を表す、請求項1に記載の方法。前記進路に沿った各パノラマ画像に対するナビゲーション球体および各パノラマ画像の前記計算されたナビゲーション半径を補間することに基づいて、各ナビゲーション経路の周囲にシェルを構築することをさらに含み、前記シェルは、前記3次元環境内における前記バーチャルカメラの移動に対する境界を規定する、請求項2に記載の方法。各それぞれのパノラマ画像内の画像オブジェクトに関連付けられた深度値に基づいて、前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像に対するポリゴンの3次元メッシュを生成することをさらに含む、請求項1に記載の方法。前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像は、前記3次元環境において、街路網に関連付けられている、請求項1に記載の方法。前記3次元環境において、前記関連付けられた街路網内の交差点において方向転換するための進路を決定することをさらに含む、請求項5に記載の方法。前記1つ以上のナビゲーション経路の交差点の周囲にナビゲーションフィレットを構築することであって、前記ナビゲーションフィレットは、無衝突区域を表す、ことと、前記1つ以上の追加のナビゲーション経路内の2つの異なるナビゲーション経路の間に衝突球体を接するように適合させることとをさらに含む、請求項1に記載の方法。前記ナビゲーションフィレットは、前記パノラマ画像のうちの1つの中心に対する接触点の距離に従って、パラメータ化され得る、請求項7に記載の方法。前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像は、地理的に位置指定されており、前記3次元環境内における、前記それぞれの第1および第2のパノラマ画像に関連付けられた前記第1および第2の位置は、地理的情報システムGISにおける地理的場所に対応している、請求項1に記載の方法。前記第1および第2のパノラマ画像の各々の中心に対応する、前記3次元メッシュにおける第1および第2の位置を決定することであって、前記第1および第2の位置は、前記第1および第2のパノラマ画像内の前記画像オブジェクトの正確なビューポイントに対応している、ことと、前記第1および第2のパノラマ画像の各々の前記決定された視覚的品質の領域に基づいて、前記3次元メッシュにおいて、前記第1および第2のパノラマ画像の各々に対する前記ナビゲーション半径を計算することとをさらに含む、請求項4に記載の方法。前記バーチャルカメラが前記3次元環境内で移動される場合に、前記ナビゲーション経路の前記レンダリング表面を動的に更新することをさらに含む、請求項1に記載の方法。前記移動させることは、バーチャルカメラのビュー方向に基づいて、前記3次元環境における、前記第2のパノラマ画像に関連付けられた標的場所を決定することと、前記第1のパノラマ画像に関連付けられた初期場所に対応する前記第1の位置から、前記決定された標的場所に対応する前記第2の位置に向かって、前記ナビゲーション経路内で前記バーチャルカメラを移動させることと、前記バーチャルカメラが前記進路に沿って移動される場合に、前記バーチャルカメラの前記ビュー方向を前記標的場所に向けて整列させることであって、前記整列させることは、最小の補正角度に基づく、こととを含む、請求項1に記載の方法。前記整列させることは、前記進路に対する前記バーチャルカメラの前記ビュー方向の整列と、ビュー方向補正およびビュー位置補正の大きさのパラメータ化とに基づいて、前記バーチャルカメラが前記3次元環境内で移動される場合に、前記ビュー方向補正および前記ビュー位置補正を適用することをさらに含む、請求項12に記載の方法。前記決定された標的場所は、前記第1および第2のパノラマ画像の中心である、請求項12に記載の方法。前記ビュー方向補正およびビュー位置補正の大きさは、ユーザ入力に基づいて、スムーズにパラメータ化される、請求項13に記載の方法。前記バーチャルカメラの眺めから、前記3次元環境における、前記第1のパノラマ画像に対応する前記3次元メッシュの第1の部分をレンダリングすることと、前記初期位置から前記標的位置への前記進路に沿って前記バーチャルカメラが移動される場合に、前記3次元環境内における、前記第2のパノラマ画像に対応する前記3次元メッシュの第2の部分を自動的にレンダリングすることと、前記第1の3次元メッシュの前記第2の部分がレンダリングされる場合、前記第1の3次元メッシュの前記第2の部分を、前記3次元環境における前記レンダリングされた第1の部分とブレンディングすることとをさらに含む、請求項1に記載の方法。前記第1の部分の前記レンダリングは、前記第1のパノラマ画像に基づいて、第1のテクスチャに従って、前記3次元環境内の前記3次元メッシュの前記第1の部分をレンダリングすることを含み、前記第2の部分を自動的にレンダリングすることは、前記第2のパノラマ画像に基づいて、第2のテクスチャに従って、前記3次元環境内の前記3次元メッシュの前記第2の部分を自動的にレンダリングすることを含み、前記ブレンディングすることは、第2の3Dメッシュがレンダリングされる場合に、ブレンディングパラメータに基づいて、前記第1のテクスチャと前記第2のテクスチャとをブレンディングすることを含む、請求項9に記載の方法。双方向3次元環境におけるバーチャルカメラの誘導付きナビゲーションのためのシステムであって、レンダラモジュールであって、前記レンダラモジュールは、前記3次元環境内に前記バーチャルカメラのビューポイントからのパノラマ画像の第1の3次元表現を表示することと、前記第1のパノラマ画像に関連付けられたメタデータに基づいて、前記第1のパノラマ画像にリンクされた1つ以上の追加のパノラマ画像を識別することとを行うように構成されている、レンダラモジュールと、前記3次元環境内における、前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像の各々に対して良好な視覚的品質の領域を決定するように構成されている進路プランナモジュールと、進路移動モジュールであって、前記進路移動モジュールは、各良好な視覚的品質の領域に基づいて、前記第1のパノラマ画像と前記1つ以上の追加のパノラマ画像との間の進路に対する1つ以上のナビゲーション経路を生成することであって、各ナビゲーション経路は、前記バーチャルカメラの移動を制約するレンダリング表面を有する、ことと、ユーザ入力に基づいて、前記第1のパノラマ画像に関連付けられた第1の位置から、前記1つ以上の追加のパノラマ画像のうちの第2のパノラマ画像に関連付けられた第2の位置に向かう前記進路に沿って、前記3次元環境内において前記バーチャルカメラを移動させることであって、前記3次元空間内の前記バーチャルカメラの移動は、各ナビゲーション経路によって規定される空間の体積に制約される、こととを行うように構成されている、進路移動モジュールとを備えている、システム。前記進路プランナモジュールは、前記パノラマ画像の各々に関連付けられた深度地図に基づいて、前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像の各々に対してナビゲーション半径を計算するようにさらに構成され、前記ナビゲーション半径は、前記3次元環境内における、各パノラマ画像に対する前記良好な視覚的品質の領域を表す、請求項18に記載のシステム。前記進路プランナモジュールは、前記進路に沿った各パノラマ画像に対するナビゲーション球体および各パノラマ画像の前記計算されたナビゲーション半径を補間することに基づいて、各ナビゲーション経路の周囲にシェルを構築するようにさらに構成され、前記シェルは、前記3次元環境内における前記バーチャルカメラの移動に対する境界を規定する、請求項19に記載のシステム。前記レンダラモジュールは、各それぞれのパノラマ画像内の画像オブジェクトに関連付けられた深度値に基づいて、前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像に対するポリゴンの3次元メッシュを生成するようにさらに構成されている、請求項18に記載のシステム。前記第1のパノラマ画像および前記1つ以上の追加のパノラマ画像は、前記3次元環境において、街路網に関連付けられている、請求項18に記載のシステム。前記進路プランナモジュールは、前記3次元環境において、前記関連付けられた街路網内の交差点において方向転換するための進路を決定するようにさらに構成されている、請求項22に記載のシステム。前記進路プランナモジュールは、前記1つ以上のナビゲーション経路の交差点の周囲にナビゲーションフィレットを構築するようにさらに構成され、前記ナビゲーションフィレットは、無衝突区域を表し、前記進路プランナモジュールは、前記1つ以上の追加のナビゲーション経路内の2つの異なるナビゲーション経路の間に衝突球体を接するように適合させるようにさらに構成されている、請求項18に記載のシステム。前記進路プランナモジュールは、前記第1および第2のパノラマ画像の各々の中心に対応する、前記3次元メッシュにおける第1および第2の位置を決定することであって、前記第1および第2の位置は、前記第1および第2のパノラマ画像内の前記画像オブジェクトの正確なビューポイントに対応している、ことと、前記第1および第2のパノラマ画像の各々の前記決定された視覚的品質の領域に基づいて、前記3次元メッシュにおいて、前記第1および第2のパノラマ画像の各々に対する前記ナビゲーション半径を計算することとを行うようにさらに構成されている、請求項21に記載のシステム。前記レンダラモジュールは、前記バーチャルカメラが前記3次元環境内で移動される場合に、前記ナビゲーション経路の前記レンダリング表面を動的に更新するようにさらに構成されている、請求項18に記載のシステム。前記進路移動モジュールは、バーチャルカメラのビュー方向に基づいて、前記3次元環境における、前記第2のパノラマ画像に関連付けられた標的場所を決定することと、前記第1のパノラマ画像に関連付けられた初期場所に対応する前記第1の位置から、前記決定された標的場所に対応する前記第2の位置に向かって、前記ナビゲーション経路内で前記バーチャルカメラを移動させることと、前記バーチャルカメラが前記進路に沿って移動される場合に、前記バーチャルカメラの前記ビュー方向を前記標的場所に向けて整列させることとを行うようにさらに構成されている、請求項18に記載のシステム。前記進路移動モジュールは、前記進路に対する前記バーチャルカメラの前記ビュー方向の整列と、ビュー方向補正およびビュー位置補正の大きさのパラメータ化とに基づいて、前記バーチャルカメラが前記3次元環境内で移動される場合に、前記ビュー方向補正および前記ビュー位置補正を適用するようにさらに構成されている、請求項27に記載のシステム。前記レンダラモジュールは、前記バーチャルカメラの眺めから、前記3次元環境における、前記第1のパノラマ画像に対応する前記3次元メッシュの第1の部分をレンダリングすることと、前記初期位置から前記標的位置への前記進路に沿って前記バーチャルカメラが移動される場合に、前記3次元環境内における、前記第2のパノラマ画像に対応する前記3次元メッシュの第2の部分を自動的にレンダリングすることと、前記第1の3次元メッシュの前記第2の部分がレンダリングされる場合、前記第1の3次元メッシュの前記第2の部分を、前記3次元環境における前記レンダリングされた第1の部分とブレンディングすることとを行うようにさらに構成されている、請求項18に記載のシステム。前記レンダラモジュールは、前記第1のパノラマ画像に基づいて、第1のテクスチャに従って、前記3次元環境内の前記3次元メッシュの前記第1の部分をレンダリングすることと、前記第2のパノラマ画像に基づいて、第2のテクスチャに従って、前記3次元環境内の前記3次元メッシュの前記第2の部分を自動的にレンダリングすることと、第2の3Dメッシュがレンダリングされる場合に、ブレンディングパラメータに基づいて、前記第1のテクスチャと前記第2のテクスチャとをブレンディングすることとを行うようにさらに構成されている、請求項18に記載のシステム。双方向バーチャル3次元環境における誘導付きナビゲーションのための能力が、提供される。そのような能力は、自由形式のナビゲーションの感覚をユーザに提供することによって、ユーザ経験を向上させ得る。ユーザを良好な視覚的品質のあるエリアに制約し、自由形式のナビゲーションのメタファーを分断することなく、より良好なレンダリング結果を伴うビューポイントに向かって、ユーザを緻密に誘導することが必要であり得る。加えて、そのような能力は、双方向バーチャル3次元環境内において、ユーザが、街路を運転し、湾曲道路をたどり、交差点の周囲で方向転換することを可能にし得る。さらに、この能力は、道路網および/または進路に基づいて、ナビゲーションを組み込む、任意の3次元グラフィックシステムに加え、画像ベースのレンダリング技法にも適用可能であり得る。ある実施形態では、第1のパノラマ画像および第2のパノラマ画像に対するポリゴンの3次元メッシュが、それぞれの第1および第2のパノラマ画像内に表される景色内の種々の点に関連付けられた深度値に基づいて生成される。第1のパノラマ画像は、第2のパノラマ画像へのリンクを含む。リンクは、3次元空間における、パノラマ画像を接続する無障害進路例えば、街路を表す。3次元メッシュにおいて、第1および第2のパノラマ画像の各々に対する十分な視覚的品質の領域が決定される。十分な視覚的品質の領域は、深度値に基づくことができ、第1および第2のパノラマ画像内の画像オブジェクトの視覚的に正確な表現となるように3次元メッシュがレンダリングされ得るようなビューポイントに対応し得る。ナビゲーション半径が、第1および第2のパノラマ画像の各々の視覚的品質の決定された領域に基づいて、第1および第2のパノラマ画像の各々に対して計算される。3次元メッシュにおける、第1と第2のパノラマ画像との間の進路に対するナビゲーション経路は、画像の各々の計算されたナビゲーション半径に基づいて作成される。ナビゲーション経路は、バーチャルカメラが移動され得る3次元環境内の空間の境界された体積を規定するために使用される。ナビゲーション経路は、バーチャルカメラが環境内の異なるビューポイント間を移動する場合に、視覚的品質が維持されることを確実にする。実施形態は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせを使用して、実装され得、1つ以上のコンピュータシステムまたは他の処理システム内に実装され得る。本発明のさらなる実施形態、特徴、および利点、ならびに種々の実施形態の構造および動作が、添付図面を参照して以下で詳細に説明される。本発明は、本明細書に説明される特定の実施形態に限定されないことに留意されたい。そのような実施形態は、例証的目的のためだけに本明細書に提示される。追加の実施形態は、本明細書に含まれる情報に基づいて、当業者に明白となるであろう。実施形態は、付随の図面を参照して、単なる一例として説明される。図面中、類似番号は、同一または機能的に同様の要素を示し得る。ある要素が最初に出現する図面は、典型的には、対応する参照番号における1つまたは複数の最左の数字によって示される。本明細書に組み込まれ、本明細書の一部を形成する添付図面は、本発明の実施形態を図示し、説明とともに、さらに本発明の原理を説明し、かつ当業者が本発明を作製し、使用することを可能にする役割を果たす。実施形態は、双方向バーチャル3次元環境における誘導付きナビゲーションに関する。本発明は、特定のアプリケーションのための例証的実施形態を参照して本明細書に説明されるが、実施形態は、それらに限定されないことを理解されたい。他の実施形態も可能であって、本明細書の教示の精神および範囲における実施形態、ならびに実施形態が有意に有用となるであろう追加の分野に対して修正を行うことができる。さらに、特定の特徴、構造、または特性が、実施形態と関連して説明される場合、明示的に説明されるかどうかにかかわらず、他の実施形態と関連して、そのような特徴、構造、または特性を達成することが当業者の知識の範囲内であることが想定される。また、実施形態が、本明細書に説明されるように、図に図示されるソフトウェア、ハードウェア、ファームウェア、および/またはエンティティの多くの異なる実施形態に実装されることができることは、当業者に明白であろう。実施形態を実装するためのハードウェアの特殊制御を伴う、任意の実際のソフトウェアコードは、発明を実施するための形態の限定ではない。したがって、実施形態の動作挙動は、本明細書に提示される詳細のレベルを前提として、実施形態の修正および変形例が可能であるという了解の下で説明されるであろう。以下の発明を実施するための形態では、一実施形態、実施形態、例示的実施形態等への言及は、説明される実施形態が、特定の特徴、構造、または特性を含み得るが、全実施形態が、必ずしも、特定の特徴、構造、または特性を含まなくてもよいことを示す。また、そのような語句は、必ずしも、同じ実施形態を指しているとは限らない。さらに、特定の特徴、構造、または特性が、実施形態と関連して説明される場合、明示的に説明されるかどうかにかかわらず、他の実施形態と関連して、そのような特徴、構造、または特性を達成することが当業者の知識の範囲内であることが想定される。用語パノラマ画像およびパノラマは、実世界の景色の360度ビューを提供する、任意のパノラマ画像を広義かつ包括的に指すために本明細書で使用される。パノラマまたはパノラマ画像は、複数のパノラマ画像またはパノラマ画像タイルの形態で記憶され得る。そのようなパノラマはさらに、ディスプレイ上に提示されることができるパノラマ3次元画像を含む、3次元画像を含み得る。そのようなディスプレイは、画像を見るための任意のタイプの電子ディスプレイであることができるか、または3次元画像を見るように適合される、任意のタイプのレンダリングデバイスであることができる。さらに、各パノラマ画像は、画像によって表される景色内の種々の点に対応する、深度情報に関連付けられ得る。以下にさらに詳細に説明されるように、この深度情報は、パノラマのための3次元幾何学形状を生成するために使用されることができる。街路網に沿った、誘導付きナビゲーションのためのシステム図1は、ある実施形態による、街路網に沿った、誘導付きナビゲーションのためのシステム100を図示する略図である。システム100は、ネットワーク130を横断して、サーバ140に通信可能に連結される、クライアント102を含む。ネットワーク130は、データ通信を搬送し得る任意のネットワークまたはネットワークの組み合わせであることができる。そのようなネットワークは、ローカルエリアネットワーク、ミディアムエリアネットワーク、および/またはインターネット等の広域ネットワークを含むことができるが、それらに限定されない。クライアント102は、プロセッサ、ローカルメモリ、ディスプレイ、および1つ以上の入力デバイスマウス、QWERTYキーボード、タッチスクリーン、マイクロホン、ジョイスティック、またはT9キーボードを伴う、コンピュータであることができる。そのようなコンピューティングデバイスは、携帯電話、携帯情報端末PDA、コンピュータ、コンピュータ群、セットトップボックス、または命令を処理可能な他の類似タイプのデバイスを含むことができるが、それらに限定されない。サーバ140は、同様に、データをクライアント102にサービス提供可能な任意の汎用コンピュータを使用して、実装されることができる。サーバ140のみ示されるが、任意の数のサーバが、必要に応じて、使用され得る。ある実施形態では、クライアント102は、ユーザ相互作用モジュール110およびレンダラモジュール122を含む。ユーザ相互作用モジュール110は、標的モジュール112、移動モジュール114、進路プランナモジュール116、および進路移動モジュール118を含む。ユーザ相互作用モジュール110、レンダラモジュール122、移動モデル114、標的モジュール112、進路プランナモジュール116、および進路移動モジュール118の実施形態は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組み合わせにおいて実装され得る。説明の容易性および例証目的のために、システム100およびその構成要素の実施形態は、クライアント-サーバコンピュータアーキテクチャ内で動作する、地理的情報システムGISに照らして説明されるが、実施形態は、それらに限定されることを意図するものではない。そのようなGISは、以下にさらに詳細に説明されるように、バーチャルカメラの眺めから、バーチャル3次元環境内の写真パノラマをレンダリングおよびナビゲートするために使用されることができる。そのようなGISの実施例は、GoogleInc.MountainView,CA製GoogleEarthを含むが、それに限定されない。故に、クライアント102は、インターフェースをGISに提供するように構成される、地理空間ブラウザ図示せずを含み得る。そのような地理空間ブラウザは、クライアント102によって実行可能であるか、またはウェブまたはインターネットブラウザのプラグインとして動作可能である独立型クライアントアプリケーションであることができる。ある実施例では、サーバ140は、地球の実質的球状表現上の着目の地理的領域に対応するGISデータを伝送するように構成されるGISサーバである。例えば、ある要求は、地理的場所に関連付けられた緯度/経度データ点を有する境界ボックスの形態において、境界された地理的検索エリアを含み得る。要求の受信に応答して、サーバ140は、サーバ140が、ネットワーク例えば、ネットワーク130を経由して通信可能に連結される、データベースまたは1つ以上の異なるサーバと通信し得る。そのようなGISデータは、画像および非画像データの両方を含み得る。画像データは衛星画像、デジタル地図、航空写真、および街路レベルの写真を含み得るが、それらに限定されない。非画像データは、例えば、画像および写真に関連付けられたメタデータを含み得る。ある実施形態では、街路レベルの写真は、実世界景色の360度ビューを提示するパノラマを含み得る。さらに、各パノラマは、パノラマに関連付けられた情報を指定するために使用される、メタデータを含み得るか、またはそれに関連付けられ得る。そのようなメタデータは、バーチャルカメラの位置例えば、ヨー、ピッチ、およびロール、GPS座標、およびパノラマ識別子例えば、GIS内のパノラマを識別する、文字列値を含み得るが、それらに限定されない。ある実施形態による、標的モジュール112は、3次元環境内のバーチャルカメラの現在のビュー方向および/またはビュー位置に基づいて、3次元環境内の標的場所を決定する。一実施形態では、標的モジュール112は、住所または座標等、標的場所を指定する、ユーザからの入力を受け取る。別の実施形態では、標的モジュール112は、ユーザによって選択されたビューポート上の位置を表す位置データを受信し、ユーザによって選択された位置に基づいて、半直線を延長し、3次元モデル内のオブジェクトと半直線の交差点である標的場所を決定し得る。ある実施形態では、標的位置は、3次元環境内の写真パノラマの中心例えば、以下にさらに説明される、図2のパノラマ中心204に関連付けられ得る。進路移動モジュール118は、進路に沿って、標的場所に向かって、3次元環境内でバーチャルカメラを移動させ、バーチャルカメラが、進路に沿って、移動するにつれて、バーチャルカメラが、標的場所に向くように配向する。進路移動モジュール118は、サーバ140から地理的情報を先読みするために、進路を使用し得る。移動モデル114は、ビュー仕様を構築する。ビュー仕様は、3次元空間内のバーチャルカメラのビュー可能体積viewablevolumeと、例えば、3次元地図に対する錐台の位置および配向とを規定する。ある実施形態では、ビュー可能体積は、例えば、角錐台の形状であり得る、視錐台または、単に錐台によって規定される。錐台は、現在の視野に応じて変化することができる、最小および最大ビュー距離viewdistanceを有し得る。3次元地図のユーザのビューが、操作されるにつれて、錐台の配向および位置が、3次元バーチャル環境に対して変化する。したがって、ユーザ入力が受信されるにつれて、ビュー仕様もまた変化する。ビュー仕様は、例えば、クライアント102のローカルメモリ内に記憶され得、そこで、GISデータを描くために、レンダラモジュール122によって使用される。一実施形態によると、記憶されたビュー仕様は、バーチャルカメラのナビゲーションパラメータを指定する。ナビゲーションパラメータは、3次元空間内のバーチャルカメラの位置および配向を指定するために使用されることができる。そのようなパラメータは、方向座標、例えば、緯度、経度、北、南、その中間、高度、およびピッチ/傾斜例えば、レベル、下方、上方、その中間、ヨー/ロール例えば、レベル、時計回り傾斜、反時計回り傾斜、その中間、水平視野、および垂直視野を含むことができるが、それらに限定されない。深度統合ある実施形態では、写真パノラマは、ある実施形態による、パノラマ画像によって表される景色内の種々の点に対応する、深度情報を含む。深度情報は、例えば、第1の位置に対する景色内の種々の点の接近度を記述する深度値を含むことができる。第1の位置は、例えば、画像を捕捉するために使用される、画像捕捉デバイス例えば、特殊デジタルカメラの位置であることができる。ある実施形態では、景色内に表されるオブジェクトの表面は、点集合として表され得る。各点は、順に、ベクトルとして表され得、それによって、各点は、画像捕捉デバイスまでのその距離と、そのような画像捕捉デバイスが指向される方向に対するその角度とに関して記憶される。深度情報は、限定されないが、レーザ測距器および画像マッチングの使用を含む、種々の方法で収集され得る。ある実施形態では、若干離間されるが、同一景色を捉える、2つ以上のカメラを採用するカメラ配列が使用され得る。ある実施形態によると、画像マッチングは、画像内の各点における距離を決定するために、各カメラによって捕捉される画像間の若干の差異を分析するために使用される。別の実施形態では、距離情報は、車両上に搭載され、特定の速度で進行している、単一ビデオカメラを使用して、車両が前方に進行するにつれて、景色の画像を捕捉することによって、コンパイルされ得る。レーザ測距器はまた、画像を撮影するカメラと組み合わせて使用され得る。画像マッチングを使用することによって、捕捉された画像の後続フレームが、オブジェクトとカメラとの間の異なる距離を抽出するために比較され得る。例えば、カメラ位置から遠い距離に位置する画像オブジェクトは、カメラ位置のより近くに位置する画像オブジェクトより長くフレーム内に留まるであろう。いくつかの形式が、他より有利であり得るが、実施形態は、深度情報を記憶する任意の特定の形式に限定されない。ある実施形態では、深度情報は、離散値のグリッドを備える深度地図としてサーバから送信され、グリッドの各要素は、2次元画像の画素に対応する。各画素における深度地図の値は、第1の位置から画像オブジェクトまでの距離を表し得る。例えば、各画素における深度地図の値は、画像を捕捉するために使用されるカメラのカメラ位置からの距離と、画像内に表される画像オブジェクトとを表し得る。種々のファイル形式のうちの任意の1つが、そのような深度地図のために使用され得ることは、本説明を前提として、当業者に明白となるであろう。例えば、深度地図は、拡張マークアップ言語XMLファイルとして記憶され得る。ある実施形態では、パノラマ画像に関連付けられた深度地図および他の情報は、画像自体から独立して記憶されることができる。ある実施形態によると、一式のパノラマ画像が、バーチャル3次元環境に関連付けられた現在の視野に基づいて、サーバ140から読み出されることができる。さらに、各パノラマ画像に関連付けられた深度値を使用して、各パノラマのための3次元幾何学形状を生成することができる。生成された3次元幾何学形状は、例えば、限定ではないが、前述のように、クライアント102内に実装される、地理空間ブラウザの表示エリア内の3次元環境を伴う写真テクスチャによって、レンダラモジュール122によって生成およびレンダリングされることができる、隙間の無いポリゴンの3次元メッシュ例えば、三角形であり得る。パノラマグラフ/接続情報ある実施形態では、各パノラマ画像のメタデータは、1つ以上の近隣パノラマへの空間リンク、接続、または進路を指定する、接続情報を含む。ある実施形態では、ユーザ相互作用モジュール110または、その構成要素の任意の組み合わせまたは部分的組み合わせは、各パノラマ画像のメタデータ内に含まれる接続情報に基いて、空間的にリンクされたパノラマの指向性グラフまたは、単にパノラマグラフまたは接続グラフを構築する。そのようなパノラマグラフは、例えば、クライアント102における、ローカルメモリ例えば、キャッシュメモリ内に記憶され得る。ある実施形態では、パノラマグラフを使用して、3次元環境内でレンダリングされた異なるパノラマ間のリンクに沿って、GISのユーザを誘導することができる。ある実施例では、そのようなリンクは、GISのバーチャル3次元環境内の街路網に対応し、パノラマ画像は、網目の街路に沿って、一連の異なる街路レベルのビューを表す。この点において、パノラマグラフは、近隣パノラマ間の街路または道路網または、道路網を表すことができる。図1に図示されないが、クライアント102は、ある実施形態による、ナビゲーション制御を提供し、ユーザが、3次元環境内のそのような道路網またはパノラマグラフに沿って、ナビゲートすることを可能にするために使用され得る、グラフィカルユーザインターフェースGUIを含むことができる。ある実施形態では、GISは、ユーザが、パノラマ画像に関連付けられた種々の場所とビューポイントとの間をナビゲートすることを可能にする、制御を提供することができる。例えば、ナビゲーション制御は、パノラマ画像のテクスチャ化された3次元モデルによって、3次元オーバーレイとしてレンダリングされ得る。そのようなナビゲーション制御は、ユーザが、3次元環境内でバーチャルカメラのビュー位置およびビュー方向を変更し、異なるパノラマ画像に関連付けられた場所間をナビゲートすることを可能することができる。ある実施形態では、各パノラマに関連付けられた接続情報すなわち、メタデータ、深度情報、および写真テクスチャは、ネットワーク130を経由して、サーバ140からクライアント102にストリームされることができる。例えば、写真テクスチャは、3次元環境内のバーチャルカメラのビューポイントに基づいて、異なる分解能で、画像タイルの形態においてストリームされ得る。さらに、パノラマおよび任意の関連付けられた情報は、バーチャルカメラのビューポイントに基づいて、ストリームされ得る。ナビゲーション経路制約街路レベルの景色のパノラマは、単一点のビューsinglepoint-of-viewのみからの景色の正確な表現を提示し得る。例えば、最良の視覚的品質、すなわち、パノラマ内で表される景色の最も正確な視覚的描写を提示する、ビューポイントは、パノラマが撮影された正確な位置に対応し、すなわち、パノラマ画像を捕捉するために使用される画像捕捉デバイスの原位置に対応する、3次元環境内のバーチャルカメラの場所に関連付けられ得る。例えば、この位置は、パノラマの中心に対応し得る。さらに、3次元環境内のレンダリングされたパノラマの視覚的品質は、バーチャルカメラが、パノラマの中心から離れて移動するにつれて、劣化し得る。しかしながら、例えば、クライアント102に連結されたディスプレイデバイス上にレンダリングされたバーチャルカメラの眺めからパノラマを見ているユーザが、依然として、レンダリングの3次元品質を経験することができるように、ある程度の偏差が、所望される。ユーザはまた、ナビゲーション制御を使用して、3次元空間の異なる部分を探索可能であるべきである。したがって、実施形態は、バーチャルカメラが、3次元環境内でレンダリングされる場合、不良画像品質を有するパノラマのビューポイントへと移動しないよう防止するように構成され得る。さらに、以下にさらに詳細に説明されるように、実施形態は、バーチャルカメラおよび、ユーザが、良好な画像品質のエリアをたどることを可能にする。ある実施形態では、パノラマのための既知の良好な、十分な、または容認可能な視覚的品質のエリアまたは領域は、3次元環境内のパノラマの視覚的表現に関連付けられた1つ以上の基準に基づく。ある実施例では、十分な視覚的品質の領域は、表示分解能が、所定の閾値を超える、パノラマの領域に対応する。別の実施例では、そのような領域は、パノラマ画像によって表される景色内のオブジェクトの歪みを回避するように、表示分解能が、十分な品質である、パノラマ内の点に基づき得る。さらに別の実施例では、パノラマのそのような領域は、3次元環境内のパノラマのためにレンダリングされた正面平面の最も近傍の決定された場所に対応し得る。前述のように、接続またはパノラマグラフは、3次元環境内の場所に対応するパノラマに関連付けられた接続情報を使用して、ユーザ相互作用モジュール110によって生成されることができる。以下にさらに詳細に説明されるように、進路プランナモジュール116は、1つ以上のパノラマに関連付けられた接続情報を使用して、パノラマ間のナビゲーション経路を構築する。そのようなナビゲーション経路は、生成されたパノラマグラフの最も近傍のパノラマの周囲のある一定の体積の空間にバーチャルカメラを制約するために使用される。ある実施形態による、パノラマグラフ内のパノラマ毎に、進路プランナモジュール116は、パノラマの表現が3次元環境内で見られ得る最も視覚的に正確なビューポイントに対応するバーチャルカメラの位置に対して、ナビゲーション半径またはローミング距離を計算することができる。例えば、そのような位置は、前述のように、パノラマ例えば、パノラマの中心を捕捉するために使用される、画像捕捉デバイスの位置に対応し得る。ナビゲーション半径またはローミング距離は、定数または関数であり得、限定されないが、パノラマ間の距離および深度メッシュの品質を含むいくつかの要因に依存し得る。例えば、進路プランナモジュール116は、3次元環境内のパノラマ中心から、レンダリングされる最も近傍平面までの距離を評価することによって、パノラマのためのナビゲーション半径を計算する。他の考慮点も、ナビゲーション半径を限定するために使用されることができることは、本説明を前提として、当業者に明白となるであろう。ある実施例では、レンダラモジュール122が、3次元環境内のパノラマのテクスチャ化された3次元モデルをレンダリングするにつれて、広範囲の深度情報が、利用可能でないエリアを充填するために、テクスチャをストレッチさせ得る。この実施例では、ナビゲーション半径を限定し得る考慮点は、遠隔場所から捉えられるであろう、テクスチャストレッチングの容認可能な量に対応する、所定の閾値であり得る。進路移動モジュール118は、次いで、図2に関して以下にさらに詳細に説明されるように、バーチャルカメラの初期場所に関連付けられたパノラマのナビゲーション半径および標的場所に関連付けられたパノラマのナビゲーション半径を使用して、ナビゲーションまたは衝突経路を生成することができる。図2は、ある実施形態による、3次元環境における、誘導付きナビゲーションのための深度メッシュ202内の例示的ナビゲーション経路200の略図である。図2に示される例示的ナビゲーション経路では、単一接続は、進路210に沿って、2つのパノラマをリンクする。進路210は、例えば、3次元環境内の街路を表し得る。図2に示されるように、進路210は、パノラマ中心204例えば、第1のパノラマの中心に対応する初期位置から、パノラマ中心206例えば、第2のパノラマの中心に対応する標的位置まで延在する。図1に戻って参照すると、進路移動モジュール118を使用して、進路210に対して、深度メッシュ202内にシェル220を作成し得る。ある実施形態では、進路プランナモジュール116は、3次元環境内の街路の表現に沿って、進路210を決定する。図2の例示的ナビゲーション経路200に戻って参照すると、図1の進路プランナモジュール116を使用して、3次元環境内のパノラマ中心204とパノラマ中心206との間の街路の表現に沿って、進路210を決定し得る。図2に図示されるナビゲーション経路のシェル220は、3次元環境内のパノラマ画像の一部をレンダリングするために使用される制約表面を提供する。さらに、ナビゲーション経路の制約表面は、それを越えて、3次元環境内のナビゲーション例えば、バーチャルカメラの移動が、許容されない境界を規定する。故に、この表面は、経験の視覚的品質を維持するために、ナビゲーションのためのはっきりとした境界として使用され得る。ユーザが、3次元環境内をナビゲートし、能動的にレンダリングされたパノラマが変化するにつれて、制約表面は、バーチャルカメラのすぐ近傍を考慮するために、進路移動モジュール118によって更新されることができる。ある実施形態では、深度メッシュ202は、前述のように、2つのパノラマに関連付けられた深度地図に基づいて、レンダラモジュール122によって生成されるポリゴンの3次元の隙間の無いメッシュであり得る。ある実施形態では、進路移動モジュール118は、前述のように、各パノラマの計算されたナビゲーション半径に基づいて、進路210に沿う各パノラマにおけるナビゲーション球体を補間することによって、シェルを構築する。視覚的実施例のために、シェル220が、3次元空間内で描写され、上方から見られる場合、2つの球体によって境界された円錐形断面として現れるであろう。また、前述のように、各ナビゲーション球体は、3次元環境内の各パノラマのための既知の良好なまたは容認可能なビューポイントの領域を表す。ある実施形態では、各パノラマは、地理的に位置指定される。したがって、バーチャル3次元環境内のパノラマの場所は、地理的場所に対応することができる。加えて、3次元環境内の異なる場所間のバーチャルカメラの移動例えば、ユーザ入力に基づくは、GIS内の地理的場所間の動きに対応することができる。図2は、例証目的のためだけに提示され、実施形態は、それに限定されないことに留意されたい。当業者は、本説明を前提として、実施形態が、パノラマグラフ内で一緒にリンクされた複数のパノラマのために使用され得ることを理解するであろう。ある実施例では、複数のパノラマは、3次元環境内の交差点の表現に関連付けられ得る。そのような複数のパノラマのナビゲーション経路は、予測不可能な方法で交差し得る。したがって、進路移動モジュール118は、例えば、現在レンダリングされているパノラマまたは、アクティブパノラマからのパノラマまたは接続グラフの奥深くにある所定の数のリンクである、全可能なナビゲーション経路を使用して、一連の衝突試験を行い得る。例えば、進路移動モジュール118は、アクティブパノラマから、最大2つのパノラマのためのナビゲーション経路に関連付けられた境界幾何学形状を構築し得る。アクティブパノラマに接続された任意の数のパノラマのためのナビゲーション経路が、必要に応じて、構築され得ることは、本説明を前提として、当業者に明白となるであろう。アクティブパノラマはまた、3次元環境内のバーチャルカメラの現在の場所に対応し得ることに留意されたい。図6A-Bは、それぞれ、ある実施形態による、複数のナビゲーション経路601、602、および603の交差点を図示する略図600Aおよび600Bである。図6Aに示される実施例では、複数の分岐を有するシェルが、ナビゲーション経路601-603に基づいて、生成され得る。略図600Aに示されるように、各ナビゲーション経路は、パノラマ中心620に対応するパノラマに接続される、3つの街路の各々を表す。また、示されるように、ナビゲーション経路601-603シェルの分岐としては、バーチャルカメラが、あるナビゲーションまたは衝突経路から別のものに移動する場合、無衝突区域として作用する、ナビゲーションフィレット614、615、および616を含むことができる。さらに、ナビゲーションフィレット614-616は、フィレット付きエッジ例えば、丸い角を有する。そのようなフィレット付きエッジは、交差点に関連付けられた鋭利な角を回避するのに役立ち、それによって、ナビゲーションの間、スムーズなユーザ経験を提供することができる。実施形態は、これらの丸い角を迅速に生成するための種々の新規な式/アルゴリズムを利用し得ることに留意されたい。ある実施形態では、ナビゲーションフィレット614-616は、2つの異なるナビゲーション経路例えば、ナビゲーション経路611および612間において、衝突球体630を接線方向に適合することによって構築される。例えば、ナビゲーションフィレット614は、パノラマ中心620に対する接触点の距離に従って、パラメータ化され得る。略図600Aに示されるように、ナビゲーションフィレット614のフィレット幅fwは、例えば、ナビゲーション経路601および602に対応するナビゲーション幅nwを考慮することによって、算出され得る。いったんフィレットが、略図600Aに示されるように、鋭利な交差点の周囲に構築されると、進路移動モジュール118は、ある実施形態による、図6Bの略図600Bに示されるように、ナビゲーション経路およびフィレットによって作成された制約表面の結合に対する衝突を試験することができる。例えば、略図600Bにおけるナビゲーション経路によって提供される制約表面のそのような結合は、前述のように、バーチャルカメラの移動が制約され得る、十分なまたは容認可能な視覚的品質の領域を表し得る。ある実施形態では、進路プランナモジュール116は、3次元環境内の街路網の表現における交差点において、方向転換するための進路を決定することができる。例えば、曲がり角において、進路プランナモジュール116は、進路内の曲がり角にスプラインを補間し、バーチャルカメラの移動を平滑化し得る。ナビゲーション経路制約を使用した誘導付きナビゲーション前述のように、実施形態は、バーチャルカメラおよび、ユーザが、パノラマの3次元表現が、3次元環境内でレンダリングされる場合、良好な画像品質のエリアをたどることを可能にする。また、前述のように、パノラマは、1つ以上の街路に沿って、種々の景色の地上レベルのビューを提供する。したがって、バーチャルカメラの移動は、3次元環境内の街路の表現をたどる。ある実施形態では、進路移動モジュール118はさらに、ユーザ入力、例えば、キーボードおよび/またはマウスイベント例えば、上方矢印、右矢印、ダブルクリック等に基づいて、そのようなナビゲーションを促進するように構成される。その結果、進路移動モジュール118は、街路の表現に沿って、進路上でバーチャルカメラを誘導する一方、ユーザが、ナビゲーション制御および/または追加のユーザ入力を使用することによって、進路を保とうとするいかなる過度の負担も軽減させる。例えば、3次元環境内のナビゲーションに関与する従来のアプリケーションでは、キーボードの上方矢印キーの押下は、概して、その進行方向に沿って、バーチャルカメラを前方に移動させる。しかしながら、本明細書に説明されるように、3次元環境内におけるパノラマのナビゲーションに適用されるようなこの挙動は、バーチャルカメラが針路から外れる結果をもたらし得る。その結果、ユーザは、街路を進むように、繰り返し、異なるキーを使用する必要があり得る。これらの懸念を解決するために、実施形態は、以下にさらに詳細に説明されるように、いくつかの異なる技法を適用する。自由形式のナビゲーションのユーザ経験を維持する一方、より良好な視覚的品質のエリアに向かって、ユーザを誘導するのに役立てるために、ユーザ相互作用モジュール110は、あるユーザ入力例えば、キーボードの矢印キーに関連付けられた意味を変更させるように動作可能である。これは、以下により詳細に説明されるように、例えば、道路をたどるジェスチャが検出されると、道路に沿って、ユーザを緻密に誘導することを可能にする。そのような道路をたどるジェスチャが起動されると、移動モジュール114および/または進路移動モジュール118は、バーチャルカメラの移動に補正を適用するように構成することができる。ある実施形態では、進路に沿って、移動されるにつれて、ビュー方向補正およびビュー位置補正が、バーチャルカメラの移動に適用される。ビュー位置補正は、パノラマ間のリンクの中心に向かって、バーチャルカメラを移動させる。ビュー方向補正は、若干、より進路の中心に向かって、バーチャルカメラのビューを整列させる。さらに、いったんジェスチャが、所定の時間の間、起動されると、バーチャルカメラのビューは、進路の中心に戻されることができる。そのようなビュー補正の適用は、バーチャルカメラが、湾曲道路網をたどることを可能にする。そのような道路をたどるジェスチャが、いくつかの方法において、ユーザによって起動され得ることは、本説明を前提として、当業者に明白となるであろう。一実施例では、ユーザは、バーチャルカメラのビュー方向が、道路方向に沿った進路にほぼ対応する間、左または右矢印キーに触れることなく、一定時間の間、例えば、上方矢印キーを押下し続け得る。言い換えると、バーチャルカメラのビュー方向が、ある角度公差例えば、45度内において、3次元環境内に表される街路に沿っており、ユーザが、上方矢印キーを押下する場合、ビューは、最初は、ユーザを前方に移動させるであろう。しかしながら、一定時間例えば、1.5秒後、道路をたどるジェスチャが、起動され得、進路移動モジュール118は、街路に沿って移動しようとし得る、ユーザの意図を決定することができる。ある実施形態では、進路移動モジュール118によって適用されるビュー方向および/またはビュー位置補正の大きさは、ユーザ入力に基づいて、スムーズにパラメータ化されることができる。例えば、時間に基づく所定の閾値が、そのようなパラメータ化のために使用され得る。この実施例では、道路をたどるジェスチャが検出されると、任意の補正の大きさが、数秒にわたって、いくつかの所定の最大補正量までスムーズに漸増され得る。さらに、相反するユーザ入力またはカメラ位置付けは、任意の補正量のスムーズな漸減を生じさせ得る。ジェスチャの起動に応じて、ある実施形態によると、進路移動モジュール118は、道路に向かって、バーチャルカメラのビューを徐々に整列させ、道路の中心に向かって、ユーザを移動させる。ユーザの眺めから、この経験は、車の運転との類似性を感じ得る。ある実施形態では、進路移動モジュール118は、自動的に、3次元環境内に表される道路網内のカーブをたどるであろう。ユーザは、例えば、左-右矢印キーを叩打することによって、バーチャルカメラの任意の自動方向転換を阻止し得る。この場合、進路移動モジュール118は、自動ナビゲーションを中断し、ビューの補正を開始する前に、ある所定の時間の間、待機することができる。実施形態は、任意の数の方法を使用して、道路をたどろうとするユーザの意図を推定または予測し得ること、従って、そのような道路をたどるジェスチャが起動されるべきか否かを推定または予測し得ることは、本説明を前提として、当業者に明白となるであろう。前述のように、進路移動モジュール118は、バーチャルカメラのビュー位置および角度に基づいて、角を方向転換しようとするユーザの意図の決定を試みる。ある実施形態では、進路プランナモジュール116は、道路の中心において、新しい街路方向に向かう、新しい街路への方向転換を実行するであろう特定の進路を決定する。ある実施形態では、進路プランナモジュール116は、前述のように、適切な道路を選択し、新しい対応する進路を動的に構築する一方、また、ユーザが、道路をたどることを中断することを所望するかどうかを検出しようとする。さらに、いったん検出されたユーザ入力例えば、キーの長押しが、道路をたどるジェスチャであると決定されると、進路プランナモジュール116はまた、バーチャルカメラの以前の移動方向に沿って、パノラマ中心または、前述のように、視覚的品質向上領域があるかどうかを決定し得る。そのような以前の移動方向は、例えば、パノラマ中心または、領域の位置および/またはその位置への到着時間に基づいて、ある公差内にあり得る。中心が見つけられた場合、バーチャルカメラは、短時間の間、もともとの方向に近づくように移動し続けるように、短時間オートパイロットが、開始されることができる。これによって、ビューが、より良好な視覚的品質の領域に到着することが可能となる。ユーザにとって、これは、本説明を前提として、当業者に明白となるであろうように、いくつかの他の公知のナビゲーションシステムにおいて見出され得る、自然運動量減衰または投てきジェスチャのようなものであり得る。しかしながら、これらの他のシステムと異なり、本明細書に説明されるような実施形態に対する目標の1つは、前述のように、視覚的忠実性または品質が向上した領域に向かって、ユーザを緻密に誘導することである。誘導付きナビゲーションの使用例図3A-Eは、街路中心に向かって、および/またはそれに沿って、バーチャルカメラおよび、ユーザを緻密に誘導することに関連付けられる、種々の可能な使用例を図示する略図300A-Eである。図3A-Eに示される略図の各々は、交差点に関連付けられたパノラマの道路網を含む。さらに、各略図は、パノラマの各々に対するナビゲーション経路半径302を含む。説明の容易性のために、ナビゲーション経路幅は、示されない。略図の各々において、バーチャルカメラのビューおよび進路方向は、バーチャルカメラに関連付けられた矢印の方向にある。ユーザは、例えば、前方移動アクションを実行し得る例えば、前述のように、矢印キーを選択することによって。さらに、当業者は、本説明を前提として、実施形態が、任意の数の新規な技法を採用し、略図300A-Eによって図示されるように、3次元環境内のバーチャルカメラの所望の動きを実装し得ることを理解するであろう。例えば、そのような技法は、各交差点に到達するための種々のカーブを構築し、これらのカーブに関連付けられた相対的緊張tensionを比較することを伴い得る。図3Aは、ある実施形態による、異なる角度において、2つのパノラマ間の街路312図3A-Eに示される実施例において交差点の中心線として表されるに接近するバーチャルカメラ310およびバーチャルカメラ320の例示的進路を図示する略図300Aである。バーチャルカメラ310の進路は、グレージング角において、パノラマ中心301およびパノラマ中心303を接続する街路312に接近している。例えば、このビュー方向は、ユーザが、街路312を横断する位置に移動するのではなく、標的位置へと街路312を移動することに興味があることを示し得る。バーチャルカメラ310の動きに関して、何らアクションがとられない場合、街路312を越えて移動し、望ましくない場所にナビゲートするであろう。したがって、途中合流コースにおいて、バーチャルカメラ310の進路を街路312と整列させるように、補正が行われることができる。ユーザが、実際に、街路312を越えて、特定の標的へとナビゲートすることを好む場合、ユーザは、例えば、ユーザのキーボード上の矢印キーを使用して、または以下に説明される、バーチャルカメラ320のビュー方向と同様に、街路312により垂直となるように、バーチャルカメラ310のビューを方向転換することによって、補正を無効にすることができる。バーチャルカメラ310と対照的に、略垂直角度において、バーチャルカメラ320は、パノラマ中心304および305によって表される2つのパノラマ間の街路312に接近している。この場合、ユーザは、ビューポイントから街路を横断して位置する、標的322例えば、建造物306の正面を見ることに関心があり得る。バーチャルカメラ320の進路が、バーチャルカメラ310のように、途中合流コース上に置くように補正される場合、結果は、ユーザにとって、望ましいものではなく、食い違うものとなり得る。したがって、バーチャルカメラ320のビュー角度は、街路312に沿って整列されるように補正されるべきではない。ユーザが、実際には、街路312を移動することを好む場合、ユーザは、ユーザ入力を通して、誘導付きナビゲーションを手動で無効にすることによって、バーチャルカメラ310と同様に、バーチャルカメラ320のビュー方向を整列させることができる。図3Bは、ある実施形態による、異なる角度において、街路312から離れるように移動する、バーチャルカメラ330およびバーチャルカメラ340の例示的進路を図示する略図300Bである。この実施例では、バーチャルカメラ340に対する進路は、図3Aのバーチャルカメラ320に類似するすなわち、標的場所342に向かう。しかしながら、バーチャルカメラ330に対する進路は、最初は、比較的に小さい角度例えば、初期進路331によって示されるようににおいて、街路312中心線からはずれる。図3Aのバーチャルカメラ310と同様に、バーチャルカメラ330の進路は、街路312に沿って整列するように補正される。ユーザが、ナビゲーション経路外の建造物に関心がある場合、例えば、適切なキーストロークを入力することによって、または、例えば、ナビゲーション制御を介して、道路とより垂直な角度にビューポイントを方向転換させることによって、補正を無効にすることができる。図3Cは、ある実施形態による、交差点を横断して、街路352と整列させる、バーチャルカメラのための例示的進路350を図示する略図300Cである。バーチャルカメラ350のビュー方向は、街路312および352両方に対して、等角度の範囲を定めると仮定され得る。バーチャルカメラ350の進路が、街路352と整列されるべきであることが、略図300Cから明白と考えられる得るが、略図に図示される進路の入射角は、街路352との整列のために十分ではない場合がある。むしろ、固定前進速度を前提とすると、それに沿って、バーチャルカメラ350が整列されるべき、街路352は、より大きな総角度偏向を要求する場合さえ、最小の方向転換率を要求する。したがって、旋回率指標を利用して、他の街路と比較して、最小の方向転換率をもたらす街路に基づいて、進路整列のために適切な街路を選択し得る。図3Dおよび3Eは、誘導付きナビゲーション補正とナビゲーション経路半径302の相互作用を解明する。図3Dは、ある実施形態による、交差点内の異なる街路と整列する、バーチャルカメラ360のための例示的進路を図示する略図300Dである。図3Eは、ある実施形態による、交差点内の異なる街路と整列する、バーチャルカメラ370のための例示的進路を図示する略図300Eである。バーチャルカメラ360および370の両方のビュー方向に基づいて、両方に対する標的進路は、街路312に対応し、街路312は、略図300Dおよび300Eにそれぞれ示されるように、各バーチャルカメラの初期位置から、より長い距離例えば、街路352に対する初期位置の距離と比較してに位置する。各略図に示されるように、バーチャルカメラ360のための進路は、その現在のビュー方向に基づいて、最も遠い街路312に補正される。一方、バーチャルカメラ370のための進路は、この最も遠い街路を標的とするように補正されず、代わりに、街路352に沿って誘導される。バーチャルカメラ360の進路とバーチャルカメラ370の進路との間の差異は、ナビゲーション経路半径302からの許容される距離である。例えば、バーチャルカメラ370が、街路312に補正された場合、バーチャルカメラの眺めから3次元環境を表示するために使用されるビューポートは、許容されるナビゲーション経路外にはずれるであろう例えば、前述の図2のナビゲーション経路200によって図示されるように。ナビゲーション経路外のナビゲーションは、許容され得ない、不良または望ましくないビューをもたらし得る。その結果、バーチャルカメラ370は、このバーチャルカメラの初期位置により近い距離にある、街路352に補正される。道路およびパノラマとの自動整列ある実施例では、バーチャルカメラは、地球の空中の眺めに対応する初期位置を有し得る。ある実施形態では、ユーザは、3次元環境内の適切な位置を選択することによって、地球上の地理的場所に対応する標的を選択し得る。バーチャルカメラは、次いで、選択された標的に基づいて、より低い高度まで、徐々にズームダウンし得る。地上レベル近傍の閾値高度に到達し得、これは、ユーザが、地上レベルのオブジェクトを間近で見ようとしていることを推測するために使用され得る。例えば、衛星画像が、ぼやける、またはあまり有用ではなくなり得る、地上レベル近傍では、いくつかの要因が、そのようなユーザの意図を推測するために、考慮され得る。そのような要因は、地上への接近度、バーチャルカメラの移動、およびユーザ入力例えば、マウスの動きを含むことができるが、それに限定されない。ある実施形態では、進路移動モジュール118は、空中の眺めから地上レベルの眺めへの遷移を通して、空間認識を維持し、バーチャルカメラを視覚的コンテキストの最大量を維持する、有用位置に設置する。ある実施形態では、進路プランナモジュール116は、最大視覚的品質が維持されることを確実にするために、自動的に、パノラマの中心に対応する初期位置に、バーチャルカメラ例えば、オートパイロット進路を介してを設置し得る。決定された初期位置に位置し得る、画像オブジェクト例えば、建造物が、初期ビューを曖昧にし、ユーザを混乱させないように防止するために、その位置までの単純オートパイロット進路では、十分ではない場合がある。故に、接続またはパノラマグラフが、前述のように、使用され、バーチャルカメラのビューを再配向し、道路方向に沿って、そのビューが、画像オブジェクトによって遮断されない、近傍パノラマを捉えることができる。道路に沿って捉えることは、空中からの地球のビューと街路または地上レベルのビューレンダリング経験との間の視覚的連続性を最大限にする一方、ユーザに、より多くの視覚的コンテキストを提供する。さらに、進路移動モジュール118によって行われるバーチャルカメラの再配向は、ユーザを混乱させないように、徐々に生じることができる。バーチャルカメラの眺めが、街路レベルのビューに変更される必要がある時、道路網は、進路プランナモジュール116に未知であり得るため、オートパイロットナビゲーションが、直ちに、例えば、標的モジュール112によって決定された3次元環境内の標的場所へと開始されることができる。加えて、移動モデル114は、標的場所近傍の場所に対するパノラマデータを含む、標的場所に関連付けられたパノラマデータに対して、ネットワーク130を経由して、サーバ140に、一式のフェッチまたは要求を開始することができる。それらのフェッチが返されると、標的モジュール112は、標的場所への最近傍パノラマを決定し、さらに、オートパイロット目的地として、決定されたパノラマを選択し得る。ある実施例では、パノラマの選択は、決定された標的場所のある距離閾値内に位置するかどうかに基づき得る。別の実施例では、標的場所に対して表示されるべき最良パノラマの選択は、限定されないが、3次元環境内のパノラマに関連付けられた場所に対する標的位置の接近度、および現在の位置から標的に向かせるためのバーチャルカメラの角度偏差を含む、いくつかの要因を重み付けすることによって決定され得る。進路プランナモジュール116は、次いで、パノラマに関連付けられ、サーバ140から受信されたパノラマ接続情報から、街路方向を計算することができる。現在のビュー方向に基づいて、進路プランナモジュール116は、最も近い街路、およびビューに適用される角回転を最小限にするように、3次元環境内に表される街路に沿う適切なビュー方向を選択することができる。この情報が、既知となるとすぐに、進路移動モジュール118は、バーチャルカメラのビューの回転を開始し、街路と整列させることができる。実施形態はまた、このプロセスの間に生じ得る、任意の追加の複雑性に対処するように構成されることができることは、本説明を前提として、当業者に明白となるであろう。例えば、パノラマに対する後続の未処理のフェッチは、最初に決定されたものより近いパノラマを表し得る。別の実施例では、ユーザ相互作用モジュール110に対して、以前は未知であった、別の街路が存在し得る。したがって、その構成要素を含む、ユーザ相互作用モジュール110の実施形態は、ユーザを混乱させることなく、そのような複雑性を考慮するように、オートパイロット目的地および配向を動的に更新するように動作可能である。方法図4は、ある実施形態による、標的に向かう、街路網に沿った、バーチャルカメラの誘導付きナビゲーションのための方法400を図示する流れ図である。説明の容易性のために、方法400は、前述の図1のシステム100に関して説明される。しかしながら、方法400は、それらに限定されるように意図されない。方法400は、ステップ402において、標的を決定することから開始する。標的は、3次元環境内の任意の点または領域であり得る。ある実施例では、3次元環境は、複数のモデルを含んでもよく、標的は、モデルまたはモデル上の位置であり得る。ユーザは、標的場所を指定し得る。例えば、ユーザは、3次元環境内の場所を指定するための住所または座標を入力し得る。ある実施形態では、場所は、地上または街路レベルであり得る。ある実施例では、ユーザは、バーチャルカメラの眺めから、3次元環境を表示する、ビューポート内の位置を選択し得る。GISは、ユーザによって選択されたビューポート上の位置を表す、位置データを受信し得る。GISは、ユーザによって選択された位置およびバーチャルカメラの焦点距離に基づいて、3次元空間内の点を決定し得る。ある実施例では、決定された点と焦点との間の距離は、バーチャルカメラの焦点距離に対応し得る。いったん3次元環境内の点が、ユーザによって選択された位置に基づいて決定されると、GISは、ユーザによって選択された位置に基づいて、半直線を延長し得る。ある実施例では、GISは、バーチャルカメラの焦点または入射瞳から、半直線を延長し得る。半直線は、決定された点を通して、焦点または入射瞳から、延長し得る。延長された半直線によって、標的場所が、半直線に基づいて決定され得る。ある実施形態では、3次元モデルは、建造物モデル等の複数のモデルを含み得る。その実施形態では、標的場所は、3次元環境内のモデルとの半直線の交差点であると決定され得る。このように、標的場所は、ビューポート内のユーザ選択に基づいて、決定され得る。いったん標的場所が、ステップ402において決定されると、標的場所までの進路に対するナビゲーション経路が、ステップ404において生成される。進路は、例えば、3次元環境内に表される街路網に沿ってもよい。さらに、進路は、前述のように、3次元環境内の3次元モデルとしてレンダリングされたパノラマの中心に対応する場所間にあり得る。ナビゲーション経路は、また、前述のように、3次元環境内のバーチャルカメラの移動に対する制約表面およびナビゲーション境界を規定する。ある実施例では、パノラマ写真は、一連の点内の各点に位置し得、パノラマ写真は、各パノラマに関連付けられた接続情報に基づいて、パノラマまたは接続グラフ内で相互にリンクされ得る。例えば、バーチャルカメラが、特定の点に位置する時、GISは、バーチャルカメラの眺めから、写真画像データを表示し得る。進路は、標的場所に近接するように、バーチャルカメラを誘導し得る。例えば、進路は、標的場所に最も近い街路網内の位置へとバーチャルカメラを誘導し得る。代替として、および加えて、進路は、最大距離例えば、パノラマの中心に対する最大ローミング距離を超えないように決定され得る。バーチャルカメラが、ナビゲーション経路内の進路に沿って、移動される場合に、ステップ406において、標的場所に向くように配向され得る。ステップ408では、バーチャルカメラは、限定されないが、前述のように、3次元環境内のバーチャルカメラのビュー方向および位置を含む、いくつかの要因に基づいて、標的場所に向かって、自動的に、ナビゲーション経路内を誘導され得る。さらに、ユーザは、また、前述のように、ユーザ入力を通して、任意の自動誘導を無効にし得る。バーチャルカメラが、標的場所へとより近くに移動されるにつれて、標的場所に対応する景色が、レンダリングされ、ユーザに表示されることができる。ある実施形態では、ステップ408はさらに、標的場所に基づいて表示されるべきパノラマを選択することを含む。しかしながら、適切なパノラマの選択は、単に、標的場所へのパノラマの接近度に基づくのみではない場合がある。別の重要な要因は、例えば、バーチャルカメラが、ビュー内に標的を維持するために、移動されなければならないビュー角度であり得る。例えば、最も近いパノラマは、標的より道路に沿って遠くにあり得る。しかしながら、ビュー内に標的を維持するために、バーチャルカメラは、方向転換し、ほぼ後方に向く必要があるであろう。故に、選択されたパノラマは、バーチャルカメラの初期位置、すなわち、起点に最も近いものであるが、また、カメラ回転の量が最小限にされるように、3次元環境内の標的場所から十分遠くに位置する。例示的コンピュータシステム実装図1-4に示される実施形態、あるいはその任意の部分または機能は、ハードウェア、ソフトウェアモジュール、ファームウェア、その上に記憶される命令を有する、有形コンピュータ可読媒体、またはそれらの組み合わせを使用して、実装され得、1つ以上のコンピュータシステムまたは他の処理システム内に実装され得る。図5は、実施形態またはその一部が、コンピュータ可読コードとして実装され得る、例示的コンピュータシステム500を図示する。例えば、図1におけるクライアント102は、ハードウェア、ソフトウェア、ファームウェア、その上に記憶される命令を有する、有形コンピュータ可読媒体、またはそれらの組み合わせを使用して、コンピュータシステム500内に実装されることができ、1つ以上のコンピュータシステムまたは他の処理システム内に実装され得る。ハードウェア、ソフトウェア、またはそのようなものの任意の組み合わせは、図1-4におけるモジュールおよび構成要素のいずれかを具現化し得る。プログラマブル論理が使用される場合、そのような論理は、市販のプロセッシングプラットフォームまたは特殊目的デバイス上で実行し得る。当業者は、開示される主題の実施形態が、マルチコアマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、分散機能によってリンクまたはクラスタ化されるコンピュータ、ならびに事実上、任意のデバイスに埋め込まれ得る、パーペイシブまたは小型コンピュータを含む、種々のコンピュータシステム構成とともに実践されることができることを理解し得る。例えば、少なくとも1つのプロセッサデバイスおよびメモリを使用して、前述の説明される実施形態を実装し得る。プロセッサデバイスは、単一プロセッサ、複数のプロセッサ、またはそれらの組み合わせであり得る。プロセッサデバイスは、1つ以上のプロセッサコアを有し得る。本発明の種々の実施形態は、この例示的コンピュータシステム500の観点から説明される。本説明を熟読後、他のコンピュータシステムおよび/またはコンピュータアーキテクチャを使用して、本発明の実施形態をどのように実装するべきかは、当業者に明白となるであろう。動作は、シーケンシャルプロセスとして説明され得るが、動作のうちのいくつかは、実際は、並行して、同時に、および/または分散環境において、かつ単一または多重プロセッサ機械によってアクセスするために、ローカルあるいは遠隔に記憶されるプログラムコードによって、行われ得る。加えて、いくつかの実施形態では、動作の順序は、開示される主題の精神から逸脱することなく、再配列され得る。プロセッサデバイス504は、特殊目的または汎用プロセッサデバイスであり得る。当業者によって理解されるように、プロセッサデバイス504はまた、マルチコア/マルチプロセッサシステム内の単一プロセッサであり得、そのようなシステムは、単独で、あるいはクラスタまたはサーバファーム内で動作するコンピューティングデバイス内のクラスタ内で動作する。プロセッサデバイス504は、通信インフラストラクチャ506、例えば、バス、メッセージキュー、ネットワーク、またはマルチコアメッセージ受け渡し方式に接続される。コンピュータシステム500はまた、メインメモリ508、例えば、ランダムアクセスメモリRAMを含み、また、二次メモリ510を含み得る。二次メモリ510は、例えば、ハードディスクドライブ512およびリムーバブル記憶ドライブ514を含み得る。リムーバブル記憶ドライブ514は、フロッピー登録商標ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリ、または同等物を備え得る。リムーバブル記憶ドライブ514は、公知の様式において、リムーバブル記憶ユニット518からの読取および/またはそこへの書込を行う。リムーバブル記憶ユニット518は、リムーバブル記憶ドライブ514によって読み取られ、そこに書き込まれる、フロッピー登録商標ディスク、磁気テープ、光ディスク等を備え得る。当業者によって理解されるように、リムーバブル記憶ユニット518は、その中に記憶されたコンピュータソフトウェアおよび/またはデータを有する、コンピュータ使用可能記憶媒体を含む。代替実装では、二次メモリ510は、コンピュータプログラムまたは他の命令をコンピュータシステム500内にロード可能にするための他の類似手段を含み得る。そのような手段は、例えば、リムーバブル記憶ユニット522およびインターフェース520を含み得る。そのような手段の実施例は、プログラムカートリッジおよびカートリッジインターフェースビデオゲームデバイス内に見られるもの等、リムーバブルメモリチップEPROMまたはPROM等および関連付けられたソケット、ならびにソフトウェアおよびデータをリムーバブル記憶ユニット522からコンピュータシステム500に転送可能にする、他のリムーバブル記憶ユニット522およびインターフェース520を含み得る。コンピュータシステム500はまた、通信インターフェース524を含み得る。通信インターフェース524は、ソフトウェアおよびデータをコンピュータシステム500と外部デバイスとの間で転送可能にする。通信インターフェース524は、モデム、ネットワークインターフェースイーサネット登録商標カード等、通信ポート、PCMCIAスロットおよびカード、または同等物を含み得る。通信インターフェース524を介して転送されるソフトウェアおよびデータは、電子、電磁、光学、または通信インターフェース524によって受信可能な他の信号であり得る、信号の形態であり得る。これらの信号は、通信進路526を介して、通信インターフェース524に提供され得る。通信進路526は、信号を搬送し、有線またはケーブル、光ファイバ、電話回線、携帯電話リンク、RFリンク、または他の通信経路を使用して、実装され得る。本書では、用語コンピュータプログラム媒体およびコンピュータ使用可能媒体は、概して、リムーバブル記憶ユニット518、リムーバブル記憶ユニット522、およびドライブ512内にインストールされるハードディスク等の媒体を指すために使用される。コンピュータプログラム媒体およびコンピュータ使用可能媒体はまた、メモリ半導体例えば、DRAM等であり得る、メインメモリ508および二次メモリ510等のメモリを指し得る。コンピュータプログラムコンピュータ制御論理とも呼ばれるは、メインメモリ508および/または二次メモリ510内に記憶される。コンピュータプログラムはまた、通信インターフェース524を介して、受信され得る。そのようなコンピュータプログラムは、実行されると、コンピュータシステム500が、本明細書に論じられるような実施形態を実装することを可能にする。特に、コンピュータプログラムは、実行されると、プロセッサデバイス504が、前述の図4の流れ図400によって図示される方法における段階等、本発明の実施形態のプロセスを実装することを可能にする。故に、そのようなコンピュータプログラムは、コンピュータシステム500のコントローラを表す。実施形態が、ソフトウェアを使用して実装される場合、ソフトウェアは、コンピュータプログラム製品内に記憶され、リムーバブル記憶ドライブ514、インターフェース520、ハードディスクドライブ512、または通信インターフェース524を使用して、コンピュータシステム500内にロードされ得る。本発明の実施形態はまた、任意のコンピュータ使用可能媒体上に記憶されるソフトウェアを備える、コンピュータプログラム製品を対象とし得る。そのようなソフトウェアは、1つ以上のデータ処理デバイス内で実装されると、データ処理デバイスを本明細書に説明されるように動作させる。本発明の実施形態は、任意のコンピュータ使用可能または可読媒体を採用する。コンピュータ使用可能媒体の実施例として、一次記憶デバイス例えば、任意のタイプのランダムアクセスメモリ、二次記憶装置デバイス例えば、ハードドライブ、フロッピー登録商標ディスク、CDROMS、ZIPディスク、テープ、磁気記憶デバイス、光学記憶デバイス、MEMS、ナノテクノロジー記憶デバイス等、および通信媒体例えば、有線および無線通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、イントラネット等が挙げられるが、それらに限定されない。結論概要および要約の項は、本発明者らによって検討されるような本発明の全てではないが1つ以上の例示的実施形態を記載し得、したがって、決して本発明および添付の請求項を限定することを目的としない。本発明の実施形態は、その指定機能および関係の実装を図示する機能的構成要素を用いて、上記で説明された。これらの機能的構成要素の境界は、説明の便宜上、本明細書では任意に規定した。その指定機能および関係が適切に実施される限り、代替的境界を規定することができる。特定の実施形態の先述の説明は、本発明の一般概念から逸脱することなく、必要以上の実験を伴わずに、当技術分野内の知識を適用することによって、他者がそのような特定の実施形態を容易に修正し、および/または種々のアプリケーションに適合させることができる、本発明の一般的性質を完全に明らかにする。したがって、そのような適合および修正は、本明細書で提示される教示および指導に基づいて、開示された実施形態の同等物の意味および範囲内となることを目的とする。本明細書の用語または表現が、教示および指導に照らして当業者によって解釈されるものであるように、本明細書の表現または用語は、限定ではなく説明の目的によるものであることを理解されたい。本発明の幅および範囲は、上記の例示的実施形態のうちのいずれによっても限定されるべきではないが、以下の請求項およびそれらの同等物のみに従って定義されるべきである。"