(57)【特許請求の範囲】
【請求項１】
地図を矩形領域に区切った地図を構成する地図構成要素とこの地図構成要素が前記地図上に配置される地図座標とを対応付けた地図データを格納する地図データベースと、
指定された地図に対応した地図データを前記地図データベースから取得した、この地図データをブロックに分割する地図データ分割手段と、
前記地図データ分割手段により分割された前記ブロック内に存在するブロック内地図データと、このブロック内地図データを地図表示画面上に描画する描画座標情報とを対応付けたからなる描画データに変換を作成し、この描画データと前記ブロックの識別子とを対応付けた第１のデータリストを登録する描画データ登録手段と、
前記地図表示画面上に前記地図データを描画する描画範囲が指定されると、この描画範囲に対応する描画ブロックを決定する描画ブロック決定手段と、
前記描画ブロック決定手段により決定された前記描画ブロックの中から、過去に描画済みの描画ブロックを除外した差分領域ブロックを判別する差分領域判定手段と、
前記描画データ登録手段により作成された前記第１のデータリストの中から、前記差分領域判定手段により判別された前記差分領域ブロックに対応する前記描画データを選択して提供する描画データ提供手段と、
を備え、
前記描画データ登録手段は、前記地図構成要素を描画する座標が複数である場合に、前記地図データベースに格納された複数の前記地図座標を基に前記複数座標に対応する複数の前記ブロックの複数座標ブロック識別子をそれぞれ算出し、この複数座標ブロック識別子と前記描画データを識別するデータＩＤとを対応付けたデータＩＤリストを作成するとともに、前記描画データと前記データＩＤとを対応付けた第１のデータリストを登録する複数座標データ登録手段を備え、
前記描画データ提供手段は、前記データＩＤリストの中から前記差分領域判定手段で判別された前記差分領域ブロックに対応する前記データＩＤを選択し、この選択されたデータＩＤに対応する前記描画データを前記第１のデータリストの中から選択して提供する複数座標データ提供手段を備える描画データ管理装置。
【請求項２】
前記地図データベースは、前記地図を構成する地図構成要素と、この地図構成要素が前記地図上に配置される地図座標とのデータを対応付けて格納し、
前記描画データ登録手段は、前記地図構成要素を描画する座標が単一である場合に、前記地図データベースに格納された前記地図座標を基に前記単一座標に対応する前記ブロックの単一座標ブロック識別子を算出し、前記描画データと前記単一座標ブロック識別子とを対応付けた第２のデータリストを登録する単一座標データ登録手段を備え、
前記描画データ提供手段は、前記単一座標データ登録手段により登録された前記第２のデータリストの中から、前記差分領域判定手段で判別された前記差分領域ブロックに対応する前記描画データを選択して提供する単一座標データ提供手段を備える請求項１に記載の描画データ管理装置。
【請求項３】
前記描画データ登録手段は、前記地図構成要素を描画する座標が複数である場合に、前記地図データベースに格納された複数の前記地図座標を基に前記複数座標に対応する複数の前記ブロックの複数座標ブロック識別子をそれぞれ算出し、この複数座標ブロック識別子と前記描画データを識別するデータＩＤとを対応付けたデータＩＤリストを作成するとともに、前記描画データと前記データＩＤとを対応付けた第３のデータリストを登録する複数座標データ登録手段を備え、
前記描画データ提供手段は、前記複数座標データ登録手段で作成された前記データＩＤリストの中から前記差分領域判定手段で判別された前記差分領域ブロックに対応する前記データＩＤを選択し、この選択されたデータＩＤに対応する前記描画データを前記第３のデータリストの中から選択して提供する複数座標データ提供手段を備える請求項２に記載の描画データ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路案内の情報提供を行なうナビゲーション装置において、図形処理により地図を描画するための描画データ管理装置に関する。
【背景技術】
【０００２】
近年、コンピュータグラフィックスやＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）等の図形処理に用いられるシステムは年々進歩しているが、それと共に描画のために用いるデータ量も増えてきている。そこで、大量の描画データをいかに効率的に処理していくかが重要になってくる。具体的には、地図データは、所定のデータ管理単位としてメッシュで区切られた範囲で管理されており、その一部が描画される場合、実際には描画しない範囲の地図データの処理が多くなることで、処理負荷の増大を招くことが課題である。
【０００３】
そこで、従来技術では、図形データを処理する際に、実際に描画を必要としない図形データに関する処理をより効果的に削減する方法として、特許文献１で示される図形処理方法が開示されている。この図形処理方法は、まず、描画図形要素を含む描画データを分割し、この分割した描画データを包含するバウンディングボックスを生成する。次に、生成されたバウンディングボックスに関する情報とバウンディングボックスに含まれる描画図形要素とをサブリストとして含むリストデータを生成する。そして、前記リストデータ中のサブリストのバウンディングボックスに関する情報に基づいて、バウンディングボックスが予め設定されたクリッピング領域に含まれるか否かを判断し、含まれる部分だけを描画する。これにより、実際には描画しない範囲のデータ処理を省くことが可能となり、描画速度が向上する。
【０００４】
【特許文献１】特開２００１−２９１１１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の従来技術では、描画データを包含するバウンディングボックスを作成して、描画データを管理している。このバウンディングボックスを用いて管理している描画データから、描画に必要な部分の描画データを取得するために、該当するバウンディングボックスに含まれる全ての描画データに対して、実際には描画しない範囲の描画データについても描画するか否かのチェックを行なう必要があった。
また、一般に、描画速度の向上のため、新規に描画が必要な部分のみ描画処理を実行し、前フレームで描画済みの部分を再利用する方式が用いられる。このとき、新規に描画が必要な範囲の決定が必要である。従来技術では、描画データ毎に新描画範囲であるか否かを判断して新描画範囲を決定しており、描画データ毎に新描画範囲と描画済み範囲との差分領域を判定していたため、負荷が増大していた。
本発明は上記のような問題点を解決するためになされたもので、描画データを、メッシュよりもさらに細かく碁盤目状のブロックに分割して管理し、描画に必要な部分の描画データだけを高速に提供するとともに、分割されたブロック単位で差分領域を高速に決定することにより、大量の描画データを高速に描画するための描画データ管理装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記で述べた課題を解決するため、本発明に係る描画データ管理装置は、地図を矩形領域に区切った地図データを格納する地図データベースと、指定された地図に対応した地図データを前記地図データベースから取得し、この地図データをブロックに分割する地図データ分割手段と、前記地図データ分割手段により分割された前記ブロック内に存在するブロック内地図データと、このブロック内地図データを地図表示画面上に描画する描画座標情報とを対応付けた描画データを作成し、この描画データと前記ブロックの識別子とを対応付けた第１のデータリストを登録する描画データ登録手段と、前記地図表示画面上に前記地図データを描画する描画範囲が指定されると、この描画範囲に対応する描画ブロックを決定する描画ブロック決定手段と、前記描画ブロック決定手段により決定された前記描画ブロックの中から、過去に描画済みの描画ブロックを除外した差分領域ブロックを判別する差分領域判定手段と、前記描画データ登録手段により作成された前記第１のデータリストの中から、前記差分領域判定手段により判別された前記差分領域ブロックに対応する前記描画データを選択して提供する描画データ提供手段とを備えることとしたものである。
【発明の効果】
【０００７】
本発明によれば、描画データをブロックに分割して管理し、その際、実際には描画しない範囲の描画データのチェックを行なわずに描画範囲を決定できる描画データ提供部を備えたことにより、描画データを高速に取得することができるようになる。
【０００８】
また、ブロック単位で差分描画範囲の決定を行なう差分領域判定部を備えることにより、描画データ単位で差分領域を決定する方式と比較して差分領域の判定処理の負荷が軽減されるため、差分領域の判定を高速化でき、描画速度を向上させることができるようになる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、本発明の実施の形態１における描画データ管理装置の一例を示す構成図である。
図１において、描画制御部１０は、描画領域変更命令を受信すると、地図データ取得部２０に描画データ構築命令を出すとともに、描画処理部６０に描画命令を出して、描画データ管理装置全体を制御する。
地図データ取得部２０では、描画制御部１０からの描画データ構築命令を受信すると、地図データベースとしての地図ＤＢ（Ｄａｔａｂａｓｅ）２１にアクセスし、描画制御部１０から指定された範囲の地図データを取得する。
地図データ分割手段としての地図データ分割部３０は、地図データ取得部２０で地図ＤＢ２１から取得した地図データを任意のサイズのブロックに分割する。
描画データ登録手段としての描画データ登録部４０は、描画データが単一座標のデータである場合の描画データ登録処理を行なう単一座標データ登録手段としての単一座標データ登録部４１と、描画データが複数座標のデータである場合の描画データ登録処理を行なう複数座標データ登録手段としての複数座標データ登録部４２とから構成される。
描画ブロック決定手段としての描画データ記憶部５０は、描画データ登録部４０から渡された描画データを記憶する。
描画処理部６０は、描画制御部１０からの描画命令を受信すると、描画ブロック決定部７０に描画データ取得命令を出す。また、描画処理部６０は、描画データ提供部９０から描画データを取得すると、取得した描画データの描画処理を行なう。
描画ブロック決定部７０は、描画処理部６０から描画データ取得命令を受信し、描画範囲に含まれる描画ブロックを決定する。
差分領域判定手段としての差分領域判定部８０は、新描画範囲と描画済み範囲との差分領域を判定して、新たに描画データが必要な範囲の描画ブロックを描画データ提供部９０に通知する。
描画データ提供手段としての描画データ提供部９０は、描画データが単一座標のデータである場合の描画データを提供する単一座標データ提供部９１と、描画データが複数座標のデータである場合の描画データを提供する複数座標データ提供手段としての複数座標データ提供部９２とから構成される。
【００１０】
次に、実施の形態１における描画データ管理装置の動作について、図２〜図１１を適宜参照しながら説明する。
【００１１】
図２は、実施の形態１における描画データ管理装置の全体動作のフローチャートを示す図である。
まず、図２のステップＳ２０１において、描画制御部１０は、地図ＤＢ２１から地図データを取得する。描画制御部１０は、描画領域変更命令を受信すると、描画データ構築命令を地図データ取得部２０に送信する。描画データ構築命令は、描画範囲と描画縮尺とからなる情報である。地図データ取得部２０は、描画データ構築命令を受信すると、地図ＤＢ２１にアクセスし、描画データの描画範囲となる地図データを取得する。
【００１２】
次に、ステップＳ２０２において、地図データ分割部３０は、地図データ取得部２０で地図ＤＢ２１から取得した地図データを任意のサイズのブロックに分割し、さらに、描画データ登録部４０は、取得した地図データを描画データに変換して、描画データ記憶部４０に登録する。ここで、描画データとは、地図ＤＢ２１から取得した地図データをディスプレイに描画するのに適した構造に変換したデータであり、例えば、座標列からなる道路データである。
【００１３】
図３は、地図データ分割部３０、及び、描画データ登録部４０による描画データの登録処理を説明する図である。
描画データの登録処理では、図３に示すように、従来、メッシュに区切られていた地図データを、地図データ分割部３０により、さらに細かく分割し、この分割された地図データを、描画データ登録部４０により、描画データに変換して、分割された領域に登録する。具体的には、図３において、メッシュは、太線で示される領域であり、この領域を任意のサイズに分割した領域を登録単位とし、分割した領域には左下から右上に向かう方向に順にインデックスを割り振る。そして、この登録単位に地図データを分割して登録する。以下、分割された一つの範囲をブロックと呼ぶ。このブロックには、ブロックを識別するためにブロックインデックスを保持させる。ブロックインデックスは、図３のブロック内の数値で示すように、左下のブロックを基準とし、右上へ向かう方向へ順に割り振る。
このようにして、地図データ分割部３０、及び、描画データ登録部４０は、分割されたブロックに対して描画データを登録する。
【００１４】
ここで、描画データが、複数の座標を持つデータの場合、複数のブロックにまたがる可能性がある。例えば、道路のように連続した細長い図形データの場合は、描画範囲を示す座標が複数であり、このため、描画データは複数のブロックにまたがることになる。このとき、描画データをまたがる全てのブロックに対して描画データを登録すると、同じ描画データを複数のブロックに重複して登録してしまうことになる。これを回避するため、描画データ登録部４０は、地図ＤＢ２１から取得した地図データが単一座標か複数座標かを判断し、地図データが単一座標データの場合には単一座標データ登録部４１により登録し、地図データが複数座標データの場合には複数座標データ登録部４２により登録する。
【００１５】
以下で、描画データ登録部４０の登録処理の詳細を、図４を参照しながら説明する。
図４は、描画データ登録部４０による登録処理のフローチャートを示す図である。
まず、ステップＳ４００において、取得した地図データの種類が単一座標データか複数座標データかによって分岐する。
【００１６】
地図データが単一座標データの場合、ステップＳ４０１へ分岐し、地図データの座標を基に、この地図データに対応する描画データのブロックインデックスを算出する。ブロックインデックスは順に並んでいるため、式（１）によって算出することが可能である。ここで、Bidxはブロックインデックス、xは描画データのx座標、yは描画データのy座標、Bsxはブロックのx方向の大きさ、Bsyはブロックのy方向の大きさ、Mwはメッシュの幅を表す。また、座標系は左下を原点とし横軸をx座標、縦軸をy座標とする。
【００１７】
【数１】
0005309560.tif 000002
【００１８】
次に、ステップＳ４０２において、描画データ登録部４０は、ステップＳ４０１で算出したブロックに描画データを登録する。
図５は、地図データの種類が単一座標データの場合の地図データとデータリストとを説明する図である。
例えば、図５（ａ）の地図データに示すように、ブロックインデックス１３のブロックに描画データＤ０が存在し、また、ブロックインデックス５のブロックに描画データＤ１とＤ２が存在し、さらに、ブロックインデックス２のブロックに描画データＤ３が存在したとすると、描画データ登録部４０は、図５（ｂ）に示すようなデータリストを作成する。このデータリストにより、描画データの登録情報を保持する。
【００１９】
一方、ステップＳ４００で取得した地図データの種類が複数座標データの場合、まず、ステップＳ４０３において、描画データ登録部４０は、描画データの座標を基に描画データに対応するブロックを算出する。これは、描画データが保持する複数の座標それぞれに対し、式（１）を適用することで実現する。
【００２０】
次に、ステップＳ４０４において、描画データ登録部４０は、ステップＳ４０３で算出したブロックインデックスに対して、描画データを識別するためのデータＩＤを登録し、データＩＤリストを作成する。
【００２１】
図６は、地図データの種類が複数座標データの場合のデータＩＤリストを説明する図である。
データＩＤは、描画データを識別する記号であれば何でも良く、例えば、図６では、データＩＤをＩＤ０、ＩＤ１、ＩＤ２のように定義している。データＩＤリストＬ１は、ブロックインデックスと、それに対応するブロックに登録されるデータＩＤとから構成される。
【００２２】
次に、ステップＳ４０５において、描画データ登録部４０は、データＩＤに対応する描画データをメッシュに登録する。
【００２３】
図７は、描画データをメッシュに登録する動作を説明する図である。
例えば、図7（ａ）の地図データに示すように、データＩＤがＩＤ０の描画データがブロックインデックス１０、１２、１３、１４のブロックにまたがって存在し、また、データＩＤがＩＤ１の描画データがブロックインデックス０、１、５、６、１０のブロックにまたがって存在し、さらにまた、データＩＤがＩＤ２の描画データがブロックインデックス２、３、７、１１のブロックにまたがって存在したとする。この場合、存在する描画データに対応する各ブロックインデックスに対してデータＩＤを登録し、図７（ｂ）に示すデータＩＤリストを作成し、メッシュに対して図７（ｃ）に示すデータリストを登録する。これにより、描画データを重複せずに管理することができる。
以上が、描画データ登録部４０による登録処理の説明である。
【００２４】
次に、再度、図２を参照しつつ、描画データ管理装置の全体動作を説明する。
ステップＳ２０３において、描画ブロック決定部７０は、描画処理部６０からの描画データ取得命令を受信し、描画範囲のブロックを決定する。
【００２５】
ここで、描画データ取得命令は、描画データの種別と、描画範囲の矩形情報である描画矩形情報とからなる。この描画データ取得命令に基づいて、描画ブロック決定部７０は、まず、指定された描画矩形情報を基に、描画矩形に含まれるブロックと描画矩形に含まれないブロックとの境界になるブロックのブロックインデックスを算出する。そして、算出された境界となるブロックの間を順にアクセスすることで、描画範囲となるブロックの描画データを取得する。
【００２６】
次に、ステップＳ２０４において、差分領域判定部８０は、描画に必要な差分領域の判定を行なう。以下、図８と図９を参照しながら、差分領域判定部８０の動作を説明する。
図８は、差分領域判定部８０の具体的な動作のフローチャートを示す図である。
図９は、描画済みフラグリストＬ２と新描画範囲フラグリストＬ３とを示す図である。
【００２７】
まず、ステップＳ８０１において、差分領域判定部８０は、前フレームの描画矩形情報を基に描画済みフラグを設定する。例えば、図９に示すように、描画済みフラグリストＬ２により、描画済みフラグを設定する。描画済みフラグリストＬ２は、ブロックインデックスと描画済みフラグとから構成され、描画済みフラグがＴＲＵＥの場合は、ブロックインデックスのブロックが既に描画済みであることを示し、ＦＡＬＳＥである場合は、ブロックをまだ描画していないことを示す。例えば、図９では、ブロックインデックスが０、１、４、５のブロックが描画済みであり、ブロックインデックスが２、３、１５のブロックがまだ描画していないブロックの状態である（ブロックインデックス６〜１４のブロックは省略する）。
【００２８】
次に、ステップＳ８０２において、差分領域判定部８０は、描画ブロック決定部７０で決定した描画ブロックに対応するブロックインデックスの新描画範囲フラグをＴＲＵＥに設定し、新描画範囲フラグリストＬ３に設定する。図９に示すように、新描画範囲フラグリストＬ３はブロックインデックスとそれに対応する新描画範囲フラグとから構成され、新描画範囲フラグがＴＲＵＥのブロックインデックスのブロックが現フレームでの描画範囲であることを示す。例えば、図９では、ブロックインデックスが１、２、３、５、１５のブロックが新描画範囲であり、ブロックインデックスが０、４のブロックが新描画範囲でないことを示す。
【００２９】
次に、ステップＳ８０３において、差分領域判定部８０は、描画済みフラグリストＬ２の描画済みフラグの否定と、新描画範囲フラグリストＬ３の新描画範囲フラグとの論理積がＴＲＵＥになる場合に、そのブロックを描画すべき差分領域であると判定し、差分描画データ提供ブロックとして決定する。
【００３０】
次に、ステップＳ２０５において、描画データ提供部９０は、描画データ登録部４０により描画データ記憶部４０に登録された描画データにアクセスし、差分領域判定部８０で決定した差分描画データ提供ブロックに対応する描画データを取得して、描画処理部６０に提供する。
【００３１】
図１０は、描画データ提供部９０の具体的な動作のフローチャートを示す図である。
まず、ステップＳ１０００において、描画データ提供部９０は、描画データの種類によって処理を分岐させる。描画データの種類が単一座標データである場合は、ステップＳ１００１に分岐し、複数座標データである場合は、ステップＳ１００３に分岐する。
【００３２】
描画データの種類が単一座標データである場合は、ステップＳ１００１において、単一座標データ提供部９１は、差分領域判定部８０で決定した差分描画データ提供ブロックに対応する描画データを取得する。そして、ステップＳ１００２において、取得した描画データを描画処理部６０に提供する。
【００３３】
描画データの種類が複数座標データである場合は、まず、ステップＳ１００３において、複数座標データ提供部９２は、提供対象データフラグリストを作成する。
【００３４】
図１１は、提供対象データフラグリストを示す図である。
図１１において、提供対象データフラグリストＬ４は、データＩＤと提供対象データフラグとで構成され、提供対象データフラグがＴＲＵＥとなるデータＩＤが描画処理部６０に提供する描画データであることを示す。例えば、図１１の状態は、データＩＤが０、１、３の描画データが提供対象であることを示す。複数座標データ提供部９２は、差分領域判定部８０で決定した差分描画データ提供ブロックに登録されているデータＩＤに対応する提供対象データフラグをＴＲＵＥに設定する。
【００３５】
次に、ステップＳ１００４において、複数座標データ提供部９２は、メッシュに登録されている描画データのうち、提供対象データフラグがＴＲＵＥとなっている描画データを描画データ記憶部４０から取得する。
【００３６】
次に、ステップＳ１００５において、複数座標データ提供部９２は、取得した描画データを描画処理部６０に提供する。
【００３７】
最後に、図２のステップＳ２０６において、描画処理部６０は、描画データ提供部９０から提供された描画データを基に、例えば、道路線を青色、１０ピクセルの幅で座標列をつなぐように描画するといったように、データ毎に適切な色、範囲、優先度などを決定し、描画処理を行なう。
【００３８】
なお、実施の形態１では、分割するブロック数は１６としたが、これは１６である必要はなく、適度に分割されていればいくつでも良い。
【００３９】
以上のように、本発明によれば、描画データをブロックに分割して管理し、その際、実際には描画しない範囲の描画データのチェックを行なわずに描画範囲を決定できる描画データ提供部を備えたことにより、描画データを高速に取得することができるようになる。
【００４０】
また、ブロック単位で差分描画範囲の決定を行なう差分領域判定部を備えることにより、描画データ単位で差分領域を決定する方式と比較して差分領域の判定処理の負荷が軽減されるため、差分領域の判定を高速化でき、描画速度を向上させることができるようになる。
【図面の簡単な説明】
【００４１】
【図１】実施の形態１の、描画データ管理装置の一例を示す構成図である。
【図２】実施の形態１の、描画データ管理装置の全体動作のフローチャートを示す図である。
【図３】実施の形態１の、地図データ分割部３０、及び、描画データ登録部４０による描画データの登録処理を説明する図である。
【図４】実施の形態１の、描画データ登録部４０による登録処理のフローチャートを示す図である。
【図５】実施の形態１の、地図データの種類が単一座標データの場合の地図データとデータリストとを説明する図である。
【図６】実施の形態１の、地図データの種類が複数座標データの場合のデータＩＤリストを説明する図である。
【図７】実施の形態１の、描画データをメッシュに登録する動作を説明する図である。
【図８】実施の形態１の、差分領域判定部８０の具体的な動作のフローチャートを示す図である。
【図９】実施の形態１の、描画済みフラグリストＬ２と新描画範囲フラグリストＬ３とを示す図である。
【図１０】実施の形態１の、描画データ提供部９０の具体的な動作のフローチャートを示す図である。
【図１１】実施の形態１の、提供対象データフラグリストを示す図である。
【符号の説明】
【００４２】
１０  描画制御部、２０  地図データ取得部、２１  地図ＤＢ、３０  地図データ分割部、４０  描画データ登録部、４１  単一座標データ登録部、４２  複数座標データ登録部、５０  描画データ記憶部、６０  描画処理部、７０  描画ブロック決定部、８０  差分領域判定部、９０  描画データ提供部、９１  単一座標データ提供部、９２  複数座標データ提供部。
【図１】
0005309560.tif 000003
【図２】
0005309560.tif 000004
【図３】
0005309560.tif 000005
【図４】
0005309560.tif 000006
【図５】
0005309560.tif 000007
【図６】
0005309560.tif 000008
【図７】
0005309560.tif 000009
【図８】
0005309560.tif 000010
【図９】
0005309560.tif 000011
【図１０】
0005309560.tif 000012
【図１１】
0005309560.tif 000013