KR20200013232A - 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들 - Google Patents

가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들 Download PDF

Info

Publication number
KR20200013232A
KR20200013232A KR1020197035536A KR20197035536A KR20200013232A KR 20200013232 A KR20200013232 A KR 20200013232A KR 1020197035536 A KR1020197035536 A KR 1020197035536A KR 20197035536 A KR20197035536 A KR 20197035536A KR 20200013232 A KR20200013232 A KR 20200013232A
Authority
KR
South Korea
Prior art keywords
virtual reality
experience
surface data
data frame
media player
Prior art date
Application number
KR1020197035536A
Other languages
English (en)
Other versions
KR102502794B1 (ko
Inventor
데니 브레이텐펠드
레네 세풀베다
마이클 로다토
파이 무드라기리
Original Assignee
베리존 페이턴트 앤드 라이센싱 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베리존 페이턴트 앤드 라이센싱 인크. filed Critical 베리존 페이턴트 앤드 라이센싱 인크.
Publication of KR20200013232A publication Critical patent/KR20200013232A/ko
Application granted granted Critical
Publication of KR102502794B1 publication Critical patent/KR102502794B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/036Insert-editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • 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/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/324Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/9201Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

예시적인 가상 현실 시스템("시스템")은, 미디어 플레이어 디바이스가 선택한 다른 엔트리들에 대응하는 다른 가상 현실 데이터세트들을 처리함으로써 미디어 플레이어 디바이스가 다른 가상 현실 경험들을 사용자에게 제공할 때, 미디어 플레이어 디바이스에 의해 경험 선택 데이터 구조 내에 포함된 다른 엔트리들의 동적 선택을 가능하게 하도록 구성된 경험 선택 데이터 구조를 생성한다. 시스템은 경험 선택 데이터 구조를 미디어 플레이어 디바이스에 제공하고, 미디어 플레이어 디바이스가 경험 선택 데이터 구조를 통해 엔트리를 선택하는 것을 검출한다. 이러한 엔트리는 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응한다. 엔트리의 선택에 응답하여, 시스템은 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 미디어 플레이어 디바이스에 제공한다.

Description

가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들
본 출원은 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들에 관한 것이다.
본 출원은 2017년 5월 31일자로 출원되었고, 발명의 명칭이 "METHODS AND SYSTEMS FOR CUSTOMIZING VIRTUAL REALITY DATA"인 미국특허출원 제15/610,593호를 우선권으로 주장하며, 그 전체가 본 출원에 참조로 포함된다.
가상 현실 미디어 제공자는 가상 현실 데이터를 제공할 수 있고, 미디어 플레이스 디바이스는 가상 현실 데이터를 미디어 플레이어 디바이스의 사용자에게 제공하기 위해, 가상 현실 데이터를 처리한다. 예를 들어, 특정 가상 현실 경험에 의해, 사용자는 가상 현실 세상에서 동시에 제시되는 다양한 것들 중 하나에 자신의 관심을 지시함으로써 사용자가 경험할 수 있는 대화형 가상 현실 세상에 몰입될 수 있다. 예를 들어, 사용자가 가상 현실 세상를 임의의 방향으로 둘러볼 수 있어, 가상 현실 세상 내의 특정 위치 및 시각(예를 들어, 각도, 뷰포인트, 등)으로부터 가상 현실 세상에 실제로 존재하고 경험하고 있다는 느낌을 사용자에게 제공할 수 있다.
특정 가상 현실 경험에서, 다수의 다른 미디어 플레이어 디바이스들과 연관된 다수의 사용자들은 동일한 가상 현실 세상를 동시에 경험하기를 원할 수 있다. 예를 들어, 가상 현실 미디어 제공자는, 다수의 다른 사용자들이 각각의 미디어 플레이어 디바이스들을 사용하여 경험하기를 원하는 특정 가상 현실 세상의 특정 3-차원("3D") 장면을 나타내는 가상 현실 데이터를 제공할 수 있다. 따라서, 가상 현실 미디어 제공자는 가상 현실 데이터를 요청하는 각각의 미디어 플레이어 디바이스에 동일한 가상 현실 데이터를 제공함으로써 모든 미디어 플레이어 디바이스들이 가상 현실 데이터를 처리하고 각각의 가상 현실 경험들을 각각의 사용자들에게 제공하게 할 수 있다.
이를 위해, 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들이 본 명세서에 기술된다. 예를 들어, 아래에서 더 상세히 설명될 바와 같이, 예시적인 가상 현실 시스템은, 3차원("3D") 장면의 다른 뷰를 각각 묘사하는 복수의 표면 데이터 프레임 시퀀스들(예를 들어, 컬러 및 깊이 프레임들의 시퀀스들)을 기술하는 메타데이터에 액세스할 수 있다. 메타데이터에 기술된 바와 같이, 예를 들어, 비교적 많은 수의 표면 데이터 프레임 시퀀스들은 3D 장면에 대해, 비교적 많은 수의 다른 위치들, 각도들, 시야들, 등으로부터 캡처된 3D 장면을 나타내는 데이터를 포함할 수 있다.
가상 현실 시스템은 또한 3D 장면과 관련된 복수의 가상 현실 경험들 내에 포함된 특정 가상 현실 경험을 기술하는 경험 파라미터들의 세트를 식별할 수 있다. 복수의 가상 현실 경험들(즉, 특정 가상 현실 경험을 포함하는) 각각은 미디어 플레이어 디바이스에 의해 사용자에게 제공될 수 있다. 예를 들어, 복수의 제공 가능한 가상 현실 경험들 내의 다른 가상 현실 경험들은 각각 가상 현실 경험들이 각각의 사용자들에게 제공될 수 있는 3D 장면의 다른 영역들과 관련될 수 있거나, 또는 아래에 설명될 가상 현실 경험들을 위해 한정될 수 있는 다양한 다른 파라미터들과 관련될 수 있다. 이와 같이, 미디어 플레이어 디바이스는 복수의 가상 현실 경험들에서 각각의 가상 현실 경험들에 맞춤화된 각각의 가상 현실 데이터세트들(예를 들어, 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 포함하는)을 처리함으로써 가상 현실 경험들을 사용자에게 제공하도록 구성될 수 있다. 예를 들어, 3D 장면의 특정 영역들과 연관된 가상 현실 경험들에 맞춤화된 가상 현실 데이터세트들은, 3D 장면의 다른 영역들과 관련된 가상 현실 경험들에 맞춤화된 가상 현실 데이터세트들 내에 포함될 수 있는 것보다, 3D 장면의 특정 양상들에 대해 더 상세한 것 및 3D 장면의 다른 양상들에 대해서 덜 상세한 것을 포함할 수 있다.
경험 파라미터들의 식별된 세트 및 복수의 데이터 프레임 시퀀스들과 관련된 메타데이터에 기초하여, 가상 현실 시스템은, 특정 가상 현실 데이터세트가 기초하는 (예를 들어, 가상 현실 데이터세트가 생성될 때 특정 가상 현실 데이터세트가 기초할) 프레임 시퀀스 서브세트에 포함시키기 위해 복수의 표면 데이터 프레임 시퀀스들로부터 표면 데이터 프레임 시퀀스들을 선택할 수 있다. 예를 들어, 비교적 적은 수의 표면 데이터 프레임 시퀀스들을 포함하는 프레임 시퀀스 서브세트는 복수의 표면 데이터 프레임 시퀀스들에서 비교적 많은 수의 이용 가능한 표면 데이터 프레임 시퀀스로들부터 선택되어, 프레임 시퀀스 서브세트에 기초한 특정 가상 현실 데이터세트가 특정 가상 현실 경험에 맞춤화되도록 (예를 들어, 다른 덜 관련 세부사항들을 배제하면서 특정 가상 현실 경험과 관련된 3D 장면의 특정 세부사항들을 포함하도록) 허용할 수 있다.
프레임 시퀀스 서브세트 내의 포함을 위한 표면 데이터 프레임 시퀀스들의 선택에 기초하여, 가상 현실 시스템은 경험 선택 데이터 구조 내의 특정 가상 현실 데이터세트에 대응하는 엔트리를 포함할 수 있다. 보다 구체적으로, 가상 현실 시스템은, 미디어 플레이어 디바이스가 사용자에게 다른 가상 현실 경험들을 제공하기 위하여 다른 가상 현실 데이터세트들을 처리할 때 미디어 플레이어 디바이스에 의한 다른 엔트리들의 동적 선택(예를 들어, 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로부터)을 가능하게 하도록 구성된 경험 선택 데이터 구조를 생성할 수 있고, 생성된 경험 선택 데이터 구조 내의 특정 가상 현실 데이터세트에 대응하는 엔트리를 포함할 수 있다. 엔트리가 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응하는 것처럼, 경험 선택 데이터 구조 내의 복수의 엔트리들의 각각은 복수의 제공 가능한 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응할 수 있다.
경험 선택 데이터 구조가 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응하는 엔트리를 포함하도록 생성되면, 가상 현실 시스템은 경험 선택 데이터 구조를 미디어 플레이어 디바이스에 제공할 수 있다. 가상 현실 시스템은 그 후 미디어 플레이어 디바이스가 (예를 들어, 제공된 경험 선택 데이터 구조에 의해 및 경험 선택 데이터 구조에 포함된 복수의 엔트리들로부터) 특정 가상 현실 경험에 맞춤화되는 특정 가상 현실 데이터세트에 대응하는 엔트리를 선택하는 것을 검출할 수 있다. 미디어 플레이어 디바이스가 특정 가상 현실 데이터세트에 대응하는 엔트리를 선택하는 검출에 응답하여, 가상 현실 시스템은 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 미디어 플레이어 디바이스에 제공할 수 있다. 결과적으로, 미디어 플레이어 디바이스는 특정 가상 현실 데이터세트를 수신할 수 있고, 특정 가상 현실 데이터세트를 처리하여 특정 가상 현실 경험을 사용자에게 제공할 수 있다.
본 명세서에 기술된 가상 현실 데이터를 맞춤화하기 위한 시스템들 및 방법들은 다양한 장점들 및 이점들을 제공할 수 있다. 일례로서, 본 명세서에 기술된 시스템들 및 방법들은 가상 현실 미디어 제공자 시스템들이 특정 사용자들에게 제공되는 특정 경험들에 동적으로 맞춤화된 가상 현실 데이터를 효율적으로 분배할 수 있게 한다. 분산된 가상 현실 데이터를 맞춤화함으로써, 임의의 특정 미디어 플레이어 디바이스로 송신되는 여분 및/또는 관련없는 데이터가 상당히 감소될 수 있다. 이와 같이, 본 명세서에 기술된 방법들 및 시스템들을 사용하는 제공자 시스템은, 본 명세서에 기술된 방법들 및 시스템들을 사용하지 않는 종래의 제공자 시스템들과 비교하여, 사용자에 의해 사용되는 미디어 플레이어 디바이스들에 심지어 더 적은 데이터를 분배하면서 사용자에게 더 높은 품질 및/또는 더 높은 몰입형 경험들(예를 들어, 더 높은 이미지 품질, 보다 생생한 세부사항, 등을 특징으로 하는 경험들, 등)이 제공될 수 있게 할 수 있다.
추가적으로 또는 대안적으로, 본 명세서에 기술된 시스템들 및 방법들은 동시에 다수의 사용자들(예를 들어, 매우 많은 수의 사용자들을 포함하는)에게 가상 현실 데이터의 실용적이고, 효율적이며, 고품질의 분배를 촉진할 수 있다. 예를 들어, 많은 표면 데이터 프레임 시퀀스 옵션들(예를 들어, 후술되는 바와 같이 가상화된 표면 데이터 프레임 시퀀스들을 포함하는)에 액세스하는 가상 현실 미디어 제공자 시스템은, 시스템이 특정 시간에 특정 미디어 플레이어 디바이스들에 제공하는 데이터를 선택할 때 증가된 유연성으로부터 이득을 얻을 수 있다. 예를 들어, 대량의 데이터로 인해 실용적이지 않거나 불가능한, 3D 장면의 모든 양상을 묘사하는데 이용될 수 있는 모든 데이터(예를 들어, 대량의 고해상도 데이터)를 배포하는 것이 아니라, 본 명세서에 기술된 방법들 및 시스템들은 맞춤화된 데이터의 보다 선택적이고 유연한 분배를 촉진할 수 있다.
하나의 특정 예로서, 제 1 가상 현실 경험에 맞춤화된 가상 현실 데이터세트(예를 들어, 다수의 이용 가능한 표면 데이터 프레임 시퀀스들로부터 선택된 소수의 표면 데이터 프레임 시퀀스들을 나타내는 데이터)는, 제 1 미디어 플레이어 디바이스를 사용하여 제 1 가상 현실 경험을 갖는 사용자와 관련된 3D 장면의한 부분의 높은 수준의 세부사항을 제공하기 위하여, 제 1 미디어에 플레이어 디바이스에 분배될 수 있다. 동시에, 제 2 가상 현실 경험에 맞춤화된 가상 현실 데이터세트(예를 들어, 다른 표면 데이터 프레임 시퀀스를 나타내는 데이터)는, 제 2 미디어 플레이어 디바이스를 사용하여 제 2 가상 현실 경험을 갖는 다른 사용자와 관련된 3D 장면의 다른 부분의 높은 수준의 세부사항을 제공하기 위하여, 제 2 미디어 플레이어 디바이스에 분배될 수 있다. 이와 같이, 가상 현실 미디어 제공자 시스템은, 제 1 및 제 2 미디어 플레이어 디바이스들 모두에 각각의 사용자들과 관련된 개별적으로 맞춤화된 가상 현실 데이터세트들(예를 들어, 사용자들이 경험하고 있는 3D 장면의 각 부분들에 대해 맞춤화된 국부 데이터를 포함하는)을 동시에 제공할 수 있고, 동시에 미디어 플레이어 디바이스들과 통신하는데 사용된 미디어 플레이어 디바이스 또는 임의의 분배 채널에 각 사용자들에 덜 관련되는 3D 장면의 부분들에 대한 여분의 데이터 또는 상세한 데이터(아무튼, 사용자들에게 눈에 띄지 않을 세부사항들)의 과도한 양으로 과부하가 걸리지 않게 한다. 이와 같이, 사용자 경험이 개선되더라도(예를 들어, 3D 장면에서 가장 높은 관련성의 부분들만의 고품질 표현들을 동적으로 포함하기 위한 가상 현실 데이터세트들의 맞춤화로 인해 보다 현실적이고 몰입적으로 구성되더라도), 데이터 분배가 개선될 수 있다(예를 들어, 클라이언트-측 미디어 플레이어 디바이스들에 더 적은 데이터가 분배되도록 요구함으로써 더 효율적이고, 더 빠르고, 더 효과적으로 구성될 수 있다).
또한, 본 명세서에 명백한 바와 같이, 본 명세서 기술된 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들은, 본 명세서에 기술된 경험 선택 데이터 구조를 사용함으로써 미디어 플레이어 디바이스들의 사용자들이 갖는 다른 가상 현실 경험들에 대한 적절한 가상 현실 데이터세트들을 동적으로 추적하고 요청할 때, 미디어 플레이어 디바이스들을 돕는다. 이러한 방식으로, 미디어 플레이어 디바이스들은 다른 미디어 플레이어 디바이스들에 의해 제공되는 사용자 경험을 추적하는 작업이 제공자 시스템에 대해 감소될 수 있는 동안에도 맞춤화된 데이터를 지속적이고 효율적으로 수신할 수 있다. 더욱이, 가상 현실 데이터를 맞춤화하기 위한 개시된 방법들 및 시스템들은, 제공자 시스템이 임의의 크기의 3D 장면들(예를 들어, 매우 큰 3D 장면들), 임의의 품질의 3D 장면들(예를 들어, 고급 캡처 디바이스들에 의해 캡처된 3D 장면들), 매우 동적이고 활동적인 3D 장면들(예를 들어, 다수의 객체들 및 객체들 간의 상호작용, 등을 포함하는 3D 장면들), 및 기다른 몰입형 3D 장면들을 지원할 수 있도록, 확장성이 높을 수 있다.
다양한 실시예들이 이제 도면들을 참조하여 보다 상세하게 설명될 것이다. 개시된 방법들 및 시스템들은 상기 언급된 이점들 중 하나 이상 및/또는 본 명세서에서 명백해질 다양한 추가적 및/또는 대안적인 이점들을 제공할 수 있다.
첨부 도면들은 다양한 실시예들을 도시하고 본 명세서의 일부이다. 예시된 실시예들은 단지 예들이며, 본 개시사항의 범위를 제한하지 않는다. 도면들 전체에 걸쳐 동일하거나 유사한 참조 번호들은 동일하거나 유사한 요소들을 나타낸다.
도 1은 본 명세서에 기술된 원리들에 따라 가상 현실 데이터를 맞춤화하기 위한 예시적인 가상 현실 시스템을 도시하는 도면.
도 2는 사용자에게 제시된 가상 현실 경험들이 본 명세서에 기술된 원리들에 따라 연관될 수 있는 예시적인 3-차원("3D") 장면을 도시하는 도면.
도 3a는, 각각이 본 명세서에 기술된 원리들에 따라 사용자에게 제공될 수 있는 다른 가상 현실 경험과 관련된 도 2의 3D 장면의 복수의 예시적인 영역들을 도시하는 도면.
도 3b는 본 명세서에 기술된 원리들에 따른 예시적인 가상 현실 경험을 기술하는 경험 파라미터들의 예시적인 세트를 도시하는 도면.
도 4는 본 명세서에 기술된 원리들에 따라 다른 캡처 디바이스들에 의해 캡처될 수 있는 도 2의 3D 장면의 복수의 뷰를 묘사하는 도면.
도 5a는 도 2의 3D 장면이 본 명세서에 기술된 원리들에 따라 기초할 수 있는 실세계의 장면을 나타내는 표면 데이터 프레임 시퀀스 내에 포함시키기 위해 컬러 및 깊이 프레임들을 캡처하는 예시적인 캡처 디바이스를 도시하는 도면.
도 5b는 본 명세서에 기술된 원리에 따라 도 5a의 캡처 디바이스에 의해 캡처된 컬러 프레임으로 표현된 컬러 데이터의 예시적인 그래픽 묘사를 도시하는 도면.
도 5c는 본 명세서에 기술된 원리에 따라 도 5a의 캡처 디바이스에 의해 캡처된 깊이 프레임으로 표현된 깊이 데이터의 예시적인 그래픽 묘사를 도시하는 도면.
도 6a 및 도 6b는 본 명세서에 기술된 원리에 따라 도 2의 3D 장면을 나타내고, 도 5a의 캡처 디바이스에 의해 생성된 예시적인 표면 데이터 프레임의 다른 표현을 도시하는 도면.
도 7은 도 4의 뷰들을 포함하고, 본 명세서에 기술된 원리들에 따른 가상화된 표면 데이터 프레임 시퀀스들에 대응하는 추가적인 예시적인 뷰들을 더 포함하는 도 2의 3D 장면의 복수의 도면을 도시하는 도면.
도 8은 경험 선택 데이터 구조 내의 다른 엔트리들 대응하는 다른 가상 현실 데이터세트들이 본 명세서에 기술된 원리들에 따라 기초하는 예시적인 프레임 시퀀스 서브세트들을 도시하는 도면.
도 9는 본 명세서에 기술된 원리들에 따라 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로부터 다른 엔트리들의 동적 선택을 가능하게 하도록 구성된 예시적인 경험 선택 데이터 구조를 도시하는 도면.
도 10 및 도 11은 예시적인 가상 현실 미디어 제공자 시스템들이 본 명세서에 기술된 원리들에 따라 가상 현실 데이터를 맞춤화하는 예시적인 구성들을 도시하는 도면.
도 12는 본 명세서에 기술된 원리들에 따라 개별 운송 스트림들을 통해 송신되는 표면 데이터 프레임 시퀀스를 도시하는 도면.
도 13은 본 명세서에 기술된 원리들에 따라 컬러 및 깊이 프레임이 게이트키퍼 서버들에 의해 수신되고, 컬러 및 깊이 프레임에 대해 지정된 타임프레임들이 게이트키퍼 서버에 의해 동기식으로 송신될 타임프레임들을 나타내는 예시적인 타임라인을 도시하는 도면.
도 14는 복수의 비디오 데이터 스트림들을 포함하고 본 명세서에 기술된 원리들에 따라 미디어 플레이어 디바이스로의 스트리밍을 위해 구성되는 운송 스트림으로서 구현된 예시적인 가상 현실 데이터세트를 도시하는 도면.
도 15는 본 명세서에 기술된 원리들에 따라 가상 현실 미디어 콘텐츠를 경험하기 위해 사용자에 의해 사용될 수 있는 다양한 예시적인 유형들의 미디어 플레이어 디바이스들을 도시하는 도면.
도 16은 본 명세서에 기술된 원리들에 따라 3D 장면에 대한 예시적인 임의의 위치에 대응하는 동적으로 선택 가능한 가상 시점으로부터 경험되는 3D 장면에 기초하여 사용자가 예시적인 가상 현실 미디어 콘텐츠를 제공받는 예시적인 가상 현실 경험을 도시하는 도면.
도 17 내지 도 19는 본 명세서에 기술된 원리들에 따라 가상 현실 데이터를 맞춤화하기 위한 예시적인 방법들을 도시하는 도면.
도 20은 본 명세서에 기술된 원리들에 따른 예시적인 컴퓨팅 디바이스를 도시하는 도면.
도 1은 가상 현실 데이터를 맞춤화하기 위한 예시적인 가상 현실 시스템(100)("시스템(100)")을 도시한다. 도시된 바와 같이, 시스템(100)은 선택적으로 그리고 통신가능하게 서로 연결된 경험 선택 데이터 구조 관리 설비(102)("관리 설비(102)"), 가상 현실 데이터세트 관리 설비(104)("관리 설비(104)") 및 저장 설비(106)를 제한없이 포함할 수 있다. 서로에게. 비록 설비들(102 내지 106)이 별도의 설비로서 도 1에서 도시되어 있지만, 설비들(102 내지 106)이 단일 설비와 같이 더 적은 설비들로 결합될 수 있거나, 특정 구현을 서비스할 수 있는 더 많은 설비들로 분할될 수 있음을 인식할 것이다. 일부 예들에서, 설비들(102 내지 106)의 각각은 특정 구현을 서비스할 수 있는 다수의 컴퓨팅 디바이스들(예를 들어, 다수의 서버들) 및/또는 다수의 위치들 사이에 분산될 수 있다. 부가적으로, 시스템(100)의 특정 구현들에서, 도 1에 도시된 특정 설비들(및 이러한 설비들과 관련된 관련 기능)은 시스템(100)으로부터 생략될 수 있다. 예를 들어, 시스템(100)의 특정 구현은 오로지 관리 시설(102) 및 저장 시설(106)만을 포함할 수 있고, 시스템(100)의 다른 구현은 오로지 관리 시설(104) 및 저장 시설(106)만을 포함할 수 있는, 등과 같이 포함할 수 있다. 설비들(102 내지 106)의 각각은 이제 설명될 것이다.
관리 설비(102)는 하나 이상의 물리적 컴퓨팅 디바이스들(예를 들어, 프로세서들, 메모리들, 통신 인터페이스들, 프로세서들에 의해 실행되도록 메모리에 저장된 명령들, 등과 같은 하드웨어 및/또는 소프트웨어 구성요소들)을 포함할 수 있고, 이러한 컴퓨팅 디바이스들은 경험 선택 데이터 구조의 설계, 계획, 생성 및 다른 관리와 관련된 다양한 동작들을 수행하고, 이러한 경험 선택 데이터 구조는 복수의 엔트리들을 포함하고, 미디어 플레이어 디바이스가 사용자에게 다른 가상 현실 경험들을 제공할 때, 미디어 플레이어에 의한 복수의 엔트리들로부터 다른 엔트리들의 동적 선택을 가능하게 하도록 구성된다. 이를 위해, 관리 설비(102)는 각각 3D 장면의 다른 뷰를 나타내는 복수의 표면 데이터 프레임 시퀀스들을 설명하는 메타데이터에 액세스할 수 있다.
관리 설비(102)는 특정 구현을 서비스할 수 있는 임의의 방식으로 메타데이터에 액세스할 수 있다. 예를 들어, 특정 실시예에서, 3D 장면은 실세계의 장면 일 수 있고, 복수의 표면 데이터 프레임 시퀀스들에서 하나 이상의 표면 데이터 프레임 시퀀스들은 실세계의 장면의 다른 뷰들을 캡처하기 위해 실세계의 장면에 대해 다른 위치들에 배치된 복수의 캡처 디바이스들 중 다른 캡처 디바이스에 의해 캡처(예를 들어, 생성)될 수 있다. 이와 같이, 관리 설비(102)는 복수의 캡처 디바이스들로부터 직접 캡처된 표면 데이터 프레임 시퀀스들에 액세스(예를 들어, 수신, 요청 및 획득, 등)함으로써 메타데이터에 액세스할 수 있다. 다른 예들에서, 하나 이상의 다른 시스템들(예를 들어, 실세계의 장면 캡처 시스템)은 관리 설비(102)가 하나 이상의 다른 시스템들을 통해 메타데이터에 액세스할 수 있도록 캡처 디바이스들과 시스템(100) 사이에 개재될 수 있다. 부가적으로, 캡처된 표면 데이터 프레임 시퀀스들를 기술하는 메타데이터와 함께, 관리 설비(102)는 또한 가상화된 표면 데이터 프레임 시퀀스들(즉, 캡처된 표면 데이터 프레임 시퀀스들 중 하나 이상으로부터 도출되거나 하나 이상에 기초하여 렌더링된 표면 데이터 프레임 시퀀스들)을 기술하는 메타데이터에 유사한 방식들로 액세스할 수 있다. 캡처되고 가상화된 표면 데이터 프레임 시퀀스들은 아래에서 더 상세히 설명될 것이다.
관리 설비(102)는 또한 3D 장면과 관련된 복수의 가상 현실 경험들 내에 포함된 특정 가상 현실 경험을 기술하는한 세트의 경험 파라미터들을 식별할 수 있고, 이러한 가상 현실 경험들 각각은, 미디어 플레이어 디바이스가 각 가상 현실 경험들에 맞춤화된 가상 현실 데이터세트를 처리할 때, 미디어 플레이어 디바이스에 의해 사용자에게 제공될 수 있다. 관리 설비(102)는 임의의 적절한 방식으로 (복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험들을 설명하는 경험 파라미터들의 추가 세트들을 식별하는 것과 함께) 경험 파라미터들의 세트를 식별할 수 있다. 예를 들어, 관리 설비(102)는 3D 장면의 특정 속성들에 기초하여 3D 장면을 다른 영역들로 분할하고, 영역들에 경험 파라미터들의 각 세트 내에 포함된 각각의 파라미터들을 지정할 수 있다. 다른 예로서, 관리 설비(102)는 3D 장면에 대해 어떤 미디어 플레이어 디바이스 기술 능력들이 지원되는지를 결정하고, 지원 기술 능력들을 나타내는 각각의 파라미터들을 경험 파라미터들의 각 세트 내에 포함되도록 지정할 수 있다. 경험 파라미터들의한 세트에 포함될 수 있는 경험 파라미터들의 다양한 예들이 아래에 설명될 것이다.
경험 파라미터들의 식별된 세트 및 복수의 데이터 프레임 시퀀스들과 연관된 메타데이터에 기초하여, 관리 설비(102)는 특정 가상 현실 데이터세트(예를 들어, 특정 가상 현실 경험에 맞춤화된 가상 현실 데이터세트)가 기초하는 프레임 시퀀스 서브세트에 포함시키기 위해 복수의 표면 데이터 프레임 시퀀스로부터 표면 데이터 프레임 시퀀스를 선택할 수 있다. 달리 말하면, 관리 설비(102)는 특정 가상 현실 데이터세트가 생성될 때(예를 들어, 후술되는 바와 같이 관리 설비(104)에 의해), 특정 가상 현실 데이터세트가 기초할 프레임 시퀀스 서브세트에 포함시키기 위해 표면 데이터 프레임 시퀀스들을 선택할 수 있다.
프레임 시퀀스 서브세트(즉, 특정 가상 현실 데이터세트가 기초하는 프레임 시퀀스 서브세트)에 포함시키기 위한 표면 데이터 프레임 시퀀스들의 선택에 기초하여, 관리 설비(102)는 경험 선택 데이터 구조를 생성할 수 있고, 경험 선택 데이터 구조 내에 특정 가상 현실 데이터세트에 대응하는 엔트리를 포함할 수 있다. 예를 들어, 전술한 바와 같이, 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들(예를 들어, 특정 가상 현실 데이터세트에 대응하는 엔트리를 포함)은 복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응할 수 있다. 이와 같이, 관리 설비(102)는 미디어 플레이어 디바이스가 사용자에게 다른 가상 현실 경험들을 제공할 때(예를 들어, 미디어 플레이어 디바이스의 사용자가 가상 시점을 3D 장면 내에서 영역 간 이동하도록 야기할 때), 미디어 플레이어 디바이스에 의한 다른 엔트리들의 동적 선택을 가능하게 하기 위해 경험 선택 데이터 구조를 생성할 수 있다. 관리 설비(102)는 본 명세서에 기술된 및/또는 시스템(100)의 특정 구현을 서비스할 수 있는 다른 동작들을 추가로 수행할 수 있다.
관리 설비(104)는, 미디어 플레이어 디바이스들이 다른 사용자들에게 다른 가상 현실 경험들을 제공할 때, 미디어 플레이어 디바이스들과 상호 작용하고 미디어 플레이어 디바이스들에 다른 가상 현실 데이터세트를 제공하는 것과 관련된 다양한 동작들을 수행하는 하나 이상의 물리적 컴퓨팅 구성요소들(예를 들어, 관리 설비(102)의 것들과 분리되거나 관리 설비(102)와 공유되는 하드웨어 및/또는 소프트웨어 구성요소들)을 포함할 수 있다. 구체적으로, 예를 들어, 관리 설비(104)는 관리 설비(102)에 의해 생성된 경험 선택 데이터 구조를 미디어 플레이어 디바이스에 제공할 수 있고, 미디어 플레이어 디바이스가 (예를 들어, 경험 선택 데이터 구조를 통해) 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응하는 엔트리를 선택하는 것을 검출할 수 있고, 검출에 응답하여, 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 (즉, 미디어 플레이어 디바이스에) 제공할 수 있다. 관리 설비(104)는 본 명세서에 기술된 및/또는 시스템(100)의 특정 구현을 서비스할 수 있는 다른 동작들을 추가로 수행할 수 있다.
전술한 바와 같이, 관리 설비들(102 및 104)은 가상 현실 미디어 제공자 파이프 라인 내에서 다양한 서버-측 및 클라이언트-측 디바이스들 및 시스템들과 다양한 데이터(예를 들어, 메타데이터, 경험 파라미터들의 세트들, 경험 선택 데이터 구조들, 엔트리 선택들, 가상 현실 데이터세트들, 등)를 통신할 수 있다. 본 명세서에서 사용된 바와 같이, "서버-측"은 컨텐츠 제공자 시스템이 최종 사용자가 사용하는 클라이언트 디바이스에 데이터(예를 들어, 가상 현실 데이터)를 제공하는 트랜잭션과 같은 서버-클라이언트 트랜잭션의 서버 측(예를 들어, 제공자의 측)을 지칭할 수 있다. 예를 들어, 가상 현실 미디어 제공자 시스템은 가상 현실 데이터를 사용자와 연관된 미디어 플레이어 디바이스에 제공할 수 있다. 이와 같이, 서버-측 시스템들 및 구성요소들은 데이터(예를 들어, 가상 현실 데이터세트들)를 미디어 플레이어 디바이스(예를 들어, 네트워크를 통해)에 제공하기 위해 콘텐츠 제공자 시스템과 관련되는(예를 들어, 이에 포함되거나, 이에 의해 구현되거나, 이와 연동되는, 등의) 이들 시스템들 및 구성요소들을 지칭할 수 있다. 대조적으로, "클라이언트-측" 디바이스들은 네트워크의 다른 측의 사용자에 의해 사용되는 클라이언트 디바이스(예를 들어, 미디어 플레이어 디바이스)와 연관될 수 있고, 클라이언트 디바이스가 콘텐츠 제공자 시스템(예를 들어, 미디어 플레이어 디바이스 및/또는 네트워크의 사용자 측에서 사용자에 의해 작동되는 다른 컴퓨터 구성요소들)으로부터 데이터를 수신하는 것을 가능하게 하는 디바이스들을 포함할 수 있다. 이들 통신들을 수행하기 위해, 관리 설비들(102 및 104)은 특정 구현을 서비스할 수 있는 임의의 통신 인터페이스들, 프로토콜들 및/또는 기술들을 사용하여 서버-측 및/또는 클라이언트-측 시스템들과 통신하도록 구성될 수 있다. 예를 들어, 관리 설비들(102 및 104)은 하나 이상의 네트워크들(예를 들어, 유선 또는 무선 근거리 네트워크들, 광역 네트워크들, 제공자 네트워크들, 인터넷, 등), 유선 통신 인터페이스들(예를 들어, 범용 직렬 버스("USB")), 무선 통신 인터페이스들, 또는 임의의 다른 적합한 통신 인터페이스들, 프로토콜들, 및/또는 기술들을 통해 통신하도록 구성될 수 있다.
저장 설비(106)는 특정 구현에서 관리 설비들(102 및 104)에 의해 액세스, 수신, 생성, 관리, 추적, 유지, 사용, 제공 및/또는 송신되는 임의의 적절한 데이터를 저장 및/또는 유지시킬 수 있다. 예를 들어, 도시된 바와 같이, 저장 설비(106)는 본 명세서에 기술된 임의의 방식들로 수신, 생성, 관리, 추적, 유지, 사용 및/또는 송신(예를 들어, 다른 시스템들에 제공)될 수 있는 관리 데이터(108) 및/또는 가상 현실 데이터세트들(110)을 포함할 수 있다. 관리 데이터(108)는, 표면 데이터 프레임 시퀀스들을 설명하는 메타데이터(예를 들어, 표면 데이터 프레임 시퀀스들과 관련된 캡처 파라미터들의 세트), 3D 장면을 나타내는 데이터, 경험 파라미터들의 다른 세트들을 나타내거나 경험 파라미터들의 세트들을 생성하는데 사용된 데이터, 프레임 시퀀스 서브세트들 및 프레임 시퀀스 서브세트 내에 포함된 선택된 표면 데이터 프레임 시퀀스들을 나타내는 데이터, 프레임 시퀀스 서브세트들의 선택을 수행하는데 사용되는 데이터, 경험 선택 데이터 구조들을 나타내는 데이터 및/또는 경험 선택 데이터 구조들을 생성(예를 들어, 동적으로 생성)하기 위해 사용되는 데이터, 등을 포함하는 표면 데이터 프레임 시퀀스 데이터를 포함할 수 있다. 가상 현실 데이터세트들(110)은 미디어 플레이어 디바이스들에 대한 운송을 위해 하나 이상의 운송 스트림들로 패키징될 수 있는 데이터 스트림들(예를 들어, 표면 데이터 프레임 시퀀스들에 기초하여 인코딩된 비디오 데이터 스트림들) 및/또는 미디어 플레이어 디바이스들에 제공될 수 있는 가상 현실 데이터세트들과 관련된 임의의 다른 데이터를 포함할 수 있다. 더욱이, 저장 설비(106)는 본 명세서에 기술된 동작들을 수행하기 위한 명령들(예를 들어, 프로그래밍 명령들) 및/또는 본 명세서에 기술된 동작들을 수행하기 위해 관리 설비들(102 및 104)에 의해 사용되는 다른 데이터와 같은 시스템(100)의 특정 구현들에 의해 사용되는 다른 유형들의 데이터를 포함할 수 있다.
일부 예들에서, 3D 장면은 실세계의 장면의 다른 뷰들을 캡처하기 위해 실세계 장면에 대하여 다른 위치들에 배치된 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 요소들을 포함할 수 있다. 이들 예들 중 일부에서, 시스템(100)은 이벤트들이 실세계 장면 내에서 발생할 때 본 명세서에 기술된 동작들 중 하나 이상을 실시간으로 수행할 수 있다. 따라서, 시스템(100)이 다른 시스템들도 실시간으로 동작하는 가상 현실 미디어 제공자 파이프 라인 내에서 사용되는 구현들에서, 가상 현실 데이터세트들은 미디어 플레이어 디바이스들에 제공될 수 있어서, 실세계 장면 근처에 물리적으로 위치하고 있지 않지만 실세계 장면(예: 실세계 장면 내에서 발생하는 이벤트)을 경험하고 싶은 미디어 플레이어 디바이스들의 각 사용자들은, 그들의 각 미디어 플레이어 디바이스들을 사용하여 실세계 장면 및 거기에서 발생하는 이벤트들을 실시간으로(이벤트가 발생하는 실제 시간에) 가상으로 경험할 수 있다. 데이터 처리 및 데이터 분배가 유한 시간이 걸릴 수 있어, 실세계 장면 내의 이벤트가 발생할 때 사용자가 실세계 장면을 정확하게 경험하는 것이 불가능할 수 있지만, 본 명세서에서 사용되는 바와 같이, 동작이 즉시 그리고 과도한 지연없이 수행될 때 동작은 "실시간"으로 수행된다고 간주된다. 따라서, 사용자가 지연(예를 들어, 발생이 실제로 일어난 후 수 초 또는 수 분) 후 실세계 장면 내에서 특정 이벤트들을 경험하더라도 사용자는 실세계 장면을 실시간으로 경험한다고 말할 수 있다.
시스템(100)의 다양한 구현들이 가상 현실 데이터를 맞춤화하기 위해 어떻게 동작할 수 있는지를 추가로 설명하기 위해, 시스템(100)에 의해 수행되는 동작들의 다양한 양상 및/또는 가상 현실 경험들을 사용자들에게 제공하기 위해 미디어 플레이어 디바이스들에 의해 수행되는 동작들이 이제 설명될 것이다.
도 2는 사용자에게 제시된 가상 현실 경험들이 연관될 수 있는 예시적인 3D 장면(202)을 도시한다. 예를 들어, 3D 장면(202)은 실세계 객체들을 포함하는 실세계 장면, 가상 객체들을 포함하는 가상 장면, 실세계 객체들과 가상 객체들의 조합을 포함하는 병합된 현실 장면, 또는 특정 구현을 서비스할 수 있는 다른 적합한 3D 장면을 나타낼 수 있다.
본 명세서에서 사용되는 바와 같이, 실세계 장면은 임의의 실세계 풍경, 실세계 위치, 실세계 이벤트(예를 들어, 라이브 이벤트, 등), 또는 특정 구현을 서비스할 수 있는 실제 세상에 존재하는 다른 주제(예를 들어, 가상 세계 또는 상상의 세계에만 존재하는 것과는 다른)를 나타낼 수 있다. 일부 예들에서, 실세계 장면은 무대, 경기장(예, 농구장), 연기장, 등과 같은 구체적으로 묘사된 영역일 수 있다. 반대로, 다른 예들에서, 실세계 장면들은 그렇게 잘 한정되거나 묘사되지 않을 수 있다. 예를 들어, 실세계 장면들은 도시 거리, 박물관, 경치 좋은 풍경, 등과 같은 임의의 실내 또는 실외 실세계의 위치를 포함할 수 있다. 특정 예들에서, 실세계 장면들은 스포츠 이벤트들, 뮤지컬 이벤트들, 드라마 또는 연극 프리젠테이션들, 대규모 축하 행사들(예를 들어, 타임 스퀘어 광장의 12월 31일 밤, 참회 화요일(Mardis Gras), 등), 정치적 이벤트들 또는 다른 실세계의 이벤트들과 같은 실세계의 이벤트와 연관될 수 있다. 동일하거나 다른 예들에서, 실세계 장면들은 소설화한 장면들(예를 들어, 실사 가상 현실 텔레비전 쇼 또는 영화의 세트) 및/또는 특정 구현을 서비스할 수 있는 임의의 다른 실내 또는 실외 실세계의 위치에서의 임의의 다른 장면에 대한 설정들과 관련될 수 있다.
대조적으로, 본 명세서에서 사용된 바와 같이, 가상 장면들은 실세계 장면들의 주제와 동일한 유형들을 나타낼 수 있지만, 실세계에서 유사성들을 갖지 않을 수 있다. 예를 들어, 가상 장면들은 (예를 들어, 물리적 캡처 디바이스들에 의해 캡처되는 것과는 반대로) 완전히 컴퓨터로 생성될 수 있고, 따라서 특정 구현을 서비스할 수 있는 실세계의 위치 또는 상상의 위치들을 모델링할 수 있다. 일부 경우들에서, 가상 장면은 실세계에 존재하지 않거나 실세계에서 캡처하기 어려운 이국적인 요소들(예를 들어, 판타지 요소들, 다른 행성들의 풍경, 등)을 포함할 수 있다.
본 명세서에서 사용되는 바와 같이, 병합된 현실 장면들은 실세계의 장면과 가상 장면 모두의 요소들을 포함할 수 있다. 예를 들어, 병합된 현실 장면은 실세계 장면(예를 들어, 유명한 건물 내부)으로부터 캡처된 풍경을 포함할 수 있지만, 실세계의 풍경 내에 가상 객체들을 통합할 수 있다. 다른 예들에서, 병합된 현실 장면은 물리적 캡처 디바이스들에 의해 캡처된 실세계의 객체들과 통합된 가상(즉, 컴퓨터 생성) 풍경을 포함할 수 있다.
3D 장면(202)이 실세계 장면, 가상 장면 또는 병합된 현실 장면을 표현(예를 들어, 구현, 포함, 등)하는 지에 관계없이, 3D 장면(202)은 하나 이상의 객체들(204)(예를 들어, 객체들(204-1 및 204-2))을 포함할 수 있다. 표현된 장면의 유형에 따라, 객체(204)는 3D 장면(202)과 관련되고(예를 들어, 3D 장면(202) 내에 또는 주위에 위치된), 3D 장면(202)의 적어도 하나의 뷰로부터 (아래에 설명되고 설명될 바와 같이) 검출 가능한(예를 들어, 볼 수 있는, 등) 살아 있거나 무생물의 임의의 실세계의 또는 가상의 객체들을 표현할 수 있다. 객체들(204)이 명확성을 위해 비교적 단순한 기하학적 형태들로 그려지지만, 객체들(204)은 복잡성의 다양한 수준들을 갖는 다양한 유형들의 객체들을 표현할 수 있음이 이해될 것이다. 기하학적 형태들 대신에, 예를 들어, 객체들(204) 중 하나 또는 둘 모두는, 사람 또는 다른 생물, 투명 고체, 액체 또는 가스, 벽, 천장, 바닥과 같은 덜 불연속적인 객체, 또는 본 명세서에 기술되거나 특정 구현을 서비스할 수 있는 임의의 다른 유형의 객체과 같은 살아 있는 또는 무생물의 객체들 또는 표면들을 표현할 수 있다.
전술한 바와 같이, 시스템(100)은 3D 장면과 관련된 복수의 가상 현실 경험 내들에 포함된 특정 가상 현실 경험을 기술하는 경험 파라미터들의 세트를 식별할 수 있다. 본 명세서에 사용된 바와 같이, "가상 현실 경험"은 특정 상황들에서 가상 현실 데이터에 기반한 가상 현실 미디어 콘텐츠를 제시하는 미디어 플레이어 디바이스를 사용하는 사용자에 의해 가상 현실 세상(예를 들어, 3D 장면(202)의 가상 표현)을 경험하는 것을 일반적으로 지칭할 수 있다. 그러나, 본 명세서에서 사용되는 다른 맥락(예를 들어, 미디어 플레이어 디바이스들에 의해 사용자에게 제공될 수 있는 복수의 가상 현실 경험들 내에 포함된 특정 가상 현실 경험을 구체적으로 언급하는 맥락)에서, "가상 현실 경험"은 보다 기술적인 개념을 지칭할 수 있다. 구체적으로, 가상 현실 경험은 예를 들어 3D 장면의 특정 양상들에 대한 높은 레벨들의 세부사항 및 특정 포맷으로 인코딩되고, 특정 이미지 품질 및/또는 데이터 속도, 등과 관련된 3D 장면의 다른 양상들에 대한 낮은 레벨들의 세부사항을 기술하는 가상 현실 데이터를 포함하는 특정 가상 현실 데이터세트에 기초하여 미디어 플레이어 디바이스가 사용자에게 제공할 수 있는 경험을 지칭할 수 있다. 보다 기술적인 의미에서, 3D 장면을 경험하는 사용자는, 사용자가 가상 시점(예를 들어, 사용자가 3D 장면을 바라보게 하는 유리한 시점)이 3D 장면 내의 영역 간에 이동하도록 지시할 때, 3D 장면 내의 객체들이 이동 또는 변경될 때, 사용자가 사용하는 미디어 플레이어 디바이스의 대역폭 성능들이 변화할 때, 등과 같은 경우, 가상 현실 경험에서 가상 현실 경험으로 "전환" 또는 "이동"한다고 말할 수 있다. 아래에서 기술하는 바와 같이, 특정 가상 현실 경험들(예를 들어, 이러한 보다 기술적 유형의 가상 현실 경험들)은 각각의 가상 현실 경험을 기술하는 경험 파라미터들의 각 세트에서 하나 이상의 "경험 파라미터들"에 의해 한정될 수 있다.
사용자에게 제공될 수 있는 가상 현실 경험들 및 가상 현실 경험을 기술하는 경험 파라미터들의 세트들을 도시하기 위해, 도 3a 및 도 3b는 3D 장면(202)과 관련된 가상 현실 경험들 및 경험 파라미터들의 다양한 양상들을 도시한다.
구체적으로, 도시된 바와 같이, 도 3a는 각각이 사용자에게 제공될 수 있는 다른 가상 현실 경험과 관련된 3D 장면(202)의 복수의 예시적인 영역들(302)(예를 들어, 영역들(302-1 내지 302-18))을 도시한다. 예를 들어, 영역(302-1)은 제 1 가상 현실 경험과 연관될 수 있고, 영역(302-2)은 제 2의 다른 가상 현실 경험과 연관될 수 있고, 다음도 이와 같다. 영역들(302)이 가상 현실 경험의 하나의 특정 양상(예를 들어, 3D 장면(202) 내에서 사용자의 가상 시점의 위치)만을 도시하고, 다양한 다른 양상들도 가상 현실 경험에 영향을 줄 수 있다는 것이 이해될 것이다. 예를 들어, 영역(302-1)과 관련된 제 1 가상 현실 경험은 또한 특정 이미지 품질(예를 들어, 비교적 높은 해상도 이미지)과 관련될 수 있는 반면, 영역(302-1)과 또한 관련될 수 있는 제 2 가상 현실 경험은 다른 이미지 품질(예를 들어, 상대적으로 낮은 해상도 이미지)과 관련될 수 있다. 동일하거나 다른 예들에서, 이미지 품질 경험 파라미터들은 예를 들어 캡처된 이미지의 프레임 속도, 캡처된 이미지의 종횡비, 캡처된 이미지의 컬러 해상도, 및 캡처된 이미지에 사용되는 인코딩 방법, 등과 같은 이미지 해상도(즉, 픽셀 해상도) 이외의 이미지 품질의 양상들과 관련될 수 있다. 따라서, 사용자들에게 제공될 수 있는 복수의 가상 현실 경험들은, 위치 경험 파라미터들(예를 들어, 가상 현실 경험과 관련된 특정 영역(302)을 한정하는 경험 파라미터들), 이미지 품질 경험 파라미터, 및 특정 구현을 서비스할 수 있는 임의의 다른 경험 파라미터들을 포함하는 경험 파라미터들의 다양한 다른 순열들에 의해 한정될 수 있다.
도 3a에 도시된 바와 같이, 사용자의 가상 뷰포인트(304)(즉, 사용자가 3D 장면(202)을 경험하고 있고 특정 구현에서 사용자의 의지에 따라 3D 장면(202) 주위에서 임의로 이동될 수 있는 현재의 유리한 뷰포인트)가 특정 시점에서 영역(302-8) 내에 위치될 수 있다. 도시된 바와 같이, 객체(204-1)는 또한 영역(302-8) 내의 가상 뷰포인트(304) 근처에 위치될 수 있는 반면, 객체(204-2)는 영역(302-1) 내의 가상 뷰포인트(304)로부터 멀리 떨어져 위치될 수 있다. 이와 같이, 그리고 아래에서 더 상세히 설명될 바와 같이, 시스템(100)이 사용자의 미디어 플레이어 디바이스에 영역(302-8)과 연관된 가상 현실 경험에 맞춤화된 가상 현실 데이터세트를 제공하는 것이 바람직할 수 있다. 이러한 가상 현실 데이터세트는, 예를 들어, 사용자가 객체(204-1)의 높은-품질의 렌더링을 경험하는 것을 허용하기 위하여, 객체(204-1)에 대한 비교적 높은 레벨의 세부사항을 포함할 수 있고(즉, 가상 뷰포인트(304)에 대한 객체(204-1)의 상대적으로 인접한 근접성에 기인하여), 동시에 객체(204-2)에 대한 더 낮은 레벨의 세부사항을 포함한다(즉, 객체(204-2)가 가상 뷰포인트(304)로부터 멀리 떨어져 있고, 따라서 객체(204-2)의 복잡한 세부사항들이 가상 뷰포인트(304)로부터 눈에 띄지 않을 것이라는 사실로 인해).
반대로, 가상 뷰포인트(304)이 나중에 객체(204-2)에 더 가깝게(예를 들어, 영역(302-1) 내로) 이동하는 경우, 시스템(100)이 미디어 플레이어 디바이스에 영역(302-11)과 관련된 가상 현실 경험에 맞춤화된 가상 현실 데이터세트를 제공하는 것이 바람직할 수 있다. 예를 들어, 전술한 가상 현실 데이터세트와 대조적으로,이 가상 현실 데이터세트는 사용자가 객체(204-2)의 고-품질 렌더링을 경험하는 것을 허용하기 위하여 객체(204-2)를 설명하는 비교적 높은 레벨의 세부사항을 포함할 수 있고, 동시에 객체(204-1)을 설명하는 낮은 레벨의 세부사항을 포함한다.
도 3b는 예시적인 가상 현실 경험을 기술하는 경험 파라미터들의 예시적인 세트를 도시한다. 보다 구체적으로, 경험 파라미터 세트(306)는, 예를 들어, 영역(302-8)과 관련될 수 있고, 가상 뷰포인트(304)를 선택한 사용자에게 가상 현실 경험을 제공하는 미디어 플레이어 디바이스에 제공될 수 있는 가상 현실 경험과 같은 특정 가상 현실 경험을 설명하기 위해 사용될 수 있는 다양한 예시적인 경험 파라미터들을 도시한다.
경험 파라미터 세트(306)는 특정 구현을 서비스할 수 있는 가상 현실 경험의 임의의 양상을 기술할 수 있는 임의의 유형의 경험 파라미터들을 포함할 수 있다. 예를 들어, 도시된 바와 같이, 경험 파라미터 세트(306)는 가상 현실 경험이 사용자에게 제공되는 3D 장면(202) 내의 위치(예를 들어, 영역(302) 중 하나)를 나타내는 경험 파라미터(즉, "경험 위치 좌표들")를 포함할 수 있다. 경험 파라미터 세트(306)는 또한 가상 현실 경험이 사용자에게 제공되는 3D 장면(202) 내의 위치의 궤적(예를 들어,한 영역(302)에서 다른 영역으로 가상 뷰포인트(304)의 궤적)을 나타내는 경험 파라미터(즉, "경험 궤적")를 포함할 수 있다. 경험 파라미터 세트(306)는 가상 현실 경험을 사용자에게 제공하는 미디어 플레이어 디바이스의 기술적 능력을 나타내는 경험 파라미터(즉, 미디어 플레이어 디바이스에 의해 지원되는 "스크린 해상도" 또는 "리프레쉬 레이트"와 같은 "이미지 품질" 파라미터들, 미디어 플레이어 디바이스에 의해 지원되는 "대역폭 성능", 미디어 플레이어 디바이스에 의해 지원되는 "코덱 성능", 등과 같은 "디바이스 파라미터들")를 더 포함할 수 있다. 또한, 경험 파라미터 세트(306)는 사용자에게 제공되는 가상 현실 경험과 관련된 3D 장면(202)의 기하학적 특성을 나타내는 경험 파라미터(즉, "장면 형상", "장면 크기", 등과 같은 "장면 형상 파라미터")를 포함할 수 있다. 또한, 경험 파라미터 세트(306)는 3D 장면(202) 내에 포함된 하나 이상의 객체들(204)의 속성을 나타내는 경험 파라미터(즉, "객체의 지오메트리들", "객체 위치 좌표들, "객체 궤적", 등)를 포함할 수 있다. 경험 파라미터 세트(306)는 특정 구현을 서비스할 수 있는 이러한 경험 파라미터들 및/또는 임의의 다른 적절한 경험 파라미터들 중 임의의 것 또는 전부를 포함할 수 있다.
경험 파라미터 세트(306)는 그에 도시된 각각의 다른 경험 파라미터들(예를 들어, 좌표 값들, 궤적 값들, 디바이스 파라미터 값들, 장면 또는 객체 지오메트리 서술자들, 등)와 관련된 특정 값들을 도시하지 않지만, 경험 파라미터 세트(306) 내에 표현된 각각의 경험 파라미터들이 특정 구현을 서비스할 수 있는 특정 경험 파라미터를 한정하는 임의의 적절한 값을 포함하거나 이와 연관될 수 있음이 이해될 것이다. 예를 들어, 경험 위치 좌표 파라미터들은 3D 장면(202)의 특정 영역(예를 들어, 영역(302-8))을 한정하는 수치 좌표 값들을 포함할 수 있고, 경험 궤적 파라미터들은 가상 뷰포인트(304) 또는 객체들(204)이 움직일 수 있는 각각의 궤적을 한정하는 수치 벡터 값들을 포함할 수 있고, 나머지도 이와 같다.
시스템(100)은, 다른 미디어 플레이어 디바이스를 사용하여, 3D 장면(202)의 다른 영역들에서 다른 가상 뷰포인트들을 사용하는 것, 3D 장면(202)을 경험하기 위한 다른 성능들을 갖는 다른 미디어 플레이어 디바이스들을 사용하는 것, 그들의 가상 뷰포인트들을 다른 궤적들에 대한 지시하는 것, 및/또는 3D 장면(202)의 다른 객체들(204) 또는 기하학적 특징들(예를 들어, 모서리들, 에지들, 등)로부터 다른 근접성을 구비하는 것, 등을 통해, 다른 사용자들에게 제공될 수 있는 다양한 가상 현실 경험들을 설명하는 경험 파라미터들의 다양한 세트들(즉, 경험 파라미터 세트(306)를 포함하는)을 식별할 수 있다. 따라서, 경험 파라미터들의 각각의 식별된 세트에 대해(즉, 각각의 제공 가능한 가상 현실 경험에 대해), 시스템(100)은 경험 파라미터들의 세트에 의해 기술된 가상 현실 경험에 맞춤화된 각각의 가상 현실 데이터세트를 준비하고 생성할 수 있다. 시스템(100)은 또한, 사용자가 3D 장면(202)을 경험함에 따라, 적절한 가상 현실 데이터세트들을 선택할 때 미디어 플레이어 디바이스들이 다른 사용자들에 의해 가능하게 사용되도록 하기 위해 경험 선택 데이터 구조에 이들 가상 현실 데이터세트들 각각에 대한 엔트리를 포함할 수 있다.
가상 현실 데이터세트를 특정 가상 현실 경험(즉, 특정 세트의 경험 파라미터들을 갖는)으로 맞춤화하기 위해, 시스템(100)은 3D 장면(202)의 다양한 다른 뷰들을 묘사하는 더 큰 복수의 이용 가능한 표면 데이터 프레임 시퀀스들로부터 적은 수의 표면 데이터 프레임 시퀀스들을 선택할 수 있고, 맞춤화된 가상 현실 데이터세트가 기초한 프레임 시퀀스 서브세트에 선택된 표면 데이터 프레임 시퀀스들을 포함할 수 있다. 시스템(100)은 특정 구현을 서비스할 수 있는 임의의 방식으로 3D 장면(202)의 다른 뷰들을 묘사하는 복수의 이용 가능한 표면 데이터 프레임 시퀀스들에서 표면 데이터 프레임 시퀀스들을 생성 및/또는 액세스할 수 있다. 예를 들어, 3D 장면(202)이 오로지 가상 객체들을 갖는 순수한 가상 장면을 표현하는 경우, 표면 데이터 프레임 시퀀스들은 시스템(100)에 의해, 또는 가상 장면을 표현하는 데이터를 시스템(100)에 제공하는 다른 시스템에 의해 (예를 들어, 가상 모델에 기초하여) 생성되거나 애니메이트될 수 있다. 반대로, 3D 장면(202)이 실세계 장면 또는 적어도 일부 실세계 요소들(예를 들어, 실세계 객체들)을 포함하는 병합 현실 장면을 나타내는 경우, 시스템(100) 또는 시스템(100)과 관련된 시스템은 물리적인, 실세계의 캡처 디바이스를 사용하여 실세계 장면의 뷰들을 묘사하는 표면 데이터 프레임 시퀀스들을 캡처할 수 있다.
설명하기 위해, 도 4는 3D 장면(202)이 실세계 장면을 나타내는 구현에서 다른 캡처 디바이스들에 의해 캡처될 수 있는 3D 장면(202)의 복수의 뷰들(402)(예를 들어, 뷰(402-1 내지 402-6))을 묘사한다. 뷰들(402) 각각은 3D 장면(202)이 실세계 장면에 대하여 기초한 실세계 장면을 캡처하는데 사용되는 캡처 디바이스의 각각의 위치를 나타낼 수 있다. 부가적으로, 뷰(402)는 실세계 장면이 캡처 디바이스들의 위치들 이외의 각각의 캡처 디바이스들에 의해 캡처되는 방법의 추가 양상들을 추가로 나타낼 수 있다. 예를 들어, 각각의 뷰(402)로부터 나오는 점선들로 도시된 바와 같이, 뷰(402)는 또한 특정 캡처 각도(예를 들어, 뷰(402)에 대응하는 캡처 디바이스가 향하는 특정 방향), 특정 캡처 시야(예를 들어, 캡처 디바이스들에 의해 예를 들어, 캡처 디바이스들의 렌즈들이 얼마나 좁거나 넓은지, 캡처 디바이스들의 줌 레벨, 등에 기초하여 캡처되는 3D 장면(202)에 의해 표현되는 실세계 장면의 영역들), 등과 관련될 수 있다. 각각의 뷰(402)는 도 4에 명시적으로 도시되지 않은 캡처의 양상들과 더 관련될 수 있다. 예를 들어, 각각의 뷰(402)는, 표면 데이터 프레임 시퀀스가 뷰(402)와 관련된 캡처 디바이스에 의해 캡처되는 특정 품질 레벨(예를 들어, 이미지 해상도, 프레임 레이트, 등), 캡처 디바이스에 의해 캡처되는 데이터가 인코딩되어야 할 특정 포맷, 및/또는 특정 구현을 서비스할 수 있는 데이터 캡처의 다른 양상들과 연관될 수 있다.
도시된 바와 같이, 3D 장면(202)의 뷰들(402)은 3D 장면(202)(예를 들어, 객체들(204)을 포함하는)이 보여 질 수 있는 다른 뷰포인트들, 유리한 뷰포인트들, 등을 제공할 수 있다. 예를 들어, 뷰들(402)은 각각 3D 장면(202)에 대해 고정될 수 있다(예를 들어, 실세계 장면 및 캡처 디바이스들은 정지되어 있거나 함께 움직일 수 있다). 또한, 도 4에 도시된 일부 예들에서, 뷰들(402)은 적어도 2 차원을 따라(예를 들어,지면과 같은 평면을 따라) 3D 장면(202)을 둘러 쌀 수 있다. 특정 예들에서, 뷰들(402)은 3 차원을 따라 3D 장면(202)을 (예를 들어, 3D 장면(202)의 위 및 아래의 뷰들(402)을 또한 포함시킴으로써) 더 둘러 쌀 수 있다.
이하에 더 설명되고 예시되는 바와 같이, 다양한 다른 뷰들(402)(예를 들어, 다양한 뷰포인트들로부터 실세계 장면을 캡처하기 위하여 3D 장면(202)이 기초하는 실세계 장면을 둘러싸는 뷰들(402))로부터 캡처된 데이터를 사용하여, 시스템(100)은 실세계 장면의 다른 임의의 뷰들의 하나 이상의 가상화된 투영들을 생성할 수 있다. 다시 말해서, 하나 이상의 뷰들(402)로부터 캡처된 데이터를 사용하여, 시스템(100)은, 다른 위치들, 각도들, 시야들, 등과 관련될 수 있는 실세계 장면의 맞춤화된 뷰들의 가상화된 투영들을 렌더링할 수 있는데, 이러한 투영들은 뷰들(402)과 정렬되거나 정렬되지 않을 수 있다. 따라서, 도시되는 바와 같이, 특정 프레임 시퀀스 서브세트를 선택할 때 시스템(100)이 선택해야 하는 복수의 이용 가능한 표면 데이터 프레임 시퀀스들은, 물리적 캡처 디바이스들에 의해 캡처된 뷰들(402)과 정렬되지 않은(즉, 독립적인, 다른) 실세계 장면의 뷰들을 묘사하는 하나 이상의 가상화된 표면 데이터 프레임 시퀀스들을 포함할 수 있다.
각각의 뷰(402)의 뷰포인트로부터 실세계 장면을 캡처하기 위해, 복수의 캡처 디바이스들 내의 다른 캡처 디바이스가 뷰(402)의 각각의 다른 위치들에 배치될 수 있다. 도시하기 위하여, 도 5a는 3D 장면(202)이 기초할 수 있는 실세계 장면을 나타내는 특정 표면 데이터 프레임 시퀀스 내에 포함시키기 위해 뷰(402-1)의 위치로부터 컬러 및 깊이 프레임들을 캡처하는 예시적인 캡처 디바이스(502)를 도시한다.
도 5a에 도시된 바와 같이, 캡처 디바이스(502)는 뷰(402-1)와 연관될 수 있고, 따라서 뷰(402-1)에 대응하는 위치에서 실세계 장면 및 실세계 객체(204)에 대해 배치될 수 있다. 도 5a는 캡처 디바이스(502)가 실세계 장면(예를 들어, 실세계 객체(204-1) 및/또는 뷰(402-1)의 뷰포인트에서 볼 수 있는 그 안에 포함된 다른 객체들을 포함하는)을 나타내는 컬러 데이터(예를 들어, 풀 컬러 또는 그레이 스케일 이미지들을 나타내는 2D 비디오 데이터)을 캡처하도록 구성된 2-차원("2D") 컬러 캡처 디바이스(504), 및 실세계 장면을 나타내는 깊이 데이터를 캡처하도록 구성된 깊이 캡처 디바이스(506)를 포함할 수 있는 것을 도시한다.
2D 컬러 캡처 디바이스(504)는 임의의 적절한 2D 컬러 캡처 디바이스(예를 들어, 카메라, 비디오 카메라, 등)에 의해 구현될 수 있고, 특정 구현을 서비스할 수 있는 임의의 방식으로 2D 컬러 데이터를 캡처할 수 있다. 일부 예들에서, 2D 컬러 캡처 디바이스(504)는 깊이 캡처 디바이스(506)와 개별의 디바이스일 수 있다. 집합적으로, 그러한 개별 디바이스들(예를 들어, 디바이스들을 기능적으로 병합하는데 사용되는 임의의 통신 인터페이스들 및/또는 다른 하드웨어 또는 소프트웨어 메커니즘들)은 캡처 디바이스(예를 들어, 캡처 디바이스(502))로 지칭된다. 다른 예들에서, 도 5a에 도시된 바와 같이, 2D 컬러 캡처 디바이스(504) 및 깊이 캡처 디바이스(506)는 설명될 컬러 데이터 및 깊이 데이터 모두를 캡처하는 단일 디바이스(즉, 캡처 디바이스(502))에 통합될 수 있다.
개별 디바이스로서 구현되거나 또는 2D 컬러 캡처 디바이스(504)와 통합되든지에 상관없이, 깊이 데이터 캡처 디바이스(506)는 특정 구현을 서비스할 수 있는 임의의 방식으로 실세계 장면을 나타내는 깊이 데이터를 캡처할 수 있다. 예를 들어, 깊이 데이터 캡처 디바이스(506)는 구조화된 광 깊이 맵 캡처 기술, 입체 깊이 맵 캡처 기술, 비행 시간 깊이 맵 캡처 기술, 다른 적합한 깊이 맵 캡처 기술, 또는 특정 구현을 서비스할 수 있는 깊이 맵 캡처 기술의 임의의 조합과 같은 하나 이상의 깊이 맵 캡처 기술들을 이용할 수 있다.
깊이 데이터를 캡처하는데 사용되는 깊이 맵 캡처 기술들의 유형 및 수에 관계없이, 캡처 디바이스(502)는 실세계 객체(204-1) 및/또는 실세계 장면 내에 포함되어 뷰(402-1)의 뷰포인트로부터 볼 수 있는 다른 객체들의 표면들을 나타내는 컬러 데이터(예를 들어, 컬러 프레임들) 및 깊이 데이터(예를 들어, 깊이 프레임들) 모두를 캡처할 수 있다. 본 명세서에서 사용된 바와 같이, 캡처 디바이스(502)에 의해 대략 동시에 캡처된 컬러 프레임 및 깊이 프레임은 이러한 프레임들에 포함된 데이터가 실세계 장면에 포함된 실세계 객체의 표면들(즉, 표면들의 시각적 모양과 표면들의 깊이 지오메트리들 모두)을 기술하는 데이터를 나타내기 때문에, 집합적으로 "표면 데이터 프레임" 또는 "컬러 및 깊이 프레임"으로 지칭될 수 있다.
따라서, 본 명세서에서 사용되는 바와 같이, 표면 데이터 프레임 또는 컬러 및 깊이 프레임은, 특정 시점에 실세계 장면의 특정 뷰로부터 실세계 장면 내에서의 보이는 실세계 객체의 표면들과 관련된 다양한 유형들의 데이터를 나타내는 데이터세트를 지칭할 수 있다. 예를 들어, 표면 데이터 프레임은 실세계 장면과 관련하여 특정 뷰로부터 보여질 때 객체들을 나타내는 깊이 데이터뿐만 아니라 컬러 데이터(즉, 이미지 데이터)를 포함할 수 있다. 이와 같이, 복수의 관련 표면 데이터 프레임들은 특정 뷰로부터 보여질 때 실세계 장면의 비디오-형 표현(컬러뿐만 아니라 깊이 데이터를 나타내는)을 생성하기 위해 함께 시퀀싱될 수 있다. 특정 예들에서, 표면 데이터 프레임은 오디오 데이터, 메타데이터(예를 들어, 표면 데이터 프레임이 캡처되는 뷰를 묘사하는 캡처 파라미터들의 세트를 포함하는 메타데이터, 표면 데이터 프레임 내에서 표현된 특정 실세계 객체에 대한 정보, 등) 및/또는 특정 구현을 서비스할 수 있는 다른 유형들의 데이터, 등과 같은 다른 유형들의 데이터와 더 관련될 수 있다. 아래에서 기술되고 도시되는 바와 같이, 표면 데이터 프레임들의 이러한 시퀀스는 본 명세서에서 "표면 데이터 프레임 시퀀스"로 지칭될 수 있다.
본 명세서에서 사용되는 바와 같이, "컬러 데이터"는, 특정 뷰의 뷰포인트로부터 특정 시점에 또는 특정 기간에 걸쳐 특정 뷰포인트에서 주제의 외관(예를 들어, 장면 내에 포함된 객체)을 나타내는 임의의 이미지 데이터, 비디오 데이터 등을 컬러 또는 그레이 스케일(즉, "흑백")로 표현되는지에 상관없이, 포함할 수 있다. 컬러 데이터는 본 기술 분야의 이미지 데이터 및/또는 비디오 데이터를 한정하는 다양한 정의들 및/또는 표준들과 관련될 수 있는 임의의 특정 포맷, 파일 유형, 프레임 속도, 해상도, 품질 레벨 또는 다른 특성으로 제한되지 않는다. 유사하게, 본 명세서에서 사용된 바와 같이, "깊이 데이터"는 공간에서 주제의 위치 및/또는 지오메트리를 나타내는 임의의 데이터를 포함할 수 있다. 예를 들어, 객체를 나타내는 깊이 데이터는 객체의 표면상의 다른 뷰포인트들에 대한 좌표 시스템(예를 들어, 특정 캡처 디바이스와 관련된 좌표 시스템, 3D 장면과 관련된 글로벌 좌표 시스템, 등)에 대한 좌표들을 포함할 수 있다.
뷰(402-1)로부터 컬러 및 깊이 프레임들을 캡처하는 캡처 디바이스(502)에서와 같이, 다른 캡처 디바이스들이 다른 뷰들(402)과 관련된 각 유리한 뷰포인트들로부터 컬러 및 깊이 프레임들을 마찬가지로 캡처하기 위하여 다른 뷰들(402)(예를 들어, 도 4의 뷰들(402-2 내지 402-6))과 관련될 수 있다는 것이 이해될 것이다. 일부 예들에서, 표면 데이터 프레임들은 서로 동기가 맞추어지도록 동일한 트정 시점에 다른 뷰들(402)과 연관된 다른 캡처 디바이스들에 의해 캡처될 수 있다. 본 명세서에서 사용되는 바와 같이, 표면 데이터 프레임들이 정확히 동일한 순간에 캡처되지 않더라도, 표면 데이터 프레임들은, 주제(예를 들어, 실세계 장면 내의 실세계 객체)를한 시점(즉, 일정 범위의 시간에 걸쳐 주제를 표현하는 것과는 반대로)에 효과적으로 표현하기 위해 표면 데이터 프레임들이 시간 내에 충분히 근접하게 캡처될 때, "동기를 맞춰" 또는 "동일한" 특정 시점에 캡처되는 것으로 언급될 수 있다. 예를 들어, 특정 주제가 얼마나 동적인지(예를 들어, 하나 이상의 실세계 객체들이 실세계 장면 등을 통해 얼마나 빨리 움직이는 지)에 따라, 표면 데이터 프레임들은, 서로 예를 들어, 수십 또는 수백 밀리 초 내에 캡처될 때, 또는 특정 구현을 서비스할 수 있는 다른 적절한 타임프레임(예를 들어, 마이크로 초, 밀리 초, 초 등) 내에 캡처될 때, 동일한 특정 시점에 캡처된 것으로 간주될 수 있다. 이와 같이, 표면 데이터 프레임들 각각은, 표면들이 각각의 캡처 디바이스가 관련된 뷰(402)의 각각의 유리한 뷰포인트로부터 특정 시점에 나타날 때, 실세계 장면 내에 포함된 실세계 객체의 표면들의 컬러 데이터 및 깊이 데이터를 나타낼 수 있다.
도 5b 및 도 5c는 캡처 디바이스(502)에 의해 캡처되고 컬러 및 깊이 프레임들 내에(즉, 표면 데이터 프레임 내에) 포함된 데이터의 예시적인 그래픽 묘사들을 도시한다. 구체적으로, 도시된 바와 같이, 표면 데이터 프레임에 통합된 컬러 프레임은 컬러 데이터(508)(도 5b에 도시된)를 포함할 수 있는 반면, 표면 데이터 프레임에 통합된 깊이 프레임은 깊이 데이터(510)(도 5c에 도시된)를 포함할 수 있다.
도 5b에서, 컬러 데이터(508)는 캡처 디바이스(502) 내의 2D 컬러 캡처 디바이스(504)에 의해 뷰(402-1)의 뷰포인트로부터 보여진 실세계 장면(예를 들어, 객체(204-1) 포함)을 도시한다. 컬러 데이터(508)가 비디오 프레임들의 하나의 시퀀스에서 단일 비디오를 나타낼 수 있기 때문에, 컬러 데이터(508)에 의해 표현된 객체(204-1)의 묘사는 객체(204-1)(예를 들어, 실세계 장면과 관련된 다른 객체들도)가 특정 시점에 뷰(402-1)의 유리한 뷰포인트로부터 어떻게 보여지는지를 나타낼 수 있다. 도 5b에 하나의 이미지로 도시되었지만, 컬러 데이터(508)는 임의의 적절한 형태로 캡처, 인코딩, 포맷, 송신 및 표현될 수 있음을 이해할 것이다. 예를 들어, 컬러 데이터(508)는 표준 비디오 인코딩 프로토콜, 표준 이미지 포맷, 등에 따라 포맷된 디지털 데이터 일 수 있다. 일부 예들에서, 컬러 데이터(508)는 실세계 장면에서 객체들의 컬러 이미지(예를 들어, 컬러 사진과 유사)를 나타낼 수 있다. 대안적으로, 다른 예들에서, 컬러 데이터(508)는 객체(예를 들어, 흑백 사진과 유사한)를 나타내는 그레이 스케일 이미지일 수 있다.
도 5c에서, 깊이 데이터(510)는 또한 (컬러 데이터(508)와 같이) 뷰(402-1)의 뷰포인트로부터 실세계 장면(객체(204-1)를 포함)을 도시한다. 그러나, 실세계 장면 내에서 객체들의 눈에 보이는 외관을 표현하는 것(예를 들어, 빛이 객체(204-1)의 표면과 어떻게 상호작용하는지를 컬러 또는 그레이 스케일로 나타내는 것)이 아니라, 깊이 데이터(510)는, 예를 들어, 캡처 디바이스(502)의 깊이 캡처 디바이스(506)에 대해, 객체(예를 들어, 뷰(402-1)로부터 볼 수 있는 다른 객체들뿐만 아니라 객체(204-1))의 표면들 위의 각각의 점의 깊이(즉, 거리 또는 위치)를 나타낼 수 있다. 컬러 데이터(508)에 대해, 깊이 데이터(510)는 임의의 적절한 형태로 캡처, 인코딩, 포맷, 송신 및 표현될 수 있다. 예를 들어, 도시된 바와 같이, 깊이 데이터(510)는 그레이 스케일 이미지 데이터(예를 들어, 깊이 캡처 디바이스(506)에 의해 캡처된 각각의 픽셀에 대해 6개 또는 8개의 비트들)에 의해 표현될 수 있다. 그러나, 광이 객체(204-1)의 표면들(즉, 컬러 데이터(508)로 표현된)로부터 어떻게 반사되는지를 나타내는 것이 아니라, 깊이 데이터(510)의 그레이 스케일 이미지는 이미지의 각 픽셀에 대해, 그 픽셀에 의해 표현된 점이 깊이 캡처 디바이스(506)로부터 얼마나 멀리 떨어져 있는지를 나타낼 수 있다. 예를 들어, 깊이 캡처 디바이스(506)에 더 가까운 점들은 회색의 더 어두운 음영을 나타내는 값들(예를 들어, 0b111111가 검은 색을 나타내는 6 비트 구현의 경우 0b111111에 더 가까운 이진 값들)로 표현될 수 있다. 반대로, 깊이 캡처 디바이스(506)로부터 더 먼 점들은 회색의 더 밝은 음영을 나타내는 값들(예를 들어, 0b000000이 흰색을 나타내는 6 비트 구현의 경우 0b000000에 더 가까운 이진 값들)로 표현될 수 있다.
도 6a 및 도 6b는 캡처 디바이스(502)에 의해 생성된 3D 장면(202)(예를 들어, 뷰(402-1)의 뷰포인트로부터)을 나타내는 예시적인 표면 데이터 프레임 시퀀스(600-1c)를 도시한다. 특히, 도 6a는 표면 데이터 프레임 시퀀스(600-1c)에 포함될 수 있는 일정한 특정 데이터를 도시하는 표면 데이터 프레임 시퀀스(600-1c)의 상세한 그래픽 표현을 도시하는 반면, 도 6b는 표면 데이터 프레임 시퀀스(600-1c)의 내용의 많은 세부사항들을 구체적으로 도시하지 않은 표면 데이터 프레임 시퀀스(600-1c)의 통합된 그래픽 표현을 도시한다. 표면 데이터 프레임 시퀀스(600-1c)가 3D 장면(202)이 기반으로 하는 실세계 장면의 뷰(402-1)로부터 캡처된 표면 데이터 프레임 시퀀스를 구체적으로 도시하지만, 본 명세서에 기술된 다른 표면 데이터 프레임 시퀀스들(예를 들어, 다른 캡처된 표면 데이터 프레임 시퀀스들뿐만 아니라 가상화된 표면 데이터 프레임 시퀀스들)이 도 6a에 도시된 것과 유사한 구성요소들을 포함할 수 있음이 이해될 것이다.
도 6에 명시적으로 도시되지 않았지만 표면 데이터 프레임 시퀀스(600-1c)에 대해 도시된 것과 유사한 유형들의 데이터를 포함하는 표면 데이터 프레임 시퀀스들이 또한 본 명세서에서 표면 데이터 프레임 시퀀스(600)로 지칭될 수 있음이 이해될 것이다. 이를 위해, 표면 데이터 프레임 시퀀스, "600-Nc"는 뷰(402-N)로부터의 '캡'처된('c'aptured) 표면 데이터 프레임 시퀀스를 지칭하고, 표면 데이터 프레임 시퀀스, "600-Nv"는 뷰(702-N)와 연관된 '가'상화된('v'irtualized) 표면 데이터 프레임 시퀀스(아래에 설명되는)를 지칭하는 개념이 사용될 것이다. 이와 같이, 예를 들어, 도 6a에 명시적으로 도시된 표면 데이터 프레임 시퀀스(600-1c)는 뷰(402-1)와 관련된 (즉, 이로부터 캡처된) 캡처된 표면 데이터 프레임 시퀀스이다.
도 6a에 도시된 바와 같이, 표면 데이터 프레임 시퀀스(600-1c)는 컬러 데이터, 깊이 데이터 및 메타데이터를 포함하는 다양한 유형들의 데이터를 포함할 수 있다. 구체적으로, 표면 데이터 프레임 시퀀스(600-1c)는 컬러 프레임 시퀀스(602), 깊이 프레임 시퀀스(604) 및 캡처 파라미터들(606)의 한 세트를 포함하는 것으로 도시되었다. 표면 데이터 프레임 시퀀스(600-1c)가 도 6a에 명시적으로 도시되지 않은 다른 유형들의 데이터(예를 들어, 캡처된 오디오 데이터, 캡처 파라미터들의 세트(606) 이외의 다른 메타데이터, 등)를 더 포함할 수 있음을 이해할 것이다. 부가적으로, 표면 데이터 프레임 시퀀스(600-1c) 내에 포함된 데이터가 임의의 적절한 방식으로 배열되거나 포맷될 수 있다는 것이 이해될 것이다. 예를 들어, 도시된 바와 같이, 표면 데이터 프레임 시퀀스(600-1c) 내에 포함된 데이터는 하나의 컬러 프레임 시퀀스 및 하나의 깊이 프레임 시퀀스로서 배열될 수 있다. 다른 예들에서, 단일 캡처 디바이스는 (예를 들어, 캡처되는 실세계 장면의 시야의 다른 부분들을 커버하기 위해) 다중 컬러 프레임 시퀀스들 및/또는 다중 깊이 프레임 시퀀스들을 출력할 수 있다. 또 다른 예들에서, 표면 데이터 프레임 시퀀스(600-1c)의 데이터는 각각이 특정 컬러 프레임, 특정 깊이 프레임 및 특정 메타데이터(예를 들어, 캡처 파라미터들의 세트(606)를 나타내는 데이터)를 포함하는 통합 표면 데이터 프레임들의 시퀀스로서, 또는 특정 구현을 서비스할 수 있다 다른 방식들로 배열될 수 있다.
컬러 프레임 시퀀스(602)의 각각의 컬러 프레임 내에 포함된 데이터는 도 5와 관련하여 위에서 기술된 컬러 데이터(508)와 유사할 수 있다. 그러나, 컬러 프레임 시퀀스(602) 내의 각각의 컬러 프레임은, 컬러 프레임 시퀀스(602)가 뷰(402-1)로부터 실세계 장면의 비디오-형 표현을 형성할 수 있도록, 약간 다른 시간에 캡처될 수 있다. 유사하게, 깊이 프레임 시퀀스(604)의 각각의 깊이 프레임 내에 포함된 데이터는, 깊이 프레임 시퀀스(604)가 뷰(402-1)로부터 실세계 장면의 다른 비디오-형 표현을 형성할 수 있도록, 깊이 프레임 시퀀스(604) 내의 각각의 깊이 프레임이 약간 다른 시간들(예를 들어, 컬러 프레임 시퀀스(602)의 컬러 프레임들이 캡처되는 시간과 동기가 맞춰진 시간들)에 캡처될 수 있다는 점을 제외하고, 깊이 데이터(510)와 유사할 수 있다.
표면 데이터 프레임 시퀀스(600-1c) 내에 포함된 캡처 파라미터들의 세트(606)는 표면 데이터 프레임 시퀀스(600-1c)가 캡처되는 뷰(즉, 이 경우 뷰(402-1))를 설명하는 메타데이터를 포함할 수 있다. 전술한 바와 같이, 시스템(100)은 프레임 시퀀스 서브세트들 및/또는 가상 현실 데이터세트들의 생성에서 메타데이터에 액세스하여 이를 사용할 수 있다. 예를 들어, 시스템(100)은 메타데이터에 기초하여 어떤 표면 데이터 프레임 시퀀스들이 다른 프레임 시퀀스 서브세트들 포함될 것인지를 선택할 수 있고, 차례로 이들 프레임 시퀀스 서브세트들에 기초하여 다른 가상 현실 데이터세트들을 생성할 수 있다. 캡처 파라미터들의 세트(606)에 포함된 메타데이터는, 표면 데이터 프레임 시퀀스(600-1c) 내에 포함된 표면 데이터 프레임들이 캡처된 위치 및/또는 방법의 다양한 양상을 나타내는 다양한 파라미터들 중 임의의 것을 포함할 수 있다. 캡처 파라미터들의 세트(606) 내에 포함된 캡처 파라미터들은 특정 구현을 서비스할 수 있는 실세계 장면의 각각의 뷰와 관련된 임의의 적절한 캡처 파라미터들을 포함할 수 있다.
예를 들어, 캡처 파라미터들의 세트(606)는 3D 장면(202)의 뷰(402-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 3D 장면(202)에 대한 위치를 나타내는 캡처 파라미터를 포함할 수 있다. 다른 예로서, 캡처 파라미터들의 세트(606)는 3D 장면(202)의 뷰(402-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 각도(예를 들어, 캡처 각도)를 나타내는 캡처 파라미터를 포함할 수 있다. 유사하게, 다른 예로서, 캡처 파라미터들의 세트(606)는 3D 장면(202)의 뷰(402-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 시야를 나타내는 캡처 파라미터를 포함할 수 있다. 또한, 또 다른 예로서, 캡처 파라미터들의 세트(606)는 3D 장면(202)의 뷰(402-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 이미지 품질을 나타내는 캡처 파라미터를 포함할 수 있다. 또 다른 예들에서, 캡처 파라미터들의 세트(606)는 3D 장면(202)의 뷰(402-1)에 대응하는 컬러 및 깊이 프레임들이 캡처될 수 있게 하는 다른 양상들을 나타내는 임의의 다른 적절한 캡처 파라미터들을 포함할 수 있다. 예를 들어, 캡처 파라미터들의 세트(606)는 뷰(402-1)에 대응하는 컬러 및 깊이 프레임들이 캡처되는 특정 인코딩, 포맷, 프레임 레이트, 등을 나타내는 파라미터들을 포함할 수 있다.
캡처 파라미터들의 세트(606)는 특정 구현을 서비스할 수 있는 임의의 방식으로 표면 데이터 프레임 시퀀스(600-1c) 내에 포함된 다른 데이터와 통합될 수 있다. 예를 들어, 일부 예들에서, 캡처 파라미터들의 세트(606)는 컬러 프레임 시퀀스(602) 및 깊이 프레임 시퀀스(604) 내에 각각 포함된 각각의 컬러 프레임 및/또는 깊이 프레임과 통합(예를 들어, 반복)될 수 있다. 다른 예들에서, 캡처 파라미터들의 세트(606)는 각각의 개별 표면 데이터 프레임과 통합될 수 있다. 이러한 방식들로, 캡처 파라미터들의 세트(606)는, 뷰들(402)이 표면 데이터 프레임 시퀀스(600-1c)에 의해 표현된 시간의 기간 동안 동적으로 변하더라도, 각각 및 매 프레임에 대해 캡처 파라미터들을 유연하게 설명할 수 있다. 다른 예들에서, 캡처 파라미터들의 세트(606)는 표면 데이터 프레임 시퀀스(600-1c)에 의해 표현된 시간의 기간에 걸쳐 정적일 수 있다. 이러한 예들에서, 캡처 파라미터들의 세트(606)는 프레임 시퀀스들(602 및 604)의 프레임들과 별도로 송신될 수 있다. 예를 들어, 캡처 파라미터들의 세트(606)는, 컬러 및 깊이 프레임의 송신 이전에, 컬러 및 깊이 프레임들의 시작시, 컬러 및 깊이 프레임들의 송신 후, 및/또는 다른 적절한 시간과 같이, 컬러 및 깊이 프레임들의 송신과 별도로 송신될 수 있다.
상술한 바와 같이, 도 6b는 표면 데이터 프레임 시퀀스(600-1c)의 통합된 그래픽 표현을 도시한다. 구체적으로, 도 6b의 표면 데이터 프레임 시퀀스(600-1c)의 표현은 표면 데이터 프레임 시퀀스(600-1c)를 특정 뷰(즉, 뷰 402-1)로부터 볼 때 블록의 전방에서 3D 장면(202)의한 섹션(즉, 실세계 객체(204-1)을 포함하는 섹션)을 갖는 하나의 블록으로서 도시한다. 이러한 유형의 표면 데이터 프레임 시퀀스 표현은 아래에 기술된 도면들에서 추가적인 표면 데이터 프레임 시퀀스들을 설명하는데 유용할 것이다. 그러나, 도 6b에 도시된 통합된 그래픽 표현을 사용하여 표현된 임의의 표면 데이터 프레임 시퀀스가 도 6a와 관련하여 도시 및/또는 기술된 동일한 유형들의 데이터 모두를 전술한 배열들 중 임의의 것으로 포함할 수 있음이 이해될 것이다.
전술한 바와 같이, 3D 장면(202)이 실세계 장면에 대하여 다른 위치들(예를 들어, 도 4의 뷰들(402)과 관련된 위치들)에 배치된 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 요소들을 포함하는 구현에서, 시스템(100)은 캡처 디바이스들에 의해 캡처된 표면 데이터 프레임 시퀀스들(예를 들어, 표면 데이터 프레임 시퀀스(600-1c)와 같은)을 설명하는 메타데이터에 액세스할 수 있다. 따라서, 이러한 메타데이터에 기초하여, 이들 캡처된 표면 데이터 프레임 시퀀스들 중 하나 이상은 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트 내에 포함될 수 있다. 그러나, 뷰들(402)로부터 캡처된 표면 데이터 프레임 시퀀스들이 3D 장면(202)의 모든 양상들을 적절히 커버할 수 있지만, 시스템(100)이 이들 캡처된 표면 데이터 프레임 시퀀스들에 포함된 모든 데이터를 포함하는 가상 현실 데이터세트를 제공하는 것은 비효율적이거나 비현실적이거나 그렇지 않으면 바람직하지 않을 수 있다. 예를 들어, 각각의 뷰(402)와 연관된 캡처 디바이스들(예를 들어, 전술한 캡처 디바이스(502)와 같은)은 매우 많은 양의 매우 상세한 고품질 데이터를 캡처하도록 구성될 수 있어서, 모든 캡처된 데이터가 임의의 특정 미디어 플레이어 디바이스에 제공되는 것이 (예를 들어, 네트워크 대역폭 제한들, 데이터 사용 비용들, 미디어 플레이어 디바이스 성능들, 등으로 인해) 불가능하거나 실용적이지 않을 수 있다.
따라서, 전술한 바와 같이, 캡처된 표면 데이터 프레임 시퀀스들로 표현된 대량의 데이터는, 미디어 플레이어 디바이스들을 (예를 들어, 덜 중복되거나 및/또는 관련없는 데이터를 포함시킴으로써) 제공하는 것이 훨씬 실용적일 수 있는 3D 장면(202)의 다른 뷰들의 가상화된 표현들(예를 들어, 하나 이상의 가상 표면 데이터 프레임 시퀀스들)을 생성하는데 사용될 수 있다. 따라서, 일부 예들에서, 복수의 이용 가능한 표면 데이터 프레임 시퀀스들(즉, 프레임 시퀀스 서브세트들에 포함된 표면 데이터 프레임 시퀀스들가 선택되는)은, 물리적 캡처 디바이스들에 의해 캡처된 실세계 장면의 뷰들(402)과 정렬되지 않은 실세계 장면의 뷰들을 묘사하는 하나 이상의 가상화된 표면 데이터 프레임 시퀀스들을 포함할 수 있다. 유사하게, 실세계 장면의 요소들을 포함하지 않는 3D 장면(202)의 구현들에서, 모든 표면 데이터 프레임 시퀀스들은 가상(즉, 컴퓨터-생성, 가상 객체들 및 풍경에 기초하는)일 수 있다.
도 7은 뷰들(402)(즉, 위에서 상술한 캡처된 표면 데이터 프레임 시퀀스들에 대응하는)을 포함하고 추가적인 예시적인 뷰들(702)(예를 들어, 뷰들(702-1 내지 702-38))을 더 포함하는 3D 장면(202)의 복수의 뷰들을 묘사하는데, 추가적인 예시적인 뷰들(702)은, 시스템(100)이 본 명세서에 기술된 다른 가상 현실 경험들을 위해 가상 현실 데이터를 맞춤화할 때, 시스템(100)에 이용될 수 있는 가상화된 표면 데이터 프레임 시퀀스에 대응한다. 편의상, 도 7은 뷰(702)로부터 캡처된 가상화된 표면 데이터 프레임 시퀀스들이 다른 영역들(302)과 관련된 다양한 가상 현실 경험들에 어떻게 맞춤화될 수 있는지를 설명하기 위해 3D 장면(202)의 영역들(302)(도 3에 대해 상술된)을 더 도시한다.
도 7에서, 뷰들(702)은 전술한 뷰들(402)과 유사한 외관 및 기능을 갖는다. 그러나, 물리적 캡처 디바이스들과 관련될 수 있는 뷰들(402)을, 캡처된 표면 데이터 프레임 시퀀스들에 기초하여 시스템(100)에 의해 생성되는 (즉, 물리적 캡처 디바이스에 의해 직접 캡처되는 것과 반대로) 가상화된 표면 데이터 프레임 시퀀스들과 관련될 수 있는 뷰들(702)과 구별하기 위해, 뷰들(402)은 원들로 도시되는 반면, 뷰들(702)은 정사각형들로 묘사된다. 또한, 동시에 각각의 뷰(402)는 뷰들(702)이 약어 표기법을 사용하여 도 7에서 라벨링되는 것과 같이, 개별적으로 라벨링된다. 구체적으로, 적은 수의 뷰들(702)(즉, 뷰(702-1 및 702-2))에 괄호로 언급된 바와 같이, 각각의 뷰(702-N)는 "702-" 기수가 아닌 대응하는 수("N")로만 라벨링된다. 따라서, 뷰(702-1)는 정사각형으로 표시된 "1"로 표현되고, 뷰(702-2)는 정사각형으로 표시된 "2"로 표현되고, 나머지도 이와 같다. 본 명세서에서 사용되는 바와 같이, 가상화된 표면 데이터 프레임 시퀀스는 표면 데이터 프레임 시퀀스가 연관되는 뷰(702)로부터 "캡처" 또는 "가상화"되었다고 말할 수 있다. 뷰들(402)로부터 물리적 캡처 디바이스들에 의해 캡처된 표면 데이터 프레임 시퀀스들(즉, "캡처된 표면 데이터 프레임 시퀀스들")과 대조적으로, 뷰(702)로부터 "캡처된" 것으로 언급된 표면 데이터 프레임 시퀀스들은 물리적 캡처 디바이스(예를 들어, 캡처 디바이스(502)와 같은)에 의해 직접 캡처되지 않을 수 있고, 오히려 다른 표면 데이터 프레임 시퀀스들(예를 들어, 캡처된 표면 데이터 프레임 시퀀스들) 내에 포함된 데이터에 기초하여 가상화(예를 들어, 렌더링)될 수 있음이 이해될 것이다.
뷰들(402)과 같이, 뷰들(702) 각각은, 각각의 표면 데이터 프레임 시퀀스들이 캡처(즉, 가상화)되는 위치, 각도, 시야, 이미지 품질, 등과 같은 각 뷰들(702)로부터 캡처된 표면 데이터 프레임 시퀀스들의 양상들을 한정하는 캡처 파라미터들의 다른 각각의 세트와 연관될 수 있다. 전술한 바와 같이, 각각의 뷰(702)와 연관된 특정 캡처 파라미터들(예를 들어, 캡처 각도 및 시야 파라미터들)은 각 뷰(702)로부터 나오는 점선들로 제안될 수 있다. 따라서, 도 7에 의해 명백해지는 바와 같이, 3D 장면이 물리적 데이터 캡처에 의해 뷰들(402)로부터 캡처 될뿐만 아니라, 가상화에 의해 뷰들(702)로부터 캡처될 때, 시스템(100)은 다른 가상 현실경험들에 대해 맞춤화된 프레임 시퀀스 서브세트들을 선택해야 하는 비교적 큰 복수의 표면 데이터 프레임 시퀀스들을 액세스할 수 있다.
이를 위해, 도 8은 경험 선택 데이터 구조 내의 다른 엔트리들 대응하는 다른 가상 현실 데이터세트들이 기초하는 예시적인 프레임 시퀀스 서브세트들(800)(예를 들어, 프레임 시퀀스 서브세트들(800-1 내지 800-18))을 도시한다. 도 8에 도시된 바와 같이, 각각의 프레임 시퀀스 서브세트(800)(즉, 표의 각 행)는 특정 엔트리 번호(예를 들어, 엔트리 번호들(1 내지 18)), 경험 파라미터들의 특정 세트(즉, "경험 파라미터" 열 아래에 요약된 파라미터들), 및 표면 데이터 프레임 시퀀스들의 서브세트(즉, "표면 데이터 프레임 시퀀스들"의 열에 열거된)와 연관될 수 있다. 이 예에서, 엔트리들(1 내지 18)은 각각 3D 장면(202)의 영역들(302-1 내지 302-18)과 연관된 가상 현실 경험들에 부합한다. 구체적으로, 엔트리(1)는 영역(302-1)(경험 파라미터 열에서 "Loc 1"로 열거된)에 대응할 수 있고, 엔트리(2)는 영역(302-2)(경험 파라미터 열에서 "Loc 2"로 열거된)에 대응할 수 있고, 나머지도 이와 같다.
도 8의 예에서, 가장 잠재적인 경험 파라미터들(예를 들어, 가상 현실 경험을 제공하기 위해 어느 디바이스가 사용되는지와 관련된 파라미터들, 장면의 지오메트리와 관련된 파라미터들, 등)은 프레임 시퀀스 서브세트(800) 마다 일정하다(예를 들어, 각 프레임 시퀀스 서브세트(800)는 "std 디바이스", "std 장면", 등을 포함한다). 그러나, 각각이 더 많은 분산을 갖는 경험 파라미터들의 다른 세트들을 포함하는 제공 가능한 많은 가상 현실 경험들은 특정 구현들에서 지원될 수 있다는 것이 이해될 것이다. 또한, 도 8에 도시된 경험 파라미터들은 오로지 예시적이고, 도 8에 도시된 것보다 추가적이거나 또는 더 적은 경험 파라미터들이 다양한 구현들에 포함될 수 있다는 것이 이해될 것이다. 예를 들어, 특정 구현들에서, 3D 장면(202) 내의 표면들은 3D 장면의 특정 객체들 반드시 구별하지 않고 표현될 수 있다. 이와 같이, 이러한 구현들에서, 3D 장면(202) 내에 포함된 객체의 속성을 나타내는 경험 파라미터가 사용되지 않을 수 있다.
도 8의 각 프레임 시퀀스 서브세트(800)에 대해 선택될 것으로 도시된 표면 데이터 프레임 시퀀스들은 뷰들(702)과 관련된 가상화된 표면 데이터 프레임 시퀀스들을 지칭할 수 있다. 따라서, 예를 들어, 영역(302-1)과 관련된 가상 현실 경험에 맞춤화된 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트(800-1)는 영역(302-1)에 맞춤화된 세부사항들을 제공하는 뷰들(702)로부터 캡처된 표면 데이터 프레임 시퀀스들을 포함하는 것으로 도시된다. 구체적으로, 프레임 시퀀스 서브세트(800-1)는 뷰들(702-1, 702-2, 702-9, 702-10, 702-16 및 702-32)로부터 캡처된 표면 데이터 프레임 시퀀스들을 포함한다. 위에서 언급한 바와 같이, 이들 표면 데이터 프레임 시퀀스들은 본 명세서에서 각각 표면 데이터 프레임 시퀀스들(600-1 v, 600-2v, 600-9v, 600-1Ov, 600-16v 및 600-32v)로 지칭될 수 있다.
프레임 시퀀스 서브세트(800-1)에 대해 캡처된 표면 데이터 프레임 시퀀스들(600)은, 영역(302-1)과 관련된 가상 현실 경험에 맞춤화된 가상 현실 데이터세트가 기초할 수 있는 데이터를 집합적으로 포함할 수 있다. 예를 들어, 사용자가 영역(302-1) 내에서 그리고 그 주위에서 3D 장면(202)의 양상들을 경험(예를 들어,보고, 상호작용하는, 등)할 때, 이들 양상들과 관련된 높은 레벨들의 세부사항은 표면 데이터 프레임 시퀀스들(600-1v, 600-2v, 600-9v 및 600-1Ov)에 의해 표현될 수 있다. 이들 표면 데이터 프레임 시퀀스들은 또한, 사용자가 영역(302-1)으로부터 3D 장면(202)의 다른 영역들을 바라볼 때, 적절한 레벨들의 세부사항(즉, 영역(302-1)의 가상의 뷰포인트에서 이해할 수 있는 만큼 하지만 그 보다 많지 않은 세부사항을 나타내는 데이터)을 제공할 것이다. 다른 각도들을 포착하는 적은 수의 표면 데이터 프레임 시퀀스들은 또한, 사용자가 3D 장면(202) 외부의 영역을 (예를 들어, 표면 데이터 프레임 시퀀스(600-32v)의 경우 페이지의 상부를 향해, 또는 표면 데이터 프레임 시퀀스(600-16v)의 경우 페이지 왼쪽을 향해) 보는 것을 허용하기 위해, 프레임 시퀀스 서브세트(800-1) 내에 포함될 수 있다. 동시에, 프레임 시퀀스 서브세트(800-1)는 영역(302-1)으로부터 떨어진 3D 장면(202)의 영역들에 대한 높은 레벨들의 세부사항을 나타내는 비교적 적은 데이터를 포함한다. 예를 들어, 표면 데이터 프레임 시퀀스(600-29v)(뷰(702-29)와 관련된)는 영역(302-18)과 관련된 가상 현실 경험에 대해 객체(204-2)에 관한 적절한 양의 세부사항을 제공할 수 있고, 표면 데이터 프레임 시퀀스(600-29v)의 데이터는 영역(302-1)과 관련된 가상 현실 경험과 관련이 없을 수 있다. 따라서, 도 8에 도시된 바와 같이, 표면 데이터 프레임 시퀀스(600-29v)는 프레임 시퀀스 서브세트(800-1)에서 제외되지만, 프레임 시퀀스 서브세트(800-18) 내에 포함된다.
프레임 시퀀스 서브세트(800-1)에 포함된 표면 데이터 프레임 시퀀스들만이 상세하게 설명되었지만, 다양한 다른 프레임 시퀀스 서브세트들(800)(즉, 도 8에 도시되지만 도 8에 명시적으로 도시되지 않은 프레임 시퀀스 서브세트들(800))에 대한 표면 데이터 프레임 시퀀스들이, 영역(302-1) 외에 3D 장면(202)의 다른 영역들(302)에서 가상 현실 경험들에 맞춤화된 가상 현실 데이터세트들을 마찬가지로 제공하기 위하여, 유사한 방식으로 선택될 수 있음이 이해될 것이다. 도 8의 각 프레임 시퀀스 서브세트(800)에 대해 선택될 것으로 도시된 표면 데이터 프레임 시퀀스들은 단지 예시일 뿐이다. 특정 구현들에서, 프레임 시퀀스 서브세트와 연관된 가상 현실 경험의 특성에 따라 각 프레임 시퀀스 서브세트(800)에 대해 다른 수의 표면 데이터 프레임 시퀀스들이 선택될 수 있다는 것이 이해될 것이다. 예를 들어, 특정 가상 현실 경험을 위해 선택된 표면 데이터 프레임 시퀀스들의 수는 3D 장면의 지오메트리 구조에 의해 부분적으로 결정될 수 있어서, 더 적은 수의 표면 데이터 프레임 시퀀스들이 3D 장면의 에지들을 따라 또는 구석들에서 가상 현실 경험을 위해 선택되는 반면, 더 많은 표면 데이터 프레임 시퀀스들이 3D 장면의 중앙에서 또는 많은 수의 객체들이 집중된 곳, 등에서 가상 현실 경험들을 위해 선택된다.
프레임 시퀀스 서브세트들(800)은 (즉, 프레임 시퀀스 서브세트들에 포함시키기 위해 표면 데이터 프레임 시퀀스들을 선택함으로써) 생성될 수 있고/있거나 임의의 방식으로 다른 가상 현실 경험들을 제공하여 특정 구현을 서비스할 수 있는 미디어 플레이어 디바이스에 제공될 수 있다. 예를 들어, 특정 구현들에서, 복수의 제공 가능한 가상 현실 경험들과 관련된 경험 파라미터들의 복수의 세트들은 사용자들과 관련된 미디어 플레이어 디바이스에 제공되기 전에, 식별되고 미리 결정될 수 있다. 이들 예들에서, 미디어 플레이어 디바이스들은, 사용자가 3D 장면(202)을 통해 가상 뷰포인트를 이동시킬 때 사전 결정된 가상 현실 경험들에 맞춤화된 사전 결정된 가상 현실 데이터세트들에 액세스할 수 있다. 부가적으로 또는 대안적으로, 특정 가상 현실 경험들과 관련된 경험 파라미터들의 적어도 일부 세트들은 3D 장면(202)으로 동적으로 식별될 수 있고, 그에 포함된 객체들(204)은 사용자들의 가상 뷰포인트들과 함께 동적으로 변화한다. 이들 예들에서, 시스템(100)은 (예를 들어, 인공지능 또는 다른 적절한 기술들을 사용하여) 3D 장면(202)의 추가 뷰와 연관된 표면 데이터 프레임 시퀀스가 가상화되어야 한다고 것, 미리 결정되지 않은 가상 현실 경험과 연관된 추가 프레임 시퀀스 서브세트가 생성되어야 한다는 것, 등을 결정할 수 있다. 특정 예들에서, 시스템(100)은 새로운 표면 데이터 프레임 시퀀스들 또는 프레임 시퀀스 서브세트들이 실제로 필요하기 이전에 생성되어야 한다고 예측적으로 예상할 수 있다.
시스템(100)의 하나의 이러한 동적 구현의 예시로서, 프레임 시퀀스 서브세트(800-8)는 커스텀 위치(즉, 영역(302-8) 전체를 나타낼 수 있는 "Loc 8"과는 대조적으로, "Loc 8(커스텀)")와 연관된 것으로 도시되어있다. 이는 영역(302-8) 내에 객체(204-1)의 존재에 대해, 영역(302-8)의 다른 부분들에 위치된 가상 뷰포인트들은 다른 세부사항들(예를 들어, 객체(204)의 다른 측면들 상의 세부사항들)이 눈에 보일 수 있는 다른 유리 뷰포인트들과 연관될 수 있기 때문이다. 실제로, 객체(204-1)가 영역(302-8) 내에 위치하기(따라서 영역(302-8) 내의 임의의 가상 뷰포인트에 매우 근접하기) 때문에, 시스템(100)은 프레임 시퀀스 서브세트(800-8)가 뷰들(702 또는 702) 중 어느 하나와 다른 맞춤화된 뷰로부터 추가적이고 맞춤화된 표면 데이터 프레임 시퀀스를 포함해야 한다고 결정할 수 있다. 예를 들어, 시스템(100)은 객체(204-1)를 향해 기울어진 가상 뷰포인트 데이터(304)의 위치에서 커스텀 뷰를 생성할 수 있고, 도시된 바와 같이, 프레임 시퀀스 서브세트(800-8)에 대해 선택된 표면 데이터 프레임 시퀀스들 내의 이러한 커스텀 뷰로부터 표면 데이터 프레임 시퀀스(즉, 표면 데이터 프레임 시퀀스(600-커스텀)로 지칭되는)를 포함할 수 있다.
특정 가상 현실 데이터세트가 기초하려는 프레임 시퀀스 서브세트(800) 내에 포함을 위해 시스템(100)이 표면 데이터 프레임 시퀀스들(600)을 선택하면, 시스템(100)은 선택된 표면 데이터 프레임 시퀀스들에 임의의 적절한 방식으로 액세스할 수 있다. 예를 들어, 시스템(100)(예를 들어, 관리 설비(104)) 자체는 표면 데이터 프레임 시퀀스들를 캡처 및/또는 가상화할 수 있거나, 시스템(100)은 표면 데이터 프레임 시퀀스들 캡처하는 캡처 디바이스로부터 표면 데이터 프레임 시퀀스들에 직접 액세스할 수 있거나, 시스템(100)은 가상화된 또는 가상 표면 데이터 프레임 시퀀스들을 생성하는 실세계 장면 캡처 시스템 또는 가상 생성 캡처 시스템으로부터의 표면 데이터 프레임 시퀀스들을 액세스할 수 있거나, 또는 시스템(100)은 그렇지 않을 경우 표면 데이터 프레임 시퀀스들에 특정 구현을 서비스할 수 있는 임의의 방식으로 액세스할 수 있다. 선택된 표면 데이터 프레임 시퀀스들에 액세스한 후, 시스템(100)(예를 들어, 관리 설비(104))은 액세스된 표면 데이터 프레임 시퀀스들에 기초하여 특정 가상 현실 데이터세트를 생성할 수 있다. 예를 들어, 아래에서 더 상세히 설명되는 바와 같이, 시스템(100)은 선택된 표면 데이터 프레임 시퀀스들 내에 포함된 컬러 및 깊이 데이터를 나타내는 하나 이상의 비디오 데이터 스트림들을 포함하는 하나 이상의 운송 스트림들을 형성하기 위해 표면 데이터 프레임 시퀀스들을 처리할 수 있다.
일부 예들에서, 특정 가상 현실 경험에 대해 맞춤화된 특정 표면 데이터 프레임 시퀀스들을 선택 및 액세스하고, 특정 가상 현실 경험을 제공하는 미디어 플레이어 디바이스에 의해 사용하기 위해 표면 데이터 프레임 시퀀스들에 기초하여 특정 가상 현실 데이터세트를 생성하는 이러한 프로세스는 특정 3D 장면과 관련된 많은 다른 제공 가능한 가상 현실 경험들에 대해 수행될 수 있다. 예를 들어, 시스템(100)은 도 3 및 도 7에 도시된 각각의 영역(302)과 관련된 각각의 가상 현실 경험에 대한 맞춤화된 가상 현실 데이터세트뿐만 아니라, 다른 가상 현실 데이터세트들(예를 들어, 프레임 시퀀스 서브세트(800-8)와 관련하여 기술된 것과 같은 객체들(204) 근처의 가상 현실 경험을 위한 다른 가상 현실 데이터세트, 위치 이외의 경험 파라미터들에 따라 변하는 다른 가상 현실 데이터세트들, 등)을 생성할 수 있다. 전술한 바와 같이, 일부 예들에서, 이들 가상 현실 데이터세트들 중 다수 또는 전부는 미디어 플레이어 디바이스들에 의해 요청되기 전에 미리-한정되고 미리-생성될 수 있는 반면에, 다른 예들에서, 이들 가상 현실 데이터세트 중 일부 또는 전부는 시스템(100)에 의해 결정된 바와 같이 다른 미디어 플레이어 디바이스의 요구에 기초하여 동적으로 생성될 수 있다.
여하튼, 시스템(100)이 다양한 가상 현실 데이터세트들에 관한 알려진 정보를 다른 가상 현실 경험들을 위해 시스템(100)이 가상 현실 데이터를 제공할 수 있는 다양한 미디어 플레이어 디바이스에 이용 가능하게 하는 것이 바람직할 수 있다. 이를 위해, 전술한 바와 같이, 시스템(100)은 각각이 다른 가상 현실 데이터세트에 대응하는 복수의 엔트리들을 갖는 경험 선택 데이터 구조를 생성할 수 있다. 경험 선택 데이터 구조는 미디어 플레이어 디바이스들이 다른 사용자들에게 다른 가상 현실 경험들을 제공할 때 미디어 플레이어 디바이스들에 의한 다른 엔트리들의 동적 선택을 가능하게 하도록 구성될 수 있다.
설명을 위해, 도 9는 시스템(100)에 의해 생성될 수 있는 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로부터 다른 엔트리들의 동적 선택을 가능하게 하도록 구성된 예시적인 경험 선택 데이터 구조(900)를 도시한다. 도시된 바와 같이, 경험 선택 데이터 구조(900)는 트리 구조에서 여러 레벨들의 결정 노드들(902)(예를 들어, 도 7의 뷰들(702)과 관련하여 상술된 표기와 유사한 약식 표기 개념을 사용하여 상위 레벨의 노드(902-1), 중간 레벨의 노드들(902-2 내지 902-4) 및 하위 레벨의 노드들(902-5 내지 902-13))을 포함한다. 트리 구조의 "리프 노드들"에서, 경험 선택 데이터 구조(900)는 복수의 엔트리들(904)(예를 들어, 유사한 약어 개념을 사용하여 라벨링된 엔트리들(904-1 내지 904-18))을 포함한다.
경험 선택 데이터 구조(900)는 3D 장면(202) 내의 위치(예를 들어, 사용자의 특정 가상 뷰포인트의 현재 위치)에 기초하여 엔트리들의 선택을 가능하게 하는 공간 분할 방식으로서 도시되었다. 예를 들어, 영역(302-8) 내에서 가상 뷰포인트(304)를 선택한 (따라서 영역(302-8)과 연관된 가상 현실 경험에 맞춤화된 가상 현실 데이터세트를 이상적으로 수신할) 사용자와 연관된 미디어 플레이어 디바이스는 다음과 같이 경험 선택 데이터 구조(900)를 사용할 수 있다. 먼저, 미디어 플레이어 디바이스는 노드(902-1)에서, 가상 뷰포인트(304)가 3D 장면(202)의 좌측(즉, 중간 또는 우측이 아닌)에 있다고, 따라서 "좌측"이라고 표시된 화살표를 따라 노드(902-2)로 분기할 수 있다고 결정한다. 다음으로, 미디어 플레이어 디바이스는 가상 뷰포인트(304)가 3D 장면(202)의 좌측의 중간 섹션(즉, 상단 또는 하단 섹션이 아닌)에 있다고, 따라서 "중간"이라고 표시된 화살표를 따라 노드(902-6)로분기될 수 있다고 결정할 수 있다. 마지막으로, 미디어 플레이어 디바이스는 가상 뷰포인트(304)가 3D 장면(202)의 좌측의 중간 섹션의 우측(즉, 좌측과 반대)에 있다고, 따라서 "우측"이라고 표시된 화살표를 따라 엔트리(904-8)로 분기할 수 있다고 결정할 수 있다. 엔트리(904-8)는 미디어 플레이어 디바이스가 사용자에게 제공하는 가상 현실 경험(즉, 가상 뷰포인트(304)와 관련된 가상 현실 경험)에 맞춤화된 가상 현실 데이터세트에 대응할 수 있다. 예를 들어, 엔트리(904-8)는 프레임 시퀀스 서브세트(800-8)에 기초한 가상 현실 데이터세트에 대응할 수 있다.
다른 미디어 플레이어 디바이스들이 사용자들에게 다른 가상 현실 경험들을 제공할 때(예를 들어, 사용자가 가상 뷰포인트(304)가 3D 장면(202) 주위로 이동하게 할 때, 및 다른 미디어 플레이어 디바이스들을 사용하는 3D 장면(202)을 경험하는 다른 사용자들이 다른 각각의 가상 뷰포인트들이 3D 장면(202)을 주위로 이동하게 할 때), 미디어 플레이어 디바이스들은 각각 경험 선택 데이터 구조(900)를 통해 엔트리(904-8)의 선택을 위해 구체적으로 상술된 것과 동일한 방식으로 다른 엔트리들(904)을 선택할 수 있다.
경험 선택 데이터 구조(900)는 미디어 플레이어 디바이스들에 의한 엔트리들의 선택을 가능하게 하기 위한 하나의 예시적인 구조를 도시한다. 특히, 경험 선택 데이터 구조(900)는 오로지 가상 뷰포인트의 공간적 위치지정에 기초한 엔트리 선택을 가능하게 하기 위해 공간 분할 방식에 기초한 트리 구조를 사용한다. 경험 선택 데이터 구조(900)의 예에서, 3D 장면(202)은 3D 장면(202)이 그려진 페이지(즉, "좌측", "우측", "상부" 및 "하부"과 같은 디스크립터에 의해 3D 장면(202)의 일부를 참조하는)에 기초하여 배향 시스템에 따라 분할 및 참조된다. 그러나, 3D 장면이 임의의 적합한 배향 시스템에 따라 그리고 특정 구현을 서비스할 수 있는 임의의 적절한 디스크립터들(예를 들어, 수치 디스크립터, 데카르트 좌표 디스크립터 등)을 사용하여 분할 및 참조될 수 있다는 것이 이해될 것이다.
또한, 도 9의 예가 1/3으로 분할되는 3D 장면(202)의 평면을 도시하지만, 효율적인 선택 알고리즘들이 3D 장면(202)이 2로 나눌 수 있는 부분들로 분할되도록 요구하는 특정 구현에서 사용될 수 있음이 이해될 것이다. 예를 들어, 경험 선택 데이터 구조(900)와 유사한 경험 선택 데이터 구조들을 구현하는 트리 구조들은 이진 공간 분할 트리들, 8-트리들, k-차원 트리들 및/또는 특정 구현을 서비스할 수 있는 임의의 다른 적절한 구조들을 사용하여 구현될 수 있다. 또한, 모든 엔트리들(904)이 경험 선택 데이터 구조(900)의 트리 구조 내에서 동일한 깊이 레벨인 것으로 도시되었지만, 엔트리들(904)이 경험 선택 데이터 구조(900) 내의 임의의 깊이 레벨일 수 있고, 특정 구현을 서비스할 수 있는 다른 깊이 레벨일 수 있음이 이해될 것이다. 예를 들어, 더 낮은 깊이 레벨들(즉, 더 적은 수의 노드들(902) 아래)을 갖는 엔트리들(904)이 3D 장면의 더 큰 영역들을 커버할 수 있는 반면, 더 높은 깊이 레벨들(즉, 더 많은 노드들(902) 아래)을 갖는 엔트리들(904)은 3D 장면의 더 작은 영역들을 커버할 수 있다. 특정 예들에서, 트리 구조 및 공간 분할 방식들 이외의 다른 구조들 및/또는 방식들에 기초한 경험 선택 데이터 구조들은 특정 구현을 서비스할 수 있는 것과 유사하게 사용될 수 있다.
미디어 플레이어 디바이스가 경험 선택 데이터 구조(900)(예컨대, 전술한 바와 같이 엔트리(904-8))에 의해 엔트리를 선택하면, 시스템(100)은 미디어 플레이어 디바이스가 엔트리를 선택했음을 검출할 수 있고, 선택된 엔트리에 대응하는 특정 가상 현실 데이터세트를 임의의 적절한 방식으로 미디어 플레이어 디바이스에 제공할 수 있다. 예를 들어, 특정 가상 현실 데이터세트에 대응하는 선택된 엔트리는 미디어 플레이어 디바이스에 의해 특정 가상 현실 데이터세트에 대한 액세스를 허용하는 데이터 링크를 포함할 수 있다. 이와 같이, 시스템(100)은, 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트(예를 들어, 영역(302-8)과 연관된 커스텀 가상 현실 경험에 맞춤화되고 프레임 시퀀스 서브세트(800-8)에 기초한 가상 현실 데이터세트)에 액세스하기 위하여, 선택된 엔트리(예를 들어, 엔트리(904-8)) 내에 포함된 데이터 링크에 기초한 요청을 (예를 들어, 미디어 플레이어 디바이스로부터) 수신할 수 있다. 요청을 수신한 것에 응답하여, 시스템(100)은 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 미디어 플레이어 디바이스에 제공할 수 있다.
일부 구현들에서, 경험 선택 데이터 구조(900)는 대부분의 또는 모든 엔트리들(904)이 한 시점에서 (예를 들어, 공간 분할, 인공 지능, 다른 적절한 기술, 등에 기초하여) 결정된다는 점에서 상대적으로 정적일 수 있고, 이후 각 엔트리(904)에 대한 가상 현실 데이터세트들은 특정 엔트리(904)를 요청하는 미디어 플레이어 디바이스로 스트리밍할 준비가되도록 유지된다. 또한, 전술한 바와 같이, 다른 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트들(예를 들어, 프레임 시퀀스 서브세트들(800))에 포함시키기 위해 특정 예들에서, 표면 데이터 프레임 시퀀스들을 선택하는 것은 동적으로 수행될 수 있다. 이와 같이, 이들 예들에서, 경험 선택 데이터 구조(900)는 유사하게 동적 경험 선택 데이터 구조일 수 있다. 예를 들어, 동적 경험 선택 데이터 구조(900) 내에 포함된 엔트리들(904)은 3D 장면(202)과 관련하여 발생하는 이벤트에 응답하여 변경될 수 있다(예를 들어, 엔트리들은 추가 또는 제거될 수 있고, 엔트리들 내에 포함된 데이터 링크들은 다른 가상 현실 데이터세트에 링크하도록 변경될 수 있는, 등과 같이 변경될 수 있다).
경험 선택 데이터 구조(900)는 특정 구현을 서비스할 수 있는 임의의 방식으로 인코딩되고, 데이터로 표현되고, 제공(즉, 송신)될 수 있다. 예를 들어, 경험 선택 데이터 구조(900)가 동적으로 변화하는 경우, 미디어 플레이어 디바이스들이 경험 선택 데이터 구조(900)의 갱신된 복사본들을 계속 수신하도록, 경험 선택 데이터 구조(900)가 미디어 플레이어 디바이스에 제공되는 가상 현실 데이터세트들의 일부로서 포함(예를 들어, 가상 현실 데이터세트들이 분배될 수 있게 하는 운송 스트림 내에 포함)되는 것이 바람직할 수 있다. 다른 예들에서, 경험 선택 데이터 구조(900)는 가상 현실 데이터세트와 개별로 미디어 플레이어 디바이스로 송신될 수 있거나, 또는 다른 적절한 방식들로 미디어 플레이어 디바이스들에 대한 액세스를 위해 사용 가능하게 구성될 수 있다.
부가적으로, 경험 선택 데이터 구조(900)는 임의의 적절한 시스템 또는 디바이스에 제공되어 사용될 수 있다. 예를 들어, 상기 설명은 클라이언트-측 미디어 플레이어 디바이스들에 의한 경험 선택 데이터 구조(900)의 사용에 주로 집중되었지만, 특정 구현들에서, 경험 선택 데이터 구조(900)는 서버-측 시스템들 및/또는 프로세스들에 제공되어 사용될 수 있음이 이해될 것이다. 일례로서, 시스템(100)은 가상 현실 데이터가 처리 단계들의 시퀀스에서 점진적으로 처리되는 가상 현실 데이터 제공자 파이프라인 내에서 시스템(100)의 하류(즉, 후속 처리 단계에서)의 가상 현실 데이터세트 멀티플렉싱 시스템에 경험 선택 데이터 구조(900)를 제공할 수 있다. 가상 현실 데이터세트 멀티플렉싱 시스템은 시스템(100)과 통신 가능하게 연결될 수 있고, (예를 들어, 가상 현실 데이터세트 멀티플렉싱 시스템의 하류에 있는 하나 이상의 미디어 플레이어 디바이스들에) 다른 가상 현실 경험들에 맞춤화된 하나 이상의 다른 가상 현실 데이터세트들 동적으로 제공하도록 구성될 수 있다. 예를 들어, 가상 현실 데이터세트 멀티플렉싱 시스템은 미디어 플레이어 디바이스들이 각각의 사용자들에게 각각 제공하는 현재의 가상 현실 경험을 나타내는 미디어 플레이어 디바이스들로부터 수신된 동적 데이터에 기초하여 가상 현실 데이터세트들을 제공할 수 있다.
예시하기 위해, 도 10은 예시적인 가상 현실 미디어 제공자 시스템이 가상 현실 데이터세트 멀티플렉싱 시스템을 사용함으로써 다른 가상 현실 경험에 대해 가상 현실 데이터를 맞춤화하는 예시적인 구성(1000)을 도시한다. 구체적으로, 도 10에 도시된 바와 같이, 서버-측 가상 현실 미디어 제공자 시스템(1002)("제공자 시스템(1002)")은 작동 가능하고 통신 가능하게 함께 결합된 캡처 관리 시스템(1004), 시스템(100)의 구현, 및 가상 현실 데이터세트 멀티플렉싱 시스템(1006)("멀티플렉싱 시스템(1006)")을 포함한다. 제공자 시스템(1002)은 네트워크(1008)를 통해 가상 현실 데이터(예를 들어, 특정 가상 현실 데이터세트들)를, 사용자(1012)가 사용하는 미디어 플레이어 디바이스(1010)를 포함하는 하나 이상의 클라이언트-측 미디어 플레이어 디바이스들에 제공(예를 들어, 송신, 스트리밍, 등)할 수 있다.
제공자 시스템(1002) 내에서, 시스템(100)은 다른 프레임 시퀀스 서브세트들에 포함되도록 사용될 수 있는 복수의 표면 데이터 프레임 시퀀스들을 설명하는 메타데이터에 액세스하는 것, 사용자들에게 제공될 수 있는 다른 가상 현실 경험들을 설명하는 경험 파라미터들의 다른 세트들을 식별하는 것, 표면 데이터 프레임 시퀀스가 가상 현실 데이터세트들로 패키징될 수 있도록 표면 데이터 프레임 시퀀스들에 액세스하는 것, 등을 위하여, 캡처 관리 시스템(1004)과 연동될 수 있다. 이를 위해, 캡처 관리 시스템(1004)은, 캡처된 표면 데이터 프레임 시퀀스들(즉, 실세계 장면의 다른 뷰로부터 물리적 캡처 디바이스에 의해 캡처된 표면 데이터 프레임 시퀀스들)을 포함하는 표면 데이터 프레임 시퀀스들(표면 데이터 프레임 시퀀스들을 설명하는 메타데이터 포함), 가상화된 표면 데이터 프레임 시퀀스들(즉, 실세계 장면의 커스텀 뷰에 대응하고 캡처된 표면 데이터 프레임 시퀀스들에 기초하여 가상화된 표면 데이터 프레임 시퀀스들), 가상 표면 데이터 프레임 시퀀스들(즉, 병합된 현실 장면의 가상 장면들 또는 가상 요소들을 나타내는 표면 데이터 프레임 시퀀스들), 등을 생성하여 시스템(100)에 제공할 수 있다.
후속적으로, 시스템(100)이 다양한 프레임 시퀀스 서브세트들(800)에 대한 표면 데이터 프레임 시퀀스들을 분석 및 선택하고, 경험 선택 데이터 구조(900)를 생성하면, 시스템(100)은 경험 선택 데이터 구조(900)를 멀티플렉싱 시스템(1006)에 제공할 수 있다. 멀티플렉싱 시스템(1006)은 시스템(100)의 특정 구현 내에 포함될 수 있거나, 또는 구성(1000)에 예시된 바와 같이, 시스템(100)과 미디어 플레이어 디바이스(1010) 사이의 중개자로서 작용할 수 있다. 어느 상황에서든, 멀티플렉싱 시스템(1006)은 경험 선택 데이터 구조(900)(즉, 시스템(100)로부터) 및 제공되고 있는 현재의 가상 현실 경험을 나타내는 동적 데이터(즉, 미디어 플레이어 디바이스(1010)로부터)를 모두 수신할 수 있고, 미디어 플레이어 디바이스(1010)에 가능한 가장 관련성있는 가상 현실 데이터를 가능한한 효율적으로 제공하는 것을 돕는 중개자 역할을 할 수 있다. 이를 위해, 멀티플렉싱 시스템(1006)은, 패턴들을 결정하도록 시도하고, 미디어 플레이어 디바이스(1010)가 데이터를 요청하기 전에 미디어 플레이어 디바이스(1010)가 어떤 데이터를 요구할 것인지를 예측하고, 그렇지 않을 경우 관련되고 효율적이며 고도로 맞춤화된 데이터를 미디어 플레이어 디바이스(1010)에 지능적으로 제공하기 위하여, 미디어 플레이어 디바이스(1010)에 이미 제공된 가상 현실 데이터의 사용 및 사용자(1012)의 움직임들을 모니터링하고 추적하도록 구성된 인공지능을 포함할 수 있다.
일례로서, 멀티플렉싱 시스템(1006)은 (즉, 경험 선택 데이터 구조(900)에서 다수의 엔트리들(904)에 대응하는) 다수의 가상 현실 데이터세트들이 사용자가 취할 것 같은 행동 또는 3D 장면(202) 내에서 발생할 것 같은 이벤트을 예상할 때 미디어 플레이어 디바이스(1010)에 송신되어야 한다고 결정할 수 있다. 예를 들어, 하나의 제공된 가상 현실 데이터세트는 현재 사용될 수 있는 반면에, 다른 가상 현실 데이터세트는 단기간에 예상되는 사용을 위해 버퍼링되고 준비될 수 있다. 다른 예로서, 멀티플렉싱 시스템(1006)은, 미디어 플레이어 디바이스(1010)가 사용자(1012)가 어떻게 거동하는지에 관계없이 프레임 시퀀스 서브세트 내의 표면 데이터 프레임 시퀀스들에 기초하여 가상 현실 미디어 콘텐츠를 사용자(1012)에게 제시할 수 있도록, 경험 선택 데이터 구조(900)에 표현되고 포함된 및/또는 미디어 플레이어 디바이스(1010)에 제공되는 각각의 프레임 시퀀스 서브세트가 강력하고 완전한-기능을 갖춘 프레임 시퀀스 서브세트임을 보장하는 것을 도울 수 있다. 예를 들어, 멀티플렉싱 시스템(1006)은 미디어 플레이어 디바이스(1010)에 제공된 임의의 가상 현실 데이터세트가 사용자(1012)가 블랙 스크린 또는 저-품질 이미지를 보지 않고 임의의 방향으로 보는 것을 허용할 것임을 보장할 수 있다.
네트워크(1008)는 제공자-특정 유선 또는 무선 네트워크(예를 들어, 케이블 또는 위성 캐리어 네트워크 또는 모바일 전화 네트워크), 인터넷, 광역 네트워크, 콘텐츠 전달 네트워크 또는 임의의 다른 적절한 네트워크를 포함할 수 있다. 데이터는 특정 구현을 서비스할 수 있는 임의의 통신 기술들, 디바이스들, 미디어, 및 프로토콜들을 사용하여, 제공자 시스템(1008)과 미디어 플레이어 디바이스(1010)(및 명시적으로 도시되지 않은 다른 미디어 플레이어 디바이스들) 사이에서 흐를 수 있다.
미디어 플레이어 디바이스(1010)는 제공자 시스템(1002)에 의해 제공되는 가상 현실 미디어 콘텐츠에 액세스하고 경험하기 위해 사용자(1012)에 의해 사용될 수 있다. 예를 들어, 미디어 플레이어 디바이스(1010)는 임의의 가상 뷰포인트(예를 들어, 사용자에 의해 선택되고 3D 장면(202) 내의 임의의 가상 위치에 대응하는 동적으로 선택 가능한 가상 뷰포인트)로부터 사용자(1012)가 경험할 3D 장면(202)의 3D 표현을 생성하도록 구성될 수 있다. 이를 위해, 미디어 플레이어 디바이스(1010)는, 사용자(1012)가 3D 장면(202)의 가상 표현을 경험할 때 시야 내에 제시된 3D 장면(202)의 일부를 동적으로 업데이트하기 위하여, 3D 장면(202)의 시야를 제공할 수 있고 사용자(1012)로부터의 사용자 입력을 검출할 수 있는 임의의 디바이스를 포함하거나 이에 의해 구현될 수 있다. 미디어 플레이어 디바이스들의 유형들 중 특정 예들은 아래에서 더 설명될 것이다.
구성(1000)은 시스템(100)이 가상 현실 데이터를 맞춤화하기 위해 다른 시스템들 및 디바이스들과 함께 연동될 수 있는 다소 일반적인 구성을 도시한다. 그러나, 특정 구현들에서, 시스템(100) 및 그것이 사용되는 구성은 특정 시스템 요건들에 따라 동작하도록 구성될 수 있다는 것이 이해될 것이다. 특히, 시스템(100)의 특정 구성들은 데이터의 임의의 대규모 수집으로부터 유도된 가상 현실 데이터를 맞춤화하고 및/또는 임의의 다수의 다른 미디어 플레이어 디바이스들에 맞춤화된 가상 현실 데이터를 제공하기 위해 사용될 수 있다. 결과적으로, 특정 예들에서 시스템(100)에 의해 처리된 데이터의 양은 매우 클 수 있고, 따라서 본 명세서에 기술된 기능을 수행하기 위해 대량의 컴퓨팅 파워(예를 들어, 함께 네트워킹되고 연동되는 많은 서버들로부터의 컴퓨팅 파워)를 요구할 수 있다. 이것은 가상 현실 데이터를 실시간으로 (예를 들어, 이벤트가 실세계 장면 내에서 발생할 때) 많은 다른 미디어 플레이어 디바이스들에 제공하는 시스템(100)의 구현들(예를 들어, 제공자 시스템(1002)의 구현들)에 대해 특히 그러하다.
도 11 내지 도 14는, 임의의 크기의 3D 장면들, 임의의 수의 이용 가능한 표면 데이터 프레임 시퀀스들, 임의의 레벨의 세부사항 및/또는 화상 품질, 등에 대해, 본 명세서에 기술된 가상 현실 데이터 맞춤화을 처리하도록, 시스템(100)의 상향 크기 조정을 가능하게 할 수 있는 시스템(100)의 특정 양상을 도시한다. 구체적으로, 후술되는 원리들에 따라 시스템(100)을 구현함으로써, 본 명세서에 기술된 방법들 및 시스템들은 가상 현실 콘텐츠의 제공자들 및 사용자들에게 한결같이 다양한 이점들을 제공할 수 있는 매우 유연하고 크기조정 가능한 방식들로 수행 및 구현될 수 있다. 예를 들어, 제공자는 시스템(100)에 더 많은 하드웨어(예를 들어, 추가 서버들, 추가 프로세서들, 등)를 추가함으로써 거의 모든 시스템 요건들을 충족시키기 위해 시스템(100)을 확장할 수 있지만, 사용자들은 과도한 데이터 사용량 없이, 생생한 레벨들의 세부사항과 함께 크고 흥미로운 3D 장면들을 경험할 수 있다.
도 11은 다른 예시적인 가상 현실 미디어 제공자 시스템이 가상 현실 데이터를 맞춤화하는 예시적인 구성(1100)을 도시한다. 구성(1100)은 전술한 구성(1000)과 특정한 유사성들을 갖는다. 예를 들어, 구성(1100)은 구성(1000)과 같이, 캡처 관리 시스템(1004)(상술한) 및 시스템(100)의 구현을 포함하는 가상 현실 미디어 제공자 시스템(1102)("제공자 시스템(1102)))을 포함한다. 추가로, 구성(1100)은 네트워크(1008) 및 사용자(1012)(추가로 상술한)와 연관된 미디어 플레이어 디바이스(1010)를 포함한다. 구성(1100)이 제공자 시스템(1102)의 임의의 추가적인 요소들(예를 들어, 멀티플렉싱 시스템(1006) 및/또는 제공자 시스템(1102)에 의해 구현된 가상 현실 미디어 제공자 파이프라인 내에 포함된 다른 시스템들)을 도시하지 않지만, 특정 구현들에서, 멀티플렉싱 시스템(1006) 및/또는 다른 적절한 요소들은 또한 특정 구현을 서비스할 수 있는 구성(1100)에 존재할 수 있음이 이해될 것이다.
전술한 제공자 시스템(1102)과 제공자 시스템(1002)의 주요 차이점은, 제공자 시스템(1102)이 다른 컴퓨팅 자원들(예를 들어, 시스템(100)의 처리 요건들이 구현마다 변할 때 시스템(100)에 추가하거나 또는 이로부터 제거하기에 간단할 수 있는 다른 서버들)이 본 명세서에 기술된 시스템(100)의 기능을 수행하기 위해 어떻게 연동될 수 있는지를 보다 명백하게 나타내는 시스템(100)의 구현을 포함한다는 점이다. 구체적으로, 도 11에 도시된 바와 같이, 시스템(100)은 복수의 게이트 키퍼 서버들(1104)(예를 들어, 게이트 키퍼 서버들(1104-1 내지 1104-N)), 하나 이상의 관리 서버들(1106)(오로지 하나만 도 11에 도시) 및 동기화 서버(1108)를 포함할 수 있다. 서버들(1104 내지 1108)은 특정 구현을 서비스할 수 있는 임의의 유형의 개별 컴퓨팅 자원들을 나타낼 수 있다. 예를 들어, 서버들(1104 내지 1108) 각각은 개별 컴퓨터들(예를 들어, 개별 서버 컴퓨터들)에 의해, 블레이드 서버 내의 개별의 블레이드들에 의해, 단일 컴퓨터와 연관된 개별의 프로세서들에 의해, 및/또는 임의의 다른 유형들의 개별 컴퓨팅 자원들에 의해 구현될 수 있다. 특정 구현들에서, 서버들(1104 내지 1108)로 표현된 특정 서버들은 또한 단일 컴퓨팅 자원 상에서 결합될 수 있다. 예를 들어, 시스템(100)은 복수의 게이트키퍼 서버들 및 관리 서버(1106) 및 동기화 서버(1108)의 기능을 수행하는 하나의 추가 서버를 포함할 수 있다.
각각의 게이트 키퍼 서버들(1104)은 (예를 들어, 캡처 관리 시스템(1004)으로부터 수신된) 하나 이상의 표면 데이터 프레임 시퀀스들을 처리하는 것을 담당할 수 있다. 예를 들어, 표면 데이터 프레임 시퀀스가 비교적 높은 레벨의 세부사항 및 대량의 데이터를 포함한다면, 각각의 게이트 키퍼 서버(1104)는 더 적은(모든 그러한 게이트 키퍼 서버가 처리할 수 있다면 하나의 표면 데이터 프레임 시퀀스만큼 적은) 표면 데이터 프레임 시퀀스들을 담당할 수 있다. 반대로, 표면 데이터 프레임 시퀀스들이 더 낮은 레벨들의 세부사항 및/또는 더 적은 양의 데이터를 포함한다면(예를 들어, 또는 게이트 키퍼 서버(1104)가 비교적 강력한 컴퓨팅 자원을 포함한다면), 각 게이트 키퍼 서버(1104)는 여러 표면 데이터 프레임 시퀀스를 담당할 수 있거나, 또는, 일부 실시예들에서, 게이트 키퍼 서버(1104)가 그것들을 모두 처리할 수 있다면, 단일 게이트 키퍼 서버(1104)는 이용 가능한 모든 표면 데이터 프레임 시퀀스들을 담당할 수 있다.
동작시, 제 1 게이트 키퍼 서버는 3D 장면의 특정 뷰를 묘사하는 컬러 및 깊이 프레임들을 포함하는 제 1 표면 데이터 프레임 시퀀스에 액세스할 수 있는 반면, 제 2 게이트 키퍼 서버는 3D 장면의 다른 뷰를 나타내는 컬러 및 깊이 프레임들을 포함하는 제 2 표면 데이터 프레임 시퀀스에 액세스할 수 있다. 예를 들어, 전술한 프레임 시퀀스 서브세트(800-8)의 예를 참조하면, 게이트 키퍼 서버(1104-1)는 표면 데이터 프레임 시퀀스들(600-1Ov, 600-11v 및 600-18v)(즉, 각각 뷰들 (702-10, 702-11 및 702-18)과 연관된 표면 데이터 프레임 시퀀스)와 같은 프레임 시퀀스 서브세트(800-8)에 포함되도록 선택된 특정 표면 데이터 프레임 시퀀스들에 액세스할 수 있다. 한편, 개별 게이트 키퍼 서버인, 게이트 키퍼 서버(1104-2)는 표면 데이터 프레임 시퀀스들(600-19v, 600-24v, 600-25v 및 600-커스텀)(즉, 각각 뷰들(702-19, 702-24, 702-25)과 연관된 표면 데이터 프레임 시퀀스들 및 가상 뷰포인트(304)와 각각 연관된 커스텀 뷰)과 같은 프레임 시퀀스 서브세트(800-8)에 포함되도록 선택된 다른 표면 데이터 프레임 시퀀스들에 액세스할 수 있다.
제 1 게이트 키퍼 서버(즉, 본 예에서 게이트 키퍼 서버(1104-1))는 (예를 들어, 네트워크(1008) 또는 다른 적절한 통신 연결을 통해) 관리 서버(1106)에, 및 관리 서버(1106)(후술된)로부터 요청된 요청에 응답하여, 제 1 게이트 키퍼 서버가 담당하는 표면 데이터 프레임 시퀀스들(즉, 표면 데이터 프레임 시퀀스들(600-1Ov, 600-11v 및 600-18v)) 내에 포함된 컬러 및 깊이 프레임들을 각각의 개별 운송 스트림을 통해 송신할 수 있다. 제 1 게이트 키퍼 서버에 의한 송신과 동기를 맞춰, 제 2 게이트 키퍼 서버(즉, 본 예에서 게이트 키퍼 서버(1104-2))는 (예를 들어, 네트워크(1108) 또는 다른 적절한 통신 연결을 통해) 관리 서버(1106)에, 및 요청에 응답하여, 제 2 게이트 키퍼 서버가 담당하는 제 2 표면 데이터 프레임 시퀀스들(즉, 표면 데이터 프레임 시퀀스들(600-19v, 600-24v, 600-25v 및 600-커스텀) 내에 포함된 컬러 및 깊이 프레임들을 다른 각각의 개별 운송 스트림을 통해 유사하게 송신할 수 있다.
예시하기 위해, 도 12는 개별 운송 스트림을 통해 송신되는 표면 데이터 프레임 시퀀스들을 도시한다. 구체적으로, 도시된 바와 같이, 전술한 프레임 시퀀스 서브세트(800-8)에 대해 선택된 표면 데이터 프레임 시퀀스들(600)(즉, 표면 데이터 프레임 시퀀스들(600-1Ov, 600-11v, 600-18v, 600-19v, 600-24v, 600-25v, 600-커스텀)은 각각 개별 운송 스트림(1202)(즉, 각각 운송 스트림들(1202-10, 1202-11, 1202-18, 1202-19, 1202-24, 1202-25 및 1202-커스텀) 내에서 송신된다.
본 명세서에서 사용되는 바와 같이, "운송 스트림들"은 하나의 디바이스 또는 시스템으로부터 다른 것으로의 데이터의 송신(즉, 운송)하는 것, 데이터를 렌더링 또는 달리 처리 또는 분석하는 것, 및/또는 특정 구현을 서비스할 수 있는 다른 목적들을 위해 데이터를 패키징하는데 사용되는 데이터 구조들을 지칭할 수 있다. 일부 예들에서, 운송 스트림은 하나 이상의 데이터 스트림들(예를 들어, 하나 이상의 비디오 데이터 스트림들) 및/또는 메타데이터 등과 같은 다른 데이터를 포함할 수 있다. 운송 스트림들은 특정 구현을 서비스할 수 있는 임의의 유형의 운송 스트림으로서 구현될 수 있다. 예를 들어, 본 명세서에 기술된 특정 운송 스트림들(예를 들어, 운송 스트림(1202))은 MPEG 운송 스트림, MPEG-2 운송 스트림, 또는 표면 데이터 프레임 시퀀스들, 비디오 데이터 스트림들, 등과 같은 데이터의 운송을 가능하게 하는 다른 적절한 데이터 구조로서 구현될 수 있다.
도 11로 되돌아 가면, 게이트 키퍼 서버들(1104)은 관리 서버(1106) 및/또는 동기화 서버(1108)와 함께 연동하여 각 표면 데이터 프레임 시퀀스들의 개별 프레임들(예를 들어, 컬러 및 깊이 프레임들)을 관리 서버(1106)에 동기를 맞춰 송신하고, 관리 서버(1106)는 후속적으로 미디어 플레이어 디바이스(1010)에 송신을 위해 구성된 가상 현실 데이터세트들을 생성할 수 있다. 예를 들어, 위의 예로 계속하면, 관리 서버(1106)는 프레임 시퀀스 서브세트(800-8)에 포함시키기 위해 도 12에 도시된 표면 데이터 프레임 시퀀스들(600)을 선택할 수 있다. 관리 서버(1106)는 그 후 요청(즉, 게이트 키퍼 서버들(1104-1 및 1104-2)이 그들의 각각의 컬러 및 깊이 프레임들을 동기를 맞춰 송신하는 것에 대한 응답으로 상술한 요청)을 게이트 키퍼 서버들(1104-1 및 1104-2)에 송신할 수 있다. 이에 응답하여, 관리 서버 (1106)는 (예를 들어, 네트워크(1008)에 의해 게이트 키퍼 서버(1104-1)로부터) 게이트 키퍼(1104-1)가 담당하는 표면 데이터 프레임 시퀀스 내에 포함된 컬러 및 깊이 프레임들을 (예를 들어, 개별 운송 스트림들을 통해) 수신할 수 있다. 유사하게, 게이트 키퍼 서버(1104-1)로부터 컬러 및 깊이 프레임들의 수신과 동기를 맞춰, 관리 서버(1106)는 (예를 들어, 네트워크(1008)를 통해 게이트 키퍼 서버(1104-2)로부터) 게이트 키퍼(1104-2)가 담당하는 표면 데이터 프레임 시퀀스들 내에 포함된 컬러 및 깊이 프레임을 (예를 들어, 추가저인 개별 운송 스트림들을 통해) 수신할 수 있다.
다른 개별 운송 스트림들에 의해 다른 표면 데이터 프레임 시퀀스들 내에 포함된 컬러 및 깊이 프레임들의 동기 송신은 특정 구현을 서비스할 수 있는 임의의 방식으로 수행될 수 있다. 예를 들어, 특정 구현들에서, 게이트 키퍼 서버들(1104) 및/또는 관리 서버(1106)는 게이트 키퍼 서버(1104)들로부터 관리 서버(1106)로의 컬러 및 깊이 프레임들의 동기 송신을 가능하게 하기 위해 동기화 서버(1108)와 통신 및/또는 달리 연동될 수 있다.
구체적으로, 프레임 시퀀스 서브세트(800-8)와 관련하여 전술한 예를 계속하면, 게이트 키퍼 서버(1104-1)는 표면 데이터 프레임 시퀀스들 중 하나에 포함된 제 1 컬러 및 깊이 프레임(예를 들어, 표면 데이터 프레임 시퀀스(600-10v) 내에 포함된 컬러 및 깊이 프레임)이 게이트 키퍼 서버(1104-1)에 의해 수신되었다는 것을 나타내는 데이터를 동기화 서버(1108)에 송신할 수 있다. 게이트 키퍼 서버(1104-2)는 표면 데이터 프레임 시퀀스들 중 하나 내에 포함된 제 2 컬러 및 깊이 프레임(예를 들어, 표면 데이터 프레임 시퀀스(600-19v) 내에 포함되고 제 1 컬러 및 깊이 프레임에 대응하는 컬러 및 깊이 프레임)이 게이트 키퍼 서버(1104-2)에 의해 수신되었다는 것을 나타내는 데이터를 유사하게 동기화 서버(1108)에 송신할 수 있다. 제 1 및 제 2 컬러 및 깊이 프레임들이 수신되었다는 것을 나타내는 데이터의 송신에 응답하여, 게이트 키퍼 서버들(1104-1 및 1104-2)는 동기화 서버(1108)로부터 제 1 및 제 2 컬러 및 깊이 프레임들이 동기를 맞춰 송신될 지정된 타임프레임을 나타내는 데이터를 수신할 수 있고, 게이트 키퍼 서버(1104-1 및 1104-2)는 제 1 및 제 2 컬러 및 깊이 프레임들을 (프레임 시퀀스 서브세트(800-8)에 포함된 다른 표면 데이터 프레임 시퀀스들로부터의 다른 컬러 및 깊이 프레임과 함께) 지정된 타임프레임 내에서 관리 서버(1106)로 송신할 수 있다.
도시하기 위해, 도 13은 컬러 및 깊이 프레임들이 게이트 키퍼 서버들(1104)에 의해 수신될 수 있는 타임프레임들(1302)(예를 들어, 타임프레임(1302-1 내지 1302-7)) 및 전술한 바와 같이 게이트 키퍼 서버(1104)에 의해 동기를 맞춰 송신될 컬러 및 깊이 프레임들에 대해 지정된 타임프레임들(1304)(예를 들어, 타임프레임(1304-1 내지 1304-4))을 도시하는 예시적인 타임 라인(1300)을 도시한다. 구체적으로, 각각의 타임프레임(1302) 내에 그려진 각각의 수직선은 특정 게이트 키퍼 서버(1104)가 게이트 키퍼 서버가 담당하는 특정 표면 데이터 프레임 시퀀스의 특정 컬러 및 깊이 프레임을 수신한 시간의 순간을 표시할 수 있다. 예를 들어, 타임프레임(1302-1) 내의 수직선(1306)은 게이트 키퍼 서버(1104-1)가 표면 데이터 프레임 시퀀스(600-1Ov) 내에 포함된 제 1 컬러 및 깊이 프레임을 수신한 순간을 표시할 수 있는 반면, 타임프레임(1302-1) 내의 다른 수직선(1308)은 게이트 키퍼 서버(1104-2)가 표면 데이터 프레임 시퀀스(600-19v) 내에 포함된 제 2 컬러 및 깊이 프레임을 수신한 순간(제 1 컬러 및 깊이 프레임이 수신된 순간에 상대적으로 근접한)을 표시할 수 있다. 유사한 방식으로, 타임프레임(1302-1) 내에 포함된 다른 수직선은 게이트 키퍼 서버들(1104)(예를 들어, 게이트 키퍼 서버들(1104-1, 1104-2) 또는 다른 게이트 키퍼 서버들(1104))이 다른 표면 데이터 프레임 시퀀스들 내에 포함된 다른 컬러 및 깊이 프레임들(예를 들어, 프레임 시퀀스 서브세트(800-8) 내에 포함된 다른 표면 데이터 프레임 시퀀스들 또는 다른 프레임 시퀀스 서브세트들(800) 내에 사용되는 표면 데이터 프레임 시퀀스들)을 수신하는 다른 순간들을 표시할 수 있다.
게이트 키퍼 서버들(1104)이 임의의 특정 타임프레임(1302)에서 수신된 컬러 및 깊이 프레임들의 송신을 시작하기 전에 임의의 길이(예를 들어, 수 밀리 초, 몇 초, 몇 분, 등)의 지연(1310)이 포함될 수 있다. 그러나, 모든 게이트 키퍼 서버들(1104)에 의해 모든 대응하는 컬러 및 깊이 프레임들이 모든 표면 데이터 프레임 시퀀스에 대해 수신되면, 동기화 서버(1108)는 컬러 및 깊이 프레임들이 송신되려는 타임프레임(1304)을 지정(예를 들어, 스케줄)할 수 있다. 예를 들어, 타임프레임(1302-1) 동안 수신된 모든 컬러 및 깊이 프레임에 대해, 동기화 서버(1108)는 각각의 게이트 키퍼 서버(1104)가 요청된 임의의 표면 데이터 프레임 시퀀스(예를 들어, 적어도 하나의 프레임 시퀀스 서브세트(800)에 포함된 모든 표면 데이터 프레임 시퀀스들)에 대해 컬러 및 깊이 프레임을 송신하려는 타임프레임(1304-1)(즉, 지연(1310) 이후)을 지정할 수 있다.
따라서, 예를 들어, 관리 서버(1106)가 상술한 바와 같이 게이트 키퍼 서버들(1104-1 및 1104-2)로부터 프레임 시퀀스 서브세트(800-8) 내에 포함된 표면 데이터 프레임 시퀀스를 요청한다면, 타임프레임(1302-1) 동안 수신되고 이들 표면 데이터 프레임 시퀀스와 연관된 각각의 컬러 및 깊이 타임프레임들은 타임프레임(1304-1) 동안 관리 서버(1106)로 동기를 맞춰 송신될 수 있다. 구체적으로, 예를 들어, 제 1 컬러 및 깊이 프레임(즉, 표면 데이터 프레임 시퀀스(600-1Ov)로부터)는 수직선(1312)으로 표시된 시간에 송신될 수 있는 반면, 제 2 컬러 및 깊이 프레임(즉, 표면 데이터 프레임 시퀀스(600-19v)로부터)은 수직선(1314)으로 표시된 시간에 송신될 수 있다.
컬러 및 깊이 프레임들은 게이트 키퍼 서버들(1104)에 의해 임의의 적절한 방식으로 관리 서버(1106)로 송신될 수 있다. 예를 들어, 특정 구현들에서, 각각의 타임프레임(1304) 동안, 관리 서버(1106)에 의해 요청된 표면 데이터 프레임 시퀀스를 담당하는 모든 게이트 키퍼 서버(1104)는, 관리 서버(1106)가 자신이 요청한 특정 컬러 및 깊이 프레임을 수신할 수 있도록, 요청된 표면 데이터 프레임 시퀀스로부터 특정 컬러 및 깊이 프레임을 점대다중점 프로토콜를 통해(예를 들어, 사용자 데이터그램 프로토콜("UDP") 등을 사용하여) 송신할 수 있다. 이러한 방식으로, 복수의 다른 가상 현실 데이터세트들을 준비하고 패키징하기 위해 서로 병렬로 동작할 복수의 관리 서버들(1106)(도 11에 명시적으로 도시되지는 않음)은, 그들의 각 가상 현실 데이터세트들이 다른 컬러 및 깊이 프레임을 무시하면서 기반으로 하는 컬러 및 깊이 프레임을 요청 및 수신할 수 있다. 따라서, 충분한 수의 게이트 키퍼 서버들(1104) 및 관리 서버들(1106)에 의해, 임의의 수의 표면 데이터 프레임 시퀀스들은 임의의 수의 가상 현실 데이터세트들이 기반으로 하는 임의의 수의 프레임 시퀀스 서브세트들로 재결합될 수 있다.
선택된 표면 데이터 프레임 시퀀스들에 대한 컬러 및 깊이 프레임들을 포함하는 동기 송신들을 수신할 때, 관리 서버(1106)는, 프레임 시퀀스 서브세트(800-8)에 포함되도록 선택된 표면 데이터 프레임 시퀀스들에 대응하는 비디오 데이터 스트림들을 포함하는 추가적인 운송 스트림(예를 들어, 프레임들을 관리 서버(1106)로 송신하기 위해 게이트 키퍼 서버(1104)에 의해 사용된 것들로부터의 개별 운송 스트림)을 형성하기 위하여, 게이트 키퍼 서버들(1104)로부터 동기를 맞춰 수신된 컬러 및 깊이 프레임들을 패키징할 수 있다. 구체적으로, 추가적인 운송 스트림은 각각의 표면 데이터 프레임 시퀀스들(600-1Ov, 600-11v, 600-18v, 600-19v, 600-24v, 600-25v 및 600-커스텀)과 연관된 컬러 비디오 데이터 스트림 및 깊이 비디오 데이터 스트림을 포함할 수 있다.
일부 예들에서, 추가적인 운송 스트림은 미디어 플레이어 디바이스로 스트리밍하도록 구성될 수 있다. 이와 같이, 이들 비디오 데이터 스트림들을 포함하는 추가적인 운송 스트림은 프레임 시퀀스 서브세트(800-8)와 관련된 가상 현실 경험에 맞춤화된 가상 현실 데이터세트를 구현할 수 있다. 달리 말하면, 프레임 시퀀스 서브세트(800-8)와 연관된(즉, 및 가상 뷰포인트(304)와 연관된) 가상 현실 경험에 맞춤화된 가상 현실 데이터세트는 이러한 추가적인 운송 스트림을 포함하거나 이에 의해 구현될 수 있다.
예시하기 위해, 도 14는 복수의 비디오 데이터 스트림들(1404)(즉, 비디오 데이터 스트림들(1404-10, 1404-11, 1404-18, 1404-19, 1404-24, 1404-25 및 1404-커스텀)을 포함하는 운송 스트림(1402)으로서 구현된(예를 들어, 패키징된) 예시적인 가상 현실 데이터세트(1400)를 도시한다. 운송 스트림(1402)은 네트워크(1008)를 통해 미디어 플레이어 디바이스(1010)로 스트리밍하도록 구성될 수 있고, 이와 같이 경험 선택 데이터 구조(900)의 엔트리(904-8)와 관련(예를 들어, 그에 포함된 데이터 링크로 표현)될 수 있다.
가상 현실 데이터세트(1400)는 임의의 적절한 방식으로 생성될 수 있다. 예를 들어, 시스템(100)은 프레임 시퀀스 서브세트(800-8)에 포함되도록 선택된 표면 데이터 프레임 시퀀스들(600)에 액세스할 수 있고, 액세스된 표면 데이터 프레임 시퀀스들에 기초하여 가상 현실 데이터세트(1400)를 생성할 수 있다. 보다 구체적으로, 시스템(100)은 다른 액세스된 표면 데이터 프레임 시퀀스와 각각 연관된 복수의 비디오 데이터 스트림들을 생성(예를 들어, 각각의 표면 데이터 프레임 시퀀스를 컬러 비디오 데이터 스트림 및 깊이 비디오 데이터 스트림으로 인코딩)함으로써, 및 복수의 비디오 데이터 스트림들을 포함하도록 운송 스트림(1402)을 생성함으로써 가상 현실 데이터세트(1400)를 생성할 수 있다. 특정 예들에서, 컬러 비디오 데이터 스트림 및 깊이 비디오 데이터 스트림으로의 각 표면 데이터 프레임 시퀀스의 인코딩은 (예를 들어, 캡처 관리 시스템(1004)에 의해, 게이트 키퍼 서버들(104)에 의해, 또는 시스템(100) 또는 제공자 시스템 (1102)에 의해) 이전에 수행될 수 있다. 예를 들어, 게이트 키퍼 서버들(1104)에 의해 송신된 표면 데이터 프레임 시퀀스들(600)은 비디오 데이터 스트림들(1404)로 이미 인코딩되었을 수 있다.
위에서 언급한 바와 같이, 가상 현실 데이터세트(1400)와 같은 가상 현실 데이터세트들은 동적으로 생성될 수 있거나(예를 들어, 미디어 플레이어 디바이스(1010)가 요청하거나 필요하다고 결정되는 것에 기초하여 "주문형" 및/또는 "주문하여" 생성될 수 있거나), 또는 시스템(100)이 제공될 수 있다고 결정한 가상 현실 경험에 기초하여 미리-패키징될 수 있다. 추가적으로, 운송 스트림(1402)은 가상 현실 데이터세트(1400)가 패키징될 수 있는 하나의 예시적인 방식을 도시하지만, 가상 현실 데이터세트(1400)가 특정 구현을 서비스할 수 있는 다양한 다른 적절한 방식들로 패키징될 수 있다는 것이 이해될 것이다. 예를 들어, 특정 예들에서, 가상 현실 데이터세트(1400)는 하나 이상의 운송 스트림의 일부로서 송신될 수 있거나, 텍스처 아틀라스 기술 또는 다른 데이터 패키징, 또는 비디오 데이터 스트림들(1404) 내의 데이터의 미디어 플레이어 디바이스(1010) 및/또는 다른 미디어 플레이어 디바이스들로 효율적이고 효과적인 제공을 가능하게 할 수 있는 데이터 운송 기술들 및/또는 프로토콜들을 사용할 수 있다 .
일단 가상 현실 데이터세트(1400)가 (예를 들어, 동일한 방식으로 생성되었지만 다른 가상 현실 경험을 위해 맞춤화되는 복수의 다른 가상 현실 데이터세트 옵션들과 함께) 생성되고, (예를 들어, 미디어 플레이어 디바이스(1010)에 제공된 경험 선택 데이터 구조 내의 엔트리의 선택에 의해) 요청되면, 가상 현실 데이터세트(1400)는 미디어 플레이어 디바이스(1010)에 제공될 수 있다. 이를 위해, 미디어 플레이어 디바이스(1010) 및 제공자 시스템(1102)(예를 들어 시스템(100))은 임의의 적절한 방식으로 상호작용할 수 있다. 예를 들어, 미디어 플레이어 디바이스(1010)는 (예를 들어, 시스템(100)으로부터) 경험 선택 데이터 구조(900)에 액세스할 수 있고, (예를 들어, 경험 선택 데이터 구조(900)에 의해) 특정 가상 현실 경험(예를 들어, 가상 뷰포인트(304)를 3D 장면(202)의 영역(302-8)으로 보내는 사용자(1012)의 가상 현실 경험)에 맞춤화되는 특정 가상 현실 데이터세트(예를 들어, 가상 현실 데이터세트(1400))에 대응하는 특정 엔트리(예를 들어, 상기 예에서 엔트리(904-8))를 선택할 수 있다. 미디어 플레이어 디바이스(1010)는 선택된 엔트리(예를 들어, 엔트리(904-8))를 나타내는 데이터를 시스템(100)에 제공할 수 있고, 이에 응답하여 특정 가상 현실 경험(예를 들어, 가상 현실 데이터세트(1400))에 맞춤화된 특정 가상 현실 데이터세트를 수신할 수 있다 . 예를 들어, 미디어 플레이어 디바이스(1010)는 네트워크(1008)를 통해 복수의 비디오 데이터 스트림들을 포함하는 운송 스트림(예를 들어, 비디오 데이터 스트림들(1404)을 포함하는 운송 스트림(1402))을 수신할 수 있다.
특정 가상 현실 데이터세트를 수신할 때, 미디어 플레이어 디바이스(1010)는 특정 가상 현실 데이터세트를 처리하여 특정 가상 현실 경험을 사용자(1012)에게 제공할 수 있다. 예를 들어, 가상 현실 데이터세트(1400)를 사용하여, 미디어 플레이어 디바이스(1010)는, 사용자(1012)가 가상 뷰포인트(304)로부터 이해할 수 있는 것보다 3D 장면(202)의 다른 영역들과 관련하여 더 많은 세부사항에 대역폭을 낭비하지 않으면서, 비교적 높은 레벨의 세부사항을 갖는 영역(302-8) 근처의 객체(204-1) 및 다른 객체들을 포함하는 가상 현실 미디어 컨텐츠를 제시할 수 있다.
시스템(100)이 가상 현실 데이터세트(1400)를 미디어 플레이어 디바이스(1010)에 제공(예를 들어, 스트리밍)하는 동안, 시스템(100)은 미디어 플레이어 디바이스(1010)가 (예를 들어, 경험 선택 데이터 구조(900)에 의해) 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응하는 다른 엔트리(예를 들어, 이전에 선택된 엔트리(904-8) 이외의)를 선택하는 것을 검출할 수 있다. 이와 같이, 미디어 플레이어 디바이스(1010)가 다른 엔트리를 선택한다 것을 검출한 것에 응답하여, 시스템(100)은 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트를 미디어 플레이어 디바이스(1010)에 제공할 수 있다. 예를 들어, 원래의 가상 현실 경험이 3D 장면(202)의 영역(302-8)과 연관되었다면, 새로운 다른 가상 현실 경험은 영역(302-9)과 같은 영역(302-8)과 다른 3D 장면(202)의 영역(302)과 연관될 수 있다. 따라서, 미디어 플레이어 디바이스(1010)는, 3D 장면(202)의 영역(302-8) 내의 제 1 위치로부터 영역(302-9) 내의 제 2 위치로 가상 뷰포인트(304)의 가상 뷰포인트(304)의 움직임을 나타내는 사용자(예를 들어, 사용자(1012)) 입력의 수신에 응답하여, 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응하는 다른 엔트리를 선택할 수 있다.
미디어 플레이어 디바이스(1010)에 제공된 가상 현실 데이터세트들은 미디어 플레이어 디바이스(1010)가 렌더링하도록 구성될 수 있는 가상 현실 미디어 콘텐츠를 나타낼 수 있다. 예를 들어, 전술한 바와 같이, 가상 현실 데이터세트들은, 3D 장면(202) 내의 임의의 가상 뷰포인트(예를 들어, 임의의 캡처 디바이스 뷰 또는 마춤화된 뷰와 정렬되지 않지만 사용자(1012)에게 흥미로울 수 있는 가상 뷰포인트(304)와 같은 가상 뷰포인트를 포함하여)로부터 실질적으로 3D 장면(202)의 뷰를 제시하기 위하여, 미디어 플레이어 디바이스(1010)에 의해 렌더링될 수 있는 복수의 2D 비디오 데이터 스트림(예를 들어, 각각의 뷰와 관련된 컬러 데이터 및 깊이 데이터와 관련된 2D 비디오 데이터 스트림 및 가상화된 프로젝션)을 포함하거나 표현할 수 있다. 가상 현실 데이터세트들은 사용자(1012)와 관련된 미디어 플레이어 디바이스(1010)와 같은 하나 이상의 미디어 플레이어 디바이스에 네트워크(1108)를 통해 분배될 수 있다. 예를 들어, 제공자 시스템들(1002 또는 1102)과 같은 제공자 시스템은, 사용자(1012)가 실질적으로 미디어 플레이어 디바이스(1010)를 사용하여 3D 장면(202)을 경험할 수 있도록, 다른 가상 현실 데이터세트들을 미디어 플레이어 디바이스(1010)에 제공할 수 있다.
일부 예들에서, 사용자(1012)가 3D 장면(202) 내의 하나 이상의 개별 위치들로 제한되는 것은 바람직하지 않을 수 있다. 따라서, 제공자 시스템은, 3D 장면(202)이 뷰들(402 및/또는 702)뿐만 아니라 3D 장면(202) 내의 임의의 가상 위치들에 대응하는 동적으로 선택 가능한 가상 뷰포인트들로부터 표현되는 것을 허용하기 위하여, 미디어 플레이어 디바이스(1010)에 제공된 각각의 가상 현실 데이터세트 내에 충분한 데이터를 제공할 수 있다. 예를 들어, 동적으로 선택 가능한 가상 뷰포인트들은, 사용자(1012)가 미디어 플레이어 디바이스(1010)를 사용하여 3D 장면(202)을 경험하고 있는 동안, 사용자(1012)에 의해 선택될 수 있다.
본 명세서에서 사용된 "임의의 가상 위치"는 3D 장면의 표현과 관련된 공간의 임의의 가상 지점을 지칭할 수 있다. 예를 들어, 임의의 가상 위치들은 3D 장면을 둘러싼 고정된 위치(예를 들어, 뷰들(402) 및/또는 맞춤화된 뷰(702)와 관련된 고정 위치)로 제한되지 않고, 뷰들(402) 및 뷰들(702)과 관련된 위치들 사이의 모든 위치들을 포함한다. 일부 예들에서, 이러한 임의의 가상 위치들은 3D 장면(202) 내에서 가장 바람직한 가상 뷰포인트들에 대응할 수 있다. 예를 들어, 3D 장면(202)이 농구 경기를 포함한다면, 사용자(1012)는, 농구 코트의 임의의 가상 위치에 있는, 게임을 경험할 수 있는 가상 뷰포인트들(예컨대, 가상 뷰포인트(304)와 같은)을 동적으로 선택할 수 있다. 예를 들어, 사용자는, 마치 게임 동작의 중간에 농구 코트에 서 있는 것처럼, 농구 코트의 위아래로 농구를 지켜보고 농구 게임을 경험하기 위하여, 자신의 가상 뷰포인트를 동적으로 선택할 수 있다.
도 15는 가상 현실 미디어 콘텐츠를 경험하기 위해 사용자(1012)에 의해 사용될 수 있는 다양한 예시적인 유형들의 미디어 플레이어 디바이스(1010)를 도시한다. 구체적으로, 도시된 바와 같이, 미디어 플레이어 디바이스(1010)는, 헤드 마운트 디스플레이 스크린, 개인용 컴퓨터 디바이스(1504)(예를 들어, 데스크탑 컴퓨터, 랩톱 컴퓨터 등), 모바일 또는 무선 디바이스(1506)(예를 들어, 헤드 마운트 장치에 의해, 또는 가상 현실 미디어 컨텐츠의 수신 및/또는 제공을 가능하게 하기 위해 특정 구현을 서비스할 수 있는 임의의 다른 디바이스 또는 디바이스의 구성에 의해 사용자(1012)의 머리에 장착될 수 있는 스마트 폰, 태블릿 디바이스, 등)를 포함하는 헤드 마운트 가상 현실 디바이스(1502)(예를 들어, 가상 현실 게임 디바이스)와 같은 몇 가지 다른 폼 팩터 중 하나를 취할 수 있다. 다른 유형들의 미디어 플레이어 디바이스들(예를 들어, 헤드 마운트 가상 현실 디바이스들, 개인용 컴퓨터 디바이스들, 모바일 디바이스들, 등)은 사용자(1012)에게 다른 레벨들의 몰입도를 갖는 다른 유형들의 가상 현실 경험을 제공할 수 있다.
도 16은 실세계 장면에 대한 예시적인 임의의 가상 위치에 대응하는 동적으로 선택 가능한 가상 뷰포인트로부터 경험하는 3D 장면을 나타내는 예시적인 가상 현실 미디어 콘텐츠를 사용자(1012)가 제공받는 예시적인 가상 현실 경험(1600)을 도시한다. 구체적으로, 가상 현실 미디어 컨텐츠(1602)는 슛이 이루어지고 있는 3D 장면(1606)의 표현 내에서 농구 골대 바로 아래의 임의의 가상 위치에 대응하는 가상의 뷰포인트로부터 3D 장면(1606)을 보여주는 시야(1604) 내에 제공된다. 사용자(1012)는 3D 장면(1606)을 둘러보고 및/또는 그 주위를 이동(즉, 경험할 가상 뷰포인트를 동적으로 선택)하기 위해 사용자 입력(예를 들어, 머리 움직임, 키보드 입력, 등)을 제공함으로써 3D 장면(1606)을 경험한다.
예를 들어, 시야(1604)는 사용자(1012)가 3D 장면(1606)의 가상 표현을 쉽고 자연스럽게 둘러볼 수 있는 윈도우를 제공할 수 있다. 시야(1604)는 (예를 들어, 미디어 플레이어 디바이스(1010)의 디스플레이 상에) 미디어 플레이어 디바이스(1010)에 의해 제공될 수 있고, 3D 장면(1606) 내의 사용자(1012)를 둘러싸는 객체들을 되하는 비디오를 포함할 수 있다. 추가적으로, 시야(1604)는 사용자(1012)가 3D 장면(1606)을 경험할 때, 사용자(1012)에 의해 제공된 사용자 입력에 응답하여 동적으로 변경될 수 있다. 예를 들어, 미디어 플레이어 디바이스(1010)는 사용자 입력(예를 들어, 시야(1604)가 제공되는 디스플레이 스크린을 이동 또는 회전시키는 것)을 검출할 수 있다. 이에 응답하여, 시야(1604)는 이전의 가상 뷰포인트 또는 가상 위치로부터 보여진 객체들 대신에 다른 가상 뷰포인트 또는 가상 위치에서 보여진 객체들 및/또는 다른 객체들을 디스플레이할 수 있다.
도 16에서, 3D 장면(1606)은 반구로 도시되어, 사용자(1012)가 현재 선택한 농구 골대 아래 위치의 가상 뷰포인트로부터 실질적으로 전방, 후방, 좌측, 우측 및/또는 위쪽인, 3D 장면(1606) 내의 임의의 방향으로 사용자(1012)가 바라볼 수 있음을 나타낸다. 다른 예들에서, 3D 장면(1606)은 사용자(1012)가 또한 내려다볼 수 있도록 180°구에 의해 전체 360°를 포함할 수 있다. 또한, 사용자(1012)는 3D 장면(1606) 내의 다른 위치들로 이동(즉, 동적으로 선택 가능한 다른 가상 뷰포인트들을 동적으로 선택)할 수 있다. 예를 들어, 사용자(1012)는 하프 코트에서의 가상 뷰포인트, 농구 골대를 향하는 자유투 라인으로부터의 가상 뷰포인트, 농구 골대 위에 현수된 가상 뷰포인트, 등을 선택할 수 있다.
도 17은 가상 현실 데이터를 맞춤화하기 위한 예시적인 방법(1700)을 도시한다. 도 17이 일 실시예에 따른 예시적인 동작들을 도시하지만, 다른 실시예들은 도 17에 도시된 임의의 동작들을 생략, 추가, 재정렬 및/또는 수정할 수 있다. 도 17에 도시된 하나 이상의 동작들이 시스템(100), 그 구현 및/또는 시스템(100)과 관련되는 것(예를 들어, 통신 가능하게 결합된, 연동되도록 구성된, 등)으로 전술한 다른 시스템에 의해 수행될 수 있다.
동작(1702)에서, 가상 현실 시스템은 각각이 3D 장면의 다른 뷰를 묘사하는 복수의 표면 데이터 프레임 시퀀스들을 설명하는 메타데이터에 액세스할 수 있다. 동작(1702)는 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1704)에서, 가상 현실 시스템은 특정 가상 현실 경험을 기술하는 경험 파라미터들의 한 세트를 식별할 수 있다. 예를 들어, 특정 가상 현실 경험은 3D 장면과 관련된 복수의 가상 현실 경험 내에 포함될 수 있고, 이들 파라미터들은 각각 미디어 플레이어 디바이스에 의해 사용자에게 제공될 수 있다. 일부 예들에서, 미디어 플레이어 디바이스는 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 처리함으로써 특정 가상 현실 경험을 사용자에게 제공하도록 구성될 수 있다. 동작(1704)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1706)에서, 가상 현실 시스템은 특정 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트에 포함시키기 위해 복수의 표면 데이터 프레임 시퀀스들로부터 표면 데이터 프레임 시퀀스를 선택할 수 있다. 예를 들어, 표면 데이터 프레임 시퀀스들은 동작(1704)에서 식별된 경험 파라미터들의 세트 및/또는 동작(1702)에서 액세스된 복수의 데이터 프레임 시퀀스들과 관련된 메타데이터에 기초하여 프레임 시퀀스 서브세트에 포함되도록 선택될 수 있다. 동작(1706)은 본 명세서에 기술된 임의의 방식으로 수행될 수 있다.
동작(1708)에서, 가상 현실 시스템은 다른 엔트리들의 동적 선택을 가능하게 하도록 구성된 경험 선택 데이터 구조를 생성할 수 있다. 보다 구체적으로, 경험 선택 데이터 구조는, 미디어 플레이어 디바이스가 다른 가상 현실 데이터세트들을 처리함으로써 사용자에게 다른 가상 현실 경험을 제공할 때 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로부터 다른 엔트리들을 동적으로 선택하는데 미디어 플레이어 디바이스를 가능하게 할 수 있다. 일부 예들에서, 복수의 엔트리들은 각각 3D 장면과 연관된 복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응할 수 있다. 동작(1708)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1710)에서, 가상 현실 시스템은 동작(1708)에서 생성된 경험 선택 데이터 구조 내의 특정 가상 현실 데이터세트에 대응하는 엔트리를 포함할 수 있다. 예를 들어, 가상 현실 시스템은, 특정 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트에 포함시키기 위한 표면 데이터 프레임 시퀀스의 동작(1706)에서의 선택에 기초하여, 특정 가상 현실 데이터세트에 대응하는 엔트리를 포함할 수 있다. 동작(1710)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1712)에서, 가상 현실 시스템은 경험 선택 데이터 구조를 미디어 플레이어 디바이스에 제공할 수 있다. 동작(1712)는 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1714)에서, 가상 현실 시스템은 미디어 플레이어 디바이스가 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응하는 엔트리를 선택하는 것을 검출할 수 있다. 예를 들어, 가상 현실 시스템은 동작(1708)에서 생성된 경험 선택 데이터 구조를 통해, 미디어 플레이어 디바이스가 동작(1710)에서 경험 선택 데이터 구조 내에 포함된 특정 가상 현실 데이터세트에 대응하는 엔트리를 선택하는 것을 검출할 수 있다. 동작(1714)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1716)에서, 가상 현실 시스템은 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 미디어 플레이어 디바이스에 제공할 수 있다. 예를 들어, 가상 현실 시스템은 미디어 플레이어 디바이스가 특정 가상 현실 데이터세트에 대응하는 엔트리를 선택한 것에 대한 동작(1714)에서의 검출에 응답하여 특정 가상 현실 데이터세트를 미디어 플레이어 디바이스에 제공할 수 있다. 동작(1716)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
도 18은 가상 현실 데이터를 맞춤화하기 위한 예시적인 방법(1800)을 도시한다. 도 18이 일 실시예에 따른 예시적인 동작들을 도시하지만, 다른 실시예들은 도 18에 도시된 임의의 동작들을 생략, 추가, 재정렬 및/또는 수정할 수 있다. 도 18에 도시된 동작들 중 하나 이상은 도 18의 시스템, 시스템의 구현 및/또는 시스템(100)과 관련되는(예를 들어, 통신 가능하게 결합되거나, 연동되도록 구성된, 등) 것으로 전술된 다른 시스템에 의해 수행될 수 있다.
동작(1802)에서, 가상 현실 시스템은 각각 실세계 장면의 다른 뷰를 묘사하는 복수의 표면 데이터 프레임 시퀀스들을 기술하는 메타데이터에 액세스할 수 있다. 예를 들어, 복수의 표면 데이터 프레임 시퀀스들은, 실세계 장면에 대해 다른 위치들에 배치된 복수의 캡처 디바이스들에 의해 캡처된 실세계 장면의 뷰들과 정렬되지 않은 실세계 장면의 뷰를 묘사하는 가상화된 표면 데이터 프레임 시퀀스를 포함할 수 있다. 일부 구현들에서, 동작(1802)은 실세계 장면에서 이벤트들이 발생하는 동안 실시간으로 수행될 수 있다. 동작(1802)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1804)에서, 가상 현실 시스템은 특정 가상 현실 경험이 미디어 플레이어 디바이스에 의해 사용자에게 제공될 수 있는 실세계 장면 내의 위치를 식별할 수 있다. 미디어 플레이어 디바이스는 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 처리함으로써 특정 가상 현실 경험을 사용자에게 제공하도록 구성될 수 있다. 동작(1802)에서와 같이, 특정 구현들에서, 동작(1804)은 이벤트들이 실세계 장면에서 발생하는 동안 실시간으로 수행될 수 있다. 동작(1804)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1806)에서, 가상 현실 시스템은 특정 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트에 포함시키기 위해 복수의 표면 데이터 프레임 시퀀스들로부터 표면 데이터 프레임 시퀀스들을 선택할 수 있다. 일부 예들에서, 가상 현실 시스템은 동작(1804)에서 식별된 위치에 기초하여 및/또는 동작(1802)에서 액세스된 복수의 데이터 프레임 시퀀스들과 연관된 메타데이터에 기초하여 프레임 시퀀스 서브세트에 포함시키기 위해 표면 데이터 프레임 시퀀스를 선택할 수 있다. 동작들(1802 및 1804)에서와 같이, 특정 구현들에서, 동작(1806)은 이벤트들이 실세계 장면에서 발생하는 동안 실시간으로 수행될 수 있다. 동작(1806)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1808)에서, 가상 현실 시스템은 경험 선택 데이터 구조 내의 특정 가상 현실 데이터세트에 대응하는 엔트리를 동적으로 포함할 수 있다. 예를 들어, 가상 현실 시스템은 특정 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트에 포함시키기 위한 표면 데이터 프레임 시퀀스들의 선택, 동작(1806)에 기초하여 특정 가상 현실 데이터세트에 대응하는 엔트리를 동적으로 포함할 수 있다. 경험 선택 데이터 구조는 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로부터 다른 엔트리들의 동적 선택을 가능하게하도록 구성될 수 있다. 예를 들어, 경험 선택 데이터 구조는, 미디어 플레이어 디바이스가 실세계 장면 내의 다른 위치들로부터 사용자에게 다른 가상 현실 경험들을 제공할 때, 미디어 플레이어 디바이스에 의한 다른 엔트리들의 동적 선택을 가능하게하도록 구성될 수 있다. 복수의 엔트리들은 각각 실세계 장면 내의 다른 위치들로부터 복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 각각 대응할 수 있다. 동작들(1802 내지 1806)에서와 같이, 특정 구현들에서, 동작(1808)은 이벤트가 실세계 장면에서 발생하는 동안 실시간으로 수행될 수 있다. 동작(1808)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
도 19는 가상 현실 데이터를 맞춤화하기 위한 예시적인 방법(1900)을 도시한다. 도 19는 일 실시예에 따른 예시적인 동작을 도시하고, 다른 실시예들은 도 19에 도시된 동작들 중 임의의 것을 생략, 추가, 재정렬 및/또는 수정할 수 있다. 도 19에 도시된 동작들 중 하나 이상은, 미디어 플레이어 디바이스(1010), 그 구현, 및/또는 본 명세서에 기술되거나 또는 특정 구현을 서비스할 수 있는 다른 미디어 플레이어 디바이스에 의해 수행될 수 있다.
동작(1902)에서, 미디어 플레이어 디바이스는 가상 현실 시스템으로부터 가상 현실 시스템에 의해 생성된 경험 선택 데이터 구조에 액세스할 수 있다. 예를 들어, 경험 선택 데이터 구조는, 미디어 플레이어 디바이스가 다른 가상 현실 데이터세트들을 처리함으로써 사용자에게 다른 가상 현실 경험들을 제공할 때, 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로부터 미디어 플레이어 디바이스에 의해 다른 엔트리들의 동적 선택을 가능하게하도록 구성될 수 있다. 일부 예들에서, 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들은 각각 3D 장면과 연관된 복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응할 수 있다. 동작(1902)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1904)에서, 미디어 플레이어 디바이스는 경험 선택 데이터 구조를 통해 복수의 엔트리들로부터 하나의 엔트리를 선택할 수 있다. 예를 들어, 엔트리는 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응할 수 있다. 동작(1904)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1906)에서, 미디어 플레이어 디바이스는 경험 선택 데이터 구조를 통해 선택된 엔트리를 나타내는 데이터를 가상 현실 시스템에 제공할 수 있다. 동작(1906)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
동작(1908)에서, 미디어 플레이어 디바이스는 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트를 수신할 수 있다. 예를 들어, 미디어 플레이어 디바이스는 동작(1906)에서 엔트리를 나타내는 데이터를 제공하는 것에 응답하여 가상 현실 시스템으로부터 특정 가상 현실 데이터세트를 수신할 수 있다. 동작(1908)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
단계(1910)에서, 미디어 플레이어 디바이스는 동작(1908)에서 수신된 특정 가상 현실 데이터세트를 처리할 수 있고, 이는 특정 가상 현실 경험에 맞춤화된다. 특정 가상 현실 데이터세트를 처리함으로써, 미디어 플레이어 디바이스는 특정 가상 현실 경험을 사용자에게 제공할 수 있다. 동작(1910)은 본 명세서에 기술된 임의의 방식들로 수행될 수 있다.
특정 실시예에서, 본 명세서에 기술된 하나 이상의 시스템들, 구성요소들 및/또는 프로세스들은 하나 이상의 적절하게 구성된 컴퓨팅 디바이스들에 의해 구현 및/또는 수행될 수 있다. 이를 위해, 위에서 기술된 하나 이상의 시스템들 및/또는 구성요소들은 본 명세서에 기술된 하나 이상의 프로세스들을 수행하도록 구성된 적어도 하나의 비-일시적 컴퓨터-판독가능 매체 상에 구현된 임의의 컴퓨터 하드웨어 및/또는 컴퓨터-구현 명령들(예를 들어, 소프트웨어)를 포함하거나 이에 의해 구현될 수 있다. 특히, 시스템 구성요소들은 하나의 물리적 컴퓨팅 디바이스 상에서 구현되거나 하나 이상의 물리적 컴퓨팅 디바이스 상에서 구현될 수 있다. 따라서, 시스템 구성요소들은 임의의 수의 컴퓨팅 디바이스들을 포함할 수 있고, 임의의 수의 컴퓨터 운영 체계들을 사용할 수 있다.
특정 실시예들에서, 본 명세서에 기술된 하나 이상의 프로세스들은 비-일시적 컴퓨터-판독가능 매체에 구현되고 하나 이상의 컴퓨팅 디바이스들에 의해 실행 가능한 명령들로서 적어도 부분적으로 구현될 수 있다. 일반적으로, 프로세서(예를 들어, 마이크로프로세서)는 비-일시적 컴퓨터-판독가능 매체(예를 들어, 메모리 등)로부터 명령들을 수신하고, 이들 명령을 실행함으로써, 본 명세서에 기술된 하나 이상의 프로세스들을 포함하는 하나 이상의 프로세스를 수행한다. 이러한 명령들은 다양한 공지된 컴퓨터-판독가능 매체 중 임의의 것을 사용하여 저장 및/또는 송신될 수 있다.
컴퓨터-판독가능 매체(프로세서-판독가능 매체로도 지칭됨)는 컴퓨터에 의해(예를 들어, 프로세서의 프로세서에 의해) 판독될 수 있는 데이터(예를 들어, 명령들)를 제공하는 데 참여하는 임의의 비-일시적 매체를 포함한다. 이러한 매체는 비-휘발성 매체 및/또는 휘발성 매체를 포함하지만 이에 제한되지 않는 많은 형태들을 취할 수 있다. 비-휘발성 매체는 예를 들어 광학 또는 자기 디스크들 및 다른 영구 메모리를 포함할 수 있다. 휘발성 매체는 예를 들어, 동적 랜덤 액세스 메모리("DRAM")를 포함할 수 있으며, 이는 일반적으로 메인 메모리를 구성한다. 컴퓨터-판독가능 매체의 일반적인 형태들은 예를 들어, 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, 컴팩트 디스크 판독-전용 메모리("CD-ROM"), 디지털 비디오 디스크("DVD"), 임의의 다른 광학 매체, 랜덤 액세스 메모리("RAM"), 프로그램 가능 판독-전용 메모리("PROM"), 전기적으로 소거 가능 프로그램 가능 판독-전용 메모리("EPROM"), FLASH-EEPROM, 임의의 다른 메모리 칩 또는 카트리지, 또는 컴퓨터가 판독할 수 있는 임의의 다른 유형의 매체를 포함한다.
도 20은 본 명세서에 기술된 하나 이상의 프로세스들을 수행하도록 구체적으로 구성될 수 있는 예시적인 컴퓨팅 디바이스(2000)를 도시한다. 도 20에 도시된 바와 같이, 컴퓨팅 디바이스(2000)는 통신 인터페이스(2002), 프로세서(2004), 저장 디바이스(2006) 및 통신 하부구조(2010)를 통해 통신 가능하게 연결된 입력/출력("I/O") 모듈(2008)을 포함할 수 있다. 예시적인 컴퓨팅 디바이스(2000)가 도 20에 도시되었지만, 도 20에 도시된 구성요소들은 제한하도록 의도된 것은 아니다. 추가저인 또는 대안적인 구성요소들이 다른 실시예에서 사용될 수 있다. 도 20에 도시된 컴퓨팅 디바이스(2000)의 구성요소들은 이제 추가로 상세하게 설명될 것이다.
통신 인터페이스(2002)는 하나 이상의 컴퓨팅 디바이스들과 통신하도록 구성될 수 있다. 통신 인터페이스(2002)의 예들은 유선 네트워크 인터페이스(예를 들어, 네트워크 인터페이스 카드), 무선 네트워크 인터페이스(예를 들어, 무선 네트워크 인터페이스 카드), 모뎀, 오디오/비디오 연결 및 임의의 다른 적절한 인터페이스를 포함하지만, 이에 제한되지는 않는다.
프로세서(2004)는 일반적으로 데이터를 처리하거나, 본 명세서에 기술된 하나 이상의 명령들, 프로세스들, 및/또는 동작들의 실행을 해석, 실행 및/또는 지시할 수 있는 임의의 유형 또는 형태의 처리 유닛(예를 들어, 중앙 처리 유닛 및/또는 그래픽 처리 유닛)을 나타낸다. 프로세서(2004)는 저장 디바이스(2006) 또는 다른 컴퓨터-판독가능 매체에 저장될 수 있는 하나 이상의 애플리케이션들(2012) 또는 다른 컴퓨터 실행 가능 명령어들에 따른 동작들의 실행을 지시할 수 있다.
저장 디바이스(2006)는 하나 이상의 데이터 저장 매체, 디바이스들 또는 구성들을 포함할 수 있으며, 데이터 저장 매체 및/또는 디바이스의 임의의 유형, 형태 및 조합을 이용할 수 있다. 예를 들어, 저장 디바이스(2006)는 하드 드라이브, 네트워크 드라이브, 플래시 드라이브, 자기 디스크, 광 디스크, RAM, 동적 RAM, 다른 비-휘발성 및/또는 휘발성 데이터 저장 유닛들, 또는 이들의 조합 또는 하위 조합을 포함할 수 있지만, 이에 국한되는 것은 아니다. 본 명세서에 기술된 데이터를 포함하는 전자 데이터는 저장 디바이스(2006)에 일시적으로 및/또는 영구적으로 저장될 수 있다. 예를 들어, 본 명세서에 기술된 임의의 동작들을 수행하도록 프로세서(2004)를 지시하기 위하여 구성된 하나 이상의 실행 가능한 애플리케이션들(2012)을 나타내는 데이터는 저장 디바이스(2006) 내에 저장될 수 있다. 일부 예들에서, 데이터는 저장 디바이스(2006) 내에 상주하는 하나 이상의 데이터베이스에 배치될 수 있다.
I/O 모듈(2008)은 사용자 입력을 수신하고 사용자 출력을 제공하도록 구성된 하나 이상의 I/O 모듈들을 포함할 수 있다. 하나 이상의 I/O 모듈은 단일 가상 현실 경험을 위한 입력을 수신하기 위해 사용될 수 있다. I/O 모듈(2008)은 입력 및 출력 기능들을 지원하는 임의의 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합을 포함할 수 있다. 예를 들어, I/O 모듈(2008)은 키보드 또는 키패드, 터치 스크린 구성요소(예를 들어, 터치 스크린 디스플레이), 수신기(예를 들어, RF 또는 적외선 수신기), 동작 센서 및/또는 하나 이상의 입력 버튼들을 포함하지만 이에 국한되지 않는 사용자 입력을 캡처하기 위한 하드웨어 및/또는 소프트웨어를 포함할 수 있다.
I/O 모듈(2008)은 그래픽 엔진, 디스플레이(예를 들어, 디스플레이 스크린), 하나 이상의 출력 드라이버들(예를 들어, 디스플레이 드라이버들), 하나 이상의 오디오 스피커들 및 하나 이상의 오디오 드라이버들을 포함하지만, 이에 국한되지 않는, 사용자에게 출력을 제공하기 위한 하나 이상의 디바이스들을 포함할 수 있다. 특정 실시예에서, I/O 모듈(2008)은 사용자에 제공을 위해 디스플레이에 그래픽 데이터를 제공하도록 구성된다. 그래픽 데이터는 특정 구현을 서비스할 수 있는 하나 이상의 그래픽 사용자 인터페이스들 및/또는 임의의 다른 그래픽 콘텐츠를 나타낼 수 있다.
일부 예들에서, 본 명세서에 기술된 임의의 설비들은 컴퓨팅 디바이스(2000)의 하나 이상의 구성요소들에 의해 또는 그 내부에 구현될 수 있다. 예를 들어, 저장 디바이스(2006) 내에 상주하는 하나 이상의 애플리케이션들(2012)은 프로세서(2004)가 시스템(100)의 경험 선택 데이터 구조 관리 설비(102) 또는 가상 현실 데이터세트 관리 설비(104)와 관련된 하나 이상의 동작들 또는 기능들(도 1 참조)을 수행하는 것을 지시하도록 구성될 수 있다. 마찬가지로, 시스템(100)의 저장 설비(106)는 저장 디바이스(2006)에 의해 또는 저장 디바이스 내에 구현될 수 있다.
전술한 실시예들이 개인들에 의해 제공된 개인 정보를 수집, 저장 및/또는 사용하는 한, 그러한 정보는 개인 정보 보호에 관한 모든 적용 가능한 법률에 따라 사용되어야 한다는 것을 이해해야 한다. 또한, 그러한 정보의 수집, 저장 및 사용은 예를 들어 정보의 상황 및 유형에 적합할 수 있는 잘 알려진 "참여" 또는 "거부" 프로세스들을 통해 그러한 활동에 대한 개인의 동의를 받아야 할 수 있다. 개인 정보의 저장 및 사용은 예를 들어 특히 민감한 정보를 위한 다양한 암호화 및 익명화 기술들을 통해 정보 유형을 반영하는 적절한 보안 방식일 수 있다.
전술한 설명에서, 다양한 예시적인 실시예들이 첨부 도면들을 참조하여 설명되었다. 그러나, 다음의 청구항들 설명된 본 발명의 범위를 벗어나지 않으면서 다양한 수정들 및 변경들이 이루어질 수 있으며, 추가적인 실시예들이 구현될 수 있음이 명백할 것이다. 예를 들어, 본 명세서에 기술된 일 실시예의 특정 특징들은 본 명세서에 기술된 다른 실시예의 특징들과 결합되거나 이를 대체할 수 있다. 따라서, 설명 및 도면들은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.

Claims (20)

  1. 방법으로서:
    가상 현실 시스템에 의해, 미디어 플레이어 디바이스가 다른 가상 현실 경험들을 사용자에게 제공할 때, 상기 미디어 플레이어 디바이스에 의해, 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로부터 다른 엔트리들의 동적 선택을 가능하게 하도록 구성된 경험 선택 데이터 구조를 생성하는 단계로서, 상기 복수의 엔트리들 각각은 3차원(3D) 장면과 관련된 복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응하는, 상기 경험 선택 데이터 구조를 생성하는 단계;
    상기 가상 현실 시스템에 의해, 상기 미디어 플레이어 디바이스에 상기 경험 선택 데이터 구조를 제공하는 단계;
    상기 가상 현실 시스템에 의해, 상기 미디어 플레이어 디바이스가 상기 경험 선택 데이터 구조를 통해 상기 복수의 엔트리들로부터 하나의 엔트리를 선택하는 것을 검출하는 단계로서, 상기 엔트리는 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응하는, 상기 하나의 엔트리를 선택하는 것을 검출하는 단계; 및
    상기 미디어 플레이어 디바이스가 상기 엔트리를 선택하는 것을 검출하는 것에 응답하여, 상기 가상 현실 시스템에 의해 상기 미디어 플레이어 디바이스에 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 제공하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 가상 현실 시스템에 의해, 상기 가상 현실 시스템이 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 상기 미디어 플레이어 디바이스에 제공하는 동안, 상기 미디어 플레이어 디바이스가 상기 경험 선택 데이터 구조를 통해 상기 복수의 엔트리들로부터 다른 엔트리를 선택하는 것을 검출하는 단계로서, 상기 다른 엔트리는 다른 특정 가상 현실 경험에 맞춤화된 다른 특정 가상 현실 데이터세트에 대응하는, 상기 다른 엔트리를 선택하는 것을 검출하는 단계; 및
    상기 미디어 플레이어 디바이스가 상기 다른 엔트리를 선택하는 것을 검출하는 것에 응답하여, 상기 가상 현실 시스템에 의해 상기 미디어 플레이어 디바이스에 상기 다른 특정 가상 현실 경험에 맞춤화된 상기 다른 특정 가상 현실 데이터세트를 제공하는 단계를 더 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 특정 가상 현실 경험은 상기 3D 장면의 제 1 영역과 관련되고;
    상기 다른 특정 가상 현실 경험은 상기 제 1 영역과는 다른 상기 3D 장면의 제 2 영역과 관련되고;
    상기 미디어 플레이어 디바이스는, 상기 3D 장면의 제 1 영역 내의 제 1 위치로부터 상기 3D 장면의 제 2 영역 내의 제 2 위치로 상기 사용자의 가상 뷰포인트의 움직임을 나타내는 사용자 입력을 수신한 것에 응답하여, 상기 다른 특정 가상 현실 경험에 맞춤화된 상기 다른 특정 가상 현실 데이터세트에 대응하는 상기 다른 엔트리를 선택하는, 방법.
  4. 제 1 항에 있어서,
    상기 3D 장면은 실세계 장면의 다른 뷰들을 캡처하기 위해 상기 실세계 장면에 대해 다른 위치들에 배치된 복수의 캡처 디바이스들에 의해 캡처된 상기 실세계 장면의 요소들을 포함하고, 상기 다른 뷰들은 각각 상기 복수의 캡처 디바이스들에서 다른 캡처 디바이스에 의해 캡처되고, 각각 복수의 표면 데이터 프레임 시퀀스들에 포함된 다른 표면 데이터 프레임 시퀀스 내에 묘사되며;
    상기 복수의 표면 데이터 프레임 시퀀스들은, 상기 복수의 캡처 디바이스들에 의해 캡처된 상기 실세계 장면의 상기 다른 뷰들과 정렬되지 않은 상기 실세계 장면의 뷰를 묘사하는 가상화된 표면 데이터 프레임 시퀀스를 포함하고;
    상기 방법은:
    상기 가상 현실 시스템에 의해, 상기 특정 가상 현실 경험을 기술하는 경험 파라미터들의 한 세트를 식별하는 단계; 및
    경험 파라미터들의 상기 식별된 세트에 기초하여 상기 가상 현실 시스템에 의해, 상기 특정 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트로에 포함시키기 위해 표면 데이터 프레임 시퀀스들을 선택하는 단계로서, 상기 프레임 시퀀스 서브세트는 상기 가상화된 표면 데이터 프레임 시퀀스를 포함하는, 상기 표면 데이터 프레임 시퀀스들을 선택하는 단계를 더 포함하고,
    상기 경험 선택 데이터 구조를 생성하는 단계는, 상기 특정 가상 현실 데이터세트가 기반으로 하는 상기 프레임 시퀀스 서브세트에 포함시키기 위한 상기 표면 데이터 프레임 시퀀스의 선택에 기초하여, 상기 경험 선택 데이터 구조 내에 상기 특정 가상 현실 데이터세트에 대응하는 상기 엔트리를 포함시키는 단계를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 가상 현실 시스템 내에 포함된 제 1 서버에 의해, 각각이 상기 3D 장면의 다른 뷰를 묘사하는 컬러 및 깊이 프레임들을 포함하는 복수의 표면 데이터 프레임 시퀀스들 내에 포함된 제 1 표면 데이터 프레임 시퀀스에 액세스하는 단계;
    상기 제 1 서버와는 별도이며 상기 가상 현실 시스템 내에 추가로 포함된 제 2 서버에 의해, 상기 복수의 표면 데이터 프레임 시퀀스들 내에 포함된 제 2 표면 데이터 프레임 시퀀스에 액세스하는 단계;
    상기 제 1 서버에 의해, 상기 가상 현실 시스템 내에 포함되고 네트워크를 통해 상기 제 1 및 제 2 서버와 통신 가능하게 연결된 관리 서버로, 상기 관리 서버로부터 송신된 요청에 응답하여, 제 1 개별 운송 스트림에 의해 상기 제 1 표면 데이터 프레임 시퀀스 내에 포함된 컬러 및 깊이 프레임들을 송신하는 단계; 및
    상기 제 2 서버에 의해, 상기 관리 서버로 상기 요청에 응답하여 그리고 상기 제 1 서버에 의한 송신과 동기를 맞춰, 상기 제 2 개별 운송 스트림에 의해 상기 제 2 표면 데이터 프레임 시퀀스 내에 포함된 컬러 및 깊이 프레임들을 송신하는 단계를 더 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 관리 서버에 의해, 상기 특정 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트에 포함시키기 위해 상기 복수의 표면 데이터 프레임 시퀀스들로부터 표면 데이터 프레임 시퀀스들을 선택하는 단계로서, 상기 프레임 시퀀스 서브세트에 포함시키기 위해 선택된 상기 표면 데이터 프레임은 제 1 및 제 2 표면 데이터 프레임 시퀀스들을 포함하는, 상기 표면 데이터 프레임 시퀀스들을 선택하는 단계;
    상기 프레임 시퀀스 서브세트에 포함시키기 위한 상기 표면 데이터 프레임 시퀀스들의 선택에 응답하여, 상기 관리 서버에 의해 상기 제 1 및 제 2 서버들이 상기 제 1 및 제 2 표면 데이터 프레임 시퀀스들 내에 각각 포함된 상기 컬러 및 깊이 프레임들을 동기를 맞춰 송신하는 것에 대한 상기 요청을 상기 제 1 및 제 2 서버들에 송신하는 단계;
    상기 관리 서버에 의해, 상기 네트워크를 통해 제 1 서버로부터, 상기 제 1 표면 데이터 프레임 시퀀스 내에 포함된 상기 컬러 및 깊이 프레임들을 수신하는 단계;
    상기 관리 서버에 의해, 네트워크를 통해 제 2 서버로부터 그리고 상기 제 1 서버로부터의 상기 컬러 및 깊이 프레임들의 수신에 동기를 맞춰, 상기 제 2 표면 데이터 프레임 시퀀스 내에 포함된 상기 컬러 및 깊이 프레임들을 수신하는 단계; 및
    상기 관리 서버에 의해, 상기 프레임 시퀀스 서브세트에 포함시키기 위해 선택된 상기 표면 데이터 프레임 시퀀스들에 대응하는 비디오 데이터 스트림들을 포함하는 추가적인 운송 스트림을 형성하기 위해 상기 제 1 및 제 2 서버들로부터 수신되는 상기 컬러 및 깊이 프레임들을 패키징하는 단계를 포함하고,
    상기 추가적인 운송 스트림은 상기 미디어 플레이어 디바이스로 스트리밍하도록 구성되고,
    상기 특정 가상 현실 경험에 맞춤화되고 상기 미디어 플레이어 디바이스에 제공되는 상기 특정 가상 현실 데이터세트는 추가적인 운송 스트림을 포함하는, 방법.
  7. 제 5 항에 있어서,
    상기 제 1 및 제 2 개별 운송 스트림들을 통해 상기 제 1 및 제 2 표면 데이터 프레임 시퀀스 내에 포함된 상기 컬러 및 깊이 프레임들을 동기를 맞춰 송신하는 단계는 각각:
    상기 제 1 서버에 의해, 상기 제 1 표면 데이터 프레임 시퀀스 내에 포함된 제 1 컬러 및 깊이 프레임이 상기 제 1 서버에 의해 수신되었다는 것을 나타내는 데이터를 상기 동기화 서버로 송신하는 단계;
    상기 제 2 서버에 의해, 상기 제 2 표면 데이터 프레임 시퀀스 내에 포함되고 상기 제 1 컬러 및 깊이 프레임에 대응하는 제 2 컬러 및 깊이 프레임이 상기 제 2 서버에 의해 수신되었다는 것을 나타내는 데이터를 상기 동기화 서버로 송신하는 단계;
    상기 제 1 및 제 2 컬러 및 깊이 프레임들이 수신되었다는 것을 나타내는 상기 데이터의 송신에 응답하여, 상기 제 1 및 제 2 서버들에 의해, 상기 제 1 및 제 2 컬러 및 깊이 프레임들이 동기를 맞춰 송신되는 지정된 타임프레임을 나타내는 데이터를, 상기 동기화 서버로부터 수신하는 단계; 및
    제 1 및 제 2 서버들에 의해 상기 지정된 타임프레임 내에서 상기 관리 서버로 상기 제 1 및 제 2 컬러 및 깊이 프레임들을 각각 송신하는 단계를 포함하는, 방법.
  8. 제 1 항에 있어서,
    적어도 하나의 비-일시적 컴퓨터-판독가능 매체 상의 컴퓨터-실행가능 명령들로서 구현되는, 방법.
  9. 방법으로서:
    미디어 플레이어 디바이스가 다른 가상 현실 데이터세트들을 처리함으로써 사용자에게 다른 가상 현실 경험들을 제공할 때, 상기 미디어 플레이어 디바이스에 의해 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로부터 다른 엔트리들의 동적 선택을 가능하게 하기 위하여, 상기 미디어 플레이어 디바이스에 의해, 가상 현실 시스템으로부터, 상기 가상 현실 시스템에 의해 생성된 상기 경험 선택 데이터 구조에 액세스하는 단계로서, 상기 복수의 엔트리들 각각은 3 차원(3D) 장면과 연관된 복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응하는, 상기 경험 선택 데이터 구조에 액세스하는 단계;
    상기 미디어 플레이어 디바이스에 의해 그리고 상기 경험 선택 데이터 구조에 의해, 상기 복수의 엔트리들로부터 하나의 엔트리를 선택하는 단계로서, 상기 엔트리는 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응하는, 상기 하나의 엔트리를 선택하는 단계;
    상기 미디어 플레이어 디바이스에 의해 상기 가상 현실 시스템에 상기 경험 선택 데이터 구조에 의해 선택된 상기 엔트리를 나타내는 데이터를 제공하는 단계;
    상기 엔트리를 나타내는 상기 데이터를 제공하는 것에 응답하여, 상기 가상 현실 시스템으로부터 상기 미디어 플레이어 디바이스에 의해, 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 수신하는 단계; 및
    상기 미디어 플레이어 디바이스에 의해, 상기 특정 가상 현실 경험을 상기 사용자에게 제공하기 위해 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 처리하는 단계를 포함하는, 방법.
  10. 제 9 항에 있어서,
    상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 수신하는 단계는, 상기 미디어 플레이어 디바이스를 상기 가상 현실 시스템에 통신 가능하게 결합하는 네트워크를 통해, 각각이 상기 3D 장면의 다른 뷰를 묘사하는 복수의 표면 데이터 프레임 시퀀스들로부터 선택된 표면 데이터 프레임 시퀀스들의 프레임 시퀀스 서브세트에 대응하는 복수의 비디오 데이터 스트림들을 포함하는 운송 스트림을 수신하는 단계를 포함하는, 방법.
  11. 제 9 항에 있어서,
    적어도 하나의 비-일시적 컴퓨터-판독가능 매체 상의 컴퓨터-실행가능 명령들로서 구현되는, 방법.
  12. 시스템으로서:
    적어도 하나의 물리적 컴퓨팅 디바이스를 포함하고, 상기 컴퓨팅 디바이스는:
    미디어 플레이어 디바이스가 다른 가상 현실 데이터세트들을 처리함으로써 사용자에게 다른 가상 현실 경험들을 제공할 때, 상기 미디어 플레이어 디바이스에 의해 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로서, 각각이 3-차원(3D) 장면과 연관된 복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화된 다른 가상 현실 데이터세트에 대응하는 상기 복수의 엔트리들로부터 다른 엔트리들의 동적 선택을 가능하게 하기 위하여, 상기 미디어 플레이어 디바이스에 의해, 가상 현실 시스템으로부터, 상기 가상 현실 시스템에 의해 구성된 상기 경험 선택 데이터 구조를 생성하고,
    상기 경험 선택 데이터 구조를 상기 미디어 플레이어 디바이스에 제공하고;
    상기 미디어 플레이어 디바이스가 상기 경험 선택 데이터 구조를 통해 상기 복수의 엔트리들로부터, 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응하는 엔트리를 검출하고;
    상기 미디어 플레이어 디바이스가 상기 엔트리를 선택하는 것을 검출하는 것에 응답하여 상기 미디어 플레이어 디바이스에 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 제공하는, 시스템.
  13. 제 12 항에 있어서,
    상기 적어도 하나의 물리적 컴퓨팅 디바이스는 추가로:
    상기 적어도 하나의 물리적 컴퓨팅 디바이스가 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 상기 미디어 플레이어 디바이스에 제공하는 동안, 상기 미디어 플레이어 디바이스가 상기 경험 선택 데이터 구조를 통해 상기 복수의 엔트리들로부터 다른 특정 가상 현실 경험에 맞춤화된 다른 특정 가상 현실 데이터세트에 대응하는 다른 엔트리를 선택하는 것을 검출하고,
    상기 미디어 플레이어 디바이스가 상기 다른 엔트리를 선택하는 것을 검출하는 것에 응답하여 상기 미디어 플레이어 디바이스에 상기 다른 가상 현실 경험에 맞춤화된 상기 다른 가상 현실 데이터세트를 제공하는, 시스템.
  14. 제 13 항에 있어서,
    상기 특정 가상 현실 경험은 상기 3D 장면의 제 1 영역과 관련되고;
    상기 다른 특정 가상 현실 경험은 상기 제 1 영역과는 다른 상기 3D 장면의 제 2 영역과 관련되고;
    상기 미디어 플레이어 디바이스는, 상기 3D 장면의 상기 제 1 영역 내의 제 1 위치로부터 상기 3D 장면의 영역의 상기 제 2 영역 내의 제 2 위치로의 상기 사용자의 가상 뷰포인트의 움직임을 나타내는 사용자 입력을 수신한 것에 응답하여, 상기 다른 특정 가상 현실 경험에 맞춤화된 상기 다른 특정 가상 현실 데이터세트에 대응하는 상기 다른 엔트리를 선택하는, 시스템.
  15. 제 12 항에 있어서,
    상기 3D 장면은 실세계 장면의 다른 뷰들을 캡처하기 위해 사기 실세계 장면에 대해 다른 위치에 배치된 복수의 캡처 디바이스들에 의해 캡처된 상기 실세계 장면의 요소들을 포함하고, 상기 다른 뷰들은 각각 상기 복수의 캡처 디바이스들 내의 다른 캡처 디바이스에 의해 캡처되고, 각각 복수의 표면 데이터 프레임 시퀀스들에 포함된 다른 표면 데이터 프레임 시퀀스 내에 묘사되며;
    상기 복수의 표면 데이터 프레임 시퀀스들은 상기 복수의 캡처 디바이스들에 의해 캡처된 상기 실세계 장면의 상기 다른 뷰들과 정렬되지 않은 상기 실세계 장면의 뷰를 묘사하는 가상화된 표면 데이터 프레임 시퀀스를 포함하고;
    상기 적어도 하나의 물리적 컴퓨팅 디바이스는 추가적으로:
    상기 특정 가상 현실 경험을 기술하는 경험 파라미터들의 한 세트를 식별하고,
    상기 경험 파라미터의 식별된 세트에 기초하여, 상기 특정 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트에 포함시키기 위해 상기 복수의 표면 데이터 프레임 시퀀스들로부터 표면 데이터 프레임 시퀀스들을 선택하고, 상기 프레임 시퀀스 서브세트는 상기 가상화된 표면 데이터 프레임 시퀀스를 포함하고,
    상기 적어도 하나의 물리적 컴퓨팅 디바이스는, 상기 특정 가상 현실 데이터세트가 기반으로 하는 상기 프레임 시퀀스 서브세트에 포함시키기 위한 상기 표면 데이터 프레임 시퀀스들의 선택에 기초하여, 상기 경험 선택 데이터 구조 내에 포함시킴으로써 상기 경험 선택 데이터 구조를 생성하고, 상기 엔트리는 상기 특정 가상 현실 데이터세트에 대응하는, 시스템.
  16. 제 12 항에 있어서,
    상기 적어도 하나의 물리적 컴퓨팅 디바이스는:
    각각이 상기 3D 장면의 다른 뷰를 묘사하는 컬러 및 깊이 프레임들을 포함하는 복수의 표면 데이터 프레임 시퀀스들 내에 포함된 제 1 표면 데이터 프레임 시퀀스에 액세스하는 제 1 서버;
    상기 제 1 서버와는 별도이고, 상기 복수의 표면 데이터 프레임 시퀀스들 내에 포함된 제 2 표면 데이터 프레임 시퀀스에 액세스하는 제 2 서버; 및
    네트워크를 통해 상기 제 1 및 제 2 서버들에 통신 가능하게 결합된 관리 서버를 포함하고,
    상기 제 1 서버는 상기 관리 서버로부터 송신된 요청에 응답하여 제 1 개별 운송 스트림을 통해 상기 제 1 표면 데이터 프레임 시퀀스 내에 포함된 컬러 및 깊이 프레임들을 상기 관리 서버에 송신하고,
    상기 제 2 서버는 상기 요청에 응답하여 그리고 상기 제 1 서버에 의한 송신과 동기를 맞춰, 제 2 개별 운송 스트림을 통해 상기 제 2 표면 데이터 프레임 시퀀스 내에 포함된 컬러 및 깊이 프레임을 상기 관리 서버에 송신하는, 시스템.
  17. 제 16 항에 있어서,
    상기 관리 서버는:
    상기 특정 가상 현실 데이터세트가 기반으로 하는 프레임 시퀀스 서브세트에 포함시키기 위해 상기 복수의 표면 데이터 프레임 시퀀스들로부터 표면 데이터 프레임 시퀀스를 선택하고, 상기 프레임 시퀀스 서브세트에 포함시키기 위해 선택된 상기 표면 데이터 프레임 시퀀스들은 상기 제 1 및 제 2 표면 데이터 프레임 시퀀스들을 포함하고;
    상기 프레임 시퀀스 서브세트에 포함시키기 위한 상기 표면 데이터 프레임 시퀀스들의 선택에 응답하여, 상기 제 1 및 제 2 서버들이 상기 제 1 및 제 2 표면 데이터 프레임 시퀀스들 내에 각각 포함된 상기 컬러 및 깊이 프레임들을 동기를 맞춰 송신하는 것에 대한 요청을 상기 제 1 및 제 2 서버들로 송신하고;
    상기 네트워크를 통해 상기 제 1 서버로부터 상기 제 1 표면 데이터 프레임 시퀀스 내에 포함된 상기 컬러 및 깊이 프레임을 수신하고;
    상기 네트워크를 통해 상기 제 2 서버로부터, 상기 제 1 서버로부터의 상기 컬러 및 깊이 프레임들의 수신과 동기를 맞춰, 상기 제 2 표면 데이터 프레임 시퀀스 내에 포함된 상기 컬러 및 깊이 프레임들을 수신하고;
    상기 프레임 시퀀스 서브세트에 포함시키기 위해 선택된 상기 표면 데이터 프레임 시퀀스들에 대응하는 비디오 데이터 스트림들을 포함하는 추가적인 운송 스트림을 형성하기 위해 상기 제 1 및 제 2 서버들로부터 동기를 맞춰 수신된 상기 컬러 및 깊이 프레임들을 패키징하고;
    상기 추가적인 운송 스트림은 상기 미디어 플레이어 디바이스로 스트리밍하도록 구성되고;
    상기 특정 가상 현실 경험에 맞춤화되고 상기 미디어 플레이어 디바이스에 제공되는 상기 특정 가상 현실 데이터세트는 상기 추가적인 운송 스트림을 포함하는, 시스템.
  18. 제 16 항에 있어서,
    상기 제 1 및 제 2 개별 운송 스트림들을 통해 상기 제 1 및 제 2 표면 데이터 프레임 시퀀스들 내에 포함된 상기 컬러 및 깊이 프레임들의 동기를 맞춘 송신은 각각:
    상기 제 1 서버에 의해, 상기 제 1 표면 데이터 프레임 시퀀스 내에 포함된 제 1 컬러 및 깊이 프레임이 상기 제 1 서버에 의해 수신되었다는 것을 나타내는 데이터를 상기 동기화 서버로 송신하는 것;
    상기 제 2 서버에 의해, 상기 제 2 표면 데이터 프레임 시퀀스 내에 포함되고 상기 제 1 컬러 및 깊이 프레임에 대응하는 제 2 컬러 및 깊이 프레임이 상기 제 2 서버에 의해 수신되었다는 것을 나타내는 데이터를 상기 동기화 서버로 송신하는 것;
    상기 제 1 및 제 2 컬러 및 깊이 프레임들이 수신되었다는 것을 나타내는 상기 데이터의 송신에 응답하여, 상기 제 1 및 제 2 컬러 및 깊이 프레임들이 동기를 맞춰 송신되는 지정된 타임프레임을 나타내는 데이터를 상기 동기화 서버로부터 상기 제 1 및 제 2 서버들에 의해 수신하는 것; 및
    상기 지정된 타임프레임 내에서 제 1 및 제 2 서버들에 의해, 상기 제 1 및 제 2 컬러 및 깊이 프레임들을 각각 관리 서버로 송신하는 것을 포함하는, 시스템.
  19. 미디어 플레이어 디바이스로서:
    적어도 하나의 물리적 컴퓨팅 구성요소를 포함하고, 상기 컴퓨팅 구성요소는:
    가상 현실 시스템으로부터, 상기 미디어 플레이어 디바이스가 다른 가상 현실 데이터세트들을 처리함으로써 사용자에게 다른 가상 현실 경험들을 제공할 때, 상기 미디어 플레이어 디바이스에 의해 경험 선택 데이터 구조 내에 포함된 복수의 엔트리들로서, 각각이 3-차원(3D) 장면과 관련된 복수의 가상 현실 경험들 내에 포함된 다른 가상 현실 경험에 맞춤화되는 다른 가상 현실 데이터세트에 대응하는, 복수의 엔트리들로부터 다른 엔트리들의 동적 선택을 가능하게 하기 위하여, 상기 가상 현실 시스템에 의해 생성된 경험 선택 데이터 구조에 액세스하고,
    상기 경험 선택 데이터 구조를 통해, 특정 가상 현실 경험에 맞춤화된 특정 가상 현실 데이터세트에 대응하는 엔트리를 복수의 엔트리들로부터의 선택하고;
    상기 경험 선택 데이터 구조에 의해 선택된 상기 엔트리를 나타내는 데이터를 상기 가상 현실 시스템에 제공하고;
    상기 엔트리를 나타내는 데이터를 제공하는 것에 응답하여, 상기 가상 현실 시스템으로부터 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 수신하고;
    상기 특정 가상 현실 경험을 상기 사용자에게 제공하기 위해 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 처리하는, 미디어 플레이어 디바이스.
  20. 제 19 항에 있어서,
    상기 적어도 하나의 물리적 컴퓨팅 구성요소는, 상기 미디어 플레이어 디바이스를 상기 가상 현실 시스템에 통신 가능하게 결합하는 네트워크를 통해, 각각이 상기 3D 장면의 다른 뷰를 묘사하는 복수의 표면 데이터 프레임 시퀀스들로부터 선택된 표면 데이터 프레임 시퀀스들의 프레임 시퀀스 서브세트에 대응하는 복수의 비디오 데이터 스트림들을 포함하는 운송 스트림을 수신함으로써, 상기 특정 가상 현실 경험에 맞춤화된 상기 특정 가상 현실 데이터세트를 수신하는, 미디어 플레이어 디바이스.
KR1020197035536A 2017-05-31 2018-05-24 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들 KR102502794B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/610,593 2017-05-31
US15/610,593 US10542300B2 (en) 2017-05-31 2017-05-31 Methods and systems for customizing virtual reality data
PCT/US2018/034436 WO2018222500A1 (en) 2017-05-31 2018-05-24 Methods and systems for customizing virtual reality data

Publications (2)

Publication Number Publication Date
KR20200013232A true KR20200013232A (ko) 2020-02-06
KR102502794B1 KR102502794B1 (ko) 2023-02-24

Family

ID=62716128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197035536A KR102502794B1 (ko) 2017-05-31 2018-05-24 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들

Country Status (6)

Country Link
US (3) US10542300B2 (ko)
EP (1) EP3631602B1 (ko)
JP (1) JP7217713B2 (ko)
KR (1) KR102502794B1 (ko)
CN (1) CN110663012B (ko)
WO (1) WO2018222500A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7159057B2 (ja) * 2017-02-10 2022-10-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 自由視点映像生成方法及び自由視点映像生成システム
US20180356885A1 (en) * 2017-06-10 2018-12-13 Tsunami VR, Inc. Systems and methods for directing attention of a user to virtual content that is displayable on a user device operated by the user
WO2019031259A1 (ja) * 2017-08-08 2019-02-14 ソニー株式会社 画像処理装置および方法
JP6409107B1 (ja) * 2017-09-06 2018-10-17 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US11113887B2 (en) * 2018-01-08 2021-09-07 Verizon Patent And Licensing Inc Generating three-dimensional content from two-dimensional images
US10825236B1 (en) * 2018-03-13 2020-11-03 Arvizio, Inc. Composite mesh LOD construction
US10528132B1 (en) * 2018-07-09 2020-01-07 Ford Global Technologies, Llc Gaze detection of occupants for vehicle displays
US11410439B2 (en) 2019-05-09 2022-08-09 Snap Inc. Sequence-of-sequences model for 3D object recognition
KR102522892B1 (ko) * 2020-03-12 2023-04-18 한국전자통신연구원 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치
US20230396751A1 (en) * 2020-10-23 2023-12-07 Google Llc Sender-side geometric fusion of depth data
US11715270B2 (en) * 2021-09-14 2023-08-01 Verizon Patent And Licensing Inc. Methods and systems for customizing augmentation of a presentation of primary content

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120281059A1 (en) * 2011-05-04 2012-11-08 Microsoft Corporation Immersive Remote Conferencing
EP3147758A1 (en) * 2015-09-22 2017-03-29 Facebook, Inc. Systems and methods for content streaming

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60237834D1 (de) 2001-08-15 2010-11-11 Koninkl Philips Electronics Nv 3d videokonferenzsystem
US6938047B2 (en) 2003-02-19 2005-08-30 Maui X-Stream, Inc. Methods, data structures, and systems for processing media data streams
US20090106671A1 (en) * 2007-10-22 2009-04-23 Olson Donald E Digital multimedia sharing in virtual worlds
US20100306671A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Avatar Integrated Shared Media Selection
US10972680B2 (en) 2011-03-10 2021-04-06 Microsoft Technology Licensing, Llc Theme-based augmentation of photorepresentative view
US20130041808A1 (en) * 2011-08-10 2013-02-14 Nathalie Pham Distributed media access
US9674580B2 (en) * 2012-03-31 2017-06-06 Vipeline, Inc. Method and system for recording video directly into an HTML framework
AU2014204252B2 (en) * 2013-01-03 2017-12-14 Meta View, Inc. Extramissive spatial imaging digital eye glass for virtual or augmediated vision
US20150113404A1 (en) * 2013-10-17 2015-04-23 Apple Inc. Publishing Media Content to Virtual Movie Theatres
US9551873B2 (en) * 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
GB2536025B (en) 2015-03-05 2021-03-03 Nokia Technologies Oy Video streaming method
US10715843B2 (en) * 2015-08-20 2020-07-14 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
US10213688B2 (en) 2015-08-26 2019-02-26 Warner Bros. Entertainment, Inc. Social and procedural effects for computer-generated environments
JP6346131B2 (ja) 2015-09-07 2018-06-20 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法
US9674435B1 (en) * 2016-07-06 2017-06-06 Lawrence Maxwell Monari Virtual reality platforms for capturing content for virtual reality displays
US10341672B2 (en) * 2017-02-03 2019-07-02 Korea Advanced Institute Of Science And Technology Method and system for media synchronization
US10783165B2 (en) * 2017-05-17 2020-09-22 International Business Machines Corporation Synchronizing multiple devices
GB2563439B (en) * 2017-06-16 2022-02-16 Canon Kk Methods, devices, and computer programs for improving streaming of portions of media data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120281059A1 (en) * 2011-05-04 2012-11-08 Microsoft Corporation Immersive Remote Conferencing
EP3147758A1 (en) * 2015-09-22 2017-03-29 Facebook, Inc. Systems and methods for content streaming

Also Published As

Publication number Publication date
US20200344507A1 (en) 2020-10-29
US11197038B2 (en) 2021-12-07
CN110663012A (zh) 2020-01-07
US10750213B2 (en) 2020-08-18
EP3631602B1 (en) 2021-06-23
JP2020522191A (ja) 2020-07-27
US20200120370A1 (en) 2020-04-16
US20180352272A1 (en) 2018-12-06
WO2018222500A1 (en) 2018-12-06
JP7217713B2 (ja) 2023-02-03
EP3631602A1 (en) 2020-04-08
CN110663012B (zh) 2023-09-12
US10542300B2 (en) 2020-01-21
KR102502794B1 (ko) 2023-02-24

Similar Documents

Publication Publication Date Title
KR102502794B1 (ko) 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들
US10636220B2 (en) Methods and systems for generating a merged reality scene based on a real-world object and a virtual object
US10699749B2 (en) Methods and systems for customizing virtual reality data
US10699471B2 (en) Methods and systems for rendering frames based on a virtual entity description frame of a virtual scene
US10803653B2 (en) Methods and systems for generating a surface data projection that accounts for level of detail
KR102499904B1 (ko) 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 방법들 및 시스템들
US10347037B2 (en) Methods and systems for generating and providing virtual reality data that accounts for level of detail

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant