(58)【調査した分野】(Int.Cl.,DB名)
前記ストリートビューの画像内のナビゲーション情報を含むオブジェクトメタデータを、前記ストリートビューの画像内の対応するオブジェクトに近接して配置するステップを含む、請求項1に記載のコンピューターにより実施される方法。
クライアント装置による表示のために前記注釈が付いたストリートビューの画像を前記クライアント装置に送信するステップを含む、請求項1に記載のコンピューターにより実施される方法。
前記メタデータコンポーネントが、前記メタデータパネルを、前記ストリートビューの画像に隣接して、前記ストリートビューの画像に連続して、または前記ストリートビューの画像に重ねて配置するように動作する、請求項10に記載の装置。
前記メタデータコンポーネントが前記ストリートビューの画像用の上部メタデータパネルを生成するように動作し、前記上部メタデータパネルが前記ストリートビューの画像の上部の上に配置されるように構成される、請求項10に記載の装置。
前記メタデータコンポーネントが前記ストリートビューの画像用の下部メタデータパネルを生成するように動作し、前記下部メタデータパネルが前記ストリートビューの画像の下部の下に配置されるように構成される、請求項10に記載の装置。
前記オブジェクトメタデータが、場所情報、企業情報、個人情報、イベント情報、ソーシャルネットワーキング情報、広告情報、またはナビゲーション情報を含む、前記ストリートビューの画像内に位置する対応するオブジェクト用の情報を含む、請求項10に記載の装置。
【発明を実施するための形態】
【0008】
[0014]さまざまな実施形態は、ストリートビューの画像に文脈情報で注釈を付けるための向上した技法に関する。より詳細には、実施形態は、自然で容易に理解できる方法でストリートビューの画像用の文脈情報を見る人に提示できるユーザーインターフェイス構成要素を生成することができる。これにより、見る人が、場所が対象であるかどうかをより迅速に判定し、その場所に関連する情報を多く収集することが可能になる。
【0009】
[0015]従来のストリートビューアプリケーションはいくつかの点で限定される。ストリートビューアプリケーションにより、ユーザーがストリートレベルで、時々ストリートビューの画像と呼ばれる特定の場所の周囲を見ることが可能になる。ユーザーは、回転制御を操作することなどにより、さまざまなナビゲーションツールを使用して、ストリートビューの画像用の視野角を回転することができる。多くのストリートビューアプリケーションは、移動撮像装置から取り込まれた場所の限定されたビュー(例えば、同時に1つまたは少数の建物)しか提示しない。そのため、見る人はストリートビューの画像を有益な方法で利用するのに十分な文脈情報をもつことができない。さらに、現在の沿道の画像の没入型ビューは、道路に沿った周囲の構成要素のビューを明瞭にすることができず、見る人を地面に釘付けにし、軌道に沿った不連続な点の間をジャンプできるだけで、歩行者の視点からブロックを滑り抜けることはせず、車両の視点から道路に沿ってビューを提示する。加えて、いくつかの地図アプリケーションは、普通の地図またはサテライトビューの上に重ね合わされたバルーンおよびホバリングディスプレイボックスのようなユーザーインターフェイス構成要素を介して、商号などの特定の住所についてのより詳細な情報を提供する。そのような情報は有益だが、一般にストリートビューの表示には提供されない。加えて、ストリートビューの表示は、通常コーナーをナビゲートするとビューを切り換え、それによって見る人が一瞬文脈を見失う。
【0010】
[0016]実施形態は、ストリートビューの画像の文脈情報を見る人に提示できる、向上したユーザーインターフェイス構成要素を生成することにより、上記その他の問題を解決しようと試みる。地図アプリケーションは、ユーザーによって選択された場所の注釈が付いたストリートビューの画像を生成するように構成されたストリートレベルコンポーネントを実装するか、またはそれと協調することができる。場所は、例えば、所在地住所を地図アプリケーション用のユーザーインターフェイスに入力することによって選択することができる。ストリートレベルコンポーネントは、複数のストリートレベルの画像からストリートビューの画像を生成するように構成されたストリートビューコンポーネントを含むことができる。ストリートビューの画像は、建物、道路、人物、車、などのストリートビューの画像内に位置する1つまたは複数のオブジェクトを有することができる。メタデータコンポーネントは、ストリートビューの画像内に位置するさまざまなオブジェクト用の文脈情報を生成するように構成することができる。例えば、メタデータコンポーネントは、ストリートビューの画像内のさまざまなオブジェクトに対応する文脈情報をもつ水平メタデータパネルを生成することができる。水平メタデータパネルは、ストリートビューの画像の上または下に配置することができる。水平メタデータパネル用の文脈情報は、ストリートビューの画像内の対応するオブジェクトとおおよそ垂直に位置合せして配置されたさまざまなタイプのオブジェクトメタデータを含むことができる。この垂直位置合せにより、見る人が、所与のセットのオブジェクトメタデータをストリートビューの画像内の対応するオブジェクトに、迅速に関連付けることが可能になる。次いで、メタデータコンポーネントは、水平メタデータパネルをストリートビューの画像と結合して注釈が付いたストリートビューの画像を形成することができる。注釈が付いたストリートビューの画像は、ウェブブラウザーまたはクライアント地図アプリケーションを介して、ディスプレイ上に表示するためにクライアント装置に配信することができる。
【0011】
[0017]
図1は、地図アプリケーション100用のブロック図を示す。一実施形態では、例えば、地図アプリケーション100は、複数のコンポーネント110、130を有する、コンピューター実装された地図アプリケーション100を含むことができる。本明細書では、用語「システム」および「コンポーネント」は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかを含む、コンピューターに関係するエンティティを参照するものである。例えば、コンポーネントは、プロセッサー上で走るプロセス、プロセッサー、ハードディスクドライブ、(光および/もしくは磁気の記憶媒体)の複数の記憶装置、オブジェクト、実行可能命令、実行スレッド、プログラム、ならびに/またはコンピューターとして実装することができる。実例として、サーバー上で走るアプリケーションとサーバーのどちらもコンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッドの中に存在する可能性があり、所与の実装形態に対する要望通りに、コンポーネントは1台のコンピューター上に配置されるか、および/または、2台以上のコンピューターの間に分散される可能性がある。実施形態はこの文脈内に限定されない。
【0012】
[0018]
図1に示された例示的な実施形態では、地図アプリケーション100は電子装置の一部として実装することができる。電子装置の例としては、限定するものではないが、モバイル装置、携帯情報端末、モバイルコンピューター装置、スマートフォン、携帯電話、ハンドセット、片方向ポケットベル、両方向ポケットベル、メッセージング装置、コンピューター、パーソナルコンピューター(PC)、デスクトップコンピューター、ラップトップコンピューター、ノートブックコンピューター、ハンドヘルドコンピューター、タブレットコンピューター、サーバー、サーバーアレイもしくはサーバーファーム、ウェブサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピューター、メインフレームコンピューター、スーパーコンピューター、ネットワークアプライアンス、ウェブアプライアンス、ゲーム装置、分散コンピューターシステム、マルチプロセッサーシステム、プロセッサーベースシステム、家庭用電化製品、プログラマブル家庭用電化製品、テレビ、デジタルテレビ、セットトップボックス、無線アクセスポイント、基地局、加入者局、モバイル加入者センター、無線ネットワークコントローラー、ルーター、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せが挙げられる。
図1に示されたような地図アプリケーション100は、ある特定のトポロジー内で限定された数の構成要素を有するが、所与の実装形態に対する要望通りに、地図アプリケーション100は代替のトポロジー内でそれより多いか、または少ない構成要素を含む場合があることを理解することができる。
【0013】
[0019]コンポーネント110、130は、さまざまなタイプの通信媒体を介して通信結合することができる。コンポーネント110、130はお互いの間の動作を調整することができる。調整は単方向または双方向の情報交換を伴う場合がある。例えば、コンポーネント110、130は、通信媒体を介して通信される信号の形態で情報を通信することができる。情報はさまざまな信号線に割り当てられた信号として実装することができる。そのような割り当てでは、各メッセージは信号である。しかしながら、さらなる実施形態は、代わりにデータメッセージを使用することができる。そのようなデータメッセージはさまざまな接続を介して送信することができる。例示的な接続には、パラレルインターフェイス、シリアルインターフェイス、およびバスインターフェイスが含まれる。
【0014】
[0020]地図アプリケーション100は、一般に、さまざまな地理的および物理的な場所を表示するデジタル地図を生成し、配信し、ナビゲートするための、さまざまなオンラインおよびオフラインの地図アプリケーションおよびサービスを提供するように構成することができる。地図アプリケーション100は、特に、ストリートビューおよびストリートビューをナビゲートするためのユーザーインターフェイス技法を提供するように構成することができる。地図アプリケーション100用の例としては、限定するものではないが、MICROSOFT(登録商標)BING(登録商標)Maps、GOOGLE(登録商標)Maps、YAHOO(登録商標)Maps、などによって提供される地図アプリケーションが挙げられる。実施形態はこの文脈内に限定されない。
【0015】
[0021]さまざまな実施形態では、地図アプリケーション100は、サーバーなどの任意のコンピューター装置またはプラットフォームで実行することができる。本明細書全体を通して、用語「プラットフォーム」は、パーソナルコンピューターまたはモバイル装置などのクライアント装置と連携して地図動作を管理するための、ソフトウェアコンポーネントとハードウェアコンポーネントの組合せであり得る。プラットフォームの例としては、複数のサーバー上で実行されるホスト型サービスすなわち「クラウドコンピューターサービス」、単一サーバー上で実行されるアプリケーション、および同等のシステムが挙げられるが、それらに限定されない。用語「サーバー」は、一般に、通常ネットワーク化された環境内で1つまたは複数のソフトウェアプログラムを実行するコンピューター装置を参照する。しかしながら、サーバーは、ネットワーク上のサーバーとして見える1つまたは複数のコンピューター装置上で実行される仮想のサーバー(ソフトウェアプログラム)として実装することもできる。さらに、またはあるいは、地図アプリケーション100は、スマートフォン、ハンドヘルドコンピューター、無線携帯情報端末(PDA)、地図アプリケーションが使用可能な携帯電話、車載コンピューター装置、および、これまで記載された地図アプリケーション100に適した環境を提供する他の電子装置などのモバイル装置で実行することができる。実施形態はこの文脈内に限定されない。
【0016】
[0022]
図1に示された例示的な実施形態では、地図アプリケーション100は、ストリートレベルコンポーネント110を実装するか、またはそれと協調することができる。ストリートレベルコンポーネント110は、一般に、場所の1つまたは複数の注釈が付いたストリートビューの画像120を生成することを含む、さまざまなオンライン地図の動作を実行するように構成することができる。場所は、ユーザー入力、または、全地球測位サービス(GPS)情報、携帯電話中継塔三角測量、無線データネットワークノード検出、および同様の技法に基づく場所の自動判別に基づいて画定することができる。ユーザーは、例えば、数ある技術の中でも、地図アプリケーション100用のユーザーインターフェイスに所在地住所を入力すること、地図アプリケーション100によって提供された地図上の場所を選択すること、または、地図アプリケーション100によって提供された所与の場所を表示するユーザーインターフェイス構成要素を選択することにより、所与の場所を選択することができる。
【0017】
[0023]注釈が付いたストリートビューの画像120は、所与の場所の周囲のさまざまなストリートレベルビューを含むことができる。注釈が付いたストリートビューの画像120は、画定された場所の2次元(2D)または3次元(3D)のストリートレベルビューを含むことができる。注釈が付いたストリートビューの画像120は、画定された場所の周囲の最大360°のパノラマストリートレベルビューを含むことができる。一実施形態では、例えば、注釈が付いたストリートビューの画像120は、道路内に位置して道路の片側に目を向けるユーザーの視点からの2Dストリートレベルビューを含むことができる。ストリートレベルビューは、人物、動物、建物、車、看板、道路標識、消火栓、などを含むさまざまな物理的なオブジェクトを含むことができる。ユーザーは、注釈が付いたストリートビューの画像120を道路の上または下に移動すること、道路の片側から道路の別の側に切り換えること、道路を見上げるか、または見下ろしたりすることなどの、ストリートレベルコンポーネント110によって提供されたさまざまなストリートビューナビゲーション技法を使用して、注釈が付いたストリートビューの画像120をナビゲートまたは操作することができる。
【0018】
[0024]ストリートレベルビューで通常見つかる普通のオブジェクトに加えて、注釈が付いたストリートビューの画像120は、注釈が付いたストリートビューの画像120内に取り込まれた特定のオブジェクトに関するさまざまなタイプのオブジェクトメタデータで注釈を付けることができる。オブジェクトメタデータは、取り込まれたオブジェクトについてさまざまなタイプの情報を含むことができる。オブジェクトメタデータの例は、
図2を参照してより詳細に記載することができる。
【0019】
[0025]
図1で示された例示的な実施形態では、地図アプリケーション100は、表示コンポーネント130を実装するか、またはそれと協調することができる。表示コンポーネント130は、注釈が付いたストリートビューの画像120を電子装置上に描画または提示することができる。一実施形態では、例えば、表示コンポーネント130は、注釈が付いたストリートビューの画像120を提示するために、オペレーティングシステム、ウェブブラウザー、クライアントアプリケーション、または、地図アプリケーション100のクライアントベースのバージョンなどの別のアプリケーションと相互運用することができる。表示コンポーネント130は、地図アプリケーション100用のさまざまなユーザーインターフェイスも提供することができる。
【0020】
[0026]表示コンポーネント130は、さまざまなストリートビューナビゲーション技法を実装するためのユーザーインターフェイスを提供することができる。一実施形態では、例えば、表示コンポーネント130は、タッチ可能なディスプレイをもつモバイル装置上のストリートビューナビゲーション技法を提供することができる。表示コンポーネント130は、ジェスチャーベースの技法およびハードウェア入力技法を使用して、ストリートビューマップ内をナビゲートするためのユーザーインターフェイス技法を実装することができる。ジェスチャーベースの技法は、シングルタッチ方式またはマルチタッチ方式で、モバイル装置上のタッチセンサー式入力装置のタッチ可能ディスプレイを介して、入力ジェスチャーを提供することによって指定することができる。多くのジェスチャーを実装することができるが、少数のジェスチャー例としては、Uターンを行うシングルアップダウンジェスチャー、道路の両側を現すためのダブルフィンガースプリットアップダウンモーション、交差道路を下に移動するターンアーク内のドラッグ、およびその他のいくつかのジェスチャーベースの技法が挙げられる。他のナビゲーション技法は、加速度計、コンパス、および/またはトラックボールなどのハードウェア入力を利用することができる。そのような技法の例としては、携帯電話を片側に傾けて道路を上下に滑ること、携帯電話を上または下に傾けて地図を逆さまに見ること、および同様の技法が挙げられる。ユーザーがモバイル装置を水平な位置に持っていく(例えば、360°表示の中で地面に向ける)と、表示されたストリートビューは、現在表示されている場所のまわりの区域を表示する上部地図ビューの中に、フェードするか、遷移するか、または動くことができる。さらなるハードウェアベースの入力には、(例えば、モバイル装置の加速度計を使用して)モバイル装置を縦軸のまわりに回転させて道路の別の側を見ること、モバイル装置を回転させて見る人を道路に沿って滑らせること、および同等の入力が含まれ得る。別の入力は、ユーザーを見る統合型カメラから受信することができる。例えば、ディスプレイは、ユーザーの頭の動きに平行な動きを生成するユーザーの頭の動きに基づいて移動して、道路の異なる部分を見せることができる。
【0021】
[0027]
図2は、ストリートレベルコンポーネント110のより詳細なブロック図を示す。
図2に示された例示的な実施形態では、ストリートレベルコンポーネント110は、ストリートビューコンポーネント210、ストリートビューの画像220、メタデータコンポーネント230、データストア232、および水平メタデータパネル240を含むことができる。ストリートレベルコンポーネント110は、所与の実装形態に対する要望通りに、それより多いか、または少ない構成要素を含む場合があることを理解することができる。
【0022】
[0028]ストリートビューコンポーネント210は、一般に、地図アプリケーション100のストリートレベルコンポーネント110用の1つまたは複数のストリートレベルの画像から形成された、場所用の1つまたは複数のストリートビューの画像220を生成するように構成することができる。各ストリートビューの画像220は、建物、道路、人物、車、などのストリートビューの画像内に位置する1つまたは複数のオブジェクトを有することができる。場所は、ユーザー入力または自動判別に基づいて画定することができる。前者の場合は、表示コンポーネント130は、ユーザーが地図アプリケーション100用の場所を選択することを可能にする、テキストボックスを有するユーザーインターフェイスを生成することができる。後者の場合は、例えば、ストリートビューコンポーネント210は、GPS装置、携帯電話中継塔三角測量、無線データネットワークノード検出、または同様の場所検出技法から、自動的に場所の情報を取り出すことができる。
【0023】
[0029]どちらの場合でも、ストリートビューコンポーネント210は、画定された場所のストリートレベルビューに対する要求を受信する。ストリートビューコンポーネント210は、地図データベースから場所用の1つまたは複数のストリートレベルの画像を取り出すことができる。例えば、各ストリートレベルの画像は、完全なストリートビューの画像220内の部分または「タイル」を含むことができる。ストリートビューコンポーネント210は、1つまたは複数のストリートレベルの画像を一緒に結合または「スティッチ」して、ストリートビューの画像220を形成することができる。
【0024】
[0030]一実施形態では、地図アプリケーション100はサーバーの一部として実装することができる。この場合、ストリートビューコンポーネント210は、例えば、パーソナルコンピューターまたはモバイル装置などのクライアント装置から、画定された場所のストリートレベルビューに対する要求をサーバーで受信することができる。クライアント装置は、通常、さまざまなセルラーネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および同等のネットワークなどの有線または無線のネットワークを介して、地図データ、画像、および他のデータを提供するサーバーと通信する。帯域幅および処理能力などの特性は、ネットワークのタイプ、クライアント装置の場所、ネットワークの負荷または使用法、および同様の要因に応じて、かなり変わる可能性がある。したがって、地図データ、特にストリートビューの画像の取り出しは、ネットワーク状態に基づいて潜在的に遅延しがちである。さらに、クライアント装置からの要求の受信、サーバーによるキューイングおよび処理、ならびに応答の伝達に基づくネットワーク待ち時間は、ネットワーク状態にかかわらず、さらに遅延を増加させる。場合によっては、モバイル装置用のラウンドトリップ待ち時間は0.25秒にまでなる可能性がある。
【0025】
[0031]いくつかの実施形態は、ユーザー体験を向上するために、さまざまな視覚的表現技法によって画像要求を最適化し、遅延を軽減する技法を実装することができる。いくつかの実施形態によれば、ストリートビューの画像を取り出す際のネットワーク遅延は、その場所の一時的な補足ビューを提供することによって軽減することができる。他の実施形態によれば、一時的な補足ビューの代わりに、またはそれに加えて、画像要求をスケジュールまたはストリームして、取り出しを円滑化することができる。ストリートビューマップのパノラマビューは、タイル型のピラミッド方式で表示することができ、その結果、それらの画面上で見える部分のみがダウンロードされる。ピラミッドレベルは、最高解像度の画像より低い解像度のバージョンを含むことができる。あるいは、低い解像度のコピーを格納する代わりに、最高のレンダリング品質を維持しながら、豊富な意味をもつ情報のコピーを格納することができる。例えば、ピラミッドの最低レベルで、低い解像度の画像を格納する代わりに、近くの建物の注釈テキストを格納することができる。そのように、ユーザーは、(例えば、画像がないか、または簡単なグラフィックの)注釈およびテキストを最初に見ることができる。テキストは、解像度を失わずに高い忠実度で描写することができる。テキスト自体は、低い解像度の画像を格納することよりコンパクトであり、迅速にダウンロードすることができる。ネットワークベースの遅延にもかかわらずストリートビューマップのレンダリングを最適化するためのさらに別の手法は、均質化されていない倍率変更を含むことができ、対象のオブジェクト(例えば、建物または看板)は比較的高い解像度で表示できるが、他のオブジェクト(樹木、連続する窓、フェンスなど)は、縮小された解像度で表示される。したがって、ストリートビュー全体で固定された解像度を使用するよりむしろ、有益な帯域幅を重要なオブジェクトのために使用することができる。帯域幅を節約するための別の手法は、家屋の間の空きスペース、(その全幅ではなくその実物を見せるために家屋の少数の柱だけを見せることなどの)連続するパターンなどの道路画像の「つまらない」部分を縮小することを含むことができる。結果として生まれた画像は、より少ない数のピクセルで大部分のビュー情報を有することができ、限定されたサイズの電話の画面にも良好に表示される。これらは所与の実装形態に適した視覚的表現技法の少数の例にすぎず、他の視覚的表現技法も使用できることを理解することができる。実施形態はこの文脈内に限定されない。
【0026】
[0032]所与のストリートビューの画像220の場合、メタデータコンポーネント230は、一般に、ストリートビューの画像220内に位置するさまざまなオブジェクト用の文脈情報を生成するように構成される。例えば、メタデータコンポーネント230は、ストリートビューの画像220内のさまざまなオブジェクトに対応する文脈情報をもつ水平メタデータパネル240を生成することができる。文脈情報は、データストア232によって格納されたオブジェクトメタデータを含むことができる。
【0027】
[0033]データストア232は、地図アプリケーション100用の情報を格納するデータベースを含むことができる。データストア232は、地図アプリケーション100と同じ装置上に実装されたローカルデータストア、または地図アプリケーション100を実行する装置と異なる装置上に実装されたリモートデータストアを含むことができる。
【0028】
[0034]一実施形態では、データストア232は、ストリートビューの画像220用の文脈情報を提供するのに適したオブジェクトメタデータを格納するデータベースを含むことができる。オブジェクトメタデータは、ストリートビューの画像220内の1つまたは複数の対応するオブジェクトと関連することができる、任意のタイプのデータまたは情報を含むことができる。オブジェクトメタデータの例としては、限定するものではないが、場所情報、企業情報、個人情報、イベント情報、ソーシャルネットワーキングシステム(SNS)情報、広告情報、ナビゲーション情報、ドキュメント(例えば、ワードプロセッシング、スプレッドシート、プレゼンテーション、ノート、カレンダー、など)、メディアファイル(例えば、写真、オーディオファイル、ビデオファイル、オーディオ/ビデオファイル、など)、アプリケーションファイル(例えば、連絡先情報、カレンダー情報、タスク、など)、天気情報、温度情報、交通状況情報、オファーおよびクーポン、近位の装置、人物、無線標識、などが挙げられる。場所情報用の例としては、限定するものではないが、場所の名前、所在地住所、建物の名前、建物の住所、地図座標、GPS座標、などが挙げられ、所与の場所に関連付けられた情報を含むことができる。企業情報用の例としては、限定するものではないが、企業名、企業説明、企業連絡先情報(例えば、電話番号、Eメールアドレス、ドメイン名、など)が挙げられ、所与の場所に位置する所与の企業に関連付けられた情報を含むことができる。個人情報用の例としては、限定するものではないが、個人名、連絡先情報(例えば、電話番号、携帯電話番号、Eメールアドレス、存在情報、など)、年齢、性別、人種、および他の記述的特性が挙げられ、所与の場所に位置する所与の個人に関連付けられた情報を含むことができる。イベント情報用の例としては、限定するものではないが、イベント名(例えば、ホリデーパーティー)、イベント説明、イベント開始時刻、イベント終了時刻、などが挙げられ、所与の場所での所与のイベントに関連付けられた情報を含むことができる。SNS情報用の例としては、限定するものではないが、SNS名、SNS画面名、SNS状況、SNSニュースフィード、などが挙げられ、所与の場所での所与のSNSに関連付けられた情報を含むことができる。SNSの例としては、限定するものではないが、MICROSOFT(登録商標)WINDOWS LIVE(登録商標)、MYSPACE(登録商標)、FACEBOOK(登録商標)、LINKEDIN(登録商標)、TWITTER(登録商標)、BEBO(登録商標)、ならびに、記載された実施形態にふさわしい他のソーシャルネットワーキングのシステムおよびサービスが挙げられる。広告情報用の例としては、限定するものではないが、個人広告、企業広告、イベント広告、場所広告、静止画広告、アニメ広告、マルチメディア広告、などが挙げられ、所与の場所での所与の個人、場所、または企業に関連付けられた情報を含むことができる。ナビゲーション情報用の例としては、限定するものではないが、道路標識、道路番号、曲がり角の矢印、ナビゲーション標識、ナビゲーション符号、静止画標識、アニメ標識、マルチメディア標識、などが挙げられ、所与の場所の周囲をナビゲートすることに関連付けられた情報を含むことができる。これらは所与のストリートビューの画像220に適したオブジェクトメタデータの少数の例にすぎず、他のタイプのオブジェクトメタデータも使用できることを理解することができる。実施形態はこの文脈内に限定されない。
【0029】
[0035]メタデータコンポーネント230は、ストリートビューの画像220用の水平メタデータパネル240を生成することができる。水平メタデータパネル240は、対応するストリートビューの画像220用のオブジェクトメタデータを格納し提示するように設計されたユーザーインターフェイス構成要素を含むことができる。より詳細には、水平メタデータパネル240は、オブジェクトメタデータを格納し、電子ディスプレイの縦軸に沿って提示するように設計された垂直メタデータパネル(図示せず)と比べて、対応するストリートビューの画像220用のオブジェクトメタデータを格納し、電子ディスプレイの横軸に沿って提示するように、特に設計されたユーザーインターフェイス構成要素を含むことができる。
【0030】
[0036]電子ディスプレイ用の横軸に沿って構築されると、水平メタデータパネル240は、ストリートビューの画像220の上または下のどちらかに配置することができる。一実施形態では、メタデータコンポーネント230は、ストリートビューの画像220用の上部水平メタデータパネルを生成することができる。上部水平メタデータパネルは、ストリートビューの画像220の上部の上に配置することができる。一実施形態では、メタデータコンポーネント230は、ストリートビューの画像220用の下部水平メタデータパネルを生成することができる。下部水平メタデータパネルは、ストリートビューの画像220の下部の下に配置することができる。上部と下部の水平メタデータパネルは、それぞれ
図5A、
図5Bを参照して、さらに図示し記載することができる。
【0031】
[0037]水平メタデータパネル240は、所与の実装形態に適した任意のサイズ、形、寸法、または幾何形状を有することができる。一実施形態では、水平メタデータパネル240は、対応するストリートビューの画像220より低い高さ、およびそれと同様の幅をもつおおよそ長方形の寸法を有することができる。これは、通常の正方形または長方形の電子ディスプレイ上に提示されるストリートビューの画像220用の所与の寸法と一致する。しかしながら、水平メタデータパネル240は、所与のストリートビューの画像220、所与のストリートビューの画像220内のオブジェクト、電子ディスプレイ、所与のタイプのオブジェクトメタデータ(例えば、テキスト、画像、グラフィック、アニメーション、ビデオ、など)、オブジェクトメタデータのフォーマッティング特性(例えば、フォント、フォントサイズ、ボールド、イタリック、ライン間隔、など)、表示特性(例えば、色、陰影付け、不透明度、など)、オブジェクトメタデータの量(例えば、1行、2行、3行...n行)、などの要因に基づいて、さまざまな寸法を有することができる。実施形態はこの文脈内に限定されない。
【0032】
[0038]また、水平メタデータパネル240は、全体において異なる平面として表示および/または提示することができる。例えば、ストリートビューの画像220と同じ平面に留まるよりむしろ、水平メタデータパネル240は、ストリートビューの画像220とは異なる平面上に提示することができる。場合によっては、水平メタデータパネル240は、平面に平行な(例えば、上または下の)異なる平面内に形成することができる。他の場合、水平メタデータパネル240は、全体的に見られる壁または平面などの、ストリートビューの画像220用の平面に垂直(または、他の何らかの角度)の異なる平面内に形成することができる。実施形態はこの文脈内に限定されない。
【0033】
[0039]メタデータコンポーネント230は、水平メタデータパネル240内のさまざまなタイプのオブジェクトメタデータをストリートビューの画像220内の対応するオブジェクトとおおよそ垂直に位置合せして配置することができる。
図5A、
図5Bを参照してより詳細に記載されるように、この垂直位置合せにより、見る人がオブジェクトメタデータの所与のセットをストリートビューの画像220内の対応するオブジェクトにより迅速に関連付けることが可能になる。
【0034】
[0040]ストリートビューの画像220およびストリートビューの画像220用の水平メタデータパネル240が生成されると、メタデータコンポーネント230は水平メタデータパネル240をストリートビューの画像220と結合して、注釈が付いたストリートビューの画像120を形成することができる。
【0035】
[0041]一実施形態では、メタデータコンポーネント230は、水平メタデータパネル240を生成し、ストリートビューの画像220に隣接して配置することができる。この場合、水平メタデータパネル240の縁部は、縁部がお互いに接することなく、ストリートビューの画像220の縁部の近くになるか、または近接することができる。
【0036】
[0042]一実施形態では、メタデータコンポーネント230は、水平メタデータパネル240を生成し、ストリートビューの画像22に接合するか、または連続して配置することができる。この場合、水平メタデータパネル240の縁部は、ストリートビューの画像220の縁部と実際に接することができる。
【0037】
[0043]一実施形態では、メタデータコンポーネント230は、水平メタデータパネル240を生成し、ストリートビューの画像220と重ねて配置することができる。この場合、水平メタデータパネル240の縁部は、いくらかの距離をとってストリートビューの画像220の縁部の上になるか、またはその逆になることができる。
【0038】
[0044]メタデータコンポーネント230がオブジェクトメタデータを生成し、水平メタデータパネル240内に配置することに加えて、メタデータコンポーネント230は、オブジェクトメタデータをストリートビューの画像220内に配置することもできる。一実施形態では、例えば、メタデータコンポーネント230は、ストリートビューの画像220内のナビゲーション情報を含むオブジェクトメタデータを、ストリートビューの画像220内の対応するオブジェクトに近接して配置することができる。
【0039】
[0045]注釈が付いたストリートビューの画像120は、生成されると、ウェブブラウザーまたはクライアント地図アプリケーションを介してクライアント装置のディスプレイに表示するために、ネットワークを介してクライアント装置に送信することができる。
【0040】
[0046]
図3は分散システム300のブロック図を示す。分散システム300は、地図アプリケーション100用の構造および/または動作の一部を、複数のコンピューターエンティティにわたって分散させることができる。分散システム300の例としては、限定するものではないが、クライアント−サーバーアーキテクチャ、3層アーキテクチャ、N層アーキテクチャ、密結合またはクラスタ化アーキテクチャ、ピアツーピアアーキテクチャ、マスター−スレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散システムが挙げられる。実施形態はこの文脈内に限定されない。
【0041】
[0047]一実施形態では、例えば、分散システム300はクライアント−サーバーシステムとして実装することができる。クライアントシステム310は、ディスプレイ304、ウェブブラウザー306、および通信コンポーネント308を実装することができる。サーバーシステム330は、ストリートレベルコンポーネント110および通信コンポーネント338などの、地図アプリケーション100の一部または全部を実装することができる。
図3に示されたような分散システム300は、ある特定のトポロジー内で限定された数の構成要素を有するが、所与の実装形態に対する要望通りに、分散システム300は代替のトポロジー内でそれより多いか、または少ない構成要素を含む場合があることを理解することができる。
【0042】
[0048]クライアントシステム310は、記載された実施形態に従ってさまざまなクライアント動作を実行する働きをする、1つまたは複数のクライアントコンピューター装置および/またはクライアントプログラムを備えるか、または使用することができる。クライアントシステム310の例としては、限定するものではないが、モバイル装置、携帯情報端末、モバイルコンピューター装置、スマートフォン、携帯電話、ハンドセット、片方向ポケットベル、両方向ポケットベル、メッセージング装置、コンピューター、パーソナルコンピューター(PC)、デスクトップコンピューター、ラップトップコンピューター、ノートブックコンピューター、ハンドヘルドコンピューター、タブレットコンピューター、サーバー、サーバーアレイもしくはサーバーファーム、ウェブサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピューター、メインフレームコンピューター、スーパーコンピューター、ネットワークアプライアンス、ウェブアプライアンス、分散コンピューターシステム、マルチプロセッサーシステム、プロセッサーベースシステム、家庭用電化製品、プログラマブル家庭用電化製品、ゲーム装置、テレビ、デジタルテレビ、セットトップボックス、無線アクセスポイント、基地局、加入者局、モバイル加入者センター、無線ネットワークコントローラー、ルーター、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せが挙げられる。
【0043】
[0049]さまざまな実施形態では、サーバーシステム330は、記載された実施形態に従ってさまざまなサーバー動作を実行する働きをする、1つまたは複数のサーバーコンピューター装置および/またはサーバープログラムを備えるか、または使用することができる。例えば、サーバープログラムは、インストールおよび/または配備されると、ある特定のサービスおよび機能を提供するためのサーバーコンピューター装置の1つまたは複数のサーバーの役割をサポートすることができる。例示的なサーバーシステム330としては、MICROSOFT OS、UNIX(登録商標)OS、LINUX(登録商標)OS、または他の適切なサーバーベースのOSなどのサーバーオペレーティングシステム(OS)を動作させる、例えばスタンドアロンおよび企業規模のサーバーコンピューターが挙げられる。例示的なサーバープログラムとしては、例えば、着信および発信のメッセージを管理するためのMICROSOFT WINDOWS LIVE(登録商標)もしくはMICROSOFT OFFICE通信サーバー(OCS)などの通信サーバープログラム、Eメール、ボイスメール、VoIP、インスタントメッセージング(IM)、グループIM、向上した臨場感、およびオーディオ−ビデオ会議のためのユニファイドメッセージング(UM)を提供するためのMICROSOFT EXCHANGEサーバーなどのメッセージングサーバープログラム、ならびに/または、記載された実施形態に従った他のタイプのプログラム、アプリケーション、もしくはサービスが挙げられる。
【0044】
[0050]クライアントシステム310とサーバーシステム330は、通信信号322を使用する通信媒体320を介してお互いと通信することができる。一実施形態では、例えば、通信媒体は公共または専用のネットワークを含むことができる。一実施形態では、例えば、通信信号322は有線または無線の信号を含むことができる。クライアントシステム310とサーバーシステム330のコンピューターの態様は、
図7を参照してより詳細に記載することができる。分散システム300用の通信の態様は、
図8を参照してより詳細に記載することができる。
【0045】
[0051]分散システム300は、クライアントシステム310が地図アプリケーション100用の入出力装置をどこに実装するかの例を示し、サーバーシステム330は、オンライン地図の動作を実行する地図アプリケーション100を実装する。一実施形態では、例えば、地図アプリケーション100は、ウェブブラウザー306を介してアクセス可能なウェブアプリケーションまたはウェブサービスとして実装することができる。例えば、ユーザーはクライアントシステム310のウェブブラウザー306を利用して、サーバーシステム330によって実装された地図アプリケーション100によって提供された、注釈が付いたストリートビューの画像120を要求し見ることができる。適切なウェブブラウザーの例としては、ごく一部だが、MICROSOFT INTERNET EXPLORER(登録商標)、GOOGLE(登録商標)CHROMEおよびAPPLE(登録商標)SAFARIが挙げられる。サーバーシステム330は、注釈が付いたストリートビューの画像120を通信信号322として通信コンポーネント338から通信媒体320を介してクライアントシステム310の通信コンポーネント308に送信することができる。クライアントシステム310は注釈が付いたストリートビューの画像120を受信し、注釈が付いたストリートビューの画像120をクライアントシステム310のディスプレイ304に提示することができる。
【0046】
[0052]
図4は分散システム400のブロック図を示す。分散システム400は、
図3を参照して記載された分散システム300と同様であり得る。しかしながら、クライアントシステム310は、クライアント地図アプリケーション402をさらに含む。クライアント地図アプリケーション402は、オフラインモードで実行するためのスタンドアロン地図アプリケーションとして、またはオンラインモードで地図アプリケーション100と相互運用するように、または両方の組合せとして設計することができる。例えば、クライアント地図アプリケーション402は、地図アプリケーション100と同様の働きをし、オフラインモードのときはクライアントシステム310に格納された地図情報およびオブジェクトメタデータで地図動作を実行し、オンラインモードのときはサーバーシステム330に格納された地図情報およびオブジェクトメタデータを使用することができる。さらに、またはあるいは、地図アプリケーション100が他の地図動作を実行する間、クライアント地図アプリケーション402は、いくつかの地図動作を実行することができる。例えば、地図アプリケーション100がストリートレベルコンポーネント110を実装し、クライアント地図アプリケーション402は、表示コンポーネント130を実装することができる。
【0047】
[0053]
図5Aは例示的な注釈が付いたストリートビューの画像120Aを示す。
図5Aに示された例示的な実施形態では、注釈が付いたストリートビューの画像120Aは、上部水平メタデータパネル240A、ストリートビューの画像220、および下部水平メタデータパネル240Bを含む、さまざまな部分を備えることができる。
【0048】
[0054]サーバーシステム330の地図アプリケーション100が、ウェブブラウザー306またはクライアント地図アプリケーション402を介して、クライアントシステム310から場所のストリートレベルビューに対する要求を受信したとする。ストリートレベルコンポーネント110のストリートビューコンポーネント210は、データストア232などの地図データベースから場所用の複数のストリートレベルの画像を取り出すことができる。ストリートビューコンポーネント210は、(例えば、ディスプレイ304のサイズに基づいて)いくつかの数のストリートレベルの画像を結合して、ストリートビューの画像220を形成することができる。
【0049】
[0055]ストリートビューの画像220は、ストリートビューの画像220内のさまざまなオブジェクト520−aを含むことができる。例えば、ストリートビューの画像220は、第1の建物520−1、第2の建物520−2、第3の建物520−3、第4の建物520−4、および第5の建物520−5を含むことができる。さらに、ストリートビューの画像220は、第1の道路520−6および第2の道路520−7を含むことができる。図示されたように、道路520−6、520−7は交差する道路である。
【0050】
[0056]本明細書で使用される「a」および「b」および「c」および同様の指名子は、任意の正の整数を表す変数とすることは留意する価値がある。したがって、例えば、実装形態が値をa=5と設定した場合、オブジェクト520−aの完全なセットは、オブジェクト520−1、520−2、520−3、520−4および520−5を含むことができる。実施形態はこの文脈内に限定されない。
【0051】
[0057]ストリートビューの画像220が生成されると、メタデータコンポーネント230は水平メタデータパネル240A、240Bを生成することができる。クライアントシステム310のディスプレイ304などの電子ディスプレイ用の横軸に沿って構築されると、水平メタデータパネル240はストリートビューの画像220の上下に配置することができる。一実施形態では、メタデータコンポーネント230は、ストリートビューの画像220用の上部水平メタデータパネル240Aを生成することができる。上部水平メタデータパネル240Aは、ストリートビューの画像220の上部の上に配置することができる。一実施形態では、メタデータコンポーネント230は、ストリートビューの画像220用の下部水平メタデータパネル240Bを生成することができる。下部水平メタデータパネル240Bは、ストリートビューの画像220の下部の下に配置することができる。
【0052】
[0058]メタデータコンポーネント230は、ストリートビューの画像220内に含まれた、さまざまなオブジェクト520−aに対応するさまざまなタイプのオブジェクトメタデータ510−b、530−cをもつ水平メタデータパネル240A、240Bを生成することができる。例えば、上部水平メタデータパネル240Aは、建物520−1、520−2、520−3、520−4および520−5にそれぞれ対応する道路番号「900」、「902」、「904」、「906」および「908」を含む、さまざまなオブジェクトメタデータ510−1から510−5を含むことができる。さらに、下部水平メタデータパネル240Bは、さまざまなオブジェクト520−aに位置する企業用などの企業情報を含む、さまざまなオブジェクトメタデータ530−1、530−2を含むことができる。例えば、下部水平メタデータパネル240Bは、建物520−1に位置する商号「Joe’s Coffee Shop」を含むオブジェクトメタデータ530−1、ならびに、建物520−3にすべて位置する商号「Lyne’s Interiors」、「Smith & Black」および「Seattle Times」を含むオブジェクトメタデータ530−2、530−3および530−4を含むことができる。
【0053】
[0059]メタデータコンポーネント230は、水平メタデータパネル240A、240Bの中のさまざまなタイプのオブジェクトメタデータを、ストリートビューの画像220内の対応するオブジェクト520−aと、軸502−dに沿っておおよそ垂直に位置合せして配置することができる。この垂直位置合せにより、見る人がオブジェクトメタデータ510−b、530−cの所与のセットをストリートビューの画像220内の対応するオブジェクト520−aとより迅速に関連付けることが可能になる。例えば、メタデータコンポーネント230は、それぞれ縦軸502−1、502−2、502−3、502−4および502−5に沿って、オブジェクトメタデータ510−1、510−2、510−3、510−4および510−5を配置することができる。見る人は、水平方向にストリートビューの画像220の他の部分を横切ってスキャンする必要なしに、容易に縦軸502−1に沿ってオブジェクトメタデータ510−1から下にスキャンして垂直方向に対応する520−1を見つけることができるので、この縦軸502−1に沿った垂直位置合せにより、見る人が上部水平メタデータパネル240A内の「900」のオブジェクトメタデータ510−1をストリートビューの画像220内の建物520−1とより迅速に関連付けることが可能になる。同様に、見る人は、水平方向にストリートビューの画像220の他の部分を横切ってスキャンする必要なしに、容易に縦軸502−1に沿ってオブジェクトメタデータ530−1から上にスキャンして垂直方向に対応する520−1を見つけることができるので、縦軸502−1に沿った垂直位置合せにより、見る人が下部水平メタデータパネル240B内の「Joe’s Coffee Shop」のオブジェクトメタデータ530−1をストリートビューの画像220内の建物520−1とより迅速に関連付けることが可能になる。
【0054】
[0060]
図5Bは例示的な注釈が付いたストリートビューの画像120Bを示す。
図5Aを参照して記載された注釈が付いたストリートビューの画像120Aと同様に、注釈が付いたストリートビューの画像120Bは、上部水平メタデータパネル240A、ストリートビューの画像220、および下部水平メタデータパネル240Bを含む、さまざまな部分を備えることができる。しかしながら、注釈が付いたストリートビューの画像120Aは、それぞれ水平メタデータパネル240A、240Bの中だけに提示されたオブジェクトメタデータ510−b、530−cを示すが、注釈が付いたストリートビューの画像120Bは、ある特定のオブジェクト520−a用のオブジェクトメタデータ540−eもストリートビューの画像120Bに提示された場合を示す。例えば、ストリートビューの画像220は、道路520−6および520−7にそれぞれ対応する道路名「道路1」および「道路2」を備える、さまざまなオブジェクトメタデータ540−1〜540−2を含むことができる。オブジェクトメタデータ540−1、540−2は、ストリートビューの画像220に直接重ねられたバルーン、ホバリングディスプレイボックス、または標識のようなユーザーインターフェイス構成要素を介して、道路520−6、520−7についてより詳細な情報を提供することができる。さらに、オブジェクトメタデータ540−1、540−2は、道路520−6、520−7と整列する3Dの透視画を使用して提示され、交差する道路520−6、520−7のさまざまな注釈が付いたストリートビューの画像120Bの間をナビゲートするとき、見る人がより迅速に自分自身を順応させることを可能にすることができる。例えば、アニメーションは、交差する道路520−6、520−7の間の見る人のナビゲーションに応じて、道路520−6の水平ビューを表示する第1の注釈が付いたストリートビューの画像120Bから道路520−7の水平ビューを表示する第2の注釈が付いたストリートビューの画像120Bへの遷移中使用することができる。アニメーションは、オブジェクトメタデータ540−1、540−2用の同じ3Dの透視画位置を利用し、見る人が道路520−6から道路520−7にナビゲートするにつれて、遷移中の表示の連続性を可能にしながら、3Dの透視画位置を滑らかに切り換えることができる。
【0055】
[0061]上記の実施形態についての動作は、1つまたは複数の論理フローを参照してさらに記載することができる。別段の指示がない限り、代表的な論理フローは必ずしも提示された順序または特定の順序で実行される必要はないことを理解することができる。さらに、論理フローに関して記載されたさまざまな動作は、シリアルまたはパラレルな方式で実行することができる。論理フローは、設計および性能の制約の所与のセットに対する要望通りに、記載された実施形態の1つもしくは複数のハードウェア構成要素および/もしくはソフトウェア構成要素、または代替の構成要素を使用して実装することができる。例えば、論理フローは、論理装置(例えば、汎用または専用のコンピューター)による実行用のロジック(例えば、コンピュータープログラム命令)として実装することができる。
【0056】
[0062]
図6は論理フロー600の一実施形態を示す。論理フロー600は、例えば地図アプリケーション100のストリートレベルコンポーネント110などの、本明細書に記載された1つまたは複数の実施形態によって実行される動作の一部または全部を代表することができる。
【0057】
[0063]
図6に示された例示的な実施形態では、論理フロー600は、ブロック602で、地図アプリケーション用のストリートビューの画像を生成することができる。例えば、ストリートビューコンポーネント210は、地図アプリケーション100用のストリートビューの画像220を生成することができる。ストリートビューの画像220は、単一で均一な画像に一緒に結合された一組のストリートレベルの画像を含むことができる。個別のストリートビューの画像は、それぞれデジタルカメラまたはデジタルビデオカメラによって取り込まれた道路520−6、520−7などの道路の一部のデジタル画像を含むことができる。
【0058】
[0064]論理フロー600は、ブロック604で、ストリートビューの画像用の水平メタデータパネルを生成することができる。例えば、メタデータコンポーネント230は、ストリートビューの画像220用の水平メタデータパネル240A、240Bのうちの一方または両方を生成することができる。水平メタデータパネル240A、240Bは、ストリートビューの画像220の上下に配置することができる。水平メタデータパネル240A、240Bは、それぞれストリートビューの画像220の縁部に隣接する、連続する、または重なる縁部を有することができる。水平メタデータパネル240A、240Bは、それぞれストリートビューの画像220およびディスプレイ304の利用可能な表示領域のサイズ、形、または幾何形状に一致する、異なるサイズ、形、または幾何形状を有することができる。
【0059】
[0065]論理フロー600は、ブロック606で、ストリートビューの画像内に表示されたオブジェクト用のオブジェクトメタデータを取り出すことができる。例えば、メタデータコンポーネント230は、ストリートビューの画像220内に示されたさまざまなオブジェクト520−a用のオブジェクトメタデータ510−b、530−cおよび/または540−eをデータストア232から取り出すことができる。データストア232は、ローカルデータストアまたはリモートデータストアとして実装することができる。オブジェクトメタデータ510−b、530−cおよび/または540−eは、対応するオブジェクト520−aに関連する、またはそれを記述する任意のタイプの情報を含むことができる。さらに、オブジェクトメタデータ510−b、530−cおよび/または540−eは、オブジェクトメタデータ510−b、530−cおよび/または540−eに関係する別の情報を取り出すように構成された、ハイパーリンクまたは他のポインターを含むことができる。
【0060】
[0066]論理フロー600は、ブロック608で、水平メタデータパネル内のオブジェクトメタデータを、ストリートビューの画像内の対応するオブジェクトとおおよそ垂直に位置合せして配置することができる。例えば、メタデータコンポーネント230は、水平メタデータパネル240A、240B内のさまざまなオブジェクト520−a用のオブジェクトメタデータ510−b、530−cおよび/または540−eを、さまざまな軸502−dに沿ってストリートビューの画像220内の対応するオブジェクト520−aとおおよそ垂直に位置合せして配置することができる。
【0061】
[0067]論理フロー600は、ブロック610で、ストリートビューの画像と水平メタデータパネルを結合して、注釈が付いたストリートビューの画像を形成することができる。例えば、メタデータコンポーネント230は、ストリートビューの画像220と水平メタデータパネル240A、240Bを結合して、注釈が付いたストリートビューの画像120を形成することができる。表示コンポーネント130は、注釈が付いたストリートビューの画像120をディスプレイ304に提示することができる。
【0062】
[0068]
図7は、これまで記載されたさまざまな実施形態を実装するのに適した、例示的なコンピューターアーキテクチャ700の実施形態を示す。コンピューターアーキテクチャ700は、1つまたは複数のプロセッサー、コプロセッサー、メモリー装置、チップセット、コントローラー、周辺装置、インターフェイス、発振器、時限装置、ビデオカード、オーディオカード、マルチメディア入出力(I/O)コンポーネント、などのさまざまな一般のコンピューター構成要素を含む。しかしながら、実施形態はコンピューターアーキテクチャ700による実装に限定されない。
【0063】
[0069]
図7に示されたように、コンピューターアーキテクチャ700は、処理装置704、システムメモリー706、およびシステムバス708を備える。処理装置704はさまざまな市販のプロセッサーのうちのいずれでもあり得る。デュアルマイクロプロセッサーおよび他のマルチプロセッサーアーキテクチャも、処理装置704として使用することができる。システムバス708は、システムメモリー706を含むがそれに限定されないシステムコンポーネント用のインターフェイスを処理装置704に提供する。システムバス708は、さらに、(メモリーコントローラーの有無にかかわらず)メモリーバスに、周辺装置バスに、および任意のさまざまな市販のバスアーキテクチャを使用するローカルバスに、相互接続できるいくつかのタイプのバス構造のいずれでもあり得る。
【0064】
[0070]システムメモリー706としては、リードオンリーメモリー(ROM)、ランダムアクセスメモリー(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリー、強誘電性ポリマーメモリーなどのポリマーメモリー、オーボニックメモリー、相変化もしくは強誘電性メモリー、シリコン−オキシド−ニトリド−オキシド−シリコン(SONOS)メモリー、磁気もしくは光カード、または情報を格納するのに適したその他のタイプの媒体、などのさまざまなタイプのメモリー装置が挙げられる。
図7に示された例示的な実施形態では、システムメモリー706は、不揮発性メモリー710および/または揮発性メモリー712を含むことができる。基本入出力システム(BIOS)は不揮発性メモリー710に格納することができる。
【0065】
[0071]コンピューター702は、内部ハードディスクドライブ(HDD)714、リム−バル磁気ディスク718を読み書きする磁気フロッピー(登録商標)ディスクドライブ(FDD)716、およびリム−バル光ディスク722(例えば、CD−ROMまたはDVD)を読み書きする光ディスクドライブ720を含む、さまざまなタイプのコンピューター可読記憶媒体を含むことができる。HDD714、FDD716および光ディスクドライブ720は、それぞれHDDインターフェイス724、FDDインターフェイス726および光ドライブインターフェイス728により、システムバス708に接続することができる。外部ドライブ実装用のHDDインターフェイス724は、汎用シリアルバス(USB)インターフェイス技術とIEEE1394インターフェイス技術のうちの少なくとも1つまたは両方を含むことができる。
【0066】
[0072]ドライブおよび関連するコンピューター可読媒体は、データ、データ構造、コンピューター実行可能命令などの、揮発性および/または不揮発性の記憶装置を提供する。例えば、オペレーティングシステム730、1つまたは複数のアプリケーションプログラム732、他のプログラムモジュール734、およびプログラムデータ736を含む、いくつかのプログラムモジュールは、ドライブおよびメモリー装置710、712に格納することができる。1つまたは複数のアプリケーションプログラム732、他のプログラムモジュール734、およびプログラムデータ736は、例えば、地図アプリケーション100、ストリートレベルコンポーネント110、注釈が付いたストリートビューの画像120、表示コンポーネント130、ストリートビューコンポーネント210、ストリートビューの画像220、メタデータコンポーネント230、および水平メタデータパネル240を含むことができる。
【0067】
[0073]ユーザーは、1つまたは複数の有線/無線入力装置、例えばキーボード738、およびマウス740などのポインティング装置を介して、コマンドおよび情報をコンピューター702に入力することができる。他の入力装置としては、マイクロフォン、赤外線(IR)リモートコントロール、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、などが挙げられる。上記その他の入力装置は、しばしば、システムバス708に結合された入力装置インターフェイス742を介して、処理装置704に接続されるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェイス、などの他のインターフェイスによって接続することができる。
【0068】
[0074]モニター744または他のタイプのディスプレイ装置も、ビデオアダプター746などのインターフェイスを介してシステムバス708に接続される。モニター744に加えて、コンピューターは、通常、スピーカー、プリンター、などの他の周辺出力装置を含む。
【0069】
[0075]コンピューター702は、リモートコンピューター748などの1つまたは複数のリモートコンピューターへの有線および/または無線の通信を介した論理接続を使用するネットワーク化された環境で動作することができる。リモートコンピューター748は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、ポータブルコンピューター、マイクロプロセッサーベースの娯楽アプライアンス、ピア装置、または他の一般のネットワークノードである可能性があり、簡略にするためにメモリー/記憶装置750だけが示されるが、コンピューター702に対して記載された構成要素の多くまたはすべてを含む。描写された論理接続は、ローカルエリアネットワーク(LAN)752および/またはより大きなネットワーク、例えばワイドエリアネットワーク(WAN)754への有線/無線接続を含む。そのようなLANとWANのネットワーク環境は、オフィスおよび会社ではありふれており、イントラネットなどの企業規模のコンピューターネットワークを容易にし、それらのすべてはグローバル通信ネットワーク、例えばインターネットに接続することができる。
【0070】
[0076]LANネットワーク環境において使用される場合、コンピューター702は、有線および/または無線の通信ネットワークインターフェイスまたはアダプター756を介して、LAN752に接続される。アダプター756はLAN752への有線および/または無線の通信を容易にすることができ、LAN752は、アダプター756の無線機能と通信するためにその上に配置された無線アクセスポイントも含むことができる。
【0071】
[0077]WANネットワーク環境において使用される場合、コンピューター702はモデム758を含むことができるか、またはWAN754上の通信サーバーに接続されるか、またはインターネット経由などのWAN754を介して通信を確立するための他の手段を有する。内部または外部ならびに有線および/または無線の装置であり得るモデム758は、入力装置インターフェイス742を介してシステムバス708に接続する。ネットワーク化された環境では、コンピューター702またはその一部に対して描写されたプログラムモジュールは、リモートのメモリー/記憶装置750に格納することができる。図示されたネットワーク接続は例示的であり、コンピューター間の通信リンクを確立する他の手段を使用できることが理解されよう。
【0072】
[0078]コンピューター702は、IEEE802ファミリー規格を使用して、例えば、プリンター、スキャナー、デスクトップおよび/またはポータブルのコンピューター、携帯情報端末(PDA)、通信衛星、無線で検出可能なタグに関連付けられた機器または場所(例えば、キオスク、ニューススタンド、トイレ)の任意の部分、ならびに電話との無線通信(例えば、IEEE802.11無線変調技法)内に動作可能なように配置された無線装置などの、有線および無線の装置またはエンティティと通信する働きをする。これは、少なくともWi−Fi(すなわちワイヤレスフィディリティ)、WiMax、およびBluetooth(商標)の無線技術を含む。したがって、通信は、従来のネットワークと同様の既定の構造であるか、または単に少なくとも2つの装置間のアドホック通信であり得る。Wi−Fiネットワークは、IEEE802.11x(a、b、gなど)と呼ばれる無線技術を使用して、安全で、信頼性のある、高速の無線接続を提供する。Wi−Fiネットワークは、コンピューターをお互いに、インターネットに、ならびに(IEEE802.3関連の媒体および機能を使用する)有線ネットワークに接続するために使用することができる。
【0073】
[0079]
図8は、これまで記載されたさまざまな実施形態を実装するのに適した、例示的な通信アーキテクチャ800のブロック図を示す。通信アーキテクチャ800は、送信機、受信機、トランシーバー、無線機、ネットワークインターフェイス、ベースバンドプロセッサー、アンテナ、増幅器、フィルター、などのさまざまな一般の通信構成要素を含む。しかしながら、実施形態は通信アーキテクチャ800による実装に限定されない。
【0074】
[0080]
図8に示されたように、通信アーキテクチャ800は、1つまたは複数のクライアント802とサーバー804を備える。クライアント802はクライアントシステム310、400を実装することができる。サーバー804はサーバーシステム330を実装することができる。クライアント802とサーバー804は、クッキーおよび/または関連する文脈情報などの、それぞれのクライアント802とサーバー804に位置する情報を格納するために使用できる、1つまたは複数のそれぞれのクライアントデータストア808とサーバーデータストア810に動作可能なように接続される。
【0075】
[0081]クライアント802とサーバー804は、通信フレームワーク806を使用して、お互いの間で情報を通信することができる。通信フレームワーク806は、パケット交換ネットワーク(例えば、インターネットなどの公共ネットワーク、企業イントラネットなどの専用ネットワーク、など)、回線交換ネットワーク(例えば、公衆交換電話網)、または(適切なゲートウェイおよびトランスレーターをもつ)パケット交換ネットワークと回線交換ネットワークの組合せで使用するのに適した技法などの、任意のよく知られている通信技法を実装することができる。クライアント802とサーバー804は、1つまたは複数の通信インターフェイス、ネットワークインターフェイス、ネットワークインターフェイスカード(NIC)、無線機、無線送受信機(トランシーバー)、有線および/または無線の通信媒体、物理的なコネクター、などの通信フレームワーク806と相互運用可能なように設計されたさまざまなタイプの標準通信構成要素を含むことができる。例として、かつ限定なしに、通信媒体は有線通信媒体および無線通信媒体を含む。有線通信媒体の例としては、ワイヤー、ケーブル、金属鉛、プリント基板(PCB)、バックプレーン、スイッチファブリック、半導体素材、ツイストペア線、同軸ケーブル、光ファイバー、伝搬信号、などが挙げられる。無線通信媒体の例としては、音響、無線周波(RF)スペクトル、赤外線、および他の無線媒体が挙げられる。クライアント802とサーバー804の間の1つの実現可能な通信は、2つ以上のコンピュータープロセス間で伝送されるように適合されたデータパケットの形態であり得る。データパケットは、例えば、クッキーおよび/または関連する文脈情報を含むことができる。
【0076】
[0082]さまざまな実施形態は、ハードウェア構成要素、ソフトウェア構成要素、または両方の組合せを使用して実装することができる。ハードウェア構成要素の例としては、装置、コンポーネント、プロセッサー、マイクロプロセッサー、回路、回路素子(例えば、トランジスタ、抵抗器、コンデンサー、インダクター、など)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル論理装置(PLD)、デジタルシグナルプロセッサー(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリー装置、論理ゲート、レジスター、半導体装置、チップ、マイクロチップ、チップセット、などが挙げられる。ソフトウェア構成要素の例としては、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインターフェイス、アプリケーションプログラムインターフェイス(API)、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、語、値、符号、またはそれらの任意の組合せが挙げられる。実施形態がハードウェア構成要素および/またはソフトウェア構成要素を使用して実装されるかどうかの判定は、所与の実装形態に対する要望通りに、所望の計算レート、電力レベル、熱許容値、処理サイクル割り当て量、入力データレート、出力データレート、メモリー資源、データバス速度、および他の設計または性能の制約などの任意の数の因子に従って変わる場合がある。
【0077】
[0083]いくつかの実施形態は製造品を備えることができる。製造品はロジックを格納するように構成されたコンピューター可読記憶媒体を備えることができる。コンピューター可読記憶媒体の例としては、揮発性メモリーまたは不揮発性メモリー、リムーバブルまたは非リムーバブルなメモリー、消去可能または消去不可なメモリー、書込可能または再書込可能なメモリー、などを含む、電子データを格納できる任意の記憶媒体が挙げられる。ロジックの例としては、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインターフェイス、アプリケーションプログラムインターフェイス(API)、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、語、値、符号、またはそれらの任意の組合せなどの、さまざまなソフトウェア構成要素が挙げられる。一実施形態では、例えば、製造品は、コンピューターによって実行されると記載された実施形態に従ってコンピューターに方法および/または動作を実行させる、実行可能コンピュータープログラム命令を格納することができる。実行可能コンピュータープログラム命令としては、ソースコード、コンパイルされたコード、解釈されたコード、実行可能コード、静的コード、動的コード、などの任意の適切なタイプのコードが挙げられる。実行可能コンピュータープログラム命令は、コンピューターに特定の機能を実行するように指示するために、既定のコンピューターの言語、方式、または構文に従って実装することができる。命令は、任意の適切な高水準、低水準、オブジェクト指向、ビジュアル、コンパイル型、および/またはインタープリター型のプログラミング言語を使用して実装することができる。
【0078】
[0084]いくつかの実施形態は、表現「一実施形態」または「実施形態」をそれらの派生語とともに使用して記載される場合がある。これらの用語は、実施形態に関連して記載された特定の特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。明細書内のさまざまな箇所におけるフレーズ「一実施形態では」の出現は、必ずしもすべて同じ実施形態を参照していない。
【0079】
[0085]いくつかの実施形態は、表現「結合された」および「接続された」をそれらの派生語とともに使用して記載される場合がある。これらの用語は、必ずしもお互いに対して同意語として意図されていない。例えば、いくつかの実施形態は、用語「接続された」および/または「結合された」を使用して、2つ以上の構成要素がお互いと物理的または電気的に直接接していることを示すために記載される場合がある。しかしながら、用語「結合された」は、2つ以上の構成要素がお互いと直接接していないが、依然お互いと協働または相互作用していることを示す場合もある。
【0080】
[0086]本開示の要約は、読者が技術的な開示の本質を迅速に把握することを可能にする要約を必要とする、米国特許法施行規則第1.72(b)節に準拠するために提供されることが強調される。それは、特許請求の範囲の範囲または意味を解釈または限定するためには使用されないことを理解して提出される。加えて、前述の発明を実施するための形態では、本開示を簡素化する目的で、さまざまな特徴が単一の実施形態にまとめられたことを理解することができる。この開示方法は、特許請求された実施形態が各請求項において明確に列記された特徴より多くの特徴を必要とすることを強調するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、本発明の主題は、単一の開示された実施形態のすべての特徴より少ない。したがって、以下の特許請求の範囲は、これにより発明を実施するための形態に組み込まれ、各請求項は別個の実施形態としてそれ自体に依存する。添付の特許請求の範囲では、用語「including」および「in which」が、それぞれの用語「comprising」および「wherein」の平易な英語の同義語としてそれぞれ使用される。さらに、用語「第1」、「第2」、「第3」、などは単なるラベルとして使用され、それらの対象に数字的な要件を課すものではない。
【0081】
[0087]構造的な特徴および/または方法論的な動作に特有の言語で主題が記載されたが、添付の特許請求の範囲で規定された主題は、必ずしも上述の特定の特徴または動作に限定されないことを理解すべきである。むしろ、上述の特定の特徴および動作は、特許請求の範囲を実装する例の形態で開示される。