Collaborative video delivery over heterogeneous networks
First Claim
1. A system for collaboratively delivering a video stream over a heterogeneous network, the video stream including a plurality of frames, the system comprising:
- a session controller for synchronizing with client devices, receiving messages, and outputting encoder control commands based on the messages; and
a plurality of encoders, each of the plurality of encoders being dedicated to a corresponding one of the client devices for receiving user control commands from the corresponding one of the client devices that correspond to a playback of the video stream, outputting the messages based on the user control commands, and respectively controlling a transmission of the video stream to the corresponding one of the client devices using a timeline shared between the client devices, including respectively and dynamically transmitting or discarding each of the plurality of frames so as to cooperatively maintain a minimum quality of service for all of the client devices.
1 Assignment
0 Petitions
Accused Products
Abstract
There is provided a system for collaboratively delivering a video stream over a heterogeneous network. The video stream includes a plurality of frames. The system includes a session controller for synchronizing with client devices, receiving messages, and outputting encoder control commands based on the messages. The system further includes a plurality of encoders. Each encoder is dedicated to a corresponding one of the client devices for receiving user control commands from the corresponding one of the client devices that correspond to a playback of the video stream, outputting the messages based on the user control commands, and respectively controlling a transmission of the video stream to the corresponding one of the client devices using a shared timeline, including respectively and dynamically transmitting or discarding each of the plurality of frames so as to cooperatively maintain a minimum quality of service for all of the client devices.
-
Citations
21 Claims
-
1. A system for collaboratively delivering a video stream over a heterogeneous network, the video stream including a plurality of frames, the system comprising:
-
a session controller for synchronizing with client devices, receiving messages, and outputting encoder control commands based on the messages; and
a plurality of encoders, each of the plurality of encoders being dedicated to a corresponding one of the client devices for receiving user control commands from the corresponding one of the client devices that correspond to a playback of the video stream, outputting the messages based on the user control commands, and respectively controlling a transmission of the video stream to the corresponding one of the client devices using a timeline shared between the client devices, including respectively and dynamically transmitting or discarding each of the plurality of frames so as to cooperatively maintain a minimum quality of service for all of the client devices. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for collaboratively delivering a video stream over a heterogeneous network, the video stream including a plurality of frames, the system comprising:
-
a session controller for synchronizing with client devices, receiving messages, and outputting encoder control commands based on the messages; and
a plurality of encoders, each of the plurality of encoders being dedicated to a corresponding one of the client devices for receiving user control commands from the corresponding one of the client devices that correspond to a playback of the video stream, outputting the messages based on the user control commands, and dynamically and respectively controlling a transmission of the video stream to the corresponding one of the client devices, including respectively transmitting or discarding each of the plurality of frames so as to cooperatively maintain a minimum quality of service for all of the client devices, based upon at least a prediction of available bandwidth for the corresponding one of the client devices, any pending encoder control commands, a priority of each of the plurality of frames, and a shared timeline between the client devices, whereby the user control command allows a user of one of the client devices to control the playback of the video stream on all of the client devices. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21)
-
-
14. A method for collaboratively delivering a video stream over a heterogeneous network, the video stream including a plurality of frames, the method comprising the steps of:
-
generating a plurality of encoders, each of the plurality of encoders being dedicated to a corresponding one of the client devices;
respectively providing to each of the plurality of encoders a measurement of available bandwidth for the corresponding one of the client devices and a priority of each of the plurality of frames;
respectively generating a prediction of available bandwidth for each of the client devices based upon the measurement of available bandwidth;
receiving user control commands, if any, from the client devices, the user control commands corresponding to a playback of the video stream on the client devices; and
respectively and dynamically controlling a transmission of the video stream from the plurality of encoders to the client devices, including respectively transmitting or discarding each of the plurality of frames so as to cooperatively maintain a minimum quality of service for all of the client devices, based upon at least the prediction of available bandwidth for each of the client devices, the priority of each of the plurality of frames, any pending user control commands, and a shared timeline between the client devices, whereby the user control command allows a user of one of the client devices to control the playback of the video stream on all of the clients.
-
Specification