KR102549822B1 - 조건부 의존적 합성 현실 콘텐츠 스레드들을 제시하고 조작하기 위한 방법 및 디바이스들 - Google Patents

조건부 의존적 합성 현실 콘텐츠 스레드들을 제시하고 조작하기 위한 방법 및 디바이스들 Download PDF

Info

Publication number
KR102549822B1
KR102549822B1 KR1020207023241A KR20207023241A KR102549822B1 KR 102549822 B1 KR102549822 B1 KR 102549822B1 KR 1020207023241 A KR1020207023241 A KR 1020207023241A KR 20207023241 A KR20207023241 A KR 20207023241A KR 102549822 B1 KR102549822 B1 KR 102549822B1
Authority
KR
South Korea
Prior art keywords
implementations
delete delete
goal
attributes
actions
Prior art date
Application number
KR1020207023241A
Other languages
English (en)
Other versions
KR20200108457A (ko
Inventor
이안 엠. 릭터
마이클 제이. 록웰
암릿팔 싱 사이니
올리비에 소아레스
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20200108457A publication Critical patent/KR20200108457A/ko
Application granted granted Critical
Publication of KR102549822B1 publication Critical patent/KR102549822B1/ko

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

일 구현예에서, 방법은: 제1 속성들과 연관된 제1 목표-실행자(objective-effectuator, OE) 및 제2 속성들과 연관된 제2 OE를 합성 현실(synthesized reality, SR) 설정에 인스턴스화하는 단계 - 제1 OE는 제2 OE 내에 캡슐화됨 -; 제1 및 제2 속성들에 기초하여 제1 OE에 제1 목표를 제공하는 단계; 제2 속성들에 기초하여 제2 OE에 대한 제2 목표를 제공하는 단계 - 제1 목표 및 제2 목표는 제1 시점과 제2 시점 사이의 기간과 연관됨 -; 제1 목표에 기초하여 제1 OE에 대한 액션들의 제1 세트를 생성하고, 제2 목표에 기초하여 제2 OE에 대한 액션들의 제2 세트를 생성하는 단계; 및 제1 OE에 의해 수행된 액션들의 제1 세트 및 제2 OE에 의해 수행된 액션들의 제2 세트를 포함하는, 기간에 대한 SR 설정을 디스플레이하도록 렌더링하는 단계를 포함한다.

Description

조건부 의존적 합성 현실 콘텐츠 스레드들을 제시하고 조작하기 위한 방법 및 디바이스들
본 개시내용은 일반적으로 합성 현실(synthesized reality, SR) 설정들 내의 목표-실행자(objective-effectuator, OE)들에 관한 것으로서, 보다 구체적으로는 조건부 의존적(conditionally dependent) SR 콘텐츠 스레드들 내에서 OE들을 제시하고 조작하는 것에 관한 것이다.
일부 디바이스들은 합성 현실 설정들을 생성하고 제시할 수 있다. 일부 합성 현실 설정들은 물리적 설정들의 시뮬레이션된 대체물들인 가상 설정들을 포함한다. 일부 합성 현실 설정들은 물리적 설정들의 수정된 버전들인 증강 설정들을 포함한다. 합성 현실 설정들을 제시하는 일부 디바이스들은 스마트폰들, 헤드-장착가능 디스플레이(HMD)들, 안경, 헤드-업 디스플레이(HUD)들, 헤드-장착가능 인클로저들 및 광학 투사 시스템들과 같은 모바일 통신 디바이스들을 포함한다. 합성 현실 설정을 제시하는 대부분의 이전에 이용가능했던 디바이스들은 특정 객체들의 표현들을 제시하는 데 효과적이지 않다. 예를 들어, 합성 현실 설정들을 제시하는 일부 이전에 이용가능했던 디바이스들은 액션과 연관된 객체들의 표현들을 제시하기에 적합하지 않다.
도면의 간단한 설명
본 개시내용이 당업자들에 의해 이해될 수 있도록, 더 상세한 설명이 일부 예시적인 구현예들의 양태들에 대한 참조에 의해 이루어질 수 있으며, 이들 중 일부는 첨부 도면들에 도시된다.
도 1a 및 도 1b는 일부 구현예들에 따른 예시적인 동작 환경들의 도면들이다.
도 2는 일부 구현예들에 따른 예시적인 시스템의 블록도이다.
도 3a는 일부 구현예들에 따른 예시적인 창발적(emergent) 콘텐츠 엔진의 블록도이다.
도 3b는 일부 구현예들에 따른 예시적인 신경망의 블록도이다.
도 4a 내지 도 4e는 일부 구현예들에 따른 SR 설정들을 위한 콘텐츠를 생성하는 방법의 흐름도 표현들이다.
도 5는 일부 구현예들에 따른, 창발적 콘텐츠 엔진의 다양한 컴포넌트들이 인에이블된 서버 시스템의 블록도이다.
도 6a는 일부 구현예들에 따른 조건부 의존적 합성 현실(SR) 콘텐츠 스레드들의 블록도이다.
도 6b 및 도 6c는 일부 구현예들에 따른 목표-실행자(OE) 캡슐화들과 연관된 타임라인들을 예시한다.
도 7a 내지 도 7c는 일부 구현예들에 따른 예시적인 SR 제시 시나리오들을 예시한다.
도 8a 내지 도 8c는 일부 구현예들에 따른 창발적 콘텐츠 아키텍처들의 블록도들이다.
도 9는 일부 구현예들에 따른, SR 설정 내의 OE 캡슐화를 인스턴스화하는 방법의 흐름도 표현이다.
도 10은 일부 구현예들에 따른, SR 설정 내의 OE 캡슐화에 대한 콘텐츠를 초기화하고 생성하는 방법의 흐름도 표현이다.
도 11은 일부 구현예들에 따른, SR 설정 내의 OE에 대한 콘텐츠를 초기화하고 생성하는 방법의 흐름도 표현이다.
도 12는 일부 구현예들에 따른, SR 설정(예를 들어, 조건부 의존적 SR 콘텐츠 스레드 환경) 내의 관점(point-of-view)을 선택하는 방법의 흐름도 표현이다.
일반적인 실시에 따라, 도면에 예시된 다양한 특징들은 축척대로 그려지지 않을 수 있다. 따라서, 다양한 특징들의 치수는 명료함을 위해 임의대로 확대 또는 축소될 수 있다. 부가적으로, 도면들 중 일부는 주어진 시스템, 방법 또는 디바이스의 컴포넌트들 모두를 도시하지는 않을 수 있다. 마지막으로, 동일한 도면 번호들은 명세서 및 도면들 전반에 걸쳐 동일한 특징들을 나타내기 위해 사용될 수 있다.
본 명세서에 개시된 다양한 구현예들은 SR 설정 내에 OE 캡슐화를 인스턴스화하기 위한 디바이스들, 시스템들, 및 방법들을 포함한다. 다양한 구현예들에서, 디바이스는 비일시적 메모리, 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 포함한다. 일부 구현예들에서, 방법은 속성들의 제1 세트와 연관된 제1 목표-실행자(OE) 및 속성들의 제2 세트와 연관된 제2 OE를 합성 현실(SR) 설정에 인스턴스화하는 단계 - 제1 OE는 제2 OE 내에 캡슐화됨 -; 속성들의 제1 세트 및 속성들의 제2 세트에 기초하여 제1 OE에 제1 목표를 제공하는 단계; 속성들의 제2 세트에 기초하여 제2 OE에 제2 목표를 제공하는 단계 - 제1 목표 및 제2 목표는 제1 시점과 제2 시점 사이의 제1 기간과 연관됨 -; 제1 목표에 기초하여 제1 OE에 대한 제1 기간과 연관된 액션들의 제1 세트를 생성하는 단계; 제2 목표에 기초하여 제2 OE에 대한 제1 기간과 연관된 액션들의 제2 세트를 생성하는 단계; 및 제1 OE에 의해 수행된 액션들의 제1 세트 및 제2 OE에 의해 수행된 액션들의 제2 세트를 포함하는 SR 설정을 디스플레이하도록 렌더링하는 단계를 포함한다.
본 명세서에 개시된 다양한 구현예들은 SR 설정 내에 OE 캡슐화를 위한 콘텐츠를 초기화하고 생성하기 위한 디바이스들, 시스템들, 및 방법들을 포함한다. 다양한 구현예들에서, 디바이스는 비일시적 메모리, 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 포함한다. 일부 구현예들에서, 방법은 이벤트와 연관된 소스 자산들로부터 추출된 액션들의 세트에 기초하여 목표-실행자(OE) 캡슐화에 대한 목표들의 초기 세트를 합성하는 단계 - OE 캡슐화는 제2 OE 내에 캡슐화된 제1 OE를 포함하고, 목표들의 초기 세트는 제2 OE에 대한 제2 목표와 일치하는 제1 OE에 대한 제1 목표를 포함함 -; OE 캡슐화를 가상상태로 인스턴스화하는 단계 - OE 캡슐화는 목표들의 초기 세트 및 시각적 렌더링 속성들의 세트에 의해 특징지어짐 -; 목표들의 초기 세트, 이벤트와 연관된 컨텍스트 정보, 및 액션들의 세트의 함수에 기초하여 OE 캡슐화에 대한 갱신된 목표들을 생성하는 단계; 및 목표들의 갱신된 세트에 기초하여 OE 캡슐화를 수정하는 단계를 포함한다.
본 명세서에 개시된 다양한 구현예들은 SR 설정 내에 OE에 대한 콘텐츠를 초기화하고 생성하기 위한 디바이스들, 시스템들, 및 방법들을 포함한다. 다양한 구현예들에서, 디바이스는 비일시적 메모리, 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 포함한다. 일부 구현예들에서, 방법은 이벤트와 연관된 소스 자산들로부터 추출된 액션들의 세트에 기초하여 제1 목표-실행자(OE)에 대한 목표들의 초기 세트를 합성하는 단계; 제1 OE를 SR 설정에 인스턴스화하는 단계 - 제1 OE는 목표들의 초기 세트 및 시각적 렌더링 속성들의 세트에 의해 특징지어짐 -; 목표들의 초기 세트, 이벤트와 연관된 컨텍스트 정보, 및 액션들의 세트의 함수에 기초하여 제1 OE에 대한 갱신된 목표들을 생성하는 단계; 및 목표들의 갱신된 세트에 기초하여 제1 OE를 수정하는 단계를 포함한다.
본 명세서에 개시된 다양한 구현예들은 SR 설정(예를 들어, 조건부 의존적 SR 콘텐츠 스레드 환경) 내의 관점을 선택하기 위한 디바이스들, 시스템들, 및 방법들을 포함한다. 다양한 구현예들에서, 디바이스는 비일시적 메모리, 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 포함한다. 일부 구현예들에서, 방법은 이벤트와 연관된 SR 콘텐츠를 포함하는 이벤트의 제1 SR 뷰를 제시하는 단계 - SR 콘텐츠는 이벤트와 연관된 액션들을 수행하는 SR 콘텐츠의 복수의 관련 층들을 포함함 -; 이벤트와 연관된 SR 콘텐츠의 복수의 관련 층들 중 각자의 층의 선택을 검출하는 단계; 및 각자의 층의 선택에 응답하여 SR 콘텐츠의 각자의 층을 포함하는 이벤트의 제2 SR 뷰를 제시하는 단계를 포함하며, 제2 SR 뷰는 각자의 층의 관점에 대응한다.
일부 구현예들에 따르면, 디바이스는 하나 이상의 프로세서들, 비일시적 메모리, 및 하나 이상의 프로그램들을 포함한다. 일부 구현예들에서, 하나 이상의 프로그램들은 비일시적 메모리에 저장되고, 하나 이상의 프로세서들에 의해 실행된다. 일부 구현예들에서, 하나 이상의 프로그램들은 본 명세서에 설명된 방법들 중 임의의 방법을 수행하거나 수행을 야기하기 위한 명령어들을 포함한다. 일부 구현예들에 따르면, 비일시적 컴퓨터 판독가능 저장 매체는, 디바이스의 하나 이상의 프로세서들에 의해 실행될 때, 디바이스로 하여금, 본 명세서에 설명되는 방법들 중 임의의 방법을 수행하게 하거나 수행을 야기하는 명령어들을 내부에 저장한다. 일부 구현예들에 따르면, 디바이스는 하나 이상의 프로세서들, 비일시적 메모리, 및 본 명세서에 설명되는 방법들 중 임의의 방법을 수행하거나 수행을 야기하기 위한 수단을 포함한다.
도면들에 도시된 예시적인 구현예들의 완전한 이해를 제공하기 위해 다수의 세부사항들이 설명된다. 그러나, 도면들은 단지 본 개시내용의 일부 예시적인 양태들만을 도시할 뿐이며, 따라서 제한적인 것으로 고려되지 않는다. 당업자들은 다른 효과적인 양태들 및/또는 변형들이 본 명세서에 설명되는 특정 세부사항들 모두를 포함하지는 않음을 인식할 것이다. 또한, 잘 알려진 시스템들, 방법들, 컴포넌트들, 디바이스들 및 회로들은 본 명세서에 설명되는 예시적인 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 철저히 상세하게 설명되지 않았다.
물리적 설정은 사람들이 감지할 있고/있거나 사람들이 전자 시스템들의 보조 없이 상호작용할 수 있는 세계를 지칭한다. 물리적 설정들(예를 들어, 물리적 숲)은 물리적 구성요소들(예를 들어, 물리적 나무들, 물리적 구조물들, 및 물리적 동물들)을 포함한다. 사람들은, 예컨대 촉각, 시각, 후각, 청각, 및 미각을 통해, 물리적 설정과 직접 상호작용 및/또는 감지할 수 있다.
대조적으로, 합성 현실(SR) 설정은 사람들이 감지할 수 있고/있거나 사람들이 전자 시스템을 통해 상호작용할 수 있는, 전체적으로 또는 부분적으로 컴퓨터-생성된 설정을 지칭한다. SR에서, 사람의 움직임들의 서브세트가 모니터링되고, 그것에 응답하여, SR 설정에서의 하나 이상의 가상 객체들의 하나 이상의 속성들은 하나 이상의 물리 법칙을 지키는 방식으로 변경된다. 예를 들어, SR 시스템은 사람이 몇 걸음 앞으로 걷는 것을 검출하고, 이에 응답하여, 이러한 풍경과 소리가 물리적 설정에서 변하는 것과 유사한 방식으로 사람에게 제시되는 그래픽 및 오디오를 조정할 수 있다. SR 설정에서의 가상 객체(들)의 속성(들)에 대한 수정은 또한 이동의 표현들(예를 들어, 오디오 명령어들)에 응답하여 이루어질 수 있다.
사람은 촉각, 후각, 시각, 미각, 및 청각을 포함하는 자신의 감각들 중 임의의 하나를 이용하여 SR 객체와 상호작용하고/하거나 감지할 수 있다. 예를 들어, 사람은 다차원(예를 들어, 3차원) 또는 공간 청각적 설정을 생성, 및/또는 청각적 투명성을 가능하게 하는 청각 객체들과 상호작용하고/하거나 감지할 수 있다. 다차원 또는 공간 청각적 설정들은 사람에게 다차원 공간에서 개별적인 청각적 소스들에 대한 인식을 제공한다. 청각적 투명성은 물리적 설정으로부터의 소리를, 컴퓨터-생성 오디오와 함께 또는 그것 없이 선택적으로 포함한다. 일부 SR 설정들에서, 사람은 오직 청각적 객체들과 상호작용하고/하거나 감지할 수 있다.
SR의 일례는 가상 현실(VR)이다. VR 설정은 감각들 중 적어도 하나에 대한 컴퓨터-생성 감각 입력들만을 포함하도록 설계된 시뮬레이션 설정을 지칭한다. VR 설정은 사람이 상호작용 및/또는 감지할 수 있는 다수의 가상 객체들을 포함한다. 사람은 컴퓨터-생성 설정 내의 사람의 액션들의 서브세트의 시뮬레이션, 및/또는 컴퓨터-생성 설정 내의 사람 또는 그의 존재의 시뮬레이션을 통해 VR 설정 내의 가상 객체들과 상호작용 및/또는 감지할 수 있다.
SR의 다른 예는 혼합 현실(mixed reality, MR)이다. MR 설정은 컴퓨터-생성 감각 입력들(예를 들어, 가상 객체들)을 물리적 설정, 또는 그것들의 표현으로부터의 감각 입력들과 통합하도록 설계된 시뮬레이션 설정을 지칭한다. 현실 스펙트럼 상에서, 혼합 현실 설정은 한편으로 VR 설정과 다른 한편으로 전체 물리적 설정 사이에 존재하고, 이들을 포함하지 않는다.
일부 MR 설정들에서, 컴퓨터-생성 감각 입력들은 물리적 설정으로부터의 감각 입력들의 변화에 적응할 수 있다. 또한, MR 설정들을 표현하기 위한 일부 전자 시스템들은 가상 객체들과 실제 객체들(이들은 물리적 설정 또는 이들의 표현으로부터의 물리적 구성요소들임) 사이의 상호작용을 인에이블하기 위하여 물리적 설정에 대한 배향 및/또는 위치를 모니터링할 수 있다. 예를 들어, 시스템은 움직임들을 모니터링하여 가상 식물이 물리적 빌딩에 대해 고정된 것처럼 보이도록 할 수 있다.
혼합 현실의 일례는 증강 현실(AR)이다. AR 설정은 적어도 하나의 가상 객체가 물리적 설정, 또는 그것들의 표현 위에 중첩되는 시뮬레이션 설정을 지칭한다. 예를 들어, 전자 시스템은 불투명 디스플레이, 및 물리적 설정의 표현들인, 물리적 설정의 이미지들 또는 비디오를 캡처하기 위한 적어도 하나의 이미지 센서를 가질 수 있다. 시스템은 이미지들 또는 비디오를 가상 객체들과 조합하고, 불투명 디스플레이 상에 그 조합을 디스플레이한다. 사람은, 시스템을 이용하여, 물리적 설정의 이미지들 또는 비디오를 통해 간접적으로 물리적 설정을 보고, 물리적 설정 위에 중첩된 가상 객체들을 관찰한다. 시스템이 이미지 센서(들)를 이용하여 물리적 설정의 이미지들을 캡처하고, 이러한 이미지들을 이용하여 불투명 디스플레이 상에 AR 설정을 제시할 때, 디스플레이되는 이미지들은 비디오 패스-스루(pass-through)라고 불린다. 대안적으로, AR 설정을 디스플레이하기 위한 전자 시스템은 사람이 물리적 설정을 직접 볼 수 있는 투명 또는 반투명 디스플레이를 가질 수 있다. 시스템은 가상 객체들을 투명 또는 반투명 디스플레이 상에 디스플레이하여, 사람이 시스템을 이용하여, 물리적 설정 상에 중첩된 가상 객체들을 관찰하게 할 수 있다. 다른 예에서, 시스템은 가상 객체들을 물리적 설정 내로 투사하는 투사 시스템을 포함할 수 있다. 가상 객체들은, 예를 들어, 물리적 표면 상에 또는 홀로그래프로서 투사되어, 사람이 시스템을 이용하여, 물리적 설정 상에 중첩된 가상 객체들을 관찰하게 할 수 있다.
증강 현실 설정은 또한 물리적 설정의 표현이 컴퓨터-생성 센서 정보에 의해 변경되는 시뮬레이션 설정을 지칭할 수 있다. 예를 들어, 물리적 설정의 표현의 일부분은 그래픽적으로 변경되어(예를 들어, 확대됨), 변경된 부분이 여전히 대표성은 있지만 원래 캡처된 이미지(들)의 충실하게 재현된 버전은 아닐 수 있다. 다른 예를 들어, 비디오 패스-스루를 제공함에 있어서, 시스템은 센서 이미지들 중 적어도 하나를 변경하여 이미지 센서(들)에 의해 캡처된 관점과 상이한 특정 관점을 부과할 수 있다. 추가적인 예로서, 물리적 설정의 표현은 그의 부분들을 그래픽적으로 모호하게 하거나 배제함으로써 변경될 수 있다.
혼합 현실의 다른 예는 증강 가상(augmented virtuality, AV)이다. AV 설정은 컴퓨터-생성 또는 가상 설정이 물리적 설정으로부터의 적어도 하나의 감각 입력을 포함시키는 시뮬레이션 설정을 지칭한다. 물리적 설정으로부터의 감각 입력(들)은 물리적 설정의 적어도 하나의 특성의 표현들일 수 있다. 예를 들어, 가상 객체는 이미지 센서(들)에 의해 캡처된 물리적 구성요소의 색상을 취할 수 있다. 다른 예에서, 가상 객체는 이미지, 날씨-관련 센서, 및/또는 온라인 날씨 데이터를 통해 식별되는 바와 같이, 물리적 설정의 실제 날씨 조건들에 일치하는 특성들을 나타낼 수 있다. 또 다른 예에서, 증강 현실 숲은 가상 나무들 및 구조물들을 가질 수 있지만, 동물들은 물리적 동물들의 촬영된 이미지들로부터 정확하게 재현되는 특징들을 가질 수 있다.
많은 전자 시스템들은 개인이 다양한 SR 설정들과 상호작용하고/하거나 이들을 감지할 수 있게 한다. 일례는 헤드 장착형 시스템들을 포함한다. 헤드 장착형 시스템은 불투명 디스플레이 및 스피커(들)를 가질 수 있다. 대안적으로, 헤드 장착형 시스템은 외부 디스플레이(예를 들어, 스마트폰)를 수용하도록 설계될 수 있다. 헤드 장착형 시스템은 각각 이미지들/비디오를 촬영하고/하거나 물리적 설정의 오디오를 캡처하기 위한 이미징 센서(들) 및/또는 마이크로폰들을 가질 수 있다. 헤드 장착형 시스템은 또한 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 그를 통해 사람의 눈들로 지향되는 기판을 통합할 수 있다. 디스플레이는 LED, OLED, 디지털 광 프로젝터, 레이저 스캐닝 광원, 실리콘 액정표시장치, 또는 이 기술들의 임의의 조합을 포함할 수 있다. 광이 통과해서 전송될 수 있는 기판은 도광체, 광학 조합기, 광학 반사기, 홀로그래픽 기판, 또는 이 기판들의 임의의 조합일 수 있다. 일 구현예에서, 투명 또는 반투명 디스플레이는 불투명 상태와 투명 또는 반투명 상태를 선택적으로 전환할 수 있다. 다른 예에서, 전자 시스템은 투사-기반 시스템일 수 있다. 투사-기반 시스템은 이미지들을 개인의 망막 상으로 투사하기 위해 망막 투사를 사용할 수 있다. 대안적으로, 투사 시스템은 또한 가상 객체들을 물리적 설정 안에(예를 들어, 물리적 표면 상에 또는 홀로그래프로서) 투사할 수 있다. SR 시스템들의 다른 예들은 헤드 업 디스플레이들, 그래픽들을 디스플레이하는 능력을 갖는 자동차 앞유리들, 그래픽들을 디스플레이하는 능력을 갖는 창들, 그래픽들을 디스플레이하는 능력을 갖는 렌즈들, 헤드폰들 또는 이어폰들, 스피커 배열들, 입력 메커니즘들(예를 들어, 햅틱 피드백을 갖거나 갖지 않는 제어기들), 태블릿들, 스마트폰들, 및 데스크톱 또는 랩톱 컴퓨터들을 포함한다.
본 개시내용은 SR 설정들을 제시하고 조작하기 위한 방법들, 시스템들, 및/또는 디바이스들을 제공한다. 창발적 콘텐츠 엔진은 목표-실행자들에 대한 목표들을 생성하고, 목표들을 대응하는 목표-실행자 엔진들에 제공하여 목표-실행자 엔진들이 목표들을 충족하는 액션들을 생성할 수 있다. 창발적 콘텐츠 엔진에 의해 생성된 목표들은 목표-실행자 엔진들이 액션들을 생성하는 플롯들 또는 줄거리들을 나타낸다. 목표들을 생성하는 것은, 정적인 목표-실행자들을 제시하는 것과는 대조적으로 액션들을 수행하는 동적인 목표-실행자들의 제시를 가능하게 함으로써, 사용자 경험을 향상시키고 SR 설정을 제시하는 디바이스의 기능을 개선한다.
도 1a는 일부 구현예들에 따른 예시적인 동작 환경(100A)의 블록도이다. 관련 특징들이 도시되어 있지만, 당업자는 본 개시내용으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 예시적인 구현예들의 더 많은 관련 양태들을 불명료하게 하지 않도록 하기 위해 다양한 다른 특징들이 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 동작 환경(100A)은 제어기(102) 및 전자 디바이스(103)를 포함한다. 도 1a의 예에서, 전자 디바이스(103)는 사용자(10)에 의해 들려 있다. 일부 구현예들에서, 전자 디바이스(103)는 스마트폰, 태블릿, 랩톱 등을 포함한다.
도 1a에 예시된 바와 같이, 전자 디바이스(103)는 합성 현실 설정(106)을 제시한다. 일부 구현예들에서, 합성 현실 설정(106)은 제어기(102) 및/또는 전자 디바이스(103)에 의해 생성된다. 일부 구현예들에서, 합성 현실 설정(106)은 물리적 설정의 시뮬레이션된 대체물인 가상 설정을 포함한다. 다시 말하면, 일부 구현예들에서, 합성 현실 설정(106)은 제어기(102) 및/또는 전자 디바이스(103)에 의해 시뮬레이션된다. 그러한 구현예들에서, 합성 현실 설정(106)은 전자 디바이스(103)가 위치된 물리적 설정과 상이하다. 일부 구현예들에서, 합성 현실 설정(106)은 물리적 설정의 수정된 버전인 증강 설정을 포함한다. 예를 들어, 일부 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 합성 현실 설정(106)을 생성하기 위해 전자 디바이스(103)가 위치된 물리적 설정을 수정(예를 들어, 증강)한다. 일부 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 전자 디바이스(103)가 위치된 물리적 설정의 복제물을 시뮬레이션함으로써 합성 현실 설정(106)을 생성한다. 일부 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 전자 디바이스(103)가 위치된 물리적 설정의 시뮬레이션된 복제물로부터 아이템들을 제거 및/또는 부가함으로써 합성 현실 설정(106)을 생성한다.
일부 구현예들에서, 합성 현실 설정(106)은 소년 액션 모형 표현(108a), 소녀 액션 모형 표현(108b), 로봇 표현(108c), 및 드론 표현(108d)과 같은 목표-실행자들의 다양한 SR 표현들을 포함한다. 일부 구현예들에서, 목표-실행자들은 영화들, 비디오 게임들, 만화들, 및 소설들과 같은 허구의 소재들로부터의 캐릭터들을 표현한다. 예를 들어, 소년 액션 모형 표현(108a)은 허구의 만화로부터의 '소년 액션 모형' 캐릭터를 표현하고, 소녀 액션 모형 표현(108b)은 허구의 비디오 게임으로부터의 '소녀 액션 모형' 캐릭터를 표현한다. 일부 구현예들에서, 합성 현실 설정(106)은 상이한 허구의 소재들로부터의(예를 들어, 상이한 영화들/게임들/만화들/소설들로부터의) 캐릭터들을 표현하는 목표-실행자들을 포함한다. 다양한 구현예들에서, 목표-실행자들은 물건들(예를 들어, 유형의 객체들)을 표현한다. 예를 들어, 일부 구현예들에서, 목표-실행자들은 장비(예를 들어, 비행기들, 탱크들, 로봇들, 자동차들 등과 같은 기계류)를 표현한다. 도 1a의 예에서, 로봇 표현(108c)은 로봇을 표현하고, 드론 표현(108d)은 드론을 표현한다. 일부 구현예들에서, 목표-실행자들은 허구의 소재들로부터의 물건들(예를 들어, 장비)을 표현한다. 일부 구현예들에서, 목표-실행자들은 합성 현실 설정(106)의 내부 및/또는 외부에 위치된 물건들을 포함하는, 물리적 설정으로부터의 물건들을 표현한다.
다양한 구현예들에서, 목표-실행자들은 하나 이상의 목표들을 실행(예를 들어, 완료/충족/달성)하기 위해 하나 이상의 액션들을 수행한다. 일부 구현예들에서, 목표-실행자들은 액션들의 시퀀스를 수행한다. 일부 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 목표-실행자들이 수행해야 하는 액션들을 결정한다. 일부 구현예들에서, 목표-실행자들의 액션들은 허구의 소재에서 대응하는 캐릭터들/물건들이 수행하는 액션들에 대해 소정 정도의 유사성 내에 있다. 도 1a의 예에서, 소녀 액션 모형 표현(108b)은 (예를 들어, 대응하는 '소녀 액션 모형' 캐릭터가 날 수 있고/있거나 허구의 소재들에서 '소녀 액션 모형' 캐릭터가 빈번하게 날기 때문에) 날기 액션을 수행하고 있다. 도 1a의 예에서, 드론 표현(108d)은 (예를 들어, 물리적 설정들에서의 드론들은 호버링(hover)할 수 있기 때문에) 호버링 액션을 수행하는 것이다. 일부 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 목표-실행자들에 대한 액션들을 획득한다. 예를 들어, 일부 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 액션들을 결정(예를 들어, 선택)하는 원격 서버로부터 목표-실행자들에 대한 액션들을 수신한다.
다양한 구현예들에서, 목표-실행자는 목표를 충족(예를 들어, 완료 또는 달성)하기 위해 액션을 수행한다. 일부 구현예들에서, 목표-실행자는 특정 목표와 연관되고, 목표-실행자는 그 특정 목표를 충족할 가능성을 개선하는 액션들을 수행한다. 일부 구현예들에서, 목표-실행자들의 SR 표현들은, 예를 들어 목표-실행자들의 SR 표현들이 다양한 객체들(예를 들어, 실제 객체들 또는 허구의 객체들)을 표현하기 때문에 객체 표현들로 지칭된다. 일부 구현예들에서, 캐릭터를 표현하는 목표-실행자는 캐릭터 목표-실행자로 지칭된다. 일부 구현예들에서, 캐릭터 목표-실행자는 캐릭터 목표를 실행하기 위한 액션들을 수행한다. 일부 구현예들에서, 장비를 표현하는 목표-실행자는 장비 목표-실행자로서 지칭된다. 일부 구현예들에서, 장비 목표-실행자는 장비 목표를 실행하기 위한 액션들을 수행한다. 일부 구현예들에서, 환경을 표현하는 목표-실행자는 환경 목표-실행자로 지칭된다. 일부 구현예들에서, 환경 목표-실행자는 환경 목표를 실행하기 위한 환경 액션들을 수행한다.
일부 구현예들에서, 합성 현실 설정(106)은 사용자(10)로부터의 입력에 기초하여 생성된다. 예를 들어, 일부 구현예들에서, 전자 디바이스(103)는 합성 현실 설정(106)에 대한 영역(terrain)을 나타내는 입력을 수신한다. 그러한 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 합성 현실 설정(106)이 입력을 통해 나타내어진 영역을 포함하도록 합성 현실 설정(106)을 구성한다. 일부 구현예들에서, 입력은 합성 현실 설정(106)에 대한 환경 조건들을 나타낸다. 그러한 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 입력에 의해 나타내어진 환경 조건들을 갖도록 합성 현실 설정(106)을 구성한다. 일부 구현예들에서, 환경 조건들은 온도, 습도, 압력, 가시성, 주변 조도, 주변 사운드 레벨, 하루 중 시간(예를 들어, 아침, 오후, 저녁, 또는 밤), 및 강수량(예를 들어, 흐림, 비, 또는 눈) 중 하나 이상을 포함한다.
일부 구현예들에서, 목표-실행자들에 대한 액션들은 사용자(10)로부터의 입력에 기초하여 결정된다(예를 들어, 생성된다). 예를 들어, 일부 구현예들에서, 전자 디바이스(103)는 목표-실행자들의 SR 표현들의 배치를 나타내는 입력을 수신한다. 그러한 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 입력에 의해 나타내어진 배치에 따라 목표-실행자들의 SR 표현들을 위치시킨다. 일부 구현예들에서, 입력은 목표-실행자들이 수행하도록 허용되는 특정 액션들을 나타낸다. 그러한 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 입력에 의해 나타내어진 특정 액션들로부터 목표-실행자에 대한 액션들을 선택한다. 일부 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 입력에 의해 나타내어진 특정 액션들 중에 있지 않은 액션들을 보류한다. 일부 구현예들에서, 제어기(102) 및/또는 전자 디바이스(103)는 도 8a 내지 도 8c에서의 창발적 콘텐츠 아키텍처들의 적어도 일부분을 포함한다.
도 1b는 일부 구현예들에 따른 예시적인 동작 환경(100B)의 블록도이다. 관련 특징들이 도시되어 있지만, 당업자는 본 개시내용으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 예시적인 구현예들의 더 많은 관련 양태들을 불명료하게 하지 않도록 하기 위해 다양한 다른 특징들이 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 동작 환경(100B)은 제어기(102) 및 헤드-장착가능 디바이스(HMD)(104)를 포함한다. 도 1b의 예에서, HMD(104)는 사용자(10)에 의해 착용된다. 다양한 구현예들에서, HMD(104)는 도 1a에 도시된 전자 디바이스(103)와 실질적으로 동일한 방식으로 동작한다. 일부 구현예들에서, HMD(104)는 도 1a에 도시된 전자 디바이스(103)와 실질적으로 동일한 동작들을 수행한다. 일부 구현예들에서, HMD(104)는 헤드-장착가능 인클로저를 포함한다. 일부 구현예들에서, 헤드-장착가능 인클로저는 디스플레이를 갖는 전자 디바이스(예를 들어, 도 1a에 도시된 전자 디바이스(103))를 수용하기 위한 리셉터클을 형성하도록 형상화된다. 예를 들어, 일부 구현예들에서, 도 1a에 도시된 전자 디바이스(103)는 HMD(104) 내로 슬라이딩될 수 있다. 일부 구현예들에서, HMD(104)는 합성 현실 경험을 사용자(10)에게 제시하기 위한 통합된 디스플레이를 포함한다. 일부 구현예들에서, 제어기(102) 및/또는 HMD(104)는 도 8a 내지 도 8c에서의 창발적 콘텐츠 아키텍처들의 적어도 일부분을 포함한다.
도 2는 SR 설정에서 다양한 목표-실행자들에 대한 목표들을 생성하는 예시적인 시스템(200)의 블록도이다. 예를 들어, 시스템(200)은 도 1a 및 도 1b에 도시된 소년 액션 모형 표현(108a), 소녀 액션 모형 표현(108b), 로봇 표현(108c), 및/또는 드론 표현(108d)에 대한 목표들을 생성한다. 도 2의 예에서, 시스템(200)은 각각 소년 액션 모형 표현(108a), 소녀 액션 모형 표현(108b), 로봇 표현(108c), 및 드론 표현(108d)에 대한 액션들(210)을 생성하는 소년 액션 모형 캐릭터 엔진(208a), 소녀 액션 모형 캐릭터 엔진(208b), 로봇 장비 엔진(208c), 및 드론 장비 엔진(208d)을 포함한다. 일부 구현예들에서, 시스템(200)은 또한 환경 엔진(208e), 창발적 콘텐츠 엔진(250), 및 디스플레이 엔진(260)을 포함한다.
다양한 구현예들에서, 창발적 콘텐츠 엔진(250)은 SR 설정에 있는 목표-실행자들 및/또는 SR 설정의 환경에 대한 각자의 목표들(254)을 생성한다. 도 2의 예에서, 창발적 콘텐츠 엔진(250)은 소년 액션 모형 표현(108a)에 대한 소년 액션 모형 목표들(254a), 소녀 액션 모형 표현(108b)에 대한 소녀 액션 모형 목표들(254b), 로봇 표현(208c)에 대한 로봇 목표들(254c), 드론 표현(108d)에 대한 드론 목표들(254d), 및/또는 SR 설정(106)의 환경에 대한 환경 목표들(254e)(예를 들어, 환경 조건들)을 생성한다. 도 2에 예시된 바와 같이, 창발적 콘텐츠 엔진(250)은 대응하는 캐릭터/장비/환경 엔진들에 목표들(254)을 제공한다. 도 2의 예에서, 창발적 콘텐츠 엔진(250)은 소년 액션 모형 캐릭터 엔진(208a)에 소년 액션 모형 목표들(254a)을, 소녀 액션 모형 캐릭터 엔진(208b)에 소녀 액션 모형 목표들(254b)을, 로봇 장비 엔진(208c)에 로봇 목표들(254c)을, 드론 장비 엔진(208d)에 드론 목표들(254d)을, 그리고 환경 엔진(208e)에 환경 목표들(254e)을 제공한다.
다양한 구현예들에서, 창발적 콘텐츠 엔진(250)은 가능한 목표들(252)(예를 들어, 미리정의된 목표들의 세트), SR 설정을 특징짓는 컨텍스트 정보(258), 및 캐릭터/장비/환경 엔진들에 의해 제공되는 액션들(210)의 함수에 기초하여 목표들(254)을 생성한다. 예를 들어, 일부 구현예들에서, 창발적 콘텐츠 엔진(250)은 컨텍스트 정보(258) 및/또는 액션들(210)에 기초하여 가능한 목표들(252)로부터 목표들(254)을 선택함으로써 목표들(254)을 생성한다. 일부 구현예들에서, 가능한 목표들(252)은 데이터저장소에 저장된다. 일부 구현예들에서, 가능한 목표들(252)은 (예를 들어, 비디오 게임들, 영화들, 소설들, 및/또는 만화들을 스크레이핑(scraping)함으로써) 대응하는 허구의 소스 자료로부터 획득된다. 예를 들어, 일부 구현예들에서, 소녀 액션 모형 표현(108b)에 대한 가능한 목표들(252)은 생명을 구하고, 애완 동물을 구조하고, 범죄와의 싸움 등을 포함한다.
일부 구현예들에서, 창발적 콘텐츠 엔진(250)은 캐릭터/장비/환경 엔진들에 의해 제공되는 액션들(210)에 기초하여 목표들(254)을 생성한다. 일부 구현예들에서, 창발적 콘텐츠 엔진(250)은, 액션들(210)을 고려해 볼 때, 목표들(254)을 완료할 확률이 임계치를 충족하도록(예를 들어, 확률은 임계치 초과로서, 예를 들어, 확률은 80% 초과임) 목표들(254)을 생성한다. 일부 구현예들에서, 창발적 콘텐츠 엔진(250)은 액션들(210)에 의해 완료될 가능성이 높은 목표들(254)을 생성한다.
일부 구현예들에서, 창발적 콘텐츠 엔진(250)은 액션들(210)에 기초하여 가능한 목표들(252)의 순위를 매긴다. 일부 구현예들에서, 특정의 가능한 목표(252)에 대한 순위는, 액션들(210)을 고려해 볼 때 그러한 특정의 가능한 목표(252)를 완료할 가능성을 나타낸다. 그러한 구현예들에서, 창발적 콘텐츠 엔진(250)은 최상위 순위의 N개의 가능한 목표들(252)을 선택함으로써 목표(254)를 생성하며, 여기서 N은 미리정의된 정수(예를 들어, 1, 3, 5, 10 등)이다.
일부 구현예들에서, 창발적 콘텐츠 엔진(250)은 목표들(254)에 기초하여 SR 설정에 대한 초기/종료 상태들(256)을 설정한다. 일부 구현예들에서, 초기/종료 상태들(256)은 SR 설정 내의 다양한 캐릭터/장비 표현들의 배치들(예를 들어, 위치들)을 나타낸다. 일부 구현예들에서, SR 설정은 지속기간(예를 들어, 수 초, 수 분, 수 시간, 또는 수 일)과 연관된다. 예를 들어, SR 설정은 지속기간 동안 지속되도록 스케줄링된다. 그러한 구현예들에서, 초기/종료 상태들(256)은 지속기간의 시작에 있는/시작을 향한 그리고/또는 지속기간의 끝에 있는/끝을 향한 다양한 캐릭터/장비 표현들의 배치들을 나타낸다. 일부 구현예들에서, 초기/종료 상태들(256)은 SR 설정과 연관된 지속기간의 시작/끝에 있는/시작/끝을 향한 SR 설정에 대한 환경 조건들을 나타낸다.
일부 구현예들에서, 창발적 콘텐츠 엔진(250)은 캐릭터/장비/환경 엔진들에 더하여 디스플레이 엔진(260)에 목표들(254)을 제공한다. 일부 구현예들에서, 디스플레이 엔진(260)은 캐릭터/장비/환경 엔진들에 의해 제공되는 액션들(210)이 창발적 콘텐츠 엔진(250)에 의해 제공되는 목표들(254)과 일치하는지 여부를 결정한다. 예를 들어, 디스플레이 엔진(260)은 액션들(210)이 목표들(254)을 충족하는지 여부를 결정한다. 다시 말하면, 일부 구현예들에서, 디스플레이 엔진(260)은 액션들(210)이 목표들(254)을 완료하고/달성할 가능성을 개선하는지 여부를 결정한다. 일부 구현예들에서, 액션들(210)이 목표들(254)을 충족하는 경우, 디스플레이 엔진(260)은 액션들(210)에 따라 SR 설정을 수정한다. 일부 구현예들에서, 액션들(210)이 목표들(254)을 충족하지 않는 경우, 디스플레이 엔진(260)은 액션들(210)에 따라 SR 설정을 수정하는 것을 보류한다.
도 3a는 일부 구현예들에 따른 예시적인 창발적 콘텐츠 엔진(300)의 블록도이다. 일부 구현예들에서, 창발적 콘텐츠 엔진(300)은 도 2에 도시된 창발적 콘텐츠 엔진(250)을 구현한다. 다양한 구현예들에서, 창발적 콘텐츠 엔진(300)은 SR 설정에서 인스턴스화된 다양한 목표-실행자들(예를 들어, 도 1a 및 도 1b에 도시된 소년 액션 모형 표현(108a), 소녀 액션 모형 표현(108b), 로봇 표현(108c) 및/또는 드론 표현(108d)과 같은 캐릭터/장비 표현들)에 대한 목표들(254)을 생성한다. 일부 구현예들에서, 목표들(254) 중 적어도 일부는 SR 설정의 환경에 영향을 주는 환경 엔진(예를 들어, 도 2에 도시된 환경 엔진(208e))을 위한 것이다.
다양한 구현예들에서, 창발적 콘텐츠 엔진(300)은 신경망 시스템(310)(이하에서 간결함을 위해 "신경망(310)"), 신경망(310)을 훈련시키는(예를 들어, 구성하는) 신경망 훈련 시스템(330)(이하에서 간결성을 위해 "훈련 모듈(330)"), 및 신경망(310)에 가능한 목표들(360)을 제공하는 스크레이퍼(scraper)(350)를 포함한다. 다양한 구현예들에서, 신경망(310)은 목표들(254)(예를 들어, 소년 액션 모형 표현(108a)에 대한 목표들(254a), 소녀 액션 모형 표현(108b)에 대한 목표들(254b), 로봇 표현(108c)에 대한 목표들(254c), 드론 표현(108d)에 대한 목표들(254d), 및/또는 도 2에 도시된 환경 목표들(254e))을 생성한다.
일부 구현예들에서, 신경망(310)은 장단기 메모리(long short-term memory, LSTM) 재발성 신경망(recurrent neural network, RNN)을 포함한다. 다양한 구현예들에서, 신경망(310)은 가능한 목표들(360)의 함수에 기초하여 목표들(254)을 생성한다. 예를 들어, 일부 구현예들에서, 신경망(310)은 가능한 목표들(360)의 일부분을 선택함으로써 목표들(254)을 생성한다. 일부 구현예들에서, 신경망(310)은 목표들(254)이 가능한 목표들(360)과 어느 정도의 유사성 내에 있도록 목표들(254)을 생성한다.
다양한 구현예들에서, 신경망(310)은 SR 설정을 특징짓는 컨텍스트 정보(258)에 기초하여 목표들(254)을 생성한다. 도 3a에 예시된 바와 같이, 일부 구현예들에서, 컨텍스트 정보(258)는 목표-실행자 엔진들로부터의 인스턴스화된 장비 표현들(340), 인스턴스화된 캐릭터 표현들(342), 사용자-특정 장면/환경 정보(344), 및/또는 액션들(210)을 나타낸다.
일부 구현예들에서, 신경망(310)은 인스턴스화된 장비 표현들(340)에 기초하여 목표들(254)을 생성한다. 일부 구현예들에서, 인스턴스화된 장비 표현들(340)은 SR 설정에 위치된 장비 표현들을 지칭한다. 예를 들어, 도 1a 및 도 1b를 참조하면, 인스턴스화된 장비 표현들(340)은 SR 설정(106)에서의 로봇 표현(108c) 및 드론 표현(108d)을 포함한다. 일부 구현예들에서, 목표들(254)은 인스턴스화된 장비 표현들(340) 중 하나 이상과 상호작용하는 것을 포함한다. 예를 들어, 도 1a 및 도 1b를 참조하면, 일부 구현예들에서, 소년 액션 모형 표현(108a)에 대한 목표들(254a) 중 하나는 로봇 표현(108c)을 파괴하는 것을 포함하고, 소녀 액션 모형 표현(108b)에 대한 목표들(254b) 중 하나는 로봇 표현(108c)을 보호하는 것을 포함한다.
일부 구현예들에서, 신경망(310)은 인스턴스화된 장비 표현들(340)에 기초하여 각각의 캐릭터 표현에 대한 목표들(254)을 생성한다. 예를 들어, 도 1a 및 도 1b를 참조하면, SR 설정(106)이 로봇 표현(108c)을 포함하는 경우, 소년 액션 모형 표현(108a)에 대한 목표들(254a) 중 하나는 로봇 표현(108c)을 파괴하는 것을 포함한다. 그러나, SR 설정(106)이 로봇 표현(108c)을 포함하지 않는 경우, 소년 액션 모형 표현(108a)에 대한 목표(254a)는 SR 설정(106) 내에서 평화를 유지하는 것을 포함한다.
일부 구현예들에서, 신경망(310)은 SR 설정에서 인스턴스화되는 다른 장비 표현들에 기초하여 각각의 장비 표현에 대한 목표들(254)을 생성한다. 예를 들어, 도 1a 및 도 1b를 참조하면, SR 설정(106)이 로봇 표현(108c)을 포함하는 경우, 드론 표현(108d)에 대한 목표들(254d) 중 하나는 로봇 표현(108c)을 보호하는 것을 포함한다. 그러나, SR 설정(106)이 로봇 표현(108c)을 포함하지 않는 경우, 드론 표현(108d)에 대한 목표(254d)는 SR 설정(106)의 중심에서 호버링하는 것을 포함한다.
일부 구현예들에서, 신경망(310)은 인스턴스화된 캐릭터 표현들(342)에 기초하여 목표들(254)을 생성한다. 일부 구현예들에서, 인스턴스화된 캐릭터 표현들(342)은 SR 설정에 위치된 캐릭터 표현들을 지칭한다. 예를 들어, 도 1a 및 도 1b를 참조하면, 인스턴스화된 캐릭터 표현들(342)은 SR 설정(106)에서의 소년 액션 모형 표현(108a) 및 소녀 액션 모형 표현(108b)을 포함한다. 일부 구현예들에서, 목표들(254)은 인스턴스화된 캐릭터 표현들(342) 중 하나 이상과 상호작용하는 것을 포함한다. 예를 들어, 도 1a 및 도 1b를 참조하면, 일부 구현예들에서, 드론 표현(108d)에 대한 목표들(254d) 중 하나는 소녀 액션 모형 표현(108b)을 따라가는 것을 포함한다. 유사하게, 일부 구현예들에서, 로봇 표현(108c)에 대한 목표들(254c) 중 하나는 소년 액션 모형 표현(108a)을 피하는 것을 포함한다.
일부 구현예들에서, 신경망(310)은 SR 설정에서 인스턴스화되는 다른 캐릭터 표현들에 기초하여 각각의 캐릭터 표현에 대한 목표들(254)을 생성한다. 예를 들어, 도 1a 및 도 1b를 참조하면, SR 설정(106)이 소년 액션 모형 표현(108a)을 포함하는 경우, 소녀 액션 모형 표현(108b)에 대한 목표들(254b) 중 하나는 소년 액션 모형 표현(108a)을 잡는 것을 포함한다. 그러나, SR 설정(106)이 소년 액션 모형 표현(108a)을 포함하지 않는 경우, 소녀 액션 모형 표현(108b)에 대한 목표(254b)는 SR 설정(106) 주위를 나는 것을 포함한다.
일부 구현예들에서, 신경망(310)은 SR 설정에서 인스턴스화되는 캐릭터 표현들에 기초하여 각각의 장비 표현에 대한 목표들(254)을 생성한다. 예를 들어, 도 1a 및 도 1b를 참조하면, SR 설정(106)이 소녀 액션 모형 표현(108b)을 포함하는 경우, 드론 표현(108d)에 대한 목표들(254d) 중 하나는 소녀 액션 모형 표현(108b)을 따라가는 것을 포함한다. 그러나, SR 설정(106)이 소녀 액션 모형 표현(108b)을 포함하지 않는 경우, 드론 표현(108d)에 대한 목표(254d)는 SR 설정(106)의 중심에서 호버링하는 것을 포함한다.
일부 구현예들에서, 신경망(310)은 사용자-특정 장면/환경 정보(344)에 기초하여 목표들(254)을 생성한다. 일부 구현예들에서, 사용자-특정 장면/환경 정보(344)는 SR 설정의 경계들을 나타낸다. 그러한 구현예들에서, 신경망(310)은 목표들(254)이 SR 설정의 경계들 내에서 충족될(예를 들어, 달성될) 수 있도록 목표들(254)을 생성한다. 일부 구현예들에서, 신경망(310)은 사용자-특정 장면/환경 정보(344)에 의해 나타내어진 환경에 더 적합한 가능한 목표들(252)의 일부분을 선택함으로써 목표들(254)을 생성한다. 예를 들어, 신경망(310)은 사용자-특정 장면/환경 정보(344)가 SR 설정 내의 하늘이 맑음을 나타낼 때, 드론 표현(108d)에 대한 목표들(254d) 중 하나를 소년 액션 모형 표현(108a) 위에 호버링하도록 설정한다. 일부 구현예들에서, 신경망(310)은 사용자-특정 장면/환경 정보(344)에 의해 나타내어진 환경에 적합하지 않은 가능한 목표들(252)의 일부분을 선택하는 것을 보류한다. 예를 들어, 신경망(310)은 사용자-특정 장면/환경 정보(344)가 SR 설정 내의 강풍을 나타낼 때 드론 표현(108d)에 대한 호버링 목표를 보류한다.
일부 구현예들에서, 신경망(310)은 다양한 목표-실행자 엔진들에 의해 제공되는 액션들(210)에 기초하여 목표들(254)을 생성한다. 일부 구현예들에서, 신경망(310)은, 목표-실행자 엔진들에 의해 제공되는 액션들(210)을 고려할 때 목표들(254)이 충족될(예를 들어, 달성될) 수 있도록 목표들(254)을 생성한다. 일부 구현예들에서, 신경망(310)은 액션들(210)에 대해 가능한 목표들(360)을 평가한다. 그러한 구현예들에서, 신경망(310)은 액션들(210)에 의해 충족될 수 있는 가능한 목표들(360)을 선택하고, 액션들(210)에 의해 충족될 수 없는 가능한 목표들(360)을 선택하는 것을 보류함으로써 목표들(360)을 생성한다.
다양한 구현예들에서, 훈련 모듈(330)은 신경망(310)을 훈련시킨다. 일부 구현예들에서, 훈련 모듈(330)은 신경망(NN) 파라미터들(312)을 신경망(310)에 제공한다. 일부 구현예들에서, 신경망(310)은 뉴런들의 모델(들)을 포함하고, 신경망 파라미터들(312)은 모델(들)에 대한 가중치들을 표현한다. 일부 구현예들에서, 훈련 모듈(330)은 신경망 파라미터들(312)을 생성하고(예를 들어, 초기화/개시하고), 신경망(310)에 의해 생성된 목표들(254)에 기초하여 신경망 파라미터들(312)을 정제(refine)(예를 들어, 조정)한다.
일부 구현예들에서, 훈련 모듈(330)은 신경망(310)을 훈련시키기 위해 강화 학습을 이용하는 보상 함수(332)를 포함한다. 일부 구현예들에서, 보상 함수(332)는 바람직한 목표들(254)들에 긍정적인 보상을 할당하고 바람직하지 않은 목표들(254)에 부정적인 보상을 할당한다. 일부 구현예들에서, 훈련 단계 동안, 훈련 모듈(330)은 목표들(254)을 검증된 목표들을 포함하는 검증 데이터와 비교한다. 그러한 구현예들에서, 목표들(254)이 검증된 목표들과 어느 정도의 유사성 내에 있는 경우, 훈련 모듈(330)은 신경망(310)을 훈련시키는 것을 중지한다. 그러나, 목표들(254)이 검증된 목표들과 어느 정도의 유사성 내에 있지 않은 경우, 훈련 모듈(330)은 계속해서 신경망(310)을 훈련시킨다. 다양한 구현예들에서, 훈련 모듈(330)은 훈련 동안/훈련 후에 신경망 파라미터들(312)을 갱신한다.
다양한 구현예들에서, 스크레이퍼(350)는 콘텐츠(352)를 스크레이핑하여 가능한 목표들(360)을 식별한다. 일부 구현예들에서, 콘텐츠(352)는 영화들, 비디오 게임들, 만화들, 소설들, 및 블로그들 및 코멘터리(commentary)와 같은 팬-제작된 콘텐츠를 포함한다. 일부 구현예들에서, 스크레이퍼(350)는 콘텐츠(352)를 스크레이핑하기 위해 콘텐츠 스크레이핑과 연관된 다양한 방법들, 시스템들, 및/또는 디바이스들을 이용한다. 예를 들어, 일부 구현예들에서, 스크레이퍼(350)는 콘텐츠(352)를 스크레이핑하고 가능한 목표들(360)을 식별하기 위해 텍스트 패턴 매칭, 하이퍼 텍스트 마크업 언어(HTML) 파싱, 문서 객체 모델(DOM) 파싱, 이미지 프로세싱, 및 오디오 분석 중 하나 이상을 이용한다.
일부 구현예들에서, 목표-실행자는 표현의 유형(362)과 연관되고, 신경망(310)은 목표-실행자와 연관된 표현의 유형(362)에 기초하여 목표들(254)을 생성한다. 일부 구현예들에서, 표현의 유형(362)은 목표-실행자(예를 들어, 색상, 자료 유형, 텍스처 등)의 물리적 특성들을 나타낸다. 그러한 구현예들에서, 신경망(310)은 목표-실행자의 물리적 특성들에 기초하여 목표들(254)을 생성한다. 일부 구현예들에서, 표현의 유형(362)은 목표-실행자의 행동 특성들(예를 들어, 공격성, 친화성 등)을 나타낸다. 그러한 구현예들에서, 신경망(310)은 목표-실행자의 행동 특성들에 기초하여 목표들(254)을 생성한다. 예를 들어, 신경망(310)은 공격성을 포함하는 행동 특성들에 응답하여 파괴적이 되는 목표를 소년 액션 모형 표현(108a)에 대해 생성한다. 일부 구현예들에서, 표현의 유형(362)은 목표-실행자의 기능적 및/또는 수행 특성(예를 들어, 세기, 속도, 유연성 등)을 나타낸다. 그러한 구현예들에서, 신경망(310)은 목표-실행자의 기능적 특성들에 기초하여 목표들(254)을 생성한다. 예를 들어, 신경망(310)은 속도를 포함한 행동 특성들에 응답하여 항상 움직이는 목표를 소녀 액션 모형 표현(108b)에 대해 생성한다. 일부 구현예들에서, 표현의 유형(362)은 사용자 입력에 기초하여 결정된다. 일부 구현예들에서, 표현의 유형(362)은 규칙들의 조합에 기초하여 결정된다.
일부 구현예들에서, 신경망(310)은 특정 목표들(364)에 기초하여 목표들(254)을 생성한다. 일부 구현예들에서, 특정 목표들(364)은 캐릭터/장비가 유래된 허구의 소재를 제어하는(예를 들어, 소유하거나 생성한) 엔티티에 의해 제공된다. 예를 들어, 일부 구현예들에서, 특정 목표들(364)은 영화 제작자, 비디오 게임 크리에이터, 소설가 등에 의해 제공된다. 일부 구현예들에서, 가능한 목표들(360)은 특정 목표들(364)을 포함한다. 이와 같이, 일부 구현예들에서, 신경망(310)은 특정 목표들(364)의 일부분을 선택함으로써 목표들(254)을 생성한다.
일부 구현예들에서, 목표-실행자에 대한 가능한 목표들(360)은 제한기(370)에 의해 제한된다. 일부 구현예들에서, 제한기(370)는 신경망(310)이 가능한 목표들(360)의 일부분을 선택하는 것을 제한한다. 일부 구현예들에서, 제한기(370)는 캐릭터/장비가 유래된 허구의 소재를 소유하는(예를 들어, 제어하는) 엔티티에 의해 제어된다. 예를 들어, 일부 구현예들에서, 제한기(370)는 영화 제작자, 비디오 게임 크리에이터, 소설가 등에 의해 제어된다. 일부 구현예들에서, 제한기(370) 및 신경망(310)은 상이한 엔티티들에 의해 제어/동작된다. 일부 구현예들에서, 제한기(370)는 신경망(310)이 허구의 소재들을 제어하는 엔티티에 의해 한정된 기준을 벗어나는 목표들을 생성하는 것을 제한한다.
도 3b는 일부 구현예들에 따른 신경망(310)의 블록도이다. 도 3b의 예에서, 신경망(310)은 입력 층(320), 제1 은닉 층(322), 제2 은닉 층(324), 분류 층(326), 및 목표 선택 모듈(328)을 포함한다. 신경망(310)이 일례로서 2개의 은닉 층들을 포함하지만, 당업자는 본 개시내용으로부터 하나 이상의 추가적인 은닉 층들이 또한 다양한 구현예들에서 존재한다는 것을 인식할 것이다. 추가적인 은닉 층들을 추가하는 것은 계산 복잡성 및 메모리 요구들을 증가시키지만, 일부 응용들에 대한 성능을 향상시킬 수 있다.
다양한 구현예들에서, 입력 층(320)은 다양한 입력들을 수신한다. 일부 구현예들에서, 입력 층(320)은 입력으로서 컨텍스트 정보(258)를 수신한다. 도 3b의 예에서, 입력 층(320)은 인스턴스화된 장비(340), 인스턴스화된 캐릭터들(342), 사용자-특정 장면/환경 정보(344), 및 목표-실행자 엔진들로부터의 액션들(210)을 나타내는 입력들을 수신한다. 일부 구현예들에서, 신경망(310)은 인스턴스화된 장비(340), 인스턴스화된 캐릭터들(342), 사용자-특정 장면/환경 정보(344), 및/또는 액션들(210)에 기초하여 특징 스트림(예를 들어, 특징 벡터)을 생성하는 특징 추출 모듈(도시되지 않음)을 포함한다. 그러한 구현예들에서, 특징 추출 모듈은 특징 스트림을 입력 층(320)에 제공한다. 이와 같이, 일부 구현예들에서, 입력 층(320)은 인스턴스화된 장비(340), 인스턴스화된 캐릭터들(342), 사용자-특정 장면/환경 정보(344), 및 액션들(210)의 함수인 특징 스트림을 수신한다. 다양한 구현예들에서, 입력 층(320)은 다수의 LSTM 로직 요소들(320a)을 포함하는데, 이들은 또한 당업자에 의해 뉴런들 또는 뉴런들의 모델들로도 지칭된다. 일부 그러한 구현예들에서, 특징들로부터 LSTM 로직 요소들(320a)로의 입력 행렬은 직사각 행렬들을 포함한다. 이러한 행렬의 크기는 특징 스트림 내에 포함된 특징들의 수의 함수이다.
일부 구현예들에서, 제1 은닉 층(322)은 다수의 LSTM 로직 요소들(322a)을 포함한다. 도 3b의 예에 예시된 바와 같이, 제1 은닉 층(322)은 입력 층(320)으로부터 그의 입력들을 수신한다.
일부 구현예들에서, 제2 은닉 층(324)은 다수의 LSTM 로직 요소들(324a)을 포함한다. 일부 구현예들에서, LSTM 로직 요소들(324a)의 수는 입력 층(320) 내의 LSTM 로직 요소들(320a)의 수 또는 제1 은닉 층(322) 내의 LSTM 로직 요소들(322a)의 수와 동일하거나 유사하다. 도 3b의 예에 예시된 바와 같이, 제2 은닉 층(324)은 제1 은닉 층(322)으로부터 그의 입력들을 수신한다. 추가적으로 또는 대안적으로, 일부 구현예들에서, 제2 은닉 층(324)은 입력 층(320)으로부터 그의 입력들을 수신한다.
일부 구현예들에서, 분류 층(326)은 다수의 LSTM 로직 요소들(326a)을 포함한다. 일부 구현예들에서, LSTM 로직 요소들(326a)의 수는 입력 층(320) 내의 LSTM 로직 요소들(320a)의 수, 제1 은닉 층(322) 내의 LSTM 로직 요소들(322a)의 수, 또는 제2 은닉 층(324) 내의 LSTM 로직 요소들(324a)의 수와 동일하거나 유사하다. 일부 구현예들에서, 분류 층(326)은 가능한 액션들(360)의 수와 대략 동일한 다수의 출력들을 생성하는 다항 로지스틱 함수(예를 들어, 소프트-맥스 함수(soft-max function))의 구현예를 포함한다. 일부 구현예들에서, 각각의 출력은 대응하는 목표가 액션들(210)에 의해 충족되는 확률 또는 신뢰도 측정치를 포함한다. 일부 구현예들에서, 출력들은 제한기(370)의 동작에 의해 배제된 목표들을 포함하지 않는다.
일부 구현예들에서, 목표 선택 모듈(328)은 분류 층(326)에 의해 제공된 상위 N개의 목표 후보들을 선택함으로써 목표들(254)을 생성한다. 일부 구현예들에서, 상위 N개의 목표 후보들은 액션들(210)에 의해 충족될 가능성이 있다. 일부 구현예들에서, 목표 선택 모듈(328)은 목표들(254)을 렌더링 및 디스플레이 파이프라인(예를 들어, 도 2에 도시된 디스플레이 엔진(260))에 제공한다. 일부 구현예들에서, 목표 선택 모듈(328)은 목표들(254)을 하나 이상의 목표-실행자 엔진들(예를 들어, 도 2에 도시된 소년 액션 모형 캐릭터 엔진(208a), 소녀 액션 모형 캐릭터 엔진(208b), 로봇 장비 엔진(208c), 드론 장비 엔진(208d), 및/또는 환경 엔진(208e))에 제공한다.
도 4a는 SR 설정들에 대한 콘텐츠를 생성하는 방법(400)의 흐름도 표현이다. 다양한 구현예들에서, 방법(400)은 비일시적 메모리 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 갖는 디바이스(예를 들어, 제어기(102), 도 1a에 도시된 전자 디바이스(103), 및/또는 도 1b에 도시된 HMD(104))에 의해 수행된다. 일부 구현예들에서, 방법(400)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(400)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 코드를 실행하는 프로세서에 의해 수행된다. 간략하게, 일부 구현예들에서, 방법(400)은 목표-실행자를 SR 설정에 인스턴스화하는 단계, SR 설정에 대한 컨텍스트 정보를 획득하는 단계, 목표-실행자에 대한 목표를 생성하는 단계, SR 설정에 대한 환경 조건들을 설정하는 단계, 목표에 기초하여 목표-실행자에 대한 초기 조건들을 확립하는 단계, 및 목표에 기초하여 목표-실행자를 수정하는 단계를 포함한다.
블록(410)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 방법(400)은 목표-실행자를 SR 설정에 인스턴스화하는 단계(예를 들어, 소년 액션 모형 표현(108a), 소녀 액션 모형 표현(108b), 로봇 표현(108c), 및 드론 표현(108d)을 도 1a 및 도 1b에 도시된 SR 설정(106)에 인스턴스화하는 단계)를 포함한다. 일부 구현예들에서, 목표-실행자는 미리정의된 목표들의 세트(예를 들어, 도 3a에 도시된 가능한 목표들(360))와 시각적 렌더링 속성들의 세트에 의해 특징지어진다.
블록(420)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 방법(400)은 SR 설정을 특징짓는 컨텍스트 정보(예를 들어, 도 2 내지 도 3b에 도시된 컨텍스트 정보(258))를 획득하는 단계를 포함한다. 일부 구현예들에서, 방법(400)은 (예를 들어, 사용자로부터) 컨텍스트 정보를 수신하는 단계를 포함한다.
블록(430)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 방법(400)은 미리정의된 목표들의 세트, 컨텍스트 정보, 및 목표-실행자에 대한 미리정의된 액션들의 세트의 함수에 기초하여 목표-실행자에 대한 목표를 생성하는 단계를 포함한다. 예를 들어, 도 2를 참조하면, 방법(400)은 가능한 목표들(252), 컨텍스트 정보(258), 및 액션들(210)에 기초하여 목표들(254)을 생성하는 단계를 포함한다.
블록(440)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 방법(400)은 목표-실행자에 대한 목표에 기초하여 SR 설정에 대한 환경 조건들을 설정하는 단계를 포함한다. 예를 들어, 도 2를 참조하면, 방법(400)은 환경 목표들(254e)(예를 들어, 환경 조건들)을 생성하는 단계를 포함한다.
블록(450)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 방법(400)은 목표-실행자에 대한 목표에 기초하여 목표-실행자에 대한 초기 조건들 및 액션들의 현재 세트를 확립하는 단계를 포함한다. 예를 들어, 도 2를 참조하면, 방법(400)은 다양한 목표-실행자들(예를 들어, 캐릭터 표현들, 장비 표현들 및/또는 환경)에 대한 초기/종료 상태들(256)을 확립하는 단계를 포함한다.
블록(460)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 방법(400)은 목표에 기초하여 목표-실행자를 수정하는 단계를 포함한다. 예를 들어, 도 2를 참조하면, 일부 구현예들에서, 방법(400)은 목표들(254)을 디스플레이 엔진(260)에 그리고/또는 하나 이상의 목표-실행자 엔진들에 제공하는 단계를 포함한다.
도 4b를 참조하면, 블록(410a)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 방법(400)은 소스 자료(예를 들어, 도 3a에 도시된 콘텐츠(352), 예를 들어 영화들, 책들, 비디오 게임들, 만화들, 및/또는 소설들)로부터 미리정의된 목표들의 세트(예를 들어, 도 3a에 도시된 가능한 목표들(360))를 획득하는 단계를 포함한다. 블록(410b)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 방법(400)은 미리정의된 목표들의 세트에 대해 소스 자료를 스크레이핑하는 단계를 포함한다.
블록(410c)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 표현의 유형(예를 들어, 도 3a에 도시된 표현의 유형(362))에 기초하여 미리정의된 목표들의 세트를 결정하는 단계를 포함한다. 블록(410d)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 사용자-특정 구성에 기초하여 미리정의된 목표들의 세트를 결정하는 단계를 포함한다(예를 들어, 도 3a에 도시된 표현의 유형(362)은 사용자 입력에 기초하여 결정됨).
블록(410e)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 객체 소유자에 의해 특정된 한계에 기초하여 미리정의된 목표들을 결정하는 단계를 포함한다. 예를 들어, 도 3a를 참조하면, 일부 구현예들에서, 방법(400)은 제한기(370)의 동작에 의해 신경망(310)에 의해 선택가능한 가능한 목표들(360)을 제한하는 단계를 포함한다.
블록(410f)에 의해 표현되는 바와 같이, 일부 구현예들에서, SR 설정(예를 들어, 도 1a 및 도 1b에 도시된 SR 설정(106))은 현실 세계 장면의 시뮬레이션된 대체물인 SR 설정을 포함한다.
블록(410g)에 의해 표현되는 바와 같이, 일부 구현예들에서, SR 설정(예를 들어, 도 1a 및 도 1b에 도시된 SR 설정(106))은 현실 세계 장면의 수정된 버전인 증강 장면을 포함한다.
블록(410h)에 의해 표현되는 바와 같이, 일부 구현예들에서, 목표-실행자는 영화, 비디오 게임, 만화, 소설 등 중 하나 이상으로부터의 캐릭터의 표현(예를 들어, 도 1a 및 도 1b에 도시된 소년 액션 모형 표현(108a) 및/또는 소녀 액션 모형 표현(108b))이다.
블록(410i)에 의해 표현되는 바와 같이, 일부 구현예들에서, 목표-실행자는 영화, 비디오 게임, 만화, 소설 등 중 하나 이상으로부터의 장비의 표현(예를 들어, 도 1a 및 도 1b에 도시된 로봇 표현(108c) 및/또는 드론 표현(108d))이다.
블록(410j)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 이미지로부터 시각적 렌더링 속성들의 세트를 획득하는 단계를 포함한다. 예를 들어, 일부 구현예들에서, 방법(400)은 (예를 들어, 이미지 프로세싱과 연관된 디바이스들, 방법들 및/또는 시스템들을 이용함으로써) 이미지를 캡처하는 단계 및 이미지로부터 시각적 렌더링 속성들을 추출하는 단계를 포함한다.
도 4c를 참조하면, 블록(420a)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 컨텍스트 정보는 SR 설정에서 목표-실행자들이 인스턴스화되었는지 여부를 나타낸다. 블록(420b)에 의해 표현되는 바와 같이, 일부 구현예들에서, 컨텍스트 정보는 어느 캐릭터 표현들이 SR 설정에서 인스턴스화되었는지를 나타낸다(예를 들어, 컨텍스트 정보는 도 3a 및 도 3b에 도시된 인스턴스화된 캐릭터 표현(342)을 포함함). 블록(420c)에 의해 표현되는 바와 같이, 일부 구현예들에서, 컨텍스트 정보는 SR 설정에서 인스턴스화된 장비 표현들을 나타낸다(예를 들어, 컨텍스트 정보는 도 3a 및 도 3b에 도시된 인스턴스화된 장비 표현들(340)을 포함함).
블록(420d)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 컨텍스트 정보는 사용자-특정 장면 정보(예를 들어, 도 3a 및 도 3b에 도시된 사용자-특정 장면/환경 정보(344))를 포함한다. 블록(420e)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 컨텍스트 정보는 SR 설정의 영역(예를 들어, 풍경, 예를 들어, 산들, 강들 등과 같은 자연적인 아티팩트들)을 나타낸다. 블록(420f)에 의해 표현되는 바와 같이, 다양한 구현예들에서, 컨텍스트 정보는 SR 설정 내의 환경 조건들(예를 들어, 도 3a 및 도 3b에 도시된 사용자-특정 장면/환경 정보(344))을 나타낸다.
블록(420g)에 의해 표현되는 바와 같이, 일부 구현예들에서, 컨텍스트 정보는 현실 세계 장면의 메시 맵(예를 들어, 디바이스가 위치되는 현실 세계 장면의 상세한 표현)을 포함한다. 일부 구현예들에서, 메시 맵은 현실 세계 장면에 위치된 현실 세계 아티팩트들의 위치들 및/또는 치수들을 나타낸다.
도 4d를 참조하면, 블록(430a)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 신경망(예를 들어, 도 3a 및 도 3b에 도시된 신경망(310))을 이용하여 목표들을 생성하는 단계를 포함한다. 블록(430b)에 의해 표현되는 바와 같이, 일부 구현예들에서, 신경망은 신경망 파라미터들(예를 들어, 도 3a에 도시된 신경망 파라미터들(312))의 세트에 기초하여 목표들을 생성한다. 블록(430c)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 신경망에 의해 생성된 목표들에 기초하여 신경망 파라미터들을 조정(예를 들어, 도 3a에 도시된 목표들(254)에 기초하여 신경망 파라미터들(312)을 조정)하는 단계를 포함한다.
블록(430d)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 바람직한 목표들에 대해 긍정적인 보상을 할당하고 바람직하지 않은 목표들에 대해 부정적인 보상을 할당하는 보상 함수(예를 들어, 도 3a에 도시된 보상 함수(332))에 기초하여 신경망 파라미터들을 결정하는 단계를 포함한다. 블록(430e)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 강화 학습에 기초하여 신경망을 구성(예를 들어, 훈련)하는 단계를 포함한다. 블록(430f)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 영화들과 같은 비디오들, 소설들 및 만화들과 같은 책들, 및 비디오 게임들로부터 (예를 들어, 도 3a에 도시된 스크레이퍼(350)에 의해) 스크레이핑된 콘텐츠에 기초하여 신경망을 훈련시키는 단계를 포함한다.
블록(430g)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 제2 목표-실행자가 SR 설정에서 인스턴스화되는 경우 제1 목표를 생성하는 단계를 포함한다. 블록(430h)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 제3 목표-실행자가 SR 설정에서 인스턴스화되는 경우 제2 목표를 생성하는 단계를 포함한다. 보다 일반적으로, 다양한 구현예들에서, 방법(400)은 SR 설정에 존재하는 다른 목표-실행자들에 기초하여 목표-실행자에 대한 상이한 목표들을 생성하는 단계를 포함한다.
블록(430i)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 액션들의 세트를 고려해 볼 때, 목표가 충족될 가능성이 임계치보다 큰 경우 그 목표를 선택하는 단계를 포함한다. 블록(430j)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 액션들의 세트를 고려해 볼 때, 목표가 충족될 가능성이 임계치 미만인 경우, 그 목표를 선택하는 것을 보류하는 단계를 포함한다.
도 4e를 참조하면, 블록(440a)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 SR 설정 내의 온도 값, 습도 값, 압력 값 및 강수량 값 중 하나 이상을 설정하는 단계를 포함한다. 일부 구현예들에서, 방법(400)은 SR 설정에서 비 또는 눈을 내리는 단계를 포함한다. 블록(440b)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 SR 설정에 대한 주변 사운드 레벨 값(예를 들어, 데시벨 단위) 및 주변 조도 값(예를 들어, 루멘 단위) 중 하나 이상을 설정하는 단계를 포함한다. 블록(440c)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 SR 설정 내의 천체들의 상태들을 설정하는 단계(예를 들어, 일출 또는 일몰을 설정하는 단계, 보름달 또는 조각달을 설정하는 단계 등)를 포함한다.
블록(450a)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 목표-실행자들의 초기/종료 위치들을 확립하는 단계를 포함한다. 일부 구현예들에서, SR 설정은 지속기간과 연관된다. 그러한 구현예들에서, 방법(400)은 목표-실행자들이 지속기간의 시작 시에 또는 그 근처에서 점유하는 초기 위치들을 설정하는 단계 및/또는 목표-실행자들이 지속기간의 종료 시에 또는 그 근처에서 점유하는 종료 위치들을 설정하는 단계를 포함한다.
블록(450b)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 목표-실행자들에 대한 초기/종료 액션들을 확립하는 단계를 포함한다. 일부 구현예들에서, SR 설정은 지속기간과 연관된다. 그러한 구현예들에서, 방법(400)은 목표-실행자들이 지속기간의 시작 시에 또는 그 근처에서 수행하는 초기 액션들을 확립하는 단계 및/또는 목표-실행자들이 지속기간의 종료 시에 또는 그 근처에서 수행하는 종료 액션들을 확립하는 단계를 포함한다.
블록(460a)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 렌더링 및 디스플레이 파이프라인(예를 들어, 도 2에 도시된 디스플레이 엔진(260))에 목표들을 제공하는 단계를 포함한다. 블록(460b)에 의해 표현되는 바와 같이, 일부 구현예들에서, 방법(400)은 목표-실행자가 목표들을 충족하는 액션들을 수행하고 있는 것으로 보일 수 있도록 목표-실행자를 수정하는 단계를 포함한다.
도 5는 일부 구현예들에 따른 디바이스(예를 들어, 도 1a에 도시된 제어기(102), 전자 디바이스(103), 및/또는 도 1b에 도시된 HMD(104))의 하나 이상의 컴포넌트들이 인에이블된 서버 시스템(500)의 블록도이다. 소정의 특정 특징들이 예시되어 있지만, 당업자들은 본 개시내용으로부터 다양한 다른 특징들이 간결함을 위해, 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 구현예들에서, 서버 시스템(500)은 하나 이상의 프로세싱 유닛들(CPU들)(501), 네트워크 인터페이스(502), 프로그래밍 인터페이스(503), 메모리(504), 및 이들 및 다양한 다른 컴포넌트들을 상호접속시키기 위한 하나 이상의 통신 버스들(505)을 포함한다.
일부 구현예들에서, 네트워크 인터페이스(502)는 (예를 들어, 근거리 통신 또는 로컬 네트워크를 통해) 하나 이상의 로컬 디바이스들과 통신하도록 하고/하거나 하나 이상의 원격 디바이스들과 통신하도록(예를 들어, WiFi, 이더넷 등) 제공된다. 일부 구현예들에서, 하나 이상의 통신 버스들(505)은 시스템 컴포넌트들 사이의 통신을 상호접속시키고 제어하는 회로부를 포함한다. 메모리(504)는 고속 랜덤 액세스 메모리, 예를 들어 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들을 포함하고, 비휘발성 메모리, 예를 들어 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스들을 포함할 수도 있다. 메모리(504)는 선택적으로, 하나 이상의 CPU들(501)로부터 원격으로 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(504)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
일부 구현예들에서, 메모리(504) 또는 메모리(504)의 비일시적 컴퓨터 판독가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 선택적인 운영 체제(506), 신경망(310), 훈련 모듈(330), 스크레이퍼(350) 및 가능한 목표들(360)을 포함하는 그것들의 서브세트를 저장한다. 본 명세서에 기술된 바와 같이, 신경망(310)은 신경망 파라미터들(312)과 연관된다. 본 명세서에 기술된 바와 같이, 훈련 모듈(330)은 (예를 들어, 신경망 파라미터들(312)을 결정함으로써) 신경망(310)을 훈련(예를 들어, 구성)하는 보상 함수(332)를 포함한다. 본 명세서에 기술된 바와 같이, 신경망(310)은 SR 설정에서 목표-실행자들에 대한 및/또는 SR 설정의 환경에 대한 목표들(예를 들어, 도 2 내지 도 3b에 도시된 목표들(254))을 결정한다. 일부 구현예들에서, 메모리(504)는 도 8a 내지 도 8c에서의 창발적 콘텐츠 아키텍처들의 적어도 일부분을 포함한다.
일부 구현예들에서, 전자 디바이스(500)는, 선택적으로, 눈 추적기, 터치 감응형 표면, 키패드 또는 키보드, 가속도계, 자이로스코프, 관성 측정 유닛(IMU), 그립 센서, 하나 이상의 마이크로폰들, 하나 이상의 버튼들, 하나 이상의 내부-대면 이미지 센서들, 하나 이상의 외부-대면 이미지 센서들, 하나 이상의 깊이 센서들, 하나 이상의 생리학적 센서들(예를 들어, 심장 박동 센서, 포도당 레벨 검출기 등), 하나 이상의 환경 센서들(예를 들어, 기압계, 습도 센서, 온도계, 주변광 탐지기 등), 및/또는 이와 유사한 것과 같은 하나 이상의 입력 디바이스들을 포함한다. 일부 구현예들에서, 전자 디바이스(500)는, 선택적으로, 햅틱 엔진, 피부 전단 엔진(skin shear engine), 하나 이상의 디스플레이들, 하나 이상의 스피커들, 및/또는 이와 유사한 것과 같은 하나 이상의 출력/피드백 디바이스들을 포함한다.
도 6a는 일부 구현예들에 따른 조건부 의존적 SR 콘텐츠 스레드들(600)의 블록도이다. 소정의 특정 특징들이 예시되어 있지만, 당업자들은 본 개시내용으로부터 다양한 다른 특징들이 간결함을 위해, 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 구현예들에서, 조건부 의존적 SR 콘텐츠 스레드들(600)은 영화, TV 에피소드, 소설, 연극, 또는 운동 이벤트, 의례, 대관식, 취임식, 콘서트, 오페라, 극장 공연, 전투, 또는 다른 대규모 사건과 같은 이벤트와 연관된 관련 콘텐츠 스레드들(예를 들어, 스토리들, 내러티브(narrative)들, 등)의 메시(mesh)에 대응한다.
일부 구현예들에 따르면, 조건부 의존적 SR 콘텐츠 스레드들(600)은 상호 관련 스토리들의 트리, 메시, 또는 웹에서 함께 링크되는 복수의 콘텐츠 스레드들(때때로 본 명세서에서 간결함을 위해 "스토리들" 또는 "스토리 노드(node)들"로도 지칭됨)을 포함한다. 일부 구현예들에서, 조건부 의존적 SR 콘텐츠 스레드들(600) 내의 복수의 스토리들 각각은 이벤트의 특정 관점에 대응한다. 일부 구현예들에서, 조건부 의존적 SR 콘텐츠 스레드들(600) 내의 복수의 스토리들 각각은, 예를 들어, 전투 계획들 또는 전투 순서와 같은 이벤트에 대한 계획들, 전투의 과정과 결과들과 같은 이벤트에 대한 실제 자료(ground truth), 역사적 기록들 및 책들, 영화들, 비디오 게임들, 소설들, 및/또는 이와 유사한 것을 포함하는 소스 자산들/자료들에 기초한다.
일부 구현예들에 따르면, 조건부 의존적 SR 콘텐츠 스레드들(600)의 루트(root)는 수퍼-매크로 스토리(610)를 포함하며, 이는 이어서 하나 이상의 매크로 스토리들(620a, 620b, ..., 620n)(때때로 본 명세서에서 총괄하여 매크로 스토리들(620)로 지칭됨)과 연관된다. 도 6a에 도시된 바와 같이, 일부 구현예들에서, 매크로 스토리들(620) 각각은 하나 이상의 서브-매크로 스토리들과 연관된다. 예를 들어, 매크로 스토리들(620a)은 서브-매크로 스토리들(632a, 632b, ..., 632n)(때때로 본 명세서에서 총괄하여 서브-매크로 스토리들(632)로 지칭됨)과 연관되고, 매크로 스토리(620n)는 서브-매크로 스토리들(634a, 634 b, ..., 634n)(때때로 본 명세서에서 총괄하여 서브-매크로 스토리들(634)로 지칭됨)과 연관된다.
도 6a에 도시된 바와 같이, 일부 구현예들에서, 서브-매크로 스토리들 각각은 하나 이상의 마이크로 스토리들과 연관된다. 예를 들어, 서브-매크로 스토리(634a)는 마이크로 스토리들(640a, ..., 640n)(때때로 본 명세서에서 총괄하여 마이크로 스토리들(640)로 지칭됨)과 연관된다. 일부 구현예들에서, 마이크로 스토리들(640) 각각은 하나 이상의 서브-마이크로 스토리들과 연관되고, 이어서, 서브-마이크로 스토리들 각각은 하나 이상의 수퍼-마이크로 스토리들과 연관된다. 도 6에 도시된 바와 같이, 예를 들어, 마이크로 스토리(640a)는 서브-마이크로 스토리(650)와 연관되고, 서브-마이크로 스토리(650)는 수퍼-마이크로 스토리(660)와 연관된다.
일례로서, 수퍼-매크로 스토리(610)는 역사적 기록들에서 전쟁의 특정 전투와 연관된 전체 스토리에 대응한다. 이러한 예를 계속 참조하면, 매크로 스토리들(620)은 특정 전투에 수반되는 국가들에 대한 다양한 군사 지부들에 대응한다. 이와 같이, 이러한 예에서, 매크로 스토리(620n)는 해군 군사 지부에 대응한다. 이러한 예를 계속 참조하면, 서브-매크로 스토리들(634)은 개별 선박들에 대응한다. 이와 같이, 이러한 예에서, 서브-매크로 스토리(634a)는 특정 수송 선박에 대응한다.
도 6a에 도시된 바와 같이, 항공기 편대에 대응하는 서브-매크로 스토리(632n)와 서브-매크로 스토리(634a) 사이에 소정 관계(635)가 존재한다. 이러한 예에서, 항공기 편대는 (다른 수송 선박 중에서도) 특정 수송 선박에 대한 항공 지원 및 방어를 제공한다.
이러한 예를 계속 참조하면, 마이크로 스토리들(640)은 특정 수송 선박에 의해 수송되는 복수의 수륙양용 상륙선에 대응한다. 이러한 예를 계속 참조하면, 서브-마이크로 스토리(650)는 특정 수송 선박에 의해 수송되는 복수의 수륙양용 상륙선 중 각자의 수륙양용 상륙선에 할당된 보병 또는 해병의 소대에 대응한다. 이러한 예를 계속 참조하면, 수퍼-마이크로 스토리(660)는 각자의 수륙양용 상륙선에 할당된 특정 보병 또는 해병에 대응한다.
일부 구현예들에서, 사용자에게 수퍼-매크로 스토리(610)(예를 들어, 특정 전투)의 전지적 3인칭 뷰와 연관된 SR 콘텐츠가 제시된다. 사용자는 조건부 의존적 SR 콘텐츠 스레드들(600) 내의 선택된 관점, 예컨대, 매크로 스토리(620n)와 연관된 해군 군사 지부의 관점, 서브-매크로 스토리(634a)와 연관된 특정 수송 선박의 관점, 각자의 수륙양용 상륙선(640a)의 관점, 서브-마이크로 스토리(650)와 연관된 보병 또는 해병들의 소대의 관점, 또는 수퍼-마이크로 스토리(660)와 연관된 각자의 수륙양용 상륙선에 할당된 특정 보병 또는 해병의 관점과 연관된 SR 콘텐츠를 보기 위해 조건부 의존적 SR 콘텐츠 스레드들(600) 내의 다른 관점으로 전환할 수 있다.
일부 구현예들에 따르면, 특정 노드 및 연관된 자식 노드들을 배제하는 이벤트의 시뮬레이션을 보기 위해 조건부 의존적 SR 콘텐츠 스레드들(600)의 소정 노드가 사용자에 의해 제거될 수 있다. 일부 구현예들에 따르면, 특정 노드 및 연관된 자식 노드들을 포함하는 이벤트의 시뮬레이션을 보기 위해 소정 노드가 사용자에 의해 조건부 의존적 SR 콘텐츠 스레드들(600)에 추가될 수 있다.
도 6b는 일부 구현예들에 따른 목표-실행자(OE) 캡슐화와 연관된 타임라인(675)의 블록도이다. 소정의 특정 특징들이 예시되어 있지만, 당업자들은 본 개시내용으로부터 다양한 다른 특징들이 간결함을 위해, 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 도 6b에 도시된 바와 같이, 타임라인(675)은 복수의 기간들 또는 시점들(T0, T1, T2, T3)에서 최하위 레벨 OE(684)의 관점으로부터의 OE 캡슐화의 상태를 예시한다.
일부 구현예들에서, OE 캡슐화는 컨텍스트 정보에 기초하여 캡슐화되거나 내포되는 복수의 조건적인, 관련된, 상관된, 연관된, 또는 의존적인 OE들을 포함한다. 일부 구현예들에서, 각각의 OE는 합성 현실(SR) 설정 내의 캐릭터에 대응한다. 일례로, OE 캡슐화는 각각 M명의 해병들을 실은 N개의 수륙양용 상륙선들을 포함하는 수송 선박과 같은 관련 캐릭터들 또는 엔티티들의 세트에 대응한다. 이러한 예에서, 최하위 레벨 OE는 결국 수륙양용 상륙선 내에 캡슐화/내포된 자신의 해병대 내에 캡슐화/내포된 개별 해병이다. 이러한 예를 계속 참조하면, 수륙양용 상륙선이 수송 선박 내에 캡슐화/내포된다.
일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화될 때, 제1 OE는 제2 OE와 연관된다. 일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화될 때, 제1 OE는 제2 OE와 상관된다. 일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화될 때, 제1 OE는 제2 OE와 관련된다. 일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화될 때, 제1 OE는 제2 OE에 의존적이다. 다시 말하면, 제1 OE가 제2 OE 내에 캡슐화되기 때문에 제1 OE에는 제2 OE의 컨텍스트 및 속성들과 일치하는 목표들이 제공되고 제2 OE의 컨텍스트 및 속성들과 일치하는 액션들을 수행한다.
도 6b에 도시된 바와 같이, 시간(T0)에서, OE 캡슐화(685a)는 결국 OE(680) 내에 캡슐화/내포된 OE(682) 내에 캡슐화/내포된 OE(684)를 포함한다. 예를 들어, 시간(T0)에서, 수륙양용 상륙을 하기 위해 해안에 접근하는 동안, OE 캡슐화(685a)는 결국 OE(680)(예를 들어, 수륙양용 상륙선) 내에 캡슐화/내포된 OE(682)(예를 들어, 해병대) 내에 캡슐화/내포된 OE(684)(예를 들어, 개별 해병)를 포함한다.
일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화/내포될 때, 제1 OE에는 그것이 캡슐화된 제2 OE의 콘텍스트에 기초한 목표가 제공되고, 이어서, 제1 OE는 그 컨텍스트와 일치하는 액션들을 수행한다. 예를 들어, 수송 선박 상의 해병에는, 수송 선박 상에 있는 동안, 정찰 순찰을 수행하기 위한 정찰 목표 또는 타깃을 폭격하기 위한 제압 사격 목표가 주어지지 않는다. 일부 구현예들에서, 하위 레벨 OE는 그의 캡슐화에서 상위 레벨 OE들과 일치하는 액션들을 수행한다. 일부 구현예들에서, 하나 이상의 다른 하위 레벨 OE들이 제1 OE 내에 캡슐화된다. 일부 구현예들에서, 제2 OE는 하나 이상의 다른 상위 레벨 OE들 내에 캡슐화된다.
일부 구현예들에서, 시스템은 이벤트의 각각의 기간에 대한 OE 캡슐화들의 세트를 결정한다. 이와 같이, OE 캡슐화는 제거 또는 추가되는 OE들(층들)과 같이, 이벤트의 과정에 걸쳐 변경될 수 있다. 일례로서, 수송(T0) 동안, 특정 전투 캡슐화는 수송 선박 -> 수륙양용 공격 차량 -> 해병대 -> 개별 해병으로 시작된다. 이러한 예를 계속 참조하면, 해안에 접근하는 동안(T1), OE 캡슐화는 수륙양용 공격 차량 -> 해병대 -> 개별 해병으로 변화한다. 이러한 예를 계속 참조하면, 해안으로 진격하는 동안(T2), OE 캡슐화는 해병대 -> 개별 해병으로 다시 변화한다. 이러한 예를 계속 참조하면, OE 캡슐화는, 해병들이 해안에 도달한 후에 차량을 찾고 진입할 수 있을 때(T3) 다시 변화하며, 이는 차량 -> 해병대의 분대 -> 개별 해병으로 캡슐화를 변화시킨다.
도 6b에 도시된 바와 같이, 시간(T1)에서, OE 캡슐화(685b)는 OE(682) 내에 캡슐화/내포된 OE(684)를 포함한다. 예를 들어, 시간(T1)에서, 해안에 상륙 후, OE 캡슐화(685b)는 OE(682)(예를 들어, 해병대) 내에 캡슐화/내포된 OE(684)(예를 들어, 개별 해병)를 포함한다.
도 6b에 도시된 바와 같이, 시간(T2)에서, OE 캡슐화(685c)는 OE(684)를 포함한다. 예를 들어, 시간(T2)에서, 해안에 상륙하고 임무를 완료한 후, OE 캡슐화(685c)는 OE(682)와 별도의 OE(684)(예를 들어, 개별 해병)를 포함한다.
도 6b에 도시된 바와 같이, 시간(T3)에서, OE 캡슐화(685d)는 OE(686) 내에 캡슐화/내포된 OE(684)를 포함한다. 예를 들어, 시간(T3)에서, 해안에 상륙하고 지정집결지점에 도달한 후, OE 캡슐화(685d)는 OE(686)(예를 들어, 대피 헬리콥터 또는 트럭) 내에 캡슐화/내포된 OE(684)(예를 들어, 개별 해병)를 포함한다.
도 6c는 일부 구현예들에 따른 목표-실행자(OE) 캡슐화와 연관된 타임라인(695)의 블록도이다. 소정의 특정 특징들이 예시되어 있지만, 당업자들은 본 개시내용으로부터 다양한 다른 특징들이 간결함을 위해, 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 타임라인(695)은 도 6b에서의 타임라인(675)과 관련된다. 시간(695)은 기간들 또는 시점들(T0, T1, T2, T3)에 걸쳐 OE 캡슐화가 변화한 후에도 OE들의 병행적 기능을 예시한다. 다시 말하면, 도 6c는 시간 경과에 따라 OE 캡슐화(685a, 685b)로부터 제거되는 OE들(680, 682)이 OE(684)와 병행하여 계속 기능하는 것을 예시한다.
도 7a 내지 도 7c는 일부 구현예들에 따른 예시적인 SR 설정들(700a, 700b)을 예시한다. 관련 특징들이 도시되어 있지만, 당업자는 본 개시내용으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 예시적인 구현예들의 더 많은 관련 양태들을 불명료하게 하지 않도록 하기 위해 다양한 다른 특징들이 예시되지 않았음을 인식할 것이다.
도 7a는 예시적인 SR 설정(700a)을 예시한다. 도 7a에 도시된 바와 같이, 물리적 설정(706)은 테이블(702)을 포함한다. 이러한 예에서, 물리적 설정(706)의 일부분은 전자 디바이스(103)의 시야(704) 내에 있고, 시야(704)는 전자 디바이스(103)(예를 들어, 태블릿 또는 모바일 폰)의 외부 대면 이미지 센서와 연관된다. 다시 말하면, 사용자는 전자 디바이스(103)를 통해 측면 또는 원근 배향으로부터 테이블(702)을 보고 있다. 이와 같이, 테이블(702)을 포함하는 물리적 설정의 일부분(706)은 전자 디바이스(103)의 디스플레이(705) 상에 디스플레이된다(예를 들어, 물리적 설정(706)의 라이브 비디오 스트림 또는 비디오 패스-스루). 도 7a에 도시된 바와 같이, 전자 디바이스(103)는 테이블(702) 및 벽 상에 중첩되거나 그와 합성된 SR 콘텐츠를 포함하는 SR 설정(106)을 디스플레이(705) 상에 디스플레이한다.
도 7a에 도시된 바와 같이, 예를 들어, 테이블(702) 상에 오버레이되거나 중첩된 (예를 들어, 특정 전투와 연관된) SR 콘텐츠는 SR 콘텐츠 요소들(712)(예를 들어, 침몰한 선박들, 침몰한 수륙양용 상륙선, 수중기뢰들, 및/또는 이와 유사한 것)을 갖는 제1 SR 콘텐츠 층(710a)(예를 들어, 수중 층), SR 콘텐츠 요소들(714)(예를 들어, 보병 또는 해병들의 소대들을 태운 수륙양용 상륙선, 수송 선박들, 및/또는 이와 유사한 것)을 갖는 제2 AR 콘텐츠 층(710b)(예를 들어, 수면 층), 및 SR 콘텐츠 요소들(716)(예를 들어, 항공기, 비행선들, 포탄들 및/또는 이와 유사한 것)을 갖는 제3 SR 콘텐츠 층(710c)(예를 들어, 공중 층)을 포함한다. 도 7a에 도시된 바와 같이, 예를 들어, 벽 상에 오버레이된 SR 콘텐츠(720)는 SR 콘텐츠 요소들(722)(예를 들어, 지상의 방어 위치, 고정포들, 및/또는 이와 유사한 것)을 포함한다. 당업자는 도 7a의 SR 콘텐츠 층들 및 연관된 SR 콘텐츠 요소들의 수, 구조, 치수들 및 배치가 임의적이며 다양한 다른 구현예들에서 변경될 수 있다는 것을 이해할 것이다.
도 7b 및 도 7c는 예시적인 SR 설정(700b)을 예시한다. 도 7b 및 도 7c에 도시된 바와 같이, 일례로서, 사용자(10)는 물리적 설정(706)(예를 들어, 사용자의 거실)의 광학적 투시를 갖는 HMD(104)를 자신의 머리에 착용한다(예를 들어, AR-인에이블형 안경). 도 7b 및 도 7c에 도시된 바와 같이, 다른 예로서, 사용자(10)는 물리적 설정(706)(예를 들어, 사용자의 거실)의 비디오 패스-스루를 갖는 HMD(104)를 자신의 머리에 착용한다(예를 들어, SR-인에이블형 헤드셋).
도 7b에 도시된 바와 같이, (예를 들어, 기간(T1)과 연관된) 상태(725)에서, HMD(104)는 테이블(702) 및 물리적 설정의 벽들(706) 상에 SR 콘텐츠를 중첩시키거나 오버레이한다. 이러한 예에서, 상태(725)를 참조하면, 테이블(702) 상에 오버레이된 (예를 들어, 특정 전투와 연관된) SR 콘텐츠는 SR 콘텐츠 요소들(712)(예를 들어, 침몰한 선박들, 침몰한 수륙양용 상륙선, 수중기뢰들, 및/또는 이와 유사한 것)을 갖는 제1 SR 콘텐츠 층(710a)(예를 들어, 수중 층), SR 콘텐츠 요소들(714)(예를 들어, 보병 또는 해병들의 소대들을 태운 수륙양용 상륙선, 수송 선박들, 및/또는 이와 유사한 것)을 갖는 제2 SR 콘텐츠 층(710b)(예를 들어, 수면 층), 및 SR 콘텐츠 요소들(716)(예를 들어, 항공기, 비행선들, 포탄들 및/또는 이와 유사한 것)을 갖는 제3 SR 콘텐츠 층(710c)(예를 들어, 공중 층)을 포함한다. 도 7b에 도시된 바와 같이, 상태(725)를 참조하면, 전방 벽 상에 오버레이된 SR 콘텐츠 요소들(720)은 SR 콘텐츠 요소들(722)(예를 들어, 지상의 방어 위치, 고정포들 및/또는 이와 유사한 것)을 포함하고, 측벽 상에 오버레이된 SR 콘텐츠 요소들(730)은 주변 또는 환경 상세 사항들을 포함한다. 당업자는 도 7b의 SR 콘텐츠 층들 및 연관된 SR 콘텐츠 요소들의 수, 구조, 치수들 및 배치가 임의적이며 다양한 다른 구현예들에서 변경될 수 있다는 것을 이해할 것이다.
도 7b에 도시된 바와 같이, 상태(725)는 전체 이벤트(예를 들어, 특정 전투)의 전지적 3인칭 뷰와 같은, 이벤트의 제1 SR 뷰에 대응한다. 제3 AR 콘텐츠 층(710c)(예를 들어, 공중 층)을 선택하는 사용자(10)로부터의 입력(예를 들어, 음성 명령, 제스처 등)을 수신하는 것에 응답하여, HMD(104)는 제3 SR 콘텐츠 층(710c)(예를 들어, 공중 층)과 연관된 이벤트의 제2 SR 뷰를 제시한다.
도 7c에 도시된 바와 같이, (예를 들어, 기간(T2)과 연관된) 상태(735)에서, HMD(104)는 제3 AR 콘텐츠 층(710c)의 선택에 응답하여 테이블(702) 상에 중첩되거나 오버레이된 SR 콘텐츠를 갱신한다. 도 7c에 도시된 바와 같이, 상태(735)에서, HMD(104)는 제3 SR 콘텐츠 층(710c)에 대응하는 SR 콘텐츠를 테이블(702) 상에 중첩시키거나 오버레이한다. 이러한 예에서, 상태(735)를 참조하면, 테이블(702) 상에 오버레이된 (예를 들어, 특정 전투와 연관된) SR 콘텐츠는 SR 콘텐츠 요소들(716)(예를 들어, 항공기, 비행선들, 포탄들 및/또는 이와 유사한 것)을 갖는 제3 SR 콘텐츠 층(710c)(예를 들어, 공중 층)을 포함한다. 예를 들어, 도 7c에서, 제3 SR 콘텐츠 층(710c)은 전투 현장에서의 방어 위치들을 공격하기 위해 접근 중인 항공기 편대의 중심(center of gravity)에 대응한다. 다른 예로서, 상태(735)에서, 사용자(10)에게 전투 현장에서의 방어 위치들을 공격하기 위해 접근 중인 항공기 편대 중의 특정 조종사의 관점이 제시될 수 있다(도시되지 않음).
도 8a는 일부 구현예들에 따른 창발적 콘텐츠 아키텍처(800)의 블록도이다. 소정의 특정 특징들이 예시되어 있지만, 당업자들은 본 개시내용으로부터 다양한 다른 특징들이 간결함을 위해, 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 구현예들에서, 관련된(예를 들어, 캡슐화/내포된) OE 엔진들(810a, 810b, 810c, 810d)(때때로 본 명세서에서 총괄하여 OE 엔진들(810)로 지칭됨)(예를 들어, 도 2의 캐릭터 엔진들(208a 내지 208e)과 유사함)의 목표-실행자(OE) 캡슐화는 목표 생성기(807)로부터 유래된 목표들에 기초하여 액션들을 수행한다.
일례로서, OE 캡슐화는 수송 선박과 연관된 최고 레벨 OE 엔진(810a), 수송 선박에 의해 수송되는 수륙양용 상륙선과 연관된 제2 레벨 OE 엔진(810b), 수륙양용 상륙선에 할당된 보병 또는 해병의 소대와 연관된 제3 레벨 OE 엔진(810c), 및 특정 보병 또는 해병과 연관된 최저 레벨 OE 엔진(810d)을 포함한다. 이와 같이, OE 캡슐화 내의 다양한 OE 엔진들은 (예를 들어, 도 6a의 스토리 노드들을 참조하여 기술된 바와 같이) 이벤트와 연관된 조건부 의존적 SR 콘텐츠 스레드들 내의 연결된 노드들에 대응하기 때문에 어떤 방식으로든 관련된다. 일부 구현예들에 따르면, 창발적 콘텐츠 아키텍처(800)는 일관된 콘텐츠를 위해 OE 캡슐화 내의 다양한 OE 엔진들에 대한 동시 액션들을 생성하도록 구조화된다. 다양한 구현예들에서, 당업자는 창발적 콘텐츠 아키텍처(800)가 임의의 수의 OE 캡슐화들을 포함할 수 있다는 것을 이해할 것이다. 일부 구현예들에서, OE들의 OE 캡슐화들과 관련되는 특성으로 인해, 동일한 OE 엔진이 2개 이상의 OE 캡슐화들 사이에서 공유될 수 있다.
일부 구현예들에 따르면, 목표 생성기(807)(예를 들어, 신경망 또는 다른 AI 구조물)는 미리결정된 목표들, 이전 목표들, 소스 자산들, 및/또는 다른 정보의 모음에 기초하여 각각의 OE에 대한 기간별 목표들을 생성한다(예를 들어, 도 2의 창발적 콘텐츠 엔진(250)과 유사함). 일부 구현예들에 따르면, 캡슐화 관리자(825)는 OE 캡슐화(예를 들어, 관련 OE들의 중첩 또는 레이어링)를 결정한다. 예를 들어, 캡슐화 관리자(825)는 이벤트와 연관된 조건부 의존적 SR 콘텐츠 스레드들 내의 스토리 노드들 사이의 연결에 기초하여 OE 캡슐화를 결정한다. 일부 구현예들에서, 캡슐화 관리자(825)는 목표들, 소스 자산들, 및/또는 다른 정보에 기초하여 시간 경과에 따라 OE 캡슐화를 수정한다(예를 들어, OE들의 층들을 추가하거나 제거함).
일부 구현예들에서, 디멀티플렉서(845)는 OE 기준 당 목표들을 그들 각자의 OE 엔진들(810)로 라우팅한다. 일부 구현예들에서, OE 엔진들(810)은 그들의 목표들에 기초하여 액션들을 수행한다. 일부 구현예들에 따르면, 이벤트와 연관된 SR 콘텐츠(예를 들어, 소스 자산들, 이어서 창발적 콘텐츠에 기초한 전투 또는 다른 이벤트의 SR 재구성 또는 시뮬레이션)를 사용자에게 제시하기 위해, 소정 기간에 대한 액션들이 캡처되고, 렌더링 및 디스플레이를 위해 디스플레이 파이프라인(855)에 제공된다. 일부 구현예들에 따르면, 소정 기간에 대한 액션들이 캡처되고, 훈련 피드백(865)으로서 OE 엔진들(810)에 제공된다. 일부 구현예들에 따르면, 액션들은 목표 생성기(807)에 제공되고, 이는 이어서 (예를 들어, 도 2의 창발적 콘텐츠 엔진(250)을 참조하여 전술된 바와 같이) 기간별로 각각의 OE에 대한 갱신된 목표를 생성한다.
도 8b는 일부 구현예들에 따른 창발적 콘텐츠 아키텍처(850)의 블록도이다. 소정의 특정 특징들이 예시되어 있지만, 당업자들은 본 개시내용으로부터 다양한 다른 특징들이 간결함을 위해, 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 구현예들에서, 관련된(예를 들어, 캡슐화/내포된) OE 엔진들(810a, 810b, 810c, 810d)(때때로 본 명세서에서 총괄하여 OE 엔진들(810)로 지칭됨)(예를 들어, 도 2의 캐릭터 엔진들(208a 내지 208e)과 유사함)의 목표-실행자(OE) 캡슐화는, 시간(T0)에서, 소스 자산들(805)로부터 유래된 초기 목표들에 기초하여 액션들을 수행하고, 시간 (T1)에서 그리고 그 후로 계속하여, 창발적 콘텐츠 엔진(250)으로부터 유래된 갱신된 목표들에 기초하여 액션들을 수행한다.
일부 구현예들에 따르면, 캡슐화 관리자(825)는 OE 캡슐화(예를 들어, 관련 OE들의 중첩 또는 레이어링)를 결정한다. 예를 들어, 캡슐화 관리자(825)는 이벤트와 연관된 조건부 의존적 SR 콘텐츠 스레드들 내의 스토리 노드들 사이의 연결에 기초하여 OE 캡슐화를 결정한다. 일부 구현예들에서, 캡슐화 관리자(825)는 목표들, 소스 자산들, 및/또는 다른 정보에 기초하여 시간 경과에 따라 OE 캡슐화를 수정한다(예를 들어, OE들의 층들을 추가하거나 제거함).
일례로서, OE 캡슐화는 수송 선박과 연관된 최고 레벨 OE 엔진(810a), 수송 선박에 의해 수송되는 수륙양용 상륙선과 연관된 제2 레벨 OE 엔진(810b), 수륙양용 상륙선에 할당된 보병 또는 해병의 소대와 연관된 제3 레벨 OE 엔진(810c), 및 특정 보병 및 해병과 연관된 최저 레벨 OE 엔진(810d)을 포함한다. 이와 같이, OE 캡슐화 내의 다양한 OE 엔진들은 (예를 들어, 도 6a의 스토리 노드들을 참조하여 기술된 바와 같이) 이벤트와 연관된 조건부 의존적 SR 콘텐츠 스레드들 내의 연결된 노드들에 대응하기 때문에 어떤 방식으로든 관련된다. 일부 구현예들에 따르면, 창발적 콘텐츠 아키텍처(850)는 일관된 창발적 콘텐츠를 위해 OE 캡슐화부 내의 다양한 OE 엔진들에 대한 동시 액션들을 생성하도록 구조화된다. 다양한 구현예들에서, 당업자는 창발적 콘텐츠 아키텍처(850)가 임의의 수의 OE 캡슐화들을 포함할 수 있다는 것을 이해할 것이다. 일부 구현예들에서, OE들의 OE 캡슐화들과 관련되는 특성으로 인해, 동일한 OE 엔진이 2개 이상의 OE 캡슐화들 사이에서 공유될 수 있다.
일부 구현예들에 따르면, 초기 목표들은 이벤트와 연관된 소스 자산들(805)(예를 들어, 이벤트에 대한 계획들(810a), 실제 자료(810b), 및 개인 계정들 등(810c))에 기초하여 스크레이퍼 엔진(820) 및 목표 생성기(830)의 동작들에 의해 생성된다. 일부 구현예들에서, 스크레이퍼 엔진(820)은 기간별로 각각의 OE(예를 들어, 소스 자산들(805)에서 식별된 캐릭터들)에 대한 추출된 액션들을 생성하기 위해 소스 자산들(805)에 대한 파싱 및 이해 동작들을 수행한다. 예를 들어, 일부 구현예들에서, 스크레이퍼 엔진(820)은 소스 자산들(805)로부터 액션들을 추출한다. 그 후에, 일부 구현예들에서, 목표 생성기(830)(예를 들어, 신경망 또는 다른 AI 구조물)는 기간별로 각각의 OE에 대한 초기 목표들을 생성한다.
일부 구현예들에 따르면, 멀티플렉서(835)는 초기 목표들 또는 갱신된 목표들 중 하나가 OE 캡슐화에 대한 입력들이 될 수 있게 한다. 일부 구현예들에서, 디멀티플렉서(845)는 OE 기준 당 목표들을 그들 각자의 OE 엔진들(810)로 라우팅한다. 일부 구현예들에서, OE 엔진들(810)은 그들의 목표들에 기초하여 액션들을 수행한다. 일부 구현예들에 따르면, 이벤트와 연관된 SR 콘텐츠(예를 들어, 소스 자산들, 이어서 창발적 콘텐츠에 기초한 전투 또는 다른 이벤트의 SR 재구성 또는 시뮬레이션)를 사용자에게 제시하기 위해, 소정 기간에 대한 액션들이 캡처되고, 렌더링 및 디스플레이를 위해 디스플레이 파이프라인(855)에 제공된다. 일부 구현예들에 따르면, 소정 기간에 대한 액션들이 캡처되고, 창발적 콘텐츠 엔진(250) 및 OE 엔진들(810)에 훈련 피드백(865)으로서 제공된다. 일부 구현예들에 따르면, 액션들은 창발적 콘텐츠 엔진(250)에 제공되고, 이는 이어서(예를 들어, 도 2의 창발적 콘텐츠 엔진(250)을 참조하여 전술된 바와 같이) 기간별로 각각의 OE에 대한 갱신된 목표를 생성한다.
도 8c는 일부 구현예들에 따른 창발적 콘텐츠 아키텍처(875)의 블록도이다. 소정의 특정 특징들이 예시되어 있지만, 당업자들은 본 개시내용으로부터 다양한 다른 특징들이 간결함을 위해, 그리고 본 명세서에 개시된 구현예들의 더 적절한 양태들을 불명확하게 하지 않기 위해 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 구현예들에서, OE 엔진들(860a, 860b, 860c, 860d)(때때로 본 명세서에서 총괄적으로 OE 엔진들(860)로 지칭됨)(예를 들어, 도 2의 캐릭터 엔진들(208a 내지 208e)과 유사함)은, 시간 (T0)에서, 소스 자산들(805)로부터 유래된 초기 목표들에 기초하여 액션들을 수행하고, 시간 (T1)에서 그리고 그 후로 계속하여, 창발적 콘텐츠 엔진(250)으로부터 유래된 갱신된 목표들에 기초하여 액션들을 수행한다.
일부 구현예들에 따르면, 초기 목표들은 소스 자산들(805)(예를 들어, 영화, TV 에피소드, 오디오 북, 소설, 잡지 기사 등)에 기초하여 스크레이퍼 엔진(820) 및 목표 생성기(830)의 동작들에 의해 생성된다. 일부 구현예들에서, 스크레이퍼 엔진(820)은 기간별로 각각의 OE(예를 들어, 소스 자산들(805)에서 식별된 캐릭터들)에 대한 추출된 액션들을 생성하기 위해 소스 자산들(805)에 대한 파싱 및 이해 동작들을 수행한다. 예를 들어, 일부 구현예들에서, 스크레이퍼 엔진(820)은 소스 자산들(805)로부터 액션들을 추출한다. 그 후에, 일부 구현예들에서, 목표 생성기(830)(예를 들어, 신경망 또는 다른 AI 구조물)는 기간별로 각각의 OE에 대한 초기 목표들을 생성한다.
일부 구현예들에 따르면, 멀티플렉서(835)는 초기 목표들 또는 갱신된 목표들 중 하나가 OE 엔진들(860)에 대한 입력들이 될 수 있게 한다. 일부 구현예들에서, 디멀티플렉서(845)는 OE 기준 당 목표들을 그들 각자의 OE 엔진들(860)로 라우팅한다. 일부 구현예들에서, OE 엔진들(860)은 그들의 목표들에 기초하여 액션들을 수행한다. 일부 구현예들에 따르면, 이벤트와 연관된 SR 콘텐츠(예를 들어, 소스 자산들, 이어서 창발적 콘텐츠에 기초한 전투 또는 다른 이벤트의 SR 재구성 또는 시뮬레이션)를 사용자에게 제시하기 위해, 소정 기간에 대한 액션들이 캡처되고, 렌더링 및 디스플레이를 위해 디스플레이 파이프라인(855)에 제공된다. 일부 구현예들에 따르면, 소정 기간에 대한 액션들이 캡처되고, 창발적 콘텐츠 엔진(250) 및 OE 엔진들(860)에 훈련 피드백(865)으로서 제공된다. 일부 구현예들에 따르면, 액션들은 창발적 콘텐츠 엔진(250)에 제공되고, 이는 이어서(예를 들어, 도 2의 창발적 콘텐츠 엔진(250)을 참조하여 전술된 바와 같이) 기간별로 각각의 OE에 대한 갱신된 목표를 생성한다.
도 9는 일부 구현예들에 따른, SR 설정 내의 목표-실행자(OE) 캡슐화를 인스턴스화하는 방법(900)의 흐름도 표현이다. 다양한 구현예들에서, 방법(900)은 비일시적 메모리 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 갖는 디바이스(예를 들어, 제어기(102), 도 1a에 도시된 전자 디바이스(103), 및/또는 도 1b에 도시된 HMD(104))에 의해 수행된다. 일부 구현예들에서, 방법(900)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(900)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 코드를 실행하는 프로세서에 의해 수행된다.
방법(900)은, 예를 들어, OE 캡슐화에서의 OE들에 대한 목표들을 생성하며, 이는 캡슐화의 컨텍스트와 일치하는 SR 설정에서의 관련된 플롯들을 생성한다(예를 들어, 수송 선박 상에 있는 동안, 해병은 수송 선박 컨텍스트와 일치하는 액션들을 수행함). 일례로서, 이벤트(예를 들어, 특정 전투)와 연관된 OE 캡슐화는 해군 -> 수송 선박 -> 수륙양용 공격 차량 -> 해병대 -> 개별 해병에 대응한다.
블록(9-1)에 의해 표현되는 바와 같이, 방법(900)은 속성들의 제1 세트(예를 들어, 시각적 렌더링 속성들, 가능한 액션들, 컨텍스트 정보 등)와 연관된 제1 OE 및 속성들의 제2 세트와 연관된 제2 OE를 SR 설정에 인스턴스화하는 단계를 포함하며, 제1 OE는 제2 OE 내에 캡슐화된다. 일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화될 때, 제1 OE는 제2 OE와 연관된다. 일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화될 때, 제1 OE는 제2 OE와 상관된다. 일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화될 때, 제1 OE는 제2 OE와 관련된다. 일부 구현예들에서, 제1 OE가 제2 OE 내에 캡슐화될 때, 제1 OE는 제2 OE에 의존적이다. 다시 말하면, 제1 OE가 제2 OE 내에 캡슐화되기 때문에 제1 OE에는 제2 OE의 컨텍스트 및 속성들과 일치하는 목표들이 제공되고 제2 OE의 컨텍스트 및 속성들과 일치하는 액션들을 수행한다. 일부 구현예들에서, 하위 레벨 OE는 그것이 캡슐화되는 상위 레벨 OE들과 일치하는 액션들을 수행한다. 일부 구현예들에서, 하나 이상의 다른 하위 레벨 OE들이 제1 OE 내에 캡슐화된다. 일부 구현예들에서, 제2 OE는 하나 이상의 다른 상위 레벨 OE들 내에 캡슐화된다.
일부 구현예들에서, 속성들은, 예를 들어, 전투 계획들과 같은 이벤트에 대한 계획들, 전투의 과정과 결과들과 같은 이벤트에 대한 실제 자료, 역사적 기록들 또는 회고록들, 각본들, 대본들, 텍스트 또는 오디오 북들, 영화들, 비디오 게임들, 소설들 등을 포함하는, 이벤트와 연관된 소스 자료/자산들로부터 추출된다. 일부 구현예들에서, 시스템은 각각의 기간에 대한 OE 캡슐화들의 세트를 결정한다(예를 들어, 도 6b 및 도 6c에 도시된 바와 같음). 이와 같이, OE 캡슐화는 제거 또는 추가되는 OE들(층들)과 같이, 이벤트의 과정에 걸쳐 변경될 수 있다. 일례로서, 수송(T0) 동안, 특정 전투 캡슐화는 수송 선박 -> 수륙양용 공격 차량 -> 해병대 -> 개별 해병으로 시작된다. 이러한 예를 계속 참조하면, 해안에 접근하는 동안(T1), OE 캡슐화는 수륙양용 공격 차량 -> 해병대 -> 개별 해병으로 변화한다. 이러한 예를 계속 참조하면, 해안으로 진격하는 동안(T2), OE 캡슐화는 해병대 -> 개별 해병으로 다시 변화한다. 이러한 예를 계속 참조하면, OE 캡슐화는, 해병들이 해안에 도달한 후에 차량을 찾고 진입할 수 있을 때(T3) 다시 변화하며, 이는 차량 -> 해병대의 분대 -> 개별 해병으로 캡슐화를 변화시킨다.
블록(9-2)에 의해 표현되는 바와 같이, 방법(900)은 속성들의 제1 세트 및 속성들의 제2 세트에 기초하여 제1 OE에 제1 목표를 제공하는 단계를 포함한다. 일부 구현예들에서, 제1 OE에는 그것이 캡슐화된 제2 OE의 콘텍스트에 기초한 목표가 제공되고, 이어서, 제1 OE는 그 컨텍스트와 일치하는 액션들을 수행한다. 예를 들어, 수송 선박 상의 해병에는, 수송 선박 상에 있는 동안, 정찰 순찰을 수행하기 위한 정찰 목표 또는 타깃을 폭격하기 위한 제압 사격 목표가 주어지지 않는다.
블록(9-3)에 의해 표현되는 바와 같이, 방법(900)은 속성들의 제2 세트에 기초하여 제2 OE에 제2 목표를 제공하는 단계를 포함하고, 제1 목표 및 제2 목표는 제1 시점과 제2 시점 사이의 제1 기간과 연관된다(예를 들어, 목표들은 특정 기간에 대해 유효하거나 활성임). 일부 구현예들에서, 목표들은 소스 자산들로부터 합성된 초기 목표들에 대응한다. 일부 구현예들에서, 목표들은 창발적 콘텐츠 엔진에 의해 매 기간마다 갱신된다. 일부 구현예들에서, OE 캡슐화들은 캡슐화에 OE들(층들)을 추가하거나 캡슐화로부터 제거하는 것과 같이, 캡슐화 관리자에 의해 매 기간마다 갱신된다. 일례에서, 제1 시점 및 제2 시점은 소스 콘텐츠 내의 장면에 대한 시작 및 종료 시간들에 대응한다. 다른 예로서, 제1 시점 및 제2 시점은 명령어 세트 등에서 자연적 구획점(break point)들에 대응한다. 또 다른 예로서, 제1 시점 및 제2 시점은 이벤트에 대한 시작 및 종료 상태들(예를 들어, 전투 전후의 병력들의 상태)에 대응한다. 따라서, 일부 구현예들에 따르면, 제1 시점 및 제2 시점은 목표들에 대한 북엔드들(book ends) 또는 이정표들을 제공한다.
일부 구현예들에서, 방법(900)은 소스 자산들/자료들(예를 들어, 이벤트와 연관된 영화, 책, 역사적 기록 등)에 기초하여 제1 목표 및 제2 목표를 합성하는 단계를 포함한다. 예를 들어, 소스 자산들은, 전투 계획들과 같은 이벤트에 대한 계획들, 전투의 과정과 결과들과 같은 이벤트에 대한 실제 자료, 역사적 기록들 또는 회고록들, 각본들, 대본들, 텍스트 또는 오디오 북들, 영화들, 비디오 게임들, 소설들 등에 대응한다. 예를 들어, 소스 자산들은 또한 스토리 또는 이벤트와 연관된 영역, 인프라구조, 차량들, 휴머노이드들, 동물들 등의 3D 모델들을 포함한다.
일부 구현예들에서, 방법(900)은 소스 자산들로부터 이벤트와 연관된 액션들의 세트를 추출하는 단계를 포함하고, 제1 목표 및 제2 목표는 액션들의 세트로부터 유래된다(예를 들어, 액션들의 세트는 책, 영화, 이벤트 등과 연관된 기본 플롯 포인트들, 예컨대 그의 시작 및 종료 상황들을 포함함). 일부 구현예들에서, 제1 목표 및 제2 목표는 액션들의 세트와 일치한다. 예를 들어, 액션들의 미리정의된 세트가 살인을 포함하지 않는다면, 목표는 살인하기일 수 없다. 예를 들어, 액션들의 세트가 이벤트에 대한 적어도 시작점 및 종점들(예를 들어, 북엔드들)을 포함하는 경우, 목표는 캐릭터를 시작점에서 종점까지 유지하도록 유래된다. 예를 들어, 캐릭터들은 지적재산(IP) 또는 디지털 권한 관리(DRM)-제한된 범위를 "벗어난" 액션들을 수행할 수 없다.
일부 구현예들에서, 제1 목표 및 제2 목표는 신경망을 이용함으로써 생성된다. 예를 들어, 신경망은 신경망 파라미터들(예를 들어, 가중치들)의 세트에 기초하여 제1 목표 및 제2 목표를 생성한다. 예를 들어, 신경망 파라미터들은 보상 함수에 의해 결정된다. 일부 구현예들에서, 제1 목표 및 제2 목표는 목표들을 생성하는 신경망의 파라미터들을 조정하는 훈련 모듈에 제공된다. 예를 들어, 훈련 모듈은 바람직한 액션들에 대해 긍정적인 보상을 할당하고 바람직하지 않은 액션들에 대해 부정적인 보상을 할당하는 보상 함수를 포함한다. 예를 들어, 훈련 모듈은 신경망을 구성하기 위해 강화 학습을 이용한다. 예를 들어, 훈련 모듈은 신경망을 훈련시키기 위해 팬-생성 콘텐츠(예를 들어, 블로그 포스트들), 캐논(canon) 비디오, 소설들, 책들, 만화들 및/또는 비디오 게임들을 이용한다.
블록(9-4)에 의해 표현되는 바와 같이, 방법(900)은 제1 목표에 기초하여 제1 OE에 대한 제1 기간과 연관된 액션들의 제1 세트를 생성하는 단계를 포함한다. 블록(9-5)에 의해 표현되는 바와 같이, 방법(900)은 제2 목표에 기초하여 제2 OE에 대한 제1 기간과 연관된 액션들의 제2 세트를 생성하는 단계를 포함한다. 예를 들어, 도 8a를 참조하면, OE 엔진들(810)은 목표 생성기(807)로부터의 목표들에 기초하여 액션들을 수행한다.
블록(9-6)에 의해 표현되는 바와 같이, 방법(900)은 제1 OE에 의해 수행된 액션들의 제1 세트 및 제2 OE에 의해 수행된 액션들의 제2 세트를 포함하는 SR 설정을 디스플레이하도록 렌더링하는 단계를 포함한다. 일부 구현예들에서, SR 설정은 이벤트와 연관된다. 예를 들어, 이벤트는 운동 이벤트, 콘서트, 전투, 또는 다른 대규모 사건에 대응한다. 예를 들어, 도 8a를 참조하면, 디스플레이 파이프라인(855)은 사용자에게 SR 콘텐츠를 제시하기 위해 제1 기간에 대해 OE들에 의해 수행된 액션들을 렌더링한다.
일부 구현예들에서, 방법(900)은 SR 설정을 특징짓는 컨텍스트 정보를 획득하는 단계를 포함한다. 예를 들어, 컨텍스트 정보는 SR 설정 내에 인스턴스화된 모든 OE들 및 OE 캡슐화들을 포함한다. 예를 들어, 컨텍스트 정보는 사용자-특정 장면/환경 정보를 포함한다. 예를 들어, 컨텍스트 정보는 인스턴스화된 캐릭터들 및 장비 자산들을 포함한다. 예를 들어, 컨텍스트 정보는 인스턴스화될 다른 캐릭터들의 아이덴티티들을 포함한다. 예를 들어, 컨텍스트 정보는 사용자의 환경에 존재하는 객체들(예를 들어, 책상)에 대한 메시 맵들을 포함한다.
일부 구현예들에서, 방법(900)은 소스 자산들에 기초하여 SR 설정에 대한 가상 환경 조건들을 설정하는 단계를 포함한다. 일부 구현예들에서, 가상 환경 조건들은 영역 조건들, 날씨 조건들, 조명 조건들 및 환경 사운드들 중 하나 이상을 포함한다. 일부 구현예들에서, 방법(900)은 SR 설정의 상이한 시뮬레이션들을 테스트하기 위해 사용자 입력들에 기초하여 영역 및/또는 환경 조건들을 변경하는 단계를 포함한다. 예를 들어, 이벤트와 연관된 영역 및/또는 날씨는, 변경된 영역 및/또는 날씨에 따라 이벤트의 결과가 어떻게 변경될 수 있는지를 보기 위해 그의 이력 파라미터들로부터 변경될 수 있다(예를 들어, 이력 이벤트에 대한 여름 날씨 대신에 시뮬레이션된 겨울 날씨, 또는 이력 이벤트에 대한 경사진 거친 영역 대신에 시뮬레이션된 평평한 영역).
일부 구현예들에서, 방법(900)은 특정 OE의 사용자 선택을 수신하는 단계, 및 이에 응답하여, 특정 OE에 의해 수행된 액션들과 연관된 SR 콘텐츠를 디스플레이하는 단계를 포함한다. 예를 들어, 사용자는 선택된 OE의 "눈들을 통해 볼" 수 있고, 선택적으로, 선택된 OE의 적어도 일부 양태들, 예컨대 그의 움직임들을 제어할 수 있다.
일부 구현예들에서, 방법(900)은 다음 기간에 대해, 제1 OE에 대한 목표를 속성들의 제1 세트 및 속성들의 제2 세트, 그리고 또한 새로운 OE의 속성들에 기초하여 갱신하는 단계를 포함한다. 예를 들어, 제3 OE 층이 OE 캡슐화에 추가되며, 이는 제1 OE에 대한 액션들 및 목표들을 추가로 제약한다. 일부 구현예들에서, 새로운 층은 제2 OE보다 상위이거나 동일한 제1 OE보다 상위 레벨 층이다. 예를 들어, 도 8a를 참조하면, 캡슐화 관리자(825)는 OE 캡슐화 내에 추가 OE 엔진을 추가함으로써 OE 캡슐화를 갱신한다.
일부 구현예들에서, 방법(900)은 다음 기간에 대해 속성들의 제1 세트의 함수가 되도록 제1 OE에 대한 목표를 갱신하는 단계를 포함한다. 예를 들어, 제2 OE 층은 제거되어, 제1 OE에 대한 새로운 액션들 및 목표들을 개방한다. 예를 들어, 도 8a를 참조하면, 캡슐화 관리자(825)는 OE 캡슐화 내의 OE 엔진들(810) 중 하나를 제거함으로써 OE 캡슐화를 갱신한다.
일부 구현예들에서, 방법(900)은 SR 설정 내의 상이한 시뮬레이션들을 테스트하기 위해 OE들을 추가/제거하는 단계를 포함한다. 예를 들어, 수송 선박이 전형적으로 N개의 수륙양용 상륙선을 갖는 경우, 전투의 매크로 또는 마이크로 결과가 어떻게 변화할 수 있는지를 확인하기 위해 N-1 또는 N+1개의 수륙양용 상륙선 내에서 시뮬레이션을 실행한다. 예를 들어, SR 설정 내의 전체 OE 캡슐화들 및/또는 개별 OE들을 제거한다. 일부 구현예들에서, OE들 중 하나는 미리결정된 기준(예를 들어, 사기(morale) 기준, 자기 보호 기준 등)이 충족될 때 그의 목표에 불일치하는 액션들을 수행한다. 예를 들어, 병사는, 미리결정된 기준이 충족되는 경우, 자신의 목표에 일치하는 액션들을 수행하는 것을 보류하고, 대신에 자신의 위치를 버린다.
일부 구현예들에서, 방법(900)은 제3 OE 및 제4 OE를 포함하는 제2 OE 캡슐화를 인스턴스화하는 단계를 포함한다. 예를 들어, 제3 OE 또는 제4 OE 중 적어도 하나는 제1 OE 캡슐화 및 제2 OE 캡슐화 둘 모두에 포함된다.
도 10은 일부 구현예들에 따른, SR 설정 내의 목표-실행자(OE) 캡슐화에 대한 콘텐츠를 초기화하고 생성하는 방법(1000)의 흐름도 표현이다. 다양한 구현예들에서, 방법(1000)은 비일시적 메모리 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 갖는 디바이스(예를 들어, 제어기(102), 도 1a에 도시된 전자 디바이스(103), 및/또는 도 1b에 도시된 HMD(104))에 의해 수행된다. 일부 구현예들에서, 방법(1000)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(1000)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 코드를 실행하는 프로세서에 의해 수행된다.
블록(10-1)에 의해 표현되는 바와 같이, 방법(1000)은 이벤트와 연관된 소스 자산들을 획득하는 단계를 포함한다. 예를 들어, 이벤트는 운동 이벤트, 콘서트, 전투, 또는 다른 대규모 사건에 대응한다. 예를 들어, 소스 자산들은, 전투 계획들과 같은 이벤트에 대한 계획들, 전투의 과정과 결과들과 같은 이벤트에 대한 실제 자료, 역사적 기록들 및 책들, 영화들, 비디오 게임들, 소설들 등에 대응한다. 예를 들어, 소스 자산들은 또한 스토리 또는 이벤트와 연관된 영역, 인프라구조, 차량들, 휴머노이드들, 동물들 등의 3D 모델들을 포함한다.
블록(10-2)에 의해 표현되는 바와 같이, 방법(1000)은 소스 자산들에 기초하여 OE 캡슐화를 식별하는 단계를 포함하고, OE 캡슐화는 제1 OE 및 제2 OE를 포함한다. 예를 들어, OE 캡슐화는 각각 M명의 해병들을 실은 N개의 수륙양용 상륙선들을 포함하는 수송 선박과 같은 관련 캐릭터들 또는 엔티티들의 세트에 대응한다. 일부 구현예들에서, OE들은 휴머노이드들, 차량들, 안드로이드들, 로봇들, 동물들 등과 같은 이벤트와 연관된 캐릭터들에 대응한다. 예를 들어, 도 8b를 참조하면, 캡슐화 관리자(825)는 이벤트와 연관된 소스 자산들에 기초하여 OE 엔진들(810)을 포함하는 OE 캡슐화를 결정한다.
블록(10-3)에 의해 표현되는 바와 같이, 방법(1000)은, 소스 자산들에 기초하여, 이벤트 동안 제1 OE 및 제2 OE에 의해 수행되는 액션들의 세트를 추출하는 단계를 포함한다. 예를 들어, 액션들의 세트는 이벤트에 대한 각본 또는 대본으로부터 유래된 각각의 OE에 대한 액션 시퀀스들에 대응한다. 일부 구현예들에서, 디바이스는 이벤트에 대한 각본을 합성한다. 일부 구현예들에서, 디바이스는 액션들의 시퀀스를 생성하는 캐릭터 엔진으로부터 OE들에 대한 액션들의 시퀀스 또는 잠재적 액션들의 세트를 수신한다. 일부 구현예들에서, 디바이스는 액션들의 시퀀스를 나타내는 사용자 입력을 수신한다. 예를 들어, 액션들의 세트는 관련 캐릭터들의 세트에 대한 이동 궤적, 무기들 또는 다른 관련 장비의 작동, 대화 등을 포함한다. 예를 들어, 도 8b를 참조하면, 스크레이퍼 엔진(820)은 이벤트 동안 OE들에 의해 수행되는 액션들의 세트를 추출한다.
블록(10-4)에 의해 표현되는 바와 같이, 방법(1000)은 이벤트와 연관된 소스 자산들로부터 추출된 액션들의 세트에 기초하여 OE 캡슐화에 대한 목표들의 초기 세트를 합성하는 단계를 포함하며, 목표들의 초기 세트는 제2 OE에 대한 제2 목표와 일치하는 제1 OE에 대한 제1 목표를 포함한다. 예를 들어, 도 8b를 참조하면, 목표 생성기(830)는 추출된 액션들의 세트에 기초하여 목표들의 초기 세트를 합성한다.
예를 들어, 목표들의 초기 세트는 OE 캡슐화 내의 OE들이 함께 행동하고 상충하지 않도록 한다 - 관련된 그룹으로부터 벗어나게 행동할 수 없음. 일부 구현예들에서, 목표들의 초기 세트는 OE 캡슐화 내의 각각의 OE에 대한 목표를 포함한다. 일부 구현예들에서, 목표들의 초기 세트는 액션들의 세트와 일치한다. 예를 들어, 액션들의 미리정의된 세트가 살인을 포함하지 않는다면, 목표는 살인하기일 수 없다. 예를 들어, 액션들의 세트가 이벤트에 대한 적어도 시작점 및 종점들(예를 들어, 북엔드들)을 포함하는 경우, 목표는 캐릭터를 시작점에서 종점까지 유지하도록 유래된다. 예를 들어, 캐릭터들은 지적재산(IP) 또는 디지털 권한 관리(DRM)-제한된 범위를 "벗어난" 액션들을 수행할 수 없다.
일부 구현예들에서, 목표들의 초기 세트를 합성하는 단계는 신경망을 이용하는 단계를 포함한다. 예를 들어, 신경망은 신경망 파라미터들(예를 들어, 가중치들)의 세트에 기초하여 목표들의 초기 세트를 생성한다. 예를 들어, 신경망 파라미터들은 보상 함수에 의해 결정된다.
일부 구현예들에서, 목표들의 초기 세트는 목표를 생성하는 신경망의 파라미터들을 조정하는 훈련 모듈에 제공된다. 예를 들어, 훈련 모듈은 바람직한 액션들에 대해 긍정적인 보상을 할당하고 바람직하지 않은 액션들에 대해 부정적인 보상을 할당하는 보상 함수를 포함한다. 예를 들어, 훈련 모듈은 신경망을 구성하기 위해 강화 학습을 이용한다. 예를 들어, 훈련 모듈은 신경망을 훈련시키기 위해 팬-생성 콘텐츠(예를 들어, 블로그 포스트들), 캐논 비디오, 소설들, 책들, 만화들 및/또는 비디오 게임들을 이용한다.
블록(10-5)에 의해 표현되는 바와 같이, 방법(1000)은 (예를 들어, 시간(T0)에서) OE 캡슐화를 SR 설정(예를 들어, SR 설정)에 인스턴스화하는 단계를 포함하며, OE 캡슐화는 (예를 들어, 소스 자산들로부터 합성된) 목표들의 초기 세트 및 시각적 렌더링 속성들의 세트에 의해 특징지어진다. 예를 들어, 도 8b를 참조하면, 시간(T0)에서, 창발적 콘텐츠 아키텍처(850)는 소스 자산들(805)로부터 유래된 초기 목표들로 초기화된다.
일부 구현예들에서, 방법(1000)은 목표들의 초기 세트에 기초하여 SR 설정에 대한 가상 환경 조건들을 설정하는 단계를 포함한다. 예를 들어, 가상 환경 조건들은 영역 조건들, 날씨 조건들, 조명 조건들, 환경 사운드들 및/또는 이와 유사한 것 중 하나 이상을 포함한다.
일부 구현예들에서, 방법(1000)은 SR 설정을 특징짓는 컨텍스트 정보를 획득하는 단계를 포함한다. 예를 들어, 컨텍스트 정보는 SR 설정 내에 인스턴스화된 모든 OE들 및 OE 캡슐화들을 포함한다. 예를 들어, 컨텍스트 정보는 사용자-특정 장면/환경 정보를 포함한다. 예를 들어, 컨텍스트 정보는 인스턴스화된 캐릭터들 및 장비 자산들을 포함한다. 예를 들어, 컨텍스트 정보는 인스턴스화될 다른 캐릭터들의 아이덴티티들을 포함한다. 예를 들어, 컨텍스트 정보는 사용자의 환경에 존재하는 객체들(예를 들어, 책상)에 대한 메시 맵들을 포함한다.
블록(10-6)에 의해 표현되는 바와 같이, 방법(1000)은 목표들의 초기 세트, 이벤트와 연관된 컨텍스트 정보, 및 액션들의 세트의 함수에 기초하여 OE 캡슐화에 대한 갱신된 목표들을 생성하는 단계를 포함한다. 예를 들어, 개정된 목표들의 세트는 그들의 캡슐화로 인해 상충될 수 없다. 일부 구현예들에서, 목표들의 갱신된 세트를 생성하는 단계는 신경망을 이용하는 단계를 포함한다. 예를 들어, 신경망의 파라미터들은 보상 함수에 의해 제공된다. 예를 들어, 도 8b를 참조하면, 창발적 콘텐츠 엔진(250)은 OE 엔진(810)에 의해 수행된 이전 액션들에 적어도 부분적으로 기초하여 목표들의 갱신된 세트를 생성한다.
블록(10-7)에 의해 표현되는 바와 같이, 방법(1000)은 (예를 들어, 시간(T1)에서) 목표들의 갱신된 세트에 기초하여 OE 캡슐화를 수정하는 단계를 포함한다. 예를 들어, 도 8b를 참조하면, 시간(T1)에서 그리고 그 후로 계속하여, 창발적 콘텐츠 아키텍처(850)는 창발적 콘텐츠 엔진(250)으로부터의 갱신된 목표들로 동작한다. 일부 구현예들에서, 수정된 목표는 OE 표현을 생성한 캐릭터 엔진에게 제공되고, 궁극적으로 SR 설정 내의 액션들의 시퀀스를, 잠재적으로 하나 이상의 다른 OE들과 조합하여 수행하는 OE를 보여주는 SR 콘텐츠를 출력하기 위해 렌더링 및 디스플레이 파이프라인에 제공된다. 예를 들어, OE는 목표를 달성하거나 목표를 달성할 가능성을 개선하는 액션들을 수행한다.
도 11은 일부 구현예들에 따른, SR 설정 내의 목표-실행자(OE)에 대한 콘텐츠를 초기화하고 생성하는 방법(1100)의 흐름도 표현이다. 다양한 구현예들에서, 방법(1100)은 비일시적 메모리 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 갖는 디바이스(예를 들어, 제어기(102), 도 1a에 도시된 전자 디바이스(103), 및/또는 도 1b에 도시된 HMD(104))에 의해 수행된다. 일부 구현예들에서, 방법(1100)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(1100)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 코드를 실행하는 프로세서에 의해 수행된다.
블록(11-1)에 의해 표현되는 바와 같이, 방법(1100)은 이벤트와 연관된 소스 자산들을 획득하는 단계를 포함한다. 예를 들어, 이벤트는 운동 이벤트, 콘서트, 전투, 또는 다른 대규모 사건에 대응한다. 예를 들어, 소스 자산들은, 전투 계획들과 같은 이벤트에 대한 계획들, 전투의 과정과 결과들과 같은 이벤트에 대한 실제 자료, 역사적 기록들 및 책들, 영화들, 비디오 게임들, 소설들 등에 대응한다. 예를 들어, 소스 자산들은 또한 스토리 또는 이벤트와 연관된 영역, 인프라구조, 차량들, 휴머노이드들, 동물들 등의 3D 모델들을 포함한다.
블록(11-2)에 의해 표현되는 바와 같이, 방법(1100)은, 소스 자산들에 기초하여, 이벤트 동안 제1 OE에 의해 수행되는 액션들의 세트를 추출하는 단계를 포함한다. 예를 들어, 액션들의 세트는 이벤트에 대한 각본 또는 대본으로부터 유래된 각각의 OE에 대한 액션 시퀀스들에 대응한다. 일부 구현예들에서, 디바이스는 이벤트에 대한 각본을 합성한다. 일부 구현예들에서, 디바이스는 액션들의 시퀀스를 생성하는 캐릭터 엔진으로부터 OE들에 대한 액션들의 시퀀스 또는 잠재적 액션들의 세트를 수신한다. 일부 구현예들에서, 디바이스는 액션들의 시퀀스를 나타내는 사용자 입력을 수신한다. 예를 들어, 액션들의 세트는 OE들에 대한 이동 궤적, 무기들 또는 다른 관련 장비의 작동, 대화 등을 포함한다. 예를 들어, 도 8c를 참조하면, 스크레이퍼 엔진(820)은 이벤트 동안 OE들에 의해 수행되는 액션들의 세트를 추출한다.
블록(11-3)에 의해 표현되는 바와 같이, 방법(1100)은, 이벤트와 연관된 소스 자산들로부터 추출된 액션들의 세트에 기초하여, 제1 OE에 대한 목표들의 초기 세트를 합성하는 단계를 포함한다. 예를 들어, 도 8c를 참조하면, 목표 생성기(830)는 추출된 액션들의 세트에 기초하여 목표들의 초기 세트를 합성한다. 일부 구현예들에서, 목표들의 초기 세트는 액션들의 세트와 일치한다. 예를 들어, 액션들의 미리정의된 세트가 살인을 포함하지 않는 경우, 그 목표는 살인할 수 없다. 예를 들어, 액션들의 세트가 이벤트에 대한 적어도 시작점 및 종점들(예를 들어, 북엔드들)을 포함하는 경우, 목표는 캐릭터를 시작점에서 종점까지 유지하도록 유래된다. 예를 들어, 캐릭터들은 지적재산(IP) 또는 디지털 권한 관리(DRM)-제한된 범위를 "벗어난" 액션들을 수행할 수 없다.
일부 구현예들에서, 목표들의 초기 세트를 합성하는 단계는 신경망을 이용하는 단계를 포함한다. 예를 들어, 신경망은 신경망 파라미터들(예를 들어, 가중치들)의 세트에 기초하여 목표들의 초기 세트를 생성한다. 예를 들어, 신경망 파라미터들은 보상 함수에 의해 결정된다.
일부 구현예들에서, 목표들의 초기 세트는 목표를 생성하는 신경망의 파라미터들을 조정하는 훈련 모듈에 제공된다. 예를 들어, 훈련 모듈은 바람직한 액션들에 대해 긍정적인 보상을 할당하고 바람직하지 않은 액션들에 대해 부정적인 보상을 할당하는 보상 함수를 포함한다. 예를 들어, 훈련 모듈은 신경망을 구성하기 위해 강화 학습을 이용한다. 예를 들어, 훈련 모듈은 신경망을 훈련시키기 위해 팬-생성 콘텐츠(예를 들어, 블로그 포스트들), 캐논 비디오, 소설들, 책들, 만화들 및/또는 비디오 게임들을 이용한다.
블록(11-4)에 의해 표현되는 바와 같이, 방법(1100)은 (예를 들어, 시간(T0)에서) 제1 OE를 SR 설정(예를 들어, SR 설정)에 인스턴스화하는 단계를 포함하며, 제1 OE 캡슐화는 (예를 들어, 소스 자산들로부터 합성된) 목표들의 초기 세트 및 시각적 렌더링 속성들의 세트에 의해 특징지어진다. 이와 같이, 도 8c를 참조하면, 시간(T0)에서, 창발적 콘텐츠 아키텍처(875) 내의 OE 엔진들(860)은 소스 자산들(805)로부터 유래된 초기 목표들로 초기화된다.
일부 구현예들에서, 방법(1100)은 목표들의 초기 세트에 기초하여 SR 설정에 대한 가상 환경 조건들을 설정하는 단계를 포함한다. 예를 들어, 가상 환경 조건들은 영역 조건들, 날씨 조건들, 조명 조건들, 환경 사운드들 및/또는 이와 유사한 것 중 하나 이상을 포함한다.
일부 구현예들에서, 방법(1100)은 SR 설정을 특징짓는 컨텍스트 정보를 획득하는 단계를 포함한다. 예를 들어, 컨텍스트 정보는 SR 설정 내에 인스턴스화된 모든 OE들을 포함한다. 예를 들어, 컨텍스트 정보는 사용자-특정 장면/환경 정보를 포함한다. 예를 들어, 컨텍스트 정보는 인스턴스화된 캐릭터들 및 장비 자산들을 포함한다. 예를 들어, 컨텍스트 정보는 인스턴스화될 다른 캐릭터들의 아이덴티티들을 포함한다. 예를 들어, 컨텍스트 정보는 사용자의 환경에 존재하는 객체들(예를 들어, 책상)에 대한 메시 맵들을 포함한다.
블록(11-5)에 의해 표현되는 바와 같이, 방법(1100)은 목표들의 초기 세트, 이벤트와 연관된 컨텍스트 정보, 및 액션들의 세트의 함수에 기초하여 제1 OE에 대한 갱신된 목표들을 생성하는 단계를 포함한다. 일부 구현예들에서, 목표들의 갱신된 세트를 생성하는 단계는 신경망을 이용하는 단계를 포함한다. 예를 들어, 신경망의 파라미터들은 보상 함수에 의해 제공된다. 예를 들어, 도 8c를 참조하면, 창발적 콘텐츠 엔진(250)은 OE 엔진(860)에 의해 수행된 이전 액션들에 적어도 부분적으로 기초하여 목표들의 갱신된 세트를 생성한다.
블록(11-6)에 의해 표현되는 바와 같이, 방법(1100)은 (예를 들어, 시간(T1)에서) 목표들의 갱신된 세트에 기초하여 제1 OE를 수정하는 단계를 포함한다. 예를 들어, 도 8c를 참조하면, 시간(T1)에서 그리고 그 후로 계속하여, 창발적 콘텐츠 아키텍처(875) 내의 OE 엔진들(860)은 창발적 콘텐츠 엔진(250)으로부터의 갱신된 목표들로 동작한다. 일부 구현예들에서, 수정된 목표는 OE 표현을 생성한 캐릭터 엔진에게 제공되고, 궁극적으로 SR 설정 내의 액션들의 시퀀스를, 잠재적으로 하나 이상의 다른 OE들과 조합하여 수행하는 OE를 보여주는 SR 콘텐츠를 출력하기 위해 렌더링 및 디스플레이 파이프라인에 제공된다. 예를 들어, OE는 목표를 달성하거나 목표를 달성할 가능성을 개선하는 액션들을 수행한다.
도 12는 일부 구현예들에 따른, SR 설정(예를 들어, 조건부 의존적 SR 콘텐츠 스레드 환경) 내의 관점을 선택하는 방법(1200)의 흐름도 표현이다. 다양한 구현예들에서, 방법(1200)은 비일시적 메모리 및 비일시적 메모리와 결합된 하나 이상의 프로세서들을 갖는 디바이스(예를 들어, 제어기(102), 도 1a에 도시된 전자 디바이스(103), 및/또는 도 1b에 도시된 HMD(104))에 의해 수행된다. 일부 구현예들에서, 방법(1200)은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행된다. 일부 구현예들에서, 방법(1200)은 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리)에 저장된 코드를 실행하는 프로세서에 의해 수행된다.
방법(1200)은, 예를 들어, 다중-레벨 조건부 의존적 SR 콘텐츠 스레드들 내에서, 사용자로 하여금 상이한 관점들, 예컨대 전체 전장의 전지적 3인칭 뷰, 비행기 그룹에 대한 편대 뷰, 구축함에 대한 선장 뷰, 수륙양용 상륙선 내 특정 해병에 대한 1인칭 뷰 등과 같은 사이에서 선택할 수 있게 한다.
블록(12-1)에 의해 표현되는 바와 같이, 방법(1200)은 이벤트와 연관된 액션들을 수행하는 SR 콘텐츠의 복수의 상호 관련 층들을 포함하는, 이벤트와 연관된 SR 콘텐츠를 갖는 이벤트의 제1 SR 뷰를 제시하는 단계를 포함한다. 예를 들어, 이벤트는 운동 이벤트, 콘서트, 전투, 또는 다른 대규모 사건에 대응한다. 일부 구현예들에서, SR 콘텐츠는, 예를 들어, 전투 계획들과 같은 이벤트에 대한 계획들, 전투의 과정과 결과들과 같은 이벤트에 대한 실제 자료, 역사적 기록들 또는 회고록들, 각본들, 대본들, 텍스트 또는 오디오 북들, 영화들, 비디오 게임들, 소설들 등을 포함하는, 이벤트와 연관된 소스 자료/자산들에 기초하여 합성된다.
일부 구현예들에서, 블록(12-1a)에 의해 표현되는 바와 같이, 방법(1200)은, 사용자 입력들에 기초하여, 제1 SR 뷰를 패닝(panning)하거나 또는 그 내에서 줌 인/줌 아웃하는 단계를 포함한다. 이와 같이, 사용자는 거의 무한한 수의 관점들로부터 이벤트를 볼 수 있다. 일부 구현예들에서, 블록(12-1b)에 의해 표현되는 바와 같이, 방법(1200)은, 사용자 입력들에 기초하여, 층들 및/또는 SR 콘텐츠 요소들을 추가하고/하거나 제거하는 단계를 포함한다. 이와 같이, 사용자는 수정된 층들 및/또는 요소들의 변경된 수들로 이벤트의 다양한 "가상(what if)" 시뮬레이션들을 재생할 수 있다.
일부 구현예들에서, SR 콘텐츠는 이벤트와 연관된 소스 자산들에 기초하여 이벤트와 연관된 환경 조건들(예를 들어, 날씨) 및/또는 영역을 포함한다. 일부 구현예들에서, 방법(1200)은, 사용자 입력들에 기초하여, 이벤트와 연관된 환경 조건들 및/또는 영역을 수정하는 단계를 포함한다. 이와 같이, 사용자는 수정된 환경 조건들(예를 들어, 날씨) 및/또는 영역으로 이벤트의 다양한 "가상" 시뮬레이션들을 재생할 수 있다.
블록(12-2)에 의해 표현되는 바와 같이, 방법(1200)은 SR 콘텐츠의 복수의 상호 관련 층들 중에서 각자의 층의 선택을 검출하는 단계를 포함한다. 예를 들어, 선택은 음성 명령, 제스처 명령, 각자의 층과 연관된 어포던스의 선택 등에 대응한다.
블록(12-3)에 의해 표현되는 바와 같이, 방법(1200)은 SR 콘텐츠의 각자의 층을 포함하는 이벤트의 제2 SR 뷰를 제시하는 단계를 포함하며, 제2 SR 뷰는 각자의 층의 관점에 대응한다. 일부 구현예들에 따르면, 제1 SR 뷰는 이벤트의 전지적 3인칭 뷰(예를 들어, 전장 지휘관의 가상 뷰)에 대응하고, 제2 SR 뷰는 이벤트 내의 개별 캐릭터에 대한 1인칭 뷰(예를 들어, 전장의 병사 또는 항공기 내의 조종사)에 대응한다. 일례로서, 도 7b의 상태(725)는 이벤트의 제1 SR 뷰(예를 들어, 전체 다차원 뷰로부터의 특정 전투)를 도시하고, 도 7c의 상태(735)는 이벤트의 제2 SR 뷰(예를 들어, 공중 뷰로부터의 특정 전투)를 도시한다.
일부 구현예들에서, 제2 SR 뷰를 제시하는 동안, 방법(1200)은 각자의 층에 더하여 하위 레벨 층들을 제시하는 단계를 포함한다. 예를 들어, 각자의 층이 특정 수송 선박에 대응하는 경우, 수송 선박 상에 승선하는 해병대를 각각 포함하는 수륙양용 상륙선을 또한 보여준다.
일부 구현예들에서, 제2 SR 뷰를 제시하는 동안, 방법(1200)은 각자의 층에 더하여 직접 관련된 상위 레벨 층들을 제시하는 단계를 포함한다. 예를 들어, 각자의 층이 특정 해병에 대응하는 경우, 그의 해병대와 그 특정 해병이 승선해 있는 수륙양용 상륙선의 균형을 또한 보여준다.
일부 구현예들에서, 제2 SR 뷰를 제시하는 동안, 방법(1200)은 상위 레벨 층들의 제시를 배제하는 단계를 포함한다. 예를 들어, 각자의 층이 항공기의 특정 조종사에 대응하는 경우, 비행기의 다른 승무원 및 편대의 다른 항공기를 배제한다.
일부 구현예들에서, 제2 SR 뷰를 제시하는 동안, 방법(1200)은 직교방향의 동일 레벨 층들의 제시를 배제하는 단계를 포함한다. 예를 들어, 각자의 층이 특정 해병에 대응하는 경우, 그의 해병대와 그 특정 해병이 승선하는 수륙양용 상륙선의 균형을 또한 보여주지만 동일한 수송 선박으로부터의 다른 수륙양용 상륙선은 보여주지 않는다.
일부 구현예들에서, 블록(12-3a)에 의해 표현되는 바와 같이, 방법(1200)은, 사용자 입력들에 기초하여, 제2 SR 뷰와 연관된 SR 콘텐츠 요소를 제어하는 단계를 포함한다. 일부 구현예들에서, 런타임 시에, 층들은, 그들이 현재 제시되거나 그렇지 않거나 여부와 관계없이, 계속해서 동시에 재생된다.
첨부된 청구범위의 범주 내의 구현예들의 다양한 양태들이 전술되지만, 전술된 구현들의 다양한 특징들이 매우 다양한 형태들로 구현될 수 있고 전술된 임의의 특정 구조 및/또는 기능이 단지 예시적이라는 것이 명백할 것이다. 본 개시내용에 기초하여, 당업자는 본 명세서에 기술된 양태가 임의의 다른 양태들과 독립적으로 구현될 수 있고 이들 양태들 중 둘 이상이 다양한 방식으로 조합될 수 있음을 이해해야 한다. 예를 들어, 본 명세서에 기재된 임의의 수의 양태들을 사용하여 장치가 구현될 수 있고/있거나 방법이 실시될 수 있다. 또한, 본 명세서에 기술된 양태들 중 하나 이상에 추가로 또는 그 이외의 다른 구조물 및/또는 기능을 사용하여 그러한 장치가 구현될 수 있고/있거나 그러한 방법이 실시될 수 있다.
용어들 "제1", "제2" 등이 다양한 요소들을 설명하기 위해 본 명세서에서 사용될 수 있지만, 이들 요소들은 이들 용어들에 의해 제한되어서는 안 된다는 것이 또한 이해될 것이다. 이러한 용어들은 하나의 요소를 다른 요소와 구별하는 데에만 사용된다. 예를 들어, 모든 "제1 노드"의 발생이 일관되게 재명명되고 모든 "제2 노드"의 발생이 일관되게 재명명되기만 한다면, 제1 노드는 제2 노드로 지칭될 수 있고, 유사하게, 제2 노드는 제1 노드로 지칭될 수 있으며, 이는 설명의 의미를 변경한다. 제1 노드 및 제2 노드는 둘 모두 노드들이지만, 그것들은 동일한 노드가 아니다.
본 명세서에서 사용되는 용어는 단지 특정 구현예들만을 설명하는 목적을 위한 것이고, 청구범위를 제한하도록 의도되지 않는다. 본 구현예들의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수형들("a", "an" 및 "the")은 문맥상 명확하게 달리 나타나지 않으면 복수형들도 또한 포함하도록 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "및/또는"은 열거되는 연관된 항목들 중 하나 이상의 항목들의 임의의 그리고 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 본 명세서에서 사용될 때 "포함한다(comprise)" 및/또는 "포함하는(comprising)"이라는 용어들은 진술되는 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지 않는다는 것이 추가로 이해될 것이다.
본 명세서에서 사용되는 바와 같이, 상황에 따라 언급된 선행 조건이 사실"인 경우(if)"라는 용어는 그가 사실"일 때(when)", 그가 사실"일 시(upon)" 또는 그가 사실"이라는 결정하는 것에 응답하여(in response to determining)" 또는 그가 사실"이라는 결정에 따라(in accordance with a determination)" 또는 그가 사실"임을 검출하는 것에 응답하여(in response to detecting)"를 의미하는 것으로 해석될 수 있다. 유사하게, 어구 "[언급된 선행 조건이 사실이라고] 결정하면" 또는 "[언급된 선행 조건이 사실]이면" 또는 "[언급된 선행 조건이 사실]일 때"는 맥락에 의존하여, 언급된 선행 조건이 사실"이라고 결정할 시에" 또는 그 조건이 사실"이라고 결정하는 것에 응답하여" 또는 그 조건이 사실"이라는 결정에 따라" 또는 그 조건이 사실"이라는 것을 검출할 시에" 또는 그 조건이 사실"이라는 것을 검출하는 것에 응답하여"를 의미하는 것으로 해석될 수 있다.

Claims (65)

  1. 방법으로서,
    비일시적 메모리 및 하나 이상의 프로세서들을 포함하는 컴퓨팅 시스템에서 - 상기 컴퓨팅 시스템은 디스플레이 디바이스 및 하나 이상의 입력 디바이스들에 통신가능하게 결합됨 -:
    속성들의 제1 세트와 연관된 제1 목표-실행자(objective-effectuator, OE) 및 속성들의 제2 세트와 연관된 제2 OE를 합성 현실(synthesized reality, SR) 설정에 인스턴스화하는 단계 - 상기 제1 OE는 상기 제2 OE 내에 캡슐화됨 -;
    상기 속성들의 제1 세트 및 상기 속성들의 제2 세트에 기초하여 상기 제1 OE에 제1 목표를 제공하는 단계;
    상기 속성들의 제2 세트에 기초하여 상기 제2 OE에 제2 목표를 제공하는 단계 - 상기 제1 목표 및 상기 제2 목표는 제1 시점과 제2 시점 사이의 제1 기간과 연관됨 -;
    상기 제1 목표에 기초하여 상기 제1 OE에 대한 상기 제1 기간과 연관된 액션들의 제1 세트를 생성하는 단계;
    상기 제2 목표에 기초하여 상기 제2 OE에 대한 상기 제1 기간과 연관된 액션들의 제2 세트를 생성하는 단계; 및
    상기 제1 OE에 의해 수행된 상기 액션들의 제1 세트 및 상기 제2 OE에 의해 수행된 상기 액션들의 제2 세트를 포함하는 상기 SR 설정을 디스플레이하도록 렌더링하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    제2 기간에 대해, 속성들의 제3 세트와 연관된 제3 OE를 상기 SR 설정에 인스턴스화하는 단계 - 상기 제1 OE는 상기 제2 OE 및 상기 제3 OE 내에 캡슐화됨 -; 및
    상기 속성들의 제1 세트 및 상기 속성들의 제2 세트, 및 또한 상기 제3 OE와 연관된 상기 속성들의 제3 세트에 기초하여, 상기 제2 기간에 대한 상기 제1 OE에 대한 상기 제1 목표를 갱신하는 단계를 더 포함하는, 방법.
  3. 제1항에 있어서,
    제2 기간에 대해, 상기 SR 설정으로부터 상기 제2 OE를 제거하는 단계; 및
    상기 속성들의 제1 세트에 기초하여, 상기 제2 기간에 대한 상기 제1 OE에 대한 상기 제1 목표를 갱신하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    속성들의 제3 세트와 연관된 제3 OE 및 속성들의 제4 세트와 연관된 제4 OE를 상기 SR 설정에 인스턴스화하는 단계를 더 포함하며, 상기 제3 OE는 상기 제4 OE 내에 캡슐화되는, 방법.
  5. 제4항에 있어서, 상기 제1 OE 및 상기 제2 OE는 제1 OE 캡슐화와 연관되고, 상기 제3 OE 및 상기 제4 OE는 제2 OE 캡슐화와 연관되는, 방법.
  6. 제5항에 있어서, 적어도 하나의 OE는 상기 제1 OE 캡슐화 및 상기 제2 OE 캡슐화 둘 모두에 포함되는, 방법.
  7. 제1항에 있어서, 상기 SR 설정은 이벤트와 연관되는, 방법.
  8. 제7항에 있어서, 상기 제1 목표 및 상기 제2 목표는 상기 이벤트와 연관된 소스 자산들에 기초하여 합성되는, 방법.
  9. 제7항에 있어서,
    상기 이벤트와 연관된 소스 자산들로부터 액션들의 세트를 추출하는 단계를 더 포함하며, 상기 제1 목표 및 상기 제2 목표는 상기 액션들의 세트로부터 유래되는, 방법.
  10. 제9항에 있어서, 상기 제1 목표 및 상기 제2 목표는 상기 액션들의 세트와 일치하는, 방법.
  11. 제1항에 있어서,
    제2 기간에 대해, 상기 SR 설정으로부터 각자의 OE를 제거하는 사용자 입력을 수신하는 단계; 및
    상기 사용자 입력을 수신하는 단계에 응답하여:
    상기 SR 설정으로부터 상기 각자의 OE를 제거하는 단계; 및
    상기 제2 기간에 대한 디스플레이를 위한 상기 SR 설정을 계속해서 렌더링하는 단계를 더 포함하는, 방법.
  12. 제1항에 있어서,
    제2 기간에 대해, 각자의 OE를 상기 SR 설정에 추가하는 사용자 입력을 수신하는 단계; 및
    상기 사용자 입력을 수신하는 단계에 응답하여:
    상기 SR 설정으로부터 상기 각자의 OE를 추가하는 단계; 및
    상기 제2 기간에 대한 디스플레이를 위한 상기 SR 설정을 계속해서 렌더링하는 단계를 더 포함하는, 방법.
  13. 제1항에 있어서, 상기 액션들의 제2 세트를 생성하는 단계는, 미리결정된 기준이 충족되는 경우, 상기 제2 목표 대신 자기 보호 목표에 기초하여 상기 제2 OE에 대한 상기 제1 기간과 연관된 상기 액션들의 제2 세트를 생성하는 단계를 포함하는, 방법.
  14. 제1항에 있어서,
    상기 SR 설정 내의 각자의 OE를 선택하는 사용자 입력을 수신하는 단계; 및
    상기 사용자 입력을 수신하는 단계에 응답하여, 상기 각자의 OE의 관점을 통해 상기 SR 설정을 디스플레이하도록 렌더링하는 단계를 더 포함하는, 방법.
  15. 컴퓨팅 시스템으로서,
    하나 이상의 프로세서들;
    비일시적 메모리;
    디스플레이 디바이스 및 하나 이상의 입력 디바이스들과 통신하기 위한 인터페이스; 및
    상기 비일시적 메모리에 저장된 하나 이상의 프로그램들을 포함하며,
    상기 하나 이상의 프로그램들은, 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금:
    속성들의 제1 세트와 연관된 제1 목표-실행자(OE) 및 속성들의 제2 세트와 연관된 제2 OE를 합성 현실(SR) 설정에 인스턴스화하고 - 상기 제1 OE는 상기 제2 OE 내에 캡슐화됨 -;
    상기 속성들의 제1 세트 및 상기 속성들의 제2 세트에 기초하여 상기 제1 OE에 제1 목표를 제공하고;
    상기 속성들의 제2 세트에 기초하여 상기 제2 OE에 제2 목표를 제공하고 - 상기 제1 목표 및 상기 제2 목표는 제1 시점과 제2 시점 사이의 제1 기간과 연관됨 -;
    상기 제1 목표에 기초하여 상기 제1 OE에 대한 상기 제1 기간과 연관된 액션들의 제1 세트를 생성하고;
    상기 제2 목표에 기초하여 상기 제2 OE에 대한 상기 제1 기간과 연관된 액션들의 제2 세트를 생성하고;
    상기 제1 OE에 의해 수행된 상기 액션들의 제1 세트, 및 상기 제2 OE에 의해 수행된 상기 액션들의 제2 세트를 포함하는 상기 SR 설정을 디스플레이하도록 렌더링하게 하는, 컴퓨팅 시스템.
  16. 제15항에 있어서, 상기 하나 이상의 프로그램들은, 추가로 상기 컴퓨팅 시스템으로 하여금:
    제2 기간에 대해, 속성들의 제3 세트와 연관된 제3 OE를 상기 SR 설정에 인스턴스화하고 - 상기 제1 OE는 상기 제2 OE 및 상기 제3 OE 내에 캡슐화됨 -;
    상기 속성들의 제1 세트 및 상기 속성들의 제2 세트, 및 또한 상기 제3 OE와 연관된 상기 속성들의 제3 세트에 기초하여, 상기 제2 기간에 대한 상기 제1 OE에 대한 상기 제1 목표를 갱신하게 하는, 컴퓨팅 시스템.
  17. 제15항에 있어서, 상기 하나 이상의 프로그램들은, 추가로 상기 컴퓨팅 시스템으로 하여금:
    제2 기간에 대해, 상기 SR 설정으로부터 상기 제2 OE를 제거하고;
    상기 속성들의 제1 세트에 기초하여, 상기 제2 기간에 대한 상기 제1 OE에 대한 상기 제1 목표를 갱신하게 하는, 컴퓨팅 시스템.
  18. 제15항에 있어서, 상기 하나 이상의 프로그램들은, 추가로 상기 컴퓨팅 시스템으로 하여금:
    속성들의 제3 세트와 연관된 제3 OE 및 속성들의 제4 세트와 연관된 제4 OE를 상기 SR 설정에 인스턴스화하게 하며, 상기 제3 OE는 상기 제4 OE 내에 캡슐화되는, 컴퓨팅 시스템.
  19. 제18항에 있어서, 상기 제1 OE 및 상기 제2 OE는 제1 OE 캡슐화와 연관되고, 상기 제3 OE 및 상기 제4 OE는 제2 OE 캡슐화와 연관되는, 컴퓨팅 시스템.
  20. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 비일시적 메모리로서,
    상기 하나 이상의 프로그램들은, 디스플레이 디바이스 및 하나 이상의 입력 디바이스들과 통신하기 위한 인터페이스를 갖는 컴퓨팅 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금:
    속성들의 제1 세트와 연관된 제1 목표-실행자(OE) 및 속성들의 제2 세트와 연관된 제2 OE를 합성 현실(SR) 설정에 인스턴스화하고 - 상기 제1 OE는 상기 제2 OE 내에 캡슐화됨 -;
    상기 속성들의 제1 세트 및 상기 속성들의 제2 세트에 기초하여 상기 제1 OE에 제1 목표를 제공하고;
    상기 속성들의 제2 세트에 기초하여 상기 제2 OE에 제2 목표를 제공하고 - 상기 제1 목표 및 상기 제2 목표는 제1 시점과 제2 시점 사이의 제1 기간과 연관됨 -;
    상기 제1 목표에 기초하여 상기 제1 OE에 대한 상기 제1 기간과 연관된 액션들의 제1 세트를 생성하고;
    상기 제2 목표에 기초하여 상기 제2 OE에 대한 상기 제1 기간과 연관된 액션들의 제2 세트를 생성하고;
    상기 제1 OE에 의해 수행된 상기 액션들의 제1 세트, 및 상기 제2 OE에 의해 수행된 상기 액션들의 제2 세트를 포함하는 상기 SR 설정을 디스플레이하도록 렌더링하게 하는, 컴퓨터 판독가능 비일시적 메모리.
  21. 제20항에 있어서, 상기 하나 이상의 프로그램들은, 추가로 상기 컴퓨팅 시스템으로 하여금:
    제2 기간에 대해, 속성들의 제3 세트와 연관된 제3 OE를 상기 SR 설정에 인스턴스화하고 - 상기 제1 OE는 상기 제2 OE 및 상기 제3 OE 내에 캡슐화됨 -;
    상기 속성들의 제1 세트 및 상기 속성들의 제2 세트, 및 또한 상기 제3 OE와 연관된 상기 속성들의 제3 세트에 기초하여, 상기 제2 기간에 대한 상기 제1 OE에 대한 상기 제1 목표를 갱신하게 하는, 컴퓨터 판독가능 비일시적 메모리.
  22. 제20항에 있어서, 상기 하나 이상의 프로그램들은, 추가로 상기 컴퓨팅 시스템으로 하여금:
    제2 기간에 대해, 상기 SR 설정으로부터 상기 제2 OE를 제거하고;
    상기 속성들의 제1 세트에 기초하여, 상기 제2 기간에 대한 상기 제1 OE에 대한 상기 제1 목표를 갱신하게 하는, 컴퓨터 판독가능 비일시적 메모리.
  23. 제20항에 있어서, 상기 하나 이상의 프로그램들은, 추가로 상기 컴퓨팅 시스템으로 하여금:
    속성들의 제3 세트와 연관된 제3 OE 및 속성들의 제4 세트와 연관된 제4 OE를 상기 SR 설정에 인스턴스화하게 하며, 상기 제3 OE는 상기 제4 OE 내에 캡슐화되는, 컴퓨터 판독가능 비일시적 메모리.
  24. 제23항에 있어서, 상기 제1 OE 및 상기 제2 OE는 제1 OE 캡슐화와 연관되고, 상기 제3 OE 및 상기 제4 OE는 제2 OE 캡슐화와 연관되는, 컴퓨터 판독가능 비일시적 메모리.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
KR1020207023241A 2018-02-19 2019-02-15 조건부 의존적 합성 현실 콘텐츠 스레드들을 제시하고 조작하기 위한 방법 및 디바이스들 KR102549822B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862632378P 2018-02-19 2018-02-19
US62/632,378 2018-02-19
US201862679201P 2018-06-01 2018-06-01
US62/679,201 2018-06-01
PCT/US2019/018303 WO2019161267A1 (en) 2018-02-19 2019-02-15 Method and devices for presenting and manipulating conditionally dependent synthesized reality content threads

Publications (2)

Publication Number Publication Date
KR20200108457A KR20200108457A (ko) 2020-09-18
KR102549822B1 true KR102549822B1 (ko) 2023-06-30

Family

ID=65729427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207023241A KR102549822B1 (ko) 2018-02-19 2019-02-15 조건부 의존적 합성 현실 콘텐츠 스레드들을 제시하고 조작하기 위한 방법 및 디바이스들

Country Status (5)

Country Link
US (3) US11238661B2 (ko)
EP (1) EP3756138A1 (ko)
KR (1) KR102549822B1 (ko)
CN (1) CN111684468B (ko)
WO (1) WO2019161267A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874150A (zh) * 2018-07-27 2018-11-23 华南理工大学 一种虚拟现实触觉反馈交互系统
US20220165024A1 (en) * 2020-11-24 2022-05-26 At&T Intellectual Property I, L.P. Transforming static two-dimensional images into immersive computer-generated content

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110098056A1 (en) 2009-10-28 2011-04-28 Rhoads Geoffrey B Intuitive computing methods and systems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124093B1 (en) * 1997-12-22 2006-10-17 Ricoh Company, Ltd. Method, system and computer code for content based web advertising
CN102843349B (zh) * 2011-06-24 2018-03-27 中兴通讯股份有限公司 实现移动增强现实业务的方法及系统、终端及服务器
US20130176334A1 (en) * 2012-01-09 2013-07-11 Nokia Corporation Method and apparatus for analyzing clustering of mixed reality content and computaions
US10448161B2 (en) * 2012-04-02 2019-10-15 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for gestural manipulation of a sound field
US9368104B2 (en) * 2012-04-30 2016-06-14 Src, Inc. System and method for synthesizing human speech using multiple speakers and context
KR20130137968A (ko) * 2012-06-08 2013-12-18 김용천 사용자 단말에서 증강 현실을 통한 이벤트 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
US20140104394A1 (en) 2012-10-15 2014-04-17 Intel Corporation System and method for combining data from multiple depth cameras
US20140285519A1 (en) 2013-03-22 2014-09-25 Nokia Corporation Method and apparatus for providing local synchronization of information for augmented reality objects
JP6646659B2 (ja) * 2014-06-14 2020-02-14 マジック リープ, インコーポレイテッドMagic Leap,Inc. 仮想および拡張現実を作成する方法およびシステム
US10092833B2 (en) 2014-06-27 2018-10-09 Amazon Technologies, Inc. Game session sharing
WO2016077401A1 (en) * 2014-11-10 2016-05-19 Valve Corporation Positional tracking systems and methods
CA2944180A1 (en) * 2015-10-30 2017-04-30 The Toronto-Dominion Bank Systems and methods for context-based event detection and determination
CN108700991A (zh) * 2015-12-01 2018-10-23 量子界面有限责任公司 用于为移动设备建立3轴坐标系并且利用虚拟键盘进行写入的基于运动的系统、装置和方法
US20170216675A1 (en) * 2016-02-03 2017-08-03 Disney Enterprises, Inc. Fitness-based game mechanics
US10042604B2 (en) 2016-07-01 2018-08-07 Metrik LLC Multi-dimensional reference element for mixed reality environments
CN107016452A (zh) * 2016-11-30 2017-08-04 阿里巴巴集团控股有限公司 基于增强现实的线下交互方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110098056A1 (en) 2009-10-28 2011-04-28 Rhoads Geoffrey B Intuitive computing methods and systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Combining AI Methods for Learning Bots in a Real-Time Strategy Game", INTERNATIONAL JOURNAL OF COMPUTER GAMES TECHNOLOGY, 2009.

Also Published As

Publication number Publication date
US11769305B2 (en) 2023-09-26
KR20200108457A (ko) 2020-09-18
US20220114795A1 (en) 2022-04-14
CN111684468A (zh) 2020-09-18
EP3756138A1 (en) 2020-12-30
WO2019161267A1 (en) 2019-08-22
US20230386149A1 (en) 2023-11-30
US11238661B2 (en) 2022-02-01
CN111684468B (zh) 2024-03-08
US20210043004A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
US11748953B2 (en) Method and devices for switching between viewing vectors in a synthesized reality setting
US11532137B2 (en) Method and device for utilizing physical objects and physical usage patterns for presenting virtual content
US20230386149A1 (en) Method and devices for presenting and manipulating conditionally dependent synthesized reality content threads
US11949949B2 (en) Content generation based on audience engagement
WO2020219382A1 (en) Generating content based on state information
US20230377237A1 (en) Influencing actions of agents
US20220262081A1 (en) Planner for an objective-effectuator
KR102484333B1 (ko) 합성된 현실 설정들에서 오브젝티브 실행기들에 대한 오브젝티브들의 생성
US20210027164A1 (en) Objective-effectuators in synthesized reality settings
US11055930B1 (en) Generating directives for objective-effectuators
US10908796B1 (en) Emergent content containers
US11645797B1 (en) Motion control for an object

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant