Patent ID: 8345677

Claim:
A method for manipulating programs within one or more transport streams, the method comprising the steps of: assigning a first program to a first program entry (PE 1 ), the first program having a first input program map table (PMT 1 ) identifying a first service ID and a plurality of first packet identifiers (PIDs) associated with a first plurality of elementary streams of the first program, the first service ID identifying the first program; assigning a second program to a second program entry (PE 2 ), the second program having a second input program map table (PMT 2 ) identifying a second service ID and a plurality of second PIDs associated with a second plurality of elementary streams of the second program, the second service ID identifying the second program; providing an alternate program to the first program, the alternate program having a third input program map table (PMT 3 ) identifying a third service ID and a plurality of third PIDs associated with a third plurality of elementary streams of the alternate program, the third service ID identifying the third program; discarding the first plurality of elementary streams of the first program and the plurality of first PIDs associated with the first program; and remapping the alternate program such that the alternate program includes an output PMT identifying the first service ID of the first program and having the plurality of third PIDs referencing the third plurality of elementary streams of the alternate program, wherein the first and third service identifiers (IDS) are different service IDS.