Multiple multicasting of multimedia streams
First Claim
1. In a server coupled to at least one client computer via a network, a method for streaming data to a first multicast group and a second multicast group, said method comprising:
- streaming a first base layer and a first at least one enhancement layer of said data to said first multicast group, said first at least one enhancement layer additive to said first base layer; and
streaming a second base layer and a second at least one enhancement layer of said data to said second multicast group, said second at least one enhancement layer additive to said second base layer.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of interactively providing a number of client computers with a dynamically selectable and scalable range of multimedia data over a diverse computer network including local area networks (LANs) wide area networks (WANs) such as the internet. Multimedia data is provided by a server to the client computers includes a base layer and one or more enhancement layers. Enhancement layers can be spatial and/or temporal in nature. Depending on the implementation, the server may also provide information about the multimedia data to the client computers. The server splits the multimedia data for streaming via multiple multicast group (MMG) addresses. Information about the portion of the multimedia data carried by each MMG is broadcasted to the client computers. Armed with the information about the multimedia data, client computers can intelligently join and leave MMGs as needed. In some embodiments, the client computers provide feedback about the usage and/or need for the multimedia data, enabling the server to right-size, e.g., grow and/or prune, the multimedia data for network efficiency. With right sizing, the content of the base layer may be increased or decreased with the corresponding growing and pruning of the enhancement layers. Enhancement layers may also be grown and/or pruned independently of the base layer, i.e., without a corresponding change in the base layer.
-
Citations
45 Claims
-
1. In a server coupled to at least one client computer via a network, a method for streaming data to a first multicast group and a second multicast group, said method comprising:
-
streaming a first base layer and a first at least one enhancement layer of said data to said first multicast group, said first at least one enhancement layer additive to said first base layer; and
streaming a second base layer and a second at least one enhancement layer of said data to said second multicast group, said second at least one enhancement layer additive to said second base layer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
increasing the content of said first base layer; and
eliminating a redundant enhancement layer of said first at least one enhancement layer.
-
-
9. The method of claim 5 wherein said right-sizing includes:
-
decreasing the content of said first base layer; and
adding an additional enhancement layer to said first at least one enhancement layer.
-
-
10. The method of claim 5 further comprising sending information about the content of said data to said at least one client computer via said first multicast group and said second multicast group.
-
11. The method of claim 1 wherein said first at least one enhancement layer are temporal enhancement layers.
-
12. The method of claim 1 wherein said first at least one enhancement layer are spatial enhancement layers.
-
13. The method of claim 12 wherein said spatial enhancement layers are generated using a Laplacian pyramid algorithm.
-
14. The method of claim 1 wherein the at least one client computer can receive and combine both the first base layer of the streaming data for the first multicast group and the second base layer of the streaming data for the second multicast group.
-
15. A server useful in association with at least one client computer, said server coupled to said at least one client computer via a network, said server comprising:
-
a networking unit configured to stream data, including a first base layer of said data, a first at least one enhancement layer of said data, a second base layer of said data and a second at least one enhancement layer of said data, to said at least one client computer, wherein said first at least one enhancement layer additive to said first base layer, said second at least one enhancement layer additive to said second base layer, and wherein said first base layer and said first at least one enhancement layer is streamed to said at least one client computer via a first multicast group, and said second base layer and a second at least one enhancement layer is streamed to said at least one client computer via a second multicast group. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
a packetizer configured to package said data into a number of embedded video stream packets; and
an encoder for producing said first base layer, said first at least one enhancement layer, said second base layer and said second at least one enhancement layer.
-
-
29. In a client computer coupled to a server via a network, a method for receiving data from said server, said data streamed via at least two multicast groups, said method comprising:
-
receiving said data from said server via said at least two multicast groups;
selecting a first suitable multicast group from said at least two multicast groups, said selected first multicast group associated with a first base layer and a first at least one enhancement layer of said data which best matches a target bandwidth of said client computer; and
joining said selected first multicast group.
-
-
30. In a client computer coupled to a server via a network, a method for receiving data from said server, said data streamed via at least two multicast groups, said method comprising:
-
receiving said data from said server via said at least two multicast groups;
selecting a first suitable multicast group from said at least two multicast groups, said selected first multicast group associated with a first base layer and a first at least one enhancement layer of said data which best matches a target bandwidth of said client computer; and
joining said selected first multicast group;
detecting a change in a desired bandwidth of said client computer;
selecting a second suitable multicast group from said at least two multicast groups, said selected second multicast group associated with a second base layer and a second at least one enhancement layer of said data which best matches the changed target bandwidth of said client computer; and
joining said selected second multicast group.
-
-
31. In a server coupled to at least one client computer via a network, a computer readable medium having computer executable instructions comprising:
-
streaming a first base layer and a first at least one enhancement layer of said data to said first multicast group, said first at least one enhancement layer additive to said first base layer; and
streaming a second base layer and a second at least one enhancement layer of said data to said second multicast group, said second at least one enhancement layer additive to said second base layer. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
increasing the content of said first base layer; and
eliminating a redundant enhancement layer of said first at least one enhancement layer.
-
-
39. The computer readable medium of claim 35 wherein said right-sizing includes:
-
decreasing the content of said first base layer; and
adding an additional enhancement layer to said first at least one enhancement layer.
-
-
40. The computer readable medium of claim 35 further comprising sending information about the content of said data to said at least one client computer via said first multicast group and said second multicast group.
-
41. The computer readable medium of claim 31 wherein said first at least one enhancement layer are temporal enhancement layers.
-
42. The computer readable medium of claim 31 wherein said first at least one enhancement layer are spatial enhancement layers.
-
43. The computer readable medium of claim 42 wherein said spatial enhancement layers are generated using a Laplacian pyramid algorithm.
-
44. In a client computer coupled to a server via a network, a computer readable medium having computer executable instructions for receiving data from said server, said data streamed via at least two multicast groups, said computer executable instructions comprising:
-
receiving said data from said server via said at least two multicast groups;
selecting a first suitable multicast group from said at least two multicast groups, said selected first multicast group associated with a first base layer and a first at least one enhancement layer of said data which best matches a target bandwidth of said client computer; and
joining said selected first multicast group.
-
-
45. In a client computer coupled to a server via a network, a computer readable medium having computer executable instructions for receiving data from said server, said data streamed via at least two multicast groups, said computer executable instructions comprising:
-
receiving said data from said server via said at least two multicast groups;
selecting a first suitable multicast group from said at least two multicast groups, said selected first multicast group associated with a first base layer and a first at least one enhancement layer of said data which best matches a target bandwidth of said client computer; and
joining said selected first multicast group;
detecting a change in a desired bandwidth of said client computer;
selecting a second suitable multicast group from said at least two multicast groups, said selected second multicast group associated with a second base layer and a second at least one enhancement layer of said data which best matches the changed target bandwidth of said client computer; and
joining said selected second multicast group.
-
Specification