JP6129456B2 - モデルデータ処理システム及び描画方法及びモデルデータ処理プログラム - Google Patents

モデルデータ処理システム及び描画方法及びモデルデータ処理プログラム Download PDF

Info

Publication number
JP6129456B2
JP6129456B2 JP2017500234A JP2017500234A JP6129456B2 JP 6129456 B2 JP6129456 B2 JP 6129456B2 JP 2017500234 A JP2017500234 A JP 2017500234A JP 2017500234 A JP2017500234 A JP 2017500234A JP 6129456 B2 JP6129456 B2 JP 6129456B2
Authority
JP
Japan
Prior art keywords
model
divided
rectangle
list
models
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.)
Active
Application number
JP2017500234A
Other languages
English (en)
Other versions
JPWO2016132523A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6129456B2 publication Critical patent/JP6129456B2/ja
Publication of JPWO2016132523A1 publication Critical patent/JPWO2016132523A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)

Description

本発明は、モデルデータ処理システム及び描画方法及びモデルデータ処理プログラムに関するものである。本発明は、例えば、モデルデータ統合装置に関するものである。
従来、疑似3次元空間の底面を規定する複数のブロックからなる地図に対する地形の描画処理を行う技術がある(例えば、特許文献1参照)。
特開平10−172006号公報
従来技術では、複数のブロックのうち、地図表示範囲と重なっていると判定されたブロックのみに対して、地形の描画処理が施される。ブロックは、全て同じサイズである。
ブロックごとに描画処理を行う場合、描画処理高速化のために、VBO(頂点バッファオブジェクト)と呼ばれるビデオメモリ上の頂点格納領域に、ブロック内のモデルの頂点データを予め保存する手法が用いられる。この手法を上記の従来技術に適用した場合、地図が全て同じサイズのブロックに分割される。各ブロックに対し、モデルが振り分けられる。地図表示範囲にブロックが含まれるかどうかが判定される。含まれるブロックに振り分けられたモデルのみがVBOへ登録される。VBOへ登録されたモデルのみがレンダリングされる。
ブロックからモデルがはみ出している場合には、ブロックが地図表示範囲外でも、モデルの一部が地図表示範囲内にあることがある。しかし、そのようなモデルはVBOへ登録されない。その結果、地図表示範囲内の地形の一部が表示されないことになる。
本発明は、表示されるべき物体を表すモデルを確実にレンダリングできるようにすることを目的とする。
本発明の一の態様に係るモデルデータ処理システムは、
地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得する取得部と、
前記地図領域を分割して複数の分割領域を設定する分割部と、
前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストを管理用メモリに格納する振り分け部と、
前記管理用メモリから前記第1リストを取得し、前記第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストを、前記取得部により取得された前記複数のモデルのデータをレンダリングするための情報として出力する算出部とを備える。
本発明では、複数の分割領域のそれぞれと複数のモデルのそれぞれとの対応を示す第1リストだけでなく、複数の分割領域のそれぞれと少なくとも1個のモデルを包含する包含領域との対応を示す第2リストが提供される。このため、地図領域の表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出することができる。描画領域と対応しているモデルは、表示されるべき物体を表すモデルである。よって、本発明によれば、表示されるべき物体を表すモデルを確実にレンダリングできるようになる。
実施の形態1に係るモデルデータ処理システムの構成を示す図。 実施の形態1に係るモデルデータ処理システムの詳細構成を示すブロック図。 実施の形態1に係るモデルデータ処理システムの処理構成を示すブロック図。 実施の形態1に係るモデルデータ処理システムの前処理の手順を示すフローチャート。 実施の形態1に係るモデルデータ処理システムのリアルタイム処理の手順を示すフローチャート。 実施の形態1に係るモデルデータ処理システムの管理矩形の例を示す図。 実施の形態1に係るモデルデータ処理システムの分割矩形の例を示す図。 実施の形態1に係るモデルデータ処理システムの分割矩形の例を示す表。 実施の形態1に係るモデルデータ処理システムの外接矩形及び振り分け基準位置の例を示す図。 実施の形態1に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 実施の形態1に係るモデルデータ処理システムの包含矩形の例を示す図。 実施の形態1に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 表示範囲の例を示す緯度経度平面投影図。 表示範囲の例を示す斜投影図。 実施の形態1に係るモデルデータ処理システムの表示範囲の例を示す図。 実施の形態1に係るモデルデータ処理システムの取得済分割矩形リストの例を示す表。 実施の形態1に係るモデルデータ処理システムの描画用メモリへのモデルデータの登録の例を示す図。 実施の形態1に係るモデルデータ処理システムの取得済分割矩形リストの例を示す表。 実施の形態1に係るモデルデータ処理システムの描画用メモリへのモデルデータの登録の例を示す図。 実施の形態1に係るモデルデータ処理システムの取得済分割矩形リストの例を示す表。 実施の形態1に係るモデルデータ処理システムの描画用メモリへのモデルデータの登録の例を示す図。 実施の形態1に係るモデルデータ処理システムの表示範囲の例を示す図。 実施の形態1に係るモデルデータ処理システムの取得済分割矩形リストの例を示す表。 実施の形態1に係るモデルデータ処理システムの描画用メモリへのモデルデータの登録の例を示す図。 実施の形態2に係るモデルデータ処理システムの構成を示す図。 実施の形態2に係るモデルデータ処理システムの詳細構成を示すブロック図。 実施の形態3に係るモデルデータ処理システムの詳細構成を示すブロック図。 実施の形態3に係るモデルデータ処理システムの処理構成を示すブロック図。 実施の形態3に係るモデルデータ処理システムの前処理の手順を示すフローチャート。 実施の形態3に係るモデルデータ処理システムの前処理の手順を示すフローチャート。 実施の形態3に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 実施の形態3に係るモデルデータ処理システムの分割領域設定の例を示す図。 実施の形態3に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 実施の形態3に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 実施の形態3に係るモデルデータ処理システムの分割領域設定の例を示す図。 実施の形態3に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 実施の形態3に係るモデルデータ処理システムの分割領域設定の例を示す図。 実施の形態3に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 実施の形態3に係るモデルデータ処理システムの分割領域設定の例を示す図。 実施の形態3に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 実施の形態3に係るモデルデータ処理システムの包含矩形の例を示す図。 実施の形態3に係るモデルデータ処理システムの分割矩形データリストの例を示す表。 本発明の実施の形態に係るモデルデータ処理システムを構成する装置のハードウェア構成の例を示す図。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一又は相当する部分には、同一符号を付している。実施の形態の説明において、同一又は相当する部分については、その説明を適宜省略又は簡略化する。
実施の形態1.
本実施の形態に係るシステムの構成、本実施の形態に係るシステムの動作、本実施の形態の効果を順番に説明する。
***構成の説明***
図1を参照して、本実施の形態に係るシステムであるモデルデータ処理システム100の構成を説明する。
モデルデータ処理システム100は、ナビゲーション装置101で構成される。
ナビゲーション装置101は、車両に搭載される。
ナビゲーション装置101は、入力装置907と、ディスプレイ908とを備える。
入力装置907は、車両の運転手等のユーザにより操作される。入力装置907は、具体的には、操作ボタンである。なお、入力装置907は、ディスプレイ908と一体のタッチパネル、或いは、操作ボタン及びタッチパネルの組み合わせであってもよい。
ディスプレイ908は、地図を表示する。地図は、具体的には、3次元地図である。なお、地図は、2次元地図等、他の種類の地図であってもよい。
図2を参照して、モデルデータ処理システム100の詳細構成を説明する。
ナビゲーション装置101は、データベース111と、管理用メモリ112と、描画用メモリ113とを備える。
データベース111は、複数のモデルのデータ201を格納する。複数のモデルは、地図領域に存在する物体をそれぞれ表す。物体とは、地形、道路、建物といった地図オブジェクトのことである。モデルは、具体的には、3次元モデルである。なお、モデルは、2次元モデル等、他の種類のモデルであってもよい。
管理用メモリ112は、後述する第1リスト211及び第2リスト212を格納するためのメモリである。管理用メモリ112は、具体的には、メインメモリである。
描画用メモリ113は、複数のモデルのうち、描画されるモデルのデータ201を格納するためのメモリである。描画用メモリ113は、具体的には、ビデオメモリである。
ナビゲーション装置101は、さらに、取得部121と、分割部122と、振り分け部123と、算出部124と、決定部131と、抽出部132と、統合部133と、レンダリング部134とを備える。
取得部121は、前述した複数のモデルのデータ201をデータベース111から取得する。
分割部122は、地図領域を分割して複数の分割領域を設定する。
振り分け部123は、地図領域における複数のモデルの位置に基づいて、複数のモデルを、分割部122により設定された複数の分割領域に振り分ける。振り分け部123は、分割部122により設定された複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リスト211を作成する。振り分け部123は、作成した第1リスト211を管理用メモリ112に格納する。
本実施の形態において、振り分け部123により参照される位置は、複数のモデルのそれぞれを囲む外接矩形の中心の位置である。なお、振り分け部123により参照される位置は、モデルごとに決まる1点の位置であれば、重心又は最北端点等、任意の点の位置であってよい。
算出部124は、管理用メモリ112から第1リスト211を取得する。算出部124は、第1リスト211で少なくとも1個のモデルと対応している分割領域に対して、地図領域で当該少なくとも1個のモデルを包含する包含領域を算出する。算出部124は、分割部122により設定された複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リスト212を作成する。算出部124は、第2リスト212を、取得部121により取得された複数のモデルのデータ201をレンダリングするための情報として出力する。算出部124により出力された第2リスト212は、管理用メモリ112に格納される。
本実施の形態において、算出部124により算出される包含領域は、上記少なくとも1個のモデルを囲む外接矩形である。なお、算出部124により算出される包含領域は、モデル頂点を包含するものであれば、不定形状の多角形等、任意の形状でよい。
決定部131は、地図領域の表示範囲を決定する。
抽出部132は、管理用メモリ112から第2リスト212を取得する。即ち、抽出部132は、算出部124により作成された第2リスト212の入力を受ける。抽出部132は、第2リスト212から、決定部131により決定された表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出する。
統合部133は、管理用メモリ112から第1リスト211を取得する。即ち、統合部133は、振り分け部123により作成された第1リスト211の入力を受ける。統合部133は、第1リスト211で抽出部132により抽出された描画領域と1個のモデルとが対応している場合、取得部121により取得された当該1個のモデルのデータ201を描画用メモリ113に格納する。統合部133は、第1リスト211で抽出部132により抽出された描画領域と2個以上のモデルとが対応している場合、取得部121により取得された当該2個以上のモデルのデータ201を統合し、統合したデータ201を描画用メモリ113に格納する。
レンダリング部134は、描画用メモリ113に格納されたデータ201をレンダリングする。これにより、ディスプレイ908の画面に、表示範囲内の物体を含むナビゲーション用の地図が表示される。
図3を参照して、モデルデータ処理システム100の処理構成を説明する。
モデルデータ処理システム100により実行される処理としては、主に、前もって実行される前処理310と、モデル表示時に実行されるリアルタイム処理320とがある。
前処理310には、モデルデータ取得311、情報取得312、管理矩形分割313、基準位置算出314、モデル振り分け315、包含矩形算出316といった処理が含まれる。モデルデータ取得311は、取得部121により実行される。情報取得312及び管理矩形分割313は、分割部122により実行される。基準位置算出314及びモデル振り分け315は、振り分け部123により実行される。包含矩形算出316は、算出部124により実行される。
モデルデータ取得311は、データベース111からモデルデータ301を取得する処理である。モデルデータ301は、前述した複数のモデルのデータ201に相当する。
情報取得312は、データベース111に格納されている全モデルデータ301の地図範囲である管理矩形を取得する処理である。管理矩形は、前述した地図領域に相当する。
管理矩形分割313は、情報取得312で取得された管理矩形を基準分割数302に従って分割し、分割矩形を作成する処理である。分割矩形は、前述した分割領域に相当する。
基準位置算出314は、モデルデータ取得311で取得されたモデルデータ301から振り分け基準位置を算出する処理である。振り分け基準位置は、前述した振り分け部123により参照される位置に相当する。
モデル振り分け315は、基準位置算出314で算出された振り分け基準位置を基に、管理矩形分割313で作成された分割矩形にモデルを振り分け、分割矩形データリスト303を作成する処理である。分割矩形データリスト303は、分割矩形ごとに、振り分けられたモデルを示すリストである。分割矩形データリスト303は、前述した第1リスト211に相当する。
包含矩形算出316は、データベース111の中の全モデルデータ301に対応するモデルの振り分けがモデル振り分け315で完了した後、分割矩形データリスト303に含まれる分割矩形ごとに包含矩形を算出する処理である。包含矩形は、前述した包含領域に相当する。包含矩形算出316において、分割矩形データリスト303は、分割矩形ごとに、振り分けられたモデルだけでなく、算出された包含矩形も示すリストに変更される。変更後の分割矩形データリスト303は、第1リスト211だけでなく、前述した第2リスト212にも相当する。
リアルタイム処理320には、表示範囲決定321、重複判定322、取得済データ判定323、分割矩形データ取得324、モデル統合325、モデルレンダリング326といった処理が含まれる。表示範囲決定321は、決定部131により実行される。重複判定322及び取得済データ判定323及び分割矩形データ取得324は、抽出部132により実行される。モデル統合325は、統合部133により実行される。モデルレンダリング326は、レンダリング部134により実行される。
表示範囲決定321は、表示範囲を決定する処理である。
重複判定322は、分割矩形データリスト303内の全包含矩形と表示範囲決定321で決定された表示範囲との重なりを判定し、重複分割矩形を求める処理である。重複分割矩形は、前述した描画領域に相当する。
取得済データ判定323は、取得済分割矩形リスト304に格納されておらず、重複判定322で求められた重複分割矩形である分割矩形を取得済分割矩形リスト304に加える処理である。
分割矩形データ取得324は、取得済データ判定323で取得済分割矩形リスト304に加えられた分割矩形に対応する全てのモデルを分割矩形データリスト303から抽出し、抽出したモデルに対応するモデルデータ301を取得する処理である。
モデル統合325は、分割矩形データ取得324で取得されたモデルデータ301を分割矩形ごとに統合し、統合後のモデルデータ301を描画用メモリ113に登録する処理である。
モデルレンダリング326は、モデル統合325で登録されたモデルデータ301の3次元レンダリングである。
***動作の説明***
図4及び図5を参照して、モデルデータ処理システム100の動作を説明する。モデルデータ処理システム100の動作は、本実施の形態に係る描画方法に相当する。モデルデータ処理システム100の動作は、本実施の形態に係るモデルデータ処理プログラムの処理手順に相当する。
本実施の形態では、図6に示す例の通り、使用する座標系が緯度経度座標である。単位は、度である。管理矩形は、四辺が経緯線に平行で、南西端座標が(0,0)、北東端座標が(16,12)の矩形範囲である。データベース111には、モデルA〜Pの計16個のモデルが含まれる。A〜Pは、モデルID(識別子)である。基準分割数302は、横方向が「4」、縦方向が「3」である。取得済分割矩形リスト304は、空である。なお、モデルは3次元頂点からなる立体であるが、本実施の形態では、モデルが2次元の緯度経度平面に投影したデータとして扱われる。なお、管理矩形の大きさ、基準分割数302、モデルの個数、形状、大きさ、位置等は、適宜変更することができる。
図4は、前処理310の手順を示している。
S11は、前述した情報取得312である。
S11において、分割部122は、データベース111から管理矩形の範囲が(0,0)〜(16,12)であることを示す情報を取得する。
S12は、前述した管理矩形分割313である。
S12において、分割部122は、基準分割数302に従い、管理矩形を分割する。基準分割数302は、横方向が「4」、縦方向が「3」である。そのため、分割部122は、管理矩形を横方向に4分割、縦方向に3分割し、分割矩形集合を作成する。この場合、図7に示す例の通り、分割矩形0〜11の計12個の分割矩形ができる。各分割矩形の範囲は、図8に示す例の通りである。
S13は、前述したモデルデータ取得311である。
S13において、取得部121は、データベース111から全モデルデータ301であるモデルA〜Pのモデルデータ301を取得する。
S14は、前述した基準位置算出314である。S15は、前述したモデル振り分け315である。S14及びS15は、S13でモデルデータ301が取得されたモデルごとに実行される。
S14において、振り分け部123は、振り分け基準位置を算出する。本実施の形態において、振り分け基準位置は、モデルの外接矩形の中心の位置である。前述したように、振り分け基準位置は、モデル頂点群の重心等、モデルの基準となる任意の1点でよい。各モデルの外接矩形及び振り分け基準位置は、図9に示す例の通りである。
外接矩形の南西端は、(「モデルを構成する全頂点の経度の最小値」,「モデルを構成する全頂点の緯度の最小値」)である。外接矩形の北東端は、(「モデルを構成する全頂点の経度の最大値」,「モデルを構成する全頂点の緯度の最大値」)である。外接矩形の中心は、((「南西端経度」+「北東端経度」)/2,(「南西端緯度」+「北東端緯度」)/2)である。
S15のモデル振り分け315において、振り分け部123は、S14で算出した振り分け基準位置を基に、モデルを分割矩形に振り分ける。振り分け部123は、分割矩形0から始める。振り分け部123は、振り分け基準位置が分割矩形に含まれるかを判定する。振り分け部123は、振り分け基準位置が含まれると判定した分割矩形を振り分け対象分割矩形とする。振り分け基準位置が分割矩形に含まれるかは、振り分け基準位置が分割矩形の南西端より北東側にあり、かつ、分割矩形の北東端より南西側にあるかで判定できる。振り分け対象分割矩形が判明後、振り分け部123は、分割矩形の範囲とモデルIDとをセットにし、分割矩形データリスト303へ追加する。
全モデルについてS14及びS15の処理が実行された後、分割矩形データリスト303は、図10に示す例の通りとなる。即ち、分割矩形データリスト303において、分割矩形0とモデルLとが対応している。分割矩形1とモデルC,Dとが対応している。分割矩形2とモデルOとが対応している。分割矩形3とモデルPとが対応している。分割矩形4とモデルKとが対応している。分割矩形5とモデルB,Eとが対応している。分割矩形6とモデルFとが対応している。分割矩形7とモデルG,H,Iとが対応している。分割矩形8とモデルJとが対応している。分割矩形9とモデルAとが対応している。分割矩形10とモデルMとが対応している。分割矩形11とモデルNとが対応している。
S16は、前述した包含矩形算出316である。S16は、分割矩形データリスト303内の分割矩形ごとに実行される。
S16において、算出部124は、包含矩形を算出する。包含矩形は、分割矩形に対応する全モデルの外接矩形を合成した外接矩形である。算出部124は、分割矩形に対応するモデルを、分割矩形データリスト303より特定する。即ち、算出部124は、分割矩形1については、モデルCの外接矩形とモデルDの外接矩形とを合成して包含矩形を求める。一方、算出部124は、分割矩形0については、モデルLの外接矩形をそのまま包含矩形とする。算出部124は、分割矩形2〜11についても、同じように包含矩形を求める。各包含矩形は、図11に示す例の通りである。包含矩形算出後、算出部124は、分割矩形データリスト303内の分割矩形の範囲を包含矩形の範囲に変更する。
全分割矩形についてS16の処理が実行された後、分割矩形データリスト303は、図12に示す例の通りとなる。即ち、分割矩形データリスト303において、分割矩形0と(「外接矩形Lの西端」,「外接矩形Lの南端」)〜(「外接矩形Lの東端」,「外接矩形Lの北端」)の包含矩形とが対応している。分割矩形1と(「外接矩形Cの西端」,「外接矩形Dの南端」)〜(「外接矩形Dの東端」,「外接矩形Cの北端」)の包含矩形とが対応している。分割矩形2と(「外接矩形Oの西端」,「外接矩形Oの南端」)〜(「外接矩形Oの東端」,「外接矩形Oの北端」)の包含矩形とが対応している。分割矩形3と(「外接矩形Pの西端」,「外接矩形Pの南端」)〜(「外接矩形Pの東端」,「外接矩形Pの北端」)の包含矩形とが対応している。分割矩形4と(「外接矩形Kの西端」,「外接矩形Kの南端」)〜(「外接矩形Kの東端」,「外接矩形Kの北端」)の包含矩形とが対応している。分割矩形5と(「外接矩形Bの西端」,「外接矩形Bの南端」)〜(「外接矩形Eの東端」,「外接矩形Bの北端」)の包含矩形とが対応している。分割矩形6と(「外接矩形Fの西端」,「外接矩形Fの南端」)〜(「外接矩形Fの東端」,「外接矩形Fの北端」)の包含矩形とが対応している。分割矩形7と(「外接矩形Gの西端」,「外接矩形Iの南端」)〜(「外接矩形Iの東端」,「外接矩形Gの北端」)の包含矩形とが対応している。分割矩形8と(「外接矩形Jの西端」,「外接矩形Jの南端」)〜(「外接矩形Jの東端」,「外接矩形Jの北端」)の包含矩形とが対応している。分割矩形9と(「外接矩形Aの西端」,「外接矩形Aの南端」)〜(「外接矩形Aの東端」,「外接矩形Aの北端」)の包含矩形とが対応している。分割矩形10と(「外接矩形Mの西端」,「外接矩形Mの南端」)〜(「外接矩形Mの東端」,「外接矩形Mの北端」)の包含矩形とが対応している。分割矩形11と(「外接矩形Nの西端」,「外接矩形Nの南端」)〜(「外接矩形Nの東端」,「外接矩形Nの北端」)の包含矩形とが対応している。なお、外接矩形A〜Pは、モデルA〜Pの外接矩形である。
図5は、リアルタイム処理320の手順を示している。
S21は、前述した表示範囲決定321である。
S21において、決定部131は、入力装置907を用いたユーザのスクロール操作等によって移動する表示中心座標を基に、ディスプレイ908の画面又はその画面中のウィンドウに表示している領域である表示範囲を算出する。表示中心座標とは、画面又はウィンドウの中心の座標のことである。本実施の形態では、表示中心座標は、緯度経度座標として取得される。表示範囲は、以下の式により算出される。
Figure 0006129456
式中、Pcenterは表示中心座標の位置ベクトル、Peyeは視点位置座標の位置ベクトル、Uは上方向ベクトル、aspectは縦横アスペクト=「画面幅」/「画面高さ」、θは垂直視野角である。視点位置座標、上方向ベクトル、垂直視野角は、3次元モデル表示時には必ず設定が必要なパラメタである。これらのパラメタには、前もって決まっている値が使用される。PRT、PRB、PLT、PLBの標高成分が0となるようなα、β、γ、δが算出される。算出された値を上部4式に代入することで算出されるPRT、PRB、PLT、PLBがそれぞれ、画面右上、画面右下、画面左上、画面左下に対応する表示範囲の頂点座標である。各パラメタと表示範囲との関係は、図13及び図14に示す例の通りである。表示範囲は、図15に示す例の通りである。
S22は、前述した重複判定322である。S23は、前述した取得済データ判定323である。S24は、前述した分割矩形データ取得324である。S25は、前述したモデル統合325である。S22からS25は、分割矩形データリスト303内の分割矩形ごとに実行される。
S22において、抽出部132は、分割矩形データリスト303内の包含矩形の範囲と表示範囲との重なりを判定する。重なりの判定は、2つの四角形の重なりの判定手法を用いて実施することができる。その手法は自明であるため、詳細な説明は省略するが、一方の四角形の少なくとも1本の線分が他方の四角形の線分と交差するか、又は、一方の四角形の少なくとも1つの頂点が他方の四角形に包含されれば、2つの四角形が重なっていると判断できる。なお、包含矩形の代わりに、不定形状の多角形を包含領域として採用した場合でも、同様の手法を用いることができる。即ち、一方の多角形の少なくとも1本の線分が他方の多角形の線分と交差するか、又は、一方の多角形の少なくとも1つの頂点が他方の多角形に包含されれば、2つの多角形が重なっていると判断できる。
重なりがないと判定された場合、次の分割矩形についてS22から処理が実施される。重なりがあると判定された場合、フローはS23に進む。
S23において、抽出部132は、S22で重なりがあると判定された分割矩形が取得済分割矩形リスト304内に存在するか判定する。取得済分割矩形リスト304は、対応している全モデルのモデルデータ301が既にS24で取得された分割矩形を示すリストである。
S22で重なりがあると判定された分割矩形が取得済分割矩形リスト304内に存在すると判定された場合、次の分割矩形についてS22から処理が実施される。S22で重なりがあると判定された分割矩形が取得済分割矩形リスト304内に存在しないと判定された場合、フローはS24に進む。
S24において、抽出部132は、分割矩形データリスト303に登録されたモデルIDを基に、S22で重なりがあると判定された分割矩形と対応している全モデルのモデルデータ301を取得する。抽出部132は、その分割矩形を取得済分割矩形リスト304に登録する。
S25において、統合部133は、S24で取得された全モデルのモデルデータ301を統合して統合モデルのモデルデータ301を作成する。ただし、S24で1個のモデルのモデルデータ301のみが取得されたのであれば、その1個のモデルのモデルデータ301が統合モデルのモデルデータ301となる。統合部133は、描画用メモリ113に統合モデルのVBOを作成する。統合部133は、統合モデルのモデルデータ301をVBOへ登録する。モデルの統合は、縮退三角形と呼ばれる一般的な技法により実現できるため、詳細な説明は省略するが、離れたモデル間を見えない三角形で結ぶことで実現できる。見えない三角形とは、3頂点が一直線上に並んだ三角形のことである。
ここで、分割矩形0〜11の順にS22からS25の処理が実行された場合について説明する。
分割矩形0については、S22で重なりがあると判定される。S23では、取得済分割矩形リスト304が空のため、分割矩形0が取得済分割矩形リスト304内に存在しないと判定される。S24では、モデルLのモデルデータ301が取得されるとともに、分割矩形0が取得済分割矩形リスト304に登録される。この時点での取得済分割矩形リスト304は、図16に示す例の通りである。S25では、モデルLのモデルデータ301が統合されず単体で描画用メモリ113のVBOへ登録される。この時点での描画用メモリ113の内容は、図17に示す例の通りである。
分割矩形1については、S22で重なりがあると判定される。S23では、分割矩形1が取得済分割矩形リスト304内に存在しないと判定される。S24では、モデルC,Dのモデルデータ301が取得されるとともに、分割矩形1が取得済分割矩形リスト304に登録される。この時点での取得済分割矩形リスト304は、図18に示す例の通りである。S25では、モデルC,Dのモデルデータ301が統合され、モデルC,Dの統合モデルのモデルデータ301が描画用メモリ113のVBOへ登録される。この時点での描画用メモリ113の内容は、図19に示す例の通りである。
分割矩形2〜11の全てについて、S22からS25の処理が実行されると、分割矩形2について、モデルOのモデルデータ301が描画用メモリ113のVBOへ登録され、分割矩形5について、モデルB,Eの統合モデルのモデルデータ301が描画用メモリ113のVBOへ登録される。その結果、取得済分割矩形リスト304は、図20に示す例の通りとなる。描画用メモリ113の内容は、図21に示す例の通りとなる。
S26は、前述したモデルレンダリング326である。
S26において、レンダリング部134は、VBOへ登録されたモデルデータ301の3次元レンダリングを行うことで、3次元モデル表示を実現する。
表示範囲が図22に示す例の通りに変更された場合のリアルタイム処理320を説明する。
分割矩形1,2,5については、S22で重なりがあると判定されるが、S23では、分割矩形が取得済分割矩形リスト304内に存在すると判定される。そのため、S24及びS25の処理は実行されない。一方、分割矩形6については、S22で重なりがあると判定され、S23では、分割矩形が取得済分割矩形リスト304内に存在しないと判定される。そのため、S24では、モデルFのモデルデータ301が取得されるとともに、分割矩形6が取得済分割矩形リスト304に登録される。S25では、モデルFのモデルデータ301が統合されず単体で描画用メモリ113のVBOへ登録される。その結果、取得済分割矩形リスト304は、図23に示す例の通りとなる。描画用メモリ113の内容は、図24に示す例の通りとなる。
このように、本実施の形態では、表示範囲の変更により新たに必要となったモデル統合及びVBO登録のみが実施される。既に作成されたVBOは、再利用可能となっている。
なお、本実施の形態では、緯度経度座標系を使用しているが、一意の位置関係がわかる座標系であれば、メートル座標系等、他の座標系を使用してもよい。
地図表示であれば、一般に表示縮尺が変更できる。よって、縮尺ごとに適した基準分割数302を設定し、表示縮尺の変更に合わせて、適用する基準分割数302を切り替えてもよい。
本実施の形態では、1つの管理矩形のみを使用しているが、複数の管理矩形を使用し、それぞれの管理矩形を個別に分割して複数の分割矩形を設定してもよい。
本実施の形態では、ナビゲーション用の地図を表示しているが、ゲーム用の地図等、他の用途の地図を表示してもよい。即ち、ナビゲーション装置101と同じ構成をゲーム装置等、他の種類の装置に適用してもよい。
***効果の説明***
本実施の形態では、複数の分割領域のそれぞれと複数のモデルのそれぞれとの対応を示す第1リスト211だけでなく、複数の分割領域のそれぞれと少なくとも1個のモデルを包含する包含領域との対応を示す第2リスト212が提供される。このため、地図領域の表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出することができる。描画領域と対応しているモデルは、表示されるべき物体を表すモデルである。よって、本実施の形態によれば、表示されるべき物体を表すモデルを確実にレンダリングできるようになる。
本実施の形態では、表示範囲と分割矩形との重なりではなく、表示範囲と包含矩形との重なりを判定した結果に応じて、分割矩形ごとにモデルデータ301をVBOへ登録する。各モデルは分割矩形からはみ出すことはあっても、包含矩形からはみ出すことはない。よって、本実施の形態によれば、表示範囲内のモデルが表示されないという事態を避けることができる。また、高速に各モデルを描画することが可能となる。
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
図25を参照して、本実施の形態に係るシステムであるモデルデータ処理システム100の構成を説明する。
モデルデータ処理システム100は、DA102(Display・Audio)と、携帯端末103と、サーバ装置104とで構成される。
DA102は、車両に搭載される。
DA102は、入力装置907と、ディスプレイ908とを備える。
入力装置907及びディスプレイ908は、実施の形態1でナビゲーション装置101が備えるものと同じである。
携帯端末103は、車両の運転手等のユーザによって使用される。携帯端末103は、具体的には、スマートフォンである。なお、携帯端末103は、タブレット、携帯電話機、或いは、その他の種類の携帯端末であってもよい。
サーバ装置104は、任意の場所に設置されてよいが、本実施の形態では、データセンタに設置される。
DA102と携帯端末103は、有線通信又は無線通信により互いにデータを送受信する。
携帯端末103とサーバ装置104は、ネットワーク105を介して互いにデータを送受信する。ネットワーク105は、具体的には、移動通信網である。なお、ネットワーク105は、移動通信網及びWAN(Wide・Area・Network)の組み合わせ、移動通信網及びインターネットの組み合わせ、或いは、その他の種類のネットワークであってもよい。
図26を参照して、モデルデータ処理システム100の詳細構成を説明する。
サーバ装置104は、データベース111と、管理用メモリ112とを備える。
データベース111及び管理用メモリ112は、実施の形態1でナビゲーション装置101が備えるものと同じである。
サーバ装置104は、さらに、取得部121と、分割部122と、振り分け部123と、算出部124と、送信部141とを備える。
取得部121、分割部122、振り分け部123、算出部124、決定部131は、実施の形態1でナビゲーション装置101が備えるものと同じである。
送信部141は、管理用メモリ112に格納された第1リスト211及び第2リスト212を、ネットワーク105を介して携帯端末103に送信する。
携帯端末103は、描画用メモリ113を備える。
描画用メモリ113は、実施の形態1でナビゲーション装置101が備えるものと同じである。
携帯端末103は、さらに、決定部131と、抽出部132と、統合部133と、レンダリング部134と、受信部142とを備える。
決定部131、抽出部132、統合部133、レンダリング部134は、実施の形態1でナビゲーション装置101が備えるものと同じである。
受信部142は、第1リスト211及び第2リスト212を、ネットワーク105を介してサーバ装置104から受信する。受信部142は、第1リスト211を統合部133に入力する。受信部142は、第2リスト212を抽出部132に入力する。
レンダリング部134は、描画用メモリ113に格納されたデータ201をレンダリングする。これにより、表示範囲内の物体を含むナビゲーション用の地図のビデオデータが作成される。ビデオデータは、DA102に送信され、ディスプレイ908の画面に表示される。
本実施の形態では、モデルデータ処理システム100の各部を携帯端末103及びサーバ装置104に分散して設けているが、各部の分散のしかたは適宜変更することができる。また、各部を携帯端末103のみ、或いは、サーバ装置104のみに設けることもできる。即ち、モデルデータ処理システム100は、DA102及びサーバ装置104のみ、或いは、DA102及び携帯端末103のみで構成されてもよい。モデルデータ処理システム100は、DA102、携帯端末103、サーバ装置104とは別の装置を含んでいてもよい。
実施の形態3.
本実施の形態に係るシステムの構成、本実施の形態に係るシステムの動作、本実施の形態の効果を順番に説明する。主に実施の形態1との差異を説明する。
***構成の説明***
本実施の形態に係るシステムであるモデルデータ処理システム100は、図1に示した実施の形態1のものと同じように、ナビゲーション装置101で構成される。
図27を参照して、モデルデータ処理システム100の詳細構成を説明する。
ナビゲーション装置101は、データベース111と、管理用メモリ112と、描画用メモリ113とを備える。
データベース111、管理用メモリ112、描画用メモリ113は、実施の形態1でナビゲーション装置101が備えるものと同じである。
ナビゲーション装置101は、さらに、取得部121と、分割部122と、振り分け部123と、算出部124と、決定部131と、抽出部132と、統合部133と、レンダリング部134と、再分割部151と、併合部152とを備える。
取得部121、分割部122、振り分け部123、算出部124、決定部131、抽出部132、統合部133、レンダリング部134は、実施の形態1でナビゲーション装置101が備えるものと同じである。
再分割部151は、第1リスト211で1個以上のモデルと対応しており、当該1個以上のモデルのデータ201のレンダリングにかかる処理負荷を判定するための指標が基準よりも高い分割領域を再分割する。再分割部151は、地図領域における当該1個以上のモデルの位置に基づいて、当該1個以上のモデルを再分割後の複数の分割領域に振り分け、第1リスト211を更新する。この更新は、算出部124により管理用メモリ112から第1リスト211が取得される前に行われる。よって、算出部124は、管理用メモリ112から再分割部151による更新後の第1リスト211を取得することになる。
本実施の形態において、再分割部151により用いられる指標は、モデルの個数である。なお、再分割部151により用いられる指標は、モデルのデータ201のレンダリングにかかる処理負荷を判定できる指標であれば、モデルの頂点数、モデルの面積、モデル間の距離等、或いは、これらの組み合わせ等、任意の指標であってよい。
本実施の形態の変形例として、再分割部151が、第1リスト211で1個以上のモデルと対応しており、当該1個以上のモデルのデータ201のレンダリングにかかる処理負荷を判定するための指標が基準と同じ分割領域も再分割するようにしてもよい。
併合部152は、互いに隣接し、第1リスト211で合計0個以上のモデルと対応しており、当該0個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準以下である2個の分割領域を併合し、第1リスト211を更新する。この更新は、算出部124により管理用メモリ112から第1リスト211が取得される前に行われる。よって、算出部124は、管理用メモリ112から併合部152による更新後の第1リスト211を取得することになる。
本実施の形態において、併合部152により用いられる指標は、モデルの個数である。なお、併合部152により用いられる指標は、モデルのデータ201のレンダリングにかかる処理負荷を判定できる指標であれば、モデルの頂点数、モデルの面積、モデル間の距離等、或いは、これらの組み合わせ等、任意の指標であってよい。
本実施の形態の変形例として、併合部152が、互いに隣接し、第1リスト211で合計0個以上のモデルと対応しており、当該0個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準と同じ2個の分割領域を併合しないようにしてもよい。即ち、併合部152が、互いに隣接し、第1リスト211で合計0個以上のモデルと対応しており、当該0個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準よりも低い2個の分割領域のみを併合するようにしてもよい。
図28を参照して、モデルデータ処理システム100の処理構成を説明する。
モデルデータ処理システム100により実行される処理としては、主に、前もって実行される前処理310と、モデル表示時に実行されるリアルタイム処理320とがある。
前処理310には、モデルデータ取得311、情報取得312、管理矩形分割313、基準位置算出314、モデル振り分け315、包含矩形算出316といった実施の形態1と同じ処理のほか、分割判定331、分割矩形再分割332、統合判定333、周辺探索334、分割矩形統合335といった処理が含まれる。分割判定331及び分割矩形再分割332は、再分割部151により実行される。統合判定333及び周辺探索334及び分割矩形統合335は、併合部152により実行される。
分割判定331は、データベース111の中の全モデルデータ301に対応するモデルの振り分けがモデル振り分け315で完了した後、分割矩形データリスト303内の分割矩形が分割可能か基準統合指標305を基に判定する処理である。基準統合指標305は、前述した再分割部151により用いられる指標に相当する。
分割矩形再分割332は、分割矩形が分割可能な場合に、分割矩形を再分割する処理である。
統合判定333は、分割矩形の再分割が分割矩形再分割332で完了した後、分割矩形データリスト303内の分割矩形が統合可能か基準統合指標305を基に判定する処理である。基準統合指標305は、前述した併合部152により用いられる指標にも相当する。
周辺探索334は、分割矩形が統合可能な場合に、その分割矩形の周辺の統合可能な他の分割矩形を探索する処理である。
分割矩形統合335は、周辺探索334で統合可能な他の分割矩形があった場合に、分割矩形を統合する処理である。
リアルタイム処理320は、実施の形態1と同じである。
***動作の説明***
図29及び図30を参照して、モデルデータ処理システム100の動作を説明する。モデルデータ処理システム100の動作は、本実施の形態に係る描画方法に相当する。モデルデータ処理システム100の動作は、本実施の形態に係るモデルデータ処理プログラムの処理手順に相当する。
基準統合指標305は、モデル数=「2」である。その他の設定は、実施の形態1と同じである。なお、管理矩形の大きさ、基準分割数302、基準統合指標305、モデルの個数、形状、大きさ、位置等は、適宜変更することができる。
図29及び図30は、前処理310の手順を示している。
S31からS35は、実施の形態1におけるS11からS15と同じである。よって、全モデルについてS34及びS35の処理が実行された後、分割矩形データリスト303は、図10に示した例の通りとなる。
S36から、分割矩形の再分割処理が開始する。
S36において、再分割部151は、分割矩形データリスト303に分割フラグを付加する。分割フラグは、各分割矩形が「分割対象」であるか「分割対象外」であるかを示すフラグである。再分割部151は、全分割矩形の分割フラグを「分割対象」に設定する。
S37及びS38は、前述した分割判定331である。S40は、前述した分割矩形再分割332である。S37からS41は、全分割矩形が「分割対象外」になるまで繰り返し実行される。
S37において、再分割部151は、「分割対象」である1つの分割矩形を分割矩形データリスト303から探索する。
「分割対象」である分割矩形がない場合、フローはS42に進む。「分割対象」の分割矩形がある場合、フローはS38に進む。
S38において、再分割部151は、「分割対象」の分割矩形と対応しているモデルの個数が基準統合指標305以下であるか判定する。
モデルの個数が基準統合指標305以下の場合、フローはS39に進む。モデルの個数が基準統合指標305より多い場合、フローはS40に進む。
S39において、再分割部151は、分割矩形データリスト303内の分割矩形の分割フラグを「分割対象外」にする。フローはS37へ戻る。
S40において、再分割部151は、分割矩形を再分割する。再分割では、分割矩形が横方向に2分割、縦方向に2分割され、新たな分割矩形集合が作成される。その分割矩形集合に元の分割矩形に振り分けられていたモデルが振り分けられる。なお、再分割の数は、2×2に限らず、4×2等、任意の数であってよい。
S41において、再分割部151は、S40で作成した新たな分割矩形集合に含まれる全ての分割矩形の分割フラグを「分割対象」に設定する。フローはS37へ戻る。
ここで、図10に示した例の通り振り分けが完了した状態でS36からS41の処理が実行された場合について説明する。
S37では、分割矩形データリスト303内から「分割対象」である1つの分割矩形が探索される。この時点では、分割矩形データリスト303内の分割矩形は、全て「分割対象」であるため、分割矩形0が探索されたとする。分割矩形0と対応しているモデルの個数が1個であるため、S38では、モデルの個数が基準統合指標305である「2」以下であると判定される。S39において、分割矩形データリスト303内の分割矩形0の分割フラグが「分割対象外」に変更される。フローはS37へ戻る。分割矩形1〜6については、分割矩形0と同じ処理が行われる。この時点での分割矩形データリスト303は、図31に示す例の通りである。
S37で分割矩形7が探索された場合、分割矩形7と対応しているモデルの個数が3個であるため、S38では、モデルの個数が基準統合指標305である「2」よりも多いと判定される。S40において、分割矩形7は、図32に示す例の通り、分割矩形12〜15に分割される。分割矩形7は消去される。分割矩形12〜15には、S14で算出された振り分け基準位置を基に、モデルG,H,Iが振り分けられる。S41では、分割矩形データリスト303内の分割矩形12〜15の分割フラグが「分割対象」に設定される。フローはS37へ戻る。この時点での分割矩形データリスト303は、図33に示す例の通りである。
分割矩形8〜15は全て「分割対象」であるが、モデルの個数が基準統合指標305以下のため、S39において、分割矩形データリスト303内の分割矩形8〜15の分割フラグが「分割対象外」に変更される。フローはS37へ戻る。
S37では、「分割対象」の分割矩形が1つもないため、分割矩形の再分割処理が終了する。フローはS42に進む。この時点での分割矩形データリスト303は、図34に示す例の通りである。即ち、分割矩形データリスト303において、分割矩形0とモデルLとが対応している。分割矩形1とモデルC,Dとが対応している。分割矩形2とモデルOとが対応している。分割矩形3とモデルPとが対応している。分割矩形4とモデルKとが対応している。分割矩形5とモデルB,Eとが対応している。分割矩形6とモデルFとが対応している。分割矩形8とモデルJとが対応している。分割矩形9とモデルAとが対応している。分割矩形10とモデルMとが対応している。分割矩形11とモデルNとが対応している。分割矩形12とモデルG,Hとが対応している。分割矩形13とモデルIとが対応している。分割矩形14,15と対応しているモデルはない。
S42から、分割矩形の統合処理が開始する。
S42において、併合部152は、分割矩形データリスト303に統合フラグを付加する。統合フラグは、各分割矩形が「統合対象」であるか「統合対象外」であるかを示すフラグである。併合部152は、全分割矩形の統合フラグを「統合対象」に設定する。
S43及びS44は、前述した統合判定333である。S46は、前述した周辺探索334である。S47は、前述した分割矩形統合335である。S43からS48は、全分割矩形が「統合対象外」になるまで繰り返し実行される。
S43において、併合部152は、「統合対象」である1つの分割矩形を分割矩形データリスト303から探索する。
「統合対象」である分割矩形がない場合、フローはS49に進む。「統合対象」の分割矩形がある場合、フローはS44に進む。
S44において、併合部152は、「統合対象」の分割矩形と対応しているモデルの個数が基準統合指標305以上であるか判定する。
モデルの個数が基準統合指標305以上の場合、フローはS45に進む。モデルの個数が基準統合指標305より少ない場合、フローはS46に進む。
S45において、併合部152は、分割矩形データリスト303内の分割矩形の統合フラグを「統合対象外」にする。フローはS43へ戻る。
S46において、併合部152は、分割矩形の周辺から、統合可能な他の分割矩形を探索する。統合可能な他の分割矩形とは、分割矩形と境界を一部共有し、かつ、対応しているモデルの個数を分割矩形と対応しているモデルの個数に加算した数が基準統合指標305以下であり、かつ、「統合対象」であるという条件を満たす分割矩形である。
統合可能な他の分割矩形がない場合、フローはS45に進む。統合可能な他の分割矩形がある場合、フローはS47に進む。
S47において、併合部152は、分割矩形と統合可能な他の分割矩形とを統合する。統合では、2つの分割矩形の範囲が併合され、1つの分割矩形が作成される。その1つの分割矩形に元の2つの分割矩形に振り分けられていたモデルが振り分けられる。
S48において、併合部152は、S47で作成した分割矩形の統合フラグを「統合対象」に設定する。フローはS43へ戻る。
ここで、図34に示した例の通り再分割が完了した状態でS42からS48の処理が実行された場合について説明する。
S43では、分割矩形データリスト303内から「統合対象」である1つの分割矩形が探索される。この時点では、分割矩形データリスト303内の分割矩形は、全て「統合対象」であるため、分割矩形0が探索されたとする。分割矩形0と対応しているモデルの個数が1個であるため、S44では、モデルの個数が基準統合指標305である「2」よりも少ないと判定される。分割矩形4のみが統合可能な他の分割矩形の条件を満たすため、S46において、分割矩形4が探索される。S47では、図35に示す例の通り、分割矩形0と分割矩形4とが併合され、分割矩形16が作成される。分割矩形0,4は消去される。S48では、分割矩形データリスト303内の分割矩形16の統合フラグが「統合対象」に設定される。フローはS43へ戻る。この時点での分割矩形データリスト303は、図36に示す例の通りである。
次のS43では、分割矩形1が探索されたとする。分割矩形1と対応しているモデルの個数が2個であるため、S44では、モデルの個数が基準統合指標305である「2」以上であると判定される。S45において、分割矩形データリスト303内の分割矩形1の統合フラグが「統合対象外」に変更される。フローはS43へ戻る。
次のS43では、分割矩形2が探索されたとする。分割矩形2と対応しているモデルの個数が1個であるため、S44では、モデルの個数が基準統合指標305である「2」よりも少ないと判定される。分割矩形3,6が統合可能な他の分割矩形の条件を満たすが、S46において、分割矩形3が探索されたとする。S47では、分割矩形2と分割矩形3とが併合され、分割矩形17が作成される。分割矩形2,3は消去される。S48では、分割矩形データリスト303内の分割矩形17の統合フラグが「統合対象」に設定される。フローはS43へ戻る。
次のS43では、分割矩形5が探索されたとする。分割矩形5と対応しているモデルの個数が2個であるため、S44では、モデルの個数が基準統合指標305である「2」以上であると判定される。S45において、分割矩形データリスト303内の分割矩形5の統合フラグが「統合対象外」に変更される。フローはS43へ戻る。
続けてS43以降が実施されると、図37に示す例の通り、分割矩形6と分割矩形10とが併合され、分割矩形18が作成される。分割矩形8と分割矩形9とが併合され、分割矩形19が作成される。分割矩形11と分割矩形14とが併合され、分割矩形20が作成される。分割矩形データリスト303内の分割矩形12の統合フラグが「統合対象外」に変更される。分割矩形13と分割矩形15とが併合され、分割矩形21が作成される。フローはS43へ戻る。この時点での分割矩形データリスト303は、図38に示す例の通りである。
さらに続けてS43以降が実施されると、分割矩形データリスト303内の分割矩形16〜19の統合フラグが「統合対象外」に変更される。図39に示す例の通り、分割矩形20と分割矩形21とが併合され、分割矩形22が作成される。その後、分割矩形データリスト303内の分割矩形22の統合フラグも「統合対象外」に変更される。フローはS43へ戻る。
S43では、「統合対象」の分割矩形が1つもないため、分割矩形の統合処理が終了する。フローはS49に進む。この時点での分割矩形データリスト303は、図40に示す例の通りである。即ち、分割矩形データリスト303において、分割矩形1とモデルC,Dとが対応している。分割矩形5とモデルB,Eとが対応している。分割矩形12とモデルG,Hとが対応している。分割矩形16とモデルL,Kとが対応している。分割矩形17とモデルO,Pとが対応している。分割矩形18とモデルF,Mとが対応している。分割矩形19とモデルJ,Aとが対応している。分割矩形22とモデルN,Iとが対応している。
S49は、実施の形態1におけるS16と同じである。S49は、分割矩形データリスト303内の分割矩形ごとに実行される。
S49において、分割矩形1については、モデルCの外接矩形とモデルDの外接矩形とを合成して包含矩形を求める。算出部124は、分割矩形5については、モデルBの外接矩形とモデルEの外接矩形とを合成して包含矩形を求める。算出部124は、分割矩形12,16〜19,22についても、同じように包含矩形を求める。各包含矩形は、図41に示す例の通りである。包含矩形算出後、算出部124は、分割矩形データリスト303内の分割矩形の範囲を包含矩形の範囲に変更する。
全分割矩形についてS49の処理が実行された後、分割矩形データリスト303は、図42に示す例の通りとなる。即ち、分割矩形データリスト303において、分割矩形1と(「外接矩形Cの西端」,「外接矩形Dの南端」)〜(「外接矩形Dの東端」,「外接矩形Cの北端」)の包含矩形とが対応している。分割矩形5と(「外接矩形Bの西端」,「外接矩形Bの南端」)〜(「外接矩形Eの東端」,「外接矩形Bの北端」)の包含矩形とが対応している。分割矩形12と(「外接矩形Gの西端」,「外接矩形Gの南端」)〜(「外接矩形Hの東端」,「外接矩形Gの北端」)の包含矩形とが対応している。分割矩形16と(「外接矩形Kの西端」,「外接矩形Lの南端」)〜(「外接矩形Lの東端」,「外接矩形Kの北端」)の包含矩形とが対応している。分割矩形17と(「外接矩形Oの西端」,「外接矩形Pの南端」)〜(「外接矩形Pの東端」,「外接矩形Oの北端」)の包含矩形とが対応している。分割矩形18と(「外接矩形Fの西端」,「外接矩形Fの南端」)〜(「外接矩形Mの東端」,「外接矩形Mの北端」)の包含矩形とが対応している。分割矩形19と(「外接矩形Jの西端」,「外接矩形Aの南端」)〜(「外接矩形Aの東端」,「外接矩形Aの北端」)の包含矩形とが対応している。分割矩形22と(「外接矩形Nの西端」,「外接矩形Iの南端」)〜(「外接矩形Iの東端」,「外接矩形Nの北端」)の包含矩形とが対応している。
実施の形態1との差は、以上説明した前処理310だけであるため、リアルタイム処理320の説明は省略する。
なお、本実施の形態において、モデルデータ処理システム100は、実施の形態2と同じように、DA102と、携帯端末103と、サーバ装置104とで構成されてもよい。
***効果の説明***
本実施の形態では、基準統合指標305に応じて分割矩形を再分割或いは統合しているため、分割矩形内のモデル数を基準統合指標305程度に平均化できる。つまり、リアルタイム処理320において登録されるVBO内のモデルの個数を平均化できる。よって、モデルレンダリング326で実施される3次元レンダリング処理の負荷を平滑化することができる。
本実施の形態では、再分割により、1つあたりの分割矩形に振り分けられるモデルの数を削減できる。そのため、一部の分割矩形に多くのモデルが振り分けられる場合に比べて、VBOの登録処理にかかる時間を低減させることができる。
また、本実施の形態では、統合により、振り分けられたモデルが少ない分割矩形をなくすことができる。そのため、振り分けられたモデルが少ない分割矩形がある場合に比べて、VBOへの登録回数を削減し、登録オーバーヘッドを軽減させることができる。統合は、基準統合指標305に基づいて行われるため、再分割により1つあたりのVBOに多くのモデルが割り当てられるという事態も避けることができる。
以下では、図43を参照して、実施の形態1及び実施の形態3に係るモデルデータ処理システム100を構成する装置であるナビゲーション装置101のハードウェア構成例を説明する。
ナビゲーション装置101は、コンピュータである。ナビゲーション装置101は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。入力インタフェース905は、入力装置907に接続されている。ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、プロセッシングを行うIC(Integrated・Circuit)である。プロセッサ901は、例えば、CPU(Central・Processing・Unit)、DSP(Digital・Signal・Processor)、又は、GPU(Graphics・Processing・Unit)である。
補助記憶装置902は、例えば、ROM(Read・Only・Memory)、フラッシュメモリ、又は、HDD(Hard・Disk・Drive)である。データベース111は、補助記憶装置902により実装することができる。
メモリ903は、例えば、RAM(Random・Access・Memory)である。管理用メモリ112及び描画用メモリ113は、メモリ903により実装することができる。
通信装置904は、データを受信するレシーバ921及びデータを送信するトランスミッタ922を含む。通信装置904は、例えば、通信チップ又はNIC(Network・Interface・Card)である。
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。入力インタフェース905は、例えば、USB(Universal・Serial・Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High・Definition・Multimedia・Interface)端子である。
入力装置907は、例えば、マウス、タッチペン、キーボード、又は、タッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid・Crystal・Display)である。
補助記憶装置902には、取得部121、分割部122、振り分け部123、算出部124、決定部131、抽出部132、統合部133、レンダリング部134、再分割部151、併合部152といった「部」の機能を実現するプログラムが記憶されている。このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。補助記憶装置902には、OS(Operating・System)も記憶されている。OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図43では、1つのプロセッサ901が示されているが、ナビゲーション装置101が複数のプロセッサ901を備えていてもよい。そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
「部」の処理の結果を示す情報やデータや信号値や変数値は、補助記憶装置902、メモリ903、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
「部」を「サーキットリ」で提供してもよい。また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。「回路」及び「サーキットリ」は、プロセッサ901だけでなく、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、FPGA(Field−Programmable・Gate・Array)といった他の種類の処理回路をも包含する概念である。
実施の形態2に係るモデルデータ処理システム100を構成する装置である携帯端末103及びサーバ装置104にも、図43に示したものと同じハードウェア構成を適用することができる。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、いくつかを組み合わせて実施しても構わない。或いは、これらの実施の形態のうち、いずれか1つ又はいくつかを部分的に実施しても構わない。例えば、これらの実施の形態の説明において「部」として説明するもののうち、いずれか1つのみを採用してもよいし、いくつかの任意の組み合わせを採用してもよい。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
100 モデルデータ処理システム、101 ナビゲーション装置、102 DA、103 携帯端末、104 サーバ装置、105 ネットワーク、111 データベース、112 管理用メモリ、113 描画用メモリ、121 取得部、122 分割部、123 振り分け部、124 算出部、131 決定部、132 抽出部、133 統合部、134 レンダリング部、141 送信部、142 受信部、151 再分割部、152 併合部、201 データ、211 第1リスト、212 第2リスト、301 モデルデータ、302 基準分割数、303 分割矩形データリスト、304 取得済分割矩形リスト、305 基準統合指標、310 前処理、311 モデルデータ取得、312 情報取得、313 管理矩形分割、314 基準位置算出、315 モデル振り分け、316 包含矩形算出、320 リアルタイム処理、321 表示範囲決定、322 重複判定、323 取得済データ判定、324 分割矩形データ取得、325 モデル統合、326 モデルレンダリング、331 分割判定、332 分割矩形再分割、333 統合判定、334 周辺探索、335 分割矩形統合、901 プロセッサ、902 補助記憶装置、903 メモリ、904 通信装置、905 入力インタフェース、906 ディスプレイインタフェース、907 入力装置、908 ディスプレイ、910 信号線、911 ケーブル、912 ケーブル、921 レシーバ、922 トランスミッタ。

