(57)【要約】【課題】  最短コスト経路を、短時間で最適経路として提供することができる方法を提供すること。【解決手段】  地図データ上で２地点を設定し、当該２地点間の最適経路を地図データ上で探索する前に、当該２地点間の位置関係に応じて経路探索を行うべき最上位階層を決定し、さらに当該経路探索を行うべき最上位階層と最下位階層との間の中間階層の中から経路探索を行わない中間階層を２地点間の位置関係に応じて決定することによって、経路探索を行うべき探索候補階層を決定する。そして、探索範囲が広がるにつれて探索候補階層間で上位階層への移行処理を行いながら、設定された２地点間の最適経路を探索する。【選択図】  図１
2005338095.tif 000002
【特許請求の範囲】
【請求項１】
階層化された地図データを用いて、任意の２地点間の最適経路を選出するための方法であって、
前記地図データ上で前記２地点を設定するステップと、
前記設定された２地点間の最適経路を地図データ上で探索する前に、当該２地点間の位置関係に応じて経路探索を行うべき最上位階層を決定し、さらに当該経路探索を行うべき最上位階層と最下位階層との間の中間階層の中から経路探索を行わない中間階層を前記２地点間の位置関係に応じて決定することによって、経路探索を行うべき探索候補階層を決定するステップと、
前記地図データに基づいて、前記設定された２地点間の最適経路を探索するステップとを備え、
前記最適経路を探索するステップは、探索範囲が広がるにつれて前記探索候補階層間で上位階層への移行処理を行いながら、前記設定された２地点間の最適経路を探索することを特徴とする、経路選出方法。
【請求項２】
前記探索候補階層を決定するステップは、最下位階層から前記経路探索を行うべき最上位階層までの階層数が所定数以上となるとき、経路探索を行うべき探索候補階層数が一定数以下となるように、経路探索を行わない中間階層を決定することを特徴とする、請求項１に記載の経路選出方法。
【請求項３】
階層化された地図データを用いて、任意の２地点間の最適経路を選出するための方法であって、
前記地図データ上で前記２地点を設定するステップと、
探索範囲が広がるにつれて前記地図データを下位階層から上位階層に移行させつつ、前記設定された２地点間の最適経路を探索するステップとを備え、
前記最適経路を探索するステップは、
ある１つの階層での探索時または探索終了後において、当該ある１つの階層から各上位階層へ移行可能な地点数をそれぞれカウントし、
前記カウントされた地点数が予め決められた値以上存在する上位階層がある場合には、当該上位階層のうち一番上位の階層と前記ある１つの階層との間の階層での経路探索を行うことなく、当該一番上位の階層での経路探索を開始することを特徴とする、経路選出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路選出方法に関し、より特定的には、地図データ上の任意の２地点間の最適経路を選出する方法に関する。
【背景技術】
【０００２】
周知のごとく、カーナビゲーションシステムは、車両の現在地を検出して表示すると共に、目的地までの最適経路を自動的に探索し、当該最適経路に沿って車両を、表示ガイダンスおよび／または音声ガイダンスにより、目的地まで誘導案内してくれるシステムである。このようなカーナビゲーションシステムにおいて、誘導案内するための実用的な経路を、できるだけ早く選出することが求められている。そのため、短時間で経路を探索する方法が盛んに研究および提案されている。
【０００３】
従来、短時間で経路探索を行う技術としては、例えば特開平４−３０１５１５号公報に開示された階層別探索手法がある。この階層別探索手法は、詳細度の異なる階層的な地図データを持ち、出発地・目的地周辺は詳細な地図データで、中間経路はより粗い地図データで探索を行う手法である。このような階層別探索手法によれば、出発地と目的地との間が遠距離の場合、中間経路を粗い地図データを使用して探索できるため、全経路を詳細な地図データで探索する場合に比べて、全体として探索時間を短縮化できる。
【０００４】
さらに、特開平４−３０１５１５号公報では、各階層の地図データは、それぞれ複数のブロックに分割されて記録されている。このような構成によれば、各階層から必要なブロックの地図データのみを読み込むだけで探索が行えるため、各階層の全地図データを読み込んで探索する場合に比べて、地図データのアクセス時間を短縮化することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、経路選出時間において大きなウエイトを占める地図読み込み処理のタイミングの最適化が図られておらず、さらに、探索対象となる地図データを階層順に全て探索していたので、経路選出時間が比較的長くなるという問題点があった。
【０００６】
それ故に、本発明の目的は、最短コスト経路を、短時間で最適経路として提供することができる方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、経路選出方法であって、階層化された地図データを用いて、任意の２地点間の最適経路を選出するための方法であって、地図データ上で２地点を設定するステップと、設定された２地点間の最適経路を地図データ上で探索する前に、当該２地点間の位置関係に応じて経路探索を行うべき最上位階層を決定し、さらに当該経路探索を行うべき最上位階層と最下位階層との間の中間階層の中から経路探索を行わない中間階層を２地点間の位置関係に応じて決定することによって、経路探索を行うべき探索候補階層を決定するステップと、地図データに基づいて、設定された２地点間の最適経路を探索するステップとを備え、最適経路を探索するステップは、探索範囲が広がるにつれて探索候補階層間で上位階層への移行処理を行いながら、設定された２地点間の最適経路を探索することを特徴とする。
【０００８】
第２の発明は、第１の発明において、探索候補階層を決定するステップは、最下位階層から経路探索を行うべき最上位階層までの階層数が所定数以上となるとき、経路探索を行うべき探索候補階層数が一定数以下となるように、経路探索を行わない中間階層を決定することを特徴とする。
【０００９】
第３の発明は、階層化された地図データを用いて、任意の２地点間の最適経路を選出するための方法であって、地図データ上で２地点を設定するステップと、探索範囲が広がるにつれて地図データを下位階層から上位階層に移行させつつ、設定された２地点間の最適経路を探索するステップとを備え、最適経路を探索するステップは、ある１つの階層での探索時または探索終了後において、当該ある１つの階層から各上位階層へ移行可能な地点数をそれぞれカウントし、カウントされた地点数が予め決められた値以上存在する上位階層がある場合には、当該上位階層のうち一番上位の階層とある１つの階層との間の階層での経路探索を行うことなく、当該一番上位の階層での経路探索を開始することを特徴とする。
【発明の効果】
【００１０】
第１の発明によれば、設定された２地点間の位置関係に応じて省略可能な探索階層を除外した探索候補階層を設定するようにしているので、省略された階層の探索時間を削減でき、結果として探索時間を短縮することができる。
【００１１】
第３の発明によれば、カウントされた地点数が予め決められた値以上存在する上位階層がある場合には、当該上位階層のうち一番上位の階層とある１つの階層との間の階層での経路探索を行うことなく、当該一番上位の階層での経路探索を開始することで、一番上位の階層とある１つの階層との間の階層の探索時間分が削減され、経路選出時間を短縮することができる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の一実施形態に係るカーナビゲーションシステムの構成を示すブロック図である。図１において、本実施形態のカーナビゲーションシステムは、入力装置１０１と、ロケータ１０２と、記録装置１０３と、通信装置１０４と、ナビゲーション装置１０５と、出力装置１０６とを備えている。
【００１３】
入力装置１０１は、リモートコントローラ、タッチセンサ、キーボード、マウス等により、ナビゲーションシステムの機能選択（処理項目変更、地図切り替え・階層変更等）や地点設定、探索モード選択等を行う。ロケータ１０２は、ＧＰＳ、車速センサ、角速度センサ、絶対方位センサ等を含み、車両の現在位置を計算するための各種情報を収集する。記録装置１０３は、光ディスク（ＣＤ、ＤＶＤ等）、ハードディスク、大容量メモリ等で構成され、交差点や道路の接続状況や座標・形状・属性・規制情報など、道路ネットワークに関する情報を記憶している。通信装置１０４は、ＦＭ多重通信装置／光・電波ビーコン装置等の各種無線通信装置からなり、交通情報や地図情報等、各種情報の送受信を行う。ナビゲーション装置１０５は、通常、ＣＰＵやメモリ（プログラムメモリ、ワーキングメモリ）等を含み、車両の現在位置検出や経路探索／誘導、各種情報（地図情報、交通情報、周辺情報等）の検索や提供などを行う。出力装置１０６は、表示装置（液晶ディスプレイ、ＣＲＴディスプレイ等）やスピーカ等を含み、各種情報や誘導経路の画像表示や音声案内を行う。
【００１４】
ここで、記録装置１０３に記録される地図データについて説明する。図２は、地図データの一構成例を示す図である。通常、地図データは大きく分けて２つの構成要素からなる。第１の構成要素は、交差点に関する情報であるノードデータである。第２の構成要素は、交差点をつなぐ道路の情報であるリンクデータである。本実施形態では、上記２つの構成要素が、階層別に記録されている。図３は、階層別地図データの構成を説明するための図である。図３では、地図データが、一例として、階層１〜４の４段階の階層に分けられている。ここで、階層１が最下位階層であり、階層４が最上位階層である。さらに、各階層の地図データは、それぞれ複数のブロックに分割されている。
【００１５】
以上のように構成されたカーナビゲーションシステムについて、以下にその動作を説明する。カーナビゲーションシステムの機能としては、経路選出／誘導機能、現在位置表示機能、情報検索／提供機能等があるが、ここでは本発明にとって興味ある経路選出／誘導機能について述べる。
【００１６】
まず、入力装置１０１において、ユーザは出発地および目的地の設定を行う。すなわち、ユーザは、入力装置１０１を操作することにより、出力装置１０６に表示された地図の画像をスクロールさせ、希望する地点を出発地および目的地として入力する。なお、ロケータ１０２を用いて検出した車両の現在位置を出発地として使用してもよい。
【００１７】
次に、ナビゲーション装置１０５は、上記のようにして設定された出発地や目的地の位置に基づき、記録装置１０３に記憶された最下位階層の地図上の一番近いノードまたは一番近いリンクに接続するノードを出発ノードおよび目的ノードとして採用する。さらに、ナビゲーション装置１０５は、周知のダイクストラ法などを用いて最短コスト経路を計算し、求められた経路をリンク列またはノード列または座標列に変換し、誘導経路とする。ただし、ナビゲーション装置１０５は、出発ノードと目的ノードを探索開始点として、最下位階層から最短コスト経路を計算し、階層毎に予め決められた範囲まで探索を広げても、経路が求まらなかった場合には、より広範囲にわたり、主要な道路のみが記録された、上位階層の地図データを利用して最短コスト経路を計算する処理を繰り返す。なお、この時、通信装置１０４で得られた交通情報によりリンクコストを変更する等の手法を用いて、選出する経路を変更するようにしてもよい。ナビゲーション装置１０５は、このようにして選出された探索結果に基づいて誘導経路を設定し、ロケータ１０２で検出された位置情報から車両の現在位置を算出して誘導経路上を目的地まで案内する。
【００１８】
最後に、出力装置１０６は、ナビゲーション装置１０５からの指示を受け、音声や表示により誘導情報をユーザに提示する。
【００１９】
図４は、図１に示すナビゲーション装置１０５の一構成例を示す機能ブロック図である。図４において、このナビゲーション装置１０５は、位置検出部２０１と、情報検索・提供部２０２と、経路選出部２０３と、誘導部２０４とを備えている。
【００２０】
位置検出部２０１は、ロケータ１０２で検出した位置情報を基に、記録装置１０３に記録された地図データの道路網に対しマップマッチングを行ったり、入力装置１０１から入力された車両位置修正情報を用いて、車両の現在位置を特定する。情報検索・提供部２０２は、位置検出部２０１で検出された現在地に基づいて、記録装置１０３に記録された地図データを出力装置１０６に表示したり、入力装置１０１で入力されたユーザの要求に従い、地図の表示範囲や詳細度を変更したり、通信装置１０４で得られた交通情報を表示する等の各種情報の検索や提供を行う。経路選出部２０３は、必要となる範囲の地図データを記録装置１０３から読み込み、位置検出部２０１で検出された車両の現在位置や入力装置１０１で入力された地点情報に基づいて出発地や目的地を決定し、交差点通行規制や一方通行規制を考慮して出発地から目的地間の最小コスト経路を選出する。さらに、誘導部２０４は、経路選出部２０３で選出した誘導経路に基づいて、記録装置１０３から取得した地図データと位置検出部２０１で検出した車両の現在位置とから、どちらの方向に進むべきか目的地までの誘導を行う。さらに、以降では、経路選出処理を行う経路選出部２０３に関して詳述する。
【００２１】
（１）経路選出部２０３の第１の構成例
図５は、図４に示す経路選出部２０３の第１の構成例を示す機能ブロック図である。図５において、この経路選出部２０３は、地図格納部３０１と、地点設定部３０２と、経路探索部３０３と、探索結果データ格納部３０４と、地図読込並行処理部４０１とを備えている。
【００２２】
地図格納部３０１は、経路探索や地点設定に必要な範囲の地図データを、記録装置１０３から読み込んで格納する。地点設定部３０２は、位置検出部２０１で検出された車両の現在位置を出発地に、入力装置１０１で入力した地点を目的地にして、各々に対応する地図上の出発ノードおよび目的ノードを設定する。経路探索部３０３は、公知のダイクストラ法等を用いて、最下位階層から順に地点設定部３０２で設定した出発ノードおよび目的ノードを探索開始点として探索処理を行い、出発ノードから目的ノードまでの最小コスト経路を求める。探索結果データ格納部３０４は、探索時の中間データや経路情報を記録する。地図読込並行処理部４０１は、地点設定部３０２および経路探索部３０３の処理と並行して、次の探索に用いる範囲の全ての地図ユニットを地図格納部３０１に読み込む。
【００２３】
上記のように構成された第１の構成例の経路選出部２０３について、フローチャートに従って以下にその動作を詳述する。
【００２４】
図６は、経路選出部２０３の第１の構成例における地点設定部３０２の動作を示すフローチャートである。まず、図６のステップＳ６０１において、地点設定部３０２は、記録装置１０３から最下位階層の地図データ（より詳細には、出発地（例えば、位置検出部２０１で検出された車両の現在位置）を含むブロックの地図データ）を読み込んで地図格納部３０１に格納し、出発地に一番近いノードを出発ノードとし、到達コスト（例えば、０）を設定する。次に、ステップＳ６０２において、地点設定部３０２は、記録装置１０３から最下位階層の地図データ（より詳細には、目的地（例えば、入力装置１０１によりユーザが入力した地点）を含むブロックの地図データ）を読み込んで地図格納部３０１に格納し、目的地に一番近いノードを目的ノードとし、到達コスト（例えば、０）を設定する。
【００２５】
このとき、地図読込並行処理部４０１は、地点設定部３０２の処理（図６参照）が開始されると同時に、最下位階層の出発地側探索に必要な範囲の地図データを、記録装置１０３から読み込んで地図格納部３０１に格納する。このとき読み込まれる地図データは、上記ステップＳ６０１において地点設定のために読み込まれたブロックの周辺に位置する複数のブロック（例えば、地点設定のために読み込まれたブロックを中心として取り囲む８つのブロック）の地図データである。このように、探索処理のために複数ブロックの地図データを必要とするのは、主として、上位階層への移行をより確実に行えるようにするためである。
【００２６】
次に、経路探索部３０３で最小コスト経路を求める経路探索処理を実行する。図７は、経路選出部２０３の第１の構成例における経路探索部３０３の経路探索処理の動作を示すフローチャートである。
【００２７】
まず、図７のステップＳ７０１において、経路探索部３０３は、出発ノードを出発地側候補状態とし、目的ノードを目的地側候補状態とし、それぞれを探索結果データ格納部３０４に格納する。次に、経路探索部３０３は、最初の探索階層として、最下位階層を設定する（ステップＳ７０２）。
【００２８】
次に、経路探索部３０３は、必要となる地図データが地図格納部３０１に読み込まれていなければ記録装置１０３から読み込み、出発地側候補状態ノードを起点として公知のダイクストラ法を用いて、中間データを探索結果データ格納部３０４に記憶させながら、一定エリア内の出発地側探索処理を行う（ステップＳ７０３）。次に、経路探索部３０３は、ステップＳ７０３における一定エリア内の探索処理中に、目的地側候補状態ノードへの最短コスト経路が確定したか否かを判断する（ステップＳ７０４）。目的地側候補状態ノードへの最短コスト経路が確定した場合、経路探索部３０３は、経路が求められたものとして出発地側探索処理を終了してステップＳ７１１に進み、探索結果データ格納部３０４に記憶された探索結果から経路を構成する。一方、目的地側候補状態ノードへの最短コスト経路が確定していない場合、経路探索部３０３は、ステップＳ７０５の処理を実行する。
【００２９】
上記ステップＳ７０５において、経路探索部３０３は、必要となる地図データが地図格納部３０１に読み込まれていなければ記録装置１０３から読み込み、目的地側候補状態ノードを起点として公知のダイクストラ法を用いて、中間データを探索結果データ格納部３０４に記憶させながら、一定エリア内の目的地側探索処理を行う。次に、経路探索部３０３は、ステップＳ７０５における一定エリア内の探索処理中に、出発地側探索終了ノードへの最短コスト経路が確定したか否かを判断する（ステップＳ７０６）。出発地側探索終了ノードへの最短コスト経路が確定した場合、経路探索部３０３は、経路が求められたものとして目的地側探索処理を終了してステップＳ７１１に進み、探索結果データ格納部３０４に記憶された探索結果から経路を構成する。一方、出発地側探索終了ノードへの最短コスト経路が確定していない場合、経路探索部３０３は、ステップＳ７０７の処理を実行する。
【００３０】
上記ステップＳ７０７において、経路探索部３０３は、探索階層が最上位階層であるか否かを判断する。このとき、探索階層が最上位階層であれば、経路探索部３０３は、探索失敗と判断し（ステップＳ７１０）、経路探索処理を終了する。一方、探索階層が最上位階層でなければ、経路探索部３０３は、出発地側探索エリアの外周に位置する探索済みノードであって上位階層にも記録されているノード（以降、出発地側上位移行ノードと呼ぶ）を出発地側候補状態に、目的地側探索エリアの外周に位置する探索済みノードであって上位階層にも記録されているノード（以降、目的地側上位移行ノードと呼ぶ）を目的地側候補状態にする（ステップＳ７０８）。次に、経路探索部３０３は、探索階層を一つ上の階層に移行し（ステップＳ７０９）、ステップＳ７０３の処理に戻る。以降、経路が求められるまで、経路探索部３０３は、ステップＳ７０３〜Ｓ７０９の処理を繰り返す。
【００３１】
上述した第１の構成例によれば、従来と比べて次のように探索時間を削減することができる。図８は、従来の経路選出部２０３の処理タイミングを示すタイミングチャートである。また、図９は、本発明における経路選出部２０３の第１の構成例における処理タイミングを示すタイミングチャートである。従来は、図８に示すように、地点設定処理が終わった後に、最下位階層である階層１の出発地側探索用地図データの読込処理を実行していた。これに対し、本発明における経路選出部２０３の第１の構成例では、地図読込並行処理部４０１を追加することにより、図９に示すように、地点設定部３０２で実行される地点設定処理と、地図読込並行処理部４０１で実行される出発地側探索用地図データ（最下位階層である階層１の地図データ）の読込処理とを同時に行うようにしている。これによって、地点設定部３０２の地点設定処理の直後に経路探索部３０３の探索処理を開始できるため、結果として探索時間を短縮することができる。
【００３２】
なお、上記第１の構成例では、地点設定部３０２と地図読込並行処理部４０１とが並列的に動作する必要があるため、地点設定部３０２と地図読込並行処理部４０１とを異なるＣＰＵによって実現するようにしても良いし、地図読込並行処理部４０１をＣＰＵの動作とは独立して機能する回路ブロック（例えば、ＤＭＡ転送装置）で構成するようにしても良い。
【００３３】
（２）経路選出部２０３の第２の構成例
図１０は、図４に示す経路選出部２０３の第２の構成例を示す機能ブロック図である。図１０において、この経路選出部２０３は、第１地図格納部５０１と、第２地図格納部５０２と、地点設定部３０２と、経路探索部３０３と、探索結果データ格納部３０４と、地図読込並行処理部４０１とを備えている。
【００３４】
第１および第２地図格納部５０１および５０２は、経路探索や地点設定に必要な範囲の地図データを記録装置１０３から読み込んで格納する。地点設定部３０２は、位置検出部２０１で検出された車両の現在位置を出発地に、入力装置１０１で入力した地点を目的地にして、各々に対応する地図上の出発ノードおよび目的ノードを設定する。経路探索部３０３は、公知のダイクストラ法等を用いて、最下位階層から順に地点設定部３０２で設定した出発ノードおよび目的ノードを探索開始点として探索処理を行い、出発ノードから目的ノードまでの最小コスト経路を求める。探索結果データ格納部３０４は、探索時の中間データや経路情報を記録する。地図読込並行処理部４０１は、地点設定部３０２および経路探索部３０３の処理と並行して、次の探索に用いる範囲の全ての地図ユニットを第１地図格納部５０１または第２地図格納部５０２に読み込む。
【００３５】
上記のように構成された第２の構成例の経路選出部２０３について、以下にその動作を詳述する。第１の構成例との違いは、地図格納部３０１が第１地図格納部５０１と第２地図格納部５０２の２つになったことと、地図読込並行処理部４０１の処理だけであるので、異なる部分のみ説明する。
【００３６】
地図読込並行処理部４０１は、地点設定部３０２の処理が開始されると同時に、最下位階層の出発地側探索に必要な範囲の地図データを、記録装置１０３から第１地図格納部５０１に読み込む。その後、経路探索部３０３が第１地図格納部５０１に読み込まれた地図データを用いて、階層１の出発地側探索処理を実行すると同時に、最下位階層の目的地側探索に必要な範囲の地図データを、記録装置１０３から第２地図格納部５０２に読み込む。このように、地図読込並行処理部４０１は、２重化された地図格納部を順次切り替えながら、経路探索が終了するまで、次の探索処理に必要な地図データを先読みしていく。
【００３７】
図１１は、経路選出部２０３の第２の構成例における処理タイミングを示すタイミングチャートである。以上のように、第２の構成例によれば、地図格納部を２重化し、地図読込並行処理部４０１を追加することにより、図１１に示すように、地点設定部３０２および経路探索部３０３で行われる処理と並行して、経路探索部３０３で行われる次の探索処理に必要な地図データを先読みすることができる。その結果、１区間の探索終了直後に次の区間の探索処理を開始できるため、結果として探索時間を短縮することができる。
【００３８】
なお、上記第２の構成例では、地点設定部３０２および経路探索部３０３と、地図読込並行処理部４０１とが並列的に動作する必要がある。そのため、地図読込並行処理部４０１を、地点設定部３０２および経路探索部３０３と異なるＣＰＵによって実現するようにしても良いし、地図読込並行処理部４０１を、ＣＰＵの動作とは独立して機能する回路ブロック（例えば、ＤＭＡ転送装置）で構成するようにしても良い。
【００３９】
（３）経路選出部２０３の第３の構成例
図１２は、図４に示す経路選出部２０３の第３の構成例を示す機能ブロック図である。図１２において、この経路選出部２０３は、地図格納部３０１と、地点設定部３０２と、経路探索部３０３と、探索結果データ格納部３０４と、探索階層判定部６０１とを備えている。
【００４０】
地図格納部３０１は、経路探索や地点設定に必要な範囲の地図データを記録装置１０３から読み込んで格納する。地点設定部３０２は、位置検出部２０１で検出された車両の現在位置を出発地に、入力装置１０１で入力した地点を目的地にして、各々に対応する地図上の出発ノードおよび目的ノードを設定する。探索階層判定部６０１は、地点設定部３０２で設定された出発ノードおよび目的ノードから、探索を行う階層を決定する。経路探索部３０３は、公知のダイクストラ法等を用いて、探索階層判定部６０１で決定した探索階層に対して最下位階層から順に、地点設定部３０２で設定した出発ノードおよび目的ノードを探索開始点として探索処理を行い、出発ノードから目的ノードまでの最小コスト経路を求める。探索結果データ格納部３０４は、探索時の中間データや経路情報を記録する。
【００４１】
上記のように構成された第３の構成例の経路選出部２０３について、以下にその動作を詳述する。第１の構成例との違いは、地図読込並行処理部４０１がなくなっていることと、探索階層判定部６０１での処理と、経路探索部３０３の処理の一部だけであるので、異なる部分のみ説明する。
【００４２】
探索階層判定部６０１では、地点設定部３０２で設定された出発ノードおよび目的ノードから、探索を行う階層を決定する。その際、出発ノードと目的ノード間の距離により、探索を行う最上位階層を設定し、その階層数が一定階層数（例えば、４階層）以上であれば、最下位階層と上記最上位階層を除く中間階層を省略することにより、探索対象階層を一定階層数（例えば、３階層）以下に抑える。図１３は、階層３が省略される場合の概念図である。この図１３の例では、出発ノードと目的ノード間の距離から、階層４まで探索が行われると判断し、中間階層である階層３を省略するようにしている。なお、省略される中間階層は、バランス良く一定間隔で設定するのが好ましい。
【００４３】
さらに、経路探索部３０３での経路探索処理について、フローチャートに従って以下にその動作を詳述する。図１４は、経路選出部２０３の第３の構成例における経路探索部３０３の経路探索処理を示すフローチャートである。本フローチャートは、図７に示した経路選出部２０３の第１の構成例における経路探索部３０３（図５参照）の経路探索処理のフローチャートとほぼ同じであるため、異なる部分のみ説明する。
【００４４】
本フローチャートが、経路選出部２０３の第１の構成例における経路探索部３０３の経路探索処理のフローチャート（図７）と異なる点は、ステップＳ１９０１〜Ｓ１９０７（図７のステップＳ７０１〜Ｓ７０７に相当）の後に、ステップＳ１９１２〜Ｓ１９１５の処理が追加された点である。ステップＳ１９０１〜Ｓ１９０７の処理により、現在の探索階層の探索処理が終了し、かつ、経路が求められなかったとき、経路探索部３０３は、ステップＳ１９１２において、探索階層判定部６０１の判定結果に従い、一つ上の階層は省略可能か否かを判断する。もし、省略可能でなければ、経路探索部３０３は、ステップＳ１９０８（図７のステップＳ７０８に相当）に進み、第１の構成例で説明したように一つ上の階層を探索階層として、探索処理を続行する。ステップＳ１９１２において、省略可能と判断した場合、経路探索部３０３は、ステップＳ１９１３に進み、出発地側探索エリアの外周に位置する探索済みノードであって、探索階層判定部６０１で決定された次探索候補階層にも記録されたノードを（出発地側上位階層移行ノード）出発地側候補状態に、目的地側探索エリアの外周に位置する探索済みノードであって、探索階層判定部６０１で決定された次探索候補階層にも記録されたノード（目的地側上位階層移行ノード）を目的地側候補状態に設定する。次に、経路探索部３０３は、次探索候補階層に移行したノード（出発地側上位階層移行ノードおよび目的地側上位階層移行ノード）が、特定個数（例えば８個）以上存在するかどうかを判定する（ステップＳ１９１４）。特定個数以上存在していなければ、経路探索部３０３は、ステップＳ１９０８に戻り、一つ上の上位階層を省略せずに、探索処理を続行する。一方、次探索候補階層に移行したノードが特定個数以上存在していれば、経路探索部３０３は、ステップＳ１９１５に進み、探索階層を次探索候補階層に移行させ、探索処理を続行する。
【００４５】
以上のように、第３の構成例によれば、探索階層判定部６０１を追加し、探索対象となる最下位階層と最上位階層とを除いた中間階層の探索を省略することにより、省略された階層の探索時間を削減するようにしているので、結果として探索時間を短縮することができる。
【００４６】
また、経路探索部３０３において、探索階層判定部６０１で決定された次探索候補階層への上位階層移行ノード数が一定数以下であれば、次探索候補階層よりも下位階層を次の探索階層とすることにより、上位階層移行ノード数の不足により生ずる遠回り経路の発生を防ぐことができ、結果として経路品質を向上することができる。
【００４７】
なお、第３の構成例では、探索開始前に省略可能な階層を決定していたが、１つの階層の探索が終了した後に、全ての上位階層について上位移行地点数をチェックし、各階層毎に決められた一定数以上の上位移行地点が存在する上位階層の内、一番上位の階層に移行するようにしてもよい。また、その際、探索対象となる最上位階層を、出発地と目的地との位置関係に従って決定していても良い。
【００４８】
なお、以上説明した第１〜第３の構成例では、現在の探索階層で経路が求まらない場合、一定エリア内の探索が終わった後に上位階層に移行するようにしているが、一定エリア内の探索が終了していなくても、一定数以上の上位階層移行ノードが確保できた段階で、探索を中止して上位階層に移行するようにしても良い。こうすることにより、最低限の探索範囲で探索階層を上位階層へ移行できるため、経路選出時間を短くすることができる。
【００４９】
さらに、以上説明した第１〜第３の構成例は、ハードウェアとして構成しても、マイクロコンピュータのマルチタスクなどのプログラム処理によって構成しても良い。また、ロケータ１０２は、車両の現在位置が検出できる機能を有していればどのような構成でも良い。また、入力装置１０１は、出力装置１０６に表示された地図の画像をスクロールさせることで位置を指定するようにしているが、予め記憶した緯度経度を選択する方法で位置を指定するようにしても良い。また、地点設定部３０２は、出発地をユーザが入力する位置によって設定しても良い。さらに、出発地・目的地にそれぞれ一番近いノードを出発ノードまたは目的ノードとしているが、一番近いリンク上の点にしても良いし、複数の地点を設定するようにしても良い。また、探索手法としてここではダイクストラ法を例に挙げたが、リンク毎のコスト情報を基に２地点間の最短コスト経路を求める方法であれば、どのような方法を用いても良い。また、出力装置１０６において、表示や音声により誘導を行うこととしたが、例えば自動操縦部を付加し、選出した経路を自動車の操縦系に与えるようにしても良い。さらに、上記実施の形態で説明した構成を組み合わせて使用してもかまわない。
【００５０】
また、本発明は、プログラムによって実現し、これをフロッピー（登録商標）ディスク等の記録媒体に記録して移送することにより、独立した他のコンピュータ・システムで容易に実施することができる。この場合、記録媒体は、フロッピー（登録商標）ディスクに限らず、光ディスク、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであればどのような媒体であっても良い。
【産業上の利用可能性】
【００５１】
本発明の経路選出方法は、最短コスト経路を、短時間で最適経路として提供することが可能なナビゲーション装置等に適用できる。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施形態に係るカーナビゲーションシステムの構成を示すブロック図である。
【図２】地図データの一構成例を示す図である。
【図３】階層別地図データの構成を説明するための図である。
【図４】図１に示すナビゲーション装置１０５の構成例を示す機能ブロック図である。
【図５】図４に示す経路選出部２０３の第１の構成例を示す機能ブロック図である。
【図６】経路選出部２０３の第１の構成例における地点設定部３０２の動作を示すフローチャートである。
【図７】経路選出部２０３の第１の構成例における経路探索部３０３の動作を示すフローチャートである。
【図８】従来のカーナビゲーションシステムにおける探索処理動作と地図読込動作との処理タイミングを示すタイミングチャートである。
【図９】経路選出部２０３の第１の構成例における探索処理動作と地図読込動作との処理タイミングを示すタイミングチャートである。
【図１０】図４に示す経路選出部２０３の第２の構成例を示す機能ブロック図である。
【図１１】経路選出部２０３の第２の構成例における探索処理動作と地図読込動作との処理タイミングを示すタイミングチャートである。
【図１２】図４に示す経路選出部２０３の第３の構成例を示す機能ブロック図である。
【図１３】経路選出部２０３の第３の構成例において、階層３が省略される場合の概念図である。
【図１４】経路選出部２０３の第３の構成例における経路探索部３０３の経路探索処理を示すフローチャートである。
【符号の説明】
【００５３】
１０１  入力装置
１０２  ロケータ
１０３  記録装置
１０４  通信装置
１０５  ナビゲーション装置
１０６  出力装置
２０１  位置検出部
２０２  情報検索・提供部
２０３  経路選出部
２０４  誘導部
３０１  地図格納部
３０２  地点設定部
３０３  経路探索部
３０４  探索結果データ格納部
４０１  地図読込並行処理部
５０１  第１地図格納部
５０２  第２地図格納部
６０１  探索階層判定部
【図１】
2005338095.tif 000003
【図２】
2005338095.tif 000004
【図３】
2005338095.tif 000005
【図４】
2005338095.tif 000006
【図５】
2005338095.tif 000007
【図６】
2005338095.tif 000008
【図７】
2005338095.tif 000009
【図８】
2005338095.tif 000010
【図９】
2005338095.tif 000011
【図１０】
2005338095.tif 000012
【図１１】
2005338095.tif 000013
【図１２】
2005338095.tif 000014
【図１３】
2005338095.tif 000015
【図１４】
2005338095.tif 000016