KR102499904B1 - Methods and systems for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content - Google Patents

Methods and systems for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content Download PDF

Info

Publication number
KR102499904B1
KR102499904B1 KR1020197035490A KR20197035490A KR102499904B1 KR 102499904 B1 KR102499904 B1 KR 102499904B1 KR 1020197035490 A KR1020197035490 A KR 1020197035490A KR 20197035490 A KR20197035490 A KR 20197035490A KR 102499904 B1 KR102499904 B1 KR 102499904B1
Authority
KR
South Korea
Prior art keywords
real
world scene
surface data
capture
captured
Prior art date
Application number
KR1020197035490A
Other languages
Korean (ko)
Other versions
KR20200013672A (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 KR20200013672A publication Critical patent/KR20200013672A/en
Application granted granted Critical
Publication of KR102499904B1 publication Critical patent/KR102499904B1/en

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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일 예시적인 가상화된 투영 생성 시스템("시스템")은, 각각이 실세계 장면의 상이한 뷰들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임을 포함하는 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신한다. 시스템은 상이한 캡처된 뷰들과 별개인 실세계 장면의 맞춤화된 뷰와 연관된 부가적인 세트의 캡처 파라미터들을 식별한다. 캡처된 표면 데이터 프레임 시퀀스들 및 부가적인 세트의 캡처 파라미터들에 기초하여, 시스템은 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링한다. 시스템은 이후, 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위한 렌더링된 컬러 및 깊이 프레임들을 포함하는 가상화된 표면 데이터 프레임 시퀀스를 제공한다.An exemplary virtualized projection generation system (“System”) provides color and image representations of a real-world scene according to respective sets of capture parameters included in a plurality of sets of capture parameters, each associated with a different view of the real-world scene. Receive a plurality of captured surface data frame sequences including a depth frame. The system identifies an additional set of capture parameters associated with the customized view of the real world scene separate from the different captured views. Based on the captured surface data frame sequences and an additional set of capture parameters, the system renders color and depth frames for a virtualized projection of a customized view of a real-world scene. The system then provides a sequence of virtualized surface data frames containing rendered color and depth frames for a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content.

Description

가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 방법들 및 시스템들Methods and systems for creating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content

관련 출원들related applications

본 출원은 그에 의해 전체적으로 참조로서 통합되는, 2017년 5월 31일에 출원되고, 발명의 명칭이 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 방법들 및 시스템들인 미국 특허 출원 번호 제 15/610,595 호에 대한 우선권을 주장한다.This application, filed on May 31, 2017, hereby incorporated by reference in its entirety, is entitled Methods for creating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content and system, U.S. Patent Application Serial No. 15/610,595 claims priority.

본 발명은 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영 생성을 위한 방법들 및 시스템들에 관한 것이다.The present invention relates to methods and systems for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content.

가상 현실 미디어 콘텐트는 사용자들이 동시에 제공되는 다양한 것들 중 임의의 하나에 그들의 주의를 집중시킴으로써 사용자들이 경험할 수 있는 대화형 가상 실세계들에 몰입하게 하기 위해 가상 현실 미디어 콘텐트의 사용자들(즉, 뷰어들)에게 제공될 수 있다. 예를 들면, 가상 현실 미디어 콘텐트의 제공 동안 언제라도, 가상 현실 미디어 콘텐트를 경험하는 사용자는 몰입형 가상 실세계를 임의의 방향으로 둘러볼 수 있어, 사용자가 몰입형 가상 실세계 내의 특정한 위치 및 관점(예로서, 방향, 시점, 등)으로부터 몰입형 가상 실세계에 실제로 존재하고 그것을 경험하고 있다는 느낌을 사용자에게 제공할 수 있다.Virtual reality media content can be used by users (i.e., viewers) of virtual reality media content to immerse themselves in interactive virtual real worlds that users can experience by focusing their attention on any one of a variety of things presented simultaneously. can be provided to For example, at any time during presentation of the virtual reality media content, a user experiencing the virtual reality media content may look around the immersive virtual real world in any direction, allowing the user to see a particular location and viewpoint within the immersive virtual real world (eg As such, it is possible to provide the user with a feeling of actually existing in and experiencing the immersive virtual real world from the direction, viewpoint, etc.).

일부 예들에서, 몰입형 가상 실세계가 실세계 장면에 기초하는 것이 바람직할 수 있다. 예를 들면, 가상 현실 미디어 콘텐트 내에 표현된 몰입형 가상 실세계의 일부 또는 전부는 가상 또는 허구 세계에만 존재하는 것과는 대조적으로 실세계에 존재하는 풍경, 위치들, 이벤트(event)들, 객체들, 및/또는 다른 대상들을 모델링할 수 있다. 이와 같이, 캡처 디바이스들(예로서, 카메라들, 비디오 카메라들, 등과 같은 이미지 및/또는 비디오 캡처 디바이스들)은 데이터가 실세계 장면의 표현이 생성될 수 있는 가상 현실 미디어 콘텐트 내에 포함될 수 있도록 실세계 장면을 나타내는 데이터를 검출, 기록, 및/또는 그렇지 않으면 캡처하기 위해 사용될 수 있다. 불행하게도, 바람직할 수 있는 모든 위치, 방향, 시야, 등으로부터 데이터를 캡처하기 위해 실세계 장면에 대해 물리적 캡처 디바이스들을 배치하는 것이 불가능하거나 비현실적일 수 있다.In some examples, it may be desirable for the immersive virtual real world to be based on a real world scene. For example, some or all of the immersive virtual real world represented within virtual reality media content may include scenery, locations, events, objects, and/or objects that exist in the real world as opposed to only existing in a virtual or fictional world. Or you can model other objects. As such, capture devices (eg, image and/or video capture devices such as cameras, video cameras, etc.) can capture a real-world scene so that data can be included within virtual reality media content from which a representation of the real-world scene can be created. may be used to detect, record, and/or otherwise capture data representing Unfortunately, it may be impossible or impractical to place physical capture devices relative to a real-world scene to capture data from every possible location, orientation, field of view, etc.

게다가, 다수의 물리적 캡처 디바이스들이 다수의 위치들, 방향들, 시야들, 등으로부터 데이터를 캡처하기 위해 사용되더라도, 이들 캡처 디바이스에 의해 캡처된 모든 데이터가 사용자에게 제공된 가상 현실 미디어 콘텐트 내에 포함되는 것이 비실용적 및/또는 비효율적일 수 있다. 예를 들면, 데이터 분배 제한들(예로서, 네트워크 대역폭들, 디바이스 디코딩 능력들, 등), 캡처된 데이터의 상당한 중복성, 동시에 가상 현실 미디어 콘텐트의 상이한 사용자들과의 상이한 관련성을 가지는 실세계 장면의 상이한 상세들을 설명하는 데이터, 및 상이한 인자들이 각각, 다수의 물리적 캡처 디바이스들을 사용하여 실세계 장면을 나타내는 데이터를 캡처 및 분배하는 비실용성 및/또는 비효율성에 기여할 수 있다.Moreover, even if multiple physical capture devices are used to capture data from multiple locations, directions, fields of view, etc., not all data captured by these capture devices is included within the virtual reality media content presented to the user. may be impractical and/or inefficient. For example, data distribution limitations (eg, network bandwidths, device decoding capabilities, etc.), significant redundancy of captured data, and different real-world scenes with different relevance to different users of virtual reality media content at the same time. Data describing details, and different factors can each contribute to the impracticality and/or inefficiency of capturing and distributing data representing a real-world scene using multiple physical capture devices.

본 발명의 목적은 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영 생성을 위한 방법들 및 시스템들을 제공하는 것이다.It is an object of the present invention to provide methods and systems for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content.

가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 방법들 및 시스템들이 본 명세서에서 설명된다. 예를 들면, 하기에 더 상세히 설명될 바와 같이, 가상화된 투영 생성 시스템은 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신(예로서, 요청, 획득, 액세스, 등)할 수 있다. 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임들을 포함할 수 있다. 예를 들면, 실세계 장면의 각각의 뷰와 연관된 각각의 세트의 캡처 파라미터들은 캡처 위치, 방향, 시야, 깊이 매핑, 깊이 범위, 품질 레벨, 포맷, 소스, 동적 범위, 및/또는 각각의 표면 데이터 프레임 시퀀스가 실세계 장면의 뷰를 나타내는 다른 특성들을 나타내는 파라미터들을 포함할 수 있다. 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처될 수 있다. 예를 들면, 각각의 상이한 캡처 디바이스는 복수의 세트들의 캡처 파라미터들에서 상이한 세트들의 캡처 파라미터들 중 하나와 연관될 수 있다(예로서, 상기 캡처 파라미터들 중 하나에 따라 실세계 장면을 캡처하도록 구성됨).Methods and systems are described herein for creating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content. For example, as described in more detail below, the virtualized projection generation system may receive (eg, request, obtain, access, etc.) a plurality of captured surface data frame sequences. Each surface data frame sequence in the plurality of captured surface data frame sequences has a color and a color describing the real world scene according to each set of capture parameters included in the plurality of sets of capture parameters associated with different views of the real world scene. May contain depth frames. For example, each set of capture parameters associated with each view of a real-world scene may include capture location, direction, field of view, depth mapping, depth range, quality level, format, source, dynamic range, and/or each surface data frame. A sequence may contain parameters representing other characteristics representing a view of a real-world scene. Each surface data frame sequence in the plurality of captured surface data frame sequences may be captured by a different capture device in the plurality of capture devices disposed at different locations relative to the real world scene to capture different views of the real world scene. there is. For example, each different capture device may be associated with one of the different sets of capture parameters in a plurality of sets of capture parameters (eg, configured to capture a real-world scene according to one of the capture parameters). .

상이한 세트들의 캡처 파라미터들과 연관된 복수의 표면 데이터 프레임 시퀀스들을 수신하는 것에 더하여, 가상화된 투영 생성 시스템은 복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개인 부가적인 세트의 캡처 파라미터들을 식별할 수 있다. 부가적인 세트의 캡처 파라미터들은 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 별개인 실세계 장면의 맞춤화된 뷰와 연관될 수 있다. 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 표면 데이터 프레임 시퀀스들에 기초하여 그리고 부가적인 세트의 캡처 파라미터들에 기초하여, 가상화된 투영 생성 시스템은 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있다.In addition to receiving a plurality of surface data frame sequences associated with different sets of capture parameters, the virtualized projection generation system may use an additional set of capture parameters distinct from the sets of capture parameters included in the plurality of sets of capture parameters. can identify them. An additional set of capture parameters may be associated with a customized view of the real-world scene that is separate from the different views of the real-world scene captured by the plurality of capture devices. Based on the surface data frame sequences in the plurality of captured surface data frame sequences and based on an additional set of capture parameters, the virtualized projection generation system provides a color and projection for a virtualized projection of a customized view of a real-world scene. You can render depth frames.

가상화된 투영 생성 시스템은 하나 이상의 상이한 시스템들에 대한(예로서, 사용자들과 연관된 하나 이상의 미디어 플레이어 디바이스들에 대한, 가상 현실 미디어 콘텐트 제공자 파이프라인에서 하나 이상의 다운스트림 시스템들에 대한, 등) 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위한 렌더링된 컬러 및 깊이 프레임들을 포함하는 가상화된 표면 데이터 프레임 시퀀스를 제공할 수 있다. 예를 들면, 가상화된 투영 생성 시스템은 미디어 플레이어 디바이스에 가상 현실 미디어 콘텐트(예로서, 가상 현실 미디어 콘텐트를 경험하는 사용자와 연관된 미디어 플레이어 디바이스에 가상 현실 미디어 제공자 파이프라인에 의해 스트리밍되도록 구성된 가상 현실 미디어 콘텐트) 내에 포함시키기 위한 가상화된 표면 데이터 프레임 시퀀스를 제공할 수 있다.The virtualized projection generation system is real world for one or more different systems (eg, for one or more media player devices associated with users, for one or more downstream systems in a virtual reality media content provider pipeline, etc.) Provide a sequence of virtualized surface data frames containing rendered color and depth frames for a virtualized projection of a customized view of a scene. For example, the virtualized projection generation system may send virtual reality media content to a media player device (eg, virtual reality media configured to be streamed by a virtual reality media provider pipeline to a media player device associated with a user experiencing the virtual reality media content). content) to provide a sequence of virtualized surface data frames for inclusion.

본 명세서에서 설명된 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 시스템들 및 방법들은 다양한 장점들 및 이점들을 제공할 수 있다. 하나의 예로서, 본 명세서에서 설명된 시스템들 및 방법들은 임의의 캡처 파라미터들(예로서, 임의의 캡처 위치들, 방향들, 시야들, 깊이 매핑들, 품질 레벨들, 소스들, 동적 범위들, 등)에 기초하여 실세계 장면의 맞춤화된 뷰들에 대해 가상화된 투영들(예로서, 가상화된 표면 데이터 프레임 시퀀스들, 등)을 나타내는 데이터가 생성되는 것을 허용할 수 있다. 이와 같이, 가상화된 표면 데이터 프레임 시퀀스들은 특정한 구현을 제공할 수 있는 실세계 장면의 견고한(robust) 세트의 뷰들을 커버하기 위해 캡처된 표면 데이터 프레임 시퀀스들과 함께 생성 및 제공될 수 있다. 예를 들면, 실세계 장면에 대해 다양한 위치들에서 다수의 물리적 캡처 디바이스들을 배치하려고 시도하는 대신(예로서, 다양한 상이한 비트 깊이들, 등을 갖는 상이한 객체들의 다양한 레벨들의 상세를 제공하기 위해), 본 명세서에서 설명된 방법들 및 시스템들은 실세계 장면의 맞춤화된 뷰들을 나타내기 위해 다수의 가상화된 표면 데이터 프레임 시퀀스들이 생성될 수 있는 데이터를 캡처하기 위해 상대적으로 적은 수의 물리적 캡처 디바이스들을 허용할 수 있다.The systems and methods described herein for creating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content can provide various advantages and benefits. As an example, the systems and methods described herein can be used to capture arbitrary capture parameters (eg, arbitrary capture locations, directions, fields of view, depth mappings, quality levels, sources, dynamic ranges, , etc.) to generate virtualized projections (eg, virtualized surface data frame sequences, etc.) for customized views of a real-world scene. As such, virtualized surface data frame sequences can be created and provided along with captured surface data frame sequences to cover a robust set of views of a real world scene that can provide a specific implementation. For example, instead of trying to place multiple physical capture devices at various locations relative to a real-world scene (eg, to provide various levels of detail of different objects with various different bit depths, etc.), the present invention The methods and systems described herein may allow for a relatively small number of physical capture devices to capture data from which multiple sequences of virtualized surface data frames may be created to represent customized views of a real-world scene. .

부가적으로, 다양한 상이한 세트들의 캡처 파라미터들(예로서, 다양한 상이한 시점(vantage point)들을 나타내는 파라미터들, 다양한 상이한 캡처 해상도들, 등)와 연관된 캡처 데이터(예로서, 표면 데이터 프레임 시퀀스들)를 생성함으로써, 본 명세서에서 설명된 시스템들 및 방법들은 물리적 캡처 디바이스에 의해 캡처되고 최종 사용자들에게 제공된 가상 현실 미디어 콘텐트 내에 포함된 데이터의 실용적이고 효율적인 분배를 가능하게 할 수 있다. 예를 들면, 실세계 장면 주위에 배치된 8개의 캡처 디바이스들에 의해 캡처된 고해상도 데이터는 8개의 캡처 디바이스들의 각각의 뷰들로부터 실세계 장면을 묘사하는 8개의 고해상도 캡처된 표면 데이터 프레임 시퀀스들을 생성하기 위해 사용될 뿐만 아니라, 캡처 디바이스들의 뷰들과 상이한(예로서, 맞추어 조정되지 않은) 다양한 맞춤화된 뷰들과 연관된 상대적으로 다수(예로서, 300개)의 저해상도 가상화된 표면 데이터 프레임 시퀀스들을 생성하기 위해 사용될 수 있다.Additionally, capture data (eg, surface data frame sequences) associated with various different sets of capture parameters (eg, parameters representing various different vantage points, various different capture resolutions, etc.) By generating, the systems and methods described herein can enable practical and efficient distribution of data contained within virtual reality media content captured by a physical capture device and presented to end users. For example, high-resolution data captured by eight capture devices placed around a real-world scene may be used to generate sequences of eight high-resolution captured surface data frames depicting the real-world scene from respective views of the eight capture devices. In addition, it can be used to generate a relatively large number (eg, 300) low-resolution virtualized surface data frame sequences associated with various customized views that are different (eg, not scaled to fit) than the views of the capture devices.

가상화된 표면 데이터 프레임 시퀀스들을 수신하는 가상 현실 미디어 콘텐트 제공자 시스템은 시스템이 특정한 시간들에 특정한 미디어 플레이어 디바이스들에 제공하는(즉, 특정한 미디어 플레이어 디바이스들에 제공된 가상 현실 미디어 콘텐트 내에 포함함) 데이터의 증가된 유연성으로부터 이익을 얻을 수 있다. 이와 같이, 하기에 더 상세하게 설명될 바와 같이, 가상 현실 미디어 콘텐트 제공자는 미디어 플레이어 디바이스와 상대적으로 관련이 없는 미디어 플레이어 디바이스에 대량의 데이터를 전송하지 않음으로써(예로서, 미디어 플레이어 디바이스가 사용자에게 제공하고 있는 특정 가상 현실 경험의 다양한 양태들에 기초하여), 그리고 깊이 정밀도 및/또는 깊이 해상도를 최적화하기 위해 표면들의 깊이 표현들에서 최적화된 비트 깊이들을 사용하여 데이터를 제공함으로써와 같이 미디어 플레이어 디바이스들에 제공된 데이터를 최적화하는 증가된 능력으로부터 이익을 얻을 수 있다.A virtual reality media content provider system that receives virtualized surface data frame sequences can store data that the system provides (i.e., includes within virtual reality media content provided to specific media player devices) to specific media player devices at specific times. You can benefit from increased flexibility. As such, as will be described in more detail below, virtual reality media content providers do not transmit large amounts of data to media player devices that are relatively unrelated to the media player device (e.g., the media player device provides information to the user). media player device, such as by providing data using optimized bit depths in depth representations of surfaces to optimize depth precision and/or depth resolution) and based on various aspects of the particular virtual reality experience being provided. can benefit from an increased ability to optimize the data provided to them.

일례로서, 8개의 물리적 캡처 디바이스들에 의해 캡처된 모든 고해상도 데이터를 모든 미디어 플레이어 디바이스에 분배하는 것보다(다량의 데이터로 인해 비실용적이거나 불가능할 수 있음), 맞춤화된 데이터는 더 선택적이고 유연하게 분배될 수 있다. 구체적으로, 예를 들면, 제 1 미디어 플레이어 디바이스에 대해 맞춤화된 데이터(예로서, 견고한 세트의 가상화된 표면 데이터 프레임 시퀀스들로부터 선택된 적은 가상화된 표면 데이터 프레임 시퀀스들을 나타내는 데이터)는 제 1 미디어 플레이어 디바이스의 사용자와 관련된 실세계 장면의 하나의 부분의 높은 레벨의 상세를 제공하기 위해 제 1 미디어 플레이어 디바이스에 분배될 수 있는 반면에, 제 2 미디어 플레이어 디바이스에 대해 맞춤화된 데이터(예로서, 적은 상이한 가상화된 표면 데이터 프레임 시퀀스들을 나타내는 데이터)는 제 2 미디어 플레이어 디바이스의 사용자와 관련된 실세계 장면의 또 다른 부분의 높은 레벨의 상세를 제공하기 위해 제 2 미디어 플레이어 디바이스에 분배될 수 있다. 이와 같이, 가상 현실 미디어 콘텐트 제공자 시스템은 어떤 미디어 플레이어 디바이스(또는 미디어 플레이어 디바이스들과 통신하기 위해 사용된 임의의 분포 채널들)에 과도한 양의 중복 데이터 또는 각각의 사용자들과 덜 관련이 있는 실세계 장면의 부분들에 관한 상세 데이터로 과부하가 걸리지 않게 하면서 제 1 및 제 2 미디어 플레이어 디바이스들 둘 모두에 그들의 각각의 사용자들과 관련되는 데이터(예로서, 사용자가 경험하고 있는 실세계 장면의 각각의 부분들에 대해 맞춤화된 로컬화된 데이터)를 제공할 수 있다. 이러한 방식으로, 데이터 분배는 사용자 경험들이 더 높은 해상도, 및 더 현실적이고 몰입형 콘텐트를 통해 개선될지라도 클라이언트 측 미디어 플레이어 디바이스들에 더 적은 데이터가 분배되도록 요구함으로써 개선되고 더 효율적이고 효과적이 될 수 있다. 이 개선은 실세계 장면의 단지 가장 관련 있는 부분들의 고품질 표현들을 동적으로 포함하도록 가상 현실 미디어 콘텐트의 맞춤화로 인해 발생한다.As an example, rather than distributing all high-resolution data captured by 8 physical capture devices to all media player devices (which may be impractical or impossible due to the large amount of data), customized data can be more selectively and flexibly distributed. can Specifically, for example, data tailored for a first media player device (eg, data representative of a small number of virtualized surface data frame sequences selected from a robust set of virtualized surface data frame sequences) may be distributed to a first media player device to provide a high level of detail of one portion of a real-world scene relevant to a user of a user, while data customized for a second media player device (e.g., less different virtualized Data representing surface data frame sequences) can be distributed to the second media player device to provide a high level of detail of another portion of the real world scene that is relevant to a user of the second media player device. As such, the virtual reality media content provider system may not provide any media player device (or any distribution channels used to communicate with the media player devices) with excessive amounts of redundant data or real-world scenes that are less relevant to individual users. data relating to their respective users on both the first and second media player devices (eg, respective parts of the real-world scene the user is experiencing) without overloading the first and second media player devices with detailed data about the parts localized data customized for ) can be provided. In this way, data distribution can be improved and made more efficient and effective by requiring less data to be distributed to client-side media player devices even though user experiences are improved through higher resolution, and more realistic and immersive content. there is. This improvement arises due to the customization of virtual reality media content to dynamically include high-quality representations of only the most relevant parts of a real-world scene.

다양한 실시예들이 이제 도면들을 참조하여 더 상세하게 설명될 것이다. 개시된 방법들 및 시스템들은 상기 언급된 이점들 및/또는 본 명세서에서 명백해질 다양한 부가적인 및/또는 대안적인 이점들 중 하나 이상을 제공할 수 있다.Various embodiments will now be described in more detail with reference to the drawings. The disclosed methods and systems may provide one or more of the above mentioned advantages and/or various additional and/or alternative advantages that will be apparent herein.

첨부된 도면들은 다양한 실시예들을 도시하고 본 명세서의 일부이다. 도시된 실시예들은 단지 예들이고 본 개시의 범위를 제한하지 않는다. 도면들 전체에 걸쳐 동일하거나 유사한 참조 부호들은 동일하거나 유사한 요소들을 지정한다.
도 1은 본 명세서에서 설명된 원리들에 따라 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 일 예시적인 가상화된 투영 생성 시스템을 도시한 도면.
도 2는 본 명세서에서 설명된 원리들에 따라 일 예시적인 실세계 장면을 나타내는 데이터가 실세계 장면의 상이한 뷰들로부터 캡처되는 일 예시적인 구성을 도시한 도면.
도 3a는 본 명세서에서 설명된 원리들에 따라 도 2의 실세계 장면을 나타내는 표면 데이터 프레임 시퀀스 내에 포함시키기 위해 컬러 및 깊이 프레임들을 캡처하는 일 예시적인 캡처 디바이스를 도시한 도면.
도 3b는 본 명세서에서 설명된 원리들에 따라 도 3a의 캡처 디바이스에 의해 캡처된 컬러 프레임으로 나타내진 컬러 데이터의 일 예시적인 그래픽 묘사를 도시한 도면.
도 3c는 본 명세서에서 설명된 원리들에 따라 도 3a의 캡처 디바이스에 의해 캡처된 깊이 프레임으로 나타내진 깊이 데이터의 일 예시적인 그래픽 묘사를 도시한 도면.
도 4a 및 도 4b는 본 명세서에서 설명된 원리들에 따라 도 2의 실세계 장면을 나타내고 도 3a의 캡처 디바이스에 의해 생성된 일 예시적인 표면 데이터 프레임 시퀀스의 상이한 표현들을 도시한 도면들.
도 5는 도 2의 실세계 장면을 나타내는 데이터가 본 명세서에서 설명된 원리들에 따라 실세계 장면의 맞춤화된 뷰를 위해 부가적으로 생성되는 도 2의 구성에 기초한 일 예시적인 구성을 도시한 도면.
도 6은 본 명세서에서 설명된 원리들에 따라 도 5의 실세계 장면의 맞춤화된 뷰의 일 예시적인 가상화된 투영을 위해 컬러 및 깊이 프레임들을 포함하는 일 예시적인 가상화된 표면 데이터 프레임 시퀀스를 도시한 도면.
도 7은 본 명세서에서 설명된 원리들에 따라 일 예시적인 복수의 표면 데이터 프레임 시퀀스들을 포함하는 일 예시적인 전송 스트림의 그래픽 표현을 도시한 도면.
도 8은 본 명세서에서 설명된 원리들에 따라 도 7의 예시적인 전송 스트림의 데이터 구조 표현을 도시한 도면.
도 9는 본 명세서에서 설명된 원리들에 따라 타일 맵을 구현하는 일 예시적인 프레임 시퀀스를 포함하는 일 예시적인 전송 스트림의 그래픽 표현을 도시한 도면.
도 10은 본 명세서에서 설명된 원리들에 따라 도 9의 예시적인 전송 스트림의 데이터 구조 표현을 도시한 도면.
도 11은 본 명세서에서 설명된 원리들에 따라 일 예시적인 가상 현실 미디어 콘텐트 제공자 시스템이 실세계 장면에 기초하여 가상 현실 미디어 콘텐트를 생성하고 실세계 장면의 표현을 경험하기 위해 가상 현실 매체 콘텐트를 사용자에 의해 사용된 일 예시적인 클라이언트 측 미디어 플레이어 디바이스에 제공하는 일 예시적인 구성을 도시한 도면.
도 12는 본 명세서에서 설명된 원리들에 따라 가상 현실 미디어 콘텐트를 경험하기 위해 사용자에 의해 사용될 수 있는 다양한 예시적인 유형들의 미디어 플레이어 디바이스들을 도시한 도면.
도 13은 본 명세서에서 설명된 원리들에 따라 실세계 장면에 대한 일 예시적인 임의의 가상 위치에 대응하는 동적으로 선택가능한 가상 시점으로부터 경험된 바와 같은 실세계 장면에 기초한 예시적인 가상 현실 미디어 콘텐트를 사용자가 제공받는 일 예시적인 가상 현실 경험을 도시한 도면.
도 14 및 도 15는 본 명세서에서 설명된 원리들에 따라 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 예시적인 방법들을 도시한 도면들.
도 16은 본 명세서에서 설명된 원리들에 따른 일 예시적인 컴퓨팅 디바이스를 도시한 도면.
The accompanying drawings illustrate various embodiments and are part of this specification. The illustrated embodiments are examples only and do not limit the scope of the present disclosure. The same or similar reference numbers designate the same or similar elements throughout the drawings.
1 illustrates an exemplary virtualized projection creation system for generating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content according to principles described herein;
FIG. 2 illustrates an example configuration in which data representative of an example real-world scene is captured from different views of a real-world scene in accordance with principles described herein; FIG.
FIG. 3A illustrates an exemplary capture device that captures color and depth frames for inclusion within a sequence of surface data frames representing the real-world scene of FIG. 2 according to principles described herein.
FIG. 3B is an example graphical representation of color data represented by a color frame captured by the capture device of FIG. 3A according to the principles described herein;
3C is an example graphical depiction of depth data represented by a depth frame captured by the capture device of FIG. 3A according to the principles described herein;
4A and 4B show different representations of the real-world scene of FIG. 2 and an exemplary sequence of surface data frames generated by the capture device of FIG. 3A according to the principles described herein.
FIG. 5 illustrates an exemplary configuration based on that of FIG. 2 in which data representative of the real-world scene of FIG. 2 is additionally generated for a customized view of the real-world scene according to principles described herein;
FIG. 6 illustrates an exemplary virtualized surface data frame sequence including color and depth frames for an exemplary virtualized projection of a customized view of the real-world scene of FIG. 5 according to principles described herein; .
FIG. 7 is a graphical representation of an example transport stream comprising a plurality of surface data frame sequences according to the principles described herein; FIG.
8 is a data structure representation of the exemplary transport stream of FIG. 7 according to the principles described herein;
9 is a graphical representation of an example transport stream containing an example frame sequence that implements a tile map according to principles described herein;
10 is a data structure representation of the exemplary transport stream of FIG. 9 according to the principles described herein;
11 illustrates an example virtual reality media content provider system generating virtual reality media content based on a real-world scene and enabling a user to view the virtual reality media content to experience a representation of the real-world scene, in accordance with principles described herein. A diagram illustrating an exemplary configuration provided to an exemplary client-side media player device used.
12 depicts various example types of media player devices that may be used by a user to experience virtual reality media content in accordance with the principles described herein.
FIG. 13 shows a user viewing exemplary virtual reality media content based on a real-world scene as experienced from a dynamically selectable virtual point of view corresponding to an exemplary arbitrary virtual location relative to the real-world scene in accordance with principles described herein. A diagram depicting an exemplary virtual reality experience provided.
14 and 15 illustrate example methods for creating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content according to the principles described herein.
16 depicts an example computing device in accordance with the principles described herein.

도 1은 가상 현실 미디어 콘텐트 내에 포함시키기 위한 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 일 예시적인 가상화된 투영 생성 시스템(100)("시스템(100)")을 도시한다. 도시된 바와 같이, 시스템(100)은 제한 없이, 통신 시설(102), 표면 데이터 프레임 시퀀스 관리 시설(104), 가상화된 투영 생성 시설(106), 및 서로 선택적으로 그리고 통신가능하게 결합된 저장 시설(108)를 포함할 수 있다. 시설들(102 내지 108)이 도 1에서 별개의 시설들인 것으로 도시될지라도, 시설들(102 내지 108)이 단일 시설과 같은 더 적은 시설들로 조합되거나, 특정한 구현을 제공할 수 있는 더 많은 시설들로 분할될 수 있음이 인식될 것이다. 일부 예들에서, 시설들(102 내지 108)의 각각은 특정한 구현을 제공할 수 있는 다수의 디바이스들 및/또는 다수의 위치들 사이에 분배될 수 있다. 부가적으로, 시스템(100)의 특정한 구현들에서, 도 1에 도시된 특정 시설들(및 이러한 시설들과 연관된 연관된 기능)이 시스템(100)으로부터 생략될 수 있음이 이해될 것이다. 시설들(102 내지 108)의 각각은 이제, 본 명세서에 포함된 특정 다른 도면들을 참조하여 더 상세히 설명될 것이다.1 depicts an exemplary virtualized projection creation system 100 (“System 100”) for generating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content. As shown, system 100 includes, without limitation, a communication facility 102, a surface data frame sequence management facility 104, a virtualized projection generation facility 106, and a storage facility selectively and communicatively coupled to each other. (108). Although facilities 102-108 are shown as separate facilities in FIG. 1, facilities 102-108 may be combined into fewer facilities, such as a single facility, or more facilities that may provide a particular implementation. It will be appreciated that can be partitioned into In some examples, each of facilities 102 - 108 may be distributed among multiple devices and/or multiple locations that may provide a particular implementation. Additionally, it will be appreciated that in certain implementations of system 100, certain facilities shown in FIG. 1 (and associated functionality associated with those facilities) may be omitted from system 100. Each of the facilities 102-108 will now be described in more detail with reference to certain other figures included herein.

통신 시설(102)은 시스템(100)에 의해 사용되고/되거나 제공된 데이터의 송신 및 수신과 연관된 다양한 동작을 수행하는 하나 이상의 물리적 컴퓨팅 디바이스들(예로서, 프로세서들, 메모리들, 통신 인터페이스들, 프로세서들에 의해 실행하기 위해 메모리에 저장된 지시들, 등과 같은 하드웨어 및/또는 소프트웨어 구성요소들)을 포함할 수 있다. 예를 들면, 통신 시설(102)은 각각이, 실세계 장면의 상이한 뷰들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임들을 포함하는 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신(또는 수신하는 것을 가능하게)할 수 있다.Communication facility 102 is one or more physical computing devices (e.g., processors, memories, communication interfaces, processors) that perform various operations associated with transmitting and receiving data used and/or provided by system 100. hardware and/or software components, such as instructions stored in memory for execution by , etc.). For example, the communication facility 102 includes color and depth frames that each depict a real-world scene according to a respective set of capture parameters included in a plurality of sets of capture parameters associated with different views of the real-world scene. receiving (or enabling receiving) a plurality of captured surface data frame sequences.

통신 시설(102)은 특정한 구현을 제공할 수 있는 임의의 방식으로 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신할 수 있다. 예를 들면, 특정 실시예들에서, 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처(예로서, 생성)될 수 있다. 이와 같이, 통신 시설(102)은 예를 들면, 캡처 디바이스들에 의해 송신된 데이터를 요청 및 수신하거나 그렇지 않으면 캡처 디바이스들로부터 데이터에 액세스하거나 상기 데이터를 획득함으로써 복수의 캡처 디바이스들로부터 직접적으로 데이터(예로서, 캡처된 표면 데이터 프레임 시퀀스들)를 수신할 수 있다. 다른 예들에서, 하나 이상의 다른 시스템들(예로서, 실세계 장면 캡처 시스템)은 통신 시설(102)이 하나 이상의 다른 시스템들에 의해 캡처된 표면 데이터 프레임 시퀀스들을 수신할 수 있도록 캡처 디바이스들과 시스템(100) 사이에 개재할 수 있다.The communication facility 102 may receive the plurality of captured surface data frame sequences in any manner capable of providing a particular implementation. For example, in certain embodiments, each surface data frame sequence in the plurality of captured surface data frame sequences includes a plurality of capture devices disposed at different locations relative to the real-world scene to capture different views of the real-world scene. may be captured (eg, created) by a different capture device in a field. As such, the communication facility 102 may transmit data directly from a plurality of capture devices, for example, by requesting and receiving data transmitted by the capture devices or otherwise accessing or obtaining data from the capture devices. (eg, captured surface data frame sequences). In other examples, one or more other systems (eg, a real world scene capture system) may be used to capture devices and system 100 so that communication facility 102 may receive surface data frame sequences captured by one or more other systems. ) can be interposed between

부가적으로 또는 대안적으로, 통신 시설(102)은 데이터(예로서, 가상화된 표면 데이터 프레임 시퀀스들 또는 시스템(100)에 의해 수신되고/되거나 생성된 다른 데이터)를 가상 현실 미디어 콘텐트 제공자 파이프라인에서 다른 서버 측 시스템들에 및/또는 최종 사용자들에 의해 사용된 클라이언트 측 미디어 플레이어 디바이스들에 제공할 수 있다. 본 명세서에서 사용된 바와 같이, "서버 측"은 콘텐트 제공자 시스템이 콘텐트(예로서, 가상 현실 미디어 콘텐트)를 최종 사용자에 의해 사용된 클라이언트 디바이스에 제공하는 트랜잭션(transaction)과 같은 서버 클라이언트 트랜잭션의 서버 측(예로서, 제공자 측)을 언급할 수 있다. 예를 들면, 하기에 더 상세히 설명될 바와 같이, 가상 현실 미디어 콘텐트 제공자 시스템은 가상 현실 미디어 콘텐트를 사용자와 연관된 미디어 플레이어 디바이스에 제공할 수 있다. 이와 같이, 서버 측 시스템들 및 구성요소들은 데이터(예로서, 가상 현실 미디어 콘텐트)를 (예로서, 네트워크에 의해) 미디어 플레이어 디바이스에 제공하기 위해 콘텐트 제공자 시스템과 연관되는 (예로서, ~내에 포함됨, ~에 의해 구현됨, ~와 상호동작됨, 등) 그들의 시스템들 및 구성요소들을 말할 수 있다. 대조적으로, "클라이언트 측" 디바이스는 네트워크의 다른 측에서 사용자에 의해 사용된 클라이언트 디바이스(예로서, 미디어 플레이어 디바이스)와 연관될 수 있고, 클라이언트 디바이스가 콘텐트 제공자 시스템(예로서, 미디어 플레이어 디바이스 및/또는 네트워크의 사용자 측에서 사용자에 의해 동작된 다른 컴퓨터 구성요소들)으로부터 데이터를 수신하는 것을 가능하게 하는 디바이스들을 포함할 수 있다.Additionally or alternatively, communication facility 102 may route data (eg, virtualized surface data frame sequences or other data received and/or generated by system 100) to a virtual reality media content provider pipeline. to other server-side systems and/or to client-side media player devices used by end users. As used herein, “server-side” refers to the server side of a server-client transaction, such as a transaction in which a content provider system provides content (eg, virtual reality media content) to a client device used by an end user. side (eg, provider side). For example, as described in more detail below, a virtual reality media content provider system may provide virtual reality media content to a media player device associated with a user. As such, server-side systems and components are associated with (eg, included within) a content provider system to provide data (eg, virtual reality media content) to a media player device (eg, by a network). , implemented by, interoperable with, etc.) their systems and components. In contrast, a “client-side” device may be associated with a client device (eg, a media player device) used by a user on the other side of the network, and the client device may be associated with a content provider system (eg, a media player device and/or or other computer components operated by the user at the user's side of the network).

통신 시설(102)은 특정한 구현을 제공할 수 있는 임의의 통신 인터페이스들, 프로토콜들, 및/또는 기술들을 사용하여 서버 측 및/또는 클라이언트 측 시스템들과 통신하도록 구성될 수 있다. 예를 들면, 통신 시설(102)은 하나 이상의 네트워크들(예로서, 유선 또는 무선 근거리 네트워크들, 광역 네트워크들, 제공자 네트워크들, 인터넷, 등), 유선 통신 인터페이스들(예로서, 범용 직렬 버스("USB")), 무선 통신 인터페이스들, 또는 임의의 다른 적합한 통신 인터페이스들, 프로토콜들, 및/또는 기술들에 의해 통신하도록 구성될 수 있다.Communications facility 102 may be configured to communicate with server-side and/or client-side systems using any communication interfaces, protocols, and/or technologies that may provide a particular implementation. For example, communication facility 102 may include one or more networks (eg, wired or wireless local area networks, wide area networks, provider networks, the Internet, etc.), wired communication interfaces (eg, universal serial bus ( “USB”)), wireless communication interfaces, or any other suitable communication interfaces, protocols, and/or technologies.

표면 데이터 프레임 시퀀스 관리 시설(104)은 표면 데이터 프레임 시퀀스들과 연관된 각각의 세트들의 캡처 파라미터들 및 시스템(100)에 의해 수신되거나 생성된 표면 데이터 프레임 시퀀스들을 구성하거나, 동기화하거나, 유지하거나, 추적하고/하거나, 그렇지 않으면 관리하는 것과 연관된 다양한 동작들을 수행하는 하나 이상의 물리적 컴퓨팅 구성요소들(예로서, 통신 시설(102)의 하드웨어 및/또는 소프트웨어 구성요소들로부터 분리되거나 통신 시설(102)와 공유된 하드웨어 및/또는 소프트웨어 구성요소들)를 포함할 수 있다. 예를 들면, 표면 데이터 프레임 시퀀스 관리 시설(104)은 캡처된 표면 데이터 프레임 시퀀스들(예로서, 상기 설명된 바와 같이 캡처 디바이스들에 의해 캡처되고 통신 시설(102)에 의해 수신된 표면 데이터 프레임 시퀀스들)과 연관된 캡처 파라미터들의 세트들을 유지할 수 있고/있거나 캡처된 표면 데이터 프레임 시퀀스들과 연관된 캡처 파라미터들의 세트들과 별개인 하나 이상의 부가적인 세트들의 캡처 파라미터들을 식별(또는 식별하는 것을 가능하게)할 수 있다. 예를 들면, 표면 데이터 프레임 시퀀스 관리 시설(104)은 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 별개인 실세계 장면의 하나 이상의 맞춤화된 뷰들과 각각 연관된 하나 이상의 세트들의 캡처 파라미터들을 식별할 수 있다. 표면 데이터 프레임 시퀀스 관리 시설(104)은 또한, 본 명세서에서 설명되고/되거나 시스템(100)의 특정한 구현을 제공할 수 있는 다른 동작들을 수행할 수 있다.The surface data frame sequence management facility 104 configures, synchronizes, maintains, or tracks surface data frame sequences received or generated by system 100 and capture parameters of each set associated with the surface data frame sequences. One or more physical computing components (e.g., separate from or shared with the communication facility 102's hardware and/or software components) that perform various operations associated with managing and/or otherwise managing hardware and/or software components). For example, surface data frame sequence management facility 104 may store captured surface data frame sequences (e.g., surface data frame sequences captured by capture devices as described above and received by communication facility 102). s) and/or identify (or enable to identify) one or more additional sets of capture parameters distinct from the sets of capture parameters associated with captured surface data frame sequences. can For example, the surface data frame sequence management facility 104 identifies one or more sets of capture parameters each associated with one or more customized views of a real-world scene that are distinct from the different views of the real-world scene captured by the plurality of capture devices. can do. The surface data frame sequence management facility 104 may also perform other operations that may be described herein and/or provide a particular implementation of system 100 .

가상화된 투영 생성 시설(106)은 실세계 장면 및/또는 이와 연관된 데이터의 뷰들(예로서, 맞춤화된 뷰들)의 가상화된 투영들을 준비하거나, 형성하거나, 렌더링하거나, 그렇지 않으면 생성하는 것과 연관된 다양한 동작들을 수행하는 하나 이상의 물리적 컴퓨팅 구성요소들(예로서, 시설들(102 및/또는 104)의 하드웨어 및/또는 소프트웨어 구성요소들로부터 분리되거나 시설들(102 및/또는 104)과 공유된 하드웨어 및/또는 소프트웨어 구성요소들)을 포함할 수 있다. 예를 들면, 가상화된 투영 생성 시설(106)은 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있다. 더 구체적으로, 예를 들면, 가상화된 투영 생성 시설(106)은 통신 시설(102)에 의해 수신된 표면 데이터 프레임 시퀀스들 중 적어도 하나에 기초하여 그리고 표면 데이터 프레임 시퀀스 관리 시설(104)에 의해 식별된 부가적인 세트의 캡처 파라미터들에 또한 기초하여 컬러 및 깊이 프레임들을 렌더링할 수 있다. 가상화된 투영 시설(106)은 또한, 가상화된 투영을 위한 렌더링된 컬러 및 깊이 프레임들에 기초하여(예로서, 포함하는) 가상화된 표면 데이터 프레임 시퀀스를 생성할 수 있다. 일단 가상화된 표면 데이터 프레임 시퀀스가 생성되면, 가상화된 투영 시설(106)은 사용자와 연관된 미디어 플레이어 디바이스에 대한 가상 현실 미디어 콘텐트 내에 포함시키기 위해 표면 데이터 프레임 시퀀스를 제공할 수 있다. 대안적으로, 상기 언급된 바와 같이, 가상화된 표면 데이터 프레임 시퀀스는 특정 구현들에서 통신 시설(102)에 의해 가상 현실 미디어 콘텐트 내에 포함시키기 위해 제공될 수 있다. 가상화된 투영 시설(106)은 또한, 본 명세서에서 설명되고/되거나 시스템(100)의 특정한 구현을 제공할 수 있는 다른 동작들을 수행할 수 있다.Virtualized projection generation facility 106 performs various operations associated with preparing, forming, rendering, or otherwise generating virtualized projections of views (eg, customized views) of a real-world scene and/or data associated therewith. One or more physical computing components (e.g., hardware and/or hardware and/or software components). For example, virtualized projection creation facility 106 may render color and depth frames for a virtualized projection of a customized view of a real world scene. More specifically, for example, the virtualized projection generation facility 106 is identified by the surface data frame sequence management facility 104 and based on at least one of the surface data frame sequences received by the communication facility 102. color and depth frames may also be rendered based on an additional set of captured parameters. The virtualized projection facility 106 may also generate a virtualized surface data frame sequence based on (eg, including) the rendered color and depth frames for the virtualized projection. Once the virtualized surface data frame sequence is created, the virtualized projection facility 106 can present the surface data frame sequence for inclusion within virtual reality media content for a media player device associated with the user. Alternatively, as noted above, a sequence of virtualized surface data frames may be provided for inclusion within virtual reality media content by the communication facility 102 in certain implementations. Virtualized projection facility 106 may also perform other operations that may be described herein and/or provide a particular implementation of system 100 .

저장 시설(108)은 특정한 구현에서 시설들(102 내지 106)에 의해 수신되거나, 생성되거나, 관리되거나, 추적되거나, 유지되거나, 사용되고/되거나, 송신된 임의의 적합한 데이터를 저장하고/하거나 유지할 수 있다. 예를 들면, 도시된 바와 같이, 저장 시설(108)은 본 명세서에서 설명된 방식들 중 임의의 방식들로 수신되거나, 생성되거나, 관리되거나, 추적되거나, 유지되거나, 사용되고/되거나, 송신될 수 있는(예로서, 다른 시스템들에 제공될 수 있는) 표면 데이터 프레임 시퀀스 데이터(110) 및/또는 캡처 파라미터 데이터(112)를 포함할 수 있다. 부가적으로, 저장 시설(108)은 본 명세서에서 설명된 동작들을 수행하기 위한 지시들(예로서, 프로그래밍 지시들) 및/또는 본 명세서에서 설명된 동작을 수행하기 위해 시설들(102 내지 106)에 의해 사용된 다른 데이터와 같은 시스템(100)의 특정한 구현들에 의해 사용된 다른 유형들의 데이터를 포함할 수 있다. 저장 시설(108)은 본 명세서에서 설명된 방식들 중 임의의 방식들로 구현될 수 있고 랜덤 액세스 메모리("RAM"), 비일시적 저장장치(예로서, 디스크 저장장치, 플래시 메모리 저장장치, 등), 등을 포함하지만 그것으로 제한되지 않는 데이터를 저장하는 임의의 일시적 또는 비일시적 모드들을 위한 하드웨어 및/또는 소프트웨어를 포함할 수 있다.Storage facility 108 may, in particular implementations, store and/or maintain any suitable data received, generated, managed, tracked, maintained, used, or transmitted by facilities 102-106. there is. For example, as shown, storage facility 108 may be received, created, managed, tracked, maintained, used and/or transmitted in any of the ways described herein. surface data frame sequence data 110 and/or capture parameter data 112 that can be present (eg, that can be provided to other systems). Additionally, storage facility 108 may include instructions (eg, programming instructions) for performing operations described herein and/or facilities 102-106 for performing operations described herein. may include other types of data used by particular implementations of system 100, such as other data used by Storage facility 108 may be implemented in any of the ways described herein and may include random access memory (“RAM”), non-transitory storage (eg, disk storage, flash memory storage, etc.) ), and the like, may include hardware and/or software for any temporary or non-transitory modes of storing data.

일부 예들에서, 시스템(100)은 이벤트들이 실세계 장면 내에서 발생함에 따라 본 명세서에서 설명된 동작들 중 하나 이상을 실시간으로 수행할 수 있다. 그에 따라, 시스템(100)이 다른 시스템들이 또한, 실시간으로 동작하는 가상 현실 미디어 콘텐트 제공자 파이프라인 내에서 사용되는 구현들에서, 가상 현실 미디어 콘텐트(예로서, 실시간으로 시스템(100)에 의해 생성된 가상화된 표면 데이터 프레임 시퀀스들을 포함하는 가상 현실 미디어 콘텐트)는 실세계 장면 근처에 물리적으로 위치되지 않을 수 있지만 실세계 장면(예로서, 실세계 장면 내에서 발생하는 이벤트들)을 경험하기를 원할 수 있는 미디어 플레이어 디바이스들의 각각의 사용자들이 실세계 장면 및 그 안에서 발생하는 이벤트들을 그들의 각각의 미디어 플레이어 디바이스들을 사용하여 실시간으로(예로서, 이벤트들이 발생함에 따라 실시간으로) 가상으로 경험할 수 있도록 미디어 플레이어 디바이스들에 제공될 수 있다. 실세계 장면 내에서 이벤트들이 발생할 때 사용자가 실세계 장면을 정확하게 경험하는 것이 불가능하게 할 수 있도록 데이터 프로세싱 및 데이터 분배가 유한의 시간이 걸릴 수 있을지라도, 본 명세서에서 사용된 바와 같이, 동작은 동작이 즉시 그리고 과도한 지연 없이 수행될 때 "실시간"으로 수행되는 것으로 고려된다. 그에 따라, 사용자가 지연 후(예로서, 실제로 발생들이 일어난 후 몇 초 또는 몇 분) 실세계 장면 내에서 특정 이벤트들을 사용자가 경험하더라도 사용자는 실시간으로 실세계 장면을 경험한다고 말할 수 있다.In some examples, system 100 may perform one or more of the operations described herein in real-time as events occur within a real-world scene. Accordingly, in implementations where system 100 is used within a virtual reality media content provider pipeline where other systems also operate in real time, virtual reality media content (e.g., generated by system 100 in real time). Virtual reality media content (including virtualized surface data frame sequences) may not be physically located near a real-world scene, but may wish to experience a real-world scene (eg, events occurring within a real-world scene). Media player devices are provided so that each user of the devices can virtually experience a real-world scene and events occurring therein in real time (eg, in real time as events occur) using their respective media player devices. can Although data processing and data distribution may take a finite amount of time so as to make it impossible for a user to accurately experience a real-world scene as events occur within the real-world scene, as used herein, an action is an action immediately. and is considered to be performed in “real time” when performed without undue delay. As such, it can be said that a user experiences a real-world scene in real time even though the user experiences certain events within the real-world scene after a delay (eg, seconds or minutes after the actual occurrences occur).

상기 설명된 바와 같이, 특정한 구현들에서, 시스템(100)은 상대적으로 다수의 가상화된 투영들을 나타내는 데이터를 생성할 수 있다. 이 데이터는 가상 현실 미디어 콘텐트(예로서, 데이터를 사용하는 가상 현실 미디어 콘텐트)가 어떻게 생성되어 클라이언트 측 미디어 플레이어 디바이스들에 분배될 수 있는지에 대한 유연성을 제공할 수 있다. 예를 들면, 실세계 장면의 다수의 로컬화된 가상 투영들을 나타내는 데이터를 생성함으로써, 상세가 덜 관련되는 또 다른 사용자의 미디어 플레이어 디바이스에 제공되지 않으면서 하나의 사용자의 경험과 관련된 상세는 그 사용자와 연관된 미디어 플레이어 디바이스에 제공될 수 있다. As described above, in certain implementations, system 100 may generate data representative of a relatively large number of virtualized projections. This data can provide flexibility in how virtual reality media content (eg, virtual reality media content using the data) can be created and distributed to client-side media player devices. For example, by generating data representing multiple localized virtual projections of a real-world scene, details related to one user's experience can be shared with that user without being provided to another user's media player device with less relevant details. It can be provided to the associated media player device.

시스템(100)의 하나의 특정한 구현에서, 예를 들면, 통신 시설(102)은 각각이 실세계 장면의 상이한 뷰들과 연관된 제 1 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임들을 포함하는 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신할 수 있다(예로서, 실세계 장면 내에서 이벤트들이 발생함에 따라 실시간으로). 상기 설명된 바와 같이, 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처될 수 있다. 캡처된 표면 데이터 프레임 시퀀스들의 수신에 더하여, 표면 데이터 프레임 시퀀스 관리 시설(104)은 제 1 복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개인 제 2 복수의 세트들의 캡처 파라미터들을 식별할 수 있다. 예를 들면, 제 2 복수의 세트들의 캡처 파라미터들에서 각각의 세트의 캡처 파라미터들은 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 별개인 실세계 장면의 각각의 맞춤화된 뷰들과 연관될 수 있다. 예를 들면, 제 2 복수의 세트들의 캡처 파라미터들은 상대적으로 다수의 세트들의 캡처 파라미터들(예로서, 제 1 복수의 세트들의 캡처 파라미터들에 포함되는 것보다 많은 수의 세트들)을 포함할 수 있다. 이 식별 동작은 또한, 실세계 장면 내에서 이벤트들이 발생함에 따라 실시간으로 수행될 수 있다.In one particular implementation of the system 100, for example, the communication facility 102 is configured to each set of capture parameters included in a first plurality of sets of capture parameters, each associated with a different view of a real-world scene. receive a plurality of captured surface data frame sequences including color and depth frames depicting a real world scene (eg, in real time as events occur within the real world scene). As described above, each surface data frame sequence in the plurality of captured surface data frame sequences is captured by a different capture device on a plurality of capture devices disposed at different locations relative to the real world scene to capture different views of the real world scene. Can be captured by the device. In addition to receiving the captured surface data frame sequences, the surface data frame sequence management facility 104 may send a second plurality of sets of capture parameters separate from the sets of capture parameters included in the first plurality of sets of capture parameters. can be identified. For example, each set of capture parameters in a second plurality of sets of capture parameters may be associated with respective customized views of a real-world scene that are distinct from different views of the real-world scene captured by the plurality of capture devices. there is. For example, the second plurality of sets of capture parameters may include a relatively large number of sets of capture parameters (eg, a greater number of sets than are included in the first plurality of sets of capture parameters). there is. This identification operation can also be performed in real time as events occur within the real world scene.

제 2 복수의 세트들의 캡처 파라미터들의 식별에 응답하여, 가상화된 투영 생성 시설(106)은 복수의 캡처된 표면 데이터 프레임 시퀀스들에 기초하여 그리고 제 2 복수의 세트들의 캡처 파라미터들에 기초하여 실세계 장면의 각각의 맞춤화된 뷰의 가상화된 투영들을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있다. 일부 예들에서, 가상화된 투영 생성 시설(106)은 하기에 더 상세히 설명될 바와 같이 하나 이상의 전송 스트림들 등에 의해 전송될 수 있는 각각의 가상화된 표면 데이터 프레임 시퀀스들 내에 포함되도록 렌더링된 컬러 및 깊이 프레임들을 패키징할 수 있다. 이 렌더링 및/또는 데이터 패키징은 또한, 이벤트들이 실세계 장면 내에서 발생함에 따라 실시간으로 수행될 수 있다. 이와 같이, 통신 시설(102)은 실세계 장면의 각각의 맞춤화된 뷰의 가상화된 투영들을 위한 렌더링된 컬러 및 깊이 프레임들을 포함하는 복수의 가상화된 표면 데이터 프레임 시퀀스들을 제공할 수 있다(예로서, 이벤트가 실세계 장면 내에서 발생함에 따라 실시간으로). 예를 들면, 복수의 가상화된 표면 데이터 프레임 시퀀스들은 미디어 플레이어 디바이스에 대한 가상 현실 미디어 콘텐트(예로서, 가상 현실 미디어 제공자 파이프라인에 의해 가상 현실 미디어 콘텐트를 경험하는 사용자와 연관된 미디어 플레이어 디바이스에 실시간으로 스트리밍되도록 구성된 가상 현실 미디어 콘텐트) 내에 포함시키기 위해 제공될 수 있다.In response to identifying the second plurality of sets of capture parameters, virtualized projection generation facility 106 generates a real-world scene based on the plurality of captured surface data frame sequences and based on the second plurality of sets of capture parameters. It can render color and depth frames for virtualized projections of each customized view of . In some examples, the virtualized projection generation facility 106 provides a rendered color and depth frame to be included within each virtualized surface data frame sequence, which may be transmitted by one or more transport streams, etc., as described in more detail below. can be packaged. This rendering and/or data packaging may also be performed in real time as events occur within the real world scene. As such, communication facility 102 may provide a plurality of virtualized surface data frame sequences including rendered color and depth frames for virtualized projections of each customized view of a real-world scene (eg, event in real time) as it occurs within a real-world scene. For example, a plurality of virtualized surface data frame sequences may provide virtual reality media content to a media player device (eg, in real time to a media player device associated with a user experiencing the virtual reality media content by a virtual reality media provider pipeline). virtual reality media content configured to be streamed).

실세계 장면을 나타내는 데이터(예로서, 시스템(100)에 의해 수신된 표면 데이터 프레임 시퀀스들)는 특정한 구현을 제공할 수 있는 임의의 적합한 구성으로 배열된 임의의 적합한 시스템들 및/또는 디바이스들에 의해 캡처될 수 있다. 예를 들면, 상기 언급된 바와 같이, 시스템(100)에 의해 수신된 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처될 수 있다.Data representing a real-world scene (e.g., surface data frame sequences received by system 100) may be processed by any suitable systems and/or devices arranged in any suitable configuration capable of providing a particular implementation. can be captured. For example, as noted above, each surface data frame sequence in a plurality of captured surface data frame sequences received by system 100 is located at different locations relative to the real world to capture different views of the real world scene. It can be captured by different capture devices in a plurality of capture devices disposed on.

예시하기 위해, 도 2는 일 예시적인 실세계 장면을 나타내는 데이터가 실세계 장면의 상이한 뷰들로부터 캡처되는 일 예시적인 구성(200)을 보여준다. 구체적으로, 구성(200)에서 도시된 바와 같이, 실세계 객체(204)를 포함하는 실세계 장면(202)은 실세계 장면(202)의 복수의 뷰들(206)(예로서, 뷰(206-1 내지 206-8))에 의해 둘러싸일 수 있다.To illustrate, FIG. 2 shows an example configuration 200 in which data representative of an example real-world scene is captured from different views of the real-world scene. Specifically, as shown in configuration 200, a real-world scene 202 that includes a real-world object 204 includes a plurality of views 206 (e.g., views 206-1 through 206) of the real-world scene 202. can be surrounded by -8)).

실세계 장면(202)은 임의의 실세계 풍경, 실세계 위치, 실세계 이벤트(예로서, 실시간 이벤트, 등), 또는 특정한 구현을 제공할 수 있는 실세계에 존재하는 다른 대상(예로서, 가상 세계 또는 허구 세계에서만 존재하는 것과 반대로)을 나타낼 수 있다. 도 2에서 실세계 장면(202)을 나타내는 원으로 도시된 바와 같이, 실세계 장면(202)은 무대, 경기장, 등과 같은 구체적으로 기술된 영역일 수 있다. 반대로, 다른 예들에서, 실세계 장면(202)은 그렇게 잘 정의되거나 기술되지 않을 수 있다. 예를 들면, 실세계 장면(202)은 도시 거리, 박물관, 경치 좋은 풍경, 등과 같은 임의의 실내 또는 실외 실세계 위치를 포함할 수 있다. 특정 예들에서, 실세계 장면(202)은 스포츠 이벤트, 뮤지컬 이벤트, 드라마 또는 극장용 공연, 대규모 축하(예로서, 타임스퀘어에서의 신년전야제, 참회 화요일(Mardis Gras), 등), 정치 이벤트, 또는 임의의 다른 실세계 이벤트와 같은 실세계 이벤트와 연관될 수 있다. 동일하거나 다른 예들에서, 실세계 장면(202)은 허구화된 장면을 위한 세팅(예로서, 실사 촬영 가상 현실 텔레비전 쇼 또는 영화의 세트) 및/또는 특정한 구현을 제공할 수 있는 임의의 다른 실내 또는 실외 실세계 위치에서의 임의의 다른 장면과 연관될 수 있다.A real-world scene 202 can be any real-world scenery, real-world location, real-world event (eg, real-time event, etc.), or other object present in the real world that may provide a particular implementation (eg, only in a virtual or fictional world). opposite to what exists). As shown in FIG. 2 by circles representing real-world scenes 202, real-world scenes 202 may be any specifically described area, such as a stage, stadium, or the like. Conversely, in other examples, the real world scene 202 may not be so well defined or described. For example, real-world scene 202 can include any indoor or outdoor real-world location, such as a city street, museum, scenic landscape, and the like. In certain examples, real-world scene 202 is a sporting event, musical event, dramatic or theatrical performance, large celebration (eg, New Year's Eve in Times Square, Mardis Gras, etc.), political event, or any may be associated with a real-world event, such as another real-world event in In the same or other examples, the real-world scene 202 may be a setting for a fictionalized scene (eg, the set of a live-action virtual reality television show or movie) and/or any other indoor or outdoor environment that may provide a particular implementation. It can be associated with any other scene in a real world location.

그에 따라, 실세계 객체(204)는 생물이든지 아니면 무생물이든지, 실세계 장면(202)과 연관되고(예로서, 실세계 장면(202) 내에 또는 주위에 위치됨) 뷰들(206) 중 적어도 하나로부터 검출가능한(예로서, 뷰잉가능한, 등) 임의의 실세계 객체를 나타낼 수 있다. 실세계 객체(204)가 명료성을 위해 상대적으로 단순한 기하학적 형태로 도시되지만, 실세계 객체(204)가 다양한 레벨들의 복잡성을 가지는 다양한 유형들의 객체들을 나타낼 수 있다는 것이 이해될 것이다. 기하학적 형상 대신에, 예를 들면, 실세계 객체(204)는 사람 또는 또 다른 생물, 투명하지 않은 고체, 액체, 또는 가스와 같은 임의의 생물 또는 무생물 객체 또는 표면, 벽, 천장, 바닥과 같은 덜 별개의 객체, 또는 본 명세서에서 설명되거나 특정한 구현을 제공할 수 있는 임의의 다른 유형의 객체를 나타낼 수 있다.Accordingly, the real-world object 204, whether animate or inanimate, is associated with (eg, is located in or around the real-world scene 202) the real-world scene 202 and is detectable from at least one of the views 206 ( eg, viewable, etc.) can represent any real-world object. Although real-world object 204 is shown in a relatively simple geometric form for clarity, it will be appreciated that real-world object 204 may represent various types of objects having various levels of complexity. Instead of a geometric shape, for example, real-world object 204 can be any animate or inanimate object, such as a person or another living creature, a non-transparent solid, liquid, or gas, or a less distinct object such as a surface, wall, ceiling, or floor. of, or any other type of object described herein or capable of providing a particular implementation.

실세계 객체(204)는 뷰들(206)로부터 실세계 장면(202)을 캡처하기 위해 실세계 장면(202)에 대해 상이한 위치들에 배치된 캡처 디바이스들에 의해 검출되도록 광(예로서, 실세계 장면(202)에서의 주변 광, 깊이 캡처 디바이스에 의해 방출된 구조화된 광 패턴의 적외선, 등)을 각각 반사할 수 있는 다양한 표면들을 포함할 수 있다. 실세계 객체(204)가 상대적으로 단순한 것으로 묘사될지라도, 실세계 객체(204)의 표면들의 깊이 및/또는 외관은 하기에 도시될 바와 같이 표면들이 검출되는 실세계 장면(202)의 뷰(206)에 기초하여 상이하게 나타날 수 있다. 즉, 실세계 객체(204)는 실세계 객체(204)가 뷰잉되는 관점(예로서, 위치, 시점, 등)에 기초하여 상이하게 보일 수 있다.The real-world object 204 is a light (eg, real-world scene 202 ambient light from the depth capture device, infrared light in the structured light pattern emitted by the depth capture device, etc.) that can each reflect various surfaces. Although real-world object 204 is depicted as being relatively simple, the depth and/or appearance of surfaces of real-world object 204 is based on view 206 of real-world scene 202 from which surfaces are detected, as will be shown below. may appear differently. That is, the real-world object 204 may look different based on the perspective (eg, location, point of view, etc.) from which the real-world object 204 is viewed.

상기 언급된 바와 같이, 실세계 장면(202)의 뷰들(206)은 실세계 장면(202)(예로서, 실세계 객체(204)를 포함함)이 뷰잉될 수 있는 상이한 관점들, 시점들, 등을 제공할 수 있다. 하기에 설명될 바와 같이, 다양한 상이한 뷰들(206)(예로서, 다양한 관점들로부터 실세계 장면(202)을 캡처하기 위해 실세계 장면(202)을 둘러싸는 뷰들(206))로부터 캡처된 실세계 장면(202)의 컬러 및 깊이 데이터를 사용하여, 시스템(100)은 실세계 장면(202)의 임의의 뷰의 가상화된 투영을 생성할 수 있다. 즉, 뷰들(206) 중 하나 이상으로부터 캡처된 컬러 및 깊이 데이터를 사용하여, 시스템(100)은 실세계 장면(202)의 맞춤화된 뷰(예로서, 뷰들(206)과 별개인 위치, 방향, 등으로부터 실세계 장면(202)의 임의의 뷰)의 가상화된 투영을 위해 컬러 및 깊이 데이터를 렌더링할 수 있다.As noted above, views 206 of real-world scene 202 provide different perspectives, points of view, etc. from which real-world scene 202 (eg, including real-world object 204) may be viewed. can do. Real-world scene 202 captured from a variety of different views 206 (eg, views 206 surrounding the real-world scene 202 to capture the real-world scene 202 from various perspectives), as will be described below. ), the system 100 can create a virtualized projection of any view of the real-world scene 202 . That is, using the color and depth data captured from one or more of the views 206, the system 100 can perform a customized view of the real-world scene 202 (e.g., a location, orientation, etc. separate from the views 206). to render color and depth data for a virtualized projection of any view of the real-world scene 202 from

뷰들(206)은 실세계 장면(202)에 대해 각각 고정될 수 있다. 예를 들면, 실세계 장면(202) 및 뷰들(206) 둘 모두는 고정식일 수 있거나, 실세계 장면(202) 및 뷰들(206)은 함께 움직일 수 있다. 일부 예들에서, 구성(200)에서 도시된 바와 같이, 뷰들(206)은 실세계 장면(202)과 연관된 적어도 2개의 치수들을 따라(예로서, 지면과 같은 평면을 따라) 실세계 장면(202)을 둘러쌀 수 있다. 특정 예들에서, 뷰들(206)은 (예로서, 실세계 장면(202) 위 및 아래의 뷰들(206)을 또한 포함함으로써) 3개의 치수들을 따라 실세계 장면(202)을 둘러쌀 수 있다.Views 206 may each be anchored to a real world scene 202 . For example, both the real world scene 202 and views 206 can be stationary, or the real world scene 202 and views 206 can move together. In some examples, as shown in configuration 200, views 206 are around real-world scene 202 along at least two dimensions associated with real-world scene 202 (eg, along a plane such as the ground). can be rice In certain examples, views 206 may enclose real world scene 202 along three dimensions (eg, by also including views 206 above and below real world scene 202 ).

뷰들(206)이 배치되는 실세계 장면(202)을 둘러싸는 상이한 위치들에 의해 도시된 바와 같이, 각각의 뷰(206)는 실세계 장면(202)에 대해 특정한 위치와 연관될 수 있다. 부가적으로, 뷰들(206)은 또한, 실세계 장면(202)이 어떻게 캡처되는지에 대한 다른 양태들과 연관될 수 있다. 예를 들면, 각각의 뷰(206)로부터 나오는 점선으로 도시된 바와 같이, 뷰들(206)은 특정한 캡처 방향들(예로서, 뷰들(206)에 대응하는 캡처 디바이스들이 대향하고 있는 특정한 방향들), 캡처의 특정한 시야들(예로서, 예를 들면 캡처 디바이스들의 렌즈들이 얼마나 협각이거나 광각인지, 캡처 디바이스의 줌 레벨, 등에 기초하여 캡처 디바이스들에 의해 캡처되는 실세계 장면(202)의 영역들)과 연관될 수 있다. 각각의 뷰(206)는 또한, 도 2에 명시적으로 도시되지 않은 캡처의 양태들과 연관될 수 있다. 예를 들면, 각각의 뷰(206)는 뷰(206)와 연관된 캡처 디바이스에 의해 데이터가 캡처되는 특정한 품질 레벨(예로서, 이미지 해상도, 프레임 레이트, 등), 캡처 디바이스에 의해 캡처된 데이터가 인코딩되는 특정한 포맷, 및/또는 특정한 구현을 제공할 수 있는 데이터 캡처의 임의의 다른 양태들과 연관될 수 있다.Each view 206 may be associated with a particular location relative to the real world scene 202 , as illustrated by the different locations surrounding the real world scene 202 in which the views 206 are placed. Additionally, views 206 can also be associated with other aspects of how the real-world scene 202 is captured. For example, as shown by dashed lines emerging from each view 206 , the views 206 may include specific capture directions (eg, specific directions in which capture devices corresponding to the views 206 are facing), Associated with particular fields of view of the capture (eg, regions of the real-world scene 202 captured by the capture devices based on, for example, how narrow or wide the lenses of the capture devices are, the zoom level of the capture device, etc.) It can be. Each view 206 may also be associated with aspects of capture not explicitly shown in FIG. 2 . For example, each view 206 may be associated with a particular quality level at which data is captured by the capture device associated with the view 206 (eg, image resolution, frame rate, etc.), the encoding the data captured by the capture device may be associated with any other aspects of data capture that may provide a specific format and/or specific implementation.

일부 예들에서, 구성(200)에서 도시된 바와 같이, 각각의 뷰(206)와 연관된 시점(예로서, 방향, 시야들, 등)은 뷰들(206)과 맞추어 조정되지 않을 수 있는 맞춤화된 뷰들로부터 실세계 장면(202)을 나중에 재생성할 수 있도록 충분한 관점들로부터 실세계 장면(202)을 캡처하기 위해 실세계 장면(202)을 향하여 안쪽으로 각이질 수 있다. 부가적으로, 동일하거나 다른 예들에서, 뷰들(206)과 연관된 시점들 중 하나 이상은 실세계 장면(202) 등을 둘러싸는 객체들을 나타내는 데이터를 캡처하기 위해 바깥쪽으로 각이질 수 있다(즉, 실세계 장면(202)으로부터 멀어짐). 예를 들면, 구면의 바깥 쪽을 향하는 시점을 갖는 360도 캡처 디바이스는 부가적인 관점들로부터 실세계 장면(202) 내에 포함된 객체들을 캡처하기 위해 및/또는 실세계 장면(202) 외부의 디바이스들을 캡처하기 위해 실세계 장면(202)의 중간의 위치(명시적으로 도시되지 않음)에 배치될 수 있다. 부가적으로 또는 대안적으로, 특정 예들에서, 복수의 외향 뷰들은 실세계 장면의 파노라마, 광각, 또는 360도 뷰의 캡처를 허용할 수 있다.In some examples, as shown in configuration 200 , a viewpoint (eg, direction, fields of view, etc.) associated with each view 206 is derived from customized views that may not be aligned with views 206 . It may be angled inward toward the real-world scene 202 to capture the real-world scene 202 from enough perspectives to be able to recreate the real-world scene 202 later. Additionally, in the same or other examples, one or more of the viewpoints associated with views 206 may be angled outward to capture data representative of objects surrounding the real-world scene 202 or the like (i.e., the real-world scene). away from (202)). For example, a 360 degree capture device with a point of view pointing outward of a sphere is used to capture objects contained within the real-world scene 202 and/or devices outside the real-world scene 202 from additional perspectives. may be placed at an intermediate location (not explicitly shown) of the real world scene 202 for Additionally or alternatively, in certain examples, multiple outward-facing views may allow for the capture of a panoramic, wide-angle, or 360 degree view of a real-world scene.

각각의 뷰(206)의 관점들로부터 실세계 장면(202)을 캡처하기 위해, 복수의 캡처 디바이스에서 상이한 캡처 디바이스가 뷰들(206)의 각각의 상이한 위치에 배치될 수 있다. 예시하기 위해, 도 3a는 실세계 장면(202)을 나타내는 표면 데이터 프레임 시퀀스 내에 포함시키기 위해 컬러 및 깊이 프레임들을 캡처하는 일 예시적인 캡처 디바이스(302)를 보여준다.To capture the real world scene 202 from the perspectives of each view 206 , a different capture device in the plurality of capture devices may be placed at a different location of each of the views 206 . To illustrate, FIG. 3A shows an example capture device 302 that captures color and depth frames for inclusion within a sequence of surface data frames representing a real-world scene 202 .

도 3a에 도시된 바와 같이, 캡처 디바이스(302)는 뷰(206-1)와 연관될 수 있고, 이와 같이 뷰(206-1)에 대응하는 위치에서 실세계 장면(202) 및 실세계 객체(204)에 대해 배치될 수 있다. 도 3a는 캡처 디바이스(302)가 실세계 장면(202)(예로서, 실세계 객체(204) 및/또는 그 안에 포함된 다른 객체들을 포함함)을 나타내는 컬러 데이터(예로서, 풀 컬러 또는 그레이스케일 이미지들을 나타내는 2D 비디오 데이터)를 캡처하도록 구성된 2차원("2D") 컬러 캡처 디바이스(304), 및 실세계 장면(202)을 나타내는 깊이 데이터를 캡처하도록 구성된 깊이 캡처 디바이스(306)를 포함할 수 있음을 도시한다.As shown in FIG. 3A , capture device 302 may be associated with view 206-1, and as such, capture device 202 and real-world object 204 at a location corresponding to view 206-1. can be placed against. 3A shows capture device 302 capturing color data (eg, a full color or grayscale image) representing a real-world scene 202 (eg, including real-world object 204 and/or other objects contained therein). a two-dimensional ("2D") color capture device 304 configured to capture 2D video data representing a field), and a depth capture device 306 configured to capture depth data representative of a real-world scene 202. show

2D 컬러 캡처 디바이스(304)는 임의의 적합한 2D 컬러 캡처 디바이스(예로서, 카메라, 비디오 카메라, 등)에 의해 구현될 수 있고, 특정한 구현을 제공할 수 있는 임의의 방식으로 2D 컬러 데이터를 캡처할 수 있다. 일부 예들에서, 2D 컬러 캡처 디바이스(304)는 깊이 캡처 디바이스(306)와 별개의 디바이스일 수 있다. 집합적으로, 이러한 별개의 디바이스들(예로서, 디바이스들을 기능적으로 병합하기 위해 사용된 임의의 통신 인터페이스들 및/또는 다른 하드웨어 또는 소프트웨어 메커니즘들 뿐만 아니라)은 캡처 디바이스(예로서, 캡처 디바이스(302))로서 언급될 수 있다. 다른 예들에서, 도 3a에 도시된 바와 같이, 2D 컬러 캡처 디바이스(304) 및 깊이 캡처 디바이스(306)는 설명될 컬러 데이터 및 깊이 데이터를 둘 모두를 캡처하는 단일 디바이스(즉, 캡처 디바이스(302))에 통합될 수 있다.2D color capture device 304 may be implemented by any suitable 2D color capture device (eg, camera, video camera, etc.), capable of capturing 2D color data in any manner capable of providing a particular implementation. can In some examples, 2D color capture device 304 can be a separate device from depth capture device 306 . Collectively, these separate devices (eg, as well as any communication interfaces and/or other hardware or software mechanisms used to functionally merge the devices) are a capture device (eg, capture device 302 ))). In other examples, as shown in FIG. 3A , 2D color capture device 304 and depth capture device 306 are a single device that captures both color data and depth data (i.e., capture device 302) as will be described. ) can be incorporated into

별개의 디바이스로서 구현되거나 2D 컬러 캡처 디바이스(304)와 통합되든 아니든, 깊이 데이터 캡처 디바이스(306)는 특정한 구현을 제공할 수 있는 임의의 방식으로 실세계 장면(202)을 나타내는 깊이 데이터를 캡처할 수 있다. 예를 들면, 깊이 데이터 캡처 디바이스(306)는 구조화된 광 깊이 맵 캡처 기술, 스테레오스코픽 깊이 맵 캡처 기술, 비행 시간(time-of flight) 깊이 맵 캡처 기술, 또 다른 적합한 깊이 맵 캡처 기술, 또는 특정한 구현을 제공할 수 있는 깊이 맵 캡처 기술들의 임의의 조합과 같은 하나 이상의 깊이 맵 캡처 기술들을 사용할 수 있다.Whether implemented as a separate device or integrated with the 2D color capture device 304, the depth data capture device 306 can capture depth data representative of the real-world scene 202 in any way that can provide a particular implementation. there is. For example, depth data capture device 306 may be structured optical depth map capture technology, stereoscopic depth map capture technology, time-of flight depth map capture technology, another suitable depth map capture technology, or a specific depth map capture technology. One or more depth map capture techniques may be used, such as any combination of depth map capture techniques that may provide an implementation.

깊이 데이터를 캡처하기 위해 사용된 깊이 맵 캡처 기술들의 유형 및 수에 관계 없이, 캡처 디바이스(302)는 뷰(206-1)로부터의 실세계 장면(202) 내에 포함된 실세계 객체(204) 및/또는 다른 객체들의 표면들을 나타내는 컬러 데이터(예로서, 컬러 프레임들) 및 깊이 데이터(예로서, 깊이 프레임들) 둘 모두를 캡처할 수 있다. 본 명세서에서 사용된 바와 같이, 캡처 디바이스(302)에 의해 대략 동시에 캡처되는 컬러 프레임 및 깊이 프레임은 집합적으로, "표면 데이터 프레임" 또는 "컬러 및 깊이 프레임"으로서 언급될 수 있는데, 이는 이들 프레임들에 포함된 데이터가 실세계 장면에 포함된 실세계 객체들의 표면들을 설명하는 데이터(즉, 표면들의 보이는 외관 뿐만 아니라, 표면들의 깊이 기하학적 구조들 둘 모두)를 나타내기 때문이다.Regardless of the type and number of depth map capture techniques used to capture the depth data, capture device 302 may capture real-world objects 204 and/or objects 204 included within real-world scene 202 from view 206-1. It may capture both color data (eg, color frames) and depth data (eg, depth frames) representing surfaces of other objects. As used herein, color frames and depth frames that are captured approximately simultaneously by capture device 302 may be collectively referred to as "surface data frames" or "color and depth frames", which refer to these frames This is because the data contained in the s represents data describing the surfaces of real-world objects included in the real-world scene (ie, both the visible appearance of the surfaces, as well as the depth geometries of the surfaces).

그에 따라, 본 명세서에서 사용된 바와 같이, 표면 데이터 프레임 또는 컬러 및 깊이 프레임은 특정한 시점에서 실세계 장면의 특정한 뷰로부터 실세계 장면 내에서 보이는 실세계 객체들의 표면들과 연관된 다양한 유형들의 데이터를 나타내는 데이터세트를 언급할 수 있다. 예를 들면, 표면 데이터 프레임은 실세계 장면에 대해 특정한 뷰로부터 뷰잉할 때 객체들을 나타내는 깊이 데이터 뿐만 아니라, 컬러 데이터(즉, 이미지 데이터)를 포함할 수 있다. 이와 같이, 복수의 관련 표면 데이터 프레임들은 특정 뷰로부터 뷰잉할 때 실세계 장면의 비디오 형 표현(컬러 뿐만 아니라, 깊이 데이터를 나타내는)을 생성하기 위해 함께 시퀀싱(sequencing)될 수 있다. 특정 예들에서, 표면 데이터 프레임은 또한, 오디오 데이터, 메타데이터(예로서, 표면 데이터 프레임이 캡처되는 뷰를 설명하는 캡처 파라미터들의 세트를 포함하는 메타데이터, 표면 데이터 프레임으로 나타내진 특정 실세계 객체들에 관한 정보, 등)와 같은 다른 유형들의 데이터, 및/또는 특정한 구현을 제공할 수 있는 다른 유형들의 데이터와 연관될 수 있다. 하기에 설명되고 도시될 바와 같이, 이러한 표면 데이터 프레임들의 시퀀스는 본 명세서에서 "표면 데이터 프레임 시퀀스"로서 언급될 수 있다.Accordingly, as used herein, a surface data frame or color and depth frame is a dataset representing various types of data associated with surfaces of real-world objects visible within a real-world scene from a particular view of the real-world scene at a particular point in time. can be mentioned For example, a surface data frame may include color data (ie, image data) as well as depth data representing objects when viewed from a particular view of a real-world scene. As such, multiple related surface data frames can be sequenced together to create a video-like representation (representing color as well as depth data) of a real-world scene when viewed from a particular view. In certain examples, a surface data frame may also include audio data, metadata (e.g., metadata including a set of capture parameters describing the view from which the surface data frame is captured, specific real-world objects represented by the surface data frame) information about, etc.), and/or other types of data that may provide a particular implementation. As will be described and illustrated below, this sequence of surface data frames may be referred to herein as a “surface data frame sequence”.

본 명세서에서 사용된 바와 같이, "컬러 데이터"는 광범위하게, 특정 시점에서 또는 특정한 뷰의 관점으로부터 특정한 시간 기간에 걸쳐 대상(예로서, 실세계 장면에 포함된 실세계 객체)의 외관을 나타내는 컬러 또는 그레이스케일(즉, "흑백")로 나타나든 아니든 임의의 이미지 데이터, 비디오 데이터, 등을 포함할 수 있다. 컬러 데이터는 본 기술 분야의 이미지 데이터 및/또는 비디오 데이터를 정의하는 다양한 정의들 및/또는 표준들과 연관될 수 있는 임의의 특정한 포맷, 파일 유형, 프레임 레이트, 해상도, 품질 레벨, 또는 상이한 특성으로 제한되지 않는다. 유사하게, 본 명세서에서 사용된 바와 같이, "깊이 데이터"는 공간에서 대상의 위치 및/또는 기하학적 구조를 나타내는 임의의 데이터를 포함할 수 있다. 예를 들면, 실세계 객체를 나타내는 깊이 데이터는 실세계 객체의 표면들 상의 상이한 지점들에 대해 좌표 시스템(예로서, 특정한 캡처 디바이스와 연관된 좌표 시스템, 실세계 장면과 연관된 글로벌 좌표 시스템, 등)에 대한 좌표를 포함할 수 있다.As used herein, “color data” broadly refers to the colors or grays that represent the appearance of an object (eg, a real-world object included in a real-world scene) over a specified period of time from the point of view of a particular point in time or view. It may contain any image data, video data, etc., whether or not appearing in scale (ie, "black and white"). Color data may be in any particular format, file type, frame rate, resolution, quality level, or other characteristic that may be associated with various definitions and/or standards defining image data and/or video data in the art. Not limited. Similarly, as used herein, “depth data” may include any data representing the position and/or geometry of an object in space. For example, depth data representing a real-world object may provide coordinates relative to a coordinate system (eg, a coordinate system associated with a particular capture device, a global coordinate system associated with a real-world scene, etc.) for different points on the surfaces of the real-world object. can include

뷰(206-1)로부터 컬러 및 깊이 프레임들을 캡처하는 캡처 디바이스(302)와 같이, 다른 캡처 디바이스들이 다른 뷰들(206)과 연관된 각각의 시점들로부터 컬러 및 깊이 프레임들을 비슷하게 캡처하기 위해 다른 뷰들(206)(예로서, 도 2의 뷰들(206-2 내지 206-8))과 연관될 수 있다는 것이 이해될 것이다. 일부 예들에서, 표면 데이터 프레임들은 서로 동기화되도록 동일한 특정한 시점에서 상이한 뷰들(206)과 연관된 상이한 캡처 디바이스들에 의해 캡처될 수 있다. 본 명세서에서 사용된 바와 같이, 표면 데이터 프레임들은 표면 데이터 프레임들이 정확히 동일한 순간에 캡처되지 않더라도, 순간적으로(즉, 일정 시간에 걸쳐 대상을 나타내는 것과 대조적으로) 대상(예로서, 실세계 장면 내의 실세계 객체)을 효과적으로 나타내기 위해 표면 데이터 프레임들이 충분한 시간에 근접하게 캡처될 때 "동일한 특정한 시점에서" 캡처된다고 말할 수 있다. 예를 들면, 특정한 대상이 얼마나 동적인지(예로서, 하나 이상의 실세계 객체들이 실세계 장면 등을 통해 얼마나 빨리 이동하는지)에 의존하여, 예를 들면, 서로 수십 또는 수백 밀리초 내에 캡처될 때, 또는 특정한 구현을 제공할 수 있는 또 다른 적합한 시간프레임 내에(예로서, 마이크로초, 밀리초, 초 내에, 등) 캡처될 때 표면 데이터 프레임들은 동일한 특정한 시점에서 캡처된 것으로 고려될 수 있다. 이와 같이, 표면 데이터 프레임들의 각각은 표면들이 특정한 시점에서, 각각의 캡처 디바이스가 연관되는 뷰(206)의 각각의 시점으로부터 나타날 때 실세계 장면 내에 포함된 실세계 객체의 표면들의 컬러 데이터 및 깊이 데이터를 나타낼 수 있다.Like capture device 302 capturing color and depth frames from view 206-1, other capture devices similarly capture color and depth frames from respective viewpoints associated with other views 206 ( 206) (eg, views 206-2 through 206-8 of FIG. 2). In some examples, surface data frames may be captured by different capture devices associated with different views 206 at the same particular point in time to be synchronized with each other. As used herein, surface data frames refer to objects (e.g., real-world objects in a real-world scene) instantaneously (i.e., as opposed to representing objects over time), even if the surface data frames are not captured at exactly the same moment in time. ) can be said to be captured “at the same particular point in time” when surface data frames are captured close enough in time to effectively represent. Depending on how dynamic a particular object is (eg, how fast one or more real-world objects move through a real-world scene, etc.), e.g. when captured within tens or hundreds of milliseconds of each other, or Surface data frames may be considered captured at the same particular point in time when captured within another suitable timeframe (eg, within microseconds, milliseconds, seconds, etc.) that may provide an implementation. As such, each of the surface data frames will represent color data and depth data of surfaces of a real-world object included in a real-world scene as the surfaces appear from a particular viewpoint, from each viewpoint of the view 206 to which each capture device is associated. can

도 3b 및 도 3c는 캡처 디바이스(302)에 의해 캡처되고 컬러 및 깊이 프레임들 내에(즉, 표면 데이터 프레임 내에) 포함된 데이터의 예시적인 그래픽 묘사들을 도시한다. 구체적으로, 도시된 바와 같이, 표면 데이터 프레임에 통합된 컬러 프레임은 컬러 데이터(308)(도 3b에 도시됨)를 포함할 수 있는 반면, 표면 데이터 프레임에 통합된 깊이 프레임은 깊이 데이터(310)(도 3c에 도시됨)를 포함할 수 있다.3B and 3C show example graphical depictions of data captured by capture device 302 and contained within color and depth frames (ie, within a surface data frame). Specifically, as shown, a color frame integrated into a surface data frame may contain color data 308 (shown in FIG. 3B ), whereas a depth frame incorporated into a surface data frame may contain depth data 310 (shown in Figure 3c).

도 3b에서, 컬러 데이터(308)는 캡처 디바이스(302) 내의 2D 컬러 캡처 디바이스(304)에 의한 뷰(206-1)의 관점으로부터 뷰잉될 때 실세계 장면(202)(예로서, 실세계 객체(204)를 포함함)을 묘사한다. 컬러 데이터(308)가 비디오 프레임들의 시퀀스의 단일 비디오 프레임을 나타낼 수 있기 때문에, 컬러 데이터(308)에 의해 나타내진 실세계 객체(204)의 묘사는 실세계 객체(204)(예로서, 실세계 장면(202)과 연관된 다른 객체들 뿐만 아니라)가 특정한 시점에서 뷰(206-1)의 시점으로부터 어떻게 나타나는지를 나타낼 수 있다. 도 3b에서 이미지로서 도시되어 있을지라도, 컬러 데이터(308)가 임의의 적합한 형태로 캡처되고, 인코딩되고, 포맷되고, 송신되며, 나타내질 수 있음이 이해될 것이다. 예를 들면, 컬러 데이터(308)는 표준 비디오 인코딩 프로토콜, 표준 이미지 포맷, 등에 따라 포맷되는 디지털 데이터일 수 있다. 일부 예들에서, 컬러 데이터(308)는 실세계 장면(202)에서 객체들의 컬러 이미지(예로서, 컬러 사진과 유사함)를 나타낼 수 있다. 대안적으로, 다른 예들에서, 컬러 데이터(308)는 객체들을 나타내는 그레이스케일 이미지일 수 있다(예로서, 흑백 사진과 유사함).In FIG. 3B , color data 308 is a real-world scene 202 (e.g., a real-world object 204 when viewed from the perspective of view 206-1 by a 2D color capture device 304 within capture device 302). ), including). Because color data 308 can represent a single video frame of a sequence of video frames, a depiction of real-world object 204 represented by color data 308 can represent real-world object 204 (e.g., real-world scene 202 ) as well as other objects associated with ) appear from the point of view 206-1 at a particular point in time. Although shown as an image in FIG. 3B , it will be appreciated that the color data 308 may be captured, encoded, formatted, transmitted, and presented in any suitable form. For example, color data 308 may be digital data formatted according to standard video encoding protocols, standard image formats, or the like. In some examples, color data 308 can represent a color image (eg, similar to a color photograph) of objects in real-world scene 202 . Alternatively, in other examples, color data 308 may be a grayscale image representing objects (eg, similar to a black and white photograph).

도 3c에서, 깊이 데이터(310)(컬러 데이터(308)와 같은)는 또한, 뷰(206-1)의 관점으로부터 실세계 장면(202)(실세계 객체(204)를 포함함)을 묘사한다. 그러나, 실세계 장면(202) 내에서 객체들의 가시적인 외관을 나타내기보다(예로서, 광이 실세계 객체(204)의 표면들과 상호작용하는 방법을 컬러 또는 그레이스케일로 나타내기보다), 깊이 데이터(310)는 예를 들면, 캡처 디바이스(302)에서 깊이 캡처 디바이스(306)에 대한 객체들(예로서, 실세계 장면(202) 내의 실세계 객체(204) 뿐만 아니라, 다른 객체들)의 표면 상의 각각의 지점의 깊이(즉, 거리 또는 위치)를 나타낼 수 있다. 컬러 데이터(308)와 같이, 깊이 데이터(310)는 임의의 적합한 형태로 캡처되고, 인코딩되고, 포맷되고, 송신되며, 나타낼 수 있다. 예를 들면, 도시된 바와 같이, 깊이 데이터(310)는 그레이스케일 이미지 데이터(예로서, 깊이 캡처 디바이스(306)에 의해 캡처된 각각의 픽셀에 대해 6 또는 8 비트)에 의해 나타내질 수 있다. 그러나, 광이 실세계 객체(204)의 표면들로부터 어떻게 반사되는지 나타내기보다(즉, 컬러 데이터(308)로 나타내진 바와 같이), 깊이 데이터(310)의 그레이스케일 이미지는 이미지의 각각의 픽셀에 대해, 그 픽셀에 의해 나타내진 지점이 깊이 캡처 디바이스(306)로부터 얼마나 멀리 떨어져 있는지를 나타낼 수 있다. 예를 들면, 깊이 캡처 디바이스(306)에 더 가까운 지점들은 더 어두운 회색 음영을 나타내는 값들(예로서, 0b111111이 검은색을 나타내는 6 비트 구현의 경우에 0b111111에 더 가까운 이진 값들)로 나타내질 수 있다. 반대로, 깊이 캡처 디바이스(306)로부터 더 멀리 있는 지점들은 더 밝은 회색 음영을 나타내는 값들(예로서, 0b000000이 흰색을 나타내는 6 비트 구현의 경우에 0b000000에 더 가까운 이진 값들)로 나타내질 수 있다.In FIG. 3C , depth data 310 (such as color data 308 ) also depicts real-world scene 202 (including real-world object 204 ) from the perspective of view 206 - 1 . However, rather than representing the visual appearance of objects within the real-world scene 202 (eg, representing in color or grayscale how light interacts with the surfaces of real-world objects 204), depth data 310 , for example, each on a surface of objects from capture device 302 to depth capture device 306 (eg, real-world object 204 as well as other objects in real-world scene 202 ). may indicate the depth (ie, distance or location) of a point in . Like color data 308 , depth data 310 may be captured, encoded, formatted, transmitted, and presented in any suitable form. For example, as shown, depth data 310 may be represented by grayscale image data (eg, 6 or 8 bits for each pixel captured by depth capture device 306). However, rather than representing how light reflects off the surfaces of real-world object 204 (i.e., as represented by color data 308), the grayscale image of depth data 310 corresponds to each pixel of the image. , how far the point represented by that pixel is from the depth capture device 306 . For example, points closer to the depth capture device 306 may be represented by values representing a darker shade of gray (eg, binary values closer to 0b111111 in the case of a 6-bit implementation where 0b111111 represents black). . Conversely, points farther from the depth capture device 306 may be represented by values representing a lighter shade of gray (eg, binary values closer to 0b000000 in the case of a 6-bit implementation where 0b000000 represents white).

특정 예들에서, 시스템(100)(예로서, 통신 시설(102))은 하나 이상의 네트워크들 및/또는 임의의 다른 적합한 통신 인터페이스들, 프로토콜들, 및 기술들에 의해 다른 뷰들(206)과 연관된 캡처 디바이스(302) 및 다른 캡처 디바이스들에 통신가능하게 결합될 수 있다. 그에 따라, 이들 예들에서, 통신 시설(102)은 하나 이상의 네트워크들 및/또는 다른 통신 인터페이스들, 프로토콜들, 및 기술들에 의해 캡처 디바이스들로부터 캡처된 표면 데이터 프레임 시퀀스들을 직접적으로 수신할 수 있다. 다른 예들에서, 시스템(100)으로부터 분리된 실세계 장면 캡처 시스템은 캡처 디바이스들의 각각과 통신가능하게 결합될 수 있고 캡처 디바이스들의 각각에 의해 표면 데이터 프레임들의 캡처를 관리하기 위해 그리고 표면 데이터 프레임 시퀀스들을 시스템(100)에 제공하도록 구성될 수 있다(예로서, 표면 데이터 프레임 시퀀스들을 동기화 및/또는 그렇지 않으면, 프로세싱한 후에). 그와 관계없이, 캡처 디바이스, 시스템(100) 및/또는 중간 실세계 장면 캡처 시스템 사이의 통신들은 네트워크(예로서, 유선 또는 무선 근거리 통신망, 광역 통신망, 제공자 네트워크, 인터넷, 등)에 의해, 유선 통신 인터페이스(예로서, 범용 직렬 버스("USB"))에 의해, 무선 통신 인터페이스에 의해, 또는 임의의 다른 통신 인터페이스, 프로토콜, 및/또는 특정한 구현을 제공할 수 있는 기술에 의해 구현될 수 있다.In certain examples, system 100 (eg, communication facility 102 ) captures data associated with other views 206 by one or more networks and/or any other suitable communication interfaces, protocols, and technologies. It can be communicatively coupled to device 302 and other capture devices. Accordingly, in these examples, communication facility 102 may directly receive captured surface data frame sequences from capture devices by one or more networks and/or other communication interfaces, protocols, and technologies. . In other examples, a real-world scene capture system separate from system 100 can be communicatively coupled with each of the capture devices to manage the capture of surface data frames by each of the capture devices and to send surface data frame sequences to the system. 100 (eg, after synchronizing and/or otherwise processing surface data frame sequences). Regardless, communications between the capture device, system 100 and/or intermediate real-world scene capture system may be accomplished by network (eg, wired or wireless local area network, wide area network, provider network, Internet, etc.), wired communication may be implemented by an interface (eg, Universal Serial Bus ("USB")), by a wireless communication interface, or by any other communication interface, protocol, and/or technology capable of providing a particular implementation.

다른 예들에서, 복수의 캡처 디바이스들은 시스템(100)의 일부 내에 통합되거나 그렇지 않으면 시스템(100)의 일부(예로서, 시스템(100)의 표면 데이터 프레임 시퀀스 관리 시설(104) 또는 또 다른 시설의 일부)로서 포함될 수 있다. 이와 같이, 이들 예들에서, 표면 데이터 프레임 시퀀스 관리 시설(104)은 통합된 캡처 디바이스들을 사용하여 표면 데이터 프레임 시퀀스들을 캡처함으로써 표면 데이터 프레임 시퀀스들을 수신할 수 있다.In other examples, a plurality of capture devices are integrated within or otherwise part of system 100 (eg, surface data frame sequence management facility 104 of system 100 or part of another facility). ) can be included as As such, in these examples, surface data frame sequence management facility 104 may receive surface data frame sequences by capturing surface data frame sequences using integrated capture devices.

도 4a 및 도 4b는 캡처 디바이스(302)에 의해 생성된 바와 같은 실세계 장면(202)(예로서, 뷰(206-1)의 관점으로부터)을 나타내는 일 예시적인 표면 데이터 프레임 시퀀스(400-1)를 도시한다. 구체적으로, 도 4a는 표면 데이터 프레임 시퀀스(400-1)에 포함될 수 있는 특정의 특수 데이터를 묘사하는 표면 데이터 프레임 시퀀스(400-1)의 상세한 그래픽 도면을 보여주는 반면에, 도 4b는 표면 데이터 프레임 시퀀스(400-1)의 콘텐트의 많은 상세들을 구체적으로 묘사하지 않은 표면 데이터 프레임 시퀀스(400-1)의 통합된 그래픽 뷰를 보여준다.4A and 4B show an exemplary sequence of surface data frames 400-1 representing a real-world scene 202 (eg, from the perspective of view 206-1) as generated by capture device 302. shows Specifically, FIG. 4A shows a detailed graphical diagram of a surface data frame sequence 400-1 depicting certain special data that may be included in the surface data frame sequence 400-1, whereas FIG. 4B shows a surface data frame sequence 400-1. It shows an integrated graphical view of the surface data frame sequence 400-1 that does not specifically depict many details of the sequence 400-1's content.

도 4a에 도시된 바와 같이, 표면 데이터 프레임 시퀀스(400-1)는 컬러 데이터, 깊이 데이터, 및 메타데이터를 포함하는 다양한 유형들의 데이터를 포함할 수 있다. 구체적으로, 표면 데이터 프레임 시퀀스(400-1)는 컬러 프레임 시퀀스(402), 깊이 프레임 시퀀스(404), 및 캡처 파라미터들(406)의 세트를 포함하도록 도시된다. 표면 데이터 프레임 시퀀스(400-1)가 도 4a에서 명시적으로 도시되지 않은 다른 유형들의 데이터(예로서, 캡처된 오디오 데이터, 캡처 파라미터들(406)의 세트 이외의 다른 메타데이터, 등)를 더 포함할 수 있음이 이해될 것이다. 부가적으로, 표면 데이터 프레임 시퀀스(400-1) 내에 포함된 데이터가 임의의 적합한 방식으로 배열되거나 포맷될 수 있음이 이해될 것이다. 예를 들면, 도시된 바와 같이, 표면 데이터 프레임 시퀀스(400-1) 내에 포함된 데이터는 하나의 컬러 프레임 시퀀스 및 하나의 깊이 프레임 시퀀스로서 배열될 수 있다. 다른 예들에서, 단일 캡처 디바이스는 (예로서, 캡처되는 실세계 장면의 시야의 상이한 부분들을 커버하기 위해) 다수의 컬러 프레임 시퀀스들 및/또는 다수의 깊이 프레임 시퀀스들을 출력할 수 있다. 또 다른 예들에서, 표면 데이터 프레임 시퀀스(400-1)의 데이터는 각각 특정한 컬러 프레임, 특정한 깊이 프레임, 및 특정 메타데이터(예로서, 캡처 파라미터들(406)의 세트를 나타내는 데이터)를 포함하는 통합된 표면 데이터 프레임들의 시퀀스로서, 또는 특정한 구현을 제공할 수 있는 다른 방식들로 배열될 수 있다.As shown in FIG. 4A, the surface data frame sequence 400-1 may include various types of data including color data, depth data, and metadata. Specifically, surface data frame sequence 400 - 1 is shown to include a color frame sequence 402 , a depth frame sequence 404 , and a set of capture parameters 406 . Surface data frame sequence 400-1 may further contain other types of data not explicitly shown in FIG. 4A (eg, captured audio data, metadata other than a set of capture parameters 406, etc.) It will be understood that it may include Additionally, it will be appreciated that the data contained within the surface data frame sequence 400-1 may be arranged or formatted in any suitable manner. For example, as shown, the data included in the surface data frame sequence 400-1 may be arranged as one color frame sequence and one depth frame sequence. In other examples, a single capture device may output multiple color frame sequences and/or multiple depth frame sequences (eg, to cover different portions of the field of view of a real-world scene being captured). In yet other examples, the data of the sequence of surface data frames 400 - 1 is an integral part, each comprising a particular color frame, a particular depth frame, and particular metadata (eg, data representing a set of capture parameters 406 ). may be arranged as a sequence of framed surface data frames, or in other ways that may provide a particular implementation.

컬러 프레임 시퀀스(402)의 각각의 컬러 프레임 내에 포함된 데이터는 도 3과 관련하여 상기 설명된 컬러 데이터(308)와 유사할 수 있다. 그러나, 컬러 프레임 시퀀스(402) 내의 각각의 컬러 프레임은, 컬러 프레임 시퀀스(402)가 뷰(206-1)로부터 실세계 장면(202)의 비디오 형 표현을 형성할 수 있도록 약간 상이한 시간에 캡처될 수 있다. 유사하게, 깊이 프레임 시퀀스(404)의 각각의 깊이 프레임 내에 포함된 데이터는, 깊이 프레임 시퀀스(404)가 뷰(206-1)로부터 실세계 장면(202)의 또 다른 비디오 형 표현을 형성할 수 있도록 깊이 프레임 시퀀스(404) 내의 각각의 깊이 프레임이 약간 상이한 시간(예로서, 컬러 프레임 시퀀스(402)의 컬러 프레임들이 캡처되는 시간과 동기되는 시간)에 캡처될 수 있다는 점을 제외하고 깊이 데이터(310)와 유사할 수 있다.The data contained within each color frame of the color frame sequence 402 may be similar to the color data 308 described above with respect to FIG. 3 . However, each color frame within the sequence of color frames 402 may be captured at slightly different times so that the sequence of color frames 402 may form a video-like representation of the real-world scene 202 from view 206-1. there is. Similarly, the data contained within each depth frame of the depth frame sequence 404 is such that the depth frame sequence 404 can form another video-like representation of the real world scene 202 from the view 206-1. Depth data 310 except that each depth frame in depth frame sequence 404 may be captured at a slightly different time (eg, a time synchronized with the time at which the color frames of color frame sequence 402 are captured). ) can be similar to

표면 데이터 프레임 시퀀스(400-1) 내에 포함된 캡처 파라미터들(406)의 세트는 표면 데이터 프레임 시퀀스(400-1)가 캡처되는 뷰(즉, 이 경우 뷰(206-1))를 설명하는 메타데이터를 포함할 수 있다. 예를 들면, 캡처 파라미터들(406)의 세트는 표면 데이터 프레임 시퀀스(400-1) 내에 포함된 표면 데이터 프레임들이 캡처되는 위치 및/또는 방법의 다양한 양태들을 나타내는 다양한 파라미터들을 포함할 수 있다. 캡처 파라미터들(406)의 세트 내에 포함된 캡처 파라미터들은 특정한 구현을 제공할 수 있는 실세계 장면의 각각의 뷰와 연관된 임의의 적합한 캡처 파라미터들을 포함할 수 있다.The set of capture parameters 406 contained within the sequence of surface data frames 400-1 is a meta describing the view from which the sequence of surface data frames 400-1 is being captured (ie, view 206-1 in this case). may contain data. For example, the set of capture parameters 406 may include various parameters indicating various aspects of where and/or how the surface data frames included within the surface data frame sequence 400-1 are to be captured. The capture parameters included within the set of capture parameters 406 may include any suitable capture parameters associated with each view of a real-world scene that may provide a particular implementation.

예를 들면, 캡처 파라미터들(406)의 세트는 실세계 장면(202)의 뷰(206-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 실세계 장면(202)에 대한 위치를 나타내는 캡처 파라미터를 포함할 수 있다. 또 다른 예로서, 캡처 파라미터들(406)의 세트는 실세계 장면(202)의 뷰(206-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 방향(예로서, 캡처 디바이스가 가리키고 있는 상이한 치수들에서 상이한 각도들과 연관된 캡처 방향)을 나타내는 캡처 파라미터를 포함할 수 있다. 유사하게, 또 다른 예로서, 캡처 파라미터들(406)의 세트는 실세계 장면(202)의 뷰(206-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 시야를 나타내는 캡처 파라미터를 포함할 수 있다. 또한, 또 다른 예로서, 캡처 파라미터들(406)의 세트는 실세계 장면(202)의 뷰(206-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 이미지 품질을 나타내는 캡처 파라미터를 포함할 수 있다. 또 다른 예들에서, 캡처 파라미터들(406)의 세트는 실세계 장면(202)의 뷰(206-1)에 대응하는 컬러 및 깊이 프레임들이 캡처될 수 있는 다른 양태들을 나타내는 임의의 다른 적합한 캡처 파라미터들을 포함할 수 있다. 예를 들면, 캡처 파라미터들(406)의 세트는 뷰(206-1)에 대응하는 깊이 프레임들이 캡처되는 깊이 맵핑 및/또는 깊이 범위를 나타내는 파라미터들, 뷰(206-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 특정한 인코딩, 포맷, 프레임 레이트, 동적 범위, 등을 나타내는 파라미터들, 캡처의 소스(예로서, 뷰(206-1)에 대응하는 컬러 및 깊이 프레임들을 캡처하는 캡처 디바이스에 대한 식별 정보), 또는 다른 적합한 파라미터들을 포함할 수 있다.For example, the set of capture parameters 406 may include capture parameters indicating a location relative to the real world scene 202 from which color and depth frames corresponding to view 206 - 1 of the real world scene 202 are captured. can As yet another example, the set of capture parameters 406 is the direction in which the color and depth frames corresponding to the view 206 - 1 of the real world scene 202 are captured (eg, in different dimensions to which the capture device is pointing). Capture parameters indicating capture directions associated with different angles). Similarly, as another example, the set of capture parameters 406 may include a capture parameter indicating a field of view from which color and depth frames corresponding to view 206 - 1 of real world scene 202 are captured. Also, as another example, the set of capture parameters 406 can include capture parameters that indicate the image quality with which color and depth frames corresponding to view 206 - 1 of real world scene 202 are captured. In yet other examples, the set of capture parameters 406 includes any other suitable capture parameters representing different aspects in which color and depth frames corresponding to view 206-1 of real-world scene 202 may be captured. can do. For example, the set of capture parameters 406 may include parameters indicating the depth mapping and/or depth range within which depth frames corresponding to view 206-1 are captured, a color corresponding to view 206-1, and a color corresponding to view 206-1. Parameters indicating the particular encoding, format, frame rate, dynamic range, etc. where the depth frames are captured, color corresponding to the source of the capture (eg, view 206-1) and identification of the capture device capturing the depth frames information), or other suitable parameters.

캡처 파라미터들(406)의 세트는 특정한 구현을 제공할 수 있는 임의의 방식으로 표면 데이터 프레임 시퀀스(400-1) 내에 포함된 다른 데이터로 나타내지고 다른 데이터와 통합될 수 있다. 예를 들면, 일부 구현들이 캡처 파라미터들을 나타내는 데이터(예로서, 변수, 등)에서 명시적으로 캡처 파라미터들(406)을 나타낼 수 있을지라도, 다른 구현들은 방향, 위치, 및/또는 투영 정보(예로서, 원근 프레임 시퀀스들에 대한 시야 및 깊이 매핑들, 직교 프레임 시퀀스들에 대한 좌측/우측/상부/하부/근거리/원거리, 등)가 나타내지는 포맷으로 암시적으로 캡처 파라미터들(406)을 나타낼 수 있다. 특정 캡처 파라미터들(406)을 나타내는 데이터는 예를 들면, 특정 이미지 공간으로부터 세계 공간의 동종 좌표로의 완전한 변환을 나타내는 단일의 추상 행렬(예로서, 4x4 행렬)로 조합될 수 있다. 이와 같이, 이 예에서, 개별적인 구성요소들은 명시적으로 지정되지 않을 수 있고 오히려 더 일반적인 변환 내에 포함될 수 있다.The set of capture parameters 406 may be represented by and incorporated with other data included within the sequence of surface data frames 400-1 in any manner that may provide a particular implementation. For example, although some implementations may explicitly indicate capture parameters 406 in data representing the capture parameters (eg, variables, etc.), other implementations may indicate direction, position, and/or projection information (eg, variables, etc.) , field of view and depth mappings for perspective frame sequences, left/right/top/bottom/near/far for orthogonal frame sequences, etc.) can Data representing specific capture parameters 406 may be combined into a single abstract matrix (eg, a 4x4 matrix) representing a complete transformation from a specific image space to homogeneous coordinates in world space, for example. As such, in this example, individual components may not be explicitly specified, but may rather be included within a more general transformation.

부가적으로, 일부 예들에서, 캡처 파라미터들(406)의 세트는 컬러 프레임 시퀀스(402) 및 깊이 프레임 시퀀스(404) 내에 각각 포함된 각각의 컬러 프레임 및/또는 깊이 프레임과 통합(예로서, 반복)될 수 있다. 다른 예들에서, 캡처 파라미터들(406)의 세트는 각각의 개별적인 표면 데이터 프레임(예로서, 조합 컬러 및 깊이 프레임)과 통합될 수 있다. 이들 방식들로, 캡처 파라미터들(406)의 세트는 뷰들(206)이 표면 데이터 프레임 시퀀스(400-1)에 의해 나타내진 시간 기간 동안 동적으로 변경되더라도, 각각의 및 프레임마다 캡처 파라미터들을 유연하게 설명할 수 있다. 다른 예들에서, 캡처 파라미터들(406)의 세트는 표면 데이터 프레임 시퀀스(400-1)에 의해 나타내진 시간 기간에 걸쳐 정적일 수 있다. 이들 예들에서, 캡처 파라미터들(406)의 세트는 프레임 시퀀스들(402 및 404)의 프레임들과 별개로 송신될 수 있다. 예를 들면, 캡처 파라미터들(406)의 세트는 예컨대 컬러 및 깊이 프레임들의 송신 이전에, 컬러 및 깊이 프레임들의 송신의 시작 시에, 컬러 및 깊이 프레임들의 송신 후에, 및/또는 또 다른 적합한 시간에 컬러 및 깊이 프레임들의 송신과 별개로 송신될 수 있다.Additionally, in some examples, the set of capture parameters 406 is integrated (eg, repeated) with each color frame and/or depth frame included in color frame sequence 402 and depth frame sequence 404, respectively. ) can be In other examples, the set of capture parameters 406 can be integrated with each individual surface data frame (eg, combined color and depth frame). In these ways, the set of capture parameters 406 can flexibly adjust the capture parameters for each and every frame, even if the views 206 change dynamically over the time period represented by the surface data frame sequence 400-1. can explain In other examples, the set of capture parameters 406 can be static over the time period represented by surface data frame sequence 400-1. In these examples, the set of capture parameters 406 may be transmitted separately from the frames of frame sequences 402 and 404 . For example, the set of capture parameters 406 may be set at, for example, prior to transmission of color and depth frames, at the beginning of transmission of color and depth frames, after transmission of color and depth frames, and/or at another suitable time. It may be transmitted separately from the transmission of color and depth frames.

상기 언급된 바와 같이, 도 4b는 표면 데이터 프레임 시퀀스(400-1)의 통합된 그래픽 뷰를 도시한다. 구체적으로, 도 4b에서 표면 데이터 프레임 시퀀스(400-1)의 뷰는 특정한 뷰(즉, 뷰(206-1))로부터 뷰잉할 때 블록의 전면에 실세계 장면(202)(즉, 실세계 객체(204)를 포함함)을 묘사한 블록으로서 표면 데이터 프레임 시퀀스(400-1)를 보여준다. 이 유형의 표면 데이터 프레임 시퀀스 뷰는 하기에 설명된 도면들에서 부가적인 표면 데이터 프레임 시퀀스들을 도시하는데 유용할 것이다. 그러나, 도 4b에 도시된 바와 같은 통합된 그래픽 뷰를 사용하여 나타내진 임의의 표면 데이터 프레임 시퀀스가 상기 설명된 배열들 중 임의의 배열에서 도 4a와 관련하여 도시 및/또는 설명된 동일한 유형들의 데이터를 모두 포함할 수 있음이 이해될 것이다.As mentioned above, FIG. 4B shows an integrated graphical view of the surface data frame sequence 400-1. Specifically, the view of surface data frame sequence 400-1 in FIG. 4B shows a real-world scene 202 (i.e., real-world object 204) in front of the block when viewed from a particular view (i.e., view 206-1). ) is shown) as a block depicting the surface data frame sequence 400-1. This type of surface data frame sequence view will be useful for illustrating additional surface data frame sequences in the figures described below. However, any sequence of surface data frames represented using a unified graphical view as shown in FIG. 4B is data of the same types as shown and/or described with respect to FIG. 4A in any of the arrangements described above. It will be understood that it can include all.

표면 데이터 프레임 시퀀스들(400)(예로서, 도 4에 명시적으로 도시된 표면 데이터 프레임 시퀀스(400-1) 및 뷰(206-2)에 대응하는 표면 데이터 프레임 시퀀스 시퀀스(400-2), 뷰(206-3)에 대응하는 표면 데이터 프레임 시퀀스(400-3), 등과 같은 도 4에 명시적으로 도시되지 않은 다른 유사한 표면 데이터 프레임 시퀀스들) 중 하나 이상에 기초하여, 시스템(100)은 실세계 장면(202)의 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있다. 예를 들면, 시스템(100)은 실세계 장면(202)의 맞춤화된 뷰(예로서, 도 2에 도시된 뷰들(206)과 별개인 뷰)와 연관되는 부가적인 세트의 캡처 파라미터들(예로서, 표면 데이터 프레임 시퀀스들(400)과 연관된 캡처 파라미터들의 세트들과 별개인 세트)을 식별할 수 있고, 표면 데이터 프레임 시퀀스들(400) 중 적어도 하나에 기초하고 부가적인 세트의 캡처 파라미터들에 기초하여 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있다.surface data frame sequences 400 (e.g., surface data frame sequence 400-1 and surface data frame sequence sequence 400-2 corresponding to view 206-2, shown explicitly in FIG. 4; Based on one or more of surface data frame sequences 400-3 corresponding to view 206-3, and other similar surface data frame sequences not explicitly shown in FIG. 4, such as the like, system 100 Color and depth frames may be rendered for a virtualized projection of a customized view of the real world scene 202 . For example, the system 100 may use an additional set of capture parameters (eg, a view separate from the views 206 shown in FIG. 2 ) of the real-world scene 202 (eg, a set that is distinct from the sets of capture parameters associated with surface data frame sequences 400), based on at least one of surface data frame sequences 400 and based on an additional set of capture parameters. Color and depth frames can be rendered for a virtualized projection of a customized view.

본 명세서에서 사용된 바와 같이, 실세계 장면의 "맞춤화된 뷰"는 실세계 장면을 나타내는 데이터를 캡처하는 물리적 캡처 디바이스와 연관된 뷰들과 별개인 실세계 장면의 임의의 뷰를 언급할 수 있다. 예를 들면, 맞춤화된 뷰는 (예로서, 실세계 객체에 대한 개선된 깊이 해상도 또는 깊이 정확도를 제공하기 위해) 특정 실세계 객체가 위치되는 장소 근처의 실세계 장면 내의 위치에 대해, 어떠한 캡처 디바이스도 배치되지 않은 실세계 장면 내의 위치에 대해, 캡처 디바이스와 연관된 임의의 뷰에 의해 제공될 수 있는 것과 상이한 방향에 대해, 캡처 디바이스와 연관된 임의의 뷰에 의해 제공될 수 있는 것과 상이한 시야(예로서, 상이한 줌 레벨과 연관된 시야, 더 광각이거나 더 협각 렌즈, 등)에 대해, 캡처 디바이스와 연관된 임의의 뷰에 의해 제공될 수 있는 것과 상이한 레벨의 상세(예로서, 이미지 해상도, 등) 등에 대해 맞춤화될 수 있다. 그에 따라, 본 명세서에서 사용된 바와 같이, 실세계 장면의 맞춤화된 뷰의 "가상화된 투영"은 맞춤화된 뷰와 연관된 투영(예로서, 원근 투영(perspective projection), 정투영(orthographic projection), 등)을 나타내는 데이터를 언급할 수 있다. 예를 들면, 특정 예들에서, 가상화된 투영은 물리적 캡처 디바이스가 맞춤화된 뷰와 연관되어야 하는 경우(즉, 캡처 디바이스가 맞춤화된 뷰를 정의하는 캡처 파라미터들의 세트를 갖는 데이터를 캡처해야 하는 경우) 이러한 캡처 디바이스에 의해 캡처될 데이터를 가상으로 시뮬레이팅하는 원근 투영을 포함할 수 있다. 또 다른 예로서, 가상화된 투영은 가상 캡처 디바이스의 시뮬레이션에 의해 생성되지 않지만, 오히려 깊이 필링 기술 또는 특정한 구현을 제공할 수 있는 깊이 데이터를 생성하기 위한 다른 적합한 기술에 의해 생성되는 비 원근 투영(예로서, 정투영 등)을 포함할 수 있다.As used herein, a “customized view” of a real-world scene can refer to any view of a real-world scene that is separate from views associated with a physical capture device that captures data representing the real-world scene. For example, a customized view may be created for a location in a real-world scene near where a particular real-world object is located (eg, to provide improved depth resolution or depth accuracy for a real-world object) without any capture device being placed. a different field of view (e.g., a different zoom level) than can be provided by any view associated with the capture device, for a location in the real world scene that for a field of view associated with , a wider or narrower angle lens, etc.), a different level of detail than may be provided by any view associated with the capture device (eg, image resolution, etc.), etc. Accordingly, as used herein, a “virtualized projection” of a customized view of a real-world scene is a projection associated with the customized view (eg, perspective projection, orthographic projection, etc.) can refer to data representing For example, in certain instances, a virtualized projection is such that a physical capture device must be associated with a customized view (ie, the capture device must capture data having a set of capture parameters that define the customized view). It may include a perspective projection that virtually simulates the data to be captured by the capture device. As another example, a virtualized projection is not created by simulation of a virtual capture device, but rather a non-perspective projection (eg As, orthographic projection, etc.) may be included.

상기 설명된 바와 같이, 맞춤화된 뷰들의 가상화된 투영들은 실세계 장면의 양태들에 대한 새로운 관점들, 개선된 깊이 해상도를 위한 부가된 유연성, 및 가상화된 투영들 없이 사용가능하지 않은 다양한 다른 이점들을 제공할 수 있다. 그러나, 가상화된 투영들이 물리적 캡처 디바이스들에 의해 캡처된 데이터에 기초할 수 있고, 이와 같이 물리적 캡처 디바이스들에 의해 캡처되지 않은 임의의 부가적인 데이터를 제공하지 않을 수 있다는 것이 이해될 것이다. 예를 들면, 가상화된 투영들이 물리적 캡처 디바이스들이 위치되지 않은 실세계 장면의 맞춤화된 뷰들과 연관될 수 있을지라도, 가상화된 투영들은 물리적 캡처 디바이스들이 위치되는 뷰들로부터 이미 사용가능하지 않은 임의의 새로운 정보를 제공하지 않을 수 있다.As described above, virtualized projections of customized views provide new perspectives on aspects of a real-world scene, added flexibility for improved depth resolution, and a variety of other benefits not available without virtualized projections. can do. However, it will be appreciated that virtualized projections may be based on data captured by physical capture devices and as such may not provide any additional data not captured by physical capture devices. For example, even though virtualized projections may be associated with customized views of a real-world scene in which physical capture devices are not located, virtualized projections may retrieve any new information not already available from the views in which physical capture devices are located. may not provide.

특정 예들에서, 실세계 장면(202)의 맞춤화된 뷰는 실세계 장면(202)을 나타내는 데이터를 캡처하기 위해 사용되는 특정한 캡처 디바이스와 맞추어 조정될 수 있다. 예를 들면, 실세계 장면(202)의 맞춤화된 뷰와 연관된(예로서, 정의하는) 부가적인 세트의 캡처 파라미터들은 오직 하나의 캡처 디바이스에 의해 캡처된 데이터를 요구하는(예로서, 캡처 디바이스에 의해 캡처된 데이터의 하위세트를 요구하는) 하나 이상의 캡처 파라미터들을 포함할 수 있다.In certain examples, the customized view of the real-world scene 202 can be tailored to the particular capture device used to capture data representative of the real-world scene 202 . For example, an additional set of capture parameters associated with (eg, defining) a customized view of the real-world scene 202 may require data captured by only one capture device (eg, by the capture device). may include one or more capture parameters (requiring a subset of captured data).

예를 들면, 부가적인 세트의 캡처 파라미터들은 실세계 장면(202)의 맞춤화된 뷰와 연관된 맞춤화된 시야를 나타내는 캡처 파라미터를 포함할 수 있으며, 여기서 맞춤화된 시야는 캡처 디바이스에 의해 캡처된 표면 데이터 프레임 시퀀스와 연관된 캡처된 시야보다 좁다. 예를 들면, 부가적인 세트의 캡처 디바이스 파라미터들은 특정한 물리적 캡처 디바이스에 의해 캡처된 데이터의 크롭(crop)된(즉, 확대된) 부분을 요구할 수 있다.For example, the additional set of capture parameters may include a capture parameter representing a customized field of view associated with a customized view of the real world scene 202, where the customized field of view is a sequence of surface data frames captured by the capture device. narrower than the captured field of view associated with For example, an additional set of capture device parameters may require a cropped (ie, enlarged) portion of data captured by a particular physical capture device.

단지 하나의 캡처 디바이스에 의해 캡처된 데이터를 요구하는 캡처 파라미터의 또 다른 예로서, 부가적인 세트의 캡처 파라미터들은 실세계 장면(202)의 맞춤화된 뷰와 연관된 맞춤화된 이미지 품질을 나타내는 캡처 파라미터를 포함할 수 있고, 여기서 맞춤화된 이미지 품질은 캡처 디바이스에 의해 캡처된 표면 데이터 프레임 시퀀스와 연관된 캡처된 이미지 품질보다 낮다. 예를 들면, 부가적인 세트의 캡처 파라미터들은 특정한 물리적 캡처 디바이스에 의해 캡처된 데이터의 저해상도 버전을 요구할 수 있다.As another example of a capture parameter requiring data captured by only one capture device, the additional set of capture parameters may include capture parameters representing a customized image quality associated with a customized view of the real world scene 202. may be, where the customized image quality is lower than the captured image quality associated with the sequence of surface data frames captured by the capture device. For example, an additional set of capture parameters may require a lower resolution version of data captured by a particular physical capture device.

다른 예들에서, 실세계 장면(202)의 맞춤화된 뷰는 실세계 장면(202)에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들(즉, 뷰들(206)과 연관된 캡처 디바이스들)에 의해 캡처된 실세계 장면(202)의 상이한 뷰들과 맞추어 조정되지 않을 수 있다. 이와 같이, 실세계 장면(202)의 맞춤화된 뷰의 가상화된 투영을 위한 컬러 및 깊이 프레임들의 렌더링은 적어도 2개의 표면 데이터 프레임 시퀀스들(400)에 기초하여 컬러 및 깊이 프레임들을 렌더링하는 것을 포함할 수 있다. 가상화된 투영들이 단일 캡처 디바이스들로부터의 데이터에 기초하는 상기 설명된 예들과 같이, 이들 예들에서 부가적인 세트의 캡처 파라미터들은 캡처된 표면 데이터 프레임 시퀀스들에 대해 좁은 시야들, 낮아진 이미지 품질들, 등을 요구하는 캡처 파라미터들을 포함할 수 있다. 그러나, 가상화된 투영들이 다수의 캡처 디바이스들로부터의 데이터에 기초하는 예들에서 부가적인 세트의 캡처 파라미터들은, 데이터가 물리적 캡처 디바이스들에 의해 캡처되는 임의의 실제 위치들, 방향들, 등과 별개일 수 있는 맞춤화된 위치들, 맞춤화된 방향들, 등을 또한 요구할 수 있다.In other examples, the customized view of the real-world scene 202 is a real-world image captured by a plurality of capture devices disposed at different locations relative to the real-world scene 202 (ie, capture devices associated with views 206). It may not be coordinated with different views of the scene 202 . As such, rendering color and depth frames for a virtualized projection of a customized view of a real world scene 202 may include rendering color and depth frames based on at least two surface data frame sequences 400 . there is. Like the examples described above where the virtualized projections are based on data from single capture devices, in these examples an additional set of capture parameters can be applied to captured surface data frame sequences such as narrow fields of view, reduced image qualities, etc. may include capture parameters that require However, in instances where the virtualized projections are based on data from multiple capture devices, the additional set of capture parameters may be distinct from any actual locations, directions, etc. at which the data is captured by the physical capture devices. may also require customized locations, customized directions, etc.

예시하기 위해, 도 5는 (즉, 구성(200)과 관련하여 상기 도시되고 설명된 모든 동일한 요소들을 포함하는) 구성(200)에 기초하는 일 예시적인 구성(500)을 도시하지만, 여기서 실세계 장면(202)을 나타내는 데이터는 실세계 장면(202)의 맞춤화된 뷰(502)를 위해 부가적으로 생성된다. 구체적으로, 구성(500)에서 도시된 바와 같이, 맞춤화된 뷰(502)는 실세계 객체(204) 근처에 있고 실세계 객체(204)에 대향하는 방향 및 시야를 갖는 실세계 장면(202) 내에 위치될 수 있다. 상기 설명된 바와 같이, 특정 맞춤화된 뷰들이 뷰(206)들 중 하나와 맞추어 조정될 수 있을지라도(예로서, 뷰들(206) 중 하나와 동일한 위치에 위치되어, 뷰들(206) 중 하나와 동일한 방향 및/또는 시야를 제공함, 등), 구성(500)에서의 맞춤화된 뷰(502)는 뷰들(206)과 맞추어 조정되지 않도록 도시된다. 본 명세서에 사용된 바와 같이, 뷰들이 뷰들과 연관된 각각의 위치들, 뷰들과 연관된 각각의 방향들, 및/또는 뷰들과 연관된 각각의 시야들에 대해 서로와 별개이면, 뷰는 또 다른 뷰와 "맞추어 조정되지 않는다." 예를 들면, 맞춤화된 뷰(502) 및 뷰들(206)의 경우에, 맞춤화된 뷰(502)는 뷰들(206) 모두와 맞추어 조정되지 않는데, 이는 맞춤화된 뷰(502)가 뷰들(206) 중 임의의 뷰와 별개인 위치(즉, 실세계 장면(202)의 내부 위치)에 배치되고, 뷰들(206) 중 임의의 뷰와 별개인 방향(즉, 뷰들(206-1 및 206-2)의 각각의 방향들 사이의 방향)을 가지고, 뷰들(206) 중 임의의 뷰와 별개인 시야(즉, 실세계 객체(204)에 대한 더 근접한 관점을 제공하는 시야)를 갖기 때문이다.To illustrate, FIG. 5 depicts an exemplary configuration 500 based on configuration 200 (ie, including all of the same elements shown and described above with respect to configuration 200), but here a real world scene. Data representing 202 is additionally generated for a customized view 502 of a real world scene 202 . Specifically, as shown in configuration 500, a customized view 502 may be positioned within a real-world scene 202 that is near a real-world object 204 and has a direction and field of view opposite to the real-world object 204. there is. As described above, although certain customized views may be adjusted to align with one of the views 206 (eg, located in the same location as one of the views 206 and in the same direction as one of the views 206 ) and/or providing a field of view, etc.), the customized view 502 in the configuration 500 is shown not aligned with the views 206 . As used herein, a view is different from another view if the views are distinct from each other for respective positions associated with the views, respective directions associated with the views, and/or respective fields of view associated with the views. It doesn't fit." For example, in the case of customized view 502 and views 206, customized view 502 does not align with all of views 206, since customized view 502 is not one of views 206. It is placed in a location separate from any view (i.e., a location inside real-world scene 202), and in a direction separate from any of views 206 (i.e., each of views 206-1 and 206-2). ), and has a field of view separate from any of the views 206 (ie, a field of view that provides a closer view of the real world object 204).

이와 같이, 맞춤화된 뷰(502)를 정의하는 부가적인 세트의 캡처 파라미터들의 식별에 기초하여 그리고 뷰들(206)과 연관된 캡처 디바이스들에 의해 캡처된 복수의 표면 데이터 프레임 시퀀스들(400)에 기초하여(예로서, 예를 들면 표면 데이터 프레임 시퀀스들(400-1 및 400-2)에 기초하여), 시스템(100)은 실세계 장면(202)의 맞춤화된 뷰(502)의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있고, 이들 컬러 및 깊이 프레임들을 포함하는 가상화된 표면 데이터 프레임 시퀀스를 제공할 수 있다.As such, based on the identification of an additional set of capture parameters that define the customized view 502 and based on the plurality of surface data frame sequences 400 captured by capture devices associated with the views 206 . (e.g., based on surface data frame sequences 400-1 and 400-2, for example), the system 100 uses color for a virtualized projection of a customized view 502 of a real-world scene 202. and render depth frames, and provide a sequence of virtualized surface data frames containing these color and depth frames.

예로서, 도 6은 맞춤화된 뷰(502)의 가상화된 투영을 위해 시스템(100)에 의해 생성 및 제공될 수 있는 일 예시적인 가상화된 표면 데이터 프레임 시퀀스(600)를 보여준다. 구체적으로, 가상화된 표면 데이터 프레임 시퀀스(600)는 맞춤화된 뷰(502)의 가상화된 투영(602)을 위해 렌더링된 컬러 및 깊이 프레임들을 포함하도록 생성될 수 있다. 가상화된 투영(602)에 의해 도시된 바와 같이, 가상화된 표면 데이터 프레임 시퀀스(600) 내에 포함된 컬러 및 깊이 프레임들은 표면 데이터 프레임 시퀀스들(400) 내에 포함된 컬러 및 깊이 프레임들 중 임의의 것과 상이한 위치, 상이한 방향, 및 상이한 시야와 연관될 수 있다(예로서, 그들로부터 캡처된 것으로 보일 수 있다).As an example, FIG. 6 shows an exemplary virtualized surface data frame sequence 600 that may be generated and provided by system 100 for virtualized projection of customized view 502 . Specifically, a virtualized surface data frame sequence 600 can be created to include rendered color and depth frames for a virtualized projection 602 of a customized view 502 . As shown by virtualized projection 602, the color and depth frames included in virtualized surface data frame sequences 600 are identical to any of the color and depth frames included in surface data frame sequences 400. It can be associated with (eg, appear to be captured from) different locations, different directions, and different fields of view.

구체적으로, 도시된 바와 같이, 가상화된 투영(602)은 실세계 객체(204) 상의 특정한 방향으로부터의 근접(close-up)을 나타낸다. 이것은 가상화된 투영(602)에 의해 제공된 위치, 방향, 및/또는 시야로부터 실세계 객체(204)를 나타내는 가상 현실 미디어 콘텐트를 제공할 수 있는 다운스트림 시스템들 및 디바이스들에 대한 다양한 장점들을 제공할 수 있다. 예를 들면, 깊이 데이터가 제한된 수의 비트들(예로서, 컬러 데이터를 프로세싱하도록 구성된 상용 비디오 코덱에 대해 8 내지 12 비트들)로 동작하는 프로세싱 리소스들(예로서, 비디오 코덱 솔루션들)을 사용하여 프로세싱되는 구현들에서, 상대적으로 큰 영역들을 나타내는 깊이 데이터의 바람직하지 않은 "계층화(layering)"와 같은 깊이 양자화 문제들은 더 로컬화된 영역들을 나타내는 깊이 데이터를 사용함으로써 완화될 수 있다. 로컬화된 영역들은 넓은(예로서, 덜 로컬화된) 영역들보다 사용가능한 비트들에 의해 나타내진 더 짧은 깊이들을 포함할 수 있고, 그에 의해 사용가능한 제한된 수의 비트들이 계층화 효과들, 등을 감소 또는 제거하기 위해 높은 정밀도로 깊이들을 나타내는 것을 허용한다. 이와 같이, 객체들의 표면들이 나타내지는 비트 깊이(예로서, 시점으로부터 상이한 거리들에서 깊이들을 나타내기 위해 사용된 비트들의 수)는 가상화된 투영(602)의 시점으로부터의 깊이 해상도 및/또는 높은 레벨의 깊이 정밀도를 제공하기 위해 가상화된 투영(602)에 대해 최적화될 수 있다.Specifically, as shown, the virtualized projection 602 represents a close-up from a particular direction on the real world object 204 . This may provide various advantages to downstream systems and devices capable of providing virtual reality media content representing a real-world object 204 from the position, direction, and/or field of view provided by the virtualized projection 602. there is. For example, using processing resources (eg, video codec solutions) where the depth data operates with a limited number of bits (eg, 8 to 12 bits for a commercial video codec configured to process color data). Depth quantization problems, such as undesirable "layering" of depth data representing relatively large regions, can be mitigated by using depth data representing more localized regions. Localized regions may include shorter depths indicated by available bits than wider (eg, less localized) regions, whereby a limited number of usable bits allow for layering effects, etc. Allows representing depths with high precision to reduce or eliminate. As such, the bit depth at which surfaces of objects are represented (eg, the number of bits used to represent depths at different distances from the viewpoint) is the depth resolution and/or high level from the viewpoint of the virtualized projection 602. may be optimized for the virtualized projection 602 to provide a depth precision of .

특정한 맞춤화된 뷰(즉, 맞춤화된 뷰(502))와 연관된 특정한 부가적인 세트의 캡처 파라미터들이 도 5 및 도 6에 대해 상세하게 설명되고 도시될지라도, 다수의 맞춤화된 뷰들과 연관된 다수의 세트들의 캡처 파라미터들(예로서, 실세계 장면(202)을 나타내는 데이터를 캡처하기 위해 사용된 물리적 캡처 디바이스들의 수보다 상당히 큰 수)이 가상 현실 미디어 콘텐트 내에 가능하게 포함시키기 위해 다수의 가상화된 표면 데이터 프레임 시퀀스들의 생성 및 제공을 허용하도록 특정 구현들에서 식별될 수 있음이 이해될 것이다. 상기 설명된 바와 같이, 이 다수의 가상화된 표면 데이터 프레임 시퀀스들은 많은 양의 중복 또는 상대적으로 관련이 없는 데이터로 임의의 미디어 플레이어 디바이스를 압도하지 않고 동일한 실세계 장면에 관한 상이한 상세들을 상이한 미디어 플레이어 디바이스들에 제공하기 위해 가상 현실 미디어 콘텐트의 생성 및 분배에 있어서 증가된 유연성을 허용할 수 있다.Although a particular additional set of capture parameters associated with a particular customized view (ie, customized view 502 ) is described and illustrated in detail with respect to FIGS. A sequence of multiple virtualized surface data frames for possible inclusion within virtual reality media content of which capture parameters (eg, a number significantly greater than the number of physical capture devices used to capture data representative of the real world scene 202) It will be appreciated that may be identified in specific implementations to allow the creation and provision of . As described above, these multiple sequences of virtualized surface data frames transmit different details about the same real-world scene to different media player devices without overwhelming any media player device with large amounts of redundant or relatively unrelated data. may allow increased flexibility in the creation and distribution of virtual reality media content to provide

하나 이상의 부가적인 세트들의 캡처 파라미터들(즉, 뷰들(206)과 연관된 캡처 파라미터들의 세트들 이외의 캡처 파라미터들의 세트들)은 특정한 구현을 제공할 수 있는 임의의 방식으로 식별될 수 있다. 예를 들면, 특정한 구현들에서, 맞춤화된 뷰(502)와 연관된 캡처 파라미터들의 세트와 같은 부가적인 세트의 캡처 파라미터들은 실세계 장면의 하나 이상의 기하학적 속성들에 대해 실세계 장면(202)을 분석함으로써, 뷰들(206)과 연관된 캡처 파라미터들의 세트들과 별개인 복수의 부가적인 세트들의 캡처 파라미터들을 생성함으로써(예로서, 실세계 장면의 분석에 기초하여), 그리고 복수의 부가적인 세트들의 캡처 파라미터들로부터 부가적인 세트의 캡처 파라미터들을 식별함으로써 식별될 수 있다. 구체적으로, 예를 들면, 시스템(100)은 실세계 장면(202)의 형상과 관련된 속성들, 실세계 장면(202)의 다양한 부분들 또는 실세계 장면(202)이 분할될 수 있는 방식들, 실세계 장면(202) 내의 특정한 객체의 위치들 및/또는 궤적들, 등과 같은 실세계 장면(202)의 기하학적 속성들을 결정할 수 있다. 이들 및/또는 상이한 속성들에 기초하여, 시스템(100)은 다양한 맞춤화된 뷰들(예로서, 맞춤화된 뷰(502)를 포함함)이 가상 현실 미디어 콘텐트를 생성하기 위해 관련될 수 있다고 결정할 수 있고, 결과적으로 이들 관련된 맞춤화된 뷰들의 각각에 대해 각각의 세트들의 캡처 파라미터들을 생성할 수 있다.One or more additional sets of capture parameters (ie, sets of capture parameters other than the sets of capture parameters associated with views 206 ) may be identified in any manner that may provide a particular implementation. For example, in certain implementations, an additional set of capture parameters, such as the set of capture parameters associated with a customized view 502, may be obtained by analyzing the real-world scene 202 for one or more geometrical properties of the real-world scene, such that the views By generating a plurality of additional sets of capture parameters distinct from the sets of capture parameters associated with 206 (eg, based on an analysis of the real-world scene), and additional sets of capture parameters from the plurality of additional sets of capture parameters. It can be identified by identifying the set of capture parameters. Specifically, for example, the system 100 may include properties related to the shape of the real-world scene 202, the various parts of the real-world scene 202 or the ways in which the real-world scene 202 may be segmented, the real-world scene ( 202) may determine geometrical properties of the real-world scene 202, such as positions and/or trajectories of particular objects, and the like. Based on these and/or different attributes, system 100 can determine that various customized views (eg, including customized view 502 ) can be associated to create virtual reality media content and , in turn, can create respective sets of capture parameters for each of these related customized views.

일단 복수의 캡처된 표면 데이터 프레임 시퀀스들이 물리적 캡처 디바이스들과 연관된 실세계 장면의 뷰들에 대해 수신되었고 하나 이상의 가상화된 표면 데이터 프레임 시퀀스들이 실세계 장면의 맞춤화된 뷰들의 가상화된 투영들을 위해 생성되었으면, 시스템(100)은 가상 현실 미디어 콘텐트 내에 포함시키기 위해 캡처되고/되거나 가상화된 표면 데이터 프레임 시퀀스들 중 하나 이상을 제공할 수 있다. 예를 들면, 하기에 더 상세히 설명될 바와 같이, 시스템(100)은 캡처되고/되거나 가상화된 표면 데이터 프레임 시퀀스들의 데이터를 서버 측 시스템들(예로서, 가상 현실 미디어 제공자 파이프라인의 다운스트림 시스템들)에 및/또는 가상 현실 미디어 콘텐트(예로서, 표면 데이터 프레임 시퀀스들 내에 포함된 데이터에 기초한 가상 현실 미디어 콘텐트)를 경험하는 사용자들과 연관된 미디어 플레이어 디바이스들과 같은 클라이언트 측 시스템들에 제공할 수 있다.Once a plurality of captured surface data frame sequences have been received for views of a real-world scene associated with physical capture devices and one or more virtualized surface data frame sequences have been created for virtualized projections of customized views of a real-world scene, the system ( 100) may provide one or more of the captured and/or virtualized surface data frame sequences for inclusion within virtual reality media content. For example, as described in more detail below, system 100 may transfer data from captured and/or virtualized surface data frame sequences to server-side systems (eg, systems downstream of a virtual reality media provider pipeline). ) and/or to client-side systems, such as media player devices associated with users experiencing virtual reality media content (eg, virtual reality media content based on data contained within surface data frame sequences). there is.

시스템(100)은 표면 데이터 프레임 시퀀스들 내에 포함된 데이터(예로서, 컬러 및 깊이 프레임들 뿐만 아니라, 오디오 데이터, 메타데이터, 등과 같은 다른 유형들의 데이터)를 특정한 구현을 제공할 수 있는 임의의 방식으로 그리고 임의의 다른 시스템 또는 디바이스에 제공할 수 있다. 예를 들면, 특정한 구현들에서, 시스템(100)은 컬러 및 데이터 프레임들(뿐만 아니라, 오디오 및 메타데이터, 등)을 비디오 데이터 스트림들(예로서, H.264, H.265, 등과 같은 표준화된 포맷들로 압축된 2D 비디오 스트림들)을 생성하기 위해 데이터를 인코딩하는 인코딩 시스템에 제공할 수 있다. 따라서, 예를 들면, 특정한 표면 데이터 프레임 시퀀스에 포함된 데이터는 컬러 비디오 데이터 스트림, 깊이 비디오 데이터 스트림, 등과 같은 하나 이상의 비디오 데이터 스트림들에 포함될 수 있다. 표면 데이터 프레임 시퀀스 내에 포함된 다른 데이터(예로서, 오디오 데이터, 메타데이터, 등)가 또한, 컬러 비디오 데이터 스트림 및/또는 깊이 비디오 데이터 스트림 내에 포함될 수 있거나 상이한 데이터 스트림 내에 포함될 수 있다.System 100 may provide a particular implementation of data contained within surface data frame sequences (eg, color and depth frames, as well as other types of data such as audio data, metadata, etc.) in any manner that may provide a specific implementation. and to any other system or device. For example, in certain implementations, system 100 may standardize color and data frames (as well as audio and metadata, etc.) to video data streams (eg, H.264, H.265, etc.) 2D video streams compressed into compressed formats) to an encoding system that encodes the data to generate. Thus, for example, data included in a particular surface data frame sequence may be included in one or more video data streams, such as a color video data stream, a depth video data stream, and the like. Other data (eg, audio data, metadata, etc.) included within the surface data frame sequence may also be included within the color video data stream and/or depth video data stream or may be included within different data streams.

표면 데이터 프레임 시퀀스 데이터가 제공될 시스템 및/또는 표면 데이터 프레임 시퀀스 데이터가 하나 이상의 비디오 데이터 스트림들 등으로 인코딩되었는지 여부에 관계 없이, 표면 데이터 프레임 시퀀스 데이터는 네트워크를 통한 전송을 위해 패키징되고/되거나 멀티플렉싱될 수 있다. 이 데이터 패키징은 임의의 적합한 방식으로 및/또는 특정한 구현을 제공할 수 있는 임의의 적합한 데이터 구조들을 사용하여 수행될 수 있다. 하나의 예로서, 각각의 표면 데이터 프레임 시퀀스는 그 자신의 고유한 전송 스트림으로 패키징될 수 있다. 구체적으로, 예를 들면, 가상화된 표면 데이터 프레임 시퀀스(600)는 실세계 장면(202)의 맞춤화된 뷰(502)의 가상화된 투영(602)을 위한 렌더링된 컬러 및 깊이 프레임들이 가상화된 표면 데이터 프레임 시퀀스(600) 이외의 부가적인 표면 데이터 프레임 시퀀스들(예로서, 부가적인 캡처되거나 가상화된 표면 데이터 프레임 시퀀스들)을 나타내는 컬러 및 깊이 프레임들을 포함하지 않는 전송 스트림 내에 포함되도록 패키징될 수 있다.Surface Data Frame Sequence Data is packaged and/or multiplexed for transmission over a network, regardless of the system from which it is to be provided and/or whether the Surface Data Frame Sequence Data is encoded into one or more video data streams, etc. It can be. This data packaging may be performed in any suitable manner and/or using any suitable data structures capable of providing a particular implementation. As one example, each surface data frame sequence can be packaged into its own unique transport stream. Specifically, for example, the sequence of virtualized surface data frames 600 is a rendered color and depth frames for a virtualized projection 602 of a customized view 502 of a real world scene 202. Additional surface data frame sequences other than sequence 600 (eg, additional captured or virtualized surface data frame sequences) may be packaged for inclusion in a transport stream that does not include color and depth frames.

또 다른 예로서, 다수의 표면 데이터 프레임 시퀀스들은 공유된 전송 스트림으로 함께 패키징(예로서, 다중화)될 수 있다. 구체적으로, 예를 들면, 가상화된 표면 데이터 프레임 시퀀스(600)는 실세계 장면(202)의 맞춤화된 뷰(502)의 가상화된 투영(602)을 위한 렌더링된 컬러 및 깊이 프레임들이 가상화된 표면 데이터 프레임 시퀀스(600) 이외의 적어도 하나의 부가적인 표면 데이터 프레임 시퀀스(예로서, 적어도 하나의 부가적인 캡처되거나 가상화된 표면 데이터 프레임 시퀀스)를 나타내는 컬러 및 깊이 프레임들을 더 포함하는 전송 스트림 내에 포함되도록 패키징될 수 있다.As another example, multiple surface data frame sequences can be packaged (eg, multiplexed) together into a shared transport stream. Specifically, for example, the sequence of virtualized surface data frames 600 is a rendered color and depth frames for a virtualized projection 602 of a customized view 502 of a real world scene 202. be packaged for inclusion in a transport stream further comprising color and depth frames representing at least one additional sequence of surface data frames other than sequence 600 (e.g., at least one additional sequence of captured or virtualized surface data frames). can

예시하기 위해, 도 7은 일 예시적인 복수의 표면 데이터 프레임 시퀀스들을 포함하는 일 예시적인 전송 스트림(700)의 그래픽 표현을 보여준다. 구체적으로, 전송 스트림(700)은 다양한 캡처된 표면 데이터 프레임 시퀀스들(400)(예로서, 도 4a 및 도 4b에 도시된 표면 데이터 프레임 시퀀스(400-1) 및 뷰들(206-2 내지 206-8)과 각각 연관된 캡처 디바이스들에 의해 유사하게 캡처되는 표면 데이터 프레임 시퀀스들(400-2 내지 400-8)) 뿐만 아니라, 다양한 가상화된 표면 데이터 프레임 시퀀스들(예로서, 도 6에 도시된 가상화된 표면 데이터 프레임 시퀀스(600) 및 다른 가상화된 표면 데이터 프레임 시퀀스들(702-1 내지 702-N))을 포함할 수 있다.To illustrate, FIG. 7 shows a graphical representation of an example transport stream 700 comprising a plurality of surface data frame sequences. Specifically, transport stream 700 includes various captured surface data frame sequences 400 (eg, surface data frame sequence 400-1 shown in FIGS. 4A and 4B ) and views 206-2 through 206- 8), surface data frame sequences 400-2 through 400-8 similarly captured by respective associated capture devices, as well as various virtualized surface data frame sequences (e.g., the virtualization shown in FIG. 6). virtualized surface data frame sequence 600 and other virtualized surface data frame sequences 702-1 through 702-N.

본 명세서에서 사용된 바와 같이, "전송 스트림들"은 하나의 디바이스 또는 시스템으로부터 또 다른 디바이스 또는 시스템으로의 데이터의 송신(즉, 전송)을 가능하게 하고, 데이터를 렌더링 또는 그렇지 않으면, 프로세싱하거나 분석하는 목적들을 위해 및/또는 특정한 구현을 제공할 수 있는 다른 목적들을 위해 데이터를 패키징하기 위해 사용된 데이터 구조들을 언급할 수 있다. 일부 예들에서, 전송 스트림은 하나 이상의 데이터 스트림들(예로서, 하나 이상의 비디오 데이터 스트림들) 및/또는 메타데이터 등과 같은 다른 데이터를 통합할 수 있다. 전송 스트림들은 특정한 구현을 제공할 수 있는 임의의 유형의 전송 스트림으로서 구현될 수 있다. 예를 들면, 본 명세서에서 설명된 특정 전송 스트림들(예로서, 전송 스트림(700))은 MPEG 전송 스트림, MPEG-2 전송 스트림, 또는 표면 데이터 프레임 시퀀스들, 비디오 데이터 스트림들, 등과 같은 데이터의 전송을 가능하게 하는 또 다른 적합한 데이터 구조로서 구현될 수 있다. 전송 스트림은 특정한 구현을 제공할 수 있는 임의의 적합한 데이터 포맷, 컨테이너 포맷, 및/또는 전송 프로토콜에 따라 구성될 수 있다.As used herein, “transport streams” enable transmission (i.e., transfer) of data from one device or system to another, render or otherwise process or analyze the data. data structures used to package data for different purposes that may provide a specific implementation. In some examples, a transport stream may incorporate one or more data streams (eg, one or more video data streams) and/or other data, such as metadata. Transport streams may be implemented as any type of transport stream capable of providing a particular implementation. For example, certain transport streams (e.g., transport stream 700) described herein may be an MPEG transport stream, an MPEG-2 transport stream, or a stream of data, such as surface data frame sequences, video data streams, and the like. It can be implemented as another suitable data structure to enable transmission. A transport stream may be structured according to any suitable data format, container format, and/or transport protocol that may provide a particular implementation.

전송 스트림(700)이 캡처되고 가상화된 표면 데이터 프레임 시퀀스들 둘 모두를 포함하도록 도시될지라도, 특정한 구현들에서, 전송 스트림(700)이 단지 캡처된 표면 데이터 프레임 시퀀스들 또는 단지 가상화된 표면 데이터 프레임 시퀀스들을 포함할 수 있음이 이해될 것이다. 부가적으로, 전송 스트림(700)은 특정한 구현을 제공할 수 있는 임의의 적합한 수의 표면 데이터 프레임 시퀀스들 및 표면 데이터 프레임 시퀀스들의 임의의 조합을 포함할 수 있다. 예를 들면, 상기 설명된 바와 같이, 특정 예들에서, 전송 스트림(700)은 단일 표면 데이터 프레임 시퀀스(예로서, 가상화된 표면 데이터 프레임 시퀀스(600))를 포함할 수 있고 어쨌든 전송되면, 다른 표면 데이터 프레임 시퀀스들은 다른 전송 스트림들에 의해 전송될 수 있다. 도 7이 상기 설명되고 도시된 표면 데이터 프레임 시퀀스들(예로서, 표면 데이터 프레임 시퀀스(400 및 600))을 포함하는 전송 스트림(700)을 도시할지라도, 이들 표면 데이터 프레임 시퀀스들은 인코딩된 비디오 데이터 스트림들(명시적으로 도시되지 않음)과 같은 데이터 구조들 내에 포함될 수 있고, 이와 같이 시스템(100)에 의해 수신되고/되거나 생성된 것으로서 상기 설명된 것과 상이한 데이터의 버전들(예로서, 비디오 데이터 스트림들, 등으로 인코딩되고/되거나 압축되는 데이터의 버전들)을 언급할 수 있음이 또한 이해될 것이다.Although transport stream 700 is shown to include both captured and virtualized surface data frame sequences, in certain implementations, transport stream 700 is only captured surface data frame sequences or only virtualized surface data frame sequences. It will be appreciated that may include sequences. Additionally, transport stream 700 may include any suitable number of surface data frame sequences and any combination of surface data frame sequences that may provide a particular implementation. For example, as described above, in certain instances, transport stream 700 may include a single surface data frame sequence (eg, virtualized surface data frame sequence 600) and, if transmitted anyway, other surfaces Data frame sequences can be transmitted by different transport streams. Although FIG. 7 shows a transport stream 700 that includes the surface data frame sequences described and illustrated above (eg, surface data frame sequences 400 and 600), these surface data frame sequences are encoded video data. versions of data different from those described above as received and/or generated by system 100 (e.g., video data versions of data encoded and/or compressed into streams, etc.).

도 8은 전송 스트림(700)의 데이터 구조 표현(800)을 도시한다. 도시된 바와 같이, 표현(800)은 메타데이터(802)의 섹션, 오디오 데이터(804)의 섹션, 및 비디오 데이터(806)의 섹션과 같은 상이한 유형들의 데이터에 대한 섹션들을 포함한다. 표현(800)에 도시된 섹션들이 단지 개념적일 수 있고 표현(800)에 도시된 데이터가 특정한 구현을 제공할 수 있는 임의의 방식으로 전송 스트림(700) 내에서 다중화, 구성, 배열, 송신, 등이 될 수 있다는 것이 이해될 것이다.8 shows a data structure representation 800 of a transport stream 700. As shown, representation 800 includes sections for different types of data, such as a section of metadata 802 , a section of audio data 804 , and a section of video data 806 . The sections shown in representation 800 may be merely conceptual and the data shown in representation 800 may be multiplexed, composed, arranged, transmitted, etc. within transport stream 700 in any way that may provide a particular implementation. It will be understood that this can be

도시된 바와 같이, 메타데이터(802)는 전송 스트림(700) 내에 포함된 각각의 표면 데이터 프레임 시퀀스와 상관되는 다양한 세트들의 캡처 파라미터들(즉, "캡처 파라미터 세트 1" 내지 "캡처 파라미터 세트 M")를 포함한다. 예를 들면, 메타데이터(802) 내에 포함된 캡처 파라미터들의 세트는 도 7에 도시된 캡처되고 가상화된 표면 데이터 프레임 시퀀스들(즉, 표면 데이터 프레임 시퀀스들(400-1 내지 400-8, 600, 및 702-1 내지 702-N))의 각각에 대한 각각의 세트들의 캡처 파라미터들을 포함할 수 있다. 메타데이터(802)는 특정한 구현을 제공할 수 있는 표면 데이터 프레임 시퀀스들(예로서, 또는 표면 데이터 프레임 시퀀스들이 인코딩되는 비디오 데이터 스트림들)을 설명하는 임의의 다른 메타데이터를 더 포함할 수 있다.As shown, metadata 802 includes various sets of capture parameters (i.e., "Capture Parameter Set 1" through "Capture Parameter Set M") that correlate with each surface data frame sequence included within transport stream 700. ). For example, the set of capture parameters contained within metadata 802 may be the captured and virtualized surface data frame sequences shown in FIG. 7 (i.e., surface data frame sequences 400-1 through 400-8, 600, and respective sets of capture parameters for each of 702-1 through 702-N)). Metadata 802 may further include any other metadata describing surface data frame sequences (eg, or video data streams in which surface data frame sequences are encoded) that may provide a particular implementation.

유사하게, 오디오 데이터(804)는 전송 스트림(700) 내에 포함된 각각의 표면 데이터 프레임 시퀀스와 연관된 오디오 소스 데이터를 포함할 수 있다. 예를 들면, "오디오 소스 1" 내지 "오디오 소스 M"은 표면 데이터 프레임 시퀀스들(400-1 내지 400-8, 600, 및 702-1 내지 702-N)과 각각 연관될 수 있다. 다른 예들에서, 오디오 소스들이 표면 데이터 프레임 시퀀스들과 연관되지 않으면, 존재하는 표면 데이터 프레임 시퀀스들(예로서, 표면 데이터 프레임 시퀀스들의 수와 관련되지 않은 오디오 소스들의 수)보다 더 많거나 적은 오디오 소스들이 존재할 수 있다.Similarly, audio data 804 may include audio source data associated with each surface data frame sequence included within transport stream 700 . For example, “Audio Source 1” through “Audio Source M” may be associated with surface data frame sequences 400-1 through 400-8, 600, and 702-1 through 702-N, respectively. In other examples, if the audio sources are not associated with surface data frame sequences, more or less audio sources than surface data frame sequences (eg, number of audio sources not related to the number of surface data frame sequences) that exist. may exist.

도 8에서 또한 도시된 바와 같이. 비디오 데이터(806)는 도 7에서 전송 스트림(700) 내에 포함되도록 도시된 표면 데이터 프레임 시퀀스들의 각각과 연관된 컬러 비디오 데이터 스트림 및 깊이 비디오 데이터 스트림을 포함할 수 있다. 예를 들면, 표면 데이터 프레임 시퀀스들(400-1 내지 400-8, 600, 702-1 내지 702-N)의 각각이 비디오 데이터(806) 내의 컬러 및 깊이 비디오 데이터 스트림 둘 모두에 대응하도록 "컬러 비디오 데이터 스트림 1" 및 "깊이 비디오 데이터 스트림 1"은 표면 데이터 프레임 시퀀스(400-1) 내에 포함된 컬러 및 깊이 프레임들을 나타낼 수 있고, "컬러 비디오 데이터 스트림 2" 및 "깊이 비디오 데이터 스트림 2"은 표면 데이터 프레임 시퀀스(400-2) 내에 포함된 컬러 및 깊이 프레임들을 나타낼 수 있는, 등이다.As also shown in FIG. 8 . Video data 806 may include a color video data stream and a depth video data stream associated with each of the surface data frame sequences shown to be included in transport stream 700 in FIG. 7 . For example, a "color "Video Data Stream 1" and "Depth Video Data Stream 1" may represent the color and depth frames included in the Surface Data Frame Sequence 400-1, and "Color Video Data Stream 2" and "Depth Video Data Stream 2" can represent the color and depth frames included within the surface data frame sequence 400-2, etc.

상기 언급된 바와 같이, 특정 구현들에서, 상이한 시간에 상이한 미디어 플레이어 디바이스들(즉, 상이한 가상 현실 경험들을 가지는 상이한 사용자들과 연관됨)에 대해 관련된 상이한 상세들로 맞춤화될 수 있는 상이한 버전들의 가상 현실 미디어 콘텐트를 생성하는데 있어서 유연성을 허용하기 위해 상대적으로 다수의 가상화된 표면 데이터 프레임 시퀀스들을 제공하는 것이 유용할 수 있다. 예를 들면, 하나의 구현에서, 8개의 물리적 캡처 디바이스들은 8개의 고해상도 캡처된 표면 데이터 프레임 시퀀스들을 생성할 수 있고, 시스템(100)은 8개의 캡처된 표면 데이터 프레임 시퀀스들에 기초하여, 수백 개의 맞춤화된 뷰들의 수백 개의 가상화된 투영들을 위해 수백 개의 가상화된 표면 데이터 프레임 시퀀스들을 생성할 수 있다.As mentioned above, in certain implementations, different versions of virtual reality may be tailored with different details relevant for different media player devices at different times (ie, associated with different users having different virtual reality experiences). It may be useful to provide a relatively large number of virtualized surface data frame sequences to allow flexibility in creating real media content. For example, in one implementation, eight physical capture devices can generate eight high-resolution captured surface data frame sequences, and system 100 can, based on the eight captured surface data frame sequences, hundreds of It can generate hundreds of virtualized surface data frame sequences for hundreds of virtualized projections of customized views.

이러한 다수의 가상화된 표면 데이터 프레임 시퀀스들을 제공하는 것은 가상 현실 미디어 콘텐트를 효율적으로 생성 및 분배하는데 상당한 유연성을 허용할 수 있지만, 데이터의 그렇게 많은 개별적인 스트림들(예로서, 비디오 데이터 스트림들, 등)을 처리하도록 구비될 수 없는 사용가능한 하드웨어 및 소프트웨어 리소스들로 처리하는 것이 어려울 수 있다. 결과적으로, 복수의 컬러 및/또는 깊이 프레임 시퀀스들을 단일 표면 데이터 프레임 시퀀스로 패키징하는 것이 바람직할 수 있다. 예를 들면, 가상화된 표면 데이터 프레임 시퀀스(600)는, 실세계 장면(202)의 맞춤화된 뷰(502)의 가상화된 투영(602)을 위한 렌더링된 컬러 및 깊이 프레임들의 각각이 비디오 데이터 스트림의 각각의 프레임에서 복수의 타일들을 나타내는 타일 맵을 구현하는 비디오 데이터 스트림에서 타일들로 나타내지도록 패키징될 수 있다. 예를 들면, 타일 맵핑 기술(예로서, 텍스처 아틀라스 기술, 스프라이트 시트 기술, 등)은 이러한 프레임들의 시퀀스(예로서, 또는 이들 프레임들의 시퀀스를 나타내는 비디오 데이터 스트림)가 본질적으로, 단일 프레임 시퀀스로서 간주될 수 있지만 다수의 프레임 시퀀스들과 연관된 데이터(예로서, 맞춤화된 뷰들의 가상화된 투영들을 포함하는 다수의 뷰들을 나타냄)를 포함할 수 있도록 다수의 컬러 및/또는 깊이 프레임들을 단일 프레임 상에 함께 패킹하기 위해 사용될 수 있다.Providing such multiple virtualized surface data frame sequences can allow for great flexibility in efficiently creating and distributing virtual reality media content, but not so many individual streams of data (eg, video data streams, etc.) It can be difficult to process with available hardware and software resources that may not be equipped to handle it. Consequently, it may be desirable to package multiple color and/or depth frame sequences into a single surface data frame sequence. For example, a sequence of virtualized surface data frames 600 may include each of the rendered color and depth frames for a virtualized projection 602 of a customized view 502 of a real world scene 202, respectively, of a video data stream. It can be packaged to be represented as tiles in a video data stream that implements a tile map representing a plurality of tiles in a frame of . For example, a tile mapping technique (eg, a texture atlas technique, a sprite sheet technique, etc.) considers a sequence of such frames (eg, or a video data stream representing a sequence of these frames) to be, in essence, a single sequence of frames. multiple color and/or depth frames together on a single frame to be able to contain data associated with multiple frame sequences (eg, representing multiple views including virtualized projections of customized views). Can be used for packing.

예시하기 위해, 도 9는 타일 맵을 구현하는 일 예시적인 타일링(tiling)된 프레임 시퀀스(902)를 포함하는 일 예시적인 전송 스트림(900)의 그래픽 표현을 보여준다. 타일링된 프레임 시퀀스(902)가 본 명세서에 도시된 표면 데이터 프레임 시퀀스들(예로서, 도 4b에서의 표면 데이터 프레임 시퀀스들(400-1), 도 6에서의 가상화된 표면 데이터 프레임 시퀀스(600) 등)과 유사한 블록으로서 도시되지만, 타일링된 프레임 시퀀스(902)가 본 명세서의 다른 표면 데이터 프레임 시퀀스들 중 일부와 상이한 데이터를 나타낼 수 있음이 이해될 것이다. 구체적으로, 예를 들면, 타일링된 프레임 시퀀스(902)는 컬러 프레임 시퀀스(402) 및 깊이 프레임 시퀀스(404)(도 4a에 도시됨)와 같은 다수의 프레임 시퀀스들을 나타내지 않을 수 있지만, 오히려 각각이 타일링된 프레임 시퀀스(902)의 전면에 도시된 바와 같은 복수의 타일들(904)(즉, 타일들(904-1-C 내지 904-9-C))을 포함하는 프레임들의 단일 시퀀스를 포함할 수 있다.To illustrate, FIG. 9 shows a graphical representation of an example transport stream 900 that includes an example tiled frame sequence 902 implementing a tile map. The tiled frame sequence 902 is the surface data frame sequences shown herein (e.g., surface data frame sequences 400-1 in FIG. 4B, virtualized surface data frame sequence 600 in FIG. 6). etc.), it will be appreciated that the tiled sequence of frames 902 may represent different data than some of the other surface data frame sequences herein. Specifically, for example, tiled frame sequence 902 may not represent multiple frame sequences, such as color frame sequence 402 and depth frame sequence 404 (shown in FIG. 4A ), but rather each A tiled frame sequence 902 may include a single sequence of frames that includes a plurality of tiles 904 (ie, tiles 904-1-C through 904-9-C) as shown in front. can

타일링된 프레임 시퀀스(902)의 각각의 프레임 상에 포함된 타일들은 특정한 구현을 제공할 수 있는 임의의 캡처되거나 가상화된 표면 데이터 프레임 시퀀스와 연관된 임의의 컬러 또는 깊이 프레임들을 포함할 수 있다. 예를 들면, 도 9에 도시된 바와 같이, 타일링된 프레임 시퀀스(902)의 각각의 프레임은 뷰(206-1)로부터 캡처된 컬러('C') 프레임에 대응하는 타일(904-1-C), 뷰(206-2)로부터 캡처된 컬러 프레임에 대응하는 타일(904-2-C), 등(최대 뷰(208-8)로부터 캡처된 컬러 프레임에 대응하는 타일(904-8-C)까지)을 포함할 수 있다. 더 도시된 바와 같이, 타일링된 프레임 시퀀스(902)의 각각의 프레임은 맞춤화된 뷰(502)의 가상화된 투영(602)을 위해 생성된 컬러 프레임과 연관된 타일(904-9-C)을 포함할 수 있다. 도 9가 단지 9개의 타일만을 명시적으로 도시하지만, 부가적인 타일들이 또한, 타일링된 프레임 시퀀스(902)의 각각의 프레임 상에 패킹될 수 있음이 이해될 것이다. 예를 들면, 다른 가상화된 투영들, 깊이 프레임들(예로서, 뷰들(206)로부터 캡처되고/되거나 가상화된 투영들을 위해 생성된 깊이 프레임들), 등에 대응하는 타일들은 특정한 구현을 제공할 수 있는 타일 맵 내에 또한 포함될 수 있다. 부가적으로, 도 9에서의 전송 스트림(900)이 타일 맵을 사용하는 하나의 타일링된 프레임 시퀀스를 단지 도시하지만, 전송 스트림(900)이 타일링된 프레임 시퀀스들(예로서, 타일링된 프레임 시퀀스(902)와 같은), 표면 데이터 프레임 시퀀스들(예로서, 프레임 시퀀스들(400, 600, 또는 702)과 같은), 또는 특정한 구현을 제공할 수 있는 다른 데이터를 포함하는 다수의 프레임 시퀀스들을 패키징하기 위해 사용될 수 있음이 이해될 것이다. 일부 예들에서, 타일링된 프레임 시퀀스(902)는 전송 스트림(900)과 같은 전송 스트림에 포함되지 않고 송신될 수 있다.The tiles included on each frame of the tiled frame sequence 902 may include any color or depth frames associated with any captured or virtualized surface data frame sequence that may provide a particular implementation. For example, as shown in FIG. 9 , each frame of the sequence of tiled frames 902 corresponds to a color ('C') frame captured from view 206-1 tile 904-1-C. ), tile 904-2-C corresponding to color frame captured from view 206-2, etc. (tile 904-8-C corresponding to color frame captured from maximum view 208-8) up to) can be included. As further shown, each frame of the sequence of tiled frames 902 will include a tile 904-9-C associated with a color frame generated for the virtualized projection 602 of the customized view 502. can Although FIG. 9 explicitly shows only nine tiles, it will be appreciated that additional tiles may also be packed onto each frame of the tiled frame sequence 902 . For example, tiles corresponding to other virtualized projections, depth frames (eg, depth frames captured from views 206 and/or generated for virtualized projections), etc. may provide a particular implementation. It can also be included in tile maps. Additionally, although the transport stream 900 in FIG. 9 only shows one tiled frame sequence using a tile map, the transport stream 900 can be tiled frame sequences (e.g., tiled frame sequences ( 902), surface data frame sequences (eg, frame sequences 400, 600, or 702), or multiple frame sequences containing other data that may provide a particular implementation. It will be understood that it can be used for In some examples, tiled frame sequence 902 may be transmitted without being included in a transport stream, such as transport stream 900 .

도 10은 전송 스트림(900)의 데이터 구조 표현(1000)을 도시한다. 도시된 바와 같이, 표현(800)과 같이, 표현(1000)은 메타데이터(1002)의 섹션, 오디오 데이터(1004)의 섹션, 및 비디오 데이터(106)의 섹션과 같은 다른 유형들의 데이터에 대한 섹션들을 포함한다. 또한, 표현(800)과 같이, 표현(1000)에 도시된 섹션들은 단지 개념적인 것으로 이해될 것이고, 이는 표현(1000)에 도시된 데이터가 특정한 구현을 제공할 수 있는 임의의 방식으로 전송 스트림(900) 내에서 다중화, 구성, 배열, 송신 등이 될 수 있기 때문이다.10 shows a data structure representation 1000 of a transport stream 900. As shown, like representation 800, representation 1000 has sections for different types of data, such as a section of metadata 1002, a section of audio data 1004, and a section of video data 106. include them Also, like representation 800, the sections shown in representation 1000 are to be understood as conceptual only, meaning that the data shown in representation 1000 can be used in any way that can provide a particular implementation of a transport stream ( 900) can be multiplexed, configured, arranged, transmitted, etc.

도시된 바와 같이, 메타데이터(1002)는 각각의 타일(예로서, 타일들(904-1-C 내지 904-9-C) 및/또는 도 9에 명시적으로 도시되지 않은 다른 타일들)에 대한 2개의 상이한 유형들의 메타데이터를 포함한다. 구체적으로, 각각의 타일("타일 1" 내지 "타일 M")에 대해, 메타데이터(1002)는 그 특정한 타일과 연관된 데이터에 지정되는 각각의 프레임의 섹션을 나타내는 타일 좌표들(예로서, "타일 좌표 1" 내지 "타일 좌표 M")를 포함한다. 예를 들면, 타일 1에 대한 타일 좌표는 타일(904-1-C)이 도 9에 도시되는 프레임들의 좌측 상단 코너를 나타내는 좌표, 등을 포함할 수 있다. 메타데이터(1002)는 또한, 각각의 타일 1 내지 타일 M에 대해 타일과 상관되는 각각의 세트들의 캡처 파라미터들(즉, "캡처 파라미터 세트 1" 내지 "캡처 파라미터 세트 M")를 포함한다. 예를 들면, 메타데이터(802) 내에 포함된 캡처 파라미터들의 세트는 도 9에 도시된 타일들(즉, 타일들(904-1-C 내지 904-9-C))의 각각에 대한 각각의 세트들의 캡처 파라미터들을 포함할 수 있다. 메타데이터(1002)는 특정한 구현을 제공할 수 있는 타일링된 프레임 시퀀스(902)(예로서, 또는 타일링된 프레임 시퀀스(902)가 인코딩되는 비디오 데이터 스트림)의 타일들을 설명하는 임의의 다른 메타데이터를 더 포함할 수 있다.As shown, metadata 1002 is provided in each tile (eg, tiles 904-1-C through 904-9-C and/or other tiles not explicitly shown in FIG. 9 ). contains two different types of metadata for Specifically, for each tile ("Tile 1" through "Tile M"), metadata 1002 is tile coordinates indicating the section of each frame assigned to the data associated with that particular tile (eg, "Tile M"). tile coordinates 1" through "tile coordinates M"). For example, tile coordinates for tile 1 may include coordinates indicating the upper left corner of the frames in which tile 904-1-C is shown in FIG. 9, and the like. Metadata 1002 also includes, for each tile 1 through M, respective sets of capture parameters that are correlated with the tile (ie, “Capture Parameter Set 1” through “Capture Parameter Set M”). For example, the set of capture parameters included in metadata 802 may be a respective set for each of the tiles shown in FIG. 9 (ie, tiles 904-1-C through 904-9-C). of capture parameters. Metadata 1002 may include any other metadata describing the tiles of a tiled sequence of frames 902 (eg, or a video data stream in which the tiled sequence of frames 902 is encoded) that may provide a particular implementation. can include more.

표현(800)에서의 오디오 데이터(804)와 유사하게, 오디오 데이터(1004)는 타일링된 프레임 시퀀스(902) 내에(즉, 전송 스트림(900) 내에) 포함된 각각의 타일과 연관된 오디오 소스 데이터를 포함할 수 있다. 예를 들면, "오디오 소스 1" 내지 "오디오 소스 M"는 각각 타일들(904-1-C 내지 904-9-C) 및/또는 도 9에 명시적으로 도시되지 않은 다른 타일들과 연관될 수 있다. 다른 예들에서, 타일들이 오디오 소스들과 구체적으로 연관되지 않으면 더 많거나 적은 오디오 소스들이 존재할 수 있다.Similar to audio data 804 in representation 800, audio data 1004 is audio source data associated with each tile included within tiled sequence of frames 902 (i.e., within transport stream 900). can include For example, “Audio Source 1” through “Audio Source M” may be associated with tiles 904-1-C through 904-9-C, respectively, and/or other tiles not explicitly shown in FIG. can In other examples, more or fewer audio sources may be present if tiles are not specifically associated with audio sources.

도 8의 표현(800)과 대조적으로, 각각의 표면 데이터 프레임 시퀀스와 연관된 다수의 컬러 및 깊이 비디오 스트림들이 포함된 경우, 표현(1000)은 비디오 데이터(1006)가 타일링된 프레임 시퀀스(902)와 연관된 단지 하나의 비디오 데이터 스트림을 포함한다는 것을 보여준다. 이것은 도 9에 의해 도시된 바와 같이, 타일링된 프레임 시퀀스(902)에 의해 나타내진 각각의 컬러 및/또는 깊이 프레임과 연관된 이미지들 모두가 타일링된 프레임 시퀀스(902)에서 각각의 프레임 상에 함께 패킹되기 때문이다. 특정 예들에서, 전송 스트림(900)은 컬러 데이터 타일들에 전용된 하나의 프레임 시퀀스(예로서, 타일링된 프레임 시퀀스(902)) 및 깊이 데이터 타일들에 전용된 제 2 프레임 시퀀스(도 9에 명시적으로 도시되지 않음)를 포함할 수 있다. 이와 같이, 이들 예들에서, 비디오 데이터(1006)는 컬러 비디오 데이터 스트림 및 깊이 비디오 데이터 스트림 둘 모두를 포함할 수 있다. 또 다른 예들에서, 상기 언급된 바와 같이, 전송 스트림(900)은 타일링된 프레임 시퀀스(902)와 함께 다른 프레임 시퀀스들, 비디오 스트림들, 등(예로서, 타일링되든 또는 타일링되지 않든)을 포함할 수 있다. 이와 같이, 이들 예들에서, 비디오 데이터(1006)는 도 10에 명시적으로 도시되지 않은 다른 비디오 데이터 스트림들을 포함할 수 있다.In contrast to representation 800 of FIG. 8 , where multiple color and depth video streams associated with each surface data frame sequence are included, representation 1000 shows video data 1006 as tiled frame sequence 902 and It shows that it contains only one video data stream associated with it. This means that all of the images associated with each color and/or depth frame represented by the tiled frame sequence 902 are packed together on each frame in the tiled frame sequence 902, as shown by FIG. because it becomes In certain examples, transport stream 900 includes one frame sequence dedicated to color data tiles (e.g., tiled frame sequence 902) and a second frame sequence dedicated to depth data tiles (shown in FIG. 9). not shown as enemies). As such, in these examples, video data 1006 may include both a color video data stream and a depth video data stream. In yet other examples, as noted above, transport stream 900 may include tiled frame sequence 902 along with other frame sequences, video streams, etc. (eg, tiled or non-tiled). can As such, in these examples, video data 1006 may include other video data streams not explicitly shown in FIG. 10 .

상기 언급된 바와 같이, 일부 예들에서, 본 명세서에서 설명된 시스템(100) 및/또는 다른 시스템들(예로서, 다른 서버 측 시스템들) 및 디바이스들은 사용자들에 의해 경험될 가상 현실 미디어 콘텐트를 생성하기 위해 사용될 수 있다. 예를 들면, 상기 설명된 동작들에 더하여, 가상 현실 미디어 콘텐트 제공자 시스템(예로서, 본 명세서에서 설명된 시스템(100) 및/또는 다른 디바이스들 및 시스템들이 포함될 수 있거나 이들 시스템들이 그렇지 않으면, 연관될 수 있는)은 또한, 시스템(100)이 제공하는 데이터에 기초하여 가상 현실 미디어 콘텐트를 생성 및 제공할 수 있다. 가상 현실 미디어 콘텐트는 실세계 장면(예로서, 실세계 장면(202))을 나타낼 수 있고 실세계 장면에 대해 임의의 가상 위치에 대응하는 동적으로 선택가능한 가상 시점으로부터 경험되기 위해 사용자에게 제공가능할 수 있다. 예를 들면, 동적으로 선택가능한 가상 시점은 사용자가 미디어 플레이어 디바이스를 사용하여 실세계 장면을 가상으로 경험하고 있는 동안 미디어 플레이어 디바이스의 사용자에 의해 선택(예로서, 결정, 배치, 등)될 수 있다. 일부 예들에서, 가상 시점은 시점들의 별개의 세트로부터 단지 선택되는 것과 반대로, 2차원 또는 3차원 연속체를 따라 임의의 위치에 있도록 선택될 수 있다. 게다가, 가상 현실 미디어 콘텐트는 사용자가 실세계 장면 내의 임의의 가상 위치에 대응하는 동적으로 선택가능한 가상 시점으로부터 실세계 장면을 가상으로 경험하는 것을 허용하기 위해 미디어 플레이어 디바이스에 제공될 수 있다(예로서, 시스템(100)을 포함하거나 그렇지 않으면, 상기 시스템과 연관되는 가상 현실 미디어 콘텐트 제공자 시스템에 의해). As noted above, in some examples, system 100 and/or other systems (eg, other server-side systems) and devices described herein generate virtual reality media content to be experienced by users. can be used to do For example, in addition to the operations described above, a virtual reality media content provider system (eg, system 100 described herein) and/or other devices and systems may be included or associated if these systems are otherwise ) may also generate and provide virtual reality media content based on data provided by the system 100 . The virtual reality media content may represent a real-world scene (eg, real-world scene 202) and may be presentable to a user to be experienced from a dynamically selectable virtual viewpoint corresponding to any virtual location relative to the real-world scene. For example, a dynamically selectable virtual viewpoint can be selected (eg, determined, placed, etc.) by a user of a media player device while the user is virtually experiencing a real-world scene using the media player device. In some examples, a virtual viewpoint may be selected to be at any location along a two- or three-dimensional continuum, as opposed to just being selected from a distinct set of viewpoints. Additionally, virtual reality media content may be provided to a media player device to allow a user to virtually experience a real-world scene from a dynamically selectable virtual viewpoint corresponding to any virtual location within the real-world scene (e.g., a system (100) or otherwise by a virtual reality media content provider system associated with the system).

예시하기 위해, 도 11은 시스템(100) 및 하나 이상의 부가적인 가상 현실 미디어 제공자 파이프라인 시스템들(1104)을 포함하는 일 예시적인 가상 현실 미디어 콘텐트 제공자 시스템(1102)("제공자 시스템(1102)")이 실세계 장면(202)을 경험하기 위해 사용자(1110)에 의해 사용된 일 예시적인 클라이언트 측 미디어 플레이어 디바이스(1108)("미디어 플레이어 디바이스(1108)")에 네트워크(1106)에 의해 제공되는 가상 현실 미디어 콘텐트를 생성하는 일 예시적인 구성(1100)을 보여준다.To illustrate, FIG. 11 depicts an exemplary virtual reality media content provider system 1102 (“provider system 1102”) that includes system 100 and one or more additional virtual reality media provider pipeline systems 1104. ) is provided by network 1106 to one exemplary client-side media player device 1108 (“media player device 1108”) used by user 1110 to experience real-world scene 202. An exemplary configuration 1100 for generating real media content is shown.

가상화된 표면 데이터 프레임 시퀀스(600)가 상기 설명된 바와 같이 생성되었고 전송 스트림(예로서, 전송 스트림(700), 전송 스트림(900), 등)으로 패키징된 후에, 제공자 시스템(1102)은 미디어 플레이어 디바이스(1108)가 렌더링하도록 구성될 수 있는 가상 현실 미디어 콘텐트를 형성하기 위해 하나 이상의 전송 스트림들을 또한, 인코딩, 패키징, 암호화, 또는 그렇지 않으면 프로세싱할 수 있다. 예를 들면, 가상 현실 미디어 콘텐트는 하기에 설명될 바와 같이, 실세계 장면(202)(예로서, 임의의 캡처 디바이스 뷰 또는 맞춤화된 뷰와 맞추어 조정되지 않지만 사용자(1110)가 관심을 가질 수 있는 가상 시점들을 포함함) 내의 임의의 가상 시점으로부터 실세계 장면(202)의 뷰를 제공하기 위해 미디어 플레이어 디바이스(1108)에 의해 렌더링될 수 있는 복수의 2D 비디오 데이터 스트림들(예로서, 각각의 뷰 및 가상화된 투영과 연관된 컬러 데이터 및 깊이 데이터와 연관된 2D 비디오 데이터 스트림들)을 포함하거나 나타낼 수 있다. 가상 현실 미디어 콘텐트는 이후, 네트워크(1106)에 의해 사용자(1110)와 연관된 미디어 플레이어 디바이스(1108)와 같은 하나 이상의 미디어 플레이어 디바이스들에 분배될 수 있다. 예를 들면, 제공자 시스템(1102)은 가상 현실 미디어 콘텐트를 미디어 플레이어 디바이스(1108)에 제공할 수 있어서 사용자(1110)가 미디어 플레이어 디바이스(1108)를 사용하여 실세계 장면(202)을 가상으로 경험할 수 있게 한다.After the virtualized surface data frame sequence 600 has been created as described above and packaged into a transport stream (eg, transport stream 700 , transport stream 900 , etc.), the provider system 1102 uses the media player Device 1108 may also encode, package, encrypt, or otherwise process one or more transport streams to form virtual reality media content that may be configured to render. For example, virtual reality media content may not be aligned with a real-world scene 202 (eg, any capture device view or customized view, but may be of interest to user 1110), as described below. a plurality of 2D video data streams (eg, each view and virtual 2D video data streams associated with depth data and color data associated with a projected projection). The virtual reality media content may then be distributed by network 1106 to one or more media player devices, such as media player device 1108 associated with user 1110 . For example, provider system 1102 can provide virtual reality media content to media player device 1108 so that user 1110 can use media player device 1108 to virtually experience real world scene 202 . let it be

일부 예들에서, 사용자(1110)가 가상 현실 미디어 콘텐트(예로서, 실세계 장면(202)을 나타냄)에 의해 나타내진 몰입형 가상 실세계 내의 하나 이상의 별개의 위치들로 제한되는 것은 바람직하지 않을 수 있다. 이와 같이, 제공자 시스템(1102)은 실세계 장면(202)이 뷰들(206 및/또는 502)로부터 뿐만 아니라, 실세계 장면(202) 내의 임의의 가상 위치에 대응하는 임의의 동적으로 선택가능한 가상 시점으로부터 나타내지는 것을 허용하기 위해 실세계 장면(202)을 나타내는 가상 현실 미디어 콘텐트 내에 충분한 데이터를 제공할 수 있다. 예를 들면, 동적으로 선택가능한 가상 시점은 사용자(1110)가 미디어 플레이어 디바이스(1108)를 사용하여 실세계 장면(202)을 경험하고 있는 동안 사용자(1110)에 의해 선택될 수 있다.In some examples, it may be undesirable for user 1110 to be restricted to one or more discrete locations within an immersive virtual real world represented by virtual reality media content (eg, representing real world scene 202 ). As such, the provider system 1102 can ensure that the real-world scene 202 is presented not only from views 206 and/or 502, but also from any dynamically selectable virtual viewpoint corresponding to any virtual location within the real-world scene 202. Sufficient data may be provided within the virtual reality media content representing the real world scene 202 to allow For example, a dynamically selectable virtual viewpoint can be selected by user 1110 while user 1110 is experiencing real world scene 202 using media player device 1108 .

본 명세서에서 사용된 바와 같이, "임의의 가상 위치"는 실세계 장면의 표현과 연관된 공간의 임의의 가상 지점을 말할 수 있다. 예를 들면, 임의의 가상 위치들은 실세계 장면을 둘러싸는 고정된 위치들(예로서, 뷰들(206) 및/또는 맞춤화된 뷰(502)와 연관된 고정된 위치들)로 제한되지 않을 뿐만 아니라, 뷰들(206) 및 맞춤화된 뷰(502)와 연관된 위치들 사이의 모든 위치들을 포함한다. 일부 예들에서, 이러한 임의의 가상 위치들은 실세계 장면(202) 내에서 가장 바람직한 가상 시점들에 대응할 수 있다. 예를 들면, 실세계 장면(202)이 농구 경기를 포함하면, 사용자(1110)는 농구 코트 상의 임의의 가상 위치에 있는 게임을 경험하기 위해 가상 시점들을 동적으로 선택할 수 있다. 예를 들면, 사용자는 농구 코트 위 아래로 농구를 따라가고, 게임이 진행되는 도중에 농구 코트에 서 있는 것처럼 농구 게임을 경험하기 위해 자신의 가상 시점들을 동적으로 선택할 수 있다.As used herein, “any virtual location” may refer to any virtual point in space associated with a representation of a real-world scene. For example, any virtual locations are not limited to fixed locations surrounding a real-world scene (eg, fixed locations associated with views 206 and/or customized view 502), as well as views 206 and locations associated with the customized view 502. In some examples, any of these virtual locations may correspond to the most desirable virtual viewpoints within the real-world scene 202 . For example, if real-world scene 202 includes a basketball game, user 1110 can dynamically select virtual viewpoints to experience the game at any virtual location on the basketball court. For example, a user can follow a basketball up and down a basketball court and dynamically select his or her virtual viewpoints to experience a basketball game as if standing on the basketball court midway through the game.

네트워크(1106)는 제공자 특정 유선 또는 무선 네트워크(예로서, 케이블 또는 위성 캐리어 네트워크 또는 모바일 전화 네트워크), 인터넷, 광역 네트워크, 콘텐트 전달 네트워크, 또는 임의의 다른 적합한 네트워크를 포함할 수 있다. 데이터는 특정한 구현을 제공할 수 있는 임의의 통신 기술들, 디바이스들, 미디어, 및 프로토콜들을 사용하여 제공자 시스템(1102)과 미디어 플레이어 디바이스(1108)(뿐만 아니라, 명시적으로 도시되지 않은 다른 미디어 플레이어 디바이스들) 사이를 흐를 수 있다.Network 1106 may include a provider specific wired or wireless network (eg, a cable or satellite carrier network or mobile phone network), the Internet, a wide area network, a content delivery network, or any other suitable network. Data may be transferred to provider system 1102 and media player device 1108 (as well as other media players not explicitly shown) using any communication technologies, devices, media, and protocols that may provide a particular implementation. devices) can flow between them.

미디어 플레이어 디바이스(1108)는 제공자 시스템(1102)으로부터 수신된 가상 현실 미디어 콘텐트에 액세스하고 이를 경험하기 위해 사용자(1110)에 의해 사용될 수 있다. 예를 들면, 미디어 플레이어 디바이스(1108)는 임의의 가상 시점(예로서, 사용자에 의해 선택되고 실세계 장면(202) 내의 임의의 가상 위치에 대응하는 동적으로 선택가능한 가상 시점)으로부터 사용자(1110)에 의해 경험되기 위해 실세계 장면(202)의 3D 가상 표현을 생성하도록 구성될 수 있다. 이를 위해, 미디어 플레이어 디바이스(1108)는 사용자(1110)가 몰입형 가상 실세계를 경험함에 따라, 시야 내에 제공된 몰입형 가상 실세계를 동적으로 업데이트하기 위해 몰입형 가상 실세계(예로서, 실세계 장면(202)을 나타내는 몰입형 가상 실세계)의 시야를 제공하고 사용자(1110)로부터의 사용자 입력을 검출할 수 있는 임의의 디바이스를 포함하거나 그에 의해 구현될 수 있다.Media player device 1108 can be used by user 1110 to access and experience virtual reality media content received from provider system 1102 . For example, media player device 1108 may provide user 1110 access from any virtual viewpoint (eg, a dynamically selectable virtual viewpoint selected by the user and corresponding to any virtual location within real-world scene 202). may be configured to create a 3D virtual representation of a real-world scene 202 to be experienced by a user. To this end, the media player device 1108 may use the immersive virtual real world (e.g., real world scene 202) to dynamically update the immersive virtual real world provided within the field of view as the user 1110 experiences the immersive virtual real world. may include or be implemented by any device capable of providing a view of an immersive virtual real world) and detecting user input from the user 1110.

도 12는 가상 현실 미디어 콘텐트를 경험하기 위해 사용자(1110)에 의해 사용될 수 있는 다양한 예시적인 유형들의 미디어 플레이어 디바이스들(1108)을 보여준다. 구체적으로, 도시된 바와 같이, 미디어 플레이어 디바이스(1108)는 가상 현실 미디어 콘텐트의 수신 및/또는 제공을 가능하게 하기 위해 머리 장착용 디스플레이 스크린, 개인용 컴퓨터 디바이스(1204)(예로서, 데스크탑 컴퓨터, 랩톱 컴퓨터 등), 모바일 또는 무선 디바이스(1206)(예로서, 머리 장착 장치에 의해 사용자(1110)의 머리에 가능하게 장착된 스마트 폰, 태블릿 디바이스 등), 또는 특정한 구현을 제공할 수 있는 임의의 다른 디바이스 또는 디바이스들의 구성을 포함하는 머리 장착용 가상 현실 디바이스(1202)(예로서, 가상 현실 게임 디바이스)와 같은 몇몇 상이한 형태 인자들 중 하나를 취할 수 있다. 상이한 유형들의 미디어 플레이어 디바이스들(예로서, 머리 장착용 가상 현실 디바이스들, 개인용 컴퓨터 디바이스들, 모바일 디바이스들, 등)은 사용자(1110)에게 상이한 레벨들의 몰입도를 가지는 상이한 유형들의 가상 현실 경험들을 제공할 수 있다.12 shows various example types of media player devices 1108 that may be used by a user 1110 to experience virtual reality media content. Specifically, as shown, media player device 1108 is a head-mounted display screen, personal computer device 1204 (eg, desktop computer, laptop) to enable reception and/or presentation of virtual reality media content. computer, etc.), mobile or wireless device 1206 (eg, a smart phone, tablet device, etc. possibly mounted to the head of user 1110 by way of a head-mounted device), or any other device that may provide a particular implementation. It may take one of several different form factors, such as head mounted virtual reality device 1202 (eg, virtual reality gaming device) comprising a device or configuration of devices. Different types of media player devices (eg, head mounted virtual reality devices, personal computer devices, mobile devices, etc.) provide user 1110 with different types of virtual reality experiences with different levels of immersion. can provide

도 13은 실세계 장면에 대해 일 예시적인 임의의 가상 위치에 대응하는 동적으로 선택가능한 가상 시점으로부터 경험된 바와 같이 사용자(1110)에게 실세계 장면을 나타내는 예시적인 가상 현실 미디어 콘텐트가 제공되는 일 예시적인 가상 현실 경험(1300)을 도시한다. 구체적으로, 가상 현실 미디어 콘텐트(1302)는 슛이 행해지고 있는 실세계 장면의 표현 내에서 농구 표준 바로 아래의 임의의 가상 위치에 대응하는 가상 시점으로부터 실세계 장면을 보여주는 시야(1304) 내에 제공된다. 실세계 장면에 기초한 몰입형 가상 실세계(1306)는 뷰어가 몰입형 가상 실세계(1306) 주변을 둘러보고/보거나 그 주위로 움직이기 위해(즉, 경험할 가상 시점을 동적으로 선택함) 사용자 입력(예로서, 머리 움직임들, 키보드 입력, 등)을 제공함으로써 경험하는 것을 사용가능하게 할 수 있다.13 illustrates an exemplary virtual reality media content representing a real-world scene to a user 1110 as experienced from a dynamically selectable virtual viewpoint corresponding to an exemplary arbitrary virtual location relative to the real-world scene. Illustrates a reality experience (1300). Specifically, virtual reality media content 1302 is presented within a field of view 1304 showing a real-world scene from a virtual viewpoint corresponding to any virtual location directly below a basketball standard within a representation of a real-world scene where a shot is being taken. The immersive virtual real world 1306 based on the real world scene requires user input (e.g., to dynamically select a virtual viewpoint to experience) for the viewer to look around and/or move around the immersive virtual real world 1306. , head movements, keyboard input, etc.)

예를 들면, 시야(1304)는 사용자(1110)가 몰입형 가상 실세계(1306) 주위를 쉽게 그리고 자연스럽게 볼 수 있는 윈도우를 제공할 수 있다. 시야(1304)는 미디어 플레이어 디바이스(1108)에 의해(예로서, 미디어 플레이어 디바이스(1108)의 디스플레이 스크린 상에) 제공될 수 있고 몰입형 가상 실세계(1306) 내에서 사용자를 둘러싸는 객체들을 묘사하는 비디오를 포함할 수 있다. 부가적으로, 시야(1304)는 사용자(1110)가 몰입형 가상 실세계(1306)를 경험함에 따라 사용자(1110)에 의해 제공된 사용자 입력에 응답하여 동적으로 변경될 수 있다. 예를 들면, 미디어 플레이어 디바이스(1108)는 사용자 입력(예로서, 시야(1304)가 제공되는 디스플레이 스크린을 이동 또는 회전시키는 것)을 검출할 수 있다. 이에 응답하여, 시야(1304)는 이전의 가상 시점 또는 가상 위치에서 보여진 객체들 대신에 상이한 가상 시점 또는 가상 위치로부터 보여진 상이한 객체들 및/또는 객체들을 디스플레이할 수 있다.For example, field of view 1304 can provide a window through which user 1110 can easily and naturally look around immersive virtual real world 1306 . Field of view 1304 may be provided by media player device 1108 (eg, on a display screen of media player device 1108 ) and depicts objects surrounding the user within immersive virtual real world 1306 . Can include video. Additionally, the field of view 1304 can dynamically change in response to user input provided by the user 1110 as the user 1110 experiences the immersive virtual real world 1306 . For example, the media player device 1108 can detect user input (eg, moving or rotating the display screen on which the field of view 1304 is provided). In response, view 1304 may display different objects and/or objects viewed from a different virtual viewpoint or virtual location in place of objects seen from the previous virtual viewpoint or virtual position.

도 13에서, 몰입형 가상 실세계(1306)는 반구로서 도시되고, 이는 사용자(1110)가 현재 선택한 농구 표준 하의 위치의 가상 시점으로부터 실질적으로 전방, 후방, 좌측, 우측, 및/또는 위쪽인 몰입형 가상 실세계(1306) 내에서 임의의 방향을 볼 수 있음을 나타낸다. 다른 예들에서, 몰입형 가상 실세계(1306)는 사용자(1110)가 또한 내려다볼 수 있도록 완전한 360°x 180°구를 포함할 수 있다. 부가적으로, 사용자(1110)는 몰입형 가상 실세계(1306) 내의 다른 위치들로 여기저기 이동할 수 있다(즉, 실세계 장면의 표현 내에서 상이한 동적으로 선택가능한 가상 시점들을 동적으로 선택함). 예를 들면, 사용자(1110)는 하프 코트에서의 가상 시점, 농구 표준에 대향하는 자유투 라인으로부터의 가상 시점, 농구 표준 위에 일시정지된 가상 시점, 등을 선택할 수 있다.In FIG. 13 , the immersive virtual real world 1306 is depicted as a hemisphere, which is substantially forward, backward, left, right, and/or above from the virtual viewpoint of the location under the basketball standard currently selected by the user 1110. Indicates that you can look in any direction within the virtual real world 1306. In other examples, immersive virtual real world 1306 may include a full 360° x 180° sphere for user 1110 to also look down. Additionally, the user 1110 can move around to different locations within the immersive virtual real world 1306 (ie, dynamically select different dynamically selectable virtual viewpoints within a representation of a real world scene). For example, user 1110 may select a virtual view at half court, a virtual view from the free throw line facing the basketball standard, a virtual view paused over the basketball standard, and the like.

도 14는 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 일 예시적인 방법(1400)을 보여준다. 도 14가 하나의 실시예에 따른 예시적인 동작들을 도시하지만, 상이한 실시예들은 도 14에 도시된 동작들 중 임의의 동작을 생략, 부가, 재정렬, 및/또는 수정할 수 있다. 도 14에 도시된 동작들 중 하나 이상은 시스템(100), 그의 구현, 및/또는 시스템(100)과 연관(예로서, ~와 통신가능하게 결합되거나, ~와 상호동작하도록 구성됨, 등)되는 것으로서 상기 설명된 또 다른 시스템에 의해 수행될 수 있다.14 shows an example method 1400 for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content. Although FIG. 14 illustrates exemplary operations according to one embodiment, different embodiments may omit, add, rearrange, and/or modify any of the operations illustrated in FIG. 14 . One or more of the operations illustrated in FIG. 14 may be associated with (eg, communicatively coupled with, configured to interact with, etc.) system 100, its implementation, and/or system 100. It may be performed by another system described above as such.

동작(1402)에서, 가상화된 투영 생성 시스템은, 각각이 실세계 장면의 상이한 뷰들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임들을 포함하는 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신할 수 있다. 일부 예들에서, 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처될 수 있다. 동작(1402)은 본 명세서에서 설명된 방식들 중 임의의 방식으로 수행될 수 있다.At operation 1402, the virtualized projection generation system creates color and depth frames depicting the real-world scene according to respective sets of capture parameters included in a plurality of sets of capture parameters, each associated with a different view of the real-world scene. may receive a plurality of captured surface data frame sequences comprising In some examples, each surface data frame sequence in the plurality of captured surface data frame sequences may be transferred to a different capture device in a plurality of capture devices disposed at different locations relative to the real world scene to capture different views of the real world scene. can be captured by Operation 1402 can be performed in any of the ways described herein.

동작(1404)에서, 가상화된 투영 생성 시스템은 동작(1402)에서 수신된 캡처된 표면 데이터 프레임 시퀀스들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개인 부가적인 세트의 캡처 파라미터들을 식별할 수 있다. 일부 예들에서, 부가적인 세트의 캡처 파라미터들은 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 별개인 실세계 장면의 맞춤화된 뷰와 연관될 수 있다. 동작(1404)은 본 명세서에서 설명된 방식들 중 임의의 방식으로 수행될 수 있다.At operation 1404, the virtualized projection generation system performs an additional set of capture parameters distinct from the sets of capture parameters included in the plurality of sets of capture parameters associated with the captured surface data frame sequences received at operation 1402. Capture parameters can be identified. In some examples, an additional set of capture parameters can be associated with a customized view of the real-world scene that is separate from the different views of the real-world scene captured by the plurality of capture devices. Operation 1404 can be performed in any of the ways described herein.

동작(1406)에서, 가상화된 투영 생성 시스템은 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있다. 예를 들면, 가상화된 투영 생성 시스템은 동작(1402)에서 수신된 캡처된 표면 데이터 프레임 시퀀스들에 기초하여 그리고 동작(1404)에서 식별된 부가적인 세트의 캡처 파라미터들에 기초하여 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있다. 동작(1406)은 본 명세서에서 설명된 방식들 중 임의의 방식으로 수행될 수 있다.At operation 1406, the virtualized projection generation system may render color and depth frames for a virtualized projection of the customized view of the real world scene. For example, the virtualized projection generation system uses an additional set of capture parameters identified in operation 1404 and based on the captured surface data frame sequences received in operation 1402 to generate a virtualized projection for the virtualized projection. Color and depth frames can be rendered. Operation 1406 can be performed in any of the ways described herein.

동작(1408)에서, 가상화된 투영 생성 시스템은 동작(1406)에서 렌더링된 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 렌더링된 컬러 및 깊이 프레임들을 포함하는 가상화된 표면 데이터 프레임 시퀀스를 제공할 수 있다. 일부 예들에서, 가상화된 투영 생성 시스템은 미디어 플레이어 디바이스에 가상 현실 미디어 콘텐트 내에 포함시키기 위해 가상화된 표면 데이터 프레임 시퀀스를 제공할 수 있다. 동작(1408)은 본 명세서에서 설명된 방식들 중 임의의 방식으로 수행될 수 있다.At operation 1408, the virtualized projection generation system may provide a sequence of virtualized surface data frames including rendered color and depth frames for the virtualized projection of the customized view of the real world scene rendered at operation 1406. there is. In some examples, a virtualized projection generation system can provide a sequence of virtualized surface data frames to a media player device for inclusion within virtual reality media content. Operation 1408 can be performed in any of the ways described herein.

도 15는 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 일 예시적인 방법(1500)을 도시한다. 도 15가 하나의 실시예에 따른 예시적인 동작들을 도시하지만, 다른 실시예들은 도 15에 도시된 동작들 중 임의의 동작을 생략, 부가, 재정렬, 및/또는 수정할 수 있다. 도 15에 도시된 동작들 중 하나 이상은 시스템(100), 그의 구현, 및/또는 시스템(100)과 연관(예로서, ~와 통신가능하게 결합되거나, ~와 상호동작하도록 구성됨, 등)되는 것으로서 상기 설명된 또 다른 시스템에 의해 수행될 수 있다.15 depicts an example method 1500 for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content. Although FIG. 15 illustrates exemplary operations according to one embodiment, other embodiments may omit, add, rearrange, and/or modify any of the operations illustrated in FIG. 15 . One or more of the operations depicted in FIG. 15 may be associated with (eg, communicatively coupled with, configured to interact with, etc.) system 100, its implementation, and/or system 100. It may be performed by another system described above as such.

동작(1502)에서, 가상화된 투영 생성 시스템은, 각각이 실세계 장면의 상이한 뷰들과 연관된 제 1 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임들을 포함하는 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신할 수 있다. 예를 들면, 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처될 수 있다. 특정 예들에서, 동작(1502)은 실세계 장면 내에서 이벤트들이 발생함에 따라 실시간으로 수행될 수 있다. 동작(1502)은 본 명세서에서 설명된 방식들 중 임의의 방식으로 수행될 수 있다.In operation 1502, the virtualized projection generation system determines a color and a color image depicting a real-world scene according to respective sets of capture parameters included in a first plurality of sets of capture parameters, each associated with a different view of the real-world scene. A plurality of captured surface data frame sequences including depth frames may be received. For example, each surface data frame sequence in a plurality of captured surface data frame sequences may be assigned to a different capture device in a plurality of capture devices disposed at different locations relative to the real world scene to capture different views of the real world scene. can be captured by In certain examples, operation 1502 can be performed in real time as events occur within the real world scene. Operation 1502 can be performed in any of the ways described herein.

동작(1504)에서, 가상화된 투영 생성 시스템은 제 1 복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개인 제 2 복수의 세트들의 캡처 파라미터들을 식별할 수 있다. 예를 들면, 제 2 복수의 세트들의 캡처 파라미터들에서 각각의 세트의 캡처 파라미터들은 동작(1502)에 관하여 상기 논의된 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 별개인 실세계 장면의 각각의 맞춤화된 뷰와 연관될 수 있다. 일부 예들에서, 제 2 복수의 세트들의 캡처 파라미터들은 동작(1502)에서 수신된 캡처된 표면 데이터 프레임 시퀀스들과 연관된 제 1 복수의 세트들의 캡처 파라미터들에 포함되는 것보다 많은 수의 세트들을 포함할 수 있다. 동작(1502)과 같이, 특정 구현들에서, 이벤트들이 실세계 장면 내에서 발생함에 따라 동작(1504)이 실시간으로 수행될 수 있고, 동작(1504)은 본 명세서에서 설명된 방식들 중 임의의 방식으로 수행될 수 있다.At operation 1504, the virtualized projection generation system may identify a second plurality of sets of capture parameters that are distinct from the sets of capture parameters included in the first plurality of sets of capture parameters. For example, each set of capture parameters in the second plurality of sets of capture parameters may be a representation of a real-world scene that is distinct from the different views of the real-world scene captured by the plurality of capture devices discussed above with respect to operation 1502. It can be associated with each customized view. In some examples, the second plurality of sets of capture parameters may include a greater number of sets than are included in the first plurality of sets of capture parameters associated with the captured surface data frame sequences received in operation 1502. can Like operation 1502, in certain implementations, operation 1504 can be performed in real time as events occur within a real-world scene, and operation 1504 can be performed in any of the ways described herein. can be performed

동작(1506)에서, 가상화된 투영 생성 시스템은 제 2 복수의 세트들의 캡처 파라미터들에서 캡처 파라미터들의 세트가 동작(1504)에서 식별되는 실세계 장면의 각각의 개별적인 맞춤화된 뷰의 가상화된 투영들을 위해 컬러 및 깊이 프레임들을 렌더링할 수 있다. 일부 예들에서, 가상화된 투영 생성 시스템은 동작(1502)에서 수신된 복수의 캡처된 표면 데이터 프레임 시퀀스들에 기초하여 그리고 동작(1504)에서 식별된 제 2 복수의 세트들의 캡처 파라미터들에 기초하여 컬러 및 깊이 프레임들을 렌더링할 수 있다. 동작들(1502 및 1504)과 같이, 특정 구현들에서, 동작(1506)은 이벤트들이 실세계 장면 내에서 발생함에 따라 실시간으로 수행될 수 있다. 동작(1506)은 본 명세서에서 설명된 방식들 중 임의의 방식으로 수행될 수 있다.At operation 1506, the virtualized projection generation system determines the color for virtualized projections of each individual customized view of the real-world scene for which the set of capture parameters in the second plurality of sets of capture parameters is identified at operation 1504. and depth frames. In some examples, the virtualized projection generation system determines the color based on the plurality of captured surface data frame sequences received in operation 1502 and based on the second plurality of sets of capture parameters identified in operation 1504. and depth frames. Like operations 1502 and 1504, in certain implementations, operation 1506 can be performed in real time as events occur within a real-world scene. Operation 1506 can be performed in any of the ways described herein.

동작(1508)에서, 가상화된 투영 생성 시스템은 동작(1506)에서 렌더링된 실세계 장면의 각각의 맞춤화된 뷰의 가상화된 투영들을 위해 컬러 및 깊이 프레임들을 포함하는 복수의 가상화된 표면 데이터 프레임 시퀀스들을 제공할 수 있다. 예를 들면, 가상화된 투영 생성 시스템은 미디어 플레이어 디바이스에 가상 현실 미디어 콘텐트 내에 포함시키기 위해 복수의 가상화된 표면 데이터 프레임 시퀀스들을 제공할 수 있다. 동작들(1502 내지 1506)과 같이, 동작(1508)은 실세계 장면 내에서 이벤트들이 발생함에 따라 실시간으로 수행될 수 있다. 동작(1508)은 본 명세서에서 설명된 방식들 중 임의의 방식으로 수행될 수 있다.In operation 1508, the virtualized projection generation system provides a plurality of virtualized surface data frame sequences including color and depth frames for virtualized projections of each customized view of the real-world scene rendered in operation 1506. can do. For example, a virtualized projection generation system may provide a media player device with a plurality of virtualized surface data frame sequences for inclusion within virtual reality media content. Like operations 1502-1506, operation 1508 can be performed in real time as events occur within the real world scene. Operation 1508 can be performed in any of the ways described herein.

특정 실시예들에서, 본 명세서에서 설명된 시스템들, 구성요소들, 및/또는 프로세스들 중 하나 이상은 하나 이상의 적절하게 구성된 컴퓨팅 디바이스들에 의해 구현 및/또는 수행될 수 있다. 이를 위해, 상기 설명된 시스템들 및/또는 구성요소들 중 하나 이상은 본 명세서에서 설명된 프로세스들 중 하나 이상을 수행하도록 구성된 적어도 하나의 비일시적 컴퓨터 판독가능한 매체 상에 구현된 임의의 컴퓨터 하드웨어 및/또는 컴퓨터 구현 지시들(예로서, 소프트웨어)을 포함하거나 그들에 의해 구현될 수 있다. 특히, 시스템 구성요소들은 하나의 물리적 컴퓨팅 디바이스 상에서 구현될 수 있거나 하나보다 많은 물리적 컴퓨팅 디바이스 상에서 구현될 수 있다. 그에 따라, 시스템 구성요소들은 임의의 수의 컴퓨팅 디바이스들을 포함할 수 있고, 복수의 컴퓨터 운영 체제들 중 임의의 운영 체제를 사용할 수 있다.In certain embodiments, one or more of the systems, components, and/or processes described herein may be implemented and/or performed by one or more suitably configured computing devices. To this end, one or more of the systems and/or components described above may be any computer hardware implemented on at least one non-transitory computer readable medium configured to perform one or more of the processes described herein and /or may include or be implemented by computer implemented instructions (eg, software). In particular, system components may be implemented on one physical computing device or may be implemented on more than one physical computing device. As such, system components may include any number of computing devices and may use any of a plurality of computer operating systems.

특정 실시예들에서, 본 명세서에서 설명된 프로세스들 중 하나 이상은 비일시적 컴퓨터 판독가능한 매체에 구현되고 하나 이상의 컴퓨팅 디바이스들에 의해 실행가능한 지시들로서 적어도 부분적으로 구현될 수 있다. 일반적으로, 프로세서(예로서, 마이크로프로세서)는 비일시적 컴퓨터 판독가능한 매체(예로서, 메모리, 등)로부터 지시들을 수신하고, 이들 지시들을 실행하며 그에 의해, 본 명세서에서 설명된 프로세스들 중 하나 이상을 포함하는, 하나 이상의 프로세스들을 수행한다. 이러한 지시들은 다양한 알려진 컴퓨터 판독가능한 매체들 중 임의의 매체를 사용하여 저장되고/되거나 송신될 수 있다.In certain embodiments, one or more of the processes described herein may be implemented at least in part as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices. Generally, a processor (eg, microprocessor) receives instructions from a non-transitory computer readable medium (eg, memory, etc.) and executes these instructions thereby thereby performing one or more of the processes described herein. Perform one or more processes, including These instructions may be stored on and/or transmitted using any of a variety of known computer readable media.

컴퓨터 판독가능한 매체(또한, 프로세서 판독가능한 매체로서 언급됨)는 컴퓨터에 의해(예로서, 컴퓨터의 프로세서에 의해) 판독될 수 있는 데이터(예로서, 지시들)을 제공하는데 관여하는 임의의 비일시적인 매체를 포함한다. 이러한 매체는 비휘발성 매체들, 및/또는 휘발성 매체들을 포함하지만 그것으로 제한되지 않는 많은 형태들을 취할 수 있다. 비휘발성 매체들은 예를 들면, 광학 또는 자기 디스크들 및 다른 영구적인 메모리를 포함할 수 있다. 휘발성 매체들은 예를 들면, 동적 랜덤 액세스 메모리("DRAM")를 포함할 수 있고, 이는 전형적으로 메인 메모리를 구성한다. 컴퓨터 판독가능한 매체들의 공통적인 형태들은 예를 들면, 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, 컴팩트 디스크 판독 전용 메모리("CD-ROM"), 디지털 비디오 디스크("DVD"), 임의의 다른 광학 매체, 랜덤 액세스 메모리("RAM"), 프로그래밍가능한 판독 전용 메모리("PROM"), 전기적으로 소거가능한 프로그래밍가능한 판독 전용 메모리("EPROM"), FLASH-EEPROM, 임의의 다른 메모리 칩 또는 카트리지, 또는 컴퓨터가 판독할 수 있는 임의의 다른 유형의 매체를 포함한다.A computer-readable medium (also referred to as a processor-readable medium) is any non-transitory medium that participates in providing data (eg, instructions) that can be read by a computer (eg, by a processor of a computer). includes media Such a medium may take many forms, including but not limited to non-volatile media and/or volatile media. Non-volatile media may include, for example, optical or magnetic disks and other permanent memory. Volatile media may include, for example, dynamic random access memory ("DRAM"), which typically constitutes main memory. Common forms of computer readable media include, for example, disks, hard disks, magnetic tape, any other magnetic medium, compact disc read only memory ("CD-ROM"), digital video disk ("DVD"), any other optical media, random access memory (“RAM”), programmable read-only memory (“PROM”), electrically erasable programmable read-only memory (“EPROM”), FLASH-EEPROM, any other memory chip, or cartridge, or any other type of computer-readable medium.

도 16은 본 명세서에서 설명된 프로세스들 중 하나 이상을 수행하도록 구체적으로 구성될 수 있는 일 예시적인 컴퓨팅 디바이스(1600)를 도시한다. 도 16에 도시된 바와 같이, 컴퓨팅 디바이스(1600)는 통신 인터페이스(1602), 프로세서(1604), 저장 디바이스(1606), 및 통신 인프라스트럭처(1610)를 통해 통신가능하게 연결된 입력/출력("I/O") 모듈(1608)을 포함할 수 있다. 일 예시적인 컴퓨팅 디바이스(1600)가 도 16에 도시될지라도, 도 16에 도시된 구성요소들은 제한하는 것으로 의도되지 않는다. 부가적이거나 대안적인 구성요소들은 다른 실시예들에서 사용될 수 있다. 도 16에 도시된 컴퓨팅 디바이스(1600)의 구성요소들은 이제 부가적인 상세로 설명될 것이다.16 depicts an example computing device 1600 that may be specifically configured to perform one or more of the processes described herein. As shown in FIG. 16 , computing device 1600 has an input/output (“I /O") module 1608. Although one example computing device 1600 is shown in FIG. 16 , the components shown in FIG. 16 are not intended to be limiting. Additional or alternative components may be used in other embodiments. Components of the computing device 1600 shown in FIG. 16 will now be described in additional detail.

통신 인터페이스(1602)는 하나 이상의 컴퓨팅 디바이스들과 통신하도록 구성될 수 있다. 통신 인터페이스(1602)의 예들은 제한없이, 유선 네트워크 인터페이스(네트워크 인터페이스 카드와 같은), 무선 네트워크 인터페이스(무선 네트워크 인터페이스 카드와 같은), 모뎀, 오디오/비디오 연결, 및 임의의 다른 적합한 인터페이스를 포함한다.Communications interface 1602 can be configured to communicate with one or more computing devices. Examples of communication interface 1602 include, without limitation, a wired network interface (such as a network interface card), a wireless network interface (such as a wireless network interface card), a modem, an audio/video connection, and any other suitable interface. .

프로세서(1604)는 일반적으로, 데이터를 프로세싱하거나 본 명세서에서 설명된 지시들, 프로세스들, 및/또는 동작들 중 하나 이상을 해석, 실행, 및/또는 그들의 실행을 지시할 수 있는 임의의 유형 또는 형태의 프로세싱 유닛(예로서, 중앙 처리 장치 및/또는 그래픽 처리 장치)을 나타낸다. 프로세서(1604)는 하나 이상의 애플리케이션들(1612)에 따른 동작들 또는 저장 디바이스(1606) 또는 또 다른 컴퓨터 판독가능한 매체에 저장될 수 있는 것과 같은 다른 컴퓨터 실행가능한 지시들의 실행을 지시할 수 있다.Processor 1604 generally processes data or interprets, executes, and/or directs the execution of one or more of the instructions, processes, and/or operations described herein of any type or type. type of processing unit (eg, central processing unit and/or graphics processing unit). Processor 1604 can direct the execution of operations in accordance with one or more applications 1612 or other computer-executable instructions, such as those stored on storage device 1606 or another computer-readable medium.

저장 디바이스(1606)는 하나 이상의 데이터 저장 매체들, 디바이스들, 또는 구성들을 포함할 수 있고 임의의 유형, 형태의 데이터 저장 매체들 및/또는 디바이스, 및 그들의 조합을 사용할 수 있다. 예를 들면, 저장 디바이스(1606)는 하드 드라이브, 네트워크 드라이브, 플래시 드라이브, 자기 디스크, 광학 디스크, RAM, 동적 RAM, 다른 비휘발성 및/또는 휘발성 데이터 저장 유닛들, 또는 그의 조합 또는 하위조합을 포함할 수 있지만 그들로 제한되지 않는다. 본 명세서에서 설명된 데이터를 포함하는 전자 데이터는 일시적으로 및/또는 영구적으로 저장 디바이스(1606)에 저장될 수 있다. 예를 들면, 프로세서(1604)로 하여금 본 명세서에서 설명된 동작들 중 임의의 동작을 수행하도록 지시하도록 구성된 하나 이상의 실행가능한 애플리케이션들(1612)을 나타내는 데이터는 저장 디바이스(1606) 내에 저장될 수 있다. 일부 예들에서, 데이터는 저장 디바이스(1606) 내에 상주하는 하나 이상의 데이터베이스들에 배열될 수 있다.The storage device 1606 may include one or more data storage media, devices, or components and may use any type, form, or combination of data storage media and/or device, and combinations thereof. For example, storage device 1606 includes a hard drive, network drive, flash drive, magnetic disk, optical disk, RAM, dynamic RAM, other non-volatile and/or volatile data storage units, or combinations or subcombinations thereof. You can, but are not limited to them. Electronic data, including data described herein, may be temporarily and/or permanently stored in the storage device 1606. For example, data representing one or more executable applications 1612 configured to direct the processor 1604 to perform any of the operations described herein may be stored in the storage device 1606. . In some examples, data may be arranged in one or more databases residing within storage device 1606 .

I/O 모듈(1608)은 사용자 입력을 수신하고 사용자 출력을 제공하도록 구성된 하나 이상의 I/O 모듈들을 포함할 수 있다. 하나 이상의 I/O 모듈들은 단일 가상 현실 경험을 위한 입력을 수신하기 위해 사용될 수 있다. I/O 모듈(1608)은 입력 및 출력 능력들을 지원하는 임의의 하드웨어, 펌웨어, 소프트웨어, 또는 그의 조합을 포함할 수 있다. 예를 들면, I/O 모듈(1608)은 키보드 또는 키패드, 터치스크린 구성요소(예로서, 터치스크린 디스플레이), 수신기(예로서, RF 또는 적외선 수신기), 움직임 센서들, 및/또는 하나 이상의 입력 버튼들을 포함하지만, 그들로 제한되지 않는 사용자 입력을 캡처하기 위한 하드웨어 및/또는 소프트웨어를 포함할 수 있다.I/O module 1608 may include one or more I/O modules configured to receive user input and provide user output. One or more I/O modules may be used to receive input for a single virtual reality experience. The I/O module 1608 may include any hardware, firmware, software, or combination thereof that supports input and output capabilities. For example, the I/O module 1608 may include a keyboard or keypad, a touchscreen component (eg, a touchscreen display), a receiver (eg, an RF or infrared receiver), motion sensors, and/or one or more input inputs. It may include hardware and/or software for capturing user input, including but not limited to buttons.

I/O 모듈(1608)은 그래픽 엔진, 디스플레이(예로서, 디스플레이 스크린), 하나 이상의 출력 구동기들(예로서, 디스플레이 구동기들), 하나 이상의 오디오 스피커들, 및 하나 이상의 오디오 구동기들을 포함하지만 그들로 제한되지 않는, 사용자에게 출력을 제공하기 위한 하나 이상의 디바이스들을 포함할 수 있다. 특정 실시예들에서, I/O 모듈(1608)은 사용자에게 제공하기 위해 그래픽 데이터를 디스플레이에 제공하도록 구성된다. 그래픽 데이터는 특정한 구현을 제공할 수 있는 하나 이상의 그래픽 사용자 인터페이스들 및/또는 임의의 다른 그래픽 콘텐트를 나타낼 수 있다.I/O module 1608 includes but does not include a graphics engine, a display (eg, display screen), one or more output drivers (eg, display drivers), one or more audio speakers, and one or more audio drivers. It may include, but is not limited to, one or more devices for providing output to a user. In certain embodiments, I/O module 1608 is configured to provide graphical data to a display for presentation to a user. Graphics data may represent one or more graphical user interfaces and/or any other graphical content that may provide a particular implementation.

일부 예들에서, 본 명세서에서 설명된 시설들 중 임의의 시설은 컴퓨팅 디바이스(1600)의 하나 이상의 구성요소들에 의해 또는 그 내부에 구현될 수 있다. 예를 들면, 저장 디바이스(1606) 내에 상주하는 하나 이상의 애플리케이션들(1612)은 프로세서(1604)로 하여금 통신 시설(102), 표면 데이터 프레임 시퀀스 관리 시설(104), 또는 시스템(100)의 가상화된 투영 생성 시설(106)와 연관된 하나 이상의 동작들 또는 기능들을 수행하도록 지시하도록 구성될 수 있다(도 1 참조). 마찬가지로, 시스템(100)의 저장 시설(108)은 저장 디바이스(1606)에 의해 또는 상기 저장 디바이스 내에 구현될 수 있다.In some examples, any of the facilities described herein may be implemented by or within one or more components of computing device 1600 . For example, one or more applications 1612 residing within storage device 1606 may cause processor 1604 to perform virtualization of communication facility 102, surface data frame sequence management facility 104, or system 100. It may be configured to direct the performance of one or more operations or functions associated with projection generation facility 106 (see FIG. 1 ). Similarly, storage facility 108 of system 100 may be implemented by or within storage device 1606 .

상기 설명된 실시예들이 개인에 의해 제공된 개인 정보를 수집, 저장, 및/또는 사용하는 범위에서, 이러한 정보가 개인 정보의 보호에 관한 모든 적용가능한 법률에 따라 사용될 것이 이해되어야 한다. 부가적으로, 이러한 정보의 수집, 저장, 및 사용은 예를 들면, 정보의 유형 및 상황에 대해 적절할 수 있는 잘 알려진 "수신(opt-in)" 또는 "수신 거부(opt-out)" 프로세스들을 통해 이러한 활동에 대한 개인의 동의에 영향을 받을 수 있다. 개인 정보의 저장 및 사용은 예를 들면, 특히 민감한 정보를 위한 다양한 암호화 및 익명화 기술들을 통해 정보의 유형을 반영하는 적합한 보안 방식일 수 있다.To the extent that the above-described embodiments collect, store, and/or use personal information provided by individuals, it should be understood that such information will be used in accordance with all applicable laws regarding the protection of personal information. Additionally, the collection, storage, and use of this information may involve, for example, the well-known "opt-in" or "opt-out" processes that may be appropriate to the type and context of the information. may be influenced by the consent of individuals to these activities. The storage and use of personal information may be in a suitable secure manner reflecting the type of information, for example through various encryption and anonymization techniques for particularly sensitive information.

상기 설명에서, 다양한 예시적인 실시예들이 첨부 도면들을 참조하여 설명되었다. 그러나, 다음의 청구항들에 제시된 바와 같이 발명의 범위를 벗어나지 않고, 다양한 수정들 및 변경들이 그에 대해 행해질 수 있고, 부가적인 실시예들이 구현될 수 있음이 명백할 것이다. 예를 들면, 본 명세서에서 설명된 하나의 실시예의 특정 특징들은 본 명세서에서 설명된 또 다른 실시예의 특징들과 조합되거나 그들로 대체될 수 있다. 설명 및 도면들은 그에 따라, 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.In the above description, various exemplary embodiments have been described with reference to the accompanying drawings. However, it will be apparent that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the scope of the invention as set forth in the following claims. For example, specific features of one embodiment described herein may be combined with or substituted for features of another embodiment described herein. The description and drawings are therefore to be regarded in an illustrative rather than restrictive sense.

Claims (20)

방법에 있어서,
가상화된 투영 생성 시스템에 의해, 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신하는 단계로서, 각각의 캡처된 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임들을 포함하고, 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처되는, 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신하는 단계;
가상화된 투영 생성 시스템에 의해, 복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개이고 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 별개인 실세계 장면의 맞춤화된 뷰와 연관된 부가적인 세트의 캡처 파라미터들을 식별하는 단계;
복수의 캡처된 표면 데이터 프레임 시퀀스들에서 표면 데이터 프레임 시퀀스들 중 적어도 하나에 기초하여 그리고 부가적인 세트의 캡처 파라미터들에 기초하여 가상화된 투영 생성 시스템에 의해, 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링하는 단계; 및
가상화된 투영 생성 시스템에 의해, 다수의 표면 데이터 프레임 시퀀스들의 각각으로부터의 프레임들을 단일 타일링된 프레임 시퀀스(single tiled frame sequence)의 타일링된 프레임들 상에 함께 패킹하기 위해 타일 맵핑 기술을 사용하여 상기 다수의 표면 데이터 프레임 시퀀스들을 공유된 전송 스트림으로 함께 패키징하는 단계로서, 상기 다수의 표면 데이터 프레임 시퀀스들은:
실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 렌더링된 컬러 및 깊이 프레임들을 포함하는 가상화된 표면 데이터 프레임 시퀀스, 및
가상화된 표면 데이터 프레임 시퀀스 이외의 적어도 하나의 부가적인 캡처되거나 가상화된 표면 데이터 프레임 시퀀스를 포함하는, 방법.
in the method,
Receiving, by a virtualized projection generation system, a plurality of captured surface data frame sequences, each sequence of captured surface data frames comprising respective values included in the plurality of sets of capture parameters associated with different views of a real-world scene. color and depth frames depicting a real-world scene according to a set of capture parameters, each surface data frame sequence in the plurality of captured surface data frame sequences relative to the real-world scene to capture different views of the real-world scene; receiving a plurality of captured surface data frame sequences, captured by different capture devices at a plurality of capture devices disposed at different locations;
By means of the virtualized projection generation system, a customized view of a real-world scene separate from the sets of capture parameters included in the plurality of sets of capture parameters and different views of the real-world scene captured by the plurality of capture devices and identifying an associated additional set of capture parameters;
A virtualized projection of a customized view of a real-world scene by a virtualized projection generation system based on at least one of the surface data frame sequences in a plurality of captured surface data frame sequences and based on an additional set of capture parameters. rendering color and depth frames for and
The virtualized projection generation system uses a tile mapping technique to pack frames from each of a plurality of surface data frame sequences together onto the tiled frames of a single tiled frame sequence. packaging together surface data frame sequences of the plurality of surface data frame sequences into a shared transport stream, wherein the plurality of surface data frame sequences:
A sequence of virtualized surface data frames containing rendered color and depth frames for a virtualized projection of a customized view of a real world scene; and
and at least one additional sequence of captured or virtualized surface data frames other than the sequence of virtualized surface data frames.
제 1 항에 있어서,
실세계 장면의 맞춤화된 뷰는 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 맞추어 조정되지 않고;
실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링하는 단계는 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 표면 데이터 프레임 시퀀스들 중 적어도 2개에 기초하여 컬러 및 깊이 프레임들을 렌더링하는 단계를 포함하는, 방법.
According to claim 1,
The customized view of the real-world scene is not aligned with the different views of the real-world scene captured by a plurality of capture devices disposed at different locations relative to the real-world scene;
The rendering of color and depth frames for a virtualized projection of a customized view of a real world scene includes rendering the color and depth frames based on at least two of the surface data frame sequences in a plurality of captured surface data frame sequences. A method comprising steps.
제 1 항에 있어서,
실세계 장면의 상이한 뷰들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들은:
실세계 장면의 특정한 뷰에 대응하는 컬러 및 깊이 프레임들이 캡처되는 실세계 장면에 대한 위치를 나타내는 캡처 파라미터;
실세계 장면의 특정한 뷰에 대응하는 컬러 및 깊이 프레임들이 캡처되는 방향을 나타내는 캡처 파라미터;
실세계 장면의 특정한 뷰에 대응하는 컬러 및 깊이 프레임들이 캡처되는 시야를 나타내는 캡처 파라미터; 및
실세계 장면의 특정한 뷰에 대응하는 컬러 및 깊이 프레임들이 캡처되는 이미지 품질을 나타내는 캡처 파라미터 중 적어도 하나를 포함하는, 방법.
According to claim 1,
Each set of capture parameters included in the plurality of sets of capture parameters associated with different views of a real-world scene are:
a capture parameter indicating a position relative to the real-world scene at which color and depth frames corresponding to a particular view of the real-world scene are captured;
a capture parameter indicating the direction in which color and depth frames corresponding to a particular view of a real-world scene are to be captured;
a capture parameter indicating the field of view from which color and depth frames corresponding to a particular view of a real-world scene are captured; and
A method comprising at least one of a capture parameter indicative of image quality with which color and depth frames corresponding to a particular view of a real-world scene are captured.
제 1 항에 있어서,
실세계 장면의 맞춤화된 뷰와 연관된 부가적인 세트의 캡처 파라미터들은:
실세계 장면의 맞춤화된 뷰와 연관된 맞춤화된 시야를 나타내는 캡처 파라미터로서, 맞춤화된 시야는 가상화된 투영을 위해 컬러 및 깊이 프레임들의 렌더링이 기초하는 표면 데이터 프레임 시퀀스들 중 적어도 하나와 연관된 캡처된 시야보다 좁은, 맞춤화된 시야를 나타내는 캡처 파라미터; 및
실세계 장면의 맞춤화된 뷰와 연관된 맞춤화된 이미지 품질을 나타내는 캡처 파라미터로서, 맞춤화된 이미지 품질은 가상화된 투영을 위해 컬러 및 깊이 프레임들의 렌더링이 기초하는 표면 데이터 프레임 시퀀스들 중 적어도 하나와 연관된 캡처된 이미지 품질보다 낮은, 맞춤화된 이미지 품질을 나타내는 캡처 파라미터 중 적어도 하나를 포함하는, 방법.
According to claim 1,
An additional set of capture parameters associated with a customized view of a real world scene are:
A capture parameter representing a customized field of view associated with a customized view of a real-world scene, the customized field of view narrower than the captured field of view associated with at least one of the surface data frame sequences on which the rendering of color and depth frames for the virtualized projection is based. , capture parameters representing customized fields of view; and
A capture parameter representing a customized image quality associated with a customized view of a real-world scene, the customized image quality associated with at least one of the surface data frame sequences upon which the rendering of color and depth frames for a virtualized projection is based. and at least one of the capture parameters indicative of a customized image quality lower than quality.
제 1 항에 있어서,
부가적인 세트의 캡처 파라미터들을 식별하는 단계는:
실세계 장면의 하나 이상의 기하학적 속성들에 대해 실세계 장면을 분석하는 단계;
실세계 장면의 분석에 기초하여, 복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개이고 부가적인 세트의 캡처 파라미터들을 포함하는 복수의 부가적인 세트들의 캡처 파라미터들을 생성하는 단계; 및
복수의 부가적인 세트들의 캡처 파라미터들로부터 부가적인 세트의 캡처 파라미터들을 식별하는 단계를 포함하는, 방법.
According to claim 1,
Identifying an additional set of capture parameters includes:
analyzing the real-world scene for one or more geometric properties of the real-world scene;
generating a plurality of additional sets of capture parameters comprising an additional set of capture parameters that are distinct from the sets of capture parameters included in the plurality of sets of capture parameters based on the analysis of the real-world scene; and
and identifying an additional set of capture parameters from a plurality of additional sets of capture parameters.
제 1 항에 있어서,
가상화된 표면 데이터 프레임 시퀀스 이외의 적어도 하나의 부가적인 캡처되거나 가상화된 표면 데이터 프레임 시퀀스는 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 캡처된 표면 데이터 프레임 시퀀스를 포함하는, 방법.
According to claim 1,
The method of claim 1 , wherein the at least one additional captured or virtualized surface data frame sequence other than the virtualized surface data frame sequence comprises a surface data frame sequence captured in the plurality of captured surface data frame sequences.
제 1 항에 있어서,
가상화된 표면 데이터 프레임 시퀀스 이외의 적어도 하나의 부가적인 캡처되거나 가상화된 표면 데이터 프레임 시퀀스는 실세계 장면의 부가적인 가상화된 투영을 위한 부가적인 가상화된 표면 데이터 프레임을 포함하는, 방법.
According to claim 1,
The method of claim 1 , wherein at least one additional sequence of captured or virtualized surface data frames other than the sequence of virtualized surface data frames comprises additional virtualized surface data frames for additional virtualized projections of a real-world scene.
제 1 항에 있어서,
상기 단일 타일링된 프레임 시퀀스의 상기 타일링된 프레임들은 상기 공유된 전송 스트림의 타일 비디오 데이터 스트림으로 패키징되는, 방법.
According to claim 1,
wherein the tiled frames of the single tiled frame sequence are packaged into a tiled video data stream of the shared transport stream.
제 1 항에 있어서,
적어도 하나의 비일시적 컴퓨터 판독가능한 매체 상에 컴퓨터 실행가능한 지시들로서 구현되는, 방법.
According to claim 1,
embodied as computer-executable instructions on at least one non-transitory computer-readable medium.
방법에 있어서,
이벤트들이 실세계 장면 내에서 발생함에 따라, 실시간으로 가상화된 투영 생성 시스템에 의해, 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신하는 단계로서, 각각의 캡처된 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들과 연관된 제 1 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임들을 포함하고, 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처되는, 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신하는 단계;
이벤트들이 실세계 장면 내에서 발생함에 따라 실시간으로 가상화된 투영 생성 시스템에 의해, 제 1 복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개이고 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 별개인 실세계 장면의 각각의 맞춤화된 뷰들과 각각 연관되는 제 2 복수의 세트들의 캡처 파라미터들을 식별하는 단계로서, 제 2 복수의 세트들의 캡처 파라미터들은 제 1 복수의 세트들의 캡처 파라미터들에 포함되는 것보다 큰 수의 세트들을 포함하는, 제 2 복수의 세트들의 캡처 파라미터들을 식별하는 단계;
이벤트들이 실세계 장면 내에서 발생함에 따라 실시간으로 가상화된 투영 생성 시스템에 의해, 복수의 캡처된 표면 데이터 프레임 시퀀스들에 기초하여 그리고 제 2 복수의 세트들의 캡처 파라미터들에 기초하여 실세계 장면의 각각의 맞춤화된 뷰의 가상화된 투영들을 위해 컬러 및 깊이 프레임들을 렌더링하는 단계; 및
이벤트들이 실세계 장면 내에서 발생함에 따라 실시간으로 가상화된 투영 생성 시스템에 의해, 다수의 표면 데이터 프레임 시퀀스들의 각각으로부터의 프레임들을 단일 타일링된 프레임 시퀀스의 타일링된 프레임들 상에 함께 패킹하기 위해 타일 맵핑 기술을 사용하여 상기 다수의 표면 데이터 프레임 시퀀스들을 공유된 전송 스트림으로 함께 패키징하는 단계로서, 상기 다수의 표면 데이터 프레임 시퀀스들은 실세계 장면의 각각의 개별적인 맞춤화된 뷰의 가상화된 투영들을 위해 렌더링된 컬러 및 깊이 프레임들을 포함하는 복수의 가상화된 표면 데이터 프레임 시퀀스들을 포함하는, 상기 다수의 표면 데이터 프레임 시퀀스들을 공유된 전송 스트림으로 함께 패키징 하는 단계를 포함하는, 방법.
in the method,
Receiving, by a real-time virtualized projection generation system, a plurality of captured surface data frame sequences as events occur within the real world scene, each captured surface data frame sequence associated with different views of the real world scene. a respective surface data frame sequence in the plurality of captured surface data frame sequences comprising color and depth frames depicting a real-world scene according to respective sets of capture parameters included in the first plurality of sets of capture parameters; receiving a plurality of captured surface data frame sequences, wherein the captured surface data frame sequences are captured by different capture devices at a plurality of capture devices disposed at different locations relative to the real world scene to capture different views of the real world scene;
A real world scene captured by a plurality of capture devices and distinct from the sets of capture parameters included in the first plurality of sets of capture parameters, by the projection generating system virtualized in real time as events occur within the real world scene. identifying a second plurality of sets of capture parameters each associated with respective customized views of a real-world scene that are distinct from different views of the second plurality of sets of capture parameters, the second plurality of sets of capture parameters being the first plurality of sets of capture parameters; identifying capture parameters of a second plurality of sets, the second plurality of sets comprising a greater number of sets than those contained in ;
Each customization of a real-world scene based on a second plurality of sets of capture parameters and based on a plurality of captured surface data frame sequences by the virtualized projection generation system in real time as events occur within the real world scene. rendering color and depth frames for virtualized projections of the visualized view; and
A tile mapping technique to pack together frames from each of multiple surface data frame sequences onto the tiled frames of a single tiled frame sequence by a virtualized projection generation system in real time as events occur within a real world scene. packaging together the plurality of surface data frame sequences into a shared transport stream, wherein the plurality of surface data frame sequences are color and depth rendered for virtualized projections of each individual customized view of a real world scene. packaging together a plurality of surface data frame sequences comprising a plurality of virtualized surface data frame sequences comprising frames into a shared transport stream.
제 10 항에 있어서,
제 2 복수의 세트들의 캡처 파라미터들에서 특정한 세트의 캡처 파라미터들과 연관된 실세계 장면의 특정한 맞춤화된 뷰는 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 맞추어 조정되지 않고;
실세계 장면의 특정한 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링하는 단계는 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 표면 데이터 프레임 시퀀스들 중 적어도 2개에 기초하여 컬러 및 깊이 프레임들을 렌더링하는 단계를 포함하는, 방법.
According to claim 10,
The particular customized view of the real-world scene associated with a particular set of capture parameters in the second plurality of sets of capture parameters is different views of the real-world scene captured by a plurality of capture devices disposed at different locations relative to the real-world scene. not aligned with;
Rendering the color and depth frames for a virtualized projection of a particular customized view of a real world scene includes rendering the color and depth frames based on at least two of the surface data frame sequences in a plurality of captured surface data frame sequences. A method comprising the steps of:
제 10 항에 있어서,
적어도 하나의 비일시적 컴퓨터 판독가능한 매체 상에 컴퓨터 실행가능한 지시들로서 구현되는, 방법.
According to claim 10,
embodied as computer-executable instructions on at least one non-transitory computer-readable medium.
시스템에 있어서,
적어도 하나의 물리적 컴퓨팅 디바이스를 포함하고,
적어도 하나의 물리적 컴퓨팅 디바이스는,
복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신하는 것으로서, 각각의 캡처된 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들에 따라 실세계 장면을 묘사하는 컬러 및 깊이 프레임들을 포함하고, 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 각각의 표면 데이터 프레임 시퀀스는 실세계 장면의 상이한 뷰들을 캡처하기 위해 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에서 상이한 캡처 디바이스에 의해 캡처되는, 복수의 캡처된 표면 데이터 프레임 시퀀스들을 수신하고;
복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개이고 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 별개인 실세계 장면의 맞춤화된 뷰와 연관된 부가적인 세트의 캡처 파라미터들을 식별하고;
복수의 캡처된 표면 데이터 프레임 시퀀스들에서 표면 데이터 프레임 시퀀스들 중 적어도 하나에 기초하여 그리고 부가적인 세트의 캡처 파라미터들에 기초하여, 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 컬러 및 깊이 프레임들을 렌더링하고;
다수의 표면 데이터 프레임 시퀀스들의 각각으로부터의 프레임들을 단일 타일링된 프레임 시퀀스의 타일링된 프레임들 상에 함께 패킹하기 위해 타일 맵핑 기술을 사용하여 상기 다수의 표면 데이터 프레임 시퀀스들을 공유된 전송 스트림으로 함께 패키징하고, 상기 다수의 표면 데이터 프레임 시퀀스들은:
실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위해 렌더링된 컬러 및 깊이 프레임들을 포함하는 가상화된 표면 데이터 프레임 시퀀스, 및
가상화된 표면 데이터 프레임 시퀀스 이외의 적어도 하나의 부가적인 캡처되거나 가상화된 표면 데이터 프레임 시퀀스를 포함하는, 시스템.
in the system,
includes at least one physical computing device;
at least one physical computing device,
Receive a plurality of captured surface data frame sequences, each captured surface data frame sequence in accordance with a respective set of capture parameters included in the plurality of sets of capture parameters associated with different views of the real world scene. color and depth frames depicting a plurality of captured surface data frame sequences in which each surface data frame sequence is disposed at different locations relative to the real world scene to capture different views of the real world scene. receive a plurality of captured surface data frame sequences, captured by different capture devices at the devices;
An additional set of capture parameters associated with a customized view of a real-world scene that is distinct from the sets of capture parameters included in the plurality of sets of capture parameters and distinct from different views of the real-world scene captured by the plurality of capture devices. identify;
Based on at least one of the surface data frame sequences in the plurality of captured surface data frame sequences and based on an additional set of capture parameters, color and depth frames are configured for virtualized projection of a customized view of a real-world scene. render;
packaging multiple surface data frame sequences together into a shared transport stream using a tile mapping technique to pack frames from each of the multiple surface data frame sequences together onto the tiled frames of a single tiled frame sequence; , the multiple surface data frame sequences are:
A sequence of virtualized surface data frames containing rendered color and depth frames for a virtualized projection of a customized view of a real world scene; and
and at least one additional sequence of captured or virtualized surface data frames other than the sequence of virtualized surface data frames.
제 13 항에 있어서,
실세계 장면의 맞춤화된 뷰는 실세계 장면에 대해 상이한 위치들에 배치된 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 상이한 뷰들과 맞추어 조정되지 않고;
실세계 장면의 맞춤화된 뷰의 가상화된 투영을 위한 컬러 및 깊이 프레임들의 렌더링은 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 표면 데이터 프레임 시퀀스들 중 적어도 2개에 기초하여 컬러 및 깊이 프레임들을 렌더링하는 것을 포함하는, 시스템.
According to claim 13,
The customized view of the real-world scene is not aligned with the different views of the real-world scene captured by a plurality of capture devices disposed at different locations relative to the real-world scene;
The rendering of color and depth frames for a virtualized projection of a customized view of a real-world scene includes rendering the color and depth frames based on at least two of the surface data frame sequences in a plurality of captured surface data frame sequences. do, the system.
제 13 항에 있어서,
실세계 장면의 상이한 뷰들과 연관된 복수의 세트들의 캡처 파라미터들에 포함된 각각의 세트의 캡처 파라미터들은:
실세계 장면의 특정한 뷰에 대응하는 컬러 및 깊이 프레임들이 캡처되는 실세계 장면에 대한 위치를 나타내는 캡처 파라미터;
실세계 장면의 특정한 뷰에 대응하는 컬러 및 깊이 프레임들이 캡처되는 방향을 나타내는 캡처 파라미터;
실세계 장면의 특정한 뷰에 대응하는 컬러 및 깊이 프레임들이 캡처되는 시야를 나타내는 캡처 파라미터; 및
실세계 장면의 특정한 뷰에 대응하는 컬러 및 깊이 프레임들이 캡처되는 이미지 품질을 나타내는 캡처 파라미터 중 적어도 하나를 포함하는, 시스템.
According to claim 13,
Each set of capture parameters included in the plurality of sets of capture parameters associated with different views of a real-world scene are:
a capture parameter indicating a position relative to the real-world scene at which color and depth frames corresponding to a particular view of the real-world scene are captured;
a capture parameter indicating the direction in which color and depth frames corresponding to a particular view of a real-world scene are to be captured;
a capture parameter indicating the field of view from which color and depth frames corresponding to a particular view of a real-world scene are captured; and
A system comprising at least one of a capture parameter indicative of image quality with which color and depth frames corresponding to a particular view of a real-world scene are captured.
제 13 항에 있어서,
실세계 장면의 맞춤화된 뷰와 연관된 부가적인 세트의 캡처 파라미터들은:
실세계 장면의 맞춤화된 뷰와 연관된 맞춤화된 시야를 나타내는 캡처 파라미터로서, 맞춤화된 시야는 가상화된 투영을 위해 컬러 및 깊이 프레임들의 렌더링이 기초하는 표면 데이터 프레임 시퀀스들 중 적어도 하나와 연관된 캡처된 시야보다 좁은, 맞춤화된 시야를 나타내는 캡처 파라미터; 및
실세계 장면의 맞춤화된 뷰와 연관된 맞춤화된 이미지 품질을 나타내는 캡처 파라미터로서, 맞춤화된 이미지 품질은 가상화된 투영을 위해 컬러 및 깊이 프레임들의 렌더링이 기초하는 표면 데이터 프레임 시퀀스들 중 적어도 하나와 연관된 캡처된 이미지 품질보다 낮은, 맞춤화된 이미지 품질을 나타내는 캡처 파라미터 중 적어도 하나를 포함하는, 시스템.
According to claim 13,
An additional set of capture parameters associated with a customized view of a real world scene are:
A capture parameter representing a customized field of view associated with a customized view of a real-world scene, the customized field of view narrower than the captured field of view associated with at least one of the surface data frame sequences on which the rendering of color and depth frames for the virtualized projection is based. , capture parameters representing customized fields of view; and
A capture parameter representing a customized image quality associated with a customized view of a real-world scene, the customized image quality associated with at least one of the surface data frame sequences upon which the rendering of color and depth frames for a virtualized projection is based. and at least one of the capture parameters indicating a customized image quality that is lower than quality.
제 13 항에 있어서,
적어도 하나의 물리적 컴퓨팅 디바이스는:
실세계 장면의 하나 이상의 기하학적 속성들에 대해 실세계 장면을 분석하고;
실세계 장면의 분석에 기초하여, 복수의 세트들의 캡처 파라미터들에 포함된 캡처 파라미터들의 세트들과 별개이고 부가적인 세트의 캡처 파라미터들을 포함하는 복수의 부가적인 세트들의 캡처 파라미터들을 생성하고;
복수의 부가적인 세트들의 캡처 파라미터들로부터 부가적인 세트의 캡처 파라미터들을 식별함으로써 부가적인 세트의 캡처 파라미터들을 식별하는, 시스템.
According to claim 13,
At least one physical computing device is:
analyze the real-world scene for one or more geometric properties of the real-world scene;
generate a plurality of additional sets of capture parameters that include an additional set of capture parameters that are distinct from the sets of capture parameters included in the plurality of sets of capture parameters based on the analysis of the real-world scene;
A system that identifies an additional set of capture parameters by identifying an additional set of capture parameters from a plurality of additional sets of capture parameters.
제 13 항에 있어서,
가상화된 표면 데이터 프레임 시퀀스 이외의 적어도 하나의 부가적인 캡처되거나 가상화된 표면 데이터 프레임 시퀀스는 복수의 캡처된 표면 데이터 프레임 시퀀스들에서 캡처된 표면 데이터 프레임 시퀀스를 포함하는, 시스템.
According to claim 13,
wherein the at least one additional captured or virtualized surface data frame sequence other than the virtualized surface data frame sequence comprises a surface data frame sequence captured in the plurality of captured surface data frame sequences.
제 13 항에 있어서,
가상화된 표면 데이터 프레임 시퀀스 이외의 적어도 하나의 부가적인 캡처되거나 가상화된 표면 데이터 프레임 시퀀스는 실세계 장면의 부가적인 가상화된 투영을 위한 부가적인 가상화된 표면 데이터 프레임을 포함하는, 시스템.
According to claim 13,
The system of claim 1 , wherein at least one additional sequence of captured or virtualized surface data frames other than the sequence of virtualized surface data frames comprises additional virtualized surface data frames for additional virtualized projections of a real-world scene.
제 13 항에 있어서,
상기 단일 타일링된 프레임 시퀀스의 상기 타일링된 프레임들은 상기 공유된 전송 스트림의 타일 비디오 데이터 스트림으로 패키징되는, 시스템.
According to claim 13,
wherein the tiled frames of the single tiled frame sequence are packaged into a tiled video data stream of the shared transport stream.
KR1020197035490A 2017-05-31 2018-05-24 Methods and systems for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content KR102499904B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/610,595 2017-05-31
US15/610,595 US10269181B2 (en) 2017-05-31 2017-05-31 Methods and systems for generating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content
PCT/US2018/034430 WO2018222498A1 (en) 2017-05-31 2018-05-24 Methods and systems for generating a virtualized projection of a customized view of a real-world scene for inclusion within virtual reality media content

Publications (2)

Publication Number Publication Date
KR20200013672A KR20200013672A (en) 2020-02-07
KR102499904B1 true KR102499904B1 (en) 2023-02-16

Family

ID=62599738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197035490A KR102499904B1 (en) 2017-05-31 2018-05-24 Methods and systems for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content

Country Status (6)

Country Link
US (2) US10269181B2 (en)
EP (1) EP3631767A1 (en)
JP (1) JP7194125B2 (en)
KR (1) KR102499904B1 (en)
CN (1) CN110663067B (en)
WO (1) WO2018222498A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7003994B2 (en) * 2017-08-08 2022-01-21 ソニーグループ株式会社 Image processing equipment and methods
JP2019114147A (en) * 2017-12-25 2019-07-11 キヤノン株式会社 Image processing apparatus, control method for image processing apparatus, and program
US11113887B2 (en) * 2018-01-08 2021-09-07 Verizon Patent And Licensing Inc Generating three-dimensional content from two-dimensional images
US11410439B2 (en) * 2019-05-09 2022-08-09 Snap Inc. Sequence-of-sequences model for 3D object recognition
GB2586060B (en) * 2019-08-01 2022-09-21 Sony Interactive Entertainment Inc Surface characterisation apparatus and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150294492A1 (en) * 2014-04-11 2015-10-15 Lucasfilm Entertainment Co., Ltd. Motion-controlled body capture and reconstruction

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084979A (en) 1996-06-20 2000-07-04 Carnegie Mellon University Method for creating virtual reality
US6707487B1 (en) * 1998-11-20 2004-03-16 In The Play, Inc. Method for representing real-time motion
EP1862969A1 (en) * 2006-06-02 2007-12-05 Eidgenössische Technische Hochschule Zürich Method and system for generating a representation of a dynamically changing 3D scene
US8411149B2 (en) * 2006-08-03 2013-04-02 Alterface S.A. Method and device for identifying and extracting images of multiple users, and for recognizing user gestures
US8885023B2 (en) * 2010-09-01 2014-11-11 Disney Enterprises, Inc. System and method for virtual camera control using motion control systems for augmented three dimensional reality
US9013550B2 (en) * 2010-09-09 2015-04-21 Qualcomm Incorporated Online reference generation and tracking for multi-user augmented reality
US9329469B2 (en) * 2011-02-17 2016-05-03 Microsoft Technology Licensing, Llc Providing an interactive experience using a 3D depth camera and a 3D projector
KR101378910B1 (en) * 2012-08-28 2014-03-31 광운대학교 산학협력단 An Intermediate View Image Generation Method for an Virtual Arbitrary View-Point Hologram Service
US20140192164A1 (en) 2013-01-07 2014-07-10 Industrial Technology Research Institute System and method for determining depth information in augmented reality scene
US20160042475A1 (en) * 2013-03-15 2016-02-11 William F. Tapia Social networking for surfers
WO2015014773A1 (en) * 2013-07-29 2015-02-05 Koninklijke Kpn N.V. Providing tile video streams to a client
CN104023221B (en) * 2014-06-23 2016-04-13 深圳超多维光电子有限公司 Stereo image parallax control method and device
CN106157359B (en) * 2015-04-23 2020-03-10 中国科学院宁波材料技术与工程研究所 Design method of virtual scene experience system
KR102341267B1 (en) * 2015-05-04 2021-12-20 삼성전자주식회사 Apparatus and Method of rendering for binocular disparity image
CA3004241A1 (en) * 2015-11-11 2017-05-18 Sony Corporation Encoding apparatus and encoding method, decoding apparatus and decoding method
US10979691B2 (en) * 2016-05-20 2021-04-13 Qualcomm Incorporated Circular fisheye video in virtual reality

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150294492A1 (en) * 2014-04-11 2015-10-15 Lucasfilm Entertainment Co., Ltd. Motion-controlled body capture and reconstruction

Also Published As

Publication number Publication date
US10269181B2 (en) 2019-04-23
EP3631767A1 (en) 2020-04-08
JP7194125B2 (en) 2022-12-21
JP2020522801A (en) 2020-07-30
US20180350147A1 (en) 2018-12-06
CN110663067B (en) 2023-10-31
KR20200013672A (en) 2020-02-07
US20190206138A1 (en) 2019-07-04
US11055917B2 (en) 2021-07-06
CN110663067A (en) 2020-01-07
WO2018222498A1 (en) 2018-12-06

Similar Documents

Publication Publication Date Title
US10636220B2 (en) Methods and systems for generating a merged reality scene based on a real-world object and a virtual object
KR102499904B1 (en) Methods and systems for creating a virtualized projection of a customized view of a real world scene for inclusion within virtual reality media content
US10699471B2 (en) Methods and systems for rendering frames based on a virtual entity description frame of a virtual scene
US11197038B2 (en) Systems and methods for synchronizing surface data management operations for virtual reality
US10586377B2 (en) Methods and systems for generating virtual reality data that accounts for level of detail
US10699749B2 (en) Methods and systems for customizing virtual reality data
US10347037B2 (en) Methods and systems for generating and providing virtual reality data that accounts for level of detail

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