JP4417047B2 - Poi情報表示装置 - Google Patents
Poi情報表示装置 Download PDFInfo
- Publication number
- JP4417047B2 JP4417047B2 JP2003203562A JP2003203562A JP4417047B2 JP 4417047 B2 JP4417047 B2 JP 4417047B2 JP 2003203562 A JP2003203562 A JP 2003203562A JP 2003203562 A JP2003203562 A JP 2003203562A JP 4417047 B2 JP4417047 B2 JP 4417047B2
- Authority
- JP
- Japan
- Prior art keywords
- distance
- poi
- sorted
- pois
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Description
【発明の属する技術分野】
本発明は、POI情報表示装置に係わり、特に、小さなメモリを用いるだけで、要求されたPOI情報を距離順に即座にソート・表示するためのPOI情報表示装置に関する。
【0002】
【従来の技術】
データソートは重要であり、パソコン、ファックス、車両ナビゲーションシステム等の消費者電子製品と同様に、データ処理システムにおいてよく用いられている。ナビゲーションシステムにおいては、例えば、DVD(デジタル多用途ディスク)といったマップデータ記憶装置が、所定グループにより分類された多数の場所を示すポイントオブインタレスト(POI)データを含むマップデータを記憶する。POI分類(POIカテゴリー)の例としては、ATM、銀行、レストラン、ガソリンスタンド、スーパーマーケット等がある。
【0003】
使用者がレストランといった特定のタイプのPOIを見ることを要求した場合、ナビゲーションシステムは所定位置、たとえば現使用者(車両)位置からの距離に応じてソートされたレストランのリストを表示する。かかる場合1,000個程度の多数のPOIを同時に距離順にソートしなければならないため、ナビゲーションシステムでは、結果を表示するまで数秒から10秒以上といった比較的長い時間がかかる。
【0004】
データソートは図1に示すようなコンピュータシステムにより行う。この例では、コンピュータは、データおよびアドレスを転送するバス11、プログラムを記憶する主メモリ12、プログラムを実行するプロセッサ13、キーボード15のような入力機器、データを一時記憶するバッファメモリ17、ディスプレイ18で構成される。本発明のソート方法はこのようなコンピュータシステムで実施される。
【0005】
ソート手順としては多くのものが知られている。一般的に、多数のエントリをもつデータアレイをソートする場合、ソート手順に対して、このような多数のエントリに対応した大容量のバッファメモリが必要とされる。さらに、短時間にデータソートを完了するためには、プロセッサは高速度操作が可能なものでなければならない。
【0006】
図2A〜2Cは、入力データアレイ、ソート手順に用いられるバッファメモリ、ソートされたデータアレイをそれぞれ示す概略図である。この例は、多数のエントリをもつ入力データが同時にソートされる、すなわち全ソート結果が同時に作成されなければならないようなケースを示す。図2Aにおける入力データアレイは10個のエントリをもち、それぞれのエントリの属性値(たとえば距離、重量、長さなどの物理量)が数字とともに示されている。
【0007】
こういったエントリがナビゲーションシステムで用いられるPOI(ポイントオブインタレスト)データであるようなケースでは、各エントリの属性値は、例えば、現車両位置といった特定位置から各POIまでの距離を示す。図2Cのデータアレイは、図2Aのデータアレイにおける要素が最小数(例えば、最短距離)から最大数(例えば、最大距離)までソートされたソートプロセスの結果である。
【0008】
図2Aの入力データをソートするためには、入力データを図2Bのバッファメモリでソートし、ソート手順の間に多くの回数のデータ比較を繰り返さなければならない。バッファメモリは、入力データアレイを記憶するための十分な容量を全体としてもたなければならない。例えば、ナビゲーションシステムに関するPOI情報をソートする場合、POI数が1,000程度であれば、少なくとも1,000個の記憶位置の記憶容量をもつバッファメモリを用いなければならない。さらに、多数の比較を行うことによりこのような大きなサイズのデータを処理するためには、ソートプロセスに長時間かかる。
【0009】
入力データのエントリ数がNであり、最もよく用いられているソート方法であるクイックソート法により入力データがソートされた場合、以下に示す数のデータ比較が必要なことが証明されている:
比較数(平均)=Nln(N)
比較数(最悪ケース)=N(N−1)/2
ここでlnは自然対数である。
【0010】
【発明が解決しようとする課題】
したがって、Nが1,000であった場合、比較の数は平均ケースにおいて約6,900である。最悪ケースの場合(入力リストがソートの最終結果の逆順の場合)、比較の数は約500,000である。このように、従来のソート方法では処理時間が長くかかり、大きなメモリ容量のバッファメモリが必要になる。したがって、大きなサイズのバッファメモリおよび/または高速度プロセッサを必要とせずにデータのソートをすばやく行うことのできる新たなデータソート方法が要望されている。
【0011】
したがって、本発明の目的は、小さなメモリを使用しながら高速度で入力データアレイのデータをソートすることの可能なデータソート方法を提供することである。
【0012】
本発明の他の目的は、所定の順番でソートされたデータエントリをそれぞれがもつ一連のブロックを作成することの可能なデータソート方法を提供することである。
【0013】
さらに本発明の他の目的は、小さなメモリを使用しながら高速度でPOI(ポイントオブインタレスト)データをソートする、本発明のソート方法を具体化するナビゲーション方法およびシステムを提供することである。
【0014】
さらに本発明の他の目的は、現行の表示サイズおよび即座の表示スクロールに対して適当な量のPOIデータをすばやくかつ正確に検索・ソートするナビゲーション方法およびシステムを提供することである。
【0015】
【課題を解決するための手段】
本発明は、到達点を選定するためにN個のポントオブインタレスト(POI)の情報を所定の順序で表示するナビゲーションにおけるPOI表示装置であり、POIの名称、位置、カテゴリー、住所を保存するPOI情報記憶手段、特定のPOIリストを表示するためにPOIのカテゴリーを特定する手段、該カテゴリーのN個のPOIを前記POI情報記憶手段より収集する手段、第1位から第N位までのN個の順序を最上位より順番にA個づつのブロックに分割し、着目ブロックを構成するA個の順位のPOIを所定位置からの距離に応じて正順もしくは逆順でソートする手段、該着目ブロックの距離に応じてソートされたA個のPOIのリストをスクロール可能に表示する手段、を備え、スクロールにより前記着目ブロックの上位または下位のブロックにおけるPOIリストが必要になったとき、前記ソート手段は、該着目ブロックの上位または下位のブロックにおけるA個の順位のPOIを所定位置からの距離に応じて正順もしくは逆順でソートし、前記表示手段は該ソートされたPOIのリストをスクロール可能に表示する。
前記正順でPOIをソートする手段は、A個のエントリ位置を有するソート済バッファ部と所定数のエントリ位置を有する作業用バッファ部とで構成されるバッファ、前記所定位置からN個のどのPOIまでの距離よりも大きな距離を初期の基準距離として保存し、かつ、前記所定位置からN個のどのPOIまでの距離よりも小さな距離を初期の前回最大距離として保存すると共に、前ブロックでのソートが済んでいる場合には、該前ブロックでのソート結果におけるA個のPOIまでの距離のうち最大距離を前回最大距離として保存する手段、前記着目ブロックにおけるA個の順位のPOIを所定位置からの距離に応じて正順にソートする際、前記所定位置からの距離が前記の前回最大距離よりも大きく、かつ、前記初期の基準距離よりも小さいPOIを検索し、該検索されたPOIを前記ソート済バッファ部にロードする第1のロード手段、該ソート済バッファ部がA個のPOIでフルになったとき、該ソート済バッファ部のPOIを正順でソートし、該A個のPOIのうち前記所定位置からの距離が最大となる距離を新たな基準距離とする手段、前記所定位置からの距離が、前記の前回最大距離よりも大きく、かつ、前記新たな基準距離よりも小さいPOIを検索し、該検索されたPOIを前記作業バッファ部にロードする第2のロード手段、前記バッファがPOIでフルになったとき、該バッファのPOIを正順に、かつ前記ソート済バッファ部に所定位置からの距離が短いA個のPOIが並ぶようにソートするソート手段、前記ソート済バッファ部内のA個のPOIのうち前記所定位置からの距離が最大となる距離を新たな基準距離とする基準距離更新手段、を備え、以後、前記の前回最大距離よりも大きく、かつ、前記基準距離よりも小さいPOIが検索できなくなるまで、上記検索、該検索されたPOIの前記作業バッファ部への前記第2のロード手段によるロード処理、前記バッファにおけるPOIの前記ソート手段によるソート処理、前記基準距離更新手段による基準距離の更新処理を繰返し、前記着目ブロックにおけるA個の順位のPOIを正順に前記ソート済バッファ部に生成する。
前記逆順でPOIをソートする手段は、A個のエントリ位置を有するソート済バッファ部と所定数のエントリ位置を有する作業用バッファ部とで構成されるバッファ、前記所定位置からN個のどのPOIまでの距離よりも小さな距離を初期の基準距離として保存し、かつ、前記所定位置からN個のどのPOIまでの距離よりも大きな距離を初期の前回最小距離として保存すると共に、前ブロックでのソートが済んでいる場合には、該前ブロックでのソート結果におけるA個のPOIまでの距離のうち最小距離を前回最小距離として保存する手段、前記着目ブロックにおけるA個の順位のPOIを所定位置からの距離に応じて逆順にソートする際、前記所定位置からの距離が前記の前回最小距離よりも小さく、かつ、前記初期の基準距離よりも大きいPOIを検索し、該検索されたPOIを前記ソート済バッファ部にロードする第1のロード手段、該ソート済バッファ部がA個のPOIでフルになったとき、該ソート済バッファ部のPOIを逆順でソートし、該A個のPOIのうち前記所定位置からの距離が最小となる距離を新たな基準距離とする手段、前記所定位置からの距離が、前記の前回最小距離よりも小さく、かつ、前記新たな基準距離よりも大きいPOIを検索し、該検索されたPOIを前記作業バッファ部にロードする第2のロード手段、前記バッファがPOIでフルになったとき、該バッファのPOIを逆順に、かつ前記ソート済バッファ部に所定位置からの距離が長いA個のPOIが並ぶようにソートするソート手段、前記ソート済バッファ部内のA個のPOIのうち前記所定位置からの距離が最小となる距離を新たな基準距離とする基準距離更新手段、を備え、以後、前記の前回最小距離よりも小さく、かつ、前記基準距離よりも大きいPOIが検索できなくなるまで、上記検索、該検索されたPOIの前記作業バッファ部への前記第2のロード手段によるロード処理、前記バッファにおけるPOIの前記ソート手段によるソート処理、前記基準距離更新手段による基準距離の更新処理を繰返し、前記着目ブロックにおけるA個の順位のPOIを逆順に前記ソート済バッファ部に生成する。
【0018】
本発明のPOI情報表示装置によれば、即座に必要な数のソート結果を作成して表示することが可能になる。また、本発明のPOI情報表示装置によれば、大きなメモリあるいは高性能のコンピュータを必要とすることなく、POI情報を即座にソート・表示することが可能になる。
【0019】
また、所定数づつの順位のデータをユーザが必要する都度、最上位より順番に高速に決定して表示するものであるため、ユーザに何等の不満足さを感じさせることはない。
【0020】
【発明の実施の形態】
ここで本発明のデータソート方法を、添付の図面を参照しながら、より詳細に説明する。さらに、本発明のデータソート方法を用いたナビゲーションシステムについても、添付の図面を参照しながら詳細に説明する。
【0021】
本発明は車両ナビゲーションシステムに関して記述されるが、本発明はこの特定の応用例だけに限定されるのではないということに注意が必要である。例えば、本発明は携帯(可搬式)ナビゲーションシステム、個人情報管理ツール(PDA)といった携帯式データ端末、ナビゲーション機能付ラップトップコンピュータ等にも応用が可能である。
【0022】
本発明のデータソート方法において、入力データは、一連の小さなブロックのシリーズにソートされる。なお、各ブロックはソートされた全結果の一部分を示す。1つのブロックに対するデータソートプロセスは前のブロックのソート結果を用いて実施される。
【0023】
図3A〜3Eは本発明のデータソート方法の基本的概念を示す説明図であり、図3AはN個の入力エントリデータ(入力データアレイ)を示し、図3Bはソート手順に対して用いられるバッファメモリの構造を示し、図3CはN(=10)個の順序を最上位より順番にA(=2)個づつのブロックに分割したときの各ブロックのソート後の状態を示し、図3Dは最終のソート結果を示し、図3Eは図3Dのソート結果を逆順でソートした最終結果を示す。
【0024】
データソートの実際の応用において、同時に完全な全てのソート結果を必ずしも必要とせず、ソート結果の一部が高速度で得られるのであれば、ソート結果の一部だけでも十分である場合がある。本発明のデータソート方法はこういった応用例においてとりわけ有用である。
【0025】
例えば、ナビゲーションシステムにおいて、ナビゲーションシステムの表示画面が数個から10個程度のPOIだけの情報表示に限られているため、距離に応じてソートされた数百から1,000個程度のPOIといった多数のエントリを一時に準備する必要はないということを本発明者は見出した。
【0026】
そのため、ソート作業を高速度で行うことができるのであれば、実際の使用に対して所定ブロックに属する順位のPOIであって、距離に応じてソートされた一部POI(例えば、数十個のPOI)が得られれば十分である。そして、使用者が画面を連続的にスクロールして追加のPOIが必要になった場合、ナビゲーションシステムは、着目ブロックのPOIがなくなる前に次のブロックに属する順位のPOIをソート・作成する。
【0027】
図3A〜3Eの例に関して、本発明のソート方法は以下に示すように実行される。入力データが10個のエントリをもつ場合、図3Cに示すように10個の順序(第1位〜第10位)を最上位より順番に2個づつの5ブロックB1〜B5に分割し、上位のブロックより順番に各ブロックを構成する順位のデータを決定してソートする。
図3Aに示す入力データアレイは図2Aと同じものである。図3D(正順でのソート)もしくは図3E(逆順でのソート)のソート結果を出力するように、各エントリデータの属性を示す数字(例えば、距離)の順番で入力データをソートする。このソート方法ではまず図3Bに示すバッファを作成する。
【0028】
この場合、図3Bのバッファは、A(=2)個のエントリに対するスペース(エントリ位置)をもつソート済バッファ(sorted buffer)501と、2個のエントリに対するスペースをもつ作業バッファ(working buffer)502で構成されている。
なお、各ブロックが3個の順位を持つのが望ましいのであれば、ソート済バッファ501と作業バッファ502のそれぞれは3個のエントリに対するスペース(エントリ位置)をもたなければならない。つまり、ソート済バッファおよび作業バッファそれぞれのエントリ数は各ブロックB1〜B5におけるエントリ数(順位の数)と等しくなるよう設定する。
【0029】
正順でのソートにおいては、まず順番[0,1]を示す本発明のソートプロセスで図3CのブロックB1を作成する。次に、ブロックB1のソート結果を用いて本発明のソートプロセスにより、順番[2,3]を示す図3Cの次のブロックB2を作成する。さらに、ブロックB2の結果を用いて本発明のソートプロセスにより、順番[4,5]を示す図3Cの次のブロックB3を作成する。このプロセスを繰り返すことにより、図3Dに示す全ソート結果を形成する一連のブロックB1〜B5を作成する。ソートを逆順で行った場合、図3Eに示す全ソート結果が得られる。
【0030】
上記のナビゲーションシステムにおけるPOIのソート応用例において、ナビゲーションシステムは、ブロックB1が作成されるとすぐにソート結果を用いる。次のソート結果が必要な場合、ブロックB1の結果を用いながらナビゲーションシステムがブロックB2を作成する。各ブロックには少数のエントリしかないため、各ブロックのソートプロセスは高速度で行われ、使用者は、ナビゲーションシステムにおいてソート操作が非連続で行われていることに気づかない。
【0031】
本発明におけるソート方法において、入力データにおけるエントリ数がNと仮定すると、各ブロックのエントリ数(順位数)をX/2とすると、ブロック総数は2N/Xとなる。ソートアルゴリズムは合計エントリ数がXのバッファ(ソート済バッファと作業バッファ)を用い、ここで初めのX/2はソート済バッファ501のエントリ数を示し、後のX/2は作業バッファ502のエントリ数を示す。この配置において、クイックソート法を用いてバッファ中のエントリをソートすると、次の数のデータ比較が必要になる:
比較(平均)=Xln(X)
比較(最悪ケース)=X(X−1)/2
ここでlnは自然対数である。
【0032】
したがって、Xが60の場合、比較の数は平均ケースの場合、約246になる。最悪ケースの場合、比較の数は約1,800になる。
【0033】
入力データがN個のエントリをもち、上記のように一時にXエントリをソートするためにはソート操作をN/X回繰り返す必要がある。したがって、Nエントリのソートを行うために必要なデータ比較数は:
比較(平均)=N/X・Xln(X)=Nln(X)
比較(最悪ケース)=N/X・{X(X−1)/2}=N(X−1)/2
ここでlnは自然対数である。
【0034】
ここでNが1,000でXが60の場合、比較の数は平均ケースで約4,100になる。最悪ケースでは比較の数は約30,000になる。
【0035】
前の説明の通り、従来技術においては、Nが1,000の場合、平均ケースで6,900の比較が必要であり、最悪ケースで500,000の比較が必要である。本発明においては、各ブロックのソート結果は246の比較で作成することができ、全ソート結果は、従来技術での6,900に比較して、平均で4,100の比較で作成が可能である。このように本発明のソートアルゴリズムは比較の数が少なくてすむ。特に、小さなブロックのソート結果が有用な応用例の場合、本発明は非常に少ない比較数(例えば246)のみですみ、小さなバッファメモリしか必要としないため、非常に効果的である。
【0036】
上記の説明においては、ソート済バッファのエントリ数をX/2、作業バッファのエントリ数をX/2、すなわちソート済バッファと作業バッファのサイズは同じであると仮定している。しかしながら、本発明においては、各バッファのエントリ数は異なっていてもよい。したがって、ソート済バッファのエントリ数をA、作業バッファのエントリ数をBとすると、全バッファのエントリはX=A+Bになる。
【0037】
図4A〜4Iは、図3Cに示す2個のエントリ(順位)をもつソートされたブロックB1を作成するための、本発明におけるデータソートプロセスを示す。まず、2個のエントリに対するソート済バッファ501と2個のエントリに対する作業バッファ502、すなわち合計4個のエントリによりコンフィギュレーションされたバッファ500を図4Aのように作成する。ソート済バッファ501の影部分は、基準エントリを記憶する部分で、基準エントリよりも小さい(正順ソートの場合)あるいは大きい(逆順ソートの場合)のエントリを検索するための基準エントリを置くためのものである。
【0038】
始め、図4Bに示すとおり、「99」といった予想されたエントリのいずれよりも大きな最大数(例えば、最大距離)が、ソート済バッファ501の影部分(第2スペースもしくは最終エントリ位置)に初期値として割り当てられる。図4Cのプロセスにおいて、「前回最大」値よりも大きく、基準エントリ(影部分のエントリ)よりも小さなデータエントリが、ソート済バッファ内にロードされる。「前回最大」値とは前のソート結果における最大のエントリを意味する。前のソートがないため、「前回最大」値は「−1」に設定される。入力データ(図3A)の最初のデータ「5」は「−1」よりも大きく、「99」よりも小さいため、これは上記の条件を満たす。したがってデータエントリ「5」は、ソート済バッファの第1スペースにロードされる。次のデータ「3」も上記の条件を満たすため、データエントリ「3」は、ソート済バッファの第2スペースにロードされる。
【0039】
次のプロセスにおいて、ソート済バッファ501がフルであるため、ソート済バッファのエントリを図4Dに示すとおりソートする。したがって基準エントリ(影部分の数)はここで「5」に変わる。その後、図4Eにおいて、作業バッファ502に対しても図4Cのプロセスと同様のプロセスが実施される。すなわち、「前回最大」値よりも大きく、基準エントリ「5」よりも小さなデータエントリが作業バッファにロードされる。入力データ(図3A)の次のエントリ「9」は基準エントリ「5」よりも小さくないため、これは上記の条件を満たさない。データ「2」は「−1」(前回最大)よりも大きく、基準エントリ「5」よりも小さいため、データエントリ「2」は条件を満たし、作業バッファの第1スペースにロードされる。データエントリ「8」は条件を満たさない。しかしデータエントリ「1」は条件を満たし、作業バッファの第2スペースにロードされる。
【0040】
バッファ(ソート済バッファ501と作業バッファ502)がフルの場合、図4Fに示すとおり全エントリをソートする。このように、ここで基準エントリ(影部分における数)が「2」に変わる。その後、図4Gにおいて、作業バッファに対して図4Eのプロセスと同様のプロセスが行われる。すなわち、「−1」(前回最大)よりも大きく、基準エントリ「2」よりも小さいデータエントリが作業バッファにロードされる。「0」だけが条件を満たすことができるため、データエントリ「0」が作業バッファの第1スペースにロードされる。他のエントリは条件を満たさないため、データエントリプロセスは終了になる。その後、全エントリが図4Hのようにソートされる。ソート済バッファ中の図4Iのデータ[0,1]が戻され、図3CのブロックB1のソートが完了する。なお、前回最大値は1になる。
【0041】
図5A〜5Iは、図3Cに示すソートされたブロックB2を作成するための、本発明におけるデータソートプロセスを示す。まず、2個のエントリに対するソート済バッファ501と2個のエントリに対する作業バッファ502、すなわち合計4個のエントリによりコンフィギュレーションされたバッファを図5Aのように作成する。ソート済バッファの影部分は、基準エントリを記憶する部分で、基準エントリよりも小さい(正順ソートの場合)あるいは大きい(逆順ソートの場合)他のエントリを検索するためのものである。
【0042】
始め、図5Bに示すとおり、「99」といった最大数(例えば、最大距離)が、ソート済バッファの影部分(第2スペース)に割り当てられる。図5Cのプロセスにおいて、「前回最大」値よりも大きく、基準エントリ(影部分のエントリ)よりも小さなデータエントリが、ソート済バッファ内にロードされる。図4A〜4Iに示す前のソートプロセスの結果に示すとおり、このケースでの「前回最大」は「1」であり、前のソート結果において最大のエントリになる。したがって、エントリ「0」と「1」は条件を満たさない。
【0043】
データエントリプロセスは図5Cに示すとおり、上記例と同様の方式で開始される。入力データ(図3A)における第1のデータ「5」は「1」(前回最大)よりも大きく、「99」よりも小さいため、上記条件を満たす。したがって、データエントリ「5」は、ソート済バッファの第1スペースにロードされる。次のデータ「3」も上記条件を満たすため、データエントリ「3」は、ソート済バッファの第2スペースにロードされる。
【0044】
次のプロセスにおいて、ソート済バッファ501がフルであるため、ソート済バッファ中のエントリが図5Dに示すとおりソートされる。したがって、ここで基準エントリ(影部分の番号)が「5」に変わる。その後、図5Eにおいて、図5Cのプロセスと同様のプロセスが作業バッファ502に対して実施される。すなわち、「前回最大」値よりも大きく、基準エントリ「5」よりも小さいデータエントリが作業バッファにロードされる。入力データ(図3A)の次のエントリ「9」は基準エントリ「5」よりも小さくないため、これは上記条件を満たさない。データ「2」は「1」(前回最大)よりも大きく、基準エントリ「5」よりも小さいため、データエントリ「2」は条件を満たし、作業バッファの第1スペースにロードされる。データエントリ「8」と「6」は条件を満たさない。しかし、データエントリ「4」は条件を満たし、作業バッファの第2スペースにロードされる。
【0045】
バッファがフルの場合、全エントリは図5Fに示すとおりソートされる。したがって、ここで基準エントリ(影部分の番号)が「3」に変わる。その後、図5Gにおいて、図5Eのプロセスと同様のプロセスが作業バッファに対して実施される。すなわち、「1」(前回最大)よりも大きく、基準エントリ「3」よりも小さいデータエントリは作業バッファに対してロードされる。条件を満たすエントリがないため、データエントリプロセスは終了になる。その後、全エントリが図5Hのようにソートされる。ソータされたバッファ中の図5Iのデータ[2,3]が戻され、図3CのブロックB2のソートが完了する。なお、前回最大値は3になる。
【0046】
図6A〜6Iは、図3Cに示すソートされたブロックB3を作成するための、本発明におけるデータソートプロセスを示す。まず、2個のエントリに対するソート済バッファ501と2個のエントリに対する作業バッファ502、すなわち合計4個のエントリによりコンフィギュレーションされたバッファ500を図6Aのように作成する。ソート済バッファ501の影部分は、基準エントリを記憶する部分で、基準エントリよりも小さい(正順ソートの場合)あるいは大きい(逆順ソートの場合)他のエントリを検索するためのものである。
【0047】
始め、図6Bに示すとおり、「99」といった最大数(例えば、最大距離)が、ソート済バッファ501の影部分(第2スペース)に初期値として割り当てられる。図6Cのプロセスにおいて、「前回最大」値よりも大きく、基準エントリ(影部分のエントリ)よりも小さなデータエントリが、ソート済バッファ内にロードされる。図5A〜5Iに示す前のソートプロセスの結果に示すとおり、このケースでの「前回最大」は「3」であり、前のソート結果において最大のエントリになる。したがって、エントリ「0」、「1」、「2」、「3」は条件を満たさない。
【0048】
データエントリプロセスは図6Cに示すとおり、上記例と同様の方式で開始される。入力データ(図3A)における第1のデータ「5」は「3」(前回最大)よりも大きく、「99」よりも小さいため、上記条件を満たす。したがって、データエントリ「5」は、ソート済バッファの第1スペースにロードされる。次のデータ「9」も上記条件を満たすため、データエントリ「9」は、ソート済バッファの第2スペースにロードされる。
【0049】
次のプロセスにおいて、ソート済バッファのエントリ501が図6Dに示すとおりソートされる。したがって、ここで基準エントリ(影部分の番号)が「9」に変わる。その後、図6Eにおいて、図6Cのプロセスと同様のプロセスが作業バッファ502に対して実施される。すなわち、「3」(前回最大)よりも大きく、基準エントリ「9」よりも小さいデータエントリが作業バッファにロードされる。入力データ(図3A)の次のエントリ「8」は「3」(前回最大)よりも大きく、基準エントリ「9」よりも小さいため、これは上記条件を満たす。データ「6」は「3」(前回最大)よりも大きく、基準エントリ「9」よりも小さいため、データエントリ「6」も作業バッファにロードされる。
【0050】
バッファがフルの場合、全エントリは図6Fに示すとおりソートされる。したがって、ここで基準エントリ(影部分の番号)が「6」に変わる。その後、図6Gにおいて、図6Eのプロセスと同様のプロセスが作業バッファ502に対して実施される。すなわち、「3」(前回最大)よりも大きく、基準エントリ「6」よりも小さいデータエントリは作業バッファに対してロードされる。「4」は条件を満たすため、データエントリ「4」は作業バッファの第1スペースにロードされる。他のエントリが条件を満たさないため、データエントリプロセスは終了となる。その後、全エントリが図6Hのようにソートされる。ソータされたバッファ中の図6Iのデータ[4,5]が戻され、図3Cのブロック3のソートが完了する。なお、前回最大値は5となる。
【0051】
こういった方法により、図3CにおいてソートされたブロックB4、B5も作成される。したがって、本発明におけるソート方法により図3Dの全ソート結果が作成される。各ブロックB1〜B5について簡単に述べた上記手順は、前のソート手順においてすでに戻された番号よりも小さい数字2つを見出し、この2つの番号を正順でソートするためのものである。これを行うため、エントリが(1)「前回最大」値よりも大きく、(2)基準エントリよりも小さいかどうかについての条件にしたがってエントリが選定される。
【0052】
本発明において、上記とは逆の条件、すなわちエントリが(1)「前回最小」値よりも小さく、(2)基準エントリよりも大きいかどうかという条件を用いることにより、逆順でのデータソートも可能である。図7A〜7Iは、図3Eに示す逆順でソートされた結果のブロックを作成するための、本発明におけるデータソートプロセスを示す。この例では、順位[9.8]の最上位ブロックB1がすでにソートされて作成されていると仮定している。したがって、図7A〜7Iの例は、図3Eにおける順位[7,6]をもつブロックB2をソート、作成するためのプロセスに対するものである。
【0053】
まず、2個のエントリに対するソート済バッファ501と2個のエントリに対する作業バッファ502、すなわち合計4個のエントリによりコンフィギュレーションされたバッファ500を図7Aのように作成する。ソート済バッファの影部分は、基準エントリを記憶する部分で、基準エントリよりも小さい(正順ソートの場合)あるいは大きい(逆順ソートの場合)他のエントリを検索するための基準エントリを置くためのものである。
【0054】
始めにおいて、図7Bに示すとおり、「−1」といった予想されたエントリのいずれよりも小さな最小数(例えば、最小距離)が、ソート済バッファ501の影部分(第2スペースあるいは最終のエントリ位置)に割り当てられる。図7Cのプロセスにおいて、「前回最小値」よりも小さく、基準エントリ(影部分のエントリ)よりも大きなデータエントリが、ソート済バッファ内にロードされる。前のソートプロセスの結果に示すとおり、このケースでの「前回最小」は「8」である。したがって、エントリ「9」、「8」は条件を満たさない。
【0055】
データエントリプロセスは図7Cに示すとおり、図4〜6の上記例と逆の方式で開始される。入力データ(図3A)における第1のデータ「5」は「8」(前回最小)よりも小さく、「−1」よりも大きいため、上記条件を満たす。したがって、データエントリ「5」は、ソート済バッファ501の第1スペースにロードされる。次のデータ「3」も上記条件を満たすため、データエントリ「3」は、ソート済バッファの第2スペースにロードされる。
【0056】
次のプロセスにおいて、ソート済バッファ501がフルであるため、ソート済バッファのエントリが図7Dに示すとおり逆順でソートされる。したがって、ここで基準エントリ(影部分の番号)が「3」に変わる。その後、図7Eにおいて、図7Cのプロセスと同様のプロセスが作業バッファ502に対して実施される。すなわち、「8」(前回最小値)よりも小さく、基準エントリ「3」よりも大きいデータエントリが作業バッファにロードされる。入力データ(図3A)のエントリ「4」は「8」(前回最小値)よりも小さく、基準エントリ「3」よりも大きいため、これは上記条件を満たし、作業バッファにロードされる。データ「6」は「8」(前回最小値)よりも小さく、基準エントリ「3」よりも大きいため、データエントリ「6」は条件を満たし、これも作業バッファの第2スペースにロードされる。
【0057】
バッファがフルの場合、全エントリは図7Fに示すとおり逆順でソートされる。したがって、ここで基準エントリ(影部分の番号)が「5」に変わる。その後、図7Gにおいて、図7Eのプロセスと同様のプロセスが作業バッファ502に対して実施される。すなわち、「8」(前回最小)よりも小さく、基準エントリ「5」よりも大きいデータエントリは作業バッファに対してロードされる。「7」は条件を満たすため、データエントリ「7」は作業バッファの第1スペースにロードされる。他のエントリが条件を満たさないため、データエントリプロセスは終了となる。その後、全エントリが図7Hの逆順でソートされる。ソータされたバッファ中の図7Iのデータ[7,6]が戻され、図3Eのソートされた順位[7,6]のブロックのソートが完了する。
【0058】
上記の通り、本発明のソート方法は、特定位置からの距離に応じてPOI(ポイントオブインタレスト)データをソートするようなナビゲーションシステムに対して有利に応用が可能である。したがって、以下における説明は、ナビゲーションシステムの機能と構成、ナビゲーションシステムにおける本発明のソート方法の実行例について行う。
【0059】
ナビゲーションシステムは、選択された到達点まで使用者が容易に到達できるようにするため道案内をする。典型的な例として車両用ナビゲーションシステムがある。本発明は車両用ナビゲーションシステムだけに限定されるものではなく、PDA(個人情報管理ツール)、携帯電話、その他の携帯用ナビゲーション機器といった他のタイプのナビゲーションシステムにも適用される。しかしながら、説明を簡略化するため、以下の記述は主に車両用ナビゲーションシステムについて行う。
【0060】
このようなナビゲーションシステムは車両の位置を検出し、車両の現在位置におけるある範囲についてのマップデータをCD−ROM(コンパクトディスク読み出し専用メモリ)あるいはDVD(デジタル多用途ディスク)等のデータ記憶媒体から読み取り、モニタ画面(ディスプレイ)上にマップ像を表示するとともに、マップ像の所定部分に車両の現在位置を示すマークを重ねる。その他、こういったマップデータを、インターネットのような通信ネットワークを通してリモートサーバから車両に与えることも可能である。
【0061】
車両位置は、車両に設置された内蔵型ナビゲーションセンサ(たとえば、走行距離センサやベアリングセンサ)あるいは人工衛星(衛星ナビゲーション)を含むGlobal Positioning System (GPS)により求める。衛星を用いることで絶対位置測定ができるようになり、内蔵型ナビゲーションセンサよりも高い位置精度が可能になる。しかしながら、衛星ナビゲーションは衛星信号が妨げられるトンネルあるいは建物等の内部において位置測定に不具合がある。したがって、最近のナビゲーションシステムでは、性能を高めるため内蔵型ナビゲーションセンサーとGPSの両方を用いている。
【0062】
車両の現在位置は車両が進むに連れて変化するため、画面上のマップ画像中の車両現在位置マークはそれにしたがって変化する。一方、車両現在位置マークが画像中心等の所定位置に固定されていればマップはスクロールされる。本ナビゲーションシステムにより運転者が車両位置のエリアについてのマップ情報を一目で認識できるようになる。
【0063】
到達点(目的地)が設定されていない場合、このナビゲーションシステムは位置表示マップとして機能し、マップ画像中に車両の現在位置を表示する。到達点が設定されている場合、このナビゲーションシステムは開始点から到達点までの道案内(経路案内)のための道案内機能を開始する。代表的なものとして、この道案内機能では、モニタ画面のマップ上に到達点への道案内経路(誘導経路)を表示しながら交差点で拡大図と車両が進むべき方向を表示する交差点案内プロセスを実行する。到達点が入力された場合、ナビゲーションシステム内のCPUが現車両位置から到達点までのもっとも適切な経路を求め、その後メモリ内に案内経路を構成するノード(緯度と経度で表示)を記憶する。
【0064】
実際の走行においては、メモリ内に記憶された一連のノードはモニタ画面のマップ表示領域で表示される案内経路の部分について検索され、この案内経路の部分は他の経路と識別可能となるよう強調表示される。車両が接近している交差点から所定距離内にある場合、交差点案内図(車両が交差点で曲がる方向を示す矢印とともに拡大あるいは強調された交差点図)が表示され、運転者に対して交差点で選定可能な道あるいは方向の中から望みのものを知らせる。
【0065】
図8Aはマップ画像21上における現車両位置マークVCPを含むロケータマップ表示の例を示す。代表的なものとしては、ナビゲーションシステムにおいて車両が走行している通りをマップ画像21に示し、「W 190TH ST」といった通りの名前をモニタ画面の情報ボックス23に示す。北向き矢印NP、マップ尺度、現在時刻といった他の情報についてもディスプレイ画面上に示してもよい。こういった方法により、ロケータマップ表示ではマップ画像上の車両の現在位置を示すが、ナビゲーションシステムにおいて到着点が設定されていないため道案内機能は実行されない。
【0066】
図8Bは道案内機能を実行する道案内画面の例を示す。道案内画面は到着点を特定した後に起動される。この例では、現在の通り「W 190TH ST」と次の通り「PRAIRIE AVE」の左側がマップ画像21で強調されており、これにより次の交差点での曲がる方向を示している。さらにこの例では、車両が交差点で曲がる方向(左)を示す矢印が画面最上部にある案内情報ボックス22に表示されている。この案内情報ボックス22はまた、現在の通り「W 190TH ST」と交差する通り「PRAIRIE AVE」の名前と交差点までの距離を示している。このようにこのナビゲーションシステムでは、車両が「PRAIRIE AVE」との交差点で左に曲がらなければならないということを示している。
【0067】
強調表示に加えて、こういった道案内に対しては音声案内も行われる。次の交差点での走行方向が左であった場合、このナビゲーションシステムは「次の交差点で左折してください」といった音声案内を行う。この例では、表示画面の最下部にある情報ボックス24に最終到達点までの残りの距離と最終到達点に到達する予想時間に関する情報が含まれる。
【0068】
図8Bに示すような道案内モードにより案内されるためには、ナビゲーションシステムにおいて到達点を特定し、システムがこの到達点に到達するための1つ以上の経路を見出すことができるようにしなければならない。図9A〜9Cは、到達点の入力操作中にモニタ画面上に現れる表示の例を示す。
【0069】
リモコン上のメニューキーを操作することにより、図9Aに示すようなメインメニュー画像25がナビゲーションシステム上に表示され、メニュー項目「到達点」がメインメニューから選定される。これによりナビゲーションシステムが図9Bに示すように「到達点を入力」画面27を表示し、到達点を選定するための入力方法を特定することができるようになる。「到達点入力」画面27は到達点を選定するためのさまざまな方法をリストアップしており、その中には、到達点の街や住所を特定するための「住所(Address)」、街中にあってそれぞれが交差する2つの通りの名前を特定するための「交差点(intersection)」、名前や分類、電話番号に基づくプログラム済の到達点を選定するための「ポントオブインタレスト」(Point of Interest:POI)等が含まれる。
【0070】
「到達点を入力」画面27における他の方法には、ナビゲーションシステムに保存された最近の到達点に基づいて到達点を特定するための「最近の経路(Recent Route)」、システム中に記憶させた住所から到達点の住所を選定するための「アドレス帳(Address Book)」、ナビゲーションシステムにおいて2つ以上の到達点を特定するための「本日の計画(Today's Plan)」等が含まれる。例えば使用者が最終到達点に行く前に複数の到達点に行きたい場合、このナビゲーションシステムはこれらの到達点までの効率的な順番や経路を計算する。
【0071】
図9Bにおける「住所(Address)」を選定する場合、ナビゲーションシステムは図9Cに示すような「通りの名前を入力してください」といった画面を表示する。図9Cの画面は、モニタ画面上の住所入力ボックス37で街と住所を入力するためのキーボード38が基本である。使用者はキーボード38を通して住所入力ボックス37で通りの名前と番号を入力する。
【0072】
到達点を入力した後、このナビゲーションシステムは、例えば到達点まで到達する上での最短コース、可能な限り多くの無料道路を用いたルートあるいは有料自動車道を用いないルートといったものに基づいて到達点までの経路を求める。このようにナビゲーションシステムは、道案内を行う図8Bに示すような道案内表示に移行する。
【0073】
本発明は上記の「ポントオブインタレスト」入力法を用いたナビゲーションシステムの方法と装置に関するものである。代表的なものとしては、ポントオブインタレスト(POI)の分類(カテゴリー)を特定し、この分類を有するPOIを使用者の現在位置からの距離の順番に基づいて検索・表示する。「ポントオブインタレスト(POI)」入力法は扱いやすく有用であるが、最近の記憶媒体はPOI情報を示すデータについてかなりの量を提供するようになったことから、大きなメモリが必要になり、しかも、距離に応じてソートしたPOI情報を表示する必要があるためPOI情報を抽出・保持するために比較的長い時間が必要になってきた。
【0074】
「ポントオブインタレストPOI」により到達点を特定するためのプロセスは、図10A〜10Fを参照しながら以下のような方法で実行される。図10A〜10Fの例において、目的とする到達点はカリフォルニア州アービンにある日本料理店「Taiko」と仮定する。図10Aは到達点を選定するための様々な上記入力方法をリストアップした画面の例を示す。この例に示すとおり、代表的なものとして、ナビゲーションディスプレイでは1ページあたり最大7〜8項目までの複数項目をリストアップする。したがって、項目数が最大数を超えた場合、現在の画面の外にある他の項目を見るためには通常、表示のスクロールを行う必要がある。
【0075】
図10Aにおいて、「ポントオブインタレストPOI」を選定してエンターキーを押すことによりナビゲーションシステムは図10Bに示すような画面を表示し、ユーザに場所の名前あるいは場所のタイプのいずれかによりポントオブインタレストPOIを見出すべきか選択させる。本例に示されている通り、この画面では代表的なものとして2項目のみリストアップしている。図10Bにおいて、「場所のタイプ」を選定してエンターキーを押すことによって、ナビゲーションシステムは図10Cに示すような「カテゴリー選択」画面を表示して、ポントオブインタレストPOIの分類をユーザに選定させる。この画面では、「ATM」、「自動車関係」、「銀行」、「レストラン」、「ホテル」、「買い物」といったポントオブインタレストPOIの様々な異なる分類についてリストアップする。典型的なものとして、このような分類の数は40以上の数にのぼる。したがって、多くの場合、このような分類リストをスクロールして画面上の好みの場所を見つける必要がある。
【0076】
図10Cにおいて「レストラン」の分類タイプを選定することで、このナビゲーションシステムは選定された分類(レストラン)の副分類選定画面リスト(副分類)を表示する。この場合、副分類の画面では、「アメリカ風」、「カリフォルニア風」、「中国風」、「フランス風」、「イタリア風」、「日本風」、「朝鮮風」といった食べ物のタイプを示す。場合によってはこのような副分類リストは数ページにわたり、好みの副分類を見つけ出すためにページのスクロールが必要になる。
【0077】
図10Dにおいて、副分類「日本風」を選定してエンターキーを押すことにより、ナビゲーションシステムは図10Eに示すような場所を見つけ出す方法を選定するための画面を表示する。この例では、「距離による分類」、「名前」、「市内」といったものが含まれる。「距離による分類」法は車両の現在位置からの距離の順番に、この例では日本料理店の場所を見つけ出す。「名前」法は、例えばキーボードを通して日本料理店の名前を入力することで場所を見つける。「市内」法は、使用者に市を選定させ、その後に日本料理店の場所のリストアップを行うものである。
【0078】
図10Eにおいて「距離による分類」を選定してエンターキーを押すことにより、ナビゲーションシステムは図10Fに示すとおり、現車両位置からの距離の順番により日本料理店のリストを表示する。図10Fの画像ではリストにある場所の名前の1つを選定することになっている。典型的な場合、このリストには現車両位置からの距離とリストの各場所の名前に対する現車両位置からみた方向も含む。同じ名前のレストランが2つ以上ある場合、これらのレストランは車両位置からの距離の順番にリストアップされる。
【0079】
使用者は図10Fの「Taiko」という名前を選定しエンターキーを押す。その後、ナビゲーションシステムは到達点を確認するため図10Gに示すような確認経路画面を表示する。図10Gの画面では選定された到達点の名前、住所、電話番号を示す。図10Gの例では示されていないものの、こういった確認画面では到達点までの距離、到達点に到達するまでの予想時間、到達点の方向についても示す場合がある。
【0080】
図10Gにおいて「次に進んでもよい(OK to Proceed)」を選定することにより、ナビゲーションシステムは図10Hにおける到達点までの最適経路を計算する。ナビゲーションシステムは到達点までの経路を、例えば到達点までの最短距離、できるだけ多くの無料道路を用いた経路、有料道路を用いない経路といったものに基づいて求める。このプロセスにおいて、ナビゲーションシステムは図10Hの下部に示す棒グラフによって計算の進捗を示す。その後、ナビゲーションシステムは図8Bに示すような道案内画面へと移り、道案内を実施する。
【0081】
前の例において、「ポントオブインタレスト(POI)」による到達点の特定プロセスでは全国程度の広さのエリアについて特定のPOI情報(例えば日本料理店)を検索(抽出)するステップが必要になる。このプロセスはさらに、車両(使用者)の現在位置からの距離の順番に表示するため、得られたPOI情報をソートするステップが必要である。
【0082】
ナビゲーションシステムに応用される本発明のデータソート方法の詳細に移る前に、ナビゲーションシステムの基本的構成について簡単に説明する。図11において、ナビゲーションシステムは、マップ情報を記憶するためのCD−ROM、DVD、ハードディスク、その他の記憶媒体(以降、「DVD」と称する)といったマップ記憶媒体41、DVDからマップ情報を読み取るための操作を制御するためのDVD制御ユニット42、現在の車両位置を計測するための位置計測装置43を含む。位置計測装置43は、移動距離を検出するための車両速度センサ、移動方向を検出するためのジャイロスコープ、位置計算のためのマイクロプロセッサ、GPS受信機等をもつ。
【0083】
図11はさらに、DVD41から読み取られたマップ情報を記憶するためのマップ情報メモリ44、DVD41から読み取られたポントオブインタレスト(POI)情報といったデータベース情報を記憶するためのデータベースメモリ45、メニュー選定操作、拡大/縮小操作、到達点入力操作等を実行するためのリモートコントローラ47、リモートコントローラインターフェイス48を含む。POIデータメモリ45には、例えば、カテゴリー別に、POI名称(POI ID)、POI位置(経緯度)、POIの副カテゴリー、住所、TELなどの情報が保存されている。
【0084】
リモートコントローラ47は図12Aに示す様々な機能キーと図12Bに示す数値キーをもつ。図12Aの下部にあるふたを開くと数値キーが現れる。リモートコントローラ47は、ジョイスティック・エンターキー47a、回転式エンコーダ47b、取り消しキー47c、MP/RGキー47d、メニューキー47e、ズーム/スクロールキー47q、モニタオン/オフキー47f、リモートコントロール発信機47g、プランキー47h、N/Hキー47i、音声キー47j、リストキー47k、迂回キー47l、到達点消去キー47m、消去キー47n、数値キー47o、OKキー47pを含む。
【0085】
ジョイスティック・エンターキー47aはメニュー内の強調項目を選定し、マップ表示および車両位置アイコンを移動させる。回転式エンコーダ47bはズーム倍率を変更し、リストページをスクロールし、カーソルを移動する。取り消しキー47cは現在表示されている画像を取り消す、あるいは前のメニュー画面に画面を戻す際に操作する。MP/RGキー47dは案内中、詳細マップ表示と基本案内表示間でトグル操作を行う。メニューキー47eはメインメニュー表示を行う。プランキー47hは本日の計画機能により設定された経路への案内を開始し、N/Hキー47iは北上方向と前進方向間の変更を行い、音声キー47jは音声案内を開始する。
【0086】
上記のようなリモートコントローラはメニュー選定や選定された機能の実行等の典型的な例であるが、ナビゲーションシステムはリモートコントローラを通して行われる同様の類似の操作を行うための他の入力方法も含んでいる。例えば、ナビゲーションシステムは、ダッシュボードの上に設けたナビゲーションシステムのヘッドユニットにハードキーやジョイスティックをもち、ディスプレイパネルにタッチスクリーンをもち、音声通信手段ももつ。
【0087】
図11に戻り、ナビゲーションシステムはさらに、システムの上記ユニットのインターフェイスとなるバス46、ナビゲーションシステムの全般的動作を制御するためのプロセッサ(CPU)49、ナビゲーション制御に必要な目的地設定プログラムや経路検索プログラム、マップマッチングプログラムといった様々な制御プログラムを記憶するためのROM50、案内経路等の処理結果を記憶するためのRAM51、音声通信インターフェイスおよび音声案内のための音声案内ユニット52、マップ情報に基づきマップ画像(マップ案内画像および矢印案内画像)を作成するための表示コントローラ53、表示コントローラによって作成された画像を記憶するためのVRAM54、メニュー画像/様々なリスト画像を作成するためのメニュー/リスト作成ユニット55、VRAM54からの画像を合成させるための合成ユニット56、モニタ(ディスプレイ)57、POI情報の表示の順番を計算・調整するためデータを一時記憶させるためのバッファメモリ58、ナビゲーションシステムの表示パネルにおけるハードキーおよびジョイスティックあるいはナビゲーションシステムのタッチスクリーンといったその他様々な入力手段のインターフェイスとなるキースクリーンインターフェイス59を含む。
【0088】
上記の通り、典型的な応用例において、使用者は、到達点を選定するため、距離に応じてソートされたPOI(ポイントオブインタレスト)リストを表示するためナビゲーションシステムに指示を与える。通常の場合、ナビゲーションシステムの表示画面には一度に数項目から10項目(POI)程度のリストアップ表示を行う。使用者が他のPOIを見ることを望んだ場合、使用者はズーム/スクロールキー47q(図12A)を操作することで表示画面をスクロールする。
【0089】
本発明のデータソート方法は、POIをソート・スクロールするナビゲーションシステムの操作に対して有利に応用できる。図13A〜13Lは本発明のソート方法を用いた正順(最短から最長)で距離に応じてPOIをソートするためのプロセスを示す。ナビゲーションシステムへのソート方法の応用はPOIのソートだけでなく、マトリクス様式であらかじめ決められた範囲をカバーするセルといった他のデータをソートする場合にも応用可能であることに注意する必要がある。
【0090】
図13AはDVD41(図11)といったマップデータ源から抽出されたPOIデータアレイを示す。上部ボックス1はPOIのIDを、下部ボックス2はPOIまでの距離を示す。この例では、図15A〜15Fに示すように、POIデータをソートした複数の小ブロックB1〜B5を作成するため、POIデータアレイをソートすると仮定している。説明を簡略化するため、POIデータアレイはN(=16)エントリだけをもち、N(=16)個の順序を最上位より順番にA(=3)個づつのブロックに分割する。すなわち、各ブロックB1〜B5は3エントリ(3つの順位)だけをもつことにする。しかしながら、実際の応用においては、たとえば、入力データ数が1,000エントリ、各ブロックの順位数が30といった場合が一般的である。
【0091】
POIのソートにおいて、まず、A(=3個)のエントリに対するソート済バッファ601と所定数たとえば3個のエントリに対する作業バッファ602、すなわち合計6個のエントリによりコンフィギュレーションされたバッファを図13Bのように作成する。ソート済バッファ601の影部分は、基準エントリを記憶する部分で、基準エントリよりも小さい(正順ソートの場合)あるいは大きい(逆順ソートの場合)他のエントリを検索するためのものである。
【0092】
始め、図13Bに示すとおり、「99」といった予測されたどのエントリよりも大きい最大数(例えば、最大距離)が、初期値としてソート済バッファの影部分(第3スペース)に割り当てられる。図13Dのプロセスにおいて、「前回最大」値よりも大きく、基準エントリ(影部分のエントリ)よりも小さなデータエントリが、ソート済バッファ内にロードされる。「前回最大」とは前のソート結果における最大のエントリを意味する。前のソートがないため、「前回最大」は「−1」に設定される。最大数(もしくは逆順ソートにおける最小数)および前回最大値(もしくは逆順ソートにおける前回最小値)は、特定の目的に応じて自由に選定が可能であることに注意のこと。
【0093】
入力データ(図13A)におけるPOI(A)は「−1」よりも大きく、「99」よりも小さい距離データ「15」をもつため、上記の条件を満たす。したがって、POIAの距離データ「15」は、ソート済バッファ601の第1スペースにロードされる。POIBの距離データ「7」およびPOI(C)の距離データ「5」も上記の条件を満たす。したがって、図13Dにおいて、距離データ「7」および「5」についても、ソート済バッファ601の第2、第3スペースそれぞれにロードされる。
【0094】
次のプロセスにおいて、ソート済バッファ601がフルであるため、該ソート済バッファのエントリを図13Eに示すとおりソートする。したがって基準エントリ(影部分の数)はここで「15」に変わる。その後、図13Fにおいて、「前回最大」値よりも大きく、基準エントリ「15」よりも小さな距離データが検索され、作業バッファ602にロードされる。入力データ(図13A)におけるPOI(D)の次の距離データ「9」は「−1」(前回最大)よりも大きく、基準エントリ「15」よりも小さいため、これは上記の条件を満たす。したがって、距離データ「9」は、作業バッファ602の第1スペースにロードされる。同様に、POI(E)の距離データ「12」とPOI(F)の距離データ「10」も上記条件を満たす。したがって、図13Fにおいて、距離データ「12」と「10」についても、作業バッファ602の第2、第3スペースそれぞれにロードされる。
【0095】
バッファがフルであるため、全エントリ(距離データ)を図14Aに示すとおり正順でソートする。したがって基準エントリ(影部分の数)はここで「9」に変わる。その後、図13Hにおいて、図14Bのプロセスと同様のプロセスが作業バッファ602に対して実施される。すなわち、「−1」(前回最大)よりも大きく、基準エントリ「9」よりも小さな距離データが作業バッファ602にロードされる。
【0096】
入力データ(図13A)におけるPOI(G)の距離データ「6」が「−1」(前回最大)よりも大きく、基準エントリ「9」よりも小さいため、これは上記の条件を満たす。したがって、距離データ「6」は、作業バッファの第1スペースにロードされる。同様に、POI(H)の距離データ「8」も上記条件を満たし、図14Bにおける作業バッファ602の第2スペースにロードされる。さらに、POI(M)の距離データ「14」は条件を満たし、図14Bに示す作業バッファ602の第3スペースにロードされる。
【0097】
バッファがフルであるため、全エントリ(距離データ)を図14Cに示すとおり正順でソートする。したがって基準エントリ(影部分の数)はここで「6」に変わる。その後、図14Dにおいて、図14Bのプロセスと同様のプロセスが作業バッファ602に対して実施される。すなわち、「−1」(前回最大)よりも大きく、基準エントリ「6」よりも小さな距離データが作業バッファ602にロードされる。
【0098】
POI(O)の距離データ「3」は「−1」(前回最大)よりも大きく、基準エントリ「6」よりも小さく、上記条件を満たす。したがって、距離データ「3」は作業バッファ601の第1スペースにロードされる。他のエントリは上記条件を満たさないため、データエントリプロセスは終了になる。その後、図14Dのバッファ中の全エントリは正順でソートされ、図14Eで示す距離の順番になる。ソート済バッファ中の距離データ[3,4,5]、すなわちPOI(O)、POI(M)、POI(C)に戻されると、図14Fのソートされた最上位ブロックB1が完成する。すなわち、ソート済バッファ601に第1順位〜第3順位のPOIが正順に配列される。なお、前回最大値は5となる。
【0099】
次のブロックに対してこの手順を繰り返しながら、直前のソートプロセスから得られたブロックにおける最大数(最大距離)により「前回最大値」を更新することにより、ナビゲーションシステムは、ソートされた結果の全ブロックB1〜B5を完成することが可能になる。図15Aおよび図15B〜15Fは、当初のPOIデータおよび各ブロックB1〜B5でのソート結果を示す。図15Bのブロックは、上記の図13B〜図14Fの手順から得られた第4順位〜第6順位のソート結果を示す。図15C〜15FのブロックB3〜B5もそれぞれ、図13B〜図14Fの手順を繰り返すことで作成されるが、「前回最大値」は直前のブロックにおける最大値と置き換えなければならない。例えば、図15Dのソート結果を作成するため、「前回最大値」は、図15CのブロックB2における最大値「8」としなければならない。
【0100】
ここでは示されていないが、逆順でのソートは、条件に関して逆の関係を用いながら上記の方法により実施することも可能である。すなわち、図7A〜7Iで示す通り、逆順でのソートにおいて、データエントリを選定するための条件は、エントリが(1)「前回最小値」よりも小さく、(2)基準エントリよりも大きいかどうかというものである。したがって、ナビゲーションシステムにおいて、POIを逆順でソートすることが可能であり、表示画面上でPOIリストをスクロールバックする際に有用である。
【0101】
図16A〜16Cは、本発明のソート方法を実施するためのナビゲーションシステムの基本コンフィギュレーションを示す概略図と、本発明にしたがって距離に応じてソートされたPOI情報をスクロールする場合の表示例である。上記の本発明によるソート手順を通して、ナビゲーションシステムは距離に応じてソートされたPOIを表示する。この例では、入力POIデータに対するソート手順を実施し、距離に応じてソートされたPOIリストを表示するための図11のCPU49およびバッファメモリ58を示す。
【0102】
ナビゲーションシステム(CPU49)は、DVDあるいはCD−ROM41(図11)といったデータ源あるいはPOIデータべースメモリ45から所定のカテゴリーのPOIを検索し、それらを距離に応じてソートする。POI数は1,000程度でも可能であるが、本発明においてはこういったPOIは、それぞれが少数の順位をもつ複数のブロックに別々にソートされる。例えば、各ブロックは距離に応じてソートされた30個のPOIを含むが、1つの表示画面は5〜10個のPOIを表示する。したがって、本発明において、ソートされたPOIの第1のブロックが得られるとすぐに、ナビゲーションシステムは、図16Aに示すように距離に応じてソートされたPOIリストを表示する。
【0103】
使用者が、例えばズーム/スクロールキー47q(図12A)を操作して、図16Bのように画面をスクロールした場合、ナビゲーションシステムは続けて下側のリストにあるPOIを示す。使用者がさらに下にスクロールし、ブロック内順位のソートされたPOIがなくなると、ナビゲーションシステムは続けて、上位あるいは下位のブロックのソートを行う。図16Cに示すように使用者が上にスクロールし、上位ブロックを構成する順位のPOIを決定(ソート)する必要が生じれば、ナビゲーションシステムは、逆順でソートを行い、上側のリストにおいて距離に応じてソートされたPOIを表示する。
【0104】
図17は、ナビゲーションシステムを実際に用いる上で必要とされた際に、ソート結果が連続的に作成される場合に、距離に応じてソートされたPOI情報を表示するため、図16A〜16Cの状況と同様の状況を示す概略図である。ブロック62、64、66は本発明のソート方法により連続的に作成される。図ではブロック62が最上位ブロック、ブロック64が次のブロック、ブロック66が最下位ブロックであり、それぞれ、9個の順位で構成されている。ナビゲーションシステムは、スクロールバーで指示された表示範囲60内のPOIをリストアップ表示する。各ブロックのPOIは、例えば現使用者位置からの距離に応じてソートされる。
【0105】
ブロック64のPOIリストが表示されている状態において、使用者がスクロールバーを上下すると、表示範囲60内のPOIはそれに応じて変化する。スクロール範囲がブロック64のようにブロック内にある場合、ナビゲーションシステムはブロック64のPOIを単に表示するだけである。スクロールが現行のブロック64を超える場合、ナビゲーションシステムはスクロールの方向に応じてブロック62または64のいずれかを作成する。下向きのスクロールに対しては、ナビゲーションシステムは正順でソートされたPOIのブロックを作成し、上向きのスクロールに対しては、ナビゲーションシステムは上記のように逆順でソートされたPOIのブロックを作成する。
【0106】
図18は、入力データを正順でソートするための、本発明のソート手順を示すフローチャートである。上記の通り、本発明のデータソート方法では、入力データアレイは複数ブロックの形態で特定の順番にソートされる。図18のフローチャートにおいて、正順ソートが以下の通り実施される:
【0107】
ステップ101において、入力データアレイのエントリ数をN、ソート済バッファのエントリ数をAとするとき、ブロックの数(=N/A)を求める。すなわち、N個の順序を最上位より順番にA個づつのブロックに分割する。なお、作業バッファのエントリ数はB、両バッファの合計エントリ数はX(=A+B)とする。この場合、Bは任意の数で良く、例えばB=Aである。
その後、ステップ102において、エントリ数Aのソート済バッファとエントリ数Bの作業バッファバッファを配列してエントリ数X(=A+B)のバッファを作成する。さらにステップ103において、前回のブロックにおける「前回最大値」と、ソート済バッファの最終エントリ位置における値である基準エントリを決める。
【0108】
ステップ104において、本発明のソート方法では、(1)前回最大値よりも大きく、(2)基準エントリよりも小さい条件を満たすエントリを検索し、ソート済バッファにこの条件を満たすエントリをロードする。上記の通り、図4A〜4Iを参照しながら、ステップ104における基準エントリの初めの値は、入力データアレイにおけるどのエントリよりも大きな最大値である。
【0109】
その後、ステップ105において、ソート済バッファがフルであれば、ソート済バッファのエントリを正順でソートする。ソート済バッファ中のエントリのソートにより、ソート済バッファの最終エントリ位置におけるエントリ値は変化する、すなわち基準エントリが新しい基準エントリに変わる。ステップ106において、この方法では、(1)前回最大値よりも大きく、(2)新規基準エントリよりも小さい条件を満たすエントリを検索し、作業バッファにこの条件を満たすエントリをロードする。
【0110】
ステップ107において、バッファがフルであれば、全バッファ(ソート済バッファと作業バッファ)におけるエントリを正順でソートする。ステップ108において、ステップ106のサーチ条件を満たすデータアレイのエントリがなくなるまでステップ106と107を繰り返す。ステップ109において、この条件を満たすエントリがなくなれば、ソートされた最上位ブロックのソートが完了し、ソート済バッファ中のソート済みエントリを出力する。
【0111】
上記の手順は、正順でソートされた1つのブロックを作成するためのものである。ステップ110において、全ブロックのソートが完了したか、すなわち、未ソートの他のブロックが存在するかどうか判定される。残りのブロックがない場合、ソートプロセスは終了する。他のブロックがある場合、プロセスはステップ103に戻り、全ブロックのソートが完了するまでステップ103〜109の手順を繰り返す。
【0112】
図19は、入力データを逆順でソートするための、本発明のソート手順を示すフローチャートである。上記の通り、本発明のデータソート方法では、入力データアレイは複数ブロックの形態で特定の順番にソートされる。図19のフローチャートにおいて、逆順ソートが以下の通り実施される:
【0113】
ステップ201において、入力データアレイのエントリ数をN、ソート済バッファのエントリ数をAとするとき、ブロックの数(=N/A)を求める。すなわち、N個の順序を最上位より順番にA個づつのブロックに分割する。作業バッファのエントリ数はB、両バッファの合計エントリ数はX(=A+B)とする。この場合、Bは任意の数で良く、例えばB=Aである。
その後、ステップ202において、エントリ数Aのソート済バッファとエントリ数Bの作業バッファバッファを配列してエントリ数X(=A+B)のバッファを作成する。さらにステップ203において、前回のブロックにおける「前回最小値」と、ソート済バッファの最終エントリ位置における値である基準エントリを決める。
【0114】
ステップ204において、本発明のソート方法では、(1)前回最小値よりも小さく、(2)基準エントリよりも大きい条件を満たすエントリを検索し、ソート済バッファにこの条件を満たすエントリをロードする。上記の通り、図7A〜7Iを参照しながら、ステップ104における基準エントリの初めの値は、入力データアレイにおけるどのエントリよりも大きな最大値である。
【0115】
その後、ステップ205において、ソート済バッファがフルであれば、ソート済バッファのエントリを逆順でソートする。ソート済バッファ中のエントリのソートにより、ソート済バッファの最終エントリ位置におけるエントリ値は変化する、すなわち基準エントリが新しい基準エントリに変わる。ステップ206において、(1)前回最大値よりも小さく、(2)新規基準エントリよりも大きい条件を満たすエントリを検索し、作業バッファにこの条件を満たすエントリをロードする。
【0116】
ステップ207において、バッファがフルであれば、全バッファ(ソート済バッファと作業バッファ)におけるエントリを逆順でソートする。ステップ208において、ステップ206のサーチ条件を満たすデータアレイのエントリがなくなるまでステップ206と207を繰り返す。ステップ209において、この条件を満たすエントリがなくなれば、最上位のブロックのソートが完了し、ソート済バッファ中のソート済みエントリを出力する。
【0117】
上記の手順は、逆順でソートされた1つのブロックを作成するためのものである。ステップ210において、全ブロックのソートが完了したか、すなわち、未ソートの他のブロックが存在するかどうか判定される。残りのブロックがない場合、ソートプロセスは終了する。他のブロックがある場合、プロセスはステップ203に戻り、全ブロックのソートが完了するまでステップ203〜209の手順を繰り返す。
【0118】
【発明の効果】
前述の通り、本発明によれば、本データソート方法によりソート時間と、入力データアレイをソートするためのメモリサイズを大幅に縮小することができる。ソートされたデータをもつ各ブロックは、ソートされたデータの全ブロックが作成されるまで連続して作成される。このナビゲーション方法およびシステムでは本発明のソート方法を用い、これによりナビゲーションシステムの実際の使用に対して即座に必要な、距離に応じてソートされた少量のPOIのブロックを1つ以上作成することが可能になる。したがって、このナビゲーション方法とシステムによれば大きなメモリあるいは高性能のコンピュータを必要とすることなく、POI情報を即座にソート・表示することが可能になる。実際に必要な場合には、このナビゲーション方法とシステムでソート操作を繰り返し、ソートされたPOIの次のブロックを作成する。したがって、本発明により高速度操作と低コストのナビゲーションシステムを提供することができる。
【0119】
本発明はここにおいて好ましい実施例を参照しながら説明したが、技術的に優れたものであれば、本発明の考えや範囲を逸脱することなく様々な改造や変更を行うことができるということは即座に認めるはずである。こういった改造や変更は、添付の請求範囲およびそれに相当するものの範囲内にあるとみなされる。
【図面の簡単な説明】
【図1】本発明におけるデータソート方法を実行するためのコンピュータシステムにおける基本構造を示す構成図。
【図2】従来のデータソート方法を示す概略図。図2Aは入力データアレイを、図2Bはソート手順に対して用いられるバッファメモリを、図2Cはソートされたデータアレイを示す。
【図3】本発明のデータソート方法の基本的概念を示す概略図。図3Aは入力データアレイを、図3Bはソート手順に対して用いられるバッファメモリを、図3Cはそれぞれがソート結果をもつ直列様式で作成されたブロックを、図3Dは最終ソート結果を、図3Eは逆順での最終ソート結果を示す。
【図4】ソート結果の第1ブロックを作成するための、本発明におけるデータソート手順を示す概略図。
【図5】ソート結果の第2ブロックを作成するための、本発明におけるデータソート手順を示す概略図。
【図6】ソート結果の第3ブロックを作成するための、本発明におけるデータソート手順を示す概略図。
【図7】図3Eに示す逆順でソートを行ったソート結果のブロックを作成するための、本発明におけるデータソート手順を示す概略図。
【図8】ナビゲーションシステムのロケータマップ表示と道案内表示の例をそれぞれ示す概略図。
【図9】ナビゲーションシステムの到達点設定の概略説明図。図9Aはメインメニューを、図9Bは到達点設定メニューを、図9Cは到達点入力のためのキーボード表示を示す。
【図10】ポイントオブインタレスト(POI)入力法を用いたナビゲーションシステムにおける到達点特定プロセスの表示例である。
【図11】本発明による車両ナビゲーションシステムの構成例を示す構成図。
【図12】本発明の車両ナビゲーションシステムに伴うリモートコントローラの例を示す図。
【図13】距離に応じてポイントオブインタレスト(POI)データをソートするためのナビゲーションシステムに対して本発明のソート方法を適用したプロセスの例を示す第1の図である。
【図14】距離に応じてポイントオブインタレスト(POI)データをソートするためのナビゲーションシステムに対して本発明のソート方法を適用したプロセスの例を示す第2の図である。
【図15】ソート前の入力データと本発明のソート法によるソート結果を示す図。
【図16】本発明のソート法を実施するためのナビゲーションシステムの基本的コンフィギュレーションと、本発明により距離に応じてソートされたPOI情報をスクロールした際の表示例を示す概略図。
【図17】ナビゲーションシステムを実際に用いることで必要とされた場合に、ソートされた結果のブロックが連続して作成される、距離に応じてソートされたPOI情報を表示するための本発明の概念を示す概略図。
【図18】入力データを正順でソートするための、本発明のソート手順を示すフローチャート。
【図19】入力データを逆順でソートするための、本発明のソート手順を示すフローチャート。
【符号の説明】
41 CD−ROMもしくはDVD
42 DVD制御ユニット
43 位置測定装置
44 マップ情報メモリ
45 POIデータベースメモリ
47 リモートコントローラ
48 リモートコントローラインターフェイス
49 CPU
50 ROM
51 RAM
52 音声案内ユニット
53 ディスプレイコントローラ
54 VRAM
55 メニュー/リスト作成ユニット
56 合成ユニット
57 モニタ
58 バッファメモリ
59 キー/画面インターフェイス
Claims (2)
- 到達点を選定するためにN個のポントオブインタレスト(POI)の情報を所定の順序で表示するナビゲーションにおけるPOI表示装置において、
POIの名称、位置、カテゴリー及び住所をPOI情報として保存するPOI情報記憶手段、
特定のPOIリストを表示するためにPOIのカテゴリーを特定する手段、
該カテゴリーのN個のPOIを前記POI情報記憶手段より収集する手段、
第1位から第N位までのN個の正順の順位を第1位より全て順番にA個づつのブロックに分割し、最初のブロックを着目ブロックとして、該着目ブロックを構成するA個の順位のPOIを所定位置からの距離に応じて正順でソートし、必要に応じて着目ブロックの次の下位のブロックを着目ブロックとして該着目ブロックを構成するA個の順位のPOIを所定位置からの距離に応じて正順にソートする手段、
該着目ブロックの前記距離に応じてソートされたA個のPOIのPOI情報のリストをスクロール可能に表示する手段、
を備え、前記正順でPOIをソートする手段は、
A個のエントリ位置を有するソート済バッファ部と所定数のエントリ位置を有する作業用バッファ部とで構成されるバッファ、
前記所定位置からN個のどのPOIまでの距離よりも大きな距離を初期の基準距離として保存し、かつ、前記所定位置からN個のどのPOIまでの距離よりも小さな距離を初期の前回最大距離として保存すると共に、前ブロックでのソートが済んでいる場合には、該前ブロックでのソート結果におけるA個のPOIまでの距離のうち最大距離を前回最大距離として保存する手段、
前記着目ブロックにおけるA個の順位のPOIを所定位置からの距離に応じて正順にソートする際、前記所定位置からの距離が前記の前回最大距離よりも大きく、かつ、前記初期の基準距離よりも小さいPOIを検索し、該検索されたPOIを前記ソート済バッファ部にロードする第1のロード手段、
該ソート済バッファ部がA個のPOIでフルになったとき、該ソート済バッファ部のPOIを正順でソートし、該A個のPOIのうち前記所定位置からの距離が最大となる距離を新たな基準距離とする手段、
前記所定位置からの距離が、前記の前回最大距離よりも大きく、かつ、前記新たな基準距離よりも小さいPOIを検索し、該検索されたPOIを前記作業バッファ部にロードする第2のロード手段、
前記バッファがPOIでフルになったとき、該バッファのPOIを正順に、かつ前記ソート済バッファ部に所定位置からの距離が短いA個のPOIが並ぶようにソートするソート手段、
前記ソート済バッファ部内のA個のPOIのうち前記所定位置からの距離が最大となる距離を新たな基準距離とする基準距離更新手段、
以後、前記の前回最大距離よりも大きく、かつ、前記基準距離よりも小さいPOIが検索できなくなるまで、上記検索、該検索されたPOIの前記作業バッファ部への前記第2のロード手段によるロード処理、前記バッファにおけるPOIの前記ソート手段によるソート処理、前記基準距離更新手段による基準距離の更新処理を繰返し、前記着目ブロックにおけるA個の順位のPOIを正順に前記ソート済バッファ部に生成する制御手段を備え、
スクロールにより前記着目ブロックの下位のブロックにおけるPOIリストが必要になったとき、前記ソート手段は、該着目ブロックの下位のブロックにおけるA個の順位のPOIを所定位置からの距離に応じて正順にソートし、前記表示手段は該ソートされたPOIのPOI情報のリストをスクロール可能に表示する、
ことを特徴とするナビゲーションのPOI情報表示装置。 - 到達点を選定するためにN個のポントオブインタレスト(POI)の情報を所定の順序で表示するナビゲーションにおけるPOI表示装置において、
POIの名称、位置、カテゴリー及び住所をPOI情報として保存するPOI情報記憶手段、
特定のPOIリストを表示するためにPOIのカテゴリーを特定する手段、
該カテゴリーのN個のPOIを前記POI情報記憶手段より収集する手段、
第1位から第N位までのN個の正順の順位を第N位より全て逆順にA個づつのブロックに分割し、最初のブロックを着目ブロックとして、該着目ブロックを構成するA個の順位のPOIを所定位置からの距離に応じて逆順でソートし、必要に応じて着目ブロックの次の下位のブロックを着目ブロックとして該着目ブロックを構成するA個の順位のPOIを所定位置からの距離に応じて逆順にソートする手段、
該着目ブロックの前記距離に応じてソートされたA個のPOIのPOI情報のリストをスクロール可能に表示する手段、
を備え、前記逆順でPOIをソートする手段は、
A個のエントリ位置を有するソート済バッファ部と所定数のエントリ位置を有する作業用バッファ部とで構成されるバッファ、
前記所定位置からN個のどのPOIまでの距離よりも小さな距離を初期の基準距離として保存し、かつ、前記所定位置からN個のどのPOIまでの距離よりも大きな距離を初期の前回最小距離として保存すると共に、前ブロックでのソートが済んでいる場合には、該前ブロックでのソート結果におけるA個のPOIまでの距離のうち最小距離を前回最小距離として保存する手段、
前記着目ブロックにおけるA個の順位のPOIを所定位置からの距離に応じて逆順にソートする際、前記所定位置からの距離が前記の前回最小距離よりも小さく、かつ、前記初期の基準距離よりも大きいPOIを検索し、該検索されたPOIを前記ソート済バッファ部にロードする第1のロード手段、
該ソート済バッファ部がA個のPOIでフルになったとき、該ソート済バッファ部のPOIを逆順でソートし、該A個のPOIのうち前記所定位置からの距離が最小となる距離を新たな基準距離とする手段、
前記所定位置からの距離が、前記の前回最小距離よりも小さく、かつ、前記新たな基準距離よりも大きいPOIを検索し、該検索されたPOIを前記作業バッファ部にロードする第2のロード手段、
前記バッファがPOIでフルになったとき、該バッファのPOIを逆順に、かつ前記ソート済バッファ部に所定位置からの距離が長いA個のPOIが並ぶようにソートするソート手段、
前記ソート済バッファ部内のA個のPOIのうち前記所定位置からの距離が最小となる距離を新たな基準距離とする基準距離更新手段、
以後、前記の前回最小距離よりも小さく、かつ、前記基準距離よりも大きいPOIが検索できなくなるまで、上記検索、該検索されたPOIの前記作業バッファ部への前記第2のロード手段によるロード処理、前記バッファにおけるPOIの前記ソート手段によるソート処理、前記基準距離更新手段による基準距離の更新処理を繰返し、前記着目ブロックにおけるA個の順位のPOIを逆順に前記ソート済バッファ部に生成する制御手段を備え、
スクロールにより前記着目ブロックの下位のブロックにおけるPOIリストが必要になったとき、前記ソート手段は、該着目ブロックの下位のブロックにおけるA個の順位のPOIを所定位置からの距離に応じて逆順にソートし、前記表示手段は該ソートされたPOIのPOI情報のリストをスクロール可能に表示する、
ことを特徴とするナビゲーションのPOI情報表示装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/217,250 US6934705B2 (en) | 2002-08-12 | 2002-08-12 | Data sorting method and navigation method and system using the sorting method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078919A JP2004078919A (ja) | 2004-03-11 |
JP4417047B2 true JP4417047B2 (ja) | 2010-02-17 |
Family
ID=31495178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003203562A Expired - Fee Related JP4417047B2 (ja) | 2002-08-12 | 2003-07-30 | Poi情報表示装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6934705B2 (ja) |
JP (1) | JP4417047B2 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7333820B2 (en) * | 2001-07-17 | 2008-02-19 | Networks In Motion, Inc. | System and method for providing routing, mapping, and relative position information to users of a communication network |
US7082365B2 (en) | 2001-08-16 | 2006-07-25 | Networks In Motion, Inc. | Point of interest spatial rating search method and system |
US7486958B2 (en) * | 2001-09-05 | 2009-02-03 | Networks In Motion, Inc. | System and method for maintaining an online point-of-interest directory |
DE60334974D1 (de) | 2002-03-01 | 2010-12-30 | Telecomm Systems Inc | Verfahren und vorrichtung zum senden, empfangen und planen von ortsrelevanten informationen |
US8918073B2 (en) | 2002-03-28 | 2014-12-23 | Telecommunication Systems, Inc. | Wireless telecommunications location based services scheme selection |
US8290505B2 (en) | 2006-08-29 | 2012-10-16 | Telecommunications Systems, Inc. | Consequential location derived information |
US7256711B2 (en) | 2003-02-14 | 2007-08-14 | Networks In Motion, Inc. | Method and system for saving and retrieving spatial related information |
EP1661282A4 (en) | 2003-08-08 | 2007-05-02 | Networks In Motion Inc | METHOD AND SYSTEM FOR COLLECTING AND SYNCHRONIZING TELECOMMUNICATION CALL EVENTS AND FLOW-RELATED INFORMATION |
JP4026071B2 (ja) * | 2003-09-25 | 2007-12-26 | ソニー株式会社 | 車載装置及びコンテンツ提供方法 |
US20080126535A1 (en) | 2006-11-28 | 2008-05-29 | Yinjun Zhu | User plane location services over session initiation protocol (SIP) |
US20060015246A1 (en) * | 2004-07-15 | 2006-01-19 | Alvin Hui | Method and apparatus for specifying destination using previous destinations stored in navigation system |
US8019532B2 (en) * | 2005-03-07 | 2011-09-13 | Telecommunication Systems, Inc. | Method and system for identifying and defining geofences |
US20070016556A1 (en) * | 2005-07-13 | 2007-01-18 | Ann Seong W | Destination searching system and method |
TWI443547B (zh) * | 2005-12-07 | 2014-07-01 | Telecomm Systems Inc | 有限電信裝置的使用者輸入方案的方法以及其系統 |
US20070174299A1 (en) * | 2006-01-10 | 2007-07-26 | Shaobo Kuang | Mobile device / system |
US20070266239A1 (en) * | 2006-03-08 | 2007-11-15 | David Vismans | Method for providing a cryptographically signed command |
US8208605B2 (en) | 2006-05-04 | 2012-06-26 | Telecommunication Systems, Inc. | Extended efficient usage of emergency services keys |
US9285228B2 (en) * | 2007-06-14 | 2016-03-15 | Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America | Location based point of interest navigation system |
US20090027222A1 (en) * | 2007-07-23 | 2009-01-29 | Sony Ericsson Mobile Communications Ab | Providing services to a mobile device in a personal network |
US8099238B2 (en) | 2007-11-14 | 2012-01-17 | Telecommunication Systems, Inc. | Stateful, double-buffered dynamic navigation voice prompting |
US9612126B2 (en) * | 2007-12-03 | 2017-04-04 | Nokia Technologies Oy | Visual travel guide |
KR100959767B1 (ko) | 2007-12-04 | 2010-05-27 | 팅크웨어(주) | 비공유 영역 트리를 이용한 동적 주기 배치 방법 및 시스템 |
US20090216732A1 (en) * | 2008-02-27 | 2009-08-27 | Kyte Feng | Method and apparatus for navigation system for searching objects based on multiple ranges of desired parameters |
WO2011146141A1 (en) | 2010-05-21 | 2011-11-24 | Telecommunication Systems, Inc. | Personal wireless navigation system |
WO2012087353A1 (en) | 2010-12-22 | 2012-06-28 | Telecommunication Systems, Inc. | Area event handling when current network does not cover target area |
US8682321B2 (en) | 2011-02-25 | 2014-03-25 | Telecommunication Systems, Inc. | Mobile internet protocol (IP) location |
US20120259869A1 (en) * | 2011-04-07 | 2012-10-11 | Infosys Technologies, Ltd. | System and method for implementing a window sorting mechanism |
WO2013048551A1 (en) | 2011-09-30 | 2013-04-04 | Telecommunication Systems, Inc. | Unique global identifier for minimizing prank 911 calls |
DE102012201964B3 (de) * | 2012-02-09 | 2013-06-06 | Behr-Hella Thermocontrol Gmbh | Verfahren zur Auswahl eines Eingabeparameters |
US9544260B2 (en) | 2012-03-26 | 2017-01-10 | Telecommunication Systems, Inc. | Rapid assignment dynamic ownership queue |
US9307372B2 (en) | 2012-03-26 | 2016-04-05 | Telecommunication Systems, Inc. | No responders online |
WO2014028712A1 (en) | 2012-08-15 | 2014-02-20 | Telecommunication Systems, Inc. | Device independent caller data access for emergency calls |
US9456301B2 (en) | 2012-12-11 | 2016-09-27 | Telecommunication Systems, Inc. | Efficient prisoner tracking |
US8983047B2 (en) | 2013-03-20 | 2015-03-17 | Telecommunication Systems, Inc. | Index of suspicion determination for communications request |
US10360246B2 (en) * | 2013-05-20 | 2019-07-23 | Tencent Technology (Shenzhen) Co., Ltd. | Method, system, and apparatus for searching and displaying user generated content |
US20160125655A1 (en) * | 2013-06-07 | 2016-05-05 | Nokia Technologies Oy | A method and apparatus for self-adaptively visualizing location based digital information |
US9408034B2 (en) | 2013-09-09 | 2016-08-02 | Telecommunication Systems, Inc. | Extended area event for network based proximity discovery |
US9516104B2 (en) | 2013-09-11 | 2016-12-06 | Telecommunication Systems, Inc. | Intelligent load balancer enhanced routing |
US9479897B2 (en) | 2013-10-03 | 2016-10-25 | Telecommunication Systems, Inc. | SUPL-WiFi access point controller location based services for WiFi enabled mobile devices |
JP6272373B2 (ja) * | 2016-03-17 | 2018-01-31 | 株式会社トヨタマップマスター | 地図情報作成装置、ナビゲーションシステム、情報表示方法、情報表示プログラム、記録媒体 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6321158B1 (en) * | 1994-06-24 | 2001-11-20 | Delorme Publishing Company | Integrated routing/mapping information |
JPH1030931A (ja) | 1996-07-16 | 1998-02-03 | Zanavy Informatics:Kk | 車載用ナビゲーション装置 |
JP3944671B2 (ja) | 1999-08-06 | 2007-07-11 | アイシン・エィ・ダブリュ株式会社 | ナビゲーション装置 |
US6278940B1 (en) * | 2000-03-09 | 2001-08-21 | Alpine Electronics, Inc. | Input method for selecting destination, navigation system using the same, and information storage medium for use therewith |
US6484094B1 (en) | 2002-02-19 | 2002-11-19 | Alpine Electronics, Inc. | Display method and apparatus for navigation system |
-
2002
- 2002-08-12 US US10/217,250 patent/US6934705B2/en not_active Expired - Lifetime
-
2003
- 2003-07-30 JP JP2003203562A patent/JP4417047B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6934705B2 (en) | 2005-08-23 |
US20040030678A1 (en) | 2004-02-12 |
JP2004078919A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4417047B2 (ja) | Poi情報表示装置 | |
US7272489B2 (en) | Navigation method and system for extracting, sorting and displaying POI information | |
US7406665B2 (en) | Display method and apparatus for navigation system | |
US6687613B2 (en) | Display method and apparatus of navigation system | |
US20040260464A1 (en) | Point of interest (POI) search method and apparatus for navigation system | |
US6278940B1 (en) | Input method for selecting destination, navigation system using the same, and information storage medium for use therewith | |
EP0803705B1 (en) | Navigation system for vehicles | |
US7353109B2 (en) | Display method and apparatus for navigation system for performing cluster search of objects | |
EP1816438B1 (en) | Method and apparatus for searching point of interest by name or phone number | |
US7472019B2 (en) | Navigation apparatus | |
JP2010515982A (ja) | ポータブルナビゲーションデバイスのための改良された検索機能 | |
US20060015246A1 (en) | Method and apparatus for specifying destination using previous destinations stored in navigation system | |
US20080154488A1 (en) | Method and apparatus for selecting POI by brand icon | |
JP2003269986A (ja) | 目的地設定方法およびナビゲーション装置 | |
US20090171584A1 (en) | System and Method for Accessing a Navigation System | |
JP2002098544A (ja) | Poiアイコン表示方法及びナビゲーション装置 | |
JP2007128329A (ja) | 地図表示装置および施設表示方法 | |
KR20110113603A (ko) | 내비게이션 장치 | |
JP5234339B2 (ja) | 計算機システム及び経路案内方法 | |
CN102713516B (zh) | 导航装置 | |
JP2008097092A (ja) | ナビゲーション装置 | |
JP4145199B2 (ja) | 目的地巡回経路探索方法及びナビゲーションシステム | |
US9875003B2 (en) | Method and apparatus for providing a user interface | |
JP2007263626A (ja) | ナビゲーション装置、その制御方法及び制御プログラム | |
JP2010286871A (ja) | 地点検索装置、地点検索方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090908 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091029 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091124 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4417047 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131204 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |