KR20240021797A - 협력적 추적 - Google Patents

협력적 추적 Download PDF

Info

Publication number
KR20240021797A
KR20240021797A KR1020237042772A KR20237042772A KR20240021797A KR 20240021797 A KR20240021797 A KR 20240021797A KR 1020237042772 A KR1020237042772 A KR 1020237042772A KR 20237042772 A KR20237042772 A KR 20237042772A KR 20240021797 A KR20240021797 A KR 20240021797A
Authority
KR
South Korea
Prior art keywords
image
environment
display
hmd
content
Prior art date
Application number
KR1020237042772A
Other languages
English (en)
Inventor
비잔 포루탄푸어
세바스띠앙 무니에
조나단 키스
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20240021797A publication Critical patent/KR20240021797A/ko

Links

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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/26Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0008Industrial image inspection checking presence/absence
    • 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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30242Counting objects in image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Studio Devices (AREA)

Abstract

이미징 시스템은 환경의 일부분의 이미지를 수신할 수 있다. 환경은 손 또는 디스플레이와 같은, 객체를 포함할 수 있다. 이미징 디바이스는, 예를 들어, 이미지에서 데이터 스트림을 검출함으로써 또는 외부 디바이스로부터 무선으로 데이터 스트림을 수신함으로써, 외부 디바이스로부터의 데이터 스트림을 식별할 수 있다. 이미징 디바이스는, 예를 들어, 객체가 이미지로부터 누락됨을 검출함으로써, 이미징 디바이스에서의 리소스 부족을 검출함으로써, 그리고/또는 이미지에서 디스플레이에 의해 디스플레이된 시각적 미디어 콘텐츠를 검출함으로써, 이미지 및/또는 데이터 스트림에 기초하여 조건을 검출할 수 있다. 조건을 검출할 때, 이미징 디바이스는 데이터 스트림 및/또는 이미지를 사용하여 객체(또는 그의 일부분)의 위치를 자동적으로 결정한다. 이미징 디바이스는 객체의 위치에 기초하는 콘텐츠를 생성 및/또는 출력한다.

Description

협력적 추적
본 개시내용은 대체적으로 이미지 프로세싱에 관한 것이다. 예를 들어, 본 개시내용의 양태들은 다수의 디바이스들로부터의 데이터를 조합하여 환경 내에서 객체 추적을 수행하고 그 추적에 기초하여 출력을 제공하기 위한 시스템들 및 기법들에 관한 것이다.
확장 현실(extended reality, XR) 디바이스는 예를 들어, 머리 장착형 디스플레이(head-mounted display, HMD), 안경, 모바일 핸드셋, 또는 다른 디바이스를 통해, 사용자에게 환경을 디스플레이하는 디바이스이다. 그 환경은 사용자 및 디바이스가 위치되는 실세계 환경과는 적어도 부분적으로 상이하고, 예를 들어 가상 콘텐츠를 포함할 수 있다. 사용자는 대체적으로, 예를 들어, XR 디바이스를 틸팅 또는 이동시킴으로써, 상호작용적으로 환경의 그들의 뷰를 변경할 수 있다. 가상 현실(virtual reality, VR), 증강 현실(augmented reality, AR), 및 혼합 현실(mixed reality, MR)이 XR의 예들이다.
XR 디바이스들은, 예를 들어, 하나 이상의 카메라들 내에 하나 이상의 이미지 센서들을 포함할 수 있다. 예를 들어, XR 디바이스들 내의 카메라들은 사용자가 보고 있는 방향에서 그리고 사용자의 위치의 관점으로부터 실세계 환경의 이미지 데이터를 캡처하는 데 사용될 수 있다. XR 디바이스들 내의 이미지 센서들은 또한 추적 목적들(예컨대, 손 추적, 머리 추적, 신체(body) 추적 등)을 위해 이미지 데이터를 캡처하는 데 사용될 수 있다.
XR 디바이스는, XR 디바이스가 사용자에게 디스플레이하는 환경에서 사용자의 손들의 표현을 디스플레이할 수 있어서, 사용자가 마치 그들이 그 환경에 있는 것처럼 느끼도록 할 수 있다. 손 추적은, XR 디바이스가 환경에서 사용자의 손들을 정확하게 표현하게 할 수 있고, 사용자가 환경 내의 실제 또는 가상 객체들과 상호작용하게 할 수 있다. 그러나, 손 추적은 대체적으로 사용자가 그들의 손들을 XR 디바이스의 이미지 센서들의 시야(field of view, FOV) 내에 유지할 것을 요구한다. XR 디바이스들은 사용자의 손들이 FOV에서 벗어나거나 폐색되는 경우에 에러들을 겪을 수 있다. 손 추적은 대체적으로 배터리 전력을 빠르게 소모시킬 수 있는 계산적으로 비용이 많이 드는 프로세스이다.
일부 예들에서, 다수의 디바이스들로부터의 데이터에 기초한 특징 추적을 위한 시스템들 및 기법들이 설명된다. XR 디바이스와 같은 이미징 디바이스는 하나 이상의 외부 디바이스들로부터의 하나 이상의 데이터 스트림들을 이용할 수 있다. 예를 들어, 이미지는 이미징 디바이스의 이미지 센서로부터 수신될 수 있다. 이미지는 환경의 일부분의 이미지일 수 있다. 환경은 사용자의 손 또는 디스플레이 스크린과 같은 객체를 포함하지만, 객체는 이미지에 묘사된 환경의 일부분에 존재할 수 있거나 존재하지 않을 수 있다. 이미징 디바이스는, 외부 디바이스로부터의 데이터 스트림을, 예를 들어, 이미지에 기초하여(예컨대, 이미지에 묘사된 외부 디스플레이 디바이스 상에 디스플레이된 시각적 미디어 콘텐츠와 같은, 이미지에 묘사된 데이터 스트림을 식별함으로써), (예컨대, 무선 네트워크 또는 유선 네트워크를 통해) 외부 디바이스로부터 이미징 디바이스로의 데이터 스트림의 하나 이상의 송신들에 기초하여, 사용자 입력에 기초하여, 그리고/또는 다른 요인들에 기초하여, 식별할 수 있다. 이미징 디바이스는, 예컨대, 이미지, 데이터 스트림, 이미징 디바이스의 동작 상태, 이들의 임의의 조합에 기초하여, 그리고/또는 다른 요인들에 기초하여, 조건(condition)을 검출할 수 있다. 일부 예들에서, 조건은, 이미징 디바이스가 객체를 추적하지 못하는 것, 이미징 디바이스의 계산 리소스(computational resource)들이 부족한 것(예컨대, 전력이 부족함 그리고/또는 장치의 다른 동작 상태에 기초함), 이미징 디바이스가 이미지 내에서 시각적 미디어 콘텐츠(또는 그것의 표현)를 검출하는 것에 기초함, 특정 기능(예컨대, 콘텐츠를 디스플레이하는 것, 사용자의 손, 머리, 또는 신체와 같은 객체를 추적하는 것)에 이용가능할 때 이미징 디바이스(예컨대, XR 디바이스)가 아닌 외부 디바이스를 사용하는 것을 요청하는 사용자 입력 또는 설정에 기초함, 프라이버시 및/또는 보안이 일정 요인(이는 또한 사용자 입력 또는 설정에 기초할 수 있음)인, 이미징 디바이스에 플러그 인될 때 특정 기능을 위해 디바이스(예컨대, 외부 디바이스)가 사용될 선호도(preference)를 나타내는 사용자 입력 또는 설정에 기초함, 사용자 입력(예컨대, 이미징 디바이스를 턴 오프할 것을 요청하는 사용자 입력, 이미징 디바이스 상에서 실행되는 홈 자동화 애플리케이션을 통해 조명과 같은 외부 디바이스를 턴 온 또는 오프할 것을 요청하는 사용자 입력 등과 같은, 리소스들이 외부 디바이스로 오프로딩될 것을 요청하는 사용자 입력)에 기초함, (예컨대, 주변 조명이 불충분한 곳에서 하나의 디바이스 상의 적외선(IR) 센서가 유용할 때, 추적되고 있는 객체가 빠르게 이동하고 있고 더 높은 프레임 레이트를 갖는 이미지 센서가 더 적절할 때 등등에) 이미징 디바이스의 이미지 센서의 능력들에 기초함, 또는 이들의 임의의 조합일 수 있다.
일부 경우들에서, 이미징 디바이스는 이미지 센서에 의해 캡처된 이미지와 데이터 스트림으로부터의 데이터를 병합하여, 병합된 데이터세트를 생성할 수 있다. 조건을 검출하는 것에 기초하여, 이미징 디바이스는 데이터 스트림, 이미지, 및/또는 병합된 데이터세트에 기초하여 환경 내의 객체의 적어도 일부의 위치를 결정할 수 있다. 이미징 디바이스는 출력(예컨대, 콘텐츠, 이미징 디바이스를 제어하라는 커맨드, 외부 디바이스를 제어하라는 커맨드 등)을 생성할 수 있다. 이미징 디바이스는 환경 내의 객체의 적어도 일부의 위치에 기초하는 콘텐츠를 출력할 수 있다. 일례에서, 객체가 사용자의 손인 경우, 이미징 디바이스에 의해 생성되고/되거나 출력된 콘텐츠는, 사용자의 손이 이미지에 묘사되어 있지 않더라도 (데이터 스트림, 이미지, 및/또는 병합된 데이터세트에 기초하여 결정된) 사용자의 손의 위치에 기초하여 사용자의 손에 의해 보유된 가상 객체를 정확하게 포지셔닝할 수 있다. 객체가 디스플레이 스크린 및/또는 디스플레이 스크린 상에 디스플레이된 시각적 콘텐츠인 경우, 이미징 디바이스에 의해 생성되고/되거나 출력된 콘텐츠는 디스플레이 스크린의 포지션에 인접하게 가상 콘텐츠를 포지셔닝할 수 있다.
일례에서, 이미지 프로세싱을 위한 장치가 제공된다. 장치는 메모리 및 메모리에 커플링된 (예컨대, 회로부에 구현된) 하나 이상의 프로세서들을 포함한다. 하나 이상의 프로세서들은, 이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하도록 구성되고 이를 수신할 수 있고, 환경은 객체를 포함하고; 외부 디바이스로부터의 데이터 스트림을 식별하도록 구성되고 이를 식별할 수 있고; 이미지, 데이터 스트림, 및 장치의 동작 상태 중 적어도 하나에 기초하여 조건을 검출하도록 구성되고 이를 검출할 수 있고; 조건을 검출하는 것에 응답하여, 이미지 및 데이터 스트림 중 적어도 하나에 기초하여 환경 내의 객체의 위치를 결정하도록 구성되고 이를 결정할 수 있고; 그리고 환경 내의 객체의 위치에 기초하여 출력을 생성하도록 구성되고 이를 생성할 수 있다.
다른 예에서, 이미지 프로세싱의 방법이 제공된다. 방법은, 디바이스에 의해, 이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하는 단계로서, 환경은 객체를 포함하는, 상기 이미지를 수신하는 단계; 외부 디바이스로부터의 데이터 스트림을 식별하는 단계; 이미지, 데이터 스트림, 및 디바이스의 동작 상태 중 적어도 하나에 기초하여 조건을 검출하는 단계; 조건을 검출하는 것에 응답하여, 이미지 및 데이터 스트림 중 적어도 하나에 기초하여 환경 내의 객체의 위치를 결정하는 단계; 및 환경 내의 객체의 위치에 기초하여 출력을 생성하는 단계를 포함한다.
다른 예에서, 명령들이 저장되어 있는 디바이스의 비일시적 컴퓨터 판독가능 매체가 제공되고, 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하게 하는 것으로서, 환경은 객체를 포함하는, 상기 이미지를 수신하게 하고; 외부 디바이스로부터의 데이터 스트림을 식별하게 하고; 이미지, 데이터 스트림, 및 디바이스의 동작 상태 중 적어도 하나에 기초하여 조건을 검출하게 하고; 조건을 검출하는 것에 응답하여, 이미지 및 데이터 스트림 중 적어도 하나에 기초하여 환경 내의 객체의 위치를 결정하게 하고; 그리고 환경 내의 객체의 위치에 기초하여 출력을 생성하게 한다.
다른 예에서, 이미지 프로세싱을 위한 장치가 제공된다. 장치는, 이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하기 위한 수단으로서, 환경은 객체를 포함하는, 상기 이미지를 수신하기 위한 수단; 외부 디바이스로부터의 데이터 스트림을 식별하기 위한 수단; 이미지, 데이터 스트림, 및 장치의 동작 상태 중 적어도 하나에 기초하여 조건을 검출하기 위한 수단; 조건을 검출하는 것에 응답하여, 이미지 및 데이터 스트림 중 적어도 하나에 기초하여 환경 내의 객체의 위치를 결정하기 위한 수단; 및 환경 내의 객체의 위치에 기초하여 출력을 생성하기 위한 수단을 포함한다.
일부 양태들에서, 이미지에 기초하여 조건을 검출하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하는 것을 추가로 포함한다.
일부 양태들에서, 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 객체의 적어도 일부가 이미지에서 폐색된다고 결정하는 것을 포함한다.
일부 양태들에서, 외부 디바이스는 제2 이미지 센서를 포함한다. 일부 경우들에서, 데이터 스트림은 환경의 제2 부분의 제2 이미지를 포함한다. 그러한 경우들에서, 환경 내의 객체의 위치를 결정하는 것은 제2 이미지 내의 객체의 묘사(depiction)에 적어도 부분적으로 기초할 수 있다. 일부 양태들에서, 환경의 일부분과 환경의 제2 부분은 중첩된다.
일부 양태들에서, 장치의 동작 상태에 기초하여 조건을 검출하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 리소스의 이용가능성이 임계치 미만이라고 결정하는 것을 포함한다. 일부 양태들에서, 리소스의 이용가능성이 임계치 미만이라고 결정하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 배터리의 배터리 레벨이 배터리 레벨 임계치 미만이라고 결정하는 것을 포함한다.
일부 양태들에서, 리소스의 이용가능성이 임계치 미만이라고 결정하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 이용가능한 대역폭이 대역폭 임계치 미만이라고 결정하는 것을 포함한다.
일부 양태들에서, 장치의 동작 상태에 기초하여 조건을 검출하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 외부 디바이스로 프로세싱을 오프로딩하는 것에 대응하는 사용자 입력을 수신하는 것을 포함한다.
일부 양태들에서, 출력을 생성하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 콘텐츠를 생성하는 것을 포함한다. 일부 경우들에서, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는, 하나 이상의 프로세서들이 환경 내의 객체의 위치에 기초하여 콘텐츠를 출력하도록 구성되는 것을 포함한다.
일부 양태들에서, 콘텐츠를 출력하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 디스플레이되도록 (예컨대, 장치 또는 디바이스의) 디스플레이로 콘텐츠를 전송하는 것을 포함한다.
일부 양태들에서, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는, 이미지 센서에 의해 캡처된 추가 이미지, 데이터 스트림, 및 장치의 동작 상태 중 적어도 하나에 기초하여 추가 조건을 검출하는 것; 및 추가 조건을 검출하는 것에 응답하여, 외부 디바이스에 의해 이전에 수행된 기능을 수행하는 것을 포함한다.
일부 양태들에서, 출력을 생성하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 사용자 입력에 기초하여 장치를 제어하는 것을 포함한다.
일부 양태들에서, 이미지에 기초하여 조건을 검출하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 이미지 내의 하나 이상의 조명 조건(lighting condition)들을 결정하는 것을 포함한다.
일부 양태들에서, 이미지 내의 하나 이상의 조명 조건들을 결정하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 이미지의 하나 이상의 광 값(light value)들이 조명 임계치 미만이라고 결정하는 것을 포함한다.
일부 양태들에서, 환경 내의 객체의 위치를 결정하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는, 외부 디바이스에 환경 내의 객체의 위치를 식별하라는 요청을 전송하는 것; 및 외부 디바이스로부터 환경 내의 객체의 위치를 식별하는 응답을 수신하는 것을 포함한다.
일부 양태들에서, 객체는 외부 디스플레이 디바이스의 디스플레이이다.
일부 양태들에서, 이미지에 기초하여 조건을 검출하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는, 이미지에서, 외부 디스플레이 디바이스의 디스플레이 상에 디스플레이된 시각적 미디어 콘텐츠를 식별하는 것을 포함한다.
일부 양태들에서, 출력을 생성하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 콘텐츠를 생성하는 것을 포함한다. 일부 경우들에서, 콘텐츠는 외부 디스플레이 디바이스의 디스플레이를 가상으로 확장시킨다.
일부 양태들에서, 출력을 생성하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 이미지의 영역 위에 가상 콘텐츠를 오버레이함으로써 적어도 부분적으로 콘텐츠를 생성하는 것을 포함한다. 일부 경우들에서, 이미지의 영역은 환경 내의 객체의 위치에 기초한다.
일부 양태들에서, 객체는 외부 디스플레이 디바이스의 디스플레이이다. 일부 경우들에서, 이미지의 영역은 이미지 내의 외부 디스플레이 디바이스의 디스플레이의 묘사에 인접해 있다.
일부 양태들에서, 객체는 장치의 사용자의 손이다. 일부 경우들에서, 손은 이미지의 영역에 적어도 부분적으로 인접해 있다.
일부 양태들에서, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는, 조건을 검출하는 것에 응답하여, 이미지 센서에 의해 캡처된 이미지와 데이터 스트림으로부터의 데이터를 조합함으로써 적어도 병합된 데이터세트를 생성하는 것을 포함한다. 일부 경우들에서, 객체의 위치를 결정하는 것은 병합된 데이터세트에 적어도 부분적으로 기초한다.
일부 양태들에서, 출력을 생성하기 위해, 위에서 설명된 방법들, 장치들, 및 컴퓨터 판독가능 매체는 콘텐츠를 생성하는 것을 포함한다. 일부 경우들에서, 위에서 설명된 출력, 방법들, 장치들, 및 컴퓨터 판독가능 매체는 재생되도록 (예컨대, 장치 또는 디바이스의) 오디오 출력 디바이스로 콘텐츠를 송신하거나 전송하는 것을 포함한다.
일부 양태들에서, 위에서 설명된 장치들 또는 디바이스들 각각은, 확장 현실(XR) 디바이스(예컨대, 가상 현실(VR) 디바이스, 증강 현실(AR) 디바이스, 또는 혼합 현실(MR) 디바이스), 스마트 디바이스 또는 어시스턴트, 차량, 모바일 디바이스(예컨대, 모바일 전화 또는 소위 "스마트 폰" 또는 다른 모바일 디바이스), 웨어러블 디바이스, 개인용 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 서버 컴퓨터, 또는 다른 디바이스이거나, 이의 일부일 수 있거나, 또는 이를 포함할 수 있다. 일부 양태들에서, 장치 또는 디바이스는 하나 이상의 이미지들을 캡처하기 위한 이미지 센서(예컨대, 카메라) 또는 다수의 이미지 센서들(예컨대, 다수의 카메라들)을 포함한다. 일부 양태들에서, 장치 또는 디바이스는 하나 이상의 이미지들, 통지들, 및/또는 다른 디스플레이가능 데이터를 디스플레이하기 위한 하나 이상의 디스플레이들을 포함한다. 일부 양태들에서, 장치 또는 디바이스는 하나 이상의 스피커들, 하나 이상의 발광 디바이스들, 및/또는 하나 이상의 마이크로폰들을 포함한다. 일부 양태들에서, 위에서 설명된 장치들 또는 디바이스들은 하나 이상의 센서들을 포함할 수 있다. 일부 경우들에서, 하나 이상의 센서들은 장치들의 위치, 장치들의 상태(예컨대, 추적 상태, 동작 상태, 온도, 습도 레벨, 및/또는 다른 상태)를 결정하기 위해, 그리고/또는 다른 목적들을 위해 사용될 수 있다.
이 발명의 내용은 청구 대상의 핵심적인 또는 본질적인 특징들을 식별하는 것으로 의도되는 것도, 청구 대상의 범주를 결정하기 위해 별개로 사용되는 것으로 의도되는 것도 아니다. 청구 대상은 본 특허의 전체 명세서의 적절한 부분들, 임의의 또는 모든 도면들, 및 각각의 청구항에 대한 참조에 의해 이해되어야 한다.
전술한 내용은 다른 특징들 및 실시형태들과 함께, 다음의 명세서, 청구항들 및 첨부 도면들을 참조할 때 보다 명백해질 것이다.
본 출원의 예시적인 실시형태들이 다음 도면들을 참조하여 아래에 상세히 설명된다.
도 1은 일부 예들에 따른, 이미지 캡처 및 프로세싱 시스템의 예시적인 아키텍처를 예시하는 블록도이다.
도 2는 일부 예들에 따른, 확장 현실(XR) 시스템의 예시적인 아키텍처를 예시하는 블록도이다.
도 3a는 일부 예들에 따른, XR 시스템으로 사용되는 머리 장착형 디스플레이(HMD)를 예시하는 사시도이다.
도 3b는 일부 예들에 따른, 도 3a의 머리 장착형 디스플레이(HMD)가 사용자에 의해 착용되는 것을 예시하는 사시도이다.
도 4a는 일부 예들에 따른, 전면 카메라(front-facing camera)들을 포함하고 그리고 XR 시스템으로 사용되는 모바일 핸드셋의 전방 표면을 예시하는 사시도이다.
도 4b는 일부 예들에 따른, 후면 카메라(rear-facing camera)들을 포함하고 그리고 XR 시스템으로 사용되는 모바일 핸드셋의 후방 표면을 예시하는 사시도이다.
도 5는 일부 예들에 따른, XR 시스템으로 사용되고 그리고 손이 머리 장착형 디스플레이(HMD)의 시야(FOV)에 있는 것에 기초하여 제스처-기반 입력을 결정하기 위해 손 추적을 수행하는, HMD를 착용한 사용자를 예시하는 사시도이다.
도 6a는 일부 예들에 따른, XR 시스템으로 사용되고 그리고 손이 외부 카메라의 시야(FOV)에 있는 것에 기초하여, 손이 머리 장착형 디스플레이(HMD)의 FOV 밖에 있더라도 사용자의 손의 포지션에 기초하여 제스처-기반 입력을 결정하기 위해 손 추적을 수행하는, HMD를 착용한 사용자를 예시하는 사시도이다.
도 6b는 일부 예들에 따른, XR 시스템으로 사용되고 그리고 손이 외부 카메라의 시야(FOV)에 있는 것에 기초하여, 폐색물(occlusion)이 머리 장착형 디스플레이(HMD)의 FOV로부터 손을 폐색하더라도 사용자의 손의 포지션에 기초하여 제스처-기반 입력을 결정하기 위해 손 추적을 수행하는, HMD를 착용한 사용자를 예시하는 사시도이다.
도 7은 일부 예들에 따른, 머리 장착형 디스플레이(HMD)에서의 배터리 부족 조건(low battery condition)으로 인해 XR 시스템으로 사용되는 HMD의 사용자의 손을 손 추적하는 것에 대한 지원을 제공하는 외부 HMD 디바이스를 예시하는 사시도이다.
도 8a는 XR 시스템으로 사용되고 그리고 머리 장착형 디스플레이(HMD)의 FOV에서 디스플레이 및/또는 디스플레이 상에 디스플레이된 시각적 콘텐츠의 포지션에 기초하여 가상 콘텐츠를 포지셔닝하는, HMD를 착용한 사용자를 예시하는 사시도이다.
도 8b는 일부 예들에 따른, XR 시스템으로 사용되고 그리고 디스플레이 및/또는 시각적 콘텐츠가 머리 장착형 디스플레이(HMD)의 시야(FOV) 밖에 있더라도 디스플레이 및/또는 시각적 콘텐츠의 포지션에 기초하여 디스플레이 상에 디스플레이된 시각적 콘텐츠의 가상 표현을 포지셔닝하는, HMD를 착용한 사용자를 예시하는 사시도이다.
도 9는 일부 예들에 따른, 이미지 데이터를 프로세싱하기 위한 동작들을 예시하는 흐름도이다.
도 10은 본 명세서에서 설명된 특정 양태들을 구현하기 위한 컴퓨팅 시스템의 일례를 예시하는 도면이다.
본 개시내용의 특정 양태들 및 실시 형태들이 아래에 제공된다. 이러한 양태들 및 실시 형태들 중 일부는 독립적으로 적용될 수 있고, 이들 중 일부는 당업자에게 명백할 바와 같이 조합하여 적용될 수 있다. 다음의 설명에서는, 설명의 목적으로, 본 출원의 실시 형태들의 철저한 이해를 제공하기 위해 특정 세부사항들이 제시된다. 그러나 다양한 실시 형태들은 이러한 특정 세부사항들 없이 실시될 수 있음이 명백할 것이다. 도면들 및 설명은 제한적인 것으로 의도되지 않는다.
다음의 설명은 예시적인 실시 형태들만을 제공하며, 본 개시내용의 범주, 적용가능성, 또는 구성을 제한하는 것으로 의도되지 않는다. 오히려, 예시적인 실시 형태들의 다음의 설명은 예시적인 실시 형태를 구현하기 위한 가능한 설명을 당업자에게 제공할 것이다. 첨부된 청구항들에 제시된 바와 같은 본 출원의 범주로부터 일탈함없이 엘리먼트들의 기능 및 배열에서 다양한 변경들이 이루어질 수 있음이 이해되어야 한다.
카메라는 이미지 센서를 사용하여, 광을 수신하고 정지 이미지들 또는 비디오 프레임들과 같은 이미지 프레임들을 캡처하는 디바이스이다. 용어들 "이미지", "이미지 프레임", 및 "프레임"은 본 명세서에서 상호교환가능하게 사용된다. 카메라들이 다양한 이미지 캡처 및 이미지 프로세싱 설정들로 구성될 수 있다. 상이한 설정들은 외관이 상이한 이미지들을 생성한다. ISO, 노출 시간, 조리개 크기, f/스톱, 셔터 속도, 포커스 및 이득과 같은 일부 카메라 설정들은 하나 이상의 이미지 프레임들을 캡처하기 전이나 캡처하는 동안 결정 및 적용된다. 예를 들어, 하나 이상의 이미지 프레임들을 캡처하기 위해 설정들 또는 파라미터들이 이미지 센서에 적용될 수 있다. 다른 카메라 설정들은 대비, 밝기, 채도, 선명도, 레벨들, 커브들, 또는 컬러들에 대한 변화들과 같은 하나 이상의 이미지 프레임들의 사후 프로세싱을 구성할 수 있다. 예를 들어, 설정들 또는 파라미터들은 이미지 센서에 의해 캡처된 하나 이상의 이미지 프레임들을 프로세싱하기 위한 프로세서(예컨대, 이미지 신호 프로세서 또는 ISP)에 적용될 수 있다.
확장 현실(XR) 디바이스는 예를 들어, 머리 장착형 디스플레이(HMD), 안경, 모바일 핸드셋, 또는 다른 디바이스를 통해, 사용자에게 환경을 디스플레이하는 디바이스이다. 디스플레이된 환경은 사용자 및 디바이스가 위치되는 실세계 환경과는 적어도 부분적으로 상이하고, 예를 들어 가상 콘텐츠를 포함할 수 있다. 일부 경우들에서, XR 디바이스가 사용자에게 디스플레이하는 환경은 적어도 부분적으로 가상일 수 있다. 사용자는 대체적으로, 예를 들어, XR 디바이스를 틸팅하고/하거나 XR 디바이스를 병진으로 또는 측방향으로 이동시킴으로써, 상호작용적으로 XR 디바이스가 사용자에게 디스플레이하는 환경의 그들의 뷰를 변경할 수 있다. XR 디바이스를 틸팅하는 것은 피치 축, 요 축, 롤 축, 또는 이들의 조합을 따른 틸트들 또는 회전들을 포함할 수 있다. XR 디바이스의 병진/측방향 이동들은 X축, Y축, 및 Z축과 같은 3개의 수직 축들을 갖는 3차원 볼륨 내에 차트화된 경로들을 따른 이동들을 포함할 수 있다. XR 디바이스의 회전 이동만을 추적하는 XR 디바이스들은 3자유도(3DoF)를 갖는 XR 디바이스들로 지칭될 수 있다. XR 디바이스의 회전 및 병진 이동 둘 모두를 추적하는 XR 디바이스들은 6자유도(6DoF) 추적 능력들을 갖는 XR 디바이스들로 지칭될 수 있다.
XR 디바이스는 이미지 센서들, 가속도계들, 자이로스코프들, 관성 측정 유닛(inertial measurement unit, IMU)들, 또는 이들의 조합들과 같은 센서들을 포함할 수 있다. XR 디바이스는, 예를 들어 XR 디바이스가 XR 디바이스의 회전 및/또는 병진 이동에 기초하여 상호작용적으로 환경의 사용자의 뷰를 업데이트할 수 있도록, 이러한 센서들에 의해 캡처된 데이터를 사용하여 실세계 환경 내에서 XR 디바이스의 이동을 검출할 수 있다. 일부 XR 디바이스들은 또한, 이러한 센서들에 의해 캡처된 데이터를 사용하여 사용자의 손들과 같은 하나 이상의 객체들의 특징들을 검출 및/또는 추적할 수 있다. 달리 완전-가상 VR 환경들을 사용자들에게 디스플레이하는 XR 디바이스들조차, 환경 내의 사용자 자신의 손들의 표현들을 여전히 디스플레이할 수 있다. 환경 내의 사용자의 손들의 표현들을 디스플레이하는 것은 XR 디바이스의 사용자들에 대한 환경에의 몰입감을 증가시켜서, 사용자들이 그들이 진정으로 그 환경 안에 있다고 느끼게 하는 것을 도울 수 있다. 환경 내의 사용자의 손들의 표현들을 디스플레이하는 것은 또한, 사용자의 손들이 XR 디바이스에 의해 디스플레이된 환경 내의 가상 객체들 및/또는 인터페이스들(예컨대, 메뉴들)과 상호작용하게 할 수 있다.
XR 디바이스는 객체 추적을 수행할 수 있는데, 이는 사용자가 그들의 손들을 사용하여 XR 디바이스에 의해 디스플레이된 가상 객체들 및/또는 인터페이스들과 상호작용하게 하는 데 유용할 수 있다. 예를 들어, XR 디바이스는 XR 디바이스의 사용자의 하나 이상의 손들을 추적하여 하나 이상의 손들의 포즈(예컨대, 포지션 및 배향)를 결정할 수 있다. 손 추적은, (예컨대, 제스처-기반 입력을 결정하기 위해, 하나 이상의 손들의 표현을 디스플레이하는 등을 위해) XR 디바이스에 의해 사용되는 사용자의 손들의 표현들의 포즈가 사용자의 손들의 실세계 포지션들과 정확하게 동기화되는 것을 보장하는 데 유용할 수 있다. 머리 추적, 신체 추적, 몸통(torso) 추적, XR 디바이스와 상호작용하는 데 사용되는 제어기의 추적, 및/또는 다른 객체들의 추적을 포함하는 다른 유형들의 추적이 또한 수행될 수 있다. 일례에서, 손 추적은, XR 디바이스가 사용자의 손들에 의한 환경의 폐색, 환경 내의 하나 이상의 실제 또는 XR 디바이스에 의해 디스플레이된 가상 객체들에 의한 손들의 폐색, 사용자가 그들의 손들 안에 실제 또는 가상 객체들을 보유하는 것에 기초한 손(들)에 의한 임의의 실제 또는 가상 객체들의 폐색 등을 정확하게 렌더링하게 하는 데 유용할 수 있다. 일부 경우들에서, 손 추적은, 예를 들어, 아래에 논의되는 도 6a에 예시된 바와 같이, 사용자의 손들이 XR 디바이스의 센서들의 시야에서 벗어나는 경우 제대로 작동하는 것을 중지할 수 있다. 다른 경우들에서, 손 추적은, 예를 들어, 도 6b에 예시된 바와 같이, 사용자의 손들이 XR 디바이스의 센서들의 뷰로부터 폐색되는 경우 제대로 작동하는 것을 중지할 수 있다.
객체 추적(예컨대, 손 추적, 머리 추적, 신체 추적 등)은 XR 디바이스의 배터리를 빠르게 소모시킬 수 있는 계산적으로 비용이 많이 드는 프로세스이다. 따라서, (예컨대, 도 7에 예시된 바와 같이) XR 디바이스의 배터리 전력 또는 다른 계산 리소스들이 부족할 때와 같은, XR 디바이스의 동작 상태에 기초하여 특정 손 추적 태스크들을 오프로딩하는 것이 유용할 수 있다. 일부 XR 시스템들에서, 다른 유형들의 객체들을 추적하는 것이 또한 유용할 수 있다. 예를 들어, 일부 XR 시스템들에서, 예를 들어, 도 8a 및 도 8b에 예시된 바와 같이, 디스플레이 스크린을 추적하는 것이 유용할 수 있다.
이미징 디바이스(예컨대, XR 디바이스)가 하나 이상의 외부 디바이스들로부터의 하나 이상의 데이터 스트림들을 이용하게 하기 위한 기법들이 본 명세서에서 설명된다. 예를 들어, 이미지는 이미징 디바이스의 이미지 센서로부터 수신될 수 있다. 이미지는 객체를 포함하는 환경의 일부분의 이미지일 수 있다. 객체는 이미지에 묘사된 환경의 일부분에 존재할 수 있거나 존재하지 않을 수 있다. 객체는, 예를 들어, 이미징 디바이스의 사용자의 손, 사용자의 머리, 사용자의 신체, 이미징 디바이스의 사용자의 다른 신체 일부, 디스플레이 스크린, 디스플레이 스크린 상에 디스플레이된 이미지 미디어 콘텐츠, 디스플레이 스크린 상에 디스플레이된 비디오 미디어 콘텐츠, 사람, 동물, 차량, 식물, (이미징 디바이스 외에, XR 디바이스일 수 있는) 다른 XR 디바이스, 다른 객체, 또는 이들의 조합일 수 있다.
이미징 디바이스는 외부 디바이스로부터의 데이터 스트림을 식별할 수 있다. 예를 들어, 이미징 디바이스는, 외부 디바이스로부터의 데이터 스트림을, 이미지 센서로부터 수신된 이미지에 기초하여(예컨대, 이미지에 묘사되는 외부 디스플레이 디바이스 상에 디스플레이되고 있는 미디어 콘텐츠와 같은, 이미지에 묘사된 데이터 스트림을 식별함으로써), (예컨대, 무선 네트워크 또는 유선 연결을 통해) 외부 디바이스로부터 이미징 디바이스로의 데이터 스트림의 하나 이상의 송신들에 기초하여, 사용자 입력에 기초하여, 그리고/또는 다른 요인들에 기초하여 식별할 수 있다. 이미징 디바이스는, 예컨대, 이미지, 데이터 스트림, 이미징 디바이스의 동작 상태, 이들의 임의의 조합에 기초하여, 그리고/또는 다른 요인들에 기초하여, 조건을 검출할 수 있다. 일부 예들에서, 조건은, (예컨대, 추적된 객체가 이미징 디바이스의 FOV 밖으로 이동했고, 실세계 또는 가상 객체에 의해 이미징 디바이스의 뷰로부터 폐색되는 등 때문에) 이미징 디바이스가 객체를 추적하지 못하는 것, 이미징 디바이스의 계산 리소스들이 부족한 것(예컨대, 전력이 부족함 그리고/또는 장치의 다른 동작 상태에 기초함), 이미징 디바이스가 이미지 내에서 시각적 미디어 콘텐츠(또는 그것의 표현)를 검출하는 것에 기초함, 특정 기능(예컨대, 콘텐츠를 디스플레이하는 것, 사용자의 손, 머리, 또는 신체와 같은 객체를 추적하는 것)에 이용가능할 때 이미징 디바이스(예컨대, XR 디바이스)가 아닌 외부 디바이스를 사용하는 것을 요청하는 사용자 입력 또는 설정에 기초함, 프라이버시 및/또는 보안이 일정 요인(이는 또한 사용자 입력 또는 설정에 기초할 수 있음)인, 이미징 디바이스에 플러그 인될 때 특정 기능을 위해 디바이스(예컨대, 외부 디바이스)가 사용될 선호도를 나타내는 사용자 입력 또는 설정에 기초함, 사용자 입력(예컨대, 이미징 디바이스를 턴 오프할 것을 요청하는 사용자 입력, 이미징 디바이스 상에서 실행되는 홈 자동화 애플리케이션을 통해 조명과 같은 외부 디바이스를 턴 온 또는 오프할 것을 요청하는 사용자 입력 등과 같은, 리소스들이 외부 디바이스로 오프로딩될 것을 요청하는 사용자 입력)에 기초함, (예컨대, 주변 조명이 불충분한 곳에서 하나의 디바이스 상의 적외선(IR) 센서가 유용할 때, 추적되고 있는 객체가 빠르게 이동하고 있고 더 높은 프레임 레이트를 갖는 이미지 센서가 더 적절할 때 등등에) 이미징 디바이스의 이미지 센서의 능력들에 기초함, 또는 이들의 임의의 조합일 수 있다.
조건을 검출하는 것에 응답하여, 이미징 디바이스는 출력을 생성할 수 있다. 예를 들어, 조건을 검출하는 것에 기초하여, 이미징 디바이스는 이미지 센서에 의해 캡처된 이미지와 데이터 스트림으로부터의 데이터를 병합 또는 조합함으로써 병합된 데이터세트를 생성할 수 있다. 일부 경우들에서, 조건을 검출하는 것에 응답하여, 이미징 디바이스는 데이터 스트림, 이미지, 병합된 데이터세트, 또는 이들의 임의의 조합에 기초하여 환경 내의 객체의 적어도 일부의 위치를 결정할 수 있다. 이미징 디바이스는 환경 내의 객체의 적어도 일부의 위치에 기초하는 콘텐츠를 생성 및 출력할 수 있다. 예를 들어, 객체가 사용자의 손인 경우, 이미징 디바이스에 의해 생성되고/되거나 출력된 콘텐츠는, 사용자의 손이 이미지에 묘사되어 있지 않더라도 사용자의 손의 위치에 기초하여 사용자의 손에 의해 보유된 가상 객체를 정확하게 포지셔닝할 수 있다. 객체가 디스플레이 스크린 및/또는 디스플레이 스크린 상에 디스플레이된 시각적 콘텐츠인 경우, 이미징 디바이스에 의해 생성되고/되거나 출력된 콘텐츠는 디스플레이 스크린 및/또는 디스플레이 스크린 상에 디스플레이된 시각적 콘텐츠의 포지션에 인접하게, 또는 그에 대한 일부 다른 미리결정된 상대적 포지셔닝으로 가상 콘텐츠를 포지셔닝할 수 있다. 이미징 디바이스에 의해 출력된 콘텐츠는 병합된 데이터세트의 적어도 일부분을 포함할 수 있다. 이미징 디바이스 및 외부 디바이스는 프라이버시 협상을 수행할 수 있다. 예를 들어, 외부 디바이스는, 이미징 디바이스가 외부 디바이스로부터의 데이터 스트림을 무슨 용도로 사용할 수 있고 사용할 수 없는지를 이미징 디바이스에 식별할 수 있고, 그 반대도 마찬가지이다.
제1 예시적인 예에서, 외부 디바이스는 외부 카메라를 포함하고, 외부 디바이스로부터의 데이터 스트림은 외부 카메라로부터의 카메라 피드(예컨대, 하나 이상의 이미지들)를 포함한다. 외부 카메라는 다른 이미징 디바이스(예컨대, 다른 XR 디바이스)로부터의 카메라이거나 다른 카메라로부터의 것일 수 있다. 외부 카메라는, 이미징 디바이스와 동일한 환경에 있을 수 있고/있거나, 그의 FOV에, 이미징 디바이스가 그의 FOV에 갖는 것과 동일한 환경을 가질 수 있다. 조건은, 예를 들어, 이미징 디바이스가 사용자의 손(들)을 추적하지 못했고 손 추적을 제대로 수행할 수 없음을 포함할 수 있다. 예를 들어, 사용자는 그들의 손(들)을 이미징 디바이스의 시야 밖으로 이동시켰을 수 있고/있거나(예컨대, 도 6a에서와 같음), 폐색물이 이미징 디바이스의 카메라(들)의 관점으로부터 사용자의 손(들)을 폐색했을 수 있다(예컨대, 도 6b에서와 같음). 그러나, 외부 카메라로부터의 카메라 피드에는 사용자의 손(들)이 묘사될 수 있다. 이미징 디바이스는 외부 카메라로부터의 카메라 피드를 사용하여, 이미징 디바이스의 이미지 센서에 의해 캡처된 이미지에 묘사된 콘텐츠에 대해 사용자의 손들이 어디에 있는지를 식별하는 것을 도울 수 있다. 일부 경우들에서, 외부 디바이스는, 예를 들어, 외부 카메라로부터의 카메라 피드로부터의 이미지들을 사용하여 손 검출 및/또는 손 추적을 수행함으로써 예비 프로세싱을 수행할 수 있는 프로세서를 포함할 수 있다. 외부 디바이스는 카메라 피드로부터의 이미지(들) 및/또는 예비 프로세싱에 대응하는 데이터를 이미징 디바이스로 전송할 수 있다. 이미징 디바이스에 의해 생성되고/되거나 출력된 콘텐츠는 이미지 내로의 가상 콘텐츠의 통합과 같은, 손 추적에 기초한 이미지에 대한 수정들을 포함할 수 있다. 가상 콘텐츠는 사용자의 손(들)의 포지션(들)에 기초하여 이미징 디바이스의 디스플레이 상에 (또는 그에 대해) 포지셔닝될 수 있다.
제2 예시적인 예에서, 외부 디바이스는 외부 카메라를 포함하고, 외부 디바이스로부터의 데이터 스트림은 외부 카메라로부터의 카메라 피드(예컨대, 하나 이상의 이미지들)를 포함한다. 외부 카메라는 다른 이미징 디바이스(예컨대, 다른 XR 디바이스)로부터의 카메라이거나 다른 카메라로부터의 것일 수 있다. 외부 카메라는, 이미징 디바이스와 동일한 환경에 있을 수 있고/있거나, 그의 FOV에, 이미징 디바이스가 그의 FOV에 갖는 것과 동일한 환경을 가질 수 있다. 그러한 일례에서, 조건은, XR 디바이스의 동작 상태에 기초함일 수 있다. 예를 들어, 조건은, 이미징 디바이스의 배터리 전력, 데이터 대역폭, 프로세싱 대역폭, 다른 계산 리소스, 또는 이들의 조합이 부족하다는 것을 검출하는 것에 기초함일 수 있다. 이미징 디바이스는 외부 카메라로부터의 카메라 피드를 사용하여, 배터리-집약적, 대역폭-집약적, 프로세싱-집약적이거나, 달리 다량의 계산 리소스들을 사용하거나, 또는 이들의 조합일 수 있는 손 추적 또는 다른 기능(들)을 수행하는 것을 도울 수 있다. 제1 예시적인 예에서와 같이, 제2 예시적인 예에서의 외부 디바이스는 (예컨대, 손 검출을 수행함으로써 그리고/또는 외부 카메라로부터의 카메라 피드로부터의 이미지들에 대해 추적함으로써) 예비 프로세싱을 수행할 수 있다. 외부 디바이스는 카메라 피드로부터의 (사전 프로세싱된) 이미지(들) 및/또는 예비 프로세싱에 대응하는 데이터를 이미징 디바이스로 전송할 수 있다. 이미징 디바이스에 의해 생성되고/되거나 출력된 콘텐츠는 손 포지션(들)에 기초한 이미지 내로의 가상 콘텐츠의 통합과 같은, 손 추적에 기초한 이미지에 대한 수정들을 포함할 수 있다.
제3 예시적인 예에서, 외부 디바이스는 디스플레이 스크린을 포함한다. 이 예에서, 외부 디바이스는, 텔레비전, 랩톱 컴퓨터, 데스크톱 컴퓨터 모니터, 스마트 홈 디바이스 또는 어시스턴트, 비디오 게임 콘솔 모니터, 디스플레이 스크린을 갖는 모바일 핸드셋, 디스플레이 스크린을 갖는 웨어러블 디바이스, 텔레비전 디스플레이 스크린, 디스플레이 스크린을 갖는 다른 디바이스, 디스플레이 스크린 그 자체, 또는 이들의 조합일 수 있다. 외부 디바이스로부터의 데이터 스트림은 디스플레이 스크린 상에 디스플레이된 시각적 미디어 콘텐츠를 포함할 수 있다. 이미징 디바이스에 의해 캡처된 이미지는 외부 디바이스의 디스플레이 스크린의 표현을 포함할 수 있고, 따라서 외부 디바이스의 디스플레이 스크린 상에 디스플레이된 시각적 미디어 콘텐츠의 표현을 포함할 수 있다. 조건은, 이미징 디바이스의 이미지 센서에 의해 캡처된 이미지 내에서, 디스플레이 스크린의 표현 및/또는 디스플레이 스크린 상에 디스플레이된 시각적 미디어 콘텐츠의 표현의 검출을 포함할 수 있다. 예를 들어, 이미징 디바이스의 사용자는, 사용자의 이미징 디바이스를 통해, 외부 디바이스가 그의 디스플레이 스크린 상에 시각적 미디어 콘텐츠를 디스플레이하는 것을 볼 수 있다. 예를 들어, 시각적 미디어 콘텐츠는 텔레비전 프로그램, 영화, 비디오 게임, 슬라이드 쇼, 다른 유형의 이미지, 다른 유형의 비디오, 또는 이들의 일부 조합일 수 있다. 이미지와 데이터 스트림(시각적 미디어 콘텐츠)으로부터의 데이터를 병합하는 것은 이미지 내의 시각적 미디어 콘텐츠의 표현에 정보를 부가하는 것을 포함할 수 있다. 부가된 정보는, 예를 들어, 텔레비전 프로그램 또는 영화의 장면 내의 배우들에 관한 정보, 삭제된 장면들에 관한 정보, 건강과 같은 비디오 게임 통계에 관한 정보, 및/또는 다른 정보를 포함할 수 있다. 이미징 디바이스의 사용자에게, 부가된 정보는 시각적 미디어 콘텐츠의 표현에 인접하게 나타나거나, 시각적 미디어 콘텐츠의 표현 위에 오버레이되거나, 또는 달리 시각적 미디어 콘텐츠의 표현에 대해 포지셔닝될 수 있다.
도 1은 이미지 캡처 및 프로세싱 시스템(100)의 아키텍처를 예시하는 블록도이다. 이미지 캡처 및 프로세싱 시스템(100)은 장면들의 이미지들(예컨대, 장면(110)의 이미지)을 캡처 및 프로세싱하는 데 사용되는 다양한 컴포넌트들을 포함한다. 이미지 캡처 및 프로세싱 시스템(100)은 독립형 이미지들(또는 사진들)을 캡처할 수 있고/있거나 특정 시퀀스에서 다수의 이미지들(또는 비디오 프레임들)을 포함하는 비디오들을 캡처할 수 있다. 시스템(100)의 렌즈(115)는 장면(110), 예컨대, 실세계 환경의 일부분을 향하고, 장면(110)으로부터 광을 수신한다. 렌즈(115)는 이미지 센서(130)를 향해 광을 만곡시킨다. 렌즈(115)에 의해 수신된 광은 하나 이상의 제어 메커니즘들(120)에 의해 제어되는 조리개를 통과하고 이미지 센서(130)에 의해 수신된다.
하나 이상의 제어 메커니즘들(120)은 이미지 센서(130)로부터의 정보에 기초하여 그리고/또는 이미지 프로세서(150)로부터의 정보에 기초하여 노출, 포커스, 및/또는 줌을 제어할 수 있다. 하나 이상의 제어 메커니즘들(120)은 다수의 메커니즘들 및 컴포넌트들을 포함할 수 있고; 예를 들어, 제어 메커니즘들(120)은 하나 이상의 노출 제어 메커니즘들(125A), 하나 이상의 포커스 제어 메커니즘들(125B), 및/또는 하나 이상의 줌 제어 메커니즘들(125C)을 포함할 수 있다. 하나 이상의 제어 메커니즘들(120)은 또한, 아날로그 이득, 플래시, HDR(high dynamic range), 피사계 심도, 및/또는 다른 이미지 캡처 속성들을 제어하는 제어 메커니즘들과 같은, 예시된 것들 이외의 추가 제어 메커니즘들을 포함할 수 있다.
제어 메커니즘들(120) 중의 포커스 제어 메커니즘(125B)은 포커스 설정을 획득할 수 있다. 일부 예들에서, 포커스 제어 메커니즘(125B)은 메모리 레지스터에 포커스 설정을 저장한다. 포커스 설정에 기초하여, 포커스 제어 메커니즘(125B)은 이미지 센서(130)의 포지션에 대한 렌즈(115)의 포지션을 조정할 수 있다. 예를 들어, 포커스 설정에 기초하여, 포커스 제어 메커니즘(125B)은 모터 또는 서보를 작동시켜 렌즈(115)를 이미지 센서(130)에 더 가깝게 또는 이미지 센서(130)로부터 더 멀리 이동시켜, 포커스를 조정할 수 있다. 일부 경우들에서, 광이 포토다이오드에 도달하기 전에 대응하는 포토다이오드를 향해 렌즈(115)로부터 수신된 광을 각각 만곡시키는, 이미지 센서(130)의 각각의 포토다이오드 위의 하나 이상의 마이크로렌즈들과 같은 추가 렌즈들이 시스템(100)에 포함될 수 있다. 포커스 설정은 대비 검출 오토포커스(contrast detection autofocus, CDAF), 위상 검출 오토포커스(phase detection autofocus, PDAF) 또는 이들의 일부 조합을 통해 결정될 수 있다. 포커스 설정은 제어 메커니즘(120), 이미지 센서(130), 및/또는 이미지 프로세서(150)를 이용하여 결정될 수 있다. 포커스 설정은 이미지 캡처 설정 및/또는 이미지 프로세싱 설정으로서 지칭될 수 있다.
제어 메커니즘들(120) 중의 노출 제어 메커니즘(125A)은 노출 설정을 획득할 수 있다. 일부 경우들에서, 노출 제어 메커니즘(125A)은 메모리 레지스터에 노출 설정을 저장한다. 이 노출 설정에 기초하여, 노출 제어 메커니즘(125A)은 조리개의 크기(예컨대, 조리개 크기 또는 f/스톱), 조리개가 열려 있는 지속 시간(예컨대, 노출 시간 또는 셔터 속도), 이미지 센서(130)의 감도(예컨대, ISO 속도 또는 필름 속도), 이미지 센서(130)에 의해 적용된 아날로그 이득, 또는 이들의 임의의 조합을 제어할 수 있다. 노출 설정은 이미지 캡처 설정 및/또는 이미지 프로세싱 설정으로서 지칭될 수 있다.
제어 메커니즘들(120) 중의 줌 제어 메커니즘(125C)은 줌 설정을 획득할 수 있다. 일부 예들에서, 줌 제어 메커니즘(125C)은 메모리 레지스터에 줌 설정을 저장한다. 줌 설정에 기초하여, 줌 제어 메커니즘(125C)은 렌즈(115) 및 하나 이상의 추가 렌즈들을 포함하는 렌즈 엘리먼트들의 어셈블리(렌즈 어셈블리)의 초점 거리(focal length)를 제어할 수 있다. 예를 들어, 줌 제어 메커니즘(125C)은 하나 이상의 모터들 또는 서보들을 작동시켜 서로에 대해 하나 이상의 렌즈들을 이동시킴으로써 렌즈 어셈블리의 초점 거리를 제어할 수 있다. 줌 설정은 이미지 캡처 설정 및/또는 이미지 프로세싱 설정으로서 지칭될 수 있다. 일부 예들에서, 렌즈 어셈블리는 동초점(parfocal) 줌 렌즈 또는 가변초점(varifocal) 줌 렌즈를 포함할 수 있다. 일부 예들에서, 렌즈 어셈블리는 먼저 장면(110)으로부터 광을 수신하는 (일부 경우들에서 렌즈(115)일 수 있는) 포커싱 렌즈를 포함할 수 있으며, 이때 광은 이어서 그 광이 이미지 센서(130)에 도달하기 전에 포커싱 렌즈(예컨대, 렌즈(115))와 이미지 센서(130) 사이의 무한초점(afocal) 줌 시스템을 통과한다. 무한초점 줌 시스템은, 일부 경우들에서, (예컨대, 임계 차이 내에서) 초점 거리가 같거나 유사한 2개의 포지티브(예컨대, 수렴, 볼록) 렌즈들을, 그들 사이의 네거티브(예컨대, 발산, 오목) 렌즈와 함께 포함할 수 있다. 일부 경우들에서, 줌 제어 메커니즘(125C)은 네거티브 렌즈 및 포지티브 렌즈들 중 하나 또는 둘 모두와 같은, 무한초점 줌 시스템에서의 렌즈들 중 하나 이상을 이동시킨다.
이미지 센서(130)는 포토다이오드들 또는 다른 감광성 엘리먼트들의 하나 이상의 어레이들을 포함한다. 각각의 포토다이오드는 이미지 센서(130)에 의해 생성된 이미지에서의 특정 픽셀에 최종적으로 대응하는 광의 양을 측정한다. 일부 경우들에서, 상이한 포토다이오드들은 상이한 컬러 필터들에 의해 커버될 수 있고, 따라서, 포토다이오드를 커버하는 필터의 컬러와 매칭하는 광을 측정할 수 있다. 예를 들어, 베이어 컬러 필터들은 적색 컬러 필터들, 청색 컬러 필터들, 및 녹색 컬러 필터들을 포함하고, 이때 이미지의 각각의 픽셀은 적색 컬러 필터에서 커버된 적어도 하나의 포토다이오드로부터의 적색 광 데이터, 청색 컬러 필터에서 커버된 적어도 하나의 포토다이오드로부터의 청색 광 데이터, 및 녹색 컬러 필터에서 커버된 적어도 하나의 포토다이오드로부터의 녹색 광 데이터에 기초하여 생성된다. 다른 유형들의 컬러 필터들이 적색, 청색, 및/또는 녹색 컬러 필터들 대신에 또는 그에 부가하여 황색, 마젠타, 및/또는 시안("에메랄드"로서 또한 지칭됨) 컬러 필터들을 사용할 수 있다. 일부 이미지 센서들에는 컬러 필터들이 전혀 없을 수 있으며, 대신에 (일부 경우들에서 수직으로 적층된) 픽셀 어레이 전체에 걸쳐 상이한 포토다이오드들을 사용할 수 있다. 픽셀 어레이 전체에 걸쳐 상이한 포토다이오드들은 상이한 스펙트럼 감도 커브들을 가질 수 있으므로, 상이한 파장들의 광에 반응할 수 있다. 모노크롬 이미지 센서들에도 컬러 필터들이 없을 수 있으며, 따라서 컬러 깊이가 없을 수 있다.
일부 경우들에서, 이미지 센서(130)는, 위상 검출 오토포커스(PDAF)에 사용될 수 있는, 특정 시간들에서 및/또는 특정 각도들로부터, 특정 포토다이오드들 또는 특정 포토다이오드들의 부분들에 광이 도달하는 것을 차단하는 불투명 및/또는 반사 마스크들을 대안적으로 또는 부가적으로 포함할 수 있다. 이미지 센서(130)는 또한 포토다이오드들에 의해 출력된 아날로그 신호들을 증폭하기 위한 아날로그 이득 증폭기 및/또는 포토다이오드들의 출력된 (및/또는 아날로그 이득 증폭기에 의해 증폭된) 아날로그 신호들을 디지털 신호들로 변환하기 위한 아날로그-디지털 변환기(ADC)를 포함할 수 있다. 일부 경우들에서, 제어 메커니즘들(120) 중 하나 이상과 관련하여 논의된 특정 컴포넌트들 또는 기능들이 이미지 센서(130) 대신에 또는 부가적으로 포함될 수 있다. 이미지 센서(130)는 CCD(charge-coupled device) 센서, EMCCD(electron-multiplying CCDD) 센서, APS(active-pixel sensor), CMOS(complimentary metal-oxide semiconductor), NMOS(N-type metal-oxide semiconductor), 하이브리드 CCD/CMOS 센서(예컨대, sCMOS), 또는 이들의 일부 다른 조합일 수 있다.
이미지 프로세서(150)는 하나 이상의 이미지 신호 프로세서들(ISP들)(ISP(154)를 포함함), 하나 이상의 호스트 프로세서들(호스트 프로세서(152)를 포함함), 및/또는 컴퓨팅 디바이스(5000)와 관련하여 논의되는 임의의 다른 유형의 프로세서(5010) 중 하나 이상과 같은 하나 이상의 프로세서들을 포함할 수 있다. 호스트 프로세서(152)는 디지털 신호 프로세서(digital signal processor, DSP) 및/또는 다른 유형의 프로세서일 수 있다. 일부 구현들에서, 이미지 프로세서(150)는 호스트 프로세서(152) 및 ISP(154)를 포함하는 단일 집적 회로 또는 칩(예컨대, 시스템-온-칩 또는 SoC로서 지칭됨)이다. 일부 경우들에서, 칩은 또한 하나 이상의 입력/출력 포트들(예컨대, 입력/출력(I/O) 포트들(156)), 중앙 프로세싱 유닛(CPU)들, 그래픽 프로세싱 유닛(GPU)들, 광대역 모뎀들(예컨대, 3G, 4G 또는 LTE, 5G 등), 메모리, 연결성 컴포넌트들(예컨대, BluetoothTM, GPS(Global Positioning System) 등), 이들의 임의의 조합, 및/또는 다른 컴포넌트들을 포함할 수 있다. I/O 포트들(156)은 I2C(Inter-Integrated Circuit 2) 인터페이스, I3C(Inter-Integrated Circuit 3) 인터페이스, SPI(Serial Peripheral Interface) 인터페이스, 직렬 GPIO(General Purpose Input/Output) 인터페이스, MIPI(Mobile Industry Processor Interface)(예컨대, MIPI CSI-2 물리(PHY) 계층 포트 또는 인터페이스, AHB(Advanced High-performance Bus) 버스, 이들의 임의의 조합, 및/또는 다른 입력/출력 포트와 같은, 하나 이상의 프로토콜 또는 규격에 따른 임의의 적합한 입력/출력 포트들 또는 인터페이스를 포함할 수 있다. 하나의 예시적인 예에서, 호스트 프로세서(152)는 I2C 포트를 사용하여 이미지 센서(130)와 통신할 수 있고, ISP(154)는 MIPI 포트를 사용하여 이미지 센서(130)와 통신할 수 있다.
이미지 프로세서(150)는 디모자이킹(de-mosaicing), 컬러 공간 변환, 이미지 프레임 다운샘플링, 픽셀 보간, 자동 노출(AE) 제어, 자동 이득 제어(AGC), CDAF, PDAF, 자동 화이트 밸런스, HDR 이미지를 형성하기 위한 이미지 프레임들의 병합, 이미지 인식, 객체 인식, 특징 인식, 객체 검출, 객체 추적, 기술자(descriptor) 생성, 입력들의 수신, 출력들을 관리하는 것, 메모리를 관리하는 것, 또는 이들의 일부 조합과 같은 다수의 태스크들을 수행할 수 있다. 이미지 프로세서(150)는 이미지 프레임들 및/또는 프로세싱된 이미지들을 랜덤 액세스 메모리(random access memory, RAM)(140/5020), 판독 전용 메모리(read-only memory, ROM)(145/5025), 캐시, 메모리 유닛, 다른 저장 디바이스, 또는 이들의 일부 조합에 저장할 수 있다.
다양한 입력/출력(I/O) 디바이스들(160)이 이미지 프로세서(150)에 연결될 수 있다. I/O 디바이스들(160)은 디스플레이 스크린, 키보드, 키패드, 터치스크린, 트랙패드, 터치 감응 표면, 프린터, 임의의 다른 출력 디바이스들(5035), 임의의 다른 입력 디바이스들(5045), 또는 이들의 일부 조합을 포함할 수 있다. 일부 경우들에서, 캡션(caption)은 I/O 디바이스들(160)의 물리적 키보드 또는 키패드를 통해, 또는 I/O 디바이스들(160)의 터치스크린의 가상 키보드 또는 키패드를 통해 이미지 프로세싱 디바이스(105B)에 입력될 수 있다. I/O(160)는 시스템(100)과 하나 이상의 주변 디바이스들 사이의 유선 연결을 가능하게 하는 하나 이상의 포트들, 잭들, 또는 다른 커넥터들을 포함할 수 있으며, 이를 통해 시스템(100)은 하나 이상의 주변 디바이스로부터 데이터를 수신하고/하거나 하나 이상의 주변 디바이스들로 데이터를 송신할 수 있다. I/O(160)는 시스템(100)과 하나 이상의 주변 디바이스들 사이의 무선 연결을 가능하게 하는 하나 이상의 무선 송수신기들을 포함할 수 있으며, 이를 통해 시스템(100)은 하나 이상의 주변 디바이스로부터 데이터를 수신하고/하거나 하나 이상의 주변 디바이스들로 데이터를 송신할 수 있다. 주변 디바이스들은 이전에 논의된 유형들의 I/O 디바이스들(160) 중 임의의 것을 포함할 수 있으며 포트들, 잭들, 무선 송수신기들, 또는 다른 유선 및/또는 무선 커넥터들에 커플링되면 그 자체가 I/O 디바이스들(160)로 고려될 수 있다.
일부 경우들에서, 이미지 캡처 및 프로세싱 시스템(100)은 단일 디바이스일 수 있다. 일부 경우들에서, 이미지 캡처 및 프로세싱 시스템(100)은 이미지 캡처 디바이스(105A)(예컨대, 카메라) 및 이미지 프로세싱 디바이스(105B)(예컨대, 카메라에 커플링된 컴퓨팅 디바이스)를 포함하는 둘 이상의 별개의 디바이스들일 수 있다. 일부 구현들에서, 이미지 캡처 디바이스(105A) 및 이미지 프로세싱 디바이스(105B)는, 예를 들어, 하나 이상의 와이어들, 케이블들, 또는 다른 전기 커넥터들을 통해, 그리고/또는 하나 이상의 무선 송수신기들을 통해 무선으로 함께 커플링될 수 있다. 일부 구현들에서, 이미지 캡처 디바이스(105A) 및 이미지 프로세싱 디바이스(105B)는 서로 분리될 수 있다.
도 1에 도시된 바와 같이, 수직 파선은 도 1의 이미지 캡처 및 프로세싱 시스템(100)을, 이미지 캡처 디바이스(105A) 및 이미지 프로세싱 디바이스(105B)를 각각 표현하는 2개의 부분들로 분할한다. 이미지 캡처 디바이스(105A)는 렌즈(115), 제어 메커니즘들(120) 및 이미지 센서(130)를 포함한다. 이미지 프로세싱 디바이스(105B)는(ISP(154) 및 호스트 프로세서(152)를 포함하는)이미지 프로세서(150), RAM(140), ROM(145) 및 I/O(160)를 포함한다. 일부 경우들에서, ISP(154) 및/또는 호스트 프로세서(152)와 같은, 이미지 캡처 디바이스(105A)에 예시된 특정 컴포넌트들은 이미지 캡처 디바이스(105A)에 포함될 수 있다.
이미지 캡처 및 프로세싱 시스템(100)은 전자 디바이스, 예컨대, 이동식 또는 고정식 전화 핸드셋(예컨대, 스마트폰, 셀룰러 전화 등), 데스크톱 컴퓨터, 랩톱 또는 노트북 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 텔레비전, 스마트 홈 디바이스 또는 어시스턴트, 카메라, 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 콘솔, 비디오 스트리밍 디바이스, 인터넷 프로토콜(IP) 카메라, 또는 임의의 다른 적합한 전자 디바이스를 포함할 수 있다. 일부 예들에 있어서, 이미지 캡처 및 프로세싱 시스템(100)은 셀룰러 네트워크 통신들, 802.11 Wi-FI 통신들, 무선 로컬 영역 네트워크(WLAN) 통신들, 또는 이들의 일부 조합과 같은 무선 통신들을 위한 하나 이상의 무선 송수신기들을 포함할 수 있다. 일부 구현들에서, 이미지 캡처 디바이스(105A) 및 이미지 프로세싱 디바이스(105B)는 상이한 디바이스들일 수 있다. 예를 들어, 이미지 캡처 디바이스(105A)는 카메라 디바이스를 포함할 수 있고 이미지 프로세싱 디바이스(105B)는 모바일 핸드셋, 데스크톱 컴퓨터, 또는 다른 컴퓨팅 디바이스와 같은 컴퓨팅 디바이스를 포함할 수 있다.
이미지 캡처 및 프로세싱 시스템(100)이 특정 컴포넌트들을 포함하는 것으로 도시되어 있지만, 당업자는 이미지 캡처 및 프로세싱 시스템(100)이 도 1에 도시된 것들보다 더 많은 컴포넌트들을 포함할 수 있음을 이해할 것이다. 이미지 캡처 및 프로세싱 시스템(100)의 컴포넌트들은 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 하나 이상의 조합들을 포함할 수 있다. 예를 들어, 일부 구현들에서, 이미지 캡처 및 프로세싱 시스템(100)의 컴포넌트들은, 하나 이상의 프로그래밍가능 전자 회로들(예컨대, 마이크로프로세서들, GPU들, DSP들, CPU들, 및/또는 다른 적합한 전자 회로들)을 포함할 수 있는 전자 회로들 또는 다른 전자 하드웨어를 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있고, 그리고/또는 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있어서, 본 명세서에서 설명된 다양한 동작들을 수행할 수 있다. 소프트웨어 및/또는 펌웨어는 컴퓨터 판독가능 저장 매체에 저장되고 이미지 캡처 및 프로세싱 시스템(100)을 구현하는 전자 디바이스의 하나 이상의 프로세서들에 의해 실행가능한 하나 이상의 명령들을 포함할 수 있다.
하나 이상의 이미지들 내의 객체들의 위치들을 식별하고 추적하기 위한 시스템들, 장치들, 프로세스들, 및 컴퓨터 판독가능 매체들이 본 명세서에서 설명된다. 이미지들 각각은 이미지 캡처 디바이스(150A)의 이미지 센서(130), 이미지 캡처 및 프로세싱 시스템(100), 또는 이들의 조합을 사용하여 캡처될 수 있다. 이미지들 각각은 이미지 프로세싱 디바이스(105B), 이미지 캡처 및 프로세싱 시스템(100), 또는 이들의 조합을 사용하여 프로세싱될 수 있다. 이미지 캡처 및 프로세싱 시스템(100)은 도 2의 XR 시스템(210)과 같은, XR 시스템 또는 XR 디바이스의 일부일 수 있다. 이미지 캡처 및 프로세싱 시스템(100)은 도 2의 XR 시스템(210)의 센서들(215)과 같은, XR 시스템 또는 XR 디바이스의 센서일 수 있다. 이미지 캡처 및 프로세싱 시스템(100)은 도 2의 외부 디바이스(220)와 같은, 외부 디바이스의 일부일 수 있다. 이미지 캡처 및 프로세싱 시스템(100)은 도 2의 외부 디바이스(220)의 센서들(225)과 같은, 외부 디바이스의 센서일 수 있다.
도 2는 확장 현실(XR) 시스템(210)의 예시적인 아키텍처를 예시하는 블록도(200)이다. 도 2의 XR 시스템(210)은 하나 이상의 센서들(215), 프로세싱 엔진(205), 출력 콘텐츠 생성 엔진(280), 및 출력 디바이스(290)를 포함한다.
XR 시스템(210)의 프로세싱 엔진(205)은 XR 시스템(210)의 하나 이상의 센서들(215)로부터 센서 데이터를 수신할 수 있다. XR 시스템(210)의 하나 이상의 센서들(215)은, 예를 들어, 하나 이상의 이미지 센서들(130), 하나 이상의 가속도계들, 하나 이상의 자이로스코프들, 하나 이상의 관성 측정 유닛(IMU)들, 하나 이상의 LIDAR(light detection and ranging) 센서들, 하나 이상의 RADAR(radio detection and ranging) 센서들, 하나 이상의 SODAR(sound detection and ranging) 센서들, 하나 이상의 SONAR(sound navigation and ranging) 센서들, 하나 이상의 ToF(time-of-flight) 센서들, 하나 이상의 구조화된 광 센서들, 하나 이상의 마이크로폰들, 본 명세서에서 설명된 하나 이상의 다른 센서들, 또는 이들의 조합들을 포함할 수 있다. 일부 예들에서, 하나 이상의 센서들(215)은 하나 이상의 유선 및/또는 무선 센서 커넥터들을 통해 프로세싱 엔진(205)에 커플링될 수 있다. 일부 예들에서, 센서 데이터는 하나 이상의 이미지들을 포함할 수 있다. 하나 이상의 이미지들은 정지 이미지들, 하나 이상의 비디오들의 비디오 프레임들, 또는 이들의 조합들을 포함할 수 있다. 하나 이상의 이미지들은 정지 이미지들, 이미지 프레임들, 비디오 프레임들, 프레임들, 또는 이들의 조합으로서 지칭될 수 있다. 파선을 갖는 박스가 XR 시스템(210)의 하나 이상의 센서들(215) 주위에 예시되어, 하나 이상의 센서들(215)이 XR 시스템(210) 및/또는 프로세싱 엔진(205)의 일부로 고려될 수 있음을 나타낸다.
XR 시스템(210)의 프로세싱 엔진(205)은 외부 디바이스(220)의 하나 이상의 센서들(225)로부터 센서 데이터를 수신할 수 있다. 외부 디바이스(220)의 하나 이상의 센서들(225)은, 예를 들어, 하나 이상의 이미지 센서들(130), 하나 이상의 가속도계들, 하나 이상의 자이로스코프들, 하나 이상의 IMU들, 하나 이상의 LIDAR 센서들, 하나 이상의 RADAR 센서들, 하나 이상의 SODAR 센서들, 하나 이상의 SONAR 센서들, 하나 이상의 ToF 센서들, 하나 이상의 구조화된 광 센서들, 하나 이상의 마이크로폰들, 본 명세서에서 설명된 하나 이상의 다른 센서들, 또는 이들의 조합들을 포함할 수 있다. 일부 예들에서, 외부 디바이스(220) 및/또는 하나 이상의 센서들(225)은 하나 이상의 유선 및/또는 무선 연결들을 통해 프로세싱 엔진(205)에 커플링될 수 있다. 하나 이상의 이미지들은 정지 이미지들, 이미지 프레임들, 비디오 프레임들, 프레임들, 또는 이들의 조합으로서 지칭될 수 있다.
XR 시스템(210)의 프로세싱 엔진(205)은 외부 디바이스(220)와 협상할 수 있는 디바이스간(inter-device) 협상 엔진(230)을 포함한다. 디바이스간 협상 엔진(230)은 통신 송수신기(235)를 포함할 수 있다. 통신 송수신기(235)는 하나 이상의 유선 통신 송수신기들, 하나 이상의 무선 통신 송수신기들, 또는 이들의 조합들을 포함할 수 있다. XR 시스템(210)의 디바이스간 협상 엔진(230)은 통신 송수신기(235)를 사용하여 외부 디바이스(220)의 센서들(225)로부터 센서 데이터를 수신할 수 있다. XR 시스템(210)의 디바이스간 협상 엔진(230)은 또한, 통신 송수신기(235)를 사용하여, 동기화 협상, 보안 협상, 프라이버시 협상, 또는 이들의 조합과 같은 하나 이상의 협상들의 일부로서 외부 디바이스(220)로 협상 데이터를 전송하고/하거나 외부 디바이스(220)로부터 협상 데이터를 수신할 수 있다.
XR 시스템(210)의 디바이스간 협상 엔진(230)은, 외부 디바이스(220)의 하나 이상의 센서들(225)로부터 수신된 센서 데이터를 XR 시스템(210)의 하나 이상의 센서들(215)로부터 수신된 센서 데이터와 동기화하는 동기화 협상 엔진(240)을 포함할 수 있다. 예를 들어, 외부 디바이스(220)의 하나 이상의 센서들(225)로부터 수신된 센서 데이터에는, 센서 데이터의 개별 엘리먼트들(예컨대, 개별 이미지들)이 외부 디바이스(220)의 하나 이상의 센서들(225)에 의해 캡처되었던 타임스탬프들이 태깅될 수 있다. 마찬가지로, XR 시스템(210)의 하나 이상의 센서들(215)로부터 수신된 센서 데이터에는, 센서 데이터의 개별 엘리먼트들(예컨대, 개별 이미지들)이 XR 시스템(210)의 하나 이상의 센서들(215)에 의해 캡처되었던 타임스탬프들이 태깅될 수 있다. 동기화 협상 엔진(240)은, 대응하는 타임스탬프들이 가능한 한 근접하게 매칭되는 것에 기초하여, 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터의 엘리먼트를 XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터의 대응하는 엘리먼트와 매칭시킬 수 있다. 예시적인 예에서, XR 시스템(210)의 하나 이상의 센서들(215)은 타임스탬프가 4:30.3247인 이미지를 캡처할 수 있고, 외부 디바이스(220)의 하나 이상의 센서들(225)은 타임스탬프들이 4:29.7930, 4:30.0139, 4:30.3923, 및 4:30.8394인 이미지들을 캡처할 수 있다. 동기화 협상 엔진(240)은, 외부 디바이스(220)의 하나 이상의 센서들(225)의 센서 데이터로부터의 4:30.3923 타임스탬프가 XR 시스템(210)의 하나 이상의 센서들(215)의 센서 데이터로부터의 4:30.3247 타임스탬프에 가장 근접하게 매칭된다는 것을 식별할 수 있다. 따라서, 동기화 협상 엔진(240)은 하나 이상의 센서들(225)의 센서 데이터로부터의 4:30.3923 타임스탬프에 대응하는 이미지를 XR 시스템(210)의 하나 이상의 센서들(215)의 센서 데이터로부터의 4:30.3247 타임스탬프에 대응하는 이미지와 동기화할 수 있다. 일부 예들에서, 동기화 협상 엔진(240)은, XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터의 타임스탬프와 가장 근접하게 매칭되는 센서 데이터에 대한 요청을 외부 디바이스(220)로 전송할 수 있다. 동기화 협상 엔진(240)에 의해 수행되는 동기화는 센서 능력들에 기초할 수 있다. 예를 들어, XR 시스템(210)의 센서들(215)이 90fps(frames per second)로 이미지들을 캡처하는 한편, 외부 디바이스(220)의 센서들(225)이 30fps로 이미지들을 캡처하는 경우, 동기화 협상 엔진(240)은 XR 시스템(210)의 센서들(215)에 의해 캡처된 매 세 번째 이미지를, 외부 디바이스(220)의 센서들(225)에 의해 캡처된 이미지와 동기화할 수 있다.
XR 시스템(210)의 디바이스간 협상 엔진(230)은 보안 협상 엔진(245)을 포함할 수 있다. 보안 협상 엔진(245)은 XR 시스템(210)과 외부 디바이스(220) 사이에서 보안 핸드셰이크를 수행할 수 있다. 보안 핸드셰이크는, 예를 들어, 전송 계층 보안(transport layer security, TLS) 핸드셰이크, 보안 소켓 계층(secure sockets layer, SSL) 핸드셰이크, 또는 이들의 조합을 포함할 수 있다. 보안 핸드셰이크는 XR 시스템(210)과 외부 디바이스(220) 사이에서 사용될 암호화 프로토콜의 버전을 식별하고, XR 시스템(210)과 외부 디바이스(220) 사이에서 사용될 암호 묶음(cipher suite)을 결정하고, 하나 이상의 디지털 서명들(및/또는 하나 이상의 인증 기관들)을 사용하여 XR 시스템(210) 및/또는 외부 디바이스(220)의 아이덴티티들을 인증할 수 있다. 보안 핸드셰이크는 핸드셰이크가 완료된 후에 대칭 암호화를 사용하기 위해 세션 키들을 생성할 수 있다. 보안 핸드셰이크는 XR 시스템(210) 및 외부 디바이스(220) 각각에 대한 비대칭 키쌍(asymmetric keypair)을 생성 또는 검색할 수 있고, 각각의 키쌍으로부터의 공개 키들이 생성 또는 검색되는 디바이스로부터 다른 디바이스로 그들 공개 키들을 전송할 수 있다. 이어서, XR 시스템(210) 및 외부 디바이스(220)는 보안 핸드셰이크에 따라, 비대칭 및/또는 대칭 암호화를 사용하는, 암호화된 통신을 통해 통신할 수 있다.
XR 시스템(210)의 디바이스간 협상 엔진(230)은 프라이버시 협상 엔진(247)을 포함할 수 있다. 프라이버시 협상 엔진(247)은, 식별된 목적에, 예를 들어 도 6a, 도 6b, 또는 도 7에서와 같은 손 추적에 사용하기 위해 외부 디바이스(220)의 센서들(225)로부터 센서 데이터를 요청할 수 있다. 외부 디바이스(220)는 식별된 목적을 위해 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터에 대한 XR 시스템(210) 액세스를 승인 또는 거부할 수 있다. 일부 예들에서, 외부 디바이스(220)는 외부 디바이스(220)가 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터의 공유를 허용할 수 있는 목적들의 화이트리스트(whitelist)를 포함할 수 있다. 일부 예들에서, 외부 디바이스(220)는 외부 디바이스(220)가 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터의 공유를 허용할 수 없는(그리고 대신에 이를 거부해야 하는) 목적들의 블랙리스트(blacklist)를 포함할 수 있다. 일부 예들에서, 프라이버시 협상 엔진(247)은 다수의 목적들에 사용하기 위해 외부 디바이스(220)의 센서들(225)로부터 센서 데이터를 요청할 수 있지만, 외부 디바이스(220)는 외부 디바이스(220)가 다수의 목적들의 서브세트를 위해 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터를 공유하는 것을 단지 허용한다는 것을 나타내는 응답을 할 수 있다. 프라이버시 협상 엔진(247)은 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터가 사용될 수 있는 목적들에 대해 외부 디바이스(220)가 식별하는 임의의 제한들을 준수할 수 있다.
일부 예들에서, 외부 디바이스(220)는, 프라이버시 협상 엔진(247)이 그에 동의하고 그에 대응하는 액션들을 실행할 수 있는, 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터를 XR 시스템(210)이 전송받아야 하는 경우 XR 시스템(210)의 특정 요청들 또는 요구들을 행할 수 있다. 예를 들어, 일부 예들에서, 외부 디바이스(220)는, XR 시스템(210)이 사용 직후, 또는 사용 후 미리결정된 기간 뒤에 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터를 삭제하는 것을 요청할 수 있다. 프라이버시 협상 엔진(247)은 이러한 요건에 동의할 수 있고, XR 시스템(210)이 사용 직후, 또는 사용 후 미리결정된 기간 뒤에 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터를 삭제하는 것을 보장할 수 있다. 일부 예들에서, 외부 디바이스(220)는, XR 시스템(210)이 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터의 양태들의 특정 부분들을 사용하지 않거나, 폐기하거나, 또는 대체하는 것을 요청할 수 있다. 예를 들어, 외부 디바이스(220)는, XR 시스템(210)이 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터 내의 이름들, 얼굴들, 또는 다른 민감 정보를 사용하지 않거나 익명화하는 것을 요청할 수 있다. 프라이버시 협상 엔진(247)은 이러한 요건에 동의할 수 있고, XR 시스템(210)이 외부 디바이스(220)의 센서들(225)로부터의 센서 데이터의 양태들의 특정 부분들을 사용하지 않거나, 폐기하거나, 또는 대체하는 것을 보장할 수 있다.
XR 시스템(210)의 프로세싱 엔진(205)은 특징 관리 엔진(250)을 포함한다. 특징 관리 엔진(250)은 XR 시스템(210)의 하나 이상의 센서들(215)로부터 센서 데이터를 수신한다. 특징 관리 엔진(250)은 외부 디바이스(220)의 하나 이상의 센서들(225)로부터 센서 데이터를 수신한다. 디바이스간 협상 엔진(230)은 특징 관리 엔진(250)에 의한 센서 데이터의 수신 이전에 또는 그와 동시에, XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터를 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터와 동기화할 수 있다. 디바이스간 협상 엔진(230)은 특징 관리 엔진(250)에 의한 센서 데이터의 수신 이전에 또는 그와 동시에 임의의 보안 및/또는 프라이버시 제한들, 제약들, 및/또는 요건들을 식별할 수 있다.
특징 관리 엔진(250)은 특징 추출 엔진(255)을 포함한다. 특징 추출 엔진(255)은 XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터로부터 특징들을 검출 및/또는 추출할 수 있다. 일부 경우들에서, 특징 추출 엔진(255)은 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터로부터 특징들을 검출 및/또는 추출할 수 있다. 예를 들어, 센서 데이터가 이미지들을 포함하는 경우, 특징 추출 엔진(255)은 시각적 특징들을 검출 및/또는 추출할 수 있다. 시각적 특징들은 코너, 에지, 구배, 및/또는 블랍(blob)을 묘사하는 이미지의 일부와 같은, 이미지의 독특한, 고유한, 그리고/또는 식별가능한 일부들을 포함할 수 있다. 블랍은 하나 이상의 이미지 속성들(예컨대, 밝기, 컬러, 톤, 색조, 채도, 또는 이들의 조합)이 일정하거나 대략 일정한 영역으로 정의될 수 있다. 이미지에서 특징들을 검출하고/하거나 특징들을 추출하기 위해, 특징 추출 엔진(255)은, 특징 추출 엔진(255)이 스케일-공간 검색을 위해 프레임 버퍼를 사용할 수 있는 스케일-공간 검색을 수행할 수 있다. 이미지에서 특징들을 검출하기 위해, 특징 추출 엔진(255)은 에지 검출, 코너 검출, 블랍 검출, 릿지(ridge) 검출, 아핀 불변 특징 검출, 또는 이들의 조합을 사용할 수 있다. 에지 검출은 예를 들어, 케니(Canny), 데리체(Deriche), 차동(Differential), 소벨(Sobel), 프리윗(Prewitt), 및/또는 로버츠(Roberts) 크로스 에지 검출을 포함할 수 있다. 코너 검출은 예를 들어, 해리스 연산자(Harris operator), 쉬 및 토마시(Shi and Tomasi), 레벨 커브 곡률(level curve curvature), 헤시안 특징 강도 측정(Hessian feature strength measure), SUSAN(smallest univalue segment assimilating nucleus), 및/또는 FAST(features from accelerated segment test) 코너 검출을 포함할 수 있다. 블랍 검출은, 예를 들어, LoG(Laplacian of Gaussian), DoG(Difference of Gaussians), DoH(Determinant of Hessian), 최대 안정 극치 영역(Maximally stable extremal region)들, 및/또는 PCBR(Principal curvature-based region detector) 블랍 검출을 포함할 수 있다. 아핀 불변 특징 검출은 아핀 형상 적응, 해리스 아핀, 및/또는 헤시안 아핀 특징 검출을 포함할 수 있다.
특징들을 추출하기 위해, 특징 추출 엔진(255)은 특징들에 대한 기술자들을 생성할 수 있다. 특징에 대한 기술자는 특징 주위의 로컬 이미지 패치의 추출, 및 로컬 이미지 패치에 묘사된 바와 같은 특징의 기술에 기초하여 생성될 수 있다. 특징 기술자는, 예를 들어, 특징을 하나 이상의 특징 벡터들의 집합(collection)으로 기술할 수 있다. 특징들은 임의의 적합한 기법, 예컨대, SIFT(Scale Invariant Feature Transform), LIFT(Learned Invariant Feature Transform), SURF(Speed Up Robust Features), GLOH(Gradient Location-Orientation histogram), HOG(Histogram of Oriented Gradients), ORB(Oriented Fast and Rotated Brief), BRISK(Binary Robust Invariant Scalable Keypoints), FREAK(Fast Retina Keypoint), KAZE, AKAZE(Accelerated KAZE), NCC(Normalized Cross Correlation), 기술자 매칭, 다른 적합한 기법, 또는 이들의 조합을 사용하여 추출될 수 있다. 일부 예들에서, 특징 추출 엔진(255)을 사용하는 특징 검출 및/또는 특징 추출은 이미지 내의 특징의 위치를 식별하는 것, 3D 환경 내의 특징의 위치를 식별하는 것, 또는 둘 모두를 포함할 수 있다.
특징 관리 엔진(250)은 특징 추적 엔진(260)을 포함한다. 특징 추출 엔진(255)은 하나의 이미지로부터 다른 이미지로 특징 추출 엔진(255)에 의해 검출되고/되거나 추출된 특징들을 추적할 수 있다. 특징 추적 엔진(260)에 의해 수행되는 바와 같이, 특징 추적은 프레임-대-프레임 추적, 박스 추적, KLT(Kanade-Lucas-Tomasi) 특징 추적, 평균-시프트 특징 추적, 또는 이들의 조합을 포함할 수 있다. 일부 특징들은 손 또는 디스플레이 스크린과 같은 환경 내의 객체의 부분들을 표현한다. 특징 추적 엔진(260)은 환경의 특징들에 대한 환경 내의 객체의 특징들의 추적에 의해 환경 내의 객체의 이동을 추적할 수 있다.
특징 관리 엔진(250)은 데이터 융합 엔진(265)을 포함한다. 일부 예들에서, 데이터 융합 엔진(265)은, XR 시스템(210)의 하나 이상의 센서들(215)로부터 수신된 센서 데이터로부터 특징 추출 엔진(255)에 의해 검출되고/되거나 추출된 특징들을, 외부 디바이스(220)의 하나 이상의 센서들(225)로부터 수신된 센서 데이터로부터 특징 추출 엔진(255)에 의해 검출되고/되거나 추출된 특징들과 매칭시킬 수 있다. 일부 경우들에서, XR 시스템(210)의 하나 이상의 센서들(215) 및 외부 디바이스(220)의 하나 이상의 센서들(225)은, 각자의 센서들에 의해 (이미지 센서들의 경우에) 캡처되고/되거나 (비-이미징 센서들의 경우에) 감지된 실세계 환경의 장면들 사이에 적어도 일부 중첩이 존재하도록 배열될 수 있다. 일부 예들에서, 데이터 융합 엔진(265)은, XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터로부터 특징 추적 엔진(260)에 의해 추적된 특징들을, 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터로부터 특징 추적 엔진(260)에 의해 추적된 특징들과 매칭시킬 수 있다. 예를 들어, 데이터 융합 엔진(265)은, XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터 및 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터 둘 모두에서 검출되고, 추출되고/되거나 추적된 특정 특징의 단일 3차원 지점(3차원 세트의 좌표들을 가짐)을 식별할 수 있다. 센서 데이터의 세트들 둘 모두에서 공통적인 수개의 특징들을 매칭시킴으로써, 데이터 융합 엔진(265)은 또한, 센서 데이터의 하나의 세트에 있지만 다른 것에는 없는 특징들을, 센서 데이터의 세트들 둘 모두에 있는 특징들에 대해 맵핑시킬 수 있다. 따라서, 데이터 융합 엔진(265)은 XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터에 존재하지 않는 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터 내의 특징들을, XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터에 존재하는 특징들에 대해 위치시킬 수 있다. 마찬가지로, 데이터 융합 엔진(265)은 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터에 존재하지 않는 XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터 내의 특징들을, 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터에 존재하는 특징들에 대해 위치시킬 수 있다. 일부 예들에서, 특징 맵핑과 같은, 데이터 융합 엔진(265)에 의해 수행되는 바와 같이 본 명세서에서 논의된 특정 동작들은, XR 시스템(210)의 프로세싱 엔진(205)이 외부 디바이스(220)의 하나 이상의 센서들(225)로부터 센서 데이터를 수신하는지 여부에 상관없이 수행될 수 있다. 일부 예들에서, 특징 맵핑과 같은, 데이터 융합 엔진(265)에 의해 수행되는 바와 같이 본 명세서에서 논의된 특정 동작들은 특징 추출 엔진(255), 특징 추적 엔진(260), 또는 특징 관리 엔진(250)의 다른 일부에 의해 수행될 수 있다.
일부 예들에서, 특징 관리 엔진(250)은 XR 시스템(210)이 있는 실세계 환경 내에서 XR 시스템(210)의 (및/또는 XR 시스템(210)의 센서들(215) 각각의) 포즈의 포즈 추정을 수행할 수 있다. 포즈는 (예컨대, 수평(x) 방향, 수직(y) 방향, 및 깊이(z) 방향에서의) 3차원 병진 좌표들의 세트와 같은 3차원 공간에서의 위치를 포함할 수 있다. 부가적으로 또는 대안적으로, 포즈는 배향(예컨대, 피치, 요, 및/또는 롤)을 포함할 수 있다. 특징 관리 엔진(250)은, 특징 추출 엔진(255)에 의해 검출되고/되거나 추출된 특징들에 기초하여, 특징 추적 엔진(260)에 의해 추적된 특징들에 기초하여, 데이터 융합 엔진(265)에 의해 융합되고/되거나 맵핑된 특징들에 기초하여, 또는 이들의 조합으로 포즈를 추정할 수 있다. 일부 양태들에서, 특징 관리 엔진(250)은, 예를 들어, 센서들(215) 및/또는 센서들(225)이 동일한 장면의 멀티스코픽(multiscopic) 뷰들을 표현하는 이미지 센서들의 그룹들(예컨대, 쌍들)을 포함하는 경우, 특징들에 대한 스테레오 매칭을 수행할 수 있다. 일부 양태들에서, 특징 관리 엔진(250)은 맵 고밀화(map densification), 키 프레임 부가, 키 프레임 제거, 번들 조정, 루프 클로저 검출, 재로컬화, 및/또는 하나 이상의 다른 SLAM(simultaneous localization and mapping) 동작들과 같은, 맵핑을 수행할 수 있다. 일부 예들에서, XR 시스템(210)(및/또는 센서들(215) 및/또는 센서들(225) 각각)의 포즈는 특징 검출 및/또는 추출과 독립적으로 결정될 수 있다. 예를 들어, 포즈는 포지셔닝 기준 신호들(PRS), 비콘 신호들, ToF 측정치들 등을 사용하는 것과 같이, 포지셔닝 절차를 사용하여 결정될 수 있다. 고정식 센서들 또는 외부 디바이스들의 경우, 포즈는 (예컨대, 교정 프로세스 동안, 센서 또는 외부 디바이스의 위치를 나타내는 사용자 입력에 기초한 디바이스의 셋업 동안 등) 그것이 이전에 저장되었을 수 있는 센서 또는 외부 디바이스 또는 별개의 서버의 메모리로부터 검색될 수 있다.
특징 관리 엔진(250)은 특징 추출 엔진(255) 및/또는 특징 추적 엔진(260)을 사용하여 XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터로부터 검출되고, 추출되고/되거나 추적된 특징들에 기초하여 특징 정보(270)를 출력할 수 있다. 특징 관리 엔진(250)은 특징 추출 엔진(255) 및/또는 특징 추적 엔진(260)을 사용하여, 또는 특징 추출 엔진(255), 특징 추적 엔진(260), 및/또는 데이터 융합 엔진(265)을 사용하여, XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터 및 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터 둘 모두로부터 검출되고, 추출되고, 추적되고/되거나 병합된(조합된) 특징들에 기초하여 향상된 특징 정보(275)를 출력할 수 있다. 일부 경우들에서, 향상된 특징 정보(275)는 특징 정보(270)에 포함되지 않은 추가 특징들을 식별할 수 있고, 따라서, XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터 및/또는 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터 내에 표현된 환경의 보다 완전한 특징 맵핑을 표현할 수 있다. 향상된 특징 정보(275)는 특징 정보(270)보다 특징들에 대한 더 정확한 포지션들을 식별할 수 있고, 따라서, XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터 및/또는 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터 내에 표현된 환경의 보다 정확한 특징 맵핑을 표현할 수 있다.
XR 시스템(210)은 출력 콘텐츠 엔진(280)을 포함할 수 있다. 출력 콘텐츠 엔진(280)은 XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터, 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터, 및/또는 가상 콘텐츠에 기초하여 출력 콘텐츠(285)를 생성할 수 있다. 일부 예들에서, 출력 콘텐츠(285)는 향상된 특징 정보(275)(이는 외부 디바이스(220)의 하나 이상의 센서들(225)로부터의 센서 데이터로부터 추출된 특징 정보를 포함함)에 기초하여 포지셔닝된 가상 콘텐츠를 부가하기 위해 수정되는 XR 시스템(210)의 하나 이상의 센서들(215)로부터의 센서 데이터로부터의 입력 이미지의 수정된 버전인 출력 이미지를 포함할 수 있다. 예를 들어, 환경 내의 - 손, 또는 디스플레이 스크린과 같은 - 특정 객체에 대응하는 특징들은, 객체가 외부 디바이스(220)의 하나 이상의 센서들(225)의 시야에 있지만 XR 시스템(210)의 하나 이상의 센서들(215)의 시야에는 없는 경우, 향상된 특징 정보(275)에 있지만 특징 정보(270)에는 없을 수 있다.
XR 시스템(210)은 출력 콘텐츠(285)를 XR 시스템(210)의 출력 디바이스(290)로 출력할 수 있다. 출력 디바이스(290)는, 예를 들어, 디스플레이, 오디오 출력 디바이스, 도 10의 출력 디바이스들(1035) 중 임의의 것, XR 시스템(210)을 이전에 열거된 유형들의 출력 디바이스들 중 하나에 커플링할 수 있는 커넥터를 포함할 수 있다. 일부 예들에서, 출력 콘텐츠(285)는, XR 시스템(210)이 출력 디바이스(290)의 디스플레이를 사용하여 디스플레이할 수 있는, 하나 이상의 이미지들 및/또는 하나 이상의 비디오들을 포함할 수 있다. 디스플레이는 액정 디스플레이(LCD) 디스플레이, 플라즈마 디스플레이, 발광 다이오드(LED) 디스플레이, 유기 LED(OLED) 디스플레이, 전자 종이 디스플레이, 전자 잉크 디스플레이, 또는 이들의 조합과 같은 디스플레이 스크린을 포함할 수 있다. 디스플레이는 프로젝터, 및/또는 프로젝터가 이미지를 투사하는 투사 표면을 포함할 수 있다. 투사 표면은 불투명하거나, 투명하거나, 반투명할 수 있다. 디스플레이는 머리 장착형 디스플레이(HMD)(310)의 디스플레이, XR 안경(예컨대, AR 안경)의 디스플레이, 모바일 핸드셋(410)의 디스플레이(345), 및/또는 다른 디바이스일 수 있다. 일부 예들에서, 출력 콘텐츠(285)는, XR 시스템(210)이 출력 디바이스(290)의 디스플레이를 사용하여 디스플레이할 수 있는, 비디오의 하나 이상의 이미지들을 포함할 수 있다. 일부 예들에서, 출력 콘텐츠(285)는, XR 시스템(210)이 출력 디바이스(290)의 오디오 출력 디바이스를 사용하여 재생할 수 있는, 하나 이상의 오디오 클립들을 포함할 수 있다. 오디오 출력 디바이스는, 예를 들어, 스피커, 헤드폰, 또는 이들의 조합을 포함할 수 있다.
일부 예들에서, XR 시스템(210)은 외부 디바이스(220)로부터 직접 외부 디바이스(220)의 센서들(225)의 센서 데이터를 수신한다. 일부 예들에서, XR 시스템(210)은 중간 디바이스로부터 간접적으로 외부 디바이스(220)의 센서들(225)의 센서 데이터를 수신한다. 중간 디바이스의 예들은, 예를 들어, 외부 디바이스(220)가 그의 센서 데이터를 업로드하는 서버 및/또는 클라우드 서비스를 포함할 수 있다. XR 시스템(210)의 디바이스간 협상 엔진(230)과 외부 디바이스(220) 사이에서 수행되는 바와 같이 본 명세서에서 논의된 협상들은, 일부 경우들에서, XR 시스템(210)의 디바이스간 협상 엔진(230)과 중간 디바이스 사이에서 대신에 수행될 수 있다.
도 3a는 확장 현실(XR) 시스템(210)으로 사용되는 머리 장착형 디스플레이(HMD)(310)를 예시하는 사시도(300)이다. HMD(310)는, 예를 들어, 증강 현실(AR) 헤드셋(예컨대, AR 안경 또는 스마트 안경), 가상 현실(VR) 헤드셋, 혼합 현실(MR) 헤드셋, 다른 유형의 XR 헤드셋, 또는 이들의 일부 조합일 수 있다. HMD(310)는 XR 시스템(210)의 일례일 수 있거나, XR 시스템(210)의 일부일 수 있다. HMD(310)는 HMD(310)의 전방 부분을 따라 제1 카메라(330A) 및 제2 카메라(330B)를 포함한다. 제1 카메라(330A) 및 제2 카메라(330B)는 XR 시스템(210)의 센서들(215)의 예들일 수 있다. 일부 예들에서, HMD(310)는 단일 카메라만을 가질 수 있다. 일부 예들에서, HMD(310)는, 또한 XR 시스템(210)의 센서들(215)의 예들일 수 있는, 제1 카메라(330A) 및 제2 카메라(330B)에 부가하여 하나 이상의 추가 카메라들을 포함할 수 있다. 일부 예들에서, HMD(310)는, 또한 XR 시스템(210)의 센서들(215)의 예들일 수 있는, 제1 카메라(330A) 및 제2 카메라(330B)에 부가하여 하나 이상의 추가 센서들을 포함할 수 있다.
HMD(310)는 사용자(320)의 머리에 HMD(310)를 착용한 사용자(320)가 볼 수 있는 하나 이상의 디스플레이들(340)을 포함할 수 있다. HMD(310)의 하나 이상의 디스플레이들(340)은 XR 시스템(210)의 출력 디바이스(290)의 예들일 수 있다. 일부 예들에서, HMD(310)는 하나의 디스플레이(340) 및 2개의 뷰파인더들을 포함할 수 있다. 2개의 뷰파인더들은 사용자(320)의 좌안에 대한 좌측 뷰파인더 및 사용자(320)의 우안에 대한 우측 뷰파인더를 포함할 수 있다. 좌측 뷰파인더는 사용자(320)의 좌안이 디스플레이의 좌측면을 보도록 배향될 수 있다. 우측 뷰파인더는 사용자(320)의 우안이 디스플레이의 우측면을 보도록 배향될 수 있다. 일부 예들에서, HMD(310)는 사용자(320)의 좌안에 콘텐츠를 디스플레이하는 좌측 디스플레이 및 사용자(320)의 우안에 콘텐츠를 디스플레이하는 우측 디스플레이를 포함한, 2개의 디스플레이들(340)을 포함할 수 있다.
도 3b는 도 3a의 머리 장착형 디스플레이(HMD)가 사용자(320)에 의해 착용되는 것을 예시하는 사시도(350)이다. 사용자(320)는 HMD(310)를 사용자(320)의 눈들 위에 사용자(320)의 머리에 착용한다. HMD(310)는 제1 카메라(330A) 및 제2 카메라(330B)로 이미지들을 캡처할 수 있다. 일부 예들에서, HMD(310)는 사용자(320)의 눈들을 향해 하나 이상의 출력 이미지들을 디스플레이한다. 출력 이미지들은 출력 콘텐츠(285)의 예들일 수 있다. 출력 이미지들은 제1 카메라(330A) 또는 제2 카메라(330B)에 의해 캡처된 이미지들에 기초할 수 있다. 출력 이미지들은 일부 경우들에서 정보가 오버레이되고/되거나 다른 수정들이 있는, 환경의 입체적 뷰(stereoscopic view)를 제공할 수 있다. 예를 들어, HMD(310)는 사용자(320)의 우안에 제1 디스플레이 이미지를 디스플레이할 수 있는데, 제1 디스플레이 이미지는 제1 카메라(330A)에 의해 캡처된 이미지에 기초한다. HMD(310)는 사용자(320)의 좌안에 제2 디스플레이 이미지를 디스플레이할 수 있는데, 제2 디스플레이 이미지는 제2 카메라(330B)에 의해 캡처된 이미지에 기초한다. 예를 들어, HMD(310)는 제1 카메라(330A) 및 제2 카메라(330B)에 의해 캡처된 이미지들 위에 오버레이된 디스플레이 이미지들에 있어서 오버레이된 정보를 제공할 수 있다.
도 4a는 전면 카메라들을 포함하고 그리고 확장 현실(XR) 시스템(210)으로 사용되는 모바일 핸드셋(410)의 전방 표면을 예시하는 사시도(400)이다. 모바일 핸드셋(410)은 XR 시스템(210)의 일례일 수 있다. 모바일 핸드셋(410)은, 예를 들어, 셀룰러 전화, 위성 전화, 휴대용 게이밍 콘솔, 뮤직 플레이어, 건강 추적 디바이스, 웨어러블 디바이스, 무선 통신 디바이스, 랩톱, 모바일 디바이스, 본 명세서에서 논의된 임의의 다른 유형의 컴퓨팅 디바이스 또는 컴퓨팅 시스템(1100), 또는 이들의 조합일 수 있다. 모바일 핸드셋(410)의 전방 표면(420)은 디스플레이(440)를 포함한다. 모바일 핸드셋(410)의 전방 표면(420)은 제1 카메라(430A) 및 제2 카메라(430B)를 포함할 수 있다. 제1 카메라(430A) 및 제2 카메라(430B)는 XR 시스템(210)의 센서들(215)의 예들일 수 있다. 제1 카메라(430A) 및 제2 카메라(430B)는 모바일 핸드셋(410)의 전방 표면(420) 상의 디스플레이(440) 주위의 테두리(bezel)에 예시되어 있다. 일부 예들에서, 제1 카메라(430A) 및 제2 카메라(430B)는 모바일 핸드셋(410)의 전방 표면(420) 상의 디스플레이(440)로부터 컷 아웃(cut out)되는 노치부 또는 컷아웃부에 포지셔닝될 수 있다. 일부 예들에서, 제1 카메라(430A) 및 제2 카메라(430B)는 디스플레이(440)와 모바일 핸드셋(410)의 나머지 사이에 포지셔닝되는 언더-디스플레이 카메라들일 수 있어서, 광이 제1 카메라(430A) 및 제2 카메라(430B)에 도달하기 전에 디스플레이(440)의 일부분을 통과하도록 한다. 사시도(400)의 제1 카메라(430A) 및 제2 카메라(430B)는 전면 카메라들이다. 제1 카메라(430A) 및 제2 카메라(430B)는 모바일 핸드셋(410)의 전방 표면(420)의 평면 표면에 수직인 방향을 향한다. 제1 카메라(430A) 및 제2 카메라(430B)는 모바일 핸드셋(410)의 하나 이상의 카메라들 중 둘일 수 있다. 일부 예들에서, 모바일 핸드셋(410)의 전방 표면(420)은 단일 카메라만을 가질 수 있다. 일부 예들에서, 모바일 핸드셋(410)은, 또한 XR 시스템(210)의 센서들(215)의 예들일 수 있는, 제1 카메라(430A) 및 제2 카메라(430B)에 부가하여 하나 이상의 추가 카메라들을 포함할 수 있다. 일부 예들에서, 모바일 핸드셋(410)은, 또한 XR 시스템(210)의 센서들(215)의 예들일 수 있는, 제1 카메라(430A) 및 제2 카메라(430B)에 부가하여 하나 이상의 추가 센서들을 포함할 수 있다. 모바일 핸드셋(410)의 전방 표면(420)은 또한 디스플레이(440)를 포함한다. 일부 경우들에서, 모바일 핸드셋(410)의 전방 표면(420)은 하나 초과의 디스플레이(440)를 포함한다. 모바일 핸드셋(410)의 전방 표면(420)의 하나 이상의 디스플레이들(440)은 XR 시스템(210)의 출력 디바이스(290)의 예들일 수 있다.
도 4b는 후면 카메라들을 포함하고 그리고 확장 현실(XR) 시스템(210)으로 사용되는 모바일 핸드셋의 후방 표면을 예시하는 사시도(450)이다. 모바일 핸드셋(410)은 모바일 핸드셋(410)의 후방 표면(460) 상에 제3 카메라(430C) 및 제4 카메라(430D)를 포함한다. 사시도(450)의 제3 카메라(430C) 및 제4 카메라(430D)는 후방을 향한다. 제3 카메라(430C) 및 제4 카메라(430D)는 XR 시스템(210)의 센서들(215)의 예들일 수 있다. 제3 카메라(430C) 및 제4 카메라(430D)는 모바일 핸드셋(410)의 후방 표면(460)의 평면 표면에 수직인 방향을 향한다. 모바일 핸드셋(410)의 후방 표면(460)이 사시도(450)에 예시된 바와 같이 디스플레이(440)를 갖지 않지만, 일부 예들에서, 모바일 핸드셋(410)의 후방 표면(460)은 하나 이상의 후방 디스플레이들을 포함할 수 있다. 모바일 핸드셋(410)의 후방 표면(460)이 하나 이상의 후방 디스플레이들을 포함하는 예들에서, 하나 이상의 후방 디스플레이들은 XR 시스템(210)의 출력 디바이스(290)의 예들일 수 있다. 모바일 핸드셋(410)의 후방 표면(460)이 하나 이상의 후방 디스플레이들을 포함하는 경우, 하나 이상의 후방 디스플레이들에 대한 제3 카메라(430C) 및 제4 카메라(430D)의 임의의 포지셔닝 레이아웃들이 모바일 핸드셋(410)의 전방 표면(420)의 디스플레이(440)에 대해 제1 카메라(430A) 및 제2 카메라(430B)와 관련하여 논의된 바와 같이 사용될 수 있다. 제3 카메라(430C) 및 제4 카메라(430D)는 모바일 핸드셋(410)의 하나 이상의 카메라들 중 둘일 수 있다. 일부 예들에서, 모바일 핸드셋(410)의 후방 표면(460)은 단일 카메라만을 가질 수 있다. 일부 예들에서, 모바일 핸드셋(410)은, 또한 XR 시스템(210)의 센서들(215)의 예들일 수 있는, 제1 카메라(430A), 제2 카메라(430B), 제3 카메라(430C), 및 제4 카메라(430D)에 부가하여 하나 이상의 추가 카메라들을 포함할 수 있다. 일부 예들에서, 모바일 핸드셋(410)은, 또한 XR 시스템(210)의 센서들(215)의 예들일 수 있는, 제1 카메라(430A), 제2 카메라(430B), 제3 카메라(430C), 및 제4 카메라(430D)에 부가하여 하나 이상의 추가 센서들을 포함할 수 있다.
도 5는, 확장 현실(XR) 시스템(210)으로 사용되고 그리고 사용자(320)의 손(525)의 포지션이 머리 장착형 디스플레이(HMD)(310)의 시야(FOV)(520)에 있는 것에 기초하여 제스처-기반 입력을 결정하는 손 추적을 수행하는, HMD(310)를 착용한 사용자를 예시하는 사시도이다. 다른 예들에서, HMD(310)는 손(525)의 포지션이 HMD(310)의 FOV(520)에 있는 것에 기초하여 가상 객체를 포지셔닝하는 데 사용될 수 있다. HMD(310)의 제1 카메라(330A) 및/또는 제2 카메라(330B)는 XR 시스템(210)의 센서들(215)로 사용된다. HMD(310)의 FOV(520)는 제1 카메라(330A) 및/또는 제2 카메라(330B)의 FOV를 표현한다. HMD(310)의 FOV(520)는 파선들을 사용하여 예시된다. 사용자(320)의 손(525)은 HMD(310)의 센서들(215)의 FOV(520)에 있다. 따라서, HMD(310)의 XR 시스템(210)은 사용자(320) 및 HMD(310)가 내부에 위치되는 실세계 환경의 다른 특징들에 대한 사용자(320)의 손(525)의 특징들을 검출하고, 추출하고/하거나 추적하여, 사용자(320) 및 HMD(310)가 내부에 위치되는 실세계 환경에 대한 사용자(320)의 손(525)의 포즈를 식별한다. 손(525)의 포즈는 손의 위치 및/또는 손(525)의 배향(예컨대, 피치, 요, 및/또는 롤)을 포함할 수 있다. 손(525)의 포즈에 기초하여, HMD(310)는 HMD(310)의 사용자 인터페이스(UI)를 제어하기 위한 것과 같은 제스처-기반 입력을 결정할 수 있다.
위에서 언급된 바와 같이, 일부 경우들에서, HMD(310)는 손(525)의 결정된 포즈에 기초하여 손(525)에 대해 가상 객체를 어디에 디스플레이할지를 결정할 수 있다. 가상 객체는, HMD(310)가 디스플레이들(340)을 사용하여 사용자(320)에게 디스플레이하지만 사용자(320) 및 HMD(310)가 있는 실세계 환경에는 존재하지 않는 가상 객체를 표현한다. 하나의 예시적인 예에서, 가상 객체는 검(sword)이고, 마치 그것이 사용자(320)의 손(525)에 의해 보유되고 있는 것처럼 HMD(310)에 의해 디스플레이될 수 있다. 가상 객체의 포즈 - 위치 및 배향 - 는 손(525)의 포즈에 의존한다. HMD(310)의 XR 시스템(210)의 출력 콘텐츠 생성 엔진(280)은 출력 콘텐츠(285)가 디스플레이(들)(340) 상에 디스플레이되기(출력 디바이스들(290) 상에 출력되기) 전에 가상 객체(540)를 출력 콘텐츠(285)에 부가할 수 있다.
도 6a는, 확장 현실(XR) 시스템(210)으로 사용되고 그리고 손(525)이 머리 장착형 디스플레이(HMD)(310)의 시야(FOV)(620) 밖에 있더라도 사용자(320)의 손(525)의 포지션에 기초하여 제스처-기반 입력을 결정하기 위해 손 추적을 수행하는, HMD(310)를 착용한 사용자(320)를 예시하는 사시도(600)이다. HMD(310)는 손(515)이 외부 카메라(610)의 FOV(615)에 있는 것에 기초하여 손(525)이 FOV(602) 밖에 있을 때에도 손 추적을 수행할 수 있다. HMD(310)의 FOV(620)는 HMD(310)의 하나 이상의 카메라들 및/또는 다른 센서들의 FOV를 표현한다. HMD(310)의 FOV(620)는 파선들을 사용하여 예시된다. 사용자(320)의 손(525)은 HMD(310)의 FOV(620)에 있지 않은데, 그 이유는 사용자(320)가 손(525)을 HMD(310)의 FOV(620)로부터 너무 멀리 떨어져 이동시켰기 때문이다. 따라서, HMD(310)는, 그 자신의 카메라들 및/또는 다른 센서들을 사용하여, 도 6a의 그의 포지션에서 사용자의 손(525)의 위치를 식별 및/또는 추적할 수 없을 것이다. 사용자(320)의 손(525)이 HMD(310)의 FOV(620)에 있지 않더라도, 손(525)은 여전히 추적되어, 임의의 제스처-기반 입력들을 결정하고, 가상 객체의 적어도 일부가 (사용자(320)의 손(525)의 예시된 포즈에 따라) HMD(310)의 FOV(620)에 여전히 디스플레이되어야 할 때 손(525)에 대해 가상 객체를 어디에 디스플레이할지를 결정하고/하거나, 손(525)의 추적된 포즈에 기초하여 일부 다른 기능을 수행할 수 있다.
HMD(310)의 XR 시스템(210)이 손(525)을 추적하지 못하는 것(또는 다른 객체가 XR 시스템(210)에 의해 추적되는 것)은, XR 시스템(210)이 하나 이상의 다른 기능들을 언제 수행할지를 결정하기 위해 검출 및 사용하는 조건일 수 있다. HMD(310)의 XR 시스템(210)은, 손(525)이 HMD(310)의 FOV(620)에서 벗어나는 것으로 인해 또는 FOV(620)에서 손(525)을 더 이상 검출하지 못하는 것으로 인해 도 6a에 예시된 상황에서 이러한 조건을 검출할 수 있다. HMD(310)의 XR 시스템(210)은 외부 카메라(610)로 손 추적에 대한 지원 요청(640)을 전송할 수 있다. 외부 카메라(610)는 도 2의 외부 디바이스(220)의 일례일 수 있다. 예를 들어, 외부 카메라(610)는 랩톱 컴퓨터, 데스크톱 컴퓨터, 텔레비전, 스마트 홈 디바이스 또는 어시스턴트, 모바일 디바이스(예컨대, 스마트폰), 태블릿 컴퓨터, 또는 다른 외부 디바이스와 같은, 외부 디바이스의 일부일 수 있다. 외부 카메라(610)의 하나 이상의 이미지 센서들 및/또는 다른 센서들은 외부 디바이스(220)의 센서들(225)의 예들일 수 있다. HMD(310)의 XR 시스템(210)은 디바이스간 협상 엔진(230)과 관련하여 논의된 바와 같이 외부 카메라(610)와 디바이스간 협상을 수행할 수 있다. 이에 응답하여, 외부 카메라(610)는 데이터 스트림의 일부로서 손 추적 데이터(645)를 HMD(310)의 XR 시스템(210)으로 전송할 수 있다. 손 추적 데이터(645)는 하나 이상의 이미지 센서들과 같은, 외부 카메라(610)의 하나 이상의 센서들에 의해 캡처된 센서 데이터를 포함할 수 있다. 외부 카메라(610)의 FOV(615)는 일련의 점들 및 대시들을 갖는 라인들을 사용하여 예시된다. 외부 카메라(610)의 FOV(615)는 사용자(325)의 손(525)을 포함한다. 일부 예들에서, 손 추적 데이터(645)는, 외부 카메라(610)가 손 추적 데이터(645)를 HMD(310)의 XR 시스템(210)으로 전송하기 전에, 예를 들어 특징들을 검출하고, 특징들을 추출하고, 특징들을 추적하고/하거나, 특징 관리 엔진(250)의 하나 이상의 다른 동작들을 수행하기 위해, 외부 카메라(610)에 의해 적어도 부분적으로 프로세싱될 수 있으며, 이는 계산 리소스들(예컨대, HMD(310) 상에서의 배터리 소비, 사용되고 있는 프로세싱 리소스들의 양 등)을 감소시킬 수 있다. HMD(310)의 XR 시스템(210)은 손(525)이 HMD(310)의 FOV(620)에 있지 않음에도 불구하고, 손 추적 데이터(645)를 사용하여 사용자(320)의 손(525)의 포즈를 식별할 수 있다. 손(525)이 HMD(310)의 FOV(620)에 있지 않음에도 불구하고, HMD(310)의 XR 시스템(210)은 손 추적 데이터(645)에 기초하여 결정된 손 포즈를 사용하여, (예컨대, HMD(310) 상에서 실행되는 애플리케이션과 같은, HMD(310)의 UI를 제어하기 위해) 사용자에 의해 수행되는 하나 이상의 제스처-기반 입력들을 결정하고, 사용자(320)의 손(525)의 포즈에 기초하여 정확한 포즈로 HMD(310)의 FOV(620)에서 가상 객체를 어디에 디스플레이할지를 결정하고/하거나, 하나 이상의 다른 기능들을 수행할 수 있다.
도 6b는, 확장 현실(XR) 시스템(210)으로 사용되고 그리고 폐색물(660)(예컨대, 실세계 객체)이 머리 장착형 디스플레이(HMD)(310)의 시야(FOV)(670) 내에서 손(525)을 폐색할 때 사용자(320)의 손(525)의 포지션에 기초하여 제스처-기반 입력을 결정하기 위해 손 추적을 수행하는, HMD(310)를 착용한 사용자(320)를 예시하는 사시도(650)이다. HMD(310)는 손(525)이 외부 카메라(610)의 FOV(615)에 있는 것에 기초하여 손(525)이 폐색될 때에도 손 추적을 수행할 수 있다. HMD(310)의 FOV(670)는 HMD(310)의 하나 이상의 카메라들 및/또는 다른 센서들의 FOV를 표현한다. HMD(310)의 FOV(670)는 파선들을 사용하여 예시된다. 사용자(320)의 손(525)은 HMD(310)의 FOV(670)에 있지만, FOV(670)가 폐색물(660)에 의해 부분적으로 폐색되기 때문에 HMD(310)의 뷰로부터 폐색된다. 폐색물(660)은 HMD(310)의 FOV(670) 내에서 손(525)을 폐색한다. 따라서, HMD(310)는, 그 자체로, 도 6b의 그의 포지션에서 사용자의 손(525)의 위치를 식별 및/또는 추적할 수 없을 것이다. 사용자(320)의 손(525)이 HMD(310)의 FOV(670)에서 폐색되더라도, 손(525)은 여전히 추적되어, 임의의 제스처-기반 입력들을 결정하고, 가상 객체의 적어도 일부가 (사용자(320)의 손(525)의 예시된 포즈에 따라) HMD(310)의 FOV(670)에 여전히 디스플레이되어야 할 때 손(525)에 대해 가상 객체를 어디에 디스플레이할지를 결정하고/하거나, 손(525)의 추적된 포즈에 기초하여 일부 다른 기능을 수행할 수 있다.
HMD(310)의 XR 시스템(210)이 손(525)을 추적하지 못하는 것(또는 다른 객체가 XR 시스템(210)에 의해 추적되는 것)은, XR 시스템(210)이 하나 이상의 다른 기능들을 언제 수행할지를 결정하기 위해 검출 및 사용하는 조건일 수 있다. HMD(310)의 XR 시스템(210)은, 폐색물(660)이 HMD(310)의 FOV(670)에서 손(525)을 폐색하는 것으로 인해 도 6b에 예시된 상황에서 이러한 조건을 검출할 수 있다. 도 6a에서와 같이, 도 6b의 HMD(310)의 XR 시스템(210)은 외부 카메라(610)로 손 추적에 대한 지원 요청(640)을 전송할 수 있다. HMD(310)의 XR 시스템(210)은 디바이스간 협상 엔진(230)과 관련하여 논의된 바와 같이 외부 카메라(610)와 디바이스간 협상을 수행할 수 있다. 이에 응답하여, 외부 카메라(610)는 데이터 스트림의 일부로서 손 추적 데이터(645)를 HMD(310)의 XR 시스템(210)으로 전송할 수 있다. 손 추적 데이터(645)는 하나 이상의 이미지 센서들과 같은, 외부 카메라(610)의 하나 이상의 센서들에 의해 캡처된 센서 데이터를 포함할 수 있다. 외부 카메라(610)의 FOV(615)는 일련의 점들 및 대시들을 갖는 라인들을 사용하여 예시된다. 외부 카메라(610)의 FOV(615)는 사용자(325)의 손(525)을 포함한다. 일부 예들에서, 손 추적 데이터(645)는, 외부 카메라(610)가 손 추적 데이터(645)를 HMD(310)의 XR 시스템(210)으로 전송하기 전에, 예를 들어 특징들을 검출하고, 특징들을 추출하고, 특징들을 추적하고/하거나 특징 관리 엔진(250)의 하나 이상의 다른 동작들을 수행하기 위해, 외부 카메라(610)에 의해 적어도 부분적으로 프로세싱될 수 있으며, 이는 계산 리소스들(예컨대, HMD(310) 상에서의 배터리 소비, 사용되고 있는 프로세싱 리소스들의 양 등)을 감소시킬 수 있다. 손(525)이 HMD(310)의 FOV(620)에 있지 않음에도 불구하고, HMD(310)의 XR 시스템(210)은 손 추적 데이터(645)를 사용하여 손(525)이 HMD(310)의 FOV(670)에서 폐색됨에도 불구하고 사용자(320)의 손(525)의 포즈를 식별할 수 있다. 결정된 손 포즈가 사용되어, (예컨대, HMD(310) 상에서 실행되는 애플리케이션과 같은, HMD(310)의 UI를 제어하기 위해) 사용자에 의해 수행되는 하나 이상의 제스처-기반 입력들을 결정하고, 사용자(320)의 손(525)의 포즈에 기초하여 정확한 포즈로 HMD(310)의 FOV(620)에서 가상 객체를 어디에 디스플레이할지를 결정하고/하거나, 하나 이상의 다른 기능들을 수행할 수 있다.
일부 예들에서, 외부 카메라(610)는 도 6a 및 도 6b에 예시된 바와 같이, 보안 카메라와 같은, 독립형 카메라 디바이스일 수 있다. 일부 예들에서, 도 6a 및 도 6b의 외부 카메라(610)는, (도 7에서와 같은) 다른 HMD(710), 모바일 핸드셋(410), 랩톱 컴퓨터, 데스크톱 컴퓨터, 또는 임의의 다른 유형의 외부 디바이스(220)의 하나 이상의 카메라들일 수 있다.
도 7은 머리 장착형 디스플레이(HMD)(310)에서의 (확장 현실(XR) 디바이스의 동작 상태의 일례로서) 배터리 부족 조건(735)으로 인해 XR 시스템(210)으로 사용되는 HMD(310)의 사용자(320)의 손(525)을 손 추적하는 것에 대한 지원을 제공하는 외부 HMD(710) 디바이스를 예시하는 사시도(700)이다. HMD(310)의 FOV(예시되지 않음)는 HMD(310)의 하나 이상의 카메라들 및/또는 하나 이상의 센서들의 FOV일 수 있다. HMD(310)의 FOV(예시되지 않음)는 손(525)을 포함할 수 있거나, 손(525)이 누락될 수 있다. 외부 HMD(710)의 FOV(예시되지 않음)는 외부 HMD(710)의 하나 이상의 카메라들 및/또는 하나 이상의 센서들의 FOV일 수 있다. 외부 HMD(710)의 FOV(예시되지 않음)는 손(525)을 포함할 수 있거나, 손(525)이 누락될 수 있다.
HMD(310)의 XR 시스템(210)은 HMD(310)의 컴퓨팅 리소스의 레벨이 임계 레벨을 충족하거나, 그 미만인 것에 대응하는 HMD(310)에서의 조건을 검출할 수 있다. HMD(310)의 XR 시스템(210)은 HMD(310)의 컴퓨팅 리소스의 사용 레벨이 임계 레벨을 충족하거나, 그를 초과하는 것에 대응하는 HMD(310)에서의 조건을 검출할 수 있다. 예를 들어, 도 7은 HMD(310)가, HMD(310)의 하나 이상의 배터리들의 배터리 레벨이 임계 배터리 레벨(예컨대, 풀 배터리 레벨의 50%, 풀 배터리 레벨의 40%, 또는 다른 레벨)을 충족하거나, 그 미만임을 나타내는 배터리 부족 조건(735)을 검출하는 것을 예시한다. 경보(730)가, HMD(310)가 배터리 부족 조건(735)을 검출하는 것에 기초하여 예시된다. HMD(310)의 XR 시스템(210)은 외부 HMD(710)로 손 추적에 대한 지원 요청(740)을 전송할 수 있다. 외부 HMD(710)는 도 2의 외부 디바이스(220)의 일례일 수 있다. 외부 HMD(710)의 하나 이상의 이미지 센서들 및/또는 다른 센서들은 외부 디바이스(220)의 센서들(225)의 예들일 수 있다. HMD(310)의 XR 시스템(210)은 디바이스간 협상 엔진(230)과 관련하여 논의된 바와 같이 외부 HMD(710)와 디바이스간 협상을 수행할 수 있다. 이에 응답하여, 외부 HMD(710)는 데이터 스트림의 일부로서 손 추적 데이터(745)를 HMD(310)의 XR 시스템(210)으로 전송할 수 있다. 손 추적 데이터(745)는 하나 이상의 이미지 센서들과 같은, 외부 HMD(710)의 하나 이상의 센서들에 의해 캡처된 센서 데이터를 포함할 수 있다. 일부 예들에서, 손 추적 데이터(745)는, 외부 HMD(710)가 손 추적 데이터(745)를 HMD(310)의 XR 시스템(210)으로 전송하기 전에, 예를 들어 특징들을 검출하고, 특징들을 추출하고, 특징들을 추적하고/하거나 특징 관리 엔진(250)의 하나 이상의 다른 기능들을 수행하기 위해, 외부 HMD(710)에 의해 적어도 부분적으로 프로세싱되어, 계산 리소스들을 감소시킬 수 있다(예컨대, HMD(310) 상에서의 배터리 소비를 감소시키고, 사용되고 있는 프로세싱 리소스들의 양을 감소시키는 등등을 행함). HMD(310)의 XR 시스템(210)은 손 추적 데이터(745)를 사용하여 사용자(320)의 손(525)의 포즈 및/또는 손(525)이 HMD(310)의 FOV(도시되지 않음)에 있는지 여부를 식별할 수 있다.
HMD(310)가 그의 손 추적 태스크들 중 적어도 일부를 외부 HMD(710)로 오프로딩할 수 있기 때문에, HMD(310)는 그의 배터리 부하를 감소시키고 배터리를 덜 빨리 사용할 수 있고, 따라서 그의 배터리 부족 조건(735)에도 불구하고 더 오래 지속될 수 있다. 일부 예들에서, HMD(310)는 그의 카메라들 및/또는 다른 센서들을 턴 오프하거나 달리 디스에이블할 수 있다. 일부 예들에서, HMD(310)는 그의 센서들로부터의 센서 데이터의 캡처 품질 또는 레이트를 감소시켜, 예를 들어, 90fps 이미지 캡처로부터 30fps 캡처로 감소시킬 수 있다. 일부 예들에서, HMD(310)는 외부 HMD(710)의 카메라들 및/또는 다른 센서들에 부분적으로 또는 전체적으로 의존할 수 있다. 일부 예들에서, HMD(310)는 특징 추출 엔진(255), 특징 추적 엔진(260), 및/또는 데이터 융합 엔진(265)과 같은, 특징 관리 엔진(250)의 기능들 중 적어도 일부를 적어도 부분적으로 턴 오프하거나 달리 디스에이블할 수 있다. 일부 예들에서, HMD(310)는 외부 HMD(710)에 부분적으로 또는 전체적으로 의존하여, 특징 추출 엔진(255), 특징 추적 엔진(260), 및/또는 데이터 융합 엔진(265)과 같은, 특징 관리 엔진(250)의 기능들 중 적어도 일부를 수행할 수 있다. 일부 예들에서, HMD(310)는 HMD(310)의 디스플레이들(340)을 턴 오프하거나 달리 디스에이블할 수 있다. 일부 예들에서, HMD(310)는 그의 출력 콘텐츠(285)를 스마트워치, 랩톱, 또는 다른 디스플레이 디바이스와 같은 다른 디스플레이 디바이스로 전송할 수 있다. HMD(310)의 XR 시스템(210)의 동작에 대한 이러한 조정들은 HMD(310)가 그의 배터리 부하를 감소시키게 하고 배터리를 덜 빨리 사용하게 하고, 따라서 그의 배터리 부족 조건(735)에도 불구하고 더 오래 지속되게 할 수 있다.
일부 예들에서, HMD(310)의 XR 시스템(210)은 도 7의 배터리 부족 조건(735)과는 다른 조건들을 검출할 수 있다. 예를 들어, 조건의 검출은 HMD(310)의 다른 컴퓨팅 리소스들의 레벨들이 임계 레벨을 충족하거나, 그 미만인 것의 검출을 포함할 수 있다. 조건의 검출은 HMD(310)의 컴퓨팅 리소스의 사용 레벨들이 임계 레벨을 충족하거나, 그를 초과하는 것의 검출을 포함할 수 있다. 예를 들어, 조건은 HMD(310)의 이용가능한 메모리(예컨대, 메모리(1015), ROM(1020), 및/또는 RAM(1025))가 임계 메모리 레벨을 충족하거나, 그 미만인 것일 수 있다. 조건은 HMD(310)의 (예컨대, 저장 디바이스(1030) 상의) 이용가능한 저장 공간이 임계 레벨을 충족하거나, 그 미만인 것일 수 있다. 조건은 HMD(310)의 이용가능한 네트워크 대역폭이 임계 네트워크 대역폭 레벨을 충족하거나, 그 미만인 것일 수 있다. 조건은 HMD(310)의 이용가능한 프로세서 대역폭이 임계 프로세서 대역폭 레벨을 충족하거나, 그 미만인 것일 수 있다. 조건은 HMD(310)의 프로세서 사용이 임계 프로세서 사용 레벨을 충족하거나, 그를 초과하는 것일 수 있다.
일부 예들에서, 도 7의 외부 HMD(710)는 도 7에 예시된 바와 같은 HMD일 수 있다. 일부 예들에서, 외부 HMD(710)는 대신에 (도 6a 및 도 6b의 외부 카메라(610)에서와 같은) 독립형 카메라 디바이스(예컨대, 보안 카메라), 모바일 핸드셋(410), 또는 임의의 다른 유형의 외부 디바이스(220)일 수 있다.
도 8a는, 확장 현실(XR) 시스템(210)으로 사용되고 그리고 머리 장착형 디스플레이(HMD)(310)의 FOV(835)에서 (HMD(310)에 대해 외부인) 외부 디스플레이(810) 및/또는 외부 디스플레이(810) 상에 디스플레이된 시각적(미디어) 콘텐츠(812)의 포지션에 기초하여 HMD(310)의 디스플레이(들)(340)에 의해 디스플레이된 이미지에 가상 콘텐츠(815)를 포지셔닝하는, HMD(310)를 착용한 사용자(320)를 예시하는 사시도(800)이다. 도 8a에 도시된 바와 같이, HMD(310)를 착용한 사용자(320)는 외부 디스플레이(810)를 향하고 있고, 이는 시각적(미디어) 콘텐츠(812)를 디스플레이하고 있다. 외부 디스플레이(810)는 카메라(814)를 포함한다. HMD(310)의 FOV(835)는 HMD(310)의 하나 이상의 카메라들 및/또는 다른 센서들의 FOV를 표현한다. HMD(310)의 FOV(835)는 파선들을 사용하여 예시된다. 외부 디스플레이(810), 및 디스플레이(810) 상에 디스플레이된 시각적(미디어) 콘텐츠(812)는 둘 모두 HMD(310)의 FOV(835)에 있다.
HMD(310)의 XR 시스템(210)은 외부 디스플레이(810)를 검출할 수 있고/있거나 (예컨대, HMD(310)의 하나 이상의 카메라들 및/또는 다른 센서들에 의해 캡처된 하나 이상의 이미지들에서) 외부 디스플레이(810) 상에 디스플레이된 시각적(미디어) 콘텐츠(812)를 검출할 수 있다. 외부 디스플레이(810)의 검출 및/또는 외부 디스플레이(810) 상에 디스플레이된 시각적(미디어) 콘텐츠(812)의 검출은, HMD(310)의 XR 시스템(210)이 하나 이상의 다른 기능들을 언제 수행할지를 결정하기 위해(예컨대, HMD(310)를 둘러싸는 환경 내의 외부 디스플레이(810) 및/또는 다른 객체의 위치를 결정하고, 그 위치에 기초하여 기능을 수행하는 등을 행함) 검출 및 사용하는 조건일 수 있다. HMD(310)의 XR 시스템(210)은, 디스플레이(810) 및 시각적(미디어) 콘텐츠(812)가 HMD(310)의 FOV(835)에 있음으로 인해 도 8a에 예시된 상황에서 이러한 조건을 검출할 수 있다.
일부 예들에서, 조건을 검출하는 것에 응답하여, HMD(310)의 XR 시스템(210)은 추가(미디어) 콘텐츠(845)에 대한 요청(840)을 하나 이상의 서버들(847)로 전송할 수 있다. 일부 예들에서, 요청(840)은, 예를 들어, HMD(310)의 XR 시스템(210)의 미디어 인식 시스템에 기초하여, HMD(310)의 XR 시스템(210)에 의해 검출된 특정 시각적(미디어) 콘텐츠(812)에 기초할 수 있다. 요청(840)은 HMD(310)의 XR 시스템(210)에 의해 검출된 시각적(미디어) 콘텐츠(812)를 식별할 수 있다. 하나 이상의 서버들(847)은 HMD(310)의 XR 시스템(210)에 추가(미디어) 콘텐츠(845)를 제공할 수 있다. 추가(미디어) 콘텐츠(845)는 시각적(미디어) 콘텐츠(812)에 특정될 수 있다. 일부 경우들에서, 요청(840)은 HMD(310)의 센서들에 의해 캡처된 시각적(미디어) 콘텐츠(812)의 표현을 포함할 수 있고, 하나 이상의 서버들(847)은 하나 이상의 서버들(847)의 미디어 인식 시스템에 기초하여 특정 시각적(미디어) 콘텐츠(812)를 인식할 수 있다. HMD(310)의 XR 시스템(210)은 추가(미디어) 콘텐츠(845)를 사용하여 가상 콘텐츠(815)를 생성할 수 있다. HMD(310)의 XR 시스템(210)은, HMD(310)의 FOV(835) 내의 디스플레이(810) 및 시각적(미디어) 콘텐츠(812)의 포즈(예컨대, 위치 및/또는 배향)에 기초하여 출력 콘텐츠(285) 내에서 HMD(310)의 FOV(835) 내의 가상 콘텐츠(815)의 포즈(예컨대, 위치 및/또는 배향)를 결정할 수 있다. 가상 콘텐츠(815)는 도 8a에서 "Speedy Pursuit"으로 식별된, 시각적(미디어) 콘텐츠(812)의 제목(820)을 포함할 수 있다. 제목(820)은 디스플레이(810) 및 시각적(미디어) 콘텐츠(812)에 인접하게 그리고 그보다 위에 디스플레이될 수 있다. 일례에서, 가상 콘텐츠(815)는, 예를 들어 추가(미디어) 콘텐츠(845) 내의 추가 와이드스크린 비디오 데이터에 기초하여, 디스플레이(810) 및 시각적(미디어) 콘텐츠(812)에 인접하게 그리고 그 우측에 디스플레이(810)를 확장시키는 디스플레이 확장부(825)를 포함할 수 있다. 가상 콘텐츠(815)는 디스플레이(810) 및 시각적(미디어) 콘텐츠(812)에 인접하게 그리고 그 좌측에 가상 콘텐츠(815)에 관한 메타데이터(830)를 포함할 수 있다. 메타데이터(830)는 가상 콘텐츠(815)의 발매일(1998)을 식별하고, 시각적(미디어) 콘텐츠(812)에서 유명한 배우가 주연을 맡는다는 것을 식별할 수 있다. 일부 예들에서, 가상 콘텐츠(815)는 삭제된 장면들과 같은, 시각적(미디어) 콘텐츠(812)와 관련된 추가 정보 또는 콘텐츠를 포함할 수 있다. 일부 예들에서, 가상 콘텐츠(815)의 적어도 일부는 디스플레이(810) 및/또는 시각적(미디어) 콘텐츠(812) 위에 오버레이될 수 있다. 예를 들어, 가상 콘텐츠(815)는 시각적(미디어) 콘텐츠(812) 내의 특정 배우 또는 객체를 강조하거나 원을 그리는 데 사용될 수 있다. 예를 들어, 시각적(미디어) 콘텐츠(812)가 스포츠 게임인 경우, 가상 콘텐츠(815)는 공 또는 하키용 퍽(hockey puck)과 같은, 보기 어렵지만 중요한 객체를 강조하거나 원을 그릴 수 있다.
도 2의 맥락에서, 외부 디스플레이(810)는 외부 디바이스(220)로서 작용을 할 수 있고, 시각적(미디어) 콘텐츠(812)는 센서들(225)로부터의 센서 데이터와 유사한 외부 디바이스(220)로부터의 데이터 스트림으로서 작용을 할 수 있다. 일부 경우들에서, 디스플레이(810)는 시각적 콘텐츠(812)를 디스플레이하는 것 대신에 또는 그에 부가하여 시각적(미디어) 콘텐츠(812)를 HMD(310)의 XR 시스템(210)으로 송신할 수 있어서, HMD(310)의 XR 시스템(210)이 HMD(310)의 이미지 센서들 및/또는 다른 센서들에 의해 캡처된 이미지들 및/또는 다른 센서 데이터에서 시각적(미디어) 콘텐츠(812)를 보다 용이하게 검출 및/또는 인식할 수 있도록 할 수 있다. 일부 예들에서, 하나 이상의 서버들(847)은 외부 디바이스(220)로서 작용을 할 수 있고, 추가(미디어) 콘텐츠(845)는 센서들(225)로부터의 센서 데이터와 유사한 외부 디바이스(220)로부터의 데이터 스트림으로서 작용을 할 수 있다.
다른 예에서, HMD(310)를 착용한 사용자는 외부 디스플레이(810)를 향하고 있을 수 있어서, 외부 디스플레이(810)가 하나 이상의 카메라들 및/또는 다른 이미지 센서들의 FOV 내에 있도록 할 수 있다. HMD(310)의 하나 이상의 카메라들(및/또는 다른 이미지 센서들) 및 외부 디스플레이(810)의 카메라(814)(및/또는 다른 이미지 센서)는 객체 추적에 사용될 수 있다. 도 6a 및 도 6b와 관련하여 논의된 것과 유사하게, 위에서 언급된 바와 같은 조건을 검출하는 것에 기초하여, HMD(310)는 추적 목적들을 위해 HMD(310)의 카메라/이미지 센서(들)를 사용할지, 외부 디스플레이(810)의 카메라/이미지 센서(들)를 사용할지, 또는 HMD 및 외부 디스플레이(810) 둘 모두의 카메라/이미지 센서(들)를 사용할지를 결정할 수 있다.
도 8b는, 확장 현실(XR) 시스템(210)으로 사용되고 그리고 디스플레이(810) 및/또는 시각적(미디어) 콘텐츠(812)가 머리 장착형 디스플레이(HMD)(310)의 시야(FOV)(890) 밖에 있더라도 디스플레이(810) 및/또는 시각적(미디어) 콘텐츠(812)의 포지션에 기초하여 디스플레이(810) 상에 디스플레이된 시각적(미디어) 콘텐츠(812)의 가상 표현(860)을, HMD(310)의 디스플레이(들)(340)에 의해 디스플레이된 이미지에 포지셔닝하는, HMD(310)를 착용한 사용자(320)를 예시하는 사시도(850)이다. HMD(310)를 착용한 사용자(320)는 더 이상 시각적(미디어) 콘텐츠(812)를 디스플레이하고 있는 디스플레이(810)를 향하지 않는다. HMD(310)의 FOV(890)는 HMD(310)의 하나 이상의 카메라들 및/또는 다른 센서들의 FOV를 표현한다. HMD(310)의 FOV(890)는 파선들을 사용하여 예시된다. 디스플레이(810), 및 디스플레이(810) 상에 디스플레이된 시각적(미디어) 콘텐츠(812)는, HMD(310)의 FOV(890) 내에 있지 않다(그리고 따라서 그로부터 누락됨).
일례에서, HMD(310)의 XR 시스템(210)은 HMD(310)에 근접한(예컨대, HMD(310)의 무선 통신 범위 내의 또는 더 이른 시간에 HMD(310)의 FOV 내에서 검출된) 디스플레이(810)의 존재를 검출할 수 있고, 이는 HMD(310)의 XR 시스템(210)이 하나 이상의 다른 기능들을 언제 수행할지를 결정하기 위해 검출 및 사용하는 조건일 수 있다. 일례에서, HMD(310)의 XR 시스템(210)은 (예컨대, 디스플레이(810) 및/또는 시각적 콘텐츠(812)가 더 이상 HMD(310)의 FOV(890) 내에 있지 않다고 결정하는 것에 기초하여) 디스플레이(810) 및/또는 시각적(미디어) 콘텐츠(812)를 추적하지 못했다고 결정할 수 있는데, 이는 HMD(310)의 XR 시스템(210)이 하나 이상의 다른 기능들을 언제 수행할지를 결정하기 위해 검출 및 사용하는 조건일 수 있다. HMD(310)의 XR 시스템(210)은, 예를 들어, 사용자(320)가 그의 또는 그녀의 머리 및/또는 신체를 우측으로 돌렸기 때문에, 디스플레이(810) 및 시각적(미디어) 콘텐츠(812)가 더 이상 HMD(310)의 FOV(890)에 있지 않음으로 인해 도 8b에 예시된 상황에서 그러한 조건들을 검출할 수 있다. 조건을 검출하는 것에 응답하여, HMD(310)의 XR 시스템(210)은 시각적(미디어) 콘텐츠(812)에 대한 요청(880)을 디스플레이(810) 및/또는 디스플레이(810)와 연관된 하나 이상의 컴퓨팅 디바이스들(예컨대, 디스플레이(810)에 연결된 엔터테인먼트 디바이스, 미디어 센터 디바이스, 또는 컴퓨팅 시스템(1000))로 자동적으로 전송할 수 있다. 디스플레이(810), 및/또는 디스플레이(810)와 연관된 하나 이상의 컴퓨팅 디바이스들은 데이터 스트림의 일부로서 시각적(미디어) 콘텐츠(812)를 제공함으로써 요청(880)에 응답할 수 있다. HMD(310)의 XR 시스템(210)은 HMD(310)의 FOV(890) 내의 가상 콘텐츠(815)로서 시각적(미디어) 콘텐츠(812)의 가상 표현(860)을 생성할 수 있다. 일부 경우들에서, HMD(310)의 XR 시스템(210)은 HMD(310)의 FOV(890) 내의 가상 콘텐츠(815)로서 방향 표시자(directional indicator)(870)를 생성할 수 있다. 방향 표시자(870)는 시각적(미디어) 콘텐츠(812)를 디스플레이하고 있는 디스플레이(810)의 포지션을 가리킨다. 시각적 콘텐츠(812)의 가상 표현(860)은 HMD(310)의 사용자(320)가, 사용자(320)가 디스플레이(810)로부터 돌아서더라도 시각적(미디어) 콘텐츠(812)를 계속해서 시청하게 할 수 있다. 따라서, 사용자(320)는 사용자(320)가 잠시 돌아서야 하더라도 어떤 시각적(미디어) 콘텐츠(812)도 누락시키지 않아야 한다. 좌측을 가리키는 방향 표시자(870)는, 사용자(320)에게, 다시 시각적(미디어) 콘텐츠(812)를 디스플레이하는 디스플레이(810)를 향하도록 좌측으로 돌라고 알려 줄 수 있다. 하나 이상의 서버들(847)로부터의 추가(미디어) 콘텐츠(845)에 기초한 추가 가상 콘텐츠(815)가 또한, 가상(미디어) 콘텐츠(812)의 제목(820)과 같이, HMD(310)의 FOV(890)에 디스플레이될 수 있다.
도 2의 맥락에서, 디스플레이(810)는 외부 디바이스(220)로서 작용을 할 수 있고, 시각적(미디어) 콘텐츠(812)는 센서들(225)로부터의 센서 데이터와 유사한 외부 디바이스(220)로부터의 데이터 스트림으로서 작용을 할 수 있다. 일부 경우들에서, 디스플레이(810)는 시각적(미디어) 콘텐츠(812)를 디스플레이하는 것 대신에 또는 그에 부가하여 시각적(미디어) 콘텐츠(812)를 HMD(310)의 XR 시스템(210)으로 송신할 수 있어서, HMD(310)의 XR 시스템(210)이 HMD(310)의 이미지 센서들 및/또는 다른 센서들에 의해 캡처된 이미지들 및/또는 다른 센서 데이터에서 시각적(미디어) 콘텐츠(812)를 보다 용이하게 검출 및/또는 인식할 수 있도록 할 수 있다. 일부 예들에서, 하나 이상의 서버들(847)은 외부 디바이스(220)로서 작용을 할 수 있고, 추가(미디어) 콘텐츠(845)는 센서들(225)로부터의 센서 데이터와 유사한 외부 디바이스(220)로부터의 데이터 스트림으로서 작용을 할 수 있다.
HMD(310)가 하나 이상의 기능들을 수행하게 할 수 있는(예컨대, 객체의 위치를 결정하고, 리소스들이 외부 디바이스로 오프로딩될 것을 요청하고, 손 추적에 대한 외부 디바이스로부터의 지원을 요청하는 등을 행하게 함) 조건들의 다른 예들은, 특정 기능(예컨대, 콘텐츠를 디스플레이하는 것, 사용자의 손, 머리, 또는 신체와 같은 객체를 추적하는 것)에 이용가능할 때 이미징 디바이스(예컨대, XR 디바이스)가 아닌 외부 디바이스를 사용하는 것을 요청하는 사용자 입력 또는 설정, 프라이버시 및/또는 보안이 일정 요인(이는 또한 사용자 입력 또는 설정에 기초할 수 있음)인, 이미징 디바이스에 플러그 인될 때 특정 기능을 위해 디바이스(예컨대, 외부 디바이스)가 사용될 선호도를 나타내는 사용자 입력 또는 설정, 사용자 입력(예컨대, 이미징 디바이스를 턴 오프할 것을 요청하는 사용자 입력, 이미징 디바이스 상에서 실행되는 홈 자동화 애플리케이션을 통해 조명과 같은 외부 디바이스를 턴 온 또는 오프할 것을 요청하는 사용자 입력 등과 같은, 리소스들이 외부 디바이스로 오프로딩될 것을 요청하는 사용자 입력)에 기초함, (예컨대, 주변 조명이 불충분한 곳에서 하나의 디바이스 상의 적외선(IR) 센서가 유용할 때, 추적되고 있는 객체가 빠르게 이동하고 있고 더 높은 프레임 레이트를 갖는 이미지 센서가 더 적절할 때 등등에) 이미징 디바이스의 이미지 센서의 능력들에 기초함, 또는 이들의 임의의 조합을 포함할 수 있다.
예를 들어, HMD(310) 또는 HMD(310) 상에서 실행되는 애플리케이션은, 외부 디바이스가 이용가능할 때(예컨대, HMD(310)에 물리적으로 또는 무선으로 연결됨) 및/또는 외부 디바이스가 기능을 수행할 수 있을 때 특정 기능에 외부 디바이스를 사용할 선호도를 나타내는 (예컨대, HMD(310) 및/또는 애플리케이션에 제공된 사용자 입력에 기초한, 디폴트로 설정되는 등의) 설정으로 프로그래밍될 수 있다. 일례에서, 사용자에 의해 선택되거나 달리 인에이블되는(또는 일부 경우들에서 디폴트로 설정되는) 그러한 설정에 기초하여, HMD(310)에 연결된 외부 디스플레이(예컨대, 텔레비전, 랩톱 컴퓨터, 스마트 홈 디바이스 또는 어시스턴트, 태블릿 컴퓨터, 데스크톱 컴퓨터, 외부 XR 디바이스 등)가 HMD(310)에 대한 콘텐츠를 디스플레이하는 데 사용될 수 있다. 다른 예에서, 사용자에 의해 선택되거나 달리 인에이블되는(또는 일부 경우들에서 디폴트로 설정되는) 그러한 설정에 기초하여, HMD(310)에 연결된 외부 디바이스의 하나 이상의 카메라들 및/또는 다른 센서들이 객체(예컨대, 사용자의 손, 머리, 또는 신체, 추적을 수행하는 외부 디바이스 이외의 추가 외부 디바이스)를 추적하는 데 사용될 수 있다.
일부 예들에서, HMD(310) 또는 HMD(310) 상에서 실행되는 애플리케이션은, 보안 및/또는 프라이버시가 HMD(310)를 사용함으로써 손상될 수 있을 때 외부 디바이스를 사용할 선호도를 나타내는 (예컨대, HMD(310) 및/또는 애플리케이션에 제공된 사용자 입력에 기초한, 디폴트로 설정되는 등의) 프라이버시 또는 보안 설정으로 프로그래밍될 수 있다. 예를 들어, 사용자에 의해 선택되거나 달리 인에이블되는(또는 일부 경우들에서 디폴트로 설정되는) 프라이버시 또는 보안 설정에 기초하여, HMD(310)는 HMD(310) 상에 디스플레이된 콘텐츠가 다른 사람들 및/또는 카메라들에 의해 볼 수 있으며 따라서 사적이지 않거나 보안되지 않는다고 결정할 수 있다. 콘텐츠가 사적/보안되지 않는다고 결정하는 것에 응답하여, HMD(310)는 외부 디바이스가 콘텐츠를 디스플레이할 것을 요청하는 커맨드를 외부 디바이스로 전송할 수 있다.
일부 경우들에서, HMD(310)는 외부 디바이스의 능력들 및/또는 컴포넌트들에 기초하여 외부 디바이스로부터 지원을 요청할 수 있다. 예를 들어, 외부 디바이스는 HMD(310) 상에 존재하지 않는 이미지 센서를 포함할 수 있다. 일례에서, 이미지 센서는 주변 조명이 불충분할 때(예컨대, 저 조도 조건(low light condition)들에서) 객체 추적(예컨대, 손 추적, 머리 추적, 신체 추적 등)을 수행할 수 있는 IR 센서를 포함할 수 있다. 그러한 예에서, HMD(310)는, 이미지의 하나 이상의 광 값들이 조명 임계치 미만(예컨대, 특정 휘도, 럭스, 또는 3럭스 이하와 같은, 다른 조명 값 미만)일 때와 같은, 저 조도 조건이 (예컨대, HMD(310)의 카메라에 의해 캡처된 이미지를 분석하는 것에 기초하여) 존재할 때를 검출할 수 있다. 저 조도 조건을 검출하는 것에 응답하여, HMD(310)는, 외부 디바이스가 IR 센서 및/또는 임의의 다른 센서들을 사용하여 이미지들을 캡처하고 그리고 이미지들을 사용하여 객체 추적을 수행하거나(이 경우에 외부 디바이스가 포즈 정보를 HMD(310)로 전송할 수 있음) 이미지들을 HMD(310)로 전송하여 추적을 수행할 것을 요청하는 커맨드를 외부 디바이스로 전송할 수 있다. 다른 예에서, 이미지 센서는 높은 프레임 레이트로 이미지들을 캡처할 수 있는 카메라를 포함할 수 있고, 이는 빠르게 이동하고 있는 객체를 추적하는 데 사용될 수 있다. 그러한 일례에서, HMD(310)는, 객체가 빠르게 이동하고 있음을 검출할 수 있고, 외부 디바이스가 높은 프레임 레이트 카메라 및/또는 임의의 다른 센서들을 사용하여 이미지들을 캡처하고 그리고 이미지들을 사용하여 객체 추적을 수행하거나 이미지들을 HMD(310)로 전송하여 추적을 수행할 것을 요청하는 커맨드를 외부 디바이스로 전송할 수 있다.
일부 예들에서, 사용자는 사용자 입력(예컨대, 제스처 입력, 가상 또는 물리적 버튼 누르기 등)을 제공하여 HMD(310) 또는 외부 디바이스가 특정 기능을 수행하는지 여부를 제어할 수 있다. 일례에서, HMD(310) 배터리가 임계치 초과이고 손들이 HMD(310)의 FOV 내에 있더라도, 사용자는, HMD(310)가 객체 추적 기능(예컨대, 손 추적, 머리 추적, 신체 추적 등)을 외부 디바이스(예컨대, 텔레비전, 랩톱 컴퓨터, 스마트 홈 디바이스 또는 어시스턴트, 태블릿 컴퓨터, 데스크톱 컴퓨터, 외부 XR 디바이스 등)로 오프로딩할 것을 요청하는 사용자 입력을 HMD(310)에 제공할 수 있다. 예를 들어, 사용자는 연장된 기간 동안 HMD(310)를 사용할 것을 계획할 수 있으며(예컨대, 장기간 동안 게임을 재생함), 이는 어느 순간 외부 디바이스에 대한 배터리 기반 핸드오프를 요구할 것이다. 다른 예에서, 사용자는, (예컨대, HMD(310)의 하나 이상의 능력들 또는 컴포넌트들에 기초하여) 외부 디바이스가 아닌 HMD(310)에 의해 기능의 수행이 더 양호할 수 있는 경우 기능이 배터리를 소모시킬 때에도 기능을 위해 HMD(310)를 사용하는 것을 선호할 수 있다. 그러한 일례에서, 사용자는 HMD(310)에 사용자 입력을 제공하여 외부 디바이스로의 기능의 핸드오프를 오버라이딩할 수 있다.
일부 경우들에서, HMD(310)는 기능을 수행하기 위해 외부 디바이스가 필요할 것임 또는 기능을 수행하기 위해 HMD(310)가 필요함을 나타내는 조건을 검출할 수 있다. 하나의 예시적인 예에서, HMD(310)의 사용자의 손들의 손 추적을 수행하는 동안, HMD(310)는, 손들이 HMD(310)의 FOV의 에지를 향해 이동하고 있고 따라서 (예컨대, 과거 사용 또는 태스크의 본질에 기초하여) 사용자가 HMD(310)의 FOV를 넘어서 손들을 계속 이동시킬 것이라고 결정할 수 있다. 손들이 FOV를 지나 이동하기 전에 또는 이동할 때, HMD(310)는 하나 이상의 카메라들을 턴 온하고 손들의 이미지들 또는 비디오를 캡처하기 시작하라는 커맨드를 외부 디바이스로 전송할 수 있다. HMD(310)는, 외부 디바이스가 객체 추적을 수행하고 손들의 포즈 정보를 HMD(310)로 전송하거나, 또는 외부 디바이스가 이미지들/비디오를 HMD(310)로 전송하여 HMD(310)가 추적을 수행할 수 있도록 하는 것을 요청할 수 있다. 그러한 일례에서, HMD(310)는 일단 손들이 HMD(310)의 하나 이상의 카메라들의 알려진 FOV로 복귀하면 추적을 수행하는 것을 재개할 수 있다. 다른 예시적인 예에서, HMD(310)는, 사용자가 제자리에 고정되고(예컨대, 랩톱 상의 카메라) 그리고 객체 추적에 사용되고 있는 하나 이상의 센서들(예컨대, 카메라들 또는 다른 센서들)의 FOV로부터 떨어져 이동하고 있다고(또는 떨어져 이동할 것이라고) 결정할 수 있다. 사용자가 하나 이상의 센서들의 FOV에서 벗어날 것이라고 결정하는 것에 기초하여, HMD(310)는 그 자신의 카메라들 또는 다른 센서들을 사용하여 추적을 수행하는 것으로 전이할 수 있다(이 경우에, HMD(310)는 그의 센서들을 사용하여 추적을 수행하는 것을 중지하라는 커맨드를 외부 디바이스로 전송함). 일부 경우들에서, 일단 HMD(310) 및/또는 외부 디바이스가 추적을 위해 하나 이상의 센서들(예컨대, 카메라들)을 사용하지 않기로 결정하면, HMD(310) 및/또는 외부 디바이스는 센서들을 턴 오프할 수 있는데, 이는 전력을 절약하고, 프라이버시/보안을 개선하는 등을 행할 수 있다.
일부 예들에서, HMD(310)는, 그 HMD(310)를 트리거하여 기능을 수행하거나 외부 디바이스로 이전에 오프로딩되었던 기능의 수행을 재개할 수 있는 추가 조건을 검출할 수 있다. 예를 들어, 도 7의 예와 관련하여 설명된 바와 같이, HMD(310)는 HMD(310)의 동작 상태에 기초하여(예컨대, HMD(310) 배터리의 전력 또는 다른 계산 리소스들이 부족할 때, 예컨대, 임계 배터리 레벨 미만일 때) 외부 디바이스로 하나 이상의 객체 추적 태스크들(예컨대, 손 추적, 머리 추적, 신체 추적 등)을 오프로딩할 수 있다. HMD(310)는 후속적으로 충전될 수 있어서, HMD(310) 배터리의 배터리 레벨이 임계 배터리 레벨보다 더 크도록 할 수 있다. 배터리 레벨이 임계 배터리 레벨을 초과했다는 것을 검출하는 것에 기초하여, HMD(310)는, 하나 이상의 객체 추적 태스크들이 HMD(310)에 의해 적어도 부분적으로 수행될 것을 요청하는 커맨드를 외부 디바이스로 전송할 수 있다. 커맨드에 응답하여, 외부 디바이스는 객체 추적 태스크(들)를 수행하는 것을 중지할 수 있고, HMD(310)는 객체 추적 태스크(들)의 수행을 시작 또는 재개할 수 있다.
도 9는 이미지 데이터를 프로세싱하기 위한 프로세스(900)를 예시하는 흐름도이다. 프로세스(900)는 이미징 시스템에 의해 수행될 수 있다. 일부 예들에서, 이미징 시스템은 도 2의 XR 시스템(210)일 수 있다. 일부 예들에서, 이미징 시스템은, 예를 들어, 이미지 캡처 및 프로세싱 시스템(100), 이미지 캡처 디바이스(105A), 이미지 프로세싱 디바이스(105B), 이미지 프로세서(150), ISP(154), 호스트 프로세서(152), XR 시스템(210), 프로세싱 엔진(205), 디바이스간 협상 엔진(230), 특징 관리 엔진(250), 출력 콘텐츠 생성 엔진(280), 출력 디바이스(290), 머리 장착형 디스플레이(HMD) 디바이스(예컨대, HMD(310)), 모바일 핸드셋(410), 외부 HMD 디바이스(710), 하나 이상의 서버들(847), 컴퓨팅 시스템(1000), 또는 이들의 조합을 포함할 수 있다.
동작(905)에서, 프로세스(900)는, 디바이스(예컨대, 이미징 시스템)에 의해, 이미지 센서(예컨대, 디바이스의 이미지 센서)에 의해 캡처된 환경의 일부분의 이미지를 수신하는 것을 포함한다. 환경은 객체를 포함한다. 동작(910)에서, 프로세스(900)는 외부 디바이스로부터의 데이터 스트림을 식별하는 것을 포함한다. 외부 디바이스의 예들은 외부 디바이스(220), 외부 디바이스(220)의 센서들(225), 도 3의 HMD(310), 모바일 핸드셋(410), 외부 카메라(610), 외부 HMD(710), 디스플레이(810), 하나 이상의 서버들(847), 컴퓨팅 시스템(1000), 또는 이들의 조합을 포함할 수 있다.
동작(915)에서, 프로세스(900)는 이미지, 데이터 스트림, 장치의 동작 상태, 또는 이들의 임의의 조합에 기초하여 조건을 검출하는 것을 포함한다. 일부 경우들에서, 이미지에 기초하여 조건을 검출하는 것은 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하는 것을 포함한다. 일례에서, 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하는 것은 (예컨대, 도 6b에 도시된 바와 같이) 객체의 적어도 일부가 이미지에서 폐색된다고 결정하는 것을 포함한다. 일부 경우들에서, 디바이스의 동작 상태에 기초하여 조건을 검출하는 것은 리소스의 이용가능성이 임계치 미만이라고 결정하는 것을 포함한다. 일례에서, 리소스의 이용가능성이 임계치 미만이라고 결정하는 것은 배터리의 배터리 레벨이 배터리 레벨 임계치 미만이라고 결정하는 것을 포함한다. 다른 예에서, 리소스의 이용가능성이 임계치 미만이라고 결정하는 것은 이용가능한 대역폭이 대역폭 임계치 미만이라고 결정하는 것을 포함한다. 일부 경우들에서, 디바이스의 동작 상태에 기초하여 조건을 검출하는 것은 외부 디바이스로 프로세싱을 오프로딩하는 것에 대응하는 사용자 입력을 수신하는 것을 포함한다. 예를 들어, 전술된 바와 같이, 사용자는 사용자 입력(예컨대, 제스처 입력, 가상 또는 물리적 버튼 누르기 등)을 제공하여 HMD(310) 또는 외부 디바이스가 특정 기능을 수행하는지 여부를 제어할 수 있다.
일부 예들에서, 이미지에 기초하여 조건을 검출하는 것은 이미지 내의 하나 이상의 조명 조건들(예컨대, 저 조도 조건)을 결정하는 것을 포함한다. 일부 경우들에서, 이미지 내의 하나 이상의 조명 조건들을 결정하는 것은 이미지의 하나 이상의 광 값들이 조명 임계치(예컨대, 3럭스의 조명 임계치) 미만이라고 결정하는 것을 포함할 수 있다.
일부 예들에서, 객체는 외부 디스플레이 디바이스의 디스플레이이다. 일부 경우들에서, 프로세스(900)는, 적어도 부분적으로, 이미지에서, 외부 디스플레이 디바이스의 디스플레이 상에 디스플레이된 시각적 미디어 콘텐츠를 식별함으로써 이미지에 기초하여 조건을 검출하는 것을 포함한다.
동작(920)에서, 프로세스(900)는, 조건을 검출하는 것에 응답하여, 이미지 및 데이터 스트림 중 적어도 하나에 기초하여 환경 내의 객체의 위치를 결정하는 것을 포함한다. 일부 경우들에서, 외부 디바이스는 제2 이미지 센서를 포함한다. 일부 경우들에서, 데이터 스트림은 환경의 제2 부분의 제2 이미지를 포함하고, 환경 내의 객체의 위치를 결정하는 것은 제2 이미지 내의 객체의 묘사에 적어도 부분적으로 기초한다. 일부 예들에서, 이미지 내의 환경의 일부분과 환경의 제2 부분은 중첩된다.
일부 예들에서, 환경 내의 객체의 위치를 결정하는 것은 외부 디바이스에 환경 내의 객체의 위치를 식별하라는 요청을 전송하는 것을 포함한다. 일부 예들에서, 프로세스(900)는 외부 디바이스로부터 환경 내의 객체의 위치를 식별하는 응답을 수신하는 것을 포함할 수 있다.
일부 예들에서, 조건을 검출하는 것에 응답하여, 프로세스(900)는 이미지 센서에 의해 캡처된 이미지와 데이터 스트림으로부터의 데이터를 조합함으로써 적어도 병합된 데이터세트를 생성하는 것을 포함할 수 있다. 그러한 예들에서, 객체의 위치를 결정하는 것은 병합된 데이터세트에 적어도 부분적으로 기초할 수 있다.
동작(925)에서, 프로세스(900)는 환경 내의 객체의 위치에 기초하여 출력을 생성하는 것을 포함한다. 일부 예들에서, 출력을 생성하는 것은 콘텐츠를 생성하는 것을 포함한다. 일부 경우들에서, 프로세스(900)는 환경 내의 객체의 위치에 기초하여 콘텐츠를 출력하는 것을 포함한다. 예를 들어, 콘텐츠를 출력하는 것은 디스플레이되도록 디바이스의 디스플레이로 콘텐츠를 송신하거나 전송하는 것을 포함할 수 있다. 일부 예들에서, 콘텐츠는 외부 디스플레이 디바이스의 디스플레이를 가상으로 확장시킨다. 일부 경우들에서, 프로세스(900)는 재생되도록 오디오 출력 디바이스로 콘텐츠를 전송하는 것을 포함할 수 있다.
일부 예들에서, 출력을 생성하는 것은 사용자 입력에 기초하여 디바이스를 제어하는 것을 포함한다. 예를 들어, HMD(310)는 디바이스 또는 HMD(310)를 제어하기 위한 사용자 입력을 수신할 수 있다(예컨대, 이미징 디바이스 상에서 실행되는 홈 자동화 애플리케이션을 통해 조명과 같은 외부 디바이스를 턴 온 또는 오프할 것을 요청하는 사용자 입력, HMD(310)를 턴 오프할 것을 요청하는 사용자 입력 등).
일부 예들에서, 출력을 생성하는 것은 이미지의 영역 위에 가상 콘텐츠를 오버레이함으로써 적어도 부분적으로 콘텐츠를 생성하는 것을 포함한다. 그러한 예들에서, 이미지의 영역은 환경 내의 객체의 위치에 기초한다. 객체가 외부 디스플레이 디바이스의 디스플레이인 경우들에서, 이미지의 영역은 이미지 내의 외부 디스플레이 디바이스의 디스플레이의 묘사에 인접해 있다. 일부 예들에서, 객체는 디바이스의 사용자의 손이고, 여기서 손은 이미지의 영역에 적어도 부분적으로 인접해 있다.
일부 예들에서, 프로세스(900)는 이미지 센서에 의해 캡처된 추가 이미지, 데이터 스트림, 및 디바이스의 동작 상태 중 적어도 하나에 기초하여 추가 조건을 검출하는 것을 포함할 수 있다. 추가 조건을 검출하는 것에 응답하여, 프로세스(900)는 외부 디바이스에 의해 이전에 수행된 기능을 수행하는 것을 포함할 수 있다. 예를 들어, 위에서 설명된 HMD(310)는, 그 HMD(310)를 트리거하여 기능을 수행하거나 외부 디바이스로 이전에 오프로딩되었던 기능(예컨대, 손 추적, 머리 추적, 신체 추적 등)의 수행을 재개할 수 있는 추가 조건을 검출할 수 있다.
일부 예들에서, 본 명세서에서 설명된 프로세스들(예컨대, 프로세스(900) 및/또는 본 명세서에서 설명된 다른 프로세스)은 컴퓨팅 디바이스 또는 장치에 의해 수행될 수 있다. 일례에서, 프로세스(900)는 도 2의 XR 시스템(210)에 의해 수행될 수 있다. 다른 예에서, 프로세스(900)는 도 10에 도시된 컴퓨팅 시스템(1000)을 갖는 컴퓨팅 디바이스에 의해 수행될 수 있다. 예를 들어, 도 10에 도시된 컴퓨팅 시스템(1000)을 갖는 컴퓨팅 디바이스는 XR 시스템(210)의 이미지 프로세싱 엔진(205)의 컴포넌트들을 포함할 수 있고 도 10의 동작들을 구현할 수 있다.
컴퓨팅 디바이스는 임의의 적합한 디바이스, 예컨대, 모바일 디바이스(예컨대, 모바일 폰), 데스크톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 웨어러블 디바이스(예컨대, VR 헤드셋, AR 헤드셋, AR 안경, 네트워크 연결형 시계 또는 스마트워치, 또는 다른 웨어러블 디바이스), 서버 컴퓨터, 자율주행 차량 또는 자율주행 차량의 컴퓨팅 디바이스, 로보틱 디바이스, 텔레비전, 및/또는 프로세스(900)를 포함한, 본 명세서에서 설명된 프로세스들을 수행하기 위한 리소스 능력들을 갖는 임의의 다른 컴퓨팅 디바이스를 포함할 수 있다. 일부 경우들에서, 컴퓨팅 디바이스 또는 장치는 하나 이상의 입력 디바이스들, 하나 이상의 출력 디바이스들, 하나 이상의 프로세서들, 하나 이상의 마이크로프로세서들, 하나 이상의 마이크로컴퓨터들, 하나 이상의 카메라들, 하나 이상의 센서들, 및/또는 본 명세서에서 설명된 프로세스들의 단계들을 수행하도록 구성되는 다른 컴포넌트(들)와 같은 다양한 컴포넌트들을 포함할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 디스플레이, 데이터를 통신 및/또는 수신하도록 구성된 네트워크 인터페이스, 이들의 임의의 조합, 및/또는 다른 컴포넌트(들)를 포함할 수 있다. 네트워크 인터페이스는 인터넷 프로토콜(IP) 기반 데이터 또는 다른 유형의 데이터를 통신 및/또는 수신하도록 구성될 수 있다.
컴퓨팅 디바이스의 컴포넌트들은 회로부에서 구현될 수 있다. 예를 들어, 컴포넌트들은 본 명세서에서 설명된 다양한 동작들을 수행하기 위해, 하나 이상의 프로그래밍가능 전자 회로들(예컨대, 마이크로프로세서들, GPU(graphics processing unit)들, 디지털 신호 프로세서(DSP)들, CPU(central processing unit)들 및/또는 다른 적합한 전자 회로들)을 포함할 수 있는 전자 회로들 또는 다른 전자 하드웨어를 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있고, 그리고/또는 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있다.
프로세스(900)는 논리 흐름도들로서 예시되며, 그 동작은 하드웨어, 컴퓨터 명령들, 또는 이들의 조합에서 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들의 맥락에서, 동작들은 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 표현하며, 이러한 명령들은 하나 이상의 프로세서들에 의해 실행될 때, 열거된 동작들을 수행한다. 대체적으로, 컴퓨터 실행가능 명령들은 특정 기능들을 수행하거나 특정 데이터 유형들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로서 해석되는 것으로 의도되지 않으며, 임의의 수의 설명되는 동작들이 임의의 순서로 그리고/또는 병렬로 조합되어 프로세스들을 구현할 수 있다.
부가적으로, 프로세스(900) 및/또는 본 명세서에 설명된 다른 프로세스는 실행가능 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에 수행될 수 있으며, 하나 이상의 프로세서들 상에서 집합적으로 실행하는 코드(예컨대, 실행가능 명령들, 하나 이상의 컴퓨터 프로그램들, 또는 하나 이상의 애플리케이션들)로서, 하드웨어에 의해, 또는 이들의 조합으로 구현될 수 있다. 위에서 언급된 바와 같이, 코드는 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로, 컴퓨터 판독가능 또는 머신 판독가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독가능 또는 머신 판독가능 저장 매체는 비일시적일 수 있다.
도 10은 본 기술의 특정 양태들을 구현하기 위한 시스템의 일례를 예시하는 도면이다. 특히, 도 10은, 예를 들어, 내부 컴퓨팅 시스템, 원격 컴퓨팅 시스템, 카메라, 또는 이들의 임의의 컴포넌트를 구성하는 임의의 컴퓨팅 디바이스일 수 있는 컴퓨팅 시스템(1000)의 일례를 예시하고, 여기서 시스템의 컴포넌트들은 연결부(1005)를 사용하여 서로 통신한다. 연결부(1005)는 버스를 사용한 물리적 연결부이거나, 또는 칩셋 아키텍처에서와 같이 프로세서(1010)로의 직접 연결부일 수 있다. 연결부(1005)는 또한 가상 연결부, 네트워킹된 연결부 또는 논리 연결부일 수 있다.
일부 실시형태들에서, 컴퓨팅 시스템(1000)은 본 개시내용에서 설명된 기능들이 데이터센터, 다수의 데이터 센터들, 피어 네트워크 등 내에서 분산될 수 있는 분산 시스템이다. 일부 실시형태들에서, 설명된 시스템 컴포넌트들 중 하나 이상은 컴포넌트가 설명되는 기능의 일부 또는 전부를 각각 수행하는 다수의 그러한 컴포넌트들을 표현한다. 일부 실시 형태들에서, 컴포넌트들은 물리적 또는 가상 디바이스들일 수 있다.
예시적인 시스템(1000)은 적어도 하나의 프로세싱 유닛(CPU 또는 프로세서)(1010), 및 판독 전용 메모리(ROM)(1020) 및 랜덤 액세스 메모리(RAM)(1025)와 같은 시스템 메모리(1015)를 포함하는 다양한 시스템 컴포넌트들을 프로세서(1010)에 커플링시키는 연결부(1005)를 포함한다. 컴퓨팅 시스템(1000)은 프로세서(1010)와 직접 연결되거나, 이에 매우 근접하거나, 또는 이의 일부로서 통합된 고속 메모리의 캐시(1012)를 포함할 수 있다.
프로세서(1010)는 프로세서(1010)를 제어하도록 구성된 저장 디바이스(1030)에 저장된 서비스들(1032, 1034 및 1036)과 같은 임의의 범용 프로세서 및 하드웨어 서비스 또는 소프트웨어 서비스뿐만 아니라, 소프트웨어 명령들이 실제 프로세서 설계에 통합되는 특수 목적 프로세서를 포함할 수 있다. 프로세서(1010)는 본질적으로 다중 코어들 또는 프로세서들, 버스, 메모리 제어기, 캐시 등을 포함하는 완전 자급식 컴퓨팅 시스템일 수 있다. 다중 코어 프로세서는 대칭 또는 비대칭일 수 있다.
사용자 상호작용을 가능하게 하기 위해, 컴퓨팅 시스템(1000)은 음성용 마이크로폰, 제스처 또는 그래픽 입력용 터치 감응 스크린, 키보드, 마우스, 모션 입력, 음성 등과 같은 임의의 수의 입력 메커니즘들을 표현할 수 있는 입력 디바이스(1045)를 포함한다. 컴퓨팅 시스템(1000)은 또한 다수의 출력 메커니즘들 중 하나 이상일 수 있는 출력 디바이스(1035)를 포함할 수 있다. 일부 예들에서, 다중모드(multimodal) 시스템들은 사용자가 컴퓨팅 시스템(1000)과 통신하기 위해 다수의 유형들의 입력/출력을 제공할 수 있게 할 수 있다. 컴퓨팅 시스템(1000)은, 사용자 입력 및 시스템 출력을 대체적으로 통제하고 관리할 수 있는 통신 인터페이스(1040)를 포함할 수 있다. 통신 인터페이스는 오디오 잭/플러그, 마이크로폰 잭/플러그, 범용 직렬 버스(USB) 포트/플러그, Apple® Lightning® 포트/플러그, 이더넷 포트/플러그, 광섬유 포트/플러그, 독점적(proprietary) 유선 포트/플러그, BLUETOOTH® 무선 신호 전송, BLUETOOTH® 저에너지(BLE) 무선 신호 전송, IBEACON® 무선 신호 전송, 무선 주파수 식별(RFID) 무선 신호 전송, 근거리 통신(NFC) 무선 신호 전송, DSRC(dedicated short range communication) 무선 신호 전송, 802.11 Wi-Fi 무선 신호 전송, WLAN(wireless local area network) 신호 전송, VLC(Visible Light Communication), WiMAX(Worldwide Interoperability for Microwave Access), 적외선(IR) 통신 무선 신호 전송, PSTN(Public Switched Telephone Network) 신호 전송, ISDN(Integrated Services Digital Network) 신호 전송, 3G/4G/5G/LTE 셀룰러 데이터 네트워크 무선 신호 전송, ad-hoc 네트워크 신호 전송, 전파 신호 전송, 마이크로파 신호 전송, 적외선 신호 전송, 가시광 신호 전송, 자외광 신호 전송, 전자기 스펙트럼을 따른 무선 신호 전송, 또는 이들의 일부 조합을 이용하는 것들을 포함하는, 유선 및/또는 무선 송수신기들을 사용한 유선 또는 무선 통신 수신 및/또는 송신을 수행하거나 또는 용이하게 할 수 있다. 통신 인터페이스(1040)는 또한, 하나 이상의 GNSS(Global Navigation Satellite System) 시스템들과 연관된 하나 이상의 위성들로부터의 하나 이상의 신호들의 수신에 기초하여 컴퓨팅 시스템(1000)의 위치를 결정하는 데 사용되는 하나 이상의 GNSS 수신기들 또는 송수신기들을 포함할 수 있다. GNSS 시스템들은 미국 기반의 GPS(Global Positioning System), 러시아 기반의 GLONASS(Global Navigation Satellite System), 중국 기반의 BDS(BeiDou Navigation Satellite System) 및 유럽 기반의 갈릴레오 GNSS를 포함하지만 이에 제한되지는 않는다. 임의의 특정 하드웨어 배열에 대해 동작하는 것에 제한이 없으며, 따라서, 여기에서의 기본 특징들은 이들이 개발됨에 따라 개선된 하드웨어 또는 펌웨어 배열들로 쉽게 대체될 수 있다.
저장 디바이스(1030)는 비휘발성 및/또는 비일시적 및/또는 컴퓨터 판독가능 메모리 디바이스일 수 있고, 다음과 같은 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 하드 디스크 또는 다른 유형들의 컴퓨터 판독가능 매체들일 수 있다: 자기 카세트들, 플래시 메모리 카드들, 솔리드 스테이트 메모리 디바이스들, 디지털 다기능 디스크들, 카트리지들, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 자기 스트립/스트라이프, 임의의 다른 자기 저장 매체, 플래시 메모리, 멤리스터 메모리, 임의의 다른 솔리드-스테이트 메모리, 콤팩트 디스크 판독 전용 메모리(CD-ROM) 광 디스크, 재기록가능 콤팩트 디스크(CD) 광 디스크, 디지털 비디오 디스크(DVD) 광 디스크, 블루-레이 디스크(BDD) 광 디스크, 홀로그래픽 광 디스크, 다른 광 매체, 보안 디지털(SD) 카드, 마이크로 보안 디지털(microSD) 카드, Memory Stick® 카드, 스마트카드 칩, EMV 칩, 가입자 아이덴티티 모듈(SIM) 카드, 미니/마이크로/나노/피코 SIM 카드, 다른 집적 회로(IC) 칩/카드, 랜덤 액세스 메모리(RAM), 정적 RAM(SRAM), 동적 RAM(DRAM), 판독 전용 메모리(ROM), 프로그래밍가능 판독 전용 메모리(PROM), 소거가능한 프로그래밍가능 판독 전용 메모리(EPROM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(electrically erasable programmable read-only memory, EEPROM), 플래시 EPROM(FLASHEPROM), 캐시 메모리(L1/L2/L3/L4/L5/L#), 저항성 랜덤 액세스 메모리(RRAM/ReRAM), 상 변화 메모리(PCM), 스핀 전달 토크 RAM(STT-RAM), 다른 메모리 칩 또는 카트리지, 및/또는 이들의 조합.
저장 디바이스(1030)는, 그러한 소프트웨어를 정의하는 코드가 프로세서(1010)에 의해 실행될 때, 시스템으로 하여금 기능을 수행하게 하는 소프트웨어 서비스들, 서버들, 서비스들 등을 포함할 수 있다. 일부 실시형태들에서, 특정 기능을 수행하는 하드웨어 서비스는, 그 기능을 수행하기 위해, 프로세서(1010), 연결부(1005), 출력 디바이스(1035) 등과 같은 필요한 하드웨어 컴포넌트들과 관련하여 컴퓨터 판독가능 매체에 저장된 소프트웨어 컴포넌트를 포함할 수 있다.
본 명세서에서 사용된 바와 같이, 용어 "컴퓨터 판독가능 매체"는, 휴대용 또는 비휴대용 저장 디바이스들, 광 저장 디바이스들, 및 명령(들) 및/또는 데이터를 저장, 포함 또는 반송할 수 있는 다양한 다른 매체들을 포함하지만, 이에 제한되지는 않는다. 컴퓨터 판독가능 매체는 데이터가 저장될 수 있고 무선으로 또는 유선 연결들을 통해 전파되는 반송파들 및/또는 일시적 전자 신호들을 포함하지 않는 비일시적 매체를 포함할 수 있다. 비일시적 매체의 예들은 자기 디스크 또는 테이프, 콤팩트 디스크(CD) 또는 디지털 다기능 디스크(DVD)와 같은 광 저장 매체들, 플래시 메모리, 메모리 또는 메모리 디바이스들을 포함할 수 있지만, 이에 제한되지는 않는다. 컴퓨터 판독가능 매체 상에는 프로시저(procedure), 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들 또는 프로그램 명령문들의 임의의 조합을 표현할 수 있는 코드 및/또는 머신 실행가능 명령들이 저장될 수 있다. 코드 세그먼트는 정보, 데이터, 독립변수(argument)들, 파라미터들, 또는 메모리 콘텐츠들을 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함한 임의의 적합한 수단을 사용하여 전달, 포워딩, 또는 송신될 수 있다.
일부 실시 형태들에서, 컴퓨터 판독가능 저장 디바이스들, 매체들 및 메모리들은 비트 스트림 등을 포함하는 케이블 또는 무선 신호를 포함할 수 있다. 그러나 언급될 때, 비일시적 컴퓨터 판독가능 저장 매체들은 에너지, 반송파 신호들, 전자파들, 및 신호들 그 자체와 같은 매체들을 명시적으로 배제한다.
본 명세서에서 제공되는 실시 형태들 및 예들의 철저한 이해를 제공하기 위해, 특정 세부사항들이 위의 설명에서 제공된다. 그러나 실시 형태들은 이러한 특정 세부사항들 없이 실시될 수 있다는 것이 당업자에 의해 이해될 것이다. 설명의 명확성을 위해, 일부 경우들에서, 본 기술은 디바이스들, 디바이스 컴포넌트들, 소프트웨어로 구현되는 방법의 단계들 또는 루틴들, 또는 하드웨어와 소프트웨어의 조합들을 포함하는 기능 블록들을 포함하는 개별 기능 블록들을 포함하는 것으로 제시될 수 있다. 도면들에 도시된 그리고/또는 본 명세서에서 설명되는 것들 이외의 추가 컴포넌트들이 사용될 수 있다. 예를 들어, 불필요한 세부사항으로 실시 형태들을 모호하게 하지 않도록 회로들, 시스템들, 네트워크들, 프로세스들 및 다른 컴포넌트들은 블록도 형태의 컴포넌트들로서 도시될 수 있다. 다른 경우들에는, 실시 형태들을 모호하게 하는 것을 회피하기 위해, 잘 알려진 회로들, 프로세스들, 알고리즘들, 구조들 및 기법들은 불필요한 세부사항 없이 도시될 수 있다.
개별 실시 형태들은 위에서 순서도, 흐름도, 데이터 흐름도, 구조도, 또는 블록도로서 묘사되는 프로세스 또는 방법으로서 설명될 수 있다. 순서도가 동작들을 순차적인 프로세스로서 설명할 수 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 추가로, 동작들의 순서는 재-배열될 수 있다. 프로세스는 그의 동작들이 완료될 때 종료되지만 도면에 포함되지 않은 추가 단계들을 가질 수 있다. 프로세스는 방법, 함수, 프로시저, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응할 때, 그 종료는 호출 함수 또는 메인 함수로의 함수의 복귀에 대응할 수 있다.
위에서 설명된 예들에 따른 프로세스들 및 방법들은 컴퓨터 판독가능 매체들로부터 저장되거나 달리 이용가능한 컴퓨터 실행가능 명령들을 사용하여 구현될 수 있다. 그러한 명령들은 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터 또는 프로세싱 디바이스로 하여금 특정 기능 또는 기능들의 그룹을 수행하게 하거나 달리 구성하는 명령들 및 데이터를 포함할 수 있다. 사용되는 컴퓨터 리소스들의 부분들은 네트워크를 통해 액세스가능할 수 있다. 컴퓨터 실행가능 명령들은, 예를 들어, 바이너리들, 중간 포맷 명령들, 예컨대, 어셈블리 언어, 펌웨어, 소스 코드 등일 수 있다. 설명된 예들에 따른 방법들 동안 생성된 정보, 사용된 정보, 및/또는 명령들을 저장하는 데 사용될 수 있는 컴퓨터 판독가능 매체들의 예들은 자기 또는 광 디스크들, 플래시 메모리, 비휘발성 메모리가 제공된 USB 디바이스들, 네트워킹된 저장 디바이스들 등을 포함한다.
이러한 개시내용들에 따른 프로세스들 및 방법들을 구현하는 디바이스들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어들, 또는 이들의 임의의 조합을 포함할 수 있고, 다양한 폼 팩터들 중 임의의 폼 팩터를 취할 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현될 때, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들(예컨대, 컴퓨터 프로그램 제품)은 컴퓨터 판독가능 또는 머신 판독가능 매체에 저장될 수 있다. 프로세서(들)는 필요한 태스크들을 수행할 수 있다. 폼 팩터들의 전형적인 예들은 랩톱들, 스마트 폰들, 모바일 폰들, 태블릿 디바이스들 또는 다른 소형 폼 팩터 개인용 컴퓨터들, 개인용 디지털 어시스턴트들, 랙마운트 디바이스들, 독립형 디바이스들 등을 포함한다. 본 명세서에서 설명되는 기능은 또한 주변기기들 또는 애드인(add-in) 카드들로 구현될 수 있다. 그러한 기능은 또한 추가 예로서, 단일 디바이스에서 실행되는 상이한 프로세스들 또는 상이한 칩들 간에 회로 기판 상에서 구현될 수 있다.
명령들, 그러한 명령들을 전달하기 위한 매체들, 명령들을 실행하기 위한 컴퓨팅 리소스들, 및 그러한 컴퓨팅 리소스들을 지원하기 위한 다른 구조들은 본 개시내용에서 설명되는 기능들을 제공하기 위한 예시적인 수단들이다.
전술한 설명에서, 본 출원의 양태들은 본 출원의 특정 실시 형태들을 참조하여 설명되지만, 당업자는 본 출원이 이에 제한되지는 않음을 인식할 것이다. 따라서, 본 출원의 예시적인 실시 형태들이 본 명세서에서 상세히 설명되었지만, 본 발명의 개념들은 다른 방식으로 다양하게 구현 및 이용될 수 있고, 첨부된 청구항들은 종래 기술에 의해 제한된 것을 제외하고, 그러한 변형들을 포함하는 것으로 해석되어야 한다는 것이 이해되어야 한다. 위에서 설명된 본 출원의 다양한 특징들 및 양태들은 개별적으로 또는 공동으로 사용될 수 있다. 추가로, 실시형태들은 본 명세서의 범주로부터 일탈함이 없이 본 명세서에서 설명된 것들을 넘어서는 임의의 수의 환경들 및 애플리케이션들에서 활용될 수 있다. 이에 따라, 본 명세서 및 도면들은 제한적인 것이 아니라 예시적인 것으로 간주되어야 한다. 예시의 목적들로, 방법들은 특정 순서로 설명되었다. 대안적인 실시형태들에서, 방법들은 설명된 것과 상이한 순서로 수행될 수 있음을 이해해야 한다.
당업자는 본 명세서에서 사용된 미만("<") 및 초과(">") 기호들 또는 용어가 본 개시내용의 범주로부터 일탈함없이 이하("") 및 이상("") 기호들로 각각 대체될 수 있음을 이해할 것이다.
컴포넌트들이 특정 동작을 수행"하도록 구성되는" 것으로 설명되는 경우, 그러한 구성은 예를 들어, 전자 회로들 또는 다른 하드웨어를 설계하여 동작을 수행하는 것에 의해, 프로그래밍가능 전자 회로들(예컨대, 마이크로프로세서들, 또는 다른 적합한 전자 회로들)을 프로그래밍하여 동작을 수행하는 것에 의해, 또는 이들의 임의의 조합에 의해, 달성될 수 있다.
문구 "~에 커플링된(coupled to)"은 직접 또는 간접적으로 다른 컴포넌트에 물리적으로 연결되는 임의의 컴포넌트, 및/또는, 직접 또는 간접적으로 다른 컴포넌트와 통신하는(예컨대, 유선 또는 무선 연결, 및/또는 다른 적합한 통신 인터페이스를 통해 다른 컴포넌트에 연결됨) 임의의 컴포넌트를 지칭한다.
세트 "중 적어도 하나" 또는 세트 "중 하나 이상"을 인용하는 청구항 언어 또는 다른 언어는 세트 중 하나의 멤버 또는 세트 중 다수의 멤버들이 (임의의 조합으로) 청구항을 만족시킨다는 것을 나타낸다. 예를 들어, "A 및 B 중 적어도 하나"를 인용하는 청구항 언어는 A, B, 또는 A 및 B를 의미한다. 다른 예에서, "A, B, 및 C 중 적어도 하나"를 인용하는 청구항 언어는 A, B, C, 또는 A 및 B, 또는 A 및 C, 또는 B 및 C, 또는 A 및 B 및 C를 의미한다. 그 언어, 세트 "중 적어도 하나" 및/또는 세트 중 "하나 이상"은 세트를 그 세트에 열거된 항목들로 제한하지 않는다. 예를 들어, "A 및 B 중 적어도 하나"를 인용하는 청구항 언어는 A, B, 또는 A 및 B를 의미할 수 있고, A 및 B의 세트에 열거되지 않은 항목들을 부가적으로 포함할 수 있다.
본 명세서에 개시된 실시 형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 조합들로 구현될 수 있다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그것들의 기능 관점들에서 일반적으로 위에서 설명되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자는 설명된 기능을 특정 출원마다 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들이 본 출원의 범주로부터의 일탈을 야기하는 것으로 해석되지는 않아야 한다.
본 명세서에서 설명되는 기법들은 또한 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 이러한 기법들은 무선 통신 디바이스 핸드셋들 및 다른 디바이스들에서의 적용을 포함하여 다수의 용도들을 갖는 범용 컴퓨터들, 무선 통신 디바이스 핸드셋들 또는 집적 회로 디바이스들과 같은 다양한 디바이스들 중 임의의 디바이스에서 구현될 수 있다. 모듈들 또는 컴포넌트들로서 설명되는 임의의 특징들은 통합된 로직 디바이스에서 함께 또는 별개이지만 상호운용가능한 로직 디바이스들에서 별도로 구현될 수 있다. 소프트웨어로 구현된다면, 이 기법들은, 실행될 때 위에서 설명된 방법들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터 판독가능 데이터 저장 매체에 의해 적어도 부분적으로 실현될 수 있다. 컴퓨터 판독가능 데이터 저장 매체는 패키징 재료들을 포함할 수 있는 컴퓨터 프로그램 제품의 일부를 형성할 수 있다. 컴퓨터 판독가능 매체는 메모리 또는 데이터 저장 매체들, 예컨대, 랜덤 액세스 메모리(RAM), 예컨대, 동기식 동적 랜덤 액세스 메모리(synchronous dynamic random access memory, SDRAM), 판독 전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(non-volatile random access memory, NVRAM), 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(EEPROM), 플래시 메모리, 자기 또는 광 데이터 저장 매체들 등을 포함할 수 있다. 부가적으로 또는 대안적으로, 기법들은 명령들 또는 데이터 구조들의 형태로 프로그램 코드를 반송 또는 통신하고 전파된 신호들 또는 파들과 같은, 컴퓨터에 의해 액세스, 판독 및/또는 실행될 수 있는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수 있다.
프로그램 코드는 하나 이상의 프로세서들, 예컨대, 하나 이상의 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, ASIC(application specific integrated circuit)들, FPGA(field programmable logic array)들 또는 다른 동등한 집적 또는 이산 로직 회로부를 포함할 수 있는 프로세서에 의해 실행될 수 있다. 그러한 프로세서는 본 개시내용에서 설명되는 기법들 중 임의의 기법을 수행하도록 구성될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만; 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예컨대, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수 있다. 이에 따라, 본 명세서에서 사용된 바와 같은 용어 "프로세서"는 전술한 구조, 전술한 구조의 임의의 조합, 또는 본 명세서에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 또는 장치 중 임의의 것을 지칭할 수 있다. 부가적으로, 일부 양태들에 있어서, 본 명세서에서 설명된 기능은, 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에서 제공되거나, 또는 결합된 비디오 인코더-디코더(CODEC)에 통합될 수 있다.
본 개시내용의 예시적인 양태들은 다음을 포함한다:
양태 1: 이미지 데이터를 프로세싱하기 위한 장치로서, 장치는 적어도 하나의 메모리 및 메모리에 커플링된 하나 이상의 프로세서들을 포함한다. 하나 이상의 프로세서들은, 이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하는 것으로서, 환경은 객체를 포함하는, 상기 이미지를 수신하고; 외부 디바이스로부터의 데이터 스트림을 식별하고; 이미지, 데이터 스트림, 및 장치의 동작 상태 중 적어도 하나에 기초하여 조건을 검출하고; 조건을 검출하는 것에 응답하여, 이미지 및 데이터 스트림 중 적어도 하나에 기초하여 환경 내의 객체의 위치를 결정하고; 그리고 환경 내의 객체의 위치에 기초하여 출력을 생성하도록 구성된다.
양태 2: 양태 1의 장치에 있어서, 이미지에 기초하여 조건을 검출하기 위해, 하나 이상의 프로세서들은 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하도록 구성된다.
양태 3: 양태 2의 장치에 있어서, 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하기 위해, 하나 이상의 프로세서들은 객체의 적어도 일부가 이미지에서 폐색된다고 결정하도록 구성된다.
양태 4: 양태 2 또는 양태 3의 장치에 있어서, 외부 디바이스는 제2 이미지 센서를 포함하고, 데이터 스트림은 환경의 제2 부분의 제2 이미지를 포함하고, 환경 내의 객체의 위치를 결정하는 것은 제2 이미지 내의 객체의 묘사에 적어도 부분적으로 기초한다.
양태 5: 양태 4의 장치에 있어서, 환경의 일부분과 환경의 제2 부분은 중첩된다.
양태 6: 양태 1 내지 양태 5 중 임의의 양태의 장치에 있어서, 장치의 동작 상태에 기초하여 조건을 검출하기 위해, 하나 이상의 프로세서들은 리소스의 이용가능성이 임계치 미만이라고 결정하도록 구성된다.
양태 7: 양태 6의 장치에 있어서, 리소스의 이용가능성이 임계치 미만이라고 결정하기 위해, 하나 이상의 프로세서들은 배터리의 배터리 레벨이 배터리 레벨 임계치 미만이라고 결정하도록 구성된다.
양태 8: 양태 6 또는 양태 7의 장치에 있어서, 리소스의 이용가능성이 임계치 미만이라고 결정하기 위해, 하나 이상의 프로세서들은 이용가능한 대역폭이 대역폭 임계치 미만이라고 결정하도록 구성된다.
양태 9: 양태 1 내지 양태 8 중 임의의 양태의 장치에 있어서, 장치의 동작 상태에 기초하여 조건을 검출하기 위해, 하나 이상의 프로세서들은 외부 디바이스로 프로세싱을 오프로딩하는 것에 대응하는 사용자 입력을 수신하도록 구성된다.
양태 10: 양태 1 내지 양태 9 중 임의의 양태의 장치에 있어서, 출력을 생성하기 위해, 하나 이상의 프로세서들은 콘텐츠를 생성하도록 구성된다.
양태 11: 양태 10의 장치에 있어서, 하나 이상의 프로세서들은 환경 내의 객체의 위치에 기초하여 콘텐츠를 출력하도록 구성된다.
양태 12: 양태 11의 장치에 있어서, 디스플레이를 추가로 포함하고; 콘텐츠를 출력하기 위해, 하나 이상의 프로세서들은 디스플레이되도록 디스플레이로 콘텐츠를 전송하도록 구성된다.
양태 13: 양태 1 내지 양태 12 중 임의의 양태의 장치에 있어서, 하나 이상의 프로세서들은, 이미지 센서에 의해 캡처된 추가 이미지, 데이터 스트림, 및 장치의 동작 상태 중 적어도 하나에 기초하여 추가 조건을 검출하고; 그리고 추가 조건을 검출하는 것에 응답하여, 외부 디바이스에 의해 이전에 수행된 기능을 수행하도록 구성된다.
양태 14: 양태 1 내지 양태 13 중 임의의 양태의 장치에 있어서, 출력을 생성하기 위해, 하나 이상의 프로세서들은 사용자 입력에 기초하여 장치를 제어하도록 구성된다.
양태 15: 양태 1 내지 양태 14 중 임의의 양태의 장치에 있어서, 이미지에 기초하여 조건을 검출하기 위해, 하나 이상의 프로세서들은 이미지 내의 하나 이상의 조명 조건들을 결정하도록 구성된다.
양태 16: 양태 15의 장치에 있어서, 이미지 내의 하나 이상의 조명 조건들을 결정하기 위해, 하나 이상의 프로세서들은 이미지의 하나 이상의 광 값들이 조명 임계치 미만이라고 결정하도록 구성된다.
양태 17: 양태 1 내지 양태 16 중 임의의 양태의 장치에 있어서, 환경 내의 객체의 위치를 결정하기 위해, 하나 이상의 프로세서들은, 외부 디바이스에 환경 내의 객체의 위치를 식별하라는 요청을 전송하고; 그리고 외부 디바이스로부터 환경 내의 객체의 위치를 식별하는 응답을 수신하도록 구성된다.
양태 18: 양태 1 내지 양태 17 중 임의의 양태의 장치에 있어서, 객체는 외부 디스플레이 디바이스의 디스플레이이다.
양태 19: 양태 18의 장치에 있어서, 이미지에 기초하여 조건을 검출하기 위해, 하나 이상의 프로세서들은 이미지에서, 외부 디스플레이 디바이스의 디스플레이 상에 디스플레이된 시각적 미디어 콘텐츠를 식별하도록 구성된다.
양태 20: 양태 18 또는 양태 19의 장치에 있어서, 출력을 생성하기 위해, 하나 이상의 프로세서들은 콘텐츠를 생성하도록 구성되고, 콘텐츠는 외부 디스플레이 디바이스의 디스플레이를 가상으로 확장시킨다.
양태 21: 양태 1 내지 양태 20 중 임의의 양태의 장치에 있어서, 출력을 생성하기 위해, 하나 이상의 프로세서들은, 이미지의 영역 위에 가상 콘텐츠를 오버레이함으로써 적어도 부분적으로 콘텐츠를 생성하도록 구성되고, 이미지의 영역은 환경 내의 객체의 위치에 기초한다.
양태 22: 양태 21의 장치에 있어서, 객체는 외부 디스플레이 디바이스의 디스플레이이고, 이미지의 영역은 이미지 내의 외부 디스플레이 디바이스의 디스플레이의 묘사에 인접해 있다.
양태 23: 양태 21의 장치에 있어서, 객체는 장치의 사용자의 손이고, 손은 이미지의 영역에 적어도 부분적으로 인접해 있다.
양태 24: 양태 1 내지 양태 21 중 임의의 양태의 장치에 있어서, 객체는 디스플레이 상에 디스플레이된 시각적 콘텐츠이다.
양태 25: 양태 1 내지 양태 21 중 임의의 양태의 장치에 있어서, 객체는 장치의 사용자의 머리이다.
양태 26: 양태 1 내지 양태 21 중 임의의 양태의 장치에 있어서, 객체는 장치의 사용자의 신체이다.
양태 27: 양태 1 내지 양태 26 중 임의의 양태의 장치에 있어서, 하나 이상의 프로세서들은, 조건을 검출하는 것에 응답하여, 이미지 센서에 의해 캡처된 이미지와 데이터 스트림으로부터의 데이터를 조합함으로써 적어도 병합된 데이터세트를 생성하도록 추가로 구성되고, 객체의 위치를 결정하는 것은 병합된 데이터세트에 적어도 부분적으로 기초한다.
양태 28: 양태 1 내지 양태 27 중 임의의 양태의 장치에 있어서, 장치는 머리 장착형 디스플레이(HMD)이다.
양태 29: 양태 1 내지 양태 28 중 임의의 양태의 장치에 있어서, 오디오 출력 디바이스를 추가로 포함하고, 출력을 생성하기 위해, 하나 이상의 프로세서들은 콘텐츠를 생성하도록 구성되고; 하나 이상의 프로세서들은 재생되도록 오디오 출력 디바이스로 콘텐츠를 전송하도록 구성된다.
양태 30: 이미지 데이터를 프로세싱하기 위한 방법으로서, 이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하는 단계로서, 환경은 객체를 포함하는, 상기 이미지를 수신하는 단계; 디바이스에 의해, 외부 디바이스로부터의 데이터 스트림을 식별하는 단계; 이미지, 데이터 스트림, 및 디바이스의 동작 상태 중 적어도 하나에 기초하여 조건을 검출하는 단계; 조건을 검출하는 것에 응답하여, 이미지 및 데이터 스트림 중 적어도 하나에 기초하여 환경 내의 객체의 위치를 결정하는 단계; 및 환경 내의 객체의 위치에 기초하여 출력을 생성하는 단계를 포함한다.
양태 31: 양태 30의 방법에 있어서, 이미지에 기초하여 조건을 검출하는 단계는 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하는 단계를 포함한다.
양태 32: 양태 31의 방법에 있어서, 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하는 단계는 객체의 적어도 일부가 이미지에서 폐색된다고 결정하는 단계를 포함한다.
양태 33: 양태 31 또는 양태 32의 방법에 있어서, 외부 디바이스는 제2 이미지 센서를 포함하고, 데이터 스트림은 환경의 제2 부분의 제2 이미지를 포함하고, 환경 내의 객체의 위치를 결정하는 단계는 제2 이미지 내의 객체의 묘사에 적어도 부분적으로 기초한다.
양태 34: 양태 33의 방법에 있어서, 환경의 일부분과 환경의 제2 부분은 중첩된다.
양태 35: 양태 30 내지 양태 34 중 임의의 양태의 방법에 있어서, 디바이스의 동작 상태에 기초하여 조건을 검출하는 단계는 리소스의 이용가능성이 임계치 미만이라고 결정하는 단계를 포함한다.
양태 36: 양태 35의 방법에 있어서, 리소스의 이용가능성이 임계치 미만이라고 결정하는 단계는 배터리의 배터리 레벨이 배터리 레벨 임계치 미만이라고 결정하는 단계를 포함한다.
양태 37: 양태 35 또는 양태 36의 방법에 있어서, 리소스의 이용가능성이 임계치 미만이라고 결정하는 단계는 이용가능한 대역폭이 대역폭 임계치 미만이라고 결정하는 단계를 포함한다.
양태 38: 양태 30 내지 양태 37 중 임의의 양태의 방법에 있어서, 디바이스의 동작 상태에 기초하여 조건을 검출하는 단계는 외부 디바이스로 프로세싱을 오프로딩하는 것에 대응하는 사용자 입력을 수신하는 단계를 포함한다.
양태 39: 양태 30 내지 양태 38 중 임의의 양태의 방법에 있어서, 출력을 생성하는 단계는 콘텐츠를 생성하는 단계를 포함한다.
양태 40: 양태 39의 방법에 있어서, 환경 내의 객체의 위치에 기초하여 콘텐츠를 출력하는 단계를 추가로 포함한다.
양태 41: 양태 40의 방법에 있어서, 콘텐츠를 출력하는 단계는 디스플레이되도록 디바이스의 디스플레이로 콘텐츠를 전송하는 단계를 포함한다.
양태 42: 양태 30 내지 양태 41 중 임의의 양태의 방법에 있어서, 이미지 센서에 의해 캡처된 추가 이미지, 데이터 스트림, 및 디바이스의 동작 상태 중 적어도 하나에 기초하여 추가 조건을 검출하는 단계; 및 추가 조건을 검출하는 것에 응답하여, 외부 디바이스에 의해 이전에 수행된 기능을 수행하는 단계를 추가로 포함한다.
양태 43: 양태 30 내지 양태 42 중 임의의 양태의 방법에 있어서, 출력을 생성하는 단계는 사용자 입력에 기초하여 디바이스를 제어하는 단계를 포함한다.
양태 44: 양태 30 내지 양태 43 중 임의의 양태의 방법에 있어서, 이미지에 기초하여 조건을 검출하는 단계는 이미지 내의 하나 이상의 조명 조건들을 결정하는 단계를 포함한다.
양태 45: 양태 44의 방법에 있어서, 이미지 내의 하나 이상의 조명 조건들을 결정하는 단계는 이미지의 하나 이상의 광 값들이 조명 임계치 미만이라고 결정하는 단계를 포함한다.
양태 46: 양태 30 내지 양태 45 중 임의의 양태의 방법에 있어서, 환경 내의 객체의 위치를 결정하는 단계는, 외부 디바이스에 환경 내의 객체의 위치를 식별하라는 요청을 전송하는 단계; 및 외부 디바이스로부터 환경 내의 객체의 위치를 식별하는 응답을 수신하는 단계를 포함한다.
양태 47: 양태 30 내지 양태 46 중 임의의 양태의 방법에 있어서, 객체는 외부 디스플레이 디바이스의 디스플레이이다.
양태 48: 양태 47의 방법에 있어서, 이미지에 기초하여 조건을 검출하는 단계는 이미지에서, 외부 디스플레이 디바이스의 디스플레이 상에 디스플레이된 시각적 미디어 콘텐츠를 식별하는 단계를 포함한다.
양태 49: 양태 47 또는 양태 48의 방법에 있어서, 출력을 생성하는 단계는 콘텐츠를 생성하는 단계를 포함하고, 콘텐츠는 외부 디스플레이 디바이스의 디스플레이를 가상으로 확장시킨다.
양태 50: 양태 30 내지 양태 49 중 임의의 양태의 방법에 있어서, 출력을 생성하는 단계는, 이미지의 영역 위에 가상 콘텐츠를 오버레이함으로써 적어도 부분적으로 콘텐츠를 생성하는 단계를 포함하고, 이미지의 영역은 환경 내의 객체의 위치에 기초한다.
양태 51: 양태 50의 방법에 있어서, 객체는 외부 디스플레이 디바이스의 디스플레이이고, 이미지의 영역은 이미지 내의 외부 디스플레이 디바이스의 디스플레이의 묘사에 인접해 있다.
양태 52: 양태 50의 방법에 있어서, 객체는 디바이스의 사용자의 손이고, 손은 이미지의 영역에 적어도 부분적으로 인접해 있다.
양태 53: 양태 30 내지 양태 50 중 임의의 양태의 방법에 있어서, 객체는 디스플레이 상에 디스플레이된 시각적 콘텐츠이다.
양태 54: 양태 30 내지 양태 50 중 임의의 양태의 방법에 있어서, 객체는 장치의 사용자의 머리이다.
양태 55: 양태 30 내지 양태 50 중 임의의 양태의 방법에 있어서, 객체는 장치의 사용자의 신체이다.
양태 56: 양태 30 내지 양태 55 중 임의의 양태의 방법에 있어서, 조건을 검출하는 것에 응답하여, 이미지 센서에 의해 캡처된 이미지와 데이터 스트림으로부터의 데이터를 조합함으로써 적어도 병합된 데이터세트를 생성하는 단계를 추가로 포함하고, 객체의 위치를 결정하는 단계는 병합된 데이터세트에 적어도 부분적으로 기초한다.
양태 57: 양태 30 내지 양태 56 중 임의의 양태의 방법에 있어서, 출력을 생성하는 단계는 콘텐츠를 생성하는 단계를 포함하고, 방법은 재생되도록 오디오 출력 디바이스로 콘텐츠를 전송하는 단계를 추가로 포함한다.
양태 58: 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 양태 1 내지 양태 57 중 임의의 양태에 따른 동작들을 수행하게 한다.
양태 59: 장치로서, 장치는 양태 1 내지 양태 57 중 임의의 양태에 따른 동작들을 수행하기 위한 수단을 포함한다.
양태 60: 이미지 데이터를 프로세싱하기 위한 장치로서, 장치는 적어도 하나의 메모리 및 메모리에 커플링된 하나 이상의 프로세서들을 포함한다. 하나 이상의 프로세서들은, 이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하는 것으로서, 환경은 객체를 포함하는, 상기 이미지를 수신하고; 리소스의 이용가능성에 관한 조건을 검출하고; 조건을 검출하는 것에 응답하여, 적어도 디바이스로부터의 데이터 스트림에 기초하여 환경 내의 객체의 적어도 일부의 위치를 결정하고; 그리고 환경 내의 객체의 적어도 일부의 위치에 기초하는 콘텐츠를 출력하도록 구성된다.
양태 61: 양태 60의 장치에 있어서, 조건을 검출하기 위해, 하나 이상의 프로세서들은 리소스의 이용가능성이 임계치 미만이라고 결정하도록 구성된다.
양태 62: 양태 61의 장치에 있어서, 리소스의 이용가능성이 임계치 미만이라고 결정하기 위해, 하나 이상의 프로세서들은 배터리의 배터리 레벨이 배터리 레벨 임계치 미만이라고 결정하도록 구성된다.
양태 63: 양태 61 또는 양태 62의 장치에 있어서, 리소스의 이용가능성이 임계치 미만이라고 결정하기 위해, 하나 이상의 프로세서들은 이용가능한 대역폭이 대역폭 임계치 미만이라고 결정하도록 구성된다.
양태 64: 양태 60 내지 양태 63 중 임의의 양태의 장치에 있어서, 환경 내의 객체의 적어도 일부의 위치를 결정하기 위해, 하나 이상의 프로세서들은, 디바이스에 환경 내의 객체의 적어도 일부의 위치를 식별하라는 요청을 전송하고; 그리고 디바이스로부터 환경 내의 객체의 적어도 일부의 위치를 식별하는 응답을 수신하도록 구성된다.
양태 65: 양태 60 내지 양태 64 중 임의의 양태의 장치에 있어서, 하나 이상의 프로세서들은 이미지의 영역 위에 가상 콘텐츠를 오버레이함으로써 적어도 부분적으로 콘텐츠를 생성하도록 추가로 구성되고, 이미지의 영역은 환경 내의 객체의 적어도 일부의 위치에 기초한다.
양태 66: 양태 65의 장치에 있어서, 객체는 장치의 사용자의 손이고, 손은 이미지의 영역에 적어도 부분적으로 인접해 있다.
양태 67: 양태 60 내지 양태 66 중 임의의 양태의 장치에 있어서, 하나 이상의 프로세서들은, 조건을 검출하는 것에 응답하여, 적어도 이미지 센서에 의해 캡처된 이미지와 데이터 스트림으로부터의 데이터를 병합함으로써 병합된 데이터세트를 생성하도록 추가로 구성되고, 객체의 적어도 일부의 위치를 결정하는 것은 병합된 데이터세트에 기초한다.
양태 68: 양태 60 내지 양태 67 중 임의의 양태의 장치에 있어서, 장치는 머리 장착형 디스플레이(HMD)이다.
양태 69: 양태 60 내지 양태 68 중 임의의 양태의 장치에 있어서, 디스플레이를 추가로 포함하고, 콘텐츠를 출력하기 위해, 하나 이상의 프로세서들은 디스플레이에 의해 디스플레이되도록 디스플레이로 콘텐츠를 전송하도록 구성된다.
양태 70: 양태 60 내지 양태 69 중 임의의 양태의 장치에 있어서, 오디오 출력 디바이스를 추가로 포함하고, 콘텐츠를 출력하기 위해, 하나 이상의 프로세서들은 오디오 출력 디바이스에 의해 재생되도록 오디오 출력 디바이스로 콘텐츠를 전송하도록 구성된다.
양태 71: 이미지 데이터를 프로세싱하기 위한 방법으로서, 양태 60 내지 양태 70 중 임의의 양태에 따른 동작들을 포함한다.
양태 72: 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 양태 60 내지 양태 70 중 임의의 양태에 따른 동작들을 수행하게 한다.
양태 73: 장치로서, 장치는 양태 60 내지 양태 70 중 임의의 양태에 따른 동작들을 수행하기 위한 수단을 포함한다.
양태 74: 이미지 데이터를 프로세싱하기 위한 장치로서, 장치는 적어도 하나의 메모리 및 메모리에 커플링된 하나 이상의 프로세서들을 포함한다. 하나 이상의 프로세서들은, 이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하는 것으로서, 환경은 객체를 포함하는, 상기 이미지를 수신하고; 이미지에 기초하여 조건을 검출하고; 조건을 검출하는 것에 응답하여, 적어도 디바이스로부터의 데이터 스트림에 기초하여 콘텐츠를 생성하고; 그리고 환경 내의 객체의 적어도 일부의 위치에 기초하여 콘텐츠를 출력하도록 구성된다.
양태 75: 양태 74의 장치에 있어서, 조건을 검출하기 위해, 하나 이상의 프로세서들은 객체가 이미지 내의 환경의 일부분으로부터 누락된다고 결정하도록 구성된다.
양태 76: 양태 74의 장치에 있어서, 객체는 외부 디바이스의 디스플레이이다.
양태 77: 양태 76의 장치에 있어서, 조건을 검출하기 위해, 하나 이상의 프로세서들은 이미지에서, 외부 디바이스의 디스플레이 상에 디스플레이된 시각적 미디어 콘텐츠의 묘사를 식별하도록 구성된다.
양태 78: 양태 76의 장치에 있어서, 조건을 검출하기 위해, 하나 이상의 프로세서들은 장치에 근접한 디스플레이의 존재를 검출하도록 구성된다.
양태 79: 양태 76의 장치에 있어서, 하나 이상의 프로세서들은 디스플레이의 포지션을 가리키는 방향 표시자를 생성하도록 추가로 구성된다.
양태 80: 양태 76 내지 양태 79 중 임의의 양태의 장치에 있어서, 콘텐츠는 외부 디바이스의 디스플레이를 가상으로 확장시킨다.
양태 81: 양태 74 내지 양태 80 중 임의의 양태의 장치에 있어서, 하나 이상의 프로세서들은, 이미지의 영역 위에 가상 콘텐츠를 오버레이함으로써 적어도 부분적으로 콘텐츠를 생성하도록 구성되고, 이미지의 영역은 환경 내의 객체의 적어도 일부의 위치에 기초한다.
양태 82: 양태 81의 장치에 있어서, 객체는 외부 디바이스의 디스플레이이고, 이미지의 영역은 이미지 내의 외부 디바이스의 디스플레이의 묘사에 인접해 있다.
양태 83: 양태 74 내지 양태 82 중 임의의 양태의 장치에 있어서, 하나 이상의 프로세서들은, 조건을 검출하는 것에 응답하여, 적어도 이미지 센서에 의해 캡처된 이미지와 데이터 스트림으로부터의 데이터를 병합함으로써 병합된 데이터세트를 생성하도록 구성되고, 콘텐츠는 병합된 데이터세트에 기초하여 생성된다.
양태 84: 양태 74 내지 양태 83 중 임의의 양태의 장치에 있어서, 장치는 머리 장착형 디스플레이(HMD)이다.
양태 85: 양태 74 내지 양태 84 중 임의의 양태의 장치에 있어서, 디스플레이를 추가로 포함하고, 콘텐츠를 출력하기 위해, 하나 이상의 프로세서들은 디스플레이에 의해 디스플레이되도록 디스플레이로 콘텐츠를 전송하도록 구성된다.
양태 86: 양태 74 내지 양태 85 중 임의의 양태의 장치에 있어서, 오디오 출력 디바이스를 추가로 포함하고, 콘텐츠를 출력하기 위해, 하나 이상의 프로세서들은 오디오 출력 디바이스에 의해 재생되도록 오디오 출력 디바이스로 콘텐츠를 전송하도록 구성된다.
양태 87: 이미지 데이터를 프로세싱하는 방법으로서, 양태 74 내지 양태 86 중 임의의 양태에 따른 동작들을 포함한다.
양태 88: 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 양태 74 내지 양태 86 중 임의의 양태에 따른 동작들을 수행하게 한다.
양태 89: 장치로서, 장치는 양태 74 내지 양태 86 중 임의의 양태에 따른 동작들을 수행하기 위한 수단을 포함한다.

Claims (51)

  1. 이미지 데이터를 프로세싱하기 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은,
    이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하는 것으로서, 상기 환경은 객체를 포함하는, 상기 이미지를 수신하고;
    외부 디바이스로부터의 데이터 스트림을 식별하고;
    상기 이미지, 상기 데이터 스트림, 및 상기 장치의 동작 상태 중 적어도 하나에 기초하여 조건(condition)을 검출하고;
    상기 조건을 검출하는 것에 응답하여, 상기 이미지 및 상기 데이터 스트림 중 적어도 하나에 기초하여 상기 환경 내의 상기 객체의 위치를 결정하고; 그리고
    상기 환경 내의 상기 객체의 상기 위치에 기초하여 출력을 생성하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  2. 제1항에 있어서, 상기 이미지에 기초하여 상기 조건을 검출하기 위해, 상기 하나 이상의 프로세서들은 상기 객체가 상기 이미지 내의 상기 환경의 일부분으로부터 누락된다고 결정하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  3. 제2항에 있어서, 상기 객체가 상기 이미지 내의 상기 환경의 상기 일부분으로부터 누락된다고 결정하기 위해, 상기 하나 이상의 프로세서들은 상기 객체의 적어도 일부가 상기 이미지에서 폐색된다고 결정하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  4. 제2항에 있어서, 상기 외부 디바이스는 제2 이미지 센서를 포함하고, 상기 데이터 스트림은 상기 환경의 제2 부분의 제2 이미지를 포함하고, 상기 환경 내의 상기 객체의 상기 위치를 결정하는 것은 상기 제2 이미지 내의 상기 객체의 묘사(depiction)에 적어도 부분적으로 기초하는, 이미지 데이터를 프로세싱하기 위한 장치.
  5. 제4항에 있어서, 상기 환경의 상기 일부분과 상기 환경의 상기 제2 부분은 중첩되는, 이미지 데이터를 프로세싱하기 위한 장치.
  6. 제1항에 있어서, 상기 장치의 상기 동작 상태에 기초하여 상기 조건을 검출하기 위해, 상기 하나 이상의 프로세서들은 리소스의 이용가능성이 임계치 미만이라고 결정하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  7. 제6항에 있어서, 상기 리소스의 상기 이용가능성이 상기 임계치 미만이라고 결정하기 위해, 상기 하나 이상의 프로세서들은 배터리의 배터리 레벨이 배터리 레벨 임계치 미만이라고 결정하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  8. 제6항에 있어서, 상기 리소스의 상기 이용가능성이 상기 임계치 미만이라고 결정하기 위해, 상기 하나 이상의 프로세서들은 이용가능한 대역폭이 대역폭 임계치 미만이라고 결정하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  9. 제1항에 있어서, 상기 장치의 상기 동작 상태에 기초하여 상기 조건을 검출하기 위해, 상기 하나 이상의 프로세서들은 상기 외부 디바이스로 프로세싱을 오프로딩하는 것에 대응하는 사용자 입력을 수신하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  10. 제1항에 있어서, 상기 출력을 생성하기 위해, 상기 하나 이상의 프로세서들은 콘텐츠를 생성하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  11. 제10항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 환경 내의 상기 객체의 상기 위치에 기초하여 상기 콘텐츠를 출력하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  12. 제11항에 있어서,
    디스플레이를 추가로 포함하고;
    상기 콘텐츠를 출력하기 위해, 상기 하나 이상의 프로세서들은 디스플레이되도록 상기 디스플레이로 상기 콘텐츠를 전송하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  13. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 이미지 센서에 의해 캡처된 추가 이미지, 상기 데이터 스트림, 및 상기 장치의 상기 동작 상태 중 적어도 하나에 기초하여 추가 조건을 검출하고; 그리고
    상기 추가 조건을 검출하는 것에 응답하여, 상기 외부 디바이스에 의해 이전에 수행된 기능을 수행하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  14. 제1항에 있어서, 상기 출력을 생성하기 위해, 상기 하나 이상의 프로세서들은,
    사용자 입력에 기초하여 상기 장치를 제어하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  15. 제1항에 있어서, 상기 이미지에 기초하여 상기 조건을 검출하기 위해, 상기 하나 이상의 프로세서들은 상기 이미지 내의 하나 이상의 조명 조건(lighting condition)들을 결정하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  16. 제15항에 있어서, 상기 이미지 내의 상기 하나 이상의 조명 조건들을 결정하기 위해, 상기 하나 이상의 프로세서들은 상기 이미지의 하나 이상의 광 값(light value)들이 조명 임계치 미만이라고 결정하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  17. 제1항에 있어서, 상기 환경 내의 상기 객체의 상기 위치를 결정하기 위해, 상기 하나 이상의 프로세서들은,
    상기 외부 디바이스에 상기 환경 내의 상기 객체의 상기 위치를 식별하라는 요청을 전송하고; 그리고
    상기 외부 디바이스로부터 상기 환경 내의 상기 객체의 상기 위치를 식별하는 응답을 수신하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  18. 제1항에 있어서, 상기 객체는 외부 디스플레이 디바이스의 디스플레이인, 이미지 데이터를 프로세싱하기 위한 장치.
  19. 제18항에 있어서, 상기 이미지에 기초하여 상기 조건을 검출하기 위해, 상기 하나 이상의 프로세서들은 상기 이미지에서, 상기 외부 디스플레이 디바이스의 상기 디스플레이 상에 디스플레이된 시각적 미디어 콘텐츠를 식별하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  20. 제18항에 있어서, 상기 출력을 생성하기 위해, 상기 하나 이상의 프로세서들은 콘텐츠를 생성하도록 구성되고, 상기 콘텐츠는 상기 외부 디스플레이 디바이스의 상기 디스플레이를 가상으로 확장시키는, 이미지 데이터를 프로세싱하기 위한 장치.
  21. 제1항에 있어서, 상기 출력을 생성하기 위해, 상기 하나 이상의 프로세서들은,
    상기 이미지의 영역 위에 가상 콘텐츠를 오버레이함으로써 적어도 부분적으로 콘텐츠를 생성하도록 구성되고, 상기 이미지의 상기 영역은 상기 환경 내의 상기 객체의 상기 위치에 기초하는, 이미지 데이터를 프로세싱하기 위한 장치.
  22. 제21항에 있어서, 상기 객체는 외부 디스플레이 디바이스의 디스플레이이고, 상기 이미지의 상기 영역은 상기 이미지 내의 상기 외부 디스플레이 디바이스의 상기 디스플레이의 묘사에 인접해 있는, 이미지 데이터를 프로세싱하기 위한 장치.
  23. 제21항에 있어서, 상기 객체는 상기 장치의 사용자의 손이고, 상기 손은 상기 이미지의 상기 영역에 적어도 부분적으로 인접해 있는, 이미지 데이터를 프로세싱하기 위한 장치.
  24. 제1항에 있어서, 상기 하나 이상의 프로세서들은,
    상기 조건을 검출하는 것에 응답하여, 상기 이미지 센서에 의해 캡처된 상기 이미지와 상기 데이터 스트림으로부터의 데이터를 조합함으로써 적어도 병합된 데이터세트를 생성하도록 추가로 구성되고, 상기 객체의 상기 위치를 결정하는 것은 상기 병합된 데이터세트에 적어도 부분적으로 기초하는, 이미지 데이터를 프로세싱하기 위한 장치.
  25. 제1항에 있어서, 상기 장치는 머리 장착형 디스플레이(head-mounted display, HMD)인, 이미지 데이터를 프로세싱하기 위한 장치.
  26. 제1항에 있어서,
    오디오 출력 디바이스를 추가로 포함하고;
    상기 출력을 생성하기 위해, 상기 하나 이상의 프로세서들은 콘텐츠를 생성하도록 구성되고;
    상기 하나 이상의 프로세서들은 재생되도록 상기 오디오 출력 디바이스로 상기 콘텐츠를 전송하도록 구성되는, 이미지 데이터를 프로세싱하기 위한 장치.
  27. 이미지 데이터를 프로세싱하기 위한 방법으로서,
    이미지 센서에 의해 캡처된 환경의 일부분의 이미지를 수신하는 단계로서, 상기 환경은 객체를 포함하는, 상기 이미지를 수신하는 단계;
    디바이스에 의해, 외부 디바이스로부터의 데이터 스트림을 식별하는 단계;
    상기 이미지, 상기 데이터 스트림, 및 상기 디바이스의 동작 상태 중 적어도 하나에 기초하여 조건을 검출하는 단계;
    상기 조건을 검출하는 것에 응답하여, 상기 이미지 및 상기 데이터 스트림 중 적어도 하나에 기초하여 상기 환경 내의 상기 객체의 위치를 결정하는 단계; 및
    상기 환경 내의 상기 객체의 상기 위치에 기초하여 출력을 생성하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  28. 제27항에 있어서, 상기 이미지에 기초하여 상기 조건을 검출하는 단계는 상기 객체가 상기 이미지 내의 상기 환경의 일부분으로부터 누락된다고 결정하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  29. 제28항에 있어서, 상기 객체가 상기 이미지 내의 상기 환경의 상기 일부분으로부터 누락된다고 결정하는 단계는 상기 객체의 적어도 일부가 상기 이미지에서 폐색된다고 결정하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  30. 제28항에 있어서, 상기 외부 디바이스는 제2 이미지 센서를 포함하고, 상기 데이터 스트림은 상기 환경의 제2 부분의 제2 이미지를 포함하고, 상기 환경 내의 상기 객체의 상기 위치를 결정하는 단계는 상기 제2 이미지 내의 상기 객체의 묘사에 적어도 부분적으로 기초하는, 이미지 데이터를 프로세싱하기 위한 방법.
  31. 제30항에 있어서, 상기 환경의 상기 일부분과 상기 환경의 상기 제2 부분은 중첩되는, 이미지 데이터를 프로세싱하기 위한 방법.
  32. 제27항에 있어서, 상기 디바이스의 상기 동작 상태에 기초하여 상기 조건을 검출하는 단계는 리소스의 이용가능성이 임계치 미만이라고 결정하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  33. 제32항에 있어서, 상기 리소스의 상기 이용가능성이 상기 임계치 미만이라고 결정하는 단계는 배터리의 배터리 레벨이 배터리 레벨 임계치 미만이라고 결정하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  34. 제32항에 있어서, 상기 리소스의 상기 이용가능성이 상기 임계치 미만이라고 결정하는 단계는 이용가능한 대역폭이 대역폭 임계치 미만이라고 결정하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  35. 제27항에 있어서, 상기 디바이스의 상기 동작 상태에 기초하여 상기 조건을 검출하는 단계는 상기 외부 디바이스로 프로세싱을 오프로딩하는 것에 대응하는 사용자 입력을 수신하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  36. 제27항에 있어서, 상기 출력을 생성하는 단계는 콘텐츠를 생성하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  37. 제36항에 있어서, 상기 환경 내의 상기 객체의 상기 위치에 기초하여 상기 콘텐츠를 출력하는 단계를 추가로 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  38. 제37항에 있어서, 상기 콘텐츠를 출력하는 단계는 디스플레이되도록 상기 디바이스의 디스플레이로 상기 콘텐츠를 전송하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  39. 제27항에 있어서,
    상기 이미지 센서에 의해 캡처된 추가 이미지, 상기 데이터 스트림, 및 상기 디바이스의 상기 동작 상태 중 적어도 하나에 기초하여 추가 조건을 검출하는 단계; 및
    상기 추가 조건을 검출하는 것에 응답하여, 상기 외부 디바이스에 의해 이전에 수행된 기능을 수행하는 단계를 추가로 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  40. 제27항에 있어서, 상기 출력을 생성하는 단계는 사용자 입력에 기초하여 상기 디바이스를 제어하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  41. 제27항에 있어서, 상기 이미지에 기초하여 상기 조건을 검출하는 단계는 상기 이미지 내의 하나 이상의 조명 조건들을 결정하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  42. 제41항에 있어서, 상기 이미지 내의 상기 하나 이상의 조명 조건들을 결정하는 단계는 상기 이미지의 하나 이상의 광 값들이 조명 임계치 미만이라고 결정하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  43. 제27항에 있어서, 상기 환경 내의 상기 객체의 상기 위치를 결정하는 단계는,
    상기 외부 디바이스에 상기 환경 내의 상기 객체의 상기 위치를 식별하라는 요청을 전송하는 단계; 및
    상기 외부 디바이스로부터 상기 환경 내의 상기 객체의 상기 위치를 식별하는 응답을 수신하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  44. 제27항에 있어서, 상기 객체는 외부 디스플레이 디바이스의 디스플레이인, 이미지 데이터를 프로세싱하기 위한 방법.
  45. 제44항에 있어서, 상기 이미지에 기초하여 상기 조건을 검출하는 단계는 상기 이미지에서, 상기 외부 디스플레이 디바이스의 상기 디스플레이 상에 디스플레이된 시각적 미디어 콘텐츠를 식별하는 단계를 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
  46. 제44항에 있어서, 상기 출력을 생성하는 단계는 콘텐츠를 생성하는 단계를 포함하고, 상기 콘텐츠는 상기 외부 디스플레이 디바이스의 상기 디스플레이를 가상으로 확장시키는, 이미지 데이터를 프로세싱하기 위한 방법.
  47. 제27항에 있어서, 상기 출력을 생성하는 단계는,
    상기 이미지의 영역 위에 가상 콘텐츠를 오버레이함으로써 적어도 부분적으로 콘텐츠를 생성하는 단계를 포함하고, 상기 이미지의 상기 영역은 상기 환경 내의 상기 객체의 상기 위치에 기초하는, 이미지 데이터를 프로세싱하기 위한 방법.
  48. 제47항에 있어서, 상기 객체는 외부 디스플레이 디바이스의 디스플레이이고, 상기 이미지의 상기 영역은 상기 이미지 내의 상기 외부 디스플레이 디바이스의 상기 디스플레이의 묘사에 인접해 있는, 이미지 데이터를 프로세싱하기 위한 방법.
  49. 제47항에 있어서, 상기 객체는 상기 디바이스의 사용자의 손이고, 상기 손은 상기 이미지의 상기 영역에 적어도 부분적으로 인접해 있는, 이미지 데이터를 프로세싱하기 위한 방법.
  50. 제27항에 있어서,
    상기 조건을 검출하는 것에 응답하여, 상기 이미지 센서에 의해 캡처된 상기 이미지와 상기 데이터 스트림으로부터의 데이터를 조합함으로써 적어도 병합된 데이터세트를 생성하는 단계를 추가로 포함하고, 상기 객체의 상기 위치를 결정하는 단계는 상기 병합된 데이터세트에 적어도 부분적으로 기초하는, 이미지 데이터를 프로세싱하기 위한 방법.
  51. 제27항에 있어서, 상기 출력을 생성하는 단계는 콘텐츠를 생성하는 단계를 포함하고, 상기 방법은 재생되도록 오디오 출력 디바이스로 상기 콘텐츠를 전송하는 단계를 추가로 포함하는, 이미지 데이터를 프로세싱하기 위한 방법.
KR1020237042772A 2021-06-18 2022-06-08 협력적 추적 KR20240021797A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/351,856 US11847793B2 (en) 2021-06-18 2021-06-18 Collaborative tracking
US17/351,856 2021-06-18
PCT/US2022/032732 WO2022265902A1 (en) 2021-06-18 2022-06-08 Collaborative tracking

Publications (1)

Publication Number Publication Date
KR20240021797A true KR20240021797A (ko) 2024-02-19

Family

ID=82458682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237042772A KR20240021797A (ko) 2021-06-18 2022-06-08 협력적 추적

Country Status (7)

Country Link
US (2) US11847793B2 (ko)
EP (1) EP4356225A1 (ko)
KR (1) KR20240021797A (ko)
CN (1) CN117501209A (ko)
BR (1) BR112023025455A8 (ko)
TW (1) TW202305743A (ko)
WO (1) WO2022265902A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3138221A1 (fr) * 2022-07-22 2024-01-26 Orange Procédé d’adaptation d’interface homme machine

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120194551A1 (en) * 2010-02-28 2012-08-02 Osterhout Group, Inc. Ar glasses with user-action based command and control of external devices
US9807188B2 (en) * 2013-04-09 2017-10-31 Samsung Electronics Co., Ltd. Methods and apparatuses for dynamic content offloading
US20140317659A1 (en) * 2013-04-19 2014-10-23 Datangle, Inc. Method and apparatus for providing interactive augmented reality information corresponding to television programs
US10679058B2 (en) * 2016-01-06 2020-06-09 Orcam Technologies Ltd. Wearable apparatus and methods for processing images to identify contextual situations
GB2555410B (en) * 2016-10-25 2020-11-04 Sony Interactive Entertainment Inc Video content synchronisation method and apparatus
US11302063B2 (en) * 2020-07-21 2022-04-12 Facebook Technologies, Llc 3D conversations in an artificial reality environment
CN116719413A (zh) * 2020-09-11 2023-09-08 苹果公司 用于操纵环境中的对象的方法

Also Published As

Publication number Publication date
US20240078700A1 (en) 2024-03-07
US20220405959A1 (en) 2022-12-22
WO2022265902A1 (en) 2022-12-22
CN117501209A (zh) 2024-02-02
BR112023025455A2 (pt) 2024-02-27
TW202305743A (zh) 2023-02-01
BR112023025455A8 (pt) 2024-03-05
US11847793B2 (en) 2023-12-19
EP4356225A1 (en) 2024-04-24

Similar Documents

Publication Publication Date Title
US9578224B2 (en) System and method for enhanced monoimaging
US20240078700A1 (en) Collaborative tracking
US11769258B2 (en) Feature processing in extended reality systems
US11330204B1 (en) Exposure timing control for multiple image sensors
WO2023044208A1 (en) Low-power fusion for negative shutter lag capture
US20230262322A1 (en) Mechanism for improving image capture operations
US20230281835A1 (en) Wide angle eye tracking
US11792505B2 (en) Enhanced object detection
US11889196B2 (en) Systems and methods for determining image capture settings
US20240193873A1 (en) Independent scene movement based on mask layers
US20240036640A1 (en) User attention determination for extended reality
US20240153245A1 (en) Hybrid system for feature detection and descriptor generation
US20230137141A1 (en) Systems and methods for device interoperability for extended reality
US20230021016A1 (en) Hybrid object detector and tracker
US11620725B2 (en) Low latency frame delivery
US20240161418A1 (en) Augmented reality enhanced media
WO2023282963A1 (en) Enhanced object detection
US20230222757A1 (en) Systems and methods of media processing
US20240096049A1 (en) Exposure control based on scene depth
WO2024118233A1 (en) Dynamic camera selection and switching for multi-camera pose estimation
WO2024097469A1 (en) Hybrid system for feature detection and descriptor generation
WO2023163799A1 (en) Foveated sensing
WO2024123513A1 (en) Independent scene movement based on mask layers
WO2023081573A1 (en) Systems and methods for device interoperability for extended reality