(57)【特許請求の範囲】
【請求項１】
移動体の移動を案内するためのナビゲーション情報を生成し出力するナビゲーション装置であって、
ナビゲーション基本動作を実現するナビゲーション基本動作機能と、
所定の汎用の言語でナビゲーション拡張動作を記述した拡張プログラムを解釈実行する解釈実行機能と、
前記解釈実行機能と拡張プログラムに介在する基本ＡＰＩと、
前記汎用の言語を前記ナビゲーション基本動作機能で解釈可能な形態に変更する変更サービス機能であって、ナビ用クラスライブラリと、前記ナビ用クラスライブラリおよびナビゲーション基本動作機能に介在するナビゲーションＡＰＩと、前記ナビ用クラスライブラリおよび拡張プログラムに介在する拡張ＡＰＩと、を含む変更サービス機能と、
を有し、前記拡張プログラムの実行時に前記ナビゲーション基本動作に係わるナビ制御データが生成される場合に、前記変更サービス機能に含まれ当該ナビ制御データに対応するサービス単位により、当該ナビ制御データが変更されて前記ナビゲーション基本動作機能に受け渡され、
前記拡張プログラムの実行時に前記ナビゲーション基本動作に係わらないナビ制御データが生成される場合に、前記基本ＡＰＩを介して当該ナビ制御データが前記解釈実行機能に受け渡されることを特徴とするナビゲーション装置。
【請求項２】
請求項１に記載の装置において、
ナビゲーション基本動作機能が追加または修正されたときに、その追加または修正に応じて、変更サービス機能のサービス単位を追加または修正する追加修正制御機能を有することを特徴とするナビゲーション装置。
【請求項３】
請求項１又は２に記載の装置において、
前記ナビゲーション基本動作機能は、少なくとも現在位置計算、経路計算、地図検索、地図表示および経路案内の高速処理機能を含み、
前記拡張プログラムは、前記基本機能を除く他のナビゲーション関連機能を実現するプログラムであることを特徴とするナビゲーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ナビゲーション装置、特に、移動体用マルチメディア情報の提示といったような拡張動作に適応した装置に関する。
【０００２】
【従来の技術】
従来、車両の運転者に現在位置を教えたり、目的地までの経路を案内するナビゲーション装置が周知である。例えば、ナビゲーション装置は、現在位置センサを使って車両の現在位置を検出し、地図データから現在位置周辺の地図を検索し、検索した地図とともに現在位置マークをディスプレイ上に表示する。また、ユーザが目的地を選ぶと、ナビゲーション装置は、目的地までの適切な経路を算出し、算出した経路に基づいた経路案内を行う。設定経路がディスプレイ上に表示されたり、右左折等の音声案内がスピーカから出力される。
【０００３】
図５は、従来のナビゲーション装置の構成の一例を示している。ナビゲーションハードウエア１は、ナビゲーションコンピュータのＣＰＵ等の構成や、現在位置検出関連装置、地図データ記録媒体、入出力装置などであり、ハードウエアの具体的構成は、装置の仕様によって異なる。デバイスドライバ２は、ナビゲーションハードウエア１を制御している。ナビゲーションの各種動作を実現するナビゲーションプログラム４は、ナビゲーションＯＳ３上で実行される。ナビゲーションプログラム４には、現在位置計算プログラムや、経路計算プログラム、地図検索プログラムが含まれる。この種の構成のナビゲーション装置は、例えば、「自動車用ナビゲーションシステムの新プラットホームの開発」（「住友電気」、住友電気工業株式会社発行、第１４８号、１９９６年３月、３７頁〜４１頁）に記載されている。
【０００４】
【発明が解決しようとする課題】
ところで、上述のような基本動作機能に加え、さらに応用的な拡張動作機能を有する高機能ナビゲーション装置の開発が進められ、ＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ）の一態様としても注目されている。本発明において、ナビゲーション拡張動作は、例えば、マルチメディアの映像や音響技術を応用して、目的地候補としての施設（レストラン等）の紹介情報をユーザに提示する、といったものである。そして、このような拡張動作と従来の基本動作を一連の一体的な動作として実現することが望ましい。この種のナビゲーション装置は、マルチメディア技術やネットワーク技術に対応し、情報センタなどのインフラストラクチャと連携して種々の情報をユーザに提供するものとして、期待される。
【０００５】
しかしながら、図５に示されるように、従来のナビゲーション装置では、ナビゲーションプログラム４は、プラットホーム（ナビゲーションハードウエア１や、ハードウエア１とナビゲーションＯＳ３の組合せ）に依存した機種ごとの専用プログラムである。そのため、上述のような基本動作と拡張動作との一連の動作を実現するためには、各種のプラットホームのそれぞれに対応して、拡張動作用のプログラムを個別に用意しなければならない。このような作業は負荷が高く、多大な労力と時間を必要とする。また、このようにプラットホームごとの対応が必要な状況では、通信インフラストラクチャからいろいろな車両へ向けて適当な情報を提供する、といった車両情報システムも複雑になってしまう。
【０００６】
参考技術として、ＩＳＯ−ＴＣ２０４において、Ｊａｖａを使って地図データベースにアクセスすることが提案されている。しかし、この提案は、ナビゲーションの基本動作の一部にＪａｖａを取り入れることを示しており、ナビゲーションの拡張動作には直接関係しない。
【０００７】
本発明は上記課題に鑑みてなされたものであり、その目的は、ナビゲーションプラットホームごとに専用の拡張動作用のプログラムを用意しなくても、拡張動作を、基本動作との一連の動作として好適に実現可能なナビゲーション装置を提供することにある。
【０００８】
【課題を解決するための手段】
本発明のナビゲーション装置は、移動体の移動を案内するためのナビゲーション情報を生成し出力する装置であって、ナビゲーション基本動作を実現するナビゲーション基本動作機能と、所定の汎用の言語でナビゲーション拡張動作を記述した拡張プログラムを解釈実行する解釈実行機能と、前記汎用の言語を前記ナビゲーション基本動作機能で解釈可能な形態に変更する変更サービス機能と、を有し、前記拡張プログラムの実行時に前記ナビゲーション基本動作機能に係わるナビ制御データが生成される場合に、前記変更サービス機能に含まれ前記ナビ制御データに対応するサービス単位により、前記ナビ制御データが変更されて前記ナビゲーション基本動作機能に受け渡される。
【０００９】
上述のように、本発明によれば、ナビゲーション装置がマルチメディア情報の提示等の拡張動作を行う際には、その拡張動作を汎用の言語で記述した拡張プログラムが解釈実行機能により解釈実行される。特に本発明によれば、変更サービス機能を設けたことにより、ナビ制御データがナビゲーション基本動作機能で解釈可能な形態に変更されるので、ナビゲーション基本動作機能と拡張プログラムのナビゲーション拡張動作機能とを好適に連携させることができる。これにより、異なる種類のナビゲーションプラットホームにおいて共通の拡張プログラムを利用可能となる。各ナビゲーション装置は、上記の共通プログラムを利用でき、その共通プログラムの拡張動作と自己の基本動作とを一連の動作として実現できる。従って、プラットホームごとに専用の拡張プログラムを用意する必要がなくなる。また、複数種類のプラットホームに対して共通の拡張プログラムを提供すればよいので、移動体を対象とする情報システムの簡素化を図ることが可能となる。
【００１０】
なお、上記の所定の汎用の言語は、複数のナビゲーションプラットホームにおいて解釈実行機能により解釈可能な言語である。例えば、所定の汎用の言語はＪａｖａであり、解釈実行機能はＪａｖａバーチャルマシンである。
【００１１】
好ましくは、本発明のナビゲーション装置は、ナビゲーション基本動作機能が追加または修正されたときに、その追加または修正に応じて、変更サービス機能のサービス単位を追加または修正する追加修正制御機能を有する。この態様によれば、ナビゲーション基本動作機能が追加または修正されたとき、変更サービス機能も追加または修正される。従って、基本動作機能の追加修正部分を拡張プログラムと容易に連携させることができ、基本動作機能の向上へのシステム全体の対応が容易になる。
【００１２】
また好ましくは、前記変更サービス機能は、ナビ用クラスライブラリと、前記ナビ用クラスライブラリおよびナビゲーション基本動作機能に介在するナビゲーションＡＰＩ（Ａｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）と、前記ナビ用クラスライブラリおよび拡張プログラムに介在する拡張ＡＰＩと、を含む。
【００１３】
また好ましくは、前記ナビゲーション基本動作機能は、少なくとも現在位置計算、経路計算、地図検索、地図表示および経路案内の高速処理機能を含み、前記拡張プログラムは、前記基本機能を除く他のナビゲーション関連機能を実現するプログラムである。現在位置計算や経路計算、地図検索、地図表示、経路案内は、ナビゲーション装置の基本機能であり、そしてこれらの処理に対しては高速化の要求が強い。本態様によれば、このような処理は、解釈実行機能を利用せずに基本動作機能によって高速に実現される。一方で、その他のマルチメディア機能などの処理は、解釈実行機能により実現される。従って、ナビゲーション基本機能の高速性を確保しつつ、ナビゲーション機能の拡張を容易に実現することが可能となる。
【００１４】
【発明の実施の形態】
以下、本発明の好適な実施の形態（以下、実施形態という）について、図面を参照し説明する。図１は、本実施形態の車両用ナビゲーション装置の全体構成を示すブロック図である。マイクロプロセッサ１０は、ＲＯＭ１２、ＲＡＭ１４と接続され、ナビゲーション関連の各種のプログラムを実行することにより、装置全体を制御し、またナビゲーション情報を生成する。マイクロプロセッサ１０は、周辺インターフェース１６を介してジャイロ装置１８、車両速度センサー２０、ＧＰＳレシーバ２２と接続されており、これらの要素からの入力信号に基づいて、現在位置や進行方向などの車両状態を算出する。また、マイクロプロセッサ１０は、ＣＤ−ＲＯＭデコーダ２４を介してＣＤ−ＲＯＭドライブ２６に接続されており、ＣＤ−ＲＯＭドライブ２６に装着されるＣＤ−ＲＯＭ２８の地図データやプログラムデータを読みとる。さらに、通信手段として、通信インターフェース３０、無線通信制御部３２、高周波回路３４およびアンテナ３６が設けられており、マイクロプロセッサ１０は、これらの通信関連構成を使って、インフラストラクチャとしての情報センタ３８やインターネット４０との間で通信を行う。情報センタ３８との通信には、電話回線や他の双方向無線通信、ＦＭ多重放送や電波ビーコン、光ビーコン、衛星放送などが好適に利用される。通信によって取得されたデータ（プログラムを含む）は、適宜、ＲＡＭ１４やハードディスク装置（図示せず）に格納される。その他、図には示されていないが、入力手段としてのスイッチやマイク、出力手段としてのディスプレイやスピーカが設けられている。
【００１５】
本実施形態のナビゲーション装置は、上記の構成により、インフラストラクチャとの通信を利用して、道路地図を表示したり、地図上でポイント情報（レストランなどの施設情報）を表示する。また、このナビゲーション装置は、インフラストラクチャからの情報を利用して目的地までの経路計算や経路案内を行い、さらに、ＩＴＳ走行警告や案内を行う。
【００１６】
図２は、本ナビゲーション装置のシステム構成を示している。ナビゲーションハードウエア５０は、図１に示した構成を含んでおり、デバイスドライバ５２により制御される。ナビゲーション基本動作部５６は、ナビゲーションＯＳ５４の上に位置する。このナビゲーション基本動作部５６は、現在位置計算や経路計算や地図検索といった、従来よりのナビゲーション基本動作部分の処理を行う。このような処理は、高速化の要求の高い処理であるので、本実施形態のように、各機種の専用言語で書かれたプログラムにより高速に処理することが好適である。基本動作部５６は、例えば、ＲＯＭ１２やＣＤ−ＲＯＭ２８に書かれたナビゲーション基本プログラムを実行することにより実現される。
【００１７】
また、図２に示されるように、本システムには、Ｊａｖａバーチャルマシン部５８が設けられている。そして、汎用の言語Ｊａｖａで書かれた車両用マルチメディアプログラム部６０が、Ｊａｖａバーチャルマシン部５８により解釈され、実行される。Ｊａｖａバーチャルマシン部５８と車両用マルチメディアプログラム部６０の間には、Ｊａｖａ基本ＡＰＩ（Ａｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）が介在している。車両用マルチメディアプログラムは、本発明の拡張プログラムに相当し、ＣＤ−ＲＯＭ２８からロードされ、また、インフラストラクチャから通信により取得されて本システムに組み込まれる。
【００１８】
周知のように、Ｊａｖａプログラムは、ハードウエアやＯＳといったプラットホームに依存せず、複数種類のプラットホームの上で実行可能である。上記のマルチメディアプログラムは、Ｊａｖａバーチャルマシン部５８を設けることにより、複数種類のナビゲーションプラットホーム上で実行可能である。すなわち、複数種類の異なるナビゲーション装置が、共通の車両用マルチメディアプログラムを利用できる。
【００１９】
また、車両用マルチメディアプログラム部６０とナビゲーション基本動作部５６は、サービスモジュール６４により結合され、連携して動作する。サービスモジュール６４（ナビゲーション基本動作・状態取得用）は、ナビ用クラスライブラリ６６、Ｊａｖａ拡張ＡＰＩ６８およびナビプログラムＡＰＩ７０を含む。Ｊａｖａ拡張ＡＰＩ６８は、ライブラリ６６およびプログラム部６０の間に介在し、ナビプログラムＡＰＩは、ライブラリ６６および基本動作部５６の間に介在する。なお、サービスモジュール６４の左半部は、Ｊａｖａバーチャルマシン部５８のバイトコードに対応し、一方、右半部は、ＣＰＵのネイティブなコードに対応する。
【００２０】
前述のマルチメディアプログラムの実行時に制御コードが発生したとき、その制御コードがナビ用拡張ＡＰＩコード（本発明のナビ制御コード）であれば、そのコードは、サービスモジュール６４によって処理される。サービスモジュール６４には、各種のナビ用拡張ＡＰＩコードにそれぞれ対応する複数のサービス単位が予め定められ、用意されている。各サービス単位は、クラスライブラリのユニットと、その両側のＡＰＩを含む。そして各サービス単位は、そのサービス単位に該当するナビ用拡張ＡＰＩコードを、ナビゲーション基本動作部５６が解釈可能な形態に変更する。ナビゲーション基本動作部５６は、変更後の制御コードに従って動作する。
【００２１】
次に、本実施形態のシステムの動作を説明する。ここでは、車両用マルチメディアプログラムの一例として、ポイント情報（レストランなど）の紹介プログラムをとりあげる。例えば、いろいろなレストランの紹介プログラムが、ＣＤ−ＲＯＭ２８に格納されているとする。ユーザがメニュー画面を見て、あるレストランを選択すると、そのレストランの紹介プログラムがロードされる。また例えば、レストラン選択用のメニュー情報が、通信回路を使って情報センタ３８から取得され、ディスプレイ表示される。あるレストランをユーザが選択すると、そのレストランを示すコードが情報センタ３８へ送信される。そして、選択されたレストランの紹介プログラムが情報センタ３８から返信され、ロードされる。
【００２２】
上記のレストラン紹介プログラムは、前述のようにＪａｖａで記述されており、Ｊａｖａバーチャルマシン部５８により解釈実行される。マルチメディア機能により動画や音声を使ってレストランの所在地、メニューや価格、営業時間、店内風景、その他の特徴が紹介される。例えば、ウエイトレスが、画面上で店内を案内する。このような紹介プログラムの実行中に、ナビゲーション基本動作に係るナビ用拡張ＡＰＩコードが発生すると、このコードは以下のように処理される。
【００２３】
図３を参照すると、紹介プログラムにおいて発生した制御コードを受信すると（Ｓ２）、その制御コードがナビ用拡張ＡＰＩコードであるか否かが判断される（Ｓ４）。ＮＯであれば（Ｊａｖａ基本ＡＰＩコードであれば）、Ｓ２に戻る。Ｓ４にてＹＥＳであれば、サービスモジュール６４にて、そのコードに該当するサービス単位により、ナビ用拡張ＡＰＩコードが変更される（Ｓ６）。そして、変更コードがナビゲーション基本動作部５６に受け渡され、この変更コードに従った基本動作が実行される。
【００２４】
例えば、レストランの紹介中に、現在地とレストランの位置関係をユーザに提示する処理が行われるとする。このとき、現在地地図表示ＡＰＩコードが生成される。このコードには、各種の指定数値が含まれる。（ａ）現在位置と表示規定位置との位置関係、（ｂ）地図表示方向（ノースアップかヘディングアップか）、（ｃ）地図縮尺、（ｄ）３次元表示パラメータ、（ｅ）画面上での情報種類別のカラー指定、（ｆ）地図データファイル位置の計算パラメータ、である。（ａ）により、例えば、現在位置を画面中央にしたり、レストランを画面中央にしたり、といった表示形態が決まる。
【００２５】
これらの指定数値は、現在地地図表示ＡＰＩコードから分離される。各指定数値は、ナビゲーション基本動作部５６で解釈可能な形態に変更される。そして、ナビゲーション基本動作部５６が、指定数値に基づいて、現在位置とレストラン位置を示す地図を表示する。ここでは、現在位置が算出される。また、地図表示方向がヘディングアップであれば、車両の進行方向が算出される。そして、地図データの読み出しアドレスが求められ、ＣＤ−ＲＯＭから該当縮尺の地図データが読み出される。地図データは、通信インフラストラクチャからダウンロードされたものでもよい。そして、３次元表示パラメータに基づいた３次元座標変換の計算が行われ、グラフィックス処理部にベクトルデータが転送される。適宜、道路地図とともに、周辺の交通関連情報が、指定された色を用いて表示される。このようにして、ユーザは、現在位置などを確認できる。
【００２６】
第２の例では、レストラン紹介中に、レストラン周辺のさらに詳しい地図が表示される。この処理は、ユーザのリクエストに従って行われる。ここでは、特定地点地図表示ＡＰＩコードが生成される。上記と同様に、このコードには、各種の指定数値として、（ｇ）表示規定位置（例えば、特定地点を画面中心にする）、（ｈ）地図縮尺、（ｉ）３次元表示パラメータ、（ｊ）画面上での情報種類別のカラー指定、（ｋ）地図データファイル位置の計算パラメータ、が含まれる。特定地点地図表示ＡＰＩコードから、これらの指定数値が分離される。各指定数値は、ナビゲーション基本動作部５６で解釈可能な形態に変更される。そして、上記の第１例と同様にして、ナビゲーション基本動作部５６が、指定数値に基づいて、レストラン周辺の地図を表示する。
【００２７】
第３の例では、レストランへの経路が設定され、経路案内が行われる。ユーザは、レストランの紹介を受け、そのレストランへ行くことを希望したとする。ユーザが入力手段を使ってレストランへの案内を要求すると、目的地指定ＡＰＩコードが生成される。このコードは、指定数値として、走行目的地（すなわちレストラン）の位置座標を含む。位置座標は、ナビゲーション基本動作部５６で解釈可能な形態に変更される。そして、ナビゲーション基本動作部５６が、現在位置から目的地までの経路を計算する。経路計算には、ダイクストラ法などの周知の方法が用いられる。そして、計算結果の経路に基づいた経路案内が、ディスプレイやスピーカを用いて行われる。ここでは、分岐点案内図を含む地図表示や、右左折等の音声案内が行われる。
【００２８】
ところで、ナビゲーションの基本機能の向上を目的として、図２のナビゲーション基本動作部５６の機能が追加、修正されることがある。そこで、本実施形態では、その特徴として、図示のように、追加修正制御部５４ａが設けられている。基本動作部５６の追加修正が行われると、追加修正制御部５４ａは、その追加修正に応じて、サービスモジュール６４のサービス単位の追加修正を行う。サービスモジュール６４は、適宜、拡大等の変形を受ける。このような追加修正処理が行われるので、本実施形態のシステムは、迅速かつ容易に、ナビゲーション基本動作部５６の新しい機能と、車両用マルチメディアプログラムの機能とを連携させることができる。
【００２９】
以上、本発明の好適な実施形態を説明した。本実施形態によれば、従来のナビゲーションの基本動作は、ナビゲーション基本動作部５６により実現され、従って、経路計算等が高速に処理される。一方、本発明の拡張動作の一つであるマルチメディア情報の提示は、Ｊａｖａで書かれたマルチメディアプログラムやＪａｖａバーチャルマシン部５８により実現される。そして、サービスモジュールを設けたことにより、マルチメディア機能とナビゲーション基本機能が結合される。従って、異なる種類のナビゲーションプラットホームにおいて共通のマルチメディアプログラムが利用可能となる。各プラットホームは、上記の共通プログラムを利用でき、そして、共通プログラムによるマルチメディア機能と自己の基本動作機能とを合わせた一連のナビゲーション処理を適当に実現できる。ナビゲーションプラットホームごとに基本動作機能と適合する専用の拡張プログラムを用意する必要がないので、拡張動作の適用のための労力や時間を大幅に削減可能となる。
【００３０】
また、多数の車両とインフラストラクチャを通信手段でつなぐ車両用情報システムにおいては、車両によって異なる種類のハードウエアが搭載されている。本発明によれば、それらの車両に対して、インフラストラクチャは、一種類の共通の車両用マルチメディアプログラムを提供すればよい。各車両ごとに別々の車両用マルチメディアプログラムを送らなくてもよくなり、車両用情報システムを簡素に構成することが可能となる。
【００３１】
なお、上述の説明において、サービスモジュール６４は、車両用マルチメディアプログラム６０の実行時に発生した制御コードを変更し、ナビゲーション基本動作部５６に伝えている。これに対し、ナビゲーション基本動作部５６で発生したコードが変更され、サービスモジュール６４を介してマルチメディア機能側へ伝えられてもよい。例えば、ナビゲーション基本動作部５６により現在位置が算出され、この現在位置がマルチメディア機能側へ伝えられる。そして、現在位置周辺のレストランや本屋、ガソリンスタンドといった各種の施設が地図上に表示される。さらにまた、マルチメディア機能側から基本動作部５６へサービスモジュール６４を介して制御コードを送り、基本動作部５６がその制御コードに従った基本動作（現在位置計算や経路計算）を行い、サービスモジュール６４を介して動作結果をマルチメディア機能側へ返す、といったような構成も好適である。図４は、本実施形態のシステムにおいて、車両用マルチメディア機能部とナビゲーション基本動作部との間でやりとりするのに好適と考えられる各種の制御データを例示している。
【００３２】
また、本実施形態では、車両用のナビゲーション装置に本発明が適用された。これに対し、その他の種類のナビゲーション装置に本発明が適用されてもよい。例えば、携帯用ナビゲーション装置にも、本発明を好適に適用できる。
【図面の簡単な説明】
【図１】本発明の実施形態のナビゲーション装置を示すブロック図である。
【図２】図１のシステムの構成を示す図である。
【図３】図２のシステムの動作を示す図である。
【図４】図２のシステムにおいて、マルチメディア機能と基本動作機能との間でやりとりされる各種の制御コードを例示する図である。
【図５】従来のナビゲーション装置のシステム構成の一例を示す図である。
【符号の説明】
５４  ナビゲーションＯＳ、５６  ナビゲーション基本動作部、５８  Ｊａｖａバーチャルマシン部、６０  車両用マルチメディアプログラム部、６４  サービスモジュール、６６  ナビ用クラスライブラリ、６８  Ｊａｖａ拡張ＡＰＩ、７０  ナビプログラムＡＰＩ。
【図１】
0003546680.tif 000002
【図２】
0003546680.tif 000003
【図３】
0003546680.tif 000004
【図４】
0003546680.tif 000005
【図５】
0003546680.tif 000006