KR102511762B1 - 증강 현실 매핑 시스템들 및 관련 방법들 - Google Patents

증강 현실 매핑 시스템들 및 관련 방법들 Download PDF

Info

Publication number
KR102511762B1
KR102511762B1 KR1020217009097A KR20217009097A KR102511762B1 KR 102511762 B1 KR102511762 B1 KR 102511762B1 KR 1020217009097 A KR1020217009097 A KR 1020217009097A KR 20217009097 A KR20217009097 A KR 20217009097A KR 102511762 B1 KR102511762 B1 KR 102511762B1
Authority
KR
South Korea
Prior art keywords
data
environment
objects
event graph
deltas
Prior art date
Application number
KR1020217009097A
Other languages
English (en)
Other versions
KR20210044882A (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 KR20210044882A publication Critical patent/KR20210044882A/ko
Application granted granted Critical
Publication of KR102511762B1 publication Critical patent/KR102511762B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/768Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/84Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • 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/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

개시된 컴퓨터-구현 방법은 환경에서의 디바이스들로부터, 환경과 연관된 실시간 데이터를 수신하는 것을 포함할 수 있다. 방법은 또한, 실시간 데이터로부터, 현재 매핑 및 오브젝트 데이터를 결정하는 것을 포함할 수 있다. 현재 매핑 데이터는 환경에 대한 좌표 데이터를 포함할 수 있으며 현재 오브젝트 데이터는 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함할 수 있다. 방법은 또한 현재 매핑 데이터와 베이스라인 맵 데이터 간의 매핑 델타들을 결정하는 것 및 현재 오브젝트 데이터와 이벤트 그래프 간의 오브젝트 델타들을 결정하는 것을 포함할 수 있다. 이벤트 그래프는 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함할 수 있다. 방법은 또한 델타들에 기초하여 베이스라인 맵 데이터 및 이벤트 그래프를 업데이트하는 것 및 업데이트된 베이스라인 맵 데이터 및 이벤트 그래프 데이터를 디바이스들로 전송하는 것을 포함할 수 있다. 다양한 다른 방법들, 시스템들, 및 컴퓨터-판독 가능한 미디어가 또한 개시된다.

Description

증강 현실 매핑 시스템들 및 관련 방법들
관련 출원에 대한 상호 참조
본 출원은 그 개시가 전체적으로, 참조로 포함되는, 2018년 9월 14일에 출원된, 미국 출원 번호 제16/131,066호의 이익을 주장한다.
증강 현실(AR) 디바이스들은 통상적으로 컴퓨터-생성 정보를 갖고 사용자의 실세계 환경을 증대시킨다. 예를 들어, AR 디바이스들은 사용자의 통상의 뷰로 시각적 정보를 오버레이함으로써 그 또는 그녀의 실세계 환경에 대한 사용자의 지각을 변경할 수 있다. 그렇게 함으로써, AR 디바이스들은 그들의 실세계 환경의 사용자 뷰를 완전히 교체하지 않고 최종 사용자들에 대한 몰입형 경험을 제공할 수 있다.
AR 디바이스들은 게임들 및 다른 상호 작용적 엔터테인먼트 애플리케이션들을 위해 사용될 수 있다. 예를 들어, AR 애플리케이션들은 종종 가상 오브젝트들이 실 세계에 있는 것처럼 가상 오브젝트들을 디스플레이한다. 사용자들은 그 후 가상 오브젝트들과 상호 작용할 수 있다. 그러나, AR 디바이스들이 더 일반적이게 됨에 따라, 사용자들은 또한 실세계 환경들에 대한 그들의 지각을 추가로 강화하기 위해 AR 기술을 사용하기를 원할 수 있다.
본 발명은 독립 청구항들에 의해 특정된다. 추가 실시예들은 특히 종속 청구항들, 및 이어지는 설명에서 특정된다. 본 발명에 따른 실시예들은 특히 컴퓨터 구현 방법, 시스템 및 컴퓨터 판독 가능한 매체에 관한 첨부된 청구항들에서 개시되며, 여기에서 하나의 청구항 카테고리, 예컨대 컴퓨터 구현 방법에서 언급된 임의의 특징은 또한 또 다른 청구항 카테고리, 예컨대 시스템에서 주장될 수 있다. 첨부된 청구항들에서 종속성들 또는 역 참조는 단지 형식적인 이유들로 택하여진다. 그러나, 임의의 이전 청구항들(특히 다수의 종속성들)에 대한 의도적인 역 참조에서 기인한 임의의 주제가 또한 주장될 수 있으며, 따라서 청구항들의 임의의 조합 및 그것의 특징들이 개시되며 첨부된 청구항들에서 택해진 종속성들에 관계없이 주장될 수 있다. 주장될 수 있는 주제는 첨부된 청구항들에 제시된 바와 같은 특징들의 조합들뿐만 아니라 또한 청구항들에서의 특징들의 임의의 다른 조합을 포함하며, 여기에서 청구항들에서 언급된 각각의 특징은 청구항들에서의 임의의 다른 특징 또는 다른 특징들의 조합과 조합될 수 있다. 더욱이, 여기에서 설명되거나 또는 묘사된 실시예들 및 특징들 중 임의의 것은 별개의 청구항에서 및/또는 여기에서 설명되거나 또는 묘사된 임의의 실시예 또는 특징과 또는 첨부된 청구항들의 특징들 중 임의의 것과 임의로 조합하여 주장될 수 있다.
이하에서 더 상세하게 설명될 바와 같이, 본 개시는 다수의 AR 디바이스들로부터의 입력에 기초하여 실세계 환경을 매핑시킬 수 있는 AR 매핑 시스템을 설명한다. 일 예에서, 이러한 태스크를 수행하기 위한 컴퓨터-구현 방법은 (1) 환경에서의 복수의 디바이스들로부터, 상기 환경과 연관된 실시간 데이터를 수신하는 것 및 (2) 상기 실시간 데이터로부터, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하는 것을 포함할 수 있다. 상기 현재 매핑 데이터는 상기 환경에 대한 좌표 데이터를 포함할 수 있으며 상기 현재 오브젝트 데이터는 상기 복수의 디바이스들에 의해 검출된 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함할 수 있다. 상기 방법은 또한 (3) 상기 현재 매핑 데이터 및 상기 환경의 특징들을 포함하는 베이스라인 맵 데이터 간의 매핑 델타들을 결정하는 것 및 (4) 상기 현재 오브젝트 데이터와 이벤트 그래프 간의 오브젝트 델타들을 결정하는 것을 포함할 수 있다. 상기 이벤트 그래프는 상기 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함할 수 있다. 또한, 상기 방법은 (5) 상기 매핑 델타들에 기초하여 베이스라인 맵 데이터를 업데이트하며 상기 오브젝트 델타들에 기초하여 상기 이벤트 그래프를 업데이트하는 것 및 (6) 업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 상기 복수의 디바이스들로 전송하는 것을 포함할 수 있다.
몇몇 예들에서, 상기 이벤트 그래프의 상태 데이터는 환경에서 오브젝트들의 시간에 걸친 위치 데이터를 나타내는 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함할 수 있다. 상기 이벤트 그래프의 관계 데이터는 상기 공간-시간 상태 데이터의 노드들을 링크하는 전이 데이터를 포함할 수 있다. 상기 전이 데이터는 상기 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응할 수 있다.
몇몇 예들에서, 상기 오브젝트 델타들에 기초하여 상기 이벤트 그래프를 업데이트하는 것은 상기 오브젝트 델타들에서의 오브젝트를 상기 이벤트 그래프에서의 오브젝트로서 인식하는 것, 상기 오브젝트 델타들로부터의 상태 데이터에 기초하여 상기 이벤트 그래프에서의 인식된 오브젝트에 대한 새로운 노드를 생성하는 것, 및 상기 오브젝트 델타들로부터의 관계 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 이전 노드와 상기 새로운 노드를 링크하는 것을 추가로 포함할 수 있다.
몇몇 예들에서, 상기 베이스라인 맵 데이터는 상기 환경에서의 바닥 평면, 벽, 천장, 구조적 특징, 또는 정적 가구 아이템 중 적어도 하나를 포함할 수 있다. 몇몇 예들에서, 상기 환경에서의 오브젝트들은 무생물 오브젝트 또는 인간 중 적어도 하나를 포함할 수 있다.
몇몇 예들에서, 인간에 대한 상태 데이터는 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 또는 심박수 중 적어도 하나를 포함할 수 있다. 몇몇 예들에서, 무생물 오브젝트에 대한 상태 데이터는 오브젝트 유형, 인스턴스 식별, 자세, 또는 속성 중 적어도 하나를 포함할 수 있다.
또한, 대응하는 AR 매핑 시스템은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행될 때, 시스템이 환경에서의 복수의 디바이스들로부터, 상기 환경과 연관된 실시간 데이터를 수신하게 하는 명령들을 포함한 메모리 디바이스를 포함할 수 있다. 상기 명령들은 또한 상기 시스템으로 하여금, 실시간 데이터로부터, 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하게 할 수 있다. 상기 현재 매핑 데이터는 환경에 대한 좌표 데이터를 포함할 수 있으며 상기 현재 오브젝트 데이터는 상기 복수의 디바이스들에 의해 검출된 상기 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함할 수 있다. 명령들은 또한 상기 시스템으로 하여금 상기 현재 매핑 데이터 및 환경의 특징들을 포함하는 베이스라인 맵 데이터 간의 매핑 델타들을 결정하게 하고 상기 현재 오브젝트 데이터와 이벤트 그래프 간의 오브젝트 델타들을 결정하게 할 수 있다. 상기 이벤트 그래프는 상기 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함할 수 있다. 상기 명령들은 또한 상기 시스템으로 하여금 매핑 델타들에 기초하여 베이스라인 맵 데이터를 업데이트하게 하며 상기 오브젝트 델타들에 기초하여 이벤트 그래프를 업데이트하게 하고 업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 상기 복수의 디바이스들로 전송하게 할 수 있다.
몇몇 예들에서, 상기 이벤트 그래프의 상태 데이터는 환경에서 오브젝트들의 시간에 걸친 위치 데이터를 나타내는 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함할 수 있으며, 상기 이벤트 그래프의 관계 데이터는 상기 공간-시간 상태 데이터의 노드들을 링크하는 전이 데이터를 포함할 수 있다. 상기 전이 데이터는 상기 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응할 수 있다.
몇몇 예들에서, 상기 오브젝트 델타들에 기초하여 이벤트 그래프를 업데이트하기 위한 명령들은 오브젝트 델타들에서의 오브젝트를 이벤트 그래프에서의 오브젝트로서 인식하고, 상기 오브젝트 델타들로부터의 상태 데이터에 기초하여 이벤트 그래프에서의 인식된 오브젝트에 대한 새로운 노드를 생성하며, 상기 오브젝트 델타들로부터의 관계 데이터에 기초하여 상기 이벤트 그래프에서의 인식된 오브젝트에 대한 이전 노드와 상기 새로운 노드를 링크하기 위한 명령들을 추가로 포함한다.
몇몇 예들에서, 상기 베이스라인 맵 데이터는 상기 환경에서 바닥 평면, 벽, 천장, 구조적 특징, 또는 정적 가구 아이템 중 적어도 하나를 포함할 수 있다. 몇몇 예들에서, 상기 환경에서의 오브젝트들은 무생물 오브젝트 또는 인간 중 적어도 하나를 포함할 수 있다. 인간에 대한 상태 데이터는 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 또는 심박수 중 적어도 하나를 포함할 수 있다. 몇몇 예들에서, 무생물 오브젝트에 대한 상태 데이터는 오브젝트 유형, 인스턴스 식별, 자세, 또는 속성 중 적어도 하나를 포함할 수 있다.
몇몇 예들에서, 상기 설명된 방법은 컴퓨터-판독 가능한 매체상에서 컴퓨터-판독 가능한 명령들로서 인코딩될 수 있다. 예를 들어, 컴퓨터-판독 가능한 매체는 컴퓨팅 디바이스의 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 (1) 환경에서의 복수의 디바이스들로부터, 상기 환경과 연관된 실시간 데이터를 수신하게 하며 (2) 상기 실시간 데이터로부터, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하게 할 수 있는 하나 이상의 컴퓨터-실행 가능한 명령들을 포함할 수 있다. 현재 매핑 데이터는 상기 환경에 대한 좌표 데이터를 포함할 수 있으며 상기 현재 오브젝트 데이터는 상기 복수의 디바이스들에 의해 검출된 상기 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함할 수 있다. 상기 명령들은 또한 상기 컴퓨팅 디바이스로 하여금 (3) 상기 현재 매핑 데이터 및 상기 환경의 특징들을 포함하는 베이스라인 맵 데이터 간의 매핑 델타들을 결정하게 하며 (4) 상기 현재 오브젝트 데이터 및 이벤트 그래프 간의 오브젝트 델타들을 결정하게 할 수 있다. 상기 이벤트 그래프는 상기 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함할 수 있다. 상기 명령들은 또한 상기 컴퓨팅 디바이스로 하여금 (5) 상기 매핑 델타들에 기초하여 상기 베이스라인 맵 데이터를 업데이트하게 하며 상기 오브젝트 델타들에 기초하여 상기 이벤트 그래프를 업데이트하게 하고 (6) 업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 상기 복수의 디바이스들로 전송하게 할 수 있다.
몇몇 예들에서, 상기 이벤트 그래프의 상태 데이터는 상기 환경에서 오브젝트들의 시간에 걸친 위치 데이터를 나타내는 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함할 수 있으며, 상기 이벤트 그래프의 관계 데이터는 상기 공간-시간 상태 데이터의 노드들을 링크하는 전이 데이터를 포함할 수 있다. 몇몇 예들에서, 상기 전이 데이터는 상기 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응할 수 있다.
몇몇 예들에서, 상기 오브젝트 델타들에 기초하여 이벤트 그래프를 업데이트하는 것은 또한 상기 오브젝트 델타들에서의 오브젝트를 상기 이벤트 그래프에서의 오브젝트로서 인식하는 것, 상기 오브젝트 델타들로부터의 상태 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 새로운 노드를 생성하는 것, 및 상기 오브젝트 델타들로부터의 관계 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 이전 노드와 상기 새로운 노드를 링크하는 것을 포함할 수 있다.
몇몇 예들에서, 상기 베이스라인 맵 데이터는 상기 환경에서 바닥 평면, 벽, 천장, 구조적 특징, 또는 정적 가구 아이템 중 적어도 하나를 포함할 수 있다. 몇몇 예들에서, 상기 환경에서의 오브젝트들은 무생물 오브젝트 또는 인간 중 적어도 하나를 포함할 수 있다. 인간에 대한 상태 데이터는 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 또는 심박수 중 적어도 하나를 포함할 수 있다. 몇몇 예들에서, 무생물 오브젝트에 대한 상태 데이터는 오브젝트 유형, 인스턴스 식별, 자세, 또는 속성 중 적어도 하나를 포함할 수 있다.
상기 및 이하에서 언급된 실시예들 중 임의의 것으로부터의 특징들은 여기에서 설명된 일반적인 원리들에 따라 서로 조합하여 사용될 수 있다. 이들 및 다른 실시예들, 특징들, 및 이점들은 수반된 도면들 및 청구항들과 함께 다음의 상세한 설명을 판독할 때 더 완전하게 이해될 것이다.
실시예에서, 컴퓨터-구현 방법은, 특히 서버에서, 복수의 디바이스들로부터, 특히 복수의 컴퓨팅 디바이스들로부터, 환경에서, 상기 환경과 연관된 실시간 데이터를 수신하는 것을 포함할 수 있다. 상기 방법은 또한 특히 서버에서, 상기 실시간 데이터로부터, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하는 것을 포함할 수 있으며, 여기에서 상기 현재 매핑 데이터는 환경에 대한 좌표 데이터를 포함할 수 있으며 상기 현재 오브젝트 데이터는 상기 복수의 디바이스들에 의해 검출된 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함할 수 있다. 상기 방법은 또한, 특히 서버에서, 상기 현재 매핑 데이터 및 상기 환경의 특징들을 포함할 수 있는 베이스라인 맵 데이터 간의 매핑 델타들을 결정하는 것을 포함할 수 있다. 상기 방법은 또한, 특히 서버에서, 현재 오브젝트 데이터와 이벤트 그래프 간의 오브젝트 델타들을 결정하는 것을 포함할 수 있으며, 상기 이벤트 그래프는 상기 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함할 수 있다. 상기 방법은 또한, 특히 서버에서, 상기 매핑 델타들에 기초하여 상기 베이스라인 맵 데이터를 업데이트하는 것을 포함할 수 있으며 상기 오브젝트 델타들에 기초하여 이벤트 그래프를 업데이트할 수 있다. 상기 방법은 또한, 특히 서버로부터, 업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 상기 복수의 컴퓨팅 디바이스들로 전송하는 것을 포함할 수 있다.
실시예에서, 상기 방법은 환경에서, 복수의 디바이스들, 특히 복수의 컴퓨팅 디바이스들이 카메라, 마이크로폰과 같은 센서를 포함할 수 있으며, 다른 센서들이 환경에서 특징들 및/또는 오브젝트들을 검출할 수 있을 것임을 포함할 수 있다.
실시예에서, 환경에서의, 복수의 디바이스들, 특히 복수의 컴퓨팅 디바이스들은 하나 이상의 센서들을 사용하여 실시간 데이터를 수집할 수 있고 하나 이상의 네트워크들을 통해 하나 이상의 서버들에 통신적으로 결합될 수 있으며, 여기에서 네트워크는 하나 이상의 물리적 연결들을 통해, 임의의 유형 또는 형태의 통신 네트워크를 포함할 수 있다.
실시예에서, 실시간 데이터는 컴퓨팅 디바이스로부터의 센서 데이터에 기초한, 비디오 데이터, 오디오 데이터, 시간스탬프들, 및/또는 다른 데이터를 포함할 수 있다.
실시예에서, 현재 매핑 데이터 및 현재 오브젝트 데이터는 매핑 시스템에 의해 결정될 수 있으며, 상기 매핑 시스템은 인공 지능 에이전트를 포함할 수 있다.
실시예에서, 상태 데이터는, 속성들 및/또는 상황들에 대한 오브젝트의 조건을 설명하는, 데이터를 나타낼 수 있다.
실시예에서, 상기 관계 데이터는 오브젝트들 간의 관계들을 설명할 수 있는 데이터를 나타낼 수 있으며, 여기에서 오브젝트들 간의 관계들은, 예를 들어, 오브젝트들 간의 상호작용들을 포함할 수 있고, 상황 변화들은 오브젝트들, 조합들, 및/또는 오브젝트들 간의 다른 연결들에 의해 야기될 수 있고, 상호작용들은 예를 들어, 집어 올리는 것 및/또는 내려놓는 것, 운반하는 것, 두는 것, 부착하는 것, 보는 것, 말하는 것, 듣는 것, 터치하는 것 등을 포함할 수 있다.
실시예에서, 상기 관계 데이터는 오브젝트들의 상태들에서의 변화들을 설명할 수 있다.
실시예에서, 상태 데이터는 또한 관계 데이터를 결정하기 위해 사용될 수 있다.
실시예에서, 매핑 델타들은 예를 들어, 어떤 특징들이 변했는지를 식별하고 그것들의 새로운 좌표들로의 변환들을 결정하는 것에 의해, 상대적으로 정의될 수 있다.
실시예에서, 오브젝트 델타들은 이벤트 그래프에서 이전 상태들 및 이전 관계들로부터의 상태 및 관계들에서의 변화들에 의해 정의될 수 있다.
수반된 도면들은 다수의 대표적인 실시예들을 예시하며 명세서의 일부이다. 다음의 설명과 함께, 이들 도면들은 본 개시의 다양한 원리들을 입증하고 설명한다.
도 1은 본 개시의 양상들에 따른, AR 매핑의 대표적인 방법의 흐름도이다.
도 2는 본 개시의 양상들에 따른, AR 매핑 시스템에 대한 대표적인 시스템의 블록도이다.
도 3은 본 개시의 양상들에 따른, AR 매핑 시스템에 대한 대표적인 네트워크의 블록도이다.
도 4는 본 개시의 양상들에 따른, AR 매핑 시스템에 대한 대표적인 파이프라인의 다이어그램이다.
도 5a 및 도 5b는 본 개시의 양상들에 따른, AR 매핑 시스템에 대한 대표적인 매핑 층들이다.
도 6은 본 개시의 양상들에 따른, AR 매핑 시스템에 대한 이벤트 그래프에 대응하는 그래프이다.
도 7은 본 개시의 양상들에 따른, 업데이트된 데이터를 가진 도 6의 이벤트 그래프이다.
도면들 전체에 걸쳐, 동일한 참조 문자들 및 설명들은 반드시 동일한 것은 아닌, 유사한 요소들을 나타낸다. 여기에서 설명된 대표적인 실시예들은 다양한 수정들 및 대안적인 형태들에 영향을 받기 쉽지만, 특정 실시예들은 단지 예로서 도면들에 도시되었으며 여기에서 상세하게 설명될 것이다. 그러나, 여기에서 설명된 대표적인 실시예들은 개시된 특정한 형태들에 제한되도록 의도되지 않는다. 오히려, 본 개시는 첨부된 청구항들의 범위 내에 있는 모든 수정들, 등가물들, 및 대안들을 커버한다.
본 개시는 일반적으로 AR 매핑 시스템에 관한 것이다. 이하에서 더 상세하게 설명될 바와 같이, 본 개시의 실시예들은 복수의 디바이스들로부터 실세계 환경과 연관된 실시간 데이터를 수신하는 것을 수반할 수 있다. AR 매핑 시스템은 실시간 데이터에 기초하여 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정할 수 있다. AR 매핑 시스템은 그 후 현재 매핑 데이터 및 현재 오브젝트 데이터를 사용하여 베이스라인 맵 데이터 및 이벤트 그래프 양쪽 모두를 업데이트할 수 있다. 다수의 디바이스들로부터 수신된 실시간 데이터를 종합함으로써, AR 매핑 시스템은 환경에서의 오브젝트들을 포함한 개선된 매핑 능력들을 제공할 수 있다. 이 시스템은 또한 실시간 데이터를 종합하기 위한 효율적인 시스템 및 실세계 오브젝트들 및 그것들 간의 상호작용들을 나타내는 데이터에 대한 개선된 저장 장치를 제공함으로써 컴퓨팅 디바이스의 기능을 개선할 수 있다. 시스템은 환경에서의 오브젝트들의 실시간 인식이 가능한 시스템을 제공함으로써 매핑 기술을 추가로 개선할 수 있다. 또한, 시스템은 각각의 AR 디바이스를 강화하기 위해 다수의 AR 디바이스들로부터의 데이터를 종합함으로써 AR 기술을 개선할 수 있다.
다음은 도 1에서 AR 매핑 시스템을 업데이트하는 대표적인 프로세스를 설명할 것이다. 도 2는 대표적인 AR 매핑 시스템을 묘사한다. 도 3은 AR 매핑 시스템에 대한 대표적인 네트워크 환경을 묘사한다. 도 4는 AR 매핑 시스템에 대한 대표적인 데이터 파이프라인을 묘사한다. 도 5a 및 도 5b는 AR 매핑 시스템에 의해 유지된 데이터에 대응하는 대표적인 층들을 묘사한다. 도 6 내지 도 7은 AR 매핑 시스템의 대표적인 이벤트 그래프를 묘사한다.
도 1은 AR 매핑 시스템을 업데이트하기 위한 대표적인 컴퓨터-구현 방법(100)의 흐름도이다. 도 1에 도시된 단계들은 도 2 및/또는 도 3에 예시된 시스템(들)을 포함하여, 임의의 적절한 컴퓨터-실행 가능한 코드 및/또는 컴퓨팅 시스템에 의해 수행될 수 있다. 일 예에서, 도 1에 도시된 단계들의 각각은 그 구조가 다수의 서브-단계들을 포함하고 및/또는 그것에 의해 표현되는 알고리즘을 나타낼 수 있으며, 그 예들은 이하에서 더 상세하게 제공될 것이다.
도 1에 예시된 바와 같이, 단계 110에서, 여기에서 설명된 시스템들 중 하나 이상은, 환경에서의 복수의 디바이스들로부터, 환경과 연관된 실시간 데이터를 수신할 수 있다.
몇몇 실시예들에서, 용어 "실시간"은 상당한 및/또는 불가피한 지연 없이 발생하는 동작을 나타낼 수 있다. 실시간 동작들은, 예를 들어, 디바이스 센서 프로세싱 속도들, 네트워크 통신 속도들, 시스템 프로세싱 속도들 등에 의해 제한될 수 있다. 실시간 데이터는 환경으로부터의 센서 데이터에 기초한 비디오 데이터, 오디오 데이터, 시간스탬프들, 및/또는 다른 데이터를 포함할 수 있다.
여기에서 설명된 시스템들은 다양한 방식들로 단계(110)를 수행할 수 있다. 도 2는 AR 매핑 시스템을 유지하기 위한 예시적인 시스템(200)의 블록도이다. 이 도면에서 예시된 바와 같이, 예시적인 시스템(200)은 하나 이상의 태스크들을 수행하기 위한 하나 이상의 모듈들(202)을 포함할 수 있다. 이하에서 더 상세하게 설명될 바와 같이, 모듈들(202)은 수신 모듈(204), 현재 데이터 모듈(206), 매핑 델타 모듈(208), 오브젝트 델타 모듈(210), 업데이팅 모듈(212), 및 전송 모듈(214)을 포함할 수 있다. 별개의 요소들로서 예시되지만, 도 2에서 모듈들(202) 중 하나 이상은 단일 모듈 또는 애플리케이션의 부분들을 나타낼 수 있다.
특정한 실시예들에서, 도 2에서의 모듈들(202) 중 하나 이상은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 하나 이상의 태스크들을 수행하게 할 수 있는 하나 이상의 소프트웨어 애플리케이션들 또는 프로그램들을 나타낼 수 있다. 예를 들어, 이하에서 더 상세하게 설명될 바와 같이, 모듈들(202) 중 하나 이상은 도 3에 예시된 디바이스들(예컨대, 컴퓨팅 디바이스들(302(1) 내지 302(N)) 및/또는 서버(306))과 같은, 하나 이상의 컴퓨팅 디바이스들 상에 저장되고 실행하도록 구성된 모듈들을 나타낼 수 있다. 도 2에서의 모듈들(202) 중 하나 이상은 또한 하나 이상의 태스크들을 수행하도록 구성된 하나 이상의 특수-목적 컴퓨터들 모두 또는 그것의 부분들을 나타낼 수 있다.
도 2에 예시된 바와 같이, 예시적인 시스템(200)은 또한 메모리(240)와 같은, 하나 이상의 메모리 디바이스들을 포함할 수 있다. 메모리(240)는 일반적으로 데이터 및/또는 컴퓨터-판독 가능한 명령들을 저장할 수 있는 임의의 유형 또는 형태의 휘발성 또는 비-휘발성 저장 디바이스 또는 매체를 나타낸다. 일 예에서, 메모리(240)는 모듈들(202) 중 하나 이상을 저장하고, 로딩하며, 및/또는 유지할 수 있다. 메모리(240)의 예들은, 제한 없이, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리, 하드 디스크 드라이브들(HDD들), 고체-상태 드라이브들(SSD들), 광학 디스크 드라이브들, 캐시들, 이들 중 하나 이상의 조합들, 및/또는 임의의 다른 적절한 저장 메모리를 포함한다.
도 2에 예시된 바와 같이, 예시적인 시스템(200)은 또한 물리 프로세서(230)와 같은, 하나 이상의 물리 프로세서들을 포함할 수 있다. 물리 프로세서(230)는 일반적으로 컴퓨터-판독 가능한 명령들을 해석하고 및/또는 실행할 수 있는 임의의 유형 또는 형태의 하드웨어-구현 프로세싱 유닛을 나타낸다. 일 예에서, 물리 프로세서(230)는 메모리(240)에 저장된 모듈들(202) 중 하나 이상을 액세스하고 및/또는 수정할 수 있다. 부가적으로 또는 대안적으로, 물리 프로세서(230)는 매핑 시스템을 유지하는 것을 가능하게 하기 위해 모듈들(202) 중 하나 이상을 실행할 수 있다. 물리 프로세서(230)의 예들은 제한 없이, 마이크로프로세서들, 마이크로제어기들, 중앙 프로세싱 유닛들(CPU들), 소프트코어 프로세서들을 구현하는 필드-프로그램 가능한 게이트 어레이들(FPGA들), 애플리케이션-특정 집적 회로들(ASIC들), 이들 중 하나 이상의 부분들, 이들 중 하나 이상의 변화들 또는 조합들, 및/또는 임의의 다른 적절한 물리 프로세서를 포함한다.
도 2에 예시된 바와 같이, 예시적인 시스템(200)은 또한 실시간 데이터(250), 베이스라인 맵 데이터(256), 및 이벤트 그래프(260)와 같은, 하나 이상의 부가적인 요소들(220)을 포함할 수 있다. 실시간 데이터(250), 베이스라인 맵 데이터(256), 및/또는 이벤트 그래프(260)는 메모리(240)와 같은, 로컬 저장 디바이스상에 저장될 수 있거나, 또는 원격으로 액세스될 수 있다. 실시간 데이터(250)는 환경에서 디바이스들로부터 수신된 데이터를 나타낼 수 있으며, 이하에서 추가로 설명될 바와 같이, 현재 매핑 데이터(252) 및 현재 오브젝트 데이터(254)를 포함할 수 있다. 실시간 데이터(250)는 또한, 특정한 구현들에서, 실시간 데이터(250)의 소스 디바이스에 관한 데이터를 포함할 수 있다. 이벤트 그래프(260)는 환경에서의 오브젝트들 및 그 사이에서의 관계들에 대응하는 데이터를 나타낼 수 있으며, 이하에서 추가로 설명될 바와 같이, 상태 데이터(262) 및 관계 데이터(264)를 포함할 수 있다.
베이스라인 맵 데이터(256)는 환경의 매핑 데이터에 대응하는 데이터를 포함할 수 있다. 베이스라인 맵 데이터(256)는 이에 제한되지 않지만, 벽들, 바닥들, 천장들, 창문들, 문들, 큰 테이블들 등을 포함한, 환경의 정적 특징들에 관한 데이터를 포함할 수 있다. 베이스라인 맵 데이터(256)는 정적 특징들에 대한 좌표 데이터를 추가로 포함할 수 있으며, 이것은 정적 특징들의 위치들을 정의할 수 있다. 좌표 데이터에 대한 좌표 시스템은 환경에서의 특정 포인트에 대한 좌표들과 같이, 상대적일 수 있다. 예를 들어, 매핑 시스템에 의해 커버된 환경이 단일 플로어 또는 레벨의 빌딩에 제한된다면, 좌표 데이터는 레벨 상에서의 특정 포인트에 대하여 정의될 수 있다. 대안적으로, 좌표 시스템은 위도 및 경도에 의해 정의된 바와 같이, 전역적일 수 있다. 또한, 좌표 시스템은 2개보다 많은 차원들을 포함할 수 있다. 좌표 시스템은 또한 3D일 수 있으며 특징들에 대한 높이 위치들을 포함할 수 있다.
도 2에서 예시적인 시스템(200)은 다양한 방식들로 구현될 수 있다. 예를 들어, 예시적인 시스템(200) 모두 또는 그 일부는 도 3에서의 예시적인 네트워크 환경(300)의 부분들을 나타낼 수 있다.
도 3은 본 개시의 양상들을 구현한 대표적인 네트워크 환경(300)을 예시한다. 네트워크 환경(300)은 컴퓨팅 디바이스들(302(1) 내지 302(N)), 네트워크(304), 및 서버(306)를 포함한다. 컴퓨팅 디바이스(302)는 AR 디바이스(예컨대, AR 안경), 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 디바이스, 스마트폰, 또는 다른 컴퓨팅 디바이스와 같은, 클라이언트 디바이스 또는 사용자 디바이스일 수 있다. 컴퓨팅 디바이스(302)는 하나 이상의 프로세서들일 수 있는 물리 프로세서(330), 실시간 데이터(250)와 같은 데이터를 저장할 수 있는 메모리(340), 환경으로부터 실시간 데이터(250)를 검출할 수 있는 센서(370), 및 디스플레이(380)를 포함할 수 있다. 몇몇 구현들에서, 컴퓨팅 디바이스(302)는 디스플레이(380)가 그 또는 그녀의 로컬 환경의 사용자 뷰로 이미지들을 오버레이하도록 AR 디바이스를 나타낼 수 있다. 예를 들어, 디스플레이(380)는 사용자가 환경을 볼 수 있도록 사용자의 환경으로부터의 광이 통과하는 것을 허용하는 투명한 매체를 포함할 수 있다. 디스플레이(380)는 그 후 정보를 오버레이하기 위해 투명 매체상에 끌어 내어질 수 있다. 대안적으로, 디스플레이(380)는 투명 매체로 및/또는 사용자의 눈들로 이미지들을 투사할 수 있다. 컴퓨팅 디바이스(302)는 또한, 몇몇 구현들에서, 사운드 출력을 위해 스피커(382)를 포함할 수 있다.
센서(370)는 카메라, 마이크로폰, 및 환경에서의 특징들 및/또는 오브젝트들을 검출하는 것이 가능한 다른 센서들과 같은, 하나 이상의 센서들을 포함할 수 있다. 컴퓨팅 디바이스(302)는 서버(306)로 전송하기 위해 센서(370)를 사용하여 실시간 데이터(250)를 수집할 수 있다.
서버(306)는 매핑 시스템을 호스팅할 수 있는 하나 이상의 서버들을 나타내거나 또는 이를 포함할 수 있다. 매핑 시스템은 베이스라인 맵 데이터(256) 및 이벤트 그래프(260)를 형성하고, 유지하며, 및/또는 업데이트하기 위해 컴퓨팅 디바이스들(302(1) 내지 302(N))로부터의 실시간 데이터(250)를 프로세싱할 수 있다. 몇몇 예들에서, 매핑 시스템은 AR-매핑 시스템을 나타낼 수 있으며, 이것은 AR 디바이스들 상에서 디스플레이를 위해 데이터를 프로세싱할 수 있다. 서버(306)는 하나 이상의 프로세서들을 포함할 수 있는 물리 프로세서(330), 모듈들(202)을 저장할 수 있는 메모리(340), 및 베이스라인 맵 데이터(256) 및 이벤트 그래프(260)와 같은 부가적인 요소들(220)을 포함할 수 있다.
컴퓨팅 디바이스(302)는 네트워크(304)를 통해 서버(306)에 통신적으로 결합될 수 있다. 네트워크(304)는 인터넷과 같은, 임의의 유형 또는 형태의 통신 네트워크를 나타낼 수 있으며, LAN과 같은 하나 이상의 물리적 연결들, 및/또는 WAN과 같은 무선 연결들을 포함할 수 있다.
도 1로 돌아가면, 일 예에서, 시스템(200) 및/또는 서버(306)의 수신 모듈(204)은, 환경에서의 하나 이상의 컴퓨팅 디바이스들(302)로부터, 환경과 연관된 실시간 데이터(250)를 수신할 수 있다. 실시간 데이터(250)는 환경에서의 오브젝트들과 연관될 수 있으며, 이것은 컴퓨팅 디바이스들(302)에 의해 검출된 무생물 오브젝트들, 인간들, 및/또는 다른 인식 가능한 오브젝트들을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(302)는 단일 레벨의 빌딩에 위치되고, 상기 빌딩 레벨에 대한 실시간 데이터(250)를 수집하고 전송할 수 있다.
도 4는 매핑 시스템에 대한 데이터 흐름을 묘사한 대표적인 파이프라인(400)을 도시한다. 이 도면에 도시된 바와 같이, 도 4는 시스템(200) 및/또는 서버(306)에 대응할 수 있는 매핑 시스템(406), 및 컴퓨팅 디바이스(302)에 대응할 수 있는 로컬 디바이스(402)를 포함할 수 있다. 매핑 시스템(406)은 실시간 데이터(250)에 대응할 수 있는 원시 데이터(450)를 수신할 수 있다. 원시 데이터(450)는 환경으로부터 수집된 비디오 데이터, 오디오 데이터, 및/또는 다른 센서 데이터를 포함할 수 있다. 원시 데이터(450)는 또한 소스 디바이스로부터의 위치 및/또는 배향 데이터를 포함할 수 있다. 몇몇 예들에서, 원시 데이터(450)는 매핑 시스템(406)에 의한 추가 프로세싱을 요구할 수 있다.
도 1로 돌아가면, 단계 120에서, 여기에서 설명된 시스템들 중 하나 이상은, 실시간 데이터로부터, 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정할 수 있다. 예를 들어, 시스템(200) 및/또는 서버(306)의 현재 데이터 모듈(204)은 실시간 데이터(250)로부터 현재 매핑 데이터(252) 및 현재 오브젝트 데이터(254)를 결정할 수 있다.
현재 매핑 데이터(252)는 베이스라인 맵 데이터(256)의 좌표 시스템에 따르며 환경 내에서의 오브젝트들의 위치들 및/또는 배향들을 설명하는 좌표 데이터를 포함할 수 있다. 구체적으로, 현재 매핑 데이터(252)는 환경에서의 정적 특징들 및 현재 오브젝트 데이터(254)에 의해 표현된 오브젝트들 모두에 대한 좌표 데이터를 포함할 수 있다. 예를 들어, 좌표 데이터는 환경에서 컴퓨팅 디바이스(302)에 의해 검출된 인간들, 가구 아이템들, 및/또는 구조적 특징들에 대한 현재 좌표 데이터를 포함할 수 있다.
현재 오브젝트 데이터(254)는 환경에서 컴퓨팅 디바이스(302)에 의해 검출된 오브젝트들에 대한 상태 데이터 및 관계 데이터를 포함할 수 있다. 상태 데이터는, 예를 들어, 오브젝트들에 대한 조건들을 설명할 수 있다. 구체적으로, 상태 데이터는 오브젝트들의 속성들, 특성들, 및/또는 다른 구별 특징들에 대응할 수 있다. 이하에서 설명되는 바와 같이, 이러한 상태 데이터는, 좌표 데이터와 함께, AR 매핑 시스템이 예를 들어, AR 디바이스 상에서의 디스플레이를 위해, 환경 내에서의 오브젝트들(그것들의 위치, 배향, 상태 등을 포함한)의 완전한 재현을 생성할 수 있게 할 것이다.
몇몇 실시예들에서, 용어 "상태 데이터"는 속성들 및/또는 상황들에 대한 오브젝트의 조건을 설명할 수 있는 데이터를 나타낼 수 있다. 인간에 대한 상태 데이터는, 많은 다른 잠재적인 예들 중에서, 예를 들어, 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 심박수, 및/또는 다른 생리적 속성들을 포함할 수 있다. 무생물 오브젝트에 대한 상태 데이터는 많은 다른 잠재적인 예들 중에서, 예를 들어 오브젝트 유형, 인스턴스 식별, 자세, 및/또는 문이 열렸는지와 같은, 오브젝트 유형에 특정된 속성을 포함할 수 있다. 상태 데이터는 환경의 완전한 상태를 위해 제공할 수 있다.
몇몇 실시예들에서, 용어 "관계 데이터"는 오브젝트들 간의 관계들을 설명할 수 있는 데이터를 나타낼 수 있다. 오브젝트들 간의 관계들은, 예를 들어, 오브젝트들 간의 상호작용들, 오브젝트들에 의해 야기된 상황 변화들, 조합들, 및/또는 오브젝트들 간의 다른 연결들을 포함할 수 있다. 상호작용들은, 예를 들어, 집어 올리는 것 및/또는 내려놓는 것, 운반하는 것, 두는 것, 부착하는 것, 보는 것, 말하는 것, 듣는 것, 터치하는 것 등을 포함할 수 있다. 예를 들어, 사람은 의자를 잡아서, 관계를 생성할 수 있다. 몇몇 예들에서, 관계 데이터는 오브젝트들의 상태들에서의 변화들을 설명할 수 있다. 상태 데이터는 또한 관계 데이터를 결정하기 위해 사용될 수 있다. 예를 들어, 사람의 손, 눈, 및/또는 음성을 추적하는 것은 사람의 상호작용의 타겟 오브젝트를 식별하도록 도울 수 있다.
여기에서 설명된 시스템들은 다양한 방식들로 단계(120)를 수행할 수 있다. 일 예에서, 매핑 시스템(406)의 인공 지능(AI) 에이전트(432)는 기계 학습을 사용하여 원시 데이터(450)를 프로세싱할 수 있다. AI 에이전트(432)는 소프트웨어 및/또는 하드웨어로 구현될 수 있다. AI 에이전트(432)는 비디오 데이터로부터 오브젝트들 및 구조적 특징들을 인식할 수 있다. AI 에이전트(432)에 대한 데이터 파이프라인은 맵 프로세서(434) 및 오브젝트 프로세서(436)로 나뉠 수 있다. 몇몇 예들에서, 맵 프로세서(434) 및/또는 오브젝트 프로세서(436)는 AI 에이전트(432)와 통합될 수 있거나, 또는 별개의 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
맵 프로세서(434)는 인식된 오브젝트들 및 구조적 특징들 사이에서의 거리들을 산출함으로써 좌표 데이터를 결정할 수 있으며, 좌표 데이터를 결정하기 위해 원시 데이터(450)의 소스 디바이스들의 위치 및/또는 배향을 사용할 수 있다. 예를 들어, 원시 데이터(450)로부터의 비디오 데이터는 오브젝트들 간의 거리들을 산출하기 위해 사용될 수 있다. 오브젝트들 간의 거리들 및 소스 디바이스들의 위치와 같은 하나 이상의 기준 포인트들을 사용하여, 오브젝트들의 좌표 데이터가 결정될 수 있다.
오브젝트 프로세서(436)는 오브젝트들 및 구조적 특징들을 인식할 수 있으며 또한 오브젝트들 및 구조적 특징들에 대한 상태 데이터를 식별하기 위해 기계 학습을 사용할 수 있다. 예를 들어, 원시 데이터(450)로부터의 비디오 데이터를 분석함으로써, 오브젝트 프로세서(436)는 기계 학습을 사용하여, 오브젝트들을 인식하고 분류할 뿐만 아니라, 오브젝트들에 대한 상태 데이터를 결정할 수 있다. 오디오 데이터, 소스 디바이스들의 위치들 및/또는 배향들, 오브젝트들 간의 근접성 등과 같은, 다른 데이터가 상태 데이터를 결정하기 위해 사용될 수 있다.
도 1로 돌아가면, 단계 130에서, 여기에서 설명된 시스템들 중 하나 이상은 현재 매핑 데이터 및 환경의 특징들을 포함하는 베이스라인 맵 데이터 간의 매핑 델타들을 결정할 수 있다. 예를 들어, 시스템(200) 및/또는 서버(306)의 매핑 델타 모듈(208)은 현재 매핑 데이터(252) 및 베이스라인 맵 데이터(256) 간의 매핑 델타들을 결정할 수 있다.
베이스라인 맵 데이터(256)는 단일 레벨의 빌딩과 같은, 환경의 정적 특징들을 나타내는 데이터를 포함할 수 있다. 베이스라인 맵 데이터(256)는 바닥 평면들, 벽들, 바닥들, 천장들, 큰 테이블들, 문들, 창문들, 정적 가구 아이템들, 및 환경의 구조적 특징들과 같은, 환경의 정적 특징들을 포함할 수 있다. 정적 특징들은 예를 들어, 오브젝트가 이동하거나 또는 위치될 수 있는 곳의 제한들을 정의함으로써 및 또한 좌표 시스템에 대한 기준을 정의하거나 또는 제공함으로써, 환경을 정의할 수 있다.
특정한 구현들에서, 베이스라인 맵 데이터(256)는 입도 레벨(granular level)들로 나뉠 수 있다. 예를 들어, 제 1 또는 최저 레벨은 환경의 바닥 평면에 대응할 수 있다. 제 2 레벨은 제 1 레벨을 덧붙인 희소 세트의 특징들을 포함할 수 있다. 상위 레벨들은 구조적 요소들의 클래스들, 구조적 요소들의 텍스처들, 및 구조적 요소들의 인스턴스들을 포함할 수 있다. 인스턴스들은 특정 오브젝트들에 대응할 수 있다. 다른 구현들에서, 더 적거나 또는 더 많은 레벨들이 있을 수 있다.
베이스라인 맵 데이터(256)는 예를 들어, 베이스 맵 데이터(256)로서 알려진 바닥 평면 및 저적 특징들을 입력함으로써, 이전에 수립될 수 있다. 대안적으로 또는 또한, 베이스라인 맵 데이터(256)는 환경에서의 디바이스들에 의한 연속 스캔들로부터 구축될 수 있다. 다시 말해서, 베이스라인 맵 데이터(256)는 이전에 수신된 매핑 데이터의 총합일 수 있다.
도 5a는 베이스 층(501)을 도시하며, 이것은 베이스라인 맵 데이터(256)의 2D 표현에 대응할 수 있으며 일정한 비율로 그려지지 않을 수 있다. 베이스 층(501)은 바닥 평면과 비슷할 수 있으며 구조적 특징들(510), 정적 가구(512), 및 정적 요소(514)를 포함할 수 있다. 구조적 특징들(510)은 벽들, 문들, 창문들, 및 환경의 다른 구조적 특징들을 포함할 수 있다. 정적 가구(512)는 테이블들, 및 벤치들, 소파들, 책상들 등과 같은, 보통 이동되지 않는 다른 가구를 포함할 수 있다. 정적 요소들(514)은 대형 식물들, 조각상들, 및 환경에서의 다른 장식용 및/또는 기능적 요소들과 같은, 정적인 채로 있을 수 있는 다른 특징들을 포함할 수 있다.
도 1로 돌아가면, 여기에서 설명된 시스템들은 다양한 방식들로 단계(130)를 수행할 수 있다. 일 예에서, AI 에이전트(432)는, 맵 프로세서(434)에 의해, 베이스라인 맵 데이터(256)에 대응할 수 있는 맵 데이터베이스(456)와 원시 데이터(450)로부터의 현재 매핑 데이터 사이에서의 차이들을 결정할 수 있다. 매핑 델타들은 예를 들어, 어떤 특징들이 변하였는지를 식별하고 그것들의 새로운 좌표들로의 변환들을 결정함으로써, 상대적으로 정의될 수 있다. 대안적으로, 매핑 델타들은 맵 데이터베이스(456)에서와 상이한 좌표들을 가진 임의의 특징에 의해 정의될 수 있다.
특정한 인스턴스들에서, 매핑 델타들은 소스 디바이스들 사이에 불일치들 및/또는 충돌들을 가질 수 있다. 다수의 디바이스들이 데이터를 전송함에 따라, 특징에 관한 제 1 디바이스의 데이터는 동일한 특징에 대한 제 2 디바이스의 데이터와 상이할 수 있다. 예를 들어, 제 1 디바이스는 제 2 디바이스 이전에 특징을 기록할 수 있으며 그러므로 구식 데이터를 전송할 수 있다. 불일치들은 데이터를 우선순위화함으로써 해결될 수 있다. 예를 들어, 더 최근의 시간스탬프를 가진 데이터는 더 오래된 시간스탬프를 가진 데이터보다 우선권을 가질 수 있다. 유사하게, 논의 중인 특징에 더 가깝거나 또는 더 높은 분해능 검출 능력을 가진 소스 디바이스로부터의 데이터가 우선권을 가질 수 있다. 특정한 구현들에서, 불일치들은 예를 들어, 우선순위에 기초한 가중 평균을 사용하여 조합될 수 있다.
단계 140에서, 여기에서 설명된 시스템들 중 하나 이상은 현재 오브젝트 데이터와 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함하는 이벤트 그래프 간의 오브젝트 델타들을 결정할 수 있다. 예를 들어, 시스템(200)의 오브젝트 델타 모듈(210) 및/또는 서버(306)는 현재 오브젝트 데이터(254)와 이벤트 그래프(262) 간의 오브젝트 델타들을 결정할 수 있다.
이벤트 그래프(260)는 상태 데이터(262) 및 관계 데이터(264)를 포함할 수 있다. 이벤트 그래프(260)는 환경에서 검출된 오브젝트들 모두에 대한 데이터를 포함할 수 있다. 상태 데이터(262)는 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함할 수 있다. 공간-시간 상태 데이터는 환경에서 오브젝트들에 대한 시간에 걸친 위치 데이터를 나타낼 수 있다. 그러므로, 상태 데이터(262)는 오브젝트들의 상태들에서의 변화들이 추적되도록 오브젝트들의 이전 상태 데이터를 포함할 수 있다. 관계 데이터(264)는 오브젝트들의 다양한 상태들을 연결하는 전이 데이터를 포함할 수 있다. 전이 데이터는 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응할 수 있다. 이벤트 그래프(260)는 공간-시간 데이터 및 전이 데이터를 저장할 수 있는 다차원 행렬 또는 다른 데이터 구조로서 저장될 수 있다.
도 6은 이벤트 그래프(260)의 그래프 표현에 대응할 수 있는 이벤트 그래프(600)를 도시한다. 이벤트 그래프(600)는 노드들(602) 및 에지들(604)을 포함할 수 있다. 이벤트 그래프(600)는 도 6에서 시간 축 및 공간 축으로 묘사된, 2차원들을 가질 수 있지만, 다른 구현들에서, 이벤트 그래프(600)는 부가적인 공간 차원들 및 상태 데이터의 속성들에 대응하는 차원들과 같은, 더 많은 차원들을 포함할 수 있다.
노드들(602)은 오브젝트들의 상태들에 대응할 수 있다. 시간 축을 따르는 주어진 시간에서, 오브젝트의 공간(예컨대, 위치)은 노드들(602)로 표현될 수 있다. 노드들(602)을 연결하는 에지들(604)은 노드들(602)에 의해 표현된 상태들 간의 전이 데이터에 대응할 수 있다. 전이들은 이동하거나 또는 이동되는 것과 같은, 상호작용들을 나타낼 수 있다. 노드들(602)의 수렴은 대응하는 오브젝트들이 상호작용함을 나타낼 수 있다.
도 5b는 예시적인 라이브 층(602)을 묘사하며, 이것은 이벤트 그래프(260)의 단순화된 2D 환경 표현에 대응할 수 있고 일정한 비율로 도시되지 않을 수 있다. 라이브 층(502)은 환경에서 동적 또는 그 외 비-정적 오브젝트들을 나타낼 수 있다. 라이브 층(502)은 인간(520), 이전 상태(522), 오브젝트(524), 및 인간(526)을 포함할 수 있다. 도 5b는 오브젝트들의 단순화된 형태들을 예시하지만, 상태 데이터 및 관계 데이터가 자세 및 배향 데이터를 포함할 수 있기 때문에, 오브젝트들의 강력한 3D 표현들이 이용 가능할 수 있다. 이전 상태(522)는 인간(520)의 이전 위치들과 같은, 이전 상태들을 나타낼 수 있다. 따라서, 이전 상태(522)는 인간(520)이 이동하는 곳을 보여줄 수 있다. 인간(526)은 오브젝트(524)에 근접하여 도시된다. 인간(526) 및 오브젝트(524)의 상태들은 변하였으며, 이것은 상호작용을 나타낼 수 있다. 구체적으로, 인간(526)은 오브젝트(524)를 재배치할 수 있다.
특정한 구현들에서, 환경에서의 디바이스들은 별개의 오브젝트들로서 표현될 수 있거나 또는 또 다른 오브젝트에 밀접하게 관련될 수 있다. 예를 들어, 인간은 AR 디바이스를 착용하고 있을 수 있으며, 이것은 AR 디바이스가 없는 인간과 구별 가능할 수 있다. 또한, AR 디바이스를 착용한 인간은 상태 및 관계 데이터 업데이트들의 일관된 스트림을 포함할 수 있다.
도 1로 돌아가면, 여기에서 설명된 시스템들은 다양한 방식들로 단계(140)를 수행할 수 있다. 일 예에서, AI 에이전트(432)는, 오브젝트 프로세서(436)에 의해, 원시 데이터(450)로부터의 현재 오브젝트 데이터와 이벤트 그래프(260)에 대응할 수 있는 이벤트 그래프(460) 간의 차이들을 결정할 수 있다. 오브젝트 데이터베이스(462)는 환경으로부터의 인식된 오브젝트들 모두를 포함할 수 있다. 몇몇 구현들에서, 오브젝트 데이터베이스(462)는 이벤트 그래프(460) 및/또는 맵 데이터베이스(456) 내에 통합될 수 있다. 오브젝트 델타들은 이벤트 그래프(460)에서의 이전 상태들 및 이전 관계들로부터의 상태 및 관계들에서의 변화들에 의해 정의될 수 있다. 상기 설명된 매핑 델타들과 유사하게, 오브젝트 델타들은 소스 디바이스들 간의 불일치들 및/또는 충돌들을 가질 수 있으며, 이것은 데이터를 우선순위화함으로써 해결될 수 있다. 예를 들어, 더 최근의 시간스탬프를 가진 데이터는 우선권을 가질 수 있다. 유사하게, 논의 중인 특징에 더 가깝거나 또는 더 높은 분해능 검출 능력을 가진 소스 디바이스로부터의 데이터가 우선권을 가질 수 있다. 특정한 구현들에서, 불일치들은, 예를 들어, 우선순위에 기초한 가중 평균을 사용하여 조합될 수 있다.
단계 150에서, 여기에서 설명된 시스템들 중 하나 이상은 매핑 델타들에 기초하여 베이스라인 맵 데이터를 업데이트하며 오브젝트 델타들에 기초하여 이벤트 그래프를 업데이트할 수 있다. 예를 들어, 시스템(200)의 업데이팅 모듈(212) 및/또는 서버(306)는 매핑 델타들에 기초하여 베이스라인 맵 데이터(256)를 업데이트할 수 있으며, 오브젝트 델타들에 기초하여 이벤트 그래프(260)를 업데이트할 수 있다.
여기에서 설명된 시스템들은 다양한 방식들로 단계(150)를 수행할 수 있다. 일 예에서, AI 에이전트(432)는, 맵 프로세서(434)에 의해, 맵 데이터베이스(456)를 업데이트할 수 있다. 부가적으로, AI 에이전트(432)는, 오브젝트 프로세서(436)에 의해, 이벤트 그래프(460)를 업데이트할 수 있다. 특정한 구현들에서, 오브젝트 프로세서(436)는 또한 오브젝트 데이터베이스(462)를 업데이트할 수 있다.
오브젝트 델타들에 기초하여 이벤트 그래프를 업데이트하는 것은 오브젝트 델타들에서의 오브젝트를 이벤트 그래프(460)에서의 오브젝트로서 인식하는 것, 오브젝트 델타들로부터의 상태 데이터에 기초하여 이벤트 그래프(460)에서의 인식된 오브젝트에 대한 새로운 노드를 생성하는 것, 및 오브젝트 델타들로부터의 관계 데이터에 기초하여 이벤트 그래프(460)에서의 인식된 오브젝트에 대한 이전 노드와 새로운 노드를 링크하는 것을 추가로 포함할 수 있다. 예를 들어, 도 7은 도 6에서의 이벤트 그래프(600)의 업데이트된 버전일 수 있는, 이벤트 그래프(700)를 도시한다. 도 7에서, 새로운 노드(702)가 부가될 수 있으며, 새로운 에지(704)가 이전 노드에 새로운 노드를 연결할 수 있다. 오브젝트 델타들은 오브젝트가 이벤트 그래프(600)에서 가장 최근의 노드로부터 이동하였음을 나타낼 수 있다. 오브젝트의 움직임은 새로운 노드(702), 및 오브젝트의 다음 최근 노드에 연결한 새로운 에지(704)의 배치를 갖고 이벤트 그래프(700)에서 표현될 수 있다. 오브젝트의 상태가 시간에 따라 변함에 따라, 부가적인 노드들 및 에지들이 각각의 새로운 상태에 대해 이벤트 그래프(700)에 부가될 수 있다.
베이스라인 맵 데이터(256)를 업데이트하는 것은 베이스라인 맵 데이터(256)가 환경의 가장 현재 구조적 특징들을 포함한다는 것을 보장할 수 있다. 예를 들어, 도 5에서, 베이스 층(501)을 업데이트하는 것은 부가적인 구조적 특징들(510)을 배치하는 것을 야기할 수 있다. 이벤트 그래프(260)를 업데이트하는 것은 이벤트 그래프(260)가 환경에서의 오브젝트들에 대한 가장 현재 상태 데이터(262) 및 관계 데이터(264)를 포함한다는 것을 보장할 수 있다. 또한, 베이스라인 맵 데이터(256) 및 이벤트 그래프(260)는, 시간에 걸쳐 환경에서의 디바이스들이 베이스라인 맵 데이터(256) 및 이벤트 그래프(260)로부터 손실된 영역들 및/또는 오브젝트들에 대한 데이터를 제공할 수 있으므로, 최소 데이터로 시딩될 수 있다.
몇몇 예들에서, 베이스라인 맵 데이터(256) 및 이벤트 그래프(260)는 분산형 방식으로 업데이트될 수 있다. 환경에서의 다수의 디바이스들은 단일 디바이스보다 환경의 더 많은 것의 추적을 허용할 수 있다. 또한, 디바이스들은 환경 전체에 걸쳐 이동할 수 있어서, 정적 디바이스들과 상이한 영역들로의 업데이트들을 허용할 수 있다. 매핑 시스템은 각각의 개개의 디바이스가 환경에서의 또 다른 개개의 디바이스로부터의 데이터를 요청하도록 요구되지 않을 수 있도록 데이터의 총합을 조정할 수 있다.
이벤트 그래프(260)는 오브젝트들 및/또는 그 사이에서의 관계들의 특성들을 추가로 결정하기 위해 분석될 수 있다. 시간에 걸친 특정 오브젝트의 움직임 및/또는 관계 패턴들을 분석함으로써, 특정 오브젝트의 현재 및/또는 미래 상태들과 관계들에 대한 추론들이 이루어질 수 있다. 예를 들어, 오브젝트가 손실되면(예컨대, 그것의 현재 위치가 알려지지 않으면), 마지막 알려진 위치 및 아마도 움직임을 분석하는 것은 그것의 현재 위치의 정확한 예측을 제공할 수 있다. 인간이 특정한 시각에 특정한 경로를 따라 걷는 경향이 있다면, 인간의 위치는 유사한 시각에 예측될 수 있다. 이벤트 그래프(260)의 추가 분석은 오브젝트들의 부가적인 특성들을 드러낼 수 있다.
이벤트 그래프(260)의 다른 양상들이 분석될 수 있다. 예를 들어, 특정 시간 윈도우는 어떤 유형들의 상호작용들이 발생하는지, 어떤 위치들이 혼잡해졌는지 등을 결정하기 위해 분석될 수 있다. 환경에 대한 변화들은 그것들의 결과들을 결정하기 위해 모니터링될 수 있다. 벽들 및/또는 문들 및/또는 다른 일반적으로 정적 특징들을 변경하는 것과 같은, 구조적 특징들을 변경하는 것은 오브젝트 상호작용들에 대한 변화들을 야기할 수 있다. 상호작용들은 그 후 구조적 변화들 이전에 상호작용들에 비교될 수 있다.
특정한 구현들에서, 이벤트 그래프(260)는 가상 오브젝트들을 포함할 수 있다. 가상 오브젝트들은 환경에서의 디바이스들에 의해 검출되지 않은 오브젝트들일 수 있다. 예를 들어, 예측된 오브젝트 위치는 가상 오브젝트로 나타내어질 수 있다. 또한, 사용자들은 예를 들어, 다른 사용자들에 의한 상호작용을 위해, 환경에 가상 오브젝트들을 위치시킬 수 있다.
도 1로 돌아가면, 단계 160에서, 여기에서 설명된 시스템들 중 하나 이상은 업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 복수의 디바이스들로 전송할 수 있다. 예를 들어, 시스템(200) 및/또는 서버(306)의 전송 모듈(214)은 베이스라인 맵 데이터(256)의 부분들 및 이벤트 그래프(260)의 부분들을 컴퓨팅 디바이스(302)로 전송할 수 있다.
여기에서 설명된 시스템들은 다양한 방식들로 단계(160)를 수행할 수 있다. 일 예에서, 매핑 시스템(406)은 맵 데이터베이스(456), 이벤트 그래프(460), 및/또는 오브젝트 데이터베이스(462)의 부분들을, 컴퓨팅 디바이스(302)에 대응할 수 있는 로컬 디바이스(402)로 전송할 수 있다.
로컬 디바이스(402)는 로컬 AI 에이전트(433), 로컬 맵 데이터베이스(457), 로컬 이벤트 그래프(461), 및 로컬 오브젝트 데이터베이스(463)를 포함할 수 있다. 로컬 맵 데이터베이스(457)는 맵 데이터베이스(456)의 서브세트일 수 있다. 로컬 이벤트 그래프(461)는 이벤트 그래프(460)의 서브세트일 수 있다. 로컬 오브젝트 데이터베이스(463)는 오브젝트 데이터베이스(462)의 서브세트일 수 있다. 로컬 AI 에이전트(433)는 매핑 시스템(406)으로부터 데이터를 수신하며 로컬 데이터베이스들을 업데이트할 수 있다. 로컬 데이터베이스들은 로컬 디바이스(402)가 환경에 대한 그 자신의 로컬 표현을 유지하도록 허용할 수 있다.
개시된 매핑 시스템은 환경에서 오브젝트들을 계속 확인하기 위해 사용될 수 있다. 사용자는 그 또는 그녀의 소유들을 계속 확인할 수 있을 것이다. 예를 들어, 사용자는 그 또는 그녀의 키들(keys), 랩탑 등과 같은 손실된 오브젝트들의 위치를 찾을 수 있을 것이다. 매핑 시스템이 손실된 오브젝트들에 대한 가장 현재 데이터가 없을지라도, 사용자는 그들의 움직임들을 추적하고 그들의 현재 위치들을 추론하기 위해 손실된 오브젝트들의 이전 위치들을 조사할 수 있을 것이다. 사용자가 AR 디바이스를 사용하고 있다면, 사용자는 환경 주위를 살펴보고 손실된 오브젝트들의 위치를 시각적으로 찾을 수 있을 것이다. 예를 들어, AR 디바이스는 사용자가 오브젝트를 향할 때 오브젝트를 하이라이팅할 수 있거나 또는 사용자에게 오브젝트를 가리키기 위해 방향 표시자들을 디스플레이할 수 있다.
사용자는 또한 어떤 오브젝트들 및/또는 사람들이 오브젝트들과 상호작용하였는지를 결정할 수 있을 것이다. 예를 들어, 사용자는 랩탑이 손실되기 전에 제 2 사람이 사용자의 랩탑을 사용하였음을 알 수 있다. 사용자는 그 후 랩탑의 현재 소재에 대해 제 2 사람에게 물을 수 있을 것이다. 사용자는 또한 제 2 사람의 위치를 찾을 수 있을 것이다. 예를 들어, 제 2 사람이 AR 디바이스를 착용하였다면, 사용자는 제 2 사람이 실시간으로 어디에 있는지를 알고 제 2 사람이 어디에 있었는지 및 제 2 사람이 누구와 또는 무엇과 상호작용하였는지를 알아낼 수 있을 것이다. 제 2 사람이 AR 디바이스를 착용하지 않았다면, 사용자는 제 2 사람이 어디에 있었는지, 환경 전체에 걸친 제 2 사람의 움직임 습관들을 결정하며, 제 2 사람이 현재 어디에 있는지를 추정할 수 있을 것이다.
사용자는 또한 상호작용할 다른 사용자들에 대한 가상 오브젝트들을 생성할 수 있다. 예를 들어, 사용자는 가상 메모를 생성하고 그것을 벽에 남길 수 있다. AR 디바이스를 사용하는 제 2 사용자는, 가상 메모를 볼 수 있을 것이다.
상기 상세하게 설명된 바와 같이, 개시된 매핑 시스템은 환경 내에서 다수의 디바이스들로부터 환경에 대한 데이터를 수집할 수 있다. 매핑 시스템은 환경의 거의 모든 디바이스-검출 가능한 양상들의 데이터 표현들을 포함할 수 있으며, 이것은 시간에 걸쳐 추가로 저장될 수 있다. 매핑 시스템은 그러므로 그것의 현재 구성에서의 환경뿐만 아니라 지난 구성들을 재현할 수 있다. 이것은 또한 시간에 걸친 환경에서의 변화들의 분석을 허용할 수 있다. 매핑 시스템은 디바이스들이 개개의 디바이스들에 일반적으로 이용 가능한 것보다 더 큰 환경의 뷰를 갖도록 환경에서의 디바이스들로 데이터를 전송할 수 있다. 디바이스들은 전체 환경을 검출할 수 없을지라도 전체 환경을 재현할 수 있을 것이다. 매핑 시스템은 따라서 환경에서의 단일 디바이스가 허용한 것보다 더 효율적으로 환경을 재현할 수 있도록 다수의 디바이스들을 레버리징할 수 있다.
상기 상세하게 설명된 바와 같이, 여기에서 설명되고 및/또는 예시된 컴퓨팅 디바이스들 및 시스템들은 여기에서 설명된 모듈들 내에 포함된 것들과 같은, 컴퓨터-판독 가능한 명령들을 실행할 수 있는 임의의 유형 또는 형태의 컴퓨팅 디바이스 또는 시스템을 광범위하게 나타낸다. 그것들의 가장 기본적인 구성으로, 이들 컴퓨팅 디바이스(들)는 각각 적어도 하나의 메모리 디바이스 및 적어도 하나의 물리 프로세서를 포함할 수 있다.
몇몇 예들에서, 용어 "메모리 디바이스"는 일반적으로 데이터 및/또는 컴퓨터-판독 가능한 명령들을 저장할 수 있는 임의의 유형 또는 형태의 휘발성 또는 비-휘발성 저장 디바이스 또는 매체를 나타낸다. 일 예에서, 메모리 디바이스는 여기에서 설명된 모듈들 중 하나 이상을 저장하고, 로딩하며, 및/또는 유지할 수 있다. 메모리 디바이스들의 예들은, 제한 없이, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 메모리, 하드 디스크 드라이브들(HDD들), 고체-상태 드라이브들(SSD들), 광학 디스크 드라이브들, 캐시들, 변화들 또는 이것 중 하나 이상의 조합들, 또는 임의의 다른 적절한 저장 메모리를 포함한다.
몇몇 예들에서, 용어 "물리 프로세서"는 일반적으로 컴퓨터-판독 가능한 명령들을 해석하고 및/또는 실해할 수 있는 임의의 유형 또는 형태의 하드웨어-구현 프로세싱 유닛을 나타낸다. 일 예에서, 물리 프로세서는 상기 설명된 메모리 디바이스에 저장된 하나 이상의 모듈들을 액세스하고 및/또는 수정할 수 있다. 물리 프로세서들의 예들은, 제한 없이, 마이크로프로세서들, 마이크로제어기들, 중앙 프로세싱 유닛들(CPU들), 소프트코어 프로세서들을 구현하는 필드-프로그램 가능한 게이트 어레이들(FPGA들), 애플리케이션-특정 집적 회로들(ASIC들), 이것 중 하나 이상의 부분들, 이것 중 하나 이상의 변화들 또는 조합들, 또는 임의의 다른 적절한 물리 프로세서를 포함한다.
별개의 요소들로서 예시되지만, 여기에서 설명된 및/또는 예시된 모듈들은 단일 모듈 또는 애플리케이션의 부분들을 나타낼 수 있다. 또한, 특정한 실시예들에서, 이들 모듈들 중 하나 이상은 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 하나 이상의 태스크들을 수행하게 할 수 있는 하나 이상의 소프트웨어 애플리케이션들 또는 프로그램들을 나타낼 수 있다. 예를 들어, 여기에서 설명되고 및/또는 예시된 모듈들 중 하나 이상은 여기에서 설명된 및/또는 예시된 컴퓨팅 디바이스들 또는 시스템들 중 하나 이상에서 구동하도록 저장되고 구성된 모듈들을 나타낼 수 있다. 이들 모듈들 중 하나 이상은 또한 하나 이상의 태스크들을 수행하도록 구성된 하나 이상의 특수-목적 컴퓨터들의 모두 또는 부분들을 나타낼 수 있다.
또한, 여기에서 설명된 모듈들 중 하나 이상은 데이터, 물리 디바이스들, 및/또는 물리 디바이스들의 표현들을 하나의 형태에서 또 다른 것으로 변화할 수 있다. 예를 들어, 여기에서 나열된 모듈들 중 하나 이상은 변환될 실시간 데이터를 수신하고, 실시간 데이터를 변환하고, 베이스라인 맵 데이터를 가진 매핑 델타들 및 이벤트 그래프를 가진 오브젝트 델타들을 결정하기 위해 변환의 결과를 사용하며, 베이스라인 맵 데이터 및 이벤트 그래프를 업데이트하기 위해 변환의 결과를 저장할 수 있다. 부가적으로 또는 대안적으로, 여기에서 나열된 모듈들 중 하나 이상은 컴퓨팅 디바이스 상에서 실행하고, 컴퓨팅 디바이스 상에 데이터를 저장하며, 및/또는 그 외 컴퓨팅 디바이스와 상호작용함으로써 프로세서, 휘발성 메모리, 비-휘발성 메모리, 및/또는 물리 컴퓨팅 디바이스의 임의의 다른 부분을 하나의 형태에서 또 다른 것으로 변환할 수 있다.
몇몇 실시예들에서, 용어 "컴퓨터-판독 가능한 매체"는 일반적으로 컴퓨터-판독 가능한 명령들을 저장하거나 또는 운반할 수 있는 임의의 형태의 디바이스, 캐리어, 또는 매체를 나타낸다. 컴퓨터-판독 가능한 미디어의 예들은, 제한 없이, 캐리어 파들과 같은 송신-형 미디어, 및 자기-저장 미디어(예컨대, 하드 디스크 드라이브들, 테이프 드라이브들, 및 플로피 디스크들), 광학-저장 미디어(예컨대, 컴팩트 디스크들(CD들), 디지털 비디오 디스크들(DVD들), 및 블루-레이 디스크들), 전자-저장 미디어(예컨대, 고체-상태 드라이브들 및 플래시 미디어), 및 다른 분산 시스템들과 같은, 비-일시적-유형 미디어를 포함한다.
본 개시의 실시예들은 인공 현실 시스템을 포함하거나 또는 그것과 함께 구현될 수 있다. 인공 현실은 사용자로의 프리젠테이션 이전에 몇몇 방식으로 조정되어 온 현실의 형태이며, 이것은 예컨대 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR), 하이브리드 현실, 또는 그것의 몇몇 조합 및/또는 파생물들을 포함할 수 있다. 인공 현실 콘텐트는 완전히 생성된 콘텐트 또는 캡처된(예컨대, 실세계) 콘텐트와 조합된 생성 콘텐트를 포함할 수 있다. 인공 현실 콘텐트는 비디오, 오디오, 햅틱 피드백, 또는 그것의 몇몇 조합을 포함할 수 있으며, 그 중 임의의 것은 단일 채널로 또는 다수의 채널들로(뷰어에게 3-차원 효과를 생성하는 스테레오 비디오와 같은) 제공될 수 있다. 부가적으로, 몇몇 실시예들에서, 인공 현실은 또한 예컨대, 인공 현실에서 콘텐트를 생성하기 위해 사용되며 및/또는 그 외 인공 현실에서 사용되는(예컨대, 그곳에서 활동들을 수행하는) 애플리케이션들, 제품들, 액세서리들, 서비스들, 또는 그것의 몇몇 조합과 연관될 수 있다. 인공 현실 콘텐트를 제공하는 인공 현실 시스템은 호스트 컴퓨터 시스템에 연결된 헤드-장착 디스플레이(HMD), 독립형 HMD, 이동 디바이스 또는 컴퓨팅 디바이스, 또는 하나 이상의 뷰어들로 인공 현실 콘텐트를 제공할 수 있는 임의의 다른 하드웨어 플랫폼을 포함한, 다양한 플랫폼들 상에서 구현될 수 있다.
여기에서 설명되고 및/또는 예시된 프로세스 파라미터들 및 단계들의 시퀀스는 단지 예로서 제공되며 원하는 대로 변경될 수 있다. 예를 들어, 여기에서 예시되고 및/또는 설명된 단계들은 특정한 순서로 도시되거나 또는 논의될 수 있지만, 이들 단계들은 반드시 예시되거나 또는 논의된 순서로 수행될 필요는 없다. 여기에서 설명되고 및/또는 예시된 다양한 대표적인 방법들은 또한 여기에서 설명되거나 또는 예시된 단계들 중 하나 이상을 생략할 수 있거나 또는 개시된 것들 외에 부가적인 단계들을 포함할 수 있다.
앞서 말한 설명은 이 기술분야의 다른 숙련자들이 여기에서 개시된 대표적인 실시예들의 다양한 양상들을 가장 잘 이용할 수 있게 하기 위해 제공되었다. 이러한 대표적인 설명은 철저하거나 또는 개시된 임의의 정확한 형태로 제한되도록 의도되지 않는다. 많은 수정들 및 변화들은 본 개시의 사상 및 범위로부터 벗어나지 않고 가능하다. 여기에서 개시된 실시예들은 모든 점들에서 예시적이며 제한적이지 않은 것으로 고려되어야 한다. 참조는 본 개시의 범위를 결정할 때 첨부된 청구항들 및 그것들의 등가물들에 대해 이루어져야 한다.
달리 언급되지 않는다면, 용어들 "~에 연결되는" 및 "~에 결합되는"(및 그것들의 파생어들)은, 명세서 및 청구항들에서 사용된 바와 같이, 직접 및 간접(즉, 다른 요소들 또는 구성요소들을 통해) 연결 양쪽 모두를 허용하는 것으로 해석될 것이다. 또한, 명세서 및 청구항들에서 사용된 바와 같이, 소자에 선행하는 관사("a" 또는 "an")는 "~ 중 적어도 하나"를 의미하는 것으로 해석될 것이다. 마지막으로, 사용의 용이함을 위해, 용어들 "~을 포함시키는" 및 "~을 갖는"(및 그것의 파생어들)은, 명세서 및 청구항들에서 사용된 바와 같이, 단어 "~을 포함한"과 상호 교환 가능하며 그것과 동일한 의미를 갖는다.

Claims (35)

  1. 방법에 있어서,
    환경에서의 복수의 디바이스들로부터, 상기 환경과 연관된 실시간 데이터를 수신하는 단계;
    상기 실시간 데이터로부터, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하는 단계로서, 상기 현재 매핑 데이터는 상기 환경에 대한 좌표 데이터를 포함하며 상기 현재 오브젝트 데이터는 상기 복수의 디바이스들에 의해 검출된 상기 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함하는, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하는 단계;
    상기 현재 매핑 데이터와 상기 환경의 특징들을 포함하는 베이스라인 맵 데이터 간의 매핑 델타들을 결정하는 단계;
    상기 현재 오브젝트 데이터와 이벤트 그래프 간의 오브젝트 델타들을 결정하는 단계로서, 상기 이벤트 그래프는 상기 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함하는, 상기 오브젝트 델타들을 결정하는 단계;
    상기 매핑 델타들에 기초하여 상기 베이스라인 맵 데이터를 업데이트하는 단계;
    상기 오브젝트 델타들에서의 오브젝트를 상기 이벤트 그래프에서의 오브젝트로서 인식하고;
    상기 오브젝트 델타들로부터의 상태 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 새로운 노드를 생성하고;
    상기 오브젝트 델타들로부터의 관계 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 이전 노드와 상기 새로운 노드를 링크함으로써, 상기 오브젝트 델타들에 기초하여 상기 이벤트 그래프를 업데이트하는 단계; 및
    업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 상기 복수의 디바이스들로 전송하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 이벤트 그래프의 상태 데이터는 상기 환경에서 오브젝트들의 시간에 걸친 위치 데이터를 나타내는 상기 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함하며, 상기 이벤트 그래프의 관계 데이터는 상기 공간-시간 상태 데이터의 노드들을 링크하는 전이 데이터를 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 전이 데이터는 상기 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응하는, 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 베이스라인 맵 데이터는 상기 환경에서 바닥 평면, 벽, 천장, 구조적 특징, 또는 정적 가구 아이템 중 적어도 하나를 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 환경에서의 오브젝트들은 무생물 오브젝트 또는 인간 중 적어도 하나를 포함하는, 방법.
  7. 제 1 항에 있어서,
    인간에 대한 상태 데이터는 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 또는 심박수 중 적어도 하나를 포함하는, 방법.
  8. 제 1 항에 있어서,
    무생물 오브젝트에 대한 상태 데이터는 오브젝트 유형, 인스턴스 식별, 자세, 또는 속성 중 적어도 하나를 포함하는, 방법.
  9. 시스템에 있어서,
    하나 이상의 프로세서들;
    명령들을 포함한 메모리 디바이스로서, 상기 명령들은 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 시스템으로 하여금:
    환경에서의 복수의 디바이스들로부터, 상기 환경과 연관된 실시간 데이터를 수신하게 하고;
    상기 실시간 데이터로부터, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하게 하는 것으로서, 상기 현재 매핑 데이터는 상기 환경에 대한 좌표 데이터를 포함하며 상기 현재 오브젝트 데이터는 상기 복수의 디바이스들에 의해 검출된 상기 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함하는, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하게 하고;
    상기 현재 매핑 데이터와 상기 환경의 특징들을 포함하는 베이스라인 매핑 데이터 간의 매핑 델타들을 결정하게 하고;
    상기 현재 오브젝트 데이터와 이벤트 그래프 간의 오브젝트 델타들을 결정하게 하는 것으로서, 상기 이벤트 그래프는 상기 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함하는, 상기 오브젝트 델타들을 결정하게 하고;
    매핑 델타들에 기초하여 상기 베이스라인 맵 데이터를 업데이트하게 하고;
    상기 오브젝트 델타들에서의 오브젝트를 상기 이벤트 그래프에서의 오브젝트로서 인식하고;
    상기 오브젝트 델타들로부터의 상태 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 새로운 노드를 생성하고;
    상기 오브젝트 델타들로부터의 관계 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 이전 노드와 상기 새로운 노드를 링크함으로써, 상기 오브젝트 델타들에 기초하여 상기 이벤트 그래프를 업데이트하게 하며;
    업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 상기 복수의 디바이스들로 전송하게 하는, 상기 메모리 디바이스를 포함하는, 시스템.
  10. 제 9 항에 있어서,
    상기 이벤트 그래프의 상태 데이터는 상기 환경에서의 오브젝트들의 시간에 걸친 위치 데이터를 나타내는 상기 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함하며, 상기 이벤트 그래프의 관계 데이터는 상기 공간-시간 상태 데이터의 노드들을 링크하는 전이 데이터를 포함하는, 시스템.
  11. 제 10 항에 있어서,
    상기 전이 데이터는 상기 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응하는, 시스템.
  12. 삭제
  13. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 베이스라인 맵 데이터는 상기 환경에서 바닥 평면, 벽, 천장, 구조적 특징, 또는 정적 가구 아이템 중 적어도 하나를 포함하는, 시스템.
  14. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 환경에서의 오브젝트들은 무생물 오브젝트 또는 인간 중 적어도 하나를 포함하며, 상기 인간에 대한 상태 데이터는 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 또는 심박수 중 적어도 하나를 포함하고, 상기 무생물 오브젝트에 대한 상태 데이터는 오브젝트 유형, 인스턴스 식별, 자세, 또는 속성 중 적어도 하나를 포함하는, 시스템.
  15. 컴퓨터-판독 가능한 명령들을 포함한 컴퓨터-판독 가능한 매체에 있어서,
    상기 컴퓨터-판독 가능한 명령들은 컴퓨팅 디바이스의 적어도 하나의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금:
    환경에서의 복수의 디바이스들로부터, 상기 환경과 연관된 실시간 데이터를 수신하게 하고;
    상기 실시간 데이터로부터, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하게 하는 것으로서, 상기 현재 매핑 데이터는 상기 환경에 대한 좌표 데이터를 포함하고 상기 현재 오브젝트 데이터는 상기 복수의 디바이스들에 의해 검출된 상기 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함하는, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하게 하고;
    상기 현재 매핑 데이터와 상기 환경의 특징들을 포함하는 베이스라인 맵 데이터 간의 매핑 델타들을 결정하게 하고;
    상기 현재 오브젝트 데이터와 이벤트 그래프 간의 오브젝트 델타들을 결정하게 하는 것으로서, 상기 이벤트 그래프는 상기 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함하는, 상기 오브젝트 델타들을 결정하게 하고;
    상기 매핑 델타들에 기초하여 상기 베이스라인 맵 데이터를 업데이트하게 하고;
    상기 오브젝트 델타들에서의 오브젝트를 상기 이벤트 그래프에서의 오브젝트로서 인식하고;
    상기 오브젝트 델타들로부터의 상태 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 새로운 노드를 생성하고;
    상기 오브젝트 델타들로부터의 관계 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 이전 노드와 상기 새로운 노드를 링크함으로써, 상기 오브젝트 델타들에 기초하여 상기 이벤트 그래프를 업데이트하게 하며;
    업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 상기 복수의 디바이스들로 전송하게 하는, 컴퓨터-판독 가능한 매체.
  16. 제 15 항에 있어서,
    상기 이벤트 그래프의 상태 데이터는 상기 환경에서의 오브젝트들의 시간에 걸친 위치 데이터를 나타내는 상기 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함하며, 상기 이벤트 그래프의 관계 데이터는 상기 공간-시간 상태 데이터의 노드들을 링크하는 전이 데이터를 포함하는, 컴퓨터-판독 가능한 매체.
  17. 제 16 항에 있어서,
    상기 전이 데이터는 상기 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응하는, 컴퓨터-판독 가능한 매체.
  18. 삭제
  19. 제 15 항에 있어서,
    상기 베이스라인 맵 데이터는 상기 환경에서 바닥 평면, 벽, 천장, 구조적 특징, 또는 정적 가구 아이템 중 적어도 하나를 포함하는, 컴퓨터-판독 가능한 매체.
  20. 제 15 항에 있어서,
    상기 환경에서의 오브젝트들은 무생물 오브젝트 또는 인간 중 적어도 하나를 포함하며, 상기 인간에 대한 상태 데이터는 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 또는 심박수 중 적어도 하나를 포함하고, 상기 무생물 오브젝트에 대한 상태 데이터는 오브젝트 유형, 인스턴스 식별, 자세, 또는 속성 중 적어도 하나를 포함하는, 컴퓨터-판독 가능한 매체.
  21. 컴퓨터-구현 방법에 있어서,
    특히 서버에서, 환경에서, 복수의 디바이스들로부터, 특히 복수의 컴퓨팅 디바이스들로부터, 상기 환경과 연관된 실시간 데이터를 수신하는 단계;
    특히 서버에서, 상기 실시간 데이터로부터, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하는 단계로서, 상기 현재 매핑 데이터는 상기 환경에 대한 좌표 데이터를 포함하며 상기 현재 오브젝트 데이터는 상기 복수의 디바이스들에 의해 검출된 상기 환경에서의 오브젝트들에 대한 상태 데이터 및 관계 데이터 양쪽 모두를 포함하는, 상기 환경에 대한 현재 매핑 데이터 및 현재 오브젝트 데이터를 결정하는 단계;
    특히 서버에서, 상기 현재 매핑 데이터와 상기 환경의 특징들을 포함하는 베이스라인 맵 데이터 간의 매핑 델타들을 결정하는 단계;
    특히 서버에서, 상기 현재 오브젝트 데이터와 이벤트 그래프 간의 오브젝트 델타들을 결정하는 단계로서, 상기 이벤트 그래프는 상기 환경에서의 오브젝트들에 대한 이전 상태 데이터 및 이전 관계 데이터를 포함하는, 상기 오브젝트 델타들을 결정하는 단계;
    특히 서버에서, 상기 매핑 델타들에 기초하여 상기 베이스라인 맵 데이터를 업데이트하고;
    상기 오브젝트 델타들에서의 오브젝트를 상기 이벤트 그래프에서의 오브젝트로서 인식하고;
    상기 오브젝트 델타들로부터의 상태 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 새로운 노드를 생성하고;
    상기 오브젝트 델타들로부터의 관계 데이터에 기초하여 상기 이벤트 그래프에서의 상기 인식된 오브젝트에 대한 이전 노드와 상기 새로운 노드를 링크함으로써, 상기 오브젝트 델타들에 기초하여 상기 이벤트 그래프를 업데이트하는 단계; 및
    특히 서버로부터, 업데이트된 베이스라인 맵 데이터 및 업데이트된 이벤트 그래프 데이터를 상기 복수의 컴퓨팅 디바이스들로 전송하는 단계를 포함하는, 컴퓨터-구현 방법.
  22. 제 21 항에 있어서,
    환경에서 상기 복수의 디바이스들, 특히 상기 복수의 컴퓨팅 디바이스들은 상기 환경에서 특징들 및/또는 오브젝트들을 검출할 수 있는 카메라, 마이크로폰, 및 다른 센서들과 같은, 센서를 포함하며; 및/또는
    환경에서 상기 복수의 디바이스들, 특히 상기 복수의 컴퓨팅 디바이스들은 하나 이상의 센서들을 사용하여 실시간 데이터를 수집하며 하나 이상의 네트워크들을 통해 하나 이상의 서버들에 통신적으로 결합되고, 네트워크는 하나 이상의 물리적 연결들을 통해, 임의의 유형 또는 형태의 통신 네트워크를 포함하며; 및/또는
    실시간 데이터는 컴퓨팅 디바이스로부터의 센서 데이터에 기초한 비디오 데이터, 오디오 데이터, 시간스탬프들, 및/또는 다른 데이터를 포함하고; 및/또는
    현재 매핑 데이터 및 현재 오브젝트 데이터는 매핑 시스템에 의해 결정되며, 상기 매핑 시스템은 인공 지능 에이전트를 포함하고; 및/또는
    상기 상태 데이터는 속성들 및/또는 상황들에 대한 오브젝트의 조건을 설명하는 데이터를 나타내고; 및/또는
    상기 관계 데이터는 오브젝트들 간의 관계들을 설명하는 데이터를 나타내고, 오브젝트들 간의 관계들은 예를 들어, 오브젝트들 간의 상호작용들, 오브젝트들에 의해 야기된 상황 변화들, 조합들, 및/또는 오브젝트들 간의 다른 연결들을 포함하며, 상호작용들은, 예를 들어, 집어 올리는 것 및/또는 내려놓는 것, 운반하는 것, 두는 것, 부착하는 것, 보는 것, 말하는 것, 듣는 것, 터치하는 것 등을 포함하고; 및/또는
    상기 관계 데이터는 오브젝트들의 상태들에서의 변화들을 설명하고; 및/또는
    상기 상태 데이터는 또한 상기 관계 데이터를 결정하기 위해 사용되고; 및/또는
    상기 매핑 델타들은 예들 들어 어떤 특징들이 변하였는지를 식별하고 그것들의 새로운 좌표들로의 변환들을 결정함으로써, 상대적으로 정의되며; 및/또는
    상기 오브젝트 델타들은 상기 이벤트 그래프에서의 이전 상태들 및 이전 관계들로부터의 상태 및 관계들에서의 변화들에 의해 정의되는, 컴퓨터-구현 방법.
  23. 제 21 항 또는 제 22 항에 있어서,
    상기 이벤트 그래프의 상태 데이터는 상기 환경에서의 오브젝트들의 시간에 걸친 위치 데이터를 나타내는 상기 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함하며, 상기 이벤트 그래프의 관계 데이터는 상기 공간-시간 상태 데이터의 노드들을 링크하는 전이 데이터를 포함하는, 컴퓨터-구현 방법.
  24. 제 23 항에 있어서,
    상기 전이 데이터는 상기 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응하는, 컴퓨터-구현 방법.
  25. 제 21 항 또는 제 22 항에 있어서,
    상기 베이스라인 맵 데이터는 상기 환경에서 바닥 평면, 벽, 천장, 구조적 특징, 또는 정적 가구 아이템 중 적어도 하나를 포함하고; 및/또는
    상기 환경에서의 오브젝트들은 무생물 오브젝트 또는 인간 중 적어도 하나를 포함하고; 및/또는
    상기 인간에 대한 상태 데이터는 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 또는 심박수 중 적어도 하나를 포함하며; 및/또는
    상기 무생물 오브젝트에 대한 상태 데이터는 오브젝트 유형, 인스턴스 식별, 자세, 또는 속성 중 적어도 하나를 포함하는, 컴퓨터-구현 방법.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 제 15 항에 있어서,
    상기 이벤트 그래프의 상태 데이터는 상기 환경에서의 오브젝트들의 시간에 걸친 위치 데이터를 나타내는 상기 환경에서의 오브젝트들의 공간-시간 상태 데이터를 포함하며, 상기 이벤트 그래프의 관계 데이터는 상기 공간-시간 상태 데이터의 노드들을 링크하는 전이 데이터를 포함하고; 및/또는
    상기 전이 데이터는 상기 환경에서의 오브젝트들 간의 상호작용들을 나타내는 이벤트들에 대응하는, 컴퓨터-판독 가능한 매체.
  34. 삭제
  35. 제 15 항 또는 제 33 항에 있어서,
    상기 베이스라인 맵 데이터는 상기 환경에서 바닥 평면, 벽, 천장, 구조적 특징, 또는 정적 가구 아이템 중 적어도 하나를 포함하고; 및/또는
    상기 환경에서의 오브젝트들은 무생물 오브젝트 또는 인간 중 적어도 하나를 포함하고, 상기 인간에 대한 상태 데이터는 머리 자세, 눈 상태, 오디오 데이터, 손 상태, 호흡률, 또는 심박수 중 적어도 하나를 포함하며; 상기 무생물 오브젝트에 대한 상태 데이터는 오브젝트 유형, 인스턴스 식별, 자세, 또는 속성 중 적어도 하나를 포함하는, 컴퓨터-판독 가능한 매체.
KR1020217009097A 2018-09-14 2018-10-18 증강 현실 매핑 시스템들 및 관련 방법들 KR102511762B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/131,066 2018-09-14
US16/131,066 US10635905B2 (en) 2018-09-14 2018-09-14 Augmented reality mapping systems and related methods
PCT/US2018/056588 WO2020055437A1 (en) 2018-09-14 2018-10-18 Augmented reality mapping systems and related methods

Publications (2)

Publication Number Publication Date
KR20210044882A KR20210044882A (ko) 2021-04-23
KR102511762B1 true KR102511762B1 (ko) 2023-03-20

Family

ID=69773685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217009097A KR102511762B1 (ko) 2018-09-14 2018-10-18 증강 현실 매핑 시스템들 및 관련 방법들

Country Status (6)

Country Link
US (2) US10635905B2 (ko)
EP (1) EP3850590A4 (ko)
JP (1) JP7250901B2 (ko)
KR (1) KR102511762B1 (ko)
CN (1) CN112740283A (ko)
WO (1) WO2020055437A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635905B2 (en) 2018-09-14 2020-04-28 Facebook Technologies, Llc Augmented reality mapping systems and related methods
EP3798926A1 (en) * 2019-09-24 2021-03-31 Vectra AI, Inc. Method, product, and system for detecting malicious network activity using a graph mixture density neural network
US11623653B2 (en) * 2020-01-23 2023-04-11 Toyota Motor Engineering & Manufacturing North America, Inc. Augmented reality assisted traffic infrastructure visualization

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140078853A (ko) * 2012-12-18 2014-06-26 삼성전자주식회사 증강현실시스템 및 그 제어방법
CN107005689B (zh) 2014-12-03 2019-06-14 诺基亚技术有限公司 数字视频渲染
GB2538751A (en) 2015-05-27 2016-11-30 Imp College Of Science Tech And Medicine Modelling a three-dimensional space
US9830726B2 (en) * 2015-07-24 2017-11-28 Bae Systems Information And Electronic Systems Integration Inc. Providing coordinating location information using a gridded reference graphic (GRG)
US20170308800A1 (en) * 2016-04-26 2017-10-26 Smokescreen Intelligence, LLC Interchangeable Artificial Intelligence Perception Systems and Methods
KR20180028764A (ko) * 2016-09-09 2018-03-19 몬스터스쿨 주식회사 증강현실을 이용한 유아 학습 장치 및 방법
US20190033989A1 (en) * 2017-07-31 2019-01-31 Google Inc. Virtual reality environment boundaries using depth sensors
US10635905B2 (en) 2018-09-14 2020-04-28 Facebook Technologies, Llc Augmented reality mapping systems and related methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌 1 (DAVID LINDLBAUER 2018.04.19)*

Also Published As

Publication number Publication date
EP3850590A1 (en) 2021-07-21
US10635905B2 (en) 2020-04-28
WO2020055437A1 (en) 2020-03-19
JP2022502728A (ja) 2022-01-11
CN112740283A (zh) 2021-04-30
JP7250901B2 (ja) 2023-04-03
US20200089953A1 (en) 2020-03-19
US20200218898A1 (en) 2020-07-09
EP3850590A4 (en) 2021-11-10
KR20210044882A (ko) 2021-04-23
US11042749B2 (en) 2021-06-22

Similar Documents

Publication Publication Date Title
JP7486565B2 (ja) クラウド支援型の新しい視点を利用したローカルマップデータの生成
US11042749B2 (en) Augmented reality mapping systems and related methods
US11941149B2 (en) Positioning participants of an extended reality conference
US20180202819A1 (en) Automatic routing to event endpoints
KR20190103222A (ko) 자동화된 활동-시간 트레이닝 기법
US20200302970A1 (en) Automatic narration of signal segment
US11094212B2 (en) Sharing signal segments of physical graph
Bentley et al. Perceptive presence
US10635981B2 (en) Automated movement orchestration
US20240119682A1 (en) Recording the complete physical and extended reality environments of a user
US10930077B1 (en) Systems and methods for rendering augmented reality mapping data
WO2023146837A2 (en) Extended reality for collaboration
Koile et al. Perceptive Presence

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