Distributed and synchronized media switching
US-9843825-B1 · Dec 12, 2017 · US
US11089346B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11089346-B2 |
| Application number | US-201816043616-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 24, 2018 |
| Priority date | Jul 24, 2018 |
| Publication date | Aug 10, 2021 |
| Grant date | Aug 10, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A processing system may obtain a video chunk of a segment of a video program via a network link, the video chunk encoded at a first bitrate of a plurality of available bitrates for segments of the video program in accordance with a mapping function of buffer occupancy levels to the plurality of available bitrates, determine a bandwidth of the network link based upon the first bitrate, a length of the segment, and an elapsed time to receive the video chunk via the network link, determine that the bandwidth of the network link is between two of the plurality of available bitrates, and increase, responsive to the determining that the bandwidth of the network link is between the two of the plurality of available bitrates, a buffer occupancy threshold of the mapping function for switching to a higher one of the two of the plurality of available bitrates.
Opening claim text (preview).
What is claimed is: 1. A device comprising: a processor; and a computer-readable medium storing instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising: obtaining a first video chunk of a first segment of a video program via a network link, wherein the first video chunk is encoded at a first bitrate of a plurality of available bitrates for a plurality of segments of the video program in accordance with a mapping function of buffer occupancy levels to the plurality of available bitrates, wherein the mapping function includes a plurality of buffer occupancy-based switching points, wherein each of the plurality of buffer occupancy-based switching points comprises a respective buffer occupancy value for switching to a respective higher available bitrate of the plurality of available bitrates when a buffer occupancy of a video buffer exceeds the respective buffer occupancy value; determining a bandwidth of the network link based upon the first bitrate, a length of the first segment, and an elapsed time to receive the first video chunk via the network link; determining that the bandwidth of the network link remains between two of the plurality of available bitrates for at least two consecutive video chunks of the video program that are obtained via the network link, wherein the at least two consecutive video chunks include the first video chunk; and increasing, responsive to the determining that the bandwidth of the network link remains between the two of the plurality of available bitrates for the at least two consecutive video chunks, a buffer occupancy-based switching point of the plurality of buffer occupancy-based switching points of the mapping function to a higher buffer occupancy value for switching to a higher one of the two of the plurality of available bitrates, wherein the higher buffer occupancy value does not exceed a buffer occupancy value of a next higher buffer occupancy-based switching point of the plurality of buffer occupancy-based switching points. 2. The device of claim 1 , wherein the operations further comprise: determining the first bitrate for the first segment of the video program based upon the occupancy level of the video buffer in accordance with the mapping function. 3. The device of claim 1 , wherein the determining that the bandwidth of the network link remains between the two of the plurality of available bitrates for the at least two consecutive video chunks comprises: obtaining a second video chunk of a second segment of the video program via the network link, wherein the second video chunk is encoded at the first bitrate of the plurality of available bitrates in accordance with the mapping function, wherein the at least two consecutive video chunks include the second video chunk; determining the bandwidth of the network link from the first bitrate, a length of the second segment, and an elapsed time to receive the second video chunk via the network link; and determining that the bandwidth of the network link remains between the two of the plurality of available bitrates. 4. The device of claim 3 , wherein the first bitrate for the second segment is selected based upon the occupancy level of the video buffer in accordance with the mapping function. 5. The device of claim 1 , wherein the first video chunk is obtained in accordance with a manifest file for the video program, wherein the manifest file identifies a plurality of video chunks associated with the plurality of segments of the video program in accordance with an adaptive bitrate streaming protocol, the plurality of video chunks including the first video chunk. 6. The device of claim 5 , wherein for each of the plurality of segments, the associated plurality of video chunks includes video chunks encoded at the plurality of available bitrates. 7. The device of claim 5 , wherein a uniform resource locator for the first video chunk is identified in the manifest file, wherein the uniform resource locator for the first video chunk is associated with an edge server. 8. The device of claim 7 , wherein the edge server comprises an edge server of a content distribution network. 9. The device of claim 7 , wherein the first video chunk is requested from the edge server in accordance with the manifest file. 10. A method comprising: obtaining, by a processing system including at least one processor, a first video chunk of a first segment of a video program via a network link, wherein the first video chunk is encoded at a first bitrate of a plurality of available bitrates for a plurality of segments of the video program in accordance with a mapping function of buffer occupancy levels to the plurality of available bitrates, wherein the mapping function includes a plurality of buffer occupancy-based switching points, wherein each of the plurality of buffer occupancy-based switching points comprises a respective buffer occupancy value for switching to a respective higher available bitrate of the plurality of available bitrates when a buffer occupancy of a video buffer exceeds the respective buffer occupancy value; determining, by the processing system, a bandwidth of the network link based upon the first bitrate, a length of the first segment, and an elapsed time to receive the first video chunk via the network link; determining, by the processing system, that the bandwidth of the network link remains between two of the plurality of available bitrates for at least two consecutive video chunks of the video program that are obtained via the network link, wherein the at least two consecutive video chunks include the first video chunk; and increasing, by the processing system, responsive to the determining that the bandwidth of the network link remains between the two of the plurality of available bitrates for the at least two consecutive video chunks, a buffer occupancy-based switching point of the plurality of buffer occupancy-based switching points of the mapping function to a higher buffer occupancy value for switching to a higher one of the two of the plurality of available bitrates, wherein the higher buffer occupancy value does not exceed a buffer occupancy value of a next higher buffer occupancy-based switching point of the plurality of buffer occupancy-based switching points. 11. The method of claim 10 , further comprising: determining the first bitrate for the first segment of the video program based upon the occupancy level of the video buffer in accordance with the mapping function. 12. The method of claim 10 , wherein the determining that the bandwidth of the network link remains between the two of the plurality of available bitrates for the at least two consecutive video chunks comprises: obtaining a second video chunk of a second segment of the video program via the network link, wherein the second video chunk is encoded at the first bitrate of the plurality of available bitrates in accordance with the mapping function, wherein the at least two consecutive video chunks include the second video chunk; determining the bandwidth of the network link from the first bitrate, a length of the second segment, and an elapsed time to receive the second video chunk via the network link; and determining that the bandwidth of the network link remains between the two of the plurality of available bitrates. 13. The method of claim 12 , wherein the first bitrate for the second segment is selected based upon the occupancy level of the video buffer in accordance with the mapping function. 14. The method of claim 10 , wherein the first video chunk is obtained in accordance with a manifest file for the
Responding to QoS · CPC title
at the destination (reformatting of additional data in video clients H04N21/4355) · CPC title
at the source (reformatting of additional data in video distribution servers H04N21/2355) · CPC title
Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP] · CPC title
for unicast · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.