(57)【要約】【課題】車両ナビゲーションシステムの、データをブロックに格納している第１のナビゲーションデータベースを更新するための方法を提供すること。【解決手段】本発明によって提供される方法は、第１のナビゲーションデータベースのブロックに対応するブロックにデータを格納している第２のナビゲーションデータベースを提供するステップと、第１のナビゲーションデータベースのソースオブジェクトをコンパイルし、第１のナビゲーションデータベースの導出オブジェクトを生成するステップと、第２のナビゲーションデータベースのソースオブジェクトの部分集合をコンパイルし、第２のナビゲーションデータベースの導出オブジェクトを生成するステップと、第１のナビゲーションデータベースの対応するブロックとは異なっている第２のナビゲーションデータベースのブロックを決定するステップとを包含する。【選択図】図２
2008171429.tif 000002
【特許請求の範囲】
【請求項１】
車両ナビゲーションシステムの、データをブロックに格納している第１のナビゲーションデータベースを更新するための方法であって、該ブロックの各々は、ソースオブジェクトを特定する少なくとも１つのレコードを含んでおり、
該第１のナビゲーションデータベースの該ブロックに対応するブロックにデータを格納している第２のナビゲーションデータベースを提供するステップであって、該ブロックの各々は、ソースオブジェクトを特定する少なくとも１つのレコードを含んでおり、該第２のデータベースは、該第１のナビゲーションデータベースとは、少なくとも１つのソースオブジェクトが異なっている、ステップと、
該第１のナビゲーションデータベースのソースオブジェクトをコンパイルし、該第１のナビゲーションデータベースの導出オブジェクトを生成するステップと、
該第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なっているソースオブジェクトのみから構成されている、該第２のナビゲーションデータベースのソースオブジェクトの部分集合をコンパイルし、該第２のナビゲーションデータベースの導出オブジェクトを生成するステップと、
該第１のナビゲーションデータベースのブロックに、該第１のナビゲーションデータベースの該ソースオブジェクトおよび該導出オブジェクトの全てを分類するステップと、
該第２のナビゲーションデータベースのブロックに、該第２のナビゲーションデータベースの該ソースオブジェクトおよび該導出オブジェクトの全てを分類するステップと、
該第１のナビゲーションデータベースの該ブロックと該第２のナビゲーションデータベースの対応するブロックとを比較し、該第１のナビゲーションデータベースの対応するブロックとは異なっている該第２のナビゲーションデータベースのブロックを決定するステップと
該第１のナビゲーションデータベースの更新パッケージを生成するステップであって、該更新パッケージは、該第１のナビゲーションデータベースの対応するブロックとは異なるように決定された、該第２のナビゲーションデータベースのブロックのみを含んでいる、ステップと
を包含する、方法。
【請求項２】
前記第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なっているソースオブジェクトのみから構成されている、前記第２のナビゲーションデータベースのソースオブジェクトの前記部分集合は、該第１のナビゲーションデータベースにおいて特定された該対応するソースオブジェクトとは異なっている全てのソースオブジェクトを含んではいない、請求項１に記載の方法。
【請求項３】
前記更新パッケージは、前記第１のナビゲーションデータベースの対応するブロックとは異なっている、前記第２のナビゲーションデータベースのブロックの全てを含んではいない、請求項１または請求項２に記載の方法。
【請求項４】
前記更新パッケージは、前記第１のナビゲーションデータベースの対応するブロックとは異なっている、前記第２のナビゲーションデータベースのブロックを含んでおり、該ブロックは、デジタルマップデータの形式で、市街または国または州または連邦または大陸を表している、請求項３に記載の方法。
【請求項５】
前記第２のナビゲーションデータベースの前記ソースオブジェクトのいずれとも対応しない、前記第１のナビゲーションデータベースのソースオブジェクトをコンパイルすること
を含んでいる、請求項１〜請求項４のいずれか一項に記載の方法。
【請求項６】
前記第１のナビゲーションデータベースの前記導出オブジェクトを生成するために、該第１のナビゲーションデータベースの全てのソースオブジェクトがコンパイルされる、請求項１〜請求項５のいずれか一項に記載の方法。
【請求項７】
前記第１のナビゲーションデータベースは、その他の導出オブジェクトおよびソースオブジェクトに対する前記導出オブジェクトの従属性に関する情報を含んでおり、
前記第２のナビゲーションデータベースにおける対応するソースオブジェクトまたは対応する導出オブジェクトとは異なっている、該第１のナビゲーションデータベースのソースオブジェクトまたは導出オブジェクトから導出された、該第１のナビゲーションデータベースの導出オブジェクトのみが、前記コンパイルによって生成される、請求項１〜請求項５のいずれか一項に記載の方法。
【請求項８】
各オブジェクトが、ブロック番号およびレコード番号から構成される物理オブジェクトＩＤによって識別されるように、各ブロックは、一意的なブロック番号が割り当てられており、ブロック内の各レコードは、一意的なレコード番号が割り当てられており、
前記第１のナビゲーションデータベースおよび前記第２のナビゲーションデータベースのそれぞれの異なるブロックのオブジェクトの間の参照は、論理ブロック番号および論理レコード番号から構成された論理オブジェクトＩＤによって識別され、
各オブジェクトに対して該第１のナビゲーションデータベースを更新するために、前記更新パッケージをインストールした後に、該更新パッケージが、該第１のナビゲーションデータベースのブロックの数と同じ数のブロックを含んでいる場合に、該物理オブジェクトＩＤは、該論理オブジェクトＩＤと同じに設定される、請求項１〜請求項７のいずれか一項に記載の方法。
【請求項９】
前記レコードは、圧縮可能なデータおよび解凍可能なデータであり、前記ブロックは、圧縮可能なデータではない、請求項１〜請求項８のいずれか一項に記載の方法。
【請求項１０】
前記レコードは、自己記述的なフォーマットを有している、請求項１〜請求項９のいずれか一項に記載の方法。
【請求項１１】
前記第１のナビゲーションデータベースおよび前記第２のナビゲーションデータベースは、オブジェクト指向のデータベースである、請求項１〜請求項１０のいずれか一項に記載の方法。
【請求項１２】
請求項１〜請求項１１のいずれか一項に記載の方法のステップを実行するためのコンピュータ実行可能な命令を有している、１つ以上のコンピュータ読取り可能な媒体を含んでいる、コンピュータプログラム製品。
【請求項１３】
請求項１〜請求項１１のいずれか一項に記載の方法によって更新されるように構成された、ナビゲーションデータベースを含んでいる、車両のためのナビゲーションシステム。
【請求項１４】
インターネットを介して請求項１〜請求項１１のいずれか一項に記載の方法によって、前記ナビゲーションデータベースを更新するように構成された、インターネット接続をさらに含んでいる、請求項１３に記載のナビゲーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、データベースに関し、特に、ナビゲーションシステムにおけるナビゲーションデータベースに関する。本発明は特に、部分的およびインクリメンタルな更新によって更新可能な車両ナビゲーションシステムにおけるナビゲーションデータベースに関する。
【背景技術】
【０００２】
（発明の背景）
ナビゲーションシステムは、今日の車両において、特に、ミッドクラスまたはハイクラスの自動車において、ますます普及してきている。ナビゲーションシステムは、ユーザによって選択された所定の方向への経路案内を実行する。経路案内およびユーザによる動作の両方は、音声制御および／または認識システムによって、および／または表示デバイスによって、言葉で実行され得る。
【０００３】
車両に対するナビゲーションデータベースは、通常ＣＤまたはＤＶＤのようなリムーバブル格納媒体に格納されるデジタルマップのデータベースを含み得る。しかしながら、近年、車両ナビゲーションデータベースのデータ量は、一部には、地形モデルならびに交差点（ｉｎｔｅｒｓｅｃｔｉｏｎ）および目印となる建物（ｌａｎｄｍａｒｋ）の３次元表示の導入に起因して（現在では数十ＧＢまで）劇的に増加してきている。したがって、近年のナビゲーションシステムは、ハードディスクドライブに格納されたデジタルマップデータベースを含んでおり、上記ハードディスクドライブには、上記データベースがプレインストールされる。
【０００４】
ナビゲーションデータベースのコンテンツは、信頼性のある最適化された経路案内を保証するために、比較的頻繁に更新されなければならない。通常プロバイダは、１年ごとに１つまたは２つの更新の公開を提供する。データベース全体の新しい公開は、ＣＤまたはＤＶＤで提供される。ナビゲーションデータベースがハードディスクドライブにインストールされている場合、新しいデータベースの公開は、通常サービススタッフによってハードディスクにコピーされなければならず、これにより、時間を消費し、データベースの更新のコストが大幅に増加することになる。さらに、現在の車両ナビゲーションデータベースは、読み取り専用のデータベースである。このことは、それらがデータベース全体の置換によってのみ更新され得るということを示唆している。さらにコストおよび時間の消費は、望ましくないほどに高くなる。
【０００５】
現在のナビゲーションデータベースの更新の別の問題は、データベースフォーマットの拡張の後に、新しく公開されたデータベースは、適切な新しいソフトウェアを用いることによってしか読み取られ得ないという事実に関する。このソフトウェアは、新しいデータベースを含んだ新しい格納媒体と共に提供されるか（この場合、ナビゲーションシステムは、新しいソフトウェアをダウンロードし、インストールしなければならない）、あるいはより悪いことに、ソフトウェアは新しいデータベースが読み取られる前に、サービススタッフによって更新されなければならないかのいずれかである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、データベースの更新のための時間およびコストを低減させる必要がある。さらに、ユーザは、彼の必要性および価格の意識にしたがって、現在用いられているナビゲーションデータベースを更新する機会を提供されるべきである。
【課題を解決するための手段】
【０００７】
（発明の説明）
上述の問題は、請求項１に記載の方法によって解決され、この方法は、車両ナビゲーションシステムの、データをブロックに格納している第１のナビゲーションデータベースを更新するための方法であって、ブロックの各々は、ソースオブジェクトを特定する少なくとも１つのレコードを含んでおり、
第１のナビゲーションデータベースのブロックに対応するブロックにデータを格納している第２のナビゲーションデータベースを提供するステップであって、ブロックの各々は、ソースオブジェクトを特定する少なくとも１つのレコードを含んでおり、第２のデータベースは、第１のナビゲーションデータベースとは、少なくとも１つのソースオブジェクトが異なっている、ステップと、
第１のナビゲーションデータベースのソースオブジェクトをコンパイルし、第１のナビゲーションデータベースの導出オブジェクトを生成するステップと、
第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なっているソースオブジェクトのみから構成されている、第２のナビゲーションデータベースのソースオブジェクトの部分集合をコンパイルし、第２のナビゲーションデータベースの導出オブジェクトを生成するステップと、
第１のナビゲーションデータベースのブロックに、第１のナビゲーションデータベースのソースオブジェクトおよび導出オブジェクトの全てを分類するステップと、
第２のナビゲーションデータベースのブロックに、第２のナビゲーションデータベースのソースオブジェクトおよび導出オブジェクトの全てを分類するステップと、
第１のナビゲーションデータベースのブロックと第２のナビゲーションデータベースの対応するブロックとを比較し、第１のナビゲーションデータベースの対応するブロックとは異なっている第２のナビゲーションデータベースのブロックを決定するステップと、
第１のナビゲーションデータベースの更新パッケージを生成するステップであって、更新パッケージは、第１のナビゲーションデータベースの対応するブロックとは異なっている第２のナビゲーションデータベースのブロックのみを含んでいる、ステップと
を包含する。
【０００８】
次に、更新パッケージは、第１のナビゲーションデータベースを更新するために、第１のナビゲーションデータベースを含んでいる、ユーザのナビゲーションシステムにインストールされる。
【０００９】
データベースの各々のデータは、論理的に関係のあるブロックに編成される。ブロックの各々は、オブジェクトおよびそれらの属性を特定する多数のレコードを含んでいる。典型的なオブジェクトは、道路、目印となる建物、および関心点（ＰＯＩ；ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ）であり、例えば、サービスステーション、警察署、ホテル、レストラン等であり、デジタルマップに表され、ドライバーに提供される；属性は、例えば、レストランにおいて提供される食品の種類（例えば、「イタリアン」）であり得る。
【００１０】
本明細書において、「ソースオブジェクト」とは、データベースのコンパイルプロセスの間に、その他のものから導出されない、それぞれのオブジェクトを意味する（上述の例を参照されたい）。最も低い編成レベルにおけるマップのジオメトリー（ｇｅｏｍｅｔｒｙ）および道路のトポロジー（ｔｏｐｏｌｏｇｙ）ならびに市街および通りの属性は、ソースデータである。
【００１１】
一方で、導出オブジェクトは、データベースのコンパイルの間にソースオブジェクトから計算される（コンパイルされる）オブジェクトである。導出オブジェクトおよびデータは、ソースオブジェクトまたはその他のオブジェクトから既知なデータを含んでいるが、例えば、より高いレベルの経路およびマップの表示および名前の識別をする際に、ナビゲーションソフトウェアの動作を加速するために、より高い編成レベルにある（例えば、マップ内で数十ｋｍのタイルを用いたスケールであり、最も低いマップのレベルは、数百メートルの縁の長さのタイルを示す）。
【００１２】
各ブロックは、ブロック番号を割り当てられる。第１のナビゲーションデータベースのブロックおよび第２のナビゲーションデータベースのブロックの対応するブロックは、同じまたは類似のオブジェクトを特定するレコードを含んでいるブロックを意味する。例えば、第１のナビゲーションデータベースのデータおよび第２のナビゲーションデータベースのデータの各々が、ｎ個のブロックに分類される場合、第１のナビゲーションデータベースのブロック番号１は、第２のナビゲーションデータベースのブロック番号１に対応し、各データベースの対応するブロックｎまで同じことが言える。
【００１３】
第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なっているソースオブジェクトのみから構成されている、第２のナビゲーションデータベースのソースオブジェクトの部分集合は、通常、第１のナビゲーションデータベースの全てのソースオブジェクトの集合よりもはるかに小さい。
【００１４】
新しいソースオブジェクト（例えば、第１のナビゲーションデータベースのデジタルマップデータに表されていない新しく敷設された道路）が、第１のナビゲーションデータベースとなんの対応もなしに、第２のナビゲーションデータベースに含まれる場合がカバーされ得ることに、特に留意されたい。さらに、第１のナビゲーションデータベースのソースオブジェクトをコンパイルして、第１のナビゲーションデータベースの導出オブジェクトを生成することは、第２のナビゲーションデータベースのソースオブジェクトのいずれにも対応しない、第１のナビゲーションデータベースのソースオブジェクトをコンパイルすることによって、ナビゲーションデータベースの以後の公開においてオブジェクトの削除を補うことを含んでいることが、好適であり得る。例えば、ＰＯＩが、第１のナビゲーションデータベースの発行から第２のナビゲーションデータベースの発行までの期間に除去される場合、このオブジェクトを特定するそれぞれのレコードを含んでいるブロック、および第１のナビゲーションデータベースにおけるＰＯＩに従属する導出オブジェクトを特定するレコードを含んでいるブロックが、第１のナビゲーションデータベースのコンパイルされたブロックと、第２のナビゲーションデータベースのコンパイルされたブロックとの比較の間に、識別され得る。
【００１５】
第２のナビゲーションデータベースは、基本的に、第１のナビゲーションデータベースと同じものであると考えられ得るが、いくつかの変更を伴っている。第２のナビゲーションデータベースは、プロバイダによって構成された親データベース（ｐａｒｅｎｔ  ｄａｔａｂａｓｅ）であり得、古いデータベースの変更を表し得、この場合、第１のナビゲーションデータベースは、古い親データベースのコピーであり得る。例えば、第２のデータベースのソースオブジェクトの一部は、第１のデータベースにおける対応するソースオブジェクトとは異なるものである。更新パッケージは、それが特定の車両において物理的に実現されたときに、第１のナビゲーションデータベースから、または第１のナビゲーションデバイスの同一コピーから生成され得る。第１の場合、更新パッケージのコンパイルおよび生成は、目的のナビゲーションシステム上で実行されなければならないので、コンパイラソフトウェアの少なくとも一部が、目的のナビゲーションシステム上にインストールされ、このナビゲーションシステムのナビゲーションデータベースが、更新されなければならない。第２の場合、更新システムは、プロバイダによって生成され得るか、あるいは消費者によって、彼自身のＰＣ上で生成され得る。
【００１６】
上述の方法に従うと、ナビゲーションデータベースのユーザは、現在用いられているナビゲーションデータベースを、データベースの新しいバージョン全体によって置換するのではなく、それを完全または部分的に更新する機会を提供される。したがってユーザは、低減された時間の消費および低減されたコストで、使用されているナビゲーションデータベースの最新の変更からの利益を受けることができる。
【００１７】
本明細書に開示されている方法の一局面にしたがうと、第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なっているソースオブジェクトのみから構成されている、第２のナビゲーションデータベースのソースオブジェクトの部分集合は、第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なる全てのソースオブジェクトを、必ずしも含んではいない。本発明の方法によって提供されるさらなる代替にしたがうと、更新パッケージは、第１のナビゲーションデータベースの対応するものとは異なっている、第２のナビゲーションデータベースの全てのブロック、またはその一部分のみを含み得る。ユーザは、コンパイルに用いられる第２のナビゲーションデータベースのソースオブジェクト、および更新パッケージに含まれるべきブロックを選択し得る。
【００１８】
このようにして、第１のナビゲーションシステムのユーザは、彼の必要性および費用面の決定にしたがって、データベースを更新することが可能である。例えば、第２のデータベースが含んでいる、例えば、ヨーロッパ全体のデジタルマップのためのデータのうち、イタリアおよびドイツに関するデータが、第１のナビゲーションデータベースに対して補正されることがあり得る。しかしながら、第１のナビゲーションデータベースのユーザは、イタリアに関するデジタルマップデータの更新されたバージョンのみにしか関心を持たないことがあり得る。したがって、第１のナビゲーションデータベースの更新のためにユーザのナビゲーションシステムにインストールされる更新パッケージは、第１のナビゲーションデータベースのそれぞれのブロックとは異なっており、イタリアのマップ表示に関係している、第２のナビゲーションデータベースのソースオブジェクトおよび導出オブジェクトのブロックのみを含み得る。
【００１９】
一般に、第１のナビゲーションデータベースの対応するブロックとは異なっている、第２のナビゲーションデータベースのブロックは、市街または国または州または連邦または大陸を表し得る。すなわち、ブロックにおいて編成されたデータは、これらの地理的エンティティのデジタルマップデータを表し得る。したがって、市街または国に対するブロックの更新は、更新のためのそれぞれのブロックを選択することによって、非常に快適に、時間的効率の良い方法で、実行され得る。
【００２０】
本明細書に開示されている方法のいくぶん腕力的（ｂｒｕｔｅ  ｆｏｒｃｅ）な例にしたがうと、第１のナビゲーションデータベースのソースオブジェクトの全ては、第１のナビゲーションデータベースの導出オブジェクトを生成するためにコンパイルされるが、このことは、第１のナビゲーションデータベースの全てのブロックが、第２のナビゲーションデータベースとの比較の前に、（新たに）分類されなければならないということを示唆している。そのような種類の更新は、非常に信頼性があるけれども、これは、各更新プロセスに対し、第１のナビゲーションデータベースの全体をコンパイルすることは、比較的不効率的である。
【００２１】
本明細書においては、ナビゲーションデータベースを更新するための方法の別の実施形態、すなわち、インクリメンタルな種類のデータベースの更新が提供されているが、ここでは、第１のナビゲーションデータベースは、その他の導出オブジェクトおよびソースオブジェクトに対する導出オブジェクトの従属性に関する情報を含んでおり、第２のナビゲーションデータベースの対応するソースオブジェクトまたは対応する導出オブジェクトとは異なっている、第１のナビゲーションデータベースのソースオブジェクトまたは導出オブジェクトから導出された、第１のナビゲーションデータベースの導出オブジェクトのみが、コンパイルによって生成される。
【００２２】
各導出オブジェクトは、１つ以上のソースオブジェクトおよび／または導出オブジェクトからコンパイルされるので、導出オブジェクトの各々に対して、オブジェクト（ソースオブジェクトまたは導出オブジェクトのいずれか）に対する、それから導出される従属性の関係が、確立される。データベースのコンパイルは、以前のコンパイルにおいて形成された全ての導出オブジェクトに対するアクセスと、従属性の関係に関する情報とを有している、データベースコンパイラによって、実行される。コンパイラは、通常、自らのシステムのナビゲーションデータベースをアップデートしたいと思っているユーザのナビゲーションシステムにおいて、インストールされなければならない。代替的に、リモートコンピュータにインストールされ、車両に据え付けられたナビゲーションシステムによって用いられる一部の格納媒体に物理的に存在するデータベースの完全なコピーに対して、実行されなければならない。
【００２３】
データベースコンパイラは、全てのオブジェクトの従属性をスキャンすることが可能である。従属性の関係に関する情報に基づいて、データベースコンパイラは、第１のナビゲーションデータベースの対応するオブジェクトに対して変更された、第２のナビゲーションデータベースにおけるオブジェクトに対応するオブジェクトに従属している、導出オブジェクトのみを（再）構成する。そのような変更は、第１のナビゲーションデータベースのコンパイルプロセスの前に、決定されなければならない。第２のデータベースのコンパイルは、同様なインクリメンタルなコンパイルによって実行され得るということに留意されたい。第２のナビゲーションデータベースの一部のソースオブジェクトが変更される場合、必ずしも第２のナビゲーションデータベースの全体をコンパイルする必要はなく、変更されたソースオブジェクトに従属する導出オブジェクトのみを（再）構成するだけで十分である。
【００２４】
インクリメンタルな更新／コンパイルにしたがうと、（単数または複数の）データベースの全体をコンパイルする必要がないので、ユーザのナビゲーションデータベースの更新は、大幅に加速される。
【００２５】
好適には、各ブロックは、一意的なブロック番号を割り当てられ、好適には、各ブロック内で、各レコードは、一意的なレコード番号を割り当てられる。したがって、各オブジェクトは、ブロック番号およびレコード番号によって一意的に識別され得る。ブロック番号およびレコード番号は、物理オブジェクトＩＤ（識別子）を含んでいる。第１および第２のナビゲーションデータベースのデータは、１つのデータベース内の１つのブロックの（ソースまたは導出）オブジェクトとその他のブロックのオブジェクトとの間の参照を識別する論理オブジェクトＩＤによって、さらに編成され得る。上記の例のうちの１つにしたがうブロックの更新は、第１のナビゲーションデータベースにおける変更されていないブロックと変更されたブロックとの間の参照の完全性／整合性を維持するために、各データベースに含まれている、論理ＩＤから物理ＩＤへのＩＤマッピングを変更し得る。全体の更新の後、すなわち、更新パッケージが第１のナビゲーションデータベースと同じくらい多くのブロックを含んでいる特定の場合に対し、ＩＤマッピングは一様に設定される（すなわち、各オブジェクトに対し、論理ＩＤおよび物理ＩＤは、同じに設定される）。
【００２６】
ブロックは、オパークコンテナとして考えられ得、データ圧縮性ではあり得ない（すなわち、データベースの全体の構成の後に、データ圧縮され得ず、新しいコンパイルの前に、解凍され得ない）。データ圧縮は、ブロックに含まれているレコードに対してのみ実行され得る。この場合、各ブロックは、データベースの大部分に対する時間消費を必要とすることなしに、コンパイルプロセスおよび更新プロセスのために、直接的にアクセスすることが可能である。
【００２７】
レコードは、同じナビゲーションデータベースの様々なバージョンの前方（ｆｏｒｗａｒｄ）および後方（ｂａｃｋｗａｒｄ）の両立を保証するために、自己記述的なフォーマットを有し得、特に、第１のナビゲーションデータベースに対する更新パッケージによる更新は、第１のナビゲーションデータベースの新しいバージョンを表している第２のナビゲーションデータベースに基づいて生成される。さらに、これにより、ナビゲーションソフトウェアは、新しいバージョンのナビゲーションソフトウェアにおける使用を意図された新しい種類のレコードを導入し得る、比較的膨大な更新の後でさえも、ナビゲーションデータベースを使用することが可能である。この場合、未知のレコードタイプ、または既知のレコードを有する未知の特定の属性は、ナビゲーションシステムのソフトウェアによって、単純にスキップされ得る。
【００２８】
好適には、第１および第２のナビゲーションデータベースは、オブジェクト指向のデータベースであり得る（すなわち、関係性のあるデータベースではないが、トランスペアレントな持続性を有するデータベースである）。
【００２９】
コンピュータプログラム製品もまた提供され、このコンピュータプログラム製品は、ナビゲーションデータベースを更新するために、本発明の方法の上述の例のうちの１つの例のステップを実行するための、コンピュータ実行可能な命令を有している、１つ以上のコンピュータ読取り可能な媒体を含んでいる。
【００３０】
本発明はまた、上述の方法のうちの１つによって更新されるように構成された、ナビゲーションデータベース、ならびにナビゲーションデータベースを更新するための方法の上述の例のうちの１つによって更新されるように構成された、ナビゲーションデータベースを含んでいる車両のためのナビゲーションシステムをも提供する。
【００３１】
そのようなナビゲーションシステムは、安全かつ効率的な経路案内のために必要な、デジタルマップデータの新しい公開を、従来可能であったよりも、はるかに容易に提供され得る。ナビゲーションシステムは、上述のナビゲーションデータベースの更新が、インターネットを介して実行され得るように構成された、インターネット接続をさらに含み得る。これは、比較的低速な更新方法であるが、インターネットを介して提供された新しい更新パッケージに対する直接的なアクセスを有することは、効率的である。さらに、更新手順は、消費者が実際のドライブの間の実際の更新に関わらなくても良いように、実質的に自動的に実行され得る。
【００３２】
本発明の追加的な特徴および利点は、図面を参照して記載される。記載において、本発明の好適な実施形態を示すことが意図されている図面に対して参照がなされる。そのような実施形態は、請求の範囲によって規定される本発明の全範囲を表してはいない。
【００３３】
本発明は、さらに以下の手段を提供する。
【００３４】
（項目１）  
車両ナビゲーションシステムの、データをブロックに格納している第１のナビゲーションデータベースを更新するための方法であって、該ブロックの各々は、ソースオブジェクトを特定する少なくとも１つのレコードを含んでおり、
該第１のナビゲーションデータベースの該ブロックに対応するブロックにデータを格納している第２のナビゲーションデータベースを提供するステップであって、該ブロックの各々は、ソースオブジェクトを特定する少なくとも１つのレコードを含んでおり、該第２のデータベースは、該第１のナビゲーションデータベースとは、少なくとも１つのソースオブジェクトが異なっている、ステップと、
該第１のナビゲーションデータベースのソースオブジェクトをコンパイルし、該第１のナビゲーションデータベースの導出オブジェクトを生成するステップと、
該第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なっているソースオブジェクトのみから構成されている、該第２のナビゲーションデータベースのソースオブジェクトの部分集合をコンパイルし、該第２のナビゲーションデータベースの導出オブジェクトを生成するステップと、
該第１のナビゲーションデータベースのブロックに、該第１のナビゲーションデータベースの該ソースオブジェクトおよび該導出オブジェクトの全てを分類するステップと、
該第２のナビゲーションデータベースのブロックに、該第２のナビゲーションデータベースの該ソースオブジェクトおよび該導出オブジェクトの全てを分類するステップと、
該第１のナビゲーションデータベースの該ブロックと該第２のナビゲーションデータベースの対応するブロックとを比較し、該第１のナビゲーションデータベースの対応するブロックとは異なっている該第２のナビゲーションデータベースのブロックを決定するステップと
該第１のナビゲーションデータベースの更新パッケージを生成するステップであって、該更新パッケージは、該第１のナビゲーションデータベースの対応するブロックとは異なるように決定された、該第２のナビゲーションデータベースのブロックのみを含んでいる、ステップと
を包含する、方法。
【００３５】
（項目２）
上記第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なっているソースオブジェクトのみから構成されている、上記第２のナビゲーションデータベースのソースオブジェクトの上記部分集合は、該第１のナビゲーションデータベースにおいて特定された該対応するソースオブジェクトとは異なっている全てのソースオブジェクトを含んではいない、項目１に記載の方法。
【００３６】
（項目３）
上記更新パッケージは、上記第１のナビゲーションデータベースの対応するブロックとは異なっている、上記第２のナビゲーションデータベースのブロックの全てを含んではいない、項目１または項目２に記載の方法。
【００３７】
（項目４）
上記更新パッケージは、上記第１のナビゲーションデータベースの対応するブロックとは異なっている、上記第２のナビゲーションデータベースのブロックを含んでおり、該ブロックは、デジタルマップデータの形式で、市街または国または州または連邦または大陸を表している、項目３に記載の方法。
【００３８】
（項目５）
上記第２のナビゲーションデータベースの上記ソースオブジェクトのいずれとも対応しない、上記第１のナビゲーションデータベースのソースオブジェクトをコンパイルすること
を含んでいる、項目１〜項目４のいずれか一項に記載の方法。
【００３９】
（項目６）
上記第１のナビゲーションデータベースの上記導出オブジェクトを生成するために、該第１のナビゲーションデータベースの全てのソースオブジェクトがコンパイルされる、項目１〜項目５のいずれか一項に記載の方法。
【００４０】
（項目７）
上記第１のナビゲーションデータベースは、その他の導出オブジェクトおよびソースオブジェクトに対する上記導出オブジェクトの従属性に関する情報を含んでおり、
上記第２のナビゲーションデータベースにおける対応するソースオブジェクトまたは対応する導出オブジェクトとは異なっている、該第１のナビゲーションデータベースのソースオブジェクトまたは導出オブジェクトから導出された、該第１のナビゲーションデータベースの導出オブジェクトのみが、上記コンパイルによって生成される、項目１〜項目５のいずれか一項に記載の方法。
【００４１】
（項目８）
各オブジェクトが、ブロック番号およびレコード番号から構成される物理オブジェクトＩＤによって識別されるように、各ブロックは、一意的なブロック番号が割り当てられており、ブロック内の各レコードは、一意的なレコード番号が割り当てられており、
上記第１のナビゲーションデータベースおよび上記第２のナビゲーションデータベースのそれぞれの異なるブロックのオブジェクトの間の参照は、論理ブロック番号および論理レコード番号から構成された論理オブジェクトＩＤによって識別され、
各オブジェクトに対して該第１のナビゲーションデータベースを更新するために、上記更新パッケージをインストールした後に、該更新パッケージが、該第１のナビゲーションデータベースのブロックの数と同じ数のブロックを含んでいる場合に、該物理オブジェクトＩＤは、該論理オブジェクトＩＤと同じに設定される、項目１〜項目７のいずれか一項に記載の方法。
【００４２】
（項目９）
上記レコードは、圧縮可能なデータおよび解凍可能なデータであり、上記ブロックは、圧縮可能なデータではない、項目１〜項目８のいずれか一項に記載の方法。
【００４３】
（項目１０）
上記レコードは、自己記述的なフォーマットを有している、項目１〜項目９のいずれか一項に記載の方法。
【００４４】
（項目１１）
上記第１のナビゲーションデータベースおよび上記第２のナビゲーションデータベースは、オブジェクト指向のデータベースである、項目１〜項目１０のいずれか一項に記載の方法。
【００４５】
（項目１２）
項目１〜項目１１のいずれか一項に記載の方法のステップを実行するためのコンピュータ実行可能な命令を有している、１つ以上のコンピュータ読取り可能な媒体を含んでいる、コンピュータプログラム製品。
【００４６】
（項目１３）
項目１〜項目１１のいずれか一項に記載の方法によって更新されるように構成された、ナビゲーションデータベースを含んでいる、車両のためのナビゲーションシステム。
【００４７】
（項目１４）
インターネットを介して項目１〜項目１１のいずれか一項に記載の方法によって、上記ナビゲーションデータベースを更新するように構成された、インターネット接続をさらに含んでいる、項目１３に記載のナビゲーションシステム。
【００４８】
（摘要）
本発明は、車両ナビゲーションシステムの、データをブロックに格納している第１のナビゲーションデータベースを更新するための方法に関し、ブロックの各々は、ソースオブジェクトまたはソースオブジェクトから導出された導出オブジェクトを特定する少なくとも１つのレコードを含んでいる。上記方法は、第１のナビゲーションデータベースのブロックに対応するブロックにデータを格納している第２のナビゲーションデータベースを提供するステップであって、ブロックの各々は、ソースオブジェクトまたはソースオブジェクトから導出された導出オブジェクトを特定する少なくとも１つのレコードを含んでおり、第２のデータベースは、第１のナビゲーションデータベースとは、少なくとも１つのソースオブジェクトが異なっている、ステップと；第１のナビゲーションデータベースのソースオブジェクトをコンパイルし、第１のナビゲーションデータベースの導出オブジェクトを生成するステップと；該第１のナビゲーションデータベースにおいて特定された対応するソースオブジェクトとは異なっているソースオブジェクトのみから構成されている、第２のナビゲーションデータベースのソースオブジェクトのサブセットをコンパイルし、第２のナビゲーションデータベースの導出オブジェクトを生成するステップと、第１のナビゲーションデータベースのブロックと第２のナビゲーションデータベースの対応するブロックとを比較し、第１のナビゲーションデータベースの対応するブロックとは異なっている第２のナビゲーションデータベースのブロックを決定するステップとを包含する。
【発明を実施するための最良の形態】
【００４９】
新しいデータベースＢによるナビゲーションデータベースＡの更新を考える。新しいデータベースＢは、ブロック１に構築されたレコード２のいくつかが変更されていることを除いて、データベースＡのコピーである（図１を参照されたい）。データベースの各々において、データは論理的関係のあるブロック１（典型的には５〜６４ｋｂｙｔｅｓのサイズを有する）に分類される。
【００５０】
ブロックの各々は、レコード（例えば、２１６個のレコードまで）を含んでいる。各レコードは、原則として、例えば、整数、文字列、ポインタ、等の様々なデータタイプを含み得る。さらに、各レコードは、オブジェクト（例えば、道路、多角形、通りの交差、目印となる建物、等）およびオブジェクトの属性（例えば、通りの通行止め、速度制限ゾーン、等）を一意的に特定する。ナビゲーションデータベースの将来の補足に対して開かれているようにするために、レコードは、未知のレコードタイプと既知のレコードタイプを有する未知の属性とをスキップすることを可能にする、自己記述的なフォーマットを有していることが好適である。
【００５１】
各ブロック１は、オパークコンテナ（ｏｐａｑｕｅ  ｃｏｎｔａｉｎｅｒ）として扱われ、一意的な識別番号を割り当てられる。ブロック内の各レコード２は、レコード番号を割り当てられる。ブロック番号およびレコード番号によって、各オブジェクトは一意的に識別され得る。各ブロック１内において、オブジェクトはポジションおよびオフセットによって参照され得る。異なるブロックのレコード２によって特定されるオブジェクトの間の参照は、論理オブジェクトＩＤによって特定され、これは、論理ブロック番号および論理レコード番号から構成されている。
【００５２】
原則として、データベースＡのオブジェクトの更新は、ブロック１を解凍するステップであって、上記ブロック１は、データベースＢの対応するブロック（示されている例において、これらはブロック２、３、４である）において変更されたオブジェクトを特定するレコードを含んでいる、ステップと、生成された更新パッケージをインストールすることにより、解凍されたブロック上での更新を実行するステップと、更新されたブロックを圧縮し、それらを格納手段（例えば、書き換え可能なハードディスクまたはＣＤまたはＤＶＤ）に書き込むステップと、によって実行され得る。しかしながら、この例によると、データの圧縮は、ブロック内でのみ用いられる（すなわち、各ブロックそのものは、解凍なしで直接的にアクセスすることが可能である）。
【００５３】
図１に示されているように、データベースＡおよびデータベースＢの両方は、各々ブロックＮｏ．１を含んでいる。両方のブロックＮｏ．１は、ａ１、ｂ１、ｃ１、およびｄ１とラベル付けされたレコード２を含んでいる。データ構造にしたがうと、データベースＡのレコードａ１は、データベースＢのレコードａ１に対応しており、データベースＡのレコードｂ１は、データベースＢのレコードｂ１に対応している、等である。実際、この例において、ブロックＮｏ．１は両方のデータベースにおいて同じものである。
【００５４】
データベースＢにおいて、ブロックＮｏ．２はレコード
【００５５】
【数１】
2008171429.tif 000003
および
【００５６】
【数２】
2008171429.tif 000004
を含んでおり、これらは、データベースＡの対応するレコードａ２およびｄ２に対して変更されたものである。さらに、データベースＢのブロックＮｏ．３は、レコード
【００５７】
【数３】
2008171429.tif 000005
および
【００５８】
【数４】
2008171429.tif 000006
を含んでおり、データベースＢのブロックＮｏ．４は、レコード
【００５９】
【数５】
2008171429.tif 000007
を含んでいるが、ここで曲折アクセント（ｃｉｒｃｕｍｆｌｅｘ）は、このように印付けされたレコードが、ブロックＮｏ．２の変更されたオブジェクト
【００６０】
【数６】
2008171429.tif 000008
および
【００６１】
【数７】
2008171429.tif 000009
のうちの１つまたは各々から導出されたオブジェクトであるということを特定している。導出されたオブジェクトは、データベースコンパイラによって変更されたオブジェクト
【００６２】
【数８】
2008171429.tif 000010
および
【００６３】
【数９】
2008171429.tif 000011
のうちの１つからコンパイルされたデータを表している。導出オブジェクトは、ナビゲーションシステムの動作を高速化するために生成されたデータを表している。最も低いレベルのマップのジオメトリーおよび道路のトポロジー、ならびに例えば通りの名前は、ソースデータを表すが、高いレベルの道路のタイル（ｔｉｌｅ）は、基本的な０レベルのタイルから導出され得る。最も低い（０）レベルのタイルは、表された縁の長さによって、より高いレベルのタイルと区別される。最も低いスケールは、数百メートルのタイルを含み得るが、より高いレベルは、キロメートルのタイルを含み得る。
【００６４】
データベースＡは、その他の導出オブジェクトまたは（導出オブジェクトではない）ソースオブジェクトへのオブジェクトの従属性に関する情報を提供する。表されている例において、データベースＡのａ２およびｄ２ならびに対応する変更されたバージョンであるデータベースＢにおける
【００６５】
【数１０】
2008171429.tif 000012
および
【００６６】
【数１１】
2008171429.tif 000013
は、ソースオブジェクトを特定していると考えられる。オブジェクトの従属性に関するこの情報が、更新手順の一部であるコンパイルの間にスキャンされると、データベースコンパイラは、特に、レコードａ３、ｄ３およびｄ４が、レコードａ２またはｄ３に従属していること、すなわち、レコードａ３、ｄ３およびｄ４によって特定されたオブジェクトが、レコードａ２またはｄ３によって特定されるオブジェクトから導出されるということを学習し得る。
【００６７】
更新パッケージは、ブロック２、ブロック３、およびブロック４のみを含むデータベースＢによって取得される。したがって、データベースＡの部分的なブロックの更新が、更新パッケージをインストールすることによって実行され得る。本出願において教示されるインクリメンタルなブロックの更新にしたがうと、データベースＢにおけるデータベースＡに対して変更されたオブジェクトから導出されたオブジェクト、またはデータベースＢにおけるデータベースＡに対して変更されたオブジェクトに対応するオブジェクトを特定するレコードを含むブロックのみが更新される。データベースＢにおいて、ソースオブジェクトがデータベースＡに対して変更されている場合には、このソースオブジェクトを含むブロックは、更新パッケージに含まれる。
【００６８】
しかしながら、ブロックＡに含まれるオブジェクトの全てが、更新手順のためにコンパイルされるわけではない。一方で、変更されたレコードに従属するレコードを含む全てのブロックは、それらがブロックＢにおけるＡに対して変更されたソースオブジェクトを特定するレコードを含むか含まないかに関わらず、確実に更新される。
【００６９】
例えば、
【００７０】
【数１２】
2008171429.tif 000014
が、変更された属性（例えば、変更された通りの名前または新しい交通信号）を有する通りを基本的なタイル（およそ数百メートルのタイル）によって特徴付けられた低いレベルで表すオブジェクトを特定する場合、
【００７１】
【数１３】
2008171429.tif 000015
は、およそ数ｋｍのタイルを用いた高いレベルのグラフィカル表示で同じ通りを特定するレコードであり得る。データベースＡにおけるａ２の更新は、ａ３の更新を必要とするので、ブロックの更新の間にブロック３を更新することを必要とする。
【００７２】
図２は、本明細書に開示されているナビゲーションデータベースのインクリメンタルなブロックの更新の基本的な特徴を示している。ナビゲーションデータベースの更新の間に、データベースコンパイラは、変更されたソースオブジェクトをコンパイルし（１０）、その他の導出オブジェクトが従属し得る多数の導出オブジェクトをもコンパイルする（２０）。次のステップにおいて、導出オブジェクトは、既にコンパイルされているソースオブジェクトおよび導出オブジェクトの少なくとも一部からコンパイルされる（３０）。このようにして導入される従属性の関係が、インクリメンタルなデータベースのコンパイリングのために用いられ得る。データベースコンパイラは、既にコンパイルされている全ての導出オブジェクトに対するアクセスを有しているので、コンパイラは、全てのオブジェクトの従属性（すなわち、ソースオブジェクトまたは導出オブジェクトに対する従属性）をスキャンすることができ、更新パッケージを生成するために、変更されたもの（ソースオブジェクトまたは導出オブジェクトのいずれか）に従属するオブジェクトのみを再構成することができる。
【００７３】
このようにして、更新手順に必要なコンパイルプロセスの全体は、全てのソースオブジェクトのコンパイルを必要とする、腕力的な部分的または全体の更新と比較して、加速される。コンパイルプロセスの完了後、更新パッケージが構成され（４０）、この更新パッケージは、変更されたオブジェクトに従属する全ての再構成オブジェクトを含んでいる。
【００７４】
上述の例は、限定を意図したものではなく、本発明の特徴および利点を示す例としての役目を担っている。上述の特徴の一部または全てはまた、様々な方法で組み合わされ得る。
【図面の簡単な説明】
【００７５】
【図１】図１は、本明細書に開示されている方法にしたがう、ナビゲーションデータベースを更新するための更新パッケージの生成を示している。
【図２】図２は、本明細書に開示されている方法にしたがう、ナビゲーションデータベースをインクリメンタルに更新するための基本的な特性を示している。
【符号の説明】
【００７６】
１  ブロック
２  レコード
【図１】
2008171429.tif 000016
【図２】
2008171429.tif 000017