(57)【要約】本出願は、経路を網羅する地域に対応する地図データタイルを選択することによって、利用可能な全体の地図データの選択された部分として地図データを取り出すための技術を記載する。アクセスされる地図データの量は、経路に沿う地域または地点に割り当てられる優先度に基づいて調整され得る。地図データの順序は、地図データの組に割り当てられる優先度に基づいてアクセスされ得る。【選択図】図１
2015508521.tif 000002
【特許請求の範囲】
【請求項１】
地図作成アプリケーションのための地図データを先読みするための、コンピュータで実装される方法であって、
コンピュータを使用して、経路を生成するために第１の経路選定機能を起動することであって、前記経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって画定される、第１の経路選定機能を起動することと、
前記コンピュータを使用して、前記起点に関連付けられる第１のタイル半径であって、前記起点の周りおよびそれを含む地図表面積に対応する、第１の組の地図データタイルを画定する、第１のタイル半径を決定することと、
前記コンピュータを使用して、前記目的地に関連付けられる第２のタイル半径であって、前記目的地の周りおよびそれを含む地図表面積に対応する、第２の組の地図データタイルを画定する、第２のタイル半径を決定することと、
前記コンピュータを使用して、前記起点と前記目的地との間の前記経路に沿う１組の地点と、前記１組の地点のための第１の組の地図タイル半径とを決定することであって、前記第１の組の地図タイル半径は、前記経路の周りおよびそれを含む地図表面積に対応する、第３の組の地図データタイルを画定し、前記第１のタイル半径、前記第２のタイル半径、および前記第１の組の地図タイル半径のうちの１つのうちの少なくとも１つが、互いに異なる、１組の地点と、前記１組の地点のための第１の組の地図タイル半径とを決定することと、
前記経路に対応する前記第１、前記第２、および前記第３の地図データタイルを格納する地図データベースにアクセスすることであって、前記地図データベースが、複数の地図データタイルを格納し、前記第１、前記第２、および前記第３の組の地図データタイルが、前記地図データベースの前記複数の地図データタイルの部分を含む、アクセスすることと、
前記第１、前記第２、および前記第３の組の地図データタイルのうちの少なくとも１つを、それぞれ第１、第２、および第３の組の先読み地図データタイルとして、ローカルメモリに格納することであって、前記ローカルメモリは、前記地図データベースと異なる、格納することと、
前記地図データベースの地図データタイルではなく、前記ローカルメモリの前記１組の先読み地図データタイルを使用して、前記経路を表示するためにレンダリング機能を起動することと、を含む、コンピュータで実装される方法。
【請求項２】
前記第１の組の地図タイル半径のうちの各々が、前記起点および目的地により近接する前記経路に沿う地点が、前記起点および目的地からさらに離れた前記経路に沿う地点より短い半径を有するように、決定される、請求項１に記載のコンピュータで実装される方法。
【請求項３】
前記経路に沿う前記１組の地点のうちの１つが、高い優先度の前記経路上の場所に対応し、前記高い優先度の前記地点に対応する地図タイル半径が、低い優先度の地点より大きい、請求項１に記載のコンピュータで実装される方法。
【請求項４】
前記第１、第２、および前記第１の組の地図タイル半径のうちの各々を決定することが、クライアントデバイスの割り当てられたメモリサイズに基づく、請求項１に記載のコンピュータで実装される方法。
【請求項５】
前記コンピュータを使用して、前記地図データベース内の１つ以上のズーム段階を識別することをさらに含み、前記地図データベースが異なるズーム段階で前記地図データを格納し、各ズーム段階がそれぞれ１組の地図データタイルを含み、
前記第１のタイル半径、前記第２のタイル半径、および前記第１の組の地図タイル半径のうちの各１つを決定することが、第１のズーム段階の前記第１のタイル半径、前記第２のタイル半径、および前記第１の組の地図タイル半径のうちの各１つを決定することを含む、請求項１に記載のコンピュータで実装される方法。
【請求項６】
前記起点および目的地のそれぞれの周りおよびそれらを含む、第３のタイル半径および第４のタイル半径であって、前記起点および目的地のそれぞれの周りの地図表面積に対応する、第２のより高いズーム段階で、第４の組の地図データタイルを画定する、第３のタイル半径および第４のタイル半径を決定することと、
前記地図データベースから、前記起点および目的地に対応する前記第２のより高いズーム段階の前記第４の組の地図データタイルにアクセスすることと、
前記第４の組の地図データタイルを第４の組の先読み地図データタイルとして前記ローカルメモリに格納することであって、第２のレンダリング機能を起動することが、前記第４の組の先読み地図データタイルを使用する、格納することと、をさらに含む、請求項５に記載のコンピュータで実装される方法。
【請求項７】
前記起点と目的地との間の前記経路に沿う１組の地点と関連付けられる第２の組の地図タイル半径であって、前記起点と目的地との間の前記経路の周りの地図表面積に対応する、第２のより高いズーム段階の第５の組の地図データタイルを画定する、第２の組の地図タイル半径を決定することと、
地図データベースから、前記起点と目的地との間の前記経路の周りの面積に対応する前記第２のより高いズーム段階の前記第５の組の地図データタイルにアクセスすることと、
前記第５の組の地図データタイルを第５の組の先読み地図データタイルとして前記ローカルメモリに格納することであって、前記第２のレンダリング機能を起動することが、前記第５の組の先読み地図データタイルを使用する、格納することと、をさらに含む、請求項６に記載のコンピュータで実装される方法。
【請求項８】
閲覧ウィンドウが、前記第１のタイル半径、前記第２のタイル半径、または前記第１の組の地図タイル半径のうちの１つのうちの１つ上に中心付けられるとき、前記第１のタイル半径、前記第２のタイル半径、および前記第１の組の地図タイル半径のうちの１つのうちの少なくとも１つが、より大きいことを決定することをさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項９】
前記閲覧ウィンドウの中央が、高い優先度を有する前記経路に沿う地点の閾値距離内に位置付けられるとき、２つの異なるズーム段階の地図データに前記地図データベースからアクセスすることと、前記２つの異なるズーム段階の前記地図データを先読み多ズームデータとして前記ローカルメモリに格納することであって、前記第２のレンダリング機能を起動することが、前記先読み多ズームデータを使用する、請求項１に記載のコンピュータで実装される方法。
【請求項１０】
前記コンピュータを使用し、前記経路に沿わない対象となる地点と関連付けられる第４のタイル半径であって、高い優先度の前記経路に沿わない場所に対応する第４の組の地図データタイルを画定する、第４のタイル半径を決定することと、前記第４の組の地図データタイルに前記地図データベースからアクセスすることと、前記第４の組の地図データタイルを第４の組の先読み地図データタイルとして前記ローカルメモリに格納することと、をさらに含み、前記第２のレンダリング機能を起動することが、前記第４の組の先読み地図データタイルを使用する、請求項１に記載のコンピュータで実装される方法。
【請求項１１】
前記第１のタイル半径、前記第２のタイル半径、および前記第１の組の地図タイル半径が、前記クライアントデバイスの帯域幅が閾値未満である場合、前記帯域幅が前記閾値を超える場合より小さくなるように、また前記クライアントデバイスのプロセッサ負荷が閾値を超える場合、前記プロセッサ負荷が前記閾値未満である場合より小さくなるように、決定することをさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項１２】
コンピュータデバイスであって、
通信ネットワークインターフェースと、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに連結される１つ以上のメモリと、
前記１つ以上のプロセッサに連結される表示デバイスと、を備え、
前記１つ以上のメモリは、その中に格納された、コンピュータで実行可能な命令を含み、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
コンピュータを使用して、第１の経路を生成するために第１の経路選定機能を起動することであって、前記第１の経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって画定される、第１の経路選定機能を起動することと、
前記起点と前記目的地とを含む前記経路に沿う１組の地点と関連付けられる第１の組の地図タイル半径であって、第１の組の地図タイル半径が、前記経路の周りおよびそれを含む地図表面積に対応する、第１の組の地図データタイルを画定する、第１の組の地図タイル半径を決定することと、
前記経路に対応する前記第１の組の地図データタイルに、地図データベースから、アクセスすることであって、前記地図データベースが、複数の地図データタイルとして前記地図データを格納し、前記第１の組の地図データタイルが、前記地図データベースの前記複数の地図データタイルの部分を含む、アクセスすることと、
前記第１の組の地図データタイルを、第１の組の先読み地図データタイルとしてローカルメモリに格納することであって、前記ローカルメモリは、前記地図データベースと異なる、格納することと、
前記地図データベースの地図データタイルではなく、前記ローカルメモリの前記１組の先読み地図データタイルを使用して、前記第１の経路を表示するためにレンダリング機能を起動することと、を行わせる、コンピュータデバイス。
【請求項１３】
前記全体の経路を完全に網羅し、第１のズーム段階の単一の閲覧ウィンドウ内に表示可能である面積に対応するように第１のズーム段階の前記第１の組の先読み地図データタイルを決定するように、命令をさらに含む、請求項１２に記載のコンピュータデバイス。
【請求項１４】
高い優先度を有する前記経路に沿う１組の地点と関連付けられる第２の組の地図タイル半径を決定することであって、前記第２の組の地図タイル半径が前記優先度の地点の周りの第２のより高いズーム段階の地図表面積に対応する第２の組の地図データタイルを画定する、決定することと、
前記経路に対応する前記第２の組の地図データタイルに、前記地図データベースから、アクセスすることであって、前記地図データベースが、複数の地図データタイルとして前記地図データを格納し、前記第１の組の地図データタイルが、前記地図データベースの前記複数の地図データタイルの部分を含む、アクセスすることと、
前記第１の組の地図データタイルを第２の組の先読み地図データタイルとして前記ローカルメモリに格納することであって、前記レンダリング機能を起動することが、前記地図データベースの地図データタイルではなく、前記第２の組の先読み地図データタイルを使用する、格納することと、を行う命令をさらに含む、請求項１２に記載のコンピュータデバイス。
【請求項１５】
起点、目的地、および第２の経路の前記起点と前記目的地とをつなぐ１組の通り道を含む前記第２の経路を生成することと、
前記第２の経路の前記起点と前記目的地とを含む前記第２の経路に沿う１組の地点と関連付けられる第２の組の地図タイル半径であって、第２の組の地図タイル半径が、前記第２の経路の周りおよびそれを含む地図表面積に対応する、第２の組の地図データタイルを画定する、第２の組の地図タイル半径を決定することと、
前記第２の経路に対応する前記第２の組の地図データタイルに、地図データベースから、アクセスすることであって、前記地図データベースが、複数の地図データタイルとして前記地図データを格納し、前記第２の組の地図データタイルが、前記地図データベースの前記複数の地図データタイルの部分を含む、アクセスすることと、
前記第２の組の地図データタイルを、第２の組の先読み地図データタイルとしてローカルメモリに格納することであって、前記レンダリング機能を起動することが、前記地図データベースの地図データタイルではなく、前記第２の組の先読み地図データタイルを使用する、格納することと、を行う第２の経路選定機能をさらに含む、請求項１２に記載のコンピュータデバイス。
【請求項１６】
前記第２の経路が、前記第１の経路の戻り経路であって、前記第１の経路の前記起点が、前記第２の経路の前記目的地であり、前記第１の経路の前記目的地が前記第２の経路の前記起点である、請求項１５に記載のコンピュータデバイス。
【請求項１７】
前記第２の経路の前記起点が、前記第１の経路に沿い、前記第２の経路の前記目的地が、前記第１の経路の近接内の対象となる地点である、請求項１５に記載のコンピュータデバイス。
【請求項１８】
コンピュータデバイスであって、
通信ネットワークインターフェースと、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに連結される１つ以上のメモリと、
前記１つ以上のプロセッサに連結される表示デバイスと、を備え、
前記１つ以上のメモリは、その中に格納された、コンピュータで実行可能な命令を含み、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
コンピュータを使用して、第１の経路を生成するために第１の経路選定機能を起動することであって、前記第１の経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって画定される、第１の経路選定機能を起動することと、
前記起点の周りおよびそれを含む地図表面積に対応する、第１の組の地図データタイル、前記目的地の周りおよびそれを含む地図表面積に対応する、第２の組の地図データタイル、前記起点と前記目的地との間の前記経路の周りの地図表面積に対応する、第３の組の地図データタイルを、決定することと、
前記経路に対応する前記第１、前記第２、および前記第３の組の地図データタイルに、地図データベースから、アクセスすることであって、前記地図データベースが、複数の地図データタイルとして前記地図データを格納し、前記第１、第２、および前記第３の組の地図データタイルが、前記地図データベースの前記複数の地図データタイルの部分を含む、アクセスすることと、
前記第１の組、前記第２の組、および前記第３の組の地図データタイルを、それぞれ第１、第２、および第３の組の先読み地図データタイルとして、ローカルメモリに格納することであって、前記ローカルメモリは、前記地図データベースと異なる、格納することと、
前記地図データベースの地図データタイルではなく、前記ローカルメモリの前記１組の先読み地図データタイルを使用して、前記第１の経路を表示するためにレンダリング機能を起動することと、を行わせる、コンピュータデバイス。
【請求項１９】
前記地図データベースから、前記コンピュータデバイスとサーバとの間の現在の通信の帯域幅に基づいて、地図データタイルの前記第１の組、前記第２の組、および前記第３の組の地図データタイルに順序立ててアクセスするための命令をさらに含む、請求項１８に記載のコンピュータデバイス。
【請求項２０】
前記コンピュータデバイスとサーバとの間の現在の通信の帯域幅に基づいて、前記地図データベースからアクセスする前記第１、前記第２、および前記第３の組の地図データタイルの量を決定するための命令をさらに含む、請求項１８に記載のコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子地図表示システム等の地図レンダリングシステムに関し、より具体的には、地図データの遠隔データベースからの先読みのための方法およびシステムに関する。
【背景技術】
【０００２】
携帯電話、携帯情報端末、タブレットパソコン等のモバイルデバイスの広範囲に及ぶ使用とともに、さまざまな種類のデータへの敏速なアクセスに対する消費者需要は高速に増大を続けている。これらのデバイスは、テキスト、声、画像、およびビデオデータを送信、受信、および格納するために使用される。消費者はしばしば、これらのデバイス上に多数のアプリケーションを格納することを期待するため、モバイルデバイスはしばしば、内部プロセッサ速度よりも、利用可能なアプリケーションの数についてよりもてはやされる。消費者がデータへの高速なアクセスを所望するようになった一方でこれらのアプリケーションを動かすために必要とされるデータの純然たる量は、データ管理を奨励し、これはデバイスレベルとネットワークレベルの両方に当てはまり得る。この奨励は、典型的に比較的多量のネットワークデータを必要とする地図作成アプリケーションなどのアプリケーションの効率を制限し得る（例えば、遠隔データベースから地図データを検索するシステムについて）。
【０００３】
地図作成アプリケーションは、カーナビゲーションシステム、携帯型ＧＰＳユニット、携帯電話、およびポータブルコンピュータを含む種々のモバイルデバイスの中に見られる。これらのアプリケーションは最も頻繁に使用されるアプリケーションであり、個人の安全のために必要であると考える人もいる。内在するデジタル地図はユーザの視点から見て使用が簡単であるが、デジタル地図を作成することはデータ集約的な工程である。どのデジタル地図も、何百万もの通りおよび交差点に対応する１組の生データから始まる。この生の地図データは、各々が異なる量および種類の情報を提供する種々の出所に由来する。場所を効率的に地図にする、出所と目的地との間の運転経路を定める、および対象となる地点を識別する等には、かなりの量のデータを必要とする。さらに、多くの地図作成アプリケーションが異なるズーム段階、すなわち異なる縮尺比での異なる地図データの表示を必要とし、詳細の量、およびその詳細の性質は各ズーム段階で変わる。例えば、目標から最も遠い縮尺である、最も低いズーム段階では、地図データは、大陸、海洋、および主要な陸塊の境界を含み得る。それに続くズーム段階では、この地図データは、国、州、国土、保護領、他の主要な地理的領域を識別し得る。さらに続くいくつかのズーム段階では、この地図データは、主要道路、市、町を含むことができる一方、この地図データは最終的には、補助道路、建物、さらにその領域により、歩道および通路さえも含む。詳細の量は、各ズーム段階で地図データを構成するために使用される情報の出所によって決定される。しかしズーム段階に関わらず、情報の量は膨大であり、全体でモバイルデバイス上の記憶装置にとって概して大きすぎる場合があり、および無線通信ネットワークを通じた連続的なダウンロードには大きすぎる場合がある。
【０００４】
動作中、地図作成アプリケーションは典型的に、無線通信ネットワークを通して、およびユーザが対象となる場所を入力することに応答して、および／またはデバイスの現在の全地球測位システム（ＧＰＳ）データまたは現在のセルラーネットワーク場所データなどのモバイルデバイスの現在地に基づいて、モバイルデバイスに地図データをダウンロードする。地図データをダウンロードするための従来の技術は、モバイルデバイスにこの場所データを無線通信ネットワーク上の遠隔プロセッサに通信させ、それに応じてこの遠隔プロセッサがすべての地図データをモバイルデバイスに、または表示を要求された地図データをユーザにダウンロードする。
【０００５】
地図データは概して、地図データタイルとして知られるブロックに格納され得、地図データタイルの数は、ズーム段階とともに増加する。遠隔プロセッサは、特定の場所または領域についての利用可能な地図データタイルの部分を、地図表示アプリケーションを介して任意の特定の時に格納および表示するために、モバイルデバイスに提供する。多数の地図データタイルを提供することにより、モバイルデバイスは、消費者が地図作成アプリケーションを使用して、隣接する、または他の地図作成場所を探して面積の全域にわたってスクロールする際、消費者に表示するために、地図データをバッファリングし得る。しかしながら、任意の特定の時に提供される地図データタイルの数が多いほど、ダウンロード時間は長くなり、かつユーザが地図表示アプリケーションを使用している間のバッファメモリ使用量は高まる。
【０００６】
地図データタイルは、優先度のより低いデータよりも優先度のより高い地図作成データをより効率的に検索するように閲覧背景を活用し得ない、非効率的な手法でダウンロードおよびキャッシュされ得る。かかる閲覧背景の１つは、経路の異なる部分について地図データを先読みすることに関連する地図データに関する。後の使用のためにデータを先読みすることは、地図データベースへの接続（例えば、地図データベースサーバを介して）が良くても断続的である得る、モバイルデバイスにおいて大切である。さらに、モバイルコンピューティングデバイスは概して、例えばデスクトップコンピュータよりも帯域幅およびプロセッサが制限されているため、検索の効率および地図データの処理は、モバイルアプリケーションにおいてより重要である。その結果、帯域幅および処理サービスを浪費することなく限られたコンピューティングデバイスの視覚要件を十分に満たすため、検索（例えば、ダウンロード）および／または地図データ、具体的には地図データタイルを処理するための、より知的な機構を有する必要性が存在する。
【発明の概要】
【０００７】
地図作成アプリケーションのための、地図データを先読みするためのコンピュータで実装される方法は、起点、目的地、および起点と目的地とをつなぐ１組の通り道を含む経路上の情報を受け取ることと、起点と関連付けられる第１のタイル半径、目的地と関連付けられる第２のタイル半径、および起点と目的地との間の経路に沿う１組の地点と関連付けられる第１の地図タイル半径を決定することと、を含む。１組の通り道または道路は、順序を有し得る。各第１のタイル半径、第２のタイル半径、および第１の組のタイル半径は、それぞれ第１、第２、および第３の組の先読み地図データタイルに対応する。第１、第２、および第３の組の先読み地図データタイルは、それぞれ起点、目的地、および経路の周りの地図表面積に対応する。方法は、地図データベースから、第１、第２、および第３の先読み地図データタイルにアクセスする。地図データベースは、複数の地図データタイルの形式で地図データを格納し、第１、第２、および第３の先読み地図データタイルは、複数の地図データタイルの部分を含む。方法は、クライアントデバイス上のローカルメモリに、先読み地図データタイルをさらに、格納する。
【０００８】
コンピュータデバイスは、通信ネットワークインターフェース、１つ以上のプロセッサ、１つ以上のプロセッサに連結される１つ以上のメモリ、および１つ以上のプロセッサに連結される表示デバイスを含み得る。１つ以上のメモリは、その中に格納された、コンピュータで実行可能な命令を含み得、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、コンピュータプログラミングアプリケーションを介して、起点、目的地、および起点と目的地とをつなぐ１組の通り道を含む経路上の情報を受け取らせる。命令は、プロセッサに、第１の組の地図タイル半径が、経路の周りおよびそれを含む地図表面積に対応する、第１の組の先読み地図データタイルを画定する、起点と目的地とを含む経路に沿う１組の地点に関連付けられる第１の組の地図タイル半径をさらに決定させ得る。命令はよりさらに、プロセッサに、地図データベースから、経路に対応する第１の組の先読み地図データタイルに、アクセスさせ得る。地図データベースは、複数の地図データタイルとして地図データを格納し得、第１の組の先読み地図データタイルは、複数の地図データタイルの部分を含み得る。命令は、次に、プロセッサに、クライアントデバイス上のローカルメモリに、第１の組の先読み地図データタイルを格納させ得る。
【０００９】
さらなるコンピュータデバイスは、通信ネットワークインターフェース、１つ以上のプロセッサ、１つ以上のプロセッサに連結される１つ以上のメモリ、および１つ以上のプロセッサに連結される表示デバイスを含み得る。１つ以上のメモリは、その中に格納された、コンピュータで実行可能な命令を含み得、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに、コンピュータプログラミングアプリケーションを介して、起点、目的地、および起点と目的地とをつなぐ１組の通り道を含む経路上の情報を受け取らせる。命令は、プロセッサに、第１、第２、および第３の組の先読み地図データタイルをさらに決定させ得る。第１の組は、起点の周りおよびそれを含む地図表面積に対応し得る。第２の組の先読み地図データタイルは、目的地の周りおよびそれを含む地図表面積に対応し得る。第３の組の先読み地図データタイルは、起点と目的地との間の経路の周りの地図表面積に対応し得る。命令はよりさらに、プロセッサに、複数の地図データタイルとして地図データを格納する地図データベースから、経路に対応する第１の組、第２の組、および、第３の組の先読み地図データタイルにアクセスさせ得、第１の組の先読み地図データタイルが、複数の地図データタイルの部分を含む。最後に、命令は、プロセッサに、クライアントデバイス上のローカルメモリに、第１の組、第２の組、および第３の組の先読み地図データタイルを格納させ得る。
【図面の簡単な説明】
【００１０】
【図１】サーバの中に格納された地図データベースと１つ以上の地図画像レンダリングデバイスとの間に通信を実装する、地図画像化システムの高レベルのブロック図である。
【図２】地図ベクトルデータを使用して地図画像をレンダリングするために使用される画像レンダリングエンジンの高レベルのブロック図である。
【図３】図１の地図データベースの中で使用されることができるデータ構造の一部分を図示する。
【図４Ａ】地図データのレンディションの例を３つの異なるズーム段階で、それぞれ図示する。
【図４Ｂ】同上
【図４Ｃ】同上
【図５】経路を表示している閲覧ウィンドウを図示する。
【図６】地図データタイルに対応する経路の周りの離散地域を示す経路を図示する。
【図７】地図タイル半径に対応する識別された先読み地図データタイルを含む地図データタイルを図示する。
【図８】対応するタイル半径８１０を持つ経路セグメント８１０（例えば、道路セグメント）に沿う２つの地点８０２、８０４を図示する。
【図９】タイル半径を使用して先読み地図データタイルを決定する工程フローを図示する。
【図１０】決定された経路を網羅する地図データに対応する地域を図示する。
【図１１Ａ】起点と目的地との間の経路上に対象となる特別な地点を有する経路の地図表示を図示する。
【図１１Ｂ】経路からずれた対象となる地点を有する経路の地図表示を図示する。
【図１２】２つの異なるズーム段階について識別された先読み地図データタイルを含む地図データタイルを図示する。
【図１３】先読みされることができるいくつかの組の地図データタイルへの一連のアクセスを決定するための工程フローを図示する。
【発明を実施するための形態】
【００１１】
本出願は、概して、地図データベースから地図データを先読みすることに関する。地図データの先読みとは、地図データが直ちに使用を求められる前の、アプリケーションまたはデバイスによる地図データのアクセス／検索を指し得る。一実施形態では、地図データは、先読みされたデータを使用する機能の起動の前に先読みされ得る。例えば、地図データベースからの地図データは、ユーザがその地図データを使用するために機能（例えば、表示またはレンダリング機能）を有効にするかまたは実行する前に、コンピューティングデバイスによってアクセスおよび／または検索され得る。地図データの先読みの利点は、地図データベースが利用可能でない期間の間（例えば、モバイルコンピューティングデバイスがオフラインである時）、先読み経路を表示する等のいくつかのサービスまたは機能を提供するために、先読みされた地図データが地図作成アプリケーションまたはコンピューティングデバイスに利用可能となり得ることである。概して、１つの経路は２つの端点（例えば、起点および目的地）および２つの端点をつなぐ１組の通り道または道路を含む。１組の通り道または道路は、順序を有し得る。順序はまた、移動の方向に対応し得る。経路および経路の種類は、以下により詳細に記載される。
【００１２】
より具体的には、本出願は、経路を網羅する地域に対応する地図データタイルを選択することにより、利用可能な全体の地図データの選択された部分として地図データを取り出すための技術を記載する。アクセスされる地図データの量は、経路に沿う地点の優先度に基づいて調整され得る。実装の一例では、経路の端点（起点および目的地の場所を表す）について、経路の途中の地点よりも多量の地図データが取り出しまたは検索され得る。どの地図データが経路の周りの地域に対応するかを決定するために、経路に沿う地図表面の地域に対応する、アクセスされる地図データタイルを指定するための１組の地図タイル半径が使用され得る。
【００１３】
図１を参照すると、一実施形態に従う地図に関する画像化システム１０は、サーバ１４の中、または例えば、中央位置に、または種々の異なる間を置いた位置に置かれた複数個のサーバの中に格納された地図データベース１２を含むことができ、また複数個の地図クライアントデバイス１６、１８、２０、２２をも含むことができ、これらの各々が地図レンダリングデバイスまたは地図レンダリングエンジンを格納および実装するように構成され得る。地図クライアントデバイス１６〜２２は、例えば、配線接続された、または無線のローカルエリアネットワーク（ＬＡＮ）、都市規模ネットワーク（ＭＡＮ）、または広域ネットワーク（ＷＡＮ）、インターネット、またはこれらの任意の組み合わせを含む、任意の配線接続された、または無線の通信ネットワーク２５を介してサーバ１４に接続され得る。地図クライアントデバイス１６〜２２は、例えば、携帯電話デバイス（１８）、ラップトップ、タブレット、デスクトップなどのコンピュータ、または他の適切な種類のコンピュータ（１６、２０）または自動車ナビゲーションシステム（２２）の構成要素などの他の画像化システムの構成要素などであり得る。さらに、クライアントデバイス１６〜２２は、任意の公的に利用可能な、および／または電話およびケーブルハードウェア、および／または例えば、無線ＬＡＮおよびＷＡＮ、衛星および携帯電話通信システムなどを含む、無線通信ネットワークなどの無線通信構造配線接続をベースとした通信構造を使用するものを含む、私有の通信ネットワークなどの任意の好適な通信システムを介して、サーバ１４に通信可能に接続され得る。
【００１４】
地図データベース１２は、ラスタ画像の地図データおよびベクタ画像の地図データを含む、任意の所望される形式または種類の地図データを格納し得る。しかしながら、本明細書に記載の画像レンダリングシステムは、いくつかの実施形態では、表示されることになる画像内の多くの組の画像物体、要素、または基本要素の各々についての一続きの頂点または頂点データ点を画定し得るまたは含み得るベクタ画像データとともに使用するために最適化され得る。概して言えば、ベクタデータによって画定される画像物体の各々は、それらに関連付けられる複数の頂点を有することができ、これらの頂点は、クライアントデバイス１６〜２２のうちの１つ以上を介して、ユーザに対して地図関連画像物体を表示するために使用され得る。
【００１５】
また理解されるように、クライアントデバイス１６〜２２の各々は、１つ以上のプロセッサ３０、１つ以上のメモリ３２、表示デバイス３４、および多くの場合において関連付けられる表示デバイス３４上に図形（画像）を実装またはレンダリングするために、一般に既知の手法でプログラムされ、および相互接続され得るラスタライザまたはグラフィックスカード３６を有する画像レンダリングエンジンを含み得る。任意の特定のクライアントデバイス１６〜２２のための表示デバイス３４は、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ、プラズマディスプレイ、ブラウン管（ＣＲＴ）ディスプレイ、または任意の他の種類の既知のまたは好適な電子ディスプレイなどの任意の種類の電子表示デバイスであり得る。
【００１６】
概して、言えば、図１の地図に関する画像化システム１０は、ユーザが、クライアントデバイス１６〜２２のうちの１つで、サーバ１４を介して地図データベース１２からの地図情報または地図に関するデータと通信するために動作し、次に受け取った地図データに基づいて、地図画像を表示またはレンダリングし得る地図アプリケーション（図１に図示せず）を開くかまたは実行することができるように動作し得る。地図アプリケーションは、表示されている地図の２次元または３次元の閲覧角度を回転、転回、または変更する、特定の地理的場所を拡大または縮小する等のために、ユーザが地図データベース１２の中に格納された地図データの異なる地理的部分を閲覧することを可能にし得る。より具体的には、以下に記載されるシステムを使用して表示デバイスまたは表示画面３４上の地図画像をレンダリングするとき、クライアントデバイス１６〜２２の各々が、ベクタデータの形式で地図データベース１２から地図データをダウンロードすることができ、関連付けられる表示デバイス３４上で画像をレンダリングするために、１つ以上の画像シェーダを使用してこのベクタデータを処理してもよい。
【００１７】
図２を参照すると、クライアントデバイス１６〜２２のうちの１つに関連付けられるか、またはそれによって実装される画像生成または画像レンダリングデバイス４０がより詳細に図示される。図２の画像レンダリングシステム４０は、２つのプロセッサ３０ａおよび３０ｂ、２つのメモリ３２ａおよび３２ｂ、ユーザインターフェース３４、ならびにラスタライザ３６を含み得る。この場合、プロセッサ３０ｂ、メモリ３２ｂ、およびラスタライザ３６は、すべての実施形態においてこのようである必要はないが、別個のグラフィックスカード（横線の下に表される）上に配置され得る。例えば、他の実施形態では、代わりに単一のプロセッサが使用され得る。加えて、画像レンダリングシステム４０は、ネットワークインターフェース４２、通信および記憶ルーチン４３、ならびに地図アプリケーションであって、その中にメモリ３２ａ上に格納された地図表示論理を有し、プロセッサ３０ａ上で実行され得るもう１つの地図アプリケーション４８を含み得る。同じく、例えば、頂点シェーダ４４およびフラグメントシェーダ４６の形式の１つ以上の画像シェーダは、メモリ３２ｂ上に格納され、およびプロセッサ３０ｂ上で実行される。メモリ３２ａおよび３２ｂは、揮発性メモリおよび不揮発性メモリのどちらかまたは両方を含み得、ルーチンおよびシェーダは、以下に記載する機能性を提供するために、プロセッサ３０ａおよび３０ｂ上で実行し得る。ネットワークインターフェース４２は、ユーザインターフェースまたは表示デバイス３４上に画像表示を作成する際に使用するための画像データをベクタデータ形式で取得するために、配線接続されたネットワークまたは無線通信ネットワークを介して、例えば図１のサーバ１４と通信するように動作する、任意の周知のソフトウェアおよび／またはハードウェア構成要素を含み得る。画像レンダリングデバイス４０はまた、例えばバッファ揮発性メモリであり得るデータメモリであって、後により詳細に記載されるように、地図データベース１２から受け取ったベクタデータであって、任意の数の頂点データ点および１つ以上の参照テーブルを含むベクタデータを格納するデータメモリ４９をも含み得る。
【００１８】
動作の間、地図アプリケーション４８の地図論理は、例えば、ユーザ入力、ＧＰＳ信号、予め格納された論理またはプログラミング等を使用して、表示デバイス３４を介してユーザに対して表示する必要のある特定の画像データを決定するために、プロセッサ３０上で実行し得る。アプリケーション４８のディスプレイまたは地図論理は、ネットワークインターフェース４２を通じて、好ましくはベクタデータまたは圧縮されたベクタデータの形式で、地図データベース１２から地図データを取得するためにサーバ１４と通信することにより、通信ルーチン４３を使用して地図データベース１２とやりとりし得る。このベクタデータは、ネットワークインターフェース４２を介して戻されることができ、およびルーチン４３によって復元され、データメモリ４９の中に格納され得る。具体的には、地図データベース１２からダウンロードされたデータは、使用される最終的なベクタデータの小型の、構造化された、または別様に最適化された型である場合があり、地図アプリケーション４８は、ダウンロードされたベクタデータを、プロセッサ３０ａを使用して特異的な頂点データ点へと変換するように動作し得る。一実施形態では、サーバ１４から送られた画像データは、画面３４上に表示されることになるいくつもの異なる画像要素または画像物体に関連付けられる１組の頂点の各々についてのデータを概して画定するベクタデータ、およびおそらく１つ以上の参照テーブルを含み得る。所望される場合、参照テーブルは、ベクタグラフィックスを使用して作成された画像の一部として表示されることになる特定のテクスチャまたはカラーフィールド（ピクセル値）を典型的に画定する既知の種類のデータファイルである、ベクタテクスチャ地図の形式で送られることができ、または復号されることができ、または地図アプリケーション４８によって生成されることができる。より具体的には、各々の画像要素または画像物体についてのベクタデータは、画像の特定の要素または物体を形成している１つ以上の三角形に関連付けられる複数個の頂点を含み得る。各々のかかる三角形は、３つの頂点（頂点データ点によって画定される）を含み、および各々の頂点データ点が、これに関連付けられる頂点データを有する。一実施形態では、各々の頂点データ点が、基準空間または仮想空間の中の２次元位置または３次元位置または頂点の場所を画定する頂点場所データを、属性基準とともに含む。各々の頂点データ点が、この頂点データ点が関連付けられる画像物体の種類を識別する物体種類識別子などの他の情報を追加的に含み得る。本明細書においてスタイル基準または特性基準と称される属性基準は、データメモリ４３にダウンロードされおよび格納された参照テーブルのうちの１つ以上の中の、１つの場所または１組の場所への基準または地点である。
【００１９】
概して言えば、特定の地理的領域についての地図データベース１２の中の地図データは、異なるズーム段階で格納されることができ、そこでは各々のズーム段階が、一実施形態では、地図または地図表面の視覚表示を異なる段階の詳細さで構築するために使用され得る、地図データタイルと呼ばれる複数の地図データブロックから形成される。図３は、地図データベース１２の一部分のデータ構造２００の例を図示する。特定の地理的領域についての地図データは、各々のデータ構造が複数の地図データタイルによって形成されている、多くの（ｎ個の）異なるズーム段階のデータ構造（そのうちの３つのみが示される）２０２Ａ、２０２Ｂ、および２０２Ｃの中に格納され得る。説明を目的として番号付けされたただ１つのものであるデータ構造２０２Ｂは、１８個の地図データタイル２０４Ａ〜２０４Ｒから形成される、ズーム段階ｚ＝２での特定のまたは固定の地理的領域についての地図データを示す。地図データタイルは、地図表示を構築するための基本構成要素を表し得る。各々の地図データタイルは、道路、建物などの種々の地図物体または地図特性、および水線、群線、市境界、州線、山、公園などの地理的境界を識別するデータを含む地図表示（例えば、地図表面）の一部分を構築するために必要な地図データを含み得る。地理的領域についての地図データは、特定の地理的領域について異なる段階の詳細を提供するために、任意の数の異なるズーム段階のデータ構造の中に格納され得る。一実施形態では、合計１９のズーム段階が地図データベース１２の中に格納され得る。
【００２０】
固定地理的領域についての各々のズーム段階でのタイルの数は、例えば、直線的に、二次に、指数関数的に、またはズーム段階の数が増加するにつれて別様に増加し得る。図示された例におけるズーム段階（ｚ＝１、２、および５）は、６個、１８個、および６０個の地図データタイルを各々が有し、同一の地理的地域または領域を受け持っている。同一の面積について、ズーム段階が上がるにつれて地図データタイルの数が増加するため、ズーム段階は、単位面積毎のタイルの数に対応する地図データの密度と考えられ得る。高いズーム段階は概して、単位面積毎により多くのタイルを必要とし得、よって低いズーム段階よりも高い地図データ密度を提供し得る。
【００２１】
図示される実施形態では、すべての地図データが地図データタイルの中に格納され、ズーム段階データ構造の中の各々の地図データタイルに同一のまたは類似のメモリ配分の大きさを配分され得る。例えば、各タイル２０４Ａ〜２０４Ｒは、１０キロバイトの大きさのビットマップ画像であり得る。これは、例えば、各々の地図データタイルに同一の大きさの地理的地域を受け持たせることによって達成され得る。ベクタデータを含む地図データタイルについて、各々のタイルについてのデータの大きさはさまざまであり得るが、しかし各々のタイルがなお、いくつかの実施形態では、同一の最大記憶空間を割り振られ得る。図示されていないが、他の実施形態では、データタイルは、各々のズーム段階データ構造内に、異なる記憶空間配分を有し得る。いくつかの実施形態では、各々の地図データタイルは、ビットマップフォーマットで格納された地図データを含むことができ、一方他の実施形態では、各々の地図データタイルは、ベクタフォーマットの形式で格納された地図データを含むことができる。
【００２２】
図４Ａ〜図４Ｃは、例えば、ユーザインターフェース３４上に完全にまたは部分的に表示され得る視覚的地図表示を図示し、各々の図が異なるズーム段階での地図表面の視覚表示を提供し得る。図示された実施形態では、図４Ａは、ズーム段階の例ｚ＝６で、同一の大きさの地理的地域を受け持ち、および同一の量の記憶容量を有する、一続きの地図データタイル３０２〜３１８で構築された視覚的地図表示３００を提供する。
【００２３】
動作中、サーバ１４は、地図データをこれらの地図データタイルによって画定されるデータの塊で、各々のクライアントデバイス１６〜２２に送信するように構成され得る。例えば、地図表示３００を構築するために必要な地図データを送信するために、サーバ１４は、各々の地図データタイルを、フレームの識別データ（地理的位置、クライアントデバイス住所、地図データタイルのバージョン番号など）を提供するヘッダ部分、および視覚表示を形成する際に使用されることになる特異的な地図データタイルデータを含むペイロード部分を有するフレームで送信し得る。地図データタイルは、地図データベース１２の中に格納された地図データを量子化するための、および地図データのネットワーク２５でのクライアントデバイス１６〜２２への通信を量子化するための効率的な機構を提供し得る。
【００２４】
図４Ａと比較して、図４Ｂは、図４Ａのズーム段階よりも高い、本例ではズーム段階ｚ＝１０のズーム段階での視覚地図表示４００を図示する。地図表示４００は複数の地図データタイル４０２〜４３２から形成され得る。地図データタイル３０２〜３１８のように、地図データタイル４０２〜４３２はそれぞれ大きさが同一であり、例えば、同一の大きさの地理的地域を受け持ち、および同一の記憶容量を有する。図４Ｃは、地図データタイルから形成される、第３のさらに高いズーム段階であるズーム段階ｚ＝１２での別の視覚地図表示４８０を図示する。
【００２５】
ディスプレイ３００、４００、および４８０のそれぞれは、より多くの地図データタイルからなる全体の地図データの一部分を図示し得る。図４Ａ〜図４Ｃにわたって図示されるように、各々の視覚地図表示を形成する地図データタイルは、種々の段階の詳細を有し得る。タイル３０２〜３１８は、地理的境界を図示し得るが、道路ではなく幹線道路および／または州間高速道路のみであり、一方図４Ｃのタイルはより高いズーム段階であることができ、道路、建物、公園、端点などの情報を含む。
【００２６】
ユーザが視覚地図表示３００、４００、および４８０とやりとりする間、ユーザは、図示される地図データの近くの他の地図データ（異なる地理的地域に対応する）を表示するために、あちこちスクロールすることを望み得る。したがって、クライアントデバイス１６〜２２は、視覚地図表示を形成するために十分な量の地図データを取り出しおよび格納するためのシステムを使用することができ、一方その表示との効率的なユーザのやりとりを可能にするために、ローカルクライアントデバイス１６〜２２のうちの１つで追加的な地図データをバッファリングする。
【００２７】
図５は、経路５０１の閲覧ウィンドウ５００を図示する。経路は、地図表面または地図地域上に投影され得る。概して、経路５０１は、起点５０２、目的地５０４、およびともに起点５０２を目的地５０４につなぐ１組の道路、道、通り道、セグメントなど５０６を含み得る。１組とは、本明細書で使用される場合、１つ以上の要素を含む。１組の道路は、一連の道路として順番付けられ得る。経路５０１は、やはり一連の１組の道路によって示され得る方向を有し得る。経路５０１は、いくつもの手法において決定され得る。例えば、ユーザは起点および目的地（例えば、ユーザは２つの住所を入力し得る）を定めることができ、地図作成アプリケーションは、地図作成データベースからのデータを使用して、２つの地点または場所をつなぎ得る１組の道を決定することができ、それにより経路を形成する。いくつかの事例では、地図作成アプリケーションは、ユーザが可能性のある経路のうちの少なくとも１つを処理することを選択または指定する選択肢を与えられ得る、起点と目的地とをつなぐ複数の経路を決定し得る。代替的に、ユーザは、地図作成アプリケーションに、起点、目的地、および起点と目的地とをつなぐ通り道の集まり（例えば、道路）を含む経路を提供し得る。
【００２８】
本明細書に記載の技術の一実施形態では、地図データベース１２などの地図データベースは、決定された経路を網羅する地図地域に対応する地図データ（例えば、地図データタイル）の先読みまたは検索のためにアクセスされ得る。別の実施形態では、地図データは、１つ以上の経路を生成するために先読みされ得る。経路を生成するために使用される地図データは、経路を表示するための情報を提供するために使用される同一の地図データタイルの中に含まれ得る。異なる実施形態では、経路を生成するために使用されるデータは、その経路をレンダリングするために使用される地図データタイルとは別個の地図データタイルの中に含まれ得る。別の実施形態では、経路を生成するために使用されるデータは、地図データタイルと異なるデータ形式で含まれ得る。先読みは概して、地図データの検索を、そのデータが処理のために必要とされる前に起動することを伴う。例えば、先読みは、地図データを、その地図データを利用するレンダリングまたは表示機能の起動の前に検索することを伴い得る。先読みはまた、地図データベース全体のより高速な検索のために、地図データをローカルメモリに格納することをも伴い得る。例えば、ローカルメモリにアクセスする速度は、地図データベースにアクセスする速度よりも高速な場合がある（例えば、断続的な接続、接続帯域幅などのため）。モバイルデバイスがネットワーク２５を通してサーバ１４に断続的にアクセスすることのみが可能である状況では、先読みは、クライアントデバイスのサーバ１４への接続が可能であるときはいつでも、モバイルデバイス／ユーザがそのデータへのアクセスを要求したかどうかにすら関わらず（例えば、先読みされたデータに対応する地図データをレンダリングする要求または機能を介して）、アクセスおよび地図データの検索をスケジューリングすることを伴い得る。
【００２９】
図６は、正方形地域５１０が経路の周りに配置された図５の経路５０１を図示する。場所または地点に関して使用されたとき、「周り」という用語は、場所または地点を含むことを意味することに留意されたい。よって、「目的地の周り」は、目的地の地点自体とあわせて、目的地に隣接する地域を含む。正方形５１０は、地図データの離散単位に対応する地図の離散地域を表し得る。上述の地図データタイルに関して、各々の正方形地域５１０が、特定のズーム段階について、地図データタイルを表すか、または地図データタイルと一致し得る。地域５１０は、利用可能なまたは検索可能な全体的な組の地図データタイルのうちの一部のみを表し得る。例えば、地図データタイルが閲覧ウィンドウ６００全体に概して存在し得る場合、地域５１０によって表される地図データタイルは、その閲覧ウィンドウの全体的な地図データタイルのほんの断片である。
【００３０】
図６は、特定のズーム段階で、経路を表示するための最小量の地図データが、その経路の全部の地点を網羅する地域に対応する、少なくとも１組の地図データタイルを含み得ることを図示する。一実施形態では、地図データベースを介して図６の正方形５１０に対応する地図データタイルにアクセスすることにより、ある経路に対して最小量の地図データが先読みまたは検索され得る。例えば、システム１０のデバイスのうちの１つは、プロセッサによって実行された際に、経路上の一地点が地図データタイル内に含まれているかどうかを決定し、かつその経路を網羅する最小数の地図データタイルからなる地図データタイルを決定または識別する命令を含み得る。
【００３１】
地図作成アプリケーションのいくつかのレンダリング状況について、経路の周りのより大きい地域が所望され得る。概して、本方法およびシステムは、起点および目的地を含む経路に沿う地点のタイル半径を決定することにより、経路（例えば、図５〜図９の経路）を網羅する地域について、地図データタイルの一部を決定し得る。図７は、地図データベース１２の中に格納された利用可能な地図データの一部分を、第１の（無作為）ズーム段階で示す視覚地図表示の例７００を図示する。対象となる地点７０４は、割り当てられた地図タイル半径７５４とともに示される。地図タイル半径７５４は、地図データベース１２から読み出すタイルを識別するための対象となる地点７０４からの半径方向距離を表す。図７のタイル半径７５４は、識別されたタイル半径であるＲによって画定される外周領域７５６内に配置される、対象となる地点に関連付けられる複数の地図データタイルを識別するために、対象となる地点７０４から伸長する。図示される実施形態では、この領域７５６は、例えば地図データベース１２から識別されることになる１組の先読み地図データタイルを画定し、クライアントデバイス１６〜２２のうちの１つへと送る。一例では、外周領域７５６と部分的にでも重なる任意の地図データタイルは、１組の先読み地図データタイルの内にある。これらのタイルは図７では網掛けされる。
【００３２】
図８は、対応するタイル半径８１０を持つ経路セグメント８１０（例えば、道路セグメント）に沿う２つの地点８０２、８０４を図示する。図８の網掛けされた地域は、半径８０２、８０４に基づいて経路セグメント８１０について検索され得る地図データタイルを図示する。図８において、道路に沿う２、３の地点のみ（例えば、一定間隔に間を置いた）が地図半径を決定するために使用されることができ、および対応する網掛けの地域が検索され得る。他の実施形態では、線セグメントについての地図タイル半径を画定するためにより多くの地点が使用され得る。さらに、道路セグメントなどの線セグメントが無数の地点を含み得る一方、地図タイル要求は、データタイルについての非常に多くの要求または識別を必ずしも求めない。そうではなく、対象となる網掛けの地域は、線セグメントの全長について（例えば、積分関数を使用して）計算され、かつ経路の半径内のすべてのタイルを識別するために、たった１回の計算がなされ得る。すべての対応する地図データタイル（例えば、同時に）を検索するために、次にたった１回の呼び出しがなされ得る。
【００３３】
図９は、図５〜図６に図示されたもののような地図表面について、地図データを先読みするために用いられ得る方法、ルーチン、または工程９００のフロー図またはフローチャートを図示する。方法９００は、１つ以上のブロック、モジュール、機能、またはルーチンを、有形のコンピュータ可読媒体の中に格納され、サーバ１４またはクライアントデバイス１６〜２２のプロセッサを使用して実行される、コンピュータで実行可能な命令の形式で含み得る。方法９００は、本明細書に記載のシステムのためのコンピューティング環境の任意のバックエンドデバイス（例えば、サーバ１４）またはフロントエンドデバイス（例えば、クライアントデバイス１６〜２２）のモジュールまたは構成要素として、またはかかるシステムの外部のモジュールの一部として含まれ得る。図９は、説明しやすくするために図に関して記載されるが、しかし方法９００はもちろん、他の物体およびユーザインターフェースとともに利用されることができる。任意の事象において、ブロック９０２は、起点、目的地、および起点と目的地とをつなぐ１組の道路についての情報を含む経路情報を決定する。これは、クライアントデバイス１６〜２２上のうちの１つの地図作成アプリケーション内で実行する１つ以上の命令に応答して受け取られ得る。ブロック９０２はまた、経路を生成するために使用される地図データを先読みし得る。論議したように、経路を生成するための地図データは、経路をレンダリングするための地図データタイルと異なる、または同一の地図データタイルの形を取ってもよく、または完全に別個のデータ形式として格納されてもよい。一実施形態では、経路を生成するための地図データは、経路を画定する進路変更毎の命令の形式であり得る。
【００３４】
ブロック９０４は、経路に沿う地点についての１組の地図タイル半径を決定し得る。一実施形態では、ブロック９０４は、経路に沿うすべての地点について、最小タイル半径を決定し得る。最小地図タイル半径は、経路全体（図６のものなど）を網羅する地域と一致する最小数の地図データタイルが選択されることを可能にするために選択され得る。この最小地図タイル半径は、経路全体についての固定半径と見なされ得る。他の実施形態では、ブロック９０４はまた、経路に沿う対象となる地点または優先地点についての１組の地図タイル半径をも決定し得る。これらの対象となる地点は、最小タイル半径よりも大きい半径を有するように決定され得る（以下でさらに検討される）。いったん経路の半径が決定されると、ブロック９０６は、ブロック９０４で決定された半径に対応する地図データタイルについて、地図データベース１２などの地図データベースにアクセスし得る。ブロック９０８は次に、ブロック９０４で決定された半径に対応する地図データタイルを検索し、検索したタイルをクライアントデバイス１６〜２２のローカルメモリに格納し得る。
【００３５】
一実施形態では、経路に沿う地点には、優先値が割り当てられ得る。例えば、優先度は、フラグ、属性、または経路上の地点に関連付けられる他のインジケータを使用して割り当てられるかまたは指定される。経路セグメントは、１組の地点によって画定されることができ、よって、経路セグメント（例えば、経路の道路セグメント）は、経路セグメントを画定する１組の地点にその優先度が割り当てられているとき、優先度に対応し得る。さらに、優先度属性は単に高または低の値（すなわち、優先度ありまたは優先度なし）であり得る。他の実施形態では、優先度は、高値と低値との間で測られた値であり得る。
【００３６】
本明細書に記載の本方法およびシステムは、インターフェース３４を介してユーザに対して表示するための１つ以上の対象となる地点を決定し得る。対象となる地点は、例えば、ユーザがインターフェース３４上に提示されるデータフィールドの中にアドレスを提供することを通じた、またはユーザがインターフェース３４とのやりとりを通じて取得された対象となる地点を見つけることを選択することを通じたユーザ入力に基づいて決定され得る。概して、経路に沿う地点の優先度は、ユーザがその地点に対応する地図データにアクセスする機能を起動する見込みを表し得るか、または見込みによって決定され得る。これはユーザが特定の地図データを使用してその地図の一部分を表示する機能を起動することに対応し得る。アクセスの見込みは、例えば、地図データにアクセスするために地図作成アプリケーションの命令が実行される平均数および時間の分析を含む、動作中のシステムの測定基準に基づいて決定され得る。
【００３７】
一実施形態では、起点および目的地は、初期設定で高い優先度を有する対象となる地点として割り当てられ得る。図１０は、起点５０２と目的地５０４とを結ぶ経路５０６に沿ったところよりも、起点５０２および目的地５０４の周りのより大きい地域に対応する地図データが存在する場合の、決定された経路５０１（図５）を網羅する地域１０００を図示する。図１０は、起点５０２および目的地５０４に、起点と目的地との間の、経路に沿う１組の地点５０６よりも高い優先度が割り当てられ得ることを図示する。この場合、より大きい地図タイル半径が起点５０２および目的地５０４に割り当てられる。起点および目的地は、初期設定の対象となる地点を表し得る。この場合、高い優先度の地点（起点および目的地）について、つないでいる経路のより低い優先度の地点についてよりも多量の地図データが検索される。
【００３８】
いくつかの実施形態では、目的地５０４は、より高い優先度を有することができ、よって起点５０２よりも大きい地域に対応するより多い地図データを有することができる。これは、ユーザが目的地に移動することを意図し、および起点（ユーザが離れようとしている可能性があるため潜在的により短い滞在時間）よりも目的地（潜在的により長い滞在時間）での情報を必要とする可能性が高いときの状況に適用され得る。しかしながら、起点がより多量の優先度を必要とし、より大きい地図地域を有するいくつかの状況が存在する。これは、例えば、起点の周りの地域の複雑さ（例えば、複雑さは分岐合流点、道路、および地形の複雑さが増大するにつれて増大する）が高く、起点の周りの地域を通って通行するためにより多大な地図地域が必要とされるときに該当しる。
【００３９】
図１１Ａは、複数個の対象となる地点５０２、５０４、および１１０１を示す地図表面の閲覧ウィンドウ１１００を図示する。図１１Ａは、起点５０２と目的地５０４との間の経路５０１上の対象となる特別な地点１１０１を図示したものである。この状況において、対象となる地点１１０１には、高い優先度および周辺の経路より大きいタイル半径が割り当てられ得る。この対象となる地点は、市、町、または高い優先度を割り当てられた他の陸標であり得る。経路に沿う複数の対象となる地点には、高い優先度が割り当てられることができ、これらの対象となる地点についてより多量の地図データタイルが検索され得る。
【００４０】
図１１Ｂは、起点５０２と目的地５０４との間の、経路５０１からある距離だけずれた場所にある対象となる特別な地点１１２０を有する、経路５０１の閲覧ウィンドウ１１５０を図示する。この状況において、地点１１２０の周りの地域１１２５が指定されることができ、対応する地図データタイルが地域１１２５について印をつけられる。一実施形態では、対象となる地点１１２０についてのタイル半径は、タイル半径の外周が対象となる地点１１２０に最も近い経路５０１に沿う地点のタイル半径と重なるように決定され得る。これは、経路５０１の近くの場所にある対象となる地点にとって好都合である。別の実施形態では、本方法およびシステムは、経路に沿う地点から、経路外にある対象となる地点１１２０への１つ以上の通り道を決定し得る。対象となる地点１１２０のために通り道が決定されるかどうかは、対象となる地点１１２０と通り道５０１との間の距離に依存し得る。例えば、通り道は、経路を離れた対象となる地点１１２０への経路のために決定され得るが、これはその地点への距離が、ユーザがより長い経路を離れた距離よりも、より短い経路を離れた距離を移動して地点１１２０へ行くであろうという、より高い見込みを説明する閾値距離であるかこれを下回るときに決定され得る。
【００４１】
経路に沿う地点の優先度は、例えば、より一般的には、ユーザがインターフェース３４上に提示されるデータフィールドの中に住所を提供することを通じた、またはユーザがインターフェース３４とのやりとりを通じて取得された対象となる地点を見つけることを選択することを通じたユーザ入力に基づいて決定され得る。例えば、ユーザは、場所、企業、家などであって、そこからクライアントデバイス１６〜２２のうちの１つが、ユーザがかかる対象となる地点の周りの付近の地図表示を組み立てるためのかかる項目を選択できるようにする、場所、企業、家などを識別する、クライアントデバイス上で動いているウェブブラウザか、または他のプログラムにアクセスすることができる。
【００４２】
１つ以上の対象となる地点を入力するかまたは別様に識別するための任意の好適な手動の方法が、クライアントデバイス１６〜２２のうちの１つによって使用され得る。さらに、クライアントデバイス１６〜２２のうちの１つ上の地図作成アプリケーションは、例えば、クライアントデバイス１６〜２２のうちの１つの現在地のＧＰＳ位置を決定することにより、最も最近探索された対象となる地点を決定することにより、格納された対象となる地点のデータベースにアクセスすることにより、または最も最近訪問された対象となる地点（例えば、市、地区など）を決定することにより、対象となる地点を自動的に識別し得る。もちろん、これらのうちのいくつかの場合、地図作成アプリケーションは、背景アプリケーションとして、よっていかなる特定のユーザのやりとりもなく、ユーザのデバイスに格納するために地図データをダウンロードするための場所を決定し得る。
【００４３】
上で論議したように、工程ブロック９０６〜９０８は、単一のズーム段階での、対象となる地点の周りのより大きい地図地域に対応する、より数多くの地図データタイルを先読みするために、地図データベースにアクセスし得る。一実施形態では、高い優先度の地点について、第１の単一のズーム段階で、より多くの地図データタイルを先読みする代わりに、またはこれに加えて、本方法およびシステムは、高い優先度の地点について、第２の高いズーム段階で地図データタイルを先読みし得る。図１２は、図６のズーム段階と同一の大きさの地図データタイルを表す地域５０６を有する、図６の同一の経路を図示する。加えて、図１２は、第２のより高いズーム段階の地域１２１０によって表される追加的な地図データタイルを図示する。起点５０２または目的地５０４の周りの地域を拡大することを望むユーザは、閲覧ウィンドウのズーム機能を起動し得る。より高いズーム段階の地図データタイルがクライアントデバイス１６〜２２のうちの１つに先読みされたとき、これらの地図データタイルをレンダリングするための応答時間は、比較的高速な場合がある。
【００４４】
もちろん、第２のより高いズーム段階で追加的な地図データタイルを検索することに加えて、本方法およびシステムはまた、第１のズーム段階のものとは異なる地域について、または第２のより高いズーム段階で経路上の他の地点に関する異なる地域について、第２のより高いズーム段階でも地図データタイルを検索し得る。また、本方法およびシステムは、低い優先度の（例えば、経路の中間、対象となる地点がないなど）経路に沿う地点について、より高いズーム段階のデータを検索することもしないこともできる。経路の中間の地点の周りの、より高いズーム段階の地図データが検索されるかどうかは、経路に沿う地点の優先度に依存し得る。上で論議したように、経路上の地点の優先度は、その地図データについてのアクセスの見込みの決定に部分的に基づき得る。
【００４５】
上述の本方法およびシステムは、決定された経路を網羅する決定された地域に基づいて、利用可能なまたは検索可能な地図データタイルの部分のみを検索または処理、およびクライアントデバイス１６〜２２のキャッシュメモリの中へと格納することができる。この方法およびシステムは、素早い検索および処理のために予測される地図データがローカルキャッシュメモリにダウンロードされるとき、より高速な応答時間を提供し得る。上記で検討された優先度の１つの種類が、どの地図データ（経路の周りの地域および／またはズーム段階データ）を検索するかを指定することに基づく一方で、優先度の第２の種類は、その地図データが検索される順番または順序であり得る。地図データ検索（例えば、地図データタイル）の順序は、帯域幅およびプロセッサ料金を低減するのに役立ち得る。地図データ検索の順序はまた、地図データを含むサーバへの接続が検索の間に失われた場合に、より重要な、高い優先度のタイルがまずダウンロードされることを確実にもし得る。
【００４６】
図１３は、いつ、およびどの順番で地図データタイルを検索するかを決定するための工程フローを図示する。ブロック１３０２は、受け取るいくつかの組の異なる地図データを決定し得る。地図データの組は、上で論議されたように、決定された地図データに対応し得る。例えば、第１の組の地図データは起点の周りの地域と一致する場合があり、第２の組の地図データは目的地の周りの地域と一致する場合があり、第３の組の地図データは起点と目的地との間の通り道に沿う地域と一致する場合があり、第４の組の地図データは追加的な対象となる地点と一致する場合がある。追加的ないくつかの組は、経路の一部分（例えば、起点、目的地、道路セグメント、および他の対象となる地点）についての異なるズーム段階のデータを伴い得る。
【００４７】
ブロック１３０４は次に、システムの現在の条件（例えば、閲覧ウィンドウの状態、現在の帯域幅、現在のプロセッサ容量など）を決定し得る。ブロック１３０６は次に、ブロック１３０２で決定されたそれぞれの組の地図データを先読みするための順序を決定し得る。ブロック１３０６の決定は、ブロック１３０４において決定された条件に基づいて実施され得る。ブロック１３０６によって決定された順序は、ユーザによるアクセスの推定される順番に基づく、固定の初期設定の順序であり得る。これは、ブロック１３０４が初期設定条件を示すときに該当し得る。ブロック１３０８で、地図データベースは、ブロック１３０２のそれぞれの組の地図データタイルについて、ブロック１３０７によって決定された順序でアクセスされ得る。ブロック１３１０で、アクセスされた地図データは次に、ユーザまたは地図アプリケーションが地図データを求めるアクセスまたは処理機能を起動したとき、素早いアクセスのために検索され、および／またはローカルメモリに格納され得る。
【００４８】
一般的な順序は、目的地、起点、経路に沿う追加的な対象となる地点について地図データを検索することを、次に種々の経路を離れた対象となる地点への接続セグメント（道路セグメント）を伴い得る。別の順序は、ズーム段階についての最小の地図タイルデータを含む概観の組の地図データと、１つの表示可能な閲覧画面（図５のものなど）の中に起点および目的地を含む閲覧ウィンドウ位置とともに進み得る。別の順序は、第１のズーム段階での概観の組についての地図データ、より高いズーム段階での起点および目的地の地図データ、次に第１のズーム段階での道路セグメントに対応する地図データを含み得る。さらに別の順序では、起点がより高い優先度を割り当てられているとき、起点データは目的地データに優先し得る。これは、起点が複雑な交通条件を含むときに該当し得る。別の場合は、現在のユーザ位置（例えば、ＧＰＳ位置信号を介して）についての追加的な情報が、ユーザを起点から離れた経路に沿って置いたときである。他の状況において、経路に沿う対象となる地点についての地図データが起点よりも高い優先度を有し得る。もちろん他の順序は可能であり、本明細書に記載の技術の動作の範囲内である。
【００４９】
一実施形態では、地図データタイルの順序および地域の両方が、閲覧ウィンドウ状態に基づいてアクセスまたは先読みされ得る。具体的には、地図データタイルは、閲覧ウィンドウ位置に基づいてアクセスされ得る。閲覧ウィンドウ位置は、経路に沿う特定の地点の近くを中心とされ得る。中心位置が他の部分の経路に接近するように閲覧ウィンドウ位置が変更されるにつれて、追加的な地域地図データが検索される（例えば、ブロック９０６〜９０８を介して）か、または検索の順序が変更され得る（例えば、ブロック１３０６〜１３１０を介して）。本実施形態は、地図をレンダリングしているデバイスの現在位置が、その現在位置を中心とする（例えば、ＧＰＳシステムを使用して）ように地図を提供する状況において使用され得る。
【００５０】
地図タイルデータの量および地図タイルデータの部分がアクセスされる順序は、現在の帯域幅または図１のプロセッサ負荷に基づき得る。地図データタイルのより大きいまたはより小さい半径をダウンロードするかどうかの決定は、帯域幅および／またはその量の地図データタイルをサーバから検索することに関連付けられる待ち時間の考慮に依存し得る。いくつかの実施形態では、帯域幅の考慮は、地図データタイルを検索するための現在の帯域幅／ダウンロード時間が閾値を上回っているかどうかを確認することに依存し得る。例えば、クライアントデバイス１６〜２２のうちの１つは、より大きいタイル半径に対応する追加的な地図データタイルを検索するかどうかを決定するために、検索処理の現在のダウンロード速度を確認し得る。
【００５１】
地図データベースのアクセスを実施するためのプロセッサ容量が考慮され得る。例えば、閾値に対して現在のプロセッサ容量が確認され得る。これは、地図作成アプリケーションの現在の条件が、プロセッサ負荷のため、低減したデータ検索および／または処理を求める場合に該当し得る。例えば、プロセッサが過負荷となったり、または停滞（プロセッサ容量が低いか、または閾値を下回る）したりしたとき、地図データタイル半径は検索および処理される地図データタイルの総量を低減するために短くされることができ、それによりプロセッサ作業負荷を少なくする。
【００５２】
さらに、先読み地図データタイルの順序および量は、メモリ条件に基づき得る。例えば、制限された量のメモリが先読み地図データのために配分され得る。地図データタイルの対応する地域は、メモリバジェットに配慮するために適当に縮尺され得る。検索の順序は、メモリバジェットに基づいて再び順番付けられ得る。代替的に、地図データタイルの組の数は、メモリバジェットに基づいて低減され得る。
【００５３】
図９および１３のブロックの任意の好適な部分は、いくつもの異なるデバイス（例えば、クライアントまたはサーバ）によって任意の好適な順番で実装されることができ、かつ本明細書に記載の本方法およびシステムと依然として一貫する。その上、補間処理を受けるスタイルパラメータの選別を向上するため、追加的な決定ブロックが追加され得る。
【００５４】
本明細書の全体にわたり、複数の事例が、単一の事例として記載の構成要素、動作、または構成を実装し得る。１つ以上の方法の個々の動作が別個の動作として図示され、記載されているが、個々の動作のうちの１つ以上が一斉に実施されることができ、いかなるものも動作が図示の順番に実施されることを必要としない。構成例において別個の構成要素として表される構造および機能性は、組み合わされた構造または構成要素として実装され得る。同様に、単一の構成要素として表される構造および機能性は、別個の構成要素として実装され得る。これらおよび他の変形、修正、追加、および改良は、本明細書に記載の主題の範囲内である。
【００５５】
例えば、ネットワーク２５は、ＬＡＮ、ＭＡＮ、ＷＡＮ、モバイル、有線または無線のネットワーク、私的ネットワーク、または仮想私的ネットワークのうちの任意の組み合わせを含み得るがこれらに制限されない。その上、記載を簡素および明確にするために、４つのクライアントデバイスのみが図１に図示されているが、任意の数のクライアントコンピュータまたは表示デバイスが対応可能とされ、およびサーバ１４と通信していることが可能であることが理解されるものとする。
【００５６】
加えて、とある実施形態は、本明細書において論理またはいくつもの構成要素、モジュール、または機構を含むものとして記載されている。モジュールは、ソフトウェアモジュール（例えば、コードが機械可読媒体上または送信信号の中に具現化される）またはハードウェアモジュールのどちらかを成し得る。ハードウェアモジュールは、一定の動作を実施する能力がある有形のユニットであり、一定の手法で構成または配置され得る。一実施形態の例では、１つ以上のコンピュータシステム（例えば、スタンドアロン、クライアントまたはサーバコンピュータシステム）またはコンピュータシステムの１つ以上のハードウェアモジュール（例えば、プロセッサまたは１群のプロセッサ）は、本明細書に記載のとおり、一定の動作を実施するように動作するハードウェアモジュールとしてソフトウェア（例えば、アプリケーションまたはアプリケーション部分）によって構成され得る。
【００５７】
種々の実施形態では、ハードウェアモジュールは、機械的または電子的に実装され得る。例えば、ハードウェアモジュールは、一定の動作を実施するために、永久的に構成される（例えば、などの特定用途向けプロセッサとして、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）として）専用回路または論理を備え得る。ハードウェアモジュールはまた、一定の動作を実施するために、ソフトウェアによって一時的に構成されるプログラマブル論理または回路（例えば、汎用プロセッサまたは他のプログラマブルプロセッサの内部に包含される）を備え得る。ハードウェアモジュールを、機械的に、専用のおよび永久に構成された回路の中に、または一時的に構成された回路の中に（例えば、ソフトウェアによって構成される）実装する決定は、費用および時間の考慮に委ねられることが認識されるものとする。
【００５８】
したがって、ハードウェアという用語は、有形の構成要素を網羅するように、一定の手法で動作するように、または本明細書に記載の一定の動作を実施するように物理的に構成された、永久に構成された（例えば、配線接続された）、または一時的に構成された（例えば、プログラムされた）構成要素であるように理解されるべきである。ハードウェアモジュールが一時的に構成された（例えば、プログラムされた）実施形態を考慮して、ハードウェアモジュールのそれぞれは、任意の一時点において、構成もインスタンス化もされる必要がない。例えば、ハードウェアモジュールがソフトウェアを使用して構成される汎用プロセッサを含む場合、汎用プロセッサは、異なる時間に各々の異なるハードウェアモジュールとして構成され得る。ソフトウェアはしたがって、例えば、ある時点では特定のハードウェアモジュールを成すように、異なる時点では異なるハードウェアモジュールを成すようにプロセッサを構成することができる。
【００５９】
ハードウェアおよびソフトウェアモジュールは、他のハードウェアおよび／またはソフトウェアモジュールに情報を提供し、および他のハードウェアおよび／またはソフトウェアモジュールから情報を受け取ることができる。したがって、記載されたハードウェアモジュールは、通信可能に連結されているものとして扱われ得る。複数個のかかるハードウェアまたはソフトウェアモジュールが同時に存在する場合、通信はハードウェアまたはソフトウェアモジュールを接続する単一の送信（例えば、適当な回路およびバスで）を通して達成され得る。複数個のハードウェアモジュールまたはソフトウェアが異なる時間に構成またはインスタンス化される実施形態において、かかるハードウェアまたはソフトウェアモジュールの間の通信は、例えば、複数個のハードウェアまたはソフトウェアモジュールがアクセスを有するメモリ構造の中の情報の格納または検索によって達成され得る。例えば、１つのハードウェアまたはソフトウェアモジュールが動作を実施し、その動作の生産物を、この１つのハードウェアまたはソフトウェアモジュールに通信可能に連結されたメモリデバイスの中に格納し得る。さらなるハードウェアまたはソフトウェアモジュールが次に、その後になって、このメモリデバイスにアクセスして格納された生産物を検索および処理し得る。ハードウェアおよびソフトウェアモジュールはまた、入力または出力デバイスとの通信を起動することができ、かつ資源（例えば、情報のまとまり）上で動作することができる。
【００６０】
本明細書に記載の方法の例の種々の動作は、少なくとも部分的に、関係する動作を実施するように一時的に構成された（例えば、ソフトウェアによって）または永久的に構成された１つ以上のプロセッサによって実施され得る。一時的に構成されていようと永久的に構成されていようと、かかるプロセッサは１つ以上の動作または機能を実施するように動作するプロセッサ実装モジュールを成し得る。本明細書において言及されるモジュールは、いくつかの実施形態の例では、プロセッサ実装モジュールを含み得る。
【００６１】
同様に、本明細書に記載の方法またはルーチンは、少なくとも部分的にプロセッサで実装されていることができる。例えば、方法の動作のうちの少なくともいくつかはプロセッサまたはプロセッサで実装されたハードウェアモジュールによって実施され得る。動作のうちの一定のものの実施は、単一の機械内に常駐するもののみでなく、いくつもの機械に展開された１つ以上のプロセッサの間に分散されてもよい。いくつかの実施形態の例では、プロセッサまたは複数のプロセッサは、単一の場所（例えば、家庭環境内、職場環境内、またはサーバファームとして）に置かれ得るが、一方他の実施形態では、複数のプロセッサは、いくつもの場所に分散され得る。
【００６２】
１つ以上のプロセッサは、「クラウドコンピューティング」環境の中の関係する動作の実施に対応可能とするように、または「サービス型ソフトウェア」（ＳａａＳ）として動作し得る。例えば、動作のうちの少なくともいくつかは、１群のコンピュータ（機械の例はプロセッサを含む）によって実施されることができ、これらの動作がネットワーク（例えば、インターネット）を介して、および１つ以上の適当なインターフェース（例えば、アプリケーションプログラムインターフェース（ＡＰＩ））を介してアクセス可能である。
【００６３】
動作のうちの一定のものの実施は、単一の機械内に常駐するもののみでなく、いくつもの機械に展開された１つ以上のプロセッサの間に分散されてもよい。いくつかの実施形態の例では、１つ以上のプロセッサまたはプロセッサ実装モジュールは、単一の地理的場所（例えば、家庭環境内、職場環境内、またはサーバファーム内）に置かれ得る。他の実施形態の例では、１つ以上のプロセッサまたはプロセッサ実装モジュールは、いくつもの地理的場所にわたって分散され得る。
【００６４】
本明細書のいくつかの部分は、機械メモリ（例えば、コンピュータメモリ）内にビットまたは２値デジタル信号として格納されるデータ上での動作のアルゴリズムまたは記号的表現の観点で表される。これらのアルゴリズムまたは記号的表現は、データ処理技術の当業者によって、作業の実体を他の当業者に伝達するために使用される技術の例である。本明細書で使用される場合、「アルゴリズム」または「ルーチン」とは、自己無撞着な一連の動作、または所望の結果へと導く類似の処理である。この文脈において、アルゴリズム、ルーチン、および動作は、物理的分量の物理的処置を伴う。典型的に、しかし必ずしもそうではなく、かかる分量は、機械によって格納、アクセス、送信、結合、比較、または別様に処置される能力がある電気的、磁気的、または光学的信号の形を取り得る。主に一般的使用上の理由で、かかる信号を「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「用語」、「番号」、「数字」、および類似物などの語句を使用して称することは、時に好都合である。これらの語句は、しかしながら、単に好都合な標識であり、適当な物理的分量に関連付けられる。
【００６５】
特に別様に表明されない限り、「処理する」、「演算する」、「計算する」、「決定する」、「表す」、「表示する」、および類似物などの語句を使用した本明細書における検討は、メモリ（例えば、揮発性メモリ、不揮発性メモリ、またはこれらの組み合わせ）、レジスタ、または情報を受け取り、格納し、送信し、または表示する他の機械コンポーネントのうちの１つ以上の内部で物理的（例えば、電子的、磁気的、または光学的）な量として表されるデータを操作または変換する機械（例えば、コンピュータ）の行為または処理を指し得る。
【００６６】
本明細書で使用される場合、「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」または「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」へのあらゆる参照は、その実施形態と関係して記載される特定の要素、機能、構造、または特性が、少なくとも１つの実施形態に含まれることを意味する。本明細書の種々の場所において出現する「一実施形態では」という語句は、必ずしもすべて同一の実施形態を参照しない。
【００６７】
いくつかの実施形態は、「連結される」および「接続される」という表現およびこれらの派生語を使用して記載され得る。例えば、いくつかの実施形態は、２つ以上の要素が物理的または電気的に直接接触していることを示す「連結される」という用語を使用して記載され得る。「連結される」という用語は、しかしながら、２つ以上の要素が互いに直接接触していないが、なお互いに協働またはやりとりすることをも意味し得る。本実施形態は、この文脈に限定されない。
【００６８】
本明細書で使用される場合、「含む（ｃｏｍｐｒｉｓｅｓ）」、「含む（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｓ）」、「有する（ｈａｖｉｎｇ）」という用語またはこれらのあらゆる他の変形は、非排他的な包括を網羅することを意図する。例えば、要素の一覧を含む工程、方法、項目、または装置は、必ずしもこれらの要素のみに制限されず、かかる工程、方法、項目、または装置に明示的に列挙または内在されない他の要素を含み得る。さらに、明示的に反対に述べられない限り、「または（ｏｒ）」は包括の「または」を指し、排他の「または」ではない。例えば、条件ＡまたはＢは、Ａが真（または存在する）でありＢが偽（または存在しない）である、Ａが偽（または存在しない）でありＢが真（または存在する）である、ならびにＡおよびＢの両方が真（または存在する）のうちのいずれの１つによっても満たされる。
【００６９】
加えて、「１つの（ａ）」または「１つの（ａｎ）」の使用は、本明細書に記載の実施形態の要素およびコンポーネントについて記載するために採用される。これは単に便宜のため、および本明細書の大まかな要旨を付与するために行われるものである。本記載は、１つまたは少なくとも１つを含むように読み取られるべきであり、また単数は、そうでないことが意味されていることが明白でない限り、複数を含む。
【００７０】
またさらに、図面は説明のみを目的として、地図レンダリングシステムの好適な実施形態を描写している。当業者は、本明細書において説明される構造および方法の代替的な実施形態が、本明細書に記載の原理を逸脱することなく採用され得ることを、以下の検討から容易に認識するであろう。
【００７１】
本開示を一読すれば、当業者は、本明細書において開示される原理を使用して地図または他の種類の画像をレンダリングするためのシステムおよび工程のためのさらに追加的な代替の構造的および機能的設計を理解するであろう。よって、特定の実施形態および適用が説明および記載されたが、開示された実施形態は本明細書に開示される正確な構造および構成要素に制限されないことが理解されるものとする。当業者には明白な種々の修正、変更および変形は、添付の特許請求の範囲の精神および範囲を逸脱することなく、本明細書において開示される方法および装置の配置、動作および詳細においてなされ得る。
【図１】
2015508521.tif 000003
【図２】
2015508521.tif 000004
【図３】
2015508521.tif 000005
【図４Ａ】
2015508521.tif 000006
【図４Ｂ】
2015508521.tif 000007
【図４Ｃ】
2015508521.tif 000008
【図５】
2015508521.tif 000009
【図６】
2015508521.tif 000010
【図７】
2015508521.tif 000011
【図８】
2015508521.tif 000012
【図９】
2015508521.tif 000013
【図１０】
2015508521.tif 000014
【図１１Ａ】
2015508521.tif 000015
【図１１Ｂ】
2015508521.tif 000016
【図１２】
2015508521.tif 000017
【図１３】
2015508521.tif 000018
【手続補正書】
【提出日】平成26年8月13日(2014.8.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
地図作成アプリケーションの経路選定機能を起動することに応じる経路のための地図データを先読みするための、コンピュータで実装される方法であって、
コンピュータを使用して、経路を生成するために第１の経路選定機能を起動することであって、前記経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって画定される、第１の経路選定機能を起動することと、
前記コンピュータを使用して、前記起点に関連付けられる第１のタイル半径を決定することであって、前記第１のタイル半径が、前記起点の周りおよびそれを含む第１の地図表面積に対応する、第１のズーム段階の第１の組の地図データタイルを画定する、第１のタイル半径を決定することと、
前記コンピュータを使用して、前記目的地に関連付けられる第２のタイル半径を決定することであって、前記第２のタイル半径が、前記目的地の周りおよびそれを含む第２の地図表面積に対応する、前記第１のズーム段階の第２の組の地図データタイルを画定する、第２のタイル半径を決定することと、
前記コンピュータを使用して、前記起点と前記目的地との間の前記経路に沿う１組の地点と、前記１組の地点のための１組の地図タイル半径とを決定することであって、前記１組の地図タイル半径は、前記経路に沿う前記１組の地点の周りおよびそれを含む１組の地図表面積に対応する、前記第１のズーム段階の第３の組の地図データタイルを画定し、前記第１のタイル半径、前記第２のタイル半径、および前記１組の地図タイル半径のうちの１つのうちの少なくとも１つが、互いに異なり、
前記コンピュータを使用して、前記第１のズーム段階とは異なる第２のズーム段階の第４の組の地図データタイルを決定することであって、前記第４の組の地図データタイルは、前記第１のタイル半径、前記第２のタイル半径、または前記１組の地図タイル半径のうちの１つのうちの少なくとも１つによって画定され、前記第４の組の地図データタイルは、前記第１、前記第２、または前記第３の地図データタイルとは異なる倍率での対応する地図面積を提供する、決定することと、
外部の地図データベースから、前記第１、前記第２、前記第３、および前記第４の組の地図データタイルを、検索することであって、前記地図データベースが、複数の地図データタイルを格納し、前記第１、前記第２、前記第３、および前記第４の組の地図データタイルが、前記地図データベースの前記複数の地図データタイルの部分を含む、検索することと、
前記第１、前記第２、前記第３、および前記第４の組の地図データタイルを、それぞれ第１、第２、第３、および第４の組の先読み地図データタイルとして、ローカルメモリに格納することであって、前記ローカルメモリは、前記地図データベースと異なる、格納することと、
前記外部の地図データベースの地図データタイルではなく、前記第１、第２、または前記第３の組の、前記ローカルメモリの先読み地図データタイルのうちの少なくとも１つを使用して、前記第１のズーム段階の前記経路の少なくとも一部分を表示するために第１のレンダリング機能を起動することと、
前記外部の地図データベースの地図データタイルではなく、前記第４の組の前記ローカルメモリの先読み地図データタイルを使用して、前記第２のズーム段階の前記経路の少なくとも一部分を表示するために第２のレンダリング機能を起動することであって、前記第４の組の地図データタイルは、前記外部の地図データベースから検索され、前記第１のレンダリング機能を起動することに先立って前記ローカルメモリに格納される、起動することと、を含む、コンピュータで実装される方法。
【請求項２】
前記第１のタイル半径、前記第２のタイル半径、または前記第１の組の地図タイル半径のうちの１つのうちの１つ上に、閲覧ウィンドウが中心付けられるとき、前記第１のタイル半径、前記第２のタイル半径、および前記第１の組の地図タイル半径のうちの１つのうちの少なくとも１つが、より大きいと決定することをさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項３】
前記第４の組の地図データタイルが、前記経路が閲覧ウィンドウの中央の閾値距離内であるとき、前記経路に沿う地点によって画定される、請求項１に記載のコンピュータで実装される方法。
【請求項４】
前記コンピュータを使用し、前記経路に沿わない対象となる地点と関連付けられる第４のタイル半径を決定することであって、前記第４のタイル半径が、高い優先度の前記経路に沿わない場所に対応する第４の組の地図データタイルを画定する、決定することと、前記第４の組の地図データタイルに前記地図データベースからアクセスすることと、前記第４の組の地図データタイルを第４の組の先読み地図データタイルとして前記ローカルメモリに格納することであって、前記第２のレンダリング機能を起動することが、前記第４の組の先読み地図データタイルを使用する、格納することと、をさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項５】
前記第１、前記第２、および前記第１の組の地図タイル半径のうちの各々を決定することが、クライアントデバイスの割り当てられるメモリサイズに基づく、請求項１に記載のコンピュータで実装される方法。
【請求項６】
前記第１のタイル半径、前記第２のタイル半径、および前記第１の組の地図タイル半径が、前記クライアントデバイスの帯域幅が閾値未満である場合、前記クライアントデバイスの前記帯域幅が前記閾値を超える場合より小さくなるように、および前記クライアントデバイスのプロセッサ負荷が閾値を超える場合、前記クライアントデバイスの前記プロセッサ負荷が前記閾値未満である場合より小さくなるように、決定すること、をさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項７】
コンピュータデバイスであって、
通信ネットワークインターフェースと、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに連結される１つ以上のメモリと、
前記１つ以上のプロセッサに連結される表示デバイスと、を備え、
前記１つ以上のメモリは、その中に格納された、コンピュータで実行可能な命令を含み、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに：
コンピュータを使用して、第１の経路を生成するために第１の経路選定機能を起動することであって、前記第１の経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって画定される、第１の経路選定機能を起動することと、
前記起点と前記目的地とを含む前記第１の経路に沿う１組の地点と関連付けられる第１の組の地図タイル半径であって、第１の組の地図タイル半径が、前記第１の経路の周りおよびそれを含む地図表面積に対応する、第１のズーム段階の第１の組の地図データタイルを画定する、第１の組の地図タイル半径を決定することと、
前記第１のズーム段階とは異なる第２のズーム段階の第２の組の地図データタイルを決定することであって、前記第２の組の地図データタイルが前記第１の組の地図タイル半径のうちの少なくとも１つによって画定され、前記第２の組の地図データタイルが前記第１の組の地図データタイルとは異なる倍率での対応する地図面積を提供する、決定することと、
外部の地図データベースから、前記第１の組の地図データタイルおよび前記第２の組の地図データタイルを、検索することであって、前記地図データベースが、前記地図データを複数の地図データタイルとして格納し、前記第１の組の地図データタイルおよび前記第２の組の地図データタイルが、前記地図データベースの前記複数の地図データタイルの部分を含む、検索することと、
前記第１の組の地図データタイルおよび前記第２の組の地図データタイルを、それぞれ第１の組および第２の組の先読みされた地図データタイルとして、ローカルメモリに格納することであって、前記ローカルメモリは、前記地図データベースと異なる、格納することと、
前記外部の地図データベースの地図データタイルではなく、前記ローカルメモリの前記第１の組の先読み地図データタイルを使用して、前記第１の経路の少なくとも一部分を表示するために第１のレンダリング機能を起動することと、
前記第２の組の先読み地図データタイルを使用して、前記第２のズーム段階の前記経路の少なくとも一部分を表示するために第２のレンダリング機能を起動することであって、前記第２の組の地図データタイルは、前記外部の地図データベースから検索され、前記第１のレンダリング機能を起動することに先立って前記ローカルメモリに格納される、起動することと、を行わせる、コンピュータデバイス。
【請求項８】
コンピュータデバイスであって、
通信ネットワークインターフェースと、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに連結される１つ以上のメモリと、
前記１つ以上のプロセッサに連結される表示デバイスと、を備え、
前記１つ以上のメモリは、その中に格納された、コンピュータで実行可能な命令を含み、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに：
コンピュータを使用して、経路を生成するために経路選定機能を起動し、前記経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって画定される、経路選定機能を起動することと、
前記起点の周りおよびそれを含む第１の地図表面積に対応する第１のズーム段階の第１の組の地図データタイル、前記目的地の周りおよびそれを含む第２の地図表面積に対応する前記第１のズーム段階の第２の組の地図データタイル、前記起点と前記目的地との間の前記経路の周りの第３の地図表面積に対応する前記第１のズーム段階の第３の組の地図データタイルを、決定することであって、経路地図表面積が、前記起点の周りおよびそれを含む前記第１の地図面積、前記目的地の周りおよびそれを含む前記第２の地図面積、および前記経路の周りおよびそれを含む前記第３の地図表面積を含む、決定することと、
前記第１のズーム段階より異なる第２のズーム段階の第４の組の地図データタイルを決定することであって、前記第４の組の地図データタイルは、前記経路に沿う面積に対応し、前記第４の組の地図データタイルは、前記第１、前記第２、または前記第３の地図データタイルとは異なる倍率での対応する地図面積を提供する、決定することと、
外部の地図データベースから、前記第１の組、前記第２の組、第３、および前記第４の組の地図データタイルを検索することであって、前記地図データベースが、複数の地図データタイルとして前記地図データを格納し、前記第１、第２、第３、および第４の組の地図データタイルが、前記地図データベースの前記複数の地図データタイルの部分を含む、検索することと、
前記第１の組、前記第２の組、第３、および前記第４の組の地図データタイルを、それぞれ第１、第２、第３、および第４の組の先読みされた地図データタイルとして、ローカルメモリに格納することであって、前記ローカルメモリは、前記地図データベースと異なる、格納することと、
前記地図データベースの地図データタイルではなく、前記第１、第２、または前記第３の組の、前記ローカルメモリの先読みされた地図データタイルのうちの少なくとも１つを使用して、前記第１のズーム段階の前記経路の少なくとも一部分を表示するために第１のレンダリング機能を起動することと、
前記外部の地図データベースの地図データタイルではなく、前記ローカルメモリの前記第４の組の先読み地図データタイルを使用して、前記第２のズーム段階の前記経路の少なくとも一部分を表示するために第２のレンダリング機能を起動することであって、前記第４の組の地図データタイルは、前記外部の地図データベースから検索され、前記第１のレンダリング機能を起動することに先立って前記ローカルメモリに格納される、起動することと、を行わせる、コンピュータデバイス。
【請求項９】
地図作成アプリケーションのための地図データを先読みするための、コンピュータで実装される方法であって、
コンピュータを使用して、経路を生成するために、第１の経路選定機能を起動することであって、前記経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって、画定される、第１の経路選定機能を起動することと、
前記コンピュータを使用して、第１の地図表面積に対応する第１のズーム段階の第１の組の地図データタイルを決定することであって、前記第１の組の地図データタイルが前記起点を含む、決定することと、
前記コンピュータを使用して、第２の地図表面積に対応する前記第１のズーム段階の第２の組の地図データタイルを決定することであって、前記第２の組の地図タイルが前記目的地を含む、決定することと、
前記コンピュータを使用して、前記起点と前記目的地との間の前記経路に沿う１組の地点と、前記経路に沿う前記１組の地点を含む１組の地図表面積に対応する前記第１のズーム段階の第３の組の地図タイルと、を決定することと、
前記コンピュータを使用して、第２のズーム段階の第４の組の地図データタイルを決定することであって、前記第４の組の地図データタイルは、前記起点、前記目的地、または前記経路に沿う前記１組の地点を含む前記１組の地図表面積のうちの少なくとも１つを含み、前記第４の組の地図データタイルは、前記第１、前記第２、または前記第３の地図データタイルとは異なる倍率での対応する地図面積を提供する、決定することと、
前記コンピュータを使用して、外部の地図データベースから、前記第１、前記第２、前記第３、および前記第４の組の地図データタイルを検索することと、
前記コンピュータを使用して、前記第１、前記第２、前記第３、および前記第４の組の地図データタイルをローカルメモリに格納することと、
前記コンピュータを使用して、前記ローカルメモリに格納された前記第１、前記第２、前記第３、および前記第４の組の地図データタイルのうちの少なくとも１つを使用して、前記第１のズーム段階の前記経路の少なくとも一部分を表示するために第１のレンダリング機能を起動することと、
前記コンピュータを使用して、前記外部の地図データベースの地図データタイルではなく、前記ローカルメモリに格納された前記第４の組の地図データタイルを使用して、前記第２のズーム段階の前記経路の少なくとも一部分を表示するために第２のレンダリング機能を起動することであって、前記第４の組の地図データタイルは、前記外部の地図データベースから検索され、前記第１のレンダリング機能を起動することに先立って前記ローカルメモリに格納される、起動することと、を含む、コンピュータで実装される方法。
【請求項１０】
前記第４の組の地図データタイルが、閲覧ウィンドウの中央の閾値距離内である前記経路に沿う地点によって画定される、請求項２１に記載のコンピュータで実装される方法。
【請求項１１】
前記コンピュータを使用して、第１のタイル半径および第２のタイル半径のうちの少なくとも１つが、前記第１のタイル半径または前記第２のタイル半径のうちの１つ上に閲覧ウィンドウが中心付けられるとき、より大きいと決定することをさらに含む、請求項２１に記載のコンピュータで実装される方法。
【請求項１２】
前記コンピュータを使用して、前記第１および第２の組の地図データタイルを決定することが、前記クライアントデバイスの配布されるメモリサイズに基づく、請求項２１に記載のコンピュータで実装される方法。
【請求項１３】
前記コンピュータを使用して、前記経路に沿わない対象となる地点と関連付けられるタイル半径を決定することであって、前記タイル半径は、高い優先度を有する前記経路に沿わない場所に対応する第５の組の地図データタイルを画定する、タイル半径を決定することと、
前記コンピュータを使用して、前記地図データベースから、前記第５の組の地図データタイルにアクセスすることと、
前記コンピュータを使用して、前記第５の組の地図データタイルを前記ローカルメモリに格納することであって、前記コンピュータを使用して、前記第５の組の地図データタイルを使用する前記第２のレンダリング機能を起動する、格納することと、をさらに含む、請求項２１に記載のコンピュータで実装される方法。
【請求項１４】
第１のタイル半径および第２のタイル半径が、前記クライアントデバイスの帯域幅が閾値未満である場合、前記クライアントデバイスの前記帯域幅が前記閾値を超える場合よりさらに小さいと決定することと、前記第１のタイル半径および前記第２のタイル半径が、前記クライアントデバイスのプロセッサ負荷が閾値を超える場合、前記クライアントデバイスの前記プロセッサ負荷が前記閾値未満である場合よりさらに小さいと決定することと、をさらに含む、請求項２１に記載のコンピュータで実装される方法。
【請求項１５】
コンピュータデバイスであって、
通信ネットワークインターフェースと、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに連結される１つ以上のメモリと、
前記１つ以上のプロセッサに連結される表示デバイスと、を備え、
前記１つ以上のメモリは、その中に格納された、コンピュータで実行可能な命令を含み、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
経路を生成するために第１の経路選定機能を起動することであって、前記経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって、画定される、第１の経路選定機能を起動することと、
第１の地図表面積に対応する第１のズーム段階の第１の組の地図データタイルを決定することであって、前記第１の組の地図データタイルが前記起点を含む、決定することと、
第２の地図表面積に対応する前記第１のズーム段階の第２の組の地図データタイルを決定することであって、前記第２の組の地図タイルが前記目的地を含む、決定することと、
前記起点と前記目的地との間の前記経路に沿う１組の地点と、前記経路に沿う前記１組の地点を含む１組の地図表面積に対応する前記第１のズーム段階の第３の組の地図タイルと、を決定することと、
第２のズーム段階の第４の組の地図データタイルを決定することであって、前記第４の組の地図データタイルは、前記起点、前記目的地、または前記経路に沿う前記１組の地点を含む前記１組の地図表面積のうちの少なくとも１つを含み、前記第４の組の地図データタイルは、前記第１、前記第２、または前記第３の地図データタイルとは異なる倍率での対応する地図面積を提供する、決定することと、
外部の地図データベースから、前記第１、前記第２、前記第３、および前記第４の組の地図データタイルを検索することと、
前記第１、前記第２、前記第３、および前記第４の組の地図データタイルをローカルメモリに格納することと、
前記ローカルメモリに格納された前記第１、前記第２、前記第３、および前記第４の組の地図データタイルのうちの少なくとも１つを使用して、前記第１のズーム段階の前記経路の少なくとも一部分を表示するために第１のレンダリング機能を起動することと、
前記外部の地図データベースの地図データタイルではなく、前記ローカルメモリに格納された前記第４の組の地図データタイルを使用して、前記第２のズーム段階の前記経路の少なくとも一部分を表示するために第２のレンダリング機能を起動することであって、前記第４の組の地図データタイルは、前記外部の地図データベースから検索され、前記第１のレンダリング機能を起動することに先立って前記ローカルメモリに格納される、起動することと、を行わせる、コンピュータで読み取り可能な媒体。
【請求項１６】
命令を格納するコンピュータで読み取り可能な媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
経路を生成するために第１の経路選定機能を起動することであって、前記経路は、起点、目的地、および前記起点と前記目的地とをつなぐ１組の通り道によって、画定される、第１の経路選定機能を起動することと、
第１の地図表面積に対応する第１のズーム段階の第１の組の地図データタイルを決定することであって、前記第１の組の地図データタイルが前記起点を含む、決定することと、
第２の地図表面積に対応する前記第１のズーム段階の第２の組の地図データタイルを決定することであって、前記第２の組の地図タイルが前記目的地を含む、決定することと、
前記起点と前記目的地との間の前記経路に沿う１組の地点と、前記経路に沿う前記１組の地点を含む１組の地図表面積に対応する前記第１のズーム段階の第３の組の地図タイルと、を決定することと、
第２のズーム段階の第４の組の地図データタイルを決定することであって、前記第４の組の地図データタイルは、前記起点、前記目的地、または前記経路に沿う前記１組の地点を含む前記１組の地図表面積のうちの少なくとも１つを含み、前記第４の組の地図データタイルは、前記第１、前記第２、または前記第３の地図データタイルとは異なる倍率での対応する地図面積を提供する、決定することと、
外部の地図データベースから、前記第１、前記第２、前記第３、および前記第４の組の地図データタイルを検索することと、
前記第１、前記第２、前記第３、および前記第４の組の地図データタイルをローカルメモリに格納することと、
前記ローカルメモリに格納された前記第１、前記第２、前記第３、および前記第４の組の地図データタイルのうちの少なくとも１つを使用して、前記第１のズーム段階の前記経路の少なくとも一部分を表示するために第１のレンダリング機能を起動することと、
前記外部の地図データベースの地図データタイルではなく、前記ローカルメモリに格納された前記第４の組の地図データタイルを使用して、前記第２のズーム段階の前記経路の少なくとも一部分を表示するために第２のレンダリング機能を起動することであって、前記第４の組の地図データタイルは、前記外部の地図データベースから検索され、前記第１のレンダリング機能を起動することに先立って前記ローカルメモリに格納される、起動することと、を行わせる、コンピュータで読み取り可能な媒体。
【国際調査報告】
2015508521.tif 000019
2015508521.tif 000020