Variable bit video streams for adaptive streaming
First Claim
Patent Images
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 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, andwherein 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.
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.
-
Citations
20 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 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. - 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 download digital content from one or more content servers, by performing the steps of:
-
computing a first estimated bandwidth available for downloading digital content from the 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; 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, 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. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computing device, comprising:
-
a processor; and 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 wherein the playback engine, when executed by the processor, is configured to; compute a first estimated bandwidth available for downloading the digital content from the 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; determine from the 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, 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. - View Dependent Claims (19, 20)
-
Specification