KR102191861B1 - 3차원 지도 표시 시스템 - Google Patents

3차원 지도 표시 시스템 Download PDF

Info

Publication number
KR102191861B1
KR102191861B1 KR1020157025734A KR20157025734A KR102191861B1 KR 102191861 B1 KR102191861 B1 KR 102191861B1 KR 1020157025734 A KR1020157025734 A KR 1020157025734A KR 20157025734 A KR20157025734 A KR 20157025734A KR 102191861 B1 KR102191861 B1 KR 102191861B1
Authority
KR
South Korea
Prior art keywords
map
polygon
offset
area
viewpoint
Prior art date
Application number
KR1020157025734A
Other languages
English (en)
Other versions
KR20150133198A (ko
Inventor
키요나리 키시카와
에이지 테시마
마사토시 아라마키
마사시 우치노우미
마사루 나카가미
타츠야 아자카미
타츠로 요네쿠라
Original Assignee
가부시키가이샤 지오 기쥬츠켄큐쇼
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 가부시키가이샤 지오 기쥬츠켄큐쇼 filed Critical 가부시키가이샤 지오 기쥬츠켄큐쇼
Publication of KR20150133198A publication Critical patent/KR20150133198A/ko
Application granted granted Critical
Publication of KR102191861B1 publication Critical patent/KR102191861B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • 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
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/005Map projections or methods associated specifically therewith
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/10Map spot or coordinate position indicators; Map reading aids
    • G09B29/106Map spot or coordinate position indicators; Map reading aids using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30184Infrastructure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30188Vegetation; Agriculture
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Business, Economics & Management (AREA)
  • Educational Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)
  • Image Generation (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

3차원 지도의 표시시에 시점에서부터 먼 영역에서의 Z-파이팅(Z-fighting)의 발생을 피하는 것이 목적이다.
지도 데이터베이스(130)는 지물들의 3차원 폴리곤들뿐만 아니라 바다 및 호수와 같은 수계 폴리곤들 및 지표면 폴리곤들을 저장한다. 지도 데이터베이스(130)는 수준들 LVa 내지 LVc와 같은 상이한 상세도 수준들을 갖는 복수의 수준들로 지도 데이터를 저장한다. 3차원 지도를 표시하는 절차는 수계를 지표면에 대해 오프셋하고, 시점에서 멀리 떨어진 원경 영역의 지도를 낮은 상세도 수준의 지도 데이터를 이용하여 그리고, 이어서 깊이 버퍼를 클리어링(clear)하고, 시점에 인접한 근경 영역의 지도를 높은 상세도 수준의 지도 데이터를 이용하여 새롭게 그린다. 오프셋은 원경 영역에서는 커지고 근경 영역에서는 작아지게 설정된다. 원경 영역에서 오프셋을 높임으로써 시점에서부터 먼 영역 내에서의 Z-파이팅의 발생이 피해진다.

Description

3차원 지도 표시 시스템{THREE-DIMENSIONAL MAP DISPLAY SYSTEM}
본 발명은 3차원 지도를 표시하는 3차원 지도 표시 시스템에 관한 것이다.
네비게이션 시스템 및 컴퓨터의 디스플레이에 사용되는 전자적 지도 분야에서, 지도는 폴리곤(polygon) 데이터의 형태로 제공되는 지도 데이터를 참조함으로써 표시부 상에 그려진다. 이러한 드로잉을 위하여 일반적으로 그래픽스 라이브러리로 불리는 드로잉(drawing) 함수가 사용된다. 3차원 드로잉을 위해 사용되는 그래픽스 라이브러리의 전형적인 예들은 오픈GL(OpenGL) 및 다이렉트 X(DirectX)를 포함한다. 이러한 그래픽스 라이브러리를 사용함으로써 이미지를 고속으로 효율적으로 그릴 수 있다.
그래픽스 라이브러리는 사용상 제한을 갖지만, 드로잉 오브젝트로서의 폴리곤 데이터는 그러한 제한사항을 만족시키지 못할 수 있다. 이 경우, 폴리곤 데이터는 그래픽스 라이브러리의 제한사항을 만족하도록 처리되어야 한다. 이러한 처리의 일 예로서, 특허문헌 1은 그래픽스 라이브러리에 의해 처리 가능한 정점(vertex)의 개수를 기준으로 설정된 상한 값에 기초하여 폴리곤들을 분할하여 그리는 기술을 개시한다.
그려질 폴리곤 데이터가 지도 데이터와 같이, 다량의 폴리곤들로 구성되는 대용량 데이터인 경우, 드로잉 속도를 증가시키기 위해 데이터 용량을 감소시키는 프로세스가 수행될 수 있다. 특허문헌 2는 폴리곤들의 드로잉 속도를 증가시키기 위하여, 선분들 사이의 각도가 큰 경우 폴리곤들을 그리는 과정에서 몇몇 정점들을 생략하는 기술을 개시한다.
[특허 문헌 1] JP 2000-306073A [특허 문헌 2] JP 2006-259035A
원근 투영으로 3차원 지도를 표시하는 처리는 깊이 관계를 지정하고 숨겨진 선 제거를 수행한다. 지표면 폴리곤과 수계 폴리곤이 지표면과 수계 사이의 경계에서 중첩하여 그려지는 중첩된 영역에서는, 2개의 폴리곤이 거의 같은 높이에 존재한다. 이것은 깊이 관계의 지정이 불안정해지는 Z-파이팅(Z-fighting)으로 불리는 현상을 초래하여, 이미지 깜빡임과 같은 문제를 발생시킬 수 있다. 이 현상은 지표면과 수계 사이의 경계에만 한정되는 것은 아니고, 같은 높이의 폴리곤들이 중첩된 영역에서 공통적으로 발생한다. 이러한 문제들을 고려하여, 본 발명의 목적은 3차원 지도를 표시할 때 복수의 폴리곤이 중첩하여 그려지는 중첩된 영역에서의 Z-파이팅의 발생을 피하는 것이다.
본 발명에 따라, 3차원 지도를 표시하는 3차원 지도 표시 시스템이 제공되는데, 이는 지형 및 각 지물의 3차원 형상을 나타내는 3차원 폴리곤 데이터를 저장하는 지도 데이터베이스; 거의 수평면을 나타내는 제1 폴리곤과 제2 폴리곤의 중첩하는 영역에서, 제1 폴리곤과 제2 폴리곤 사이에 높이 차가 생기도록 제1 폴리곤 및 제2 폴리곤을 높이 방향으로 서로에 대해 상대적으로 이동시키는 오프셋 처리를 수행하는 오프셋 설정부; 및 3차원 폴리곤 데이터 및 오프셋 설정부에 의해 처리된 폴리곤들을 이용하여 지정된 시점 위치 및 지정된 시선 방향에서 본 원근 투영으로 3차원 지도를 그리는 그리기 제어기를 포함한다. 오프셋 설정부는 원근 투영의 시점에서 먼 지점에서는, 시점에 인접한 지점보다 높이 차가 크도록 제1 폴리곤 및 제2 폴리곤을 이동시킨다.
본 발명은 제1 폴리곤 및 제2 폴리곤을 상대적으로 이동시킴으로써 Z-파이팅의 발생을 억제한다. 시점에서 먼 지점에서 오프셋을 증가시킴으로써, 후술된 바와 같이 Z-파이팅의 발생을 효과적으로 억제한다.
도 1은 오프셋에 의한 이로운 효과들을 나타내는 도면이다. 나타낸 3차원 지도에서, 바다 폴리곤은 3차원 폴리곤으로 생성된 지표면 폴리곤 위에 부분적으로 중첩하여 그려져 있다. 지표면 폴리곤 및 바다 폴리곤은 모두 거의 수평면을 나타내는 폴리곤들이므로, 본 발명의 제1 폴리곤 및 제2 폴리곤에 해당한다. 깊이 관계의 지정이 불안정한 Z-파이팅이 지표면 폴리곤과 바다 폴리곤의 경계에서 발생할 수 있다.
이 문제를 피하기 위한 기술은 바다 폴리곤을 전체적으로 오프셋 Ha(m)만큼 위로 이동시키는 것이다. 오프셋 이후의 영역 A의 상태가 도면의 아래쪽 부분에 나타나있다. 나타낸 바와 같이, 실제로는 존재하지 않는 틈이 바다 폴리곤을 오프셋함으로써 지표면 폴리곤과 바다 폴리곤 사이에 발생한다. 그러나 이것은 지표면 폴리곤과 바다 폴리곤 사이의 높이 차를 명확히 하므로 Z-파이팅의 발생을 피하게 한다. 지도가 상위 시점(upper viewpoint)에서 내려다보는 시선 방향으로 그려지는 한, 틈은 문제를 일으키지 않는다.
그러나 원근 투영으로 그리는 경우, 시점에서부터 멀리 떨어진 영역, 예를 들어, 영역 B는 수직 및 수평 표시 스케일들이 매우 작으므로 높이 Ha(m) 만큼 오프셋하는 것이 표시 시에는 실질적으로 거의 차이가 없을 수 있다. 따라서 보이는 영역의 깊이 관계를 지정하는 Z-파이팅이 먼 영역 B에서는 피해지지 못할 수 있다.
이 문제를 피하기 위해 먼 영역 B에서 Z-파이팅의 발생을 피할 만한 값을 오프셋에 설정하면, 반대로 오프셋이 수백 미터로 커질 수 있다. 이렇게 큰 오프셋은 인접한 영역 A에서는 오프셋-도입된 틈이 시인되게 하고 부정확한 표시를 일으킨다.
전술한 문제들을 피하기 위해, 본 발명은 오프셋이 보다 인접한 영역에서는 작아지고 보다 먼 영역에서는 커지도록, 오프셋을 변화시킨다. 이것은 인접한 영역에서의 적절한 표시를 보장하면서 먼 영역에서는 Z-파이팅의 발생을 피하게 한다.
도 1은 지표면 폴리곤 및 바다 폴리곤의 예를 나타냈지만, 본 발명은 이들 폴리곤들에만 한정되는 것이 아니라, 다양한 폴리곤들에 적용 가능하다.
본 발명에 따라 전술한 오프셋의 변화는 여러 양태로 구현될 수 있다. 예를 들어, 오프셋은 시점에서부터의 거리에 따라 함수 또는 지도로 제공될 수 있다.
또 다른 양태에 따라 지도 데이터베이스는 3차원 폴리곤 데이터를 소정의 지리적 크기의 메시들로 나누어 저장하고, 오프셋 설정부는 각 메시에 관련하여 제1 폴리곤 및 제2 폴리곤을 이동시킬 수 있다.
이는 각 지점에서 오프셋을 컴퓨팅하는 부하를 줄인다. 각 메시에 관련된 오프셋은, 예를 들어, 시점에서부터의 거리에 따라 표로 미리 지정될 수 있다.
각 메시에 관련하여 오프셋을 제공하면, 오프셋이 계단식으로 변하고 메시의 경계에서 틈이 발생하게 된다. 이러한 틈이 시인되는 것을 막기 위한, 예를 들어, 하나의 적용 가능한 방법은 그림의 배경색과 오프셋 대상인 폴리곤에 대해 동일한 색을 이용하는 것이다. 또 다른 적용가능한 방법은 틈을 덮기 위해 수직의 가상적인 폴리곤을 생성하는 것이다.
또 다른 양태에 따라, 오프셋 설정부는 시점 위치에서부터 멀리 떨어진 원경 영역에서부터 시점 위치에 인접한 근경 영역을 향해서, 메시들의 경계에서 높이 방향으로의 이동량을 줄이면서 오프셋 처리를 수행할 수 있다. 그리기 제어기는 영역의 높이 방향으로의 이동량의 내림차순으로, 동일한 이동량으로 오프셋 처리된 각각의 영역에 대해 지도를 그리고, 이미 그려진 지도 상의 각각의 지점의 표시 깊이의 값에 상관없이 이미 그려진 지도 위에 새로운 영역을 그릴 수 있다.
이 양태는, 시점에 인접한 근경 영역을 그리는 처리시에 이미 그려진 지도에 상대적인 표시 깊이를 결정하지 않으면서, 이동량의 내림차순으로, 즉, 원격 영역에서 근경 영역을 향해 지도를 그린다. 즉, 근경 영역을 그리는 경우에는, 원경 영역은 2차원 배경으로 취급된다. 이는, 원경 영역에 대해 보다 큰 오프셋이 설정되더라도 시점 위치에서 시인될 수 있는 틈의 발생을 피한다.
예를 들어, 표시 깊이의 결정을 피할 수 있는 기술은 원경 영역을 그린 후 Z-버퍼를 클리어링하는 것이다.
메시 단위로 오프셋을 변화시키는 경우, 후술된 바와 같이, 본 발명은, 복수의 상이한 유형들의 지도 데이터를 병용할 수 있다.
지도 데이터베이스는 상이한 지도 상세도 수준들을 갖는 복수의 수준들 각각으로 3차원 지도를 표시하기 위한 지도 데이터를 저장할 수 있다.
그리기 제어기는, 시점 위치에서부터 멀리 떨어진 보다 먼 원경 영역에 대해서는 보다 낮은 지도 상세도 수준을 갖는 보다 거친 수준의 지도 데이터를 이용하고 시점 위치에 보다 인접한, 보다 인접한 근경 영역에 대해서는 보다 높은 지도 상세도 수준을 갖는 보다 세세한 수준의 지도 데이터를 이용하도록, 복수의 상이한 수준들의 지도 데이터를 병용하여 지도를 그릴 수 있다.
오프셋 설정부는 복수의 수준들 각각에서 지도를 그리기 전에, 각각의 수준의 제1 폴리곤 및 제2 폴리곤을 이동시킬 수 있다.
각각의 수준의 지도 데이터는 메시들로 나뉘어 저장될 수 있다.
이 양태는 각각의 수준에 관련해서 오프셋 처리를 수행한다. 각각의 수준의 지도 데이터가 메시들로 나뉘므로, 이 양태는 또한 이롭게도 메시 단위로의 오프셋 처리와 같이, 오프셋에 관련된 컴퓨팅 부하를 줄인다.
원경 영역에서부터 근경 영역을 향해서 차례로 오프셋을 변화시켜 그림으로써, 오프셋의 계단식 변화에 의해 발생되는 틈의 생성이 피해진다.
복수의 상이한 유형들의 지도 데이터가 병용되면, 메시들의 크기가 상세도들의 수준에 따라 상이해진다. 따라서, 상이한 수준들의 지도 데이터가, 그리기에 이용되는 상이한 수준들의 지도 데이터 사이의 경계에서 중첩하여 그려진다. 본 발명은 전술된 바와 같이 수준을 변경한 후에는 이미 그려진 지도에 관련하여 표시 깊이는 결정하지 않는다. 이는 상이한 수준들의 지도 데이터의 중첩된 영역에서도 Z-파이팅의 발생을 피하게 한다.
추가적으로, 원경 영역에 대해 거친 수준의 지도 데이터를 이용함으로써 지도를 그리는데 요구되는 처리 부하가 줄어든다.
본 발명은 다양한 폴리곤들에 적용 가능하다.
일 양태에 따라, 지도 데이터베이스는 지표면을 나타내는 3차원 폴리곤 데이터 및 지표면을 전체적으로 또는 부분적으로 덮으면서 그려지는 수계를 나타내는 3차원 폴리곤 데이터를 포함할 수 있고, 오프셋 설정부는 지표면에 대해 비교적 보다 높은 위치로 수계를 이동시킬 수 있다.
이는 도 1에 나타낸 양태에 해당한다. 지표면 및 수계는 종종 3차원 지도에서 시점에 인접한 인접 영역에서부터 먼 영역까지 넓은 범위에 걸쳐 그려지고, Z-파이팅의 문제를 일으킬 가능성이 높다. 따라서, 본 발명은 이들의 폴리곤들에게 특히 유용하다.
본 발명은 전술한 다양한 특징들 모두를 반드시 모두 포함하지는 않을 수 있지만 적당히 그 일부를 생략하거나 이들 특징들을 조합하여 구성될 수 있다.
본 발명은 또한 3차원 지도를 표시하기 위해 컴퓨터에 의해 수행되는 3차원 지도 표시 방법으로 및 컴퓨터가 3차원 지도를 표시하게 하는 컴퓨터 프로그램으로 구성될 수 있다. 본 발명은 또한 이러한 컴퓨터 프로그램이 저장된 컴퓨터-판독가능 비일시적 저장 매체로 구성될 수도 있다.
본 발명에 따라, 3차원 지도의 표시시에 시점에서부터 먼 영역에서의 Z-파이팅의 발생이 피해질 수 있다.
도 1은 오프셋에 의한 이로운 효과들을 나타내는 도면.
도 2는 3차원 지도 표시 시스템의 구성을 나타내는 도면.
도 3은 지도 데이터베이스의 셀 구조를 나타내는 도면.
도 4는 지도 데이터베이스의 데이터 구조를 나타내는 도면.
도 5는 지도 표시 처리의 흐름도(1).
도 6은 지도 표시 처리의 흐름도(2).
도 7A는 깊이 버퍼의 클리어링의 이로운 효과들을 나타내는 도면.
도 7B는 깊이 버퍼의 클리어링의 이로운 효과들을 나타내는 도면.
도 7C는 깊이 버퍼의 클리어링의 이로운 효과들을 나타내는 도면.
도 8은 수정예에 따른 지도 표시 처리의 흐름도.
제1 실시예
다음은, 개인용 컴퓨터의 디스플레이 상에 3차원 지도를 표시하도록, 개인용 컴퓨터를 이용하여 3차원 지도 표시 시스템으로 구성된 본 발명의 실시예를 설명한다. 본 발명은 경로 탐색/경로 안내 장치와 같은 또 다른 장치에 3차원 지도 표시 기능으로서 통합된 양태에 적용될 수 있다.
A. 시스템 구성
도 2는 3차원 지도 표시 시스템(100)의 구성을 나타내는 도면이다. 3차원 지도 표시 시스템(100)은 사용자의 지시에 응답하여 개인용 컴퓨터의 디스플레이 상에 3차원 지도를 표시하도록 개인용 컴퓨터를 이용하여 구성된 시스템으로서 제공된다.
이 실시예는 개인용 컴퓨터를 이용한 독립형 시스템을 나타내지만, 3차원 지도 표시 시스템(100)은 지도 데이터베이스(130) 및 다른 요구되는 데이터를 저장하는 서버가 네트워크에 의해 개인용 컴퓨터에 접속된 시스템으로 구성될 수도 있다. 지도를 표시하는데 이용되는 단말은 개인용 컴퓨터에 한정되지 않고, 예를 들어, 태블릿 단말, 휴대 전화, 또는 스마트폰의 다양한 단말들 중 임의의 것일 수 있다.
3차원 지도 표시 시스템(100)은 나타낸 바와 같은 다양한 기능 블록들을 갖는다. 이들 기능 블록들은 각각의 기능들을 구현하는 소프트웨어를 설치함으로써 구성될 수 있지만, 부분적으로 또는 전체적으로 하드웨어에 의해 구성될 수도 있다.
지도 데이터베이스(130)는 3차원 지도를 표시하기 위해, 예를 들어, 지물들의 3차원 형상들을 나타내는 3차원 모델들을 포함하는 지도 데이터를 저장한다. 이 실시예에 따라, 나타낸 바와 같이, 지도 데이터는 복수의 수준들 LVa 내지 LVc로 나뉘어 저장된다. 각각의 수준의 데이터는 소정의 크기의 메시들로 나뉘어 관리된다. 수준 LVc는 최고 상세도 수준을 가진 데이터, 즉, 좁은 길들 및 작은 지물들의 고른 데이터를 저장한다. 수준 LVc는 필연적으로 큰 데이터 양을 가지므로 비교적 작은 메시들로 나뉘어 관리된다. 수준 LVb는 수준 LVc보다 약간 낮은 상세도 수준을 갖는다. 수준 LVb는 좁은 길들과 같은 데이터는 생략하고 표준 크기 도로들 및 건물들의 데이터를 저장한다. 수준 LVb의 메시 크기는 수준 LVc의 메시 크기보다 크게 설정된다. 수준 LVa는 더 낮은 상세도 수준을 갖고, 예를 들어, 고속 도로들과 같은 주요 도로들 및 주요지형지물들로 인식되는 주요 건물들의 데이터를 저장한다. 수준 LVa의 메시 크기는 수준 LVb의 메시 크기보다 더 크게 설정된다.
지도 데이터는 전술된 바와 같이 복수의 수준들로 나뉘어 저장되지만, 각각의 지물의 데이터는 이들 수준들 중 하나로 선택적으로 저장되는 것은 아니다. 예를 들어, 주요지형지물로 인식되는 주요 건물은 모든 수준들 LVa 내지 LVc로 공통적으로 저장된다. 즉, 각각의 수준의 데이터는 그 수준에 대응하는 상세도 수준으로 지도를 표시하는데 사용될 수 있다.
이 실시예에 따라, 지도 데이터는 메시들의 세분인 셀들로 관리된다. 이 셀 구조는 후술될 것이다.
명령 입력부(110)는 3차원 지도의 표시에 관한 사용자의 지시들을 수신한다. 사용자의 지시들은, 예를 들어, 시점 위치, 시선 방향, 및 표시 범위(스케일)와 같은 지도를 표시하기 위한 지시들을 포함한다.
지도 데이터 판독부(120)는 지도 데이터베이스(130)로부터 지도 데이터를 판독하도록 동작한다. 수준/메시 지정부(121)는 시점 위치와 같은 사용자의 지시들에 따라 어떤 수준 및 어떤 데이터의 메시가 지도 데이터베이스(130) 내에서 이용될지를 지정한다. 셀 지정부(122)는, 수준/메시 지정부(121)에 의해 지정된 메시 내에서 어떤 데이터의 셀이 이용되는지를 지정한다. 지도 데이터 판독부(120)는 지정된 메시 및 지정된 셀로부터 지도를 표시하기 위한 데이터를 판독한다.
이 실시예에 따라, 하나의 3차원 지도를 표시하기 위해, 복수의 수준들의 지도 데이터가 조합되어 이용된다. 지도 데이터의 조합 이용을 제어하는 것은 후술될 것이다.
표시 제어기(140)는 지도 데이터베이스(130)의 지도 데이터를 이용하여 3차원 지도를 표시한다.
이 실시예에 따라, 처리는 지도를 시점 위치에서부터의 거리에 따라 복수의 영역들로 나누고, 각각의 영역들에 대해 상이한 수준들의 지도 데이터를 이용하여 후술된 바와 같이 3차원 지도를 표시한다.
표시/비표시 지정부(141)는 시점 위치에서부터의 거리에 따라 지도 데이터에 저장된 각각의 지물의 표시/비표시를 지정한다.
오프셋 설정부(142)는 오프셋을 설정한다. 오프셋 처리는 바다를 나타내는 폴리곤을 지도 데이터베이스(130)에 저장된 값에서 높이 방향으로 이동시키는 처리이다. 여기서 오프셋은 이동량을 의미한다. 영역의 거리가 시점에서부터 작을수록 오프셋이 작아지도록, 각각의 영역들에 대한 오프셋들에 상이한 값들이 할당된다. 오프셋을 설정하는 방법은 후술될 것이다.
깊이 버퍼 클리어링부(143)는, 영역 내의 그리기가 완료될 때마다, 지도를 그리는 동안 숨겨진 선 제거를 위해 이용되는 깊이 버퍼의 값을 초기화한다. 이 처리는, 그려진 영역이 3차원적인 의미 없이 하나의 2차원적인 배경 화면을 구성하게 한다.
그리기 제어기(144)는 영역의 시점에서부터의 거리의 내림차순으로, 각각의 영역에 관련하여 원근 투영으로 지도를 그리도록 지도 데이터를 이용한다. 숨겨진 선 제거는 각각의 영역을 그리는 과정에서 깊이 버퍼를 사용하여 수행된다. 전술된 바와 같이 깊이 버퍼를 초기화한 이후에, 다음의 영역에 대해 그리기가 수행된다. 이 다음 영역을 그릴 때, 표시 깊이가 깊이 버퍼에 새로 저장되고, 이 저장에 기초하여 숨겨진 선 제거가 수행된다. 이미 그려진 영역은 단지 배경 이미지로 취급되므로, 새로운 영역은 이미 그려진 기존 영역의 이미지 위에 그려진다.
B. 지도 데이터베이스의 구성
다음은 본 실시예에 따른 지도 데이터베이스의 구성을 설명한다. 전술된 바와 같이, 이 실시예에 따라, 지도 데이터는 상이한 상세도 수준을 갖는 복수의 수준들로 제공된다(도 2). 각각의 수준에서, 지도 데이터는 소정의 지리적 크기의 메시 단위로 저장된다. 각각의 메시 내에서, 저장된 각각의 지물들의 크기들 및 그들의 데이터 양들에 기초하여, 셀들이 메시의 부분들로 정의되어, 데이터가 셀 단위로 저장된다. 다음은 우선 셀들의 개념을 설명하고, 이어서 데이터 구조를 설명한다.
도 3은 지도 데이터베이스의 셀 구조를 나타내는 도면이다. 좌측에는 지도 데이터를 구성하는 메시의 예가 나타나있다.
다양한 지물들의 형상들을 나타내는 지물 데이터가 메시에 저장된다. 나타낸 예에서, 연못, 도로, 철도, 및 복수의 건물들의 지물 데이터가 메시에 저장된다. 각각의 지물들은 상이한 2차원적인 크기들을 갖는다. 예를 들어, 도로는 메시의 거의 전체 영역에 걸쳐 위치하는 "긴" 지물이다. 비교적 큰 2차원적인 크기들의 이러한 지물들은 여기서 큰 크기 지물들이라고 불린다. 연못 및 철도는 메시 내에서 비교적 넓은 영역들을 차지하는 중간 크기들의 지물들(이하, "중간 크기 지물들"이라고 불림)이다. 큰 크기 지물들과 중간 크기 지물들 간의 분류는 지물들의 속성들에 의해서 명확히 결정되는 것은 아니라, 각각의 지물들이 메시 내에서 차지하는 실제 크기들에 기초하여 결정될 수 있다. 예를 들어, 도 3에 나타낸 것보다 큰 연못이 있으면, 그 연못은 큰 크기 지물로 분류될 수 있다.
이러한 큰 크기 지물들 및 중간 크기 지물들 이외의, 비교적 작은 2차원적인 크기의 건물들 및 다른 지물들은 작은 크기 지물들로 지정된다.
이 실시예는 전술된 바와 같이 2차원적인 크기로 지물들을 분류하고, 이어서 지물들의 관리를 위한 단위들로 셀들을 설정한다.
우측에 나타낸 바와 같이, 큰 크기 지물들에 대해서는 메시와 동일한 크기를 갖는 셀 1(C1)이 설정된다. 중간 크기 지물들에 대해서는 메시보다 작은 크기를 가진 2개의 셀 2들(C21 및 C22)이 설정된다. 이와 달리, 중간 크기 지물들에 대해서 셀들(C21 및 C22)의 총 크기를 갖는 셀이 이용될 수 있다. 셀 2가 2개의 셀들(C21 및 C22)로 나뉠지 아닐지는 각각의 셀에 포함된 데이터 양이 소정의 상위 한계를 초과하는지의 결정에 기초한다. 연못 및 철도의 지물 데이터의 총 데이터 양이 셀 2에 대해 설정된 상위 한계를 초과하면, 지물 데이터는 2개의 셀들(C21 및 C22)로 나뉘어 관리된다. 총 데이터 양이 상위 한계를 초과하지 않으면, 이와 달리, 지물 데이터는 셀들(C21 및 C22)의 총 크기를 가진 하나의 단일 셀로 관리된다. 이 방식에서, 셀들(C21 및 C22)의 형상들은 각각의 셀들에 포함된 지물들의 크기들 및 각각의 셀들 내의 지물들의 데이터 양들에 기초하여 결정된다.
예를 들어, 건물들의 작은 크기 지물들의 지물 데이터도 마찬가지로 2개의 셀 3들(C31 및 C32)로 나뉘어 관리된다. 셀들(C31 및 C32)의 형상들도 각각의 셀들 내에 포함되는 지물들의 형상들 및 데이터 양에 기초하여 결정된다. 도 3에 나타낸 예에서, 각각의 셀 3은 각각의 건물에 대해 설정된 것이 아니라, 셀(C31)에는 2개의 건물들이 저장되고, 셀(C32)에는 4개 건물들이 저장된다. 이는 각각의 셀에 저장된 이들 복수의 건물들의 총 데이터 양이 셀에 대해 설정된 상위 한계를 초과하지 않음을 나타낸다.
좌측에 나타낸 일점 쇄선들은 셀 2들을 나타내며, 파선들은 셀 3들을 나타낸다. 이 방식에서, 하나의 메시 내의 지물 데이터는 복수의 셀들로 나뉘어 관리된다. 도 3에 나타낸 예에서, 지물 데이터는 3개의 지물 그룹들, 즉, 큰 크기 지물들, 중간 크기 지물들, 및 작은 크기 지물들로 분류되고, 셀들이 각각의 지물 그룹에 대해 설정됐다. 수정예에 따라, 지물 데이터는 2개의 지물 그룹들, 즉, 큰 크기 지물들 및 작은 크기 지물들로 분류될 수 있고, 셀들은 오직 작은 크기 지물들에 대해서만 설정될 수 있다.
본 실시예에 따라, 셀들은 지리적인 부분들에 기초하여 메시 내의 지물들을 단순히 나눔으로써 정의되는 것이 아니고, 지물들이 큰 크기 지물들 및 작은 크기 지물들과 같은 복수의 그룹들로 분류되어, 셀들이 각각의 지물 그룹들에 대해 설정된다. 따라서, 단지 임의의 하나의 지물 그룹에 대해 설정된 셀들만을 판독하여, 예를 들어, 작은 크기 지물들을 저장하는 셀 3들만을 판독하여 지도를 표시할 수 있는 것은 아니다. 지도를 적절하게 표시하기 위해서는, 셀들 1 내지 3 모두를 판독할 필요가 있다. 셀(C31)에 저장된 데이터가 지도의 특정 표시 범위에 대해 충분하고 셀(C32)에 저장된 데이터가 그 특정 표시 범위 밖에 있는 경우, 본 실시예의 절차는 셀(C32)의 판독을 생략할 수 있다. 이는 지도 표시를 위한 처리 부하를 줄인다.
도 4는 지도 데이터베이스의 데이터 구조를 나타내는 도면이다.
지도 데이터베이스는 도 2에 나타낸 복수의 수준들로 관리된다.
각각의 수준의 데이터는 소정의 지리적 크기의 복수의 메시들로 구성된다.
도 3에 나타낸 바와 같이, 각각의 메시는 큰 크기 지물들을 저장하는 셀 1, 중간 크기 지물들을 저장하는 셀 2들, 및 작은 크기 지물들을 저장하는 셀 3들로 나뉜다. 셀 2들은 적절히 생략될 수 있다. 4개 이상의 수준들의 셀 구조도 이용될 수 있다.
예로서, 각각의 지물에 대한 데이터 구조가 셀 1에 관련하여 나타나있다. 나타낸 바와 같은 다양한 데이터는 각각의 지물에 대해 다음과 같이 저장된다:
"지물 ID"는 지물의 고유 식별 정보를 나타낸다;
"명칭"은 지물의 명칭을 나타낸다;
"위치"는 지물의 대표점의 위치를 나타낸다. 예를 들어, 그 위치는 지물의 2차원적인 형상의 무게 중심의 좌표 값들로 지정될 수 있다;
"형상"은 지물의 2차원적인 또는 3차원적인 형상을 나타내는 폴리곤 데이터이다;
"유형"은 도로 또는 건물과 같은 지물의 유형에 관한 정보이다;
"표시 수준"은 지도의 표시시에 시점에서부터의 거리에 따라 지물의 표시/비표시를 제어하기 위해 사용되는 정보이다. 이 실시예에 따라, 나타낸 바와 같이, 표시 수준은 정수 값들 0 내지 3 중 하나로 지정된다. 표시 수준 "0"은 시점에서부터, 시점에서부터 시점에 비교적 인접한 거리 D1까지의 범위 내에 위치된 지물의 표시를 나타낸다. 마찬가지로, 표시 수준 "1"은 시점에서부터 거리 D2까지의 범위 내에 위치된 지물의 표시를 나타내고, 표시 수준 "2"는 시점에서부터 거리 D3까지의 범위 내에 위치된 지물의 표시를 나타낸다. 표시 수준 "3"은, 거리의 상위 한계가 지정되지 않아, 시점에서부터의 거리에 상관없는 지물의 표시를 나타낸다.
표시 범위의 예가 도면에서 해칭된 범위(hatched range)로 나타나 있다. 지물에 대해 표시 수준 "2"가 설정되어 있으면, 표시 범위는 거리 D3보다 짧은 범위, 즉, 도면 내의 해칭된 범위이다.
C. 지도 표시 처리
다음은 지도를 표시하기 위한 지도 표시 처리를 설명한다. 이 지도 표시 처리는 도 2에 나타낸 표시 제어기(140)에 의해 주로 수행되고, 하드웨어 구성으로는 지도 표시 시스템(100)의 CPU에 의해 수행된다.
도 5 및 6은 지도 표시 처리의 흐름도들이다.
지도 표시 처리가 시작되면, 지도 표시 시스템(100)의 CPU는 시점, 시선 방향, 및 표시 스케일에 관한 사용자의 지시들을 입력한다(단계 S10). 이들 지시들에 대한 기본 설정들이 사용될 수 있다.
이어서 CPU는 어떤 지도 데이터가 판독되는지에 관련하여, 수준들 및 메시들을 특정한다(단계 S12). 메시들을 특정하는 절차가 나타나있다.
본 실시예는 복수의 영역들에 대해 상이한 수준들의 지도 데이터를 병용하여 지도를 표시한다. 이 실시예에 따라, 복수의 영역들이 영역의 시점에서부터의 거리의 내림차순으로 영역 A 및 영역 B로 불린다.
CPU는 우선, 사용자에 의해 지정된 표시 스케일에 기초하여 각각의 영역의 수준을 특정한다. 예를 들어, 표시 스케일로서 넓은 영역 표시가 지정되면, 도 2에 나타낸 수준 LVa 및 수준 LVb가 각각 영역 A 및 영역 B에 대해서 선택될 수 있다. 표시 스케일로 상세한 표시가 지정되면, 즉, 도 2에 나타낸 수준 LVb 및 수준 LVc가 각각 영역 A 및 영역 B에 대해 선택될 수 있다.
수준들이 선택된 후, CPU는 시점 및 시선 방향에 기초하여, 각각의 수준에서 지도 데이터의 판독 대상인 메시들을 특정한다. 메시들을 특정하는 절차가 나타나 있다. 시점에서부터 시작하는 부채꼴 모양의 범위가 지도의 표시 범위이다. 시점에 비교적 인접한 해칭된 영역이 영역 B이고, 먼 하얀색 영역이 영역 A이다.
영역 B에 대해 선택된 수준의 지도 데이터에서, 영역 B와 중첩하는 메시, 즉, 파선들로 나타낸 9개의 메시들이 영역 B에 대한 지도 데이터의 판독 대상이 된다. 마찬가지로, 영역 A에 대해서, 영역 A와 중첩하는 메시들, 즉, 실선들로 나타낸 2개의 메시들이 영역 A에 대한 지도 데이터의 판독 대상이 된다.
후술된 바와 같이, 이 실시예에 따라, 영역 B의 지도 이미지가 영역 A의 지도 이미지 위에 그려진다. 따라서, 영역 A에 관련하여, 반드시 지도 데이터의 판독 범위를 영역 A에 한정할 필요는 없다. 예를 들어, 시점 근처에서부터 시작하는 전체 영역이 영역 A로 그려질 수도 있다.
이어서 CPU는 지도 표시 위치 및 시선 방향에 기초하여, 어떤 지도 데이터가 판독되는 지에 관련하여, 셀들을 특정한다(단계 S14). 셀들을 특정하는 방법이 나타나있다.
여기서, 메시들 M1 및 M2가 단계 S12의 처리에 의한 판독 대상으로 특정된 다. 셀들 C1 내지 C6이 파선으로 나타낸 바와 같이 메시 M1에 대해 정의된다. 셀들 C7 내지 C11이 파선으로 나타낸 바와 같이 메시 M2에 대해 정의된다. CPU는 메시들 M1 및 M2에 포함된 셀들 C1 내지 C11 중의 판독 대상으로 지도 표시 범위 V(이 범위는 직사각형으로 나타나있지만, 기술적으로는 원근 투영의 부채꼴 모양의 영역임)와 중첩하는 셀들을 특정한다. 이 결과, 나타낸 예에서 셀들 C4 내지 C9가 판독 대상으로 특정된다.
이 실시예는 판독 대상을 셀 단위로 특정함으로써, 전체 메시들 M1 및 M2의 지도 데이터를 판독할 필요가 없어진다. 이는 이롭게 지도 데이터를 판독하는데 요구되는 시간을 줄인다.
CPU는 특정된 셀들로부터, 시점에서부터의 거리가 표시 수준을 만족하는 지물 데이터를 판독한다(단계 S16). 예를 들어, 도 4에 나타낸 바와 같이, 표시 수준 "2"는 시점에서부터 거리 D3까지의 범위 내에 위치한 특징의 표시를 특정한다. 지물이 시점에서부터 거리 D3보다 멀리 위치하면, 이 지물은 판독 대상에서 제외된다. 이 결정에 이용되는 시점에서부터 지물까지의 거리는 각각의 지물에 대해 개별적으로 계산될 수 있거나 셀의 대표 점(예를 들어, 시점에 가장 인접한, 셀 경계 상의 점)을 이용하여 계산될 수 있다.
상기 처리 대신, 수정된 처리가 특정된 셀들로부터 모든 지물 데이터를 판독하고 이어서 표시 수준에 기초하여 각각의 지물의 표시/비표시를 제어할 수 있다.
지물 데이터가 판독된 후, CPU는 그릴 영역을 선택한다(단계 S18). 이 실시예에 따라, 그리기는, 화살표 DA로 나타낸 바와 같이, 영역의 시점에서부터의 거리의 내림차순으로 수행된다. 따라서, CPU가 이어서, 영역 A가 처음으로 그려질 제 1 그릴 영역으로 처음 선택되고, 영역 A의 그리기가 완료된 후, 영역 B가 이어서 다음 그릴 영역으로 선택되도록, 그릴 영역들을 선택한다.
이어서 CPU는 선택된 그릴 영역 또는 그것의 수준에 따라 바다 폴리곤에 대한 오프셋을 설정한다(단계 S20). 오프셋들의 예가 나타나있다. 오프셋들 OSTa, OSTb, 및 OSTc가 거리의 시점에서부터의 내림차순으로 영역들 A, B, 및 C에 각각 할당된다. 본 실시예에 따라, 보다 큰 오프셋이 시점에서부터 보다 먼 거리를 가진 영역에 할당된다. 따라서, 오프셋들은 OSTc<OSTb<OSTa의 관계를 만족한다. 각각의 오프셋들의 값들은 원근 투영시의 Z-파이팅의 발생을 억제하도록 결정된다. 각각의 영역에 대한 구체적인 오프셋 값은, 예를 들어, 그 영역의 시점에서부터의 거리, 시점 위치, 시선 방향, 및 원근 투영 이미지의 해상도에 따라 결정된다.
이 실시예에 따라, 시점의 위치에 상관없이, 시점과 각각의 그릴 영역의 정도 및 위치는 고정된다. 따라서, 단계(S20)에서 매번 오프셋을 계산할 필요는 없고, 각각의 그릴 영역에 대해 미리 제공된 값이 오프셋으로 이용될 수 있다.
오프셋의 설정이 완료되면, CPU는 지도 데이터를 이용하여, 원근 투영으로 선택된 그릴 영역을 그린다(단계 S22). 이 동작에 사용되는 지도 데이터는 선택된 그릴 영역에 대해 지정된 수준의 지도 데이터이다. 이 그리기 동작의 과정에서, 각각의 지점의 표시 깊이는 깊이 버퍼에 저장되고, 숨겨진 선 제거가 수행된다.
이 그리기 동작은 또한, 선택된 그릴 영역과 시점에 인접한 영역 사이의 경계 부근에 3차원 지물을 그리지 않도록 제어된다. 이러한 처리의 구체적인 절차는, 선택된 그릴 영역과 시점에 인접한 영역 사이의 경계 부근에는 지물이 표시되지 않는 비표시 영역을 설정하고, 각각의 지물이 이 비표시 영역에 속하는지를 결정하는 것이다. 가능한 절차는 어떤 지물도 그리지 않고, 먼 영역의 지표면을 나타내는 폴리곤만 그리는 것이다.
그리기가 완료되면, CPU는 깊이 버퍼를 클리어링한다(단계 S24). 이는, 그려진 영역의 이미지가 표시 깊이의 정보 없이 단지 2차원 배경 이미지만을 나타내게 한다.
이상의 일련의 처리에 의해 전체 지도의 그리기가 완료되지 않으면(단계 S26), CPU는 시점에 인접한 근접 영역을 다음의 그릴 영역으로 선택하고(단계 S18), 단계들(S20 내지 S24)의 처리를 반복하여 지도를 그린다.
깊이 버퍼가 클리어링되었으므로, 새로운 영역이 이미 그려진 기존 영역 위에 그려진다. 새로운 영역의 원근 투영의 과정시에, 표시 깊이가 깊이 버퍼에 새롭게 저장되므로, 이 새로운 영역에 대한 숨겨진 선 제거가 적절히 수행된다.
다음은 그릴 영역들의 처리시에 설정된 비표시 영역의 의미를 설명한다.
이 실시예는, 전술된 바와 같이, 깊이 버퍼를 클리어링함으로써 시점에 보다 인접한 영역의 이미지가 시점에서부터 보다 먼 영역의 이미지 위에 그려지게 한다. 3차원의 지물이 이들 2개의 이미지들 사이의 경계 부근에 그려지면, 3차원 지물의 일부가 인접한 영역의 이미지에 의해 부자연스럽게 덮일 수 있다. 전술된 바와 같이, 본 실시예의 절차는 경계 부근에 비표시 영역을 설정하여, 어떠한 3차원 지물도 경계 부근에 그려지지 않게 함으로써, 이러한 가능한 불편을 피한다. 비표시 영역의 크기는 보다 인접한 영역의 이미지가 먼 영역의 이미지 위에 그려지는 범위를 고려하여, 이 목적을 달성하도록 임의로 설정될 수 있다.
다음은 깊이 버퍼를 클리어링하는 의미를 설명한다.
도 7들은 깊이 버퍼를 클리어링하는 이로운 효과들을 나타내는 도면들이다. 도 7A는 영역 A가 그려진 상태를 나타낸다. 이 영역을 그리는 처리시에, 도 6의 단계(S20)에 나타낸 바와 같이, 바다 폴리곤(바다 a로 나타냄)은 지표면(지표면 a로 나타냄)에서 높이 OSTa만큼 오프셋된다. 도 7A에 나타낸 바와 같이, 따라서, 바다 폴리곤은 지표면 위에 떠있는 위치 관계로 그려진다. 이 방식으로 바다 폴리곤을 띄움으로써 바다 폴리곤과 지표면 사이의 Z-파이팅이 피해진다.
바다 폴리곤이 떠있는 위치 관계로 그려졌지만, 먼 오프셋은 원근 투영에서 거의 시인 불가능하다. 따라서, 결과의 그림은 도 7B에 나타낸 바와 같이 지표면 a와 바다 a가 해안선을 형성한 상태이다.
이 상태에서 깊이 버퍼는 클리어링되었으므로, 지표면 a 및 바다 a는 다음의 그리기에서 단지 배경 이미지로 취급된다.
도 7C는 영역 A보다 시점에 인접한 근접 영역 B가 그려진 상태를 나타낸다. 이 영역을 그리는 처리시에, 도 6의 단계(S20)에 나타낸 바와 같이, 바다 폴리곤(바다 b로 나타냄)은 지표면(지표면 b로 나타냄)으로부터 높이 OSTb만큼 오프셋된다. 따라서, 도 7C에 나타낸 바와 같이, 바다 b는 지표면 b 위의 떠있는 위치 관계로 그려진다. 이미 그려진 바다 a 및 지표면 a는 깊이 버퍼를 클리어링함으로써 단지 배경 이미지로 취급되므로, 바다 b는 바다 a 위에 그려진다. 이 실시예에 따라, 시점에서부터 보다 먼 바다 a에 대한 오프셋 OSTa는 바다 b에 대한 오프셋 OSTb보다 크게 설정된다(도 6의 단계(S20)). 그러나, 깊이 버퍼를 클리어링함으로써 도 6의 단계(S20)에 나타낸 바와 같이 계단형 틈이 생기는 것이 피해진다. 동일한 것이 영역 B보다 시점에 더 인접한 영역을 그릴 때도 적용된다.
깊이 버퍼의 클리어링은 바다 폴리곤의 오프셋에 대해서뿐만 아니라 지표면에 대해서도 이롭게 효과적이다. 본 실시예의 절차는 그리기를 위해 상이한 수준들의 지도 데이터를 병용하므로, 그리기시에 지표면 a 및 지표면 b와 같은 지표면들의 폴리곤들이 부분적으로 중첩된다. 이러한 경우에, 깊이 버퍼가 클리어링되지 않으면, 지표면 a와 지표면 b가 서로 중첩되는 영역에서 Z-파이팅이 발생하여 이미지가 불안정해진다. 그러나, 본 실시예의 절차는 깊이 버퍼를 클리어링함으로써, 지표면 b가 지표면 a 위에 그려지게 한다. 이는 이롭게 Z-파이팅을 피한다.
D. 지도 표시 처리(수정예)
도 8은 수정예에 따른 지도 표시 처리를 나타내는 흐름도이다. 지도 표시 처리가 시작되면, CPU는 시점, 시선 방향, 및 표시 스케일을 입력한다(단계 S40). 수정예의 절차는 표시 스케일에 따라 단지 하나의 지도 데이터 수준만을 선택하여 이용한다.
CPU는 시점에서부터의 거리에 따라 바다 폴리곤에 대한 오프셋을 설정한다(단계 S42). 실시예의 절차가 각각의 수준에 대해 오프셋을 설정하는 반면, 수정예의 절차는 시점에서부터의 거리에 따라 각각의 지점에 대해 오프셋을 설정한다. 오프셋의 설정 예가 나타나있다. 시점에 인접한 영역에서의 Z-파이팅을 피하기 위해, 시점 위치에도 소정의 오프셋 OST0이 설정된다. 오프셋(OST)은 단조 증가 함수로 거리 D에 따라 설정된다. 단계(S42)에서, CPU는 바다 폴리곤 상의 각각의 지점에 대한, 시점에서부터의 거리 D를 결정하고, 지정된 함수에 의해 오프셋(OST)을 계산하고, 계산된 오프셋(OST)을 바다 폴리곤의 높이 값에 더한다. 이 처리는 바다 폴리곤의 각각의 지점에 대해 수행된다.
상기 처리의 완료 시에, CPU는 지도 표시 위치 및 시선 방향에 기초하여 셀들을 특정하고(단계 S44), 시점에서부터의 거리가 표시 수준을 만족하는 지물 데이터를 판독하고(단계 S46), 원근 투영으로 그리기를 수행한다(단계 S48). 이들 처리들은 실시예(도 5 및 6)의 것들과 동일하므로 여기서 구체적으로 설명되지 않는다. 수정예는 단일 수준의 지도 데이터를 이용하므로, 깊이 버퍼를 클리어링할 필요가 없다. 그러나, 실시예와 같이, 수정예의 절차는 그리기를 위해 상이한 수준들의 지도 데이터를 병용할 수 있다.
전술된 실시예의 3차원 지도 표시 시스템은 시점에서부터 먼 영역에 대해서는 보다 큰 오프셋을 설정하고 시점에 인접한 영역에 대해서는 보다 작은 오프셋을 설정하여 지도를 그린다. 이는 이롭게 인접한 영역에서부터 먼 영역까지의 Z-파이팅의 발생을 피하고, 또한, 예를 들어, 인접한 영역에서 오프셋이 시인되는 가능한 불편을 피한다.
실시예는 복수의 수준들의 지도 데이터를 병용함으로써, 원경 영역에 대해서 상세한 지도 데이터를 판독할 필요가 없다. 이는 근경 영역에 대해서는 충분히 상세한 정보를 제공하고, 원경 영역에 대해서는 적은 데이터 양의 지도 데이터를 이용하여, 지도가 효율적으로 그려지게 한다.
추가적으로, 실시예는 지도 데이터를 메시 단위로 저장할 뿐만 아니라, 각각의 메시의 세분화들로서의 셀 단위로 지도 데이터를 저장한다. 이는, 지도를 표시하는데 불필요한 데이터가 판독되는 것을 피하고, 지도를 표시하기 위해 데이터를 판독하는데 요구되는 시간을 줄인다.
이상은 본 발명의 실시예를 설명했다.
본 발명의 3차원 지도 표시 시스템은 전술된 실시예의 모든 기능들을 반드시 가질 필요는 없고, 이러한 기능들의 일부만을 가질 수도 좋다. 본 발명의 3차원 지도 표시 시스템은 전술된 것들 이외의 다른 추가적인 기능들을 가질 수도 있다.
본 발명은 상기 실시예에 한정되지 않고, 본 발명의 취지 내의 다양한 구성들로 구현될 수도 있다. 예를 들어, 실시예에서 하드웨어로 구성되는 부분들은 소프트웨어 구성으로 구현될 수 있으며, 그 반대도 가능하다.
실시예는 지표면 폴리곤과 바다 폴리곤 사이에 오프셋을 적용하는 것을 설명했다. 그러나, 본 발명은 이 실시예에 제한되지 않으며, 다양한 폴리곤들 사이에 적용될 수 있다.
[산업상의 이용 가능성]
본 발명은 시점에 인접한 영역에서부터 먼 영역까지의 범위에서 Z-파이팅을 피하면서 3차원 지도를 표시하기 위해 이용가능하다.
100: 3차원 지도 표시 시스템
110: 명령 입력부
120: 지도 데이터 판독부
121: 수준/메시 지정부
122: 셀 지정부
130: 지도 데이터베이스
140: 표시 제어기
141: 표시/비표시 지정부
142: 오프셋 설정부
143: 깊이 버퍼 클리어링부
144: 그리기 제어기

Claims (7)

  1. 3차원 지도를 표시하는 3차원 지도 표시 시스템에 있어서,
    지형 및 각각의 지물의 3차원 형상을 나타내는 3차원 폴리곤(polygon) 데이터를 저장하는 지도 데이터베이스;
    서로 다른 수평면을 나타내는 제1 폴리곤과 제2 폴리곤의 중첩하는 영역에서, 상기 제1 폴리곤과 상기 제2 폴리곤 사이에 높이 차를 변화시키도록, 상기 제1 폴리곤 및 상기 제2 폴리곤을 높이 방향으로 서로에 대해 상대적으로 이동시키는 오프셋 처리를 수행하는 오프셋 설정부; 및
    상기 3차원 폴리곤 데이터 및 상기 오프셋 설정부에 의해 처리된 폴리곤들을 이용하여, 지정된 시점 위치 및 지정된 시선 방향에서 본 원근 투영으로 상기 3차원 지도를 그리는 그리기 제어기를 포함하고,
    상기 오프셋 설정부는 상기 원근 투영의 시점에서부터 먼 지점에서는 상기 시점에 인접한 지점보다 상기 높이 차가 크도록 상기 제1 폴리곤 및 상기 제2 폴리곤을 이동시키는, 3차원 지도 표시 시스템.
  2. 제 1 항에 있어서,
    상기 지도 데이터베이스는 상기 3차원 폴리곤 데이터를 소정의 지리적 크기의 메시들로 나누어 저장하고,
    상기 오프셋 설정부는 각각의 상기 메시들 각각에 관련하여 상기 제1 폴리곤 및 상기 제2 폴리곤을 이동시키는, 3차원 지도 표시 시스템.
  3. 제 2 항에 있어서,
    상기 오프셋 설정부는 상기 시점 위치에서부터 멀리 떨어진 원경 영역에서부터 상기 시점 위치에 인접한 근경 영역을 향해서, 메시들의 경계에서 상기 높이 방향의 이동량을 줄이면서 상기 오프셋 처리를 수행하고,
    상기 그리기 제어기는 상기 영역의 상기 높이 방향으로의 상기 이동량의 내림차순으로, 동일한 이동량으로 오프셋 처리된 각각의 영역에 대해 지도를 그리고,
    상기 그리기 제어기는 이미 그려진 지도 상의 각각의 지점의 표시 깊이의 값에 상관없이, 상기 이미 그려진 지도 위에 새로운 영역을 그리는, 3차원 지도 표시 시스템.
  4. 제 3 항에 있어서,
    상기 지도 데이터베이스는 상이한 지도 상세도 수준들을 갖는 복수의 수준들 각각으로 상기 3차원 지도를 표시하기 위한 지도 데이터를 저장하고,
    상기 그리기 제어기는, 상기 시점 위치에서부터 멀리 떨어진 보다 먼 원경 영역에 대해서는 보다 낮은 지도 상세도 수준을 갖는 보다 거친 수준의 지도 데이터가 이용되고, 상기 시점 위치에 보다 인접한 근경 영역에 대해서는 보다 높은 지도 상세도 수준을 갖는 보다 세세한 수준의 지도 데이터가 이용되도록, 복수의 상이한 수준들의 지도 데이터를 병용하여 지도를 그리고,
    상기 오프셋 설정부는 상기 복수의 수준들 각각에서 상기 지도를 그리기 전에, 상기 복수의 수준들 각각의 상기 제1 폴리곤 및 상기 제2 폴리곤을 이동시키는, 3차원 지도 표시 시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 지도 데이터베이스는 지표면을 나타내는 3차원 폴리곤 데이터 및 상기 지표면을 전체적으로 또는 부분적으로 덮으면서 그려지는 수계를 나타내는 3차원 폴리곤 데이터를 포함하고,
    상기 오프셋 설정부는 상기 지표면에 대해 비교적 보다 높은 위치로 상기 수계를 이동시키는, 3차원 지도 표시 시스템.
  6. 3차원 지도를 표시하기 위해 컴퓨터에 의해 수행되는 3차원 지도 표시 방법에 있어서,
    상기 컴퓨터는 지형 및 각각의 지물의 3차원 형상을 나타내는 3차원 폴리곤 데이터를 저장하는 지도 데이터베이스를 갖고,
    상기 3차원 지도 표시 방법은,
    서로 다른 수평면을 나타내는 제1 폴리곤과 제2 폴리곤의 중첩하는 영역에서, 상기 제1 폴리곤과 상기 제2 폴리곤 사이에 높이 차를 변화시키도록, 상기 제1 폴리곤 및 상기 제2 폴리곤을 높이 방향으로 서로에 대해 상대적으로 이동시키는 오프셋 처리를 수행하는 단계; 및
    상기 3차원 폴리곤 데이터 및 상기 오프셋 처리된 폴리곤들을 이용하여, 지정된 시점 위치 및 지정된 시선 방향에서 본 원근 투영으로 상기 3차원 지도를 그리는 단계를 포함하고,
    상기 오프셋 처리를 수행하는 단계는 상기 원근 투영의 시점에서부터 먼 지점에서는 상기 시점에 인접한 지점보다 상기 높이 차가 크도록 상기 제1 폴리곤 및 상기 제2 폴리곤을 이동시키는 단계를 포함하는, 3차원 지도 표시 방법.
  7. 컴퓨터가 3차원 지도를 표시하게 하는 컴퓨터 프로그램이 저장된 저장매체에 있어서,
    상기 컴퓨터는 지형 및 각각의 지물의 3차원 형상을 나타내는 3차원 폴리곤 데이터를 저장하는 지도 데이터베이스를 갖고,
    상기 컴퓨터 프로그램은, 상기 컴퓨터가,
    서로 다른 수평면을 나타내는 제1 폴리곤과 제2 폴리곤의 중첩하는 영역에서, 상기 제1 폴리곤과 상기 제2 폴리곤 사이에 높이 차를 변화시키도록, 상기 제1 폴리곤 및 상기 제2 폴리곤을 높이 방향으로 서로에 대해 상대적으로 이동시키는 오프셋 처리를 수행하고;
    상기 3차원 폴리곤 데이터 및 상기 오프셋 처리된 폴리곤들을 이용하여, 지정된 시점 위치 및 지정된 시선 방향에서 본 원근 투영으로 상기 3차원 지도를 그리는 기능들을 구현하게 하고,
    상기 오프셋 처리는 상기 원근 투영의 시점에서부터 먼 지점에서는 상기 시점에 인접한 지점보다 상기 높이 차가 크도록 상기 제1 폴리곤 및 상기 제2 폴리곤을 이동시키는, 컴퓨터 프로그램이 저장된 저장매체.
KR1020157025734A 2013-03-25 2014-03-10 3차원 지도 표시 시스템 KR102191861B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013061216A JP5992354B2 (ja) 2013-03-25 2013-03-25 3次元地図表示システム
JPJP-P-2013-061216 2013-03-25
PCT/JP2014/001323 WO2014156005A1 (en) 2013-03-25 2014-03-10 Three-dimensional map display system

Publications (2)

Publication Number Publication Date
KR20150133198A KR20150133198A (ko) 2015-11-27
KR102191861B1 true KR102191861B1 (ko) 2020-12-16

Family

ID=51623026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157025734A KR102191861B1 (ko) 2013-03-25 2014-03-10 3차원 지도 표시 시스템

Country Status (7)

Country Link
US (1) US9710956B2 (ko)
EP (1) EP2979251A4 (ko)
JP (1) JP5992354B2 (ko)
KR (1) KR102191861B1 (ko)
CN (1) CN105051790B (ko)
HK (1) HK1214875A1 (ko)
WO (1) WO2014156005A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6567818B2 (ja) * 2014-12-08 2019-08-28 クラリオン株式会社 車載装置、及び、地図データ管理システム
US11074447B1 (en) * 2018-07-13 2021-07-27 Hana Resources, Inc. Land analysis system using drone-captured data
CN109325992B (zh) * 2018-10-19 2023-07-04 珠海金山数字网络科技有限公司 图像绘制方法和装置、计算设备及存储介质
CN111243075B (zh) * 2020-03-17 2021-11-09 广东趣炫网络股份有限公司 一种面向手游的生成水深度图的方法、装置和设备
KR102242834B1 (ko) * 2020-12-28 2021-04-21 하늘지도 주식회사 오브젝트 정보를 제공하는 3차원 메쉬 지도 제작 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002042162A (ja) 2000-07-27 2002-02-08 Namco Ltd ゲームシステム及び情報記憶媒体
JP2010191916A (ja) 2009-02-20 2010-09-02 Nintendo Co Ltd 描画処理装置、および、描画処理プログラム
WO2011124276A1 (en) 2010-04-09 2011-10-13 Tomtom International B.V. Methods of and apparatus for displaying map information
WO2013026909A2 (en) * 2011-08-23 2013-02-28 Tomtom International B.V. Methods of and apparatus for displaying map information

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2955989B2 (ja) * 1997-02-18 1999-10-04 株式会社セガ・エンタープライゼス ゲーム装置
JP2000306073A (ja) 1999-04-19 2000-11-02 Toshiba Corp 図形出力方法、地図描画方法、及び記録媒体
JP2003006680A (ja) * 2001-06-20 2003-01-10 Zenrin Co Ltd 3次元電子地図データの生成方法
JP4447865B2 (ja) * 2003-08-01 2010-04-07 ソニー株式会社 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法
JP2006259035A (ja) 2005-03-16 2006-09-28 Zenrin Co Ltd 地図表示装置
KR100888155B1 (ko) * 2008-05-14 2009-03-10 팅크웨어(주) 텍스처 맵핑을 이용하여 3차원 지도를 표시하는 시스템 및방법
CN102027328B (zh) * 2008-05-29 2014-07-23 通腾科技股份有限公司 产生地图显示图像
US8532924B2 (en) * 2009-09-02 2013-09-10 Alpine Electronics, Inc. Method and apparatus for displaying three-dimensional terrain and route guidance
US20120235947A1 (en) * 2010-01-29 2012-09-20 Saeko Yano Map information processing device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002042162A (ja) 2000-07-27 2002-02-08 Namco Ltd ゲームシステム及び情報記憶媒体
JP2010191916A (ja) 2009-02-20 2010-09-02 Nintendo Co Ltd 描画処理装置、および、描画処理プログラム
EP2221769B1 (en) 2009-02-20 2013-01-02 Nintendo Co., Ltd. Rendering processing apparatus and computer-readable storage medium having rendering processing program stored therein
WO2011124276A1 (en) 2010-04-09 2011-10-13 Tomtom International B.V. Methods of and apparatus for displaying map information
WO2013026909A2 (en) * 2011-08-23 2013-02-28 Tomtom International B.V. Methods of and apparatus for displaying map information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Giegl, Markus, and Michael Wimmer. "Unpopping: solving the image-space blend problem." (2005)
Johansson, et al. "From CAD to VR-Implementations for Urban Planning and Building Design." Digital Design: The Quest for New Paradigms, 23nd eCAD Conference Proceedings Vol. 23(2005)

Also Published As

Publication number Publication date
CN105051790B (zh) 2018-01-19
HK1214875A1 (zh) 2016-08-05
WO2014156005A1 (en) 2014-10-02
CN105051790A (zh) 2015-11-11
EP2979251A4 (en) 2017-04-19
US9710956B2 (en) 2017-07-18
KR20150133198A (ko) 2015-11-27
JP2014186569A (ja) 2014-10-02
JP5992354B2 (ja) 2016-09-14
EP2979251A1 (en) 2016-02-03
US20160012632A1 (en) 2016-01-14

Similar Documents

Publication Publication Date Title
KR102191861B1 (ko) 3차원 지도 표시 시스템
US7612777B2 (en) Animation generating apparatus, animation generating method, and animation generating program
KR101799945B1 (ko) 3차원 지도 묘화 시스템, 지물 데이터 생성 방법, 3차원 지도 묘화 방법 및 컴퓨터 판독가능한 기록 매체
US9835462B2 (en) System for determining a height coordinate
KR102144605B1 (ko) 3차원 지도 표시 시스템
US9549169B2 (en) Stereoscopic map display system
KR101591427B1 (ko) 3차원 지형 영상 가시화에서의 적응형 렌더링 방법
EP2589933B1 (en) Navigation device, method of predicting a visibility of a triangular face in an electronic map view
US20160239996A1 (en) 3d map display system
JP2007041692A (ja) 三次元地形データ制御装置及び三次元地形データ制御方法
JP6091676B2 (ja) 3次元地図表示システム
KR100914915B1 (ko) 저비용의 뷰-체적 클리핑 방법 및 장치
WO2007138866A1 (ja) 3次元投影法および3次元図形表示装置
Inatsuka et al. Level of detail control for texture on 3D maps
CN114842125A (zh) 建筑物渲染方法、装置、电子设备及程序产品

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant