Adaptive streaming techniques
First Claim
1. A method comprising:
- during rendering of a first coded representation of a streamed media asset, when a bitrate change is determined to occur, reviewing manifest information describing different coded representations of the media asset and having redundant content, the different coded representations of the media asset having respective bitrates, segments of the coded representations identified in the manifest information by network locations from which the segments can be retrieved, the manifest information identifying scene cut tags applying in common to temporally-coincident segments of the coded representations;
identifying a nearest scene cut boundary from scene cut tags included in the manifest information of the media asset;
calculating whether waiting until the identified scene cut boundary before changing the bitrate will cause a buffer at a bit stream sink to cross a threshold;
when the buffer is calculated to not cross the threshold, retrieving segment(s) of the first coded representation from a current playback location up to the nearest scene cut boundary from the segment(s)'"'"' network location(s) and, thereafter, retrieving segments of a second coded representation of the media asset following the nearest scene cut boundary; and
when the buffer is calculated to cross the threshold, retrieving segment(s) of the second coded representation from the current playback location up to before the nearest scene cut boundary.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are presented for minimizing the suddenness and immediacy of changes to the video quality perceived by users due to bandwidth fluctuations and transitions between different bitrate streams. A method may include identifying an upcoming bitrate change in a bitstream and a nearest scene cut boundary from sync frame scene cut tags included in the bitstream. The method may include calculating whether waiting until the identified nearest scene cut boundary before changing the bitrate will cause the buffer to drop below a threshold. When the buffer is calculated to not drop below the threshold, the method may postpone the upcoming bitrate change until the identified nearest scene cut boundary.
-
Citations
22 Claims
-
1. A method comprising:
-
during rendering of a first coded representation of a streamed media asset, when a bitrate change is determined to occur, reviewing manifest information describing different coded representations of the media asset and having redundant content, the different coded representations of the media asset having respective bitrates, segments of the coded representations identified in the manifest information by network locations from which the segments can be retrieved, the manifest information identifying scene cut tags applying in common to temporally-coincident segments of the coded representations; identifying a nearest scene cut boundary from scene cut tags included in the manifest information of the media asset; calculating whether waiting until the identified scene cut boundary before changing the bitrate will cause a buffer at a bit stream sink to cross a threshold; when the buffer is calculated to not cross the threshold, retrieving segment(s) of the first coded representation from a current playback location up to the nearest scene cut boundary from the segment(s)'"'"' network location(s) and, thereafter, retrieving segments of a second coded representation of the media asset following the nearest scene cut boundary; and when the buffer is calculated to cross the threshold, retrieving segment(s) of the second coded representation from the current playback location up to before the nearest scene cut boundary. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 19, 20)
-
-
10. A system comprising:
-
a buffer at a bit stream sink storing a first coded representation of a streamed media asset; and a processor to; during rendering of the first coded representation, when a bitrate change is determined to occur, review manifest information describing different coded representations of the media asset and having redundant content, the different coded representations of the media asset having respective bitrates, segments of the coded representations identified in the manifest information by network locations from which the segments can be retrieved, the manifest information identifying scene cut tags applying in common to temporally-coincident segments of the coded representations; identify a nearest scene cut boundary from scene cut tags included in the manifest information of the media asset; calculate whether waiting until the identified scene cut boundary before changing the bitrate will cause the buffer to cross a threshold; when the buffer is calculated to not cross the threshold, retrieve segment(s) of the first coded representation from a current playback location up to the nearest scene cut boundary from the segment(s)′
network location(s) and, thereafter, retrieve segments of a second coded representation of the media asset following the nearest scene cut boundary; andwhen the buffer is calculated to cross the threshold, retrieve segment(s) of the second coded representation from the current playback location up to before the nearest scene cut boundary. - View Dependent Claims (11, 12)
-
-
13. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to:
-
during rendering of a first coded representation of a streamed media asset, when a bitrate change is determined to occur, review manifest information describing different coded representations of the media asset and having redundant content, the different coded representations of the media asset having respective bitrates, segments of the coded representations identified in the manifest information by network locations from which the segments can be retrieved, the manifest information identifying scene cut tags applying in common to temporally-coincident segments of the coded representations; identify a nearest scene cut boundary from scene cut tags included in the manifest information of the media asset; calculate whether waiting until the identified scene cut boundary before changing the bitrate will cause a buffer at a bit stream sink to cross a threshold; when the buffer is calculated to not cross the threshold, retrieve segment(s) of the first coded representation from a current playback location up to the nearest scene cut boundary from the segment(s)′
network location(s) and, thereafter, retrieve segments of a second coded representation of the media asset following the nearest scene cut boundary; andwhen the buffer is calculated to cross the threshold, retrieve segment(s) of the second coded representation from the current playback location up to before the nearest scene cut boundary. - View Dependent Claims (14, 15, 16)
-
-
21. A method comprising:
-
during rendering of a first coded representation of a streamed media asset, when a bitrate change is determined to occur, reviewing manifest information describing different coded representations of the media asset and having redundant content, the different coded representations of the media asset having respective bitrates, segments of the coded representations identified in the manifest information by network locations from which the segments can be retrieved, the manifest information identifying scene cut tags applying in common to temporally-coincident segments of the coded representations; identifying a nearest scene cut from scene cut tags included in the manifest information of the media asset, wherein the nearest scene cut is defined by a start frame and a subsequent end frame; calculating whether the first coded representation will reach at least the start frame of the nearest scene cut before causing a buffer at a bit stream sink to cross a threshold; when the buffer is calculated to not cross the threshold, retrieving segment(s) of the first coded representation from a current playback location up to the start frame of the nearest scene cut and, thereafter, retrieving segments of a second coded representation of the media asset following the start frame of the nearest scene cut; and when the buffer is calculated to cross the threshold, retrieving segment(s) of the second coded representation from the current playback location up to before the start frame of the nearest scene cut. - View Dependent Claims (22)
-
Specification