JP3621572B2 - 地図データの先読み方法及び地図スクロール方法 - Google Patents

地図データの先読み方法及び地図スクロール方法 Download PDF

Info

Publication number
JP3621572B2
JP3621572B2 JP34096097A JP34096097A JP3621572B2 JP 3621572 B2 JP3621572 B2 JP 3621572B2 JP 34096097 A JP34096097 A JP 34096097A JP 34096097 A JP34096097 A JP 34096097A JP 3621572 B2 JP3621572 B2 JP 3621572B2
Authority
JP
Japan
Prior art keywords
map
thread
leaf
priority
data
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
Application number
JP34096097A
Other languages
English (en)
Other versions
JPH11174952A (ja
Inventor
文雄 溝口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
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 Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP34096097A priority Critical patent/JP3621572B2/ja
Publication of JPH11174952A publication Critical patent/JPH11174952A/ja
Application granted granted Critical
Publication of JP3621572B2 publication Critical patent/JP3621572B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は地図データの先読み方法及び地図スクロール方法に係わり、特に、車両の移動に伴って車両位置周辺の地図をスクリーンに表示するナビゲーション装置における地図データの先読み方法及び地図スクロール方法に関する。
【0002】
【従来の技術】
車両の走行案内を行い、運転者が所望の目的地に容易に到達できるようにしたナビゲーション装置は、車両の位置を検出して地図記録媒体(例えばCD−ROM)から車両位置周辺の地図データを読み出し、地図画像をディスプレイ画面に描画するとともに自車位置マークを重ねて描画する。かかるナビゲーション装置では、自車位置マークをディスプレイ画面上の所定位置に固定表示し、地図を車両の移動に従ってスクロールするのが普通であり、常に車両位置周辺の地図が一目で判るようになっている。このため、ナビゲーション装置では、円滑に地図スクロールができるように適時に車両位置に応じた地図データを地図記録媒体より読み取る必要がある。
【0003】
地図データは地図を図葉単位に分割して作成されて地図記録媒体に記録、管理されている。この図葉は、一般に表示できる画面の大きさに比べて十分大きい。かかる図葉1枚分のデータだけをメモリにロードしておく方法は、車両が現図葉の境界にさしかかった時に新規地図データの更新が必要になる。図18はかかる地図データ更新タイミングの説明図であり、4は現在車両が属する領域に応じた図葉、0〜8(4は除く)は周辺の隣接図葉、WDは車両周辺の1画面分のサイズに応じたウィンドウである。車両の移動に応じてウィンドウWDが隣接図葉の境界線に到達した時、新規地図データの更新が必要になる。しかし、かかる地図データ更新方法では境界を越える部分で地図データの更新に時間がかかり、地図スクロールが不連続になり、また、画面がチラついているように見えるようになる。
【0004】
そこで、車両が次に進入する隣接領域を予測し、車両が実際に該隣接領域に進入する前に隣接図葉の地図データを地図記録媒体より先読みする方法が考えられる。例えば、自車が現在走行している方向に道路を延長して中心図葉の境界に接している隣接図葉を先読みする手法や、中心図葉を対角線で4つの三角形に分割し、どの三角形内を自車が走行しているかで対応する隣接図葉を予測して先読みする手法が考えられる。しかし、日本国内の道路網はアメリカのように縦横の道路が碁盤目状に張り巡らされたような画一的なものは稀で、ほとんどの道路は比較的範囲の狭い図葉内においても歪曲している。つまり、上記のような手法を用いて次の図葉を予測しようとしても、確実な予測ができず、予測を誤った場合には、そ都度、再度の予測をしなおす必要があり、最終的には隣接図葉のほとんどを先読みすることになる。これでは、結局のところ予測に要した多大な計算時間が無駄になり、効率が悪く、プロセッサ(CPU)のスループットを低下する。
【0005】
コンピュータシステムにおいて、CPUがプログラムに基づいて演算処理を実行するタイミングには偏りがあり、頻繁な演算と閑散としたアイドルタイムが混在する。ナビゲーション装置の地図スクロール表示では、CPUが活発に演算している時間は総CPU時間の3割と云われ、残りの7割はつまりアイドルタイムであり、CPUは活動していない。一方では、地図スクロール表示は地図データを地図記録媒体より読み込む時間がネックとなり、体感的に遅く感じられる。これはCD−ROMなどの地図記録媒体にアクセスして地図データを主記憶上に読み込む速度がハードディスクなどに比べて遅いことに起因している。
【0006】
【発明が解決しようとする課題】
以上のように、従来の地図データの先読み法では、CPU処理に無駄があり、しかも、CPUのアイドルタイムが多い問題があった。
また、従来の地図スクロール方法では、地図スクロールが不連続になり、画面がチラツク問題があった。
更に従来の地図スクロール方法では、地図スクロール表示におけるデータ更新がその他の処理に比べて非常に重く、長いデータ更新時間によりその他の重要な処理の実行が遅れ、ユーザからの要求を受け付けられなくなったり、経路探索の実行速度が極端にダウンしたりするなどの問題があった。
【0007】
従って本発明の目的は、隣接図葉を予測せず、CPUのアイドルタイムを有効に利用し、該アイドルタイムにおいて現図葉及び周辺の8つの図葉を先読みできるようにすることである。
本発明の別の目的は、並列処理により実行可能なデータ更新スレッド、地図描画スレッド、画面表示スレッドを設け、これらスレッドの優先度を状況に応じてダイナミックに割り当て、かつ、変更することにより地図スクロールを円滑に行えるようにすることである。
本発明の別の目的は、先読みと動的な割り当て可能な優先度を用いた地図描画アルゴリズムによりCPUの負荷がそれほど大きくない時に優先度を低くセットしたスレッドでデータ更新をするようにし、従来再描画のデータ更新時に一時的に発生する大きな負荷を回避し、他の重要な処理の実行が遅れないようにすることである。
【0009】
【課題を解決するための手段】
上記課題は本発明によれば、車両の移動に伴って車両位置周辺の地図をスクリーンに表示するナビゲーション装置の地図スクロール方法において、 (1) 地図データを地図記録媒体より読み取って地図バッファに記憶されているデータを更新するデータ更新制御、地図バッファに記憶されている地図データに基づいて地図画像を発生してVRAMに描画する地図描画制御、VRAMから車両位置周辺の地図画像を切り出してスクリーンに表示する画面表示制御のそれぞれを並列処理により実行可能なデータ更新スレッド、地図描画スレッド、画面表示スレッドを用意し、 (2) これらスレッドの優先度を低くすると共に、データ更新完了前は上記各スレッドのうち、データ更新スレッドの優先度を最高にし、データ更新完了後であって地図描画完了前は地図描画スレッドの優先度を最高にし、地図描画完了後であって画面表示完了前は画面表示スレッドの優先度を最高にし、 (3) 地図スクロール処理に際して優先度が最高のスレッドを実行する地図スクロール方法により達成される
【0010】
かかる方法によれば、地図スクロール制御の各段階において最も重要な役割を担うスレッドを最優先とすることで円滑なスクロールが可能になる。スレッドの優先度の概念を用いることにより、各制御(データ更新制御、地図描画制御、画面表示制御)間の綿密な負荷計算に基づくスケジューリングをカーナビ開発者は行う必要がなくなる。
また、(1) 車両が属する領域に応じた中心図葉に隣接する8つの隣接図葉に対して先読みスレッドを用意し、(2) 車両が進入した隣接図葉の先読みスレッドを前記データ更新スレッドとして地図データを読み出し、(3) 車両が進入した図葉に対する隣接図葉に対しては、前記データ更新スレッド、地図描画スレッド、画面表示スレッドより優先度を低く設定した先読みスレッドにより地図データを先読みさせることで、車両が進入した図葉のデータを最優先で読み出すことができ、その結果、車両位置周辺の地図画像を高速に表示でき、地図スクロールを円滑に行なうことができる。
【0011】
更に、地図スクロールに必要なデータを用意する先読みスレッドの優先度を低くすることでCPU負荷が小さい時に地図データの先読みが行なわれるようになり、その結果、再描画時に一時的に大きな負荷が発生することで他の処理が遅延してしまうことを防止でき、システム全体の効率を大幅に改善できる。
また、この場合、(1) 車両が属する領域に応じた中心図葉を4分割し、(2) 画面に表示されている中心点がいずれの分割領域に属するか判断し、(3) 該所属分割領域に隣接する領域に応じた隣接図葉の先読みスレッドの優先度を他の隣接図葉の先読みスレッドの優先度より高くし、(4) 優先度の高い隣接図葉をより早く先読みするようにすれば、車両が次に進入する可能性の高い隣接図葉を早めに先読みできるため、車両位置周辺の地図画像を確実に表示でき、地図スクロールを円滑に行うことができる。
また、既に地図バッファに読み込まれている隣接図葉以外の隣接図葉のみを先読みすることにより、先読みの負荷を小さくでき、先読みに要する時間を短縮でき、確実に中心図葉及び周辺8個の隣接図葉を先読みして地図バッファに格納できる。
【0012】
【発明の実施の形態】
(A)地図データの先読み(第1実施例)
(a)本発明の描画手法
Java言語を実装言語とし、優先度を低くした(例えば最低にした)スレッドをCPU空き時間に自動的に起動するようにし、該スレッドにデータの先読み機能を付加する。これにより、CPUのアイドルタイムに自動的に地図データを先読みして主記憶にバッファリングする先読みスレッドを実現する。スレッドは、処理を並列に実行する。先読みスレッドは、優先度が低いため起動してもシステムの応答性にはほとんど影響を与えない。
【0013】
(b)地図データ管理
図1(a)の実線で示すように中心図葉及び隣接図葉よりなる3×3(=9)枚の図葉に番号0〜8を付し、該図葉番号を用いて地図データの管理を行う。すなわち、図葉番号0〜8のHashtableを設け、該Hashtableにより地図データの管理を行う。このため、車両が移動して隣接図葉に進入すると図葉番号の振り替えが必要になる。例えば、図1(a)に示すように自車が移動して中心図葉の真下の隣接図葉番号7の図葉に進入した場合、中心図葉は隣接図葉番号7の図葉に更新される。この時、元の中心図葉4は図1(b)に示すように隣接図葉番号1の図葉になる。また、元の隣接図葉番号3の図葉は0になり、5は2になり、6は3に、7は4に、8は5になる。すなわち、自車が移動して中心図葉の真下の隣接図葉番号7の図葉に進入すると、図1(c)に示すように旧図葉番号を新図葉番号に振り替える必要がある。一般的に、自車が進入した図葉の旧図葉番号をC、着目している図葉の旧図葉番号をB、着目している図葉の新図葉番号をAとすれば次式
A=B+(4−C) (1)
が成立する。図1(c)の場合、C=7として(1)式の計算をすれば、新図葉番号Aが求まる。
【0014】
ところで、図1(a)に示すように自車が中心図葉の真下の隣接図葉番号7の図葉に進入した場合、進入後も利用できる図葉(地図データ)の旧図葉番号は3,4,5,6,7,8であり、進入後に先読みしなければならない図葉(地図データ)の新図葉番号は6,7,8である(図1(d))。すなわち、旧図葉番号3,4,5,6,7,8に(1)式を適用して新図葉番号に振り替えれば新たに地図データを読み込む必要はなく、また、新図葉番号6,7,8の図葉(地図データ)のみを先読みすればよいことになる。図1(d)に示す関係が判っていれば、新図葉番号への振り替え処理及び先読み処理の効率をあげることができる。
そこで、自車が進入する隣接図葉の旧図葉番号Cに対応させて、▲1▼進入後も利用できる図葉(地図データ)の旧図葉番号の配列AR1と、▲2▼進入後に先読みすべき図葉(地図データ)の新図葉番号の配列AR1を保存しておき、Hashutableの変更操作の計算コストを削減する。図2は、CとAR1,AR2の関係
C={{AR1},{AR2}}
を示すテーブルである。
【0015】
図3はハッシュテーブルの説明図である。図1の実線で示す状態において、ハッシュテーブルHTは図3(a)に示すように図葉番号0〜8に対応して地図データuとしてG〜Gを対応つける。かかる状態において自車が中心図葉の真下の隣接図葉番号7の図葉に進入すると、ハッシュテーブルHTは図3(b)に示すように更新される。すなわち、新図葉番号0〜5に対応して地図データuとしてG〜Gを対応つける。また、新図葉番号6〜8に対応する地図データは主記憶装置に読出されていないから、u=0とする。
【0016】
(c)ナビゲーション装置の要部構成
図4はナビゲーション装置の描画系の機能構成図であり、10は地図データを記憶する地図記録媒体(例えばCD−ROM)、11は自車位置等に基づいてCD−ROM10より所定の地図データを読み出すと共に、自車位置に応じてディスプレイ画面に表示される地図上の画面中心位置を計算する地図読出制御部、12はCD−ROMから読み出された地図データを記憶する地図バッファ、13は地図描画部であり、地図バッファに記憶された地図情報を用いて地図画像を発生するもの、14は地図画像を記憶するVRAM、15は地図読出制御部11より入力される画面中心位置に基づいてVRAM14より1画面分の地図画像を切り出す地図切出し制御部、16はディスプレイ装置、17は自車の位置を測定する位置測定装置である。地図読出制御部11、地図描画部13、地図切出し制御部15は実際にはCPU(図5)により構成される。
【0017】
図5はCPU構成のナビゲーション装置のブロック図であり、図4と同一部分には同一符号を付している。10は地図記録媒体(CD−ROM)、14はVRAM、16はディスプレイ装置、17は位置測定装置、20はナビゲーション制御を行うプロセッサ(CPU)、21はCD−ROM制御部、22はリモコンインタフェース部、23は外部メモリ、24はバスである。CPU20において、31は演算処理ハードウェア部、32はプログラムメモリ(ROM)で、ナビゲーション制御用の各種プログラム(経路誘導制御、マップマッチング制御、地図スクロール制御等のプログラム)を記憶するもの、33は主記憶装置(RAM)で、CD−ROMから読み取った地図データやハッシュテーブル、その他処理結果を記憶するものである。地図スクロール用のプログラムには、図3に示す地図読出し制御、地図描画制御、地図切り出し制御を行うようにプログラミングされている。
【0018】
(d)先読みアルゴリズム
図6は本発明の先読み制御処理の流れ図であり、(a)はメイン処理のフロー、(b)は先読みスレッドの処理フローである。先読みスレッドの優先度を最低にしておき、CPUが空きになった時にのみ該先読みスレッドを起動して先読みを行うようにする。先読みスレッドの優先度を最低にしてもCPUのアイドル時間は総CPU時間の7割であるから、余裕をもって隣接図葉の地図データをCD−ROM11から読出して主記憶装置33に格納することができる。
【0019】
CPU20は管理プログラムの制御でナビゲーションのメイン処理を実行すると共に、自分が空きになったか監視する(ステップ101〜102)。空きになれば、地図先読みが必要か、すなわち、車両が隣接領域に進入して地図の先読みが必要になっているか調べる(ステップ103)。隣接領域に進入しておらず先読みが不要であればステップ101に戻る。一方、先読みが必要であれば、先読みスレッドを起動し(ステップ104)、以後、高優先度のイベント発生を待つ(ステップ105)。高優先度のイベントが発生すれば、すなわち、CPUの空きが解消すれば、先読みスレッドを停止し(ステップ106)、メイン処理を実行する(ステップ101)。
【0020】
先読みスレッドは、起動されると初期化する(ステップ201)。ついで、CPUが空きかチェックし、空きでなければ所定時間(例えば1秒間)待って、CPUの空きをチェックする(ステップ202〜203)。CPUが空きであれば、すなわち、停止が指示されていなければ、ハッシュテーブルHT(図3)を参照して先読みすべき隣接図葉を識別し、該隣接図葉をCD−ROM10より読出して主記憶装置33に格納する(ステップ204)。以後、全隣接地図の読み出しが完了したかチェックし(ステップ205)、完了してなければ、ステップ202以降の処理を繰り返し、全隣接地図の読み出しが完了すれば先読み処理を終了する。
【0021】
以下は先読みスレッドのアルゴリズムをプログラム化したものである。
(1). if(CPUがアイドル)
(2). for(隣接8図葉uに対して)
(3). if(隣接図葉uの先読みスレッドを初期化されていない)
(4). 隣接図葉uの先読みスレッドを初期化
(5). if(隣接図葉uの地図データ読み込みが終了していない)
(6). 隣接図葉uの先読みスレッドを起動
(7). else
(8). 先読みスレッドを停止
(9). wait 1 second
(1)において、CPUに空き時間があるかどうかチェックされる。CPUが空き時間の場合(2)〜(6)が実行される。まず、対応する隣接8図葉に対して先読みスレッドが初期化されているかどうかチェックする(3)。初期化されていない場合には、先読みスレッドを初期化する(4)。すでに対応する先読みスレッドが初期化されており、先読みがまだ終了していないのであれば(5)、その先読みスレッドを起動し、隣接図葉の先読みを実行する(6)。CPUに空き時間がない場合は、先読みスレッドを1秒間休ませる。
【0022】
以上では、地図データの先読み(データ更新)に重点をおいて説明したが、地図スクロールする場合には、データ更新制御のほかに、地図描画制御、画面表示制御が必要である。以下では、これら制御用にスレッドを用意し、これらを並列処理する実施例について説明する。
【0023】
(B)マルチスレッドによる地図の並列描画制御(第2実施例)
(a)概要
一般的な、地図描画手法では再描画時にCPUに多大な負荷が一時的にかかる。これにより、再描画だけでなくシステム全体のパフォーマンスもダウンさせてしまう。このため、結果として、画面がちらついたり、システムダウンしたかのようになり、一時的にユーザからの操作を受け付けなくなる。このような問題を解決するために、再描画時に必要となる部分の地図データをあらかじめ再描画が呼び出される前に先読みする手法が有効であり、(A)で説明した。
ところで、スクリーンに地図を描画するためには、(1) 先読みによる地図データの更新制御(データ更新制御)、(2) VRAMへの地図画像の描画制御(地図描画制御)、(3) VRAMから地図画像を読み取ってスクリーンに表示する制御(画面表示制御)が必要であり、これらの制御を連携し、効率よく地図をスクリーン上でスクロール表示する必要がある。そこで、(B)においては、スレッドプログラミングを基本にした並列処理により地図スクロール表示を実現する。スレッドプログラミングは並列処理を実現するためのもので、マルチタスクOSによってサポートされているものである。以下では、並列処理の優先度設定が容易にできるJava言語を用いて説明する。
【0024】
CPUの負荷が比較的小さい時間(例えばアイドルタイム)に地図データを先読みをするにあたって、たとえば、「このタスクとあのタスクを同時に行なうとどれだけの計算量を必要とし・・・」というように、あらかじめプログラマーがきっちりしたCPU使用のスケジューリングを作るのは非常に困難である。一方、スレッドの優先度の概念を用いると、あるタスクAと別のタスクBについて、相対的な数値を与えるだけで、CPU使用のスケジューリングを自動的に行なってくれる。プログラマーはタスクの優先度を指定するだけで、その実行スケジューリングを考える必要がなくなる。つまり、Aが優先度10、Bが優先度1と宣言するだけで、AはBに対して10倍の時間、CPUを使用することができる。本発明は、以上のようなスレッドの優先度を用いて、必要に応じてその優先度を動的に変化させると同時に、低い優先度で地図データの先読みを行なうことで、地図描画のみならずシステム全体のパフォーマンスをあげる。
【0025】
(b)マルチスレッドによる描画手法
ナビゲーション装置(図4参照)において地図データを使ってスクリーンに地図を描画するには、次の3つのステップが必要である。
step 1:地図データが保存されている記憶媒体10から地図データを読み出し、メモリ(地図バッファ)12にロードする(データ更新)。
step 2:メモリ12にロードされたデータを地図として画面に表示できるようにオフスクリーンで加工する。すなわち、地図データを用いてビットイメージの地図画像をVRAM14に描画する(地図描画)。
step 3:step 2でVRAMに描画した画像データを用いて地図を画面(スクリーン)16に表示する(画面表示)。
【0026】
一般に、これらstepの処理コストの関係は、
step 3 << step 2 < step 1
となる。step 1とstep 2の処理時間を比較した場合、step 1はstep 2の約1.5倍の時間が必要であることが実験により確認されている。また、step 1, step 2にくらべstep 3は無視できる程度の処理時間しか必要としない。
以上から、システムから描画の要求があって、はじめて上記の3つのステップを実行するのではなく、step 1をCPUの暇な時間にあらかじめ処理しておくという方法(先読み)が有効である。この処理方法については、後述する。まず、先読みを除いた基本的な描画部分について述べる。
【0027】
(c)描画モデル
描画を行うために、まず図7のような描画モデルを考える。このモデルでは、Java言語に代表されるスレッドが利用されており、以下の4つのスレッドが同時実行される。41はデータ管理スレッドであり、描画スレッド群(データ更新スレッド、地図描画スレッド、画面表示スレッド)の管理を行なうもので、具体的には、状況に応じて描画スレッド群の優先度を動的に割り当てる。42はデータ更新スレッドであり、地図データが保存されている記憶媒体(CD−ROM) 10から地図データを読み出し、地図バッファ12にロードする。このデータ更新スレッドは図3における地図読み出制御部11に相当するものである。43は地図描画スレッドであり、地図バッファ12にロードされた地図データを用いてビットイメージの地図画像を発生してVRAM14に格納する。この地図描画スレッドは図3の地図描画部13に相当するものである。44は画面表示スレッドで、地図描画スレッドによりVRAM14に描画された地図のうち自車位置に応じた地図部分を切り出してスクリーン16に表示する。この地図描画スレッド44は図3の地図切り出し制御部15に相当するものである。
【0028】
データ管理スレッド41は、描画に関するすべてを管理するスレッドであり、最も優先して実行されなければならない。このデータ管理スレッド41のもと、前述のstep 1〜step 3に対応する描画スレッド群(データ更新スレッド42、地図描画スレッド43、画面表示スレッド44)が存在する。描画スレッド群はそれぞれが連鎖的に動作するのではなく、マルチスレッドにより独立、並行に動作する。
これによりデータ更新スレッド42がデータを収集しながら、地図描画スレッド43が更新された部分を描画するといった並行作業が可能となる。しかしながら、何らかのルールを定めないと、それぞれのスレッドは独立に自分のタスクを遂行しようとする。このため、地図描画スレッド43によるVRAM14への地図描画が完成していないのに、画面表示スレッド44が地図を切り出して画面表示を行なおうとするなど、スレッド間の競合が生じる場合がある。
【0029】
そこで、本発明では、描画命令が発生した場合、状況に応じてデータ管理スレッド41の制御で描画スレッド群42〜44の優先度を動的に割り当て、かつ、変更できるようにする。この場合、当然のことであるが、描画スレッド群42〜44の優先度は、データ管理スレッド41の優先度よりも小さいものとする。又、CPUの負荷が低いときに実行されるように各スレッドの優先度を低く設定する。図8はかかる優先度の状況を示す説明図である。
優先度とはスレッド間でCPU占有時間を変化させるためのものである。すなわち、優先度が高くなるほど実行されやすくなり、また低くなるほど実行は後回しにされる。この特性を利用することにより、必要な処理を優先的に行なわせ、CPUの空き時間にその他の処理を行なわせることが可能になる。以下では、この優先度割り当てを用いた地図の再描画方法を説明する。
【0030】
(d)動的な優先度の割り当て
データ管理スレッド41が描画スレッド群42〜44に対して動的な優先度を割り当てる場合、次の状況を考えなければならない。
▲1▼状況1:描画に必要な部分のデータ更新が完了しているか否か。
▲2▼状況2:地図描画が完了しているか否か。
▲3▼状況3:画面表示が完了しているか否か。
これら状況の組み合わせは、全部で8通りある。しかし、描画というものがデータ更新→地図描画→画面表示のステップで進むことを考慮すると、例えばデータ更新が終了していないのに地図描画が終了しているといった状況はなくなるので、次の4通りが残る。
▲1▼状況1:データ更新、地図描画、画面表示の全てが終了していない。
▲2▼状況2:データ更新は終了しているが、地図描画、画面表示が終了していない。
▲3▼状況3:データ更新、地図描画は終了しているが画面表示が終了していない。
▲4▼状況4:データ更新、地図描画、画面表示のすべてが終了している。
【0031】
そして、これら4つの状況の間には時間的な関係も存在する。つまり、状況4の前の状況というのは状況3しかなく、また状況3の前の状況は状況2しかなく、状況2の前には状況1しかない。よって、その時の処理アルゴリズムも、状況1→状況2→状況3→状況4の順でチェックし、動的な優先度の割当を行えばよいということになる。その時の優先度の割り当て基準は、図9(a)〜(d)のようになる。
【0032】
図9(a)は状況1における優先度割当基準であり、優先度は
データ更新スレッド42>地図描画スレッド43>画面表示スレッド44
の順にする。
図9(b)は状況2における優先度割当基準であり、優先度は
地図描画スレッド43>画面表示スレッド44>データ更新スレッド42
の順にする。
図9(c)は状況3における優先度割当基準であり、優先度は
画面表示スレッド44>データ更新スレッド42>地図描画スレッド43
の順にする。
図9(d)は状況4における優先度割当基準であり、優先度は
データ更新スレッド42=地図描画スレッド43=画面表示スレッド44
とする。
以上のように各状況に応じて各スレッドの優先度を動的に割り当てることにより矛盾なく、しかも、効率よく地図スクロール制御が可能になる。
【0033】
以上よりデータ管理スレッド41による描画スレッド群42〜44の動的な優先度割り当てアルゴリズムは図10のようになる。このアルゴリズムでは、状況1→状況2→状況3→状況4の順で状況が変化することを利用した構造になっている。つまり、“描画部分のデータ更新未完了”は状況1に対応し、“地図描画未完了”は状況2に、“画面表示未完了”は状況3にそれぞれ対応し、“画面表示完了”は状況4に対応している。アルゴリズムでは例えば、再描画命令が新たに発生した場合、まず、データ管理スレッド41は、描画部分のデータがすでに更新されているかどうかを確認する(ステップ301)。更新されていれば次の段階に移行するが、更新過程であった場合は、データ更新スレッド42を最優先とし、地図描画スレッド43、画面表示スレッド44の順に優先度を割り当てる。そして、データの更新が終了すると(ステップ302、303)、地図の描画が終了したかどうかの確認を行ない(ステップ304)、終了していなければ、今度は地図描画スレッド42を最優先した優先度の変更を行う(ステップ305、306)。このようにして、各描画段階において最も重要な役割を担うスレッドを最優先とするで、スレッド間の同期を取ることなく競合の回避を実現する。
【0034】
(e)描画への先読みの導入
以上の方法により、地図は一応、描画できる。しかし、データ更新は地図描画、画面表示に比べて非常に大きな処理コストを必要とする。たとえ、マルチスレッドで▲1▼ユーザとのやりとり(リモコンインタフェース制御)、▲2▼GPSデータ獲得、▲3▼経路探索等を実装したとしても、地図スクロール表示におけるデータ更新はその他の処理に比べて非常に重く、長いデータ更新時間によりその他のスレッドの実行速度を遅延する。その結果ユーザからの要求を受け付けなくなったり、経路探索の実行速度が極端にダウンしたりする。
【0035】
このような、問題を解決するために地図の再描画の要求が発生していない場合、つまりCPUに余裕がある時に、あらかじめ再描画要求の発生を見込んでおいて、そのための準備をする先読み処理が有効である。
地図スクロール表示に際して、データ更新コストが最も大きく、データ更新さえできていれば地図描画、および画面表示はわずかなコストで実現できる。よって最もコストの大きい地図更新のためのデータ保存をあらかじめ準備して行なう。このデータの保存とは、未知の地図部分のデジタルデータをCD−ROMより先読みしていることに他ならない。まず、この先読みすべき地図の部分について説明し、先読みの方法および全体のシステムにおける先読みの位置付けを明確にする。
【0036】
(e−1) 先読みすべき部分
ナビゲーション等の地図データは、地図を図葉単位で分割して作成してCD−ROM等の地図記録媒体に記憶、管理されている。この図葉は、一般に表示できる画面の大きさに比べて十分大きく、かつ図葉1枚のデータだけをメモリにロードしておく方法において、新規地図データ更新の要求が発生するのは、図11のように図葉の境界にさしかかった時である。そして、この境界を越える部分でデータの更新に時間がかかり、それが原因で画面がチラついているように見えるのである。そこで本発明では、現在画面に表示している部分の中心点が含まれている図葉(中心図葉)に隣接する8つの図葉(隣接図葉)のデータを先読みする。ちょうどこの部分は図11の隣接図葉1,2,3,4,5,6,7,8を示す。
【0037】
(e−2) 先読みの方法
先読みでは、それぞれ1つの隣接図葉に先読みスレッドを1つ用意する。つまり、先読みスレッドは全部で8つあることになる。この先読みスレッドにも前述までの優先度の概念を利用する。つまり、これら8つの図葉データのうち、次に描画される可能性の高い図葉ほど高い優先度を設定する。具体的には図12に示すように8つの先読みスレッドの優先度を決定する。すなわち、中心図葉を4つの領域に分割し、現在画面に表示している部分の中心点が、この領域のどこに含まれているかで、各隣接図葉の先読みスレッドの優先度を決定する。図13は画面表示部分の中心が属する領域と各隣接図葉の優先度の関係説明図表である。このように隣接図葉の先読みスレッドに優先度を割り当てることで、先読みの中でも特に将来使用される可能性の高い図葉のデータを優先的に読み取って早めに保存することが可能になる。
【0038】
(e−3) 先読みスレッドの優先度の位置付け
先読みスレッドは補助的な役割を果たすものであり、その優先度はデータ管理スレッド41、データ更新スレッド42、地図描画スレッド43、画面表示スレッド44よりも低い優先度でなければならない。図14は先読みスレッドの優先度の位置付け説明図である。
データ更新スレッド42と先読みスレッド51〜58は、機能的に同じである。しかし、データ更新スレッド41の起動時に全ての先読みスレッド51〜58が起動するのではない。再描画時に先読みスレッドにより次に表示すべき部分のデータが準備されていない場合に限り、そのデータの先読みを行っていた先読みスレッドがデータ更新スレッド42として扱われる。それ以外の先読みスレッドは他のスレッド群43,44より低い優先度で実行される。すなわち、車両が所定の領域に進入した場合、該領域に対応する隣接図葉の先読みスレッドをデータ更新スレッド42として実行し、以後、地図描画スレッド43、画面表示スレッド44を実行し、これらスレッド43、44の実行完了後に他の先読みスレッドを起動して他の隣接図葉を先読みする。
【0039】
(e−4) 差分情報を用いることによる先読みの効率性の向上
自車の移動により中心図葉が変化する毎に、新たな隣接8図葉の地図データを先読みするためのスレッドを用意するが、ここでは、その際の効率を向上させる方法について述べる。
例えば、図15のように1〜25までの図葉があり、自車の中心図葉が9から13に移動したとする。自車が図葉9にいた時にすでに、図葉3,4,5,8,9,10,13,14,15の地図データは完全ではなくともその一部分は先読みとデータ更新(データ更新で読まれるのは9だけ)により地図バッファ12(図7)に保存されている。次に、自車が図葉13に移動すると該図葉13の先読みスレッドがデータ更新スレッド41として扱われ、新たに図葉7,8,9,12,14,17,18,19に関する先読みスレッドが準備される。
【0040】
しかし、この先読みスレッドのうち8,9,14は既に中心図葉が9であった時にある程度その地図データが地図バッファ12に取り込まれているはずである。つまり、新規の中心図葉13で先読みすべき部分は、▲1▼すでに地図バッファ12にある程度保存されている図葉8,9,14と、▲2▼新しい先読みスレッド7,12,17,18,19ということになる。以上をまとめると、中心図葉がpからcに変更される時、
Figure 0003621572
ということになる。このような差分情報を用いれば先読み時間を短縮できる
【0041】
。図16は差分情報を用いた再描画アルゴリズムのフロー図であり、図10のアルゴリズムに少し変更を加えた形のアルゴリズムになっている。アルゴリズム中のステップ401では、(3)式を満足する図葉(前回の中心図葉pに対する先読み部分と新規の中心図葉cでの先読み部分との差分となる部分)に対してのみ新しい先読みスレッドを用意し開始する。(2)式を満足する図葉は(重複する部分)は前回の先読みスレッドをそのまま使用する。
以上、先読みと動的な優先度を用いたカーナビ用の描画アルゴリズム(図16)により、再描画のデータ更新時に一時的にかかる大きな負荷をCPUの負荷がそれほど大きくない時に優先度を低くセットしたスレッドで更新しておくことで、回避することができる。
【0042】
(C)評価実験
本手法の有効性を示すために、実際に市販のナビ研CD−ROMを使用し、一定方向に画面スクロールさせることで強制的に再描画を発生させ、データ更新・地図描画・地図表示の各必要処理時間をそれぞれ先読みがある場合と、ない場合とで比較を行った。尚、評価はSun Ultral上で行った。
図17(a),(b)は実験結果のグラフで、(a)は先読みしない場合、(b)は先読みした場合である。先読みがある場合も、ない場合も、スクロール時の再描画におけるVRAMへの地図描画時間、VRAMから読み取ってスクリーンに表示する地図表示時間はある範囲内に収まって大差がない。しかし、CD−ROMより地図データを読み取って更新するデータ更新時間は、先読みなしの場合において再描画の時、a〜fで示すように突出している。これは一時的に非常に大きな負荷がCPUにかかっていることを意味している。一方、先読み有りの場合には、突出はなくなっており、データ更新時間はほとんど目立たなくなっている(グラフでは0にかなり近い値になっている)。これは、先読みしない場合において一時的に突出したCPU負荷が一定に分散されていることを意味し、先読みの利点が明らかである。このように先読みにより、再描画時の処理コストを分散し、これにより、再描画時のシステムへの一時的な負荷を軽減することができた。
【0043】
つぎに、先読みを用いた時のシステム全体のパフォーマンスの向上について次の図17(c)に示す。先読みがない場合に比べ、先読みがある場合はシステムの負荷が分散されただけでなく、全体として再描画時のパフォーマンスも約23%向上したことになる。つまり、先読みは負荷分散だけでなく、システム全体のパフォーマンスを向上させることができる。
以上、本発明を実施例により説明したが、本発明は請求の範囲に記載した本発明の主旨に従い種々の変形が可能であり、本発明はこれらを排除するものではない。
【0044】
【発明の効果】
以上本発明によれば、(1) 地図データの先読みを行う先読みスレッドを用意すると共に該先読みスレッドの優先度を低くし、(2) CPUの空き時間を監視し、(3) 該CPU空き時間に先読みスレッドを起動し、(4) 先読みスレッドにより中心図葉及び周辺の隣接図葉を地図記録媒体より読出してメモリに格納するようにしたから、進入する隣接図葉を予測する必要がなく、また、CPUのアイドルタイムを有効に利用でき、該アイドルタイムにおいて中心図葉及び周辺の図葉を地図バッファに先読みすることができる。
【0045】
本発明によれば、(1) 地図データを地図記録媒体より読み取って地図バッファに既に記憶されているデータを更新するデータ更新制御、地図バッファに記憶されている地図データに基づいて地図画像を発生してVRAMに描画する地図描画制御、VRAMから車両位置周辺の地図画像を切り出してスクリーンに表示する画面表示制御のそれぞれを並列処理により実行可能なデータ更新スレッド、地図描画スレッド、画面表示スレッドを用意し、(2) これらスレッドの優先度を低くすると共に、データ更新完了前は上記各スレッドのうち、データ更新スレッドの優先度を最高にし、データ更新完了後であって地図描画完了前は地図描画スレッドの優先度を最高にし、地図描画完了後であって画面表示完了前は画面表示スレッドの優先度を最高にし、(3) 地図スクロール処理に際して優先度が最高のスレッドを実行するようにしたから、地図スクロール制御の各描画段階において最も重要な役割を担うスレッドを最優先に実行でき、スレッド間の同期を取ることなく各スレッドの競合回避を実現でき、円滑な地図スクロールが可能になった。
【0046】
また、本発明によれば、(1) 車両が属する領域に応じた中心図葉に隣接する8つの隣接図葉に対応して先読みスレッドを用意し、(2) 車両が進入した隣接図葉の先読みスレッドを前記データ更新スレッドとして該隣接図葉を先読みし、(3) 他の隣接図葉に応じた先読みスレッドの優先度を前記地図描画スレッド、画面表示スレッドの優先度より低くして該他の隣接図葉を先読みするようにしたから、車両が進入した隣接図葉を最優先で先読みできるため車両位置周辺の地図画像を確実に表示でき、地図スクロールを円滑に行うことができる。
【0047】
また、本発明によれば、地図スクロールに必要なデータ更新スレッドの優先度を低くし、CPU負荷が低いときに、地図データの先読みを行うようにしたから、従来再描画のデータ更新時に一時的にかかる大きな負荷を回避でき、これにより、他の重要な処理の遅延を防止でき、システム効率を大幅に改善できる。
また、本発明によれば、(1) 車両が属する領域に応じた中心図葉を4分割し、(2) 画面に表示されている中心点がいずれの分割領域に属するか判断し、(3) 該所属分割領域に隣接する領域に応じた隣接図葉の先読みスレッドの優先度を他の隣接図葉の先読みスレッドの優先度より高くし、(4) 優先度の高い隣接図葉をより早く先読みするようにしたから、車両が次に進入する可能性の高い隣接図葉を早めに先読みできるため、車両位置周辺の地図画像を確実に表示でき、地図スクロールを円滑に行うことができる。
【0048】
また、本発明によれば、既に地図バッファに読み込まれている隣接図葉以外の隣接図葉(差分図葉)のみを先読みするようにしたから、先読みの負荷を小さくでき、先読みに要する時間を短縮でき、確実に中心図葉及び周辺8個の隣接図葉を先読みして地図バッファに格納できる。
【図面の簡単な説明】
【図1】地図データ管理説明図である。
【図2】進入先の旧図葉番号Cと進入後利用可能な旧図葉番号配列AR1及び進入後先読みが必要な新図葉配列AR2の対応図表である。
【図3】ハッシュテーブルの内容説明図である。
【図4】ナビゲーション装置の要部構成図である。
【図5】CPUを備えたナビゲーション装置の構成図である。
【図6】先読み制御処理フローである。
【図7】マルチスレッドによる描画モデル説明図である。
【図8】スレッド間の優先度に関する位置付け説明図である。
【図9】各状況における優先度割り当て説明図である。
【図10】動的優先度の割り当て処理フローである。
【図11】データ更新要求発生のタイミング説明図である。
【図12】予測のために中心図葉を4つに分割した分割領域説明図である。
【図13】先読みスレッド間の優先度割り当て説明図である。
【図14】先読みスレッドの優先度に関する位置付け説明図である。
【図15】先読みの差分説明図である。
【図16】差分情報を用いた再描画アルゴリズムである。
【図17】評価実験結果説明図である。
【図18】従来の地図データの更新タイミング説明図である。
【符号の説明】
10・・地図記録媒体(CD−ROM)
14・・VRAM
16・・ディスプレイ装置
17・・位置測定装置
20・・プロセッサ(CPU)
31・・演算処理ハードウェア部
32・・プログラムメモリ
33・・主記憶装置

Claims (4)

  1. 車両の移動に伴って車両位置周辺の地図をスクリーンに表示するナビゲーション装置の地図スクロール方法において、
    地図データを地図記録媒体より読み取って地図バッファに既に記憶されているデータを更新するデータ更新制御、地図バッファに記憶されている地図データに基づいて地図画像を発生してVRAMに描画する地図描画制御、VRAMから車両位置周辺の地図画像を切り出してスクリーンに表示する画面表示制御のそれぞれを並列処理により実行可能なデータ更新スレッド、地図描画スレッド、画面表示スレッドを用意し、
    これらスレッドの優先度を低くすると共に、データ更新完了前は上記各スレッドのうち、データ更新スレッドの優先度を最高にし、データ更新完了後であって地図描画完了前は地図描画スレッドの優先度を最高にし、
    地図描画完了後であって画面表示完了前は画面表示スレッドの優先度を最高にし、地図スクロール処理に際して優先度が最高のスレッドを実行する、
    ことを特徴とする地図スクロール方法。
  2. 車両が属する領域に応じた中心図葉に隣接する8つの隣接図葉に対して先読みスレッドを用意し、
    車両が進入した隣接図葉の先読みスレッドを前記データ更新スレッドとして扱うことで該図葉データを読みだし、
    車両が進入した図葉の隣接図葉に関しては、前記地図更新スレッド、地図描画スレッド、画面表示スレッドより優先度を低く設定した先読みスレッドにより地図データを先読みする
    ことを特徴とする請求項1記載の地図スクロール方法。
  3. 中心図葉を4分割し、画面に表示されている中心点がいずれの分割領域に属するか判断し、
    該所属分割領域に隣接する領域に応じた隣接図葉の先読みスレッドの優先度を他の隣接図葉の先読みスレッドの優先度より高くし、優先度の高い隣接図葉をより早く先読みする
    ことを特徴とする請求項2記載の地図スクロール方法。
  4. 既に地図バッファに読み込まれている隣接図葉以外の隣接図葉のみを先読みする
    ことを特徴とする請求項2記載の地図スクロール方法。
JP34096097A 1997-12-11 1997-12-11 地図データの先読み方法及び地図スクロール方法 Expired - Fee Related JP3621572B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34096097A JP3621572B2 (ja) 1997-12-11 1997-12-11 地図データの先読み方法及び地図スクロール方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34096097A JP3621572B2 (ja) 1997-12-11 1997-12-11 地図データの先読み方法及び地図スクロール方法

Publications (2)

Publication Number Publication Date
JPH11174952A JPH11174952A (ja) 1999-07-02
JP3621572B2 true JP3621572B2 (ja) 2005-02-16

Family

ID=18341905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34096097A Expired - Fee Related JP3621572B2 (ja) 1997-12-11 1997-12-11 地図データの先読み方法及び地図スクロール方法

Country Status (1)

Country Link
JP (1) JP3621572B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60040690D1 (de) * 2000-06-07 2008-12-11 Mitsubishi Electric Corp Navigationsvorrichtung
JP4807691B2 (ja) 2001-09-26 2011-11-02 パイオニア株式会社 画像作成装置及び方法、電子機器並びにコンピュータプログラム
JP2003109032A (ja) * 2001-09-26 2003-04-11 Pioneer Electronic Corp 画像作成装置及びコンピュータプログラム
JP4807692B2 (ja) * 2001-09-26 2011-11-02 パイオニア株式会社 画像作成装置及びその方法、並びにコンピュータプログラム
JP4807693B2 (ja) * 2001-09-26 2011-11-02 パイオニア株式会社 画像作成装置及びその方法、電子機器並びにコンピュータプログラム
JP2005077642A (ja) 2003-08-29 2005-03-24 Mitsubishi Electric Corp 地図情報処理装置、地図修正情報記憶媒体、地図修正情報データ構造、地図修正情報作成システム及び地図情報更新システム
JP4563755B2 (ja) * 2003-09-16 2010-10-13 シスメックス株式会社 標本画像の表示方法、標本画像表示用プログラム、そのプログラムを記録した記録媒体および標本画像表示用端末装置
JP4313720B2 (ja) * 2004-04-28 2009-08-12 パナソニック株式会社 データ処理プログラムおよびデータ処理装置
JP5235692B2 (ja) * 2009-01-15 2013-07-10 三菱電機株式会社 データアクセス装置及びデータアクセスプログラム
EP2389637A1 (en) 2009-06-24 2011-11-30 International Business Machines Corporation Requesting computer data assets
JP4676022B2 (ja) * 2010-06-09 2011-04-27 三菱電機株式会社 地図データ処理装置
US8850075B2 (en) * 2011-07-06 2014-09-30 Microsoft Corporation Predictive, multi-layer caching architectures
JP6046748B2 (ja) 2013-01-17 2016-12-21 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイル管理方法
KR101964973B1 (ko) * 2017-07-31 2019-08-07 한국과학기술원 다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템
KR102450551B1 (ko) * 2017-11-17 2022-10-04 현대자동차주식회사 자동차의 지도 업데이트 방법 및 내비게이션 장치
CN111797192B (zh) * 2020-07-27 2023-09-01 平安科技(深圳)有限公司 Gis点数据渲染方法、装置、计算机设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3333642B2 (ja) * 1994-09-09 2002-10-15 アルパイン株式会社 地図描画方法
JPH08212090A (ja) * 1995-02-03 1996-08-20 Fujitsu Ltd サーバシステム
JPH0944366A (ja) * 1995-07-28 1997-02-14 Oki Electric Ind Co Ltd マルチスレッド・スケジューリング装置
JPH0981628A (ja) * 1995-09-08 1997-03-28 Hitachi Eng Co Ltd 施設管理システム及び施設管理方法
JPH1115371A (ja) * 1997-06-25 1999-01-22 Fujitsu Ten Ltd 地図表示装置

Also Published As

Publication number Publication date
JPH11174952A (ja) 1999-07-02

Similar Documents

Publication Publication Date Title
JP3621572B2 (ja) 地図データの先読み方法及び地図スクロール方法
US5349656A (en) Task scheduling method in a multiprocessor system where task selection is determined by processor identification and evaluation information
US6233599B1 (en) Apparatus and method for retrofitting multi-threaded operations on a computer by partitioning and overlapping registers
KR100278327B1 (ko) 공유 오프-스크린 메모리를 제공하기 위한 방법 및 장치
JP3659062B2 (ja) 計算機システム
JP4979880B2 (ja) グラフィックス処理ユニットのマルチスレッド式カーネル
US6990560B2 (en) Task synchronization mechanism and method
US6356980B1 (en) Method and system for bypassing cache levels when casting out from an upper level cache
US6545684B1 (en) Accessing data stored in a memory
US5715447A (en) Method of and an apparatus for shortening a lock period of a shared buffer
JP3681647B2 (ja) キャッシュメモリシステム装置
JPH06250928A (ja) 情報処理装置
JPH10116346A (ja) テクスチャの高速ダウンロード方法
JP3469383B2 (ja) データ先読み制御方法及び情報処理装置
US5918243A (en) Computer mechanism for reducing DASD arm contention during parallel processing
JP2915352B2 (ja) イメージ処理システム
JPH05334194A (ja) 情報処理装置
JP3898369B2 (ja) ページング処理装置および記録媒体
US8782675B2 (en) Method and system of accessing display window memory
JP2005071046A (ja) キャッシュメモリの使用方法
JP3413369B2 (ja) 情報処理装置
JP2017097066A (ja) 画像処理装置及び画像処理方法
JPS63113637A (ja) ハツシユ・テ−ブル・エントリ排他処理方式
JPH06110857A (ja) プログラムディスパッチ方式
JP2022078486A (ja) 記憶制御システム、及び、記憶制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20040720

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20040810

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20041005

Free format text: JAPANESE INTERMEDIATE CODE: A523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20041116

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Effective date: 20041118

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101126

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees