KR20160098306A - 복잡한 맵들의 최적화된 프레젠테이션을 위한 방법 및 장치 - Google Patents

복잡한 맵들의 최적화된 프레젠테이션을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20160098306A
KR20160098306A KR1020167018020A KR20167018020A KR20160098306A KR 20160098306 A KR20160098306 A KR 20160098306A KR 1020167018020 A KR1020167018020 A KR 1020167018020A KR 20167018020 A KR20167018020 A KR 20167018020A KR 20160098306 A KR20160098306 A KR 20160098306A
Authority
KR
South Korea
Prior art keywords
mobile device
observation
image
placement
placement data
Prior art date
Application number
KR1020167018020A
Other languages
English (en)
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 KR20160098306A publication Critical patent/KR20160098306A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/005Map projections or methods associated specifically therewith

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Image Generation (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

맵 데이터와 같은 정보의 모바일 디바이스를 통한 디스플레이를 최적화하기 위한 방법들 및 디바이스들이 설명된다. 특정한 실시예들은, 제 1 및 제 2 오브젝트와 연관된 제 1 및 제 2 세트의 배치 데이터를 모바일 디바이스에서 수신하는 단계를 포함할 수 있다. 그 후, 모바일 디바이스는, 일 세트의 관측 파라미터들, 제 1 세트의 배치 데이터, 및 제 2 세트의 배치 데이터를 사용하여, 제 1 오브젝트 및 제 2 오브젝트의 표시를 포함하는 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표시 사이의 중첩을 결정할 수 있다. 일 세트의 관측 파라미터들은, 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 감소시키도록 조정될 수 있다. 부가적인 실시예들에서, 정보의 프레젠테이션을 향상시키기 위해, 2-차원 맵 오브젝트들에 대한 3D-향상들이 부가될 수 있다.

Description

복잡한 맵들의 최적화된 프레젠테이션을 위한 방법 및 장치{METHOD AND APPARATUS FOR OPTIMIZED PRESENTATION OF COMPLEX MAPS}
[0001] 본 개시내용의 양상들은 전자 맵(map)들에 관한 것으로, 더 상세하게는, 멀티-레벨 또는 3-차원 맵들의 프레젠테이션에서 가상 카메라 배치(placement)와 같은 관측(viewing) 파라미터들의 자동 선택에 관한 것이다.
[0002] 로컬 및 빌딩 레벨 맵들을 디스플레이하는 것이 가능한 모바일 전자 디바이스들이 더 널리 보급되고 있고, 로케이션(location) 서비스들이 더 일반적이 되고 있으며, 로케이션 서비스들을 사용하는 모바일 디바이스들은 3차원을 표현하는 맵 정보에 액세스할 수 있다. 대학 빌딩들, 사무실들, 및 쇼핑 몰들과 같은 복잡한 장소의 사이트(site)들은 복잡한 레이아웃(layout)들을 가질 수 있어서, 사용자에게 내비게이팅(navigate)하기가 곤란해질 수 있다. 상이한 층(floor)들에 대한 POI(points of interest)들의 기하학적 구조들은 이들 맵들을 사용하기 어렵게 한다. 이러한 문제점은 대부분의 모바일 디바이스들의 작은 스크린에 의해 더 악화된다. 따라서, 3-차원 데이터 및 맵들을 제공하기 위한 개선된 시스템들 및 방법들이 바람직할 수 있다.
[0003] 본원에 설명된 실시예들은, 최적화된 맵 프레젠테이션을 위한 방법을 포함한다. 예를 들어, 일 실시예는, 제 1 오브젝트와 연관된 제 1 세트의 배치 데이터를 모바일 디바이스에서 수신하는 단계, 제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 모바일 디바이스에서 수신하는 단계, 및 모바일 디바이스에서, 일 세트의 관측 파라미터들, 제 1 세트의 배치 데이터, 및 제 2 세트의 배치 데이터를 사용하여, 제 1 오브젝트 및 제 2 오브젝트의 표현(representation)을 포함하는 이미지의 렌더링(rendering)에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩(overlap)을 결정하는 단계를 포함하는 방법일 수 있다. 그 후, 방법은 추가로, 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해, 모바일 디바이스에서 일 세트의 관측 파라미터들을 조정하는 단계를 포함할 수 있다.
[0004] 그러한 방법은, 배치 데이터가 맵 데이터를 포함하거나, 또는 제 1 오브젝트가 로케이션의 제 1 레벨을 포함하고 그리고 제 2 오브젝트가 로케이션의 제 2 레벨을 포함하도록 추가적으로 기능할 수 있다. 그러한 방법은, 일 세트의 관측 파라미터들을 조정하는 단계가, 오브젝트들과 관측 포지션(position) 사이의 거리를 변경하는 단계; 관측 포지션과 연관된 기울기(tilt)를 변경하는 단계; 제 1 오브젝트와 제 2 오브젝트 사이의 거리를 변경하는 단계; 또는 관측 포지션의 배치를 변경하는 단계; 또는 이들의 임의의 결합 중 적어도 하나를 포함하도록 추가적으로 기능할 수 있다. 그러한 방법은, 제 1 오브젝트와 제 2 오브젝트 사이의 중첩을 결정하는 단계가, 제 1 오브젝트 및 제 2 오브젝트의 이미지를 렌더링하는 단계, 및 (a) 제 1 오브젝트와 제 2 오브젝트 사이의 중첩 픽셀들 대 (b) 픽셀들의 총 개수의 비가 임계치를 초과한다는 것을 결정하는 단계를 포함하도록 추가적으로 기능할 수 있다.
[0005] 그러한 방법은, 제 1 오브젝트와 제 2 오브젝트 사이의 중첩을 결정하는 단계가, 관측 포지션의 배치의 변경에 대한 응답으로 수행되도록 추가적으로 기능할 수 있다. 그러한 방법은, 관측 포지션의 배치가, 사용자로부터 수신되는 입력, 사용자의 컨텍스트(context), 또는 사용자로부터 수신되는 탐색 질의(search query), 또는 상기의 것들의 임의의 결합 중 적어도 하나에 의해 변경되도록 추가적으로 기능할 수 있다.
[0006] 그러한 방법은 추가로, 제 1 오브젝트 및 제 2 오브젝트와 연관된 배면(back-facing) 경계를 결정하는 단계, 및 제 1 오브젝트 및 제 2 오브젝트의 배면 경계 사이의 구역(region)을 쉐이딩하는(shading) 단계를 포함할 수 있다.
[0007] 다른 실시예는, 맵 프레젠테이션에 대한 최적화된 기능을 갖는 디바이스일 수 있으며, 디바이스는, 메모리; 디스플레이 출력; 및 메모리 및 디스플레이에 커플링되는 프로세서를 포함하며, 여기서, 메모리는, 프로세서에 의해 실행되는 경우 프로세서로 하여금 특정한 기능들을 수행하게 하는 3D 디스플레이 관리 모듈을 포함한다. 그러한 기능들의 일부로서, 프로세서는, 제 1 오브젝트와 연관된 제 1 세트의 배치 데이터를 수신하고; 제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 수신하고; 일 세트의 관측 파라미터들, 제 1 세트의 배치 데이터, 및 제 2 세트의 배치 데이터를 사용하여, 제 1 오브젝트 및 제 2 오브젝트의 표현을 포함하는 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 결정하고; 그리고 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해 일 세트의 관측 파라미터들을 조절할 수 있다. 디바이스는 추가로 디스플레이 출력을 포함할 수 있으며, 여기서, 프로세서는 추가로, 이미지의 조정된 렌더링을 디스플레이를 위해 디스플레이 출력에 출력한다.
[0008] 부가적인 실시예들에서, 그러한 디바이스는, 배치 데이터가 맵 데이터를 포함하거나, 또는 제 1 오브젝트가 로케이션의 제 1 레벨을 포함하고 그리고 제 2 오브젝트가 로케이션의 제 2 레벨을 포함하게 기능할 수 있다. 부가적인 실시예들은, 일 세트의 관측 파라미터들을 조정하는 것이, 오브젝트들과 관측 포지션 사이의 거리를 변경하는 것, 관측 포지션과 연관된 기울기를 변경하는 것; 제 1 오브젝트와 제 2 오브젝트 사이의 거리를 변경하는 것; 및 관측 포지션의 배치를 변경하는 것을 포함하게 기능할 수 있다.
[0009] 그러한 디바이스는 추가로, 안테나, 및 안테나 및 프로세서에 커플링되는 트랜시버를 포함할 수 있으며, 여기서, 제 1 세트의 배치 데이터 및 제 2 세트의 배치 데이터는, 프로세서가 제 1 세트의 배치 데이터 및 제 2 세트의 배치 데이터를 수신하기에 앞서, 안테나에서 수신되고 트랜시버를 통해 메모리에 통신된다.
[0010] 다른 실시예는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 디바이스일 수 있으며, 디바이스는, 제 1 오브젝트와 연관된 제 1 세트의 배치 데이터를 모바일 디바이스에서 수신하기 위한 수단; 제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 모바일 디바이스에서 수신하기 위한 수단; 모바일 디바이스에서, 일 세트의 관측 파라미터들, 제 1 세트의 배치 데이터, 및 제 2 세트의 배치 데이터를 사용하여, 제 1 오브젝트 및 제 2 오브젝트의 표현을 포함하는 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 결정하기 위한 수단; 및 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해, 모바일 디바이스에서 일 세트의 관측 파라미터들을 조정하기 위한 수단을 포함한다.
[0011] 다른 실시예는 디바이스일 수 있고, 여기서, 배치 데이터는 맵 데이터를 포함하고, 여기서, 제 1 오브젝트는 로케이션의 제 1 레벨을 포함하고 그리고 제 2 오브젝트는 로케이션의 제 2 레벨을 포함한다. 다른 실시예는 디바이스일 수 있고, 여기서, 일 세트의 관측 파라미터들을 조정하기 위한 수단은, 오브젝트들과 관측 포지션 사이의 거리를 변경하기 위한 수단, 관측 포지션과 연관된 기울기를 변경하기 위한 수단, 제 1 오브젝트와 제 2 오브젝트 사이의 거리를 변경하기 위한 수단, 및 관측 포지션의 배치를 변경하기 위한 수단을 포함한다.
[0012] 다른 실시예는, 제 1 오브젝트 및 제 2 오브젝트와 연관된 배면 경계를 결정하기 위한 수단; 및 제 1 오브젝트 및 제 2 오브젝트의 배면 경계 사이의 구역을 쉐이딩하기 위한 수단을 더 포함하는 디바이스일 수 있다.
[0013] 다른 실시예는, 프로세서에 의해 실행되는 경우 모바일 디바이스로 하여금 맵들의 최적화된 디스플레이를 위한 방법을 수행하게 하는, 맵 프레젠테이션을 위한 컴퓨터-판독가능 명령들을 포함하는 비-일시적인 컴퓨터-판독가능 매체일 수 있으며, 방법은, 제 1 오브젝트와 연관된 제 1 세트의 배치 데이터를 모바일 디바이스에서 수신하는 것; 제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 모바일 디바이스에서 수신하는 것; 모바일 디바이스에서, 일 세트의 관측 파라미터들, 제 1 세트의 배치 데이터, 및 제 2 세트의 배치 데이터를 사용하여, 제 1 오브젝트 및 제 2 오브젝트의 표현을 포함하는 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 결정하는 것; 및 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해, 모바일 디바이스에서 일 세트의 관측 파라미터들을 조정하는 것을 포함한다.
[0014] 부가적인 실시예는, 일 세트의 관측 파라미터들을 조정하는 것이, 오브젝트들과 관측 포지션 사이의 거리를 변경하는 것, 관측 포지션과 연관된 기울기를 변경하는 것, 제 1 오브젝트와 제 2 오브젝트 사이의 거리를 변경하는 것, 및 관측 포지션의 배치를 변경하는 것을 포함하게 기능할 수 있다.
[0015] 부가적인 실시예는, 제 1 오브젝트와 제 2 오브젝트 사이의 중첩을 결정하는 것이, 제 1 오브젝트 및 제 2 오브젝트의 이미지를 렌더링하는 것, 및 제 1 오브젝트와 제 2 오브젝트 사이의 중첩 픽셀들 대 픽셀들의 총 개수의 비가 임계치를 초과한다는 것을 결정하는 것을 포함하게 기능할 수 있다.
[0016] 부가적인 실시예는, 제 1 오브젝트와 제 2 오브젝트 사이의 중첩을 결정하는 것이 관측 포지션의 배치의 변경에 대한 응답으로 수행되게 기능할 수 있으며, 여기서, 관측 포지션의 배치는, 사용자로부터 수신되는 입력, 사용자의 컨텍스트, 또는 사용자로부터 수신되는 탐색 질의, 또는 상기의 것들의 임의의 결합 중 적어도 하나에 의해 변경된다.
[0017] 다음의 도면들에 대한 참조에 의해 다양한 실시예들의 속성 및 이점들의 추가적인 이해가 실현될 수 있다. 첨부된 도면들에서, 유사한 컴포넌트들 또는 특성들은 동일한 참조 라벨(label)을 가질 수 있다. 추가로, 동일한 타입의 다양한 컴포넌트들은 참조 라벨에 후속하는 대시기호(dash) 및 유사한 컴포넌트들 사이를 구별하는 제 2 라벨에 의해 구별될 수 있다. 본 명세서에서 오직 제 1 참조 라벨만이 사용되면, 그 설명은 제 2 참조 라벨과 무관하게 동일한 제 1 참조 라벨을 갖는 유사한 컴포넌트들 중 임의의 컴포넌트에 적용가능하다.
[0018] 도 1은 일 실시예에 따른 맵 또는 오브젝트 데이터를 설명한다.
[0019] 도 2a는 일 실시예에 따른 맵 또는 오브젝트 데이터를 설명한다.
[0020] 도 2b는 일 실시예에 따른 맵 또는 오브젝트 데이터를 설명한다.
[0021] 도 3은 일 실시예에 따른 맵 또는 오브젝트 데이터를 설명한다.
[0022] 도 4는, 일 실시예에 대한 사용을 위한 모바일 디바이스의 일 예이다.
[0023] 도 5는 일 실시예에 따른 맵 또는 오브젝트 데이터를 설명한다.
[0024] 도 6은 몇몇 실시예들에 따른 특정한 관측 파라미터들을 예시한다.
[0025] 도 7은 일 실시예에 따른, 맵 데이터를 제공하기 위한 방법을 설명한다.
[0026] 도 8은 일 실시예에 따른, 맵 데이터를 제공하기 위한 방법을 설명한다.
[0027] 도 9는 특정한 실시예들에 따른 컴퓨터 디바이스의 일 구현이다.
[0028] 도 10은, 특정한 실시예들에 따른 네트워킹된(networked) 컴퓨터 시스템의 일 구현이다.
[0029] 본원에 설명되는 실시예들은, 오브젝트 및 맵 데이터의 개선된 프레젠테이션을 위한 시스템들, 방법들, 디바이스들, 및 컴퓨터-판독가능 매체들을 포함한다. 특정한 실시예들은 특히, 맵 데이터를 디스플레이할 수 있는 모바일 전자 디바이스들에 관한 것이다. 그러나, 본원에 설명되는 실시예들에 따른 광범위하게 다양한 다른 구현들이 이용가능할 것이라는 것이 이해될 것이다.
[0030] 일 예에서, 모바일 디바이스는, 2층 빌딩에 대한 맵 정보를 가질 수 있으며, 2-차원 포맷으로 각각의 층에 대한 맵을 갖는다. 둘 모두의 층들에 대한 함께 있는 탑 다운 뷰(top down view)는, 맵들이 불투명하면 하부 층의 대부분을 가리거나 또는 맵들이 투명하면 어떤 정보가 어느 층과 연관되는지에 관한 혼동을 야기할 것이다. 본원에 설명된 실시예들은, 디스플레이 상에 출력되는 바와 같은 맵들 간의 중첩을 감소시키기 위해, 각각의 층의 맵 정보에서 서로에 대한 위 및 아래의 포인트들 간의 포지션을 왜곡시킴이 없이, 맵들 간의 상대적 거리 및 관측 각을 변경할 수 있다.
[0031] 특정한 실시예들에서, 본원에 설명된 기술들은, 실내 맵들에 대한 3-차원(3D) 디스플레이에서 POI(point of interest) 정보의 중첩을 감소시키도록 관측 포지션(예컨대, OpenGL과 같은 렌더링 소프트웨어에서의 가상 카메라)과 연관된 관측 파라미터들을 조정하기 위한 방법 및 장치를 제안한다. 관측 포지션과 연관된 관측 파라미터들은, POI 정보 및 이들 POI들의 기하학적 구조를 고려하여, 디폴트(default) 뷰로 복잡한 장소들을 디스플레이하는데 최적화될 수 있다. 일 양상에서, 본원에 논의되는 가상 카메라는, 모바일 디바이스의 디바이스 디스플레이를 관측하는 사용자의 관점(perspective)을 시뮬레이팅하는, OpenGL과 같은 렌더링 소프트웨어에서 사용되는 카메라 라이브러리 기능이다. 일 실시예에서, 예를 들어, 그러한 렌더링에 대한 관측 파라미터들은, 3D 렌더링 시스템들(예컨대, OpenGL 및 DirectX)에서의 렌더링을 위해 4x4 매트릭스로 캡슐화(encapsulate)될 수 있다. 다른 실시예들에서, 다른 매트릭스 사이즈들 또는 렌더링 방법들이 사용될 수 있다. 다른 양상에서, 본원에 논의되는 3D 이미지는, 모바일 디스플레이를 통해 2차원으로 디스플레이되는 시뮬레이팅된 3D 이미지이다.
[0032] 모바일 디바이스의 디스플레이는 통상적으로 2-차원 디스플레이이다. 본원에 설명되는 실시예들에서, 3-차원 정보를 제공하기 위해 그러한 2-차원 디스플레이가 사용될 수 있다. 이러한 이유로, 탑 다운 2-차원 맵에서 제공되는 것 이상의 부가적인 고려사항들이 관측자(viewer)에게 정보를 제공함에 있어 도움이 될 수 있다. 도 1-3에서의 정보는 다수의 상이한 관측 관점들로 제공된다. 관측 시점 또는 가상 "카메라" 포지션이 사용자 입력에 의해 선택되거나 또는 모바일 디바이스에 의해 자동적으로 선택됨으로써, 수용가능하게 이해할 수 있는 포맷으로 관측자에게 3-차원 정보를 제공할 수 있도록 변경들이 이루어진다. 관측 관점 또는 가상 카메라 포지션을 셋팅하는 관측 파라미터들은 연관된 임계 값들을 가질 수 있으며, 본원에서의 다양한 실시예들에 대해 설명되는 바와 같이, 가상 카메라 포지션에서의 변경들은 관측 파라미터의 임계 값들 내에 속하는 출력 이미지를 생성하도록 이루어질 수 있다. 도 1-3은 그러한 관측 파라미터들의 양상들을 자세히 설명한다.
[0033] 도 1은, 예를 들어, 로케이션의 제 1 레벨(110) 및 로케이션의 제 2 레벨(120)에 대한 맵 오브젝트 정보를 도시한다. 본원에서 지칭되는 바와 같은 용어 "로케이션"은, 빌딩, 환경, 영역, 야외 장소, 경기장, 공원, 또는 다수의 레벨들을 포함할 수 있는 임의의 유사한 그러한 공간을 지칭할 수 있다. 도 1의 정보는, 예를 들어, 모바일 전자 디바이스의 디스플레이에 의해 출력되는 정보일 수 있다. 기준 포인트들(131)은, 레벨들 간의 관계에 관한 정보를 관측자에게 제공하기 위해, 상이한 높이에서 동일한 포지션에 있는 각각의 레벨에서의 포인트를 표시한다. 레벨들 간의 거리(130)는 실척에 맞게 제공되지 않지만, 대신, 미리결정된 선호도들에 따라 다수의 레벨들의 디스플레이를 최적화하도록 셋팅된다. 레벨들 간의 거리(130)는, 중첩을 감소시키도록 또는 특정한 관측 앙각(elevation)들을 가능하게 하도록 최적화될 수 있거나, 또는 임의의 개수의 다른 관측 파라미터들과 함께 최적화된 관측 파라미터들로써 최적화될 수 있다.
[0034] 도 2a는, 도 1에서의 레벨들의 다른 관점을 도시하며, 로케이션의 제 1 레벨(110) 및 로케이션의 제 2 레벨(120)을 포함한다. 도 2a는, 여러 로케이션들에서 광범위하게 이용가능한 2개의 탑 다운 맵들의 결합으로 고려될 수 있다. 도 2a의 관점은, 그러한 탑 다운 맵들이 동일한 탑 다운 공간의 다수의 레벨들을 도시하기 위해 사용되는 경우, 상당한 양의 중첩(140a)을 포함한다. 따라서, 도 2a는, 본원에 설명되는 최적화 기술들을 사용하지 않으면서 멀티-레벨 빌딩의 2개의 레벨들에 대한 이미지 데이터를 사용하는 이미지의 렌더링을 예시하지만, 초기 탑 다운 맵 정보로부터의 시작 포인트로 고려될 수 있다. 도 2에 도시된 바와 같이, 2개의 레벨들과 연관된 데이터는 상당히 중첩되고, 사용자가 장소를 내비게이팅하는데 있어 유용한 뷰의 데이터를 제공하지 않는다. 많은 수의 스토어들을 포함하는 쇼핑 몰 또는 많은 수의 세대들을 갖는 아파트 단지일 수 있는 복잡한 장소의 맵들에 대한 그러한 뷰는 사용자를 매우 당황하게 할 수 있다. 단일 레벨만이 디스플레이에 제공되고 있는 경우에는 이러한 뷰가 통상적일 수 있지만, 다수의 레벨들을 제공하기 위해서는, 상이한 관측 각이 감소된 중첩 및 더 적은 혼동을 제공한다. 또한, 도 2a에서, 기준 포인트들(131)이 근본적으로 서로의 상단에 있으므로, 레벨들 간의 거리(130)는 가시적이지 않다.
[0035] 이후, 도 2b에서, 로케이션의 제 1 레벨(110) 및 로케이션의 제 2 레벨(120)의 다른 뷰가 도시된다. 이러한 뷰에서, 중첩(140b)으로서 도시된 바와 같이 여전히 어느 정도 양의 중첩이 존재한다. 이러한 중첩은 도 2a의 중첩(140a)보다 적으며, 중첩(140b)으로 인한 임의의 정보의 손실 또는 혼동은 작은 편이다. 따라서, 도 2b는, 본원에 설명된 기술들을 사용하여, 도 2a에서 논의된 멀티-레벨 빌딩의 2개의 레벨들에 대한 동일한 이미지 데이터를 사용하는 이미지의 렌더링을 예시한다. 도 2b에서 도시된 바와 같이, 이미지 데이터의 중첩을 검출하고 가상 카메라의 관측 파라미터들을 조정함으로써, 멀티-레벨 빌딩의 2개의 레벨들 사이의 중첩을 최소화하는 유용한 내비게이션 정보를 사용자에게 제공하는 방식으로 멀티-레벨 빌딩의 2개의 레벨들이 디스플레이될 수 있다. 이것은, 통상적인 또는 사용자-선택 선호도 임계치들로 자동적으로 커스터마이징(customize)될 수 있는, 로케이션의 3-차원 뷰들을 가능하게 하는 방식으로 탑 다운 맵 뷰들이 변환되는 것을 가능하게 한다.
[0036] 도 3은, 디스플레이될 수 있는 정보의 추가적으로 향상된 실시예를 설명된다. 레벨들 간의 거리와 같은 임의의 연관된 관측 파라미터들과 함께 수용가능한 뷰가 선택된 이후에, 그러한 부가적인 향상들이 부가될 수 있다. 도 3은, 예를 들어, 모바일 디바이스 상에 디스플레이될 정보의 일부로서, 제 1 오브젝트(310)의 표현 및 제 2 오브젝트(320)의 표현을 포함한다. 이들 오브젝트들은 수용가능한 양의 중첩 및 포지셔닝을 갖는 것으로 분석 및 셋팅되어 있다. 도 1과 마찬가지로, 도 3은 오브젝트들 간의 거리(330)를 포함한다. 도 3의 이미지는 또한, 관측자에게 부가적인 3-차원 정보를 제공하기 위한 쉐이딩을 포함한다. 특히, 제 1 오브젝트의 배면 경계(312)와 제 2 오브젝트의 배면 경계(322) 사이의 구역(342)이 쉐이딩된다. 특정한 실시예들에서, 일단 3-차원 오브젝트들의 프레젠테이션에 대한 관측 파라미터들이 셋팅되면, 모바일 디바이스의 2-차원 디스플레이 스크린으로부터 3-차원 정보의 프레젠테이션에서의 부가적인 명확성을 제공하기 위해, 구역(342)에서의 쉐이딩이 디스플레이에 부가될 수 있다. 따라서, 도 3은 멀티-층 빌딩의 2개의 층들과 연관된 데이터의 렌더링을 예시한다. 도시된 바와 같이, 데이터는, 동일한 렌더링된 이미지에서 2개의 레벨들을 배치하는 것으로부터 생성되는 3D 효과를 추가로 향상시키고 그리고 사용자가 내비게이션 데이터를 용이하게 관측하는 것을 가능하게 하도록 렌더링될 수 있다. 일 구현은, 멀티-층 빌딩의 2개의 층들과 연관된 배면 경계들을 결정하고, 경계 벽들을 연결하여 그들 벽들을 하나의 컬러(color)로 쉐이딩하고, 그리고 경계 벽들과 상이한 색조(hue)로 상단 층을 쉐이딩하는 것을 포함할 수 있다. 다양한 다른 실시예들에서, 단일 이미지 렌더링에서 제공되고 있는 레벨 정보 간의 구별을 가능하게 하기 위해 부가적인 컬러 향상들이 이루어질 수 있다. 예를 들어, 상이한 레벨들은 쉐이딩에서 약간의 컬러 차이들을 가질 수 있다.
[0037] 이제, 특정한 실시예들에 따른 모바일 디바이스(400)의 일 구현을 도 4가 설명한다. 도 4의 모바일 디바이스(400)는, 3D 디스플레이 관리 모듈(421)을 사용하여 도 1-3의 이미지들과 유사한 이미지를 출력하는데 사용될 수 있다. 모바일 디바이스(400)는 또한, 메모리(420)에 저장될 수 있는 컴퓨터-판독가능 명령들과 함께 프로세서(410)를 사용하여, 도 2a의 이미지와 같은 이미지를 도 2b의 이미지로 변환하기 위한 프로세싱 단계들을 구현할 수 있다. 3D 디스플레이 관리 모듈(421)은, 출력 이미지의 수용가능한 특성들을 위한 일 세트의 임계치들 뿐만 아니라, 출력 이미지의 수용가능한 특성들을 달성하도록 이미지 특성들을 측정하고 관측 파라미터들을 조정하기 위한 프로세스들을 포함할 수 있다. 3D 디스플레이 관리 모듈(421)에 의해 개시 및 관리될 수 있는 그러한 프로세스들의 부가적인 세부사항들이 도 5-8에 관하여 아래에 설명된다.
[0038] 모바일 디바이스(400)와 같은 디바이스가 3-차원 출력을 디스플레이하기 위한 것인 특정한 실시예들에서, 이미지, 오브젝트, 또는 맵 레벨 정보의 하나 또는 그 초과의 관련 부분들은, 링크들(416 또는 446)로부터 수신되고, 그 후 메모리(420)에 저장될 수 있는데, 애플리케이션(424)의 일부로서 저장되거나 메모리(420)의 비-일시적인 저장부에 저장될 수 있다. 그 후, 정보는, 디스플레이 출력(403)을 통해 사용자에게 제공되기 이전에, 3D 디스플레이 관리 모듈(421)에 의해 디바이스-선택 가상 카메라 관점으로 병합되고 그리고/또는 조정될 수 있다.
[0039] 도 4에 도시된 실시예에서, 모바일 디바이스(400)는, 다수의 컴포넌트들에서 동작들을 수행하기 위한 명령들을 실행하도록 구성되는 프로세서(410)를 포함하고, 이 프로세서(410)는, 예를 들어, 범용 프로세서 또는 휴대용 전자 디바이스 내의 구현에 적합한 마이크로프로세서일 수 있다. 프로세서(410)는, 모바일 디바이스(400) 내의 복수의 컴포넌트들과 통신가능하게 커플링된다. 이러한 통신가능한 커플링을 실현하기 위해, 프로세서(410)는 버스(440)를 통해 다른 예시된 컴포넌트들과 통신할 수 있다. 버스(440)는, 모바일 디바이스(400) 내에서 데이터를 전달하도록 적응된 임의의 서브시스템일 수 있다. 버스(440)는, 복수의 컴퓨터 버스들일 수 있고, 데이터를 전달하기 위한 부가적인 회로를 포함할 수 있다.
[0040] 메모리(420)는 프로세서(410)에 커플링될 수 있다. 몇몇 실시예들에서, 메모리(420)는, 단기 저장 및 장기 저장 둘 모두를 제공하고, 실제 여러 유닛들로 분할될 수 있다. 메모리(420)는 휘발성일 수 있는데, 이를테면 정적 랜덤 액세스 메모리(SRAM) 및/또는 동적 랜덤 액세스 메모리(DRAM)일 수 있고, 그리고/또는 비-휘발성일 수 있는데, 이를테면 판독-전용 메모리(ROM), 플래시 메모리 등일 수 있다. 또한, 메모리(420)는, 보안 디지털(SD; secure digital) 카드들과 같은 착탈형 저장 디바이스들을 포함할 수 있다. 따라서, 메모리(420)는, 컴퓨터-판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 및 모바일 디바이스(400)에 대한 다른 데이터의 저장을 제공한다. 몇몇 실시예들에서, 메모리(420)는 상이한 하드웨어 모듈들(401)로 분산될 수 있다.
[0041] 몇몇 실시예들에서, 메모리(420)는, 임의의 개수의 애플리케이션들(424)일 수 있는 복수의 애플리케이션 모듈들을 저장한다. 애플리케이션 모듈들은 프로세서(410)에 의해 실행될 특정한 명령들을 포함한다. 대안적인 실시예들에서, 다른 하드웨어 모듈들(401)이 특정한 애플리케이션들(424) 또는 애플리케이션들(424)의 일부들을 부가적으로 실행할 수 있다. 특정한 실시예들에서, 메모리(420)는 부가적으로 보안 메모리를 포함할 수 있는데, 보안 메모리는, 레벨, 맵, 또는 오브젝트 정보의 일부일 수 있는 사적 또는 보안 맵 정보 또는 사적 배치 데이터와 같은 보안 정보에 대한 복사 또는 다른 허가되지 않는 액세스를 방지하기 위한 부가적인 보안 제어들을 포함할 수 있다.
[0042] 몇몇 실시예들에서, 메모리(420)는 운영 시스템(423)을 포함한다. 운영 시스템(423)은, 애플리케이션 모듈들에 의해 제공되는 명령들의 실행을 개시하기 위해, 그리고/또는 다른 하드웨어 모듈들(401)을 관리할 뿐만 아니라, 각각 안테나(414)를 통해 링크(416)로부터 그리고/또는 안테나(444)를 통해 링크(446)로부터 정보를 수신하기 위한 WAN 무선 트랜시버(412) 및 LAN 무선 트랜시버(442)를 사용할 수 있는 통신 모듈들과의 인터페이스들을 관리하도록 동작가능할 수 있다. 운영 시스템(423)은, 스레딩(threading), 리소스 관리, 데이터 저장 제어, 및 다른 유사한 기능을 비롯하여 모바일 디바이스(400)의 컴포넌트들에 걸쳐 다른 동작들을 수행하도록 적응될 수 있다.
[0043] 몇몇 실시예들에서, 모바일 디바이스(400)는 복수의 다른 하드웨어 모듈들(401)을 포함한다. 하드웨어 모듈들(401) 각각은 모바일 디바이스(400) 내의 물리적 모듈이다. 그러나, 하드웨어 모듈들(401) 각각이 구조로서 영구적으로 구성되지만, 하드웨어 모듈들(401)의 개별적인 하드웨어 모듈은 특정한 기능들을 수행하도록 일시적으로 구성되거나 또는 일시적으로 활성화될 수 있다. 공통적인 예는, 셔터 릴리스(shutter release) 및 이미지 캡쳐를 위한 카메라 모듈(즉, 하드웨어 모듈)을 프로그래밍할 수 있는 애플리케이션 모듈이다. 하드웨어 모듈들(401)의 개별적인 하드웨어 모듈은, 예를 들어, 가속도계, Wi-Fi 트랜시버, 위성 내비게이션 시스템 수신기(예컨대, GPS 모듈), 압력 모듈, 온도 모듈, 오디오 출력 및/또는 입력 모듈(예컨대, 마이크로폰), 카메라 모듈, 근접 센서, ALS(alternate line service) 모듈, 용량성 터치 센서, 근접장 통신(NFC; near field communication) 모듈, Bluetooth 트랜시버, 셀룰러 트랜시버, 자력계, 자이로스코프, 관성 세서(예컨대, 가속도계와 자이로스크로프를 결합시킨 모듈), 주변 광 센서, 상대 습도 센서, 또는 감각적(sensory) 출력을 제공하고 그리고/또는 감각적 입력을 수신하도록 동작가능한 임의의 다른 유사한 모듈일 수 있다. 몇몇 실시예들에서, 하드웨어 모듈들(401)의 하나 또는 그 초과의 기능들은 소프트웨어에서 구현될 수 있다.
[0044] 모바일 디바이스(400)는, 안테나(414) 및 무선 트랜시버(412)를 무선 통신들을 위해 필요한 임의의 다른 하드웨어, 펌웨어, 또는 소프트웨어와 통합시킬 수 있는 무선 통신 모듈과 같은 컴포넌트를 포함할 수 있다. 그러한 무선 통신 모듈은, 네트워크들 및 액세스 포인트들을 통해 데이터 소스들과 같은 다양한 디바이스들로부터 신호들을 수신하도록 구성될 수 있다. 다른 하드웨어 모듈들(401) 및 메모리(420) 내의 애플리케이션들(424)에 부가하여, 모바일 디바이스(400)는 디스플레이 출력(403) 및 사용자 입력 모듈(404)을 가질 수 있다. 디스플레이 출력(403)은, 모바일 디바이스(400)로부터의 정보를 그래픽적으로 사용자에게 제공한다. 이러한 정보는, 하나 또는 그 초과의 애플리케이션들(424), 하나 또는 그 초과의 하드웨어 모듈들(401), 이들의 결합, 또는 사용자에 대해 그래픽 컨텐츠를 (예컨대, 운영 시스템(423)에 의해) 리졸빙(resolve)하기 위한 임의의 다른 적절한 수단으로부터 도출될 수 있다. 디스플레이 출력(403)은, 액정 디스플레이(LCD) 기술, 발광 폴리머 디스플레이(LPD) 기술, 또는 몇몇 다른 디스플레이 기술일 수 있다. 몇몇 실시예들에서, 디스플레이 출력(403)은 용량성 또는 저항성 터치 스크린이고, 사용자와의 햅틱(haptic) 및/또는 촉각적(tactile) 접촉에 민감할 수 있다. 그러한 실시예들에서, 디스플레이 출력(403)은, 멀티-터치-감응형 디스플레이를 포함할 수 있다. 이후 디스플레이 출력(403)은, 3D 디스플레이 관리 모듈(421)에 의해 셋팅되는 바와 같은 3-차원 맵 정보를 디스플레이하기 위해 사용될 수 있다.
[0045] 모바일 디바이스의 부가적인 실시예들은 추가로, 도 9에 관하여 아래에 설명되는 바와 같은 컴퓨팅 디바이스들 및 도 10에서 상세화되는 바와 같은 네트워크들의 다양한 부분들을 포함할 수 있다.
[0046] 도 5 및 도 6은, 모바일 디바이스(400)와 같은 디바이스를 통해 출력될 수 있는 이미지의 다른 예를 도시한다. 도 5는 배치 데이터를 도시하는데, 이는, 오브젝트의 표현일 수 있거나, 또는 벽들, 문들, 또는 다른 로케이션 세부사항들의 배치를 표시하는 맵 레벨 데이터일 수 있다. 도 6은, 도 5의 이미지와 같은 출력될 최종 이미지를 생성하는 관점을 선택하기 위해 사용될 수 있는 관측 파라미터들의 일 예를 도시한다.
[0047] 도시된 바와 같이, 도 5 및 도 6 둘 모두는, 제 1 배치 데이터(510), 제 2 배치 데이터(520), 및 제 3 배치 데이터(530)를 포함한다. 도 5는 추가로, 제 1 배치 데이터(510)와 제 2 배치 데이터(520) 사이의 중첩인 중첩(502), 오브젝트 거리(506), 및 오브젝트 거리(508)를 포함한다. 도 5는 또한, 제 2 배치 데이터(520)와 제 3 배치 데이터(530) 사이의 중첩인 중첩(504)을 도시한다. 도 6은 부가적으로, 뷰(500), 관측 거리(525), 관측 앙각(540), 및 관측 각(550)을 도시한다.
[0048] 오브젝트 거리(506)는 제 3 배치 데이터(530)와 제 2 배치 데이터(520) 사이의 거리이고, 오브젝트 거리(508)는 제 2 배치 데이터(520)와 제 1 배치 데이터(510) 사이의 거리이다. 본원에서의 다양한 도면들에 도시된 바와 같은 배치 데이터가 평행한 평면들로서 도시되지만, 다른 실시예들에서는, 배치 데이터는 3-차원일 수 있고, 상이한 레벨들 간의 대응하는 포인트들에 의해 셋팅되는 거리, 이를테면 2개의 기준 포인트들(131) 간의 거리를 갖는다.
[0049] 도 5에서의 배치 데이터의 이미지는, 뷰(500)로부터 취해진 이미지로 고려될 수 있다. 관측 파라미터들은, 오브젝트 거리들(506 및 508), 관측 거리(525), 관측 각(550), 및 관측 앙각(540)으로 고려될 수 있다. 부가적인 관측 파라미터들은, 예를 들어, 관측 앙각(540), 관측 거리(525), 및 관측 각(550)이 동일하게 유지되는 경우라 하더라도, 뷰(500)에 대한 대면 각(facing angle)을 지칭하는 뷰(500)에서의 기울기를 포함할 수 있다. 그러한 관측 기울기는 다수의 컴포넌트들을 가질 수 있는데, 수평 및 수직 기울기 뿐만 아니라 하나의 라인을 따라 포커싱(focused)되는 동안 뷰가 회전(spin)하는 경우의 횡전(roll)을 포함한다. 다양한 다른 실시예들에서, 디바이스 상에 디스플레이될 최종 출력의 특성들에 영향을 줄 수 있는 임의의 파라미터들을 비롯하여 그러한 관측 파라미터들을 정의하기 위해 다른 좌표(coordinate) 시스템들 또는 구조들이 사용될 수 있다. 관측 관점 또는 가상 카메라와 연관된 관측 시야 특성이 또한 관측 파라미터들로 고려될 수 있다.
[0050] 특정한 실시예들에서, 특성은 배치 데이터 영역 대 중첩 영역의 비일 수 있다. 관측 각(550)이 증가되면, 배치 데이터 영역이 증가할 것이지만, 중첩 영역은 배치 데이터 영역보다 더 급속하게 증가할 것이다. 도 2a의 이미지는, 큰 관측 앙각에서의 중첩의 예이다. 유사하게, 다른 파라미터들이 일정하게 유지된 채 관측 거리(525)가 감소되면, 디바이스 디스플레이 상에 도시되는 배치 영역이 증가할 것이지만, 중첩의 영역은 비례적으로 증가할 것이다. 관측 각(550)을 감소시키는 것 또는 오브젝트 거리들(506 및 508)을 증가시키는 것은 중첩을 감소시킬 수 있지만, 배치 데이터를 관측하는 것을 어렵게 할 수 있다.
[0051] 따라서, 시스템은, 수용가능한 출력을 타겟팅(target)하는데 사용할 수 있는 출력 파라미터들의 세트를 가질 수 있다. 예를 들어, 일 세트의 출력 파라미터들은, 가시적 배치 데이터 영역 대 디바이스 디스플레이 영역의 최소 비, 및 최대 중첩 대 총 배치 데이터 비일 수 있으며, 여기서, 가시적 배치 데이터는 뷰(500)로부터의 가시적 영역이다. 도 5에서, 예를 들어, 제 3 배치 데이터(530)의 전체가 가시적 배치 데이터이지만, 제 1 배치 데이터(510)에 대해서는 하단 부분만이 가시적 배치 데이터인데, 이는 나머지 부분이 중첩(502)에 의해 가려지기 때문이다.
[0052] 그 후, 도 7은, 모바일 디바이스들을 통해 복잡한 장소 맵들을 디스플레이하기 위한 최적화된 가상 카메라 또는 뷰 배치를 위한 방법의 일 실시예를 설명한다. (S702)는, 제 1 오브젝트와 연관된 제 1 세트의 배치 데이터를 모바일 디바이스에서 수신하는 단계를 수반한다. 특정한 실시예들에서, 이것은, 모바일 디바이스가 일 세트의 배치 데이터에 의해 설명되는 로케이션에서의 사이트 상에 있는 경우, 무선 통신을 수반할 수 있다. 다른 실시예들에서, 이것은, 모바일 디바이스에 다운로드되는 여러 상이한 장소들의 데이터베이스일 수 있다. 추가적인 실시예들에서, 모바일 디바이스에서 이러한 정보를 수신하는데 유선 연결이 사용될 수 있다. 그 후, (S704)는 추가로, 제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 모바일 디바이스에서 수신하는 단계를 수반한다. 이러한 배치 데이터는, 제 1 세트의 배치 데이터와 동일한 방식으로 수신될 수 있거나, 또는 상이한 방식으로 수신될 수 있다. 이들 2개의 세트들의 배치 데이터는, 병렬 통신 또는 동일한 통신의 일부로서 동시에 수신될 수 있거나, 또는 상이한 통신들의 일부로서 크게 다른 시간들에 수신될 수 있다.
[0053] 그 후, (S706)은, 모바일 디바이스에서, 일 세트의 관측 파라미터들, 제 1 세트의 배치 데이터, 및 제 2 세트의 배치 데이터를 사용하여, 제 1 오브젝트 및 제 2 오브젝트의 표현을 포함하는 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 결정하는 단계를 수반한다. 그 후, 단계 (S708)은, 이미지의 렌더링에서 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해, 모바일 디바이스에서 일 세트의 관측 파라미터들을 조정하는 단계를 포함한다.
[0054] 제 1 표현 및 제 2 표현과 연관된 데이터 사이의 중첩을 검출하는 것은, 중첩 테스트를 수행하는 것을 포함할 수 있다. 일 구현에서, 중첩 테스트는, 제 1 표현으로부터 제 1 오브젝트의 이미지를 그리고 제 2 표현으로부터 제 2 오브젝트의 이미지를 렌더링하는 것, 및 제 1 층과 제 2 층 사이의 중첩 픽셀들의 비가 임계치를 초과한다는 것을 결정하는 것을 포함할 수 있다. 중첩 테스트는, 가상 카메라 또는 뷰의 배치에서의 변경에 대한 응답으로 수행될 수 있다. 가상 카메라 또는 뷰의 배치는, 사용자에 의해 수신되는 입력, 사용자의 컨텍스트, 또는 사용자로부터 수신되는 탐색 질의에 대한 응답으로 변경될 수 있다. 예를 들어, 도 4에 의해 설명된 바와 같은 모바일 디바이스(400)에서, 3D 디스플레이 관리 모듈(421)은, 디스플레이 출력(403)에 대해 커스터마이징된 임계치들을 셋팅하기 위해 사용자 입력 모듈(404)로부터 입력들을 수용하는 사용자 인터페이스를 가질 수 있다. 이것은, 디스플레이 출력(403)에 특정한 비 및 픽셀 셋팅들을 포함할 수 있다. 그것은 또한, 선호되는 최대 또는 최소 관측 각과 같은, 특정한 관측 파라미터들에 관련된 선호도들을 포함할 수 있다.
[0055] 추가적인 실시예들에서, 그러한 비는 단지 맵의 일부에 대한 것일 수 있다. 예를 들어, (사용자의 탐색 질의에 기초한) 특정한 층에서의 모든 의류 스토어들이 중첩 비를 계산함에 있어 단일 오브젝트로서 처리될 수 있다. 방법은, 2개의 층들 내의 의류 스토어들이 3D 뷰에서 더 적은 중첩을 갖도록 가상 카메라 배치를 조정한다. 따라서, 사용자가 오직 의류 스토어들의 맵을 보는 것에만 초점을 두고 있는 경우, 중첩 분석 또한 유사하게 의류 스토어들에만 초점을 둘 수 있다. 임의의 개수의 레벨들에 대한 맵 영역들의 임의의 탐색가능한 서브세트에 대해 유사한 분석 및 가상 카메라 배치가 이루어질 수 있다. 그러한 부분적인 맵 분석은, 계단들, 에스컬레이터들, 또는 엘리베이터들을 비롯하여 레벨들 간의 전환부(transition)들 주변의 영역들 및 통로들을 자동적으로 포함하도록 셋팅될 수 있다. 대안적인 실시예들은, 부분적 중첩 분석에서 그러한 통로 맵 영역들을 포함하지 않을 수 있다.
[0056] 따라서, (S706) 및 (S708)에 의해 설명된 바와 같이, 모바일 디바이스는, 제 1 오브젝트 및 제 2 오브젝트의 표현 사이의 중첩을 자동적으로 조정할 수 있는 프로세서(410)와 같은 프로세싱 컴포넌트를 포함한다. 대안적인 실시예들에서, 모바일 디바이스와 별개인 프로세싱 컴포넌트가, 중첩을 조정하기 위한 관측 파라미터들의 대응하는 조정과 함께 중첩의 그러한 결정을 수행할 수 있다.
[0057] 특정한 실시예들에서, 각각의 오브젝트는, 몰, 백화점, 또는 아파트 단지와 같은 멀티-레벨 로케이션의 물리적 레벨로 고려될 수 있다. 각각의 오브젝트의 표현은, 로케이션의 특정한 레벨에 대한 탑 다운 2-차원 맵 데이터일 수 있다. 그러한 실시예들에서, 모바일 디바이스는 부가적으로, 다수의 표현들의 대응하는 포인트들을 매칭하기 위한 매칭 프로세스를 수행할 수 있다. 이것은, 예를 들어, 2개의 레벨들 간의 대응하는 포인트들을 식별하는 기준 포인트들(131)을 사용하여 이루어질 수 있다. 이들 포인트들은, 디바이스 사용자에 의해 식별될 수 있거나 또는 배치 데이터로부터 추출될 수 있다. 엘리베이터 샤프트(shaft)들, 계단들, 코너들, 기둥들, 또는 배치 데이터의 다른 그러한 엘리먼트들이 그러한 기준 포인트들을 식별하는데 사용될 수 있다. 디바이스는 이후, 탑 다운 2-차원 맵 뷰 이외의 통상적인 뷰를 셋팅하기 위해 부가적인 변환을 수행할 수 있다. 스크린 사이즈에 관한 배치 데이터 사이즈 및/또는 중첩의 결정은, 복수의 2-차원 맵들에 대한 3-차원 표현으로의 2-차원 맵들의 그러한 초기 변환 이후에 수행될 수 있다. 더 추가적인 실시예들에서, 배치 데이터의 세트들은 3-차원일 수 있다. 디바이스는, 다수의 레벨들에 대한 3-차원 배치 데이터의 스택형(stacked) 표현들을 제공할 수 있거나, 또는 각각의 레벨 대한 3-차원 배치 데이터를 도 1-3에 도시된 것들과 같은 2-차원 맵으로 편평하게(flatten) 할 수 있다.
[0058] 그 후, 도 8은 부가적인 실시예를 설명한다. 도 8은 본 발명의 일 실시예에 따른 비-제한적인 흐름도를 예시한다. 도 8의 실시예에서, 위에 설명된 바와 같이, 맵 데이터를 렌더링 및 분석하는데 OpenGL 가상 카메라 셋팅들이 사용될 수 있다. 다른 대안적인 실시예들에서, 본원에서의 실시예들과 함께 그러한 중첩 또는 디스플레이 영역 분석을 수행할 수 있는 임의의 다른 분석 툴들이 사용될 수 있다. (S802)에서, 모바일 디바이스는, 멀티-층 빌딩 내의 각각의 층에 대한 맵 정보를 서버로부터 리트리브(retrieve)한다. (S804)에서, 현재 가상 카메라 셋팅들을 사용하여 프레임 버퍼에서 맵의 각각의 단일 층이 0/1 바이너리(binary) 이미지로 렌더링된다. (S806)에서, 프레임 버퍼에서 렌더링된 바와 같은 이미지는 층 맵들의 중첩 영역들에 대해 테스트된다. 복수의 층들 간에 수용가능한 레벨들의 중첩이 검출되면, 방법은 (S812)로 진행되고, 여기서, 렌더링된 이미지는 디스플레이 유닛을 통해 디스플레이될 수 있다. 선택적으로, (S810)에서 수용가능한 레벨들의 중첩이 검출된 이후에 이미지는 추가로, 도 3을 참조하여 논의된 바와 같이, 쉐이딩을 이용하여 3D 효과들을 위한 컬러로 향상될 수 있다. (S806)에서, 중첩이 수용가능한 임계치를 초과하면, 방법은 (S808)로 진행하며, 여기서, 가상 카메라와 연관된 관측 파라미터들은 층들 간의 중첩을 감소시키도록 조정될 수 있고, 이미지 버퍼에서 이미지를 재-랜더링(re-render)하며, 모바일 디바이스를 통해 이미지를 디스플레이할 수 있다. 일 실시예에서, 중첩을 감소시키기 위해 층 높이와 같은 파라미터들이 조정될 수 있다.
[0059] 도 9는, 하나 또는 그 초과의 실시예들이 구현될 수 있는 컴퓨팅 시스템의 예를 예시한다. 예를 들어, 특정한 실시예들에서, 도 9의 시스템은 모바일 디바이스(400)에 대한 대안으로서 기능할 수 있다. 추가적인 실시예들에서, 오브젝트, 맵, 또는 배치 데이터를 전달하는 네트워크는, 도 9에 의해 설명되는 것들과 같은 컴퓨팅 시스템들을 사용하여 구현될 수 있다. 부가적으로, 본원에 설명된 바와 같은 임의의 컴퓨팅 디바이스는, 컴포넌트들의 임의의 결합을 포함할 수 있다. 예를 들어, 모바일 디바이스(400)에 대한 임의의 대안들은, 도 9의 컴퓨팅 디바이스(900)의 실시예에 따라 구조화되거나, 또는 컴퓨팅 디바이스(900)의 임의의 엘리먼트와 다른 엘리먼트들의 결합으로 구조화될 수 있다. 따라서, 다양한 실시예들에서, 시스템의 엘리먼트들 또는 컴포넌트들은, 본원에 설명된 임의의 디바이스의 기능들 또는 임의의 기능이 컴퓨팅 디바이스(900)와 유사한 다수의 컴퓨팅 디바이스들 또는 컴퓨팅 디바이스(900)의 엘리먼트들의 임의의 결합에 의해 구현될 수 있도록, 본원에 설명되는 컴퓨팅 엘리먼트들의 임의의 기능적 혼합으로서 구조화될 수 있다.
[0060] 도 9는, 도 4 및 도 10에 의해 본원에서 설명되는 실시예들과 같은 다양한 다른 실시예들에 의해 제공되는 방법들을 수행할 수 있는 컴퓨팅 디바이스(900)의 일 실시예의 개략적 예시를 제공한다. 도 9는, 단지 다양한 컴포넌트들의 일반화된 예시를 제공하도록 의도되며, 적절한 경우, 이들 컴포넌트들 중 임의의 컴포넌트 또는 컴포넌트들 전부가 이용될 수 있다. 따라서, 도 9는, 개별적인 시스템 엘리먼트들이 비교적 분리된 방식으로 또는 비교적 더 통합된 방식으로 어떻게 구현될 수 있는지를 개괄적으로 예시하며, 예를 들어, 저장 디바이스(들)(925)와 같은 비-일시적인 컴퓨터-판독가능 저장 디바이스로부터의 컴퓨터-판독가능 명령들에 의해 제어되는 경우 본 발명의 실시예들에 따른 특정한 방법들을 구현할 수 있는 엘리먼트들을 설명한다.
[0061] 버스(905)를 통해 전기적으로 커플링될 수 있는(또는 적절한 경우, 다른 방식으로 통신할 수 있는) 하드웨어 엘리먼트들을 포함하는 컴퓨팅 디바이스(900)가 도시된다. 하드웨어 엘리먼트들은, 제한 없이 하나 또는 그 초과의 범용 프로세서들 및/또는 하나 또는 그 초과의 특수-목적 프로세서들(이를테면, 디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등)을 포함하는 하나 또는 그 초과의 프로세서들(910); 제한 없이 마우스, 키보드 등을 포함할 수 있는 하나 또는 그 초과의 입력 디바이스들(915); 및 제한 없이 디스플레이 디바이스, 프린터 등을 포함할 수 있는 하나 또는 그 초과의 출력 디바이스들(920)을 포함할 수 있다. 이들 엘리먼트들은, 본원에 설명된 바와 같은 3D 디스플레이로 맵들을 병합하기 위해 사용되는 포인트들의 표시들을 디스플레이하고, 변환하고, 스케일링하고, 그리고 배향시키기 위해 사용될 수 있는데, 이들은 맵 데이터의 그러한 변환들의 일부인 계산들을 수행하기 위한 프로세서들(910)을 사용하여 이루어진다.
[0062] 컴퓨팅 디바이스(900)는, 제한 없이 로컬 및/또는 네트워크 액세스가능 저장부를 포함할 수 있고 그리고/또는 제한 없이 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 고체-상태 저장 디바이스, 이를테면 랜덤 액세스 메모리("RAM") 및/또는 판독-전용 메모리("ROM")(이들은 프로그래밍가능하고 플래시-업데이트 가능한 식일 수 있음)를 포함할 수 있는 하나 또는 그 초과의 비-일시적인 저장 디바이스들(925)을 더 포함할 수 있다(그리고/또는 하나 또는 그 초과의 비-일시적인 저장 디바이스들(925)과 통신할 수 있음). 그러한 저장 디바이스들은, 제한 없이 다양한 파일 시스템들, 데이터베이스 구조들 등을 포함하는 임의의 적절한 데이터 저장부들을 구현하도록 구성될 수 있다. 따라서, 맵 변환 및 병합의 특정 실시예를 정의하는 특정 명령들은, 그러한 비-일시적인 저장 디바이스들에 저장되고 하나 또는 그 초과의 프로세서들(910)에 의해 사용되어, 컴퓨팅 디바이스(900)로 하여금 3D 맵들에 대한 중첩의 분석을 수행하게 할 수 있다..
[0063] 컴퓨팅 디바이스(900)는 또한, 제한 없이 모뎀, 네트워크 카드(유선 또는 무선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩셋(이를테면 Bluetooth®1 디바이스, 702.11 디바이스, Wi-Fi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등), 및/또는 유사한 통신 인터페이스들을 포함할 수 있는 통신 서브시스템(930)을 포함할 수 있다. 통신 서브시스템(930)은, 네트워크(이를테면, 하나의 예를 말하자면, 아래에 설명되는 네트워크), 다른 컴퓨터 시스템들, 및/또는 본원에 설명된 임의의 다른 디바이스들과 데이터가 교환되도록 허용할 수 있다. 따라서, 모바일 디바이스(400)와 같은 모바일 디바이스는, 무선 트랜시버(412) 및 LAN 무선 트랜시버(442)를 포함하는 통신 서브시스템들에 부가하여, 다른 통신 서브시스템들을 포함할 수 있다.
[0064] 많은 실시예들에서, 컴퓨팅 디바이스(900)는 추가로, 위에서 설명된 바와 같이 RAM 또는 ROM 디바이스를 포함할 수 있는 비-일시적인 작업 메모리(935)를 포함할 것이다. 컴퓨팅 디바이스(900)는 또한, 운영 시스템(940), 디바이스 드라이버들, 실행가능한 라이브러리들, 및/또는 다른 코드, 이를테면 다양한 실시예들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수 있고 그리고/또는 본원에 설명된 바와 같은 다른 실시예들에 의해 제공되는 시스템들을 구성하고 그리고/또는 방법들을 구현하도록 설계될 수 있는 하나 또는 그 초과의 애플리케이션들(945)을 포함하며, 작업 메모리(935) 내에 현재 로케이팅되어 있는 것으로 도시되는 소프트웨어 엘리먼트들을 포함할 수 있다. 단지 예로서, 위에 논의된 방법(들)에 관하여 설명된 하나 또는 그 초과의 절차들은 컴퓨터(및/또는 컴퓨터 내의 프로세서)에 의해 실행가능한 코드 및/또는 명령들로서 구현될 수 있으며, 일 양상에서, 이후, 그러한 코드 및/또는 명령들은, 맵들을 병합하기 위한 설명된 방법들에 따라 하나 또는 그 초과의 동작들을 수행하도록 범용 컴퓨터(또는 다른 디바이스)를 구성하고 그리고/또는 적응시키는데 사용될 수 있다.
[0065] 이들 명령들 및/또는 코드의 세트는, 위에 설명된 저장 디바이스(들)(925)와 같은 컴퓨터-판독가능 저장 매체 상에 저장될 수 있다. 몇몇 경우들에서, 저장 매체는, 컴퓨팅 디바이스(900)와 같은 컴퓨터 시스템 내에 통합될 수 있다. 다른 실시예들에서는, 저장 매체는, 컴퓨터 시스템과 별개일 수 있고(예컨대, 콤팩트 디스크와 같은 착탈형 매체), 그리고/또는 저장 매체가 그에 저장된 명령들/코드로 범용 컴퓨터를 프로그래밍하고, 구성하고, 그리고/또는 적응시키는데 사용될 수 있도록 설치 패키지로 제공될 수 있다. 이들 명령들은, 실행가능한 코드의 형태(컴퓨팅 디바이스(900)에 의해 실행가능함)를 취할 수 있고, 그리고/또는 컴퓨팅 디바이스(900) 상에서의 (예컨대, 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등 중에서 임의의 것을 사용하는) 컴파일(compilation) 및/또는 설치시에, 이후 실행가능한 코드의 형태를 취하는, 소스 및/또는 설치가능한 코드의 형태를 취할 수 있다. 따라서, 3D 디스플레이 관리 모듈(421)은 본원에 설명된 바와 같은 실행가능한 코드일 수 있다.
[0066] 특정한 요건들에 따라 실질적인 변형들이 이루어질 수 있다. 예를 들어, 커스터마이징된 하드웨어가 또한 사용될 수 있고, 그리고/또는 특정한 엘리먼트들이 하드웨어, 소프트웨어(휴대용 소프트웨어, 이를테면 애플릿(applet)들 등을 포함함), 또는 둘 모두로 구현될 수 있다. 더욱이, 특정한 기능을 제공하는 하드웨어 및/또는 소프트웨어 컴포넌트들은 전용 시스템(특수화된 컴포넌트들을 가짐)을 포함할 수 있거나, 또는 더 일반적인 시스템의 일부일 수 있다. 예를 들어, 카메라들, 가속도계들, 자력계들, 자이로스코프들, 또는 다른 그러한 모듈들과 같은 센서들의 제어는, 컴퓨팅 디바이스(900) 내의 하드웨어, 소프트웨어, 또는 펌웨어로서 구현될 수 있다. 활동도 선택 서브시스템은, 다수의 2-차원 소스들로부터 생성되는 출력 3D 이미지에 대한 수용가능한 특징들의 선택에 관련된 본원에 설명되는 특성들 중 일부 또는 전부를 제공하도록 구성될 수 있다. 그러한 서브시스템들은, 특수화된(예컨대, 주문형 집적 회로(ASIC), 소프트웨어 방법 등), 또는 일반적인(예컨대, 이를테면 메모리(420) 내의 임의의 모듈을 구현할 수 있는 애플리케이션들(945), 프로세서(들)(910) 등) 소프트웨어 및/또는 하드웨어를 포함한다. 추가로, 네트워크 입력/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 연결이 사용될 수 있다.
[0067] 본원에 사용되는 바와 같은 용어들 "머신-판독가능 매체" 및 "컴퓨터-판독가능 매체"는, 머신으로 하여금 특정한 방식으로 동작하게 하는 데이터를 제공하는 것에 참여하는 임의의 매체를 지칭한다. 컴퓨팅 디바이스(900)를 사용하여 구현되는 실시예에서, 다양한 컴퓨터-판독가능 매체들은 실행을 위해 명령들/코드를 프로세서(들)(910)에 제공하는데 수반될 수 있고, 그리고/또는 그러한 명령들/코드를 (예컨대, 신호들로서) 저장 및/또는 반송하는데 사용될 수 있다. 많은 구현들에서, 컴퓨터-판독가능 매체는 물리적 및/또는 유형의(tangible) 저장 매체이다. 그러한 매체는, 비-휘발성 매체들, 비-일시적인 매체들, 휘발성 매체들, 및 송신 매체들을 비롯하여(이들로 제한되지 않음) 많은 형태들을 취할 수 있다. 비-휘발성 매체들은, 예를 들어, 광학 및/또는 자기 디스크들, 이를테면 저장 디바이스(들)(925)를 포함한다. 휘발성 매체들은, 제한 없이 동적 메모리, 이를테면 작업 메모리(935)를 포함한다. 송신 매체들은, 제한 없이, 버스(905)를 포함하는 와이어들을 비롯하여 동축 케이블들, 구리 와이어, 및 광섬유들 뿐만 아니라 통신 서브시스템(930)(및/또는 통신 서브시스템(930)이 다른 디바이스들과의 통신을 제공하도록 하는 매체들)의 다양한 컴포넌트들을 포함한다.
[0068] 물리적 및/또는 유형의 컴퓨터-판독가능 매체들의 일반적인 형태들은, 예를 들어, 플로피 디스크, 플렉서블(flexible) 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치카드(punchcard)들, 페이퍼테이프(papertape), 홀(hole)들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 이후에 설명되는 바와 같은 캐리어 파, 또는 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다. 임의의 그러한 메모리는, 메모리(420)로서 기능하거나, 또는 저장된 컨텐츠의 보안을 유지하도록 구조화되는 경우에는 보안 메모리로서 기능할 수 있다.
[0069] 통신 서브시스템(930)(및/또는 그들의 컴포넌트들)은 일반적으로 신호들을 수신할 것이고, 이후, 버스(905)는 신호들(및/또는 신호들에 의해 반송되는 데이터, 명령들 등)을 작업 메모리(935)로 반송할 수 있으며, 작업 메모리(935)로부터, 프로세서(들)(910)는 명령들을 리트리브하고 그리고 실행한다. 작업 메모리(935)에 의해 수신되는 명령들은 선택적으로, 프로세서(들)(910)에 의한 실행 이전에 또는 그 이후에, 비-일시적인 저장 디바이스(925) 상에 저장될 수 있다.
[0070] 본원에 설명된 다양한 실시예들에서, 컴퓨팅 디바이스들은 정보를 통신하도록 네트워킹될 수 있다. 예를 들어, 모바일 디바이스(400)는, 위에 설명된 바와 같이 정보를 수신하도록 네트워킹될 수 있다. 부가적으로, 이들 엘리먼트들 각각은, 웹 서버들, 데이터베이스들, 또는 네트워크를 통해 애플리케이션들을 인에이블링(enable)하기 위해 정보에 대한 액세스를 제공하는 컴퓨터들과 같은 다른 디바이스들과의 네트워킹된 통신들에 인게이징(engage)될 수 있다.
[0071] 도 10은, 맵 병합을 구현할 수 있는 시스템(1000) 또는 다른 시스템들과 같은 시스템들을 인에이블링하도록 다양한 실시예들에 따라 사용될 수 있는 네트워킹된 컴퓨팅 디바이스들의 시스템(1000)의 개략적 도면을 예시한다. 시스템(1000)은, 하나 또는 그 초과의 사용자 컴퓨팅 디바이스들(1005)을 포함할 수 있다. 사용자 컴퓨팅 디바이스들(1005)은, 범용 개인용 컴퓨터들(단지 예로서, Microsoft® Windows®2 및/또는 Mac OS®3 운영 시스템들의 임의의 적절한 플레이버(flavor)를 구동하는 랩톱 컴퓨터들 및/또는 개인용 컴퓨터들을 포함함) 및/또는 다양한 상업적으로-이용가능한 UNIX®4 또는 UNIX-유사 운영 시스템들 중 임의의 운영 시스템을 구동하는 워크스테이션 컴퓨터들일 수 있다. 이들 사용자 컴퓨팅 디바이스들(1005)은 또한, 본 발명의 방법들을 수행하도록 구성된 하나 또는 그 초과의 애플리케이션들 뿐만 아니라 하나 또는 그 초과의 오피스 애플리케이션들, 데이터베이스 클라이언트 및/또는 서버 애플리케이션들, 및 웹 브라우저 애플리케이션들을 비롯한 다양한 애플리케이션들 중 임의의 애플리케이션을 가질 수 있다. 대안적으로, 사용자 컴퓨팅 디바이스들(1005)은 임의의 다른 전자 디바이스, 이를테면 씬(thin)-클라이언트 컴퓨터, 인터넷-가능 모바일 텔레폰, 및/또는 네트워크(예컨대, 아래에서 설명되는 네트워크(1010))를 통해 통신하는 것이 가능하고 그리고/또는 웹 페이지들 또는 다른 타입들의 전자 문서들을 디스플레이하고 내비게이팅하는 것이 가능한 개인 휴대 정보 단말(PDA)일 수 있다. 3개의 사용자 컴퓨팅 디바이스들(1005a-c)을 갖는 예시적인 시스템(1000)이 도시되지만, 임의의 개수의 사용자 컴퓨팅 디바이스들이 지원될 수 있다.
[0072] 본 발명의 특정한 실시예들은, 네트워크(1010)를 포함할 수 있는 네트워킹된 환경에서 동작한다. 네트워크(1010)는, 제한 없이 TCP/IP, SNA, IPX, AppleTalk®3 등을 비롯한 다양한 상업적으로-이용가능한 프로토콜들 중 임의의 프로토콜을 사용하여 데이터 통신들을 지원할 수 있는, 당업자들에게 친숙한 임의의 타입의 네트워크일 수 있다. 단지 예로서, 네트워크(1010)는, 제한 없이 이더넷 네트워크, 토큰-링(Token-Ring) 네트워크 등을 포함하는 로컬 영역 네트워크("LAN"); 광역 네트워크(WAN); 제한 없이 가상 전용 네트워크("VPN")를 포함하는 가상 네트워크; 인터넷; 인트라넷; 엑스트라넷; 공중 교환 텔레폰 네트워크("PSTN"); 적외선 네트워크; 제한 없이 IEEE 802.11 프로토콜들 슈트, 당업계에 알려진 블루투스 프로토콜, 및/또는 임의의 다른 무선 프로토콜 중 임의의 프로토콜 하에서 동작하는 네트워크를 포함하는 무선 네트워크; 및/또는 이들 네트워크들 및/또는 다른 네트워크들의 임의의 결합일 수 있다. 네트워크(1010)는, 다양한 컴퓨팅 디바이스들에 의해 네트워크(1010)에 대한 액세스를 가능하게 하기 위한 액세스 포인트들을 포함할 수 있다.
[0073] 본 발명의 실시예들은 하나 또는 그 초과의 서버 컴퓨터들(1060)을 포함할 수 있다. 서버 컴퓨터들(1060) 각각은, 제한 없이, 위에서 논의된 것들 중 임의의 것 뿐만 아니라 임의의 상업적으로(또는 무료로) 이용가능한 서버 운영 시스템들을 비롯한 운영 시스템을 갖게 구성될 수 있다. 서버 컴퓨터들(1060) 각각은 또한, 하나 또는 그 초과의 애플리케이션들을 구동할 수 있고, 이 애플리케이션들은 하나 또는 그 초과의 사용자 컴퓨팅 디바이스들(1005) 및/또는 다른 서버 컴퓨터들(1060)에 서비스들을 제공하도록 구성될 수 있다. 예를 들어, 일 실시예에서, 서버 컴퓨터(1060a)는 제 1 맵을 모바일 디바이스(400)에 제공하는 제 1 맵 애플리케이션을 구동할 수 있고, 서버 컴퓨터(1060b)는 제 2 맵을 모바일 디바이스(400)에 제공하는 제 2 애플리케이션을 구동할 수 있다.
[0074] 단지 예로서, 서버 컴퓨터들(1060) 중 하나는 웹 서버일 수 있고, 이 웹 서버는, 단지 예로서, 사용자 컴퓨팅 디바이스들(1005)로부터 웹 페이지들 또는 다른 전자 문서들에 대한 요청들을 프로세싱하는데 사용될 수 있다. 웹 서버는 또한, HTTP 서버들, FTP 서버들, CGI 서버들, 데이터베이스 서버들 Java®5 서버들 등을 포함하는 다양한 서버 애플리케이션들을 구동할 수 있다. 본 발명의 몇몇 실시예들에서, 웹 서버는 웹 페이지들을 서빙(serve)하도록 구성될 수 있으며, 이 웹 페이지들은, 본 발명의 방법들을 수행하기 위한 사용자 컴퓨팅 디바이스들(1005) 중 하나 또는 그 초과의 사용자 컴퓨팅 디바이스들 상의 웹 브라우저 내에서 동작될 수 있다. 그러한 서버들은 특정한 IP 어드레스들과 연관될 수 있거나, 또는 특정한 URL을 갖는 모듈들과 연관될 수 있고, 따라서, 모바일 디바이스(400)에 제공되는 로케이션 서비스들의 일부로서 지리적 포인트들의 보안 표시들을 제공하기 위해 모바일 디바이스(400)와 같은 모바일 디바이스와 상호작용할 수 있는 보안 내비게이션 모듈들을 저장할 수 있다.
[0075] 추가적인 실시예들에 따르면, 하나 또는 그 초과의 서버 컴퓨터들(1060)은 파일 서버로서 기능할 수 있고, 그리고/또는 사용자 컴퓨팅 디바이스(1005) 및/또는 다른 서버 컴퓨터(1060) 상에서 구동되는 애플리케이션에 의해 통합되는 다양한 실시예들의 방법들을 구현하는데 필요한 파일들(예컨대, 애플리케이션 코드, 데이터 파일들 등) 중 하나 또는 그 초과를 포함할 수 있다. 대안적으로, 당업자들이 인식할 바와 같이, 파일 서버는 모든 필요한 파일들을 포함할 수 있으며, 이는, 그러한 애플리케이션이 사용자 컴퓨팅 디바이스(1005) 및/또는 서버 컴퓨터(1060)에 의해 원격으로 호출되도록 허용한다. 구현-특정 요구들 및 파라미터들에 의존하여, 본원의 다양한 서버들(예컨대, 애플리케이션 서버, 데이터베이스 서버, 웹 서버, 파일 서버 등)에 관하여 설명된 기능들이 단일 서버 및/또는 복수의 특수화된 서버들에 의해 수행될 수 있다는 것이 유의되어야 한다.
[0076] 특정한 실시예들에서, 시스템은 하나 또는 그 초과의 데이터베이스들(1020)을 포함할 수 있다. 데이터베이스(들)(1020)의 로케이션은 임의적인데, 단지 예로서, 데이터베이스(1020a)는 서버(1060a)(및/또는 사용자 컴퓨팅 디바이스(1005))에 로컬로 있는(그리고/또는 이 서버에 상주하는) 저장 매체 상에 상주할 수 있다. 대안적으로, 데이터베이스(1020b)는, 사용자 컴퓨팅 디바이스들(1005) 또는 서버 컴퓨터들(1060) 중 임의의 것 또는 전부로부터, 데이터베이스(1020b)가 (예컨대, 네트워크(1010)를 통해) 이들 중 하나 또는 그 초과와 통신할 수 있는 한, 원격일 수 있다. 실시예들의 특정한 세트에서, 데이터베이스(1020)는, 당업자들에게 친숙한 저장-영역 네트워크("SAN; storage-area network")에 상주할 수 있다. (마찬가지로, 사용자 컴퓨팅 디바이스들(1005) 또는 서버 컴퓨터들(1060)에 기여하는 기능들을 수행하기 위한 임의의 필요한 파일들은, 적절한 경우, 개별적인 컴퓨터 상에 로컬로 그리고/또는 원격으로 저장될 수 있음) 실시예들의 일 세트에서, 데이터베이스(1020)는 SQL-포맷된 커맨드들에 대한 응답으로 데이터를 저장하고, 업데이트하고, 그리고 리트리브하도록 적응되는 관계형 데이터베이스, 이를테면 Oracle®5 데이터베이스일 수 있다. 예를 들어, 데이터베이스는, 위에 설명된 바와 같은 데이터베이스 서버에 의해 제어 및/또는 유지될 수 있다. 그러한 데이터베이스는 보안 레벨들에 관련 있는 정보를 저장할 수 있는데, 이를테면, 어느 사용자들이 특정한 보안 레벨들에 액세스할 수 있는지, 어떤 맵 세부사항들이 특정한 보안 레벨 맵들에 포함될 수 있는지, 또는 로케이션 보조 또는 로케이션 액세스 데이터의 일부로서 사용될 수 있는 임의의 다른 그러한 세부사항들에 관한 정보를 저장할 수 있다. 특정한 모바일 디바이스와 연관된 포인트들의 표시들과 같은 민감할 수 있는 로케이션 데이터는 연관된 보안을 가질 수 있지만, 특정한 디바이스와 연관될 수 없는 복수의 포인트들의 표시들을 포함하는 크라우드 소싱된(crowd sourced) 데이터는 더 낮은 보안 레벨들을 가질 수 있다.
[0077] 위에서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 실시예들은 다양한 절차들 또는 컴포넌트들을 적절하 경우 생략, 치환, 또는 부가할 수 있다. 예를 들면, 대안적인 구성들에서, 설명된 방법들은 설명된 것과 상이한 순서로 수행될 수 있고, 그리고/또는 다양한 스테이지들이 부가, 생략, 및/또는 결합될 수 있다. 또한, 특정한 실시예들에 관하여 설명된 특성들은 다양한 다른 실시예들에서 결합될 수 있다. 실시예들의 상이한 양상들 및 엘리먼트들이 유사한 방식으로 결합될 수 있다.
[0078] 특정한 세부사항들이 실시예들의 철저한 이해를 제공하기 위해 본 설명에서 주어진다. 그러나, 실시예들은 특정한 구체적인 세부사항들 없이 실시될 수 있다. 예를 들어, 잘-알려진 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들은, 실시예들을 불명료하게 하는 것을 회피하기 위해 불필요한 세부사항 없이 언급되었다. 본 설명은 단지 예시적인 실시예들을 제공하며, 다양한 실시예들의 범위, 적용가능성, 또는 구성을 제한하도록 의도되지 않는다. 오히려, 실시예들의 이전 설명은 실시예들을 구현하기 위한 가능한 설명을 당업자들에게 제공할 것이다. 다양한 실시예들의 사상 및 범위로부터 벗어나지 않으면서 엘리먼트들의 기능 및 어레인지먼트에서 다양한 변경들이 이루어질 수 있다.
[0079] 또한, 몇몇 실시예들은, 프로세스 화살표들을 이용한 흐름으로 도시되는 프로세스들로서 설명되었다. 각각이 순차적 프로세스로서 동작들을 설명할 수 있지만, 동작들 중 많은 동작들은 병렬로 또는 동시에 수행될 수 있다. 부가하여, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않은 부가적인 단계들을 가질 수 있다. 또한, 방법들의 실시예들은, 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어들, 또는 이들의 임의의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현되는 경우, 연관된 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 컴퓨터-판독가능 매체에 저장될 수 있다. 프로세서들은 연관된 태스크들을 수행할 수 있다. 부가적으로, 위의 엘리먼트들은 단지 더 큰 시스템의 컴포넌트일 수 있는데, 여기서, 다른 규칙들이 본 출원의 다양한 실시예들보다 우선할 수 있거나 또는 그렇지 않으면 본 출원의 다양한 실시예들을 수정할 수 있으며, 임의의 실시예의 엘리먼트들이 구현되기 이전에, 그 동안에, 또는 그 이후에, 임의의 개수의 단계들이 착수될 수 있다.
[0080] 따라서, 수 개의 실시예들이 설명되었지만, 본 개시내용의 사상으로부터 벗어나지 않으면서 다양한 수정들, 대안적인 구성들, 및 등가물들이 사용될 수 있다는 것이 당업자에게 명백할 것이다.
명세서에 대한 부록
1. "Bluetooth" 단어 마크 및 로고들은 Bluetooth SIG, Inc.에 의해 소유된 등록 상표들이다. 다른 상표들 및 상호들은 그들 각각의 소유자들의 것들이다.
2. "Microsoft" 및 "Windows"는 미국 및/또는 다른 국가들에서 Microsoft Corporation의 상표들 또는 등록 상표들 중 어느 하나이다.
3. "Mac OS" 및 "AppleTalk"는 미국 및 다른 국가들에서 등록된 Apple, Inc.의 등록 상표들이다.
4. "UNIX"는 The Open Group의 등록 상표이다.
5. "Java" 및 "Oracle"은 Oracle 및/또는 그의 계열사들의 등록 상표들이다. 다른 명칭들은 그들 각각의 소유자들의 상표들일 수 있다.

Claims (21)

  1. 최적화된 맵 프레젠테이션(presentation)을 위한 방법으로서,
    제 1 오브젝트와 연관된 제 1 세트의 배치(placement) 데이터를 모바일 디바이스에서 수신하는 단계;
    제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 상기 모바일 디바이스에서 수신하는 단계;
    상기 모바일 디바이스에서, 일 세트의 관측 파라미터들, 상기 제 1 세트의 배치 데이터, 및 상기 제 2 세트의 배치 데이터를 사용하여, 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현을 포함하는 이미지의 렌더링(rendering)에서 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현 사이의 중첩(overlap)을 결정하는 단계; 및
    상기 이미지의 렌더링에서 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해, 상기 모바일 디바이스에서 상기 일 세트의 관측 파라미터들을 조정하는 단계를 포함하는, 최적화된 맵 프레젠테이션을 위한 방법.
  2. 제 1 항에 있어서,
    상기 배치 데이터는 맵 데이터를 포함하는, 최적화된 맵 프레젠테이션을 위한 방법.
  3. 제 1 항에 있어서,
    상기 제 1 오브젝트는 로케이션(location)의 제 1 레벨을 포함하고, 상기 제 2 오브젝트는 상기 로케이션의 제 2 레벨을 포함하는, 최적화된 맵 프레젠테이션을 위한 방법.
  4. 제 1 항에 있어서,
    상기 일 세트의 관측 파라미터들을 조정하는 단계는,
    상기 오브젝트들의 관측 포지션 사이의 거리를 변경하는 단계;
    상기 관측 포지션과 연관된 기울기(tilt)를 변경하는 단계;
    상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 거리를 변경하는 단계; 또는
    상기 관측 포지션의 배치를 변경하는 단계; 또는
    상기한 단계들의 임의의 결합
    중 적어도 하나를 포함하는, 최적화된 맵 프레젠테이션을 위한 방법.
  5. 제 1 항에 있어서,
    상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 중첩을 결정하는 단계는, 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 이미지를 렌더링하는 단계, 및 (a) 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 중첩 픽셀들 대 (b) 픽셀들의 총 개수의 비가 임계치를 초과한다는 것을 결정하는 단계를 포함하는, 최적화된 맵 프레젠테이션을 위한 방법.
  6. 제 1 항에 있어서,
    상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 중첩을 결정하는 단계는, 관측 포지션의 배치의 변경에 대한 응답으로 수행되는, 최적화된 맵 프레젠테이션을 위한 방법.
  7. 제 6 항에 있어서,
    상기 관측 포지션의 배치는,
    사용자로부터 입력되는 수신;
    상기 사용자의 컨텍스트(context); 또는
    상기 사용자로부터 수신되는 탐색 질의; 또는
    상기한 것들의 임의의 결합
    중 적어도 하나에 의해 변경되는, 최적화된 맵 프레젠테이션을 위한 방법.
  8. 제 1 항에 있어서,
    상기 제 1 오브젝트 및 상기 제 2 오브젝트와 연관된 배면(back-facing) 경계를 결정하는 단계; 및
    상기 제 1 오브젝트 및 상기 제 2 오브젝트의 배면 경계 사이의 구역을 쉐이딩(shading)하는 단계를 더 포함하는, 최적화된 맵 프레젠테이션을 위한 방법.
  9. 맵 프레젠테이션을 위한 최적화된 기능을 갖는 디바이스로서,
    상기 디바이스는,
    메모리; 및
    상기 메모리에 커플링되는 프로세서
    를 포함하며,
    상기 메모리는, 상기 프로세서에 의해 실행되는 경우 상기 프로세서로 하여금,
    제 1 오브젝트와 연관된 제 1 세트의 배치 데이터를 수신하게 하고;
    제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 수신하게 하고;
    일 세트의 관측 파라미터들, 상기 제 1 세트의 배치 데이터, 및 상기 제 2 세트의 배치 데이터를 사용하여, 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현을 포함하는 이미지의 렌더링에서 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현 사이의 중첩을 결정하게 하고; 그리고
    상기 이미지의 렌더링에서 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해 상기 일 세트의 관측 파라미터들을 조정
    하게 하는 3D 디스플레이 관리 모듈을 포함하는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 디바이스.
  10. 제 9 항에 있어서,
    디스플레이 출력을 더 포함하며,
    상기 프로세서는 추가로, 상기 이미지의 조정된 렌더링을 디스플레이를 위해 상기 디스플레이 출력에 출력하는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 디바이스.
  11. 제 9 항에 있어서,
    상기 제 1 오브젝트는 로케이션의 제 1 레벨을 포함하고, 상기 제 2 오브젝트는 상기 로케이션의 제 2 레벨인, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 디바이스.
  12. 제 9 항에 있어서,
    상기 일 세트의 관측 파라미터들을 조정하는 것은, 상기 오브젝트들과 관측 포지션 사이의 거리를 변경하는 것, 상기 관측 포지션과 연관된 기울기를 변경하는 것, 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 거리를 변경하는 것, 및 상기 관측 포지션의 배치를 변경하는 것을 포함하는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 디바이스.
  13. 제 9 항에 있어서,
    상기 배치 데이터는 맵 데이터를 포함하는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 디바이스.
  14. 맵 프레젠테이션을 위한 최적화된 기능을 갖는 모바일 디바이스로서,
    제 1 오브젝트와 연관된 제 1 세트의 배치 데이터를 상기 모바일 디바이스에서 수신하기 위한 수단;
    제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 상기 모바일 디바이스에서 수신하기 위한 수단;
    상기 모바일 디바이스에서, 일 세트의 관측 파라미터들, 상기 제 1 세트의 배치 데이터, 및 상기 제 2 세트의 배치 데이터를 사용하여, 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현을 포함하는 이미지의 렌더링에서 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현 사이의 중첩을 결정하기 위한 수단; 및
    상기 이미지의 렌더링에서 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해, 상기 모바일 디바이스에서 상기 일 세트의 관측 파라미터들을 조정하기 위한 수단을 포함하는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 모바일 디바이스.
  15. 제 14 항에 있어서,
    상기 배치 데이터는 맵 데이터를 포함하고,
    상기 제 1 오브젝트는 로케이션의 제 1 레벨을 포함하고 그리고 상기 제 2 오브젝트는 상기 로케이션의 제 2 레벨을 포함하는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 모바일 디바이스.
  16. 제 14 항에 있어서,
    상기 일 세트의 관측 파라미터들을 조정하기 위한 수단은, 상기 오브젝트들과 관측 포지션 사이의 거리를 변경하기 위한 수단, 상기 관측 포지션과 연관된 기울기를 변경하기 위한 수단, 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 거리를 변경하기 위한 수단, 및 상기 관측 포지션의 배치를 변경하기 위한 수단을 포함하는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 모바일 디바이스.
  17. 제 14 항에 있어서,
    상기 제 1 오브젝트 및 상기 제 2 오브젝트와 연관된 배면 경계를 결정하기 위한 수단; 및
    상기 제 1 오브젝트 및 상기 제 2 오브젝트의 배면 경계 사이의 구역을 쉐이딩하기 위한 수단을 더 포함하는, 맵 프레젠테이션을 위한 최적화된 기능을 갖는 모바일 디바이스.
  18. 맵 프레젠테이션을 위한 컴퓨터-판독가능 명령들을 포함하는 비-일시적인 컴퓨터-판독가능 매체로서,
    상기 컴퓨터-판독가능 명령들은 프로세서에 의해 실행되는 경우 모바일 디바이스로 하여금 맵들의 최적화된 디스플레이를 위한 방법을 수행하게 하고,
    상기 방법은,
    제 1 오브젝트와 연관된 제 1 세트의 배치 데이터를 상기 모바일 디바이스에서 수신하는 것;
    제 2 오브젝트와 연관된 제 2 세트의 배치 데이터를 상기 모바일 디바이스에서 수신하는 것;
    상기 모바일 디바이스에서, 일 세트의 관측 파라미터들, 상기 제 1 세트의 배치 데이터, 및 상기 제 2 세트의 배치 데이터를 사용하여, 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현을 포함하는 이미지의 렌더링에서 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현 사이의 중첩을 결정하는 것; 및
    상기 이미지의 렌더링에서 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 표현 사이의 중첩을 감소시키기 위해, 상기 모바일 디바이스에서 상기 일 세트의 관측 파라미터들을 조정하는 것을 포함하는, 맵 프레젠테이션을 위한 컴퓨터-판독가능 명령들을 포함하는 비-일시적인 컴퓨터-판독가능 매체.
  19. 제 18 항에 있어서,
    상기 일 세트의 관측 파라미터들을 조정하는 것은, 상기 오브젝트들과 관측 포지션 사이의 거리를 변경하는 것, 상기 관측 포지션과 연관된 기울기를 변경하는 것, 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 거리를 변경하는 것, 및 상기 관측 포지션의 배치를 변경하는 것을 포함하는, 맵 프레젠테이션을 위한 컴퓨터-판독가능 명령들을 포함하는 비-일시적인 컴퓨터-판독가능 매체.
  20. 제 18 항에 있어서,
    상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 중첩을 결정하는 것은, 상기 제 1 오브젝트 및 상기 제 2 오브젝트의 이미지를 렌더링하는 것, 및 상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 중첩 픽셀들 대 픽셀들의 총 개수의 비가 임계치를 초과한다는 것을 결정하는 것을 포함하는, 맵 프레젠테이션을 위한 컴퓨터-판독가능 명령들을 포함하는 비-일시적인 컴퓨터-판독가능 매체.
  21. 제 18 항에 있어서,
    상기 제 1 오브젝트와 상기 제 2 오브젝트 사이의 중첩을 결정하는 것은 관측 포지션의 배치의 변경에 대한 응답으로 수행되고,
    상기 관측 포지션의 배치는,
    사용자에 의해 수신되는 입력,
    상기 사용자의 컨텍스트, 또는
    상기 사용자로부터 수신되는 탐색 질의, 또는
    상기한 것들의 임의의 결합
    중 하나 또는 그 초과에 의해 변경되는, 맵 프레젠테이션을 위한 컴퓨터-판독가능 명령들을 포함하는 비-일시적인 컴퓨터-판독가능 매체.
KR1020167018020A 2013-12-11 2014-11-12 복잡한 맵들의 최적화된 프레젠테이션을 위한 방법 및 장치 KR20160098306A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/103,765 2013-12-11
US14/103,765 US9600930B2 (en) 2013-12-11 2013-12-11 Method and apparatus for optimized presentation of complex maps
PCT/US2014/065137 WO2015088693A2 (en) 2013-12-11 2014-11-12 Method and apparatus for optimized presentation of complex maps

Publications (1)

Publication Number Publication Date
KR20160098306A true KR20160098306A (ko) 2016-08-18

Family

ID=51987501

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167018020A KR20160098306A (ko) 2013-12-11 2014-11-12 복잡한 맵들의 최적화된 프레젠테이션을 위한 방법 및 장치

Country Status (8)

Country Link
US (1) US9600930B2 (ko)
EP (1) EP3080552B1 (ko)
JP (1) JP2017505454A (ko)
KR (1) KR20160098306A (ko)
CN (1) CN106030684A (ko)
CA (1) CA2929245A1 (ko)
ES (1) ES2724579T3 (ko)
WO (1) WO2015088693A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015089477A1 (en) * 2013-12-13 2015-06-18 AI Squared Techniques for programmatic magnification of visible content elements of markup language documents
JP2015141259A (ja) * 2014-01-28 2015-08-03 アルパイン株式会社 地図情報表示装置および地図情報表示方法
KR102674463B1 (ko) * 2016-12-23 2024-06-13 현대자동차주식회사 차량, 및 그 제어방법
US10296812B2 (en) 2017-01-04 2019-05-21 Qualcomm Incorporated Systems and methods for mapping based on multi-journey data
EP4134626A1 (en) 2017-06-02 2023-02-15 Apple Inc. Venues map application and system
US11593535B2 (en) 2019-11-01 2023-02-28 Microsoft Technology Licensing, Llc Geospatially referenced building floorplan data
US11310629B2 (en) * 2020-06-30 2022-04-19 Microsoft Technology Licensing, Llc Client-renderable element for indoor building map

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249264A (en) * 1988-11-14 1993-09-28 International Business Machines Corporation Image display method and apparatus
JP3707770B2 (ja) * 2000-02-14 2005-10-19 松下電器産業株式会社 地図情報修正装置および地図情報修正方法
US6449557B2 (en) * 2000-02-14 2002-09-10 Matsushita Electric Industrial Co., Ltd. Device and method for changing map information
US8050521B2 (en) * 2002-07-27 2011-11-01 Archaio, Llc System and method for simultaneously viewing, coordinating, manipulating and interpreting three-dimensional and two-dimensional digital images of structures for providing true scale measurements and permitting rapid emergency information distribution
JP4193979B2 (ja) * 2003-03-17 2008-12-10 任天堂株式会社 シャドウボリューム生成プログラム及びゲーム装置
US7728853B2 (en) 2005-11-15 2010-06-01 Honeywell International Inc. Systems and methods for changing view perspective in 3-D graphical displays of buildings with stepped rotation
CN100423597C (zh) * 2006-06-08 2008-10-01 中国移动通信集团公司 嵌入移动终端的地图引擎及移动终端地图平台
CN101652632A (zh) * 2007-01-10 2010-02-17 通腾科技股份有限公司 导航装置和提供交通消息信道资源的方法
US8233008B2 (en) 2007-01-19 2012-07-31 Honeywell International Inc. Method and system for distinctively displaying selected floor with sufficient details in a three-dimensional building model
EP2223045B8 (en) * 2007-12-20 2018-06-06 TomTom Navigation B.V. Navigation device and corresponding method
US20090237396A1 (en) 2008-03-24 2009-09-24 Harris Corporation, Corporation Of The State Of Delaware System and method for correlating and synchronizing a three-dimensional site model and two-dimensional imagery
KR101085390B1 (ko) 2008-04-30 2011-11-21 주식회사 코아로직 3d 네비게이션을 위한 영상표현 방법, 장치 및 그 장치를포함한 모바일 장치
CN101388157B (zh) * 2008-09-25 2011-11-30 炬力集成电路设计有限公司 一种电子地图显示方法、装置及设备
US8990049B2 (en) * 2010-05-03 2015-03-24 Honeywell International Inc. Building structure discovery and display from various data artifacts at scene
US8880341B2 (en) 2010-08-30 2014-11-04 Alpine Electronics, Inc. Method and apparatus for displaying three-dimensional terrain and route guidance
CN102682654B (zh) * 2011-03-16 2014-05-07 高德软件有限公司 交通信息渲染方法和装置
US8621394B2 (en) * 2011-08-26 2013-12-31 Nokia Corporation Method, apparatus and computer program product for displaying items on multiple floors in multi-level maps
US8464181B1 (en) 2012-07-03 2013-06-11 Google Inc. Floor selection on an interactive digital map
JP2014016967A (ja) * 2012-07-11 2014-01-30 Sony Corp 情報表示プログラム及び情報表示装置
US9135743B2 (en) * 2012-11-07 2015-09-15 Google Inc. Visualize the obscure object in 3D space

Also Published As

Publication number Publication date
EP3080552B1 (en) 2019-03-06
WO2015088693A3 (en) 2015-08-13
EP3080552A2 (en) 2016-10-19
WO2015088693A2 (en) 2015-06-18
ES2724579T3 (es) 2019-09-12
CN106030684A (zh) 2016-10-12
US20150161819A1 (en) 2015-06-11
US9600930B2 (en) 2017-03-21
JP2017505454A (ja) 2017-02-16
CA2929245A1 (en) 2015-06-18

Similar Documents

Publication Publication Date Title
EP3080552B1 (en) Method and apparatus for optimized presentation of complex maps
US11164361B2 (en) Generating floor maps for buildings from automated analysis of visual data of the buildings' interiors
US11531791B2 (en) Virtual reality immersion with an architectural design software application
US9224237B2 (en) Simulating three-dimensional views using planes of content
EP3138078B1 (en) Speed-up template matching using peripheral information
US9437038B1 (en) Simulating three-dimensional views using depth relationships among planes of content
US20150085076A1 (en) Approaches for simulating three-dimensional views
US20150161440A1 (en) Method and apparatus for map alignment in a multi-level environment/venue
US11494872B2 (en) Spatial processing for map geometry simplification
US20120038671A1 (en) User equipment and method for displaying augmented reality window
JP2014525089A5 (ko)
JP2014525089A (ja) 3次元特徴シミュレーション
US9389703B1 (en) Virtual screen bezel
WO2015006084A1 (en) Intelligent map combination for venues enabling indoor positioning
US9672588B1 (en) Approaches for customizing map views
CN115702325A (zh) 用于室内建筑地图的客户端侧可绘出元素
US20150187098A1 (en) Method and apparatus for unobtrusively changing imagery supplementing a map display
US10534505B2 (en) Technique for preventing unnecessary overlap of user interfaces
KR102480218B1 (ko) 사용자 경험을 기초로 메타버스 환경을 제공하는 방법 및 장치
KR102243138B1 (ko) 환경 정보 취득을 이용한 혼합 현실 기기 지원 장치 및 그 방법
KR20240062353A (ko) 가상 공간의 정보를 제공하기 위한 전자 장치 및 그 방법
KR20240020742A (ko) 실사 지도를 이용한 부동산 정보 표시 방법 및 장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination