Calculating and signaling segment availability times for segments of media data
US-2016072637-A1 · Mar 10, 2016 · US
US9407968B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9407968-B2 |
| Application number | US-201414578679-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 22, 2014 |
| Priority date | Dec 22, 2014 |
| Publication date | Aug 2, 2016 |
| Grant date | Aug 2, 2016 |
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 method, a device, and a non-transitory storage medium provide for receiving program data of programs; receiving files pertaining to each of the programs, wherein the files include a manifest file and M3U8 files; selecting one of the programs and the manifest file; adding multicast information to each M3U8 file pertaining to the program, wherein the multicast information indicates a multicast channel and a date and a time of a multicast; segmenting the program data of the program based on a maximum transmission unit of the multicast channel; storing the manifest file and the M3U8 files pertaining to the program; providing the manifest file and one or more of the M3U8 files pertaining to the program, to a user device; and multicasting a segmented program data via the wireless network based on the multicast information, wherein the multicasting includes the adaptive bitrate streaming service.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, by a network device of a content delivery network, program data of programs available to users of an adaptive bitrate service, wherein the programs include linear television programs, video-on-demand programs, and pay-per-view programs; receiving, by the network device, a manifest file that includes a list of bitrates for a program and names of M3U8 files, and each of the M3U8 files includes a list of transport stream files of one of the bitrates pertaining to the program, wherein the program is one of the programs; storing, by the network device, the manifest file and the M3U8 files; selecting, by the network device, the M3U8 files based on the manifest file; determining, by the network device, whether a minimum number of user requests for the program are received; adding, by the network device, multicast information to each selected M3U8 file in response to determining that the minimum number of user requests for the program is received, wherein the multicast information indicates a multicast channel and a date and a time of a multicast of the program; segmenting, by the network device, the program data of the program, wherein the program data includes transport stream files and the transport stream files are segmented based on the multicast information and a maximum transmission unit of the multicast channel provided by a wireless network of the multicast; providing, by the network device, the manifest file and one or more of the M3U8 files pertaining to the program, to a user device, upon request; and multicasting, by the network device, a segmented program data via the wireless network based on the multicast information, wherein the multicasting includes the adaptive bitrate streaming service. 2. The method of claim 1 , further comprising: obtaining, by a program server of the user device, the manifest file from the network device; selecting, by the program server of the user device, the one or more of the M3U8 files based on a reading of the manifest file; reading, by the program server of the user device, the multicast information indicated in each of the one or more of the M3U8 files; and joining, by the program server of the user device, the multicast based on the multicast information. 3. The method of claim 2 , further comprising: receiving, by the program server of the user device, maximum bandwidth information pertaining to a connection with the wireless network, from a program player of the user device; and selecting one of the bitrates and one of the M3U8 files based on the maximum bandwidth information, and wherein the joining comprises: joining the multicast based on the multicast information included in the one of the M3U8 files. 4. The method of claim 2 , wherein the program is a pay-per-view program or a video-on-demand program, and wherein the joining comprises: calculating a wait time period for joining the multicast; determining whether the wait time period is shorter than a threshold wait time period; and joining the multicast when the wait time period is shorter than the threshold wait time period. 5. The method of claim 2 , further comprising: receiving, by the program server of the user device, the segmented program data; and assembling, by the program server of the user device, the segmented program data into transport stream files of the program; receiving, by the program server of the user device, a request for the transport stream files of the program, from a program player of the user device; determining whether the transport stream files are available; and unicasting, by the program server of the user device, the transport stream files, to the program player of the user device, based on determining that the transport stream files are available. 6. The method of claim 5 , further comprising: transmitting, by the program player of the user device, a request for other transport stream files of the program, to the program server of the program; receiving, by the program player of the user device, a response, from the program server, that indicates that one or more of the other transport stream files are not available; and receiving, by the program player of the user device, the one or more of the other transport stream files from the network device of the content delivery network, wherein the network device unicasts the one or more of the other transport stream files. 7. The method of claim 6 , further comprising: transmitting, by the program player of the user device, a request for still other transport stream files of the program, to the program server of the program; receiving, by the program player of the user device, the still other transport stream files of the program; determining, by the program player of the user device, that one or more of the still other transport stream files have uncorrectable errors; and receiving, by the program player of the user device, the one or more of the still other transport stream files from the network device of the content delivery network, wherein the network device unicasts the one or more of the still other transport stream files. 8. A system comprising: a network device comprising: a first communication interface; a first memory, wherein the first memory stores first instructions; and a first processor, wherein the first processor executes the first instructions to: receive, via the first communication interface, program data of programs available to users of an adaptive bitrate service, wherein the programs include linear television programs, video-on-demand programs, and pay-per-view programs; receive, via the first communication interface, a manifest file that includes a list of bitrates for a program and names of M3U8 files, and each of the M3U8 files includes a list of transport stream files of one of the bitrates pertaining to the program, wherein the program is one of the programs; store the manifest file and the M3U8 files; select the M3U8 files based on the manifest file; determine whether a minimum number of user requests for the program are received; add multicast information to each selected M3U8 file in response to a determination that the minimum number of user requests for the program is received, wherein the multicast information indicates a multicast channel and a date and a time of a multicast of the program; segment the program data of the program, wherein the program data includes transport stream files and the transport stream files are segmented based on the multicast information and a maximum transmission unit of the multicast channel provided by a wireless network of the multicast; provide the manifest file and one or more of the M3U8 files pertaining to the program, to a user device, upon request; and multicast a segmented program data via the wireless network based on the multicast information, wherein a multicasting includes the adaptive bitrate streaming service. 9. The system of claim 8 , further comprising a user device, the user device comprising: a second communication interface; a second memory, wherein the second memory stores second instructions, and wherein the second instructions include a program player and a program server; and a second processor, wherein the second processor executes the second instructions to: obtain, by the program server, the manifest file from the network device; read, by the program server, the manifest file; select, by the program server, the one or more of the M3U8 files based on a reading of the manifest file; read, by the program server, the multicast information indicated in each of the one or more of the M3U8 files; and join, by the program server, the multicast bas
with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains · CPC title
Multicasting {(data broadcast and multicast in packet switching networks H04L12/18)} · CPC title
Processing of additional data, e.g. scrambling of additional data or processing content descriptors · CPC title
Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs · CPC title
using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML] {(information retrieval of semistructured data, the underlying structure being taken into account, e.g. mark-up language structure data G06F16/80)} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.