JP5548331B2 - ナビゲーションデータベースのためのフォーマット記述 - Google Patents

ナビゲーションデータベースのためのフォーマット記述 Download PDF

Info

Publication number
JP5548331B2
JP5548331B2 JP2007179792A JP2007179792A JP5548331B2 JP 5548331 B2 JP5548331 B2 JP 5548331B2 JP 2007179792 A JP2007179792 A JP 2007179792A JP 2007179792 A JP2007179792 A JP 2007179792A JP 5548331 B2 JP5548331 B2 JP 5548331B2
Authority
JP
Japan
Prior art keywords
data
format
data file
format description
navigation
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.)
Active
Application number
JP2007179792A
Other languages
English (en)
Other versions
JP2008020449A (ja
Inventor
ゲルハール イェンス
Original Assignee
ハーマン ベッカー オートモーティブ システムズ ゲーエムベーハー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ハーマン ベッカー オートモーティブ システムズ ゲーエムベーハー filed Critical ハーマン ベッカー オートモーティブ システムズ ゲーエムベーハー
Publication of JP2008020449A publication Critical patent/JP2008020449A/ja
Application granted granted Critical
Publication of JP5548331B2 publication Critical patent/JP5548331B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/0969Systems involving transmission of navigation instructions to the vehicle having a display in the form of a map

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)

Description

本発明は、データベースに関し、具体的には、ナビゲーションシステムのためのデータベースに関する。本発明は、特に、適切な物理的格納フォーマットによるデータベースにおけるデータの編成の方法に関する。
ナビゲーションシステムは、現代の車両、特に中級および高級自動車においてますます普及している。ナビゲーションシステムは、移動の前または最中にユーザによって入力される所定の目的地に対して、視覚的および/または聴覚的なルート案内を実行する。
ナビゲーションシステムは、たとえば都市、街道、名所などを表すエントリのリストを格納する比較的膨大なデータベースを備える。そのようなリストは、すぐに非常に長くなり、ナビゲーションシステムにおいて利用可能な限定されたコンピュータリソースを考慮に入れると、管理が困難である。
ナビゲーションデータベースによって提供される膨大なデータを管理するための一般的なアプローチによると、カスタマイズされた所有のバイナリー(またはテキスト)データフォーマットは、格納要件を最小限にして、特定のアプリケーションを考慮してデータアクセスを最適化するように規定される。このアプローチは、たとえばナビゲーションソフトウェアの最近のバージョンの変更された標準のために、そのようなデータフォーマットが、将来の予見されない要件およびフォーマット拡張に適合することが困難であるという問題を欠点として持つ。ソフトウェアのアップデートされたバージョンは、より古いデータベースにうまく対処するように通常は設計され得るが、なおもより古いソフトウェアリリースによって読み出され得るように、変更されたより最近のフォーマットによってデータベースを修正することは、たいへんである。
したがって、通常人は、特に、将来のフォーマット仕様にとって有用であり得るもともとのデータフォーマットに何らかのオーバヘッドを提供することによって、互換性のないフォーマット修正を可能な限り回避することを試みる。オーバヘッドは、バイナリーデータが、使用されないかまたは部分的に使用されるデータ部分を必ず含み、その結果としてソフトウェア開発の所与の段階において必要以上に大きい、という不都合を有する。すべての予見されないにもかかわらず望ましい将来のフォーマットおよび機能修正およびアップデーティングに適合する、所有のデータフォーマットを作成することは、不可能である。
別のアプローチは、もともとのデータベースフォーマットのデータ範囲を、該範囲が、最初はソフトウェアによって無視され、たとえばもともとのデータベースにおいて利用可能ではない情報についてこれらの範囲が使用された後で、適用されるソフトウェアの将来のリリースにおいてのみ解釈されるように、インプリメントすることである。やはり、著しいオーバヘッドが結果として生ずる。なぜなら、より古いデータのそのようなデータ範囲を飛ばすことについての、または拡張されたデータエントリに対してこれらのデータ範囲を解釈することについての情報が、データベースフォーマット内に格納されなければならないからである。さらに、データベースの拡張は、あらかじめ予見される位置においてのみ実行され得、したがってフォーマット修正の柔軟性が限定される。
たとえばリレーショナルデータベースにおける、一般的なデータフォーマットの使用は、たとえば車両におけるナビゲーションシステムのためのナビゲーションデータベースのような組込みシステムからのデータベースにおいて通常は好ましくない。なぜなら、一般的なフォーマットは、実際のアプリケーションのために最適化されず、所有のデータフォーマットと比較して、より大きなデータ量およびより遅いデータアクセスに帰結するからであり、このことは、限定されたコンピュータおよび格納リソースを有するシステムにおいて容認できない不都合である。
同じ理由から、たとえばテキストフォーマットとしての拡張可能なマーク付け言語(Extendable Markup Language)(XML)などの自己記述フォーマットの使用は、それぞれの必要な情報をフィルタリングするためのアプリケーションソフトウェアによって使用される識別タグを割当てられる任意のデータエンティティの格納を可能にするものであり、好ましくない。タグは、格納要件を劇的に増加させる。
上述に鑑みて、本発明の目的は、互換性をまったく損なうことなしにさらなる拡張を可能にする効率的かつ信頼できる態様でナビゲーションデータベースを管理する方法を提供することである。
(本発明の詳細)
上述の問題は、項目1による、一つ以上のデータファイルを含むナビゲーションデータベースにおいてデータを編成および管理する方法によって解決され、該データはアプリケーションソフトウェアによって使用され、該方法は、該少なくとも一つのデータファイルにデータを格納することと;該ナビゲーションデータベースの少なくとも一つのデータファイルのために少なくとも一つのフォーマット記述をインプリメントすることと;該アプリケーションソフトウェアが、該アプリケーションソフトウェアによって認識されかつ使用可能な情報をフィルタリングすることが可能にされるように、たとえば構文解析系として、該少なくとも一つのデータファイルに格納されたデータを解釈し、該アプリケーションソフトウェアへのデータを解析する、抽象機械をインプリメントすることとを包含し;該抽象機械は該少なくとも一つのフォーマット記述によって制御される。
データベースファイル(またはボリューム)は、たとえば、一つの国について、または一つの連邦州についての、ナビゲーションデータ(街道、路地、交通標識、交差点図、建造物、地形データなど)を含み得る。物理的ファイルは、格納媒体、たとえばハードディスクまたはCDまたはDVDによって提供され得る。アプリケーションソフトウェアは、たとえば、ナビゲーションデータベースを含むナビゲーションシステムにインストールされたナビゲーションソフトウェアである。
本発明によると、データファイルについて、好ましくはナビゲーションデータベースに含まれるすべてのデータファイルについて、フォーマット記述がインプリメントされる。フォーマット記述が2つ以上のデータファイルについてインプリメントされる場合には、これらのデータファイルについて同一のフォーマット記述がインプリメントされ得る。フォーマット記述によって、たとえば整数、文字ストリング、およびポインタのような、異なるデータタイプの要素からなるレコードのタイプが宣言される。さらに、フォーマット記述は、レコードの要素のシーケンスを宣言する。フォーマット記述は、抽象機械によって解釈されるべきバイトコードを表す。
フォーマット記述のインプリメンテーションは、少なくとも一つのデータファイルにおいて使用されるレコードタイプを規定し、かつレコードを構成する要素のシーケンスを宣言する、少なくとも一つのデータファイルのヘッダにおいてフォーマット記述テーブルを生成することによって、有利に実行され得る。
フォーマット記述テーブルは、仮想解析機械によって解釈されるべきバイトコードとして見なされ得る。フォーマット記述テーブルは、行のリストと、たとえば8または16ビットの複数の整数のたとえばワードのようなデータエントリの所定の数の各々と、抽象機械についての少なくとも一つのコマンドを含む各々とを含み得る。
フォーマット記述は、フォーマット記述によって少なくとも一つのデータファイルに格納されたデータを解釈する抽象機械によって読み出される。抽象機械は、たとえば、一部のアプリケーションソフトウェアによるさらなる処理のため、特に、コンパイラによるコード生成またはインタプリタによる実行のために次に使用され得る、読み出されたデータからの解析木を生成するように構成された、テーブル制御された構文解析系であり得る。
その結果として、ナビゲーションデータベースに格納されたデータコンテンツの、バイナリーまたはテキストフォーマットへの実際のマッピングは、ソフトウェアの一部ではなく、データファイルのフォーマット記述(テーブル)においてのみ規定される。したがって、ナビゲーションデータベースの格納サイズは、アプリケーションソフトウェアをまったく修正する必要なしに変更され得る。さらに、抽象機械を制御するフォーマット記述は、特定のハードウェア構造に縛られない。
データベースの変更および拡張は、フォーマット記述の変更によって、特に2つ以上のフォーマット記述の使用によって、容易にインプリメントされ得る。後者の場合には、一つの記述フォーマットは、データベースにおいて使用された最初の標準バージョンの一種の構文要素(読み出し、レジスタ命令へのスキップアクセス、などのような)を利用し得、最初の標準と互換性のあるソフトウェアのみを使用可能にし得る。さらに、最初の標準のより最近のバージョンによって規定される追加の構文要素を使用して、一つ以上のさらなるフォーマット記述が提供され得る。
上述の方法ならびに以下に説明されるその実施形態は、一般的にバイナリーエンコードされた読み出し専用データベースに、特に組み込みシステムにおけるバイナリーエンコードされた読み出し専用データベースに適用され得ることが明言される。方法は、車両ナビゲーションシステムに含まれたナビゲーションデータベースに関連して特に有用である。なぜなら、車両ナビゲーションシステムは、比較的限定されたコンピュータ/メモリリソースを示す組み込みシステムの重要な例を代表するからである。
本発明はまた、項目2による、ナビゲーションソフトウェア製品にデータを提供する方法を提供し、該方法は、少なくとも一つのデータファイルを含むナビゲーションデータベースを提供することであって、該ナビゲーションデータベースの該少なくとも一つのデータファイルのための少なくとも一つのフォーマット記述と、該少なくとも一つのフォーマット記述によって該少なくとも一つのデータファイルに格納されたデータを解釈するように構成された抽象機械とが、インプリメントされることと;該少なくとも一つのデータファイルにデータを格納することと;該少なくとも一つのデータファイルに格納されたデータの少なくとも部分を読み出して処理することと;該ナビゲーションソフトウェア製品に対する、該少なくとも一つのデータファイルに格納された該データの該読み出されて処理された部分を解析することとを包含する。
フォーマット記述のインプリメンテーションは、たとえば、運転者にルート案内を提供するナビゲーションソフトウェアに対して、車両のナビゲーションシステムのナビゲーションデータベースに格納されたデータの非常に柔軟で速く信頼性のある解析を可能にする。
一実施形態によると、抽象機械は、少なくとも一つのレジスタを含み、フォーマット記述テーブルは、読み出されるべきデータのフォーマットに関する、および/または読み出されたデータの少なくとも一つのレジスタへの転送に関する、および/またはデータを解釈するためにアプリケーションソフトウェアに関連する読み出されたデータの意味に関する、情報を含む。これらの種類の情報によって、ナビゲーションデータベースに格納されたデータの効率的な管理が可能である。
特に、フォーマット記述テーブルは、抽象機械の効率的な制御のために、各行に、構文解析系命令と、構文IDと、意味IDとを含み得る。構文解析系命令は、どのような種類のデータが抽象機械によって読み出されるべきかを制御する。構文解析系命令は、固定長または可変長の整数、または文字ストリング、またはたとえばレコードを参照するポインタからなり得る。
たとえば、データを分岐させるための、すなわち一つのレコードから別のレコードにジャンプするための、またはネストされたレコードを解析するための、より複雑な命令も、構文解析系命令として使用され得る。命令はまた、条件的に実行され得る。この場合には、抽象機械は、条件式を評価し、その評価結果に依存して、命令を実行するかまたは飛ばすことが可能にされる。抽象機械はまた、ナビゲーションデータベースの少なくとも一つのデータファイルに格納されたデータに関して、データエンティティのアレイまたはリストを読み出すループコマンドを実行し得る。アレイにおいて、データ要素のシーケンスが繰り返される。
構文IDは、単純な整数であり得、抽象機械が格納されたデータについて何をすべきかを規定する方法を表す。構文IDは、抽象機械に、たとえば特定の種類のデータを読み出させ、および/または読み出されたデータに関する所定の算術演算を実行させる。このために、一実施形態による抽象機械は、少なくとも一つのレジスタを含み、算術演算を実行する。抽象機械に少なくとも一つのレジスタが提供される場合には、レジスタアクセスおよびレジスタ読み出し命令は、上述の構文解析系命令のさらなる例である。
意味IDは、レコードが構成される各要素に提供され得るタグを表す。抽象機械は、構文解析系命令のために読み出されたID番号を、対応するデータ要素とともに、アプリケーションソフトウェアに渡す。意味ID手段によって、要素の意味はアプリケーションソフトウェアによって理解され得る。
未知の意味IDは無視され、したがって、フォーマット拡張は、アプリケーションソフトウェアの現在のバージョンの互換性を失わずに、容易に追加され得る。事実、意味IDの使用のために、データベースフォーマットは、たとえば拡張可能なマーク付け言語(XML)のような自己記述フォーマットと同じくらい柔軟かつ拡張可能である。しかし、本発明によると、データ要素に割当てられる個々のタグに対するオーバヘッドはない。なぜなら、タグ付けは、ナビゲーションデータベースのデータファイル全体について有効なフォーマット記述においてのみ実行されるからである。
意味構造に関して、抽象機械が、所定の数のデータエントリに続く行におけるデータエンティティを無視することが、好ましいということがあり得る。この場合には、より最近のリリースにおいて、追加の(たとえば所有の)データが、最初の標準バージョンのために設計されたアプリケーションソフトウェアによって無視されるが、より最近のソフトウェアバージョンによって解釈され得る、データベースの最初の標準バージョンのレコードのデータ要素に追加され得る。同じ意味において、より最近のバージョンによって導入された未知の意味IDは、最新ではない抽象機械および/またはアプリケーションソフトウェアによって無視される。
フォーマット記述は、ナビゲーションデータベースの少なくとも一つのデータファイルに直接的にインストールされ得るか、またはナビゲーションデータベースのデータボリュームの各々とは異なるデータボリュームに、またはナビゲーションデータベースのデータファイルの各々とは異なるデータセットに提供され得る。たとえば、新しい拡張されたフォーマット記述は、インターネットを介してダウンロードすることによって既存のナビゲーションデータベースにインプリメントされ得るか、または別個のDVD上に提供され得る。言い換えると、フォーマット記述は、ナビゲーションデータベースと同じ物理ボリューム(媒体)上に(しかし別個のデータセットとして)、または異なるボリューム上に、提供され得る。
パックされたデータを抽象機械が適切に解釈することを可能にされる場合には、少なくとも一つのデータファイルに格納されたデータは、少なくとも部分的にパックされ得る。特に、車両におけるナビゲーションシステムのナビゲーションデータベースに関して、必要な格納容量を低減するために、データが何らかのパックされた態様で格納され得ることが望ましい。
本発明はまた、少なくとも一つのデータファイルと、少なくとも一つのデータファイルに格納されたデータを解釈しかつナビゲーションソフトウェアへのデータを解析するように構成された抽象機械を制御するように構成された、少なくとも一つのデータファイルについてのフォーマット記述とを含むナビゲーションデータベースを提供する。ナビゲーションデータベースは、上述のようなインプリメンテーションを示し得る。
さらに、ナビゲーションソフトウェアと、少なくとも一つのデータファイルを含むナビゲーションデータベースとを含む、車両ナビゲーションシステムが提供される。そこで、ナビゲーションデータベースの少なくとも一つのデータファイルのための少なくとも一つのフォーマット記述と、少なくとも一つのフォーマット記述によって少なくとも一つのデータファイルに格納されたデータを解釈し、かつナビゲーションソフトウェアに対してデータを解析するように構成された抽象機械とが、インプリメントされ、抽象機械はフォーマット記述によって制御される。
本発明は、さらに、以下の手段を提供する。
(項目1)
少なくとも一つのデータファイルを含むナビゲーションデータベースにおいてデータを編成して管理する方法であって、該方法は、
該少なくとも一つのデータファイルにデータを格納することと、
該ナビゲーションデータベースの少なくとも一つのデータファイルについて少なくとも一つのフォーマット記述をインプリメントすることと、
該少なくとも一つのデータファイルに格納されたデータを解釈し、アプリケーションソフトウェアに対する該データを解析する、抽象機械をインプリメントすることと
を包含し、該抽象機械は該少なくとも一つのフォーマット記述によって制御される、方法。
(項目2)
ナビゲーションソフトウェア製品にデータを提供する方法であって、該方法は、
少なくとも一つのデータファイルを含むナビゲーションデータベースを提供することであって、該ナビゲーションデータベースの該少なくとも一つのデータファイルのための少なくとも一つのフォーマット記述と、該少なくとも一つのフォーマット記述によって該少なくとも一つのデータファイルに格納されたデータを解釈するように構成された抽象機械とが、インプリメントされている、ことと、
該少なくとも一つのデータファイルにデータを格納することと、
該少なくとも一つのデータファイルに格納されたデータの少なくとも部分を読み出して処理することと、
該ナビゲーションソフトウェア製品に対する、該少なくとも一つのデータファイルに格納されたデータのうちの読み出されて処理された部分を解析することと
を包含する、方法。
(項目3)
上記フォーマット記述のインプリメンテーションは、少なくとも一つのデータファイルのヘッダにおいてフォーマット記述テーブルを生成することによって実行され、該フォーマット記述テーブルは、該少なくとも一つのデータファイルにおいて使用されるレコードタイプを規定し、該レコードを構成する要素のシーケンスを宣言する、項目1または2に記載の方法。
(項目4)
上記フォーマット記述テーブルは、各々が同じ数のデータエンティティと、上記抽象機械のための少なくとも一つの命令とを含む行を含み、該抽象機械は、上記少なくとも一つのデータファイルに格納されたデータを該少なくとも一つの命令に基づいて解釈する、項目3に記載の方法。
(項目5)
上記抽象機械は、少なくとも一つのレジスタを含み、上記フォーマット記述テーブルは、読み出されるべきデータのフォーマット、および/または読み出されたデータの該少なくとも一つのレジスタへの転送、および/または該読み出されたデータの意味に関する情報を含む、項目3または4に記載の方法。
(項目6)
上記フォーマット記述テーブルは、構文解析系命令と、構文IDと、意味IDとを各行に含む、項目5に記載の方法。
(項目7)
上記抽象機械は、少なくとも一つのレジスタを含み、算術演算および/または上記フォーマット記述テーブルの行に含まれる命令の条件付き実行を実行し、および/または上記ナビゲーションデータベースの上記少なくとも一つのデータファイルに格納されたデータに関する、データエンティティのアレイまたはリストを読み出すためのループコマンドを実行する、項目4〜6のいずれか一項に記載の方法。
(項目8)
上記抽象機械は、所定の数のデータエントリに続く上記行におけるデータエンティティを無視する、項目4〜7のいずれか一項に記載の方法。
(項目9)
上記フォーマット記述は、上記ナビゲーションデータベースの上記少なくとも一つのデータファイルにインストールされるか、または該ナビゲーションデータベースのデータボリュームの各々とは異なるデータボリュームに、もしくは該ナビゲーションデータベースの該データファイルの各々とは異なるデータセットに提供される、項目1〜8のいずれか一項に記載の方法。
(項目10)
上記データは少なくとも部分的にパックされ、上記抽象機械はパックされたデータを解釈するように可能化される、項目1〜9のいずれか一項に記載の方法。
(項目11)
ナビゲーションデータベースであって、
少なくとも一つのデータファイルと
該少なくとも一つのデータファイルに格納されたデータを解釈し、ナビゲーションソフトウェアに対する該データを解析するように構成された抽象機械を制御するように構成された、該少なくとも一つのデータファイルのためのフォーマット記述と
を備える、ナビゲーションデータベース。
(項目12)
車両ナビゲーションシステムであって、
ナビゲーションソフトウェアと
ナビゲーションデータベースとを備え、
該ナビゲーションデータベースの少なくとも一つのデータファイルのための少なくとも一つのフォーマット記述と、該少なくとも一つのフォーマット記述によって該少なくとも一つのデータファイルに格納されたデータを解釈し、該ナビゲーションソフトウェアに対する該データを解析するように構成された、抽象機械とが、インプリメントされ、該抽象機械は該フォーマット記述によって制御される、ナビゲーションシステム。
(摘要)
本発明は、アプリケーションソフトウェアによって使用される少なくとも一つのデータファイルを含むナビゲーションデータベースにおいてデータを編成して管理する方法に関し、該方法は、該少なくとも一つのデータファイルにデータを格納することと、該ナビゲーションデータベースの少なくとも一つのデータファイルのために少なくとも一つのフォーマット記述をインプリメントすることと、該少なくとも一つのデータファイルに格納されたデータを解釈し、該アプリケーションソフトウェアに対する該データを解析するように、抽象機械をインプリメントすることとを包含し、該抽象機械は該少なくとも一つのフォーマット記述によって制御される。
本発明の追加の特徴および利点は、図面を参照して説明される。説明において、本発明の好ましい実施形態を説明することを意図された添付の図面に参照がなされる。そのような実施形態は、添付の特許請求の範囲によって規定される本発明の完全な範囲を表すものではないことが理解される。
図1に図示されるように、ナビゲーションデータベース1は、フォーマット記述テーブルならびにデータ要素によって構築されるレコードからなるデータブロック3を含む、データファイル2を含む。抽象機械4は、データ(要素)を読み出して解釈するためにインプリメントされる。抽象機械は、データファイル2のフォーマット記述テーブルによって制御される。フォーマット記述テーブルに含まれる命令に依存して、データは抽象機械によって読み出される。
データは、文字ストリングを含み、その一部はトークンベースの圧縮によって圧縮される。圧縮されたどのストリング中にも存在しないバイト値は、トークンとして使用され得、任意の長さのバイトシーケンスが、各トークンに割当てられる。抽象機械は、トークンを表すすべてのストリングバイトを、その割当てられた置換シーケンスによって置換することによって、圧縮されたストリングを解凍し得る。トークンは、各ブロックについて計算されるトークンテーブルによって管理される。
フォーマット記述テーブルは、一連のバイナリー行からなり、各行は、ワード、たとえば16ビット数からなる。すべての行は、フォーマット記述テーブルのヘッダ(たとえばテーブルの第1行)において規定される同一の長さを有する。本実施例によると、最初の10ワードのみが抽象機械4によって考慮される。1番目のワードは、抽象機械のための構文解析系命令のために使用される。
フォーマット記述テーブルは、構文IDと意味IDとを含む。構文IDはたとえばフォーマット記述テーブルの行の2番目のワードとして、意味IDは3番目のワードとして、使用され得る。意味IDは、抽象機械4によって構文解析系命令のために読み出されたデータ要素とともに、ナビゲーションソフトウェア5に渡される。意味IDは、ナビゲーションソフトウェア5によって解釈され得るデータタグを表す。意味IDによって、ナビゲーションソフトウェアはデータ要素の意味を解釈し得;未知の意味IDは無視される。したがって、ナビゲーションソフトウェアおよび/またはナビゲーションデータベースの異なるバージョンの間の互換性を失わずに、フォーマット拡張が新しい意味IDによってインプリメントされ得る。
図2は、本発明による、抽象機械とフォーマット記述との間の相互作用の実施例を示す。抽象機械は、構文解析系としてインプリメントされる。フォーマット記述は、データファイルヘッダに含まれ、かつ構文解析系によってバイトコードとして解釈される、フォーマット記述テーブルとしてインプリメントされる。フォーマット記述テーブルは、同じ長さの行を含み、各行はワードの集合からなる。特に、フォーマット記述テーブルは、どのような種類のバイナリーデータが構文解析系によって読み出されるべきかを制御する構文解析系命令を含む。
本実施例によると、構文解析系は、レジスタを利用する。たとえば、一部のレコードタイプが別のレコードタイプのデータ要素を含む場合には、ネストされたレコード宣言に対処するために、多数のレジスタに対してスタック状の構造がインプリメントされる。
図2に示されるように、9個のレジスタがレジスタスタック内に編成される。記述位置レジスタは、フォーマット記述テーブル内の現在の命令を指し示す。ヘッダレジスタは作業用レジスタであり、そこで構文解析系はたとえばテーブル行の条件付き実行を制御するために使用され得る数値をロードする。パラメータレジスタは、ネストされたレコードの管理のために使用される。最高レベルのレコードについて、このレジスタはゼロを含み得、内部のレコードについて、このレジスタはある32ビットパラメータ値を含む。
リストサイズレジスタ、アレイサイズレジスタ(データ要素のシーケンスはアレイ内で繰り返される)、およびバイナリーサイズレジスタは、たとえば繰り返される読み出しまたは特定のリストエントリまでの読み出しのようなデータのリストおよびアレイの管理のためと、たとえばビットマップイメージまたは暗号バイナリーエンコーディングを表す特別のバイナリーデータブロックの制御のために使用される。リストインデックスレジスタおよびアレイインデックスレジスタは、それぞれリスト要素およびアレイ要素にわたる構文解析系の繰り返しを管理するために使用される。
本実施例によると、さらに3つのレジスタが使用される。ブロックグローバルデータレジスタは、たとえばデータブロックを一意に特定するブロックインデックス、およびブロックに含まれるレコードの数のような、現在解析されるブロックのグローバル情報を格納するレジスタの集合を実際に表す。バイナリーデータ位置レジスタは、ブロックのバイナリーデータにおけるバイト位置を指す。構文解析系命令にしたがって読み出されるべきデータは、バイナリーデータ位置レジスタが指すバイト位置から読み出される。現在のレコードインデックスは、現在解析されるレコードまたはリスト要素に対するポインタのレコードインデックスを含む。
レジスタの使用は、特に、抽象機械が、算術演算、および命令一般の条件付き実行、およびデータ要素のアレイおよびリストを読み出すループ命令の実行を実行することを可能にする。
図1は、フォーマット記述を含むナビゲーションデータベースにおけるデータと抽象機械とを編成し管理する発明的な方法の要素を図示する。 図2は、本明細書中に開示される方法の実施例に従った抽象機械の動作を図示する。抽象機械の動作は、フォーマット記述テーブルによって制御される。
符号の説明
1 ナビゲーションデータベース
2 データファイル
3 データブロック
4 抽象機械
5 ナビゲーションソフトウェア

Claims (8)

  1. 少なくとも一つのデータファイルを含むナビゲーションデータベースにおいてデータを編成し、アプリケーションソフトウェアに対して該データを構文解析する方法であって、該方法は、プロセッサによって実行され、
    該方法は、
    該プロセッサが、該少なくとも一つのデータファイルにデータを格納するステップと、
    該プロセッサが、該ナビゲーションデータベースの該少なくとも一つのデータファイルのヘッダ内にフォーマット記述テーブルを生成することによって、該ナビゲーションデータベースの該少なくとも一つのデータファイルについて少なくとも一つのフォーマット記述をインプリメントするステップであって、該フォーマット記述テーブルは、バイトコードであり、該フォーマット記述は、該ナビゲーションデータベースの該少なくとも一つのデータファイルのフォーマットに関する情報を表し、該フォーマット記述は、該ナビゲーションデータベースに格納される該少なくとも一つのデータファイルのフォーマットのデータコンテンツをバイナリフォーマットまたはテキストフォーマットのデータコンテンツに変換することに関する情報を表し、該少なくとも一つのデータファイルの該フォーマットに関する該情報は、該少なくとも一つのデータファイルにおいて用いられる複数の異なるデータタイプの要素からなるレコードのタイプとして、該フォーマット記述テーブルにおいて表される、ステップと、
    該プロセッサが、該フォーマット記述における該情報に従って該少なくとも一つのデータファイルに格納されたデータを解釈し、アプリケーションソフトウェアに対して該データを構文解析する構文解析系を該ナビゲーションデータベースにおいてインプリメントするステップ
    を包含する、方法。
  2. 前記フォーマット記述テーブルは、複数の行を含み、該複数の行の各々は、同じ数のデータ要素と、前記構文解析系のための少なくとも一つの命令とを含み、該構文解析系は、前記少なくとも一つのデータファイルに格納されたデータを該少なくとも一つの命令に基づいて解釈する、請求項1に記載の方法。
  3. 前記構文解析系は、前記フォーマット記述テーブルにおける現在の命令を指し示す少なくとも一つの記述位置レジスタを含み、該フォーマット記述テーブルは、読み出されるべきデータのフォーマット、および/または、読み出されたデータの該少なくとも一つの記述位置レジスタへの転送、および/または、該読み出されたデータの意味に関する情報を含む、請求項1または2に記載の方法。
  4. 前記フォーマット記述テーブルは、前記構文解析系のための命令と、構文IDと、意味IDとを各行に含む、請求項3に記載の方法。
  5. 前記構文解析系は、前記フォーマット記述テーブルにおける現在の命令を指し示す少なくとも一つの記述位置レジスタを含み、該構文解析系は、算術演算および/または該フォーマット記述テーブルの行に含まれる命令の条件付き実行を実行し、および/または、前記ナビゲーションデータベースの前記少なくとも一つのデータファイルに格納されたデータに関する、繰り返されるデータ要素のアレイまたはデータ要素のリストを読み出すためのループコマンドを実行する、請求項2〜4のいずれか一項に記載の方法。
  6. 前記構文解析系は、所定の数のデータエントリに続く前記行におけるデータ要素を無視する、請求項2〜5のいずれか一項に記載の方法。
  7. 少なくとも一つのデータファイルと、該少なくとも一つのデータファイルのためのフォーマット記述とを備えたナビゲーションデータベースであって、
    該フォーマット記述は、該ナビゲーションデータベースの該少なくとも一つのデータファイルのフォーマットに関する情報を表し、該フォーマット記述は、該ナビゲーションデータベースに格納される該少なくとも一つのデータファイルのフォーマットのデータコンテンツをバイナリフォーマットまたはテキストフォーマットのデータコンテンツに変換することに関する情報を表し、該フォーマット記述は、構文解析系を制御するように構成されており、該構文解析系は、該フォーマット記述における情報に従って該少なくとも一つのデータファイルに格納されたデータを解釈し、ナビゲーションソフトウェアに対する該データを構文解析するように構成されており、
    該フォーマット記述は、該少なくとも一つのデータファイルのヘッダ内のフォーマット記述テーブルとしてインプリメントされ、該フォーマット記述テーブルはバイトコードであり、
    該少なくとも一つのデータファイルの該フォーマットに関する該情報は、該少なくとも一つのデータファイルにおいて用いられる複数の異なるデータタイプの要素からなるレコードのタイプとして、該フォーマット記述テーブルにおいて表される、ナビゲーションデータベース。
  8. ナビゲーションソフトウェアと、少なくとも一つのデータファイルを備えたナビゲーションデータベースとを備えた車両ナビゲーションシステムであって、
    該ナビゲーションデータベースの該少なくとも一つのデータファイルのための少なくとも一つのフォーマット記述がインプリメントされ、
    該フォーマット記述は、該少なくとも一つのデータファイルのフォーマットに関する情報を表し、該フォーマット記述は、該ナビゲーションデータベースに格納される該少なくとも一つのデータファイルのフォーマットのデータコンテンツをバイナリフォーマットまたはテキストフォーマットのデータコンテンツに変換することに関する情報を表し、該フォーマット記述は、少なくとも一つのデータファイルのヘッダ内のフォーマット記述テーブルとしてインプリメントされ、前記フォーマット記述テーブルはバイトコードであり、
    該少なくとも一つのデータファイルの該フォーマットに関する該情報は、該少なくとも一つのデータファイルにおいて用いられる複数の異なるデータタイプの要素からなるレコードのタイプとして、該フォーマット記述テーブルにおいて表され、
    該フォーマット記述における該情報に従って該少なくとも一つのデータファイルに格納されたデータを解釈するように構文解析系が構成されている、ナビゲーションシステム。
