説明

描画処理装置、描画処理プログラムおよび描画処理方法

【課題】地図データの構成を変えることなく高速な描画処理を実現すること。
【解決手段】描画処理装置は、画像を分割するパーセル構造110単位にそれぞれパーセル内に存在する描画対象図形の情報を含んだ地図データを用いて図形描画をおこなう描画処理装置であって、パーセル構造110をより小さな仮想サブパーセル構造120に分割し、分割された仮想サブパーセルからパーセル内の図形の少なくとも一部が存在する仮想サブパーセルを特定し、特定された仮想サブパーセルと、図形とを関連付ける。そして、描画処理装置は、描画環境設定から画像の表示領域の指示を受け付けると、図形データの中から、表示領域に含まれるパーセルを抽出し、さらに抽出されたパーセル表示領域に含まれる仮想サブパーセルを抽出し、抽出されたパーセルの少なくとも一部に存在する図形の中から、抽出された仮想サブパーセルと関連付けされた図形を描画する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、2次元および3次元の地図画像の描画処理をおこなう描画処理装置、描画処理プログラムおよび描画処理方法に関する。
【背景技術】
【0002】
従来、ナビゲーションシステムや地図表示システムでは、個別の図形データを専用のグラフィックスシステムにおいてリアルタイムに描画して地図画像を随時生成する手法が多く採用されている。これは、ナビゲーションシステムや地図表示システムでは、移動やユーザからの指示に応じて表示用の地図画像を動的に変化させる必要があるため、ビットマップのような完成された地図画像イメージを拡大縮小回転表示するよりも専用のグラフィックスシステムによって逐一生成した方が鮮明でスケーラブルな地図画像を提供できるためである。
【0003】
また、上述のようなシステムにおいて利用される地図データは、一般的にパーセルと呼ばれる区画単位のデータの集合体として構成されている。具体的には、パーセルごとにパーセルがあらわす地図上の道路や建造物などの2次元形状データがグループ化されたデータによって構成されている。この2次元形状データは、図形の頂点座標や塗り潰し色などのリアルタイムで地図描画をおこなうために必要な描画用データを含んだ構成となっている。
【0004】
さらに、パーセルを構成する描画用の図形データは、道路や土地利用区分や建造物の重なりを正しく処理して描画できるように最適化された順序に並べられている。したがって、たとえば、パーセルの大きさを変更するような場合にパーセル内に含まれる図形の転入/転出が生じると、図形データの並べ替えが必要になる。また、パーセルサイズの変更によって図形が隣接するパーセルの境界をまたぐような場合にも、図形をパーセル境界で切断し、切断後の図形データを各パーセルに再分配する必要がある。
【0005】
また、パーセル単位の地図データを利用して地図描画をおこなう際は、指定された表示範囲の地図画像を表示させる。このとき、1つのパーセルの大きさはディスプレイなどの表示画面に表示される領域のサイズより大きいことも多い。すなわち、パーセルには表示画面に表示されない地図データが多数含まれることになる。また、市街地と郊外とでは地図データの密度が異なるので、パーセルサイズが均一の場合には、地図データの密度に偏りが生じる。そこで、地図データの偏りを改善してデータアクセス効率を高めるために、パーセルサイズをデータ密度に応じて可変に構築する技術も開示されている(たとえば、下記特許文献1参照。)。
【0006】
【特許文献1】特開2004−177959号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述したようにパーセル単位によって構成された地図データから地図画像を生成する場合、地図上に配置されている図形の描画処理は、パーセル単位で実行されてしまう。たとえ表示画面に表示される画像がパーセルに含まれる図形データの一部分しか利用しない場合であっても、同一パーセルに含まれているすべての図形データが読み出され、描画処理がおこなわれてしまう。さらに、表示画面に表示される画像が複数のパーセルにまたがった図形データである場合には、表示画面に表示される割合を問わずに2パーセル〜4パーセル分の地図データすべてが読み出され、描画処理がおこなわれてしまっていた。
【0008】
このように、従来の描画処理は、実際には表示画面への出力に反映されない処理を多分に含んでいたため、描画処理を高速化できないという問題があった。たとえ、上記特許文献1の技術を適用させ、データ密度に応じてパーセルサイズを変え、データ量の均一化を計ったとしても、地図データ読込み量の平準化は達成されるが、表示画面以外の図形部分の描画処理を抑制することはできず、描画処理速度をあげることはできなかった。
【0009】
この発明は、上述した従来技術による問題点を解消するため、地図データの構成を変えることなく高速な描画処理を実現することのできる描画処理装置、描画処理プログラムおよび描画処理方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するため、この描画処理装置、描画処理プログラムおよび描画処理方法は、画像を分割する第1領域内に存在する図形の情報を含んだ図形データを用いて前記画像を描画する描画処理であって、前記図形データに対応する前記第1領域を前記第1領域より小さな第2領域に分割し、分割された前記第2領域から前記第1領域の図形の少なくとも一部が存在する第2領域を特定し、特定された第2領域と、前記図形とを関連付ける処理を備えることを要件とする。
【0011】
この描画処理装置、地図描画プログラムおよび描画処理方法によれば、第1領域としてたとえば区画単位で蓄積された地図データの画像に対して第1領域ごとに仮想的な分割をおこない、第1領域より小さな第2領域群を設定する。第2領域としてはたとえば区間を分割した矩形群が挙げられる。そして、第1領域内の描画対象となる図形の少なくとも一部が存在する第2領域を特定して図形と関連付ける。したがって、地図データの構成を変更せずに、第1領域に対して描画指示を受け付けた際に、描画処理をおこなうか否かの判断基準となる情報を埋め込むことができる。
【0012】
また、上記の描画処理装置、描画処理プログラムおよび描画処理方法において、さらに、前記第1領域単位に、前記図形の参照テーブルが含まれている場合、前記関連付け手段は、前記第2領域と、前記参照テーブルとを関連付けてもよい。
【0013】
この描画処理装置、地図描画プログラムおよび描画処理方法によれば、描画対象図形の参照テーブルと第2領域とを関連付けるため、地図データに含まれる描画対象の図形に関する情報と第2領域とを直接関連付ける必要がなく、描画処理をおこなうか否かの判断基準となる情報を埋め込むことができる。
【0014】
また、上記の描画処理装置、描画処理プログラムおよび描画処理方法において、さらに、前記画像の表示領域の指示を受け付けると、前記図形データの中から、前記表示領域に含まれる前記第1領域を抽出する第1の抽出と、第1の抽出によって抽出された前記第1領域および前記表示領域に含まれる前記第2領域を抽出する第2の抽出と、第1の抽出によって抽出された前記第1領域の少なくとも一部に存在する前記図形の中から、第2の抽出された前記第2領域と関連付けされた図形を描画する処理を備えてもよい。
【0015】
この描画処理装置、描画処理プログラムおよび描画処理方法によれば、指定された表示領域の地図画像を描画するために必要となる第1領域内に存在する描画対象の図形のうち、表示領域に表示される描画対象図形のみ描画され、表示されないその他の描画対象図形の描画処理の発生を防ぐことができる。
【発明の効果】
【0016】
この描画処理装置、描画処理プログラムおよび描画処理方法によれば、地図データの構成を変えることなく高速な描画処理を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【0017】
以下に添付図面を参照して、この描画処理装置、描画処理プログラムおよび描画処理方法の好適な実施の形態を詳細に説明する。
【0018】
(本実施の形態にかかる地図描画処理の概要)
まず、本実施の形態にかかる地図描画処理の概要について説明する。図1は、本実施の形態にかかる地図描画処理の概要を示す説明図である。図1に示すように、本実施の形態では、地図データ100は、パーセル構造110のデータの集合体として構成されている。個々のパーセル構造110は、さらに仮想的に分割され、仮想サブパーセル構造120になっている。
【0019】
仮想サブパーセル構造120は、名前が指すように仮想的にパーセル構造をさらに小さなパーセル構造に分割するための概念である。したがって、地図データ100に蓄積されている各パーセル構造110をあらわすデータ構造は、パーセル構造110内の図形データの並べ替えや、サブパーセル境界での図形の切断といったデータの再構成処理を必要とせず、データ列130に示すように、従来のパーセル構造110をあらわす情報によって構成されている。
【0020】
本実施の形態にかかる描画処理の場合は、上述したような従来と同じデータ構成に、仮想サブパーセル構造120によって仮想的に分割された仮想サブパーセルに関する情報を埋め込み、描画処理判断に利用する。具体的には、1つのパーセル構造110には、データ列130のようにパーセル内に存在する描画対象図形(たとえば図形A)のデータが含まれている。この描画対象図形が、仮想サブパーセル構造120のように分割した場合にどの仮想サブパーセルに位置するかをあらわすサブパーセル識別コード131が、データ列130の図形Aに関する情報に追加して埋め込まれる。
【0021】
上述の処理を実際の描画処理に沿って説明する。まず、描画処理のための準備処理として、まず地図データ100に含まれるパーセル構造110ごとの図形データは、実際の地図画像の表示システム(たとえば、ナビゲーションシステム)用地図データベースを生成するために、描画対象図形のデータがどの仮想サブパーセル位置に収まるかを判定し、その結果に対応するサブパーセル識別コード131を与える。このとき、一つの仮想サブパーセルに収まりきらない場合は、複数の仮想サブパーセルによって表示されることをあらわすサブパーセル識別コード131を付与する。サブパーセル識別コード131は、図1のように図形データそのものに付与してもよいし、図形データの存在するアドレスを指す参照テーブルに付与してもよい。
【0022】
つぎに、実際の地図描画に関する処理について説明する。実際の地図描画は、ユーザや、上位システムから表示領域111の指定の受け付けをトリガとして開始される。地図データ100の各パーセルの図形データには、サブパーセル識別コード131が埋め込まれており、これら地図データ100の中から指定された表示領域111が含まれるパーセル構造110部分の地図データ100が読み出される。
【0023】
従来は、読み出されたパーセル構造110の地図データ100に含まれる描画対象図形をすべて描画していたが、本実施の形態の場合、表示領域111が含まれるパーセル構造110のうち、表示領域111に含まれるサブパーセルをあらわすサブパーセル識別コード131が埋め込まれた図形データを抽出して描画を実行する。したがって、表示領域111外に存在する図形に関しては、描画処理が省略される。
【0024】
従来の描画処理の場合、パーセルサイズが表示領域、すなわち表示画面サイズより相対的に大きい状況では、表示画面に表示されない地図データがパーセルに多数含まれるため無駄な描画処理が発生し、描画速度の低下が著しかった。しかしながら、本実施の形態のような描画処理の場合、実際に表示される図形に対してのみ描画処理がおこなわれるため、描画速度が向上する。
【0025】
また、従来の描画処理の場合、たとえば、クリッピング処理によって画面外データの描画を抑制するとしても、地図データに含まれる図形数が膨大なので、クリッピング対象になるか否かの判定処理自体負担となり、描画処理全体からみるとボトルネックになっていた。しかしながら、本実施の形態のような描画処理であれば上述のような問題も発生しない。
【0026】
また、従来の描画処理では、表示画面外への描画を抑制するためにゲームグラフィックスで多用されるような、バウンディングボックスや境界球による事前可視性判定をおこなうといった対策も講じられていたが、地図描画という描画対象となる図形が特定の形状に限定される場合には、必ずしも効果的ではなかった。その理由としては、ゲームにおける人物やモンスターのようなキャラクターは、1体あたりの頂点数が多いため、バウンディングボックスによる頂点数削減効果が大きいが、地図データに含まれる図形は、キャラクターなどの図形類ほどは頂点数を持っていない。すなわち、一つ一つの頂点数削減効果が小さく、膨大な数のバウンディングボックスを処理しなければならず、描画速度の向上にはつながらなかった。本実施の形態の描画処理の場合、図形の種類を限定されることなく、効果を発揮することができる。
【0027】
また、パーセルサイズを画面サイズに合わせて最適化することも可能であるが、処理負担から鑑みて現実的な描画処理とはいえない。その第1の理由は、地図縮尺に応じて拡大縮小描画する場合、パーセルサイズと画面サイズの相対比率が常に変化するためである。これは、最適なパーセルサイズは縮尺に応じて無数に存在し、たとえ、相対サイズ比のバリエーションを限定したとしても、同一詳細度の地図データを、複数のパーセルサイズとして実装してそれぞれ用意しなければならず、これらの条件を満たさなければ効果が得られないことを意味する。このような処理を実現させた場合、たとえば、HDDなどの地図データ格納容量の逼迫を引き起こす可能性もある。
【0028】
また、第2の理由は、パーセルサイズの変更には、必ず図形データ格納順の並べ替え、パーセル境界での図形の切断と再分配のほか、場合によってはデータ量の増大といった事態が発生するためである。このような地図データベースのチューニングは、原理的・汎用的な措置ではなく、製品ごとの個別最適化に過ぎないため、地図データメーカーやカーナビゲーションシステムメーカーにとっては、大きな負担となり、採用したがらない傾向にある。
【0029】
したがって、本実施の形態にかかる描画処理のように、地図データの構成変更を必要としないにもかかわらず、従来無駄とされていた部分の描画処理を省くことができるという特徴は、各種システムにとって適用しやすい処理であるという効果も含んでいる。したがって、以下に図1によって説明した描画処理の特徴を備えた描画処理装置を実現するための具体的な構成や処理内容について詳しく説明する。
【0030】
(地図描画装置のハードウェア構成)
まず、本実施の形態にかかる描画処理を実現する描画処理装置のハードウェア構成について説明する。図2は、本実施の形態にかかる描画処理装置のハードウェア構成を示す説明図である。
【0031】
図2において、描画処理装置200は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、ハードディスクドライブ204と、ハードディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(インターフェース)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
【0032】
ここで、CPU201は、描画処理装置200の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。ハードディスクドライブ204は、CPU201の制御にしたがってハードディスク205に対するデータのリード/ライトを制御する。ハードディスク205は、ハードディスクドライブ204の制御で書き込まれたデータを記憶する。
【0033】
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータを描画処理装置200に読み取らせたりする。
【0034】
また、光ディスク207として、CD(Compact Disk)、DVD(Digital Versatile Disk)、MO(Magneto Optical)、メモリーカードなどを採用することができる。ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT(Cathode Ray Tube)、TFT(Thin Film Transistor)液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0035】
I/F209は、通信回線を通じてインターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえば、モデムやLAN(Local Area Network)アダプタなどを採用することができる。
【0036】
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【0037】
スキャナ212は、画像を光学的に読み取り、描画処理装置200内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【0038】
なお、本実施の形態にかかる描画処理装置200の場合は、図2に例示したような単独の装置として実現する場合の他に、カーナビゲーション装置とともにカーナビゲーションシステムを実現する場合や、携帯端末装置とともに携帯端末ナビゲーションシステムを実現する場合などがある。したがって、図2の描画処理装置200のハードウェア構成はあくまで一例であり、他の構成によって実現してもよい。なお、カーナビゲーションシステムや携帯端末ナビゲーションシステムとして実現する例については後述する。
【0039】
(描画処理装置の機能的構成)
つぎに、描画処理装置の機能的構成について説明する。図3は、描画処理装置の機能的構成を示すブロック図である。図3において、描画処理装置200は、分割部301と、特定部302と、関連付け部303と、区画抽出部304と、矩形抽出部305と、描画部306と、を備えている。これら各機能301〜306は、描画処理装置200の記憶部(たとえば、図2にて説明したハードディスク205など)に記憶された当該機能301〜306に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。
【0040】
描画処理装置200は、地図を分割する区画(第1領域)単位としてパーセル単位にそれぞれ当該パーセル内に存在する描画対象図形の情報を含んだ地図データ100を用いて地図画像を描画する。したがって、パーセル単位のデータ構造をもつ地図データ100を用意して描画処理装置200に読み込ませる。
【0041】
分割部301は、読み込んだ地図データの中の任意のパーセルをより小さな矩形(第2領域)群、すなわち、仮想サブパーセル群に分割する。なお、本実施の形態では仮想サブパーセルとなる第2領域は矩形になるように分割しているが、区画がもれなく分割されていれば第2領域の形状は特に限定されない。分割部301による分割とは上述したように仮想的な分割であり、地図データ100を分割するのではなく、分割した場合の個々の矩形である仮想サブパーセルの配置をあらわす設定情報を生成する処理をおこなう。
【0042】
特定部302は、分割部301によって分割された仮想サブパーセル群の中からパーセル内の描画対象図形の少なくとも一部が存在する仮想サブパーセルを特定する。
【0043】
関連付け部303は、特定部302によって特定された仮想サブパーセルと、描画対象図形とを関連付ける。仮想サブパーセルと、描画対象図形とを関連付けるとは、具体的には、描画対象図形に関する情報に特定された仮想サブパーセルの設定情報と関連付けて記録する。一例として、図1のデータ列130のように、描画対象図形に関する情報にサブパーセル識別コード131を埋め込むような手法がある。
【0044】
なお、関連付け部303は、描画対象図形に関する情報の格納先をあらわす参照テーブルが含まれている場合であれば、描画対象図形ではなく、仮想サブパーセルと、参照テーブルとを関連付けてもよい。
【0045】
さらに、上述したように、特定部302によって、描画対象図形が一つの仮想サブパーセルに収まらずに、描画対象図形の少なくとも一部が存在する複数の仮想サブパーセルを特定した場合、関連付け部303は、特定された複数の仮想サブパーセルと、描画対象図形の情報や参照テーブルとを関連付けてもよい。
【0046】
以上説明した分割部301〜関連付け部303によって、本実施の形態にかかる描画処理をおこなうための準備が終了したことになる。つぎに、実際に地図画像を描画するための処理について説明する。この処理は、上述したように、外部からの表示領域指示に関する情報の受け付けがトリガとなる。
【0047】
区画抽出部304は、描画環境設定から地図の表示領域111の指示を受け付けると、地図データ100の中から、表示領域111に含まれるパーセルを抽出する。ここで抽出されたパーセルの情報は、矩形抽出部305に出力される。
【0048】
矩形抽出部305は、区画抽出部304によって抽出されたパーセルを分割する仮想サブパーセル群から、表示領域111に含まれる仮想サブパーセルを抽出する。ここで抽出された仮想サブパーセルの情報は、描画部306に出力される。
【0049】
描画部306は、区画抽出部304によって抽出されたパーセルに含まれた描画対象図形の情報の中から、矩形抽出部305によって抽出された仮想サブパーセルと関連付けされた描画対象図形の情報を用いて表示領域111の地図を描画する。描画部306によって描画された表示用データは、任意の表示機器310に出力される。
【0050】
以上説明したように、描画部306では、表示領域111に含まれる仮想サブパーセルと関連付けされた描画対象図形のみが描画されるため、パーセル内に存在しながら表示領域111には登場しない描画対象図形は一切描画されないため、描画速度を大幅に向上させることができる。以下、上述した分割部301〜関連付け部303の処理と区画抽出部304〜描画部306までの処理について、さらに具体的な手法について説明する。
【0051】
(パーセル単位の地図データの構成)
まず、本実施の形態にかかる描画処理装置200によって地図画像を描画する際に利用する地図データの構成について説明する。図4は、地図データのパーセル構造と表示画面との関係を示す説明図である。図4では、地図データ400に格納されているパーセル401の集合体である。
【0052】
地図データ400は、縦4個・横4個に並んだパーセル401からなり、それぞれのパーセル401は、パーセル幅W×パーセル高Hの矩形になっている。また、中央部の傾いた長方形411は、描画処理装置200によって描画された地図画像を表示する画面であり、たとえば、ディスプレイ画面に表示される視野に相当する領域を表す。なお、図4の例では、地図面を垂直に見下ろした2次元正射影表示の場合を例にとっている。また、地図データ400の中の斜線を引いた中央4個のパーセル410は、その一部が長方形411、すなわち、ユーザの視野にかかっており、描画処理の実行対象として抽出されるパーセル401であることをあらわしている。
【0053】
なお、図4の例から明らかなように、画面の領域は斜線を引いた4個のパーセル410の領域よりもずっと小さな面積である。このような場合、斜線を引いた4個のパーセル410に含まれるすべての図形データに対して描画処理をおこなうと、ユーザの視野に登場する実効的な図形よりも、視野外の無駄な図形に対して多くの描画処理が費やされてしまう。したがって、この無駄を抑制するために、次に説明する仮想サブパーセルの設定がおこなわれる。
【0054】
ここでは、まず、パーセル構造の地図データに含まれる図形データについて説明する。図5は、パーセル構造の地図データに含まれる図形データのデータフォーマットの一例を示す図表である。また、図6は、図形データの参照テーブルのデータフォーマットの一例を示す図表である。
【0055】
図5のデータフォーマットは、従来のパーセル構造を持つ地図データと同じデータ構成である。このデータ列500は、1個の図形のための描画属性データに対応している。この例では、図形を構成する頂点数、多角形・三角形・直線などの図形種別指定コード、図形の塗り潰し色、頂点座標値、の各データが並んだフォーマットになっている。なお、データ列500のフォーマットはあくまで一例であり、他の属性データを追加したり、属性の並び順を変えてもよい。
【0056】
また、実際の描画処理装置200によって扱われるデータは数値の並びであり、最終的には0と1の二進数で実現される。しかしながら、ここでは、わかり易さを考慮し、抽象度の高い表記のまま表現する。
【0057】
また、データ列500の中の描画属性データは、たとえば、1ワードあたり32ビット整数の系列として作成される。各数値の値によっては、符号無し整数としたり、1ワードあたり16ビットにしたりしてもよい。データ列500では、頂点数は6個、図形種別は多角形、塗り潰し色はRGBAの各8ビット4チャンネルをパックしたもの、頂点座標はx,y各16ビットをパックしたものを想定している。
【0058】
また、データ列500の中の図形種別は、典型的には直線に1を、三角形に2を、多角形に3を割り当てるような、単純なルールによって表現することができる。このような表現は、アプリケーションの都合によって依存してもよいが、一般的に、図形種類の総数はビット幅を使い尽くすほど多くはないので、ここに大きな空きビット領域があることが多い。この特徴を利用して、後述する仮想サブパーセルの識別コードの埋め込み箇所として利用できる。
【0059】
また、図6のデータ列600は、図5で示した図形データへの参照アドレスを保持する、図形データ参照テーブルのフォーマットをあらわしている。データ列600には、参照オフセットアドレスだけが記録されている。また、各図形の並び順は、図形同士の重なり合いを適切に処理するために、矛盾なくソートされている。
【0060】
(仮想サブパーセルの構成)
つぎに、仮想サブパーセルについて説明する。図1にて説明したように、本実施の形態では、パーセルをさらに、小さな矩形群に分割し、これら矩形群をサブパーセルとして設定する。
【0061】
図7は、仮想サブパーセル構造と表示画面との関係を示す説明図である。図7は、図4に表されたパーセルのうち一部が可視である4個のパーセル410を拡大して、仮想サブパーセルのうち少なくとも一部が視野をあらわす長方形411に含まれている仮想サブパーセルを斜め格子でハッチングし仮想サブパーセル群700としてあらわしている。後ほどおこなわれる描画処理は、仮想サブパーセル群700の領域に限定して処理されることとなる。
【0062】
(図形データ生成処理)
・図形データ生成における第1の手法:上位ビットを利用したパーセル分割
つぎに、描画用の図形データの生成処理についての2種類の手法について説明する。第1の手法は、上位ビットを利用して効果的にパーセル分割をおこなう。図8は、第1の手法による図形データ生成におけるパーセル上の仮想サブパーセルを示す説明図である。
【0063】
図8のパーセル800は、300×300の相対サイズからなり、00〜44までの25個の仮想サブパーセルに分割されている。また、仮想サブパーセルに表示した00〜44までの2桁の数字は、そのまま仮想サブパーセルの識別コードとなる。
【0064】
また、パーセル800では、パーセルの相対サイズは縦横とも300単位(300×300)であり、仮想サブパーセルの相対サイズは縦横とも64単位(64×64)である。ただし、04、14、24、34および40、41、42、43、44の各識別コードを持つサブパーセルは、64で割り切れないため300÷64の剰余に相当する長さの辺を持っている。具体的には、仮想サブパーセル04、14、24、34は、44×64サイズであり、仮想サブパーセル40、41、42、43は、64×44サイズであり、仮想サブパーセル44は、44×44サイズである。
【0065】
また、図8では、パーセル800に含まれる無数の図形の中から7個を代表として抜き出して例示している。図形Aは道路を、図形B、C、Dは敷地境界を、図形E、F、Gは建物を表現している。ここで、パーセル800における、上記7個の図形のみに着目した場合のデータ並び順すなわち描画順は、ABCDEFGの順である。実際には、図示しない多数の図形がAからGまでの図形と図形の間に挿入されているが、全体的にみれば描画順は適切にソートされており、重なり合いを適切に処理できるように考慮されている。
【0066】
また、各図形の描画順は従来技術と同様にパーセル単位で最適化されている。したがって、仮想サブパーセルを仮想的な分割ではなく実際に地図データ構造そのものをサブパーセル単位に分割すると、図形Aのように一つの仮想サブパーセルに収まらない大きな図形は、仮想サブパーセル境界で切断して図形A1〜A9のように複数の図形片に分割しなければならない。
【0067】
上述のように分割された図形片は、それぞれのサブパーセルごとに新たな描画順を正しく算出し、図形データ列に挿入しなければならない。特に、図形B、C、Dおよび図形E、F、Gは、互いに離れた複数のサブパーセルに分散して入り組んでいるので、仮想サブパーセルごとにまとまったデータ並びにソートしなおさなければならない。具体的に説明すると、もともとABCDEFGの並び順だった図形データ列を、たとえば、BEA1A2A3A4A5A6A7CFA8DGA9のような並び順に変換しなければならない。
【0068】
しかしながら、本実施の形態では、仮想サブパーセルは、名前のとおり仮想的な概念であり、仮想サブパーセルの識別コードにしか反映されない。したがって、図形データ列の並び順はABCDEFGのままでよく、データ構造を根本的に改変する必要は無い。
【0069】
図9は、仮想サブパーセルの識別コードを含んだ図形データのデータフォーマットの一例を示す図表である。図9のデータ列900では、仮想サブパーセルの概念を取り入れた地図データとなっている。すなわちデータ列900では、32ビット幅の図形種別指定コード用ワードの空きビット領域に、仮想サブパーセルの識別コードを埋め込んでいる。たとえば、図形種別指定コードを下位16ビットに限定し、上位16ビットをサブパーセル識別コード用の領域とする。データ列900において、図形種別指定コード用ワード以外のワードは、図5におけるデータ列500のデータフォーマットと同じ構成になっている。
【0070】
図10は、第1の手法による図形データの生成手順を示すフローチャートである。図9によって説明したような仮想サブパーセルの設定をおこなうための手順を図10のフローチャートにおいて説明する。まず、図形をもれなく選択するための図形数用カウンタiと、選択した図形の頂点をもれなく選択するための頂点数用カウンタjとをそれぞれ0にリセットし(ステップS1001,S1002)、地図素材データがストリーム的に入力される(ステップS1003)。なお、図形数用カウンタiも、頂点数用カウンタjも、それぞれ0〜n(END)までをカウントする。
【0071】
ステップS1003によって入力された地図素材データを構成するデータ列の中から図形数用カウンタiに相当する図形データを抽出し、この図形データに含まれる図形頂点座標を参照して、x座標、y座標を地図データベースのファイルに書き込む(ステップS1004)。このステップS1004の処理は、従来の描画処理と同様の処理であって、具体的には、地図素材データの書式を表示機器に適した書式へ変換するための処理に相当する。
【0072】
また、本実施の形態では、ステップS1004の処理と並列に、サブパーセル識別コードに着目した処理をおこなう。まず、x座標、y座標それぞれの値の上位ビットを抽出する(ステップS1005)。なお、本実施の形態の場合、頂点座標フォーマットが浮動小数点型ではなく整数型であることを想定して説明すると、サブパーセルサイズが縦横64単位である場合、0から63までの数値を6ビットで表現できる。したがって、シフト演算により下位6ビットを除去すれば、サブパーセルのサイズと位置に関係付けられた数値が得られる。
【0073】
たとえば、図8における図形Fの凹部の頂点AP1を例にあげると、この頂点座標は(x,y)=(224,32)である。224を6ビット右シフトすると3が残り、32を6ビット右シフトすると0になる。したがって、この頂点が属する仮想サブパーセルの識別コードは30となる。
【0074】
図10の説明に戻り、ステップS1005によって頂点座標の上位ビットが抽出されると、つぎに、抽出された頂点の仮想サブパーセルの識別コードを変換して一時変数Pを生成する(ステップS1006)。そして、ステップS1005において読み込まれた頂点座標が図形の最初の頂点かどうか、すなわちj=0か否かを判断する(ステップS1007)。もしj=0であり、最初の頂点であれば(ステップS1007:Yes)、ステップS1006によって生成した一時変数Pを、一時記憶Qとして保存する(ステップS1008)。
【0075】
一方、j=0ではなくステップS1005によって読み込まれた頂点が最初の頂点でなければ(ステップS1007:No)、ステップS1006によって生成した一時変数Pと、一時記憶Qとを比較する(ステップS1009)。
【0076】
ステップS1009における比較結果が一致すれば(ステップS1009:Yes)、j=jENDかによって、すべての頂点の選択が終了したか否かを判断する(ステップS1010)。ここで、いまだに選択されていない頂点がある場合は(ステップS1010:No)、jをインクリメントし(ステップS1011)、ステップS1003の処理に戻ることによって、そのまま、次の頂点数ループjを継続する。
【0077】
一方、ステップS1009において、PとQとの比較結果が一致しない場合(ステップS1009:No)、地図データベースのファイルへの図形頂点座標の書込みに関する頂点数ループjは継続しながら、一時変数Pの算出に関しては頂点数ループjを中断し、ステップS1012の処理に移行する。
【0078】
ステップS1012、ステップS1013では、ステップS1009における一時変数Pと一時記憶Qとの比較結果に応じて、一時記憶Qあるいは大図形用例外コードのいずれかを、処理中の図形の仮想サブパーセルの識別コードとして採用する。具体的には、ステップS1010において、すべての頂点の選択が終了した場合(ステップS1010:Yes)、保存されているQをサブパーセル識別コードに採用する(ステップS1013)。
【0079】
また、ステップS1009において、PとQとの比較結果が一致しない場合(ステップS1009:No)、大図形用例外コードをサブパーセル識別コードに採用し(ステップS1012)、ステップS1014の処理に移行する。なお、ここの大図形用例外コードとは、単独の仮想サブパーセルに収まらないような大きさおよび配置を有する図形に対して設定する識別子であり、単独に仮想サブパーセルに収まる場合をあらわすサブパーセル識別コードとは明確に区別できる。具体的には、図8では00〜44までの16種の仮想サブパーセルの識別コードが存在するので、これらと重複しないコードとして例えば55を割り当てればよい。
【0080】
そして、ステップS1012もしくはステップS1013によってサブパーセル識別コードが採用されると、採用されたコードを地図データベース中の図形データに埋め込む(ステップS1014)。その後、図形数用カウンタiが終了したか否かを判断し(ステップS1015)、終了していなかった場合には(ステップS1015:No)、図形数用カウンタiをインクリメントし(ステップS1016)、ステップS1002の処理に戻る。このような処理を繰り返し、図形数用カウンタiが終了したと判断されると(ステップS1015:Yes)、一連の処理を終了する。このように、すべての処理が終了すると、地図データベースのすべての図形データにサブパーセル識別コードが埋め込まれたこととなる。
【0081】
・図形データ生成における第2の手法:パーセルを等分割
つぎに、第2の手法による図形データの生成について説明する。第2の手法では、仮想サブパーセルのサイズが等しくなるようにパーセルを分割した後、サブパーセルの識別コードを設定する。
【0082】
図11は、第2の手法による図形データの生成におけるパーセル上の仮想サブパーセルを示す説明図である。図11は、一つのパーセル1100を拡大して、第2の手法によって設定した仮想サブパーセルを重ねた状態をあらわしている。図8によって説明した第1の手法のパーセル800との違いは、仮想サブパーセルの区切り方である。
【0083】
第1の手法では、2のべき乗である64を単位とすることにより、頂点座標値をシフト演算して上位ビットを取り出すだけで仮想サブパーセルの識別コードを設定していた。これに対して、図11のように、第2の手法では、元のパーセル1100を等分割し、仮想サブパーセルのサイズを均一化している。
【0084】
なお、図11では、見やすさを考慮して、図形B〜図形Gは仮想サブパーセルの大きさに対して実際より大きく描いており、仮想サブパーセルに収めるため配置も図8と比べてずらして表示している。現実の地図データでは、建造物の占有面積は仮想サブパーセルサイズより相対的にもっと小さいため、隣接する仮想サブパーセル境界にまたがる建造物は少数であることが多い。
【0085】
図12は、第2の手法による図形データの生成手順を示すフローチャートである。図12は、図11によって説明したような仮想サブパーセルの設定をおこなうための手順をあらわしている。なお、図12のフローチャートには、まず図10のフローチャートの処理のステップS1001以降の処理から、ステップS1014直前の処理を示した。
【0086】
さらに、図10のフローチャートの処理と比較した場合に、特にステップS1005〜ステップS1006のみが異なる処理をおこなっている。したがって、以下、図10のステップS1005〜ステップS1006との差異部分であるステップS1204〜ステップS1210の処理について詳しく説明する。
【0087】
地図データベースのファイルに描画用図形頂点座標が書き込まれると(ステップS1203)、この処理と並列に、パーセルを仮想的に、縦にM分割(ステップS1204)、横にN分割する(ステップS1207)。このとき、ステップS1204の縦分割で得られた短冊状の領域をHmとする。また、ステップS1207の横分割で得られた短冊状の領域をVnとする。また、m、nはそれぞれの短冊を識別する変数であり、短冊状の領域の個数はM個およびN個ある。
【0088】
続いて、ステップS1202によって読み込まれた頂点座標x,yが縦横それぞれどの短冊に含まれるか判断する。具体的には、短冊の境界座標値と頂点の座標値を大小比較して判定する。x座標に関してはx∈Vmか否かを判断し(ステップS1205)、xにVmが属すると判断されるまで、mがインクリメントされ(ステップS1206)、ループ処理がおこなわれる(ステップS1205:Noのループ)。同様に、y座標に関しても、y∈Hnか否かを判断し(ステップS1208)、yにHnが属すると判断されるまで、nがインクリメントされ(ステップS1209)、ループ処理がおこなわれる(ステップS1208:Noのループ)。
【0089】
頂点座標x,yそれぞれに対して、頂点座標が属する短冊が見つかると(ステップS1205,S1208:Yes)、x,yそれぞれの短冊番号をつなげてサブパーセル識別コードmn(mnはmとnとの積ではなくm値とn値を並べた値)とし、さらにmnを一時変数Pとする(ステップS1210)。一時変数P設定後の処理は、図10のステップS1007と同様であり、すべての処理が終了すると、地図データベースのすべての図形データにサブパーセル識別コードが埋め込まれたこととなる。
【0090】
(参照テーブルに埋め込む手法)
上述した第1、第2の手法によって、それぞれサブパーセルの識別コードが設定され、対応する図形に埋め込まれるが、これらサブパーセルの識別コードを図形データに直接埋め込まずに、図形データの格納先をあらわす参照テーブルに埋め込んでもよい。
【0091】
図13は、仮想サブパーセルの識別コードを含んだ図形データの参照テーブルのデータフォーマットの一例を示す図表である。図13の、データ列1300では、上述の手法を用いて設定したサブパーセルの識別コードを、地図データへの参照テーブルに埋め込んでいる例をあらわしている。
【0092】
地図データに含まれる図形のデータフォーマットは、図5によって例示したデータ列500と同様である。すなわち、この手法では、サブパーセルの識別コードは図形データには埋め込まれず、外部の参照テーブル側に持たせていることになる。
【0093】
上述した第1、第2の手法の処理と直接埋め込む際の処理との相違点は、図10におけるステップS1014において、サブパーセル識別コードを埋め込む対象が、地図データベース中の図形データではなく、別途存在する図形データへの参照テーブルに変更される点のみである。
【0094】
(地図描画の手順)
つぎに、描画処理装置における地図描画の手順について説明する。ここでは、車両などの移動体に搭載したナビゲーションシステムの一部として描画処理装置200が適用された場合を例に挙げ、2種類の異なる手法を用いた地図描画の手順について説明する。第1の手法では、図9によって説明した図形データに直接サブパーセル識別コードが埋め込まれている場合について説明する。第2の手法では、図13によって説明した参照テーブルにサブパーセル識別コードが埋め込まれている場合について説明する。
【0095】
・地図描画の第1の手法
図14は、第1の手法による地図描画の手順を示すフローチャートである。図14のフローチャートにおいて、常動作中(走行中)の振る舞いをあらわしているため、本来無限ループとして表現できるが、ここでは、ユーザが走行を開始して終了するまでの一連の処理とする。
【0096】
まず、自車位置が更新されると(ステップS1401)、地図縮尺と合わせて一般的な方法にて視野(たとえば、表示用の画面)が計算される(ステップS1402)。ステップS1402によって視野が確定すると、つぎに、少なくとも一部が視野にかかってくるようなパーセルを、所定の幾何学計算により抽出する(ステップS1403)。このステップS1403による幾何学計算は特に限定はなく、公知のものを用いる。さらに、ステップS1403と同様に、少なくとも一部が視野にかかってくるような仮想サブパーセルを抽出する(ステップS1404)。
【0097】
そして、ステップS1403において抽出した視野にかかるパーセルに関して、図形データへの参照テーブルをメインメモリに読み込む(ステップS1405)とともに、パーセルの地図データ自体もメインメモリに読み込む(ステップS1406)。
【0098】
さらに、ステップS1405によって読み込んだ図形データへの参照テーブルに基づいて、パーセルの地図データから図形データを読み出す(ステップS1407)。続いて、読み出した図形データから、埋め込まれたサブパーセル識別コードを抽出する(ステップS1408)。
【0099】
そして、ステップS1408によって、抽出されたサブパーセル識別コードが、大図形用例外コードと一致するか否かを判断し(ステップS1409)、一致する場合には(ステップS1409:Yes)、その図形を描画する(ステップS1410)。一方、ステップS1409において、一致しないと判断された場合は(ステップS1409:No)、抽出されたサブパーセル識別コードがあらわす仮想サブパーセルが、ステップS1404において可視であると抽出されたか否かを判断する(ステップS1411)。
【0100】
ステップS1411において、仮想サブパーセルがステップS1404において可視であると抽出されていた場合(ステップS1411:Yes)、このサブパーセル内の図形を描画して(ステップS1412)、ステップS1413の処理に移行する。一方、ステップS1411において、仮想サブパーセルがステップS1404において可視であると抽出されていなかった場合は(ステップS1411:No)、そのまま、ステップS1413の処理に移行する。
【0101】
その後、可視であると認識されたパーセルに含まれるすべての図形を処理したか判定し(ステップS1413)、まだ処理の済んでいない図形およびパーセルがあれば(ステップS1413:No)、ステップS1407に戻りループ処理を継続する。ステップS1413において、可視であると認識されたパーセルに含まれるすべての図形を処理したと判定された場合は(ステップS1413:Yes)、走行継続判断をおこない(ステップS1414)、走行継続であれば(ステップS1414:Yes)、ステップS1401に戻り、処理を継続させる。一方、走行終了と判断された場合には(ステップS1414:No)、そのまま一連の処理を終了する。
【0102】
・地図描画の第2の手法
図15は、第2の手法による地図描画の手順を示すフローチャートである。図15のフローチャートにおいて、ステップS1501〜ステップS1505までは、図14のステップS1401〜ステップS1405の処理と同様であるため説明を省略する。
【0103】
そして、ステップS1505によって読み込んだ参照テーブルに埋め込まれたサブパーセル識別コードを抽出する(ステップS1506)。そして、ステップS1506によって、抽出されたサブパーセル識別コードが、大図形用例外コードと一致するか否かを判断し(ステップS1507)、一致する場合には(ステップS1507:Yes)、さらに、大図形用例外コードに基づいて、地図データから図形データをメインメモリに読み出し(ステップS1508)、読み出した大図形を描画する(ステップS1509)。
【0104】
一方、ステップS1507において、一致しないと判断された場合は(ステップS1507:No)、抽出されたサブパーセル識別コードがあらわす仮想サブパーセルが、ステップS1504において可視であると抽出されたか否かを判断する(ステップS1510)。ステップS1510において、仮想サブパーセルがステップS1504において可視であると抽出されていた場合(ステップS1510:Yes)、仮想サブパーセルについての地図データから図形データをメインメモリに読み込み(ステップS1511)、このサブパーセル内の図形を描画して(ステップS1512)、ステップS1513の処理に移行する。一方、ステップS1510において、仮想サブパーセルがステップS1504において可視であると抽出されていなかった場合は(ステップS1510:No)、そのまま、ステップS1513の処理に移行する。
【0105】
その後、可視であると認識されたパーセルに含まれるすべての図形を処理したか判定し(ステップS1513)、まだ処理の済んでいない図形およびパーセルがあれば(ステップS1513:No)、ステップS1506に戻りループ処理を継続する。ステップS1513において、可視であると認識されたパーセルに含まれるすべての図形を処理したと判定された場合は(ステップS1513:Yes)、走行継続判断をおこない(ステップS1514)、走行継続であれば(ステップS1514:Yes)、ステップS1501に戻り、処理を継続させる。一方、走行終了と判断された場合には(ステップS1514:No)、そのまま一連の処理を終了する。
【0106】
(各種システムへの適応例)
つぎに、上述した描画処理装置200の各種システムへの具体的な適応例について説明する。ここでは、描画処理装置200をカーナビゲーションシステムに適応した例と、携帯端末ナビゲーションシステムに適応した例について説明する。
【0107】
図16は、カーナビゲーションシステムへの適応例を示すブロック図である。図16では、カーナビゲーションシステムに描画処理装置200の機能を適用させることによってカーナビゲーション装置1600を実現している。
【0108】
カーナビゲーション装置1600は、一般的な例として、CPU1601と、グラフィックスLSI1602と、メインメモリ1603と、グラフィックスメモリ1604と、ディスプレイ1605と、IO(Input Output)コントローラ1606と、HDDユニット1607と、光学ディスクドライブユニット1608と、ジャイロセンサー1609と、GPSユニット1610とを備えた構成になっている。
【0109】
カーナビゲーション装置1600では、IOコントローラ1606を介してCPU1601がHDDユニット1607のHDDに格納されている地図データ100を読み込む。読み込まれた地図データ100は、動作や、読み込んだ地図データ100に必要な変換を施してメインメモリ1603に保存する。このときの保存されるデータは、本実施の形態にて説明した仮想サブパーセルの識別コードを埋め込んだデータである。この結果、CPU1601からグラフィックスLSI1602に描画コマンドを送る段階で、無駄なコマンドの生成が抑制され、システムの性能が向上する。
【0110】
図17は、携帯端末ナビゲーションシステムへの適応例を示す説明図である。図17のシステム1700において、携帯電話端末1740のユーザからのリクエストを基地局1730および通信キャリア1720を介して受け取ったアプリケーションプロバイダ1710のアプリケーションサーバが、地図情報提供サービスを実行する際に、本実施の形態にて説明した、本発明が有効に機能する。
【0111】
具体的に説明すると、携帯電話端末1740の画面上で表示しようとしている視野領域の、地図空間上における位置とサイズの情報が、携帯電話端末からのリクエストパケットとして、通信キャリア1720を介してアプリケーションプロバイダ1710のアプリケーションサーバに送られる。このリクエストパケットを受けてアプリケーションプロバイダ1710のアプリケーションサーバは、携帯電話端末1740の視野領域に関与する地図データだけを仮想サブパーセルの識別コードをもとに抽出し、地図描画データに変換する。
【0112】
この結果、アプリケーションプロバイダ1710は、通信キャリア1720を介して、携帯電話端末1740の視野領域に関与する部分だけの地図描画データを送信する。このデータを用いることによって、無駄なパケットの通信が抑制され、応答性が向上する。また、図示しないが、携帯電話サービス以外の、一般的な有線のインターネットサービスとしての地図アプリケーションにも適用可能である。
【0113】
(ハードウェアの他の構成例)
つぎに、本実施の形態にかかる描画処理の機能を実現するためのハードウェアの他の構成例について説明する。図18は、描画処理装置のハードウェア構成の他の例を示すブロック図である。図18のグラフィックスLSI1800は、サブパーセル識別コードが図形データへの参照テーブルに埋め込まれた場合の構成例を示している。
【0114】
従来は、視野部分のパーセルの検索はCPUにておこなわれる。手順を簡単に説明すると、頂点座標は頂点シェーダーに入力されて座標変換や照光処理がおこなわれる。続いて三角形セットアップ処理を受けて、入力頂点は画面座標における三角形の頂点として解釈される。そして、ラスタライザにて走査線ごとの画素座標に変換される。その後、フラグメントシェーダーによって画素に効果色などが施され、最後に、ピクセル処理にて最終的な可視性判定や半透明処理などがおこなわれた後、フレームバッファに描画される。
【0115】
それに対して図18のグラフィックスLSI1800では、可視パーセルの検索と可視サブパーセルの検索をグラフィックスLSI1800上のハードウェアとして実装している。可視サブパーセル検索モジュールからは、検索結果として可視と判定されたサブパーセルの識別コードが、頂点データ読込み制御モジュールに対して発行される。
【0116】
頂点データ読込み制御モジュールでは、可視サブパーセル検索モジュールから受け取った可視サブパーセルの識別コード(複数)と、グラフィックスLSI1800の外部から入力されたサブパーセル識別コードとを照合する。そして、照合結果が一致した場合、もしくは大図形用例外コードが入力された場合のみ、対応する図形の頂点座標を読み込むように処理することができる。
【0117】
以上説明したように、本実施の形態によれば、元の地図データ構成を大幅に改変することなく、同じパーセルに含まれた図形データでありながら画面表示への地図表示に寄与しない部分の地図データの描画を抑止できる。この結果、地図データの改変に大きな制約が課せられているような条件下においても、地図描画速度の向上を図ることができる。したがって、地図データの構成を変えることなく高速な描画処理を実現することができる。
【0118】
なお、本実施の形態で説明した地図描画方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。
【0119】
また、本実施の形態で説明した秒が処理装置200は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した描画処理装置200の機能301〜306をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、描画処理装置200を製造することができる。
【0120】
さらに、より現実的な実現方法として、本実施の形態で説明した一連の処理を、非リアルタイムに実行される前処理と、リアルタイムに実行される後処理に二分割することができる。具体的には、必ずしもリアルタイムに実行する必要が無い機能301〜303を、パーソナル・コンピュータやワークステーションなどのコンピュータで実行して、仮想サブパーセルの識別コードを伴った地図描画データベースをあらかじめ作成しておく。機能304〜306は、ナビゲーションシステムの稼動中にリアルタイムに実行される必要があるので、LSIとしてハードウェア化するか、CPUでリアルタイム実行するのが望ましい。
【0121】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0122】
(付記1)画像を分割する第1領域内に存在する図形の情報を含んだ図形データを用いて前記画像を描画する描画処理装置であって、
前記図形データに対応する前記第1領域を前記第1領域より小さな第2領域に分割する分割手段と、
前記分割手段によって分割された前記第2領域から前記第1領域の図形の少なくとも一部が存在する第2領域を特定する特定手段と、
前記特定手段によって特定された第2領域と、前記図形とを関連付ける関連付け手段と、
を備えることを特徴とする描画処理装置。
【0123】
(付記2)前記第1領域単位に、前記図形の参照テーブルが含まれている場合、前記関連付け手段は、前記第2領域と、前記参照テーブルとを関連付けることを特徴とする付記1に記載の描画処理装置。
【0124】
(付記3)前記特定手段は、前記図形が前記特定された第2領域に収まらない場合、前記図形を包含する複数の第2領域を特定し、
前記関連付け手段は、前記特定手段によって特定された前記複数の第2領域と、前記図形とを関連付けることを特徴とする付記1に記載の描画処理装置。
【0125】
(付記4)前記特定手段は、前記図形が前記特定された第2領域に収まらない場合、前記図形の少なくとも一部が存在する複数の第2領域を特定し、
前記関連付け手段は、前記特定手段によって特定された前記複数の第2領域と、前記参照テーブルとを関連付けることを特徴とする付記2に記載の描画処理装置。
【0126】
(付記5)前記画像の表示領域の指示を受け付けると、前記図形データの中から、前記表示領域に含まれる前記第1領域を抽出する第1領域抽出手段と、
前記第1領域抽出手段によって抽出された前記第1領域および前記表示領域に含まれる前記第2領域を抽出する第2領域抽出手段と、
前記第1領域抽出手段によって抽出された前記第1領域の少なくとも一部に存在する前記図形の中から、前記第2領域抽出手段によって抽出された前記第2領域と関連付けされた図形を描画する描画手段と、
を備えることを特徴とする付記1〜4のいずれか一つに記載の描画処理装置。
【0127】
(付記6)画像を分割する第1領域内に存在する図形の情報を含んだ図形データを用いてコンピュータに前記画像を描画させる描画処理プログラムであって、
前記コンピュータを、
前記図形データに対応する前記第1領域を前記第1領域より小さな第2領域に分割する分割手段、
前記分割手段によって分割された前記第2領域の中から前記前記第1領域内の図形の少なくとも一部が存在する前記第2領域を特定する特定手段、
前記特定手段によって特定された第2領域と、前記図形とを関連付ける関連付け手段、
として機能させることを特徴とする描画処理プログラム。
【0128】
(付記7)前記画像の表示領域の指示を受け付けると、
前記コンピュータをさらに、
前記図形データの中から、前記表示領域に含まれる前記第1領域を抽出する第1領域抽出手段、
前記第1領域抽出手段によって抽出された前記第1領域および前記表示領域に含まれる前記第2領域を抽出する第2領域抽出手段、
前記第1領域抽出手段によって抽出された前記第1領域の少なくとも一部に存在する図形の中から、前記第2領域抽出手段によって抽出された前記第2領域と関連付けされた図形を描画する描画手段、
として機能させることを特徴とする付記6に記載の描画処理プログラム。
【0129】
(付記8)画像を分割する第1領域内に存在する図形の情報を含んだ図形データを用いて地図画像を描画する描画処理方法であって、
前記図形データに対応する前記第1領域を前記第1領域より小さな第2領域に分割する分割工程と、
前記分割工程によって分割された前記第2領域の中から前記第1領域内の前記図形の少なくとも一部が存在する第2領域を特定する特定工程と、
前記特定工程によって特定された第2領域と、前記図形とを関連付ける関連付け工程と、
を含むことを特徴とする描画処理方法。
【0130】
(付記9)前記画像の表示領域の指示を受け付けると、前記図形データの中から、前記表示領域に含まれる前記第1領域を抽出する第1領域抽出工程と、
前記第1領域抽出工程によって抽出された前記第1領域および前記表示領域に含まれる前記第2領域を抽出する第2領域抽出工程と、
前記第1領域抽出工程によって抽出された前記第1領域の少なくとも一部に存在する前記図形の中から、前記第2領域抽出工程によって抽出された前記第2領域と関連付けされた図形を描画する描画工程と、
をさらに含むことを特徴とする付記8に記載の描画処理方法。
【図面の簡単な説明】
【0131】
【図1】本実施の形態にかかる地図描画処理の概要を示す説明図である。
【図2】本実施の形態にかかる描画処理装置のハードウェア構成を示す説明図である。
【図3】描画処理装置の機能的構成を示すブロック図である。
【図4】地図データのパーセル構造と表示画面との関係を示す説明図である。
【図5】パーセル構造の地図データに含まれる図形データのデータフォーマットの一例を示す図表である。
【図6】図形データの参照テーブルのデータフォーマットの一例を示す図表である。
【図7】仮想サブパーセル構造と表示画面との関係を示す説明図である。
【図8】第1の手法による図形データ生成におけるパーセル上の仮想サブパーセルを示す説明図である。
【図9】仮想サブパーセルの識別コードを含んだ図形データのデータフォーマットの一例を示す図表である。
【図10】第1の手法による図形データの生成手順を示すフローチャートである。
【図11】第2の手法による図形データの生成におけるパーセル上の仮想サブパーセルを示す説明図である。
【図12】第2の手法による図形データの生成手順を示すフローチャートである。
【図13】仮想サブパーセルの識別コードを含んだ図形データの参照テーブルのデータフォーマットの一例を示す図表である。
【図14】第1の手法による地図描画の手順を示すフローチャートである。
【図15】第2の手法による地図描画の手順を示すフローチャートである。
【図16】カーナビゲーションシステムへの適応例を示すブロック図である。
【図17】携帯端末ナビゲーションシステムへの適応例を示す説明図である。
【図18】描画処理装置のハードウェア構成の他の例を示すブロック図である。
【符号の説明】
【0132】
100 地図データ
110 パーセル構造
111 表示領域
120 仮想サブパーセル構造
200 描画処理装置
301 分割部
302 特定部
303 関連付け部
304 区画抽出部
305 矩形抽出部
306 描画部
310 表示機器
1600 カーナビゲーション装置
1601 CPU
1602 グラフィックスLSI
1603 メインメモリ
1604 グラフィックスメモリ
1605 ディスプレイ
1606 IOコントローラ
1607 HDDユニット
1608 光学ディスクドライブユニット
1609 ジャイロセンサー
1610 GPSユニット
1710 アプリケーションプロバイダ
1720 通信キャリア
1730 基地局
1740 携帯電話端末


【特許請求の範囲】
【請求項1】
画像を分割する第1領域内に存在する図形の情報を含んだ図形データを用いて前記画像を描画する描画処理装置であって、
前記図形データに対応する前記第1領域を前記第1領域より小さな第2領域に分割する分割手段と、
前記分割手段によって分割された前記第2領域から前記第1領域の図形の少なくとも一部が存在する第2領域を特定する特定手段と、
前記特定手段によって特定された第2領域と、前記図形とを関連付ける関連付け手段と、
を備えることを特徴とする描画処理装置。
【請求項2】
前記第1領域単位に、前記図形の参照テーブルが含まれている場合、前記関連付け手段は、前記第2領域と、前記参照テーブルとを関連付けることを特徴とする請求項1に記載の描画処理装置。
【請求項3】
前記画像の表示領域の指示を受け付けると、前記図形データの中から、前記表示領域に含まれる前記第1領域を抽出する第1領域抽出手段と、
前記第1領域抽出手段によって抽出された前記第1領域および前記表示領域に含まれる前記第2領域を抽出する第2領域抽出手段と、
前記第1領域抽出手段によって抽出された前記第1領域の少なくとも一部に存在する前記図形の中から、前記第2領域抽出手段によって抽出された前記第2領域と関連付けされた図形を描画する描画手段と、
を備えることを特徴とする請求項1または2に記載の描画処理装置。
【請求項4】
画像を分割する第1領域内に存在する図形の情報を含んだ図形データを用いてコンピュータに前記画像を描画させる描画処理プログラムであって、
前記コンピュータを、
前記図形データに対応する前記第1領域を前記第1領域より小さな第2領域に分割する分割手段、
前記分割手段によって分割された前記第2領域の中から前記前記第1領域内の図形の少なくとも一部が存在する前記第2領域を特定する特定手段、
前記特定手段によって特定された第2領域と、前記図形とを関連付ける関連付け手段、
として機能させることを特徴とする描画処理プログラム。
【請求項5】
画像を分割する第1領域内に存在する図形の情報を含んだ図形データを用いて地図画像を描画する描画処理方法であって、
前記図形データに対応する前記第1領域を前記第1領域より小さな第2領域に分割する分割工程と、
前記分割工程によって分割された前記第2領域の中から前記第1領域内の前記図形の少なくとも一部が存在する第2領域を特定する特定工程と、
前記特定工程によって特定された第2領域と、前記図形とを関連付ける関連付け工程と、
を含むことを特徴とする描画処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2009−217000(P2009−217000A)
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願番号】特願2008−60985(P2008−60985)
【出願日】平成20年3月11日(2008.3.11)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】