Quality optimization with buffer and horizon constraints in adaptive streaming
US-9386308-B2 · Jul 5, 2016 · US
US10979475B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10979475-B2 |
| Application number | US-202016732978-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 2, 2020 |
| Priority date | Aug 25, 2016 |
| Publication date | Apr 13, 2021 |
| Grant date | Apr 13, 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.
Content segments may be generated/sent in a different format than the format they are stored/received. Timing information for packets comprising the content segments in the requested format may be based on timing information for packets comprising the content segment in the stored format. For example, the timing information of the first packet in the requested format may comprise the timing information of the first packet in the stored format. The timing information of other packets in the requested format may be based on the timing information of the first packet in the requested format.
Opening claim text (preview).
The invention claimed is: 1. An apparatus comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the apparatus to: store a content segment in a first format; receive a request for the content segment, wherein the request is associated with a second format different from the first format; generate, based on the request, the content segment in the second format, wherein: timing for a first plurality of packets, comprising the content segment in the first format, is indicated by timing information in fewer than all of the first plurality of packets, timing for a second plurality of packets, comprising the content segment in the second format, is indicated by timing information in each of the second plurality of packets, a first packet of the second plurality of packets comprises first timing information that is also in a first packet of the first plurality of packets; and other packets of the second plurality of packets each comprise timing information that is based on the first timing information; and send, to one or more user devices, the second plurality of packets. 2. The apparatus of claim 1 , wherein the instructions, when executed by the one or more processors, cause the apparatus to: determine the first plurality of packets based on a manifest file formatted for Dynamic Adaptive Streaming over HTTP (DASH). 3. The apparatus of claim 1 , wherein the instructions, when executed by the one or more processors, cause the apparatus to: generate, based on a manifest file, index data that indicates timing information for each packet of the second plurality of packets; format the second plurality of packets for Quadrature Amplitude Modulation (QAM) delivery; and send, to the one or more user devices, the index data and the formatted second plurality of packets. 4. The apparatus of claim 1 , wherein the content segment comprises one or more video segments and one or more audio segments. 5. The apparatus of claim 1 , wherein the instructions, when executed by the one or more processors, cause the apparatus to: generate, based on a manifest file, index data that indicates timing information for each packet of the second plurality of packets, wherein the index data comprises: an index header section for a content delivery associated with the second format; and an index record section for the content delivery associated with the second format; and send, to the one or more user devices, the index data and the second plurality of packets. 6. The apparatus of claim 5 , wherein at least a portion of the index header section comprises temporary data, and wherein the instructions, when executed by the one or more processors, cause the apparatus to generate the index data by: after populating the index record section with index record section data, replacing the temporary data in the index header section with different data. 7. The apparatus of claim 1 , wherein the content segment is a first content segment, and the timing information comprised in the other packets of the second plurality of packets is also based on timing information of a second content segment occurring after the first content segment in a content item. 8. The apparatus of claim 7 , wherein the timing information of the second content segment comprises a beginning time of the second content segment. 9. The apparatus of claim 1 , wherein the timing information comprised in the other packets of the second plurality of packets is also based on a quantity of packets associated with the content segment. 10. The apparatus of claim 1 , wherein the timing for the first plurality of packets is indicated by a timestamp at a start of the first plurality of packets. 11. The apparatus of claim 1 , wherein the first timing information is in only one packet of the first plurality of packets. 12. The apparatus of claim 1 , wherein the instructions, when executed by the one or more processors, cause the apparatus to: determine the timing information comprised in each of the other packets of the second plurality of packets by interpolation based on the first timing information. 13. The apparatus of claim 1 , wherein the instructions, when executed by the one or more processors, cause the apparatus to: use the content segment in the first format to provide: Internet Protocol (IP) delivery of the content segment; and Quadrature Amplitude Modulation (QAM) delivery of the content segment. 14. An apparatus comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the apparatus to: determine, based on manifest data for a content item, a plurality of packets corresponding to a segment of the content item, wherein a first packet of the plurality of packets comprises a first timestamp corresponding to the segment; and based on a request for the content item, send the plurality of packets by: sending the first packet, of the plurality of packets, comprising the first timestamp; adding, to subsequent packets of the plurality of packets, a second timestamp that is based on: the first timestamp; and total quantity of packets in the plurality of packets; and sending the subsequent packets of the plurality of packets. 15. The apparatus of claim 14 , wherein the instructions, when executed by the one or more processors, cause the apparatus to send the plurality of packets by: sending, using Quadrature Amplitude Modulation (QAM) delivery, index data associated with the first timestamp. 16. The apparatus of claim 14 , wherein the first timestamp comprises a program clock reference (PCR), and wherein the second timestamp comprises a different PCR. 17. The apparatus of claim 14 , wherein the instructions, when executed by the one or more processors, cause the apparatus to: determine, based on interpolation or extrapolation of the first timestamp, the second timestamp. 18. An apparatus comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the apparatus to: determine a first timestamp of a first segment of content and a second timestamp of a second segment of the content, wherein the second segment follows the first segment in the content; generate, based on a difference between the first timestamp and the second timestamp, a plurality of timestamps for a plurality of packets associated with the first segment of the content; generate index data for the plurality of packets, wherein the index data indicates the first timestamp and the generated plurality of timestamps; and send, to one or more user devices, the plurality of packets and the index data. 19. The apparatus of claim 18 , wherein the instructions, when executed by the one or more processors, cause the apparatus to send the plurality of packets and the index data by: sending, using Quadrature Amplitude Modulation (QAM) delivery, the plurality of packets and the index data, wherein the first segment and the second segment are formatted for Dynamic Adaptive Streaming over HTTP (DASH). 20. The apparatus of claim 18 , wherein the first timestamp comprises a first program clock reference (PCR), and wherein each of the plurality of timestamps comprises a PCR different from each other and from the first PCR. 21. The apparatus of claim 18 , wherein the instructions, when executed by the one or more processors, cause the apparatus to generate the plurality
Inter-network session transfer or sharing · CPC title
Access multiplexer, e.g. DSLAM (generic distributed time multiplexers, e.g. TDM/TDMA H04J3/1694) · CPC title
at the source (reformatting of additional data in video distribution servers H04N21/2355) · CPC title
Media network packetisation · CPC title
for unicast · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.