KR102611448B1 - Methods and apparatus for delivering content and/or playing back content - Google Patents

Methods and apparatus for delivering content and/or playing back content Download PDF

Info

Publication number
KR102611448B1
KR102611448B1 KR1020227019042A KR20227019042A KR102611448B1 KR 102611448 B1 KR102611448 B1 KR 102611448B1 KR 1020227019042 A KR1020227019042 A KR 1020227019042A KR 20227019042 A KR20227019042 A KR 20227019042A KR 102611448 B1 KR102611448 B1 KR 102611448B1
Authority
KR
South Korea
Prior art keywords
content
image
environment
view
images
Prior art date
Application number
KR1020227019042A
Other languages
Korean (ko)
Other versions
KR20220081390A (en
Inventor
데이비드 콜
알란 맥케이 모스
Original Assignee
네버마인드 캐피탈 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네버마인드 캐피탈 엘엘씨 filed Critical 네버마인드 캐피탈 엘엘씨
Publication of KR20220081390A publication Critical patent/KR20220081390A/en
Application granted granted Critical
Publication of KR102611448B1 publication Critical patent/KR102611448B1/en

Links

Images

Classifications

    • 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/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • 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/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • 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/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/816Monomedia components thereof involving special video data, e.g 3D video
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

콘텐트 전달 및 재생 방법들 및 장치가 기술된다. 방법들 및 장치는 360도 환경에 대응하여 콘텐트의 전달 및 재생에 적합하고, 콘텐트, 예를 들면, 이벤트가 진행중인 동안 또는 이벤트가 종료한 후, 스포츠 게임과 같은 이벤트에 대응하는, 3D 콘텐트의 스트리밍 및/또는 실시간 전달을 지원하기 위해 사용될 수 있다. 환경의 부분들은 상이한 위치들에 위치된 카메라들에 의해 캡처된다. 상이한 위치들로부터 캡처된 콘텐트가 전달을 위해 인코딩되고 이용가능하게 만들어진다. 재생 디바이스는 사용자의 머리의 위치에 기초하여 수신될 콘텐트를 선택한다. 스트림들은 사용자의 현재 시야 및/또는 머리 회전의 방향에 기초하여 전달을 위해 우선 순위화 및 선택될 수 있다. 정지 이미지들 또는 합성된 이미지들은 예를 들면, 배경, 하늘 및/또는 지면 위치들에 대해 하나 이상의 스트림들로부터의 콘텐트와 함께 사용 및 조합될 수 있다.Content delivery and playback methods and devices are described. The methods and apparatus are suitable for delivery and playback of content in response to a 360-degree environment, streaming of content, e.g., 3D content, in response to an event such as a sports game, while the event is in progress or after the event has ended. and/or may be used to support real-time delivery. Portions of the environment are captured by cameras located at different locations. Content captured from different locations is encoded and made available for delivery. The playback device selects content to be received based on the position of the user's head. Streams may be prioritized and selected for delivery based on the user's current field of view and/or direction of head rotation. Still images or composited images can be used and combined with content from one or more streams, for example for background, sky and/or ground locations.

Figure 112022058849417-pat00016
Figure 112022058849417-pat00016

Description

콘텐트를 전달 및/또는 콘텐트를 재생하기 위한 방법들 및 장치{METHODS AND APPARATUS FOR DELIVERING CONTENT AND/OR PLAYING BACK CONTENT}Methods and devices for delivering content and/or playing content {METHODS AND APPARATUS FOR DELIVERING CONTENT AND/OR PLAYING BACK CONTENT}

본 발명은 콘텐트 전달 및/또는 재생, 예를 들면, 입체 영상 이미지 콘텐트의 재생에 관한 것이다.The present invention relates to content delivery and/or playback, for example, playback of stereoscopic image content.

몰입형 경험을 제공하도록 의도되는 디스플레이 디바이스들은 일반적으로 사용자가 그의 머리를 돌려서 디스플레이되는 장면의 대응하는 변화를 경험하게 한다. 헤드 마운트 디스플레이들은, 헤드 마운트 디스플레이를 쓰고 사용자가 몸을 돌릴 수 있어, 사용자의 머리 위치가 변경될 때 디스플레이되는 장면이 변하는 360도 뷰잉을 때때로 지원한다.Display devices intended to provide an immersive experience typically allow a user to turn his head to experience corresponding changes in the displayed scene. Head-mounted displays sometimes support 360-degree viewing, where the user can turn their body while wearing the head-mounted display, so the displayed scene changes as the user's head position changes.

이러한 디바이스들에 의해 사용자는 전방을 바라볼 때 카메라 위치 앞에 캡처된 장면 및 사용자가 완전히 돌아설 때 카메라 위치 뒤에 캡처되는 장면이 제공된다. 사용자가 그의 머리를 후방으로 돌리는 동안, 임의의 주어진 시간에 제한된 시야를 인식하는 사람의 능력의 속성 때문에 임의의 주어진 시간에서 사용자의 시야는 일반적으로 120도 이하로 제한된다.These devices provide the user with a scene captured in front of the camera position when looking forward and a scene captured behind the camera position when the user turns fully around. While the user turns his head backwards, the user's field of view at any given time is typically limited to less than 120 degrees due to the nature of a person's ability to perceive a limited field of view at any given time.

360도의 뷰를 지원하기 위해, 360도 장면은 함께 다수의 카메라들을 사용하여 캡처될 수 있고, 이미지들이 조합되어 뷰잉에 이용가능하게 만들어질 360도 장면을 생성한다.To support a 360-degree view, a 360-degree scene can be captured using multiple cameras together, and the images are combined to create a 360-degree scene that is made available for viewing.

360도 뷰는, 사용자가 특정 시점에 디스플레이될 이미지를 결정하기 위해 사용된 뷰잉각을 변경할 기회를 갖지 못하는 일반 텔레비전 및 많은 다른 비디오 애플리케이션들에 위해 일반적으로 캡처되어, 인코딩된 단순한 전방 뷰보다 아주 많은 이미지 데이터를 포함한다는 것이 이해되어야 한다.A 360-degree view is much more than a simple front view that is typically captured and encoded for regular television and many other video applications where the user does not have the opportunity to change the viewing angle used to determine which image will be displayed at a particular point in time. It should be understood that it includes image data.

송신 제한들, 예를 들면, 스트리밍된 콘텐트와 연관된 네트워크 데이터 제한들이 주어지면, 콘텐트를 수신하고 그와 상호 작용하려 하는 모든 고객들에게 풀 고선명 비디오로 전체 360도 뷰를 스트리밍하는 것이 가능하지 않을 수 있다. 이는 특히 콘텐트가 3D 뷰잉 효과를 허용하기 위해 왼쪽 및 오른쪽 눈 뷰들에 대응하도록 의도된 이미지 콘텐트를 포함하는 입체 영상 콘텐트인 경우이다.Given transmission limitations, such as network data limitations associated with streamed content, it may not be possible to stream a full 360-degree view in full high-definition video to all customers who wish to receive and interact with the content. . This is especially the case when the content is stereoscopic video content containing image content intended to correspond to left and right eye views to allow a 3D viewing effect.

상기 논의의 관점에서, 개인 사용자가, 예를 들면, 사용자의 머리를 돌림으로써, 그의 뷰잉 위치를 변경하게 하고, 환경의 원하는 부분을 보게 하는 방식으로 콘텐트의 스트리밍 및/또는 재생을 지원하기 위한 방법들 및 장치를 위한 필요가 존재한다는 것이 이해되어야 한다. 사용자가, 대역폭 또는 다른 전달 관련 제한들에 의해 적용할 수 있는 데이터 스트리밍 제한들 내에 머무르면서, 그의 머리 위치를 그에 따라 뷰잉 방향을 변경하는 옵션이 제공되는 경우가 바람직하다. 모든 실시예들에 대해 반드시는 아니지만, 적어도 몇몇 실시예들은 상이한 위치들의 다수의 사용자들이, 동일한 시간에서 스트림들을 수신하고, 어느 부분 또는 어느 부분들이 다른 사용자들에 의해 보이는지에 관계없이 그들이 원하는 환경의 어떠한 별개의 부분들이라도 보게 하는 것이 바람직하다.In light of the above discussion, a method for supporting streaming and/or playback of content in a manner that allows an individual user to change his viewing position and view a desired portion of the environment, for example by turning the user's head. It should be understood that a need exists for fields and devices. It would be desirable if the user were given the option to change his or her head position and viewing direction accordingly, while staying within data streaming limitations that may be imposed by bandwidth or other delivery related limitations. Although not necessarily for all embodiments, at least some embodiments allow multiple users in different locations to receive streams at the same time and create the environment they want, regardless of which part or portions are visible to other users. It is desirable to be able to see any separate parts.

360도 뷰잉 영역에 대응하는 비디오 또는 다른 콘텐트의 전달, 예를 들면, 스트리밍을 지원하는 방법들 및 장치가 기술된다. 본 발명의 방법들 및 장치는, 데이터 송신 제한들이 콘텐트의 360도의 전달을, 예를 들면, 최상 품질 코딩 및 가장 높은 지원 프레임 레이트를 사용하여 최대 지원된 품질 레벨로 전달하기 어렵게 할 수 있는 입체 영상 및/또는 다른 이미지 콘텐트의 스트리밍에 특히 적절하다. 그러나, 방법들은 입체 영상 콘텐트로 제한되지 않는다.Methods and apparatus for supporting delivery, e.g., streaming, of video or other content corresponding to a 360-degree viewing area are described. The methods and apparatus of the present invention provide for stereoscopic imaging, where data transmission limitations may make it difficult to deliver 360 degrees of content, e.g., at the maximum supported quality level using best quality coding and the highest supported frame rate. and/or other image content. However, the methods are not limited to stereoscopic video content.

다양한 실시예들에서, 비디오 콘텐트가 획득되는 환경의 3D 모델 및/또는 그에 대응하는 3D 차원 정보가 생성되고 및/또는 액세스된다. 환경에서 카메라 위치들이 기록된다. 다수의 별개의 카메라 위치들이 환경 내에 제공될 수 있다. 예를 들면, 별개의 최종 목표 카메라 위치들 및 하나 이상의 중간 필드 카메라 위치들은 실시간 카메라 피드들을 캡쳐하기 위해 지원 및 사용될 수 있다.In various embodiments, a 3D model of the environment in which video content is acquired and/or corresponding 3D dimensional information is created and/or accessed. Camera positions in the environment are recorded. Multiple distinct camera locations may be provided within the environment. For example, separate final target camera positions and one or more mid-field camera positions can be supported and used to capture real-time camera feeds.

3D 모델 및/또는 다른 3D 정보는 한 명 이상의 사용자들에 비디오를 스트리밍하기 위해 사용된 이미지 캡처 디바이스 또는 서버에 저장된다.The 3D model and/or other 3D information is stored on an image capture device or server used to stream video to one or more users.

3D 모델은 사용자 재생 디바이스, 예를 들면, 이미지 렌더링 및 합성 능력을 갖는 고객 구내 디바이스에 제공된다. 고객 구내 디바이스는, 예를 들면, 헤드 마운트 디스플레이를 통해 고객 구내 디바이스의 사용자에게 디스플레이되는 환경의 3D 표현을 생성한다.The 3D model is provided to a user playback device, such as a customer premises device with image rendering and compositing capabilities. The customer premises device creates a 3D representation of the environment that is displayed to a user of the customer premises device, for example, via a head mounted display.

다양한 실시예들에서, 완전 360도보다 적은 환경이 임의의 주어진 시간에 개별적인 고객 구내 디바이스로 스트리밍된다. 고객 구내 디바이스는 사용자 입력에 기초하여 카메라 피드가 스트리밍되는 것을 나타낸다. 사용자는 고객 구내 디바이스의 부분 또는 그에 부착되는 입력 디바이스를 통해 구획 및/또는 카메라 위치를 선택할 수 있다.In various embodiments, less than a full 360 degree environment is streamed to an individual customer premises device at any given time. The customer premises device indicates that the camera feed is streamed based on user input. A user may select compartments and/or camera locations through an input device attached to or on part of a customer premises device.

몇몇 실시예들에서, 180도 비디오 스트림은 콘텐트를 스트리밍하는 것을 담당하는 서버 및/또는 비디오 카메라들로부터, 예를 들면, 실황의, 실시간, 또는 거의 실시간 스트림으로 고객 재생 디바이스로 송신된다. 재생 디바이스는 사용자의 머리 위치를 모니터링하고, 따라서 재생 디바이스는 재생 디바이스의 사용자가 재생 디바이스에 의해 생성된 3D 환경 내에서 보고 있는 뷰잉 영역을 인식한다. 고객 구내 디바이스는 시청되는 3D 환경의 일 부분에 대해 이용 가능할 때 비디오를 제공하고, 이 비디오 콘텐트는 비디오 콘텐트의 부재시 제공될 시뮬레이션된 3D환경에 대안물로서 교체하거나 또는 디스플레이된다. 재생 디바이스의 사용자가 그의 머리를 돌릴 때, 사용자에게 제공된 환경의 부분들은 비디오 콘텐트로부터 재생 디바이스로 공급, 예를 들면, 스트리밍될 수 있고, 다른 부분들은 3D 모델로부터 합성하여 생성되고 및/또는 비디오 콘텐트와 상이한 시간에 캡처된 이전에 공급된 이미지 콘텐트이다.In some embodiments, the 180-degree video stream is transmitted from the servers and/or video cameras responsible for streaming the content to the customer playback device, for example, as a live, real-time, or near-real-time stream. The playback device monitors the user's head position, so that the playback device recognizes the viewing area in which the user of the playback device is looking within the 3D environment created by the playback device. The customer premises device provides video when available for the portion of the 3D environment being viewed, and this video content is displayed or replaced as an alternative to the simulated 3D environment that would be presented in the absence of the video content. When the user of the playback device turns his head, portions of the environment presented to the user may be fed, e.g., streamed, from the video content to the playback device, and other portions may be compositely created from 3D models and/or video content. This is previously supplied image content that was captured at a different time.

따라서, 재생 디바이스는 예를 들면, 정면 180도 카메라 뷰에 대응하여 게임, 음악 콘서트, 또는 다른 이벤트가 여전히 진행중인 동안, 예를 들면, 스트리밍을 통해 공급된, 비디오를 디스플레이할 수 있고, 3D 환경의 후방 및/또는 측면 부분들은 완전히 합성하여 또는 상이한 시간들에 환경의 측면 또는 후방 영역들의 이미지 콘텐트로부터 생성된다.Thus, the playback device can display video, for example supplied via streaming, while a game, music concert, or other event is still in progress, corresponding to a frontal 180-degree camera view, for example, in a 3D environment. The rear and/or side portions are created either fully compositely or from image content of the side or rear areas of the environment at different times.

사용자가 스트리밍 콘텐트를 제공하는 서버에 위치의 변경을 시그널링함으로써 카메라 위치들을 선택할 수 있지만, 스트리밍 콘텐트를 제공하는 서버는 스트리밍되지 않는 3D 환경의 부분들에 대해 합성 환경을 생성하기에 유용한 정보를 제공할 수 있다.Although the user can select camera positions by signaling a change in position to the server providing the streaming content, the server providing the streaming content can provide useful information for creating a composite environment for parts of the 3D environment that are not streamed. You can.

예를 들면, 몇몇 실시예들에서, 다수의 후면 및 측면 뷰들은 상이한 시간들에서, 예를 들면, 콘텐트의 일 부분을 스트리밍하기 전에 또는 시간상 더 빠른 지점으로부터 캡처된다. 이미지들은 재생 디바이스에서 버퍼링된다. 콘텐트를 제공하는 서버는 비실시간 장면들 또는 이미지들의 일 세트 중 어느 것이 비디오 스트림에 공급되지 않는 환경 부분들의 합성을 위해 사용되는지 재생 디바이스에 시그널링할 수 있고, 몇몇 실시예들에서 이를 시그널링한다. 예를 들면, 앉아있는 콘서트 참여자들의 이미지 및 카메라 위치 뒤에 서있는 콘서트 참여자들의 다른 이미지가 재생 디바이스에 공급 및 저장될 수 있다. 서버는 저장된 이미지 데이터의 세트 중 어느 것이 특정 시점에서 사용되어야 하는지를 시그널링할 수 있다. 따라서, 관객이 서있을 때, 서버는 서있는 관객에 대응하는 이미지가 이미지 합성 동안 배경 180도 뷰에 대해 사용되어야 한다는 것을 시그널링할 수 있고, 반면에 관객이 앉아있을 때, 서버는 그가 3D 카메라 환경의 측면 또는 후방 부분들을 합성할 때 앉아있는 관객에 대응하는 이미지 또는 이미지 합성 정보를 사용해야 한다는 것을 고객 구내 디바이스에 나타낼 수 있다. For example, in some embodiments, multiple back and side views are captured at different times, such as before streaming a portion of the content or from an earlier point in time. Images are buffered on the playback device. The server providing the content may, and in some embodiments does, signal to the playback device which of the non-real-time scenes or sets of images are used for compositing parts of the environment that are not supplied in the video stream. For example, an image of seated concert participants and another image of concert participants standing behind the camera position may be supplied and stored to the playback device. The server may signal which of the set of stored image data should be used at a particular point in time. Thus, when the audience is standing, the server can signal that the image corresponding to the standing audience should be used for the background 180 degree view during image compositing, whereas when the audience is sitting, the server can signal that the image corresponding to the standing audience is to be used for the background 180 degree view during image compositing, while when the audience is sitting, the server can signal that the image corresponding to the standing audience is to be used for the background 180 degree view during image compositing. Alternatively, it may be indicated to the customer premises device that the image or image composition information corresponding to the seated audience member should be used when compositing the rear portions.

적어도 몇몇 실시예들에서, 3D 환경에서 하나 이상의 위치들의 각각에서 카메라들의 배향은 이미지 캡처 동안 추적된다. 환경에서 마커들 및/또는 식별 지점들은 고객 구내 디바이스에 의해 시뮬레이션될 이전에 모델링된 및/또는 맵핑된 3D 환경에 캡처된 이미지들, 예를 들면, 실황 이미지들의 정렬 및/또는 다른 맵핑을 용이하게 하기 위해 사용될 수 있다.In at least some embodiments, the orientation of the cameras at each of one or more locations in the 3D environment is tracked during image capture. Markers and/or identification points in the environment facilitate alignment and/or other mapping of captured images, e.g., live images, to a previously modeled and/or mapped 3D environment to be simulated by a customer premises device. It can be used to do this.

합성 환경 부분들 및 실시간 (스트리밍 비디오)의 혼합은 몰입형 비디오 경험을 제공한다. 환경들은 비디오가 이용 가능하지 않을 때, 예를 들면, 환경이 이전에 모델링되지 않은 경우, 환경을 시뮬레이션하기 위해 사용된 3D 정보를 생성하기 위해 3D 측광법을 사용하여 측정 또는 모델링될 수 있거나, 때때로 측정 또는 모델링된다.A mix of synthetic environment parts and real-time (streaming video) provides an immersive video experience. Environments can be measured or modeled using 3D photometry to generate 3D information used to simulate the environment, or sometimes when video is not available, for example, if the environment has not previously been modeled. Measured or modeled.

결정된 위치들의 실세계 공간에서 기준 마커들의 사용은 이전에 생성된 3D 모델과 함께 비디오의 교정 및 정렬을 돕는다.The use of fiducial markers in real-world space at determined locations aids in calibration and alignment of the video with the previously created 3D model.

각각의 카메라의 위치 추적은 비디오가 캡처될 때 실행된다. 카메라 위치 정보는 X, Y, Z, 및 각도들로 벗어남을 맵핑하는 장소에 관한 것이다(그래서, 우리는 각각의 카메라가 지시되는 곳을 안다). 이는 캡처된 이미지가 환경의 어느 부분에 대응하는지의 쉬운 검출을 허용하고, 캡처된 비디오와 함께 재생 디바이스로 전달될 때, 이미지 표시 동안 재생 디바이스에 의해 생성된 합성 환경에 우리의 비디오 캡처를 자동으로 오버레이하기 위한 재생, 예를 들면, 사용자에게 재생을 허용한다. 스트리밍된 콘텐트는 360도 미만의 뷰, 예를 들면, 카메라 위치 정면의 영역의 캡처된 180도 뷰로 한정될 수 있다. 뷰어가 주위를 볼 때, 뒷쪽으로 돌 때, 뷰어는 시뮬레이션된 배경(검은 공동이 아님)을 볼 것이고, 정면으로 돌 때, 뷰어는 비디오를 볼 것이다.Position tracking of each camera is performed when video is captured. Camera position information is about location mapping in X, Y, Z, and angles (so we know where each camera is pointed). This allows for easy detection of which part of the environment the captured image corresponds to and, when passed along with the captured video to the playback device, automatically matches our video capture to a composite environment created by the playback device during image display. Playback to overlay, for example, allow the user to playback. Streamed content may be limited to a view of less than 360 degrees, for example, a captured 180 degree view of the area in front of the camera position. When the viewer looks around, when turning backwards, the viewer will see a simulated background (not a black cavity), and when turning forward, the viewer will see video.

합성 환경이 상호작용할 수 있고, 몇몇 환경에서 상호작용한다. 몇몇 실시예들에서, 다수의 실제 뷰어들, 예컨대 상이한 고객 구내 디바이스들의 사용자들은 시뮬레이션된 환경에 포함되어, 사용자가 가상 3D 환경에서 그의 친구들과의 게임을 볼 수 있고, 사용자들이 실제로 경기장에 있는 것처럼 보이도록 한다.Synthetic environments can interact, and in some environments they interact. In some embodiments, multiple real viewers, such as users of different customer premises devices, are included in the simulated environment so that the user can watch the game with his friends in a virtual 3D environment, as if the users were actually at the stadium. Make it visible.

사용자들의 이미지들은 시뮬레이션된 환경을 생성할 때 사용을 위해, 고객 구내 디바이스들과 함께 포함되거나 그에 부착된 카메라들에 의해 캡처될 수 있거나, 몇몇 실시예들에서, 캡처되어, 서버에 공급되고, 다른 사용자들, 예를 들면, 그룹의 멤버들에게 제공된다. 사용자 이미지들은 실시간 이미지들일 필요는 없지만 실시간 이미지들일 수 있다.Images of users may be captured by cameras included with or attached to customer premises devices, or, in some embodiments, captured and fed to a server, or, in some embodiments, for use in creating a simulated environment. Provided to users, for example, members of a group. User images need not be, but may be, real-time images.

방법들은 실시간 또는 거의 실시간으로 콘텐트를 인코딩 및 제공하기 위해 사용될 수 있지만, 이러한 실시간 애플리케이션들로 제한되지 않는다. 다수의 사용자들에게 실시간 및 거의 실시간 인코딩 및 스트리밍을 지원하기 위한 능력이 제공되면, 여기에 기술된 방법들 및 장치는 개인들이 이벤트를 보고, 무대 또는 필드를 관찰할 뿐만 아니라 환경, 예를 들면, 운동장 또는 관객의 뷰들로 몸을 돌려서 인식할 수 있는 스포츠 경기들, 콘서트, 및/또는 다른 장소들의 장면들을 스트리밍하기에 적합하다. 360도 뷰잉 및 3D를 지원함으로써, 본 발명의 방법들 및 장치는 사용자에게 사용자가 환경에 존재하고, 사용자의 머리를 왼쪽, 오른쪽, 또는 후방으로 돌리는 경우일 때, 상이한 뷰잉 각들로부터의 장면을 몸을 돌려 관찰하는 자유도를 통해 3D 몰입 경험을 제공하도록 의도된 헤드 마운트 디스플레이들과 함께 사용하기에 적합하다.The methods may be used to encode and provide content in real time or near real time, but are not limited to such real time applications. Given the ability to support real-time and near-real-time encoding and streaming to multiple users, the methods and devices described herein allow individuals to view an event, observe a stage or field, as well as interact with the environment, e.g. It's ideal for streaming scenes from sporting events, concerts, and/or other venues that can be recognized by turning to the stadium or audience views. By supporting 360-degree viewing and 3D, the methods and apparatus of the present invention allow the user to view the scene from different viewing angles when the user is present in the environment and turns the user's head to the left, right, or backwards. It is suitable for use with head-mounted displays intended to provide a 3D immersive experience through the freedom to rotate and observe.

이미지 콘텐트, 예를 들면, 360도 시야에 대응하는 콘텐트를 전달하기 위한 방법들 및 장치가 기술된다. 다양한 실시예들에서, 시야는 환경의 상이한 부분들, 예를 들면, 정면 부분, 적어도 하나의 후방 부분, 상부, 및 하부에 대응한다. 몇몇 실시예들에서, 환경의 왼쪽 및 오른쪽 후방, 예를 들면, 후방 부분들은 개별적으로 생성 및/또는 전달된다. 재생 디바이스는 사용자의 머리의 위치를 모니터링하고 이미지들, 예를 들면, 사용자가 주어진 시간에 보고 있는 환경의 부분에 대응하는 입체 영상 이미지들을 생성하고, 이는 사용자에게 이후 디스플레이된다. 입체 영상 재생의 경우, 개별적인 왼쪽 및 오른쪽 눈 이미지들이 생성된다. 생성된 이미지들은 하나 이상의 장면, 예를 들면, 환경 부분들에 대응할 수 있고, 몇몇 실시예들에서, 그에 대응한다.Methods and apparatus for delivering image content, e.g., content corresponding to a 360 degree field of view, are described. In various embodiments, the field of view corresponds to different portions of the environment, for example, a frontal portion, at least one posterior portion, a top, and a bottom. In some embodiments, the left and right rear, eg, rear portions of the environment are created and/or delivered separately. The playback device monitors the position of the user's head and generates images, for example stereoscopic images, corresponding to the part of the environment the user is viewing at a given time, which are then displayed to the user. For stereoscopic video playback, separate left and right eye images are created. The generated images may correspond to, and in some embodiments correspond to, one or more scenes, eg, parts of the environment.

재생의 시작에서, 사용자의 전방을 바라보는 머리 레벨 위치는 디폴트로서 전방 장면 부분에 대응하도록 설정된다. 사용자가 그의 머리를 돌리고 및/또는 그의 머리를 올리거나 내릴 때, 환경의 다른 부분들이 사용자의 시야로 들어올 수 있다.At the start of playback, the user's forward-looking head level position is set by default to correspond to the forward scene portion. As the user turns his head and/or raises or lowers his head, different parts of the environment may come into the user's field of view.

많은 재생 디바이스들에 대한 대역폭 및 이미지 디코딩 능력들은 이미지 콘텐트를 수신하기 위한 대역폭 및/또는 디바이스의 처리 능력에 의해 제한된다. 몇몇 실시예들에서, 재생 디바이스는 환경의 어느 부분이 사용자의 주요 시야에 대응하는지를 결정한다. 디바이스는 이후 높은 레이트, 예를 들면, 우선 순위 관점으로부터 지정되는 스트림에 의해 풀 해상도로 수신될 상기 부분을 주요 스트림으로 선택한다. 환경의 다른 부분들에 대응하는 콘텐트를 제공하는 하나 이상의 다른 스트림들로부터의 콘텐트가 또한 수신되지만, 일반적으로 더 낮은 데이터 레이트에서 수신된다. 특정 스트림에 대한 콘텐트 전달은, 예를 들면, 콘텐트 전달을 트리거링하기 위해 사용된 신호를 전송함으로써, 재생 디바이스에 의해 개시될 수 있다. 신호는 환경의 일 부분에 대응하는 콘텐트를 제공하거나 또는 스위칭된 디지털 방송의 전달을 개시하는 멀티캐스트 그룹에 연결하기 위해 사용될 수 있다. 멀티캐스트 그룹 연결 신호와 같은 요청 또는 다른 신호를 요청하지 않는 방송 콘텐트의 경우, 디바이스는 콘텐트가 이용 가능한 채널에 대해 동조시킴으로써 수신을 개시할 수 있다.Bandwidth and image decoding capabilities for many playback devices are limited by the bandwidth and/or processing capabilities of the device to receive image content. In some embodiments, the playback device determines which part of the environment corresponds to the user's primary field of view. The device then selects as the main stream that part to be received in full resolution at a higher rate, for example by the stream specified from a priority perspective. Content from one or more other streams providing content corresponding to other parts of the environment is also received, but generally at lower data rates. Content delivery for a particular stream may be initiated by a playback device, for example, by transmitting a signal used to trigger content delivery. The signal may be used to provide content corresponding to a portion of the environment or to connect to a multicast group to initiate delivery of switched digital broadcasts. For broadcast content that does not request a request such as a multicast group connection signal or other signal, the device can initiate reception by tuning to the channel on which the content is available.

특히 콘텐트가 특히 스포츠 경기, 락 콘서트 패션 쇼 또는 다수의 상이한 이벤트들에 대응할 때 주요 동작이 일반적으로 진행되기 때문에, 사용자들이 환경의 전방 뷰 부분에 주로 관심이 있다고 가정하면, 몇몇 실시예들에서, 환경의 전방 뷰 부분은 데이터 송신 우선 순위를 제공받는다. 적어도 몇몇 실시예들에서, 전방 뷰 위치에 대응하는 이미지들은 360도 환경의 하나 이상의 다른 부분들보다 높은 레이트에서 스트리밍된다. 환경의 다른 부분들에 대응하는 이미지들은 더 낮은 데이터 레이트에서 전송되거나 또는 정지 이미지들로서 전송된다. 예를 들면, 상부, 예를 들면, 하늘 및 하부, 예를 들면, 지상 중 하나 이상의 정지 이미지들이 전송될 수 있다.Assuming that users are primarily interested in the forward view portion of the environment, especially when the content corresponds to a sporting event, a rock concert, a fashion show, or a number of different events, since the main action typically takes place, in some embodiments: The forward view portion of the environment is given data transmission priority. In at least some embodiments, images corresponding to the front view location are streamed at a higher rate than one or more other portions of the 360-degree environment. Images corresponding to different parts of the environment are transmitted at a lower data rate or as still images. For example, one or more still images of an upper, eg, sky and a lower, eg, ground, image may be transmitted.

몇몇 실시예들에서, 다수의 정지 캡처된 이미지들은 환경의 하나 이상의 부분들, 예를 들면, 후방 뷰 부분(들) 또는 하늘 부분에 대해 전송된다. 몇몇 실시예들에서, 환경의 일 부분에 대해 정지 이미지들 중 어느 것이 주어진 시간에 사용되어야 하는지를 나타내는 제어 정보가 전송된다. 환경의 일 부분에 대한 정지 이미지들이 전송되는 경우, 그들은 인코딩된 형태로 전송될 수 있고, 이후 다른 이미지 콘텐트와 조합하여 사용을 위해 디코딩된 형태로 메모리에 저장될 수 있다. 이러한 방식으로, 다수의 스트림들이 동일한 프레임 레이트로 동시에 디코딩될 필요가 없기 때문에, 이벤트 동안 요구되는 디코딩 자원들이 감소될 수 있다. 정지 이미지들은 주요 이벤트의 콘텐트를 스트리밍하기 전에 전송될 수 있다. 대안적으로, 환경의 상이한 부분들에 대한 몇몇 이미지들은 전방 뷰잉 위치로부터 사용자의 머리 위치에서 변화가 주어져 재생 동안 그들이 필요한 경우 전송되어, 저장될 수 있다. 정지 또는 흔치 않은 이미지들은 주요한, 예를 들면, 전방, 뷰잉 방향에 대한 콘텐트를 제공하는 콘텐트 스트림의 부분으로서 인코딩 및 전송될 수 있거나, 개별적인 콘텐트 스트림으로서 전송될 수 있다.In some embodiments, multiple still captured images are transmitted of one or more portions of the environment, for example rear view portion(s) or portions of the sky. In some embodiments, control information is transmitted indicating which of the still images for a portion of the environment should be used at a given time. When still images of a portion of the environment are to be transmitted, they may be transmitted in encoded form and then stored in memory in decoded form for use in combination with other image content. In this way, decoding resources required during an event can be reduced because multiple streams do not need to be decoded simultaneously at the same frame rate. Still images may be transmitted prior to streaming the content of the main event. Alternatively, several images of different parts of the environment can be stored and transmitted if they are needed during playback given the change in user's head position from the front viewing position. Still or rare images may be encoded and transmitted as part of a content stream providing content for the primary, eg, front, viewing direction, or they may be transmitted as a separate content stream.

후방에 대응하는 정지 이미지들은 이벤트 전에 캡처된 이미지들 일 수 있고, 때때로 그러한 이미지들이고, 환경의 전방 부분에 대응하는 콘텐트는 이벤트가 진행하고 있는 동안, 예를 들면 실시간으로 캡처 및 스트리밍되는 콘텐트를 포함할 수 있고, 많은 경우들에서, 그를 포함한다.Still images corresponding to the rear may be, and sometimes are, images captured before the event, and content corresponding to the front portion of the environment includes content captured and streamed while the event is taking place, for example in real time. It can, and in many cases, includes him.

예를 들면, 두 개의 상이한 후방 뷰 장면들이 재생 디바이스에 전달 및 저장되는 경우를 생각하자. 하나의 장면은 서있는 자세인 관객에 대응할 수 있고, 다른 이미지는 앉은 자세로 있는 관객에 대응할 수 있다. 제어 정보는 사용자가 그의 머리를 환경의 후방 부분이 가시적인 위치로 돌려야 하는 주어진 시간에 앉아 있거나 서 있는 자세의 관객 이미지 중 어느 것이 사용되는지의 여부를 나타낼 수 있거나, 몇몇 실시예들에서, 그를 나타낸다.For example, consider the case where two different rear view scenes are delivered and stored to a playback device. One scene may correspond to an audience member in a standing position, while another image may correspond to an audience member in a seated position. The control information may indicate, or in some embodiments, indicates whether either an image of the audience in a sitting or standing position is being used at a given time, to which the user should turn his or her head to a position where the rear portion of the environment is visible. .

유사하게, 하늘의 다수의 이미지들은 재생 디바이스로 전달될 수 있고, 인코딩되거나 디코딩된 형태로 재생 디바이스에 저장될 수 있다. 몇몇 실시예들에서, 하늘 부분의 어느 이미지가 제공된 시간에 사용될지가 제어 정보로 전달된다. 다른 실시예들에서, 하늘의 어느 장면이 사용될지는 선택되는 전방 환경 장면 부분과 일치하거나 그에 가까운 하늘 부분을 갖는 전방 장면 영역에 대응하는 하나 이상의 이미지들의 밝기에 기초하여 자동으로 결정되고, 예를 들면, 밝은 전방 장면 영역은 더 적은 구름들을 갖는 밝은 하늘 이미지의 선택을 제어하도록 검출 및 사용될 수 있다. 유사하게, 몇몇 실시예들에서 어두운 전방 환경 영역의 검출은 사용되는 어두운 흐린 하늘 이미지를 초래할 것이다.Similarly, multiple images of the sky can be delivered to a playback device and stored on the playback device in encoded or decoded form. In some embodiments, control information is conveyed as to which image of the portion of the sky will be used at a given time. In other embodiments, which scene of the sky is used is automatically determined based on the brightness of one or more images corresponding to a front scene area that has a portion of the sky that matches or is close to the selected front environment scene portion, for example , bright front scene areas can be detected and used to control the selection of bright sky images with fewer clouds. Similarly, in some embodiments detection of a dark front environmental area will result in a dark cloudy sky image being used.

시야의 환경의 일 부분에 대응하는 이미지가 이용 가능하지 않은 경우들에서, 장면 부분은, 예를 들면, 이용 가능한 환경의 다른 부분들로부터의 콘텐트 또는 정보로부터 합성될 수 있다. 예를 들면, 후방 이미지 부분이 이용 가능하지 않은 경우, 전방 장면 영역의 좌측 및/또는 우측을 형성하는 콘텐트는 환경의 누락된 후방 부분들을 채우기 위해 복사되어 사용될 수 있다. 콘텐트 복제에 추가하여 블러링 및/또는 다른 이미지 처리 동작들은 몇몇 실시예들에서 환경의 누락 부분들을 채우기 위해 사용될 수 있다. 대안적으로, 몇몇 실시예들에서, 작성 정보는 콘텐트 스트림에 제공되고 재생 디바이스는 누락 부분들에 대해 합성 이미지들을 완전하게 생성한다. 비디오 게임 콘텐트와 같은, 그러한 콘텐트는 사실상 현실적일 수 있고 재생 디바이스에 저장된 작성 및/또는 다른 이미지 생성 규칙들로부터 생성된 매우 다양한 이미지 효과들 및 콘텐트를 포함할 수 있다.In cases where an image corresponding to a portion of the environment of view is not available, the scene portion may be synthesized, for example, from content or information from other parts of the environment that are available. For example, if a portion of the rear image is not available, content forming the left and/or right side of the front scene area can be copied and used to fill in the missing rear portions of the environment. In addition to content duplication, blurring and/or other image processing operations may be used to fill in missing parts of the environment in some embodiments. Alternatively, in some embodiments, composition information is provided in the content stream and the playback device creates composite images complete with missing portions. Such content, such as video game content, may be realistic in nature and may include a wide variety of image effects and content generated from authoring and/or other image generation rules stored on the playback device.

몇몇 실시예들에 따라, 재생 시스템을 동작시키는 일 예시적인 방법은 현재 시야에 대응하는 뷰어의 머리 위치를 결정하는 단계; 환경의 제 1 부분에 대응하는 콘텐트를 제공하는 제 1 콘텐트 스트림을 수신하는 단계; 상기 제 1 콘텐트 스트림에 포함된 적어도 일부 수신된 콘텐트 및 ⅰ) 상기 환경의 제 2 부분에 대응하는 저장된 콘텐트 또는 ⅱ) 상기 환경의 제 2 부분을 시뮬레이션하는 합성 이미지에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하는 단계; 및 하나 이상의 생성된 출력 이미지들 중 하나인, 제 1 출력 이미지를 출력하거나 디스플레이하는 단계를 포함한다. 몇몇 실시예들에 따라, 일 예시적인 콘텐트 재생 시스템은: 현재 시야에 대응하는, 뷰어의 머리 위치를 결정하도록 구성된 뷰어 머리 위치 결정 모듈; 환경의 제 1 부분에 대응하는 콘텐트를 제공하는 제 1 콘텐트 스트림을 수신하도록 구성된 콘텐트 스트림 수신 모듈; 상기 제 1 콘텐트 스트림에 포함된 적어도 일부 수신된 콘텐트 및 ⅰ) 상기 환경의 제 2 부분에 대응하는 저장된 콘텐트 또는 ⅱ) 상기 환경의 제 2 부분을 시뮬레이션하는 합성 이미지에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성된 출력 이미지 콘텐트 스트림 기반 생성 모듈; 및 상기 제 1 출력 이미지를 출력하도록 구성된 출력 모듈 또는 상기 제 1 출력 이미지를 디스플레이하도록 구성된 디스플레이 모듈 중 적어도 하나를 포함한다.According to some embodiments, an example method of operating a playback system includes determining a viewer's head position corresponding to the current field of view; Receiving a first content stream providing content corresponding to a first portion of the environment; At least some received content included in the first content stream and one corresponding to the current field of view based on i) stored content corresponding to a second portion of the environment or ii) a composite image simulating the second portion of the environment generating the above output images; and outputting or displaying a first output image, one of one or more generated output images. According to some embodiments, an example content playback system includes: a viewer head position determination module configured to determine a viewer's head position, corresponding to the current field of view; a content stream receiving module configured to receive a first content stream providing content corresponding to a first portion of the environment; At least some received content included in the first content stream and one corresponding to the current field of view based on i) stored content corresponding to a second portion of the environment or ii) a composite image simulating the second portion of the environment an output image content stream-based generation module configured to generate the above output images; and at least one of an output module configured to output the first output image or a display module configured to display the first output image.

다수의 변형들 및 실시예들이 가능하고 후속하는 상세한 설명에서 논의된다.Numerous variations and embodiments are possible and are discussed in the detailed description that follows.

본 발명은 개선된 콘텐트를 전달 및/또는 콘텐트를 재생하기 위한 방법들 및 장치를 제공한다.The present invention provides improved methods and devices for delivering and/or playing content.

도 1은 환경의 하나 이상의 합성된 부분들과 함께 하나 이상의 사용자들에 의해 다음의 디스플레이를 위한 콘텐트를 캡처 및 스트리밍하기 위해 사용될 수 있는 본 발명의 몇몇 실시예들에 따라 구현된 일 예시적인 시스템을 도시하는 도면.
도 2a는 일 예시적인 입체 영상 장면, 에를 들면, 분할되지 않은 풀 360도 입체 영상 장면을 도시하는 도면.
도 2b는 일 예시적인 실시예에 따라 3 개의 예시적인 장면들로 분할된 일 예시적인 입체 영상 장면을 도시하는 도면.
도 2c는 일 예시적인 실시예에 따라 4 개의 장면들로 분할된 일 예시적인 입체 영상 장면을 도시하는 도면.
도 3은 일 예시적인 실시예에 따라 일 예시적인 360도 입체 영상 장면을 인코딩하는 일 예시적인 프로세스를 도시하는 도면.
도 4는 입력 이미지 부분이 동일한 입력 이미지 부분의 상이한 인코딩된 버전들을 생성하기 위해 다양한 인코더들을 사용하여 인코딩되는 방법을 보여주는 일 예를 도시하는 도면.
도 5는 3 개의 부분들로 분할된 입력 입체 영상 장면의 저장된 인코딩된 부분들을 도시하는 도면.
도 6은 도 1의 시스템을 사용하여 구현된 일 예시적인 실시예에 따라 콘텐트를 스트리밍하는 일 예시적인 방법의 단계들을 도시하는 플로차트.
도 7은 본 발명의 특징에 따라 콘텐트를 인코딩 및 스트리밍하기 위해 사용될 수 있는 인코딩 능력을 포함하는 일 예시적인 콘텐트 전달 시스템을 도시하는 도면.
도 8은 도 7의 시스템에 의해 스트리밍된 콘텐트를 수신, 디코딩, 및 디스플레이하기 위해 사용될 수 있는 일 예시적인 콘텐트 재생 시스템을 도시하는 도면.
도 9는 카메라 리그를 교정하기 위해 사용될 수 있는 교정 타깃과 함께 3 개의 상이한 장착 위치들에 장착된 3 개의 카메라 쌍들을 갖는 일 예시적인 카메라 리그를 보여주는 도면.
도 10은 카메라 리그에 장착된 3 개의 카메라 쌍들을 갖는 카메라 리그의 더 집중된 뷰를 보여주는 도면.
도 11은 일 예시적인 실시예에 따라 구현된 일 예시적인 카메라 리그의 상세도.
도 12는 일 예시적인 360 장면 환경, 예를 들면, 360도 장면의 상이한 부분들을 캡처하는 각각의 카메라들의 상이한 카메라 위치들에 대응하는 상이한 뷰잉 영역들/부분들로 분할될 수 있는 360 장면 영역을 도시하는 도면.
도 13은 예시적인 360 장면 영역의 뷰잉 영역들/부분들에 대응하는 및/또는 그들을 포함하도록 위치되는 상이한 카메라들에 의해 캡처될 수 있는 도 12의 예시적인 360 장면 영역의 상이한 부분들을 보여주는 세 개의 상이한 도면들을 포함하는 도면.
도 14a는 본 발명의 일 예시적인 실시예에 따라 재생 디바이스를 동작시키는 일 예시적인 방법의 단계들을 도시하는 플로차트의 제 1 부분을 도시하는 도면.
도 14b는 본 발명의 일 예시적인 실시예에 따라 재생 디바이스를 동작시키는 일 예시적인 방법의 단계들을 도시하는 플로차트의 제 2 부분을 도시하는 도면.
도 14는 도 14a 및 도 14b의 조합을 포함하는 도면.
도 15는 일 예시적인 실시예에 따라 스트림 선택 서브루틴의 단계들을 도시하는 플로차트.
도 16은 일 예시적인 실시예에 따라 스트림 우선 순위화 서브루틴의 단계들을 도시하는 플로차트.
도 17은 일 예시적인 실시예에 따라 서브루틴을 렌더링하는 단계들을 도시하는 플로차트.
도 18은 복수의 콘텐트 스트림들에 대응하는 스트림 정보를 포함하는 일 예시적인 표.
도 19는 본 발명에 따라 구현된 일 예시적인 재생 시스템을 도시하는 도면.
도 20a는 일 예시적인 실시예에 따라 콘텐트 재생 시스템을 동작시키는 일 예시적인 방법의 플로차트의 제 1 부분을 도시하는 도면.
도 20b는 일 예시적인 실시예에 따라 콘텐트 재생 시스템을 동작시키는 일 예시적인 방법의 플로차트의 제 2 부분을 도시하는 도면.
도 20c는 일 예시적인 실시예에 따라 콘텐트 재생 시스템을 동작시키는 일 예시적인 방법의 플로차트의 제 3 부분을 도시하는 도면.
도 20d는 일 예시적인 실시예에 따라 콘텐트 재생 시스템을 동작시키는 일 예시적인 방법의 플로차트의 제 4 부분을 도시하는 도면.
도 20e는 일 예시적인 실시예에 따라 콘텐트 재생 시스템을 동작시키는 일 예시적인 방법의 플로차트의 제 5 부분을 도시하는 도면.
도 20은 도 20a, 도 20b, 도 20c, 도 20d, 및 도 20e의 조합을 포함하는 도면.
도 21은 일 예시적인 콘텐트 재생 시스템, 예를 들면, 일 예시적인 실시예에 따라 디스플레이하기 위해 결합된 콘텐트 재생 디바이스 또는 컴퓨터 시스템의 도면.
도 22는 도 21의 예시적인 콘텐트 재생 시스템에 포함될 수 있는 모듈들의 일 예시적인 어셈블리의 도면.
도 23은 몇몇 실시예들에 따라 도 19의 재생 시스템에서 사용될 수 있는 일 예시적인 스트림 선택 모듈을 도시하는 도면.
도 24는 도 23의 스트림 선택 모듈의 부분으로서 또는 개별 모듈로서 구현될 수 있는 일 예시적인 스트림 우선 순위화 모듈을 도시하는 도면.
1 illustrates an example system implemented in accordance with some embodiments of the invention that can be used to capture and stream content for subsequent display by one or more users with one or more composite portions of an environment. A drawing showing.
FIG. 2A illustrates an exemplary stereoscopic scene, e.g., an unsegmented full 360-degree stereoscopic scene.
Fig. 2B illustrates an example stereoscopic video scene divided into three example scenes according to an example embodiment.
Fig. 2C is a diagram illustrating an example stereoscopic video scene divided into four scenes according to an example embodiment.
FIG. 3 illustrates an example process for encoding an example 360-degree stereoscopic video scene according to an example embodiment.
Figure 4 illustrates an example showing how an input image portion is encoded using various encoders to produce different encoded versions of the same input image portion.
Figure 5 shows stored encoded parts of an input stereoscopic image scene divided into three parts;
FIG. 6 is a flow chart illustrating the steps of an example method of streaming content according to an example embodiment implemented using the system of FIG. 1.
FIG. 7 illustrates an example content delivery system including encoding capabilities that may be used to encode and stream content in accordance with aspects of the present invention.
FIG. 8 illustrates an example content playback system that may be used to receive, decode, and display content streamed by the system of FIG. 7.
FIG. 9 shows an example camera rig having three camera pairs mounted in three different mounting positions along with a calibration target that can be used to calibrate the camera rig.
Figure 10 shows a more focused view of the camera rig with three camera pairs mounted on the camera rig.
11 is a detailed diagram of an example camera rig implemented in accordance with an example embodiment.
12 illustrates an example 360 scene environment, e.g., a 360 scene area that can be divided into different viewing areas/portions corresponding to different camera positions of each camera capturing different portions of the 360-degree scene. A drawing showing.
FIG. 13 shows three different portions of the example 360 scene area of FIG. 12 that can be captured by different cameras positioned to correspond to and/or include viewing areas/portions of the example 360 scene area. A drawing comprising different drawings.
FIG. 14A illustrates a first portion of a flowchart illustrating steps of an example method of operating a playback device in accordance with an example embodiment of the present invention.
FIG. 14B illustrates a second portion of a flowchart illustrating steps of an example method of operating a playback device in accordance with an example embodiment of the present invention.
Figure 14 is a view including a combination of Figures 14A and 14B.
Figure 15 is a flowchart showing steps of a stream selection subroutine according to an example embodiment.
Figure 16 is a flow chart illustrating steps of a stream prioritization subroutine according to one example embodiment.
Fig. 17 is a flowchart showing steps for rendering a subroutine according to an example embodiment.
Figure 18 is an example table containing stream information corresponding to a plurality of content streams.
Figure 19 illustrates an exemplary playback system implemented in accordance with the present invention.
FIG. 20A illustrates a first portion of a flowchart of an example method of operating a content playback system according to an example embodiment.
FIG. 20B illustrates a second portion of a flowchart of an example method of operating a content playback system according to an example embodiment.
FIG. 20C illustrates a third portion of a flowchart of an example method of operating a content playback system according to an example embodiment.
FIG. 20D illustrates a fourth portion of a flowchart of an example method of operating a content playback system according to an example embodiment.
FIG. 20E illustrates a fifth portion of a flowchart of an example method of operating a content playback system according to an example embodiment.
Figure 20 is a view including a combination of Figures 20A, 20B, 20C, 20D, and 20E.
21 is a diagram of an example content playback system, eg, a content playback device or computer system coupled for display, according to an example embodiment.
FIG. 22 is a diagram of an example assembly of modules that may be included in the example content playback system of FIG. 21.
FIG. 23 illustrates an example stream selection module that may be used in the playback system of FIG. 19 in accordance with some embodiments.
FIG. 24 illustrates an example stream prioritization module that may be implemented as part of the stream selection module of FIG. 23 or as a separate module.

도 1은 본 발명의 몇몇 실시예에 따라 구현된 일 예시적인 시스템(100)을 도시한다. 시스템(100)은 하나 이상의 고객 디바이스들, 예를 들면, 고객 구내들에 위치된 재생 디바이스들/콘텐트 플레이어들에 대한 콘텐트 전달, 예를 들면, 이미징 콘텐트 전달을 지원한다. 시스템(100)은 예시적인 이미지 캡처링 디바이스(102), 콘텐트 전달 시스템(104), 통신 네트워크(105), 및 복수의 고객 구내들(106, ..., 110)을 포함한다. 이미지 캡처링 디바이스(102)는 입체 영상 이미지의 캡처링을 지원한다. 이미지 캡처링 디바이스(102)는 본 발명의 피처들에 따라 이미징 콘텐트를 캡처 및 처리한다. 통신 네트워크(105)는, 예를 들면, 하이브리드 광섬유-동축(HFC) 네트워크, 위성 네트워크, 및/또는 인터넷일 수 있다.1 shows an example system 100 implemented in accordance with some embodiments of the present invention. System 100 supports content delivery, eg, imaging content delivery, to one or more customer devices, eg, playback devices/content players located at customer premises. System 100 includes an exemplary image capturing device 102, a content delivery system 104, a communications network 105, and a plurality of customer premises 106,..., 110. The image capturing device 102 supports capturing of stereoscopic images. Image capturing device 102 captures and processes imaging content in accordance with the features of the present invention. Communications network 105 may be, for example, a hybrid fiber-coaxial (HFC) network, a satellite network, and/or the Internet.

콘텐트 전달 시스템(104)은 인코딩 장치(112) 및 콘텐트 스트리밍 디바이스/서버(114)를 포함한다. 인코딩 장치(112)는 본 발명에 따라 이미지 데이터를 인코딩하기 위한 하나 또는 복수의 인코더들을 포함할 수 있고, 몇몇 실시예들에서 그를 포함한다. 인코더들은 장면의 상이한 부분들을 인코딩하고 및/또는 상이한 데이터 레이트들을 갖는 인코딩된 버전들을 생성하기 위해 장면의 제공된 부분을 인코딩하기 위해 동시에 사용될 수 있다. 다수의 인코더들을 동시에 사용하는 것은 실시간 또는 거의 실시간 스트리밍이 지원될 때 특히 유용할 수 있다.Content delivery system 104 includes an encoding device 112 and a content streaming device/server 114. Encoding device 112 may include, and in some embodiments includes, one or a plurality of encoders for encoding image data in accordance with the present invention. Encoders may be used simultaneously to encode different portions of the scene and/or to encode a given portion of the scene to produce encoded versions with different data rates. Using multiple encoders simultaneously can be especially useful when real-time or near-real-time streaming is supported.

콘텐트 스트리밍 디바이스(114)는, 예를 들면, 통신 네트워크(105)를 거쳐, 인코딩된 이미지 콘텐트를 하나 이상의 고객 디바이스들로 전달하기 위해 인코딩된 콘텐트를 스트리밍, 예를 들면, 송신하도록 구성된다. 네트워크(105)를 통해, 콘텐트 전달 시스템(104)은 정보를 전송하고 및/또는 통신 네트워크(105)를 횡단하는 링크(120)에 의해 도면에 도시되는 고객 구내들(106, 110)에 위치된 디바이스들과 정보를 교환할 수 있다.Content streaming device 114 is configured to stream, e.g., transmit, encoded content to deliver the encoded image content to one or more customer devices, e.g., via communications network 105. Via network 105, content delivery system 104 transmits information and/or is located at customer premises 106, 110, shown in the figure, by link 120 traversing communication network 105. Information can be exchanged with devices.

인코딩 장치(112) 및 콘텐트 전달 서버(114)는 도 1 예에서 개별적인 물리적 디바이스들로서 도시되지만, 몇몇 실시예들에서 그들은 콘텐트를 인코딩 및 스트리밍하는 단일 디바이스로서 구현된다. 인코딩 프로세스는, 장면 부분의 왼쪽 및 오른쪽 눈 뷰들에 대응하는 정보가 3D 이미지 뷰잉이 지원될 수 있도록 인코딩된 이미지 데이터로 인코딩되고 그에 포함되는 3D, 예를 들면, 입체 영상, 이미지 인코딩 프로세스일 수 있다. 사용된 특정 인코딩 방법은 본 출원에 대해 중요하지 않고, 다양한 인코더들이 인코딩 장치(112)로서 사용되거나 인코딩 장치(112)를 구현하기 위해 사용될 수 있다.Although encoding device 112 and content delivery server 114 are shown as separate physical devices in the FIG. 1 example, in some embodiments they are implemented as a single device that encodes and streams content. The encoding process may be a 3D, e.g. stereoscopic, image encoding process in which information corresponding to the left and right eye views of a scene portion is encoded and included in encoded image data so that 3D image viewing can be supported. . The specific encoding method used is not critical to the present application, and various encoders may be used as or to implement encoding device 112.

각각의 고객 구내(106, 110)는 콘텐트 스트리밍 디바이스(114)에 의해 스트리밍된 이미징 콘텐트를 디코딩 및 재생/디스플레이하기 위해 사용된 복수의 디바이스들/플레이어들, 예를 들면, 재생 시스템들을 포함할 수 있다. 고객 구내 1(106)는 디스플레이 디바이스(124)에 결합된 디코딩 장치/재생 디바이스(122)를 포함하고, 고객 구내 N(110)은 디스플레이 디바이스(128)에 결합된 디코딩 장치/재생 디바이스(126)를 포함한다. 몇몇 실시예들에서, 디스플레이 디바이스들(124, 128)은 헤드 마운트 입체 영상 디스플레이 디바이스들이다. 몇몇 실시예들에서, 재생 디바이스(122/126) 및 헤드 마운트 디바이스(124/128)는 함께 재생 시스템을 형성한다.Each customer premises 106, 110 may include a plurality of devices/players, e.g., playback systems, used to decode and play/display imaging content streamed by content streaming device 114. there is. Customer Premise 1 (106) includes a decoding device/playback device (122) coupled to a display device (124) and Customer Premise N (110) includes a decoding device/playback device (126) coupled to a display device (128). Includes. In some embodiments, display devices 124, 128 are head mounted stereoscopic display devices. In some embodiments, playback devices 122/126 and head mounted devices 124/128 together form a playback system.

다양한 실시예들에서, 디코딩 장치(122, 126)는 대응하는 디스플레이 디바이스들(124, 128)상에 이미징 콘텐트를 나타낸다. 디코딩 장치/플레이어들(122, 126)은 디코딩된 콘텐트를 사용하여 이미징 콘텐트를 생성하는 콘텐트 전달 시스템(104)으로부터 수신된 이미징 콘텐트를 디코딩할 수 있고 디스플레이 디바이스들(124, 128)상에 이미징 콘텐트, 예를 들면, 3D 이미지 콘텐트를 렌더링할 수 있는 디바이스들일 수 있다. 디코딩 장치/재생 디바이스들(122, 126) 중 어느 하나는 도 8에 도시된 디코딩 장치/재생 디바이스(800)로서 사용될 수 있다. 도 8 및 도 19에 도시된 것과 같은 시스템/재생 디바이스는 디코딩 장치/재생 디바이스들(122, 126) 중 어느 하나로서 사용될 수 있다.In various embodiments, decoding devices 122 and 126 present imaging content on corresponding display devices 124 and 128. Decoding devices/players 122, 126 may decode imaging content received from content delivery system 104, which generates imaging content using the decoded content and displays imaging content on display devices 124, 128. , for example, may be devices capable of rendering 3D image content. Either of the decoding device/playback devices 122, 126 may be used as the decoding device/playback device 800 shown in FIG. 8. A system/playback device such as the one shown in FIGS. 8 and 19 may be used as either the decoding device/playback devices 122 and 126.

도 2a는 분할되지 않은 일 예시적인 입체 영상 장면(200), 예를 들면, 풀 360도 입체 영상 장면을 도시한다. 입체 영상 장면은 단일 비디오 캡처 플랫폼 또는 카메라 마운트상에 종종 장착된, 다수의 카메라들, 예를 들면, 카메라들로부터 캡처된 이미지 데이터를 조합한 결과일 수 있고, 일반적으로 그러한 결과이다.FIG. 2A illustrates an example unsegmented stereoscopic scene 200, e.g., a full 360-degree stereoscopic scene. A stereoscopic scene can, and usually is, the result of combining image data captured from multiple cameras, for example, cameras, often mounted on a single video capture platform or camera mount.

도 2b는 예시적인 입체 영상 장면(200)의 분할된 버전(250)을 도시하고, 장면은 3(N=3) 개의 예시적인 부분들, 예를 들면, 일 예시적인 실시예에 따라 정면 180도 부분, 왼쪽 후방 90도 부분 및 오른쪽 후반 90도 부분으로 분할된다.2B shows a segmented version 250 of an example stereoscopic scene 200, where the scene is divided into three (N=3) example portions, e.g., a frontal 180 degree angle according to one example embodiment. It is divided into a left posterior 90-degree portion and a right posterior 90-degree portion.

도 2c는 일 예시적인 실시예에 따라 4(N=4) 개의 부분들로 분할된 예시적인 입체 영상 장면(200)의 다른 분할된 버전(280)을 도시한다.FIG. 2C shows another segmented version 280 of an example stereoscopic scene 200 divided into four (N=4) portions according to one example embodiment.

도 2b 및 도 2c는 두 개의 예시적인 부분들을 도시하지만, 이는 다른 분할들이 가능하다는 것이 이해되어야 한다. 예를 들면, 장면(200)은 12(n=12) 개의 30도 부분들로 분할될 수 있다. 하나의 이러한 실시예에서, 각각의 부분을 개별적으로 인코딩하는 것보다, 다수의 부분들이 함께 그룹핑되고 그룹으로서 인코딩된다. 부분들의 상이한 그룹들이, 장면의 총 각도들에 의해 동일하지만 사용자의 머리 위치, 예를 들면, 0도 내지 360도의 범위상에 측정된 뷰잉각에 의존하여 스트리밍될 수 있는 이미지의 상이한 부분들에 대응하는 각각의 그룹의 크기를 갖고 인코딩되어 사용자에게 스트리밍될 수 있다.2B and 2C show two example portions, but it should be understood that other divisions are possible. For example, scene 200 may be divided into 12 (n=12) 30 degree portions. In one such embodiment, rather than encoding each portion individually, multiple portions are grouped together and encoded as a group. Different groups of parts correspond to different parts of the image that can be streamed depending on the viewing angle, which is equal to the total angles of the scene but is measured on the user's head position, e.g., in the range of 0 degrees to 360 degrees. It can be encoded with the size of each group and streamed to the user.

도 3은 일 예시적인 실시예에 따라 일 예시적인 360도 입체 영상 장면을 인코딩하는 일 예시적인 프로세스를 도시한다. 도 3에 도시된 방법(300)에 대한 입력은, 예를 들면, 장면의 360도 뷰를 캡처하도록 구성된 복수의 카메라들에 의해 캡처된 360도 입체 영상 이미지 데이터를 포함한다. 입체 영상 이미지 데이터, 예를 들면, 입체 영상 비디오는 다양한 알려진 포맷들 중 어느 하나일 수 있고, 대부분의 실시예들에서, 3D 경험을 허용하기 위해 사용된 왼쪽 및 오른쪽 눈 이미지 데이터를 포함한다. 방법들은 입체 영상 비디오에 특히 적합하지만, 여기에 기술된 기술들 및 방법들은 또한 예를 들면, 360도 또는 작은 장면 영역의 2D 이미지들에 적용될 수 있다.3 illustrates an example process for encoding an example 360-degree stereoscopic video scene, according to an example embodiment. Input to the method 300 shown in FIG. 3 includes, for example, 360-degree stereoscopic image data captured by a plurality of cameras configured to capture a 360-degree view of a scene. Stereoscopic image data, for example stereoscopic video, may be in any of a variety of known formats and, in most embodiments, includes left and right eye image data used to allow for a 3D experience. Although the methods are particularly suitable for stereoscopic video, the techniques and methods described herein can also be applied to 2D images of, for example, 360 degrees or small scene areas.

단계(304)에서, 장면 데이터(302)는 상이한 장면 영역들, 예를 들면, 상이한 뷰잉 방향들에 대응하는 N 개의 장면 영역들에 대응하는 데이터로 분할된다. 예를 들면, 도 2b에 도시된 것과 같은 일 실시예에서, 360도 장면 영역은 90도 부분에 대응하는 왼쪽 후방 부분, 정면 180도 부분, 및 오른쪽 후방 90도 부분의 세 개의 부분들로 분할된다. 상이한 부분들은 상이한 카메라들에 의해 캡처되었을 수 있지만, 이는 반드시는 아니고, 실제로 360도 장면은 도 2b 및 도 2c에 도시되는 N 개의 장면 영역들로 나눠지기 전에 다수의 카메라들로부터 캡처된 데이터로부터 편집될 수 있다.At step 304, the scene data 302 is divided into data corresponding to different scene areas, eg, N scene areas corresponding to different viewing directions. For example, in one embodiment, as shown in Figure 2B, the 360-degree scene area is divided into three parts: a left rear portion, a front 180-degree portion, and a right rear 90-degree portion, corresponding to the 90-degree portion. . Different parts may have been captured by different cameras, but this is not necessarily the case, and in practice the 360-degree scene is compiled from data captured from multiple cameras before being divided into the N scene regions shown in Figures 2b and 2c. It can be.

단계(306)에서, 상이한 장면 부분들에 대응하는 데이터가 본 발명에 따라 인코딩된다. 몇몇 실시예들에서, 각각의 장면 부분은 각각의 부분에 대해 다수의 가능한 비트 레이트 스트림들을 지원하기 위해 다수의 인코더들에 의해 독립적으로 인코딩된다. 단계(308)에서, 인코딩된 장면 부분들은, 예를 들면, 고객 재생 디바이스들로 스트리밍을 위해 콘텐트 전달 시스템(104)의 콘텐트 전달 서버(114)에 저장된다.At step 306, data corresponding to different scene parts are encoded according to the invention. In some embodiments, each scene portion is encoded independently by multiple encoders to support multiple possible bit rate streams for each portion. At step 308, the encoded scene portions are stored in the content delivery server 114 of the content delivery system 104 for streaming, for example, to customer playback devices.

도 4는 입력 이미지 부분, 예를 들면, 장면의 180도 정면 부분이 동일한 입력 이미지 부분의 상이한 인코딩된 버전들을 생성하기 위해 다양한 인코더들을 사용하여 인코딩되는 방법을 보여주는 일 예를 도시하는 도면(400)이다.4 illustrates an example 400 showing how an input image portion, e.g., a 180 degree frontal portion of a scene, is encoded using various encoders to produce different encoded versions of the same input image portion. am.

도면(400)에 도시된 바와 같이, 입력 장면 부분(402), 예를 들면, 장면의 180도 정면 부분은 인코딩을 위해 복수의 인코더들에 공급된다. 상기 예에서, 이미지 콘텐트의 상이한 데이터 레이트 스트림들을 지원하기 위해 인코딩된 데이터를 생성하기 위해 상이한 해상도들을 갖고 상이한 인코딩 기술들을 사용하여 입력 데이터를 인코딩하는 K 개의 상이한 인코더들이 존재한다. 복수의 K 개의 인코더들은 고화질(HD) 인코더1(404), 표준 화질(SD) 인코더2(406), 감소된 프레임 레이트 SD 인코더3(408), ..., 및 고압축 감소된 프레임 레이트 SD 인코더K(410)를 포함한다.As shown in diagram 400, an input scene portion 402, e.g., a 180 degree frontal portion of the scene, is fed to a plurality of encoders for encoding. In the above example, there are K different encoders that encode the input data with different resolutions and using different encoding techniques to produce encoded data to support different data rate streams of image content. The plurality of K encoders includes high definition (HD) encoder 1 (404), standard definition (SD) encoder 2 (406), reduced frame rate SD encoder 3 (408), ..., and high compression reduced frame rate SD encoder. Includes K (410).

HD 인코더1(404)는 고 비트 레이트 HD 인코딩된 이미지(412)를 생성하기 위해 풀 고화질(HD) 인코딩을 수행하도록 구성된다. SD 인코더2(406)는 입력 이미지의 SD 인코딩된 버전2(414)을 생성하기 위해 저해상도 표준 화질 인코딩을 수행하도록 구성된다. 감소된 프레임 레이트 SD 인코더3(408)는 입력 이미지의 감소된 레이트 SD 인코딩된 버전3(416)을 생성하기 위해 감소된 프레임 레이트 저해상도 SD 인코딩을 수행하도록 구성된다. 감소된 프레임 레이트는 예를 들면, 인코딩을 위해 SD 인코더2(406)에 의해 사용된 프레임 레이트의 절반일 수 있다. 고압축 감소 프레임 레이트 SD 인코더K(410)는 입력 이미지의 고압축된 감소 레이트 SD 인코딩 버전K(420)을 생성하기 위해 고압축에 의해 감소된 프레임 레이트 저해상도 SD 인코딩을 수행하도록 구성된다.HD encoder 1 (404) is configured to perform full high definition (HD) encoding to generate a high bit rate HD encoded image (412). SD Encoder2 (406) is configured to perform low-resolution standard definition encoding to produce SD encoded version2 (414) of the input image. Reduced frame rate SD encoder3 408 is configured to perform reduced frame rate low resolution SD encoding to produce a reduced rate SD encoded version3 416 of the input image. The reduced frame rate may be, for example, half the frame rate used by SD Encoder2 406 for encoding. High compression reduced frame rate SD encoder K 410 is configured to perform reduced frame rate low resolution SD encoding with high compression to produce a highly compressed reduced rate SD encoded version K 420 of the input image.

따라서, 공간적 및/또는 시간적 해상도의 제어가 상이한 데이터 레이트들의 데이터 스트림들을 생성하기 위해 사용될 수 있고, 데이터 압축의 레벨과 같은 다른 인코더 설정들의 제어는 또한 단독으로 사용될 수 있거나, 하나 이상의 바람직한 데이터 레이트들에 의해 장면 부분에 대응하는 데이터 스트림들을 생성하기 위해 공간적 및/또는 시간적 해상도의 제어에 추가하여 사용될 수 있다는 것이 이해되어야 한다.Accordingly, control of spatial and/or temporal resolution can be used to generate data streams of different data rates, and control of other encoder settings, such as the level of data compression, can also be used alone or at one or more preferred data rates. It should be understood that may be used in addition to control of spatial and/or temporal resolution to generate data streams corresponding to scene parts.

도 5는 3 개의 예시적인 부분들로 분할되는 입력 입체 영상 장면의 저장된 인코딩된 부분들(500)을 도시한다. 저장된 인코딩된 부분들은, 예를 들면, 메모리의 데이터/정보로서, 콘텐트 전달 시스템(104)에 저장될 수 있다. 입체 영상 장면의 저장된 인코딩된 부분들(500)은 인코딩된 부분들의 3 개의 상이한 세트들을 포함하고, 각각의 부분은 상이한 장면 부분에 대응하고, 각각의 세트는 대응하는 장면 부분의 복수의 상이한 인코딩된 버전들을 포함한다. 각각의 인코딩된 버전은 인코딩된 비디오 데이터의 버전이고 따라서 코딩된 다수의 프레임들을 나타낸다. 비디오인 각각의 인코딩된 버전(510, 512, 516)이 다수의 시간 기간들에 대응하고, 스트리밍할 때, 부분, 예를 들면, 재생되는 시간 기간에 대응하는 프레임들이 송신 목적들을 위해 사용되는 것이 이해되어야 한다.Figure 5 shows stored encoded portions 500 of an input stereoscopic video scene divided into three example portions. The stored encoded portions may be stored in content delivery system 104, for example, as data/information in memory. The stored encoded portions 500 of a stereoscopic image scene include three different sets of encoded portions, each portion corresponding to a different scene portion, and each set a plurality of different encoded portions of the corresponding scene portion. Includes versions. Each encoded version is a version of encoded video data and therefore represents a number of coded frames. Each encoded version 510, 512, 516 of video corresponds to multiple time periods, and when streaming, a portion, e.g., frames corresponding to the time period being played, is used for transmission purposes. It must be understood.

도 4에 관하여 상기에 도시 및 논의된 바와 같이, 각각의 장면 부분, 예를 들면, 정면, 후방 장면 부분들은 동일한 장면 부분의 K 개의 상이한 버전들을 생성하기 위해 복수의 상이한 인코더들을 사용하여 인코딩될 수 있다. 제공된 입력 장면에 대응하는 각각의 인코더의 출력들은 함께 하나의 세트로서 그룹핑되고 저장된다. 인코딩된 장면 부분들(502)의 제 1 세트는 정면 180도 장면 부분에 대응하고, 정면 180도 장면의 인코딩 버전1(510), 정면 180도 장면의 인코딩된 버전2(512), ..., 및 정면 180도 장면의 인코딩된 버전K(516)을 포함한다. 인코딩된 장면 부분들(504)의 제 2 세트는 장면 부분2, 예를 들면, 90도 왼쪽 후방 장면 부분에 대응하고, 90도 왼쪽 후방 장면 부분의 인코딩된 버전1(520), 90도 왼쪽 후방 장면 부분의 인코딩된 버전2(522), ..., 및 90도 왼쪽 후방 장면 부분의 인코딩된 버전K(526)을 포함한다. 유사하게 인코딩된 장면 부분들(506)의 제 3 세트는 장면 부분3, 예를 들면, 90도 오른쪽 후방 장면 부분에 대응하고, 90도 오른쪽 후방 장면 부분의 인코딩된 버전1(530), 90도 오른쪽 후방 장면 부분의 인코딩된 버전2(532), ..., 및 90도 오른쪽 후방 장면 부분의 인코딩된 버전K(536)를 포함한다.As shown and discussed above with respect to FIG. 4, each scene portion, e.g., front, rear scene portions, may be encoded using a plurality of different encoders to generate K different versions of the same scene portion. there is. The outputs of each encoder corresponding to the provided input scene are grouped and stored together as a set. The first set of encoded scene portions 502 corresponds to a frontal 180 degree scene portion, encoded version 1 of the frontal 180 degree scene 510, encoded version 2 of the frontal 180 degree scene 512,... , and an encoded version K 516 of the frontal 180-degree scene. A second set of encoded scene portions 504 corresponds to scene portion 2, e.g., 90 degree left rear scene portion, and encoded version 1 520 of 90 degree left rear scene portion, 90 degree left rear. Includes encoded versions 2 (522) of the scene portion, ..., and encoded versions K (526) of the 90 degree left rear scene portion. A third set of similarly encoded scene portions 506 correspond to scene portion 3, e.g., a 90 degree right rear scene portion, and an encoded version 1 530 of the 90 degree right rear scene portion, 90 degrees It includes encoded versions 2 532 of the right rear scene portion, ..., and encoded versions K 536 of the 90 degree right rear scene portion.

360도 장면의 다양한 상이한 저장된 인코딩된 부분들은 고객 재생 디바이스들로 전송하기 위해 다양한 상이한 비트 레이트 스트림들을 생성하기 위해 사용될 수 있다. A variety of different stored encoded portions of a 360-degree scene can be used to generate a variety of different bit rate streams for transmission to customer playback devices.

도 6은 일 예시적인 실시예에 따라 이미지 콘텐트를 제공하는 일 예시적인 방법의 단계들을 도시하는 플로차트(600)이다. 플로차트(600)의 방법은 도 1에 도시된 캡처링 시스템을 사용하여 몇몇 실시예들에서 구현된다.FIG. 6 is a flowchart 600 illustrating steps of an example method of providing image content, according to an example embodiment. The method of flowchart 600 is implemented in some embodiments using the capturing system shown in FIG. 1.

방법은, 예를 들면, 전력이 공급되고 초기화되는 전달 시스템에 의해 단계(602)에서 시작한다. 방법은 시작 단계(602)로부터 단계들(604)로 진행한다. 단계(604)에서, 콘텐트 전달 시스템(104), 예를 들면, 시스템(104) 내 서버(11)는 콘텐트에 대한 요청, 예를 들면, 이전에 인코딩된 프로그램, 또는 몇몇 경우들에서, 실시간 또는 거의 실시간으로, 예를 들면, 이벤트가 여전히 진행중인 동안, 인코딩 및 스트리밍되는 실황 이벤트에 대한 요청을 수신한다.The method begins at step 602, for example, with the delivery system being powered and initialized. The method proceeds from start step 602 to steps 604. At step 604, content delivery system 104, e.g., server 11 within system 104, delivers a request for content, e.g., a previously encoded program, or in some cases, real-time or Receive requests for live events to be encoded and streamed in near real-time, for example, while the event is still in progress.

요청에 응답하여, 단계(606)에서, 서버(114)는 전달을 위해 이용 가능한 데이터 레이트를 결정한다. 데이터 레이트는 지원된 데이터 레이트들을 나타내는 요청에 포함된 정보로부터 및/또는 콘텐트를 요청하는 디바이스로 전달하기 위해 이용 가능한 최대 대역폭을 나타내는 네트워크 정보와 같은 다른 정보로부터 결정될 수 있다. 이해되는 바와 같이, 이용 가능한 데이터 레이트는 네트워크 부하에 따라 변할 수 있고, 콘텐트가 스트리밍되는 시간 기간 동안 변할 수 있다. 변경들은 사용자 디바이스에 의해 보고되거나 패킷들이 드롭되거나 네트워크가 사용되는 데이터 레이트를 지원하는 것에 어려움을 갖는 것 및 현재 이용 가능한 데이터 레이트가 사용을 위해 이용 가능하다고 결정된 원래의 데이터 레이트보다 낮다는 것을 나타내는 바람직한 시간량을 넘어서 지연된다는 것을 나타내는 메시지들 또는 신호들로부터 검출될 수 있다.In response to the request, at step 606, server 114 determines the data rate available for delivery. The data rate may be determined from information included in the request indicating supported data rates and/or from other information, such as network information indicating the maximum bandwidth available to deliver content to the requesting device. As will be appreciated, the available data rate may vary depending on network load and may vary over the period of time the content is streamed. Changes are reported by the user device or packets are dropped or the network has difficulty supporting the data rate being used and the desired data rate is lower than the original data rate determined to be available for use. It can be detected from messages or signals indicating a delay beyond an amount of time.

동작은 단계(606)로부터 단계(608)로 진행하고, 콘텐트를 위한 요청이 초기화되는 사용자 디바이스의 현재 머리 위치, 예를 들면, 요청 시간에서 현재 머리 위치는 0도 위치이다. 0도 또는 전방을 바라보는 위치는 재초기화가 발생할 것을 시그널링하는 재생 디바이스에 의해 사용자에 의해 몇몇 실시예들에서 재초기화될 수 있다. 예를 들면, 원래의 머리 위치에 관하여, 시간에 걸쳐 사용자의 머리 위치 및/또는 사용자의 머리 위치의 변경들은 콘텐트 전달 시스템(104)에 보고되고 갱신 위치는 이하에 논의되는 바와 같이 콘텐트 전달 결정들을 수행하기 위해 사용된다.Operation proceeds from step 606 to step 608, where the current head position of the user device at which the request for content is initiated, e.g., the current head position at the time of the request, is the 0 degree position. The 0 degree or forward-facing position may in some embodiments be reinitialized by the user with the playback device signaling that reinitialization is to occur. For example, with respect to the original head position, the user's head position and/or changes in the user's head position over time are reported to the content delivery system 104 and the update location makes content delivery decisions, as discussed below. It is used to perform.

동작은 단계(608)로부터 단계(610)로 진행하고, 요청된 콘텐트에 대응하는 360도 장면의 부분들이 재생 디바이스를 초기화하기 위해 전송된다. 적어도 몇몇 실시예들에서, 초기화는 장면 데이터의 풀 360도 세트, 예를 들면, N 개의 부분들을 전송하는 것을 포함하고, 360도 장면은 N 개의 부분들로 나눠진다.Operation proceeds from step 608 to step 610, where portions of the 360-degree scene corresponding to the requested content are sent to initialize the playback device. In at least some embodiments, initialization includes transmitting a full 360-degree set of scene data, e.g., N portions, with the 360-degree scene divided into N portions.

단계(610)에서 초기화의 결과로서, 재생 디바이스는 360도 가능한 뷰잉 영역의 상이한 부분들의 각각에 대응하는 장면 데이터를 가질 것이다. 따라서, 재생 디바이스의 사용자가 갑자기 후방으로 몸을 돌리는 경우, 사용자가 그의 머리를 돌리기 전에 보고 있었던 부분만큼 최신이 아닐지라도, 적어도 일부 데이터가 사용자에게 디스플레이하기 위해 이용 가능할 것이다.As a result of the initialization in step 610, the playback device will have scene data corresponding to each of the different parts of the 360-degree viewing area. Accordingly, if the user of the playback device suddenly turns backwards, at least some data will be available for display to the user, even if it may not be as current as the portion the user was looking at before turning his head.

동작은 단계(610)로부터 단계들(612, 622)로 진행한다. 단계(622)는 재생 디바이스가 적어도 한번의 모든 전체 갱신 기간에 전체 360도 장면의 갱신된 버전을 수신하는 것을 확인하기 위해 사용되는 전체 장면 갱신 경로에 대응한다. 단계(610)에서 초기화되면, 전체 갱신 프로세스는 미리 결정된 시간 기간 동안 대기 단계(622)에서 지연된다. 이후 단계(624)에서, 360도 장면 갱신이 수행된다. 점선 화살표(613)는 장면 부분들이 단계(622)에 대응하는 지원 기간 동안 재생 디바이스로 전달되는 정보의 전달을 나타낸다. 단계(624)에서, 전체 360도 장면이 송신될 수 있다. 그러나, 몇몇 실시예들에서, 모든 부분들이 단계(624)에서 송신되지는 않는다. 대기 기간(622) 동안 갱신된 장면의 부분들은, 그들이 사용자의 머리 위치에 기초하여 장면의 적어도 몇몇 부분들을 전송하는 정규 스트리밍 프로세스들 동안 이미 리프레시되기 때문에, 몇몇 실시예들에서 단계(624)에서 수행된 갱신으로부터 생략된다.Operation proceeds from step 610 to steps 612 and 622. Step 622 corresponds to the full scene update path used to ensure that the playback device receives an updated version of the full 360-degree scene at least once every full update period. Once initiated at step 610, the entire update process is delayed at wait step 622 for a predetermined period of time. In a later step 624, a 360-degree scene update is performed. Dashed arrow 613 indicates the transfer of information that scene portions are delivered to the playback device during the support period corresponding to step 622. At step 624, the full 360 degree scene may be transmitted. However, in some embodiments, not all portions are transmitted in step 624. Portions of the scene that are updated during the waiting period 622 are, in some embodiments, performed at step 624 because they are already refreshed during regular streaming processes that transmit at least some portions of the scene based on the user's head position. omitted from updated updates.

동작은 단계(624)로부터 다시 대기 단계(622)로 진행하고, 대기는 다음 전체 갱신 전에 수행된다. 단계(622)에서 사용된 대기 기간을 조정함으로써 상이한 전체 리프레시 레이트들이 지원될 수 있다는 것이 이해되어야 한다. 몇몇 실시예들에서, 콘텐트 서버는 제공되는 장면 콘텐트의 형태에 기초하여 대기 기간을 선택하고, 그에 따른 전체 기준 기간이 제공된다. 주요 동작이 정면을 마주보는 영역에 존재하고 리프레시를 위한 이유들 중 하나가 실외 조명 상태들에서 가능한 변경들인 스포츠 경기들의 경우에, 대기 기간은 비교적 길 수 있고, 예를 들면, 대략 일 분 또는 수 분일 수 있다. 상이한 노래들이 연주되기 때문에 관객의 동작 및 활동이 자주 변경될 수 있는 락 콘서트의 경우, 사용자가 몸을 돌려서 관객들의 반응을 보기를 원할 수 있고 정면 무대 뷰잉 영역에서 일어나고 있는 것에 더하여 관객에서 일어나고 있는 것에 대해 느끼기를 원할 수 있기 때문에, 전체 리프레시 레이트가 스포츠 경기들보다 높을 수 있고, 때때로 그보다 높다.Operation proceeds from step 624 back to wait step 622, where waiting is performed before the next full update. It should be understood that different overall refresh rates may be supported by adjusting the waiting period used in step 622. In some embodiments, the content server selects a waiting period based on the type of scene content being provided, and an overall reference period is provided accordingly. In the case of sporting events where the main action is in the front-facing area and one of the reasons for refreshing is possible changes in outdoor lighting conditions, the waiting period can be relatively long, for example on the order of a minute or several days. It can be minutes. For rock concerts, where audience movements and activities may change frequently as different songs are played, users may want to turn their bodies to see the audience's reactions and see what is happening in the audience in addition to what is happening in the front stage viewing area. Because you may want to get a feel for it, the overall refresh rate can be, and sometimes is, higher than that of sporting events.

몇몇 실시예들에서, 전체 기준 기간은 스트리밍되는 표현의 부분의 함수로서 변경된다. 예를 들면, 스포츠 경기의 게임 부분 동안, 전체 리프레시 레이트는 비교적 낮을 수 있지만, 경기장에 있거나 재생 디바이스를 통해 경기를 보고 있는 사람이 전방 주요 영역으로부터 그의 머리를 돌릴 더 많은 가능성이 존재하는, 후반 터치다운 순간 동안 또는 타임 아웃 또는 인터미션 동안, 전체 리프레시 레이트는 대기, 예를 들면, 단계(622)에서 사용된 리프레시 기간 제어를 감소시킴으로써 증가될 수 있고, 몇몇 실시예에서, 증가된다.In some embodiments, the overall reference period changes as a function of the portion of the representation that is streamed. For example, during the game portion of a sporting event, the overall refresh rate may be relatively low, but late touches exist, with a person on the field or watching the game on a playback device more likely to turn his or her head away from the front key area. During down moments or during timeouts or interruptions, the overall refresh rate may be increased, in some embodiments, by decreasing the wait, e.g., refresh period control used in step 622.

전체 리프레시 프로세스가 단계(622) 및 단계(624)를 참조하여 기술되었지만, 장면의 부분들의 정규 공급이 기술된다. 이해되는 바와 같이, 장면 또는 장면 부분의 정규 리프레시는 적어도 하나의 부분에 대해, 지원된 비디오 프레임 레이트에서 허용하는 데이트 레이트로 발생할 것이다. 따라서, 적어도 하나의 프레임 부분에 관하여, 예를 들면, 사용자 머리가 마주보는 것으로 나타내지는 부분은 이용 가능한 데이터 레이트가 충분한 것을 가정하는 풀 비디오 스트리밍 프레임 레이트로 공급될 것이다.Although the entire refresh process has been described with reference to steps 622 and 624, a regular supply of portions of the scene are described. As will be understood, regular refresh of a scene or scene portion will occur, for at least one portion, at a data rate allowed by the supported video frame rate. Accordingly, for at least one portion of the frame, for example the portion where the user's head is shown to be facing, it will be fed at full video streaming frame rate assuming that the available data rate is sufficient.

단계(612)에서, 장면 부분들은 사용자의, 나타낸 머리 위치, 예를 들며, 뷰잉 각에 기초하여 제공되도록 선택된다. 선택된 부분들은, 예를 들면, 주기적으로 재생 디바이스로 송신, 예를 들면, 스트리밍된다. 부분들에 대응하는 데이터가 스트리밍되는 레이트는 몇몇 실시예들에서 비디오 프레임 레이트에 의존한다. 예를 들면, 적어도 하나의 선택된 부분은 지원되는 전체 프레임 레이트에서 스트리밍될 것이다. 적어도 하나의 장면 부분이 단계(612)에서 선택되지만, 보통 다수의 장면 부분들, 예를 들면, 사용자가 마주보고 있는 장면 부분뿐만 아니라 다음으로 가장 가까운 장면 부분이 선택된다. 이용 가능한 데이터 레이트가 다수의 프레임 부분들의 전달을 지원하기에 충분한 경우, 추가의 장면 부분들이 또한 선택 및 공급될 수 있다.At step 612, scene portions are selected to be presented based on the user's indicated head position, e.g., viewing angle. The selected portions are periodically transmitted, eg streamed, to a playback device. The rate at which data corresponding to portions is streamed depends on the video frame rate in some embodiments. For example, at least one selected portion will be streamed at the full supported frame rate. At least one scene portion is selected in step 612, but usually multiple scene portions are selected, for example, the next closest scene portion as well as the scene portion that the user is facing. If the available data rate is sufficient to support delivery of multiple frame portions, additional scene portions may also be selected and supplied.

스트리밍될 장면 부분들이 단계(612)에서 선택된 후, 동작은 단계(614)로 진행하고, 선택된 스트림 부분들의 인코딩된 버전은, 예를 들면, 사용자의 뷰잉 위치 및 이용 가능한 데이터 레이트에 기초하여, 선택된다. 예를 들면, 현재 보고된 머리 위치에 의해 나타내진 사용자가 마주보고 있는 장면 부분의 풀 레이트 고해상도 버전이 스트리밍될 수 있고 일반적으로 스트리밍될 것이다. 현재 머리 위치의 왼쪽 및/또는 오른쪽에 대한 하나 이상의 장면 부분들이 더 낮은 해상도로서, 더 낮은 시간 레이트로서 또는 현재 보여지지 않는 장면 영역을 송신하기 위해 요구되는 대역폭의 양을 감소시키는 다른 인코딩 장치를 사용하여 스트리밍되도록 선택될 수 있다. 인접한 장면 부분의 인코딩된 버전의 선택은 현재 보여지는 장면 부분의 고품질 버전이 송신된 후 대역폭 리밍의 양에 의존할 것이다. 현재 보여지지 않는 장면 부분들이 더 낮은 해상도 인코딩 버전으로서 또는 프레임들 사이에 더 큰 시간적 거리를 갖는 인코딩된 버전으로서 전송될 수 있지만, 이용 가능한 대역폭이 충분히 존재하는 경우, 풀 해상도 고품질 버전은 주기적으로 또는 자주 전송된다.After the scene portions to be streamed are selected at step 612, operation proceeds to step 614 where encoded versions of the selected stream portions are selected, e.g., based on the user's viewing position and the available data rate. do. For example, a full-rate, high-resolution version of the portion of the scene that the user is facing, as indicated by the currently reported head position, can and typically will be streamed. One or more portions of the scene to the left and/or right of the current head position at lower resolution, at a lower time rate, or using another encoding device that reduces the amount of bandwidth required to transmit scene regions that are not currently visible. may be selected to be streamed. The selection of encoded versions of adjacent scene portions will depend on the amount of bandwidth reaming after a high-quality version of the currently viewed scene portion is transmitted. Portions of the scene that are not currently visible may be transmitted as a lower resolution encoded version or as an encoded version with a greater temporal distance between frames, but if there is sufficient bandwidth available, a full resolution high quality version may be transmitted periodically or Sent frequently.

단계(616)에서, 선택된 장면 부분들의 선택된 인코딩된 버전들은 콘텐트를 요청한 재생 디바이스로 전송된다. 따라서, 단계(616)에서, 하나 이상의 부분들에 대응하는 인코딩된 콘텐트, 예를 들면, 다수의 연속하는 프레임들에 대응하는 입체 영상 비디오 콘텐트가 재생 디바이스로 스트리밍된다.At step 616, the selected encoded versions of the selected scene portions are transmitted to the playback device that requested the content. Accordingly, at step 616, encoded content corresponding to one or more portions, e.g., stereoscopic video content corresponding to a number of consecutive frames, is streamed to a playback device.

동작은 단계(616)로부터 단계(618)로 진행하고 사용자의 현재 머리 위치를 나타내는 정보가 수신된다. 이러한 정보는 주기적으로 및/또는 머리 위치의 변경을 검출하는 것에 응답하여 재생 디바이스로부터 전송될 수 있다. 머리 위치의 변경들에 더하여, 이용 가능한 데이터 레이트에서 변화들은 콘텐트가 스트리밍되는 것에 영향을 끼칠 수 있다. 동작은 단계(618)로부터 단계(620)로 진행하고, 재생 디바이스로 콘텐트 전달을 위해 사용될 수 있는 현재 데이터 레이트의 결정이 수행된다. 따라서, 콘텐트 전달 시스템은 요청 디바이스에 대한 스트리밍을 지원하기 위해 이용 가능한 대역폭의 양의 변화들을 검출할 수 있다.Operation proceeds from step 616 to step 618 and information indicating the user's current head position is received. This information may be transmitted from the playback device periodically and/or in response to detecting a change in head position. In addition to changes in head position, changes in available data rates can affect how content is streamed. Operation proceeds from step 618 to step 620, where a determination of the current data rate that can be used for content delivery to the playback device is performed. Accordingly, the content delivery system can detect changes in the amount of available bandwidth to support streaming to the requesting device.

동작은 단계(620)로부터 단계(612)로 진행하고, 콘텐트가 완전히 전달될 때까지, 예를 들면, 프로그램 또는 이벤트가 종료할 때까지, 또는 콘텐트를 요청한 재생 디바이스로부터 세션이 종료된 것을 나타내는 신호가 수신되거나, 재생 디바이스가 콘텐트 서버(114)와 더 이상 통신하지 않는다는 것을 나타내는 머리 위치 갱신과 같은 재생 디바이스로부터 예상된 신호의 수신에 대한 실패가 검출될 때까지 스트리밍을 계속한다.Operation proceeds from step 620 to step 612 until the content is completely delivered, e.g., a program or event ends, or a signal from the playback device that requested the content indicates that the session has ended. Streaming continues until either is received, or a failure to receive an expected signal from the playback device, such as a head position update, is detected, indicating that the playback device is no longer in communication with the content server 114.

상기에 기술된 방식으로 전달된 장면 데이터로부터, 재생 디바이스는 사용자가 그의 머리를 빠르게 돌리는 경우를 디스플레이하기 위해 이용 가능한 각각의 장면 부분에 대응하는 적어도 몇몇 데이터를 가질 것이다. 많은 사람들에게 뷰잉 위치의 불편한 변경이기 때문에, 사용자들은 좀처럼 매우 짧은 시간 기간에 그들의 머리를 완전히 돌리지 않는다는 것이 이해되어야 한다. 따라서, 풀 360도 장면이 모든 시간에 송신되지 않을 수 있지만, 임의의 주어진 시간에 보여질 가장 많은 가능성이 있는 장면 부분(들)의 고품질 버전이 사용자에게 스트리밍되고 이용 가능하게 될 수 있다.From the scene data delivered in the manner described above, the playback device will have at least some data corresponding to each scene portion available for displaying instances where the user quickly turns his head. It should be understood that users rarely turn their heads completely in a very short period of time, as this is an inconvenient change in viewing position for many people. Accordingly, the full 360-degree scene may not be transmitted at all times, but high quality versions of the scene portion(s) most likely to be viewed at any given time may be streamed and made available to the user.

인코딩 프로세스는 장면의 N 개의 부분들이 각각의 개별적인 사용자에 대해 콘텐트를 개별적으로 인코딩해야 하지 않고 상이한 사용자들에게 상이하게 송신 및 처리되게 하기 때문에, 콘텐트 전달 시스템(104)은 다수의 동시에 발생하는 사용자들을 지원할 수 있다. 따라서, 다수의 병렬 인코더들은 스포츠 경기 또는 다른 이벤트들의 실시간 또는 거의 실시간 스트리밍을 허용하도록 실시간 인코딩을 지원하기 위해 사용될 수 있지만, 사용된 인코더들의 수는 콘텐트가 스트리밍되는 재생 디바이스들의 수보다 훨씬 적은 경향이 있다.Because the encoding process allows the N portions of the scene to be transmitted and processed differently to different users rather than having to encode the content separately for each individual user, the content delivery system 104 supports multiple concurrent users. You can apply. Accordingly, multiple parallel encoders may be used to support real-time encoding to allow real-time or near real-time streaming of sporting events or other events, but the number of encoders used tends to be much smaller than the number of playback devices from which the content is streamed. there is.

콘텐트의 부분들은 360도 뷰에 대응하는 부분들로서 기술되지만, 장면들은 수직 크기를 또한 갖는 공간의 평탄한 버전을 나타낼 수 있고, 몇몇 실시예들에서 그를 나타낸다는 것이 이해되어야 한다. 재생 디바이스는 3D 환경, 예를 들면, 공간의 모델을 사용하여 장면 부분들을 맵핑하고, 수직 뷰잉 위치들에 대해 조정할 수 있다. 따라서, 본 출원에서 논의되는 360도는 사용자가 그의 뷰잉각을 왼쪽 또는 오른쪽으로 변경하면서 그의 주시 레벨을 유지하는 것처럼 수평에 관한 머리 위치를 말한다.Although portions of content are described as portions corresponding to a 360-degree view, it should be understood that scenes can, and in some embodiments, represent a flattened version of space that also has a vertical dimension. The playback device may use a model of the 3D environment, e.g. space, to map portions of the scene and adjust for vertical viewing positions. Accordingly, 360 degrees as discussed in this application refers to the head position relative to the horizontal as the user changes his viewing angle to the left or right while maintaining his gaze level.

도 7은 본 발명의 특징들에 따라 콘텐트를 인코딩 및 스트리밍하기 위해 사용될 수 있는 인코딩 능력을 갖는 일 예시적인 콘텐트 전달 시스템(700)을 도시한다.7 illustrates an example content delivery system 700 with encoding capabilities that can be used to encode and stream content in accordance with features of the present invention.

시스템은 본 발명의 특징들에 따라 인코딩, 저장, 및 송신 및/또는 콘텐트 출력을 수행하기 위해 사용될 수 있다. 몇몇 실시예들에서, 시스템(700) 또는 그 내부의 요소들은 도 6에 도시된 프로세스에 대응하는 동작을 수행한다. 콘텐트 전달 시스템(700)은 도 1의 시스템(104)으로서 사용될 수 있다. 도 7에 도시된 도시된 시스템은 콘텐트의 인코딩, 처리, 및 스트리밍을 위해 사용되지만, 시스템(700)은 또한 처리된 및 인코딩된 이미지 데이터를 운영자에게 디코딩하고 디스플레이하기 위한 능력을 포함할 수 있다는 것이 이해되어야 한다.The system may be used to encode, store, and transmit and/or output content in accordance with the features of the present invention. In some embodiments, system 700 or elements therein perform operations corresponding to the process depicted in FIG. 6. Content delivery system 700 may be used as system 104 of FIG. 1 . Although the illustrated system shown in FIG. 7 is used for encoding, processing, and streaming of content, it is understood that system 700 may also include the ability to decode and display processed and encoded image data to an operator. It must be understood.

시스템(700)은 디스플레이(702), 입력 디바이스(704), 입력/출력(I/O) 인터페이스(706), 프로세서(708), 네트워크 인터페이스(710) 및 메모리(712)를 포함한다. 시스템(700)의 다양한 구성 요소들은 데이터가 시스템(700)의 구성 요소들 사이에 전달되게 하는 버스(709)를 통해 함께 결합된다.System 700 includes display 702, input device 704, input/output (I/O) interface 706, processor 708, network interface 710, and memory 712. The various components of system 700 are coupled together via bus 709, which allows data to be transferred between components of system 700.

메모리(712)는 다양한 모듈들, 예를 들면, 프로세서(708)에 의해 실행될 때, 본 발명에 따라 분할, 인코딩, 저장, 및 스트리밍/송신 및/또는 출력 동작들을 구현하도록 시스템(700)을 제어하는 루틴들을 포함한다.Memory 712, when executed by various modules, e.g., processor 708, controls system 700 to implement segmentation, encoding, storage, and streaming/transmission and/or output operations in accordance with the present invention. Includes routines that

메모리(712)는 다양한 모듈들, 예를 들면, 프로세서(708)에 의해 실행될 때, 본 발명에 따라 몰입형 입체 영상 비디오 획득, 인코딩, 저장, 및 송신 및/또는 출력 방법들을 구현하도록 컴퓨터 시스템(700)을 제어하는 루틴들을 포함한다. 메모리(712)는 제어 루틴들(714), 분할 모듈(716), 인코더(들)(718), 스트리밍 제어기(720), 수신된 입력 이미지들(732), 예를 들면, 장면의 360도 입체 영상 비디오, 인코딩된 장면 부분들(734), 및 타이밍 정보(736)를 포함한다. 몇몇 실시예들에서, 모듈들은 소프트웨어 모듈들로서 구현된다. 다른 실시예들에서, 모듈들은, 예를 들면, 모듈이 대응하는 기능을 수행하기 위한 회로로서 구현되는 각각의 모듈을 갖는 개별적인 회로들로서, 하드웨어에서 구현된다. 또 다른 실시예들에서, 모듈들은 소프트웨어 및 하드웨어의 조합을 사용하여 구현된다.Memory 712 may, when executed by various modules, e.g., processor 708, implement immersive stereoscopic video acquisition, encoding, storage, and transmission and/or output methods in accordance with the present invention (computer system ( 700) and routines that control it. Memory 712 includes control routines 714, segmentation module 716, encoder(s) 718, streaming controller 720, and received input images 732, e.g., 360-degree stereoscopic images of a scene. Includes visual video, encoded scene portions 734, and timing information 736. In some embodiments, modules are implemented as software modules. In other embodiments, modules are implemented in hardware, for example, as individual circuits with each module implemented as a circuit for performing a corresponding function. In still other embodiments, modules are implemented using a combination of software and hardware.

제어 루틴들(714)은 시스템(700)의 동작을 제어하기 위해 디바이스 제어 루틴들 및 통신 루틴들을 포함한다. 분할 모듈(716)은 본 발명의 특징들에 따라 장면의 수신된 입체 영상 360도 버전을 N 개의 장면 부분들로 분할하도록 구성된다.Control routines 714 include device control routines and communication routines to control the operation of system 700. The segmentation module 716 is configured to segment the received stereoscopic 360-degree version of the scene into N scene parts according to the features of the present invention.

인코더(들)(718)는 본 발명의 특징들에 따라 수신된 이미지 콘텐트, 예를 들면, 장면의 360도 버전 및/또는 하나 이상의 장면 부분들을 인코딩하도록 구성된 복수의 인코더들을 포함할 수 있고, 몇몇 실시예들에서, 그들을 포함한다. 몇몇 실시예들에서, 인코더(들)는 각각의 인코더가 주어진 비트 레이트 스트림을 지원하기 위해 입체 영상 장면 및/또는 분할된 장면 부분들을 인코딩하도록 구성된 다수의 인코더들을 포함한다. 따라서, 몇몇 실시예들에서, 각각의 장면 부분은 각각의 장면에 대해 다수의 상이한 비트 레이트 스트림들을 지원하기 위해 다수의 인코더들을 사용하여 인코딩될 수 있다. 인코더(들)(718)의 출력은 고객 디바이스들, 예를 들면, 재생 디바이스들로의 스트리밍을 위해 메모리에 저장되는 인코딩된 장면 부분들(734)이다. 인코딩된 콘텐트는 네트워크 인터페이스(710)를 통해 하나 또는 다수의 상이한 디바이스들로 스트리밍될 수 있다. Encoder(s) 718 may include a plurality of encoders configured to encode received image content, e.g., a 360-degree version of a scene and/or one or more scene portions, in accordance with features of the invention, and may include several In embodiments, they are included. In some embodiments, the encoder(s) includes multiple encoders, each encoder configured to encode stereoscopic video scenes and/or segmented scene portions to support a given bit rate stream. Accordingly, in some embodiments, each scene portion may be encoded using multiple encoders to support multiple different bit rate streams for each scene. The output of encoder(s) 718 are encoded scene portions 734 that are stored in memory for streaming to customer devices, e.g., playback devices. Encoded content may be streamed via network interface 710 to one or multiple different devices.

스트리밍 제어기(720)는, 예를 들면, 통신 네트워크(105)를 통해, 인코딩된 이미지 콘텐트를 하나 이상의 고객 디바이스들로 전달하기 위해 인코딩된 콘텐트의 스트리밍을 제어하도록 구성된다. 다양한 실시예들에서, 플로차트(600)의 다수의 단계들은 스트리밍 제어기(720)의 요소들에 의해 구현된다. 스트리밍 제어기(720)는 요청 처리 모듈(722), 데이터 레이트 결정 모듈(724), 현재 머리 위치 결정 모듈(726), 선택 모듈(728), 및 스트리밍 제어 모듈(730)을 포함한다. 요청 처리 모듈(722)은 고객 재생 디바이스로부터 이미징 콘텐트에 대한 수신된 요청을 처리하도록 구성된다. 콘텐트에 대한 요청은 다양한 실시예들에서 네트워크 인터페이스(710)에서 수신기를 통해 수신된다. 몇몇 실시예들에서, 콘텐트에 대한 요청은 요청하는 재생 디바이스의 아이덴티티를 나타내는 정보를 포함한다. 몇몇 실시예들에서, 콘텐트에 대한 요청은 고객 재생 디바이스에 의해 지원된 데이터 레이트, 사용자의 현재 머리 위치, 예를 들면, 헤드 마운트 디스플레이의 위치를 포함할 수 있다. 요청 처리 모듈(722)은 수신된 요청을 처리하고 다른 동작들을 취하기 위해 스트리밍 제어기(720)의 다른 요소들에 검색된 정보를 제공한다. 콘텐트에 대한 요청은 데이터 레이트 정보 및 현재 머리 위치 정보를 포함할 수 있지만, 다양한 실시예들에서, 재생 디바이스에 의해 지원된 데이터 레이트는 네트워크 검사들 및 시스템(700)과 재생 디바이스 사이에 다른 네트워크 정보 교환으로부터 결정될 수 있다.Streaming controller 720 is configured to control streaming of encoded content to deliver the encoded image content to one or more customer devices, for example, via communications network 105. In various embodiments, multiple steps of flowchart 600 are implemented by elements of streaming controller 720. Streaming controller 720 includes a request processing module 722, a data rate determination module 724, a current head position determination module 726, a selection module 728, and a streaming control module 730. Request processing module 722 is configured to process received requests for imaging content from customer playback devices. A request for content is received via a receiver at network interface 710 in various embodiments. In some embodiments, a request for content includes information indicating the identity of the requesting playback device. In some embodiments, the request for content may include the data rate supported by the customer playback device, the user's current head position, for example, the location of the head mounted display. Request processing module 722 processes received requests and provides the retrieved information to other elements of streaming controller 720 to take other actions. The request for content may include data rate information and current head position information, but in various embodiments, the data rate supported by the playback device may vary depending on network checks and network information that differs between system 700 and the playback device. It can be determined from exchange.

데이터 레이트 결정 모듈(724)은 이미징 콘텐트를 고객 디바이스들로 스트리밍하기 위해 사용될 수 있는 이용 가능한 데이터 레이트들을 결정하도록 구성되고, 예를 들면, 다수의 인코딩된 장면 부분들이 지원되기 때문에, 콘텐트 전달 시스템(700)은 고객 디바이스에 대해 다수의 데이터 레이트들에서 콘텐트를 스트리밍하는 것을 지원할 수 있다. 데이터 레이트 결정 모듈(724)은 또한 시스템(700)으로부터 콘텐트를 요청하는 재생 디바이스에 의해 지원된 데이터 레이트를 결정하도록 구성된다. 몇몇 실시예들에서, 데이터 레이트 결정 모듈(724)은 네트워크 측정들에 기초하여 이미지 콘텐트의 전달을 위해 이용 가능한 데이터 레이트를 결정하도록 구성된다.Data rate determination module 724 is configured to determine available data rates that can be used to stream imaging content to customer devices, e.g., as multiple encoded scene portions are supported, in a content delivery system ( 700) may support streaming content at multiple data rates to a customer device. Data rate determination module 724 is also configured to determine the data rate supported by a playback device requesting content from system 700. In some embodiments, data rate determination module 724 is configured to determine an available data rate for delivery of image content based on network measurements.

현재 머리 위치 결정 모듈(726)은 재생 디바이스로부터 수신된 정보로부터 현재 뷰잉각 및/또는 사용자의 현재 머리 위치, 예를 들면, 헤드 마운트 디스플레이의 위치를 결정하도록 구성된다. 몇몇 실시예들에서, 재생 디바이스는 현재 머리 위치 정보를 시스템(700)으로 주기적으로 전송하고, 현재 머리 위치 결정 모듈(726)은 현재 뷰잉각 및/또는 현재 머리 위치를 결정하기 위해 정보를 수신 및 처리한다.The current head position determination module 726 is configured to determine the current viewing angle and/or the current head position of the user, for example, the position of the head mounted display, from information received from the playback device. In some embodiments, the playback device periodically transmits current head position information to system 700, and current head position determination module 726 receives and receives the information to determine the current viewing angle and/or current head position. Process it.

선택 모듈(728)은 사용자의 현재 뷰잉각/머리 위치 정보에 기초하여 360도 장면의 부분들 중 어느 것을 재생 디바이스로 스트리밍할지를 결정하도록 구성된다. 선택 모듈(728)은 또한 콘텐트의 스트리밍을 지원하기 위해 이용 가능한 데이터 레이트에 기초하여 결정된 장면 부분들의 인코딩된 버전들을 선택하도록 구성된다.The selection module 728 is configured to determine which portions of the 360-degree scene to stream to the playback device based on the user's current viewing angle/head position information. Selection module 728 is also configured to select encoded versions of determined scene portions based on available data rates to support streaming of content.

스트리밍 제어 모듈(730)은 이미지 콘텐트, 예를 들면, 본 발명의 특징들에 따라 다양한 지원된 데이터 레이트들에서, 360도 입체 영상 장면의 다수의 부분들의 스트리밍을 제어하도록 구성된다. 몇몇 실시예들에서, 스트리밍 제어 모듈(730)은 재생 디바이스에서 장면 메모리를 초기화하기 위해 콘텐트를 요청하는 재생 디바이스로 360도 입체 영상 장면의 N 개의 부분들을 스트리밍하는 것을 제어하도록 구성된다. 다양한 실시예들에서, 스트리밍 제어 모듈(730)은, 예를 들면, 결정된 레이트에서 결정된 장면 부분들의 선택된 인코딩된 버전들을 주기적으로 전송하도록 구성된다. 몇몇 실시예들에서, 스트리밍 제어 모듈(730)은 또한 시간 간격, 예를 들면 매분당 1회에 따라 재생 디바이스로 360도 장면 갱신을 전송하도록 구성된다. 몇몇 실시예들에서, 360도 장면 갱신을 전송하는 단계는 풀 360도 입체 영상 장면의 N 개의 장면 부분들 또는 N-X 개의 장면 부분들을 전송하는 단계를 포함하고, N은 풀 360도 입체 영상 장면이 분할되는 부분들의 총 수이고, X는 재생 디바이스로 현재 전송된 선택된 장면 부분들을 나타낸다. 몇몇 실시예들에서, 스트리밍 제어 모듈(730)은 360도 장면 갱신을 전송하기 전에 초기화를 위해 N 개의 장면 부분들을 처음으로 전송하기 후에 미리 결정된 시간 동안 대기한다. 몇몇 실시예들에서, 360도 장면 갱신의 전송을 제어하기 위한 타이밍 정보는 타이밍 정보(736)에 포함된다. 몇몇 실시예들에서, 스트리밍 제어 모듈(730)은 또한, 리프레시 간격 동안 재생 디바이스로 송신되지 않은 장면 부분들을 식별하고; 리프레시 간격 동안 재생 디바이스로 송신되지 않은 식별된 장면 부분들의 갱신 버전을 송신하도록 구성된다.Streaming control module 730 is configured to control streaming of multiple portions of image content, e.g., a 360-degree stereoscopic video scene, at various supported data rates in accordance with the features of the present invention. In some embodiments, streaming control module 730 is configured to control streaming of N portions of a 360-degree stereoscopic video scene to a playback device requesting the content to initialize a scene memory in the playback device. In various embodiments, streaming control module 730 is configured to periodically transmit selected encoded versions of determined scene portions, for example, at a determined rate. In some embodiments, streaming control module 730 is also configured to transmit 360-degree scene updates to the playback device at time intervals, such as once per minute. In some embodiments, transmitting a 360-degree scene update includes transmitting N scene portions or N-X scene portions of a full 360-degree stereoscopic video scene, where N is a segment of the full 360-degree stereoscopic video scene. is the total number of parts, and X represents the selected scene parts currently transmitted to the playback device. In some embodiments, streaming control module 730 waits a predetermined amount of time after initially transmitting the N scene portions for initialization before transmitting a 360-degree scene update. In some embodiments, timing information for controlling transmission of 360-degree scene updates is included in timing information 736. In some embodiments, streaming control module 730 also identifies portions of the scene that were not transmitted to the playback device during the refresh interval; and transmit updated versions of identified scene portions that were not transmitted to the playback device during the refresh interval.

다양한 실시예들에서, 스트리밍 제어 모듈(730)은 재생 디바이스가 각각의 리프레시 기간 동안 상기 장면의 360도 버전을 적어도 한번 전체적으로 리프레시하게 하도록 주기적으로 N 개의 부분들 중 적어도 충분한 수를 재생 디바이스에 전달하도록 구성된다.In various embodiments, the streaming control module 730 is configured to periodically deliver at least a sufficient number of the N portions to the playback device to cause the playback device to fully refresh the 360-degree version of the scene at least once during each refresh period. It is composed.

도 8은 도 1 및 도 7에 도시된 것과 같은 콘텐트 전달 시스템으로부터 수신된 이미징 콘텐트를 수신, 디코딩, 저장, 및 디스플레이하기 위해 사용될 수 있는 본 발명에 따라 구현된 재생 시스템(800)을 도시한다. 구현될 수 있는 시스템(800)은 디스플레이(802), 또는 외부 디스플레이, 예를 들면, 컴퓨터 시스템(800')에 결합된 헤드 마운트 디스플레이(805)와 같은 요소들의 조합으로서 포함하는 단일 재생 디바이스(800')이다.8 illustrates a playback system 800 implemented in accordance with the present invention that can be used to receive, decode, store, and display imaging content received from a content delivery system such as that shown in FIGS. 1 and 7. A system 800 that may be implemented includes a single playback device 800 comprising as a combination of elements such as a display 802, or an external display, e.g., a head mounted display 805 coupled to a computer system 800'. ')am.

재생 시스템(800)은, 적어도 몇몇 실시예들에서, 3D 헤드 마운트 디스플레이를 포함한다. 헤드 마운트 디스플레이는 헤드 마운트 디스플레이(805)를 포함할 수 있는 OCULUS RIFTTM VR(가상 현실) 헤드셋을 사용하여 구현될 수 있다. 다른 헤드 마운트 디스플레이들이 또한 사용될 수 있다. 몇몇 실시예들에서, 헤드 마운트 헬멧 또는 다른 헤드 마운팅 디바이스에서 하나 이상의 디스플레이 스크린들이 콘텐트를 사용자의 왼쪽 및 오른쪽 눈들에 디스플레이하기 위해 사용된다. 단일 스크린의 상이한 부분들을 상이한 눈들에 노출하도록 구성된 헤드 마운트에 의해 단일 스크린상에 왼쪽 및 오른쪽 눈들에 대한 상이한 이미지들을 디스플레이함으로써, 단일 디스플레이는 뷰어들 왼쪽 및 오른쪽 눈들에 의해 별개로 인식될 왼쪽 및 오른쪽 눈 이미지들을 디스플레이하기 위해 사용될 수 있다. 몇몇 실시예들에서, 휴대 전화 스크린은 헤드 마운트 디스플레이 디바이스의 디스플레이로서 사용된다. 적어도 일부 이러한 실시예들에서, 휴대 전화는 헤드 마운팅 디바이스로 삽입되고, 휴대 전화는 이미지들을 디스플레이하기 위해 사용된다.Playback system 800, in at least some embodiments, includes a 3D head mounted display. The head mounted display may be implemented using an OCULUS RIFT VR (virtual reality) headset, which may include a head mounted display 805. Other head mounted displays may also be used. In some embodiments, one or more display screens in a head mounted helmet or other head mounting device are used to display content to the user's left and right eyes. By displaying different images for the left and right eyes on a single screen by a head mount configured to expose different portions of the screen to different eyes, a single display can be perceived separately by the left and right eyes of viewers. Can be used to display eye images. In some embodiments, a mobile phone screen is used as the display of a head mounted display device. In at least some of these embodiments, a mobile phone is inserted into a head mounting device, and the mobile phone is used to display images.

재생 시스템(800)은 수신된 인코딩된 이미지 데이터, 예를 들면, 환경 또는 스크린의 상이한 부분들에 대응하는 왼쪽 및 오른쪽 눈 이미지들 및/또는 모노 (단일 이미지들)을 디코딩하고, 예를 들면, 사용자에 의해 3D 이미지로서 인식된 상이한 왼쪽 및 오른쪽 눈 뷰들을 렌더링 및 디스플레이함으로써, 고객에게 디스플레이하기 위한 3D 이미지 콘텐트를 생성하기 위한 능력을 갖는다. 재생 시스템(800)은 몇몇 실시예들에서, 가정 또는 사무실과 같은 고객 구내 위치에 위치되지만, 이미지 캡처 사이트에 또한 위치될 수 있다. 시스템(800)은 본 발명에 따라 신호 수신, 디코딩, 디스플레이 및/또는 다른 동작들을 수행할 수 있다.The playback system 800 decodes the received encoded image data, e.g. left and right eye images and/or mono (single images) corresponding to different parts of the environment or screen, for example: It has the ability to generate 3D image content for display to a customer by rendering and displaying different left and right eye views that are perceived by the user as a 3D image. Playback system 800 is, in some embodiments, located at a customer premises location, such as a home or office, but may also be located at an image capture site. System 800 may receive, decode, display, and/or perform other operations in accordance with the present invention.

시스템(800)은 디스플레이(802), 디스플레이 디바이스 인터페이스(803), 입력 디바이스(804), 입력/출력(I/O) 인터페이스(806), 프로세서(808), 네트워크 인터페이스(810), 및 메모리(812)를 포함한다. 시스템(800)의 다양한 구성 요소들은 시스템(800)의 구성 요소들 사이에 및/또는 다른 접속들에 의해 또는 무선 인터페이스를 통해 데이터가 전달되게 하는 버스(809)를 통해 함께 결합된다. 몇몇 실시예들에서, 디스플레이(802)가 대시 박스를 사용하여 도시된 선택 요소로서 포함되지만, 몇몇 실시예들에서, 외부 디스플레이 디바이스(805), 예를 들면, 헤드 마운트 입체 영상 디스플레이 디바이스는 디스플레이 디바이스 인터페이스(803)를 통해 재생 디바이스에 결합될 수 있다.System 800 includes a display 802, a display device interface 803, an input device 804, an input/output (I/O) interface 806, a processor 808, a network interface 810, and memory ( 812). The various components of system 800 are coupled together via a bus 809 that allows data to be transferred between components of system 800 and/or by other connections or via a wireless interface. In some embodiments, display 802 is included as an optional element, shown using a dash box, but in some embodiments, external display device 805, e.g., a head mounted stereoscopic display device, is a display device. It can be coupled to a playback device via interface 803.

예를 들면, 휴대 전화 프로세서가 프로세서(808)로서 사용되고, 휴대 전화가 헤드 마운트에서 이미지를 생성 및 디스플레이하는 경우, 시스템은 헤드 마운트 디바이스의 일부로서 프로세서(808), 디스플레이(802), 및 메모리(812)를 포함할 수 있다. 프로세서(808), 디스플레이(802), 및 메모리(812)는 모두 휴대 전화의 일부일 수 있다. 시스템(800)의 다른 실시예들에서, 프로세서(808)는 헤드 마운팅 디바이스에 마운팅되고 게이밍 시스템에 결합된 디스플레이(805)를 갖는 XBOX 또는 PS4와 같은 게이밍 시스템의 일부일 수 있다. 디바이스에 위치되는 프로세서(808) 또는 메모리(812)는 머리에 쓰는지 그렇지 않는지는 중요하지 않고, 이해될 수 있는 바와 같이, 몇몇 경우들에서, 전력, 열, 및 중량 관점으로부터 헤드 기어에 프로세서를 공동 위치하는 것이 편리할 수 있지만, 적어도 일부 경우들에서, 디스플레이를 포함하는 헤드 기어에 결합된 프로세서(808) 및 메모리(812)를 갖는 것이 바람직할 수 있다.For example, if a mobile phone processor is used as processor 808 and the mobile phone generates and displays images on a head mount, the system may include processor 808, display 802, and memory (802) as part of the head mounted device. 812) may be included. Processor 808, display 802, and memory 812 may all be part of the mobile phone. In other embodiments of system 800, processor 808 may be part of a gaming system, such as an XBOX or PS4, that has a display 805 mounted on a head mounting device and coupled to the gaming system. It does not matter whether the processor 808 or the memory 812 located on the device is headgeared or not, and as will be appreciated, in some cases, the processor 808 may be attached to the headgear from a power, heat, and weight perspective. Although it may be convenient to position, in at least some cases, it may be desirable to have the processor 808 and memory 812 coupled to a headgear that includes a display.

다양한 실시예들이 헤드 마운트 디스플레이(805 또는 802)를 고려하지만, 방법 및 장치는 또한 3D 이미지를 지원할 수 있는 비-헤드 마운트 디스플레이들과 함께 사용될 수 있다. 따라서, 많은 실시예들에서, 시스템(800)은 헤드 마운트 디스플레이를 포함하지만, 비-헤드 마운트 디스플레이에 의해 또한 구현될 수 있다.Although various embodiments contemplate a head mounted display 805 or 802, the method and apparatus may also be used with non-head mounted displays that can support 3D images. Accordingly, in many embodiments, system 800 includes a head mounted display, but may also be implemented by a non-head mounted display.

메모리(812)는 다양한 모듈들, 예를 들면, 프로세서(808)에 의해 실행될 때, 본 발명에 따라 디코딩 및 출력 동작들을 수행하기 위해 재생 디바이스(800)를 제어하는 루틴들을 포함한다. 메모리(812)는 제어 루틴들(814), 콘텐트 생성 모듈(816)에 대한 요청, 머리 위치 및/또는 뷰잉각 결정 모듈(818), 디코더 모듈(820), 3D 이미지 생성 모듈이라고도 불리는 입체 영상 이미지 렌더링 모듈(822), 및 수신된 인코딩된 이미지 콘텐트(824), 디코딩된 이미지 콘텐트(826), 360도 디코딩된 장면 버퍼(828), 및 생성된 입체 영상 콘텐트(830)를 포함하는 데이터/정보를 포함한다.Memory 812 includes various modules, such as routines that, when executed by processor 808, control playback device 800 to perform decoding and output operations in accordance with the present invention. Memory 812 includes control routines 814, requests to content creation module 816, head position and/or viewing angle determination module 818, decoder module 820, stereoscopic image generation module, also called 3D image generation module. Rendering module 822, and data/information including received encoded image content 824, decoded image content 826, 360-degree decoded scene buffer 828, and generated stereoscopic image content 830. Includes.

제어 루틴들(814)은 디바이스(800)의 동작을 제어하기 위해 디바이스 제어 루틴들 및 통신 루틴들을 포함한다. 요청 생성 모듈(816)은 콘텐트를 제공하기 위한 콘텐트 전달 시스템에 전송할 콘텐트에 대한 요청을 생성하도록 구성된다. 콘텐트에 대한 요청은 다양한 실시예들에서 네트워크 인터페이스(810)를 통해 전송된다. 머리 위치 및/또는 뷰잉각 결정 모듈(818)은 사용자의 현재 뷰잉각 및/또는 현재 머리 위치, 예를 들면, 헤드 마운트 디스플레이의 위치를 결정하고, 결정된 위치 및/또는 뷰잉각 정보를 콘텐트 전달 시스템(700)에 보고하도록 구성된다. 몇몇 실시예들에서, 재생 디바이스(800)는 현재 머리 위치 정보를 시스템(700)으로 주기적으로 전송한다.Control routines 814 include device control routines and communication routines to control the operation of device 800. The request generation module 816 is configured to generate a request for content to be transmitted to a content delivery system for providing the content. Requests for content are transmitted via network interface 810 in various embodiments. The head position and/or viewing angle determination module 818 determines the user's current viewing angle and/or current head position, for example, the position of the head mounted display, and sends the determined position and/or viewing angle information to the content delivery system. It is configured to report to (700). In some embodiments, playback device 800 periodically transmits current head position information to system 700.

디코더 모듈(820)은 디코딩된 이미지 데이터(826)를 생성하기 위해 콘텐트 전달 시스템(700)으로부터 수신된 인코딩된 이미지 콘텐트(824)를 디코딩하도록 구성된다. 디코딩된 이미지 데이터(826)는 디코딩된 입체 영상 장면 및/또는 디코딩된 장면 부분들을 포함할 수 있다.Decoder module 820 is configured to decode encoded image content 824 received from content delivery system 700 to generate decoded image data 826. Decoded image data 826 may include a decoded stereoscopic image scene and/or decoded scene portions.

3D 이미지 렌더링 모듈(822)은 3D 이미지들, 예를 들면, 디스플레이(802) 및/또는 디스플레이 디바이스(805)상에 사용자에 대해 디스플레이를 위해, 디코딩된 이미지 콘텐트(826)를 사용하여, 예를 들면, 본 발명의 특징들에 따라 3D 이미지로서 인식되는 방식으로 디스플레이되는 왼쪽 및 오른쪽 눈 이미지들을 생성한다. 생성된 입체 영상 이미지 콘텐트(830)는 3D 이미지 생성 모듈(822)의 출력이다. 따라서, 렌더링 모듈(822)은 3D 이미지 콘텐트(830)를 디스플레이에 렌더링한다. 몇몇 실시예들에서, 디스플레이 디바이스(805)는 Oculus Rift와 같은 3D 디스플레이 장치의 일부일 수 있다. 재생 디바이스(800)의 운영자는 입력 디바이스(804)를 통해 하나 이상의 파라미터들을 제어하고 및/또는 수행될 동작들을 선택, 예를 들면, 3D 장면을 디스플레이하도록 선택할 수 있다.3D image rendering module 822 uses decoded image content 826 to display 3D images, e.g., to a user on display 802 and/or display device 805, e.g. For example, features of the present invention create left and right eye images that are displayed in a way that is recognized as a 3D image. The generated stereoscopic image content 830 is the output of the 3D image generation module 822. Accordingly, the rendering module 822 renders the 3D image content 830 on the display. In some embodiments, display device 805 may be part of a 3D display device, such as an Oculus Rift. An operator of playback device 800 may control one or more parameters via input device 804 and/or select operations to be performed, for example, to display a 3D scene.

도 9는 3 개의 상이한 장착 위치들에 장착된 3 개의 카메라 쌍들(902, 904, 906) 및 카메라 어셈블리(800)를 교정하기 위해 사용될 수 있는 교정 타깃(915)을 갖는 카메라 리그 또는 카메라 어레이라고도 때때로 불리는 일 예시적인 카메라 어셈블리(900)을 도시하는 도면을 도시한다. 카메라 리그(900)는 본 발명의 몇몇 실시예들에 따라 이미지 콘텐트를 캡처하기 위해 사용된다. 몇몇 실시예들에서, 카메라 리그(900)는 도 1의 이미지 캡처 장치(102)로서 사용된다. 카메라 리그(900)는 표시된 위치들에 카메라들, 총 6 개의 카메라들에 대해 입체 영상 카메라들((901, 903), (905. 907), (909, 911))의 3 쌍들(902, 904, 906)을 갖는 지지 구조(도 11에 도시됨)를 포함한다. 지지 구조는 카메라를 지지하고, 카메라들이 장착되는 플레이트들이 고정될 수 있는 마운팅 플레이트(도 11에 도시된 요소(1120)를 참조)라고 여기서 또한 불리는 기저(1120)를 포함한다. 지지 구조는 플라스틱, 금속 또는 합성 재료 예컨대 그래파이트 또는 섬유 유리로 만들어질 수 있고, 카메라들 사이의 간격 및 관계를 보기 위해 또한 사용되는 삼각형을 형성하는 라인들로 나타내진다. 점선들이 교차하는 중심점은 카메라 쌍들(902, 904, 906)이 몇몇 실시예들에서 회전될 수 있지만 반드시 모든 실시예들에서는 그렇지는 않은 중심 절점을 나타낸다. 중심 절점은 몇몇 실시예들에서 삼각형 선들로 나타낸 카메라 지지 프레임(912)이 회전될 수 있는, 예를 들면, 삼각 기저의 강철 로드 또는 스레디드 중심 마운트에 대응한다. 지지 프레임은 카메라들이 장착된 플라스틱 하우징 또는 삼각 구조일 수 있다.9 is sometimes referred to as a camera rig or camera array having three camera pairs 902, 904, 906 mounted in three different mounting positions and a calibration target 915 that can be used to calibrate the camera assembly 800. A diagram illustrating an exemplary camera assembly 900, referred to as FIG. Camera rig 900 is used to capture image content according to some embodiments of the invention. In some embodiments, camera rig 900 is used as image capture device 102 of FIG. 1 . The camera rig 900 has three pairs (902, 904) of stereoscopic cameras (901, 903), (905. 907), (909, 911) for a total of six cameras, cameras at the indicated locations. , 906) and a support structure (shown in FIG. 11). The support structure supports the camera and includes a base 1120, also referred to herein as a mounting plate (see element 1120 shown in FIG. 11) to which the plates on which the cameras are mounted can be fixed. The support structure may be made of plastic, metal or synthetic materials such as graphite or fiberglass and is represented by lines forming triangles that are also used to view the spacing and relationship between the cameras. The center point where the dotted lines intersect represents the central node around which camera pairs 902, 904, 906 may be rotated in some, but not necessarily all, embodiments. The central node corresponds to, for example, a triangular-based steel rod or threaded central mount, around which the camera support frame 912, represented by triangular lines in some embodiments, can be rotated. The support frame can be a plastic housing or a triangular structure on which the cameras are mounted.

도 9에서, 카메라들(902, 904, 906)의 각각의 쌍은 상이한 카메라 쌍 위치에 대응한다. 제 1 카메라 쌍(902)은 정면을 마주보는 위치에 대해 0도 전방에 대응한다. 이러한 위치는 관심의 주요 장면 영역, 예를 들면, 보통 스포츠 경기가 행해지고 있는 필드, 스테이지 또는 주요 동작이 일어날 가능성이 있는 몇몇 다른 영역에 대응한다. 제 2 카메라 쌍(904)은 120도 카메라 위치에 대응하고 오른쪽 후방 뷰잉 영역을 캡처하기 위해 사용된다. 제 3 카메라 쌍(906)은 240도 위치(0도 위치에 관하여) 및 왼쪽 후방 뷰잉 영역에 대응한다. 세 개의 카메라 위치들이 120도 떨어져 있다는 것을 주의하라. 각각의 카메라 뷰잉 위치는 도 9 실시예에서 하나의 카메라 쌍을 포함하고, 각각의 카메라 쌍은 이미지들을 캡처하기 위해 사용되는 왼쪽 카메라 및 오른쪽 카메라를 포함한다. 왼쪽 카메라는 때때로 왼쪽 눈 이미지들이라고 불리는 것을 캡처하고, 오른쪽 카메라는 때때로 오른쪽 눈 이미지들이라고 불리는 것을 캡처한다. 이미지들은 뷰 시퀀스의 일부 또는 한번 이상 캡처된 정지 이미지일 수 있다. 보통 적어도 카메라 쌍(902)에 대응하는 정면 카메라 위치는 고품질 비디오 카메라들로 점유될 것이다. 다른 카메라 위치들은 고품질 비디오 카메라들, 저품질 비디오 카메라들 또는 정지 또는 모노 이미지들을 캡처하기 위해 사용된 단일 카메라가 점유될 수 있다. 몇몇 실시예들에서, 제 2 및 제 3 카메라 실시예들은 왼쪽이 점유되지 않고, 제 1 카메라 쌍(902)이 상이한 시간들에 모든 세 개의 카메라 위치들에 대응하는 이미지들을 캡처하게 하는 카메라가 장착된 지지 플레이트가 회전된다. 몇몇 이러한 실시예들에서, 왼쪽 및 오른쪽 후방 이미지들이 먼저 캡처되고, 이후 전방 카메라 위치의 비디오가 이벤트 동안 캡처된다. 캡처된 이미지들은 실시간으로, 예를 들면, 이벤트가 여전히 진행중인 동안, 하나 이상의 재생 디바이스들로 인코딩 및 스트리밍될 수 있다.In Figure 9, each pair of cameras 902, 904, 906 corresponds to a different camera pair location. The first camera pair 902 corresponds to 0 degrees forward relative to the front-facing position. These locations correspond to key scene areas of interest, for example, the field where a sporting event is being played, the stage, or some other area where key action is likely to occur. The second camera pair 904 corresponds to a 120 degree camera position and is used to capture the right rear viewing area. The third camera pair 906 corresponds to a 240 degree position (relative to the 0 degree position) and the left rear viewing area. Note that the three camera positions are 120 degrees apart. Each camera viewing position includes one camera pair in the FIG. 9 embodiment, and each camera pair includes a left camera and a right camera used to capture images. The left camera captures what are sometimes called left eye images, and the right camera captures what are sometimes called right eye images. The images may be part of a view sequence or still images captured more than once. Typically at least the front camera position corresponding to camera pair 902 will be occupied by high quality video cameras. Other camera positions may be occupied by high quality video cameras, low quality video cameras, or a single camera used to capture still or mono images. In some embodiments, the second and third camera embodiments are left unoccupied and equipped with cameras that allow the first camera pair 902 to capture images corresponding to all three camera positions at different times. The supported support plate is rotated. In some such embodiments, left and right rear images are captured first, and then video of the front camera position is captured during the event. Captured images may be encoded and streamed to one or more playback devices in real time, for example, while the event is still in progress.

도 9에 도시된 제 1 카메라 쌍은 왼쪽 카메라(901) 및 오른쪽 카메라(903)를 포함한다. 왼쪽 카메라(901)는 제 1 카메라에 고정된 제 1 렌즈 어셈블리(920)를 갖고, 오른쪽 카메라(903)는 오른쪽 카메라(903)에 고정된 제 2 렌즈 어셈블리(920')를 갖는다. 렌즈 어셈블리들(920, 920')은 캡처될 광각 시야를 허용하는 렌즈들을 포함한다. 몇몇 실시예들에서, 각각의 렌즈 어셈블리들(920, 920')은 어안 렌즈를 포함한다. 따라서, 카메라들(902, 903)의 각각은 180도 시야 또는 거의 180도를 캡처할 수 있다. 몇몇 실시예들에서, 180도 미만이 캡처되지만, 몇몇 실시예들에서 인접한 카메라 쌍들로부터 캡처된 이미지들에서 적어도 일부 중첩이 또한 존재한다. 도 9 실시예에서, 카메라 쌍은 제 1(0도), 제 2(120도), 및 제 3(240도) 카메라 장착 위치들의 각각에 위치되고, 각각의 쌍은 환경의 적어도 120도 이상을 캡처하지만, 많은 경우들에서, 각각의 카메라 쌍은 환경의 180도 또는 거의 180도를 캡처한다.The first camera pair shown in Figure 9 includes a left camera 901 and a right camera 903. The left camera 901 has a first lens assembly 920 fixed to the first camera, and the right camera 903 has a second lens assembly 920' fixed to the right camera 903. Lens assemblies 920, 920' include lenses that allow a wide angle field of view to be captured. In some embodiments, each lens assembly 920, 920' includes a fisheye lens. Accordingly, each of cameras 902, 903 can capture a 180 degree field of view or nearly 180 degrees. In some embodiments, less than 180 degrees are captured, but in some embodiments there is also at least some overlap in images captured from adjacent camera pairs. 9 In the embodiment, a pair of cameras is positioned at each of the first (0 degrees), second (120 degrees), and third (240 degrees) camera mounting positions, with each pair viewing at least 120 degrees of the environment. However, in many cases, each camera pair captures 180 degrees or nearly 180 degrees of the environment.

제 2(904) 및 제 3(906) 카메라 쌍들은 제 1 카메라 쌍(902)과 동일하거나 유사하지만, 정면 0도 위치에 관하여 120 및 240도 카메라 장착 위치들에 위치된다. 제 2 카메라 쌍(904)은 왼쪽 카메라(905) 및 왼쪽 렌즈 어셈블리(922), 및 오른쪽 카메라(907) 및 오른쪽 카메라 렌즈 어셈블리(922')를 포함한다. 제 3 카메라 쌍(906)은 왼쪽 카메라(909) 및 왼쪽 렌즈 어셈블리(924), 및 오른쪽 카메라(911) 및 오른쪽 카메라 렌즈 어셈블리(924')를 포함한다.The second (904) and third (906) camera pairs are the same or similar to the first camera pair (902), but are positioned at 120 and 240 degree camera mounting positions relative to the frontal 0 degree position. The second camera pair 904 includes a left camera 905 and a left lens assembly 922, and a right camera 907 and a right camera lens assembly 922'. The third camera pair 906 includes a left camera 909 and a left lens assembly 924, and a right camera 911 and a right camera lens assembly 924'.

도 9에서, D는 카메라들(901, 903)의 제 1 입체 영상 쌍의 축들간 거리를 나타낸다. 도 9 예에서, D는 평균 인간의 왼쪽 및 오른쪽 눈들의 동공들 사이의 거리와 동일하거나 유사한 117 ㎜이다. 도 9의 점선(950)은 파노라마 어레이의 중심점으로부터 오른쪽 카메라 렌즈(920')의 입사 동공까지의 거리를 도시한다(노드 오프셋이라고도 알려짐). 도 9 예에 대응하는 일 실시예에서, 참조 번호(950)로 나타낸 거리는 315 ㎜이지만 다른 거리들이 가능하다.In Figure 9, D represents the distance between axes of the first stereoscopic image pair of cameras 901 and 903. In the Figure 9 example, D is 117 mm, which is equal to or similar to the distance between the pupils of the average human left and right eyes. Dashed line 950 in Figure 9 shows the distance from the center point of the panoramic array to the entrance pupil of the right camera lens 920' (also known as the node offset). In one embodiment corresponding to the example in Figure 9, the distance indicated by reference numeral 950 is 315 mm, but other distances are possible.

하나의 특정한 실시예에서, 카메라 리그(900)의 풋프린트는 수평 면적이 640 ㎟ 이하로 비교적 작다. 이러한 작은 크기는 카메라 리그가 청중에, 예를 들면, 팬 또는 참석자가 보통 위치 또는 배치되는 착석 위치에 배치되게 한다. 따라서, 몇몇 실시예들에서, 카메라 리그는 뷰어가 이러한 효과를 바라는 청중의 멤버를 감지하게 하는 청중 영역에 배치된다. 몇몇 실시예들에서 풋프린트는, 몇몇 실시예들에서, 중심 지지 로드가 장착되거나 지지 탑이 위치되는 지지 구조가 포함하는 기저의 크기에 대응한다. 인식되는 바와 같이, 몇몇 실시예들에서 카메라 리그들은 3쌍의 카메라들 사이에 중심점에 대응하는 기저의 중심점 주변을 회전할 수 있다. 다른 실시예들에서, 카메라들은 고정되고 카메라 어레이의 중심 주변을 회전하지 않는다.In one particular embodiment, the footprint of camera rig 900 is relatively small, with a horizontal area of less than 640 mm2. This small size allows the camera rig to be placed in the audience, for example in a seating position where fans or attendees are normally positioned or placed. Accordingly, in some embodiments, the camera rig is placed in the audience area allowing the viewer to detect members of the audience desiring this effect. In some embodiments the footprint corresponds to the size of the base encompassed by the support structure on which, in some embodiments, the central support rod is mounted or the support tower is located. As will be appreciated, in some embodiments the camera rigs may rotate about an underlying center point that corresponds to the center point between the three pairs of cameras. In other embodiments, the cameras are fixed and do not rotate around the center of the camera array.

카메라 리그는 먼 물체뿐만 아니라 비교적 가까운 물체를 캡처할 수 있다. 하나의 특별한 실시예에서, 카메라 어레이의 최소 이미징 거리는 649 ㎜이지만 다른 거리들이 가능하고, 이러한 거리는 결코 중요하지 않다.The camera rig can capture relatively close objects as well as distant objects. In one particular embodiment, the minimum imaging distance of the camera array is 649 mm, but other distances are possible and this distance is by no means critical.

카메라 어셈블리의 중심으로부터 제 2 및 제 3 카메라 부분들의 뷰들의 교차점(951)까지의 거리는 제 1 및 제 2 카메라 쌍들에 의해 캡처된 이미지들을 교정하기 위해 사용될 수 있는 일 예시적인 교정 거리를 나타낸다. 타깃(915)이 최대 왜곡의 영역에 위치되거나 또는 그를 약간 넘어서 위치되는 카메라 쌍들로부터 알려진 거리에 배치될 수 있다는 것을 주의하라. 교정 타깃은 알려진 고정된 교정 패턴을 포함한다. 교정 타깃은 카메라 쌍들의 카메라들에 의해 캡처된 이미지들의 크기를 교정하기 위한 것일 수 있고, 그를 위해 사용된다. 교정 타깃의 크기 및 위치가 교정 타깃(915)의 이미지를 캡처하는 카메라에 관하여 알려지기 때문에, 이러한 교정이 가능하다.The distance from the center of the camera assembly to the intersection 951 of the views of the second and third camera portions represents one example calibration distance that can be used to calibrate images captured by the first and second camera pairs. Note that the target 915 can be placed at a known distance from the camera pair, positioned in the area of maximum distortion or slightly beyond it. A calibration target contains a known fixed calibration pattern. A calibration target can be and is used to calibrate the size of images captured by the cameras of a camera pair. This calibration is possible because the size and location of the calibration target are known relative to the camera that captures the image of the calibration target 915.

도 10은 더 상세히 도 9에 도시된 카메라 어레이의 도면(1000)이다. 카메라 리그는 또한 6 개의 카메라들과 함께 도시되지만, 몇몇 실시예에서 카메라 리그는 단지 두 개의 카메라들, 예를 들면, 카메라 쌍(902)으로 점유된다. 도시된 바와 같이 각각의 카메라 쌍 장착 위치들 사이에 120도 간격이 존재한다. 예를 들면, 각각의 카메라 쌍 사이의 중심이 카메라 장착 위치의 방향에 대응하는 경우, 이러한 경우에서, 제 1 카메라 장착 위치는 0도에 대응하고, 제 2 카메라 장착 위치는 120도에 대응하고, 제 3 카메라 장착 위치는 240도에 대응하는 것을 고려하자. 따라서 각각의 카메라 장착 위치는 120도씩 분리된다. 이는 각각의 카메라 쌍(902, 904, 906)의 중심을 통해 연장하는 중심선 및 선들 사이의 각이 측정되는 경우 볼 수 있다.FIG. 10 is a diagram 1000 of the camera array shown in FIG. 9 in more detail. The camera rig is also shown with six cameras, but in some embodiments the camera rig is occupied by only two cameras, for example camera pair 902. As shown, there is a 120 degree gap between the mounting positions of each camera pair. For example, if the centroid between each pair of cameras corresponds to the direction of the camera mounting positions, in this case the first camera mounting position corresponds to 0 degrees, the second camera mounting position corresponds to 120 degrees, and Consider that the third camera mounting position corresponds to 240 degrees. Therefore, each camera mounting position is separated by 120 degrees. This can be seen when the angle between the lines and the center line extending through the center of each camera pair 902, 904, 906 is measured.

도 10 예에서, 카메라들의 쌍(902, 904, 906)은 상이한 뷰들이 카메라 기반 기저의 위치를 변경해야 하지 않고 상이한 시간에 캡처되게 하는 카메라 리그의 중심점 주변을 회전할 수 있고, 몇몇 실시예들에서, 그 주위를 회전한다. 즉, 카메라들은 리그의 중심 지지대 주변으로 회전될 수 있고, 도 10에 도시된 리그를 사용하여 360도 장면 캡처를 허용하는 상이한 시간들에서 상이한 장면들을 캡처하도록 허용될 수 있고, 이는 단지 두 개의 카메라들로 점유된다. 이러한 구성은 입체 영상 카메라들의 비용이 주어진 비용 관점으로부터 특히 바람직하고, 동일한 시점이지만 스포츠 경기 또는 다른 이벤트 동안 주요 동작을 포함하는 정면 장면이 발생할 수 있는 시간과 상이한 시간에 캡처된 배경을 보이는 것이 바람직할 수 있는 많은 애플리케이션들에 적합하다. 예를 들면, 이벤트 동안 주요 이벤트 동안 보이지 않는 것이 바람직할 물체들은 카메라 뒤에 배치될 수 있다는 것을 고려하자. 이러한 시나리오에서, 후방 이미지들은 주요 이벤트 전에 캡처되고 이미지 데이터의 360도 세트를 제공하기 위해 주요 이벤트의 실시간으로 캡처된 이미지들과 함께 이용 가능하게 될 수 있고, 때때로 캡처되고 이용 가능하다.In the FIG. 10 example, a pair of cameras 902, 904, 906 can rotate around a central point of the camera rig allowing different views to be captured at different times without having to change the camera base position, in some embodiments. In, it rotates around. That is, the cameras can be rotated around the central support of the rig and allowed to capture different scenes at different times allowing for 360 degree scene capture using the rig shown in Figure 10, which requires only two cameras. occupied by fields. This configuration is particularly desirable from a cost perspective given the cost of stereoscopic cameras, and it is desirable to show the background captured at the same time but at a different time than when a frontal scene containing key action may occur during a sporting event or other event. It is suitable for many applications. For example, consider that during an event objects that would otherwise be desirable to be invisible during the main event may be placed behind the camera. In such a scenario, rear images may be captured before the main event and made available along with images captured in real time of the main event to provide a 360 degree set of image data, and may be captured and available from time to time.

도 11은 일 예시적인 실시예에 따라 구현된 일 예시적인 카메라 리그(1100)의 상세도를 도시한다. 도 11로부터 이해될 수 있는 바와 같이, 카메라 리그(1100)는 모든 실시예들이 아닌 일부 실시예들이 입체 영상 카메라들인 3쌍의 카메라들(1102, 1104, 1106)을 포함한다. 각각의 카메라 쌍은 몇몇 실시예들에서 두 개의 카메라들을 포함한다. 카메라 쌍들(1102, 1104, 1106)은 도 9 및 도 10에 관하여 상기에 논의된 카메라 쌍들(902, 904, 906)과 동일하거나 유사하다. 몇몇 실시예들에서, 카메라 쌍들(1102, 1104, 1106)은 카메라 리그(1100)의 지지 구조(1120)상에 장착된다. 몇몇 실시예들에서, 세 개의 쌍들(여섯 개의 카메라들)의 카메라들(1102, 1104, 1106)은 각각의 카메라 쌍 장착 플레이트들을 통해 지지 구조(1120)상에 장착된다. 지지 구조(1120)는 입체 영상 카메라 쌍들을 장착하기 위한 세 개의 장착 위치들을 포함하고, 각각의 장착 위치는 상이한 120도 뷰잉 영역에 대응한다. 도 11의 예시적인 실시예에서, 제 1 쌍의 입체 영상 카메라들(1102)은 세 개의 장착 위치들 중 제 1 장착 위치, 예를 들면, 정면 위치에 장착되고, 120도 정면 뷰잉 영역에 대응한다. 제 2 쌍의 입체 영상 카메라들(1104)은 세 개의 장착 위치들 중 제 2 장착 위치, 예를 들면, 정면 위치에 관하여 시계 방향으로 120도 회전하는 배경 위치에 장착되고, 상이한 120도 뷰잉 영역에 대응한다. 제 3 쌍의 입체 영상 카메라들(1106)은 세 개의 장착 위치들 중 제 3 장착 위치, 예를 들면, 정면 위치에 관하여 시계 방향으로 240도 회전하는 배경 위치에 장착되고, 다른 120도 뷰잉 영역에 대응한다. 카메라 리그(1100)상의 세 개의 카메라 장착 위치들은 서로에 관하여 120도씩 오프셋되지만, 몇몇 실시예들에서, 카메라 리그상에 장착된 각각의 카메라는 약 180도의 시야를 갖는다. 몇몇 실시예들에서, 이러한 확장된 시야는 카메라 디바이스들상에서 어안 렌즈를 사용함으로써 달성된다.Figure 11 shows a detailed view of an example camera rig 1100 implemented according to an example embodiment. As can be appreciated from FIG. 11 , camera rig 1100 includes three pairs of cameras 1102, 1104, 1106, which in some but not all embodiments are stereoscopic cameras. Each camera pair includes two cameras in some embodiments. Camera pairs 1102, 1104, 1106 are the same or similar to camera pairs 902, 904, 906 discussed above with respect to FIGS. 9 and 10. In some embodiments, camera pairs 1102, 1104, and 1106 are mounted on a support structure 1120 of camera rig 1100. In some embodiments, three pairs (six cameras) of cameras 1102, 1104, 1106 are mounted on support structure 1120 via respective camera pair mounting plates. The support structure 1120 includes three mounting positions for mounting pairs of stereoscopic cameras, each mounting position corresponding to a different 120 degree viewing area. 11 , the first pair of stereoscopic imaging cameras 1102 is mounted in a first of the three mounting positions, e.g., the frontal position, corresponding to a 120 degree frontal viewing area. . The second pair of stereoscopic imaging cameras 1104 is mounted in a second of three mounting positions, e.g., a background position rotated 120 degrees clockwise with respect to the frontal position, and positioned in a different 120 degree viewing area. respond. The third pair of stereoscopic imaging cameras 1106 is mounted in a third of the three mounting positions, e.g., a background position rotated 240 degrees clockwise with respect to the frontal position, and in the other 120 degree viewing area. respond. The three camera mounting positions on camera rig 1100 are offset by 120 degrees relative to each other, although in some embodiments, each camera mounted on the camera rig has a field of view of approximately 180 degrees. In some embodiments, this expanded field of view is achieved by using a fisheye lens on the camera devices.

모든 장착 플레이트들이 도시된 도면에 보이지는 않지만, 카메라 쌍(1102)을 장착하기 위해 사용된 카메라 장착 플레이트(1110)가 도시된다. 카메라들을 위한 장착 플레이트들은 지지 기저(1120)의 슬롯들을 지나서 바닥부로부터 장착 플레이트에 나사형 구멍들로 통과하는 나사들을 위한 슬롯들을 갖는다. 이는 상기 쌍에 대한 장착 플레이트가 하부로부터 액세스 가능한 나사들을 풀고 이후 카메라 쌍 장착 플레이트를 지지 구조에 고정하기 위해 나사들을 조임으로써 조정되게 한다. 개별적인 카메라 위치들이 또한 조정될 수 있고, 이후 조정들 후 고정될 수 있다. 몇몇 실시예들에서, 개별 카메라들은 상부로부터 장착 플레이트로 조정/고정될 수 있고, 카메라 장착 플레이트들은 하부로부터 조정/고정될 수 있다.Although not all mounting plates are visible in the drawing, camera mounting plate 1110 is shown as used to mount camera pair 1102. Mounting plates for the cameras have slots for screws passing through threaded holes in the mounting plate from the bottom past the slots in the support base 1120. This allows the mounting plate for the pair to be adjusted by loosening screws accessible from the bottom and then tightening the screws to secure the camera pair mounting plate to the support structure. Individual camera positions can also be adjusted and fixed after subsequent adjustments. In some embodiments, individual cameras can be adjusted/secured with a mounting plate from the top and camera mounting plates can be adjusted/secured from the bottom.

다수의 실시예들에서, 카메라 리그(1100)는 지지 구조(1120)가 회전 가능하게 장착되는 기저(1122)를 포함한다. 따라서, 다양한 실시예들에서, 지지 구조(1120)상의 카메라 어셈블리는 기저의 중심을 통과하는 축 주변을 360도 회전될 수 있다. 몇몇 실시예들에서, 기저(1122)는 삼각대 또는 다른 장착 디바이스의 부분일 수 있다. 지지 구조는 플라스틱, 금속, 또는 합성 재료 예컨대 그래파이트 또는 섬유 유리로 구성될 수 있다. 카메라 쌍들은, 몇몇 실시예들에서, 때때로 중심 절점이라고 불리는 중심점 주변으로 회전될 수 있다.In many embodiments, camera rig 1100 includes a base 1122 on which a support structure 1120 is rotatably mounted. Accordingly, in various embodiments, the camera assembly on support structure 1120 may be rotated 360 degrees about an axis passing through the center of the base. In some embodiments, base 1122 may be part of a tripod or other mounting device. The support structure may be made of plastic, metal, or synthetic materials such as graphite or fiberglass. Camera pairs may, in some embodiments, be rotated about a central point, sometimes called a central node.

상기 요소들에 더하여, 몇몇 실시예들에서, 카메라 리그(1100)는 두 개의 시뮬레이션된 귀들(1130, 1132)을 추가로 포함한다. 이들 시뮬레이션된 귀들(1130, 1132)은 사람 귀들을 모방하고, 몇몇 실시예들에서 인간 귀의 형상으로 몰딩된 실리콘으로 구성된다. 시뮬레이션된 귀들(1130, 1132)은 두 개의 귀들이 평균 인간의 인간 귀들 사이의 간격과 동일하거나 거의 동일한 거리로 서로로부터 이격되는 마이크로폰들을 포함한다. 시뮬레이션된 귀들(1130, 1132)에 장착된 마이크로폰들은 정면을 마주보는 카메라 쌍(1102)상에 장착되지만, 대안적으로 지지 구조, 예를 들면, 플랫폼(1120)상에 장착될 수 있다. 시뮬레이션된 귀들(1130, 1132)은 인간 귀들이 인간 머리상의 눈들의 정면에 수직하게 위치되는 것과 유사한 방식으로 카메라 쌍(1102)의 정면에 수직하게 위치된다. 시뮬레이션된 귀들(1130, 1132)의 측면의 구멍들은 시뮬레이션된 귀들의 측면의 오디오 입력 구멍의 역할을 하고, 시뮬레이션된 귀들 및 구멍은 인간의 귀가 오디오 사운드들을 인간의 귀에 포함된 고막으로 지향시키는 것처럼 시뮬레이션된 귀들의 각각의 것에 장착된 마이크로폰으로 오디오를 지향시키도록 조합하여 동작한다. 왼쪽 및 오른쪽 시뮬레이션된 귀들(1130, 1132)에서 마이크로폰들은 카메라 리그(1100)의 위치의 인간이 카메라 리그의 위치에 위치되는 경우 사람의 왼쪽 및 오른쪽 귀들을 통해 인식되는 것과 유사한 스테레오 사운드 캡처를 제공한다.In addition to the above elements, in some embodiments, camera rig 1100 additionally includes two simulated ears 1130 and 1132. These simulated ears 1130, 1132 mimic human ears and, in some embodiments, are comprised of silicone molded into the shape of a human ear. Simulated ears 1130, 1132 include microphones where the two ears are spaced from each other at or about the same distance as the spacing between the average human's human ears. The microphones mounted on the simulated ears 1130 and 1132 are mounted on a front-facing camera pair 1102, but could alternatively be mounted on a support structure, for example, platform 1120. Simulated ears 1130, 1132 are positioned perpendicular to the front of the camera pair 1102 in a similar way that human ears are positioned perpendicular to the front of the eyes on a human head. The holes on the sides of the simulated ears 1130, 1132 serve as audio input holes on the sides of the simulated ears, and the simulated ears and holes simulate how the human ear directs audio sounds to the eardrum contained in the human ear. It operates in combination to direct audio to a microphone mounted on each of the ears. Microphones in the left and right simulated ears 1130, 1132 provide stereo sound capture similar to what a human would perceive through the left and right ears of the camera rig 1100 if the human were positioned at the camera rig's location. .

도 11은 세 개의 입체 영상 카메라 쌍들을 갖는 예시적인 카메라 리그(1100)의 하나의 구성을 도시하지만, 다른 변형들이 범위 내에서 가능하다는 것이 이해되어야 한다. 예를 들면, 일 구현에서, 카메라 리그(1100)는 단일 카메라 쌍, 예를 들면, 360도 장면의 상이한 부분들이 상이한 시간들에 캡쳐되게 하는 카메라 리그의 중심점 주변을 회전할 수 있는 한 쌍의 입체 영상 카메라들을 포함한다. 따라서, 단일 카메라 쌍은 지지 구조상에 장착되고 리그의 중심 지지대 주변으로 회전될 수 있고, 360도 장면 캡처를 허용하는 상이한 시간들에서 상이한 장면들을 캡처하도록 허용될 수 있다.11 shows one configuration of an example camera rig 1100 with three stereoscopic camera pairs, but it should be understood that other variations are possible within the scope. For example, in one implementation, camera rig 1100 may be a single camera pair, e.g., a pair of stereoscopic cameras that can rotate around a center point of the camera rig such that different portions of a 360-degree scene are captured at different times. Includes video cameras. Thus, a single camera pair can be mounted on a support structure and rotated around the central support of the rig, allowing them to capture different scenes at different times allowing for 360 degree scene capture.

도 12는 일 예시적인 360 장면 환경(1200), 예를 들면, 360도 장면의 상이한 부분들을 캡처하는 각각의 카메라의 상이한 카메라 위치들에 대응하는 상이한 뷰잉 영역들/부분들로 분할될 수 있는, 360 장면 영역을 도시한다. 도시된 예에서, 360 장면 영역(1200)은, 예를 들면, 도 9, 도 10, 및 도 11에 도시되는 카메라 리그(1100)상에 장착되고 위치된 카메라들과 같은, 세 개의 상이한 카메라/카메라 쌍들에 의해 캡처되는 세 개의 180도 구역들에 대응하는 세 개의 부분들로 분할된다. 360도 장면(1200)상에 마킹한 0도는 장면의 중심인 것으로 고려될 수 있다. 어안 렌즈가 사용되지 않는 몇몇 실시예들에서, 각각의 카메라의 시야는 약 120도이고, 따라서 카메라가 대략 120도 장면 영역을 캡처하게 한다. 이러한 실시예들에서, 상이한 120도 장면 부분들의 경계는 360도 장면이 각각 120도의 3 부분으로 분할하는 검은 실선들을 사용하여 도면에 도시된다. 카메라들이 어안 렌즈가 갖춰진 실시예들에서, 각각의 카메라의 시야는 약 180도(+-5도)로 확장하고, 따라서 카메라가 거의 180도(+-5도) 장면 영역을 캡처하게 한다.12 illustrates an example 360 scene environment 1200, which may be divided into different viewing areas/portions corresponding to different camera positions of each camera, e.g., capturing different portions of the 360-degree scene. Shows a 360-degree scene area. In the example shown, the 360 scene area 1200 includes three different cameras, such as, for example, the cameras mounted and positioned on camera rig 1100 shown in FIGS. 9, 10, and 11. It is divided into three parts corresponding to three 180 degree zones captured by the camera pairs. The 0 degree marking on the 360 degree scene 1200 may be considered to be the center of the scene. In some embodiments where a fisheye lens is not used, the field of view of each camera is approximately 120 degrees, thus allowing the camera to capture approximately a 120 degree scene area. In these embodiments, the boundaries of different 120-degree scene portions are shown in the drawing using solid black lines that divide the 360-degree scene into three portions of 120 degrees each. In embodiments where the cameras are equipped with fisheye lenses, the field of view of each camera extends to approximately 180 degrees (+-5 degrees), thus allowing the camera to capture nearly 180 degrees (+-5 degrees) of the scene area.

0도 마크의 왼쪽 및 오른쪽에 대해 90도를 포함하는 제 1 구역(270부터 90까지 180도 정면 장면 영역에 대응하는 구역(1))은 제 1 카메라, 예를 들면, 카메라 디바이스가 대략 180도의 시야를 갖게 하는 어안 렌즈를 갖춘, 정면 장면 영역을 캡처하기 위해 위치된 카메라 쌍(1102)에 의해 캡처될 수 있다. 제 2 구역(구역(2))은 제 2 카메라, 예를 들면, 어안 렌즈를 갖춘 후방 오른쪽 장면 영역을 캡처하기 위해 위치된 카메라 쌍(1104)에 의해 캡처될 수 있는 30으로부터 210까지의 180도 후방 오른쪽 장면 영역에 대응하고, 제 3 구역(구역(3))은, 제 3 카메라, 예를 들면, 어안 렌즈를 갖춘 후방 왼쪽 장면 영역을 캡처하기 위해 위치된 카메라 쌍(1106)에 의해 캡처될 수 있는 150으로부터 330까지의 180도 후방 왼쪽 장면 영역에 대응한다. 범례(1250)는, 예를 들면, 상이한 구역들하에 포함된 장면 영역의 시작 및 종료를 마킹하는, 상이한 구역 경계들을 나타내기 위해 사용된 상이한 라인 패턴들을 식별하는 정보를 포함한다. 상이한 카메라들에 의해 포함된 세 개의 상이한 구역들하의 장면 영역들 사이에 실질적인 중첩이 존재하는 것이 도면으로부터 이해될 수 있다. 도 12의 도시된 예에서, 구역(1)과 구역(2) 사이의 중첩은 60도, 즉, 30 내지 90하의 장면 영역이고, 구역(2)과 구역(3) 사이의 중첩은 또한 60도, 즉, 150 내지 210하의 장면 영역이고, 구역(3)과 구역(1) 사이의 중첩은 60도, 즉, 270 내지 330하의 장면 영역이다. 도시된 예에서, 중첩은 60도이지만, 상이한 여러가지 중첩들이 가능하다는 것이 이해되어야 한다. 몇몇 실시예들에서, 두 개의 상이한 장면 커버리지 영역들 사이의 중첩은 30도 내지 60도 사이에 존재한다.A first region comprising 90 degrees to the left and right of the 0 degree mark (region 1 corresponding to a 180 degree frontal scene area from 270 to 90) is defined by a first camera, e.g. a camera device, of approximately 180 degrees. It may be captured by a pair of cameras 1102 positioned to capture the frontal scene area, equipped with a fisheye lens to provide a field of view. The second zone (zone 2) is a 180 degree angle from 30 to 210 that can be captured by a second camera, for example camera pair 1104 positioned to capture the rear right scene area with a fisheye lens. Corresponding to the rear right scene area, a third zone (zone 3) is to be captured by a third camera, for example a camera pair 1106 positioned to capture the rear left scene area with a fisheye lens. It corresponds to a 180 degree rear left scene area ranging from 150 to 330 degrees. Legend 1250 includes information identifying different line patterns used to indicate different zone boundaries, for example, marking the beginning and end of scene areas included under the different zones. It can be understood from the drawing that there is substantial overlap between the scene areas under the three different zones covered by the different cameras. In the illustrated example of Figure 12, the overlap between zones 1 and 2 is 60 degrees, i.e. the scene area below 30 to 90 degrees, and the overlap between zones 2 and 3 is also 60 degrees. , that is, the scene area under 150 to 210 degrees, and the overlap between zone 3 and zone 1 is 60 degrees, i.e., the scene area under 270 to 330 degrees. In the example shown, the overlap is 60 degrees, but it should be understood that many different overlaps are possible. In some embodiments, the overlap between two different scene coverage areas is between 30 and 60 degrees.

몇몇 실시예들에서, 콘텐트 제공자는 상이한 카매레들에 의해 캡처된 360도 장면 영역들의 상이한 부분들에 대응하는 콘텐트를 포함하는 콘텐트 스트림을 고객 재생 디바이스들로 발행, 예를 들면, 멀티캐스트한다. 몇몇 실시예들에서, 상이하게 인코딩된 상이한 장면 영역들에 대응하는 콘텐트의 다수의 버전들이 콘텐트 제공자에 의해 멀티캐스트되고, 특정한 버전을 지원하고 선호하는 재생 디바이스는 디코딩 및 재생할 적절한 콘텐트 스트림을 선택할 수 있다. 몇몇 실시예들의 일 양태에 따라, 재생 디바이스는 사용자의 현재 시야를 나타내는 현재 머리 위치를 추적하고, 재생에 사용하기 위해 수신하도록 선택할 360도 장면 영역의 일 부분에 대응하는 콘텐트를 포함하는 이용 가능한 콘텐트 스트림들 중 하나 이상을 결정한다. 예를 들면, 사용자 머리 위치가 사용자가 앞을 바라보고 있는 경우, 재생 디바이스는 360도 장면의 180도 정면 부분을 전달하는 스트림을 디코딩하지만, 사용자 머리 위치 및 뷰잉각이 변경된 것이 검출될 때, 재생 디바이스는 사용자의 현재 뷰잉각, 예를 들면, 360도 장면 영역의 후방 오른쪽, 후방 왼쪽, 뒤에 일치하는 장면 부분에 대응하는 스트림을 디코딩한다. 몇몇 실시예들에서, 360도 장면 영역의 제 1 부분, 예를 들면, 정면 180도에 대응하는 콘텐트를 포함하는 스트림은 360도 장면의 정면 부분을 캡처하기 위해 사용된 정면을 마주보는 카메라 쌍의 왼쪽 및 오른쪽 카메라들에 의해 캡처된 장면 영역을 포함한다.In some embodiments, a content provider publishes, eg, multicasts, a content stream containing content corresponding to different portions of 360-degree scene areas captured by different cameras to customer playback devices. In some embodiments, multiple versions of content corresponding to different scene regions, encoded differently, are multicast by the content provider, and a playback device that supports and prefers a particular version can select the appropriate content stream to decode and play. there is. According to an aspect of some embodiments, a playback device tracks the current head position representing the user's current field of view and provides available content, including content corresponding to a portion of the 360-degree scene area, to select to receive for use in playback. Determine one or more of the streams. For example, if the user's head position is such that the user is looking forward, the playback device will decode a stream that conveys a 180-degree frontal portion of a 360-degree scene, but when it detects that the user's head position and viewing angle has changed, the playback device will decode a stream that conveys a 180-degree frontal portion of the 360-degree scene. The device decodes the stream corresponding to the portion of the scene that matches the user's current viewing angle, e.g., back right, back left, and behind the 360-degree scene area. In some embodiments, the stream containing content corresponding to the first portion of the 360-degree scene area, e.g., the frontal 180 degrees, is configured to include a pair of front-facing cameras used to capture the frontal portion of the 360-degree scene. Contains the scene area captured by the left and right cameras.

도 13은, 예를 들면, 예시적인 360 장면 영역의 뷰잉 영역들/부분들을 포함하도록 위치될 수 있는 예시적인 카메라 리그(1100)상에, 상이한 카메라들에 의해 캡처될 수 있는 도 12의 예시적인 360 장면 영역의 상이한 부분들을 도시하는 예를 도시한다. 도 13 예는 예시적인 360 장면 영역의 상이한 부분들을 도시하는 도면들(1300, 1320, 1350)을 포함한다. 그러나, 상이한 카메라들에 의해 캡처된 장면의 상이한 부분들의 각각의 적어도 일부들이 몇몇 실시예들에서 중첩하는 것이 도면들로부터 이해될 수 있다. 상이한 셰이딩 패턴들이 상이한 카메라 위치들에 대응하는 장면 영역의 부분들을 보여주기 위해 도면들(1300, 1320, 1350)의 각각에 사용되었다. 몇몇 실시예들에서, 도면들(1300, 1320, 1350)에 도시된 상이한 장면 부분들은 상이한 뷰잉 방향들에 대응하는 콘텐트를 제공하는 상이한 콘텐트 스트림들을 통해 전달된다. 도 13 예에서 장면 부분들이 대략 180도 뷰잉 영역을 포함하는 것으로 도시되지만, 몇몇 실시예들에서, 장면 부분들은 120도와 180도 사이를 포함할 수 있다.FIG. 13 is an example of FIG. 12 that may be captured by different cameras, for example, on an example camera rig 1100 that may be positioned to include viewing areas/portions of an example 360 scene area. An example showing different parts of a 360 scene area is shown. The FIG. 13 example includes diagrams 1300, 1320, and 1350 depicting different portions of an example 360 scene area. However, it can be understood from the drawings that in some embodiments at least some of each of the different parts of the scene captured by different cameras overlap. Different shading patterns were used in each of the figures 1300, 1320, and 1350 to show portions of the scene area corresponding to different camera positions. In some embodiments, different scene portions shown in figures 1300, 1320, and 1350 are delivered via different content streams that provide content corresponding to different viewing directions. Although the scene portions in the FIG. 13 example are shown as encompassing approximately a 180 degree viewing area, in some embodiments the scene portions may encompass between 120 and 180 degrees.

도면(1300)은 360도 장면(1200)의 제 1 예시적인 장면 부분(1305)을 도시한다. 제 1 예시적인 장면 부분(1305)은 정면 뷰잉 방향에 대응하고, 360도 장면 환경 중 180도 또는 대략 180도 뷰잉 영역을 포함한다. 제 1 장면 부분(1305)은, 예를 들면, 0도 카메라 위치에 위치된, 제 1 카메라 쌍(902 또는 1102)에 의해 캡처될 수 있다. 제 1 예시적인 장면 부분(1305)상의 영역은 대각선 패턴을 사용하여 도면(1300)에 도시된다. 제 1 예시적인 장면 부분(1305)은 제 1, 예를 들면, 정면, 뷰잉 방향에 대응하는 콘텐트의 프레임들을 전달하는 제 1 스트림에 의해 전달될 수 있다.Drawing 1300 depicts a first example scene portion 1305 of a 360 degree scene 1200. The first example scene portion 1305 corresponds to the front viewing direction and includes a 180 degree or approximately 180 degree viewing area of the 360 degree scene environment. The first scene portion 1305 may be captured by a first camera pair 902 or 1102, for example positioned at a 0 degree camera position. Areas on the first example scene portion 1305 are depicted in diagram 1300 using a diagonal pattern. The first example scene portion 1305 may be conveyed by a first stream carrying frames of content corresponding to a first, eg frontal, viewing direction.

도면(1320)은 360도 장면(1200)의 제 2 예시적인 장면 부분(1307)(도면(1320)에 도시된 부분(1307', 1307")을 포함하는)을 도시한다. 제 2 예시적인 장면 부분(1307)은 후방 오른쪽 뷰잉 방향에 대응하고, 30으로부터 210으로 연장하는 360도 장면 환경 중 180도 또는 대략 180도 뷰잉 영역을 포함한다. 제 2 장면 부분(1307)은 도 9 및 도 10에 도시된 120도 카메라 위치에 위치된, 예를 들면, 제 2 카메라 쌍(904)에 의해 캡처될 수 있다. 제 2 예시적인 장면 부분(1307)하의 영역은 수평선 패턴을 사용하여 도면(1300)에 도시된다. 도면들(1300, 1302)을 고려하자. 제 1 및 제 2 장면 부분들(1305, 1307) 사이의 장면 영역의 중첩 부분(1308)을 주의하라. 중첩 부분(1308)은 장면 영역(1200)의 제 1 및 제 2 장면 부분들(1305, 1307) 모두에 공통적인 캡처된 장면 영역의 일 부분을 도시한다. 몇몇 실시예들에서, 제 1 및 제 2 장면 부분들(1305, 1307) 사이의 중첩은 +-2 내지 3도 변동을 갖고 30도 내지 60도 사이에 있다. 도 13의 도시된 예에서, 중첩 부분(1308)은 60도, 예를 들면, 30 내지 90의 영역이다. 따라서, 몇몇 실시예들에서, 상이한 콘텐트 스트림들에 의해 제공된 및/또는 상이한 카메라들에 의해 캡처된 상이한 뷰잉 방향들에 대응하는 장면 영역의 적어도 일 부분은 중첩한다. 몇몇 다른 실시예들에서, 상이한 카메라들에 의해 캡처된 상이한 뷰잉 방향들에 대응하는 장면 영역들 사이에 중첩이 존재하지 않는다. 몇몇 실시예에서, 제 2 예시적인 장면 부분(1307)은 제 2 뷰잉 방향에 대응하는 콘텐트의 프레임들을 전달하는 제 2 스트림에 의해 전달될 수 있다.Diagram 1320 illustrates a second example scene portion 1307 (including portions 1307' and 1307" shown in diagram 1320) of 360-degree scene 1200. Second example scene Portion 1307 corresponds to the rear right viewing direction and includes a 180 degree or approximately 180 degree viewing area of the 360 degree scene environment extending from 30 to 210. Second scene portion 1307 is shown in Figures 9 and 10. It may be captured by, for example, a second camera pair 904, positioned at the 120 degree camera position shown. The area under the second example scene portion 1307 is shown in diagram 1300 using a horizontal line pattern. is shown. Consider the drawings 1300 and 1302. Note the overlapping portion 1308 of the scene area between the first and second scene portions 1305 and 1307. The overlapping portion 1308 is the scene area ( illustrates a portion of the captured scene area that is common to both first and second scene portions 1305, 1307 of 1200. In some embodiments, first and second scene portions 1305, 1307 The overlap varies between +-2 and 3 degrees and is between 30 and 60 degrees.In the illustrated example of Figure 13, the overlap portion 1308 is in the region of 60 degrees, e.g., 30 to 90 degrees. Accordingly, in some embodiments, at least a portion of the scene area corresponding to different viewing directions provided by different content streams and/or captured by different cameras overlaps. In some other embodiments, the different viewing directions overlap. There is no overlap between scene areas corresponding to different viewing directions captured by the cameras.In some embodiments, the second example scene portion 1307 includes frames of content corresponding to the second viewing direction. It may be transmitted by a second stream that transmits.

도면(1350)은 360도 장면(1200)의 제 3 예시적인 장면 부분(1309)(도면(1350)에 도시된 부분들(1309', 1309")을 포함하는)을 도시한다. 제 3 예시적인 장면 부분(1309)은 후방 왼쪽 뷰잉 방향에 대응하고, 150으로부터 330까지 연장하는 360도 장면 환경 중 180도 또는 대략 180도 뷰잉 영역을 포함한다. 제 3 장면 부분(1309)은 도 9 및 도 10에 도시되는 240도 카메라 위치에 위치된 예를 들면, 제 3 카메라 쌍(906)에 의해 캡처될 수 있다. 제 3 예시적인 장면 부분(1309)하의 영역이 수직선 패턴을 사용하여 도면(1300)에 도시된다. 도면들(1320, 1350)을 고려하자. 제 2와 제 3 장면 부분들(1307, 1309) 사이의 중첩 영역 부분을 조합하여 구성하는 중첩 부분들(1310, 1310')을 주의하라. 중첩 부분들(1310, 1310') 하에 공통의 영역은 장면 영역(1200)의 제 2 및 제 3 장면 부분들(1307, 1309) 모두에 공통인 캡처된 장면 영역의 부분을 보여준다. 몇몇 실시예들에서, 제 2 와 제 3 장면 부분들(1307, 1309) 사이의 중첩은 ±2-3도 변동을 갖고 30도와 60도 사이에 존재한다. 도 13의 도시된 예에서, 중첩 부분들(1310, 1310')은 함께 약 60도, 예를 들면, 150 내지 210의 영역을 포함하여 함께 포함한다. 여기서 도면들(1300, 1350)을 더 생각하자. 제 1과 제 3 장면 부분들(1305, 1309) 사이의 중첩 영역 부분을 나타내는 중첩 부분(1312)을 주의하자. 몇몇 실시예에서, 제 3의 예시적인 장면 부분(1309)은 제 3 뷰잉 방향에 대응하는 콘텐트의 프레임들을 전달하는 제 3 스트림에 의해 전달될 수 있다.Diagram 1350 illustrates a third exemplary scene portion 1309 (including portions 1309' and 1309" shown in diagram 1350) of 360-degree scene 1200. Third exemplary scene portion 1309 Scene portion 1309 corresponds to the rear left viewing direction and includes a 180 degree or approximately 180 degree viewing area of the 360 degree scene environment extending from 150 to 330. Third scene portion 1309 is shown in Figures 9 and 10. may be captured by, for example, a third camera pair 906 positioned at the 240 degree camera position shown in. The area under the third example scene portion 1309 is represented in diagram 1300 using a vertical line pattern. Consider the drawings 1320 and 1350. Note the overlapping portions 1310 and 1310', which are formed by combining portions of the overlapping area between the second and third scene portions 1307 and 1309. The common area under overlapping portions 1310, 1310' shows the portion of the captured scene area that is common to both the second and third scene portions 1307, 1309 of scene area 1200. Some Embodiments , the overlap between the second and third scene parts 1307, 1309 lies between 30 and 60 degrees with a variation of ±2-3 degrees. In the illustrated example of Figure 13, the overlap parts 1310, 1310') together comprise an area of approximately 60 degrees, e.g., from 150 to 210. Consider further the figures 1300, 1350, first and third scene portions 1305, 1309. Note the overlap portion 1312, which represents a portion of the overlapping area between In some embodiments, the third exemplary scene portion 1309 is connected to a third stream carrying frames of content corresponding to the third viewing direction. can be transmitted by

도 13 예의 부분으로 도시된 도면들은 본 발명의 몇몇 양태들의 이해를 용이하기 위한 예를 도시하지만, 다른 변동들이 개시의 범위 내에서 가능하다는 것이 이해되어야 한다.The drawings shown as part of the example in FIG. 13 illustrate an example to facilitate understanding of some aspects of the invention; however, it should be understood that other variations are possible within the scope of the disclosure.

도 14a 및 도 14b의 조합을 포함하는 도 14는 본 발명의 실시예들에 따라 재생 시스템을 동작시키는 일 예시적인 방법의 단계들을 도시하는 플로차트(1400)이다. 시스템은 도 8에 도시된 재생 시스템(800)일 수 있거나 본 출원에서 도시된 다른 도면들 중 어느 것의 재생 시스템일 수 있다.Figure 14, which includes the combination of Figures 14A and 14B, is a flowchart 1400 illustrating the steps of an example method of operating a playback system in accordance with embodiments of the invention. The system may be the playback system 800 shown in Figure 8 or may be a playback system of any of the other figures shown in this application.

예시적인 방법은 단계(1402)에서 시작하고, 재생 디바이스, 예를 들면, 도 19의 재생 디바이스(1900) 또는 다른 도면들 중 어느 것의 재생 디바이스가 턴온되고 개시된다. 논의의 목적들을 위해, 재생 시스템이, 예를 들면, 입체 영상 콘텐트의 경우에 상이한 이미지들이 나타내지는 사용자의 왼쪽 눈 및 오른쪽 눈에, 이미지 콘텐트가 나타내지는 디스플레이를 포함하는 헤드 마운트 디스플레이 디바이스(1905)에 결합된 컴퓨터 시스템(1900')을 포함하는 것을 고려하자. 컴퓨터 시스템(1900')이 디스플레이를 포함하는 헤드 마운트 디바이스에 대해 외부로 도시되지만, 컴퓨터 시스템(1900')은 그에 대해 외부라기보다는 헤드 마운트 디스플레이로 통합될 수 있다.The example method begins at step 1402, where a playback device, such as playback device 1900 of Figure 19 or any of the other figures, is turned on and initiated. For purposes of discussion, a head mounted display device 1905 wherein the playback system includes a display on which image content is presented, e.g., in the case of stereoscopic content, to the left and right eyes of a user on which different images are presented. Consider including a computer system 1900' coupled to . Although computer system 1900' is shown as external to a head mounted device that includes a display, computer system 1900' may be integrated into a head mounted display rather than external to it.

동작은 단계들(1402)로부터 단계(1404)로 진행한다. 단계(1404)에서, 재생 시스템(1900)은, 예를 들면, 프로그램 가이드의 일부로서, 복수의 콘텐트 스트림들 및/또는 초기화 데이터에 관한 정보를 수신한다. 수신된 정보는 도 18에 도시된 형태일 수 있고, 콘텐트 스트림들이 콘텐트를 요청하거나 콘텐트에 대해 동조시키기 위해 사용될 수 있는 멀티캐스트 그룹 식별자 또는 다른 식별자와 같은 스트림들을 수신하기 위해 사용될 수 있는 정보와 함께 이용 가능하거나 이용 가능한 것을 나타내는 정보를 포함한다. 예를 들면, 콘텐트 스트림과 연관된 멀티캐스트 어드레스는 콘텐트가 스위칭된 디지털 비디오를 통해 공급될 때 콘텐트를 요청하기 위해 사용될 수 있는 수신된 정보 또는 프로그램 식별자에 포함될 수 있다. 방송 콘텐트의 경우, 수신된 정보는 재생 디바이스가 특정 콘텐트 스트림을 수신하기 위해 동조되어야 하는 채널 및/또는 주파수를 나타내는 동조 정보를 포함할 수 있고, 때때로 그를 포함한다.Operation proceeds from steps 1402 to step 1404. At step 1404, playback system 1900 receives information regarding a plurality of content streams and/or initialization data, for example, as part of a program guide. The information received may be in the form shown in Figure 18, with information that can be used to receive the content streams, such as a multicast group identifier or other identifier that can be used to request content or tune to content. Contains information indicating what is available or available. For example, a multicast address associated with a content stream can be included in received information or a program identifier that can be used to request content when the content is provided over switched digital video. For broadcast content, the received information may, and sometimes includes, tuning information indicating the channel and/or frequency to which the playback device must be tuned to receive a particular content stream.

단계(1404)에서 수신된 정보는 하나 이상의 프로그램들에 대한 정보를 포함할 수 있다. 주어진 프로그램, 예를 들면, 스포츠 경기, 콘서트, 등에 대하여, 상이한 스트림들이 콘텐트가 대응하는 환경에서 카메라 위치에 관하여 상이한 뷰잉 방향들에 대응하는 콘텐트를 제공하는 데 이용 가능할 수 있다. 카메라 위치는 재생 동안 뷰잉 위치에 대응한다. 따라서, 재생 동안 사용자의 뷰잉각들은 수신될 수 있는 콘텐트에 나타내진 환경의 부분들과 상관된다. 환경의 상이한 부분들은 상이한 스트림들에 전달될 수 있다. 환경의 각각의 부분, 예를 들면, 360도 환경의 부분에 대해, 상이한 데이터 레이트들에 대응하는 하나 이상의 스트림들은 제공되는 정보에 리스트될 수 있다. 환경의 상부 및 하부 부분들이 또한 제공될 수 있다. 몇몇 실시예들에서 개별적인 스트림들의 콘텐트는 왼쪽 및 오른쪽 눈 이미지들에 대해 제공되는 상이한 정보를 갖는 입체 영상 콘텐트이고, 그에 의해 사용자에게 디스플레이될 상이한 이미지들이 원하는 3D 효과를 제공하게 한다. 몇몇 실시예들에서, 구형 환경의 상부 및 하부 부분들은 왼쪽 및 오른쪽 눈 뷰들이 동일한 모노 이미지들로서 제공되고, 따라서 두 개의 이미지들보다는 제공될 단 하나의 이미지를 요구한다.Information received at step 1404 may include information about one or more programs. For a given program, eg, a sporting event, concert, etc., different streams may be available to present the content corresponding to different viewing directions with respect to the camera position in the environment to which the content corresponds. The camera position corresponds to the viewing position during playback. Accordingly, the user's viewing angles during playback are correlated with the portions of the environment represented in the content that can be received. Different parts of the environment may be delivered to different streams. For each portion of the environment, eg, a portion of a 360-degree environment, one or more streams corresponding to different data rates may be listed in the information provided. Upper and lower portions of the environment may also be provided. In some embodiments the content of the individual streams is stereoscopic video content with different information provided for the left and right eye images, thereby allowing the different images to be displayed to the user to provide the desired 3D effect. In some embodiments, the upper and lower portions of the spherical environment are presented as mono images where the left and right eye views are the same, thus requiring only one image to be presented rather than two images.

프로그램, 환경의 부분, 및 스트림의 데이터 레이트에 관한 정보는 어느 스트림이 콘텐트를 스트리밍하기 위해 이용 가능한 주어진 제한된 대역폭에서 수신되는지를 우선 순위화하기 위해 재생 시스템에 의해 사용될 수 있고, 몇몇 실시예들에서 사용된다. 주어진 시간에 수신할 스트림의 우선 순위화 및 선택은 사용자의 머리 위치 및/또는 사용자의 현재 또는 과거 머리 회전의 방향에 기초할 수 있고, 몇몇 실시예들에서, 그에 기초한다.Information about the program, the portion of the environment, and the data rate of the stream may be used by the playback system to prioritize which streams are received given the limited bandwidth available for streaming the content, and in some embodiments, It is used. Prioritization and selection of streams to receive at a given time may be based, in some embodiments, on the user's head position and/or the direction of the user's current or past head rotation.

입체 영상 콘텐트의 스트리밍의 경우, 주어진 제한된 대역폭 및/또는 데이터 제한들, 수신할 적절한 스트림의 선택은 만족스럽고 고품질의 뷰잉 경험을 위해 중요할 수 있다. 도 18에 도시된 정보와 동일하거나 유사할 수 있는 단계(1404)에서 수신된 정보, 예를 들면, 스트림 정보(1405)는 메모리에 저장되고, 예를 들면, 원하는 스트림이 전달되는 재생 디바이스에 공급될 스위칭된 디지털 비디오 채널을 네트워크 디바이스에 나타냄으로써, 선택된 스트림 및/또는 스트림의 요청된 전달을 제공하는 채널에 동조시키는 선택된 스트림에 대응하는 멀티캐스트 그룹을 연결시킴으로써, 스트림 또는 스트림들의 선택을 위해 특정한 시점에서 수신하고 선택된 스트림 전달을 개시하기 위해 사용된다.For streaming of stereoscopic content, given limited bandwidth and/or data limitations, selection of the appropriate stream to receive can be important for a satisfactory and high quality viewing experience. Information received at step 1404, which may be the same or similar to the information shown in FIG. 18, e.g., stream information 1405, is stored in memory and, e.g., fed to a playback device to which the desired stream is delivered. By indicating to the network device which digital video channel will be switched, by associating a multicast group corresponding to the selected stream that tunes to the selected stream and/or a channel providing the requested delivery of the stream, It is used to receive at a point in time and initiate delivery of the selected stream.

동작은 단계(1404)로부터 단계(1406)로 진행한다. 단계(1406)에서, 초기화 동안, 사용자의 현재 머리 위치가 검출된다. 초기화 단계 동안 검출된 머리 위치가 정면을 바라보는 위치인 것으로 가정될 것을 인식하는 사용자는 보통 단계(1406) 동안 편안한 레벨의 정면을 마주보는 위치에 그의 머리를 유지한다.Operation proceeds from step 1404 to step 1406. At step 1406, during initialization, the user's current head position is detected. The user, aware that the head position detected during the initialization step will be assumed to be a front-facing position, usually maintains his head at a comfortable level of front-facing position during step 1406.

동작은 단계(1406)로부터 단계(1408)로 진행한다. 단계(1408)에서, 단계(1406)에서 검출된 사용자의 머리 위치(1407)는, 사용자가 그의 머리를 0도 환경 위치, 즉, 환경의 특정 부분에 대응하는 콘텐트 스트림에 이후 인코딩되고 포함되는 캡처 이미지들에 사용된 카메라들에 의해 캡처된 전방 위치에 대응할 이러한 위치에 있을 때 디스플레이된 전방(0도) 환경 뷰잉 위치 및 뷰로서 처리된다. 스포츠 경기의 경우에, 이러한 위치는 보통 환경에서 동작의 주요 영역, 예를 들면, 스트림 또는 스트림들이 콘서트에 대응하는 경우, 무대 및 스트림들이 스포츠 경기에 대응하는 경우, 필드의 중심에 대응할 것이다. 따라서, 단계(1408)에서, 사용자의 뷰잉 위치는 0도 뷰잉 위치, 예를 들면, 장면 영역의 전방/정면 위치로서 해석되도록 설정될 것이다. 360도 뷰의 부분들이 사용자가 그의 머리를 회전시키는 경우 보이는 상이한 부분들을 갖는 수평 뷰잉 위치들에 대응한다는 것을 주의하라. 사용자가 머리를 위 또는 아래로 움직임으로써, 사용자는 하늘 부분 및/또는 지상 부분을 단독으로 또는 하나 이상의 다른 부분들과 조합하여 볼 수 있다. 주요 장면 영역이 레벨 머리 위치를 가정하는 360도 회전에 따른 부분들로 분할되기 때문에, 이러한 부분들에 대응하는 스트림들은 보통 더 많은 대역폭을 할당받고, 상부/하부 장면 부분들은 정지 이미지들 또는 드물게 변경하는 것을 사용하여 나타내질 수 있다.Operation proceeds from step 1406 to step 1408. At step 1408, the user's head position 1407 detected at step 1406 is captured and subsequently encoded and included in the content stream corresponding to the specific portion of the environment in which the user held his head in a 0 degree environmental position. The displayed front (0 degree) environment is treated as the viewing position and view when in this position, which will correspond to the front position captured by the cameras used in the images. In the case of a sporting event, this location will usually correspond to the main area of action in the environment, for example the stream or streams if they correspond to a concert, the stage and the center of the field if the streams correspond to a sporting event. Accordingly, in step 1408, the user's viewing position will be set to be interpreted as a 0 degree viewing position, eg, a front/frontal position of the scene area. Note that parts of the 360 degree view correspond to horizontal viewing positions with different parts visible when the user rotates his head. By moving the user's head up or down, the user can view the sky portion and/or the ground portion alone or in combination with one or more other portions. Since the main scene area is divided into parts based on a 360 degree rotation assuming the level head position, the streams corresponding to these parts are usually allocated more bandwidth, while the upper/lower scene parts are still images or rarely change. It can be expressed using:

동작은 단계(1408)로부터 단계(1406)로 진행하고, 환경 깊이 맵이 수신된다. 깊이 맵은 콘텐트 스트림의 이미지들이 맵핑될 3D 환경의 표면을 규정한다. 깊이 맵의 수신이 없을 시, 환경의 이미지들이 디스플레이 전에 렌더링하는 동안 맵핑되는 표면인 구의 표면 내부를 갖는 환경의 형상이 가정된 디폴트이다. 깊이 맵을 제공 및 사용함으로써, 콘텐트 스트림 내 이미지들이 시뮬레이션될 환경의 형상 및 표면들이 더 사실적인 표면들로 맵핑될 것이기 때문에, 더 사실적인 경험이 달성된다. 따라서, 단계(1410)에서 수신된 깊이 맵은 수신될 사용자에 의해 선택된 콘텐트가 또한 대응하는 환경에 대응한다. 단계(1410)에서 수신된 환경 맵, 또는 맵이 수신되지 않는 경우 디폴트 맵은 이미지들을 렌더링할 때 후속 사용을 위해 환경 맵(1411)으로서 저장된다.Operation proceeds from step 1408 to step 1406, where an environment depth map is received. The depth map defines the surface of the 3D environment onto which images in the content stream will be mapped. In the absence of reception of a depth map, the default shape of the environment is assumed to have the surface interior of a sphere, which is the surface to which images of the environment are mapped during rendering prior to display. By providing and using a depth map, a more realistic experience is achieved because the shapes and surfaces of the environment in which the images in the content stream will be simulated will be mapped to more realistic surfaces. Accordingly, the depth map received at step 1410 corresponds to an environment to which the content selected by the user to be received also corresponds. The environment map received at step 1410, or the default map if no map is received, is stored as environment map 1411 for subsequent use when rendering images.

동작은 단계(1410)로부터 단계(1412)로 진행한다. 단계(1412)에서, 2D 이미지 콘텐트를 3D 표면의 적어도 일 부분상에 맵핑하기 위해 사용될 하나 이상의 UV 맵들이 수신된다. 일 실시예에서, 적어도 하나의 UV 맵은 상이한 개별적인 이미지들로 나타내질 수 있는 환경의 각각의 부분에 대해 수신된다. 몇몇 이러한 실시예들에서, 콘텐트 스트림에 의해 전달된 이미지들이 상이한 카메라들, 예를 들면, 왼쪽 및 오른쪽 눈 카메라들에 의해 캡처될 때, 상이한 UV 맵들은 상이한 카메라들에 대해 제공될 수 있고, 때때로, 그에 제공된다. 따라서, 도 14a 예에서, 전방 부분과 같은 환경의 제 1 부분에 대응하는 제 1 UV 맵이 단계(1414)에서 수신되고, 단계(1416)에서, 왼쪽 후방 부분과 같은 환경의 제 2 부분에 대응하는 제 2 UV 맵이 수신되고, 단계(1417)에서, 오른쪽 후방 부분과 같은 환경의 제 3 부분에 대응하는 제 3 UV 맵이 수신된다. 환경의 상부 및 하부 부분들에 대응하는 UV 맵들은 단계(1418) 및 단계(1420), 각각에서 수신된다. 상기 부분들이 동일한 크기인 경우, 동일한 UV 맵이 다수의 부분들에 대해 사용된다. 그러나, 몇몇 실시예들에서, 상이한 UV 맵들이 상이한 카메라들에 의해 캡처된 이미지들에 대해 사용된다.Operation proceeds from step 1410 to step 1412. At step 1412, one or more UV maps are received to be used to map the 2D image content onto at least a portion of the 3D surface. In one embodiment, at least one UV map is received for each portion of the environment, which can be represented in different individual images. In some such embodiments, when the images carried by the content stream are captured by different cameras, for example left and right eye cameras, different UV maps may be provided for the different cameras, and sometimes , provided therefor. Thus, in the FIG. 14A example, a first UV map is received at step 1414, corresponding to a first portion of the environment, such as the front portion, and at step 1416, a first UV map corresponding to a second portion of the environment, such as the left rear portion. A second UV map is received, and at step 1417, a third UV map corresponding to a third portion of the environment, such as the right rear portion, is received. UV maps corresponding to the upper and lower portions of the environment are received at steps 1418 and 1420, respectively. If the parts are the same size, the same UV map is used for multiple parts. However, in some embodiments, different UV maps are used for images captured by different cameras.

따라서, 하나의 이러한 실시예에서, 입체 영상 이미지 데이터가 제공되는 환경의 각각의 부분, 예를 들면, 왼쪽 및 오른쪽 눈 이미지들에 대해, UV 맵들이 특정한 왼쪽 또는 오른쪽 눈 이미지 콘텐트를 캡처하기 위해 사용된 카메라 어셈블리의 특정한 특징들을 고려할 수 있도록 개별적인 UV 맵들은 왼쪽 및 오른쪽 눈 이미지들의 각각에 대해 수신 및 저장될 수 있다.Accordingly, in one such embodiment, for each portion of the environment for which stereoscopic image data is provided, e.g., left and right eye images, UV maps are used to capture specific left or right eye image content. Separate UV maps can be received and stored for each of the left and right eye images to take into account specific characteristics of the camera assembly.

각각의 UV 맵은 3D 환경의 표면의 대응하는 부분으로 맵이 대응하는 콘텐트 스트림의 2차원 이미지를 맵핑하기 위해 사용된 맵을 제공한다. 이러한 방식으로 카메라에 의해 캡처된 이미지들은 2D 이미지들로서 송신될 수 있고 이후 3D 모델로 규정된 표면 또는 표면의 일 부분상에 텍스처로서 맵핑될 수 있다.Each UV map provides a map used to map the two-dimensional image of the content stream to which the map corresponds to a corresponding portion of the surface of the 3D environment. Images captured by a camera in this way can be transmitted as 2D images and then mapped as a texture on a surface or portion of a surface defined by a 3D model.

3D 모델 정보 및 UV 맵들에 의해, 장면 부분에 대한 다른 콘텐트가 수신 및 저장될 수 있는 경우, 디폴트들로서 사용될 수 있는 이미지들이 수신된다. 단계(1422)에서, 콘텐트, 예를 들면, 제 1, 제 2, 제 3, 및 제 5 장면 부분들 중 하나 이상에 대응하는 이미지가 단계(1422)에서 수신되고 저장된다. 몇몇 실시예들에서, 환경의 일 부분에 대응하는 다수의 대안적인 이미지들, 예를 들면, 배경 부분 또는 하늘 부분은 단계(1422)에서 수신 및 저장된다. 디폴트 이미지가 다수의 디폴트 이미지들이 저장되는 일 부분에 대한 이벤트 동안 주어진 시점에서 사용되는 것을 나타내는 제어 정보가 수신될 수 있다. 예를 들면, 몇몇 실시예들에서, 앉아있는 관객의 배경 이미지 및 서있는 관객의 배경 영역 이미지는 두 개의 디폴트 이미지들로서 저장된다. 제어 정보는 어느 배경 이미지가 이벤트의 주어진 부분에 사용되는지를 나타내기 위해 사용된다. 예를 들면, 경기 또는 콘서트에서 기립 박수에 대응하는 일 부분 동안, 관중 기립 이미지는 디스플레이될 배경 이미지가 사용자가 배경 방향으로 향하는 것으로 시그널링된다. 그러나, 관중이 보통 앉아있을 경우의 주요 부분 동안, 사용자가 그의 머리를 배경 쪽으로 돌릴 경우, 앉아있는 관객의 디폴트 이미지가 사용되어야 한다는 것을 제어 정보가 시그널링한다. 제어 정보는 콘텐트 스트림으로부터 개별적으로 시그널링될 수 있거나 또는 디폴트 이미지들 중 하나 이상이 관련되는 부분과 상이한 환경의 일 부분에 대한 콘텐트 스트림과 함께 포함될 수 있다. 예를 들면, 전방 방향에 대응하는 콘텐트 스트림은 전방 방향에 대응하는 이미지들, 예를 들면, 왼쪽 및 오른쪽 눈 이미지들, 뿐만 아니라 디폴트 이미지들이 하늘, 지상, 이벤트 동안 다양한 시간들에서 오른쪽 배경 부분 및 왼쪽 배경 부분에 대해 사용되어야 하는 것을 나타내는 제어 정보를 제공할 수 있다. 대안적으로, 재생 디바이스는 특정 시점에서 전경 이미지의 하나 이상의 특징들에 대한 유사도의 광도에 기초하여 배경 또는 하늘 부분 중 어느 것을 사용할지를 결정할 수 있다. 예를 들면, 전경 이미지들이 어두울 때, 이는 검출될 수 있고 자동으로 검출된 흐린 하늘 이미지일 수 있고, 반면에 전경 이미지가 더 밝을 때, 이것이 또한 검출될 수 있고 수신 및 저장된 이용 가능한 디폴트 하늘 이미지들로부터 자동으로 선택된 덜 흐리고, 더 밝은 하늘 이미지일 수 있다.With the 3D model information and UV maps, images are received that can be used as defaults when other content for the scene part can be received and stored. At step 1422, content, e.g., images corresponding to one or more of the first, second, third, and fifth scene portions, is received and stored at step 1422. In some embodiments, multiple alternative images corresponding to a portion of the environment, such as a background portion or a sky portion, are received and stored at step 1422. Control information may be received indicating which default image is to be used at a given time during an event for a portion of which multiple default images are stored. For example, in some embodiments, a background image of a seated audience member and a background area image of a standing audience member are stored as two default images. Control information is used to indicate which background image is used for a given part of the event. For example, during a portion corresponding to a standing ovation at a game or concert, an image of the crowd standing is signaled as the background image to be displayed with the user facing in the direction of the background. However, during the main part when the audience is normally seated, the control information signals that if the user turns his head towards the background, the default image of the seated audience should be used. Control information may be signaled separately from the content stream or may be included with the content stream for a portion of the environment that is different from the portion to which one or more of the default images are related. For example, a content stream corresponding to the front direction may include images corresponding to the front direction, e.g., left and right eye images, as well as default images of the sky, the ground, the right background portion, and the like at various times during the event. You can provide control information indicating what should be used for the left background part. Alternatively, the playback device may determine whether to use the background or the sky portion based on the luminance of similarity to one or more features of the foreground image at a particular point in time. For example, when the foreground images are dark, this can be detected and the automatically detected cloudy sky image, whereas when the foreground images are brighter, this can also be detected and the available default sky images received and stored. This may be a less cloudy, brighter sky image automatically selected from .

단계(1422)에서, 상이한 환경 부분들에 대응하는 디폴트 이미지들은 보통 인코딩된 형태로 수신 및 저장된다. 단계(1424)에서, 수신된 이미지들 중 하나 이상이 디코딩되고, 디코딩된 콘텐트는 이후 단계(1426)에서 하나 이상의 이미지 버퍼들에 저장된다. 이러한 방식으로, 디폴트 이미지들은 그들이 재생 동안 렌더링을 위해 필요한 때에 이후에 다시 디코딩될 필요가 없도록 디코딩된 형태로 디코딩 및 저장될 수 있다. 디폴트 이미지가 다수번 사용될 수 있기 때문에, 디코딩 및 저장은 렌더링에서 또는 렌더링 전에만 이미지를 디코딩하기 위해 그와 달리 요구되는 디코딩 요구들을 감소시킬 수 있다. 처리 자원들이 요컨대 디코딩된 형태로 디폴트 이미지들을 사전 디코딩 및 저장을 공급할 수 있다고 가정하면, 이미지들이 디스플레이 전에 즉시 디코딩되고, 이후 그것이 더 이상 필요하지 않으면, 디코딩된 이미지는 삭제되고, 예를 들면, 메모리로부터 제거되는 실시예들에 비해 프로세서 자원들의 사용을 개선한다.At step 1422, default images corresponding to different parts of the environment are received and stored, usually in encoded form. At step 1424, one or more of the received images are decoded, and the decoded content is then stored in one or more image buffers at step 1426. In this way, default images can be decoded and stored in decoded form so that they do not have to be decoded again later when needed for rendering during playback. Because the default image may be used multiple times, decoding and storage can reduce decoding requirements otherwise required to decode the image at rendering or only before rendering. Assuming that processing resources are capable of providing pre-decoding and storage of default images in decoded form, images are decoded immediately before display, and thereafter, when they are no longer needed, the decoded image is deleted, e.g. in memory. Improves use of processor resources compared to embodiments removed from.

동일한 디폴트 디코딩된 이미지가 예를 들면, 하늘, 등에 대해 다수번 사용될 수 있지만, 그것이 환경의 뷰잉된 부분을 생성하기 위해 조합되는 환경의 다른 이미지들에 그가 더 가깝게 매칭하도록 다른 수신된 이미지 콘텐트와 조합되기 전에 처리될 수 있다. 예를 들면, 몇몇 실시예들에서, 디코딩된 디폴트 이미지들은 그들이 적어도 디폴트 이미지가 환경의 다른 부분에 대응하는 이미지와 조합될 에지들을 따라 조합되거나 블러링되는 이미지 부분에 기초하여 휘도 조정을 받는다. 따라서, 적어도 몇몇 실시예들에서 사용 동안, 이미지 밝기 및/또는 컬러 특징들은 그들을, 그들이 조합되는 지상 이미지의 동일한 특징들에 더 유사하게 만들도록 필터링되거나 수정된다.The same default decoded image may be used multiple times, for example the sky, etc., but combined with other received image content so that it more closely matches other images of the environment with which it is combined to create the viewed portion of the environment. It can be processed before it happens. For example, in some embodiments, the decoded default images undergo a luminance adjustment based on the portion of the image in which they are combined or blurred, at least along edges where the default image will be combined with images corresponding to other parts of the environment. Accordingly, during use in at least some embodiments, image brightness and/or color features are filtered or modified to make them more similar to the same features of the ground image with which they are combined.

미래의 사용을 위해 저장된 초기화 데이터 및 디폴트 이미지들과 함께, 동작은 단계(1428)로 진행하고, 여기서 수신될 하나 이상의 스트림들의 일 세트, 예를 들면, 스트림들의 현재 선택된 세트가 초기화된다. 각각의 스트림은 입체 영상 또는 모노 이미지 데이터를 제공할 수 있다. 선택적으로 대응하는 오디오는 또한 선택된 스트림들에서 수신될 수 있지만 하나 이상의 개별적인 오디오 스트림들에서 더 일반적이다. 상기 기술은 오디오 스트림이 보통 또한 재생 디바이스에 의해 수신 및 디코딩될 것이고, 오디오가 스테레오 오디오를 포함할 수 있다는 이해에 의해 비디오 스트림들의 수신에 집중할 것이다.With initialization data and default images stored for future use, operation proceeds to step 1428, where a set of one or more streams to be received, e.g., a currently selected set of streams, is initialized. Each stream can provide stereoscopic image or mono image data. Optionally corresponding audio may also be received in selected streams but is more common in one or more individual audio streams. The technique will focus on the reception of video streams, with the understanding that the audio stream will usually also be received and decoded by the playback device, and that the audio may include stereo audio.

예시적인 단계(1428)에서, 스트림들 중 현재 선택된 세트는 환경의 전방/정면 부분에 대응하는 콘텐트를 전달하는 제 1 스트림과 동일하게 설정된다. 이는,시작시 초기 위치가 전방 뷰잉 위치인 것으로 설정되고 따라서 초기화의 결과로서 사용자가 시작시 전방 장면 영역을 보기를 기대할 것이기 때문이다.In an example step 1428, the currently selected set of streams is set equal to the first stream carrying content corresponding to the front/front portion of the environment. This is because the initial position on startup is set to be the front viewing position and therefore as a result of initialization the user will expect to see the front scene area on startup.

동작은 단계(1428)로부터 단계(1429)로 진행한다. 단계(1429)에서, 자원 할당 정보가 수신된다. 자원 할당 정보는 대역폭 및/또는 데이터 레이트 할당 제어 정보의 형태일 수 있다. 단계(1429)에서 수신된 정보는, 몇몇 실시예들에서, 얼마나 많은 대역폭 또는 데이터 전달 능력이 환경의 상이한 부분들에 대응하는 하나 이상의 전달 스트림들에 할당되어야 하는지에 관한 정보를 포함한다. 정보는 데이터 레이트는 보통 대역폭에 일치한다는 이해에 의해 대역폭 또는 데이터 레이트로 표현될 수 있다. 예를 들면, 수신될 수 있는 데이터의 양은 대역폭에 걸쳐 전달하기 위해 사용된 데이터 코딩의 형태를 고려한 대역폭량의 함수일 수 있다.Operation proceeds from step 1428 to step 1429. At step 1429, resource allocation information is received. Resource allocation information may be in the form of bandwidth and/or data rate allocation control information. The information received at step 1429 includes, in some embodiments, information regarding how much bandwidth or data delivery capacity should be allocated to one or more delivery streams corresponding to different parts of the environment. Information can be expressed as bandwidth or data rate with the understanding that data rate usually corresponds to bandwidth. For example, the amount of data that can be received may be a function of the amount of bandwidth, taking into account the form of data coding used to convey across the bandwidth.

단계(1429)에서 수신된 정보는 환경의 특정 부분에 대응하는 이미지들의 수신에 할당할 이용 가능한 전달 능력의 상대적인 최대량을 나타낼 수 있다. 예를 들면, 이는 대역폭 또는 지원가능한 데이터 레이트의 최대 80%가 1차 데이터 스트림에 할당되어야한다는 것, 예를 들면, 대역폭의 나머지 20%를 갖는 전방 데이터 스트림은 하나 이상의 다른 스트림들로 할당된다는 것을 나타낼 수 있다. 상이한 방향들에 대한 자원들의 할당은 환경의 대응하는 부분 및/또는 검출된 관중 피드백에서 이미지 콘텐트의 함수일 수 있고, 몇몇 실시예들에서, 그러한 함수이다. 예를 들면, 몇몇 실시예들에서, 콘텐트가 대응하는 이벤트 동안 발생하는 인터미션들 동안, 단계(1429)에서 수신된 정보는 자원들의 증가된 양이 환경의 하나 또는 두 개의 후방 부분들에 대응하는 이미지들을 수신하는 데 할당되어야 한다는 것을 나타낼 수 있다. 이는, 인터미션 동안, 사용자들이 그들의 머리를 돌려서 메인 필드 또는 스테이지로부터 눈길을 돌리기 시작할 더 많은 가능성이 있기 때문이고, 이는 인터미션 동안 관중에서 계속하는 동작이 존재하는 것이 나타나는 후방 부분들에 대해 몇몇 비디오가 공급되는 것이 바람직할 수 있다. 예를 들면, 야구 경기에서 핫도그들을 구입하거나 자리를 변경하는 사람의 이미지들이 존재할 수 있고, 몇몇 실시예들에서, 인터미션들 동안 배경이 실황이지만 다른 시간들에서 정지인 것으로 나타나도록 전송될 수 있다. 유사하게 배경의 광고판들의 이미지들은 광고 및/또는 엔터테인먼트 목적들을 위해 인터미션들 동안 변경될 수 있다. 따라서, 재생 디바이스가 경기의 다른 부분들 동안보다는 인터미션들 동안 배경 부분들을 수신하는 것에 대해 더 많은 자원들을 할당하도록 트리거하는 것이 바람직할 수 있다. 단계(1429)에서 수신된 제어 정보는 경기의 다른 조심스러운 부분들 또는 인터미션들 동안과 경기의 주요 부부들 동안이 상이할 수 있고, 때때로 상이하다. 적어도 몇몇 실시예들에서 주요 경기 동안, 단계(1429)에서 수신된 제어 정보는 더 많은 대역폭 및/또는 데이터 레이트가 주요, 예를 들면, 후방 부분보다는 전방, 환경의 영역에 할당되게 한다. 그러나, 인터미션들 또는 다른 개별적인 부분들 동안, 후방 부분들 주 하나 또는 둘 모두에 할당된 데이터 레이트는 증가되도록 강제될 수 있다.The information received at step 1429 may indicate the relative maximum amount of available transmission capacity to allocate to the reception of images corresponding to a particular portion of the environment. This means, for example, that a maximum of 80% of the bandwidth or supportable data rate should be allocated to the primary data stream, e.g. that the forward data stream with the remaining 20% of the bandwidth should be allocated to one or more other streams. It can be expressed. The allocation of resources for different directions may be, and in some embodiments is a function of, the image content in the corresponding part of the environment and/or detected spectator feedback. For example, in some embodiments, during intermissions that occur during events to which content corresponds, the information received at step 1429 means that an increased amount of resources may It can indicate that it should be assigned to receive This is because, during intermissions, there is a greater chance that users will start to turn their heads and look away from the main field or stage, as some videos provide for the back sections where it appears that there is ongoing motion in the crowd during intermissions. It may be desirable to be For example, there may be images of people buying hot dogs or changing seats at a baseball game, and in some embodiments, the background may be transmitted to appear live during intermissions but static at other times. Similarly, images of billboards in the background may be changed during intermissions for advertising and/or entertainment purposes. Accordingly, it may be desirable to trigger the playback device to allocate more resources for receiving background portions during intermissions than during other portions of the game. The control information received at step 1429 can, and sometimes is, different during major parts of the game and during other precautionary portions or intermissions of the game. In at least some embodiments during primary competition, the control information received at step 1429 causes more bandwidth and/or data rate to be allocated to primary, eg, front, areas of the environment rather than back portions. However, during intermissions or other individual parts, the data rate assigned to one or both of the rear parts may be forced to increase.

주어진 방향에 할당된 자원들 사이의 분리는, 환경의 부분에 나타내진 콘텐트, 관중 주목의 측정, 및/또는 진행하고 있는 이벤트의 부분, 예를 들면, 주요 부분, 인터미션 부분, 쇼가 끝난 후 부분에 기초할 수 있다. 몇몇 실시예들에서 단계(1429)에서 제공된 제어 정보는, 예를 들면, 이벤트가 진행하고 있는 동안, 환경의 하나 이상의 부분들에 대응하는 이미지의 수신에 할당될 대역폭 또는 데이터 레이트의 최대량 및/또는 최소량을 지정한다. 몇몇 실시예들에서, 정보는 대역폭 또는 데이터가 이벤트 동안 지상 대 하늘 이미지 부분들을 수신하는 데 할당되지 않아야 할 수 있고, 따라서 이들 부분들은 이러한 경우에 정지 이미지들을 사용할 필요가 있을 때 채워지는 것임을 나타낸다.Separation between the resources allocated to a given direction, the content presented in that part of the environment, the measure of audience attention, and/or the part of the ongoing event, such as the main part, the intermission part, and the end of the show part. It can be based on In some embodiments the control information provided at step 1429 may include, for example, the maximum amount of bandwidth or data rate to be allocated to the reception of images corresponding to one or more portions of the environment while the event is in progress, and/or Specify the minimum amount. In some embodiments, the information indicates that bandwidth or data may not be allocated to receiving ground-to-sky image portions during an event, and thus these portions are to be filled in when it is necessary to use still images in such cases.

대역폭/데이터 레이트 할당 제어 정보는 시간에 걸쳐 변할 수 있고, 상이한 정보가 상이한 시간들에 수신된다. 제어 정보는 전방 콘텐트 스트림으로 임베딩될 수 있고 및/또는 예를 들면, 제어 정보의 개별적인 세트로서 개별적으로 전송될 수 있다.Bandwidth/data rate allocation control information may change over time, and different information is received at different times. The control information may be embedded into the forward content stream and/or transmitted separately, for example as a separate set of control information.

동작은 단계(1429)로부터 단계(1430)로 진행하고, 이미 수신되지 않은 스트림들의 선택된 세트에서 스트림(들)의 콘텐트 전달이 개시된다. 이는 선택된 스트림이 대응하는 멀티캐스트 그룹에 연결하는 것, 선택된 스트림의 전달을 요청하는 네트워크 디바이스로 메시지를 전송하는 것 및/또는 선택된 스트림 또는 스트림들이 송신되는 방송 채널로 동조시키는 것을 포함할 수 있다. 단계(1430)를 통과하는 제 1 패스의 경우에서, 이는 이것이 전달을 위해 선택될 초기 뷰잉 부분으로서 설정되었기 때문에 환경의 전방 부분에 대응하는 콘텐트 스트림의 전달을 개시하는 것을 포함할 것이다. 그러나, 사용자의 머리 위치가 변하기 때문에, 예를 들면, 사용자가 그의 머리를 왼쪽 또는 오른쪽으로 돌리기 때문에, 선택되는 스트림들의 세트는 변할 수 있고 보통 변할 것이다. 예를 들면, 사용자가 전방 영역 및 오른쪽 후방 영역의 일 부분이 보이게 되도록 그의 머리를 왼쪽으로 돌릴 경우, 선택된 스트림들의 세트는 전방 영역 및 왼쪽 후방 부분 영역에 대응하는 콘텐트가 수신되도록 변경될 것이다. 왼쪽 후방 부분이 수신되지 않았고 선택되는 경우, 왼쪽 후방 부분에 대응하는 스트림에서 콘텐트의 전달은 단계(1430)에서 개시될 것이다. 두 방향들에서 최대 데이터 레이트 스트림들이 지원되지 않을 수 있는 경우, 하위 데이터 레이트 전방 스트림이 선택되고, 따라서 하위 데이터 레이트 전방 스트림 및 왼쪽 후방 콘텐트 스트림 모두의 개시가 개시될 것이다. 선택된 세트 외부의 스트림들은 새롭게 선택된 세트에서 스트림들의 수신 전에 종료된다. 스트림들의 종료 및 개시는, 수신되는 콘텐트 및/또는 시간적인 갭들의 극적인 변화들이, 스트림 스위칭이 발생할 때, 이미지들의 품질 또는 소스에서 변화들을 현저하게 감소시키기 위해 사용되는 블러링 및/또는 필터링에 의해 최소화되도록 유연한 방식으로 수행된다. 예를 들면, 블러링은 렌더링 또는 디스플레이 프로세스의 일부분으로서 함께 스티칭되는 이미지들의 부분들에 걸쳐 수행될 수 있다.Operation proceeds from step 1429 to step 1430, where content delivery of stream(s) in the selected set of streams that have not already been received is initiated. This may include connecting to the multicast group to which the selected stream corresponds, sending a message to a network device requesting delivery of the selected stream, and/or tuning to the broadcast channel on which the selected stream or streams are transmitted. In the case of a first pass through step 1430, this will involve initiating delivery of the content stream corresponding to the forward portion of the environment since this has been established as the initial viewing portion to be selected for delivery. However, as the user's head position changes, for example as the user turns his head left or right, the set of streams that are selected can and will usually change. For example, if the user turns his head to the left so that the front area and a portion of the right rear area are visible, the set of selected streams will change such that content corresponding to the front area and the left rear area is received. If the left rear portion has not been received and is selected, delivery of content in the stream corresponding to the left rear portion will commence at step 1430. In case the maximum data rate streams in both directions may not be supported, the lower data rate front stream is selected, and thus the initiation of both the lower data rate front stream and the left rear content stream will be initiated. Streams outside the selected set are terminated prior to receipt of streams in the newly selected set. The termination and initiation of streams can be characterized by dramatic changes in the received content and/or temporal gaps, with blurring and/or filtering used to significantly reduce changes in the quality or source of images when stream switching occurs. This is done in a flexible manner to minimize For example, blurring may be performed over portions of images that are stitched together as part of a rendering or display process.

선택된 스트림들의 현재 세트에 대해 개시된 콘텐트 전달에 의해 동작은 단계(1430)로부터 단계(1432)로 진행한다. 단계(1432)에서, 콘텐트가 콘텐트 스트림들의 선택된 세트에서 스트림들로부터 수신된다. 이는, 가장 높은 우선 순위 스트림에 대응하는 콘텐트를 수신하는 것을 포함할 수 있고, 다양한 실시예들에서 상기 콘텐트를 수신하는 것을 포함하고, 예를 들면, 상기 스트림은 시야의 대부분에 대응하는 콘텐트, 및 예를 들면, 상기 부분들은 시야에 대응하는 이미지 콘텐트의 작은 부분을 제공하는, 환경의 하나 이상의 다른 부분들에 대응하는 콘텐트를 제공한다. 현재 시야에 대한 콘텐트의 작은 부분을 제공하는 스트림은 2차 스트림으로서 기술될 수 있다. 단일 스트림이 전체 시야에 대한 콘텐트를 제공하는 일 실시예에서, 이용 가능한 대역폭/지원 가능한 수신 데이터 레이트의 20% 이하가 비축되고, 예를 들면, 사용자가 시야 밖의 방향으로 몸을 돌릴 경우 시야 밖의 콘텐트를 제공하는, 하나 이상의 2차 또는 하위 우선 순위 스트림들을 수신하기 위해 사용된다. 시야가 두 개의 상이한 콘텐트 스트림들에 대응하는 영역들간에 거의 균등하게 분리되는 경우, 각각의 스트림은, 그들이 대략 균등한 방식으로 분배되고 사용자가 두 개의 스트림들이 이미지들을 제공하는 영역 밖의 환경 영역을 보기 위해 빠르게 위치를 변경할 가능성이 없기 때문에, 이용 가능한 데이터 레이트/수신 데이터 레이트의 대략 절반이 할당될 수 있다.Operation proceeds from step 1430 to step 1432 with content delivery initiated for the current set of selected streams. At step 1432, content is received from streams in the selected set of content streams. This may include receiving content corresponding to the highest priority stream, and in various embodiments includes receiving content, for example, where the stream is content corresponding to a majority of the field of view, and For example, the portions provide content corresponding to one or more different parts of the environment, providing a small portion of image content corresponding to the field of view. Streams that provide a small portion of the content for the current field of view may be described as secondary streams. In one embodiment, where a single stream provides content for the entire field of view, less than 20% of the available bandwidth/supportable received data rate is reserved and out-of-field content is stored, for example, when the user turns away from the field-of-view. It is used to receive one or more secondary or lower priority streams, providing. If the field of view is approximately evenly separated between areas corresponding to two different content streams, each stream is distributed in an approximately equal manner and the user does not see areas of the environment outside the area for which the two streams provide images. Since there is no possibility of changing position quickly, approximately half of the available/received data rate can be allocated.

개시된 콘텐트 수신에 의해, 단계(1432)에서, 콘텐트, 예를 들면, 이미지들이 스트림들의 선택된 세트로부터 수신된다. 1차, 예를 들면, 가장 높은 우선 순위의 콘텐트 경우에, 스트림은 보통 스트림에 수신되는 왼쪽 및 오른쪽 눈 이미지 콘텐트 모두를 갖는 입체 영상 콘텐트일 것이다. 낮은 우선 순위 스트림들 및/또는 낮은 데이터 레이트가 할당된 스트림들에 대하여 모노 이미지들이 왼쪽 및 오른쪽 눈 이미지들 모두에 디스플레이를 위해 수신되는 단일 이미지와 함께 수신될 수 있다. 전방 장면 부분은 보통 입체 영상 콘텐트로서 수신되지만, 하나 이상의 후방 부분들이 모노 이미지 스트림들로서 제공될 수 있다.With initiated content reception, at step 1432, content, e.g., images, is received from a selected set of streams. In the case of primary, eg, highest priority content, the stream will usually be stereoscopic video content with both left and right eye image content received in the stream. For low priority streams and/or low data rate assigned streams mono images may be received with a single image being received for display in both left and right eye images. The front scene portion is usually received as stereoscopic video content, but one or more rear portions may be provided as mono image streams.

인코딩된 이미지 콘텐트는 보통 단계(1432)에서 스트림들로 수신된다. 단계(1434)에서, 수신된 콘텐트가 디코딩되고, 이후 접속 노드A(1436)를 통해 도달되는 단계(1438)에서, 디코딩된 콘텐트는 하나 이상의 이미지 버퍼들에 저장된다. 몇몇 실시예들에서, 디코딩된 이미지 버퍼는 환경의 각각의 부분에 대해 유지된다. 수신된 이미지 중 단지 하나의 부분만이 최종적으로 디스플레이될 수 있지만, 전체 수신된 프레임이 보통 디코딩 및 버퍼링된다. 디코딩된 버퍼링된 이미지는 그가 동일한 장면 부분에 대한 더 최근 이미지로 교체될 때까지 메모리에 유지될 수 있고, 몇몇 실시예들에서 그렇게 유지된다. 따라서, 임의의 주어진 시간에, 디코딩된 이미지는 현재 시야에 기초하여 필요되는 최종 출력 이미지를 렌더링하는 데 사용할 환경의 각각의 부분에 대해 이용 가능하다. 디코딩된 이미지 콘텐트는, 그가 더 최근의 디코딩된 이미지로 교체될 때까지, 메모리에 유지되기 때문에, 360도 환경의 부분들의 각각에 대응하는 이미지들의 디코딩은 각각의 프레임 시간 동안 발생할 필요가 없다. 따라서, 초당 30 개의 프레임들의 프레임 레이트가 지원될 수 있지만, 150 프레임들은 각각의 프레임 기간, 예를 들면, 상부, 하부, 전방, 왼쪽 후방, 오른쪽 후방 부분들의 각각에 대한 프레임 기간에 디코딩될 필요가 없고, 오히려 지원될 프레임 레이트와 동일하거나 약간 높은 더 적은 수의 프레임들이 주요 시야에 대응하는 부분보다 낮은 레이트에서 갱신되는 이전에 디코딩된 정지 이미지 부분들 또는 이전에 디코딩된 이미지 부분들로부터 나온 이미지의 몇몇 부분들과 함께 디코딩될 수 있다.Encoded image content is usually received as streams at step 1432. In step 1434, the received content is decoded and then, upon reaching via connection node A 1436, in step 1438, the decoded content is stored in one or more image buffers. In some embodiments, a decoded image buffer is maintained for each portion of the environment. The entire received frame is usually decoded and buffered, although only one portion of the received image may be ultimately displayed. The decoded buffered image may be maintained in memory until it is replaced by a more recent image for the same portion of the scene, and in some embodiments remains so. Accordingly, at any given time, a decoded image is available for each portion of the environment to use to render the final output image required based on the current field of view. Because the decoded image content is maintained in memory until it is replaced with a more recent decoded image, decoding of the images corresponding to each of the parts of the 360-degree environment need not occur during each frame time. Therefore, a frame rate of 30 frames per second may be supported, but 150 frames need to be decoded in each frame period, e.g., for each of the top, bottom, front, left rear, right rear portions. of images from previously decoded still image portions or previously decoded image portions that are updated at a lower rate than the corresponding portion of the main field of view, but rather a smaller number of frames equal to or slightly higher than the frame rate to be supported. It can be decoded with several parts.

따라서, 단계(1438)에서 갱신 후에, 현재 디코딩된 프레임들은 사용자의 현재 시야에 기초하여 이미지를 렌더링하는 데 사용을 위해 이용 가능하다.Accordingly, after updating at step 1438, the currently decoded frames are available for use in rendering an image based on the user's current field of view.

동작은 단계(1438)로부터 단계(1440)로 진행한다. 단계(1440)에서, 콘텐트는 이미지 버퍼(들)로부터 이용 가능한 디코딩된 콘텐트를 사용하여 하나 이상의 이미지 부분들이 예를 들면, 텍스처로서 적용되는 표면을 규정하는 환경 맵, 및 3D 표면의 모델에 대해 2D 디코딩된 이미지들을 적용하는 방법에 대한 정보를 제공하는 UV 맵(들)을 디스플레이하기 위해 렌더링된다. 환경의 3D 메시 모델은 환경의 이미지들이 적용되는 표면을 규정하는 메시 모델의 꼭지점들에 대응하는 UV 맵의 지점들을 갖는 그리드의 형태일 수 있다.Operation proceeds from step 1438 to step 1440. At step 1440, the content is converted into a 2D to model of the 3D surface and an environment map defining the surface to which one or more image portions are applied, e.g., as a texture, using the decoded content available from the image buffer(s). The decoded images are rendered to display UV map(s) that provide information on how to apply them. The 3D mesh model of the environment may be in the form of a grid with points on the UV map corresponding to vertices of the mesh model defining the surface on which images of the environment are applied.

렌더링의 일부로서, 상이한 스트림들로부터 수신된 콘텐트에 대응하는 이미지 부분들은 단일 스트림으로부터의 콘텐트가 사용자의 시야를 완전히 점유하는 부분을 제공할 수 없을 때, 사용자의 시야에 대응하는 환경의 이미지를 생성하기 위해 조합될 것이다. 필터링 또는 블러링은 사용자들의 시야에 대응하는 합성 이미지를 형성하기 위해 연결되는 이미지들에 걸쳐 적용될 수 있고, 몇몇 실시예들에서 적용된다. 이는 이음매가 사용자에 대해 현저하게 감소시키는 경향이 있다. 또한, 합성 이미지의 일 부분을 제공하는 이미지 부분들의 휘도는, 몇몇 실시예들에서, 합성 이미지를 형성하기 위해 조합되는 이미지 부분들에 대한 휘도 조정들을 행할 때, 후방, 상부, 또는 측면 부분들의 휘도값들보다 큰 우선 순위가 주어지기 시작한 전방 뷰의 휘도값들을 갖는 합성 이미지를 형성하기 위해 조합되는 이미지 부분들 사이의 휘도 차이들을 감소시키도록 조정된다.As part of rendering, portions of the image corresponding to content received from different streams create an image of the environment corresponding to the user's field of view when content from a single stream cannot provide a portion that completely occupies the user's field of view. will be combined to do this. Filtering or blurring may, and in some embodiments is applied, across the images being concatenated to form a composite image corresponding to the user's field of view. This tends to reduce the seam significantly for the user. Additionally, the luminance of the image portions that provide a portion of the composite image may, in some embodiments, be determined by the luminance of the rear, top, or side portions when making luminance adjustments to the image portions that are combined to form the composite image. adjusted to reduce luminance differences between image parts that are combined to form a composite image with the luminance values of the front view starting to be given greater priority than the values.

상이한 콘텐트 스트림들로부터 수신된 이미지들 중 하나 이상의 이미지 부분들의 합성일 수 있는 렌더링된 이미지는 단계(1442)에서 저장, 디스플레이, 또는 송신된다. 이는 선택된 콘텐트 스트림들의 현재 세트에 기초하여 콘텐트의 하나 이상의 프레임들의 생성 및 디스플레이를 나타낸다.The rendered image, which may be a composite of image portions of one or more of the images received from different content streams, is stored, displayed, or transmitted at step 1442. This represents the generation and display of one or more frames of content based on the current set of selected content streams.

시간에 걸쳐 통신 채널 상태들 또는 네트워크 문제들에서의 변화들에 의해, 최대 지원 가능한 데이터 레이트는 변할 수 있다. 이는 단계(1443)에서 검출될 수 있고, 어느 콘텐트 스트림 또는 스트림들이 수신 및 처리되어야 하는지를 선택할 때 고려될 수 있다. 단계(1443)에서, 최대 지원가능한 데이터 레이트 및/또는 대역폭은 후속하는 단계들에서 사용된 것에 대하여 데이터(1444)에 의해 나타낸 것으로 결정된다. 단계(1445)에서, 사용자의 현재 머리 위치가 검출된다. 이는 헤드 마운트 디스플레이를 포함하는 헤드기어상의 위치 센서를 사용함으로써 행해질 수 있다.Due to changes in communication channel conditions or network issues over time, the maximum supportable data rate may vary. This can be detected at step 1443 and taken into account when selecting which content stream or streams should be received and processed. At step 1443, the maximum supportable data rate and/or bandwidth is determined as indicated by data 1444 with respect to that used in subsequent steps. At step 1445, the user's current head position is detected. This can be done by using a position sensor on headgear that includes a head mounted display.

동작은 단계(1445)로부터 단계(1446)로 진행하고, 사용자의 머리 위치가 변하는지의 여부에 관한 결정이 행해진다. 사용자의 머리 위치가 변경되지 않는 경우, 동작은 단계(1447)로 진행하고, 현재 이용 가능한 최대 대역폭 또는 최대 지원 가능한 데이터 레이트가, 예를 들면, 스트림 선택이 행해진 마지막 시간으로부터 변했는지의 여부에 관한 검사가 행해진다. 최대 지원 가능한 데이터 레이트 또는 머리 위치의 변경이 검출되지 않음 경우, 이전 스트림 선택은 유효하게 유지되고, 선택된 콘텐트 스트림들의 세트에 대한 변경이 행해지지 않는다. 따라서, 재생 시스템은 변하지 않고 유지되는 사용자의 현재 시야에 대응하는 콘텐트를 계속 수신할 것이다. 단계(1447)에서 변경이 검출되지 않은 경우, 동작은 접속 노드B(1456)를 통해 다시 단계(1429)로 진행한다.Operation proceeds from step 1445 to step 1446, where a determination is made as to whether the user's head position has changed. If the user's head position has not changed, operation proceeds to step 1447 and determines whether the currently available maximum bandwidth or maximum supportable data rate has changed, e.g., since the last time a stream selection was made. An inspection is performed. If no change in maximum supportable data rate or head position is detected, the previous stream selection remains in effect and no changes are made to the set of selected content streams. Accordingly, the playback system will continue to receive content corresponding to the user's current field of view, which remains unchanged. If no change is detected at step 1447, operation proceeds back to step 1429 via connection node B 1456.

그러나, 단계들(1446 또는 1447) 중 하나에서 변화가 검출되는 경우, 동작은 스트림 선택 서브루틴에 대한 호출을 포함하는 스트림 선택 단계(1448)로 진행한다. 이러한 방식에서, 머리 위치 및/또는 지원 가능한 데이터 레이트의 검출된 변경들이 고려될 수 있고, 스트림들의 선택은 사용자의 머리 위치 및/또는 데이터, 예를 들면, 이미지 콘텐트를 수신하기 위해 사용될 수 있는 지원 가능한 데이터 레이트를 고려하여 재고된다.However, if a change is detected in either step 1446 or 1447, operation proceeds to the stream selection step 1448, which includes a call to the stream selection subroutine. In this way, detected changes in head position and/or supportable data rates can be taken into account and selection of streams can be used to receive the user's head position and/or data, e.g. image content. Reconsidered taking into account possible data rates.

일단 스트림들이 스트림 선택 서브루틴에 의해 선택되면, 동작은 단계(1450)로 진행하고, 선택된 스트림들이 선택된 스트림들의 현재 세트와 상이한지의 여부에 관한 검사가 행해진다. 새롭게 선택된 세트가 사용중인 스트림들의 현재 선택된 세트와 동일한 경우, 수신되는 스트림들에 관한 변화들이 행해질 필요가 없고, 단계(1452)에서 스트림들의 현재 선택된 세트는 접속 노드B(1456)를 통해 단계(1429)로 진행하는 동작에 의해 변하지 않은 채로 남겨진다. 그러나, 스트림들의 현재 선택된 세트가 선택된 스트림들의 현재 세트와 상이한 경우, 스트림의 현재 선택된 세트는 스트림들의 선택된 세트에서 변경들을 반영하기 위해 단계(1454)에서 갱신되고, 예를 들면, 현재 선택된 세트는 스트림 선택 서브루틴에 의해 선택된 스트림들의 새롭게 선택된 세트와 동일한 세트이다.Once the streams have been selected by the stream selection subroutine, operation proceeds to step 1450 and a check is made as to whether the selected streams are different from the current set of selected streams. If the newly selected set is the same as the currently selected set of streams in use, no changes need to be made regarding the streams being received, and the currently selected set of streams at step 1452 is transferred to step 1429 via connection NodeB 1456. ) is left unchanged by the proceeding operation. However, if the currently selected set of streams is different from the current set of selected streams, the currently selected set of streams is updated at step 1454 to reflect changes in the selected set of streams, e.g. It is the same set as the newly selected set of streams selected by the selection subroutine.

동작은 단계(1454)로부터 단계(1455)로 진행하고, 스트림들의 갱신된 현재 선택될 세트에서 존재하지 않는 스트림들의 수신은 종료된다. 이는 다른 목적을 위해 종료되는 스트림을 수신, 예를 들면, 새롭게 선택된 스트림 또는 스트림들의 수신을 위해 사용된 동조기와 같은 자원들을 사용하기 위해 더 이상 수신되거나 다른 동작을 취하지 않는 스트림에 대응하는 멀티캐스트 그룹의 멤버인 것을 더 이상 원하지 않는다는 것을 시그널링하는 재생 시스템을 포함할 수 있다.Operation proceeds from step 1454 to step 1455, where reception of streams that are not present in the updated currently selected set of streams ends. This is a multicast group corresponding to a stream that is no longer being received or taking any other action to receive a stream that is terminated for another purpose, e.g. to use resources such as a newly selected stream or a tuner used for the reception of streams. It may include a replay system that signals that it no longer wishes to be a member of .

동작은 접속 노트B(1456)를 통해 단계(1455)로부터 단계(1429)로 진행한다. 이후, 단계(1430)에서, 임의의 새롭게 선택된 스트림들의 수신이 개시될 것이고 수신된 콘텐트는 하나 이상의 이미지들을 렌더링하기 위해 사용될 것이다. 따라서, 시간에 걸쳐 사용자가 그의 머리 위치를 변경하고 및/또는 지원될 수 있는 데이터 레이트를 변경하기 때문에, 선택된 스트림들이 또한 변할 수 있다.Operation proceeds from step 1455 to step 1429 via connection note B 1456. Then, at step 1430, reception of any newly selected streams will begin and the received content will be used to render one or more images. Accordingly, the selected streams may also change over time as the user changes his head position and/or changes the data rate that can be supported.

도 15는 도 14 방법의 단계(1448)에서 호출된 스트림 선택 서브루틴으로서 사용될 수 있는 일 예시적인 실시예에 따라 스트림 선택 서브루틴의 단계들을 도시하는 플로차트이다.FIG. 15 is a flow chart illustrating the steps of a stream selection subroutine according to one example embodiment that may be used as the stream selection subroutine called in step 1448 of the FIG. 14 method.

스트림 선택 서브루틴(1500)은, 서브루틴이 도 14의 단계(1448)에 의해 호출될 때 단계(1502)에서 시작한다. 동작은 시작 단계(1502)로부터 스트림 선택 단계(1504)로 진행한다. 스트림 선택 단계(1504)에 대한 입력들은 대역폭 및/또는 데이터 레이트 제한들(1503)을 포함한다. 이들은 하나 이상의 장면 부분들, 스트림들 및/또는 스트림 방향들에 할당되어야 하는 이용 가능한 대역폭의 최대 부분 또는 총 수신 데이터 레이트에 대한 정보를 포함할 수 있다. 제한들은 또한 장면 부분들, 스트림들 및/또는 뷰잉 방향들에 대한 최소 대역폭 또는 데이터 할당들을 포함할 수 있다. 따라서, 제한들은 특정 방향에 대응하는 콘텐트의 수신에 할당된 자원들의 최대량을 제한할 수 있고 및/또는 이벤트 인터미션 동안 후방 영역과 같은 환경의 일부분에서 동작이 발생할 때, 방향에 대응하는 부분이 적어도 드물게 또는 특정한 시간들에 갱신되도록 방향에 대해 할당된 자원들의 최소량을 지정할 수 있다.The stream selection subroutine 1500 begins at step 1502 when the subroutine is called by step 1448 in FIG. 14. Operation proceeds from the start step 1502 to the stream selection step 1504. Inputs to the stream selection step 1504 include bandwidth and/or data rate limitations 1503. These may contain information about the total received data rate or the maximum portion of available bandwidth that should be allocated to one or more scene parts, streams and/or stream directions. Limitations may also include minimum bandwidth or data allocations for scene portions, streams and/or viewing directions. Accordingly, restrictions may limit the maximum amount of resources allocated to the reception of content corresponding to a particular direction and/or when action occurs in a portion of the environment, such as a rear area, during an event intermission, the portion corresponding to the direction may at least rarely Alternatively, you can specify a minimum amount of resources allocated for a direction to be updated at specific times.

최대 지원 가능한 데이터 레이트 및/또는 최대 이용 가능한 대역폭(1444)은 선택 단계(1504)에 대한 다른 입력이다. 이러한 정보(1444)는 콘텐트를 수신하기 위해 이용 가능한 최대 대역폭 및/또는 콘텐트 스트림들 중 하나 또는 그의 조합의 수신을 지원하기 위해 사용될 수 있는 최대 지원 가능한 데이터 레이트를 나타낸다. 사용자의 현재 머리 위치(1407) 및 이용 가능한 스트림들(1405)에 관한 정보, 예를 들면, 도 18에 도시된 것과 같은 스트림 가이드 정보가 또한 단계(1504)에 대한 입력이다.The maximum supportable data rate and/or maximum available bandwidth 1444 are other inputs to the selection step 1504. This information 1444 indicates the maximum bandwidth available for receiving content and/or the maximum supportable data rate that can be used to support reception of one or a combination of content streams. The user's current head position 1407 and information about available streams 1405, for example stream guide information as shown in Figure 18, are also inputs to step 1504.

스트림 선택 단계(1504)에서, 프로그램 또는 이벤트, 예를 들면, 몇몇 경우들에서 진행하는 실시간 이벤트에 대응하는 하나 이상의 콘텐트 스트림들이 선택된다. 하나 이상의 스트림들의 선택은 사용자의 현재 머리 위치, 스트림 대역폭 또는 스트림 데이터 레이트 요건들과 같은 스트림 정보, 및/또는 최대 지원가능한 데이터 레이트 또는 최대 지원가능한 대역폭에 관한 정보에 기초한다. 뷰잉 방향 또는 스트림 우선 순위 기반에 대한 것일 수 있는 대역폭 및/또는 데이터 레이트 제한들(1503)은 단계(1504)에서 스트림 선택들을 행하는 데 또한 고려 및 사용될 수 있고, 때때로 고려 및 사용된다.In a stream selection step 1504, one or more content streams are selected that correspond to a program or event, for example, in some cases an ongoing real-time event. Selection of one or more streams is based on the user's current head position, stream information such as stream bandwidth or stream data rate requirements, and/or information regarding the maximum supportable data rate or maximum supportable bandwidth. Bandwidth and/or data rate limitations 1503, which may be on a viewing direction or stream priority basis, may also be, and sometimes are, considered and used in making stream selections in step 1504.

예시적인 스트림 선택 단계(1504)는 단계(1506)를 포함하고, 콘텐트 스트림들은 사용자의 현재 및/또는 과거 머리 위치에 기초하여 우선 순위화된다. 이는 도 16에 도시된 것과 같은 스트림 우선 순위화 서브루틴에 대한 호출을 포함할 수 있다.An example stream selection step 1504 includes step 1506, where content streams are prioritized based on the user's current and/or past head position. This may include a call to a stream prioritization subroutine such as the one shown in Figure 16.

동일한 환경 방향에 대응하는 스트림들은 몇몇 실시예들에서 동일한 우선 순위가 할당된다. 따라서, 환경의 동일한 부분 및/또는 뷰잉 방향에 대응하는 콘텐트에 대응하는 다수의 스트림들이 동일한 우선 순위를 할당받을 수 있고, 때때로 그렇게 할당받는다. 스트림들은 동일한 뷰잉 방향에 대응하지만, 몇몇 경우들에서 스트림들은, 모노 이미지 콘텐트 및/또는 낮은 해상도 이미지들을 제공 및/또는 낮은 프레임 (이미지) 레이트를 지원하는 몇몇 경우들에서 높은 프레임 레이트에서 높은 해상도 입체 영항 콘텐트에 낮은 해상도 스트림들을 제공하는 몇몇 스트림들과 상이한 데이터 레이트들을 갖는다. 따라서, 특정한 방향이 높은 우선 순위가 고려되고 높은 우선 순위 방향에 대응하는 콘텐트를 제공하는 모든 스트림들은 동일하지만, 이후 몇몇 실시예들에서 특정 방향에 대응하는 콘텐트를 수신하기 위해 이용 가능한 대역폭의 양에 대해 선택이 행해진다.Streams corresponding to the same environmental direction are assigned the same priority in some embodiments. Accordingly, multiple streams corresponding to content corresponding to the same part of the environment and/or viewing direction can, and sometimes are, assigned the same priority. The streams correspond to the same viewing direction, but in some cases the streams provide mono image content and/or low resolution images and/or support low frame (image) rates in some cases high resolution stereoscopic images at high frame rates. Some streams provide lower resolution streams with lower resolution content and have different data rates. Accordingly, although a particular direction is considered a high priority and all streams providing content corresponding to the high priority direction are equal, in some embodiments later the amount of bandwidth available for receiving content corresponding to a particular direction may vary. A choice is made about

콘텐트 스트림 동작의 우선 순위화 후, 동작은 단계(1506)로부터 단계(1508)로 진행한다. 단계(1508)에서, 가장 높은 우선 순위를 갖는 스트림을 위해 사용될 최대 대역폭 및/또는 데이터 레이트가 결정된다. 이러한 결정은 가장 높은 우선 순위 스트림에 대해 할당될 이용 가능한 수신 자원들의 최대, 최소, 또는 일부를 나타낼 수 있는 대역폭 또는 다른 제한들(1503)에 기초하여 수행될 수 있다. 몇몇 실시예들에서, 가장 높은 우선 순위 스트림에 대한 최소 대역폭/데이터 레이트 할당은 50% 이상이지만 다른 할당들이 가능하다.After prioritizing content stream operations, operation proceeds from step 1506 to step 1508. At step 1508, the maximum bandwidth and/or data rate to be used for the highest priority stream is determined. This decision may be performed based on bandwidth or other constraints 1503, which may indicate the maximum, minimum, or portion of available receive resources to be allocated for the highest priority stream. In some embodiments, the minimum bandwidth/data rate allocation for the highest priority stream is 50% or greater, but other allocations are possible.

단계(1510)에서, 하위 우선 순위를 갖는 각각의 스트림에 사용될 최대 대역폭 및/또는 데이터 레이트가 결정된다. 몇몇 실시예들에서, 데이터 레이트 또는 대역폭의 적어도 20%는 2차 또는 하위 우선 순위 스트림들에 대해 사용된다.At step 1510, the maximum bandwidth and/or data rate to be used for each stream with lower priority is determined. In some embodiments, at least 20% of the data rate or bandwidth is used for secondary or lower priority streams.

상이한 우선 순위들의 스트림들에 대해 사용될 데이터 레이트들이 단계들(1508, 1510)에서 결정되고, 동작은 단계(1512)로 진행하고, 가장 높은 우선 순위 스트림이 가장 높은 우선 순위 스트림에 대한 최대 대역폭 및/또는 데이터 레이트에 기초하여 지원될 수 있는지를 결정하기 위해 검사가 수행된다. 가장 높은 우선 순위에 대응하는 스트림들 중 어느 하나가 지원될 수 있는 경우, 단계(1512)에서 결정은 긍정이 될 것이고, 동작은 단계(1514)로 진행하고, 여기서 가장 높은 우선 순위에 대응하는 가장 높은 품질 스트림이 선택될 것이다. 이는 보통 가장 높은 우선 순위가 할당된 스트림들을 세트로부터 가장 높은 데이터 레이트 스트림을 선택하는 것을 포함한다. 에를 들면, 전방 방향의 스트림들이 가장 높은 우선 순위가 할당되는 경우, 가장 높은 우선 순위 콘텐트 스트림에 대해 이용 가능한 주어진 데이터 레이트가 지원될 수 있는 가장 높은 데이터 레이트 전방 방향 콘텐트 스트림이 선택될 것이다.The data rates to be used for the streams of different priorities are determined in steps 1508, 1510, and operation proceeds to step 1512, where the highest priority stream has the maximum bandwidth for the highest priority stream and/or Alternatively, a check is performed to determine if it can be supported based on the data rate. If either of the streams corresponding to the highest priority can be supported, the decision in step 1512 will be affirmative, and operation proceeds to step 1514, where the stream corresponding to the highest priority can be supported. High quality streams will be selected. This usually involves selecting the highest data rate stream from the set of streams assigned the highest priority. For example, if the forward direction streams are assigned the highest priority, the highest data rate forward direction content stream that can be supported for a given data rate available for the highest priority content stream will be selected.

동작은 단계(1514)로부터 단계(1516)로 진행한다. 단계(1516)에서, 제 2 가장 높은 우선 순위 스트림이 지원될 수 있는지의 여부에 관한 결정이 수행된다. 이는, 몇몇 실시예들에서, 가장 높은 우선 순위 스트림이 선택된 후 얼마나 많은 대역폭/데이터가 이용 가능한지 및 수신된 제한들에 기초하여 제 2 가장 높은 우선 순위 스트림에 대해 상기 대역폭/데이터 중 얼마나 많은 것이 사용될 수 있는지를 결정하는 것을 포함한다. 제 2 가장 높은 우선 순위 스트림에 대한 제한들이 배치되지 않은 경우, 대역폭/데이터 수신 능력의 전체량이 제 2 가장 높은 우선 순위 스트림에 대해 사용될 수 있다. 단계(1516)에서 제 2 가장 높은 우선 순위 스트림이 지원될 수 있는지가 결정되는 경우, 동작은 단계(1518)로 진행하고, 제 2 가장 높은 우선 순위 스트림이 예를 들면, 제 2 가장 높은 우선 순위가 할당된 하나 이상의 스트림들의 세트로부터 선택된다. 단계(1518)는, 제 2 가장 높은 우선 순위를 갖는 지원될 수 있는 가장 높은 데이터 레이트 스트림을 선택하는 것을 포함할 수 있고, 몇몇 실시예들에서, 그를 포함한다. 예를 들면, 제 2 가장 높은 우선 순위가 환경의 오른쪽 후방 부분에 대응하는 경우, 단계(1518)는 환경의 오른쪽 후방 부분에 대응하는 지원될 수 있는 가장 높은 데이터 레이트 스트림을 선택하는 것을 포함한다.Operation proceeds from step 1514 to step 1516. At step 1516, a determination is made as to whether the second highest priority stream can be supported. This means, in some embodiments, how much bandwidth/data is available after the highest priority stream is selected and how much of that bandwidth/data will be used for the second highest priority stream based on the received restrictions. This includes determining whether it is possible. If restrictions are not placed on the second highest priority stream, the full amount of bandwidth/data receiving capacity can be used for the second highest priority stream. If it is determined at step 1516 whether the second highest priority stream can be supported, then operation proceeds to step 1518 and the second highest priority stream is selected, e.g. is selected from a set of one or more assigned streams. Step 1518 may include, and in some embodiments includes, selecting the highest data rate stream that can be supported with the second highest priority. For example, if the second highest priority corresponds to the right rear portion of the environment, step 1518 includes selecting the highest data rate stream that can be supported that corresponds to the right rear portion of the environment.

대부분의 경우들에서, 가장 높은 우선 순위 및 2차 스트림이 지원될 것이지만, 환경의 다른 부분, 예를 들면, 보이지 않는 것에 대응하는 몇몇 콘텐트를 수신하기 위한 2 개의 가장 높은 우선 순위 스트림들의 선택 후 남아있는 충분한 대역폭이 존재할 수 있다. 동작은 단계(1518)로부터 단계(1520)로 진행하거나, 또는 제 2 가장 높은 우선 순위 스트림이 지원될 수 없는 경우, 단계(1516)로부터 단계(1520)로 직접 진행한다.In most cases, the highest priority and secondary streams will be supported, but it remains after selection of the two highest priority streams to receive some content that corresponds to other parts of the environment, e.g. unseen. There may be sufficient bandwidth available. Operation proceeds from step 1518 to step 1520, or, if the second highest priority stream cannot be supported, from step 1516 directly to step 1520.

단계(1520)에서, 예를 들면, 제 1 및/또는 제 2 우선 순위 스트림이 선택된 후 이용 가능한 대역폭/데이터 수신 자원들을 사용하여, 제 3 가장 높은 우선 순위 스트림이 지원될 수 있는지의 여부에 관한 검사가 수행된다. 단계(1520)에서, 제 3 가장 높은 우선 순위 스트림이 지원될 수 있다는 것이 결정되는 경우, 동작은 단계(1522)로 진행하고, 예를 들면, 지원될 수 있는 나머지 대역폭/데이터 레이트를 사용하여, 제 3 가장 높은 우선 순위 스트림이 선택된다. 동작은 단계(1522)로부터 단계(1524)로 진행하거나, 또는 제 3 가장 높은 우선 순위 스트림이 주어진 이용 가능한 대역폭 및/또는 수신된 데이터 및/또는 대역폭 할당 제한들이 지원될 수 없는 경우, 직접 단계(1520)로부터 단계(1524)로 진행한다.At step 1520, whether a third highest priority stream can be supported using available bandwidth/data reception resources after the first and/or second priority streams have been selected, for example. An inspection is performed. If at step 1520 it is determined that the third highest priority stream can be supported, then operation proceeds to step 1522, using the remaining bandwidth/data rates that can be supported, for example, The third highest priority stream is selected. Operation proceeds from step 1522 to step 1524, or directly if the third highest priority stream cannot be supported given the available bandwidth and/or received data and/or bandwidth allocation constraints, step ( Proceeds from step 1520 to step 1524.

단계(1524)에서, 다른 스트림 선택들 후, 임의의 대역폭, 예를 들면, 추가의 콘텐트를 수신하기 위해 사용될 수 있는 남아있는 데이터를 수신할 능력이 존재하는지를 결정하기 위한 검사가 수행된다. 추가의 대역폭이 남아있는 경우, 동작은 단계(1526)로 진행하고, 하나 이상의 하위 우선 순위 스트림들은 남아있는 이용 가능한 대역폭/데이터 레이트를 사용하기 위해 선택된다. 단계(1526)로부터 동작은 단계(1530)로 진행한다. 동작은 추가의 대역폭이 이용 가능하지 않은 경우, 단계(1524)로부터 리턴 단계(1530)로 진행한다.At step 1524, after other stream selections, a check is performed to determine whether there is any bandwidth, e.g., capacity to receive remaining data, that can be used to receive additional content. If additional bandwidth remains, operation proceeds to step 1526 and one or more lower priority streams are selected to use the remaining available bandwidth/data rate. From step 1526, operation proceeds to step 1530. Operation proceeds from step 1524 to return step 1530 if no additional bandwidth is available.

리턴 단계(1530)는, 처리가, 예를 들면, 새롭게 선택된 세트의 스트림들이 루틴(1500)에 의해 결정되는 것에 의해, 스트림 선택 서브루틴(1500)이 호출되는 지점으로 리턴하게 한다.Return step 1530 causes processing to return to the point where stream selection subroutine 1500 is called, for example, with the newly selected set of streams determined by routine 1500.

도 16은 일 예시적인 실시예에 따라 스트림 우선 순위화 서브루틴의 단계들을 도시하는 플로차트이다. 도면의 (1600)는 사용될 수 있는, 예를 들면, 여기에 기술된 다른 루틴들 또는 서브루틴들 중 하나 이상으로 불릴 수 있는 일 예시적인 스트림 우선 순위화 루틴을 도시한다. 예를 들면, 도 15의 단계(1506)는 서브루틴(1600)에 대한 호출에 의해 구현될 수 있다. 스트림 우선 순위화 서브루틴(1600)은 루틴이 호출될 때 단계(1602)에서 시작한다. 동작은 시작 단계(1602)로부터 단계(1604)로 진행한다. 단계(1604)에서, 사용자의 현재 시야는 사용자의 검출된 머리 위치에 기초하여 결정된다. 사용자의 시야가 180도보다 적은 것을 고려하면, 현재 시야는 단일 카메라 위치, 예를 들면, 전방을 바라보는 카메라 위치로부터 캡처된 환경의 일 부분에 대응할 수 있다. 그러나, 사용자가 그의 머리를 움직일 때, 예를 들면, 그의 머리를 왼쪽 또는 오른쪽으로 회전하고 및/또는 위 또는 아래를 볼 때, 사용자의 시야는 상이한 카메라 위치들에 위치된 카메라들에 의해 캡처된 환경의 부분들에 대응할 수 있다. 예를 들면, 상이한 카메라들에 의해 캡처되는 이미지들이 만나거나 중첩하는 지점에 대응하는 환경의 일 부분을 보고 있을 때, 사용자의 시야는 두 개의 상이한 스트림들에서 전달될 콘텐트에 대응할 수 있다. 시야의 가장 큰 부분에 대응하는 이미지들을 제공하는 스트림은 보통 몇몇 실시예들에서 가장 높은 우선 순위가 주어질 것이다.Figure 16 is a flow chart illustrating steps of a stream prioritization subroutine according to an example embodiment. 1600 in the figure illustrates an example stream prioritization routine that may be used, for example, may be called one or more of the other routines or subroutines described herein. For example, step 1506 of Figure 15 may be implemented by a call to subroutine 1600. Stream prioritization subroutine 1600 begins at step 1602 when the routine is called. Operation proceeds from start step 1602 to step 1604. At step 1604, the user's current field of view is determined based on the user's detected head position. Given that the user's field of view is less than 180 degrees, the current field of view may correspond to a portion of the environment captured from a single camera position, for example a forward-looking camera position. However, when the user moves his head, for example, turns his head left or right and/or looks up or down, the user's field of view is captured by cameras positioned at different camera positions. Can respond to parts of the environment. For example, when viewing a portion of the environment that corresponds to a point where images captured by different cameras meet or overlap, the user's field of view may correspond to content to be delivered in two different streams. The stream providing images corresponding to the largest portion of the field of view will usually be given the highest priority in some embodiments.

단계(1604)에서 결정된 사용자의 시야에 의해, 동작이 단계(1605)로 진행하고, 콘텐트를 전달하는 스트림들, 예를 들면, 사용자의 현재 시야에 대응하는 왼쪽 및 오른쪽 눈 이미지들을 포함하는 모노 이미지들 또는 입체 영상 이미지 쌍들이 식별된다. 동작은 이후 단계(1606)로 진행하고, 부분 또는 부분들, 예를 들면, 장면 영역의 이미지 부분들의 크기는 식별된 스트림들로부터 이용 가능한 사용자의 현재 시야에 대응한다. 따라서, 단계(1606)의 종료시, 어느 스트림들이 현재 시야 및 부분들의 상대적인 크기에 대응하는 이미지 콘텐트를 제공하는지에 대한 정보가 이용 가능하고 등급 매김, 예를 들면, 스트림들을 우선 순위화하기 위해 사용될 수 있다.With the user's field of view determined in step 1604, operation proceeds to step 1605 and streams carrying content, e.g., a mono image comprising left and right eye images corresponding to the user's current field of view. Groups or pairs of stereoscopic images are identified. Operation then proceeds to step 1606, where the size of the portion or portions, eg, image portions of the scene area, correspond to the user's current field of view available from the identified streams. Accordingly, at the end of step 1606, information about which streams provide image content corresponding to the current field of view and the relative sizes of the portions is available and can be used for ranking, e.g., prioritizing the streams. there is.

동작은 단계들(1606)로부터 단계(1608)로 진행한다. 단계(1608)에서, 우선 순위들이 사용자의 현재 시야에 대응하는 이미지 콘텐트를 제공하는 하나 이상의 스트림들에 할당된다. 우선 순위화, 예를 들면, 등급 매김은 스트림이 제공하는 사용자의 시야의 부분 또는 부분들의 크기에 기초한다. 예를 들면, 사용자의 시야 중 80%에 대응하는 이미지 콘텐트를 제공하는 스트림은 사용자의 시야 중 15%에 대응하는 이미지 콘텐트를 제공하는 스트림보다 상위에 순위 매김될 것이고, 나머지 5%, 예를 들면, 상부 또는 하부를 제공하는 스트림은 시야 중 80% 부분에 대응하는 이미지(들)를 제공하는 스트림에 할당된 가장 높은 우선 순위보다 낮은 제 3 우선 순위를 할당받을 것이다.Operation proceeds from steps 1606 to step 1608. At step 1608, priorities are assigned to one or more streams providing image content corresponding to the user's current field of view. Prioritization, eg, grading, is based on the size of the portion or portions of the user's field of view that the stream provides. For example, a stream that provides image content that covers 80% of the user's field of view will be ranked higher than a stream that provides image content that covers 15% of the user's field of view, and the remaining 5%, e.g. , the stream providing the upper or lower portion will be assigned a third priority lower than the highest priority assigned to the stream providing the image(s) corresponding to the 80% portion of the field of view.

단계(1608)는 단계(1610) 및/또는 단계(1612)를 포함할 수 있고, 몇몇 실시예들에서 그를 포함한다. 단계(1610)에서, 가장 높은 우선 순위는 시야의 가장 큰 부분을 제공하는 스트림에 할당된다. 단계(1610)는 시야 중 가장 큰 부분을 제공하는 스트림을 1차 스트림으로서 지정하는 단계를 포함할 수 있다. 단계(1612)는 가장 높은 우선 순위 스트림에 의해 제공된 부분 외부에 있는 시야에 대한 부분들을 제공하는 스트림들에 대해 다음의 가장 높은 우선 순위 또는 우선 순위들을 할당하는 단계를 포함한다. 이러한 스트림들은 그들이 더 낮은 우선 순위들을 할당받는 더 작은 부분들을 제공할 수 있는 스트림들에 의해 현재 시야에 제공할 수 있는 부분의 크기에 기초하여 단계(1612)에서 우선 순위화된다.Step 1608 may include, and in some embodiments includes, step 1610 and/or step 1612. At step 1610, the highest priority is assigned to the stream providing the largest portion of the field of view. Step 1610 may include designating the stream providing the largest portion of the field of view as the primary stream. Step 1612 includes assigning the next highest priority or priorities to the streams providing portions of the field of view that are outside the portion provided by the highest priority stream. These streams are prioritized in step 1612 based on the size of the portion they can present in the current field of view, with streams capable of providing smaller portions being assigned lower priorities.

예를 들면, 상이한 데이터 레이트들을 갖는 다수의 스트림들이 시야에 대해 동일한 부분을 제공할 수 있다는 것을 가정하면, 비록 잠재적으로 상이한 해상도들 또는 프레임 레이트들에서, 다수의 스트림들이 동일한 우선 순위가 할당될 수 있고, 예를 들면, 전방 뷰에 대응하는 스트림들이 동일한 우선 순위를 할당받을 수 있고, 왼쪽 후방 뷰를 제공하는 스트림들이, 예를 들면, 전방 스트림들에 할당된 상이한 우선 순위인, 동일한 우선 순위가 할당될 수 있고, 오른쪽 후방 뷰를 제공하는 스트림들이, 예를 들면, 전방 또는 왼쪽 후방 뷰 스트림들에 할당되는 것과 상이한 우선 순위인, 동일한 우선 순위를 제공받을 수 있다.For example, assuming that multiple streams with different data rates can provide the same portion of the field of view, multiple streams can be assigned the same priority, although potentially at different resolutions or frame rates. and, for example, streams corresponding to the front view may be assigned the same priority, and streams providing the left rear view may have the same priority, for example, different priorities assigned to the front streams. may be assigned, and the streams providing the right rear view may be given the same priority, for example a different priority than that assigned to the front or left rear view streams.

따라서, 단계(1608)에서, 시야에 대해 제공하는 스트림들은 순위 매김, 즉, 우선 순위화될 것이다. 우선 순위화는 순위 매김된 리스트에서 스트림들을 리스팅하는 것에 의해 표현될 수 있고, 1차 스트림(들)은 가장 높은 우선 순위를 할당받고 다른 스트림들은 하위 우선 순위를 할당받는다.Accordingly, in step 1608, the streams providing for view will be ranked, i.e., prioritized. Prioritization can be expressed by listing the streams in a ranked list, with the primary stream(s) assigned the highest priority and other streams assigned lower priorities.

모든 스트림들이 시야에 대응할 수 있는 것은 아니다. 예를 들면, 상부 또는 두 개의 장면 부분은 시야 밖에 있을 수 있고 따라서, 이러한 뷰들을 제공하는 스트림들은 단계(1608)에서 우선 순위화되지 않았을 수 있다. 동작은 단계(1608)로부터 단계(1614)로 진행한다. 단계(1614)에서, 우선 순위화될 임의의 나머지 스트림들이 존재하는지의 여부에 관한 결정이 행해진다. 예를 들면, 그들 모두가 사용자의 현재 시야에 대응하기 때문에, 우선 순위화될 나머지 스트림들이 존재하지 않는 경우, 동작은 리턴 단계(1630)로 진행한다. 그러나, 단계(1614)에서, 하나 이상의 스트림들이 우선 순위화되기 위해 남아있다고 결정되는 경우, 동작은 단계(1616)로 진행한다.Not all streams can correspond to the field of view. For example, the top or two portions of the scene may be out of view and therefore the streams providing these views may not have been prioritized in step 1608. Operation proceeds from step 1608 to step 1614. At step 1614, a determination is made as to whether there are any remaining streams to be prioritized. If there are no remaining streams to be prioritized, for example because they all correspond to the user's current field of view, the operation proceeds to the return step 1630. However, if at step 1614 it is determined that one or more streams remain to be prioritized, then operation proceeds to step 1616.

단계(1616)에서, 우선 순위들은 콘텐트를 전달하는 하나 이상의 추가의 스트림들, 예를 들면, 현재 시야 밖의 스트림들에 할당된다. 단계(161)에서 수행된 우선 순위화는, 몇몇 실시예들에서, 현재 시야에서 보이는 콘텐트에 대해 우선 순위화되는 스트림에 의해 제공된 콘텐트의 근접성에 기초하고 및/또는 사용자의 현재 또는 과거 머리 회전의 방향에 기초한다. 예를 들면, 스트림이 현재 시야에 바로 인접한 환경의 일 부분에 대응하는 이미지 콘텐트를 제공하는 경우, 몇몇 실시예들에서 이는 사용자의 현재 시야로부터 멀리 떨어진 이미지 부분에 대응하는 콘텐트를 제공하는 스트림보다 높은 우선 순위가 할당될 것이다. 유사하게, 사용자의 머리 회전의 방향의 이미지 콘텐트를 제공하는 스트림은 머리 회전 방향의 콘텐트가 머리 회전의 검출된 방향으로부터 떨어진 반대 방향의 콘텐트보다 사용자의 시야로 빠르게 들어올 더 많은 가능성이 있다는 가정하에서 사용자의 검출된 머리 회전으로부터 떨어진 회전의 방향의 콘텐트보다 더 높은 우선 순위가 주어질 수 있다.At step 1616, priorities are assigned to one or more additional streams carrying content, e.g., streams outside the current field of view. The prioritization performed at step 161 may, in some embodiments, be based on the proximity of the content presented by the prioritized stream to the content visible in the current field of view and/or based on the user's current or past head rotations. Based on direction. For example, if a stream provides image content corresponding to a portion of the environment immediately adjacent to the user's current field of view, in some embodiments it may have a higher image content than a stream providing content corresponding to a portion of the image distant from the user's current field of view. Priorities will be assigned. Similarly, a stream that provides image content in the direction of the user's head rotation can be viewed by the user under the assumption that content in the direction of head rotation is more likely to come into the user's field of view quickly than content in the opposite direction away from the detected direction of head rotation. may be given higher priority than content in directions of rotation away from the detected head rotation.

적어도 하나의 실시예에서, 단계(1616)는 단계(1618)를 포함하고, 머리 위치의 변경이 머리 회전, 예를 들면 머리를 위 또는 아래의 기울임에 대한 반대로서 왼쪽 또는 오른쪽 회전을 나타내는지를 결정하기 위한 검사가 수행된다. 머리 위치가 단계(1618)에서 검출되지 않는 경우, 동작은 단계(1620)로 진행하고 스트림들은 몇몇 실시예들에서 사용자의 현재 시야에 관하여 그들이 제공하는 이미지 데이터의 부분에 기초하여 우선 순위화된다. 상부 및/또는 하부 부분들을 제공하는 스트림들은 왼쪽 또는 오른쪽 후방 부분들뿐만 아니라 상부 및 하부 부분들이 시야 밖에 있을 때 왼쪽 또는 오른쪽 후방 부분들을 제공하는 스트림들보다 낮은 우선 순위가 디폴트로 할당될 수 있다. 동작은 단계(1620)로부터 리턴 단계(1630)로 진행한다.In at least one embodiment, step 1616 includes step 1618 and determines whether the change in head position indicates a head rotation, e.g., left or right rotation as opposed to tilting the head up or down. Testing is performed to: If head position is not detected at step 1618, operation proceeds to step 1620 and the streams are, in some embodiments, prioritized based on the portion of image data they provide relative to the user's current field of view. Streams serving the upper and/or lower portions may by default be assigned a lower priority than the streams serving the left or right rear portions as well as the left or right rear portions when the upper and lower portions are out of view. Operation proceeds from step 1620 to return step 1630.

단계(1618)에서 사용자 머리 회전이 검출된다고 가정되는 경우, 동작은 단계(1622)로 진행한다. 단계(1622)에서, 예를 들면, 사용자의 머리가 왼쪽으로 돌아가는지 또는 오른쪽으로 돌아가는지, 머리 회전의 방향이 결정된다. 이는, 사용자의 뷰로 들어올 환경의 다음 부분이 그로부터 멀어지기보다는 머리 회전의 방향에 있을 더 많은 가능성이 종종 있기 때문에, 머리 회전의 방향이 고려되게 한다.If it is assumed that user head rotation is detected at step 1618, then operation proceeds to step 1622. At step 1622, the direction of head rotation is determined, for example, whether the user's head is turned left or right. This allows the direction of head rotation to be taken into account, since it is often more likely that the next part of the environment that will come into the user's view will be in the direction of the head rotation rather than away from it.

동작은 단계(1622)로부터 단계(1624)로 진행하고, 우선 순위들은 하나 이상의 콘텐트 스트림들, 예를 들면, 머리 회전의 방향에 기초하여 시야 밖의 스트림들에 할당된다. 적어도 일 실시예에서, 단계(1624)는 단계(1626)를 포함하고, 다음으로 가장 낮은 사용되지 않은 우선 순위는 머리 회전의 방향의 환경의 일 부분에 대응하는 콘텐트를 제공하는 스트림에 할당된다. 예를 들면, 환경의 전방 부분을 바라보는 사용자가 그의 머리를 오른쪽으로 돌리는 경우, 시야 밖의 오른쪽 후방 콘텐트를 제공하는 스트림은 시야 밖에 또한 존재하는 왼쪽 후방 콘텐트를 제공하는 스트림보다 높은 우선 순위가 할당될 것이다. 동작은 단계(1624)로부터 단계(1628)로 진행하고, 미리 우선 순위화되지 않은 나머지 스트림들은 우선 순위들이 이미 할당된 스트림들보다 낮은 중요도를 나타내는 하위 우선 순위들을 할당받는다.Operation proceeds from step 1622 to step 1624, where priorities are assigned to one or more content streams, e.g., out-of-view streams based on the direction of head rotation. In at least one embodiment, step 1624 includes step 1626, where the next lowest unused priority is assigned to the stream providing content corresponding to the portion of the environment in the direction of head rotation. For example, if a user looking at the front part of the environment turns his head to the right, a stream providing right rear content that is outside of the field of view will be assigned a higher priority than a stream providing left rear content that is also outside of the field of view. will be. Operation proceeds from step 1624 to step 1628, where the remaining streams that have not been previously prioritized are assigned lower priorities indicating that they are of lower importance than the streams to which priorities have already been assigned.

동작은 단계(1628)로부터 단계(1630)로 진행한다. 리턴 단계(1630)에 도달될 때까지, 콘텐트 스트림들이 우선 순위에 따라 우선순위화, 예를 들면, 순위 매김 또는 순서화될 것이다.Operation proceeds from step 1628 to step 1630. By the time the return step 1630 is reached, the content streams will have been prioritized, eg ranked or ordered, according to priority.

도 17은 일 예시적인 실시예에 따라 렌더링 서브루틴의 단계들(1700)을 도시하는 플로차트이다.Figure 17 is a flow chart illustrating steps 1700 of a rendering subroutine according to one example embodiment.

렌더링 서브루틴(1700)은 이미지 렌더링이 요구될 때 하나 이상의 루틴들에 의해 호출될 수 있다. 입체 영상 콘텐트의 경우에, 개별적인 이미지는 사용자의 왼쪽 및 오른쪽 눈들의 각각에 대해 렌더링된다. 모노 콘텐트의 경우에, 단일 이미지는 사용자의 왼쪽 및 오른쪽 눈들의 각각에 대해 렌더링 및 사용된다. 렌더링은 종종 하나 또는 다수의 스트림들로부터 이미지 콘텐트의 조합을 종종 포함한다. 따라서, 환경의 몇몇 부분들은 모노 콘텐트로서 제공될 수 있지만, 다른 부분들은 입체 영상 콘텐트로서 제공될 수 있고, 이 경우에, 상이한 왼쪽 및 오른쪽 눈 이미지들은 콘텐트의 일부는 입체이고, 다른 콘텐트는 모노이지만, 환경의 적어도 일 부분이 입체 영상 콘텐트로서 나타내질 때 왼쪽 및 오른쪽 눈 이미지들의 각각에 대해 생성되는 단일 이미지가 렌더링될 수 있다.Rendering subroutine 1700 may be called by one or more routines when image rendering is required. In the case of stereoscopic content, separate images are rendered for each of the user's left and right eyes. In the case of mono content, a single image is rendered and used for each of the user's left and right eyes. Rendering often involves the combination of image content from one or multiple streams. Accordingly, some portions of the environment may be presented as mono content, while other portions may be presented as stereoscopic content, in which case the different left and right eye images are such that some of the content is stereoscopic and other content is mono. , a single image generated for each of the left and right eye images may be rendered when at least a portion of the environment is presented as stereoscopic image content.

렌더링 루틴(1700)은 시작 단계(1702)에서 시작하고 렌더링 단계(1706)로 진행한다. 렌더링 단계(1706)에 대한 입력은 환경 맵(1411), 하나 이상의 뷰에 대응하는 디코딩된 이미지 콘텐트(1703), 및 환경 맵(1411)에 의해 규정된 표면 상에 하나 이상의 디코딩된 이미지들 또는 이미지 부분들을 맵핑하기 위해 사용된 하나 이상의 UV 맵들(1704)을 포함한다. 상기에 논의된 바와 같이, 환경 맵(1411)은, 더 복잡한 기하학이 제공되지 않는 경우에, 구의 표면 내로 맵핑되는 이미지들을 갖는 구를 디폴트로 할 수 있다.Rendering routine 1700 begins at start step 1702 and proceeds to render step 1706. The input to the rendering step 1706 is an environment map 1411, decoded image content 1703 corresponding to one or more views, and one or more decoded images or images on the surface defined by the environment map 1411. Includes one or more UV maps 1704 used to map portions. As discussed above, environment map 1411 may default to a sphere with images mapped into the surface of the sphere if a more complex geometry is not provided.

몇몇 실시예들에서, 렌더링 단계(1706)는 사용자의 현재 시야 및 사용자의 현재 시야에 대응하는 적어도 하나의 이미지를 생성하기 위해 적어도 하나의 UV 맵뿐만 아니라 환경 맵에 대응하는 하나 이상의 콘텐트 스트림들에 포함된 이미지들을 디코딩함으로써 생성된 콘텐트를 사용하는 것을 포함하는 단계(1708)를 포함한다. 입체 영상, 예를 들면, 3D 이미지 콘텐트의 경우, 렌더링은 디스플레이에 적합한 포맷으로 생성되는 왼쪽 및 오른쪽 눈 이미지들을 야기할 것이다. 렌더링된 왼쪽 및 오른쪽 눈 이미지들에서 차이들은, 몇몇 실시예들에서, 사용자가 이미지들을 3D로 인식하게 한다.In some embodiments, rendering step 1706 may be performed on the user's current field of view and one or more content streams corresponding to the environment map as well as at least one UV map to generate at least one image corresponding to the user's current field of view. Step 1708 includes using content generated by decoding the included images. For stereoscopic, eg, 3D image content, rendering will result in left and right eye images being generated in a format suitable for display. Differences in the rendered left and right eye images, in some embodiments, allow the user to perceive the images as 3D.

동작은 단계(1706)로부터 저장 및/또는 출력된 렌더링된 이미지들이 디스플레이 디바이스에 공급될 프로그램 또는 루틴에 리턴되게 하는 리턴 단계인 단계(1710)로 진행한다.Operation proceeds from step 1706 to step 1710, a return step that causes the stored and/or output rendered images to be returned to a program or routine to be supplied to the display device.

렌더링 서브루틴(1700)은 시야의 갱신된 버전 또는 프레임이 디스플레이될 때마다 호출될 수 있다. 따라서, 렌더링은 보통 이미지와 일치하는 레이트, 예를 들면, 프레임, 디스플레이 레이트에서 발생한다.Rendering subroutine 1700 may be called whenever an updated version or frame of view is to be displayed. Therefore, rendering usually occurs at a rate that matches the image, e.g. frame rate, display rate.

도 18은 복수의 콘텐트 스트림들에 대응하는 스트림 정보를 포함하는 일 예시적인 표(1800)를 도시한다. 몇몇 실시예들에서 예시적인 표(1800)에 포함된 스트림 정보는 가이드 정보의 일부, 예를 들면, 재생 시스템이 수신하도록 선택할 수 있는 콘텐트 스트림들에 대한 정보를 제공하는 프로그램 가이드로서 수신된다. 범례(1840)는 표(1800)에 포함된 정보에서 약어들로서 사용된 다양한 글자들의 의미를 나타내는 정보를 포함한다.FIG. 18 shows an example table 1800 containing stream information corresponding to a plurality of content streams. In some embodiments the stream information included in example table 1800 is received as part of guide information, for example, a program guide that provides information about content streams that a playback system can select to receive. Legend 1840 includes information indicating the meaning of various letters used as abbreviations in the information included in table 1800.

표(1800)에 포함된 정보는 정보가 대응하는 콘텐트 스트림들에 액세스하기 위해 사용될 수 있다. 몇몇 실시예들에서 논의되는 바와 같이, 스트림 정보는, 복수의 이용 가능한 콘텐트 스트림들에 대해, 제공된 대응하는 콘텐트 스트림을 수신하기 위해 연결될 수 있는 멀티캐스트 그룹의 멀티캐스트 어드레스, 제공된 콘텐트 스트림을 제공하기 위해 사용된 스위칭된 디지털 비디오 채널에 대한 액세스를 요구하기 위해 사용될 수 있는 정보, 또는 제공된 콘텐트 스트림이 방송되는 방송 채널에 대해 동조하도록 재생 시스템의 동조기를 제어하기 위해 사용될 수 있는 채널 동조 정보 중 하나를 포함한다.Information included in table 1800 can be used to access content streams to which the information corresponds. As discussed in some embodiments, the stream information includes, for a plurality of available content streams, a multicast address of a multicast group that can be connected to receive a provided corresponding content stream, providing a provided content stream. either information that may be used to request access to the switched digital video channel used for the broadcast, or channel tuning information that may be used to control the tuner of the playback system to tune to the broadcast channel on which the provided content stream is broadcast. Includes.

표(1800)에서, 각각의 행은 콘텐트를 전달하는 개별적인 콘텐트 스트림에 대응하고, 행이 대응하는 콘텐트 스트림은 열(1812)의 대응하는 입력에 보여진 스트림 식별자에 의해 식별된다. 열(1804)의 각각의 입력은 행이 대응하는 개별적인 콘텐트 스트림에 의해 전달된 프로그램 콘텐트를 식별한다. 표(1800)로부터 인식될 수 있는 바와 같이, 행들의 제 1 그룹(1820)은 열(1804)의 대응하는 입력들에 보여지는 프로그램/이벤트 타이틀을 나타낼 수 있는 프로그램 콘텐트 "축구"에 대응한다. 다양한 상이한 프로그램들/이벤트들에 대응하는 복수의 이러한 그룹들이 존재한다. 각각의 그룹은 각각이 뷰잉 방향에 대응하는 콘텐트 스트림들을 포함하고 논의되는 제공된 데이터 레이트를 지원한다. 간략함을 위해, 단지 두 개의 그룹들이 도면에 도시되고, 제 2 그룹(1822)에 대응하는 행들은 개념을 예시하기 위해서만 단지 부분적으로 도시된다. 행들의 제 2 그룹(1822)은 열(1804)에서 대응하는 입력들에 의해 나타내는 프로그램 콘텐트 "HI"에 대응한다.In table 1800, each row corresponds to a respective content stream carrying content, and the content stream to which the row corresponds is identified by the stream identifier shown in the corresponding input of column 1812. Each entry in column 1804 identifies program content carried by the respective content stream to which the row corresponds. As can be appreciated from table 1800, first group of rows 1820 corresponds to program content “football,” which may represent the program/event title shown in the corresponding inputs in column 1804. There are a number of these groups corresponding to a variety of different programs/events. Each group contains content streams each corresponding to a viewing direction and supporting the provided data rate discussed. For simplicity, only two groups are shown in the figure, and the rows corresponding to the second group 1822 are only partially shown to illustrate the concept. The second group of rows 1822 corresponds to the program content “HI” indicated by the corresponding inputs in column 1804.

열(1806)에서 각각의 입력은 장면 영역의 일 부분, 예를 들면, 대응하는 콘텐트 스트림에 의해 전달된 360도 장면 영역(1200)의 구역을 나타낸다. 따라서, 그룹(1820)의 제 1 세 개의 행들이면서, 상이한 콘텐트 스트림에 대응하는 각각이 정면 장면 부분(예를 들면, 270° 내지 90° 뷰잉 영역을 포함하는 도 12에 도시된 구역(1)으로 맵핑되는)을 전달한다. 그룹(1820)의 다음의 세 개의 행들이면서, 상이한 콘텐트 스트림에 대응하는 각각은 후방 오른쪽 장면 부분예를 들면, 30° 내지 210° 뷰잉 영역을 포함하는 도 12에 도시된 구역(1)으로 맵핑되는)을 전달한다. 그룹(1820)의 마지막 세 개의 행들이면서, 상이한 콘텐트 스트림에 대응하는 각각은 후방 왼쪽 장면 부분(예를 들면, 150° 내지 330° 뷰잉 영역을 포함하는 도 12에 도시된 구역(3)으로 맵핑되는)을 전달한다.Each input in column 1806 represents a portion of the scene area, e.g., a region of the 360-degree scene area 1200 conveyed by the corresponding content stream. Accordingly, the first three rows of group 1820, each corresponding to a different content stream, represent a frontal scene portion (e.g., region 1 shown in FIG. 12 comprising a 270° to 90° viewing area) ) is mapped to . The next three rows of group 1820, each corresponding to a different content stream, map to the back right scene portion, e.g., region 1 shown in Figure 12, comprising the 30° to 210° viewing area. conveys). The last three rows of group 1820, each corresponding to a different content stream, map to a rear left scene portion (e.g., region 3 shown in FIG. 12 comprising a 150° to 330° viewing area) conveys).

열(1808)의 각각의 입력은 대응하는 콘텐트 스트림이 지원하는 데이터 레이트를 나타낸다. 열(1810)의 각각의 입력은 열의(1812)의 대응하는 입력에 보여진 스트림 식별자에 의해 식별된 대응하는 콘텐트 스트림을 수신하기 위해 연결될 수 있는 멀티캐스트 그룹의 멀티캐스트 그룹 식별자/어드레스를 나타낸다. 열(1814)의 각각의 입력은 열(1812)의 대응하는 입력에 보여진 스트림 식별자에 의해 식별된 대응하는 콘텐트 스트림에 대한 스트림 기술자를 포함한다. 열(1816)의 각각의 입력은 액세스 정보, 예를 들면, 대응하는 콘텐트 스트림에 액세스 또는 그를 요청하기 위해 사용될 수 있는 동조 파라미터들 및/또는 다른 액세스 파라미터들을 포함한다.Each input in column 1808 indicates the data rate supported by the corresponding content stream. Each input of column 1810 represents a multicast group identifier/address of a multicast group that can be connected to receive the corresponding content stream identified by the stream identifier shown in the corresponding input of column 1812. Each input in column 1814 includes a stream descriptor for the corresponding content stream identified by the stream identifier shown in the corresponding input in column 1812. Each input of column 1816 includes access information, such as tuning parameters and/or other access parameters that can be used to access or request access to the corresponding content stream.

예시적인 표(1800)로부터 이해될 수 있는 바와 같이, 도시된 예에서, 재생시에 사용을 위해 이용 가능한 제공된 뷰잉 방향에 대응하는 각각의 콘텐트 스트림의 다수의, 예를 들면, 세 개의, 상이한 버전들이 존재하고, 콘텐트 스트림의 각각의 버전은 상이한 데이터 레이트를 지원한다. 따라서, 재생 시스템은, 도 14 내지 도 17에 관하여 상세히 논의되는 본 발명의 특징들에 따라, 예를 들면, 지원된 대역폭, 데이터 레이트, 사용자 머리 위치, 등과 같은 하나 이상의 팩터들에 기초하여 재생시 사용하기 위한 하나 이상의 스트림들을 선택할 수 있다.As can be understood from the example table 1800, in the example shown, there are multiple, e.g., three, different versions of each content stream corresponding to a given viewing direction available for use during playback. There is, and each version of the content stream supports different data rates. Accordingly, the playback system may, in accordance with the features of the invention discussed in detail with respect to Figures 14-17, perform playback based on one or more factors, such as, for example, supported bandwidth, data rate, user head position, etc. You can select one or more streams to use.

표(1800)의 정보가 하나 이상의 콘텐트 스트림들을 선택 및/또는 액세스하기 위해 재생 시스템에 의해 이용될 수 있는 방식을 더 명백히 이해하기 위해, 그룹(1820)의 제 1 행 및 열들(1804, 1806, 1808, 1810, 1812, 1814, 1816)의 각각의 제 1 입력을 고려하자. 열(1804)의 제 1 입력은 스트림 식별자(S1D1)에 의해 식별되는 제 1 콘텐트 스트림에 의해 전달되는 이벤트/프로그램 "축구"가 열(1812)에 포함된다는 것을 나타낸다. 열(1806)의 대응하는 입력은 제 1 스트림이 전방 장면 부분(예를 들면, 270° 내지 90° 뷰잉 영역)에 대응하는 콘텐트를 전달한다는 것을 나타낸다. 이러한 뷰잉 영역 정보는 현재 시야에 대응하는 사용자/뷰어의 현재 머리 위치에 대응하는 콘텐트를 전달하는 하나 이상의 스트림들을 식별하기 위해 재생 시스템에 의해 사용된다. 상기 예에 계속하여, 열(1808)의 대응하는 제 1 입력은 제 1 콘텐트 스트림이 데이터 레이트(D1)를 지원 및/또는 요구한다는 것을 나타낸다. 열(1810)의 대응하는 입력은 제 1 콘텐트 스트림이 멀티캐스트 그룹(M1)을 연결함으로써 액세스될 수 있다는 것을 나타내고, M1은 어드레스로 맵핑하는 멀티캐스트 그룹 어드레스 및/또는 식별자를 나타낸다. 열(1814)의 대응하는 입력은 제 1 스트림이 대응하는 카메라 뷰잉각(V1), 코덱 형태(C1), 지원된 데이터 레이트(D1), 및 제 1 스트림에 대응하는 프레임 레이트(F1)를 나타내는 제 1 콘텐트 스트림에 대응하는 스트림 기술자 "V1C1D1F1"를 포함한다. 마지막 열(1816)의 대응하는 입력은 제 1 콘텐트 스트림에 액세스하거나 그를 요청하기 위해 사용될 수 있는 액세스 동조 파라미터들 및/또는 다른 액세스 파라미터들(A123으로 도시됨)을 나타낸다.To more clearly understand how the information in table 1800 may be used by a playback system to select and/or access one or more content streams, the first row and columns 1804, 1806 of group 1820 are presented. Let us consider each of the first inputs (1808, 1810, 1812, 1814, 1816). The first input in column 1804 indicates that the event/program “Football” carried by the first content stream identified by stream identifier S 1 D 1 is included in column 1812 . The corresponding input in column 1806 indicates that the first stream carries content corresponding to a forward scene portion (e.g., 270° to 90° viewing area). This viewing area information is used by the playback system to identify one or more streams carrying content corresponding to the user/viewer's current head position corresponding to the current field of view. Continuing with the above example, the corresponding first input of column 1808 indicates that the first content stream supports and/or requires data rate D1. The corresponding input in column 1810 indicates that the first content stream can be accessed by concatenating a multicast group M1, with M1 indicating a multicast group address and/or identifier mapping to an address. The corresponding inputs of column 1814 include the camera viewing angle (V 1 ) to which the first stream corresponds, the codec type (C 1 ), the supported data rate (D 1 ), and the frame rate (F) to which the first stream corresponds. 1 ) and a stream descriptor “V 1 C 1 D 1 F 1 ” corresponding to the first content stream. The corresponding input of the last column 1816 represents access tuning parameters and/or other access parameters (shown as A123) that can be used to access or request the first content stream.

사용될 수 있는 이용 가능한 콘텐트 스트림들에 관해 상기에 논의된 이러한 정보에 의해, 재생 시스템(1900)과 같은 재생 시스템은 본 발명의 특징들에 따라 재생시 사용을 위해 하나 이상의 콘텐트 스트림들을 선택 및 액세스할 수 있다. 더 양호한 이해를 위해, 재생 시스템이 사용자 머리 위치가 사용자가 360도 장면 중 정면 부분을 바라보고 있다는 것을 나타낸다는 것을 결정하는 하나의 단순한 예를 고려하자. 이러한 경우, 일 실시예에서 재생 시스템은 정면 장면 부분을 전달하는 적어도 하나의 콘텐트 스트림을 선택한다. 이용 가능한 대역폭, 지원 가능한 데이터 레이트, 스트림 대역폭 및/또는 데이터 레이트 제한들과 같은 도 14 내지 도 17에 관해 논의되는 다양한 다른 팩터들에 의존하여, 재생 시스템은 정면 장면 부분을 전달하는 세 개의 상이한 이용 가능한 스트림들(S1D1, S1D2, S1D3) 중에 하나의 스트림을 선택할 수 있다. 제한들이 허용하는 경우, 재생 시스템은 정면 장면 부분에 대응하는 복수의 콘텐트 스트림들로부터 대응하는 세 개 중에 가장 높은 품질 스트림, 예를 들면, 스트림(S1D1)을 선택할 것이다. 표(1800)에서 제공된 정보는, 선택하기 위해 사용될 수 있는 정보 중 적어도 일부가 스트림 정보(1800)에 의해 제공되기 때문에, 재생시 사용을 위해 적절한 스트림의 선택을 용이하게 한다. 스트림 선택 후, 재생 시스템은, 선택된 스트림에 대응하는 멀티캐스트 그룹, 예를 들면, M1을 연결함으로써 또는 콘텐트 스트림을 획득하기 위해 액세스 정보를 사용함으로써, 콘텐트 전달, 예를 들면, 콘텐트 수신을 개시하기 위해 스트림 정보(1800)를 다시 사용할 수 있다.With this information discussed above regarding the available content streams that can be used, a playback system, such as playback system 1900, can select and access one or more content streams for use in playback in accordance with the features of the present invention. You can. For a better understanding, let's consider one simple example where the playback system determines that the user's head position indicates that the user is looking at the frontal portion of a 360-degree scene. In this case, in one embodiment the playback system selects at least one content stream that carries a portion of the frontal scene. Depending on various other factors discussed with respect to Figures 14-17, such as available bandwidth, supportable data rate, stream bandwidth, and/or data rate limitations, the playback system may use three different methods to convey the frontal scene portion. One stream can be selected among the available streams (S 1 D 1 , S 1 D 2 , S 1 D 3 ). If constraints allow, the playback system will select from the plurality of content streams corresponding to the frontal scene portion the highest quality stream of the three, eg stream S 1 D 1 . The information provided in table 1800 facilitates selection of an appropriate stream for use in playback, since at least some of the information that can be used to select is provided by stream information 1800. After selecting the stream, the playback system initiates content delivery, e.g., content reception, by connecting a multicast group corresponding to the selected stream, e.g., M1, or by using the access information to obtain the content stream. The stream information 1800 can be used again for this purpose.

도 19는 콘텐트 전달 시스템으로부터 수신된 이미징 콘텐트를 수신, 디코딩, 저장 및 디스플레이하기 위해 사용될 수 있는 본 발명에 따라 구현된 재생 시스템(1900)을 도시한다. 시스템(1900)은 디스플레이(1902)를 포함하는 단일 재생 디바이스(1900')로서 또는 외부 디스플레이, 예를 들면, 컴퓨터 시스템(1900')에 결합된 헤드 마운트 디스플레이(1905)와 같은 요소들의 조합으로서 구현될 수 있다.19 illustrates a playback system 1900 implemented in accordance with the present invention that can be used to receive, decode, store, and display imaging content received from a content delivery system. System 1900 may be implemented as a single playback device 1900' that includes a display 1902 or as a combination of elements such as an external display, e.g., a head mounted display 1905 coupled to computer system 1900'. It can be.

재생 시스템(1900)은, 적어도 몇몇 실시예들에서, 3D 헤드 마운트 디스플레이를 포함한다. 헤드 마운트 디스플레이는 헤드 마운트 디스플레이(1905)를 포함할 수 있는 OCULUS RIFTTM VR(가상 현실) 헤드셋을 사용하여 구현될 수 있다. 다른 헤드 마운트 디스플레이들이 또한 사용될 수 있다. 몇몇 실시예들에서, 하나 이상의 디스플레이 스크린들이 사용자의 왼쪽 및 오른쪽 눈들에 콘텐트를 디스플레이하기 위해 사용되는 헤드 마운트 헬멧 또는 다른 헤드 마운팅 디바이스가 디바이스(1905)로서 사용된다. 단일 스크린의 상이한 부분들을 상이한 눈들에 노출하도록 구성된 헤드 마운트를 갖는 단일 스크린상에 상이한 이미지들을 왼쪽 및 오른쪽 눈들에 디스플레이함으로써, 단일 디스플레이는 뷰어의 왼쪽 및 오른쪽 눈들에 개별적으로 인식될 왼쪽 및 오른쪽 눈 이미지들을 디스플레이하기 위해 사용될 수 있다. 몇몇 실시예들에서, 휴대 전화 스크린은 헤드 마운트 디스플레이 디바이스의 디스플레이로서 사용된다. 적어도 몇몇 이러한 실시예들에서, 휴대 전화는 헤드 마운팅 디바이스로 삽입되고 휴대 전화는 이미지들을 디스플레이하기 위해 사용된다. 몇몇 실시예들에서, 디스플레이 디바이스(1905)는 Oculus Rift와 같은 3D 디스플레이 장치의 일부일 수 있다.Playback system 1900, in at least some embodiments, includes a 3D head mounted display. The head mounted display may be implemented using an OCULUS RIFT VR (virtual reality) headset, which may include a head mounted display 1905. Other head mounted displays may also be used. In some embodiments, a head mounted helmet or other head mounting device in which one or more display screens are used to display content to the user's left and right eyes is used as device 1905. By displaying different images to the left and right eyes on a single screen with a head mount configured to expose different portions of the single screen to the different eyes, a single display can cause left and right eye images to be separately perceived by the viewer's left and right eyes. It can be used to display things. In some embodiments, a mobile phone screen is used as the display of a head mounted display device. In at least some of these embodiments, a mobile phone is inserted into a head mounting device and the mobile phone is used to display images. In some embodiments, display device 1905 may be part of a 3D display device, such as an Oculus Rift.

재생 시스템(1900)은 수신된 인코딩된 이미지 데이터, 예를 들면, 환경 또는 장면의 상이한 부분들에 대응하는 왼쪽 및 오른쪽 눈 이미지들 및/또는 모노(단일 이미지들)을 디코딩하고, 예를 들면, 사용자에 의해 3D 이미지로서 인식되는 상이한 왼쪽 및 오른쪽 눈 뷰들을 렌더링 및 디스플레이함으로써, 고객에게 디스플레이를 위한 3D 이미지 콘텐트를 생성하기 위한 능력을 갖는다. 재생 시스템(1900)은 몇몇 실시예들에서, 가정 또는 사무실과 같은 고객 구내 위치에 위치되지만, 이미지 캡처 사이트에 또한 위치될 수 있다. 시스템(1900)은 본 발명에 따라 신호 수신, 디코딩, 디스플레이, 및/또는 다른 동작들을 수행할 수 있다.The playback system 1900 decodes the received encoded image data, e.g., left and right eye images and/or mono (single images) corresponding to different parts of the environment or scene, e.g. It has the ability to generate 3D image content for display to a customer by rendering and displaying different left and right eye views that are perceived by the user as a 3D image. Playback system 1900 is, in some embodiments, located at a customer premises location, such as a home or office, but may also be located at an image capture site. System 1900 may receive, decode, display, and/or perform other operations in accordance with the present invention.

시스템(1900)은 디스플레이(1902), 디스플레이 디바이스 인터페이스(1903), 입력 디바이스(1904), 입력/출력(I/O) 인터페이스(1906), 프로세서(1908), 네트워크 인터페이스(1910) 및 메모리(1912)를 포함한다. 시스템(1900)의 다양한 구성 요소들은 데이터가 시스템(1900)의 구성 요소들 사이에 전달되게 하는 버스(1909)를 통해 및/또는 다른 접속들에 의해 또는 무선 인터페이스를 통해 함께 결합된다. 몇몇 실시예들에서, 디스플레이(1902)가 대시 박스를 사용하여 도시되는 선택적인 요소로서 포함되지만, 몇몇 실시예들에서, 외부 디스플레이 디바이스(1905), 예를 들면, 헤드 마운트 입체 영상 디스플레이 디바이스는 디스플레이 디바이스 인터페이스(1903)를 통해 재생 디바이스에 결합될 수 있다.System 1900 includes a display 1902, a display device interface 1903, an input device 1904, an input/output (I/O) interface 1906, a processor 1908, a network interface 1910, and memory 1912. ) includes. The various components of system 1900 are coupled together via a bus 1909 and/or other connections that allow data to be transferred between components of system 1900 or via a wireless interface. In some embodiments, display 1902 is included as an optional element, shown using a dash box, but in some embodiments, an external display device 1905, e.g., a head mounted stereoscopic display device, may be used as a display device. It can be coupled to a playback device via device interface 1903.

예를 들면, 휴대 전화 프로세서가 프로세서로서 이용되고 휴대 전화가 헤드 마운트에 이미지들을 생성 및 디스플레이하는 경우, 시스템은 헤드 마운트 디바이스의 일부로서 프로세서(1908), 디스플레이(1906) 및 메모리(1912)를 포함할 수 있다. 프로세서(1908), 디스플레이(1902) 및 메모리(1912) 모두는 휴대 전화의 일부일 수 있다. 시스템(1900)의 다른 실시예들에서, 프로세서(1908)는 XBOX 또는 PS4와 같은 게이밍 시스템의 일부일 수 있고, 디스플레이(1905)는 헤드 마운팅 디바이스에 장착되고 게이밍 시스템에 결합된다. 프로세서(1908) 또는 메모리(1912)는 머리에 씌워지는지 또는 그렇지 않은지는 중요하지 않은 디바이스에 위치되고, 인식될 수 있는 바와 같이, 몇몇 경우들에서, 전력, 열, 및 중량 관점으로부터 헤드기어내 프로세서가 공통 위치하는 것이 편리할 수 있지만, 적어도 몇몇 경우들에서 디스플레이를 포함하는 헤드 기어에 결합된 메모리 및 프로세서(1908)를 갖는 것이 바람직할 수 있다.For example, if a mobile phone processor is used as the processor and the mobile phone generates and displays images on a head mount, the system includes processor 1908, display 1906 and memory 1912 as part of the head mounted device. can do. Processor 1908, display 1902, and memory 1912 may all be part of the mobile phone. In other embodiments of system 1900, processor 1908 may be part of a gaming system, such as an XBOX or PS4, and display 1905 is mounted on a head mounting device and coupled to the gaming system. The processor 1908 or memory 1912 is located in a device where it does not matter whether it is worn on the head or not, and as will be appreciated, in some cases, the processor 1908 within the headgear from a power, heat, and weight perspective. Although it may be convenient for the processor 1908 to be co-located, it may be desirable in at least some cases to have the memory and processor 1908 coupled to a headgear that includes a display.

다양한 실시예들이 헤드 마운트 디스플레이(1905 또는 1902)를 고려하지만, 방법들 및 장치는 또한 3D 이미지를 지원할 수 있는 비-헤드 마운트 디스플레이들과 함께 사용될 수 있다. 따라서, 많은 실시예들에서, 시스템(1900)은 헤드 마운트 디스플레이를 포함하지만, 이는 또한 비-헤드 마운트 디스플레이와 함께 구현될 수 있다.Although the various embodiments contemplate a head mounted display 1905 or 1902, the methods and apparatus may also be used with non-head mounted displays that can support 3D images. Accordingly, in many embodiments, system 1900 includes a head mounted display, but it may also be implemented with a non-head mounted display.

재생 시스템(1900)의 운영자는 입력 디바이스(1904)를 통해 하나 이상의 파라미터들을 제어할 수 있고 및/또는 수행될 동작들을 선택, 예를 들면, 3D 장면을 디스플레이할 것을 선택할 수 있다. I/O 인터페이스(1906)를 통해, 시스템(1900)은 외부 디바이스들에 결합될 수 있거나 및/또는 신호 및/또는 정보를 다른 디바이스들과 교환할 수 있다. 몇몇 실시예들에서, I/O 인터페이스(1906)를 통해, 시스템(1900)은 카메라 리그(900)와 같은 카메라 리그의 부분일 수 있는 다양한 카메라들에 의해 캡처된 이미지들을 수신할 수 있다.An operator of playback system 1900 may control one or more parameters via input device 1904 and/or select operations to be performed, for example, selecting to display a 3D scene. Via I/O interface 1906, system 1900 can be coupled to external devices and/or exchange signals and/or information with other devices. In some embodiments, via I/O interface 1906, system 1900 may receive images captured by various cameras that may be part of a camera rig, such as camera rig 900.

프로세서(1908), 예를 들면, CPU는 루틴들(1914)을 실행하고 본 발명에 따라 동작하도록 재생 시스템(1900)을 제어하기 위해 다양한 모듈들을 사용한다. 프로세서(1908)는 재생 시스템(1900)의 전체 일반적인 동작을 제어하는 것을 담당한다. 다양한 몇몇 실시예들에서, 프로세서(1908)는 재생 디바이스에 의해 수행되는 것으로 논의된 기능들을 수행하도록 구성된다.Processor 1908, e.g., CPU, executes routines 1914 and uses various modules to control playback system 1900 to operate in accordance with the present invention. Processor 1908 is responsible for controlling the overall general operation of playback system 1900. In some various embodiments, processor 1908 is configured to perform the functions discussed as being performed by the playback device.

네트워크 인터페이스(1610)를 통해 시스템(1900)은 신호들 및/또는 정보(예를 들면, 이미지들 및/또는 비디오 콘텐트를 포함하는)를 다양한 외부 디바이스들로 예를 들면, 통신 네트워크(105)와 같은 통신 네트워크를 거쳐 전달 및/또는 수신한다. 네트워크 인터페이스(1910)는 수신 및/또는 송신 동작들이 수행되는 수신기(1911) 및 송신기(1913)를 포함한다. 몇몇 실시예들에서, 시스템은 콘텐트 제공자로부터 네트워크 인터페이스(1910)를 통해 하나 이상의 선택된 콘텐트 스트림들을 수신한다. 몇몇 실시예들에서, 시스템(1900)은 인터페이스(1910)의 수신기(1911)를 통해 재생을 위해 사용할 하나 이상의 선택된 콘텐트 스트림들을 수신한다. 수신된 콘텐트 스트림은 인코딩된 데이터, 예를 들면, 인코딩된 장면 부분들(1952)로서 수신될 수 있다. 수신기(1911)는 또한 스트림 정보(1946) 및/또는 초기화 데이터를, 예를 들면, 프로그램 가이드의 일부로서 수신하도록 구성된다. 시스템(1900)은 또한, 예를 들면, 수신기(1911)를 통해, 대역폭 및/또는 상이한 뷰잉 방향들에 대한 대역폭 제한들을 포함하는 데이터 레이트 할당 제어 정보(1952)를 수신하고, 개별적인 대역폭 제한들은 개별적인 대역폭 제한에 대응하는 뷰잉 방향에 대응하는 콘텐트를 제공하는 하나 이상의 콘텐트 스트림들을 수신하기 위해 사용될 최대 대역폭을 지정한다. 몇몇 실시예들에서, 수신기(1911)는 또한 적어도 하나의 환경 맵, 예를 들면, 3D 표면을 규정하는 3D 깊이 맵, 및 예를 들면, 개시 단계 또는 다른 시간 동안 3D 표면의 적어도 일 부분상에 이미지 콘텐트를 맵핑하기 위해 사용될 하나 이상의 UV 맵들을 수신하도록 구성된다. 몇몇 실시예들에서, 수신기(1911)는 장면 환경의 제 1 부분에 대응하는 제 1 UV 맵, 장면 환경의 제 2 부분에 대응하는 제 2 UV 맵, 제 3 부분에 대응하는 제 3 UV 맵, 제 4 부분에 대응하는 제 4 UV, 및 장면 환경의 제 5 부분에 대응하는 제 5 UV 맵을 수신한다. 몇몇 실시예들에서, 초기화 동안, 시스템(1900)은, 예를 들면, 인터페이스(1910)의 수신기를 통해, 콘텐트, 예를 들면, 장면의 제 1, 제 2, 제 3, 제 4, 및 제 5 부분들 중 하나 이상에 대응하는 이미지를 수신한다.Via network interface 1610, system 1900 can transmit signals and/or information (including, e.g., images and/or video content) to various external devices, e.g., communications network 105 and Transmitted and/or received over the same telecommunication network. The network interface 1910 includes a receiver 1911 and a transmitter 1913 on which receiving and/or transmitting operations are performed. In some embodiments, the system receives one or more selected content streams from a content provider via network interface 1910. In some embodiments, system 1900 receives one or more selected content streams for use for playback via receiver 1911 of interface 1910. The received content stream may be received as encoded data, for example encoded scene portions 1952. Receiver 1911 is also configured to receive stream information 1946 and/or initialization data, for example, as part of a program guide. System 1900 also receives, for example, via receiver 1911, data rate allocation control information 1952 including bandwidth and/or bandwidth limits for different viewing directions, where individual bandwidth limits are individually Specifies the maximum bandwidth to be used to receive one or more content streams providing content corresponding to the viewing direction corresponding to the bandwidth limitation. In some embodiments, receiver 1911 may also include at least one environment map, e.g., a 3D depth map defining a 3D surface, and a and configured to receive one or more UV maps to be used for mapping image content. In some embodiments, receiver 1911 is configured to display a first UV map corresponding to a first portion of the scene environment, a second UV map corresponding to a second portion of the scene environment, a third UV map corresponding to a third portion, A fourth UV map corresponding to the fourth part, and a fifth UV map corresponding to the fifth part of the scene environment are received. In some embodiments, during initialization, system 1900 receives content, e.g., first, second, third, fourth, and fourth elements of a scene, e.g., via a receiver of interface 1910. Receive an image corresponding to one or more of the 5 parts.

메모리(1912)는 다양한 모듈들, 얘를 들면, 프로세서(1908)에 의해 실행될 때, 본 발명에 따라 디코딩 및 출력 동작들을 수행하도록 재생 시스템(1900)을 제어하는 루틴들을 포함한다. 메모리(1912)는 제어 루틴들(1914), 머리 위치 결정 모듈(1916), 현재 뷰잉 위치 초기화 모듈(1918), 디코더 모듈(1920), 현재 선택된 스트림 초기화 모듈(1922), 콘텐트 전달 개시 모듈(1924), 이미지 버퍼(들)(1926), 이미지 버퍼 갱신 모듈(1928), 이미지 생성 모듈이라고도 불리는 이미지 렌더링 모듈(1930), 이용 가능한 대역폭 및/또는 지원된 데이터 레이트 결정 모듈(1932), 머리 위치 변경 결정 모듈(1934), 이용 가능한 대역폭 및/또는 지원된 데이터 레이트 변경 결정 모듈(1936), 스트림 선택 모듈(1938), 선택된 스트림 세트 변경 결정 모듈(1940), 선택된 스트림 세트 갱신 모듈(1942), 스트림(들) 종료 모듈(1944), 수신된 스트림 정보(1946)를 포함하는 데이터/정보, 수신된 대역폭 및/또는 데이터 레이트 할당 정보(1948), 결정된 현재 최대 이용 가능한 대역폭 및/또는 지원 가능한 데이터 레이트(1950), 수신된 인코딩된 이미지 콘텐트(1952), 수신된 환경 맵(1954), 수신된 UV 맵(들)(1956), 디코딩된 이미지 콘텐트(1958), 및 생성된 3D 콘텐트(1960)를 포함한다.Memory 1912 includes various modules, such as routines that, when executed by processor 1908, control playback system 1900 to perform decoding and output operations in accordance with the present invention. Memory 1912 includes control routines 1914, head position determination module 1916, current viewing position initialization module 1918, decoder module 1920, currently selected stream initialization module 1922, and content delivery initiation module 1924. ), image buffer(s) 1926, image buffer update module 1928, image rendering module 1930, also called image generation module, available bandwidth and/or supported data rate determination module 1932, head position change. Determination module 1934, Change available bandwidth and/or supported data rate Determination module 1936, Stream selection module 1938, Change selected stream set determination module 1940, Update selected stream set module 1942, Stream (s) Termination module 1944, data/information comprising received stream information 1946, received bandwidth and/or data rate allocation information 1948, determined currently maximum available bandwidth and/or supportable data rate; (1950), received encoded image content (1952), received environment map (1954), received UV map(s) (1956), decoded image content (1958), and generated 3D content (1960). Includes.

제어 루틴들(1914)은 시스템(1900)의 동작을 제어하기 위한 디바이스 제어 루틴들 및 통신 루틴들을 포함한다. 머리 위치 결정 모듈(1916)은 사용자의 현재 머리 위치, 예를 들면, 헤드 마운트 디스플레이의 위치를 결정하도록 구성된다. 머리 위치 결정 모듈(1916)은 예를 들면, 헤드 마운트 디스플레이를 포함하는 헤드기어상에 존재할 수 있는 위치 센서가 통합되고 및/또는 그와 협력하여 작동할 수 있다. 현재 뷰잉 위치 초기화 모듈(1918)은 검출된 사용자의 현재 머리 위치가 전방(0도) 뷰잉 위치에 있도록 설정함으로써, 예를 들면, 초기화 단계 동안, 사용자의 현재 뷰잉 위치가 전방(0도) 환경 뷰잉 위치에 있도록 초기화하도록 구성된다.Control routines 1914 include device control routines and communication routines for controlling the operation of system 1900. Head position determination module 1916 is configured to determine the user's current head position, e.g., the position of a head mounted display. Head positioning module 1916 may integrate with and/or operate in conjunction with a position sensor, which may be present, for example, on headgear that includes a head mounted display. The current viewing position initialization module 1918 sets the detected current head position of the user to be in a forward (0 degree) viewing position, such that during the initialization phase, the user's current viewing position is set to a forward (0 degree) environment viewing position. It is configured to be initialized to be in position.

디코더 모듈(1920)은 디코딩된 이미지 데이터(1958)를 생성하기 위해 콘텐트 전달 시스템(700)으로부터 수신된 인코딩된 이미지 콘텐트(1952)를 디코딩하도록 구성된다. 디코딩된 이미지 데이터(1958)는 디코딩된 입체 영상 장면 및/또는 디코딩된 장면 부분들을 포함할 수 있다. 디코딩된 콘텐트는 몇몇 실시예들에서 하나 이상의 이미지 버퍼(들)(1926)에 저장된다. 현재 선택된 스트림 초기화 모듈(1922)은 수신될 선택된 하나 이상의 콘텐트 스트림들의 현재 세트를 초기화하도록 구성된다. 현재 선택된 스트림 초기화 모듈(1922)은 스트림들의 현재 선택된 세트를 환경/장면의 전방/정면 부분에 대응하는 콘텐트를 전달하는 제 1 스트림이 되게 설정하도록 구성된다.Decoder module 1920 is configured to decode encoded image content 1952 received from content delivery system 700 to generate decoded image data 1958. Decoded image data 1958 may include a decoded stereoscopic image scene and/or decoded scene portions. Decoded content is stored in one or more image buffer(s) 1926 in some embodiments. The currently selected stream initialization module 1922 is configured to initialize the current set of one or more selected content streams to be received. The currently selected stream initialization module 1922 is configured to set the currently selected set of streams to be the first stream carrying content corresponding to the front/front portion of the environment/scene.

콘텐트 전달 개시 모듈(1924)은 선택된 콘텐트 스트림(들)의 전달을 개시하도록 구성된다. 몇몇 실시예들에서, 콘텐트 전달 개시 모듈(1924)은 이미 수신되지 않은 선택된 세트에서 콘텐트 스트림들의 전달을 개시한다. 몇몇 실시예들에서, 콘텐트 전달 개시 모듈(1924)은 선택된 콘텐트 스트림에 대응하는 멀티캐스트 그룹, 예를 들면, 스트림들의 현재 선택된 세트에 대응하는 콘텐트를 전달하는 콘텐트 스트림들에 대응하는 멀티캐스트 그룹(들)을 연결하기 위해 요청 신호를 전송하도록 구성된다. 몇몇 다른 실시예들에서, 콘텐트 전달 개시 모듈(1924)은 선택된 콘텐트 스트림이 전달되는 스위칭된 디지털 채널의 전달을 요청하는 요청을 생성하고 네트워크의 디바이스로 전송하도록 구성된다.The content delivery initiation module 1924 is configured to initiate delivery of the selected content stream(s). In some embodiments, content delivery initiation module 1924 initiates delivery of content streams in the selected set that have not already been received. In some embodiments, the content delivery initiation module 1924 may configure a multicast group corresponding to a selected content stream, e.g., a multicast group corresponding to content streams delivering content corresponding to the currently selected set of streams ( ) is configured to transmit a request signal to connect. In some other embodiments, the content delivery initiation module 1924 is configured to generate and transmit a request to a device in the network requesting delivery of the switched digital channel over which the selected content stream is delivered.

이미지 버퍼 갱신 모듈(1928)은, 예를 들면, 콘텐트 스트림들의 선택된 세트에 의해 전달된 갱신된 콘텐트가 수신 및 디코딩될 때, 이미지 버퍼(들)(1926)를 갱신된 콘텐트로 갱신하도록 구성된다.Image buffer update module 1928 is configured to update image buffer(s) 1926 with updated content, for example, when updated content delivered by a selected set of content streams is received and decoded.

이미지 렌더링 모듈(1930)은 3D 이미지, 예를 들면, 디스플레이(1902) 및/또는 디스플레이 디바이스(1905)상에 사용자에게 디스플레이하기 위해, 디코딩된 이미지 콘텐트(1958)를 사용하여, 본 발명의 특징들에 따라 3D 이미지로서 인식되는 방식으로 디스플레이되는, 예를 들면, 왼쪽 및 오른쪽 눈 이미지들을 생성한다. 몇몇 실시예들에서, 이미지 렌더링 모듈(1930)은 사용자의 현재 뷰잉 영역에 대응하는 디코딩된 이미지 콘텐트(1958), 환경 맵(1954), 및 UV 맵을 사용하여 디스플레이를 위한 콘텐트를 렌더링하도록 구성된다. 따라서, 몇몇 실시예들에서, 이미지 렌더링 모듈(1930)은 도 17에 도시된 단계들에 관하여 논의된 기능들을 수행하도록 구성된다. 생성된 이미지 콘텐트(1960)는 3D 이미지 생성 모듈(1930)의 출력이다. 따라서, 렌더링 모듈(1930)은 3D 이미지 콘텐트(1960)를 디스플레이에 렌더링한다. 몇몇 실시예들에서, 이미지 렌더링 모듈(1930)은 하나 이상의 생성된 이미지들을, 예를 들면, 디스플레이 디바이스로 또는 다른 디바이스로 출력하도록 구성된다. 생성된 이미지들은 네트워크 인터페이스(1910) 및/또는 디스플레이 디바이스 인터페이스(1903)를 통해 출력될 수 있다.Image rendering module 1930 uses decoded image content 1958 to display a 3D image, e.g., on display 1902 and/or display device 1905, to a user, incorporating features of the invention. Create, for example, left and right eye images, which are displayed in a way that is recognized as a 3D image. In some embodiments, image rendering module 1930 is configured to render content for display using decoded image content 1958, environment map 1954, and UV map corresponding to the user's current viewing area. . Accordingly, in some embodiments, image rendering module 1930 is configured to perform the functions discussed with respect to the steps shown in FIG. 17. The generated image content 1960 is the output of the 3D image generation module 1930. Accordingly, the rendering module 1930 renders the 3D image content 1960 on the display. In some embodiments, image rendering module 1930 is configured to output one or more generated images, for example, to a display device or to another device. The generated images may be output through the network interface 1910 and/or the display device interface 1903.

이용 가능한 대역폭 및/또는 지원된 데이터 레이트 결정 모듈(1932)은, 예를 들면, 콘텐트 스트림들을 수신하기 위해 주어진 시간에 이용 가능할 수 있는 현재 최대 이용 가능한 대역폭 및/또는 현재 최대 지원 가능한 데이터 레이트를 결정하도록 구성된다. 이용 가능한 대역폭 및/또는 지원 가능한 데이터 레이트가 통신 채널 상태들의 변경들 또는 네트워크 문제들 때문에 시간에 걸쳐 변할 수 있기 때문에, 몇몇 실시예들에서, 결정 모듈(1932)은 이용 가능한 대역폭 및/또는 지원된 데이터 레이트의 변경들을 검출하기 위해 지속적으로 모니터링 및/또는 결정을 수행한다. 결정된 현재 최대 지원 가능한 데이터 레이트 및/또는 대역폭(1950)은 결정 모듈(1932)의 출력이고, 필요할 때 갱신될 수 있다.The available bandwidth and/or supported data rate determination module 1932 may, for example, determine the currently maximum available bandwidth and/or currently maximum supportable data rate that may be available at a given time for receiving content streams. It is configured to do so. Because the available bandwidth and/or supportable data rate may vary over time due to changes in communication channel conditions or network issues, in some embodiments, decision module 1932 determines the available bandwidth and/or supported data rate. Continuously monitors and/or makes decisions to detect changes in data rate. The determined current maximum supportable data rate and/or bandwidth 1950 is the output of decision module 1932 and may be updated as needed.

머리 위치 변경 결정 모듈(1934)은, 예를 들면, 머리 위치 결정 모듈(1916)의 출력에서 변화들을 검사 및 비교함으로써, 사용자의 머리 위치에서 변화가 존재했는지를 결정하도록 구성된다. 이용 가능한 대역폭 및/또는 지원된 데이터 레이트 변경 결정 모듈(1936)은 결정 모듈(1932)에 의해 결정된 현재 최대 이용 가능한 대역폭 및/또는 현재 최대 지원 가능한 데이터 레이트에 비교되어 이용 가능한 대역폭 및/또는 지원된 데이터 레이트에서 임의의 변경이 존재하는지를 검출하도록 구성된다.Head position change determination module 1934 is configured to determine whether there has been a change in the user's head position, for example, by examining and comparing changes in the output of head position determination module 1916. Change available bandwidth and/or supported data rate determination module 1936 determines the available bandwidth and/or supported data rate by comparing the available bandwidth and/or supported data rate to the current maximum available bandwidth and/or current maximum supportable data rate as determined by decision module 1932. and configured to detect whether there is any change in data rate.

스트림 선택 모듈(1938)은 사용자의 현재 머리 위치에 기초하여 주어진 시간에서 재생시 사용을 위해 수신할 스트림을 복수의 콘텐트 스트림들 중에서 선택하도록 구성된다. 사용자의 현재 머리 위치 및/또는 다른 팩터들에서 변경들에 기초하여, 스트림 선택 모듈(1938)은 상이한 시간들에서 상이한 스트림(들)을 선택할 수 있다. 스트림들 중 현재 선택된 세트(1961)는 스트림 선택 모듈(1938)의 출력이고, 수신을 위해 현재 선택된 콘텐트 스트림들의 세트를 나타낸다. 몇몇 실시예들에서, 스트림 선택 모듈(1938)은 스트림 선택 동작의 일부로서 다양한 기능들을 수행하도록 구성되는 복수의 서브-모듈들을 포함한다. 도 23은 스트림 선택 모듈(1938) 및 그에 포함된 다양한 모듈들을 더 상세하게 도시하고, 나중에 논의될 것이다.The stream selection module 1938 is configured to select, from among a plurality of content streams, a stream to receive for use in playback at a given time based on the user's current head position. Based on changes in the user's current head position and/or other factors, stream selection module 1938 may select different stream(s) at different times. The currently selected set of streams 1961 is the output of the stream selection module 1938 and represents the set of content streams currently selected for reception. In some embodiments, stream selection module 1938 includes a plurality of sub-modules configured to perform various functions as part of a stream selection operation. Figure 23 shows the stream selection module 1938 and the various modules included therein in greater detail, which will be discussed later.

선택된 스트림 세트 변경 결정 모듈(1940)은, 예를 들면, 하나 이상의 추가 콘텐트 스트림을 선택하는 선택 모듈에 의해 및/또는 종료/정지된 수신된 하나 이상의 스트림들에 의해, 스트림들(1961)의 현재 선택된 세트에서 변경이 존재했는지를 결정하도록 구성된다. 선택된 스트림 세트 갱신 모듈(1942)은, 예를 들면, 스트림들(1961)의 선택된 세트에 대한 콘텐트 스트림들의 추가 또는 종료에 의해, 스트림들의 선택된 세트에 대한 변경들이 존재할 때 스트림들의 선택된 세트에 임의의 변경들을 반영하기 위해 현재 선택된 스트림 세트(1961)를 갱신하도록 구성된다. 스트림(들) 종료 모듈(1944)은, 예를 들면, 스트림들의 선택에서 변경들 때문에 갱신되는 스트림들의 현재 선택된 세트(1961)에 의해, 이전에 수신되었을 수 있지만 스트림들의 현재 선택된 세트(1961)에 더 이상 존재하지 않는 하나 이상의 콘텐트 스트림들을 수신하는 것을 종료/정지하도록 구성된다.The selected stream set change determination module 1940 determines the current set of streams 1961, for example, by the selection module selecting one or more additional content streams and/or by one or more streams received being terminated/paused. It is configured to determine whether a change existed in the selected set. The selected stream set update module 1942 updates any selected set of streams when there are changes to the selected set of streams, for example, by adding or terminating content streams to the selected set of streams 1961. and update the currently selected stream set 1961 to reflect changes. The stream(s) termination module 1944 may have previously been received, but is updated, for example, by the currently selected set of streams 1961 being updated due to changes in the selection of streams. configured to terminate/stop receiving one or more content streams that no longer exist.

스트림 정보(1946)는 재생시 수신 및 사용에 이용 가능할 수 있는 복수의 콘텐트 스트림들에 관한 정보를 포함한다. 스트림 정보(1946)에 포함된 정보는 도 18에 도시되고 이전에 논의된 것과 동일하거나 유사하다. 수신된 대역폭 및/또는 데이터 레이트 할당 제어 정보(1948)는 상이한 뷰잉 방향들에 대한 대역폭 제한들 및/또는 다양한 상이한 뷰잉 방향들에 대한 콘텐트를 제공하는 콘텐트 스트림들에 대응하는 데이터 레이트들에 대한 제한들을 나타내는 정보를 포함한다. 결정된 현재 최대 지원 가능한 데이터 레이트 및/또는 대역폭(1950)은 제공된 시간에 재생 시스템(1900)에 의해 결정된 최대 지원 가능한 데이터 레이트 및/또는 대역폭을 나타낸다.Stream information 1946 includes information regarding a plurality of content streams that may be available for reception and use during playback. The information included in stream information 1946 is the same or similar to that shown in Figure 18 and previously discussed. The received bandwidth and/or data rate allocation control information 1948 may include bandwidth limitations for different viewing directions and/or limitations on data rates corresponding to content streams providing content for a variety of different viewing directions. Contains information representing them. Determined current maximum supportable data rate and/or bandwidth 1950 represents the maximum supportable data rate and/or bandwidth determined by playback system 1900 at a given time.

수신된 환경 맵(1954)은 3D 표면을 규정하는 환경의 3D 깊이 맵을 포함한다. 관심 환경에 대응하는 하나 이상의 이러한 깊이 맵들은 몇몇 실시예들에서 재생 시스템(1900)에 의해 수신될 수 있다. 수신된 UV 맵(들)(1956)은 관심의 환경/장면의 부분들에 대응하는 하나 이상의 UV 맵들을 포함한다. 디코딩된 데이터(1958)는 디코더(1920)에 의해 본 발명에 따라 디코딩된 데이터를 포함한다. 디코딩된 데이터(1958)는 스트림들의 선택된 세트에 의해 전달된 환경의 장면 또는 장면 부분들을 포함하는 콘텐트를 포함한다.The received environment map 1954 includes a 3D depth map of the environment defining a 3D surface. One or more such depth maps corresponding to an environment of interest may be received by playback system 1900 in some embodiments. The received UV map(s) 1956 includes one or more UV maps corresponding to portions of the environment/scene of interest. Decoded data 1958 includes data decoded according to the present invention by decoder 1920. Decoded data 1958 includes content comprising a scene or scene portions of the environment conveyed by the selected set of streams.

몇몇 실시예들에서, 상기에 논의된 다양한 모듈들은 소프트웨어 모듈들로서 구현된다. 다른 실시예들에서, 모듈들은 하드웨어에서, 예를 들면, 개별적인 회로들로서 구현되고, 각각의 모듈은 모듈이 대응하는 기능을 수행하기 위한 회로로서 구현된다. 또 다른 실시예들에서, 모듈들은 소프트웨어 및 하드웨어의 조합을 사용하여 구현된다.In some embodiments, the various modules discussed above are implemented as software modules. In other embodiments, the modules are implemented in hardware, for example as individual circuits, and each module is implemented as a circuit for the module to perform its corresponding function. In still other embodiments, modules are implemented using a combination of software and hardware.

도 19 예에서 메모리(1912)에 포함되도록 도시되지만, 재생 디바이스(1900)에 포함된 것으로 도시된 모듈들은 프로세서(1908) 내 하드웨어에서, 예를 들면, 개별 회로들로서 완전히 구현될 수 있고, 몇몇 실시예들에서 그렇게 구현된다. 모듈들은 하드웨어에서, 예를 들면, 상이한 모듈들에 대응하는 개별 회로들로서 완전히 구현될 수 있고, 몇몇 실시예들에서 그렇게 구현된다. 다른 실시예들에서, 모듈들의 일부는, 예를 들면, 프로세서(1908)의 외부의 및 그에 결합된 회로들로서, 예를 들면, 구현되는 다른 모듈들을 갖는 프로세서(1908) 내에, 회로들로서 구현된다. 이해될 수 있는 바와 같이, 프로세서상의 모듈들의 및/또는 프로세서 외부에 있는 몇몇 모듈들과의 통합의 레벨은 설계 선택 중 하나일 수 있다. 대안적으로, 회로들로서 구현되기보다는, 모듈들의 전체 또는 일부는 소프트웨어에서 구현될 수 있고 시스템(1900)의 메모리(1912)에 저장될 수 있고, 모듈들은 모듈들이 프로세서, 예를 들면, 프로세서(1908)에 의해 실행될 때 모듈들에 대응하는 기능들을 수행하기 위해 시스템(1900)의 동작을 제어한다. 또 다른 실시예들에서, 다수의 모듈들은 하드웨어 및 소프트웨어의 조합으로서 구현되고, 예를 들면, 프로세서 외부의 다른 회로는, 이후 소프트웨어 제어하에서, 모듈들의 기능 중 일 부분을 수행하도록 동작하는 프로세서(1908)에 입력을 제공한다.Although shown as included in memory 1912 in the FIG. 19 example, modules shown as included in playback device 1900 may be fully implemented in hardware, for example, as separate circuits within processor 1908, in some embodiments. This is implemented that way in the examples. The modules may be fully implemented in hardware, for example as individual circuits corresponding to different modules, and in some embodiments are so implemented. In other embodiments, some of the modules are implemented as circuits, for example, within the processor 1908 with other modules implemented as circuits external to and coupled thereto. As can be appreciated, the level of integration of modules on the processor and/or with some modules external to the processor may be one of design choices. Alternatively, rather than being implemented as circuits, all or part of the modules may be implemented in software and stored in memory 1912 of system 1900, where the modules may be connected to a processor, e.g., processor 1908. ) controls the operation of the system 1900 to perform functions corresponding to the modules. In still other embodiments, multiple modules are implemented as a combination of hardware and software, such as other circuitry external to the processor, which then operates under software control to perform some of the functions of the modules. ) provides input to .

도 23은 재생 시스템(1900)에서 사용된 스트림 선택 모듈(1938) 및 그 안에 포함된 다양한 모듈들을 더 상세히 도시한다. 스트림 선택 모듈은 도 14 내지 도 16에 관하여 상세히 논의되는 본 발명의 방법들에 따라 하나 이상의 콘텐트 스트림들을 선택하도록 구성된다. 몇몇 실시예들에서, 스트림 선택 모듈은, 사용자의 머리 위치, 스트림 정보(1946) 및/또는 최대 지원 가능한 데이터 레이트에 기초하여, 복수의 콘텐트 스트림들 중 어느 것을 수신할지를 선택하도록 구성된다. 몇몇 실시예들에서, 스트림 선택 모듈(1938)은 사용자의 머리 위치에 기초하여 콘텐트 스트림들을 우선 순위화하도록 구성된 스트림 우선 순위화 모듈(2306)을 포함한다. 스트림 우선 순위화 모듈(2306)의 출력은, 예를 들면, 배정된 우선 순위들을 갖는 콘텐트 스트림들의 우선 순위화된 리스트이다. 스트림 우선 순위화 모듈(2306)은 아래의 도 24에 관하여 더 상세히 논의된다.Figure 23 shows in more detail the stream selection module 1938 and the various modules included therein used in the playback system 1900. The stream selection module is configured to select one or more content streams according to the methods of the invention discussed in detail with respect to Figures 14-16. In some embodiments, the stream selection module is configured to select which of the plurality of content streams to receive based on the user's head position, stream information 1946, and/or maximum supportable data rate. In some embodiments, stream selection module 1938 includes a stream prioritization module 2306 configured to prioritize content streams based on the user's head position. The output of stream prioritization module 2306 is, for example, a prioritized list of content streams with assigned priorities. Stream prioritization module 2306 is discussed in more detail with respect to Figure 24 below.

스트림 선택 모듈(1938)은, 예를 들면, 대역폭 및/또는 데이터 레이트 제한들에 기초하여, 가장 높은 우선 순위를 갖는 스트림에 대해 사용될 최대 대역폭 및/또는 데이터 레이트를 결정하도록 구성된 가장 높은 우선 순위 스트림 최대 대역폭 및/또는 데이터 레이트 결정 모듈(2308), 및 하위 우선 순위를 갖는 각각의 스트림에 사용될 최대 대역폭 및/또는 데이터 레이트를 결정하도록 구성된 하위 우선 순위 스트림(들) 최대 대역폭 및/또는 데이터 레이트 결정 모듈(2310)을 추가로 포함한다. 결정 모듈들(2308, 2310)은 몇몇 실시예들에서 각각의 결정들을 수행하기 위해 대역폭 제어 정보(1948) 및 스트림 우선 순위화 모듈(2306)의 출력을 사용한다. 따라서, 스트림 선택 모듈(1938)은, 예를 들면, 네트워크 디바이스/서버로부터, 재생 시스템에 전달된 대역폭 제한에 기초하여 적어도 하나의 콘텐트 스트림에 대한 대역폭을 결정하도록 구성된 하나 이상의 스트림 대역폭 결정 모듈들을 포함할 수 있다.The stream selection module 1938 is configured to determine the maximum bandwidth and/or data rate to be used for the highest priority stream, e.g., based on bandwidth and/or data rate limitations. A maximum bandwidth and/or data rate determination module 2308, and a lower priority stream(s) maximum bandwidth and/or data rate determination module configured to determine the maximum bandwidth and/or data rate to be used for each stream having a lower priority. Additionally includes module 2310. Decision modules 2308 and 2310, in some embodiments, use bandwidth control information 1948 and the output of stream prioritization module 2306 to make their respective decisions. Accordingly, stream selection module 1938 includes one or more stream bandwidth determination modules configured to determine the bandwidth for at least one content stream based on a bandwidth limitation communicated to the playback system, e.g., from a network device/server. can do.

스트림 선택 모듈(1938)은 가장 높은 우선 순위 스트림이 가장 높은 우선 순위 스트림(들)에 대한 결정된 최대 대역폭 및/또는 데이터 레이트에 기초하여 및 이용 가능한 대역폭 및/또는 지원 가능한 데이터 레이트에 기초하여 지원될 수 있는지를 결정하도록 구성된 모듈(2312), 및 지원될 수 있는 가장 높은 우선 순위의 가장 높은 데이터 레이트 스트림을 선택하도록 구성된 모듈(2314)을 추가로 포함한다. 몇몇 실시예들에서, 선택 모듈(2314)은 가장 높은 우선 순위가 배정된 복수의 콘텐트 스트림들로부터 하나의 콘텐트 스트림을 선택하도록 구성되고, 가장 높은 우선 순위가 배정된 각각의 콘텐트 스트림은 동일한 뷰잉 방향에 대응하는 콘텐트를 동일한 우선 순위를 갖는 복수의 콘텐트 스트림들로부터 선택하도록 구성되는 부분으로서 제공한다. 몇몇 실시예들에서, 모듈(2314)은 동일한 우선 순위, 예를 들면, 이용 가능한 대역폭의 결정된 양에 기초한 가장 높은 우선 순위를 갖는 복수의 콘텐트 스트림들로부터 선택하도록 구성된다. 따라서, 몇몇 실시예들에서, 동일한 우선 순위를 갖는 복수의 스트림이 이용 가능할 때, 예를 들면, 몇몇은 하위 데이터 레이트 요건들을 갖는 다른 것들에 비해 높은 데이터 레이트 요건들을 가질 때, 선택 모듈(2314)은 가장 높은 품질 스트림, 예를 들면, 이용 가능한 대역폭 및/또는 지원가능한 데이터 레이트 및 대역폭 제한들이 이러한 선택에 대해 허용하는 경우, 높은 데이터 레이트 스트림을 선택한다.The stream selection module 1938 determines which highest priority stream will be supported based on the determined maximum bandwidth and/or data rate for the highest priority stream(s) and based on available bandwidth and/or supportable data rate. a module 2312 configured to determine whether the stream can be supported, and a module 2314 configured to select the highest priority, highest data rate stream that can be supported. In some embodiments, selection module 2314 is configured to select one content stream from a plurality of highest priority assigned content streams, wherein each highest priority content stream is in the same viewing direction. Provided as a part configured to select content corresponding to from a plurality of content streams having the same priority. In some embodiments, module 2314 is configured to select from a plurality of content streams with the same priority, for example, the highest priority based on a determined amount of available bandwidth. Accordingly, in some embodiments, when multiple streams with the same priority are available, e.g., some have higher data rate requirements compared to others with lower data rate requirements, the selection module 2314 selects the highest quality stream, e.g., a high data rate stream, if available bandwidth and/or supportable data rate and bandwidth limitations allow for such selection.

스트림 선택 모듈(1938)은 제 2 가장 높은 우선 순위 스트림(들)에 대해 결정된 최대 대역폭 및/또는 데이터 레이트에 기초하여 및 이용 가능한 대역폭(예를 들면, 전체 이용 가능하거나 나머지 이용 가능한) 및/또는 지원 가능한 데이터 레이트에 기초하여 제 2 가장 높은 우선 순위 스트림이 지원될 수 있는지를 결정하도록 구성된 모듈(2316), 지원될 수 있는 제 2 가장 높은 우선 순위의 가장 높은 데이터 레이트 스트림을 선택하도록 구성된 모듈(2318), 제 3 가장 높은 우선 순위 스트림(들)에 대한 결정된 최대 대역폭 및/또는 데이터 레이트에 기초하여 및 이용 가능한 대역폭(예를 들면, 전체 이용 가능하거나 나머지 이용 가능한) 및/또는 지원 가능한 데이터 레이트에 기초하여 제 3 가장 높은 우선 순위 스트림이 지원될 수 있는지를 결정하도록 구성된 모듈(2320), 및 지원될 수 있는 제 3 가장 높은 우선 순위의 가장 높은 데이터 레이트 스트림을 선택하도록 구성된 모듈(2322)을 추가로 포함한다. 따라서, 몇몇 실시예들에서, 스트림 선택 모듈(1938)은, 예를 들면, 우선 순위화 모듈(2306)에 의해, 가장 높은 우선 순위들이 배정된 하나 이상의 콘텐트 스트림들을 선택하도록 구성된다.The stream selection module 1938 selects the available bandwidth (e.g., fully available or remaining available) and/or based on the maximum bandwidth and/or data rate determined for the second highest priority stream(s). a module 2316 configured to determine whether a second highest priority stream can be supported based on a supportable data rate, a module configured to select a second highest priority highest data rate stream that can be supported ( 2318), based on the determined maximum bandwidth and/or data rate for the third highest priority stream(s) and available bandwidth (e.g., fully available or remaining available) and/or supportable data rate. a module 2320 configured to determine whether a third highest priority stream can be supported based on 2322, and a module 2322 configured to select a third highest priority highest data rate stream that can be supported Includes additional Accordingly, in some embodiments, stream selection module 1938 is configured to select one or more content streams that have been assigned the highest priorities, for example, by prioritization module 2306.

스트림 선택 모듈(1938)은, 예를 들면, 하나 이상의 상위 우선 순위 스트림들이 수신을 위해 선택된 후, 추가의 콘텐트 스트림들을 수신하기 위해 임의의 나머지 또는 추가의 이용 가능한 대역폭이 존재하는지를 결정하도록 구성된 추가 용량/대역폭 이용 가능성 결정 모듈(2324)을 추가로 포함한다. 몇몇 실시예들에서, 스트림 선택 모듈(1938)은 하나 이상의 하위 우선 순위 스트림들에 대한 최대 결정된 최대 대역폭 및/또는 데이터 레이트에 기초하여 및 이용 가능한 대역폭 및/또는 지원 가능한 데이터 레이트에 기초하여 지원될 수 있는 하나 이상의 하위 우선 순위 스트림들을 선택하도록 구성된 모듈(2326)을 추가로 포함한다.Stream selection module 1938 may be configured to determine whether any remaining or additional available bandwidth exists to receive additional content streams, for example, after one or more higher priority streams have been selected for reception. /Additionally includes a bandwidth availability determination module 2324. In some embodiments, the stream selection module 1938 determines the maximum determined maximum bandwidth and/or data rate for one or more lower priority streams to be supported based on the available bandwidth and/or supportable data rate. It further includes a module 2326 configured to select one or more lower priority streams.

도 24는 스트림 선택 모듈(1938)의 일부, 예를 들면, 그의 서브 모듈로서 또는 개별 모듈로서 구현될 수 있는 스트림 우선 순위화 모듈(2306)을 도시한다. 스트림 우선 순위화 모듈(2306)은 사용자의 머리 위치에 기초하여 콘텐트 스트림들을 우선 순위화하도록 구성된다. 콘텐트 스트림들이 우선 순위화되면, 스트림 선택 모듈(1938)은 우선 순위화된 콘텐트 스트림들로부터 스트림 선택을 수행할 수 있다. 몇몇 실시예들에서, 스트림 우선 순위화 모듈(2306)은 사용자의 현재 머리 위치에 기초하여 사용자가 보고 있는 장면 영역의 일 부분을 나타내는 사용자의 현재 시야를 식별하도록 구성된 현재 시야 식별 모듈(2404), 및 사용자의 현재 시야에 대응하는 장면 영역의 부분에 대응하는 콘텐트를 전달하는 스트림(들)을 식별하도록 구성된 현재 시야 스트림(들) 식별 모듈(2404)을 포함한다. 현재 시야 스트림(들) 식별 모듈(2404)의 출력은 몇몇 실시예들에서 메모리(1912)에 저장될 수 있는 식별된 스트림들의 리스트이고, 리스트는 사용자의 머리 위치로서 갱신될 수 있고 따라서 시야는 변한다. 따라서, 다양한 실시예들에서, 다양한 이용 가능한 콘텐트 스트림들을 우선 순위화하기 위해, 먼저 사용자의 현재 시야는 머리 위치에 대응하여 식별되고, 시야에 대응하는 콘텐트를 전달하는 스트림들이 식별된다.24 illustrates a stream prioritization module 2306, which may be implemented as part of the stream selection module 1938, for example, as a submodule thereof, or as a separate module. Stream prioritization module 2306 is configured to prioritize content streams based on the user's head position. Once the content streams are prioritized, stream selection module 1938 can perform stream selection from the prioritized content streams. In some embodiments, the stream prioritization module 2306 includes a current field of view identification module 2404 configured to identify the user's current field of view, which represents the portion of the scene area the user is viewing based on the user's current head position; and a current field of view stream(s) identification module 2404 configured to identify stream(s) carrying content corresponding to a portion of the scene area corresponding to the user's current field of view. The output of the current field of view stream(s) identification module 2404 is a list of identified streams that in some embodiments can be stored in memory 1912, and the list can be updated as the user's head position and thus field of view changes. . Accordingly, in various embodiments, to prioritize the various available content streams, the user's current field of view is first identified corresponding to head position, and streams carrying content corresponding to the field of view are identified.

몇몇 실시예들에서, 스트림 우선 순위화 모듈(2306)은 식별된 스트림(들)으로부터 이용 가능한 사용자의 현재 시야에 대응하는 장면 영역의 부분들의 크기를 결정하도록 구성된 모듈(2406), 및 각각의 스트림이 제공하는 부분들의 크기에 기초하여 사용자의 현재 시야에 대응하는 장면 영역의 부분들을 제공하는 하나 이상의 스트림들에 우선 순위들을 배정하도록 구성된 우선 순위 배정/할당 모듈(2408)을 추가로 포함한다. 몇몇 실시예들에서, 우선 순위 배정/할당 모듈(2408)은 시야의 가장 큰 부분을 제공하는 스트림에 가장 높은 우선 순위를 배정하고, 예를 들면, 현재 시야에 대응하는 장면의 가장 큰 부분을 제공하는 스트림을 1차 스트림으로서 지정하도록 구성된 모듈(2410)을 포함한다. 몇몇 실시예들에서, 우선 순위 배정/할당 모듈(2408)은, 나머지 스트림들의 각각이 제공하는 시야 부분의 크기에 기초하여, 예를 들면, 현재 시야에 대응하는 장면의 더 작은 부분을 제공하는 다른 스트림보다 높은 우선 순위 및 지정이 제공된 시야의 더 큰 부분을 제공하는 스트림으로 다음으로 가장 높은 우선 순위(들)를 배정하고 나머지 스트림들(예를 들면, 2차, 3차 등으로서)을 지정하도록 구성된 모듈(2412)을 추가로 포함한다.In some embodiments, the stream prioritization module 2306 includes a module 2406 configured to determine the size of portions of the scene area corresponding to the user's current field of view available from the identified stream(s), and It further includes a prioritization/assignment module 2408 configured to assign priorities to one or more streams providing portions of the scene area corresponding to the user's current field of view based on the size of the portions provided. In some embodiments, prioritization/assignment module 2408 assigns the highest priority to the stream providing the largest portion of the field of view, e.g., providing the largest portion of the scene corresponding to the current field of view. and a module 2410 configured to designate a stream as a primary stream. In some embodiments, prioritization/assignment module 2408 may, based on the size of the portion of the field of view provided by each of the remaining streams, e.g., determine which of the remaining streams provides a smaller portion of the scene corresponding to the current field of view. Assign the next highest priority(s) to the stream that provides a larger portion of the field of view given a higher priority and assignment than the stream, and assign the remaining streams (e.g., as secondary, tertiary, etc.) It further includes a configured module 2412.

몇몇 실시예들에서, 스트림 우선 순위화 모듈(2306)은 우선 순위화될 나머지 스트림들, 예를 들면, 현재 시야 밖의 장면 영역에 대응하는 콘텐트를 제공하는 스트림들이 존재하는지를 결정하도록 구성된 모듈(2414)을 추가로 포함한다.In some embodiments, the stream prioritization module 2306 may be configured to determine whether there are remaining streams to be prioritized, e.g., streams providing content corresponding to a region of the scene that is currently out of view. Additionally includes.

몇몇 실시예들에서, 스트림 우선 순위화 모듈(2306)은 현재 시야에 대한 이미지 콘텐트의 근접성 또는 머리 위치의 방향 중 하나에 기초하여 사용자의 현재 시야 밖의 콘텐트를 제공하는 하나 이상의 추가의 스트림들에 대해 우선 순위화, 예를 들면 우선 순위들을 배정하도록 구성된 모듈(2416)을 추가로 포함한다. 몇몇 실시예들에서, 모듈(2416)은 현재 시야에 대해 전달된 이미지 콘텐트의 근접성에 기초하여 상기 현재 시야 밖의 부분들에 대응하는 하나 이상의 추가의 스트림 전달 콘텐트를 우선 순위화하도록 구성되고, 현재 시야의 영역에 대해 근접한 이미지 콘텐트를 전달하는 콘텐트 스트림은 현재 시야 밖 및 그로부터 멀리 떨어진 콘텐트 스트림보다 더 높은 우선 순위가 배정된다.In some embodiments, stream prioritization module 2306 may configure one or more additional streams that provide content outside the user's current field of view based on either the proximity of the image content to the current field of view or the orientation of the head position. It further includes a module 2416 configured for prioritization, e.g., assigning priorities. In some embodiments, module 2416 is configured to prioritize one or more additional stream delivered content corresponding to portions outside the current field of view based on the proximity of the delivered image content to the current field of view, Content streams carrying image content close to the area are assigned higher priority than content streams that are out of and further away from the current field of view.

몇몇 실시예들에서, 모듈(2416)은 사용자의 머리 회전이 예를 들면, 사용자의 머리 위치의 변경의 부분으로서 검출되는지를 결정하도록 구성된 머리 회전 결정 모듈(2418)을 포함한다. 몇몇 그러나 모두는 아닌 실시예들에서, 사용자가 하늘 또는 지붕을 향해 위를 바라보거나 지상을 향해 아래를 바라볼 때, 머리 위치에서 변경이 존재하지만 이러한 머리 움직임은 머리 회전으로 고려되지 않는다. 몇몇 실시예들에서, 모듈(2416)은 사용자의 머리 회전의 방향에 기초하여 하나 이상의 추가의 콘텐트 스트림들을 우선 순위화하도록 구성되고, 현재 시야 밖이지만 머리 회전의 방향인 이미지 콘텐트를 제공하는 콘텐트 스트림은 머리 회전의 방향으로부터 먼 방향으로 현재 시야 밖의 이미지 콘텐트를 제공하는 다른 콘텐트 스트림보다 더 높은 우선 순위가 배정된다. 몇몇 이러한 실시예들에서, 모듈(2416)은, 다음으로 낮은 우선 순위(예를 들면, 시야에 대응하는 콘텐트를 제공하는 스트림들에 더 높은 우선 순위들이 할당된 후) 및 스트림 지정, 예를 들면, 3차를 현재 시야 밖의 장면의 일 부분, 예를 들면, 장면 환경의 상부 또는 하부에 대응하는 콘텐트를 제공하는 스트림에 배정하도록 구성된 모듈(2420)을 추가로 포함한다. 몇몇 실시예들에서, 머리 회전이 존재하지 않는다고 결정될 때, 머리 회전 결정 모듈은 추가의 스트림들에 우선 순위들을 배정하도록 모듈(2420)에 제어 입력을 제공한다.In some embodiments, module 2416 includes a head rotation determination module 2418 configured to determine whether a rotation of the user's head is detected, for example, as part of a change in the position of the user's head. In some, but not all, embodiments, when a user looks up toward the sky or roof or down toward the ground, there is a change in head position, but this head movement is not considered a head rotation. In some embodiments, module 2416 is configured to prioritize one or more additional content streams based on the direction of the user's head rotation, including a content stream that provides image content that is currently out of view but in the direction of head rotation; is assigned a higher priority than other content streams that provide image content outside the current field of view in a direction away from the direction of head rotation. In some such embodiments, module 2416 assigns the next lower priority (e.g., after higher priorities have been assigned to streams providing content corresponding to the field of view) and stream designation, e.g. , further comprising a module 2420 configured to assign the third order to a stream providing content corresponding to a portion of the scene outside of the current field of view, for example, the top or bottom of the scene environment. In some embodiments, when it is determined that no head rotation is present, the head rotation determination module provides control input to module 2420 to assign priorities to additional streams.

몇몇 실시예들에서, 모듈(2416)은 사용자의 머리 회전의 방향을, 예를 들면, 이전 머리 위치에 관해 왼쪽 또는 오른쪽으로 결정하도록 구성된 머리 회전 방향 결정 모듈(2422)을 추가로 포함한다. 몇몇 실시예들에서, 모듈(2416)은 머리 회전의 방향을 고려하여 현재 시야 밖의 부분들에 대응하는 콘텐트를 전달하는 하나 이상의 추가의 스트림들에 우선 순위들을 배정하도록 구성된 모듈(2424)을 추가로 포함한다. 몇몇 실시예들에서, 모듈(2424)은 다음으로 낮은 우선 순위(예를 들면, 더 높은 우선 순위로부터 다음으로 이용 가능한 우선 순위) 및 지정, 예를 들면 3차 스트림을 머리 회전의 방향에서 장면의 부분에 대응하는 콘텐트를 제공하는 스트림에 배정하도록 구성된 모듈(2426)을 포함한다. 따라서, 머리 회전이 검출되는 경우, 스트림들에 대한 우선 순위들의 할당은 몇몇 실시예들에서 머리 회전의 방향에 기초하여 수행된다는 것이 이해되어야 한다. 몇몇 실시예들에서, 모듈(2416)은 고려된 나머지 스트림들 중 임의의 것에 더 낮은 우선 순위들을 배정하도록 구성된 추가 모듈(2428)을 추가로 포함한다.In some embodiments, module 2416 further includes a head rotation direction determination module 2422 configured to determine the direction of the user's head rotation, e.g., left or right with respect to a previous head position. In some embodiments, module 2416 further includes a module 2424 configured to assign priorities to one or more additional streams carrying content corresponding to portions outside of the current field of view, taking into account the direction of head rotation. Includes. In some embodiments, module 2424 determines the next lower priority (e.g., next available priority from the higher priority) and designates, for example, a tertiary stream, of the scene in the direction of head rotation. and a module 2426 configured to assign content corresponding to a portion to a stream that provides it. Accordingly, it should be understood that when head rotation is detected, assignment of priorities to the streams is in some embodiments performed based on the direction of head rotation. In some embodiments, module 2416 further includes an additional module 2428 configured to assign lower priorities to any of the remaining streams considered.

도 19 예에서 단일 프로세서, 예를 들면 컴퓨터로서 도시되지만, 프로세서(1908)는 하나 이상의 프로세서들, 예를 들면, 컴퓨터들로서 구현될 수 있다는 것이 이해되어야 한다. 소프트웨어에서 구현될 때, 모듈들은, 프로세서(1908)에 의해 실행될 때, 프로세서(1908)가 모듈에 대응하는 기능을 수행하도록 구성하는 코드를 포함한다. 도 19, 도 23, 및 도 24에 도시된 다양한 모듈들이 메모리(1912)에 저장되는 실시예들에서, 메모리(1912)는, 적어도 하나의 컴퓨터, 예를 들면, 프로세서(1908)가 모듈들이 대응하는 기능들을 수행하게 하기 위한 코드, 예를 들면, 각각의 모듈에 대한 개별 코드를 포함하는 컴퓨터 판독 가능한 매체를 포함하는 컴퓨터 프로그램 제품이다.Although shown in the FIG. 19 example as a single processor, such as a computer, it should be understood that processor 1908 could be implemented as one or more processors, such as computers. When implemented in software, modules include code that, when executed by processor 1908, configures processor 1908 to perform the functions corresponding to the module. In embodiments in which the various modules shown in FIGS. 19, 23, and 24 are stored in memory 1912, memory 1912 is configured to store the corresponding modules in at least one computer, e.g., processor 1908. It is a computer program product that includes a computer-readable medium containing codes for performing functions, for example, individual codes for each module.

완전하게 하드웨어 기반 또는 완전하게 소프트웨어 기반 모듈들이 사용될 수 있다. 그러나, 소프트웨어 및 하드웨어의 임의의 조합, 예를 들면 회로 구현된 모듈들이 기능들을 구현하기 위해 사용될 수 있다는 것이 이해되어야 한다. 이해되는 바와 같이, 도 19, 도 23, 및 도 24에 도시된 모듈들은 도 14의 플로차트(1400)의 방법에 도시 및/또는 기술된 대응하는 단계들의 기능들을 수행하고 도 15 내지 도 17에 도시된 대응하는 단계들의 기능들을 수행하기 위해 시스템(1900) 또는 프로세서(1908)와 같은 그 안의 요소들을 제어 및/또는 구성한다.Completely hardware-based or completely software-based modules may be used. However, it should be understood that any combination of software and hardware, such as circuit implemented modules, may be used to implement the functions. As will be appreciated, the modules shown in FIGS. 19, 23, and 24 perform the functions of the corresponding steps shown and/or described in the method of flowchart 1400 of FIG. 14 and shown in FIGS. 15-17. Control and/or configure the system 1900 or elements therein, such as the processor 1908, to perform the functions of the corresponding steps.

도 20a, 도 20b, 도 20c, 도 20d, 및 도 20e의 조합을 포함하는 도 20은 다양한 예시적인 실시예들에 따라 콘텐트 재생 시스템을 동작시키는 일 예시적인 방법의 플로차트(2000)이다. 콘텐트 재생 시스템은, 예를 들면, 다양한 실시예들에 따라 디스플레이에 결합된 콘텐트 재생 디바이스 또는 컴퓨터 시스템이다.FIG. 20, which includes a combination of FIGS. 20A, 20B, 20C, 20D, and 20E, is a flowchart 2000 of an example method of operating a content playback system in accordance with various example embodiments. A content playback system is, for example, a content playback device or computer system coupled to a display according to various embodiments.

예시적인 방법의 동작은 단계(2002)에서 시작하고, 여기서 콘텐트 재생 시스템은 전원이 인가되거나 개시된다. 동작은 단계(2002)로부터 단계(2004)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 제 1 후방 뷰 부분에 대응하는 제 1 이미지를 수신한다. 동작은 단계(2004)로부터 단계(2006)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 상기 수신된 제 1 이미지를 저장한다. 동작은 단계(2006)로부터 단계(2008)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 적어도 제 2 이미지를 포함하는 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 하나 이상의 추가 이미지들을 수신한다. 동작은 단계(2008)로부터 단계(2010)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 상기 수신된 하나 이상의 추가 이미지들을 저장한다. 동작은 단계(2010)로부터 단계(2012)로 진행한다.Operation of the example method begins at step 2002, where the content playback system is powered on or initiated. Operation proceeds from step 2002 to step 2004, where the content playback system receives a first image corresponding to a first rear view portion of the environment. Operation proceeds from step 2004 to step 2006, where the content playback system stores the received first image corresponding to the first rear view portion of the environment. Operation proceeds from step 2006 to step 2008, wherein the content playback system displays at least a second image corresponding to the first rear view portion of the environment, including at least a second image corresponding to the first rear view portion of the environment. Receive one or more additional images. Operation proceeds from step 2008 to step 2010, where the content playback system stores the received one or more additional images corresponding to the first rear view portion of the environment. Operation proceeds from step 2010 to step 2012.

단계(2012)에서, 콘텐트 재생 시스템은 상기 환경의 제 2 후방 뷰 부분에 대응하는 제 1 이미지를 수신한다. 동작은 단계(2012)로부터 단계(2014)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 상기 제 2 후방 뷰 부분에 대응하는 상기 수신된 제 1 이미지를 저장한다. 동작은 단계(2014)로부터 단계(2016)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 상기 제 2 후방 뷰 부분에 대응하는 적어도 하나의 제 2 이미지를 포함하는 상기 환경의 상기 제 2 후방 뷰 부분에 대응하는 하나 이상의 추가 이미지들을 수신한다. 동작은 단계(2016)로부터 단계(2018)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 상기 제 2 후방 뷰 부분에 대응하는 상기 수신된 하나 이상의 추가 이미지들을 저장한다. 동작은 단계(2018)로부터 단계(2020)로 진행한다.At step 2012, the content playback system receives a first image corresponding to a second rear view portion of the environment. Operation proceeds from step 2012 to step 2014, where the content playback system stores the received first image corresponding to the second rear view portion of the environment. Operation proceeds from step 2014 to step 2016, wherein the content playback system displays a second rear view portion of the environment that includes at least one second image corresponding to the second rear view portion of the environment. One or more corresponding additional images are received. Operation proceeds from step 2016 to step 2018, where the content playback system stores the received one or more additional images corresponding to the second rear view portion of the environment. Operation proceeds from step 2018 to step 2020.

단계(2020)에서, 콘텐트 재생 시스템은 상기 환경의 하늘 뷰 부분에 대응하는 하나 이상의 이미지들을 수신한다. 동작은 단계(2020)로부터 단계(2022)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 상기 하늘 뷰 부분에 대응하는 상기 수신된 하나 이상의 이미지들을 저장한다. 동작은 단계(2022)로부터 단계(2024)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 지상 뷰 부분에 대응하는 하나 이상의 이미지들을 수신한다. 동작은 단계(2024)로부터 단계(2026)로 진행하고, 콘텐트 재생 시스템은 상기 환경의 상기 지상 뷰 부분에 대응하는 상기 수신된 하나 이상의 이미지들을 저장한다. 몇몇 실시예들에서, 하늘 뷰 및 지상 뷰는 뷰어의 명목상의 머리 방향 관점에 관하여 위 및 아래 방향들을 말하고, 실외 환경들뿐만 아니라 실내 환경들에 적용하기 위해 사용된다.At step 2020, the content playback system receives one or more images corresponding to a sky view portion of the environment. Operation proceeds from step 2020 to step 2022, where the content playback system stores the received one or more images corresponding to the sky view portion of the environment. Operation proceeds from step 2022 to step 2024, where the content playback system receives one or more images corresponding to a ground view portion of the environment. Operation proceeds from step 2024 to step 2026, where the content playback system stores the received one or more images corresponding to the ground view portion of the environment. In some embodiments, the sky view and the ground view refer to upward and downward directions with respect to the viewer's nominal headward perspective and are used to apply to indoor environments as well as outdoor environments.

몇몇 실시예들에서, 이미지들은, 예를 들면, 특정 실시예에 따라, 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분 및 지상 뷰 부분의 일부지만 반드시 모두는 아닌 것에 대응하여 수신될 수 있다.In some embodiments, images may be received corresponding to some, but not necessarily all, of a first rear view portion, a second rear view portion, a sky view portion, and a ground view portion, for example, depending on a particular embodiment. You can.

동작은 단계(2026)로부터 접속 노드 A(2028)를 통해 단계(2030)로, 단계(2034)로 진행하고, 접속 노드 B(2036)를 통해, 단계들(2028, 2040, 2042, 2044, 2046, 2048, 2050, 2052)로 진행한다. 단계(2030)로 돌아오면, 단계(2030)에서, 콘텐트 재생 시스템은 뷰어의 머리 위치를 결정하고, 상기 머리 위치는 현재 시야에 대응한다. 동작은 단계(2030)로부터 단계(2032)로 진행하고, 콘텐트 재생 시스템은 결정된 머리 위치에 기초하여 상기 뷰어에 대한 현재 시야를 결정한다. 동작은 단계(2032)로부터 단계(2030)로 진행한다. 단계들(2032, 2030)은 반복적으로, 예를 들면, 현재 시야가 갱신되는, 예를 들면, 리프레시되는 것에 의해 정기적으로 수행된다. 결정된 현재 시야는 출력 이미지들의 생성시 사용되기 위해 이용 가능하다.Operation proceeds from step 2026 via connection node A 2028 to step 2030, to step 2034, and through connection node B 2036 to steps 2028, 2040, 2042, 2044, 2046. , 2048, 2050, 2052). Returning to step 2030, at step 2030, the content playback system determines the viewer's head position, which corresponds to the current field of view. Operation proceeds from step 2030 to step 2032, where the content playback system determines the current field of view for the viewer based on the determined head position. Operation proceeds from step 2032 to step 2030. Steps 2032 and 2030 are performed iteratively, eg, periodically, such that the current view is updated, eg, refreshed. The determined current field of view is available for use in generating output images.

단계(2034)에서, 콘텐트 재생 시스템은 제 1 부분에 대응하는 콘텐트, 예를 들면, 환경의 전방 부분 뷰를 제공하는 제 1 콘텐트 스트림을 수신한다.At step 2034, the content playback system receives content corresponding to the first portion, e.g., a first content stream providing a front portion view of the environment.

단계(2038)에서, 콘텐트 재생 시스템은, 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에 나타내진 재생 시간에 관해 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신한다. 단계(2040)에서, 콘텐트 재생 시스템은 환경의 상기 제 1 후방 뷰 부분에 대응하는 복수의 이미지들 중 어느 것이 상기 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신한다.At step 2038, the content playback system determines the playback time of which of the plurality of previously delivered images corresponding to the first rear view portion of the environment is measured relative to the playback time represented in the first content stream. Receives control information indicating whether it should be displayed for a while. At step 2040, the content playback system receives image selection information indicating which of the plurality of images corresponding to the first rear view portion of the environment should be used during the portion of the event.

단계(2042)에서, 콘텐트 재생 시스템은 상기 환경의 상기 제 2 후방 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에 나타낸 재생 시간에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신한다. 단계(2044)에서, 콘텐트 재생 시스템은 환경의 상기 제 2 후방 뷰 부분에 대응하는 복수의 이미지들 중 어느 것이 상기 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신한다.At step 2042, the content playback system displays which of the plurality of previously delivered images corresponds to the second rear view portion of the environment for a playback time measured relative to the playback time represented in the first content stream. Receive control information indicating what should be done. At step 2044, the content playback system receives image selection information indicating which of the plurality of images corresponding to the second rear view portion of the environment should be used during the portion of the event.

단계(2046)에서, 콘텐트 재생 디바이스는 상기 환경의 상기 하늘 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에 나타낸 재생 시간에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신한다. 단계(2048)에서, 콘텐트 재생 시스템은 환경의 상기 하늘 뷰 부분에 대응하는 복수의 이미지들 중 어느 것이 상기 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신한다.At step 2046, the content playback device determines which of a plurality of previously delivered images corresponding to the sky view portion of the environment should be displayed for a playback time measured relative to the playback time indicated in the first content stream. Receives the control information indicated. At step 2048, the content playback system receives image selection information indicating which of a plurality of images corresponding to the sky view portion of the environment should be used during the portion of the event.

단계(2050)에서, 콘텐트 재생 시스템은 상기 환경의 상기 지상 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에서 나타내진 재생 시간에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신한다. 단계(2052)에서, 콘텐트 재생 디바이스는 환경의 상기 지상 뷰 부분에 대응하는 복수의 이미지들 중 어느 것이 상기 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신한다.At step 2050, the content playback system determines which of the plurality of previously delivered images corresponding to the ground view portion of the environment should be displayed for a playback time measured relative to the playback time indicated in the first content stream. Receive control information indicating whether to do so. At step 2052, the content playback device receives image selection information indicating which of a plurality of images corresponding to the ground view portion of the environment should be used during a portion of the event.

동작은, 접속 노드 C(2054)를 통해, 동시에 수행될 수 있는, 단계(2032), 단계(2034), 및 단계들(2038, 2040, 2042, 2044, 2046, 2048, 2050, 2052)로부터 접속 노드 D(2056)를 통해, 단계(2058)로 진행한다.The operations are connected from step 2032, step 2034, and steps 2038, 2040, 2042, 2044, 2046, 2048, 2050, 2052, which may be performed simultaneously, via connection node C 2054. Through node D 2056, proceed to step 2058.

몇몇 실시예들에서, 단계들(2038, 2040, 2042, 2044, 2046, 2048, 2050, 2052)로부터의 제어 정보는, 예를 들면, 단편적으로, 제어 정보가 사용되는 단계(2034)의 대응하는 제 1 스트림 콘텐트 약간 전에 전송된다. 몇몇 다른 실시예들에서, 제어 정보의 블록은 제 1 콘텐트 스트림의 수신의 시작 전 또는 그와 동시에 수신된다.In some embodiments, control information from steps 2038, 2040, 2042, 2044, 2046, 2048, 2050, 2052 is used, for example, piecemeal, to the corresponding portion of step 2034 for which the control information is used. It is transmitted slightly before the first stream content. In some other embodiments, the block of control information is received prior to or concurrently with the start of reception of the first content stream.

단계(2058)에서, 콘텐트 재생 시스템은 환경의 제 1 부분 뷰, 예를 들면, 전방 부분 뷰에 대응하는 제 1 콘텐트 스트림으로부터 수신된 콘텐트, 환경의 제 1 후방 뷰 부분에 대응하는 저장된 수신 이미지, 환경의 제 2 후방 뷰 부분에 대응하는 저장된 수신 이미지, 환경의 하늘 뷰 분에 대응하는 저장된 수신 이미지, 환경의 지상 뷰 부분에 대응하는 저장된 수신 이미지, 또는 이미지가 이용 가능하지 않은 현재 시야의 일 부분에 대응하는 합성된 이미지, 중 적어도 하나에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성한다. 단계(2058)는 단계들(2060, 2062, 2064, 2066, 2068, 2076, 2078)을 포함한다.At step 2058, the content playback system displays a first partial view of the environment, e.g., content received from the first content stream corresponding to the front partial view, a stored received image corresponding to the first rear view portion of the environment, a stored received image corresponding to a second rear view portion of the environment, a stored received image corresponding to a sky view portion of the environment, a stored received image corresponding to a ground view portion of the environment, or a portion of the current field of view for which no image is available. One or more output images corresponding to the current field of view are generated based on at least one of the corresponding synthesized images. Step 2058 includes steps 2060, 2062, 2064, 2066, 2068, 2076, and 2078.

단계(2060)에서, 콘텐트 재생 시스템은, 현재 시야에 기초하여, 예를 들면, 하나 이상의 출력 이미지들을 생성하는 데 사용될 이용 가능한 데이터가 존재하는 뷰 부분들의 일 세트를 결정한다. 몇몇 예시적인 결정된 세트들은, 예를 들면, {}, {정면 뷰 부분}, {제 1 후방 뷰 부분}, {제 2 후방 뷰 부분}, {하늘 뷰 부분}, {지상 뷰 부분}, {전방 뷰 부분, 하늘 뷰 부분}, {전방 뷰 부분, 지상 뷰 부분}, {전방 뷰 부분, 제 1 후방 뷰 부분}, {전방 뷰 부분, 제 2 후방 뷰 부분}, {전방 뷰 부분, 제 1 후방 뷰 부분, 하늘 뷰 부분}, {전방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분}, {전방 뷰 부분, 제 1 후방 뷰 부분, 지상 뷰 부분}, {전방 뷰 부분, 제 2 후방 뷰 부분, 지상 뷰 부분}, {제 1 후방 뷰 부분, 하늘 뷰 부분}, {제 1 후방 뷰 부분, 지상 뷰 부분}, {제 1 후방 뷰 부분, 제 2 후방 뷰 부분}, {제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분}, {제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 지상 뷰 부분}, {제 2 후방 뷰 부분, 하늘 뷰 부분}, 및 {제 2 후방 뷰 부분, 지상 뷰 부분}을 포함한다.At step 2060, the content playback system determines, based on the current field of view, a set of view portions for which there is available data to be used to generate one or more output images, for example. Some example determined sets include, for example: {}, {front view portion}, {first rear view portion}, {second rear view portion}, {sky view portion}, {ground view portion}, {front view portion} view portion, sky view portion}, {front view portion, ground view portion}, {front view portion, first rear view portion}, {front view portion, second rear view portion}, {front view portion, first rear view portion view portion, sky view portion}, {front view portion, second rear view portion, sky view portion}, {front view portion, first rear view portion, ground view portion}, {front view portion, second rear view portion , ground view portion}, {first rear view portion, sky view portion}, {first rear view portion, ground view portion}, {first rear view portion, second rear view portion}, {first rear view portion , second rear view portion, sky view portion}, {first rear view portion, second rear view portion, ground view portion}, {second rear view portion, sky view portion}, and {second rear view portion, Includes a ground view portion}.

동작은 단계(2060)로부터 단계(2062)로 진행한다. 단계(2062)에서, 콘텐트 재생 시스템은, 다음의 두 개의 조건들이 만족되는지의 여부를 결정한다:(ⅰ) 단계(2060)로부터 뷰 부분들의 결정된 세트가 단지 제 1 뷰 부분만을 포함하는 것, 및 (ⅱ) 제 1 뷰 부분 외부에 현재 시야의 부분들이 존재하지 않는 것. 결정된 세트가 단지 제 1 뷰 부분을 포함하고 제 1 뷰 부분 외부에 현재 시야의 부분들이 존재하지 않는 것을 결정하는 경우, 동작은 단계(2062)로부터 단계(2064)로 진행하고; 그렇지 않은 경우, 동작은 단계(2062)로부터 단계(2066)로 진행한다.Operation proceeds from step 2060 to step 2062. At step 2062, the content playback system determines whether the following two conditions are met: (i) the determined set of view portions from step 2060 includes only the first view portion, and (ii) There are no parts of the current field of view outside the first view part. If it is determined that the determined set includes only the first view portion and that there are no portions of the current field of view outside the first view portion, then operation proceeds from step 2062 to step 2064; Otherwise, operation proceeds from step 2062 to step 2066.

단계(2064)에서, 콘텐트 재생 시스템은 제 1 콘텐트 스트림으로부터 수신된 콘텐트에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성한다.At step 2064, the content playback system generates one or more output images corresponding to the current field of view based on content received from the first content stream.

단계(2066)에서, 콘텐트 재생 시스템은 이미지가 이용 가능하지 않은 상기 현재 시야의 임의의 부분이 존재하는지를 결정한다. 콘텐트 재생 시스템이 이미지가 이용 가능하지 않은 현재 시야의 적어도 일 부분이 존재한다고 결정하는 경우, 동작은 단계(2066)로부터 단계(2076)로 진행하고; 그렇지 않은 경우, 동작은 단계(2066)로부터 단계(2078)로 진행한다.At step 2066, the content playback system determines whether there are any portions of the current field of view for which images are not available. If the content playback system determines that there is at least a portion of the current field of view for which an image is not available, then operation proceeds from step 2066 to step 2076; Otherwise, operation proceeds from step 2066 to step 2078.

단계(2068)에서, 콘텐트 재생 시스템은 하나 이상의 출력 이미지들을 생성할 시 사용될 뷰 부분의 결정된 세트에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성한다. 단계(2068)는 단계(2070)를 포함할 수 있고, 때때로 그를 포함하고, 여기서 제 1 콘텐트 스트림에 포함된 적어도 일부 수신된 콘텐트 및 상기 환경의 제 2 부분에 대응하는 저장된 콘텐트에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성한다. 몇몇 실시예들에서, 단계(2070)는 단계들(2072, 2074) 중 하나 또는 둘 모두를 포함한다. 단계(2072)에서, 콘텐트 재생 시스템은 수신된 이미지 선택 정보에 기초하여 환경의 제 2 부분 뷰에 대응하는 이미지를 선택한다. 동작은 단계(2072)로부터 단계(2074)로 진행한다. 단계(2074)에서, 콘텐트 재생 시스템은 제 2 시점에서 캡처된 상기 제 1 콘텐트 스트림으로부터 획득된 콘텐트를 상기 제 1 시점에 대응하는 제 1 이미지와 조합하고, 상기 제 1 및 제 2 시점은 상이하다.At step 2068, the content playback system generates one or more output images corresponding to the current field of view based on the determined set of view portions to be used in generating the one or more output images. Step 2068 may include, and sometimes includes, step 2070, wherein the current field of view is determined based on at least some received content included in the first content stream and stored content corresponding to the second portion of the environment. Generate one or more output images corresponding to . In some embodiments, step 2070 includes one or both of steps 2072 and 2074. At step 2072, the content playback system selects an image corresponding to the second partial view of the environment based on the received image selection information. Operation proceeds from step 2072 to step 2074. At step 2074, the content playback system combines content obtained from the first content stream captured at a second viewpoint with a first image corresponding to the first viewpoint, wherein the first and second viewpoints are different. .

몇몇 실시예들에서, 제 1 이미지는 환경의 제 2 부분의 제 1 이미지이고, 제 2 부분은 환경의 제 1 후방 뷰 부분 및 환경의 제 2 후방 뷰 부분 중 하나이다. 몇몇 이러한 실시예들에서, 제 1 시점은 제 2 시점에 선행하는 시간에 대응한다. 몇몇 이러한 실시예들에서, 제 1 시점은 제 1 콘텐트 스트림들의 이미지들이 캡처되는 동안 실시간 이벤트의 시간에 선행한다.In some embodiments, the first image is a first image of a second portion of the environment, and the second portion is one of a first rear view portion of the environment and a second rear view portion of the environment. In some such embodiments, the first time point corresponds to a time preceding the second time point. In some such embodiments, the first time point precedes the time of a real-time event during which images of the first content streams are captured.

단계(2076)로 돌아가면, 단계(2076)는 이미지가 이용 가능하지 않은 각각의 부분에 대해 수행된다. 단계(2076)에서, 콘텐트 재생 시스템은 이미지가 이용 가능하지 않은 상기 현재 시야의 일 부분에 대한 이미지를 합성한다. 동작은 단계(2076)로부터 단계(2078)로 진행한다. 단계(2078)에서, 콘텐트 재생 시스템은 하나 이상의 출력 이미지들 및/또는 하나 이상의 합성된 이미지들을 생성할 때 사용될 환경의 뷰 부분의 결정된 세트에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성한다. 단계(2078)에 의해 생성된 출력 이미지들은: 전체로 합성된 이미지; 합성된 이미지로부터의 콘텐트 및 제 1 콘텐트 스트림으로부터의 콘텐트를 포함하는 이미지; 합성된 이미지로부터의 콘텐트, 제 1 콘텐트 스트림으로부터의 콘텐트, 및 저장된 이미지로부터의 콘텐트를 포함하는 이미지; 및 합성된 이미지로부터의 콘텐트 및 저장된 이미지로부터의 콘텐트를 포함하는 이미지를 포함할 수 있다. 다양한 실시예들에서, 단계(2078)는 단계들(2080, 2082) 중 하나 또는 둘 모두를 포함할 수 있고, 때때로 그를 포함한다.Returning to step 2076, step 2076 is performed for each portion for which an image is not available. At step 2076, the content playback system composites an image for the portion of the current field of view for which an image is not available. Operation proceeds from step 2076 to step 2078. At step 2078, the content playback system generates one or more output images corresponding to the current field of view based on the determined set of view portions of the environment to be used in generating one or more output images and/or one or more composited images. . The output images produced by step 2078 are: a fully composited image; an image including content from a composite image and content from a first content stream; an image including content from a composited image, content from a first content stream, and content from a stored image; and an image including content from a synthesized image and content from a stored image. In various embodiments, step 2078 may include, and sometimes includes, one or both of steps 2080 and 2082.

단계(2080)에서, 콘텐트 재생 시스템은 제 1 콘텐트 스트림에 포함된 적어도 몇몇 수신된 콘텐트에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들 및 환경의 일 부분, 예를 들면, 제 2 부분을 시뮬레이션하는 합성 이미지를 생성한다. 단계(2080)에서, 콘텐트 재생 디바이스는 현재 시야에 대응하는 이미지를 생성하기 위해 합성된 이미지를 수신된 이미지의 적어도 일 부분과 조합한다.At step 2080, the content playback system simulates one or more output images corresponding to the current field of view and a portion, e.g., a second portion, of the environment based on at least some received content included in the first content stream. Create a composite image that At step 2080, the content playback device combines the composited image with at least a portion of the received image to generate an image corresponding to the current field of view.

현재 시야는 시간에 따라 변할 수 있고 일반적으로 그렇다는 것이 이해되어야 한다. 현재 시야의 변경들에 응답하여, 출력 이미지를 생성하기 위해 사용되는 뷰 부분들의 상이한 세트들은 단계(2060)에서 결정될 수 있고, 상이한 이미지들이 존재하는 것이 요구될 수 있고, 예를 들면, 이미지가 존재하지 않는 시야의 상이한 부분에 대응하여, 단계(2076)에서 합성된다. 또한, 수신된 제어 정보에 기초하여 상이한 시간들에서, 상이한 저장된 이미지들은 상이한 시간들에 조합된 출력 이미지를 생성할 때 사용되기 위해 식별될 수 있다.It should be understood that current visibility can and usually does change over time. In response to changes in the current field of view, different sets of view portions to be used to generate the output image may be determined at step 2060 and different images may be required to exist, e.g. Corresponding to different parts of the field of view that are not present, the composite is performed at step 2076. Additionally, at different times based on the control information received, different stored images may be identified for use in generating a combined output image at different times.

동작은 단계(2058)로부터, 접속 노드 E(2084)를 통해, 단계(2086)로 진행하고, 여기서 콘텐트 재생 시스템은 생성된 하나 이상의 출력 이미지들을 출력 및/또는 디스플레이한다. 단계(2086)는 콘텐트 재생 시스템이 제 1 출력 이미지를 출력 및/또는 디스플레이하는 단계(2088)를 포함하고, 상기 제 1 출력 이미지는 하나 이상의 생성된 출력 이미지들 중 하나이다.Operation proceeds from step 2058, via connection node E 2084, to step 2086, where the content playback system outputs and/or displays the one or more output images generated. Step 2086 includes a step 2088 wherein the content playback system outputs and/or displays a first output image, the first output image being one of one or more generated output images.

몇몇 실시예들에서, 현재 시야에 대응하는, 예를 들면, 단계(2070)에서 생성된, 생성된 출력 이미지는 환경의 제 1 부분, 환경의 제 2 부분, 및 환경의 제 3 부분으로부터의 정보를 포함할 수 있고, 때때로 그를 포함한다. 몇몇 실시예들에서, 제 1 콘텐트 스트림에 대응하는 환경의 제 1 부분은 정면 뷰 부분이고, 환경의 제 2 부분은, 환경의, 제 1 후방 뷰 부분, 예를 들면, 오른쪽 후방 뷰 부분, 및 제 2 후방 뷰 부분, 예를 들면, 왼쪽 후방 뷰 부분 중 하나이고, 환경의 제 3 부분은 환경의 하늘 뷰 부분 및 지상 뷰 부분 중 하나이다. 몇몇 이러한 실시예들에서, 상기 제 1 부분에 대응하는 콘텐트는 이벤트가 진행중인 동안 상기 재생 시스템에 캡처 및 스트리밍된 실시간 콘텐트를 포함하고, 상기 제 2 및 제 3 부분들에 대응하는 콘텐트는 비실시간 이미지들이다.In some embodiments, the generated output image corresponding to the current field of view, e.g., generated in step 2070, includes information from the first portion of the environment, the second portion of the environment, and the third portion of the environment. May include, and sometimes includes him. In some embodiments, the first portion of the environment corresponding to the first content stream is a front view portion, the second portion of the environment is a first rear view portion of the environment, e.g., a right rear view portion, and The second rear view portion is, for example, one of the left rear view portions, and the third portion of the environment is one of the sky view portion and the ground view portion of the environment. In some such embodiments, the content corresponding to the first portion includes real-time content captured and streamed to the playback system while an event is in progress, and the content corresponding to the second and third portions includes non-real-time images. admit.

다양한 실시예들에서, 현재 시야에 대응하는 출력 이미지를 생성하기 위한 콘텐트의 조합은 하나 이상의 경계 영역들에서, 예를 들면, 환경의 정면 뷰 부분에 대응하는 제 1 콘텐트 스트림으로부터 획득된 이미지, 환경의 제 1 후방 뷰 부분에 대응하는 저장된 이미지, 환경의 제 2 후방 뷰 부분에 대응하는 저장된 이미지, 환경의 하늘 뷰 부분에 대응하는 저장된 이미지, 환경의 지상 뷰 부분에 대응하는 저장된 이미지, 및 이미지가 존재하지 않는 현재 시야 내 영역에 대응하는 합성된 이미지 중 임의의 두 개 사이의 경계 영역에서 필터링, 블러링, 휘도 변동들, 및/또는 컬러 변동들을 수행하는 것을 포함한다.In various embodiments, the combination of content to produce an output image corresponding to the current field of view may include images obtained from the first content stream in one or more boundary regions, e.g., corresponding to a frontal view portion of the environment, the environment a stored image corresponding to a first rear view portion of the environment, a stored image corresponding to a second rear view portion of the environment, a stored image corresponding to a sky view portion of the environment, a stored image corresponding to a ground view portion of the environment, and an image. and performing filtering, blurring, luminance fluctuations, and/or color fluctuations in a boundary region between any two of the composited images corresponding to a region in the current field of view that does not exist.

몇몇 실시예들에서, 제 1, 예를 들면, 제 1 콘텐트 스트림에 대응하는 정면 뷰 부분에 의해 포함되지 않는 환경의 몇몇 부분들, 및 수신된 이미지들이 저장되는 하나 이상의 추가 부분들이 존재한다. 다양한 실시예들에서, 환경의 이들 포함되지 않은 부분들에 대해, 이미지가 합성된다. 예를 들면, 일 실시예에서, 하늘 뷰 부분에 대응하는 저장된 이미지가 존재하지 않을 수 있고, 현재 시야가 하늘 뷰의 일 부분을 포함할 때, 이미지가 합성된다. 다른 예에서, 데드 스팟(dead spot), 예를 들면, 제 1 후방 뷰 부분과 제 2 후방 뷰 부분 사이의 포함되지 않은 영역이 존재할 수 있다. 몇몇 실시예들에서, 이미지를 합성하는 것은 이미지의 일 부분, 환경에서 인접 영역에 대응하는 수신된 제 1 콘텐트 스트림으로부터 획득된 이미지의 일 부분 또는 저장된 이미지의 일 부분을 반복하는 것을 포함한다.In some embodiments, there are some parts of the environment that are not covered by the first, eg frontal view part corresponding to the first content stream, and one or more additional parts in which the received images are stored. In various embodiments, images are composited for these unincluded portions of the environment. For example, in one embodiment, when a stored image corresponding to a portion of the sky view may not exist and the current field of view includes a portion of the sky view, the image is composited. In another example, a dead spot may exist, for example an unincluded area between the first rear view portion and the second rear view portion. In some embodiments, compositing an image includes repeating a portion of an image, a portion of an image obtained from a received first content stream that corresponds to an adjacent region in the environment, or a portion of a stored image.

몇몇 실시예들에서, 단계(2034)에서 수신된 제 1 이미지 콘텐트는, 예를 들면 왼쪽 및 오른쪽 눈들의 쌍들이 수신되는, 왼쪽 눈 이미지 및 오른쪽 눈 이미지를 포함하는 입체 영상 이미지 콘텐트이다. 몇몇 이러한 실시예들에서, 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분, 및 지상 뷰 부분들에 대응하는 수신 및 저장된 이미지들은 왼쪽 눈 이미지들 및 오른쪽 눈 이미지들을, 예를 들면, 쌍들로 포함한다. 따라서, 예를 들면, 단계(2070)에서, 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성할 때, 제 1 뷰 부분, 예를 들면, 정면 뷰 부분에 대응하는 제 1 콘텐트 스트림으로부터의 왼쪽 눈 이미지들은 환경의 하나 이상의 다른 부분들에 대응하는 저장된 왼쪽 눈 이미지들과 조합되고, 제 1 뷰 부분, 예를 들면, 정면 뷰 부분에 대응하는 제 1 콘텐트 스트림으로부터의 오른쪽 눈 이미지들은 환경의 하나 이상의 다른 부분들에 대응하는 저장된 오른쪽 이미지들과 조합된다.In some embodiments, the first image content received at step 2034 is stereoscopic image content including a left eye image and a right eye image, for example, with pairs of left and right eyes being received. In some such embodiments, the received and stored images corresponding to the first rear view portion, second rear view portion, sky view portion, and ground view portions include left eye images and right eye images, e.g. Includes pairs. Thus, for example, in step 2070, when generating one or more output images corresponding to the current field of view, a left eye image from the first content stream corresponding to a first view portion, e.g., a frontal view portion. are combined with stored left eye images corresponding to one or more other portions of the environment, and right eye images from the first content stream corresponding to the first view portion, e.g., a frontal view portion, are combined with stored left eye images corresponding to one or more other portions of the environment. The parts are combined with the stored right images corresponding to them.

몇몇 다른 실시예들에서, 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분, 및 지상 뷰 부분들에 대응하는 수신 및 저장된 이미지들은 이미지들의 원래의 쌍으로부터 왼쪽 눈 이미지 또는 오른쪽 눈 이미지 중 하나를 포함하거나 또는 예를 들면, 뷰 부분을 캡처하기 위해 단독으로 동작하는 단일 카메라로부터 단일(모노) 이미지를 포함한다. 따라서, 이러한 일 실시예에서, 예를 들면, 단계(2070)에서, 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성할 때, 제 1 콘텐트 스트림으로부터의 왼쪽 눈 이미지 및 예를 들면, 정면 부분에 대응하는, 제 1 콘텐트 스트림으로부터의 대응하는 오른쪽 눈 이미지 둘 모두는 다른 뷰 부분으로부터의 동일한 저장 이미지와 조합된다.In some other embodiments, the received and stored images corresponding to the first rear view portion, the second rear view portion, the sky view portion, and the ground view portion are either a left eye image or a right eye image from the original pair of images. Contains one or more single (mono) images, for example from a single camera operating alone to capture a portion of the view. Accordingly, in one such embodiment, for example, at step 2070, when generating one or more output images corresponding to the current field of view, the left eye image from the first content stream and corresponding to, for example, the frontal portion. wherein both corresponding right eye images from the first content stream are combined with the same stored image from the other view portion.

또 다른 실시예들에서, 저장된 이미지들 중 몇몇은 왼쪽 및 오른쪽 눈 이미지 쌍들 모두를 포함하고, 다른 것들은 하나의 저장된 이미지들을 포함한다. 예를 들면, 제 1 후방 뷰 부분에 대응하는 수신된 저장된 수신된 이미지들은 왼쪽 및 오른쪽 눈 이미지들의 쌍들을 포함할 수 있고, 반면에 하늘 뷰 부분에 대응하는 저장된 수신 이미지들은 단일 이미지들, 예를 들면, 쌍들보다는 모노 이미지들을 포함할 수 있다.In still other embodiments, some of the stored images include both left and right eye image pairs, while others include single stored images. For example, the stored received images corresponding to the first rear view portion may include pairs of left and right eye images, while the stored received images corresponding to the sky view portion may include single images, e.g. For example, it may contain mono images rather than pairs.

몇몇 실시예들에서, 예를 들면, 수신된 제 1 콘텐트 스트림에 대응하는 환경의 제 1 부분은 정면 뷰 부분이고, 환경의 제 2 부분은 후방 뷰 부분, 예를 들면, 뷰어의 오른쪽 후방에 대응하는 제 1 후방 뷰 부분 또는 뷰어의 왼쪽 후방에 대응하는 제 2 후방 뷰 부분이고, 환경의 제 3 부분은 하늘 뷰 부분 또는 지상 뷰 부분이다. 몇몇 이러한 실시예들에서, 이미지들은 제 1, 제 2, 및 제 3 부분들에 대응하는 상이한 레이트들에서 수신되고, 더 많은 이미지들이 상기 제 2 부분보다 상기 제 1 부분에 대응하는 이벤트에 대해 수신된다. 몇몇 이러한 실시예들에서, 더 많은 이미지들이 상기 제 3 부분보다 상기 제 2 부분에 대응하여 수신된다.In some embodiments, the first portion of the environment, e.g., corresponding to the received first content stream, is a front view portion, and the second portion of the environment is a rear view portion, e.g., corresponding to the right rear of the viewer. is the first rear view portion or the second rear view portion corresponding to the left rear of the viewer, and the third portion of the environment is the sky view portion or the ground view portion. In some such embodiments, images are received at different rates corresponding to the first, second, and third portions, and more images are received for an event corresponding to the first portion than to the second portion. do. In some such embodiments, more images are received corresponding to the second portion than to the third portion.

몇몇 실시예들에 따라, 콘텐트 재생 시스템을 동작시키는 일 예시적인 방법은: 현재 시야에 대응하는 뷰어의 머리 위치를 결정하는 단계; 환경의 제 1 부분에 대응하는 콘텐트를 제공하는 제 1 콘텐트 스트림을 수신하는 단계; 상기 제 1 콘텐트 스트림에 포함된 적어도 몇몇 수신된 콘텐트 및 ⅰ) 상기 환경의 제 2 부분에 대응하는 저장된 콘텐트 또는 ⅱ) 상기 환경의 제 2 부분을 시뮬레이션하는 합성 이미지에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하는 단계; 및 제 1 출력 이미지를 출력 또는 디스플레이하는 단계로서, 상기 제 1 출력 이미지는 하나 이상의 생성된 출력 이미지들 중 하나인, 상기 출력 또는 디스플레이하는 단계를 포함한다. 몇몇 실시예들에서, 콘텐트 재생 시스템은 콘텐트 재생 디바이스이다. 몇몇 실시예들에서, 콘텐트 재생 시스템은 디스플레이에 결합된 컴퓨터 시스템이다.According to some embodiments, one example method of operating a content playback system includes: determining a viewer's head position corresponding to the current field of view; Receiving a first content stream providing content corresponding to a first portion of the environment; At least some received content included in the first content stream and one corresponding to the current field of view based on i) stored content corresponding to a second portion of the environment or ii) a composite image simulating the second portion of the environment generating the above output images; and outputting or displaying a first output image, wherein the first output image is one of one or more generated output images. In some embodiments, the content playback system is a content playback device. In some embodiments, the content playback system is a computer system coupled to the display.

다양한 실시예들에서, 방법은: 상기 환경의 제 2 부분에 대응하는 제 1 이미지를 수신하는 단계; 및 상기 환경의 상기 제 2 부분에 대응하는 상기 제 1 이미지를 저장하는 단계를 추가로 포함한다.In various embodiments, the method includes: receiving a first image corresponding to a second portion of the environment; and storing the first image corresponding to the second portion of the environment.

몇몇 실시예들에서, 상기 환경의 상기 제 2 부분의 상기 제 1 이미지는 제 1 시점에 대응하고; 현재 시야에 대응하여 하나 이상의 출력 이미지들을 생성하는 것은 제 2 시점에서 캡처된 상기 제 1 콘텐트 스트림으로부터 획득된 콘텐트를 상기 제 1 시점에 대응하는 상기 제 1 이미지와 조합하는 것을 포함하고, 상기 제 1 및 제 2 시점들은 상이하다. 몇몇 이러한 실시예들에서, 상기 제 1 시점은 상기 제 2 시점에 선행하는 시간에 대응한다. 몇몇 이러한 실시예들에서, 상기 제 1 시점은 상기 제 1 콘텐트 스트림에 포함된 이미지들이 캡처되는 동안 실시간 이벤트의 시간에 선행한다.In some embodiments, the first image of the second portion of the environment corresponds to a first viewpoint; Generating one or more output images corresponding to the current field of view includes combining content obtained from the first content stream captured at a second viewpoint with the first image corresponding to the first viewpoint, and and the second time points are different. In some such embodiments, the first time point corresponds to a time preceding the second time point. In some such embodiments, the first point in time precedes the time of a real-time event during which images included in the first content stream were captured.

다양한 실시예들에서, 방법은 상기 환경의 상기 제 2 부분에 대응하는 하나 이상의 추가의 이미지들을 수신하는 단계를 추가로 포함하고, 상기 환경의 상기 제 2 부분에 대응하는 상기 하나 이상의 추가의 이미지들은 적어도 제 2 이미지를 포함한다.In various embodiments, the method further includes receiving one or more additional images corresponding to the second portion of the environment, wherein the one or more additional images corresponding to the second portion of the environment are: Contains at least a second image.

몇몇 실시예들에서, 방법은 상기 환경의 상기 제 2 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에 나타내진 재생 시간에 관해 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하는 단계를 포함한다.In some embodiments, the method is configured to indicate which of a plurality of previously delivered images corresponding to the second portion of the environment should be displayed for a playback time measured relative to the playback time indicated in the first content stream. and receiving control information.

몇몇 실시예들에서, 상기 환경의 제 2 부분은 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분 또는 지상 뷰 부분 중 하나이다. 몇몇 이러한 실시예들에서, 방법은 상기 환경의 제 3 부분에 대응하는 하나 이상의 이미지들을 수신하는 단계를 추가로 포함한다.In some embodiments, the second portion of the environment is one of a first rear view portion, a second rear view portion, a sky view portion, or a ground view portion. In some such embodiments, the method further includes receiving one or more images corresponding to the third portion of the environment.

다양한 실시예들에서, 상기 환경의 상기 제 1 부분은 정면 뷰 부분이고; 상기 제 3 부분은 하늘 뷰 또는 지상 뷰 부분 중 하나이고, 이미지들은 상기 제 1, 제 2, 및 제 3 부분들에 대응하는 상이한 레이트들에서 수신되고, 더 많은 이미지들이 상기 제 2 부분에 대해서보다 상기 제 1 부분에 대응하는 이벤트에 대해 수신된다.In various embodiments, the first portion of the environment is a front view portion; The third portion is either a sky view or a ground view portion, and images are received at different rates corresponding to the first, second, and third portions, with more images than for the second portion. An event corresponding to the first part is received.

다양한 실시예들에서, 상기 제 1 부분에 대응하는 상기 콘텐트는 이벤트가 진행중인 동안 상기 재생 디바이스에 캡처 및 스트리밍되는 실시간 콘텐트를 포함하고; 상기 제 2 및 제 3 부분들에 대응하는 상기 이미지들에 대응하는 콘텐트는 비실시간 이미지들이다. 몇몇 이러한 실시예들에서, 환경의 상기 제 2 부분에 대응하는 복수의 이미지들 중 어느 것이 상기 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하고, 적어도 일부 수신된 콘텐트에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하는 것은 수신된 이미지 선택 정보에 기초하여 환경의 상기 제 2 부분에 대응하는 이미지를 선택하는 것을 포함한다.In various embodiments, the content corresponding to the first portion includes real-time content captured and streamed to the playback device while an event is in progress; Content corresponding to the images corresponding to the second and third portions are non-real-time images. In some such embodiments, receive image selection information indicating which of a plurality of images corresponding to the second portion of the environment should be used during the portion of the event, and select a current field of view based at least in part on the received content. Generating one or more output images corresponding to includes selecting an image corresponding to the second portion of the environment based on received image selection information.

다양한 실시예들에서, 예시적인 방법은 이미지가 상기 현재 시야의 일 부분에 대해 이용 가능하지 않다는 것을 결정하는 단계; 이미지가 이용 가능하지 않은 상기 현재 시야의 상기 부분에 대해 사용될 이미지를 합성하는 단계; 및 현재 시야에 대응하는 이미지를 생성하기 위해 수신된 이미지의 적어도 일 부분과 합성된 이미지를 조합하는 단계를 포함한다.In various embodiments, an example method includes determining that an image is not available for a portion of the current field of view; compositing an image to be used for the portion of the current field of view for which an image is not available; and combining the synthesized image with at least a portion of the received image to generate an image corresponding to the current field of view.

다양한 실시예들에서, 상기 제 1 이미지 콘텐트는 왼쪽 눈 이미지 및 오른쪽 눈 이미지를 포함하는 입체 영상 이미지 콘텐트이다.In various embodiments, the first image content is stereoscopic image content including a left eye image and a right eye image.

도 21은 도 1 및 도 7에 도시된 것과 같은 콘텐트 전달 시스템으로부터 수신된 이미징 콘텐트를 수신, 디코딩, 저장, 처리, 및 디스플레이하기 위해 사용될 수 있는 본 발명에 따라 구현된 일 예시적인 콘텐트 재생 시스템(2100)을 도시한다. 시스템(2100)은 디스플레이(2102)를 포함하는 단일 재생 디바이스(2100')로서 또는 외부 디스플레이, 예를 들면, 컴퓨터 시스템(2100')에 결합된 헤드 마운트 디스플레이(2105)와 같은 요소들의 조합으로서 구현될 수 있다.21 illustrates an exemplary content playback system implemented in accordance with the present invention that can be used to receive, decode, store, process, and display imaging content received from a content delivery system such as that shown in FIGS. 1 and 7. 2100). System 2100 may be implemented as a single playback device 2100' that includes a display 2102 or as a combination of elements such as an external display, e.g., a head mounted display 2105 coupled to computer system 2100'. It can be.

콘텐트 재생 시스템(2100)은, 적어도 몇몇 실시예들에서, 3D 헤드 마운트 디스플레이이다. 헤드 마운트 디스플레이는 헤드 마운트 디스플레이(2105)를 포함할 수 있는 OCULUS RIFTTM VR(가상 현실) 헤드셋을 사용하여 구현될 수 있다. 다양한 실시예들에서, 헤드 마운트 디스플레이(2105)는 헤드 마운트 디스플레이(805)와 동일하다. 다른 헤드 마운트 디스플레이들이 또한 사용될 수 있다. 몇몇 실시예들에서, 헤드 마운트 헬멧 또는 다른 헤드 마운팅 디바이스의 하나 이상의 디스플레이 스크린들은 사용자의 왼쪽 및 오른쪽 눈들에 콘텐트를 디스플레이하기 위해 사용된다. 단일 스크린의 상이한 부분들을 상이한 눈들에 노출하도록 구성된 헤드 마운트에 의해 상이한 이미지들을 단일 스크린상에 왼쪽 및 오른쪽 눈들에 디스플레이함으로써, 단일 디스플레이는 뷰어의 왼쪽 및 오른쪽 눈들에 의해 개별적으로 인식될 왼쪽 및 오른쪽 눈 이미지들을 디스플레이하기 위해 사용될 수 있다. 몇몇 실시예들에서, 휴대 전화 스크린은 헤드 마운트 디스플레이 디바이스의 디스플레이로서 사용된다. 적어도 몇몇 이러한 실시예들에서, 휴대 전화는 헤드 마운팅 디바이스로 삽입되고, 휴대 전화는 이미지들을 디스플레이하기 위해 사용된다.Content playback system 2100 is, in at least some embodiments, a 3D head mounted display. The head mounted display may be implemented using an OCULUS RIFT VR (virtual reality) headset, which may include a head mounted display 2105. In various embodiments, head mounted display 2105 is the same as head mounted display 805. Other head mounted displays may also be used. In some embodiments, one or more display screens of a head mounted helmet or other head mounting device are used to display content to the user's left and right eyes. By displaying different images to the left and right eyes on a single screen by a head mount configured to expose different portions of the single screen to the different eyes, a single display can be perceived separately by the left and right eyes of the viewer. Can be used to display images. In some embodiments, a mobile phone screen is used as the display of a head mounted display device. In at least some of these embodiments, a mobile phone is inserted into a head mounting device, and the mobile phone is used to display images.

콘텐트 재생 시스템(2100)은 수신된 인코딩된 이미지 데이터, 예를 들면, 환경 또는 장면의 상이한 부분들에 대응하는 왼쪽 및 오른쪽 눈 이미지들 및/또는 모노(단일 이미지들)를 디코딩하고, 예를 들면, 사용자에 의해 인식되는 상이한 왼쪽 및 오른쪽 눈 뷰들을 3D 이미지로서 렌더링 및 디스플레이함으로써, 고객에게 디스플레이하기 위한 3D 이미지를 생성하기 위한 능력을 갖는다. 콘텐트 재생 시스템(2100)은 몇몇 실시예들에서 가정 또는 사무실과 같은 고객 구내 위치에 위치되지만 이미지 캡처 사이트에도 또한 위치될 수 있다. 콘텐트 재생 시스템(2100)은 본 발명에 따라 신호 수신, 디코딩, 처리, 생성, 디스플레이 및/또는 다른 동작드을 수행할 수 있다.Content playback system 2100 decodes the received encoded image data, for example left and right eye images and/or mono (single images) corresponding to different parts of the environment or scene, for example , has the ability to generate a 3D image for display to a customer by rendering and displaying the different left and right eye views perceived by the user as a 3D image. Content playback system 2100 is located at a customer premises location, such as a home or office, in some embodiments, but may also be located at an image capture site. Content playback system 2100 may receive, decode, process, generate, display, and/or perform other operations in accordance with the present invention.

시스템(2100)은 디스플레이(2102), 디스플레이 디바이스 인터페이스(2013), 입력 디바이스(2104), 입력/출력(I/O) 인터페이스(2106), 프로세서(2108), 네트워크 인터페이스(2110), 및 메모리(2112)를 포함한다. 메모리(2112)는 모듈들의 어셈블리(2114), 예를 들면, 소프트웨어 모듈들의 어셈블리, 및 데이터/정보(2116)를 포함한다. 몇몇 실시예들에서, 시스템(2100)은 모듈들의 어셈블리(2115), 예를 들면, 하드웨어 모듈들의 어셈블리, 예를 들면, 회로들을 포함한다. 시스템(2100)의 다양한 구성 요소들은 데이터가 시스템(2100)의 구성 요소들 사이에 전달되게 하는 버스(2109)를 통해 및/또는 다른 접속들에 의해 또는 무선 인터페이스를 통해 함께 결합된다. 몇몇 실시예들에서, 디스플레이(2102)는 대시 박스를 사용하여 도시되는 선택 요소로서 포함되지만, 몇몇 실시예들에서, 외부 디시플레이 디바이스(2105), 예를 들면, 헤드 마운트 입체 영상 디스플레이 디바이스는 디스플레이 디바이스 인터페이스(2103)를 통해 재생 디바이스에 결합될 수 있다.System 2100 includes a display 2102, a display device interface 2013, an input device 2104, an input/output (I/O) interface 2106, a processor 2108, a network interface 2110, and memory ( 2112). Memory 2112 includes an assembly of modules 2114, eg, software modules, and data/information 2116. In some embodiments, system 2100 includes an assembly of modules 2115, e.g., an assembly of hardware modules, e.g., circuits. The various components of system 2100 are coupled together via a bus 2109 and/or other connections that allow data to be transferred between components of system 2100 or via a wireless interface. In some embodiments, display 2102 is included as an optional element shown using a dash box, while in some embodiments, an external display device 2105, e.g., a head mounted stereoscopic display device, is included as an optional element shown using a dash box. It can be coupled to a playback device via device interface 2103.

예를 들면, 휴대 전화 프로세서가 프로세서(2108)로서 사용되고 휴대 전화가 헤드 마운트에 이미지들을 생성 및 디스플레이하는 경우, 시스템은 헤드 마운트 디바이스의 일 부분으로서 프로세서(2108), 디스플레이(2102), 및 메모리(2112)를 포함할 수 있다. 프로세서(2108), 디스플레이(2102), 및 메모리(2112)는 모두 휴대 전화의 일부일 수 있다. 시스템(2100)의 다른 실시예들에서, 프로세서(2108)는 헤드 마운팅 디바이스에 장착되고 게이밍 시스템에 결합되는 디스플레이(2105)를 갖는 XBOX 또는 PS4와 같은 게이밍 시스템의 일부일 수 있다. 프로세서(2108) 및/또는 메모리(2112)가 머리에 쓰는 디바이스에 위치되든지 그렇지 않든지는 이해될 수 있는 바와 같이 중요하지 않고, 반면에 몇몇 경우들에서, 전력, 열, 및 중량 관점으로부터 헤드기어에 프로세서(2108)를 공통 위치시키는 것이 편리할 수 있고, 이는 적어도 몇몇 경우들에서, 디스플레이를 포함하는 헤드 기어에 결합된 프로세서(2108) 및 메모리(2112)를 갖는 것이 바람직할 수 있다.For example, if a mobile phone processor is used as processor 2108 and the mobile phone generates and displays images on a head mount, the system may include processor 2108, display 2102, and memory (2102) as part of the head mounted device. 2112). Processor 2108, display 2102, and memory 2112 may all be part of the mobile phone. In other embodiments of system 2100, processor 2108 may be part of a gaming system, such as an XBOX or PS4, that has a display 2105 mounted on a head mounting device and coupled to the gaming system. As will be appreciated, it is not critical whether the processor 2108 and/or memory 2112 are located in the headgear or not, whereas in some cases they may be placed on the headgear from a power, heat, and weight perspective. It may be convenient to co-locate the processor 2108, and in at least some cases, it may be desirable to have the processor 2108 and memory 2112 coupled to a headgear that includes a display.

다양한 실시예들이 헤드 마운트 디스플레이(2105 또는 2102)를 고려하지만, 방법 및 장치는 3D 이미지를 지원할 수 있는 비헤드 마운트 디스플레이들과 함께 또한 사용될 수 있다. 따라서, 많은 실시예들에서, 시스템(2100)은 헤드 마운트 디스플레이를 포함하지만, 이는 비헤드 마운트 디스플레이에 의해 또한 구현될 수 있다.Although various embodiments contemplate a head mounted display 2105 or 2102, the method and apparatus may also be used with non-head mounted displays that can support 3D images. Accordingly, in many embodiments, system 2100 includes a head mounted display, but it may also be implemented by a non-head mounted display.

메모리(21112)는 다양한 모듈들, 예를 들면, 프로세서(2108)에 의해 실행될 때, 본 발명에 따라 동작들을 수행하도록 콘텐트 재생 시스템(2100)을 제어하는 루틴들을 포함한다. 메모리(2112)는 모듈들의 어셈블리(2114), 예를 들면, 소프트웨어 모듈들의 어셈블리, 및 데이터/정보(2116)를 포함한다.Memory 21112 includes various modules, such as routines that, when executed by processor 2108, control content playback system 2100 to perform operations in accordance with the present invention. Memory 2112 includes an assembly of modules 2114, eg, software modules, and data/information 2116.

데이터 정보(2116)는: 제 1 후방 뷰 부분(2118)에 대응하는 수신된 이미지들, 제 2 후방 뷰 부분(2120)에 대응하는 수신된 이미지들, 하늘 뷰 부분(2112)에 대응하는 수신된 이미지들, 및 지상 뷰 부분(2124)에 대응하는 수신된 이미지들, 모두 중 하나 이상을 포함한다. 후방 뷰 부분(2118 또는 2120)에 대응하는 예시적인 수신된 이미지들은, 예를 들면, 서있는 청중 또는 관객의 이미지, 앉아있는 청중 또는 관객의 이미지, 상이한 가시적 광고를 갖는 이미지들, 응원하는 관중의 이미지들, 등을 포함한다. 하늘 뷰에 대응하는 예시적인 수신된 이미지들은, 예를 들면, 깨끗한 하늘, 상이한 구름 패턴들, 상이한 시간에 대응하는 상이한 어두움의 정도들, 등을 포함한다. 데이터 정보(2116)는: 제 1 후방 뷰 부분(2130)에 대응하는 제어 정보, 제 2 후방 뷰 부분(2132)에 대응하는 수신된 제어 정보, 하늘 뷰 부분(2134)에 대응하는 수신된 제어 정보, 및 지상 뷰 부분(2136)에 대응하는 수신된 제어 정보, 모두 또는 하나 이상을 추가로 포함한다. 데이터 정보(2116)는 결정된 현재 뷰어 머리 위치(2126), 결정된 현재 시야(2128), 예를 들면 정면 뷰 부분에 대응하는 오른쪽 눈 이미지 및 왼쪽 눈 이미지의 쌍들을 포함하는 수신딘 제 1 콘텐트 스트림(2128), 예를 들면, 합성된 이미지(들)(2140) 및 생성된 출력 이미지들(2142)을 조합하기 위해 이용 가능한 적어도 몇몇 수신된 콘텐트가 존재하는 현재 시야에 대응하는 출력 이미지들(2138)을 생성할 때 사용될 뷰 부분들의 결정된 세트를 추가로 포함한다. 생성된 출력 이미지들(2142). 생성된 출력 이미지들은 제 1, 예를 들면, 전방 뷰 부분에 대응하는 제 1 콘텐트 스트림으로부터 조합된 이미지 콘텐트를 포함하고, 예를 들면, 후방 뷰 부분, 하늘 부분, 또는 지상 부분으로부터 수신된 저장된 이미지의 일 부분을 포함하고, 및/또는 합성된 이미지 또는 합성된 이미지의 일 부분을 포함하는 생성된 출력 이미지를 포함할 수 있고, 때때로 상기 생성된 출력 이미지를 포함한다.Data information 2116 includes: received images corresponding to first rear view portion 2118, received images corresponding to second rear view portion 2120, received images corresponding to sky view portion 2112. Includes one or more of both images, and received images corresponding to ground view portion 2124. Exemplary received images corresponding to rear view portion 2118 or 2120 include, for example, images of a standing audience or audience member, images of a seated audience member or audience member, images with different visible advertisements, images of a cheering audience member, etc. Includes fields, etc. Exemplary received images corresponding to sky views include, for example, clear sky, different cloud patterns, different degrees of darkness corresponding to different times, etc. Data information 2116 includes: control information corresponding to the first rear view portion 2130, received control information corresponding to the second rear view portion 2132, and received control information corresponding to the sky view portion 2134. , and received control information corresponding to the ground view portion 2136, all or one or more of them. Data information 2116 includes a received first content stream comprising pairs of right eye images and left eye images corresponding to a determined current viewer head position 2126, a determined current field of view 2128, e.g., a frontal view portion ( 2128), e.g., output images 2138 corresponding to the current field of view for which there is at least some received content available for combining the composited image(s) 2140 and generated output images 2142. It further contains a determined set of view parts to be used when creating the . Generated output images 2142. The generated output images include combined image content from a first content stream corresponding to a first, e.g., front view portion, and a stored image received from, e.g., a rear view portion, sky portion, or ground portion. and/or may include a composited image or a generated output image that includes a portion of the composited image, and sometimes includes the generated output image.

도 22는 일 예시적인 실시예에 따라 도 8의 시스템(800) 또는 도 21의 일 예시적인 콘텐트 재생 시스템(2100)에 포함될 수 있는 모듈들(2200)의 어셈블리의 도면이다. 모듈들(2200)의 어셈블리에서 모듈들은 프로세서(2108) 내하드웨어에서, 예를 들면, 개별적인 회로들로서 완전히 구현될 수 있고, 몇몇 실시예들에서, 그렇게 구현된다. 모듈들(2200)의 어셈블리에서 모듈들은 모듈들의 어셈블리(2115) 내 하드웨어에서, 예를 들면, 상이한 모듈들에 대응하는 개별적인 회로들로서 완전히 구현될 수 있고, 몇몇 실시예들에서 그렇게 구현된다. 다른 실시예들에서, 모듈들의 일부는 프로세서(2108)의 외부에 및 그에 결합된 모듈들의 어셈블리(2115) 내 회로들로서 구현되는 다른 모듈들을 갖는 프로세서(2108) 내, 예를 들면, 회로들로서 구현된다. 이해되는 바와 같이, 프로세서상의 모듈들 및/또는 프로세서 외부에 있는 몇몇 모듈들을 갖는 통합의 레벨은 설계 선택 중 하나일 수 있다.FIG. 22 is a diagram of an assembly of modules 2200 that may be included in system 800 of FIG. 8 or an example content playback system 2100 of FIG. 21 according to an example embodiment. In the assembly of modules 2200, the modules may be, and in some embodiments are, fully implemented as individual circuits, for example, in hardware within processor 2108. The modules in the assembly of modules 2200 may be, and in some embodiments are, fully implemented in hardware within the assembly of modules 2115, for example, as individual circuits corresponding to different modules. In other embodiments, some of the modules are implemented as circuits, e.g., within the processor 2108 with other modules implemented as circuits external to the processor 2108 and within an assembly of modules 2115 coupled thereto. . As will be appreciated, the level of integration with modules on the processor and/or with some modules external to the processor may be one of design choices.

대안적으로, 회로들로서 구현되기보다는, 모듈들 모두 또는 그의 일부는 소프트웨어에서 구현될 수 있고 시스템(2100)의 메모리(2112)에 저장될 수 있고, 모듈들이 프로세서, 예를 들면, 프로세서(2108)에 의해 실행될 때, 모듈들은 모듈들에 대응하는 기능들을 수행하기 위해 시스템(2100)의 동작을 제어한다. 몇몇 이러한 실시예들에서, 모듈들의 어셈블리(2200)는 모듈들의 어셈블리(2114)로서 메모리(2112)에 포함된다. 또 다른 실시예들에서, 모듈들의 어셈블리(2200)의 다양한 모듈들은 하드웨어 및 소프트웨어의 조합으로서 구현되고, 예를 들면, 프로세서의 외부의 다른 회로는 소프트웨어 제어 하에서 모듈들의 기능의 일 부분을 수행하도록 동작하는 프로세서(2108)에 입력을 제공한다. 단일 프로세서, 예를 들면, 컴퓨터로서 도 21 실시예에서 도시되지만, 프로세서(2108)는 하나 이상의 프로세서들, 예를 들면, 컴퓨터들로서 구현될 수 있다는 것이 이해되어야 한다.Alternatively, rather than being implemented as circuits, all or portions of the modules may be implemented in software and stored in memory 2112 of system 2100, where the modules may be connected to a processor, e.g., processor 2108. When executed by, the modules control the operation of system 2100 to perform functions corresponding to the modules. In some such embodiments, assembly of modules 2200 is included in memory 2112 as assembly of modules 2114. In still other embodiments, the various modules of assembly of modules 2200 are implemented as a combination of hardware and software, e.g., other circuitry external to the processor operative to perform a portion of the functionality of the modules under software control. Provides input to processor 2108. Although shown in the FIG. 21 embodiment as a single processor, such as a computer, it should be understood that processor 2108 may be implemented as one or more processors, such as computers.

소프트웨어에서 구현될 때, 모듈들은, 프로세서(2108)에 의해 실행될 때, 프로세서(2108)가 모듈에 대응하는 기능을 수행하도록 구성하는 코드를 포함한다. 모듈들의 어셈블리(2200)가 메모리(2112)에 저장되는 실시예들에서, 메모리(2112)는, 적어도 하나의 컴퓨터, 예를 들면, 프로세서(2108)가 모듈들이 대응하는 기능들을 구현하게 하기 위한 코드, 예를 들면, 각각의 모듈에 대한 개별적인 코드를 포함하는 컴퓨터 판독 가능한 매체를 포함하는 컴퓨터 프로그램 제품이다.When implemented in software, modules include code that, when executed by processor 2108, configures processor 2108 to perform the functions corresponding to the module. In embodiments where the assembly 2200 of modules is stored in memory 2112, memory 2112 contains code for causing at least one computer, e.g., processor 2108, to implement the corresponding functions of the modules. , for example, is a computer program product that includes a computer-readable medium containing individual code for each module.

완전하게 하드웨어 기반 또는 완전하게 소프트웨어 기반 모듈들이 사용될 수 있다. 그러나, 소프트웨어 및 하드웨어의 임의의 조합, 예를 들면, 회로 구현된 모듈들이 기능들을 구현하기 위해 사용될 수 있는 것이 이해되어야 한다. 이해되는 바와 같이, 도 22에 도시된 모듈들은 도 20의 플로차트(2000)의 방법에 도시 및/또는 기술된 대응하는 단계들의 기능들을 수행하도록 시스템(2100) 또는 프로세서(2108)와 같은 그 내부의 요소들을 제어 및/또는 구성한다. 따라서, 모듈들의 어셈블리(2200)는 도 20의 하나 이상의 단계들에 대응하는 기능들을 수행하는 다양한 모듈들을 포함한다.Completely hardware-based or completely software-based modules may be used. However, it should be understood that any combination of software and hardware, such as circuit implemented modules, may be used to implement the functions. As will be appreciated, the modules shown in FIG. 22 may be used by system 2100 or its internal components, such as processor 2108, to perform the functions of the corresponding steps shown and/or described in the method of flowchart 2000 of FIG. 20. Control and/or configure elements. Accordingly, assembly of modules 2200 includes various modules that perform functions corresponding to one or more steps of FIG. 20.

모듈들의 어셈블리(2200)는 뷰어 머리 위치 결정 모듈(2202), 현재 시야 결정 모듈(2204), 콘텐트 스트림 선택 모듈(2206), 콘텐트 스트림 수신 모듈(2208), 이미지 수신 모듈(2210), 수신된 이미지 저장 모듈(2212), 제어 정보 수신 모듈(2214), 출력 이미지 생성 모듈(2216), 출력 모듈(2242), 디스플레이 모듈(2244), 및 제어 루틴들(2246)을 포함한다.The assembly of modules 2200 includes a viewer head position determination module 2202, a current field of view determination module 2204, a content stream selection module 2206, a content stream reception module 2208, an image reception module 2210, and a received image It includes a storage module 2212, a control information reception module 2214, an output image generation module 2216, an output module 2242, a display module 2244, and control routines 2246.

뷰어 머리 위치 결정 모듈(2202)은 뷰어의 머리 위치를 결정하도록 구성되고, 상기 머리 위치는 현재 시야에 대응한다. 현재 시야 결정 모듈(2204)은 상기 결정된 머리 위치에 기초하여 상기 뷰어의 현재 시야를 결정하도록 구성된다.The viewer head position determination module 2202 is configured to determine the viewer's head position, where the head position corresponds to the current field of view. Current field of view determination module 2204 is configured to determine the viewer's current field of view based on the determined head position.

콘텐트 스트림 선택 모듈(2206)은 예를 들면, 사용자, 예를 들면 뷰어, 입력에 기초하여 복수의 대안적인 콘텐트 스트림들 중에서, 콘텐트 스트림을 선택하도록 구성된다. 상이한 콘텐트 스트림들은 상이한 이벤트들에 대응할 수 있다. 다양한 실시예들에서, 동일한 이벤트에 대응하는 상이한 콘텐트 스트림들은, 예를 들면, 뷰어에게 대안적인 정면 뷰 시각들을 제공하기 위해 상이한 방향들로 향하는 상이한 카메라들에 대응한다. 몇몇 실시예에서, 선택될 수 있는 이미지 스트림들 중 적어도 일부는 왼쪽 눈 이미지 및 오른쪽 눈 이미지 쌍들을 포함하는 입체 영상 이미지 콘텐트를 포함한다.Content stream selection module 2206 is configured to select a content stream from a plurality of alternative content streams based on input from a user, such as a viewer. Different content streams may correspond to different events. In various embodiments, different content streams corresponding to the same event correspond, for example, to different cameras pointing in different directions to provide the viewer with alternative frontal view perspectives. In some embodiments, at least some of the image streams that may be selected include stereoscopic image content including left eye image and right eye image pairs.

콘텐트 스트림 수신 모듈(2208)은 일 실시예의 제 1 위치, 예를 들면, 전방 부분 뷰에 대응하는 콘텐트를 제공하는 제 1 콘텐트 스트림을 수신하도록 구성된다. 다양한 실시예들에서, 제 1 콘텐트 스트림에 수신된 제 1 이미지 콘텐트는 왼쪽 눈 이미지 및 오른쪽 눈 이미지의 쌍들을 포함하는 입체 영상 이미지 콘텐트이다.Content stream receiving module 2208 is configured to receive a first content stream providing content corresponding to a first location, eg, a front partial view, of one embodiment. In various embodiments, the first image content received in the first content stream is stereoscopic image content including pairs of a left eye image and a right eye image.

이미지 수신 모듈(2210)은 하나 이상의 상이한 뷰 부분들, 예를 들면, 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분, 및 지상 뷰 부분에 대응하는 이미지들을 수신하도록 구성된다. 이미지 수신 모듈(2210)은 상기 환경의 제 2 부분에 대응하는 제 1 이미지를 수신하도록 구성된다. 몇몇 이러한 실시예들에서, 이미지 수신 모듈은 또한 환경의 상기 제 2 부분에 대응하는 하나 이상의 추가 이미지들을 수신하도록 구성되고, 상기 하나 이상의 추가 이미지들은 적어도 제 2 이미지를 포함하는 환경의 상기 제 2 부분에 대응한다. 몇몇 실시예들에서, 상기 환경의 제 2 부분은 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분, 또는 지상 뷰 부분 중 하나이다. 몇몇 실시예들에서, 상기 환경의 제 2 부분은 제 1 후방 뷰 부분 또는 제 2 후방 뷰 부분 중 하나이다. 몇몇 실시예들에서, 이미지 수신 모듈(2210)은 상기 환경의 제 3 부분에 대응하는 하나 이상의 이미지들을 수신하도록 구성된다. 몇몇 실시예들에서, 환경의 제 1 부분은 정면 뷰 부분이고 환경의 제 3 부분은 하늘 뷰 또는 지상 뷰 부분 중 하나이다.The image receiving module 2210 is configured to receive images corresponding to one or more different view portions, for example, a first rear view portion, a second rear view portion, a sky view portion, and a ground view portion. Image receiving module 2210 is configured to receive a first image corresponding to a second portion of the environment. In some such embodiments, the image receiving module is further configured to receive one or more additional images corresponding to the second portion of the environment, the one or more additional images comprising at least a second image. corresponds to In some embodiments, the second portion of the environment is one of a first rear view portion, a second rear view portion, a sky view portion, or a ground view portion. In some embodiments, the second portion of the environment is either a first rear view portion or a second rear view portion. In some embodiments, image reception module 2210 is configured to receive one or more images corresponding to a third portion of the environment. In some embodiments, the first portion of the environment is a frontal view portion and the third portion of the environment is either a sky view or a ground view portion.

몇몇 실시예들에서, 이미지 수신 모듈(2210)은 상기 환경의 제 1 후방 뷰 부분에 대응하는 제 1 이미지를 수신하도록 구성되고, 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 하나 이상의 추가 이미지들을 수신하도록 또한 구성되고, 상기 제 1 후방 뷰 부분에 대응하는 상기 하나 이상의 추가 이미지들은 상기 제 1 후방 뷰 부분에 대응하는 적어도 하나의 제 2 이미지를 포함한다. 몇몇 실시예들에서, 이미지 수신 모듈(2210)은 상기 환경의 제 2 후방 뷰 부분에 대응하는 제 1 이미지를 수신하도록 구성되고 상기 환경의 상기 제 2 후방 뷰 부분에 대응하는 하나 이상의 추가 이미지들을 수신하도록 또한 구성되고, 상기 제 2 후방 뷰 부분에 대응하는 상기 하나 이상의 추가 이미지들은 상기 제 2 후방 뷰 부분에 대응하는 적어도 하나의 제 2 이미지를 포함한다. 몇몇 실시예들에서, 이미지 수신 모듈(2210)은 상기 환경의 하늘 뷰 부분에 대응하는 하나 이상의 이미지들을 수신하도록 구성된다. 몇몇 실시예들에서, 이미지 수신 모듈(2210)은 상기 환경의 지상 뷰 부분에 대응하는 하나 이상의 이미지들을 수신하도록 구성된다.In some embodiments, image receiving module 2210 is configured to receive a first image corresponding to a first rear view portion of the environment and one or more additional images corresponding to the first rear view portion of the environment. and configured to receive, wherein the one or more additional images corresponding to the first rear view portion include at least one second image corresponding to the first rear view portion. In some embodiments, image receiving module 2210 is configured to receive a first image corresponding to a second rear view portion of the environment and to receive one or more additional images corresponding to the second rear view portion of the environment. and wherein the one or more additional images corresponding to the second rear view portion include at least one second image corresponding to the second rear view portion. In some embodiments, image reception module 2210 is configured to receive one or more images corresponding to a sky view portion of the environment. In some embodiments, image reception module 2210 is configured to receive one or more images corresponding to a ground view portion of the environment.

수신된 이미지 저장 모듈(2212)은 수신된 이미지 저장 모듈(2212)에 의해 수신된 이미지들을 저장하도록 구성된다. 수신된 이미지 저장 모듈(2212)은 환경의 상기 제 2 부분에 대응하는 제 1 이미지를 저장하도록 구성된다. 수신된 이미지 저장 모듈(2212)은 환경의 제 2 부분에 대응하는 하나 이상의 추가 이미지들을 저장하도록 구성된다. 수신된 이미지 저장 모듈(2212)은 상기 환경의 제 3 부분에 대응하는 수신된 하나 이상의 이미지들을 저장하도록 구성된다. 다양한 실시예들에서, 수신된 이미지 저장 모듈(2212)은 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 제 1 이미지, 및 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 하나 이상의 추가 이미지들을 저장하도록 구성된다. 몇몇 실시예들에서, 수신된 이미지 저장 모듈(2212)은 상기 환경의 상기 하늘 뷰 부분에 대응하는 하나 이상의 추가 이미지들을 저장하도록 구성된다. 몇몇 실시예들에서, 수신된 이미지 저장 모듈(2212)은 상기 환경의 상기 지상 뷰 부분에 대응하는 하나 이상의 이미지들을 저장하도록 구성된다.The received image storage module 2212 is configured to store images received by the received image storage module 2212 . The received image storage module 2212 is configured to store the first image corresponding to the second portion of the environment. Received image storage module 2212 is configured to store one or more additional images corresponding to the second portion of the environment. Received image storage module 2212 is configured to store one or more received images corresponding to the third portion of the environment. In various embodiments, received image storage module 2212 stores a first image corresponding to the first rear view portion of the environment, and one or more additional images corresponding to the first rear view portion of the environment. It is configured to do so. In some embodiments, received image storage module 2212 is configured to store one or more additional images corresponding to the sky view portion of the environment. In some embodiments, received image storage module 2212 is configured to store one or more images corresponding to the ground view portion of the environment.

제어 정보 수신 모듈(2214)은 상기 환경의 제 2 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 제 1 콘텐트 스트림에 나타내진 재생 시간들에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하도록 구성된다. 다양한 실시예들에서, 제어 정보 수신 모듈(2214)은 상기 환경의 제 3 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 제 1 콘텐트 스트림에 나타내진 재생 시간들에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하도록 또한 구성된다. 몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 환경의 제 2 부분에 대응하는 복수의 이미지들 중 어느 것이 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하도록 구성된다. 몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 환경의 제 3 부분에 대응하는 복수의 이미지들 중 어느 것이 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하도록 구성된다.The control information receiving module 2214 controls to indicate which of the plurality of previously delivered images corresponding to the second portion of the environment should be displayed for a playback time measured relative to the playback times indicated in the first content stream. Configured to receive information. In various embodiments, the control information receiving module 2214 is configured to determine the playback time of which of the plurality of previously delivered images corresponding to the third portion of the environment is measured relative to the playback times represented in the first content stream. It is also configured to receive control information indicating whether it should be displayed for a while. In some embodiments, control information receiving module 2214 is configured to receive image selection information indicating which of the plurality of images corresponding to the second portion of the environment should be used during a portion of the event. In some embodiments, control information receiving module 2214 is configured to receive image selection information indicating which of the plurality of images corresponding to the third portion of the environment should be used during a portion of the event.

몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 상기 환경의 상기 제 1 후방 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1콘텐트 스트림에서 재생 시간에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하도록 구성된다. 몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 환경의 상기 제 1 후방 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하도록 구성된다. 몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 상기 환경의 상기 제 2 후방 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에서 재생 시간에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하도록 구성된다. 몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 환경의 상기 제 2 후방 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하도록 구성된다.In some embodiments, the control information receiving module 2214 determines which of a plurality of previously delivered images corresponding to the first rear view portion of the environment is to be played in terms of playback time in the first content stream. and is configured to receive control information indicating whether the display should be displayed for a period of time. In some embodiments, control information receiving module 2214 receives image selection information indicating which of a plurality of previously delivered images corresponding to the first rear view portion of the environment should be used during a portion of an event. It is configured to do so. In some embodiments, the control information receiving module 2214 determines which of a plurality of previously delivered images corresponding to the second rear view portion of the environment is to be played in terms of playback time in the first content stream. and is configured to receive control information indicating whether the display should be displayed for a period of time. In some embodiments, control information receiving module 2214 receives image selection information indicating which of a plurality of previously delivered images corresponding to the second rear view portion of the environment should be used during a portion of an event. It is configured to do so.

몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 상기 환경의 상기 하늘 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에서 재생 시간에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하도록 구성된다. 몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 환경의 상기 하늘 뷰 부분에 대응하는 복수의 이미지들 중 어느 것이 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하도록 구성된다. 몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 상기 환경의 상기 지상 뷰 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에서 재생 시간에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하도록 구성된다. 몇몇 실시예들에서, 제어 정보 수신 모듈(2214)은 환경의 상기 지상 뷰 부분에 대응하는 복수의 이미지들 중 어느 것이 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하도록 구성된다.In some embodiments, the control information receiving module 2214 determines which of a plurality of previously delivered images corresponding to the sky view portion of the environment is measured relative to the playback time in the first content stream. and is configured to receive control information indicating whether it should be displayed. In some embodiments, control information receiving module 2214 is configured to receive image selection information indicating which of a plurality of images corresponding to the sky view portion of the environment should be used during a portion of an event. In some embodiments, the control information receiving module 2214 determines which of a plurality of previously delivered images corresponds to the ground view portion of the environment for which playback time is measured in the first content stream. and is configured to receive control information indicating whether it should be displayed. In some embodiments, control information receiving module 2214 is configured to receive image selection information indicating which of a plurality of images corresponding to the ground view portion of the environment should be used during a portion of an event.

출력 이미지 생성 모듈(2216)은: 환경의 제 1 부분 뷰에 대응하는 제 1 콘텐트 스트림으로부터 수신된 콘텐트, 환경의 제 1 후방 뷰 부분에 대응하는 저장된 수신된 이미지, 환경의 제 2 후방 뷰 부분에 대응하는 저장된 수신된 이미지, 환경의 하늘 뷰 부분에 대응하는 저장된 수신된 이미지, 환경의 지상 뷰 부분에 대응하는 저장된 수신된 이미지, 또는 이미지가 이용 가능하지 않은 현재 시야의 일 부분에 대응하는 합성된 이미지, 중 적어도 하나에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성된다. 출력 이미지 생성 모듈(2216)은 뷰 부분 세트 결정 모듈(2218), 콘텐트 스트림 전용 결정 모듈(2220), 누락 부분 결정 모듈(2222), 이미지 합성기 모듈(2224), 및 콘텐트 스트림 출력 이미지 생성 모듈(2226), 합성된 출력 이미지 생성 모듈(2228), 출력 이미지 콘텐트 스트림 기반 생성 모듈(2230), 및 출력 이미지 비스트림 기반 생성 모듈(2236)을 포함한다.Output image generation module 2216 may generate: content received from a first content stream corresponding to a first partial view of the environment, a stored received image corresponding to a first rear view portion of the environment, a second rear view portion of the environment; a corresponding stored received image, a stored received image corresponding to a sky view portion of the environment, a stored received image corresponding to a ground view portion of the environment, or a composited image corresponding to a portion of the current field of view for which no image is available. and generate one or more output images corresponding to the current field of view based on at least one of the images. The output image generation module 2216 includes a view portion set determination module 2218, a content stream only determination module 2220, a missing portion determination module 2222, an image compositor module 2224, and a content stream output image generation module 2226. ), a composite output image generation module 2228, an output image content stream-based generation module 2230, and an output image non-stream-based generation module 2236.

뷰 부분 세트 결정 모듈(2218)은, 현재 시야에 기초하여, 예를 들면, 하나 이상의 출력 이미지들을 생성할 때 사용될 상기 환경의 이용 가능한 적어도 일부 이미지 콘텐트가 존재하는, 뷰 부분들의 일 세트를 결정하도록 구성된다. 몇몇 예시적인 결정된 세트들은, 예를 들면, {}, {정면 뷰 부분}, {제 1 후방 뷰 부분}, {제 2 후방 뷰 부분}, {하늘 뷰 부분}, {지상 뷰 부분}, {전방 뷰 부분, 하늘 뷰 부분}, {전방 뷰 부분, 지상 뷰 부분}, {전방 뷰 부분, 제 1 후방 뷰 부분}, {전방 뷰 부분, 제 2 후방 뷰 부분}, {전방 뷰 부분, 제 1 후방 뷰 부분, 하늘 뷰 부분}, {전방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분}, {전방 뷰 부분, 제 1 후방 뷰 부분, 지상 뷰 부분}, {전방 뷰 부분, 제 2 후방 뷰 부분, 지상 뷰 부분}, {제 1 후방 뷰 부분, 하늘 뷰 부분}, {제 1 후방 뷰 부분, 지상 뷰 부분}, {제 1 후방 뷰 부분, 제 2 후방 뷰 부분}, {제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분}, {제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 지상 뷰 부분}, {제 2 후방 뷰 부분, 하늘 뷰 부분}, 및 {제 2 후방 뷰 부분, 지상 뷰 부분}을 포함한다.View portion set determination module 2218 is configured to determine, based on the current field of view, a set of view portions in which there is at least some image content available of the environment to be used, e.g., when generating one or more output images. It is composed. Some example determined sets include, for example: {}, {front view portion}, {first rear view portion}, {second rear view portion}, {sky view portion}, {ground view portion}, {front view portion} view portion, sky view portion}, {front view portion, ground view portion}, {front view portion, first rear view portion}, {front view portion, second rear view portion}, {front view portion, first rear view portion view portion, sky view portion}, {front view portion, second rear view portion, sky view portion}, {front view portion, first rear view portion, ground view portion}, {front view portion, second rear view portion , ground view portion}, {first rear view portion, sky view portion}, {first rear view portion, ground view portion}, {first rear view portion, second rear view portion}, {first rear view portion , second rear view portion, sky view portion}, {first rear view portion, second rear view portion, ground view portion}, {second rear view portion, sky view portion}, and {second rear view portion, Includes a ground view portion}.

콘텐트 스트림 전용 결정 모듈(2220)은, 하나 이상의 출력 이미지들이 다른 부분 뷰들, 예를 들면, 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분 또는 지상 뷰 부분으로부터 저장된 수신된 이미지들, 또는 합성된 이미지에 의존해야 하지 않고 제 1 콘텐트 스트림 내 콘텐트에 기초하여 생성되는 것인지를 결정하도록 구성된다. 콘텐트 스트림 전용 결정 모듈(2220)은 결정된 세트가 제 1 콘텐트 스트림에 대응하는 제 1, 예를 들면, 전방 뷰 부분인 단일 요소를 포함하는지를 검사하고, 시야가 제 1, 예를 들면, 전방 뷰 부분 내에 있는지를 검사하도록 구성된다.The content stream dedicated determination module 2220 may determine whether one or more output images are received images stored from different partial views, e.g., a first rear view portion, a second rear view portion, a sky view portion, or a ground view portion, or and determine whether the image is generated based on content in the first content stream without having to rely on the synthesized image. Content stream only determination module 2220 checks whether the determined set includes a single element that is a first, e.g., front-view portion, corresponding to a first content stream, and where the field of view is a first, e.g., front-view portion. It is configured to check whether it is within.

누락 부분 결정 모듈(2222)은, 이미지가 현재 시야의 일 부분에 대해 이용 가능하지 않은 것, 예를 들면, 이미지가 환경의 정면 뷰에 대응하는 제 1 콘텐트 스트림으로부터 또는 환경의 다른 부분에 대응하는 수신된 저장된 이미지로부터 이미지가 이용 가능하지 않다는 것을 결정하도록 구성된다. 이미지 합성기 모듈(2224)은 이미지가 이용 가능하지 않은 현재 시야의 상기 부분에 대해 사용될 이미지를 합성하도록 구성된다. 다양한 실시예들에서, 이미지 합성기 모듈(2224)은, 예를 들면, 경계상의 전체 일부에 대해 허용하도록, 누락 부분을 채우기 위해 필요되는 것보다 약간 큰 합성된 이미지를 생성한다.Missing portion determination module 2222 may determine if an image is not currently available for a portion of the field of view, e.g., if an image corresponds to a frontal view of the environment or from a first content stream that corresponds to another portion of the environment. and determine from the received stored image that an image is not available. Image compositer module 2224 is configured to composite images to be used for those portions of the current field of view for which images are not available. In various embodiments, image compositer module 2224 generates a composite image that is slightly larger than needed to fill in missing portions, for example, to allow for a full portion of the boundary.

콘텐트 스트림 출력 이미지 생성 모듈(2226)은 결정된 세트가 단지 제 1 뷰 부분만을, 예를 들면, 정면 뷰 부분만을 포함하고, 예를 들면, 콘텐트 스트림 전용 결정 모듈(2220)에 의해 결정되는, 제 1 뷰 부분 밖에 현재 시야의 부분들이 존재하지 않을 때 제 1 콘텐트 스트림으로부터 수신된 콘텐트에만 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성된다. 몇몇 실시예들에서, 콘텐트 스트림 출력 이미지 생성 모듈(2226)은 제 1 콘텐트 스트림으로부터 획득된 이미지에 대한 크롭핑 동작을 수행한다.Content stream output image generation module 2226 determines that the determined set includes only a first view portion, e.g., only a front view portion, e.g., a first view portion, as determined by content stream only determination module 2220. and generate one or more output images corresponding to the current field of view based solely on content received from the first content stream when there are no portions of the current field of view outside the view portion. In some embodiments, the content stream output image generation module 2226 performs a cropping operation on an image obtained from the first content stream.

출력 이미지 콘텐트 스트림 기반 생성 모듈(2230)은, 예를 들면, 정면 뷰에 대응하는, 제 1 콘텐트 스트림에 포함된 적어도 몇몇 수신된 콘텐트, 및 ⅰ) 환경의 제 2 부분에 대응하는 저장된 콘텐트, 예를 들면, 제 1 후방 뷰, 제 2 후방 뷰, 하늘 뷰 또는 지상 뷰에 대응하는 저장된 이미지, 또는 ⅱ) 환경의 제 2 부분을 시뮬레이션하는 합성 이미지로서, 이미지가 이용 가능하지 않은 시야의 일 부분을 시뮬레이션하는, 상기 합성 이미지에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성된다. 환경의 제 2 부분에 대응하는 저장된 콘텐트는 예를 들면, 수신된 이미지 저장 모듈(2212)에 의해 저장된 저장 이미지이다. 합성 이미지는, 예를 들면, 모듈(2224)에 의해 생성된 이미지이다. 몇몇 실시예들에서, 출력 이미지 콘텐트 스트림 기반 생성 모듈(2230)은 수신된 이미지 선택 정보에 기초하여 환경의 상기 제 2 부분에 대응하는 이미지를 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성되는 부분으로서 선택하도록 구성된다.The output image content stream based generation module 2230 is configured to: at least some received content included in the first content stream, e.g. corresponding to a front view, and i) stored content corresponding to a second part of the environment, e.g. For example, a stored image corresponding to a first rear view, a second rear view, a sky view or a ground view, or ii) a composite image simulating a second portion of the environment, wherein the image represents a portion of the field of view for which no image is available. and configured to generate one or more output images corresponding to a current field of view based on the synthesized image, which simulates. The stored content corresponding to the second part of the environment is, for example, a stored image stored by the received image storage module 2212. The composite image is, for example, an image generated by module 2224. In some embodiments, the output image content stream based generation module 2230 is configured to generate one or more output images corresponding to the current field of view and an image corresponding to the second portion of the environment based on received image selection information. It is configured to be selected as a part.

출력 이미지 콘텐트 스트림 기반 생성 모듈(2230)은 생성되는 출력 이미지로 하나 이상의 합성된 이미지를 통합하도록 구성된 합성된 이미지 통합 모듈(2232)을 포함한다. 합성된 이미지 통합 모듈(2232)은, 현재 시야에 대응하는 이미지를 생성하기 위해, 수신된 이미지, 예를 들면, 제 1, 예를 들면, 수신된 제 1 콘텐트 스트림으로부터 획득된 정면 뷰 부분으로부터 수신된 이미지, 또는 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분, 또는 지상 뷰 부분 중 하나에 대응하는 저장된 수신된 이미지의 적어도 일 부분과 합성된 이미지를 조합하도록 구성된다. 저장된 이미지 통합 모듈(2134)은 하나 이상의 저장된 이미지들의 일 부분을 생성되는 출력 이미지로 통합하도록 구성된다. 출력 이미지를 생성하는 부분으로서, 모듈(2230), 모듈(2232), 및/또는 모듈(2234)은 경계 영역들에서 혼합을 수행한다. 다양한 실시예들에서, 혼합 단계는 필터링, 블러링, 휘도 변동들 및/또는 컬러 변동들을 포함한다.The output image content stream based generation module 2230 includes a composited image integration module 2232 configured to integrate one or more composited images into the generated output image. The synthesized image integration module 2232 receives from the received image, e.g., a first, e.g., frontal view portion obtained from the received first content stream, to generate an image corresponding to the current field of view. and combine the composited image with at least a portion of the received image or the stored received image corresponding to one of the first rear view portion, the second rear view portion, the sky view portion, and the ground view portion. Stored image integration module 2134 is configured to integrate portions of one or more stored images into a generated output image. As part of generating the output image, module 2230, module 2232, and/or module 2234 performs blending in boundary regions. In various embodiments, the mixing step includes filtering, blurring, luminance variations and/or color variations.

출력 이미지 비스트림 기반 생성 모듈(2236)은: ⅰ) 환경의 일 부분에 대응하는 저장된 콘텐트, 예를 들면, 제 1 후방 뷰, 제 2 후방 뷰, 하늘 뷰, 또는 지상 뷰에 대응하는 저장된 이미지, 또는 ⅱ) 환경의 일 부분을 시뮬레이션하는 합성 이미지, 예를 들면 이미지가 이용가능하지 않은 시야의 일 부분을 시뮬레이션하는 합성 이미지, 중 적어도 하나에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성된다. 모듈(2236)은 현재 시야가 제 1, 예를 들면, 제 1 콘텐트 스트림에 대응하는 정면 뷰 부분에 대응하는 영역 밖에 있을 때 하나 이상의 이미지들을 생성한다. 몇몇 실시예들에서, 출력 이미지 비콘텐트 스트림 기반 생성 모듈(2236)은 수신된 이미지 선택 정보에 기초하여 환경의 상기 제 2 부분에 대응하는 이미지를, 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성되는 부분으로서 선택하도록 구성된다.The output image non-stream based generation module 2236 may generate: i) stored content corresponding to a portion of the environment, e.g., a stored image corresponding to a first rear view, a second rear view, a sky view, or a ground view; or ii) to generate one or more output images corresponding to the current field of view based on at least one of a composite image simulating a portion of the environment, for example a composite image simulating a portion of the field of view for which no image is available. It is composed. Module 2236 generates one or more images when the current field of view is outside a region corresponding to a first, eg, frontal view portion corresponding to the first content stream. In some embodiments, output image non-content stream based generation module 2236 is configured to generate an image corresponding to the second portion of the environment based on received image selection information and one or more output images corresponding to the current field of view. It is configured to be selected as a constituent part.

출력 이미지 비스트림 기반 생성 모듈(2236)은 하나 이상의 합성된 이미지들을 생성되는 출력 이미지로 통합하도록 구성된 합성 이미지 통합 모듈(2238)을 포함한다. 합성 이미지 통합 모듈(2238)은 현재 시야에 대응하는 이미지를 생성하기 위해, 수신된 이미지, 예를 들면, 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분, 또는 지상 뷰 부분으로부터 수신된 이미지의 적어도 일 부분과 합성된 이미지를 조합하도록 구성된다. 저장된 이미지 통합 모듈(2240)은 하나 이상의 저장된 이미지들의 일 부분을 생성되는 출력 이미지로 통합하도록 구성된다. 출력 이미지를 생성하는 부분으로서, 모듈(2236), 모듈(2232), 및/또는 모듈(2234)은 경계 영역들에서 혼합을 수행한다. 다양한 실시예들에서, 혼합은 필터링, 블러링, 휘도 변동들 및/또는 컬러 변동들을 포함한다.The output image non-stream based generation module 2236 includes a composite image integration module 2238 configured to integrate one or more composite images into a generated output image. Composite image integration module 2238 combines received images, e.g., from a first rear view portion, a second rear view portion, a sky view portion, or a ground view portion, to generate an image corresponding to the current field of view. It is configured to combine at least a portion of the image and the synthesized image. The stored image integration module 2240 is configured to integrate portions of one or more stored images into a generated output image. As part of generating the output image, module 2236, module 2232, and/or module 2234 performs blending in border regions. In various embodiments, mixing includes filtering, blurring, luminance variations and/or color variations.

출력 모듈(2242)은, 예를 들면, 출력 이미지 콘텐트 스트림 기반 생성 모듈(2130), 콘텐트 스트림 출력 이미지 생성 모듈(2130), 및 출력 이미지 비콘텐트 스트림 기반 생성 모듈(2236)에 의해 생성된, 하나 이상의 생성된 출력 이미지들을 출력하도록 구성되고, 상기 하나 이상의 출력 이미지들은 제 1 출력 이미지를 포함한다. 출력 모듈은 예를 들면, 네트워크 인터페이스(2110) 및/또는 디스플레이 디바이스 인터페이스(2103)를 통해, 제 1 출력 이미지를 출력하도록 구성된다.Output module 2242 may, for example, generate one of the output images produced by content stream-based generation module 2130, content stream output image generation module 2130, and output image non-content stream-based generation module 2236. and configured to output one or more generated output images, wherein the one or more output images include a first output image. The output module is configured to output the first output image, for example via the network interface 2110 and/or the display device interface 2103.

디스플레이 모듈(2244)은, 예를 들면, 출력 이미지 콘텐트 스트림 기반 생성 모듈(2230), 콘텐트 스트림 출력 이미지 생성 모듈(2230), 및 출력 이미지 비콘텐트 스트림 기반 생성 모듈(2136)에 의해 생성된 하나 이상의 생성된 출력 이미지들을 디스플레이하도록 구성되고, 상기 하나 이상의 출력 이미지들은 제 1 출력 이미지를 포함한다. 디스플레이 모듈(2244)은, 예를 들면, 디스플레이(2102) 및/또는 디스플레이(2105)를 통해, 제 1 출력 이미지를 디스플레이하도록 구성된다.The display module 2244 may, for example, display one or more images generated by the output image content stream based generation module 2230, the content stream output image generation module 2230, and the output image non-content stream based generation module 2136. configured to display generated output images, wherein the one or more output images include a first output image. Display module 2244 is configured to display the first output image, for example, via display 2102 and/or display 2105.

제어 루틴들(2246)은 시스템(2100)의 동작을 제어하기 위한 디바이스 제어 루틴들 및 통신 루틴들을 포함한다.Control routines 2246 include device control routines and communication routines for controlling the operation of system 2100.

일 예시적인 콘텐트 재생 시스템, 예를 들면, 본 발명에 따른, 도 21의 시스템(2100)은: 뷰어의 머리 위치를 결정하도록 구성된 뷰어 머리 위치 결정 모듈(2202)로서, 상기 머리 위치는 현재 시야에 대응하는, 상기 뷰어 머리 위치 결정 모듈(2202); 환경의 제 1 부분에 대응하는 콘텐트를 제공하는 제 1 콘텐트 스틀미을 수신하도록 구성된 콘텐트 스트림 수신 모듈; 상기 제 1 콘텐트 스트림에 포함된 적어도 일부 수신된 콘텐트 및 ⅰ) 상기 환경의 제 2 부분에 대응하는 저장된 콘텐트, 또는 ⅱ) 상기 환경의 제 2 부분에 시뮬레이션하는 합성 이미지에 기초하여 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성된 출력 이미지 콘텐트 스트림 기반 생성 모듈(2330); 및 제 1 출력 이미지를 출력하도록 구성된 출력 모듈(2242) 또는 제 1 출력 이미지를 디스플레이하도록 구성된 디스플레이 모듈(2244), 중 적어도 하나로서, 상기 제 1 출력 이미지는 하나 이상의 생성된 출력 이미지들 중 하나인, 상기 출력 모듈(2242) 또는 상기 디스플레이 모듈(2244) 중 적어도 하나를 포함한다.One exemplary content playback system, e.g., system 2100 of FIG. 21, in accordance with the present invention, includes: a viewer head positioning module 2202 configured to determine a head position of a viewer, wherein the head position is in the current field of view; Correspondingly, the viewer head positioning module 2202; a content stream receiving module configured to receive a first content stream providing content corresponding to a first portion of the environment; at least some received content included in the first content stream and i) stored content corresponding to a second portion of the environment, or ii) corresponding to a current field of view based on a composite image simulating a second portion of the environment an output image content stream based generation module 2330 configured to generate one or more output images; and at least one of an output module 2242 configured to output a first output image or a display module 2244 configured to display a first output image, wherein the first output image is one of one or more generated output images. , and includes at least one of the output module 2242 or the display module 2244.

몇몇 실시예들에서, 상기 콘텐트 재생 시스템(2100)은 콘텐트 디바이스(2100')이다. 몇몇 실시예들에서, 상기 콘텐트 재생 시스템(2100)은 디스플레이(2105)에 결합된 컴퓨터 시스템(2100')이다.In some embodiments, the content playback system 2100 is a content device 2100'. In some embodiments, the content playback system 2100 is a computer system 2100' coupled to a display 2105.

몇몇 실시예들에서, 시스템은: 상기 환경의 상기 제 2 부분에 대응하는 제 1 이미지를 수신하도록 구성된 이미지 수신 모듈(2210); 및 상기 환경의 상기 제 2 부분에 대응하는 상기 제 1 이미지를 저장하도록 구성된 수신된 이미지 저장 모듈(2212)을 추가로 포함한다.In some embodiments, the system includes: an image receiving module 2210 configured to receive a first image corresponding to the second portion of the environment; and a received image storage module 2212 configured to store the first image corresponding to the second portion of the environment.

다양한 실시예들에서, 상기 환경의 상기 제 2 부분의 상기 제 1 이미지는 제 1 시점에 대응하고, 상기 출력 이미지 콘텐트 스트림 기반 생성 모듈(2239)은 제 2 시점에서 캡처된 상기 제 1 콘텐트 스트림으로부터 획득된 콘텐트를 상기 제 1 시점에 대응하는 상기 제 1 이미지와 조합하도록 구성되고, 상기 제 1 및 제 2 시점들은 상이하다. 몇몇 이러한 실시예들에서, 상기 제 1 시점은 상기 제 2 시점에 선행하는 시간에 대응한다. 다양한 실시예들에서, 상기 제 1 시점은 상기 제 1 콘텐트 스트림이 캡처되는 이미지들이 포함되는 동안 실시간 이벤트의 시간에 선행한다.In various embodiments, the first image of the second portion of the environment corresponds to a first viewpoint, and the output image content stream-based generation module 2239 generates from the first content stream captured at the second viewpoint. and combine acquired content with the first image corresponding to the first viewpoint, wherein the first and second viewpoints are different. In some such embodiments, the first time point corresponds to a time preceding the second time point. In various embodiments, the first point in time precedes the time of a real-time event during which the first content stream includes images being captured.

몇몇 실시예들에서, 상기 이미지 수신 모듈(2210)은 상기 환경의 상기 제 2 부분에 대응하는 하나 이상의 추가 이미지들을 수신하도록 또한 구성되고, 상기 환경의 상기 제 2 부분에 대응하는 상기 하나 이상의 추가 이미지들은 적어도 제 2 이미지를 포함한다.In some embodiments, the image receiving module 2210 is further configured to receive one or more additional images corresponding to the second portion of the environment, the one or more additional images corresponding to the second portion of the environment includes at least a second image.

다양한 실시예들에서, 시스템은: 상기 환경의 상기 제 2 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에 나타내진 재생 시간들에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하도록 구성된 제어 정보 수신 모듈(2214)을 추가로 포함한다.In various embodiments, the system is configured to: determine which of the plurality of previously delivered images corresponding to the second portion of the environment should be displayed for a playback time measured relative to the playback times indicated in the first content stream; It further includes a control information receiving module 2214 configured to receive control information indicating whether to do so.

몇몇 실시예들에서, 상기 환경의 상기 제 2 부분은 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분 또는 지상 뷰 부분 중 하나이다. 몇몇 이러한 실시예들에서, 상기 이미지 수신 모듈(2210)은 상기 환경의 제 3 부분에 대응하는 하나 이상의 이미지들을 수신하도록 또한 구성된다. In some embodiments, the second portion of the environment is one of a first rear view portion, a second rear view portion, a sky view portion, or a ground view portion. In some such embodiments, the image receiving module 2210 is also configured to receive one or more images corresponding to a third portion of the environment.

몇몇 실시예들에서, 상기 환경의 상기 제 1 부분은 정면 뷰 부분이고; 상기 제 3 부분은 하늘 뷰 또는 지상 뷰 부분 중 하나이고, 이미지들은 상기 제 1, 제 2, 및 제 3 부분들에 대응하여 상이한 레이트들에서 수신되고, 더 많은 이미지들이 상기 제 2 부분보다 상기 제 1 부분에 대응하는 이벤트에 대해서 수신된다.In some embodiments, the first portion of the environment is a front view portion; The third portion is either a sky view or a ground view portion, images are received at different rates corresponding to the first, second, and third portions, and more images are in the first than in the second portion. Events corresponding to part 1 are received.

몇몇 실시예들에서, 상기 제 1 부분에 대응하는 상기 콘텐트는 이벤트가 진행중인 동안 상기 재생 디바이스로 캡처 및 스트리밍되는 실시간 콘텐트를 포함하고; 상기 제 2 및 제 3 부분들에 대응하는 상기 이미지들에 대응하는 상기 콘텐트는 비실시간 이미지들이다. 몇몇 이러한 실시예들에서, 상기 제어 정보 수신 모듈(2214)은 또한 환경의 상기 제 2 부분에 대응하는 복수의 이미지들 중 어느 것이 상기 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하도록 구성되고; 상기 출력 이미지 콘텐트 스트림 기반 생성 모듈(2230)은 수신된 이미지 선택 정보에 기초하여 환경의 상기 제 2 부분에 대응하는 이미지를 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하도록 구성된 부분으로서 선택하도록 구성된다.In some embodiments, the content corresponding to the first portion includes real-time content captured and streamed to the playback device while an event is in progress; The content corresponding to the images corresponding to the second and third portions are non-real-time images. In some such embodiments, the control information receiving module 2214 is also configured to receive image selection information indicating which of the plurality of images corresponding to the second portion of the environment should be used during the portion of the event. become; The output image content stream based generation module 2230 is configured to select an image corresponding to the second portion of the environment based on the received image selection information as a portion configured to generate one or more output images corresponding to the current field of view. .

다양한 실시예들에서, 시스템은 이미지가 상기 시야의 일 부분에 대해 이용 가능하지 않다는 것을 결정하도록 구성된 누락 부분 결정 모듈(2222); 이미지가 이용 가능하지 않은 상기 시야의 상기 부분에 대해 사용될 이미지를 합성하도록 구성된 이미지 합성기 모듈(2224); 및 현재 시야에 대응하는 이미지를 생성하기 위해 수신된 이미지의 적어도 일 부분과 합성된 이미지를 조합하도록 구성된 합성 이미지 통합 모듈(2232)를 추가로 포함한다.In various embodiments, the system includes a missing portion determination module 2222 configured to determine that an image is not available for a portion of the field of view; an image compositer module 2224 configured to composite an image to be used for the portion of the field of view for which an image is not available; and a composite image integration module 2232 configured to combine the composite image with at least a portion of the received image to generate an image corresponding to the current field of view.

다양한 실시예들에서, 상기 제 1 이미지 콘텐트는 왼쪽 눈 이미지 및 오른족 눈 이미지를 포함하는 입체 영상 이미지 콘텐트이다.In various embodiments, the first image content is stereoscopic image content including a left eye image and a right eye image.

몇몇 실시예들에서, 모듈들의 어셈블리(2200)는, 예를 들면, 도 8에 도시된 다른 모듈들에 추가하여, 도 8의 콘텐트 재생 시스템(800)에 포함된다. 모듈들의 어셈블리(2200) 내 모듈들은 메모리(812)에, 프로세서(808)에, 및/또는 시스템(800) 내 버스(809)에 결합된 프로세서(808)의 외부의 하드웨어 모듈들로서 포함될 수 있다.In some embodiments, assembly of modules 2200 is included in content playback system 800 of FIG. 8, for example, in addition to other modules shown in FIG. 8. Modules in assembly of modules 2200 may be included in memory 812, in processor 808, and/or as hardware modules external to processor 808 coupled to bus 809 in system 800.

도 23은 몇몇 실시예들에 따라 재생 시스템(1900)에서 사용될 수 있는 예시적인 스트림 선택 모듈(1938)을 도시하는 도면(2300)이다.FIG. 23 is a diagram 2300 illustrating an example stream selection module 1938 that may be used in playback system 1900 in accordance with some embodiments.

도 24는 도 23의 스트림 선택 모듈의 일부로서 또는 개별 모듈로서 구현될 수 있는 예시적인 스트림 우선 순위화 모듈(2306)을 도시하는 도면(2400)이다.FIG. 24 is a diagram 2400 illustrating an example stream prioritization module 2306 that may be implemented as part of the stream selection module of FIG. 23 or as a separate module.

몇몇 실시예들은 입체 영상 비디오를 인코딩 및 압축하도록 컴퓨터 또는 다른 디바이스를 제어하기 위해 소프트웨어 명령들의 일 세트, 예를 들면, 컴퓨터 실행 가능한 명령들을 구현하는 비일시적 컴퓨터 판독 가능한 매체에 관한 것이다. 다른 실시예들은 플레이어 단부상에 비디오를 디코딩 및 압축 해제하도록 컴퓨터 또는 다른 디바이스를 제어하기 위해 소프트웨어 명령들의 일 세트, 예를 들면, 컴퓨터 실행 가능한 명령들을 구현하는 컴퓨터 판독 가능한 매체에 관한 것이다. 인코딩 및 압축이 가능한 개별 동작들로서 언급되지만, 인코딩은 압축을 수행하기 위해 사용될 수 있고 따라서 인코딩은 일부에서 압축을 포함할 수 있다는 것이 이해되어야 한다. 유사하게, 디코딩은 압축 해제를 포함할 수 있다.Some embodiments relate to a non-transitory computer-readable medium embodying a set of software instructions, e.g., computer-executable instructions, for controlling a computer or other device to encode and compress stereoscopic video. Other embodiments relate to a computer-readable medium embodying a set of software instructions, e.g., computer-executable instructions, for controlling a computer or other device to decode and decompress video on a player end. Although encoding and compression are referred to as possible separate operations, it should be understood that encoding can be used to perform compression and thus encoding can include compression in some part. Similarly, decoding may include decompression.

다양한 실시예들의 기술들은 소프트웨어, 하드웨어, 및/또는 소프트웨어 및 하드웨어의 조합을 사용하여 구현될 수 있다. 다양한 실시예들은 장치, 예를 들면, 이미지 데이터 처리 시스템에 관한 것이다. 다양한 실시예들은 또한 방법들, 예를 들면, 이미지 데이터를 처리하는 방법들에 관한 것이다. 다양한 실시예들은 또한, 비일시적 머신, 예를 들면, 컴퓨터, 판독 가능한 매체, 예를 들면, 기계가 방법의 하나 이상의 단계들을 구현하도록 제어하기 위한 기계 판독 가능한 명령들을 포함하는, ROM, RAM, CD들, 하드 디스크들, 등에 관한 것이다.The techniques of various embodiments may be implemented using software, hardware, and/or a combination of software and hardware. Various embodiments relate to devices, such as image data processing systems. Various embodiments also relate to methods, such as methods of processing image data. Various embodiments also include a non-transitory machine, e.g., a computer, a readable medium, e.g., ROM, RAM, CD, containing machine-readable instructions for controlling the machine to implement one or more steps of the method. fields, hard disks, etc.

본 발명의 다양한 특징들은 모듈들을 사용하여 구현된다. 이러한 모듈들은 소프트웨어 모듈들로서 구현될 수 있고, 몇몇 실시예들에서 그렇게 구현된다. 다른 실시예들에서, 모듈들은 하드웨어에서 구현된다. 또 다른 실시예들에서, 모듈들은 소프트웨어 및 하드웨어의 조합을 사용하여 구현된다. 몇몇 실시예들에서, 모듈들은 개별적인 회로들로서 구현되고, 각각의 모둘은 모듈이 대응하는 기능을 수행하기 위해 회로로서 구현된다. 매우 다양한 실시예들이 상이한 모듈들이 예를 들면, 일부는 하드웨어에서, 일부는 소프트웨어에서, 일부는 하드웨어 및 소프트웨어의 조합을 사용하여 상이하게 구현되는 몇몇 실시예들을 포함하여 고려된다. 루틴들 및/또는 서브루틴들, 또는 이러한 루틴들에 의해 수행된 단계들의 일부가 범용 프로세서상에 실행된 소프트웨어와 반대되는 것으로서 전용 하드웨어에서 실행될 수 있다는 것이 또한 주의되어야 한다. 이러한 실시예들은 본 발명의 범위 내에 있다. 상기 기술된 방법들 또는 방법 단계들 중 다수는 상기 기술된 방법들 모두 또는 그의 일 부분들을 구현하도록, 기계, 예를 들면 추가의 하드웨어를 갖거나 갖지 않는 범용 컴퓨터를 제어하기 위해, 메모리 디바이스, 예를 들면, RAM, 플로피 디스크, 등과 같은 기계 판독 가능한 매체에 포함된 소프트웨어와 같은 기계 실행 가능한 명령들을 사용하여 구현될 수 있다. 따라서, 여러가지 중에서, 본 발명은 기계, 예를 들면, 프로세서 및 연관된 하드웨어가 상기 기술된 방법(들)의 단계들 중 하나 이상을 수행하게 하기 위한 기계 실행 가능한 명령들을 포함하는 기계 판독 가능한 매체에 관한 것이다.Various features of the invention are implemented using modules. These modules may be, and in some embodiments are, implemented as software modules. In other embodiments, modules are implemented in hardware. In still other embodiments, modules are implemented using a combination of software and hardware. In some embodiments, the modules are implemented as individual circuits, and each module is implemented as a circuit for the module to perform its corresponding function. A wide variety of embodiments are contemplated, including some embodiments where different modules are implemented differently, for example, some in hardware, some in software, and some using a combination of hardware and software. It should also be noted that routines and/or subroutines, or some of the steps performed by such routines, may be executed in dedicated hardware as opposed to software executed on a general-purpose processor. These embodiments are within the scope of the present invention. Many of the above-described methods or method steps may be used to implement all or portions of the above-described methods, for controlling a machine, e.g., a general-purpose computer, with or without additional hardware, such as a memory device, e.g. For example, it may be implemented using machine-executable instructions such as software included in a machine-readable medium such as RAM, floppy disk, etc. Accordingly, among other things, the present invention relates to a machine-readable medium containing machine-executable instructions for causing a machine, e.g., a processor and associated hardware, to perform one or more of the steps of the method(s) described above. will be.

상기에 기술된 다양한 실시예들의 방법들 및 장치에 대한 다수의 추가 변동들은 상기 기술을 고려하여 당업자에게 명백할 것이다. 이러한 변동들은 범위 내에서 고려되는 것이다.Many additional variations to the methods and apparatus of the various embodiments described above will be apparent to those skilled in the art upon consideration of the above description. These variations are considered within scope.

700 : 콘텐트 전달 시스템 702 : 디스플레이
704 : 입력 디바이스 706 : I/O 인터페이스
708 : 프로세서 710 : 네트워크 인터페이스
712 : 메모리 714 : 제어 루틴들
716 : 분할 모듈 718 : 인코더(들)
720 : 스트리밍 제어기 722 : 요청 처리 모듈
724 : 데이터 레이트 결정 모듈 726 : 현재 머리 위치 결정 모듈
728 : 선택 모듈 730 : 스트리밍 제어 모듈
1900' : 컴퓨터 시스템/콘텐트 재생 디바이스
1902 : 디스플레이
1903 : 디스플레이 디바이스 인터페이스
1904 : 입력 디바이스
1905 : 디스플레이, 예를 들면, 헤드 마운트 입체 영상 디스플레이
1906 : I/O 인터페이스 1908 : 프로세서
1910 : 네트워크 인터페이스 1911 : 수신기
1912 : 메모리 1913 : 송신기
1914 : 제어 루틴들 1916 : 머리 위치 결정 모듈
1918 : 현재 뷰잉 위치 초기화 모듈
1920 : 디코더 모듈
1922 : 현재 선택된 스트림 초기화 모듈
1924 : 콘텐트 전달 초기화 모듈 1926 : 이미지 버퍼(들)
1928 : 이미지 버퍼 갱신 모듈
1930 : 이미지 렌더링 모듈, 예를 들면, 이미지 생성 모듈
1932 : 이용 가능한 대역폭 및/또는 지원 가능한 데이터 레이트 결정 모듈
1934 : 머리 위치 변경 검출 모듈
1936 : 이용 가능한 대역폭 및/또는 지원 가능한 데이터 레이트 변경 결정 모듈
1938 : 스트림 선택 모듈
1940 : 선택된 스트림 세트 변경 결정 모듈
1942 : 선택된 스트림 세트 갱신 모듈
1944 : 스트림(들) 결정 모듈 1946 : 수신된 스트림 정보
1948 : 수신된 대역폭 및/또는 데이터 레이트 할당 제어 정보
1950 : 결정된 현재 최대 이용 가능한 대역폭 및/또는 지원 가능한 데이터 레이트
1952 : 수신된 인코딩된 데이터, 예를 들면, 인코딩된 장면 부분들
1954 : 수신된 환경 맵 1956 : 수신된 UV 맵(들)
1958 : 디코딩된 데이터, 예를 들면, 디코딩된 장면 부분들
1960 : 생성된 3D 콘텐트 1961 : 현재 선택된 스트림 세트
2200 : 모듈들의 어셈블리 2202 : 뷰어 머리 위치 결정 모듈
2204 : 현재 시야 결정 모듈 2206 : 콘텐트 스트림 선택 모듈
2208 : 콘텐트 스트림 수신 모듈
2210 : 이미지 수신 모듈 2212 : 수신된 이미지 저장 모듈
2214 : 제어 정보 수신 모듈 2216 : 출력 이미지 생성 모듈
2218 : 뷰 부분 세트 결정 모듈
2220 : 콘텐트 스트림 전용 결정 모듈
2222 : 누락 부분 결정 모듈 2224 : 이미지 합성기 모듈
2226 : 콘텐트 스트림 출력 이미지 생성 모듈
2228 : 합성된 출력 이미지 생성 모듈
2230 : 출력 이미지 콘텐트 스트림 기반 생성 모듈
2232 : 합성된 이미지 통합 모듈 2234 : 저장된 이미지 통합 모듈
2236 : 출력 이미지 비스트림 기반 생성 모듈
2238 : 합성된 이미지 통합 모듈 2240 : 저장된 이미지 통합 모듈
2242 : 출력 모듈 2244 : 디스플레이 모듈
2246 : 제어 루틴들
700: Content delivery system 702: Display
704: Input device 706: I/O interface
708: Processor 710: Network Interface
712: Memory 714: Control routines
716: Split module 718: Encoder(s)
720: Streaming controller 722: Request processing module
724: Data rate determination module 726: Current head position determination module
728: selection module 730: streaming control module
1900': Computer system/content playback device
1902: Display
1903: Display device interface
1904: Input device
1905: Displays, e.g. head-mounted stereoscopic displays
1906: I/O interface 1908: Processor
1910: Network Interface 1911: Receiver
1912: Memory 1913: Transmitter
1914: Control routines 1916: Head positioning module
1918: Current viewing position initialization module
1920: Decoder module
1922: Currently selected stream initialization module
1924: Content delivery initialization module 1926: Image buffer(s)
1928: Image buffer update module
1930: Image rendering module, e.g. image generation module
1932: Available bandwidth and/or supportable data rate determination module
1934: Head position change detection module
1936: Available bandwidth and/or supportable data rate change determination module
1938: Stream Selection Module
1940: Selected stream set change decision module
1942: Selected Stream Set Update Module
1944: Stream(s) determination module 1946: Received stream information
1948: Received bandwidth and/or data rate allocation control information
1950: Current maximum available bandwidth and/or supportable data rate determined.
1952: Received encoded data, e.g. encoded scene parts
1954: Received environment map 1956: Received UV map(s)
1958: Decoded data, e.g. decoded scene parts
1960 : Generated 3D content 1961 : Currently selected stream set
2200: Assembly of modules 2202: Viewer head positioning module
2204: Current view determination module 2206: Content stream selection module
2208: Content stream reception module
2210: Image reception module 2212: Received image storage module
2214: Control information reception module 2216: Output image generation module
2218: View partial set determination module
2220: Content stream-specific decision module
2222: Missing part determination module 2224: Image synthesizer module
2226: Content stream output image generation module
2228: Composite output image generation module
2230: Output image content stream-based generation module
2232: synthesized image integration module 2234: stored image integration module
2236: Output image non-stream based generation module
2238: synthesized image integration module 2240: stored image integration module
2242: output module 2244: display module
2246: Control routines

Claims (25)

콘텐트 재생 시스템을 동작시키는 방법에 있어서,
현재 시야에 대응하는, 뷰어의 머리 위치를 결정하는 단계;
상기 뷰어의 머리 위치에 기초하여, 상이한 시야들을 제공하는 복수의 콘텐트 스트림 중 제1 콘텐트 스트림을 선택하는 단계 - 상기 제1 콘텐트 스트림은 상기 뷰어의 현재 시야에 대응하는 상기 제1 콘텐트 스트림에 기초하여 선택됨 - ;
하나 이상의 콘텐트 스트리밍 디바이스로부터 환경의 제 1 부분에 대응하는 콘텐트를 제공하는 상기 제 1 콘텐트 스트림을 수신하는 단계;
상기 제 1 콘텐트 스트림에 포함된 적어도 일부 이미지 콘텐트와 i) 상기 환경의 제 2 부분에 대응하는 저장된 이미지 콘텐트 또는 ii) 상기 환경의 제 2 부분을 시뮬레이션하는 합성 이미지에 기초하여 상기 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하는 단계; 및
상기 하나 이상의 생성된 출력 이미지들 중 하나인 제 1 출력 이미지를 재생시 사용하는 단계를 포함하는, 콘텐트 재생 시스템을 동작시키는 방법.
In a method of operating a content playback system,
determining a viewer's head position, corresponding to the current field of view;
Based on the viewer's head position, selecting a first content stream from a plurality of content streams providing different fields of view, wherein the first content stream corresponds to the viewer's current field of view. selected - ;
Receiving the first content stream providing content corresponding to a first portion of an environment from one or more content streaming devices;
corresponding to the current field of view based on at least some image content included in the first content stream and i) stored image content corresponding to a second portion of the environment or ii) a composite image simulating a second portion of the environment generating one or more output images; and
A method of operating a content playback system, comprising using a first output image, which is one of the one or more generated output images, when playing.
제 1 항에 있어서,
상기 환경의 상기 제 2 부분에 대응하는 제 1 이미지를 수신하는 단계; 및
상기 환경의 상기 제 2 부분에 대응하는 상기 제 1 이미지를 저장하는 단계를 추가로 포함하는, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 1,
receiving a first image corresponding to the second portion of the environment; and
A method of operating a content playback system, further comprising storing the first image corresponding to the second portion of the environment.
제 2 항에 있어서,
상기 환경의 상기 제 2 부분의 상기 제 1 이미지는 제 1 시점에 대응하고,
상기 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하는 단계는 제 2 시점에서 캡처된 상기 제 1 콘텐트 스트림으로부터 획득된 이미지 콘텐트를 상기 제 1 시점에 대응하는 상기 제 1 이미지와 조합하는 단계를 포함하고, 상기 제 1 및 제 2 시점들은 상이한, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 2,
the first image of the second portion of the environment corresponds to a first viewpoint,
Generating one or more output images corresponding to the current field of view includes combining image content obtained from the first content stream captured at a second viewpoint with the first image corresponding to the first viewpoint; , wherein the first and second viewpoints are different.
제 3 항에 있어서,
상기 제 1 시점은 상기 제 2 시점에 선행하는 시간에 대응하는, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 3,
The method of operating a content playback system, wherein the first time point corresponds to a time preceding the second time point.
제 4 항에 있어서,
상기 제 1 시점은 상기 제 1 콘텐트 스트림에 포함된 이미지들이 캡처되는 실시간 이벤트의 시간에 선행하는, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 4,
Wherein the first time point precedes the time of a real-time event at which images included in the first content stream are captured.
제 3 항에 있어서,
상기 환경의 상기 제 2 부분에 대응하는 하나 이상의 추가의 이미지들을 수신하는 단계를 추가로 포함하고,
상기 환경의 상기 제 2 부분에 대응하는 상기 하나 이상의 추가의 이미지들은 적어도 하나의 제 2 이미지를 포함하는, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 3,
further comprising receiving one or more additional images corresponding to the second portion of the environment,
The one or more additional images corresponding to the second portion of the environment include at least one second image.
제 6 항에 있어서,
상기 환경의 상기 제 2 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에서 나타내어진 재생 시간들에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하는 단계를 추가로 포함하고, 상기 환경의 상기 제 2 부분은 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분, 또는 지상 뷰 부분 중 하나인, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 6,
Receiving control information indicating which of a plurality of previously delivered images corresponding to the second portion of the environment should be displayed for a playback time measured relative to the playback times indicated in the first content stream. A method of operating a content playback system further comprising, wherein the second portion of the environment is one of a first rear view portion, a second rear view portion, a sky view portion, or a ground view portion.
제 7 항에 있어서,
상기 환경의 제 3 부분에 대응하는 하나 이상의 이미지들을 수신하는 단계를 추가로 포함하는, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 7,
A method of operating a content playback system, further comprising receiving one or more images corresponding to a third portion of the environment.
제 8 항에 있어서,
상기 환경의 상기 제 1 부분은 정면 뷰 부분이고,
상기 제 3 부분은 하늘 뷰 또는 지상 뷰 부분 중 하나이고,
상기 제 1, 제 2, 및 제 3 부분들에 대응하여 상이한 레이트들에서 이미지들이 수신되고, 상기 제 2 부분에 대해서보다 상기 제 1 부분에 대응하는 이벤트에 대해서 더 많은 이미지들이 수신되는, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 8,
the first portion of the environment is a frontal view portion,
the third portion is either a sky view or a ground view portion,
Content playback, wherein images are received at different rates corresponding to the first, second and third parts, and more images are received for an event corresponding to the first part than for the second part. How to operate the system.
제 9 항에 있어서,
상기 제 1 부분에 대응하는 상기 콘텐트는 이벤트가 진행한 동안 캡처되어 상기 콘텐트 재생 시스템에 스트리밍되는 실시간 콘텐트를 포함하고,
상기 제 2 및 제 3 부분들에 대응하는 상기 이미지들에 대응하는 상기 콘텐트는 비실시간 이미지들인, 콘텐트 재생 시스템을 동작시키는 방법.
According to clause 9,
The content corresponding to the first portion includes real-time content captured while an event is in progress and streamed to the content playback system,
The method of operating a content playback system, wherein the content corresponding to the images corresponding to the second and third portions are non-real-time images.
제 10 항에 있어서,
상기 환경의 상기 제 2 부분에 대응하는 복수의 이미지들 중 어느 것이 상기 이벤트의 일부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하는 단계를 추가로 포함하고,
적어도 일부 수신된 콘텐트에 기초하여 상기 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하는 단계는 상기 수신된 이미지 선택 정보에 기초하여 상기 환경의 상기 제 2 부분에 대응하는 이미지를 선택하는 단계를 포함하는, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 10,
further comprising receiving image selection information indicating which of the plurality of images corresponding to the second portion of the environment should be used during the portion of the event,
Generating one or more output images corresponding to the current field of view based at least in part on received content includes selecting an image corresponding to the second portion of the environment based on the received image selection information. , a method of operating a content playback system.
제 11 항에 있어서,
이미지가 상기 현재 시야의 일 부분에 대해 이용 가능하지 않다고 결정하는 단계;
이미지가 이용 가능하지 않은 상기 현재 시야의 상기 부분에 대해 사용될 이미지를 합성하는 단계; 및
상기 현재 시야에 대응하는 이미지를 생성하기 위해 상기 합성된 이미지를 수신된 이미지의 적어도 일 부분과 조합하는 단계를 추가로 포함하는, 콘텐트 재생 시스템을 동작시키는 방법.
According to claim 11,
determining that an image is not available for a portion of the current field of view;
compositing an image to be used for the portion of the current field of view for which an image is not available; and
A method of operating a content playback system, further comprising combining the composite image with at least a portion of a received image to generate an image corresponding to the current field of view.
콘텐트 재생 시스템에 있어서,
콘텐트 스트림들을 수신하도록 구성되는 수신기를 포함하는 인터페이스;
적어도 하나의 센서; 및
프로세서
를 포함하고,
상기 프로세서는,
센서 출력에 기초하여, 뷰어의 머리 위치를 결정하고 - 상기 머리 위치는 현재 시야에 대응함 -;
상기 뷰어의 머리 위치에 기초하여, 상이한 시야들을 제공하는 복수의 콘텐트 스트림 중 제1 콘텐트 스트림을 선택하고 - 상기 제1 콘텐트 스트림은 상기 뷰어의 현재 시야에 대응하는 상기 제1 콘텐트 스트림에 기초하여 선택됨 - ;
하나 이상의 콘텐트 스트리밍 디바이스로부터, 환경의 제 1 부분에 대응하는 콘텐트를 제공하는 상기 제 1 콘텐트 스트림을 수신하며;
상기 제 1 콘텐트 스트림에 포함된 적어도 일부 수신된 콘텐트와 i) 상기 환경의 제 2 부분에 대응하는 저장된 콘텐트 또는 ii) 상기 환경의 제 2 부분을 시뮬레이션하는 합성 이미지에 기초하여 상기 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하고;
제 1 출력 이미지를 재생시 사용하도록 구성되고, 상기 제 1 출력 이미지는 상기 하나 이상의 생성된 출력 이미지들 중 하나인, 콘텐트 재생 시스템.
In the content playback system,
an interface comprising a receiver configured to receive content streams;
at least one sensor; and
processor
Including,
The processor,
Based on the sensor output, determine the viewer's head position, where the head position corresponds to the current field of view;
Based on the viewer's head position, select a first content stream of the plurality of content streams providing different fields of view, wherein the first content stream is selected based on the first content stream corresponding to the viewer's current field of view. - ;
receive, from one or more content streaming devices, a first content stream providing content corresponding to a first portion of an environment;
corresponding to the current field of view based on at least some received content included in the first content stream and i) stored content corresponding to a second portion of the environment or ii) a composite image simulating a second portion of the environment generate one or more output images;
A content playback system configured to use a first output image when playing, wherein the first output image is one of the one or more generated output images.
제 13 항에 있어서,
상기 프로세서는,
상기 수신기를 통해, 상기 환경의 상기 제 2 부분에 대응하는 제 1 이미지를 수신하고;
상기 환경의 상기 제 2 부분에 대응하는 상기 제 1 이미지를 저장하도록 더 구성되는, 콘텐트 재생 시스템.
According to claim 13,
The processor,
receive, via the receiver, a first image corresponding to the second portion of the environment;
The content playback system is further configured to store the first image corresponding to the second portion of the environment.
제 14 항에 있어서,
상기 환경의 상기 제 2 부분의 상기 제 1 이미지는 제 1 시점에 대응하고,
상기 프로세서는, 제 2 시점에서 캡처된 상기 제 1 콘텐트 스트림으로부터 획득된 콘텐트를 상기 제 1 시점에 대응하는 상기 제 1 이미지와 조합하도록 구성되고, 상기 제 1 및 제 2 시점들은 상이한, 콘텐트 재생 시스템.
According to claim 14,
the first image of the second portion of the environment corresponds to a first viewpoint,
wherein the processor is configured to combine content obtained from the first content stream captured at a second viewpoint with the first image corresponding to the first viewpoint, wherein the first and second viewpoints are different. .
제 15 항에 있어서,
상기 제 1 시점은 상기 제 2 시점에 선행하는 시간에 대응하는, 콘텐트 재생 시스템.
According to claim 15,
The first viewpoint corresponds to a time preceding the second viewpoint.
제 16 항에 있어서,
상기 제 1 시점은 상기 제 1 콘텐트 스트림에 포함된 이미지들이 캡처되는 실시간 이벤트의 시간에 선행하는, 콘텐트 재생 시스템.
According to claim 16,
The first point in time precedes the time of the real-time event at which the images included in the first content stream are captured.
제 15 항에 있어서,
상기 프로세서는, 상기 수신기를 통해, 상기 환경의 상기 제 2 부분에 대응하는 하나 이상의 추가의 이미지들을 수신하도록 더 구성되고, 상기 환경의 상기 제 2 부분에 대응하는 상기 하나 이상의 추가의 이미지들은 적어도 하나의 제 2 이미지를 포함하는, 콘텐트 재생 시스템.
According to claim 15,
The processor is further configured to receive, via the receiver, one or more additional images corresponding to the second portion of the environment, wherein the one or more additional images corresponding to the second portion of the environment include at least one A content playback system comprising a second image.
제 18 항에 있어서,
상기 프로세서는,
상기 수신기를 통해, 상기 환경의 상기 제 2 부분에 대응하는 복수의 이전에 전달된 이미지들 중 어느 것이 상기 제 1 콘텐트 스트림에서 나타내어진 재생 시간들에 관하여 측정되는 재생 시간 동안 디스플레이되어야 하는지를 나타내는 제어 정보를 수신하도록 더 구성되고, 상기 환경의 상기 제 2 부분은 제 1 후방 뷰 부분, 제 2 후방 뷰 부분, 하늘 뷰 부분, 또는 지상 뷰 부분 중 하나인, 콘텐트 재생 시스템.
According to claim 18,
The processor,
Control information indicating, via the receiver, which of a plurality of previously delivered images corresponding to the second part of the environment should be displayed for a playback time measured relative to the playback times indicated in the first content stream. and wherein the second portion of the environment is one of a first rear view portion, a second rear view portion, a sky view portion, or a ground view portion.
제 19 항에 있어서,
상기 프로세서는,
상기 수신기를 통해, 상기 환경의 제 3 부분에 대응하는 하나 이상의 이미지들을 수신하도록 더 구성되는, 콘텐트 재생 시스템.
According to claim 19,
The processor,
The content playback system is further configured to receive, via the receiver, one or more images corresponding to the third portion of the environment.
제 20 항에 있어서,
상기 환경의 상기 제 1 부분은 정면 뷰 부분이고,
상기 제 3 부분은 하늘 뷰 또는 지상 뷰 부분 중 하나이고,
상기 제 1, 제 2, 및 제 3 부분들에 대응하여 상이한 레이트들에서 이미지들이 수신되고, 상기 제 2 부분에 대해서보다 상기 제 1 부분에 대응하는 이벤트에 대해서 더 많은 이미지들이 수신되는, 콘텐트 재생 시스템.
According to claim 20,
the first portion of the environment is a frontal view portion,
the third portion is either a sky view or a ground view portion,
Content playback, wherein images are received at different rates corresponding to the first, second and third parts, and more images are received for an event corresponding to the first part than for the second part. system.
제 21 항에 있어서,
상기 제 1 부분에 대응하는 상기 콘텐트는 이벤트가 진행된 동안 캡처되어 상기 콘텐트 재생 시스템에 스트리밍되는 실시간 콘텐트를 포함하고,
상기 제 2 및 제 3 부분들에 대응하는 상기 이미지들에 대응하는 상기 콘텐트는 비실시간 이미지들인, 콘텐트 재생 시스템.
According to claim 21,
The content corresponding to the first portion includes real-time content captured while an event is in progress and streamed to the content playback system,
The content corresponding to the images corresponding to the second and third portions are non-real-time images.
제 22 항에 있어서,
상기 프로세서는, 상기 수신기를 통해, 상기 환경의 상기 제 2 부분에 대응하는 복수의 이미지들 중 어느 것이 상기 이벤트의 일 부분 동안 사용되어야 하는지를 나타내는 이미지 선택 정보를 수신하도록 더 구성되고,
상기 프로세서는, 상기 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하는 것의 부분으로서, 상기 수신된 이미지 선택 정보에 기초하여 상기 환경의 상기 제 2 부분에 대응하는 이미지를 선택하도록 더 구성되는, 콘텐트 재생 시스템.
According to claim 22,
the processor is further configured to receive, via the receiver, image selection information indicating which of the plurality of images corresponding to the second portion of the environment should be used during the portion of the event,
wherein the processor is further configured to, as part of generating one or more output images corresponding to the current field of view, select an image corresponding to the second portion of the environment based on the received image selection information. system.
제 23 항에 있어서,
상기 프로세서는,
이미지가 상기 현재 시야의 일 부분에 대해 이용 가능하지 않다고 결정하고;
이미지가 이용가능하지 않은 상기 현재 시야의 상기 부분에 대해 사용될 이미지를 합성하며;
상기 현재 시야에 대응하는 이미지를 생성하기 위해 상기 합성된 이미지를 수신된 이미지의 적어도 일 부분과 조합하도록 더 구성되는, 콘텐트 재생 시스템.
According to claim 23,
The processor,
determine that an image is not available for a portion of the current field of view;
composite an image to be used for the portion of the current field of view for which an image is not available;
The content playback system is further configured to combine the composited image with at least a portion of the received image to generate an image corresponding to the current field of view.
프로세서 실행 가능한 명령들을 포함하는 비일시적 기계 판독 가능한 매체에 있어서,
상기 프로세서 실행 가능한 명령들은, 콘텐트 재생 시스템의 프로세서에 의해 실행될 때, 상기 시스템이:
현재 시야에 대응하는, 뷰어의 머리 위치를 결정하는 단계;
상기 뷰어의 머리 위치에 기초하여, 상이한 시야들을 제공하는 복수의 콘텐트 스트림 중 제1 콘텐트 스트림을 선택하는 단계 - 상기 제1 콘텐트 스트림은 상기 뷰어의 현재 시야에 대응하는 상기 제1 콘텐트 스트림에 기초하여 선택됨 - ;
하나 이상의 콘텐트 스트리밍 디바이스로부터 환경의 제 1 부분에 대응하는 콘텐트를 제공하는 상기 제 1 콘텐트 스트림을 수신하는 단계;
상기 제 1 콘텐트 스트림에 포함된 적어도 일부 수신된 콘텐트와 i) 상기 환경의 제 2 부분에 대응하는 저장된 콘텐트 또는 ii) 상기 환경의 제 2 부분을 시뮬레이션하는 합성 이미지에 기초하여 상기 현재 시야에 대응하는 하나 이상의 출력 이미지들을 생성하는 단계; 및
상기 하나 이상의 생성된 출력 이미지들 중 하나인 제 1 출력 이미지를 재생시 사용하는 단계를 수행하도록 제어하는, 비일시적 기계 판독 가능한 매체.
1. A non-transitory machine-readable medium containing processor-executable instructions, comprising:
The processor-executable instructions, when executed by a processor of a content playback system, cause the system to:
determining a viewer's head position, corresponding to the current field of view;
Based on the viewer's head position, selecting a first content stream from a plurality of content streams providing different fields of view, wherein the first content stream corresponds to the viewer's current field of view. selected - ;
Receiving the first content stream providing content corresponding to a first portion of an environment from one or more content streaming devices;
corresponding to the current field of view based on at least some received content included in the first content stream and i) stored content corresponding to a second portion of the environment or ii) a composite image simulating a second portion of the environment generating one or more output images; and
A non-transitory machine-readable medium that controls to perform the step of using a first output image, which is one of the one or more generated output images, when playing.
KR1020227019042A 2014-05-29 2015-05-29 Methods and apparatus for delivering content and/or playing back content KR102611448B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462004547P 2014-05-29 2014-05-29
US62/004,547 2014-05-29
PCT/US2015/033420 WO2015184416A1 (en) 2014-05-29 2015-05-29 Methods and apparatus for delivering content and/or playing back content
KR1020167036714A KR102407283B1 (en) 2014-05-29 2015-05-29 Methods and apparatus for delivering content and/or playing back content

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167036714A Division KR102407283B1 (en) 2014-05-29 2015-05-29 Methods and apparatus for delivering content and/or playing back content

Publications (2)

Publication Number Publication Date
KR20220081390A KR20220081390A (en) 2022-06-15
KR102611448B1 true KR102611448B1 (en) 2023-12-07

Family

ID=54699946

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227019042A KR102611448B1 (en) 2014-05-29 2015-05-29 Methods and apparatus for delivering content and/or playing back content
KR1020167036714A KR102407283B1 (en) 2014-05-29 2015-05-29 Methods and apparatus for delivering content and/or playing back content

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167036714A KR102407283B1 (en) 2014-05-29 2015-05-29 Methods and apparatus for delivering content and/or playing back content

Country Status (6)

Country Link
EP (1) EP3149937A4 (en)
JP (1) JP2017527230A (en)
KR (2) KR102611448B1 (en)
CN (1) CN106416239B (en)
CA (1) CA2948642A1 (en)
WO (1) WO2015184416A1 (en)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
CN106937128A (en) * 2015-12-31 2017-07-07 幸福在线(北京)网络技术有限公司 A kind of net cast method, server and system and associated uses
CN105791882B (en) * 2016-03-22 2018-09-18 腾讯科技(深圳)有限公司 Method for video coding and device
WO2017177090A1 (en) * 2016-04-08 2017-10-12 Visbit Inc. View-aware 360 degree video streaming
US10587934B2 (en) 2016-05-24 2020-03-10 Qualcomm Incorporated Virtual reality video signaling in dynamic adaptive streaming over HTTP
US10219014B2 (en) 2016-06-02 2019-02-26 Biamp Systems, LLC Systems and methods for bandwidth-limited video transport
WO2018004934A1 (en) * 2016-06-30 2018-01-04 Sony Interactive Entertainment Inc. Apparatus and method for capturing and displaying segmented content
US20180007422A1 (en) * 2016-06-30 2018-01-04 Sony Interactive Entertainment Inc. Apparatus and method for providing and displaying content
KR20180025797A (en) * 2016-09-01 2018-03-09 삼성전자주식회사 Method for Streaming Image and the Electronic Device supporting the same
CN116389433A (en) * 2016-09-09 2023-07-04 Vid拓展公司 Method and apparatus for reducing 360 degree view region adaptive streaming media delay
CN109716757A (en) * 2016-09-13 2019-05-03 交互数字Vc控股公司 Method, apparatus and stream for immersion video format
KR102376593B1 (en) * 2016-09-29 2022-03-21 코닌클리케 필립스 엔.브이. image processing
WO2018063957A1 (en) * 2016-09-30 2018-04-05 Silver VR Technologies, Inc. Methods and systems for virtual reality streaming and replay of computer video games
KR102633595B1 (en) * 2016-11-21 2024-02-05 삼성전자주식회사 Display apparatus and the control method thereof
KR20180059210A (en) * 2016-11-25 2018-06-04 삼성전자주식회사 Image processing apparatus and method for image processing thereof
US10244215B2 (en) 2016-11-29 2019-03-26 Microsoft Technology Licensing, Llc Re-projecting flat projections of pictures of panoramic video for rendering by application
US10244200B2 (en) 2016-11-29 2019-03-26 Microsoft Technology Licensing, Llc View-dependent operations during playback of panoramic video
FI20165925L (en) * 2016-12-05 2018-06-06 Rolls Royce Oy Ab Optimizing data stream transmissions from marine vessel
US10595069B2 (en) 2016-12-05 2020-03-17 Adobe Inc. Prioritizing tile-based virtual reality video streaming using adaptive rate allocation
CN108156484B (en) * 2016-12-05 2022-01-14 奥多比公司 Prioritizing tile-based virtual reality video streams with adaptive rate allocation
US10242714B2 (en) 2016-12-19 2019-03-26 Microsoft Technology Licensing, Llc Interface for application-specified playback of panoramic video
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
CN108668138B (en) * 2017-03-28 2021-01-29 华为技术有限公司 Video downloading method and user terminal
US10979663B2 (en) * 2017-03-30 2021-04-13 Yerba Buena Vr, Inc. Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
US10311630B2 (en) * 2017-05-31 2019-06-04 Verizon Patent And Licensing Inc. Methods and systems for rendering frames of a virtual scene from different vantage points based on a virtual entity description frame of the virtual scene
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
WO2019017913A1 (en) * 2017-07-18 2019-01-24 Hewlett-Packard Development Company, L.P. Virtual reality buffering
CN111226264A (en) * 2017-10-20 2020-06-02 索尼公司 Playback apparatus and method, and generation apparatus and method
TWI653882B (en) 2017-11-23 2019-03-11 宏碁股份有限公司 Video device and encoding/decoding method for 3d objects thereof
US10990831B2 (en) 2018-01-05 2021-04-27 Pcms Holdings, Inc. Method to create a VR event by evaluating third party information and re-providing the processed information in real-time
US11328456B2 (en) * 2018-01-22 2022-05-10 Apple Inc. Method and device for presenting synthesized reality companion content
JP7059662B2 (en) * 2018-02-02 2022-04-26 トヨタ自動車株式会社 Remote control system and its communication method
EP3750301B1 (en) * 2018-02-06 2023-06-07 Phenix Real Time Solutions, Inc. Simulating a local experience by live streaming sharable viewpoints of a live event
CN110198457B (en) * 2018-02-26 2022-09-02 腾讯科技(深圳)有限公司 Video playing method and device, system, storage medium, terminal and server thereof
KR102638415B1 (en) 2018-03-22 2024-02-19 브이아이디 스케일, 인크. Viewport dependent video streaming events
CN110519652B (en) 2018-05-22 2021-05-18 华为软件技术有限公司 VR video playing method, terminal and server
US10666863B2 (en) 2018-05-25 2020-05-26 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using overlapping partitioned sections
US11917127B2 (en) 2018-05-25 2024-02-27 Interdigital Madison Patent Holdings, Sas Monitoring of video streaming events
US10764494B2 (en) 2018-05-25 2020-09-01 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using composite pictures
KR20190136417A (en) * 2018-05-30 2019-12-10 삼성전자주식회사 Method for tramsmitting stereoscopic 360 degree video data, display apparatus thereof, and storing device of video data thereof
KR102435519B1 (en) * 2018-06-20 2022-08-24 삼성전자주식회사 Method and apparatus for processing 360 degree image
EP3588970A1 (en) * 2018-06-22 2020-01-01 Koninklijke Philips N.V. Apparatus and method for generating an image data stream
CN111614974B (en) * 2020-04-07 2021-11-30 上海推乐信息技术服务有限公司 Video image restoration method and system
KR20220039113A (en) * 2020-09-21 2022-03-29 삼성전자주식회사 Method and apparatus for transmitting video content using edge computing service
US20220103655A1 (en) * 2020-09-29 2022-03-31 International Business Machines Corporation Proactively selecting virtual reality content contexts
US11632531B1 (en) * 2021-05-03 2023-04-18 Amazon Technologies, Inc. Synchronization and presentation of multiple 3D content streams
CN115250363A (en) * 2022-09-22 2022-10-28 广州市千钧网络科技有限公司 Multi-view live broadcast system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466254B1 (en) * 1997-05-08 2002-10-15 Be Here Corporation Method and apparatus for electronically distributing motion panoramic images
JPH1127577A (en) * 1997-06-30 1999-01-29 Hitachi Ltd Image system with virtual visual point
US20040104935A1 (en) * 2001-01-26 2004-06-03 Todd Williamson Virtual reality immersion system
JP4461739B2 (en) * 2003-08-18 2010-05-12 ソニー株式会社 Imaging device
US8130260B2 (en) * 2005-11-09 2012-03-06 Johns Hopkins University System and method for 3-dimensional display of image data
JP2009017064A (en) * 2007-07-03 2009-01-22 Hitachi Ltd Video receiver and multicast distribution content reception control method
KR101313797B1 (en) * 2009-12-18 2013-10-01 한국전자통신연구원 Apparatus and method for presenting display of 3D image using head tracking
US20110181601A1 (en) * 2010-01-22 2011-07-28 Sony Computer Entertainment America Inc. Capturing views and movements of actors performing within generated scenes
US20130007831A1 (en) * 2010-03-05 2013-01-03 Thomson Licensing Bit rate adjustment in an adaptive streaming system
US8988512B2 (en) * 2011-04-14 2015-03-24 Mediatek Inc. Method for adjusting playback of multimedia content according to detection result of user status and related apparatus thereof
US9423994B2 (en) * 2012-02-22 2016-08-23 Citrix Systems, Inc. Hierarchical display
FR2988964A1 (en) * 2012-03-30 2013-10-04 France Telecom Method for receiving immersive video content by client entity i.e. smartphone, involves receiving elementary video stream, and returning video content to smartphone from elementary video stream associated with portion of plan
CN103533340B (en) * 2013-10-25 2016-04-06 深圳市汉普电子技术开发有限公司 The bore hole 3D player method of mobile terminal and mobile terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S.heymann et al. Representation, coding and interactive rendering of highesolution panoramic image and video using MPEG-4. Proc. Panoramic Photogrammetry workshop(PPE), 28 Feb. 2005.*

Also Published As

Publication number Publication date
KR102407283B1 (en) 2022-06-10
JP2017527230A (en) 2017-09-14
CN106416239A (en) 2017-02-15
KR20170015938A (en) 2017-02-10
CA2948642A1 (en) 2015-12-03
CN106416239B (en) 2019-04-09
WO2015184416A1 (en) 2015-12-03
EP3149937A4 (en) 2018-01-10
EP3149937A1 (en) 2017-04-05
KR20220081390A (en) 2022-06-15

Similar Documents

Publication Publication Date Title
KR102611448B1 (en) Methods and apparatus for delivering content and/or playing back content
US11871085B2 (en) Methods and apparatus for delivering content and/or playing back content
US20210409672A1 (en) Methods and apparatus for receiving and/or playing back content
US11381801B2 (en) Methods and apparatus for receiving and/or using reduced resolution images
RU2665872C2 (en) Stereo image viewing
KR20170008725A (en) Methods and apparatus for streaming content

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant