Pipelining for parallel network connections to transmit a digital content stream
US-9712580-B2 · Jul 18, 2017 · US
US9986010B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9986010-B2 |
| Application number | US-201514869707-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2015 |
| Priority date | Sep 29, 2015 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 2018 |
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 system and method for controlling video and/or audio streams between a client and server over a communications channel is disclosed that utilizes an application layer streaming communications protocol that includes features of current pull and push style application layer streaming protocols. Using the streaming protocol, client applications on user devices such as web browsers send request messages for streams, where the request messages specify a variable number of data packets of the streams for the server to send. Each of the data packets include one or more frames, or frame data, of the streams. The streaming server then “pushes” the requested number of data packets of the streams, and the client application can adjust the number of data packets for the server to send in subsequent stream request messages to optimize the bandwidth of the communications channel.
Opening claim text (preview).
What is claimed is: 1. A video streaming system, comprising: a streaming server that transmits a bundle of data packets of one or more video and/or audio streams over a communications channel in response to stream request messages for each of the streams; and a client application that sends the stream request messages, wherein each of the stream request messages includes a bundle size of the bundle of data packets of each stream for the streaming server to transmit. 2. The system of claim 1 , wherein the client application optionally adjusts the bundle size in the stream request messages in response to determining an available bandwidth of the communications channel. 3. The system of claim 1 , wherein the client application determines an available bandwidth of the communications channel by determining a response time for the client application to receive the bundle of data packets of a stream transmitted by the streaming server. 4. The system of claim 1 , wherein the streaming server is a network video recorder. 5. The system of claim 1 , wherein the client application executes in a web browser of a user device. 6. The system of claim 1 , wherein the communications channel utilizes Real-time Transport (RTP) to reduce fragmentation of the stream request messages sent by the client application and the data packets of the streams transmitted by the streaming server. 7. The system of claim 1 , wherein the streaming server transmits the bundle of data packets of the one or more video and/or audio streams over the communications channel via a push mechanism. 8. The system of claim 1 , wherein the client application sends a message for the streaming server to adjust a transcode resolution of frame data of the data packets of a subsequent bundle, in response to the client application determining an available bandwidth of the communications channel and determining a transcode resolution of frame data of the data packets of a received bundle. 9. The system of claim 1 , wherein the client application sends a message for the streaming server to adjust a transcode resolution of frame data of the data packets of a subsequent bundle, in response to the client application determining an available bandwidth of the communications channel and in response to user viewing preferences. 10. The system of claim 1 , wherein the streaming server culls frame data from the data packets of the transmitted bundle to optimize bandwidth of the communications channel. 11. A video streaming method, comprising: transmitting a bundle of data packets of one or more video and/or audio streams over a communications channel in response to stream request messages for each of the streams; and based on receipt of the bundle of data packets at a client application, updating a size of the bundle specified in subsequent stream request messages. 12. The method of claim 11 , wherein each of the stream request messages includes the bundle size of the bundle of data packets of each stream for a streaming server to transmit. 13. The method of claim 11 , further comprising adjusting the bundle size in the stream request messages in response to determining an available bandwidth of the communications channel. 14. The method of claim 11 , further comprising determining an available bandwidth of the communications channel by determining a response time to receive the bundle of data packets. 15. The method of claim 11 , wherein the data packets are sent by a network video recorder. 16. The method of claim 11 , wherein the stream request messages are sent by the client application executing in a web browser of a user device. 17. The method of claim 11 , wherein the communications channel utilizes Real-time Transport (RTP) to reduce fragmentation of the stream request messages sent by a client application and/or the data packets of the streams transmitted by a streaming server. 18. The method of claim 11 , further comprising sending a message to adjust a transcode resolution of frame data of the data packets of a subsequent bundle, in response to determining an available bandwidth of the communications channel and determining a transcode resolution of frame data of the data packets of a received bundle. 19. The method of claim 11 , further comprising sending a message to adjust a transcode resolution of frame data of the data packets of a subsequent bundle, in response to user viewing preferences and in response to determining an available bandwidth of the communications channel. 20. The method of claim 11 , further comprising culling frame data from the data packets of the transmitted bundle to optimize bandwidth of the communications channel.
Electricity · mapped topic
Responding to QoS · CPC title
Electricity · mapped topic
Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP] · CPC title
at the source (reformatting of additional data in video distribution servers H04N21/2355) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.