KR102149374B1 - 로컬화 영역 설명 파일에 대한 프라이버시-민감 질의 - Google Patents

로컬화 영역 설명 파일에 대한 프라이버시-민감 질의 Download PDF

Info

Publication number
KR102149374B1
KR102149374B1 KR1020177031682A KR20177031682A KR102149374B1 KR 102149374 B1 KR102149374 B1 KR 102149374B1 KR 1020177031682 A KR1020177031682 A KR 1020177031682A KR 20177031682 A KR20177031682 A KR 20177031682A KR 102149374 B1 KR102149374 B1 KR 102149374B1
Authority
KR
South Korea
Prior art keywords
region description
spatial features
request
description file
mobile device
Prior art date
Application number
KR1020177031682A
Other languages
English (en)
Other versions
KR20180005168A (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 KR20180005168A publication Critical patent/KR20180005168A/ko
Application granted granted Critical
Publication of KR102149374B1 publication Critical patent/KR102149374B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • G01S5/02521Radio frequency fingerprinting using a radio-map
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/69Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/024Guidance services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Electromagnetism (AREA)
  • Library & Information Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

컴퓨팅 시스템은 데이터저장부, 네트워크 인터페이스 및 질의 모듈을 포함한다. 데이터저장부는 복수의 로컬화 영역 설명 파일들을 저장한다. 네트워크 인터페이스는 모바일 디바이스로부터 로컬화 영역 설명 파일에 대한 요청을 수신하기 위한 것인데, 상기 요청은 공간 특징들의 세트 및 적어도 하나의 비-이미지 위치 표시자를 포함한다. 질의 모듈은 요청의 적어도 하나의 위치 표시자 및 요청의 공간 특징들의 세트 중 하나에 기반하여 하나 이상의 후보 로컬화 영역 설명 파일들을 식별하기 위한 질의 인터페이스를 포함하고, 그리고 적어도 하나의 위치 표시자 및 요청의 공간 특징들의 세트의 중 다른 하나에 기반하여 후보 로컬화 영역 설명 파일들로부터 로컬화 영역 설명 파일을 선택하기 위한 선택 모듈을 포함한다. 질의 모듈은 선택된 로컬화 영역 설명 파일을 모바일 디바이스에 제공하기 위한 것이다.

Description

로컬화 영역 설명 파일에 대한 프라이버시-민감 질의
본 개시내용은 일반적으로 시각적 맵핑 시스템들에 관한 것으로, 더 구체적으로는 시각적 정보를 사용한 모바일 디바이스들의 로컬화에 관한 것이다.
시각적 맵핑 시스템들은, 3D(three-dimensional) 공간에서의 모바일 디바이스의 현재 위치 및 배향을 결정하기 위해, 관성 정보뿐만 아니라 모바일 디바이스에 의해 캡처된 화상 내에서 검출된 공간 특징들("시각적 특징들"로 또한 지칭됨)에 의존한다. 통상적으로, 위치 및 배향은, VR(virtual reality) 기능성, AR(augmented reality) 기능성, 또는 게이밍 또는 다수의 모바일 디바이스들 간의 다른 디바이스-가능 상호작용들과 같은 알려진 고정된 레퍼런스 프레임에 대한 동기화를 요구하는 다양한 기능성을 가능하게 하기 위해, 정의된 좌표 프레임의 콘텍스트에서 결정된다. SLAM(simultaneous localization and mapping) 기법들은, 모바일 디바이스가, 이전에 비맵핑된 영역을 맵핑하는 동시에 그 영역 내에서의 모바일 디바이스의 위치 및 배향을 학습하는 것을 가능하게 한다. 따라서, 모바일 디바이스가 동일한 영역으로 복귀할 때, 모바일 디바이스는, "로컬화"로 알려진 프로세스에서 이전에-관찰된 공간 특징들의 검출을 통해 그 영역 내에서의 모바일 디바이스의 현재 위치 및 배향을 용이하게 결정할 수 있다. 그러나, 모바일 디바이스가 영역에 처음으로 진입할 때, 모바일 디바이스는 이러한 이전에-검출된 로컬화 큐들이 결핍되어 있다. 종래의 시각적 맵핑 시스템들에서, 모바일 디바이스는 시각적 맵핑 프로세스 ― 상당한 시간 및 자원들이 소요되는 프로세스 ― 의 구현을 통해 영역을 "학습"해야 한다. 이전에-비맵핑된 영역에 대한 시각적 맵핑 프로세스를 수행하는데 수반되는 지연을 회피하기 위해, 종래의 시각적 맵핑 시스템들은 대신에, 관성 센서 피드백을 통한 위치 맵핑 또는 GPS(global positioning system) 정보와 같은 비-시각적 배향 입력에 기반한 모바일 디바이스의 배향 또는 위치의 검출로 되돌아갈 수 있다. 그러나, 이러한 비-시각적 맵핑 솔루션들은, 센서 및 측정 드리프트로 인해 비신뢰적이고(예컨대, 실내에서의 또는 높은 장애물들에 의해 둘러싸인 영역들에서의 열악한 GPS 수신), 부정확하고, 그리고 에러가 나기 쉬울 수 있다.
본 개시내용은 첨부 도면들을 참조함으로써 당업자들에 의해 더 양호하게 이해될 수 있으며, 본 개시내용의 많은 특징들 및 장점들이 당업자들에게 명백해질 수 있다. 상이한 도면들에서 동일한 레퍼런스 심볼들의 사용은 유사한 또는 동일한 아이템들을 표시한다.
도 1은 본 개시내용의 적어도 하나의 실시예에 따른, 로컬화를 위해 모바일 디바이스들에 제공된 영역 설명 파일들의 크라우드-소싱 생성 및 업데이팅을 위한 클라우드-기반 시각적 맵핑 시스템을 예시하는 다이어그램이다.
도 2는 본 개시내용의 적어도 하나의 실시예에 따른, 도 1의 시각적 맵핑 시스템의 영역 설명 파일 서버를 예시하는 블록 다이어그램이다.
도 3은 본 개시내용의 적어도 하나의 실시예에 따른, 도 1의 시각적 맵핑 시스템의 모바일 디바이스를 예시하는 블록 다이어그램이다.
도 4는 본 개시내용의 적어도 하나의 실시예에 따른, 이전에-맵핑된 로컬화 프로세스 또는 이전에-비맵핑된 로컬화 프로세스 중 하나를 선택하기 위한 방법을 예시하는 흐름도이다.
도 5는 본 개시내용의 적어도 하나의 실시예에 따른, 로컬화 영역 설명 파일의 크라우드-소싱 생성을 위한 방법을 예시하는 흐름도이다.
도 6은 본 개시내용의 적어도 하나의 실시예에 따른, 원격 영역 설명 파일 서버로부터 획득된 로컬화 영역 설명 파일을 사용한 모바일 디바이스의 로컬화를 위한 방법을 예시하는 흐름도이다.
도 7은 본 개시내용의 적어도 하나의 실시예에 따른, 로컬화 영역 설명 파일의 크라우드-소싱 업데이팅을 위한 방법을 예시하는 흐름도이다.
도 8은 본 개시내용의 적어도 하나의 실시예에 따른, 로컬화 영역 설명 파일에 포함시키기 위한 후보 공간 특징을 평가하기 위한 방법을 예시하는 흐름도이다.
도 9는 본 개시내용의 적어도 하나의 실시예에 따른, 로컬화 영역 설명 파일로부터 제거하기 위한 공간 특징을 평가하기 위한 방법을 예시하는 흐름도이다.
도 10은 본 개시내용의 적어도 하나의 실시예에 따른, 로컬화 영역 설명 파일 질의들을 수행하기 위한 영역 설명 파일 서버의 LADF 데이터베이스에 대한 2-레벨 질의 인터페이스를 예시하는 다이어그램이다.
도 11은 본 개시내용의 적어도 하나의 실시예에 따른, 로컬화 영역 설명 파일에 대한 2-레벨 질의를 위한 방법을 예시하는 흐름도이다.
도 12는 본 개시내용의 적어도 하나의 실시예에 따른, 로컬화 영역 설명 파일 질의들을 수행하기 위한 영역 설명 파일 서버의 LADF 데이터베이스에 대한 대안적 2-레벨 질의 인터페이스를 예시하는 다이어그램이다.
다음의 설명은 시각적 맵핑 시스템들을 수반하는 다수의 특정 실시예들 및 세부사항들을 제공함으로써 본 개시내용의 완전한 이해를 전달하도록 의도된다. 그러나, 본 개시내용은 이들 특정 실시예들 및 세부사항들로 제한되지 않으며, 이들 특정 실시예들 및 세부사항들은 단지 예들이고, 따라서, 본 개시내용의 범위는 하기의 청구항들 및 그 등가물들에 의해서만 제한되는 것으로 의도됨이 이해된다. 추가로, 당업자는, 알려진 시스템들 및 방법들의 관점에서, 특정 설계 및 다른 요구들에 의존하여 임의의 수의 대안적인 실시예들에서 본 개시내용의 의도된 목적들 및 이점들을 위해 본 개시내용을 사용하는 것을 인식할 것임이 이해된다.
도 1-12는 모바일 디바이스들에 대한 로컬화 영역 데이터 파일들의 클라우드-기반 생성, 수정, 및 프로비전을 위한 예시적인 시스템들 및 기법들을 예시한다. 적어도 하나의 실시예에서, 시각적 맵핑 시스템은 하나 이상의 유선 또는 무선 네트워크들을 통해 복수의 모바일 디바이스들에 통신가능하게 커플링된 ADF(area description file) 서버를 포함한다. 모바일 디바이스가 사전에-비맵핑된 영역에 진입하는 경우, 모바일 디바이스는 영역 학습 프로세스를 개시(이에 의해, 모바일 디바이스가 영역의 화상을 캡처함)하고, 캡처된 화상을 사용하여 공간 특징들을 검출하고, 공간 특징들, 공간 특징들의 상대적 기하구조(relative geometry), 연관된 통계 데이터, 및 동시에 캡처된 센서 데이터를 ADF에서 ADF 서버로 송신한다. ADF 서버는 이러한 ADF를 사용하여, 영역의 공간 특징들의 저밀도 포인트 클라우드를 표현하는 LADF(localization ADF)를 생성한다. "영역 설명 파일"에서 사용되거나 본원에서 달리 사용되는 바와 같은 용어 "파일"은 데이터 및 다른 정보 필드들을 연관시키는데 사용되는 임의의 데이터 구조 또는 그러한 데이터 구조들의 임의의 조합을 지칭함을 유의한다. 그 다음, LADF는 LADF에 의해 커버되는 영역 내의 다른 모바일 디바이스에 다운로드될 수 있다. LADF를 수신하는 모바일 디바이스는, LADF에 의해 제공되는 레퍼런스 좌표 프레임을 사용하여 모바일 디바이스를 영역 내에 로컬화하기 위해, 영역의 화상을 캡처하고, 화상 내의 공간 특징들을 검출하고, 그리고 검출된 공간 특징들 및 그들의 상대적 기하구조를 LADF가 표현하는 공간 특징들 및 상대적 기하구조들과 비교할 수 있다. 이러한 방식으로, 사전에-비맵핑된 영역의 영역 발견 및 맵핑은 모바일 디바이스에 의한 수동 수집 및 데이터의 업로딩을 통해 효율적으로 크라우드-소싱될 수 있다.
일부 실시예들에서, ADF 서버는 동일 영역에 대한 또는 인접 영역들에 대한 다수의 모바일 디바이스들로부터의 ADF 파일들을 수신하고, ADF 서버는 이들 다수의 ADF 파일들을 병합된 ADF 파일(또는 ADF 파일들의 병합된 클러스터)로 병합하도록 동작하며, 이는 결국, 영역 또는 영역의 서브-영역들에 대한 하나 이상의 LADF들을 생성하는데 사용될 수 있다. 추가로, 영역에서 변경들이 발생할 가능성이 있기 때문에, ADF 서버는 영역에서의 로컬화를 위해, LADF를 사용하는 모바일 디바이스들로부터의 피드백에 기초하여, 영역에 대해 생성된 LADF의 크라우드-소싱된 업데이트를 활용할 수 있다. 예컨대, LADF의 일부 공간 특징들이 모바일 디바이스에 의해 신뢰적으로 관찰되지 않는다고 표시하는 피드백에 대한 응답으로, ADF 서버는 이들 공간 특징들을 LADF로부터 제거할 수 있다. 반대로, LADF에 포함되지 않은 공간 특징들이 영역 내의 모바일 디바이스들에 의해 신뢰적으로 관찰된다고 표시하는 피드백에 대한 응답으로, ADF 서버는 이들 공간 특징들을 LADF에 부가할 수 있다.
ADF들 및 LADF들이 표현하는 포인트 클라우드들 및 연관된 데이터가 영역의 시각적 표현을 어느 정도 제공하기 때문에, 모바일 디바이스들로부터의 ADF들의 수집 및 모바일 디바이스들로의 LADF들의 배포는 프라이버시 암시(implication)들을 가질 수 있다. 따라서, 일부 실시예들에서, 시각적 맵핑 시스템은 특정 프라이버시 제어들을 구현한다. 하나의 그러한 프라이버시 제어는, ADF가 ADF 서버에 업로딩되기 전의 ADF의 데이터에 대한 하나 이상의 프라이버시 필터 프로세스들을 구현하도록 모바일 디바이스를 구성하는 것, 및 그에 따라, 영역의 유용한 시각적 콘텐츠를 재생성하기 위해서, 사용가능하지 않은 ADF의 업로딩된 버전이 표현하는 정보를 렌더링하는 것을 포함할 수 있다. 다른 그러한 프라이버시 제어는, 모바일 디바이스들로의 배포를 위해, LADF들에 액세스하기 위한 2-스테이지 LADF 질의를 포함할 수 있다. 이용가능한 LADF를 갖지 않는 영역에 모바일 디바이스가 진입하는 경우, 모바일 디바이스는, 화상을 캡처하고 캡처된 화상으로부터 공간 특징들을 검출하여 LADF 요청을 ADF 서버에 제출하므로, LADF 요청은, 검출된 공간 특징들의 세트 및 모바일 디바이스의 위치의 표시자(예컨대, GPS 좌표들 또는 하나 이상의 무선 기지국 식별자들)를 포함한다. 그 다음, ADF 서버는 검출된 공간 특징들의 세트 또는 위치 표시자 중 하나에 매칭하는 후보 LADF들의 세트를 식별하기 위해 제1 질의 스테이지를 수행할 수 있으며, 그 다음, 검출된 공간 특징들 또는 위치 표시자 중 다른 하나에 기초하여 후보 LADF들의 세트로부터 일 LADF를 선택할 수 있다. 이러한 방식으로, 모바일 디바이스에 의해 제출된 공간 식별자들의 세트는, 모바일 디바이스가 식별된 영역에 있거나 그 영역에 액세스한다는 증거로서 기능할 수 있으며, 따라서, 요청 모바일 디바이스에 LADF를 공급하는데 있어 프라이버시 침해의 위험이 상당히 감소된다.
도 1은 본 개시내용의 적어도 하나의 실시예에 따른 시각적 맵핑 시스템(100)을 예시한다. 도시된 예에서, 시각적 맵핑 시스템(100)은 하나 이상의 모바일 디바이스들(104)에 통신가능하게 커플링된 ADF 서버(102)를 포함한다. 클라우드(106)가 표현하는 바와 같이, ADF 서버(102)는, 모바일 디바이스(104)에 대해 원격이고 하나 이상의 유선 또는 무선 네트워크들, 이를테면 WLAN(wireless local area network), 셀룰러 데이터 네트워크, 인터넷, 또는 이들의 조합을 통해 모바일 디바이스(104)에 커플링되는 컴퓨팅 시스템을 포함한다. 단일 서버의 예시적인 콘텍스트로 본원에서 설명되지만, 다른 실시예들에서는, ADF 서버(102)는 서버들의 클러스터를 포함하는 컴퓨팅 시스템으로 구현될 수 있다. ADF 서버(102)의 예시적인 구현은 도 2를 참조하여 아래에서 더 상세히 설명된다.
모바일 디바이스(104)는 하나 이상의 사용자들(110)에 의해 동작되는 다양한 휴대가능 전자 디바이스들 중 임의의 전자 디바이스, 이를테면 HMD(head mounted display), 태블릿 컴퓨터, 컴퓨팅-가능 셀룰러 폰(예컨대, "스마트폰"), 노트북 컴퓨터, PDA(personal digital assistant), 게이밍 콘솔 시스템, 드론 등을 포함할 수 있다. 묘사된 예에서, 모바일 디바이스(104)는 다른 표면(116)에 대향하는 표면(114)을 가지는 하우징(112)을 포함하고, 이에 의해 하우징(112)은 통상적으로, 사용자가 하우징(112)의 표면(114)을 향하도록 사용자(110)에 대해 배향된다. 게다가, 묘사된 구현에서, 모바일 디바이스(104)는 시각적 정보를 사용자(110)에게 제시하기 위해 표면(116)에 배치된 디스플레이(118)를 포함한다. 따라서, 참조의 용이함을 위하여, 표면(116)은 본원에서 "전방-대면" 표면으로서 지칭되고 표면(114)은 본원에서 이 예시적 지향의 반사로서 "사용자-대면" 표면으로서 지칭되는데, 이들 표면들의 배향은 이들 관련된 표기들에 의해 제한되지 않는다.
모바일 디바이스(104)는, 모바일 디바이스(104)가 현재 로케이팅된 영역(122)에 관한 정보를 획득하기 위하여 복수의 센서들을 더 포함한다. 모바일 디바이스(104)는 예컨대 전방-대면 표면(116)에 배치된 하나 이상의 이미징 센서들, 이를테면 이미징 센서들(124, 126)을 통하여 영역(122)에 대한 시각적 정보(화상)를 획득한다. 이미징 센서들(124, 126)은, 전방-대면 표면(116) 상에 위치되고 배향될 수 있어서, 그들의 각각의 시야들이 모바일 디바이스(104)로부터 특정 거리에서 시작하여 오버랩하고, 이에 의해 다시점 분석을 통해, 오버랩핑하는 시야들의 지역에 위치된 영역(122)에서 오브젝트들의 깊이 감지가 가능하게 된다. 대안적으로, 표면(116) 상에 배치된 깊이 센서(130)는 영역 내 오브젝트들에 대한 깊이 정보를 제공하기 위하여 사용될 수 있다.
일 실시예에서, 깊이 센서(130)는 변조된 광 패턴들을 전방-대면 표면(116)으로부터 영역(122)으로 프로젝팅하기 위하여 변조된 광 프로젝터를 사용하고, 그리고 변조된 광 패턴들이 영역(122)의 오브젝트들로부터 다시 반사될 때 변조된 광 패턴들의 반사들을 캡처하기 위하여 이미징 센서들(124, 126) 중 하나 또는 둘 모두를 사용한다. 이들 변조된 광 패턴들은 공간적으로-변조된 광 패턴들이거나 시간적으로-변조된 광 패턴들일 수 있다. 변조된 광 플래시의 캡처된 반사들은 본원에서 "깊이 이미지들" 또는 "깊이 화상"으로 지칭된다. 그 다음으로, 깊이 센서(120)는 깊이 화상의 분석에 기반하여, 오브젝트들의 깊이들, 즉, 모바일 디바이스(104)로부터 오브젝트들의 거리들을 계산할 수 있다. 깊이 센서(130)로부터 획득된 결과적인 깊이 데이터는 이미징 센서들(124, 126)에 의해 캡처된 이미지 데이터의 다시점 분석(예컨대, 입체적 분석)으로부터 획득된 깊이 정보를 교정하거나 그렇지 않으면 증강하기 위하여 사용될 수 있다. 대안적으로, 깊이 센서(130)로부터의 깊이 데이터는 다시점 분석으로부터 획득된 깊이 정보 대신 사용될 수 있다. 모바일 디바이스(104)의 전자 시스템의 더 상세한 예는 도 3을 참조하여 아래에 더 상세히 설명된다.
동작 시, 모바일 디바이스(104)는 이미징 센서들(124, 126) 중 하나 또는 둘 모두를 통하여 영역(122)의 화상을 캡처하고, 캡처된 화상을 수정하거나 그렇지 않으면 프로세싱하고, 그리고 디스플레이 디바이스(108) 상에 디스플레이하기 위하여 프로세싱되고 캡처된 화상을 제공한다. 캡처된 화상의 프로세싱은 예컨대 공간 또는 크로매틱(chromatic) 필터링, 증강 현실(AR) 오버레이의 부가, 대응하는 가상 현실(VR) 콘텐츠로 화상의 실생활 콘텐츠의 변환 등을 포함할 수 있다. 이런 AR 또는 VR 기능성의 제공을 위하여, 모바일 디바이스(104)는 특정 좌표 프레임에 관하여 자신의 현재의 6개의 자유도(6DOF) 배향 및 위치(본원에서 집합적으로 "포즈"로 지칭됨)의 정확한 결정에 의존한다. 따라서, 일부 실시예들에서, 모바일 디바이스(104)는 또한 SLAM(simultaneous location and mapping) 프로세스, 시각적 주행거리 측정 프로세스, 또는 다른 시각적 맵핑 프로세스 중 하나 이상을 사용하여, 모바일 디바이스(104)의 상대적 위치/배향, 즉, 영역(122)에 관한 위치/배향을 결정하기 위하여 이미징 센서들(124, 126)에 의해 캡처된 화상 및 비-이미지 센서 데이터(예컨대, 관성 센서 데이터)를 사용한다.
종래에는, 모바일 디바이스가 새로운 영역(즉, 특정 모바일 디바이스가 이전에 진입하지 않은 영역)에 진입할 때, 모바일 디바이스는 새로운 영역을 학습하기 위해 영역 학습 프로세스(예를 들어, SLAM 프로세스)를 완료하거나, 좌표 프레임에 대한 모바일 디바이스의 현재 포즈의 일부 표시를 제공하기 위해 비-시각적 큐들(예를 들어, GPS 좌표들)에 의존할 수 있다. 이와 달리, 시각적 맵핑 시스템(100)은 영역 내의 다른 모바일 디바이스에 의해 이전의 탐색들을 통해 제공되는 크라우드소싱을 레버리징하여, 영역에 대해 새로운 모바일 디바이스가 그 영역의 광범위한 시각적 맵핑 없이 좌표 프레임에 신속하게 로컬화할 수 있게 한다. 이를 위해, ADF 서버(102)에 연결된 모바일 디바이스들(104)은, 모바일 디바이스들(104)이 영역(122) 주위를 이동할 때, ADF(132)를 수집하여 ADF 서버(102)에 업로딩하도록 동작한다. 아래에서 더 상세히 설명되는 바와 같이, ADF(132)는 모바일 디바이스(104)에 의해 검출된 공간 특징들의 세트, 공간 특징들의 상대적 기하구조, 모바일 디바이스의 포즈, 조명 조건들 또는 다른 임시 환경 조건들이나 디바이스-특정 조건들과 실질적으로 독립적인 방식들로 공간 특징들을 설명하는 공간 특징들에 관한 다양한 통계 메타데이터뿐만 아니라, 공간 특징들과 연관된 화상의 캡처시 IMU(inertial management unit) 또는 다른 비-이미지 센서들로부터 수집된 센서 데이터를 또한 포함한다. ADF 서버(102)는 ADF(132)에 포함된 정보에 기반하여 동일한 영역(또는 인접 영역들)에 대한 다수의 모바일 디바이스들(104)로부터의 ADF들을 필터링하여 병합하고, 결과적인 병합된 ADF들로부터 하나 이상의 LADF들(134)을 생성하는데, LADF들(134) 각각은 영역 또는 그 대응하는 서브-영역에 대한 공간 특징들의 저밀도 포인트 클라우드를 표현한다.
따라서 다른 모바일 디바이스(104)가 이후에 새로운 영역에 진입할 때, 모바일 디바이스(104)는 그 영역과 연관된 LADF에 대해 ADF 서버(102)에 질의할 수 있다. 이 질의에 응답하여, ADF 서버(102)는 요청 모바일 디바이스(104)에 LADF(134)를 제공할 수 있다. 모바일 디바이스(104)는 영역(122)의 화상을 캡처하고, 그 안에 포함된 특정 공간 특징들을 검출하고, 검출된 공간 특징들 및 이들의 상대적 기하구조를 LADF(134)에 의해 표현되는 공간 특징들 및 연관된 상대적 기하구조와 비교하고, 공간 특징들의 비교에 기반하여, 이를테면 루프 결합 알고리즘의 적용을 통해 그의 현재 포즈를 로컬화(즉, 그의 현재 포즈를 결정하거나 드리프트한 이전에 결정된 포즈를 정정)할 수 있다. 모바일 디바이스(104)는 추가로, LADF(134)의 모바일 디바이스의 사용에 기반하여 피드백, 이를테면 LADF(134)의 공간 특징이 모바일 디바이스(104)에 의해 관찰되지 않았음을 표시하는 피드백 데이터, 또는 LADF(134)에 없는 공간 특징이 모바일 디바이스(104)에 의해 관찰되었음을 표시하는 피드백 데이터를 ADF 서버(102)에 제공할 수 있다.
LADF들(134)의 클라우드-소싱 및 클라우드 기반의 생성, 정제 및 배포는 새로운 영역에 진입할 때 모바일 디바이스들(104)이 신속하고 효율적으로 로컬화할 수 있게 하여, 시간 소모적인 영역 학습 프로세스를 수행할 필요성 또는 GPS 센서 또는 관성 센서로부터의 덜 정밀하고 종종 신뢰할 수 없는 측정들을 사용할 필요성을 피한다. 더욱이, LADF(134)의 공간 특징들이 특정 좌표 프레임에 참조될 수 있기 때문에, LADF(134)를 사용하는 다수의 모바일 디바이스들(104)은 이들의 현재 포즈들을 공통 좌표 프레임에 로컬화할 수 있고, 이로써 디바이스 포즈 정보에 의존하는 기능성, 이를테면 멀티플레이어 게임들, 공유된 AR 또는 VR 기능성 등을 위해 모바일 디바이스들(104) 간의 보다 효율적이고 정확한 상호작용을 가능하게 할 수 있다.
도 2는 본 개시내용의 적어도 하나의 실시예에 따른 도 1의 ADF 서버(102)의 예시적인 구현을 예시한다. 도시된 예에서, ADF 서버(102)는 네트워크 인터페이스(202), ADF 데이터저장부(204), LADF 데이터저장부(206), 특징 스코어 데이터저장부(208), 지리좌표 데이터저장부(210), 병합 모듈(212), 지리좌표 모듈(214), 공간 특징 필터 모듈(216), 로컬화 생성 모듈(218) 및 질의 모듈(220)을 갖는 컴퓨팅 시스템을 포함한다. 개별 데이터저장부들로서 예시되어 있지만, 데이터저장부들(204, 206, 208, 및 210) 중 하나 이상은 단일 데이터저장부로서 함께 구현될 수 있다.
모듈들(212, 214, 216, 218, 220)은 하드-코딩된 로직(예컨대, 주문형 집적 회로 또는 프로그램가능 로직), 메모리(226) 또는 다른 저장 디바이스에 저장된 소프트웨어 명령들(224)을 실행하는 하나 이상의 프로세서들(222), 또는 이들의 결합으로서 구현될 수 있다. 또한, 예시의 편의상 단일 서버로서 도시되지만, ADF 서버(102)는 대신에 복수의 서버들을 포함하는 컴퓨팅 시스템으로서 구현될 수 있다. 예컨대, 모듈들(212, 214, 216, 218)의 기능은 하나의 서버에서 구현될 수 있고, 질의 모듈(220) 및 LADF 데이터저장부(206)의 기능은 다른 서버에서 구현될 수 있다.
일반적인 개요로서, 병합 모듈(212)은 LADF가 아직 컴파일되지 않은 영역에 진입한 하나 이상의 모바일 디바이스들(232)(도 1의 모바일 디바이스(104)의 일 실시예)로부터 네트워크 인터페이스(202)를 통해 ADF들(132)을 수신하도록 동작한다. 병합 모듈(212)은 ADF 데이터저장부(204)에 저장할 병합된 ADF 데이터를 생성하기 위해 모바일 디바이스들(232)로부터의 하나 이상의 ADF들(132)을 병합한다. 지리좌표 모듈(214)은 (예컨대, Google Inc.에서 제공되는 스트리트 뷰 도구로부터의 화상 및 연관된 지리좌표 위치를 포함할 수 있는) 지리좌표 데이터저장부(210)로부터의 지리좌표 정보를 이용하여, 병합된 ADF에 대한 지리적 참조를 제공할 수 있다. 로컬화 생성 모듈(218)은 결과적인 병합된 ADF 데이터로부터 하나 이상의 LADF들을 생성하고 후속 리트리벌을 위해 LADF 데이터저장부(206)에 하나 이상의 LADF들을 저장하고 인덱싱한다. 질의 모듈(220)은 네트워크 인터페이스(202)를 통해 모바일 디바이스(234)(모바일 디바이스(104)의 일 실시예)로부터 LADF 요청(236)을 수신하고, LADF 요청(236)에 대응하는 LADF(134)에 대해 LADF 데이터저장부(206)를 탐색하며, 모바일 디바이스(234)에 LADF(134)를 제공한다. 모바일 디바이스(234)는 모바일 디바이스(234)의 로컬화를 위해 LADF(134)를 사용한다. 이러한 로컬화 프로세스 동안, 모바일 디바이스(234)는 네트워크 인터페이스(202)를 통해 ADF 서버(102)에 LADF(134)에 대한 LADF 피드백(238)을 제공할 수 있다. ADF 서버(102)는 LADF 피드백(238)을 사용하여 특징 스코어 데이터저장부(208)에서 그 안에 표현되는 공간 특징들의 특징 스코어들을 조정할 수 있고, 특징 스코어들에 기반하여 공간 특징들을 추가하거나 제거함으로써 LADF(134)를 정제할 수 있다. 이러한 동작들은 도 4-12를 참조하여 아래에서 보다 상세하게 설명된다.
주목된 바와 같이, 모바일 디바이스들(232 및 234)은 모바일 디바이스(104)의 실시예들을 나타낸다. 이들의 개개의 동작 요건들로 인해, LADF를 사용하여 로컬화 프로세스를 수행하는 모바일 디바이스(232)는 ADF 업로드 프로세스를 수행하는 모바일 디바이스(234)와 동일한 성능들을 요구하지 않을 수 있다. 예시하자면, 모바일 디바이스(234)는 ADF를 생성 및 업로딩하는 프로세스와 관련하여 SLAM 동작들을 가능하게 하기 위해 깊이 센서(120) 또는 스테레오 카메라 구성을 활용할 수 있는 한편, 모바일 디바이스(232)는 통상적으로 로컬화 프로세스를 가능하게 하기 위해 깊이 센서(120)를 요구하지 않을 것이고 단지 단안 카메라 구성을 요구한다.
도 3은 본 개시내용의 적어도 일 실시예에 따라 모바일 디바이스(104)에 의해 구현되는 예시적인 프로세싱 시스템(300)을 예시한다. 프로세싱 시스템(300)은 디스플레이(118), 이미징 센서들(124, 126) 및 깊이 센서(130)를 포함한다. 프로세싱 시스템(300)은 GPU(graphics processing unit, 302), 프레임 버퍼들(303 및 305), 애플리케이션 프로세서(304), 디스플레이 제어기(306), 시스템 메모리(308), 비-이미지 센서들의 세트(310) 및 사용자 인터페이스(312)를 더 포함한다. 사용자 인터페이스(312)는 모바일 디바이스(104)에 사용자 입력을 제공하기 위해 사용자에 의해 조작되는 하나 이상의 컴포넌트들, 이를테면, 터치스크린(314), 마우스, 키보드, 마이크로폰(316), 다양한 버튼들 또는 스위치들 및 다양한 햅틱 실행기(318)를 포함한다. 비-이미지 센서들의 세트(310)는 모바일 디바이스(104)의 비-이미지 콘텍스트 또는 상태를 제공하기 위해 사용되는 다양한 센서들 중 임의의 것을 포함할 수 있다. 이러한 센서들의 예들은 자이로스코프(321), 자기력계(322) 및 가속도계(323) 중 하나 이상을 포함하는 IMU(inertial management unit)(320)를 포함한다. 비-이미지 센서들은, 예컨대, 주변 광 센서(326) 뿐만 아니라 다양한 무선 수신 또는 송신 기반 센서들, 이를테면, GPS 센서(328), WLAN(wireless local area network) 인터페이스(330), 셀룰러 인터페이스(332), P2P(peer-to-peer) 무선 인터페이스(334), 및 NFC(near field communications) 인터페이스(336)를 더 포함할 수 있다. 비-이미지 센서들은 또한 사용자 인터페이스(312)의 사용자 입력 컴포넌트들, 이를테면 터치스크린(314) 또는 마이크로폰(316)을 포함할 수 있다.
모바일 디바이스(104)는 이의 이미지 프로세싱, 위치 맵핑 및 위치-활용 프로세스들과 관련하여 사용되는 정보 또는 메타데이터를 저장하는 다양한 데이터저장부들(338)에 대한 액세스를 추가로 갖는다. 데이터저장부들(338)은 모바일 디바이스(104)의 이미징 센서들에 의해 캡처되는 화상으로부터 식별되는 2D 또는 3D 공간 특징들에 대한 메타데이터를 저장하는 공간 특징 데이터저장부, SLAM-기반 정보, 이를테면 모바일 디바이스(104)에 의해 이미 탐색된 영역(122)(도 1)의 서브-영역들에 대한 맵핑 정보를 저장하는 SLAM 데이터저장부, 및 AR 오버레이 정보 또는 VR 정보, 이를테면 영역(122)에서 관심있는 오브젝트들의 상대적 위치들의 CAD-기반 표현들을 저장하는 AR 데이터저장부를 포함할 수 있다. 데이터저장부들(338)은 모바일 디바이스(104)의 하나 이상의 저장 컴포넌트들, 이를테면 하드 드라이브, 솔리드 스테이트 메모리 또는 제거가능 저장 매체(미도시)에서 구현될 수 있다.
동작 시에, 이미징 센서들(124, 126)은 영역의 화상을 캡처하고 캡처된 화상을 프레임 버퍼들(303, 305)에서 버퍼링한다. 화상이 오리지널 형태 또는 수정된 형태로 디스플레이되도록, GPU(302)는 (예컨대, AR 오버레이를 렌더링함으로써) 디스플레이를 위해 캡처된 화상을 프로세싱하고, 디스플레이 제어기(306)는 프로세싱된 화상을 디스플레이하도록 디스플레이(118)를 제어한다. 추가로, 본원에서 설명된 바와 같이, 모바일 디바이스(104)는 사전에 비맵핑된 위치들에 대해 ADF들(134)을 업로딩할 뿐만 아니라, 사전에 맵핑된 위치들에 대해 LADF들을 다운로드하고, 모바일 디바이스(104)의 로컬화를 가능하게 하기 위해 다운로드된 LADF를 사용하도록 동작한다. 이를 위해, 하나 이상의 소프트웨어 프로그램들은 시스템 메모리(308) 또는 다른 비-일시적 컴퓨터 판독가능 매체에 저장될 수 있고, 이러한 ADF 생성 및 LADF 활용 기능성을 제공하기 위해 애플리케이션 프로세서(304) 및 GPU(302) 중 하나 또는 둘 모두에 의해 실행될 수 있다. 예시의 용이함을 위해, 하나 이상의 소프트웨어 프로그램들은 ADF 생성 프로그램(342) 및 LADF 프로세싱 프로그램(344)으로서 도 3에 도시되어 있다. 이러한 프로그램들은 프로세싱 시스템(300)에 의해 실행되는 OS(operating system)에서 스레드 또는 다른 프로세스로서, 동일한 소프트웨어 애플리케이션의 스레드들, 프로세스들 또는 서브루틴들로서, 또는 별개로 실행되는 소프트웨어 애플리케이션들로서 구현될 수 있다. 추가로, 일부 실시예들에서, 본원에 설명된 프로그램들(342, 344)의 기능성 중 일부 또는 전부는 ASIC 프로그램가능 로직 또는 다른 하드-코딩된 로직을 통해 구현될 수 있다.
ADF 생성 프로그램(342)은, 예컨대, 프라이버시 필터 모듈(346), 공간 특징 검출 모듈(348) 및 ADF 어셈블리 모듈(350)을 포함할 수 있다. 도 3에 도시된 바와 같이, 프라이버시 필터 모듈(346)은 하나 이상의 이미지 콘텐츠 필터들, 이를테면 텍스트 필터 모듈(352) 및 안면 필터 모듈 뿐만 아니라 다운샘플러 모듈(356)을 포함할 수 있다. LADF 프로세싱 프로그램(344)은, 예컨대, 공간 특징 검출 모듈(358)(이는 공간 특징 검출 모듈(348)일 수 있음), 요청 모듈(360), 로컬화 모듈(362) 및 피드백 모듈(364)을 포함할 수 있다. ADF 생성 프로그램(342) 및 LADF 프로세싱 프로그램(344)의 동작들을 포함하는 프로세싱 시스템(300)의 동작들이 아래에서 상세히 설명된다.
위에서 설명된 바와 같이, 모바일 디바이스(104)가 비맵핑된 영역(즉, ADF 서버(102)가 이용가능한 LADF를 갖지 않는 영역)에 있는 경우, 모바일 디바이스(104)는 ADF 생성 모드에서 동작할 수 있고, 그에 따라 모바일 디바이스(104)는 비맵핑된 영역에서 검출된 공간 특징들을 표현하는 ADF를 생성하고 ADF를 ADF 서버(102)에 업로딩한다. 그러나, 영역이 이미 맵핑되었고 ADF 서버(102)가 그 영역에 대한 LADF를 가지면, 모바일 디바이스(104)는 그 대신에, LADF 로컬화 모드에서 동작할 수 있고, 그에 따라 모바일 디바이스(104)는 ADF 서버(102)로부터 영역에 대한 LADF를 획득하고, 그 영역에 모바일 디바이스(104)를 로컬화하기 위해 LADF에 의해 표현되는 저밀도 포인트 클라우드를 사용하여 로컬화 프로세스를 수행한다.
도 4는 적어도 하나의 실시예에 따라 이러한 동작 모드들간에 선택하기 위한 예시적인 방법(400)을 예시한다. 설명의 용이함을 위해, 방법(400)은 도 3의 프로세싱 시스템(300)의 예시적인 콘텍스트에서 설명된다. 방법(400)은 블록(402)에서 개시되고, 그에 따라 모바일 디바이스(104)는, 자신이 모바일 디바이스(104)에 의해 사전에 맵핑되지 않았던 영역으로 이동했다고 결정한다. 응답으로, 모바일 디바이스(104)는 로컬화 프로세스 또는 모션 추적 프로세스를 개시한다.
블록(404)에서, 모바일 디바이스(104)는, LADF가 영역에 대해 이용가능한지 여부를 결정하기 위해 ADF 서버(102)에 질의한다. 도 10-12를 참조하여 아래에서 설명되는 바와 같이, ADF 서버(102)는 2-단계 질의 프로세스를 구현할 수 있고, 이로써 모바일 디바이스(104)는 영역 내의 모바일 디바이스에 의해 캡처된 화상으로부터의 공간 특징들의 세트 및 하나 이상의 위치 표시자들(예컨대, 모바일 디바이스(104)에 의해 검출된 셀 타워 기지국들 또는 WLAN의 GPS 좌표들 또는 기지국 식별자들) 둘 모두를 제공하고, ADF 서버(102)는 대응하는 LADF를 식별하기 위해 LADF 데이터저장부(206)에 질의한다.
LADF가 ADF 서버(102)로부터 이용가능하지 않는 경우에, 영역은 비맵핑된 위치인 것으로 고려되고, 따라서, 블록(406)에서, 모바일 디바이스(104) 및 ADF 서버(102)는 비맵핑된 위치에 대한 ADF/LADF 생성 프로세스를 수행하도록 조정한다. 이러한 프로세스는 도 5를 참조하여 아래에서 더 상세히 설명된다. LADF가 ADF 서버(102)로부터 이용가능한 경우에, 영역은 맵핑된 위치인 것으로 고려되고, 따라서 블록(408)에서 모바일 디바이스(104) 및 ADF 서버(102)는, 도 6을 참조하여 아래에 더 상세히 설명되는 LADF 로컬화 및 업데이트 프로세스를 수행하도록 조정한다.
도 5는 적어도 하나의 실시예에 따른 ADF/LADF 생성 프로세스를 구현하기 위한 예시적인 방법(500)을 예시한다. 위에서 언급된 바와 같이, ADF/LADF 생성 프로세스는, LADF가 모바일 디바이스(104)에 의해 새롭게 직면된 영역에 대해 이용가능하지 않다는 결정에 대한 응답으로 수행된다. 따라서, 영역 설명 데이터의 수동 수집을 위한 사용자 동의를 수신한 후에, 방법(500)은 블록(502)에서 모바일 디바이스(104)의 센서들을 사용하는 영역 학습 프로세스의 개시를 통해 개시된다. 영역 학습 프로세스를 수행하기 위해, 모바일 디바이스(104)는 이미징 센서들(124, 126)을 통해 화상(372)(도 3)을 캡처하고, 모바일 디바이스(104)가 영역을 통해 이동할 때, 깊이 센서(130)를 통해 대응하는 깊이 정보(373)를 캡처한다. 모바일 디바이스(104)는, 예컨대 화상(372) 및 깊이 정보(373)가 모바일 디바이스(104)에 의해 캡처될 때, 영역을 탐색하기 위해 모바일 디바이스(104)의 사용자를 유도하기 위한 인터랙티브 게임을 사용한다.
동시에, ADF 어셈블리 모듈(350)은 세트(310)의 비-이미지 센서들 중 하나 이상으로부터 비-이미지 센서 데이터(374)(도 3)를 캡처한다. 예시하자면, ADF 어셈블리 모듈(350)은 화상(372)의 캡처 동안에 가속도계(323)로부터 센서 데이터를 캡처하고, 따라서 화상 캡처 시에 중력에 대해 모바일 디바이스(104)의 배향을 표현한다. 유사하게, 자이로스코프(321)로부터 캡처된 센서 데이터는 캡처된 화상에 표현되는 시각적 특징들에 대해 모바일 디바이스(104)의 이동 방향을 결정하는데 사용될 수 있다. 또한, 비-이미지 센서 데이터(374)는 모바일 디바이스(104)의 위치 표시자들로서 동작할 수 있는 센서 데이터를 포함할 수 있다. 이러한 위치 표시자들은 지리좌표화된 위치 표시자들, 이를테면 GPS 센서(328)에 의해 제공된 센서 데이터로 표현되는 위도/경도 좌표들일 수 있다. 대안적으로, 이러한 위치 표시자들은 추론된 위치 표시자들일 수 있다. 예시하자면, WLAN 기지국들 및 셀 타워 기지국들이 고정된 것으로 추정되기 때문에, WLAN 기지국 또는 셀 타워 기지국의 검출은, 모바일 디바이스가 검출된 기지국에 근접하다는 표시로서 기능하고, 따라서 BSID(base station identifier), MAC(media access control) 어드레스, 또는 기지국의 다른 식별자는 모바일 디바이스에 대한 추론된 위치 표시자로서 기능할 수 있다.
아래에서 설명되는 바와 같이, 캡처된 화상(372) 및 깊이 정보(373)는, ADF 서버(102)로 궁극적으로 업로딩되는 공간 특징들의 포인트 클라우드를 결정하는데 사용된다. 이러한 포인트 클라우드가 이미지 데이터 자체가 아니지만, 포인트 클라우드의 밀도 및 다른 조건들에 의존하여, 비수정된 포인트 클라우드가 캡처된 화상(372)에 원래 존재하는 특정 시각적 콘텐츠를 재구성하는데 사용될 수 있다는 것이 가능하다. 예컨대, 모바일 디바이스(104)가 문헌에 특히 가깝게 위치되었다면, 문헌의 캡처된 화상으로부터 결정된 포인트 클라우드는 문헌의 텍스트를 재생하는데 사용될 수 있다는 것이 가능하다. 따라서, 비의도된 시각적 콘텐츠의 개시를 방지하기 위해, 프라이버시 필터 모듈(346)은 적어도 2 개의 프라이버시 제어들을 구현할 수 있다.
제1 프라이버시 제어는 블록(504)에서 구현되고, 여기서 프라이버시 필터 모듈(346)은, 프라이버시 암시들을 가질 수 있는 지역들로부터 이미지 콘텐츠를 제거하기 위해 캡처된 화상(372)에 대해 하나 이상의 콘텐츠 필터 프로세스들을 수행한다. 예컨대, 블록(504)에서, 텍스트 필터 모듈(352)은 텍스트 필터 프로세스를 수행할 수 있고, 이로써 블록(502)에서 캡처된 각각의 이미지는, 잠재적으로 텍스트 콘텐츠를 표현하는 이미지 내의 임의의 지역들이 존재하는지를 결정하기 위한 하나 이상의 잘 알려진 텍스트 인식 알고리즘들을 사용하여 스캔된다. 잠재적인 텍스트 지역으로서 검출된 각각의 지역에 대해, 텍스트 필터 모듈(352)은, 예컨대, 지역 또는 인접한 지역들 내의 픽셀들에서 블렌딩 동작을 수행함으로써, 지역 내의 픽셀 값들을 동일한 디폴트 픽셀 지역으로 대체함으로써 이러한 지역을 불명료하게 하거나 삭제하거나, 그렇지 않은 경우에 지역에서 픽셀 값들을 삭제하는 식일 수 있다. 유사하게, 블록(504)에서, 안면 필터 모듈(354)은 안면 필터 프로세스를 구현할 수 있고, 이로써 각각의 캡처된 이미지는 인간의 안면을 잠재적으로 표현하는 이미지 내의 임의의 지역들이 존재하는지 여부를 결정하고, 그래서 식별된 각각의 지역으로부터 이미지 콘텐츠를 제거하기 위해 이미지를 필터링하기 위한 하나 이상의 잘 알려진 안면 인식 알고리즘들을 사용하여 스캔된다. 이러한 방식으로, 화상은 공간 특징 검출 이전에 잠재적으로 민감한 시각적 콘텐츠를 제거하기 위해 사전-필터링되고, 따라서 공간 특징들의 결과적인 포인트 클라우드는 잠재적으로 민감한 시각적 콘텐츠를 재구성하는데 사용될 수 없다.
블록(506)에서, 공간 특징 검출 모듈(348)은 필터링된 화상을 분석하여 거기에 포함된 공간 특징들을 검출한다. 예컨대, SIFT(Scale-Invariant Feature Transform) 알고리즘, SURF(Speeded-Up Robust Features) 알고리즘, 그레이 레벨 패치 알고리즘, GLOH(Gradient Location and Orientation Histogram) 알고리즘, 제르니케 모멘트(Zernike Moment) 알고리즘, BREIF(Binary Robust Independent Elementary Features) 알고리즘, ORB(Oriented BRISK) 알고리즘, BRISK(Binary Robust Invariant Scalable Keypoint) 알고리즘, DOG(Difference of Gaussians) 알고리즘, FREAK(Fast Retina Keypoint) 알고리즘 등과 같은 다양한 공간 특징 추출 알고리즘들 중 임의의 것이 이용될 수 있다. 공간 특징 검출 모듈(348)은 이들 검출된 공간 특징들을 공간 특징 데이터(376)로서 제공한다. 예시하자면, FREAK 알고리즘은 이미지 패치 내의 픽셀들의 쌍들의 비교를 제공하며, 각각의 비교의 출력은 쌍 중에서 어느 픽셀이 더 밝거나 더 어두운지에 기반하여 "0" 또는 "1"이 된다. FREAK 알고리즘에서, 512개의 그러한 비교들이 이미지 패치 상에서 컴퓨팅되고, 그 결과는 3D 레퍼런스 프레임에서 공간 특징의 위치를 식별하는(x, y, z) 벡터뿐만 아니라, 이미지 패치를 표현하는 대응하는 공간 특징에 대한 길이 512의 바이너리 스트링인 공간 특징 설명자이다.
또한, 공간 특징 검출 모듈(348)은 각각의 검출된 포인트에 대한 통계 메타데이터(378)를 결정한다. 통계 메타데이터(378)는 대응하는 화상이 캡처되었을 때 주변 조명 또는 모바일 디바이스(104)의 특정 시각에 실질적으로 독립적인 방식으로 대응하는 공간 특징을 설명한다. 예를 들어, 통계 메타데이터(378)는 공간 특징, 하나 이상의 방향들에서의 밝기 그레디언트들(또는 다른 시각적 특성 그레디언트들) 등을 표현하는 픽셀들의 밝기의 평균 및 표준 편차를 표현하는 값들을 포함할 수 있다.
프라이버시 필터 모듈(346)이 검출된 텍스트 및 안면 콘텐츠의 화상을 스크럽핑하고, 이에 따라 공간 특징 데이터(376)에 의해 표현되는 공간 특징들의 오리지날 포인트 클라우드는 텍스트 및 안면 콘텐츠가 실질적으로 결여되어 있지만, 오리지날 포인트 클라우드는 오리지날 포인트 클라우드로부터 영역의 시각적 모습의 어느 정도 레벨의 재구성을 허용하기에 충분한 공간 특징 밀도를 여전히 가질 수 있다. 따라서, 제2 프라이버시 제어로서, 블록(508)에서, 프라이버시 필터 모듈(346)의 다운샘플러 모듈(356)은 오리지날 포인트 클라우드의 공간 특징들의 선택된 서브세트만을 포함하는 공간 특징들의 필터링된 포인트 클라우드(380)(도 3)를 생성하도록 오리지날 포인트 클라우드를 다운샘플링한다. 이는, 결과적인 필터링된 포인트 클라우드(380)를 표현하는데 필요한 데이터의 양을 감소시키는 것은 물론, 영역의 시각적 모습이 결과적인 포인트 클라우드로부터 재구성될 수 있는 가능성을 감소시키는 이점을 갖는다. 다운샘플링 프로세스는 하나 이상의 다운샘플링 기준들에 의해 제어될 수 있다. 예컨대, 일부 실시예들에서, 다운샘플링 프로세스는 필터링된 포인트 클라우드로부터 배제하기 위한 공간 특징들을 랜덤하게 선택하거나, X번째 마다 공간 특징(X는 2보다 큰 정수)을 제거하거나 또는 필터링된 포인트 클라우드에 포함하기 위한 최대 수를 넘지 않는 공간 특징들을 선택하는 것을 포함할 수 있다. 또 다른 예로서, 다운샘플링 프로세스는 입방 유닛(즉, 유닛 체적) 당 공간 특징들의 최대수를 특정하는 최대 공간 특징 밀도 기준에 의해 제어될 수 있다. 예컨대, 최대 공간 특징 밀도 기준은 필터링된 포인트 클라우드(380)가 입방 피트 당 많아야 하나의 공간 특징을 포함하고, 이에 따라 입방 피트 당 하나보다 많지 않은 공간 특징이 결과적인 필터링된 포인트 클라우드에서 나타나도록 오리지날 포인트 클라우드를 다운샘플링한다는 것을 특정할 수 있다.
블록(510)에서, ADF 어셈블리 모듈(350)은 필터링된 포인트 클라우드(380), 통계 메타데이터(378) 및 비-이미지 센서 데이터(374)를 사용하여 ADF(132)를 생성한다. 일 실시예에서, ADF(132)는 표현되는 공간 특징에 대한 통계 메타데이터(378)를 저장하기 위해 각각의 다차원 좌표에 대한 필드와 함께 리스트 또는 다차원 좌표들의 다른 세트로서 필터링된 포인트 클라우드(380)를 표현하는 파일 또는 다른 데이터 구조를 포함한다. 예시하자면, 각각의 다차원 좌표는 모바일 디바이스(104)의 (X, Y, Z) 좌표 프레임에서 대응하는 공간 특징의 3D 위치를 표현하는 (x, y, z) 부동 소수점 벡터를 포함할 수 있다. 데이터 구조는, 아래에서 설명되는 바와 같이, ADF 서버(102)에 의해 ADF(132)에 할당된 UID(unique identifier)를 저장하기 위한 필드는 물론, 비-이미지 센서 데이터(374)를 저장하기 위한 하나 이상의 필드들을 더 포함할 수 있다.
블록(512)에서, ADF 어셈블리 모듈(350)은 ADF 서버(102)로의 송신을 위해 적절한 네트워크 인터페이스(예컨대, 셀룰러 인터페이스(332) 또는 WLAN 인터페이스(330))에 ADF(132)를 제공한다. 일부 실시예들에서, ADF 어셈블리 모듈(350)은 ADF를 ADF 서버(102)로 업로딩하라는 요청을 시그널링하고, ADF 서버(102)는, ADF가 업로딩되기 전에 ADF 어셈블리 모듈(350)이 ADF(132)의 적절한 필드에 삽입하는, ADF에 할당된 UID로 응답한다. 또한, 블록들(502-512)의 프로세스는, ADF(132)가 업로딩되기 전에 ADF(132)가 완료되는 순차적인 프로세스로서 설명되었지만, 일부 실시예들에서, ADF(132)는, ADF(132)가 ADF 블록들의 시퀀스로서 생성되는 반복 프로세스에서 생성되고 업로딩되며, 각각의 ADF 블록은 캡처된 화상의 일부로부터 생성된 포인트 클라우드의 서브세트를 포함하고, 각각의 ADF 블록은 그것이 생성될 때 ADF에 할당된 UID로 마킹되고 ADF 서버(102)에 업로딩된다. 따라서, ADF 서버(102)는 이들 ADF 블록들을 개별적으로 저장할 수 있거나, 또는 동일한 UID에 의해 표시되는 ADF 블록들을 단일 ADF(132)로 결합할 수 있다.
모바일 디바이스(104)에 의해 업로딩된 ADF(132)는, 모바일 디바이스(104)가 로케이팅되는 영역에 존재하는 특정 시각적 특징들을 표현한다. 그러나, 블록들(504 및 508)과 관련하여 상술된 바와 같이 모바일 디바이스(104)에 의해 구현된 프라이버시 제어들을 통해, ADF 서버(102)에 제공되는 ADF(132)에 포함된 정보에는 프라이버시 암시를 가질 수 있는 어떠한 콘텐츠도 실질적으로 없다. 오히려, 결과적으로 발생된 ADF(132)가, 다른 모바일 디바이스로 하여금 이들 설명된 시각적 특징들에 기반하여 후속적으로 로컬화하게 하기에 충분한 정도까지 다양한 에지들, 코너들, 및 다른 시각적 특징들을 설명할 수 있는 저밀도 포인트 클라우드를 포함하지만, 저밀도 포인트 클라우드는 영역의 시각적 모습들의 복제를 사람의 인식에 의미있는 방식으로 지원하는데 충분하지 않은 정보를 포함한다. 따라서, ADF 서버(102)는, 맵핑된 영역과 관련하여 잠재적으로 민감 정보를 드러낼 측정가능한 잠재성을 갖는 모바일 디바이스(104)로부터의 어떠한 정보도 소유해서는 안된다.
ADF/LADF 생성 프로세스에서 ADF 서버(102)의 역할은, 블록(514)에서, 모바일 디바이스(104)로부터 네트워크 인터페이스(202)를 통해 병합 모듈(212)에 의해 ADF(132)를 수신하는 것으로 개시된다. ADF(132)의 수신 시, 병합 모듈(212)은 임시적으로 ADF(132)를 인덱싱하여 ADF 데이터저장부(204)에 저장한다. ADF(132)는, ADF(132)에 할당된 UID에 기반하여, ADF(132)에 의해 표현되는 포인트 클라우드에 표현되는 공간 특징들에 기반하여, ADF(132)에 포함된 위치 표시자(들)에 기반하는 방식으로 임시 저장을 위해 인덱싱될 수 있다. 적어도 일 실시예에서, 각각의 ADF(132)는 도 10-12와 관련하여 아래에서 설명되는 2-계층 질의 접근법을 사용하여 ADF 데이터저장부(204)에 저장되고 인덱싱된다.
일부 예시들에서, 다수의 모바일 디바이스들이 일 영역 또는 인접 영역들에 대한 대응하는 ADF를 업로딩했을 수 있다. 따라서, ADF 서버(102)는, 블록(516)에서, 결과적으로 병합된 ADF들을 하나 이상의 LADF들로 프로세싱하기 전에 이들 코-로케이팅된 ADF들을 병합하도록 동작한다. 블록(516)의 병합 프로세스는 다양한 트리거들 중 임의의 것에 대한 응답으로 개시될 수 있다. 예컨대, 병합 프로세스는 지정된 양의 시간의 경과에 의해, 모바일 디바이스들로부터의 지정된 수의 ADF들의 수신에 의해, 모바일 디바이스로부터 LADF의 요청 등에 의해 트리거링될 수 있다. 이러한 트리거에 대한 응답으로, 블록(518)에서, 병합 모듈(212)은, 임의의 "인근" ADF들이 존재하는지 여부, 즉, 동일한 영역 또는 인접 영역을 커버하는 ADF들이 존재하는지 여부를 식별하기 위해, 질의 모듈(220)에 시그널링하여 ADF 데이터저장부(204)에 질의한다. 일부 실시예들에서, 인근 ADF들은 ADF 데이터저장부(240) 내의 ADF들과 연관된 위치 표시자들의 비교들에 기반하여 식별될 수 있다. 예컨대, 모바일 디바이스(104)로부터의 ADF(132)의 업로드가 병합 프로세스를 트리거했고 업로딩된 ADF(132)가 위치 표시자들로서 하나 이상의 WLAN MAC 어드레스들을 포함한다고 가정하면, 업로딩된 ADF와 함께 제공되는 것과 동일한 WLAN MAC 어드레스를 갖는, 또는 업로딩된 ADF에 의해 식별된 WLAN 기지국에 의해 커버되는 영역에 인접한 것으로 알려진 WLAN 기지국들의 WLAN MAC 어드레스들을 갖는, 질의 모듈(220)에 의해 식별된 ADF 데이터저장부(240)의 그러한 ADF들은 인근 ADF들인 것으로 식별된다. 다른 예로서, 업로딩된 ADF에는 위치 표시자로서 GPS 좌표들이 제공될 수 있고, 질의 모듈(220)은 그들의 대응하는 GPS 좌표들에 기반하여 ADF 데이터저장부(240) 내의 ADF들이 인근에 있는 것으로 식별할 수 있다. 다른 실시예들에서, 인근 ADF들은 업로딩된 ADF에 표현되는 공간 특징들을 ADF 데이터저장부(240)에 저장된 ADF들에 표현되는 공간 특징들과 비교한 것에 기반하여 식별될 수 있다. 따라서, 충분히 중첩되는 공간 특징들의 세트를 갖는 그러한 ADF들은 동일한 영역 또는 인근 영역을 표현하는 것으로 식별될 수 있고, 따라서 인근 ADF들로서 식별될 수 있다. 또한, 도 10-12와 관련하여 아래에 설명된 바와 같이, ADF 서버(102)는 ADF 데이터저장부(204) 및 LADF 데이터저장부(206) 중 하나 또는 둘 모두에 대한 2-계층 질의를 구현하여, 각각의 저장된 ADF/LADF가 그의 공간 특징 세트 및 하나 이상의 위치 표시자들 둘 모두에 기반하여 저장을 위해 인덱싱되고, 인근 ADF들은 업로딩된 ADF의 공간 특징 세트뿐만 아니라 업로딩된 ADF의 하나 이상의 위치 표시자들 둘 모두를 사용하여 2-계층 인덱싱 프로세스를 수행함으로써 식별된다.
질의 모듈(220)에 의해 식별된 하나 이상의 인근, 또는 코-로케이팅된 ADF들의 세트는 본원에서 "ADF 클러스터"로 지칭된다. 식별된 ADF 클러스터를 이용하여, 블록(520)에서, 병합 모듈(212)은 ADF 클러스터의 ADF들에 표현되는 복제 공간 특징들을 제거하기 위해 하나 이상의 복제 프로세스들을 수행하도록 동작한다. 또한, ADF 클러스터가 과도하게 큰 영역을 나타내거나, 또는 과도하게 많은 수의 공간 특징들을 포함하는 경우에, 병합 모듈(212)은 ADF 클러스터를 하나 이상의 더 작은 ADF 클러스터들로 분할할 수 있으며, 이들 각각은 본원에 설명된 바와 같이 프로세싱될 수 있다. 블록(522)에서, 병합 모듈(212)은 하나 이상의 잘 알려진 루프 결합 알고리즘들을 이용하여 ADF 클러스터의 ADF들 간의 상대적인 정렬을 결정한다. 블록(524)에서, 병합 모듈(212)은 ADF 클러스터를 분석하여, 하나 이상의 안정성 기준을 사용하여 식별된 바에 따라, ADF 클러스터의 ADF들의 대부분 또는 전부에서 신뢰할 수 있게 관찰되지 않는 공간 특징들을 선택적으로 제거한다. 이는 영역의 영구적인 시각적 특징들을 표현하지 않을 가능성이 높은 공간 특징들(및, 따라서 로컬화에 대해 신뢰할 수 없는 소스들)을 제거할 뿐만 아니라, ADF 클러스터에 의해 표현되는 결합된 포인트 클라우드의 공간 특징들의 총 수를 감소시키는데 목적이 있다. 제거할 공간 특징들을 선택함에 있어서, 병합 모듈(212)은, 예컨대, 이들이 ADF 클러스터의 ADF들 내에서 관찰되는 빈도에 기반하여 공간 특징 스코어들을 제공함으로써, 안정성 기준에 기반한 스코어링 시스템을 사용할 수 있다. 또한, 더 새로운 ADF들이 영역의 현재 상태를 표현할 가능성이 더 높기 때문에, 병합 모듈(212)은 더 새로운 ADF들의 공간 특징들에 인클루전 선호를 제공할 수 있다.
일부 예시들에서, ADF가 공급된 비-이미지 센서 데이터(374)는 ADF가 지리좌표화되게 허용할 수 있다. 예컨대, 비-이미지 센서 데이터(374)는 ADF에서 공간 특징들의 검출 시에 모바일 디바이스(104)의 지리좌표화된 포즈의 GPS 좌표 및 표시자를 포함할 수 있다. 블록(522)에서 결정된 ADF 클러스터의 ADF들의 상대적인 정렬을 이용하여, ADF 클러스터의 하나의 ADF가 지리좌표화되면, 블록(526)에서, ADF 클러스터의 다른 ADF들은 지리좌표화된 ADF의 상대적인 정렬 및 지오로케이션 정보를 사용하는 좌표 프레임 변환의 애플리케이션에 기반하여 지리좌표화될 수 있다. 추가적으로, 지리좌표화된 시각적 레퍼런스 데이터가 이를테면 Google Inc.에 의해 제공된 Street View 툴을 통해 이용가능한 경우에, ADF 클러스터의 ADF들은 이러한 지리좌표화된 시각적 레퍼런스 데이터를 사용하여 지리좌표화될 수 있다.
ADF 클러스터의 ADF들이 병합되면, 블록(528)에서, 로컬화 생성 모듈(218)은 병합된 ADF들에 의해 표현되는 영역들에 대한 하나 이상의 LADF들을 생성하기 위해, 병합된 ADF들을 사용한다. 병합된 ADF들의 데이터 사이즈가 충분히 작거나 또는 충분히 작은 영역을 커버하는 경우에, 병합된 ADF들은 단일 LADF로서 저장 및 인덱싱될 수 있다. 그러나, 병합된 ADF들의 데이터 사이즈가 임계치를 초과하고, 병합된 ADF들이 너무 큰 영역을 커버하거나, 또는 영역이 (ADF들의 포인트 클라우드들의 벽들, 파티션들, 도어들, 및 윈도우들을 통해 식별된 바와 같이) 다수의 별개의 서브-영역들을 포함하는 경우에, 로컬화 생성 모듈(218)은 다수의 LADF들을 생성하기 위해, 병합된 ADF들을 공간적으로 파티셔닝할 수 있으며, 각각의 LADF는 상이한 서브-영역을 커버한다. 그러한 예시들에서, 로컬화 생성 모듈(218)은, 이를테면, 병합된 ADF들에 의해 표현되는 포인트 클라우드 내의 벽들 또는 방 칸막이들의 검출에 기반하여 영역 내의 다수의 방들을 식별함으로써 로지컬 파티션 라인들을 식별하고, 각각의 식별된 방에 대한 별개의 LADF를 생성하려고 시도할 수 있으며, 이는, LADF의 범위를 단일 방으로 제한하려는 프라이버시 관점으로부터 부가적인 이익을 갖는다.
생성된 각각의 LADF에 대해, 블록(530)에서, 로컬화 생성 모듈(218)은 인덱싱 및 저장을 위해 LADF를 LADF 데이터저장부(206)에 제공한다. 위에서 언급된 바와 같이 그리고 아래에 더 상세히 설명되는 바와 같이, 일부 실시예들에서, LADF 데이터저장부(206)는 각각의 LADF에 대해 2-계층 인덱스를 이용하며, 그에 의해, 각각의 LADF는, 하나 이상의 위치 표시들 및 LADF에 의해 표현되는 공간 특징들 둘 모두에 의해 인덱싱된다. 그에 따라서, LADF를 LADF 데이터저장부(206)에 저장할 경우, LADF 데이터저장부(206)는 LADF를 그의 위치 표시자(들) 또는 그의 공간 특징 세트(및 그 내의 상대적인 기하구조들) 중 하나에 의해 인덱싱된 데이터저장부 엔트리에 저장하며, 위치 표시자(들) 또는 공간 특징 세트 중 다른 하나는 유사하게 인덱싱된 다수의 LADF들 간에서 선택하는데 사용된다.
방법(500)의 블록(530)에서의 프로세스의 결론으로, ADF 서버(102)는, 영역을 탐색할 기회를 가진 하나 이상의 모바일 디바이스들(104)로부터 업로딩된 하나 이상의 ADF들을 사용하여 이전의 비맵핑된 영역에 대한 하나 이상의 LADF들을 생성한다. 따라서, ADF 서버(102)는 아래의 도 6에 의해 설명된 바와 같이, 제1 시간 동안 이러한 영역을 만나는 임의의 다른 모바일 디바이스에 LADF를 공급하려고 준비한다.
도 6은 적어도 하나의 실시예에 따른, 도 4의 블록(408)에 의해 표현되는 LADF 로컬화 및 업데이트 프로세스를 수행하기 위한 예시적인 방법(600)을 예시한다. 방법(600)은, 모바일 디바이스(104)가 이전에 만나지 않았고 맵핑하지 않았던 영역으로 모바일 디바이스(104)가 진입하는 경우 블록(602)에서 개시한다. 이러한 결정에 대한 응답으로, 모바일 디바이스는 영역에 대한 공간 특징 검출 프로세스를 개시한다. 이를 위해, 모바일 디바이스(104)는, 영역의 화상(382)(도 3)의 캡처를 시작하도록 이미징 센서들(124, 126)을 트리거링하고, 영역에 대한 깊이 정보의 캡처를 시작하도록 깊이 센서(130)를 트리거링하며, 그리고 화상(382) 및 깊이 정보로부터, 공간 특징 검출 모듈(358)은 영역을 표현하는 공간 특징들의 초기 세트를 검출한다. 블록(604)에서, 요청 모듈(360)은, 영역에서의 공간 특징 검출 시에 모바일 디바이스(104)의 위치에 대한 하나 이상의 위치 표시자들을 결정한다. 위에서 언급된 바와 같이, 이 위치 표시자들은 특정 지리적 위치 표시자들, 이를테면 GPS 센서(328)로부터 획득된 GPS 좌표들, 추론 위치 표시자들, 이를테면 WLAN MAC 어드레스들, WLAN BSID들, 또는 셀 타워 BSID들, 또는 이들의 조합일 수 있다. 블록(606)에서, 요청 모듈(360)은, 영역에 대한 LADF의 가용성으로의 질의를 개시하기 위해 LADF 요청(236)을 생성하고 LADF 요청(236)을 송신하도록 초기 공간 특징 세트 및 하나 이상의 위치 표시자들을 사용한다.
네트워크 인터페이스(202)를 통한 ADF 서버(102)의 질의 모듈(220)에서의 LADF 요청(236)의 수신에 대한 응답으로, 블록(608)에서, 질의 모듈(220)은 모바일 디바이스(104)에 의한 사용을 위하여 영역에 적절한 LADF를 식별하도록 LADF 데이터저장부(206)에 질의한다. 적어도 하나의 실시예에서, 질의 모듈(220) 및 LADF 데이터저장부(206)는, 도 10-12를 참조하여 아래에서 상세히 설명되는 바와 같이, 초기 공간 특징 세트 및 위치 표시자들 둘 모두에 기반하여 적절한 LADF를 식별하기 위해 2-계층 인덱싱 방식을 이용한다. 적절한 LADF가 식별된다고 가정하면, 블록(610)에서, 질의 모듈(220)은 (LADF(134)로서) 선택된 LADF를 요청 모바일 디바이스(104)에 송신한다.
LADF 요청(236)에 대한 응답으로 LADF(134)를 수신하는 것에 대한 응답으로, 요청 모듈(360)은 로컬화 모듈(362) 및 피드백 모듈(364) 둘 모두에 LADF(134)를 제공한다. 블록(612)에서, 로컬화 모듈(362)은, 공간 특징 검출 모듈(358)에 의해 검출된 영역으로부터 LADF(134)에서 표현되는 공간 특징들의 저밀도 포인트 클라우드까지의 공간 특징들의 비교들에 기반하여, LADF(134)에서 표현되는 좌표 프레임으로 모바일 디바이스(104)를 로컬화하기 위해 하나 이상의 잘 알려진 루프 결합 알고리즘들을 이용하며, 그 결과는 식별된 좌표 프레임 내의 모바일 디바이스(104)의 결정 포즈(384)(도 3)이다. 추가적으로, LADF가 지리좌표화될 수 있었던 경우에, 결정된 포즈(384)는 마찬가지로, 적절한 변환을 통해 지리좌표화될 수 있다. 로컬화된 모바일 디바이스(104) 및 결정된 포즈(384)를 이용하면, 블록(614)에서, 모바일 디바이스(104)의 하나 이상의 컴포넌트들은 정확한 포즈 정보, 이를테면 AR 또는 VR 콘텐츠의 구현, 다중-플레이어 게임들, 내비게이션 툴들 등에 의존하는 다양한 기능성을 제공할 수 있다.
LADF(134)의 생성은 하나 이상의 모바일 디바이스들(104)에 의해 영역에서 관찰되는 공간 특징들의 검출 및 선택에 의존한다. 그러나, 관찰되는 공간 특징들에 포함되는 일시적 오브젝트들을 영역이 가질 수 있기 때문에, 또는 영역의 구성이 시간에 따라 변화할 수 있기 때문에, LADF(134)는 덜 유용해지거나 또는 "오래된" 것이 될 수 있다. 그에 따라서, 일부 실시예들에서, 사용자 승인에 따라, 모바일 디바이스들(104)은 LADF에 관한 피드백을 제공할 수 있으며, 이 피드백은, 다른 모바일 디바이스들에 의한 후속 사용을 위해 LADF를 정제하거나 또는 "리프레시"하기 위해 ADF 서버(102)에 의해 사용될 수 있다. 이를 위해, 블록(616)에서, 피드백 모듈(364)은, LADF(134)에 의해 표현되는 저밀도 포인트 클라우드의 공간 특징들과 영역에서 공간 특징 검출 모듈(358)에 의해 식별된 공간 특징들을 비교하며, 공간 특징 검출 모듈(358)에 의해 또한 관찰되었던 LADF(134)의 공간 특징들; 공간 특징 검출 모듈(358)에 의해 관찰되지 않았던 LADF(134)의 공간 특징들; 및 LADF(134)에 존재하지 않았던, 공간 특징 검출 모듈(358)에 의해 관찰된 공간 특징들 중 하나 이상을 표현하는 LADF 피드백(238)을 생성할 수 있다. LADF 피드백(238)은 ADF 서버(102)에 업로딩된다. 블록(618)에서, 공간 특징 필터 모듈(216)은 LADF 피드백(238)을 수신하고, 그에 따라서 공간 특징들의 특징 스코어들을 특징 스코어 데이터저장부(208)에 업데이팅하며, 그런다음, 업데이팅된 특징 스코어들에 기반하여, 새로운 공간 특징들을 포함시키기 위해 또는 이전에 포함된 공간 특징들을 제거하기 위해, LADF를 업데이팅할 수 있다.
도 7-9는 적어도 하나의 실시예에 따른, LADF 피드백(238)에 기반하여 LADF(134)를 정제하는 프로세스의 예를 함께 예시한다. 초기에, LADF(134)에서 표현되는 모든 공간 특징들에 초기 특징 스코어가 제공되며, 이 초기 특징 스코어는, LADF(134)의 모든 공간 특징들에 대해 동일할 수 있거나, 또는 공간 특징의 하나 이상의 특성들에 기반할 수 있다. 예컨대, ADF 클러스터 ― 이 ADF 클러스터로부터 LADF(134)가 생성되었음 ― 의 ADF들에서 공간 특징이 나타난 횟수에 기반하여, 이 공간 특징에 초기 특징 스코어가 할당될 수 있다. 다음의 설명을 위해, 더 높은 특징 스코어가 더욱 신뢰성 있는 공간 특징을 반영하며, 역으로 더 낮은 특징 스코어가 덜 신뢰성 있는 공간 특징을 표시한다는 것이 가정된다. 모바일 디바이스(104)에 의해 공급되는 LADF 피드백(238)은 하나 이상의 엔트리들을 포함할 수 있으며, 각각의 엔트리는, 모바일 디바이스(104)에 의해 LADF(134)에 존재하는 공간 특징의 관찰을 확인하거나, 모바일 디바이스에 의해 LADF(134)에 존재하는 공간 특징의 관찰을 부인하거나, 또는 모바일 디바이스(104)에 의해 관찰되지만 LADF(134)에 존재하지 않는 새로운 공간 특징을 제안한다. 따라서, 공간 특징들의 특징 스코어들은 그들이 표현하는 피드백 타입 및 엔트리들에 기반하여 조정될 수 있다.
도 7의 방법(700)은 LADF 피드백(238)의 각각의 엔트리에 대해 ADF 서버(102)에 의해 구현되는 프로세싱을 표현한다. 블록(702)에서, 공간 특징 필터 모듈(216)은, 선택된 엔트리에 의해 표현되는 피드백의 타입을 결정하기 위해, LADF 피드백(238)의 이 선택된 엔트리에 액세스한다. 모바일 디바이스(104)가 LADF(134)의 대응하는 공간 특징을 관찰했다는 것을 피드백 엔트리가 확인해 주는 경우에, 블록(704)에서, 공간 특징 필터 모듈(216)은 피드백 엔트리에 표현되는 공간 특징의 식별에 관련된 하나 이상의 파라미터들, 이를테면, 모바일 디바이스(104)에 의한 공간 특징의 관찰 시간을 표시하는 타임 스탬프를 추출하며, 추출된 파라미터들을 특징 스코어 데이터저장부(208)에 레코딩한다. 추가로, 블록(706)에서, 공간 특징 필터 모듈(216)은 대응하는 공간 특징에 대한 특징 스코어를, 그것의 최근 관찰을 반영하기 위해 증가시킨다.
블록(702)을 다시 참조하면, 모바일 디바이스(104)가 LADF(134)에 표현되는 공간 특징을 관찰하지 않았다는 것을 피드백 엔트리가 표시하는 경우에, 블록(708)에서, 공간 특징 필터 모듈(216)은 피드백 엔트리에 표현되는 공간 특징의 식별에 관련된 하나 이상의 파라미터들, 이를테면, 공간 특징이 관찰되었어야 했지만 관찰되지 않았던 지역의 화상을 모바일 디바이스(104)가 캡처했던 시간을 표시하는 타임 스탬프를 추출하며, 추출된 파라미터들을 특징 스코어 데이터저장부(208)에 레코딩한다. 추가로, 블록(710)에서, 공간 특징 필터 모듈(216)은 대응하는 공간 특징에 대한 특징 스코어를, 그것의 놓친 관찰을 반영하기 위해 감소시킨다.
다시 블록(702)을 다시 참조하면, 모바일 디바이스(104)가 LADF(134)에 표현되지 않은 공간 특징을 신뢰성 있게 관찰했다는 것을 피드백 엔트리가 표시하는 경우에, 블록(712)에서, 공간 특징 필터 모듈(216)은 피드백 엔트리에 표현되는, 이전에 관찰되지 않은 공간 특징의 식별에 관련된 하나 이상의 파라미터들, 이를테면, 모바일 디바이스(104)가 공간 특징을 처음으로 또는 마지막으로 관찰했던 시간을 표시하는 타임 스탬프, 공간 특징의 관찰 빈도수(예컨대, 공간 특징을 포함하는 지역의 방향으로 모바일 디바이스(104)가 배향되었을 때 공간 특징이 관찰되었던 횟수들의 퍼센테이지) 등을 추출하며, 추출된 파라미터들을 특징 스코어 데이터저장부(208)에 레코딩한다. 추가로, 블록(714)에서, 공간 특징 필터 모듈(216)은 대응하는 공간 특징에 대한 특징 스코어를 특징 스코어 데이터저장부(208)에 생성하며, 공간 특징이 특징 스코어 데이터저장부(208)에서 이미 표현되는 것이 아니라면, 초기 값을 특징 스코어에 할당한다. 그렇지 않은 경우, 새롭게 관찰된 공간 특징에 대한 특징 스코어가 이미 존재하면(즉, 공간 특징이 다른 모바일 디바이스(104)에 의해 이전에 또한 관찰되었다면), 공간 특징 필터 모듈(216)은 공간 특징에 대한 특징 스코어를 증가시킨다. 그런다음, 방법(700)은, LADF 피드백(238)의 다음 엔트리에 대해 프로세스를 반복하기 위해 블록(702)으로 리턴한다.
도 8은 적어도 일 실시예에 따라 LADF(134)에 포함시키기 위한 후보 공간 특징을 평가하기 위한 예시적인 방법(800)을 예시한다. 위에서 설명된 바와 같이, 모바일 디바이스들(104)은 영역에 대한 LADF(134)에 포함시키기 위한 후보들일 수 있는, 영역 내의 새롭게 관찰된 공간 특징들을 식별하는 LADF 피드백(238)을 제공할 수 있고, 공간 특징 필터 모듈(216)은, 공간 특징이 처음 검출될 때 특징 스코어를 생성하고 동일한 공간 특징이 다른 모바일 디바이스(104)에 의해 관찰될 때마다 특징 스코어를 증가시킬 수 있다. 따라서, 이 공간 특징들의 각각에 대한 특징 스코어는 LADF(134)에 포함시키기 위한 공간 특징의 후보의 생존도에 대한 표시자(즉, 로컬화를 목적으로 공간 특징이 얼마나 "신뢰적"인지)로서 기능한다. 따라서, 특정 임계치를 초과하는 LADF(134)의 에이징과 같은 트리거 조건에 대한 응답으로 또는 LADF(134)에 대한 수정이 보증될 것임을 표시하는 모바일 디바이스들(104)로부터의 충분한 피드백에 대한 응답으로, 블록(802)에서, 공간 특징 필터 모듈(216)은 특징 스코어 데이터저장부(208)로부터 LADF(134)에 포함시키는 것을 고려 중인 후보 공간 특징들 중 하나를 선택하고, 블록(804)에서, 공간 특징 필터 모듈(216)은 선택된 후보 공간 특징의 특징 스코어를 "THRESH_H"라고 지정된 특정된 임계치와 비교한다. 이 임계치는 고정 임계치일 수 있거나, 또는 하나 이상의 현재 조건들에 기반할 수 있다. 예컨대, 일 실시예에서, 임계치 THRESH_H는 LADF(134)에 현재 포함된 공간 특징들에 대한 중간 현재 특징 스코어로 세팅될 수 있다.
후보 공간 특징의 특징 스코어가 임계치 THRESH_H를 초과하지 않는 경우, 공간 특징 필터 모듈(216)은 (평가의 현재 라운드에서) 후보 공간 특징의 임의의 추가적인 고려를 중지하고, 방법(800)은 다음 후보 공간 특징의 선택을 위해 블록(802)으로 리턴한다. 그렇지 않으면, 특징 스코어가 임계치 THRESH_H를 초과하면, 블록(806)에서, 공간 특징 필터 모듈(216)은 선택된 후보 공간 특징을 LADF(134)에 포함시키기 위해 로컬화 생성 모듈(218)에 시그널링한다. 일부 실시예들에서, 새로운 공간 특징을 LADF(134)에 포함시키는 것은 LADF(134)로부터 다른 공간 특징의 제거를 요구할 수 있다. 그러한 경우들에서, 공간 특징 필터 모듈(216)은, 예컨대, LADF(134)에 현재 포함된 공간 특징들 모두의 가장 낮은 특징 스코어를 갖는 공간 특징을 선택할 수 있다. 후보 공간 특징을 LADF(134)에 포함시킨 이후에, 방법(800)은 다음 후보 공간 특징의 선택 및 평가를 위해 블록(802)으로 리턴한다.
도 9는 적어도 일 실시예에 따라 LADF(134)로부터 제거하기 위한 공간 특징을 평가하기 위한 예시적인 방법(900)을 예시한다. 위에서 설명된 바와 같이, 모바일 디바이스들(104)은 LADF(134)의 공간 특징들이 모바일 디바이스(104)에 의해 관찰되었는지 여부를 확인하는 LADF 피드백(238)을 제공할 수 있고, 그에 따라서, 공간 특징 필터 모듈(216)은 공간 특징들의 특징 스코어들을 조정할 수 있다. 따라서, 이 공간 특징들의 각각에 대한 특징 스코어는 로컬화를 목적으로 공간 특징의 현재 신뢰성에 대한 표시자로서 기능한다. 그에 따라서, 트리거 조건에 대한 응답으로, 블록(902)에서, 공간 특징 필터 모듈(216)은 LADF(134)에 현재 포함된 공간 특징을 선택하고, 블록(904)에서, 공간 특징 필터 모듈(216)은 선택된 공간 특징의 특징 스코어를 "THRESH_L"로 지정된 특정된 임계치와 비교한다. 이 임계치는 고정 임계치일 수 있거나, 또는 하나 이상의 현재 조건들에 기반할 수 있다. 예컨대, 일 실시예에서, 임계치 THRESH_L은 LADF(134)에 현재 포함되지 않은 후보 공간 특징들에 대한 중간 현재 특징 스코어로 세팅될 수 있다.
후보 공간 특징의 특징 스코어가 임계치 THRESH_L을 초과하는 경우, 공간 특징 필터 모듈(216)은 (평가의 현재 라운드에서) 선택된 공간 특징의 임의의 추가적인 고려를 중지하고, 방법(900)은 LADF(134)에서 다음 공간 특징의 선택을 위해 블록(902)으로 리턴한다. 그렇지 않으면, 특징 스코어가 임계치 THRESH_L 미만으로 떨어지면, 블록(906)에서, 공간 특징 필터 모듈(216)은 선택된 공간 특징을 LADF(134)로부터 제거하기 위해 로컬화 생성 모듈(218)에 시그널링한다. 일부 실시예들에서, LADF(134)로부터의 공간 특징의 제거는 제거된 공간 특징을 대체하기 위해 다른 공간 특징의 선택을 요구할 수 있으며, 따라서, 도 8의 방법(800)의 후보 공간 특징 평가 프로세스를 개시하기 위해 트리거 조건으로서 기능한다. 선택된 공간 특징을 LADF(134)로부터 제거한 이후에, 방법(900)은 LADF(134) 내의 다음 공간 특징의 선택 및 평가를 위해 블록(902)으로 리턴한다.
ADF 서버(102)에 의해 유지되는 LADF들은 세계의 영역의 시각적 특징들 및 기하학적 정보의 표현들을 포함한다. 이 정보는 잠재적으로 민감하고, 따라서, ADF 서버(102)는 LADF 데이터저장부(206)에 저장된 LADF 콘텐츠 및 ADF 데이터저장부(204)(이는 동일한 구현들에서 동일한 데이터저장부를 포함할 수 있음)에 저장된 ADF 콘텐츠에 비인가된 또는 비의도된 액세스를 방지하는데 주의한다. 이를 위해, ADF 서버(102)는 LADF 데이터저장부(206)의 LADF 콘텐츠에 대해 2-계층 인덱싱 방식의 형태로 프라이버시 세이프가드를 사용한다. 도 10-12는 이 2-계층 인덱싱 방식에 따라 질의 모듈(220) 및 LADF 데이터저장부(206) 및 이들의 동작들의 예시적인 구성을 예시한다. ADF 데이터저장부(204)는 아래에 설명되는 방식으로 유사하게 구성될 수 있다.
도 10은 질의 모듈(220) 및 LADF 데이터저장부(206)에 의해 구현되는 예시적인 2-계층 질의 인터페이스(1000)를 예시한다. 도시된 바와 같이, 데이터저장부(206)에 의해 저장된 각각의 LADF(예컨대, LADF(134))는 LADF 데이터저장부(206)로 구현되는 LADF 데이터베이스(1004)의 대응하는 LADF 엔트리(1002)에 저장된다. 각각의 LADF 엔트리(1002)는, 그에 저장된 LADF와 연관된 UID를 저장하기 위한 UID 필드(1006), LADF에 의해 현재 표현되는 공간 특징들의 세트를 저장하기 위한 공간 특징 필드(1008), 및 LADF와 연관된 위치 표시자 또는 다른 위치 데이터를 저장하기 위한 위치 필드(1010)를 포함하는 복수의 필드들을 포함한다.
적절한 세이프가드들이 없으면, 비인가된 측은 LADF 데이터저장부(206)로부터 LADF(134)를 획득하는 것이 가능할 수 있고, 결국 잠재적으로 민감한 정보의 노출 위험에 처할 수 있다. 2-계층 질의 인터페이스(1000)는, 요청 모바일 디바이스(104) 또는 다른 요청자가 이들이 요청된 LADF와 연관된 영역에 있는 것을(또는 있었다는 것을) 입증하도록 요구함으로써, LADF 데이터저장부(206)의 LADF 데이터를 더 완전히 보안할 수 있다. GPS 좌표들과 같은 일부 위치 표시자들은 쉽게 스푸핑될 수 있거나, 또는 그렇지 않으면 위조될 수 있다. 추가로, WLAN MAC 어드레스들 또는 셀 타워 BSID들과 같은 다른 타입들의 위치 표시자들은 관심 영역보다 훨씬 큰 지역들을 커버할 수 있고, 그에 따라, 충분한 입도가 결핍될 수 있다. 그에 따라, 위치 표시자들 단독으로는 요청 모바일 디바이스가 특정된 영역에 사실상 있는 것에 대한 충분한 증명되지 않을 수 있다. 따라서, 대신에, 질의 인터페이스(1000)는, 모바일 디바이스(104)가 특정 영역에서 모바일 디바이스(104)에 의해 관찰되는 공간 특징들의 세트를 제출하도록 요구함으로써, 모바일 디바이스(104)가 특정된 영역에 있는 것에 대한 증명을 요구할 수 있다. 이어서, 질의 인터페이스(1000)는 매칭 LADF를 식별하기 위해, LADF 엔트리들의 공간 특징들과 공간 특징들의 이 세트를 비교할 수 있다. 그러나, 다수의 영역들이 유사한 구조적 구성들(예컨대, 오피스 빌딩 내의 유사한 방들)을 갖고, 그에 따라, 다수의 LADF들이 공간 특징들의 제출된 세트와 적절하게 매칭될 수 있는 위험이 존재하고, 그에 따라, 부정확한 LADF가 요청 모바일 디바이스에 공급될 수 있는데, 이는 잠재적인 프라이버시 침해를 나타낼 뿐만 아니라 로컬화에 대한 부정확한 레퍼런스를 모바일 디바이스(104)에 제공하기 때문에, 두배로 문제가 된다.
따라서, 모바일 디바이스가 자신이 존재한다고 표현하는 영역에 모바일 디바이스가 사실상 있는 것을 보장하기 위해, 그리고 모바일 디바이스에 정확한 LADF가 공급되는 것을 보장하기 위해, 질의 인터페이스(1000)는 LADF 데이터베이스(1004)로부터 정확한 LADF를 식별하기 위해, 모바일 디바이스에 의해 제출된 하나 이상의 위치 표시자들 및 공간 특징들의 세트 양자 모두를 활용한다. 이 접근법 하에서, 모바일 디바이스 또는 다른 요청자는, 식별된 영역에서 관찰되는 공간 특징들을 제출함으로써, 요청자가 식별된 영역에 있는 것을 입증하고, 그에 따라, 식별된 영역에 대한 LADF의 릴리즈는 잠재적으로 민감한 정보의 비의도된 공개의 위험이 낮은데, 이는, 공급되는 LADF에 의해 표현되는 시각적 정보보다 엄청 훨씬 더 구체적인 시각적 정보를 획득하기 위해, 요청자가 단순히 표시된 영역 주위를 둘러보면되기 때문이라는 것이 인지되어야 한다.
이를 위해, 질의 모듈(220)은 공간 특징 질의 인터페이스(1012) 및 위치 선택 모듈(1014)을 포함한다. 공간 특징 질의 인터페이스(1012)는, 모바일 디바이스(104)에 의해 제출된 LADF 요청(236)에서의 공간 특징 세트(1016)를 사용하여, LADF 데이터베이스(1004)의 LADF 엔트리들(1002)의 공간 특징 필드들(1008)의 탐색에 기반하여, 후보 LADF들의 초기 질의를 수행한다. 이 탐색은 LADF 데이터베이스(1004)에서의 공간 특징들에 대하여 일관성을 체크하기 위해, 공간 특징들이 LADF 요청(236)에 의해 표현되는 이미지로 투영되므로, 공간 특징들의 상대적인 기하구조를 고려한다. 이어서, 위치 선택 모듈(1014)은 후보 LADF들의 위치 필드들(1010)에서의 각각의 LADF에 대한 위치 정보와 LADF 요청(236)과 함께 제출된 하나 이상의 위치 표시자(1018)의 비교들에 기반하여, 식별된 후보 LADF들로부터 선택한다.
추가로, 위치 표시자, 또는 공간 특징들의 세트 이외의 다른 키를 사용하여 LADF 엔트리들(1002)의 탐색 또는 다른 액세스를 방지하기 위해, 일부 실시예들에서, LADF 데이터저장부(206)는 공간 특징 필드들(1008)에 의해 LADF 엔트리들(1002)을 인덱싱하도록 구성되고, 추가로, 위치 필드들(1010)에 의한 LADF 엔트리들(1002)의 인덱싱을 피하도록 구성된다. 이 구성에서, LADF 데이터베이스(1004)의 LADF 엔트리들(1002)은 LADF들의 공간 특징 세트들을 통해 탐색가능하지만, 위치에 의해 초기에 탐색될 수 없다. 이 방식으로, 위치 표시자 단독의 개진은 LADF 데이터베이스(1004)로부터의 임의의 LADF들(134)의 식별 또는 생성을 야기하지 않을 것이다.
도 11은 본 개시내용의 적어도 하나의 실시예에 따른, 도 10의 2-계층 질의 인터페이스(1000)의 동작의 예시적인 방법(1100)을 예시한다. 방법(1100)은 블록(1102)에서 모바일 디바이스 또는 다른 요청자로부터의 표시된 영역에 대한 LADF 요청(236)의 제출로 시작한다. 적어도 하나의 실시예에서, 프로세싱을 위한 LADF 요청(236)을 수용하기 위해, ADF 서버(102)는, 표시된 영역에서 모바일 디바이스에 의해 획득 또는 결정된 하나 이상의 위치 표시자들(1018), 및 표시된 영역에서 관찰되는 적어도 공간 특징 세트(1016)를 LADF 요청(236)이 포함하도록 요구한다.
블록(1104)에서, 공간 특징 질의 인터페이스(1012)는, LADF 요청(236)의 공간 특징 세트(1016)와 충분히 오버랩하는 공간 특징 필드들(1008)에서의 공간 특징 세트들을 갖고, 공간 특징 세트(1016)의 투영된 공간 특징들의 기하구조들과 일치하는 상대적인 기하구조들을 갖는 LADF 엔트리들(1002)을 발견하기 위해, LADF 데이터베이스(1004)의 LADF 엔트리들(1002)을 탐색한다. 일 실시예에서, 분석된 각각의 LADF 엔트리(1002)에 대해, 공간 특징 질의 인터페이스(1012)는, LADF 엔트리(1002)의 공간 특징 필드(1008)와 공간 특징 세트(1016) 간의 매칭 공간 특징들의 카운트를 결정할 수 있다. 이어서, 공간 특징 질의 인터페이스(1012)는 LADF 엔트리들(1002)에 대해 결정된 카운트 값들에 기반하여 N개의 후보 LADF들(예컨대, 도 10의 후보 LADF들(1021, 1022, 1023))을 선택할 수 있다. 예컨대, 일부 인스턴스들에서, 특정된 임계치보다 큰 카운트를 갖는 모든 각각의 LADF가 후보 LADF로서 선택될 수 있다. 다른 인스턴스들에서, 공간 특징 질의 인터페이스(1012)는 가장 높은 카운트 값들을 갖는 N개의 LADF들을 N개의 후보 LADF들로서 선택할 수 있다.
블록(1106)에서, 공간 특징 질의 인터페이스(1012)는 적어도 하나의 후보 LADF가 LADF 데이터베이스(1004)로부터 식별된 것을 검증한다. 그렇지 않은 경우에, 블록(1108)에서, 질의 모듈(220)은 LADF가 표시된 영역에 대해 이용가능하지 않다고 요청 모바일 디바이스에 시그널링한다. 그렇지 않으면, 하나 이상의 식별된 후보 LADF들이 (예컨대, 후보 LADF들의 UID들을 식별함으로써) 위치 선택 모듈(1014)에 공급되고, 블록(1110)에서, 위치 선택 모듈(1014)은, 하나 이상의 위치 표시자들(1018)과 각각의 후보 LADF 간의 매칭을 스코어링하기 위해, 후보 LADF들의 위치 필드들(1010)에 의해 표시된 위치들과 LADF 요청(236)의 하나 이상의 위치 표시자들(1018)을 비교한다. 블록(1112)에서, 위치 선택 모듈(1014)은 후보 LADF들 중 하나의 위치 정보와 하나 이상의 위치 표시자들(1018) 간에 충분한 매칭이 존재하는지 여부를 검증한다. 그렇지 않은 경우에, 블록(1114)에서, 질의 모듈(220)은 LADF가 표시된 영역에 대해 이용가능하지 않다고 요청 모바일 디바이스에 시그널링한다. 그렇지 않으면, 블록(1116)에서, 위치 선택 모듈(1014)은 식별된 영역에 코-로케이팅된 LADF로서 최상의 위치 매치 스코어를 갖는 후보 LADF를 선택하고, LADF 요청(236)에 대한 응답으로, 이 선택된 LADF를 영역에 대한 LADF(134)로서 모바일 디바이스에 제공한다.
LADF 데이터베이스(1004)의 LADF들로의 비인가된 또는 비의도된 액세스에 대한 보호를 제공하는 것에 더해, 모바일 디바이스에 의해 검출된 공간 특징들 및 그들의 기하구조를 사용하여 LADF 질의를 수행하는 것은 2-스테이지 질의 프로세스를 통해 궁극적으로 선택된 LADF가 모바일 디바이스로 하여금 매칭 LADF를 사용하는 것을 성공적으로 로컬화하도록 허용할 것임을 보장한다. 이는, LADF 질의 프로세스의 제1 스테이지가 관찰된 공간 특징들 및 그들의 이미지 기하구조를 LADF에서 사용하여 LADF와 관련하여 모바일 다비이스의 포즈를 발견하도록 모바일 디바이스에서 수행되는 로컬화 프로세스와 동일한 또는 유사한 "로컬화" 프로세스를 후보 LADF들을 식별하기 위해 수행하기 때문이다.
도 12는 적어도 하나의 실시예에 따라 2-계층 질의 인터페이스(1000)의 대안적인 구성을 예시한다. 도 10에 도시된 구현에서와 같이, LADF 데이터저장부(206)는 복수의 LADF 엔트리들(1202)을 포함하는 LADF 데이터베이스(1204)를 구현하며, 각각의 LADF 엔트리(1202)는 UID 필드(1006), 공간 특징 필드(1008), 및 위치 필드(1010)를 갖는다. 그러나, 도 10의 구현과는 대조적으로, LADF 데이터베이스(1204)는 위치 필드(1010)에 기반하여 LADF 엔트리들(1202)을 대신 인덱싱한다. 게다가, 이 실시예에서, 질의 모듈(220)은 LADF 데이터베이스(1204)에 대한 위치 질의 인터페이스(1212) 및 공간 특징 선택 모듈(1214)를 포함한다.
도시된 구현에서, LADF에 대한 2-계층 질의는 일 세트의 하나 이상의 후보 LADF들을 식별하기 위해 LADF 요청(236)의 하나 이상의 위치 표시자들(1018)에 충분히 매칭하는 위치 정보를 갖는 LADF들에 대한 위치 질의 인터페이스(1212)에 의해 LADF 엔트리들(1202)의 제1 계층 검색으로서 구현된다. 그후, 공간 특징 선택 모듈(1214)은 LADF 요청(236)에 대한 응답으로 요청 모바일 디바이스에 공급될 LADF(134)로서 공간 특징 세트(1016)에 가장 잘 매칭하는 후보 LADF를 선택하기 위해 LADF 요청(236)의 공간 특징 세트(1016)를 비교한다.
위에 설명된 본 발명의 기능 및 많은 본 발명의 원리들 대부분은 IC(integrated circuit)들, 이를테면, ASIC(application specific IC)들에서 또는 이들과 함께 구현하기에 매우 적합하다. 본원에 개시된 개념들 및 원리들에 의해 안내될 때, 예컨대, 가용 시간, 현재 기술, 및 경제적인 고려사항들에 의해 동기부여된 가능한 상당한 노력 및 많은 디자인 선택들에도 불구하고 당업자는 최소한의 실험으로 이러한 IC들을 용이하게 생성할 수 있을 것으로 기대된다. 따라서, 본 개시내용에 따른 원리들 및 개념들을 모호하게 하는 임의의 위험을 최소화하고 간략화하기 위해, 이러한 소프트웨어 및 IC들에 대한 추가적인 논의는, 만약 존재한다면, 바람직한 실시예들 내에서 원리들 및 개념들과 관련하여 본질적인 사항들로 제한될 것이다.
이 문헌에서, 제1 및 제2 등과 같은 관계적 용어들은, 하나의 엔티티 또는 액션을 다른 엔티티 또는 액션들과 구별하기 위해, 이러한 엔티티들 또는 액션들 사이에서 임의의 실제 이러한 관계 또는 순서를 필수적으로 요구하거나 또는 함축하지 않으면서 단독으로 사용될 수 있다. 용어들 "포함하다(comprises)", "포함하는(comprising)" 또는 임의의 다른 그들의 변형은 비-독점적인 포함을 커버하도록 의도되어, 엘리먼트들의 리스트를 포함하는 프로세스, 방법, 물품, 또는 장치가 오직 이러한 엘리먼트들만을 포함하지 않고 이러한 프로세스, 방법, 물품, 또는 장치에 대해서 명료하게 열거되지 않거나 또는 이들에 대해 고유하지 않은 다른 엘리먼트들을 포함할 수 있다. "~를 포함한다"의 대상이 되는 엘리먼트는, 더 많은 제약들 없이, 그 엘리먼트를 포함하는 프로세스, 방법, 물품, 또는 장치에서의 부가적인 동일한 엘리먼트들의 존재를 배제하지 않는다. 본원에 사용된 것과 같은 용어 "다른(another)"은 적어도 제2 또는 그 이상인 것으로 정의된다. 본원에 사용된 것과 같은 용어들 "포함하는(including)" 및/또는 "갖는(having)"은 포함하는(comprising)으로서 정의된다. 본원에서 전기-광학 기술과 관련하여 사용된 것과 같은 용어 "커플링된(coupled)"은, 반드시 직접적일 필요는 없으며 반드시 기계적일 필요는 없지만 연결된 것으로서 정의된다. 본원에서 사용된 것과 같은 용어 "프로그램(program)"은 컴퓨터 시스템 상에서 실행하기 위해 설계된 명령들의 시퀀스로서 정의된다. "프로그램", 또는 "컴퓨터 프로그램"은 서브루틴, 기능, 절차, 오브젝트 방법, 오브젝트 구현, 실행가능한 애플리케이션, 애플릿, 서블릿, 소스 코드, 오브젝트 코드, 공유 라이브러리/동적 로드 라이브러리 및/또는 컴퓨터 시스템 상에서 실행하기 위해 디자인된 다른 명령들의 시퀀스들을 포함할 수 있다.
명세서 및 도면들은 오직 예들로서 고려되어야만 하며, 이에 따라 본 개시내용의 범위는 오직 후술하는 청구항들 및 그들의 등가물들에 의해서만 제한된 것으로 의도된다. 일반적인 설명에서 위에 설명된 활동들 또는 엘리먼트들 전부가 요구되는 것은 아니고, 특정 활동 또는 디바이스의 일부분이 요구되지 않을 수도 있으며, 설명된 것들에 부가하여 하나 이상의 부가적인 활동들이 수행될 수도 있고, 하나 이상의 부가적인 엘리먼트들이 포함될 수도 있음에 유의한다. 또한 게다가, 활동들이 열거되는 순서는 반드시 이들이 수행되는 순서는 아니다. 위에 묘사된 흐름도들의 단계들은 달리 명시되지 않는 한 임의의 순서일 수 있으며, 단계들은 구현에 따라 제거, 반복, 및/또는 부가될 수 있다. 또한, 개념들은 특정 실시예들과 관련하여 설명되었다. 그러나, 당업자는, 이하의 청구항들에 설명되는 바와 같은 본 개시내용의 범위로부터 벗어나지 않고 다양한 변형들 및 변화들이 이행될 수 있음을 인식한다. 이에 따라, 명세서 및 도면들은 제한적인 의미라기 보다는 예시적인 의미인 것으로 간주되며, 모든 이러한 변형들은 본 개시내용의 범위 내에 포함되도록 의도된다.
이익들, 다른 이점들, 및 문제들에 대한 해결책들은 특정 실시예들과 관련하여 위에 설명되었다. 그러나, 이익들, 이점들, 문제점들에 대한 해결책들, 및 임의의 이익, 이점, 또는 해결책들이 더 많이 표명되거나 발생하게 할 수 있는 임의의 특징(들)이 임의의 또는 전체 청구항들의 중요한, 요구되는, 또는 필수적인 특징인 것으로서 해석되어서는 안된다.

Claims (22)

  1. 방법으로서,
    복수의 로컬화 영역 설명 파일들을 컴퓨팅 시스템의 데이터저장부에 저장하는 단계 ― 각각의 로컬화 영역 설명 파일은 대응하는, 하나 이상의 모바일 디바이스들에 의해 캡처된 화상(imagery)에서 검출된 공간 특징들의 세트, 공간 특징들의 상대적 기하구조(relative geometry), 및 상기 공간 특징들의 세트와 연관된 위치를 식별하는 위치 정보를 나타냄 ―;
    제1 모바일 디바이스로부터 로컬화 영역 설명 파일에 대한 요청을 상기 컴퓨팅 시스템에서 수신하는 단계 ― 상기 요청은 상기 제1 모바일 디바이스에 의해 캡처된 화상에서 검출된 공간 특징들의 세트 및 적어도 하나의 비-이미지 위치 표시자를 포함함 ―;
    상기 요청의 적어도 하나의 위치 표시자 및 상기 요청의 공간 특징들의 세트 중 하나에 기반하여 상기 데이터저장부로부터 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하는 단계;
    상기 요청의 적어도 하나의 위치 표시자 및 상기 요청의 공간 특징들의 세트 중 다른 하나에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트로부터 로컬화 영역 설명 파일을 선택하는 단계;
    상기 요청에 대한 응답으로, 선택된 로컬화 영역 설명 파일을 상기 제1 모바일 디바이스에 제공하는 단계; 및
    상기 제1 모바일 디바이스에 의해 캡처된 화상에서 검출된 공간 특징들의 세트 및 공간 특징들의 상대적 기하구조와, 상기 선택된 로컬화 영역 설명 파일의 공간 특징들의 세트 및 공간 특징들의 상대적 기하구조의 비교에 기초하여, 상기 제1 모바일 디바이스의 현재 배향 및 위치를 로컬화하는 단계
    를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 위치 표시자는 상기 제1 모바일 디바이스의 지리적 위치의 표시자를 포함하는,
    방법.
  3. 제2항에 있어서,
    상기 적어도 하나의 위치 표시자는 무선 기지국과 연관된 식별자를 포함하는,
    방법.
  4. 제1항에 있어서,
    상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하는 단계는 상기 요청의 공간 특징들의 세트에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하는 단계를 포함하고; 그리고
    상기 로컬화 영역 설명 파일을 선택하는 단계는 상기 요청의 적어도 하나의 위치 표시자에 기반하여 상기 로컬화 영역 설명 파일을 선택하는 단계를 포함하는,
    방법.
  5. 제4항에 있어서,
    상기 요청의 공간 특징들의 세트에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하는 단계는:
    상기 복수의 로컬화 영역 설명 파일들의 각각의 로컬화 영역 설명 파일에 대해, 상기 요청의 공간 특징들의 세트의 공간 특징들에 매칭하는 로컬화 영역 설명 파일의 공간 특징들의 수에 기반하여 제1 스코어를 결정하는 단계; 및
    상기 복수의 로컬화 영역 설명 파일들의 각각의 로컬화 영역 설명 파일에 대해 결정된 제1 스코어에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 선택하는 단계를 포함하는,
    방법.
  6. 제5항에 있어서,
    상기 로컬화 영역 설명 파일에 대해 상기 제1 스코어를 결정하는 단계는 루프 결합 알고리즘을 사용하여 상기 제1 스코어를 결정하는 단계를 포함하는,
    방법.
  7. 제5항에 있어서,
    상기 적어도 하나의 위치 표시자에 기반하여 상기 로컬화 영역 설명 파일을 선택하는 단계는:
    각각의 후보 로컬화 영역 설명 파일에 대해, 상기 요청의 하나 이상의 위치 표시자들 중 한 위치 표시자에 대응하는 로컬화 영역 설명 파일의 위치 정보에 의해서 표현되는 위치 표시자들의 수에 기반하여 제2 스코어를 결정하는 단계; 및
    상기 각각의 후보 로컬화 영역 설명 파일에 대해 결정되는 상기 제2 스코어에 기반하여 상기 로컬화 영역 설명 파일을 선택하는 단계를 포함하는,
    방법.
  8. 제1항에 있어서,
    상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하는 단계는 상기 요청의 하나 이상의 위치 표시자들에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하는 단계를 포함하고; 그리고
    상기 로컬화 영역 설명 파일을 선택하는 단계는 상기 요청의 공간 특징들의 세트에 기반하여 상기 로컬화 영역 설명 파일을 선택하는 단계를 포함하는,
    방법.
  9. 제8항에 있어서,
    상기 요청의 하나 이상의 위치 표시자들에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하는 단계는:
    상기 복수의 로컬화 영역 설명 파일들의 각각의 로컬화 영역 설명 파일에 대해, 상기 요청의 하나 이상의 위치 표시자들 중 한 위치 표시자에 대응하는 로컬화 영역 설명 파일의 위치 정보에 의해서 표현되는 위치 표시자들의 수에 기반하여 제1 스코어를 결정하는 단계; 및
    상기 복수의 로컬화 영역 설명 파일들의 각각의 로컬화 영역 설명 파일에 대해 결정되는 상기 제1 스코어에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 선택하는 단계를 포함하는,
    방법.
  10. 제9항에 있어서,
    상기 요청의 공간 특징들의 세트에 기반하여 상기 로컬화 영역 설명 파일을 선택하는 단계는:
    각각의 후보 로컬화 영역 설명 파일에 대해, 상기 요청의 공간 특징들의 세트의 공간 특징들에 매칭하는 후보 로컬화 영역 설명 파일의 공간 특징들의 수에 기반하여 제2 스코어를 결정하는 단계; 및
    상기 각각의 후보 로컬화 영역 설명 파일에 대해 결정되는 상기 제2 스코어에 기반하여 상기 로컬화 영역 설명 파일을 선택하는 단계를 포함하는,
    방법.
  11. 컴퓨팅 시스템으로서,
    복수의 로컬화 영역 설명 파일들을 저장하기 위한 데이터저장부 ― 각각의 로컬화 영역 설명 파일은 대응하는, 하나 이상의 모바일 디바이스들에 의해 캡처된 화상에서 검출된 공간 특징들의 세트, 공간 특징들의 상대적 기하구조, 및 상기 공간 특징들의 세트와 연관된 위치를 식별하는 위치 정보를 나타냄 ―;
    제1 모바일 디바이스로부터 로컬화 영역 설명 파일에 대한 요청을 수신하기 위한 네트워크 인터페이스 ― 상기 요청은 상기 제1 모바일에 의해 캡처된 화상에서 검출된 공간 특징들의 세트 및 적어도 하나의 비-이미지 위치 표시자를 포함함 ―; 및
    상기 데이터저장부 및 상기 네트워크 인터페이스에 커플링되고, 상기 요청에 대한 응답으로, 선택된 로컬화 영역 설명 파일을 상기 네트워크 인터페이스를 통해 상기 제1 모바일 디바이스에 제공하기 위한 질의 모듈; 및
    상기 제1 모바일 디바이스의 현재 배향 및 위치를 로컬화하는 로컬화 모듈
    을 포함하고,
    상기 질의 모듈은:
    상기 요청의 적어도 하나의 위치 표시자 및 상기 요청의 공간 특징들의 세트 중 하나에 기반하여 상기 데이터저장부로부터 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하기 위한 질의 인터페이스;
    상기 요청의 적어도 하나의 위치 표시자 및 상기 요청의 공간 특징들의 세트 중 다른 하나에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트로부터 로컬화 영역 설명 파일을 선택하기 위한 선택 모듈
    을 포함하고,
    상기 로컬화 모듈은, 상기 제1 모바일 디바이스에 의해 캡처된 화상에서 검출된 공간 특징들의 세트 및 공간 특징들의 상대적 기하구조와, 상기 선택된 로컬화 영역 설명 파일의 공간 특징들의 세트 및 공간 특징들의 상대적 기하구조의 비교에 기초하여, 상기 제1 모바일 디바이스의 현재 배향 및 위치를 로컬화하는,
    컴퓨팅 시스템.
  12. 제11항에 있어서,
    상기 적어도 하나의 위치 표시자는 상기 제1 모바일 디바이스의 지리적 위치의 표시자 및 무선 기지국과 연관된 식별자 중 적어도 하나를 포함하는,
    컴퓨팅 시스템.
  13. 제11항에 있어서,
    상기 질의 인터페이스는 상기 요청의 공간 특징들의 세트에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하기 위한 것이고; 그리고
    상기 선택 모듈은 상기 요청의 적어도 하나의 위치 표시자에 기반하여 상기 로컬화 영역 설명 파일을 선택하기 위한 것인,
    컴퓨팅 시스템.
  14. 제13항에 있어서,
    상기 데이터저장부는 상기 로컬화 영역 설명 파일의 위치 정보에 기반하여 상기 로컬화 영역 설명 파일을 인덱싱하지 않고 상기 로컬화 영역 설명 파일의 공간 특징들의 세트에 기반하여 각각의 로컬화 영역 설명 파일을 인덱싱하기 위한 것인,
    컴퓨팅 시스템.
  15. 제13항에 있어서,
    상기 질의 인터페이스는:
    상기 복수의 로컬화 영역 설명 파일들의 각각의 로컬화 영역 설명 파일에 대해, 상기 요청의 공간 특징들의 세트의 공간 특징들에 매칭하는 로컬화 영역 설명 파일의 공간 특징들의 수에 기반하여 제1 스코어를 결정함으로써; 그리고
    상기 복수의 로컬화 영역 설명 파일들의 각각의 로컬화 영역 설명 파일에 대해 결정되는 상기 제1 스코어에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 선택함으로써,
    상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하기 위한 것인,
    컴퓨팅 시스템.
  16. 제15항에 있어서,
    상기 선택 모듈은 루프 결합 알고리즘을 사용하여 로컬화 영역 설명 파일에 대한 상기 제1 스코어를 결정하기 위한 것인,
    컴퓨팅 시스템.
  17. 제15항에 있어서,
    상기 선택 모듈은:
    각각의 후보 로컬화 영역 설명 파일에 대해, 상기 요청의 하나 이상의 위치 표시자들 중 한 위치 표시자에 대응하는 로컬화 영역 설명 파일의 위치 정보에 의해서 표현되는 위치 표시자들의 수에 기반하여 제2 스코어를 결정함으로써; 그리고
    상기 각각의 후보 로컬화 영역 설명 파일에 대해 결정되는 상기 제2 스코어에 기반하여 상기 로컬화 영역 설명 파일을 선택함으로써,
    상기 로컬화 영역 설명 파일을 선택하기 위한 것인,
    컴퓨팅 시스템.
  18. 제11항에 있어서,
    상기 질의 인터페이스는 상기 요청의 하나 이상의 위치 표시자들에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하기 위한 것이고; 그리고
    상기 선택 모듈은 상기 요청의 공간 특징들의 세트에 기반하여 상기 로컬화 영역 설명 파일을 선택하기 위한 것인,
    컴퓨팅 시스템.
  19. 제18항에 있어서,
    상기 질의 인터페이스는:
    상기 복수의 로컬화 영역 설명 파일들의 각각의 로컬화 영역 설명 파일에 대해, 상기 요청의 하나 이상의 위치 표시자들 중 한 위치 표시자에 대응하는 로컬화 영역 설명 파일의 위치 정보에 의해서 표현되는 위치 표시자들의 수에 기반하여 제1 스코어를 결정함으로써; 그리고
    상기 복수의 로컬화 영역 설명 파일들의 각각의 로컬화 영역 설명 파일에 대해 결정되는 상기 제1 스코어에 기반하여 상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 선택함으로써,
    상기 하나 이상의 후보 로컬화 영역 설명 파일들의 세트를 식별하기 위한 것인,
    컴퓨팅 시스템.
  20. 제19항에 있어서,
    상기 선택 모듈은:
    각각의 후보 로컬화 영역 설명 파일에 대해, 상기 요청의 공간 특징들의 세트의 공간 특징들에 매칭하는 후보 로컬화 영역 설명 파일의 공간 특징들의 수에 기반하여 제2 스코어를 결정함으로써; 그리고
    상기 각각의 후보 로컬화 영역 설명 파일에 대해 결정되는 상기 제2 스코어에 기반하여 상기 로컬화 영역 설명 파일을 선택함으로써,
    상기 로컬화 영역 설명 파일을 선택하기 위한 것인,
    컴퓨팅 시스템.
  21. 모바일 디바이스로서,
    상기 모바일 디바이스가 위치된 영역의 화상(imagery)을 캡처하기 위한 적어도 하나의 이미징 센서;
    상기 적어도 하나의 이미징 센서에 커플링되고, 캡처된 화상에서 공간 특징들의 세트 및 공간 특징들의 상대적 기하구조를 결정하기 위한 공간 특징 검출 모듈;
    상기 공간 특징 검출 모듈에 커플링되고, 상기 영역에 대한 로컬화 영역 설명 파일에 대한 요청을 생성하기 위한 요청 모듈 ― 상기 로컬화 영역 설명 파일은 상기 공간 특징들의 세트, 공간 특징들의 상대적 기하구조, 및 상기 영역과 연관된 하나 이상의 위치 표시자들을 포함함 ―;
    상기 요청 모듈에 커플링되고, 상기 요청을 원격 컴퓨팅 시스템에 송신하기 위한 네트워크 인터페이스; 및
    상기 네트워크 인터페이스, 상기 공간 특징 검출 모듈, 및 상기 요청 모듈에 커플링되는 로컬화 모듈
    를 포함하고,
    상기 로컬화 모듈은, 상기 공간 특징 검출 모듈에 의해 검출된 공간 특징 및 상기 공간 특징의 상대적 기하구조와, 상기 요청에 응답하여 상기 원격 컴퓨팅 시스템으로부터 수신한 로컬화 영역 설명 파일에 기초하여, 상기 모바일 디바이스의 현재 배향 및 위치를 로컬화하는 로컬화 프로세스를 수행하는,
    모바일 디바이스.
  22. 삭제
KR1020177031682A 2015-05-11 2016-05-05 로컬화 영역 설명 파일에 대한 프라이버시-민감 질의 KR102149374B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/708,970 2015-05-11
US14/708,970 US20160335275A1 (en) 2015-05-11 2015-05-11 Privacy-sensitive query for localization area description file
PCT/US2016/030956 WO2016182846A1 (en) 2015-05-11 2016-05-05 Privacy-sensitive query for localization area description file

Publications (2)

Publication Number Publication Date
KR20180005168A KR20180005168A (ko) 2018-01-15
KR102149374B1 true KR102149374B1 (ko) 2020-08-31

Family

ID=56116521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031682A KR102149374B1 (ko) 2015-05-11 2016-05-05 로컬화 영역 설명 파일에 대한 프라이버시-민감 질의

Country Status (6)

Country Link
US (1) US20160335275A1 (ko)
EP (1) EP3295730A1 (ko)
JP (1) JP2018526698A (ko)
KR (1) KR102149374B1 (ko)
CN (1) CN107438841A (ko)
WO (1) WO2016182846A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10043319B2 (en) 2014-11-16 2018-08-07 Eonite Perception Inc. Optimizing head mounted displays for augmented reality
WO2016077798A1 (en) 2014-11-16 2016-05-19 Eonite Perception Inc. Systems and methods for augmented reality preparation, processing, and application
US9916002B2 (en) 2014-11-16 2018-03-13 Eonite Perception Inc. Social applications for augmented reality technologies
US11017712B2 (en) 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US9928660B1 (en) 2016-09-12 2018-03-27 Intel Corporation Hybrid rendering for a wearable display attached to a tethered computer
US10346223B1 (en) * 2016-11-23 2019-07-09 Google Llc Selective obfuscation of notifications
GB201705767D0 (en) * 2017-04-10 2017-05-24 Blue Vision Labs Uk Ltd Co-localisation
KR102006245B1 (ko) * 2017-09-15 2019-08-06 주식회사 인사이너리 바이너리 파일에 기초하여 오픈소스 소프트웨어 패키지를 식별하는 방법 및 시스템
CN109579765B (zh) * 2017-09-29 2020-09-18 上海时元互联网科技有限公司 基于伺服电机的三维点云数据匹配方法及系统、控制器
US10692289B2 (en) 2017-11-22 2020-06-23 Google Llc Positional recognition for augmented reality environment
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
JP7503542B2 (ja) 2018-10-05 2024-06-20 マジック リープ, インコーポレイテッド 任意の場所における場所特有の仮想コンテンツのレンダリング
US11151792B2 (en) 2019-04-26 2021-10-19 Google Llc System and method for creating persistent mappings in augmented reality
US11163997B2 (en) 2019-05-05 2021-11-02 Google Llc Methods and apparatus for venue based augmented reality
JP2022551735A (ja) 2019-10-15 2022-12-13 マジック リープ, インコーポレイテッド 無線フィンガプリントを用いたクロスリアリティシステム
US11568605B2 (en) 2019-10-15 2023-01-31 Magic Leap, Inc. Cross reality system with localization service
CN114730546A (zh) 2019-11-12 2022-07-08 奇跃公司 具有定位服务和基于位置的共享内容的交叉现实系统
US11562542B2 (en) 2019-12-09 2023-01-24 Magic Leap, Inc. Cross reality system with simplified programming of virtual content
CN113396410A (zh) * 2020-01-14 2021-09-14 华为技术有限公司 一种图像识别方法及相关设备
EP4104001A4 (en) 2020-02-13 2024-03-13 Magic Leap, Inc. CROSS-REALLY SYSTEM WITH MAP PROCESSING USING MULTIPLE RESOLUTION FRAME DESCRIPTORS
JP2023514205A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 正確な共有マップを伴うクロスリアリティシステム
WO2021163295A1 (en) 2020-02-13 2021-08-19 Magic Leap, Inc. Cross reality system with prioritization of geolocation information for localization
US11551430B2 (en) * 2020-02-26 2023-01-10 Magic Leap, Inc. Cross reality system with fast localization
WO2022006761A1 (zh) * 2020-07-08 2022-01-13 华为技术有限公司 一种高精度地图、高精度地图生成方法和使用方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287178A1 (en) * 2009-05-08 2010-11-11 Google Inc. Refining location estimates and reverse geocoding based on a user profile
US20120084118A1 (en) * 2010-09-30 2012-04-05 International Business Machines Corporation Sales predication for a new store based on on-site market survey data and high resolution geographical information

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4236372B2 (ja) * 2000-09-25 2009-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 空間情報利用システムおよびサーバシステム
JP4081360B2 (ja) * 2002-11-28 2008-04-23 株式会社日立製作所 空間情報提供システム
EP1767959A1 (en) * 2005-09-23 2007-03-28 Fortuna Electronic Corp. Global positioning system and method
US8824833B2 (en) * 2008-02-01 2014-09-02 Omnivision Technologies, Inc. Image data fusion systems and methods
US20110161792A1 (en) * 2009-12-31 2011-06-30 Edward Florence Producing interactive documents
US8965447B1 (en) * 2010-08-24 2015-02-24 Cellco Partnership Location based network selection
WO2012090890A1 (ja) * 2010-12-27 2012-07-05 日本電気株式会社 情報処理システム,情報処理方法及び情報処理プログラム
US20120299702A1 (en) * 2011-05-26 2012-11-29 Caterpillar Inc. Hybrid positioning system
CN102194007B (zh) * 2011-05-31 2014-12-10 中国电信股份有限公司 获取移动增强现实信息的系统和方法
US9239849B2 (en) * 2011-06-08 2016-01-19 Qualcomm Incorporated Mobile device access of location specific images from a remote database
CN103959308B (zh) * 2011-08-31 2017-09-19 Metaio有限公司 以参考特征匹配图像特征的方法
WO2013126784A2 (en) * 2012-02-23 2013-08-29 Huston Charles D System and method for creating an environment and for sharing a location based experience in an environment
US9407837B2 (en) * 2013-02-28 2016-08-02 Google Inc. Depth sensor using modulated light projector and image sensor with color and IR sensing
US9323785B2 (en) * 2013-03-06 2016-04-26 Streamoid Technologies Private Limited Method and system for mobile visual search using metadata and segmentation
US20140323148A1 (en) * 2013-04-30 2014-10-30 Qualcomm Incorporated Wide area localization from slam maps
US20140357290A1 (en) * 2013-05-31 2014-12-04 Michael Grabner Device localization using camera and wireless signal
CN103984037B (zh) * 2014-04-30 2017-07-28 深圳市墨克瑞光电子研究院 基于视觉的移动机器人障碍物检测方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287178A1 (en) * 2009-05-08 2010-11-11 Google Inc. Refining location estimates and reverse geocoding based on a user profile
US20120084118A1 (en) * 2010-09-30 2012-04-05 International Business Machines Corporation Sales predication for a new store based on on-site market survey data and high resolution geographical information

Also Published As

Publication number Publication date
US20160335275A1 (en) 2016-11-17
CN107438841A (zh) 2017-12-05
JP2018526698A (ja) 2018-09-13
EP3295730A1 (en) 2018-03-21
KR20180005168A (ko) 2018-01-15
WO2016182846A1 (en) 2016-11-17

Similar Documents

Publication Publication Date Title
KR102149374B1 (ko) 로컬화 영역 설명 파일에 대한 프라이버시-민감 질의
KR102044491B1 (ko) 모바일 디바이스 현지화를 위한 영역 서술 파일의 크라우드-소싱 생성 및 업데이트
EP3295129B1 (en) Privacy filtering of area description file prior to upload
US11900547B2 (en) Cross reality system for large scale environments
US11830149B2 (en) Cross reality system with prioritization of geolocation information for localization
JP7504212B2 (ja) Wifi/gpsベースのマップマージを伴うクロスリアリティシステム
US20230222731A1 (en) Cross reality system with map processing using multi-resolution frame descriptors
EP3134870B1 (en) Electronic device localization based on imagery
US11694394B2 (en) Cross reality system for large scale environment reconstruction
CN105023266A (zh) 增强现实实现方法、装置和终端设备
JP2024103610A (ja) クロスリアリティシステム
KR101214612B1 (ko) 증강현실 기반 건물 네비게이션 시스템

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