(57)【要約】【目的】地図上に案内情報などの説明情報を提示する情報提供方法に関し，案内経路の情報をツリー形式でユーザに提示する技術を提供する。【構成】ツリー形式提示コントロール部６１は，案内経路における経由地点，案内地点をノードとし，詳細レベルに応じて階層化したツリー形式で案内経路をユーザに提示する。地図形式提示コントロール部６２は，地図形式で案内経路をユーザに提示する。ツリー形式提示コントロール部６１と地図形式提示コントロール部６２は連携し，ツリー形式においてノードが指定されると，地図形式，ツリー形式の提示をノードで指定された地点に移動する。また，ツリー形式による提示において，現在地点の移動にともない，現在地点を含む部分については下位階層までの情報を表示し，現在地点から離れた部分については上位階層のみを表示する。【選択図】      図１
2007102239.tif 000002
【特許請求の範囲】
【請求項１】
地図上に説明情報を提示する情報提供方法であって，
案内経路を地図形式でユーザに提示する過程と，
案内経路を，少なくとも経由地点もしくは案内地点またはその双方をノードとするツリー形式でユーザに提示する過程と，
前記ツリー形式におけるノードを指定する指示により，前記地図形式および前記ツリー形式による提示を，指示されたノードで指定された地点に移動させる過程とを有する
ことを特徴とする情報提供方法。
【請求項２】
地図上に説明情報を提示する情報提供方法であって，
案内経路を，少なくとも経由地点もしくは案内地点またはその双方をノードとし，詳細レベルに応じて階層化したツリー形式でユーザに提示する過程と，
現在地点の移動に伴い，前記ツリー形式による提示において現在地点を含む部分を下位階層まで表示し，現在地点から離れた部分については上位階層のみを表示する過程とを有する
ことを特徴とする情報提供方法。
【請求項３】
地図上に説明情報を提示する情報提供方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって，
案内経路を地図形式でユーザに提示する処理と，
案内経路を，少なくとも経由地点もしくは案内地点またはその双方をノードとするツリー形式でユーザに提示する処理と，
前記ツリー形式におけるノードを指定する指示により，前記地図形式および前記ツリー形式による提示を，指示されたノードで指定された地点に移動させる処理とを
コンピュータに実行させるプログラムを記録した
ことを特徴とする情報提供用プログラムの記録媒体。
【請求項４】
地図上に説明情報を提示する情報提供方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって，
案内経路を，少なくとも経由地点もしくは案内地点またはその双方をノードとし，詳細レベルに応じて階層化したツリー形式でユーザに提示する処理と，
現在地点の移動に伴い，前記ツリー形式による提示において現在地点を含む部分を下位階層まで表示し，現在地点から離れた部分については上位階層のみを表示する処理とを
コンピュータに実行させるプログラムを記録した
ことを特徴とする情報提供用プログラムの記録媒体。
【請求項５】
地図上に説明情報を提示する情報提供方法をコンピュータに実行させるためのプログラムであって，
案内経路を地図形式でユーザに提示する処理と，
案内経路を，少なくとも経由地点もしくは案内地点またはその双方をノードとするツリー形式でユーザに提示する処理と，
前記ツリー形式におけるノードを指定する指示により，前記地図形式および前記ツリー形式による提示を，指示されたノードで指定された地点に移動させる処理とを
コンピュータに実行させるための情報提供用プログラム。
【請求項６】
地図上に説明情報を提示する情報提供方法をコンピュータに実行させるためのプログラムであって，
案内経路を，少なくとも経由地点もしくは案内地点またはその双方をノードとし，詳細レベルに応じて階層化したツリー形式でユーザに提示する処理と，
現在地点の移動に伴い，前記ツリー形式による提示において現在地点を含む部分を下位階層まで表示し，現在地点から離れた部分については上位階層のみを表示する処理とを
コンピュータに実行させるための情報提供用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，経路案内（道案内）データを提供する情報提供方法に関し，特に，カーナビゲーションシステム（カーナビ），パーソナルコンピュータ（ＰＣ），携帯情報端末（ＰＤＡ），携帯電話やＰＨＳ等に適用し，ネットワークや電子メディアを介して，道案内，観光案内，配送計画，旅行計画，交通管制，スケジューリング，娯楽，自治体サービス等の様々な経路情報や付加情報の提供に利用できる技術に関するものである。
【背景技術】
【０００２】
従来の案内情報サービスでは，例えば，案内してほしい場所を指定すると，その場所に関するデータを羅列して提示するものが多い。また，その提示内容は，その場所に関する情報（地点，経路，施設等）だけであるため，その場所に至るまでの経路や途中の地点を柔軟に案内することができなかった。
【０００３】
さらに，従来の案内情報サービスでは，システムごとに異なる形式のデータでサービスが提供されているため，案内情報の相互利用が困難であった。
【０００４】
また，従来の案内データとしては，地図，イラスト，画像などの静的データや，カーナビゲーションシステムにおける音声案内データ等があり，これらのデータはあらかじめシステム内に作り込まれているものであった。そのため，従来技術では，一回作成したものを再利用したり，いろいろな場面で流用したりすることがあまり考えられていなかった。
【０００５】
また，案内データの提示方法も，ほとんどが要求に応じて個々に出力するだけで，カーナビゲーションシステムなどでも，ある場所に来たら案内データを出すといった程度のものであり，積極的に案内データを提示するタイミングをコントロールするといったようなものではなかった。
【０００６】
経路を作成するシステムに関しても，配送計画などの分野で一部存在するが，その研究や開発の中心となっているのは最適経路を計算する方法であり，ユーザに出力する案内の内容まで考慮したものはない。まして，それを自動作成するシステムはないに等しかった。さらに，これらのデータをネットワークに適した形で配信することまで考慮したものは知られていない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで，従来の問題点を解決するため，地点，経路，施設等の情報だけなく，ある場所までの経路に沿った実際的な案内あるいは仮想的な案内を行うことができ，さらには場所の移動だけではなく，時間の経過に伴った案内を行うことができ，かつ，さまざまなシステムや装置等で利用できる形式で案内を提供できるような手段として案内情報提示装置等を発明した（特願平１１−１１３１９１号）。これにより，例えば，行き先のみを指定するだけで，経路に沿って「この施設は○○で有名です。」のような案内を提示し，またそのための案内データの作成を行うことができる。
【０００８】
本発明および本発明に関連する技術の目的は，このような案内のうち，特にある範囲で提示する案内や，ある地点や地域に到達する何分か前に提示するというような案内が混在する案内データについて，状況に応じて適切なタイミングで案内を提示し，また，そのための案内データをユーザの要望に沿って効率よく処理する方法を提供することである。また，案内情報を付けた案内データを自動的に作成し，データをテキスト形式で直接記述する他に，地点や経路に関する情報を含む案内データを効率的に入力する方法を提供することである。特に，本発明は，地図形式およびツリー形式による案内経路のわかりやすい提示を実現することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では，以下の方法によって上記課題を解決する。
【００１０】
本発明は，案内経路を地図形式でユーザに提示する方法と，案内経路を少なくとも経由地点または／および案内地点をノードとするツリー形式でユーザに提示する方法とを併用し，ツリー形式におけるノードを指定する指示により，地図形式およびツリー形式による提示を，指示されたノードで指定された地点に移動させる。ツリー形式におけるノードを指定する指示は，ユーザ入力による指示であっても，案内用スクリプトの実行による指示であってもよい。これにより，特定の経由地点や案内地点をツリー形式の提示から選択して，その位置の案内情報などを簡単にチェックすることができるようになる。また，案内用スクリプトによるシミュレーションや実際のナビゲーションにおいても，地図形式およびツリー形式の提示を連動させることが可能になる。
【００１１】
また，本発明は，案内経路を，少なくとも経由地点または／および案内地点をノードとし，詳細レベルに応じて階層化したツリー形式でユーザに提示し，現在地点の移動に伴い，ツリー形式による提示において現在地点を含む部分を下位階層まで表示し，現在地点から離れた部分については上位階層のみを表示する。これにより，限られた大きさの表示画面などにおいて，ユーザにとって全体の経路の把握が容易になるとともに，現在地点の付近については詳細な情報を得ることが可能になる。このとき，テキスト表示において，移動に伴い，対応する内容の文字フォントを大きくしたり色を変えたりして，現在地点の近辺が目立つように表示するようにしてもよい。
【００１２】
また，本発明に関連する技術は，少なくとも時間情報または／および場所情報と，提示すべき時間または／および場所に応じて出力すべき案内情報とが所定の仕様に基づいて記述された案内用スクリプトを時間や場所に応じて処理する手段と，案内データを利用者に提示する手段を持つ装置において，再生，早送り，スキップまたは巻き戻しのいずれかを少なくとも含む案内出力方法に関するユーザからの操作情報と，あらかじめ設定された移動速度または／および時間ステップの情報とに基づき，情報を提示する時間または／および場所のタイミング情報を生成し，この生成されたタイミング情報に従って，前記案内用スクリプトに記述された時間情報または／および場所情報に合致する案内情報をユーザに提示する。
【００１３】
これにより，案内のシミュレーション時に単に時間／場所を進めるステップを刻むだけでなく，時間／場所を発生させる方法のタイミングをユーザからの操作情報に従ってジェネレートすることにより，いろいろなタイプのシミュレーションを行うことが可能になる。
【００１４】
また，本発明に関連する技術は，生成された時間・場所のタイミング情報または測定した実際の時間・場所に基づいて，案内用スクリプトに記述された時間情報または／および場所情報に合致する案内情報をユーザに提示するにあたって，案内提示の開始を指示するとともに，案内用スクリプトに記述された案内の属性情報に応じて案内情報の提示期間を管理し，案内提示の終了を指示する。これにより，適切な案内提示時間の制御を，案内用スクリプトに記述された案内の属性情報によって実現することが可能になる。なお，この案内の属性情報に基づく提示タイミングの調整の後に，案内の属性情報とは別に，例えば音声，映像などの時間的な長さのあるメディアと，画像，テキストなどの静的メディアの提示タイミングをメディアに応じて調整することも可能であるが，ここでは属性情報に基づく提示タイミング調整と案内の出力形式（メディア）に応じた提示タイミング調整とを分離することにより，提示タイミングのコントロールを容易化することができる。
【００１５】
また，本発明に関連する技術は，生成された時間・場所のタイミング情報または測定した実際の時間・場所に基づいて，案内用スクリプトに記述された時間情報または／および場所情報に合致する案内情報をユーザに提示するにあたって，複数の案内情報の出力時間が重なった場合に，案内情報の種別に応じた優先度または出力メディアに応じた優先度を判定し，優先度の判定結果に従って各案内情報の出力タイミングを調整する。これにより，例えば経由地点の案内と，一般的な案内地点の案内とが重なったような場合に，より重要な経由地点の案内を優先させるということが可能になる。
【００１６】
また，本発明に関連する技術は，案内用スクリプトから得られた各経由地点または案内地点への到着を確認し，この確認に基づき他の各経由地点または案内地点への到着時間を予測し，各経由地点または案内地点への到着予測時間に基づいて，案内用スクリプトに記述された案内情報の提示時期に関するスケジュール情報を生成し，生成されたスケジュール情報に基づき案内情報をユーザに提示する。また，各経由地点または案内地点への到着状況に応じてスケジュール情報を修正する。これにより，例えばある経由地点に到着する何分か前に案内情報をユーザに提示するような場合にも，正確な予測時刻に基づく案内の提示が可能になる。
【００１７】
また，本発明に関連する技術は，案内用スクリプトに記述されている案内情報に，指定された領域内に入ったときに出力する案内情報の出力回数が指定されている場合に，指定された領域内に入る度に案内情報を出力し，出力回数から１を減算し，出力回数が０になったとき，指定された領域内に入っても案内情報の出力を抑止する。これにより，ある地域内に頻繁に入ったり出たりするような経路の場合にも，あらかじめ定められた必要回数分だけの案内情報の出力が可能になる。
【００１８】
また，本発明に関連する技術は，生成された時間・場所のタイミング情報または測定した実際の時間・場所に基づいて，案内用スクリプトに記述された時間情報または／および場所情報に合致する案内情報をユーザに提示するとともに，出力すべき案内情報がない隙間の時間に，所定の広告，宣伝またはその他の一般情報をユーザに提示する。これにより，必要なときには案内情報が出力され，案内情報の不要なときには広告などの他の情報が出力されるので，広告主などによる案内用スクリプトの無償提供を期待でき，ユーザは，必要な案内用スクリプトを無料で利用できるようになる。
【００１９】
また，本発明に関連する技術は，生成された時間・場所のタイミング情報または測定した実際の時間・場所に基づいて，案内用スクリプトに記述された時間情報または／および場所情報に合致する案内情報をユーザに提示するにあたって，提示する案内情報が３次元コンテンツまたは映像である場合に，３次元コンテンツの表示形態または映像の進む速度と，仮想または実際の移動距離とを同期させ，この同期制御に基づき表示対象に対する視点コントロールを行う。これにより，実際の進行に合わせて，例えば車窓から見たときのような３次元コンテンツの表示または映像表示が可能になる。
【００２０】
また，本発明に関連する技術は，ユーザから逆再生の指示を入力した場合に，案内用スクリプトに記述されたテキストまたは音声による案内情報の中の左右，前後を自動的にそれぞれ右左，後前に変換する。これにより，例えば目的地から出発地へ向かう逆方向の経路案内を行うような場合に，前後・左右について違和感のない案内が可能になる。
【００２１】
また，本発明に関連する技術は，案内用スクリプトに基づく案内経路を地図形式でユーザに提示し，その地図形式の提示において案内用スクリプトに基づく案内経路における経由地点または／および案内地点を，ピン型のアイコンで表示する。そして，その複数のピン型のアイコンが重なる場合には，ピン型のアイコンの方向を変えることにより，重ならないように表示する。これにより，案内情報の出力に関連する経由地点や案内地点などを一目で把握できるようになり，また，狭い地域に多くの経由地点，案内地点があるような場合でも，それらの一つ一つを容易に区別できるようになる。
【００２２】
また，本発明に関連する技術は，案内用スクリプトが所定の仕様に基づいているかどうかをチェックするともに，案内用スクリプトの実現可能性または／および妥当性をチェックし，その案内用スクリプトのチェック結果またはチェック結果に基づく代替案を出力する。案内用スクリプトの実現可能性や妥当性を評価することにより，実行不可能な案内や無駄を多く含むような案内を行うようなことを事前に防止することができる。
【００２３】
また，本発明に関連する技術は，作成中の案内用スクリプトに係る案内経路を地図形式またはツリー形式でユーザに提示し，地図形式またはツリー形式の提示において新たな経由地点または案内地点が指示されたとき，その経由地点または案内地点を案内経路の総距離が短くなる位置に挿入し，入力された経由地点または案内地点の情報に基づいて案内用スクリプトを作成または編集する。これにより，複数の経由しなければならない地点をランダムな順序で指定した場合にも，自動的に最短の距離で巡回することができるような案内用スクリプトを作成することも可能になる。
【００２４】
また，本発明に関連する技術は，作成中の案内用スクリプトに係る案内経路を地図形式またはツリー形式でユーザに提示するとともに，地図形式またはツリー形式の提示において経由地点または案内地点の指示を入力し，入力された経由地点または案内地点の情報に基づいて案内経路を決定し，この際に経路計算に基づいて曲がる方向の案内情報を自動作成して，その案内情報をもとに案内用スクリプトを作成または編集する。これにより，例えば出発地と目的地だけを入力したような場合でも，途中の目印となるような案内地点と案内情報を追加して，わかりやすい経路案内を実現できる案内用スクリプトを作成することが可能になる。
【００２５】
また，本発明に関連する技術は，作成中の案内用スクリプトに係る案内経路を地図形式またはツリー形式でユーザに提示するとともに，地図形式またはツリー形式の提示において経由地点または案内地点の指示を入力し，入力された経由地点または案内地点の情報に基づいて案内経路を決定し，案内経路における交差点について，あらかじめ用意された交差点と矢印との画像テンプレートを組み合わせ，その交差点において出力すべき画像の案内情報を自動作成して，その案内情報をもとに案内用スクリプトを作成または編集する。これにより，すべての交差点の画像を用意しておかなくても，交差点などで間違いが少ない経路案内を行うことができる案内用スクリプトを，容易に作成することが可能になる。
【００２６】
また，本発明に関連する技術は，案内情報を提示する端末の位置に基づいて案内用スクリプトを，サーバ装置により解釈し実行し，案内用スクリプトの実行結果に基づく案内情報を，サーバ装置から端末へ送信し，送信された案内情報内に，あらかじめ定められたテンプレートの識別情報が含まれるとき，端末において識別情報に対応するテンプレートを用いて案内情報を合成し，ユーザに提示する。これにより，例えば簡易な携帯情報端末（ＰＤＡ）などを用いた場合にも，サーバ装置から端末への伝送データ量を少なくし，伝送の負荷を小さくすることが可能になる。
【００２７】
また，本発明に関連する技術は，少なくとも，仮想の時間・場所を生成するモジュールと，仮想または実際の時間・場所に基づいて案内情報を提示するタイミングを制御するモジュールと，案内情報を提示するタイミングに基づきユーザの端末または出力メディア情報に応じて案内情報の提示方法を制御するモジュールと，データ通信を制御するモジュールと，ツリー形式による案内データの提示を制御するモジュールと，地図形式による案内データの提示を制御するモジュールと，テキスト形式のデータの提示を制御するモジュールと，各種の案内や設定のためのダイアログを制御するモジュールとを，それぞれ部品化して用意し，これらの部品のうちの複数の部品を組み合わせることにより，案内用スクリプト作成用，案内用スクリプト実行用，または案内用スクリプトによるシミュレーション用のアプリケーションを作成する。これにより，案内用スクリプトを作成したり実行したりするシステムを，容易に構築することが可能になる。
【００２８】
以上の各処理をコンピュータによって実現するためのプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができる。
【発明の効果】
【００２９】
本発明および本発明に関連する技術によれば，案内データをユーザの要望に沿って効率的に処理し，状況に応じて適切な方法およびタイミングで案内を提示することが可能になる。また，そのような案内データの作成を簡易に行うことができるようになる。
【００３０】
例えば，以下のような案内の実行および作成ができる。
【００３１】
・旅行で廻ったコースのアルバム作成
・侵攻や合戦や戦争の解説
・遊園地，博物館、水族館のお勧め案内
・宝捜し，オリエンテーリング
・有名人が通った道，映画のあのシーン
・テレビや雑誌で紹介されたコースの体験
・物流シミュレーション
特に，本発明により，特定の経由地点や案内地点をツリー形式の提示から選択して，その位置の案内情報などを簡単にチェックすることができるようになる。また，案内用スクリプトによるシミュレーションや実際のナビゲーションにおいても，地図形式およびツリー形式の提示を連動させることが可能になる。また，限られた大きさの表示画面などにおいて，ユーザにとって全体の経路の把握が容易になるとともに，現在地点の付近については詳細な情報を得ることが可能になる。
【発明を実施するための最良の形態】
【００３２】
〔装置の構成例〕
図１は，本実施の形態の構成例を示すブロック図である。時間・場所生成処理部２０またはセンサ２５により発せられた時間・場所にもとづいて，案内データを提示するタイミングを制御する情報提示タイミングコントロール部１０と，時間・場所を生成する時間・場所生成処理部２０と，現在時刻と現在場所を取得するセンサ２５と，利用者の端末に応じて案内の提示方法を制御する情報提示方法コントロール部３０と，データ通信を制御するデータ通信コントロール部４０と，案内データのアクセスを制御する案内データアクセス部５０と，案内データをツリー形式で提示するツリー形式提示コントロール部６１と，案内データを地図形式で提示する地図形式提示コントロール部６２と，案内データ，指示などのテキスト形式のデータの提示を制御するテキスト形式コントロール部６３と，各種の案内や設定のためのダイアログを制御する案内ダイアログコントロール部６４と，地点や経路などに関する情報のデータベースへのアクセスを制御する地点・経路データベースアクセス部７０と，案内データを自動または半自動的に作成・編集する案内自動作成処理部８０と，作成・編集した案内データの評価を行う案内データ評価部９０とを備える。
【００３３】
本実施の形態では，種々の形式で記録される時間，場所，案内情報のデータのインストラクションの系列をマークアップ言語の記述形式を用いて記述しておく。インストラクションとは，時間（例えば，出発時刻，経由時刻，到着時刻等），場所（例えば，出発地点，経由地点，到着地点等）または／および各種メディアデータ（地図，文字，音声，音楽，画像，映像等）の１ショットや部分データなどを含むスクリプトの単位である。例えば，ある経路上の地点Ａにおいて，「地点Ａにいるときには，その地点Ａを説明する音声データ（aaa.wav ）および画像データ（xxx.jpg ）を出力する」という指示が，インストラクションである。以後，この形式による記述言語をＮＶＭＬ(NaVigation Markup Language)と呼ぶことにする。
【００３４】
案内実行処理の過程では，このＮＶＭＬで記述された案内データ（ＮＶＭＬデータ）を案内データアクセス部５０により，ネットワークや各種メディアから利用者端末に読込み，時間・場所生成処理部２０から発せられる仮想の時間・場所もしくはＧＰＳ（Global Positionig System）などのセンサ２５から得られる実際の時間・場所をもとに，情報提示タイミングコントロール部１０により，その時間・場所に合った案内情報の提示を適切なタイミングで開始し，またその提示を適切なタイミングで停止する制御を行う。
【００３５】
この提示開始／停止の信号をもとに，情報提示方法コントロール部３０により，端末の処理能力，画面サイズ，ユーザの要望などを考慮して，どの情報をどのような形式で提示（表示）するかを決定し，それぞれ，ツリー形式提示コントロール部６１，地図形式提示コントロール部６２，テキスト形式コントロール部６３，案内ダイアログコントロール部６４を通じて案内を行う。
【００３６】
案内作成処理の過程では，ユーザの好みによって，ツリー形式提示コントロール部６１，地図形式提示コントロール部６２，テキスト形式コントロール部６３，案内ダイアログコントロール部６４を使い分けて，地点を次々に追加・編集することを可能とし，その地点や時間に提示する案内の内容やタイミングなどの各種情報を入力する。
【００３７】
このとき，地点・経路データベースアクセス部７０により，施設やランドマーク，地形などの地理情報，交差点や信号や道幅などの道路の付随情報などの様々なデータベースから必要な情報を取り出し，取得した情報を経路案内データにある程度自動的に付加することもできる。
【００３８】
さらに案内自動作成処理部８０により，ユーザの入力した出発点と目的地，場合によっては経由地点も加えた地点情報に対して，それらの地点の間で通るべき経路を計算し，その経路を通る際に必要となる案内情報（交差点などで曲がる方向や特徴となるランドマークの案内等）を付け加えるなどして，自動的に案内データを作成する。
【００３９】
さらに案内データ評価部９０により，所要時間や道路状況などを考慮して，案内データの実現可能性や妥当性を評価し，必要であれば代替案を作成するなどして案内データの作成の補助を行う。
【００４０】
このようにして，案内データの提示や作成を支援することで，案内データを様々な機器に様々な提示の仕方で出力することができ，また，様々な案内データ（ＮＶＭＬデータ）の応用が可能になる。
【００４１】
〔ＮＶＭＬの概要〕
初めに，本実施の形態において用いるＮＶＭＬの概要を説明する。
【００４２】
<nvml version="0.60"> や，あるいは<head>や</head> のように，< と> で括られたものをタグという。タグのうち， </ で始まらないものを開始タグといい，</で始まるものを終了タグということにする。開始タグと終了タグは，
<title>NVML Ver.0.60 TestSample</title> 
のように対として使用される。この対をタグセットと呼ぶことにする。また，
<nvml version="0.60"> 
におけるversion のようなものをそのタグの属性といい，0.60のようなものをその属性の値という。
【００４３】
ＮＶＭＬでは対であるタグセットの階層構造によって記述される。タグセットの間に挟まれた部分に，タグセットがない場合，その部分をそのタグの内容ということにする。ＮＶＭＬのスクリプトは，以上のようなタグ，属性および内容を用いて構成される。
【００４４】
例えば，以下のようなＮＶＭＬのスクリプトがあったとする。
【００４５】
<body>
<navi>
<point> 
<name>  ○○  </name> 
</point>
<info>  
<text>  △△  </text> 
</info> 
</navi> 
</body> 
このスクリプトは，「○○の地点で，△△の経路案内情報（テキスト形式）を出力する」ということを意味し，<navi>と</navi> の間の<point> と</point>で囲まれた部分は地点を，<info>と</info> で囲まれた部分は出力すべき案内情報を表す。
【００４６】
また，以下のようなＮＶＭＬのスクリプトがあったとする。
【００４７】
<body>
<guide> 
<point area="100m"> 
<name>  ○○  </name> 
</point>
<info>
<text>  □□  </text> 
</info> 
</guide>
</body> 
このスクリプトは，「○○の地点を中心とした１００ｍの範囲に入ったら，□□の案内情報（テキスト形式）を出力する」ということを意味し，<guide> と</guide>の間の<point area="100m"> と</point>で囲まれた部分は範囲を，<info>と</info> で囲まれた部分は出力すべき案内情報を表す。
【００４８】
（１）案内地点（guide 要素）
guide 要素はbody要素の子要素である。guide 要素は，記述しなくともよく，また，記述する場合には何回でも記述することができる。guide 要素には，その地点の案内についての具体的な情報を記述する。
【００４９】
以下に案内地点の記述例を示す。
【００５０】
<guide> 
<point area="1.0km">
<name>    砧公園  </name> 
<category>  公園  </category> 
<latitude>  N35.37.30.200       </latitude> 
<longitude> E139.37.43.227      </longitude>
<address〉  東京都世田谷区用賀２</address>
<zip-code>  158-0097            </zip-code> 
<phone>     01-2345-6789        </phone>
</point>
<info>
<text>
砧公園
</text> 
<voice> 
砧公園は紀元２６００年記念事業として都市計画決定された
大緑地を前身としています。
【００５１】
</voice>
<image src="image/Kinuta-Park-01.jpg"/> 
</info> 
</guide>
この例は，もしpoint 要素に記述された地点のある領域内（この例の場合には，その地点を中心とする半径1.0[km] の円内）に入れば，info要素に記述された情報を出力する，ということを意味する。
【００５２】
ＮＶＭＬにguide 要素を記述しておくことによって，ある時刻になると，あるいは，ユーザがいくつかのnavi要素によって規定された経路に沿って移動している最中もしくは特定の経路に沿わずに単に移動している場合にも，guide 要素に記述された地点の領域に入ると，info要素に記述された情報が出力されることになる。
【００５３】
なお，navi要素の間にguide 要素を，また逆に，guide 要素の間にnavi要素を，あるいは，それらを任意に組み合わせて記述してもよい。その場合にnavi要素の系列についての解釈はすべてのguide 要素を抜いたものと全く同じとする。
【００５４】
（２）経由地点（navi要素）
navi要素はbody要素の子要素である。navi要素は記述しなくてもよく，また，記述する場合には何回でも記述することができる。navi要素には，経路案内についての具体的な情報を記述する。navi要素は，属性を持たない。
【００５５】
navi要素は，子要素として，point 要素，route 要素，info要素を持つ。point 要素とroute 要素とは，どちらか１つを必ず１回記述しなければならない。info要素は，記述しなくてもよく，また，記述する場合には１回だけ記述することができる。以下の子要素は，point →infoまたは route→infoの順に記述しなければならない。
【００５６】
<navi>
<route> 
<category>一般道路 </category>
<means>   car      </means> 
</route>
</navi> 
<navi>
<point> 
<name>      西銀座ＩＣ   </name>
<category>  首都高速     </category>
<latitude>  N35.40.19.960     </latitude> 
<longitude> E139.46.13.122    </longitude>
<address〉  東京都中央区      </address>
</point>
<info>
<text>  西銀座インターから首都高速に入ります。</text> 
<voice> 西銀座インターから首都高速に入ります。</voice>
</info> 
</navi> 
この例は，route 要素で記述された経路を通り，point 要素に記述された地点で，info要素に記述された情報を出力する，ということを意味する。
【００５７】
navi要素を複数回記述することによって，地点１，地点２，…，を順に経由する経路に沿った案内を記述することができる。route 要素の内容としては，必ずしもその地点から次の地点までの完全な経路を記述しなくてもよい。もし，route 要素が記述されていない場合，または記述が不完全な場合には，ＮＶＭＬシステムが実行の際に適切な補完を行う。
【００５８】
（３）地点情報（point 要素）
point 要素は，navi要素およびguide 要素の子要素である。navi要素の子要素である場合には，point 要素とroute 要素のいずれか１つを必ず１回記述しなければならない。また，guide 要素の子要素である場合には，point 要素を必ず１回記述しなければならない。point 要素には，地点についの具体的な情報を記述する。
【００５９】
ＮＶＭＬシステムは，point 要素の子要素として，もしlatitude要素とlongitude 要素が記述されていれば，まず，その情報を用いて地点の正確な位置を特定する。もし，それらが記述されていない場合には，その他の要素の内容から特定する。もし，記述が不十分なため，１つの地点が正確に特定できない場合には，システムが可能な限り適切な地点を推定し，１つの特定の地点を選択し，また，それも不可能な場合には，エラーとする。
【００６０】
親要素がguide 要素であるときにのみ，属性としてarea属性を記述することができる。area属性は，info要素に記述された情報を出力する地点の領域を，本point 要素に記述された地点を中心とした半径で指定する。例えば，
<point area="1.0km"> 
とように記述される。
【００６１】
（４）経路情報（route 要素）
route 要素は，navi要素の子要素である。route 要素には，経路についての具体的な情報を記述する。route 要素は，属性を持たない。
【００６２】
（５）案内情報（info要素）
info要素は，head要素，navi要素，およびguide 要素の子要素である。info要素は，記述しなくともよく，また記述する場合には１回だけ記述することができる。info要素には，出力する情報についての具体的な情報を記述する。
【００６３】
親要素がhead要素である場合には，本info要素に記述された情報をいつどこで出力するかはシステムに任される。親要素がnavi要素である場合には，兄弟要素であるpoint 要素に記述された地点に現在地が到達したときに，情報が出力される。親要素がguide 要素である場合には，兄弟要素であるtime要素に記述された時刻および時間の範囲の中の先頭の時刻に，あるいは，兄弟要素であるpoint 要素に記述された地点の範囲の中に入ったときに，情報が出力される。
【００６４】
なお，navi要素による出力とguide 要素による出力が干渉する場合が起こりうる。このような場合，両者を同時に出力するのか，あるいは，一方を他方よりも優先するのかなどは，事前の設定情報などによりシステムに任される。
【００６５】
以下に，記述例を示す。
【００６６】
<info delay="-5min" duration="1min">
<text>
用賀プロムナード
</text> 
<voice> 
ここは用賀プロムナードと呼ばれる遊歩道です。
【００６７】
砧公園まで少し歩いてみましょう。
【００６８】
</voice>
<image src="image/Youga-Promenade-01.jpg"/> 
</info> 
この例は，ある地点，領域または時刻に到達する５分前に，１分間，テキスト，音声および画像（イメージ）による案内情報を出力することを指示するものである。
【００６９】
次に，属性について説明する。info要素は以下の属性を持つ。
【００７０】
（ａ）delay 
情報を出力する際の開始時刻を指定する。属性の取りうる値は以下のとおりである。
【００７１】
("+"｜"-")? 
((0｜[1-9][0-9]*)("."[0-9]*)?"h")? 
((0｜[1-9][0-9]*)("."[0-9]*)?"min")? 
((0｜[1-9][0-9]*)("."[0-9]*)?"s")? 
符号なし，あるいは，"+" の場合には開始時刻からの遅れ（正の経過時間）を，また，"-" の場合には開始時刻からの進み（負の経過時間）を表す。開始時刻は以下のとおりとする。
・親要素がhead要素である場合
システムに任される。
・親要素がnavi要素である場合
兄弟要素であるpoint 要素に記述された地点に到着した時刻。
・親要素がguide 要素である場合
・・兄弟要素にtime要素があり，point 要素がない場合
time要素に記述された時刻の範囲の中の先頭の時刻。加えて，times 属性によって指定された回数だけ，その時刻の範囲の中の任意の（複数の）時刻に設定し直してもよい。
・・兄弟要素にtime要素がなく，point 要素がある場合
point 要素のarea属性に記述された領域に入った時刻。領域に入るたびに設定し直す。
・・兄弟要素にtime要素があり，point 要素もある場合
time要素に記述された時刻の範囲の中で，point 要素のarea属性に記述された領域に入った時刻。領域に入るたびに設定し直す。
【００７２】
なお，ディフォルト値はない。指定しない場合の値の設定はシステムに任される。
【００７３】
以下の例は，「地点(PointNo.12)の半径１ｋｍ以内の範囲に到着したら，その到着時間から 0.1時間後にテキストおよび音声形式の案内情報(GuideSampleNo.12)を出力する」ことを意味する。
【００７４】
<guide> 
<point area="1km">
<name>      PointNo.12     </name>
<latitude>  N035.03.10.0   </latitude>
<longitude> E140.03.10.0   </longitude> 
</point>
<info delay="+0.1h">
<text>  GuideSampleNo.12  </text> 
<voice> GuideSampleNo.12  </voice>
</info> 
</guide>
また，以下の例は，「地点(PointNo.14)を通過するとき, 通過時間の５分前にテキストおよび音声形式の案内データ(GuideSampleNo.14)を出力する」ことを意味する。
【００７５】
<navi>
<point> 
<name>       PointNo.14     </name> 
<latitude>   N035.03.30.0   </latitude> 
</1ongitude> El40.03.30.0   </longitude>
</point>
<info delay="-5.0min">
<text>  GuideSampleNo.14   </text>
<voice> GuideSampleNo.14   </voice> 
</info> 
</navi> 
（ｂ）duration
情報を出力する際の持続時間を指定する。属性の取りうる値は以下のとおりである。
【００７６】
(((0｜[1-9][0-9]*)("."[0-9]*)?"h")? 
((0｜[1-9][0-9]*)("."[0-9]*)?"min")? 
((0｜[1-9][0-9]*)("."[0-9]*)?"s")?)｜
"full-time" 
"full-time" は以下のように出力を持続することを意味する。
・親要素がhead要素である場合
システムに任される。
・親要素がnavi要素である場合
次のnavi要素が有効になるまで，情報は出力されたままになる。
・親要素がguide 要素である場合
兄弟要素であるtime要素において指定された時間の範囲を現時刻が逸脱するまで，あるいは，兄弟要素であるpoint 要素において指定された地点の領域から現在地が逸脱するまで，情報は出力されたままになる。
【００７７】
なお，ディフォルト値はない。指定しない場合の値の設定はシステムに任される。
【００７８】
以下の例は，「地点(PointNo.26)の半径１００ｍの範囲に到着したら, 到着時間から，テキストおよび音声形式の案内(GuideSampleNo.26)を１分３０秒間出力する」ことを意味する。
【００７９】
<guide> 
<point area="100m"> 
<name>      PointNo.26   </name>
<latitude>  N035.04.50.0 </latitude>
<longitude> E140.04.50.0 </longitude> 
</point>
<info duration="1min30s"> 
<text>  GuideSampleNo.26 </text>
<voice> GuideSampleNo.26 </voice> 
</info> 
</guide>
また，以下の例は，「地点(PointNo.45)の半径１ｋｍの範囲に到着したら, 到着時間から１００秒後に, テキストおよび音声形式の案内(GuideSampleNo.45)を 0.001時間出力する」ことを意味する。
【００８０】
<guide> 
<point area="1km">
<name>      PointNo.45  </name> 
<latitude>  N035.06.40.0 </latitude>
<longitude> E140.06.40.0 </longitude> 
</point>
<info delay="100s"   duration="0.001h"> 
<text>  GuideSampleNo.26 </text>
<voice> GuideSampleNo.26 </voice> 
</info> 
</guide>
（ｃ）times 
親要素がguide 要素であるときにのみ有効である。兄弟要素にpoint 要素がある場合には，times 属性によって指定された回数だけ，現在地がarea属性によって指定された地点の領域の中に入るたびに，info要素に記述された情報が出力される。兄弟要素にpoint 要素がない場合，言い替えると，time要素のみがある場合には，システムによっては，指定された時刻の範囲にあれば，times 属性によって指定された回数だけ，info要素に記述された情報が出力されるようにしてもよい。取りうる値は以下のとおりである。
【００８１】
(0｜[1-9][0-9]*)｜"any-times" 
"any-times" は何回でも出力することを意味する。ディフォルト値はない。指定しない場合の値の設定は，システムに任される。
【００８２】
具体的には，以下の例は，「地点(PointNo.92)の半径１ｋｍの範囲に到着したら, 到着時間から, テキストおよび音声形式の案内(GuideSampleNo.92)を最大で３回まで出力する」ことを意味する。すなわち，指定された範囲内に出たり入ったりしたときに，３回までは案内を出すが，それ以降は案内を出さない。
【００８３】
<guide> 
<point area="1km">
<name>      PointNo.92  </name> 
<latitude>  N035.11.10.0 </latitude>
<longitude> E140.11.10.0 </longitude> 
</point>
<info times="3">
<text>  GuideSampleNo.92</text> 
<voice> GuideSampleNo.92</voice>
</info> 
</guide>
また，以下の例は，「地点(PointNo.94)の半径１ｋｍの範囲に到着したら, 到着時刻から, テキストおよび音声形式の案内(GuideSampleNo.45)を出力し，一度半径１ｋｍの範囲から出て，再び半径１ｋｍの範囲に入るという行為を繰り返しても，必ず案内を出し続ける」ことを意味する。
【００８４】
<guide> 
<point area="1km">
<name>      PointNo.94   </name>
<latitude>  N035.11.30.0 </latitude>
<longitude> E140.11.30.0 </longitude> 
</point>
<info times="any-times">
<text>  GuideSampleNo.94 </text>
<voice> GuideSampleNo.94 </voice> 
</info> 
</guide>
次に，図１に示す本実施の形態に係る装置の各手段を説明する。
【００８５】
〔情報提示タイミングコントロール部１０〕
情報提示タイミングコントロール部１０は，時間・場所生成処理部２０から送られてくる仮想の時間・場所や，センサ２５から送られてくる実際の時間・場所の情報を取得し，ＮＶＭＬデータに記述された様々な情報提示条件に合うように，情報の提示・終了を指示する。この処理に利用するため，情報提示タイミングコントロール部１０は，図２に示すように，ポイント通過・到着確認テーブル１１０，ｎａｖｉ到着時間予測テーブル１２０，ｇｕｉｄｅ情報管理テーブル１３０，情報提示スケジュールテーブル１４０，案内中イベント管理テーブル１５０を持つ。
【００８６】
ポイント通過・到着確認テーブル１１０は，現在地点がnavi要素またはguide 要素のポイント(point）を通過／到着したか否かを確認するためのテーブルである。ｎａｖｉ到着時間予測テーブル１２０は，ポイント通過・到着確認テーブル１１０からの通過確認にもとづいて，navi要素のポイント(point）ごとの案内内容（info）や遅れ(delay）と，そのポイントへの到着予測時間を管理するテーブルである。ｇｕｉｄｅ情報管理テーブル１３０は，guide 要素のポイント(point）ごとの案内内容（info），遅れ(delay），提示期間（duration），提示回数(times）を管理するテーブルである。
【００８７】
情報提示スケジュールテーブル１４０は，ｎａｖｉ到着時間予測テーブル１２０またはｇｕｉｄｅ情報管理テーブル１３０から, 地点(point）ごとの遅れ(delay）情報と，到着予測時間またはポイント通過・到着時間から算出した提示開始時間を設定して，案内情報の提示スケジュールを管理するためのテーブルである。案内中イベント管理テーブル１５０は，提示期間（duration）が定義された案内データの提示終了時間を設定して，提示期間を管理するためのテーブルである。
【００８８】
案内の事前準備処理として，図３に示すように，情報提示タイミングコントロール部１０は，経路案内データ（ＮＶＭＬデータ）を受け取ると（ステップＳ１），ポイント間の距離や乗物の速度などから到着時間を予測し，到着時間予測テーブル１２０に，到着予測時間を書き込む（ステップＳ２）。
【００８９】
経由地点(navi)の案内の出し方の属性である遅れ(delay) の値がマイナスの案内についてのみ，到着予測時間から提示開始時間を求め，情報提示スケジュールテーブル１４０に設定しておく（ステップＳ３）。
【００９０】
その後，時間・場所生成処理部２０またはセンサ２５から時間データを取得したなら，情報提示スケジュールテーブル１４０を参照し，その時間が提示開始時間と一致または超えていればその案内の提示を開始する。
【００９１】
経由地点(navi)の案内の遅れ(delay) の値がプラスの場合には，ポイント経過・到着確認テーブル１１０にて移動中の現在位置の場所をチェックし，指定した地点(point）のある範囲に入っていたら，その地点に到着したと判断することで，各地点への到着状況をチェックする。ある地点に到着したのを確認したならば，現在時間に遅れ(delay) のプラス分の値を加えた時間を提示開始時間として設定して情報提示スケジュールテーブル１４０に挿入する。
【００９２】
遅れが定義されていない場合には，そのポイントに到着したのを確認したときに，すぐに案内の提示を開始する。すなわち，現在時間を提示開始時間として情報提示スケジュールテーブル１４０に挿入し，直ちに案内の提示を開始する。
【００９３】
また，案内地点(guide）の案内については到着時間予測ができないので，現在地点が案内地点(guide) の指定する範囲に入ったのが，ポイント通過・到着確認テーブル１１０により確認できたら，その遅れの指定時間後に案内を出す時間を定めて情報提示スケジュールテーブル１４０に挿入する。
【００９４】
すなわち，情報提示スケジュールテーブル１４０に提示開始時間を設定するタイミングは，以下のとおりである。経由地点(navi)の案内については，遅れ(delay) の値がマイナスの分については最初の準備のとき，遅れ(delay) の値がプラスの分についてはポイントに到着したときである。また，案内地点(guide）の案内についてはポイントの指定範囲内に到着したときである。
【００９５】
以上のように情報提示スケジュールテーブル１４０に提示開始時間が設定される。提示開始時間が設定されている案内リストは，時間・場所生成処理部２０もしくはセンサ２５から現在時間・場所が送られてくるたびにチェックされ，その案内リストにある提示開始時間になったなら，案内が開始される。
【００９６】
なお，ユーザがＮＶＭＬデータに定義されたコースから外れてしまうこともあるので，そういうときのために，ポイント通過・到着確認テーブル１１０をチェックする。遅れの値がマイナスの場合には，一つ前の地点に到着しているか否かを確認して，到着していない場合には案内の提示を行わない。到着している場合には，指定された案内を指定された案内時間(duration)の間，提示する。一番最初の地点については，通過・到着の確認ができないので案内の提示を行わない。遅れの値がプラスの場合には，そのポイントに到着した時点でこの情報提示スケジュール１４０に情報を入れるので，情報を出す時にはマイナスの場合のような確認をする必要はない。
【００９７】
提示開始時間になると案内開始の合図が出力されて案内が提示される。このとき，案内データの提示時間(duration)を解釈して求めた提示終了時間を案内中イベント管理テーブル１５０に設定する。そして，案内中イベント管理テーブル１５０をチェックして，提示終了時間が来るまで案内を継続し，提示終了時間になると案内終了の合図を出力する。なお，案内が終了して不要となった情報は，案内中イベント管理テーブル１５０から随時消去していく。
【００９８】
さらに，案内地点(guide) の場合には，その範囲に入ったり出たりを繰り返すことがあるので，その案内を何回提示するかを指定することができる。よって，この提示回数(times) をｇｕｉｄｅ情報管理テーブル１３０で管理し，情報を提示するごとに回数を減らしていく。回数が０になれば，ｇｕｉｄｅ情報管理テーブル１３０から消去する。なお，"any-times" という指定もでき，この場合には，指定した範囲に入ったときに何回でも情報を出すようにする。
【００９９】
図４に，案内提示処理の処理フローを示す。情報提示タイミングコントロール部１０は，時間・場所データを取得すると（ステップＳ１１），場所をもとにポイント通過・到着確認テーブル１１０を用いて地点（ポイント）通過をチェックする（ステップＳ１２）。ポイントに到着していれば（ステップＳ１３），ポイント通過・到着確認テーブル１１０を更新し（ステップＳ１４），ｎａｖｉ到着時間予測テーブル１２０の到着予測時間を再計算して更新する（ステップＳ１５）。
【０１００】
そのポイントの案内情報に付与されている遅れ(delay) の値が０かどうかをチェックし（ステップＳ１６），０であればステップＳ２０へ進む。遅れの値がプラスであれば，現在時間に遅れのプラス（＋）分を加えて提示開始時間を求め，情報提示スケジュールテーブル１４０に挿入する（ステップＳ１７）。また，必要であれば，前に計算した到着予測時間と実際の到着時間との誤差にもとづいて，実際に情報提示スケジュールテーブル１４０に設定されている遅れがマイナスの案内情報の提示開始時間を修正する。
【０１０１】
次に，取得した時間・場所データの時間と情報提示スケジュールテーブル１４０中の提示開始時間とを照合し（ステップＳ１８），時間が一致もしくは超えている案内情報があれば（ステップＳ１９），ステップＳ２０へ進む。該当する案内情報がなければ，ステップＳ１１へ戻る。
【０１０２】
ステップＳ２０では，案内を提示し（ステップＳ２０），案内中イベント管理テーブル１５０に情報を送って，その案内の提示終了時間を設定する（ステップＳ２１）。
【０１０３】
図５に，案内提示終了処理の処理フローを示す。時間・場所データを取得し（ステップＳ３１），案内中イベント管理テーブル１５０にデータがある場合には，案内中イベントの提示終了時間に一致するかまたは超えているものをチェックする（ステップＳ３２）。提示終了時間が一致するか超えていれば（ステップＳ３３），案内提示終了命令を出し，案内中イベント管理テーブル１５０の該当情報を削除する（ステップＳ３４）。
【０１０４】
＜到着時間の予測＞
到着時間の予測方法を，図６に従って説明する。シミュレーションのモードでは，あらかじめ完全に到着時間を決めることもできるが，実際には到着時間は着いてみないとわからないので，ある程度の到着予測時間を求めるしかない。到着時間は，各地点間からの道のり，法定速度や車線数などの道路の属性，混雑しているかどうか，また事故の有無などの道路の状況，天候，さらに，あらかじめ設定されたユーザ情報やユーザの運転履歴などをもとに予測する。予測に用いるこれらの情報のうち，道路の状況や天候などはリアルタイムに変化するので，到着予測時間を求める処理は，ある間隔で繰り返し行うようにして，最新の状況で修正する必要がある。この到着時間予測テーブル１２０の修正に伴い，提示開始時間も変わることがあるので，その場合には情報提示スケジュールテーブル１４０も修正する。
【０１０５】
＜案内提示時間＞
図７（Ａ）に示すように，経由地点（navi）の案内の遅れ(delay）が未指定の場合には，ポイントに到着した時間を提示開始時間として，その情報の提示時間 (duration) だけ案内を行う。遅れがマイナス（−）の場合には，ポイントに到着する到着予測時間から遅れのマイナス分を引いた時刻を提示開始時間とし，その提示開始時間から，その情報の提示時間 (duration) だけ案内を行う。遅れがプラス（＋）の場合には，ポイントに到着した時間から遅れのプラス分を加えた提示開始時間から，その情報の提示時間 (duration) だけ案内を行う。
【０１０６】
また図７（Ｂ）に示すように，案内地点(guide）の案内については，現在地点が案内地点(guide) の指定する範囲 (area) に入った時間が提示開始時間となるので，その時間からその情報の提示時間 (duration) だけ案内を行う。
【０１０７】
案内を提示する時間（期間）は，基本的にはＮＶＭＬデータで指定された提示時間 (duration) に従う。提示時間は，基本的に画像やテキストなど，もともと情報の出力に時間的な長さの制約がないデータを提示するための設定時間であり，音声や映像のように時間的な長さの制約をもともと持っているデータの提示に関しては，基本的にはそのデータを一度流したら終わりにする。提示時間 (duration) が短い場合には，状況によっては途中でもduration期間で打ち切ることもある。
【０１０８】
また，提示時間 (duration) については，直接時間を指定する代わりに"full-time" という指定にして，経由地点（navi）が続く場合には次の経由地点が来るまでずっと提示し，案内地点(guide）の場合には，指定した範囲に入っている間はずっと提示するというようにすることもできる。その他にも"voice-time"と指定して，音声の案内が終了するまで，画像，テキストも同じ時間表示したりすることもできる。このようにして，いろいろな案内の提示時間を，簡単なテキストによる指定により行うことができるようになる。
【０１０９】
＜案内が重なった場合の処理の仕方＞
案内情報を提示する時間が重なった場合に，案内のソースが同種のものであると，例えば音声の案内が重なったような場合にハードウェア的に両方を出力できないことがある。同時に両方を出力できる場合でも，同時にたくさんの情報を提示するとユーザが混乱する恐れがある。例えば画像などを複数画面上に同時に提示すると，すべてを確認することが非常に困難になる。
【０１１０】
そこで，情報が重なった場合に時間で調整して処理することが必要になってくる。そのため，まず提示する案内情報に優先度を付ける。例えば，経由地点（navi）と案内地点(guide）に案内情報があるとき，「経由地点（navi）の方が案内地点(guide）より優先順位が高い」と設定する。また，同じ優先順位の案内が重なった場合には，「あとの情報を優先する」と設定する。また，「地点（point)の案内と経路(route) の案内では，地点（point)の案内の方が優先度が高い」と設定する。
【０１１１】
図８に，優先順位の例を示す。前の案内情報の提示期間と後から来た案内情報の提示期間とが重なる情報の関係が，navi, naviとなったとき，guide, navi となったとき，guide, guideとなったときには，「現在の案内を即刻中止して次の案内を開始する」ように優先度（優先順位）を設定する。また, navi，guide となったときには，「現在の案内期間が終了するまでに案内を出し，案内期間が終了しだい次の案内を開始する」ように設定する。
【０１１２】
音声や画像などによる案内のように情報出力に時間的長さがある場合には，テキスト，画像などは優先順位に従がって提示期間が短くなることもある。指定されている提示期間で出力し終わらない場合には，出力を途中で打ち切ってしまう。なお，優先順位の調整により提示期間が短くなった場合でも，音声や映像は先頭から再生して提示するようにする。
【０１１３】
例えば，図９に示すように，ｎａｖｉ１（テキスト・画像案内１および音声案内１を出力）とｇｕｉｄｅ２（テキスト・画像案内２および音声案内２を出力）の提示期間（duration）とが重なる場合には，図８に示す優先度の設定に従い，ｎａｖｉ１の案内期間が終了するまでテキスト・画像案内１および音声案内１を出力し続け，案内期間が終了しだい，ｇｕｉｄｅのテキスト・画像案内２および音声案内２を出力するが，音声案内１の出力時間がｎａｖｉ１の提示期間を超えるときは，途中で音声案内１の出力を打ち切る。
【０１１４】
また，ｇｕｉｄｅ２（テキスト・画像案内２および音声案内２を出力）の提示期間（duration）とｎａｖｉ３（テキスト・画像案内３および音声案内３を出力）が重なる場合には，図８に示す優先度の設定に従い，テキスト・画像案内２および音声案内２の案内の出力を中止し，次のテキスト・画像案内３および音声案内３の出力を開始する。なお，音声案内の出力時間が提示期間より長くなっても，次の案内の提示開始時間がこない場合には，通常長さのある案内の提示が終了するまで出力し続ける。また，経路に情報がある場合にも，優先順位を経由地点(navi-point)，経由経路(navi-route)，案内地点(guide-point) として設定することにより，同様に処理することができる。
【０１１５】
このように優先度をつけて案内情報の提示を処理すると，提示されない情報が出てくることがある。このような場合には，通常，遅れ(delay）をつけて案内情報を提示できるように調整してもよい。また，実際の案内モードまたはシミュレーションモードによっては，すべての案内情報が提示できるように，空いている時間に提示開始時間を設定して案内情報を提示したり，案内情報を時間的に分割して提示してもよい。また，例えばクリックするごとに案内情報を変えて提示するなど，ユーザ操作の指示により，提示する情報を変えてもよい。
【０１１６】
このように，delay, duration の調整により，案内情報を有効に提示できるようになる。すなわち，用途によって，すべての情報を提示したり，必要な情報のみを適切に提示したりする調整を実現することができる。
【０１１７】
＜隙間（すきま）の時間の利用＞
このようにして案内を処理していっても，ＮＶＭＬデータに書かれている案内情報だけではすべての時間が案内で埋まらない場合が多い。そこで，案内情報が提示されていない時間（隙間の時間）を利用して，有効なサービスを実現することができる。例えば，その地点に関連する情報を予め登録しておいて，時間が空いているとわかったときに，事前の登録情報を取得して流すということも可能である。このようなしくみにより，店のＣＭや次の案内の予告を提示するといったことに利用でき，ここで提示された広告によって広告費を徴収するといったようなことも可能になる。
【０１１８】
＜３次元映像の案内＞
提示する案内情報が３次元映像である場合には，提示する画像の３次元空間と現在場所の位置合わせをして提示すれば，案内がわかりやすい。そのためには，以下のように指定する。
【０１１９】
<virtual-world src ="sample.wrl"
scale = "2.0m-per-unit" 
origin-x = "10.0" 
origin-y = "10.0" 
origin-z = "10.0" 
north-x = "0.0" 
north-y = "0.0" 
north-z = "0.0"/> 
このように定義することにより，３次元映像コンテンツの表示位置と向きとを地点(point）の情報および移動方向に合わせられるようにする。また提示するサイズを指定できるようにして，実際の移動距離と表示との同期がとれるようにする。すなわち，シミュレーションや実際の移動で２ｍ進んだとき, 提示する仮想空間内では１ユニット（unit）進むとする。このとき，ちょうど同じ距離進んだところに移動したように表示する場合には，
scale = "2.0m-per-unit" 
と指定する。これにより，実際に進んだ距離を仮想空間上のユニットに変換して表すことができ，同期した提示を行うことができる。同様に映像の場合にも，
scale = "1cm-per-frame" 
のように１フレーム(frame）進む速度を指定して，映像の提示を同期させることが可能である。
【０１２０】
同期した場合の見せ方としては，例えば，ウォークスルーのモードと，一つの対象物を追視する視点移動モードとがある。町並みなどの映像を提示する場合には，図１０に示すように，視点を常に前方に向けておくウォークスルーのモードによる提示方法がよく，ある特徴ある建物（タワーやお城など）を見て廻る場合には，図１１に示すように，そのお城をずっと眺めながら進むという仮想空間の視点移動モードによるコントロールを行うとよい。ＮＶＭＬデータでは，基本的には経由地点(navi)については，ウォークスルーモードで提示し，案内地点(guide) については，ある特定の方向を見ながら進む視点移動モードで提示する。
【０１２１】
〔センサ２５〕
センサ２５は，ある一定間隔で，人工衛星を利用したＧＰＳや，携帯電話やＰＨＳの基地局位置から場所を割り出す位置管理システムなどを利用して，実際の時間・場所を計測し，情報提示タイミングコントロール部１０に伝達することを繰り返す。
【０１２２】
〔時間・場所生成処理部２０〕
時間・場所生成処理部２０は，状況に応じた適切な案内・シミュレーションを行うために，時間・場所データの発生をコントロールするものであり，図１２に示すように，再生・早送り・スキップ・巻き戻しなど様々な動作を操作する操作インターフェース２１０，乗物の速度や時間ステップなどを設定する乗物速度・時間ステップ設定部２２０，時間・場所データを生成する時間・場所ジェネレータ２００から構成される。
【０１２３】
時間・場所生成処理部２０は，乗物速度・時間ステップ設定部２２０によって乗物の速度および時間ステップの情報を取得し，操作インターフェース２１０から入力された操作に基づいて，時間・場所ジェネレータ２００により時間・場所データを生成し，情報提示タイミングコントロール部１０に時間・場所データを渡す。
【０１２４】
具体的には，送られてくるＮＶＭＬデータから経路を読み取り，乗物速度・時間ステップ設定部２２０により乗物の速度および時間のステップを取得して，距離と速度の関係から所要時間を計算し，時間ステップに応じて進み幅を計算する。経路上で案内地点(guide）の案内範囲に入る（出る）地点を計算し，時間・場所データを発生させる。なお，操作インターフェース２１０からの要求により，時間・場所データの生成を中止したり，実行したり，早く行ったりする。
【０１２５】
また，この時間・場所生成処理部２０は，通常シミュレーションに用いるために様々なモードを持ち，時間・場所データの発生の仕方をいろいろ変えることができる。例えば，実際の案内をそのまま縮尺するだけで案内したり，案内情報が出力される部分だけゆっくり進めたり，各案内だけを飛び飛びで提示したり(skip)，すべての乗物を同じ速度で移動させたりといったように，用途に応じた使い分けをモードの変更によって行う。
【０１２６】
基本的な処理としては，現実時間を短縮して処理するが，案内を提示する時間・場所を飛ばさないようにコントロールするための処理も行う。時間はステップで刻むので，そのステップが大きいと時間・場所が共に大きく跳んでしまうことになり，情報提示スケジュールテーブル１４０に設定された案内の提示開始時間やポイントと対応する時間・場所データが生成できずに，案内が何も提示されないということにもなりうる。通常の案内提示処理では，この時間ステップは十分に短いので，案内がでないということは起きにくいが，シミュレーションの場合には高速に動かすことがあるので，案内を提示すべき時間・場所が飛び越されてしまうことがよく起きる。
【０１２７】
そこで，案内を提示するポイントをあらかじめ計算し，少なくともそのポイントを通るようにステップ幅を変えて，時間・場所データを生成していく。具体的には，時間ステップ幅が情報を出力するポイントを超えてしまうときには，そのステップ幅を短くして調整する。
【０１２８】
まず，図１３（Ａ）に示すように，経路から各地点（経由点navi）を取得する。次に，図１３（Ｂ）に示すように，案内地点(guide) の範囲を表す円と経路の交点である通過点を求める。さらに，遅れ(delay) を考慮した案内を出すポイント，提示期間（duration）を考慮した案内を終了するポイントなどを計算し，案内に関係する時間・場所（通過点）は必ず発生させるようにする。
【０１２９】
次に，図１４（Ａ）に示すように，乗物速度や時間から計算した基本ステップに応じて進み幅を計算する。図１４（Ｂ）に示すように，基本ステップが場所（通過点）を飛び越えてしまった場合には，そのステップを通過点までのステップに短縮して調整する。
【０１３０】
なお，案内地点(guide) の範囲を表す円の後ろの交点や遅れ(delay) で案内ポイントがずれている場合のポイントそのものの地点は，案内には影響しないので止まる必要がない。しかし，実際の案内ではこれらの節目にも止まった方が見やすいので，本例ではこういった点にも止まる設定とした。
【０１３１】
また，２つのタイマーにより，時間・場所データを発生させる方法を用いてもよい。この方法では，図１５に示すように，一定間隔のタイマーと，予め設定した案内に基づいたイベントタイマーとを用いて，時間・場所イベントを発生させる。
【０１３２】
また，複数種類の乗物を利用した移動をシミュレーションする場合に，乗物間の実際の乗物速度の差は残しておきたいけれど，実際と同程度の速度差をつけてシミュレーションすると，高速な乗物の場合に提示される案内が見にくくなるようなことがある。この場合，例えば図１６に示すような関数（速度フィルタ）を用いて速度を平均化する。こうすることにより，乗物速度の差を残した状態で案内が見やすいシミュレーションを行うことが可能になる。
【０１３３】
さらに，案内を行っている間はゆっくり進むあるいは止まるといった処理をする場合には，図１７（Ａ）に示すように，音声案内開始とともに時間・場所の進行をストップし，音声案内終了とともに，時間・場所の進行を再開させるようにしたり，図１７（Ｂ）に示すように，操作インターフェース２１０からの再生命令により時間・場所イベントを発生させ，停止命令により中止するなど，要求に応じて時間・場所イベントを発生させるようにしてもよい。同様に，現在の案内の状態を受け取り，案内中である場合には，時間だけを進めて場所を止めておき，案内が終わったらまた動き出すようにしたり，案内の時間だけはリアルタイムと同じ時間の進むスピードにして，案内がないところは早く進めるといったことも可能になる。
【０１３４】
図１８に，時間・場所生成処理の処理フローを示す。ＮＶＭＬデータから経路を読み取ると（ステップＳ４１），乗物の速度および時間ステップから１回に進む距離を計算する（ステップＳ４２）。次に，経路上で案内地点(guide）の案内範囲に入る／出る地点Ａを計算する（ステップＳ４３）。さらに，遅れを計算した案内を提示する提示開始時間の絶対時間Ｂを計算する（ステップＳ４４）。
【０１３５】
以上の計算結果をもとに，次のステップで到達する場所か時間が，地点Ａもしくは時間Ｂを超えるかどうかを判断し（ステップＳ４５），超える場合には，次のステップを地点Ａまで，もしくは時間Ｂまでのステップに変更して，時間・場所イベントの時間・場所データを生成する（ステップＳ４６）。超えない場合には，通常の基本ステップで時間・場所データを生成する（ステップＳ４７）。
【０１３６】
以上のように，時間・場所ジェネレータ２００で時間・場所の発生をコントロールすることにより，様々な案内，シミュレーションを実現することができる。さらに，情報提示タイミングコントロール部１０では，それが仮想の時間・場所であるか，実際の時間・場所であるかに関係なしに，受け取った時間と場所の情報より，それに合う案内情報を出すだけでよく，制御が簡単にできるようになる。
【０１３７】
＜操作インターフェース２１０＞
操作インターフェース２１０は，例えば，オーディオと同じような操作インターフェースで利用できるようにする。図１９に示す操作インターフェースの例では，右から順に，一時停止２１０，スキップ（次の地点に飛ぶ）２１１，早送り２１２，再生２１３，逆再生２１４，逆早送り２１５，逆スキップ２１６，停止２１７の各操作を行うためのボタンを持つ。これらのボタンが押されると，その指示が時間・場所ジェネレータ２００にわたり，その指示に応じた時間・場所データの発生が行われる。早送り２１２は乗物の速度を何倍かにする。このとき，前述したように，案内の提示時間も同様に短くしたり，案内情報を提示している最中だけは通常のスピードに戻るようにしたりといったことをモードで切り替えられるようにしてもよい。スキップ２１１は，次の地点に飛ぶ処理を表し，案内中でも案内を中断して次の地点へ飛ぶようにする。なお，案内情報の提示を終了してから飛ぶような設定にしてもよい。逆再生２１４，逆早送り２１５，逆スキップ２１６は経路を逆に再生する機能である。この指示により処理される場合には，経路の案内の整合性を取るため，ＮＶＭＬデータに書かれているテキスト（text）内の“左右”や“前後”の記述を，自動的に“右左”，“後前”に変換して案内を提示する。
【０１３８】
このような操作の方法以外に，直接地点に対して働きかけて情報を見る方法がある。メニューバーのプルダウンメニューやポップアップウインドウ等により表示させる地図コントロールやツリー形式のコントロールを使って地点に直接アクセス可能にすることができる。
【０１３９】
例えば図２０（Ａ）に示すようなポップアップウインドウ型や，図２０（Ｂ）に示すようなプルダウンメニュー型のウインドウに経由点を表示して，表示された経由点を選ぶとその地点に飛ぶようにしてもよい。これにより，図１９に示す操作インターフェース例のスキップの選択と同じ効果が得られる。メニューに入れる項目は，図２０（Ａ）のように抽象的な順番を示す表記（「経由点１，経由点２，…」）にしてもよいし，図２０（Ｂ）のようにＮＶＭＬデータから値を読み取って，地点の名前（「ａａａａａ，ｂｂｂｂｂ，…」）を直接表示するものにしてもよい。このようなメニューは，あるボタンをクリックした時に表示させるようにしたり，メニューバーなどから辿って表示させるようにすることもできる。ユーザは，必要なときにこれらのメニューを利用し，必要な選択操作を行う。
【０１４０】
同様に図２１に示すように，カーナビゲーションシステムにあるような８ボタンメニュー２２０に，地点の情報を埋め込んで表示することも可能である。このような８ボタンメニュー２２０は，ボタンと画面に表示されるボタンの機能で構成され，ボタンを押せばその画面に表示している内容の処理が行われる。この場合には，表示された場所に移動し，案内があれば案内を見ることができる。例えば図２１（Ａ）に示すようにメニューの案内全体に対応するのボタンが押された場合には，地図上に経路の全体を表示する。図２１（Ｂ）に示すように経由点６に対応するボタンが押された場合には，経由点６の周囲を拡大して表示して経由点６の案内を提示する。なお，８ボタンメニュー２２０のような操作インターフェース２１０の詳細については，特願平１０−２００２３７号（特開２０００−０２９５９５号公報）「メニューインタフェースを有する電子処理装置」を参照されたい。
【０１４１】
これらの地点にもとづいた操作の操作インターフェース２１０は，動的に時間や場所を発生させる時間・場所ジェネレータ２００を通さずに，直接，情報提示方法コントロール部３０にその地点の情報提示命令を出して，各種の案内ダイアログを通じて案内を提示するようにしてもよい。
【０１４２】
＜乗物速度・時間ステップ設定部２２０＞
乗物速度・時間ステップ設定部２２０では，車や徒歩など交通手段別に速度を設定する。また同じ乗物であっても，一般道を走っている時，高速道路を走っている時などで速度を変えるようにすることも可能である。さらに，実際の交通情報等を使ってよりリアルな速度を利用してシミュレーションを行うことも可能である。また，シミュレーションにおいて実際と同じ速度で案内を見ようとすると，非常に時間がかかってしまうために，実際の５分をシミュレーションでの１秒にするというように，時間ステップを任意に設定できるようにする。これにより，短時間で全体の案内を体験できるようになる。
【０１４３】
〔情報提示方法コントロール部３０〕
情報提示方法コントロール部３０は，情報提示タイミングコントロール部１０から受け取った，情報の提示開始／終了の合図をもとに，ユーザの利用している端末の種類（ＣＰＵの処理能力，画面の大きさなど）を考慮し，どのような表示手段（ビューシステム）を使って，どの情報をどの場所にどのように表示するかを決定し，ツリー形式提示コントロール部６１，地図形式提示コントロール部６２，テキスト形式コントロール部６３，案内ダイアログコントロール部６４に提示開始命令を出す。
【０１４４】
例えば，カーナビゲーションシステムにおいて本実施の形態を適用する場合には，地図形式による案内情報の出力を基本とし，必要に応じて案内ダイアログを出力する。また，案内の出し方も，走行中は危険なので音声情報のみを出力し，停止している間はテキストや画像のような案内情報も出力するといった調整を行うようにしてもよい。携帯電話等に本実施の形態を適用する場合には，携帯電話等の提示画面が小さいので，テキストもしくは音声のみで案内を行うようにする。
【０１４５】
どこにどのような形式の案内情報を出すかを，ある決まったフォーマットにより制御することも可能である。例えば各端末ごとに，以下のような記述情報を持つファイルを用意しておく。
【０１４６】
file:ex1. 
地点：アイコン
経路：経路計算
案内情報：吹き出し
コース全体に対する情報：左上ウインドウ
file:ex2. 
地点：テキストエリアに表示
経路：直線
案内情報：pop-up
情報提示方法コントロール部３０は，このファイルの内容を読み込み，その指示に従って，案内情報を適切な方法で提示する。上記の記述と同様にして，各機器がもっているＡＰＩ(Application Programming Interface）を直接記述し，それを利用して処理することも可能である。
【０１４７】
〔ツリー形式提示コントロール部６１〕
ツリー形式提示コントロール部６１は，図２２に示すように，ＮＶＭＬデータを受け取ると，ツリー表示エリア２３０に，経路の順番どおりにコース概要，地点情報，案内情報等をツリー形式で並べて表示する。下位階層ほど詳細な情報が表示されるようになっている。各階層はクリックなどにより開閉することができ，詳細レベルを変更して情報を表示させることができる。これにより，必要のない詳細情報表示を隠すことができ，一覧性を増すことができる。
【０１４８】
それぞれの情報にはリンクが張られており，このリンクによって，それぞれの情報を見たり，編集したりするためのダイアログを提示することができるようになっている。また，それぞれの情報に張られたリンクにより，地図形式提示コントロール部６２と連携して，選択した地点を中心にした地図を表示することができるようになっている。
【０１４９】
また，ツリー表示エリア２３０に表示された情報のドラッグにより，ブロックごとの移動やコピーを容易に行うことができる編集機能が設けられている。これにより，地点情報を丸ごと入れ替えたり，案内情報の部分だけをコピーしたりといった処理が簡単にできるようになる。また，経由地点 (navi) の場所を入れ替えることにより，自動的に経由地点の経由順も入れ替わるようにして，経由地点の通る順番を変えるなどの作業を簡単に行えるようにする。また，ツリー表示エリア２３０上で，地図情報等を編集した後に保存指示を受けると，ＮＶＭＬデータで書き出して保存する。ＮＶＭＬデータを解読して図２２に示すようにツリー表示エリア２３０に表示する処理，またツリー表示エリア２３０に表示された情報を，ＮＶＭＬデータに変換する処理については詳しく説明するまでもなく，上述したＮＶＭＬデータの性質から容易に実施可能であることは明らかである。
【０１５０】
また，詳細情報を見やすくするため，提示処理実行中は，ツリー表示エリア２３０では，移動している位置に合わせて対応する地点や経路の情報の下位階層を開いて詳細情報まで見せ，他の地点のところは閉じたままにする表示を行って，自動的に見やすい表示にする。また，案内の提示期間に合わせてその案内の部分の詳細情報を開くようにしてもよい。例えば図２３に示すように，「ポイント４」の案内範囲を通過中は，ポイント４の下位階層の詳細情報を表示して，通過後はこれらの詳細情報の表示を閉じるようにする。同様に他の編集手段と連携して，その編集中の部分の詳細を同期して開くようにしてもよい。
【０１５１】
〔地図形式提示コントロール部６２〕
図２４は，地図形式提示コントロール部６２による地図表示の例を示している。地図形式提示コントロール部６２は，ＮＶＭＬデータを受け取ると，地図上にＮＶＭＬデータを割り付けて，例えば図２４に示すように，地図表示エリア２４０に表示する。経由地点(navi)に対応する場所（緯度，経度）には，白色のピン型アイコン２４１を表示する。なお，経由の順番がわかりやすいように番号のついたアイコンにするとよい。そのアイコンの下にその地点の名前を表記してもよい。
【０１５２】
経路がある場合には，目立つように，指定した経路を太く色を濃くして描画する。特に経路の指定がない場合には，図２４に示すように，経由地点のアイコン間を順番に結んだ直線を描画する。
【０１５３】
案内地点(guide) の場合には，中心にその詳細情報とリンクするためのピン型アイコン２４２を表示し，さらにその情報が影響する範囲 (area) を円などの図形で表示して，中心のピン型アイコン２４２を囲むようにする。例えば，案内地点「東京タワー」の半径400 ｍの範囲に入ったら情報を出すといった場合(<point area="400m">) には，図２４に示すように，東京タワーを中心に半径400mの円を地図上に表示する。このアイコンに案内情報をリンクしておき，クリックするとその案内の情報が各種案内ダイアログを通じて出力されるようにする。
【０１５４】
経路に関して特に指定がなく，交通手段(means) だけがＮＶＭＬデータに記述されている場合には，ＮＶＭＬデータの"means" タグを見て，車なら通常の経路探索を行い，電車なら電車の路線図検索を行い，徒歩なら徒歩用の経路検索を行う，というように手段に応じて経路探索の処理を使い分ける。経路探索ができたならばその経路を表示し，できなければ経由地点を直線で結んで表示する。
【０１５５】
同一の場所に対して複数の地点が重複して設定されている場合には，地点を示すアイコンが重なって見えにくくなってしまうので，アイコンをずらして表示する。例えば図２５に示すように，地点を示すのにピン型のアイコンを用いて，それぞれ違う方向にピン型アイコンを伸ばして表示することで，ある程度同じ場所に重ねたままで表示することができる。また，表示する経路やアイコンの色を変えることで，複数のＮＶＭＬデータを重ねて表示することもできる。これにより，互いのコースの位置関係が一目でわかるようになる。
【０１５６】
案内実行中は現在位置の移動に合わせて表示する地図を追随させて，現在地を示すアイコン（例えば乗物型アイコン）を用いて，常に自分の現在地を中心とした地図を地図表示エリア２４０に表示する。または，乗物型アイコンが地図画面の端まで達したときに，次の地図に切り替えて表示するなど，地図情報へのアクセススピードに応じて地図の書換え描画処理が少ない表示方法を選ぶこともできる。また，地図の縮尺を乗物の速度に応じて自動的に変えて描画するようにしてもよい。地図データを高速に読み込むためには先読みやあらかじめ大きめの範囲でデータを取得しておくなどの様々な工夫が必要である。
【０１５７】
また，ＮＶＭＬデータの案内の内容によっては乗物型アイコンをツアーコンダクタ型アイコンなど，適宜変更して表示する。これにより，あたかもツアーの案内を受けているような印象をユーザに与えることができる。
【０１５８】
入力手段としては，緯度・経路などの一般的に人が手で直接入力することが難しい値を，地図上のある地点をクリックするなどの方法により入力できるようにする。これにより，簡単にまた直感的にＮＶＭＬデータの地点情報を入力することができるようになる。この手順は，まず地図上の点をクリックすると，図２６（Ａ）に示すように，経由地点か案内地点かを選択するダイアログウインドウ３００を表示する。ユーザがどちらか選択すると，図２６（Ｂ）に示すように，経由地点または案内地点の緯度・経度を自動的に取得して，地点の他の情報の入力を促すダイアログウインドウ３１０，３２０を表示する。ユーザは，ダイアログウインドウ３１０，３２０上で地点についての未設定の情報やその地点に関連付ける案内情報などを入力できる。なお，地点・経路データベースアクセス部７０を用いて，その地点の名前，カテゴリ，住所，郵便番号など，その他の情報も自動的に取得して表示するようにしてもよい。ダイアログウインドウ３１０，３２０上で「ＯＫ」をクリックすると，その地点についての地点情報，案内情報が登録され，地図上にはピン型アイコンが表示される。このような操作の処理を繰り返して，一連の経路案内データを作成することができる。
【０１５９】
他にもユーザが地図上で経由地点や案内地点をドラッグすることで，指定された地点を変更する処理も可能である。このように，ユーザは，絵を描く感覚で地点などの情報を入力するだけで，ＮＶＭＬデータを作成することができる。
【０１６０】
地図形式提示コントロール部６２では，地図データを画像として取得してきて，その上に位置を合わせてＮＶＭＬデータを表示しているだけであるので，表示する地図の部分が，一般の絵であっても同様な処理をすることができる。案内用の地図は，大きさや長さなどの縮尺が正確でないデフォルメされた地図で表される場合も多い。このような場合には，ＮＶＭＬデータの緯度・経度の部分を座標表現に変えて，各地点となるポイントをクリックしてＮＶＭＬデータを作成し，これを実行すれば同様な案内が実現できる。このように，背景となる絵の情報とＮＶＭＬデータのアイコンとの組合せにより，一種のアニメーション作成手段にもなりうる。
【０１６１】
〔テキスト形式コントロール部６３〕
テキスト形式コントロール部６３は，ＮＶＭＬデータをテキストで入出力するときの制御を統合的に行う。
【０１６２】
まず，ＮＶＭＬデータそのものを扱う場合，ユーザが入力するときには，自由に記述できてしまうので，文法通りであるか，または，ＮＶＭＬの仕様に合致しているかどうかをチェックする必要がある。さらに，その後に案内データ評価部９０で実現可能性や妥当性を評価する。他のモジュールや装置で作成したＮＶＭＬデータをテキストデータとして書き出す場合には，インデントを入れて見やすくする必要がある。テキスト形式コントロール部６３は，これらの処理機能を持つ。
【０１６３】
次に，テキストで見やすい形に変換して案内を提示するためのコントロールを行う。これは端末によっては，テキストデータしか表示できなかったり，通信の容量的にテキストデータ以外は送信できない場合などに利用する。例えば携帯電話に送信する場合には，携帯電話の表示画面サイズに収まるようにテキストを自動的に変換して少なくしたり，地図をテキストで記述して送ったりする。また，印刷物として出力する場合にも，テキストデータを印刷物として見やすい形式に変換して出力する。
【０１６４】
〔案内ダイアログコントロール部６４〕
案内ダイアログコントロール部６４は，概要情報，地点情報，経路情報，テキストや画像による案内情報などをそれぞれ出力し，もしくは編集するためのダイアログウインドウをコントロールする。このダイアログウインドウによって，ユーザは，それぞれの情報に関するの詳細な値の閲覧や編集が可能である。
【０１６５】
案内ダイアログコントロール部６４は，情報提示方法コントロール部３０の指示により動的に制御されたり，閲覧や編集を目的に他のアプリケーションから起動されたりする。地点情報をベースに他のツリー形式提示コントロール部６１や地図形式提示コントロール部６２と連動して動作する。なお，音声による案内情報では，その地方に合った方言を利用するなどといった工夫もできる。
【０１６６】
〔データ通信コントロール部４０〕
データ通信コントロール部４０は，ＮＶＭＬデータの通信を行う。ＮＶＭＬデータ全体の送受信を行うこともあれば，情報提示方法コントロール部３０の要請により，必要に応じて画像や音声の案内情報を通信を介して外部から取得する処理を行うこともある。また，地図などの付随情報や案内提示の隙間に流すＣＭなどの情報を送受信することもある。
【０１６７】
データ転送を効率的に行うために，ＮＶＭＬデータをすべて最初にダウンロードするのではなく，そのデータが必要になってから，もしくは必要になりそうになってから，画像などの大きなデータを取得するような処理機能もある。
【０１６８】
〔案内データアクセス部５０〕
案内データアクセス部５０は，案内データのアクセスを容易にするための様々なＡＰＩを提供する。地点の追加や削除や順番の入れ替えなどのための簡単なコマンドが用意されており，それにより，地点の追加／削除や順番の入替え処理や，案内地点と経由地点を分離して取り扱う処理や，案内地点と経由地点それぞれの順番やトータルでの順番等の管理などを行うことができる。また，新規に地点を追加するときに経路の最後に追加するだけでなく，経路の総距離が短くなるような位置を算出して追加する処理機能を持つ。
【０１６９】
〔地点・経路データベースアクセス部７０〕
地点・経路データベースアクセス部７０は，地点データベースから案内に必要な地点情報を自動的に取り出す。また，観光，顧客，お店，公共施設，歴史，社内データなど様々なデータベースから地点に付随する情報や案内情報を取り出す。ツリー形式提示コントロール部６１や地図形式提示コントロール部６２やテキスト形式コントロール部６３や案内ダイアログコントロール部６４や案内データアクセス部５０により，地点，検索範囲，検索条件などの情報を得て，データベースから必要な情報を取得し，要求元へ情報を返す。また，ＮＶＭＬデータに含まれる複数のポイントや経路に対して一遍にまとめて検索することもできる。
【０１７０】
地点情報および地点に付随する情報のＮＶＭＬデータへの取り込み方法としては，特願平１１−１１３１９１号「案内情報提示装置，案内情報提示処理方法，案内情報提示プログラムを記録した記録媒体，案内用スクリプトの記録媒体，案内用スクリプト生成装置，案内用スクリプトを用いた運行管理装置，方法およびそのプログラム記録媒体，案内用スクリプトを用いた移動時の時間調整装置，方法およびそのプログラム記録媒体，案内プラン作成装置，方法およびそのプログラム記録媒体，案内情報提供装置，方法およびそのプログラム記録媒体」の「案内プラン作成装置」に関する技術を利用してもよい。
【０１７１】
〔案内自動作成処理部８０〕
まず，手動によるＮＶＭＬデータ作成処理について，図２７に従って説明する。表示した地図上で新規作成が選択されると（ステップＳ５１），表示した地図上の点のダブルクリックにより地点を指定させる（ステップＳ５２）。図２６（Ａ）に示すようなダイアログウインドウにより，経由地点，案内地点を選択させ（ステップＳ５３），この地点についての地点情報を地点・経路データベースアクセス部７０を介して入力する（ステップＳ５４）。さらに案内情報の入力も行う（ステップＳ５５）。必要な全ての地点について入力されたかどうかを判定し（ステップＳ５６），必要な全ての地点について入力されるまで，ステップＳ５２〜Ｓ５５を繰り返す。全ての地点が入力済みになったなら，既知の経路探索技術を用いて，入力された地点を原則として最短距離で結ぶルートを自動作成し（ステップＳ５７），ＮＶＭＬデータを生成して出力する（ステップＳ５８）。
【０１７２】
案内自動作成処理部８０は，出発地点と目的地点の２点が送られてきた場合に，その２点の間のルートについて案内情報を自動的に作成する。このときの処理を図２８を用いて説明する。まず，図２９に示すような地図表示エリア２４０に提示した地図上で出発地点と目的地点の２点が指定されると（ステップＳ６１），指定された２点間の経路計算を行い地点列を得る（ステップＳ６２）。通常，経路計算は，図３０に示すようなネットワーク地図を利用してダイクストラ法で検索して求める。そうすると，複数の参照点（地点）で折れ曲がった経路ができ上がる。
【０１７３】
この経路の各地点（通過点）について，その地点へ入る方向と出る方向を比較して（ステップＳ６３），この方向差をもとに，曲がる角度を求める（ステップＳ６４）。その地点が大きく曲がるところかどうかを判定して（ステップＳ６５），案内を出さないと道に迷ってしまう程度に大きく曲がる地点である場合には，「右に曲がって下さい。」，「左に曲がって下さい。」，「Ｕターンして下さい。」といったような案内情報を作成してその地点に付与する（ステップＳ６６）。
【０１７４】
例えば，図３１に示すような曲がる方向の矢印４１０の画像を案内情報として付ける。これらの情報を提示するタイミングである遅れ(delay) を"-2min" ぐらいに設定すると，この案内を実行したときに，曲がる２分前に「左に曲がってください」という音声やテキストの案内と曲がる方向の矢印の画像を出すことができるようになる。さらに，図３２に示すような十字路，Ｔ字路，Ｙ字路といった交差点プロトタイプ４２０の画像と先の矢印４１０の画像を合成して付与すると，よりわかりやすい案内画像を作成することができる。
【０１７５】
また，地点・経路データベースアクセス部７０により地点や建物等の付随情報に関する地物データベース４３０が利用できる場合には，地物データベース４３０から得たランドマーク情報や交通標識や道路の付随情報（交差点名や信号の有無など）を上記の画像に添付することで，よりわかりやすい画像になる。なお，地物データベース４３０から施設の写真などを取り出して案内情報として利用してもよいことは言うまでもない。このようにして案内情報を作成することで，「コンビニエンスストアが角にある信号のある交差点を右に曲がってください。」といったような案内（テキスト，音声）をすることができる。これらの情報をＮＶＭＬデータとして出力する（ステップＳ６７）。
【０１７６】
なお，地図上で指定する地点が２点以上になった場合でも，すべての２点間に関して同様な処理をすればよく，前述した出発地と目的地の２点間の処理の場合と全く同じである。
【０１７７】
このような基本要素の合成で案内画像を作成する方法を，通信ネットワークを用いた案内で利用する場合には，図３３に示すように，案内情報を提示する端末４４０側では，画像情報の素材として，矢印４１０の画像情報と交差点プロトタイプ４２０の情報を持っていれば，センタ４５０側では，曲がる方向と交差点タイプと，必要であれば地物情報のＩＤを送るだけで，端末４４０側でこれらを合成して案内画像を作成することができ，ネットワークで伝送する情報量を抑えることができる。地物情報のＩＤは，例えばコンビニエンスストアやガソリンスタンドなどの目印となるランドマーク４３５に関する情報を含む。
【０１７８】
図３４に，地図表示エリア２４０に求めた経路を提示し，ツリー表示エリア２３０に，経由地点（経由地点）の地点情報および案内情報を提示した場合の表示例を示す。
【０１７９】
〔案内データ評価部９０〕
案内データ評価部９０は，経路案内データについて，それが適したものであるかどうかを判断し，場合によってはデータの修正や補完を行う。図３５に示すように，まず，ＮＶＭＬデータを取得すると（ステップＳ７１），ＮＶＭＬの仕様に合っているかどうかの文法をチェックする（ステップＳ７２）。例えば，緯度・経度の両方を指定してあるかどうか，電話番号，ＦＡＸ，Ｅ−ｍａｉｌアドレス，ＵＲＬ，測地系の表記が合っているかどうか，乗物の表記の仕方があっているかどうか，案内を実行するための属性の表記があっているかどうか（例えば，guide では delay属性にマイナス値は指定できない）などをチェックする。
【０１８０】
次に実現可能性をチェックする（ステップＳ７３）。例えば，時間と距離の関係から時間内に廻れるコースになっているかどうか，道路ネットワーク情報から通行できないところを通ろうとしていないかどうか，地理情報システムを利用して存在しないような地点を指定していないかどうかなどをチェックする。
【０１８１】
次に妥当性をチェックする（ステップＳ７４）。たとえ実現可能であっても，異常に遠回りしていたり，案内の間が開きすぎていたりしているデータは，妥当なデータとはいえない。また，案内データが重なってしまい表示できない場所では，有効な案内情報にならない。そこで，評価関数を利用してそのデータが妥当であるかを判断し，必要に応じて代替案などを出力する（ステップＳ７５）。
【０１８２】
このような経路案内データの修正の必要性は，渋滞や工事や事故などの道路の状況や天候などによっても変化するので，リアルタイムに修正する必要がある場合がある。このような場合には，リアルタイムに実際の案内コースや案内内容を修正して，情報提示方法コントロール部３０や案内ダイアログコントロール部６４にも反映させる。また，代替案は，例えば時間的に遅れる可能性が大きい経路の一部について，車での移動を電車に変更するとか，高速道路の利用を進めるとかいった案を，地図情報データベースを参照して作成し，ユーザに提案する。
【０１８３】
〔各手段の組み合わせによるアプリケーション〕
上記で説明してきた本実施の形態を実現するための各手段を部品化し，それらの部品を組み合せることにより，様々な機能をもった案内データを処理するツールを作成することができる。ここで部品化とは，それぞれを別々のプログラムモジュールとして用意したり，また，それぞれをサブルーチン形式や関数形式で呼び出し可能なモジュールとして用意することを意味する。オブジェクト指向プログラミングを用いるシステムでは，オブジェクトとして用意してもよい。
【０１８４】
図３６は，図１に示す各モジュールを部品として組み合わせて，ＮＶＭＬエディタ５００，ＮＶＭＬプレーヤ６００を作成する例を示している。例えば図３６に示すように，ツリー形式提示コントロール部６１および地図形式提示コントロール部６２のモジュールと，適当な操作メニュー６５等とを組み合せると，簡単なＮＶＭＬデータの編集ツール（ＮＶＭＬエディタ５００）になり，地図形式提示コントロール部６２，案内ダイアログコントロール部６４等を組み合わせると，ＮＶＭＬプレーヤ６００になる。
【０１８５】
図３７は，編集ツールであるＮＶＭＬエディタ５００の表示画面の例を示す。編集ツールであるＮＶＭＬエディタ５００の編集画面は，操作メニュー１１０１，地図操作アイコン１１０２，地図表示エリア１１０３，ツリー表示エリア１１０４からなる。
【０１８６】
さらに，図３８に示すように，ＮＶＭＬエディタ５００として使用するモジュールに，観光・顧客・お店・公共施設・歴史・社内データといったような各種データベース５１０と地点・経路データベースアクセス部７０を取り付けたり，また，生成・編集した経路案内データの実現可能性評価や妥当性評価を行う案内データ評価部９０を付加したり，広告サーバ５２０から情報を取り入れるモジュールを付加したり，他のユーザとのルート調整するルート調整部５３０や，案内データの自動作成を行う案内自動作成処理部８０を付加することによって，ＮＶＭＬデータ作成アプリケーション７００を作成することができる。
【０１８７】
図３９に，ＮＶＭＬプレーヤ６００のブラウザ画面の例を示す。ＮＶＭＬプレーヤ６００は，時間・場所生成処理部２０，情報提示タイミングコントロール部１０，情報提示方法コントロール部３０を裏で実行しながら，インターフェースとして，地図形式提示コントロール部６２，案内ダイアログコントロール部６４などを用いて，案内のシミュレーションを行う。ブラウザ画面には，例えば，情報表示エリア１１１２，地図表示エリア１１１３，緯度・経度表示エリア１１１４，テキスト表示エリア１１１５，画像表示エリア１１１６，地図移動ボタン１１２１，縮尺変更ボタン１１２２，各種設定ボタン１１２３，シミュレーション開始ボタン１１２４，早送りボタン１１２５，終了ボタン１１２６，リセットボタン１１２７等が設けられている。
【０１８８】
さらに，図４０に示すように，パーソナルコンピュータ（ＰＣ）８１０や携帯情報端末（ＰＤＡ）８２０や携帯電話・ＰＨＳ８３０やカーナビゲーションシステム８４０など，各種端末の処理能力に応じて必要な手段を組み合わせることにより，ＮＶＭＬデータを利用した案内を実行することができるようになる。
【０１８９】
ＮＶＭＬ処理エンジン８１１を持つＰＣ８１０では，外部の地図サーバ８５０から地図を，ＮＶＭＬコンテンツサーバ８６０からＮＶＭＬデータを取得して案内を実行する。なお，ＰＣ８１０に地図システム８１２を備える場合には，ＮＶＭＬデータを取得すればよく，地図サーバ８５０から地図を得る必要はない。また，ＰＣ８１０にシミュレータエンジン８１３を備える場合には，シミュレーションモードで案内を実行することもできる。
【０１９０】
ＰＤＡ８２０では，自己位置測定機能８２１により測定した自己の位置をＮＶＭＬ処理エンジンサーバ８７０に渡し，これにより，ＮＶＭＬ処理エンジンサーバ８７０は，ＮＶＭＬコンテンツサーバ８６０からＮＶＭＬデータを得て，ＰＤＡ８２０へ案内情報を送り，ＰＤＡ８２０は，受信した案内情報と，必要に応じて地図サーバ８５０から得た地図をもとに，案内を実行する。
【０１９１】
携帯電話・ＰＨＳ８３０では，携帯電話・ＰＨＳ位置管理システム８８０からの位置情報をもとに，ＮＶＭＬ処理エンジンサーバ８７０から案内情報を得て案内を実行する。
【０１９２】
カーナビゲーションシステム８４０では，ＮＶＭＬ処理エンジン８４１，地図システム８４３，自己位置測定機能８４２を備えることにより，ＮＶＭＬコンテンツサーバ８６０から直接ＮＶＭＬデータを得て，案内を実行する。
【０１９３】
このように，本実施の形態を実現する各手段を部品化することで，種々の機能を置き換えやすくし，誰でも容易に開発できるようになり，また，他システムに組み込みやすくなる。
【０１９４】
なお，本実施の形態に係る装置の各手段は，部品化したプログラムとして実現することができる。図４１に示すように，各手段は相互に，または，ユーザプログラムと，ＡＰＩやメッセージ通信手段によるメッセージの受け渡しで接続する。図４１において，ＮＶＭＬデータアクセス部１２０１は，図１に示す案内データアクセス部５０に，情報提示方法コントローラ１２０２は情報提示方法コントロール部３０に，情報提示タイミングコントローラ１２０３は情報提示タイミングコントロール部１０に，時間・場所ジェネレータ１２０４は時間・場所生成処理部２０に，地図データベースアクセスコントローラ１２０５は地点・経路データベースアクセス部７０に，自動ルート作成モジュール１２０６は案内自動作成処理部８０に，ＮＶＭＬ評価モジュール１２０７は案内データ評価部９０に，それぞれ相当する。
【０１９５】
ＮＶＭＬデータアクセス部１２０１の基本機能は，ＮＶＭＬデータへのアクセス（ｒｅａｄ，ｗｒｉｔｅ），ＮＶＭＬデータの整合性のチェック，ポイント操作，型変換（緯度・経度，文字列，数値など）である。これによって，ＮＶＭＬデータの取り扱いが容易になる。
【０１９６】
時間・場所ジェネレータ１２０４の基本機能は，ＮＶＭＬデータ，シミュレーションセットアップデータから時間・場所を発生することである。単純に刻み幅で時間・場所を発生するステップタイマーと各ポイントへの到着や案内の出るタイミングに合わせて時間・場所を発生するイベントタイマーを持つ。これにより，ＮＶＭＬデータを利用して移動体のシミュレーションが可能になる。
【０１９７】
情報提示タイミングコントローラ１２０３の基本機能は，info属性（delay, duration, times), point属性（area) を解釈し，案内の開始時間・終了時間を提示することである。また，経由地点(navi), 案内地点(guide) や，地点 (point), 経路(route）の優先順位に応じて案内を出す。また，到着時間，地点通過情報の管理，案内提示スケジュールのための各種テーブルの管理を行う。これによって，ＮＶＭＬ案内データを提示するタイミングをコントロールし，案内データの管理を簡単に実現することができる。
【０１９８】
情報提示方法コントローラ１２０２の基本機能は，ビューシステム（地図，ツリー，ダイアログなど）の選択と，それらを配置する位置やサイズを管理すること，プラットホーム（ＰＣ，カーナビゲーションシステム，携帯電話，テレビ，ＰＤＡなど）を認識して必要なコンポーネント，表示サイズを設定することである。これによって，表示するサイズや位置などをすべて管理することで，ＮＶＭＬデータの処理は，表示のことを意識せずに設計できるようになる。
【０１９９】
また，地図形式提示コントローラ１２３３は地図形式提示コントロール部６２に，ツリー形式提示コントローラ１２３４はツリー形式提示コントロール部６１に，テキストビュー１２１３はテキスト形式コントロール部６３に，案内地点ダイアログ１２２１，経由地点ダイアログ１２２２，経由ダイアログ１２２３，案内情報提示ダイアログ１２２４，概要ダイアログ１２２５，備考ダイアログ１２２６は，案内ダイアログコントロール部６４に，ＮＶＭＬ通信コントローラ１２１４，印刷モジュール１２１５は，データ通信コントロール部４０に，それぞれ相当する。
【０２００】
地図形式提示コントローラ１２３３の基本機能は，地図上にＮＶＭＬデータを表現すること，地図上のポイントの操作でＮＶＭＬデータを修正することである。これによって，地図上にＮＶＭＬデータを表示することができ，位置関係がわかりやすくなる。また，ＮＶＭＬデータのうち，緯度・経度といった地理的データの入力が容易になる。
【０２０１】
ツリー形式提示コントローラ１２３４の基本機能は，ツリー上にＮＶＭＬデータを表現すること，ツリー上の操作でＮＶＭＬデータを編集することである。これよって，地点の入れ替えなどをＧＵＩ（Graphical User Interface）で行うことができ，便利になる。また，入れ子構造の整理によって編集しやすくなる。
【０２０２】
これらの各手段は，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができる。
【０２０３】
図４１に示す部品化された各モジュールを組み合わせることにより，各種のアプリケーションプログラムを実現することができる。図４２は，そのアプリケーションプログラムの実現例を示す。
【０２０４】
図４２（Ａ）は，案内のシミュレーションなどを行うＮＶＭＬプレーヤの実現例を示している。ＮＶＭＬプレーヤは，ＮＶＭＬデータアクセス部１２０１，時間・場所ジェネレータ１２０４，情報提示タイミングコントローラ１２０３，情報提示方法コントローラ１２０２，地図形式提示コントローラ１２３３，各種情報表示ダイアログ１３００の各モジュールを，図４２（Ａ）に示すように組み合わせることにより実現することができる。
【０２０５】
図４２（Ｂ）は，実際の経路案内を行うナビゲーションシステムの実現例を示している。ナビゲーションシステムは，ＮＶＭＬデータアクセス部１２０１，場所や時間のセンサドライバモジュール１３１０，情報提示タイミングコントローラ１２０３，情報提示方法コントローラ１２０２，地図形式提示コントローラ１２３３，各種情報表示ダイアログ１３００のモジュールを，図４２（Ｂ）に示すように組み合わせることにより実現することができる。
【０２０６】
図４２（Ｃ）は，ＮＶＭＬデータを作成・編集するＮＶＭＬエディタの実現例を示している。ＮＶＭＬエディタは，ＮＶＭＬデータアクセス部１２０１，地図形式提示コントローラ１２３３，ツリー形式提示コントローラ１２３４，各種情報表示ダイアログ１３００のモジュールを，図４２（Ｃ）に示すように組み合わせることにより実現することができる。
【０２０７】
以下に，図２４に示す経路のためのＮＶＭＬデータの例を示す。
<?xml version="1.0" encoding="shift ＿jis"?>
<!DOCTYPE nvml SYSTEM " ../dtd/nvml-00＿06＿00.dtd">
<nvml version = "0.60"> 
<head>
<title>           レインボータウン散策 </title> 
<category>        観光                 </category>
<category>        東京都               </category>
<transport>       車、徒歩             </transport> 
<duration>        所要：3 時間         </duration>
<distance>        9.6km                </distance>
<expense>         首都高速料金：700 円 </expense> 
<geodetic-system> tokyo                </geodetic-system> 
<note name="copyright"     content="Fujitsu Laboratories Ltd."/>
<note name="last modified" content="1999.11.05"/> 
<info>
<text>  レインボータウン散策コース </text>
<voice> レインボータウン散策コースへようこそ！ </voice> 
<image src="../image /13-rainbow-bridge-west-01-P2170022.jpg"/> 
<note name="copyright" content="Fujitsu Laboratories Ltd."/>
</info> 
</head> 
<body>
<navi>
<point> 
<name>      東京駅                        </name> 
<category>  駅                            </category> 
<category>  JR、地下鉄                    </category> 
<latitude>  N35.40.37.0                   </latitude> 
<longitude> E139.46.19.0                  </longitude>
<address>   東京都千代田区丸の内          </address>
<zip-code>  100-0005                      </zip-code> 
<phone>     03-3231-0034                  </phone>
<fax>       03-3231-0034                  </fax>
<e-mail>    staff@tokyo-station .com      </e-mail> 
<url>       http://www.tokyo-station.com/ </url>
<expense>                                 </expense>
<note name="note" content="the most popular station"/>
</point>
<info>
<text>東京駅を出発してレインボータウンを散策します。 </text>
<voice> 東京駅を出発してレインボータウンを散策します。</voice>
<image src="../image /01-tokyo-station-01-Pic00001.jpg"/> 
<note name="copyright" content="Fujitsu Laboratories Ltd."/>
</info> 
</navi> 
<navi>
<route> 
<category>一般道路 </category>
<means>    car     </means> 
</route>
</navi> 
<navi>
<point> 
<name>      西銀座IC       </name>
<category>  首都高速       </category>
<latitude>  N35.40.19.96   < /latitude> 
<longitude> E139.46.13.122 </longitude> 
<address>   東京都中央区   </address> 
</point>
<info>
<text>  西銀座インターから首都高速へ           </text>
<voice> 西銀座インターから首都高速に入ります。 </voice> 
<image src="../image /02-nishi-ginza-jc-01-P2170012.jpg" /> 
</info> 
</navi> 
<navi>
<route> 
<name>    首都高速 </name>
<category>高速道路 </category>
<number>   11       </number> 
<means>    car      </means>
<duration> 1分      </duration> 
<distance> 1.0km    </distance> 
<expense>  700円    </expense>
<note name="速度制限"  content="あり"/> 
</route>
</navi> 
<navi>
<route> 
<category>高速道路 </category>
<means>    car      </means>
</route>
</navi> 
<navi>
<point> 
<name>      土橋         </name>
<category>  首都高速     </category>
<latitude>  N35.39.54.7  </latitude>
<longitude> E139.45.42.5 </longitude> 
< /point> 
<info delay="999sec" duration="999sec"> 
<text>  土橋付近       </text>
<voice> 土橋付近です。 </voice> 
<image src="../image /05-dobashi-01-P2170014.jpg" />
</info> 
</navi> 
<navi>
<route> 
<category>高速道路  </category> 
<means>    car      </means>
</route>
</navi> 
<navi>
<point> 
<name>      汐留IC       </name>
<category>  首都高速     </category>
<latitude>  N35.39.38.7  </latitude>
<longitude> E139.45.59.0 </longitude> 
</point>
<info>
<text>  左手の森→旧浜離宮庭園         </text>
<voice> 左手の森は、旧浜離宮庭園です。 </voice> 
<image src="../image/08-hama-rikyu-nishi-01-P2170015.jpg"/> 
</info> 
</navi> 
<navi>
<route> 
<category>高速道路 </category>
<means>    car      </means>
</route>
</navi> 
<navi>
<point> 
<name>      浜崎橋JC     </name>
<category>  首都高速     </category>
<latitude>  N35.38.58.7  </latitude>
<longitude> E139.45.47.9 </longitude> 
</point>
<info>
<text>  浜崎橋JC付近 </text>
<voice> ただいま、浜崎橋ジャンクション付近です。</voice>
<image src="../image /09-hama-rikyu-nishi-02-P2170016.jpg"/>
</info> 
</navi> 
<navi>
<route> 
<category>高速道路 </category>
<means>    car      < /means> 
</route>
</navi> 
<navi>
<point> 
<name>      レインボーブリッジ西 </name>
<category>  首都高速             </category>
<latitude>  N35 .38 .5.7           </latitude>
<longitude> E139.45 .42 .6         </longitude> 
</point>
<info>
<text>  まもなく、レインボーブリッジ             </text>
<voice> まもなく、レインボーブリッジを渡ります。 </voice> 
<image src="../image/13-rainbow-bridge-west-01-P2170022.jpg"/>
</info> 
</navi> 
<navi>
<route> 
<category>高速道路 </category>
<means>    car      </means>
</route>
</navi> 
<navi>
<point> 
<name>      レインボーブリッジ東 </name>
<category>  首都高速             </category>
<latitude>  N35 .37 .53 .5          </latitude> 
<longitude> E139.46 .19 .1         </longitude> 
</point>
<info>
<text>  左手→晴海埠頭                 </text>
<voice> 左手に見えるのが晴海埠頭です。 </voice> 
<image src="../image/14-rainbow-bridge-east-01-P2170024.jpg"/>
</info> 
</navi> 
<navi>
<route> 
<category>高速道路 </category>
<means>    car     </means> 
</route>
</navi> 
<navi>
<point> 
<name>      台場IC        </name> 
<category>  首都高速      </category> 
<latitude>  N35 .37.50.220 </latitude>
<longitude> E139.46.52.83 </longitude>
</point>
<info>
<text>  台場インターで首都高速を降りてください。 </text>
<voice> 台場インターで首都高速を降りてください。 </voice> 
<image src="../image/15-daiba-01-P2170025.jpg"/>
</info> 
< /navi>
<navi>
<route> 
<category>一般道路 </category>
<means>    car      </means>
</route>
</navi> 
<navi>
<point> 
<name>      お台場海浜公園- 駐車場   </name>
<category>  駐車場                  </category> 
<expense>   駐車料金：1 時間-1,000円 </expense> 
<latitude>  N35 .37 .40               </latitude> 
<longitude> E139.46 .54 .156          </longitude>
</point>
<info>
<text>  お台場海浜公園へようこそ  </text> 
<voice> では、ここで車を降りて、歩いてお台場を散策しましょう。</voice>
</info> 
</navi>
<navi>
<route> 
<means> foot </means> 
</route>
</navi> 
<navi>
<point> 
<name>      お台場海浜公園 </name>
<category>  公園           </category>
<latitude>  N35.37.37.208  </latitude>
<longitude> E139.46.49.221 </longitude> 
</point>
<info>
<text>  レインボーブリッジの眺めが最高    </text> 
<voice> お台場海浜公園は、レインボーブリッジの眺めが最高です。 </voice> 
<image src="../image/17-kaihin-park-01-Pic00017.jpg"/>
</info> 
</navi> 
<navi>
<route> 
<means> foot </means> 
</route>
</navi> 
<navi>
<point> 
<name>      デックス東京ビーチ  </name> 
<category>  公園                </category> 
<latitude>  N35.37.33.72        </latitude> 
<longitude> E139.46.44.39       </longitude>
<address>   東京都港区台場1-6-1 </address>
<phone>     03-5500-5050        </phone>
</point>
<info>
<text>  ジョイポリス恋の季節の LOVE2大作戦開催中！  </text> 
<voice> デックス東京ビーチからＦＪテレビに向かいましょう。 </voice> 
<image src="../image/18-decks-tokyo-beach-01-P2170037.jpg"/>
</info> 
</navi> 
<navi>
<route> 
<means> foot </means> 
</route>
</navi> 
<navi>
<point> 
<name>      ＦＪテレビ          </name> 
<category>  テレビ局            </category> 
<latitude>  N35.37.24.1         </latitude> 
<longitude> E139.46.39.2        </longitude>
<address>   東京都港区台場2-4-8 </address>
<phone>     03-5500-8888        </phone>
</point>
<info>
<text>見学ツアー：球体展望室の入場、スタジオプロムナードなど </text>
<voice> ＦＪテレビを見学しましょう。       </voice> 
<image src="../image/19-fuji-television-01-P2170039.jpg"/>
</info> 
</navi> 
<navi>
<route> 
<means> foot </means> 
</route>
</navi> 
<navi>
<point> 
<name>      潮風公園       </name>
<category>  公園           </category>
<latitude>  N35.37.13.112  < /latitude> 
<longitude> E139.46.22.158 </longitude> 
</point>
<info>
<text>  船と飛行機が見える海辺のプロムナード </text>
<voice> 潮風公園で一休みされては如何ですか？ </voice> 
<image src="../image/20-shiokaze-park-01-Pic00026.jpg"/>
</info> 
</navi> 
<navi>
<route> 
<means> foot </means> 
</route>
</navi> 
<navi>
<point> 
<name>      船の科学館            </name> 
<category>  博物館                </category> 
<latitude>  N35.37.3.5            </latitude> 
<longitude> E139.46.32.2          </longitude>
<address>   東京都品川区東八潮3-1 </address>
<phone>     03-5500-1111          </phone>
</point>
<info>
<text>  南極観測船「宗谷」と「羊諦丸」の展示あり </text>
<voice> 船の科学館には、南極観測船「ソウヤ」と「ヨウテイ・マル」が展示されています。 </voice> 
<image src="../image/21-museum-of-marine-science-01-Pic00044.jpg"/> 
</info> 
</navi> 
<navi>
<route> 
<means> foot </means> 
</route>
</navi> 
<navi>
<point> 
<name>      船の科学館駅   </name>
<category>  ゆりかもめ     </category>
<latitude>  N35.37.5.100   </latitude>
<longitude> E139.46.34.214 </longitude> 
< /point> 
<info>
<text>  ゆりかもめ：船の科学館駅             </text>
<voice> お疲れ様でした。お帰りは「ゆりかもめ」でどうぞ。 </voice> 
<image src="../image/21-museum-of-marine-science-01-Pic00044.jpg"/> 
</info> 
</navi> 
<guide> 
<point area="0.50km"> 
<name>      有楽町マレオン            </name> 
<category>  デパート                  </category> 
<latitude>  N35.40.13.52              </latitude> 
<longitude> E139.45.57.123            </longitude>
<address>   東京都千代田区有楽町2-5-1 </address>
<phone>     03-3214-6315              </phone>
</point>
<info>
<text>  お買物は有楽町マレオンでどうぞ。 </text>
<voice> お買物はユウラクチョウ・マレオンでどうぞ。 </voice> 
<image src="../image/03-sukiyabashi-01-P2170008.jpg"/>
</info> 
</guide>
<guide> 
<point area="1.15km"> 
<name>      東京タワー            </name> 
<category>  タワー                </category> 
<latitude>  N35 .39 .20 .22          </latitude>
<longitude> E139.45 .17 .28         </longitude>
<address>   東京都港区芝公園4-2-8 </address>
<phone>     12-3456-7890          </phone>
</point>
<info>
<text>  右手→東京タワー                 </text>
<voice> 右手に見えるのが東京タワーです。 </voice> 
<image src="../image/11-shibaura-jc-01-Pic00006.jpg"/>
</info> 
</guide>
</body> 
</nvml> 
以上のＮＶＭＬデータで使用する親子関係等のタグの定義は，次のようなＤＴＤ（Document Type Definition）によって行われる。
<!ELEMENT   nvml    (head?,body?)>
<!ATTLIST   nvml    version  CDATA  #IMPLIED> 
<!ELEMENT   head    (title?,category*,transport?, 
duration?,distance?,expense?,
geodetic-system?,note*,info?)> 
<!ELEMENT   body    (navi ｜guide)*>
<!ELEMENT   navi    ((point ｜route),info?)>
<!ELEMENT   guide   (point,info?)>
<!ELEMENT   point   (name?,category*,(latitude,longitude)?, 
address?,zip-code?, phone?,fax?,e-mail?,url?,                           expense?, note*)>
<!ATTLIST    point    area    CDATA    #IMPLIED>
<!ELEMENT    route  (name?,category*,number?,means?,
duration?,distance?,expense?, note*)>
<!ELEMENT    info   (text?,voice?,image?,note*)>
<!ATTLIST      info   delay    CDATA   #IMPLIED 
duration CDATA   #IMPLIED 
times    CDATA   #IMPLIED>
<!ELEMENT    title           (#PCDATA)> 
<!ELEMENT    category        (#PCDATA)> 
<!ELEMENT    transport       (#PCDATA)> 
<!ELEMENT    duration        (#PCDATA)> 
<!ELEMENT    distance        (#PCDATA)> 
<!ELEMENT    expense         (#PCDATA)> 
<!ELEMENT    geodetic-system (#PCDATA)> 
<!ELEMENT    note             EMPTY>
<!ATTLIST      note    name    CDATA   #IMPLIED 
content CDATA   #IMPLIED>
<!ELEMENT    name            (#PCDATA)> 
<!ELEMENT    latitude        (#PCDATA)> 
<!ELEMENT    longitude       (#PCDATA)> 
<!ELEMENT    address         (#PCDATA)> 
<!ELEMENT    zip-code        (#PCDATA)> 
<!ELEMENT    phone           (#PCDATA)> 
<!ELEMENT    fax             (#PCDATA)> 
<!ELEMENT    e-mail          (#PCDATA)> 
<!ELEMENT    url             (#PCDATA)> 
<!ELEMENT    number          (#PCDATA)> 
<!ELEMENT    means           (#PCDATA)> 
<!ELEMENT    text            (#PCDATA)> 
<!ELEMENT    voice           (#PCDATA)> 
<!ATTLIST      voice    src    CDATA    #IMPLIED> 
<!ELEMENT    image           EMPTY> 
<!ATTLIST      image    src    CDATA    #IMPLIED> 
このＮＶＭＬデータを実行させると，"../image /13-rainbow-bridge-west-01-P2170022.jpg"のファイルに格納された画像が表示され，「レインボータウン散策コースへようこそ！」のメッセージがテキストおよび音声で出力される。出発点の東京駅では，"../image /01-tokyo-station-01-Pic00001.jpg"のファイルに格納された東京駅の画像が表示され，「東京駅を出発してレインボータウンを散策します。」のメッセージがテキストおよび音声で出力される。
【０２０８】
また，地図表示エリアには，東京駅から車で一般道路を通り，西銀座インターから首都高速に入り，汐留ＩＣ，浜崎ＪＣ等を経由してレインボーブリッジへ向かうルート案内が表示される。
【０２０９】
東京駅を出発し，西銀座インターの地点に来ると，その付近の画像とともに「「西銀座インターから首都高速に入ります。」のメッセージがテキストおよび音声で出力される。その後，有楽町マレオンを中心とした半径５００ｍ以内の範囲に入ると，"../image/03-sukiyabashi-01-P2170008.jpg"/> のファイルに格納された画像が表示され，「お買物は有楽町マレオンでどうぞ。」というテキスト表示とともに，「お買物はユウラクチョウ・マレオンでどうぞ。」という音声による案内情報が出力される。以下，同様に車の進行とともに案内情報が出力されていくことになる。
【図面の簡単な説明】
【０２１０】
【図１】本実施の形態のシステム構成例を示す図である。
【図２】情報提示タイミングコントロール部の構成例を示す図である。
【図３】案内の事前準備処理の処理フロー図である。
【図４】案内提示処理の処理フロー図である。
【図５】案内提示終了処理の処理フロー図である。
【図６】到着時間予測の修正を説明するための図である。
【図７】案内提示のタイミングを説明するための図である。
【図８】案内の提示が重なった場合の優先度の設定の例を示す図である。
【図９】案内の提示が重なった場合の提示期間の例を示す図である。
【図１０】３次元映像による案内の場合のウォークスルー・モードを説明するための図である。
【図１１】３次元映像による案内の場合の視点移動モードを説明するための図である。
【図１２】時間・場所生成処理部の構成例を示す図である。
【図１３】地点および通過点の取得を説明するための図である。
【図１４】基本ステップの調整を説明するための図である。
【図１５】２つのタイマーを用いた時間・場所イベント発生を説明する図である。
【図１６】速度調整のための速度フィルタ（関数）の例を示す図である。
【図１７】時間・場所イベント発生による案内提示開始／停止の動作例を示す図である。
【図１８】時間・場所生成処理の処理フロー図である。
【図１９】操作インターフェースの例を示す図である。
【図２０】操作インターフェースの例を示す図である。
【図２１】操作インターフェースの例を示す図である。
【図２２】ツリー形式による案内提示の例を示す図である。
【図２３】ツリー形式による案内提示の例を示す図である。
【図２４】地図形式による案内提示の例を示す図である。
【図２５】ピン型アイコンの表示例を示す図である。
【図２６】地点を追加する場合の案内ダイアログの表示例を示す図である。
【図２７】ＮＶＭＬデータ作成処理の処理フロー図である。
【図２８】案内自動作成処理の処理フロー図である。
【図２９】案内自動作成処理を説明するための図である。
【図３０】道路ネットワークの例を示す図である。
【図３１】案内情報の作成処理を説明するための図である。
【図３２】案内情報の作成処理を説明するための図である。
【図３３】案内情報の作成処理を説明するための図である。
【図３４】自動作成された案内の例を示す図である。
【図３５】案内データ評価処理の処理フロー図である。
【図３６】部品化した各手段の組合せの例を示す図である。
【図３７】ＮＶＭＬエディタの表示画面例を示す図である。
【図３８】ＮＶＭＬデータ作成アプリケーションの例を示す図である。
【図３９】ＮＶＭＬプレーヤのブラウザ画面の例を示す図である。
【図４０】本実施の形態の適用例を示す図である。
【図４１】本実施の形態を実行する手段の関係を示す図である。
【図４２】アプリケーションプログラムの実現例を示す図である。
【符号の説明】
【０２１１】
１０  情報提示タイミングコントロール部
２０  時間・場所生成処理部
２５  センサ
３０  情報提示方法コントロール部
４０  データ通信コントロール部
５０  案内データアクセス部
６１  ツリー形式提示コントロール部
６２  地図形式提示コントロール部
６３  テキスト形式コントロール部
６４  案内ダイアログコントロール部
７０  地点・経路データベースアクセス部
８０  案内自動作成処理部
９０  案内データ評価部
【図１】
2007102239.tif 000003
【図２】
2007102239.tif 000004
【図３】
2007102239.tif 000005
【図４】
2007102239.tif 000006
【図５】
2007102239.tif 000007
【図６】
2007102239.tif 000008
【図７】
2007102239.tif 000009
【図８】
2007102239.tif 000010
【図９】
2007102239.tif 000011
【図１０】
2007102239.tif 000012
【図１１】
2007102239.tif 000013
【図１２】
2007102239.tif 000014
【図１３】
2007102239.tif 000015
【図１４】
2007102239.tif 000016
【図１５】
2007102239.tif 000017
【図１６】
2007102239.tif 000018
【図１７】
2007102239.tif 000019
【図１８】
2007102239.tif 000020
【図１９】
2007102239.tif 000021
【図２０】
2007102239.tif 000022
【図２１】
2007102239.tif 000023
【図２２】
2007102239.tif 000024
【図２３】
2007102239.tif 000025
【図２４】
2007102239.tif 000026
【図２５】
2007102239.tif 000027
【図２６】
2007102239.tif 000028
【図２７】
2007102239.tif 000029
【図２８】
2007102239.tif 000030
【図２９】
2007102239.tif 000031
【図３０】
2007102239.tif 000032
【図３１】
2007102239.tif 000033
【図３２】
2007102239.tif 000034
【図３３】
2007102239.tif 000035
【図３４】
2007102239.tif 000036
【図３５】
2007102239.tif 000037
【図３６】
2007102239.tif 000038
【図３７】
2007102239.tif 000039
【図３８】
2007102239.tif 000040
【図３９】
2007102239.tif 000041
【図４０】
2007102239.tif 000042
【図４１】
2007102239.tif 000043
【図４２】
2007102239.tif 000044