VARIABLE BIT VIDEO STREAMS FOR ADAPTIVE STREAMING
First Claim
1. A method, comprising:
- computing a first estimated bandwidth available for downloading digital content from one or more content servers during a first time window and a second estimated available bandwidth available for downloading the digital content from the one or more content servers during a second time window based on at least one actual bandwidth that was available for downloading the digital content from the one or more content servers during one or more previous time windows;
computing a bandwidth variability based on the at least one actual bandwidth and at least one estimated bandwidth computed for the one or more previous time windows;
determining from a scene complexity map a first complexity level for the digital content within the first time window and a second complexity level for the digital content within the second time window; and
selecting a first encoded portion of the digital content to download for playback during the first time window from a first content stream included in a plurality of encoded content streams based on the bandwidth variability, at least one of the first complexity level and the second complexity level, and at least one of the first estimated bandwidth available during the first time window and the second estimated bandwidth available during the second time window.
1 Assignment
0 Petitions
Accused Products
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.
20 Citations
19 Claims
-
1. A method, comprising:
-
computing a first estimated bandwidth available for downloading digital content from one or more content servers during a first time window and a second estimated available bandwidth available for downloading the digital content from the one or more content servers during a second time window based on at least one actual bandwidth that was available for downloading the digital content from the one or more content servers during one or more previous time windows; computing a bandwidth variability based on the at least one actual bandwidth and at least one estimated bandwidth computed for the one or more previous time windows; determining from a scene complexity map a first complexity level for the digital content within the first time window and a second complexity level for the digital content within the second time window; and selecting a first encoded portion of the digital content to download for playback during the first time window from a first content stream included in a plurality of encoded content streams based on the bandwidth variability, at least one of the first complexity level and the second complexity level, and at least one of the first estimated bandwidth available during the first time window and the second estimated bandwidth available during the second time window. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium including instructions that, when executed by a processor, cause the processor to perform the steps of:
-
computing a first estimated bandwidth available for downloading digital content from one or more content servers during a first time window and a second estimated available bandwidth available for downloading the digital content from the one or more content servers during a second time window based on at least one actual bandwidth that was available for downloading the digital content from the one or more content servers during one or more previous time windows; computing a bandwidth variability based on the at least one actual bandwidth and at least one estimated bandwidth computed for the one or more previous time windows; determining from a scene complexity map a first complexity level for the digital content within the first time window and a second complexity level for the digital content within the second time window; and selecting a first encoded portion of the digital content to download for playback during the first time window from a first content stream included in a plurality of encoded content streams based on the bandwidth variability, at least one of the first complexity level and the second complexity level, and at least one of the first estimated bandwidth available during the first time window and the second estimated bandwidth available during the second time window. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing device, comprising:
-
a memory that stores a scene complexity map and a playback application, wherein the scene complexity map specifies complexity levels for different scenes included in digital content stored on one or more content servers; and a processor that is coupled to the memory and, when executing the playback engine, is configured to; compute a first estimated bandwidth available for downloading digital content from one or more content servers during a first time window and a second estimated available bandwidth available for downloading the digital content from the one or more content servers during a second time window based on at least one actual bandwidth that was available for downloading the digital content from the one or more content servers during one or more previous time windows; compute a bandwidth variability based on the at least one actual bandwidth and at least one estimated bandwidth computed for the one or more previous time windows; determine from a scene complexity map a first complexity level for the digital content within the first time window and a second complexity level for the digital content within the second time window; and select a first encoded portion of the digital content to download for playback during the first time window from a first content stream included in a plurality of encoded content streams based on the bandwidth variability, at least one of the first complexity level and the second complexity level, and at least one of the first estimated bandwidth available during the first time window and the second estimated bandwidth available during the second time window.
-
-
18. The computing device of claim 18, wherein the scene complexity map is generated by a complexity map generator residing on one of the one or more content servers.
-
19. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform the steps of:
-
computing a first estimated bandwidth available for downloading digital content from one or more content servers during a first time window and a second estimated available bandwidth available for downloading the digital content from the one or more content servers during a second time window based on actual bandwidths that were available for downloading the digital content from the one or more content servers during one or more previous time windows; computing a bandwidth variability based on the actual bandwidths available during the one or more previous time windows and estimated bandwidths computed for the one or more previous time windows; determining from a scene complexity map a first complexity level for the digital content within the first time window and a second complexity level for the digital content within the second time window; and selecting a first encoded portion of the digital content to download for playback during the first time window from a first content stream included in a plurality of encoded content streams, wherein each encoded content stream comprises the digital content encoded at a different bit rate, and the first content stream is encoded at a first bit rate, and wherein the first encoded portion is selected based on the first estimated bandwidth available during the first time window, the second estimated bandwidth available during the second time window, the bandwidth variability, and a desired bit rate at which a second encoded portion of the digital content to be downloaded subsequent to the first encoded portion is encoded.
-
Specification