Variable bit video streams for adaptive streaming
AssigneeNetflix, Inc.
InventorNeil D. Hunt
Life of this patent
Estimating the term…
Abstract
One embodiment of the present invention sets forth a technique for adapting playback bit rate in a content delivery system based on scene complexity of the video content as well as network conditions and other performance factors. A scene complexity map of the video content indicates the complexity levels of different scenes within the video content. Using the scene complexity map, a content player may download scenes of lower scene complexity levels from video streams encoded to lower bit rates to manage the bandwidth consumed to download the video content and allow for the downloading of scenes of higher complexity levels from video streams encoded to higher bit rates.
Claims20
A method for adaptively downloading digital video content, the method comprising:
- receiving a scene complexity map specifying a first complexity level associated with a first portion of the digital video content and a second complexity level associated with a second portion of the digital video content, wherein the second portion is subsequent to the first portion in playback of the digital video content;
- identifying a plurality of encoded video streams associated with the digital video content, wherein each of the plurality of encoded video streams comprises an encoding of the digital video content at a respective bit rate;
- downloading a first encoded data corresponding to the first portion from a lowest bit rate stream of the plurality of encoded video streams to a content buffer residing within a content player device;
- computing an estimated available bandwidth for use in downloading data relating to the first portion of the digital video content;
- determining a bit rate at which to playback the first portion of the digital video content based on the estimated available bandwidth and a relative measure of the first complexity level and the second complexity level;
- upon determining that the determined bit rate does not exceed a first bit rate of the lowest bit rate stream, outputting the first encoded data for playback;
- and
- upon determining that the determined bit rate exceeds the first bit rate of the lowest bit rate stream:
- selecting one of the plurality of encoded video streams that corresponds to the determined bit rate;
- downloading a second encoded data from the selected encoded video stream to the content buffer residing within the content player device;
- and
- outputting the second encoded data, without the first encoded data, for playback.
A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause a computer system to adaptively download digital video content, by performing an operation comprising:
- receiving a scene complexity map specifying a first complexity level associated with a first portion of the digital video content and a second complexity level associated with a second portion of the digital video content, wherein the second portion is subsequent to the first portion in playback of the digital video content;
- identifying a plurality of encoded video streams associated with the digital video content, wherein each of the plurality of encoded video streams comprises an encoding of the digital video content at a respective bit rate;
- downloading a first encoded data corresponding to the first portion from a lowest bit rate stream of the plurality of encoded video streams to a content buffer residing within a content player device;
- computing an estimated available bandwidth for use in downloading data relating to the first portion of the digital video content;
- determining a bit rate at which to playback the first portion of the digital video content based on the estimated available bandwidth and a relative measure of the first complexity level and the second complexity level;
- upon determining that the determined bit rate does not exceed a first bit rate of the lowest bit rate stream, outputting the first encoded data for playback;
- and
- upon determining that the determined bit rate exceeds the first bit rate of the lowest bit rate stream:
- selecting one of the plurality of encoded video streams that corresponds to the determined bit rate;
- downloading a second encoded data from the selected encoded video stream to the content buffer residing within the content player device;
- and
- outputting the second encoded data, without the first encoded data, for playback.
A system for adaptively downloading digital video content, the system comprising:
- a memory configured to store a playback application, a content buffer, and a scene complexity map associated with the digital video content, wherein the scene complexity map specifies a first complexity level associated with a first portion of the digital video content and a second complexity level associated with a second portion of the digital video content, wherein the second portion is subsequent to the first portion in playback of the digital video content;
- and
- a processor that is coupled to the memory and configured to execute the playback application that is configured to:
- identify a plurality of encoded video streams associated with the digital video content, wherein each of the plurality of encoded video streams comprises an encoding of the digital video content at a respective bit rate;
- download a first encoded data corresponding to the first portion from a lowest bit rate stream of the plurality of encoded video streams to the content buffer;
- compute an estimated available bandwidth for use in downloading data relating to the first portion of the digital video content;
- determine a bit rate at which to playback the first portion of the digital video content based on the estimated available bandwidth and a relative measure of the first complexity level and the second complexity level;
- upon determining that the determined bit rate does not exceed a first bit rate of the lowest bit rate stream, output the first encoded data for playback;
- and
- upon determining that the determined bit rate exceeds the first bit rate of the lowest bit rate stream:
- select one of the plurality of encoded video streams that corresponds to the determined bit rate;
- download a second encoded data from the selected encoded video stream to the content buffer residing within the content player device;
- and
- output the second encoded data, without the first encoded data, for playback.
Dependencies are inferred from the claim text.