説明

情報提供方法,情報提供用プログラムの記録媒体および情報提供用プログラム

【目的】地図上に案内情報などの説明情報を提示する情報提供方法に関し,地図上で経由地点や案内地点などを一目で把握できるようにする技術を提供する。
【構成】地図形式提示コントロール部62は,案内経路を地図形式でユーザに提示する。このとき,案内経路における経由地点や案内地点をピン型のアイコンで表示する。複数のピン型のアイコンが重なる場合には,ピン型のアイコンの方向を変えることにより,重ならないように表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,経路案内(道案内)データを提供する情報提供方法に関し,特に,カーナビゲーションシステム(カーナビ),パーソナルコンピュータ(PC),携帯情報端末(PDA),携帯電話やPHS等に適用し,ネットワークや電子メディアを介して,道案内,観光案内,配送計画,旅行計画,交通管制,スケジューリング,娯楽,自治体サービス等の様々な経路情報や付加情報の提供に利用できる技術に関するものである。
【背景技術】
【0002】
従来の案内情報サービスでは,例えば,案内してほしい場所を指定すると,その場所に関するデータを羅列して提示するものが多い。また,その提示内容は,その場所に関する情報(地点,経路,施設等)だけであるため,その場所に至るまでの経路や途中の地点を柔軟に案内することができなかった。
【0003】
さらに,従来の案内情報サービスでは,システムごとに異なる形式のデータでサービスが提供されているため,案内情報の相互利用が困難であった。
【0004】
また,従来の案内データとしては,地図,イラスト,画像などの静的データや,カーナビゲーションシステムにおける音声案内データ等があり,これらのデータはあらかじめシステム内に作り込まれているものであった。そのため,従来技術では,一回作成したものを再利用したり,いろいろな場面で流用したりすることがあまり考えられていなかった。
【0005】
また,案内データの提示方法も,ほとんどが要求に応じて個々に出力するだけで,カーナビゲーションシステムなどでも,ある場所に来たら案内データを出すといった程度のものであり,積極的に案内データを提示するタイミングをコントロールするといったようなものではなかった。
【0006】
経路を作成するシステムに関しても,配送計画などの分野で一部存在するが,その研究や開発の中心となっているのは最適経路を計算する方法であり,ユーザに出力する案内の内容まで考慮したものはない。まして,それを自動作成するシステムはないに等しかった。さらに,これらのデータをネットワークに適した形で配信することまで考慮したものは知られていない。
【発明の開示】
【発明が解決しようとする課題】
【0007】
そこで,従来の問題点を解決するため,地点,経路,施設等の情報だけなく,ある場所までの経路に沿った実際的な案内あるいは仮想的な案内を行うことができ,さらには場所の移動だけではなく,時間の経過に伴った案内を行うことができ,かつ,さまざまなシステムや装置等で利用できる形式で案内を提供できるような手段として案内情報提示装置等を発明した(特願平11−113191号)。これにより,例えば,行き先のみを指定するだけで,経路に沿って「この施設は○○で有名です。」のような案内を提示し,またそのための案内データの作成を行うことができる。
【0008】
本発明および本発明に関連する技術の目的は,このような案内のうち,特にある範囲で提示する案内や,ある地点や地域に到達する何分か前に提示するというような案内が混在する案内データについて,状況に応じて適切なタイミングで案内を提示し,また,そのための案内データをユーザの要望に沿って効率よく処理する方法を提供することである。また,案内情報を付けた案内データを自動的に作成し,データをテキスト形式で直接記述する他に,地点や経路に関する情報を含む案内データを効率的に入力する方法を提供することである。特に,本発明は,案内経路における経路地点,案内地点のわかりやすい提示を実現することを目的とする。
【課題を解決するための手段】
【0009】
本発明では,以下の方法によって上記課題を解決する。
【0010】
本発明は,案内経路を地図形式でユーザに提示し,その地図形式の提示において案内経路における経由地点または/および案内地点を,ピン型のアイコンで表示する。そして,その複数のピン型のアイコンが重なる場合には,ピン型のアイコンの方向を変えることにより,重ならないように表示する。これにより,案内情報の出力に関連する経由地点や案内地点などを一目で把握できるようになり,また,狭い地域に多くの経由地点,案内地点があるような場合でも,それらの一つ一つを容易に区別できるようになる。
【0011】
また,本発明に関連する技術は,少なくとも時間情報または/および場所情報と,提示すべき時間または/および場所に応じて出力すべき案内情報とが所定の仕様に基づいて記述された案内用スクリプトを時間や場所に応じて処理する手段と,案内データを利用者に提示する手段を持つ装置において,再生,早送り,スキップまたは巻き戻しのいずれかを少なくとも含む案内出力方法に関するユーザからの操作情報と,あらかじめ設定された移動速度または/および時間ステップの情報とに基づき,情報を提示する時間または/および場所のタイミング情報を生成し,この生成されたタイミング情報に従って,前記案内用スクリプトに記述された時間情報または/および場所情報に合致する案内情報をユーザに提示する。
【0012】
これにより,案内のシミュレーション時に単に時間/場所を進めるステップを刻むだけでなく,時間/場所を発生させる方法のタイミングをユーザからの操作情報に従ってジェネレートすることにより,いろいろなタイプのシミュレーションを行うことが可能になる。
【0013】
また,本発明に関連する技術は,生成された時間・場所のタイミング情報または測定した実際の時間・場所に基づいて,案内用スクリプトに記述された時間情報または/および場所情報に合致する案内情報をユーザに提示するにあたって,案内提示の開始を指示するとともに,案内用スクリプトに記述された案内の属性情報に応じて案内情報の提示期間を管理し,案内提示の終了を指示する。これにより,適切な案内提示時間の制御を,案内用スクリプトに記述された案内の属性情報によって実現することが可能になる。なお,この案内の属性情報に基づく提示タイミングの調整の後に,案内の属性情報とは別に,例えば音声,映像などの時間的な長さのあるメディアと,画像,テキストなどの静的メディアの提示タイミングをメディアに応じて調整することも可能であるが,ここでは属性情報に基づく提示タイミング調整と案内の出力形式(メディア)に応じた提示タイミング調整とを分離することにより,提示タイミングのコントロールを容易化することができる。
【0014】
また,本発明に関連する技術は,生成された時間・場所のタイミング情報または測定した実際の時間・場所に基づいて,案内用スクリプトに記述された時間情報または/および場所情報に合致する案内情報をユーザに提示するにあたって,複数の案内情報の出力時間が重なった場合に,案内情報の種別に応じた優先度または出力メディアに応じた優先度を判定し,優先度の判定結果に従って各案内情報の出力タイミングを調整する。これにより,例えば経由地点の案内と,一般的な案内地点の案内とが重なったような場合に,より重要な経由地点の案内を優先させるということが可能になる。
【0015】
また,本発明に関連する技術は,案内用スクリプトから得られた各経由地点または案内地点への到着を確認し,この確認に基づき他の各経由地点または案内地点への到着時間を予測し,各経由地点または案内地点への到着予測時間に基づいて,案内用スクリプトに記述された案内情報の提示時期に関するスケジュール情報を生成し,生成されたスケジュール情報に基づき案内情報をユーザに提示する。また,各経由地点または案内地点への到着状況に応じてスケジュール情報を修正する。これにより,例えばある経由地点に到着する何分か前に案内情報をユーザに提示するような場合にも,正確な予測時刻に基づく案内の提示が可能になる。
【0016】
また,本発明に関連する技術は,案内用スクリプトに記述されている案内情報に,指定された領域内に入ったときに出力する案内情報の出力回数が指定されている場合に,指定された領域内に入る度に案内情報を出力し,出力回数から1を減算し,出力回数が0になったとき,指定された領域内に入っても案内情報の出力を抑止する。これにより,ある地域内に頻繁に入ったり出たりするような経路の場合にも,あらかじめ定められた必要回数分だけの案内情報の出力が可能になる。
【0017】
また,本発明に関連する技術は,生成された時間・場所のタイミング情報または測定した実際の時間・場所に基づいて,案内用スクリプトに記述された時間情報または/および場所情報に合致する案内情報をユーザに提示するとともに,出力すべき案内情報がない隙間の時間に,所定の広告,宣伝またはその他の一般情報をユーザに提示する。これにより,必要なときには案内情報が出力され,案内情報の不要なときには広告などの他の情報が出力されるので,広告主などによる案内用スクリプトの無償提供を期待でき,ユーザは,必要な案内用スクリプトを無料で利用できるようになる。
【0018】
また,本発明に関連する技術は,生成された時間・場所のタイミング情報または測定した実際の時間・場所に基づいて,案内用スクリプトに記述された時間情報または/および場所情報に合致する案内情報をユーザに提示するにあたって,提示する案内情報が3次元コンテンツまたは映像である場合に,3次元コンテンツの表示形態または映像の進む速度と,仮想または実際の移動距離とを同期させ,この同期制御に基づき表示対象に対する視点コントロールを行う。これにより,実際の進行に合わせて,例えば車窓から見たときのような3次元コンテンツの表示または映像表示が可能になる。
【0019】
また,本発明に関連する技術は,ユーザから逆再生の指示を入力した場合に,案内用スクリプトに記述されたテキストまたは音声による案内情報の中の左右,前後を自動的にそれぞれ右左,後前に変換する。これにより,例えば目的地から出発地へ向かう逆方向の経路案内を行うような場合に,前後・左右について違和感のない案内が可能になる。
【0020】
また,本発明に関連する技術は,案内用スクリプトに基づく案内経路を地図形式でユーザに提示する方法と,案内用スクリプトに基づく案内経路を,少なくとも経由地点または/および案内地点をノードとするツリー形式でユーザに提示する方法とを併用し,ツリー形式におけるノードを指定するユーザ入力により,地図形式およびツリー形式による提示を,ノードで指定された地点に移動させる。または,案内用スクリプトの実行により,地図形式およびツリー形式による提示を,案内用スクリプトの実行で到達した地点に移動させる。これにより,特定の経由地点や案内地点をツリー形式の提示から選択して,その位置の案内情報などを簡単にチェックすることができるようになる。また,案内用スクリプトによるシミュレーションや実際のナビゲーションにおいても,地図形式およびツリー形式の提示を連動させることが可能になる。
【0021】
また,本発明に関連する技術は,案内用スクリプトに基づく案内経路を,少なくとも経由地点または/および案内地点をノードとし,詳細レベルに応じて階層化したツリー形式でユーザに提示し,現在地点の移動に伴い,ツリー形式による提示において現在地点を含む部分を下位階層まで表示し,現在地点から離れた部分については上位階層のみを表示する。これにより,限られた大きさの表示画面などにおいて,ユーザにとって全体の経路の把握が容易になるとともに,現在地点の付近については詳細な情報を得ることが可能になる。このとき,テキスト表示において,移動に伴い,対応する内容の文字フォントを大きくしたり色を変えたりして,現在地点の近辺が目立つように表示するようにしてもよい。
【0022】
また,本発明に関連する技術は,案内用スクリプトが所定の仕様に基づいているかどうかをチェックするともに,案内用スクリプトの実現可能性または/および妥当性をチェックし,その案内用スクリプトのチェック結果またはチェック結果に基づく代替案を出力する。案内用スクリプトの実現可能性や妥当性を評価することにより,実行不可能な案内や無駄を多く含むような案内を行うようなことを事前に防止することができる。
【0023】
また,本発明に関連する技術は,作成中の案内用スクリプトに係る案内経路を地図形式またはツリー形式でユーザに提示し,地図形式またはツリー形式の提示において新たな経由地点または案内地点が指示されたとき,その経由地点または案内地点を案内経路の総距離が短くなる位置に挿入し,入力された経由地点または案内地点の情報に基づいて案内用スクリプトを作成または編集する。これにより,複数の経由しなければならない地点をランダムな順序で指定した場合にも,自動的に最短の距離で巡回することができるような案内用スクリプトを作成することも可能になる。
【0024】
また,本発明に関連する技術は,作成中の案内用スクリプトに係る案内経路を地図形式またはツリー形式でユーザに提示するとともに,地図形式またはツリー形式の提示において経由地点または案内地点の指示を入力し,入力された経由地点または案内地点の情報に基づいて案内経路を決定し,この際に経路計算に基づいて曲がる方向の案内情報を自動作成して,その案内情報をもとに案内用スクリプトを作成または編集する。これにより,例えば出発地と目的地だけを入力したような場合でも,途中の目印となるような案内地点と案内情報を追加して,わかりやすい経路案内を実現できる案内用スクリプトを作成することが可能になる。
【0025】
また,本発明に関連する技術は,作成中の案内用スクリプトに係る案内経路を地図形式またはツリー形式でユーザに提示するとともに,地図形式またはツリー形式の提示において経由地点または案内地点の指示を入力し,入力された経由地点または案内地点の情報に基づいて案内経路を決定し,案内経路における交差点について,あらかじめ用意された交差点と矢印との画像テンプレートを組み合わせ,その交差点において出力すべき画像の案内情報を自動作成して,その案内情報をもとに案内用スクリプトを作成または編集する。これにより,すべての交差点の画像を用意しておかなくても,交差点などで間違いが少ない経路案内を行うことができる案内用スクリプトを,容易に作成することが可能になる。
【0026】
また,本発明に関連する技術は,案内情報を提示する端末の位置に基づいて案内用スクリプトを,サーバ装置により解釈し実行し,案内用スクリプトの実行結果に基づく案内情報を,サーバ装置から端末へ送信し,送信された案内情報内に,あらかじめ定められたテンプレートの識別情報が含まれるとき,端末において識別情報に対応するテンプレートを用いて案内情報を合成し,ユーザに提示する。これにより,例えば簡易な携帯情報端末(PDA)などを用いた場合にも,サーバ装置から端末への伝送データ量を少なくし,伝送の負荷を小さくすることが可能になる。
【0027】
また,本発明に関連する技術は,少なくとも,仮想の時間・場所を生成するモジュールと,仮想または実際の時間・場所に基づいて案内情報を提示するタイミングを制御するモジュールと,案内情報を提示するタイミングに基づきユーザの端末または出力メディア情報に応じて案内情報の提示方法を制御するモジュールと,データ通信を制御するモジュールと,ツリー形式による案内データの提示を制御するモジュールと,地図形式による案内データの提示を制御するモジュールと,テキスト形式のデータの提示を制御するモジュールと,各種の案内や設定のためのダイアログを制御するモジュールとを,それぞれ部品化して用意し,これらの部品のうちの複数の部品を組み合わせることにより,案内用スクリプト作成用,案内用スクリプト実行用,または案内用スクリプトによるシミュレーション用のアプリケーションを作成する。これにより,案内用スクリプトを作成したり実行したりするシステムを,容易に構築することが可能になる。
【0028】
以上の各処理をコンピュータによって実現するためのプログラムは,コンピュータが読み取り可能な可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができる。
【発明の効果】
【0029】
本発明および本発明に関連する技術によれば,案内データをユーザの要望に沿って効率的に処理し,状況に応じて適切な方法およびタイミングで案内を提示することが可能になる。また,そのような案内データの作成を簡易に行うことができるようになる。
【0030】
例えば,以下のような案内の実行および作成ができる。
【0031】
・旅行で廻ったコースのアルバム作成
・侵攻や合戦や戦争の解説
・遊園地,博物館、水族館のお勧め案内
・宝捜し,オリエンテーリング
・有名人が通った道,映画のあのシーン
・テレビや雑誌で紹介されたコースの体験
・物流シミュレーション
特に,本発明により,案内情報の出力に関連する経由地点や案内地点などを一目で把握できるようになり,また,狭い地域に多くの経由地点,案内地点があるような場合でも,それらの一つ一つを容易に区別できるようになる。
【発明を実施するための最良の形態】
【0032】
〔装置の構成例〕
図1は,本実施の形態の構成例を示すブロック図である。時間・場所生成処理部20またはセンサ25により発せられた時間・場所にもとづいて,案内データを提示するタイミングを制御する情報提示タイミングコントロール部10と,時間・場所を生成する時間・場所生成処理部20と,現在時刻と現在場所を取得するセンサ25と,利用者の端末に応じて案内の提示方法を制御する情報提示方法コントロール部30と,データ通信を制御するデータ通信コントロール部40と,案内データのアクセスを制御する案内データアクセス部50と,案内データをツリー形式で提示するツリー形式提示コントロール部61と,案内データを地図形式で提示する地図形式提示コントロール部62と,案内データ,指示などのテキスト形式のデータの提示を制御するテキスト形式コントロール部63と,各種の案内や設定のためのダイアログを制御する案内ダイアログコントロール部64と,地点や経路などに関する情報のデータベースへのアクセスを制御する地点・経路データベースアクセス部70と,案内データを自動または半自動的に作成・編集する案内自動作成処理部80と,作成・編集した案内データの評価を行う案内データ評価部90とを備える。
【0033】
本実施の形態では,種々の形式で記録される時間,場所,案内情報のデータのインストラクションの系列をマークアップ言語の記述形式を用いて記述しておく。インストラクションとは,時間(例えば,出発時刻,経由時刻,到着時刻等),場所(例えば,出発地点,経由地点,到着地点等)または/および各種メディアデータ(地図,文字,音声,音楽,画像,映像等)の1ショットや部分データなどを含むスクリプトの単位である。例えば,ある経路上の地点Aにおいて,「地点Aにいるときには,その地点Aを説明する音声データ(aaa.wav )および画像データ(xxx.jpg )を出力する」という指示が,インストラクションである。以後,この形式による記述言語をNVML(NaVigation Markup Language)と呼ぶことにする。
【0034】
案内実行処理の過程では,このNVMLで記述された案内データ(NVMLデータ)を案内データアクセス部50により,ネットワークや各種メディアから利用者端末に読込み,時間・場所生成処理部20から発せられる仮想の時間・場所もしくはGPS(Global Positionig System)などのセンサ25から得られる実際の時間・場所をもとに,情報提示タイミングコントロール部10により,その時間・場所に合った案内情報の提示を適切なタイミングで開始し,またその提示を適切なタイミングで停止する制御を行う。
【0035】
この提示開始/停止の信号をもとに,情報提示方法コントロール部30により,端末の処理能力,画面サイズ,ユーザの要望などを考慮して,どの情報をどのような形式で提示(表示)するかを決定し,それぞれ,ツリー形式提示コントロール部61,地図形式提示コントロール部62,テキスト形式コントロール部63,案内ダイアログコントロール部64を通じて案内を行う。
【0036】
案内作成処理の過程では,ユーザの好みによって,ツリー形式提示コントロール部61,地図形式提示コントロール部62,テキスト形式コントロール部63,案内ダイアログコントロール部64を使い分けて,地点を次々に追加・編集することを可能とし,その地点や時間に提示する案内の内容やタイミングなどの各種情報を入力する。
【0037】
このとき,地点・経路データベースアクセス部70により,施設やランドマーク,地形などの地理情報,交差点や信号や道幅などの道路の付随情報などの様々なデータベースから必要な情報を取り出し,取得した情報を経路案内データにある程度自動的に付加することもできる。
【0038】
さらに案内自動作成処理部80により,ユーザの入力した出発点と目的地,場合によっては経由地点も加えた地点情報に対して,それらの地点の間で通るべき経路を計算し,その経路を通る際に必要となる案内情報(交差点などで曲がる方向や特徴となるランドマークの案内等)を付け加えるなどして,自動的に案内データを作成する。
【0039】
さらに案内データ評価部90により,所要時間や道路状況などを考慮して,案内データの実現可能性や妥当性を評価し,必要であれば代替案を作成するなどして案内データの作成の補助を行う。
【0040】
このようにして,案内データの提示や作成を支援することで,案内データを様々な機器に様々な提示の仕方で出力することができ,また,様々な案内データ(NVMLデータ)の応用が可能になる。
【0041】
〔NVMLの概要〕
初めに,本実施の形態において用いるNVMLの概要を説明する。
【0042】
<nvml version="0.60"> や,あるいは<head>や</head> のように,< と> で括られたものをタグという。タグのうち, </ で始まらないものを開始タグといい,</で始まるものを終了タグということにする。開始タグと終了タグは,
<title>NVML Ver.0.60 TestSample</title>
のように対として使用される。この対をタグセットと呼ぶことにする。また,
<nvml version="0.60">
におけるversion のようなものをそのタグの属性といい,0.60のようなものをその属性の値という。
【0043】
NVMLでは対であるタグセットの階層構造によって記述される。タグセットの間に挟まれた部分に,タグセットがない場合,その部分をそのタグの内容ということにする。NVMLのスクリプトは,以上のようなタグ,属性および内容を用いて構成される。
【0044】
例えば,以下のようなNVMLのスクリプトがあったとする。
【0045】
<body>
<navi>
<point>
<name> ○○ </name>
</point>
<info>
<text> △△ </text>
</info>
</navi>
</body>
このスクリプトは,「○○の地点で,△△の経路案内情報(テキスト形式)を出力する」ということを意味し,<navi>と</navi> の間の<point> と</point>で囲まれた部分は地点を,<info>と</info> で囲まれた部分は出力すべき案内情報を表す。
【0046】
また,以下のようなNVMLのスクリプトがあったとする。
【0047】
<body>
<guide>
<point area="100m">
<name> ○○ </name>
</point>
<info>
<text> □□ </text>
</info>
</guide>
</body>
このスクリプトは,「○○の地点を中心とした100mの範囲に入ったら,□□の案内情報(テキスト形式)を出力する」ということを意味し,<guide> と</guide>の間の<point area="100m"> と</point>で囲まれた部分は範囲を,<info>と</info> で囲まれた部分は出力すべき案内情報を表す。
【0048】
(1)案内地点(guide 要素)
guide 要素はbody要素の子要素である。guide 要素は,記述しなくともよく,また,記述する場合には何回でも記述することができる。guide 要素には,その地点の案内についての具体的な情報を記述する。
【0049】
以下に案内地点の記述例を示す。
【0050】
<guide>
<point area="1.0km">
<name> 砧公園 </name>
<category> 公園 </category>
<latitude> N35.37.30.200 </latitude>
<longitude> E139.37.43.227 </longitude>
<address〉 東京都世田谷区用賀2</address>
<zip-code> 158-0097 </zip-code>
<phone> 01-2345-6789 </phone>
</point>
<info>
<text>
砧公園
</text>
<voice>
砧公園は紀元2600年記念事業として都市計画決定された
大緑地を前身としています。
【0051】
</voice>
<image src="image/Kinuta-Park-01.jpg"/>
</info>
</guide>
この例は,もしpoint 要素に記述された地点のある領域内(この例の場合には,その地点を中心とする半径1.0[km] の円内)に入れば,info要素に記述された情報を出力する,ということを意味する。
【0052】
NVMLにguide 要素を記述しておくことによって,ある時刻になると,あるいは,ユーザがいくつかのnavi要素によって規定された経路に沿って移動している最中もしくは特定の経路に沿わずに単に移動している場合にも,guide 要素に記述された地点の領域に入ると,info要素に記述された情報が出力されることになる。
【0053】
なお,navi要素の間にguide 要素を,また逆に,guide 要素の間にnavi要素を,あるいは,それらを任意に組み合わせて記述してもよい。その場合にnavi要素の系列についての解釈はすべてのguide 要素を抜いたものと全く同じとする。
【0054】
(2)経由地点(navi要素)
navi要素はbody要素の子要素である。navi要素は記述しなくてもよく,また,記述する場合には何回でも記述することができる。navi要素には,経路案内についての具体的な情報を記述する。navi要素は,属性を持たない。
【0055】
navi要素は,子要素として,point 要素,route 要素,info要素を持つ。point 要素とroute 要素とは,どちらか1つを必ず1回記述しなければならない。info要素は,記述しなくてもよく,また,記述する場合には1回だけ記述することができる。以下の子要素は,point →infoまたは route→infoの順に記述しなければならない。
【0056】
<navi>
<route>
<category>一般道路 </category>
<means> car </means>
</route>
</navi>
<navi>
<point>
<name> 西銀座IC </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要素に記述された情報を出力する,ということを意味する。
【0057】
navi要素を複数回記述することによって,地点1,地点2,…,を順に経由する経路に沿った案内を記述することができる。route 要素の内容としては,必ずしもその地点から次の地点までの完全な経路を記述しなくてもよい。もし,route 要素が記述されていない場合,または記述が不完全な場合には,NVMLシステムが実行の際に適切な補完を行う。
【0058】
(3)地点情報(point 要素)
point 要素は,navi要素およびguide 要素の子要素である。navi要素の子要素である場合には,point 要素とroute 要素のいずれか1つを必ず1回記述しなければならない。また,guide 要素の子要素である場合には,point 要素を必ず1回記述しなければならない。point 要素には,地点についの具体的な情報を記述する。
【0059】
NVMLシステムは,point 要素の子要素として,もしlatitude要素とlongitude 要素が記述されていれば,まず,その情報を用いて地点の正確な位置を特定する。もし,それらが記述されていない場合には,その他の要素の内容から特定する。もし,記述が不十分なため,1つの地点が正確に特定できない場合には,システムが可能な限り適切な地点を推定し,1つの特定の地点を選択し,また,それも不可能な場合には,エラーとする。
【0060】
親要素がguide 要素であるときにのみ,属性としてarea属性を記述することができる。area属性は,info要素に記述された情報を出力する地点の領域を,本point 要素に記述された地点を中心とした半径で指定する。例えば,
<point area="1.0km">
とように記述される。
【0061】
(4)経路情報(route 要素)
route 要素は,navi要素の子要素である。route 要素には,経路についての具体的な情報を記述する。route 要素は,属性を持たない。
【0062】
(5)案内情報(info要素)
info要素は,head要素,navi要素,およびguide 要素の子要素である。info要素は,記述しなくともよく,また記述する場合には1回だけ記述することができる。info要素には,出力する情報についての具体的な情報を記述する。
【0063】
親要素がhead要素である場合には,本info要素に記述された情報をいつどこで出力するかはシステムに任される。親要素がnavi要素である場合には,兄弟要素であるpoint 要素に記述された地点に現在地が到達したときに,情報が出力される。親要素がguide 要素である場合には,兄弟要素であるtime要素に記述された時刻および時間の範囲の中の先頭の時刻に,あるいは,兄弟要素であるpoint 要素に記述された地点の範囲の中に入ったときに,情報が出力される。
【0064】
なお,navi要素による出力とguide 要素による出力が干渉する場合が起こりうる。このような場合,両者を同時に出力するのか,あるいは,一方を他方よりも優先するのかなどは,事前の設定情報などによりシステムに任される。
【0065】
以下に,記述例を示す。
【0066】
<info delay="-5min" duration="1min">
<text>
用賀プロムナード
</text>
<voice>
ここは用賀プロムナードと呼ばれる遊歩道です。
【0067】
砧公園まで少し歩いてみましょう。
【0068】
</voice>
<image src="image/Youga-Promenade-01.jpg"/>
</info>
この例は,ある地点,領域または時刻に到達する5分前に,1分間,テキスト,音声および画像(イメージ)による案内情報を出力することを指示するものである。
【0069】
次に,属性について説明する。info要素は以下の属性を持つ。
【0070】
(a)delay
情報を出力する際の開始時刻を指定する。属性の取りうる値は以下のとおりである。
【0071】
("+"|"-")?
((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属性に記述された領域に入った時刻。領域に入るたびに設定し直す。
【0072】
なお,ディフォルト値はない。指定しない場合の値の設定はシステムに任される。
【0073】
以下の例は,「地点(PointNo.12)の半径1km以内の範囲に到着したら,その到着時間から 0.1時間後にテキストおよび音声形式の案内情報(GuideSampleNo.12)を出力する」ことを意味する。
【0074】
<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)を通過するとき, 通過時間の5分前にテキストおよび音声形式の案内データ(GuideSampleNo.14)を出力する」ことを意味する。
【0075】
<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>
(b)duration
情報を出力する際の持続時間を指定する。属性の取りうる値は以下のとおりである。
【0076】
(((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 要素において指定された地点の領域から現在地が逸脱するまで,情報は出力されたままになる。
【0077】
なお,ディフォルト値はない。指定しない場合の値の設定はシステムに任される。
【0078】
以下の例は,「地点(PointNo.26)の半径100mの範囲に到着したら, 到着時間から,テキストおよび音声形式の案内(GuideSampleNo.26)を1分30秒間出力する」ことを意味する。
【0079】
<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)の半径1kmの範囲に到着したら, 到着時間から100秒後に, テキストおよび音声形式の案内(GuideSampleNo.45)を 0.001時間出力する」ことを意味する。
【0080】
<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>
(c)times
親要素がguide 要素であるときにのみ有効である。兄弟要素にpoint 要素がある場合には,times 属性によって指定された回数だけ,現在地がarea属性によって指定された地点の領域の中に入るたびに,info要素に記述された情報が出力される。兄弟要素にpoint 要素がない場合,言い替えると,time要素のみがある場合には,システムによっては,指定された時刻の範囲にあれば,times 属性によって指定された回数だけ,info要素に記述された情報が出力されるようにしてもよい。取りうる値は以下のとおりである。
【0081】
(0|[1-9][0-9]*)|"any-times"
"any-times" は何回でも出力することを意味する。ディフォルト値はない。指定しない場合の値の設定は,システムに任される。
【0082】
具体的には,以下の例は,「地点(PointNo.92)の半径1kmの範囲に到着したら, 到着時間から, テキストおよび音声形式の案内(GuideSampleNo.92)を最大で3回まで出力する」ことを意味する。すなわち,指定された範囲内に出たり入ったりしたときに,3回までは案内を出すが,それ以降は案内を出さない。
【0083】
<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)の半径1kmの範囲に到着したら, 到着時刻から, テキストおよび音声形式の案内(GuideSampleNo.45)を出力し,一度半径1kmの範囲から出て,再び半径1kmの範囲に入るという行為を繰り返しても,必ず案内を出し続ける」ことを意味する。
【0084】
<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>
次に,図1に示す本実施の形態に係る装置の各手段を説明する。
【0085】
〔情報提示タイミングコントロール部10〕
情報提示タイミングコントロール部10は,時間・場所生成処理部20から送られてくる仮想の時間・場所や,センサ25から送られてくる実際の時間・場所の情報を取得し,NVMLデータに記述された様々な情報提示条件に合うように,情報の提示・終了を指示する。この処理に利用するため,情報提示タイミングコントロール部10は,図2に示すように,ポイント通過・到着確認テーブル110,navi到着時間予測テーブル120,guide情報管理テーブル130,情報提示スケジュールテーブル140,案内中イベント管理テーブル150を持つ。
【0086】
ポイント通過・到着確認テーブル110は,現在地点がnavi要素またはguide 要素のポイント(point)を通過/到着したか否かを確認するためのテーブルである。navi到着時間予測テーブル120は,ポイント通過・到着確認テーブル110からの通過確認にもとづいて,navi要素のポイント(point)ごとの案内内容(info)や遅れ(delay)と,そのポイントへの到着予測時間を管理するテーブルである。guide情報管理テーブル130は,guide 要素のポイント(point)ごとの案内内容(info),遅れ(delay),提示期間(duration),提示回数(times)を管理するテーブルである。
【0087】
情報提示スケジュールテーブル140は,navi到着時間予測テーブル120またはguide情報管理テーブル130から, 地点(point)ごとの遅れ(delay)情報と,到着予測時間またはポイント通過・到着時間から算出した提示開始時間を設定して,案内情報の提示スケジュールを管理するためのテーブルである。案内中イベント管理テーブル150は,提示期間(duration)が定義された案内データの提示終了時間を設定して,提示期間を管理するためのテーブルである。
【0088】
案内の事前準備処理として,図3に示すように,情報提示タイミングコントロール部10は,経路案内データ(NVMLデータ)を受け取ると(ステップS1),ポイント間の距離や乗物の速度などから到着時間を予測し,到着時間予測テーブル120に,到着予測時間を書き込む(ステップS2)。
【0089】
経由地点(navi)の案内の出し方の属性である遅れ(delay) の値がマイナスの案内についてのみ,到着予測時間から提示開始時間を求め,情報提示スケジュールテーブル140に設定しておく(ステップS3)。
【0090】
その後,時間・場所生成処理部20またはセンサ25から時間データを取得したなら,情報提示スケジュールテーブル140を参照し,その時間が提示開始時間と一致または超えていればその案内の提示を開始する。
【0091】
経由地点(navi)の案内の遅れ(delay) の値がプラスの場合には,ポイント経過・到着確認テーブル110にて移動中の現在位置の場所をチェックし,指定した地点(point)のある範囲に入っていたら,その地点に到着したと判断することで,各地点への到着状況をチェックする。ある地点に到着したのを確認したならば,現在時間に遅れ(delay) のプラス分の値を加えた時間を提示開始時間として設定して情報提示スケジュールテーブル140に挿入する。
【0092】
遅れが定義されていない場合には,そのポイントに到着したのを確認したときに,すぐに案内の提示を開始する。すなわち,現在時間を提示開始時間として情報提示スケジュールテーブル140に挿入し,直ちに案内の提示を開始する。
【0093】
また,案内地点(guide)の案内については到着時間予測ができないので,現在地点が案内地点(guide) の指定する範囲に入ったのが,ポイント通過・到着確認テーブル110により確認できたら,その遅れの指定時間後に案内を出す時間を定めて情報提示スケジュールテーブル140に挿入する。
【0094】
すなわち,情報提示スケジュールテーブル140に提示開始時間を設定するタイミングは,以下のとおりである。経由地点(navi)の案内については,遅れ(delay) の値がマイナスの分については最初の準備のとき,遅れ(delay) の値がプラスの分についてはポイントに到着したときである。また,案内地点(guide)の案内についてはポイントの指定範囲内に到着したときである。
【0095】
以上のように情報提示スケジュールテーブル140に提示開始時間が設定される。提示開始時間が設定されている案内リストは,時間・場所生成処理部20もしくはセンサ25から現在時間・場所が送られてくるたびにチェックされ,その案内リストにある提示開始時間になったなら,案内が開始される。
【0096】
なお,ユーザがNVMLデータに定義されたコースから外れてしまうこともあるので,そういうときのために,ポイント通過・到着確認テーブル110をチェックする。遅れの値がマイナスの場合には,一つ前の地点に到着しているか否かを確認して,到着していない場合には案内の提示を行わない。到着している場合には,指定された案内を指定された案内時間(duration)の間,提示する。一番最初の地点については,通過・到着の確認ができないので案内の提示を行わない。遅れの値がプラスの場合には,そのポイントに到着した時点でこの情報提示スケジュール140に情報を入れるので,情報を出す時にはマイナスの場合のような確認をする必要はない。
【0097】
提示開始時間になると案内開始の合図が出力されて案内が提示される。このとき,案内データの提示時間(duration)を解釈して求めた提示終了時間を案内中イベント管理テーブル150に設定する。そして,案内中イベント管理テーブル150をチェックして,提示終了時間が来るまで案内を継続し,提示終了時間になると案内終了の合図を出力する。なお,案内が終了して不要となった情報は,案内中イベント管理テーブル150から随時消去していく。
【0098】
さらに,案内地点(guide) の場合には,その範囲に入ったり出たりを繰り返すことがあるので,その案内を何回提示するかを指定することができる。よって,この提示回数(times) をguide情報管理テーブル130で管理し,情報を提示するごとに回数を減らしていく。回数が0になれば,guide情報管理テーブル130から消去する。なお,"any-times" という指定もでき,この場合には,指定した範囲に入ったときに何回でも情報を出すようにする。
【0099】
図4に,案内提示処理の処理フローを示す。情報提示タイミングコントロール部10は,時間・場所データを取得すると(ステップS11),場所をもとにポイント通過・到着確認テーブル110を用いて地点(ポイント)通過をチェックする(ステップS12)。ポイントに到着していれば(ステップS13),ポイント通過・到着確認テーブル110を更新し(ステップS14),navi到着時間予測テーブル120の到着予測時間を再計算して更新する(ステップS15)。
【0100】
そのポイントの案内情報に付与されている遅れ(delay) の値が0かどうかをチェックし(ステップS16),0であればステップS20へ進む。遅れの値がプラスであれば,現在時間に遅れのプラス(+)分を加えて提示開始時間を求め,情報提示スケジュールテーブル140に挿入する(ステップS17)。また,必要であれば,前に計算した到着予測時間と実際の到着時間との誤差にもとづいて,実際に情報提示スケジュールテーブル140に設定されている遅れがマイナスの案内情報の提示開始時間を修正する。
【0101】
次に,取得した時間・場所データの時間と情報提示スケジュールテーブル140中の提示開始時間とを照合し(ステップS18),時間が一致もしくは超えている案内情報があれば(ステップS19),ステップS20へ進む。該当する案内情報がなければ,ステップS11へ戻る。
【0102】
ステップS20では,案内を提示し(ステップS20),案内中イベント管理テーブル150に情報を送って,その案内の提示終了時間を設定する(ステップS21)。
【0103】
図5に,案内提示終了処理の処理フローを示す。時間・場所データを取得し(ステップS31),案内中イベント管理テーブル150にデータがある場合には,案内中イベントの提示終了時間に一致するかまたは超えているものをチェックする(ステップS32)。提示終了時間が一致するか超えていれば(ステップS33),案内提示終了命令を出し,案内中イベント管理テーブル150の該当情報を削除する(ステップS34)。
【0104】
<到着時間の予測>
到着時間の予測方法を,図6に従って説明する。シミュレーションのモードでは,あらかじめ完全に到着時間を決めることもできるが,実際には到着時間は着いてみないとわからないので,ある程度の到着予測時間を求めるしかない。到着時間は,各地点間からの道のり,法定速度や車線数などの道路の属性,混雑しているかどうか,また事故の有無などの道路の状況,天候,さらに,あらかじめ設定されたユーザ情報やユーザの運転履歴などをもとに予測する。予測に用いるこれらの情報のうち,道路の状況や天候などはリアルタイムに変化するので,到着予測時間を求める処理は,ある間隔で繰り返し行うようにして,最新の状況で修正する必要がある。この到着時間予測テーブル120の修正に伴い,提示開始時間も変わることがあるので,その場合には情報提示スケジュールテーブル140も修正する。
【0105】
<案内提示時間>
図7(A)に示すように,経由地点(navi)の案内の遅れ(delay)が未指定の場合には,ポイントに到着した時間を提示開始時間として,その情報の提示時間 (duration) だけ案内を行う。遅れがマイナス(−)の場合には,ポイントに到着する到着予測時間から遅れのマイナス分を引いた時刻を提示開始時間とし,その提示開始時間から,その情報の提示時間 (duration) だけ案内を行う。遅れがプラス(+)の場合には,ポイントに到着した時間から遅れのプラス分を加えた提示開始時間から,その情報の提示時間 (duration) だけ案内を行う。
【0106】
また図7(B)に示すように,案内地点(guide)の案内については,現在地点が案内地点(guide) の指定する範囲 (area) に入った時間が提示開始時間となるので,その時間からその情報の提示時間 (duration) だけ案内を行う。
【0107】
案内を提示する時間(期間)は,基本的にはNVMLデータで指定された提示時間 (duration) に従う。提示時間は,基本的に画像やテキストなど,もともと情報の出力に時間的な長さの制約がないデータを提示するための設定時間であり,音声や映像のように時間的な長さの制約をもともと持っているデータの提示に関しては,基本的にはそのデータを一度流したら終わりにする。提示時間 (duration) が短い場合には,状況によっては途中でもduration期間で打ち切ることもある。
【0108】
また,提示時間 (duration) については,直接時間を指定する代わりに"full-time" という指定にして,経由地点(navi)が続く場合には次の経由地点が来るまでずっと提示し,案内地点(guide)の場合には,指定した範囲に入っている間はずっと提示するというようにすることもできる。その他にも"voice-time"と指定して,音声の案内が終了するまで,画像,テキストも同じ時間表示したりすることもできる。このようにして,いろいろな案内の提示時間を,簡単なテキストによる指定により行うことができるようになる。
【0109】
<案内が重なった場合の処理の仕方>
案内情報を提示する時間が重なった場合に,案内のソースが同種のものであると,例えば音声の案内が重なったような場合にハードウェア的に両方を出力できないことがある。同時に両方を出力できる場合でも,同時にたくさんの情報を提示するとユーザが混乱する恐れがある。例えば画像などを複数画面上に同時に提示すると,すべてを確認することが非常に困難になる。
【0110】
そこで,情報が重なった場合に時間で調整して処理することが必要になってくる。そのため,まず提示する案内情報に優先度を付ける。例えば,経由地点(navi)と案内地点(guide)に案内情報があるとき,「経由地点(navi)の方が案内地点(guide)より優先順位が高い」と設定する。また,同じ優先順位の案内が重なった場合には,「あとの情報を優先する」と設定する。また,「地点(point)の案内と経路(route) の案内では,地点(point)の案内の方が優先度が高い」と設定する。
【0111】
図8に,優先順位の例を示す。前の案内情報の提示期間と後から来た案内情報の提示期間とが重なる情報の関係が,navi, naviとなったとき,guide, navi となったとき,guide, guideとなったときには,「現在の案内を即刻中止して次の案内を開始する」ように優先度(優先順位)を設定する。また, navi,guide となったときには,「現在の案内期間が終了するまでに案内を出し,案内期間が終了しだい次の案内を開始する」ように設定する。
【0112】
音声や画像などによる案内のように情報出力に時間的長さがある場合には,テキスト,画像などは優先順位に従がって提示期間が短くなることもある。指定されている提示期間で出力し終わらない場合には,出力を途中で打ち切ってしまう。なお,優先順位の調整により提示期間が短くなった場合でも,音声や映像は先頭から再生して提示するようにする。
【0113】
例えば,図9に示すように,navi1(テキスト・画像案内1および音声案内1を出力)とguide2(テキスト・画像案内2および音声案内2を出力)の提示期間(duration)とが重なる場合には,図8に示す優先度の設定に従い,navi1の案内期間が終了するまでテキスト・画像案内1および音声案内1を出力し続け,案内期間が終了しだい,guideのテキスト・画像案内2および音声案内2を出力するが,音声案内1の出力時間がnavi1の提示期間を超えるときは,途中で音声案内1の出力を打ち切る。
【0114】
また,guide2(テキスト・画像案内2および音声案内2を出力)の提示期間(duration)とnavi3(テキスト・画像案内3および音声案内3を出力)が重なる場合には,図8に示す優先度の設定に従い,テキスト・画像案内2および音声案内2の案内の出力を中止し,次のテキスト・画像案内3および音声案内3の出力を開始する。なお,音声案内の出力時間が提示期間より長くなっても,次の案内の提示開始時間がこない場合には,通常長さのある案内の提示が終了するまで出力し続ける。また,経路に情報がある場合にも,優先順位を経由地点(navi-point),経由経路(navi-route),案内地点(guide-point) として設定することにより,同様に処理することができる。
【0115】
このように優先度をつけて案内情報の提示を処理すると,提示されない情報が出てくることがある。このような場合には,通常,遅れ(delay)をつけて案内情報を提示できるように調整してもよい。また,実際の案内モードまたはシミュレーションモードによっては,すべての案内情報が提示できるように,空いている時間に提示開始時間を設定して案内情報を提示したり,案内情報を時間的に分割して提示してもよい。また,例えばクリックするごとに案内情報を変えて提示するなど,ユーザ操作の指示により,提示する情報を変えてもよい。
【0116】
このように,delay, duration の調整により,案内情報を有効に提示できるようになる。すなわち,用途によって,すべての情報を提示したり,必要な情報のみを適切に提示したりする調整を実現することができる。
【0117】
<隙間(すきま)の時間の利用>
このようにして案内を処理していっても,NVMLデータに書かれている案内情報だけではすべての時間が案内で埋まらない場合が多い。そこで,案内情報が提示されていない時間(隙間の時間)を利用して,有効なサービスを実現することができる。例えば,その地点に関連する情報を予め登録しておいて,時間が空いているとわかったときに,事前の登録情報を取得して流すということも可能である。このようなしくみにより,店のCMや次の案内の予告を提示するといったことに利用でき,ここで提示された広告によって広告費を徴収するといったようなことも可能になる。
【0118】
<3次元映像の案内>
提示する案内情報が3次元映像である場合には,提示する画像の3次元空間と現在場所の位置合わせをして提示すれば,案内がわかりやすい。そのためには,以下のように指定する。
【0119】
<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"/>
このように定義することにより,3次元映像コンテンツの表示位置と向きとを地点(point)の情報および移動方向に合わせられるようにする。また提示するサイズを指定できるようにして,実際の移動距離と表示との同期がとれるようにする。すなわち,シミュレーションや実際の移動で2m進んだとき, 提示する仮想空間内では1ユニット(unit)進むとする。このとき,ちょうど同じ距離進んだところに移動したように表示する場合には,
scale = "2.0m-per-unit"
と指定する。これにより,実際に進んだ距離を仮想空間上のユニットに変換して表すことができ,同期した提示を行うことができる。同様に映像の場合にも,
scale = "1cm-per-frame"
のように1フレーム(frame)進む速度を指定して,映像の提示を同期させることが可能である。
【0120】
同期した場合の見せ方としては,例えば,ウォークスルーのモードと,一つの対象物を追視する視点移動モードとがある。町並みなどの映像を提示する場合には,図10に示すように,視点を常に前方に向けておくウォークスルーのモードによる提示方法がよく,ある特徴ある建物(タワーやお城など)を見て廻る場合には,図11に示すように,そのお城をずっと眺めながら進むという仮想空間の視点移動モードによるコントロールを行うとよい。NVMLデータでは,基本的には経由地点(navi)については,ウォークスルーモードで提示し,案内地点(guide) については,ある特定の方向を見ながら進む視点移動モードで提示する。
【0121】
〔センサ25〕
センサ25は,ある一定間隔で,人工衛星を利用したGPSや,携帯電話やPHSの基地局位置から場所を割り出す位置管理システムなどを利用して,実際の時間・場所を計測し,情報提示タイミングコントロール部10に伝達することを繰り返す。
【0122】
〔時間・場所生成処理部20〕
時間・場所生成処理部20は,状況に応じた適切な案内・シミュレーションを行うために,時間・場所データの発生をコントロールするものであり,図12に示すように,再生・早送り・スキップ・巻き戻しなど様々な動作を操作する操作インターフェース210,乗物の速度や時間ステップなどを設定する乗物速度・時間ステップ設定部220,時間・場所データを生成する時間・場所ジェネレータ200から構成される。
【0123】
時間・場所生成処理部20は,乗物速度・時間ステップ設定部220によって乗物の速度および時間ステップの情報を取得し,操作インターフェース210から入力された操作に基づいて,時間・場所ジェネレータ200により時間・場所データを生成し,情報提示タイミングコントロール部10に時間・場所データを渡す。
【0124】
具体的には,送られてくるNVMLデータから経路を読み取り,乗物速度・時間ステップ設定部220により乗物の速度および時間のステップを取得して,距離と速度の関係から所要時間を計算し,時間ステップに応じて進み幅を計算する。経路上で案内地点(guide)の案内範囲に入る(出る)地点を計算し,時間・場所データを発生させる。なお,操作インターフェース210からの要求により,時間・場所データの生成を中止したり,実行したり,早く行ったりする。
【0125】
また,この時間・場所生成処理部20は,通常シミュレーションに用いるために様々なモードを持ち,時間・場所データの発生の仕方をいろいろ変えることができる。例えば,実際の案内をそのまま縮尺するだけで案内したり,案内情報が出力される部分だけゆっくり進めたり,各案内だけを飛び飛びで提示したり(skip),すべての乗物を同じ速度で移動させたりといったように,用途に応じた使い分けをモードの変更によって行う。
【0126】
基本的な処理としては,現実時間を短縮して処理するが,案内を提示する時間・場所を飛ばさないようにコントロールするための処理も行う。時間はステップで刻むので,そのステップが大きいと時間・場所が共に大きく跳んでしまうことになり,情報提示スケジュールテーブル140に設定された案内の提示開始時間やポイントと対応する時間・場所データが生成できずに,案内が何も提示されないということにもなりうる。通常の案内提示処理では,この時間ステップは十分に短いので,案内がでないということは起きにくいが,シミュレーションの場合には高速に動かすことがあるので,案内を提示すべき時間・場所が飛び越されてしまうことがよく起きる。
【0127】
そこで,案内を提示するポイントをあらかじめ計算し,少なくともそのポイントを通るようにステップ幅を変えて,時間・場所データを生成していく。具体的には,時間ステップ幅が情報を出力するポイントを超えてしまうときには,そのステップ幅を短くして調整する。
【0128】
まず,図13(A)に示すように,経路から各地点(経由点navi)を取得する。次に,図13(B)に示すように,案内地点(guide) の範囲を表す円と経路の交点である通過点を求める。さらに,遅れ(delay) を考慮した案内を出すポイント,提示期間(duration)を考慮した案内を終了するポイントなどを計算し,案内に関係する時間・場所(通過点)は必ず発生させるようにする。
【0129】
次に,図14(A)に示すように,乗物速度や時間から計算した基本ステップに応じて進み幅を計算する。図14(B)に示すように,基本ステップが場所(通過点)を飛び越えてしまった場合には,そのステップを通過点までのステップに短縮して調整する。
【0130】
なお,案内地点(guide) の範囲を表す円の後ろの交点や遅れ(delay) で案内ポイントがずれている場合のポイントそのものの地点は,案内には影響しないので止まる必要がない。しかし,実際の案内ではこれらの節目にも止まった方が見やすいので,本例ではこういった点にも止まる設定とした。
【0131】
また,2つのタイマーにより,時間・場所データを発生させる方法を用いてもよい。この方法では,図15に示すように,一定間隔のタイマーと,予め設定した案内に基づいたイベントタイマーとを用いて,時間・場所イベントを発生させる。
【0132】
また,複数種類の乗物を利用した移動をシミュレーションする場合に,乗物間の実際の乗物速度の差は残しておきたいけれど,実際と同程度の速度差をつけてシミュレーションすると,高速な乗物の場合に提示される案内が見にくくなるようなことがある。この場合,例えば図16に示すような関数(速度フィルタ)を用いて速度を平均化する。こうすることにより,乗物速度の差を残した状態で案内が見やすいシミュレーションを行うことが可能になる。
【0133】
さらに,案内を行っている間はゆっくり進むあるいは止まるといった処理をする場合には,図17(A)に示すように,音声案内開始とともに時間・場所の進行をストップし,音声案内終了とともに,時間・場所の進行を再開させるようにしたり,図17(B)に示すように,操作インターフェース210からの再生命令により時間・場所イベントを発生させ,停止命令により中止するなど,要求に応じて時間・場所イベントを発生させるようにしてもよい。同様に,現在の案内の状態を受け取り,案内中である場合には,時間だけを進めて場所を止めておき,案内が終わったらまた動き出すようにしたり,案内の時間だけはリアルタイムと同じ時間の進むスピードにして,案内がないところは早く進めるといったことも可能になる。
【0134】
図18に,時間・場所生成処理の処理フローを示す。NVMLデータから経路を読み取ると(ステップS41),乗物の速度および時間ステップから1回に進む距離を計算する(ステップS42)。次に,経路上で案内地点(guide)の案内範囲に入る/出る地点Aを計算する(ステップS43)。さらに,遅れを計算した案内を提示する提示開始時間の絶対時間Bを計算する(ステップS44)。
【0135】
以上の計算結果をもとに,次のステップで到達する場所か時間が,地点Aもしくは時間Bを超えるかどうかを判断し(ステップS45),超える場合には,次のステップを地点Aまで,もしくは時間Bまでのステップに変更して,時間・場所イベントの時間・場所データを生成する(ステップS46)。超えない場合には,通常の基本ステップで時間・場所データを生成する(ステップS47)。
【0136】
以上のように,時間・場所ジェネレータ200で時間・場所の発生をコントロールすることにより,様々な案内,シミュレーションを実現することができる。さらに,情報提示タイミングコントロール部10では,それが仮想の時間・場所であるか,実際の時間・場所であるかに関係なしに,受け取った時間と場所の情報より,それに合う案内情報を出すだけでよく,制御が簡単にできるようになる。
【0137】
<操作インターフェース210>
操作インターフェース210は,例えば,オーディオと同じような操作インターフェースで利用できるようにする。図19に示す操作インターフェースの例では,右から順に,一時停止210,スキップ(次の地点に飛ぶ)211,早送り212,再生213,逆再生214,逆早送り215,逆スキップ216,停止217の各操作を行うためのボタンを持つ。これらのボタンが押されると,その指示が時間・場所ジェネレータ200にわたり,その指示に応じた時間・場所データの発生が行われる。早送り212は乗物の速度を何倍かにする。このとき,前述したように,案内の提示時間も同様に短くしたり,案内情報を提示している最中だけは通常のスピードに戻るようにしたりといったことをモードで切り替えられるようにしてもよい。スキップ211は,次の地点に飛ぶ処理を表し,案内中でも案内を中断して次の地点へ飛ぶようにする。なお,案内情報の提示を終了してから飛ぶような設定にしてもよい。逆再生214,逆早送り215,逆スキップ216は経路を逆に再生する機能である。この指示により処理される場合には,経路の案内の整合性を取るため,NVMLデータに書かれているテキスト(text)内の“左右”や“前後”の記述を,自動的に“右左”,“後前”に変換して案内を提示する。
【0138】
このような操作の方法以外に,直接地点に対して働きかけて情報を見る方法がある。メニューバーのプルダウンメニューやポップアップウインドウ等により表示させる地図コントロールやツリー形式のコントロールを使って地点に直接アクセス可能にすることができる。
【0139】
例えば図20(A)に示すようなポップアップウインドウ型や,図20(B)に示すようなプルダウンメニュー型のウインドウに経由点を表示して,表示された経由点を選ぶとその地点に飛ぶようにしてもよい。これにより,図19に示す操作インターフェース例のスキップの選択と同じ効果が得られる。メニューに入れる項目は,図20(A)のように抽象的な順番を示す表記(「経由点1,経由点2,…」)にしてもよいし,図20(B)のようにNVMLデータから値を読み取って,地点の名前(「aaaaa,bbbbb,…」)を直接表示するものにしてもよい。このようなメニューは,あるボタンをクリックした時に表示させるようにしたり,メニューバーなどから辿って表示させるようにすることもできる。ユーザは,必要なときにこれらのメニューを利用し,必要な選択操作を行う。
【0140】
同様に図21に示すように,カーナビゲーションシステムにあるような8ボタンメニュー220に,地点の情報を埋め込んで表示することも可能である。このような8ボタンメニュー220は,ボタンと画面に表示されるボタンの機能で構成され,ボタンを押せばその画面に表示している内容の処理が行われる。この場合には,表示された場所に移動し,案内があれば案内を見ることができる。例えば図21(A)に示すようにメニューの案内全体に対応するのボタンが押された場合には,地図上に経路の全体を表示する。図21(B)に示すように経由点6に対応するボタンが押された場合には,経由点6の周囲を拡大して表示して経由点6の案内を提示する。なお,8ボタンメニュー220のような操作インターフェース210の詳細については,特願平10−200237号(特開2000−029595号公報)「メニューインタフェースを有する電子処理装置」を参照されたい。
【0141】
これらの地点にもとづいた操作の操作インターフェース210は,動的に時間や場所を発生させる時間・場所ジェネレータ200を通さずに,直接,情報提示方法コントロール部30にその地点の情報提示命令を出して,各種の案内ダイアログを通じて案内を提示するようにしてもよい。
【0142】
<乗物速度・時間ステップ設定部220>
乗物速度・時間ステップ設定部220では,車や徒歩など交通手段別に速度を設定する。また同じ乗物であっても,一般道を走っている時,高速道路を走っている時などで速度を変えるようにすることも可能である。さらに,実際の交通情報等を使ってよりリアルな速度を利用してシミュレーションを行うことも可能である。また,シミュレーションにおいて実際と同じ速度で案内を見ようとすると,非常に時間がかかってしまうために,実際の5分をシミュレーションでの1秒にするというように,時間ステップを任意に設定できるようにする。これにより,短時間で全体の案内を体験できるようになる。
【0143】
〔情報提示方法コントロール部30〕
情報提示方法コントロール部30は,情報提示タイミングコントロール部10から受け取った,情報の提示開始/終了の合図をもとに,ユーザの利用している端末の種類(CPUの処理能力,画面の大きさなど)を考慮し,どのような表示手段(ビューシステム)を使って,どの情報をどの場所にどのように表示するかを決定し,ツリー形式提示コントロール部61,地図形式提示コントロール部62,テキスト形式コントロール部63,案内ダイアログコントロール部64に提示開始命令を出す。
【0144】
例えば,カーナビゲーションシステムにおいて本実施の形態を適用する場合には,地図形式による案内情報の出力を基本とし,必要に応じて案内ダイアログを出力する。また,案内の出し方も,走行中は危険なので音声情報のみを出力し,停止している間はテキストや画像のような案内情報も出力するといった調整を行うようにしてもよい。携帯電話等に本実施の形態を適用する場合には,携帯電話等の提示画面が小さいので,テキストもしくは音声のみで案内を行うようにする。
【0145】
どこにどのような形式の案内情報を出すかを,ある決まったフォーマットにより制御することも可能である。例えば各端末ごとに,以下のような記述情報を持つファイルを用意しておく。
【0146】
file:ex1.
地点:アイコン
経路:経路計算
案内情報:吹き出し
コース全体に対する情報:左上ウインドウ
file:ex2.
地点:テキストエリアに表示
経路:直線
案内情報:pop-up
情報提示方法コントロール部30は,このファイルの内容を読み込み,その指示に従って,案内情報を適切な方法で提示する。上記の記述と同様にして,各機器がもっているAPI(Application Programming Interface)を直接記述し,それを利用して処理することも可能である。
【0147】
〔ツリー形式提示コントロール部61〕
ツリー形式提示コントロール部61は,図22に示すように,NVMLデータを受け取ると,ツリー表示エリア230に,経路の順番どおりにコース概要,地点情報,案内情報等をツリー形式で並べて表示する。下位階層ほど詳細な情報が表示されるようになっている。各階層はクリックなどにより開閉することができ,詳細レベルを変更して情報を表示させることができる。これにより,必要のない詳細情報表示を隠すことができ,一覧性を増すことができる。
【0148】
それぞれの情報にはリンクが張られており,このリンクによって,それぞれの情報を見たり,編集したりするためのダイアログを提示することができるようになっている。また,それぞれの情報に張られたリンクにより,地図形式提示コントロール部62と連携して,選択した地点を中心にした地図を表示することができるようになっている。
【0149】
また,ツリー表示エリア230に表示された情報のドラッグにより,ブロックごとの移動やコピーを容易に行うことができる編集機能が設けられている。これにより,地点情報を丸ごと入れ替えたり,案内情報の部分だけをコピーしたりといった処理が簡単にできるようになる。また,経由地点 (navi) の場所を入れ替えることにより,自動的に経由地点の経由順も入れ替わるようにして,経由地点の通る順番を変えるなどの作業を簡単に行えるようにする。また,ツリー表示エリア230上で,地図情報等を編集した後に保存指示を受けると,NVMLデータで書き出して保存する。NVMLデータを解読して図22に示すようにツリー表示エリア230に表示する処理,またツリー表示エリア230に表示された情報を,NVMLデータに変換する処理については詳しく説明するまでもなく,上述したNVMLデータの性質から容易に実施可能であることは明らかである。
【0150】
また,詳細情報を見やすくするため,提示処理実行中は,ツリー表示エリア230では,移動している位置に合わせて対応する地点や経路の情報の下位階層を開いて詳細情報まで見せ,他の地点のところは閉じたままにする表示を行って,自動的に見やすい表示にする。また,案内の提示期間に合わせてその案内の部分の詳細情報を開くようにしてもよい。例えば図23に示すように,「ポイント4」の案内範囲を通過中は,ポイント4の下位階層の詳細情報を表示して,通過後はこれらの詳細情報の表示を閉じるようにする。同様に他の編集手段と連携して,その編集中の部分の詳細を同期して開くようにしてもよい。
【0151】
〔地図形式提示コントロール部62〕
図24は,地図形式提示コントロール部62による地図表示の例を示している。地図形式提示コントロール部62は,NVMLデータを受け取ると,地図上にNVMLデータを割り付けて,例えば図24に示すように,地図表示エリア240に表示する。経由地点(navi)に対応する場所(緯度,経度)には,白色のピン型アイコン241を表示する。なお,経由の順番がわかりやすいように番号のついたアイコンにするとよい。そのアイコンの下にその地点の名前を表記してもよい。
【0152】
経路がある場合には,目立つように,指定した経路を太く色を濃くして描画する。特に経路の指定がない場合には,図24に示すように,経由地点のアイコン間を順番に結んだ直線を描画する。
【0153】
案内地点(guide) の場合には,中心にその詳細情報とリンクするためのピン型アイコン242を表示し,さらにその情報が影響する範囲 (area) を円などの図形で表示して,中心のピン型アイコン242を囲むようにする。例えば,案内地点「東京タワー」の半径400 mの範囲に入ったら情報を出すといった場合(<point area="400m">) には,図24に示すように,東京タワーを中心に半径400mの円を地図上に表示する。このアイコンに案内情報をリンクしておき,クリックするとその案内の情報が各種案内ダイアログを通じて出力されるようにする。
【0154】
経路に関して特に指定がなく,交通手段(means) だけがNVMLデータに記述されている場合には,NVMLデータの"means" タグを見て,車なら通常の経路探索を行い,電車なら電車の路線図検索を行い,徒歩なら徒歩用の経路検索を行う,というように手段に応じて経路探索の処理を使い分ける。経路探索ができたならばその経路を表示し,できなければ経由地点を直線で結んで表示する。
【0155】
同一の場所に対して複数の地点が重複して設定されている場合には,地点を示すアイコンが重なって見えにくくなってしまうので,アイコンをずらして表示する。例えば図25に示すように,地点を示すのにピン型のアイコンを用いて,それぞれ違う方向にピン型アイコンを伸ばして表示することで,ある程度同じ場所に重ねたままで表示することができる。また,表示する経路やアイコンの色を変えることで,複数のNVMLデータを重ねて表示することもできる。これにより,互いのコースの位置関係が一目でわかるようになる。
【0156】
案内実行中は現在位置の移動に合わせて表示する地図を追随させて,現在地を示すアイコン(例えば乗物型アイコン)を用いて,常に自分の現在地を中心とした地図を地図表示エリア240に表示する。または,乗物型アイコンが地図画面の端まで達したときに,次の地図に切り替えて表示するなど,地図情報へのアクセススピードに応じて地図の書換え描画処理が少ない表示方法を選ぶこともできる。また,地図の縮尺を乗物の速度に応じて自動的に変えて描画するようにしてもよい。地図データを高速に読み込むためには先読みやあらかじめ大きめの範囲でデータを取得しておくなどの様々な工夫が必要である。
【0157】
また,NVMLデータの案内の内容によっては乗物型アイコンをツアーコンダクタ型アイコンなど,適宜変更して表示する。これにより,あたかもツアーの案内を受けているような印象をユーザに与えることができる。
【0158】
入力手段としては,緯度・経路などの一般的に人が手で直接入力することが難しい値を,地図上のある地点をクリックするなどの方法により入力できるようにする。これにより,簡単にまた直感的にNVMLデータの地点情報を入力することができるようになる。この手順は,まず地図上の点をクリックすると,図26(A)に示すように,経由地点か案内地点かを選択するダイアログウインドウ300を表示する。ユーザがどちらか選択すると,図26(B)に示すように,経由地点または案内地点の緯度・経度を自動的に取得して,地点の他の情報の入力を促すダイアログウインドウ310,320を表示する。ユーザは,ダイアログウインドウ310,320上で地点についての未設定の情報やその地点に関連付ける案内情報などを入力できる。なお,地点・経路データベースアクセス部70を用いて,その地点の名前,カテゴリ,住所,郵便番号など,その他の情報も自動的に取得して表示するようにしてもよい。ダイアログウインドウ310,320上で「OK」をクリックすると,その地点についての地点情報,案内情報が登録され,地図上にはピン型アイコンが表示される。このような操作の処理を繰り返して,一連の経路案内データを作成することができる。
【0159】
他にもユーザが地図上で経由地点や案内地点をドラッグすることで,指定された地点を変更する処理も可能である。このように,ユーザは,絵を描く感覚で地点などの情報を入力するだけで,NVMLデータを作成することができる。
【0160】
地図形式提示コントロール部62では,地図データを画像として取得してきて,その上に位置を合わせてNVMLデータを表示しているだけであるので,表示する地図の部分が,一般の絵であっても同様な処理をすることができる。案内用の地図は,大きさや長さなどの縮尺が正確でないデフォルメされた地図で表される場合も多い。このような場合には,NVMLデータの緯度・経度の部分を座標表現に変えて,各地点となるポイントをクリックしてNVMLデータを作成し,これを実行すれば同様な案内が実現できる。このように,背景となる絵の情報とNVMLデータのアイコンとの組合せにより,一種のアニメーション作成手段にもなりうる。
【0161】
〔テキスト形式コントロール部63〕
テキスト形式コントロール部63は,NVMLデータをテキストで入出力するときの制御を統合的に行う。
【0162】
まず,NVMLデータそのものを扱う場合,ユーザが入力するときには,自由に記述できてしまうので,文法通りであるか,または,NVMLの仕様に合致しているかどうかをチェックする必要がある。さらに,その後に案内データ評価部90で実現可能性や妥当性を評価する。他のモジュールや装置で作成したNVMLデータをテキストデータとして書き出す場合には,インデントを入れて見やすくする必要がある。テキスト形式コントロール部63は,これらの処理機能を持つ。
【0163】
次に,テキストで見やすい形に変換して案内を提示するためのコントロールを行う。これは端末によっては,テキストデータしか表示できなかったり,通信の容量的にテキストデータ以外は送信できない場合などに利用する。例えば携帯電話に送信する場合には,携帯電話の表示画面サイズに収まるようにテキストを自動的に変換して少なくしたり,地図をテキストで記述して送ったりする。また,印刷物として出力する場合にも,テキストデータを印刷物として見やすい形式に変換して出力する。
【0164】
〔案内ダイアログコントロール部64〕
案内ダイアログコントロール部64は,概要情報,地点情報,経路情報,テキストや画像による案内情報などをそれぞれ出力し,もしくは編集するためのダイアログウインドウをコントロールする。このダイアログウインドウによって,ユーザは,それぞれの情報に関するの詳細な値の閲覧や編集が可能である。
【0165】
案内ダイアログコントロール部64は,情報提示方法コントロール部30の指示により動的に制御されたり,閲覧や編集を目的に他のアプリケーションから起動されたりする。地点情報をベースに他のツリー形式提示コントロール部61や地図形式提示コントロール部62と連動して動作する。なお,音声による案内情報では,その地方に合った方言を利用するなどといった工夫もできる。
【0166】
〔データ通信コントロール部40〕
データ通信コントロール部40は,NVMLデータの通信を行う。NVMLデータ全体の送受信を行うこともあれば,情報提示方法コントロール部30の要請により,必要に応じて画像や音声の案内情報を通信を介して外部から取得する処理を行うこともある。また,地図などの付随情報や案内提示の隙間に流すCMなどの情報を送受信することもある。
【0167】
データ転送を効率的に行うために,NVMLデータをすべて最初にダウンロードするのではなく,そのデータが必要になってから,もしくは必要になりそうになってから,画像などの大きなデータを取得するような処理機能もある。
【0168】
〔案内データアクセス部50〕
案内データアクセス部50は,案内データのアクセスを容易にするための様々なAPIを提供する。地点の追加や削除や順番の入れ替えなどのための簡単なコマンドが用意されており,それにより,地点の追加/削除や順番の入替え処理や,案内地点と経由地点を分離して取り扱う処理や,案内地点と経由地点それぞれの順番やトータルでの順番等の管理などを行うことができる。また,新規に地点を追加するときに経路の最後に追加するだけでなく,経路の総距離が短くなるような位置を算出して追加する処理機能を持つ。
【0169】
〔地点・経路データベースアクセス部70〕
地点・経路データベースアクセス部70は,地点データベースから案内に必要な地点情報を自動的に取り出す。また,観光,顧客,お店,公共施設,歴史,社内データなど様々なデータベースから地点に付随する情報や案内情報を取り出す。ツリー形式提示コントロール部61や地図形式提示コントロール部62やテキスト形式コントロール部63や案内ダイアログコントロール部64や案内データアクセス部50により,地点,検索範囲,検索条件などの情報を得て,データベースから必要な情報を取得し,要求元へ情報を返す。また,NVMLデータに含まれる複数のポイントや経路に対して一遍にまとめて検索することもできる。
【0170】
地点情報および地点に付随する情報のNVMLデータへの取り込み方法としては,特願平11−113191号「案内情報提示装置,案内情報提示処理方法,案内情報提示プログラムを記録した記録媒体,案内用スクリプトの記録媒体,案内用スクリプト生成装置,案内用スクリプトを用いた運行管理装置,方法およびそのプログラム記録媒体,案内用スクリプトを用いた移動時の時間調整装置,方法およびそのプログラム記録媒体,案内プラン作成装置,方法およびそのプログラム記録媒体,案内情報提供装置,方法およびそのプログラム記録媒体」の「案内プラン作成装置」に関する技術を利用してもよい。
【0171】
〔案内自動作成処理部80〕
まず,手動によるNVMLデータ作成処理について,図27に従って説明する。表示した地図上で新規作成が選択されると(ステップS51),表示した地図上の点のダブルクリックにより地点を指定させる(ステップS52)。図26(A)に示すようなダイアログウインドウにより,経由地点,案内地点を選択させ(ステップS53),この地点についての地点情報を地点・経路データベースアクセス部70を介して入力する(ステップS54)。さらに案内情報の入力も行う(ステップS55)。必要な全ての地点について入力されたかどうかを判定し(ステップS56),必要な全ての地点について入力されるまで,ステップS52〜S55を繰り返す。全ての地点が入力済みになったなら,既知の経路探索技術を用いて,入力された地点を原則として最短距離で結ぶルートを自動作成し(ステップS57),NVMLデータを生成して出力する(ステップS58)。
【0172】
案内自動作成処理部80は,出発地点と目的地点の2点が送られてきた場合に,その2点の間のルートについて案内情報を自動的に作成する。このときの処理を図28を用いて説明する。まず,図29に示すような地図表示エリア240に提示した地図上で出発地点と目的地点の2点が指定されると(ステップS61),指定された2点間の経路計算を行い地点列を得る(ステップS62)。通常,経路計算は,図30に示すようなネットワーク地図を利用してダイクストラ法で検索して求める。そうすると,複数の参照点(地点)で折れ曲がった経路ができ上がる。
【0173】
この経路の各地点(通過点)について,その地点へ入る方向と出る方向を比較して(ステップS63),この方向差をもとに,曲がる角度を求める(ステップS64)。その地点が大きく曲がるところかどうかを判定して(ステップS65),案内を出さないと道に迷ってしまう程度に大きく曲がる地点である場合には,「右に曲がって下さい。」,「左に曲がって下さい。」,「Uターンして下さい。」といったような案内情報を作成してその地点に付与する(ステップS66)。
【0174】
例えば,図31に示すような曲がる方向の矢印410の画像を案内情報として付ける。これらの情報を提示するタイミングである遅れ(delay) を"-2min" ぐらいに設定すると,この案内を実行したときに,曲がる2分前に「左に曲がってください」という音声やテキストの案内と曲がる方向の矢印の画像を出すことができるようになる。さらに,図32に示すような十字路,T字路,Y字路といった交差点プロトタイプ420の画像と先の矢印410の画像を合成して付与すると,よりわかりやすい案内画像を作成することができる。
【0175】
また,地点・経路データベースアクセス部70により地点や建物等の付随情報に関する地物データベース430が利用できる場合には,地物データベース430から得たランドマーク情報や交通標識や道路の付随情報(交差点名や信号の有無など)を上記の画像に添付することで,よりわかりやすい画像になる。なお,地物データベース430から施設の写真などを取り出して案内情報として利用してもよいことは言うまでもない。このようにして案内情報を作成することで,「コンビニエンスストアが角にある信号のある交差点を右に曲がってください。」といったような案内(テキスト,音声)をすることができる。これらの情報をNVMLデータとして出力する(ステップS67)。
【0176】
なお,地図上で指定する地点が2点以上になった場合でも,すべての2点間に関して同様な処理をすればよく,前述した出発地と目的地の2点間の処理の場合と全く同じである。
【0177】
このような基本要素の合成で案内画像を作成する方法を,通信ネットワークを用いた案内で利用する場合には,図33に示すように,案内情報を提示する端末440側では,画像情報の素材として,矢印410の画像情報と交差点プロトタイプ420の情報を持っていれば,センタ450側では,曲がる方向と交差点タイプと,必要であれば地物情報のIDを送るだけで,端末440側でこれらを合成して案内画像を作成することができ,ネットワークで伝送する情報量を抑えることができる。地物情報のIDは,例えばコンビニエンスストアやガソリンスタンドなどの目印となるランドマーク435に関する情報を含む。
【0178】
図34に,地図表示エリア240に求めた経路を提示し,ツリー表示エリア230に,経由地点(経由地点)の地点情報および案内情報を提示した場合の表示例を示す。
【0179】
〔案内データ評価部90〕
案内データ評価部90は,経路案内データについて,それが適したものであるかどうかを判断し,場合によってはデータの修正や補完を行う。図35に示すように,まず,NVMLデータを取得すると(ステップS71),NVMLの仕様に合っているかどうかの文法をチェックする(ステップS72)。例えば,緯度・経度の両方を指定してあるかどうか,電話番号,FAX,E−mailアドレス,URL,測地系の表記が合っているかどうか,乗物の表記の仕方があっているかどうか,案内を実行するための属性の表記があっているかどうか(例えば,guide では delay属性にマイナス値は指定できない)などをチェックする。
【0180】
次に実現可能性をチェックする(ステップS73)。例えば,時間と距離の関係から時間内に廻れるコースになっているかどうか,道路ネットワーク情報から通行できないところを通ろうとしていないかどうか,地理情報システムを利用して存在しないような地点を指定していないかどうかなどをチェックする。
【0181】
次に妥当性をチェックする(ステップS74)。たとえ実現可能であっても,異常に遠回りしていたり,案内の間が開きすぎていたりしているデータは,妥当なデータとはいえない。また,案内データが重なってしまい表示できない場所では,有効な案内情報にならない。そこで,評価関数を利用してそのデータが妥当であるかを判断し,必要に応じて代替案などを出力する(ステップS75)。
【0182】
このような経路案内データの修正の必要性は,渋滞や工事や事故などの道路の状況や天候などによっても変化するので,リアルタイムに修正する必要がある場合がある。このような場合には,リアルタイムに実際の案内コースや案内内容を修正して,情報提示方法コントロール部30や案内ダイアログコントロール部64にも反映させる。また,代替案は,例えば時間的に遅れる可能性が大きい経路の一部について,車での移動を電車に変更するとか,高速道路の利用を進めるとかいった案を,地図情報データベースを参照して作成し,ユーザに提案する。
【0183】
〔各手段の組み合わせによるアプリケーション〕
上記で説明してきた本実施の形態を実現するための各手段を部品化し,それらの部品を組み合せることにより,様々な機能をもった案内データを処理するツールを作成することができる。ここで部品化とは,それぞれを別々のプログラムモジュールとして用意したり,また,それぞれをサブルーチン形式や関数形式で呼び出し可能なモジュールとして用意することを意味する。オブジェクト指向プログラミングを用いるシステムでは,オブジェクトとして用意してもよい。
【0184】
図36は,図1に示す各モジュールを部品として組み合わせて,NVMLエディタ500,NVMLプレーヤ600を作成する例を示している。例えば図36に示すように,ツリー形式提示コントロール部61および地図形式提示コントロール部62のモジュールと,適当な操作メニュー65等とを組み合せると,簡単なNVMLデータの編集ツール(NVMLエディタ500)になり,地図形式提示コントロール部62,案内ダイアログコントロール部64等を組み合わせると,NVMLプレーヤ600になる。
【0185】
図37は,編集ツールであるNVMLエディタ500の表示画面の例を示す。編集ツールであるNVMLエディタ500の編集画面は,操作メニュー1101,地図操作アイコン1102,地図表示エリア1103,ツリー表示エリア1104からなる。
【0186】
さらに,図38に示すように,NVMLエディタ500として使用するモジュールに,観光・顧客・お店・公共施設・歴史・社内データといったような各種データベース510と地点・経路データベースアクセス部70を取り付けたり,また,生成・編集した経路案内データの実現可能性評価や妥当性評価を行う案内データ評価部90を付加したり,広告サーバ520から情報を取り入れるモジュールを付加したり,他のユーザとのルート調整するルート調整部530や,案内データの自動作成を行う案内自動作成処理部80を付加することによって,NVMLデータ作成アプリケーション700を作成することができる。
【0187】
図39に,NVMLプレーヤ600のブラウザ画面の例を示す。NVMLプレーヤ600は,時間・場所生成処理部20,情報提示タイミングコントロール部10,情報提示方法コントロール部30を裏で実行しながら,インターフェースとして,地図形式提示コントロール部62,案内ダイアログコントロール部64などを用いて,案内のシミュレーションを行う。ブラウザ画面には,例えば,情報表示エリア1112,地図表示エリア1113,緯度・経度表示エリア1114,テキスト表示エリア1115,画像表示エリア1116,地図移動ボタン1121,縮尺変更ボタン1122,各種設定ボタン1123,シミュレーション開始ボタン1124,早送りボタン1125,終了ボタン1126,リセットボタン1127等が設けられている。
【0188】
さらに,図40に示すように,パーソナルコンピュータ(PC)810や携帯情報端末(PDA)820や携帯電話・PHS830やカーナビゲーションシステム840など,各種端末の処理能力に応じて必要な手段を組み合わせることにより,NVMLデータを利用した案内を実行することができるようになる。
【0189】
NVML処理エンジン811を持つPC810では,外部の地図サーバ850から地図を,NVMLコンテンツサーバ860からNVMLデータを取得して案内を実行する。なお,PC810に地図システム812を備える場合には,NVMLデータを取得すればよく,地図サーバ850から地図を得る必要はない。また,PC810にシミュレータエンジン813を備える場合には,シミュレーションモードで案内を実行することもできる。
【0190】
PDA820では,自己位置測定機能821により測定した自己の位置をNVML処理エンジンサーバ870に渡し,これにより,NVML処理エンジンサーバ870は,NVMLコンテンツサーバ860からNVMLデータを得て,PDA820へ案内情報を送り,PDA820は,受信した案内情報と,必要に応じて地図サーバ850から得た地図をもとに,案内を実行する。
【0191】
携帯電話・PHS830では,携帯電話・PHS位置管理システム880からの位置情報をもとに,NVML処理エンジンサーバ870から案内情報を得て案内を実行する。
【0192】
カーナビゲーションシステム840では,NVML処理エンジン841,地図システム843,自己位置測定機能842を備えることにより,NVMLコンテンツサーバ860から直接NVMLデータを得て,案内を実行する。
【0193】
このように,本実施の形態を実現する各手段を部品化することで,種々の機能を置き換えやすくし,誰でも容易に開発できるようになり,また,他システムに組み込みやすくなる。
【0194】
なお,本実施の形態に係る装置の各手段は,部品化したプログラムとして実現することができる。図41に示すように,各手段は相互に,または,ユーザプログラムと,APIやメッセージ通信手段によるメッセージの受け渡しで接続する。図41において,NVMLデータアクセス部1201は,図1に示す案内データアクセス部50に,情報提示方法コントローラ1202は情報提示方法コントロール部30に,情報提示タイミングコントローラ1203は情報提示タイミングコントロール部10に,時間・場所ジェネレータ1204は時間・場所生成処理部20に,地図データベースアクセスコントローラ1205は地点・経路データベースアクセス部70に,自動ルート作成モジュール1206は案内自動作成処理部80に,NVML評価モジュール1207は案内データ評価部90に,それぞれ相当する。
【0195】
NVMLデータアクセス部1201の基本機能は,NVMLデータへのアクセス(read,write),NVMLデータの整合性のチェック,ポイント操作,型変換(緯度・経度,文字列,数値など)である。これによって,NVMLデータの取り扱いが容易になる。
【0196】
時間・場所ジェネレータ1204の基本機能は,NVMLデータ,シミュレーションセットアップデータから時間・場所を発生することである。単純に刻み幅で時間・場所を発生するステップタイマーと各ポイントへの到着や案内の出るタイミングに合わせて時間・場所を発生するイベントタイマーを持つ。これにより,NVMLデータを利用して移動体のシミュレーションが可能になる。
【0197】
情報提示タイミングコントローラ1203の基本機能は,info属性(delay, duration, times), point属性(area) を解釈し,案内の開始時間・終了時間を提示することである。また,経由地点(navi), 案内地点(guide) や,地点 (point), 経路(route)の優先順位に応じて案内を出す。また,到着時間,地点通過情報の管理,案内提示スケジュールのための各種テーブルの管理を行う。これによって,NVML案内データを提示するタイミングをコントロールし,案内データの管理を簡単に実現することができる。
【0198】
情報提示方法コントローラ1202の基本機能は,ビューシステム(地図,ツリー,ダイアログなど)の選択と,それらを配置する位置やサイズを管理すること,プラットホーム(PC,カーナビゲーションシステム,携帯電話,テレビ,PDAなど)を認識して必要なコンポーネント,表示サイズを設定することである。これによって,表示するサイズや位置などをすべて管理することで,NVMLデータの処理は,表示のことを意識せずに設計できるようになる。
【0199】
また,地図形式提示コントローラ1233は地図形式提示コントロール部62に,ツリー形式提示コントローラ1234はツリー形式提示コントロール部61に,テキストビュー1213はテキスト形式コントロール部63に,案内地点ダイアログ1221,経由地点ダイアログ1222,経由ダイアログ1223,案内情報提示ダイアログ1224,概要ダイアログ1225,備考ダイアログ1226は,案内ダイアログコントロール部64に,NVML通信コントローラ1214,印刷モジュール1215は,データ通信コントロール部40に,それぞれ相当する。
【0200】
地図形式提示コントローラ1233の基本機能は,地図上にNVMLデータを表現すること,地図上のポイントの操作でNVMLデータを修正することである。これによって,地図上にNVMLデータを表示することができ,位置関係がわかりやすくなる。また,NVMLデータのうち,緯度・経度といった地理的データの入力が容易になる。
【0201】
ツリー形式提示コントローラ1234の基本機能は,ツリー上にNVMLデータを表現すること,ツリー上の操作でNVMLデータを編集することである。これよって,地点の入れ替えなどをGUI(Graphical User Interface)で行うことができ,便利になる。また,入れ子構造の整理によって編集しやすくなる。
【0202】
これらの各手段は,コンピュータが読み取り可能な可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができる。
【0203】
図41に示す部品化された各モジュールを組み合わせることにより,各種のアプリケーションプログラムを実現することができる。図42は,そのアプリケーションプログラムの実現例を示す。
【0204】
図42(A)は,案内のシミュレーションなどを行うNVMLプレーヤの実現例を示している。NVMLプレーヤは,NVMLデータアクセス部1201,時間・場所ジェネレータ1204,情報提示タイミングコントローラ1203,情報提示方法コントローラ1202,地図形式提示コントローラ1233,各種情報表示ダイアログ1300の各モジュールを,図42(A)に示すように組み合わせることにより実現することができる。
【0205】
図42(B)は,実際の経路案内を行うナビゲーションシステムの実現例を示している。ナビゲーションシステムは,NVMLデータアクセス部1201,場所や時間のセンサドライバモジュール1310,情報提示タイミングコントローラ1203,情報提示方法コントローラ1202,地図形式提示コントローラ1233,各種情報表示ダイアログ1300のモジュールを,図42(B)に示すように組み合わせることにより実現することができる。
【0206】
図42(C)は,NVMLデータを作成・編集するNVMLエディタの実現例を示している。NVMLエディタは,NVMLデータアクセス部1201,地図形式提示コントローラ1233,ツリー形式提示コントローラ1234,各種情報表示ダイアログ1300のモジュールを,図42(C)に示すように組み合わせることにより実現することができる。
【0207】
以下に,図24に示す経路のためのNVMLデータの例を示す。
<?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> デックス東京ビーチからFJテレビに向かいましょう。 </voice>
<image src="../image/18-decks-tokyo-beach-01-P2170037.jpg"/>
</info>
</navi>
<navi>
<route>
<means> foot </means>
</route>
</navi>
<navi>
<point>
<name> FJテレビ </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> FJテレビを見学しましょう。 </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>
以上のNVMLデータで使用する親子関係等のタグの定義は,次のようなDTD(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>
このNVMLデータを実行させると,"../image /13-rainbow-bridge-west-01-P2170022.jpg"のファイルに格納された画像が表示され,「レインボータウン散策コースへようこそ!」のメッセージがテキストおよび音声で出力される。出発点の東京駅では,"../image /01-tokyo-station-01-Pic00001.jpg"のファイルに格納された東京駅の画像が表示され,「東京駅を出発してレインボータウンを散策します。」のメッセージがテキストおよび音声で出力される。
【0208】
また,地図表示エリアには,東京駅から車で一般道路を通り,西銀座インターから首都高速に入り,汐留IC,浜崎JC等を経由してレインボーブリッジへ向かうルート案内が表示される。
【0209】
東京駅を出発し,西銀座インターの地点に来ると,その付近の画像とともに「「西銀座インターから首都高速に入ります。」のメッセージがテキストおよび音声で出力される。その後,有楽町マレオンを中心とした半径500m以内の範囲に入ると,"../image/03-sukiyabashi-01-P2170008.jpg"/> のファイルに格納された画像が表示され,「お買物は有楽町マレオンでどうぞ。」というテキスト表示とともに,「お買物はユウラクチョウ・マレオンでどうぞ。」という音声による案内情報が出力される。以下,同様に車の進行とともに案内情報が出力されていくことになる。
【図面の簡単な説明】
【0210】
【図1】本実施の形態のシステム構成例を示す図である。
【図2】情報提示タイミングコントロール部の構成例を示す図である。
【図3】案内の事前準備処理の処理フロー図である。
【図4】案内提示処理の処理フロー図である。
【図5】案内提示終了処理の処理フロー図である。
【図6】到着時間予測の修正を説明するための図である。
【図7】案内提示のタイミングを説明するための図である。
【図8】案内の提示が重なった場合の優先度の設定の例を示す図である。
【図9】案内の提示が重なった場合の提示期間の例を示す図である。
【図10】3次元映像による案内の場合のウォークスルー・モードを説明するための図である。
【図11】3次元映像による案内の場合の視点移動モードを説明するための図である。
【図12】時間・場所生成処理部の構成例を示す図である。
【図13】地点および通過点の取得を説明するための図である。
【図14】基本ステップの調整を説明するための図である。
【図15】2つのタイマーを用いた時間・場所イベント発生を説明する図である。
【図16】速度調整のための速度フィルタ(関数)の例を示す図である。
【図17】時間・場所イベント発生による案内提示開始/停止の動作例を示す図である。
【図18】時間・場所生成処理の処理フロー図である。
【図19】操作インターフェースの例を示す図である。
【図20】操作インターフェースの例を示す図である。
【図21】操作インターフェースの例を示す図である。
【図22】ツリー形式による案内提示の例を示す図である。
【図23】ツリー形式による案内提示の例を示す図である。
【図24】地図形式による案内提示の例を示す図である。
【図25】ピン型アイコンの表示例を示す図である。
【図26】地点を追加する場合の案内ダイアログの表示例を示す図である。
【図27】NVMLデータ作成処理の処理フロー図である。
【図28】案内自動作成処理の処理フロー図である。
【図29】案内自動作成処理を説明するための図である。
【図30】道路ネットワークの例を示す図である。
【図31】案内情報の作成処理を説明するための図である。
【図32】案内情報の作成処理を説明するための図である。
【図33】案内情報の作成処理を説明するための図である。
【図34】自動作成された案内の例を示す図である。
【図35】案内データ評価処理の処理フロー図である。
【図36】部品化した各手段の組合せの例を示す図である。
【図37】NVMLエディタの表示画面例を示す図である。
【図38】NVMLデータ作成アプリケーションの例を示す図である。
【図39】NVMLプレーヤのブラウザ画面の例を示す図である。
【図40】本実施の形態の適用例を示す図である。
【図41】本実施の形態を実行する手段の関係を示す図である。
【図42】アプリケーションプログラムの実現例を示す図である。
【符号の説明】
【0211】
10 情報提示タイミングコントロール部
20 時間・場所生成処理部
25 センサ
30 情報提示方法コントロール部
40 データ通信コントロール部
50 案内データアクセス部
61 ツリー形式提示コントロール部
62 地図形式提示コントロール部
63 テキスト形式コントロール部
64 案内ダイアログコントロール部
70 地点・経路データベースアクセス部
80 案内自動作成処理部
90 案内データ評価部

【特許請求の範囲】
【請求項1】
地図上に説明情報を提示する情報提供方法であって,
案内経路を地図形式でユーザに提示する過程と,
前記地図形式の提示において案内経路における経由地点もしくは案内地点またはその双方を,ピン型のアイコンで表示する過程と,
複数のピン型のアイコンが重なる場合に,ピン型のアイコンの方向を変えることにより,重ならないように表示する過程とを有する
ことを特徴とする情報提供方法。
【請求項2】
地図上に説明情報を提示する情報提供方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって,
案内経路を地図形式でユーザに提示する処理と,
前記地図形式の提示において案内経路における経由地点もしくは案内地点またはその双方を,ピン型のアイコンで表示する処理と,
複数のピン型のアイコンが重なる場合に,ピン型のアイコンの方向を変えることにより,重ならないように表示する処理とを
コンピュータに実行させるプログラムを記録した
ことを特徴とする情報提供用プログラムの記録媒体。
【請求項3】
地図上に説明情報を提示する情報提供方法をコンピュータに実行させるためのプログラムであって,
案内経路を地図形式でユーザに提示する処理と,
前記地図形式の提示において案内経路における経由地点もしくは案内地点またはその双方を,ピン型のアイコンで表示する処理と,
複数のピン型のアイコンが重なる場合に,ピン型のアイコンの方向を変えることにより,重ならないように表示する処理とを
コンピュータに実行させるための情報提供用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate


【公開番号】特開2007−93610(P2007−93610A)
【公開日】平成19年4月12日(2007.4.12)
【国際特許分類】
【出願番号】特願2006−306216(P2006−306216)
【出願日】平成18年11月13日(2006.11.13)
【分割の表示】特願2001−33316(P2001−33316)の分割
【原出願日】平成13年2月9日(2001.2.9)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】