JP2007179792A 2006-07-10 2007-07-09 ナビゲーションデータベースのためのフォーマット記述 Active JP5548331B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06014255.1 2006-07-10
EP06014255.1A EP1879001B1 (en) 2006-07-10 2006-07-10 Format description for a navigation database

Publications (2)

Publication Number Publication Date
JP2008020449A JP2008020449A (ja) 2008-01-31
JP5548331B2 true JP5548331B2 (ja) 2014-07-16

Family

ID=37496839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007179792A Active JP5548331B2 (ja) 2006-07-10 2007-07-09 ナビゲーションデータベースのためのフォーマット記述

Country Status (6)

Country Link
US (1) US9835461B2 (ja)
EP (1) EP1879001B1 (ja)
JP (1) JP5548331B2 (ja)
KR (1) KR101518731B1 (ja)
CN (1) CN101105807B (ja)
CA (1) CA2593187C (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2518443B1 (en) 2011-04-29 2016-06-08 Harman Becker Automotive Systems GmbH Method of generating a database, navigation device and method of determining height information
EP2584315A1 (en) 2011-10-17 2013-04-24 Harman Becker Automotive Systems GmbH Navigation method and navigation system
CN102789478A (zh) * 2012-06-01 2012-11-21 武汉光庭信息技术有限公司 导航数据逻辑测试方法
CN102968505B (zh) * 2012-12-13 2015-05-06 中国航空无线电电子研究所 用于机载导航数据库的格式描述方法
CN105758407B (zh) * 2014-12-17 2018-12-11 高德软件有限公司 一种数据生成的方法及装置
US10296176B2 (en) * 2017-01-30 2019-05-21 Microsoft Technology Licensing, Llc Navigational aid for a hinged device via semantic abstraction
US10860558B2 (en) * 2018-09-28 2020-12-08 Apple Inc. Techniques for managing index structures for database tables
CN112597156A (zh) * 2020-12-15 2021-04-02 北京动力机械研究所 无编程化动态数据存储及表格绘制方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5808565A (en) * 1996-02-20 1998-09-15 E-Systems, Inc. GPS triggered automatic annunciator for vehicles
US6192314B1 (en) * 1998-03-25 2001-02-20 Navigation Technologies Corp. Method and system for route calculation in a navigation application
JP3548459B2 (ja) * 1998-11-20 2004-07-28 富士通株式会社 案内情報提示装置,案内情報提示処理方法,案内情報提示プログラムを記録した記録媒体,案内用スクリプト生成装置,案内情報提供装置,案内情報提供方法および案内情報提供プログラム記録媒体
US6424933B1 (en) 2000-03-17 2002-07-23 Vicinity Corporation System and method for non-uniform scaled mapping
US6526348B1 (en) * 2000-08-25 2003-02-25 Navigation Technologies Corp. Method and system for compact representation of routes
US6421602B1 (en) * 2001-01-03 2002-07-16 Motorola, Inc. Method of navigation guidance for a distributed communications system having communications nodes
US6691128B2 (en) * 2001-04-19 2004-02-10 Navigation Technologies Corp. Navigation system with distributed computing architecture
EP1502196A4 (en) 2002-05-02 2008-04-02 Sarvega Inc SYSTEM AND METHOD FOR TRANSFORMING XML DOCUMENTS USING STYLE SHEETS
US7076363B1 (en) * 2003-07-17 2006-07-11 America Online, Inc. Using route narrative symbols
US20050131638A1 (en) * 2003-12-11 2005-06-16 Sencaj Randall W. Route sequence viewing in navigation system
ES2685752T3 (es) * 2004-03-01 2018-10-11 Mobile Technology Holdings Limited Venta de entradas móvil
JP2006048859A (ja) * 2004-08-06 2006-02-16 Denso Corp データ取得送信装置およびデータ取得送信プログラム
US7403851B2 (en) * 2004-09-30 2008-07-22 Navteq North America, Llc Method of operating a navigation system to report effects of updated portions of a geographic database
US7844958B2 (en) * 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
US20060277170A1 (en) * 2005-06-06 2006-12-07 Paul Watry Digital library system
US9976865B2 (en) * 2006-07-28 2018-05-22 Ridetones, Inc. Vehicle communication system with navigation

Also Published As

Publication number Publication date
CN101105807B (zh) 2017-04-12
CN101105807A (zh) 2008-01-16
KR20080005855A (ko) 2008-01-15
CA2593187A1 (en) 2008-01-10
KR101518731B1 (ko) 2015-05-08
CA2593187C (en) 2016-06-07
EP1879001A1 (en) 2008-01-16
JP2008020449A (ja) 2008-01-31
US9835461B2 (en) 2017-12-05
US20080140605A1 (en) 2008-06-12
EP1879001B1 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
JP5548331B2 (ja) ナビゲーションデータベースのためのフォーマット記述
US7665073B2 (en) Compile time meta-object protocol systems and methods
US20030110177A1 (en) Declarative specification and engine for non-isomorphic data mapping
JP2005531066A (ja) ソフトウェア・アトマイゼーション用のビュー
US7752212B2 (en) Orthogonal Integration of de-serialization into an interpretive validating XML parser
JP2006235840A (ja) データベース・アクセス・システム、データベース・アクセス方法
CN1573693A (zh) 用于创建、管理和使用代码段的系统和方法
US20080140645A1 (en) Method and Device for Filtering Elements of a Structured Document on the Basis of an Expression
JP2008523514A (ja) バイエンディアン対応コンパイラを実現する方法及び装置
US10585871B2 (en) Database engine for mobile devices
US20110314043A1 (en) Full-fidelity representation of xml-represented objects
US7530075B2 (en) System and method for employing object-based pipelines
US7051015B1 (en) System and method for implementing a flexible data-driven target object model
CN100454244C (zh) 在标记中用于定义和使用子类说明的系统和方法
US20120151441A1 (en) Efficient generation of executable file from program files when some of the program files expressly incorporate other program files
US20080276230A1 (en) Processing bundle file using virtual xml document
JP2002534741A (ja) 半構造化テキストデータを処理する方法及び装置
US9275085B2 (en) Data processing system and method
EP1004987A1 (en) Method and system for generating virtual scenes
US8327330B1 (en) System and method of generating build instructions
US20080168306A1 (en) Method, apparatus and software for providing recovery data for program code
US7650566B1 (en) Representing list definitions and instances in a markup language document
EP2148276A1 (en) Mark-up language engine
CN101151612A (zh) 对文档进行随机访问的方法和系统
US8453108B1 (en) Static, configurable kernel interface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120516

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120815

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140318

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: 20140421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140519

R150 Certificate of patent or registration of utility model

Ref document number: 5548331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250