Claims (12)

  1. 地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得する取得部と、
    前記地図領域を分割して複数の分割領域を設定する分割部と、
    前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストを管理用メモリに格納する振り分け部と、
    前記管理用メモリから前記第1リストを取得し、前記第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストを、前記取得部により取得された前記複数のモデルのデータをレンダリングするための情報として出力する算出部と
    を備えるモデルデータ処理システム。
  2. 前記地図領域の表示範囲を決定する決定部と、
    前記第2リストから、前記表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出する抽出部と、
    前記第1リストで前記描画領域と1個のモデルとが対応している場合、前記取得部により取得された前記1個のモデルのデータを描画用メモリに格納し、前記第1リストで前記描画領域と2個以上のモデルとが対応している場合、前記取得部により取得された前記2個以上のモデルのデータを統合し、統合したデータを前記描画用メモリに格納する統合部と、
    前記描画用メモリに格納されたデータをレンダリングするレンダリング部と
    をさらに備える請求項1に記載のモデルデータ処理システム。
  3. 前記第1リストで1個以上のモデルと対応しており、前記1個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準よりも高い分割領域を再分割し、前記地図領域における前記1個以上のモデルの位置に基づいて、前記1個以上のモデルを再分割後の前記複数の分割領域に振り分け、前記第1リストを更新する再分割部
    をさらに備え、
    前記算出部は、前記管理用メモリから前記再分割部による更新後の前記第1リストを取得する請求項1又は2に記載のモデルデータ処理システム。
  4. 前記再分割部により用いられる指標は、モデルの個数である請求項3に記載のモデルデータ処理システム。
  5. 互いに隣接し、前記第1リストで合計0個以上のモデルと対応しており、前記0個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準以下である2個の分割領域を併合し、前記第1リストを更新する併合部
    をさらに備え、
    前記算出部は、前記管理用メモリから前記併合部による更新後の前記第1リストを取得する請求項1から4のいずれか1項に記載のモデルデータ処理システム。
  6. 前記併合部により用いられる指標は、モデルの個数である請求項5に記載のモデルデータ処理システム。
  7. 前記算出部により算出される包含領域は、前記少なくとも1個のモデルを囲む外接矩形である請求項1から6のいずれか1項に記載のモデルデータ処理システム。
  8. 前記振り分け部により参照される位置は、前記複数のモデルのそれぞれを囲む外接矩形の中心の位置である請求項1から7のいずれか1項に記載のモデルデータ処理システム。
  9. 地図領域を分割して設定される複数の分割領域のそれぞれと前記地図領域に存在する物体をそれぞれ表す複数のモデルのそれぞれとの対応を示す第1リストと、前記複数の分割領域のそれぞれと前記地図領域で少なくとも1個のモデルを包含する包含領域との対応を示す第2リストとの入力を受け、
    前記地図領域の表示範囲を決定する決定部と、
    前記第2リストから、前記表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出する抽出部と、
    前記第1リストで前記描画領域と1個のモデルとが対応している場合、データベースから取得される前記1個のモデルのデータを描画用メモリに格納し、前記第1リストで前記描画領域と2個以上のモデルとが対応している場合、前記データベースから取得される前記2個以上のモデルのデータを統合し、統合したデータを前記描画用メモリに格納する統合部と、
    前記描画用メモリに格納されたデータをレンダリングするレンダリング部と
    を備えるモデルデータ処理システム。
  10. コンピュータが、
    地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得し、
    前記地図領域を分割して複数の分割領域を設定し、
    前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、
    前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、
    前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストから、前記地図領域の表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出し、
    前記第1リストで前記描画領域と1個のモデルとが対応している場合、前記データベースから取得された前記1個のモデルのデータを描画用メモリに格納し、前記第1リストで前記描画領域と2個以上のモデルとが対応している場合、前記データベースから取得された前記2個以上のモデルのデータを統合し、統合したデータを前記描画用メモリに格納し、
    前記描画用メモリに格納されたデータをレンダリングする描画方法。
  11. コンピュータに、
    地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得する処理と、
    前記地図領域を分割して複数の分割領域を設定する処理と、
    前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストを管理用メモリに格納する処理と、
    前記管理用メモリから前記第1リストを取得し、前記第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストを、前記データベースから取得された前記複数のモデルのデータをレンダリングするための情報として出力する処理と
    を実行させるモデルデータ処理プログラム。
  12. 地図領域を分割して設定される複数の分割領域のそれぞれと前記地図領域に存在する物体をそれぞれ表す複数のモデルのそれぞれとの対応を示す第1リストと、前記複数の分割領域のそれぞれと前記地図領域で少なくとも1個のモデルを包含する包含領域との対応を示す第2リストとの入力を受け、
    コンピュータに、
    前記地図領域の表示範囲を決定する処理と、
    前記第2リストから、前記表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出する処理と、
    前記第1リストで前記描画領域と1個のモデルとが対応している場合、データベースから取得される前記1個のモデルのデータを描画用メモリに格納し、前記第1リストで前記描画領域と2個以上のモデルとが対応している場合、前記データベースから取得される前記2個以上のモデルのデータを統合し、統合したデータを前記描画用メモリに格納する処理と、
    前記描画用メモリに格納されたデータのレンダリングと
    を実行させるモデルデータ処理プログラム。
