Decentralized method for generating an MPEG-2 multiprogram transport stream
Methods, systems, and apparatus for generating a multi-program transport stream comprising generating an empty bitstream comprising null packets, providing the empty bitstream to a first contributor wherein the first contributor replaces a null packet with a program packet resulting in a modified bitstream, and providing the modified bitstream to a second contributor. Also provided are methods for back channel management, contributor clock synchronization, and generating a contributor identification map.
1 . A method for generating a multi-program transport stream comprising:
generating an empty bitstream comprising null packets;
providing the empty bitstream to a first contributor wherein the first contributor replaces a null packet with a program packet resulting in a modified bitstream; and
providing the modified bitstream to a second contributor.
2 . A method for generating a multi-program transport stream comprising:
generating an empty bitstream comprising null packets;
generating a CID map comprising contributor ID's;
labeling the null packets with a contributor ID;
providing the empty bitstream to a first contributor wherein the first contributor replaces a null packet labeled with the contributor ID for the first contributor with a program packet resulting in a modified bitstream; and
providing the modified bitstream to a second contributor.
3 . A method for generating a multi-program transport stream comprising:
generating an empty bitstream comprising null packets;
labeling the null packets with a contributor encoding rate;
providing the empty bitstream to a first contributor wherein the first contributor replaces a null packet labeled with a contributor encoding rate that corresponds to an encoding rate for the first contributor with a program packet resulting in a modified bitstream; and
providing the modified bitstream to a second contributor.
4 . A method for controlling transmission rates of a contributor comprising:
determining a number of packets a contributor is behind in transmission; and
increasing packet transmission in the contributor for the number of packets determined.
5 . A method for controlling transmission rates of a contributor comprising:
determining a number of packets a contributor is ahead in transmission; and
decreasing packet transmission in the contributor for the number of packets determined.
6 . A method for generating a CID map comprising:
sorting SPTS rates of contributors in a table;
assigning a CID to an SPTS rate;
determining a fraction of MPTS for an SPTS rate;
determining a number of table entries for an SPTS rate based on the fraction;
determining an ideal distance between table entries for an SPTS rate based on the fraction; and
inserting the CID corresponding to the SPTS rate into the table based on the number of table entries and the ideal distance between table entries.
7 . A method for back channel management comprising:
generating, by a null packet generator, a bitstream comprising null packets;
labeling the null packets with an address of the null packet generator;
receiving the bitstream by a contributor; and
transmitting, by the contributor, a message to the address of the null packet generator wherein the message comprises contributor data.
8 . The method of claim 7 , wherein the contributor data comprises a bit rate.
9 . The method of claim 7 , wherein the contributor data comprises a PMT PID and a program number.
10 . The method of claim 8 , wherein the null packet generator uses the bit rate information to create a CID Map.
11 . The method of claim 9 , wherein the null packet generator uses the PMT PID and program number to generate a Program Map table describing its audio and video streams and includes this PMT in the null packet generator SPTS output.
12 . The method of claim 7 , further comprising:
displaying, by the null packet generator, received contributor messages.
13 . The method of claim 7 , further comprising:
reporting, by the null packet generator, system configuration errors based on the received contributor messages.
14 . A system for generating a multi-program transport stream comprising:
a null packet generator wherein the null packet generator generates a bitstream comprising null packets; and
a contributor operatively coupled to the null packet generator wherein the contributor receives the bitstream and replaces a null packet with a program packet.
15 . The system of claim 14 , wherein the null packet generator is a contributor.
16 . An apparatus for generating a multi-program transport stream comprising:
a means for receiving a bitstream having a null packet;
a processor configured to identify packet transmission opportunities in the bitstream; and
a packet generator operatively coupled to the processor, wherein the packet generator is configured to replace a null packet in a received bitstream with a program packet when a packet transmission opportunity is identified by the processor.
17 . A method for synching contributors comprising:
generating, by a first contributor, a first clock used at the first contributor's bitstream output to generate an output clock; and
deriving, by a second contributor, a second clock from the first contributor output clock.
18 . A method for synching contributors comprising:
generating, by a first contributor, a first clock used at the first contributor's bitstream output to generate an output clock;
re-clocking, by a second contributor, the bitstream to a second clock internal to the second contributor; and
adjusting a stuffing byte character between bitstream packets.