Systems and methods for facilitating seamless flow content splicing
US-12177498-B2 · Dec 24, 2024 · US
US10757156B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10757156-B2 |
| Application number | US-201916291343-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 4, 2019 |
| Priority date | Apr 30, 2004 |
| Publication date | Aug 25, 2020 |
| Grant date | Aug 25, 2020 |
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.
An apparatus for adaptive-rate shifting of streaming content includes an agent controller module configured to simultaneously request at least portions of a plurality of streamlets. The agent controller module is further configured to continuously monitor streamlet requests and subsequent responses, and accordingly request higher or lower quality streamlets. A staging module is configured to stage the streamlets and arrange the streamlets for playback on a content player. A system includes a data communications network, a content server coupled to the data communications network and having a content module configured to process content and generate a plurality of high and low quality streams, and the apparatus. A method includes simultaneously requesting at least portions of a plurality of streamlets, continuously monitoring streamlet requests and subsequent responses, and accordingly requesting higher or lower quality streamlets, and staging the streamlets and arranging the streamlets for playback on a content player.
Opening claim text (preview).
What is claimed is: 1. An apparatus for rendering a video that is adaptively received as a digital stream from a video server over a network, the apparatus comprising; a media player operating on the apparatus, wherein the media player is configured to stream the video from the video server via at least one transmission control protocol (TCP) connection over the network, wherein the video server stores multiple different copies of the video encoded at different bit rates as multiple sets of streamlets, wherein each of the streamlets yields a different portion of the video on playback, wherein the streamlets across the different copies yield the same portions of the video on playback, and wherein the streamlets in the different copies are aligned in time such that the streamlets that play back the same portion of the video for the different copies each begin at the same playback time in relation to the beginning of the video, and wherein the media player streams the video by: requesting sequential streamlets of one of the copies from the video server according to the playback times of the streamlets by transmitting hypertext transport protocol (HTTP) GET requests that identify the selected streamlets stored by the video server, wherein the sequential streamlets are selected by the media player from the based upon successive determinations to shift the playback quality to a higher or lower quality one of the different copies of the video; repeatedly generating, by the media player, a factor relating to the performance of the network that is indicative of an ability to sustain the streaming of the video; adapting the successive determinations to shift the playback quality based on the factor to achieve continuous playback of the video using the streamlets of the highest quality copy of the video that is determined to be sustainable at that time; and presenting the video for playback by providing the requested streamlets in order of ascending start time. 2. The apparatus of claim 1 , wherein the apparatus is configured to establish multiple Transmission Control Protocol (TCP) connections with a content server, and request streamlets of varying bitrates. 3. The apparatus of claim 1 , wherein each streamlet further comprises a portion of a content file provided by the server. 4. The apparatus of claim 1 , wherein the requesting the sequential streamlets comprises the apparatus transmitting hypertext transport protocol (HTTP) GET requests for selected streamlets, wherein each of the HTTP GET requests identifies the separate file stored by the video server that corresponds to the requested streamlet. 5. The apparatus of claim 1 wherein each of the streamlets of each of the different copies is independently requestable and playable by the apparatus. 6. The apparatus of claim 4 , wherein the requesting of the sequential streamlets comprises the end user device transmitting hypertext transport protocol (HTTP) GET requests for selected streamlets. 7. The apparatus of claim 1 wherein each of the streamlets in each of the plurality of different copies is a separate file stored by the video server. 8. The apparatus of claim 1 wherein the media player upshifts to a higher quality one of the different copies when the factor is greater than a first threshold and downshifts to a lower quality one of the different copies when the factor is less than a second threshold. 9. The apparatus of claim 1 , wherein the requesting the sequential streamlets comprises the apparatus transmitting hypertext transport protocol (HTTP) GET requests for selected streamlets, and wherein each of the HTTP GET requests identifies a separately-identifiable portion of the one or more files that corresponds to the requested streamlet. 10. The apparatus of claim 1 , wherein the apparatus is configured to initially request low quality streamlets to enable instant playback of the content file, and subsequent upshifting according to the performance factor. 11. The end user device of claim 1 wherein each of the streamlets in each of the plurality of different copies is a separately-identifiable portion of one or more files stored by the video server. 12. The apparatus of claim 1 wherein the apparatus is a mobile computing device comprising a processor and a non-transitory data storage. 13. A method executable by an end user device to stream a video received via a connection with a server over a network, the method comprising: requesting, by the end user device, wherein the end user device streams the video from the video server via at least one transmission control protocol (TCP) connection over the network, a plurality of sequential streamlets of one of the copies from the server based on playback times of the streamlets wherein multiple different copies of the video encoded at different bit rates are stored as multiple sets of streamlets on the server, wherein each of the streamlets yields a different portion of the video on playback, wherein the streamlets across the different copies yield the same portions of the video on playback, and wherein each of the streamlets comprises a playback time such that each of the streamlets for each of the different copies that encode the same portion of the video begins at the same playback time in relation to the beginning of the video, wherein the end user device requests the streamlets by transmitting hypertext transport protocol (HTTP) GET requests that each identify one of the requested streamlets stored by the server; and wherein the end user device streams the video by: repeatedly generating, by the end user device, a factor that is indicative of an ability to sustain the streaming of the video; making successive determinations by the end user device to shift the playback quality based on the factor to achieve continuous playback of the video using the streamlets of the highest quality copy determined sustainable at that time; and presenting the video by playing back the requested media streamlets on the end user device in order of ascending playback time. 14. The method of claim 13 wherein the making of the successive determinations to shift comprises upshifting to a higher quality one of the different copies when the at least one factor is greater than a first threshold and downshifting to a lower quality one of the different copies when the at least one factor is less than a second threshold. 15. The method of claim 14 wherein each of the streamlets of each of the different copies is independently requestable and playable by the end user device. 16. The method of claim 13 wherein each of the streamlets in each of the plurality of different copies is a separately-identifiable portion of one or more files stored by the video server. 17. The method of claim 16 wherein the requesting of the sequential streamlets comprises the end user device transmitting hypertext transport protocol (HTTP) GET requests for selected streamlets, and wherein each of the HTTP GET requests identifies the separately-identifiable portion of the one or more files that corresponds to the requested streamlet. 18. The method of claim 13 , wherein the video captures a live event, and wherein the streamlets of the different copies are available to the end user device while the live event is occurring.
adapting media to device capabilities · CPC title
Media network packet handling · CPC title
involving splicing one content stream with another content stream, e.g. for substituting a video clip · CPC title
Digital computers in general (details G06F1/00 – G06F13/00); Data processing equipment in general · CPC title
Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs {(coordinating program control therefor G06F9/52; in regulating and control system G05B)} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.