JP2017500234A 2015-02-20 2015-02-20 モデルデータ処理システム及び描画方法及びモデルデータ処理プログラム Active JP6129456B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/054708 WO2016132523A1 (ja) 2015-02-20 2015-02-20 モデルデータ処理システム及び描画方法及びモデルデータ処理プログラム

Publications (2)

Publication Number Publication Date
JP6129456B2 true JP6129456B2 (ja) 2017-05-17
JPWO2016132523A1 JPWO2016132523A1 (ja) 2017-07-20

Family

ID=56692595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017500234A Active JP6129456B2 (ja) 2015-02-20 2015-02-20 モデルデータ処理システム及び描画方法及びモデルデータ処理プログラム

Country Status (2)

Country Link
JP (1) JP6129456B2 (ja)
WO (1) WO2016132523A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341854A (zh) * 2017-06-05 2017-11-10 杭州坤天自动化系统有限公司 沉浸式3d厂区地图自动生成方法、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116912411A (zh) * 2023-07-17 2023-10-20 杭州阳斯信息技术有限公司 数字化电网图形展示智能算法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3110837B2 (ja) * 1992-01-21 2000-11-20 日本電信電話株式会社 地図図形データ管理方式
JPH10172006A (ja) * 1996-12-10 1998-06-26 Konami Co Ltd 地形の描画処理装置,その描画処理方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体
JP3649430B2 (ja) * 1999-06-30 2005-05-18 日立ソフトウエアエンジニアリング株式会社 図形データ管理方法およびシステム、記憶媒体
JP3615716B2 (ja) * 2001-04-25 2005-02-02 ドリームテクノロジーズ株式会社 データ管理装置及び地図データ記憶システム
JP2005338496A (ja) * 2004-05-27 2005-12-08 Mapquest:Kk 二次元空間データ高速検索方法を採用した地図等の表示システム
JP4672383B2 (ja) * 2005-01-28 2011-04-20 三菱電機株式会社 3次元地図配信用データベース構築装置および3次元地図配信システム
JP5309560B2 (ja) * 2007-12-28 2013-10-09 三菱電機株式会社 描画データ管理装置
JP2009217000A (ja) * 2008-03-11 2009-09-24 Fujitsu Microelectronics Ltd 描画処理装置、描画処理プログラムおよび描画処理方法
WO2011052004A1 (ja) * 2009-10-27 2011-05-05 三菱電機株式会社 地図描画装置
JP2011215717A (ja) * 2010-03-31 2011-10-27 Zenrin Co Ltd 地図データ管理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341854A (zh) * 2017-06-05 2017-11-10 杭州坤天自动化系统有限公司 沉浸式3d厂区地图自动生成方法、电子设备及存储介质

Also Published As

Publication number Publication date
WO2016132523A1 (ja) 2016-08-25
JPWO2016132523A1 (ja) 2017-07-20

Similar Documents

Publication Publication Date Title
CN106462997B (zh) 街道视图和地球视图之间的混合
US20080198158A1 (en) 3D map display system, 3D map display method and display program
US9495767B2 (en) Indexed uniform styles for stroke rendering
US10319062B2 (en) Rendering map data using descriptions of raster differences
CN111127590B (zh) 一种二阶贝塞尔曲线绘制方法及装置
EP3249614A1 (en) Three-dimensional map display system
JP6129456B2 (ja) モデルデータ処理システム及び描画方法及びモデルデータ処理プログラム
EP3797264B1 (en) Dynamic restyling of digital maps
CN110264546B (zh) 图像合成的方法、装置、计算机可读存储介质及终端
JP5037660B2 (ja) 配信装置及び情報配信システム
CN111197992B (zh) 一种路口放大图绘制方法、系统及计算机可读存储介质
JP2006243458A (ja) 三次元地図表示装置および三次元地図表示プログラム
JP2016176974A (ja) 地図画像表示装置、ナビゲーション装置、地図画像表示プログラム、及び地図画像表示方法
CN111383334B (zh) 用于渲染对象的系统和方法
JP5888938B2 (ja) 描画装置
JP6512425B2 (ja) 3次元地図表示システム
JP4551355B2 (ja) 3次元地図表示装置
CN111369676A (zh) 地图图像处理方法、装置和车载设备
JP4551356B2 (ja) 3次元地図表示装置
CN113398575B (zh) 热力图生成方法、装置、计算机可读介质及电子设备
JP6143871B2 (ja) 地図表示システム及び地図表示方法及びプログラム
JP2007316439A (ja) 3次元投影法および3次元図形表示装置
WO2020044907A1 (ja) 更新地域決定方法、情報処理装置、及びプログラム
CN115779418A (zh) 图像渲染方法、装置、电子设备及存储介质
CN115908725A (zh) 三维地形图的渲染方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170214

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170214

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170302

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170411

R150 Certificate of patent or registration of utility model

Ref document number: 6129456

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350