(57)【要約】短い期間又は距離において連続して複数の曲がり角が存在する場合にナビゲーション支援を提供する技術及びツールについて記載する。一実施形態で、ルート情報は、所定の距離より離れていない連続する複数の曲がり角を決定するようレビューされ得る。それらの所謂“密接な曲がり角”は、それらの曲がり角を単一のコンビネーション命令においてアナウンスすることによって、他の曲がり角とは違うように扱われ得る。追加の車線ガイダンスがまた提供され得る。他の実施形態で、音声フィードバックは、ユーザが曲がり角を曲がり終えたことを示すために使用され得る。そのような音声フィードバックは、特定された密接な曲がり角と組み合わされて、すなわち、他の曲がり角又はイベントとは無関係であってよい。音声フィードバックはまた、ユーザがディスプレイをタップするインジケーションであってよく、タッピングにより次の曲がり角の即時のインジケーションが得られる。
2014519606.tif 000002
【特許請求の範囲】
【請求項１】
ナビゲーションシステムにおいて経路命令を提供する方法であって、
所定の距離よりも離れていない連続する少なくとも２つの曲がり角を決定するよう、所望の目的地へのルート情報をレビューするステップと、
決定された前記曲がり角について、ルート内の適切な時点で、前記少なくとも２つの曲がり角及び車線ガイダンスを含む口頭のコンビネーション命令をアナウンスするステップと
を有する方法。
【請求項２】
前記コンビネーション命令における個々の前記決定された曲がり角を含む別個の文書命令として、前記ルートにおいて各曲がり角をリストアップするステップ
を更に有する請求項１に記載の方法。
【請求項３】
曲がり角が完了した場合に、音声インジケーションを再生するステップ
を更に有する請求項１に記載の方法。
【請求項４】
追加情報のためのユーザコマンドを受け取り、前記ルートにおける次の曲がり角の音声命令を提供するステップ
を更に有する請求項３に記載の方法。
【請求項５】
文書命令として、決定された曲がり角について現在位置情報を取得するステップを更に有し、前記コンビネーション命令に含まれる前記決定された曲がり角は、独立した曲がり角として別個にリストアップされる、
請求項１に記載の方法。
【請求項６】
サーバコンピュータから曲がり角間の距離及び前記ルート情報を受け取るステップ
を更に有する請求項１に記載の方法。
【請求項７】
携帯電話におけるナビゲーションシステムにおいて経路命令を提供する方法であって、
サーバコンピュータから曲がり角間の距離及びルートを受け取るステップと、
前記曲がり角間の距離の合計を計算するステップと、
所定の距離より小さい計算された合計を有する密接な曲がり角を特定するステップと、
前記密接な曲がり角を単一のボイスコマンドにグルーピングし、前記密接な曲がり角のグループに達する前に複数の曲がり角がアナウンスされるようにするステップと、
前記携帯電話におけるユーザインターフェース上の文書命令において前記密接な曲がり角の夫々を別々の航路定点としてリストアップするステップと
を有する方法。
【請求項８】
曲がり角が完了した場合に、音声インジケーションを提供するステップ
を更に有する請求項７に記載の方法。
【請求項９】
追加情報のためのユーザ入力コマンドのインジケーションを受け取り、前記ユーザ入力コマンドに応答して前記ルートにおける次の曲がり角の音声命令を再生するステップ
を更に有する請求項８に記載の方法。
【請求項１０】
携帯電話におけるナビゲーションシステムにおいて経路命令を提供するシステムであって、
地図アプリケーションと、
前記携帯電話の現在位置を見つける位置決め探知器であって、衛星情報、セルタワー情報、又は無線送信器情報の中の１又はそれ以上を用いて前記現在位置を決定する前記位置決め探知器と、
前記マップアプリケーションと前記位置決め探知器との間にあり、それらの間でポジショニング情報をパスするオペレーティングシステムと
を有し、
前記マップアプリケーションは、曲がり角の間の距離を含むルート情報を受け取り、２又はそれ以上の曲がり角を含む密接な曲がり角を計算し、該密接な曲がり角が車線ガイダンス情報とともに単一の命令としてアナウンスされ得るようにする、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータ支援のナビゲーションツールは、幅広い支持を得ている。ユーザは、様々なウェブサイトで入手可能な地図ナビゲーションツールにより住所又は方向を見つけることができる。幾つかのソフトウェアプログラムは、ユーザが地図上をナビゲートすること、例えば、地面に向かってズームインすること若しくは地面から離れてズームアウトすること、又は異なる地理的位置の間を移動すること、を可能にする。車において、ＧＰＳデバイスは、何年も初歩的な道路ナビゲーションを提供してきた。最近になって、携帯電話及び他のモバイルコンピューティングデバイスのための地図ナビゲーションソフトウェアは、ユーザが、地理的特徴、街、都市、田舎、及び州の位置、道路、並びに建物に関する詳細を示す地図をズームイン、ズームアウト、及び移動することを可能にした。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
多くのナビゲーションシステムは、複数の曲がり角が短い距離で連続して起こり得る状況を考慮することなく、全ての曲がり角を同じように扱う。例えば、ルート内で３マイル未満に複数の曲がり角がある場合に、前の曲がり角を曲がったことが検出されると次の曲がり角がアナウンスされるので、ユーザはしばしば曲がり角を曲がり損なう羽目になる。次の曲がり角がアナウンスされる時までに、ユーザは曲がり角に備える時間をほとんど有さず、あるいは、既に曲がり損なっている。
【課題を解決するための手段】
【０００３】
短い期間又は距離において連続して複数の曲がり角が存在する場合にナビゲーション支援を提供する技術及びツールについて記載する。
【０００４】
一実施形態で、ルート情報は、所定の距離より離れていない連続する複数の曲がり角を決定するようレビューされ得る。一例において、所定の距離は０．５マイルであるが、他の距離が使用されてよい。そのような密接な曲がり角は、それらの曲がり角を単一のコンビネーション命令においてアナウンスすることによって、他の曲がり角とは違うように扱われ得る。追加の車線ガイダンスがまた提供され得る。よって、３つの曲がり角Ｎ、Ｎ＋１及びＮ＋２について、アナウンスは次のとおりであってよい：曲がり角のアナウンス（Ｎ）、曲がり角のアナウンス（Ｎ＋１）、車線ガイダンス（Ｎ＋２）。
【０００５】
他の実施形態で、音声フィードバックは、ユーザが曲がり角を曲がり終えたことを示すために使用され得る。よって、ユーザが曲がり角を曲がり終えると、ビープ音は、ルートにおける他のステップが完了されたことを示すことができる。そのような音声フィードバックは、特定された密接な曲がり角と組み合わされて、すなわち、他の曲がり角又はイベントとは無関係であってよい。音声フィードバックはまた、ユーザがディスプレイをタップするインジケーションであってよく、タッピングにより次の曲がり角の即時のインジケーションが得られる。このように、ユーザが曲がり角Ｎを曲がり終えた場合に、音声インジケーションが再生される。次いで、ユーザは、更なる情報をリクエストする入力コマンドを与えることができる。例えば、ユーザは、次いで、クライアントデバイスのタッチスクリーンをタップすることができ、クライアントデバイスは、次のアナウンスを再生する：曲がり角のアナウンス（Ｎ＋１）、車線ガイダンス（Ｎ＋２）。他のコマンド、例えば、ボイスコマンド等も使用され得る。
【０００６】
この項目は、詳細な説明において以下で更に記載される簡易的な形において概念の選択を導入するよう設けられる。この項目は、請求対象の重要な特徴又は必須の特徴を特定するよう意図されず、且つ、請求対象の適用範囲を決定する際に補助として用いられるよう意図されない。本発明の更なる特徴及び利点は、添付の図面を参照して進行する実施形態に以下の詳細な説明から明らかになるであろう。
【０００７】
本発明の前述の及び他の目的、特徴、及び利点は、添付の図面を参照して進行する以下の詳細な説明から、より明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】ここで記載される技術及びツールが実施されるところの例となるモバイルコンピュータデバイスを表すブロック図である。
【図２】地図表示及びリスト表示をレンダリングする地図ナビゲーションツールのための例となるソフトウェアアーキテクチャを表すブロック図である。
【図３ａ】地図ナビゲーションツールを用いてレンダリングされる一般化された地図表示及び一般化されたリスト表示の特徴を表す図である。
【図３ｂ】地図ナビゲーションツールを用いてレンダリングされる一般化された地図表示及び一般化されたリスト表示の特徴を表す図である。
【図４ａ】地図ナビゲーションツールを用いてレンダリングされるリスト表示のユーザインターフェース特徴を表す例となるスクリーンショットである。
【図４ｂ】地図ナビゲーションツールを用いてレンダリングされるリスト表示のユーザインターフェース特徴を表す例となるスクリーンショットである。
【図４ｃ】地図ナビゲーションツールを用いてレンダリングされるリスト表示のユーザインターフェース特徴を表す例となるスクリーンショットである。
【図５ａ】密接な曲がり角の例である。
【図５ｂ】密接な曲がり角の例である。
【図６】密接な曲がり角について音声命令を提供する方法のフローチャートである。
【図７】密接な曲がり角を特定する方法の詳細なフローチャートである。
【図８】曲がり角又はルートにおける他のイベントの完了に応答して音声キューを再生する方法のフローチャートである。
【図９】曲がり角がアナウンスされる場合に様々な実施形態を表す。
【発明を実施するための形態】
【０００９】
［モバイルコンピュータデバイスの例］
図１は、ここで記載される技術及び解決法を実施可能なモバイルコンピュータデバイス（１００）の詳細な例を表す。モバイルデバイス（１００）は、全体として（１０２）で示される、様々な任意のハードウェア及びソフトウェアコンポーネントを含む。一般に、モバイルデバイスにおけるコンポーネント（１０２）は、デバイスの如何なる他のコンポーネントとも通信することができるが、例示の簡単のために、全ての接続が示されているわけではない。モバイルデバイスは、様々なコンピュータデバイス（例えば、携帯電話、スマートホン、携帯型コンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットデバイス、ネットブック、メディアプレーヤ、パーソナルデジタルアシスタント（ＰＤＡ）、カメラ、ビデオカメラ、等）のいずれかであってよく、Ｗｉ−Ｆｉ、セルラー、又は衛星ネットワークのような、１又はそれ以上のモバイル通信ネットワーク（１０４）との無線双方向通信を可能にすることができる。
【００１０】
表されるモバイルデバイス（１００）は、信号符号化、データ処理、入出力処理、電力制御、及び／又は他の機能のようなタスクを実行するコントローラ又はプロセッサ（１１０）（例えば、信号プロセッサ、マイクロプロセッサ、ＡＳＩＣ、又は他の制御及び処理ロジック回路）を有する。オペレーティングシステム（１１２）は、コンポーネント（１０２）の割り当て及び使用を制御し、ここで記載される革新的な特徴の１又はそれ以上を実施する地図ナビゲーションツールのような１又はそれ以上のアプリケーションプログラム（１１４）を支援することができる。地図ナビゲーションソフトウェアに加えて、アプリケーションプログラムは、一般的なコンピュータアプリケーション（例えば、電話アプリケーション、電子メールアプリケーション、カレンダ、コンタクトマネージャ、ウェブブラウザ、メッセージングアプリケーション）、又は如何なる他のコンピュータアプリケーションも含むことができる。
【００１１】
表されるモバイルデバイス（１００）は、メモリ（１２０）を有する。メモリ（１２０）は、非リムーバブルメモリ（１２２）及び／又はリムーバブルメモリ（１２４）を含むことができる。非リムーバブルメモリ（１２２）は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスク、又は他のよく知られたメモリ記憶技術を含むことができる。リムーバブルメモリ（１２４）は、ＧＳＭ（登録商標）（Global  System  for  Mobile  Communications）通信システムにおいてよく知られているフラッシュメモリ若しくは加入者識別モジュール（ＳＩＭ）カード、又は“スマートカード”のような他のよく知られたメモリ記憶技術を含むことができる。メモリ（１２０）は、オペレーティングシステム（１１２）及びアプリケーション（１１４）を実行するためのデータ及び／又はコードを記憶するために使用され得る。例となるデータは、１若しくはそれ以上のネットワークサーバ又は他のデバイスとの間で１若しくはそれ以上の有線又は無線ネットワークを介して送受信されるウェブページ、テキスト、画像、音響ファイル、ビデオデータ、又は他のデータセットを含むことができる。メモリ（１２０）は、国際移動電話加入者識別番号（ＩＭＳＩ）のような加入者識別子と、国際移動電話機器識別番号（ＩＭＥＩ）のような機器識別子とを記憶するために使用され得る。そのような識別子は、ユーザ及び機器を識別するためにネットワークサーバへ送信され得る。
【００１２】
モバイルデバイス（１００）は、タッチスクリーン（１３２）（例えば、仮想キーボード又はキーパッドに対する指タップ入力、指ジェスチャ入力、又はキー打ち入力を捕捉することができる。）、マイクロホン（１３４）（例えば、音声入力を捕捉することができる。）、カメラ（１３６）（例えば、静止画及び／又はビデオ画像を捕捉することができる。）、物理的なキーボード（１３８）、ボタン及び／又はトラックボール（１４０）のような１又はそれ以上の入力デバイス（１３０）と、スピーカ（１５２）及びディスプレイ（１５４）のような１又はそれ以上の出力デバイス（１５０）とを支援することができる。他の可能な出力デバイス（図示せず。）は、圧電性の又は他の触覚に基づく出力デバイスを含むことができる。幾つかのデバイスは、１よりも多い入出力機能を提供することができる。例えば、タッチスクリーン（１３２）及びディスプレイ（１５４）は、単一の入出力デバイスにまとめられ得る。
【００１３】
コンピュータデバイス１００は、１又はそれ以上のナチュラルユーザインターフェース（ＮＵＩ）を提供することができる。例えば、オペレーティングシステム１１２又はアプリケーション１１４は、ユーザがボイスコマンドを介してデバイス１００を操作することを可能にする音声ユーザインターフェースの部分として音声認識ソフトウェアを有することができる。例えば、ユーザのボイスコマンドは、入力を地図ナビゲーションツールへ与えるために使用され得る。
【００１４】
無線モデム（１６０）は、１又はそれ以上のアンテナ（図示せず。）へ結合されてよく、当該技術においてよく理解されているように、プロセッサ（１１０）と外部デバイスとの間の双方向通信を支援することができる。モデム（１６０）は総称的に示されており、例えば、モバイル通信ネットワーク（１０４）との長距離通信のためのセルラーモデム、あるいは、外部のブルートゥース装備デバイス又は局所無線データネットワーク若しくはルータとの短距離通信のためのブルートゥース互換モデム（１６４）又はＷｉ−Ｆｉ互換モデム（１６２）を含むことができる。無線モデム（１６０）は、一般的に、単一のセルラーネットワーク内、セルラーネットワーク間、又はモバイルデバイスと公衆交換電話網（ＰＳＴＮ）との間のデータ及び音声通信のためのＧＳＭネットワークのような１又はそれ以上のセルラーネットワークと通信するよう構成される。
【００１５】
モバイルデバイスは、少なくとも１つの入出力ポート（１８０）、電源（１８２）、グローバルポジショニングシステム（ＧＰＳ）受信器のような衛星ナビゲーションシステム受信器（１８４）、デバイス１００の向き及び移動を検出し且つジェスチャコマンドを入力として受け取る加速度計、ジャイロスコープ、若しくは赤外線近接センサのようなセンサ（１８６）、トランシーバ（１８８）（アナログ又はデジタル信号を無線送信する。）、及び／又は物理コネクタ（１９０）を更に有することができる。物理コネクタ（１９０）は、ＵＳＢポート、ＩＥＥＥ１３９４（ファイヤワイヤ）ポート、及び／又はＲＳ−２３２ポートであってよい。表されるコンポーネント（１０２）は、図示されるコンポーネントの何れも削除可能であり且つ他のコンポーネントが付加され得るので、必要且つ包括的ではない。
【００１６】
モバイルデバイスは、衛星ナビゲーションシステム受信器（１８４）（例えば、ＧＰＳ受信器）を介して受信された情報に基づき、モバイルデバイスの位置を示す位置データを決定することができる。代替的に、モバイルデバイスは、他の方法において、モバイルデバイスの位置を示す位置データを決定することができる。例えば、モバイルデバイスの位置は、セルラーネットワークのセルタワー１０４間の三角測量によって決定され得る。あるいは、モバイルデバイスの位置は、モバイルデバイスの近くのＷｉ−Ｆｉルータの既知の位置に基づき決定され得る。位置データは、実施及び／又はユーザ設定に依存して、毎秒及びその他基準において、更新され得る。位置データの源にかかわらず、モバイルデバイスは、地図ナビゲーションにおける使用のために、位置データを地図ナビゲーションツールへ与えることができる。例えば、地図ナビゲーションツールは、オペレーティングシステム（１１２）（これは、言い換えると、モバイルデバイスの他のコンポーネントから更新された位置データを得てよい。）によって顕在化されるインターフェースを通じて現在の位置データを周期的にリクエスト又はポーリングし、あるいは、オペレーティングシステム（１１２）は、更新された位置データを、そのような更新を登録しているいずれかのアプリケーション（例えば、地図ナビゲーションツール）へコールバックメカニズムを通じて転送してよい。
【００１７】
地図ナビゲーションツール及び／又は他のソフトウェア若しくはハードウェアコンポーネントを用いて、モバイルデバイス（１００）は、ここで記載される技術を実施する。例えば、プロセッサ（１００）は、モバイルデバイスの現在位置に対する変更及び／又はユーザ入力を受けて地図表示及び／又はリスト表示を更新することができる。クライアントコンピュータデバイスとして、モバイルデバイス（１００）は、リクエストをサーバコンピュータデバイスへ送信し、サーバコンピュータデバイスからの返信として地図画像、距離、方向、他の地図データ、検索結果又は他のデータを受信することができる。
【００１８】
モバイルデバイス（１００）は、様々なタイプのサービス（例えば、コンピューティングサービス）がコンピューティング“クラウド”によって提供されるところの実施環境の部分であってよい。例えば、クラウドは、インターネットのようなネットワークを介して接続されている様々なタイプのユーザ及びデバイスへクラウドに基づくサービスを提供する、中央集権的に配置された又は分散されたコンピュータデバイスの集合を有することができる。幾つかのタスク（例えば、ユーザ入力の処理及びユーザインターフェースの提示）は、ローカルのコンピュータデバイスにおいて実行されてよく、一方、他のタスク（例えば、その後の処理で使用されるデータの記憶）は、クラウドにおいて実行されてよい。
【００１９】
図１はモバイルデバイス（１００）を表し、より一般的には、ここで記載される技術及び解決法は、デスクトップコンピュータ、テレビ受像機スクリーン、又はテレビ受像機へ接続されるデバイス（例えば、セットトップボックス又はゲーム機）のような、他のスクリーン機能及びデバイスフォームファクタを有するデバイスにより実施され得る。サービスは、サービスプロバイダを通じて、又はオンラインサービスの他のプロバイダを通じて、クラウドによって提供され得る。よって、ここで記載される地図ナビゲーション技術及び解決法は、クライアントコンピュータデバイスとして、接続されるデバイスのいずれかにより実施され得る。同様に、クラウド又はサービスプロバイダにおける様々なコンピュータデバイスのいずれもがサーバコンピュータデバイスの役割を果たし、地図データ又は他のデータを接続されるデバイスへ供給することができる。
【００２０】
［地図データ及び指示のレンダリングのためのソフトウェアアーキテクチャの例］
図２は、ユーザ入力及び位置データに依存して地図の表示をレンダリングする地図ナビゲーションツールのためのソフトウェアアーキテクチャ（２００）の例を示す。クライアントコンピュータデバイス（例えば、スマートホン又は他のモバイルコンピュータデバイス）は、地図表示、ルートのための指示のリスト表示、又は他の表示をレンダリングするようアーキテクチャ（２００）に従って体系化されたソフトウェアを実行することができる。
【００２１】
アーキテクチャ（２００）は、デバイスオペレーティングシステム（ＯＳ）（２５０）及び地図ナビゲーションツール（２１０）を有する。図２において、デバイスＯＳ（２５０）は、レンダリング（例えば、ディスプレイへの視覚出力のレンダリング、スピーカのための音声出力の生成）のためのコンポーネント、ネットワーキングのためのコンポーネント、位置追跡のためのコンポーネント、及び音声認識のためのコンポーネントを有する。デバイスＯＳ（２５０）は、デバイスのためのユーザ入力機能、出力機能、記憶アクセス機能、ネットワーク通信機能、及び他の機能を管理する。デバイスＯＳ（２５０）は、そのような機能へのアクセスを地図ナビゲーションツール（２４０）へ提供する。
【００２２】
ユーザは、地図ナビゲーションに作用するユーザ入力を生成することができる。ユーザ入力は、タッチスクリーン入力、ボタン押下若しくはキー押下のような触覚入力、又は音声入力であってよい。デバイスＯＳ（２５０）は、触覚入力からタッチスクリーンへのタップ、指ジェスチャ等を認識し、音声入力、ボタン入力又はキー押下入力からコマンドを認識し、且つ、地図ナビゲーションツール（２１０）又は他のソフトウェアによって使用され得るメッセージを作成する機能を有する。地図ナビゲーションツールの解釈エンジン（２１４）は、デバイスＯＳ（２５０）からのユーザ入力（ＵＩ）イベントメッセージを聞く。ＵＩイベントメッセージは、デバイスのタッチスクリーンにおけるパニング（panning）ジェスチャ、フリッキング（flicking）ジェスチャ、ドラッギング（dragging）ジェスチャ、若しくは他のジェスチャ、タッチスクリーンにおけるタップ、キーストローク入力、又は他のＵＩイベント（例えば、音声入力、方向指示ボタン、トラックボール入力から）を示すことができる。適切な場合、解釈エンジン（２１４）は、ＯＳ（２５０）からのＵＩイベントメッセージを、地図ナビゲーションツール（２１０）のナビゲーションエンジン（２１６）へ送信される地図ナビゲーションメッセージに変えることができる。
【００２３】
ナビゲーションエンジン（２１６）は、現在のビューポジション（場合により、地図設定記憶部（２１１）からセーブされた又は最後のビューポジションとして提供される。）、ビューポジションにおける所望の変化を示す解釈エンジン（２１４）からのあらゆるメッセージ、地図データ、及び位置データを考慮する。この情報から、ナビゲーションエンジン（２１６）は、ビューポジションを決定し、そのビューポジションを、該ビューポジションの近くの地図データ及び位置データとともに、レンダリングエンジン（２１８）へ供給する。位置データは、ビューポジションと一致する（地図ナビゲーションツール（２１０）を備えるコンピュータデバイスの）現在位置を示すことができ、あるいは、ビューポジションは、現在位置からオフセットされ得る。
【００２４】
ナビゲーションエンジン（２１６）は、オペレーティングシステム（２５０）からコンピュータデバイスの現在位置データを得る。オペレーティングシステム（２５０）は、コンピュータデバイスの局所コンポーネントから現在位置データを得る。例えば、位置データは、グローバルポジショニングシステム（ＧＰＳ）からのデータに基づき、セルラーネットワークのタワー間の三角測量によって、近くのＷｉ−Ｆｉルータの物理位置を参照することにより、又は他のメカニズムによって、決定され得る。
【００２５】
ナビゲーションエンジン（２１６）は、地図データ記憶部（２１２）から地図に関する地図データを得る。一般に、地図データは、国及び都市の高レベルな描写から、近郊及び高速道路の中レベルな描写、通り及び建物の低レベルの描写にわたる様々な詳細レベルでの写真画像データ又はグラフィックデータであってよい。写真データ及びグラフィックデータに加えて、地図データは、地図における国、都市、近郊、通り、建物、ランドマーク又は他の特徴の地名のためのテキストラベル又はアイコンのようなグラフィックなインジケータを含むことができる。名称に加えて、地図データは、特徴間の距離、開始位置と終了位置との間のルートを定義するルートポイント（緯度及び経度に関する。）、ルート沿いの航路定点における決定のためのテキスト指示（例えば、ＮＥ１４８番で曲がれ。）、及びルート沿いの航路定点間の距離を含むことができる。地図データは、連絡先（例えば、電話番号、ウェブページ、住所）、レビュー、格付け、他の解説、メニュー、写真、広告プロモーション、又はゲームのための情報（例えば、ジオキャッシング、ジオタギング）のような、所与の特徴についての付加的な詳細を提供することができる。ウェブブラウザを起動して特徴に関する情報へ導くために、ウェブページについてリンクが提供され得る。
【００２６】
地図データの構成は、実施に依存する。例えば、幾つかの実施では、異なるタイプの地図データ（写真画像データ又はグラフィック表面層データ、テキストラベル、アイコン、等）が、所与の詳細レベルにある地図データの単一層にまとめられる。ある程度までは、ユーザがズームイン（又はズームアウト）する場合に、所与の詳細レベルでの地図データのタイルは単純に引き伸ばされる（又は縮められる）。ユーザが更に一層ズームイン（ズームアウト）する場合は、所与の詳細レベルでの地図データのタイルは、より高い詳細レベルにある１又はそれ以上の他のタイプ内で置換される。他の実施では、異なるタイプの地図データは、レンダリングの間に合成される異なるオーバレイにおいて編成されるが、ズームイン及びズームアウトは概して同じように扱われ、重なり合ったレイヤはある程度まで引き伸ばされ（又は縮められ）、次いで他のレイヤにおけるタイルと置換される。
【００２７】
地図データ記憶部（２１２）は、最近使用された地図データをキャッシュする。必要に応じて、地図データ記憶部（２１２）は、局所ファイル記憶部から又はネットワークリソースから追加の又は更新された地図データを得る。デバイスＯＳ（２５０）は、記憶部及びネットワークリソースへのアクセスを仲介する。地図データ記憶部（２１２）は、デバイスＯＳ（２５０）を通じて記憶部又はネットワークリソースに地図データをリクエストする。デバイスＯＳ（２５０）はリクエストを処理し、必要に応じてサーバに地図データをリクエストして応答を受け取り、リクエストされた地図データを地図データ記憶部（２１２）へ提供する。
【００２８】
例えば、ルートのための指示を決定するよう、地図ナビゲーションツール（２１０）は、開始位置（通常、地図ナビゲーションツール（２１０）を備えるコンピュータデバイスの現在位置）と、目的地のための終了位置（例えば、住所または他の特定の位置）とを、地図データのリクエストの一部として、ＯＳ（２５０）へ与える。デバイスＯＳ（２５０）は、リクエストを１又はそれ以上のサーバへ伝える。サーバは、応答において、表面層データ、ルートを定義するルートポイント、ルート沿いの航路定点における決定のためのテキスト指示、ルート沿いの航路定点間の距離、及び／又は他の地図データを提供する。デバイスＯＳ（２５０）は、次いで、地図データを地図ナビゲーションツール（２１０）へ伝える。
【００２９】
他の例として、ユーザがルート沿いを移動する場合に、地図ナビゲーションツール（２１０）は、レンダリングのために地図データ記憶部（２１２）から追加の地図データを得る。地図データ記憶部（２１２）は、現在位置の近くの詳細な地図データをキャッシュし、そのようなキャッシュされたデータを用いて、レンダリングされる表示を追加的に変更してよい。地図ナビゲーションツール（２１０）は、ルート又はルートの一部に沿った地図データをプリフェッチすることができる。よって、レンダリングされる地図表示は、現在の位置に対する変更を示すよう更新されるので、地図ナビゲーションツール（２１０）はしばしば、サーバから新しい地図データを受信／リクエストする遅延なしに表示を更新する。必要に応じて、地図データ記憶部（２１２）は、表示をレンダリングするよう追加の地図データをリクエストする。
【００３０】
レンダリングエンジン（２１８）は、ビューポジション、位置データ及び地図データを処理し、地図の表示をレンダリングする。使用シナリオに依存して、レンダリングエンジン（２１８）は、局所記憶部からの地図データ、ネットワークサーバからの地図データ、又は局所記憶部からの地図データ及びネットワークサーバからの地図データの組み合わせをレンダリングすることができる。一般に、レンダリングエンジン（２１８）は、ディスプレイでの出力ために、レンダリングされた表示のための出力コマンドをデバイスＯＳ（２５０）へ与える。レンダリングエンジン（２１８）はまた、スピーカ又はヘッドホンによる音声出力のために、出力コマンドをデバイスＯＳ（２５０）へ与えることもできる。
【００３１】
レンダリングの一部として実行される厳密な動作は、実施に依存する。幾つかの実施において、地図レンダリングのために、ツールは、視野を決定し、その視野内にある地図の特徴を特定する。次いで、それらの特徴について、ツールは、地図データ要素を選択する。これは、視野において潜在的に可視的である特定された特徴についてありとあらゆる地図データ要素を含んでよい。あるいは、それは、ナビゲーションシナリオ（例えば、方向、交通量）に関連するそれらの潜在的に可視的な地図データ要素のサブセットを含んでよい。所与のルートについて、レンダリングエンジン（２１８）は、ルートを示すようルート沿いのルートポイントを（例えば、強調表示された色により）グラフィック上接続し、ルート沿いの航路定点をグラフィック上示す。ツールは、ビューポジションから可視的である（例えば、他の特徴又はラベルによって覆い隠されない）選択された地図データ要素を合成する。代替的に、ツールは、異なる順序における動作により、付加的な動作により、又は異なる動作により、レンダリングを実施する。
【００３２】
全体的な動作に関して、地図ナビゲーションツールは、コンピュータデバイスの一部の変化に反応することができ、ビューポジションの変化、ルートのための指示のリストにおける一番上の項目の変化、又は他の変化を示すユーザ入力にも反応することができる。例えば、地図に対するパニング命令を示す指ジェスチャ若しくはボタン入力に応答して、又はルートのための指示のリストにおける前の項目若しくは次の項目への変化時に、地図ナビゲーションツールは、地図を平行移動させる（垂直及び／又は水平にシフトする）簡単な滑らかなアニメーションにより地図を更新することができる。同様に、コンピュータデバイスの位置が変化すると、地図ナビゲーションツールは、簡単な平行移動ナビゲーションにより地図を自動的に更新することができる。（あるいは、地図ナビゲーションツールは、位置が更新される場合にコンピュータデバイスの位置を示すアイコンを自動的に別の場所に移して再レンダリングすることができる。）位置又はビューポジションの変化が、単純な滑らかな移動アニメーションを用いて有効にレンダリングされるには大きすぎる場合に、地図ナビゲーションツールは、動的に、第１の地理的な位置付けからズームアウトし、第２の地理的な位置付けへ垂直及び／又は水平にシフトし、次いで、その第２の地理的な位置付けにおいてズームインすることができる。そのような動的なズーム動作は、例えば、電話が電源を切られて新たな場所で電源を入れられる場合、ビューポジションが遠くからデバイスの現在位置へ中心を置かれ直す場合、ユーザがルートのための指示のリスト内を素早くスクロールする場合、又はユーザが現在のビューポジションから離れた航路定点に関連する指示リスト内の前の項目若しくは次の項目へスクロールする場合に、起こり得る。地図ナビゲーションツールはまた、表示のタイプの変化（例えば、地図表示からリスト表示への、又はその逆の切り替え）や、レンダリングされる詳細の変化（例えば、交通詳細を示すか又は隠すこと）にも反応することができる。
【００３３】
代替的に、地図ナビゲーションツール（２１０）は、より多い又はより少ないモジュールを有する。所与のモジュールは、複数のモジュールに分割可能であり、あるいは、異なるモジュールは、単一層にまとめられ得る。例えば、ナビゲーションエンジンは、ナビゲーションの異なる側面を制御する複数のモジュールに分割可能であり、あるいは、ナビゲーションエンジンは、解釈エンジン及び／又はレンダリングエンジンと組み合わされ得る。１つのモジュールを参照して記載される機能（例えば、レンダリング機能）は、幾つかの場合に、他のモジュールの部分として実施され得る。
【００３４】
［地図ナビゲーションＵＩ及びスクリーンショットの例］
図３ａ及び３ｂは、夫々、モバイルコンピュータデバイスの地図ナビゲーションツールを用いてレンダリングされる一般的地図表示（３００）及び一般的指示リスト表示（３５０）を表す。図４ａ乃至４ｃは、地図ナビゲーションＵＩのリスト表示のスクリーンショット（４０１、４０２、４０３）の例を示す。
【００３５】
デバイス（３０１）は、１又はそれ以上のデバイスボタンを有する。図３ａ及び３ｂは、デバイス（３０１）の底辺近くに単一のデバイスボタンを示す。デバイスボタンを作動させる効果は、状況に依存する。例えば、デバイスボタンの作動は、デバイス（３０１）を、地図ナビゲーションツールからホームスクリーン又は介すスクリーンへ戻させる。代替的に、デバイス（３０１）は、デバイスボタンを有さない。
【００３６】
図３ａ及び３ｂのデバイス（３０１）は、表示エリア及び３つのタッチスクリーンボタンを備えるタッチスクリーン（３０２）を有する。タッチスクリーンボタンの１つを作動させる効果は、状況及びどのボタンが作動されるのかに依存する。例えば、タッチスクリーンボタンの１つは検索ボタンであり、その検索ボタンの作動は、検索ボタンが作動される点に依存して、デバイス（３０１）に、検索ページでウェブブラウザを起動させ、コンタクトのための検索メニューを起動させ、又は他の検索メニューを起動させる。あるいは、タッチスクリーンボタンの１つは、デバイスのユーザインターフェースをナビゲートするために使用され得る“バック”ボタンである。代替的に、デバイスは、より多いタッチスクリーンボタン若しくはより少ないタッチスクリーンボタンを有し、又はタッチスクリーンボタンを有さない。物理的なデバイスボタンにより実施される機能は、タッチスクリーンボタンにより代わりに実施され得、あるいは、その逆もある。
【００３７】
タッチスクリーン（３０２）の表示エリアにおいて、デバイス（３０１）は表示をレンダリングする。図３ａでは、地図表示（３００）の部分として、デバイス（３０１）は、完全な地図（３１０）と、該完全な地図（３１０）の上にオーバレイするステータス情報（３２０）とをレンダリングする。ステータス情報（３２０）は、時間、日付、ネットワーク接続状態、及び／又は他の情報を含むことができる。デバイス（３２０）はまた、地図ナビゲーションツールの実施に依存して、地図ナビゲーションボタンを含む制御部（３３０）をレンダリングする。図３ａは、“方向”ボタン（矢印アイコン）、“センタリング”ボタン（十字形アイコン）、及び“検索”アイコン（拡大鏡アイコン）を示す。“方向”ボタンの作動は、デバイス（３０１）に、目的地のキーストローク入力のためのメニューを開かせる。“センタリング”ボタンの作動は、デバイス（３０１）に、デバイス（３０１）の現在位置の上にビューポジションを整列させる。“検索”ボタンの作動は、デバイス（３０１）に、１以上の位置の検索のキーストローク入力のためのメニューを開かせる。他のボタン／制御は、地図から余分なデータを取り除き、写真画像詳細を示し／隠し、交通データを示し／隠し、ルート指示を示し／隠し、音声指示が入力されるかどうか若しくは表示の向きがルート沿いの進行中に変化するかどうか等の地図ナビゲーションツールの設定を変更するようボタン／制御のような楕円を作動させることによって、アクセスされ得る。代替的に、デバイスは、より多くの地図ナビゲーションボタン若しくはより少ない地図ナビゲーションボタンを有し、又は地図ナビゲーションボタンを有さない。
【００３８】
図３ｂでは、リスト表示（３５０）の部分として、デバイス（３０１）は、縮められた地図（３６０）、該縮められた地図（３６０）の上にオーバレイするステータス情報（３２０）、及びリスト制御（３７０）をレンダリングする。縮められた地図（３６０）は、完全な地図（３１０）と同様に地図詳細を示すが、開始位置と終了位置との間のルートの少なくとも部分のグラフィック詳細も示す。リスト制御（３７０）は、ルート沿いの指示のためのテキスト詳細及びアイコンを示す。図４ａ乃至４ｃは、リスト表示の例となるスクリーンショット（４０１、４０２、４０３）を示し、夫々が縮められた地図（３６０）及びリスト制御（３７０）並びに縮められた地図（３６０）にオーバレイするステータス情報（３２０）（すなわち、時間）を含む。
【００３９】
図４ａ乃至４ｃにおけるスクリーンショット（４０１、４０２、４０３）は、開始位置と終了位置との間のルートについて異なるリスト表示を示す。図４ａのスクリーンショット（４０１）では、グラフィックアイコン（４２１）は、リスト表示の地図部分においてルート沿いに現在位置を示す。ルート（４１１）の部分は、残りの地図データに対して強調表示された色において示される。スクリーンショット（４０１）のリスト制御は、航路定点アイコン（４３１、４３２）と、ルート沿いの航路定点についてのテキスト詳細とを含む。指示のリストにおける項目は、曲がる、真っ直ぐ進む、出口から出る等の具体的な指示をユーザが与えられる点を表す航路定点として編成される。航路定点アイコン（４３１、４３２）の下には、方向アイコン（４４１、４４２）が、夫々の航路定点に関連づけて、例えば曲がる、真っ直ぐ進む、出口から出る等の指示のアクティブ部分をグラフィック上表す。距離値（４５１、４５２）は、航路定点間の距離（例えば、航路定点２及び３の間の距離（４５２））又は現在位置と次回の航路定点との間の距離（例えば、航路定点２までの距離（４５１））を示す。
【００４０】
航路定点アイコン（４４１、４４２）、テキスト詳細、方向アイコン（４４１、４４２）及び距離値（４５１、４５１）の色は、ルート沿いの進行の状態に依存して変化することができる。図４ａでは、航路定点２のための航路定点アイコン（４３１）、テキスト及び方向アイコン（４４１）は、航路定点２が指示リストにおける次回項目であることを示すよう、アクセント色においてレンダリングされる。他方で、航路定点３のための航路定点アイコン（４３２）、関連するテキスト及び方向アイコン（４４２）は、航路定点３が更に将来であることを示すよう、中間色においてレンダリングされる。
【００４１】
図４ｂのスクリーンショット（４０２）は、テキスト（４６２）によりグラフィック上表されている指示リストの終わりまでのユーザスクロール後のリスト表示を示す。航路定点アイコン（４３３）は、リスト表示の地図部分及びリスト制御における最後の航路定点を表す。地図部分は、グラフィック上ルートの部分（４１２）を強調表示する。リスト制御において、航路定点アイコン（４３３）は、その航路定点に関連するテキスト及び方向アイコン（４４３）が後に続くが、その航路定点は最後の航路定点であるため距離値を伴わない。最後の将来の航路定点のための航路定点アイコン（４３３）、関連するテキスト及び方向アイコン（４４３）は、中間色においてレンダリングされる。
【００４２】
図４ｃのスクリーンショット（４０３）は、テキスト（４６１）によりグラフィック上表されている指示のリストの最初に戻るユーザスクロール後のリスト表示を示す。地図部分は、グラフィック上ルートの部分（４１３）を示すが、ルートの終了した部分は灰色化されている。
【００４３】
航路定点アイコン（４３４）は、リスト表示の地図部分及びリスト制御における最初の航路定点を表し、その最初の航路定点が通過されたことを示すようやはり灰色化されている。他の航路定点アイコン（４３５）は、その後の航路定点を表す。リスト制御において、スペースが許せば、航路定点アイコン（４３４）、４３５は、やはり灰色化されているそれらの航路定点に関連するテキスト及び方向アイコン（４４４）が後に続くが、それらの航路定点は通過されているので距離値を伴わない。リスト制御はまた、ユーザが交通のモード（例えば、歩行、車、バス）の間を切り替えるよう作動させることができる交通モードアイコン（４７２）を有する。
【００４４】
［密接な曲がり角を示す地図の例］
密接な曲がり角は、所定の総距離よりも短い距離で実質的に起こる曲がり角である。例えば、２又はそれ以上の曲がり角が０．３マイル未満の距離内で起こる場合、それらの曲がり角は、コンビネーション命令がそれらの曲がり角を単一の命令としてまとめてアナウンスするよう作成される特別の場合として扱われる。他の所定の距離が使用可能であり、例えば、０．１乃至０．５マイルの間の距離が使用される。
【００４５】
図５ａは、密接な曲がり角が起こる例を示す。地図５１０は、複数の区間５２２、５２４、５２６及び５２８を含むルート５２０を示す。夫々の区間は、その区間に関連する距離を有する。例えば、区間５２４及び５２６は両方とも、０．１マイルの距離を有するよう示されている。ノードｎ、ｎ＋１、ｎ＋２は、ルート中に現れる曲がり角を表すよう各区間の間に示される。２又はそれ以上の曲がり角が短い距離又は存続期間内で起こる場合に、それらの曲がり角は密接な曲がり角と見なされる。この例では、曲がり角ｎ、ｎ＋１、及びｎ＋２は、例えば０．３マイルの所定設定よりも短い０．２マイル内で起こる。以下で更に記載されるように、複数の曲がり角が所定の距離又は持続期間よりも短い範囲内で連続して起こる場合に、複数の曲がり角を単一の命令として扱う口頭のアナウンスメントが作られる。車線ガイダンスも提供され得る。例えば、曲がり角ｎの直前に、システムは次を実行することができる：アナウンス（ｎ）、アナウンス（ｎ＋１）、及び車線ガイダンス（ｎ＋２）。更なる特徴として、曲がり角ｎが完了した後、音声キューが作られて、曲がり角が完了したことを示すことができる。音声キューに応答して、ユーザは、更新されたアナウンスメントを聞くためのリクエスト又はコマンドを与えることができる。例えば、ユーザは、更新されたアナウンスメントを聞くためにタッチスクリーンをタップすることができ、あるいは、ユーザは、ボイスコマンド等を与えることができる。あらゆる形態のユーザリクエストが使用され得る。リクエストに応答して、システムは、例えば、次を実行することができる：アナウンス（ｎ＋１）、車線ガイダンス（ｎ＋２）。更なる特徴は、曲がり角がリスト制御において別個にリストアップされたままである点であってよい。よって、文書部分において、曲がり角は、それらがコンビネーション命令においてアナウンスされるにもかかわらず、独立した命令のままである。よって、複数の密接な曲がり角は、密接な曲がり角の最初の曲がり角が来る前に、車線ガイダンスとともにアナウンスされ得る。予めそのような情報を有することは、ユーザがルート内の難しい部分を通り抜けるのを助ける。
【００４６】
図５ｂは、２つの曲がり角が短い距離内で示される他の例を示す。同様の密接な曲がり角のアナウンスメントが２つの曲がり角について起こり、車線ガイダンスも２番目の曲がり角の後に提供され得る。
【００４７】
図６は、密接な曲がり角のためのコンビネーション命令を実施する方法６００のフローチャートである。処理ブロック６１０で、システムは、所定の距離離れた少なくとも２つの曲がり角を決定するようルート情報を精査する。システムは、密集した少なくとも３つの曲がり角又は少なくとも４つの曲がり角を決定するようプログラミングされ得る。更に、ユーザは、密接な曲がり角の定義のための設定を調整することができる。何らかのイベントにおいて、処理ブロック６１０で、ルート沿いの密接な曲がり角は、時々、曲がり角が来る前に決定される。実際上、密接な曲がり角は、ルート情報がサーバコンピュータから受信された直後に特定され得る。密接な曲がり角はまた、特定の道路区間の速度制限、又はユーザが曲がり角に近づく場合にユーザの現在の速度、のような他の情報に基づくことができる。処理ブロック６２０で、密接な曲がり角の連続に到達する前に、少なくとも２つの曲がり角及び車線ガイダンスを含む口頭のコンビネーション命令がアナウンスされる。代替的に、３つの曲がり角が単一のコンビネーション命令としてアナウンスされる。すなわち、アナウンス（ｎ）、アナウンス（ｎ＋１）、アナウンス（ｎ＋２）。
【００４８】
図７は、使用され得る更なる実施詳細を提供する方法７００のフローチャートを示す。処理ブロック７１０で、ルート及び距離情報がサーバコンピュータから受信される。よって、ユーザは最初に、目的地情報を地図アプリケーションに入力する。ユーザの位置（例えば、ＧＰＳから得られる。）及び目的地は、サーバコンピュータへ送信される。これに応答して、サーバはルートを決定し、ルート及び曲がり角間の距離の情報をクライアントデバイスへ送信する。処理ブロック７２０で、クライアントデバイスにおける地図アプリケーションは、ルート内の夫々の曲がり角を確認し、曲がり角間の距離の合計を計算する。処理ブロック７３０で、密接な曲がり角は、所定の距離よりも短い計算された合計を有する曲がり角として特定される。所定の距離は、０．３、０．４又は０．５マイルのように、如何なる所望の量であってもよい。処理ブロック７４０で、密接な曲がり角は、単一のボイスコマンドにグループピングされる。よって、密接な曲がり角は、他の曲がり角とは別なふうに扱われる。密接な曲がり角の連続に達する前に、それらの曲がり角は、最初の曲がり角に到達する前にアナウンスされる。よって、例となるアナウンスは次のとおりであってよい：“三番通りを右折、次にカントリ・コモンを左折、そのまま左車線を走行”。処理ブロック７５０で、密接な曲がり角は、文書命令においては別個の航路定点としてリストアップされ得る。よって、密接な曲がり角のための口頭命令は別なふうに扱われるが、文書命令は他の曲がり角と同じに扱われ得る。
【００４９】
図８は、音声キューを提供する方法８００のフローチャートを示す。処理ブロック８１０で、曲がり角がアナウンスされる。曲がり角が完了した後、処理ブロック８２０で、音声キューは、アナウンスされた曲がり角の完了に応答して再生される。これは、ユーザ入力コマンド（例えば、スクリーンへのタッチ）がルート内の次の曲がり角の音声アナウンスを呼び出すことができることをユーザに知らせる。音声キューは、ユーザが一連の密接な曲がり角にさしかかっている場合に特に有用である。
【００５０】
図９は、密接な曲がり角とともに使用され得る異なる実施形態及び異なるアナウンスシナリオを示す。曲がり角は、如何なる所望の方法及び組み合わせにおいてもアナウンスされ得る。
【００５１】
開示される発明の原理が適用される多くの可能な実施形態を考慮して、表される実施形態は本発明の単なる望ましい例であり、本発明の適用範囲の限定として解されるべきではないことが認識されるべきである。むしろ、本発明の適用範囲は、特許請求の範囲によって定義される。従って、本出願人は、特許請求の範囲の適用範囲内にある全てを本願発明として請求する。
【図１】
2014519606.tif 000003
【図２】
2014519606.tif 000004
【図３ａ】
2014519606.tif 000005
【図３ｂ】
2014519606.tif 000006
【図４ａ】
2014519606.tif 000007
【図４ｂ】
2014519606.tif 000008
【図４ｃ】
2014519606.tif 000009
【図５ａ】
2014519606.tif 000010
【図５ｂ】
2014519606.tif 000011
【図６】
2014519606.tif 000012
【図７】
2014519606.tif 000013
【図８】
2014519606.tif 000014
【図９】
2014519606.tif 000015
【国際調査報告】
2014519606.tif 000016
2014519606.tif 000017