Network distributed remultiplexer for video program bearing transport streams
First Claim
1. In a network of nodes that are interconnected by a shared communication medium via links, wherein each of the nodes is capable of transmitting a program bearing signal on the shared communication medium, where each transmitted program bearing signal is carried on the shared communication medium to all of the nodes, a method comprising:
- (a) transmitting from each of one or more of the nodes on the shared communication medium a program bearing signal, each node transmitting a mutually different program bearing signal which bears at least some program data that is different from program data carried in each of the other transmitted program bearing signal, wherein each of the signals transmitted from each of the nodes is carried to each node connected to the shared communication medium, (b) receiving one or more of the transmitted program bearing signals from the shared communication medium at a particular one of the nodes, the particular node selecting program data from each received program bearing signal and generating an output program signal, which includes the selected program data, wherein the output program signal is at least partly different from each of the received program bearing signals, and which maintains the receipt timing of program data within the outputted signal by a recipient of the output program signal, and (c) dynamically varying which of the nodes transmits a respective program bearing signal on the shared communication medium over time so that first and second ones of the nodes transmit a respective one of the program bearing signals on the communication medium at mutually different times.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided for remultiplexing program bearing data. The remultiplexing method and system are applicable to MPEG-2 compliant transport streams carrying video programs. A descriptor based system is used for scheduling the timely output of transport packets wherein each descriptor records a dispatch time as well as a receipt time for each transport packet. The receipt time is used for estimating program clock reference adjustments, but final program clock reference adjustment is performed in hardware in relation to the precise output timing of each transport packets. A descriptor and transport packet caching technique is used for decoupling the synchronous receipt and transmission of transport packets from any asynchronous processing performed thereon. The descriptors can also be used for managing scrambling and descrambling control words (encryption and decryption keys). Remultiplexing functions may be distributed across a network. The remultiplexer can furthermore optimize the bandwidth of transport streams by replacing null transport packets with transport packet data to be inserted into the output transport stream. Program data transmitted via asynchronous communication links is re-timed and assistance is provided for outputting program data on such asynchronous communication links to reduce a variation in end-to-end delay incurred by the program data. Remultiplexing and program specific information can be seamlessly dynamically varied without stopping, or introducing a discontinuity in, the flow of outputted transport packets. A technique is also provided for locking multiple internal reference clock generators.
296 Citations
30 Claims
-
1. In a network of nodes that are interconnected by a shared communication medium via links, wherein each of the nodes is capable of transmitting a program bearing signal on the shared communication medium, where each transmitted program bearing signal is carried on the shared communication medium to all of the nodes, a method comprising:
-
(a) transmitting from each of one or more of the nodes on the shared communication medium a program bearing signal, each node transmitting a mutually different program bearing signal which bears at least some program data that is different from program data carried in each of the other transmitted program bearing signal, wherein each of the signals transmitted from each of the nodes is carried to each node connected to the shared communication medium, (b) receiving one or more of the transmitted program bearing signals from the shared communication medium at a particular one of the nodes, the particular node selecting program data from each received program bearing signal and generating an output program signal, which includes the selected program data, wherein the output program signal is at least partly different from each of the received program bearing signals, and which maintains the receipt timing of program data within the outputted signal by a recipient of the output program signal, and (c) dynamically varying which of the nodes transmits a respective program bearing signal on the shared communication medium over time so that first and second ones of the nodes transmit a respective one of the program bearing signals on the communication medium at mutually different times. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
(d) each of the nodes transmitting its respective program bearing signal by time division multiplexing the data of their respective program bearing signal with other information transmitted on the communication medium.
-
-
4. The method of claim 3 wherein the communication medium is a packet switched communication medium which carries communicated data in a packet switched fashion, the method further comprising the steps of:
-
(e) each of the nodes transmitting its respective program bearing signal in packets having a destination address assigned to the particular node, and (f) prior to generating the output program signal, the particular node selecting from the communication medium for receipt thereat only those packets having a destination address assigned to the particular node.
-
-
5. The method of claim 4 wherein the packets transmitted by each node on the shared communication medium contain transport packet data, and wherein the transport packet data, itself, is derived from transport packets having packet identifiers assigned to elementary streams, wherein each transport packet has a packet identifier identifying the contents of the elementary steam data carried in the respective transport packet.
-
6. The method of claim 1 wherein the communication medium is a packet switched communication medium which carries communication in a packet switched fashion, the method further comprising the steps of:
-
(d) each of the nodes transmitting its respective program bearing signal in packets having a destination address assigned to the particular node, and (e) prior to generating the output program signal, the particular node selecting from the communication medium for receipt thereat only those packets having a destination address assigned to the particular node.
-
-
7. The method of claim 6 wherein the packets transmitted by each node on the shared communication medium contain transport packet data, and wherein the transport packet data, itself, is derived from transport packets having packet identifiers assigned to elementary streams, and wherein each transport packet has a packet identifier identifying the contents of the elementary stream data carried in the respective transport packet.
-
8. The method of claim 1 further comprising the step of:
(d) outputting the generated output program signal from the particular node onto the shared communication medium.
-
9. The method of claim 8 further comprising the steps of:
-
(e) receiving the output program signal from the shared communication medium at a second particular one of the nodes, and (f) at the second one of the particular nodes, generating a second output program signal including at least part of the program data in the output program signal received from the shared communication medium, wherein the second output program signal has at least partly different contents than the output program signal transmitted on the shared communication medium by the particular node.
-
-
10. The method of claim 1 wherein two of the nodes transmit mutually different program bearing signals on the shared communication medium, wherein the particular node receives and selects program data from each of the program bearing signals transmitted by the two nodes and wherein the output signal generated by the particular node includes program data from each of the program bearing signals transmitted by the two nodes.
-
11. A network of nodes comprising:
-
(a) a shared communication medium capable of carrying one or more program bearing signals, where each transmitted program bearing signal is carried on the shared communication medium to all nodes connected thereto;
(b) a group of one or more nodes for transmitting on the shared communication medium one or more program bearing signals, each node of the group for transmitting a mutually different program bearing signal which bears at least some program data that is different from program data carried in each of the other transmitted program bearing signals, wherein each of the program bearing signals transmitted from each of the nodes of the group is carried to each node connected to the shared communication medium; and
(c) a particular node for receiving from the shared communication medium, one or more of the program bearing signals transmitted by the group of nodes, the particular node also for selecting program data from each of the received program bearing signals and for generating an output program signal, which includes the selected program data, wherein the output program signal is at least partly different from each of the received program bearing signals, and which maintains the receipt timing of program data within the outputted signal by a recipient of the output program signal, wherein the specific nodes of the group which transmit a respective program bearing signal on the shared communication medium are dynamically varied over time so that first and second ones of the nodes of the group transmit a respective one of the program bearing signals on the communication medium at mutually different times. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
a second particular node for receiving the output program signal from the shared communication medium, and for generating a second output program signal including at least part of the program data in the output program signal received from the shared communication medium, wherein the second output program signal has at least partly different contents than the output program signal transmitted on the shared communication medium by the particular node.
-
-
20. The network of claim 11 wherein two of the nodes of the group transmit mutually different program bearing signals on the shared communication medium, wherein the particular node receives and selects program data from each of the program bearing signals transmitted from the two nodes and wherein the output signal generated by the particular node includes program data from each of the program bearing signals transmitted by the two nodes.
-
21. In a network of nodes that are interconnected by a shared communication medium via links, wherein each of the nodes is capable of transmitting a program bearing signal on the shared communication medium, where each transmitted program bearing signal is carried on the shared communication medium to all of the nodes, a signal produced by the steps of:
-
(a) transmitting from each of one or more of the nodes on the shared communication medium a program bearing signal, each node transmitting a mutually different program bearing signal which bears at least some program data that is different from program data carried in each of the other transmitted programming bearing signals, wherein each of the signals transmitted from each of the nodes is carried to each node connected to the shared communication medium, (b) receiving one or more of the transmitted program bearing signals from the shared communication medium at a particular one of the nodes, the particular node selecting program data from each received program bearing signal and generating an output program signal, which includes the selected program data, wherein the output program signal is at least partly different from each of the received program bearing signals, and which maintains the receipt timing of program data within the outputted signal by a recipient of the output program signal, and (c) dynamically varying which of the nodes transmits a respective program bearing signal on the shared communication medium over time so that first and second ones of the nodes transmit a respective one of the program bearing signals on the communication medium at mutually different times. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
(d) each of the nodes transmitting their respective program bearing signal by time division multiplexing the data of its respective program bearing signal with other information transmitted on the communication medium.
-
-
24. The signal of claim 23 wherein the communication medium is a packet switched communication medium which carries communication in a packet switched fashion, the signal produced by the further steps of:
-
(e) each of the nodes transmitting its respective program bearing signal in packets having a destination address assigned to the particular node, and (f) prior to generating the output program signal, the particular node selecting from the communication medium for receipt thereat only those packets having a destination address assigned to the particular node.
-
-
25. The signal of claim 24 wherein the packets transmitted by each node on the shared communication medium contain transport packet data, and wherein the transport packet data, itself, is derived from transport packets having packet identifiers assigned to elementary streams, wherein each transport packet has a packet identifier identifying the contents of the elementary steam data carried in the respective transport packet.
-
26. The signal of claim 21 wherein the communication medium is a packet switched communication medium which carries communication in a packet switched fashion, the signal produced by the further steps of:
-
(d) each of the nodes transmitting its respective program bearing signal in packets having a destination address assigned to the particular node, and (e) prior to generating the output program signal the particular node selecting from the communication medium for receipt thereat only those packets having a destination address assigned to the particular node.
-
-
27. The signal of claim 26 wherein the packets transmitted by each node on the shared communication medium contain transport packet data, and wherein the transport packet data, itself, is derived from transport packets having packet identifiers assigned to elementary streams, and wherein each transport packet has a packet identifier identifying the contents of the elementary stream data carried in the respective transport packet.
-
28. The signal of claim 21 produced by the further steps of:
(d) outputting the generated output program signal from the particular node onto the shared communication medium.
-
29. The signal of claim 28 produced by the further steps of:
-
(e) receiving the output program signal from the shared communication medium at a second particular one of the nodes, and (f) at the second one of the particular nodes, generating a second output program signal including at least part of the program data in the output program signal received from the shared communication medium, wherein the second output program signal has at least partly different contents than the output program signal transmitted on the shared communication medium by the particular node.
-
-
30. The signal of claim 21 wherein two of the nodes transmit mutually different program bearing signals on the shared communication medium, wherein the particular node receives and selects program data from each of the program bearing signals transmitted by the two nodes and wherein the output signal generated by the particular node includes program data from each of the program bearing signals transmitted by the two nodes.
Specification