KR20200029033A - 맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체 - Google Patents

맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체 Download PDF

Info

Publication number
KR20200029033A
KR20200029033A KR1020207005277A KR20207005277A KR20200029033A KR 20200029033 A KR20200029033 A KR 20200029033A KR 1020207005277 A KR1020207005277 A KR 1020207005277A KR 20207005277 A KR20207005277 A KR 20207005277A KR 20200029033 A KR20200029033 A KR 20200029033A
Authority
KR
South Korea
Prior art keywords
positioning result
tile
viewing area
updated
map
Prior art date
Application number
KR1020207005277A
Other languages
English (en)
Other versions
KR102360660B1 (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 KR20200029033A publication Critical patent/KR20200029033A/ko
Application granted granted Critical
Publication of KR102360660B1 publication Critical patent/KR102360660B1/ko

Links

Images

Classifications

    • 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/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • 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/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/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • 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/387Organisation of map data, e.g. version management or database structures
    • G01C21/3878Hierarchical structures, e.g. layering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

맵 데이터 처리 방법은, 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 단계; 상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 단계; 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 획득하는 단계; 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 내부 메모리 공간에 동적으로 로딩하는 단계; 및 상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링하는 단계를 포함한다.

Description

맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체
본 출원은 2017년 8월 10일에 중국 특허청에 출원되고 명칭이 "맵 데이터 처리 방법, 장치 및 저장 매체"인 중국 측허 출원 번호 제201710682652.1호에 대한 우선권을 주장하는 바이며, 상기 특허 출원은 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 출원은 전자 맵(electronic map) 기술에 관한 것으로, 더욱 상세하게 말하자면, 맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체에 관한 것이다.
전자 맵은 기존의 맵을 컴퓨터 기술, 지리 정보 시스템(geographic information system, GIS) 기술 및 네트워크 기술과 융합한 결과이며, 시각적 디지털 맵이 배경(background)으로 사용되고, 텍스트, 픽처(picture), 차트(chart), 사운드, 애니메이션 및 비디오와 같은 복수의 매체가 지역(region), 도시 또는 관광 명소와 같은 영역(area)의 포괄적인 특징을 포괄적으로 제시하기(present) 위한 표현 수단으로서 사용되는 최신 정보 제품이며, 기존의 종이 맵에 대한 시간적 및 공간적 제한을 뛰어 넘으며, 더 풍부한 정보 콘텐츠와 더 넓은 적용 범위를 갖는다.
전자 맵이 사용될 때, 포지셔닝 위치(positioning location)가 변함에 따라, 렌더링(rendering)에 필요한 맵 데이터도 변한다. 현재 포지셔닝 위치의 변화에 따라 매칭하는 맵 데이터를 신속하게 획득하며, 렌더링을 수행하고 출력하는 방법에 대한 효과적인 기술 솔루션이 없다.
본 출원의 실시 예는 맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체를 제공한다.
메모리 및 프로세서를 포함하는 컴퓨터 디바이스에서 수행되는 맵 데이터 처리 방법이 제공되며, 상기 맵 데이터 처리 방법은,
3차원 공간에서 업데이트된 포지셔닝(positioning) 결과를 검출하는 단계;
상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역(field of view area)을 결정하는 단계;
상기 업데이트된 포지셔닝 결과에 대응하는 타일(tile) 및 상기 시야 영역에 대응하는 타일을 획득하는 단계;
상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩(load)하는 단계; 및
상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링(rendering)하는 단계를 포함한다.
메모리 및 프로세서를 포함하는 컴퓨터 디바이스가 제공되며, 상기 메모리는 컴퓨터 판독 가능한 명령을 저장하고, 상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가,
3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동(operation);
상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동;
상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 획득하는 작동;
상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩하는 작동; 및
상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링하는 작동을 수행하게 한다.
컴퓨터 판독 가능한 명령을 저장하는 비 휘발성 컴퓨터 판독 가능한 저장 매체가 제공되며, 상기 컴퓨터 판독 가능한 명령은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서가,
3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동;
상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동;
상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 획득하는 작동;
상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩하는 작동; 및
상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링하는 작동을 수행하게 한다.
본 출원의 하나 이상의 실시 예의 세부 사항은 다음의 첨부 도면 및 설명에서 제공된다. 본 출원의 다른 특징, 목적 및 이점은 명세서, 첨부 도면 및 청구 범위를 참조하여 더 명백해진다.
본 출원의 실시 예에서의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 실시 예를 설명하는데 필요한 첨부 도면을 간략하게 설명한다. 명백히, 다음의 설명에서 첨부 도면은 본 출원의 일부 실시 예를 보여줄 뿐이며, 당업자는 창조적 노력 없이도 이러한 첨부 도면으로부터 다른 도면을 유도할 수 있다.
도 1은 본 출원의 실시 예에 따른 맵 데이터 처리 방법의 개략적인 구현 흐름도이다.
도 2a는 본 출원의 실시 예에 따른 맵 데이터 처리 장치의 선택적 애플리케이션 시나리오의 개략도이다.
도 2b는 본 출원의 실시 예에 따른 상이한 레이어(layer)들에서의 타일(tile)들의 선택적 개략도이다.
도 2c는 본 출원의 실시 예에 따른 상이한 맵 레이어의 분할의 선택적 개략도이다.
도 2d는 본 출원의 실시 예에 따라 맵 데이터를 타일로서 저장하는 선택적 저장 구조(storage structure)의 개략도이다.
도 3은 본 출원의 실시 예에 따른 맵 데이터 처리 방법의 개략적인 구현 흐름도이다.
도 4는 본 출원의 실시 예에 따른 시야 영역(field of view area)의 개략도이다.
도 5는 본 출원의 실시 예에 따른 다른 시야 영역의 개략도이다.
도 6은 본 출원의 실시 예에 따라 타일을 로딩(loading) 및 삭제(deleting)하는 개략도이다.
도 7은 본 출원의 실시 예에 따라 타일을 로딩 및 삭제하는 다른 개략도이다.
도 8은 본 출원의 실시 예에 따라 타일을 로딩 및 삭제하는 또 다른 개략도이다.
도 9는 본 출원의 실시 예에 따른 맵 엘리먼트의 기하학적 속성(geometrical attribute)의 개략도이다.
도 10은 본 출원의 실시 예에 따른 제3 화각에서의 내비게이션의 개략도이다.
도 11은 본 출원의 실시 예에 따른 제3 화각(angle of view)에서의 내비게이션의 다른 개략도이다.
도 12는 본 출원의 실시 예에 따른 맵 데이터 처리 장치의 구성 구조(composition structure)의 개략도이다.
도 13은 본 출원의 실시 예에 따른 다른 맵 데이터 처리 장치의 구성 구조의 개략도이다.
도 14는 본 출원의 실시 예에 따른 다른 맵 데이터 처리 방법의 개략적인 구현 흐름도이다.
본 출원의 목적, 기술적 솔루션 및 장점을 보다 명확하게하기 위해, 본 출원은 첨부 도면을 참조하여 아래에서 더 상세히 설명된다. 설명될 실시 예는 본 출원의 모든 실시 예가 아닌 일부이다. 창조적 노력없이 본 출원의 실시 예에 기반하여 당업자에 의해 획득된 다른 모든 실시 예는 본 출원의 보호 범위 내에 속할 것이다.
본 출원이 더 상세히 설명되기 전에, 본 출원의 실시 예들에서 제공되는 명사 및 용어가 설명된다. 본 출원의 실시 예에서 제공되는 명사 및 용어는 다음의 설명에 적용 가능하다.
1. 맵제작(Cartographic) 데이터베이스: 맵 디지털화 데이터에 기반하는 데이터베이스이며, 맵 콘텐츠의 엘리먼트(예를 들어, 제어 포인트(point), 지형, 토지 유형(land type), 거주지, 수문학(hydrology), 초목 및 교통(transportation))의 디지털 정보 파일을 저장한다.
2. 타일(tile): 벡터 타일이라고도 지칭된다(맵 타일이라고도 지칭됨). 본 명세서에서, 타일은 텍스트 파일 형태(form)로 제공된다. 예를 들어, OSM과 같은 맵제작 데이터베이스의 3차원 공간 맵은 특정 크기에 따라 분할된 다음 데이터 교환 언어에 기반하여 텍스트 파일로 인코딩되고, 정보 예를 들어, 대응하는 맵 영역에서 빌딩(bulding), 도로 및 강과 같은 기하학적 형상(shape), 및 대응하는 빌딩 이름, 도로 이름 및 관심 포인트(point of interest, POI)가 텍스트 파일에 기술된다.
타일은 JSON(JavaScript Object Notation)과 같은 다양한 데이터 언어의 포맷(format) 또는 XML(eXtensible Markup Language) 포맷의 것이다..
3. 타일 데이터베이스: 타일을 저장하는 데이터베이스이다.
4. 내부 메모리 공간: 애플리케이션 프로그램에 할당되어 데이터를 저장하기 위해 사용되는 공간이다.
5. 오픈 스트리트 맵(Open street map, OSM): 대규모 사이버 시민이 공동으로 관리하는 무료 오픈 소스 편집 가능한 타일 데이터베이스이다.
6. 클라이언트: 본 명세서에서, 이는 디바이스에 미리 설치된 애플리케이션 프로그램이거나 디바이스 내의 타사 애플리케이션 프로그램, 예를 들어, IM(instant messaging) 애플리케이션 프로그램 및 브라우저이며, 타일 데이터베이스로부터 요청된 타일들을 스플라이싱(splice)하고 3차원 공간의 이미지를 렌더링(render)하기 위한 타일 렌더링 엔진(예를 들어, Unity3D)이 제공된다.
7. 디바이스: 스마트 폰, 태블릿 컴퓨터, 노트북 컴퓨터, 실제 물체와 가상 물체를 실시간으로 중첩시키기 위한 증강 현실(augmented reality, AR) 및 3차원 공간의 가상 세계를 시뮬레이션하기 위한 가상 현실(virtual reality, VR) 디바이스와 같은, 애플리케이션 프로그램의 실행을 지원하는 전자 디바이스이다. 본 명세서에서 클라이언트가 설치된 디바이스가 클라이언트의 호스트 디바이스라고도 지칭된다.
8. 3차원 공간: 입체적(solid)이며 3차원으로 형성된 공간적 입체(solid)이다. 예를 들어, 3차원 전자 맵 및 스트리트 뷰 맵(street view map)은 모두 3차원 공간이다.
9. 렌더링(Rendering): 클라이언트의 렌더링 엔진이 타일의 텍스트 파일에 따라 이미지를 생성하고 이미지를 화면에 출력하는 프로세스이다. 공간 감각(space sense)을 반영하기 위해, 렌더링 프로그램은 일부 "특수(special)" 작동(operation), 즉 어떤 객체가 앞에 있는 지, 어떤 객체가 뒤에 있는 지, 어떤 객체가 차단되는(blocked) 지 등을 판정하는 것을 수행해야 한다..
10. 제1 화각(angle of view): 이는 내레이터가 자신의 눈으로 개인적으로 보는 각도에서 객관적인 것(objective thing)이 관찰되거나 기술됨을 의미한다. 예를 들어, 게임 장면에서, 내레이터는 게임 운영자의 개인적인 화각에서 전체 게임 데모(demonstration)를 시청하며, 이는 운영자 뒤에 서서 보는 것과 동등하며, 자신이 보는 것은 운영자가 보는 것이다. 보다 시각화되고 몰입감 넘치는 경험이 제공된다. 더욱이, 운영자의 각 미묘한 작동(subtle operation)이 관찰될 수 있다.
11. 제3 화각: 이는 객관적인 것이 제3 자의 각도에서 관찰되거나 기술됨을 의미한다. 예를 들어, 게임에서 제어되는 역할(role)을 제3 자의 각도에서 볼 때, 역할의 전신(whole body)과 주변 환경을 볼 수 있으며; 또는 맵 소프트웨어 픽처에서 자신에 관한 내비게이션 픽처를 제3 자의 각도로 볼 때, 자신의 위치 및 주변 환경을 볼 수 있다.
본 출원의 실시 예들은 맵 데이터 처리 방법, 맵 데이터 처리 방법을 구현하기 위한 맵 데이터 처리 장치, 컴퓨터 디바이스 및 저장 매체를 제공한다. 맵 데이터 처리 장치는 다양한 형태, 예를 들어 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트 폰, AR 디바이스 및 VR 디바이스와 같은 다양한 디바이스로 구현될 수 있다. 본 출원의 실시 예들의 맵 데이터 처리 장치의 하드웨어 구조는 아래에 더 설명된다.
도 1은 본 출원의 각 실시 예를 구현하는 맵 데이터 처리 장치(100)의 하드웨어 구조의 개략도이다. 실제 애플리케이션에서, 맵 데이터 처리 장치는 클라이언트가 실행되는 전술한 다양한 디바이스로서 구현될 수 있다. 도 1에 도시된 맵 데이터 처리 장치(100)는 적어도 하나의 프로세서(110), 메모리(120), 적어도 하나의 네트워크 인터페이스(130) 및 사용자 인터페이스(140)를 포함한다. 맵 데이터 처리 장치(100)의 다양한 구성 요소들은 버스 시스템(150)을 사용하여 서로 결합(coupled)된다. 버스 시스템(150)은 구성 요소들 사이의 연결 및 통신을 구현하도록 구성되는 것으로 이해될 수 있다. 버스 시스템(150)은 데이터 버스 외에 전력 버스, 제어 버스 및 상태 신호 버스를 더 포함한다. 그러나, 명확한 설명을 용이하게 하기 위해, 도 1의 모든 유형의 버스가 버스 시스템(150)으로 표시(mark)되어 있다. 메모리는 비 휘발성 저장 매체 및 내부 메모리를 포함한다. 컴퓨터 디바이스의 비 휘발성 저장 매체는 운영 체제를 저장하고, 컴퓨터 판독 가능한 명령을 더 저장할 수 있다. 프로세서에 의해 컴퓨터 판독 가능한 명령이 실행될 때, 프로세서는 맵 데이터 처리 방법을 수행하도록 야기될 수 있다. 내부 메모리는 또한 컴퓨터 판독 가능한 명령을 저장할 수 있다. 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 프로세서가 맵 데이터 처리 방법을 수행하게 할 수 있다.
사용자 인터페이스(140)는 필요에 따라 디스플레이, 키보드, 터치 패널, 터치 스크린 등으로 구현될 수 있다.
메모리(120)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있거나, 휘발성 메모리 및 비 휘발성 메모리를 모두 포함할 수 있음을 이해할 수 있다. 본 출원의 본 실시 예에서 설명된 메모리(120)는 이들 메모리 및 임의의 다른 적절한 유형의 메모리를 포함하는 것을 목표로 하지만 이에 제한되지 않는다.
본 출원의 본 실시 예에서 메모리(120)는 맵 데이터 처리 장치(100)의 작동을 지원하기 위해 다양한 유형의 데이터를 저장하도록 구성된다. 이러한 유형의 데이터의 예는 맵 데이터 처리 장치(100)에서 작동될 수 있는 임의의 컴퓨터 프로그램, 예를 들어 운영 체제(121) 및 애플리케이션 프로그램(122)을 포함한다.
운영 체제(121)는 다양한 기본 서비스를 구현하고 하드웨어에 기반한 작업(task)을 처리하는 데 사용되는 다양한 시스템 프로그램, 예를 들어 프레임 레이어(layer), 코어 라이브러리 레이어 및 드라이브 레이어를 포함한다. 애플리케이션 프로그램(122)은 다양한 애플리케이션 프로그램을 포함할 수 있다. 본 출원의 실시 예에서 제공되는 맵 데이터 처리 방법을 구현하는 프로그램은 기능 모듈로서 기능하기 위해 애플리케이션 프로그램(122)에 포함될 수 있으며, 또한 맵 데이터 처리에 특별히 사용되는 애플리케이션 프로그램으로서 제공될 수도 있다.
본 출원의 실시 예들에서 제공되는 맵 데이터 처리 방법은 프로세서(110)에 적용될 수 있거나, 또는 프로세서(110)에 의해 구현되거나, 순수한(pure) 하드웨어에 기반한 방식으로 구현되거나, 소프트웨어 및 하드웨어의 조합에 기반한 방식으로 구현될 수 있다.
순수한 하드웨어에 기반한 구현을 위해, 프로세서(110)는 집적 회로 칩일 수 있고 신호 처리 능력을 갖는다. 구현 동안, 본 출원의 실시 예에서 제공되는 맵 데이터 처리 방법의 단계(step)는 프로세서(110)의 하드웨어 집적 논리 회로를 통해 완료될 수 있다. 예를 들어, 예시적인 실시 예에서, 본 출원의 실시 예에서 제공되는 맵 데이터 처리 방법을 구현하도록 구성된 하드웨어 디코딩 프로세서는 예를 들어 ASIC(application specific integrated circuit), 복잡한 프로그래머블 로직 디바이스(complex programmable logic device, CPLD) 또는 FPGA(Field-Programmable Gate Array)인 맵 데이터 처리 장치(100)에 구축(built)될 수 있다.
소프트웨어 및 하드웨어의 조합에 기반한 구현을 위해, 프로세서(110)는 범용 프로세서 및 소프트웨어 모듈을 조합하는 것에 의해 구현될 수 있다. 소프트웨어 모듈은 저장 매체에 위치될 수 있고, 저장 매체는 메모리(120)에 위치되며, 프로세서(110)는 메모리(120)의 데이터를 판독하고, 본 출원의 실시 예들에서 제공되는 맵 데이터 처리 방법을 프로세서(110)의 하드웨어와 조합하여 수행한다.
타일을 저장, 획득 및 렌더링하는 예시적인 프로세스는 도 2a 내지 도 2d에 따라 그리고 타일이 맵 타일인 예를 사용하여, 아래에 설명된다. 도 2a는 본 출원의 실시 예에 따른 맵 데이터 처리 장치의 선택적 애플리케이션 시나리오의 개략도이며; 도 2b는 본 출원의 실시 예에 따른 상이한 레이어들에서의 타일들의 선택적 개략도이고; 도 2c는 본 출원의 실시 예에 따른 상이한 맵 레이어들의 분할의 선택적 개략도이며; 도 2d는 본 출원의 실시 예에 따라 맵 데이터를 타일로서 저장하는 선택적 저장 구조의 개략도이다. 첨부 도면을 참조하여 각각의 설명이 수행된다.
도 2a의 설명을 참조하여, 도면은 타일 빌딩(tile building) 및 디스플레이 프로세스에 관한 것이고, 세부 사항은 다음과 같이 설명된다.
1. 클라이언트는 타일 서버로부터 타일을 획득하기를 요청한다.
사용자가 지리적(geographic) 위치 서비스에 관한 맵 소프트웨어 또는 게임 소프트웨어를 인에이블(enable)할 때, 타일을 획득하기 위한 요청이 실제 요건(requirement)에 따라 타일 서버에 전송된다. 예를 들어, 사용자가 데이터를 디스플레이해야 하는 비례 스케일(proportional scales)의 유형의 수량 및 사용자가 데이터를 디스플레이해야 하는 원본 이미지의 영역에 대한 요건이 있으며, 타일 맵 데이터의 경우, 원본 이미지가 이러한 요건에 따라 분할되고 맵 데이터가 추출된다.
2. 타일 서버는 맵제작 데이터베이스로부터 맵 데이터를 추출하고 타일링(tiling)을 수행한다.
여기서, 타일 서버는 디스플레이된 비율(proportion)에 따라 맵 데이터를 타일링한다. 도 2a에 도시된 바와 같이, 최상 레이어(uppermost layer)는 분할을 통해 추출 및 획득되는 타일들이면서 또한 비례 스케일이 최소인 예를 들어 1: 50000인 타일들의 레벨이고, 최하 레이어(lowermost layer)는 비례 스케일이 최대인 예를 들어, 1: 12500인 타일들의 레벨이다.
일반적으로 비례 스케일이 큰 맵은 상세한 콘텐츠와 높은 기하학적 정밀도(precision)를 가지며, 비례 스케일이 작은 맵은 강력한 콘텐츠 요약(strong content summarization)을 가진다. 따라서 비례 스케일이 클수록 더 작은 이미지 범위를 포함하고 더 상세한 콘텐츠를 제시하며, 더 작은 비례 스케일은 더 큰 이미지 범위를 포함한다.
3. 타일 서버는 타일을 타일 데이터베이스에 저장한다.
타일 맵이 구축된 후, 타일은 타일 데이터베이스에 저장되므로, 사용자가 줌인(zoom-in) 또는 줌아웃(zoom-out) 방식으로 맵을 디스플레이할 때, 사용자는 서버로부터 대응하는 레벨의 타일을 제시간에 획득할 수 있어서, 맵의 디스플레이 효율성을 향상시킨다.
4. 타일 서버는 타일을 클라이언트에 전송한다.
사용자가 맵을 줌인 또는 줌아웃하는 경우, 클라이언트는 구축된 타일 캐시(cache)로부터 대응하는 레벨에서 대응하는 타일을 찾은 다음, 이러한 요청된 타일들을 스플라이싱(splice)하고 렌더링하여, 사용자에 의해 요구되는 레벨에서의 가시 범위(visible range) 내에서의 타일들을 획득한다.
더욱이, 맵 데이터는 사용자의 실제 요건에 따라 미리 타일링되어 사용자에 의해 다운로딩되어 오프라인으로 사용될 수 있다. 따라서, 사용자가 내비게이션을 수행할 필요가 있을 때, 사용자는 로컬 데이터베이스로부터 포지셔닝 결과와 매칭하는 타일을 추출하기만 하여, 네트워크가 열악하여 내비게이션을 수행할 수 없다는 문제점을 피하고, 포지셔닝 내비게이션(positioning navigation)의 효율성을 향상시킬 수 있다.
도 2b의 설명을 참조하여, 도면은 타일 맵의 피라미드(레이어화된) 모델을 나타내며, 여기서 모델은 다중 해상도 레이어화된 모델(multi-resolution layered model)이다. 타일 피라미드의 하단 레이어(bottom layer)에서 상단 레이어(top layer)까지, 해상도는 점점 낮아지지만 표현되는 지리적 범위는 변하지 않는다.
현재 인터넷 개방형 서비스 또는 대부분의 지능형 단말의 APP에서 보여지는 맵 서비스는 모두 메시(mesh)(즉, 타일) 모델을 기반으로 한다. 예를 들어, 사용자에 의해 보여지는 전자 3차원 맵에서의 각각의 장소(place)의 설명(description)은 실제로 10개 이상의 픽처 레이어 또는 20개 이상의 픽처 레이어에 의해 형성된다. 사용자가 스케일링을 수행할 때, 대응하는 타일 픽처는 스케일링 레벨에 따라 선택되고 완전한 맵으로 스플라이싱된다. 일반적인 개방형 서비스에서, 각 타일 픽처는 서버로부터 다운로딩되므로 네트워크 속도가 낮을 때 사용자는 자신의 눈으로 상이한 타일을 스위칭하고 스플라이싱하는 프로세스를 볼 수 있다.
도 2b에 도시된 바와 같이, 제0 레이어의 비례 스케일은 1: 12500일 수 있고, 제1 레이어의 비례 스케일은 1: 25000일 수 있으며, 제2 레이어의 비례 스케일은 1: 50000일 수 있다. 타일 맵의 피라미드 모델은 상이한 비례 스케일에 따라 복수의 타일 레이어로 분할될 수 있으며, 도 2b의 3개의 레이어에만 한정되지 않는다.
맵 타일링 방법의 단계는 다음과 같다: 첫째, 맵 서비스 플랫폼에 의해 제공되는 스케일링 레벨의 수량 N이 결정되고, 스케일링 레벨이 가장 낮은, 즉 맵 비례 스케일이 최대인 맵 픽처가 피라미드의 하단 레이어 즉, 제0 레이어로서 사용되며, 제0 레이어가 파티셔닝되고(partitioned), 맵 픽처는 맵 픽처의 왼쪽 상단 코너(corner)에서 시작하여 왼쪽에서 오른쪽으로 커팅(cut)되고, 동일 크기의 사각형 타일로 분할되어, 제0 레이어의 타일 매트릭스, 예를 들어, 도 2b에 도시된 바와 같은 A1-1-1 내지 A1-1-4, A1-2-1 내지 A1-2-4, A1-3-1 내지 A1-3-4 그리고 A1-4-1 내지 A1-4-4인 타일 매트릭스를 형성하며; 둘째, 제0 레이어의 맵 픽처에 기반하여, 2x2 픽셀 각각을 하나의 픽셀로 조합하는 방법에 따라 제1 레이어의 맵 픽처가 생성되고, 파티셔닝되며, 다음 레이어와 동일한 크기를 갖는 정사각형 타일로 분할되어, 제1 레이어의 타일 매트릭스을 형성하며, 예를 들어, 4개의 타일 A1-1-1 내지 A1-1-4가 타일 A1-1로 조합되고, 나머지는 유추에 의해 추론될 수 있으며, 타일 A1-2, A1-3 및 A1-4는 조합을 통해 획득되고, 이에 따라 도 2b에 도시된 바와 같이 제1 레이어의 타일 매트릭스가 형성되며; 그리고 동일한 방법을 사용하여, 제2 레이어의 타일이 제1 레이어의 맵 픽처에 기반한 조합을 통해 획득되며, 예를 들어 4개의 타일 A1-1, A1-2, A1-3 및 A1-4는 타일 A1으로 조합되고, 이에 따라 (N-1)번째 레이어까지 도 2b에 도시된 바와 같이 제2 레이어의 타일 매트릭스를 형성하여 전체 타일 피라미드를 형성한다.
부가적으로, 도 2c의 설명을 참조하면, 전자 맵에서의 타일 맵은 다음과 같은 상이한 레이어들을 포함할 수 있다:
1. 맵 레이어(TMXLayer).
타일 모델의 경우, 레이어의 개념이 상대적으로 중요하다. 레이어가 생성되기 때문에, 각 레이어에 포함된 엘리먼트는 상대적으로 고정되어 있으며, 여기서 맵 레이어는 가장 기본적이고 가장 자주 사용되는 맵 데이터 엘리먼트, 예를 들어, 스트리트(street), 빌딩, 강, 다리 및 녹지 공간을 포함하며, 일부 베이스(base) 맵조차 도 2c에 도시된 바와 같이, 빌딩 또는 다른 지상 물체(ground object)의 개요(outline)를 포함한다. 베이스 맵에 기반하여, 다양한 요구되는 레이어들이 예를 들어 도로 교통 체증 상황의 레이어, 위성 레이어 및 POI 레이어들이 중첩되어, 애플리케이션 요건을 만족시킬 수 있다.
베이스 맵은 일반적으로 필요한 맵 벡터 데이터를 선택한 다음 맵 예술 디자이너(map art designer)의 작동을 통해 색상, 글꼴, 디스플레이 방식, 디스플레이 규칙 등을 설정하는 것에 의해 렌더링되는 서로 다른 해상도를 가지는 맵의 전체 집합이다.
2. 객체 레이어(TMXObjectGroup).
여기서, 위치 기반 서비스를 위한 장면은 객체 레이어를 더 포함하며, 여기서 객체 레이어는 배경 이외의 맵 엘리먼트에 관한 정보, 예를 들어 지주(prop) 또는 배리어(barrier)의 동적 특수 효과(dynamic special effect)를 추가하기 위해 사용되므로, 가상 객체의 포지셔닝 결과가 업데이트되는 경우 가상 객체와의 상호 작용이 달성될 수 있다.
도 2d의 설명을 참조하여, 타일들은 상이한 레벨들, 예를 들어, 제0 레벨, 제0 레벨 아래의 제0 행 디렉토리 내지 제16M 행 디렉토리 그리고 행 디렉토리들 아래의 이미지 또는 텍스트 데이터에 따라 타일 데이터베이스에 대응하여 저장된다.
여기서, 맵 데이터에서, 하나의 레벨에서의 타일은 행 번호 및 열 번호를 사용하여 표현되고, 타일의 데이터는 인코딩되며; 그리고 인코딩후, 타일이 저장된다. 본 출원의 본 실시 예에서, 타일은 텍스트 파일(예를 들어, XML 또는 JSON 포맷) 형태의 텍스트 파일을 사용하여 표현되며, 여기서 타일은 메타데이터 표, 타일 데이터 표, 기하학 객체 표(geometries object table) 및 속성 정보 표, 그리고 뷰 파일(view file), 예를 들어, 타일 특징 뷰(feature view) 및 타일 기하학적 뷰를 포함한다. 뷰 파일은 타일 데이터 표, 기하학 객체 표 및 속성 정보 표의 데이터로부터 생성되며, 획득될 필요가 없는 지리적(geographic) 엘리먼트의 속성 정보의 경우, 타일 기하학(geometries)에 기반한 쿼리(query) 속도가 더 빠르다.
타일 데이터 표는 모든 벡터 타일 데이터와 타일을 포지셔닝하는데 사용되는 값을 포함하며, 다음 표 1의 필드를 포함한다.
타일 데이터 표
필드명 데이터 유형 설명
resolution varchar 타일에 대응하는 해상도
tile_colum integer 타일 열 번호
tile_row integer 타일 행 번호
기하학 객체는 타일에서의 지리적 엘리먼트의 기하학적 정보를 기록하고, 디스플레이 비율에 따라, 상이한 타일 객체가 완전히 또는 부분적으로 디스플레이될 수 있다. 기하학 객체 표는 다음 표 2의 필드를 포함한다.
기하학 객체 표
필드명 데이터 유형 설명
Filed Text 레이어명
Fid Long 지리적 엘리먼트 ID
tile_id Text 타일 ID
geometry_data Text 기하학적 객체
속성 정보 표는 지리적 엘리먼트의 속성 정보를 기록하며, 다음 표 3의 필드를 포함한다.
속성 정보 표
필드명 데이터 유형 설명
layer Text 레이어명
fid Long 지리적 엘리먼트 ID
attr_data Text 속성 데이터
search_values Text 쿼리 콘텐츠
타일 맵 데이터가 저장된 후, 타일 획득 방법의 단계는 다음과 같이 설명된다: 1. 타일이 획득되기 전에, 포지셔닝 정보, 예를 들어 실제 세계에서의 사용자의 위치(예를 들어, 다양한 좌표계의 좌표), 또는 가상 맵에서의 게임 역할(game role)의 위치가 획득된 다음, 추출될 타일의 맵 데이터가 획득된 포지셔닝 정보와 타일 사이의 관계에 따라 결정된다. 2. 타일이 획득될 때, 대응하는 레벨의 타일이 클라이언트의 현재 디스플레이의 비례 스케일(즉, 스케일링 비율)에 따라, 즉 클라이언트의 실제 요건에 따라 획득되며, 맵제작 데이터베이스는 텍스트 파일 형태로 저장되어 있는 타일이면서 또한 요청된 위치 및 대응하는 레벨과 관련된 타일만을 리턴하여 비효율적인 획득의 상황을 피한다.
도 3은 본 출원의 실시 예에 따른 맵 데이터 처리 방법의 개략적인 구현 흐름도이다. 도 3에 도시된 바와 같이, 본 실시 예에 따른 맵 데이터 처리 방법은 다음의 작동을 포함한다.
단계 301: 3차원 공간에서 업데이트된 포지셔닝 결과를 검출한다.
구체적으로, 클라이언트는 3차원 공간에서 포지셔닝 결과를 검출하고 포지셔닝 결과의 업데이트를 검출할 수 있다.
본 출원의 본 실시 예에서의 클라이언트는 AR/VR 디바이스 + 전자 맵 및 위치 기반 서비스의 게임, 그리고 종래의 지능형 전자 디바이스 + 전자 맵 및 위치 기반 서비스의 게임에 적용될 수 있다. 따라서, 클라이언트는 AR/VR 디바이스 또는 종래의 지능형 전자 디바이스를 통해 3차원 공간에서 포지셔닝 결과를 검출하여, 포지셔닝 결과에 따른 후속 작동을 수행할 수 있다.
포지셔닝 결과의 경우, 클라이언트가 초기화된 예를 사용하여, 클라이언트는 초기화 동안에 디폴트(default) 위치에 타일, 예를 들어, 현재 포지셔닝 결과의 타일 또는 클라이언트가 마지막으로 실행을 종료할 때의 마지막 시간에 획득된 포지셔닝 결과의 타일을 로딩한다. 클라이언트는 포지셔닝 결과에 따라 최신 포지셔닝 결과 및 대응하는 시야 영역의 이미지를 실시간으로 렌더링할 필요가 있다. 따라서, 포지셔닝 결과가 업데이트되는 지의 여부는 고정된 시간 간격 또는 고정되지 않은 시간 간격으로 검출된다(예를 들어, 특정 이벤트에 기반하여 트리거 됨).
전자 맵과 위치 기반 서비스 게임의 두 애플리케이션 프로그램의 경우, 전자는 일반적으로 실제 세계에서의 내비게이션에 사용되며, 후자는 일반적으로 가상 환경에서의 내비게이션에 사용되며, 두 애플리케이션 프로그램의 시나리오는 다음과 같이 소개된다.
시나리오 1: 실제 세계에서의 내비게이션
기존의 지능형 전자 디바이스 + 위치 기반 서비스의 전자 맵 그리고 AR + 위치 기반 서비스의 전자 맵에 적용된다.
예를 들어, 사용자는 일반적으로 일상 생활에서 내비게이션을 사용하고, 예를 들어, 여행을 위해 외출하거나 낯선 장소(strange place)에서 일하거나 생활할 때, 종래의 내비게이션 방식과 같은 다양한 내비게이션 방식은, 즉 전자 맵이 설치된 모바일 폰 또는 다른 지능형 디바이스를 사용하여 실제 세계에서 포지셔닝을 수행하여, 목적지에 도달하기 위한 예를 들어, 내비게이션에 따라 사용자가 현재 위치된 심천에서 베이징에 도달하기 위한 이동 경로(travelling route)를 획득한다.
더욱이, 사용자는 추가로, AR 디바이스 + 위치 기반 서비스의 전자 맵을 사용하여 내비게이션을 수행할 수 있으며, 사용자가 위치된 실제 세계의 이미지를 디스플레이하는 동안, AR 디바이스는 내비게이션 정보를 운반하는 가상 이미지를 중첩시킨다(superimposes).
여기에서, 본 출원의 본 실시 예에서의 AR 내비게이션이 계속 설명된다. AR 내비게이션은: 사용자가 운전을 할 때, 필요한 내비게이션 이미지 및 실시간 도로 조건 정보가 지능형 안경(intelligent glasses)과 같은 사용자가 착용한 특정 AR 디바이스를 통해 디스플레이되거나; 또는 필요한 내비게이션 이미지 및 실시간 도로 조건 정보가 윈드 스크린의 표면에 특수 코팅을 적용하여 자동차의 윈드 스크린에 디스플레이되며, 사용자가 운전을 하는 경우, 내비게이션 이미지가 도로 상에 직접적으로 겹쳐지는 것으로 보인다.
시나리오 2: 가상 환경에서의 내비게이션
온라인 또는 오프라인 게임에서 가상 캐릭터의 내비게이션에 적용된다. 예를 들어, 사용자는 모바일 폰, 컴퓨터, AR 디바이스 또는 VR 디바이스를 사용하여 게임을 하고, 게임에서 가상 캐릭터의 달리기(running) 및/또는 격투(fighting)를 제어한다. 예를 들어, 사용자는 손가락을 통해 스크린을 터치하여 게임에서 가상 캐릭터를 제어하여 대응하는 달리기 또는 격투 작동을 수행하거나; 또는 AR 또는 VR 디바이스를 사용하여 게임을 할 때, 사용자는 AR 또는 VR 디바이스의 제어 로드(rod) 또는 제어 글러브(glove)를 통해 현재 수행되는 달리기 또는 격투 작동을 제어한다.
따라서, 상이한 애플리케이션 시나리오에 따라, 3차원 공간에서 포지셔닝 결과를 획득하는 것은 다음의 두 가지 상황으로 분할될 수 있다:
1. 실제 환경에서 포지셔닝을 수행한다.
일 실시 예에서, 포지셔닝 서비스가 호출되어, 실제 3차원 공간에서, 고정된 시간 간격으로 클라이언트의 호스트 디바이스의 포지셔닝 결과를 검출하며, 즉 실제 세계에서 사용자의 실시간 위치가 획득된다.
예를 들어, 현실에서, 사용자가 모바일 폰, AR 디바이스 또는 VR 디바이스를 사용하여 포지셔닝 또는 내비게이션을 수행할 때, 클라이언트는 전술한 디바이스의 포지셔닝 시스템, 예를 들어, 글로벌 위성 항법 시스템(global satellite navigation system, GPS) 또는 기지국 포지셔닝 시스템에 따라, 실제 3차원 공간에서의 사용자의 위치 정보, 예를 들어, 사용자의 경도 및 위도를 실시간으로 획득하므로, 클라이언트는 위치 정보에 따라, 타일 데이터베이스로부터 대응하는 포지셔닝 결과와 매칭하는 타일을 획득한다.
2. 가상 환경에서 포지셔닝을 수행한다.
일 실시 예에서, 클라이언트는 가상 3차원 공간에서, 고정된 시간 간격으로 클라이언트에서의 가상 객체의 포지셔닝 결과를 검출하고, 즉 가상 세계에서, 게임 내의 가상 객체의 실시간 위치를 획득한다.
예를 들어, 사용자가 모바일 폰을 사용하여 게임을 하고 손가락을 통해 화면을 터치하여 게임 내의 가상 객체를 제어하여 대응하는 달리기 또는 격투 작동을 수행하는 경우; 또는 사용자가 AR 또는 VR 디바이스를 사용하여 게임을 하고, AR 또는 VR 디바이스에서 제어 로드 또는 제어 글로브를 통해 현재 수행된 달리기 또는 격투 작동을 제어하는 경우, 게임 내의 가상 맵에서의 가상 객체의 위치가 변경된다. 이 경우, 가상 객체의 특정 포지셔닝 방식을 통해, 가상 3차원 공간에서, 클라이언트에서의 가상 객체의 포지셔닝 결과가 실시간으로 검출되어, 가상 맵에서의 가상 객체의 위치를 획득하고, 위치를 통해 타일 데이터베이스로부터 매칭하는 타일을 획득한다. 가상 객체의 위치가 변경되는 경우, 위치 변경에 대응하는 타일이 실시간으로 업데이트된다. 이 경우, 가상 맵의 디스플레이도 그에 따라 대응하는 변경을 갖는다.
단계 302: 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정한다.
포지셔닝 또는 내비게이션 동안, 사용자가 시야 영역에서 뷰 정보(view information)를 볼 수 있도록 하기 위해, 정보는 도로, 도로 교통 상황, 빌딩 등일 수 있고, 따라서 시야 영역에 대응하는 타일을 획득하고, 그 다음에 시야 영역에 대응하는 맵을 디스플레이하기 위해, 실제 사용자 또는 가상 객체의 시야 영역이 결정될 필요가 있다.
상이한 전자 디바이스의 경우, 디스플레이 방식이 모두 상이하므로, 시야 영역도 상이하다. AR/VR 디바이스를 위한 디스플레이 방식은 제1 화각에서 디스플레이를 수행하고 있으며, 제시된 시야 영역은 섹터(sector) 영역이고; 종래의 지능형 전자 디바이스는 일반적으로 제3 화각에서 프리젠테이션(presentation)을 수행하고, 제시된 시야 영역은 포지셔닝 결과를 중심으로 갖는 영역이다. 따라서, 단계(302)에서 시야 영역을 결정하는 것은 다음 두 가지 방식으로 구현될 수 있다.
방식(manner) 1: 포지셔닝 결과를 3차원 공간에서 기준(reference)으로 사용하여, 미리 설정된 화각에 위치되는 시야 영역이면서 또한 포지셔닝 결과로부터의 거리(distance)가 미리 결정된 거리보다 작은 시야 영역을 결정한다.
여기서, 방식 1은 AR/VR 디바이스의 내비게이션에 적용 가능하다.
사용자의 방위(orientation), 예를 들어 동쪽 방위, 서쪽 방위, 남쪽 방위 또는 북쪽 방위가 AR/VR 디바이스에서의 자이로스코프에 따라 결정될 수 있다. 따라서, 포지셔닝 결과를 기준으로 사용하여, 미리 설정된 화각(α)에 위치되어 있는 시야 영역이면서 또한 포지셔닝 결과가 미리 결정된 거리(R1)보다 작은 시야 영역이 사용자의 방위를 참조하여 결정된다. 시야 영역은 도 4에 도시된 바와 같이, 포지셔닝 결과를 기준으로 하고, α의 각도에 있으며, 반경 R1을 갖는 섹터 영역임을 알 수 있다. 도 4에서 상이한 숫자 표시(mark) 번호를 갖는 블록은 상이한 타일을 나타내며, 표시 번호가 1 인 블록은 포지셔닝 결과의 타일이고, 표시 번호가 2 내지 21인 블록들은 시야 영역의 타일들이다. 미리 설정된 화각(α)의 크기(magnitude)는 60도 내지 120도일 수 있고, 미리 결정된 거리(R1)는 1km 내지 10km의 값일 수 있다. 값의 크기가 설정되는 경우, 실제 상황에 따라 값의 크기가 결정될 수 있다. 이것은 본 출원의 본 실시 예에서 특별히 제한되지 않는다.
방식 2: 포지셔닝 결과를 3차원 공간에서 중심으로 사용하여, 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 시야 영역을 결정한다.
여기에서, 방식 2는 종래의 지능형 전자 디바이스의 포지셔닝 또는 내비게이션에 적용 가능하다.
포지셔닝 결과를 중심으로 사용하여, 포지셔닝 결과로부터 거리가 미리 결정된 거리(R2)보다 작은 시야 영역이 결정된다. 시야 영역은 도 5에 도시된 바와 같이 포지셔닝 결과를 중심으로 하고 반경이 R인 라운드(round) 영역이라는 것을 알 수 있다. 도 5에서 표시 번호가 1인 블록은 포지셔닝 결과의 타일이고, 표시 번호 2 내지 5인 블록들은 시야 영역의 타일들이다. 미리 결정된 거리(R2)는 1km 내지 10km의 값일 수 있다. 값의 크기가 설정되는 경우, 실제 상황에 따라 값의 크기가 결정될 수 있다. 이것은 본 출원의 본 실시 예에서 특별히 제한되지 않는다.
단계 303: 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 획득한다.
타일의 소스의 경우, 타일 획득 방식은 다음 두 가지 방식 또는 단계로 나눠질 수 있다.
단계 3031: 서버의 타일 데이터베이스로부터, 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 획득한다.
일 실시 예에서, 저장 공간(storage space)이 비교적 작거나 컴퓨팅 능력이 강하지 않은 단말의 경우, 서버는 타일 데이터베이스를 유지할 수 있고, 클라이언트는 서버의 타일 데이터베이스로부터 대응하는 포지셔닝 결과와 매칭하는 타일을 획득할 수 있다. 예를 들어, 클라이언트의 호스트 디바이스에서 맵 데이터의 스토리지(storage)는 호스트 디바이스의 저장 공간을 차지한다. 따라서, 맵 데이터는 서버에 저장되고, 클라이언트가 타일을 획득할 때마다 네트워킹 방식으로 서버로부터 획득되므로, 맵 데이터가 크기 때문에 호스트 디바이스의 대량의 저장 공간이 차지되는 경우를 피할 수 있다.
단계 3032: 호스트 단말의 로컬 데이터베이스로부터, 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 획득한다.
일 실시 예에서, 컴퓨팅 능력이 비교적 강한 단말, 예를 들어 개인용 컴퓨터(personal computer, PC)의 경우, 대응하는 포지셔닝 결과와 매칭하는 타일이 호스트 단말의 로컬 데이터베이스로부터 획득될 수 있고, 타일 데이터베이스는 로컬로 유지된다. 예를 들어, 맵 데이터가 클라이언트의 호스트 디바이스(즉, 로컬단(local end))에 저장되는 경우, 대응하는 포지셔닝 결과와 매칭하는 타일이, 타일이 획득될 때마다 호스트 단말의 로컬 데이터베이스로부터 획득되어, 네트워크 상태가 좋지 않아 내비게이션이 수행될 수 없는 문제를 피할 수 있다.
포지셔닝 또는 내비게이션 중에 라운드 트립(round trip)이 발생할 수 있다. 예를 들어, 내비게이션 동안 상황으로 인해 사용자가 짧은 거리를 지나서 되돌아 가야 하거나; 또는 사용자가 게임을 작동하고 있을 때 게임의 가상 객체가 장소 A에서 장소 B로 이동한 다음 장소 B에서 장소 A로 돌아간다. 이 경우, 내부 메모리 공간은 이력(fistorical) 포지셔닝 결과와 연관된 타일을 저장했을 수 있다. 따라서, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일이 획득되는 경우, 포지셔닝 결과가 처음으로 업데이트되는 지가 판단될 필요가 있다. 포지셔닝 결과가 처음으로 업데이트되지 않은 경우, 포지셔닝 결과가 이력 포지셔닝 결과와 동일한지가 판단된다.
일 실시 예에서, 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일은 업데이트된 포지셔닝 결과가 처음으로 검출될 때 타일 데이터베이스로부터 요청되고; 업데이트된 포지셔닝 결과가 이력 포지셔닝 결과와 동일할 때 내부 메모리 공간이 먼저 타일에 대해 쿼리되고, 타일이 발견되지 않는 경우에만 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일이 타일 데이터베이스로부터 요청되어, 타일 획득 시간을 단축한다.
각각의 타일은 영역의 지리 정보를 반영하므로, 타일 A가 영역 A의 지리 정보를 반영하면, 영역 A에서의 포지셔닝 마다의 포지셔닝 결과가 타일 A에 대응한다. 포지셔닝 결과가 업데이트될 때(즉, 위치 정보가 업데이트될 때) 타일이 맵제작 데이터베이스로부터 빈번하게 호출되는 경우를 피하기 위해, 포지셔닝 결과 및 시야 영역과 매칭하는 타일들이 획득되기 전에 포지셔닝 결과가 처음으로 획득되는지가 판단된다.
그렇다면, 대응하는 포지셔닝 결과 및 시야 영역과 매칭하는 타일들이 타일 데이터베이스로부터 요청되고; 또는 그렇지 않으면, 내부 메모리 공간은 대응하는 포지셔닝 결과 및 시야 영역과 매칭하는 타일에 대해 쿼리되고, 타일이 발견되지 않는 경우, 대응하는 포지셔닝 결과 및 시야 영역과 매칭하는 타일들이 타일 데이터베이스로부터 요청된다.
예를 들어, 타일 A는 일련 번호가 1 내지 100인 위치에 관한 정보에 대응한다. 처음으로 획득된 포지셔닝 결과가 일련 번호가 1인 위치인 경우, 내부 메모리 공간이 타일 A를 저장하지 않기 때문에, 클라이언트는 타일 데이터베이스로부터, 대응하는 포지셔닝 결과와 매칭하는 타일을 요청한다. 일련 번호가 2 내지 100인 위치들 중 어느 하나로 포지셔닝 결과가 업데이트될 때, 일련 번호가 2 내지 100인 각각의 위치에 관한 정보가 타일 A에 대응하고, 타일 A가 내부 메모리 공간에 저장되었기 때문에, 내부 메모리 공간만이 매칭하는 타일 A에 대해 쿼리될 필요가 있다. 포지셔닝 결과가 일련 번호가 100보다 큰 위치로 업데이트되고 내부 메모리 공간에서 매칭하는 타일 A가 발견되지 않는 경우, 대응하는 포지셔닝 결과와 매칭하는 타일이 타일 데이터베이스로부터 요청된다. 따라서, 포지셔닝 결과가 업데이트되기(즉, 위치 정보가 업데이트됨) 때문에 타일이 맵제작 데이터베이스로부터 빈번하게 호출되는 경우를 피함으로써, 맵 디스플레이 효율성을 향상시킨다.
따라서, 전술한 타일을 획득하기 위해, 포지셔닝 결과가 특정 영역(예를 들어, 영역 A)을 초과하는 경우에만, 대응하는 타일이 포지셔닝 결과에 따라 획득된다.
일부 주류(mainstream) 맵 애플리케이션 프로그래밍 인터페이스(application programming interfaces, API) 각각에 대해, 클라이언트의 단말이 영역의 맵 픽처를 요청하고 서버가 미리 렌더링된 맵 픽처를 리턴하는 방식으로, 클라이언트는 맵 픽처를 스플라이싱하지만 맵 픽처의 전송은 더 많은 트래픽을 소비해야 한다.
본 출원의 실시 예들의 솔루션이 적용된다. 맵 픽처는 JSON 포맷 형태로 저장된다. 따라서, 포지셔닝 결과가 업데이트될 때마다, 업데이트된 포지셔닝 결과 및 시야 영역에 대응하는 JSON 포맷의 텍스트 파일만이 획득될 필요가 있고, JSON 포맷의 텍스트 파일은 일반적으로 비교적 작아서, 효과적으로 전송 트래픽 소비를 감소시키고 맵을 빠르게 로딩할 수 있다.
단계 304: 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩한다.
구체적으로, 클라이언트는 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 내부 메모리 공간에 동적으로 로딩할 수 있다. 예를 들어, 포지셔닝 결과에 대응하는 타일이 일련 번호 1을 가지고, 시야 영역에 대응하는 타일이 일련 번호 2 내지 10을 가지면, 포지셔닝 결과에 대응하는 타일 1 및 시야 영역에 대응하는 타일 2 내지 타일 10을 획득할 때, 클라이언트는 획득된 타일을 내부 메모리 공간에 로딩한다.
일 실시 예에서, 게임에서 사용자의 위치 또는 사용자에 의해 제어되는 가상 객체의 위치가 변경되기 때문에, 포지셔닝 결과가 실시간으로 업데이트되고, 대응하는 타일이 내부 메모리 공간으로 로딩되고, 호스트 단말의 내부 메모리 공간이 제한되며(특히, 이동 단말), 내부 메모리 오버플로우(overflow) 문제가 발생할 수 있다. 따라서, 내부 메모리 공간의 클리어링(clearing) 조건이 만족되는 경우, 내부 메모리 공간의 일부 타일은 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는데 사용되는 유휴(idle) 내부 메모리 공간이 형성될 때까지 클리어된다.
일 실시 예에서, 내부 메모리 공간의 클리어링 조건을 만족시키는 것은: 내부 메모리 공간에 저장된 타일이 미리 설정된 용량 또는 비율에 도달할 때 또는 업데이트된 포지셔닝 결과가 검출될 때, 내부 메모리 공간의 클리어링 조건이 만족되는 것으로 결정하는 단계를 포함한다.
일 실시 예에서, 맵 데이터 처리 방법은, 내부 메모리 공간에서 일부 타일을 클리어(clear)하는 단계를 더 포함하고, 상기 단계는 구체적으로, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는데 사용되는 유휴 내부 메모리 공간이 형성될 때까지 내부 메모리 공간의 클리어링 조건이 만족되는 경우 내부 메모리 공간에서 일부 타일을 클리어하는 단계를 포함한다.
내부 메모리 공간에서 일부 타일을 클리어하는 데 다음과 같은 클리어링 방식이 사용될 수 있다.
클리어링 방식 1: 클리어링은 활성(active) 영역에 따라 수행된다.
일 실시 예에서, 내부 메모리 공간에서 일부 타일을 클리어하는 단계는, 활성 영역을 결정하는 단계 - 활성 영역은 업데이트된 포지셔닝 결과, 시야 영역 및 시야 영역의 인접한 영역(neighboring area)을 포함함 -; 및 내부 메모리 공간에서 비활성(inactive) 영역의 타일을 클리어하는 단계를 포함한다.
일 실시 예에서, 먼저, 업데이트된 포지셔닝 결과에 대응하는 영역, 시야 영역 및 시야 영역의 인접한 영역은 업데이트된 포지셔닝 결과에 따라 결정되고, 결정된 영역은 활성 영역으로 분류되고, 결정된 영역을 초과하는 영역은 비활성 영역으로 분류되며; 그리고, 내부 메모리 공간에서, 비활성 영역에 속하는 타일이 클리어된다. 게임에서 사용자 또는 가상 객체의 위치가 업데이트되기 때문에, 전술한 활성 영역도 대응하여 업데이트되고 변경되며; 포지셔닝된 객체가 사용자인 경우, 활성 영역은 사용자의 실제 활성 영역이고; 그리고 포지셔닝된 객체가 게임에서 가상 객체인 경우, 활성 영역은 가상의 3차원 공간에서 가상 객체의 활성 영역이다.
예를 들어, 종래의 지능형 전자 디바이스를 사용하여 포지셔닝 또는 내비게이션이 수행되는 경우, 맵 픽처는 일반적으로 제3 화각으로 제시된다(present). 도 6에 도시된 바와 같이, 사용자가 화살표(D)의 방향(direction)을 따라 진행할 때, 포지셔닝 결과는 타일 1에 대응하고, 시야 영역은 타일 2 내지 타일 9에 대응하며, 인접한 영역은 타일 10 내지 타일 18에 대응하며, 여기서 인접한 영역은 직접 인접한 영역 또는 간접 인접한 영역일 수 있다. 따라서, 활성 영역은 타일 1 내지 타일 18에 대응하고, 타일 1 내지 타일 18 이외의 타일이 클리어되며, 즉, 타일 19 내지 타일 21이 클리어된다.
다른 예에서, AR/VR 디바이스를 사용하여 포지셔닝 또는 내비게이션이 수행될 때, 맵 픽처는 일반적으로 제1 화각으로 제시된다. 도 7에 도시된 바와 같이, 사용자가 화살표(E)의 방향을 따라 진행할 때, 포지셔닝 결과는 타일 1에 대응하고, 시야 영역은 타일 2 내지 타일 16에 대응하며, 시야 영역의 인접한 영역은 타일 17 내지 타일 23에 대응하고, 인접한 영역은 직접 인접한 영역 또는 간접 인접한 영역, 예를 들어 거리일 수 있다. 따라서, 활성 영역은 타일 1 내지 타일 32에 대응하고, 타일 1 내지 타일 32 이외의 타일은 클리어되며, 즉, 타일 33 내지 타일 35는 클리어된다. 사용자가 AR/VR 디바이스를 사용하여 포지셔닝 또는 내비게이션d을 수행할 때, 실제 요건으로 인해, 사용자 및 휴대 AR/VR 디바이스는 상대적으로 크게 왼쪽 또는 오른쪽으로 회전할 수 있으며, 따라서 대응하는 타일이 시야 영역의 변화에 따라 획득되어, 맵 디스플레이를 수행한다.
여기에서, 본 출원의 본 실시 예에서의 삭제(deleting) 정책이 계속해서 더 언급된다. 타일이 로딩될 때, 사람의 시야가 제한되기 때문에, 현재 위치 블록 상 그리고 n×n의 주변(surrounding) 영역 내의 타일들(즉, 활성 영역의 타일)만이 로딩될 필요가 있다. 더욱이, 타일이 지속적으로 로딩되기 때문에 내부 메모리 공간이 부족한 현상을 피하기 위해서, 미리 설정된 범위를 넘어선(beyond) 타일들이 동적으로 삭제되어야 한다. 여기서 사용되는 정책은 현재 블록의 (n+1)×(n+1)을 넘어선 타일(즉, 비활성 영역의 타일)을 삭제하는 것이다. 예를 들어, n=3인 경우, 도 8에 도시된 바와 같이, 사선(oblique line)이 있는 회색 단위 블록(unit block)은 삭제된 블록이고, 사선이 없는 회색 단위 블록은 맵 데이터가 로딩되고, 화살표 포인트가 현재 블록인 흰색 단위 블록, 및 현재 블록의 4×4를 넘어선 블록들은 삭제된다. 라운드트립이 2개의 타일의 에지(edge) 구역에서 이루어지기 때문에 에지에서의 타일이 빈번하게 요청되고 삭제되는 경우를 피하기 위해, n+1이 삭제 범위로서 간주된다.
여기에서, 도 8은 본 출원의 실시 예에서 계속 도입되고, 왼쪽의 제1 픽처는 막 로딩되기 시작한 픽처이며, 현재 타깃 객체 주위의 3×3 맵 블록만이 디스플레이되며; 왼쪽의 제2 픽처에서 타깃 객체가 픽처에서 위쪽으로 이동하고, 타깃 객체가 특정 방위로 이동하는 경우 맵 블록이 업데이트되며, 도면에서 제1 행과 제2 행 사이의 단위 블록들은 업데이트된 맵 블록들이며, 픽처에서의 4×3 맵 블록들이 예약되며(reserved); 왼쪽의 제3 픽처에서 타깃 객체는 픽처에서 오른쪽으로 이동하고 매번 세 개의 단위들이 로딩되기 때문에 제4 열과 제5 열에서의 단위 블록들의 데이터가 로딩되고; 왼쪽의 제4 픽처에서, 타깃 객체는 픽처에서 오른쪽으로 이동하며, 매번 세 개의 단위들이 로딩되기 때문에 타깃 객체가 특정 방위로 이동할 때 제5 열과 제6 열에서의 단위 블록들의 데이터가 로딩되고, 제1 열과 제2 열에서의 단위 블록이 삭제된다. 도 8의 4개의 서브 픽처에서, 오른쪽의 각 서브 픽쳐는 왼쪽의 서브 픽쳐에 기반한 움직임을 통해 형성된다.
클리어링 방식 2: 포지셔닝 결과로부터의 거리에 따라 클리어링이 수행된다.
일 실시 예에서, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는데 사용되는 유휴 내부 메모리 공간이 형성될 때까지, 내부 메모리 공간에서 비 시야 영역의 타일들이 업데이트된 포지셔닝 결과와 관련하여 원거리에서 근거리 순으로 클리어된다.
예를 들어, 도 6에 도시된 바와 같이, 사용자의 포지셔닝 결과는 타일 1에 대응하고, 시야 영역은 타일 2 내지 타일 9에 대응한다. 따라서 가장 먼 타일은 타일 10 내지 타일 21을 포함한다. 여기서, 사용자의 방향이 A6에서 A1로의 방향에서 B1에서 B6으로의 방향으로 변경된 것으로 판단되기 때문에, 시야 영역이 확대되어 전방 시야(front field of view)를 확대시킨다. 따라서, 타일 10 내지 타일 12는 시야 영역에 배치되고(placed) 예약된다. 따라서, 로딩된 타일 13 내지 타일 21은 클리어되어, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는데 사용되는 유휴 내부 메모리 공간을 형성한다.
클리어링 방식 3: 시야에 따라 클리어링이 수행된다.
일 실시 예에서, 내부 메모리 공간에서, 현재 포지셔닝 결과의 시야에 속하는 타일들이 최신(현재) 포지셔닝 결과에 기반하여 결정되고, 현재 시야와 매칭하는 타일을 로딩하는데 사용되는 충분한 유휴 내부 메모리 공간이 내부 메모리 공간에 형성될 때까지 시야를 넘어선 타일은 원거리에서 근거리 순으로 순차적으로 클리어된다.
예를 들어, 지능형 안경과 같은 AR 디바이스를 사용하여 포지셔닝 또는 내비게이션을 수행하는 경우, 사용자는 지능형 안경에 배치된 글로벌 포지셔닝 시스템을 통해 포지셔닝 및 트래킹(tracking)을 수행하고, 포지셔닝 결과에 대응하는 3D 전자 맵이 지능형 안경 상에 디스플레이된다. 사용자의 시야가 제한되기 때문에, 사용자는 특정 거리에서 전방의 것만 볼 수 있다. 따라서, 현재의 시야에 대응하는 타일 및 현재의 시야를 넘어선 타일은 현재의 시야와 이력 포지셔닝 결과 사이의 관계에 따라 결정되고, 시야 내의 데이터는 내부 메모리에 유지되고, 시야를 넘어선 데이터는 클리어되어, 현재 시야와 매칭하는 타일을 로딩하는데 사용되는 유휴 내부 메모리 공간을 형성한다. 더욱이, 지능형 안경에 배치된 글로벌 포지셔닝 시스템을 사용하여 포지셔닝 및 트래킹을 수행하는 것 외에도, 사용자가 휴대하는 모바일 폰 또는 차량 내 시스템의 포지셔닝 시스템과 같은 디바이스를 통해 포지셔닝이 추가로 수행될 수 있으며, 포지셔닝 결과는 블루투스(Bluetooth), NFC(Near Field Communication) 또는 Wi-Fi(Wireless Fidelity) 방식으로 지능형 안경으로 전송된다.
다른 예를 들어, 사용자는 다르게는 예를 들어 모바일 폰 또는 차량 내 내비게이션 시스템(in-vehicle navigation system)을 사용하여, 규칙적인 방식으로 포지셔닝 또는 내비게이션을 수행할 수 있다. 모바일 폰 또는 차량 내 내비게이션 시스템의 경우, 디스플레이된 3차원 픽처에서 시야는 모바일 폰 또는 차량 내 내비게이션 시스템의 디스플레이 스크린을 터치하는 것에 의해 조정 또는 제어될 수 있거나, 기본적으로 포지셔닝 결과와 함께 대응하여 조정될 수 있다. 따라서, 현재의 시야에 대응하는 타일 및 현재의 시야를 넘어선 타일은 다르게는 이력 포지셔닝 결과와 모바일 폰 또는 차량 내 내비게이션 시스템의 디스플레이 스크린 상에 디스플레이된 시야 사이의 관계에 따라 결정될 수 있으며, 시야 내의 데이터는 내부 메모리 공간에 유지되고, 시야를 넘어선 데이터는 클리어되어, 현재 시야와 매칭하는 타일을 로딩하는데 사용되는 유휴 내부 메모리 공간을 형성한다.
일 실시 예에서, 내부 메모리 공간의 데이터가 클리어되거나, 내부 메모리 공간에 가장 초기에 저장된 일부 타일이 저장 순서로 클리어될 수 있다.
예를 들어, 클라이언트가 실행될 때, 실행 효율성을 개선하고 내부 메모리 공간의 소비를 감소시키기 위해, 더 이상 사용되지 않는 데이터가 적절히 클리어된다. 일반적으로, 사용자가 내비게이션 프로세스에 있을 때, 사용자가 계속 이동하기 때문에, 내부 메모리 공간에 가장 빨리 로딩된 맵 데이터는 더 이상 사용자에 의해 사용되지 않을 수 있다. 따라서 내부 메모리 공간에 가장 빨리 저장된 일부 타일은 저장 순서(storage order)대로 클리어질 수 있다.
단계 305: 로딩된 타일들에 기반하여, 3차원 공간에서, 포지셔닝 결과에 위치되고 시야 영역에 대응하는 이미지를 렌더링한다.
일 실시 예에서, 로딩된 타일에 기반하여, 3차원 공간에서, 포지셔닝 결과에 위치되고 시야 영역에 대응하는 이미지를 렌더링하는 단계는, 타일에 포함된 맵 엘리먼트의 기하학적 속성에 따라 기하학적 속성에 대응하는 메시를 생성하고, 메시에 따라, 대응하는 기하학적 속성을 갖는 맵 엘리먼트의 이미지를 생성하는 단계; 및 맵 엘리먼트의 이미지를 3차원 공간에서 대응하는 위치로 렌더링하는 단계를 포함한다.
타일에 따라 3차원 공간에서 이미지를 렌더링하는 구현이 아래에 설명된다. 일 실시 예에서, 타일은 기하학적 속성을 갖는 객체에 관한 정보를 포함한다. 따라서, 렌더링 프로세스에서, 객체 정보가 속하는 기하학적 속성 유형이 결정되고, 기하학적 속성 유형은 포인트, 라인(line) 및 평면을 포함하고; 기하학적 속성 유형에 대응하는 메시가 생성되며, 기하학적 속성 유형의 객체 정보는 메시에 따라 대응하는 기하학적 객체로 변환되고; 기하학적 객체는 3차원 공간에서 대응하는 위치에 배치되어, 3차원 공간에서, 업데이트된 포지셔닝 결과에 위치된 이미지를 형성한다.
도 9에 도시된 바와 같이, 전자 맵은 영역의 타일을 포함하고, 타일의 맵 데이터는 포인트, 라인 및 평면의 형태로 반영된다.
1. 포인트에 대한 맵 데이터는 하나의 기하학적 정보, 즉 포인트의 경도 및 위도를 포함한다. 변환을 통해, 맵 상의 대응 포인트는 대응하는 객체, 예를 들어 버스 정류장 또는 카페를 생성할 수 있다.
2. 라인에 대한 맵 데이터의 기하학적 정보는 주로 도로, 강, 지하철 등에 대응한다. 예를 들어 도로를 사용하는 경우, 도로의 세그먼트(segment)는 복수의 라인 세그먼트를 포함하고, 라인 세그먼트 방향을 따라 하나의 사각형(quadrangle)이 도로의 폭에 따라 각각의 라인 세그먼트에 대해 생성될 수 있으며, 복수의 사각형은 하나의 다각형으로 조합되며, 전술한 설정 정보를 포함하는 메시가 생성되고, UV 텍스처 맵 좌표 및 재료 볼(material ball)이 부착된 후 렌더링이 수행된다.
3. 평면(또는 다각형)에 대한 맵 데이터의 기하학적 정보는 주로 빌딩, 호수 등에 대응하고, 평면 관련 맵 서브스턴스(substance)가 생성되며, 빌딩 또는 호수와 같은 대응하는 메시가 꼭짓점 데이터와 다각형의 높이에 따라 직접 생상될 수 있으며, 맵 상의 대응하는 위치에 배치된다.
여기에서, 본 출원의 실시 예에서의 메시가 계속 언급되며, 메시는 하나의 유니티(unity)의 구성 요소이고, 메시 구성 요소로 지칭되며, 유니티는 메시, 메시 필터 및 메시 렌더러(renderer)를 포함한다.
메시: 메시의 주요 속성 콘텐츠는 꼭짓점 좌표, 법선(normal), 텍스처 좌표, 삼각형 드로잉 시퀀스 및 기타 유용한 속성과 기능(funtion)을 포함한다.
메시 필터: 메시 필터에 따라 모델 메시를 획득하기 위한 구성 요소일 수 있는 메시 구성 요소를 포함하며, 메시 필터에 대한 메시 콘텐츠를 설정할 수도 있다.
메시 렌더러: 메시 렌더링에 사용되는 구성 요소이며, 메시 렌더러는 메시 필터에 의해 전송된 메시 모델을 그리고(draw) 디스플레이한다.
상이한 디바이스의 경우, 서로 다른 애플리케이션 시나리오에서, 맵 픽처의 렌더링 각도가 모두 상이하다. 상이한 화각 렌더링의 경우 다음 세 가지 시나리오가 있을 수 있다.
시나리오 1: 제1 화각.
일 실시 예에서, 화각 렌더링(angle of view rendering)이 내부 메모리 공간에서, 업데이트된 포지셔닝 결과 및 시야 영역과 매칭하는 타일에 기반하여 수행되어 제1 화각에서 디스플레이된 이미지를 형성한다.
예를 들어, 3차원 전자 맵 내비게이션 애플리케이션 또는 일부 온라인 또는 오프라인 게임에서, 운영자의 각 미묘한 작동을 관찰하기 위해, 픽처는 일반적으로 제1 화각에서 제시되며, 즉, 객관적인 것이 내레이터가 개인적으로 자신의 눈으로 보는 각도에서 관찰되거나 기술된다. 따라서, 렌더링 프로세스에서, 제1 화각을 기준으로 사용하여, 포지셔닝 결과의 타일이 렌더링되어, 3차원 공간에서, 업데이트된 포지셔닝 결과 상에 위치되는 이미지이면서 또한 제1 화각에서 디스플레이되는 이미지를 형성한다.
시나리오 2: 제3 화각.
일 실시 예에서, 화각 렌더링은 내부 메모리 공간에서, 업데이트된 포지셔닝 결과 및 시야 영역과 매칭하는 타일에 기반하여, 제3 화각에서 디스플레이되는 이미지를 형성한다.
예를 들어, 게임에서 게임 역할의 전신과 게임 역할 주변 환경을 관찰하거나, 렌더링 프로세스에서, 제3 화각을 기준으로 사용하여 맵 소프트웨어 픽처에서 자신의 위치와 주변 환경을 보기(see)위해, 포지셔닝 결과의 타일이 렌더링되어, 3차원 공간에서, 업데이트된 포지셔닝 결과 상에 위치되는 이미지이면서 또한 제3 화각으로 디스플레이되는 이미지를 형성한다.
시나리오 3: 제1 화각과 제3 화각에서 섬네일(thumbnail)들을 중첩시킨다(Superimpose).
일 실시 예에서, 화각 렌더링은, 내부 메모리 공간에서, 업데이트된 포지셔닝 결과 및 시야 영역과 매칭하는 타일에 기반하여, 섬네일을 제1 화각 및 제3 화각에서 중첩시키는 것에 의해 디스플레이된 이미지를 형성한다.
예를 들어, 3차원 전자 맵 내비게이션 애플리케이션 또는 일부 온라인 또는 오프라인 게임에서, 운영자가 운영자의 각 미묘한 작동을 관찰할 뿐만 아니라, 게임에서 게임 역할의 전신과 게임 역할 주변의 환경을 관찰하거나, 렌더링 프로세서에서, 제1 화각을 기준으로 사용하고 제3 화각을 보조 기준으로 사용하여, 맵 소프트웨어 픽처에서 자신의 위치와 주변 환경을 보고자 하면, 포지셔닝 결과의 타일이 렌더링되어, 3차원 공간에서, 업데이트된 포지셔닝 결과에 위치되는 이미지이면서 또한 제1 화각 및 제3 화각에서 섬네일을 중첩하는 것에 의해 디스플레이되는 이미지를 형성한다.
단계 306: 클라이언트는 타일에서의 맵 엘리먼트에서 동적 속성을 설정한다.
일 실시 예에서, 3차원 공간에서의 업데이트된 포지셔닝 결과 및 맵 엘리먼트가 미리 결정된 위치 조건을 만족할 때, 포지셔닝 결과에 위치된 동적 효과가 타일에서의 맵 엘리먼트에 설정된 동적 속성에 따라 출력된다. 여기서, 동적 효과는 전술한 객체 레이어를 사용하여 설정될 필요가 있으며, 여기서 객체 레이어는 배경 이외의 맵 엘리먼트에 관한 정보, 예를 들어 지주 또는 배리어의 동적 특수 효과를 추가하는데 사용되므로, 가상 객체의 포지셔닝 결과가 업데이트되는 경우, 가상 객체와의 상호 작용이 달성될 수 있다.
예를 들어, 객체 레이어를 통해, 타일 에서의 일부 엘리먼트의 설정이 도시의 스타일, 예를 들어 빌딩, 도로, 강 효과 및 관심 포인트 정보 제시 방식을 자체적으로 정의할 수 있다. 따라서, 동적 효과를 설정하기 위해, 맵에서 빌딩 및 강에 대해 대응하는 동적 효과가 설정될 수 있다. 예를 들어, 맵에서의 빌딩, 높고 큰 배리어 등에 대해 충돌 효과(collision effect)가 설정되고, 맵에서의 강 또는 수영장과 같은 영역에 대해서는 물 잠김 효과(water submergence effect)가 설정된다.
실제 애플리케이션 동안, 대응하는 동적 효과 모듈이 맵에서 대응하는 영역에 대해 설정되고, 대응하는 동적 효과가 설정된 모듈을 통해 생성된다. 이것은 다음과 같이 설명된다:
1. 충돌 효과에 대해:
일 실시 예에서, 충돌 효과 모듈은 맵에서의 배리어 영역에 대해 설정된다. 클라이언트의 가상 객체가 배리어 영역, 예를 들어, 빌딩 또는 높고 큰 배리어에 진입하려고 하는 것이 검출되는 경우, 배리어 영역의 충돌 효과 모듈이 트리거되고, 충돌 효과가 충돌 효과 모듈을 통해 생성되며, 즉 가상 객체가 가상 3차원 공간에서 배리어 모듈에 대응하는 배리어를 통과하는 것이 금지된다.
도 10에 도시된 바와 같이, 사용자의 움직임 상황(motion situation)에 따라, 픽처에서의 역할이 맵에서 자유롭게 걸을 수 있다. 사용자가 빌딩을 맞닥뜨리는(encounter)는 경우, 이에 대응하여 클라이언트에서 사용자에 대응하는 가상 캐릭터가 또한 차단되고 전진할 수 없거나; 또는 사용자가 AR 또는 VR 디바이스를 사용하여 게임을 할 때, 게임에서 가상 캐릭터가 빌딩을 맞닥뜨릴 때 전진할 수 없다.
2. 물 잠김 효과에 대해:
일 실시 예에서, 물 잠김 효과 모듈은 맵에서 수역(water area)에 대해 설정된다. 클라이언트의 가상 객체가 수영장 또는 강과 같은 수역에 들어가는 것이 검출되는 경우, 수역의 물 잠김 효과 모듈이 트리거되고, 물 잠김 효과가 물 잠김 효과 모듈을 통해 생성되며, 즉, 가상 3차원 공간에서의 가상 객체의 좌표 높이가 조정된다.
도 11에 도시된 바와 같이, 사용자의 움직임 상황에 따라, 픽처에서의 역할은 자유롭게 걸을 수 있고 맵에서 상호 작용할 수 있다. 예를 들어, 사용자가 수영장 또는 강에 들어갔을 때, 이에 대응하여, 클라이언트에서, 사용자에 대응하는 가상 캐릭터는 물 잠김 상태를 활성화시킨다(stimulate). 즉, 클라이언트의 맵 픽처에서, 가상 캐릭터는 가상 수영장이나 강에 들어가고, 수영장이나 강의 물은 가상 캐릭터의 특정 부분, 예를 들어 무릎을 침수시키며, 예를 들어, 도 11의 가상 캐릭터가 영역 A(수역)에 들어가거나며; 또는 사용자가 AR 또는 VR 디바이스를 사용하여 게임을 할 때, 게임 내의 가상 캐릭터는 수영장 또는 강에 들어가서 물 잠김 상태에 있게 된다.
더욱이, 도 10 및 도 11의 픽처의 화각은 추가로, 맵 픽처를 360도로 관찰하기 위해 자유롭게 회전될 수 있다. 도 10 및 도 11은 제3 화각으로 디스플레이된다. 내비게이션이 실제이면, 픽처에서의 가상 역할은 사용자 자신을 나타낸다.
도 3은 본 출원의 실시 예에 따른 방법의 개략적인 흐름도이다. 비록 도 3의 흐름도의 단계들이 화살표의 지시(indication)에 따라 순차적으로 도시되지만, 단계들은 반드시 화살표에 의해 지시된 순서에 따라 순차적으로 수행되는 것은 아니다. 본 출원에서 명시적으로 지정되지 않는 한, 단계의 수행 순서는 엄격하게 제한되지 않으며, 단계는 다른 순서로 수행될 수 있다. 게다가, 도 3의 적어도 일부 단계들은 복수의 서브 단계 또는 복수의 스테이지(stage)들을 포함할 수 있고, 서브 단계 또는 스테이지들은 반드시 동일한 순간에 수행될 필요는 없고 상이한 순간에 수행될 수 있으며, 서브 단계 또는 스테이지들은 반드시 순차적으로 수행되는 것은 아니며, 서브 단계 또는 스테이지 및 다른 단계 또는 다른 단계의 서브 단계 또는 스테이지의 적어도 일부가 차례대로 또는 교대로 수행될 수 있다.
본 개시의 일 실시 예는 맵 데이터 처리 장치를 더 제공한다. 도 12는 본 개의 실시 예에서 제공되는 맵 데이터 처리 장치(800)의 선택적 기능 구조의 개략도이며, 맵 데이터 처리 장치(800)는 검출 모듈(801), 결정 모듈(802), 획득 모듈(803), 로딩 모듈(804), 렌더링 모듈(805), 클리어링 모듈(806) 및 설정 모듈(807)을 포함한다. 모듈들의 기능은 다음과 같다.
검출 모듈(801)은 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하도록 구성된다.
결정 모듈(802)은 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하도록 구성된다.
획득 모듈(803)은 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 획득하도록 구성된다.
로딩 모듈(804)은 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 내부 메모리 공간에 동적으로 로딩하도록 구성된다.
렌더링 모듈(805)은 로딩된 타일들에 기반하여, 3차원 공간에서, 포지셔닝 결과 상에 위치되고 시야 영역에 대응하는 이미지를 렌더링하도록 구성된다.
일 실시 예에서, 검출 모듈(801)은 구체적으로, 포지셔닝 서비스를 호출하여, 실제 3차원 공간에서, 고정된 시간 간격으로 클라이언트의 호스트 디바이스의 포지셔닝 결과를 검출하거나; 또는 가상 3차원 공간에서, 고정된 시간 간격으로 클라이언트에서의 가상 객체의 포지셔닝 결과를 검출하도록 구성된다.
일 실시 예에서, 결정 모듈(802)은 구체적으로, 포지셔닝 결과를 3차원 공간에서 기준으로 사용하여, 미리 설정된 화각에 위치되는 시야 영역이면서 또한 포지셔닝으로부터의 거리가 미리 결정된 거리보다 작은 시야 영역을 결정하거나; 또는 포지셔닝 결과를 3차원 공간에서 중심으로 사용하여, 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 시야 영역을 결정하도록 구성될 수 있다.
일 실시 예에서, 획득 모듈(803)은 구체적으로, 업데이트된 포지셔닝 결과가 처음으로 검출될 때 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 타일 데이터베이스로부터 요청하고; 업데이트된 포지셔닝 결과가 이력 포지셔닝 결과와 동일할 때 타일에 대한 내부 메모리 공간을 쿼리하며, 타일이 발견되지 않을 때 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 요청하도록 구성된다.
일 실시 예에서, 클리어링 모듈(806)은 내부 메모리 공간의 클리어링 조건이 만족될 때, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는데 사용되는 유휴 내부 메모리 공간이 형성될 때까지 내부 메모리 공간에서 일부 타일을 클리어하도록 구성된다.
일 실시 예에서, 클리어링 모듈(806)은 구체적으로, 활성 영역을 결정하고 - 활성 영역은 업데이트된 포지셔닝 결과, 시야 영역 및 시야 영역의 인접한 영역을 포함함 -; 내부 메모리 공간에서 비활성 영역의 타일을 클리어하도록 구성된다.
일 실시 예에서, 클리어링 모듈(806)은 구체적으로, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는데 사용되는 유휴 내부 메모리 공간이 형성될 때까지, 업데이트된 포지셔닝 결과와 관련하여 원거리에서 근거리 순으로 내부 메모리 공간에서 비 시야 영역의 타일을 클리어하도록 구성된다.
일 실시 예에서, 클리어링 모듈(806)은 구체적으로, 내부 메모리 공간에 저장된 타일이 미리 설정된 용량 또는 비율에 도달할 때 또는 업데이트된 포지셔닝 결과가 검출될 때, 내부 메모리 공간의 클리어링 조건이 만족되는 것으로 결정하도록 구성된다.
일 실시 예에서, 렌더링 모듈(805)은 구체적으로, 타일에 포함된 맵 엘리먼트의 기하학적 속성에 따라, 기하학적 속성에 대응하는 메시를 생성하고, 메시에 따라, 대응하는 기하학적 속성을 가지는 맵 엘리먼트의 이미지를 생성하고; 그리고 맵 엘리먼트들의 이미지를 3차원 공간에서 대응하는 위치로 렌더링하도록 구성된다.
일 실시 예에서, 설정 모듈(807)은, 3차원 공간에서 업데이트된 포지셔닝 결과 및 맵 엘리먼트가 미리 결정된 위치 조건을 만족할 때, 타일에서의 맵 엘리먼트에 설정된 동적 속성에 따라, 포지셔닝 결과에 위치된 동적 효과를 출력하도록 구성된다.
실제 애플리케이션 동안, 검출 모듈(801), 결정 모듈(802), 획득 모듈(803), 로딩 모듈(804), 렌더링 모듈(805), 클리어링 모듈(806) 및 설정 모듈(807) 각각은, 맵 데이터 처리 장치에 위치된 중앙 처리 유닛(central processing unit, CPU), 마이크로 프로세서 유닛(microprocessor unit, MPU), 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그램 가능 게이트 어레이(field-programmable gate array, FPGA) 등에 의해 구현될 수 있다.
본 출원의 실시 예는 다른 맵 데이터 처리 장치를 추가로 제공한다. 도 13은 본 출원의 실시 예에 따른 다른 맵 데이터 처리 장치의 구성 구조의 개략도이며, 상기 맵 데이터 처리 장치는 다음의 모듈들을 포함한다.
맵 관리자(MapManager) 모듈은 맵을 생성하고, 맵 패턴 등을 관리하도록 구성된다.
타일 관리자(TileManager) 모듈은 맵 타일의 생성 및 소멸(destruction)을 관리하도록 구성된다.
데이터 관리자(DataManager) 모듈은 서버로부터 획득하기 및 로컬 캐시에서 읽기 또는 쓰기를 포함하여, 맵 데이터 읽기를 담당한다.
타일 빌더(TileBuilder) 모듈은 맵 데이터를 파싱(parsing)하고, 포인트 빌더 모듈, 라인 빌더 모듈 및 다각형 빌더 모듈을 낮은 레벨에서 호출하는 것을 담당하여, 맵 상에서 다양한 엘리먼트를 생성하도록 구성된다.
하단 레이어에서 기하학적 모듈로 사용되며 주로 Unity3D의 메시 관련 API와 결합된 다각형 대 메시(polygon-to-mesh, Poly2mesh) 모듈은 맵의 이산(discrete) 포인트 데이터를 시각적 메시 파일로 변환하는 것을 담당한다.
현재 주류 맵 API 각각에 대해, 단말은 영역을 요청하고, 서버는 렌더링된 픽처를 리턴하며, 픽처 다운로딩은 비교적 많은 양의 트래픽을 소비해야 한다. 더욱이, 맵 서비스 제공자는 맵의 기저(underlying) 데이터를 사용자에게 제공하지 않기 때문에, 단말은 맵에 대해 과도한 자체 정의된 수정을 수행할 수 없다. 또한, 대부분의 기존 맵은 2D이며, 3차원 빌딩이 있더라도 빌딩은 의사(pseudo) 3D이며 360도 자유롭게 회전되어 볼 수 없다. 그러므로, 본 출원의 실시 예는 솔루션을 제공한다.
도 14는 다음의 작동을 포함하는 본 출원의 실시 예에 따른 다른 맵 데이터 처리 방법의 개략적인 구현 흐름도이다.
단계 901: 서버가 OSM 서버로부터 도시 맵 데이터를 획득한다.
OSM은 사이버 시민에 의해 공동으로 구축된 무료 오픈 소스 편집 가능한 맵 서비스이다. 따라서, 실제 포지셔닝 또는 내비게이션 동안, OSM 서버로부터 획득된 맵 데이터는 종래의 지능형 전자 디바이스 또는 AR/VR 디바이스를 통해 실제 요건에 따라 사용자에 의해 편집되고 자체 정의될 수 있다.
단계 902: OSM 서버가 도시 맵 데이터를 서버로 리턴한다.
단계 903: 서버는 파싱 및 타일링을 수행하고, 데이터를 벡터 타일로 변환한다.
이 스테이지에서, 맵 상의 특징 정보, 예를 들어, 빌딩, 도로, 호수 표면 및 관심 포인트는 경도 및 위도 그리고 스케일링 비율에 따라 대응하는 벡터 타일에 저장될 필요가 있으므로, 단말은 맵을 동적으로 로딩할 때 대응하는 벡터 타일 데이터를 요청한다.
단계 904: Unity3D 단말은 서버로부터 타일 데이터를 요청한다.
여기서, 대응하는 포지셔닝 결과와 매칭하는 타일 데이터는 3차원 공간에서의 포지셔닝 결과에 따라 서버로 전송된다.
단계 905: 서버는 요청된 타일 데이터를 Unity3D 단말로 리턴한다.
단계 906: Unity3D 단말은 파싱을 수행하고 맵을 렌더링한다.
Unity3D는 3차원 비디오 게임, 빌딩 시각화 및 실시간 3차원 애니메이션과 같은 유형의 대화형 콘텐츠를 제작하기 위한 다중 플랫폼 종합 개발 도구(multi-platform comprehensive development tool)이다. 확실히, 본 출원의 실시 예에서, 다른 형태의 개발 도구의 사용이 배제되지 않으며, 배리어 및 수역이 3D 공간에서 렌더링되며, 여기서 빌딩과 같은 배리어와 강 및 수영장과 같은 수역은 타일에서의 맵 엘리먼트이며, 렌더링 동안 상이한 특징들이 제공되므로, 사용자에 대응하는 클라이언트에서의 가상 객체는 맵 상의 엘리먼트와 자유롭게 상호 작용할 수 있다. 예를 들어, 메시 콜라이더(collider)가 빌딩에 대해 설정된다. 가상 객체가 맵 상에서 걷고 배리어에 가깝게 되는 경우 메시 콜라이더가 트리거된다. 가상 객체가 빌딩과 충돌한다. 결과적으로, 가상 객체는 빌딩을 통과할 수 없다. 따라서 렌더링 결과는 가상 캐릭터가 빌딩 앞에서 멈추는 것이다. 다른 예를 들어, 메시 트리거가 수역에 대해 설정된다. 가상 객체가 맵 상에서 걸어가고 강이나 수영장과 같은 수역에 들어갈 때, 메시 트리거가 트리거되면, 맵에 대한 가상 객체의 위치가 변경되며, 즉, 가상 객체의 수직 좌표가 수평면을 기준으로 아래쪽으로 이동한다. 따라서 렌더링 결과는, 수역의 물이 가상 객체의 일부, 예를 들어, 무릎을 침수시키는 것이다.
더욱이, 실제 포지셔닝 또는 내비게이션 동안, 사용자는 종래의 지능형 전자 디바이스 또는 AR/VR 디바이스를 통해 자주 다니는 슈퍼마켓, 자주 다니는 주유소 등을 표시하거나, 자주 다니는 슈퍼마켓 및 자주 다니는 주유소의 빌딩에 개인화된 설정을 추가할 수 있으며, 예를 들어 빌딩을 상이한 색상으로 렌더링하여 시각 효과를 향상시킨다.
결론적으로, 본 출원의 실시 예는 다음의 유리한 효과를 달성할 수 있다:
1. 대응하는 시야 영역이 포지셔닝 결과에 따라 결정될 수 있고, 사용자가 방향 변경을 하는 경우, 포지셔닝 결과에 따라 사용자의 방위가 신속하게 획득되고, 사용자의 시야 영역이 방위에 따라 결정되어, 대응하는 타일을 신속하게 획득할 수 있다.
2. 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일의 분류는 포지셔닝 결과가 업데이트될 때 두 가지 유형의 타일에 대한 분류 처리를 수행하는 데 도움이 되고, 타일에 대한 관리를 용이하게 한다.
3. 타일이 내부 메모리 공간에 동적으로 로딩되는 경우, 업데이트된 포지셔닝 결과에 따라 대응하는 타일이 획득되고, 타일이 내부 메모리 공간에 로딩될 때, 내부 메모리 공간의 일부 원본 타일 데이터가 동적으로 삭제되어, 내부 메모리 소비를 변경하지 않고 맵 데이터가 업데이트되는 것이 보장된다.
4. 업데이트된 포지셔닝 결과의 이미지가 대응하여 동적으로 형성되는 경우, 포지셔닝 결과가 실시간으로 업데이트 및 변경될 때, 3차원 공간에서, 업데이트된 포지셔닝 결과 상에 위치된 이미지가 형성되고, 즉, 제시된 맵 픽처가 실시간으로 업데이트되어, 시야가 포지셔닝 결과와 일치하게 유지되는 것이 보장된다.
5. 획득된 타일은 JSON 포맷의 텍스트 데이터이며, 필요한 데이터양이 크게 감소된다.
6. 타일이 타일 서버로부터 획득되고 스플라이싱되며 렌더링되기 때문에, 벡터 맵은 클라이언트가 맵 상의 대응하는 자체 정의 수정을 수행하도록 지원하고, 3차원 맵은 Unity3D 엔진을 사용하여 자율적으로 렌더링되며, 맵 엘리먼트의 맵 패턴 및 표현 형태는 매우 자체적으로 정의될 수 있다.
7. 맵 데이터가 렌더링될 때, 맵 데이터에 맵 엘리먼트의 상이한 특징이 제공될 수 있으므로, 캐릭터가 맵 상의 엘리먼트와 자유롭게 상호 작용할 수 있다. 예를 들어, 캐릭터가 강 영역에 들어간 것이 검출되면, 클라이언트는 이에 대응하여 가상 객체가 수역에 잠긴 효과를 렌더링한다.
일 실시 예에서, 메모리 및 프로세서를 포함하는 컴퓨터 디바이스가 제공되며, 메모리는 컴퓨터 판독 가능한 명령을 저장하며, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 프로세서가, 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동; 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동; 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 획득하는 작동; 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩하는 작동; 및 로딩된 타일에 기반하여, 3차원 공간에서, 포지셔닝 결과 상에 위치되며 시야 영역에 대응하는 이미지를 렌더링하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동이 수행되는 경우, 프로세서가, 포지셔닝 서비스를 호출하여 실제 3차원 공간에서, 고정된 시간 간격으로 클라이언트의 호스트 디바이스의 포지셔닝 결과를 검출하거나; 또는 가상 3차원 공간에서, 고정된 시간 간격으로 클라이언트에서의 가상 객체의 포지셔닝 결과를 검출하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동이 수행되는 경우, 프로세서가, 포지셔닝 결과를 3차원 공간에서 기준으로 사용하여, 미리 설정된 화각에 위치되는 영역이면서 또한 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 시야 영역인 것으로 결정하거나; 또는 포지셔닝 결과를 3차원 공간에서 중심으로 사용하여, 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 시야 영역인 것으로 결정하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 획득하는 작동이 수행되는 경우, 프로세서가, 업데이트된 포지셔닝 결과가 처음으로 검출될 때, 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 타일 데이터베이스로부터 요청하는 작동; 및 업데이트된 포지셔닝 결과가 이력 포지셔닝 결과와 동일할 때 타일에 대한 내부 메모리 공간을 쿼리하고, 타일이 발견되지 않을 때 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 타일 데이터베이스로부터 요청하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 추가로, 프로세서가, 내부 메모리 공간의 클리어링 조건이 만족될 때, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는 데 사용되는 내부 메모리 공간이 형성될 때까지, 내부 메모리 공간에서 일부 타일을 클리어하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 내부 메모리 공간에서 일부 타일을 클리어하는 작동이 수행는 경우, 프로세서가, 활성 영역을 결정하는 작동 - 활성 영역은 업데이트된 포지셔닝 결과, 시야 영역 및 시야 영역의 인접한 영역을 포함함 -; 및 내부 메모리 공간에서 비활성 영역의 타일을 클리어하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 내부 메모리 공간에서 일부 타일을 클리어하는 작동이 수행되는 경우, 프로세서가, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는 데 사용되는 내부 메모리 공간이 형성될 때까지, 업데이트된 포지셔닝 결과에 대해 원거리에서 근거리 순으로 내부 메모리 공간에서 비 시야 영역의 타일을 클리어하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 추가로, 프로세서가, 내부 메모리 공간에 저장된 타일이 미리 설정된 용량 또는 비율에 도달할 때 또는 업데이트된 포지셔닝 결과가 검출될 때, 내부 메모리 공간의 클리어링 조건이 만족된 것으로 결정하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 로딩된 타일에 기반하여, 3차원 공간에서, 포지셔닝 결과에 위치되고 시야 영역에 대응하는 이미지를 렌더링하는 작동이 수행되는 경우, 프로세서가, 타일에 포함된 맵 엘리먼트의 기하학적 속성에 따라, 기하학적 속성에 대응하는 메시를 생성하고, 메시에 따라, 대응하는 기하학적 속성을 가지는 맵 엘리먼트의 이미지를 생성하는 작동; 및 맵 엘리먼트의 이미지를 3차원 공간에서 대응하는 위치로 렌더링하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 추가로, 프로세서가, 3차원 공간에서의 업데이트된 포지셔닝 결과 및 맵 엘리먼트가 미리 결정된 위치 조건을 만족할 때, 타일에서의 맵 엘리먼트에 설정된 동적 속성에 따라, 포지셔닝 결과에 위치된 동적 효과를 출력하는 작동을 수행하게 한다.
컴퓨터 판독 가능한 명령을 저장하는 비 휘발성 컴퓨터 판독 가능한 저장 매체가 제공되며, 컴퓨터 판독 가능한 명령은 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가, 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동; 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동; 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 획득하는 작동; 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩하는 작동; 및 로딩된 타일에 기반하여, 3차원 공간에서, 포지셔닝 결과 상에 위치되며 시야 영역에 대응하는 이미지를 렌더링하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동이 수행되는 경우, 프로세서가, 포지셔닝 서비스를 호출하여, 실제 3차원 공간에서, 고정된 시간 간격으로 클라이언트의 호스트 디바이스의 포지셔닝 결과를 검출하거나; 또는 가상 3차원 공간에서, 고정된 시간 간격으로 클라이언트에서의 가상 객체의 포지셔닝 결과를 검출하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동이 수행되는 경우, 프로세서가, 포지셔닝 결과를 3차원 공간에서 기준으로서 사용하여, 미리 설정된 화각에 위치되는 영역이면서 또한 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 시야 영역인 것으로 결정하거나; 또는 포지셔닝 결과를 3차원 공간에서 중심으로 사용하여, 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 시야 영역인 것으로 결정하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 획득하는 작동이 수행되는 경우, 프로세서가, 업데이트된 포지셔닝 결과가 처음으로 검출될 때, 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 타일 데이터베이스로부터 요청하는 작동; 및 업데이트된 포지셔닝 결과가 이력 포지셔닝 결과와 동일할 때 타일에 대한 내부 메모리 공간을 쿼리하고, 타일이 발견되지 않을 때 업데이트된 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 타일 데이터베이스로부터 요청하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 추가로, 프로세서가, 내부 메모리 공간의 클리어링 조건이 만족될 때, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는 데 사용되는 내부 메모리 공간이 형성될 때까지, 내부 메모리 공간의 일부 타일을 클리어하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 내부 메모리 공간에서 일부 타일을 클리어하는 작동이 수행는 경우, 프로세서가, 활성 영역을 결정하는 작동 - 활성 영역은 업데이트된 포지셔닝 결과, 시야 영역 및 시야 영역의 인접한 영역을 포함함 -; 및 내부 메모리 공간에서 비활성 영역의 타일을 클리어하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 내부 메모리 공간에서 일부 타일을 클리어하는 작동이 수행되는 경우, 프로세서가, 포지셔닝 결과에 대응하는 타일 및 시야 영역에 대응하는 타일을 로딩하는 데 사용되는 내부 메모리 공간이 형성될 때까지, 업데이트된 포지셔닝 결과에 대해 원거리에서 근거리 순으로 내부 메모리 공간에서 비 시야 영역의 타일을 클리어하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 추가로, 프로세서가, 내부 메모리 공간에 저장된 타일이 미리 설정된 용량 또는 비율에 도달할 때 또는 업데이트된 포지셔닝 결과가 검출될 때, 내부 메모리 공간의 클리어링 조건이 만족된 것으로 결정하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 프로세서에 의해 실행될 때, 로딩된 타일에 기반하여, 3차원 공간에서, 포지셔닝 결과에 위치되고 시야 영역에 대응하는 이미지를 렌더링하는 작동이 수행되는 경우, 프로세서가, 타일에 포함된 맵 엘리먼트의 기하학적 속성에 따라, 기하학적 속성에 대응하는 메시를 생성하고, 메시에 따라, 대응하는 기하학적 속성을 가지는 맵 엘리먼트의 이미지를 생성하는 작동; 및 맵 엘리먼트의 이미지를 3차원 공간에서 대응하는 위치로 렌더링하는 작동을 수행하게 한다.
일 실시 예에서, 컴퓨터 판독 가능한 명령은 추가로, 프로세서가, 3차원 공간에서의 업데이트된 포지셔닝 결과 및 맵 엘리먼트가 미리 결정된 위치 조건을 만족할 때, 타일에서의 맵 엘리먼트에 설정된 동적 속성에 따라, 포지셔닝 결과에 위치된 동적 효과를 출력하는 작동을 수행하게 한다.
전술한 설명은 본 출원의 바람직한 실시 예일 뿐이며 본 출원의 보호 범위를 제한하려는 것이 아니다. 본 출원의 정신과 범위 내에서 수행된 모든 수정, 동등한 대체 또는 개선은 본 출원의 보호 범위에 속한다.

Claims (20)

  1. 메모리 및 프로세서를 포함하는 컴퓨터 디바이스에서 수행되는 맵 데이터 처리 방법으로서,
    3차원 공간에서 업데이트된 포지셔닝(positioning) 결과를 검출하는 단계;
    상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역(field of view area)을 결정하는 단계;
    상기 업데이트된 포지셔닝 결과에 대응하는 타일(tile) 및 상기 시야 영역에 대응하는 타일을 획득하는 단계;
    상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩(load)하는 단계; 및
    상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링(rendering)하는 단계
    를 포함하는 맵 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 단계는,
    포지셔닝 서비스를 호출하여, 실제 3차원 공간에서, 고정된 시간 간격으로 클라이언트의 호스트 디바이스의 포지셔닝 결과를 검출하거나, 또는
    가상 3차원 공간에서, 고정된 시간 간격으로 클라이언트에서의 가상 객체(object)의 포지셔닝 결과를 검출하는 단계
    를 포함하는, 맵 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 단계는,
    상기 포지셔닝 결과를 상기 3차원 공간에서 기준(reference)으로 사용하여, 미리 설정된 화각(angle of view)에 위치되어 있는 영역이면서 또한 상기 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 상기 시야 영역인 것으로 결정하거나, 또는
    상기 포지셔닝 결과를 상기 3차원 공간에서 중심으로 사용하여, 상기 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 시야 영역인 것으로 결정하는 단계
    를 포함하는, 맵 데이터 처리 방법.
  4. 제1항에 있어서,
    상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 획득하는 단계는,
    상기 업데이트된 포지셔닝 결과가 처음으로 검출된 것에 응답하여, 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 타일 데이터베이스로부터 요청하는 단계; 및
    상기 업데이트된 포지셔닝 결과가 이력(historical) 포지셔닝 결과와 동일하다는 것에 응답하여 상기 타일에 대한 내부 메모리 공간을 쿼리(query)하고, 타일이 발견되지 않는 것에 응답하여 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 상기 타일 데이터베이스로부터 요청하는 단계
    를 포함하는, 맵 데이터 처리 방법.
  5. 제1항에 있어서,
    상기 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 로딩하기 위해 사용되는 유휴(idle) 내부 메모리 공간이 형성될 때까지, 상기 내부 메모리 공간의 클리어링(clearing) 조건이 만족되는 것에 응답하여 상기 내부 메모리 공간에서 일부 타일을 클리어(clear)하는 단계
    를 더 포함하는 맵 데이터 처리 방법.
  6. 제5항에 있어서,
    상기 내부 메모리 공간에서 일부 타일을 클리어하는 단계는,
    활성(active) 영역을 결정하는 단계 - 상기 활성 영역은 상기 업데이트된 포지셔닝 결과, 상기 시야 영역 및 상기 시야 영역의 인접한(neighboring) 영역을 포함함 -; 및
    상기 내부 메모리 공간에서 비활성(inactive) 영역의 타일을 클리어하는 단계
    를 포함하는, 맵 데이터 처리 방법.
  7. 제5항에 있어서,
    상기 내부 메모리 공간에서 일부 타일을 클리어하는 단계는,
    상기 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 로딩하기 위해 사용되는 상기 유휴 내부 메모리 공간이 형성될 때까지, 상기 업데이트된 포지셔닝 결과와 관련하여 원거리에서 근거리 순으로 상기 내부 메모리 공간에서 비 시야 영역(non-field of view area)의 타일을 클리어하는 단계
    를 포함하는, 맵 데이터 처리 방법.
  8. 제5항에 있어서,
    상기 내부 메모리 공간에 저장된 타일들이 미리 설정된 용량(capacity) 또는 비율에 도달하는 것에 응답하거나, 상기 업데이트된 포지셔닝 결과가 검출되는 것에 응답하여, 상기 내부 메모리 공간의 클리어링 조건이 만족되는 것으로 결정하는 단계
    를 더 포함하는 맵 데이터 처리 방법.
  9. 제1항에 있어서,
    상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링하는 단계는,
    상기 타일에 포함된 맵 엘리먼트의 기하학적 속성(geometrical attribute)에 따라 상기 기하학적 속성에 대응하는 메시(mesh)를 생성하고, 상기 메시에 따라 상기 대응하는 기하학적 속성을 갖는 상기 맵 엘리먼트의 이미지를 생성하는 단계; 및
    상기 맵 엘리먼트의 이미지를 상기 3차원 공간에서 대응하는 위치로 렌더링하는 단계
    를 포함하는, 맵 데이터 처리 방법.
  10. 제1항에 있어서,
    상기 3차원 공간에서 상기 업데이트된 포지셔닝 결과 및 맵 엘리먼트가 미리 결정된 위치(location) 조건을 만족시키는 것에 응답하여, 상기 타일에서의 맵 엘리먼트에 설정된 동적 속성에 따라, 상기 포지셔닝 결과에 위치된 동적 효과(dynamic effect)를 출력하는 단계
    를 더 포함하는 맵 데이터 처리 방법.
  11. 메모리 및 프로세서를 포함하는 컴퓨터 디바이스로서,
    상기 메모리는 컴퓨터 판독 가능한 명령을 저장하고, 상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가,
    3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동(operation);
    상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동;
    상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 획득하는 작동;
    상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩하는 작동; 및
    상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링하는 작동
    을 수행하게 하는, 컴퓨터 디바이스.
  12. 제11항에 있어서,
    상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가, 상기 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동이 수행되는 것에 응답하여,
    포지셔닝 서비스를 호출하여, 실제 3차원 공간에서, 고정된 시간 간격으로 클라이언트의 호스트 디바이스의 포지셔닝 결과를 검출하거나, 또는
    가상 3차원 공간에서, 고정된 시간 간격으로 클라이언트에서의 가상 객체의 포지셔닝 결과를 검출하는 작동
    을 수행하게 하는, 컴퓨터 디바이스.
  13. 제11항에 있어서,
    상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가, 상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동이 수행되는 것에 응답하여,
    상기 포지셔닝 결과를 상기 3차원 공간에서 기준으로 사용하여, 미리 설정된 화각에 위치되어 있는 영역이면서 또한 상기 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 상기 시야 영역인 것으로 결정하거나, 또는
    상기 포지셔닝 결과를 상기 3차원 공간에서 중심으로 사용하여, 상기 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 시야 영역인 것으로 결정하는 작동
    을 수행하게 하는, 컴퓨터 디바이스.
  14. 제11항에 있어서,
    상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가, 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 획득하는 작동이 수행되는 것에 응답하여,
    상기 업데이트된 포지셔닝 결과가 처음으로 검출된 것에 응답하여, 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 타일 데이터베이스로부터 요청하는 작동; 및
    상기 업데이트된 포지셔닝 결과가 이력 포지셔닝 결과와 동일하다는 것에 응답하여 상기 타일에 대한 내부 메모리 공간을 쿼리하고, 타일이 발견되지 않는 것에 응답하여 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 상기 타일 데이터베이스로부터 요청하는 작동
    을 수행하게 하는, 컴퓨터 디바이스.
  15. 제11항에 있어서,
    상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가, 상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링하는 작동이 수행되는 것에 응답하여,
    상기 타일에 포함된 맵 엘리먼트의 기하학적 속성에 따라 상기 기하학적 속성에 대응하는 메시를 생성하고, 상기 메시에 따라 상기 대응하는 기하학적 속성을 갖는 상기 맵 엘리먼트의 이미지를 생성하는 작동; 및
    상기 맵 엘리먼트의 이미지를 상기 3차원 공간에서 대응하는 위치로 렌더링하는 작동
    을 수행하게 하는, 컴퓨터 디바이스.
  16. 컴퓨터 판독 가능한 명령을 저장하는 비 휘발성 컴퓨터 판독 가능한 저장 매체로서,
    상기 컴퓨터 판독 가능한 명령은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서가,
    3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동;
    상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동;
    상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 획득하는 작동;
    상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 내부 메모리 공간에 로딩하는 작동; 및
    상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링하는 작동
    을 수행하게 하는, 비 휘발성 컴퓨터 판독 가능한 저장 매체.
  17. 제16항에 있어서,
    상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가, 상기 3차원 공간에서 업데이트된 포지셔닝 결과를 검출하는 작동이 수행되는 것에 응답하여,
    포지셔닝 서비스를 호출하여, 실제 3차원 공간에서, 고정된 시간 간격으로 클라이언트의 호스트 디바이스의 포지셔닝 결과를 검출하거나, 또는
    가상 3차원 공간에서, 고정된 시간 간격으로 클라이언트에서의 가상 객체의 포지셔닝 결과를 검출하는 작동
    을 수행하게 하는, 비 휘발성 컴퓨터 판독 가능한 저장 매체..
  18. 제16항에 있어서,
    상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가, 상기 업데이트된 포지셔닝 결과에 대응하는 시야 영역을 결정하는 작동이 수행되는 것에 응답하여,
    상기 포지셔닝 결과를 상기 3차원 공간에서 기준으로 사용하여, 미리 설정된 화각에 위치되어 있는 영역이면서 또한 상기 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 상기 시야 영역인 것으로 결정하거나, 또는
    상기 포지셔닝 결과를 상기 3차원 공간에서 중심으로 사용하여, 상기 포지셔닝 결과로부터의 거리가 미리 결정된 거리보다 작은 영역이 시야 영역인 것으로 결정하는 작동
    을 수행하게 하는, 비 휘발성 컴퓨터 판독 가능한 저장 매체.
  19. 제16항에 있어서,
    상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가, 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 획득하는 작동이 수행되는 것에 응답하여,
    상기 업데이트된 포지셔닝 결과가 처음으로 검출된 것에 응답하여, 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 타일 데이터베이스로부터 요청하는 작동; 및
    상기 업데이트된 포지셔닝 결과가 이력 포지셔닝 결과와 동일하다는 것에 응답하여 상기 타일에 대한 내부 메모리 공간을 쿼리하고, 타일이 발견되지 않는 것에 응답하여 상기 업데이트된 포지셔닝 결과에 대응하는 타일 및 상기 시야 영역에 대응하는 타일을 상기 타일 데이터베이스로부터 요청하는 작동
    을 수행하게 하는, 비 휘발성 컴퓨터 판독 가능한 저장 매체.
  20. 제16항에 있어서,
    상기 컴퓨터 판독 가능한 명령은 상기 프로세서에 의해 실행될 때, 상기 프로세서가, 상기 로딩된 타일에 기반하여, 상기 3차원 공간에서, 상기 포지셔닝 결과에 위치되고 상기 시야 영역에 대응하는 이미지를 렌더링하는 작동이 수행되는 것에 응답하여,
    상기 타일에 포함된 맵 엘리먼트의 기하학적 속성에 따라 상기 기하학적 속성에 대응하는 메시를 생성하고, 상기 메시에 따라 상기 대응하는 기하학적 속성을 갖는 상기 맵 엘리먼트의 이미지를 생성하는 작동; 및
    상기 맵 엘리먼트의 이미지를 상기 3차원 공간에서 대응하는 위치로 렌더링하는 작동
    을 수행하게 하는, 비 휘발성 컴퓨터 판독 가능한 저장 매체.
KR1020207005277A 2017-08-10 2018-06-08 맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체 KR102360660B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710682652.1 2017-08-10
CN201710682652.1A CN107423445B (zh) 2017-08-10 2017-08-10 一种地图数据处理方法、装置及存储介质
PCT/CN2018/090479 WO2019029252A1 (zh) 2017-08-10 2018-06-08 一种地图数据处理方法、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
KR20200029033A true KR20200029033A (ko) 2020-03-17
KR102360660B1 KR102360660B1 (ko) 2022-02-08

Family

ID=60437744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207005277A KR102360660B1 (ko) 2017-08-10 2018-06-08 맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체

Country Status (5)

Country Link
US (1) US11585675B2 (ko)
JP (1) JP6997290B2 (ko)
KR (1) KR102360660B1 (ko)
CN (1) CN107423445B (ko)
WO (1) WO2019029252A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102199940B1 (ko) * 2020-04-28 2021-01-07 (주)제타럭스시스템 3d 엔진을 통한 모바일 3d 디지털 트윈의 3d 지도 구축 방법
KR20210063828A (ko) * 2019-11-25 2021-06-02 (주) 한국인프라 3차원 모델링 파일 변환 시스템

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423445B (zh) * 2017-08-10 2018-10-30 腾讯科技(深圳)有限公司 一种地图数据处理方法、装置及存储介质
CN108062793B (zh) * 2017-12-28 2021-06-01 百度在线网络技术(北京)有限公司 基于高程的物体顶部处理方法、装置、设备和存储介质
CN108133044B (zh) * 2018-01-12 2020-10-02 适普远景遥感信息技术(北京)有限公司 基于属性分离的空间大数据三维可视化方法及平台
CN110321184B (zh) * 2018-03-29 2021-06-04 北京新唐思创教育科技有限公司 场景地图绘制方法及计算机存储介质
CN108597027B (zh) * 2018-04-09 2022-04-15 腾讯科技(上海)有限公司 图形数据的访问方法及装置
WO2019237085A1 (en) 2018-06-08 2019-12-12 Vulcan Inc. Session-based information exchange
US20190378334A1 (en) * 2018-06-08 2019-12-12 Vulcan Inc. Augmented reality portal-based applications
CN108777007A (zh) * 2018-06-13 2018-11-09 唐旭 基于gis的儿童防走失监控系统
CN109147547A (zh) * 2018-07-26 2019-01-04 浙江省测绘科学技术研究院 一种基于矢量瓦片的注记选位与动态避让方法
CN110858075B (zh) * 2018-08-15 2021-11-19 杭州海康机器人技术有限公司 一种移动机器人跨区域方法、装置、调度系统
CN109260708B (zh) 2018-08-24 2020-01-10 腾讯科技(深圳)有限公司 地图渲染方法、装置以及计算机设备
CN109542573B (zh) * 2018-11-28 2021-12-07 北京龙创悦动网络科技有限公司 一种场景显示方法和装置
CN111598969A (zh) * 2019-02-21 2020-08-28 福建省天奕网络科技有限公司 2d地图动态拼接方法及计算机可读存储介质
CN109889785B (zh) * 2019-02-26 2021-01-01 高新兴科技集团股份有限公司 一种基于unity的POI标签显示的虚拟仿真方法
CN109999500A (zh) * 2019-02-27 2019-07-12 深圳点猫科技有限公司 一种基于编程语言流畅加载游戏地图的方法以及电子设备
CN111694908B (zh) * 2019-03-15 2024-06-14 丰图科技(深圳)有限公司 数据存储方法、装置及存储介质
CN110059151B (zh) * 2019-04-26 2022-10-25 北京百度网讯科技有限公司 地图渲染方法、地图渲染装置、地图服务器和存储介质
CN110090446B (zh) * 2019-05-14 2022-11-08 腾讯科技(成都)有限公司 用于处理游戏中的举报信息的方法和设备
CN110188292B (zh) * 2019-05-22 2021-06-22 北京创鑫旅程网络技术有限公司 一种目的地信息的展示方法及装置
CN112256810B (zh) * 2019-07-21 2023-07-14 长沙智能驾驶研究院有限公司 智慧工地的工地地图更新方法、装置和计算机设备
CN110339554B (zh) * 2019-07-22 2020-07-07 广州银汉科技有限公司 游戏地图镜像对称方法与系统
CN110597941B (zh) * 2019-09-11 2023-12-29 广州力挚网络科技有限公司 一种地图显示方法与系统
CN110825828B (zh) * 2019-09-26 2023-06-13 广州南方卫星导航仪器有限公司 一种电力线勘测中辅助点自动归属范围的方法及装置
CN110704057B (zh) * 2019-10-09 2021-04-27 腾讯科技(深圳)有限公司 一种基于地图业务的业务处理方法及相关装置
CN110990502B (zh) * 2019-11-12 2023-01-03 哈尔滨工程大学 一种电子海图位置点数据简化方法
CN111143502A (zh) * 2019-12-30 2020-05-12 重庆同汇勘测规划有限公司 一种地图瓦片高效生成方法及装置
CN111208819B (zh) * 2020-01-07 2023-06-06 上海高仙自动化科技发展有限公司 生成方法、装置、电子设备及存储介质
WO2021150599A1 (en) * 2020-01-21 2021-07-29 TerraQuest, LLC Methods and systems for geographic map generation and rendering and unique miles and routes navigation
AU2021220145A1 (en) * 2020-02-11 2022-09-29 YISIA Games Ltd Systems and methods for object management
CN111310089B (zh) * 2020-02-17 2023-04-28 自然资源部第三地理信息制图院 一种适应比例尺的矢量河网数据在线快速加载和渲染方法
CN113448340B (zh) * 2020-03-27 2022-12-16 北京三快在线科技有限公司 一种无人机的路径规划方法、装置、无人机及存储介质
CN111581233B (zh) * 2020-05-07 2023-11-24 广东电网有限责任公司电力调度控制中心 电网设备矢量图形数据的实时切片方法及存储介质
CN111612918A (zh) * 2020-05-14 2020-09-01 深圳中科慧据科技有限公司 地图资源可视化方法、装置、计算机设备和存储介质
CN111617484B (zh) * 2020-06-04 2023-09-05 珠海金山数字网络科技有限公司 一种地图处理的方法和装置
CN111595349A (zh) * 2020-06-28 2020-08-28 浙江商汤科技开发有限公司 导航方法及装置、电子设备和存储介质
CN111858822A (zh) * 2020-07-28 2020-10-30 自然资源部第一海洋研究所 Gis地图的拼接图片显示方法和装置
CN112231426A (zh) * 2020-10-13 2021-01-15 重庆紫光华山智安科技有限公司 一种基于矢量瓦片点数据的更新方法、系统、介质及终端
CN112221144B (zh) * 2020-11-03 2024-03-15 网易(杭州)网络有限公司 三维场景寻路方法及装置、三维场景地图处理方法及装置
CN112069285B (zh) * 2020-11-11 2021-01-22 湖北亿咖通科技有限公司 基于三维高精地图切片的地图生成方法、装置及电子设备
CN112489229A (zh) * 2020-11-16 2021-03-12 北京邮电大学 基于Unity3D的楼层拆解方法及系统
CN112233217B (zh) * 2020-12-18 2021-04-02 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置
CN112800164A (zh) * 2021-03-17 2021-05-14 统信软件技术有限公司 一种地图加载方法、装置、计算设备及可读存储介质
CN113077475B (zh) * 2021-03-17 2023-09-08 杭州海康机器人股份有限公司 视觉定位方法、装置、系统、移动机器人及存储介质
CN113010793A (zh) * 2021-04-09 2021-06-22 阿波罗智联(北京)科技有限公司 地图数据处理的方法、装置、设备、存储介质及程序产品
CN113111202A (zh) * 2021-04-30 2021-07-13 贵州大学 一种巡天数据的天图系统
CN113643441A (zh) * 2021-07-06 2021-11-12 北京百度网讯科技有限公司 内容展现方法、装置、设备和存储介质
CN113506378B (zh) * 2021-07-29 2023-03-17 和舆图(北京)科技有限公司 一种在mr设备上动态加载三维模型的方法
CN113570717B (zh) * 2021-07-29 2024-04-09 的卢技术有限公司 一种用于unity的渲染地图方法、电子设备及可读存储介质
KR102557980B1 (ko) * 2021-08-20 2023-07-21 한국국토정보공사 맵 어플리케이션을 활용한 지적기준점 관리 장치 및 방법
US20230186778A1 (en) * 2021-12-13 2023-06-15 The Boeing Company Efficient computer-storage of obstacle data for rendering in a map view
CN114526723A (zh) * 2022-02-14 2022-05-24 广州小鹏自动驾驶科技有限公司 道路地图构建方法、装置、电子设备及存储介质
CN114820960B (zh) * 2022-04-18 2022-12-16 北京百度网讯科技有限公司 构建图谱的方法、装置、设备和介质
CN114969192B (zh) * 2022-05-12 2023-03-17 北京骏德时空科技有限公司 基于数据管理的地图巡游方法、装置、设备和介质
CN114723869B (zh) * 2022-05-25 2022-11-08 阿里云计算有限公司 影像处理方法以及装置
CN115113963B (zh) * 2022-06-29 2023-04-07 北京百度网讯科技有限公司 信息展示方法、装置、电子设备以及存储介质
CN114820990B (zh) * 2022-06-29 2022-09-20 浙江远算科技有限公司 一种基于数字孪生的流域防洪可视化方法及系统
US20240033631A1 (en) * 2022-07-29 2024-02-01 Niantic, Inc. Maintaining object alignment in 3d map segments
CN115619898B (zh) * 2022-10-31 2023-10-17 广西发现软件技术有限公司 一种可自由定制与扩展的工程勘察制图方法及系统
CN116028747A (zh) * 2023-02-28 2023-04-28 智道网联科技(北京)有限公司 地图数据的加载方法、装置及导航系统
CN116108098A (zh) * 2023-03-14 2023-05-12 中科星图数字地球合肥有限公司 瓦片数据格式转换方法、装置、计算机设备和存储介质
CN116595808B (zh) * 2023-07-17 2023-09-08 中国人民解放军国防科技大学 事件金字塔模型构建与多粒度时空可视化方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010113202A (ko) * 2000-06-16 2001-12-28 이용원 전자지도에서의 위치정보를 이용한 광고 표시 방법
JP2007133489A (ja) * 2005-11-08 2007-05-31 Sony Corp 仮想空間画像表示方法、装置、仮想空間画像表示プログラム及び記録媒体
KR20140100987A (ko) * 2011-12-12 2014-08-18 구글 인코포레이티드 루트를 따른 맵 타일 데이터 사전-인출
JP2016192205A (ja) * 2015-03-30 2016-11-10 ゼネラル・エレクトリック・カンパニイ マップ画像およびデータの永続的キャッシング
CN107016924A (zh) * 2016-12-20 2017-08-04 阿里巴巴集团控股有限公司 虚拟地图中的瓦片地图生成方法、更新方法和装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7119819B1 (en) * 1999-04-06 2006-10-10 Microsoft Corporation Method and apparatus for supporting two-dimensional windows in a three-dimensional environment
JP3717045B2 (ja) 2000-01-19 2005-11-16 松下電器産業株式会社 ナビゲーション装置
CN1702432A (zh) * 2005-06-08 2005-11-30 武汉虹信通信技术有限责任公司 栅格电子地图动态显示处理方法
CN101415018B (zh) * 2007-10-17 2012-08-29 北京灵图软件技术有限公司 一种地理信息数据的传输方法和系统
US8665260B2 (en) * 2009-04-16 2014-03-04 Autodesk, Inc. Multiscale three-dimensional navigation
CN101917481B (zh) * 2010-08-19 2013-03-20 周寅 一种基于空间漫游位置的视频网络地图多级缓存的实现方法
CN103136950A (zh) * 2011-12-05 2013-06-05 北京掌城科技有限公司 提供综合路况信息的方法
US9324190B2 (en) * 2012-02-24 2016-04-26 Matterport, Inc. Capturing and aligning three-dimensional scenes
CN102752385B (zh) * 2012-06-29 2015-07-22 广东大晋对接信息科技有限公司 一种跨平台全景3d展示方法及系统
US20140146394A1 (en) * 2012-11-28 2014-05-29 Nigel David Tout Peripheral display for a near-eye display device
CN103389104B (zh) * 2013-07-17 2015-12-02 北京龙图通信息技术有限公司 一种与二维导航同步的三维方向性导航方法及其装置
US9224237B2 (en) * 2013-09-27 2015-12-29 Amazon Technologies, Inc. Simulating three-dimensional views using planes of content
US9996797B1 (en) * 2013-10-31 2018-06-12 Leap Motion, Inc. Interactions with virtual objects for machine control
CN103593861A (zh) * 2013-11-21 2014-02-19 武大吉奥信息技术有限公司 一种面向2.5维地图服务的瓦片加载方法
CN104933057A (zh) * 2014-03-18 2015-09-23 北京图盟科技有限公司 一种地图服务提供方法及装置
CN104135715B (zh) * 2014-06-10 2015-10-07 腾讯科技(深圳)有限公司 一种位置服务的实现方法、装置,及系统
CN106296813B (zh) * 2015-05-14 2018-11-13 上海市测绘院 三维静态地图生产方法
EP3264372A1 (en) * 2016-06-30 2018-01-03 Alcatel Lucent Image processing device and method
CN106408631B (zh) * 2016-09-30 2019-07-30 厦门亿力吉奥信息科技有限公司 三维宏观展示方法及系统
CN106547624B (zh) * 2016-11-04 2021-01-01 武汉斗鱼网络科技有限公司 基于Android的图片加载方法及装置
WO2018142496A1 (ja) * 2017-02-01 2018-08-09 株式会社日立製作所 三次元計測装置
GB201701877D0 (en) * 2017-02-05 2017-03-22 Hardie-Bick Anthony Richard Generating Locomotion Data
CN107423445B (zh) * 2017-08-10 2018-10-30 腾讯科技(深圳)有限公司 一种地图数据处理方法、装置及存储介质
WO2020072591A1 (en) * 2018-10-03 2020-04-09 Google Llc Placement and manipulation of objects in augmented reality environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010113202A (ko) * 2000-06-16 2001-12-28 이용원 전자지도에서의 위치정보를 이용한 광고 표시 방법
JP2007133489A (ja) * 2005-11-08 2007-05-31 Sony Corp 仮想空間画像表示方法、装置、仮想空間画像表示プログラム及び記録媒体
KR20140100987A (ko) * 2011-12-12 2014-08-18 구글 인코포레이티드 루트를 따른 맵 타일 데이터 사전-인출
JP2016192205A (ja) * 2015-03-30 2016-11-10 ゼネラル・エレクトリック・カンパニイ マップ画像およびデータの永続的キャッシング
CN107016924A (zh) * 2016-12-20 2017-08-04 阿里巴巴集团控股有限公司 虚拟地图中的瓦片地图生成方法、更新方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210063828A (ko) * 2019-11-25 2021-06-02 (주) 한국인프라 3차원 모델링 파일 변환 시스템
KR102199940B1 (ko) * 2020-04-28 2021-01-07 (주)제타럭스시스템 3d 엔진을 통한 모바일 3d 디지털 트윈의 3d 지도 구축 방법

Also Published As

Publication number Publication date
WO2019029252A1 (zh) 2019-02-14
JP2020530161A (ja) 2020-10-15
KR102360660B1 (ko) 2022-02-08
US20200158529A1 (en) 2020-05-21
CN107423445A (zh) 2017-12-01
CN107423445B (zh) 2018-10-30
JP6997290B2 (ja) 2022-01-17
US11585675B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
KR102360660B1 (ko) 맵 데이터 처리 방법, 컴퓨터 디바이스 및 저장 매체
JP6092865B2 (ja) マップ特徴の顕著さをベースとした生成およびレンダリング
EP3170151B1 (en) Blending between street view and earth view
CN108474666B (zh) 用于在地图显示中定位用户的系统和方法
US9361283B2 (en) Method and system for projecting text onto surfaces in geographic imagery
JP4338645B2 (ja) モバイル・ナビゲーション・ユニットのための高度3d視覚化システム及び方法
US8849859B2 (en) Hierarchical system and method for on-demand loading of data in a navigation system
US10921150B2 (en) Navigation application programming interface
CN111080782A (zh) 基于实景三维地理信息系统的可视化系统
JP5964771B2 (ja) 3次元地図表示装置、3次元地図表示方法、および、コンピュータプログラム
JP6022386B2 (ja) 3次元地図表示装置、3次元地図表示方法、および、コンピュータプログラム
JP2004213662A (ja) 複数のイメージからマルチ分解能イメージを生成する方法
CN111383334B (zh) 用于渲染对象的系统和方法
Liu et al. An effective spherical panoramic LoD model for a mobile street view service
JP2014071141A (ja) 地図画像生成装置、地図画像生成方法及びプログラム
Tahani et al. Development of a Virtual Reality Application based on Libgdx Game Engine in Mobile Envi-ronment
Nurminen A mobile 3D archipelago

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