(57)【要約】  地図描画装置１０Ａは、地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ１４１、および図形の描画手法を規定した描画属性値１４２を含むオブジェクトデータ１４０を取得する取得手段と、図形を描画するための複数の描画手法を有する描画手段と、描画対象となる描画対象オブジェクトの描画属性情報１４２に基づいて、複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する描画手法決定部１１１とを備えている。そして、地図描画装置１０Ａは、描画手法決定部１１１によって選択された描画手法を用いて、描画対象図形を描画する。
2013114559.tif 000002
【特許請求の範囲】
【請求項１】
地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を含むオブジェクトデータを取得する取得手段と、
前記図形を描画するための複数の描画手法を有する描画手段と、
描画対象となる描画対象オブジェクトの前記描画属性情報に基づいて、前記複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する選択手段と、
を備え、
前記描画手段は、前記選択手段によって選択された描画手法を用いて、前記描画対象図形を描画する地図描画装置。
【請求項２】
前記描画手段は、前記複数の描画手法として、
前記描画対象図形としての多角形の図形を描画する際に用いる多角形描画手法、
前記描画対象図形としての線状の図形を描画する際に用いる線描画手法、並びに
前記多角形描画手法および前記線描画手法に比べて少ない演算量で前記描画対象図形を描画可能な標準描画手法、
のうち、少なくとも２つを有する請求項１に記載の地図描画装置。
【請求項３】
前記線描画手法には、複数の点を並べて前記線状の図形を描く連続点描画手法と、有限直線を用いて前記線状の図形を描く連続線描画手法とが含まれる請求項２に記載の地図描画装置。
【請求項４】
前記多角形描画手法には、
前記描画データに含まれる前記描画対象図形の頂点データに基づいて、前記描画対象図形を複数の三角形に分割して描画対象領域を特定することによって、前記描画対象図形を描画する三角形分割描画手法と、
前記頂点データに基づいて、前記描画対象図形における或る頂点から他の各頂点に対して線分を引いて三角形を形成し、形成された各三角形の重なり回数に応じて描画対象領域を特定することによって、前記描画対象図形を描画するステンシル描画手法と、
が含まれる請求項３に記載の地図描画装置。
【請求項５】
前記描画属性値としては、前記多角形描画手法、前記線描画手法、および前記標準描画手法のうち、少なくとも２つの描画手法を特定するための少なくとも２つの値が存在する請求項２に記載の地図描画装置。
【請求項６】
前記描画属性値には、前記三角形分割描画手法、および前記ステンシル描画手法を特定するための２つの値が存在する請求項４に記載の地図描画装置。
【請求項７】
前記オブジェクトデータは、前記描画属性値として、第１のハードウェアにおいて描画を行うときの描画手法を示す第１描画属性値と、第２のハードウェアにおいて描画を行うときの描画手法を示す第２描画属性値とを前記図形ごとに含み、
前記取得手段は、前記第１描画属性値と前記第２描画属性値とを取得し、
前記選択手段は、前記図形の描画を行うハードウェアが前記第１のハードウェアであるか、或いは前記第２のハードウェアであるかを判定し、判定結果に基づいて、描画手法の選択に用いる描画属性値を、前記第１描画属性値および前記第２描画属性値のうちから選ぶ請求項１に記載の地図描画装置。
【請求項８】
前記オブジェクトデータは、描画処理を行うＣＰＵおよびＧＰＵの組合せに適応する描画手法を規定した描画属性値を、前記組合せの数に応じて前記図形ごとに複数有し、
前記取得手段は、前記組合せの数に応じた各描画属性値を取得し、
前記選択手段は、前記図形の描画処理に使用するＣＰＵおよびＧＰＵの情報を取得し、当該情報に基づいて、描画手法の選択に用いる描画属性値を、前記各描画属性値の中から選ぶ請求項１に記載の地図描画装置。
【請求項９】
前記描画属性値には、前記三角形分割描画手法を採用することを示す特定描画属性値が複数存在し、
前記描画対象図形が複雑になるにつれて描画対象図形の描画属性値には、複数の前記特定描画属性値のうち、大きい値の特定描画属性値が割り当てられ、
前記選択手段は、描画を行うハードウェアの性能を数値化したハードウェア性能値を取得し、当該ハードウェア性能値が描画対象図形の特定描画属性値以上のとき、前記三角形分割描画手法を前記描画対象図形を描画する際の描画手法として選択し、ハードウェア性能値が描画対象図形の特定描画属性値より小さいとき、前記ステンシル描画手法を前記描画対象図形を描画する際の描画手法として選択する請求項１に記載の地図描画装置。
【請求項１０】
地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を取得する取得手段と、
前記図形を描画するための複数の描画手法を有する描画手段と、
描画対象となる描画対象オブジェクトの前記描画属性情報に基づいて、前記複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する選択手段と、
前記選択手段によって選択された描画手法を用いて描画された図形を含む地図画像を表示部に出力する表示制御手段と、
を備えるナビゲーション装置。
【請求項１１】
ａ）地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を取得する工程と、
ｂ）描画対象となる描画対象オブジェクトの描画属性値に基づいて、複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する工程と、
ｃ）前記ｂ）工程において選択された描画手法を用いて、前記描画対象図形を描画する工程と、
を備える地図描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図データの描画技術に関する。
【背景技術】
【０００２】
ナビゲーション装置等の地図描画装置では、描画ライブラリ（「グラフィックスライブラリ」とも称する）を利用して、画面に表示させる地図データの描画処理が実行される。具体的には、地図描画装置は、描画対象の図形（描画対象図形）の各頂点の座標情報、描画対象図形の輪郭の線種、および描画対象図形の塗りつぶしの色等の図形情報を描画データとして取得する。そして、地図描画装置は、描画ライブラリを利用して当該描画データに基づいて地図データを描画し、当該地図データを用いた画面表示を行う。【０００３】
描画処理を実行させる描画ライブラリとしては、例えば、OpenGL（Open Graphics Library）が存在し、OpenGLは、複数の描画手法を有している。【０００４】
複数の描画手法のうち、いずれの描画手法を採用して地図データを描画するかに関して、特許文献１では、描画データを分析して複数の描画手法の中から１の描画手法を選択する手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０７２８０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の手法では、描画データの分析に時間を要し、描画処理を高速に行うことが出来ない場合があった。【０００７】
そこで、本発明は、描画処理を高速に行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る地図描画装置は、地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を含むオブジェクトデータを取得する取得手段と、前記図形を描画するための複数の描画手法を有する描画手段と、描画対象となる描画対象オブジェクトの前記描画属性情報に基づいて、前記複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する選択手段とを備え、前記描画手段は、前記選択手段によって選択された描画手法を用いて、前記描画対象図形を描画する。【０００９】
また、本発明に係るナビゲーション装置は、地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を取得する取得手段と、前記図形を描画するための複数の描画手法を有する描画手段と、描画対象となる描画対象オブジェクトの前記描画属性情報に基づいて、前記複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する選択手段と、前記選択手段によって選択された描画手法を用いて描画された図形を含む地図画像を表示部に出力する表示制御手段とを備える。【００１０】
また、本発明に係る地図描画方法は、ａ）地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を取得する工程と、ｂ）描画対象となる描画対象オブジェクトの描画属性値に基づいて、複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する工程と、ｃ）前記ｂ）工程において選択された描画手法を用いて、前記描画対象図形を描画する工程とを備える。
【発明の効果】
【００１１】
本発明によれば、描画処理を高速に行うことが可能になる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係るナビゲーション装置の構成を示す図である。
【図２】地図上に描かれる描画図形と、描画図形を描くために用いる描画データと、描画図形を描く際の描画手法を規定する描画属性値との関係を示す図である。
【図３】地図描画装置の描画動作を示すフローチャートである。
【図４】三角形分割描画処理を行う際の地図描画装置の動作を示すフローチャートである。
【図５】三角形分割描画処理の具体例を説明するための図である。
【図６】ステンシル描画処理を行う際の地図描画装置の動作を示すフローチャートである。
【図７】ステンシル描画処理の具体例を説明するための図である。
【図８】描画図形と当該描画図形の描画属性値との関係を示す図である。
【図９】複数の描画属性値と、描画処理を行うハードウェアとの関係を示す図である。
【図１０】描画図形と当該描画図形の描画属性値との関係を示す図である。
【発明を実施するための形態】
【００１３】
以下、各実施形態について図面を参照して説明する。
【００１４】
＜１．第１実施形態＞
［１−１．構成］
図１は、第１実施形態に係るナビゲーション装置１の構成を示す図である。図２は、地図上に描かれる描画図形と、描画図形を描く際に用いる描画データと、描画図形を描く際の描画手法を規定する描画属性値との関係を示す図である。本明細書で詳述されるナビゲーション装置１としては、例えば、車両に搭載されるカーナビゲーション装置、ＰＤＡ（Personal Digital Assistants）等の携帯情報端末、或いは携帯電話が想定される。
【００１５】
図１に示されるように、ナビゲーション装置１は、地図データを描画する地図描画装置１０Ａと、Ｉ／Ｏインタフェース１３と、記憶装置１４と、表示部１５とを備えている。地図描画装置１０Ａは、Ｉ／Ｏインタフェース１３を介して記憶装置１４および表示部１５と電気的に接続されている。
【００１６】
記憶装置１４は、ＤＶＤ−ＲＯＭ等の光ディスクを記憶媒体とした光学ドライブ装置、不揮発性メモリ（例えばＳＳＤ、フラッシュ等）、リムーバブルメディア（ＳＤカード等）またはハードディスク装置等で構成されている。記憶装置１４には、地図を構成する各構成物（オブジェクト）の情報（「オブジェクトデータ」とも称する）１４０が記憶されている。
【００１７】
地図（ここでは地図画像）を構成するオブジェクトには、例えば、道路、建物、川、鉄道等の地物に対応したオブジェクトがあり、オブジェクトデータ１４０は、各オブジェクトを表す図形の描画データ１４１と、各オブジェクトに対応する図形を描く際の描画手法を規定する描画属性値１４２とを含んでいる。また、地図を構成するオブジェクトには、地物に対応したオブジェクト以外に、地物に対応しないオブジェクトも存在し、オブジェクトデータ１４０は、これらの地物に対応しないオブジェクトについても、図形の描画データ１４１と描画属性値１４２とを含んでいる。地物に対応しないオブジェクトとしては、県および市区町村の境界を示す境界線、国および州の境界を示す境界線、飛行機または船舶等の航路線、或いは等高線等を例示することができる。
【００１８】
地図描画装置１０Ａは、このようなオブジェクトデータ１４０を記憶装置１４から読み出し、オブジェクトデータ１４０に基づいて地図データを生成する。
【００１９】
ここで、描画データ１４１について詳述する。描画データ１４１は、オブジェクトを表す図形の形状に関する情報であり、オブジェクトを表す図形を描画する際に用いられる。描画データ１４１は、描画対象となる図形の各頂点の座標情報（頂点データ）、描画図形の輪郭の線種、および描画図形の塗りつぶしの色等の情報を含んでいる。一方、描画属性値１４２は、各オブジェクトを表す図形を描画する際の描画手法を特定するための情報（描画属性情報）である。
【００２０】
例えば、図２に示されるように、描画図形の形状が「塗りつぶされた三角形」であった場合、当該描画図形ＢＦ１に対応する描画データＢＤ１には、描画図形ＢＦ１の３つの頂点の各座標情報、描画図形ＢＦ１の輪郭の線種、描画図形ＢＦ１の塗りつぶしの色、および描画図形ＢＦ１がポリゴン（多角形）であることを示す情報が含まれる。また、描画図形ＢＦ１の描画属性値１４２は、標準描画手法を用いて描画することを示す値「１」となっている。
【００２１】
また、描画図形の形状が「凸多角形」であった場合、当該描画図形ＢＦ２に対応する描画データＢＤ２には、描画図形ＢＦ２の頂点の各座標情報、描画図形ＢＦ２の輪郭の線種、描画図形ＢＦ２の塗りつぶしの色、および描画図形ＢＦ２がポリゴンであることを示す情報が含まれる。また、描画図形ＢＦ２の描画属性値１４２は、三角形分割描画手法を用いて描画することを示す値「３」となっている。
【００２２】
また、描画図形の形状が「多頂点ポリゴン」であった場合、当該描画図形ＢＦ３に対応する描画データＢＤ３には、描画図形ＢＦ３の頂点の各座標情報、描画図形ＢＦ３の輪郭の線種、描画図形ＢＦ３の塗りつぶしの色、および描画図形ＢＦ３がポリゴンであることを示す情報が含まれる。また、描画図形ＢＦ３の描画属性値１４２は、ステンシル描画手法を用いて描画することを示す値「４」となっている。
【００２３】
また、描画図形の形状が「ポリライン」であった場合、当該描画図形ＢＦ４に対応する描画データＢＤ４には、描画図形ＢＦ４の頂点の各座標情報、描画図形ＢＦ４の輪郭の線種が含まれる。また、描画図形ＢＦ４の描画属性値１４２は、線描画手法を用いて描画することを示す値「２」となっている。なお、ポリラインとは、一続きの線分または曲線で構成されるオブジェクトである。
【００２４】
ナビゲーション装置１の構成説明（図１）に戻って、表示部１５は、液晶ディスプレイ（ＬＣＤ）または有機ＥＬディスプレイを用いて構成され、地図描画装置１０Ａにおいて描画された地図データに基づく地図画像を画面上に表示する。
【００２５】
地図描画装置１０Ａは、オブジェクトデータ１４０に基づいてオブジェクトの描画処理を行い、地図データを生成する描画処理部１１と、記憶部１２とを備えている。
【００２６】
描画処理部１１は、ＣＰＵ（Central Processing Unit）およびＧＰＵ（Graphics Processing Unit）のうち少なくとも１つで構成されている。描画処理部１１は、記憶部１２に記憶されたプログラム１２１を読み出して、当該プログラム１２１を実行することにより、各種機能部を実現する。
【００２７】
具体的には、描画処理部１１は、描画手法決定部１１１と、三角形分割部１１２と、ステンシル処理部１１３と、線描画部１１４と、標準描画部１１５と、マスク作成部１１６と、多角形描画部１１７と、表示制御部１１８とを機能的に実現する。各機能部は、ＣＰＵおよびＧＰＵどちらでも実現可能であるが、ここでは、各機能部のうち、描画手法決定部１１１、三角形分割部１１２、標準描画部１１５がＣＰＵで実現され、ステンシル処理部１１３、線描画部１１４、マスク作成部１１６、および多角形描画部１１７がＧＰＵで実現されるものとする。なお、表示制御部１１８は、表示制御用のハードウェアで実現される。
【００２８】
描画手法決定部１１１は、描画対象となる描画対象オブジェクトを表す図形（描画対象図形）を描く際の描画手法を決定する。具体的には、描画手法決定部１１１は、記憶装置１４からオブジェクトデータ１４０を取得する。そして、描画手法決定部１１１は、描画対象図形ごとに、描画対象図形ごとの描画属性値１４２に基づいて描画手法を決定する。
【００２９】
地図描画装置１０Ａは、描画手法として、OpenGLを用いた三角形分割描画手法、ステンシル描画手法および線描画手法、並びに、OpenGLを用いた描画手法以外の他の標準的な描画手法（標準描画手法）を有している。描画手法決定部１１１は、描画対象図形の描画手法をこれらの描画手法の中から選択する選択手段として機能することになる。なお、各描画手法の詳細は、後述する。
【００３０】
三角形分割部１１２は、OpenGLを利用するソフトウェア部位にて実現される機能部である。三角形分割部１１２は、描画対象図形における１つの頂点（注目点）から、スタックされた他の頂点に向けて対角線を引く処理を、頂点を変更しつつ繰り返すことによって、描画対象図形を複数の三角形に分割して描画対象領域を特定する。描画対象領域を示すデータは、多角形描画部１１７に出力される。なお、三角形分割部１１２からは、分割された各三角形に関するデータが描画対象領域を示すデータとして多角形描画部１１７に出力されることになる。
【００３１】
ステンシル処理部１１３は、OpenGLを用いて実現される機能部である。ステンシル処理部１１３は、描画対象図形における或る頂点から他の各頂点に対して線分を引くことによって三角形を形成し、形成された各三角形の重なり回数に応じて描画対象領域を特定する。描画対象領域を示すデータは、ステンシルデータとしてマスク作成部１１６に出力される。
【００３２】
線描画部１１４は、OpenGLを用いて実現される機能部であり、描画対象図形としての線状の図形を線描画手法で、ＶＲＡＭ等のフレームメモリ（不図示）に描画する機能を有している。OpenGLを用いた線描画手法には、有限直線（線分）を用いて線状の図形を描く手法（「連続線描画手法」とも称する）と、複数の点を並べて線状の図形を描く手法（OpenGLで連続点を描画する手法、および、OpenGLを利用するソフトウェア部位から連続して点を与える手法の双方を、ここでは、「連続点描画手法」とも称する）とがある。描画手法決定部１１１は、線状の描画対象図形を、連続点描画手法を用いて描画するか、連続線描画手法を用いて描画するかを描画属性値１４２に基づいて選択する。
【００３３】
標準描画部１１５は、OpenGL以外の標準的な描画ソフトウェアをＣＰＵ（またはＧＰＵ）で実行することによって実現される機能部、或いは、地図描画装置１０Ａに搭載される描画チップにおいて実現される処理部である。標準描画部１１５では、標準的な描画手法によって、描画対象図形がフレームメモリに描画される。当該標準描画手法によれば、三角形分割部１１２、ステンシル処理部１１３、および線描画部１１４において実現されるOpenGLを用いた描画手法に比べて、少ない演算量で描画対象図形を描くことができる。
【００３４】
マスク作成部１１６は、ステンシル処理部１１３から入力されるステンシルデータに基づいて、マスクパターンを作成し、当該マスクパターンをステンシルバッファ１１９に格納する。
【００３５】
ここでマスクパターンとは、図形の描画箇所を特定部分に制限するものである。このマスクパターンにより、図形全体の塗りつぶしを行ったとしても描画対象箇所のみを描画することができる。
【００３６】
多角形描画部１１７は、フレームメモリに描画対象図形を描いて、地図データを生成する。より詳細には、多角形描画部１１７は、三角形分割部１１２から入力された描画対象領域を示すデータに基づいて、フレームメモリに、描画対象図形の輪郭を描くとともに、描画データ１４１に基づいて描画対象図形内の塗りつぶしを行う。また、多角形描画部１１７は、ステンシルバッファ１１９に格納されたマスクパターンおよび描画データ１４１を用いて、フレームメモリ上に描画対象図形を描く。
【００３７】
表示制御部１１８は、表示部１５における表示内容を制御する。具体的には、表示制御部１１８は、フレームメモリにおいて形成される地図データを用いて、地図画像の表示処理を行う。
【００３８】
［１−２．動作］
次に、地図描画装置１０Ａにおいて実行される描画動作について説明する。図３は、地図描画装置１０Ａの描画動作を示すフローチャートである。
【００３９】
図３に示されるように、まず、ステップＳＰ１では、描画処理部１１は、地図表示に必要なオブジェクトデータ１４０を記憶装置１４から読み出して取得する。
【００４０】
次のステップＳＰ２では、描画手法決定部１１１は、描画対象オブジェクトの描画属性値１４２に基づいて、当該描画対象オブジェクトを表す図形を描く際の描画手法を決定する。
【００４１】
描画属性値１４２として与えられる各値は、各描画手法と一対一に対応しており、描画手法決定部１１１は、描画対象オブジェクトの描画属性値１４２を用いて、描画対象図形を描画する際の描画手法を一意に特定することができる。
【００４２】
次のステップＳＰ３では、ステップＳＰ２で決定された描画手法を用いて、描画対象図形に関する描画処理が行われる。例えば、ステップＳＰ２において、描画対象図形の描画手法として三角形分割描画手法が選択された場合、ステップＳＰ３では、三角形分割描画手法を用いた描画処理が行われることになる。また、例えば、ステップＳＰ２において、描画対象図形の描画手法として標準描画手法が選択された場合、ステップＳＰ３では、標準描画手法を用いた描画処理が行われることになる。
【００４３】
ステップＳＰ３において描画処理が終了すると、動作工程は、ステップＳＰ４に移行する。
【００４４】
ステップＳＰ４では、描画されていない未描画のオブジェクトがあるか否かが判定される。
【００４５】
未描画のオブジェクトが存在しない場合、描画動作は終了する。
【００４６】
一方、未描画のオブジェクトが存在する場合、動作工程は、ステップＳＰ１に移行され、未描画のオブジェクトを描画対象オブジェクトとしてステップＳＰ１からステップＳＰ４の各工程が再度実行される。ステップＳＰ４の判定処理によって、未描画のオブジェクトがなくなるまで、ステップＳＰ１からステップＳＰ４の各工程が繰り返し実行されることになる。
【００４７】
［１−３．描画手法について］
ここで、本実施形態の地図描画装置１０Ａが備える三角形分割描画手法について説明する。図４は、三角形分割描画手法で描画処理（三角形分割描画処理）を行う際の地図描画装置１０Ａの動作を示すフローチャートである。図５は、三角形分割描画処理の具体例を説明するための図である。なお、図５では、描画対象図形として多角形が示されている。
【００４８】
図４に示されるように、まず、ステップＳＰ１１では、描画対象図形における各頂点がＹ軸座標の降順でソートされる。例えば、図５では、描画対象となる多角形の各頂点が、頂点Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５，Ｃ６，Ｃ７の順に並び換えられる。
【００４９】
ステップＳＰ１２では、ソートされた各頂点の先頭から２頂点分の頂点がスタックされる。図５では、頂点Ｃ１および頂点Ｃ２がスタックされることになる。
【００５０】
ステップＳＰ１３では、ソートされた各頂点において、先頭から３番目の頂点が注目点Ｐｎに設定される。図５では、頂点Ｃ３が注目点Ｐ３に設定されることになる。
【００５１】
ステップＳＰ１４では、注目点Ｐｎから、スタックされた頂点に対角線が引かれる。例えば、図５では、注目点Ｐ３（頂点Ｃ３）からスタックされている頂点Ｃ２に対角線が引かれることになる。
【００５２】
次のステップＳＰ１５では、描画対象図形内を全て三角形に分割したか否かが判定される。描画対象図形内が全て三角形に分割されていると判定された場合は、三角形分割描画処理は、終了する。一方、描画対象図形内が全て三角形に分割されていないと判定された場合は、動作工程は、ステップＳＰ１６に移行される。例えば、図５の例では、全て三角形に分割できていない多角形Ｃ２Ｃ３Ｃ４Ｃ５Ｃ６Ｃ７が存在するため、動作工程は、ステップＳＰ１６に移行されることになる。
【００５３】
ステップＳＰ１６では、三角形に分割されなかった頂点がスタックされる。図５では、頂点Ｃ４，Ｃ５，Ｃ６，Ｃ７がスタックされることになる。
【００５４】
ステップＳＰ１７では、注目点Ｐｎが１つずらされる。図５では、注目点Ｃ３を１つずらしてＣ４に設定されることになる。
【００５５】
そして、再度実行されるステップＳＰ１４では、新たな注目点Ｃ４から新たにスタックされた頂点Ｃ５，Ｃ６，Ｃ７に向けて描画対象図形の内側に形成することができる対角線が引かれることになる。
【００５６】
ステップＳＰ１５では、描画対象図形内を全て三角形に分割したか否かが再度判定される。図５の例では、全て三角形に分割できていない多角形Ｃ２Ｃ３Ｃ５Ｃ４が存在するため、動作工程は、再度ステップＳＰ１６に移行される。
【００５７】
ステップＳＰ１６では、三角形に分割されなかった頂点Ｃ２，Ｃ３がスタックされる。
【００５８】
ステップＳＰ１７では、注目点Ｐｎが１つずらされる。図５では、注目点Ｃ４を１つずらしてＣ５に設定される。
【００５９】
ステップＳＰ１４では、新たな注目点Ｃ５から新たにスタックされた頂点Ｃ２，Ｃ３に向けて多角形の内側に形成することができる対角線が引かれる。
【００６０】
ステップＳＰ１５では、描画対象図形内を全て三角形に分割したか否かが再度判定され、図５の例では描画対象図形を全て三角形に分割できているため、三角形分割描画処理は、終了する。
【００６１】
このように三角形分割描画処理では、描画対象図形内を全て三角形に分割することによって、描画対象領域を特定する。
【００６２】
次に、地図描画装置１０Ａが備えるステンシル描画手法について説明する。図６は、ステンシル描画手法で描画処理（ステンシル描画処理）を行う際の地図描画装置１０Ａの動作を示すフローチャートである。図７は、ステンシル描画処理の具体例を説明するための図である。なお、図７では、描画対象図形として星形の多角形ＲＦ（ＲＦ１〜ＲＦ６）が示されている。図７中の６つの多角形ＲＦ１〜ＲＦ６は、ステンシル描画処理の進捗状況に応じた説明を行うためのものであり、これらの多角形ＲＦ１〜ＲＦ６は、同一の多角形ＲＦである。
【００６３】
図６に示されるように、まず、ステップＳＰ２１では、描画対象図形の各頂点のうち先頭の頂点が開始点Ｐｆとして登録される。例えば、図７では、多角形ＲＦの各頂点のうち先頭の頂点Ｄ１が開始点Ｐｆとして登録される。
【００６４】
ステップＳＰ２２では、ステップＳＰ２１において登録された開始点Ｐｆからその他の各頂点に対して線分を引くことによって、三角形が形成される。図７では、開始点Ｄ１からその他の各頂点Ｄ２〜Ｄ１０に対して線分が引かれる。これにより、多角形ＲＦでは、三角形「Ｄ１Ｄ２Ｄ３」（多角形ＲＦ１参照）、三角形「Ｄ１Ｄ３Ｄ４」（多角形ＲＦ２参照）、三角形「Ｄ１Ｄ５Ｄ６」（多角形ＲＦ３参照）、三角形「Ｄ１Ｄ６Ｄ７」（多角形ＲＦ４参照）、三角形「Ｄ１Ｄ８Ｄ９」（多角形ＲＦ５参照）、および三角形「Ｄ１Ｄ９Ｄ１０」（多角形ＲＦ６参照）が形成されることになる。
【００６５】
ステップＳＰ２３では、ステップＳＰ２２において形成された三角形が、奇数回重なった部分を描画対象領域として設定する。図７では、ステップＳＰ２２において形成された三角形が奇数回重なった部分、即ち三角形が偶数回重なった三角形「Ｄ１Ｄ２Ｄ３」および「Ｄ１Ｄ９Ｄ１０」である描画不可能領域を除いたその他全ての三角形が、描画対象領域として設定される。
【００６６】
このようにステンシル描画処理では、ステップＳＰ２１からステップＳＰ２３の各工程を実行することにより、多角形ＲＦ６に示す星型の描画領域を得ることができる。
【００６７】
以上のように、本実施形態の地図描画装置１０Ａは、地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ１４１、および図形の描画手法を規定した描画属性値１４２を含むオブジェクトデータ１４０を取得する取得手段と、図形を描画するための複数の描画手法を有する描画手段と、描画対象となる描画対象オブジェクトの描画属性情報１４２に基づいて、複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する描画手法決定部１１１とを備えている。そして、地図描画装置１０Ａは、描画手法決定部１１１によって選択された描画手法を用いて、描画対象図形を描画する。
【００６８】
このような地図描画装置１０Ａによれば、描画属性値１４２に基づいて描画手法を選択することができるので、描画手法の選択に要する時間を短縮することが可能になり、ひいては描画処理の高速化を図ることができる。また、線状の描画対象図形の形状に応じた適切な描画手法を選択することができるので、描画に要する時間を短縮することが可能になり、描画処理の高速化を図ることができる。
【００６９】
＜２．第２実施形態＞
次に、第２実施形態について説明する。第２実施形態に係る地図描画装置１０Ｂでは、描画手法決定部１１１における描画属性値を用いた描画手法の決定態様が異なる点以外は、第１実施形態の地図描画装置１０Ａとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。
【００７０】
上述のように、地図描画装置１０Ｂでは、描画手法決定部１１１における描画属性値を用いた描画手法の決定態様が第１実施形態の地図描画装置１０Ａとは異なる。具体的には、第２実施形態では、１の描画対象図形につき描画属性値が複数存在し、地図描画装置１０Ｂは、自身に適合した描画属性値を用いて描画手法を選択する。図８は、描画図形と当該描画図形の描画属性値との関係を示す図である。図９は、複数の描画属性値と、描画処理を行うハードウェアとの関係を示す図である。
【００７１】
より詳細には、図８に示されるように、第２実施形態のオブジェクトデータ１４０は、描画対象図形の描画属性値として、複数（ここでは２つ）の描画属性値を有している場合がある。例えば、描画図形ＢＦ２の描画属性値としては、第１の描画属性値「３」と第２の描画属性値「１」とが存在する。値「３」は、三角形分割描画手法を用いて描画することを示す値であり、値「１」は標準描画手法を用いて描画することを示す値である。
【００７２】
三角形分割描画手法は、標準描画手法に比べて、多くの演算量を要する描画手法である。このため、三角形分割描画手法を用いて描画することを示す第１の描画属性値「３」は、描画処理能力の比較的高い地図描画装置（第１のハードウェア）用の描画属性値となる。一方、標準描画手法を用いて描画することを示す第２の描画属性値「１」は、描画処理能力の比較的低い地図描画装置（第２のハードウェア）用の描画属性値となる。
【００７３】
地図描画装置１０Ｂの描画手法決定部１１１は、描画対象図形の描画属性値が複数存在した場合、地図描画装置１０Ｂにおいて描画処理を行うハードウェアの情報（ハードウェア情報）を取得する。そして、描画手法決定部１１１は、当該ハードウェア情報に基づいて、地図描画装置１０Ｂに適合する描画属性値を、複数の描画属性値の中から選択する。
【００７４】
例えば、図９に示されるように、描画図形ＢＦ２の第１の描画属性値「３」がＣＰＵとＧＰＵとを備えた描画処理能力の比較的高い地図描画装置１０Ｑ用の描画属性値としてオブジェクトデータ１４０に含まれ、第２の描画属性値「１」がＧＰＵを有さない描画処理能力の比較的低い地図描画装置１０Ｒ用の描画属性値としてオブジェクトデータ１４０に含まれているものとする。
【００７５】
このとき、地図描画装置１０Ｂが、描画処理能力の比較的高い第１地図描画装置１０Ｑであった場合、描画手法決定部１１１は、第１の描画属性値「３」を選択し、当該第１の描画属性値を用いて描画手法を決定する。これにより、描画対象図形ＢＦ２は、三角形分割描画手法を用いて描画されることになる。
【００７６】
これに対して、地図描画装置１０Ｂが、描画処理能力の比較的低い第２地図描画装置１０Ｒであった場合、描画手法決定部１１１は、第２の描画属性値「１」を選択し、当該第２の描画属性値を用いて描画手法を決定する。これにより、描画対象図形ＢＦ２は、標準描画手法を用いて描画されることになる。
【００７７】
このように描画手法決定部１１１は、描画処理を行うハードウェアが描画処理能力の比較的高い第１のハードウェアであるか、或いは描画処理能力の比較的低い第２のハードウェアであるかを判定し、当該判定結果に基づいて、描画手法の選択に用いる描画属性値を決定する。そして、描画手法決定部１１１は、決定した描画属性値によって規定された描画手法を、描画対象図形を描画する際の描画手法として選択する。
【００７８】
これによれば、地図描画装置１０Ｂの描画処理能力に応じた適切な描画手法を採用して、図形の描画を行うことができるので、描画に要する時間を短縮することが可能になり、描画処理の高速化を図ることができる。
【００７９】
＜３．第３実施形態＞
次に、第３実施形態について説明する。第３実施形態に係る地図描画装置１０Ｃでは、描画手法決定部１１１における描画属性値を用いた描画手法の決定態様が異なる点以外は、第１実施形態の地図描画装置１０Ａとほぼ同様の構造および機能を有しており、共通する部分については同じ符号を付して説明を省略する。
【００８０】
上述のように、地図描画装置１０Ｃでは、描画手法決定部１１１における描画属性値を用いた描画手法の決定態様が第１実施形態の地図描画装置１０Ａとは異なる。
【００８１】
具体的には、第３実施形態では、三角形分割描画手法を採用することを規定する描画属性値が複数存在する。これら複数の描画属性値は、特定描画属性値とも称され、複雑な描画対象図形については、値の大きい特定描画属性値が割り当てられる。すなわち、描画対象図形が複雑になるにつれて、特定描画属性値の値が大きくなる。
【００８２】
例えば、三角形分割描画手法を採用することを規定する複数の特定描画属性値が、「３」から「１０」までの８個の整数で表されるとする。この場合、図１０に示されるように、比較的単純な描画図形ＢＦ１１の描画属性値には、特定描画属性値「３」が与えられ、比較的複雑な描画図形ＢＦ１５の描画属性値には、特定描画属性値「１０」が与えられる。
【００８３】
地図描画装置１０Ｃの描画手法決定部１１１は、描画対象図形の描画属性値が特定描画属性値であった場合、地図描画装置１０Ｃにおいて描画処理を行うハードウェアの性能を数値化したハードウェア性能値を取得する。そして、描画手法決定部１１１は、当該ハードウェア性能値が描画対象図形の特定描画属性値以上のとき、特定描画属性値の規定に従って三角形分割描画手法を描画対象図形を描画する際の描画手法として選択する。これに対して、描画手法決定部１１１は、ハードウェア性能値が描画対象図形の特定描画属性値より小さいとき、特定描画属性値の規定に反してステンシル描画手法を描画対象図形を描画する際の描画手法として選択する。
【００８４】
例えば、地図描画装置１０Ｃのハードウェア性能値が「６」であった場合、当該ハードウェア性能値以下の特定描画属性値を有する描画図形ＢＦ１１，ＢＦ１２，ＢＦ１３は、いずれも三角形分割描画手法を用いて描画されることになる。これに対して、ハードウェア性能値よりも大きい特定描画属性値を有する描画図形ＢＦ１４，ＢＦ１５は、どちらもステンシル描画手法を用いて描画されることになる。
【００８５】
以上のように、描画処理を行うハードウェアの性能と描画対象図形の複雑度とを勘案して、描画手法を決定することによれば、ハードウェアの性能および描画対象図形の形状に応じた最適な描画手法を精度良く選択することが可能になる。このように、描画手法の選択精度が高まることにより、描画処理に要する時間を短縮することが可能になり、描画処理の高速化を図ることができる。
【００８６】
なお、ハードウェア性能値は、地図描画装置１０ＣのＣＰＵおよびＧＰＵの各クロック数、および／またはＣＰＵおよびＧＰＵの種類等を変数とする関数であり、描画手法決定部１１１は、自装置のＣＰＵおよびＧＰＵの情報に基づいてハードウェア性能値を算出する。
【００８７】
また、描画対象図形の複雑度は、例えば、描画対象図形の頂点の数に基づいて決定することができ、頂点数の多い描画対象図形は、複雑な図形となる。
【００８８】
＜４．変形例＞
以上、実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
【００８９】
例えば、上記各実施形態では、描画手法として三角形分割描画手法を有する地図描画装置１０Ａ，１０Ｂを例示していたが、各実施形態の地図描画装置１０Ａ，１０Ｂは、三角形分割描画手法に代えて、台形分割描画手法を有する態様にしてもよい。
【００９０】
台形分割描画手法では、描画対象図形における１つの頂点（注目点）から、スタックされた他の頂点に向けて対角線を引く処理を、頂点を変更しつつ繰り返すことによって、描画対象図形を複数の台形に分割して描画対象領域が特定される。
【００９１】
また、上記第２実施形態では、オブジェクトデータ１４０が、１の描画対象図形につき２つの描画属性値を有している場合を例示したが、描画属性値の数は、１の描画対象図形につき３つ以上であってもよい。
【００９２】
例えば、オブジェクトデータ１４０の利用が想定される各地図描画装置のＣＰＵおよびＧＰＵの組合せ数に応じて描画属性値を設けてもよい。具体的には、オブジェクトデータ１４０が３種類の地図描画装置に利用され、当該３種類の地図描画装置それぞれにおいて、ＣＰＵおよびＧＰＵの組合せが異なる場合を想定する。この場合、オブジェクトデータ１４０は、１の描画対象図形の描画属性値として、３種類の地図描画装置それぞれに適応する描画手法を規定した３つの描画属性値を有していてもよい。
【００９３】
この場合、地図描画装置１０Ｂの描画手法決定部１１１は、地図描画装置１０Ｂに設けられたＣＰＵおよびＧＰＵの情報を取得し、当該情報に基づいて、描画手法の選択に用いる描画属性値を、３つの描画属性値の中から選択することになる。
【００９４】
このような地図描画装置１０Ｂによれば、地図描画装置１０Ｂの描画処理能力に応じた適切な描画手法を採用して、図形の描画を行うことができるので、描画に要する時間を短縮することが可能になり、描画処理の高速化を図ることができる。
【００９５】
また、上記各実施形態では、OpenGLを用いた線描画手法に、連続点描画手法と連続線描画手法とが含まれる場合を例示したが、OpenGLを用いた線描画手法以外の標準線描画手法にも、連続点描画手法と連続線描画手法とが含まれる態様であってもよい。
【００９６】
本発明はその発明の範囲内において、各実施形態の自由な組み合わせ、或いは各実施形態の任意の構成要素の変形、もしくは各実施形態において任意の構成要素の省略が可能である。
【符号の説明】
【００９７】
１  ナビゲーション装置、１０Ａ，１０Ｂ，１０Ｃ  地図描画装置、１１  描画処理部、１２  記憶部、１４  記憶装置、１５  表示部、１１１  描画手法決定部、１１２  三角形分割部、１１４  線描画部、１１７  多角形描画部、１１８  表示制御部、１４０  オブジェクトデータ、１４１  描画データ、１４２  描画属性値
【図１】
2013114559.tif 000003
【図２】
2013114559.tif 000004
【図３】
2013114559.tif 000005
【図４】
2013114559.tif 000006
【図５】
2013114559.tif 000007
【図６】
2013114559.tif 000008
【図７】
2013114559.tif 000009
【図８】
2013114559.tif 000010
【図９】
2013114559.tif 000011
【図１０】
2013114559.tif 000012
【手続補正書】
【提出日】平成26年1月24日(2014.1.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を含むオブジェクトデータを取得する取得手段と、
前記図形を描画するための複数の描画手法を有する描画手段と、
描画対象となる描画対象オブジェクトの前記描画属性情報に基づいて、前記複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する選択手段と、
を備え、
前記描画手段は、前記選択手段によって選択された描画手法を用いて、前記描画対象図形を描画し、
前記描画手法は、１つの前記図形に対して複数存在する地図描画装置。
【請求項２】
前記描画手段は、前記複数の描画手法として、
前記描画対象図形としての多角形の図形を描画する際に用いる多角形描画手法、
および前記多角形描画手法に比べて少ない演算量で前記描画対象図形を描画可能な標準描画手法を有する請求項１に記載の地図描画装置。
【請求項３】
前記描画手段は、前記複数の描画手法として、
前記描画対象図形としての線状の図形を描画する際に用いる線描画手法を有し、
前記線描画手法には、複数の点を並べて前記線状の図形を描く連続点描画手法と、有限直線を用いて前記線状の図形を描く連続線描画手法とが含まれる請求項１に記載の地図描画装置。
【請求項４】
前記多角形描画手法には、
前記描画データに含まれる前記描画対象図形の頂点データに基づいて、前記描画対象図形を複数の三角形に分割して描画対象領域を特定することによって、前記描画対象図形を描画する三角形分割描画手法と、
前記頂点データに基づいて、前記描画対象図形における或る頂点から他の各頂点に対して線分を引いて三角形を形成し、形成された各三角形の重なり回数に応じて描画対象領域を特定することによって、前記描画対象図形を描画するステンシル描画手法と、
が含まれる請求項２に記載の地図描画装置。
【請求項５】
前記描画属性値には、前記多角形描画手法および前記標準描画手法を特定するための値が存在する請求項２に記載の地図描画装置。
【請求項６】
前記描画属性値には、前記三角形分割描画手法、および前記ステンシル描画手法を特定するための２つの値が存在する請求項４に記載の地図描画装置。
【請求項７】
前記オブジェクトデータは、前記描画属性値として、第１のハードウェアにおいて描画を行うときの描画手法を示す第１描画属性値と、第２のハードウェアにおいて描画を行うときの描画手法を示す第２描画属性値とを前記図形ごとに含み、
前記取得手段は、前記第１描画属性値と前記第２描画属性値とを取得し、
前記選択手段は、前記図形の描画を行うハードウェアが前記第１のハードウェアであるか、或いは前記第２のハードウェアであるかを判定し、判定結果に基づいて、描画手法の選択に用いる描画属性値を、前記第１描画属性値および前記第２描画属性値のうちから選ぶ請求項１に記載の地図描画装置。
【請求項８】
前記オブジェクトデータは、描画処理を行うＣＰＵおよびＧＰＵの組合せに適応する描画手法を規定した描画属性値を、前記組合せの数に応じて前記図形ごとに複数有し、
前記取得手段は、前記組合せの数に応じた各描画属性値を取得し、
前記選択手段は、前記図形の描画処理に使用するＣＰＵおよびＧＰＵの情報を取得し、当該情報に基づいて、描画手法の選択に用いる描画属性値を、前記各描画属性値の中から選ぶ請求項１に記載の地図描画装置。
【請求項９】
前記描画属性値には、前記三角形分割描画手法を採用することを示す特定描画属性値が複数存在し、
前記描画対象図形が複雑になるにつれて描画対象図形の描画属性値には、複数の前記特定描画属性値のうち、大きい値の特定描画属性値が割り当てられ、
前記選択手段は、描画を行うハードウェアの性能を数値化したハードウェア性能値を取得し、当該ハードウェア性能値が描画対象図形の特定描画属性値以上のとき、前記三角形分割描画手法を前記描画対象図形を描画する際の描画手法として選択し、ハードウェア性能値が描画対象図形の特定描画属性値より小さいとき、前記ステンシル描画手法を前記描画対象図形を描画する際の描画手法として選択する請求項１に記載の地図描画装置。
【請求項１０】
地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を取得する取得手段と、
前記図形を描画するための複数の描画手法を有する描画手段と、
描画対象となる描画対象オブジェクトの前記描画属性情報に基づいて、前記複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する選択手段と、
前記選択手段によって選択された描画手法を用いて描画された図形を含む地図画像を表示部に出力する表示制御手段と、
を備え、
前記描画手法は、１つの前記図形に対して複数存在するナビゲーション装置。
【請求項１１】
ａ）地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を取得する工程と、
ｂ）描画対象となる描画対象オブジェクトの描画属性値に基づいて、複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する工程と、
ｃ）前記ｂ）工程において選択された描画手法を用いて、前記描画対象図形を描画する工程と、
を備え、
前記描画手法は、１つの前記図形に対して複数存在する地図描画方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明に係る地図描画装置は、地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を含むオブジェクトデータを取得する取得手段と、前記図形を描画するための複数の描画手法を有する描画手段と、描画対象となる描画対象オブジェクトの前記描画属性情報に基づいて、前記複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する選択手段とを備え、前記描画手段は、前記選択手段によって選択された描画手法を用いて、前記描画対象図形を描画し、前記描画手法は、１つの前記図形に対して複数存在する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
また、本発明に係るナビゲーション装置は、地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を取得する取得手段と、前記図形を描画するための複数の描画手法を有する描画手段と、描画対象となる描画対象オブジェクトの前記描画属性情報に基づいて、前記複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する選択手段と、前記選択手段によって選択された描画手法を用いて描画された図形を含む地図画像を表示部に出力する表示制御手段とを備え、前記描画手法は、１つの前記図形に対して複数存在する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
また、本発明に係る地図描画方法は、ａ）地図画像上のオブジェクトを表す図形を描画する際に用いる描画データ、および前記図形の描画手法を規定した描画属性値を取得する工程と、ｂ）描画対象となる描画対象オブジェクトの描画属性値に基づいて、複数の描画手法の中から、当該描画対象オブジェクトを表す描画対象図形を描画する際の描画手法を選択する工程と、ｃ）前記ｂ）工程において選択された描画手法を用いて、前記描画対象図形を描画する工程とを備え、前記描画手法は、１つの前記図形に対して複数存在する。
【国際調査報告】
2013114559.tif 000013
2013114559.tif 000014
2013114559.tif 000015