(57)【特許請求の範囲】
【請求項１】
物理的な直線以外の地図特色を表現するデータをコンピュータ可読データベース内に格納し、コンピュータをベースとするナビゲーションシステム内で使用する方法であって、
物理的な直線以外の地図特色を表現する多項式の係数を計算するステップと、
上記物理的な直線以外の地図特色を基準化し、回転させ、及び／又は並進させることにより、標準化位置へ配置させて、上記物理的な直線以外の地図特色の２つの固定された端点位置に関する上記多項式の係数を新たに求めるステップと、
新たに求めた係数を、上記物理的な直線以外の地図特色を表現するデータと組合せるステップと、
新たに求めた係数、及び上記物理的な直線以外の地図特色を表現するデータを、コンピュータ可読媒体上の上記コンピュータ可読データベース内に格納するステップと、
を備えていることを特徴とする方法。
【請求項２】
上記多項式は、スプライン曲線ファミリである請求項１に記載の方法。
【請求項３】
上記多項式は、三次スプラインサブファミリのベジェ曲線サブセットである請求項１に記載の方法。
【請求項４】
上記多項式の新たに求めた係数を、正規化形状アレイ内に線形状として格納する請求項１に記載の方法。
【請求項５】
上記線形状は、制御点位置対の形状である請求項４に記載の方法。
【請求項６】
物理的な直線以外の地図特色をコンピュータ可読媒体内に格納されている地理データベース内に格納し、コンピュータをベースとするナビゲーションシステム内で使用する方法であって、上記地理データベースは、索引付き正規化形状アレイ、及び上記物理的な直線以外の地図特色を表現する複数のデータエンティティからなり、上記方法は、
物理的な直線以外の地図特色を表現する多項式の係数を計算するステップと、
上記物理的な直線以外の地図特色を基準化し、回転させ、及び／又は並進させることにより、標準化位置へ配置させて、上記物理的な直線以外の地図特色の２つの固定された端点位置に関する上記係数を新たに求めるステップと、
新たに求めた係数を、上記索引付き正規化形状アレイ内に格納するステップと、
新たに求めた係数に対する索引値を、上記物理的な直線以外の地図特色を表現するデータエンティティと組合せるステップと、
上記データエンティティ及び上記組合された索引値を、上記コンピュータ可読媒体上に格納するステップと、
を備えていることを特徴とする方法。
【請求項７】
直線以外の形状を有する物理的道路部分を表現するデータをコンピュータ可読媒体内に格納されている地理データベース内に格納し、コンピュータをベースとするナビゲーションシステム内で使用する方法であって、上記各物理的道路部分は第１の端点位置及び第２の端点位置によって表現され、上記方法は、
多項式によって上記物理的道路部分の形状を定義する少なくとも２つの付加的な制御点位置を計算するステップであって、固定された第１及び第２の端点位置に相対的な上記少なくとも２つの付加的な制御点位置は、上記物理的道路部分の形状を基準化し、回転させ、及び／又は並進させることにより、標準化位置へ配置させられることを特徴とするステップと、
上記少なくとも２つの付加的な制御点位置を表現するデータを、上記コンピュータ可読媒体内の上記地理データベース内に格納するステップと、
を備えていることを特徴とする方法。
【請求項８】
上記少なくとも２つの付加的な制御点位置を、索引付き正規化形状アレイ内に格納する請求項７に記載の方法。
【請求項９】
上記物理的道路部分の上記第１の端点位置及び上記第２の端点位置を表現するデータを、上記索引付き正規化形状アレイ内の上記標準化位置へ配置させられた少なくとも２つの制御点位置に対する索引値が組合されている上記コンピュータ可読媒体内に格納する請求項８に記載の方法。
【請求項１０】
形状点により表現された物理的湾曲地図特色を、ベジェ曲線により表現された物理的湾曲地図特色に変換して地理データベース内に格納し、コンピュータをベースとするナビゲーションシステム内で使用する方法であって、上記形状点により表現された物理的湾曲地図特色は少なくとも２つの端点位置からなり、上記方法は、
上記形状点により表現された物理的湾曲地図特色を基準化し、回転させ、そして並進させて上記少なくとも２つの端点位置を固定された位置に配置することによって上記形状点により表現された物理的湾曲地図特色を求めるステップと、
求めた物理的湾曲地図特色を、曲線適合によってベジェ曲線及び対応する制御点位置対に変換するステップと、
上記ベジェ曲線の上記対応する制御点位置対を、格納されている制御点位置対のライブラリと比較するステップと、
上記形状点により表現された物理的湾曲地図特色を、索引参照としてコンピュータ可読媒体上の上記ライブラリ内に格納するステップと、
を備えていることを特徴とする方法。
【請求項１１】
多項式を使用して物理的湾曲地図特色を表現し、コンピュータをベースとするナビゲーションシステム内で使用するための方法であって、上記方法は、
上記物理的湾曲地図特色を一連の形状点に変換するステップと、
上記一連の形状点に多項式を適合させるステップと、
上記多項式の係数を計算するステップであって、上記物理的湾曲地図特色の２つの固定された端点位置に関する上記多項式の上記係数は、上記物理的湾曲地図特色を基準化し、回転させ、及び／又は並進させることにより標準化位置へ配置させて求められることを特徴とするステップと、
上記係数をコンピュータ可読媒体内に格納するステップと、
を備えていることを特徴とする方法。
【請求項１２】
上記多項式の上記係数を、線形状として索引付き正規化形状アレイ内に格納する請求項１１に記載の方法。
【請求項１３】
上記線形状は、制御点位置対の形状である請求項１２に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はナビゲーションシステムに関し、詳しく述べれば、ナビゲーションシステム内で使用するための地理データセットに関する。
【０００２】
【従来の技術】
陸上で使用するためのコンピュータをベースとするナビゲーションシステムがさまざまな形状で使用可能になってきており、いろいろな有用な特色を提供している。例えば１つの型のナビゲーションシステムは、（１）１つまたはそれ以上の地理区域または領域を表す１つまたはそれ以上の詳細なデータセット、（２）ナビゲーションアプリケーションプログラム、（３）マイクロプロセッサ、メモリ、及びデータ記憶装置のような適切なコンピュータハードウェア、及び、オプションで、（４）測位システムを使用している。
図１に、ナビゲーションシステム１０の構成例を示す。ナビゲーションシステム１０はハードウェア及びソフトウェア成分の組合せであり、種々の異種環境で、または異なるプラットフォーム上で実現することができる。例えば、ナビゲーションシステム１０は自動車１２上に配置することができる。図示実施例では、ナビゲーションシステム１０は、ＧＰＳシステム１６、アンテナ１８、ビークル速度及び走行距離を感知するように結合されているセンサ２０、及びビークルの方向を感知するコンパス２２を含むことができる適切なハードウェア１４を含んでいる。更に、ナビゲーションシステムは、ＣＰＵ  ２６、メモリ２８、並びに他の適切なハードウェアを含む適切なコンピュータ２４を含む。
【０００３】
ナビゲーションシステム１０の一部として含まれているのは、その中にデータ記憶媒体３２を組み込むことができるドライブ３０（または、他の適当な周辺デバイス）である。１つまたはそれ以上の地理データセット３４が、記憶媒体３２上に格納されている。１実施例では、記憶媒体３２はＣＤ−ＲＯＭディスクである。別の代替実施例では、記憶媒体３２はＰＣＭＣＩＡカードであることができ、この場合、ドライブ３０はＰＣＭＣＩＡスロットに置換される。固定即ちハードディスク、ＤＶＤ（ディジタルビデオディスク）、または他の現在使用可能な記憶媒体、または近い将来開発され得る記憶媒体を含むいろいろな他の記憶媒体を使用することができる。ここで説明している実施例は、以下に説明するように他の型のナビゲーションシステム内で使用することができる。
【０００４】
ナビゲーションシステム１０は、コンピュータ２４に接続されているユーザインタフェース４０をも含む。ユーザインタフェース４０は、エンドユーザから命令及び入力を受信し、情報をエンドユーザへ戻して供給するための適切な手段を含んでいる。例えば、ユーザインタフェース４０は、入力パネルまたはキーボードを含むことができ、エンドユーザは行先の選択をそれに指示することができる。ユーザインタフェース４０は、表示装置またはスピーカ（スピーチ合成ハードウェア及びソフトウェアを含む）を含むこともでき、これらによってユーザにナビゲーション情報を通報することができる。視覚ナビゲーション情報の場合にはユーザインタフェース４０は、ユーザが表示装置上の特定の地理領域を、より大きい地理領域へズームアウトさせたり、またはより詳細な地理情報へズームインさせたりできるようにする機能を提供することができる。
【０００５】
測位システムは、地理領域におけるエンドユーザの物理的位置を決定、または近似する幾つかの公知の技術の何れをも使用することができる。例えば、測位システムはＧＰＳ型システム（全地球測位システム）、推測航法型システム、またはこれらの組合せ、または他のシステムであることができ、これらは全て公知である。
上述した全ての構成要素は普通のもの（または、普通ではないもの）であり、これらの構成要素の製造及び使用は当分野においては公知である。
ナビゲーションシステム１０は、ナビゲーションアプリケーションプログラム３８を格納するために使用される別のデータ記憶デバイス３６（即ち、ＲＯＭ）を含んでいる。（代替として、アプリケーションプログラム３８は、地理データセット３４として同じ記憶デバイス、または媒体３２上に供給することができる。）ナビゲーションアプリケーションプログラム３８は、地理データセット３４及び測位システム（使用されている場合）を使用するソフトウェアプログラムである。ナビゲーションアプリケーションプログラム３８は、別のアプリケーション（即ち、サブプログラム）を含むことができる。これらのサブプログラムは、ナビゲーションシステム１０のエンドユーザにいろいろな機能を提供する。これらの機能は、ルート計算機能、運転生成機能、地図表示機能、ビークル位置決め機能、行先導出能力等々を含むことができる。ナビゲーション機能は、ユーザインタフェース４０によってエンドユーザ（例えば、ビークル運転手）に供給される。ナビゲーションアプリケーションプログラム３８は、Ｃ言語のような適当なコンピュータプログラミング言語で書くことができるが、他のプログラミング言語も使用することができる。
【０００６】
図１のナビゲーションシステムの典型的な使用中、ナビゲーションアプリケーションプログラム３８は、ＲＯＭ  ３６からプロセッサ２６に付属するメモリ２８内へロードされる。コンピュータ２４は、ユーザインタフェース４０から入力を受信する。この入力は、ナビゲーション情報に対する要求を含むことができる。コンピュータ２４は、測位システムハードウェア１４から情報を受信する。ハードウェア１４からの情報はナビゲーションアプリケーションプログラム３８によって使用され、ビークル１２の位置、方向、速度等が決定される。ナビゲーションアプリケーションプログラム３８は、地理領域内のエンドユーザの特定位置の図形表示（例えば、「地図」）をエンドユーザに供給できる。更に、ナビゲーションアプリケーションプログラムは、エンドユーザが何処に位置していようとも、そこから地理領域内の位置までの特定の方向をエンドユーザに供給することができる。
【０００７】
これらのさまざまなナビゲーションアプリケーション機能を提供するために、ナビゲーションシステム１０は、記憶媒体３２上に格納されている地理データ３４を、オプションで測位システムハードウェア１４からの出力と共に使用する。地理データ３４は、ナビゲーションアプリケーションプログラム３８がその支援する機能を提供できるようにする１つまたはそれ以上のコンピュータ可読ファイル、またはデータベースの形状であることができる。例えば、地理領域内の２つの位置間のルートを計算できるようにするために、地理データ３４は、地理領域内の道路及び交差点の位置、一方通行路、回転禁止、停止標識、停止信号、速度制限等に関する情報を含むルート計算データを含むことができる。
ナビゲーションシステムを用いて地図表示機能を遂行する場合、ある地理領域の一部分の地理特色のサイズ、形状、及び相対位置がユーザインタフェース４０の表示装置上に描かれる。これらの地理特色は、道路、交差点、及び関心点、並びに湖、鉄道軌道、建物、空港、スタジアム、公園、山岳地、ドック、フェリー、トンネル、橋、等々のような他の特色を含むことができる。この地図表示機能を提供するために地理データセット３４は、ナビゲーションアプリケーションプログラム３８が付属表示装置デバイス上にこれらのさまざまな地理特色のサイズ、形状、位置、及び特徴を示す地図を表示できるようにする地図作成データを含むことができる。表示された領域のズーミング及びパンニングも支援することができる。
【０００８】
図２は、地図表示に使用される地図作成データセット３４’の構成例を示している。地図作成データセット３４’は図１の地理データセット３４の一部であって、ルート計算、運転生成、及び他のナビゲーション機能に使用される他の種類のデータセットを含むことができる。図２に示すように、地図作成データセット３４’は例えば  ｓｅｇ（１）、ｓｅｇ（２）、・・・ｓｅｇ（ｎ）のような道路セグメントデータエンティティの（サブ）セット４２を含む。各道路セグメントデータエンティティは、地理領域内の道路の一部分を表す。各道路セグメントデータエンティティレコードｓｅｇ（）と組合されているのは、表現されたそれぞれの道路部分をコンピュータ表示デバイス上に描くのを容易にするデータ（ノード及び属性４６（１）、４６（２）・・・４６（ｎ）のような）である。道路セグメントデータエンティティｓｅｇ（１）、ｓｅｇ（２）、・・・ｓｅｇ（ｎ）は、データベース構造に使用されている標準の型のデータ構造を使用して実現することができる。
【０００９】
図３は、地理データセット３４によって表現された地理領域の一部分を示す地図である。この部分は、直線道路５２Ｓ１、５２Ｓ２、及び直線以外の（即ち、湾曲した）道路５２Ｃ１を含んでいる。地理領域のこの部分を表示するために必要な情報を格納する目的のために、道路に沿うノードが識別されている。ノードは、２つの道路が交差する場所、またはその道路の部分と組合された属性が変化するような場所（例えば、道路が通学ゾーン内に入り、速度制限が変化する）として識別される。データセット３４内では、図２に４６（）で示されているように、各道路セグメントエンティティレコードは、その道路セグメントエンティティレコードによって表現される道路部分の端点位置に対応する２つのノード（及び／またはノードの地理座標）と組合されている。地図作成データセット３４’内の道路セグメントエンティティレコードには、これも図２に４６（）で示されているように、道路部分を描くために必要な他の情報も組合されている。
【００１０】
ある道路部分、例えば図３の５２Ｓ１、５２Ｓ２のような直線道路部分の形状を描くには、その道路部分を表すセグメントデータエンティティレコードによって識別された端点（即ち、ノード）を連結する直線を生成することによって行うことができる。しかしながら道路部分が直線以外の場合は、その道路部分の形状を表示させるためには、地理データベースが付加的な情報を含んでいる必要がある。
図３の地図は、ＬＮ（ｍ）及びＲＮ（ｍ）で表された端点を有するセグメント（ｍ）によって表現された湾曲道路部分５２Ｃ１を示している。図４は、図３に示した湾曲道路部分５２Ｃ１を表現するために使用されるデータセット３４’内の道路セグメントデータレコードｓｅｇ（ｍ）を示す図である。これらの道路セグメントデータレコードｓｅｇ（ｍ）には、表現された道路部分５２Ｃ１の２つの端点ＬＮ（ｍ）及びＲＮ（ｍ）の緯度及び経度座標位置を含むノードデータ４８が組合されている。ナビゲーションシステムのための１つの公知地理データベースでは、湾曲した地理特色は形状点を使用して表現される。図３には、データベースエンティティｓｅｇ（ｍ）によって表現された道路部分５２Ｃ１に沿って位置する例示形状点ＳＰ（ｍ）(1) 、ＳＰ（ｍ）(2) 、ＳＰ（ｍ）(3) 、及びＳＰ（ｍ）(n) が示されている。ノードデータの他にこの方法を使用する場合の地理データセット３４は、湾曲地理特色に沿うこれらの形状点に対応するデータも格納している。図４では、道路セグメントデータエンティティｓｅｇ（ｍ）は、その湾曲道路部分５２Ｃ１内に位置する各形状点毎の緯度及び経度座標を格納している形状点５０（ＳＰ（ｍ）(1) 、ＳＰ（ｍ）(2) ・・・ＳＰ（ｍ）(n) ）と組合されている。これらの形状点は、地理データベース内の幾つかの目的のために、そしてそれを使用するナビゲーションアプリケーションによって使用される。例えば、形状点は、コンピュータ表示装置上に表現される道路の部分の湾曲形状を近似するために使用される。湾曲地理特色は、端点から始まって端点で終わるように形状点から形状点まで直線を引くことによって、表示装置上に再生される。所与の端点セットの間において格納される形状点の数は、湾曲の形状、及び再生される表示に望まれる精度または分解能に依存する。形状点は、精度が重要であるような湾曲道路部分に沿うビークルの測位のために、ナビゲーションアプリケーションによっても使用される。（本明細書では「形状点」という語を使用しているが、直線または湾曲地理特色に沿う位置また軌跡を記述するために、他の用語を使用できることを理解されたい。）
以上の説明は、道路の直線以外の部分を描くことに関係している。同じような考え方が、池、鉄道軌道、建物、空港、スタジアム、公園、山岳地、ドック、フェリー、トンネル、橋等のような線または多角形の形状の他の地理特色を描くのにも適用される。形状点は、これらの種類の地理特色の長さまたは境界に沿って選択され、格納され、そしてコンピュータの表示装置上に特色を描くために使用される。
【００１１】
直線以外の地理特色の形状を表現するために形状点を使用することは、それが概念的にデータベース開発、コンパイル、アクセス、及び表示ソフトウェアを動作させるのが比較的簡単であることから有利であるが、幾つかの欠陥を有している。直線以外の地理特色を表示させるためのこれらの付加的なデータを格納すると、地理データセットのデータ格納要求を増加させることになる。精度要求が控えめであるとしても、各データベースの５乃至 10 ％が形状点データに専占され得る。更に、このパーセンテージは、精度要求の増加に正比例して増加する。また更に、形状情報は地図表示、及びビークルの位置を推論するために使用される地理データサブセットのかなり大きいパーセンテージを占めるから、ＲＡＭメモリサイズ要求及びデータベース読み出し時間に対する負のインパクトは比例的に大きくなる。
【００１２】
従って、ナビゲーションシステムにおいて、格納要求を最小にして地理特色情報を表現し、格納しながら、直線以外の特色を高レベルの精度で表現する方法を提供することが望まれている。更に、地理データセットの分解能及び精度を高めても、ＲＡＭメモリサイズまたはナビゲーションシステムの動作性能要求に負のインパクトを与えないことも望まれている。
従って、本発明の目的は、地理特色の高度に正確な表現を供給し、格納要求が最小であり、そしてハードウェア構成要求に対するインパクトを最小にするような、地理特色情報を表現し、格納するための改善された方法を提供することである。
【００１３】
【発明の概要】
以上の、及び他の目的を達成するために、及び本発明の目的によれば、直線以外の地図特色を表現するデータをナビゲーションシステム内で使用するためのコンピュータ可読地理データベース内に格納するシステム及び方法が提供される。直線以外の地理特色の場合には、計算可能関数によって生成した曲線を、直線以外の地図特色の画像に適合させる。計算可能関数は、形状がその係数によって限定される多項式であることができる。多項式の係数は、直線以外の特色を表現するデータと組合される。多項式がベジェ曲線（ベツィエ曲線）であるような場合には、ベジェ曲線を生成するための制御点を、直線以外の特色を表現するデータと組合せる。これらの制御点は地理データベース内に格納され、直線以外の特色の表示に使用される。直線以外の地理特色を生成するために計算可能関数を使用し、計算可能関数が使用するパラメータを格納することによって、直線以外の特色を表現するための地理データベース内の格納要求を大幅に減少させることができる。
【００１４】
更なる面によれば、正規化された制御点対をデータ構造内に格納し、データ構造内への索引参照を直線以外の地理特色を表現するために使用されるデータと組合せることによってデータ格納要求を更に減少させている。
【００１５】
【実施例】
Ｉ．  第１実施例
図５に、図３に示したものと同一の、直線道路部分５２Ｓ１、５２Ｓ２、及び直線以外の道路部分５２Ｃ１を有する地理領域及び道路を示す。図３及び４の実施例に関して説明したように、道路部分の端点にノードが選択され、限定されており、２つまたはそれ以上の道路が交差している場所に、または道路の属性が変化する場所に確立される。地理データベースでは、これらのノードデータ点が道路を分割し、道路セグメントデータエンティティとして表現される道路部分の端点をマークする。この実施例の地理データベースにおいては、直線道路部分は、表現された道路部分の端点（例えば、ノード）の座標位置と組合された道路セグメントエンティティによって表現されている。
【００１６】
これらの端点の座標を識別するデータに加えて、直線以外の道路部分は２つ（またはそれ以上）のパラメータの位置を使用して表現される。これらのパラメータは、直線以外の地理特色の形状を生成するために計算可能関数によって使用される。図示の実施例では、計算可能関数はベジェ曲線であり、格納されるパラメータはベジェ曲線を生成するための制御点である。図５には、制御点ＣＰ（ｍ）(1) 及びＣＰ（ｍ）(2) が示されており、後述するように、これらは地理データベース内の直線以外の道路部分５２Ｃ１の形状の表現に使用される。これらの制御点は、スプライン曲線の三次スプラインサブファミリのサブセットであるベジェ曲線を使用することによって決定される。代替実施例では、他のスプライン曲線ファミリを含む湾曲したベクトルを定義する他の多項式を使用することができる。
【００１７】
スプライン曲線、特にベジェ曲線を使用すると、湾曲道路部分のような直線以外の地図特色は、所望の程度の精度で地理特色の形状に一致する曲線を生成するように係数が決定された多項式によって表現される。
ベジェ曲線の特性は、それらがそれらの２つの端点と、２つの付加的な制御点によって限定されることである。図５に破線で示すように、これらの制御点は、端点における曲線の接線に沿って位置している。ベジェ曲線は、Ｓ字曲線、円弧、放物線形状を近似し、また直線でさえも近似する。多項式曲線を点シリーズに適合させるための標準技術を使用して、地理データベース内の曲線への直線セグメント近似に使用される形状点の特定シリーズに対して、最良適合ベジェ曲線を与える制御点座標を見出すことができる。
【００１８】
地理データベースの第１実施例では、制御点は、道路の直線以外の部分を表現する道路セグメントデータエンティティと組合される。一実施例では、これらの制御点ＣＰ（ｍ）(1) 及びＣＰ（ｍ）(2) 、またはそれらの緯度及び経度座標がセグメントエンティティｓｅｇ（ｍ）と組合される。一実施例では、これらの制御点は、セグメントデータテンティティの属性として格納される。
図６に、図５の湾曲道路部分５２Ｃ１を表現する道路セグメントデータエンティティｓｅｇ（ｍ）を示す。このセグメントエンティティは、道路部分を描くために使用されるデータと組合されている。データは、道路部分の対応する端点の緯度及び経度座標位置を識別するノードデータＬＮ（ｍ）及びＲＮ（ｍ）と、湾曲道路部分５２Ｃ１の形状を表現するために使用できる２つの制御点の緯度及び経度座標位置を識別する制御点データＣＰ（ｍ）(1) 及びＣＰ（ｍ）(2) とを含んでいる。
【００１９】
地理データベースの第１実施例の使用。図７は、湾曲した特色を描くために、図６に示すような制御点データを使用する地理データベースの実施例によって表現された地理領域の部分を表示するために、地図表示プログラム６６の実施例が遂行するステップを示している。地図表示プログラム６６は、図１のナビゲーションアプリケーションプログラム３８の一部である。先ず、地図表示プログラム６６は、表示すべき道路部分を表現する道路セグメントデータエンティティｓｅｇ（）のリスト６８を受信する。ステップ７０−７６は、リスト６８内の各道路セグメントデータエンティティ毎に繰り返される。ステップ７０において、地図表示プログラム６６は、各セグメントエンティティレコードと組合されたデータを読み込む。これらのデータは、セグメントデータエンティティと組合されたノードの地理座標を含む。（ノードデータは、表示すべき特定道路部分の端点を含む。）ステップ７２は、セグメントエンティティと組合された制御点の存否を調べる。もしセグメントデータエンティティが、それと組合された制御点を有していなければ、ステップ７２からステップ７６へスキップし、ユーザインタフェース４０の表示装置上の端点間に直線を引くことによって道路セグメントが描かれる。しかしながら、もしセグメントレコードと組合された制御点が存在すれば、ステップ７２はそのセグメントと組合されたデータをステップ７４に引き渡す。ステップ７４においては、適切な多項式を使用してベジェ曲線が計算され、曲線の画像が生成される。また、ステップ７６において、生成された曲線の画像がユーザインタフェース４０の表示装置へ出力される。これらのステップは、リスト６８内に表現されている全ての道路部分がユーザインタフェース４０の表示装置上に描かれてしまうまで繰り返される。
【００２０】
第１実施例による形状情報を格納する方法。図８は、図６に示すような直線以外の特色を表現するための制御点データを含む地理データベースを生成する第１の方法を示している。地理領域の一部分の画像１２０が入手される。画像１２０は、航空写真、ＧＰＳデータ、紙の地図、または他の公知資源から入手し、電子地理データベースを発生させることができる。代替として、画像１２０は、図２及び３に関して説明した方法に従って、形状点データから画像１２０を生成する地図表示プログラムから入手することができる。図８では、画像１２０はコンピュータ表示装置の画面上に表示されているが、このプログラムを実施する場合、必ずしもこの画像を物理的に表示装置の画面上に示す必要はない。
形状検出プログラム１２２は、領域の画像１２０から、道路１２５のような地理特色の画像を自動的に検出する。これは、普通のパターン認識技術を使用して達成される。これらのパターン認識技術は、例えば、対比的な色のパターン、連続形状、サイズ、相互接続等の識別を含む。普通のパターン認識技術を使用して画像１２０から直線以外の道路を含む道路のような特色が自動的に検出される。道路１２５を検出した後に、プログラムは、検出した直線以外の道路とベジェ曲線とを一致させる曲線適合プログラム１２６を実行する。曲線適合技術は当分野においては公知である。ベジェ曲線と直線以外の道路とが一致したことを識別すると、ベジェ曲線を生成するために使用した制御点が識別される。次いで、制御点の座標が、検出された道路セグメントを表現するセグメントデータエンティティレコードと組合される。一実施例では、ユーザ・操作者は、道路検出、曲線適合、及びベジェ曲線生成ステップを検査することができる。この検査は、ベジェ曲線制御点から生成された直線以外の道路の画像を画像１２０上に重ね、それらがどれ程良好に一致しているかを見ることによって行うことができる。もしそれらが一致しなければ、ユーザ・操作者は、別の技術を使用して制御点を生成することができる。しかしながら、もし検出した道路セグメントが表示装置上の道路セグメントの画像と一致すれば、ユーザ・操作者は、コンピュータが生成したベジェ制御点及び検出したノード／端点ＬＮ、ＲＮ、ＣＰ１、ＣＰ２を地図作成データセット３４’（Ｂ）内に格納することができる。
【００２１】
形状情報を格納する代替方法。図９は、ベジェ曲線を所与の地理特色に適合させるための代替方法を示している。上述した方法と同じように、地理領域の一部分の画像２２０が入手される。画像２２０は、航空写真であることも、または航空写真から入手することもできる。代替として、画像２２０は、（図２及び３に関連して説明した従来技術の方法によって）形状点データから画像２２０を生成する地図表示プログラムから入手することができる。画像２２０は紙上に印刷することも、またはコンピュータ表示デバイス上に描くこともできる。この方法を使用する場合、ユーザ・操作者は画像を見ながら離散化タブレットまたはマウスのような位置決め装置を操作（例えば、クリック）して、地理データベース内のデータエンティティによって表現された画像内に描かれている特色上の点を選択する。例えば、ユーザ・操作者は（セグメントデータエンティティによって表現された道路の部分の終わりを表す画像の点上で位置決めデバイスをクリックさせることによって）、セグメントエンティティにより表現される特色の端点を位置決めデバイスを使用して選択することができる。もし識別されたセグメントが直線以外であれば、ユーザ・操作者は、その道路部分の画像の長さに沿う臨時形状点ＴＳＰ１、ＴＳＰ２・・・ＴＳＰｎを選択する。ユーザ・操作者は、カーソルを道路セグメントの画像上で移動させ、位置決めデバイスをクリックさせることによって、これらの臨時形状点を選択する（ステップ２２２）。コンピュータプログラムは臨時形状点を使用して、それらを通る曲線を生成する（ステップ２２６）。（端点ノード及び識別された形状点を既に有している地図作成データセットから画像２２０を生成する実施例においては、上述したステップは省略することができる。）
次いでプログラムは、選択された端点及び形状点によって表現される検出された直線以外の道路部分と、ベジェ曲線とを一致させる曲線適合プログラム２２６を実行する。前述したように、曲線適合技術は当分野において公知である。ベジェ曲線が直線以外の道路２２５と一致することが識別されると、ベジェ曲線を生成するために使用された制御点が識別される。次いで、制御点の座標が、選択された道路セグメントを表現するセグメントデータエンティティレコードと組合される。生成されたベジェ曲線が道路２２５の画像を正しく表現していることを確認するために、ベジェ曲線制御点から生成された直線以外の道路セグメントの画像を画像２２０の上に重ねて、それらがどれ程良く一致するかを見ることができる。ユーザ・操作者は、重ね合わせた画像を見て、ベジェ曲線が生成した道路画像と、供給さた道路部分２２５とが、所与の許容差内で一致するか否かを判断する。もしそれらが一致しなければ、ユーザ・操作者は付加的な臨時形状点を選択し、ベジェ曲線を再生成することができる。このプロセスは、道路部分の画像と充分に適合する曲線が生成されるまで繰り返される。次いで、前述したように、最良適合曲線のための制御点データ及びノードデータＬＮ、ＲＮ、ＣＰ１、ＣＰ２が地図作成データセット３４’（Ｂ）内に格納される。代替実施例では、コンピュータプログラムを使用して、生成されたベジェ曲線と、表現された道路部分の画像とがどれ程良く一致するかを決定することができる。コンピュータプログラムは、満足できる適合を表すしきい値が得られたことを決定する普通の適合技術を使用することができる。
II.   第２実施例
ベジェ曲線の別の特性は、もし曲線の２つの端点が正規化された位置に固定されていれば、曲線の形状の変化が、制御点の相対位置だけによって決定されることである（即ち、形状が「正規化」されている）。従って共通曲線のライブラリが、２つの標準端点位置に対する制御点位置対のテーブルの形状で限定される。このライブラリは、正規化形状アレイ内に格納されている。望まれる場合には何時でも、既知の数学演算によって、これらのライブラリ曲線形状は空間内で基準化（スケール）され、回転され、そして並進されて地図表示上に配置される。地理データベースの実施例では、この正規化形状アレイ内への索引参照値が、各直線以外の道路セグメントデータエンティティと組合される。この索引参照値は、実際の制御点座標位置の代わりに使用される。
【００２２】
特定の道路部分の場合、２つの端点位置は、その特定湾曲道路セグメントデータエンティティの関連ノードデータによって供給される。特定形状のベジェ曲線のための制御点は、正規化形状アレイ内に格納されている。索引される形状アレイ内の特定の道路部分の形状に対応する索引参照値は、道路セグメントデータエンティティ内に格納されている。この情報は、地図表示アプリケーションプログラム（または、サブプログラム）によって使用され、端点及び制御点情報が湾曲した道路部分を表現するベジェ曲線に数学的に変換され、表示デバイス上に湾曲した道路部分が再生される。
正規化形状アレイを用いる地理データベースの作成。地理データベースのこの実施例を作成する方法例を図１０に示す。公知の技術を使用して、地理領域内の全ての直線以外の道路部分の画像が入手される。これらの画像は、航空写真または衛星画像から、印刷された形状または電子形状で入手することも、または画像は直線以外の道路部分を表現する形状点データを含む既存地理データベースから入手することもできる。図１０には、これらの複数の画像３００（１）、３００（２）・・・３００（ｎ）が示されている。次に、各直線以外の道路セグメントのノードが選択される。もし画像が既存地理データベースから生成されるのであれば、ノードデータは、その画像を生成するために使用された道路セグメントデータエンティティ内に既に含まれている。そうでなければ、端点／ノードは上述した技術または当分野において公知の技術を使用して識別される。
【００２３】
湾曲道路部分の場合には、湾曲道路の画像は、各直線以外の道路部分の各点位置を標準化位置へ配置するように正規化される（ステップ３１０）。正規化プロセス３１０は、湾曲した道路を基準化し、回転させ、及び／または並進させる必要があろう。湾曲した道路が正規化されると、ベジェ曲線適合のための標準数学技術を使用して、湾曲した道路セグメントを最良近似（「最良適合」）するベジェ曲線を見出す。最良適合が決定されると、その曲線を限定する２つの制御点位置が識別される。これらの制御点の座標は端点に対して正規化され、更に、制御点の次元に沿う分離が標準であるように、端点を通る線に垂直な次元内で基準化することによって正規化される。曲線の標準化端点位置が与えられれば、その曲線の形状を限定するのに必要なものは２つの制御点の位置だけでよい。この制御点対を識別するデータは、正規化形状アレイ３２０内に入力される。正規化形状アレイ３２０内で、各分離した正規化制御点対ＣＰＮ１、ＣＰＮ２は分離した形状識別子ＣＰＥと組合されている。湾曲した道路部分を表現するセグメントデータエンティティは、制御点の座標位置の代わりに索引ＣＰＥを使用する。ノードＬＮ、ＲＮに対応するデータを含むセグメントデータエンティティ、及び索引参照値ＣＰＥは地図作成データセグメント３４’（Ａ）内に格納される。
【００２４】
地理データセット内のその後の湾曲道路部分が、同じようにして調べられ、処理される。地理データセット内の湾曲道路部分を調べる時、若干の道路部分が先に調べた道路部分と同じ正規化制御点対を有していることがあり得る。例えば、図１０において画像３００（ｎ）は、回転させるかまたは他の正規化を行うと、最初の画像３００（１）に示す道路セグメントと同じ形状を有する道路セグメントになる。この画像３００（ｎ）内の道路セグメントについて正規化制御点を決定する時に、それらは、画像３００（１）の道路セグメントを生成したアレイ３２０内に既に存在しているものと一致しよう。そこで、画像３００（ｎ）に示す道路セグメントを表現するセグメントデータエンティティレコードをデータセット３４’（Ａ）内に格納する時に、このレコードは、そのノードを識別するデータＬＮ（ｎ）、ＲＮ（ｎ）の他に、画像３００（１）に示した道路と同じ正規化制御点対ＣＰ１（１）、ＣＰ１（２）を含む。この例では、正規化形状アレイ３２０内への制御点対の新たなエントリは行われない。
【００２５】
各湾曲道路セグメントを調べる時に、もし特定制御点位置対に関してアレイ３２０内に一致が存在しなければ、新たなエントリがアレイに追加され、新たな索引参照値がこの特定道路部分の道路セグメントデータエンティティの形状データ属性内に格納される。しかしながら、もし正規化制御点対がアレイ３２０内の既存エントリと一致すれば、新たなエントリは行われない。このプロセスは、全ての道路部分が、道路セグメントデータエンティティ及び対応ノード及び形状データ属性に変換されるまで繰り返される。
正規化アレイを開発する際に、各制御点対をセグメントデータエンティティの形状点と置換するために使用した回数を追跡することが好ましい。そこで、ある領域内の全ての道路セグメントデータを調べる時に、使用された回数が最大の対だけのための索引が構築される。例えば、アレイは、 2000 の最も屡々使用された正規化制御点対だけを含んでいるかも知れない。アレイ内では、探索を速めるために、制御点対は頻度または他の手段によって順序付けされている。もし正規化制御点対が、アレイ内に格納されている制御点対の中に存在しなければ、それらの制御点は正規化されずに格納することも、またはデータを制御点データの代わりに形状点データとして格納することもできる。
【００２６】
地理データセット３４’（Ａ）の例では、２つの制御点を６バイト程度の小ささで格納することができる。 2000 のこれらの形状のライブラリは、メモリの丁度 12,000 バイトを占める正規化形状アレイテーブル内に格納され、1.5 バイトのデータサイズを有する索引値を用いてアクセスすることができる。もしこれらの 2000 の線形状がデータベース内で比較的高い頻度で再出現すれば、これらの各出現毎の形状情報は、２つのベジェ制御点（＋端点のために必要な空間）のための６バイトではなく、僅か 1.5バイトで媒体上にエンコードすることができるので、かなりな量の媒体空間が節約される。
代替実施例では、湾曲道路部分の画像に重ね合わせるのに、固定地理位置格子が使用される。これは、制御点及び道路部分端点が占める可能位置を制限し、それによって、作成または表現できる可能／予め限定された曲線形状の数が限定される。変換プロセスを開始する前に、コンピュータは正規化端点位置に対する全ての可能制御点位置を計算し、与えられた所望のレベルの分解能で全ての可能曲線形状を描く。次いで、これらの曲線形状は全て始めに、上述したアレイ３２０のような正規化形状アレイ内に格納される。特定道路部分に関する曲線適合／制御点決定プロセスが完了すると、得られた制御点位置対が正規化形状アレイ内のエントリと比較される。計算された制御点位置を、予め限定されたしきい値内で最も精密に近似するテーブル内のエントリが選択される。次いでそのエントリのための対応索引値が、その道路部分を表現する道路セットデータエンティティと組合される。このプロセスは、その特定の地理領域内の全ての道路部分が変換されてしまうまで繰り返される。
【００２７】
地理データベースの第２実施例の使用。図１１に示すように、地図表示アプリケーションプログラム（または、サブプログラム）３６６は、ノードデータ及び道路セグメントを表現するデータエンティティ内の正規化形状アレイへの索引を使用して、表示データベース上に道路部分の画像を再生する。図１１において、セグメントエンティティｓｅｇ（）のリスト３６８が、地図表示プログラム３６６へ入力される。このリストは、表示すべき道路の部分を表現するセグメントデータエンティティを識別する。道路セグメントデータエンティティは、表示すべき地理領域内の道路の直線部分及び湾曲部分の両方を描くデータを含んでいる。地図表示アプリケーションプログラム３６６は、先ずリスト３６８内に含まれている各道路セグメントデータエンティティと組合されたデータを描くことによって、表示デバイス上に道路部分を表現する（ステップ３７０）。もし所与の道路セグメントデータエンティティに関する制御点索引参照が存在しなければ（ステップ３７２）、地図表示アプリケーションプログラム３６６はステップ３７６へスキップし、表示装置４０上で、そのセグメントデータエンティティの端点（即ち、ノード）として識別された位置の間に直線を描く。制御点索引参照を有するセグメントの場合には（ステップ３７２）、地図表示アプリケーションプログラム３６６はステップ３７３へ進む。この索引参照値は、正規化形状アレイ３２０内への索引である。動作を向上させるために、正規化形状アレイ３２０は、ナビゲーションシステムの初期化時に、または地図表示機能が呼出されると、メモリ内にロードされる。地図表示アプリケーションプログラム（または、サブプログラム３６６）は索引参照値を使用し、制御点位置対データを含む正規化形状アレイエンティティ３２０内のエントリを表引きする（ステップ３７３）。この制御点位置データは、標準化端点位置、及び両端を通る線に垂直な次元内の基準化因子と共に、公知の技術によって表示デバイス上に湾曲道路部分を描く（ステップ３７６）のに使用できるベジェ曲線のためのパラメトリック方程式を計算（ステップ３７４）するために使用される。
III.  代替実施例
上述した両実施例においては、各直線以外の地理特色は、端点の座標を識別するデータ、及びベジェ曲線を生成するために使用される２つの付加的な点（即ち、２つの制御点）の座標を識別するデータによって表現されている。若干の直線以外の地理特色は、１つより多くのベジェ曲線によって生成できることに注目されたい。また、２つより多くの制御点、または他のパラメータを、直線以外の地理特色を表現するデータエンティティと組合せ得ることにも注目されたい。
【００２８】
代替実施例においては、ベジェ曲線関数以外の他の種類の計算可能関数を使用することができる。これらの他の種類の計算可能関数は、表現される地理特色の形状を限定するために係数を使用するどのような次数の多項式をも含む。スプライン曲線関数を使用することができる。さらなる代替実施例では、直線以外の特色と一致し、それを表現する曲線を生成するために、どのような他の種類の計算可能関数（フラクタル関数、または他の繰り返し関数、または再帰的に定義される関数を含む）をも使用することができる。
上述した実施例では、コンピュータ表示装置上に直線以外の地理特色を描いてナビゲーションシステムのユーザに見せるために、その特色を表現するデータが使用されている。直線以外の地理特色の表現は、地図表示に加えて他の用途も有していることを理解されたい。例えば、ナビゲーションシステムによって提供される別の重要な機能は、ビークルの位置決めである。ビークル位置決めでは、ナビゲーションシステムは、ＧＰＳシステムのような測位システムを使用してユーザの物理的地理座標（例えば、緯度及び経度）を決定し、これらの座標を地理データベース内に表現されている道路特色の座標と突き合わせ、地理領域内の道路網上のユーザの位置をユーザに通報する。相対的な精度で直線以外の地理特色の形状を決定する上述した実施例の能力は、ユーザの物理的地理座標を道路網の座標と突き合わせて道路網に対するユーザの位置を識別する情報をユーザに提示することを可能にする。
【００２９】
直線以外の地理特色を表現するために制御点を使用することによって記憶要求を減少させることはできるが、制御点の代わりに形状点を使用することによって特定の地理特色をより効率的に表現することができる。これらの地理特色を処理するために、単一の地理データベースが、制御点を使用して若干の直線以外の特色を表現し、形状点を使用して若干の直線以外の特色を表現することができる。このような地理データベースの一実施例においては、直線以外の地理特色を表現する各データエンティティが形状点または制御点の何れかを使用して（しかしながら、両者は使用しない）、特色の直線以外の形状を表現する。直線以外の地理特色を表現する各データエンティティは、その地理データベースを使用するナビゲーションアプリケーションに対して、制御点を使用しているのか、または形状点を使用しているのかを識別する手段をも含む。特定のデータベースエンティティ内で制御点を使用しているのか、または形状点を使用しているのかを指示することができる手段は、制御ビットの使用、異なる範囲の値の使用、異なるデータ順序等のような、どのような技術を使用してもよい。
【００３０】
地理データベースのさらなる実施例においては、地理特色を表現するのに使用される単一のデータエンティティ内において制御点及び形状点の両方を一緒に使用して、若干の直線以外の地理特色を最も効率的に表現することができる。前述したように、直線以外の地理特色の形状が、制御点データによって表現されているのか、または形状点データによって表現されているのかを区別する手段が設けられる。これらの手段は、単一のデータエンティティ内で、形状点データ及び制御点データの両方が使用されていることを指示するようにも拡張することができる。制御点及び形状点の両方を使用するような実施例では、ナビゲーションアプリケーションは、表現される地理特色の精密な近似を生成するために制御点データを使用することができる。次いで形状点を使用して、制御点によって生成した曲線が、表現される特色と正確に一致していない位置の表現を精細に調整する。別の例では、制御点を使用してある道路セグメントの第１の部分を表現し、形状点を使用してある道路セグメントの別の部分を表現することができる。
【００３１】
以上の詳細な説明は例示に過ぎず、本発明を限定するものではなく、本発明の範囲は特許請求の範囲によってのみ限定されることを理解されたい。
【図面の簡単な説明】
【図１】普通のナビゲーションシステムのブロック図である。
【図２】図１に示す地理データベースの一部を表すブロック図である。
【図３】図２の地理データベースによって表現される地理領域の一部分を示す地図を表す図である。
【図４】従来技術の方法による図２の地理データベース内の道路セグメントレコードの一部を示すブロック図である。
【図５】地理領域の一部及び本発明の第１実施例の適用を示す地図を表す図である。
【図６】第１実施例による地理データベース内の道路セグメントレコードの一部を示すブロック図である。
【図７】セグメントレコードを有する地理データベースを図６に示すように使用するために変更した図１のナビゲーションアプリケーションプログラムの表示部分のブロック図である。
【図８】制御点を有する地理データベースを図６に示すように形成する第１のプロセスを示す図である。
【図９】制御点を有する地理データベースを図６に示すように形成する別のプロセスを示す図である。
【図１０】正規化された制御点のテーブルを有する地理データベースを形成する第３のプロセスを示す図である。
【図１１】図１０のプロセスによって形成された地理データベースを使用するために変更されたナビゲーションアプリケーションプログラムの表示部分を示す図７と類似のブロック図である。
【符号の説明】
１０  ナビゲーションシステム
１２  自動車
１４  測位システムハードウェア
１６  ＧＰＳシステム
１８  アンテナ
２０  センサ
２２  コンパス
２４  コンピュータ
２６  ＣＰＵ
２８  メモリ
３０  ドライブ
３２  データ記憶媒体
３４  地理データセット
３４’  地図作成データセット
３６  ＲＯＭ
３８  ナビゲーションアプリケーションプログラム
４０  ユーザインタフェース
４２  道路セットデータエンティティ
４６  ノード及び属性
４８  ノードデータ
５０  形状点
６６、３６６  地図表示プログラム
６８、３６８  セグメントのリスト
１２０、２２０、３００  画像
１２２  形状検出プログラム
１２５、２２５  道路
１２６、２２６  曲線適合プログラム
３２０  正規化形状アレイ
３６６  地図表示アプリケーションプログラム
【図１】
0004372246.tif 000002
【図２】
0004372246.tif 000003
【図３】
0004372246.tif 000004
【図４】
0004372246.tif 000005
【図５】
0004372246.tif 000006
【図６】
0004372246.tif 000007
【図７】
0004372246.tif 000008
【図８】
0004372246.tif 000009
【図９】
0004372246.tif 000010
【図１０】
0004372246.tif 000011
【図１１】
0004372246.tif 000012