JP4268713B2 - ナビゲーション応用プログラムを用いてルート案内を提供するシステム及び方法 - Google Patents

ナビゲーション応用プログラムを用いてルート案内を提供するシステム及び方法 Download PDF

Info

Publication number
JP4268713B2
JP4268713B2 JP37810398A JP37810398A JP4268713B2 JP 4268713 B2 JP4268713 B2 JP 4268713B2 JP 37810398 A JP37810398 A JP 37810398A JP 37810398 A JP37810398 A JP 37810398A JP 4268713 B2 JP4268713 B2 JP 4268713B2
Authority
JP
Japan
Prior art keywords
data
token
list
driving
tokens
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP37810398A
Other languages
English (en)
Other versions
JP2000221041A (ja
Inventor
ファウラー アンドリュー
ミッタル アンカー
Original Assignee
ナヴィゲイション テクノロジーズ コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ナヴィゲイション テクノロジーズ コーポレイション filed Critical ナヴィゲイション テクノロジーズ コーポレイション
Publication of JP2000221041A publication Critical patent/JP2000221041A/ja
Application granted granted Critical
Publication of JP4268713B2 publication Critical patent/JP4268713B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3629Guidance using speech or audio output, e.g. text-to-speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【付録への参照】
本明細書に含まれ、本明細書の一部を形成しているのは 26 ページからなる印刷された付録である。
【0002】
【著作権資料への参照】
本特許文書の開示の一部分は、著作権保護の対象である資料を含む。著作権の所有者は、本特許文書または特許開示が、特許商標庁のファイルまたは記録に出現した時には誰がファクシミリ再生しても異議は申立てないが、それ以外は全ての著作権を留保する。
【0003】
【発明の属する技術分野】
本発明は、ナビゲーション応用プログラムのエンドユーザにルート案内情報を提供するシステム及び方法に関する。
【0004】
【従来の技術】
発明の背景
エンドユーザにいろいろなナビゲーション機能及び特色を提供する、コンピュータをベースとするナビゲーション応用プログラムを使用することができる。若干のナビゲーション応用プログラムは、乗用車、トラック、バス、等々のようなビークル内に設置されているナビゲーションシステム内に含まれている。これらのビークル搭載システムは、ナビゲーションシステムを搭載しているビークルの運転手のようなエンドユーザに、いろいろなナビゲーティング機能を提供することができる。例えば、若干のナビゲーション応用プログラムは、ある地理領域内の複数の位置の間の道路を走行するための最適ルートを決定することができる。エンドユーザからの入力、及びオプションとしてユーザの物理的位置を決定できる機器(例えば、GPSシステム)からの入力を使用して、ナビゲーション応用プログラムは地理領域内の2つの位置の間のいろいろなルートを調べ、出発点から目的地まで走行するのに最適なルートを決定することができる。次いでナビゲーション応用プログラムは、出発点から目的地までエンドユーザが走行するのに必要な運転操作(以下、単に運転ということが多い)を識別する命令の形状で、最適ルートに関する情報をエンドユーザに提供することができる。命令は、エンドユーザがルートを走行中に供給される視覚及び/またはオーディオ命令の形状をとることができる。若干のナビゲーション応用プログラムは、目的地までのルートを示す詳細地図、ルートに沿ういろいろな位置においてとるべき運転の型、若干の型の特色の位置、等々をコンピュータディスプレイ上に表示することができる。
【0005】
コンピュータをベースとするナビゲーション応用プログラムは、ビークル搭載のナビゲーションシステムの他に、他のさまざまな種類のコンピュータハードウェアプラットフォーム上に、及び他の種類のコンピュータアーキテクチャと共に設けられる。コンピュータベースナビゲーション応用プログラムは、無線ネットワーク及びインターネットを含むネットワーク上に設けることもできる。コンピュータベースナビゲーション応用プログラムは、パーソナルディジタル支援、電話機、ページャ、等々のようなハンドヘルドコンピュータデバイス上に含ませることもできる。更に、コンピュータをベースとするナビゲーション応用プログラムは、パーソナルナビゲーションシステムのような特別目的電子デバイス上に含ませることもできる。
【0006】
これらの、及び他のナビゲーティング機能を提供するために、ナビゲーション応用プログラムは、地理データベースを使用する。地理データベースは、ある地理領域内の物理的特色を表すデバイスを含む1つまたはそれ以上のデータベースの形状であることができる。地理データベースは、交差点における転回禁止、道路の速度制限、いろいろな道路の街路名、いろいろな道路に沿う番地範囲、等々のような、地理領域内の道路及び交差点を表すデータを含むこともできる。
【0007】
ナビゲーション応用プログラムは多くの重要な特色を提供するが、それでも改善の余地が存在している。改善の余地が存在する1つの分野は、エンドユーザに有意味の運転情報を提供することに関係がある。例えば、ナビゲーション応用プログラムがエンドユーザに運転命令を供給する時に、運転中の道路の名前に関する情報を供給する(例えば、「次のファーストストリートとの交差点をやや右方向に曲がってメインストリートを進んで下さい」)と有用であるかも知れない。従って、より多くの細部を含むより有意味の運転命令を供給するためには、表された物理的な地理特色に関して使用可能な情報の可用性、品質、及び型を斟酌する必要がある。
【0008】
改善する余地がある分野の別の例は、運転命令を異なる言語で供給することに関係がある。例えば、ナビゲーションシステムを設置したレンタカーを運転しているある人は、可聴運転命令を英語で聞きたいと考えるかも知れない。同じレンタカーの別の運転手は、ナビゲーションシステムからスペイン語の可聴運転命令を聞きたいかも知れない。また更に、同じレンタカーの別の運転手は、ナビゲーションシステムから供給される運転命令を、ディスプレイモニタ上に図形と共に英語のテキストで得たいかも知れない。従って、同じ自動車内の同一ナビゲーションシステムがこれらの異なる各運転手の好みを受入れながら、詳細且つ有意味な運転命令を供給できるようになっていると便利である。
【0009】
別の分野は、ナビゲーション応用プログラム上のルート案内特色をパーソナルコンピュータ上で走させることに関している。もしエンドユーザがパーソナルコンピュータ上でナビゲーション応用を走らせていれば、彼/彼女は後刻使用するために運転命令を印刷するか、ディスクファイルに保管したいかも知れない。この状況では、運転命令は、印刷または使用可能なファイルフォーマットで適切に表し、フォーマットする必要がある。
【0010】
他の分野は、もしナビゲーション応用プログラムがパーソナルディジタル援助のようなハンドヘルドコンピューティングデバイスから作動されていれば適用されるものである。この状況では、エンドユーザはデバイスのディスプレイ画面上に運転命令を表示させたいかも知れない。もしナビゲーション応用プログラムが電話機を介して供給されれば、エンドユーザは運転命令を音声メッセージとして聞くことができる形状で入手したいか、または電話機のディスプレイ画面上に表示させたいかも知れない。
【0011】
エンドユーザが、どの方式で運転命令を受けたいのかはさまざまであるから、運転命令の供給もいろいろな方式で行うことが好ましい。しかしながら、これらの異なる種類のデバイスは、異なる能力及びユーザインタフェースを有しているので、これらの異なる種類のデバイスの全てを受入れることができる有意味のルート案内特色を供給するナビゲーション応用プログラムを提供することは困難である。
【0012】
従って、ナビゲーション応用プログラムのエンドユーザに対して有意味の情報の供給を容易ならしめるプログラムに対する要望が存在している。
【0013】
改善の必要があるさらなる分野は、広範な改訂及びカストマイゼーションを必要とせずに、さまざまに異なるソフトウェア及びハードウェア環境及びプラットフォームにおいて容易に使用できる汎用ルート案内モジュールまたはツールを提供することに関係がある。
【0014】
【発明の概要】
上述した、及び他の目的を達成するために、ナビゲーション応用プログラムを使用する改善されたルート案内を提供する方法及びシステムを発明した。運転データ構造は、ルート上の運転命令を供給すべき各位置毎に地理データベースからのデータを含むように形成される。これらの運転データ構造は、トークンのリストを形成するために使用される。トークンは、別のデータのアイテム(文字列、オーディオデータ、または図形データの何れかであることができる)を参照する文字列または記号の何れかであることができる。運転命令は、トークンのリスト内のトークンを解説( explicating ) することによって供給される。トークンの解説は、トークン内に含まれているか、またはトークンによって参照される全てのデータを、トークンのリスト内に指定されている順序で供給することによって行われる。もしトークンが記号であれば、解説はその記号(文字列、オーディオデータ、または図形データの何れかであることができる)によって参照されるデータを供給することを含む。トークンのリストは、各運転データ構造毎に形成されるトークンのシーケンスを組合せることによって作成される。トークンの各シーケンスは、運転データ構造内のデータに対してある規則セットを適用することによって形成されたそれぞれの出力リストから形成される。運転データ構造のための出力リストの内容は、記号及びキーを含むことができる。出力リスト内の記号は、その運転データ構造のために形成されるトークンのシーケンス内に含まれるトークンを形成するために使用される。出力リスト内のキーは、対応する運転データ構造内のデータを参照し、その運転データ構造のために形成されるトークンのシーケンス内に含まれるトークンを形成するために拡張される。
【0015】
【実施例】
I.ナビゲーションシステムプラットフォーム/環境の例
図1に、ナビゲーションシステム110の例をブロック図で示す。ナビゲーションシステム110は、ハードウェア及びソフトウェア成分の組合せである。ナビゲーションシステム110のハードウェア成分は、プロセッサ112、メモリ120、等々を含むことができる。
【0016】
ナビゲーションシステム110は静止型であることも、またはポータブルであることもできる。図1に示す実施例では、ナビゲーションシステム110は、乗用車、トラック、またはバスのようなビークル111内に配置されたポータブルシステムである。後述するように、他の実施例ではナビゲーションシステム110は、他のプラットフォーム内に設置することができる。
【0017】
図1に示す実施例では、ナビゲーションシステム110は、それを搭載しているビークル111の位置を決定する測位システム124も含んでいる。測位システム124は、ビークル111の速度、向き、方向、等々を感知するセンサ125または他の成分を含むことができる。測位システム124は、GPSシステムを含むこともできる。
【0018】
ナビゲーションシステム110は、ユーザインタフェース131をも含む。ユーザインタフェース131は、ナビゲーションシステムのエンドユーザからの命令及び/または入力を受けるための適切な手段127を含む。例えば、ユーザインタフェース131は、入力パネル、キーボード、マクロホン、音声認識ソフトウェア、等々を含むことができ、これらを通してエンドユーザはナビゲーション情報を要求することができる。ユーザインタフェース131は、エンドユーザに情報を戻して供給する適切な手段129も含んでいる。ユーザインタフェース131は、ディスプレイまたはスピーカ(音声合成ハードウェア及びソフトウェアを含む)を含むこともでき、これらを通してエンドユーザはナビゲーションシステム110からの情報を入手することができる。
【0019】
上述した成分は全て普通のもの(または、普通ではないもの)であり、これらの成分の製造及び使用は当分野においては公知である。例えば、プロセッサ112は、日立SH 1、インテル 80386、インテル 960、モトローラ 68020のようなフラットアドレス空間を使用する 32 ビットプロセッサ(または、類似の、またはより大きいアドレス空間を有する他のプロセッサ)のような、ナビゲーションシステム内に使用されるどのような型であることもできる。これら以外の型のプロセッサ、及び将来開発されるかも知れないプロセッサも適当であり得る。
【0020】
II. 地理データベース
エンドユーザにナビゲーション特色を提供するために、ナビゲーションシステム110は地理データ140を使用する。地理データ140は、ビークル111内に格納することができる。代替として、地理データ140をビークル111から離して格納し、ナビゲーションシステム110の一部であることができる無線通信システムを通してビークル111内のナビゲーションシステム110において使用できるようにすることもできる。別の代替では、地理データ140の一部分をビークル111内に格納し、地理データ140の一部分を遠隔位置に格納して、遠隔位置から無線通信システムを通してビークル111内のナビゲーションシステム110が使用できるようにすることができる。図1に示す実施例では、地理データ140の若干、または全ては、ビークル111内に位置する媒体132上に格納されている。従って、ナビゲーションシステム110は、媒体132を設置し、アクセス可能にするドライブ114(または他の適当な周辺デバイス)を含んでいる。
【0021】
一実施例では、記憶媒体132はCD−ROMである。別の代替実施例では、記憶媒体132はPCMCIAカードであることができ、この場合ドライブ114はPCMCIAスロットに置換される。固定、即ちハードディスク、DVDディスク、または現在使用可能な他の記憶媒体を含む他のいろいろな記憶媒体を使用することができ、また将来開発されるかも知れない記憶媒体を使用することもできる。
【0022】
地理データ140は、1つまたはそれ以上のコンピュータ可読データファイルまたはデータベースの形状であることができる。地理データ140は、1つまたはそれ以上の地理領域またはカバレッジエリア内の、またはそれ/それらに関係する道路及び交差点に関する情報を含む。この情報は、カバーされている地理領域内の道路の位置を指定するデータを含み、また道路上の走行方向に関する制限(例えば、一方通行路)、転回禁止、街路番地、街路名、速度制限、等々のような道路に関係する特色に関するデータをも含んでいる。地理データは、ホテル、レストラン、博物館、スタジアム、オフィス、自動車販売店、自動車修理工場、等々のような地理領域内の関心点に関する情報も含むことができる。地理データ140は、市、町、または他のコミュニティのような場所に関する情報も含むことができる。地理データベース140は、地理領域に関する他のデータを含むことができる。
【0023】
地理データ140は、さまざまな異なる形状をとることができる。一実施例では、地理データ140は、複数の道路セグメントデータエンティティを含んでいる。各道路セグメントデータエンティティは、地理領域内のナビゲート可能な道路の一部(即ち、セグメント)を表している。各物理的道路セグメントは、それに関連する2つのノード、即ちその道路セグメントの各端点に1つずつのノードを有している。この実施例では、地理データ140は、これらのノードを表す複数のデータエンティティも含んでいる。各ノードデータエンティティは、道路セグメントの端の1つのノードの位置(例えば、地理座標)を識別する。一実施例では地理データは、カリフォルニア州サニービルの Navigation Technologies Corporationから入手したものであるが、他のエンティティによって開発され、提供されているデータも、本発明と共に使用するのに適していることが理解されよう。
【0024】
III. ナビゲーションプログラミング
A.ナビゲーションプログラミングの概要
ハードウェア成分及び地理データベースの他に、ナビゲーションシステム110はナビゲーションプログラミング118を含むか、または使用する。ナビゲーションプログラミング118は、ナビゲーションシステム110が遂行する機能及び/または特色を供給するソフトウェアを含む。ナビゲーションプログラミング118は、地理データ140を、ユーザインタフェース131からの入力と共に、及び多分測位システム124からの出力と共に使用して、いろいろな特色及び/機能を提供する。
【0025】
ナビゲーションプログラミング118は、ナビゲーションシステム110内の不揮発性記憶媒体116内に格納することができる。代替として、ナビゲーションプログラミング118及び地理データ140は一緒に、単一の記憶デバイスまたは媒体上に格納することもできる。代替として、ナビゲーションプログラミング118は遠隔位置に配置することができ、通信システムを通してナビゲーションシステム110へ供給し、ナビゲーションシステム110によってアクセスすることができる。
【0026】
ナビゲーションプログラミング118は、分離した成分応用(プログラム、サブプログラム、ルーチン、またはツールとも呼ばれる)で形成することができる。ナビゲーションプログラミング118の成分応用は、定義されたプログラミングインタフェースを通して一緒に動作することができる。図2は、図1のナビゲーションシステム110内に含まれるナビゲーションプログラミング118の一実施例のための成分応用の若干を示すブロック図である。図2は、ナビゲーションプログラミング118を構成している全ての成分応用の一部分だけを示しているに過ぎない。他の成分応用、プログラム、またはツールもナビゲーションプログラミング118内に含むことができる。
【0027】
図2に示す実施例では、ナビゲーションプログラミング118は、1つのナビゲーション応用210、及び1つまたはそれ以上のナビゲーションツール212を含んでいるように示されている。ナビゲーション応用210は、ナビゲーションシステム110の機能を総合的に管理するプログラム、またはルーチンである。ナビゲーション応用210は、測位システム124及びユーザインタフェース131のようなナビゲーションシステムハードウェアのための支援、及びインタフェースを含むこともできる。この目的のために、図2に示すナビゲーション応用210は、ユーザインタフェース機能220を含んでいる。これらのユーザインタフェース機能220は、エンドユーザに対するメニューをユーザインタフェースハードウェア131のディスプレイ画面上に提示し、ユーザインタフェースハードウェア131を介してエンドユーザから入力を受入れ、結果をユーザインタフェースハードウェア131のディスプレイ画面上に表示する、等々を提供することができる。
【0028】
ナビゲーションツール212は、ナビゲーションプログラミング118によって遂行される特定のナビゲーション機能を提供するプログラムである。図2に示す実施例では、ナビゲーションツール212は地理データ140を使用する機能を提供するプログラムである。ナビゲーションツール212によって提供される特色または機能は、ルート計算、地図表示、ルート案内、及び他の特色を含んでいる。ナビゲーションツール212は、ナビゲーション応用210からナビゲーション情報に対する要求を受信する。ナビゲーションツール212は地理データベース140に要求してそれからデータを入手し、ナビゲーション応用210からのナビゲーション情報に対する要求を満足させるようにデータを使用する。ナビゲーションツール212は、媒体132上の地理データベース140から直接地理データを入手することも、または代替として、ナビゲーションツール212はインタフェース層213及びオペレーティングシステム214を通してデータを入手することもできる。
【0029】
一実施例では、ナビゲーションツール212は比較的ポータブルであるモジュールとして設けられており、異なる種類のナビゲーションプログラム、システム、及び/またはプラットフォーム内に組み込むことができる。各ナビゲーションツールは、ナビゲーション応用210及び他の何等かのナビゲーションツールと共にコンパイルして、不揮発性媒体116上に格納される単一の実行可能なプログラムを形成することができる。代替として、ナビゲーションツールは、1つまたはそれ以上のスタンドアロンプログラムとして使用することもできる。好ましい実施例では、ナビゲーションツールは、それらのプログラミング、データの使用、及びナビゲーション応用210に対する関係へのオブジェクト指向アプローチを使用する。各ナビゲーションツールは1つまたはそれ以上のオブジェクトを形成する。各オブジェクトは、入力データを受信して所定の機能に従って出力データを生成し、また各オブジェクトは、他のオブジェクト上の方法を呼出すことができる。この実施例では、各オブジェクトはそれ自体の専用メモリを有し、このメモリは他のオブジェクトに対して不透明である。開示する実施例では、オブジェクトは1つのオブジェクトから別のオブジェクトへデータを輸送するために使用することも、または入力として受信したデータを変換するために使用することもできる。一実施例では、ナビゲーションツール212はCプログラミング言語で書かれているが、代替実施例ではC++、Java、Visual Basic、等々のような他のプログラミング言語を使用することができる。
【0030】
B.ルート計算ツール
図2の実施例では、ルート計算機能は、ルート計算ツール300によって遂行される。ルート計算ツール300は、指定された位置間のルートを決定する。ルート計算ツール300は、少なくとも起点と所望の目的地とを識別するデータの形状で入力を受信する。ルート計算ツール300は、ルートの計算に影響を与える付加的な入力情報を受信することができる。例えば、ルート計算ツール300への入力は、有料道路または高速道路を避ける等のようなユーザの好みを指定するデータを含むことができる。また入力は、ルートが開始される日時(ルート計算に影響し得る)を識別するデータを含むこともできる。
【0031】
図2の実施例では、ルート計算ツール300は、その入力をナビゲーション応用210から受信する。ナビゲーション応用210においてはユーザインタフェース機能220は、入力をユーザインタフェース131から受信する。入力は、所望の目的地までの計算すべきルートに対するエンドユーザからの要求を含むことができる。ナビゲーション応用210は、測位システム124からのビークル111の位置を指示する情報を受信することもできる。測位システム124からの情報は、ナビゲーション応用210によって使用されてビークル111の現在位置が決定される。代替として、エンドユーザは、ルートのための出発位置を指定することができる。これらの入力を使用して、起点及び目的地の位置を指定するデータが決定される。この機能は、ナビゲーション応用210内に含まれているプログラミングによって提供され、次いでこれらのデータはルート計算ツール300へ引渡される。代替として、この機能は、ナビゲーション応用210及びルート計算ツール300をインタフェースするジオコーディング( geo-coding )ツールのような別のナビゲーションツールから提供することができる。
【0032】
起点及び目的地の位置を識別するデータが与えられると、ルート計算ツール300は起点と目的地との間のルートを計算する。ルート計算ツール300は、この目的のためにいろいろな手段、またはアルゴリズムを使用することができる。ルートを計算する方法が 1998 年3月25日に出願された一連番号 09/047,698 に開示されており、本明細書にはその全文が参照として採り入れられている。(この特許出願に開示されている方法は、ルートを計算することができる方法の若干だけを表しており、本発明の特許請求の範囲はこれらのルート計算のどのような特定の方法にも限定されるものではない。現在知られている、または将来開発されるどのような適当なルート計算方法も使用可能である。)
ルート計算ツール300は出力を生成する。図2の実施例では、ルート計算ツール300の出力は、ルート計算オブジェクト342の形状である。図3は、ルート計算オブジェクト342の成分を表す図である。ルート計算オブジェクト342は、複数の道路セグメントデータエンティティ(即ち、seg1、seg2、seg3、・・・、seg(n))を識別する順序付けられたリスト344を含んでいる。複数のデータエンティティは、ルート計算ツール300によって計算された起点と目的地との間の連続するナビゲート可能なルートを形成している道路セグメントを表す。これらのセグメントは連続するルートを形成しているから、各セグメントは1つのノードを、リスト内のその後続セグメントと共有している。例えば、図3に示すように、セグメント “seg2" 及び “seg3" は共通ノード“N3”を有している。ルート計算オブジェクト342は、道路セグメントデータエンティティの順序付けられたリストの他に、他の情報346を含むことができる。
【0033】
この実施例では、ルート計算ツールによって作成されるルート計算オブジェクト342は、ルート案内ツール400への入力として使用される。ルート案内ツール400はルート計算オブジェクト342内のデータを、地理データベース140からの付加的情報と共に使用して、ナビゲーション情報をナビゲーション応用210へ戻す。ルート案内ツール400からナビゲーション応用210へ戻されたデータをユーザインタフェース機能220へ直接送って、ユーザインタフェースハードウェア131を介してエンドユーザに提示することができる。代替として、ルート案内ツール400からナビゲーション応用210へ戻されたデータは、ナビゲーション応用210内のプログラミングによって更に処理することができる。ユーザインタフェースハードウェア131を介するエンドユーザへの情報の提示は、可聴命令、視覚テクスチァ命令、視覚図形命令、またはこれら、または他の型の情報表現の何等かの組合せの形状であることができる。
【0034】
C.ルート案内ツール/運転生成ツール
再度図2を参照する。ルート案内ツール400は、3つのナビゲーションツール、即ち、運転生成ツール500、トークン発生器ツール600、及び解説ツール700からなっている。この実施例では、これらのナビゲーションツールは上述したようなツールの特性を有している。
【0035】
運転生成ツール500はその入力として、ルート計算ツール300が形成したルート計算オブジェクト342を使用する。(運転生成ツール500によって遂行される機能を提供する方法が、1997年7月15日に同時出願された一連番号 08/893,201 に開示されており、本明細書はその全文を参照として採り入れている。本明細書の運転生成ツールはこの引用した出願に類似しているが、以下に説明する点が異なっている。)
運転生成ツール500は、少なくとも2つの機能を遂行する。運転生成ツール500はルート計算オブジェクト342内のセグメントデータエンティティの順序付けられたリスト内の情報を使用して、運転または助言( advisory )命令と共に、計算されたルートに沿うどの位置をエンドユーザに解説すべきかを決定する。更に、解説の要求により決定された各位置毎に、運転生成ツール500は必要情報を集めて特定の位置のための運転または助言命令を発生する。
【0036】
これらの機能を遂行する際に、運転ツール500は2つのオブジェクトを使用する。図4を参照する。運転ツール500は、(運転生成)構成オブジェクト530及び運転生成オブジェクト540を含んでいる。(運転生成)構成オブジェクト530は運転規則532を含んでいる。これらの運転規則532は、ルート計算オブジェクト342内の、及び地理データベース140からのデータを使用して適用される。これらの規則は、計算されたルートに沿う位置を運転命令を用いて解説すべき時点を決定する。前述したように、ルート計算オブジェクト342は、道路のセグメントを表すデータエンティティのリスト344を含んでいる。このリストは連続するルートを形成する道路セグメントを表しているから、リスト344内のデータエンティティによって表されている各道路セグメントは、リスト内の隣接データエンティティによって表されている道路セグメントと1つのノード(即ち、「端点」)を共有している。運転規則532は、リスト344内のこれらの各ノードにおいて適用される。
【0037】
運転規則532を適用するに当たって、計算されたルートの走行の方向が斟酌される。即ち、計算されたルートが、運転規則532によって試験中のノードへ導入するようなセグメントは、入口セグメントとして識別される。計算されたルートが、運転規則532によって試験されているノードに導入しないようなセグメントは、出口セグメントとして識別される。更に、計算されたルートの一部ではないが、入口及び出口セグメントとこの同一ノードを共有する他の全てのセグメントが識別される。これらの全ての道路セグメントを表すデータエンティティは、データベース140から入手される。
【0038】
運転規則532はテーブル533の形状で供給される。(運転規則を含むテーブルの例を、付録の表1に示してある。)テーブル533は、複数の運転型534及び複数の運転条件試験535を定義する。これらの各運転型534は、計算されたルートから試験されているノードにおいて発生し得る特定の種類の道路構成変化を特徴付ける。各運転型534には、独特なコードまたは数が割当てられる。
【0039】
各運転条件試験535は、肯定または否定の答だけを受入れるように定められている。テーブル533内に定義されている各運転型534は、複数の運転条件試験535の独特なサブセットに関連付けられている。各運転条件試験535は運転条件試験内に指定された条件が満足されているか否かを確認するために、データベース140から入手したデータエンティティ内のデータ(入口セグメント、出口セグメント、アクセス可能な及びアクセス不能なセグメント、等々に関連するデータのような)を使用する。計算されたルート344内の各ノード毎に、もし運転型534に関連する全ての運転条件試験が満足されれば、そのノード位置のための運転命令が要求される。
【0040】
運転ツール500によって解説を要求していると決定された各位置毎に、運転ツール500は運転データ構造550を形成し、その運転データ構造を運転生成オブジェクト540へ追加する。運転生成ツール500によって形成された各運転データ構造550は、解説をエンドユーザに提供することが決定されたルートに沿う位置において、エンドユーザに運転命令を供給するための必要情報を含む。運転データ構造に要求されるデータの若干は、そのノードの位置において運転命令が必要か否かを決定するために試験されたセグメントデータエンティティ内に含まれているか、またはそれらのセグメントデータエンティティから導出される。付加的なデータを、データベース140から入手または導出することを、運転生成構成オブジェクトから要求されるかも知れない。
【0041】
図5に、各運転データ構造550内に含まれるデータの種類を示す。一実施例では、運転データ構造550はCデータ構造として形成されている。運転に関連するノードを共有するセグメントデータエンティティからのデータ、並びに地理データベースから要望されるか、または導出された何等かの付加的データを使用して、運転発生器オブジェクト540はいろいろな運転データ構造550のメンバーに対応するデータを集める。データは、それらを使用できる程度に集められる。データ構造のメンバーは、もし使用可能なデータが存在しなければ(例えば、もし運転位置における道路の1つが無名であれば)、空白のまま残すことができる。
【0042】
データ構造550内に含まれているのは、そのノードにおいて合流するセグメントの数を識別するフィールド550(1)(1)である。そのノード内への入口及び出口セグメント550(1)(2)、550(1)(3)が識別される。更に、そのノードを共有するアクセス可能なセグメント550(1)(4)が識別され、そのノードを共有するアクセス不能なセグメント550(1)(5)が識別される。各セグメント(入口、出口、アクセス可能、及びアクセス不能)毎に、セグメントデータベース識別(DBID)550(2)(1)、セグメントの1つまたは複数の名前(もしあれば)550(2)(2)、セグメント上の1つまたは複数の標識(もしあれば)550(2)(3)、セグメントのランク550(2)(4)、入口セグメントに対するセグメント分類(出口、アクセス可能、アクセス不能)550(2)(5)、セグメントのデータベース分類(例えば、制御されているアクセス、街路、ランプ)550(2)(6)、及び入口セグメントに対するセグメントの角度550(2)(8)を識別するためにデータ構造550が準備される。更に、データ構造550は、運転型(上述したような)550(4)(2)、次の運転までの距離550(4)(4)、及び運転が多重運転550(4)(1)内に含まれるか否かを識別するために使用されるフィールドを含んでいる。(多重運転は、2つの、またはそれ以上の、運転命令を同時にエンドユーザに提示することが好ましいかも知れない程、運転命令が必要であると決定された1つの位置が、運転命令が必要であると決定された別の位置に接近している時に、運転発生器オブジェクトによって定義することができる。多重運転であると定義される距離は構成可能であり、その道路セグメントに沿う速度制限、距離、ランク、等々を含むいろいろなファクタの関数であることができる。)
データ構造は、出口道路のためのコンテキスト情報550(3)を提供するフィールドをも含んでいる。この種類の情報は、出口セグメントが無名である場合のように、運転構造内の他の情報がその出口を完全に記述するには不十分である場合に有用であることができる。コンテキスト情報のためのフィールドは、出口セグメント名が不十分である(例えば、それが無名である)場合に、運転の出口を記述する目的地列(ストリング)550(3)を含むことができる。コンテキスト情報550(3)は、別の道路に対するその出口の位置(例えば、前、後、前方、後方、右側、または左側)を与える「位置」550(3)(2)のためのフィールドを含むこともできる。コンテキスト情報550(3)は、出口道路へ進むために取るべき角度を与える「転回角」550(3)(3)のためのフィールドを含むこともできる。コンテキスト情報は、運転を開始する時に使用することができ、とるべき初期ヘッディング(例えば、北、南、東、西、北西、等)を与える「ヘッィング」550(3)(5)のためのフィールドを含むこともできる。コンテキスト情報550(3)は、「に対して」550(3)(4)のためのフィールドを含むこともできる。「に対して」フィールド550(3)(4)は、運転を開始する際に使用されることを意味している。「に対して」フィールド550(3)(4)は、走行方向にある最初の交差点を与える。それは、出口セグメントが無名である場合にも使用することができる(例えば、「メインストリートの後を右へ曲がります」)。コンテキスト情報550(3)は、迂回運転のために使用することができる「出口の数」550(3)(6)のためのフィールドを含むこともできる。この「出口の数」フィールド550(3)(6)は、所望の出口に到達するまでに迂回路に沿って通過走行する出口の数を含む。
【0043】
上述したメンバーの他に、運転データ構造550は付加的なメンバー550(5)を含むことができる。
【0044】
運転データ構造は、助言を供給するための情報をも含んでいる。助言は、必ずしも運転には関連しない有用な解説情報の型である。助言は、道路網に変化が存在しているが、特定の運転は必要ではない場合に供給される。例えば、橋梁またはトンネルに入るか、またはそれを去る時に助言が供給される。運転データ構造550は、1つまたはそれ以上の助言型のリスティング550(4)(3)を含むフィールドを含んでいる。再度図4を参照する。特定のノードにおける運転を解説するか否かを決定し、それに伴うデータ構造550を形成するために使用される運転規則532の他に、運転構成オブジェクト530は助言規則570も含んでいる。助言規則570は、ルート計算オブジェクト342内の各ノードに適用される。運転規則532と同様に、助言規則570はテーブル572の形状である。(助言規則を含むテーブルの例を、付録の表2に示してある。)助言規則テーブル572は、助言型576のセット及び助言条件試験578のセットを含む。各助言型576は、あるノードにおいて供給することができる特定の種類の助言を特徴付ける。各助言型576には、独特なコードまたは数が割当てられている。各助言条件試験578は、肯定及び否定の結果だけが許されるように定められている。助言条件試験578の独特なサブセットが、異なる各助言型576に関連付けられている。もし、助言型576に関連する助言条件試験の全てに対して肯定の結果が得られれば、その助言型576はその位置における運転に関連付けられる。
【0045】
運転の場合の結果とは異なり、助言のための規則は独特な結果を要求しない。従って、あるルートに沿う所与の位置について、1つの助言型、または複数の助言型が存在することも、または助言型が存在しないこともできる。各助言型576毎の数またはコードは、その位置のために形成されたデータ構造550内に含まれる。
【0046】
助言規則の適用は、運転規則の適用には無関係である。従って、たとえあるルートに沿うある位置において運転規則を適用した結果、運転命令は供給する必要がないと決定されても、同一位置において助言規則を適用した結果、助言命令を供給する必要があり得る。もしある位置において助言規則を適用した結果、助言命令を供給する必要があると決定されたが、同一位置において運転規則を適用した結果、運転命令は供給する必要がないと決定されれば、その位置のために、データが使用できる範囲でデータ構造のメンバーのためのデータを含む運転データ構造が形成される。このような位置のために形成された運転データ構造は“0”の運転型を有していよう。
【0047】
計算されたルートに沿う各ノードを運転規則を用いて試験するように、運転生成構成オブジェクト540はルート計算オブジェクト342内のデータエンティティのリスト344をトラバースする。上述した各フィールド毎の情報(このような情報が使用できる範囲で)を有する運転データ構造550が、計算されたルート内の各位置(この位置においては、何等かの運転型についての全ての運転条件試験、または何等かの助言型についての全ての助言条件試験が満足されている)毎に形成される。このプロセスによって形成された運転データ構造550は、運転生成オブジェクト540内に順番に含まれる。
【0048】
D.ルート案内ツール/トークン発生器ツール
(1)概要
再度図2を参照する。トークン発生器ツール600はその入力として、運転生成ツール500によって形成された運転生成オブジェクト540を使用する。トークン発生器ツール600は、(トークン発生器)構成オブジェクト620及びトークン発生器オブジェクト650を含んでいる。運転生成オブジェクト540内のデータ構造550のリスト内の情報を使用して、トークン発生器オブジェクト650はトークンリストを形成する。トークン発生器オブジェクト650自体は、解説ツール700(または、その中に含まれる1つまたはそれ以上のツール)によって使用されて運転命令が形成され、ルート計算ツール300によって計算されたルートをエンドユーザに解説するためにナビゲーション応用21へ戻される。
【0049】
図6は、トークン発生器オブジェクト650の成分を示す図である。トークン発生器オブジェクト650はトークンリスト652を含んでいる。トークンリスト652は、トークン655の順序付けられたシーケンスからなる。トークン655は、エンドユーザに対して解説される運転命令を形成するデータの断片を含むために使用される。トークンは、運転命令が供給される物理的形状(即ち、視覚またはオーディオ)には無関係であることができる。即ち、トークンは文字データまたは図形データ(視覚ディスプレイのために)、またはオーディオデータ(オーディオ再生のために)に変換することができる。従って、トークンは解説のために使用されるデータ単位の抽象を表している。
【0050】
トークンは、2つの型のデータ、即ち記号及び文字列データを含むことができる。記号は、運転命令を供給する時に、または運転命令の一部として有意味文法構造を作成する時に、共通に使用されるワード及びフレーズ(または、図形)を表すために使用される。例えば、記号は、「交差点」、「合流」、「左に曲がりなさい」、等々のようなワードまたはフレーズのために使用することができる。一実施例では、数 00001がワード「交差点」を表し、数 00002がワード「合流」を表し、数 00003がフレーズ「左に曲がりなさい」を表す、等々のように、数が記号のために使用される。(記号、及びそれらに対応するワードまたはフレーズの例が、付録の表5に含まれている。表5の第2列は記号を含み、第1列はこれらの記号に対応する文字テキスト列を含んでいる。)
記号は、オーディオデータ、文字テキスト列データ、図形データへ、またはオーディオ、文字テキスト列、及び図形データの組合せへマップすることができる。後述するように、解説ツール700は、ナビゲーション応用210への出力データへのこのマッピング能力を使用する。もし運転命令をオーディオで供給するのであれば、これらの記号によってマップされたオーディオデータ(ファイル、またはそれらの部分)が、解説ツール700によってナビゲーション応用210へ戻され、運転命令を聞かせるためにナビゲーション応用210内のソフトウェア及びユーザインタフェース131内のハードウェアによって再生される。もし運転命令をビデオ画面上に表示させるのであれば、これらの記号によってマップされた文字テキスト列データ(または、図形データ)が、解説ツール700によってナビゲーション応用210へ戻され、運転命令を見せるためにユーザインタフェース131のビデオ画面上に表示される。代替として、解説ツール700は、運転命令を可聴及び視覚の両方で供給できるように、オーディオデータ、文字列テキストデータ、及び図形データの組合せを戻すことができる。(付録の表5の第3列は、第2列内の記号に対応するオーディオデータが再生された時に何が聞こえるかの文章記述を含んでいる。)
上述したように、トークンは、記号の代わりに文字列データを含むこともできる。文字列データは、より精巧な、及び/または有意味の運転命令を供給するために、トークン内に含ませることができる。例えば、文字列データは、運転命令をより有意味にするために、地理特色の名前(例えば、道路名または関心点名)を運転命令に追加するために使用することができる。この種類の情報の場合、地理的な名前をスピーチで表すオーディオデータ(ファイル、またはそれらの部分)は使用不能にすることができる。従って、この種類のデータのためのトークンは、地理特色名の文字列を含んでいる。この文字列データは、地理特色の名前を含む地理データベース140から入手することができる。例えば、運転命令「次の交差点を左へ曲がりなさい」は、記号だけを使用してトークンから形成することができる。運転「次の交差点で左折してアービングパークロードへ進入しなさい」内に含まれる地理特色の名前を使用して、より詳細な運転命令を供給することができる。後者の運転命令内のワード「アービングパークロード」は文字列「アービングパークロード」を含むトークンから導出される。
【0051】
文字列データベースを含むトークンは、オーディオ及び視覚の両運転命令を供給するために使用することができる。文字列を含むトークンからの運転命令を可聴の形状で供給するために、テキストからスピーチへのソフトウェアを使用することができる。
【0052】
(2)規則テーブル
トークン発生器構成オブジェクト620は、トークン発生器オブジェクト650を生成するために使用される成分を含んでいる。これらの成分は、トークンのリストを生成するために必要な構成パラメータ及びテーブルを含む。図7を参照する。トークン発生器構成オブジェクト620は、1つまたはそれ以上の規則テーブル630を含んでいる。これらの各規則テーブル630は、特定の種類の解説に合わせた規則を含むことができる。例えば、1つの種類の規則テーブルは、音声規則テーブル630(V)である。音声規則テーブル630(V)は、トークンが有意味オーディオ運転命令を供給するように、出力をトークン発生器オブジェクト650の形状で供給するのに使用される。別の種類の規則テーブルは、テキスト規則テーブル630(T)である。テキスト規則テーブル630(T)は、トークンがビデオディスプレイ上のテキストとして有意味運転命令を供給するように、出力をトークン発生器オブジェクト650の形状で供給するのに使用される。(付録を参照されたい。表3は視覚ディスプレイのためのトークンを生成する規則テーブルの例であり、表4はオーディオ再生のためのトークンを生成する規則テーブルの例である。)
音声及びテキストのための別々のトークン発生器オブジェクトを発生するために別々の規則テーブルを使用できるが、代替実施例では、音声及びテキストの両解説を、汎用規則テーブルによって発生させた同一トークン発生器オブジェクトから供給することができる。
【0053】
規則テーブルは、異なる言語で解説するために設けることができる。異なる言語の文法的な差を斟酌するために、異なる言語について規則テーブルが設けられる。ある言語のための規則テーブルは、トークン発生器オブジェクト650内のトークン(それらから運転命令のワード及びフレーズが導出される)を、運転命令を供給している言語の正しい文法構造の正しいシーケンスに配列する。例えば英語、フランス語、スペイン語、ドイツ語、等々のために別々の規則テーブルを設けることができる。
【0054】
代替規則テーブルも設けることができる。これらの代替規則テーブルは、特別な種類のトークン発生器オブジェクトを発生するために使用することができる。例えば、もしナビゲーションシステムがビデオディスプレイ能力に制限されていれば、代替規則テーブルはトークン発生器から導出される運転命令が適切に制限されるようにトークン発生器を発生するために使用することができる。
【0055】
図8及び9(及び付録の表3及び4)を参照する。各規則テーブル630は、運転オブジェクト540内の順序付けられた複数の各運転データ構造550に適用される試験、関連動作、及び出力を含むケースの構造化リストを含む。各運転データ構造550毎にトークン発生器オブジェクト650は、規則テーブル630の1つの中の規則を使用して出力リスト631を形成する。出力リスト631の内容は、トークン発生器オブジェクト650において順序付けられたトークンシーケンス633に変換される。全ての運転データ構造550から生成されたトークンシーケンス633は、トークン発生器オブジェクト650内に含まれるトークンリスト652を作成するために使用される。運転生成オブジェクト540からの各運転データ構造550が処理されると、その運転のために形成されたトークンシーケンス633はトークン発生器オブジェクト650に追加される。即ち、各運転データ構造550毎に形成されたトークンシーケンス633は、先に処理済みの運転から既に追加されているトークン(もしあれば)を含むトークン発生器オブジェクト650内の部分的に形成されたリストの終わりに付加される。全ての運転データ構造が処理されてしまうと、全ての運転550から形成されたトークンシーケンス633は、トークン発生器オブジェクト650内に完全なトークンリスト652を形成する。
【0056】
トークン発生器オブジェクト650内のトークンリスト652から、ルート計算ツール300によって計算されたルートを解説することができる。解説は、トークン発生器オブジェクト650内のトークンを、ナビゲーション応用210によって要求された適切なフォーマットに変換することによって遂行される。トークンが記号である場合には、解説は、それらの記号がマップされるオーディオデータ(ファイル、またはそれらの部分)、テキスト文字列、または図形データ(ファイル、またはそれらの部分)を入手することを含む。トークンが文字列である場合には、解説は、テキスト運転命令の場合は文字列を戻すことを、またはオーディオ運転命令の場合はテキスト・スピーチ変換を遂行することを含む。
【0057】
トークン発生器構成オブジェクト620内の各規則テーブル630は、複数の規則セット632を含んでいる。規則テーブル630は、何れかの運転データ構造550内に見出すことができる運転型及び助言型の異なる組合せのための規則セット632を含む。上述したように、各運転データ構造550は、運転型及び多分1つまたはそれ以上の助言型を識別するメンバー550(4)(2)及び550(4)(3)を含んでいる。規則テーブル630は、各運転型、運転型と助言型との各組合せ毎に規則セット632を含んでいる。例えば、図8に示す規則テーブル630では、運転型“0”のために1つの規則セット632MAN(0)が定義され、運転型“1”のために別の規則セット632MAN(1)が定義され、運転型“2”のために別の規則セット632MAN(2)が定義されている、等々である。
【0058】
図9を参照する。規則テーブル630内の各規則セット632は、1つまたはそれ以上のケース634を含んでいる。各規則セット内の各ケースは独自に番号付けされている。例えば、1、2、3、・・・、等々である。各規則セット632内のケース634は、運転型または助言型の特定組合せを有する運転データ構造550内で発生する可能性がある各状況を斟酌する。各規則セット632内のケース634は、運転型または助言型の指定された組合せを有する運転データ構造550に対して構成オブジェクト620が規則セット632を適用する時に、規則セット632内にリストされている最初のケース634に最初に適用されるように順序付けられている。
【0059】
各運転データ構造550は、別々に処理される。また各運転データ構造550は、それが運転生成オブジェクト540内に含まれている順番に取出される。運転データ構造550内の特定の運転型及び助言型と一致するケースを含む規則セット632だけが使用される。
【0060】
図9に示す実施例では、1つの規則セットが“−1”に等しい運転型のために定義されている。もしある規則セットがその運転型フィールド内に“−1”を有していれば、それはどの運転型によっても満足される。例えば、運転型フィールド内に“−1”を有し、助言型フィールド内に“8”を有するケースは、“8”の助言型を有するどの運転データ構造にも適用される。運転データ構造は、その運転型フィールド内にどのような運転型をも有することができる。
【0061】
規則セット内の助言型フィールド内に“−1”を有するあるケースは、どのような助言型によっても満足される。例えば、もしケースが運転型フィールド内に“4”を有し、助言型フィールド内に“−1”を有していれば、“4”の運転型を有するどの運転データ構造にも適用される。運転データ構造は、どのような助言型を有することもできる。このように、助言型のためのケースは1つより多くの運転型のために使用することができ、運転型のためのケースは1つより多くの助言型のために使用することができる。
【0062】
図9を参照する。各規則セット632内の各ケース634に関連付けられているのは、試験フィールド636である。各ケース634毎の試験フィールド636は1つまたはそれ以上の試験637を識別するか、または試験フィールド636はこのケースに関連する試験は存在しないことを指示することができる。(例えば、試験フィールド636は、試験フィールド内に“−1”のようなコードが存在していることによって、試験は必要ないことを指示することができる。)一実施例では、試験フィールド636は、試験IDによって各試験637を識別する。各試験637は、試験の結果が「合格」または「不合格」の何れかであるように定められている。(付録の表3及び4に含まれているトークン規則テーブルの見本では、説明の目的で、試験フィールド内には試験IDの代わりに試験の名前が含まれている。)
各ケース634毎の各試験637は、関連運転データ構造550内のデータを使用して遂行される。例えば、試験637の1つは、運転データ構造の出口セグメントフィールドの名前内の名前の存在を調べることができる。別の試験は、運転データ構造の目的地フィールド内の名前の存在を調べることができる。トークン発生器ツール600は、トークン発生器オブジェクト650内に複数の省略時試験を含んでいる。付加的な試験を、ナビゲーション応用プロセス210によって定義し、含むことができる。(試験637は、トークン発生器オブジェクト650を構成しているコードベース内にあるか、またはもし試験がナビゲーション応用210内に定義されていれば、試験637はそこに位置することができる。規則を構成している試験IDは、トークン発生器構成オブジェクト620内にある。)
各ケース634には、動作フィールド638、合格経路フィールド640、不合格経路フィールド642、及びケース出力643も関連している。ケース出力643の内容は、1つまたはそれ以上のキー656、記号668、または列674、またはそれらの組合せのリストを含むことも、または代替として、ケース出力643は空白であることもできる。キー、記号、及び列に関しては後述する。出力リスト631内のキー、記号、及び列は、そのケースに対して遂行される試験によって決定された運転データ構造内に含まれる情報の種類を斟酌して供給される運転の全て、または一部の有意味解説を供給するように、ケース出力内に配列される。
【0063】
ケース634の動作フィールド638は、2つの値、即ち「置換」( Replace ) 、または「付加」( Append )の一方を有するように定義されている。もしケース634の試験フィールド636内に指定されている全ての試験637に合格すれば、そのケースの動作フィールド638内にリストされている動作が遂行される。
【0064】
もしケース634の動作フィールド638が「付加」を指示していれば、そのケースのケース出力643の全ての内容645が追加される。これは、合格したケースのケース出力643内にリストされている何等かのキー656、記号668、または列674が、先に遂行されたケースによって同一運転のために既に付加済みの何等かのキー656、記号668、または列674(もしあれば)に追加されることを意味している。この新しく付加された、及び既に付加済みのキー656、記号668、列674の集まりは、その運転のための潜在的な出力リスト631として一時的に保管され、同時に同一運転のためのさらなるケース(付加的な試験を含み得る)が遂行される。もし同一運転のための先行ケースからキー656、記号668、または列674が存在しなければ、合格したケースのケース出力643の内容645は、その運転のための潜在的な出力リスト631として一時的に保管され、同時に同一運転に関連するさらなるケースのための試験が遂行される。
【0065】
(付録の表3及び表4に含まれているトークン規則テーブル例のケース出力には、記号の実際の数値は示されていない。代わりに、表3及び4の例のケース出力は、記号によって表された等価テキスト文字列を示している。これは、説明の目的のためになされたものである。)
もしケース634に関連する試験フィールド636内に指定されている全ての試験637に合格し、動作フィールド638が「置換」を指示していれば、先に遂行されたケースによって同一運転のために既に付加済みの何等かのキー656、記号668、または列674(もしあれば)は、合格した新しいケースの内容645と置換される。この合格した新しいケースのキー656、記号668、または列674はその運転のための潜在的な出力リスト631として一時的に保管され、同時に同一運転に関連するさらなるケースのための試験が遂行される。
【0066】
前述したように、ケース634の試験フィールド636は、そのケースに関連する試験が存在しないことを指示することができる。これは、試験フィールド636内の“−1”によって指示することができる。もし試験が存在しないことが試験フィールド636内に指示されていれば、その試験フィールドはそのケースに関して満足されたものとして処理され、動作フィールド638内に指定されている動作が遂行される。従って、指定された試験が存在しない場合には、ケース634の動作フィールド638内に指定されている動作は、運転のためにそのケースに出会うと必ず遂行されることになる。
【0067】
合格したケース(即ち、試験フィールド636内に指定されている全ての試験に合格したケース)の場合、動作フィールド638内に指定されている動作が遂行された後に遂行される次のステップは、そのケースの合格経路フィールド640内に指定されているステップである。合格経路フィールド640は、その運転のために遂行される次のケースを(例えば、ケース番号によって)識別することも、またはその運転に関して遂行することが要求されるさらなるケースが存在しないことを指示することもできる。もし合格経路フィールド640が遂行すべき別のケースを指示していれば、その新しいケースの試験フィールド636内に指定されている試験637が遂行される。このプロセスは、その運転に関して遂行すべきさらなるケースが指示されなくなるまで続行される。
【0068】
試験フィールド636内に指定されている何れかの試験637に合格しない場合には、そのケースは不合格として処理される。不合格であったケースの動作フィールド638内に指定されている動作は遂行されない。潜在的なケース出力643として一時的に保管されている同一運転のために先に遂行されたケースからのデータアイテムは、そのままにして置かれる。
【0069】
不合格であったケースの場合、遂行される次のステップは、その不合格経路フィールド642は、その運転のために遂行される次のケースを識別するか、その運転のために遂行する必要があるさらなるケースが存在しないことを指示することができる。
【0070】
(3)トークンの生成
このステージにおいては、運転のための規則セット内の全ての適用可能なケースが遂行された後のその運転のために作成された出力リスト631の内容は、全ての合格したケースのケース出力643(付加の代わりに、置換を要求するその後に遂行されたケースによって置換されたものを除く)の組合された内容を含んでいる。上述したように、ケース出力643は、キー、記号、列、またはそれらの組合せを含むことができる。出力リスト631内のこれらのキー、記号、及び列は、トークン発生器オブジェクト650によってトークンに変換される。記号、キー、及び列が、各運転毎に生成される出力リスト内に含まれる順番は、それらから形成される順序付けられたトークンシーケンス内に維持されている。
【0071】
図8及び10は、キー、記号、及び列で作られている運転出力リスト631の内容を示している。これらはそれぞれ、適切な文字によって区別することができる。図10に示す実施例では、キーはかぎ括弧(<>)によって括られ、列は括弧(“ ”)で括られている。かぎ括弧または括弧によって括られていない出力リスト631内のエントリは、記号として取扱われる。出力リスト631内の各キー、記号、及び列は、トークン発生器オブジェクトに追加されるトークンを形成する。
【0072】
a.記号
記号688は、エンドユーザに意味を与える運転命令の部分を表すために使用される。例えば、テキスト「ミシガンアベニューで右へ曲がりなさい」を表示する運転命令では、フレーズ「で右へ曲がりなさい」を表すために、1つまたはそれ以上の記号が運転の出力リスト内に含まれていたであろう。フレーズ「ミシガン アベニュー」を表すために、運転の出力リスト内でキーが使用されたであろう。
【0073】
この例では、運転の出力リスト631内の記号は、運転のために遂行された合格したケースの1つが追加されているケース出力631内に含まれていたであろう。この記号を含んでいたケース出力に追加されたケースは、出口セグメントフィールド内に識別されているセグメントデータエンティティのための道路名フィールド内の道路の名前が、出口セグメントフィールド内に識別されているセグメントデータエンティティのための道路名フィールド内の道路の名前と異なるか否かを調べたその試験フィールド内の試験を含んでいたことがあり得る。
【0074】
順序付けられたトークンシーケンス633を運転出力リスト631から形成する際に、記号に出会うとそれらはトークンに形成される。運転出力リスト内の各記号は、それらから形成される順序付けられたトークンシーケンス内の1つのトークンに形成される。
【0075】
(開発環境においては、記号が表しているワードまたはフレーズによって記号を表すことは容易である。従って、トークン発生器ツールは、開発者が、実際の数値記号の代わりに、記号が表すワード及びフレーズを使用することを可能にする。)
b.キー
キーは、運転データ構造内に含まれるデータを参照するために使用される。従って、キーは比較的ダイナミックである。運転生成オブジェクト内の各運転データ構造は異なるデータを含むことができるので、キーが参照する運転データ構造メンバーは運転データ構造毎に変化し得る。例えば、もしテキスト「ミシガンアベニューで右へ曲がりなさい」を表示する運転命令をエンドユーザに提供することが望ましければ、出口セグメントの名前(即ち「ミシガン アベニュー」)を参照するためにキーがケース出力リスト内で使用されよう。この例では、キーは次のような形状をとる。
【0076】
<名前 出口 セグメント>
この運転出力リスト631から、順序付けられたトークンシーケンス633を形成する際に、あるキーに出会うと、運転データ構造内に含まれる対応するデータのアイテムが識別される。このデータのアイテムは、そのキーを形成するために使用される。次いでこのキーはトークンに拡張され、次いでその運転のための順序付けられたトークンシーケンス633に追加される。
【0077】
この例では、運転の出力リスト631内のキーは、この運転のために遂行された試験に合格したケースの1つによって追加されたケース出力631内に含まれていたであろう。このキーを含んでいたケース出力を追加したケースは、その運転データ構造550が、出口セグメントフィールド(図5の550(1)(2))内で識別されたセグメントデータエンティティのための道路名フィールド(図5の550(2)(2))内のデータを含んでいたか否かを調べた試験フィールド内の試験を含んでいたことがあり得る。
【0078】
拡張機能 各キーは関連する拡張機能670を有しており、この拡張機能670はキーをトークンに拡張するために使用され、次いでそのトークンはその運転のための順序付けられたトークンシーケンス633内に含まれる。拡張機能670は、キーを導出したデータから、使い易い命令を形成することに関係する何等かの種類のフォーマッティングまたはスタイルを斟酌する。(試験637と同様に、拡張機能のためのコードはトークン発生器オブジェクト650のコードベース内に位置している。キーを拡張する場合、拡張機能は、トークン発生器構成オブジェクト620内に位置するスタイル及びメンバーマップ(後述)のようなデータを使用する。)
スタイル 若干の種類のキーを拡張する場合、そのキーによって表されるデータを表すことを可能にするいろいろな方法が存在する。例えば、運転命令は、次の運転までの距離を指示することができる。キーは、この目的のために使用される。キーは、次の運転までの距離のための運転データ構造フィールド(即ち、図5の550(4)(4))の存在を調べたケースのケース出力内に含めることができる。もしこのフィールド内にデータが存在していれば、このケース出力は運転出力リスト631に追加される。キーによって参照されたデータのアイテムは、次の運転までの距離をメートルで指示する数(例えば、1500)である。しかしながら、この情報を表現することができるいろいろな方法が存在する。例えば、英語では「 1500 メートル」を、“ 1.5km”、“1 and a half km”、“ 1500 m”、“ fifteen hundred meters ”、“1km500 m”、等々のように色々な方法で表現することができる。何れの場合も、運転の解説が一貫していることが好ましい。キーによって参照されるデータを異なる言語で表現する場合にも同じような考え方が適用される。
【0079】
キーを拡張する場合、トークン発生器ツールは、若干の種類のキーをどのように表現するかを選択するようになっている。更に、トークン発生器ツールは、言語の独自性に順応するために、適切である場合には例外を設ける。トークン発生器ツールは、キーがそれに関連するスタイルコード692を有することができるようにもなっている。スタイルコードは、キーによって表された値を表現する方法を定義するためにキー内で使用される。このスタイルコードは、キーを拡張する時に拡張機能によって使用される。
【0080】
トークン発生器構成オブジェクト620は、距離、時間、メンバー、等々のようなキー内に含まれる異なる種類の情報を表現するための1つまたはそれ以上のスタイルを含んでいる。これらのスタイルは、“1”、“2”等のようなスタイルIDによって識別される。スタイルコードはキーに付加することができ、キーによって表された値を表現する方法を決定するために使用される。スタイルの使用を以下の例で説明する。
【0081】
例 1
キーは<起点:1 からの 距離>としてケース出力内に定義される。キー内の、コロンの後の値“1”がスタイルコードである。
【0082】
トークン構成オブジェクトでは、1のIDを有するスタイルは、キーを
xメートル
として表現するものとして定義されている。但し、xはキー「起点 からの 距離」内の値である。もし運転データ構造の対応する「起点 からの 距離」メンバーの値が“7”であれば、拡張機能670は、文字列「メートル」を「起点 からの 距離」の値から形成された文字列に追加することによって、このキーからトークンを形成する。得られる文字列
「7メートル」
がトークンの内容を形成し、これはその運転のための順序付けられたトークンシーケンスに追加される。
【0083】
例 2
キーに付加されるスタイルコードは“2”である。このスタイルは、トークン構成オブジェクト内に
* ( 1.61 )マイル
として定義されている。
【0084】
もし運転データ構造内の「起点 からの 距離」の値が“7”であれば、拡張機能670は、このキーから、
「 11.27マイル」
なる文字列を含むトークンを形成する。
【0085】
フォーマッタ ある数の中に含まれる小数点以下の桁数、または名前内に含まれる文字の数に関係する若干の種類のキーを解説する場合には、別のファクタが考慮される。例えば、次の運転までの距離を表現するためにキーが使用される場合には、ナビゲーションシステム及び地理データベースは、次の運転までの距離を小数点以下7桁まで決定するコンピュータ処理能力及び精度を有することができる。しかしながら、自動車を運転中のエンドユーザにとって、このレベルの精度は不必要であろう。
【0086】
トークン発生器ツール700内の拡張機能670は、若干の種類のキーが表現されている桁数を選択するようにもなっている。更に、トークン発生器ツールは独自性に順応するために、適切な場合には例外を作るようにもなっている。トークン発生器ツールは、キーがそれに関連するフォーマッタを有することができるようになっている。フォーマッタコード688は、若干のキーによって表された若干のトークンを表現するのに使用されている小数点以下の桁数を定義するために使用される。フォーマッタコードの使用を、次の例で説明する。
【0087】
<次の 運転%2 までの 距離>
%符号の次の値がフォーマッタコードである。このフォーマッタコードは、キーをフォーマットするために使用される。キー拡張機能は、トークンを構成する時にフォーマッタコード内のこの情報を使用する。この例では、次の運転までの距離は小数点以下2桁だけに制限されている。
【0088】
フォーマッタコードは、指定された文字の数で文字名を打切るためにも使用される。このようにフォーマッタコードは、若干の長い地理名の表示を容易にするように使用することができる。街路、町、または関心点の名前を表すキーと共に使用する場合、フォーマッタ機能はキー内の値を、フォーマッタコード内に指定されている文字の数で打切る。
【0089】
メンバー値マップ 他の種類のキーの拡張には、更に別のファクタが関係する。若干の種類のキーは、それらが運転データ構造内の値からトークン内の別の値まで拡張される時に、変換またはマッピングを受けるデータを表すために使用される。この種類のキーの例は、ヘッディングを含む。ディスプレイ画面に「ルート95上を北西に向かいなさい」のような運転命令を供給することが望ましいことがあるかも知れない。運転命令内のワード「北西」は記号を含んでいたトークンから導出され、この記号自体は運転データ構造内の運転のためのヘッィングのためのキーから形成されたものである。ヘッィングのためのキー(例えば、<コンテキスト ヘッディング>)は、運転データ構造内のヘッディングメンバー(図5の550(3)(5))を指している。運転データ構造内では、ヘッディングはある数として表現することができる。この数は、例えば0−255 の範囲内にあることができ、0は真北を指し、他の各数(1−255 )はそこからの時計方向への相対度数を指している。拡張機能は、ヘッディングがキー内で表現されている形状(例えば、223 )を、トークン内に含まれる形状に変換するようになっており、このトークン内に含まれる形状を運転命令内のワード(例えば「北西」)として解説することができる。
【0090】
この機能を提供するために、拡張機能670はメンバー値マップ680を使用する。好ましい実施例では、メンバー値マップ680は、キーが文字列を取ることができる値に直接関連付けるのではない。そうではなく、メンバー値マップ680をキーから記号への値に関連付けるのである。次いでこれらの記号は、トークンに形成される。これらの記号は、広く使用される運転命令を表すために使用される記号と同じように使用される。即ち、これらの記号は、テキスト解説の場合には文字列に、またはオーディオ解説の場合にはオーディオデータにマップされる。
【0091】
この特色を提供するために、運転構造550の少なくとも若干のメンバーは、運転データ構造メンバーIDを有している。1組の「値からトークンへ」のマップがこれらの各運転構造メンバーIDに関連付けられる。メンバー値マップ680は、異なる記号を、運転構造の各フィールド内の異なる値と対応付けるようになっている。次いで、キーがそのメンバーのために拡張される時に、そしてそのメンバーがメンバー値マップ内にそれのために定義されたメンバー値を有している場合に、その関連付けられた記号を含むトークンが生成される。
【0092】
例えば、1組のメンバー値マップを、運転データ構造メンバー<コンテキスト ヘッディング>のために定義することができる。このセットは、方向「北」、「南」、「東」、または「西」、「北東」、等のための8つのメンバー値を含むことができる。これらの各メンバー値に関連付けられているのは、数値記号1、2、3、4、5、等である。キー<コンテキスト ヘッディング>を拡張する時に拡張機能は、メンバー値マップ680を使用してキー内の値のための記号を表引きし、その記号を含む適切なトークンを生成する。
【0093】
若干の種類のキーのためにメンバー値マップを使用することは、トークン発生器ツールをフレキシブルに、且つ言語独立にするのを援助する。キーを(文字列に拡張するのではなく)記号に拡張することによって、言語独立性及びフォーマット独立性(オーディオ対ビデオ)が維持される。トークン内に含まれる記号は拡張ツール700によって、どのような選択された言語においても文字列、音声データ、または図形データにマップすることができる。
【0094】
c.
前述したように、運転出力リスト631は、列674を含むこともできる。記号及びキーと同様に、列は、その運転のための合格した(そして、置換されない)ケースがそのケース出力内にその列を含んでいる場合に、出力リスト631内に出現する。列674は、通常の文字データからなる。列は、列の内容がディスプレイ画面上に視覚的に表示される場合に、エンドユーザにテキストで案内するのに有用であることができる。列がトークンに変換される時に、文字データの列がトークンを形成し、次いでそれはその運転のためのトークンリスト内に含まれる。列は、テキスト出力をフォーマットするために使用される制御文字を含むように使用することもできる。例えば、単一の空白スペース(例えば、“ ”)からなる列を、出力リスト631内の記号668とキー656との間に配置することができる。この列は、単一の空白スペースを表すトークンに変換される。エンドユーザに対して運転がディスプレイ画面上に視覚的に表示される時に、記号を含むトークンから導出されたテキストと、キーから拡張されたトークン内に含まれるテキストとの間に空間が現れる。
【0095】
列は、タブ、復帰、等のような他のフォーマッティングのために使用することができる。普通の制御文字を、この目的のために使用することができる。
【0096】
列は、他のテキストデータの表示に使用することもできる。列は、テキスト・スピーチ変換ソフトウェアを使用して、音声データの解説に使用することもできる。
【0097】
(4)組合せ運転
ナビゲーション応用プログラムのエンドユーザに対し、計算されたルートに沿って運転命令を供給することができる方法は、少なくとも幾つか存在する。1つの方法は、全ての運転命令を同時にエンドユーザに供給することである。別の方法は、一時に1つの運転命令をエンドユーザに供給することである。この後者の方法は、エンドユーザが計算されたルートを走行している場合に、運転操作を必要とする前のある時点に、エンドユーザに運転命令を供給するように使用することができる。エンドユーザに運転命令を供給する方法には関係なく、もし運転命令が集まりまたは提示(プレゼンテーション)に編成されていれば、運転命令をより有意味にすることができる。例えば、もし近づいてくる交差点で左折した後に3マイル走行する必要があれば、「次の交差点を左折した後に3マイル走行して下さい」という運転命令をディスプレイ画面上に提示させることができる。しかしながら、もし近づいてくる交差点で左折し、左折後に 100フィートでランプ上へ右折し、そこから3マイル走行するのであれば、「次の交差点で左折し、直ぐに右折してランプへ入り、そこから3マイル走行して下さい」という運転命令を供給することができる。この後者の例では、たとえ運転生成ツールが交差点における左折、及びランプへの右折のために別々の運転ディスプレイ構造を発生したとしても、エンドユーザの観点からは、両方の運転が同時に助言される方がより有意味であるかも知れない。従って、運転命令をエンドユーザに供給する場合に、1つより多くの運転をエンドユーザに提示する時に一緒にグループ化することが望ましいことがあり得る。この考え方は、運転がオーディオで提示されるか、またはビジュアルで提示されるかには拘わりなく適用される。
【0098】
運転の提示及びグループ化を受入れるために、若干の種類の規則を規則テーブル内で使用することができる。例えば、ある規則セット内のあるケースは、運転データ構造の次の運転までの距離フィールドを調べ、もしそれが空白でなければワードまたはフレーズ「次の運転までの距離は」と、それに続く次の運転までの距離フィールド内の値を取るキーのための1つ以上の記号とを含むケース出力を含むことができる。このケースは(殆どではないにしても)多くの運転型に使用することができるので、全ての運転の後に遂行されるケースとして準備することができる。このように、このケースは、各運転型の各規則セット毎に繰り返してはならない。このケースは、それに運転型を割当て(例えば、−3)、−3の運転型を有するケースを各運転の後に遂行することによって、各運転の後に遂行するように準備することができる。
【0099】
いろいろな種類の規則を、このようにして準備することができる。例えば、フォーマッティングの目的で、表示された運転の後にライン区切り(ブレーク)またはページ区切りを挿入することが望ましいことがあり得る。ケースを含む規則をこの目的のために準備することができ、これらのケースは表示された各運転の後に遂行されよう。例えば、数または型によって運転を識別するために、各運転の前に遂行するように別の規則を準備することができる。
【0100】
上例におけるように、運転操作が互いに比較的接近している場合には、それらを一緒にグループ化し、エンドユーザにそれらを組合された運転命令として提示することが望ましいかも知れない。多重運転を調べるための規則を準備することができる。この規則は、運転データ構造の多重運転フラグ550(4)(1)(図5)を調べて、それが多重運転の一部であるか否かを決定することになろう。もし多重運転の一部であれば、多重運転の最後のシリーズの後に限って、1つの運転を次の運転から分離するフォーマッティングが使用される。このようにして、別々の運転データ構造内に含まれる運転を、組合された運転として一時にエンドユーザに提示することができる。
【0101】
E.ルート案内ツール/解説ツール
トークン発生器ツール600がトークン発生器オブジェクト650内にトークンのリストを作成した後に、解説ツール700はトークン発生器オブジェクト650を使用してナビゲーション応用210へデータを戻し、エンドユーザに計算されたルートを解説する。解説ツール700によってナビゲーション応用210へ戻されるデータの種類は、ナビゲーションシステムのハードウェア資源に対応させるように構成することができる。従って、もしナビゲーションシステムがテキスト命令だけを支援するようになっていれば、解説ツール700によって戻されるデータの種類はテキストデータを含むが、オーディオまたは図形データは含まない。
【0102】
もしナビゲーションシステムが1つより多くの型のルート案内解説フォーマットを支援するようになっていれば、ナビゲーション応用210は解説ツール700によって戻されるデータがこれらの種類の特定の1つまたはそれ以上に対応するように要求することができる。ナビゲーション応用210によるこの要求は、エンドユーザからのルート計算及び案内要求の時点に行うことができる。代替として、解説ツール700は、同一の1つまたはそれ以上の種類の解説(テキスト、音声、または両方)が戻されるように、ナビゲーション応用210による省略時値を用いて構成可能にすることができる。
【0103】
図2及び11に示すように、解説ツール700は1つまたはそれ以上のツールからなることができる。一実施例では、解説ツール700は3つのツール、即ち音声案内ツール800、テキスト案内ツール840、及び図形案内ツール870を含んでいる。代替実施例では、解説ツール700は付加的なツールを含むことができ、代替として、解説ツール700は、これらの3つのツールより少ないツール、例えば1つまたは2つのツールを含むことができる。これら3つの解説ツールの動作に関して以下に説明する。
【0104】
先ず図11を参照して音声案内ツール800を説明する。音声案内ツール800は、トークン発生器オブジェクト650内に含まれているトークンリストを、トークン発生器ツール600から受信する。音声案内ツール800は記号オーディオデータファイル802を含む実施例内で使用される。これらの記号オーディオデータファイル802は地理データベース140内に含ませることも、または代替として、記号オーディオデータファイル802は音声案内ツール800にアクセス可能な別のデータベース内に、または別の媒体上に含ませることができる。これらの各記号オーディオデータファイル802は、音響に変換できるデータを含んでいる。即ち、これらの各記号オーディオデータファイル802は、ナビゲーションシステム内の適切なハードウェア及びソフトウェアを使用して再生した時に口語ワードまたはフレーズを表現するデータを含んでいる。例えば、記号オーディオデータファイル802は「曲がりなさい」、「左」、「そのまま」、「交差点」、等々の口語ワード及びフレーズを準備することができる。
【0105】
音声案内ツール800がトークンを処理する時に、各トークンはトークン発生器オブジェクト650内に含まれている順番に取り出される。前述したように、トークンは記号または列の何れかであることができる。記号である各トークンは1つまたはそれ以上の記号オーディオデータファイル802へマップされる。索引808を使用して、音声案内ツール800はその記号に関連する適切な記号オーディオデータファイルを表引きする。この索引808は地理データベース140内に含ませることも、または代替として、索引808は音声案内ツール800にアクセス可能な別のデータベース内に、または別の媒体上に含ませることもできる。音声案内ツール800は適切な記号オーディオファイルにアクセスし、それをナビゲーション応用へ戻す。トークン発生器オブジェクト650内にトークンを形成する音声規則630(図7)は、それらを音声解説のための適切なシーケンスに配列する。従って、音声発生器ツール800がトークンによって表されるオーディオデータファイルをナビゲーション応用210へ戻す時に、音声発生器ツール800はそれらを、それらが導出されたトークン内の順番に対応する順番に維持する。
【0106】
上述したように、トークンは列であることもできる。音声案内ツール800は列であるトークンを処理することもできる。列は、街路名、自治体、関心点、等々を表現するトークンとして使用することができる。トークンを形成する列は、街路名、自治体、関心点、等々のための文字列データを含む地理データベース140から導出することができる。これらの列は、運転データ構造のメンバーを参照するキーから導出することができる。トークンを形成する列は、トークン発生器構成オブジェクト620内の規則テーブル内のケース出力内に定義することもできる。列であるトークンは、それらに関連する記号オーディオデータファイル802を有していない。従って、テキスト・スピーチソフトウェアプログラム812を使用して、トークン内のデータの列を表現するオーディオデータファイルを生成することができる。テキスト・スピーチソフトウェアプログラム812は音声案内ツール800の一部として含ませることも、または代替として、テキスト・スピーチソフトウェアプログラム812はナビゲーション応用の一部として含ませることもできる。音声案内ツール800が、データの列であるトークンに出会うと、テキスト・スピーチソフトウェアプログラム812はそのトークン内に含まれている文字データの列からオーディオデータファイルを生成する。テキスト・スピーチソフトウェアプログラム812はこの機能を遂行するために、公知の技術を使用することができる。音声案内ツール800は、そのトークンのためのトークン発生器オブジェクト内に指定されているシーケンスを維持するために、テキスト・スピーチソフトウェアプログラム812によって生成されたオーディオデータファイルを、地理データベースから入手したオーディオデータファイル802を用いて配列する。
【0107】
代替実施例では、音声案内ツール800はテキスト・スピーチソフトウェアプログラムを含んでいない。この代替実施例では、トークン発生器構成オブジェクト620は、どのトークンも列ではないトークン発生器オブジェクト620を発生する音声規則630(V)のセットを使用するように構成されている。代わりに、この代替実施例によれば、音声規則630(V)はケース出力を生成し、これらのケース出力は、記号オーディオファイル802が音声案内ツール800による解説に使用できるように全てのトークンを記号にする。
【0108】
前述したように、解説ツール700は、テキスト案内ツール840をも含むことができる。テキスト案内ツール840は、音声案内ツール800と同じように動作する。テキスト案内ツール840は、トークン発生器オブジェクト650内に含まれているトークンリストを受信する。テキスト案内ツール840は、記号テキストデータ842を含む実施例内で使用される。記号テキストデータ842は、地理データベース140内に含ませることも、または代替として、記号テーブルデータファイル842はテキスト案内ツール840にアクセス可能な別のデータベース内に、または別の媒体上に含ませることもできる。図11に示す実施例では、記号テキストデータ842は、テキスト案内ツール840の一部であるテキスト案内構成オブジェクト847内に含まれている。記号テキストデータ842は、適切なハードウェア及びソフトウェアを使用してワードまたはフレーズのようなテキストとして表示することができる文字テキストを含んでいる。例えば、記号テキストデータ842は「曲がりなさい」、「左」、「そのまま」、「交差点」、等々のワード及びフレーズを準備することができる。
【0109】
テキスト案内ツール840は、トークンがトークン生成オブジェクト650内に含まれている順番に、トークンを処理する。前述したように、トークンは記号であることも、または列であることもできる。記号である各トークンは、1つまたはそれ以上の記号テキストデータ842へマップされる。索引848を使用して、テキスト案内ツール840は、そのトークン内の記号に関連する適切な1つ以上の記号テキストデータファイル842を表引きする。この索引848は、地理データベース140内に含ませることも、または代替として、索引848はテキスト案内ツール840にアクセス可能な別のデータベース内に、または別の媒体上に含ませることもできる。図11に示す実施例では、索引848は、テキスト案内ツール840の一部であるテキスト案内構成オブジェクト847内に含まれている。テキスト案内ツール840は記号テキストデータ842にアクセスし、それらをナビゲーション応用へ戻す。トークン発生器ツール600は、トークン発生器オブジェクト内のトークンのために適切な順番を指定する。テキスト案内ツール840は、記号テキストデータ842からのテキストデータをこの同じ順番に維持する。
【0110】
テキスト案内ツール840は、列であるトークンをも処理する。列は、街路名、自治体、関心点、等々を表現するために使用される。これらの名前は、地理データベース140内にデータとして含まれており、運転データ構造550のメンバーを参照するキーから導出することができる。テキスト案内ツール840が、列であるトークンに出会うと、それは残余のトークンから導出された残余の列と共に配列される。トークンが配列されていた順番は、トークン発生器オブジェクト内でも維持される。トークン発生器オブジェクト650内にトークンを形成するテキスト規則は、それらをテキスト解説のために適切なシーケンスに配列する。従って、テキスト発生器ツール842は、トークンがトークン発生器オブジェクト内に配列されている順番に、トークンによって表されるテキストデータを戻す。
【0111】
解説ツール700は、図形案内ツール870をも含むことができる。図形案内ツール870は、音声案内ツール800及びテキスト案内ツール800と同じように動作する。図形案内ツール870は、トークン発生器オブジェクト650内に含まれているトークンリストを受信する。図形案内ツール870は、記号図形データファイル872を含む地理データベース140の実施例内で使用される。これらの記号図形データファイル872は、地理データベース140内に含ませることも、または代替として、記号図形データファイル872は図形案内ツール870にアクセス可能な別のデータベース内に、または別の媒体上に含ませることもできる。これらの各記号図形データファイル872は、視覚コンピュータディスプレイ上に表示することができる図形データを含んでいる。例えば、これらの記号図形データファイル872は、交差点、合流、Uターン、踏切、等々のためのディスプレイを含むことができる。
【0112】
図形案内ツール870は、トークンがトークン生成オブジェクト650内に含まれている順番に、トークンを処理する。前述したように、トークンは記号であることも、または列であることもできる。記号である各トークンは、1つまたはそれ以上の記号図形データファイル872へマップされる。索引878を使用して図形案内ツール870は、そのトークン内の記号に関連する適切な記号図形データファイル872を表引きする。この索引878は、地理データベース140内に含ませることも、または代替として、索引878は図形案内ツール870にアクセス可能な別のデータベース内に、または別の媒体上に含ませることもできる。図形案内ツール870は記号図形データファイル872にアクセスし、それらをナビゲーション応用210へ戻す。トークン発生器ツール600は、トークン発生器オブジェクト内のトークンのために適切な順番を指定する。図形案内ツール870は、記号図形データファイル872からのテキストデータをこの同じ順番に維持する。
【0113】
前述したように、解説ツール700は、音声案内ツール800、テキスト案内ツール840、及び図形案内ツール870の1つ以上を含むことができる。もし解説ツール700がこれらのツールの1つ以上を含んでいれば、ルート計算ツールによって計算されたルートは、1つ以上のフォーマットでエンドユーザに解説することができる。例えば、もし解説ツール700がテキスト案内ツール840及び音声案内ツール800の両方を含んでいれば、ルート計算ツールによって計算されたルートは、可聴及び視覚の両命令でエンドユーザに解説することができる。可聴命令はスピーカのようなユーザインタフェース131内の適切なハードウェアを介して供給することができ、また視覚命令はユーザインタフェース131内のディスプレイ画面によって供給することができる。視覚命令及びオーディオ命令の両者は、トークン発生器ツール600によって生成された同一のトークン発生器オブジェクトを使用する解説ツールによって供給することができる。代替として、視覚命令及びオーディオ命令は、トークン発生器ツール600によって生成された2つの別々のトークン発生器オブジェクトを使用する解説ツールによって供給することができる。この後者の実施例では、トークン発生器ツールは視覚提示に合わせた第1のトークン発生器オブジェクトを生成するための1つの規則セットと、オーディオ提示に合わせた第2のトークン発生器オブジェクトを生成するための別の規則セットとを使用する。視覚提示に合わせたトークン発生器オブジェクトは、街路名のようなより多くの細部を含むことができる(この情報を提示するために必要な情報は、地理データベース内で容易に使用可能であるから)。オーディオ提示に合わせたトークン発生器オブジェクトは、より少ない細部を含み、街路名等のためのトークンを省くことができ、それによってテキスト・スピーチ変換ソフトウェアを設ける必要性を避ける。
【0114】
VI. 代替実施例
構成可能性 トークン発生器ツールのフレキシブルな設計アーキテクチャによって提供される利点の1つは、それがユーザによって変更、強化、増補、及び拡張できることである。因みに、ユーザは必ずしも、ナビゲーションシステム内のナビゲーション応用プログラムを実際に使用する個人である最終的なエンドユーザである必要はない。代わりに、ユーザは、トークン発生器ツールを他のソフトウェアと共に組み込み、このような他のソフトウェアと共に含まれているトークン発生器ツールを含むシステムまたはプログラムを、最終的なエンドユーザに販売する中間カストマであることができる。
【0115】
上述した実施例では、ナビゲーション応用がビークルに搭載されたナビゲーションシステム内に設置されているものとして説明した。代替実施例では、ナビゲーション応用は、パーソナルコンピュータ、ハンドヘルド計算デバイス、電話機、等々のような他の種類のプラットフォーム内に設置することができる。ナビゲーション応用をネットワーク上に設置して、ネットワークのクライアントが使用できるようにすることもできる。代替実施例では、ナビゲーション応用の若干の部分をローカルに配置し、ナビゲーション応用の他の部分を遠隔配置することができる。ネットワークは、無線ネットワークであることができる。ナビゲーション応用、またはその一部は、インターネットを介して使用可能にすることができる。
【0116】
物理的特色、または物理的特色を表すデータを称するのに他の用語を使用することができる。本明細書の内容は、同じような概念を表現する特定の用語に限定されるものではないことを理解されたい。
【0117】
以上の詳細な説明は単に例示に過ぎず、本発明を制限するものではない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであることを理解されたい。
【0118】
【表1】
Figure 0004268713
【表2】
Figure 0004268713
【表3】
Figure 0004268713
【表4】
Figure 0004268713
【表5】
Figure 0004268713
【表6】
Figure 0004268713
【表7】
Figure 0004268713
【表8】
Figure 0004268713
【表9】
Figure 0004268713
【表10】
Figure 0004268713
【表11】
Figure 0004268713
【表12】
Figure 0004268713
【表13】
Figure 0004268713
【表14】
Figure 0004268713
【表15】
Figure 0004268713
【表16】
Figure 0004268713
【表17】
Figure 0004268713
【表18】
Figure 0004268713
【表19】
Figure 0004268713
【表20】
Figure 0004268713
【表21】
Figure 0004268713
【表22】
Figure 0004268713
【表23】
Figure 0004268713

【図面の簡単な説明】
【図1】ナビゲーションシステムのブロック図である。
【図2】図1のナビゲーション応用プログラムの成分を示すブロック図である。
【図3】図2のルート計算オブジェクトの成分を示すブロック図である。
【図4】図2の運転生成ツールの成分を示すブロック図である。
【図5】図4の運転データ構造の1つの成分メンバーを示す図である。
【図6】図2のトークン生成オブジェクトの成分を示すブロック図である。
【図7】図2のトークン生成構成オブジェクトの成分を示すブロック図である。
【図8】図7の規則テーブルの1つの成分を示すブロック図である。
【図9】図8に示す規則セットの1つの成分を示すブロック図である。
【図10】図7に示す拡張機能によるキーのトークンへの拡張を示す図である。
【図11】図2に示す解説ツールによるトークン生成オブジェクト内のトークンの解説を示す図である。
【符号の説明】
110 ナビゲーションシステム
111 ビークル
112 プロセッサ
114 ドライブ
116 不揮発性記憶媒体
118 ナビゲーションプログラミング
120 メモリ
124 測位システム
125 センサ
127 入力デバイス
129 出力デバイス
131 ユーザインタフェース
132 記憶媒体
140 地理データ
210 ナビゲーション応用
212 ナビゲーションツール
213 インタフェース層
214 オペレーティングシステム
220 ユーザインタフェース機能
300 ルート計算ツール
342 ルート計算オブジェクト
344 道路セグメントを表すデータエンティティのリスト
346 他の情報
400 ルート案内ツール
500 運転生成ツール
530 運転生成構成オブジェクト
532 運転規則
533 運転テーブル
534 運転型
535 運転条件試験
540 運転生成オブジェクト
550 運転データ構造
570 助言規則
572 助言規則テーブル
578 助言条件試験
600 トークン発生器ツール
620 トークン発生器構成オブジェクト
630 規則テーブル
631 運転出力リスト
632 規則セット
633 トークンシーケンス
634 ケース
636 試験フィールド
637 試験
638 動作フィールド
640 合格経路フィールド
642 不合格経路フィールド
643 ケース出力
645 内容
650 トークン発生器オブジェクト
652 トークンリスト
655 トークン
656 キー
668 記号
670 拡張機能
674 列
680 メンバー値マップ
688 フォーマッタコード
692 スタイルコード
700 解説ツール
800 音声案内ツール
802 記号オーディオデータファイル
808 索引
812 テキスト・スピーチソフトウェアプログラム
840 テキスト案内ツール
842 記号テキストデータファイル
847 テキスト案内構成オブジェクト
848 索引
870 図形案内ツール
872 記号図形データファイル
878 索引

Claims (20)

  1. 地理データベースを使用するナビゲーション応用プログラムのユーザにルーティング案内を提供する方法であって、起点と目的地との間のルートは上記地理データベース内に含まれる順序付けられた複数のデータエンティティによって定義され、上記順序付けられた複数の各データエンティティは上記起点と目的地との間の連続するナビゲート可能なルートを形成する道路セグメントを表しており、上記方法は、
    上記順序付けられた複数のデータエンティティを使用して複数のデータ構造を作成するステップを備え、上記複数の各データ構造は上記ルートに沿う運転命令を供給すべき位置に関する情報を含んでおり、
    上記順序付けられた複数のデータ構造からトークンリストを作成するステップを更に備え、上記トークンの少なくとも幾つかは上記運転命令に使用されるワードに対応する記号からなっており、
    上記記号に関連する索引を、上記運転命令に使用されるワードを解説することができるデータと共に使用し、上記順序付けられた複数のトークンに対応する順序に従って上記各データを作成するステップ、
    を更に備えていることを特徴とする方法。
  2. 上記記号に関連するデータは、オーディオデータからなる請求項1に記載の方法。
  3. 上記トークンの少なくとも幾つかは文字列データからなり、上記方法は更に、
    テキスト・スピーチプログラムを使用し、上記文字列データからなる上記各トークン毎にオーディオデータファイルを作成するステップと、
    上記テキスト・スピーチプログラムによって作成された各オーディオデータファイルを、上記記号に関連する上記オーディオデータと共に、上記順序付けられた複数のトークンに対応する順序に従って供給するステップと、
    を備えている請求項2に記載の方法。
  4. 上記記号に関連するデータは、文字テキスト列を含んでいる請求項1に記載の方法。
  5. 上記記号に関連するデータは、文字図形データを含んでいる請求項1に記載の方法。
  6. 上記運転命令をユーザが要望している言語で提示するようにその仕様を受けるステップと、
    上記複数の各データ構造に複数の規則を含む1つの規則テーブルを使用して上記順序付けられた複数のトークンを形成するステップと、
    を更に備え、
    上記1つの規則テーブルは複数の使用可能な規則テーブルから選択され、上記1つの規則テーブルはユーザが要望している上記運転命令提示言語に対応し、少なくとも別の複数の規則テーブルは、ユーザが要望している上記運転命令提示言語以外の言語に対応している
    請求項1に記載の方法。
  7. 上記順序付けられた複数のトークンを作成するステップは、更に、
    規則のセットを、上記順序付けられた複数の各データ構造に適用するステップと、
    上記順序付けられた複数の各データ構造毎に、出力リストを形成するステップと、
    を備え、
    上記出力リストの少なくとも幾つかは、少なくとも1つの記号を含んでおり、
    上記各出力リストからトークンシーケンスを形成するステップと、
    上記各出力リストから形成された上記トークンシーケンスを組合せることによって、上記トークンリストを形成するステップと、
    を更に備えている請求項1に記載の方法。
  8. 上記出力リストの少なくとも幾つかはキーを含み、上記各キーは上記規則のセットが適用される対応データ構造からのデータを含み、
    上記方法は、更に、
    上記各キーを拡張してトークンを形成するステップと、
    拡張することによって形成された上記トークンを、上記出力リストから形成された上記トークンシーケンス内に含ませるステップと、
    を備えている請求項7に記載の方法。
  9. 上記拡張ステップは、
    上記キー内の値を記号に関連付けるメンバー値マップを使用し、上記記号を上記キーから形成された上記トークン内に含ませるステップ
    を備えている請求項8に記載の方法。
  10. 上記拡張ステップは、
    上記キーに関連するスタイルコードを識別するステップと、
    複数の使用可能なスタイルフォーマットから、上記キー内で識別されたスタイルコードに対応する1つのスタイルフォーマットを選択するステップと、
    上記1つのスタイルフォーマットに従って文字列を形成するステップと、
    上記文字列を上記キーから形成された上記トークン内に含ませるステップと、を備えている請求項8に記載の方法。
  11. 上記拡張ステップは、
    上記キーに関連するフォーマッタコードを識別するステップと、
    上記フォーマッタコードまでに打切られた文字列を形成するステップと、
    上記文字列を上記キーから形成された上記トークン内に含ませるステップと、を備えている請求項8に記載の方法。
  12. 地理データベースを使用するルート案内プログラムのための方法であって、
    上記ルートに沿う運転命令を供給すべき位置に関連する上記地理データベースからのデータを各々が含んでいる順序付けられた複数のデータ構造を受信すると、上記運転命令を供給することができる順序付けられたトークンのシーケンスからなるトークンリストを形成するステップ、
    を備え、
    上記トークンは、
    上記運転命令内に使用される1つまたはそれ以上のワードを表す記号、及び
    文字列、
    の一方からなり、
    上記トークンリストを形成するステップは、
    上記順序付けられた複数の各データ構造に規則セットを適用するステップと、
    上記規則セットの上記適用に基づいて上記各データ構造毎に出力リストを作成するステップと、
    上記各出力リストからトークンシーケンスを形成するステップと、
    上記各出力リストから形成されたトークンシーケンスを組合せて上記トークンリストを形成するステップと、
    を備えていることを特徴とする方法。
  13. 上記トークンシーケンスを形成するステップは、更に、
    もし上記出力リストがキーを含んでいれば、上記キーを拡張してトークンを形成するステップと、
    上記キーから形成された上記トークンを、上記出力リストのために形成された上記トークンシーケンス内に含ませるステップと、
    を備え、
    上記キーは、上記キーを含む上記出力リストを形成した関連データ構造からの値を含んでいる請求項12に記載の方法。
  14. コンピュータ可読媒体上に格納されているルート案内プログラムであって、
    地理データベースから入手したデータを含むデータ構造のリストを受信する第1のプログラムルーチンを備え、上記地理データベースからのデータを含むデータ構造のリスト内の各データ構造は、起点と目的地との間のルートに沿う運転命令を上記ルート案内プログラムのユーザに提示する位置に関係しており、
    上記各運転データ構造内に含まれるデータを試験し、上記試験が満足されたことに基づいて出力リストを作成する規則を含む第1の規則テーブルと、
    上記第1の規則テーブル内の規則を、上記データ構造のリスト内の上記各データ構造に適用して作成された組合せ出力リストから形成された第1のデータオブジェクトと、
    を更に備え、
    それにより、上記第1のデータオブジェクトを解説することによって上記運転命令をエンドユーザへ供給できるようにした
    ことを特徴とするルート案内プログラム。
  15. 上記各データ構造内に含まれるデータを試験し、上記試験が満足されたことに基づいて出力リストを作成する規則を含む第2の規則テーブルを更に備え、
    上記第1の規則テーブルは、上記出力リストを作成して視覚的に供給される上記運転命令を解説するのに適するトークンを有する上記第1のデータオブジェクトを形成する規則を含み、
    上記第2の規則テーブルは、上記出力リストを作成して可聴的に供給される上記運転命令を解説するのに適するトークンを有する上記第1のデータオブジェクトを形成する規則を含んでいる
    請求項14に記載のルート案内プログラム。
  16. 上記各運転データ構造の内容を試験し、上記試験が満足されたことに基づいて出力リストを作成する規則を含む第2の規則テーブルを更に備え、
    上記第1の規則テーブルは、上記出力リストを作成して英語で供給される上記運転命令を解説するのに適するトークンを有する上記第1のデータオブジェクトを形成する規則を含み、
    上記第2の規則テーブルは、上記出力リストを作成して英語以外の言語で供給される上記運転命令を解説するのに適するトークンを有する上記第1のデータオブジェクトを形成する規則を含んでいる
    請求項14に記載のルート案内プログラム。
  17. 上記出力リストは、上記データ構造のリストからのデータを含む記号を含んでいる請求項14に記載の発明。
  18. 上記出力リストは、上記データ構造のリストからのデータを含むキーを含んでいる請求項14に記載の発明。
  19. 上記出力リスト内のキーを、文字列に変換する拡張機能を更に備えている請求項18に記載の発明。
  20. 上記データ構造内の値を記号にマップすることを含むメンバー値マップと、
    上記出力リスト内の上記キーを受信するように結合され、上記メンバー値マップを使用して上記出力リスト内の対応キー内の値にマップされているとして識別された上記メンバー値マップからの記号を、上記第1のデータオブジェクトへ追加する拡張機能と、
    を更に備えている請求項18に記載の発明。
JP37810398A 1998-11-19 1998-12-18 ナビゲーション応用プログラムを用いてルート案内を提供するシステム及び方法 Expired - Lifetime JP4268713B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/196279 1998-11-19
US09/196,279 US6212474B1 (en) 1998-11-19 1998-11-19 System and method for providing route guidance with a navigation application program

Publications (2)

Publication Number Publication Date
JP2000221041A JP2000221041A (ja) 2000-08-11
JP4268713B2 true JP4268713B2 (ja) 2009-05-27

Family

ID=22724734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37810398A Expired - Lifetime JP4268713B2 (ja) 1998-11-19 1998-12-18 ナビゲーション応用プログラムを用いてルート案内を提供するシステム及び方法

Country Status (5)

Country Link
US (1) US6212474B1 (ja)
EP (1) EP1003016B1 (ja)
JP (1) JP4268713B2 (ja)
AT (1) ATE341748T1 (ja)
DE (1) DE69933422T2 (ja)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
US6473770B1 (en) 1998-03-16 2002-10-29 Navigation Technologies Corp. Segment aggregation and interleaving of data types in a geographic database and methods for use thereof in a navigation application
JPH11311538A (ja) * 1998-04-28 1999-11-09 Honda Motor Co Ltd 車両共用システム
US6292743B1 (en) 1999-01-06 2001-09-18 Infogation Corporation Mobile navigation system
US6460046B1 (en) * 1999-06-01 2002-10-01 Navigation Technologies Corp. Method and system for forming, storing and using sets of data values
JP2001159525A (ja) * 1999-11-30 2001-06-12 Mitsubishi Electric Corp ナビゲーション装置および記録媒体
AUPQ724600A0 (en) * 2000-05-02 2000-05-25 Rojone Pty Limited Personal monitoring system
US7043363B2 (en) * 2002-10-10 2006-05-09 Sirf Technology, Inc. Host based satellite positioning systems
US6977630B1 (en) * 2000-07-18 2005-12-20 University Of Minnesota Mobility assist device
US20050149251A1 (en) * 2000-07-18 2005-07-07 University Of Minnesota Real time high accuracy geospatial database for onboard intelligent vehicle applications
US7375728B2 (en) * 2001-10-01 2008-05-20 University Of Minnesota Virtual mirror
US7065446B2 (en) * 2000-08-18 2006-06-20 Geospatial Technologies, Inc. Real-time smart mobile device for location information processing
US6363320B1 (en) * 2000-08-18 2002-03-26 Geospatial Technologies Inc. Thin-client real-time interpretive object tracking system
US6385542B1 (en) * 2000-10-18 2002-05-07 Magellan Dis, Inc. Multiple configurations for a vehicle navigation system
US6487494B2 (en) * 2001-03-29 2002-11-26 Wingcast, Llc System and method for reducing the amount of repetitive data sent by a server to a client for vehicle navigation
US6691128B2 (en) * 2001-04-19 2004-02-10 Navigation Technologies Corp. Navigation system with distributed computing architecture
US7072668B2 (en) * 2001-05-22 2006-07-04 Geospatial Technologies, Inc. Durable global asset-tracking device and a method of using the same
US6839072B2 (en) 2001-06-15 2005-01-04 Koninklijke Philips Electronics N.V. Method and system and article of manufacture for display of option recommendations through time-by-score
US7552008B2 (en) * 2001-07-18 2009-06-23 Regents Of The University Of Minnesota Populating geospatial database for onboard intelligent vehicle applications
US8977284B2 (en) 2001-10-04 2015-03-10 Traxcell Technologies, LLC Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same
JP2003208508A (ja) * 2002-01-17 2003-07-25 Fujitsu Ltd 移動可能範囲演算方法およびマーケティング支援方法
US7209051B2 (en) * 2002-03-05 2007-04-24 University Of Minnesota Intersection assistance system and method
US7202801B2 (en) * 2002-12-11 2007-04-10 Geospatial Technologies, Inc. Method and apparatus for an automated location-based, dynamic notification system (ALDNS)
US7474960B1 (en) * 2002-12-30 2009-01-06 Mapquest, Inc. Presenting a travel route
US7620494B1 (en) * 2003-07-17 2009-11-17 Mapquest, Inc. Using routing symbols to describe a driving maneuver
US7480567B2 (en) * 2004-09-24 2009-01-20 Nokia Corporation Displaying a map having a close known location
US20060129313A1 (en) * 2004-12-14 2006-06-15 Becker Craig H System and method for driving directions based on non-map criteria
WO2006133547A1 (en) 2005-06-13 2006-12-21 E-Lane Systems Inc. Vehicle immersive communication system
US7698061B2 (en) * 2005-09-23 2010-04-13 Scenera Technologies, Llc System and method for selecting and presenting a route to a user
US7590490B2 (en) * 2006-01-09 2009-09-15 Mitac International Corporation Smart detour
US7702456B2 (en) 2006-04-14 2010-04-20 Scenera Technologies, Llc System and method for presenting a computed route
US20070250515A1 (en) * 2006-04-21 2007-10-25 Lea David H Method and system of securing content and destination of digital download via the internet
US9976865B2 (en) * 2006-07-28 2018-05-22 Ridetones, Inc. Vehicle communication system with navigation
US7945386B2 (en) * 2006-08-25 2011-05-17 Mitac International Corporation Rerouting in vehicle navigation systems
US20080139181A1 (en) * 2006-12-08 2008-06-12 Magellan Navigation, Inc. Methods and apparatus for measuring the effectiveness of advertisements presented on a mobile navigation device
ATE543691T1 (de) 2006-12-20 2012-02-15 Johnson Controls Tech Co Fernanzeige-wiedergabesystem und -verfahren
WO2008079889A2 (en) * 2006-12-20 2008-07-03 Johnson Controls Technology Company System and method for providing route calculation and information to a vehicle
US20080172175A1 (en) * 2007-01-16 2008-07-17 Manju Chexal Funny/humorous/abusive GPS system or navigation system
JP5162601B2 (ja) * 2007-01-23 2013-03-13 ジョンソン コントロールズ テクノロジー カンパニー 移動装置ゲートウェイシステム及び方法
US7692655B2 (en) * 2007-02-16 2010-04-06 Mitac International Corporation Apparatus and method of generating curved baseline for map labeling
US7783417B2 (en) * 2007-03-09 2010-08-24 Mitac International Corporation Methods and apparatus for determining a route having an estimated minimum fuel usage for a vehicle
US8078641B2 (en) * 2007-04-25 2011-12-13 Mitac International Corporation Adjusting spatial operations based on map density
US7882102B2 (en) * 2007-09-10 2011-02-01 Mitac International Corporation Nearest-neighbor geographic search
US8554475B2 (en) 2007-10-01 2013-10-08 Mitac International Corporation Static and dynamic contours
DE102007053213A1 (de) * 2007-11-06 2009-05-07 Navigon Ag Verfahren zum Betrieb eines Navigationssystems
US20090138190A1 (en) * 2007-11-26 2009-05-28 Magellan Navigation, Inc. System and Method of Providing Traffic Data to a Mobile Device
US9324230B2 (en) 2008-12-04 2016-04-26 Gentex Corporation System and method for configuring a wireless control system of a vehicle using induction field communication
WO2009073806A2 (en) 2007-12-05 2009-06-11 Johnson Controls Technology Company Vehicle user interface systems and methods
US20090171584A1 (en) * 2007-12-31 2009-07-02 Magellan Navigation, Inc. System and Method for Accessing a Navigation System
US20090182498A1 (en) * 2008-01-11 2009-07-16 Magellan Navigation, Inc. Systems and Methods to Provide Navigational Assistance Using an Online Social Network
US8498808B2 (en) * 2008-01-18 2013-07-30 Mitac International Corp. Method and apparatus for hybrid routing using breadcrumb paths
US8290703B2 (en) * 2008-01-18 2012-10-16 Mitac International Corporation Method and apparatus for access point recording using a position device
US8700314B2 (en) * 2008-01-18 2014-04-15 Mitac International Corporation Method and apparatus to search for local parking
AU2009227944B2 (en) 2008-03-25 2014-09-11 E-Lane Systems Inc. Multi-participant, mixed-initiative voice interaction system
DE102008019967A1 (de) * 2008-04-21 2009-11-26 Navigon Ag Verfahren zum Betrieb eines elektronischen Assistenzsystems
US8838075B2 (en) * 2008-06-19 2014-09-16 Intelligent Mechatronic Systems Inc. Communication system with voice mail access and call by spelling functionality
US9652023B2 (en) * 2008-07-24 2017-05-16 Intelligent Mechatronic Systems Inc. Power management system
US20100035631A1 (en) * 2008-08-07 2010-02-11 Magellan Navigation, Inc. Systems and Methods to Record and Present a Trip
US8249804B2 (en) * 2008-08-20 2012-08-21 Mitac International Corporation Systems and methods for smart city search
US8219317B2 (en) * 2008-09-22 2012-07-10 Mitac International Corporation Route navigation via a proximity point
EP2172745B1 (en) 2008-10-02 2014-06-11 Vodafone Holding GmbH Providing information in a communication network
US20120047087A1 (en) 2009-03-25 2012-02-23 Waldeck Technology Llc Smart encounters
US8577543B2 (en) * 2009-05-28 2013-11-05 Intelligent Mechatronic Systems Inc. Communication system with personal information management and remote vehicle monitoring and control features
WO2010148518A1 (en) * 2009-06-27 2010-12-29 Intelligent Mechatronic Systems Vehicle internet radio interface
US9978272B2 (en) * 2009-11-25 2018-05-22 Ridetones, Inc Vehicle to vehicle chatting and communication system
US20110153266A1 (en) * 2009-12-23 2011-06-23 Regents Of The University Of Minnesota Augmented vehicle location system
US8374791B2 (en) * 2010-01-27 2013-02-12 Navteq B.V. Method of operating a navigation system to provide route guidance
US9014960B2 (en) * 2010-03-29 2015-04-21 Here Global B.V. Method of operating a navigation system
US9069738B2 (en) * 2012-08-10 2015-06-30 Nokia Technologies Oy Method and apparatus for determining representations of abbreviated terms for conveying navigation information
DE102012019185B4 (de) * 2012-09-28 2015-02-12 Audi Ag Verfahren und System zum Ermitteln einer Mobilfunknetzqualität und Laden von Mobilfunkdaten
DE102012021431A1 (de) * 2012-10-30 2014-04-30 Elektrobit Automotive Gmbh Technik zum akustischen Signalisieren eines Navigationsmanövers
US10801853B2 (en) 2016-07-25 2020-10-13 Ford Global Technologies, Llc Method and apparatus for upcoming turn identification and assistance
US10175060B2 (en) 2016-09-06 2019-01-08 Microsoft Technology Licensing, Llc Translation of verbal directions into a list of maneuvers
US11486717B1 (en) * 2017-03-13 2022-11-01 Mapbox, Inc. Generating navigation instructions based on digital map context
US20190113350A1 (en) * 2017-10-12 2019-04-18 Mitac International Corp. Route-planning method and navigational system of converting route description into machine-readable predefined route
WO2020091806A1 (en) * 2018-11-02 2020-05-07 Google Llc Context aware navigation voice assistant

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5177685A (en) * 1990-08-09 1993-01-05 Massachusetts Institute Of Technology Automobile navigation system using real time spoken driving instructions
US5283575A (en) * 1991-11-08 1994-02-01 Zexel Corporation System and method for locating a travelling vehicle
US5181250A (en) 1991-11-27 1993-01-19 Motorola, Inc. Natural language generation system for producing natural language instructions
EP0646882B1 (en) 1993-10-04 2002-03-20 Siemens Aktiengesellschaft Method and apparatus for fast accessing of data items from a sorted list and data base carrier for use with such method and/or apparatus
US5543789A (en) * 1994-06-24 1996-08-06 Shields Enterprises, Inc. Computerized navigation system
JPH08159801A (ja) * 1994-12-08 1996-06-21 Toshiba Corp ナビゲーションシステム
US5612882A (en) * 1995-02-01 1997-03-18 Lefebvre; Rebecca K. Method and apparatus for providing navigation guidance
US5806035A (en) 1995-05-17 1998-09-08 U.S. Philips Corporation Traffic information apparatus synthesizing voice messages by interpreting spoken element code type identifiers and codes in message representation
DE19527187A1 (de) 1995-07-26 1997-01-30 Philips Patentverwaltung RDS-TMC-Rundfunkempfänger
JPH0944791A (ja) * 1995-07-31 1997-02-14 Honda Motor Co Ltd 車載用ナビゲーション装置
US5968109A (en) 1996-10-25 1999-10-19 Navigation Technologies Corporation System and method for use and storage of geographic data on physical media

Also Published As

Publication number Publication date
DE69933422T2 (de) 2007-05-03
ATE341748T1 (de) 2006-10-15
US6212474B1 (en) 2001-04-03
JP2000221041A (ja) 2000-08-11
EP1003016A2 (en) 2000-05-24
EP1003016B1 (en) 2006-10-04
DE69933422D1 (de) 2006-11-16
EP1003016A3 (en) 2004-05-12

Similar Documents

Publication Publication Date Title
JP4268713B2 (ja) ナビゲーション応用プログラムを用いてルート案内を提供するシステム及び方法
JP4243369B2 (ja) 運転指針の作成プログラムを記憶するためのコンピュータによる読出し可能な媒体
US6671615B1 (en) Navigation system with sign assistance
US7533020B2 (en) Method and apparatus for performing relational speech recognition
JP3573907B2 (ja) 音声合成装置
US7542846B2 (en) Navigation system utilizing XML/SVG map data converted from geographic map data and layered structure of XML/SVG map data based on administrative regions
EP0897170B1 (en) Location floor number display device in navigation apparatus
US8374791B2 (en) Method of operating a navigation system to provide route guidance
JP2002318136A (ja) 自動音声認識プログラムのための空間構築単語リスト及びその形成方法
JPH1114384A (ja) ナビゲーションシステム、ナビゲーションシステム用地点情報コード作成装置、および情報提供システムとその印刷媒体
US20090234565A1 (en) Navigation Device and Method for Receiving and Playing Sound Samples
US8401780B2 (en) Method of prioritizing similar names of locations for use by a navigation system
JP4064748B2 (ja) 音声発生装置、音声発生方法及びナビゲーション装置
WO2010004612A1 (ja) 情報処理装置、情報作成装置、情報処理方法、情報作成方法、情報処理プログラム、情報作成プログラム、および記録媒体
JPH11508754A (ja) ノード及びリンクを具えるネットワークの経路決定
JP2006201232A (ja) ナビゲーション装置及び地図表示方法
JPH08124092A (ja) 車載ナビゲータ装置
US8521532B2 (en) Speech-conversion processing apparatus and method
JP3645104B2 (ja) 辞書検索装置及び辞書検索プログラムを記録した記録媒体
JPH11211500A (ja) 地図表示装置
JP2902209B2 (ja) 経路探索方法
JP2002116041A (ja) ナビゲーション装置及び音声案内文章作成方法
JP4008746B2 (ja) ナビゲーション装置
JPH0737199A (ja) ナビゲーション装置
JP3591577B2 (ja) ナビゲーション装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080115

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080310

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080409

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090223

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term