KR20190093667A - 가상 지도들에서의 타일 지도들을 생성하고 업데이트하기 위한 방법 및 장치 - Google Patents
가상 지도들에서의 타일 지도들을 생성하고 업데이트하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20190093667A KR20190093667A KR1020197021056A KR20197021056A KR20190093667A KR 20190093667 A KR20190093667 A KR 20190093667A KR 1020197021056 A KR1020197021056 A KR 1020197021056A KR 20197021056 A KR20197021056 A KR 20197021056A KR 20190093667 A KR20190093667 A KR 20190093667A
- Authority
- KR
- South Korea
- Prior art keywords
- map
- tile
- area
- virtual object
- virtual
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/387—Organisation of map data, e.g. version management or database structures
- G01C21/3881—Tile-based structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/537—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
- A63F13/5378—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/08—Bandwidth reduction
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
- G09B29/006—Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
- G09B29/007—Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Ecology (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Data Mining & Analysis (AREA)
- Optics & Photonics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
Abstract
본 출원의 구현들은 가상 지도들에서의 타일 지도들을 생성하고 업데이트하기 위한 방법 및 장치를 개시한다. 업데이트 방법은 다음과 같은 것: 제1 영역에서, 가상 객체가 위치되는 중앙 영역을 결정하는 단계 - 제1 영역은 가상 객체가 위치되는 가상 지도 내에 로딩된 타일 지도들을 포함하는 영역 지도이고, 중앙 영역의 경계는 제1 영역에 위치됨 -; 및 가상 객체가 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 결정하고, 거리 파라미터 및 제1 영역에 기초하여 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계 - 거리 파라미터는 타일 지도 좌표계에서 x-축 방향 및 y-축 방향에서 중앙 영역에 대한 가상 객체가 위치된 타일 지도의 상대 거리를 나타내고, 제2 영역은 거리 파라미터에 기초하여 제1 영역을 이동시킨 후에 결정되는 지도 영역임 - 를 포함한다.
Description
본 출원은 이미지 프로세싱 분야에 관한 것이며, 상세하게는, 가상 지도들에서의 타일 지도들을 생성하고 업데이트하기 위한 방법 및 장치에 관한 것이다.
지도에서의 많은 데이터 양으로 인해, 클라이언트에서의 지도 로딩 속도를 보장하고 서버 부하를 감소시키기 위해, 지도는 슬라이싱, 즉 타일 지도 기술을 통해 부분적으로 로딩될 필요가 있다.
Baidu Map 또는 Auto Navi Map과 같은 실제 지도가 가상 애플리케이션에서 가상 지도를 생성하는 데 사용될 때, 실제 지도가 큰 크기를 가지기 때문에, 실제 지도에 기초하여 생성되는 가상 지도가 또한 매우 크고, 가상 지도에서의 모든 타일 지도들이 한 번에 로드되면, 가상 애플리케이션의 성능 및 메모리에 큰 압박이 가해져, 가상 지도의 열악한 디스플레이 효율을 결과한다.
가상 지도의 디스플레이 효율을 어떻게 개선시킬지가 본 출원의 구현들에서 다루어질 필요가 있는 기술적 문제점이다.
이전의 기술적 문제점을 완화시키기 위해, 본 출원의 구현들은 다음과 같이 구현된다:
제1 양태에 따르면, 가상 지도들에서의 타일 지도들을 업데이트하기 위한 방법이 제공된다. 이 방법은 다음과 같은 것: 제1 영역에서, 가상 객체가 위치되는 중앙 영역을 결정하는 단계 - 제1 영역은 가상 객체가 위치되는 가상 지도 내에 로딩된 타일 지도들을 포함하는 영역 지도이고, 중앙 영역의 경계는 제1 영역에 위치되며, 가상 지도의 타일 지도 좌표계에서 x-축 방향에서의 중앙 영역 내의 임의의 타일 지도와 가상 객체 사이의 최대 거리는 X1 미만이고, 타일 지도 좌표계에서 y-축 방향에서의 중앙 영역 내의 임의의 타일 지도와 가상 객체 사이의 최대 거리는 Y1 미만이며, 하나의 타일 지도의 길이는 타일 지도 좌표계에서 x-축 상의 단위로서 사용되고, 하나의 타일 지도의 폭은 타일 지도 좌표계에서 y-축 상의 단위로서 사용되며, X1 및 Y1은 미리 결정된 양의 정수들임 -; 및 가상 객체가 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 결정하고, 거리 파라미터 및 제1 영역에 기초하여 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계 - 거리 파라미터는 타일 지도 좌표계에서 x-축 방향 및 y-축 방향에서 중앙 영역에 대한 가상 객체가 위치된 타일 지도의 상대 거리들을 나타내고, 제2 영역은 거리 파라미터에 기초하여 제1 영역을 이동시킨 후에 결정되는 지도 영역임 - 를 포함한다.
제2 양태에 따르면, 가상 지도들에서의 타일 지도들을 생성하기 위한 방법이 제공된다. 이 방법은 다음과 같은 것: 가상 지도의 지도 영역을 실제 전자 지도와 가상 지도 사이의 스케일링 관계에 기초하여 결정하는 단계; 지도 영역을 복수의 동일한 크기의 타일 영역들로 분할하는 단계; 및 타일 영역의 타일 지도를 생성하기 위해, 실제 전자 지도에서의 타일 영역에 대응하는 영역 지도에 기초하여 각각의 타일 영역에 대한 이미지 프로세싱을 수행하는 단계 - 이미지 프로세싱은 렌더링 프로세싱을 포함함 - 를 포함한다.
제3 양태에 따르면, 결정 유닛 및 업데이트 유닛을 포함하는, 가상 지도를 드로잉하기 위한 장치가 제공된다. 결정 유닛은, 제1 영역에서, 가상 객체가 위치되는 중앙 영역을 결정하고, 여기서 제1 영역은 가상 객체가 위치되는 가상 지도 내에 로딩된 타일 지도들을 포함하는 영역 지도이고, 중앙 영역의 경계는 제1 영역에 위치되며, 가상 지도의 타일 지도 좌표계에서 x-축 방향에서의 중앙 영역 내의 임의의 타일 지도와 가상 객체 사이의 최대 거리는 X1 미만이고, 타일 지도 좌표계에서 y-축 방향에서의 중앙 영역 내의 임의의 타일 지도와 가상 객체 사이의 최대 거리는 Y1 미만이며, 하나의 타일 지도의 길이는 타일 지도 좌표계에서 x-축 상의 단위로서 사용되고, 하나의 타일 지도의 폭은 타일 지도 좌표계에서 y-축 상의 단위로서 사용되며, X1 및 Y1은 미리 결정된 양의 정수들이다. 결정 유닛은 가상 객체가 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 추가로 결정하며, 여기서 거리 파라미터는 타일 지도 좌표계에서 x-축 방향 및 y-축 방향에서 중앙 영역에 대한 가상 객체가 위치된 타일 지도의 상대 거리들을 나타낸다. 업데이트 유닛은 거리 파라미터 및 제1 영역에 기초하여 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하며, 여기서 제2 영역은 거리 파라미터에 기초하여 제1 영역을 이동시킨 후에 결정되는 지도 영역이다.
제4 양태에 따르면, 가상 지도를 드로잉하기 위한 장치가 제공되고, 이 장치는: 가상 지도의 지도 영역을 실제 전자 지도와 가상 지도 사이의 스케일링 관계에 기초하여 결정하도록 구성된 결정 유닛; 지도 영역을 복수의 동일한 크기의 타일 영역들로 분할하도록 구성된 영역 분할 유닛; 및 타일 영역의 타일 지도를 생성하기 위해, 실제 전자 지도에서의 타일 영역에 대응하는 영역 지도에 기초하여 각각의 타일 영역에 대한 이미지 프로세싱을 수행하도록 구성된 이미지 프로세싱 유닛 - 이미지 프로세싱은 렌더링 프로세싱을 포함함 - 을 포함한다.
본 출원의 구현들에서 제공되는 기술적 해결책들로부터, 본 출원의 구현들에서, 가상 객체가 가상 객체가 위치되는 중앙 영역을 벗어나 이동한 후, 로딩 상태가 업데이트될 필요가 있는 타일 지도가, 가상 객체가 중앙 영역에 대하여 이동하는 타일 지도의 거리 파라미터 및 현재 로딩된 타일 지도에 기초하여, 결정된다는 것을 알 수 있다. 따라서, 타일 지도들 간의 원활한 연결을 구현하기 위해 중복적인 타일 지도들을 로딩하는 것이 완화될 수 있고, 가상 지도를 디스플레이하는 효율 및 경험 효과가 어느 정도 개선된다.
본 출원의 구현들에서의 또는 기존의 기술에서의 기술적 해결책들을 보다 명확하게 설명하기 위해, 하기는 구현들 또는 기존의 기술을 설명하기 위해 요구되는 첨부 도면들을 간략히 설명한다. 분명하게도, 하기의 설명에서의 첨부 도면들은 본 출원의 일부 구현들만을 도시하고, 본 기술분야의 통상의 기술자는 창조적 노력 없이 이 첨부 도면들로부터 다른 도면들을 여전히 도출할 수 있다.
도 1은 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 생성하기 위한 방법을 예시하는 플로차트이다;
도 2는 본 출원의 일 구현에 따른, 타일 지도들의 영역 분할 및 좌표를 예시하는 개략 다이어그램이다;
도 3은 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 생성하기 위한 방법을 예시하는 개략 다이어그램이다;
도 4는 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 업데이트하기 위한 방법을 예시하는 개략 다이어그램이다;
도 5는 본 출원의 일 구현에 따른, 타일 지도 좌표계에서 가상 지도에서의 타일 지도들을 예시하는 개략 다이어그램이다;
도 6은 본 출원의 일 구현에 따른, 가상 지도에서의 일부 타일 지도들의 좌표를 예시하는 개략 다이어그램이다;
도 7은 본 출원의 일 구현에 따른, 가상 지도에서의 좌표와 실제 전자 지도에서의 위도 및 경도 사이의 매핑 관계를 예시하는 개략 다이어그램이다;
도 8은 본 출원의 예시적인 구현에 따른, 전자 디바이스를 예시하는 개략 구조 다이어그램이다;
도 9는 본 출원의 일 구현에 따른, 가상 지도를 드로잉하기 위한 장치를 예시하는 개략 구조 다이어그램이다;
도 10은 본 출원의 일 구현에 따른, 가상 지도를 드로잉하기 위한 장치를 예시하는 개략 구조 다이어그램이다.
도 1은 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 생성하기 위한 방법을 예시하는 플로차트이다;
도 2는 본 출원의 일 구현에 따른, 타일 지도들의 영역 분할 및 좌표를 예시하는 개략 다이어그램이다;
도 3은 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 생성하기 위한 방법을 예시하는 개략 다이어그램이다;
도 4는 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 업데이트하기 위한 방법을 예시하는 개략 다이어그램이다;
도 5는 본 출원의 일 구현에 따른, 타일 지도 좌표계에서 가상 지도에서의 타일 지도들을 예시하는 개략 다이어그램이다;
도 6은 본 출원의 일 구현에 따른, 가상 지도에서의 일부 타일 지도들의 좌표를 예시하는 개략 다이어그램이다;
도 7은 본 출원의 일 구현에 따른, 가상 지도에서의 좌표와 실제 전자 지도에서의 위도 및 경도 사이의 매핑 관계를 예시하는 개략 다이어그램이다;
도 8은 본 출원의 예시적인 구현에 따른, 전자 디바이스를 예시하는 개략 구조 다이어그램이다;
도 9는 본 출원의 일 구현에 따른, 가상 지도를 드로잉하기 위한 장치를 예시하는 개략 구조 다이어그램이다;
도 10은 본 출원의 일 구현에 따른, 가상 지도를 드로잉하기 위한 장치를 예시하는 개략 구조 다이어그램이다.
본 기술분야의 통상의 기술자가 본 출원에서의 기술적 해결책들을 보다 잘 이해하게 하기 위해, 하기는 본 출원의 구현들에서의 첨부 도면들을 참조하여 본 출원의 구현들에서의 기술적 해결책을 명확하고 포괄적으로 설명한다. 분명하게도, 설명된 구현들은 본 출원의 구현들의 전부가 아니라 일부에 불과하다. 창조적 노력 없이 본 출원의 구현들에 기초하여 본 기술분야의 통상의 기술자에 의해 획득되는 모든 다른 구현들은 본 출원의 보호 범위 내에 속한다.
도 1은 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 생성하기 위한 방법을 예시하는 플로차트이다. 도 1에서의 방법은 가상 지도들에서의 타일 지도들을 생성하기 위한 장치에 의해 수행된다. 특정 응용분야들에서, 가상 지도들에서의 타일 지도들을 생성하기 위한 장치는 가상 지도의 그래픽 엔진, 예를 들어, 2D 그래픽 엔진, 3D 그래픽 엔진, 또는 다른 가상 지도 드로잉 툴일 수 있다. 구현들이 본 출원에서 제한되지 않는다. 구체적으로는, 가상 지도는 2D 지도 또는 3D 지도일 수 있다. 도 1에서의 방법은 다음과 같은 단계들을 포함할 수 있다.
S110. 가상 지도의 지도 영역을 실제 전자 지도와 가상 지도 사이의 스케일링 관계에 기초하여 결정한다.
본 출원의 구현에서의 실제 전자 지도가 실제 환경에 기초하여 드로잉된 Baidu Map 또는 Auto Navi Map과 같은 전자 지도임이 이해되어야 한다.
본 출원의 구현에서의 가상 지도가 가상 애플리케이션에서의 가상 지도와 같은 지도임이 이해되어야 한다.
본 출원의 구현에서, 가상 지도의 크기가 실제 전자 지도와 가상 지도 사이의 스케일링 관계에 기초하여 결정될 수 있음이 이해되어야 한다.
예를 들어, 실제 전자 지도와 가상 지도 사이의 관계가 2:1인 것으로 미리 결정된다. 이 경우에, 실제 전자 지도의 길이 및 폭은 가상 지도의 크기를 결정하기 위해 절반으로 개별적으로 단축될 수 있다.
S120. 지도 영역을 복수의 동일한 크기의 타일 영역들로 분할한다.
구체적으로는, 지도 영역이 복수의 동일한 크기의 타일 영역들로 분할될 수 있다.
바람직하게는, 타일 영역들은 직사각형, 예를 들어, 10cm x 10cm, 5cm x 5cm, 4cm x 2 cm일 수 있다. 타일 영역의 길이와 폭이 반드시 동일하지는 않음이 이해되어야 한다. 물론, 타일 영역의 길이와 폭은 서로 동일하다.
물론, 타일 영역이 대안적으로 다른 형상으로 되어 있을 수 있고, 예를 들어, 타일 영역이 마름모 또는 정육각형일 수 있음이 이해되어야 한다. 이 경우에, 가상 지도의 에지는 평평한 직선이 아닐 수 있다.
S130. 타일 영역의 타일 지도를 생성하기 위해, 실제 전자 지도에서의 타일 영역에 대응하는 영역 지도에 기초하여 각각의 타일 영역에 대한 이미지 프로세싱을 포함한 동작들을 수행한다.
이미지 프로세싱 동작은 렌더링 프로세싱을 포함한다.
예를 들어, 실제 전자 지도가 대학의 캠퍼스에 기초하여 생성된 전자 지도인 것으로 가정한다. 이 경우에, 대학에 대응하는 전자 지도에서의 타일 영역에 대응하는 영역 지도에 기초하여 가상 지도에서의 각각의 타일 영역에 대한 렌더링 프로세싱이 수행되고, 타일 영역의 타일 지도가 생성될 수 있다.
물론, 렌더링 프로세싱 이외의 다른 이미지 프로세싱 동작들이 전자 지도에 기초한 가상 지도에 대해 수행될 수 있음이 이해되어야 한다. 구현들이 본 출원에서 제한되지 않는다.
본 출원의 이 구현에서, 가상 지도의 타일 지도가 실제 전자 지도에 기초하여 빠르게 생성되고, 그에 의해 가상 지도를 생성하는 효율을 개선시킬 수 있도록, 가상 지도의 영역이 실제 전자 지도에 기초하여 결정되고, 가상 지도가 복수의 동일한 크기의 타일 영역들로 분할되며, 실제 전자 지도에서의 타일 영역들의 대응하는 영역 지도들에 기초하여 타일 영역들에 대해 렌더링 프로세싱이 수행된다.
임의로, 본 출원의 이 구현에서, 단계(S130)는 구체적으로는 다음과 같이: 실제 전자 지도에서의 복수의 동일한 크기의 타일 영역들 중 제1 타일 영역에 대응하는 제1 실제 영역 지도를 타일 영역의 크기 및 제1 타일 영역의 인덱스에 기초하여 결정하는 단계, 및 제1 타일 영역에 대응하는 제1 타일 지도를 획득하기 위해 제1 실제 영역 지도에 기초하여 제1 타일 영역에 대한 이미지 프로세싱을 수행하는 단계로서 구현된다.
각각의 타일 영역의 인덱스는 타일 영역의 위치에 관련된다. 구체적으로는, 예를 들어, 타일 영역의 인덱스는 타일 영역 내의 명시된 위치의 지점 좌표(point coordinates)일 수 있다. 예를 들어, 타일 영역이 직사각형일 때, 좌표는 타일 영역의 중심 좌표, 타일 영역의 좌측 하부 정점 좌표, 타일 영역의 좌측 상부 정점 좌표, 타일 영역의 우측 상부 정점 좌표, 타일 영역의 우측 하부 정점 좌표 등일 수 있다. 인덱스는 대안적으로 타일 영역의 번호 등일 수 있다.
물론, 단계(S130) 이전에, 이 방법이 다음과 같은 것: 타일 영역의 인덱스를 타일 영역의 위치에 기초하여 생성하는 단계를 추가로 포함함이 이해되어야 한다.
본 출원의 구현에서의 방법이 도 2 및 도 3을 참조하여 추가로 설명된다.
본 출원의 이 구현에서, 가상 지도가 실제 전자 지도에 기초하여 생성될 필요가 있을 때, 가상 지도의 영역 크기는 실제 전자 지도와 가상 지도 사이의 스케일링 관계에 기초하여 결정될 수 있다. 특히, 가상 지도가 3D 가상 지도일 때, 3D 가상 지도의 크기가 일반적으로 변하지 않기 때문에, 실제 전자 지도에 대한 3D 가상 지도의 스케일링 비는 일반적으로 상수 값이다.
가상 지도 영역이 실제 전자 지도 및 스케일링 관계에 기초하여 결정된 후에, 가상 지도는 복수의 동일한 크기의 직사각형 영역들로 분할될 수 있다. 각각의 직사각형 영역은 하나의 타일 지도의 크기를 가지며, 하나의 직사각형 영역은 하나의 타일 영역이라고 지칭될 수 있다. 도 2는 본 출원의 일 구현에 따른, 타일 지도들의 영역 분할 및 좌표를 예시하는 개략 다이어그램이다. 도 2에 도시된 영역 전체가 실제 전자 지도에 기초하여 결정되는 가상 지도 영역 전체인 것으로 가정한다. 도 2에 도시된 바와 같이, 가상 지도는 복수의 동일한 크기의 타일 영역들로 분할될 수 있다. 그에 부가하여, 각각의 타일 영역에 대한 인덱스가 타일 영역의 위치에 기초하여 생성될 수 있다. 예를 들어, 좌표 또는 시퀀스 번호가 타일 영역의 인덱스를 나타내는 데 사용될 수 있다. 도 2에 도시된 구현에서, 하나의 타일 영역의 길이는 수평 좌표에 대한 측정 단위로서 사용되고, 하나의 타일 영역의 폭은 수직 좌표에 대한 측정 단위로서 사용된다.
타일 영역 분할이 완료되고 인덱스가 생성된 후에, 타일 지도를 획득하기 위해 렌더링 프로세싱이 실제 전자 지도에 기초하여 수행될 수 있다. 도 3은 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 생성하기 위한 방법을 예시하는 개략 다이어그램이다. 도 3에 도시된 바와 같이, 타일 영역에 대해 레이어 초기화가 먼저 수행될 필요가 있다. 구체적으로는, 실제 전자 지도에 대응하는 가상 지도 영역은 스케일링 레벨에 기초하여 결정될 수 있고, 이어서 가상 지도 영역은 타일 영역들로 분할된다. 그에 부가하여, 타일 영역에 대해 레이어 초기화가 수행될 때, 보통 타일 영역에서의 레이어 스타일들, 예를 들어, 도로가 어떤 색인지 및 건물이 디스플레이되는지가 초기화될 수 있다. 타일 영역을 식별하고 위치확인하는 것의 용이성을 위해, 타일 영역이 추가로 인덱싱될 수 있다.
타일 영역에 대한 레이어 초기화가 완료된 후에, 실제 전자 지도에서의 타일 영역에 대응하는 실제 영역은 타일 영역의 인덱스 및 크기에 기초하여 계산될 수 있다. 도 2에 도시된 바와 같이, 타일 영역들은 2차원 평면 상에 인접하여 배열되고, 모든 타일 영역들은 동일한 크기를 갖는다. 각각의 타일 영역의 2차원 좌표는 타일 영역의 인덱스에 기초하여 결정될 수 있다(또는 타일 영역의 인덱스는 2차원 좌표이다). 이어서, 각각의 타일 영역에 의해 커버되는 직사각형 영역의 위도 및 경도는 타일 영역의 크기에 기초하여 결정될 수 있다. 환언하면, 실제 전자 지도에서의 타일 영역에 대응하는 실제 영역이 결정될 수 있다.
실제 전자 지도에서의 타일 영역에 대응하는 실제 영역이 획득된 후에, 타일 영역에서의 레이어들은 실제 영역 지도에 기초하여 프로세싱될 수 있다. 예를 들어, 실제 영역 지도에 기초하여 타일 영역에서의 지도 그림들(map pictures)을 렌더링하기 위해 (Google Map과 같은) 서드파티 지도 API가 호출될 수 있다. 마지막으로, 그림들이 저장되고, 타일 지도가 획득된다. 타일 영역의 인덱스는 타일 지도의 인덱스로서 사용될 수 있다.
물론, 타일 영역이 대안적으로 다른 형상으로 되어 있을 수 있고, 예를 들어, 타일 영역이 마름모 또는 정육각형일 수 있음이 이해되어야 한다. 형상이 변경될 때, 타일 영역의 인덱스 및 크기에 기초하여 실제 지도 영역을 계산하기 위한 알고리즘이 그에 따라 변경된다.
도 4는 본 출원의 일 구현에 따른, 가상 지도들에서의 타일 지도들을 업데이트하기 위한 방법을 예시하는 플로차트이다. 도 4에서의 방법은 가상 지도 드로잉 장치에 의해 수행된다. 특정 응용분야들에서, 가상 지도 드로잉 장치는 그래픽 엔진, 예를 들어, 2D 그래픽 엔진, 3D 그래픽 엔진, 또는 다른 가상 지도 드로잉 툴일 수 있다. 구현들이 본 출원에서 제한되지 않는다. 본 출원의 구현에서의 가상 지도가 3D 가상 지도 또는 2D 가상 지도, 또는 가상 애플리케이션에서의 다른 지도 등과 같은 가상 지도일 수 있음이 이해되어야 한다. 도 4에서의 방법은 다음과 같은 단계들을 포함할 수 있다.
S410. 제1 영역에서, 가상 객체가 위치되는 중앙 영역을 결정한다.
제1 영역은 가상 객체가 위치되는 가상 지도 내에 로딩된 타일 지도들을 포함하는 영역 지도이다. 중앙 영역의 경계는 제1 영역에 위치된다. 가상 지도의 타일 지도 좌표계에서 x-축 방향에서의 중앙 영역 내의 임의의 타일 지도와 가상 객체 사이의 최대 거리는 X1 미만이다. 타일 지도 좌표계에서 y-축 방향에서의 중앙 영역 내의 임의의 타일 지도와 가상 객체 사이의 최대 거리는 Y1 미만이다. 하나의 타일 지도의 길이는 타일 지도 좌표계에서 x-축 상의 단위로서 사용되고, 하나의 타일 지도의 폭은 타일 지도 좌표계에서 y-축 상의 단위로서 사용되며, X1 및 Y1은 미리 결정된 양의 정수들이다.
가상 객체의 특정 형태가 본 출원의 구현에서 제한되지 않음이 이해되어야 한다. 3D 게임이 설명을 위한 일 예로서 사용된다. 예를 들어, 가상 객체는 3D 게임에서 캐릭터이거나 캐릭터에 의해 운전되는 차량일 수 있다.
모든 타일 지도들이 본 출원의 구현에서 동일한 크기를 갖는다는 것이 이해되어야 한다.
본 출원의 구현에서, 로딩된 제1 영역이 가상 객체의 시야를 커버해야 한다는 것이 이해되어야 한다. 환언하면, 가상 객체의 시야 내의 모든 타일 지도들이 로딩되어야 한다. 본 출원의 이 구현에서, 제1 영역은 적어도 가상 객체의 시야 내의 타일 지도들을 포함한다. 물론, 제1 영역이 또한 가상 객체의 시야보다 더 클 수 있음이 이해되어야 한다.
본 출원의 이 구현에서, 하나의 타일 지도의 길이가 타일 지도 좌표계에서 x-축 상의 단위로서 사용되고, 하나의 타일 지도의 폭이 타일 지도 좌표계에서 y-축 상의 단위로서 사용된다는 것이 이해되어야 한다. 도 5는 본 출원의 일 구현에 따른, 타일 지도 좌표계에서 가상 지도에서의 타일 지도들을 예시하는 개략 다이어그램이다. 도 5에 도시된 바와 같이, 각각의 직사각형 영역은 타일 지도이다. 타일 지도의 길이는 타일 지도 좌표계에서 x-축(x-axis) 상의 단위로서 사용되고, 타일 지도의 폭은 타일 지도 좌표계에서 y-축(y-axis) 상의 단위로서 사용된다.
그에 부가하여, 위치 좌표가 대안적으로 타일 지도의 인덱스로서 사용될 수 있다. 예를 들어, 도 5에 도시된 타일 지도 좌표계에서, 타일 지도의 좌측 하부 정점 좌표는 타일 지도의 인덱스로서 사용된다.
S420. 가상 객체가 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 결정하고, 거리 파라미터 및 제1 영역에 기초하여 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트한다.
거리 파라미터는 타일 지도 좌표계에서 x-축 방향 및 y-축 방향에서 중앙 영역에 대한 가상 객체가 위치된 타일 지도의 상대 거리들을 나타내고, 제2 영역은 거리 파라미터에 기초하여 제1 영역을 이동시킨 후에 결정되는 지도 영역이다.
제2 영역이 거리 파라미터에 기초하여 제1 영역을 이동시킨 후에 결정되는 지도 영역임이 이해되어야 한다. 따라서, 제1 영역과 제2 영역은 동일한 형상 및 동일한 크기를 갖는다. 예를 들어, 도 2에서, 제1 영역이 (2, 0) 및 (1, 1)을 포함하는 직사각형 영역이고, 거리 파라미터가 제1 영역이 하나의 타일 지도만큼 우측으로 이동한다는 것을 나타낸다고 가정한다. 이 경우에, 제2 영역은 (2, 1) 및 (1, 2)를 포함하고 제1 영역과 동일한 형상 및 크기를 갖는 직사각형 영역이다.
제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도가 제1 영역에만 존재하거나 제2 영역에만 존재하는 타일 지도임이 이해되어야 한다.
본 출원의 이 구현에서, 가상 객체가 가상 객체가 위치되는 중앙 영역을 벗어나 이동한 후에, 가상 객체는 타일 지도 내로 이동하고, 중앙 영역에 대한 타일 지도의 거리 파라미터가 결정된다. 이어서, 로딩 상태가 업데이트될 필요가 있는 타일 지도가 타일 지도의 거리 파라미터 및 현재 로딩된 타일 지도에 기초하여 결정된다. 따라서, 타일 지도들 사이의 심리스 연결을 구현하기 위해 중복적인 타일 지도들을 로딩하는 것이 완화될 수 있고, 가상 지도를 디스플레이하는 효율 및 경험 효과가 어느 정도 개선된다.
임의로, 일 구현에서, 단계(S420)에서 거리 파라미터를 결정하는 단계는 구체적으로는 다음과 같은 방법으로: 가상 객체가 중앙 영역에 인접하여 중앙 영역의 우측에 있는 타일 지도로 이동할 때 거리 파라미터가 (1, 0)이라고 결정하는 단계; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 우측 상부에 있는 타일 지도로 이동할 때 거리 파라미터가 (1, 1)이라고 결정하는 단계; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역 바로 위에 있는 타일 지도로 이동할 때 거리 파라미터가 (0, 1)이라고 결정하는 단계; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 좌측 상부에 있는 타일 지도로 이동할 때 거리 파라미터가 (-1, 1)이라고 결정하는 단계; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 좌측에 있는 타일 지도로 이동할 때 거리 파라미터가 (-1, 0)이라고 결정하는 단계; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 좌측 하부에 있는 타일 지도로 이동할 때 거리 파라미터가 (-1, -1)이라고 결정하는 단계; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역 바로 아래에 있는 타일 지도로 이동할 때 거리 파라미터가 (0, -1)이라고 결정하는 단계; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 우측 하부에 있는 타일 지도로 이동할 때 거리 파라미터가 (1, -1)이라고 결정하는 단계로 구현될 수 있고, 여기서 타일 지도 좌표계에서, 우측 방향은 수평 좌표에 대한 양의 방향이고, 상향 방향은 수직 좌표에 대한 양의 방향이다.
본 출원의 이 구현에서, 거리 파라미터 (a, b)가 중앙 영역이 a개의 타일 지도만큼 우측으로 그리고 b개의 타일 지도만큼 위로 이동함을 나타내며, a와 b가 정수들임이 이해되어야 한다. a 또는 b의 값이 음수일 때, 이는 중앙 영역이 반대 방향으로 이동함을 나타내고; 또는 a 또는 b의 값이 0일 때, 이는 중앙 영역이 움직이지 않음을 나타낸다.
임의로, 다른 구현에서, 단계(S420)에서 거리 파라미터를 결정하는 단계는 구체적으로는 다음과 같은 방법으로: 제2 중앙 영역을 결정하는 단계 - 가상 객체가 중앙 영역을 벗어나 이동한 후에, 가상 지도의 타일 지도 좌표계에서 x-축 방향에서의, 제2 중앙 영역 내의 임의의 타일 지도와 가상 객체가 위치되는 타일 지도 사이의 최대 거리는 X1 미만이고, 가상 지도의 타일 지도 좌표계에서 y-축 방향에서의, 제2 중앙 영역 내의 타일 지도와 가상 객체가 위치되는 타일 지도 사이의 최대 거리는 Y1 미만임; 및 타일 지도 좌표계에서 x-축 방향 및 y-축 방향에서 중앙 영역에 대한 제2 중앙 영역의 상대 거리가 거리 파라미터라고 결정하는 단계로 구현될 수 있다.
임의로, 일 구현에서, 단계(420)는 구체적으로는 다음과 같이: 가상 객체가 미리 설정된 시간을 초과하는 시간 지속기간 동안 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 결정하고, 거리 파라미터 및 제1 영역에 기초하여 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계로 구현된다.
본 출원의 이 구현에서, 가상 객체가 단시간 내에 임계 영역들 사이를 이동할 때 타일 지도를 빈번히 업데이트하는 것이 완화되도록, 가상 객체가 미리 결정된 시간 동안 중앙 영역을 벗어나 이동한 후에 타일 지도가 업데이트된다.
임의로, 일 구현에서, 단계(420)에서, 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계는 구체적으로는 다음과 같이: 제1 영역 내의 타일 지도들에 비교하여 제2 영역 내의 추가된 타일 지도들을 로딩하고, 제1 영역 내의 타일 지도들에 비교하여 제2 영역 내의 감소된 타일 지도들을 제거하는 단계로 구현된다.
본 출원의 이 구현에서, 타일 지도를 로딩하는 효율이 증가될 수 있고, 타일 지도들 사이의 심리스 연결이 구현되며, 가상 지도를 디스플레이하는 효율 및 경험 효과가 어느 정도 개선되도록, 디스플레이될 필요가 없는 타일 지도는 제거되고, 디스플레이될 필요가 있는 타일 지도는 로딩된다.
임의로, 일 구현에서, 단계(420)에서, 거리 파라미터 및 제1 영역에 기초하여 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계는 구체적으로는 다음과 같이: 거리 파라미터 및 제1 영역 내의 타일 지도들의 인덱스들에 기초하여 업데이트될 필요가 있는 타일 지도의 인덱스를 결정하는 단계; 및 업데이트될 필요가 있는 타일 지도의 인덱스에 기초하여 가상 지도에서의 가상 객체의 타일 지도의 로딩 상태를 업데이트하는 단계로 구현된다.
바람직하게는, X1은 Y1과 동일하다. 게다가, X1의 값은 1, 2, 3, 4, 5 등일 수 있다.
임의로, 제1 영역 내의 임의의 타일 지도와 가상 객체가 위치되는 타일 지도 사이의, x-축 방향에서의, 최대 거리는 제1 단위 길이의 X2배 미만이고, 제1 영역 내의 타일 지도와 가상 객체가 위치되는 타일 지도 사이의, y-축 방향에서의, 최대 거리는 제2 단위 길이의 Y2배 미만이며, 여기서 X2 및 Y2는 양의 정수들이고, X1 < X2이고 Y1 < Y2이다. 바람직하게는, 제1 영역 및 중앙 영역은 직사각형이다. 게다가, Y2 = Y1 + 1이고, X2 = X1 + 1이다. 이 경우에, 중앙 영역의 주변부를 하나의 타일 지도만큼 상하로 그리고 좌우로 개별적으로 연장하는 것에 의해 새로운 직사각형 영역이 생성되고, 새로운 사각형 영역은 제1 영역이다.
예를 들어, X1 및 Y1의 값들이 1일 때, X2 및 Y2의 값들은 2이다. 이 경우에, 가상 객체에 대해 로딩된 타일 지도들은 9-직사각형-그리드 지도(nine-rectangular-grid map)이고, 가상 객체는 항상 9-직사각형-그리드 지도의 중앙에 위치된다.
다른 예에 대해, X1 및 Y1의 값들이 2일 때, X2 및 Y2의 값들은 3이다. 이 경우에, 가상 객체에 대해 로딩된 타일 지도들은 16-직사각형-그리드 지도이고, 가상 객체는 항상 16-직사각형-그리드 지도의 중앙에 있는 4개의 타일 지도 상에 위치된다.
다른 예에 대해, X1 및 Y1의 값들이 3일 때, X2 및 Y2의 값들은 4이다. 이 경우에, 가상 객체에 대해 로딩된 타일 지도들은 25-직사각형-그리드 지도이고, 가상 객체는 항상 25-직사각형-그리드 지도의 중앙에 있는 9개의 타일 지도 상에 위치된다.
임의로, 일 구현에서, 단계(S420) 이전에, 이 방법은 다음과 같은 것: 실제 환경에서의 가상 객체에 대응하는 실제 객체의 위도 및 경도에 기초하여 가상 지도에서의 가상 객체의 대응하는 지도 좌표를 결정하는 단계 - 가상 지도는 실제 전자 지도에 기초하여 생성됨 - 를 추가로 포함한다.
예를 들어, 전세계 전자 지도가 게임에서 가상 지도로서 사용된다고 가정한다. 이 경우에, 베이징의 천안문 광장에서 게임에 로그인할 때, 사용자는 39°54'27'' N, 116°23'17'' E에 위치된다. 이 경우에, 사용자는 게임에서 실제 전자 지도에서의 위치 (39°54'27'' N, 116°23'17'' E)에 대응하는 가상 지도에서의 위치에 위치된다.
실제 환경에서의 가상 객체에 대응하는 실제 객체의 위도 및 경도에 기초하여 가상 지도에서의 가상 객체의 대응하는 지도 좌표가 결정된 후에, 가상 애플리케이션에서의 가상 객체의 초기 위치가 결정될 수 있고, 가상 객체가 현재의 중앙 영역을 벗어나 이동하는지가 추가로 결정될 수 있다.
임의로, 일 구현에서, 단계(S420) 이전에, 이 방법은 다음과 같은 것: 실제 환경에서의 가상 객체에 대응하는 실제 객체의 이동 방향 및 이동 거리에 기초하여 가상 지도에서의 가상 객체의 대응하는 이동 방향 및 이동 거리를 결정하는 단계 - 가상 지도는 실제 전자 지도에 기초하여 생성됨 - 를 추가로 포함한다.
예를 들어, 전세계 전자 지도가 게임에서의 가상 지도로서 사용된다고 여전히 가정하면, 현재, 사용자는 베이징의 천안문 광장 39°54'27'' N, 116°23'17'' E에 있고, 가상 지도에서의 대응하는 좌표 위치는 (x0, y0)이다. 사용자가 서쪽으로 50 킬로미터 이동한다고 가정하면, 가상 지도에서 1 킬로미터에 대응하는 거리는 1 cm이고, 가상 지도의 방향들은 다음과 같이: 위 북쪽, 아래 남쪽, 좌측 서쪽, 및 우측 동쪽이다. 이 경우에, 사용자는 가상 객체의 위치가 좌표 (x0, y0)가 가상 지도에서 50 cm만큼 좌측으로 이동한 후에 획득되는 위치라고 결정할 수 있다.
가상 객체가 현재의 중앙 영역을 벗어나 이동하는지를 결정하기 위해, 이동된 위치는 가상 지도에서의 가상 객체의 현재 위치, 이동 거리, 및 이동 방향에 기초하여 결정될 수 있다.
하기는 특정 구현을 참조하여 본 출원의 구현들에서의 방법을 추가로 설명한다.
도 6은 본 출원의 일 구현에 따른, 가상 지도에서의 일부 타일 지도들의 좌표를 예시하는 개략 다이어그램이다. 도 6에서, 플레이어 캐릭터에 의해 로딩된 타일 지도들은 회색 부분으로 된 9-직사각형-그리드 지도이다. 도 6에 도시된 구현에서, 가상 지도에서의 타일 지도의 2차원 좌표는 타일 지도의 인덱스로 사용된다. 가상 지도에서의 타일 지도의 2차원 좌표는 타일 지도의 중심 좌표, 타일 지도의 정점의 좌표, 타일 지도 내의 고정 위치의 좌표 등일 수 있다.
도 6에 도시된 시나리오에서, 도 4에 도시된 구현에서의 X1 및 Y1의 값들이 1일 때, X2 및 Y2의 값들은 2이다. 이 경우에, 가상 객체의 제1 영역은 타일 지도들 (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), 및 (3, 3)을 포함하고, 가상 객체의 중앙 영역은 타일 지도 (2, 2)를 포함한다. 가상 객체가 중앙 영역에서 이동할 때는, 타일 지도가 업데이트될 필요가 없고, 가상 객체가 중앙 영역을 벗어나 이동할 때는, 타일 지도가 업데이트될 필요가 있음이 이해되어야 한다.
도 6에서의 화살표 A가 나타내는 바와 같이, 가상 객체가 중앙 영역, 즉 타일 지도 (2, 2)로부터 타일 지도 (2,3)으로 이동할 때 거리 파라미터가 (0, 1)이라고 결정될 수 있다. 이 경우에, 가상 객체에 대해 로딩될 필요가 있는 타일 지도들의 좌표는 (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 2), (3, 3), 및 (3, 4)이다. 환언하면, 타일 지도들 (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), 및 (3, 3)과 타일 지도들 (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 2), (3, 3), 및 (3, 4)에 의해 공유되지 않는 타일 지도들의 로딩 상태들이 업데이트될 필요가 있다. 환언하면, 로딩 상태들이 업데이트될 필요가 있는 타일 지도들의 좌표 인덱스들은 (1, 1), (2, 1), (3, 1), (1, 4), (2, 4), 및 (3, 4)이다. 타일 지도들 (1, 1), (2, 1), 및 (3, 1)은 제거될 필요가 있고, 타일 지도들 (1, 4), (2, 4), 및 (3, 4)는 로딩될 필요가 있다.
도 6에서의 화살표 B가 나타내는 바와 같이, 가상 객체가 타일 지도 (2, 2)로부터 타일 지도 (3, 1)로 이동할 때, 거리 파라미터가 (1, -1)이라고 결정될 수 있다. 이 경우에, 가상 객체에 대해 로딩될 필요가 있는 타일 지도들의 좌표는 (2, 0), (2, 1), (2, 2), (3, 0), (3, 1), (3, 2), (4, 0), (4, 1), 및 (4, 2)이다. 환언하면, 타일 지도들 (2, 0), (2, 1), (2, 2), (3, 0), (3, 1), (3, 2), (4, 0), (4, 1), 및 (4, 2)와 타일 지도들 (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), 및 (3, 3)에 의해 공유되지 않는 타일 지도들의 로딩 상태들이 업데이트될 필요가 있다. 환언하면, 타일 지도들 (2, 0), (3, 0), (4, 0), (4, 1), (4, 2), (1, 1), (1, 2), (1, 3), (2, 3), 및 (3, 3)의 로딩 상태들이 업데이트될 필요가 있다. 구체적으로 말하면, 타일 지도들 (1, 1), (1, 2), (1, 3), (2, 3), 및 (3, 3)은 제거될 필요가 있고, 타일 지도들 (2, 0), (3, 0), (4, 0), (4, 1), 및 (4, 2)는 로딩될 필요가 있다.
물론, 가상 객체가 대안적으로 타일 지도 (9,2)로부터 9-직사각형-그리드 지도에서의 다른 6개의 방향으로 이동할 수 있음이 이해되어야 한다. 가상 객체의 이동 거리 파라미터는 도 4에 도시된 구현에서 거리 파라미터로 나타내어져 있다. 간단함을 위해 본 출원의 구현에서 세부 사항들이 생략된다.
그에 부가하여, 빈번한 스위칭으로 인한 빈번한 지도 리프레시(map refreshing)를 완화시키기 위해 미리 결정된 시간이 추가로 설정될 수 있음이 이해되어야 한다. 가상 객체가 미리 결정된 시간 동안 중앙 영역을 벗어나 이동한 후에 타일 지도가 업데이트된다. 이러한 방식으로, 사용자 경험을 개선시키기 위해 빈번한 지도 스위칭으로 인한 빈번한 리프레시가 완화될 수 있다.
물론, 다른 인덱스들이 대안적으로 실제 애플리케이션들에서 타일 지도들의 인덱스들로서 사용될 수 있음이 이해되어야 한다. 예를 들어, 수치 인덱스가 좌표에 기초하여 결정된다. 구체적으로는, 예를 들어, 타일 지도의 좌표가 (x0, y0)이면, 타일 지도의 수치 인덱스는 a*x0+b*y0이다.
그에 부가하여, 가상 객체의 중앙 영역이 하나 초과의 타일 지도를 포함할 수 있음이 이해되어야 한다. 예를 들어, X1 및 Y1의 값들이 2일 때, X2 및 Y2의 값들은 3이다. 중앙 영역은 4 개의 타일 지도를 포함하고, 로딩될 필요가 있는 타일 지도들은 16-직사각형-격자 지도를 구성한다. 9-직사각형-그리드 지도와 유사하게, 16-직사각형-그리드 지도에서, 중앙 영역 이외의 영역들이 또한 8개의 방향: 우측, 우측 상부, 바로 위, 좌측 상부, 좌측, 좌측 하부, 바로 아래, 및 우측 하부에 제각기 대응하는 8개의 영역으로 분할될 수 있다. 16-직사각형-그리드 지도에서 이동 거리 파라미터를 계산하기 위한 방법은 9-직사각형-그리드 지도에서의 방법과 유사하다.
그에 부가하여, y-축 방향에서 중앙 영역에 포함되는 타일 지도들의 수량은 x-축 방향에서 중앙 영역에 포함되는 타일 지도들의 수량과 같지 않을 수 있다. 예를 들어, X1의 값을 1이고, Y1의 값은 2이며, X2 및 Y2의 값들은 3이다.
그에 부가하여, 제1 영역이 가상 객체의 중앙 영역을 포함하고 중앙 영역이 제1 영역의 에지에 있지 않는 한, 가상 객체에 대해 로딩된 타일 지도들을 포함하는 제1 영역의 형상이 또한 본 출원의 구현에서 제한되지 않는다. 바람직하게는, 제1 영역 및 중앙 영역은 직사각형이다.
예를 들어, 도 6에 도시된 타일 지도들에서, 제1 영역은 회색 부분으로 된 9-직사각형-그리드 지도 및 타일 지도들 (4, 0), (4, 1), (4, 2), (4, 3), 및 (4, 4)를 포함하는 영역을 포함할 수 있다.
업데이트될 필요가 있는 영역을 결정하기 위해, 제1 영역을 거리 파라미터에 기초하여 제1 영역을 이동시킨 후에 획득된 제2 영역과 비교하고, 제1 영역과 제2 영역에 의해 공유되지 않는 영역 내의 타일 지도의 로딩 상태를 업데이트하기만 하면 된다.
바람직한 해결책에서, 제1 영역은 중앙 영역을 모든 방향들에서 하나의 타일 지도만큼 확장시키는 것에 의해 획득되는 영역이다.
그에 부가하여, 본 출원의 구현에서의 방법에서, 실제 환경에서의 사용자의 위치 정보와 가상 지도에서의 가상 객체의 위치 정보 사이에 연관 관계가 추가로 확립될 수 있음이 이해되어야 한다.
특정 예에서, 가상 지도는 실제 전자 지도에 기초하여 생성될 수 있고, 이어서 가상 지도에서의 가상 객체의 대응하는 지도 좌표는 실제 환경에서의 가상 객체에 대응하는 실제 객체의 위도 및 경도에 기초하여 결정된다. 실제 전자 지도에 기초하여 생성된 가상 지도가 실제 환경에서의 위도 및 경도에 대응한다는 것이 이해되어야 한다.
예를 들어, 가상 지도가 3D 게임 지도이고, 가상 객체가 3D 게임에서의 게임 캐릭터이며, 지도 원점이 실제 전자 지도에서의 위도 및 경도에 대응하고, 즉 (0, 0)이 위도 및 경도(O-lat, O-lng)에 대응한다고 가정한다. 도 7에 도시된 바와 같이, 3D 그래픽 엔진에서의 타일 지도의 길이 및 폭이 제각기 w 및 h이고, 타일 지도에 의해 실제로 커버되는 위도 및 경도가 제각기 d-lat 및 d-lng라고 가정한다. 도 7은 본 출원의 일 구현에 따른, 가상 지도에서의 좌표와 실제 전자 지도에서의 위도 및 경도 사이의 매핑 관계를 예시하는 개략 다이어그램이다.
실제 환경에서의 사용자의 현재 위도 및 경도가 (x, y)이면, 사용자에 대응하는 게임 캐릭터가 위치되는 타일 지도의 좌표 인덱스는 다음과 같다:
게다가, 3D 그래픽 엔진에서의 게임 캐릭터의 좌표(z-축은 무시됨)는 다음과 같다는 것이 획득될 수 있다:
그에 대응하여, 실제 환경에서의 사용자의 위도 및 경도는 또한 3D 그래픽 엔진에서의 게임 캐릭터의 좌표에 기초하여 계산될 수 있다.
그에 부가하여, 본 출원의 구현에서의 방법에서, 실제 환경에서의 사용자의 액션이 가상 객체의 액션과 추가로 연관될 수 있음이 이해되어야 한다.
특정 예에서, 실제 환경에서의 가상 객체에 대응하는 실제 객체의 액션 파라미터에 기초하여, 가상 지도에서의 가상 객체의 대응하는 액션 파라미터가 결정될 수 있고, 가상 객체가 조작될 수 있다. 구체적으로는, 액션 파라미터는 사용자의 손, 발, 머리 또는 신체와 같은 부분의 움직임에 관련된 파라미터일 수 있다. 예를 들어, 실제의 환경에서의 사용자의 팔 스윙 거리, 팔 스윙 속도, 다리 올림 각도, 다리 올림 방향, 및 다리 올림 속도가 센서를 이용하여 포착될 수 있다. 물론, 센서는 사용자의 이동 거리, 이동 방향, 및 이동 속도와 같은, 상대적으로 간단한 데이터를 수집하는 데 또한 사용될 수 있다.
물론, 위도 및 경도에 기초하여 가상 지도에서의 좌표를 결정하기 위한 방법 및 실제 환경에서의 액션 파라미터에 기초하여 가상 지도에서의 가상 객체의 액션 파라미터를 결정하기 위한 방법이 동일한 구현에 적용될 수 있음이 이해되어야 한다. 가상 객체와 사용자는 위도 및 경도 데이터와 사용자의 액션 파라미터 데이터에 기초하여 양호한 일관성을 유지하여, 사용자의 가상 경험을 보다 현실감 있게 만든다.
도 8은 본 출원의 예시적인 구현에 따른, 전자 디바이스를 예시하는 개략 구조 다이어그램이다. 도 8을 참조하면, 하드웨어의 면에서, 전자 디바이스는 프로세서, 내부 버스, 네트워크 인터페이스, 메모리, 및 비휘발성 메모리를 포함하고, 물론 다른 서비스들에 의해 필요하게 되는 하드웨어를 추가로 포함할 수 있다. 프로세서는 대응하는 컴퓨터 프로그램을 실행을 위해 비휘발성 메모리로부터 메모리로 판독하고, 사용자 인터페이스 잠금해제 장치가 논리적으로 형성된다. 물론, 소프트웨어 구현에 부가하여, 본 출원은 다른 구현, 예를 들어, 로직 디바이스 또는 하드웨어와 소프트웨어의 조합을 배제하지 않는다. 즉, 하기의 프로세싱 절차의 실행 주체는 각각의 로직 유닛으로 제한되지 않고, 하드웨어 또는 로직 디바이스일 수도 있다.
도 9는 본 출원의 일 구현에 따른, 가상 지도를 드로잉하기 위한 장치(900)를 예시하는 개략 구조 다이어그램이다. 도 9를 참조하면, 소프트웨어 구현에서, 가상 지도를 드로잉하기 위한 장치(900)는 결정 유닛(901) 및 업데이트 유닛(902)을 포함할 수 있다.
결정 유닛(901)은, 제1 영역에서, 가상 객체가 위치되는 중앙 영역을 결정하고, 여기서 제1 영역은 가상 객체가 위치되는 가상 지도 내에 로딩된 타일 지도들을 포함하는 영역 지도이고, 중앙 영역의 경계는 제1 영역에 위치되며, 가상 지도의 타일 지도 좌표계에서 x-축 방향에서의 중앙 영역 내의 임의의 타일 지도와 가상 객체 사이의 최대 거리는 X1 미만이고, 타일 지도 좌표계에서 y-축 방향에서의 중앙 영역 내의 임의의 타일 지도와 가상 객체 사이의 최대 거리는 Y1 미만이며, 하나의 타일 지도의 길이는 타일 지도 좌표계에서 x-축 상의 단위로서 사용되고, 하나의 타일 지도의 폭은 타일 지도 좌표계에서 y-축 상의 단위로서 사용되며, X1 및 Y1은 미리 결정된 양의 정수들이다.
결정 유닛(901)은 가상 객체가 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 추가로 결정하며, 여기서 거리 파라미터는 타일 지도 좌표계에서 x-축 방향 및 y-축 방향에서 중앙 영역에 대한 가상 객체가 위치된 타일 지도의 상대 거리들을 나타낸다.
업데이트 유닛(901)은 거리 파라미터 및 제1 영역에 기초하여 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하며, 여기서 제2 영역은 거리 파라미터에 기초하여 제1 영역을 이동시킨 후에 결정되는 지도 영역이다.
본 출원의 이 구현에서, 가상 객체가 가상 객체가 위치되는 중앙 영역을 벗어나 이동한 후에, 가상 객체는 타일 지도 내로 이동하고, 중앙 영역에 대한 타일 지도의 거리 파라미터가 결정된다. 이어서, 로딩 상태가 업데이트될 필요가 있는 타일 지도가 타일 지도의 거리 파라미터 및 현재 로딩된 타일 지도에 기초하여 결정된다. 따라서, 타일 지도들 사이의 심리스 연결을 구현하기 위해 중복적인 타일 지도들을 로딩하는 것이 완화될 수 있고, 가상 지도를 디스플레이하는 효율 및 경험 효과가 어느 정도 개선된다.
임의로, 결정 유닛(901)은: 가상 객체가 중앙 영역에 인접하여 중앙 영역의 우측에 있는 타일 지도로 이동할 때 거리 파라미터가 (1, 0)이라고 결정하고; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 우측 상부에 있는 타일 지도로 이동할 때 거리 파라미터가 (1, 1)이라고 결정하며; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역 바로 위에 있는 타일 지도로 이동할 때 거리 파라미터가 (0, 1)이라고 결정하고; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 좌측 상부에 있는 타일 지도로 이동할 때 거리 파라미터가 (-1, 1)이라고 결정하며; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 좌측에 있는 타일 지도로 이동할 때 거리 파라미터가 (-1, 0)이라고 결정하고; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 좌측 하부에 있는 타일 지도로 이동할 때 거리 파라미터가 (-1, -1)이라고 결정하며; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역 바로 아래에 있는 타일 지도로 이동할 때 거리 파라미터가 (0, -1)이라고 결정하고; 또는 가상 객체가 중앙 영역에 인접하여 중앙 영역의 우측 하부에 있는 타일 지도로 이동할 때 거리 파라미터가 (1, -1)이라고 결정하도록 구체적으로 구성되고, 여기서 거리 파라미터 (a, b)는 중앙 영역이 a개의 타일 지도만큼 우측으로 그리고 b개의 타일 지도만큼 위로 이동함을 나타내며, x와 y는 정수들이다.
본 출원의 이 구현에서, 거리 파라미터 (a, b)가 중앙 영역이 a개의 타일 지도만큼 우측으로 그리고 b개의 타일 지도만큼 위로 이동함을 나타내며, a와 b가 정수들임이 이해되어야 한다. a 또는 b의 값이 음수일 때, 이는 중앙 영역이 반대 방향으로 이동함을 나타내고; 또는 a 또는 b의 값이 0일 때, 이는 중앙 영역이 움직이지 않음을 나타낸다.
임의로, 업데이트 유닛(902)은 가상 객체가 미리 설정된 시간을 초과하는 시간 지속기간 동안 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 결정하고, 거리 파라미터 및 제1 영역에 기초하여 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하도록 구체적으로 구성된다.
임의로, 업데이트 유닛(902)은 제1 영역 내의 타일 지도들을 비교하여 제2 영역 내의 추가된 타일 지도들을 로딩하고, 제1 영역 내의 타일 지도들에 비교하여 제2 영역 내의 감소된 타일 지도들을 제거하도록 구체적으로 구성된다.
임의로, 업데이트 유닛(902)은: 거리 파라미터 및 제1 영역 내의 타일 지도들의 인덱스들에 기초하여 업데이트될 필요가 있는 타일 지도의 인덱스를 결정하고; 업데이트될 필요가 있는 타일 지도의 인덱스에 기초하여 가상 지도에서의 가상 객체의 타일 지도의 로딩 상태를 업데이트하도록 구체적으로 구성된다.
바람직하게는, X1은 Y1과 동일하다. 게다가, X1의 값은 1, 2, 3, 4, 또는 5이다.
임의로, 제1 영역 내의 임의의 타일 지도와 가상 객체가 위치되는 타일 지도 사이의, x-축 방향에서의, 최대 거리는 제1 단위 길이의 X2배 미만이고, 제1 영역 내의 타일 지도와 가상 객체가 위치되는 타일 지도 사이의, y-축 방향에서의, 최대 거리는 제2 단위 길이의 Y2배 미만이며, 여기서 X2 및 Y2는 양의 정수들이고, X1 < X2이고 Y1 < Y2이다. 바람직하게는, 제1 영역 및 중앙 영역은 직사각형이다. 게다가, Y2 = Y1 + 1이고, X2 = X1 + 1이다. 이 경우에, 중앙 영역의 주변부를 하나의 타일 지도만큼 상하로 그리고 좌우로 개별적으로 연장하는 것에 의해 새로운 직사각형 영역이 생성되고, 새로운 사각형 영역은 제1 영역이다.
임의로, 결정 유닛(901)은 실제 환경에서의 가상 객체에 대응하는 실제 객체의 위도 및 경도에 기초하여 가상 지도에서의 가상 객체의 대응하는 지도 좌표를 추가로 결정하고, 여기서 가상 지도는 실제 전자 지도에 기초하여 생성된다.
임의로, 결정 유닛(901)은 추가로 가상 지도에서의 가상 객체의 대응하는 액션 파라미터를 결정하고 실제 환경에서의 가상 객체에 대응하는 실제 객체의 액션 파라미터에 기초하여 가상 객체를 조작한다.
가상 지도를 드로잉하기 위한 장치(900)는 도 4에서의 방법을 추가로 수행하고, 도 4 및 도 6에 도시된 구현들에서 가상 지도를 드로잉하기 위한 장치, 그래픽 엔진 등의 기능들을 구현할 수 있다. 간단함을 위해 본 출원의 구현에서 세부 사항들이 생략된다.
도 10은 본 출원의 일 구현에 따른, 가상 지도를 드로잉하기 위한 장치(1000)를 예시하는 개략 구조 다이어그램이다. 도 10을 참조하면, 소프트웨어 구현에서, 가상 지도를 드로잉하기 위한 장치(1000)는 결정 유닛(1001), 영역 분할 유닛(1002), 및 이미지 프로세싱 유닛(1003)을 포함할 수 있다.
결정 유닛(1001)은 가상 지도의 지도 영역을 실제 전자 지도와 가상 지도 사이의 스케일링 관계에 기초하여 결정하도록 구성된다.
영역 분할 유닛(1002)은 지도 영역을 복수의 동일한 크기의 타일 영역들로 분할하도록 구성된다.
이미지 프로세싱 유닛(1003)은 타일 영역의 타일 지도를 생성하기 위해, 실제 전자 지도에서의 타일 영역에 대응하는 영역 지도에 기초하여 각각의 타일 영역에 대한 이미지 프로세싱을 수행하도록 구성되며, 여기서 이미지 프로세싱은 렌더링 프로세싱을 포함한다.
본 출원의 이 구현에서, 가상 지도의 타일 지도가 실제 전자 지도에 기초하여 빠르게 생성되고, 그에 의해 가상 지도를 생성하는 효율을 개선시킬 수 있도록, 가상 지도의 영역이 실제 전자 지도에 기초하여 결정되고, 가상 지도가 복수의 동일한 크기의 타일 영역들로 분할되며, 실제 전자 지도에서의 타일 영역들의 대응하는 영역 지도들에 기초하여 타일 영역들에 대해 렌더링 프로세싱이 수행된다.
임의로, 결정 유닛(1001)은 실제 전자 지도에서의 복수의 동일한 크기의 타일 영역들 중 제1 타일 영역에 대응하는 제1 실제 영역 지도를 타일 영역의 크기 및 제1 타일 영역의 인덱스에 기초하여 추가로 결정하고, 이미지 프로세싱 유닛(1003)은 제1 타일 영역에 대응하는 제1 타일 지도를 획득하기 위해 제1 실제 영역 지도에 기초하여 제1 타일 영역에 대한 이미지 프로세싱을 추가로 수행한다.
물론, 영역 분할 유닛(1002)이 복수의 동일한 크기의 타일 영역들 중 각각의 타일 영역에 대한 인덱스를 추가로 생성할 수 있음이 이해되어야 한다.
가상 지도를 드로잉하기 위한 장치(1000)는 도 1에서의 방법을 추가로 수행하고, 도 1 및 도 2에 도시된 구현들에서 가상 지도를 드로잉하기 위한 장치, 그래픽 엔진 등의 기능들을 구현할 수 있다. 간단함을 위해 본 출원의 구현에서 세부 사항들이 생략된다.
1990년대에는, 기술적 개선이 하드웨어 개선(예를 들어, 다이오드, 트랜지스터, 또는 스위치와 같은 회로 구조체에 대한 개선)인지 소프트웨어 개선(방법 절차에 대한 개선)인지가 명확히 구분될 수 있다. 그렇지만, 기술들이 발달함에 따라, 많은 방법 절차들에 대한 현재의 개선들은 하드웨어 회로 구조체들에 대한 직접적인 개선들로서 간주될 수 있다. 설계자는 보통 개선된 방법 절차를 하드웨어 회로 내에 프로그래밍하여, 대응하는 하드웨어 회로 구조체를 획득한다. 따라서, 방법 절차가 하드웨어 엔티티 모듈을 사용하여 개선될 수 있다. 예를 들어, PLD(programmable logic device)(예를 들어, FPGA(field programmable gate array))는 그러한 집적 회로이고, PLD의 논리적 기능은 디바이스 프로그래밍을 통해 사용자에 의해 결정된다. 설계자는 주문형 집적 회로 칩(application-specific integrated circuit chip)을 설계하고 생산하도록 칩 제조업체에 요청함이 없이 디지털 시스템을 PLD에 "집적"하기 위해 프로그래밍을 수행한다. 그에 부가하여, 현재, 집적 칩을 수동으로 제조하는 대신에, 이러한 타입의 프로그래밍이 대체로 "로직 컴파일러" 소프트웨어를 사용하여 구현된다. 프로그래밍은 프로그램을 개발하고 작성하는 데 사용되는 소프트웨어 컴파일러와 유사하다. 원래의 코드는 컴파일을 위해 특정의 프로그래밍 언어로 작성될 필요가 있다. 이 언어는 HDL(hardware description language)이라고 지칭된다. ABEL(Advanced Boolean Expression Language), AHDL(Altera Hardware Description Language), Confluence, CUPL(Cornell University Programming Language), HDCal, JHDL(Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, 및 RHDL(Ruby Hardware Description Language)과 같은, 많은 HDL들이 있다. VHDL(very-high-speed integrated circuit hardware description language) 및 Verilog가 가장 흔히 사용된다. 본 기술분야의 통상의 기술자는 방법 절차가 몇 개의 설명된 하드웨어 설명 언어를 사용하여 논리적으로 프로그래밍되고 집적 회로 내에 프로그래밍되면, 논리적 방법 절차를 구현하는 하드웨어 회로가 쉽게 획득될 수 있음을 또한 이해해야 한다.
제어기는 임의의 적절한 방법을 사용하여 구현될 수 있다. 예를 들어, 제어기는 마이크로프로세서 또는 프로세서, 또는 마이크로프로세서 또는 프로세서에 의해 실행될 수 있는 (소프트웨어 또는 펌웨어와 같은) 컴퓨터 판독가능 프로그램 코드를 저장하는 컴퓨터 판독가능 매체, 로직 게이트, 스위치, ASIC(application-specific integrated circuit), 프로그래머블 로직 컨트롤러, 또는 내장형 마이크로프로세서일 수 있다. 제어기의 예들은 다음과 같은 마이크로프로세서들: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, 및 Silicone Labs C8051F320을 포함하지만, 이들로 제한되지 않는다. 메모리 제어기는 메모리의 제어 로직의 일부로서 또한 구현될 수 있다. 본 기술분야의 통상의 기술자는, 컴퓨터 판독가능 프로그램 코드를 사용하여 제어기를 구현하는 것에 부가하여, 제어기가 동일한 기능을 로직 게이트, 스위치, 주문형 집적 회로, 프로그래머블 로직 컨트롤러, 및 내장형 마이크로컨트롤러의 형태들로 구현할 수 있게 해주기 위해 방법 단계들에 대해 로직 프로그래밍이 수행될 수 있음을 또한 알고 있다. 따라서, 제어기는 하드웨어 컴포넌트로서 간주될 수 있고, 제어기에서 다양한 기능들을 구현하도록 구성된 장치는 하드웨어 컴포넌트 내의 구조체로서 또한 간주될 수 있다. 또는, 다양한 기능들을 구현하도록 구성된 장치는 심지어 방법을 구현하는 소프트웨어 모듈 및 하드웨어 컴포넌트 내의 구조체 둘 다로서 간주될 수 있다.
이전의 구현들에서 예시된 시스템, 장치, 모듈, 또는 유닛은 컴퓨터 칩 또는 엔티티에 의해 구현될 수 있거나, 특정한 기능을 갖는 제품을 사용하여 구현될 수 있다. 전형적인 구현 디바이스는 컴퓨터이다. 컴퓨터는, 예를 들어, 개인 컴퓨터, 랩톱 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트폰, 개인 휴대 단말(personal digital assistant), 미디어 플레이어, 네비게이션 디바이스, 이메일 디바이스, 게임 콘솔, 태블릿 컴퓨터, 또는 웨어러블 디바이스, 또는 이러한 디바이스들 중 임의의 것의 조합일 수 있다.
설명의 편의상, 상기 장치는 기능들을 다양한 유닛들로 분할하여 설명된다. 물론, 본 출원이 구현될 때, 각각의 유닛의 기능은 하나 이상의 소프트웨어 및/또는 하드웨어로 구현될 수 있다.
본 기술분야의 통상의 기술자는 본 발명의 일 구현이 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 따라서, 본 발명은 한 형태의 하드웨어 전용 구현들, 소프트웨어 전용 구현들, 또는 소프트웨어와 하드웨어의 조합을 사용한 구현들을 사용할 수 있다. 더욱이, 본 발명은 컴퓨터 사용가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용가능 저장 매체(디스크 메모리, CD-ROM, 광학 메모리 등을 포함하지만 이들로 제한되지 않음) 상에 구현되는 한 형태의 컴퓨터 프로그램 제품을 사용할 수 있다.
본 발명은 본 발명의 구현들에 따른 방법, 디바이스(시스템), 및 컴퓨터 프로그램 제품의 플로차트들 및/또는 블록 다이어그램들을 참조하여 설명된다. 컴퓨터 프로그램 명령어들이 플로차트들 및/또는 블록 다이어그램들에서의 각각의 프로세스 및/또는 각각의 블록, 및 플로차트들 및/또는 블록 다이어그램들에서의 프로세스 및/또는 블록의 조합을 구현하는 데 사용될 수 있음이 이해되어야 한다. 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스의 프로세서에 의해 실행되는 명령어들이 플로차트들에서의 하나 이상의 흐름에서 그리고/또는 블록 다이어그램들에서의 하나 이상의 블록에서 특정 기능을 구현하기 위한 장치를 생성하도록, 이러한 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특수 목적 컴퓨터, 내장형 프로세서, 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스의 프로세서가 머신을 생성하기 위해 제공될 수 있다.
컴퓨터 판독가능 메모리에 저장된 명령어들은 명령어 장치를 포함하는 아티펙트(artifact)를 생성하도록, 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스에게 특정 방식으로 작동하라고 지시할 수 있는 이러한 컴퓨터 프로그램 명령어들은 컴퓨터 판독가능 메모리에 저장될 수 있다. 명령어 장치는 플로차트들에서의 하나 이상의 흐름에서 그리고/또는 블록 다이어그램들에서의 하나 이상의 블록에서 특정 기능을 구현한다.
일련의 동작들 및 단계들이 컴퓨터 또는 다른 프로그래밍가능 디바이스 상에서 수행되고, 그에 의해 컴퓨터 구현 프로세싱을 생성하도록, 이러한 컴퓨터 프로그램 명령어들은 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 디바이스 상에 로딩될 수 있다. 따라서, 컴퓨터 또는 다른 프로그래밍가능 디바이스 상에서 실행되는 명령어들은 플로차트들에서의 하나 이상의 흐름에서 그리고/또는 블록 다이어그램들에서의 하나 이상의 블록에서 특정 기능을 구현하기 위한 단계들을 제공한다.
전형적인 구성에서, 컴퓨팅 디바이스는 하나 이상의 프로세서(CPU), 하나 이상의 입/출력 인터페이스, 하나 이상의 네트워크 인터페이스, 및 하나 이상의 메모리를 포함한다.
메모리는 비영구적 메모리, RAM(random access memory), 비휘발성 메모리, 및/또는 다른 형태의 컴퓨터 판독가능 매체, 예를 들어, ROM(read-only memory) 또는 플래시 메모리(플래시 RAM)을 포함할 수 있다. 메모리는 컴퓨터 판독가능 매체의 일 예이다.
컴퓨터 판독가능 매체는 임의의 방법 또는 기술을 사용하여 정보 저장을 구현할 수 있는 영구적, 비영구적, 이동식, 및 비이동식 매체들을 포함한다. 정보는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체는 PRAM(phase-change random access memory), SRAM(static random access memory), DRAM(dynamic random access memory), 다른 타입의 RAM(random access memory), 판독 전용 메모리, EEPROM(electrically erasable programmable read-only memory), 플래시 메모리 또는 다른 메모리 기술, CD-ROM(compact disc read-only memory), DVD(digital versatile disc), 또는 다른 광학 스토리지, 카세트, 카세트 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스 또는 임의의 다른 비-전송 매체를 포함하지만, 이들로 제한되지 않는다. 컴퓨터 저장 매체는 컴퓨팅 디바이스에 의해 액세스될 수 있는 정보를 저장하도록 구성될 수 있다. 본 명세서에서의 정의에 기초하여, 컴퓨터 판독가능 매체는 일시적 매체들(transitory media), 예를 들어, 변조된 데이터 신호 및 캐리어를 포함하지 않는다.
용어들 "포함한다(include)", "포함한다(contain)" 또는 이들의 임의의 다른 변형이 비배타적 포함(non-exclusive inclusion)을 커버하는 것으로 의도되며, 따라서 일련의 요소들을 포함하는 프로세스, 방법, 물품, 또는 디바이스가 그 요소들을 포함할 뿐만 아니라 명시적으로 열거되지 않은 다른 요소들도 포함하거나, 또는 그러한 프로세스, 방법, 물품, 또는 디바이스에 내재된 요소들을 추가로 포함한다는 점에 추가로 유의할 가치가 있다. "...를 포함하는"에 뒤따르는 요소는, 추가의 제약조건들 없이, 그 요소를 포함하는 프로세스, 방법, 물품, 또는 디바이스에서의 부가의 동일한 요소들의 존재를 배제하지 않는다.
본 기술분야의 통상의 기술자는 본 출원의 구현이 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 따라서, 본 출원은 한 형태의 하드웨어 전용 구현들, 소프트웨어 전용 구현들, 또는 소프트웨어와 하드웨어의 조합을 갖는 구현들을 사용할 수 있다. 그에 부가하여, 본 출원은 컴퓨터 사용가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용가능 저장 매체(디스크 메모리, CD-ROM, 광학 메모리 등을 포함하지만 이들로 제한되지 않음) 상에 구현되는 한 형태의 컴퓨터 프로그램 제품을 사용할 수 있다.
본 출원은 컴퓨터, 예를 들어, 프로그램 모듈에 의해 실행되는 컴퓨터 실행가능 명령어들의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 실행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 본 출원은 분산 컴퓨팅 환경들에서 또한 실시될 수 있다. 분산 컴퓨팅 환경들에서, 태스크들은 통신 네트워크를 통해 접속된 원격 프로세싱 디바이스들에 의해 수행된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 저장 디바이스들을 포함한 로컬 및 원격 컴퓨터 저장 매체들 둘 다에 위치될 수 있다.
본 명세서에서의 구현들은 점진적인 방식으로 설명된다. 구현들에서의 동일한 또는 유사한 부분들에 대해서는, 구현들을 참조한다. 각각의 구현은 다른 구현들과의 차이점에 초점을 맞추고 있다. 특히, 시스템 구현은 방법 구현과 기본적으로 유사하며, 따라서 간략하게 설명된다. 관련 부분들에 대해서는, 방법 구현에서의 관련 설명들을 참조한다.
이전의 설명들은 본 출원의 구현들에 불과하고, 본 출원을 제한하는 것으로 의도되지 않는다. 본 기술분야의 통상의 기술자의 경우, 본 출원은 다양한 수정들 및 변경들을 가질 수 있다. 본 출원의 사상 및 원리 내에서 이루어진 임의의 수정들, 등가의 대체들, 개선들 등은 본 출원에서의 청구항들의 범위 내에 속한다.
Claims (22)
- 가상 지도들에서의 타일(tile) 지도들을 업데이트하기 위한 방법으로서,
제1 영역에서, 가상 객체가 위치되는 중앙 영역을 결정하는 단계 - 상기 제1 영역은, 상기 가상 객체가 위치되는 가상 지도 내로 로딩된 타일 지도들을 포함하는 영역 지도이고, 상기 중앙 영역의 경계는 상기 제1 영역에 위치되며, 상기 가상 지도의 타일 지도 좌표계에서 x-축 방향에서의 상기 중앙 영역 내의 임의의 타일 지도와 상기 가상 객체 사이의 최대 거리는 X1 미만이고, 상기 타일 지도 좌표계에서 y-축 방향에서의 상기 중앙 영역 내의 임의의 타일 지도와 상기 가상 객체 사이의 최대 거리는 Y1 미만이며, 하나의 타일 지도의 길이는 상기 타일 지도 좌표계에서 상기 x-축 상의 단위로서 사용되고, 하나의 타일 지도의 폭은 상기 타일 지도 좌표계에서 상기 y-축 상의 단위로서 사용되며, X1 및 Y1은 미리 결정된 양의 정수들임 -; 및
상기 가상 객체가 상기 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 결정하고, 상기 거리 파라미터 및 상기 제1 영역에 기초하여 상기 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계 - 상기 거리 파라미터는 상기 타일 지도 좌표계에서 상기 x-축 방향 및 상기 y-축 방향에서 상기 중앙 영역에 대한 상기 가상 객체가 위치된 타일 지도의 상대 거리들을 나타내고, 상기 제2 영역은 상기 거리 파라미터에 기초하여 상기 제1 영역을 이동시킨 후에 결정되는 지도 영역임 -
를 포함하는, 가상 지도들에서의 타일 지도들을 업데이트하기 위한 방법. - 제1항에 있어서, 상기 거리 파라미터를 결정하는 단계는:
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 우측에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (1, 0)이라고 결정하는 단계; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 우측 상부에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (1, 1)이라고 결정하는 단계; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역 바로 위에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (0, 1)이라고 결정하는 단계; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 좌측 상부에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (-1, 1)이라고 결정하는 단계; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 좌측에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (-1, 0)이라고 결정하는 단계; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 좌측 하부에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (-1, -1)이라고 결정하는 단계; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역 바로 아래에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (0, -1)이라고 결정하는 단계; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 우측 하부에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (1, -1)이라고 결정하는 단계를 포함하며;
상기 타일 지도는 직사각형 영역이고, 상기 거리 파라미터 (a, b)는 상기 중앙 영역이 a개의 타일 지도만큼 우측으로 그리고 b개의 타일 지도만큼 위로 이동함을 나타내며, x와 y는 정수들인, 방법. - 제1항 또는 제2항에 있어서, 상기 가상 객체가 상기 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 결정하는 단계, 및 상기 거리 파라미터 및 상기 제1 영역에 기초하여 상기 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계는:
상기 가상 객체가 미리 설정된 시간을 초과하는 시간 지속기간 동안 상기 중앙 영역을 벗어나 이동한 후에 상기 거리 파라미터를 결정하는 단계, 및 상기 거리 파라미터 및 상기 제1 영역에 기초하여 상기 제1 영역과 상기 제2 영역에 의해 공유되지 않는 상기 타일 지도의 상기 로딩 상태를 업데이트하는 단계를 포함하는, 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계는:
상기 제1 영역 내의 타일 지도들에 비교하여 상기 제2 영역 내의 추가된 타일 지도들을 로딩하는 단계, 및 상기 제1 영역 내의 타일 지도들에 비교하여 상기 제2 영역 내의 감소된 타일 지도들을 제거하는 단계를 포함하는, 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 거리 파라미터 및 상기 제1 영역에 기초하여 상기 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계는:
상기 거리 파라미터 및 상기 제1 영역 내의 타일 지도들의 인덱스들에 기초하여 업데이트될 필요가 있는 타일 지도의 인덱스를 결정하는 단계; 및
업데이트될 필요가 있는 상기 타일 지도의 상기 인덱스에 기초하여, 상기 가상 지도에서의 상기 가상 객체의 타일 지도의 로딩 상태를 업데이트하는 단계를 포함하는, 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서, X1은 Y1과 동일한, 방법.
- 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 제1 영역 및 상기 중앙 영역 둘 다는 직사각형인, 방법.
- 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 거리 파라미터를 결정하는 단계, 및 상기 거리 파라미터 및 상기 제1 영역에 기초하여 상기 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계 이전에, 상기 방법은:
실제 환경에서의 상기 가상 객체에 대응하는 실제 객체의 위도 및 경도에 기초하여 상기 가상 지도에서의 상기 가상 객체의 대응하는 지도 좌표를 결정하는 단계 - 상기 가상 지도는 실제 전자 지도에 기초하여 생성됨 -
를 추가로 포함하는, 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 거리 파라미터를 결정하는 단계, 및 상기 거리 파라미터 및 상기 제1 영역에 기초하여 상기 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하는 단계 이전에, 상기 방법은:
상기 가상 지도에서의 상기 가상 객체의 대응하는 액션 파라미터를 결정하는 단계, 및 상기 실제 환경에서의 상기 가상 객체에 대응하는 상기 실제 객체의 액션 파라미터에 기초하여 상기 가상 객체를 조작하는 단계
를 추가로 포함하는, 방법. - 가상 지도들에서의 타일 지도들을 생성하기 위한 방법으로서,
가상 지도의 지도 영역을 실제 전자 지도와 상기 가상 지도 사이의 스케일링 관계에 기초하여 결정하는 단계;
상기 지도 영역을 복수의 동일한 크기의 타일 영역들로 분할하는 단계; 및
상기 타일 영역의 타일 지도를 생성하기 위해, 상기 실제 전자 지도에서의 상기 타일 영역에 대응하는 영역 지도에 기초하여 각각의 타일 영역에 대한 이미지 프로세싱을 수행하는 단계 - 상기 이미지 프로세싱은 렌더링 프로세싱을 포함함 -
를 포함하는, 방법. - 제10항에 있어서, 상기 타일 영역의 타일 지도를 생성하기 위해, 상기 실제 전자 지도에서의 상기 타일 영역에 대응하는 영역 지도에 기초하여 각각의 타일 영역에 대한 이미지 프로세싱을 수행하는 단계는:
상기 실제 전자 지도에서의 상기 복수의 동일한 크기의 타일 영역들 중 제1 타일 영역에 대응하는 제1 실제 영역 지도를 상기 타일 영역의 크기 및 상기 제1 타일 영역의 인덱스에 기초하여 결정하는 단계; 및
상기 제1 타일 영역에 대응하는 제1 타일 지도를 획득하기 위해 상기 제1 실제 영역 지도에 기초하여 상기 제1 타일 영역에 대한 이미지 프로세싱을 수행하는 단계를 포함하는, 방법. - 가상 지도를 드로잉하기 위한 장치로서, 결정 유닛 및 업데이트 유닛을 포함하며,
상기 결정 유닛은, 제1 영역에서, 가상 객체가 위치되는 중앙 영역을 결정하고, 상기 제1 영역은 상기 가상 객체가 위치되는 가상 지도 내에 로딩된 타일 지도들을 포함하는 영역 지도이며, 상기 중앙 영역의 경계는 상기 제1 영역에 위치되고, 상기 가상 지도의 타일 지도 좌표계에서 x-축 방향에서의 상기 중앙 영역 내의 임의의 타일 지도와 상기 가상 객체 사이의 최대 거리는 X1 미만이며, 상기 타일 지도 좌표계에서 y-축 방향에서의 상기 중앙 영역 내의 임의의 타일 지도와 상기 가상 객체 사이의 최대 거리는 Y1 미만이고, 하나의 타일 지도의 길이는 상기 타일 지도 좌표계에서 상기 x-축 상의 단위로서 사용되며, 하나의 타일 지도의 폭은 상기 타일 지도 좌표계에서 상기 y-축 상의 단위로서 사용되고, X1 및 Y1은 미리 결정된 양의 정수들이며;
상기 결정 유닛은 상기 가상 객체가 상기 중앙 영역을 벗어나 이동한 후에 거리 파라미터를 추가로 결정하고, 상기 거리 파라미터는 상기 타일 지도 좌표계에서 상기 x-축 방향 및 상기 y-축 방향에서 상기 중앙 영역에 대한 상기 가상 객체가 위치된 타일 지도의 상대 거리들을 나타내고,
상기 업데이트 유닛은 상기 거리 파라미터 및 상기 제1 영역에 기초하여 상기 제1 영역과 제2 영역에 의해 공유되지 않는 타일 지도의 로딩 상태를 업데이트하며, 상기 제2 영역은 상기 거리 파라미터에 기초하여 상기 제1 영역을 이동시킨 후에 결정되는 지도 영역인, 장치. - 제12항에 있어서, 상기 결정 유닛은:
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 우측에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (1, 0)이라고 결정하고; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 우측 상부에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (1, 1)이라고 결정하며; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역 바로 위에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (0, 1)이라고 결정하고; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 좌측 상부에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (-1, 1)이라고 결정하며; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 좌측에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (-1, 0)이라고 결정하고; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 좌측 하부에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (-1, -1)이라고 결정하며; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역 바로 아래에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (0, -1)이라고 결정하고; 또는
상기 가상 객체가 상기 중앙 영역에 인접하여 상기 중앙 영역의 우측 하부에 있는 타일 지도로 이동할 때, 상기 거리 파라미터는 (1, -1)이라고 결정하도록 구체적으로 구성되며;
상기 타일 지도는 직사각형 영역이고, 상기 거리 파라미터 (a, b)는 상기 중앙 영역이 a개의 타일 지도만큼 우측으로 그리고 b개의 타일 지도만큼 위로 이동함을 나타내며, x와 y는 정수들인, 장치. - 제12항 또는 제13항에 있어서, 상기 업데이트 유닛은:
상기 가상 객체가 미리 설정된 시간을 초과하는 시간 지속기간 동안 상기 중앙 영역을 벗어나 이동한 후에 상기 거리 파라미터를 결정하고, 상기 거리 파라미터 및 상기 제1 영역에 기초하여 상기 제1 영역과 상기 제2 영역에 의해 공유되지 않는 상기 타일 지도의 상기 로딩 상태를 업데이트하도록 구체적으로 구성되는, 장치. - 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 업데이트 유닛은:
상기 제1 영역 내의 타일 지도들에 비교하여 상기 제2 영역 내의 추가된 타일 지도들을 로딩하고, 상기 제1 영역 내의 타일 지도들에 비교하여 상기 제2 영역 내의 감소된 타일 지도들을 제거하도록 구체적으로 구성되는, 장치. - 제12항 내지 제15항 중 어느 한 항에 있어서, 상기 업데이트 유닛은:
상기 거리 파라미터 및 상기 제1 영역 내의 타일 지도들의 인덱스들에 기초하여 업데이트될 필요가 있는 타일 지도의 인덱스를 결정하고;
업데이트될 필요가 있는 상기 타일 지도의 상기 인덱스에 기초하여 상기 가상 지도에서의 상기 가상 객체의 타일 지도의 로딩 상태를 업데이트하도록 구체적으로 구성되는, 장치. - 제12항 내지 제16항 중 어느 한 항에 있어서, X1은 Y1과 동일한, 장치.
- 제12항 내지 제17항 중 어느 한 항에 있어서, 상기 제1 영역 및 상기 중앙 영역 둘 다는 직사각형인, 장치.
- 제12항 내지 제18항 중 어느 한 항에 있어서, 상기 결정 유닛은 실제 환경에서의 상기 가상 객체에 대응하는 실제 객체의 위도 및 경도에 기초하여 상기 가상 지도에서의 상기 가상 객체의 대응하는 지도 좌표를 추가로 결정하고, 상기 가상 지도는 실제 전자 지도에 기초하여 생성되는, 장치.
- 제12항 내지 제19항 중 어느 한 항에 있어서, 상기 결정 유닛은 추가로 상기 가상 지도에서의 상기 가상 객체의 대응하는 액션 파라미터를 결정하고 상기 실제 환경에서의 상기 가상 객체에 대응하는 상기 실제 객체의 액션 파라미터에 기초하여 상기 가상 객체를 조작하는, 장치.
- 가상 지도를 드로잉하기 위한 장치로서,
가상 지도의 지도 영역을 실제 전자 지도와 상기 가상 지도 사이의 스케일링 관계에 기초하여 결정하도록 구성된 결정 유닛;
상기 지도 영역을 복수의 동일한 크기의 타일 영역들로 분할하도록 구성된 영역 분할 유닛; 및
상기 타일 영역의 타일 지도를 생성하기 위해, 상기 실제 전자 지도에서의 상기 타일 영역에 대응하는 영역 지도에 기초하여 각각의 타일 영역에 대한 이미지 프로세싱을 수행하도록 구성된 이미지 프로세싱 유닛 - 상기 이미지 프로세싱은 렌더링 프로세싱을 포함함 -
을 포함하는, 장치. - 제21항에 있어서,
상기 결정 유닛은 상기 실제 전자 지도에서의 상기 복수의 동일한 크기의 타일 영역들 중 제1 타일 영역에 대응하는 제1 실제 영역 지도를 상기 타일 영역의 크기 및 상기 제1 타일 영역의 인덱스에 기초하여 추가로 결정하고,
상기 이미지 프로세싱 유닛은 상기 제1 타일 영역에 대응하는 제1 타일 지도를 획득하기 위해 상기 제1 실제 영역 지도에 기초하여 상기 제1 타일 영역에 대한 이미지 프로세싱을 추가로 수행하는, 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611184141.9A CN107016924B (zh) | 2016-12-20 | 2016-12-20 | 虚拟地图中的瓦片地图生成方法、更新方法和装置 |
CN201611184141.9 | 2016-12-20 | ||
PCT/CN2017/116547 WO2018113604A1 (zh) | 2016-12-20 | 2017-12-15 | 虚拟地图中的瓦片地图生成方法、更新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190093667A true KR20190093667A (ko) | 2019-08-09 |
KR102411358B1 KR102411358B1 (ko) | 2022-06-20 |
Family
ID=59440121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197021056A KR102411358B1 (ko) | 2016-12-20 | 2017-12-15 | 가상 지도들에서의 타일 지도들을 생성하고 업데이트하기 위한 방법 및 장치 |
Country Status (8)
Country | Link |
---|---|
US (2) | US10628975B2 (ko) |
EP (1) | EP3561796A1 (ko) |
JP (1) | JP6921199B2 (ko) |
KR (1) | KR102411358B1 (ko) |
CN (1) | CN107016924B (ko) |
SG (1) | SG10202104937WA (ko) |
TW (1) | TWI706375B (ko) |
WO (1) | WO2018113604A1 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016924B (zh) * | 2016-12-20 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 虚拟地图中的瓦片地图生成方法、更新方法和装置 |
CN107423445B (zh) * | 2017-08-10 | 2018-10-30 | 腾讯科技(深圳)有限公司 | 一种地图数据处理方法、装置及存储介质 |
CN110019598A (zh) * | 2017-09-30 | 2019-07-16 | 北京嘀嘀无限科技发展有限公司 | 加载站点的方法、系统、计算机装置及可读存储介质 |
US10657388B2 (en) * | 2018-03-13 | 2020-05-19 | Honda Motor Co., Ltd. | Robust simultaneous localization and mapping via removal of dynamic traffic participants |
CN108446066B (zh) * | 2018-03-14 | 2020-07-14 | 杭州骑迹科技有限公司 | 一种地图标记的加载方法和移动终端 |
CN108710525B (zh) * | 2018-05-18 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 虚拟场景中的地图展示方法、装置、设备及存储介质 |
CN110750602B (zh) * | 2018-07-06 | 2024-09-24 | 北京京东振世信息技术有限公司 | 确定订单地址所属站点的方法和装置 |
CN109523621B (zh) * | 2018-11-15 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 对象的加载方法和装置、存储介质、电子装置 |
US10876844B2 (en) * | 2018-12-26 | 2020-12-29 | Beijing Voyager Technology Co., Ltd. | Systems and methods for loading and tracking maps on a vehicle |
CN110209750B (zh) * | 2019-05-08 | 2022-04-26 | 杭州迦智科技有限公司 | 地图处理方法、装置、存储介质及处理器 |
CN110309437B (zh) * | 2019-06-26 | 2020-06-23 | 京东数字科技控股有限公司 | 一种信息推送方法和装置 |
US11559738B2 (en) * | 2019-12-11 | 2023-01-24 | Playerunknown Productions B.V. | Machine learned virtual gaming environment |
CN111159325B (zh) * | 2019-12-31 | 2023-12-19 | 清华大学 | 分布式地图切片方法、装置、存储介质及服务器 |
CN113498474B (zh) * | 2020-01-21 | 2024-07-19 | 深圳元戎启行科技有限公司 | 高精度地图更新方法、装置、计算机设备和存储介质 |
CN113449054B (zh) * | 2020-03-27 | 2023-08-04 | 杭州海康机器人股份有限公司 | 一种地图切换的方法和移动机器人 |
CN111558221B (zh) * | 2020-05-13 | 2021-03-16 | 腾讯科技(上海)有限公司 | 虚拟场景的显示方法和装置、存储介质及电子设备 |
CN111597287B (zh) * | 2020-05-15 | 2023-09-29 | 阿波罗智能技术(北京)有限公司 | 地图生成方法、装置及设备 |
CN111631639B (zh) * | 2020-05-26 | 2021-07-06 | 珠海市一微半导体有限公司 | 全局栅格地图的地图遍历块建立方法、芯片及移动机器人 |
CN111752697B (zh) * | 2020-07-29 | 2023-08-04 | 腾讯科技(深圳)有限公司 | 应用程序的运行方法、装置、设备及可读存储介质 |
CN111935331A (zh) * | 2020-07-30 | 2020-11-13 | 重庆智载科技有限公司 | 一种网络空间映射方法、可视化方法及系统 |
CN112595334B (zh) * | 2020-12-24 | 2024-04-30 | 江苏徐工工程机械研究院有限公司 | 露天矿山的卸载区的地图更新方法、装置和系统 |
CN113029167B (zh) * | 2021-02-25 | 2024-06-25 | 深圳市朗驰欣创科技股份有限公司 | 一种地图数据处理方法、地图数据处理装置及机器人 |
CN113051491B (zh) * | 2021-04-22 | 2023-12-15 | 北京百度网讯科技有限公司 | 地图数据处理的方法、设备、存储介质及程序产品 |
DE102021114528A1 (de) | 2021-06-07 | 2022-12-08 | Bayerische Motoren Werke Aktiengesellschaft | Aktualisieren von in einem speicher gespeicherten initialen kartendaten |
CN113393516B (zh) * | 2021-06-17 | 2022-05-24 | 贝壳找房(北京)科技有限公司 | 用于打散ar场景中的虚拟物体的方法和装置 |
CN113426112B (zh) * | 2021-07-02 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 游戏画面的显示方法和装置、存储介质及电子设备 |
CN114661839B (zh) * | 2022-01-12 | 2024-02-27 | 中国人民解放军32200部队 | 一种基于瓦片的轨迹地图的展示方法、装置、介质和设备 |
CN114691909B (zh) * | 2022-03-31 | 2024-10-15 | 广州极飞科技股份有限公司 | 地图下载方法、装置、计算机设备和计算机可读存储介质 |
US20240033631A1 (en) * | 2022-07-29 | 2024-02-01 | Niantic, Inc. | Maintaining object alignment in 3d map segments |
CN115357741B (zh) * | 2022-10-24 | 2023-01-03 | 湖南省第二测绘院 | 一种自然资源空间数据在线统计服务方法及系统 |
CN116310241B (zh) * | 2023-03-31 | 2023-10-13 | 北京易智时代数字科技有限公司 | 虚拟角色的位置控制方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4920504A (en) * | 1985-09-17 | 1990-04-24 | Nec Corporation | Display managing arrangement with a display memory divided into a matrix of memory blocks, each serving as a unit for display management |
JPH03139689A (ja) * | 1989-10-25 | 1991-06-13 | Fujitsu Ten Ltd | 地図の表示装置 |
JPH10103993A (ja) * | 1996-10-01 | 1998-04-24 | Sumitomo Electric Ind Ltd | 地図データ送信システム |
JP2012165962A (ja) * | 2011-02-16 | 2012-09-06 | Docomo Technology Inc | ゲームシステム、移動通信端末及びプログラム |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61290477A (ja) * | 1985-06-18 | 1986-12-20 | 三菱電機株式会社 | 情報記録担体再生装置 |
JP3768115B2 (ja) * | 2001-04-27 | 2006-04-19 | 三洋電機株式会社 | ナビゲーション装置 |
US9041744B2 (en) * | 2005-07-14 | 2015-05-26 | Telecommunication Systems, Inc. | Tiled map display on a wireless device |
US20070115288A1 (en) * | 2005-11-22 | 2007-05-24 | Microsoft Corporation | Sprite interface and code-based functions |
JP3139689U (ja) | 2007-11-29 | 2008-02-28 | 陳瑞堯 | マッサージウェア構造 |
CN101635705A (zh) * | 2008-07-23 | 2010-01-27 | 上海赛我网络技术有限公司 | 基于三维虚拟地图和人物的交互方法及实现该方法的系统 |
US8441486B2 (en) * | 2009-04-27 | 2013-05-14 | Jagex Ltd. | Position tracking in a virtual world |
US8436872B2 (en) | 2010-02-03 | 2013-05-07 | Oculus Info Inc. | System and method for creating and displaying map projections related to real-time images |
CN101841910B (zh) * | 2010-02-26 | 2012-08-22 | 中国联合网络通信集团有限公司 | 定位方法和系统、服务器 |
CN101820445B (zh) * | 2010-03-25 | 2012-09-05 | 南昌航空大学 | 一种二维瓦片在基于对象存储系统中的分布方法 |
US20110239229A1 (en) * | 2010-03-26 | 2011-09-29 | Microsoft Corporation | Predicative and persistent event streams |
US8665266B2 (en) * | 2010-06-23 | 2014-03-04 | The United States Of America, As Represented By The Secretary Of The Navy | Global visualization process terrain database builder |
US8880589B2 (en) * | 2010-12-29 | 2014-11-04 | Environmental Systems Research Institute, Inc. | Signature based map caching |
JP5686611B2 (ja) * | 2011-01-14 | 2015-03-18 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
JP5848512B2 (ja) * | 2011-03-31 | 2016-01-27 | 株式会社ゼンリンデータコム | ナビゲーション装置、端末装置及びサーバシステム及びプログラム |
CN102819530A (zh) * | 2011-06-10 | 2012-12-12 | 中兴通讯股份有限公司 | 电子地图的显示方法及装置 |
CN103208225B (zh) * | 2012-01-12 | 2015-10-28 | 中国科学院遥感应用研究所 | 一种瓦片地图制作方法及系统 |
US20130283318A1 (en) * | 2012-04-23 | 2013-10-24 | Comcast Cable Communications, LLC. | Dynamic Mosaic for Creation of Video Rich User Interfaces |
CN102750180A (zh) * | 2012-05-28 | 2012-10-24 | 中国科学院遥感应用研究所 | 一种二维地图瓦片的多线程显示机制 |
US9453734B2 (en) * | 2012-06-05 | 2016-09-27 | Apple Inc. | Smart loading of map tiles |
US9298719B2 (en) * | 2012-09-04 | 2016-03-29 | International Business Machines Corporation | On-demand caching in a WAN separated distributed file system or clustered file system cache |
US9143897B2 (en) | 2012-11-05 | 2015-09-22 | Nokia Technologies Oy | Method and apparatus for providing an application engine based on real-time commute activity |
US9027067B2 (en) * | 2013-03-12 | 2015-05-05 | The United States Of America, As Represented By The Secretary Of The Navy | System and method for interactive spatio-temporal streaming data |
CN104142926A (zh) * | 2013-05-06 | 2014-11-12 | 北京四维图新科技股份有限公司 | 一种电子地图的处理方法及装置 |
US9396508B2 (en) * | 2013-05-15 | 2016-07-19 | Google Inc. | Use of map data difference tiles to iteratively provide map data to a client device |
CN103984720B (zh) * | 2014-05-13 | 2018-01-26 | Tcl集团股份有限公司 | 基于OpenGL的瓦片地图创建方法及装置 |
CN104281709B (zh) * | 2014-10-27 | 2018-09-14 | 杭州智诚惠通科技有限公司 | 交通信息瓦片地图的生成方法和系统 |
CN105989130B (zh) * | 2015-02-16 | 2019-06-14 | 高德软件有限公司 | 电子地图展示方法、装置及电子设备 |
US10228893B2 (en) * | 2015-10-28 | 2019-03-12 | Paypal, Inc. | Private virtual object handling |
CN106021436B (zh) * | 2016-05-16 | 2017-03-15 | 武汉大学 | 一种矢量瓦片地图的制作方法 |
CN106227864B (zh) * | 2016-07-29 | 2018-08-14 | 医卫里网络(杭州)有限公司 | 虚拟地图式数据库以及知识虚拟地图 |
CN107016924B (zh) | 2016-12-20 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 虚拟地图中的瓦片地图生成方法、更新方法和装置 |
-
2016
- 2016-12-20 CN CN201611184141.9A patent/CN107016924B/zh active Active
-
2017
- 2017-09-18 TW TW106131921A patent/TWI706375B/zh active
- 2017-12-15 EP EP17883542.7A patent/EP3561796A1/en not_active Withdrawn
- 2017-12-15 WO PCT/CN2017/116547 patent/WO2018113604A1/zh unknown
- 2017-12-15 KR KR1020197021056A patent/KR102411358B1/ko active IP Right Grant
- 2017-12-15 JP JP2019533443A patent/JP6921199B2/ja active Active
- 2017-12-15 SG SG10202104937WA patent/SG10202104937WA/en unknown
-
2019
- 2019-04-24 US US16/393,802 patent/US10628975B2/en active Active
-
2020
- 2020-04-17 US US16/852,147 patent/US10896528B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4920504A (en) * | 1985-09-17 | 1990-04-24 | Nec Corporation | Display managing arrangement with a display memory divided into a matrix of memory blocks, each serving as a unit for display management |
JPH03139689A (ja) * | 1989-10-25 | 1991-06-13 | Fujitsu Ten Ltd | 地図の表示装置 |
JPH10103993A (ja) * | 1996-10-01 | 1998-04-24 | Sumitomo Electric Ind Ltd | 地図データ送信システム |
JP2012165962A (ja) * | 2011-02-16 | 2012-09-06 | Docomo Technology Inc | ゲームシステム、移動通信端末及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US10896528B2 (en) | 2021-01-19 |
CN107016924A (zh) | 2017-08-04 |
SG10202104937WA (en) | 2021-06-29 |
US10628975B2 (en) | 2020-04-21 |
JP2020507101A (ja) | 2020-03-05 |
US20190251717A1 (en) | 2019-08-15 |
TWI706375B (zh) | 2020-10-01 |
TW201824186A (zh) | 2018-07-01 |
US20200242818A1 (en) | 2020-07-30 |
JP6921199B2 (ja) | 2021-08-18 |
EP3561796A4 (en) | 2019-10-30 |
EP3561796A1 (en) | 2019-10-30 |
CN107016924B (zh) | 2020-04-07 |
WO2018113604A1 (zh) | 2018-06-28 |
KR102411358B1 (ko) | 2022-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102411358B1 (ko) | 가상 지도들에서의 타일 지도들을 생성하고 업데이트하기 위한 방법 및 장치 | |
KR102360660B1 (ko) | 맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체 | |
CN105164500B (zh) | 用于在数字地图上指示用户位置以及面对方向的系统和方法 | |
CN110717005B (zh) | 一种热力图纹理的生成方法、装置及设备 | |
US9684947B2 (en) | Indicating availability of indoor content on a digital map | |
CN110738722B (zh) | 一种热力图纹理的生成方法、装置及设备 | |
JP2013536502A (ja) | マルチスケール3次元配向 | |
US9245366B1 (en) | Label placement for complex geographic polygons | |
WO2014194513A1 (en) | A method and apparatus for self-adaptively visualizing location based digital information | |
JP2017174393A (ja) | マルチ解像度画像システム | |
EP2589933B1 (en) | Navigation device, method of predicting a visibility of a triangular face in an electronic map view | |
KR20120122939A (ko) | 데이터베이스 생성 방법, 네비게이션 장치, 및 높이 정보 판정 방법 | |
CN106611401A (zh) | 一种在纹理内存中存储图像的方法及装置 | |
EP2973428A1 (en) | System and method for classification of three-dimensional models in a virtual environment | |
JP2006268550A (ja) | ナビゲーション装置 | |
CN117218305A (zh) | 道路压盖关系的确定方法、装置、设备、介质及产品 | |
CN106204606A (zh) | 一种地理背景图像的裁剪方法及系统 | |
CN116664786A (zh) | 基于Unity引擎实现三维数字地球的方法、装置和设备 | |
CN117618896A (zh) | 地块生成方法、装置、设备、存储介质及计算机程序产品 | |
CN116778099A (zh) | 一种虚拟隧道模型构建方法、装置、设备、介质及产品 | |
CN117765389A (zh) | 基于足式机器人的地形感知模型的训练方法及装置 | |
JP2014211822A (ja) | 接触面検出システム、状態変化算出システム、内包判定システム、接触面検出方法およびプログラム | |
CN115688148A (zh) | 一种地图数据的坐标转换方法、装置、设备、介质及系统 | |
CN114299241A (zh) | 一种多面体绘制方法、装置、设备及介质 | |
CN116991921A (zh) | 地图数据加载方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |