Methods and apparatus for streaming content
AssigneeNevermind Capital LLC
InventorsDavid Michael Cole, Alan McKay Moss
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for streaming content corresponding to a 360 degree field of view are described. The methods and apparatus of the present invention are well suited for use with 3D immersion systems and/or head mounted display which allow a user to turn his or her head and see a corresponding scene portion. The methods and apparatus can support real or near real time streaming of 3D image content corresponding to a 360 degree field of view.
Claims20
A method of delivering content corresponding to a 360 degree scene, the method comprising:
- partitioning the 360 degree scene, at a content source, into a plurality of scene portions;
- generating a plurality of encoded versions, at the content source, of each of the plurality of scene portions;
- transmitting a request, from a playback device to the content source, for image data associated with the 360 degree scene, wherein the request comprises a head position of a user at the playback device corresponding to a first portion of the 360 degree scene;
- responsive to the request:
- transmitting, from the content source to the playback device, a combination of encoded versions comprising encoded versions of the first portion of the 360 degree scene, encoded versions of scene portions adjacent to the first portion, and encoded versions of scene portions that are not adjacent to either the first portion or the scene portions adjacent to the first portion, to initialize scene memory at the playback device;
- selecting a first encoded version of a first portion of the plurality of scene portions of the 360 degree scene, wherein the first portion of the 360 degree scene is determined based on the head position of the user, and wherein the first encoded version of the first portion is selected from a plurality of encoded versions of the first portion based on an available data rate for transmitting content between the playback device and a content source, the first encoded version of the first portion being associated with a first bit rate;
- selecting a first encoded version of a second portion of the plurality of scene portions of the 360 degree scene from a plurality of encoded versions of the second portion, wherein the first encoded version of the second portion is associated with a second bit rate lower than the first bit rate;
- and
- presenting the first encoded version of the first encoded portion and the first encoded version of the second encoded portion at the playback device.
A non-transitory computer readable medium comprising computer readable code for delivering content corresponding to a 360 degree scene, the computer readable code executable by one or more processors to:
- partition the 360 degree scene, at a content source, into a plurality of scene portions;
- generate a plurality of encoded versions, at the content source, of each of the plurality of scene portions;
- transmit a request, from a playback device to the content source, for image data associated with the 360 degree scene, wherein the request comprises a head position of a user at the playback device corresponding to a first portion of the 360 degree scene;
- responsive to the request:
- transmit, from the content source to the playback device, a combination of encoded versions comprising encoded versions of the first portion of the 360 degree scene, encoded versions of scene portions adjacent to the first portion, and encoded versions of scene portions that are not adjacent to either the first portion or the scene portions adjacent to the first portion, to initialize scene memory at the playback device;
- select a first encoded version of a first portion of the 360 degree scene from among a plurality of versions of the first portion of the plurality of scene portions of the 360 degree scene each corresponding to a different bit rate, wherein the first portion of the 360 degree scene is selected based on the head position of the user, and an available data rate for transmitting content between the playback device and a content source, the first encoded version of the first portion being associated with a first bit rate;
- select a first encoded version of a second portion of the plurality of scene portions of the 360 degree scene from a plurality of encoded versions of the second portion each corresponding to a different bit rate, wherein the first encoded version of the second portion is associated with a second bit rate lower than the first bit rate;
- and
- present the first encoded version of the first encoded portion and the first encoded version of the second encoded portion at the playback device.
A system comprising:
- one or more processors;
- and one or more computer readable media comprising computer readable code for delivering content corresponding to a 360 degree scene, the computer readable code executable by the one or more processors to cause the system to:
- partitioning the 360 degree scene, at a content source, into a plurality of scene portions;
- generating a plurality of encoded versions, at the content source, of each of the plurality of scene portions;
- transmitting a request, from a playback device to the content source, for image data associated with the 360 degree scene, wherein the request comprises a head position of a user at the playback device corresponding to a first portion of the 360 degree scene;
- responsive to the request:
- transmit, from the content source to the playback device, a combination of encoded versions comprising encoded versions of the first portion of the 360 degree scene, encoded versions of scene portions adjacent to the first portion, and encoded versions of scene portions that are not adjacent to either the first portion or the scene portions adjacent to the first portion, to initialize scene memory at the playback device;
- select a first encoded version of a first portion of the plurality of scene portions of the 360 degree scene from among a plurality of versions of the first portion of the 360 degree scene each corresponding to a different bit rate, wherein the first portion of the 360 degree scene is selected based on the head position of the user, and an available data rate for transmitting content between the playback device and a content source, the first encoded version of the first portion being associated with a first bit rate;
- select a first encoded version of a second portion of the plurality of scene portions of the 360 degree scene from a plurality of encoded versions of the second portion each corresponding to a different bit rate, wherein the first encoded version of the second portion is associated with a second bit rate lower than the first bit rate;
- and present the first encoded version of the first encoded portion and the first encoded version of the second encoded portion at the playback device.
Dependencies are inferred from the claim text.