KR20220119053A - 시선을 결정하기 위해 심층 학습을 사용하는 방법 - Google Patents

시선을 결정하기 위해 심층 학습을 사용하는 방법 Download PDF

Info

Publication number
KR20220119053A
KR20220119053A KR1020227022826A KR20227022826A KR20220119053A KR 20220119053 A KR20220119053 A KR 20220119053A KR 1020227022826 A KR1020227022826 A KR 1020227022826A KR 20227022826 A KR20227022826 A KR 20227022826A KR 20220119053 A KR20220119053 A KR 20220119053A
Authority
KR
South Korea
Prior art keywords
user
virtual reality
hand
environment
certain embodiments
Prior art date
Application number
KR1020227022826A
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 KR20220119053A publication Critical patent/KR20220119053A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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
    • G06F3/013Eye tracking input arrangements
    • 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
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • G06K9/6232
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Optics & Photonics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일 실시예에서, 컴퓨팅 시스템은 가상 현실 환경을 생성하고 사용자에게 디스플레이할 수 있다. 컴퓨팅 시스템은 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 사용자의 머리 자세를 결정할 수 있다. 컴퓨팅 시스템은 사용자의 손에 의해 유지되거나 또는 착용된 디바이스와 연관된 손 추적 데이터에 기초하여 사용자의 손 자세를 결정할 수 있다. 컴퓨팅 시스템은 디스플레이된 가상 현실 환경과 연관된 장면 정보를 액세스할 수 있다. 컴퓨팅 시스템은 기계-학습 모델을 사용하여 머리 자세, 손 자세, 및 장면 정보를 프로세싱함으로써 가상 현실 환경 내에서 사용자의 예상 초점 포인트를 결정할 수 있다.

Description

시선을 결정하기 위해 심층 학습을 사용하는 방법
본 개시는 일반적으로 가상 현실 환경에서 사용자 상호작용들 및 경험들을 위한 제어들 및 인터페이스들에 관한 것이다.
가상 현실은 외견상으로 실제적이거나 또는 물리적인 방식으로 사용자들이 상호작용할 수 있는 환경(예컨대, 3D 환경)의 컴퓨터-생성 시뮬레이션이다. 단일 디바이스 또는 디바이스들의 그룹일 수 있는, 가상 현실 시스템은 예를 들어, 가상 현실 헤드셋 또는 몇몇 다른 디스플레이 디바이스 상에서, 사용자로의 디스플레이를 위해 이러한 시뮬레이션을 생성할 수 있다. 시뮬레이션은 실제 또는 가상적인 환경을 모방하기 위해 이미지들, 사운드들, 햅틱 피드백들, 및/또는 다른 감각들을포함할 수 있다. 가상 현실이 점점 더 중요해짐에 따라, 유용한 애플리케이션들의 범위가 급속하게 넓어지고 있다. 가상 현실의 가장 일반적인 애플리케이션들은 게임들 또는 다른 상호작용 콘텐트를 수반하지만, 엔터테인먼트 또는 트레이닝 목적들을 위한 시각적 미디어 아이템들(예컨대, 사진들, 비디오들)과 같은 다른 애플리케이션들이 뒤를 바짝 따른다. 실생활 대화들 및 다른 사용자 상호작용들을 시뮬레이션하기 위해 가상 현실을 사용하는 실현 가능성이 또한 탐구되고 있다.
따라서, 본 발명은 첨부된 청구항들에 따른 방법들, 컴퓨터-판독 가능한 비일시적 저장 매체 및 시스템들에 관한 것이다. 가상(또는 증강) 현실 환경을 렌더링하고 그것과 상호작용하는 다양한 상이한 방식들이 본원에서 개시된다. 가상 현실 시스템은 가상 환경을 렌더링할 수 있으며, 이것은 하나 이상의 사용자들로의 디스플레이를 위해 렌더링되는 가상 공간을 포함할 수 있다. 사용자들은 임의의 적절한 수단들을 통해 이러한 가상 공간 및 더 넓은 가상 환경 내에서 보고 상호작용할 수 있다. 개시된 방법들의 하나의 목적은 사용자의 시선(gaze)을 결정하거나 또는 눈 추적을 수행하는 것이다. 특정한 실시예들에서, 가상 현실 시스템은 기계-학습 모델을 사용하는 것을 통해 사용자의 시선을 결정하는 방법을 제공할 수 있다. 가상 현실 시스템은 사용자의 시선을 결정하기 위해, 다른 데이터 중에서, 환경에 대하여 사용자가 착용하고 있는 헤드셋의 자세, 헤드셋 또는 환경에 대한 제어기의 자세, 장면(scene) 정보와 같은, 입력 데이터를 사용할 수 있다. 시선을 결정하기 위해 기계-학습 모델을 트레이닝함으로써, 가상 현실 시스템은 사용자의 예상된 시선의 정확도를 개선할 수 있다. 현재, 가상 현실 시스템은 사용자의 시선을 결정하기 위해, 눈 추적기와 같은, 센서들을 요구한다. 이와 같이, 필요한 센서들을 갖지 않은 가상 현실 시스템들은 사용자의 시각적 경험 및 가상 현실 시스템의 프로세싱을 개선하는 가변초점 디스플레이들 및 시선-부수 렌더링 솔루션들을 이용할 수 없을 것이다. 기계-학습 모델을 트레이닝하기 위해, 기계-학습 모델은 정답(ground truth) 데이터를 위해 눈 추적기들로부터의 데이터와 함께 입력 데이터를 이용할 수 있다. 기계-학습 모델이 트레이닝된 후, 기계-학습 모델은 이들 가상 현실 시스템들이 눈 추적을 수행하며 및/또는 사용자의 시선을 결정하기 위한 능력을 가질 수 있게 하기 위해 눈 추적기들을 갖지 않은 가상 현실 시스템들에서 구현될 수 있다.
본 발명의 실시예들은 인공 현실 시스템을 포함하거나 또는 그것과 함께 구현될 수 있다. 인공 현실은 사용자로의 프리젠테이션 전에 몇몇 방식으로 조정되어 온 현실의 형태이며, 이것은 예컨대, 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR), 하이브리드 현실, 또는 그것의 몇몇 조합 및/또는 파생물들을 포함할 수 있다. 인공 현실 콘텐트는 완전히 생성된 콘텐트 또는 캡처된 콘텐트(예컨대, 현실 세계 사진들)와 조합된 생성된 콘텐트를 포함할 수 있다. 인공 현실 콘텐트는 비디오, 오디오, 햅틱 피드백, 또는 그것의 몇몇 조합을 포함할 수 있으며, 그 중 임의의 것은 단일 채널에서 또는 다수의 채널들에서(뷰어에게 3차원 효과를 생성하는 스테레오 비디오와 같은) 제공될 수 있다. 부가적으로, 몇몇 실시예들에서, 인공 현실은 예컨대, 인공 현실에서 콘텐트를 생성하기 위해 사용되며 및/또는 인공 현실에서 사용되는(예컨대, 그것에서 활동들을 수행하는) 애플리케이션들, 제품들, 액세서리들, 서비스들, 또는 그것의 몇몇 조합과 연관될 수 있다. 인공 현실 콘텐트를 생성하는 인공 현실 시스템은, 호스트 컴퓨터 시스템에 연결된 헤드-장착 디스플레이(HMD), 독립형 HMD, 이동 디바이스 또는 컴퓨팅 시스템, 또는 하나 이상의 뷰어들에서 인공 현실 콘텐트를 제공할 수 있는 임의의 다른 하드웨어 플랫폼을 포함한, 다양한 플랫폼들 상에서 구현될 수 있다.
한 양상에 있어서, 본 발명은 방법에 관한 것이며, 상기 방법은, 컴퓨팅 시스템에 의해:
렌더링된 환경을 생성하고 사용자에게 디스플레이하는 것;
상기 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 상기 사용자의 머리 자세를 결정하는 것;
손 추적 데이터에 기초하여 상기 사용자의 손 자세를 결정하는 것;
상기 디스플레이된 렌더링된 환경과 연관된 장면 정보를 액세스하는 것; 및
기계-학습 모델을 사용하여 상기 머리 자세, 상기 손 자세, 및 상기 장면 정보를 프로세싱함으로써 상기 렌더링된 환경 내에서 사용자의 예상 초점 포인트를 결정하는 것을 포함한다.
본 발명에 따른 방법의 실시예에서, 상기 방법은 상기 렌더링된 환경 내에서 사용자의 예상 초점 포인트에 기초하여 컴퓨팅 시스템에 의해 사용자에게 제공된 이미지를 조정하는 것을 추가로 포함할 수 있다.
본 발명에 따른 방법의 실시예에서, 상기 머리 자세는 렌더링된 환경에 대하여 결정될 수 있다. 본 발명에 따른 방법의 실시예에서, 상기 손 자세는 상기 렌더링된 환경 또는 사용자에 의해 착용된 헤드셋 중 하나에 대하여 결정될 수 있다.
1. 본 발명에 따른 방법의 실시예에서, 사용자의 손 자세를 결정하는 것은 사용자의 손을 포함한 복수의 이미지들을 분석하는 컴퓨팅 시스템에 결합된 하나 이상의 카메라들에 기초하여 사용자의 손을 식별하는 것을 추가로 포함할 수 있다.
본 발명에 따른 방법의 실시예에서, 상기 손 추적 데이터는 사용자의 손에 의해 유지되거나 또는 착용된 디바이스와 연관될 수 있다. 그것에 더하여, 상기 방법은 사용자의 손에 의해 유지되거나 또는 착용된 디바이스에 의해 수행된 동작을 결정하는 것을 추가로 포함할 수 있으며, 예상 초점 포인트를 결정하는 것은 기계-학습 모델을 사용하여 사용자의 손에 의해 유지되거나 또는 착용된 디바이스에 의해 수행된 동작을 프로세싱하는 것을 추가로 포함한다.
본 발명에 따른 방법의 실시예에서, 장면 정보는 컬러 및 깊이 데이터를 포함할 수 있으며 및/또는 장면 정보는 렌더링된 환경 내에서 하나 이상의 요소들의 의미 정보(semantic information)를 포함할 수 있다.
본 발명에 따른 방법의 실시예에서, 예상 초점 포인트는 렌더링된 환경 내에서 3차원 좌표일 수 있다.
본 발명에 따른 방법의 실시예에서, 렌더링된 환경은 애플리케이션과 연관될 수 있으며, 상기 애플리케이션은 카테고리에 관련될 수 있고, 상기 장면 정보는 애플리케이션에 관련된 카테고리를 포함할 수 있다.
본 발명에 따른 방법의 실시예에서, 상기 방법은 기계-학습 모델을 사용하여 예상 초점 포인트에 대한 하나 이상의 위치들의 신뢰 맵(confidence map)을 생성하는 것을 추가로 포함할 수 있으며, 상기 신뢰 맵은 예상 초점 포인트가 하나 이상의 위치들의 각각에 있는 확률을 할당하고, 상기 예상 초점 포인트를 결정하는 것은 상기 신뢰 맵을 이용하는 것을 포함한다.
본 발명에 따른 방법의 실시예에서, 상기 예상 초점 포인트는 눈 추적 센서들 없이 결정될 수 있다.
본 발명에 따른 방법의 실시예에서, 상기 렌더링된 환경은 증강 현실 환경, 가상 현실 환경, 또는 혼합 현실 환경 중 하나 이상을 포함할 수 있다.
한 양상에 있어서, 본 발명은 소프트웨어를 포함하는 하나 이상의 컴퓨터-판독 가능한 비일시적 저장 미디에 관한 것이며, 상기 소프트웨어는 실행될 때 상기 설명된 바와 같이 방법들을 수행하거나 또는:
가상 현실 환경을 생성하며 사용자에게 디스플레이하고;
상기 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 사용자의 머리 자세를 결정하고;
사용자의 손에 의해 유지되거나 또는 착용된 디바이스와 연관된 손 추적 데이터에 기초하여 사용자의 손 자세를 결정하고;
상기 디스플레이된 가상 현실 환경과 연관된 장면 정보를 액세스하고;
기계-학습 모델을 사용하여 상기 머리 자세, 상기 손 자세, 및 상기 장면 정보를 프로세싱함으로써 가상 현실 환경 내에서 상기 사용자의 예상 초점 포인트를 결정하도록 동작 가능하다.
한 양상에 있어서, 본 발명은 시스템에 관한 것이며, 상기 시스템은: 하나 이상의 프로세서들; 및 상기 프로세서들에 의해 실행 가능한 지시들을 포함한 상기 프로세서들에 결합된 비일시적 메모리를 포함하며, 상기 프로세서들은 상기 지시들을 실행할 때 상기 설명된 바와 같이 방법들을 수행하거나 또는:
가상 현실 환경을 생성하며 사용자에게 디스플레이하고;
상기 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 사용자의 머리 자세를 결정하고;
상기 사용자의 손에 의해 유지되거나 또는 착용된 디바이스와 연관된 손 추적 데이터에 기초하여 상기 사용자의 손 자세를 결정하고;
상기 디스플레이된 가상 현실 환경과 연관된 장면 정보를 액세스하고;
기계-학습 모델을 사용하여 상기 머리 자세, 상기 손 자세, 및 상기 장면 정보를 프로세싱함으로써 상기 가상 현실 환경 내에서 사용자의 예상 초점 포인트를 결정하도록 동작 가능하다.
본원에 개시된 실시예들은 단지 예들이며, 본 개시의 범위는 그것들에 제한되지 않는다. 특정한 실시예들은 상기 개시된 실시예들의 구성요소들, 요소들, 특징들, 기능들, 동작들, 또는 단계들의 모두, 일부를 포함하거나, 또는 포함하지 않을 수 있다. 본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 관련된 첨부된 청구항들에서 개시되며, 여기에서 하나의 청구항 카테고리, 예컨대 방법에서 언급된 임의의 특징은 또 다른 청구항 카테고리, 예컨대 시스템에서 또한 청구될 수 있다. 첨부된 청구항들에서 종속성들 또는 역 참조들은 단지 형식적인 이유들로 택하여진다. 그러나, 임의의 이전 청구항들(특히 다수의 종속성들)에 대한 의도적인 역 참조에서 기인한 임의의 주제가 또한 청구될 수 있어서, 청구항들의 임의의 조합 및 그것의 특징들이 개시되며 첨부된 청구항들에서 택하여진 종속성들에 관계없이 청구될 수 있도록 한다. 청구될 수 있는 주제는 첨부된 청구항들에서 제시된 바와 같이 특징들의 조합들뿐만 아니라 청구항들에서의 특징들의 임의의 다른 조합을 또한 포함하며, 청구항들에서 언급된 각각의 특징은 청구항들에서 임의의 다른 특징 또는 다른 특징들의 조합과 조합될 수 있다. 더욱이, 본원에서 설명되거나 또는 묘사된 실시예들 및 특징들 중 임의의 것은 별개의 청구항에서 및/또는 본원에서 설명되거나 또는 묘사된 임의의 실시예 또는 특징과의 또는 첨부된 청구항의 특징들 중 임의의 것과의 임의의 조합으로 청구될 수 있다.
특허 또는 출원 파일은 컬러로 행해진 적어도 하나의 도면을 포함한다. 컬러 도면(들)을 가진 이러한 특허 또는 특허 출원 공보의 사본들은 필요한 요금의 요청 및 지불 시 오피스에 의해 제공될 것이다.
도 1은 사용자의 시선을 결정하기 위해 기계-학습 모델을 사용하는 예시적인 프로세스를 예시한다.
도 2는 예측된 시선이 결정되는 예시적인 가상 현실 환경을 예시한다.
도 3은 사용자의 시선을 예측하기 위해 기계-학습 모델을 트레이닝하는 예시적인 프로세스를 예시한다.
도 4는 기계-학습 모델을 사용하여 사용자의 시선을 결정하기 위한 예시적인 방법을 예시한다.
도 5는 가상 현실 시스템과 연관된 예시적인 네트워크 환경을 예시한다.
도 6은 예시적인 컴퓨터 시스템을 예시한다.
휴대용, 개인 디스플레이상에서 고-품질 시각적 경험을 개발하기 위한 기술들 중 많은 것이 정확한 시선 추적에 의존할 수 있다. 가상 현실 환경 내에서 사용자의 시각적 경험을 개선하도록 도울 수 있는 시선-부수 기술은 가변초점 디스플레이들 및 포비티드(foveated) 렌더링을 포함할 수 있다. 몇몇 가상 현실 시스템들은 사용자의 시선을 결정하기 위해 눈 추적들을 포함할 수 있지만, 눈 추적기들은 모든 가상 현실 시스템들로 액세스 가능하다. 예를 들어, 사용자의 스마트폰을 통해 가상 현실 환경을 렌더링하는 사용자는 눈 추적 능력들을 갖지 않을 수 있다. 가상 현실이 사용자의 스마트폰과 같은, 휴대용 및 개인 솔루션들을 통해 사용자들로 더 액세스 가능해짐에 따라, 눈 추적/시선 결정 기능은 제거될 것이다. 그러나, 기계-학습 모델을 트레이닝하는 것을 통해, 대부분의 가상 현실 시스템들에 대해 이용 가능한 데이터가 사용자의 시선을 결정하고 및/또는 눈 추적을 수행하기 위해 이용될 수 있다. 사용자들이 가상 현실 환경을 탐구하고 태스크들을 완료함에 따라, 그들의 시선의 위치는 머리 방향, 손 위치, 장면의 콘텐트, 및 태스크의 목적과 같은, 정보의 소스들과 부합할 수 있다. 눈 추적/시선 결정 프로세스 및 애플리케이션이 가상 현실 시스템 및 가상 현실 환경의 맥락으로 본원에서 설명될 수 있지만, 프로세스 및 애플리케이션은 또한 증강 현실 시스템들, 증강 현실 환경들, 혼합 현실 시스템들, 및 혼합 현실 환경들에 적용할 수 있다. 제한으로서가 아닌 예로서, 렌더링된 환경은 증강 현실 요소들과 함께 현실 세계 장면을 포함한 증강 현실 환경일 수 있으며, 입력 데이터는 사용자의 시선을 결정하기 위해 증강 현실 시스템에 의해 사용된 데이터일 수 있다.
특정한 실시예들에서, 시선을 결정하도록 기계-학습 모델을 트레이닝하기 위해, 헤드셋의 자세, 제어기 정보, 및 장면 정보 중 적어도 하나와 연관된 입력 데이터가 사용될 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 복수의 센서들로부터 입력 데이터를 검색하거나 또는 액세스할 수 있다. 제한으로서가 아닌 예로서, 가상 현실 시스템은 헤드셋에 결합된 가속도계를 통해 헤드셋의 가속도를 결정할 수 있다. 입력 데이터는 사용자가 보고 있는 곳의 예상 초점 포인트를 결정하기 위해 사용될 수 있다. 예상 초점 포인트는 사용자의 환경 내에서 3차원 좌표에 의해 표현될 수 있다. 예를 들어, 예상 초점 포인트는 사용자의 환경 내에서 XYZ 좌표에 의해 표현될 수 있다. 예를 들어, 가상 현실 환경 내에서, AR/VR 헤드셋은 가상 현실 환경 내에서 사용자가 보고 있는 곳을 나타내기 위해 예측된 3차원 좌표를 산출할 수 있다. 헤드셋의 자세는 헤드셋의 위치 및 배향을 나타낼 수 있다. 이러한 위치 및 배향은 환경에 대한 것일 수 있다. 입력 데이터는 또한 헤드셋의 속도 및 가속도를 포함할 수 있다. 제어기 정보는 헤드셋 및 환경에 대하여 및 또한 제어기들에 대하여 수행되고 있는 동작들이 있다면(예컨대, 사용자가 픽-업 기능을 수행하기 위해 버튼을 누르고 있는) 제어기들 중 하나 이상과 연관된 자세 데이터를 나타낼 수 있다. 제어기 정보는 또한 제어기들의 각각의 속도 및 가속도를 포함할 수 있다. 장면 정보는 환경의 RGBD 데이터를 포함할 수 있다. 헤드셋은 장면의 RGBD 데이터로부터 오브젝트 식별을 수행할 수 있다. 가상 현실 환경에서, 가상 현실 시스템은 가상 현실 환경에 관련된 부가적인 정보를 수신할 수 있다. 예를 들어, 가상 장면에서 오브젝트들의 오브젝트 데이터, 게임 정보, 및 가상 환경의 부가적인 정보는 가상 현실 시스템으로 전송될 수 있다. 환경의 정보는 사용자가 보고 있을 수 있는 곳을 예측하기 위해 사용될 수 있다. 제한으로서가 아닌 예로서, 사용자가 목표로 하길 요구하는 타겟이 있다면, 그것은 사용자가 타겟을 볼 가능성이 매우 높다. 헤드셋의 자세에 대한 정보, 제어기 정보, 및 장면 정보의 이러한 축적은 사용자의 초점 포인트를 예측하기 위해 기계-학습 모델로 공급될 수 있다. 특정한 실시예들에서, 예상 초점 포인트는 사용자의 실제 시선의 정답(ground truth)에 비교될 수 있다. 특정한 실시예들에서, 실제 시선은 처음에 눈 추적 센서들 및 사용자 확인에 의해 결정될 수 있다. 기계-학습 모델이 트레이닝된 후, 눈 추적 센서들을 갖지 않은 다른 가상 현실 시스템들은 사용자의 초점 포인트를 예측하기 위해 기계-학습 모델을 사용할 수 있다.
특정한 실시예들에서, 기계-학습 모델의 출력은 초점 포인트가 위치될 수 있는 곳의 신뢰 맵일 수 있다. 신뢰 맵은 환경 내에서 다양한 XYZ 위치들의 신뢰 스코어들을 포함할 수 있다. 이것은 초점 포인트가 위치될 수 있는 곳의 열 맵과 유사할 수 있다. 제한으로서가 아닌 예로서, 신뢰 맵은 환경 내에서 다수의 XYZ 위치들에 대한 0 내지 1의 범위를 포함할 수 있다. 특정한 실시예들에서, 신뢰 스코어는 초점 포인트가 위치에 있는 확률을 나타낼 수 있다. 특정한 실시예들에서, 예상 초점 포인트는 여러 XYZ 위치들을 포함할 수 있다. XYZ 초점 포인트로서 논의되지만, 기계-학습 모델은 3D 공간에서의 특정한 초점 포인트보다는 시선 궤적을 나타내기 위해 XY 초점 포인트를 결정할 수 있다.
특정한 실시예들에서, 가상 현실 시스템은 가상 현실 환경을 생성하고 사용자에게 디스플레이할 수 있다. 가상 현실 시스템은 헤드셋, 하나 이상의 제어기들, 프로세서, 및 부가적인 센서들(예컨대, 카메라들 등)을 포함할 수 있다. 특정한 실시예들에서, 헤드셋 및 프로세서는 하나의 컴퓨팅 디바이스 내에 포함될 수 있다. 가상 현실 헤드셋은 가상 현실 헤드셋 상에 디스플레이될 애플리케이션과 같은, 가상 현실 환경을 렌더링할 수 있다. 애플리케이션은 카테고리 및/또는 서브카테고리와 연관될 수 있다. 제한으로서가 아닌 예로서, 애플리케이션은 게임일 수 있으며, 게임은 스포츠 게임일 수 있다. 가상 현실 시스템은 렌더링된 가상 현실 환경과 연관된 애플리케이션에 대응하는 정보를 액세스하거나 또는 검색할 수 있다. 제한으로서가 아닌 예로서, 가상 현실 헤드셋이 가상 현실 요소(예컨대, 책)를 생성한다면, 가상 현실 시스템은 가상 현실 환경 내에서 다양한 오브젝트들을 식별하기 위해 상기 정보를 검색할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 가상 현실 환경 내에서 오브젝트 검출을 수행할 수 있다.
특정한 실시예들에서, 가상 현실 시스템은 사용자의 머리 자세를 결정할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 머리 자세를 결정할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 헤드셋의 자세를 추적하기 위해 센서 데이터(예컨대, 헤드셋의 가속도계/자이로스코프 데이터, 또는 가상 현실 환경 내에서 사용자를 모니터링하는 별개의 카메라)를 액세스할 수 있다. 제한으로서가 아닌 예로서, 헤드셋은 헤드셋의 자세를 결정하기 위해 사용될 독립형 센서들에 의해 검출될 수 있는 IR/LED 패턴들을 가질 수 있다. 제한으로서가 아닌 또 다른 예로서, 헤드셋은 외부-향 카메라들을 가질 수 있으며, 이것은 물리적 환경의 사진들을 찍고 헤드셋이 물리적 환경에 대하여 어디에 있는지를 결정하기 위해 삼각측량 기술들을 사용할 수 있다. 물리적 환경에 대한 헤드셋의 위치는 가상 현실 환경 내에서 사용자의 자세에 비교될 수 있다. 특정한 실시예들에서, 머리 자세는 가상 현실 환경에 대하여 결정될 수 있다.
특정한 실시예들에서, 가상 현실 시스템은 사용자의 손 자세를 결정할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 사용자의 손에 의해 유지되거나 또는 착용된 디바이스와 연관된 손 추적 데이터에 기초하여 손 자세를 결정할 수 있다. 제한으로서가 아닌 예로서, 디바이스는 제어기, 글러브 등일 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 사용자의 손의 손 추적 데이터에 기초하여 손 자세를 결정할 수 있다. 특정한 실시예들에서, 머리 자세를 결정하는 것과 유사하게, 가상 현실 시스템은 센서 데이터에 기초하여 사용자의 손에서 디바이스의 자세를 결정할 수 있다. 제한으로서가 아닌 예로서, 가상 현실 시스템은 사용자의 손에서 디바이스(예컨대, 제어기)의 자세를 결정하기 위해 IR/LED 패턴들을 사용할 수 있다. 제한으로서가 아닌 또 다른 예로서, 헤드셋은 제어기의 이미지들을 캡처하며 사용자의 헤드셋에 대하여 디바이스의 손 자세를 결정할 수 있다. 제한으로서가 아닌 또 다른 예로서, 헤드셋은 사용자의 손의 이미지들을 캡처하며 사용자의 손의 손 자세를 결정할 수 있다. 특정한 실시예들에서, 손 자세는 가상 현실 환경 또는 물리적 현실 세계 환경에 대하여 결정될 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 사용자의 손에서 디바이스의 제어기 정보를 또한 액세스할 수 있다. 제어기 정보는 디바이스에 의해 수행되는 동작을 나타낼 수 있다. 제한으로서가 아닌 예로서, 사용자는 디바이스의 버튼을 클릭할 수 있으며, 이것은 가상 현실 환경 내에서의 동작에 대응할 수 있다. 예를 들어, 동작은 오브젝트를 유지하고, 오브젝트와 상호작용하는 것 등일 수 있다. 특정한 실시예들에서, 헤드셋은 사용자의 손들을 포함하는 환경의 캡처된 이미지들을 통해 사용자의 한 손 또는 양쪽 손 모두에 의해 수행되는 제스처들을 결정할 수 있다.
특정한 실시예들에서, 가상 현실 시스템은 디스플레이된 가상 현실 환경과 연관된 장면 정보를 액세스할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 애플리케이션에 의해 제공되는 장면 정보를 검색할 수 있다. 제한으로서가 아닌 예로서, 애플리케이션이 게임이고 게임이 가상 현실 환경 내에서 가상 현실 요소들을 생성하도록 헤드셋에 지시한다면, 가상 현실 시스템은 가상 현실 요소들에 대응하는 정보를 검색할 수 있을 것이다. 예를 들어, 가상 현실 시스템은 가상 현실 환경 내에서 생성되는 가상 현실 요소들에 대응하는 XYZ 좌표를 결정할 수 있다. 특정한 실시예들에서, 장면 정보는 컬러 및 깊이 데이터를 포함할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 가상 현실 환경과 연관된 RGB 데이터 또는 RGBD 데이터 중 하나 이상을 액세스할 수 있다. 제한으로서가 아닌 예로서, 가상 현실 시스템은 가상 현실 환경 내에서 이미지들을 캡처할 수 있다. 특정한 실시예들에서, 증강 현실 콘텍스트 또는 혼합 현실 콘텍스트 내에서, 헤드셋은 현실 세계 환경의 이미지들을 캡처할 수 있다. 현실 세계 환경의 캡처된 이미지들은 현실 세계 환경 내에서 물리적 오브젝트들을 식별하기 위해 프로세싱될 수 있다. 이미지들은 물리적 오브젝트들의 깊이 측정들을 결정하기 위해 삼각측량 기법들을 적용함으로써 프로세싱될 수 있다. 특정한 실시예들에서, 장면 정보는 가상 현실 환경 내에서 가상 현실 요소들의 의미 정보를 포함할 수 있다. 가상 현실 시스템은 가상 현실 환경 내에서 오브젝트들을 식별하기 위해 다양한 기법들을 사용하여 오브젝트 검출을 수행할 수 있다. 가상 현실 환경은 가상 현실 환경에 대하여 오브젝트의 XYZ 좌표 및/또는 위치를 결정할 수 있다. 특정한 실시예들에서, 장면 정보는 저-레벨 정보 및 고-레벨 정보로 분류될 수 있다. 저-레벨 정보는 세기, 컬러, 또는 모션 중 하나 이상을 포함할 수 있다. 고-레벨 정보는 가상 현실 환경에서 식별된 얼굴들, 가상 현실 환경 내에서 식별된 인간들, 및 식별된 태스크를 포함할 수 있다. 제한으로서가 아닌 예로서, 가상 현실 시스템은 가상 현실 환경 내에서 오브젝트를 집으려고 시도하는 것, 가상 현실 환경 내에서 무기를 발사하는 것, 및 가상 현실 환경 내에서 사용자가 행할 수 있는 다른 가능한 태스크들을 결정할 수 있다.
특정한 실시예들에서, 가상 현실 시스템은 사용자의 예상 초점 포인트를 결정할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 기계-학습 모델을 사용하여 머리 자세, 손 자세, 및 장면 정보를 프로세싱함으로써 사용자의 예상 초점 포인트를 결정할 수 있다. 기계-학습 모델은 가상 현실 시스템에 의해 가상 현실 환경에 적용되도록 트레이닝되는 것으로 설명되지만, 기계-학습 모델은 또한 증강 현실 시스템에 의해 증강 현실 환경에 적용되도록 트레이닝되거나 또는 혼합 현실 시스템에 의해 혼합 현실 환경에 적용되도록 트레이닝될 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 기계-학습 모델을 사용하여 프로세싱하기 위해 다른 데이터를 사용할 수 있다. 제한으로서가 아닌 예로서, 가상 현실 시스템은 기계-학습 모델을 사용하여 사용자의 손에 의해 유지되거나 또는 착용된 디바이스에 의해 수행되는 동작을 프로세싱할 수 있다. 예를 들어, 사용자가 오브젝트를 집으려고 시도한다면, 기계-학습 모델은 예상 초점 포인트가 집고 있는 오브젝트를 향하고 있다고 결정할 수 있다. 특정한 실시예들에서, 예상 초점 포인트는 가상 현실 환경 내에서의 3차원 좌표일 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 신뢰 맵을 생성하고 신뢰 맵을 사용함으로써 예상 초점 포인트를 결정할 수 있다. 예상 초점 포인트는 눈 추적 센서들의 사용 없이 결정될 수 있다. 예상 초점 포인트를 결정하는 것이 논의되지만, 가상 현실 시스템은 본원에서 설명된 바와 같이 입력 데이터를 사용하여 사용자 눈 조절 및/또는 이접운동을 결정하기 위해 기계-학습 모델을 사용할 수 있다.
특정한 실시예들에서, 가상 현실 시스템은 예상 초점 포인트 및 기계 학습 모델의 다른 출력들을 결정하기 위해 이전 프레임 데이터 또는 이전 프레임 예측 결과들 중 하나 이상을 액세스할 수 있다. 특정한 실시예들에서, 기계-학습 모델은 사용자에게 디스플레이된 각각의 프레임 간의 시간적 상관관계를 분석할 수 있다. 제한으로서가 아닌 예로서, 하나의 프레임 내에서 예상 초점 포인트는 이전 프레임의 예상 초점 포인트에 비교적 가깝거나 또는 정확한 위치에 있는 것으로 결정될 수 있다. 특정한 실시예들에서, 이전 프레임 데이터는 각각의 프레임의 입력 데이터를 포함할 수 있다. 제한으로서가 아닌 예로서, 사용자에게 디스플레이된 프레임들의 시퀀스 내에서, 가상 현실 시스템은 단수형 프레임 및 그것의 대응하는 입력 데이터를 액세스할 수 있다. 특정한 실시예들에서, 이전 프레임 예측 결과들은 이전 예상 초점 포인트 및 기계-학습 모델의 다른 출력들을 포함할 수 있다. 이전 프레임 예측 결과들은 현재 예상 초점 포인트를 나타낼 수 있다. 기계-학습 모델은 현재 예상 초점 포인트를 결정하기 위해 이전 프레임 데이터 및/또는 이전 프레임 예측 결과들에 대해 사용하도록 트레이닝될 수 있다.
특정한 실시예들에서, 가상 현실 시스템은 사용자에게 제공된 이미지를 조정할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 가상 현실 환경 내에서 사용자의 예상 초점 포인트에 기초하여 사용자에게 제공된 이미지를 조정할 수 있다. 가상 현실 시스템은 결정된 사용자 눈 조절 및/또는 결정된 이접운동과 같은, 다른 데이터에 기초하여 사용자에게 제공된 이미지를 조정할 수 있다. 제한으로서가 아닌 예로서, 가상 현실 시스템은 가상 현실 환경을 디스플레이하기 위해 요구되는 프로세싱을 줄이기 위해 포비티드 렌더링을 위한 예상 초점 포인트를 사용할 수 있다. 포비티드 렌더링을 이용해서, 가상 현실 시스템은 예상 초점 포인트 밖에서 임의의 불필요한 렌더링을 줄일 수 있다. 특정한 실시예들에서, 예상 초점 포인트의 결정은 이미지 왜곡 정정, 임의의 필요한 이미지 시프트들 등을 도울 수 있다. 부가적으로, 예상 초점 포인트는 예상 초점 포인트 밖에서 불필요한 렌더링을 줄이기 위해 포비티드 렌더링을 도울 수 있다. 예상 초점 포인트는 또한 예상 초점 포인트에 기초하여 초점 디스플레이들을 조정하기 위해 가변초점 디스플레이들에 대해 사용될 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 사용자의 예상 초점 포인트를 계속해서 결정하며 업데이트된 예상 초점 포인트에 기초하여 사용자에게 제공된 이미지를 조정할 수 있다. 가상 현실 환경 및 가상 현실 시스템이 본원에서 설명되지만, 특정한 실시예들에서, 예상 초점 포인트 및 기계-학습 모델의 다른 출력들(예컨대, 사용자 눈 조절 및/또는 이접운동)은 증강 현실 환경을 위해 증강 현실 시스템에 의해 또는 혼합 현실 환경을 위해 혼합 현실 시스템에 의해 사용될 수 있다.
특정한 실시예들에서, 사용자는 증강 현실 시스템, 가상 현실 시스템, 또는 혼합 현실 시스템 중 하나 이상에 의해 렌더링된 환경 내에서 상호작용할 수 있다. 렌더링된 환경은 증강 현실 환경, 가상 현실 환경, 또는 혼합 현실 환경일 수 있다. 특정한 실시예들에서, 증강 현실 시스템, 가상 현실 시스템, 또는 혼합 현실 시스템 중 하나 이상은 사용자의 시선을 결정하거나 또는 눈 추적을 수행하도록 기계-학습 모델을 트레이닝하기 위해 본원에서 설명된 입력 데이터를 취할 수 있다. 제한으로서가 아닌 예로서, 증강 현실 시스템은 사용자에 의해 착용된 헤드셋에 결합된 센서들로부터의 입력 데이터를 액세스할 수 있다. 특정한 실시예들에서, 증강 현실 시스템 또는 혼합 현실 시스템은 사용자의 시선을 결정하거나 또는 눈 추적을 수행하기 위해 기계-학습 모델을 사용할 수 있다. 특정한 실시예들에서, 증강 현실 시스템 또는 혼합 현실 시스템은 가변초점 렌즈, 개선된 눈 추적, 또는 사용자 인터페이스 상호작용 중 하나 이상을 위해 결정된 사용자의 시선을 사용할 수 있다. 제한으로서가 아닌 예로서, 증강 현실 시스템의 렌즈는 사용자의 결정된 시선에 기초하여 조정될 수 있다. 특정한 실시예들에서, 저-fi 눈 추적기들은 증강 현실 시스템, 가상 현실 시스템, 또는 혼합 현실 시스템에 의해 사용될 수 있으며 결정된 사용자의 시선은 결정된 사용자의 시선의 결과들을 개선할 수 있다.
특정한 실시예들에서, 사용자는 사용자의 시선을 통해 사용자 인터페이스와 상호작용할 수 있다. 특정한 실시예들에서, 사용자 인터페이스 요소들은 증강 현실 요소들, 가상 현실 요소들, 또는 혼합 현실 요소들로서 생성될 수 있다. 사용자는 대응하는 렌더링된 요소에서 그들의 시선을 향하게 함으로써 사용자 인터페이스와 연관된 기능을 수행할 수 있다. 제한으로서가 아닌 예로서, 메시징 아이콘(사용자의 뷰의 코너와 같은, 사용자의 뷰에 결합되거나 또는 렌더링된 환경에 결합될 수 있는)은 사용자에게 제공된 증강 현실 환경 내에서의 증강 현실 요소로서 렌더링될 수 있다. 증강 현실 시스템이 사용자가 메시징 아이콘을 보려고 한다고 결정한다면, 증강 현실 시스템은 사용자가 상호작용할 메시징 애플리케이션을 활성화할 수 있다. 특정한 실시예들에서, 결정된 시선은 사용자 인터페이스를 통해 내비게이팅하기 위해 사용될 수 있다. 제한으로서가 아닌 예로서, 사용자는 특정 포인트에 대하여 위 또는 아래를 봄으로써 사용자에게 제공된 메뉴(사용자의 뷰 또는 렌더링된 환경에 결합된 메뉴) 상에서 위 또는 아래로 스크롤할 수 있다. 특정한 실시예들에서, 결정된 시선은 사용자 인터페이스 내에서 선택을 수행하기 위해 사용될 수 있다. 제한으로서가 아닌 예로서, 사용자가 증강 현실 요소들(사용자의 뷰 또는 증강 현실 환경에 결합될 수 있는) 내에서 복수의 옵션들을 제공받는다면, 사용자는 옵션에 대응하는 증강 현실 요소를 봄으로써 옵션들 중 하나를 선택할 수 있다. 특정한 실시예들에서, 사용자의 시선은 사용자가 어떤 옵션을 선택하는지를 결정하기 위해 제스처(예컨대, 사용자가 증강 현실 요소를 가리키는 것)와 함께 사용될 수 있다.
특정한 실시예들에서, 기계-학습 모델은 개인화된 시선 프로필들을 발생시킬 수 있다. 제한으로서가 아닌 예로서, 사용자는 가상 현실 시스템으로 계정을 연계시키는 가상 현실 시스템상에서의 계정(예컨대, 소셜-네트워킹 계정)을 로그인할 수 있다. 기계-학습 모델은 가상 현실 환경과의 사용자 상호작용에 기초하여 특정 사용자의 시선을 결정하도록 트레이닝될 수 있다. 제한으로서가 아닌 예로서, 사용자는 대부분의 사용자들과 약간 상이한 방식으로 가상 현실 환경을 볼 수 있으며 기계-학습 모델은 특정 사용자의 시선을 정확하게 결정할 수 있다. 기계-학습 모델은 또한 눈 추적 센서들(예컨대, 디바이스가 그것들을 갖고 있다면)에 기초하여 특정 사용자의 시선을 결정하도록 트레이닝될 수 있다. 특정한 실시예들에서, 사용자가 또 다른 가상 현실 시스템 또는 디바이스(예컨대, 증강 현실 시스템 또는 혼합 현실 시스템) 상에서의 그들의 계정에 로그인한다면, 개인화된 시선 프로필이 사용자의 시선을 결정하기 위해 기계-학습 모델에 의해 사용될 수 있다. 특정한 실시예들에서, 개인화된 시선 프로필은 특정한 사용자에 대해 트레이닝된 기계-학습 모델일 수 있다.
도 1을 참조하면, 사용자의 시선을 결정하기 위해 기계-학습 모델을 사용하는 예시적인 프로세스(100)가 도시된다. 특정한 실시예들에서, 프로세스(100)는 가상 현실 시스템 또는 다른 프로세싱 디바이스에서 입력 데이터(102, 104, 106)를 수신하는 것을 포함할 수 있다. 특정한 실시예들에서, 입력 데이터는 헤드셋 추적 데이터(102), 손 추적 데이터(104), 및 장면 정보(106)를 포함할 수 있다. 특정한 실시예들에서, 헤드셋 추적 데이터(102)는 가상 현실 시스템의 가상 현실 헤드셋으로부터의 센서 데이터 또는 가상 현실 시스템의 독립형 센서로부터의 센서 데이터를 포함할 수 있다. 헤드셋 추적 데이터(102)는 사용자의 머리 자세를 결정하기 위해 사용될 수 있다. 머리 자세는 가상 현실 환경에 대하여 또는 물리적 환경에 대하여 가상 현실 헤드셋의 위치 및 배향을 나타낼 수 있다. 특정한 실시예들에서, 손 추적 데이터(104)는 가상 현실 시스템의 가상 현실 제어기로부터의 센서 데이터 또는 가상 현실 시스템의 독립형 센서로부터의 센서 데이터를 포함할 수 있다. 손 추적 데이터(104)는 사용자의 손 자세를 결정하기 위해 사용될 수 있다. 손 자세는 가상 현실 환경 또는 가상 현실 헤드셋에 대하여 가상 현실 제어기의 위치 및 배향을 나타낼 수 있다. 특정한 실시예들에서, 장면 정보(106)는 애플리케이션(예컨대, 가상 현실 환경을 생성하기 위해 가상 현실 시스템상에서 실행하는 현재 애플리케이션)으로부터 검색되거나 또는 가상 현실 환경의 데이터(예컨대, RGBD 데이터)에 기초하여 결정될 수 있다. 특정한 실시예들에서, 장면 정보(106)는 가상 현실 환경에서 가상 현실 요소들의 의미 정보뿐만 아니라 각각의 가상 현실 요소와 연관된 3차원 좌표를 나타낼 수 있다. 장면 정보(106)는 또한 가상 현실 환경과 연관된 컬러 및 깊이 데이터와 같은, 다른 정보를 나타낼 수 있다. 장면 정보(106)는 사용자가 가상 현실 환경 내에서 완료하고 있는 태스크를 포함할 수 있다.
특정한 실시예들에서, 입력 데이터(102, 104, 106)는 예측된 3차원 시선(110)을 결정하는 기계-학습 모델(108)로 전달될 수 있다. 특정한 실시예들에서, 기계-학습 모델(108)은 정답과 예측된 시선들을 비교함으로써 이전에 트레이닝되었다. 특정한 실시예들에서, 기계-학습 모델은 특정한 태스크들이 사용자가 가상 현실 환경에서 특정한 포인트를 보고 있는 것을 야기할 수 있다고 결정할 수 있다. 예를 들어, 사용자가 가상 현실 환경 내에서 요리하고 있다면, 가상 현실 시스템은 다른 입력 데이터(102, 104)와 함께 장면 정보(106)를 기계-학습 모델(108)로 전송할 수 있다. 기계-학습 모델(108)은 사용자가 요리하고 있으므로, 사용자가 조리 기구들 등과 같은, 가상 현실 환경 내에서 특정한 오브젝트들을 보고 있어야 한다고 결정할 수 있다. 이러한 정보는 사용자들이 통상적으로 그들이 동일한 또는 유사한 태스크들을 수행하는 것과 동일한 시선 패턴들을 따를 수 있기 때문에 사용자가 보고 있는 곳의 초점 포인트(110)를 예측하기 위해 사용될 수 있다. 특정한 실시예들에서, 애플리케이션의 카테고리 및/또는 서브카테고리와 같은, 부가적인 정보가 예상 초점 포인트(110)를 결정하기 위해 사용될 수 있다. 제한으로서가 아닌 예로서, 애플리케이션(예컨대, 스포츠 게임)의 카테고리는 카테고리와 연관된 동작들을 수행하는 동안 사용자들이 통상적으로 따를 수 있는 특정한 동작들 및 뒤이은 시선 패턴들을 나타낼 수 있다. 이들 동작들의 분류화는 애플리케이션들의 특정 카테고리들에 대응하는 시선 패턴들을 식별하도록 기계-학습 모델을 트레이닝할 수 있다. 부가적으로, 특정한 실시예들에서, 기계-학습 모델은 가상 현실 환경 내에서 사용자가 수행하는 특정한 동작들과 연관된 시선 패턴들을 더 구체적으로 결정할 수 있다.
특정한 실시예들에서, 기계-학습 모델은 가상 현실 환경 내에서 오브젝트들 간의 관계들을 식별할 수 있다. 제한으로서가 아닌 예로서, 사용자가 땅콩 버터 및 젤리 샌드위치를 만드는 것과 같은, 조리 동작을 수행하고 있다면, 기계-학습 모델은 샌드위치를 만드는 태스크를 완료하기 위해 사용자가 따를 동작 및 이벤트들의 시퀀스를 위해 사용될 오브젝트들을 식별할 수 있다. 이벤트들의 시퀀스는 사용자가 샌드위치를 만드는 동안 볼 곳의 시선 패턴을 나타낼 수 있다. 예를 들어, 사용자는 빵 또는 도구를 붙잡는 것에 의해 시작할 수 있다. 이와 같이, 사용자는 처음에 빵을 보며 프로세스를 따를 수 있다.
도 2는 예측된 시선이 결정되는 예시적인 가상 현실 환경(200)을 예시한다. 가상 현실 환경(200)은 복수의 오브젝트들(202)을 포함할 수 있다. 예를 들어, 오브젝트들(202) 중 하나는 클립보드(202a)일 수 있다. 가상 현실 환경(200)은 가상 현실 환경(200) 내에서 사용자의 손(204)을 디스플레이할 수 있다. 특정한 실시예들에서, 사용자의 손(204)은 사용자가 들고 있는 가상 현실 제어기에 대응할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 본원에서 설명된 바와 같이 센서 데이터에 기초하여 머리 자세 및 손 자세를 결정할 수 있다. 머리 자세는 가상 현실 환경(200) 내에서 사용자의 머리의 위치 및 배향을 나타낼 수 있다. 손 자세는 가상 현실 환경(200) 내에서 사용자의 손 위치 및 배향을 나타낼 수 잇다. 가상 현실 시스템은 가상 현실 환경의 장면 정보를 액세스할 수 있다. 장면 정보는 가상 현실 환경(200) 내에서의 다양한 오브젝트들(202)뿐만 아니라 가상 현실 환경 내에서 오브젝트들(202)의 위치들을 식별할 수 있다. 장면 정보는 사용자가 하고 있는 태스크, 예를 들어, 사용자가 지시들에 따라 클립보드(202a)를 집는 것을 나타낼 수 있다. 이와 같이, 사용자는 클립보드(202a)를 읽을 수 있다. 가상 현실 시스템은 사용자의 예측된 시선을 나타내는 예상 초점 포인트(206)를 결정하기 위해 기계-학습 모델을 사용하여 결정된 머리 자세, 결정된 손 자세, 및 장면 정보를 프로세싱할 수 있다. 기계-학습 모델은 사용자가 클립보드(202a)를 읽고 있으므로, 예상 초점 포인트(206)는 클립보드(202a) 상에 또는 그 가까이에 위치될 수 있다고 결정할 수 있다. 특정한 실시예들에서, 가상 현실 시스템은 예측된 시선에 기초하여 가상 현실 환경(200)의 디스플레이를 변경할 수 있다.
도 3은 사용자의 시선을 예측하도록 기계-학습 모델을 트레이닝하는 예시적인 프로세스(300)를 예시한다. 특정한 실시예들에서, 프로세스(300)는 기계-학습 모델로 이미지(302)와 같은, 복수의 이미지들을 공급함으로써 시작될 수 있다. 이미지(302)는 관심 오브젝트들(304)을 식별하기 위해 프로세싱될 수 있다. 특정한 실시예들에서, 기계-학습 모델은 관심 오브젝트들을 결정하기 위해 본원에서 설명된 바와 같이 입력 데이터를 사용할 수 있다. 특정한 실시예들에서, 이미지(302)는 오브젝트들(304a 내지 304h)을 사용함으로써, 사용자가 다양한 타겟들(304i, 304j, 304k, 304l)로 향할 수 있는, 사격 연습 가상 현실 환경에 대응할 수 있다. 특정한 실시예들에서, 기계-학습 모델은 사용자의 시선의 복수의 식별된 결정된 초점 포인트들(308a 내지 308m)을 포함하는 정답 이미지(306)를 액세스할 수 있다. 특정한 실시예들에서, 정답 이미지(306)는 눈 추적 센서들 및/또는 사용자 확인의 사용을 통해 생성될 수 있다. 정답 이미지(306) 내에서 복수의 결정된 초점 포인트들(308)은 하이라이팅된 녹색 면적으로 표현될 수 있다. 특정한 실시예들에서, 기계-학습 모델은 복수의 예상 초점 포인트들(312a 내지 312m)을 포함한 예상 초점 포인트 이미지(310)를 생성할 수 있다. 특정한 실시예들에서, 예상 초점 포인트들(312)의 각각은 예상 초점 포인트(312)가 상기 위치에 있는 확률을 나타내는 열 맵으로서 제공될 수 있다. 특정한 실시예들에서, 더 밝은 녹색의 음영은 예상 초점 포인트(312)가 위치될 수 있는 낮은 확률을 나타낼 수 있다. 적색은 예상 초점 포인트(312)가 위치될 수 있는 높은 확률을 나타낼 수 있다. 예상 초점 포인트들(312)은 정답 이미지(306)의 결정된 초점 포인트들(308)에 비교될 수 있다. 특정한 실시예들에서, 기계-학습 모델은 또한 결정된 초점 포인트들(308) 및 예상 초점 포인트들(312)의 비교에 기초하여 업데이트될 수 있다. 부가적으로, 다수의 샘플들 후, 기계-학습 모델에 의해 생성된 예상 초점 포인트들(312)은 결정된 초점 포인트들(308)보다 더 정확할 수 있다. 예를 들어, 눈 추적 센서들이 항상 정확한 것은 아닐 수 있다. 특정한 실시예들에서, 기계-학습 모델은 또한 예상 초점 포인트(312)를 정확하게 결정하기 위해 입력 데이터를 사용할 수 있다. 특정한 실시예들에서, 기계-학습 모델은 사용자가 성취하고 있는 태스크에 기초하여 예상 초점 포인트들(312)을 결정할 수 있다. 예를 들어, 오브젝트들(304a 내지 304h)은 모두 타겟들(304j 내지 304l) 대신에 사용자가 그것들을 보고 있는 더 높은 확률을 가질 수 있다. 제한으로서가 아닌 예로서, 기계-학습 모델은 사용자가 타겟들(304j 내지 304l)을 맞추는 특정 태스크를 완료하고 있다고 결정하며 타겟들(304j 내지 304l)을 맞추기 위해 오브젝트(304a 내지 304h)를 요구할 것이다. 이와 같이, 사용자는 처음에 오브젝트들(304a 내지 304h)을 볼 가능성이 더 높을 수 있다. 특정한 실시예들에서, 기계-학습 모델은 시선 시퀀스들을 식별할 수 있다. 시선 시퀀스는 다양한 렌더링된 환경들을 보기 위해 사용자가 따르는 패턴일 수 있다. 제한으로서가 아닌 예로서, 사용자는 처음에 렌더링된 환경 내에서 가장 큰 오브젝트 및 그 다음에 다음으로 큰 오브젝트를 볼 수 있거나 또는 사용자는 처음에 렌더링된 환경 내에서 가장 가까운 오브젝트 및 그 후 다음으로 가까운 오브젝트를 볼 수 있다. 사격 연습 가상 현실 환경에 대해, 사용자가 타겟(304j 내지 304l)을 맞추는 태스크를 완료하고 있으므로, 사용자는 특정 시선 시퀀스를 따를 수 있다. 즉, 사용자는 처음에 타겟(304j 내지 304l)에 던지기 위해 집을 오브젝트들(304a 내지 304h)을 볼 수 있다. 사용자가 오브젝트를 선택한 후, 사용자는 그들의 관심을 타겟(304j 내지 304l)으로 향할 수 있다. 이와 같이, 기계-학습 모델은 오브젝트들(304a 내지 304h)이 처음에 그것들 각각의 위치들에 위치되는 예상 초점 포인트(3012)를 가질 높은 확률을 가질 수 있으며 그 후 타겟들(304j 내지 304l)은 그것들 각각의 위치들에 위치되는 예상 초점 포인트(312)를 가질 높은 확률을 갖고 오브젝트들(304a 내지 304h)은 줄어든 확률을 가질 수 있다.
도 4는 기계-학습 모델을 사용하여 사용자의 시선을 결정하기 위한 예시적인 방법(400)을 예시한다. 특정한 실시예들에서, 가상 현실 환경은 사용자가 보고 있는 곳의 예상 초점 포인트를 결정하기 위해 사용될 수 있다. 방법(400)은 단계 410에서 시작할 수 있으며, 여기에서 컴퓨팅 시스템(예컨대, 가상 현실 시스템)은 렌더링된 환경을 생성하고 사용자에게 디스플레이할 수 있다. 단계 420에서, 컴퓨팅 시스템은 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 사용자의 머리 자세를 결정할 수 있다. 단계 430에서, 컴퓨팅 시스템은 손 추적 데이터에 기초하여 사용자의 손 자세를 결정할 수 있다. 단계 440에서, 컴퓨팅 시스템은 디스플레이된 렌더링된 환경과 연관된 장면 정보를 액세스할 수 있다. 단계 450에서, 컴퓨팅 시스템은 기계-학습 모델을 사용하여 머리 자세, 손 자세, 및 장면 정보를 프로세싱함으로써 렌더링된 환경 내에서 사용자의 예상 초점 포인트를 결정할 수 있다. 특정한 실시예들은 적절한 경우, 도 4의 방법의 하나 이상의 단계들을 반복할 수 있다. 본 개시는 특정한 순서로 발생하는 것으로 도 4의 방법의 특정한 단계들을 설명하고 예시하지만, 본 개시는 도 4의 방법의 임의의 적절한 단계들이 임의의 적절한 순서로 발생하는 것을 고려한다. 게다가, 본 개시는 도 4의 방법의 특정한 단계들을 포함하여, 기계-학습 모델을 사용하여 사용자의 시선을 결정하기 위한 예시적인 방법을 설명하고 예시하지만, 본 개시는 적절한 경우, 도 4의 방법들의 단계들 모두, 일부를 포함하거나, 또는 포함하지 않을 수 있는, 임의의 적절한 단계들을 포함한, 기계-학습 모델을 사용하여 사용자의 시선을 결정하는 임의의 적절한 방법을 고려한다. 더욱이, 본 개시는 도 4의 방법의 특정한 단계들을 실행하는 특정한 구성요소, 디바이스들, 또는 시스템들을 설명하고 예시하지만, 본 개시는 도 4의 방법의 임의의 적절한 단계들을 실행하는 임의의 적절한 구성요소들, 디바이스들, 또는 시스템들의 임의의 적절한 조합을 고려한다.
본 개시는 다양한 기능들을 수행하는 가상 현실 시스템의 콘텍스트에서 프로세스들을 설명하고 예시하지만, 컴퓨팅 시스템(예컨대, 소셜-네트워킹 시스템(160) 또는 제3자 시스템(170)으로서 구현된 서버)은 프로세싱을 핸들링하며 결과들을 가상 현실 시스템으로 전송할 수 있다. 특정한 실시예들에서, 컴퓨팅 시스템은 이미지들을 수신하며 프로세싱을 위해 이미지들을 또 다른 컴퓨팅 시스템으로 전송할 수 있다.
도 5는 가상 현실 시스템과 연관된 예시적인 네트워크 환경(500)을 예시한다. 네트워크 환경(500)은 네트워크(510)에 의해 서로 연결된 클라이언트 시스템(530), 소셜-네트워킹 시스템(560), 및 제3자 시스템(570)과 상호작용하는 사용자(501)를 포함한다. 도 5는 사용자(501), 클라이언트 시스템(530), 소셜-네트워킹 시스템(560), 제3자 시스템(570), 및 네트워크(510)의 특정한 배열을 예시하지만, 본 개시는 사용자(501), 클라이언트 시스템(530), 소셜-네트워킹 시스템(560), 제3자 시스템(570), 및 네트워크(510)의 임의의 적절한 배열을 고려한다. 제한으로서가 아닌 예로서, 사용자(501), 클라이언트 시스템(530), 소셜-네트워킹 시스템(560), 및 제3자 시스템(570) 중 둘 이상은 서로 직접 연결되어, 네트워크(510)를 바이패스할 수 있다. 또 다른 예로서, 사용자(501), 클라이언트 시스템(530), 소셜-네트워킹 시스템(560), 및 제3자 시스템(470) 중 둘 이상은 전체적으로 또는 부분적으로 서로 물리적으로 또는 논리적으로 같은 장소에 위치될 수 있다. 게다가, 도 5는 특정한 수의 사용자들(501), 클라이언트 시스템들(530), 소셜-네트워킹 시스템들(560), 제3자 시스템들(570), 및 네트워크들(510)을 예시하지만, 본 개시는 임의의 적절한 수의 클라이언트 시스템들(530), 소셜-네트워킹 시스템들(560), 제3자 시스템들(470), 및 네트워크들(510)을 고려한다. 제한으로서가 아닌 예로서, 네트워크 환경(500)은 다수의 사용자들(501), 클라이언트 시스템들(530), 소셜-네트워킹 시스템들(560), 제3자 시스템들(570), 및 네트워크들(510)을 포함할 수 있다.
본 개시는 임의의 적절한 네트워크(510)를 고려한다. 제한으로서가 아닌 예로서, 네트워크의 하나 이상의 부분들은 애드 혹 네트워크, 인트라넷, 엑스트라넷, 가상 사설 네트워크(VPN), 근거리 네트워크(LAN), 무선 LAN(WLAN), 광역 네트워크(WAN), 무선 WAN(WWAN), 대도시 영역 네트워크(MAN), 인터넷의 일부분, 공중 스위칭 전화 네트워크(PSTN)의 일부분, 셀룰러 전화 네트워크, 또는 이들 중 둘 이상의 조합을 포함할 수 있다. 네트워크(510)는 하나 이상의 네트워크들(510)을 포함할 수 있다.
링크들(550)은 클라이언트 시스템(530), 소셜-네트워킹 시스템(560), 및 제3자 시스템(570)을 통신 네트워크(510)에 또는 서로 연결할 수 있다. 본 개시는 임의의 적절한 링크들(550)을 고려한다. 특정한 실시예들에서, 하나 이상의 링크들(550)은 하나 이상의 유선라인(예를 들어, 디지털 가입자 회선(DSL) 또는 케이블을 통한 데이터 서비스 인터페이스 규격(DOCSIS)와 같은), 무선(예를 들어, Wi-Fi 또는 마이크로파 액세스를 위한 월드와이드 상호운용성(WiMAX)과 같은), 또는 광학(예를 들어, 동기식 광학 네트워크(SONET) 또는 동기식 디지털 계층(SDH)과 같은) 링크들을 포함한다. 특정한 실시예들에서, 하나 이상의 링크들(550) 각각은 애드 혹 네트워크, 인트라넷, 엑스트라넷, VPN, LAN, WLAN, WAN, WWAN, MAN, 인터넷의 일부분, PSTN의 일부분, 셀룰러 기술-기반 네트워크, 위성 통신 기술-기반 네트워크, 또 다른 링크(550), 또는 둘 이상의 이러한 링크들(550)의 조합을 포함한다. 링크들(550)은 반드시 네트워크 환경(500) 전체에 걸쳐 동일할 필요는 없다. 하나 이상의 제1 링크들(550)은 하나 이상의 제2 링크들(550)과 하나 이상의 점들에서 상이할 수 있다.
특정한 실시예들에서, 클라이언트 시스템(530)은 하드웨어, 소프트웨어, 또는 내장된 논리 구성요소들 또는 둘 이상의 이러한 구성요소들의 조합을 포함하며 클라이언트 시스템(530)에 의해 구현되거나 또는 지원된 적절한 기능들을 실행할 수 있는 전자 디바이스일 수 있다. 제한으로서가 아닌 예로서, 클라이언트 시스템(530)은 데스크탑 컴퓨터, 노트북 또는 랩탑 컴퓨터, 넷북, 태블릿 컴퓨터, 전자 서적(e-book) 판독기, GPS 디바이스, 카메라, 개인용 디지털 보조기(PDA), 핸드헬드 전자 디바이스, 휴대 전화, 스마트폰, 가상 현실 헤드셋 및 제어기들, 다른 적절한 전자 디바이스, 또는 그것의 임의의 적절한 조합과 같은 컴퓨터 시스템을 포함할 수 있다. 본 개시는 임의의 적절한 클라이언트 시스템들(530)을 고려한다. 클라이언트 시스템(530)은 클라이언트 시스템(530)에서의 네트워크 사용자가 네트워크(510)를 액세스할 수 있게 할 수 있다. 클라이언트 시스템(530)은 사용자가 다른 클라이언트 시스템들(530)에서 다른 사용자들과 통신할 수 있게 할 수 있다. 클라이언트 시스템(530)은 사용자가 콘텐트와 상호작용하기 위한 가상 현실 환경을 생성할 수 있다.
특정한 실시예들에서, 클라이언트 시스템(530)은 OCULUS RIFT 등과 같은 가상 현실(또는 증강 현실) 헤드셋(532), 및 가상 현실 제어기와 같은, 가상 현실 입력 디바이스(들)(534)를 포함할 수 있다. 클라이언트 시스템(530)에서의 사용자는 가상 현실 헤드셋(532)을 착용하며 가상 현실 헤드셋(532)에 의해 생성된 가상 현실 환경(536)과 상호작용하기 위해 가상 현실 입력 디바이스(들)를 사용할 수 있다. 도시되지 않지만, 클라이언트 시스템(530)은 또한 별개의 프로세싱 컴퓨터 및/또는 가상 현실 시스템의 임의의 다른 구성요소를 포함할 수 있다. 가상 현실 헤드셋(532)은 가상 현실 환경(536)을 생성할 수 있으며, 이것은 소프트웨어 또는 펌웨어 업데이트들과 같은 시스템 콘텐트(538)(이에 제한되지 않지만 운영 시스템을 포함한)를 포함하며 또한 애플리케이션들로부터 또는 인터넷으로부터 동적으로 다운로딩된 콘텐트(예컨대, 웹 페이지 콘텐트)와 같은, 제3자 콘텐트(540)를 포함할 수 있다. 가상 현실 헤드셋(532)은 헤드셋 디바이스(532)의 위치를 추적하는 센서 데이터를 생성하기 위해 가속도계들, 자이로스코프들, 자력계들과 같은, 센서(들)(542)를 포함할 수 있다. 헤드셋(532)은 또한 사용자의 눈들 또는 그것들의 뷰잉 방향들의 위치를 추적하기 위해 눈 추적기들을 포함할 수 있다. 클라이언트 시스템은 헤드셋에 대하여 속도, 배향, 및 중력들을 결정하기 위해 센서(들)(542)로부터의 데이터를 사용할 수 있다. 가상 현실 입력 디바이스(들)(534)는 입력 디바이스(534)의 자리 및 사용자의 손가락들의 위치들을 추적하는 센서 데이터를 생성하기 위해 가속도계들, 자이로스코프들, 자력계들, 및 터치 센서들과 같은, 센서(들)(544)를 포함할 수 있다. 클라이언트 시스템(530)은 아웃사이드-인(outside-in) 추적을 이용할 수 있으며, 여기에서 추적 카메라(도시되지 않음)는 가상 현실 헤드셋(532)의 외부에 및 가상 현실 헤드셋(532)의 가시선 내에 위치된다. 아웃사이드-인 추적에서, 추적 카메라는 가상 현실 헤드셋(532)의 위치를 추적할 수 있다(예컨대, 가상 현실 헤드셋(532) 상에서의 하나 이상의 적외선 LED 마커들을 추적함으로써). 대안적으로 또는 부가적으로, 클라이언트 시스템(530)은 인사이드-아웃(inside-out) 추적을 이용할 수 있으며, 여기에서 추적 카메라(도시되지 않음)는 가상 현실 헤드셋(532) 자체 상에 또는 그것 내에 위치될 수 있다. 인사이드-아웃 추적에서, 추적 카메라는 현실 세계에서 그 주위의 이미지들을 캡처할 수 있으며 공간에서 그 자신의 위치를 결정하기 위해 현실 세계의 변화하는 관점들을 사용할 수 있다.
제3자 콘텐트(540)는 MICROSOFT INTERNET EXPLORER, GOOGLE CHROME 또는 MOZILLA FIREFOX와 같은, 웹 브라우저를 포함하며 하나 이상의 애드-온들(add-on들), 플러그-인들, 또는 TOOLBAR 또는 YAHOO TOOLBAR와 같은, 다른 확장부들을 가질 수 있다. 클라이언트 시스템(530)에서의 사용자는 고유 리소스 로케이터(URL) 또는 웹 브라우저를 특정한 서버(서버(562), 또는 제3자 시스템(570)과 연관된 서버와 같은)로 향하게 하는 다른 어드레스를 입력할 수 있으며, 웹 브라우저는 하이퍼 텍스트 전송 프로토콜(HTTP) 요청을 생성하며 HTTP 요청을 서버로 전달할 수 있다. 서버는 HTTP 요청을 수용하며 HTTP 요청에 응답하여 하나 이상의 하이퍼텍스트 마크업 언어(HTML) 파일들을 클라이언트 시스템(530)으로 전달할 수 있다. 클라이언트 시스템(530)은 사용자로의 프리젠테이션을 위해 서버로부터의 HTML 파일들에 기초하여 웹 인터페이스(예컨대, 웹페이지)를 렌더링할 수 있다. 본 개시는 임의의 적절한 소스 파일들을 고려한다. 제한으로서가 아닌 예로서, 웹 인터페이스는 특정한 요구들에 따라, HTML 파일들, 확장 가능한 하이퍼텍스트 마크업 언어(XHTML) 파일들, 또는 확장 가능한 마크업 언어(XML) 파일들로부터 렌더링될 수 있다. 이러한 인터페이스들은 또한 제한 없이 예를 들어, JAVASCRIPT, JAVA, MICROSOFT, SILVERLIGHT, AJAX(비동기식 JAVASCRIPT 및 XML)와 같은 마크업 언어와 스트립들의 조합들 등으로 기록된 것들과 같은, 스크립트들을 실행할 수 있다. 본원에서 웹 인터페이스에 대한 참조는 적절한 경우, 하나 이상의 대응하는 소스 파일들(브라우저는 웹 인터페이스를 렌더링하기 위해 사용할 수 있다)을 포함하며, 그 반대도 마찬가지이다.
특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 온라인 소셜 네트워크를 호스팅할 수 있는 네트워크-어드레스 가능한 컴퓨팅 시스템일 수 있다. 소셜-네트워킹 시스템(560)은 예를 들어, 사용자-프로필 데이터, 개념-프로필 데이터, 소셜-그래프 정보, 또는 온라인 소셜 네트워크에 관련된 다른 적절한 데이터와 같은, 소셜-네트워킹 데이터를 생성하고, 저장하고, 수신하며, 전송할 수 있다. 소셜-네트워킹 시스템(560)은 네트워크 환경(500)의 다른 구성요소들에 의해 직접 또는 네트워크(510)를 통해 액세스될 수 있다. 제한으로서가 아닌 예로서, 클라이언트 시스템(530)은 제3자 콘텐트(540)의 웹 브라우저, 또는 소셜-네트워킹 시스템(560)과 연관된 네이티브(native) 애플리케이션(예컨대, 모바일 소셜-네트워킹 애플리케이션, 메시징 애플리케이션, 또 다른 적절한 애플리케이션, 또는 그것의 임의의 조합)을 사용하여 직접 또는 네트워크(510)를 통해 소셜-네트워킹 시스템(560)을 액세스할 수 있다. 특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 하나 이상의 서버들(562)을 포함할 수 있다. 각각의 서버(562)는 통합형 서버 또는 다수의 컴퓨터들 또는 다수의 데이터센터들을 포괄하는 분산형 서버일 수 있다. 서버들(562)은, 예를 들면 및 제한 없이, 웹 서버, 뉴스 서버, 메일 서버, 메시지 서버, 광고 서버, 파일 서버, 애플리케이션 서버, 교환 서버, 데이터베이스 서버, 프록시 서버, 본원에서 설명된 기능들 또는 프로세스들을 수행하는데 적합한 또 다른 서버, 또는 그것의 임의의 조합과 같은, 다양한 유형들일 수 있다. 특정한 실시예들에서, 각각의 서버(562)는 서버(562)에 의해 구현되거나 또는 지원된 적절한 기능들을 실행하기 위해 하드웨어, 소프트웨어, 또는 내장된 논리 구성요소들 또는 둘 이상의 이러한 구성요소들의 조합을 포함할 수 있다. 특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 하나 이상의 데이터 저장소들(564)을 포함할 수 있다. 데이터 저장소들(564)은 다양한 유형들의 정보를 저장하기 위해 사용될 수 있다. 특정한 실시예들에서, 데이터 저장소들(564)에 저장된 정보는 특정 데이터 구조들에 따라 조직될 수 있다. 특정한 실시예들에서, 각각의 데이터 저장소(564)는 관계형, 컬럼형, 상관형, 또는 다른 적절한 데이터베이스일 수 있다. 본 개시는 특정한 유형들의 데이터베이스들을 설명하거나 또는 예시하지만, 본 개시는 임의의 적절한 유형들의 데이터베이스들을 고려한다. 특정한 실시예들은 클라이언트 시스템(530), 소셜-네트워킹 시스템(560), 또는 제3자 시스템(570)이 데이터 저장소(564)에 저장된 정보를 관리하고, 검색하고, 수정하고, 부가하거나, 또는 삭제할 수 있게 하는 인터페이스들을 제공할 수 있다.
특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 하나 이상의 데이터 저장소들(564)에 하나 이상의 소셜 그래프들을 저장할 수 있다. 특정한 실시예들에서, 소셜 그래프는 다수의 노드들 - 다수의 사용자 노드들(각각의 특정한 사용자에 대응하는) 또는 다수의 개념 노드들(각각이 특정한 개념에 대응하는)을 포함할 수 있는 - 및 노드들을 연결하는 다수의 에지들을 포함할 수 있다. 소셜-네트워킹 시스템(560)은 다른 사용자들과 통신하고 상호 작용하기 위한 능력을 온라인 소셜 네트워크의 사용자들에게 제공할 수 있다. 특정한 실시예들에서, 사용자들은 소셜-네트워킹 시스템(560)을 통해 온라인 소셜 네트워크에 참여하며 그 후 그것들이 연결되기를 원하는 소셜-네트워킹 시스템(560)의 다수의 다른 사용자들로의 연결들(예컨대, 관계들)을 부가할 수 있다. 본원에서, 용어 "친구"는 사용자가 소셜-네트워킹 시스템(560)을 통해 연결, 연관, 또는 관계를 형성하여 온 소셜-네트워킹 시스템(560)의 임의의 다른 사용자를 나타낼 수 있다.
특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 소셜-네트워킹 시스템(560)에 의해 지원된, 다양한 유형들의 아이템들 또는 오브젝트들에 대한 동작들을 취하기 위한 능력을 사용자들에게 제공할 수 있다. 제한으로서가 아닌 예로서, 아이템들 및 오브젝트들은 소셜-네트워킹 시스템(560)의 사용자들이 속하는 그룹들 또는 소셜 네트워크들, 사용자가 관심을 가질 수 있는 이벤트들 또는 캘린더 엔트리들, 사용자가 사용할 수 있는 컴퓨터-기반 애플리케이션들, 사용자들이 서비스들을 통해 아이템들을 구매하거나 또는 판매하도록 허용하는 트랜잭션들, 사용자가 수행할 수 있는 광고들과의 상호작용들, 또는 다른 적절한 아이템들 또는 오브젝트들을 포함할 수 있다. 사용자는 소셜-네트워킹 시스템(560)에서 나타내어지는 것이 가능한 임의의 것과 또는 소셜-네트워킹 시스템(560)으로부터 분리되며 네트워크(510)를 통해 소셜-네트워킹 시스템(560)에 결합되는, 제3자 시스템(570)의 외부 시스템에 의해 상호작용할 수 있다.
특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 다양한 엔티티들을 링킹하는 것이 가능할 수 있다. 제한으로서가 아닌 예로서, 소셜-네트워킹 시스템(560)은 사용자들로 하여금 서로 상호작용할 뿐만 아니라 제3자 시스템들(570) 또는 다른 엔티티들로부터 콘텐트를 수신할 수 있게 하거나, 또는 사용자들이 애플리케이션 프로그래밍 인터페이스(API) 또는 다른 통신 채널들을 통해 이들 엔티티들과 상호작용하도록 허용할 수 있게 할 것이다.
특정한 실시예들에서, 제3자 시스템(570)은 하나 이상의 유형들의 서버들, 하나 이상의 데이터 저장소들, 이에 제한되지 않지만 API들을 포함한, 하나 이상의 인터페이스들, 하나 이상의 웹 서비스들, 하나 이상의 콘텐트 소스들, 하나 이상의 네트워크들, 또는 예컨대 서버들이 통신할 수 있는 임의의 다른 적절한 구성요소들을 포함할 수 있다. 제3자 시스템(570)은 소셜-네트워킹 시스템(560)을 동작시키는 엔티티와 상이한 엔티티에 의해 동작될 수 있다. 특정한 실시예들에서, 그러나, 소셜-네트워킹 시스템(560) 및 제3자 시스템들(570)은 소셜-네트워킹 시스템(560) 또는 제3자 시스템들(570)의 사용자들로 소셜-네트워킹 서비스들을 제공하기 위해 서로 함께 동작할 수 있다. 이러한 의미에서, 소셜-네트워킹 시스템(560)은 제3자 시스템들(570)과 같은, 다른 시스템들이 인터넷에 걸쳐 사용자들에게 소셜-네트워킹 서비스들 및 기능들을 제공하기 위해 사용할 수 있는 플랫폼, 또는 백본을 제공할 수 있다.
특정한 실시예들에서, 제3자 시스템(570)은 제3자 콘텐트 오브젝트 제공자를 포함할 수 있다. 제3자 콘텐트 오브젝트 제공자는 클라이언트 시스템(530)으로 전달될 수 있는, 콘텐트 오브젝트들의 하나 이상의 소스들을 포함할 수 있다. 제한으로서가 아닌 예로서, 콘텐트 오브젝트들은 예를 들어, 영화 상영 시간들, 영화 리뷰들, 식당 리뷰들, 식당 메뉴들, 제품 정보 및 리뷰들, 또는 다른 적절한 정보와 같은, 사용자에게 관심 있는 것들 또는 활동들에 대한 정보를 포함할 수 있다. 제한으로서가 아닌 또 다른 예로서, 콘텐트 오브젝트들은 쿠폰들, 할인 티켓들, 상품권들, 또는 다른 적절한 인센티브 오브젝트들과 같은, 인센티브 콘텐트 오브젝트들을 포함할 수 있다.
특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 또한 소셜-네트워킹 시스템(560)과 사용자의 상호작용들을 강화할 수 있는, 사용자-생성된 콘텐트 오브젝트들을 포함한다. 사용자-생성된 콘텐트는 사용자가 소셜-네트워킹 시스템(560)에 부가하고, 업로드하고, 전송하거나, 또는 "포스팅"할 수 있는 어떤 것을 포함할 수 있다. 제한으로서가 아닌 예로서, 사용자는 클라이언트 시스템(530)으로부터 소셜-네트워킹 시스템(560)으로 포스트들을 전달한다. 포스트들은 상태 업데이트들 또는 다른 텍스트 데이터, 위치 정보, 사진들, 비디오들, 링크들, 음악 또는 다른 유사한 데이터 또는 미디어와 같은 데이터를 포함할 수 있다. 콘텐트는 또한 뉴스피드 또는 스트림과 같은, "통신 채널"을 통해 제3자에 의해 소셜-네트워킹 시스템(560)에 부가될 수 있다.
특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 다양한 서버들, 서브-시스템들, 프로그램들, 모듈들, 로그들, 및 데이터 저장소들을 포함할 수 있다. 특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 다음: 웹 서버, 동작 로거, API-요청 서버, 관련성-및-랭킹 엔진, 콘텐트-오브젝트 분류기, 통지 제어기, 동작 로그, 제3자-콘텐트-오브젝트-노출 로그, 추론 모듈, 허가/프라이버시 서버, 탐색 모듈, 광고-타겟팅 모듈, 사용자-인터페이스 모듈, 사용자-프로필 저장소, 연결 저장소, 제3자 콘텐트 저장소, 또는 위치 저장소 중 하나 이상을 포함할 수 있다. 소셜-네트워킹 시스템(560)은 또한 네트워크 인터페이스들, 보안 메커니즘들, 로드 밸런서들, 페일오버(failover) 서버들, 관리-및-네트워크-동작 콘솔들, 다른 적절한 구성요소들, 또는 그것의 임의의 적절한 조합과 같은 적절한 구성요소들을 포함할 수 있다. 특정한 실시예들에서, 소셜-네트워킹 시스템(560)은 사용자 프로필들을 저장하기 위한 하나 이상의 사용자-프로필 저장소들을 포함할 수 있다. 사용자 프로필은, 예를 들어, 일대기 정보, 인구통계학적 정보, 거동 정보, 소셜 정보, 경력, 학력, 취미들 또는 선호들, 관심들, 친밀도들, 또는 위치와 같은 다른 유형들의 서술적 정보를 포함할 수 있다. 관심 정보는 하나 이상의 카테고리들에 관련된 관심들을 포함할 수 있다. 카테고리들은 일반적이거나 또는 특정적일 수 있다. 제한으로서가 아닌 예로서, 사용자가 신발 브랜드에 대한 기사를 "좋아요"하면, 카테고리는 브랜드, 또는 "신발" 또는 "의류"의 일반적인 카테고리일 수 있다. 연결 저장소는 사용자들에 대한 연결 정보를 저장하기 위해 사용될 수 있다. 연결 정보는 유사한 또는 공통 경력, 그룹 멤버쉽들, 취미들, 학력을 갖거나, 또는 임의의 방식으로 관련되거나 또는 공통 속성들을 공유하는 사용자들을 나타낼 수 있다. 연결 정보는 또한 상이한 사용자들과 콘텐트(내부 및 외부 양쪽 모두) 사이에서의 사용자-정의 연결들을 포함할 수 있다. 웹 서버는 네트워크(510)를 통해 하나 이상의 클라이언트 시스템들(530) 또는 하나 이상의 제3자 시스템(570)에 소셜-네트워킹 시스템(560)을 연결하기 위해 사용될 수 있다. 웹 서버는 소셜-네트워킹 시스템(560)과 하나 이상의 클라이언트 시스템들(530) 사이에서 메시지들을 수신하고 라우팅하기 위해 메일 서버 또는 다른 메시징 기능을 포함할 수 있다. API-요청 서버는 제3자 시스템(570)이 하나 이상의 API들을 호출함으로써 소셜-네트워킹 시스템(560)으로부터 정보를 액세스하도록 허용할 수 있다. 동작 로거는 소셜-네트워킹 시스템(560)에 대한 또는 그 외의 사용자의 동작들에 대한 통신들을 웹 서버로부터 수신하기 위해 사용될 수 있다. 동작 로그와 함께, 제3자-콘텐트-오브젝트 로그는 제3자 콘텐트 오브젝트들에 대한 사용자 노출들을 유지할 수 있다. 통지 제어기는 콘텐트 오브젝트들에 관한 정보를 클라이언트 시스템(530)으로 제공할 수 있다. 정보는 통지들로서 클라이언트 시스템(530)으로 푸시될 수 있거나, 또는 정보는 클라이언트 시스템(530)으로부터 수신된 요청에 응답하여 클라이언트 시스템(530)으로부터 풀링될 수 있다. 허가 서버들은 소셜-네트워킹 시스템(560)의 사용자들의 하나 이상의 프라이버시 설정들을 시행하기 위해 사용될 수 있다. 사용자의 프라이버시 설정은 사용자와 연관된 특정한 정보가 어떻게 공유될 수 있는지를 결정한다. 허가 서버는 사용자들로 하여금 예를 들어, 적절한 프라이버시 설정들을 설정하는 것에 의해서와 같은, 소셜-네트워킹 시스템(560)에 의해 로그되거나 또는 다른 시스템들(예컨대, 제3자 시스템(570)과 공유된 그들의 동작에 참여하거나 또는 탈퇴하도록 허용할 수 있다. 제3자-콘텐트-오브젝트 저장소들은 제3자 시스템(570)과 같은, 제3자들로부터 수신된 콘텐트 오브젝트들을 저장하기 위해 사용될 수 있다. 위치 저장소들은 사용자들과 연관된 클라이언트 시스템들(530)로부터 수신된 위치 정보를 저장하기 위해 사용될 수 있다. 광고-가격 책정 모듈들은 통지들의 형태로, 관련 있는 광고들을 사용자에게 제공하기 위해 소셜 정보, 현재 시간, 위치 정보, 또는 다른 적절한 정보를 조합할 수 있다.
도 6은 예시적인 컴퓨터 시스템(600)을 예시한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(600)은 본 출원에서 설명되거나 또는 예시된 하나 이상의 방법들의 하나 이상의 단계들을 수행한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(600)은 여기에서 설명되거나 또는 예시된 기능을 제공한다. 특정한 실시예들에서, 하나 이상의 컴퓨터 시스템들(600) 상에서 운용하는 소프트웨어는 여기에서 설명되거나 또는 예시된 하나 이상의 방법들의 하나 이상의 단계들을 수행하거나 또는 여기에서 설명되거나 또는 예시된 기능을 제공한다. 특정한 실시예들은 하나 이상의 컴퓨터 시스템들(600)의 하나 이상의 부분들을 포함한다. 여기에서, 컴퓨터 시스템에 대한 참조는 적절한 경우, 컴퓨팅 디바이스를 포괄하며, 그 반대 또한 마찬가지일 수 있다. 게다가, 컴퓨터 시스템에 대한 참조는 적절한 경우, 하나 이상의 컴퓨터 시스템들을 포괄할 수 있다.
본 개시는 임의의 적절한 수의 컴퓨터 시스템들(600)을 고려한다. 본 개시는 임의의 적절한 물리적 형태를 취한 컴퓨터 시스템(600)을 고려한다. 제한으로서가 아닌 예로서, 컴퓨터 시스템(600)은 내장형 컴퓨터 시스템, 시스템-온-칩(SOC), 단일-보드 컴퓨터 시스템(SBC)(예를 들어, 컴퓨터-온-모듈(COM) 또는 시스템-온-모듈(SOM)), 데스크탑 컴퓨터 시스템, 랩탑 또는 노트북 컴퓨터 시스템, 대화식 키오스크, 메인프레임, 컴퓨터 시스템들의 메시, 이동 전화, 개인용 디지털 보조기(PDA), 서버, 태블릿 컴퓨터 시스템, 증강/가상 현실 디바이스, 또는 이들 중 둘 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(600)은 하나 이상의 컴퓨터 시스템들(600)을 포함하고; 통합형 또는 분산형이고; 다수의 위치들을 포괄하고; 다수의 기계들을 포괄하고; 다수의 데이터 센터들을 포괄하거나; 또는 하나 이상의 네트워크들에서 하나 이상의 클라우드 구성요소들을 포함할 수 있는, 클라우드에 존재할 수 있다. 적절한 경우, 하나 이상의 컴퓨터 시스템들(600)은 본원에서 설명된 또는 예시된 하나 이상의 방법들의 하나 이상의 단계들을 실질적인 공간적 또는 시간적 제한 없이 수행할 수 있다. 제한으로서가 아닌 예로서, 하나 이상의 컴퓨터 시스템들(600)은 본원에서 설명된 또는 예시된 하나 이상의 방법들의 하나 이상의 단계들을 실시간으로 또는 배치 모드로 수행할 수 있다. 하나 이상의 컴퓨터 시스템들(600)은 적절한 경우, 본원에서 설명된 또는 예시된 하나 이상의 방법들의 하나 이상의 단계들을 상이한 시간들에 또는 상이한 위치들에서 수행할 수 있다.
특정한 실시예들에서, 컴퓨터 시스템(600)은 프로세서(602), 메모리(604), 저장 장치(606), 입력/출력(I/O) 인터페이스(608), 통신 인터페이스(610), 및 버스(612)를 포함한다. 본 개시는 특정한 배열로 특정한 수의 특정한 구성요소들을 가진 특정한 컴퓨터 시스템을 설명하고 예시하지만, 본 개시는 임의의 적절한 배열로 임의의 적절한 수의 임의의 적절한 구성요소들을 가진 임의의 적절한 컴퓨터 시스템을 고려한다.
특정한 실시예들에서, 프로세서(602)는 컴퓨터 프로그램을 구성하는 것들과 같은, 지시들을 실행하기 위한 하드웨어를 포함한다. 제한으로서가 아닌 예로서, 지시들을 실행하기 위해, 프로세서(602)는 내부 레지스터, 내부 캐시, 메모리(604), 또는 저장장치(606)로부터 지시들을 검색(또는 인출)하고; 그것들을 디코딩하고 실행하며; 그 후 하나 이상의 결과들을 내부 레지스터, 내부 캐시, 메모리(604), 또는 저장장치(606)로 기록할 수 있다. 특정한 실시예들에서, 프로세서(602)는 데이터, 지시들, 또는 어드레스들을 위한 하나 이상의 내부 캐시들을 포함할 수 있다. 본 개시는 적절한 경우, 임의의 적절한 수의 임의의 적절한 내부 캐시들을 포함한 프로세서(602)를 고려한다. 제한으로서가 아닌 예로서, 프로세서(602)는 하나 이상의 지시 캐시들, 하나 이상의 데이터 캐시들, 및 하나 이상의 변환 색인 버퍼들(TLB들)을 포함할 수 있다. 지시 캐시들에서의 지시들은 메모리(604) 또는 저장장치(606)에서의 지시들의 사본들일 수 있으며, 지시 캐시들은 프로세서(602)에 의해 이들 지시들의 검색의 속도를 높일 수 있다. 데이터 캐시들에서의 데이터는 동작할 프로세서(602)에서 실행하는 지시들을 위한; 프로세서(602)에서 실행하는 뒤이은 지시들에 의한 액세스를 위한 또는 메모리(604) 또는 저장장치(606)로 기록하기 위한 메모리(604) 또는 저장치(606)에서의 데이터의 사본들; 또는 다른 적절한 데이터일 수 있다. 데이터 캐시들은 프로세서(602)에 의한 판독 또는 기록 동작들의 속도를 높일 수 있다. TLB들은 프로세서(602)를 위한 가상-어드레스 변환의 속도를 높일 수 있다. 특정한 실시예들에서, 프로세서(602)는 데이터, 지시들, 또는 어드레스들을 위한 하나 이상의 내부 레지스터들을 포함할 수 있다. 본 개시는 적절한 경우, 임의의 적절한 수의 임의의 적절한 내부 레지스터들을 포함한 프로세서(602)를 고려한다. 적절한 경우, 프로세서(602)는 하나 이상의 산술 논리 유닛들(ALU들)을 포함하고; 다중-코어 프로세서이거나; 또는 하나 이상의 프로세서들(602)을 포함할 수 있다. 본 개시는 특정한 프로세서를 설명하고 예시하지만, 본 개시는 임의의 적절한 프로세서를 고려한다.
특정한 실시예들에서, 메모리(604)는 실행할 프로세서(602)를 위한 지시들 또는 동작할 프로세서(602)를 위한 데이터를 위한 메인 메모리를 포함한다. 제한으로서가 아닌 예로서, 컴퓨터 시스템(600)은 저장장치(606) 또는 또 다른 소스(예를 들어, 또 다른 컴퓨터 시스템(600)과 같은)로부터 메모리(604)로 지시들을 로딩할 수 있다. 프로세서(602)는 그 후 메모리(604)로부터 내부 레지스터 또는 내부 캐시로 지시들을 로딩할 수 있다. 지시들을 실행하기 위해, 프로세서(602)는 내부 레지스터 또는 내부 캐시로부터 지시들을 검색하고 그것들을 디코딩할 수 있다. 지시들의 실행 동안 또는 그 후, 프로세서(602)는 하나 이상의 결과들(중간 또는 최종 결과들일 수 있는)을 내부 레지스터 또는 내부 캐시로 기록할 수 있다. 프로세서(602)는 그 후 이들 결과들 중 하나 이상을 메모리(604)로 기록할 수 있다. 특정한 실시예들에서, 프로세서(602)는 하나 이상의 내부 레지스터들 또는 내부 캐시들에 또는 메모리(604)에 단지 지시들만을 실행하고(저장장치(606) 또는 다른 곳과 대조적으로) 하나 이상의 내부 레지스터들 또는 내부 캐시들에서 또는 메모리(604)에서 단지 데이터에 대해 동작한다(저장장치(606) 또는 다른 곳과 대조적으로). 하나 이상의 메모리 버스들(각각은 어드레스 버스 및 데이터 버스를 포함할 수 있다)은 메모리(604)에 프로세서(602)를 결합할 수 있다. 버스(612)는 이하에서 설명되는 바와 같이 하나 이상의 메모리 버스들을 포함할 수 있다. 특정한 실시예들에서, 하나 이상의 메모리 관리 유닛들(MMU들)은 프로세서(602)와 메모리(604) 사이에 존재하며 프로세서(602)에 의해 요청된 메모리(604)로의 액세스들을 가능하게 한다. 특정한 실시예들에서, 메모리(604)는 랜덤 액세스 메모리(RAM)를 포함한다. 이러한 RAM은 적절한 경우, 휘발성 메모리일 수 있다. 적절한 경우, 이러한 RAM은 동작 RAM(DRAM) 또는 정적 RAM(SRAM)일 수 있다. 게다가, 적절하다면, 이러한 RAM은 단일-포트 또는 다중-포트 RAM일 수 있다. 본 개시는 임의의 적절한 RAM을 고려한다. 메모리(604)는 적절한 경우, 하나 이상의 메모리들(604)을 포함할 수 있다. 본 개시는 특정한 메모리를 설명하고 예시하지만, 본 개시는 임의의 적절한 메모리를 고려한다.
특정한 실시예들에서, 저장장치(606)는 데이터 또는 지시들을 위한 대용량 저장 장치를 포함한다. 제한으로서가 아닌 예로서, 저장장치(606)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광학 디스크, 자기-광학 디스크, 자기 테이프, 또는 범용 직렬 버스(USB) 드라이브 또는 이들 중 둘 이상의 조합을 포함할 수 있다. 저장장치(606)는 적절하다면, 착탈 가능한 또는 착탈 가능하지 않은(또는 고정된) 매체를 포함할 수 있다. 저장장치(606)는 적절하다면, 컴퓨터 시스템(600)의 내부 또는 외부에 있을 수 있다. 특정한 실시예들에서, 저장장치(606)는 비-휘발성, 고체-상태 메모리이다. 특정한 실시예들에서, 저장장치(606)는 판독-전용 메모리(ROM)를 포함한다. 적절하다면, 이러한 ROM은 마스크-프로그램된 ROM, 프로그램 가능한 ROM(PROM), 삭제 가능한 PROM(EPROM), 전기적으로 삭제 가능한 PROM(EEPROM), 전기적으로 변경 가능한 ROM(EAROM), 또는 플래시 메모리 또는 이들 중 둘 이상의 조합일 수 있다. 본 개시는 임의의 적절한 물리적 형태를 취하는 대용량 저장장치(606)를 고려한다. 저장 장치(606)는 적절하다면 프로세서(602)와 저장장치(606) 사이에서 통신을 가능하게 하는 하나 이상의 저장 제어 유닛들을 포함할 수 있다. 적절하다면, 저장장치(606)는 하나 이상의 저장 장치들(606)을 포함할 수 있다. 본 개시는 특정한 저장장치를 설명하고 예시하지만, 본 개시는 임의의 적절한 저장장치를 고려한다.
특정한 실시예들에서, I/O 인터페이스(608)는 하드웨어, 소프트웨어, 또는 양쪽 모두를 포함하여, 컴퓨터 시스템(600)과 하나 이상의 I/O 디바이스들 간의 통신을 위한 하나 이상의 인터페이스들을 제공한다. 컴퓨터 시스템(600)은 적절한 경우, 이들 I/O 디바이스들 중 하나 이상을 포함할 수 있다. 이들 I/O 디바이스들 중 하나 이상은 사람과 컴퓨터 시스템(600) 간의 통신을 가능하게 할 것이다. 제한으로서가 아닌 예로서, I/O 디바이스는 키보드, 키패드, 마이크로폰, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 또 다른 적절한 I/O 디바이스 또는 이들 중 둘 이상의 조합을 포함할 수 있다. I/O 디바이스는 하나 이상의 센서들을 포함할 수 있다. 본 개시는 그것들을 위한 임의의 적절한 I/O 디바이스들 및 임의의 적절한 I/O 인터페이스들(608)을 고려한다. 적절한 경우, I/O 인터페이스(608)는 하나 이상의 디바이스 또는 소프트웨어 드라이버들을 포함하여 프로세서(602)가 이들 I/O 디바이스들 중 하나 이상을 구동할 수 있게 할 것이다. I/O 인터페이스(608)는 적절한 경우, 하나 이상의 I/O 인터페이스들(608)을 포함할 수 있다. 본 개시는 특정한 I/O 인터페이스를 설명하고 예시하지만, 본 개시는 임의의 적절한 I/O 인터페이스를 고려한다.
특정한 실시예들에서, 통신 인터페이스(610)는 컴퓨터 시스템(600) 및 하나 이상의 다른 컴퓨터 시스템들(600) 또는 하나 이상의 네트워크들 사이에서의 통신(예를 들어, 패킷-기반 통신과 같은)을 위한 하나 이상의 인터페이스들을 제공하는 하드웨어, 소프트웨어, 또는 양쪽 모두를 포함한다. 제한으로서가 아닌 예로서, 통신 인터페이스(610)는 이더넷 또는 다른 유선-기반 네트워크와 통신하기 위한 네트워크 인터페이스 제어기(NIC) 또는 네트워크 어댑터 또는 WI-FI 네트워크와 같은, 무선 네트워크와 통신하기 위한 무선 NIC(WNIC) 또는 무선 어댑터를 포함할 수 있다. 본 개시는 임의의 적절한 네트워크 및 그것을 위한 임의의 적절한 통신 인터페이스(610)를 고려한다. 제한으로서가 아닌 예로서, 컴퓨터 시스템(600)은 애드 혹 네트워크, 개인 영역 네트워크(PAN), 근거리 네트워크(LAN), 광역 네트워크(WAN), 대도시 영역 네트워크(MAN), 또는 인터넷의 하나 이상의 부분들 또는 이들 중 둘 이상의 조합과 통신할 수 있다. 이들 네트워크들 중 하나 이상의 하나 이상의 부분들은 유선 또는 무선일 수 있다. 예로서, 컴퓨터 시스템(600)은 무선 PAN(WPAN)(예를 들어, BLUTOOTH WPAN과 같은), WI-FI 네트워크, WI-MAX 네트워크, 휴대 전화 네트워크(예를 들어, 이동 통신을 위한 전역적 시스템(GSM) 네트워크), 또는 다른 적절한 무선 네트워크 또는 이들 중 둘 이상의 조합과 통신할 수 있다. 컴퓨터 시스템(600)은 적절한 경우, 이들 네트워크들 중 임의의 것을 위한 임의의 적절한 통신 인터페이스(610)를 포함할 수 있다. 통신 인터페이스(610)는 적절한 경우, 하나 이상의 통신 인터페이스들(610)을 포함할 수 있다. 본 개시는 특정한 통신 인터페이스를 설명하고 예시하지만, 본 개시는 임의의 적절한 통신 인터페이스를 고려한다.
특정한 실시예들에서, 버스(612)는 서로에 컴퓨터 시스템(600)의 구성요소들을 결합하는 하드웨어, 소프트웨어, 또는 양쪽 모두를 포함한다. 제한으로서가 아닌 예로서, 버스(612)는 가속화 그래픽 포트(AGP) 또는 다른 그래픽 버스, 강화된 산업 표준 아키텍처(EISA) 버스, 프론트-사이드 버스(FSB), HYPER TRANSPORT(HT) 상호 접속, 산업 표준 아키텍처(ISA) 버스, INFINIBAND 상호 접속, 로우-핀-카운트(LPC) 버스, 메모리 버스, 마이크로 채널 아키텍처(MCA) 버스, 주변 구성요소 상호 연결(PCI) 버스, PCI-고속(PCIe) 버스, 직렬 고급 기술 접속(SATA) 버스, 비디오 전자 공학 표준 연관 로컬(VLB) 버스, 또는 또 다른 적절한 버스 또는 이들 중 둘 이상의 조합을 포함할 수 있다. 버스(612)는 적절한 경우, 하나 이상의 버스들(612)을 포함할 수 있다. 본 개시는 특정한 버스를 설명하고 예시하지만, 본 개시는 임의의 적절한 버스 또는 상호연결을 고려한다.
본원에서, 컴퓨터-판독 가능한 비일시적 저장 매체 또는 미디어는 적절한 경우, 하나 이상의 반도체-기반 또는 다른 집적 회로들(IC들)(예를 들어, 필드-프로그램 가능한 게이트 어레이들(FPGA들) 또는 애플리케이션-특정 IC들(ASIC들)), 하드 디스크 드라이브들(HDD들), 하이브리드 하드 드라이브들(HHD들), 광학 디스크들, 광학 디스크 드라이브들(ODD들), 자기-광학 디스크들, 자기-광학 드라이브들, 플로피 디스켓들, 플로피 디스크 드라이브들(FDD들), 자기 테이프들, 고체-상태 드라이브들(SSD들), RAM-드라이브들, SECURE DIGITAL 카드들 또는 드라이브들, 임의의 다른 적절한 컴퓨터-판독 가능한 비일시적 저장 매체, 또는 이들 중 둘 이상의 임의의 적절한 조합을 포함할 수 있다. 컴퓨터-판독 가능한 비일시적 저장 매체는 적절한 경우, 휘발성, 비-휘발성, 또는 휘발성 및 비-휘발성의 조합일 수 있다.
본원에서, "또는"은 그 외 달리 명확하게 표시되지 않거나 또는 맥락에 의해 달리 표시되지 않는다면, 포괄적이며 배타적이지 않다. 그러므로, 여기에서 "A 또는 B"는 그 외 명확하게 표시되거나 또는 그 외 맥락에 의해 표시되지 않는다면, "A, B, 또는 양쪽 모두"를 의미한다. 게다가, "및"은 달리 명확하게 표시되거나 또는 달리 맥락에 의해 표시되지 않는다면, 합동 및 여러 개 양쪽 모두이다. 그러므로, 본원에서, "A 및 B"는 달리 명확하게 표시되거나 또는 달리 맥락에 의해 표시되지 않는다면, "A 및 B, 공동으로 또는 각기"를 의미한다.
본 개시의 범위는 이 기술분야에서의 통상의 기술을 가진 사람이 이해할 여기에서 설명된 또는 예시된 예시적인 실시예들에 대한 모든 변화들, 대체들, 변형들, 변경들, 및 수정들을 포함한다. 본 개시의 범위는 여기에서 설명된 또는 예시된 예시적인 실시예들에 제한되지 않는다. 게다가, 본 개시는 여기에서 특정한 구성요소들, 요소들, 특징, 기능들, 동작들, 또는 단계들을 포함하는 것으로서 각각의 실시예들을 설명하고 예시하지만, 이들 실시예들 중 임의의 것은 이 기술분야에서의 통상의 기술자가 이해할 여기에서의 다른 곳에서 설명된 또는 예시된 구성요소들, 요소들, 특징들, 기능들, 동작들, 또는 단계들 중 임의의 것의 임의의 조합 또는 순열을 포함할 수 있다. 더욱이, 특정한 기능을 수행하도록 적응되고, 배열되고, 가능하고, 구성되고, 가능화되고, 동작 가능하거나 또는 동작적인 장치 또는 시스템 또는 장치 또는 시스템의 구성요소에 대한 첨부된 청구항들에서의 참조는 장치, 시스템, 또는 구성요소가 그렇게 적응되고, 배열되고, 가능하고, 구성되고, 가능화되고, 동작 가능하거나, 또는 동작적인 한, 상기 장치, 시스템, 구성요소, 또는 상기 특정한 기능이 활성화되는지에 관계없이, 상기 장치, 시스템, 구성요소를 포함한다. 부가적으로, 본 개시는 특정한 이점들을 제공하는 것으로서 특정한 실시예들을 설명하거나 또는 예시하지만, 특정한 실시예들은 이들 이점들 중 일부, 또는 모두를 제공하거나, 또는 제공하지 않을 수 있다.

Claims (15)

  1. 방법에 있어서,
    컴퓨팅 시스템에 의해:
    렌더링된 환경을 생성하고 사용자에게 디스플레이하는 단계;
    상기 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 사용자의 머리 자세를 결정하는 단계;
    손 추적 데이터에 기초하여 사용자의 손 자세를 결정하는 단계;
    디스플레이된 렌더링된 환경과 연관된 장면 정보를 액세스하는 단계; 및
    기계-학습 모델을 사용하여 상기 머리 자세, 상기 손 자세, 및 상기 장면 정보를 프로세싱함으로써 상기 렌더링된 환경 내에서 사용자의 예상 초점 포인트를 결정하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 렌더링된 환경 내에서 상기 사용자의 예상 초점 포인트에 기초하여 상기 컴퓨팅 시스템에 의해 사용자에게 제공된 이미지를 조정하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서, 상기 머리 자세는 상기 렌더링된 환경에 대하여 결정되는, 방법.
  4. 제1항에 있어서, 상기 손 자세는 상기 렌더링된 환경 또는 상기 사용자에 의해 착용된 헤드셋 중 하나에 대하여 결정되는, 방법.
  5. 제1항에 있어서, 상기 사용자의 손 자세를 결정하는 단계는:
    상기 사용자의 손을 포함한 복수의 이미지들을 분석하는 컴퓨팅 시스템에 결합된 하나 이상의 카메라들에 기초하여 사용자의 손을 식별하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 상기 손 추적 데이터는 상기 사용자의 손에 의해 유지되거나 또는 착용된 디바이스와 연관되는, 방법.
  7. 제6항에 있어서, 상기 사용자의 손에 의해 유지되거나 또는 착용된 디바이스에 의해 수행된 동작을 결정하는 단계를 더 포함하며, 상기 예상 초점 포인트를 결정하는 단계는 상기 기계-학습 모델을 사용하여 상기 사용자의 손에 의해 유지되거나 또는 착용된 디바이스에 의해 수행된 동작을 프로세싱하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서, 상기 장면 정보는 컬러 및 깊이 데이터를 포함하거나, 또는 상기 장면 정보는 상기 렌더링된 환경 내에서 하나 이상의 요소들의 의미 정보(semantic information)를 포함하는, 방법.
  9. 제1항에 있어서, 상기 예상 초점 포인트는 상기 렌더링된 환경 내에서 3차원 좌표인, 방법.
  10. 제1항에 있어서, 상기 렌더링된 환경은 애플리케이션과 연관되며, 상기 애플리케이션은 카테고리에 관련되고, 상기 장면 정보는 상기 애플리케이션에 관련된 카테고리를 포함하는, 방법.
  11. 제1항에 있어서, 상기 기계-학습 모델을 사용하여 상기 예상 초점 포인트에 대한 하나 이상의 위치들의 신뢰 맵(confidence map)을 생성하는 단계를 더 포함하며, 상기 신뢰 맵은 상기 예상 초점 포인트가 상기 하나 이상의 위치들의 각각에 있는 확률을 할당하고, 상기 예상 초점 포인트를 결정하는 단계는 상기 신뢰 맵을 이용하는 단계를 포함하는, 방법.
  12. 제1항에 있어서, 상기 예상 초점 포인트는 눈 추적 센서들 없이 결정되는, 방법.
  13. 제1항에 있어서, 상기 렌더링된 환경은 증강 현실 환경, 가상 현실 환경, 또는 혼합 현실 환경 중 하나 이상을 포함하는, 방법.
  14. 소프트웨어를 포함하는 하나 이상의 컴퓨터-판독 가능한 비일시적 저장 매체에 있어서,
    상기 소프트웨어는 실행될 때 제1항 내지 제13중 어느 한 항의 방법을 수행하거나 또는:
    가상 현실 환경을 생성하며 사용자에게 디스플레이하고;
    상기 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 사용자의 머리 자세를 결정하고;
    상기 사용자의 손에 의해 유지되거나 또는 착용된 디바이스와 연관된 손 추적 데이터에 기초하여 상기 사용자의 손 자세를 결정하고;
    디스플레이된 가상 현실 환경과 연관된 장면 정보를 액세스하고;
    기계-학습 모델을 사용하여 상기 머리 자세, 상기 손 자세, 및 상기 장면 정보를 프로세싱함으로써 상기 가상 현실 환경 내에서 사용자의 예상 초점 포인트를 결정하도록 동작 가능한, 하나 이상의 컴퓨터-판독 가능한 비일시적 저장 매체.
  15. 시스템에 있어서,
    하나 이상의 프로세서들; 및 상기 프로세서들에 의해 실행 가능한 지시들을 포함한 상기 프로세서들에 결합된 비일시적 메모리를 포함하며,
    상기 프로세서들은 상기 지시들을 실행할 때 제1항 내지 제13항 중 어느 한 항의 방법을 수행하거나 또는:
    가상 현실 환경을 생성하며 사용자에게 디스플레이하고;
    상기 사용자에 의해 착용된 헤드셋과 연관된 헤드셋 추적 데이터에 기초하여 사용자의 머리 자세를 결정하고;
    상기 사용자의 손에 의해 유지되거나 또는 착용된 디바이스와 연관된 손 추적 데이터에 기초하여 상기 사용자의 손 자세를 결정하고;
    디스플레이된 가상 현실 환경과 연관된 장면 정보를 액세스하고;
    기계-학습 모델을 사용하여 상기 머리 자세, 상기 손 자세, 및 상기 장면 정보를 프로세싱함으로써 상기 가상 현실 환경 내에서 사용자의 예상 초점 포인트를 결정하도록 동작 가능한, 시스템.
KR1020227022826A 2019-12-05 2020-11-23 시선을 결정하기 위해 심층 학습을 사용하는 방법 KR20220119053A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/705,221 2019-12-05
US16/705,221 US11308698B2 (en) 2019-12-05 2019-12-05 Using deep learning to determine gaze
PCT/US2020/061715 WO2021113100A1 (en) 2019-12-05 2020-11-23 Using deep learning to determine gaze

Publications (1)

Publication Number Publication Date
KR20220119053A true KR20220119053A (ko) 2022-08-26

Family

ID=73854934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227022826A KR20220119053A (ko) 2019-12-05 2020-11-23 시선을 결정하기 위해 심층 학습을 사용하는 방법

Country Status (6)

Country Link
US (1) US11308698B2 (ko)
EP (1) EP4070178A1 (ko)
JP (1) JP2023504994A (ko)
KR (1) KR20220119053A (ko)
CN (1) CN115066667A (ko)
WO (1) WO2021113100A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063530A1 (ko) 2022-09-21 2024-03-28 주식회사 엘지에너지솔루션 전지셀 용접부 검사 장치 및 이를 이용한 전지셀 용접부 검사 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2599900B (en) * 2020-10-09 2023-01-11 Sony Interactive Entertainment Inc Data processing system and method for image enhancement
CN118020047A (zh) 2021-10-20 2024-05-10 三星电子株式会社 使用外部装置的电子装置及其运行方法
KR20230056463A (ko) * 2021-10-20 2023-04-27 삼성전자주식회사 외부 장치를 이용하는 전자 장치 및 이의 동작 방법
US11921918B2 (en) * 2021-11-16 2024-03-05 Sony Interactive Entertainment LLC Heads up display in virtual reality
US20230308505A1 (en) * 2022-03-22 2023-09-28 Microsoft Technology Licensing, Llc Multi-device gaze tracking

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7106322B2 (en) 2000-01-11 2006-09-12 Sun Microsystems, Inc. Dynamically adjusting a sample-to-pixel filter to compensate for the effects of negative lobes
US8060406B2 (en) * 2008-09-26 2011-11-15 Microsoft Corporation Predictive geo-temporal advertisement targeting
US9214157B2 (en) * 2011-12-06 2015-12-15 At&T Intellectual Property I, L.P. System and method for machine-mediated human-human conversation
US11137832B2 (en) * 2012-12-13 2021-10-05 Eyesight Mobile Technologies, LTD. Systems and methods to predict a user action within a vehicle
US20150339589A1 (en) * 2014-05-21 2015-11-26 Brain Corporation Apparatus and methods for training robots utilizing gaze-based saliency maps
US20160019718A1 (en) * 2014-07-16 2016-01-21 Wipro Limited Method and system for providing visual feedback in a virtual reality environment
US10007333B2 (en) 2014-11-07 2018-06-26 Eye Labs, LLC High resolution perception of content in a wide field of view of a head-mounted display
US20160131902A1 (en) * 2014-11-12 2016-05-12 Anthony J. Ambrus System for automatic eye tracking calibration of head mounted display device
EP3245093B1 (en) * 2015-01-12 2021-09-01 Harman International Industries, Incorporated Cognitive load driving assistant
CN116366906A (zh) 2015-08-07 2023-06-30 苹果公司 用于显示图像流的系统和方法
US20170212582A1 (en) * 2016-01-21 2017-07-27 Cisco Technology, Inc. User interface selection
US10209785B2 (en) * 2016-02-02 2019-02-19 Microsoft Technology Licensing, Llc Volatility based cursor tethering
JP6632443B2 (ja) 2016-03-23 2020-01-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および情報処理方法
US10433725B2 (en) * 2016-09-15 2019-10-08 The Governors Of The University Of Alberta System and method for capturing spatially and temporally coherent eye gaze and hand data during performance of a manual task
US20180096507A1 (en) 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
US11567627B2 (en) * 2018-01-30 2023-01-31 Magic Leap, Inc. Eclipse cursor for virtual content in mixed reality displays
US10540941B2 (en) * 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
WO2019226691A1 (en) * 2018-05-22 2019-11-28 Magic Leap, Inc. Transmodal input fusion for a wearable system
US10664050B2 (en) * 2018-09-21 2020-05-26 Neurable Inc. Human-computer interface using high-speed and accurate tracking of user interactions
US11170579B2 (en) * 2019-04-09 2021-11-09 Microsoft Technology Licensing, Llc Hybrid rendering
US11521019B2 (en) * 2019-08-06 2022-12-06 Bank Of America Corporation Systems and methods for incremental learning and autonomous model reconfiguration in regulated AI systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063530A1 (ko) 2022-09-21 2024-03-28 주식회사 엘지에너지솔루션 전지셀 용접부 검사 장치 및 이를 이용한 전지셀 용접부 검사 방법

Also Published As

Publication number Publication date
EP4070178A1 (en) 2022-10-12
WO2021113100A1 (en) 2021-06-10
US20210174589A1 (en) 2021-06-10
CN115066667A (zh) 2022-09-16
JP2023504994A (ja) 2023-02-08
US11308698B2 (en) 2022-04-19

Similar Documents

Publication Publication Date Title
US11308698B2 (en) Using deep learning to determine gaze
US9679416B2 (en) Content creation tool
US11568660B1 (en) System and method for improving localization and object tracking
US10032303B2 (en) Scrolling 3D presentation of images
US20190228580A1 (en) Dynamic Creation of Augmented Reality Effects
EP4246963A1 (en) Providing shared augmented reality environments within video calls
KR20220112666A (ko) 증강-현실 타겟들을 검출하는 방법
US11687165B2 (en) Stabilizing gestures in artificial reality environments
US11914836B2 (en) Hand presence over keyboard inclusiveness
US10798298B1 (en) Flicker detector
US11842442B2 (en) Camera reprojection for faces
CN111164653A (zh) 在社交网络系统上生成动画
KR20230069919A (ko) 하체 포즈들을 예측하기 위한 시스템들 및 방법들
CN117425870A (zh) 虚拟现实中的动态混合现实内容
KR20230137936A (ko) 교차 애플리케이션 가상 현실 설정에서의 적응 가능한개인 사용자 인터페이스
US11442873B2 (en) Microkernel architecture with enhanced reliability and security
US10976979B1 (en) Social experiences in artificial reality environments
US20230221797A1 (en) Ephemeral Artificial Reality Experiences
US11854261B2 (en) Linking to social experiences in artificial reality environments
US11481877B2 (en) Enhancing the resolution of a video stream
CN116781853A (zh) 在视频通话中提供共享增强现实环境