Network distributed remultiplexer for video program bearing transport streams
DCFirst Claim
1. An apparatus usable in association with a network of nodes that are interconnected by a shared communication medium via links, the network of nodes including a group of one or more nodes, wherein each of the nodes of the group 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 one or more of the nodes in the network, the apparatus comprising an input capable of receiving a signal produced by the steps of:
- (a) transmitting from each node, of a the group of one or more nodes, 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, (b) receiving one or more of the transmitted program bearing signals from the shared communication medium at a particular one of the nodes of the network, 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 wherein the output program signal maintains the receipt timing of program data within the output program signal by a recipient of the output program signal, and (c) dynamically varying which of the nodes of the group transmits a respective program bearing signal on the shared communication medium 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.
2 Assignments
Litigations
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.
-
Citations
22 Claims
-
1. An apparatus usable in association with a network of nodes that are interconnected by a shared communication medium via links, the network of nodes including a group of one or more nodes, wherein each of the nodes of the group 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 one or more of the nodes in the network, the apparatus comprising an input capable of receiving a signal produced by the steps of:
-
(a) transmitting from each node, of a the group of one or more nodes, 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, (b) receiving one or more of the transmitted program bearing signals from the shared communication medium at a particular one of the nodes of the network, 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 wherein the output program signal maintains the receipt timing of program data within the output program signal by a recipient of the output program signal, and (c) dynamically varying which of the nodes of the group transmits a respective program bearing signal on the shared communication medium 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 (3, 4, 5, 6, 7, 8, 9, 10, 11)
(d) each of the nodes of the group transmitting their respective program bearing signal by time division multiplexing the data of its respective program bearing signal with other information transmitted on the shared communication medium.
-
-
4. The apparatus of claim 3 wherein the shared communication medium is a packet switched communication medium which carries communication in a packet switched fashion, and wherein the signal is produced by the further steps of:
-
(e) each of the nodes of the group 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 shared communication medium for receipt thereat only those packets having a destination address assigned to the particular node.
-
-
5. The apparatus of claim 4 wherein the packets transmitted by each node of the group 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 apparatus of claim 1 wherein the shared communication medium is a packet switched communication medium which carries communication in a packet switched fashion, and wherein the signal is produced by the further steps of:
-
(d) each of the nodes of the group 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 shared communication medium for receipt thereat only those packets having a destination address assigned to the particular node.
-
-
7. The apparatus of claim 6 wherein the packets transmitted by each node of the group 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 apparatus of claim 1 wherein the signal is produced by the further steps of:
(d) outputting the generated output program signal from the particular node onto the shared communication medium.
-
9. The apparatus of claim 8, wherein the signal is 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 of the network, and (f) at the second particular node, 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 apparatus of claim 1 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 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. The apparatus of claim 1 further comprising:
a circuit connected to the input capable of extracting information from a signal received via the input.
-
2. The apparatus of 1 wherein the particular node is capable of combining program data, selected from at least one specific program bearing signal transmitted on the shared communication medium by one of the nodes, with other data, not derived from the specific transmitted program bearing signal from which the selected data is selected, to produce the output program signal for broadcast transmission to a plurality of destination nodes.
-
12. A method usable in association with a network of nodes that are interconnected by a shared communication medium via links, the network of nodes including a group of one or more nodes, wherein each of the nodes of the group 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 one or more of the nodes in the network, the method comprising receiving at an input of a receiving apparatus a signal produced by the steps of:
-
(a) transmitting from each node, of the group of one or more nodes, 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, (b) receiving one or more of the transmitted program bearing signals from the shared communication medium at a particular one of the nodes of the network, 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, wherein the output program signal maintains the receipt timing of program data within the output program signal by a recipient of the output program signal, and (c) dynamically varying which of the nodes of the group transmits a respective program bearing signal on the shared communication medium 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 (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
(d) each of the nodes of the group transmitting their respective program bearing signal by time division multiplexing the data of its respective program bearing signal with other information transmitted on the shared communication medium.
-
-
15. The method of claim 14 wherein the shared communication medium is a packet switched communication medium which carries communication in a packet switched fashion, and wherein the signal is produced by the further steps of:
-
(e) each of the nodes of the group 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 shared communication medium for receipt thereat only those packets having a destination address assigned to the particular node.
-
-
16. The method of claim 15 wherein the packets transmitted by each node of the group 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.
-
17. The method of claim 12 wherein the shared communication medium is a packet switched communication medium which carries communication in a packet switched fashion, and wherein the signal is produced by the further steps of:
-
(d) each of the nodes of the group 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 shared communication medium for receipt thereat only those packets having a destination address assigned to the particular node.
-
-
18. The method of claim 17 wherein the packets transmitted by each node of the group 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.
-
19. The method of claim 12 wherein the signal is produced by the further steps of:
(d) outputting the generated output program signal from the particular node onto the shared communication medium.
-
20. The method of claim 19 wherein the signal is 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 of the network, and (f) at the second particular node, 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.
-
-
21. The method of claim 12 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 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.
-
22. The method of claim 12 further comprising the steps of:
extracting information from a signal received via the input.
Specification