JP4447865B2 - 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法 - Google Patents

地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法 Download PDF

Info

Publication number
JP4447865B2
JP4447865B2 JP2003285206A JP2003285206A JP4447865B2 JP 4447865 B2 JP4447865 B2 JP 4447865B2 JP 2003285206 A JP2003285206 A JP 2003285206A JP 2003285206 A JP2003285206 A JP 2003285206A JP 4447865 B2 JP4447865 B2 JP 4447865B2
Authority
JP
Japan
Prior art keywords
map
data
dimensional map
display
scene graph
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
JP2003285206A
Other languages
English (en)
Other versions
JP2005056075A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2003285206A priority Critical patent/JP4447865B2/ja
Priority to EP04017876A priority patent/EP1503347A3/en
Priority to US10/901,549 priority patent/US8115764B2/en
Priority to KR1020040060252A priority patent/KR101157581B1/ko
Priority to CNB2004101038445A priority patent/CN1297945C/zh
Publication of JP2005056075A publication Critical patent/JP2005056075A/ja
Application granted granted Critical
Publication of JP4447865B2 publication Critical patent/JP4447865B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3635Guidance using 3D or perspective road maps
    • G01C21/3638Guidance using 3D or perspective road maps including 3D objects and buildings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Navigation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Description

本発明は、カーナビゲーションシステム並びに歩行者に目的地までの道のりを示す歩行者ナビゲーションシステムなどといった、ナビゲーションシステム一般の地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法に関し、特に3次元地図表示機能を有する地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法に関する。
近年、カーナビゲーションシステム(以下カーナビと略す)に、地図を3次元で表示する技術が発達し、カーナビの画面上に3次元地図を表示することが可能になってきた。これによりカーナビで、現在位置と、周囲の建物や立体交差点などといった立体構造物の位置関係を、ユーザが3次元的に把握することが可能となってきた。
また、PDA(個人用携帯端末)や携帯電話に、現在位置を把握するためのGPS(Global Positioning System)が搭載されたり、オプションで搭載できるようになっている。これにより、それらの端末を持つユーザを、現在位置をもとにして目的地まで誘導する歩行者ナビゲーションが実用化されるようになってきた。
さらに、それらの携帯端末装置が画面上に3次元グラフィックスをリアルタイムに高速に描画できる、ハードウェアによる3次元グラフィック描画エンジンが近年実用化され、携帯端末装置でも高速なグラフィック描画が可能となってきた。
また、カーナビにも、ハードディスクが搭載され、さらにPDAのような携帯端末装置にも、Memory Stick(Memory Stickはソニー株式会社の登録商標である)などのような大容量の外部記憶装置が装着できるようになり、この中に、3次元地図データのような大容量のデータを格納し、高速でそのデータにアクセスができるようになっている。
3次元グラフィックの表示技術のうち、複雑な構造を持つ対象を描く際の技術として用いられているものに、シーングラフがある。
図33は、シーングラフで構築されるオブジェクトの例であり、(A)は構築されるオブジェクトとして立体のロボットを示した図であり、(B)はオブジェクトを構成するパーツの一覧である。
また、図34は図33のオブジェクトの構造を示すシーングラフの例である。
また、図35はシーングラフにより表現されたオブジェクトのパーツの配置の様子を示す図である。
例えば、図33(A)のロボット140のようなものを表現する場合、図33(B)のように、頭または胴体となるパーツ141、手となるパーツ142、足となるパーツ143を予め定義し、部品IDを図のように"1"、"2"、"3"などと割り付けて管理する。その組み合わせを、図34のような、シーングラフで定義されているように、ルートから始まり、各パーツのスケールの変換・回転・トランスレートの順で、各パーツに変換をかけて、互いのパーツ同士の位置関係を記述する。
これにより、図35のように、例えば、ロボットの頭部141a、胴体141b、左腕142a、右腕142b、左脚143a、右脚143bが表現され描画される。
一般に、このようなシーングラフを記述するフォーマット、並びにそれを取り扱うAPI(Application Program Interface)は複数存在し、代表的なフォーマットとしては、VRML(Virtual Reality Modeling Language)、SoftImage社のXSIファイルが、そして、シーングラフを取り扱うことが可能なAPIとしては、Java3D(登録商標)、OpenInventor(商標)などが知られている。
このように3次元構造物を定義したシーングラフで、k−dツリー(k dimensional tree)(具体的には6−dツリー)を用いて検索を容易にするためにデータ保持の仕方を工夫するものもあった(例えば、特許文献1参照)。
一方、3次元オブジェクトの概観をできる限り損なうことなく高速な描画を実現する方法として、LOD(Level Of Detail:詳細度レベル)がある。
図36、37、38はLODの例を説明する図である。
LODでは、例えば、予め描画する1つのオブジェクトの構成要素を図36のように、詳細度のレベル別に、レベル1のオブジェクト150、レベル2のオブジェクト151、レベル3のオブジェクト152のように複数用意しておく。そして、描画する際には、図37のように、視点(カメラ155の位置)からの距離に応じて、複数の詳細度のオブジェクトの中から最も適したものを選択して描画する。
例えば、最も近い距離にある場合、レベル1のオブジェクト150を描画し、それより遠い距離にある場合は、レベル2のオブジェクト151、さらに遠い距離にある場合は、レベル3のオブジェクト152を描画する。これにより、図38のように、通常ならばどこにあっても全てのデータを描画しなくてはならないが、LODを導入することにより、カメラから遠くにあるときは省略されたデータ、近くにあるときは詳細なデータを描画することが可能になり、見た目を損なうことなくグラフィック描画エンジンの負担を軽減することができるため、描画スピードを向上させることができるという効果が得られる。
また、特許文献2には、通信を用いて3次元データリアルタイムで送信・レンダリングするに際し、こま落ちなどを防ぐための方法として、LODにより詳細度のレベル分けをして、詳細な部分の描画を後回しにすることにより、フレームレートのこま落ちを回避することが開示されている。
LODには様々な方法が存在するが、その中でよく用いられ、かつ3次元地図のような構造を持つオブジェクトデータに相応しい技法として、4分木がある。
この方法は、3次元地図のようなある特定の平面で広域に広がる3次元データを、オブジェクトの詳細度によって、複数の階層のノードに分けて記録し、階層ごとにノードを4分割しておくというものである。
図39、40、41は4分木を説明する図である。
図39では、オリジナルなデータ160を、3階層のノード、すなわちレベル1:大きなオブジェクトを有するノード161、レベル2:中くらいのオブジェクトを有するノード162、レベル3:小さなオブジェクトを有するノード163に分けて、階層ごとに4分割していく。これにより、描画時には描画の単位をこのノードごととし、視点に近い位置では詳細度の高い階層までを描画し、視点から遠い位置は詳細度の低い階層までしか描画しないという方法を用いることにより、LODが実現できる。
例えば、図40のように、カメラ170からの距離が閾値171(FAR PLANE)を超えるような場合は描画せず、閾値171から閾値172の間の場合は、詳細度の最も低い階層を描画し、閾値172から閾値173はその下の階層まで、閾値173から閾値174までの場合は、さらにその下の階層まで、閾値174から閾値175(NEAR PLANE)の場合は全ての階層までを描画する。また、閾値175以下の場合は、描画しないようにする。
4分木によるLODのツリーの実現方法は図41のようになる。まず、地表面のような、広範囲な2次元平面状に構成されているデータの空間全体を覆うような正方形180の存在を仮定する。そして、その正方形を4つに等分するような分割面180a、180b、180c、180dを考えたとき、この分割面180a、180b、180c、180dと交わるような構成要素181、182は、広範囲にわたる巨大な構成要素であると考えられるので、上位のノードとしてノード190に格納し、その下位に、4つの、各分割領域に相当するノード191a、191b、191c、191dを子ノードとして付属させ、それぞれの構成要素をその位置に相応しい場所に帰属させる。
必要に応じて数回この処理を繰り返すことにより、地図は詳細度により階層化される。
具体的にこの方法を3次元地図に適用すると、山や海、さらには道路などと言った広範囲にわたるものは上位の階層のノードに記述でき、さらにその下にビルなどの巨大建造物が格納されるノード、さらにその下に住宅や信号・道路標識などが格納されるノードなどのように、自動的に地図がほぼ階層化される(階層を規定するための境界面と交わったものは例外)、この方法により効果的に3次元地図をLODにより描画できる。
特開平10−293862号公報(第14図) 特開2002−279449号公報(段落番号〔0072〕〜〔0077〕)
しかし、近年一般的になってきた3次元カーナビゲーションシステムを始めとする、各種3次元ナビゲーションシステム上では、リアルタイムで、高速かつ高精細な3次元地図の描画をする必要がある。従来のシーングラフを用いて3次元地図を表現した場合、処理すべきデータ量が膨大なものになってしまい、高速処理を行うことが困難であるという問題があった。
また、従来の4分木を用いた分類では、ランドマークとなるような高層建築は、細かい部分のノードに分類される可能性が高い。これにより、遠くにある高層建築は、例え視界に入る位置にあっても省略される可能性が高くなるという問題があった。これを回避するためには描画時に、もしそのノードが高層建築を含めば省略せずに描画する、という処理が必要となるが、毎回その判断を行っていると、描画が遅くなったり、データ省略を行う意味がなくなってしまったりするという問題があった。
また、高速に描画できるのみではなく、ユーザが表示された地図上のビルなどのランドマークを指定したときに、そのランドマークの適切なPOI(Point Of Interest)情報を表示することができる必要がある。
本発明はこのような点に鑑みてなされたものであり、3次元地図を高速に描画可能な地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法を提供することを目的とする。
本発明では上記課題を解決するために、3次元地図表示機能を有する地図表示システムにおいて、3次元地図データを、3次元地図を緯度及び経度で指定された複数の領域に分割して、分割した各々の領域を複数の領域に順次再分割することにより階層とし、前記複数の領域のデータ構造を前記3次元地図の詳細度に応じた複数の階層の個々の領域を示すノードによるツリー構造で表現したシーングラフデータと、前記3次元地図に含まれるオブジェクトを描画するための描画データとに分割して加工する地図データ加工部と、前記シーングラフデータを探索して、前記3次元地図中における視線が前記3次元地図の地表面に対して略平行方向と仮定して求めた視点からの距離及び階層ごとに設定された評価値に応じて、前記ノードが示す領域の3次元地図を表示するか否かを決定し、前記3次元地図を表示する場合には、前記ノードが示す領域の3次元地図に含まれる前記オブジェクトを描画するための前記描画データを読み込み表示処理を行う地図データ表示部と、を有することを特徴とする地図表示システムが提供される。
上記の構成によれば、地図データ加工部は、3次元地図データを、3次元地図を緯度及び経度で指定された複数の領域に分割して、分割した各々の領域を複数の領域に順次再分割することにより階層とし、その複数の領域のデータ構造を3次元地図の詳細度に応じた複数の階層の個々の領域を示すノードによるツリー構造で表現したシーングラフデータと、3次元地図に含まれるオブジェクトを描画するための描画データとに分割して加工し、地図データ表示部は、シーングラフデータを探索して、3次元地図中における視線が3次元地図の地表面に対して略平行方向と仮定して求めた視点からの距離及び階層ごとに設定された評価値に応じて、ノードが示す領域の3次元地図を表示するか否かを決定し、3次元地図を表示する場合には、そのノードが示す領域の3次元地図に含まれるオブジェクトを描画するための描画データを読み込み表示処理を行う。
また、3次元地図データを加工する地図データ加工装置において、前記3次元地図データを格納する記憶部と、前記3次元地図データを、3次元地図を緯度及び経度で指定された複数の領域に分割して前記領域のデータ構造をツリー構造で表現したシーングラフデータと、前記3次元地図に含まれるオブジェクトを描画するための描画データとに分割して加工する地図データ加工部と、を有し、前記ツリー構造は、描画の際に前記3次元地図中における視線が前記3次元地図の地表面に対して略平行方向としたときの視点からの距離をもとに選択される前記3次元地図の詳細度に応じた複数の階層のノードを有するとともに、当該階層ごとに前記ノードを4分割した構造であり、前記地図データ加工部は、前記オブジェクトが4分割された前記ノードの分割エリア内に収まっていて且つ所定の高さ以上であれば、当該分割エリアの前記ノードよりも前記詳細度が低い前記階層の前記ノードにおいても表示するように前記シーングラフデータを加工することを特徴とする地図データ加工装置が提供される。
上記の構成によれば、地図データ加工部は、記憶部に格納された3次元地図データを、3次元地図を緯度及び経度で指定された複数の領域に分割してその領域のデータ構造をツリー構造で表現したシーングラフデータと、3次元地図に含まれるオブジェクトを描画するための描画データとに分割して加工する。ここでツリー構造は、描画の際に3次元地図中における視線が3次元地図の地表面に対して略平行方向としたときの視点からの距離をもとに選択される3次元地図の詳細度に応じた複数の階層のノードを有するとともに、階層ごとにノードを4分割した構造であり、地図データ加工部は、オブジェクトが4分割されたノードの分割エリア内に収まっていて且つ所定の高さ以上であれば、その分割エリアのノードよりも詳細度が低い階層のノードにおいても表示するようにシーングラフデータを加工する。
また、3次元地図表示機能を有する地図表示装置において、3次元地図を緯度及び経度で指定された複数の領域に分割して、分割した各々の領域を複数の領域に順次再分割することにより階層とし、前記複数の領域のデータ構造を前記3次元地図の詳細度に応じた複数の階層の個々の領域を示すノードによるツリー構造で表現したシーングラフデータを格納するシーングラフデータ記憶部と、前記3次元地図に含まれるオブジェクトを描画するための描画データを格納する描画データ記憶部と、前記シーングラフデータを探索して、前記3次元地図中における視線が前記3次元地図の地表面に対して略平行方向と仮定して求めた視点からの距離及び階層ごとに設定された評価値に応じて、前記ノードが示す領域の3次元地図を表示するか否かを決定する表示領域特定部と、前記3次元地図を表示する場合には、前記ノードが示す領域の3次元地図に含まれる前記オブジェクトを描画するための前記描画データを読み込むデータ読み込み部と、読み込んだ前記描画データをもとに表示処理を行う表示処理部と、を有することを特徴とする地図表示装置が提供される。
上記の構成によれば、表示領域特定部は、シーングラフデータ記憶部に格納されたシーングラフデータを探索して、3次元地図中における視線が3次元地図の地表面に対して略平行方向と仮定して求めた視点からの距離及び階層ごとに設定された評価値に応じて、ノードが示す領域の3次元地図を表示するか否かを決定し、データ読み込み部は、3次元地図を表示する場合には、そのノードが示す領域の3次元地図に含まれるオブジェクトを描画するための描画データを読み込み、表示処理部は、読み込んだ描画データをもとに表示処理を行う。
また、3次元地図を表示する地図表示方法において、カメラ位置設定部は、前記3次元地図中における視点及び視線を設定し、表示領域特定部は、3次元地図を緯度及び経度で指定された複数の領域に分割して、分割した各々の領域を複数の領域に順次再分割することにより階層とし、前記複数の領域のデータ構造を前記3次元地図の詳細度に応じた複数の階層の個々の領域を示すノードによるツリー構造で表現したシーングラフデータを、シーングラフデータ記憶部から読み出し探索して、前記カメラ位置設定部が設定した、前記視点及び視線をもとに、前記視線が前記3次元地図の地表面に対して略平行方向と仮定して求めた前記視点からの距離及び階層ごとに設定された評価値に応じて、前記ノードが示す領域の3次元地図を表示するか否かを決定し、データ読み込み部は、前記ノードが示す領域の3次元地図を表示する場合は、前記ノードが示す領域の3次元地図に含まれるオブジェクトを描画するための描画データを描画データ記憶部から読み込み、表示処理部は、読み込んだ前記描画データをもとに表示処理を行う、ことを特徴とする地図表示方法が提供される。
上記の方法によれば、まず、カメラ位置設定部は、表示すべき3次元地図中における視点及び視線を設定し、表示領域特定部は、シーングラフデータをシーングラフデータ記憶部から読み出し探索して、カメラ位置設定部が設定した、視点及び視線をもとに、視線が3次元地図の地表面に対して略平行方向と仮定して求めた視点からの距離及び階層ごとに設定された評価値に応じて、そのノードが示す領域の3次元地図を表示するか否かを決定し、データ読み込み部は、そのノードが示す領域の3次元地図を表示する場合は、そのノードが示す領域の3次元地図に含まれるオブジェクトを描画するための描画データを描画データ記憶部から読み込み、表示処理部は、読み込んだ描画データをもとに表示処理を行う。
本発明は、オリジナルの3次元地図データを、3次元地図を緯度及び経度で指定された複数の領域に分割してその領域のデータ構造をツリー構造で表現したシーングラフデータと、3次元地図に含まれるオブジェクトを描画するための描画データに分け、そのシーングラフデータを参照して表示領域を特定し、その領域の描画データを読み込み表示処理を行うようにしたので、3次元地図を高速に描画することができる。
また、地図の詳細度に応じた複数の階層のノードでツリー構造を表現し、オブジェクトが所定の高さ以上であれば、詳細度が低い階層のノードにおいてもそのオブジェクトを表示するようにしたので、ランドマークとなるようなオブジェクトが省略されてしまうことを防止することができる。
また、画面上に表示処理された3次元地図においてユーザによる入力によって指定されたオブジェクトをシーングラフより探索して、探索したオブジェクトのPOI情報を読み込み、適切なPOI情報を画面上に表示することができる。
以下本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態の地図表示システムの機能を表す機能ブロック図である。
本発明の実施の形態の地図表示システム10は、地図会社などから提供されるオリジナルの地図データや、地図内の特定のPOIの情報を記録した、地図会社や各種の情報会社から提供されるオリジナルのPOI情報を加工する地図データ加工部10aと、加工した情報をもとに表示処理を行う地図データ表示部10bとからなる。
地図データ加工部10aは、オリジナルの3次元地図データを格納しているオリジナル3次元地図DB(データベース)11と、オリジナルの3次元地図を3次元地図のデータ構造をツリー構造で表現したシーングラフデータ(以下単にシーングラフと呼ぶ)と、3次元地図に含まれるオブジェクトを描画するための描画データとに分割して加工する地図加工部12と、オリジナルのPOI情報を格納するオリジナルPOI情報DB(データベース)21と、オリジナルのPOI情報を加工するPOI情報加工部22とからなる。
また、地図データ表示部10bは、地図加工部12で分割されたシーングラフを格納するシーングラフDB13と、3次元地図の描画に必要な描画データを格納する3次元地図DB14と、現在位置を特定する現在位置特定部15と、シーングラフを管理するシーングラフ管理部16と、3次元地図中における視点及び視線を設定するカメラ位置設定部17と、カメラ位置設定部17から、描画する3次元空間の視点・視線データをもとにシーングラフを参照して表示領域を特定する表示領域特定部18と、特定した表示領域に応じた描画データを3次元地図DB14から読み込むデータ読み込み部19と、読み込んだ描画データをもとに表示処理を行う表示処理部20と、POI情報加工部22にて加工されたPOI情報を格納するPOI情報DB23とからなる。
図2は、地図加工部で分割されたデータ構造の例である。
シーングラフDB13に格納されるシーングラフには、オリジナル3次元地図DB11にある広域の地図全体のデータ構造がツリー構造で記述されている。一般に、シーングラフは、様々なツリー構造を扱えるものを意味するが、ここで用いるシーングラフは地図の機能に特化することにより、データ構造をシンプルにすることによって処理スピードを向上させることができる。
ここでのツリー構造は、3次元地図の詳細度に応じた複数の階層のノードを有しており、最上位の階層のノードが、最も詳細度が低くてよい場合に表示するノード、階層が下がるに従い詳細度を高くする場合に表示するノードが配置される。
また、図2のように、本発明の実施の形態においてシーングラフの構造は4分木構造に特化するものとする。すなわち、ある広い領域の3次元地図を、階層ごとに4分割した構造で記述する。
なお、このようなツリー構造をXML(eXtensible Markup Language)で記述することにより、編集や閲覧を容易にすることができる。
一方、3次元地図に含まれる建物、地形など(以下オブジェクトと呼ぶ)を描画するための描画データは、一般に用いられているマテリアル・ジオメトリなどといった構造データではなく、逐次実行型のデータ形式、特に、3次元地図の描画に必要な3次元描画APIの描画命令とほぼ1対1で対応するバイナリデータで記述する。これにより、データを描画命令に変換する時間が短縮するために、描画スピードを速くできることと、バイナリデータで記述することにより、データサイズを小さくすることが可能となる。
描画データは、シーングラフDB13に登録された、4分木によって分割された地図のエリアと関連付けられており(詳しくは後述する)、3次元地図DB14に多数記録されている。
以下、図1の地図表示システム10の動作を説明する。
まず、地図データ加工部10aにおいて、オリジナルの3次元地図データをオリジナル3次元地図DB11から取り出し、地図加工部12にて、シーングラフと、描画データに分け、それぞれをシーングラフDB13と、3次元地図DB14に格納する。また、オリジナルのPOI情報も、オリジナルPOI情報DB21から取り出し、POI情報加工部22にて加工し、POI情報DB23に格納する。
次に、地図データ表示部10bにおいて、まず、現在位置特定部15によって、地図上の注目する現在位置を特定する。この情報をもとに、シーングラフ管理部16は、シーングラフDB13からシーングラフの構造を読み取る。
シーングラフ管理部16は、読み取ったシーングラフの構造の情報を表示領域特定部18に送る。さらに、表示領域特定部18は、カメラ位置設定部17から、描画する3次元空間の視点・視線データを得て、特定された現在位置、視点・視線データをもとに、シーングラフを参照して、表示領域を特定する。このとき、図2で示したようにシーングラフを4分木で構築した場合、カメラ位置とシーングラフの各ノードの空間上の位置を勘案して表示領域を特定する(詳細は後述する)。データ読み込み部19は、3次元地図DB14の中から、特定された表示領域に応じて描画データを読み出し、表示処理部20により、表示処理を行い画面に描画する。
また、ユーザが画面に表示されている特定のビルなどのようなPOIの情報提示を要求した場合、POI情報DB23から、ユーザが指定したオブジェクトに対応した適切なPOI情報がデータ読み込み部19に送られ、地図と共に表示される。
次に、本発明の実施の形態をより具体的に且つ詳細に説明する。
ここでは、以下のようなナビゲーションシステムを仮定して、本発明の実施の形態の地図表示装置を説明する。
図3は、本発明の実施の形態のナビゲーションシステムの概略の構成図である。
このようなナビゲーションシステムは、カーナビ30とGPS31、歩行者ナビゲーションが搭載されているPDAや携帯電話などの携帯端末40とGPS41などの組み合わせからなり、CRT(Cathode Ray Tube)や液晶ディスプレイなどの表示デバイス上の画面50に、図3のような立体地図を表示する。
このシステムの使われ方としては、GPS31、41の位置をもとに、現在地を中心とした町並みを表示したり、ユーザを指定した出発点から目的地まで、ナビゲートするため、コース移動シミュレーションのアニメーションをしたりするといった使い方が想定される。
次に、このシステムを実現する、一般的なナビゲーションシステムのハードウェア構成例を説明する。
図4は、本発明の実施の形態のナビゲーションシステムのハードウェア構成例である。
ナビゲーションシステムは、GPS60と、3Dグラフィック描画エンジン61a、RAM(Random Access Memory)61b、ROM(Read Only Memory)61c、CPU(Central Processing Unit)61d、外部デバイスとのインターフェース61eとからなる情報処理装置61、表示デバイス62、外部記憶装置63、外部入力装置64と、から構成される。
GPS60は、現在位置を把握するために用いられる。
3Dグラフィック描画エンジン61aは、CPU61dからの命令をもとに3次元グラフィックスを始めとする、各種のグラフィック・テキストなどを表示デバイス62に表示することが可能なハードウェアである。
RAM61bは、CPU61dが実行途中のプログラムや、演算途中のデータを一時的に格納する。
ROM61cは、CPU61dが実行する基本的なプログラムやデータを格納する。
なお、RAM61bまたはROM61cには3Dグラフィック描画エンジン61aに描画命令を送り、3次元グラフィックの描画を実現するために必要な、OPEN−GL(登録商標)などの3次元グラフィックAPIが内蔵されている。
CPU61dは、RAM61b、またはROM61cに格納されているプログラムに応じて、情報処理装置61の各部の動作を制御する。
インターフェース61eは、GPS60や、外部記憶装置63、外部入力装置64と、CPU61dとの情報の入出力を司る。
表示デバイス62は、例えば、CRTや液晶ディスプレイなどであり、3Dグラフィック描画エンジン61aで処理された映像信号を画面に表示する。
外部記憶装置63は、例えば、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disk)、HDD(Hard Disk Drive)、Memory Stickなどであり、地図など、様々な情報を格納する。
外部入力装置64は、カーナビのリモートコントローラや、PDAの画面のタッチパネル、各種ボタンなどであり、ユーザがナビゲーションシステムを操作するために必要な情報をCPU61dに送信する。
このようなナビゲーションシステムの概略の動作を説明する。
RAM61bまたはROM61cに記録されているナビゲーションプログラムをCPU61dが実行すると、外部デバイスとのインターフェース61eを介して、GPS60もしくは外部入力装置64から得た情報をもとに、外部記憶装置63から該当する地区の地図情報を読み込み、一旦RAM61bに書き込む。CPU61dが地図描画プログラムを実行すると、この情報をもとに地図の描画命令が3次元グラフィックAPIに発行され、それにより3Dグラフィック描画エンジン61aに描画信号が送られ、地図が表示デバイス62に表示される。
図4で示すナビゲーションシステムにおいて、外部記憶装置63に記録された地図情報が、図1で示すシーングラフDB13、3次元地図DB14、POI情報DB23に相当する。さらに、図1の現在位置特定部15、シーングラフ管理部16、カメラ位置設定部17、表示領域特定部18、データ読み込み部19、表示処理部20は、図4のRAM61b並びにROM61cに、CPU61dが実行する命令群として記録されている。
なお、図1に示した地図データ加工部10aは、図示を省略したが、例えばPC(パーソナルコンピュータ)であり、オリジナル3次元地図DB11及びオリジナルPOI情報DB21を記録する記憶装置を有する。さらに、例えばCPUを有し、CPUの制御のもと、オリジナルの3次元地図データをシーングラフと描画データに分割し加工する。
次に、地図データ加工部10aにより分割され加工されるシーングラフの詳細及び3次元地図の描画データの詳細を説明する。
図5は、シーングラフの構造を示す図である。
ここでは、シーングラフを4分木に特化させたものとしている。
シーングラフは、全体の地図(Map)70を複数のエリア(Area)71に分けている。そして各エリアは、緯度経度の形でエリアの示す領域が記述されている。図5の例では、NorthWest72aで示される北西端の緯度経度と、SouthEast72bで示される南東端の緯度経度とによって指定された領域としてエリアが記述される。そして、その領域を示す地図の構造が、4分木構造のノード(Node)73のツリーによって記述されている。1つのノードは、4つの子ノード76を持つ、という構造が、設定されている4分木の階層の深さまで繰り返されている。以下、そのノードツリーの階層を、レベルという言葉で表現するものとする。ルートのノード73のレベルを1、その4つの子ノード76は、一様にレベル2、さらにその子ノードはレベル3、…といったように定義する。
これらのノードを構成する成分は、ノード以外に、そのノードを構成する3次元地図データのファイル名(File3D)74と、その地図内に存在する建物や道路など、地図を構成する複数のオブジェクト(Object)75からなる。
図6は、オブジェクトのデータ構造の例である。
図のように、オブジェクト名(Name)77、オブジェクトのPOIとしてのID(POIID)78、オブジェクトを指し示すタグ(Tag)79と、そのオブジェクトのバウンディングボックス情報(BoundingBox)80からなる。
図7は、オブジェクトのPOIIDを説明する説明図である。
オブジェクト75のPOIID78は、POI情報DB23内でのPOI情報23aのIDを指す。例えば、このオブジェクト75が東京タワーを指すものであれば、このPOIID78は、POI情報DB23内の東京タワーに関するPOI情報23aのIDを指す。
図8は、オブジェクトのタグを説明する図である。
オブジェクト75を指し示すタグ79とは、この領域の3次元地図の描画データの中で、そのオブジェクト75のデータが記載されている領域に記録されているタグのIDを指すものである。例えば、図5で示したArea71の3次元地図の描画データが、図8のように3次元地図DB14に格納されたFile3D74で指定された3次元地図の描画データ14aであるとすると、描画データ14a内でオブジェクト75のデータに相当する描画領域14a−1にあらかじめタグが記述されており、そのタグのIDをシーングラフのタグ79で指定する。
図9は、オブジェクトのバウンディングボックス情報を説明する図である。
バウンディングボックス情報80は、図のように、そのオブジェクト75a、75bが存在する領域を包み込む立方体の座標群81a、81bのことである。この座標群81a、81bは、オブジェクト75a、75b同士の空間内の位置関係の把握をするためのデータである。
以上の内容を踏まえ、シーングラフをXML形式で記述すると以下のようになる。
図10は、シーングラフで記述する対象の地図である。
また、図11は、シーングラフのXML記述の例である。
図10では、全東京圏の地図82を示しているが、地図82は複数の領域83に分割されている。これは、図5のMap70が複数のArea71に分かれていることに相当する。ここで、例として大田区北西部となる領域83をXML記述したものが図11となる。
以下、図11を図5のシーングラフを対応付けて説明する。
まず、Area71として、"大田区北西部"と記述し、その後、NorthWest72a、SouthEast72bの緯度経度を指定する。さらに、その3次元地図の描画データが記述されているファイル名74として"otaku_NW_root"を記述する。その次に、複数のオブジェクト75を指定する。
オブジェクトのデータ構造は、図6で示したように記述する。図11の例では、オブジェクト名77として、"JR大森駅"、"大森警察署"などがあり、以下それぞれに対して、POIID78、タグ79、バウンディングボックス情報80を記述する。例えば、オブジェクト名77"JR大森駅"のオブジェクト75の場合は、<Object Name="JR大森駅"POIID="JR_OmoriStation"Tag="1"Bbox="12,100,5,30,5,40,…"/>などと記述する。このように、記述した場合、"JR大森駅"の描画データは、"otaku_NW_root"内のタグ1が振られた領域に記録されていることになる。
上記のようなArea71は、図5の4つの子ノード76に対応して、さらに細かく4つの領域に分割される。そして、それぞれに対して前述したようなファイル名、オブジェクトが記述する。図11の例では、ファイル名は、"otaku_NW_01"、"otaku_NW_02"、"otaku_NW_03"、"otaku_NW_04"と記述して、それぞれの子ノード76の領域の3次元の描画データの所在を管理している。
以上でシーングラフの説明を終え、次に、3次元地図の描画データの詳細を説明する。
図12は、3次元地図の描画データの構成を示す図である。
描画データは、地図データ加工部10aにおいて、例えば、CPUの制御のもと、バイナリ形式で記述される。その内容は大きく分けて、地図情報セグメント84、ローディング情報セグメント85、ランタイム情報セグメント86の3つのセグメントからなる。
以下それぞれのセグメントの内容について説明する。
図13は、地図情報セグメントの内容を説明する図である。
地図情報セグメント84には、図のように、3次元グラフィックスが描画される右手座標系による3次元空間と、緯度経度で表現された地図が表現する実空間のスケール変換情報が入っている。具体的には、X軸、Y軸、Z軸で構成される一般的な3次元の右手座標系で表した場合、地表面は、XZ平面87上で表現されている。地図情報セグメント84には、この空間に展開される地図領域の3次元地図の描画データの左上端点88、右下端点89の座標と、それに相当する実際のエリア90の北西端の座標91、南東端の座標92の緯度経度が入っており、描画時にはこの情報をもとにスケール変換を行う。
図14は、ローディング情報セグメントの内容を説明する図である。
ローディング情報セグメント85には、オブジェクトの描画に実際に必要となる、オブジェクトの質感を表すマテリアル、テクスチャ、カラーといった情報のリストによって構成されている。ここには各々複数のマテリアル、テクスチャ、カラーが定義されており、定義された順に、定義された数まで番号付けがなされている。
マテリアルとは、材質の質感を表す環境、拡散、鏡面、放射の各カラーが、RGBもしくはRGBAの形式で指定されており、さらに光の反射を表す鏡面係数によって形成されており、マテリアルのリストの中にこれを複数定義することができる。
テクスチャのリストは、ビルの壁面のように、3次元のオブジェクトに貼り付けるための画像のリストである。実際のテクスチャは、JPEG(Joint Photographic Coding Experts Group)形式やGIF(Graphics Interchange Format)形式などといった既存、またはオリジナルの画像フォーマットで記録された画像データとして、図1で示した3次元地図DB14に記録されており、テクスチャのリストではその画像のファイル名の一覧が記述されている。
カラーのリストには、オブジェクトのカラーの一覧が、RGB、もしくはRGBA形式で記録されている。
図15は、ランタイム情報セグメントの内容を説明する図である。
図12のランタイム情報セグメント86には、実際に3次元地図を描画する描画命令と、描画命令のある範囲にIDをつけるためのタグ命令が存在する。タグ命令は、地図中の特定のビルや道路などといった地図中に埋め込まれているオブジェクトの描画範囲を指定するために指定されるものであり、タグのIDと範囲を指定する命令であり、セグメント内に複数埋め込むことができる。このタグのIDが、前述のシーングラフの中でID指定されたオブジェクトのタグに相当する。
描画命令は大きく分けて、1.描画開始命令、2.マトリックス・トランスフォーム命令群、3.行列のプッシュ・ポップ命令、4.マテリアル指定命令、5.テクスチャ指定命令、6.カラー指定命令、7.法線指定命令、8.テクスチャ頂点指定命令、9.頂点描画命令、10.描画終了宣言命令からなる。これらの命令は、OPEN−GLなどのような一般的な3次元グラフィックライブラリの基本的な描画命令と一致している。
以下、上記の描画命令についてそれぞれ説明する。
描画開始命令は、3次元グラフィックの描画の開始の宣言と、使用するプリミティブのタイプを宣言する。
図16は、プリミティブの例を示す図である。
プリミティブとは、図16のように、描画するポリゴンのタイプを指し、それぞれ頂点v0、v1、v2、…で指定されたポイント、ライン、ラインストリップ、ラインループ、トライアングル、トライアングルストリップ、トライアングルファン、クアド、クアドストリップ、ポリゴン(N角形)などがある。
描画開始命令は、OPEN−GLのglBegin()命令に相当する。また、描画終了宣言命令は、同じくOPEN−GLのglEnd()に相当する。この2つの命令に挟まれた、頂点描画命令により、3次元空間上にポリゴンが描画されている。
図17は、マトリックス・トランスフォーム命令群を説明する図である。
マトリックス・トランスフォーム命令群は、図17のように、空間上に描くオブジェクトの原点への移動、平行移動、回転、スケールの変換などといった3次元空間上の行列処理を行う命令群である。これらの命令を実行すると、その指定したパラメータの通りにオブジェクトを描く位置や、軸に対する回転角、倍率などのカレントのパラメータが設定される。また、これらを組み合わせて使うこともできる。
OPEN−GLならば、これらはglLoadIdentity()、glTranslate()、glRotate()、glScale()命令に相当する。
行列のプッシュ・ポップ命令は、カレントのマトリックス・トランスフォーム命令のパラメータを保存または復帰させることができる命令で、OPEN−GLならばglPushMatrix()、glPopMatrix()がこれに相当する。これらを組み合わせることにより、ツリー上のシーングラフ構造を描画することが可能となる。
マテリアル指定命令、テクスチャ指定命令、カラー指定命令は、前述のローディング情報で指定したマテリアル、テクスチャ、カラーのIDを指定してオブジェクトのカレントの質感・テクスチャ・並びに・カラーとする。
法線指定命令、テクスチャ頂点指定命令、頂点描画命令は、前述した描画開始命令と、描画終了宣言命令の間で、ライティングの計算をするための法線、テクスチャ頂点の座標、指定されたプリミティブの空間上の頂点を表す。
図18は、法線指定命令を説明する図である。
法線n0、n1、n2は、描画する面93や頂点v0、v1、v2に対して指定される。
図19は、テクスチャとテクスチャ座標を説明する図である。
テクスチャ頂点は、予めローディング情報セグメント85で指定してあるテクスチャ画像94のうち、予めテクスチャ指定命令で指定されているカレントの画像から、面95に貼り付ける部分の座標t0、t1、t2、t3を指定し、その画像を貼り付けるように指定する。
カラーについても同様で、カラー指定命令で指定したカレントのカラーで指定された頂点や面を指定する。
また、頂点描画命令はカレントのプリミティブの頂点座標を指定する。
このような各描画命令を実行するバイナリ形式の描画命令は以下のようになる。
図20は、バイナリ形式の描画命令の例である。
命令の基本的な長さは、基本セグメント長により、バイト数が決められている。例えば、このセグメント長が2バイトならば、命令を構成する基本的なセグメント(命令単位セグメント)96の単位は2バイトとなる。また同時に、命令に必要な各種パラメータを表現するために、命令単位セグメント96とは別に、パラメータ単位セグメント97が定義される。これらを分ける理由は、描画命令のように種類が限られているものと異なり、空間座標などの実数を表現するためには4バイト以上のデータといった長さを必要とするのが一般的であるためである。
描画命令の種類は、図20に示すように、その性質に応じて1セグメントの命令か、複数セグメントのものに分かれる。複数セグメントの命令は、命令単位セグメント+複数のパラメータセグメントという構成になる。
例えば、描画終了宣言命令のように、パラメータを必要としない命令群は1セグメント命令となる。そしてプリミティブの種類をパラメータとする描画開始命令、ローディング情報セグメント85で設定したマテリアル・テクスチャ・カラーのインデックスをパラメータとするマテリアル指定命令、テクスチャ指定命令、カラー指定命令は2セグメント命令になる。
同様に、テクスチャ画像の座標(2次元、XY座標)という2つのパラメータとするテクスチャ頂点指定命令や、描画命令ではないが、タグのDと長さをパラメータとするタグ命令は3セグメント命令になる。そして頂点指定命令のように3次元空間座標といった3つのパラメータを必要とする命令群は4セグメント命令となる。以下、同様に命令の種類と必要性によってパラメータ数が決められる。
以上で3次元地図の描画データの説明を終える。
一方、オリジナルPOI情報も、前述の図6で示したようにオブジェクト75に関連付けられたPOIID78に応じたIDを付加するように加工が行われる。
以上のようにして、地図データ加工部10aによって加工されたシーングラフ、描画データ及びPOI情報などのデータは、図4のナビゲーションシステムに提供され、外部記憶装置63に記録される。提供の仕方としては、地図データ加工部10aで加工したこれらのデータを、CD−ROM、DVDなどに記録して提供するか、インターネットなどのネットワークを介して提供するようにしてもよい。
なお、ネットワークを介して、リアルタイムでフレーム落ちがないように、逐次テクスチャ画像をダウンロードしながらナビゲーションシステムで表示処理に使うようにしてもよいが、処理速度などの点から、あらかじめナビゲーションシステムの外部記憶装置63に記録してから用いるような前述の方法が望ましいといえる。
このように本発明の実施の形態では、図4で示したようなナビゲーションシステムで用いられるCPU61dなどの処理が遅い情報処理装置61に向けて、あらかじめ演算処理を少なくするためのデータ加工を行うので、ナビゲーションシステムの処理負担を減少できる。
次に、図4のナビゲーションシステムにおける処理の詳細を説明する。
まず、3次元地図の描画データの読み出し時における処理の流れを説明する。
シーングラフを用いた全体の処理については後述する。
図21は、3次元地図の描画データの読み出し時における処理の流れを説明するフローチャートである。
3次元地図の描画データの読み出し処理が開始すると、CPU61dの制御のもと、インターフェース61eを介して、外部記憶装置63に記録されている3次元地図DB14に記述されている描画データから、地図情報セグメント84が読み出され、地図を描画するエリアの範囲が取得され、RAM61bに記録される(ステップS1)。
次にローディング情報セグメント85の読み出し・記録処理を行う。ここでは、CPU61dの制御のもと、図14で示したようなマテリアルデータを読み出してRAM61bに記録し(ステップS2)、次にテクスチャデータから必要となるテクスチャのファイル名を読み出し、それをロードしてRAM61bに記録する(ステップS3)。続いてカラーデータを読み出し、RAM61bに記録する(ステップS4)。
最後にランタイム情報セグメント86を読み出し(ステップS5)、タグ命令が出現するか否かを判断し(ステップS6)、タグ命令が出現した場合はそのタグの位置とIDと長さをRAM61bに記録した後にステップS8の処理に移り(ステップS7)。タグ命令が出現しない場合は、読み込んだランタイム情報をRAM61bに記録し(ステップS8)、CPU61dは、ランタイム情報セグメント86の読み込みが全て終了したか否かの判断を行い(ステップS9)、全て読み終わるまでステップS6からの処理を繰り返す。全て読み終えた場合には、3次元地図の描画データの読み出し処理を終了する。
次に、通常の3次元地図の描画の処理の流れを説明する
図22、23は、通常の3次元地図の描画の処理の流れを説明するフローチャートである。
3次元地図描画処理が開始すると、CPU61dの制御のもと、RAM61bの中からランタイム情報セグメント86の先頭アドレスにアクセスしてランタイム情報を取得し(ステップS10)、先頭部分の描画命令セグメントを読み出す(ステップS11)。次にマトリックス・トランスフォーム命令並びにプッシュ・ポップ命令などといった、マトリックス関連命令が設定されているか否かを判断する(ステップS12)。マトリックス関連命令が設定されている場合は、必要ならばそのパラメータを取得し(ステップS13)、その命令を実行し(ステップS14)、次の命令セグメントの読み込みを行い(ステップS15)、ステップS16の処理に進む。これにより、これから描画するプリミティブ群のカレントの位置・スケール・回転などを予め定義する。マトリックス関連命令が設定されていない場合はそのままステップS16の処理に進む。
ステップS16の処理では、プリミティブ開始命令がなされているか否かを判断する。ここで、プリミティブ開始命令がなされている場合、その指定されたプリミティブのタイプを示すパラメータを取得し(ステップS17)、カレントのプリミティブに設定する(ステップS18)。その後、図23のステップS19の処理に移る。プリミティブ開始命令がなされていない場合、ステップS12の処理に戻る。
ステップS18の処理でカレントのプリミティブが設定されると、これ以後、描画終了命令が発行されるまで、指定される頂点群は、指定されたプリミティブ群の頂点となる。例えば、図16で示したようなプリミティブのタイプがトライアングルならば、その後指定される頂点群は、指定された順に3角形の各頂点となる。
さらに、カラー・マテリアル・テクスチャ指定命令が読み込まれたか否かをステップS19、S22、S25の処理で判断し、それぞれ読み込まれた場合、そのIDを示すパラメータを取得し(ステップS20、S23、S26)、そのローディング情報セグメント85で設定したものの中で、該当するカラー・マテリアル・テクスチャをカレントのテクスチャとして指定する(ステップS21、S24、S27)。指定が終了すると、次の命令セグメントの読み込みを行い(ステップS38)、ステップS19の処理に戻る。
ステップS19、S22、S25の処理でカラー・マテリアル・テクスチャ指定命令のいずれでもない場合は、法線指定命令が読み込まれたか否かを判断し(ステップS28)、これが読み込まれた場合、法線ベクトルのパラメータを取得し(ステップS29)、カレントの頂点の法線とする(ステップS30)。その後ステップS38の処理に進む。
法線指定命令ではない場合、同様に、テクスチャ頂点指定命令が読み込まれたか否かを判断し(ステップS31)、これが読み込まれた場合、テクスチャ頂点座標をパラメータとして取得し(ステップS32)、カレントの法線座標とする(ステップS33)。その後ステップS38の処理に進む。
テクスチャ頂点指定命令ではない場合、最後にプリミティブの頂点描画命令が読み込まれたか否かを判断し(ステップS34)、これが読み込まれた場合、頂点座標のパラメータを取得し(ステップS35)、プリミティブの頂点を設定する(ステップS36)。その後ステップS38の処理に進む。例えば、プリミティブのタイプがトライアングルならば頂点が3つ指定された段階で、カレントのテクスチャ、カレントのマテリアル、またはカレントのカラーの3角形が描かれることになる。
以上の処理が、描画終了宣言命令の出現まで繰り返される。すなわち、描画終了宣言命令の出現を判断し(ステップS37)、描画終了宣言命令が出現しない場合は、ステップS38の処理で、次の命令セグメントの読み込みが行われて、ステップS19の処理に戻る。描画終了宣言命令が現れると、対応する3次元グラフィックAPIがコールされ、図4で示したような3Dグラフィック描画エンジン61aに描画命令が発行される(ステップS39)。
このような処理が、全てのランタイム情報セグメント86のデータが読み込まれるまで繰り返される。すなわち、ランタイム情報セグメント86読み込みが終了したか否かを判断し(ステップS40)、全てのランタイム情報セグメント86のデータの読み込みが完了した場合は、描画処理を終了し、読み込みが終了していないデータがあれば、ステップS12からの処理を繰り返す。
次にシーングラフの構造と前述したような処理で表示される3次元地図の描画データを利用したナビゲーションシステムの処理の流れを説明する。
図24、25は、ナビゲーションシステムの処理の流れを説明する図である。
まず、CPU61dの制御のもと必要なシステム起動時の処理を行う(ステップS50)。このステップS50の処理の具体的内容については後述する。
次に、例えば、ユーザにより外部入力装置64で設定された視点の情報を、インターフェース61eで受けて、CPU61dの制御のもと視点の確定を行う(ステップS51)。その後、CPU61dは、図5で述べたようなシーングラフのノードツリーのうち、調べるノードのレベルLをまず1(=ルートノード)に設定し(ステップS52)、続いてそのレベルLにあるノードの数をノード数Nに代入する(ステップS53)。ルートノードならばこの値は1、その子ノードならば4、…、というようになる。
次に、定数I=0とした後(ステップS54)、レベルLのI番目のノードをカレントノードに指定する(ステップS55)。その後、カレントノードの距離評価計算を行う(ステップS56)。距離評価計算の詳細は後述する。
次に、カレントノードの距離評価計算の結果が描画可能範囲内か否かを判断する(ステップS57)。つまり、その評価の結果、その評価値がレベルごとに設定された閾値以内、つまり、図40で示したような、境界の距離よりも手前にあれば、そのエリアに対応したノードの地図の描画データを読み込む(ステップS58)。次に、定数Iをインクリメントし(ステップS59)、ステップS60の処理で、定数IがレベルLのノード数Nに達したと判断されるまで、ステップS55からの処理を繰り返す。レベルLのノード数Nに達した場合、レベルLをインクリメントし(ステップS61)、ステップS62の処理で、全てのレベルの評価が終了されたと判断されるまで、ステップS53からの処理を繰り返す。全てのレベルの評価が終了した場合、ステップS58の処理で読み込んだ3次元地図の描画データをもとに、前述の図21、図22、図23で示したような処理により、3次元地図を3Dグラフィック描画エンジン61aで描画させ、表示デバイス62に表示する(ステップS63)。
次に、図24のステップS56における距離評価計算の詳細について説明する。
上記のような処理に必要な距離評価計算は、数多く繰り返されるために、できる限り高速に行う必要がある。そこで、以下のような方法を用いる。
図26は、距離評価計算に必要な要素を列挙した図である。
カレントのレベルをm、距離を評価すべきカレントの地表面100の中心点Cの座標を(C,C,C)と定義するものとする。次に、カメラの位置をP:(P,P,P)、カメラの視線ベクトルVを(V,V,V)とする。
さらに、視線ベクトルVと同じX、Z成分を持ち、XZ平面と平行なベクトルをV':(V,0,V)とし、V'を垂線とし、点Pを通る平面101を定義する。また、LODの距離評価の基準となる平面を特に基準平面Sと呼ぶものとする。
また、基準平面Sから、カレントの地表面100までの距離をd、カレントのレベルmの、地表面描画を実行するか否かを決定する基準線との距離をlとする。
以上の定義をもとに、距離評価計算を以下のように定義する。
>d=|V(C−P)+V(C−P)|/(V +V 1/2 ……(1)
すなわち、上式を満たしている場合、その平面の地図を描画するものとする。式(1)は、基準平面Sからカレントの地表面100の中心点Cまでの距離を意味する。通常、LODの計算は視点からの位置のみに依存するが、ナビゲーションの3次元地図の場合は、視点(カメラ位置P)はもとより、画面に近い部分の地図を精巧に描画したほうが有効であるという点と、視点(カメラ位置P)の位置が地表面100に近く、その向きも地表面100に平行であるか、地表面100と視線ベクトルVのなす角度が鋭角な鳥瞰視点を用いるため、式(1)による評価方法が最も有効となる。
さらに、式(1)による距離計算では、計算の次元を2次元に限定でき、通常の距離評価計算の場合よりも1次元低くすることができ、計算量を減らすことができる。
なお、CPU61dで行う計算のコストは、一般的に加算・減算のものが軽く、乗算がこれに続き、式(1)で扱うような除算や平方根のような特殊な計算は重いとされる。そこで、式(1)は単純な計算により、このような重い負担を除去した同等の意味を持つ評価式を以下のようにして導出する。
>d
⇔l >d(l,d>0より)
⇔l −d>0
⇔l −(V(C−P)+V(C−P))/(V +V )>0
⇔l (V +V )−(V(C−P)+V(C−P))>0
……(2)
次に、式(2)中にある、繰り返し計算が不要なパラメータを予め固定した定数として定義する。距離評価計算は、視点確定(図24のステップS51)後、一度に多くの地表面を表すノードに対して行う。従って、その間、視点(カメラ位置P)と視線ベクトルVは固定されるので、座標値であるVとVは固定となる。よって、(V +V )も固定されるので、この段階で、この値を定数Wとおくものとする。
さらに、lも予め固定された定数であるため、l も、レベルmごとに固定された定数となる。よって、これをLと定義し、この値は常に固定されるべきものであるので、システム起動処理(図24のステップS50)内であらかじめ定義しておく。同様にしてV(C−P)+V(C−P)についてもこれを定数Dと定義すれば、以下の評価式が得られる。
W−D>0 ……(3)
図27は、距離評価判定処理の詳細を説明するフローチャートである。
ここで示す距離評価判定処理は、描画処理全体を通じて分散して存在している処理であり、大きく分けて3段階に分けられる。
まず、第1段階として、システム起動時の処理(図24のステップS50の処理に対応している)として、Lを導出する。ここでの処理では、まずレベルm=1(ステップS70)として、予め設定されているレベルmごとの閾値lの2乗をLに代入する(ステップS71)。次にステップS73の処理で、レベルmが、予め用意されている4分木の最高レベルに達したと判断されるまで、レベルmをインクリメントし(ステップS72)、ステップS71の処理を繰り返す。
第2段階は、視点が定まったときに行う処理である。これは、図24のステップS51の処理の内部に相当する。ここでの処理では、カメラの位置を設定する(ステップS74)ことで、視点(カメラ位置P)と視線ベクトルVは固定されるので、V、V、P、Pが固定値となり、Wが導出できる(ステップS75)。
第3段階は、各ノードへの距離評価計算処理を行う。これは、図24のステップS56の処理の内部に相当する。ここでの処理では、まず、描画エリアのノードを決定する(ステップS76)。これにより、カレントの地表面100の中心点Cが決定される。次に、Dを導出し(ステップS77)、評価式である式(3)を実行する(ステップS78)。そして、その結果が真であるか偽であるかを判断し(ステップS79)、真であればそのノードの地図を描画させる(ステップS80)。その後ステップS81の処理で、描画が終了したと判断されるまで、ステップS76からの処理を繰り返す。ステップS79で偽と判断された場合には、ステップS81の処理を行う。
上記のようにして、式(3)の評価式を用いて距離評価計算を行うことにより、毎回の評価式が乗算2回、減算1回というCPU61dへの負担が式(1)を用いた場合よりもはるかに軽く、そのため高速に行うことができる。
前述したような、シーングラフで4分木を使ってLODを行った場合、以下のような問題がある。
通常用いられる4分木のLODは、図41のように、評価する対象のエリアを機械的に4分割し、そのエリアの範囲内に収まらないものと、収まるものとで、ノードのツリーの上下関係を構築するような方法を用いる。しかし、3次元地図でこのような方法を用いると、例えば、東京タワーや、高層ビルなどのように、遠くから見えるランドマークの役割を果たすようなオブジェクトであるにもかかわらず、地表面に占める面積が小さいので、この機械的なデータ分割を用いたために、本来視界に入るべき場所にあるにもかかわらず、LODの処理の関係上、画面から消えてしまうことがありうる。
そこで、前述したシーングラフの4分木に高さの要素を加えた場合について以下説明する。
図28は、高さの要素を加えた4分木を説明する図である。
あるオブジェクト110が4分木を形成する境界に収まっていた場合、通常下位ノードに分類するが、ある閾値を越えていた場合は、上位のノードに分類する。
このようにすることにより、本来その位置に見えるはずの高層建築物が画面から消えてしまうことを防止することができる。
次に、以上のような3次元地図のデータ構造において、ユーザの指定した地点POI情報を表示する方法について説明する。
図29は、ユーザが指定した建造物を特定する際の処理を説明する図である。
ユーザが例えば、表示デバイス62に表示される画面上のある部分を指やスタイラスなどといった方法で指すと、ユーザがポイントしている点121の画面120上での座標を(x,y)とするものとする。このとき、図6で示したようなシーングラフに記されている建造物などをあらわす各オブジェクトのバウンディングボックスの射影が、この点に重なるようなオブジェクトのうち最も画面の手前にあるものを、その建物と特定することができる。図29の場合は、オブジェクト126、127、128のうち、オブジェクト126、128のバウンディングボックス126a、128aが画面120上で重なっているが、このうちバウンディングボックス126aのほうが手前にあるため、この場合はオブジェクトAが指定されたことになる。
ユーザ指定による建造物特定の際の処理を以下フローチャートでまとめる。
図30は、ユーザ指定による建造物特定の際の処理の流れを説明するフローチャートである。
CPU61dは、まず外部入力装置64などから入力されたユーザが指定したポイントに関する情報をもとに、図29で示したように画面上の点の座標(x,y)を特定する(ステップS90)。次に、特定した座標(x,y)をもとにシーングラフを探索する。まず、カレントのレベルを1と設定し(ステップS91)、カレントのレベルに設定されているオブジェクトのバンディングボックスを取得する(ステップS92)。そして、取得したバウンディングボックスを画面の3次元座標上に射影し(ステップS93)、その図形がユーザの指定した点(x,y)と重なっているか否かを判断し(ステップS94)、重なっていれば、そのオブジェクトのIDと座標をリストアップし、一時RAM61bに格納した後ステップS96の処理に進む(ステップS95)。重なっていなければそのままステップS96の処理に進む。
ステップS96の処理では、全オブジェクトが終了したか否かを判断し、終了していなければ、次のオブジェクトのバウンディングボックスをカレントに設定し(ステップS97)、ステップS93からの処理を繰り返す。全オブジェクトが終了していれば、ステップS98の処理に進む。
ステップS98の処理では、全レベルの探索が終了したか否かを判断し、終了していなければ、カレントのレベルをプラス1し(ステップS99)、ステップS92からの処理を繰り返す。全レベルの探索が終了していれば、ステップS95の処理でリストアップされたオブジェクトのバウンディングボックスの座標の中から、3次元空間上で最も手前にあるものが選択されたものであると判断し、そのオブジェクトを抽出する(ステップS100)。
また、選択されたオブジェクトのIDは、3次元地図上のタグに対応しているので、これにより、選択したオブジェクトのみを抽出して画面に拡大表示したり、色を変えるなど特殊効果を施した描画を行うことが可能となる。
3次元地図のインタラクションをこのように利用しようとした場合問題となるのは、広域の地図を表示した場合、都市部などにはあまりにも多くの建物がありすぎるために、特定の建物を指定するなどといった作業がしにくい場合がある。例えば、ユーザが画面上に出ている高層ビルを指しているつもりなのに、周辺に中小の建造物が多く存在するために、図30のような処理を機械的に適用した場合、意中の建物を指定したと判定されることが難しい。そこで、図30の処理のステップ98において、探索の限界とするシーングラフの深さのレベルを実際に揃っているデータのレベルよりも低く設定すると、その探索範囲にある建物が、ある一定以上の広さ、もしくはある一定以上の高さの建物がほとんどとなり、ユーザにとっても探索が容易となると共に、探索するオブジェクト数を減らせるので、探索時間そのものも短くすることができる。その一例を以下に示す。
図31、図32は、探索するレベルを限定した場合のオブジェクト探索を説明する図である。
図31のような画面上で、ユーザが公園130を指定しようとした場合、周囲をビル131、132、133などのような様々な建造物に囲まれているので、指定が難しい。このような場合、図32のように、公園130と、ビル131、132、133の間に明らかに大きさの差があれば、シーングラフでは異なる階層に属するので、シーングラフを探索の対象とするレベルとそれ以外のレベルに分ければ、ユーザは容易に公園130を指定できる。つまり、ある一定以上のレベルのシーングラフを探索しないようにすれば、目的のポイントを容易に指定することができる。
カーナビゲーションシステム並びに歩行者に目的地までの道のりを示す歩行者ナビゲーションシステムなどといった、ナビゲーションシステムに適用できる。
本発明の実施の形態の地図表示システムの機能を表す機能ブロック図である。 地図加工部で分割されたデータ構造の例である。 本発明の実施の形態のナビゲーションシステムの概略の構成図である。 本発明の実施の形態のナビゲーションシステムのハードウェア構成例である。 シーングラフの構造を示す図である。 オブジェクトのデータ構造の例である。 オブジェクトのPOIIDを説明する説明図である。 オブジェクトのタグを説明する図である。 オブジェクトのバウンディングボックス情報を説明する図である。 シーングラフで記述する対象の地図である。 シーングラフのXML記述の例である。 3次元地図の描画データの構成を示す図である。 地図情報セグメントの内容を説明する図である。 ローディング情報セグメントの内容を説明する図である。 ランタイム情報セグメントの内容を説明する図である。 プリミティブの例を示す図である。 マトリックス・トランスフォーム命令群を説明する図である。 法線指定命令を説明する図である。 テクスチャとテクスチャ座標を説明する図である。 バイナリ形式の描画命令の例である。 3次元地図の描画データの読み出し時における処理の流れを説明するフローチャートである。 通常の3次元地図の描画の処理の流れを説明するフローチャートである(その1)。 通常の3次元地図の描画の処理の流れを説明するフローチャートである(その2)。 ナビゲーションシステムの処理の流れを説明する図である(その1)。 ナビゲーションシステムの処理の流れを説明する図である(その2)。 距離評価計算に必要な要素を列挙した図である。 距離評価判定処理の詳細を説明するフローチャートである。 高さの要素を加えた4分木を説明する図である。 ユーザが指定した建造物を特定する際の処理を説明する図である。 ユーザ指定による建造物特定の際の処理の流れを説明するフローチャートである。 探索するレベルを限定した場合のオブジェクト探索を説明する図である(その1)。 探索するレベルを限定した場合のオブジェクト探索を説明する図である(その2)。 シーングラフで構築されるオブジェクトの例であり、(A)は構築されるオブジェクトとして立体のロボットを示した図であり、(B)はオブジェクトを構成するパーツの一覧である。 図33のオブジェクトの構造を示すシーングラフの例である。 シーングラフにより表現されたオブジェクトのパーツの配置の様子を示す図である。 LODの例を説明する図である。 LODの例を説明する図である。 LODの例を説明する図である。 4分木を説明する図である。 4分木を説明する図である。 4分木を説明する図である。
符号の説明
10……地図表示システム、10a……地図データ加工部、10b……地図データ表示部、11……オリジナル3次元地図DB、12……地図加工部、13……シーングラフDB、14……3次元地図DB、15……現在位置特定部、16……シーングラフ管理部、17……カメラ位置設定部、18……表示領域特定部、19……データ読み込み部、20……表示処理部、21……オリジナルPOI情報DB、22……POI情報加工部、23……POI情報DB

Claims (10)

  1. 3次元地図表示機能を有する地図表示システムにおいて、
    3次元地図データを、3次元地図を緯度及び経度で指定された複数の領域に分割して、分割した各々の領域を複数の領域に順次再分割することにより階層とし、前記複数の領域のデータ構造を前記3次元地図の詳細度に応じた複数の階層の個々の領域を示すノードによるツリー構造で表現したシーングラフデータと、前記3次元地図に含まれるオブジェクトを描画するための描画データとに分割して加工する地図データ加工部と、
    前記シーングラフデータを探索して、前記3次元地図中における視線が前記3次元地図の地表面に対して略平行方向と仮定して求めた視点からの距離及び階層ごとに設定された評価値に応じて、前記ノードが示す領域の3次元地図を表示するか否かを決定し、前記3次元地図を表示する場合には、前記ノードが示す領域の3次元地図に含まれる前記オブジェクトを描画するための前記描画データを読み込み表示処理を行う地図データ表示部と、
    を有することを特徴とする地図表示システム。
  2. 3次元地図データを加工する地図データ加工装置において、
    前記3次元地図データを格納する記憶部と、
    前記3次元地図データを、3次元地図を緯度及び経度で指定された複数の領域に分割して前記領域のデータ構造をツリー構造で表現したシーングラフデータと、前記3次元地図に含まれるオブジェクトを描画するための描画データとに分割して加工する地図データ加工部と、を有し、
    前記ツリー構造は、描画の際に前記3次元地図中における視線が前記3次元地図の地表面に対して略平行方向としたときの視点からの距離をもとに選択される前記3次元地図の詳細度に応じた複数の階層のノードを有するとともに、当該階層ごとに前記ノードを4分割した構造であり、
    前記地図データ加工部は、前記オブジェクトが4分割された前記ノードの分割エリア内に収まっていて且つ所定の高さ以上であれば、当該分割エリアの前記ノードよりも前記詳細度が低い前記階層の前記ノードにおいても表示するように前記シーングラフデータを加工することを特徴とする地図データ加工装置。
  3. 前記ツリー構造は、XML形式で記述されていることを特徴とする請求項2記載の地図データ加工装置。
  4. 前記描画データは逐次実行型のデータ形式であることを特徴とする請求項2記載の地図データ加工装置。
  5. 前記地図データ加工部は、前記シーングラフデータと、前記描画データとを関連付けるためのタグ情報をそれぞれに付加することを特徴とする請求項2記載の地図データ加工装置。
  6. 3次元地図表示機能を有する地図表示装置において、
    3次元地図を緯度及び経度で指定された複数の領域に分割して、分割した各々の領域を複数の領域に順次再分割することにより階層とし、前記複数の領域のデータ構造を前記3次元地図の詳細度に応じた複数の階層の個々の領域を示すノードによるツリー構造で表現したシーングラフデータを格納するシーングラフデータ記憶部と、
    前記3次元地図に含まれるオブジェクトを描画するための描画データを格納する描画データ記憶部と、
    前記シーングラフデータを探索して、前記3次元地図中における視線が前記3次元地図の地表面に対して略平行方向と仮定して求めた視点からの距離及び階層ごとに設定された評価値に応じて、前記ノードが示す領域の3次元地図を表示するか否かを決定する表示領域特定部と、
    前記3次元地図を表示する場合には、前記ノードが示す領域の3次元地図に含まれる前記オブジェクトを描画するための前記描画データを読み込むデータ読み込み部と、
    読み込んだ前記描画データをもとに表示処理を行う表示処理部と、
    を有することを特徴とする地図表示装置。
  7. 現在位置を特定する現在位置特定部と、前記視点及び前記視線を設定するカメラ位置設定部とをさらに有し、前記表示領域特定部は、特定された前記現在位置、前記視点及び前記視線をもとに求めた前記距離及び前記評価値に応じて、前記ノードが示す領域の3次元地図を表示するか否かを決定することを特徴とする請求項6記載の地図表示装置。
  8. 前記オブジェクトごとのPOI情報を格納するPOI情報記憶部をさらに有し、
    前記データ読み込み部は、前記表示処理部で表示処理された前記3次元地図においてユーザによる入力によって指定された前記オブジェクトを前記シーングラフデータより探索して、探索した前記オブジェクトの前記POI情報を読み込み、
    前記表示処理部は、前記POI情報を画面上に表示することを特徴とする請求項6記載の地図表示装置。
  9. 前記データ読み込み部は、探索する前記シーングラフデータの前記階層を限定することを特徴とする請求項8記載の地図表示装置。
  10. 3次元地図を表示する地図表示方法において、
    カメラ位置設定部は、前記3次元地図中における視点及び視線を設定し、
    表示領域特定部は、前記3次元地図を緯度及び経度で指定された複数の領域に分割して、分割した各々の領域を複数の領域に順次再分割することにより階層とし、前記複数の領域のデータ構造を前記3次元地図の詳細度に応じた複数の階層の個々の領域を示すノードによるツリー構造で表現したシーングラフデータを、シーングラフデータ記憶部から読み出し探索して、前記カメラ位置設定部が設定した、前記視点及び前記視線をもとに、前記視線が前記3次元地図の地表面に対して略平行方向と仮定して求めた前記視点からの距離及び階層ごとに設定された評価値に応じて、前記ノードが示す領域の3次元地図を表示するか否かを決定し、
    データ読み込み部は、前記ノードが示す領域の3次元地図を表示する場合は、前記ノードが示す領域の3次元地図に含まれるオブジェクトを描画するための描画データを描画データ記憶部から読み込み、
    表示処理部は、読み込んだ前記描画データをもとに表示処理を行う、
    ことを特徴とする地図表示方法。
JP2003285206A 2003-08-01 2003-08-01 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法 Expired - Fee Related JP4447865B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003285206A JP4447865B2 (ja) 2003-08-01 2003-08-01 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法
EP04017876A EP1503347A3 (en) 2003-08-01 2004-07-28 Map display system, map data processing apparatus, map display apparatus, and map display method
US10/901,549 US8115764B2 (en) 2003-08-01 2004-07-29 Map display system, map data processing apparatus, map display apparatus, and map display method
KR1020040060252A KR101157581B1 (ko) 2003-08-01 2004-07-30 지도표시 시스템, 지도데이터 가공장치, 지도표시 장치 및 지도표시 방법
CNB2004101038445A CN1297945C (zh) 2003-08-01 2004-08-02 地图显示系统、地图数据处理装置、地图显示装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003285206A JP4447865B2 (ja) 2003-08-01 2003-08-01 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法

Publications (2)

Publication Number Publication Date
JP2005056075A JP2005056075A (ja) 2005-03-03
JP4447865B2 true JP4447865B2 (ja) 2010-04-07

Family

ID=33535735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003285206A Expired - Fee Related JP4447865B2 (ja) 2003-08-01 2003-08-01 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法

Country Status (5)

Country Link
US (1) US8115764B2 (ja)
EP (1) EP1503347A3 (ja)
JP (1) JP4447865B2 (ja)
KR (1) KR101157581B1 (ja)
CN (1) CN1297945C (ja)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1752949A4 (en) * 2004-05-10 2010-07-07 Pioneer Corp DISPLAY CONTROL UNIT, DISPLAY PROCEDURE, DISPLAY CONTROL PROGRAM, INFORMATION RECORDING MEDIUM AND RECORDING MEDIUM
US8207964B1 (en) * 2008-02-22 2012-06-26 Meadow William D Methods and apparatus for generating three-dimensional image data models
US7557736B1 (en) * 2005-08-31 2009-07-07 Hrl Laboratories, Llc Handheld virtual overlay system
JP4246195B2 (ja) * 2005-11-01 2009-04-02 パナソニック株式会社 カーナビゲーションシステム
JP5028790B2 (ja) 2005-11-08 2012-09-19 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2007133489A (ja) * 2005-11-08 2007-05-31 Sony Corp 仮想空間画像表示方法、装置、仮想空間画像表示プログラム及び記録媒体
DE112005003766B4 (de) 2005-11-30 2010-06-17 Fujitsu Microelectronics Ltd. Gerät für dreidimensionale Grafik, Verfahren für dreidimensionale Grafik, Programm für dreidimensionale Grafik und Aufzeichnungsmedium
US7542846B2 (en) * 2006-02-07 2009-06-02 Alpine Electronics, Inc. Navigation system utilizing XML/SVG map data converted from geographic map data and layered structure of XML/SVG map data based on administrative regions
US20090115786A1 (en) * 2006-04-24 2009-05-07 Takamasa Shimasaki Drawing device, and drawing method
JP5273914B2 (ja) * 2006-08-07 2013-08-28 株式会社パスコ 位置情報タグの登録方法及び設置補助装置
US7916142B2 (en) * 2006-08-21 2011-03-29 Geo-Softworks, LLC Systems and methods for generating user specified information from a map
US7840344B2 (en) * 2007-02-12 2010-11-23 Microsoft Corporation Accessing content via a geographic map
JP4896761B2 (ja) * 2007-02-16 2012-03-14 株式会社日立製作所 立体地図表示システム、立体地図の表示方法、及びそのプログラム
KR100933877B1 (ko) * 2007-12-04 2009-12-28 팅크웨어(주) 3d 지도 서비스의 데이터 처리 방법 및 지리정보 시스템
US8239132B2 (en) * 2008-01-22 2012-08-07 Maran Ma Systems, apparatus and methods for delivery of location-oriented information
KR100879452B1 (ko) * 2008-04-15 2009-01-19 팅크웨어(주) 선형 도로 데이터의 입체 모델링 방법 및 상기 방법을수행하기 위한 장치
WO2009131277A1 (en) * 2008-04-24 2009-10-29 Thinkware Systems Corporation System and method for displaying three-dimensional map using template modeling
US8117145B2 (en) * 2008-06-27 2012-02-14 Microsoft Corporation Analytical model solver framework
US20090322739A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Visual Interactions with Analytics
US8620635B2 (en) * 2008-06-27 2013-12-31 Microsoft Corporation Composition of analytics models
US8411085B2 (en) * 2008-06-27 2013-04-02 Microsoft Corporation Constructing view compositions for domain-specific environments
US8255192B2 (en) * 2008-06-27 2012-08-28 Microsoft Corporation Analytical map models
KR100956416B1 (ko) * 2008-07-30 2010-05-06 (주) 우대칼스 3차원 지리 정보 클라이언트 장치와 서버 장치 및 이를포함한 3차원 지리 정보 시스템
US8155931B2 (en) * 2008-11-26 2012-04-10 Microsoft Corporation Use of taxonomized analytics reference model
US8190406B2 (en) * 2008-11-26 2012-05-29 Microsoft Corporation Hybrid solver for data-driven analytics
US8103608B2 (en) * 2008-11-26 2012-01-24 Microsoft Corporation Reference model for data-driven analytics
US8145615B2 (en) * 2008-11-26 2012-03-27 Microsoft Corporation Search and exploration using analytics reference model
US8314793B2 (en) * 2008-12-24 2012-11-20 Microsoft Corporation Implied analytical reasoning and computation
JP5218109B2 (ja) 2009-01-30 2013-06-26 富士通株式会社 可視化データ処理装置、可視化データ処理装置の制御方法、及び可視化データ処理装置の制御プログラム
US8866818B2 (en) 2009-06-19 2014-10-21 Microsoft Corporation Composing shapes and data series in geometries
US8493406B2 (en) * 2009-06-19 2013-07-23 Microsoft Corporation Creating new charts and data visualizations
US9330503B2 (en) 2009-06-19 2016-05-03 Microsoft Technology Licensing, Llc Presaging and surfacing interactivity within data visualizations
US8531451B2 (en) * 2009-06-19 2013-09-10 Microsoft Corporation Data-driven visualization transformation
US8692826B2 (en) * 2009-06-19 2014-04-08 Brian C. Beckman Solver-based visualization framework
US8788574B2 (en) * 2009-06-19 2014-07-22 Microsoft Corporation Data-driven visualization of pseudo-infinite scenes
US8259134B2 (en) * 2009-06-19 2012-09-04 Microsoft Corporation Data-driven model implemented with spreadsheets
US8803906B2 (en) * 2009-08-24 2014-08-12 Broadcom Corporation Method and system for converting a 3D video with targeted advertisement into a 2D video for display
US8352397B2 (en) * 2009-09-10 2013-01-08 Microsoft Corporation Dependency graph in data-driven model
KR101648339B1 (ko) * 2009-09-24 2016-08-17 삼성전자주식회사 휴대용 단말기에서 영상인식 및 센서를 이용한 서비스 제공 방법 및 장치
US8838381B1 (en) * 2009-11-10 2014-09-16 Hrl Laboratories, Llc Automatic video generation for navigation and object finding
JP5455213B2 (ja) * 2009-11-17 2014-03-26 Necシステムテクノロジー株式会社 画像描画装置、画像描画方法およびプログラム
JP5223062B2 (ja) * 2010-03-11 2013-06-26 株式会社ジオ技術研究所 3次元地図描画システム
KR101947817B1 (ko) 2010-06-14 2019-02-14 주식회사 비즈모델라인 맞춤형 증강현실 제공 방법
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
JP5318290B2 (ja) * 2010-11-09 2013-10-16 三菱電機株式会社 地図シンボル描画装置
US9829340B2 (en) 2010-11-18 2017-11-28 Google Inc. Analysis of interactive map usage patterns
US9311747B2 (en) 2010-11-18 2016-04-12 Mitsubishi Electric Corporation Three-dimensional image display device and three-dimensional image display program
KR20120072124A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 실내 전자지도 데이터 생성 방법
US8830271B1 (en) * 2011-01-07 2014-09-09 Google Inc. Density smoothing a display of points-of-interest displayable on a map based on relative prominence
EP2530433B1 (en) * 2011-06-01 2015-04-22 Harman Becker Automotive Systems GmbH Method of generating a database for a navigation device
EP2555166B1 (en) * 2011-08-01 2019-10-16 Harman Becker Automotive Systems GmbH Space error parameter for 3D buildings and terrain
US8243102B1 (en) 2011-10-12 2012-08-14 Google Inc. Derivative-based selection of zones for banded map display
CN103959339B (zh) * 2011-10-12 2018-02-02 谷歌公司 使用条带化以优化三维瓦片视图中的地图渲染
US20150178976A1 (en) * 2011-11-28 2015-06-25 Google Inc. View Dependent Level-of-Detail for Tree-Based Replicated Geometry
US20140317576A1 (en) * 2011-12-06 2014-10-23 Thomson Licensing Method and system for responding to user's selection gesture of object displayed in three dimensions
CN102722912B (zh) * 2012-05-25 2015-11-25 任伟峰 一种三维虚拟现实场景中物体按层级加卸载的方法和装置
CN102760308B (zh) * 2012-05-25 2014-12-03 任伟峰 一种点选三维虚拟现实场景中物体的方法和装置
US9111380B2 (en) 2012-06-05 2015-08-18 Apple Inc. Rendering maps
US10156455B2 (en) 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US9052197B2 (en) 2012-06-05 2015-06-09 Apple Inc. Providing navigation instructions while device is in locked mode
US9886794B2 (en) * 2012-06-05 2018-02-06 Apple Inc. Problem reporting in maps
US9997069B2 (en) 2012-06-05 2018-06-12 Apple Inc. Context-aware voice guidance
US10176633B2 (en) 2012-06-05 2019-01-08 Apple Inc. Integrated mapping and navigation application
US9482296B2 (en) 2012-06-05 2016-11-01 Apple Inc. Rendering road signs during navigation
US9159153B2 (en) 2012-06-05 2015-10-13 Apple Inc. Method, system and apparatus for providing visual feedback of a map view change
US9418672B2 (en) 2012-06-05 2016-08-16 Apple Inc. Navigation application with adaptive instruction text
US9043722B1 (en) 2012-06-19 2015-05-26 Surfwax, Inc. User interfaces for displaying relationships between cells in a grid
CN102831639A (zh) * 2012-07-13 2012-12-19 南信大影像技术工程(苏州)有限公司 一种应用于智能电网三维运行管理系统的层次细节模型
JP2014035656A (ja) * 2012-08-09 2014-02-24 Sony Corp 画像処理装置、画像処理方法、およびプログラム
EP2747032A1 (de) * 2012-12-21 2014-06-25 3D Reality Maps GmbH Verfahren zur fotorealistischen Visualisierung von einem dreidimensionalen Gelände-Datensatz in Echtzeit
JP6087185B2 (ja) * 2013-03-25 2017-03-01 株式会社ジオ技術研究所 3次元地図表示システム
JP5992354B2 (ja) * 2013-03-25 2016-09-14 株式会社ジオ技術研究所 3次元地図表示システム
JP5883818B2 (ja) * 2013-03-25 2016-03-15 株式会社ジオ技術研究所 3次元地図表示システム
US9292903B2 (en) 2013-10-03 2016-03-22 Google Inc. Overlap aware reordering of rendering operations for efficiency
US8854385B1 (en) * 2013-10-03 2014-10-07 Google Inc. Merging rendering operations for graphics processing unit (GPU) performance
US9811731B2 (en) * 2013-10-04 2017-11-07 Qualcomm Incorporated Dynamic extension of map data for object detection and tracking
US9786071B2 (en) * 2015-03-25 2017-10-10 International Business Machines Corporation Geometric shape hierarchy determination to provide visualization context
CN104715468A (zh) * 2015-03-31 2015-06-17 王子强 一种基于Unity3D的裸眼3D内容制作的改进方法
KR102395023B1 (ko) 2015-06-30 2022-05-06 현대오토에버 주식회사 그래픽 기반의 웹 벡터 지도 표시 시스템 및 방법
KR102387264B1 (ko) * 2015-07-30 2022-04-15 현대오토에버 주식회사 웹 벡터 지도 표시 시스템 및 방법
CN107315747A (zh) * 2016-04-26 2017-11-03 斑马网络技术有限公司 服务显示方法、装置、设备和系统
CN106097413A (zh) * 2016-06-03 2016-11-09 大连陆海科技股份有限公司 多比例尺矢量海图数据的绘制系统及绘制方法
DE112016007098T5 (de) * 2016-07-26 2019-04-18 Hewlett-Packard Development Company, L.P. Indexierung von voxeln für das 3d-drucken
CN106408631B (zh) * 2016-09-30 2019-07-30 厦门亿力吉奥信息科技有限公司 三维宏观展示方法及系统
CN106780736B (zh) * 2017-01-09 2021-04-27 网易(杭州)网络有限公司 地图数据处理方法及装置、三维地图生成方法及装置
CN106845559B (zh) * 2017-02-28 2019-09-24 山东师范大学 顾及poi数据空间异质性的地表覆盖验证方法及系统
CN107656961B (zh) * 2017-08-04 2020-03-27 阿里巴巴集团控股有限公司 一种信息显示方法及装置
CN109509254B (zh) * 2017-09-14 2024-01-02 中兴通讯股份有限公司 三维地图构建方法、装置及存储介质
KR101947818B1 (ko) 2017-10-20 2019-02-14 주식회사 비즈모델라인 맞춤형 증강현실 제공 방법
JP7196179B2 (ja) * 2017-12-22 2022-12-26 マジック リープ, インコーポレイテッド 複合現実システムにおいて仮想コンテンツを管理および表示する方法およびシステム
KR102144268B1 (ko) * 2018-07-02 2020-08-28 주식회사 유니디자인경영연구소 무인 관측 수단에 의해 촬영된 영상을 이용한 브이알(VR, Virtual Reality)용 쓰리디 맵 제작 장치 및 방법
JP7195073B2 (ja) * 2018-07-10 2022-12-23 古野電気株式会社 グラフ生成装置
CN109712242B (zh) * 2018-12-17 2023-04-07 广东工业大学 一种支持大规模三维场景虚拟漫游的模型数据组织方法
CN110111407B (zh) * 2019-05-09 2023-03-24 正元地理信息集团股份有限公司 一种海量三维网格数据的调度渲染方法及系统
KR102186417B1 (ko) 2019-06-05 2020-12-04 주식회사 영일프레시젼 지피에스 교환형식 데이터 편집 시스템 및 방법
CN111061824B (zh) * 2019-11-27 2023-07-25 北京中交兴路信息科技有限公司 基于改进四叉树的范围判断方法、装置、设备
CN111402382B (zh) * 2020-03-18 2023-04-07 东南数字经济发展研究院 一种提升分层分块三维模型数据渲染效率的分类优化方法
CN111708858B (zh) * 2020-06-10 2023-09-05 北京百度网讯科技有限公司 一种地图数据处理方法、装置、设备以及存储介质
CN112529887B (zh) * 2020-12-18 2024-02-23 广东赛诺科技股份有限公司 一种基于gis地图数据懒加载方法及系统
US11526498B2 (en) * 2021-03-31 2022-12-13 Gm Cruise Holdings Llc Storage of shard data
US12008720B1 (en) * 2021-06-28 2024-06-11 Apple Inc. Scene graph assisted navigation
CN113641284B (zh) * 2021-07-27 2024-02-09 北京中交兴路车联网科技有限公司 电子地图的区域标绘方法、装置、电子设备及存储介质
CN113890675A (zh) * 2021-09-18 2022-01-04 聚好看科技股份有限公司 一种三维模型的自适应显示方法及设备
CN113779040B (zh) * 2021-09-29 2024-02-13 重庆链图信息技术有限公司 一种渐进式在线高精地图服务引擎系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5936626A (en) * 1996-02-07 1999-08-10 Silicon Graphics, Inc. Computer graphics silhouette load management
US6137499A (en) * 1997-03-07 2000-10-24 Silicon Graphics, Inc. Method, system, and computer program product for visualizing data using partial hierarchies
JP2937937B2 (ja) 1997-04-21 1999-08-23 核燃料サイクル開発機構 三次元オブジェクトデータ処理方法
JP2000074678A (ja) 1998-09-03 2000-03-14 Matsushita Electric Ind Co Ltd 走行位置表示装置
JP2000283777A (ja) 1999-03-30 2000-10-13 Alpine Electronics Inc 車載用ナビゲーション装置
JP2000305452A (ja) * 1999-04-21 2000-11-02 Sony Corp 電子地図装置および電子地図の表示方法
US6850946B1 (en) * 1999-05-26 2005-02-01 Wireless Valley Communications, Inc. Method and system for a building database manipulator
JP2001067457A (ja) 1999-08-25 2001-03-16 Alpine Electronics Inc 高速地図描画装置
US7042454B1 (en) * 1999-10-27 2006-05-09 Hewlett-Packard Development Company, L.P. Method and apparatus for displaying distributed multiresolution scenes
JP2001175662A (ja) 1999-12-14 2001-06-29 Sony Corp 位置情報記述方法、位置情報処理装置および方法、並びにデータ記録媒体
JP3760980B2 (ja) 2000-09-01 2006-03-29 アイシン・エィ・ダブリュ株式会社 地図表示装置、記録媒体及び地図表示方法
JP4094219B2 (ja) * 2000-09-19 2008-06-04 アルパイン株式会社 車載用ナビゲーション装置の立体地図表示方法
JP4882151B2 (ja) * 2000-12-27 2012-02-22 ソニー株式会社 情報処理装置、情報処理方法、記録媒体および画像処理装置
JP3894730B2 (ja) 2001-01-31 2007-03-22 日本空間情報技術株式会社 地図データ格納方法、地図データ格納システム
US6542814B2 (en) * 2001-03-07 2003-04-01 Horizon Navigation, Inc. Methods and apparatus for dynamic point of interest display
JP2002279449A (ja) 2001-03-19 2002-09-27 Mitsubishi Electric Corp 3次元空間データ送信表示装置、3次元空間データ送信方法、3次元空間データ送信方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003178318A (ja) * 2001-12-07 2003-06-27 Sony Corp 情報処理装置及び情報処理方法
US6952207B1 (en) * 2002-03-11 2005-10-04 Microsoft Corporation Efficient scenery object rendering
US7283135B1 (en) * 2002-06-06 2007-10-16 Bentley Systems, Inc. Hierarchical tile-based data structure for efficient client-server publishing of data over network connections
US20040125114A1 (en) 2002-12-31 2004-07-01 Hauke Schmidt Multiresolution image synthesis for navigation
US20040243307A1 (en) * 2003-06-02 2004-12-02 Pieter Geelen Personal GPS navigation device
US20070067106A1 (en) * 2005-09-20 2007-03-22 Antoine Lennox B Streaming geometry using quasi-pyramidal structure

Also Published As

Publication number Publication date
KR101157581B1 (ko) 2012-06-19
CN1297945C (zh) 2007-01-31
EP1503347A2 (en) 2005-02-02
CN1619596A (zh) 2005-05-25
US8115764B2 (en) 2012-02-14
JP2005056075A (ja) 2005-03-03
EP1503347A3 (en) 2006-05-24
KR20050016058A (ko) 2005-02-21
US20050035883A1 (en) 2005-02-17

Similar Documents

Publication Publication Date Title
JP4447865B2 (ja) 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法
US8493380B2 (en) Method and system for constructing virtual space
US9024947B2 (en) Rendering and navigating photographic panoramas with depth information in a geographic information system
US9218362B2 (en) Markup language for interactive geographic information system
KR102244619B1 (ko) 가속 구조를 생성 및 탐색하는 방법
US20170090460A1 (en) 3D Model Generation From Map Data
US20170015057A1 (en) Preparing a Polygon Mesh for Printing
US20080198158A1 (en) 3D map display system, 3D map display method and display program
US20100250617A1 (en) Photo-based virtual world creation system for non-professional volunteers
KR20050085926A (ko) 모바일 네비게이션 유닛을 위한 진보된 3d 시각화를 위한시스템 및 방법
Thiemann Generalization of 3D building data
Faust et al. Real-time global data model for the digital earth
JP4291360B2 (ja) 地図データ処理方法、コンピュータグラフィック処理方法およびコンピュータグラフィック処理装置
US9007374B1 (en) Selection and thematic highlighting using terrain textures
US6567082B1 (en) Incremental resolution changes in multi-resolution meshes with update records
JP3911182B2 (ja) 地図データ処理方法、コンピュータグラフィック処理方法および装置
Coltekin et al. VRML as a Tool for WEB-based, 3D, Photo-realistic GIS
Zara Web-based historical city walks: advances and bottlenecks
Fombuena Valero 3D Augmented Reality Mobile Application Prototype for Visual Planning Support
KR20130015320A (ko) 게임엔진, 게임실행방법, 게임저작툴, 및 이들의 기록매체
Yongjun et al. 3D Symbolization and Multi-Scale Representa-tion on Geo-Information
Huang et al. Ancient Ruins Real-Time Interactive System Based on VR-GIS Platform
Zamri An Efficient Real-Time Terrain Data Organization And Visualization Algorithm Based On Enhanced Triangle-Based Level Of Detail Technique
Caballero A method for importing and drawing SHP files in Unreal Engine1
Pokrovac COMPARISON OF DATA ENCODINGS TO DELIVER 3D TERRAIN MODELS AS TRIANGULATED IRREGULAR NETWORKS

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080328

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080409

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100121

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140129

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees